2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.28 */
5 #define YYBISON 1 /* Identify Bison output. */
13 #define CV_QUALIFIER 263
29 #define RETURN_KEYWORD 279
31 #define ASM_KEYWORD 281
50 #define TYPENAME_KEYWORD 300
52 #define LEFT_RIGHT 302
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
69 #define ARITHCOMPARE 319
72 #define POINTSAT_STAR 322
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
81 #define EXTERN_LANG_STRING 331
83 #define PRE_PARSED_CLASS_DECL 333
85 #define DEFARG_MARKER 335
86 #define PRE_PARSED_FUNCTION_DECL 336
87 #define TYPENAME_DEFN 337
88 #define IDENTIFIER_DEFN 338
89 #define PTYPENAME_DEFN 339
90 #define END_OF_LINE 340
91 #define END_OF_SAVED_INPUT 341
95 /* Cause the `yydebug' variable to be defined. */
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 const char * const language_string
= "GNU C++";
116 extern struct obstack permanent_obstack
;
118 extern int end_of_file
;
120 /* Like YYERROR but do call yyerror. */
121 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
123 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
124 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
126 /* Contains the statement keyword (if/while/do) to include in an
127 error message if the user supplies an empty conditional expression. */
128 static const char *cond_stmt_keyword
;
130 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
131 int have_extern_spec
;
132 int used_extern_spec
;
134 /* List of types and structure classes of the current declaration. */
135 static tree current_declspecs
;
137 /* List of prefix attributes in effect.
138 Prefix attributes are parsed by the reserved_declspecs and declmods
139 rules. They create a list that contains *both* declspecs and attrs. */
140 /* ??? It is not clear yet that all cases where an attribute can now appear in
141 a declspec list have been updated. */
142 static tree prefix_attributes
;
144 /* When defining an aggregate, this is the kind of the most recent one
145 being defined. (For example, this might be class_type_node.) */
146 static tree current_aggr
;
148 /* When defining an enumeration, this is the type of the enumeration. */
149 static tree current_enum_type
;
151 static tree empty_parms
PARAMS ((void));
152 static tree parse_decl0
PARAMS ((tree
, tree
, tree
, tree
, int));
153 static tree parse_decl
PARAMS ((tree
, tree
, int));
154 static void parse_end_decl
PARAMS ((tree
, tree
, tree
));
155 static tree parse_field0
PARAMS ((tree
, tree
, tree
, tree
, tree
, tree
));
156 static tree parse_field
PARAMS ((tree
, tree
, tree
, tree
));
157 static tree parse_bitfield0
PARAMS ((tree
, tree
, tree
, tree
, tree
));
158 static tree parse_bitfield
PARAMS ((tree
, tree
, tree
));
159 static tree parse_method
PARAMS ((tree
, tree
, tree
));
160 static void frob_specs
PARAMS ((tree
, tree
));
162 /* Cons up an empty parameter list. */
169 || current_class_type
!= NULL
)
170 parms
= void_list_node
;
176 /* Record the decl-specifiers, attributes and type lookups from the
177 decl-specifier-seq in a declaration. */
180 frob_specs (specs_attrs
, lookups
)
181 tree specs_attrs
, lookups
;
183 save_type_access_control (lookups
);
184 split_specs_attrs (specs_attrs
, ¤t_declspecs
, &prefix_attributes
);
185 if (current_declspecs
186 && TREE_CODE (current_declspecs
) != TREE_LIST
)
187 current_declspecs
= build_decl_list (NULL_TREE
, current_declspecs
);
188 if (have_extern_spec
&& !used_extern_spec
)
190 current_declspecs
= decl_tree_cons (NULL_TREE
,
191 get_identifier ("extern"),
193 used_extern_spec
= 1;
198 parse_decl (declarator
, attributes
, initialized
)
199 tree declarator
, attributes
;
202 return start_decl (declarator
, current_declspecs
, initialized
,
203 attributes
, prefix_attributes
);
207 parse_decl0 (declarator
, specs_attrs
, lookups
, attributes
, initialized
)
208 tree declarator
, specs_attrs
, lookups
, attributes
;
211 frob_specs (specs_attrs
, lookups
);
212 return parse_decl (declarator
, attributes
, initialized
);
216 parse_end_decl (decl
, init
, asmspec
)
217 tree decl
, init
, asmspec
;
219 /* If decl is NULL_TREE, then this was a variable declaration using
220 () syntax for the initializer, so we handled it in grokdeclarator. */
222 decl_type_access_control (decl
);
223 cp_finish_decl (decl
, init
, asmspec
, init
? LOOKUP_ONLYCONVERTING
: 0);
227 parse_field (declarator
, attributes
, asmspec
, init
)
228 tree declarator
, attributes
, asmspec
, init
;
230 tree d
= grokfield (declarator
, current_declspecs
, init
, asmspec
,
231 build_tree_list (attributes
, prefix_attributes
));
232 decl_type_access_control (d
);
237 parse_field0 (declarator
, specs_attrs
, lookups
, attributes
, asmspec
, init
)
238 tree declarator
, specs_attrs
, lookups
, attributes
, asmspec
, init
;
240 frob_specs (specs_attrs
, lookups
);
241 return parse_field (declarator
, attributes
, asmspec
, init
);
245 parse_bitfield (declarator
, attributes
, width
)
246 tree declarator
, attributes
, width
;
248 tree d
= grokbitfield (declarator
, current_declspecs
, width
);
249 cplus_decl_attributes (d
, attributes
, prefix_attributes
);
250 decl_type_access_control (d
);
255 parse_bitfield0 (declarator
, specs_attrs
, lookups
, attributes
, width
)
256 tree declarator
, specs_attrs
, lookups
, attributes
, width
;
258 frob_specs (specs_attrs
, lookups
);
259 return parse_bitfield (declarator
, attributes
, width
);
263 parse_method (declarator
, specs_attrs
, lookups
)
264 tree declarator
, specs_attrs
, lookups
;
267 frob_specs (specs_attrs
, lookups
);
268 d
= start_method (current_declspecs
, declarator
, prefix_attributes
);
269 decl_type_access_control (d
);
276 ggc_add_tree_root (¤t_declspecs
, 1);
277 ggc_add_tree_root (&prefix_attributes
, 1);
278 ggc_add_tree_root (¤t_aggr
, 1);
279 ggc_add_tree_root (¤t_enum_type
, 1);
288 flagged_type_tree ftype
;
289 struct pending_inline
*pi
;
293 /* Tell yyparse how to print a token's value, if yydebug is set. */
294 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
295 extern void yyprint
PARAMS ((FILE *, int, YYSTYPE
));
307 #define YYFLAG -32768
310 #define YYTRANSLATE(x) ((unsigned)(x) <= 341 ? yytranslate[x] : 398)
312 static const char yytranslate
[] = { 0,
313 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
314 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
315 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
316 2, 2, 110, 2, 2, 2, 83, 71, 2, 93,
317 108, 81, 79, 60, 80, 92, 82, 2, 2, 2,
318 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
319 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
321 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
322 94, 2, 111, 70, 2, 2, 2, 2, 2, 2,
323 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
325 2, 2, 59, 69, 109, 89, 2, 2, 2, 2,
326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
330 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
338 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
339 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
340 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
341 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
342 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
343 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
344 57, 58, 62, 64, 67, 68, 72, 73, 74, 77,
345 78, 84, 85, 86, 87, 88, 90, 91, 95, 96,
346 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
351 static const short yyprhs
[] = { 0,
352 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
353 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
354 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
355 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
356 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
357 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
358 180, 182, 186, 189, 192, 195, 197, 199, 205, 210,
359 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
360 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
361 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
362 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
363 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
364 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
365 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
366 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
367 485, 487, 488, 495, 496, 503, 504, 510, 511, 517,
368 518, 526, 527, 535, 536, 543, 544, 551, 552, 553,
369 559, 565, 567, 569, 575, 581, 582, 584, 586, 587,
370 589, 591, 595, 597, 599, 601, 603, 605, 607, 609,
371 611, 613, 615, 617, 621, 623, 627, 628, 630, 632,
372 633, 641, 643, 645, 649, 654, 658, 659, 663, 665,
373 669, 673, 677, 681, 683, 685, 687, 690, 693, 696,
374 699, 702, 705, 708, 713, 716, 721, 724, 728, 732,
375 737, 742, 748, 754, 761, 764, 769, 775, 778, 781,
376 788, 792, 796, 800, 802, 806, 809, 813, 818, 820,
377 823, 829, 831, 835, 839, 843, 847, 851, 855, 859,
378 863, 867, 871, 875, 879, 883, 887, 891, 895, 899,
379 903, 907, 913, 917, 921, 923, 926, 928, 932, 936,
380 940, 944, 948, 952, 956, 960, 964, 968, 972, 976,
381 980, 984, 988, 992, 996, 1000, 1006, 1010, 1014, 1016,
382 1019, 1023, 1027, 1029, 1031, 1033, 1035, 1037, 1038, 1044,
383 1050, 1056, 1062, 1068, 1070, 1072, 1074, 1076, 1079, 1081,
384 1084, 1087, 1091, 1096, 1101, 1103, 1105, 1107, 1111, 1113,
385 1115, 1117, 1119, 1123, 1127, 1131, 1132, 1137, 1142, 1145,
386 1150, 1153, 1158, 1161, 1164, 1166, 1171, 1173, 1181, 1189,
387 1197, 1205, 1210, 1215, 1218, 1221, 1224, 1226, 1231, 1234,
388 1237, 1243, 1247, 1250, 1253, 1259, 1263, 1269, 1273, 1278,
389 1285, 1288, 1290, 1293, 1295, 1298, 1300, 1302, 1304, 1307,
390 1308, 1311, 1314, 1318, 1322, 1326, 1329, 1332, 1335, 1337,
391 1339, 1341, 1344, 1347, 1350, 1353, 1355, 1357, 1359, 1361,
392 1364, 1367, 1371, 1375, 1379, 1384, 1386, 1389, 1392, 1395,
393 1397, 1399, 1401, 1404, 1407, 1410, 1412, 1414, 1417, 1420,
394 1424, 1426, 1429, 1431, 1433, 1435, 1440, 1445, 1450, 1455,
395 1457, 1459, 1461, 1463, 1467, 1469, 1473, 1475, 1479, 1480,
396 1485, 1486, 1493, 1497, 1498, 1503, 1505, 1509, 1513, 1514,
397 1519, 1523, 1524, 1526, 1528, 1531, 1538, 1540, 1544, 1545,
398 1547, 1552, 1559, 1564, 1566, 1568, 1570, 1572, 1574, 1578,
399 1579, 1582, 1584, 1587, 1591, 1596, 1598, 1600, 1604, 1609,
400 1613, 1619, 1621, 1626, 1630, 1634, 1635, 1639, 1643, 1647,
401 1648, 1651, 1654, 1655, 1662, 1663, 1669, 1672, 1675, 1678,
402 1679, 1680, 1681, 1692, 1694, 1695, 1697, 1698, 1700, 1702,
403 1705, 1708, 1711, 1714, 1717, 1720, 1723, 1726, 1729, 1733,
404 1738, 1742, 1745, 1749, 1751, 1752, 1756, 1759, 1762, 1764,
405 1766, 1767, 1770, 1774, 1776, 1781, 1783, 1787, 1789, 1791,
406 1794, 1797, 1801, 1805, 1806, 1808, 1812, 1815, 1818, 1820,
407 1823, 1826, 1829, 1832, 1835, 1838, 1841, 1843, 1846, 1849,
408 1853, 1856, 1859, 1864, 1869, 1872, 1874, 1880, 1885, 1887,
409 1888, 1890, 1894, 1895, 1897, 1901, 1903, 1905, 1907, 1909,
410 1914, 1919, 1924, 1929, 1934, 1938, 1943, 1948, 1953, 1958,
411 1962, 1965, 1967, 1969, 1973, 1975, 1979, 1982, 1984, 1991,
412 1992, 1995, 1997, 2000, 2004, 2008, 2010, 2014, 2016, 2019,
413 2023, 2027, 2030, 2033, 2037, 2039, 2044, 2049, 2053, 2057,
414 2060, 2062, 2064, 2067, 2069, 2071, 2074, 2077, 2079, 2082,
415 2086, 2090, 2093, 2096, 2100, 2102, 2106, 2110, 2113, 2116,
416 2120, 2122, 2127, 2131, 2136, 2140, 2142, 2145, 2148, 2151,
417 2154, 2157, 2160, 2163, 2165, 2168, 2173, 2178, 2181, 2183,
418 2185, 2187, 2189, 2192, 2197, 2200, 2203, 2206, 2209, 2211,
419 2214, 2217, 2220, 2223, 2227, 2229, 2232, 2236, 2241, 2244,
420 2247, 2250, 2253, 2256, 2259, 2264, 2267, 2269, 2272, 2275,
421 2279, 2281, 2285, 2288, 2292, 2295, 2298, 2302, 2304, 2308,
422 2313, 2315, 2318, 2322, 2325, 2328, 2330, 2334, 2337, 2340,
423 2342, 2345, 2349, 2351, 2355, 2362, 2367, 2372, 2376, 2382,
424 2386, 2390, 2394, 2397, 2399, 2401, 2404, 2407, 2410, 2411,
425 2413, 2415, 2418, 2422, 2424, 2427, 2428, 2432, 2433, 2434,
426 2440, 2442, 2443, 2446, 2448, 2450, 2452, 2455, 2456, 2461,
427 2463, 2464, 2465, 2471, 2472, 2473, 2481, 2482, 2483, 2484,
428 2485, 2498, 2499, 2500, 2508, 2509, 2515, 2516, 2524, 2525,
429 2530, 2533, 2536, 2539, 2543, 2550, 2559, 2570, 2579, 2592,
430 2603, 2614, 2619, 2623, 2626, 2629, 2631, 2633, 2635, 2637,
431 2639, 2640, 2641, 2648, 2649, 2650, 2656, 2658, 2661, 2662,
432 2663, 2669, 2671, 2673, 2677, 2681, 2684, 2687, 2690, 2693,
433 2696, 2698, 2701, 2702, 2704, 2705, 2707, 2709, 2710, 2712,
434 2714, 2718, 2723, 2725, 2729, 2730, 2732, 2734, 2736, 2739,
435 2742, 2745, 2747, 2750, 2753, 2754, 2758, 2760, 2762, 2764,
436 2767, 2770, 2773, 2778, 2781, 2784, 2787, 2790, 2793, 2796,
437 2798, 2801, 2803, 2806, 2808, 2810, 2811, 2812, 2814, 2815,
438 2820, 2823, 2825, 2827, 2831, 2832, 2836, 2840, 2844, 2846,
439 2849, 2852, 2855, 2858, 2861, 2864, 2867, 2870, 2873, 2876,
440 2879, 2882, 2885, 2888, 2891, 2894, 2897, 2900, 2903, 2906,
441 2909, 2912, 2915, 2919, 2922, 2925, 2928, 2931, 2935, 2938,
442 2941, 2946, 2951, 2955
445 static const short yyrhs
[] = { -1,
446 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
447 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
448 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
449 93, 218, 108, 61, 0, 133, 59, 115, 109, 0,
450 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
451 0, 0, 45, 163, 59, 123, 115, 109, 0, 0,
452 45, 59, 124, 115, 109, 0, 125, 0, 127, 61,
453 0, 129, 0, 118, 122, 0, 0, 45, 163, 65,
454 126, 132, 61, 0, 47, 311, 0, 47, 325, 311,
455 0, 47, 325, 208, 0, 47, 131, 163, 0, 47,
456 325, 163, 0, 47, 325, 131, 163, 0, 0, 47,
457 45, 130, 132, 61, 0, 58, 55, 0, 131, 58,
458 55, 0, 208, 0, 311, 0, 325, 311, 0, 325,
459 208, 0, 97, 0, 133, 97, 0, 0, 49, 75,
460 135, 136, 76, 0, 49, 75, 76, 0, 140, 0,
461 136, 60, 140, 0, 163, 0, 0, 268, 137, 0,
462 46, 137, 0, 134, 268, 137, 0, 138, 0, 138,
463 65, 224, 0, 389, 0, 389, 65, 203, 0, 139,
464 0, 139, 65, 184, 0, 134, 142, 0, 134, 1,
465 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
466 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
467 142, 0, 235, 61, 0, 228, 234, 61, 0, 225,
468 233, 61, 0, 260, 61, 0, 235, 61, 0, 228,
469 234, 61, 0, 225, 233, 61, 0, 228, 61, 0,
470 166, 61, 0, 225, 61, 0, 1, 61, 0, 1,
471 109, 0, 61, 0, 219, 0, 159, 0, 0, 158,
472 0, 158, 61, 0, 0, 107, 0, 154, 146, 145,
473 336, 0, 154, 146, 360, 0, 154, 146, 1, 0,
474 0, 316, 5, 93, 150, 380, 108, 298, 392, 0,
475 316, 5, 48, 298, 392, 0, 0, 325, 316, 5,
476 93, 151, 380, 108, 298, 392, 0, 325, 316, 5,
477 48, 298, 392, 0, 0, 316, 179, 93, 152, 380,
478 108, 298, 392, 0, 316, 179, 48, 298, 392, 0,
479 0, 325, 316, 179, 93, 153, 380, 108, 298, 392,
480 0, 325, 316, 179, 48, 298, 392, 0, 225, 222,
481 0, 228, 308, 0, 308, 0, 228, 149, 0, 149,
482 0, 5, 93, 380, 108, 298, 392, 0, 5, 48,
483 298, 392, 0, 179, 93, 380, 108, 298, 392, 0,
484 179, 48, 298, 392, 0, 228, 155, 0, 155, 0,
485 225, 222, 0, 228, 308, 0, 308, 0, 228, 149,
486 0, 149, 0, 25, 3, 0, 157, 252, 0, 157,
487 93, 196, 108, 0, 157, 48, 0, 63, 160, 161,
488 0, 0, 0, 162, 0, 161, 60, 162, 0, 161,
489 1, 0, 93, 196, 108, 0, 48, 0, 164, 93,
490 196, 108, 0, 164, 48, 0, 304, 93, 196, 108,
491 0, 304, 48, 0, 318, 93, 196, 108, 0, 318,
492 48, 0, 1, 0, 3, 0, 4, 0, 5, 0,
493 57, 0, 58, 0, 3, 0, 57, 0, 58, 0,
494 104, 0, 103, 0, 105, 0, 0, 49, 175, 231,
495 61, 167, 176, 0, 0, 49, 175, 225, 222, 168,
496 176, 0, 0, 49, 175, 308, 169, 176, 0, 0,
497 49, 175, 149, 170, 176, 0, 0, 7, 49, 175,
498 231, 61, 171, 176, 0, 0, 7, 49, 175, 225,
499 222, 172, 176, 0, 0, 7, 49, 175, 308, 173,
500 176, 0, 0, 7, 49, 175, 149, 174, 176, 0,
501 0, 0, 57, 75, 182, 181, 180, 0, 4, 75,
502 182, 181, 180, 0, 179, 0, 177, 0, 163, 75,
503 182, 76, 180, 0, 5, 75, 182, 181, 180, 0,
504 0, 76, 0, 78, 0, 0, 183, 0, 184, 0,
505 183, 60, 184, 0, 224, 0, 57, 0, 203, 0,
506 80, 0, 79, 0, 87, 0, 88, 0, 110, 0,
507 195, 0, 202, 0, 48, 0, 93, 186, 108, 0,
508 48, 0, 93, 190, 108, 0, 0, 190, 0, 1,
509 0, 0, 370, 222, 236, 245, 65, 191, 253, 0,
510 186, 0, 109, 0, 333, 331, 109, 0, 333, 331,
511 1, 109, 0, 333, 1, 109, 0, 0, 59, 194,
512 192, 0, 345, 0, 202, 60, 202, 0, 202, 60,
513 1, 0, 195, 60, 202, 0, 195, 60, 1, 0,
514 202, 0, 195, 0, 213, 0, 118, 201, 0, 81,
515 201, 0, 71, 201, 0, 89, 201, 0, 185, 201,
516 0, 68, 163, 0, 13, 197, 0, 13, 93, 224,
517 108, 0, 29, 197, 0, 29, 93, 224, 108, 0,
518 215, 297, 0, 215, 297, 199, 0, 215, 198, 297,
519 0, 215, 198, 297, 199, 0, 215, 93, 224, 108,
520 0, 215, 93, 224, 108, 199, 0, 215, 198, 93,
521 224, 108, 0, 215, 198, 93, 224, 108, 199, 0,
522 216, 201, 0, 216, 94, 111, 201, 0, 216, 94,
523 186, 111, 201, 0, 34, 201, 0, 35, 201, 0,
524 36, 93, 202, 60, 224, 108, 0, 93, 196, 108,
525 0, 59, 196, 109, 0, 93, 196, 108, 0, 48,
526 0, 93, 231, 108, 0, 65, 253, 0, 93, 224,
527 108, 0, 200, 93, 224, 108, 0, 197, 0, 200,
528 197, 0, 200, 59, 254, 266, 109, 0, 201, 0,
529 202, 84, 202, 0, 202, 85, 202, 0, 202, 79,
530 202, 0, 202, 80, 202, 0, 202, 81, 202, 0,
531 202, 82, 202, 0, 202, 83, 202, 0, 202, 77,
532 202, 0, 202, 78, 202, 0, 202, 74, 202, 0,
533 202, 75, 202, 0, 202, 76, 202, 0, 202, 73,
534 202, 0, 202, 72, 202, 0, 202, 71, 202, 0,
535 202, 69, 202, 0, 202, 70, 202, 0, 202, 68,
536 202, 0, 202, 67, 202, 0, 202, 66, 375, 63,
537 202, 0, 202, 65, 202, 0, 202, 64, 202, 0,
538 62, 0, 62, 202, 0, 201, 0, 203, 84, 203,
539 0, 203, 85, 203, 0, 203, 79, 203, 0, 203,
540 80, 203, 0, 203, 81, 203, 0, 203, 82, 203,
541 0, 203, 83, 203, 0, 203, 77, 203, 0, 203,
542 78, 203, 0, 203, 74, 203, 0, 203, 75, 203,
543 0, 203, 73, 203, 0, 203, 72, 203, 0, 203,
544 71, 203, 0, 203, 69, 203, 0, 203, 70, 203,
545 0, 203, 68, 203, 0, 203, 67, 203, 0, 203,
546 66, 375, 63, 203, 0, 203, 65, 203, 0, 203,
547 64, 203, 0, 62, 0, 62, 203, 0, 89, 390,
548 163, 0, 89, 390, 177, 0, 206, 0, 397, 0,
549 3, 0, 57, 0, 58, 0, 0, 6, 75, 205,
550 182, 181, 0, 397, 75, 205, 182, 181, 0, 49,
551 163, 75, 182, 181, 0, 49, 6, 75, 182, 181,
552 0, 49, 397, 75, 182, 181, 0, 204, 0, 4,
553 0, 5, 0, 210, 0, 246, 210, 0, 204, 0,
554 81, 209, 0, 71, 209, 0, 93, 209, 108, 0,
555 3, 75, 182, 181, 0, 58, 75, 183, 181, 0,
556 310, 0, 204, 0, 211, 0, 93, 209, 108, 0,
557 204, 0, 10, 0, 217, 0, 218, 0, 93, 186,
558 108, 0, 93, 209, 108, 0, 93, 1, 108, 0,
559 0, 93, 214, 337, 108, 0, 204, 93, 196, 108,
560 0, 204, 48, 0, 213, 93, 196, 108, 0, 213,
561 48, 0, 213, 94, 186, 111, 0, 213, 87, 0,
562 213, 88, 0, 41, 0, 9, 93, 196, 108, 0,
563 314, 0, 51, 75, 224, 76, 93, 186, 108, 0,
564 52, 75, 224, 76, 93, 186, 108, 0, 53, 75,
565 224, 76, 93, 186, 108, 0, 54, 75, 224, 76,
566 93, 186, 108, 0, 50, 93, 186, 108, 0, 50,
567 93, 224, 108, 0, 325, 3, 0, 325, 206, 0,
568 325, 397, 0, 313, 0, 313, 93, 196, 108, 0,
569 313, 48, 0, 220, 207, 0, 220, 207, 93, 196,
570 108, 0, 220, 207, 48, 0, 220, 208, 0, 220,
571 313, 0, 220, 208, 93, 196, 108, 0, 220, 208,
572 48, 0, 220, 313, 93, 196, 108, 0, 220, 313,
573 48, 0, 220, 89, 8, 48, 0, 220, 8, 55,
574 89, 8, 48, 0, 220, 1, 0, 40, 0, 325,
575 40, 0, 39, 0, 325, 216, 0, 43, 0, 44,
576 0, 11, 0, 218, 11, 0, 0, 213, 92, 0,
577 213, 91, 0, 231, 233, 61, 0, 225, 233, 61,
578 0, 228, 234, 61, 0, 225, 61, 0, 228, 61,
579 0, 118, 221, 0, 302, 0, 308, 0, 48, 0,
580 223, 48, 0, 229, 329, 0, 299, 329, 0, 231,
581 329, 0, 229, 0, 299, 0, 229, 0, 226, 0,
582 228, 231, 0, 231, 227, 0, 231, 230, 227, 0,
583 228, 231, 227, 0, 228, 231, 230, 0, 228, 231,
584 230, 227, 0, 7, 0, 227, 232, 0, 227, 7,
585 0, 227, 246, 0, 246, 0, 299, 0, 7, 0,
586 228, 9, 0, 228, 7, 0, 228, 246, 0, 246,
587 0, 231, 0, 299, 231, 0, 231, 230, 0, 299,
588 231, 230, 0, 232, 0, 230, 232, 0, 260, 0,
589 8, 0, 305, 0, 28, 93, 186, 108, 0, 28,
590 93, 224, 108, 0, 30, 93, 186, 108, 0, 30,
591 93, 224, 108, 0, 8, 0, 9, 0, 260, 0,
592 241, 0, 233, 60, 237, 0, 242, 0, 234, 60,
593 237, 0, 243, 0, 235, 60, 237, 0, 0, 119,
594 93, 218, 108, 0, 0, 222, 236, 245, 65, 238,
595 253, 0, 222, 236, 245, 0, 0, 245, 65, 240,
596 253, 0, 245, 0, 222, 236, 239, 0, 308, 236,
597 239, 0, 0, 308, 236, 244, 239, 0, 149, 236,
598 245, 0, 0, 246, 0, 247, 0, 246, 247, 0,
599 31, 93, 93, 248, 108, 108, 0, 249, 0, 248,
600 60, 249, 0, 0, 250, 0, 250, 93, 3, 108,
601 0, 250, 93, 3, 60, 196, 108, 0, 250, 93,
602 196, 108, 0, 163, 0, 7, 0, 8, 0, 9,
603 0, 163, 0, 251, 60, 163, 0, 0, 65, 253,
604 0, 202, 0, 59, 109, 0, 59, 254, 109, 0,
605 59, 254, 60, 109, 0, 1, 0, 253, 0, 254,
606 60, 253, 0, 94, 202, 111, 253, 0, 163, 63,
607 253, 0, 254, 60, 163, 63, 253, 0, 102, 0,
608 255, 146, 145, 336, 0, 255, 146, 360, 0, 255,
609 146, 1, 0, 0, 257, 256, 147, 0, 101, 202,
610 107, 0, 101, 1, 107, 0, 0, 259, 258, 0,
611 259, 1, 0, 0, 14, 163, 59, 261, 294, 109,
612 0, 0, 14, 59, 262, 294, 109, 0, 14, 163,
613 0, 14, 323, 0, 46, 318, 0, 0, 0, 0,
614 275, 59, 263, 281, 109, 245, 264, 259, 265, 257,
615 0, 275, 0, 0, 60, 0, 0, 60, 0, 37,
616 0, 268, 7, 0, 268, 8, 0, 268, 9, 0,
617 268, 37, 0, 268, 246, 0, 268, 163, 0, 268,
618 165, 0, 269, 59, 0, 269, 63, 0, 268, 316,
619 163, 0, 268, 325, 316, 163, 0, 268, 325, 163,
620 0, 268, 178, 0, 268, 316, 178, 0, 269, 0,
621 0, 270, 273, 276, 0, 271, 276, 0, 268, 59,
622 0, 274, 0, 272, 0, 0, 63, 390, 0, 63,
623 390, 277, 0, 278, 0, 277, 60, 390, 278, 0,
624 279, 0, 280, 390, 279, 0, 318, 0, 304, 0,
625 38, 390, 0, 7, 390, 0, 280, 38, 390, 0,
626 280, 7, 390, 0, 0, 283, 0, 281, 282, 283,
627 0, 281, 282, 0, 38, 63, 0, 284, 0, 283,
628 284, 0, 285, 61, 0, 285, 109, 0, 156, 63,
629 0, 156, 95, 0, 156, 25, 0, 156, 59, 0,
630 61, 0, 118, 284, 0, 134, 284, 0, 134, 225,
631 61, 0, 225, 286, 0, 228, 287, 0, 308, 236,
632 245, 252, 0, 149, 236, 245, 252, 0, 63, 202,
633 0, 1, 0, 228, 155, 236, 245, 252, 0, 155,
634 236, 245, 252, 0, 127, 0, 0, 288, 0, 286,
635 60, 289, 0, 0, 291, 0, 287, 60, 293, 0,
636 290, 0, 291, 0, 292, 0, 293, 0, 302, 236,
637 245, 252, 0, 4, 63, 202, 245, 0, 308, 236,
638 245, 252, 0, 149, 236, 245, 252, 0, 3, 63,
639 202, 245, 0, 63, 202, 245, 0, 302, 236, 245,
640 252, 0, 4, 63, 202, 245, 0, 308, 236, 245,
641 252, 0, 3, 63, 202, 245, 0, 63, 202, 245,
642 0, 295, 267, 0, 267, 0, 296, 0, 295, 60,
643 296, 0, 163, 0, 163, 65, 202, 0, 370, 326,
644 0, 370, 0, 93, 224, 108, 94, 186, 111, 0,
645 0, 298, 9, 0, 9, 0, 299, 9, 0, 93,
646 196, 108, 0, 93, 380, 108, 0, 48, 0, 93,
647 1, 108, 0, 302, 0, 246, 302, 0, 81, 299,
648 301, 0, 71, 299, 301, 0, 81, 301, 0, 71,
649 301, 0, 324, 298, 301, 0, 303, 0, 303, 300,
650 298, 392, 0, 303, 94, 186, 111, 0, 303, 94,
651 111, 0, 93, 301, 108, 0, 316, 315, 0, 315,
652 0, 315, 0, 325, 315, 0, 304, 0, 306, 0,
653 325, 306, 0, 316, 315, 0, 308, 0, 246, 308,
654 0, 81, 299, 307, 0, 71, 299, 307, 0, 81,
655 307, 0, 71, 307, 0, 324, 298, 307, 0, 212,
656 0, 81, 299, 307, 0, 71, 299, 307, 0, 81,
657 309, 0, 71, 309, 0, 324, 298, 307, 0, 310,
658 0, 212, 300, 298, 392, 0, 93, 309, 108, 0,
659 212, 94, 186, 111, 0, 212, 94, 111, 0, 312,
660 0, 325, 312, 0, 325, 204, 0, 316, 211, 0,
661 316, 208, 0, 316, 207, 0, 316, 204, 0, 316,
662 207, 0, 312, 0, 325, 312, 0, 231, 93, 196,
663 108, 0, 231, 93, 209, 108, 0, 231, 223, 0,
664 4, 0, 5, 0, 177, 0, 317, 0, 316, 317,
665 0, 316, 49, 322, 55, 0, 4, 55, 0, 5,
666 55, 0, 58, 55, 0, 177, 55, 0, 319, 0,
667 325, 319, 0, 320, 163, 0, 320, 177, 0, 320,
668 322, 0, 320, 49, 322, 0, 321, 0, 320, 321,
669 0, 320, 322, 55, 0, 320, 49, 322, 55, 0,
670 4, 55, 0, 5, 55, 0, 177, 55, 0, 57,
671 55, 0, 3, 55, 0, 58, 55, 0, 163, 75,
672 182, 181, 0, 325, 315, 0, 306, 0, 325, 306,
673 0, 316, 81, 0, 325, 316, 81, 0, 55, 0,
674 81, 298, 326, 0, 81, 298, 0, 71, 298, 326,
675 0, 71, 298, 0, 324, 298, 0, 324, 298, 326,
676 0, 327, 0, 94, 186, 111, 0, 327, 94, 186,
677 111, 0, 329, 0, 246, 329, 0, 81, 299, 328,
678 0, 81, 328, 0, 81, 299, 0, 81, 0, 71,
679 299, 328, 0, 71, 328, 0, 71, 299, 0, 71,
680 0, 324, 298, 0, 324, 298, 328, 0, 330, 0,
681 93, 328, 108, 0, 330, 93, 380, 108, 298, 392,
682 0, 330, 48, 298, 392, 0, 330, 94, 186, 111,
683 0, 330, 94, 111, 0, 93, 381, 108, 298, 392,
684 0, 200, 298, 392, 0, 223, 298, 392, 0, 94,
685 186, 111, 0, 94, 111, 0, 344, 0, 332, 0,
686 331, 344, 0, 331, 332, 0, 1, 61, 0, 0,
687 334, 0, 335, 0, 334, 335, 0, 33, 251, 61,
688 0, 337, 0, 1, 337, 0, 0, 59, 338, 192,
689 0, 0, 0, 15, 340, 188, 341, 342, 0, 337,
690 0, 0, 343, 345, 0, 337, 0, 345, 0, 221,
691 0, 186, 61, 0, 0, 339, 16, 346, 342, 0,
692 339, 0, 0, 0, 17, 347, 188, 348, 193, 0,
693 0, 0, 18, 349, 342, 17, 350, 187, 61, 0,
694 0, 0, 0, 0, 19, 351, 93, 373, 352, 189,
695 61, 353, 375, 108, 354, 193, 0, 0, 0, 20,
696 355, 93, 190, 108, 356, 342, 0, 0, 21, 202,
697 63, 357, 344, 0, 0, 21, 202, 12, 202, 63,
698 358, 344, 0, 0, 22, 63, 359, 344, 0, 23,
699 61, 0, 24, 61, 0, 25, 61, 0, 25, 186,
700 61, 0, 119, 374, 93, 218, 108, 61, 0, 119,
701 374, 93, 218, 63, 376, 108, 61, 0, 119, 374,
702 93, 218, 63, 376, 63, 376, 108, 61, 0, 119,
703 374, 93, 218, 55, 376, 108, 61, 0, 119, 374,
704 93, 218, 63, 376, 63, 376, 63, 379, 108, 61,
705 0, 119, 374, 93, 218, 55, 376, 63, 379, 108,
706 61, 0, 119, 374, 93, 218, 63, 376, 55, 379,
707 108, 61, 0, 26, 81, 186, 61, 0, 26, 163,
708 61, 0, 372, 344, 0, 372, 109, 0, 61, 0,
709 363, 0, 129, 0, 128, 0, 125, 0, 0, 0,
710 95, 361, 145, 337, 362, 366, 0, 0, 0, 95,
711 364, 337, 365, 366, 0, 367, 0, 366, 367, 0,
712 0, 0, 96, 368, 371, 369, 337, 0, 229, 0,
713 299, 0, 93, 12, 108, 0, 93, 389, 108, 0,
714 3, 63, 0, 57, 63, 0, 4, 63, 0, 5,
715 63, 0, 375, 61, 0, 221, 0, 59, 192, 0,
716 0, 9, 0, 0, 186, 0, 1, 0, 0, 377,
717 0, 378, 0, 377, 60, 378, 0, 11, 93, 186,
718 108, 0, 218, 0, 379, 60, 218, 0, 0, 381,
719 0, 224, 0, 385, 0, 386, 12, 0, 385, 12,
720 0, 224, 12, 0, 12, 0, 385, 63, 0, 224,
721 63, 0, 0, 65, 383, 384, 0, 100, 0, 253,
722 0, 387, 0, 389, 382, 0, 386, 388, 0, 386,
723 391, 0, 386, 391, 65, 253, 0, 385, 60, 0,
724 224, 60, 0, 226, 222, 0, 229, 222, 0, 231,
725 222, 0, 226, 329, 0, 226, 0, 228, 308, 0,
726 389, 0, 389, 382, 0, 387, 0, 224, 0, 0,
727 0, 308, 0, 0, 62, 93, 394, 108, 0, 62,
728 48, 0, 224, 0, 393, 0, 394, 60, 393, 0,
729 0, 81, 298, 395, 0, 71, 298, 395, 0, 324,
730 298, 395, 0, 42, 0, 396, 81, 0, 396, 82,
731 0, 396, 83, 0, 396, 79, 0, 396, 80, 0,
732 396, 71, 0, 396, 69, 0, 396, 70, 0, 396,
733 89, 0, 396, 60, 0, 396, 74, 0, 396, 75,
734 0, 396, 76, 0, 396, 73, 0, 396, 64, 0,
735 396, 65, 0, 396, 77, 0, 396, 78, 0, 396,
736 87, 0, 396, 88, 0, 396, 68, 0, 396, 67,
737 0, 396, 110, 0, 396, 66, 63, 0, 396, 72,
738 0, 396, 91, 0, 396, 84, 0, 396, 48, 0,
739 396, 94, 111, 0, 396, 40, 0, 396, 39, 0,
740 396, 40, 94, 111, 0, 396, 39, 94, 111, 0,
741 396, 370, 395, 0, 396, 1, 0
747 static const short yyrline
[] = { 0,
748 433, 436, 444, 447, 448, 452, 454, 457, 462, 466,
749 472, 476, 480, 484, 487, 489, 491, 494, 496, 499,
750 502, 504, 506, 508, 510, 511, 513, 514, 518, 521,
751 530, 533, 535, 539, 542, 544, 548, 551, 563, 570,
752 578, 580, 581, 583, 587, 590, 596, 599, 601, 606,
753 609, 613, 616, 619, 622, 626, 631, 641, 643, 645,
754 647, 649, 662, 665, 669, 672, 674, 676, 679, 682,
755 686, 688, 690, 692, 697, 699, 701, 703, 705, 706,
756 713, 714, 715, 718, 721, 725, 727, 728, 731, 733,
757 736, 739, 741, 745, 748, 750, 754, 756, 758, 762,
758 764, 766, 770, 772, 774, 780, 785, 788, 791, 794,
759 799, 802, 804, 806, 812, 821, 824, 826, 828, 831,
760 833, 838, 847, 850, 852, 856, 866, 882, 888, 893,
761 904, 907, 914, 922, 924, 927, 929, 932, 934, 937,
762 941, 943, 944, 945, 946, 949, 951, 952, 955, 957,
763 958, 961, 966, 966, 970, 970, 973, 973, 976, 976,
764 980, 980, 985, 985, 988, 988, 991, 993, 996, 1003,
765 1007, 1010, 1013, 1015, 1019, 1025, 1034, 1036, 1044, 1047,
766 1050, 1053, 1057, 1060, 1066, 1069, 1072, 1074, 1076, 1078,
767 1082, 1085, 1088, 1093, 1097, 1102, 1106, 1109, 1110, 1114,
768 1131, 1137, 1140, 1142, 1143, 1144, 1147, 1151, 1152, 1156,
769 1160, 1163, 1165, 1169, 1172, 1175, 1179, 1182, 1184, 1186,
770 1188, 1191, 1195, 1197, 1200, 1202, 1208, 1211, 1214, 1217,
771 1220, 1225, 1228, 1231, 1235, 1237, 1241, 1245, 1247, 1249,
772 1254, 1257, 1262, 1265, 1267, 1275, 1288, 1293, 1299, 1301,
773 1303, 1316, 1319, 1321, 1323, 1325, 1327, 1329, 1331, 1333,
774 1335, 1337, 1339, 1341, 1343, 1345, 1347, 1349, 1351, 1353,
775 1355, 1357, 1359, 1363, 1365, 1367, 1371, 1374, 1376, 1378,
776 1380, 1382, 1384, 1386, 1388, 1390, 1392, 1394, 1396, 1398,
777 1400, 1402, 1404, 1406, 1408, 1410, 1412, 1416, 1418, 1420,
778 1424, 1427, 1429, 1430, 1431, 1432, 1433, 1436, 1448, 1451,
779 1455, 1458, 1460, 1465, 1467, 1468, 1471, 1473, 1481, 1483,
780 1485, 1487, 1491, 1494, 1498, 1502, 1503, 1504, 1508, 1516,
781 1517, 1518, 1528, 1530, 1533, 1535, 1546, 1551, 1553, 1555,
782 1557, 1559, 1561, 1563, 1566, 1568, 1579, 1580, 1584, 1588,
783 1592, 1596, 1598, 1602, 1604, 1606, 1614, 1616, 1618, 1620,
784 1624, 1626, 1628, 1630, 1635, 1637, 1639, 1641, 1644, 1646,
785 1648, 1692, 1695, 1699, 1702, 1706, 1709, 1714, 1716, 1720,
786 1729, 1732, 1739, 1745, 1749, 1751, 1756, 1758, 1765, 1767,
787 1771, 1775, 1781, 1785, 1788, 1792, 1795, 1805, 1808, 1812,
788 1816, 1819, 1822, 1825, 1828, 1834, 1840, 1842, 1847, 1849,
789 1867, 1870, 1875, 1880, 1888, 1890, 1903, 1907, 1910, 1913,
790 1918, 1921, 1929, 1932, 1934, 1936, 1939, 1942, 1957, 1976,
791 1979, 1981, 1984, 1986, 1990, 1992, 1996, 1998, 2002, 2005,
792 2009, 2014, 2015, 2028, 2035, 2036, 2042, 2047, 2052, 2058,
793 2059, 2066, 2069, 2073, 2076, 2080, 2085, 2088, 2092, 2095,
794 2097, 2099, 2101, 2108, 2110, 2111, 2112, 2116, 2119, 2123,
795 2126, 2132, 2134, 2137, 2140, 2143, 2149, 2152, 2155, 2157,
796 2159, 2163, 2169, 2175, 2180, 2186, 2188, 2193, 2196, 2199,
797 2201, 2203, 2207, 2211, 2216, 2219, 2224, 2227, 2230, 2236,
798 2238, 2250, 2254, 2259, 2285, 2287, 2290, 2292, 2297, 2299,
799 2301, 2303, 2305, 2307, 2311, 2319, 2322, 2324, 2328, 2335,
800 2341, 2347, 2353, 2363, 2369, 2373, 2380, 2408, 2418, 2424,
801 2427, 2430, 2432, 2436, 2438, 2442, 2445, 2449, 2457, 2460,
802 2462, 2466, 2477, 2491, 2492, 2493, 2494, 2497, 2506, 2511,
803 2517, 2519, 2524, 2526, 2528, 2530, 2532, 2534, 2537, 2547,
804 2554, 2579, 2585, 2588, 2591, 2593, 2604, 2609, 2612, 2617,
805 2620, 2627, 2637, 2640, 2647, 2657, 2659, 2662, 2664, 2667,
806 2671, 2676, 2680, 2683, 2686, 2691, 2694, 2698, 2701, 2703,
807 2707, 2709, 2716, 2718, 2721, 2724, 2729, 2733, 2738, 2748,
808 2751, 2755, 2759, 2768, 2771, 2773, 2775, 2781, 2783, 2792,
809 2795, 2797, 2799, 2801, 2805, 2808, 2811, 2813, 2815, 2817,
810 2821, 2824, 2835, 2845, 2847, 2848, 2852, 2860, 2862, 2870,
811 2873, 2875, 2877, 2879, 2883, 2886, 2889, 2891, 2893, 2895,
812 2899, 2902, 2905, 2907, 2909, 2911, 2913, 2915, 2919, 2926,
813 2930, 2935, 2939, 2944, 2946, 2950, 2953, 2955, 2959, 2961,
814 2962, 2965, 2967, 2969, 2976, 2987, 2993, 2999, 3013, 3015,
815 3019, 3033, 3035, 3037, 3041, 3047, 3060, 3063, 3068, 3081,
816 3087, 3089, 3090, 3091, 3099, 3104, 3113, 3114, 3118, 3121,
817 3127, 3133, 3136, 3138, 3140, 3142, 3146, 3150, 3154, 3157,
818 3161, 3163, 3172, 3175, 3177, 3179, 3181, 3183, 3185, 3187,
819 3189, 3193, 3197, 3201, 3205, 3207, 3209, 3211, 3213, 3215,
820 3217, 3219, 3221, 3229, 3231, 3232, 3233, 3236, 3242, 3244,
821 3249, 3251, 3254, 3267, 3270, 3273, 3277, 3280, 3287, 3289,
822 3292, 3294, 3296, 3299, 3302, 3305, 3308, 3310, 3313, 3317,
823 3319, 3325, 3327, 3328, 3330, 3335, 3337, 3339, 3341, 3343,
824 3346, 3347, 3349, 3352, 3353, 3356, 3356, 3359, 3359, 3362,
825 3362, 3364, 3366, 3368, 3370, 3376, 3382, 3384, 3387, 3390,
826 3393, 3396, 3402, 3404, 3405, 3408, 3410, 3411, 3412, 3414,
827 3417, 3420, 3423, 3429, 3433, 3435, 3438, 3440, 3443, 3447,
828 3449, 3452, 3454, 3457, 3474, 3482, 3485, 3487, 3489, 3493,
829 3496, 3497, 3505, 3508, 3511, 3514, 3515, 3521, 3524, 3527,
830 3529, 3533, 3538, 3541, 3551, 3556, 3557, 3564, 3567, 3570,
831 3572, 3575, 3577, 3587, 3601, 3605, 3608, 3610, 3614, 3618,
832 3621, 3624, 3626, 3630, 3632, 3639, 3646, 3649, 3653, 3657,
833 3661, 3667, 3671, 3676, 3678, 3681, 3686, 3692, 3703, 3706,
834 3708, 3712, 3720, 3723, 3727, 3730, 3732, 3734, 3740, 3745,
835 3748, 3750, 3752, 3754, 3756, 3758, 3760, 3762, 3764, 3766,
836 3768, 3770, 3772, 3774, 3776, 3778, 3780, 3782, 3784, 3786,
837 3788, 3790, 3792, 3794, 3796, 3798, 3800, 3802, 3804, 3806,
838 3808, 3810, 3813, 3815
843 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
845 static const char * const yytname
[] = { "$","error","$undefined.","IDENTIFIER",
846 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
847 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
848 "CASE","DEFAULT","BREAK","CONTINUE","RETURN_KEYWORD","GOTO","ASM_KEYWORD","TYPEOF",
849 "ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG",
850 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
851 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
852 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
853 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
854 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
855 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
856 "POINTSAT","'.'","'('","'['","TRY","CATCH","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
857 "DEFARG","DEFARG_MARKER","PRE_PARSED_FUNCTION_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN",
858 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
859 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
860 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
861 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
862 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
863 "template_type_parm","template_template_parm","template_parm","template_def",
864 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
865 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
866 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
867 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
868 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
869 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
870 "apparent_template_type","self_template_type",".finish_template_type","template_close_bracket",
871 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
872 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
873 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr","new_placement",
874 "new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas","expr_no_comma_rangle",
875 "notype_unqualified_id","do_id","template_id","object_template_id","unqualified_id",
876 "expr_or_declarator_intern","expr_or_declarator","notype_template_declarator",
877 "direct_notype_declarator","primary","@22","new","delete","boolean.literal",
878 "string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id",
879 "typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs",
880 "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls",
881 "nomods_initdecls","maybeasm","initdcl","@23","initdcl0_innards","@24","initdcl0",
882 "notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute",
883 "attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init",
884 "init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again",
885 "pending_defargs","structsp","@26","@27","@28","@29","@30","maybecomma","maybecomma_warn",
886 "aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
887 "named_complex_class_head_sans_basetype","named_class_head","@31","unnamed_class_head",
888 "class_head","maybe_base_class_list","base_class_list","base_class","base_class.1",
889 "base_class_access_list","opt.component_decl_list","access_specifier","component_decl_list",
890 "component_decl","component_decl_1","components","notype_components","component_declarator0",
891 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
892 "after_type_component_declarator","notype_component_declarator","enumlist_opt",
893 "enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers",
894 "maybe_parmlist","after_type_declarator_intern","after_type_declarator","direct_after_type_declarator",
895 "nonnested_type","complete_type_name","nested_type","notype_declarator_intern",
896 "notype_declarator","complex_notype_declarator","complex_direct_notype_declarator",
897 "qualified_id","notype_qualified_id","overqualified_id","functional_cast","type_name",
898 "nested_name_specifier","nested_name_specifier_1","typename_sub","typename_sub0",
899 "typename_sub1","typename_sub2","explicit_template_type","complex_type_name",
900 "ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl_intern",
901 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
902 "label_decls","label_decl","compstmt_or_error","compstmt","@32","simple_if",
903 "@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt","@36","@37",
904 "@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48","@49","function_try_block",
905 "@50","@51","try_block","@52","@53","handler_seq","handler","@54","@55","type_specifier_seq",
906 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
907 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
908 "complex_parmlist","defarg","@56","defarg1","parms","parms_comma","named_parm",
909 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
910 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
914 static const short yyr1
[] = { 0,
915 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
916 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
917 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
918 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
919 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
920 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
921 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
922 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
923 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
924 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
925 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
926 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
927 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
928 161, 162, 162, 162, 162, 162, 162, 162, 162, 162,
929 163, 163, 163, 163, 163, 164, 164, 164, 165, 165,
930 165, 167, 166, 168, 166, 169, 166, 170, 166, 171,
931 166, 172, 166, 173, 166, 174, 166, 175, 176, 177,
932 177, 177, 178, 178, 179, 180, 181, 181, 182, 182,
933 183, 183, 184, 184, 184, 185, 185, 185, 185, 185,
934 186, 186, 187, 187, 188, 188, 189, 189, 189, 191,
935 190, 190, 192, 192, 192, 192, 194, 193, 193, 195,
936 195, 195, 195, 196, 196, 197, 197, 197, 197, 197,
937 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
938 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
939 198, 198, 199, 199, 199, 199, 200, 200, 201, 201,
940 201, 202, 202, 202, 202, 202, 202, 202, 202, 202,
941 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
942 202, 202, 202, 202, 202, 202, 203, 203, 203, 203,
943 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
944 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
945 204, 204, 204, 204, 204, 204, 204, 205, 206, 206,
946 207, 207, 207, 208, 208, 208, 209, 209, 210, 210,
947 210, 210, 211, 211, 212, 212, 212, 212, 213, 213,
948 213, 213, 213, 213, 213, 214, 213, 213, 213, 213,
949 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
950 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
951 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
952 213, 215, 215, 216, 216, 217, 217, 218, 218, 219,
953 220, 220, 221, 221, 221, 221, 221, 221, 222, 222,
954 223, 223, 224, 224, 224, 224, 224, 225, 225, 226,
955 226, 226, 226, 226, 226, 227, 227, 227, 227, 227,
956 228, 228, 228, 228, 228, 228, 229, 229, 229, 229,
957 230, 230, 231, 231, 231, 231, 231, 231, 231, 232,
958 232, 232, 233, 233, 234, 234, 235, 235, 236, 236,
959 238, 237, 237, 240, 239, 239, 241, 242, 244, 243,
960 243, 245, 245, 246, 246, 247, 248, 248, 249, 249,
961 249, 249, 249, 250, 250, 250, 250, 251, 251, 252,
962 252, 253, 253, 253, 253, 253, 254, 254, 254, 254,
963 254, 255, 256, 256, 256, 257, 257, 258, 258, 259,
964 259, 259, 261, 260, 262, 260, 260, 260, 260, 263,
965 264, 265, 260, 260, 266, 266, 267, 267, 268, 268,
966 268, 268, 268, 268, 269, 270, 270, 270, 271, 271,
967 271, 271, 271, 272, 273, 272, 272, 274, 275, 275,
968 276, 276, 276, 277, 277, 278, 278, 279, 279, 280,
969 280, 280, 280, 281, 281, 281, 281, 282, 283, 283,
970 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
971 285, 285, 285, 285, 285, 285, 285, 285, 285, 286,
972 286, 286, 287, 287, 287, 288, 288, 289, 289, 290,
973 290, 291, 291, 291, 291, 292, 292, 293, 293, 293,
974 294, 294, 295, 295, 296, 296, 297, 297, 297, 298,
975 298, 299, 299, 300, 300, 300, 300, 301, 301, 302,
976 302, 302, 302, 302, 302, 303, 303, 303, 303, 303,
977 303, 304, 304, 305, 305, 305, 306, 307, 307, 308,
978 308, 308, 308, 308, 308, 309, 309, 309, 309, 309,
979 309, 310, 310, 310, 310, 310, 310, 310, 310, 311,
980 311, 312, 312, 313, 313, 314, 314, 314, 315, 315,
981 315, 316, 316, 316, 317, 317, 317, 317, 318, 318,
982 319, 319, 319, 319, 320, 320, 320, 320, 321, 321,
983 321, 321, 321, 321, 322, 323, 323, 323, 324, 324,
984 325, 326, 326, 326, 326, 326, 326, 326, 327, 327,
985 328, 328, 329, 329, 329, 329, 329, 329, 329, 329,
986 329, 329, 329, 330, 330, 330, 330, 330, 330, 330,
987 330, 330, 330, 331, 331, 331, 331, 332, 333, 333,
988 334, 334, 335, 336, 336, 338, 337, 340, 341, 339,
989 342, 343, 342, 344, 344, 345, 345, 346, 345, 345,
990 347, 348, 345, 349, 350, 345, 351, 352, 353, 354,
991 345, 355, 356, 345, 357, 345, 358, 345, 359, 345,
992 345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
993 345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
994 361, 362, 360, 364, 365, 363, 366, 366, 368, 369,
995 367, 370, 370, 371, 371, 372, 372, 372, 372, 373,
996 373, 373, 374, 374, 375, 375, 375, 376, 376, 377,
997 377, 378, 379, 379, 380, 380, 380, 381, 381, 381,
998 381, 381, 381, 381, 383, 382, 384, 384, 385, 385,
999 385, 385, 385, 386, 386, 387, 387, 387, 387, 387,
1000 387, 388, 388, 389, 389, 390, 391, 391, 392, 392,
1001 392, 393, 394, 394, 395, 395, 395, 395, 396, 397,
1002 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
1003 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
1004 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
1008 static const short yyr2
[] = { 0,
1009 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
1010 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
1011 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
1012 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
1013 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
1014 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
1015 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
1016 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
1017 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
1018 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
1019 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
1020 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
1021 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
1022 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
1023 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1024 1, 0, 6, 0, 6, 0, 5, 0, 5, 0,
1025 7, 0, 7, 0, 6, 0, 6, 0, 0, 5,
1026 5, 1, 1, 5, 5, 0, 1, 1, 0, 1,
1027 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
1028 1, 1, 1, 3, 1, 3, 0, 1, 1, 0,
1029 7, 1, 1, 3, 4, 3, 0, 3, 1, 3,
1030 3, 3, 3, 1, 1, 1, 2, 2, 2, 2,
1031 2, 2, 2, 4, 2, 4, 2, 3, 3, 4,
1032 4, 5, 5, 6, 2, 4, 5, 2, 2, 6,
1033 3, 3, 3, 1, 3, 2, 3, 4, 1, 2,
1034 5, 1, 3, 3, 3, 3, 3, 3, 3, 3,
1035 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1036 3, 5, 3, 3, 1, 2, 1, 3, 3, 3,
1037 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1038 3, 3, 3, 3, 3, 5, 3, 3, 1, 2,
1039 3, 3, 1, 1, 1, 1, 1, 0, 5, 5,
1040 5, 5, 5, 1, 1, 1, 1, 2, 1, 2,
1041 2, 3, 4, 4, 1, 1, 1, 3, 1, 1,
1042 1, 1, 3, 3, 3, 0, 4, 4, 2, 4,
1043 2, 4, 2, 2, 1, 4, 1, 7, 7, 7,
1044 7, 4, 4, 2, 2, 2, 1, 4, 2, 2,
1045 5, 3, 2, 2, 5, 3, 5, 3, 4, 6,
1046 2, 1, 2, 1, 2, 1, 1, 1, 2, 0,
1047 2, 2, 3, 3, 3, 2, 2, 2, 1, 1,
1048 1, 2, 2, 2, 2, 1, 1, 1, 1, 2,
1049 2, 3, 3, 3, 4, 1, 2, 2, 2, 1,
1050 1, 1, 2, 2, 2, 1, 1, 2, 2, 3,
1051 1, 2, 1, 1, 1, 4, 4, 4, 4, 1,
1052 1, 1, 1, 3, 1, 3, 1, 3, 0, 4,
1053 0, 6, 3, 0, 4, 1, 3, 3, 0, 4,
1054 3, 0, 1, 1, 2, 6, 1, 3, 0, 1,
1055 4, 6, 4, 1, 1, 1, 1, 1, 3, 0,
1056 2, 1, 2, 3, 4, 1, 1, 3, 4, 3,
1057 5, 1, 4, 3, 3, 0, 3, 3, 3, 0,
1058 2, 2, 0, 6, 0, 5, 2, 2, 2, 0,
1059 0, 0, 10, 1, 0, 1, 0, 1, 1, 2,
1060 2, 2, 2, 2, 2, 2, 2, 2, 3, 4,
1061 3, 2, 3, 1, 0, 3, 2, 2, 1, 1,
1062 0, 2, 3, 1, 4, 1, 3, 1, 1, 2,
1063 2, 3, 3, 0, 1, 3, 2, 2, 1, 2,
1064 2, 2, 2, 2, 2, 2, 1, 2, 2, 3,
1065 2, 2, 4, 4, 2, 1, 5, 4, 1, 0,
1066 1, 3, 0, 1, 3, 1, 1, 1, 1, 4,
1067 4, 4, 4, 4, 3, 4, 4, 4, 4, 3,
1068 2, 1, 1, 3, 1, 3, 2, 1, 6, 0,
1069 2, 1, 2, 3, 3, 1, 3, 1, 2, 3,
1070 3, 2, 2, 3, 1, 4, 4, 3, 3, 2,
1071 1, 1, 2, 1, 1, 2, 2, 1, 2, 3,
1072 3, 2, 2, 3, 1, 3, 3, 2, 2, 3,
1073 1, 4, 3, 4, 3, 1, 2, 2, 2, 2,
1074 2, 2, 2, 1, 2, 4, 4, 2, 1, 1,
1075 1, 1, 2, 4, 2, 2, 2, 2, 1, 2,
1076 2, 2, 2, 3, 1, 2, 3, 4, 2, 2,
1077 2, 2, 2, 2, 4, 2, 1, 2, 2, 3,
1078 1, 3, 2, 3, 2, 2, 3, 1, 3, 4,
1079 1, 2, 3, 2, 2, 1, 3, 2, 2, 1,
1080 2, 3, 1, 3, 6, 4, 4, 3, 5, 3,
1081 3, 3, 2, 1, 1, 2, 2, 2, 0, 1,
1082 1, 2, 3, 1, 2, 0, 3, 0, 0, 5,
1083 1, 0, 2, 1, 1, 1, 2, 0, 4, 1,
1084 0, 0, 5, 0, 0, 7, 0, 0, 0, 0,
1085 12, 0, 0, 7, 0, 5, 0, 7, 0, 4,
1086 2, 2, 2, 3, 6, 8, 10, 8, 12, 10,
1087 10, 4, 3, 2, 2, 1, 1, 1, 1, 1,
1088 0, 0, 6, 0, 0, 5, 1, 2, 0, 0,
1089 5, 1, 1, 3, 3, 2, 2, 2, 2, 2,
1090 1, 2, 0, 1, 0, 1, 1, 0, 1, 1,
1091 3, 4, 1, 3, 0, 1, 1, 1, 2, 2,
1092 2, 1, 2, 2, 0, 3, 1, 1, 1, 2,
1093 2, 2, 4, 2, 2, 2, 2, 2, 2, 1,
1094 2, 1, 2, 1, 1, 0, 0, 1, 0, 4,
1095 2, 1, 1, 3, 0, 3, 3, 3, 1, 2,
1096 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1097 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1098 2, 2, 3, 2, 2, 2, 2, 3, 2, 2,
1102 static const short yydefact
[] = { 3,
1103 12, 12, 5, 0, 4, 0, 305, 659, 660, 0,
1104 412, 424, 602, 0, 11, 0, 0, 0, 10, 509,
1105 869, 0, 0, 0, 168, 691, 306, 307, 83, 0,
1106 0, 856, 0, 45, 0, 0, 13, 25, 0, 27,
1107 8, 0, 16, 15, 89, 110, 86, 0, 661, 172,
1108 326, 303, 327, 635, 0, 399, 0, 398, 417, 0,
1109 437, 416, 454, 423, 0, 524, 525, 531, 530, 529,
1110 504, 411, 624, 425, 625, 108, 325, 646, 622, 0,
1111 662, 600, 0, 0, 304, 81, 82, 179, 665, 179,
1112 666, 179, 308, 168, 141, 142, 143, 144, 145, 495,
1113 497, 0, 687, 0, 498, 0, 0, 0, 0, 142,
1114 143, 144, 145, 23, 0, 0, 0, 0, 0, 0,
1115 0, 499, 669, 0, 675, 0, 0, 0, 37, 0,
1116 0, 31, 0, 0, 47, 0, 179, 667, 0, 0,
1117 0, 633, 628, 0, 0, 0, 632, 0, 0, 0,
1118 0, 326, 0, 317, 0, 0, 0, 325, 600, 28,
1119 0, 26, 3, 46, 0, 64, 412, 0, 0, 8,
1120 67, 63, 66, 89, 0, 0, 0, 423, 90, 14,
1121 0, 452, 0, 0, 470, 87, 79, 668, 606, 0,
1122 0, 600, 80, 0, 0, 0, 106, 0, 433, 389,
1123 615, 390, 621, 0, 600, 414, 413, 78, 109, 400,
1124 0, 435, 415, 107, 406, 430, 431, 401, 419, 421,
1125 410, 432, 0, 75, 455, 510, 511, 512, 513, 528,
1126 150, 149, 151, 515, 516, 173, 522, 514, 0, 0,
1127 517, 518, 531, 856, 527, 500, 603, 418, 0, 449,
1128 660, 0, 689, 172, 652, 653, 649, 627, 663, 0,
1129 305, 307, 648, 626, 647, 623, 0, 904, 900, 899,
1130 897, 879, 884, 885, 0, 891, 890, 876, 877, 875,
1131 894, 883, 880, 881, 882, 886, 887, 873, 874, 870,
1132 871, 872, 896, 888, 889, 878, 895, 0, 892, 802,
1133 417, 803, 865, 308, 602, 330, 378, 0, 0, 0,
1134 0, 0, 374, 372, 345, 376, 377, 0, 0, 0,
1135 0, 0, 306, 299, 0, 0, 187, 186, 0, 188,
1136 189, 0, 0, 190, 0, 0, 180, 181, 0, 249,
1137 0, 277, 185, 329, 216, 0, 0, 331, 332, 0,
1138 183, 396, 417, 397, 654, 357, 347, 0, 0, 0,
1139 0, 179, 0, 507, 493, 0, 688, 686, 275, 0,
1140 191, 252, 192, 0, 0, 0, 459, 3, 21, 29,
1141 683, 679, 680, 682, 684, 681, 141, 142, 143, 0,
1142 144, 145, 671, 672, 676, 673, 670, 0, 315, 316,
1143 314, 651, 650, 33, 32, 49, 0, 158, 0, 0,
1144 417, 156, 0, 0, 629, 631, 0, 630, 142, 143,
1145 301, 302, 321, 0, 639, 320, 0, 638, 0, 328,
1146 306, 307, 0, 0, 0, 319, 318, 643, 0, 0,
1147 12, 0, 168, 9, 9, 70, 0, 65, 0, 0,
1148 71, 74, 0, 451, 453, 122, 93, 127, 791, 0,
1149 85, 84, 92, 125, 0, 0, 123, 88, 0, 832,
1150 215, 0, 214, 827, 850, 0, 396, 417, 397, 0,
1151 826, 828, 857, 839, 0, 0, 645, 0, 0, 859,
1152 0, 0, 613, 608, 0, 612, 0, 0, 0, 0,
1153 0, 600, 452, 0, 77, 0, 600, 620, 0, 403,
1154 404, 0, 76, 452, 408, 407, 409, 402, 422, 439,
1155 438, 179, 519, 523, 521, 0, 526, 532, 0, 420,
1156 452, 600, 94, 0, 0, 0, 0, 600, 100, 601,
1157 634, 660, 690, 172, 0, 0, 893, 898, 419, 600,
1158 600, 0, 600, 0, 903, 179, 0, 0, 223, 0,
1159 225, 238, 239, 0, 0, 0, 0, 0, 0, 300,
1160 222, 219, 218, 220, 0, 0, 0, 0, 0, 329,
1161 0, 0, 0, 217, 177, 178, 323, 0, 221, 0,
1162 0, 250, 0, 0, 0, 0, 0, 0, 0, 0,
1163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1164 0, 0, 0, 339, 0, 341, 343, 344, 382, 381,
1165 0, 0, 0, 0, 0, 227, 598, 0, 235, 379,
1166 371, 0, 0, 856, 360, 363, 364, 0, 0, 391,
1167 710, 706, 0, 0, 600, 600, 600, 393, 713, 0,
1168 658, 395, 0, 0, 394, 359, 0, 354, 373, 355,
1169 375, 655, 0, 356, 176, 176, 0, 166, 0, 417,
1170 164, 508, 595, 592, 0, 507, 593, 507, 0, 276,
1171 426, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1173 0, 0, 0, 0, 0, 427, 428, 429, 465, 466,
1174 467, 464, 0, 457, 460, 0, 3, 0, 674, 179,
1175 677, 0, 41, 42, 0, 53, 0, 0, 57, 61,
1176 50, 855, 417, 53, 854, 59, 169, 154, 152, 169,
1177 176, 324, 637, 636, 328, 0, 640, 0, 18, 20,
1178 89, 9, 9, 73, 72, 0, 0, 380, 0, 736,
1179 91, 734, 476, 0, 472, 471, 0, 607, 604, 831,
1180 845, 834, 710, 706, 0, 846, 600, 849, 851, 0,
1181 0, 847, 0, 848, 605, 830, 844, 833, 829, 858,
1182 841, 852, 842, 835, 840, 644, 0, 658, 0, 642,
1183 609, 611, 610, 0, 0, 0, 0, 0, 0, 600,
1184 619, 0, 447, 446, 434, 618, 0, 859, 614, 405,
1185 436, 448, 452, 0, 520, 659, 660, 856, 856, 661,
1186 533, 534, 536, 856, 539, 538, 0, 566, 660, 0,
1187 557, 0, 0, 569, 0, 121, 116, 0, 172, 570,
1188 573, 0, 0, 549, 0, 119, 450, 859, 825, 179,
1189 179, 664, 179, 859, 825, 600, 97, 600, 103, 902,
1190 901, 865, 865, 865, 0, 0, 0, 0, 0, 0,
1191 0, 0, 0, 417, 0, 0, 0, 335, 0, 333,
1192 334, 0, 247, 182, 305, 659, 660, 306, 307, 0,
1193 0, 477, 505, 0, 298, 297, 817, 816, 0, 295,
1194 294, 292, 293, 291, 290, 289, 287, 288, 285, 286,
1195 280, 281, 282, 283, 284, 278, 279, 0, 0, 0,
1196 0, 0, 0, 0, 229, 244, 0, 0, 228, 600,
1197 600, 0, 600, 597, 698, 0, 0, 0, 0, 0,
1198 362, 0, 366, 0, 368, 0, 0, 709, 708, 701,
1199 705, 704, 855, 416, 0, 0, 723, 0, 0, 859,
1200 392, 859, 711, 600, 825, 0, 710, 706, 0, 0,
1201 600, 0, 416, 0, 0, 0, 0, 171, 175, 309,
1202 169, 162, 160, 169, 0, 496, 508, 591, 0, 213,
1203 212, 211, 210, 274, 273, 0, 271, 270, 268, 269,
1204 267, 266, 265, 262, 263, 264, 260, 261, 255, 256,
1205 257, 258, 259, 253, 254, 459, 0, 0, 24, 0,
1206 0, 678, 0, 38, 44, 43, 55, 52, 53, 0,
1207 48, 0, 0, 54, 515, 0, 159, 169, 169, 157,
1208 170, 322, 17, 19, 69, 89, 440, 140, 146, 133,
1209 147, 148, 0, 126, 129, 0, 0, 0, 0, 735,
1210 729, 473, 0, 124, 0, 709, 705, 710, 706, 0,
1211 416, 622, 0, 600, 711, 0, 710, 706, 0, 329,
1212 0, 654, 0, 853, 0, 0, 861, 0, 0, 0,
1213 0, 444, 617, 616, 443, 176, 541, 540, 856, 856,
1214 856, 0, 600, 825, 565, 558, 570, 559, 452, 452,
1215 555, 556, 553, 554, 600, 825, 305, 659, 0, 439,
1216 117, 561, 571, 576, 577, 439, 439, 0, 0, 439,
1217 115, 562, 574, 439, 0, 452, 0, 550, 551, 552,
1218 452, 96, 0, 0, 0, 0, 102, 0, 859, 825,
1219 859, 825, 867, 866, 868, 310, 346, 224, 226, 0,
1220 352, 353, 0, 0, 0, 0, 334, 337, 0, 0,
1221 0, 0, 248, 0, 338, 340, 342, 242, 241, 231,
1222 0, 230, 246, 0, 0, 695, 693, 0, 696, 0,
1223 236, 0, 0, 179, 369, 0, 0, 0, 702, 707,
1224 703, 714, 600, 722, 720, 721, 712, 859, 0, 718,
1225 0, 0, 656, 657, 710, 706, 0, 358, 167, 169,
1226 169, 165, 596, 594, 494, 0, 458, 456, 305, 0,
1227 22, 30, 685, 56, 51, 58, 62, 60, 155, 153,
1228 68, 0, 131, 0, 135, 0, 137, 0, 139, 0,
1229 792, 0, 203, 737, 0, 730, 731, 0, 474, 0,
1230 709, 705, 710, 706, 0, 600, 627, 711, 0, 657,
1231 354, 355, 655, 356, 843, 837, 838, 836, 862, 863,
1232 0, 0, 0, 0, 0, 0, 441, 174, 0, 543,
1233 542, 537, 859, 0, 560, 470, 470, 859, 0, 0,
1234 0, 452, 452, 0, 452, 452, 0, 452, 0, 548,
1235 501, 0, 470, 600, 312, 311, 313, 600, 99, 0,
1236 105, 0, 0, 0, 0, 0, 0, 0, 480, 0,
1237 478, 251, 296, 0, 232, 233, 243, 245, 694, 692,
1238 699, 697, 0, 237, 0, 0, 361, 365, 367, 859,
1239 716, 600, 717, 163, 161, 272, 0, 461, 463, 132,
1240 130, 0, 0, 0, 0, 468, 0, 0, 305, 659,
1241 660, 738, 751, 754, 757, 762, 0, 0, 0, 0,
1242 0, 0, 0, 0, 306, 786, 794, 0, 813, 790,
1243 789, 788, 0, 746, 0, 0, 417, 0, 725, 744,
1244 750, 724, 745, 787, 0, 732, 475, 709, 705, 0,
1245 711, 334, 0, 860, 445, 0, 535, 112, 600, 564,
1246 568, 114, 600, 452, 452, 585, 470, 305, 659, 0,
1247 572, 578, 579, 439, 439, 470, 470, 0, 470, 575,
1248 490, 563, 859, 859, 600, 600, 240, 0, 0, 0,
1249 0, 479, 0, 0, 234, 700, 370, 311, 719, 859,
1250 0, 134, 136, 138, 799, 793, 797, 0, 733, 728,
1251 206, 806, 808, 809, 0, 0, 742, 0, 0, 0,
1252 769, 771, 772, 773, 0, 0, 0, 0, 0, 0,
1253 0, 807, 0, 388, 814, 0, 747, 386, 439, 0,
1254 387, 0, 439, 0, 0, 0, 204, 727, 726, 748,
1255 785, 784, 710, 706, 0, 0, 864, 442, 859, 859,
1256 584, 581, 583, 0, 0, 452, 452, 452, 580, 582,
1257 567, 0, 95, 101, 859, 859, 348, 349, 350, 351,
1258 481, 599, 715, 462, 0, 798, 469, 195, 0, 739,
1259 752, 741, 0, 0, 0, 0, 0, 765, 0, 774,
1260 0, 783, 39, 145, 34, 145, 0, 35, 795, 0,
1261 384, 385, 0, 0, 0, 383, 205, 742, 416, 111,
1262 113, 452, 452, 590, 470, 470, 492, 0, 491, 486,
1263 98, 104, 0, 800, 202, 0, 417, 0, 742, 0,
1264 755, 743, 729, 811, 758, 0, 0, 0, 0, 770,
1265 782, 40, 36, 0, 0, 749, 589, 587, 586, 588,
1266 0, 0, 503, 0, 0, 0, 196, 439, 740, 207,
1267 753, 209, 0, 812, 0, 810, 763, 767, 766, 796,
1268 818, 818, 0, 489, 488, 482, 86, 89, 804, 805,
1269 801, 452, 729, 193, 0, 0, 199, 0, 198, 742,
1270 0, 0, 0, 819, 820, 0, 775, 0, 487, 0,
1271 208, 0, 756, 759, 764, 768, 0, 0, 0, 0,
1272 0, 818, 0, 485, 0, 484, 200, 194, 0, 0,
1273 823, 0, 778, 821, 0, 0, 776, 483, 0, 0,
1274 822, 0, 0, 0, 0, 0, 201, 760, 824, 780,
1275 781, 0, 777, 0, 0, 761, 779, 0, 0, 0
1278 static const short yydefgoto
[] = { 1728,
1279 441, 2, 442, 165, 750, 335, 181, 3, 4, 37,
1280 717, 378, 1400, 718, 844, 1401, 1402, 398, 1500, 722,
1281 41, 845, 407, 728, 1037, 729, 730, 731, 43, 172,
1282 173, 44, 460, 184, 180, 45, 46, 859, 1160, 865,
1283 1162, 47, 847, 848, 185, 186, 461, 757, 1064, 1065,
1284 673, 1066, 235, 48, 1049, 1048, 740, 737, 1231, 1230,
1285 994, 991, 136, 1047, 49, 237, 50, 988, 587, 336,
1286 337, 338, 339, 1403, 1666, 1560, 1668, 1606, 1709, 1264,
1287 1641, 1663, 371, 980, 340, 625, 939, 341, 372, 373,
1288 343, 344, 362, 52, 256, 723, 423, 154, 53, 54,
1289 345, 582, 346, 347, 348, 349, 462, 350, 1404, 520,
1290 646, 351, 1405, 56, 218, 476, 352, 219, 489, 220,
1291 198, 211, 60, 503, 521, 1426, 813, 1296, 199, 212,
1292 61, 531, 814, 62, 63, 713, 714, 715, 1377, 467,
1293 902, 903, 1657, 1658, 1633, 1599, 1542, 64, 678, 364,
1294 529, 1451, 1600, 1182, 674, 65, 66, 67, 68, 69,
1295 243, 70, 71, 245, 831, 832, 833, 834, 852, 1147,
1296 853, 854, 855, 1132, 1142, 1133, 1441, 1134, 1135, 1442,
1297 1443, 675, 676, 677, 626, 970, 354, 192, 501, 494,
1298 201, 73, 74, 75, 142, 143, 157, 77, 132, 355,
1299 356, 357, 79, 358, 81, 836, 123, 124, 125, 536,
1300 105, 82, 359, 944, 945, 965, 960, 649, 1408, 1409,
1301 1265, 1266, 1267, 761, 1410, 1071, 1411, 1485, 1609, 1563,
1302 1564, 1412, 1413, 1588, 1486, 1610, 1487, 1643, 1488, 1645,
1303 1699, 1724, 1489, 1670, 1619, 1671, 1569, 463, 758, 1375,
1304 1414, 1503, 1624, 1476, 1477, 1555, 1636, 1608, 1604, 1415,
1305 1615, 1506, 909, 1673, 1674, 1675, 1702, 480, 966, 795,
1306 1096, 1288, 482, 483, 484, 791, 485, 148, 793, 800,
1307 1290, 1291, 555, 84, 85
1310 static const short yypact
[] = { 130,
1311 156,-32768,-32768, 4151,-32768, 94, 37, 244, 251, 159,
1312 182,-32768,-32768, 1746,-32768, 152, 246, 268,-32768,-32768,
1313 -32768, 1423, 1547, 2462, 321,-32768, 332, 360,-32768, 2363,
1314 2363,-32768, 3048,-32768, 4151, 327,-32768,-32768, 379,-32768,
1315 437, 4320,-32768,-32768, 416, 877, 520, 477, 534,-32768,
1316 -32768,-32768,-32768, 399, 2057,-32768, 5440,-32768, 1217, 676,
1317 -32768, 577,-32768,-32768, 2122, 710,-32768, 550,-32768,-32768,
1318 568, 6081,-32768,-32768,-32768, 985,-32768,-32768,-32768, 2423,
1319 -32768,-32768, 2053, 3983, 555,-32768,-32768, 11853,-32768, 11853,
1320 -32768, 11853,-32768,-32768,-32768, 244, 251, 332, 629,-32768,
1321 573, 534,-32768, 718,-32768, 279, 11944, 11944, 621,-32768,
1322 -32768,-32768,-32768,-32768, 596, 665, 476, 547, 656, 672,
1323 692,-32768,-32768, 1842,-32768, 984, 244, 251,-32768, 332,
1324 629,-32768, 1528, 2151, 684, 7804, 11853,-32768, 11853, 3494,
1325 3728,-32768,-32768, 3433, 3821, 3728,-32768, 1752, 4168, 4168,
1326 3048, 674, 679,-32768, 399, 735, 683, 687,-32768,-32768,
1327 799,-32768, 706,-32768, 4926,-32768,-32768, 321, 4517, 725,
1328 -32768,-32768,-32768, 416, 7212, 8001, 790, 765,-32768,-32768,
1329 740, 577, 832, 122, 292, 807,-32768,-32768,-32768, 6640,
1330 10259,-32768,-32768, 5804, 5804, 4260, 985, 854,-32768,-32768,
1331 418,-32768,-32768, 3515,-32768,-32768,-32768,-32768,-32768, 1217,
1332 883,-32768, 577, 985,-32768,-32768,-32768, 2653, 1217,-32768,
1333 577,-32768, 7212,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1334 -32768,-32768,-32768, 795,-32768, 534,-32768, 577, 2016, 2029,
1335 -32768,-32768, 550,-32768,-32768,-32768,-32768, 1111, 279,-32768,
1336 308, 1084,-32768, 89,-32768,-32768,-32768,-32768,-32768, 5924,
1337 -32768, 629,-32768,-32768,-32768,-32768, 3662,-32768, 784, 794,
1338 -32768,-32768,-32768,-32768, 819,-32768,-32768,-32768,-32768,-32768,
1339 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1340 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 821,-32768,-32768,
1341 1111, 6081, 428,-32768, 802,-32768,-32768, 12673, 12764, 12855,
1342 12855, 843,-32768,-32768,-32768,-32768,-32768, 847, 879, 884,
1343 887, 889, 875, 12035, 2103, 12855,-32768,-32768, 12855,-32768,
1344 -32768, 12855, 9071,-32768, 12855, 426, 906,-32768, 12855,-32768,
1345 12126,-32768, 4315, 301, 2540, 2158, 12217,-32768, 957, 1025,
1346 -32768, 671, 2721, 5994,-32768, 304,-32768, 1741, 3385, 426,
1347 426, 11853, 7804, 780,-32768, 2103,-32768,-32768, 12309, 873,
1348 919,-32768, 12902, 886, 890, 896, 2166, 706,-32768,-32768,
1349 -32768,-32768,-32768,-32768,-32768,-32768, 665, 476, 547, 2103,
1350 656, 672, 932, 692,-32768, 954,-32768, 458, 244, 251,
1351 -32768,-32768,-32768,-32768,-32768,-32768, 8150,-32768, 7212, 8596,
1352 1927,-32768, 426, 673,-32768,-32768, 4716,-32768, 940, 948,
1353 -32768,-32768,-32768, 3728,-32768,-32768, 3728,-32768, 917,-32768,
1354 -32768,-32768, 735, 735, 735,-32768,-32768,-32768, 5924, 99,
1355 923, 935,-32768,-32768,-32768,-32768, 7804,-32768, 885, 916,
1356 -32768,-32768, 799,-32768, 577,-32768,-32768,-32768,-32768, 112,
1357 -32768,-32768,-32768,-32768, 9622, 12309,-32768,-32768, 939,-32768,
1358 919, 941, 12902, 365, 1908, 8001, 1908, 4907, 3029, 964,
1359 -32768, 414, 7008, 975, 983, 802,-32768, 955, 312, 105,
1360 4574, 6322,-32768,-32768, 6322,-32768, 7110, 7110, 4260, 6833,
1361 969,-32768, 577, 7212,-32768, 10350,-32768,-32768, 7617, 2653,
1362 1217, 7212,-32768, 577,-32768,-32768, 577, 2653,-32768, 1038,
1363 -32768, 11853, 795,-32768,-32768, 2016,-32768, 1913, 4668, 1111,
1364 577,-32768,-32768, 994, 1003, 1024, 1006,-32768,-32768,-32768,
1365 -32768, 779,-32768, 320, 973, 980,-32768,-32768, 1111,-32768,
1366 -32768, 247,-32768, 576,-32768, 11853, 12309, 9071,-32768, 9071,
1367 -32768,-32768,-32768, 12309, 11944, 7023, 7023, 7023, 7023, 4315,
1368 -32768,-32768,-32768,-32768, 987, 12400, 12400, 9071, 990, 167,
1369 997, 1048, 1007,-32768,-32768,-32768,-32768, 11853,-32768, 9162,
1370 9071,-32768, 12035, 12035, 9713, 12035, 12035, 12035, 12035, 12035,
1371 12035, 12035, 12035, 12035, 12035, 12035, 12035, 12035, 12035, 12035,
1372 12035, 12035, 12035,-32768, 12309,-32768,-32768,-32768,-32768,-32768,
1373 12309, 12309, 12309, 11944, 4087, 404, 912, 10441,-32768,-32768,
1374 -32768, 1062, 1084, 1113, 388, 439, 482, 3832, 576,-32768,
1375 3192, 3192, 2277, 10532, 1030, 1076,-32768,-32768, 587, 11121,
1376 1867,-32768, 537, 279,-32768,-32768, 12309,-32768,-32768,-32768,
1377 -32768,-32768, 62, 555,-32768,-32768, 426,-32768, 7212, 2393,
1378 -32768,-32768, 1064,-32768, 1018, 1070,-32768, 780, 932, 12973,
1379 -32768, 9986, 10077, 12309, 12309, 9713, 12309, 12309, 12309, 12309,
1380 12309, 12309, 12309, 12309, 12309, 12309, 12309, 12309, 12309, 12309,
1381 12309, 12309, 12309, 12309, 12309,-32768,-32768,-32768,-32768,-32768,
1382 -32768,-32768, 68,-32768, 1039, 1036, 706, 458, 1078, 11853,
1383 -32768, 1086,-32768,-32768, 2151, 1621, 1114, 188, 1087, 1088,
1384 -32768,-32768, 5097, 2122,-32768, 1090,-32768,-32768,-32768,-32768,
1385 -32768,-32768,-32768,-32768, 1052, 1055,-32768, 1098,-32768,-32768,
1386 416,-32768,-32768,-32768,-32768, 100, 1634, 1101, 1048,-32768,
1387 -32768,-32768,-32768, 5217, 12973,-32768, 1061,-32768,-32768,-32768,
1388 -32768,-32768, 2405, 2405, 6302,-32768,-32768,-32768,-32768, 3515,
1389 2053,-32768, 11213,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1390 -32768, 983, 1105,-32768,-32768,-32768, 11489, 1076, 507,-32768,
1391 -32768,-32768,-32768, 6322, 6322, 7865, 7865, 6833, 537,-32768,
1392 -32768, 7617,-32768, 1107,-32768,-32768, 1063, 105,-32768, 2653,
1393 -32768,-32768, 577, 1099,-32768, 476, 547,-32768,-32768, 692,
1394 1120,-32768,-32768, 293,-32768,-32768, 2293,-32768, 788, 1163,
1395 -32768, 12309, 5559,-32768, 5559, 131, 131, 349, 512, 2892,
1396 7219, 69, 4778,-32768, 201, 131,-32768, 105, 8523, 11853,
1397 11853,-32768, 11853, 105, 8523,-32768,-32768,-32768,-32768,-32768,
1398 -32768, 871, 871, 871, 1456, 426, 1079, 1081, 1082, 12928,
1399 1085, 1091, 1102, 2781, 1116, 1125, 1126,-32768, 1095,-32768,
1400 -32768, 1096,-32768,-32768, 1133, 544, 750, 503, 269, 12309,
1401 1143,-32768, 1151, 1104, 4315, 4315,-32768,-32768, 1150, 3219,
1402 7860, 8164, 6898, 4606, 3237, 3082, 1926, 1926, 2626, 2626,
1403 976, 976, 488, 488, 488,-32768,-32768, 1108, 1119, 1121,
1404 1124, 1127, 1134, 7023, 404,-32768, 9622, 12309,-32768,-32768,
1405 -32768, 12309,-32768,-32768, 1135, 12855, 1130, 1156, 1172, 1205,
1406 -32768, 12309,-32768, 12309,-32768, 12309, 1274, 6023,-32768,-32768,
1407 6023,-32768, 80, 1274, 1147, 1149,-32768, 1148, 7023, 105,
1408 -32768, 105, 6189,-32768, 8523, 10623, 11305, 11305, 4425, 1154,
1409 12126, 1157, 3127, 4839, 3385, 1721, 1160,-32768,-32768,-32768,
1410 -32768,-32768,-32768,-32768, 12309,-32768, 2103,-32768, 1171,-32768,
1411 12973,-32768, 12973, 12973, 12973, 1206, 8800, 5600, 10647, 5869,
1412 6344, 5132, 6543, 3109, 3109, 3109, 2965, 2965, 1295, 1295,
1413 900, 900, 900,-32768,-32768, 2166, 1164, 12491,-32768, 1178,
1414 1220,-32768, 426,-32768,-32768,-32768,-32768,-32768, 2264, 8150,
1415 -32768, 7023, 11853,-32768, 898, 12035,-32768,-32768,-32768,-32768,
1416 -32768,-32768,-32768,-32768,-32768, 416,-32768,-32768, 665,-32768,
1417 656, 672, 12309, 1228,-32768, 521, 543, 564, 1048,-32768,
1418 85,-32768, 169,-32768, 3322, 3446, 3446, 3602, 3602, 6302,
1419 3799, 374, 3515,-32768, 4986, 6548, 11397, 11397, 8885, 412,
1420 1182, 575, 2260,-32768, 9622, 9256,-32768, 7023, 1302, 1302,
1421 3172,-32768,-32768,-32768, 1229,-32768,-32768,-32768,-32768,-32768,
1422 -32768, 2024,-32768, 8523, 12973,-32768, 1891,-32768, 577, 577,
1423 -32768,-32768,-32768,-32768,-32768, 8523, 711, 754, 12309, 1038,
1424 -32768, 1233,-32768,-32768,-32768, 184, 217, 2423, 3821, 375,
1425 131, 1235,-32768, 508, 1237, 577, 5688,-32768,-32768,-32768,
1426 577,-32768, 1188, 426, 426, 426,-32768, 1194, 105, 8523,
1427 105, 8523,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 7023,
1428 -32768,-32768, 1210, 1211, 1221, 1222, 1052,-32768, 8601, 9622,
1429 9349, 1201,-32768, 12035,-32768,-32768,-32768,-32768,-32768, 605,
1430 1212,-32768,-32768, 1216, 177, 535, 535, 1208, 535, 12309,
1431 -32768, 12855, 1317, 11853,-32768, 1226, 1227, 1231,-32768,-32768,
1432 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 105, 1232,-32768,
1433 1225, 3127,-32768,-32768, 5346, 5346, 6785,-32768,-32768,-32768,
1434 -32768,-32768, 12973,-32768,-32768, 12309,-32768,-32768, 206, 1236,
1435 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 4315,-32768,-32768,
1436 -32768, 1239,-32768, 1051,-32768, 12309,-32768, 12309,-32768, 12309,
1437 -32768, 2103,-32768,-32768, 6439, 1304,-32768, 9440,-32768, 3799,
1438 3446, 3446, 5457, 5457, 6903,-32768, 597, 4986, 1250, 208,
1439 599, 610, 660, 287,-32768,-32768,-32768,-32768,-32768,-32768,
1440 207, 5338, 5338, 2861, 2861, 9622,-32768,-32768, 1913,-32768,
1441 -32768,-32768, 105, 1256,-32768, 1276, 1276, 105, 1264, 12309,
1442 12309, 8398, 577, 3329, 577, 577, 6719, 577, 5329,-32768,
1443 -32768, 5811, 1276,-32768,-32768, 1288,-32768,-32768,-32768, 1266,
1444 -32768, 1273, 1277, 12309, 12309, 12309, 12309, 9622,-32768, 1319,
1445 -32768,-32768, 4315, 12309,-32768, 605,-32768,-32768,-32768,-32768,
1446 -32768,-32768, 1275,-32768, 1340, 426,-32768,-32768,-32768, 105,
1447 -32768,-32768,-32768,-32768,-32768, 12973, 12309,-32768,-32768,-32768,
1448 -32768, 1284, 1290, 1298, 1307,-32768, 931, 213, 1345, 810,
1449 856,-32768,-32768,-32768,-32768,-32768, 12309, 1346, 1349, 1351,
1450 11580, 606, 2103, 756, 715,-32768,-32768, 11671, 1404,-32768,
1451 -32768,-32768, 1354,-32768, 7438, 7610, 8259, 7367,-32768,-32768,
1452 1400,-32768,-32768,-32768, 10732,-32768,-32768, 7824, 7824, 537,
1453 7970, 664, 7023,-32768,-32768, 9622,-32768,-32768,-32768,-32768,
1454 -32768,-32768,-32768, 8398, 8398,-32768, 1276, 745, 858, 12309,
1455 -32768,-32768,-32768, 1038, 1038, 1276, 1276, 779, 1276,-32768,
1456 -32768,-32768, 105, 105,-32768,-32768,-32768, 1312, 1313, 1315,
1457 1323,-32768, 9622, 1314,-32768,-32768,-32768,-32768,-32768, 105,
1458 1325,-32768,-32768,-32768,-32768, 1307,-32768, 2103,-32768,-32768,
1459 -32768,-32768,-32768,-32768, 580, 580, 1048, 1342, 1343, 7648,
1460 -32768,-32768,-32768,-32768, 1376, 12309, 1379, 1377, 1389, 2306,
1461 2334,-32768, 1048,-32768,-32768, 1357,-32768,-32768, 1038, 958,
1462 -32768, 961, 1038, 11762, 974, 242,-32768,-32768,-32768,-32768,
1463 -32768,-32768, 8040, 8040, 8353, 2506,-32768,-32768, 105, 105,
1464 -32768,-32768,-32768, 12309, 12309, 8398, 577, 577,-32768,-32768,
1465 -32768, 8690,-32768,-32768, 105, 105,-32768,-32768,-32768,-32768,
1466 -32768,-32768,-32768,-32768, 1358,-32768,-32768,-32768, 11944,-32768,
1467 -32768,-32768, 1439, 11028, 8980, 11944, 12309,-32768, 10840,-32768,
1468 1396,-32768,-32768, 1403,-32768, 1389, 2306,-32768,-32768, 799,
1469 -32768,-32768, 12582, 12582, 9531,-32768,-32768, 1048, 2506,-32768,
1470 -32768, 8398, 8398,-32768, 1276, 1276,-32768, 10168,-32768,-32768,
1471 -32768,-32768, 8536,-32768,-32768, 1355, 111, 7212, 1048, 10934,
1472 -32768,-32768, 85,-32768,-32768, 1398, 1356, 12951, 10840,-32768,
1473 -32768,-32768,-32768, 1307, 87,-32768,-32768,-32768,-32768,-32768,
1474 1360, 8749, 1369, 1366, 1367, 1048,-32768, 1038,-32768,-32768,
1475 -32768,-32768, 593,-32768, 9804,-32768,-32768,-32768,-32768, 1307,
1476 1472, 1472, 1424,-32768,-32768,-32768, 520, 416,-32768,-32768,
1477 -32768, 577, 85,-32768, 12309, 1429,-32768, 1440,-32768, 1048,
1478 10840, 1391, 622, 1443,-32768, 186,-32768, 163,-32768, 1435,
1479 -32768, 1394,-32768,-32768,-32768,-32768, 12309, 799, 1445, 1472,
1480 799, 1472, 1447,-32768, 112,-32768,-32768,-32768, 9895, 1401,
1481 957, 261,-32768,-32768, 270, 662,-32768,-32768, 9622, 1402,
1482 -32768, 799, 1451, 1457, 799, 1459,-32768,-32768, 957,-32768,
1483 -32768, 281,-32768, 10934, 1461,-32768,-32768, 1517, 1523,-32768
1486 static const short yypgoto
[] = {-32768,
1487 1524,-32768, -331, 1359, -380, -1, 9, 1525,-32768, 1491,
1488 -32768,-32768, 415,-32768, 513,-32768, 515,-32768, 29, 817,
1489 52, 22,-32768,-32768, -663,-32768,-32768, 498, 54, 1371,
1490 1106, 1378, -751, -111, -169, 10, 48,-32768,-32768,-32768,
1491 -32768,-32768, 705,-32768,-32768,-32768,-32768,-32768,-32768, 305,
1492 -2,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1493 -32768,-32768, 1464, -704, 7613, 1332, 67, -617, -159, -42,
1494 1433, -548,-32768, 1258,-32768, 88,-32768, -1440,-32768, -1497,
1495 -148,-32768, 1731, 516, -266,-32768, -873, 7436, 5570, 6893,
1496 1442, 4981, 1280, -334, -55, -73, 203, -121, -70, 197,
1497 -32768,-32768,-32768, -345,-32768, -146,-32768,-32768, -1308, -54,
1498 -337, 2771, 41, 1118, -140, 47, 96, -202, -4, -65,
1499 -171, -167, 31, -44, 185,-32768, -387,-32768,-32768,-32768,
1500 -32768,-32768, 552, 1297, 171,-32768, 554,-32768,-32768, -998,
1501 -436, 828,-32768,-32768,-32768,-32768,-32768, -20,-32768,-32768,
1502 -32768,-32768,-32768,-32768, 920, -384,-32768,-32768,-32768,-32768,
1503 -32768,-32768,-32768, 1352,-32768, 298, 491,-32768,-32768,-32768,
1504 453, -776,-32768,-32768,-32768,-32768,-32768,-32768, 759,-32768,
1505 294, 936,-32768, 625, 998, 1680, 24, 1428, 1940, 1344,
1506 -32768, -511,-32768, 23, 1697, 1173, -131, 408, -101, 5492,
1507 1281,-32768, 6698, 2501, 2878, -17, -102,-32768, 1508, -52,
1508 -32768, 6046, 3777, -351,-32768, 2483, -61,-32768,-32768, 225,
1509 -32768,-32768, 370, -53, -369,-32768,-32768,-32768,-32768, -1473,
1510 -32768, -1306, -1471,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1511 -32768,-32768,-32768,-32768,-32768,-32768,-32768, -38,-32768,-32768,
1512 -32768,-32768,-32768, 20, -1391,-32768,-32768, -57,-32768,-32768,
1513 -32768,-32768, -656, -1465,-32768, -45, -1546, -577, -109, 855,
1514 -32768,-32768,-32768,-32768, -396,-32768, -386, -186,-32768, 380,
1515 223,-32768, -418,-32768, -196
1519 #define YYLAST 13058
1522 static const short yytable
[] = { 59,
1523 197, 182, 35, 449, 448, 122, 1069, 511, 450, 257,
1524 735, 101, 36, 661, 440, 651, 835, 425, 428, 115,
1525 736, 178, 734, 397, 660, 42, 303, 72, 766, 1006,
1526 59, 250, 405, 35, 437, 1050, 103, 59, 222, 894,
1527 169, 559, 561, 36, 55, 530, 716, 360, 989, 361,
1528 57, 174, 210, 141, 146, 537, 42, 528, 72, 403,
1529 404, 1192, 234, 42, 751, 72, 1116, 248, 1118, 510,
1530 1044, 396, 177, 257, 592, 55, 1148, 402, 518, 301,
1531 481, 57, 175, 353, 1556, 353, 735, 353, 176, 1504,
1532 762, 770, 1612, 170, 413, 171, 792, 630, 549, 58,
1533 313, 1519, 353, 353, 209, 264, 1145, 302, 1522, 630,
1534 630, 88, 759, 540, 1626, 1644, 26, 1262, 216, 217,
1535 197, 393, 457, 1051, 14, 1617, 822, 1026, 367, -1,
1536 58, 411, 353, 257, 353, 1639, 538, 58, 1642, 771,
1537 651, 1651, 772, 857, 1705, 421, 254, 20, 178, 1652,
1538 549, 798, 516, 519, 86, -2, 23, 15, 640, 72,
1539 59, -439, 664, 1694, 59, 1681, 799, 169, 1722, 514,
1540 760, 210, 424, 427, 445, 1027, 409, 1146, 174, 300,
1541 -380, 539, 410, 408, 458, 478, 1676, 893, 72, 222,
1542 42, -439, 72, 1263, 1653, -439, 1685, 222, 222, 177,
1543 665, 666, 87, 797, 1669, 55, 748, 1057, -389, 175,
1544 15, 57, 892, 479, 614, 176, 459, 492, 495, -328,
1545 170, -380, 171, 209, 640, 458, 1706, 222, 1268, 155,
1546 94, 58, 225, 93, -328, 153, 523, 525, -328, -439,
1547 1691, -390, -389, 15, 107, 1067, -389, 1040, 1692, 535,
1548 127, 128, 1642, 741, 742, -328, 1614, 459, 1556, 615,
1549 58, 1149, 1620, 1041, 58, 1367, 1423, -328, -328, 797,
1550 -328, 264, -328, 1480, -319, -390, 636, 1269, -389, -390,
1551 222, 1153, 8, 9, 1348, 477, 1229, 1158, 627, 1232,
1552 648, 652, 655, 1693, 635, 366, 724, 248, 89, 1110,
1553 -328, -328, 1480, 130, 131, 91, 756, 1430, 1431, 1150,
1554 225, -390, 1649, 1368, 1424, -328, 1345, 661, 90, 667,
1555 1712, 1481, 571, 138, 1452, 92, 225, 253, 353, 1712,
1556 1111, -145, 222, 544, -304, 130, 131, 719, 108, 464,
1557 1712, 301, 1039, 1249, 1250, 155, 155, 155, 614, 248,
1558 1587, 656, 426, 429, 738, 532, 465, 353, 670, 640,
1559 109, 304, 91, 679, 1686, 425, 428, 868, 1713, 302,
1560 820, 1055, 1056, 1121, 712, 1244, 770, 1714, 437, -304,
1561 -304, 264, 92, 225, 466, 1030, 72, 679, 1725, 1070,
1562 222, 225, 155, 615, -304, 135, 657, 1219, 153, -120,
1563 533, 15, 733, 669, 797, 210, 137, 1122, 225, 410,
1564 668, 1123, 869, 778, 138, 648, 652, 655, 38, 161,
1565 776, -621, 782, 784, 771, 786, 178, 772, 727, -855,
1566 479, 127, 128, -120, 139, 951, 537, -120, 1533, 162,
1567 158, 300, 59, 1124, 516, 519, 189, 1539, 1540, 38,
1568 1541, 936, 516, 1163, 1164, 1165, 753, 222, 58, -326,
1569 261, 399, 400, 10, 519, 189, -621, -621, 937, -120,
1570 72, 210, 1465, 787, 248, 823, 788, 177, 733, 824,
1571 952, -621, 26, 519, 130, 131, 953, 175, 1298, 222,
1572 222, 190, 191, 176, 1247, 163, 938, 222, 550, 21,
1573 1193, 585, 477, 586, -326, -326, 479, 990, 551, 222,
1574 190, 506, 26, 876, 27, 262, 39, 353, 40, -319,
1575 804, 805, 179, 825, 59, 1364, 1365, 843, 222, 955,
1576 382, 954, -118, 164, 15, 581, 1304, 187, 127, 128,
1577 8, 9, 58, 540, 183, 1148, 32, 39, 1309, 40,
1578 90, 353, 72, 353, 1097, 353, 158, 158, 158, 1125,
1579 353, 884, 884, 884, 884, -144, -118, 627, 1255, 850,
1580 -118, 612, 613, 353, 956, 851, 846, 137, 477, 127,
1581 128, 1054, 1330, 353, 1332, 366, 353, 901, 188, 26,
1582 1257, 130, 131, 130, 131, 849, 1629, 1630, 89, 1098,
1583 835, 383, -118, 158, 1126, 940, -142, 18, 95, 110,
1584 111, 1259, 244, 1256, 992, 941, 724, 253, 90, 353,
1585 301, 92, -646, 1036, 58, 225, 246, 1558, 942, 304,
1586 949, 365, 130, 131, 974, 1258, 426, 746, 733, 661,
1587 1664, 1107, 1108, 735, -620, 478, -305, 1112, 302, 222,
1588 660, 1035, 936, 736, 379, 734, 1260, -303, 1285, 1287,
1589 380, 225, 112, 113, 958, 961, 479, -646, -646, 937,
1590 225, 652, 1559, 479, 127, 128, 264, 1033, 784, 975,
1591 976, 549, -646, 138, 1688, 1665, 1496, 225, 815, -620,
1592 -620, -305, -305, 155, 155, 155, 821, 938, 1344, 1261,
1593 426, 429, -303, -303, -620, 472, -305, -647, 122, 257,
1594 384, -328, 222, 377, 592, 353, 1166, -303, 640, 381,
1595 300, 8, 9, 1038, 1715, 26, 385, 130, 131, 1689,
1596 137, 1045, 588, 454, 397, 223, 224, 261, 477, 1068,
1597 10, 641, 1067, 1339, 1341, 477, 386, 661, 585, 481,
1598 586, 642, -647, -647, 516, 481, -328, -328, 1282, 406,
1599 581, 901, 581, 643, 644, 18, 366, -647, 241, 1716,
1600 733, -322, 242, 1310, 130, 131, 21, 1502, 478, 426,
1601 889, -319, 95, 110, 111, 88, 430, 835, 664, 137,
1602 438, 431, 432, 581, -641, 1131, 1076, 1077, 479, 222,
1603 129, 1119, 1120, 264, 91, 433, 479, 1534, 89, 307,
1604 26, 1151, -143, 1499, -7, 434, 1311, 1154, 1155, 88,
1605 1156, 164, 652, 32, 92, 452, 866, 435, 90, 1099,
1606 1100, 1341, 453, 91, 456, 1113, 112, 113, 59, 672,
1607 59, 843, 91, 843, 1349, 1350, 210, 1352, 59, 223,
1608 451, 843, 982, 92, 733, 353, 353, 798, 353, 1425,
1609 733, 437, 92, 222, 89, 481, 72, 468, 72, 522,
1610 477, 867, 1483, 1243, 127, 128, 72, 545, 477, 540,
1611 1114, 547, 479, 850, 90, 1117, 1251, 546, 479, 851,
1612 846, 851, 846, 850, 557, 1209, 1284, 1130, 1140, 851,
1613 846, 1462, 1209, 15, 158, 158, 158, -439, 1616, 849,
1614 91, 849, 89, 504, 505, 127, 128, 849, 1484, 849,
1615 1535, 1209, 1299, 1300, 1301, 26, 1695, 130, 131, 884,
1616 92, 548, 90, 1195, -184, 564, -439, -439, 58, 565,
1617 58, 550, 512, 513, 504, 754, 425, 428, 58, 137,
1618 -184, 551, -184, 566, 477, 425, 428, -52, 567, 437,
1619 477, 568, -52, 569, 884, 588, 26, 630, 130, 131,
1620 733, 155, 522, -52, 478, 512, 755, 153, 682, 155,
1621 681, 767, 940, 704, 705, 1091, 116, 117, 118, 1528,
1622 1478, 1479, 941, 706, 1325, 1326, 1327, 707, 479, 982,
1623 958, 961, 479, 708, 481, 942, 720, 264, 721, 426,
1624 746, 15, 257, 1209, 90, -439, 481, 504, 1581, 1209,
1625 512, 1582, 92, 712, 745, 631, 1551, 261, 399, 400,
1626 10, -6, 632, 504, 1586, 733, 1038, 884, 353, -854,
1627 119, 120, 1710, 749, -439, -439, 768, 794, 769, -439,
1628 481, 1058, 481, 1059, 826, 827, 609, 610, 611, 612,
1629 613, 727, 1131, 479, 15, 796, 21, 257, 860, 798,
1630 477, 785, 877, 633, 477, 733, 811, 861, 862, 26,
1631 863, 27, 262, 870, 478, 1313, 95, 110, 111, 534,
1632 871, 1315, 1316, 884, 888, 1313, 1318, 890, 1060, 1316,
1633 437, 1271, 1272, 479, 891, 26, 760, 1061, 1062, 733,
1634 1271, 1272, 479, 634, 893, 264, 948, 1562, 216, 217,
1635 950, 733, 969, 971, 14, 21, 996, 225, 995, 997,
1636 928, 1028, 1032, 1579, 225, 477, 929, 479, 931, 932,
1637 112, 113, 59, 1063, 1029, 843, 1034, 20, 437, 479,
1638 20, 1042, 1043, 225, 1046, 733, 23, 733, 1053, -322,
1639 1209, 1356, 1052, 458, 1130, 884, 127, 128, 1074, 1095,
1640 72, 1102, 987, 1103, 1106, 477, 76, 1173, 1340, 1109,
1641 426, 889, 158, 479, 477, 479, 1167, 850, 1168, 1169,
1642 158, 1174, 1171, 851, 846, -141, 1468, 1104, 1172, 353,
1643 1175, 1176, 1177, 1178, 254, 1180, 735, 76, 1209, 477,
1644 1181, 1183, 1184, 849, 76, 1185, 1635, 26, 1562, 130,
1645 131, 477, 733, 215, 216, 217, 1186, 202, 1200, 214,
1646 14, 1187, 1188, 1510, 1189, 1515, 1068, 1152, 1512, 1562,
1647 1202, 1190, 58, 1157, 1203, 225, 1204, 18, 958, 961,
1648 479, 225, 1205, 20, 1212, 477, 1213, 477, 1214, 1376,
1649 1407, 1223, 23, 1398, 1224, 1340, 1661, 1228, 1236, 798,
1650 733, 1238, 1717, 1399, 155, 155, 155, 127, 128, 1235,
1651 1242, 426, 429, 155, 155, 155, 1241, 1254, 72, 1280,
1652 426, 1279, 1314, 1297, 1319, 1324, 1418, 1419, 479, 1320,
1653 1562, 1328, 1334, 1335, 18, 8, 9, 475, 412, 1342,
1654 247, 1406, 415, 1336, 1337, 1099, 1100, 59, 1351, 1346,
1655 843, 640, 477, 1347, 1355, 762, 140, 140, 26, 156,
1656 130, 131, 18, 1357, 1358, 1363, 1262, 76, 1359, 1362,
1657 465, 76, -685, 1369, 641, 72, 1370, 202, 214, 1215,
1658 1509, 1216, 1509, 213, 642, 221, 26, 1422, 130, 131,
1659 58, 238, 850, 1429, 370, 375, 643, 644, 851, 846,
1660 477, 1433, 1292, 1455, 1105, 701, 702, 703, 704, 705,
1661 1456, 1463, 1293, 544, 1457, 1466, 222, 1467, 849, 1497,
1662 1498, 1472, 225, 1407, 1294, 202, 1398, 1473, 200, 1537,
1663 1538, 210, 1475, 1407, 549, 1474, 1398, 1482, 1491, 1492,
1664 1407, 1493, 1505, 1398, 1507, 1520, 1399, 58, 884, 1547,
1665 1548, 72, 1549, 1399, 1552, 95, 110, 111, 426, 746,
1666 1550, 72, 1554, 1625, 1565, 1566, 1570, 140, 72, 1572,
1667 225, 380, 140, 1573, 1406, 156, 156, 156, 488, 1580,
1668 1603, 425, 428, 1194, 1406, 1611, 1621, 1622, 1646, 127,
1669 128, 1406, 1637, 1647, 1209, 225, 1654, 1206, 514, 1207,
1670 1656, 1208, 213, 1659, 1660, 1557, 426, 746, 455, 112,
1671 113, 114, 1672, 1687, 1677, 158, 158, 158, 1679, 1683,
1672 491, 491, 500, 58, 158, 158, 158, 1575, 1578, 1697,
1673 1684, 1698, 1690, 58, 366, 1703, 221, 1707, 1711, 1718,
1674 58, 1720, 130, 131, 517, 221, 1729, 1721, 200, 1723,
1675 733, 1727, 1730, 1, 475, 160, 5, 1209, 447, 1577,
1676 261, 399, 400, 10, 1031, 671, 543, 1245, 1329, 446,
1677 1331, 1701, 444, 1240, 1701, 1678, 1418, 1419, 479, 116,
1678 117, 118, 752, 1638, 1607, 1141, 140, 363, 1371, 1407,
1679 1407, 1607, 1398, 1398, 1407, 1719, 200, 1398, 1701, 21,
1680 524, 414, 1399, 1561, 1623, 1726, 252, 1399, 1252, 1237,
1681 353, 202, 302, 556, 27, 262, 222, 72, 72, 302,
1682 579, 1073, 72, 1662, 527, 998, 1427, 1361, 733, 1322,
1683 475, 26, 1302, 119, 120, 1407, 804, 805, 1398, 1143,
1684 1406, 1406, 1450, 999, 1407, 1406, 32, 1398, 1399, 76,
1685 477, 1234, 935, 387, 388, 389, 479, 1399, 507, 156,
1686 637, 395, 1518, 72, 1058, 1416, 1059, 826, 827, 1696,
1687 1607, 1708, 72, 1650, 1704, 1527, 1094, 202, 779, 202,
1688 202, 0, 0, 0, 300, 790, 1406, 0, 0, 58,
1689 58, 300, 0, 415, 58, 1406, 1407, 0, 302, 1398,
1690 1306, 1307, 0, 0, 0, 26, 202, 391, 392, 1399,
1691 0, 1060, 1428, 0, 202, 0, 0, 1432, 26, 0,
1692 1061, 1062, -128, -128, 72, 0, 225, 1321, 477, 0,
1693 0, 856, 1323, 0, 0, 58, 213, 221, 0, 0,
1694 155, 0, 0, 0, 58, 0, 1091, 1406, 0, 1407,
1695 140, 0, 1398, 140, 8, 9, 1063, 147, 0, 156,
1696 156, 156, 1399, 0, 0, 140, 0, 0, 0, 1469,
1697 300, 0, 0, 261, 8, 9, 10, 72, 95, 96,
1698 97, 0, 200, 0, 95, 419, 420, 0, 0, 225,
1699 475, 260, 0, 817, 0, 570, 58, 475, 0, 366,
1700 1406, 1372, 213, 1373, 221, 1374, 0, 130, 131, 155,
1701 155, 155, 21, 0, 0, 0, 426, 1279, 491, 252,
1702 0, 491, 0, 500, 500, 500, 0, 27, 262, 455,
1703 26, 543, 98, 99, 100, 491, 517, 221, 98, 113,
1704 455, 0, 0, 0, 517, 579, 0, 579, 200, 58,
1705 200, 200, 881, 0, 0, 0, 0, 455, 0, 32,
1706 0, 0, 1543, 1544, 801, 579, 0, 416, 439, 0,
1707 0, 202, 418, 801, 387, 388, 389, 200, 579, 1553,
1708 0, 0, 908, 0, 156, 200, 156, 0, 0, 0,
1709 0, 0, 0, 1436, 1437, 0, 1446, 1447, 0, 1449,
1710 0, 490, 156, 156, 156, -600, 0, 0, -600, 930,
1711 0, 0, 1471, 0, 509, 947, 0, 156, 0, 0,
1712 390, 147, 475, 1127, 1128, 9, 10, 0, 391, 392,
1713 475, 968, 0, 0, 0, 202, 0, 0, 1590, 1591,
1714 7, 8, 9, 10, 971, 116, 826, 827, 0, 828,
1715 471, 158, 0, 0, 1601, 1602, -600, 0, -600, -600,
1716 0, -600, 21, 215, 216, 217, 0, 957, 957, 964,
1717 14, 0, -600, 908, -600, 26, 983, 27, 28, 21,
1718 829, 1305, 0, 1129, 0, 640, 541, 18, 0, -600,
1719 -600, 194, 26, 20, 27, 28, 221, 26, 0, 119,
1720 120, 195, 23, 0, -600, 0, 475, 0, 773, 32,
1721 0, 0, 475, 196, 0, 1531, 1532, 739, 774, 0,
1722 158, 158, 158, 0, 0, 0, 32, 0, 0, 0,
1723 775, 644, 605, 606, 607, 608, 609, 610, 611, 612,
1724 613, 0, 200, 0, 0, 856, 0, 856, 95, 96,
1725 97, 0, 1137, 1144, 0, 856, 116, 826, 827, 221,
1726 238, 95, 96, 97, 905, 906, 0, 910, 911, 912,
1727 913, 914, 915, 916, 917, 918, 919, 920, 921, 922,
1728 923, 924, 925, 926, 927, 261, 8, 9, 10, 7,
1729 8, 9, 10, 0, 366, 0, 0, 0, 0, 1075,
1730 1075, 1081, 98, 99, 0, 0, 200, 0, 26, 1081,
1731 119, 120, 0, 0, 0, 98, 99, 1594, 1595, 1596,
1732 0, 0, 475, 156, 21, 0, 475, 0, 21, 0,
1733 491, 491, 500, 500, 500, 95, 110, 111, 491, 27,
1734 262, 26, 0, 27, 28, 0, 517, 193, 0, 455,
1735 743, 0, 0, 744, 95, 96, 97, 194, 226, 227,
1736 228, 0, 0, 493, 496, 747, 0, 195, 0, 0,
1737 0, 32, 0, 1627, 1628, 32, 0, 213, 0, 196,
1738 0, 0, 18, 261, 399, 400, 10, 475, 229, 112,
1739 113, 8, 9, 0, 0, 12, 13, 0, 95, 110,
1740 111, 14, 709, 710, 711, 0, 26, 0, 98, 99,
1741 230, 812, 0, 0, 0, 16, 818, 17, 416, 0,
1742 0, 418, 21, 1136, 20, 0, 471, 475, 0, 1198,
1743 0, 0, 0, 23, 0, 541, 475, 27, 262, 0,
1744 0, 858, 26, 1680, 130, 131, 623, 864, 0, 0,
1745 0, 0, 112, 113, 231, 232, 233, 0, 0, 872,
1746 873, 475, 874, 1221, 0, 0, 579, 0, 0, 32,
1747 0, 0, 0, 475, 0, 0, 0, 415, 0, 0,
1748 624, 0, 0, 0, 957, 0, 0, 957, 0, 0,
1749 0, 0, 1281, 8, 9, 10, 95, 110, 111, 957,
1750 226, 227, 228, 1222, 1222, 983, 0, 475, 0, 475,
1751 8, 9, 0, 167, 12, 13, 0, 471, 470, 1137,
1752 14, 0, 0, 0, 18, 116, 826, 827, 313, 659,
1753 229, 21, 0, 0, 16, 0, 17, 18, 95, 110,
1754 111, 0, 0, 20, 26, 0, 27, 262, 0, 856,
1755 112, 113, 23, 0, 640, 972, 973, 0, 0, 0,
1756 972, 26, 0, 130, 131, 238, 95, 110, 111, 0,
1757 0, 0, 0, 0, 475, 471, 579, 641, 32, 119,
1758 120, 471, 0, 471, 471, 0, 0, 642, 0, 0,
1759 0, 0, 112, 1574, 0, 7, 127, 128, 10, 643,
1760 644, 13, 1075, 1075, 1270, 1270, 1081, 0, 0, 0,
1761 471, 1075, 0, 1270, 1270, 1081, 0, 471, 0, 0,
1762 112, 1576, 475, 18, 0, 1295, 1295, 1295, 0, 215,
1763 216, 217, 0, 0, 21, 0, 14, 7, 8, 9,
1764 10, 0, 0, 13, 0, 455, 455, 26, 801, 27,
1765 28, 0, 0, 18, 801, 7, 8, 251, 10, 20,
1766 0, 802, 0, 30, 803, 18, 493, 496, 23, 0,
1767 0, 0, 455, 31, 0, 0, 21, 455, 819, 0,
1768 0, 32, 640, 993, 0, 33, 1085, 1353, 0, 26,
1769 1136, 27, 28, 0, 21, 127, 128, 0, 0, 0,
1770 147, 252, 0, 0, 0, 773, 0, 0, 0, 27,
1771 28, 0, 0, 0, 0, 774, 1445, 1248, 0, 1101,
1772 0, 1445, 0, 32, 856, 0, 0, 775, 644, 0,
1773 743, 744, 0, 253, 80, 0, 129, 0, 747, 8,
1774 9, 32, 0, 471, 104, 0, 26, 0, 130, 131,
1775 0, 1222, 1222, 983, 133, 0, 0, 471, 0, 0,
1776 144, 144, 0, 144, 0, 80, 18, 0, 0, 0,
1777 0, 0, 80, 0, 0, 1159, 0, 1161, 0, 0,
1778 0, 0, 0, 640, 0, 204, 0, 80, 0, 0,
1779 26, 0, 130, 131, 0, 239, 0, 1075, 1075, 1270,
1780 1270, 1081, 104, 0, 1075, 0, 1523, 202, 1513, 202,
1781 0, 0, 0, 267, 104, 0, 1524, 616, 1295, 1295,
1782 1295, 1458, 1459, 1460, 1461, 0, 0, 0, 1525, 644,
1783 0, 1464, 0, 0, 0, 0, 104, 0, 455, 455,
1784 0, 455, 455, 801, 455, 0, 0, 0, 0, 1196,
1785 1197, 0, 1199, 0, 0, 1343, 617, 618, 0, 0,
1786 619, 620, 621, 622, 133, 0, 80, 0, 801, 0,
1787 144, 144, 475, 0, 0, 417, 144, 0, 1495, 144,
1788 144, 144, 0, 1218, 0, 0, 0, 1444, 0, 515,
1789 216, 217, 0, 0, 0, 80, 14, 0, 471, 80,
1790 0, 0, 0, 0, 0, 204, 80, 0, 0, 0,
1791 0, 0, 471, 18, 471, 0, 471, 0, 0, 20,
1792 0, 0, 0, 0, 204, 204, 204, 0, 23, 0,
1793 0, 0, 213, 221, 607, 608, 609, 610, 611, 612,
1794 613, 0, 493, 496, 1526, 1526, 0, 1526, 0, 0,
1795 475, 0, 0, 204, 127, 128, 0, 0, 216, 217,
1796 455, 455, 0, 0, 14, 0, 0, 0, 0, 0,
1797 526, 0, 0, 802, 803, 493, 496, 0, 200, 104,
1798 200, 819, 0, 1571, 0, 0, 0, 20, 471, 0,
1799 144, 0, 0, 1278, 0, 0, 23, 0, 640, 0,
1800 0, 0, 416, 418, 0, 26, 0, 130, 131, 0,
1801 202, 541, 0, 0, 127, 128, 0, 0, 216, 217,
1802 0, 641, 1303, 471, 14, 0, 0, 0, 0, 0,
1803 0, 642, 104, 552, 1308, 0, 0, 0, 0, 0,
1804 500, 0, 0, 650, 644, 0, 1605, 20, 0, 1526,
1805 1526, 1589, 908, 1605, 0, 0, 23, 0, 640, 0,
1806 0, 0, 455, 455, 455, 26, 0, 130, 131, 0,
1807 0, 0, 579, 0, 0, 0, 104, 0, 0, 0,
1808 638, 641, 552, 552, 653, 0, 0, 0, 0, 0,
1809 0, 642, 0, 80, 8, 9, 0, 0, 0, 801,
1810 0, 0, 0, 643, 644, 0, 0, 374, 376, 500,
1811 500, 500, 0, 0, 0, 0, 0, 0, 455, 455,
1812 0, 18, 1360, 0, 1127, 1128, 9, 10, 133, 0,
1813 0, 0, 1605, 0, 0, 0, 0, 104, 0, 204,
1814 104, 0, 0, 0, 0, 26, 0, 130, 131, 0,
1815 0, 0, 1682, 0, 144, 0, 0, 144, 0, 0,
1816 0, 1292, 801, 21, 0, 0, 0, 0, 0, 144,
1817 0, 1293, 0, 0, 1700, 0, 26, 80, 27, 28,
1818 0, 200, 0, 1294, 1129, 1421, 908, 259, 455, 0,
1819 474, 0, 194, 0, 0, 0, 0, 743, 744, 0,
1820 0, 0, 195, 0, 747, 204, 780, 204, 204, 653,
1821 32, 259, 0, 780, 196, 0, 471, 0, 471, 0,
1822 471, 204, 204, 0, 0, 204, 0, 204, 204, 204,
1823 809, 0, 0, 1453, 204, 0, 0, 1454, 0, 204,
1824 259, 0, 204, 0, 0, 802, 803, 493, 496, 0,
1825 0, 259, 0, 0, 819, 0, 493, 496, 0, 80,
1826 0, -411, 8, 9, -411, -411, 12, 247, 802, 803,
1827 819, 1470, 14, 699, 700, 701, 702, 703, 704, 705,
1828 7, 127, 128, 10, 875, 0, 16, 0, 17, -411,
1829 0, 0, 0, 0, 0, 20, 104, 104, 104, 104,
1830 -411, 0, 0, 0, 23, 0, 640, 0, 18, 0,
1831 0, 259, 0, 26, 0, 130, 131, 0, 0, 21,
1832 0, 0, 0, 0, 0, 0, 0, 471, 0, 641,
1833 0, 0, 26, 583, 27, 28, 0, 0, 1529, 642,
1834 0, 0, 1530, 0, 0, 0, 259, -411, 149, 0,
1835 0, 643, 644, 959, 962, 104, 0, 552, 150, 261,
1836 127, 128, 10, 0, 1545, 1546, 32, 0, 0, 638,
1837 151, 552, 552, 653, 259, 0, 0, 0, 0, 0,
1838 984, 0, 0, 0, 986, 603, 604, 18, 605, 606,
1839 607, 608, 609, 610, 611, 612, 613, 0, 21, 204,
1840 0, 0, 0, 0, 640, 8, 9, 732, 0, 0,
1841 540, 26, 0, 27, 262, 697, 698, 699, 700, 701,
1842 702, 703, 704, 705, 0, 127, 128, 1225, 0, 0,
1843 13, 0, 18, 0, 0, 0, 0, 1226, 0, 0,
1844 802, 803, 493, 496, 0, 32, 0, 819, 133, 1227,
1845 644, 0, 18, 0, 0, 133, 26, 0, 130, 131,
1846 0, 493, 496, 204, 239, 259, 0, 0, 0, 640,
1847 0, 0, 1292, 0, 471, 0, 26, 0, 130, 131,
1848 0, 0, 1293, 732, 0, 959, 962, 0, 0, 0,
1849 0, 0, 641, 0, 1294, 0, 0, 0, 0, 0,
1850 0, 0, 642, 204, 204, 1083, 0, 0, 0, 0,
1851 0, 1086, 0, 1083, 643, 644, 597, 598, 599, 600,
1852 601, 602, 603, 604, 259, 605, 606, 607, 608, 609,
1853 610, 611, 612, 613, 204, 204, 809, 809, 809, 602,
1854 603, 604, 204, 605, 606, 607, 608, 609, 610, 611,
1855 612, 613, 0, 0, 7, 8, 9, 10, 878, 0,
1856 879, 1438, 1439, 9, 10, 882, 883, 885, 886, 887,
1857 133, 0, 0, 80, 0, 80, 0, 0, 583, 0,
1858 1138, 80, 18, 80, 0, 0, 0, 802, 803, 104,
1859 819, 904, 0, 21, 0, 104, 0, 0, 0, 640,
1860 21, 0, 552, 552, 552, 0, 26, 0, 27, 28,
1861 0, 0, 0, 26, 552, 27, 28, 658, 8, 9,
1862 10, 1440, 773, 0, 933, 0, 0, 0, 0, 194,
1863 0, 0, 774, 259, 0, 0, 0, 0, 0, 195,
1864 32, 0, 0, 963, 775, 644, 0, 32, 0, 0,
1865 963, 196, 0, 313, 659, 0, 21, 0, 0, 259,
1866 0, 0, 0, 0, 104, 7, 127, 128, 10, 26,
1867 1210, 130, 131, 1211, 0, 0, 0, 0, 7, 8,
1868 9, 10, 0, 0, 247, 1217, 0, 552, 552, 959,
1869 962, 552, 493, 496, 552, 0, 0, 0, 0, 104,
1870 0, 0, 0, 552, 21, 104, 18, 984, 984, 984,
1871 0, 252, 0, 552, 0, 1086, 0, 21, 0, 27,
1872 28, 0, 0, 640, 0, 0, 7, 127, 128, 10,
1873 26, 0, 27, 28, 0, 0, 0, 0, 0, 0,
1874 0, 0, 0, 253, 0, 259, 773, 7, 8, 9,
1875 10, 32, 493, 496, 18, 0, 774, 0, 0, 0,
1876 259, 0, 0, 0, 32, 21, 0, 0, 775, 644,
1877 104, 0, 104, 0, 0, 963, 0, 0, 26, 0,
1878 27, 28, 0, 963, 0, 0, 21, 0, 1210, 1211,
1879 959, 962, 0, 252, 30, 0, 0, 1217, 0, 959,
1880 962, 27, 28, 0, 31, 204, 204, 204, 204, 204,
1881 1083, 809, 32, 0, 0, 204, 33, 1083, 1083, 1083,
1882 0, 0, 0, 1086, 0, 253, 0, 0, 104, 809,
1883 809, 809, 0, 32, 7, 8, 9, 10, 0, 0,
1884 13, 0, 0, 0, 104, 0, 0, 1138, 0, 0,
1885 0, 0, 0, 0, 0, 0, 104, 0, 0, 474,
1886 0, 0, 18, 0, 0, 474, 0, 0, 0, 1317,
1887 0, 0, 0, 21, 0, 0, 0, 80, 0, 640,
1888 0, 0, 0, 0, 0, 0, 26, 259, 27, 28,
1889 104, 0, 104, 0, 261, 8, 542, 10, 0, 0,
1890 104, 0, 1078, 0, 0, 0, 0, 0, 0, 0,
1891 0, 0, 1079, 0, 0, 0, 259, 0, 0, 0,
1892 32, 0, 0, 0, 1080, 644, 552, 552, 0, 552,
1893 0, 0, 0, 21, 1191, 0, 0, 959, 962, 0,
1894 252, 0, 0, 0, 0, 0, 0, 0, 27, 262,
1895 0, 0, 552, 0, 0, 552, 552, 653, 0, 0,
1896 7, 127, 128, 10, 0, 0, 247, 0, 0, 904,
1897 0, 0, 543, 0, 0, 474, 0, 0, 0, 963,
1898 32, 0, 259, 1210, 1211, 959, 962, 0, 18, 0,
1899 1217, 0, 0, 0, 0, 0, 0, 0, 0, 21,
1900 809, 204, 204, 809, 809, 1420, 0, 0, 204, 0,
1901 83, 0, 26, 0, 27, 28, 0, 0, 0, 0,
1902 106, 0, 809, 809, 809, 809, 0, 0, 30, 126,
1903 134, 261, 8, 9, 10, 0, 145, 145, 31, 145,
1904 732, 83, 1246, 0, 204, 0, 32, 0, 83, 144,
1905 33, 0, 80, 261, 127, 128, 10, 0, 0, 18,
1906 0, 145, 0, 83, 261, 127, 128, 10, 0, 0,
1907 21, 240, 0, 0, 0, 0, 640, 0, 249, 0,
1908 963, 0, 0, 26, 0, 27, 262, 0, 0, 963,
1909 249, 259, 21, 259, 0, 0, 0, 0, 1289, 1273,
1910 0, 0, 0, 21, 0, 0, 0, 27, 262, 1274,
1911 252, 0, 0, 0, 474, 0, 0, 32, 27, 262,
1912 0, 1275, 644, 0, 0, 0, 474, 0, 0, 0,
1913 1210, 1211, 0, 1217, 0, 204, 780, 204, 0, 32,
1914 0, 0, 83, 0, 0, 0, 145, 145, 809, 809,
1915 32, 809, 145, 104, 0, 145, 145, 145, 0, 0,
1916 474, 0, 474, 0, 0, 0, 0, 0, 0, 0,
1917 1333, 83, 0, 0, 0, 83, 0, 0, 0, 0,
1918 0, 145, 83, 0, 0, 0, 0, 0, 0, 0,
1919 259, 0, 0, 259, 0, 0, 0, 0, 0, 0,
1920 145, 145, 145, 0, 0, 0, 0, 0, 0, 0,
1921 0, 0, 0, 268, 0, 0, 8, 9, 0, 0,
1922 12, 13, 0, 0, 0, 0, 14, 963, 0, 145,
1923 0, 0, 0, 0, 0, 959, 962, 0, 0, 0,
1924 16, 0, 17, 0, 1083, 259, 0, 0, 0, 20,
1925 0, 269, 270, 809, 809, 1420, 809, 0, 23, 0,
1926 271, 0, 0, 0, 0, 0, 145, 26, 0, 130,
1927 131, 0, 272, 0, 0, 963, 273, 274, 275, 276,
1928 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
1929 287, 288, 289, 290, 291, 292, 293, 0, 0, 294,
1930 295, 296, 0, 297, 0, 0, 298, 0, 249, 554,
1931 0, 0, 0, 1083, 1083, 1083, 0, 0, 0, 809,
1932 8, 9, 299, 0, 12, 13, 0, 0, 0, 0,
1933 14, 0, 0, 104, 0, 0, 0, 0, 204, 0,
1934 0, 0, 0, 0, 16, 0, 17, 0, 0, 0,
1935 0, 0, 249, 20, 0, 0, 639, 0, 554, 554,
1936 654, 0, 23, 0, 0, 663, 0, 0, 0, 83,
1937 0, 26, 0, 130, 131, 0, 0, 0, 0, 0,
1938 0, 6, 0, 7, 8, 9, 10, 11, 12, 13,
1939 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
1940 7, 127, 128, 10, 725, 0, 13, 15, 16, 934,
1941 17, 18, 19, 249, 0, 145, 249, 20, 0, 0,
1942 0, 0, 21, 1289, 259, 22, 23, 24, 18, 25,
1943 145, 0, 0, 145, 0, 26, 0, 27, 28, 21,
1944 0, 29, 0, 0, 0, 145, 0, 0, 0, 0,
1945 0, 30, 26, 83, 27, 28, 0, 0, 0, 0,
1946 0, 31, 0, 0, 0, 0, 0, 0, 149, 32,
1947 0, 0, 0, 33, 0, 0, 0, 34, 150, 0,
1948 0, 145, 781, 145, 145, 654, 32, 0, 0, 781,
1949 151, 0, 7, 8, 9, 10, 0, 145, 145, 0,
1950 0, 145, 0, 145, 145, 145, 554, 0, 0, 0,
1951 145, 0, 0, 0, 0, 145, 0, 0, 145, 0,
1952 18, 0, 0, 0, 0, 963, 0, 259, 0, 0,
1953 0, 21, 0, 0, 837, 83, 0, 0, 0, 0,
1954 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
1955 166, 0, 7, 8, 9, 10, 167, 12, 13, 0,
1956 497, 0, 0, 14, 0, 0, 0, 0, 0, 0,
1957 498, 0, 249, 249, 249, 249, 0, 16, 32, 17,
1958 18, 19, 499, 0, 0, 583, 20, 0, 0, 0,
1959 0, 21, 0, 0, 0, 23, 0, 0, 168, 0,
1960 0, 0, 0, 732, 26, 0, 27, 28, 593, 594,
1961 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
1962 30, 605, 606, 607, 608, 609, 610, 611, 612, 613,
1963 31, 249, 0, 554, 0, 0, 0, 0, 32, 0,
1964 0, 0, 33, 0, 0, 0, 34, 554, 554, 654,
1965 0, 0, 0, 0, 0, 575, 985, 261, 8, 9,
1966 10, 167, 12, 305, 306, 307, 470, 308, 14, 663,
1967 0, 0, 0, 0, 0, 145, 0, 0, 0, 0,
1968 0, 0, 16, 309, 17, 18, 19, 0, 310, 311,
1969 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
1970 23, 0, 640, 0, 318, 319, 320, 321, 322, 26,
1971 0, 27, 262, -336, 0, 0, 369, 0, 0, 0,
1972 0, 0, 325, 0, 725, 977, 0, 0, 0, 0,
1973 0, 0, 126, 327, 328, 978, 0, 0, 0, 145,
1974 240, 330, 331, 332, 0, 0, 0, 979, 644, 7,
1975 8, 9, 10, 167, 12, 13, 0, 0, 0, 0,
1976 14, 0, 0, 837, 334, 0, 0, 0, 0, 0,
1977 0, 0, 0, 0, 16, 0, 17, 18, 19, 145,
1978 145, 781, 0, 20, 0, 0, 0, 0, 21, 1093,
1979 0, 0, 23, 0, 0, 168, 0, 0, 0, 0,
1980 0, 26, 0, 27, 28, 0, 7, 8, 9, 10,
1981 145, 145, 554, 554, 554, 0, 0, 30, 145, 0,
1982 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
1983 0, 0, 0, 0, 18, 32, 0, 0, 0, 33,
1984 0, 0, 0, 34, 0, 21, 134, 0, 0, 83,
1985 0, 83, 0, 0, 0, 0, 1139, 83, 26, 83,
1986 27, 28, 0, 0, 0, 249, 0, 0, 0, 0,
1987 0, 249, 0, 0, 194, 0, 0, 0, 554, 554,
1988 554, 0, 0, 0, 195, 0, 0, 0, 0, 0,
1989 554, 0, 32, 0, 0, 0, 196, 0, 838, 0,
1990 7, 8, 839, 10, 167, 12, 13, 601, 602, 603,
1991 604, 14, 605, 606, 607, 608, 609, 610, 611, 612,
1992 613, 0, 0, 0, 0, 16, 0, 17, 18, 19,
1993 0, 0, 0, 0, 20, -544, 0, 0, 0, 21,
1994 249, 0, 0, 23, 840, 0, 168, 0, 261, 127,
1995 128, 10, 26, 0, 27, 28, 0, 0, 841, 0,
1996 842, 0, 0, 554, 554, 0, 0, 554, 30, 0,
1997 554, 0, 0, 0, 0, 249, 0, 0, 31, 554,
1998 0, 249, 0, 985, 985, 985, 32, 21, 0, 554,
1999 33, 663, 0, 0, 252, 0, 0, 0, 0, 0,
2000 0, 0, 27, 262, 0, 0, -544, 0, 838, 0,
2001 7, 8, 839, 10, 167, 12, 13, 0, 0, 0,
2002 0, 14, 0, 0, 0, 0, 543, 0, 0, 0,
2003 0, 0, 0, 0, 32, 16, 0, 17, 18, 19,
2004 0, 0, 0, 0, 20, -545, 249, 0, 249, 21,
2005 0, 0, 0, 23, 840, 0, 168, 0, 0, 0,
2006 0, 0, 26, 0, 27, 28, 0, 0, 841, 0,
2007 842, 261, 8, 9, 10, 0, 0, 0, 30, 0,
2008 0, 145, 145, 145, 145, 145, 781, 554, 31, 0,
2009 0, 145, 0, 1093, 1093, 1093, 32, 0, 0, 663,
2010 33, 0, 0, 0, 249, 554, 554, 554, 0, 0,
2011 21, 0, 0, 0, 0, 0, -545, 252, 837, 0,
2012 249, 0, 0, 1139, 0, 27, 262, 0, 0, 0,
2013 0, 0, 249, 0, 0, 0, 0, 0, 0, 7,
2014 8, 9, 10, 215, 216, 217, 0, 0, 0, 253,
2015 14, 0, 0, 83, 0, 0, 6, 32, 7, 8,
2016 9, 10, 11, 12, 13, 0, 249, 18, 249, 14,
2017 0, 0, 0, 20, 0, 0, 249, 0, 21, 0,
2018 0, 0, 23, 16, 640, 17, 18, 0, 0, 0,
2019 0, 26, 20, 27, 28, 0, 0, 21, 0, 0,
2020 0, 23, 554, 554, 443, 554, 0, 773, 0, 0,
2021 26, 0, 27, 28, 51, 0, 29, 774, 7, 8,
2022 9, 10, 0, 0, 540, 32, 30, 0, 554, 783,
2023 644, 554, 554, 654, 0, 0, 31, 0, 0, 0,
2024 51, 51, 0, 152, 32, 51, 18, 0, 33, 0,
2025 0, 0, 51, 0, 0, 0, 0, 21, 0, 0,
2026 837, 0, 0, 640, 0, 51, 0, 51, 0, 0,
2027 26, 0, 27, 28, 0, 0, 554, 145, 145, 554,
2028 554, 654, 0, 0, 145, 0, 773, 0, 0, 0,
2029 255, 0, 0, 263, 0, 0, 774, 0, 554, 554,
2030 554, 554, 0, 0, 32, 837, 0, 0, 775, 644,
2031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2032 145, 0, 0, 0, 0, 145, 0, 0, 83, 7,
2033 8, 9, 10, 215, 216, 217, 0, 0, 0, 0,
2034 14, 0, 0, 401, 401, 0, 51, 0, 0, 0,
2035 51, 51, 0, 0, 255, 263, 51, 18, 0, 152,
2036 152, 152, 0, 20, 0, 0, 436, 0, 21, 0,
2037 0, 0, 23, 0, 640, 51, 0, 0, 0, 51,
2038 0, 26, 0, 27, 28, 51, 51, 0, 0, 0,
2039 0, 0, 0, 0, 0, 0, 0, 773, 0, 0,
2040 1501, 0, 0, 0, 51, 51, 152, 774, 0, 0,
2041 0, 145, 781, 145, 255, 32, 0, 0, 0, 775,
2042 644, 0, 0, 0, 554, 554, 0, 554, 0, 249,
2043 0, 0, 0, 51, 693, 694, 695, 696, 697, 698,
2044 699, 700, 701, 702, 703, 704, 705, 763, 0, 895,
2045 896, 897, 10, 0, 12, 486, 306, 307, 0, 308,
2046 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2047 51, 0, 0, 0, 16, 309, 17, 255, 19, 0,
2048 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2049 317, 0, 23, 0, 0, 0, 318, 319, 320, 321,
2050 322, 26, 0, 898, 899, 764, 0, 0, 369, 0,
2051 0, 0, 0, 0, 325, 0, 0, 326, 0, 0,
2052 1093, 0, 0, 0, 0, 327, 328, 329, 0, 554,
2053 554, 654, 554, 330, 331, 332, 0, 0, 0, 333,
2054 900, 0, 0, 580, 0, 0, 0, 0, 0, 0,
2055 0, 0, 0, 0, 0, 1072, 334, 0, 0, 0,
2056 401, 1438, 127, 128, 10, 0, 0, 0, 255, 0,
2057 0, 8, 9, 51, 0, 0, 13, 0, 261, 127,
2058 128, 10, 0, 0, 13, 0, 0, 0, 0, 1093,
2059 1093, 1093, 0, 0, 0, 554, 0, 0, 18, 0,
2060 21, 0, 0, 0, 0, 0, 18, 0, 401, 249,
2061 0, 0, 0, 26, 145, 27, 28, 21, 0, 51,
2062 0, 1440, 26, 640, 130, 131, 0, 255, 0, 30,
2063 26, 0, 27, 262, 51, 0, 0, 51, 1292, 31,
2064 0, 0, 0, 436, 436, 436, 1225, 32, 1293, 51,
2065 0, 33, 0, 0, 0, 0, 1226, 51, 0, 0,
2066 1294, 0, 0, 0, 32, 0, 0, 0, 1227, 644,
2067 0, 0, 7, 8, 9, 10, 206, 12, 207, 0,
2068 0, 0, 0, 14, 0, 51, 51, 51, 51, 261,
2069 8, 9, 10, 51, 0, 13, 0, 16, 0, 17,
2070 18, 51, 51, 0, 0, 51, 20, 152, 152, 152,
2071 436, 21, 0, 0, 51, 23, 0, 18, 0, 51,
2072 0, 0, 51, 0, 26, 78, 27, 28, 21, 0,
2073 208, 0, 0, 0, 640, 0, 0, 0, 0, 51,
2074 30, 26, 0, 27, 262, 0, 0, 0, 0, 0,
2075 31, 78, 78, 0, 78, 0, 78, 1273, 32, 0,
2076 0, 0, 33, 78, 0, 0, 0, 1274, 580, 0,
2077 580, 0, 0, 0, 0, 32, 78, 0, 78, 1275,
2078 644, 0, 0, 0, 0, 0, 580, 580, 580, 838,
2079 0, 7, 8, 839, 10, 167, 12, 13, 0, 0,
2080 0, 580, 14, 0, 265, 0, 0, 0, 0, 0,
2081 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
2082 19, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2083 21, 0, 0, 0, 23, 840, 0, 168, 0, 0,
2084 0, 0, 0, 26, 0, 27, 28, 0, 255, 841,
2085 0, 842, 0, 0, 0, 0, 0, 78, 0, 30,
2086 580, 78, 78, 0, 0, 0, 265, 78, 0, 31,
2087 78, 78, 78, 0, 0, 0, 0, 32, 0, 51,
2088 0, 33, 0, 0, 0, 0, 78, 342, 0, 342,
2089 78, 342, 0, 0, 0, 0, 78, 78, 689, 690,
2090 691, 692, 693, 694, 695, 696, 697, 698, 699, 700,
2091 701, 702, 703, 704, 705, 78, 78, 78, 838, 0,
2092 7, 8, 839, 10, 167, 12, 13, 0, 401, 0,
2093 0, 14, 0, 0, 0, 401, 342, 0, 342, 0,
2094 0, 0, 0, 51, 78, 16, 0, 17, 18, 19,
2095 0, 0, 0, 0, 20, -547, 0, 0, 0, 21,
2096 0, 0, 0, 23, 840, 0, 168, 0, 0, 0,
2097 0, 0, 26, 0, 27, 28, 0, 0, 841, 0,
2098 842, 78, 0, 51, 51, 152, 0, 0, 30, 0,
2099 255, 263, 0, 1090, 0, 0, 0, 0, 31, 0,
2100 0, 0, 0, 0, 0, 0, 32, 580, 0, 0,
2101 33, 0, 0, 0, 51, 51, 436, 436, 436, 0,
2102 0, 0, 51, 0, 0, 0, -547, 0, 0, 0,
2103 0, 0, 0, 0, 0, 0, 7, 8, 9, 10,
2104 0, 838, 13, 7, 8, 839, 10, 167, 12, 13,
2105 0, 0, 0, 51, 14, 51, 0, 0, 0, 0,
2106 51, 51, 0, 51, 18, 0, 0, 0, 16, 0,
2107 17, 18, 19, 0, 0, 21, 0, 20, -546, 0,
2108 662, 0, 21, 0, 78, 0, 23, 840, 26, 168,
2109 27, 28, 0, 0, 0, 26, 0, 27, 28, 0,
2110 0, 841, 0, 842, 194, 0, 0, 0, 0, 562,
2111 563, 30, 0, 0, 195, 0, 0, 0, 0, 0,
2112 0, 31, 32, 342, 0, 572, 196, 0, 573, 32,
2113 78, 574, 0, 33, 584, 0, 0, 0, 589, 0,
2114 0, 0, 0, 0, 0, 78, 629, 0, 78, -546,
2115 0, 0, 0, 0, 0, 0, 7, 127, 128, 10,
2116 78, 342, 540, 0, 0, 0, 0, 0, 78, 691,
2117 692, 693, 694, 695, 696, 697, 698, 699, 700, 701,
2118 702, 703, 704, 705, 18, 0, 0, 580, 580, 580,
2119 0, 0, 0, 436, 255, 21, 78, 78, 78, 78,
2120 0, 0, 0, 0, 78, 0, 0, 0, 26, 0,
2121 27, 28, 78, 78, 0, 0, 78, 0, 78, 78,
2122 78, 0, 0, 0, 30, 78, 0, 8, 9, 0,
2123 78, 12, 247, 78, 31, 0, 0, 14, 0, 0,
2124 0, 0, 32, 0, 0, 0, 33, 0, 0, 0,
2125 78, 16, 0, 17, 0, 0, 127, 128, 0, 0,
2126 20, 247, 0, 0, 0, 0, 0, 0, 0, 23,
2127 0, 640, 0, 0, 0, 0, 0, 0, 26, 0,
2128 130, 131, 0, 18, 0, 51, 51, 51, 152, 152,
2129 152, 436, 0, 255, 641, 51, 255, 1090, 1090, 1090,
2130 640, 0, 0, 263, 642, 0, 0, 26, 159, 130,
2131 131, 0, 0, 0, 8, 9, 643, 644, 12, 247,
2132 0, 342, 0, 641, 14, 0, 0, 51, 0, 0,
2133 205, 0, 0, 642, 0, 0, 0, 0, 16, 0,
2134 17, 0, 0, 0, 0, 643, 644, 20, 255, 263,
2135 0, 0, 0, 0, 0, 342, 23, 51, 0, 0,
2136 662, 0, 0, 0, 0, 26, 0, 130, 131, 0,
2137 0, 0, 0, 0, 0, 572, 573, 0, 0, 0,
2138 0, 0, 0, 0, 0, 0, 0, 342, 0, 0,
2139 78, 0, 342, 342, 0, 342, 342, 342, 342, 342,
2140 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
2141 342, 342, 342, 0, 0, 0, 0, 0, 0, 0,
2142 0, 0, 127, 128, 159, 159, 159, 540, 0, 0,
2143 0, 0, 436, 0, 0, 436, 436, 436, 0, 0,
2144 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,
2145 205, 0, 0, 0, 78, 0, 0, 0, 0, 0,
2146 0, 0, 0, 0, 0, 0, 640, 0, 0, 205,
2147 205, 502, 0, 26, 0, 130, 131, 0, 0, 0,
2148 436, 51, 51, 436, 436, 436, 0, 0, 51, 641,
2149 0, 0, 0, 0, 78, 78, 78, 0, 205, 642,
2150 0, 0, 265, 0, 1092, 0, 0, 0, 0, 0,
2151 0, 643, 644, 0, 0, 0, 0, 0, 0, 342,
2152 0, 0, 0, 0, 51, 78, 78, 255, 0, 51,
2153 0, 0, 51, 78, 7, 8, 9, 10, 167, 12,
2154 13, 0, 0, 470, 0, 14, 0, 0, 0, 0,
2155 0, 0, 0, 0, 7, 8, 9, 10, 0, 16,
2156 247, 17, 18, 0, 78, 0, 78, 0, 20, 0,
2157 0, 78, 78, 21, 78, 0, 0, 23, 553, 640,
2158 0, 0, 18, 0, 0, 0, 26, 0, 27, 28,
2159 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
2160 0, 0, 1078, 0, 0, 0, 26, 0, 27, 28,
2161 0, 0, 1079, 0, 0, 51, 51, 51, 0, 0,
2162 32, 0, 194, 0, 1080, 644, 0, 647, 647, 647,
2163 0, 0, 195, 0, 0, 0, 0, 0, 0, 0,
2164 32, 0, 0, 0, 196, 692, 693, 694, 695, 696,
2165 697, 698, 699, 700, 701, 702, 703, 704, 705, 342,
2166 342, 0, 342, 0, 0, 0, 0, 0, 0, 1378,
2167 0, 1379, 1380, 1381, 10, 167, 12, 305, 306, 307,
2168 0, 308, 14, 1382, 205, 1383, 1384, 1385, 1386, 1387,
2169 1388, 1389, 1390, 1391, 1392, 15, 16, 309, 17, 18,
2170 19, 0, 310, 311, 312, 20, 662, 313, 314, 315,
2171 21, 316, 317, 1393, 23, 1394, 0, 0, 318, 319,
2172 320, 321, 322, 26, 1090, 1395, 262, 760, 0, 1396,
2173 369, 0, 0, 0, 0, 0, 325, 0, 0, 326,
2174 0, 0, 0, 0, 0, 1201, 0, 327, 328, 329,
2175 777, 0, 777, 777, 647, 330, 331, 332, 0, 0,
2176 0, 333, 0, 1397, 0, 0, 205, 205, 0, 0,
2177 205, 0, 502, 502, 502, 810, 572, 573, 334, 205,
2178 261, 8, 9, 10, 205, 0, 0, 205, 0, 0,
2179 0, 0, 0, 1090, 1090, 1090, 78, 78, 78, 78,
2180 78, 78, 0, 0, 0, 0, 78, 0, 1092, 1092,
2181 1092, 0, 0, 0, 1283, 0, 0, 0, 51, 21,
2182 0, 0, 0, 0, 0, 0, 252, 0, 0, 0,
2183 0, 0, 0, 0, 27, 262, 0, 0, 78, 0,
2184 0, 0, 342, 0, 0, 342, 694, 695, 696, 697,
2185 698, 699, 700, 701, 702, 703, 704, 705, 543, 0,
2186 265, 0, 0, 0, 0, 0, 32, 0, 78, 0,
2187 469, 0, 261, 8, 9, 10, 167, 12, 305, 306,
2188 307, 470, 308, 14, 0, 0, 572, 573, 0, 0,
2189 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
2190 18, 19, 943, 310, 311, 312, 20, 0, 313, 314,
2191 315, 21, 316, 317, 0, 23, 647, 647, 647, 318,
2192 319, 320, 321, 322, 26, 647, 27, 262, 0, 0,
2193 0, 369, 0, 0, 0, 0, 0, 325, 0, 0,
2194 326, 0, 0, 0, 205, 0, 0, 0, 327, 328,
2195 329, 261, 127, 1448, 10, 0, 330, 331, 332, 0,
2196 0, 0, 333, 0, 0, 0, 0, 0, 0, 0,
2197 0, 0, 0, 0, 0, 0, 0, -825, 0, 334,
2198 0, 0, 203, 342, 0, 0, 0, 0, 0, 0,
2199 21, 0, 78, 78, 0, 0, 0, 252, 0, 78,
2200 0, 1354, 0, 342, 0, 27, 262, 258, 777, 0,
2201 266, 0, 0, 0, 0, 0, 0, 261, 8, 9,
2202 10, 167, 12, 13, 0, 0, 470, 0, 14, 543,
2203 0, 258, 0, 368, 0, 78, 0, 32, 0, 0,
2204 78, 0, 16, 78, 17, 18, 0, 0, 777, 777,
2205 1084, 20, 0, 0, 0, 0, 21, 0, 1084, 0,
2206 23, 0, 640, 0, 0, 261, 8, 9, 10, 26,
2207 0, 27, 262, 0, 0, 0, 0, 0, 0, 205,
2208 205, 810, 810, 810, 0, 1225, 0, 205, 0, 0,
2209 0, 0, 0, 18, 0, 1226, 0, 0, 0, 0,
2210 0, 0, 203, 32, 21, 0, 0, 1227, 644, 0,
2211 0, 0, 0, 0, 0, 0, 0, 26, 0, 27,
2212 262, 203, 203, 203, 0, 205, 78, 78, 78, 0,
2213 0, 508, 0, 806, 0, 261, 8, 9, 10, 167,
2214 12, 13, 0, 807, 470, 0, 14, 553, 553, 553,
2215 203, 32, 0, 0, 0, 808, 0, 0, 0, 647,
2216 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
2217 0, 0, 0, 0, 21, 0, 266, 0, 23, 0,
2218 640, 0, 0, 0, 0, 0, 0, 26, 0, 27,
2219 262, 0, 0, 0, 258, 0, 0, 584, 600, 601,
2220 602, 603, 604, 1273, 605, 606, 607, 608, 609, 610,
2221 611, 612, 613, 1274, 0, 0, 0, 0, 0, 0,
2222 0, 32, 0, 0, 0, 1275, 644, 0, 0, 0,
2223 0, 0, 647, 647, 0, 1092, 647, 0, 0, 647,
2224 7, 8, 9, 10, 167, 12, 13, 0, 647, 789,
2225 0, 14, 647, 647, 647, 0, 8, 9, 647, 0,
2226 12, 13, 0, 0, 0, 16, 14, 17, 18, 0,
2227 0, 0, 0, 0, 20, 0, 0, 0, 0, 21,
2228 16, 0, 17, 23, 0, 258, 266, 0, 0, 20,
2229 0, 0, 26, 0, 27, 28, 0, 0, 23, 0,
2230 0, 0, 0, 0, 1092, 1092, 1092, 26, 30, 130,
2231 131, 0, 473, 0, 0, 0, 0, 0, 31, 0,
2232 0, 0, 0, 0, 0, 0, 32, 0, 0, 78,
2233 33, 0, 0, 0, 0, 0, 203, 0, 0, 0,
2234 0, 0, 7, 8, 9, 10, 0, 0, 13, 0,
2235 777, 777, 777, 1084, 1084, 1084, 1276, 0, 0, 0,
2236 777, 0, 1084, 1084, 1084, 0, 0, 0, 0, 0,
2237 18, 0, 0, 0, 810, 810, 810, 0, 0, 0,
2238 0, 21, 572, 573, 0, 0, 0, 0, 0, 0,
2239 0, 0, 205, 0, 26, 0, 27, 28, 0, 0,
2240 0, 0, 203, 0, 203, 203, 0, 0, 0, 0,
2241 497, 0, 0, 0, 0, 0, 0, 0, 203, 203,
2242 498, 0, 203, 0, 203, 203, 203, 203, 32, 0,
2243 0, 203, 499, 0, 0, 0, 203, 0, 0, 203,
2244 0, 0, 0, 0, 7, 8, 9, 10, 0, 0,
2245 0, 1127, 8, 839, 10, 206, 12, 207, 0, 0,
2246 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
2247 0, 943, 943, 0, 943, 0, 16, 0, 17, 18,
2248 0, 0, 0, 21, 0, 20, 0, 0, 0, 0,
2249 21, 680, 0, 0, 23, 0, 26, 647, 27, 28,
2250 647, 647, 647, 26, 0, 27, 28, 0, 0, 0,
2251 0, 1129, 194, 0, 0, 0, 0, 0, 0, 30,
2252 0, 0, 195, 0, 0, 0, 0, 0, 0, 31,
2253 32, 0, 0, 0, 196, 0, 0, 32, 0, 0,
2254 0, 33, 0, 0, 0, 1276, 777, 777, 1276, 1276,
2255 1276, 0, 0, 777, 0, 0, 0, 0, 0, 0,
2256 0, 0, 0, 0, 0, 0, 0, 810, 810, 810,
2257 810, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2258 258, 266, 0, 0, 0, 0, 0, 765, 473, 205,
2259 0, 0, 0, 0, 0, 0, 203, 1516, 0, 1379,
2260 1380, 1381, 10, 167, 12, 305, 306, 307, 0, 308,
2261 14, 1382, 0, 1383, 1384, 1385, 1386, 1387, 1388, 1389,
2262 1390, 1391, 1392, 15, 16, 309, 17, 18, 19, 0,
2263 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2264 317, 1393, 23, 1394, 0, 0, 318, 319, 320, 321,
2265 322, 26, 0, 1395, 262, 760, 0, 1396, 369, 0,
2266 203, 0, 0, 0, 325, 0, 0, 326, 0, 0,
2267 7, 8, 9, 10, 0, 327, 328, 329, 0, 473,
2268 205, 0, 205, 330, 331, 332, 880, 0, 0, 333,
2269 0, 1397, 0, 1276, 1276, 0, 1276, 0, 0, 0,
2270 203, 203, 1082, 0, 0, 1517, 334, 258, 266, 21,
2271 1082, 0, 765, 0, 0, 0, 0, 0, 0, 0,
2272 0, 0, 26, 0, 27, 28, 0, 0, 1508, 0,
2273 0, 203, 203, 203, 203, 203, 508, 473, 194, 203,
2274 0, 0, 0, 473, 0, 473, 473, 0, 195, 0,
2275 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
2276 196, 0, 0, 0, 266, 0, 0, 0, 0, 0,
2277 0, 0, 473, 0, 0, 0, 0, 203, 0, 473,
2278 0, 0, 0, 0, 0, 0, 0, 0, 0, 502,
2279 0, 0, 0, 0, 0, 0, 0, 0, 1276, 1276,
2280 1276, 1276, 0, 0, 1001, 1003, 1004, 1005, 0, 1007,
2281 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017,
2282 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 0, 0,
2283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2284 0, 0, 7, 8, 9, 10, 206, 12, 207, 7,
2285 8, 9, 10, 14, 0, 540, 102, 0, 502, 502,
2286 502, 0, 0, 0, 1276, 121, 102, 16, 0, 17,
2287 18, 0, 102, 102, 0, 102, 20, 18, 0, 0,
2288 0, 21, 0, 205, 0, 23, 765, 0, 21, 1567,
2289 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
2290 1511, 26, 0, 27, 28, 473, 0, 236, 0, 0,
2291 30, 258, 266, 258, 0, 0, 0, 194, 0, 473,
2292 31, 0, 0, 0, 0, 0, 0, 195, 32, 0,
2293 0, 0, 33, 0, 0, 32, 0, 0, 0, 196,
2294 1568, 684, 685, 686, 687, 688, 689, 690, 691, 692,
2295 693, 694, 695, 696, 697, 698, 699, 700, 701, 702,
2296 703, 704, 705, 0, 1115, 0, 394, 0, 121, 0,
2297 0, 0, 0, 0, 0, 102, 102, 0, 0, 0,
2298 0, 0, 102, 102, 0, 0, 102, 102, 102, 0,
2299 422, 102, 102, 102, 0, 0, 0, 0, 0, 0,
2300 0, 0, 203, 203, 203, 203, 203, 1082, 203, 0,
2301 1277, 0, 203, 258, 1082, 1082, 1082, 645, 645, 645,
2302 266, 0, 1179, 0, 0, 0, 203, 203, 203, 0,
2303 0, 0, 0, 0, 0, 0, 7, 8, 9, 10,
2304 167, 12, 13, 0, 203, 0, 0, 14, 0, 0,
2305 0, 0, 0, 0, 0, 0, 0, 8, 9, 765,
2306 473, 16, 247, 17, 18, 508, 0, 0, 0, 0,
2307 20, 0, 0, 0, 473, 21, 473, 0, 473, 23,
2308 0, 236, 102, 0, 18, 0, 0, 0, 26, 0,
2309 27, 28, 0, 0, 0, 0, 0, 261, 8, 9,
2310 10, 640, 102, 13, 30, 0, 0, 0, 26, 0,
2311 130, 131, 0, 0, 31, 0, 0, 1233, 0, 0,
2312 0, 0, 32, 0, 1523, 18, 33, 0, 0, 0,
2313 0, 0, 0, 0, 1524, 0, 21, 0, 0, 0,
2314 645, 0, 645, 645, 645, 102, 1525, 644, 0, 26,
2315 473, 27, 262, 0, 0, 0, 0, 0, 598, 599,
2316 600, 601, 602, 603, 604, 806, 605, 606, 607, 608,
2317 609, 610, 611, 612, 613, 807, 0, 0, 0, 0,
2318 0, 0, 0, 32, 0, 473, 0, 808, 0, 0,
2319 0, 0, 102, 0, 102, 102, 0, 203, 203, 203,
2320 203, 203, 1082, 8, 9, 203, 0, 0, 540, 0,
2321 0, 0, 0, 0, 0, 0, 0, 765, 765, 203,
2322 203, 203, 203, 0, 0, 0, 0, 0, 0, 0,
2323 18, 0, 0, 7, 8, 9, 10, 206, 12, 207,
2324 102, 203, 0, 0, 14, 0, 0, 640, 0, 0,
2325 0, 1312, 0, 0, 26, 0, 130, 131, 16, 102,
2326 17, 18, 0, 0, 0, 0, 102, 20, 0, 102,
2327 1523, 0, 21, 8, 9, 0, 23, 0, 13, 0,
2328 1524, 102, 0, 0, 0, 26, 0, 27, 28, 0,
2329 0, 0, 1525, 644, 0, 0, 0, 0, 0, 0,
2330 18, 30, 765, 765, 0, 0, 645, 645, 645, 0,
2331 0, 31, 0, 0, 0, 981, 0, 640, 0, 32,
2332 0, 0, 0, 33, 26, 0, 130, 131, 0, 0,
2333 0, 0, 203, 0, 203, 0, 0, 0, 0, 0,
2334 1523, 0, 0, 0, 0, 203, 203, 1277, 203, 0,
2335 1524, 0, 0, 0, 0, 0, 0, 0, 1366, 0,
2336 0, 0, 1525, 644, 0, 0, 0, 0, 102, 0,
2337 830, 0, 0, 0, 0, 0, 0, 0, 473, 0,
2338 473, 0, 473, 8, 9, 0, 167, 12, 13, 0,
2339 765, 0, 0, 14, 102, 0, 102, 0, 645, 0,
2340 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
2341 18, 0, 0, 0, 0, 0, 20, 0, 765, 0,
2342 0, 0, 0, 0, 0, 726, 0, 0, 168, 0,
2343 0, 0, 1434, 1435, 26, 0, 130, 131, 645, 645,
2344 645, 1082, 0, 0, 0, 0, 0, 0, 981, 0,
2345 203, 203, 1082, 203, 0, 0, 0, 0, 0, 0,
2346 765, 0, 0, 599, 600, 601, 602, 603, 604, 102,
2347 605, 606, 607, 608, 609, 610, 611, 612, 613, 0,
2348 102, 102, 0, 102, 102, 0, 0, 0, 0, 473,
2349 0, 7, 8, 9, 10, 215, 216, 217, 0, 0,
2350 0, 0, 14, 0, 0, 0, 0, 0, 0, 1490,
2351 1082, 1082, 1082, 0, 0, 0, 203, 0, 0, 18,
2352 0, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2353 21, 0, 0, 0, 23, 203, 640, 0, 0, 0,
2354 0, 0, 0, 26, 0, 27, 28, 0, 765, 645,
2355 0, 0, 0, 0, 0, 0, 0, 0, 0, 194,
2356 102, 0, 1536, 0, 0, 0, 0, 102, 121, 195,
2357 0, 0, 0, 0, 0, 0, 236, 32, 0, 0,
2358 0, 1514, 0, 0, 0, 765, 8, 9, 0, 167,
2359 12, 13, 0, 0, 470, 0, 14, 0, 0, 830,
2360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2361 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
2362 0, 0, 645, 645, 0, 0, 645, 0, 23, 645,
2363 640, 0, 0, 0, 0, 0, 473, 26, 645, 130,
2364 131, 0, 981, 981, 981, 0, 0, 0, 645, 0,
2365 0, 0, 0, 1523, 0, 0, 1592, 1593, 18, 0,
2366 0, 0, 0, 1524, 0, 0, 0, 0, 0, 0,
2367 0, 0, 0, 0, 0, 1525, 644, 0, 0, 830,
2368 0, 0, 102, 0, 0, 0, 0, 0, 0, 1618,
2369 0, 684, 685, 686, 687, 688, 689, 690, 691, 692,
2370 693, 694, 695, 696, 697, 698, 699, 700, 701, 702,
2371 703, 704, 705, 0, 102, 102, 102, 102, 0, 0,
2372 1632, 0, 0, 0, 0, 0, 102, 0, 0, 0,
2373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2374 645, 645, 645, 645, 645, 645, 645, 0, 0, 0,
2375 645, 0, 981, 981, 981, 0, 8, 9, 0, 167,
2376 12, 13, 0, 0, 470, 0, 14, 0, 0, 8,
2377 9, 0, 167, 12, 13, 0, 0, 1634, 0, 14,
2378 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
2379 0, 0, 0, 16, 0, 17, 18, 0, 23, 102,
2380 102, 0, 20, 102, 0, 0, 102, 26, 0, 130,
2381 131, 23, 0, 0, 0, 102, 0, 0, 0, 0,
2382 26, 0, 130, 131, 0, 102, 0, 0, 0, 8,
2383 9, 765, 206, 12, 207, 0, 0, 0, 0, 14,
2384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2385 0, 0, 0, 16, 0, 17, 18, 0, 0, 0,
2386 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
2387 0, 23, 0, 0, 0, 0, 0, 0, 0, 0,
2388 26, 0, 130, 131, 0, 0, 0, 645, 0, 0,
2389 645, 645, 645, 0, 684, 685, 686, 687, 688, 689,
2390 690, 691, 692, 693, 694, 695, 696, 697, 698, 699,
2391 700, 701, 702, 703, 704, 705, 0, 0, 0, 0,
2392 1597, 0, -502, -502, -502, -502, -502, -502, -502, 0,
2393 0, -502, 0, -502, 0, 645, 645, 645, 645, 645,
2394 645, 1338, 0, 645, -502, 0, -502, 0, 0, 0,
2395 -502, 0, 0, 0, 830, 0, -502, 0, 0, 0,
2396 0, -502, 0, 0, 0, -502, 0, -502, 0, 0,
2397 0, 0, 0, 0, -502, 0, -502, -502, -502, -502,
2398 -502, 102, -502, -502, -502, -502, -502, -502, -502, -502,
2399 -502, -502, -502, -502, -502, -502, -502, -502, -502, -502,
2400 -502, -502, -502, -502, -502, 0, -502, -502, -502, 0,
2401 -502, -502, -502, -502, -502, 0, 0, 0, 0, 0,
2402 1598, -502, 0, 0, 0, 0, -502, -502, -502, 0,
2403 -502, 0, 0, 0, 0, 0, 0, 0, 102, 102,
2404 0, 102, 684, 685, 686, 687, 688, 689, 690, 691,
2405 692, 693, 694, 695, 696, 697, 698, 699, 700, 701,
2406 702, 703, 704, 705, 102, 0, 0, 102, 102, 0,
2407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2408 0, 0, 0, 645, 645, 1655, 645, 0, 0, 0,
2409 0, 0, 0, 0, 0, 0, 830, 688, 689, 690,
2410 691, 692, 693, 694, 695, 696, 697, 698, 699, 700,
2411 701, 702, 703, 704, 705, 575, 0, 7, 8, 9,
2412 10, 167, 12, 305, 306, 307, 470, 308, 14, 0,
2413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2414 0, 830, 16, 309, 17, 18, 19, 0, 310, 311,
2415 312, 20, 0, 313, 314, 315, 21, 316, 317, 102,
2416 23, 102, 640, 0, 318, 319, 320, 321, 322, 26,
2417 0, 27, 28, -336, 0, 0, 369, 0, 0, 0,
2418 0, 0, 325, 0, 0, 1087, 0, 0, 645, 645,
2419 645, 645, 0, 327, 328, 1088, 0, 0, 0, 0,
2420 0, 330, 331, 332, 0, 0, 0, 1089, 644, 0,
2421 907, 0, 261, 8, 9, 10, 167, 12, 305, 306,
2422 307, 0, 308, 14, 334, 0, 0, 0, 0, 0,
2423 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
2424 18, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2425 315, 21, 316, 317, 645, 23, 0, 0, 0, 318,
2426 319, 320, 321, 322, 26, 0, 27, 262, 1613, 0,
2427 -815, 369, 0, 0, 0, 0, 0, 325, 0, 0,
2428 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2429 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2430 0, 575, 333, 261, 8, 9, 10, 0, 12, 305,
2431 306, 307, 0, 308, 14, 0, 0, 0, 0, 334,
2432 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
2433 17, 18, 19, 0, 310, 311, 312, 20, 0, 313,
2434 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
2435 318, 319, 320, 321, 322, 26, 0, 27, 262, -336,
2436 0, 0, 369, 0, 0, 0, 0, 0, 325, 0,
2437 0, 576, 0, 0, 0, 0, 0, 0, 0, 327,
2438 328, 577, 0, 0, 0, 0, 0, 330, 331, 332,
2439 0, 0, 763, 578, 895, 896, 897, 10, 0, 12,
2440 486, 306, 307, 0, 308, 14, 0, 0, 0, 0,
2441 334, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2442 309, 17, 0, 19, 0, 310, 311, 312, 20, 0,
2443 313, 314, 315, 21, 316, 317, 0, 23, 0, 0,
2444 0, 318, 319, 320, 321, 322, 26, 0, 898, 899,
2445 764, 0, 0, 369, 0, 0, 0, 0, 0, 325,
2446 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2447 327, 328, 329, 0, 0, 0, 0, 0, 330, 331,
2448 332, 0, 0, 0, 333, 900, 763, 0, 261, 8,
2449 9, 10, 0, 12, 486, 306, 307, 0, 308, 14,
2450 0, 334, 0, 0, 0, 0, 0, 0, 0, 0,
2451 0, 0, 0, 16, 309, 17, 0, 19, 0, 310,
2452 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2453 0, 23, 0, 0, 0, 318, 319, 320, 321, 322,
2454 26, 0, 27, 262, 764, 0, 0, 369, 0, 0,
2455 0, 0, 0, 325, 0, 0, 326, 0, 0, 0,
2456 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2457 0, 0, 330, 331, 332, 0, 0, 0, 333, 763,
2458 0, 895, 896, 897, 10, 1286, 12, 486, 306, 307,
2459 0, 308, 14, 0, 0, 334, 0, 0, 0, 0,
2460 0, 0, 0, 0, 0, 0, 16, 309, 17, 0,
2461 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
2462 21, 316, 317, 0, 23, 0, 0, 0, 318, 319,
2463 320, 321, 322, 26, 0, 898, 899, 764, 0, 0,
2464 369, 0, 0, 0, 0, 0, 325, 0, 0, 326,
2465 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
2466 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
2467 763, 333, 895, 896, 897, 10, 0, 12, 486, 306,
2468 307, 0, 308, 14, 0, 0, 0, -506, 334, 0,
2469 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
2470 0, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2471 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
2472 319, 320, 321, 322, 26, 0, 898, 899, 764, 0,
2473 0, 369, 0, 0, 0, 0, 0, 325, 0, 0,
2474 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2475 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2476 0, 575, 333, 7, 8, 9, 10, 0, 12, 305,
2477 306, 307, 0, 308, 14, 0, 0, 0, 1417, 334,
2478 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
2479 17, 18, 19, 0, 310, 311, 312, 20, 0, 313,
2480 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
2481 318, 319, 320, 321, 322, 26, 0, 27, 28, -336,
2482 0, 0, 369, 0, 0, 0, 0, 0, 325, 0,
2483 0, 1583, 0, 0, 0, 0, 0, 0, 0, 327,
2484 328, 1584, 0, 0, 0, 0, 0, 330, 331, 332,
2485 0, 0, 763, 1585, 261, 8, 9, 10, 0, 12,
2486 486, 306, 307, 0, 308, 14, 0, 0, 0, 0,
2487 334, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2488 309, 17, 0, 19, 0, 310, 311, 312, 20, 0,
2489 313, 314, 315, 21, 316, 317, 0, 23, 0, 0,
2490 0, 318, 319, 320, 321, 322, 26, 0, 27, 262,
2491 764, 0, 0, 369, 0, 0, 0, 0, 0, 325,
2492 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2493 327, 328, 329, 0, 0, 0, 0, 0, 330, 331,
2494 332, 0, 0, 907, 333, 261, 8, 9, 10, 0,
2495 12, 486, 306, 307, 0, 308, 14, 0, 0, 0,
2496 0, 334, 0, 0, 0, 0, 0, 0, 0, 0,
2497 16, 309, 17, 0, 19, 0, 310, 311, 312, 20,
2498 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
2499 0, 0, 318, 319, 320, 321, 322, 26, 0, 27,
2500 262, 0, 0, 0, 369, -815, 0, 0, 0, 0,
2501 325, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2502 0, 327, 328, 329, 0, 0, 0, 0, 0, 330,
2503 331, 332, 0, 0, 1667, 333, 261, 8, 9, 10,
2504 0, 12, 305, 306, 307, 0, 308, 14, 0, 0,
2505 0, 0, 334, 0, 0, 0, 0, 0, 0, 0,
2506 0, 16, 309, 17, 0, 19, 0, 310, 311, 312,
2507 20, 0, 313, 314, 315, 21, 316, 317, 0, 23,
2508 0, 0, 0, 318, 319, 320, 321, 322, 26, 0,
2509 27, 262, 0, 0, -197, 369, 0, 0, 0, 0,
2510 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
2511 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
2512 330, 331, 332, 0, 0, 907, 333, 261, 8, 9,
2513 10, 0, 12, 486, 306, 307, 0, 308, 14, 0,
2514 0, 0, 0, 334, 0, 0, 0, 0, 0, 0,
2515 0, 0, 16, 309, 17, 0, 19, 0, 310, 311,
2516 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
2517 23, 0, 0, 0, 318, 319, 320, 321, 322, 26,
2518 0, 27, 262, 0, 0, 0, 369, 0, 0, 0,
2519 0, 0, 325, 0, 0, 326, 0, 0, 0, 0,
2520 0, 0, 0, 327, 328, 329, 0, 0, 0, 0,
2521 0, 330, 331, 332, 0, 0, 1000, 333, 261, 8,
2522 9, 10, 0, 12, 486, 306, 307, 0, 308, 14,
2523 0, 0, -815, 0, 334, 0, 0, 0, 0, 0,
2524 0, 0, 0, 16, 309, 17, 0, 19, 0, 310,
2525 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2526 0, 23, 0, 0, 0, 318, 319, 320, 321, 322,
2527 26, 0, 27, 262, 0, 0, 0, 369, 0, 0,
2528 0, 0, 0, 325, 0, 0, 326, 0, 0, 0,
2529 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2530 0, 0, 330, 331, 332, 0, 0, 1002, 333, 261,
2531 8, 9, 10, 0, 12, 486, 306, 307, 0, 308,
2532 14, 0, 0, 0, 0, 334, 0, 0, 0, 0,
2533 0, 0, 0, 0, 16, 309, 17, 0, 19, 0,
2534 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2535 317, 0, 23, 0, 0, 0, 318, 319, 320, 321,
2536 322, 26, 0, 27, 262, 0, 0, 0, 369, 0,
2537 0, 0, 0, 0, 325, 0, 0, 326, 0, 0,
2538 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2539 0, 0, 0, 330, 331, 332, 0, 0, 1631, 333,
2540 261, 8, 9, 10, 0, 12, 486, 306, 307, 0,
2541 308, 14, 0, 0, 0, 0, 334, 0, 0, 0,
2542 0, 0, 0, 0, 0, 16, 309, 17, 0, 19,
2543 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
2544 316, 317, 0, 23, 0, 0, 0, 318, 319, 320,
2545 321, 322, 26, 0, 27, 262, 0, 0, 0, 369,
2546 0, 0, 0, 0, 0, 325, 0, 0, 326, 0,
2547 0, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2548 0, 0, 0, 0, 330, 331, 332, 0, 0, 0,
2549 333, 261, 8, 9, 10, 0, 12, 486, 306, 307,
2550 0, 308, 14, 0, 0, 0, 0, 334, 0, 0,
2551 0, 0, 0, 0, 0, 0, 16, 309, 17, 0,
2552 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
2553 21, 316, 317, 0, 23, 0, 0, 0, 318, 319,
2554 320, 321, 322, 26, 0, 27, 262, 0, 0, 0,
2555 369, 0, 0, 0, 0, 0, 325, 0, 0, 326,
2556 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
2557 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
2558 0, 333, 261, 8, 9, 10, 0, 12, 486, 306,
2559 307, 0, 308, 14, 0, 0, 0, 0, 334, 487,
2560 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
2561 0, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2562 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
2563 319, 320, 321, 322, 26, 0, 27, 262, 0, 0,
2564 0, 369, 0, 0, 0, 0, 0, 325, 0, 0,
2565 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2566 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2567 0, 0, 333, 261, 8, 9, 10, 0, 12, 486,
2568 306, 307, 0, 308, 14, 0, 0, 0, 0, 334,
2569 816, 0, 0, 0, 0, 0, 0, 0, 16, 309,
2570 17, 0, 19, 0, 310, 311, 312, 20, 0, 313,
2571 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
2572 318, 319, 320, 321, 322, 26, 0, 27, 262, 0,
2573 0, 0, 369, 0, 0, 0, 0, 0, 325, 0,
2574 0, 326, 0, 0, 0, 0, 0, 0, 0, 327,
2575 328, 329, 0, 0, 0, 0, 0, 330, 331, 332,
2576 0, 0, 0, 333, 261, 8, 9, 10, 0, 12,
2577 486, 306, 307, 0, 308, 14, 0, 0, 0, 0,
2578 334, 946, 0, 0, 0, 0, 0, 0, 0, 16,
2579 309, 17, 0, 19, 0, 310, 311, 312, 20, 0,
2580 313, 314, 315, 21, 316, 317, 0, 23, 0, 0,
2581 0, 318, 319, 320, 321, 322, 26, 0, 27, 262,
2582 0, 0, 0, 369, 0, 0, 0, 0, 0, 325,
2583 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2584 327, 328, 329, 0, 0, 0, 0, 0, 330, 331,
2585 332, 0, 0, 0, 333, 261, 8, 9, 10, 0,
2586 12, 486, 306, 307, 0, 308, 14, 0, 0, 0,
2587 0, 334, 967, 0, 0, 0, 0, 0, 0, 0,
2588 16, 309, 17, 0, 19, 0, 310, 311, 312, 20,
2589 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
2590 0, 0, 318, 319, 320, 321, 322, 26, 0, 27,
2591 262, 0, 0, 0, 369, 0, 0, 0, 0, 0,
2592 325, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2593 0, 327, 328, 329, 0, 0, 0, 0, 0, 330,
2594 331, 332, 0, 0, 0, 333, 690, 691, 692, 693,
2595 694, 695, 696, 697, 698, 699, 700, 701, 702, 703,
2596 704, 705, 334, 1220, 1379, 1380, 1381, 10, 167, 12,
2597 305, 306, 307, 0, 308, 14, 1382, 0, 1383, 1384,
2598 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 15, 16,
2599 309, 17, 18, 19, 0, 310, 311, 312, 20, 0,
2600 313, 314, 315, 21, 316, 317, 1393, 23, 1394, 0,
2601 0, 318, 319, 320, 321, 322, 26, 0, 1395, 262,
2602 760, 0, 1396, 369, 0, 0, 0, 0, 0, 325,
2603 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2604 327, 328, 329, 0, 0, 0, 0, 0, 330, 331,
2605 332, 0, 0, 0, 333, 0, 1397, 0, 0, 0,
2606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2607 1521, 334, 1379, 1380, 1381, 10, 167, 12, 305, 306,
2608 307, 0, 308, 14, 1382, 0, 1383, 1384, 1385, 1386,
2609 1387, 1388, 1389, 1390, 1391, 1392, 15, 16, 309, 17,
2610 18, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2611 315, 21, 316, 317, 1393, 23, 1394, 0, 0, 318,
2612 319, 320, 321, 322, 26, 0, 1395, 262, 760, 0,
2613 1396, 369, 0, 0, 0, 0, 0, 325, 0, 0,
2614 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2615 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2616 0, 0, 333, 0, 1397, 0, 1379, 1380, 1381, 10,
2617 167, 12, 305, 306, 307, 0, 308, 14, 1382, 334,
2618 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392,
2619 15, 16, 309, 17, 18, 19, 0, 310, 311, 312,
2620 20, 0, 313, 314, 315, 21, 316, 317, 1393, 23,
2621 1394, 0, 0, 318, 319, 320, 321, 322, 26, 0,
2622 1395, 262, 1640, 0, 1396, 369, 0, 0, 0, 0,
2623 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
2624 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
2625 330, 331, 332, 0, 0, 0, 333, 0, 1397, 0,
2626 1379, 1380, 1381, 10, 167, 12, 305, 306, 307, 0,
2627 308, 14, 1382, 334, 1383, 1384, 1385, 1386, 1387, 1388,
2628 1389, 1390, 1391, 1392, 15, 16, 309, 17, 18, 19,
2629 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
2630 316, 317, 1393, 23, 1394, 0, 0, 318, 319, 320,
2631 321, 322, 26, 0, 1395, 262, 0, 0, 1396, 369,
2632 0, 0, 0, 0, 0, 325, 0, 0, 326, 0,
2633 0, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2634 0, 0, 0, 0, 330, 331, 332, 0, 0, 0,
2635 333, 0, 1397, 261, 8, 9, 10, 167, 12, 305,
2636 306, 307, 470, 308, 14, 0, 0, 334, 0, 0,
2637 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
2638 17, 18, 19, 0, 310, 311, 312, 20, 0, 313,
2639 314, 315, 21, 316, 317, 0, 23, 0, 640, 0,
2640 318, 319, 320, 321, 322, 26, 0, 27, 262, 0,
2641 0, 0, 369, 0, 0, 0, 0, 0, 325, 0,
2642 0, 977, 0, 0, 0, 0, 0, 0, 0, 327,
2643 328, 978, 0, 0, 0, 0, 0, 330, 331, 332,
2644 0, 0, 0, 979, 644, 7, 8, 9, 10, 167,
2645 12, 305, 306, 307, 470, 308, 14, 0, 0, 0,
2646 334, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2647 16, 309, 17, 18, 19, 0, 310, 311, 312, 20,
2648 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
2649 640, 0, 318, 319, 320, 321, 322, 26, 0, 27,
2650 28, 0, 0, 0, 369, 0, 0, 0, 0, 0,
2651 325, 0, 0, 1087, 0, 0, 0, 0, 0, 0,
2652 0, 327, 328, 1088, 0, 0, 0, 0, 0, 330,
2653 331, 332, 0, 0, 0, 1089, 644, 261, 8, 9,
2654 10, 0, 12, 305, 306, 307, 0, 308, 14, 0,
2655 0, 0, 334, 0, 0, 0, 0, 0, 0, 0,
2656 0, 0, 16, 309, 17, 18, 19, 0, 310, 311,
2657 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
2658 23, 0, 640, 0, 318, 319, 320, 321, 322, 26,
2659 0, 27, 262, 0, 0, 0, 0, 0, 0, 0,
2660 0, 0, 325, 0, 0, 977, 0, 0, 0, 0,
2661 0, 0, 0, 327, 328, 978, 0, 0, 0, 0,
2662 0, 330, 331, 332, 0, 0, 0, 979, 644, 7,
2663 8, 9, 10, 0, 12, 305, 306, 307, 0, 308,
2664 14, 0, 0, 0, 334, 0, 0, 0, 0, 0,
2665 0, 0, 0, 0, 16, 309, 17, 18, 19, 0,
2666 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2667 317, 0, 23, 0, 640, 0, 318, 319, 320, 321,
2668 322, 26, 0, 27, 28, 0, 0, 0, 0, 0,
2669 0, 0, 0, 0, 325, 0, 0, 1087, 0, 0,
2670 0, 0, 0, 0, 0, 327, 328, 1088, 0, 0,
2671 0, 0, 0, 330, 331, 332, 0, 0, 0, 1089,
2672 644, 261, 8, 9, 10, 0, 12, 486, 306, 307,
2673 0, 308, 14, 0, 0, 0, 334, 0, 0, 0,
2674 0, 0, 0, 0, 0, 0, 16, 309, 17, 18,
2675 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
2676 21, 316, 317, 0, 23, 0, 0, 0, 318, 319,
2677 320, 321, 322, 26, 0, 27, 262, 0, 0, 0,
2678 369, 0, 0, 0, 0, 0, 325, 0, 0, 576,
2679 0, 0, 0, 0, 0, 0, 0, 327, 328, 577,
2680 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
2681 0, 578, 261, 8, 9, 10, 0, 12, 486, 306,
2682 307, 0, 308, 14, 0, 0, 0, 0, 334, 0,
2683 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
2684 0, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2685 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
2686 319, 320, 321, 322, 26, 0, 27, 262, 0, 0,
2687 1494, 369, 0, 0, 0, 0, 0, 325, 0, 0,
2688 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2689 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2690 0, 0, 333, 261, 8, 9, 10, 167, 12, 305,
2691 306, 307, 0, 308, 14, 0, 0, 0, 0, 334,
2692 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
2693 17, 18, 19, 0, 310, 311, 312, 20, 0, 313,
2694 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
2695 318, 319, 320, 321, 322, 26, 0, 27, 262, 0,
2696 0, 0, 0, 0, 0, 0, 0, 0, 325, 0,
2697 0, 326, 0, 0, 0, 0, 0, 0, 0, 327,
2698 328, 329, 0, 0, 0, 0, 0, 330, 331, 332,
2699 0, 0, 0, 333, 7, 8, 9, 10, 0, 12,
2700 486, 306, 307, 0, 308, 14, 0, 0, 0, 0,
2701 334, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2702 309, 17, 18, 19, 0, 310, 311, 312, 20, 0,
2703 313, 314, 315, 21, 316, 317, 0, 23, 0, 0,
2704 0, 318, 319, 320, 321, 322, 26, 0, 27, 28,
2705 0, 0, 0, 369, 0, 0, 0, 0, 0, 325,
2706 0, 0, 1583, 0, 0, 0, 0, 0, 0, 0,
2707 327, 328, 1584, 0, 0, 0, 0, 0, 330, 331,
2708 332, 0, 0, 0, 1585, 261, 8, 9, 10, 0,
2709 12, 305, 306, 307, 0, 308, 14, 0, 0, 0,
2710 0, 334, 0, 0, 0, 0, 0, 0, 0, 0,
2711 16, 309, 17, 0, 19, 0, 310, 311, 312, 20,
2712 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
2713 0, 0, 318, 319, 320, 321, 322, 26, 0, 323,
2714 262, 0, 0, 0, 324, 0, 0, 0, 0, 0,
2715 325, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2716 0, 327, 328, 329, 0, 0, 0, 0, 0, 330,
2717 331, 332, 0, 0, 0, 333, 261, 8, 9, 10,
2718 0, 12, 305, 306, 307, 0, 308, 14, 0, 0,
2719 0, 0, 334, 0, 0, 0, 0, 0, 0, 0,
2720 0, 16, 309, 17, 0, 19, 0, 310, 311, 312,
2721 20, 0, 313, 314, 315, 21, 316, 317, 0, 23,
2722 0, 0, 0, 318, 319, 320, 321, 322, 26, 0,
2723 27, 262, 0, 0, 0, 369, 0, 0, 0, 0,
2724 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
2725 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
2726 330, 331, 332, 0, 0, 0, 333, 261, 8, 9,
2727 10, 0, 12, 486, 306, 307, 0, 308, 14, 0,
2728 0, 0, 0, 334, 0, 0, 0, 0, 0, 0,
2729 0, 0, 16, 309, 17, 0, 19, 0, 310, 311,
2730 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
2731 23, 0, 0, 0, 318, 319, 320, 321, 322, 26,
2732 0, 27, 262, 0, 0, 0, 324, 0, 0, 0,
2733 0, 0, 325, 0, 0, 326, 0, 0, 0, 0,
2734 0, 0, 0, 327, 328, 329, 0, 0, 0, 0,
2735 0, 330, 331, 332, 0, 0, 0, 333, 261, 8,
2736 9, 10, 0, 12, 486, 306, 307, 0, 308, 14,
2737 0, 0, 0, 0, 334, 0, 0, 0, 0, 0,
2738 0, 0, 0, 16, 309, 17, 0, 19, 0, 310,
2739 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2740 0, 23, 0, 0, 0, 318, 319, 320, 321, 322,
2741 26, 0, 27, 262, 590, 0, 0, 0, 0, 0,
2742 0, 0, 0, 325, 0, 0, 326, 0, 0, 0,
2743 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2744 0, 0, 330, 331, 332, 0, 0, 0, 591, 261,
2745 8, 9, 10, 0, 12, 486, 306, 307, 0, 308,
2746 14, 0, 0, 0, 0, 334, 0, 0, 0, 0,
2747 0, 0, 0, 0, 16, 309, 17, 0, 19, 0,
2748 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2749 317, 0, 23, 0, 0, 0, 318, 319, 320, 321,
2750 322, 26, 0, 27, 262, 0, 0, 0, 0, 0,
2751 0, 0, 0, 0, 325, 0, 0, 326, 0, 0,
2752 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2753 0, 0, 0, 330, 331, 332, 0, 0, 0, 333,
2754 628, 261, 8, 9, 10, 0, 12, 486, 306, 307,
2755 0, 308, 14, 0, 0, 0, 334, 0, 0, 0,
2756 0, 0, 0, 0, 0, 0, 16, 309, 17, 0,
2757 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
2758 21, 316, 317, 0, 23, 0, 0, 0, 318, 319,
2759 320, 321, 322, 26, 0, 27, 262, 0, 0, 0,
2760 369, 0, 0, 0, 0, 0, 325, 0, 0, 326,
2761 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
2762 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
2763 0, 333, 261, 8, 9, 10, 0, 12, 486, 306,
2764 307, 0, 308, 14, 0, 0, 0, 0, 334, 0,
2765 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
2766 18, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2767 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
2768 319, 320, 321, 322, 26, 0, 27, 262, 0, 0,
2769 0, 0, 0, 0, 0, 0, 0, 325, 0, 0,
2770 576, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2771 577, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2772 0, 0, 578, 1239, 8, 9, 10, 0, 12, 486,
2773 306, 307, 0, 308, 14, 0, 0, 0, 0, 334,
2774 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
2775 17, 0, 19, 0, 310, 311, 312, 20, 0, 313,
2776 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
2777 318, 319, 320, 321, 322, 26, 0, 27, 262, 0,
2778 0, 0, 369, 0, 0, 0, 0, 0, 325, 0,
2779 0, 326, 0, 0, 0, 0, 0, 0, 0, 327,
2780 328, 329, 0, 0, 0, 0, 0, 330, 331, 332,
2781 0, 0, 0, 333, 7, 8, 9, 10, 0, 12,
2782 305, 306, 307, 0, 308, 14, 0, 0, 0, 0,
2783 334, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2784 309, 17, 18, 19, 0, 310, 311, 312, 20, 0,
2785 313, 314, 315, 21, 316, 317, 0, 23, 0, 0,
2786 0, 318, 319, 320, 321, 322, 26, 0, 27, 28,
2787 0, 0, 0, 0, 0, 0, 0, 0, 0, 325,
2788 0, 0, 1583, 0, 0, 0, 0, 0, 0, 0,
2789 327, 328, 1584, 0, 0, 0, 0, 0, 330, 331,
2790 332, 0, 0, 0, 1585, 261, 8, 9, 10, 0,
2791 12, 486, 306, 307, 0, 308, 14, 0, 0, 0,
2792 0, 334, 0, 0, 0, 0, 0, 0, 0, 0,
2793 16, 309, 17, 0, 19, 0, 310, 311, 312, 20,
2794 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
2795 0, 0, 318, 319, 320, 321, 322, 26, 0, 27,
2796 262, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2797 325, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2798 0, 327, 328, 329, 0, 0, 0, 0, 0, 330,
2799 331, 332, 0, 0, 0, 558, 261, 8, 9, 10,
2800 0, 12, 486, 306, 307, 0, 308, 14, 0, 0,
2801 0, 0, 334, 0, 0, 0, 0, 0, 0, 0,
2802 0, 16, 309, 17, 0, 19, 0, 310, 311, 312,
2803 20, 0, 313, 314, 315, 21, 316, 317, 0, 23,
2804 0, 0, 0, 318, 319, 320, 321, 322, 26, 0,
2805 27, 262, 0, 0, 0, 0, 0, 0, 0, 0,
2806 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
2807 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
2808 330, 331, 332, 0, 0, 0, 560, 261, 8, 9,
2809 10, 0, 12, 486, 306, 307, 0, 308, 14, 0,
2810 0, 0, 0, 334, 0, 0, 0, 0, 0, 0,
2811 0, 0, 16, 309, 17, 0, 19, 0, 310, 311,
2812 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
2813 23, 0, 0, 0, 318, 319, 320, 321, 322, 26,
2814 0, 27, 262, 0, 0, 0, 0, 0, 0, 0,
2815 0, 0, 325, 0, 0, 326, 0, 0, 0, 0,
2816 0, 0, 0, 327, 328, 329, 0, 0, 0, 0,
2817 0, 330, 331, 332, 0, 0, 0, 333, 0, 0,
2818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2819 0, 683, 0, 0, 334, 684, 685, 686, 687, 688,
2820 689, 690, 691, 692, 693, 694, 695, 696, 697, 698,
2821 699, 700, 701, 702, 703, 704, 705, 1170, 0, 0,
2822 0, 684, 685, 686, 687, 688, 689, 690, 691, 692,
2823 693, 694, 695, 696, 697, 698, 699, 700, 701, 702,
2824 703, 704, 705, 1648, 684, 685, 686, 687, 688, 689,
2825 690, 691, 692, 693, 694, 695, 696, 697, 698, 699,
2826 700, 701, 702, 703, 704, 705, 684, 685, 686, 687,
2827 688, 689, 690, 691, 692, 693, 694, 695, 696, 697,
2828 698, 699, 700, 701, 702, 703, 704, 705
2831 static const short yycheck
[] = { 4,
2832 55, 46, 4, 175, 174, 23, 758, 210, 176, 80,
2833 407, 14, 4, 359, 161, 353, 528, 149, 150, 22,
2834 407, 42, 407, 126, 359, 4, 84, 4, 465, 686,
2835 35, 76, 134, 35, 156, 740, 14, 42, 59, 588,
2836 42, 308, 309, 35, 4, 248, 378, 90, 666, 92,
2837 4, 42, 57, 30, 31, 252, 35, 244, 35, 133,
2838 134, 935, 65, 42, 445, 42, 843, 72, 845, 210,
2839 734, 124, 42, 144, 341, 35, 853, 133, 219, 84,
2840 190, 35, 42, 88, 1476, 90, 483, 92, 42, 1398,
2841 460, 12, 1564, 42, 137, 42, 483, 11, 301, 4,
2842 39, 1408, 107, 108, 57, 83, 38, 84, 1415, 11,
2843 11, 75, 1, 9, 1588, 1613, 55, 33, 8, 9,
2844 175, 124, 1, 741, 14, 1566, 514, 60, 106, 0,
2845 35, 136, 137, 204, 139, 1609, 48, 42, 1610, 60,
2846 478, 55, 63, 531, 1691, 148, 80, 37, 169, 63,
2847 353, 489, 218, 219, 61, 0, 46, 27, 48, 136,
2848 165, 31, 359, 1, 169, 1663, 62, 169, 1715, 214,
2849 59, 176, 149, 150, 165, 108, 136, 109, 169, 84,
2850 59, 93, 136, 136, 63, 190, 1652, 108, 165, 210,
2851 169, 61, 169, 109, 108, 65, 1670, 218, 219, 169,
2852 360, 361, 109, 93, 1645, 165, 108, 108, 25, 169,
2853 27, 165, 582, 190, 48, 169, 95, 194, 195, 12,
2854 169, 59, 169, 176, 48, 63, 1692, 248, 60, 33,
2855 49, 136, 62, 75, 27, 33, 239, 240, 31, 109,
2856 55, 25, 59, 27, 93, 757, 63, 60, 63, 252,
2857 4, 5, 1724, 413, 414, 48, 1565, 95, 1650, 93,
2858 165, 61, 1569, 76, 169, 60, 60, 60, 61, 93,
2859 63, 249, 65, 61, 108, 59, 350, 109, 95, 63,
2860 301, 859, 4, 5, 108, 190, 991, 865, 346, 994,
2861 352, 353, 354, 108, 350, 49, 398, 302, 55, 7,
2862 93, 94, 61, 57, 58, 55, 453, 1306, 1307, 109,
2863 140, 95, 1619, 108, 108, 108, 1190, 663, 75, 362,
2864 60, 109, 325, 55, 1323, 75, 156, 81, 333, 60,
2865 38, 63, 353, 267, 48, 57, 58, 390, 93, 48,
2866 60, 346, 727, 1048, 1049, 149, 150, 151, 48, 354,
2867 109, 48, 150, 151, 409, 48, 65, 362, 363, 48,
2868 93, 75, 55, 366, 1671, 497, 498, 48, 108, 346,
2869 511, 752, 753, 25, 377, 1039, 12, 108, 500, 93,
2870 94, 359, 75, 213, 93, 717, 363, 390, 108, 759,
2871 411, 221, 196, 93, 108, 75, 93, 975, 196, 25,
2872 93, 27, 407, 363, 93, 410, 75, 59, 238, 363,
2873 363, 63, 93, 475, 55, 477, 478, 479, 4, 93,
2874 475, 48, 477, 478, 60, 12, 447, 63, 407, 65,
2875 407, 4, 5, 59, 75, 48, 633, 63, 1437, 61,
2876 33, 346, 447, 95, 510, 511, 48, 1446, 1447, 35,
2877 1449, 48, 518, 872, 873, 874, 447, 478, 363, 48,
2878 3, 4, 5, 6, 530, 48, 93, 94, 65, 95,
2879 447, 476, 1346, 60, 479, 520, 63, 447, 483, 522,
2880 93, 108, 55, 549, 57, 58, 48, 447, 1106, 510,
2881 511, 93, 94, 447, 1043, 59, 93, 518, 71, 42,
2882 937, 76, 407, 78, 93, 94, 483, 667, 81, 530,
2883 93, 94, 55, 556, 57, 58, 4, 522, 4, 108,
2884 497, 498, 107, 526, 529, 1230, 1231, 529, 549, 48,
2885 55, 93, 25, 97, 27, 333, 1114, 61, 4, 5,
2886 4, 5, 447, 9, 25, 1322, 89, 35, 1126, 35,
2887 75, 556, 529, 558, 48, 560, 149, 150, 151, 48,
2888 565, 566, 567, 568, 569, 63, 59, 625, 48, 529,
2889 63, 84, 85, 578, 93, 529, 529, 75, 483, 4,
2890 5, 751, 1160, 588, 1162, 49, 591, 590, 55, 55,
2891 48, 57, 58, 57, 58, 529, 1595, 1596, 55, 93,
2892 1112, 55, 95, 196, 93, 71, 63, 31, 3, 4,
2893 5, 48, 63, 93, 669, 81, 718, 81, 75, 624,
2894 625, 75, 48, 725, 529, 455, 59, 48, 94, 75,
2895 633, 59, 57, 58, 48, 93, 434, 435, 643, 985,
2896 48, 828, 829, 1040, 48, 650, 48, 834, 625, 670,
2897 985, 725, 48, 1040, 59, 1040, 93, 48, 1095, 1096,
2898 65, 491, 57, 58, 641, 642, 643, 93, 94, 65,
2899 500, 733, 93, 650, 4, 5, 654, 720, 733, 93,
2900 94, 884, 108, 55, 63, 93, 81, 517, 504, 93,
2901 94, 93, 94, 497, 498, 499, 512, 93, 94, 1069,
2902 498, 499, 93, 94, 108, 190, 108, 48, 726, 780,
2903 55, 48, 733, 93, 981, 720, 876, 108, 48, 55,
2904 625, 4, 5, 726, 63, 55, 55, 57, 58, 108,
2905 75, 734, 60, 182, 837, 60, 61, 3, 643, 757,
2906 6, 71, 1254, 1180, 1181, 650, 55, 1093, 76, 859,
2907 78, 81, 93, 94, 820, 865, 93, 94, 1093, 76,
2908 558, 764, 560, 93, 94, 31, 49, 108, 59, 108,
2909 775, 108, 63, 63, 57, 58, 42, 63, 783, 577,
2910 578, 108, 3, 4, 5, 75, 108, 1299, 985, 75,
2911 108, 57, 58, 591, 108, 850, 773, 774, 775, 820,
2912 45, 846, 847, 781, 55, 71, 783, 63, 55, 11,
2913 55, 856, 63, 58, 109, 81, 63, 860, 861, 75,
2914 863, 97, 884, 89, 75, 61, 48, 93, 75, 806,
2915 807, 1268, 93, 55, 3, 48, 57, 58, 843, 60,
2916 845, 843, 55, 845, 1196, 1197, 851, 1199, 853, 60,
2917 61, 853, 650, 75, 859, 860, 861, 1195, 863, 1296,
2918 865, 983, 75, 884, 55, 975, 843, 61, 845, 75,
2919 775, 93, 63, 1033, 4, 5, 853, 94, 783, 9,
2920 93, 63, 859, 843, 75, 845, 1056, 94, 865, 843,
2921 843, 845, 845, 853, 93, 957, 1093, 850, 851, 853,
2922 853, 1338, 964, 27, 497, 498, 499, 31, 1565, 843,
2923 55, 845, 55, 60, 61, 4, 5, 851, 63, 853,
2924 63, 983, 1109, 1110, 1111, 55, 1678, 57, 58, 934,
2925 75, 111, 75, 938, 60, 93, 60, 61, 843, 93,
2926 845, 71, 60, 61, 60, 61, 1078, 1079, 853, 75,
2927 76, 81, 78, 75, 859, 1087, 1088, 60, 75, 1081,
2928 865, 75, 65, 75, 969, 60, 55, 11, 57, 58,
2929 975, 775, 75, 76, 979, 60, 61, 775, 60, 783,
2930 108, 466, 71, 84, 85, 783, 3, 4, 5, 1426,
2931 60, 61, 81, 108, 1154, 1155, 1156, 108, 975, 797,
2932 977, 978, 979, 108, 1114, 94, 75, 985, 55, 807,
2933 808, 27, 1083, 1075, 75, 31, 1126, 60, 61, 1081,
2934 60, 61, 75, 1026, 108, 1, 1463, 3, 4, 5,
2935 6, 109, 8, 60, 61, 1040, 1039, 1042, 1043, 65,
2936 57, 58, 1699, 109, 60, 61, 108, 65, 108, 65,
2937 1160, 1, 1162, 3, 4, 5, 81, 82, 83, 84,
2938 85, 1040, 1117, 1040, 27, 111, 42, 1138, 75, 1407,
2939 975, 108, 557, 49, 979, 1080, 108, 75, 55, 55,
2940 75, 57, 58, 111, 1089, 1130, 3, 4, 5, 6,
2941 111, 1136, 1137, 1098, 108, 1140, 1141, 108, 48, 1144,
2942 1222, 1078, 1079, 1080, 108, 55, 59, 57, 58, 1114,
2943 1087, 1088, 1089, 89, 108, 1093, 55, 1487, 8, 9,
2944 8, 1126, 93, 48, 14, 42, 109, 957, 65, 60,
2945 615, 93, 55, 1503, 964, 1040, 621, 1114, 623, 624,
2946 57, 58, 1147, 93, 109, 1147, 61, 37, 1270, 1126,
2947 37, 65, 65, 983, 65, 1160, 46, 1162, 61, 108,
2948 1222, 1204, 108, 63, 1117, 1170, 4, 5, 108, 65,
2949 1147, 65, 657, 111, 76, 1080, 4, 76, 1181, 60,
2950 978, 979, 775, 1160, 1089, 1162, 108, 1147, 108, 108,
2951 783, 76, 108, 1147, 1147, 63, 1356, 818, 108, 1204,
2952 76, 76, 108, 108, 1138, 63, 1603, 35, 1270, 1114,
2953 60, 108, 63, 1147, 42, 108, 1603, 55, 1588, 57,
2954 58, 1126, 1227, 7, 8, 9, 108, 55, 94, 57,
2955 14, 111, 109, 1405, 108, 1407, 1254, 858, 1406, 1609,
2956 111, 108, 1147, 864, 89, 1075, 75, 31, 1225, 1226,
2957 1227, 1081, 48, 37, 108, 1160, 108, 1162, 111, 1262,
2958 1265, 108, 46, 1265, 108, 1268, 1636, 108, 63, 1607,
2959 1275, 108, 1709, 1265, 1078, 1079, 1080, 4, 5, 109,
2960 61, 1079, 1080, 1087, 1088, 1089, 109, 60, 1265, 108,
2961 1088, 1089, 60, 65, 60, 108, 1273, 1274, 1275, 63,
2962 1670, 108, 93, 93, 31, 4, 5, 190, 136, 109,
2963 9, 1265, 140, 93, 93, 1292, 1293, 1322, 111, 108,
2964 1322, 48, 1227, 108, 8, 1695, 30, 31, 55, 33,
2965 57, 58, 31, 108, 108, 111, 33, 165, 108, 108,
2966 65, 169, 55, 108, 71, 1322, 108, 175, 176, 970,
2967 1405, 972, 1407, 57, 81, 59, 55, 108, 57, 58,
2968 1265, 65, 1322, 108, 107, 108, 93, 94, 1322, 1322,
2969 1275, 108, 71, 108, 823, 81, 82, 83, 84, 85,
2970 108, 63, 81, 1317, 108, 111, 1407, 48, 1322, 1392,
2971 1393, 108, 1222, 1398, 93, 223, 1398, 108, 55, 1444,
2972 1445, 1406, 96, 1408, 1607, 108, 1408, 63, 63, 61,
2973 1415, 61, 9, 1415, 61, 16, 1408, 1322, 1423, 108,
2974 108, 1398, 108, 1415, 111, 3, 4, 5, 1226, 1227,
2975 108, 1408, 108, 1580, 93, 93, 61, 141, 1415, 61,
2976 1270, 65, 146, 55, 1398, 149, 150, 151, 191, 93,
2977 93, 1583, 1584, 938, 1408, 17, 61, 55, 61, 4,
2978 5, 1415, 108, 108, 1526, 1295, 107, 952, 1513, 954,
2979 102, 956, 176, 108, 108, 1478, 1274, 1275, 182, 57,
2980 58, 59, 11, 93, 61, 1078, 1079, 1080, 1658, 61,
2981 194, 195, 196, 1398, 1087, 1088, 1089, 1500, 1501, 65,
2982 61, 108, 60, 1408, 49, 61, 210, 61, 108, 108,
2983 1415, 61, 57, 58, 218, 219, 0, 61, 175, 61,
2984 1525, 61, 0, 0, 407, 35, 2, 1589, 170, 1501,
2985 3, 4, 5, 6, 718, 363, 81, 1040, 1159, 169,
2986 1161, 1688, 165, 1028, 1691, 1657, 1523, 1524, 1525, 3,
2987 4, 5, 447, 1608, 1559, 851, 260, 94, 1254, 1564,
2988 1565, 1566, 1564, 1565, 1569, 1712, 223, 1569, 1715, 42,
2989 239, 139, 1564, 1486, 1577, 1724, 49, 1569, 1063, 1026,
2990 1585, 409, 1559, 304, 57, 58, 1607, 1564, 1565, 1566,
2991 333, 764, 1569, 1638, 243, 676, 1299, 1218, 1603, 1147,
2992 483, 55, 1112, 57, 58, 1610, 1583, 1584, 1610, 851,
2993 1564, 1565, 1319, 678, 1619, 1569, 89, 1619, 1610, 447,
2994 1525, 997, 625, 3, 4, 5, 1603, 1619, 201, 333,
2995 350, 124, 1408, 1610, 1, 1266, 3, 4, 5, 1678,
2996 1645, 1695, 1619, 1624, 1690, 1423, 792, 475, 476, 477,
2997 478, -1, -1, -1, 1559, 483, 1610, -1, -1, 1564,
2998 1565, 1566, -1, 491, 1569, 1619, 1671, -1, 1645, 1671,
2999 1119, 1120, -1, -1, -1, 55, 504, 57, 58, 1671,
3000 -1, 48, 1303, -1, 512, -1, -1, 1308, 55, -1,
3001 57, 58, 59, 60, 1671, -1, 1526, 1146, 1603, -1,
3002 -1, 529, 1151, -1, -1, 1610, 410, 411, -1, -1,
3003 1514, -1, -1, -1, 1619, -1, 1514, 1671, -1, 1724,
3004 424, -1, 1724, 427, 4, 5, 93, 31, -1, 433,
3005 434, 435, 1724, -1, -1, 439, -1, -1, -1, 1360,
3006 1645, -1, -1, 3, 4, 5, 6, 1724, 3, 4,
3007 5, -1, 409, -1, 3, 4, 5, -1, -1, 1589,
3008 643, 82, -1, 506, -1, 324, 1671, 650, -1, 49,
3009 1724, 1256, 476, 1258, 478, 1260, -1, 57, 58, 1583,
3010 1584, 1585, 42, -1, -1, -1, 1584, 1585, 492, 49,
3011 -1, 495, -1, 497, 498, 499, -1, 57, 58, 503,
3012 55, 81, 57, 58, 59, 509, 510, 511, 57, 58,
3013 514, -1, -1, -1, 518, 558, -1, 560, 475, 1724,
3014 477, 478, 565, -1, -1, -1, -1, 531, -1, 89,
3015 -1, -1, 1453, 1454, 491, 578, -1, 141, 159, -1,
3016 -1, 669, 146, 500, 3, 4, 5, 504, 591, 1470,
3017 -1, -1, 595, -1, 558, 512, 560, -1, -1, -1,
3018 -1, -1, -1, 1312, 1313, -1, 1315, 1316, -1, 1318,
3019 -1, 192, 576, 577, 578, 9, -1, -1, 12, 622,
3020 -1, -1, 1367, -1, 205, 628, -1, 591, -1, -1,
3021 49, 195, 775, 3, 4, 5, 6, -1, 57, 58,
3022 783, 644, -1, -1, -1, 733, -1, -1, 1529, 1530,
3023 3, 4, 5, 6, 48, 3, 4, 5, -1, 7,
3024 190, 1514, -1, -1, 1545, 1546, 60, -1, 62, 63,
3025 -1, 65, 42, 7, 8, 9, -1, 641, 642, 643,
3026 14, -1, 76, 686, 78, 55, 650, 57, 58, 42,
3027 38, 61, -1, 63, -1, 48, 260, 31, -1, 93,
3028 94, 71, 55, 37, 57, 58, 670, 55, -1, 57,
3029 58, 81, 46, -1, 108, -1, 859, -1, 71, 89,
3030 -1, -1, 865, 93, -1, 1434, 1435, 61, 81, -1,
3031 1583, 1584, 1585, -1, -1, -1, 89, -1, -1, -1,
3032 93, 94, 77, 78, 79, 80, 81, 82, 83, 84,
3033 85, -1, 669, -1, -1, 843, -1, 845, 3, 4,
3034 5, -1, 850, 851, -1, 853, 3, 4, 5, 733,
3035 734, 3, 4, 5, 593, 594, -1, 596, 597, 598,
3036 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
3037 609, 610, 611, 612, 613, 3, 4, 5, 6, 3,
3038 4, 5, 6, -1, 49, -1, -1, -1, -1, 773,
3039 774, 775, 57, 58, -1, -1, 733, -1, 55, 783,
3040 57, 58, -1, -1, -1, 57, 58, 1536, 1537, 1538,
3041 -1, -1, 975, 797, 42, -1, 979, -1, 42, -1,
3042 804, 805, 806, 807, 808, 3, 4, 5, 812, 57,
3043 58, 55, -1, 57, 58, -1, 820, 61, -1, 823,
3044 424, -1, -1, 427, 3, 4, 5, 71, 7, 8,
3045 9, -1, -1, 194, 195, 439, -1, 81, -1, -1,
3046 -1, 89, -1, 1592, 1593, 89, -1, 851, -1, 93,
3047 -1, -1, 31, 3, 4, 5, 6, 1040, 37, 57,
3048 58, 4, 5, -1, -1, 8, 9, -1, 3, 4,
3049 5, 14, 7, 8, 9, -1, 55, -1, 57, 58,
3050 59, 502, -1, -1, -1, 28, 507, 30, 492, -1,
3051 -1, 495, 42, 850, 37, -1, 466, 1080, -1, 942,
3052 -1, -1, -1, 46, -1, 509, 1089, 57, 58, -1,
3053 -1, 532, 55, 1662, 57, 58, 59, 538, -1, -1,
3054 -1, -1, 57, 58, 103, 104, 105, -1, -1, 550,
3055 551, 1114, 553, 976, -1, -1, 979, -1, -1, 89,
3056 -1, -1, -1, 1126, -1, -1, -1, 1075, -1, -1,
3057 93, -1, -1, -1, 958, -1, -1, 961, -1, -1,
3058 -1, -1, 3, 4, 5, 6, 3, 4, 5, 973,
3059 7, 8, 9, 977, 978, 979, -1, 1160, -1, 1162,
3060 4, 5, -1, 7, 8, 9, -1, 557, 12, 1117,
3061 14, -1, -1, -1, 31, 3, 4, 5, 39, 40,
3062 37, 42, -1, -1, 28, -1, 30, 31, 3, 4,
3063 5, -1, -1, 37, 55, -1, 57, 58, -1, 1147,
3064 57, 58, 46, -1, 48, 646, 647, -1, -1, -1,
3065 651, 55, -1, 57, 58, 1039, 3, 4, 5, -1,
3066 -1, -1, -1, -1, 1227, 615, 1089, 71, 89, 57,
3067 58, 621, -1, 623, 624, -1, -1, 81, -1, -1,
3068 -1, -1, 57, 58, -1, 3, 4, 5, 6, 93,
3069 94, 9, 1076, 1077, 1078, 1079, 1080, -1, -1, -1,
3070 650, 1085, -1, 1087, 1088, 1089, -1, 657, -1, -1,
3071 57, 58, 1275, 31, -1, 1099, 1100, 1101, -1, 7,
3072 8, 9, -1, -1, 42, -1, 14, 3, 4, 5,
3073 6, -1, -1, 9, -1, 1119, 1120, 55, 1075, 57,
3074 58, -1, -1, 31, 1081, 3, 4, 5, 6, 37,
3075 -1, 492, -1, 71, 495, 31, 497, 498, 46, -1,
3076 -1, -1, 1146, 81, -1, -1, 42, 1151, 509, -1,
3077 -1, 89, 48, 61, -1, 93, 777, 1200, -1, 55,
3078 1117, 57, 58, -1, 42, 4, 5, -1, -1, -1,
3079 774, 49, -1, -1, -1, 71, -1, -1, -1, 57,
3080 58, -1, -1, -1, -1, 81, 1314, 1046, -1, 810,
3081 -1, 1319, -1, 89, 1322, -1, -1, 93, 94, -1,
3082 804, 805, -1, 81, 4, -1, 45, -1, 812, 4,
3083 5, 89, -1, 783, 14, -1, 55, -1, 57, 58,
3084 -1, 1225, 1226, 1227, 24, -1, -1, 797, -1, -1,
3085 30, 31, -1, 33, -1, 35, 31, -1, -1, -1,
3086 -1, -1, 42, -1, -1, 866, -1, 868, -1, -1,
3087 -1, -1, -1, 48, -1, 55, -1, 57, -1, -1,
3088 55, -1, 57, 58, -1, 65, -1, 1271, 1272, 1273,
3089 1274, 1275, 72, -1, 1278, -1, 71, 1405, 1406, 1407,
3090 -1, -1, -1, 83, 84, -1, 81, 48, 1292, 1293,
3091 1294, 1334, 1335, 1336, 1337, -1, -1, -1, 93, 94,
3092 -1, 1344, -1, -1, -1, -1, 106, -1, 1312, 1313,
3093 -1, 1315, 1316, 1270, 1318, -1, -1, -1, -1, 940,
3094 941, -1, 943, -1, -1, 1184, 87, 88, -1, -1,
3095 91, 92, 93, 94, 134, -1, 136, -1, 1295, -1,
3096 140, 141, 1525, -1, -1, 145, 146, -1, 1391, 149,
3097 150, 151, -1, 974, -1, -1, -1, 1314, -1, 7,
3098 8, 9, -1, -1, -1, 165, 14, -1, 938, 169,
3099 -1, -1, -1, -1, -1, 175, 176, -1, -1, -1,
3100 -1, -1, 952, 31, 954, -1, 956, -1, -1, 37,
3101 -1, -1, -1, -1, 194, 195, 196, -1, 46, -1,
3102 -1, -1, 1406, 1407, 79, 80, 81, 82, 83, 84,
3103 85, -1, 773, 774, 1418, 1419, -1, 1421, -1, -1,
3104 1603, -1, -1, 223, 4, 5, -1, -1, 8, 9,
3105 1434, 1435, -1, -1, 14, -1, -1, -1, -1, -1,
3106 240, -1, -1, 804, 805, 806, 807, -1, 1405, 249,
3107 1407, 812, -1, 1496, -1, -1, -1, 37, 1028, -1,
3108 260, -1, -1, 1084, -1, -1, 46, -1, 48, -1,
3109 -1, -1, 1076, 1077, -1, 55, -1, 57, 58, -1,
3110 1608, 1085, -1, -1, 4, 5, -1, -1, 8, 9,
3111 -1, 71, 1113, 1063, 14, -1, -1, -1, -1, -1,
3112 -1, 81, 302, 303, 1125, -1, -1, -1, -1, -1,
3113 1514, -1, -1, 93, 94, -1, 1559, 37, -1, 1523,
3114 1524, 1525, 1565, 1566, -1, -1, 46, -1, 48, -1,
3115 -1, -1, 1536, 1537, 1538, 55, -1, 57, 58, -1,
3116 -1, -1, 1585, -1, -1, -1, 346, -1, -1, -1,
3117 350, 71, 352, 353, 354, -1, -1, -1, -1, -1,
3118 -1, 81, -1, 363, 4, 5, -1, -1, -1, 1526,
3119 -1, -1, -1, 93, 94, -1, -1, 107, 108, 1583,
3120 1584, 1585, -1, -1, -1, -1, -1, -1, 1592, 1593,
3121 -1, 31, 1213, -1, 3, 4, 5, 6, 398, -1,
3122 -1, -1, 1645, -1, -1, -1, -1, 407, -1, 409,
3123 410, -1, -1, -1, -1, 55, -1, 57, 58, -1,
3124 -1, -1, 1665, -1, 424, -1, -1, 427, -1, -1,
3125 -1, 71, 1589, 42, -1, -1, -1, -1, -1, 439,
3126 -1, 81, -1, -1, 1687, -1, 55, 447, 57, 58,
3127 -1, 1608, -1, 93, 63, 1276, 1699, 80, 1662, -1,
3128 190, -1, 71, -1, -1, -1, -1, 1271, 1272, -1,
3129 -1, -1, 81, -1, 1278, 475, 476, 477, 478, 479,
3130 89, 104, -1, 483, 93, -1, 1256, -1, 1258, -1,
3131 1260, 491, 492, -1, -1, 495, -1, 497, 498, 499,
3132 500, -1, -1, 1324, 504, -1, -1, 1328, -1, 509,
3133 133, -1, 512, -1, -1, 1076, 1077, 1078, 1079, -1,
3134 -1, 144, -1, -1, 1085, -1, 1087, 1088, -1, 529,
3135 -1, 3, 4, 5, 6, 7, 8, 9, 1099, 1100,
3136 1101, 1362, 14, 79, 80, 81, 82, 83, 84, 85,
3137 3, 4, 5, 6, 554, -1, 28, -1, 30, 31,
3138 -1, -1, -1, -1, -1, 37, 566, 567, 568, 569,
3139 42, -1, -1, -1, 46, -1, 48, -1, 31, -1,
3140 -1, 204, -1, 55, -1, 57, 58, -1, -1, 42,
3141 -1, -1, -1, -1, -1, -1, -1, 1367, -1, 71,
3142 -1, -1, 55, 333, 57, 58, -1, -1, 1429, 81,
3143 -1, -1, 1433, -1, -1, -1, 239, 89, 71, -1,
3144 -1, 93, 94, 641, 642, 625, -1, 627, 81, 3,
3145 4, 5, 6, -1, 1455, 1456, 89, -1, -1, 639,
3146 93, 641, 642, 643, 267, -1, -1, -1, -1, -1,
3147 650, -1, -1, -1, 654, 74, 75, 31, 77, 78,
3148 79, 80, 81, 82, 83, 84, 85, -1, 42, 669,
3149 -1, -1, -1, -1, 48, 4, 5, 407, -1, -1,
3150 9, 55, -1, 57, 58, 77, 78, 79, 80, 81,
3151 82, 83, 84, 85, -1, 4, 5, 71, -1, -1,
3152 9, -1, 31, -1, -1, -1, -1, 81, -1, -1,
3153 1271, 1272, 1273, 1274, -1, 89, -1, 1278, 718, 93,
3154 94, -1, 31, -1, -1, 725, 55, -1, 57, 58,
3155 -1, 1292, 1293, 733, 734, 358, -1, -1, -1, 48,
3156 -1, -1, 71, -1, 1514, -1, 55, -1, 57, 58,
3157 -1, -1, 81, 483, -1, 773, 774, -1, -1, -1,
3158 -1, -1, 71, -1, 93, -1, -1, -1, -1, -1,
3159 -1, -1, 81, 773, 774, 775, -1, -1, -1, -1,
3160 -1, 781, -1, 783, 93, 94, 68, 69, 70, 71,
3161 72, 73, 74, 75, 417, 77, 78, 79, 80, 81,
3162 82, 83, 84, 85, 804, 805, 806, 807, 808, 73,
3163 74, 75, 812, 77, 78, 79, 80, 81, 82, 83,
3164 84, 85, -1, -1, 3, 4, 5, 6, 558, -1,
3165 560, 3, 4, 5, 6, 565, 566, 567, 568, 569,
3166 840, -1, -1, 843, -1, 845, -1, -1, 578, -1,
3167 850, 851, 31, 853, -1, -1, -1, 1418, 1419, 859,
3168 1421, 591, -1, 42, -1, 865, -1, -1, -1, 48,
3169 42, -1, 872, 873, 874, -1, 55, -1, 57, 58,
3170 -1, -1, -1, 55, 884, 57, 58, 3, 4, 5,
3171 6, 63, 71, -1, 624, -1, -1, -1, -1, 71,
3172 -1, -1, 81, 526, -1, -1, -1, -1, -1, 81,
3173 89, -1, -1, 643, 93, 94, -1, 89, -1, -1,
3174 650, 93, -1, 39, 40, -1, 42, -1, -1, 552,
3175 -1, -1, -1, -1, 934, 3, 4, 5, 6, 55,
3176 958, 57, 58, 961, -1, -1, -1, -1, 3, 4,
3177 5, 6, -1, -1, 9, 973, -1, 957, 958, 977,
3178 978, 961, 1523, 1524, 964, -1, -1, -1, -1, 969,
3179 -1, -1, -1, 973, 42, 975, 31, 977, 978, 979,
3180 -1, 49, -1, 983, -1, 985, -1, 42, -1, 57,
3181 58, -1, -1, 48, -1, -1, 3, 4, 5, 6,
3182 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3183 -1, -1, -1, 81, -1, 638, 71, 3, 4, 5,
3184 6, 89, 1583, 1584, 31, -1, 81, -1, -1, -1,
3185 653, -1, -1, -1, 89, 42, -1, -1, 93, 94,
3186 1040, -1, 1042, -1, -1, 775, -1, -1, 55, -1,
3187 57, 58, -1, 783, -1, -1, 42, -1, 1076, 1077,
3188 1078, 1079, -1, 49, 71, -1, -1, 1085, -1, 1087,
3189 1088, 57, 58, -1, 81, 1075, 1076, 1077, 1078, 1079,
3190 1080, 1081, 89, -1, -1, 1085, 93, 1087, 1088, 1089,
3191 -1, -1, -1, 1093, -1, 81, -1, -1, 1098, 1099,
3192 1100, 1101, -1, 89, 3, 4, 5, 6, -1, -1,
3193 9, -1, -1, -1, 1114, -1, -1, 1117, -1, -1,
3194 -1, -1, -1, -1, -1, -1, 1126, -1, -1, 859,
3195 -1, -1, 31, -1, -1, 865, -1, -1, -1, 1139,
3196 -1, -1, -1, 42, -1, -1, -1, 1147, -1, 48,
3197 -1, -1, -1, -1, -1, -1, 55, 780, 57, 58,
3198 1160, -1, 1162, -1, 3, 4, 5, 6, -1, -1,
3199 1170, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3200 -1, -1, 81, -1, -1, -1, 809, -1, -1, -1,
3201 89, -1, -1, -1, 93, 94, 1196, 1197, -1, 1199,
3202 -1, -1, -1, 42, 934, -1, -1, 1225, 1226, -1,
3203 49, -1, -1, -1, -1, -1, -1, -1, 57, 58,
3204 -1, -1, 1222, -1, -1, 1225, 1226, 1227, -1, -1,
3205 3, 4, 5, 6, -1, -1, 9, -1, -1, 969,
3206 -1, -1, 81, -1, -1, 975, -1, -1, -1, 979,
3207 89, -1, 875, 1271, 1272, 1273, 1274, -1, 31, -1,
3208 1278, -1, -1, -1, -1, -1, -1, -1, -1, 42,
3209 1270, 1271, 1272, 1273, 1274, 1275, -1, -1, 1278, -1,
3210 4, -1, 55, -1, 57, 58, -1, -1, -1, -1,
3211 14, -1, 1292, 1293, 1294, 1295, -1, -1, 71, 23,
3212 24, 3, 4, 5, 6, -1, 30, 31, 81, 33,
3213 1040, 35, 1042, -1, 1314, -1, 89, -1, 42, 1319,
3214 93, -1, 1322, 3, 4, 5, 6, -1, -1, 31,
3215 -1, 55, -1, 57, 3, 4, 5, 6, -1, -1,
3216 42, 65, -1, -1, -1, -1, 48, -1, 72, -1,
3217 1080, -1, -1, 55, -1, 57, 58, -1, -1, 1089,
3218 84, 984, 42, 986, -1, -1, -1, -1, 1098, 71,
3219 -1, -1, -1, 42, -1, -1, -1, 57, 58, 81,
3220 49, -1, -1, -1, 1114, -1, -1, 89, 57, 58,
3221 -1, 93, 94, -1, -1, -1, 1126, -1, -1, -1,
3222 1418, 1419, -1, 1421, -1, 1405, 1406, 1407, -1, 89,
3223 -1, -1, 136, -1, -1, -1, 140, 141, 1418, 1419,
3224 89, 1421, 146, 1423, -1, 149, 150, 151, -1, -1,
3225 1160, -1, 1162, -1, -1, -1, -1, -1, -1, -1,
3226 1170, 165, -1, -1, -1, 169, -1, -1, -1, -1,
3227 -1, 175, 176, -1, -1, -1, -1, -1, -1, -1,
3228 1083, -1, -1, 1086, -1, -1, -1, -1, -1, -1,
3229 194, 195, 196, -1, -1, -1, -1, -1, -1, -1,
3230 -1, -1, -1, 1, -1, -1, 4, 5, -1, -1,
3231 8, 9, -1, -1, -1, -1, 14, 1227, -1, 223,
3232 -1, -1, -1, -1, -1, 1523, 1524, -1, -1, -1,
3233 28, -1, 30, -1, 1514, 1138, -1, -1, -1, 37,
3234 -1, 39, 40, 1523, 1524, 1525, 1526, -1, 46, -1,
3235 48, -1, -1, -1, -1, -1, 260, 55, -1, 57,
3236 58, -1, 60, -1, -1, 1275, 64, 65, 66, 67,
3237 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3238 78, 79, 80, 81, 82, 83, 84, -1, -1, 87,
3239 88, 89, -1, 91, -1, -1, 94, -1, 302, 303,
3240 -1, -1, -1, 1583, 1584, 1585, -1, -1, -1, 1589,
3241 4, 5, 110, -1, 8, 9, -1, -1, -1, -1,
3242 14, -1, -1, 1603, -1, -1, -1, -1, 1608, -1,
3243 -1, -1, -1, -1, 28, -1, 30, -1, -1, -1,
3244 -1, -1, 346, 37, -1, -1, 350, -1, 352, 353,
3245 354, -1, 46, -1, -1, 359, -1, -1, -1, 363,
3246 -1, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3247 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3248 -1, -1, -1, -1, 14, -1, -1, -1, -1, -1,
3249 3, 4, 5, 6, 398, -1, 9, 27, 28, 93,
3250 30, 31, 32, 407, -1, 409, 410, 37, -1, -1,
3251 -1, -1, 42, 1423, 1317, 45, 46, 47, 31, 49,
3252 424, -1, -1, 427, -1, 55, -1, 57, 58, 42,
3253 -1, 61, -1, -1, -1, 439, -1, -1, -1, -1,
3254 -1, 71, 55, 447, 57, 58, -1, -1, -1, -1,
3255 -1, 81, -1, -1, -1, -1, -1, -1, 71, 89,
3256 -1, -1, -1, 93, -1, -1, -1, 97, 81, -1,
3257 -1, 475, 476, 477, 478, 479, 89, -1, -1, 483,
3258 93, -1, 3, 4, 5, 6, -1, 491, 492, -1,
3259 -1, 495, -1, 497, 498, 499, 500, -1, -1, -1,
3260 504, -1, -1, -1, -1, 509, -1, -1, 512, -1,
3261 31, -1, -1, -1, -1, 1525, -1, 1420, -1, -1,
3262 -1, 42, -1, -1, 528, 529, -1, -1, -1, -1,
3263 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
3264 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3265 71, -1, -1, 14, -1, -1, -1, -1, -1, -1,
3266 81, -1, 566, 567, 568, 569, -1, 28, 89, 30,
3267 31, 32, 93, -1, -1, 1585, 37, -1, -1, -1,
3268 -1, 42, -1, -1, -1, 46, -1, -1, 49, -1,
3269 -1, -1, -1, 1603, 55, -1, 57, 58, 64, 65,
3270 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3271 71, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3272 81, 625, -1, 627, -1, -1, -1, -1, 89, -1,
3273 -1, -1, 93, -1, -1, -1, 97, 641, 642, 643,
3274 -1, -1, -1, -1, -1, 1, 650, 3, 4, 5,
3275 6, 7, 8, 9, 10, 11, 12, 13, 14, 663,
3276 -1, -1, -1, -1, -1, 669, -1, -1, -1, -1,
3277 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3278 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3279 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
3280 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3281 -1, -1, 68, -1, 718, 71, -1, -1, -1, -1,
3282 -1, -1, 726, 79, 80, 81, -1, -1, -1, 733,
3283 734, 87, 88, 89, -1, -1, -1, 93, 94, 3,
3284 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
3285 14, -1, -1, 757, 110, -1, -1, -1, -1, -1,
3286 -1, -1, -1, -1, 28, -1, 30, 31, 32, 773,
3287 774, 775, -1, 37, -1, -1, -1, -1, 42, 783,
3288 -1, -1, 46, -1, -1, 49, -1, -1, -1, -1,
3289 -1, 55, -1, 57, 58, -1, 3, 4, 5, 6,
3290 804, 805, 806, 807, 808, -1, -1, 71, 812, -1,
3291 -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
3292 -1, -1, -1, -1, 31, 89, -1, -1, -1, 93,
3293 -1, -1, -1, 97, -1, 42, 840, -1, -1, 843,
3294 -1, 845, -1, -1, -1, -1, 850, 851, 55, 853,
3295 57, 58, -1, -1, -1, 859, -1, -1, -1, -1,
3296 -1, 865, -1, -1, 71, -1, -1, -1, 872, 873,
3297 874, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3298 884, -1, 89, -1, -1, -1, 93, -1, 1, -1,
3299 3, 4, 5, 6, 7, 8, 9, 72, 73, 74,
3300 75, 14, 77, 78, 79, 80, 81, 82, 83, 84,
3301 85, -1, -1, -1, -1, 28, -1, 30, 31, 32,
3302 -1, -1, -1, -1, 37, 38, -1, -1, -1, 42,
3303 934, -1, -1, 46, 47, -1, 49, -1, 3, 4,
3304 5, 6, 55, -1, 57, 58, -1, -1, 61, -1,
3305 63, -1, -1, 957, 958, -1, -1, 961, 71, -1,
3306 964, -1, -1, -1, -1, 969, -1, -1, 81, 973,
3307 -1, 975, -1, 977, 978, 979, 89, 42, -1, 983,
3308 93, 985, -1, -1, 49, -1, -1, -1, -1, -1,
3309 -1, -1, 57, 58, -1, -1, 109, -1, 1, -1,
3310 3, 4, 5, 6, 7, 8, 9, -1, -1, -1,
3311 -1, 14, -1, -1, -1, -1, 81, -1, -1, -1,
3312 -1, -1, -1, -1, 89, 28, -1, 30, 31, 32,
3313 -1, -1, -1, -1, 37, 38, 1040, -1, 1042, 42,
3314 -1, -1, -1, 46, 47, -1, 49, -1, -1, -1,
3315 -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
3316 63, 3, 4, 5, 6, -1, -1, -1, 71, -1,
3317 -1, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 81, -1,
3318 -1, 1085, -1, 1087, 1088, 1089, 89, -1, -1, 1093,
3319 93, -1, -1, -1, 1098, 1099, 1100, 1101, -1, -1,
3320 42, -1, -1, -1, -1, -1, 109, 49, 1112, -1,
3321 1114, -1, -1, 1117, -1, 57, 58, -1, -1, -1,
3322 -1, -1, 1126, -1, -1, -1, -1, -1, -1, 3,
3323 4, 5, 6, 7, 8, 9, -1, -1, -1, 81,
3324 14, -1, -1, 1147, -1, -1, 1, 89, 3, 4,
3325 5, 6, 7, 8, 9, -1, 1160, 31, 1162, 14,
3326 -1, -1, -1, 37, -1, -1, 1170, -1, 42, -1,
3327 -1, -1, 46, 28, 48, 30, 31, -1, -1, -1,
3328 -1, 55, 37, 57, 58, -1, -1, 42, -1, -1,
3329 -1, 46, 1196, 1197, 49, 1199, -1, 71, -1, -1,
3330 55, -1, 57, 58, 4, -1, 61, 81, 3, 4,
3331 5, 6, -1, -1, 9, 89, 71, -1, 1222, 93,
3332 94, 1225, 1226, 1227, -1, -1, 81, -1, -1, -1,
3333 30, 31, -1, 33, 89, 35, 31, -1, 93, -1,
3334 -1, -1, 42, -1, -1, -1, -1, 42, -1, -1,
3335 1254, -1, -1, 48, -1, 55, -1, 57, -1, -1,
3336 55, -1, 57, 58, -1, -1, 1270, 1271, 1272, 1273,
3337 1274, 1275, -1, -1, 1278, -1, 71, -1, -1, -1,
3338 80, -1, -1, 83, -1, -1, 81, -1, 1292, 1293,
3339 1294, 1295, -1, -1, 89, 1299, -1, -1, 93, 94,
3340 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3341 1314, -1, -1, -1, -1, 1319, -1, -1, 1322, 3,
3342 4, 5, 6, 7, 8, 9, -1, -1, -1, -1,
3343 14, -1, -1, 133, 134, -1, 136, -1, -1, -1,
3344 140, 141, -1, -1, 144, 145, 146, 31, -1, 149,
3345 150, 151, -1, 37, -1, -1, 156, -1, 42, -1,
3346 -1, -1, 46, -1, 48, 165, -1, -1, -1, 169,
3347 -1, 55, -1, 57, 58, 175, 176, -1, -1, -1,
3348 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
3349 1394, -1, -1, -1, 194, 195, 196, 81, -1, -1,
3350 -1, 1405, 1406, 1407, 204, 89, -1, -1, -1, 93,
3351 94, -1, -1, -1, 1418, 1419, -1, 1421, -1, 1423,
3352 -1, -1, -1, 223, 73, 74, 75, 76, 77, 78,
3353 79, 80, 81, 82, 83, 84, 85, 1, -1, 3,
3354 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3355 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3356 260, -1, -1, -1, 28, 29, 30, 267, 32, -1,
3357 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3358 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3359 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3360 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3361 1514, -1, -1, -1, -1, 79, 80, 81, -1, 1523,
3362 1524, 1525, 1526, 87, 88, 89, -1, -1, -1, 93,
3363 94, -1, -1, 333, -1, -1, -1, -1, -1, -1,
3364 -1, -1, -1, -1, -1, 109, 110, -1, -1, -1,
3365 350, 3, 4, 5, 6, -1, -1, -1, 358, -1,
3366 -1, 4, 5, 363, -1, -1, 9, -1, 3, 4,
3367 5, 6, -1, -1, 9, -1, -1, -1, -1, 1583,
3368 1584, 1585, -1, -1, -1, 1589, -1, -1, 31, -1,
3369 42, -1, -1, -1, -1, -1, 31, -1, 398, 1603,
3370 -1, -1, -1, 55, 1608, 57, 58, 42, -1, 409,
3371 -1, 63, 55, 48, 57, 58, -1, 417, -1, 71,
3372 55, -1, 57, 58, 424, -1, -1, 427, 71, 81,
3373 -1, -1, -1, 433, 434, 435, 71, 89, 81, 439,
3374 -1, 93, -1, -1, -1, -1, 81, 447, -1, -1,
3375 93, -1, -1, -1, 89, -1, -1, -1, 93, 94,
3376 -1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3377 -1, -1, -1, 14, -1, 475, 476, 477, 478, 3,
3378 4, 5, 6, 483, -1, 9, -1, 28, -1, 30,
3379 31, 491, 492, -1, -1, 495, 37, 497, 498, 499,
3380 500, 42, -1, -1, 504, 46, -1, 31, -1, 509,
3381 -1, -1, 512, -1, 55, 4, 57, 58, 42, -1,
3382 61, -1, -1, -1, 48, -1, -1, -1, -1, 529,
3383 71, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3384 81, 30, 31, -1, 33, -1, 35, 71, 89, -1,
3385 -1, -1, 93, 42, -1, -1, -1, 81, 558, -1,
3386 560, -1, -1, -1, -1, 89, 55, -1, 57, 93,
3387 94, -1, -1, -1, -1, -1, 576, 577, 578, 1,
3388 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3389 -1, 591, 14, -1, 83, -1, -1, -1, -1, -1,
3390 -1, -1, -1, -1, -1, -1, 28, -1, 30, 31,
3391 32, -1, -1, -1, -1, 37, -1, -1, -1, -1,
3392 42, -1, -1, -1, 46, 47, -1, 49, -1, -1,
3393 -1, -1, -1, 55, -1, 57, 58, -1, 638, 61,
3394 -1, 63, -1, -1, -1, -1, -1, 136, -1, 71,
3395 650, 140, 141, -1, -1, -1, 145, 146, -1, 81,
3396 149, 150, 151, -1, -1, -1, -1, 89, -1, 669,
3397 -1, 93, -1, -1, -1, -1, 165, 88, -1, 90,
3398 169, 92, -1, -1, -1, -1, 175, 176, 69, 70,
3399 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3400 81, 82, 83, 84, 85, 194, 195, 196, 1, -1,
3401 3, 4, 5, 6, 7, 8, 9, -1, 718, -1,
3402 -1, 14, -1, -1, -1, 725, 137, -1, 139, -1,
3403 -1, -1, -1, 733, 223, 28, -1, 30, 31, 32,
3404 -1, -1, -1, -1, 37, 38, -1, -1, -1, 42,
3405 -1, -1, -1, 46, 47, -1, 49, -1, -1, -1,
3406 -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
3407 63, 260, -1, 773, 774, 775, -1, -1, 71, -1,
3408 780, 781, -1, 783, -1, -1, -1, -1, 81, -1,
3409 -1, -1, -1, -1, -1, -1, 89, 797, -1, -1,
3410 93, -1, -1, -1, 804, 805, 806, 807, 808, -1,
3411 -1, -1, 812, -1, -1, -1, 109, -1, -1, -1,
3412 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
3413 -1, 1, 9, 3, 4, 5, 6, 7, 8, 9,
3414 -1, -1, -1, 843, 14, 845, -1, -1, -1, -1,
3415 850, 851, -1, 853, 31, -1, -1, -1, 28, -1,
3416 30, 31, 32, -1, -1, 42, -1, 37, 38, -1,
3417 359, -1, 42, -1, 363, -1, 46, 47, 55, 49,
3418 57, 58, -1, -1, -1, 55, -1, 57, 58, -1,
3419 -1, 61, -1, 63, 71, -1, -1, -1, -1, 310,
3420 311, 71, -1, -1, 81, -1, -1, -1, -1, -1,
3421 -1, 81, 89, 324, -1, 326, 93, -1, 329, 89,
3422 409, 332, -1, 93, 335, -1, -1, -1, 339, -1,
3423 -1, -1, -1, -1, -1, 424, 347, -1, 427, 109,
3424 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
3425 439, 362, 9, -1, -1, -1, -1, -1, 447, 71,
3426 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3427 82, 83, 84, 85, 31, -1, -1, 977, 978, 979,
3428 -1, -1, -1, 983, 984, 42, 475, 476, 477, 478,
3429 -1, -1, -1, -1, 483, -1, -1, -1, 55, -1,
3430 57, 58, 491, 492, -1, -1, 495, -1, 497, 498,
3431 499, -1, -1, -1, 71, 504, -1, 4, 5, -1,
3432 509, 8, 9, 512, 81, -1, -1, 14, -1, -1,
3433 -1, -1, 89, -1, -1, -1, 93, -1, -1, -1,
3434 529, 28, -1, 30, -1, -1, 4, 5, -1, -1,
3435 37, 9, -1, -1, -1, -1, -1, -1, -1, 46,
3436 -1, 48, -1, -1, -1, -1, -1, -1, 55, -1,
3437 57, 58, -1, 31, -1, 1075, 1076, 1077, 1078, 1079,
3438 1080, 1081, -1, 1083, 71, 1085, 1086, 1087, 1088, 1089,
3439 48, -1, -1, 1093, 81, -1, -1, 55, 33, 57,
3440 58, -1, -1, -1, 4, 5, 93, 94, 8, 9,
3441 -1, 522, -1, 71, 14, -1, -1, 1117, -1, -1,
3442 55, -1, -1, 81, -1, -1, -1, -1, 28, -1,
3443 30, -1, -1, -1, -1, 93, 94, 37, 1138, 1139,
3444 -1, -1, -1, -1, -1, 556, 46, 1147, -1, -1,
3445 639, -1, -1, -1, -1, 55, -1, 57, 58, -1,
3446 -1, -1, -1, -1, -1, 576, 577, -1, -1, -1,
3447 -1, -1, -1, -1, -1, -1, -1, 588, -1, -1,
3448 669, -1, 593, 594, -1, 596, 597, 598, 599, 600,
3449 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
3450 611, 612, 613, -1, -1, -1, -1, -1, -1, -1,
3451 -1, -1, 4, 5, 149, 150, 151, 9, -1, -1,
3452 -1, -1, 1222, -1, -1, 1225, 1226, 1227, -1, -1,
3453 -1, -1, -1, -1, -1, -1, -1, -1, -1, 31,
3454 175, -1, -1, -1, 733, -1, -1, -1, -1, -1,
3455 -1, -1, -1, -1, -1, -1, 48, -1, -1, 194,
3456 195, 196, -1, 55, -1, 57, 58, -1, -1, -1,
3457 1270, 1271, 1272, 1273, 1274, 1275, -1, -1, 1278, 71,
3458 -1, -1, -1, -1, 773, 774, 775, -1, 223, 81,
3459 -1, -1, 781, -1, 783, -1, -1, -1, -1, -1,
3460 -1, 93, 94, -1, -1, -1, -1, -1, -1, 720,
3461 -1, -1, -1, -1, 1314, 804, 805, 1317, -1, 1319,
3462 -1, -1, 1322, 812, 3, 4, 5, 6, 7, 8,
3463 9, -1, -1, 12, -1, 14, -1, -1, -1, -1,
3464 -1, -1, -1, -1, 3, 4, 5, 6, -1, 28,
3465 9, 30, 31, -1, 843, -1, 845, -1, 37, -1,
3466 -1, 850, 851, 42, 853, -1, -1, 46, 303, 48,
3467 -1, -1, 31, -1, -1, -1, 55, -1, 57, 58,
3468 -1, -1, -1, 42, -1, -1, -1, -1, -1, -1,
3469 -1, -1, 71, -1, -1, -1, 55, -1, 57, 58,
3470 -1, -1, 81, -1, -1, 1405, 1406, 1407, -1, -1,
3471 89, -1, 71, -1, 93, 94, -1, 352, 353, 354,
3472 -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
3473 89, -1, -1, -1, 93, 72, 73, 74, 75, 76,
3474 77, 78, 79, 80, 81, 82, 83, 84, 85, 860,
3475 861, -1, 863, -1, -1, -1, -1, -1, -1, 1,
3476 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3477 -1, 13, 14, 15, 409, 17, 18, 19, 20, 21,
3478 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3479 32, -1, 34, 35, 36, 37, 985, 39, 40, 41,
3480 42, 43, 44, 45, 46, 47, -1, -1, 50, 51,
3481 52, 53, 54, 55, 1514, 57, 58, 59, -1, 61,
3482 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3483 -1, -1, -1, -1, -1, 946, -1, 79, 80, 81,
3484 475, -1, 477, 478, 479, 87, 88, 89, -1, -1,
3485 -1, 93, -1, 95, -1, -1, 491, 492, -1, -1,
3486 495, -1, 497, 498, 499, 500, 977, 978, 110, 504,
3487 3, 4, 5, 6, 509, -1, -1, 512, -1, -1,
3488 -1, -1, -1, 1583, 1584, 1585, 1075, 1076, 1077, 1078,
3489 1079, 1080, -1, -1, -1, -1, 1085, -1, 1087, 1088,
3490 1089, -1, -1, -1, 1093, -1, -1, -1, 1608, 42,
3491 -1, -1, -1, -1, -1, -1, 49, -1, -1, -1,
3492 -1, -1, -1, -1, 57, 58, -1, -1, 1117, -1,
3493 -1, -1, 1043, -1, -1, 1046, 74, 75, 76, 77,
3494 78, 79, 80, 81, 82, 83, 84, 85, 81, -1,
3495 1139, -1, -1, -1, -1, -1, 89, -1, 1147, -1,
3496 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3497 11, 12, 13, 14, -1, -1, 1087, 1088, -1, -1,
3498 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3499 31, 32, 627, 34, 35, 36, 37, -1, 39, 40,
3500 41, 42, 43, 44, -1, 46, 641, 642, 643, 50,
3501 51, 52, 53, 54, 55, 650, 57, 58, -1, -1,
3502 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3503 71, -1, -1, -1, 669, -1, -1, -1, 79, 80,
3504 81, 3, 4, 5, 6, -1, 87, 88, 89, -1,
3505 -1, -1, 93, -1, -1, -1, -1, -1, -1, -1,
3506 -1, -1, -1, -1, -1, -1, -1, 108, -1, 110,
3507 -1, -1, 55, 1184, -1, -1, -1, -1, -1, -1,
3508 42, -1, 1271, 1272, -1, -1, -1, 49, -1, 1278,
3509 -1, 1202, -1, 1204, -1, 57, 58, 80, 733, -1,
3510 83, -1, -1, -1, -1, -1, -1, 3, 4, 5,
3511 6, 7, 8, 9, -1, -1, 12, -1, 14, 81,
3512 -1, 104, -1, 106, -1, 1314, -1, 89, -1, -1,
3513 1319, -1, 28, 1322, 30, 31, -1, -1, 773, 774,
3514 775, 37, -1, -1, -1, -1, 42, -1, 783, -1,
3515 46, -1, 48, -1, -1, 3, 4, 5, 6, 55,
3516 -1, 57, 58, -1, -1, -1, -1, -1, -1, 804,
3517 805, 806, 807, 808, -1, 71, -1, 812, -1, -1,
3518 -1, -1, -1, 31, -1, 81, -1, -1, -1, -1,
3519 -1, -1, 175, 89, 42, -1, -1, 93, 94, -1,
3520 -1, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3521 58, 194, 195, 196, -1, 850, 1405, 1406, 1407, -1,
3522 -1, 204, -1, 71, -1, 3, 4, 5, 6, 7,
3523 8, 9, -1, 81, 12, -1, 14, 872, 873, 874,
3524 223, 89, -1, -1, -1, 93, -1, -1, -1, 884,
3525 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
3526 -1, -1, -1, -1, 42, -1, 249, -1, 46, -1,
3527 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3528 58, -1, -1, -1, 267, -1, -1, 1398, 71, 72,
3529 73, 74, 75, 71, 77, 78, 79, 80, 81, 82,
3530 83, 84, 85, 81, -1, -1, -1, -1, -1, -1,
3531 -1, 89, -1, -1, -1, 93, 94, -1, -1, -1,
3532 -1, -1, 957, 958, -1, 1514, 961, -1, -1, 964,
3533 3, 4, 5, 6, 7, 8, 9, -1, 973, 12,
3534 -1, 14, 977, 978, 979, -1, 4, 5, 983, -1,
3535 8, 9, -1, -1, -1, 28, 14, 30, 31, -1,
3536 -1, -1, -1, -1, 37, -1, -1, -1, -1, 42,
3537 28, -1, 30, 46, -1, 358, 359, -1, -1, 37,
3538 -1, -1, 55, -1, 57, 58, -1, -1, 46, -1,
3539 -1, -1, -1, -1, 1583, 1584, 1585, 55, 71, 57,
3540 58, -1, 190, -1, -1, -1, -1, -1, 81, -1,
3541 -1, -1, -1, -1, -1, -1, 89, -1, -1, 1608,
3542 93, -1, -1, -1, -1, -1, 409, -1, -1, -1,
3543 -1, -1, 3, 4, 5, 6, -1, -1, 9, -1,
3544 1075, 1076, 1077, 1078, 1079, 1080, 1081, -1, -1, -1,
3545 1085, -1, 1087, 1088, 1089, -1, -1, -1, -1, -1,
3546 31, -1, -1, -1, 1099, 1100, 1101, -1, -1, -1,
3547 -1, 42, 1583, 1584, -1, -1, -1, -1, -1, -1,
3548 -1, -1, 1117, -1, 55, -1, 57, 58, -1, -1,
3549 -1, -1, 475, -1, 477, 478, -1, -1, -1, -1,
3550 71, -1, -1, -1, -1, -1, -1, -1, 491, 492,
3551 81, -1, 495, -1, 497, 498, 499, 500, 89, -1,
3552 -1, 504, 93, -1, -1, -1, 509, -1, -1, 512,
3553 -1, -1, -1, -1, 3, 4, 5, 6, -1, -1,
3554 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3555 -1, -1, 14, -1, -1, -1, -1, -1, -1, -1,
3556 -1, 1196, 1197, -1, 1199, -1, 28, -1, 30, 31,
3557 -1, -1, -1, 42, -1, 37, -1, -1, -1, -1,
3558 42, 369, -1, -1, 46, -1, 55, 1222, 57, 58,
3559 1225, 1226, 1227, 55, -1, 57, 58, -1, -1, -1,
3560 -1, 63, 71, -1, -1, -1, -1, -1, -1, 71,
3561 -1, -1, 81, -1, -1, -1, -1, -1, -1, 81,
3562 89, -1, -1, -1, 93, -1, -1, 89, -1, -1,
3563 -1, 93, -1, -1, -1, 1270, 1271, 1272, 1273, 1274,
3564 1275, -1, -1, 1278, -1, -1, -1, -1, -1, -1,
3565 -1, -1, -1, -1, -1, -1, -1, 1292, 1293, 1294,
3566 1295, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3567 653, 654, -1, -1, -1, -1, -1, 465, 466, 1314,
3568 -1, -1, -1, -1, -1, -1, 669, 1, -1, 3,
3569 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3570 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
3571 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3572 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3573 44, 45, 46, 47, -1, -1, 50, 51, 52, 53,
3574 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3575 733, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3576 3, 4, 5, 6, -1, 79, 80, 81, -1, 557,
3577 1405, -1, 1407, 87, 88, 89, 564, -1, -1, 93,
3578 -1, 95, -1, 1418, 1419, -1, 1421, -1, -1, -1,
3579 773, 774, 775, -1, -1, 109, 110, 780, 781, 42,
3580 783, -1, 590, -1, -1, -1, -1, -1, -1, -1,
3581 -1, -1, 55, -1, 57, 58, -1, -1, 61, -1,
3582 -1, 804, 805, 806, 807, 808, 809, 615, 71, 812,
3583 -1, -1, -1, 621, -1, 623, 624, -1, 81, -1,
3584 -1, -1, -1, -1, -1, -1, 89, -1, -1, -1,
3585 93, -1, -1, -1, 837, -1, -1, -1, -1, -1,
3586 -1, -1, 650, -1, -1, -1, -1, 850, -1, 657,
3587 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1514,
3588 -1, -1, -1, -1, -1, -1, -1, -1, 1523, 1524,
3589 1525, 1526, -1, -1, 682, 683, 684, 685, -1, 687,
3590 688, 689, 690, 691, 692, 693, 694, 695, 696, 697,
3591 698, 699, 700, 701, 702, 703, 704, 705, -1, -1,
3592 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3593 -1, -1, 3, 4, 5, 6, 7, 8, 9, 3,
3594 4, 5, 6, 14, -1, 9, 14, -1, 1583, 1584,
3595 1585, -1, -1, -1, 1589, 23, 24, 28, -1, 30,
3596 31, -1, 30, 31, -1, 33, 37, 31, -1, -1,
3597 -1, 42, -1, 1608, -1, 46, 764, -1, 42, 12,
3598 -1, -1, -1, -1, 55, -1, 57, 58, -1, -1,
3599 61, 55, -1, 57, 58, 783, -1, 65, -1, -1,
3600 71, 984, 985, 986, -1, -1, -1, 71, -1, 797,
3601 81, -1, -1, -1, -1, -1, -1, 81, 89, -1,
3602 -1, -1, 93, -1, -1, 89, -1, -1, -1, 93,
3603 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3604 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3605 83, 84, 85, -1, 842, -1, 124, -1, 126, -1,
3606 -1, -1, -1, -1, -1, 133, 134, -1, -1, -1,
3607 -1, -1, 140, 141, -1, -1, 144, 145, 146, -1,
3608 148, 149, 150, 151, -1, -1, -1, -1, -1, -1,
3609 -1, -1, 1075, 1076, 1077, 1078, 1079, 1080, 1081, -1,
3610 1083, -1, 1085, 1086, 1087, 1088, 1089, 352, 353, 354,
3611 1093, -1, 900, -1, -1, -1, 1099, 1100, 1101, -1,
3612 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
3613 7, 8, 9, -1, 1117, -1, -1, 14, -1, -1,
3614 -1, -1, -1, -1, -1, -1, -1, 4, 5, 937,
3615 938, 28, 9, 30, 31, 1138, -1, -1, -1, -1,
3616 37, -1, -1, -1, 952, 42, 954, -1, 956, 46,
3617 -1, 239, 240, -1, 31, -1, -1, -1, 55, -1,
3618 57, 58, -1, -1, -1, -1, -1, 3, 4, 5,
3619 6, 48, 260, 9, 71, -1, -1, -1, 55, -1,
3620 57, 58, -1, -1, 81, -1, -1, 995, -1, -1,
3621 -1, -1, 89, -1, 71, 31, 93, -1, -1, -1,
3622 -1, -1, -1, -1, 81, -1, 42, -1, -1, -1,
3623 475, -1, 477, 478, 479, 303, 93, 94, -1, 55,
3624 1028, 57, 58, -1, -1, -1, -1, -1, 69, 70,
3625 71, 72, 73, 74, 75, 71, 77, 78, 79, 80,
3626 81, 82, 83, 84, 85, 81, -1, -1, -1, -1,
3627 -1, -1, -1, 89, -1, 1063, -1, 93, -1, -1,
3628 -1, -1, 350, -1, 352, 353, -1, 1270, 1271, 1272,
3629 1273, 1274, 1275, 4, 5, 1278, -1, -1, 9, -1,
3630 -1, -1, -1, -1, -1, -1, -1, 1095, 1096, 1292,
3631 1293, 1294, 1295, -1, -1, -1, -1, -1, -1, -1,
3632 31, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3633 398, 1314, -1, -1, 14, -1, -1, 48, -1, -1,
3634 -1, 1129, -1, -1, 55, -1, 57, 58, 28, 417,
3635 30, 31, -1, -1, -1, -1, 424, 37, -1, 427,
3636 71, -1, 42, 4, 5, -1, 46, -1, 9, -1,
3637 81, 439, -1, -1, -1, 55, -1, 57, 58, -1,
3638 -1, -1, 93, 94, -1, -1, -1, -1, -1, -1,
3639 31, 71, 1180, 1181, -1, -1, 641, 642, 643, -1,
3640 -1, 81, -1, -1, -1, 650, -1, 48, -1, 89,
3641 -1, -1, -1, 93, 55, -1, 57, 58, -1, -1,
3642 -1, -1, 1405, -1, 1407, -1, -1, -1, -1, -1,
3643 71, -1, -1, -1, -1, 1418, 1419, 1420, 1421, -1,
3644 81, -1, -1, -1, -1, -1, -1, -1, 1236, -1,
3645 -1, -1, 93, 94, -1, -1, -1, -1, 526, -1,
3646 528, -1, -1, -1, -1, -1, -1, -1, 1256, -1,
3647 1258, -1, 1260, 4, 5, -1, 7, 8, 9, -1,
3648 1268, -1, -1, 14, 552, -1, 554, -1, 733, -1,
3649 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
3650 31, -1, -1, -1, -1, -1, 37, -1, 1296, -1,
3651 -1, -1, -1, -1, -1, 46, -1, -1, 49, -1,
3652 -1, -1, 1310, 1311, 55, -1, 57, 58, 773, 774,
3653 775, 1514, -1, -1, -1, -1, -1, -1, 783, -1,
3654 1523, 1524, 1525, 1526, -1, -1, -1, -1, -1, -1,
3655 1338, -1, -1, 70, 71, 72, 73, 74, 75, 627,
3656 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3657 638, 639, -1, 641, 642, -1, -1, -1, -1, 1367,
3658 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3659 -1, -1, 14, -1, -1, -1, -1, -1, -1, 1387,
3660 1583, 1584, 1585, -1, -1, -1, 1589, -1, -1, 31,
3661 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1,
3662 42, -1, -1, -1, 46, 1608, 48, -1, -1, -1,
3663 -1, -1, -1, 55, -1, 57, 58, -1, 1426, 884,
3664 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3665 718, -1, 1440, -1, -1, -1, -1, 725, 726, 81,
3666 -1, -1, -1, -1, -1, -1, 734, 89, -1, -1,
3667 -1, 93, -1, -1, -1, 1463, 4, 5, -1, 7,
3668 8, 9, -1, -1, 12, -1, 14, -1, -1, 757,
3669 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3670 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
3671 -1, -1, 957, 958, -1, -1, 961, -1, 46, 964,
3672 48, -1, -1, -1, -1, -1, 1514, 55, 973, 57,
3673 58, -1, 977, 978, 979, -1, -1, -1, 983, -1,
3674 -1, -1, -1, 71, -1, -1, 1534, 1535, 31, -1,
3675 -1, -1, -1, 81, -1, -1, -1, -1, -1, -1,
3676 -1, -1, -1, -1, -1, 93, 94, -1, -1, 837,
3677 -1, -1, 840, -1, -1, -1, -1, -1, -1, 1567,
3678 -1, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3679 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3680 83, 84, 85, -1, 872, 873, 874, 875, -1, -1,
3681 1598, -1, -1, -1, -1, -1, 884, -1, -1, -1,
3682 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3683 1075, 1076, 1077, 1078, 1079, 1080, 1081, -1, -1, -1,
3684 1085, -1, 1087, 1088, 1089, -1, 4, 5, -1, 7,
3685 8, 9, -1, -1, 12, -1, 14, -1, -1, 4,
3686 5, -1, 7, 8, 9, -1, -1, 12, -1, 14,
3687 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
3688 -1, -1, -1, 28, -1, 30, 31, -1, 46, 957,
3689 958, -1, 37, 961, -1, -1, 964, 55, -1, 57,
3690 58, 46, -1, -1, -1, 973, -1, -1, -1, -1,
3691 55, -1, 57, 58, -1, 983, -1, -1, -1, 4,
3692 5, 1709, 7, 8, 9, -1, -1, -1, -1, 14,
3693 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3694 -1, -1, -1, 28, -1, 30, 31, -1, -1, -1,
3695 -1, -1, 37, -1, -1, -1, -1, -1, -1, -1,
3696 -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
3697 55, -1, 57, 58, -1, -1, -1, 1222, -1, -1,
3698 1225, 1226, 1227, -1, 64, 65, 66, 67, 68, 69,
3699 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3700 80, 81, 82, 83, 84, 85, -1, -1, -1, -1,
3701 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3702 -1, 12, -1, 14, -1, 1270, 1271, 1272, 1273, 1274,
3703 1275, 111, -1, 1278, 25, -1, 27, -1, -1, -1,
3704 31, -1, -1, -1, 1112, -1, 37, -1, -1, -1,
3705 -1, 42, -1, -1, -1, 46, -1, 48, -1, -1,
3706 -1, -1, -1, -1, 55, -1, 57, 58, 59, 60,
3707 61, 1139, 63, 64, 65, 66, 67, 68, 69, 70,
3708 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3709 81, 82, 83, 84, 85, -1, 87, 88, 89, -1,
3710 91, 92, 93, 94, 95, -1, -1, -1, -1, -1,
3711 101, 102, -1, -1, -1, -1, 107, 108, 109, -1,
3712 111, -1, -1, -1, -1, -1, -1, -1, 1196, 1197,
3713 -1, 1199, 64, 65, 66, 67, 68, 69, 70, 71,
3714 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3715 82, 83, 84, 85, 1222, -1, -1, 1225, 1226, -1,
3716 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3717 -1, -1, -1, 1418, 1419, 107, 1421, -1, -1, -1,
3718 -1, -1, -1, -1, -1, -1, 1254, 68, 69, 70,
3719 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3720 81, 82, 83, 84, 85, 1, -1, 3, 4, 5,
3721 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3722 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3723 -1, 1299, 28, 29, 30, 31, 32, -1, 34, 35,
3724 36, 37, -1, 39, 40, 41, 42, 43, 44, 1317,
3725 46, 1319, 48, -1, 50, 51, 52, 53, 54, 55,
3726 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3727 -1, -1, 68, -1, -1, 71, -1, -1, 1523, 1524,
3728 1525, 1526, -1, 79, 80, 81, -1, -1, -1, -1,
3729 -1, 87, 88, 89, -1, -1, -1, 93, 94, -1,
3730 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3731 11, -1, 13, 14, 110, -1, -1, -1, -1, -1,
3732 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3733 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3734 41, 42, 43, 44, 1589, 46, -1, -1, -1, 50,
3735 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3736 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3737 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3738 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3739 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3740 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3741 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3742 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
3743 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3744 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3745 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3746 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3747 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3748 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3749 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3750 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3751 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3752 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3753 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3754 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3755 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3756 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3757 89, -1, -1, -1, 93, 94, 1, -1, 3, 4,
3758 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3759 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3760 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3761 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3762 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3763 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
3764 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3765 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3766 -1, -1, 87, 88, 89, -1, -1, -1, 93, 1,
3767 -1, 3, 4, 5, 6, 100, 8, 9, 10, 11,
3768 -1, 13, 14, -1, -1, 110, -1, -1, -1, -1,
3769 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3770 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3771 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3772 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3773 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3774 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3775 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3776 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3777 11, -1, 13, 14, -1, -1, -1, 109, 110, -1,
3778 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3779 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3780 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3781 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3782 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3783 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3784 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3785 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3786 10, 11, -1, 13, 14, -1, -1, -1, 109, 110,
3787 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3788 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
3789 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3790 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3791 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3792 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3793 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3794 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3795 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3796 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3797 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3798 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3799 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3800 59, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3801 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3802 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3803 89, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3804 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3805 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3806 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
3807 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3808 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3809 58, -1, -1, -1, 62, 63, -1, -1, -1, -1,
3810 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3811 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3812 88, 89, -1, -1, 1, 93, 3, 4, 5, 6,
3813 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3814 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3815 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3816 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3817 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3818 57, 58, -1, -1, 61, 62, -1, -1, -1, -1,
3819 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3820 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3821 87, 88, 89, -1, -1, 1, 93, 3, 4, 5,
3822 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3823 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3824 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3825 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3826 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3827 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3828 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3829 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3830 -1, 87, 88, 89, -1, -1, 1, 93, 3, 4,
3831 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3832 -1, -1, 108, -1, 110, -1, -1, -1, -1, -1,
3833 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3834 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3835 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3836 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3837 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3838 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3839 -1, -1, 87, 88, 89, -1, -1, 1, 93, 3,
3840 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3841 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3842 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3843 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3844 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3845 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3846 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3847 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3848 -1, -1, -1, 87, 88, 89, -1, -1, 1, 93,
3849 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3850 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3851 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3852 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3853 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3854 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3855 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3856 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3857 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3858 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3859 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3860 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3861 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3862 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3863 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3864 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3865 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3866 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3867 -1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3868 11, -1, 13, 14, -1, -1, -1, -1, 110, 111,
3869 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3870 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3871 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3872 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3873 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3874 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3875 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3876 -1, -1, 93, 3, 4, 5, 6, -1, 8, 9,
3877 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3878 111, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3879 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3880 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3881 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3882 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3883 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3884 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3885 -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
3886 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3887 110, 111, -1, -1, -1, -1, -1, -1, -1, 28,
3888 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3889 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3890 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3891 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3892 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3893 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3894 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
3895 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3896 -1, 110, 111, -1, -1, -1, -1, -1, -1, -1,
3897 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
3898 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3899 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3900 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3901 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3902 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3903 88, 89, -1, -1, -1, 93, 70, 71, 72, 73,
3904 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3905 84, 85, 110, 111, 3, 4, 5, 6, 7, 8,
3906 9, 10, 11, -1, 13, 14, 15, -1, 17, 18,
3907 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3908 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
3909 39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
3910 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3911 59, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3912 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3913 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3914 89, -1, -1, -1, 93, -1, 95, -1, -1, -1,
3915 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3916 109, 110, 3, 4, 5, 6, 7, 8, 9, 10,
3917 11, -1, 13, 14, 15, -1, 17, 18, 19, 20,
3918 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3919 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3920 41, 42, 43, 44, 45, 46, 47, -1, -1, 50,
3921 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3922 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3923 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3924 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3925 -1, -1, 93, -1, 95, -1, 3, 4, 5, 6,
3926 7, 8, 9, 10, 11, -1, 13, 14, 15, 110,
3927 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3928 27, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3929 37, -1, 39, 40, 41, 42, 43, 44, 45, 46,
3930 47, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3931 57, 58, 59, -1, 61, 62, -1, -1, -1, -1,
3932 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3933 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3934 87, 88, 89, -1, -1, -1, 93, -1, 95, -1,
3935 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3936 13, 14, 15, 110, 17, 18, 19, 20, 21, 22,
3937 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3938 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3939 43, 44, 45, 46, 47, -1, -1, 50, 51, 52,
3940 53, 54, 55, -1, 57, 58, -1, -1, 61, 62,
3941 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3942 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3943 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3944 93, -1, 95, 3, 4, 5, 6, 7, 8, 9,
3945 10, 11, 12, 13, 14, -1, -1, 110, -1, -1,
3946 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3947 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
3948 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3949 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3950 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3951 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3952 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3953 -1, -1, -1, 93, 94, 3, 4, 5, 6, 7,
3954 8, 9, 10, 11, 12, 13, 14, -1, -1, -1,
3955 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3956 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
3957 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3958 48, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3959 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3960 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3961 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3962 88, 89, -1, -1, -1, 93, 94, 3, 4, 5,
3963 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3964 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3965 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3966 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3967 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
3968 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3969 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3970 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3971 -1, 87, 88, 89, -1, -1, -1, 93, 94, 3,
3972 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3973 14, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3974 -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
3975 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3976 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3977 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3978 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3979 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3980 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
3981 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3982 -1, 13, 14, -1, -1, -1, 110, -1, -1, -1,
3983 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3984 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3985 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3986 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3987 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3988 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3989 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3990 -1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3991 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3992 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3993 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3994 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3995 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3996 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3997 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3998 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3999 -1, -1, 93, 3, 4, 5, 6, 7, 8, 9,
4000 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
4001 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
4002 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
4003 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
4004 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
4005 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
4006 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
4007 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
4008 -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
4009 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
4010 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
4011 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
4012 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
4013 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
4014 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
4015 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
4016 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
4017 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
4018 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
4019 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
4020 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
4021 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
4022 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
4023 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
4024 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
4025 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
4026 88, 89, -1, -1, -1, 93, 3, 4, 5, 6,
4027 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
4028 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
4029 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
4030 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
4031 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
4032 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
4033 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
4034 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
4035 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
4036 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
4037 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
4038 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
4039 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
4040 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
4041 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
4042 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
4043 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
4044 -1, 87, 88, 89, -1, -1, -1, 93, 3, 4,
4045 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
4046 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
4047 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
4048 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
4049 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
4050 55, -1, 57, 58, 59, -1, -1, -1, -1, -1,
4051 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
4052 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
4053 -1, -1, 87, 88, 89, -1, -1, -1, 93, 3,
4054 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
4055 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
4056 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
4057 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
4058 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
4059 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
4060 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
4061 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
4062 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
4063 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
4064 -1, 13, 14, -1, -1, -1, 110, -1, -1, -1,
4065 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
4066 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
4067 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
4068 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
4069 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
4070 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
4071 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
4072 -1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
4073 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
4074 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
4075 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
4076 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
4077 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
4078 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
4079 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
4080 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
4081 -1, -1, 93, 3, 4, 5, 6, -1, 8, 9,
4082 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
4083 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
4084 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
4085 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
4086 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
4087 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
4088 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
4089 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
4090 -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
4091 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
4092 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
4093 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
4094 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
4095 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
4096 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
4097 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
4098 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
4099 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
4100 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
4101 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
4102 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
4103 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
4104 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
4105 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4106 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
4107 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
4108 88, 89, -1, -1, -1, 93, 3, 4, 5, 6,
4109 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
4110 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
4111 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
4112 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
4113 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
4114 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
4115 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
4116 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
4117 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
4118 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
4119 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
4120 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
4121 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
4122 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
4123 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
4124 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
4125 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
4126 -1, 87, 88, 89, -1, -1, -1, 93, -1, -1,
4127 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4128 -1, 60, -1, -1, 110, 64, 65, 66, 67, 68,
4129 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
4130 79, 80, 81, 82, 83, 84, 85, 60, -1, -1,
4131 -1, 64, 65, 66, 67, 68, 69, 70, 71, 72,
4132 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
4133 83, 84, 85, 63, 64, 65, 66, 67, 68, 69,
4134 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
4135 80, 81, 82, 83, 84, 85, 64, 65, 66, 67,
4136 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
4137 78, 79, 80, 81, 82, 83, 84, 85
4139 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
4140 #line 3 "/usr/lib/bison.simple"
4141 /* This file comes from bison-1.28. */
4143 /* Skeleton output parser for bison,
4144 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
4146 This program is free software; you can redistribute it and/or modify
4147 it under the terms of the GNU General Public License as published by
4148 the Free Software Foundation; either version 2, or (at your option)
4151 This program is distributed in the hope that it will be useful,
4152 but WITHOUT ANY WARRANTY; without even the implied warranty of
4153 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4154 GNU General Public License for more details.
4156 You should have received a copy of the GNU General Public License
4157 along with this program; if not, write to the Free Software
4158 Foundation, Inc., 59 Temple Place - Suite 330,
4159 Boston, MA 02111-1307, USA. */
4161 /* As a special exception, when this file is copied by Bison into a
4162 Bison output file, you may use that output file without restriction.
4163 This special exception was added by the Free Software Foundation
4164 in version 1.24 of Bison. */
4166 /* This is the parser code that is written into each bison parser
4167 when the %semantic_parser declaration is not specified in the grammar.
4168 It was written by Richard Stallman by simplifying the hairy parser
4169 used when %semantic_parser is specified. */
4171 #ifndef YYSTACK_USE_ALLOCA
4173 #define YYSTACK_USE_ALLOCA
4174 #else /* alloca not defined */
4176 #define YYSTACK_USE_ALLOCA
4177 #define alloca __builtin_alloca
4178 #else /* not GNU C. */
4179 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
4180 #define YYSTACK_USE_ALLOCA
4182 #else /* not sparc */
4183 /* We think this test detects Watcom and Microsoft C. */
4184 /* This used to test MSDOS, but that is a bad idea
4185 since that symbol is in the user namespace. */
4186 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
4187 #if 0 /* No need for malloc.h, which pollutes the namespace;
4188 instead, just don't use alloca. */
4191 #else /* not MSDOS, or __TURBOC__ */
4193 /* I don't know what this was needed for, but it pollutes the namespace.
4194 So I turned it off. rms, 2 May 1997. */
4195 /* #include <malloc.h> */
4197 #define YYSTACK_USE_ALLOCA
4198 #else /* not MSDOS, or __TURBOC__, or _AIX */
4200 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
4201 and on HPUX 10. Eventually we can turn this on. */
4202 #define YYSTACK_USE_ALLOCA
4203 #define alloca __builtin_alloca
4206 #endif /* not _AIX */
4207 #endif /* not MSDOS, or __TURBOC__ */
4208 #endif /* not sparc */
4209 #endif /* not GNU C */
4210 #endif /* alloca not defined */
4211 #endif /* YYSTACK_USE_ALLOCA not defined */
4213 #ifdef YYSTACK_USE_ALLOCA
4214 #define YYSTACK_ALLOC alloca
4216 #define YYSTACK_ALLOC malloc
4219 /* Note: there must be only one dollar sign in this file.
4220 It is replaced by the list of actions, each action
4221 as one case of the switch. */
4223 #define yyerrok (yyerrstatus = 0)
4224 #define yyclearin (yychar = YYEMPTY)
4227 #define YYACCEPT goto yyacceptlab
4228 #define YYABORT goto yyabortlab
4229 #define YYERROR goto yyerrlab1
4230 /* Like YYERROR except do call yyerror.
4231 This remains here temporarily to ease the
4232 transition to the new meaning of YYERROR, for GCC.
4233 Once GCC version 2 has supplanted version 1, this can go. */
4234 #define YYFAIL goto yyerrlab
4235 #define YYRECOVERING() (!!yyerrstatus)
4236 #define YYBACKUP(token, value) \
4238 if (yychar == YYEMPTY && yylen == 1) \
4239 { yychar = (token), yylval = (value); \
4240 yychar1 = YYTRANSLATE (yychar); \
4245 { yyerror ("syntax error: cannot back up"); YYERROR; } \
4249 #define YYERRCODE 256
4252 #define YYLEX yylex()
4258 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
4260 #define YYLEX yylex(&yylval, &yylloc)
4262 #else /* not YYLSP_NEEDED */
4264 #define YYLEX yylex(&yylval, YYLEX_PARAM)
4266 #define YYLEX yylex(&yylval)
4268 #endif /* not YYLSP_NEEDED */
4271 /* If nonreentrant, generate the variables here */
4275 int yychar
; /* the lookahead symbol */
4276 YYSTYPE yylval
; /* the semantic value of the */
4277 /* lookahead symbol */
4280 YYLTYPE yylloc
; /* location data for the lookahead */
4284 int yynerrs
; /* number of parse errors so far */
4285 #endif /* not YYPURE */
4288 int yydebug
; /* nonzero means print parse trace */
4289 /* Since this is uninitialized, it does not stop multiple parsers
4293 /* YYINITDEPTH indicates the initial size of the parser's stacks */
4296 #define YYINITDEPTH 200
4299 /* YYMAXDEPTH is the maximum size the stacks can grow to
4300 (effective only if the built-in stack extension method is used). */
4307 #define YYMAXDEPTH 10000
4310 /* Define __yy_memcpy. Note that the size argument
4311 should be passed with type unsigned int, because that is what the non-GCC
4312 definitions require. With GCC, __builtin_memcpy takes an arg
4313 of type size_t, but it can handle unsigned int. */
4315 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
4316 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
4317 #else /* not GNU C or C++ */
4320 /* This is the most reliable way to avoid incompatibilities
4321 in available built-in functions on various systems. */
4323 __yy_memcpy (to
, from
, count
)
4328 register char *f
= from
;
4329 register char *t
= to
;
4330 register int i
= count
;
4336 #else /* __cplusplus */
4338 /* This is the most reliable way to avoid incompatibilities
4339 in available built-in functions on various systems. */
4341 __yy_memcpy (char *to
, char *from
, unsigned int count
)
4343 register char *t
= to
;
4344 register char *f
= from
;
4345 register int i
= count
;
4354 #line 217 "/usr/lib/bison.simple"
4356 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
4357 into yyparse. The argument should have type void *.
4358 It should actually point to an object.
4359 Grammar actions can access the variable by casting it
4360 to the proper pointer type. */
4362 #ifdef YYPARSE_PARAM
4364 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
4365 #define YYPARSE_PARAM_DECL
4366 #else /* not __cplusplus */
4367 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
4368 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
4369 #endif /* not __cplusplus */
4370 #else /* not YYPARSE_PARAM */
4371 #define YYPARSE_PARAM_ARG
4372 #define YYPARSE_PARAM_DECL
4373 #endif /* not YYPARSE_PARAM */
4375 /* Prevent warning if -Wstrict-prototypes. */
4377 #ifdef YYPARSE_PARAM
4378 int yyparse (void *);
4385 yyparse(YYPARSE_PARAM_ARG
)
4388 register int yystate
;
4390 register short *yyssp
;
4391 register YYSTYPE
*yyvsp
;
4392 int yyerrstatus
; /* number of tokens to shift before error messages enabled */
4393 int yychar1
= 0; /* lookahead token as an internal (translated) token number */
4395 short yyssa
[YYINITDEPTH
]; /* the state stack */
4396 YYSTYPE yyvsa
[YYINITDEPTH
]; /* the semantic value stack */
4398 short *yyss
= yyssa
; /* refer to the stacks thru separate pointers */
4399 YYSTYPE
*yyvs
= yyvsa
; /* to allow yyoverflow to reallocate them elsewhere */
4402 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
4403 YYLTYPE
*yyls
= yylsa
;
4406 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
4408 #define YYPOPSTACK (yyvsp--, yyssp--)
4411 int yystacksize
= YYINITDEPTH
;
4412 int yyfree_stacks
= 0;
4423 YYSTYPE yyval
; /* the variable used to return */
4424 /* semantic values from the action */
4431 fprintf(stderr
, "Starting parse\n");
4437 yychar
= YYEMPTY
; /* Cause a token to be read. */
4439 /* Initialize stack pointers.
4440 Waste one element of value and location stack
4441 so that they stay on the same level as the state stack.
4442 The wasted elements are never initialized. */
4450 /* Push a new state, which is found in yystate . */
4451 /* In all cases, when you get here, the value and location stacks
4452 have just been pushed. so pushing a state here evens the stacks. */
4457 if (yyssp
>= yyss
+ yystacksize
- 1)
4459 /* Give user a chance to reallocate the stack */
4460 /* Use copies of these so that the &'s don't force the real ones into memory. */
4461 YYSTYPE
*yyvs1
= yyvs
;
4462 short *yyss1
= yyss
;
4464 YYLTYPE
*yyls1
= yyls
;
4467 /* Get the current used size of the three stacks, in elements. */
4468 int size
= yyssp
- yyss
+ 1;
4471 /* Each stack pointer address is followed by the size of
4472 the data in use in that stack, in bytes. */
4474 /* This used to be a conditional around just the two extra args,
4475 but that might be undefined if yyoverflow is a macro. */
4476 yyoverflow("parser stack overflow",
4477 &yyss1
, size
* sizeof (*yyssp
),
4478 &yyvs1
, size
* sizeof (*yyvsp
),
4479 &yyls1
, size
* sizeof (*yylsp
),
4482 yyoverflow("parser stack overflow",
4483 &yyss1
, size
* sizeof (*yyssp
),
4484 &yyvs1
, size
* sizeof (*yyvsp
),
4488 yyss
= yyss1
; yyvs
= yyvs1
;
4492 #else /* no yyoverflow */
4493 /* Extend the stack our own way. */
4494 if (yystacksize
>= YYMAXDEPTH
)
4496 yyerror("parser stack overflow");
4508 if (yystacksize
> YYMAXDEPTH
)
4509 yystacksize
= YYMAXDEPTH
;
4510 #ifndef YYSTACK_USE_ALLOCA
4513 yyss
= (short *) YYSTACK_ALLOC (yystacksize
* sizeof (*yyssp
));
4514 __yy_memcpy ((char *)yyss
, (char *)yyss1
,
4515 size
* (unsigned int) sizeof (*yyssp
));
4516 yyvs
= (YYSTYPE
*) YYSTACK_ALLOC (yystacksize
* sizeof (*yyvsp
));
4517 __yy_memcpy ((char *)yyvs
, (char *)yyvs1
,
4518 size
* (unsigned int) sizeof (*yyvsp
));
4520 yyls
= (YYLTYPE
*) YYSTACK_ALLOC (yystacksize
* sizeof (*yylsp
));
4521 __yy_memcpy ((char *)yyls
, (char *)yyls1
,
4522 size
* (unsigned int) sizeof (*yylsp
));
4524 #endif /* no yyoverflow */
4526 yyssp
= yyss
+ size
- 1;
4527 yyvsp
= yyvs
+ size
- 1;
4529 yylsp
= yyls
+ size
- 1;
4534 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
4537 if (yyssp
>= yyss
+ yystacksize
- 1)
4543 fprintf(stderr
, "Entering state %d\n", yystate
);
4549 /* Do appropriate processing given the current state. */
4550 /* Read a lookahead token if we need one and don't already have one. */
4553 /* First try to decide what to do without reference to lookahead token. */
4555 yyn
= yypact
[yystate
];
4559 /* Not known => get a lookahead token if don't already have one. */
4561 /* yychar is either YYEMPTY or YYEOF
4562 or a valid token in external form. */
4564 if (yychar
== YYEMPTY
)
4568 fprintf(stderr
, "Reading a token: ");
4573 /* Convert token to internal form (in yychar1) for indexing tables with */
4575 if (yychar
<= 0) /* This means end of input. */
4578 yychar
= YYEOF
; /* Don't call YYLEX any more */
4582 fprintf(stderr
, "Now at end of input.\n");
4587 yychar1
= YYTRANSLATE(yychar
);
4592 fprintf (stderr
, "Next token is %d (%s", yychar
, yytname
[yychar1
]);
4593 /* Give the individual parser a way to print the precise meaning
4594 of a token, for further debugging info. */
4596 YYPRINT (stderr
, yychar
, yylval
);
4598 fprintf (stderr
, ")\n");
4604 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
4609 /* yyn is what to do for this token type in this state.
4610 Negative => reduce, -yyn is rule number.
4611 Positive => shift, yyn is new state.
4612 New state is final state => don't bother to shift,
4613 just return success.
4614 0, or most negative number => error. */
4629 /* Shift the lookahead token. */
4633 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
4636 /* Discard the token being shifted unless it is eof. */
4637 if (yychar
!= YYEOF
)
4645 /* count tokens shifted since error; after three, turn off error status. */
4646 if (yyerrstatus
) yyerrstatus
--;
4651 /* Do the default action for the current state. */
4654 yyn
= yydefact
[yystate
];
4658 /* Do a reduction. yyn is the number of a rule to reduce with. */
4662 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
4669 fprintf (stderr
, "Reducing via rule %d (line %d), ",
4672 /* Print the symbols being reduced, and their result. */
4673 for (i
= yyprhs
[yyn
]; yyrhs
[i
] > 0; i
++)
4674 fprintf (stderr
, "%s ", yytname
[yyrhs
[i
]]);
4675 fprintf (stderr
, " -> %s\n", yytname
[yyr1
[yyn
]]);
4684 { finish_translation_unit (); ;
4688 { finish_translation_unit (); ;
4692 { yyval
.ttype
= NULL_TREE
; ;
4696 { yyval
.ttype
= NULL_TREE
; ggc_collect (); ;
4700 { yyval
.ttype
= NULL_TREE
; ggc_collect (); ;
4704 { have_extern_spec
= 1;
4705 used_extern_spec
= 0;
4706 yyval
.ttype
= NULL_TREE
; ;
4710 { have_extern_spec
= 0; ;
4714 { yyval
.itype
= pedantic
;
4719 { if (pending_lang_change
) do_pending_lang_change();
4720 type_lookups
= NULL_TREE
; ;
4724 { if (! toplevel_bindings_p ())
4725 pop_everything (); ;
4729 { if (pending_inlines
) do_pending_inlines (); ;
4733 { if (pending_inlines
) do_pending_inlines (); ;
4737 { if (pending_inlines
) do_pending_inlines (); ;
4741 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4742 assemble_asm (yyvsp
[-2].ttype
); ;
4746 { pop_lang_context (); ;
4750 { if (pending_inlines
) do_pending_inlines ();
4751 pop_lang_context (); ;
4755 { if (pending_inlines
) do_pending_inlines ();
4756 pop_lang_context (); ;
4760 { push_namespace (yyvsp
[-1].ttype
); ;
4764 { pop_namespace (); ;
4768 { push_namespace (NULL_TREE
); ;
4772 { pop_namespace (); ;
4776 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4780 { pedantic
= yyvsp
[-1].itype
; ;
4784 { begin_only_namespace_names (); ;
4789 end_only_namespace_names ();
4791 yyvsp
[-1].ttype
= lastiddecl
;
4792 do_namespace_alias (yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
4797 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4801 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4805 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4809 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4813 { yyval
.ttype
= build_parse_node (SCOPE_REF
, global_namespace
, yyvsp
[0].ttype
); ;
4817 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4821 { begin_only_namespace_names (); ;
4826 end_only_namespace_names ();
4827 /* If no declaration was found, the using-directive is
4828 invalid. Since that was not reported, we need the
4829 identifier for the error message. */
4830 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
&& lastiddecl
)
4831 yyvsp
[-1].ttype
= lastiddecl
;
4832 do_using_directive (yyvsp
[-1].ttype
);
4838 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4839 yyval
.ttype
= lastiddecl
;
4840 got_scope
= yyval
.ttype
;
4846 yyval
.ttype
= yyvsp
[-1].ttype
;
4847 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4848 yyval
.ttype
= lastiddecl
;
4849 got_scope
= yyval
.ttype
;
4854 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4858 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4862 { push_lang_context (yyvsp
[0].ttype
); ;
4866 { if (current_lang_name
!= yyvsp
[0].ttype
)
4867 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp
[0].ttype
, current_lang_name
);
4868 pop_lang_context (); push_lang_context (yyvsp
[0].ttype
); ;
4872 { begin_template_parm_list (); ;
4876 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4880 { begin_specialization();
4881 yyval
.ttype
= NULL_TREE
; ;
4885 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4889 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4893 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4897 { yyval
.ttype
= NULL_TREE
; ;
4901 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4905 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4909 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4913 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4917 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4921 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4925 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4929 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4934 if (TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_DECL
4935 && TREE_CODE (yyvsp
[0].ttype
) != TEMPLATE_TEMPLATE_PARM
4936 && TREE_CODE (yyvsp
[0].ttype
) != TYPE_DECL
)
4938 error ("invalid default template argument");
4939 yyvsp
[0].ttype
= error_mark_node
;
4941 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
);
4946 { finish_template_decl (yyvsp
[-1].ttype
); ;
4950 { finish_template_decl (yyvsp
[-1].ttype
); ;
4954 { if (pending_inlines
) do_pending_inlines (); ;
4958 { if (pending_inlines
) do_pending_inlines (); ;
4962 { if (pending_inlines
) do_pending_inlines (); ;
4966 { if (pending_inlines
) do_pending_inlines ();
4967 pop_lang_context (); ;
4971 { if (pending_inlines
) do_pending_inlines ();
4972 pop_lang_context (); ;
4976 { pedantic
= yyvsp
[-1].itype
; ;
4984 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4988 { maybe_process_partial_specialization (yyvsp
[-1].ftype
.t
);
4989 note_got_semicolon (yyvsp
[-1].ftype
.t
); ;
4997 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
5001 { pedwarn ("empty declaration"); ;
5007 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
5009 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5014 { yyval
.itype
= 0; ;
5018 { yyval
.itype
= 1; ;
5022 { expand_body (finish_function ((int)yyvsp
[-1].itype
)); ;
5026 { expand_body (finish_function ((int)yyvsp
[0].itype
)); ;
5034 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5038 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5042 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
5043 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5048 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5052 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5056 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
5057 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5062 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5066 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5070 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
5071 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5076 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5080 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5084 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
);
5085 yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5090 { check_for_new_type ("return type", yyvsp
[-1].ftype
);
5091 if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
5096 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
5101 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
5106 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
5111 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
5116 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5120 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5124 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5128 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
5132 { yyval
.ttype
= parse_method (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[-1].ftype
.lookups
);
5136 if (yychar
== YYEMPTY
)
5138 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
5142 { yyval
.ttype
= parse_method (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
);
5143 goto rest_of_mdef
; ;
5147 { yyval
.ttype
= parse_method (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[-1].ftype
.lookups
); goto rest_of_mdef
;;
5151 { yyval
.ttype
= parse_method (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[-1].ftype
.lookups
); goto rest_of_mdef
;;
5155 { yyval
.ttype
= parse_method (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
);
5156 goto rest_of_mdef
; ;
5160 { yyval
.ttype
= parse_method (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[-1].ftype
.lookups
); goto rest_of_mdef
;;
5164 { yyval
.ttype
= parse_method (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
);
5165 goto rest_of_mdef
; ;
5170 if (! current_function_parms_stored
)
5171 store_parm_decls ();
5172 yyval
.ttype
= yyvsp
[0].ttype
;
5177 { finish_named_return_value (yyval
.ttype
, yyvsp
[0].ttype
); ;
5181 { finish_named_return_value (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5185 { finish_named_return_value (yyval
.ttype
, NULL_TREE
); ;
5190 if (yyvsp
[0].ftype
.new_type_flag
== 0)
5191 error ("no base or member initializers given following ':'");
5193 finish_mem_initializers (yyvsp
[0].ftype
.t
);
5199 if (! current_function_parms_stored
)
5200 store_parm_decls ();
5202 if (DECL_CONSTRUCTOR_P (current_function_decl
))
5203 /* Make a contour for the initializer list. */
5205 else if (current_class_type
== NULL_TREE
)
5206 error ("base initializers not allowed for non-member functions");
5207 else if (! DECL_CONSTRUCTOR_P (current_function_decl
))
5208 error ("only constructors take base initializers");
5214 yyval
.ftype
.new_type_flag
= 0;
5215 yyval
.ftype
.t
= NULL_TREE
;
5221 yyval
.ftype
.new_type_flag
= 1;
5222 yyval
.ftype
.t
= yyvsp
[0].ttype
;
5230 yyval
.ftype
.new_type_flag
= 1;
5231 TREE_CHAIN (yyvsp
[0].ttype
) = yyvsp
[-2].ftype
.t
;
5232 yyval
.ftype
.t
= yyvsp
[0].ttype
;
5235 yyval
.ftype
= yyvsp
[-2].ftype
;
5241 if (current_class_name
)
5242 pedwarn ("anachronistic old style base class initializer");
5243 yyval
.ttype
= expand_member_init (current_class_ref
, NULL_TREE
, yyvsp
[-1].ttype
);
5249 if (current_class_name
)
5250 pedwarn ("anachronistic old style base class initializer");
5251 yyval
.ttype
= expand_member_init (current_class_ref
,
5258 { yyval
.ttype
= expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5262 { yyval
.ttype
= expand_member_init (current_class_ref
, yyvsp
[-1].ttype
,
5267 { yyval
.ttype
= expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5271 { yyval
.ttype
= expand_member_init (current_class_ref
, yyvsp
[-1].ttype
,
5276 { yyval
.ttype
= expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5280 { yyval
.ttype
= expand_member_init (current_class_ref
, yyvsp
[-1].ttype
,
5285 { yyval
.ttype
= NULL_TREE
;
5289 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
5290 yyungetc (';', 1); ;
5294 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
5295 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
5299 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
5303 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
5307 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
5308 yyungetc (';', 1); ;
5312 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
5313 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
5317 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
5321 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
5325 { begin_explicit_instantiation(); ;
5329 { end_explicit_instantiation(); ;
5332 #line 1006 "parse.y"
5333 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5336 #line 1009 "parse.y"
5337 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5340 #line 1017 "parse.y"
5341 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5344 #line 1022 "parse.y"
5345 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5348 #line 1026 "parse.y"
5350 if (yychar
== YYEMPTY
)
5353 yyval
.ttype
= finish_template_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
5358 #line 1037 "parse.y"
5360 /* Handle `Class<Class<Type>>' without space in the `>>' */
5361 pedwarn ("`>>' should be `> >' in template class name");
5366 #line 1046 "parse.y"
5367 { yyval
.ttype
= NULL_TREE
; ;
5370 #line 1052 "parse.y"
5371 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5374 #line 1054 "parse.y"
5375 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5378 #line 1059 "parse.y"
5379 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
5382 #line 1061 "parse.y"
5384 yyval
.ttype
= lastiddecl
;
5385 if (DECL_TEMPLATE_TEMPLATE_PARM_P (yyval
.ttype
))
5386 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
5390 #line 1071 "parse.y"
5391 { yyval
.code
= NEGATE_EXPR
; ;
5394 #line 1073 "parse.y"
5395 { yyval
.code
= CONVERT_EXPR
; ;
5398 #line 1075 "parse.y"
5399 { yyval
.code
= PREINCREMENT_EXPR
; ;
5402 #line 1077 "parse.y"
5403 { yyval
.code
= PREDECREMENT_EXPR
; ;
5406 #line 1079 "parse.y"
5407 { yyval
.code
= TRUTH_NOT_EXPR
; ;
5410 #line 1084 "parse.y"
5411 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
5414 #line 1090 "parse.y"
5415 { error ("ISO C++ forbids an empty condition for `%s'",
5417 yyval
.ttype
= integer_zero_node
; ;
5420 #line 1094 "parse.y"
5421 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5424 #line 1099 "parse.y"
5425 { error ("ISO C++ forbids an empty condition for `%s'",
5427 yyval
.ttype
= integer_zero_node
; ;
5430 #line 1103 "parse.y"
5431 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5434 #line 1108 "parse.y"
5435 { yyval
.ttype
= NULL_TREE
; ;
5438 #line 1111 "parse.y"
5439 { yyval
.ttype
= NULL_TREE
; ;
5442 #line 1116 "parse.y"
5445 for (d
= getdecls (); d
; d
= TREE_CHAIN (d
))
5446 if (TREE_CODE (d
) == TYPE_DECL
) {
5447 tree s
= TREE_TYPE (d
);
5448 if (TREE_CODE (s
) == RECORD_TYPE
)
5449 cp_error ("definition of class `%T' in condition", s
);
5450 else if (TREE_CODE (s
) == ENUMERAL_TYPE
)
5451 cp_error ("definition of enum `%T' in condition", s
);
5454 current_declspecs
= yyvsp
[-4].ftype
.t
;
5455 yyval
.ttype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1);
5459 #line 1131 "parse.y"
5461 parse_end_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
);
5462 yyval
.ttype
= convert_from_reference (yyvsp
[-1].ttype
);
5463 if (TREE_CODE (TREE_TYPE (yyval
.ttype
)) == ARRAY_TYPE
)
5464 cp_error ("definition of array `%#D' in condition", yyval
.ttype
);
5468 #line 1149 "parse.y"
5469 { yyval
.ttype
= begin_compound_stmt (1); ;
5472 #line 1151 "parse.y"
5473 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
5476 #line 1158 "parse.y"
5477 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
,
5478 build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5481 #line 1161 "parse.y"
5482 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
,
5483 build_tree_list (NULL_TREE
, error_mark_node
)); ;
5486 #line 1164 "parse.y"
5487 { chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5490 #line 1166 "parse.y"
5491 { chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, error_mark_node
)); ;
5494 #line 1171 "parse.y"
5495 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5498 #line 1177 "parse.y"
5499 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5502 #line 1180 "parse.y"
5503 { yyval
.ttype
= yyvsp
[0].ttype
;
5504 pedantic
= yyvsp
[-1].itype
; ;
5507 #line 1183 "parse.y"
5508 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
5511 #line 1185 "parse.y"
5512 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5515 #line 1187 "parse.y"
5516 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5519 #line 1189 "parse.y"
5520 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5523 #line 1192 "parse.y"
5525 pedwarn ("ISO C++ forbids `&&'");
5526 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
5529 #line 1196 "parse.y"
5530 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
5533 #line 1198 "parse.y"
5534 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
));
5535 check_for_new_type ("sizeof", yyvsp
[-1].ftype
); ;
5538 #line 1201 "parse.y"
5539 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
5542 #line 1203 "parse.y"
5543 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
5544 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
5547 #line 1209 "parse.y"
5548 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-1].itype
);
5549 check_for_new_type ("new", yyvsp
[0].ftype
); ;
5552 #line 1212 "parse.y"
5553 { yyval
.ttype
= build_new (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-2].itype
);
5554 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5557 #line 1215 "parse.y"
5558 { yyval
.ttype
= build_new (yyvsp
[-1].ttype
, yyvsp
[0].ftype
.t
, NULL_TREE
, yyvsp
[-2].itype
);
5559 check_for_new_type ("new", yyvsp
[0].ftype
); ;
5562 #line 1218 "parse.y"
5563 { yyval
.ttype
= build_new (yyvsp
[-2].ttype
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
, yyvsp
[-3].itype
);
5564 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5567 #line 1222 "parse.y"
5568 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-1].ftype
.t
),
5569 NULL_TREE
, yyvsp
[-3].itype
);
5570 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5573 #line 1226 "parse.y"
5574 { yyval
.ttype
= build_new (NULL_TREE
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-4].itype
);
5575 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5578 #line 1229 "parse.y"
5579 { yyval
.ttype
= build_new (yyvsp
[-3].ttype
, groktypename(yyvsp
[-1].ftype
.t
), NULL_TREE
, yyvsp
[-4].itype
);
5580 check_for_new_type ("new", yyvsp
[-1].ftype
); ;
5583 #line 1232 "parse.y"
5584 { yyval
.ttype
= build_new (yyvsp
[-4].ttype
, groktypename(yyvsp
[-2].ftype
.t
), yyvsp
[0].ttype
, yyvsp
[-5].itype
);
5585 check_for_new_type ("new", yyvsp
[-2].ftype
); ;
5588 #line 1236 "parse.y"
5589 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
5592 #line 1238 "parse.y"
5593 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
5594 if (yychar
== YYEMPTY
)
5598 #line 1242 "parse.y"
5599 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
5600 if (yychar
== YYEMPTY
)
5604 #line 1246 "parse.y"
5605 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
5608 #line 1248 "parse.y"
5609 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
5612 #line 1250 "parse.y"
5613 { yyval
.ttype
= build_x_va_arg (yyvsp
[-3].ttype
, groktypename (yyvsp
[-1].ftype
.t
));
5614 check_for_new_type ("__builtin_va_arg", yyvsp
[-1].ftype
); ;
5617 #line 1256 "parse.y"
5618 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5621 #line 1258 "parse.y"
5622 { cp_pedwarn ("old style placement syntax, use () instead");
5623 yyval
.ttype
= yyvsp
[-1].ttype
; ;
5626 #line 1264 "parse.y"
5627 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5630 #line 1266 "parse.y"
5631 { yyval
.ttype
= NULL_TREE
; ;
5634 #line 1268 "parse.y"
5636 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
5637 yyval
.ttype
= error_mark_node
;
5641 #line 1276 "parse.y"
5644 pedwarn ("ISO C++ forbids initialization of new expression with `='");
5645 if (TREE_CODE (yyvsp
[0].ttype
) != TREE_LIST
5646 && TREE_CODE (yyvsp
[0].ttype
) != CONSTRUCTOR
)
5647 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
);
5649 yyval
.ttype
= yyvsp
[0].ttype
;
5653 #line 1290 "parse.y"
5654 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5655 yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5656 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5659 #line 1294 "parse.y"
5660 { yyvsp
[-1].ftype
.t
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
), 0);
5661 yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-1].ftype
.t
, NULL_TREE
, NULL_TREE
);
5662 check_for_new_type ("cast", yyvsp
[-1].ftype
); ;
5665 #line 1302 "parse.y"
5666 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5669 #line 1304 "parse.y"
5671 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5672 nreverse (yyvsp
[-2].ttype
));
5674 pedwarn ("ISO C++ forbids constructor-expressions");
5675 /* Indicate that this was a GNU C constructor expression. */
5676 TREE_HAS_CONSTRUCTOR (init
) = 1;
5678 yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, init
);
5682 #line 1320 "parse.y"
5683 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5686 #line 1322 "parse.y"
5687 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5690 #line 1324 "parse.y"
5691 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5694 #line 1326 "parse.y"
5695 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5698 #line 1328 "parse.y"
5699 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5702 #line 1330 "parse.y"
5703 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5706 #line 1332 "parse.y"
5707 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5710 #line 1334 "parse.y"
5711 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5714 #line 1336 "parse.y"
5715 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5718 #line 1338 "parse.y"
5719 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5722 #line 1340 "parse.y"
5723 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5726 #line 1342 "parse.y"
5727 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5730 #line 1344 "parse.y"
5731 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5734 #line 1346 "parse.y"
5735 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5738 #line 1348 "parse.y"
5739 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5742 #line 1350 "parse.y"
5743 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5746 #line 1352 "parse.y"
5747 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5750 #line 1354 "parse.y"
5751 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5754 #line 1356 "parse.y"
5755 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5758 #line 1358 "parse.y"
5759 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5762 #line 1360 "parse.y"
5763 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5764 if (yyval
.ttype
!= error_mark_node
)
5765 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5768 #line 1364 "parse.y"
5769 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5772 #line 1366 "parse.y"
5773 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5776 #line 1368 "parse.y"
5777 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5780 #line 1375 "parse.y"
5781 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5784 #line 1377 "parse.y"
5785 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5788 #line 1379 "parse.y"
5789 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5792 #line 1381 "parse.y"
5793 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5796 #line 1383 "parse.y"
5797 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5800 #line 1385 "parse.y"
5801 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5804 #line 1387 "parse.y"
5805 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5808 #line 1389 "parse.y"
5809 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5812 #line 1391 "parse.y"
5813 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5816 #line 1393 "parse.y"
5817 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5820 #line 1395 "parse.y"
5821 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5824 #line 1397 "parse.y"
5825 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5828 #line 1399 "parse.y"
5829 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5832 #line 1401 "parse.y"
5833 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5836 #line 1403 "parse.y"
5837 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5840 #line 1405 "parse.y"
5841 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5844 #line 1407 "parse.y"
5845 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5848 #line 1409 "parse.y"
5849 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5852 #line 1411 "parse.y"
5853 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
5856 #line 1413 "parse.y"
5857 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, NOP_EXPR
, yyvsp
[0].ttype
);
5858 if (yyval
.ttype
!= error_mark_node
)
5859 C_SET_EXP_ORIGINAL_CODE (yyval
.ttype
, MODIFY_EXPR
); ;
5862 #line 1417 "parse.y"
5863 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5866 #line 1419 "parse.y"
5867 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5870 #line 1421 "parse.y"
5871 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5874 #line 1426 "parse.y"
5875 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5878 #line 1428 "parse.y"
5879 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5882 #line 1437 "parse.y"
5884 /* If lastiddecl is a TREE_LIST, it's a baselink, which
5885 means that we're in an expression like S::f<int>, so
5886 don't do_identifier; we only do that for unqualified
5888 if (lastiddecl
&& TREE_CODE (lastiddecl
) != TREE_LIST
)
5889 yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1, NULL_TREE
);
5891 yyval
.ttype
= yyvsp
[-1].ttype
;
5895 #line 1450 "parse.y"
5896 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5899 #line 1452 "parse.y"
5900 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5903 #line 1457 "parse.y"
5904 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5907 #line 1459 "parse.y"
5908 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5911 #line 1462 "parse.y"
5912 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5915 #line 1474 "parse.y"
5917 /* Provide support for '(' attributes '*' declarator ')'
5919 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
5923 #line 1484 "parse.y"
5924 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5927 #line 1486 "parse.y"
5928 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5931 #line 1488 "parse.y"
5932 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5935 #line 1493 "parse.y"
5936 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5939 #line 1495 "parse.y"
5940 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5943 #line 1505 "parse.y"
5944 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
5947 #line 1510 "parse.y"
5949 if (TREE_CODE (yyvsp
[0].ttype
) == BIT_NOT_EXPR
)
5950 yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, TREE_OPERAND (yyvsp
[0].ttype
, 0));
5952 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
5956 #line 1519 "parse.y"
5958 yyval
.ttype
= combine_strings (yyval
.ttype
);
5959 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5960 a const array the way we want, so fix it. */
5961 if (flag_const_strings
)
5962 TREE_TYPE (yyval
.ttype
) = build_cplus_array_type
5963 (TREE_TYPE (TREE_TYPE (yyval
.ttype
)),
5964 TYPE_DOMAIN (TREE_TYPE (yyval
.ttype
)));
5968 #line 1529 "parse.y"
5969 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5972 #line 1531 "parse.y"
5973 { yyvsp
[-1].ttype
= reparse_decl_as_expr (NULL_TREE
, yyvsp
[-1].ttype
);
5974 yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
5977 #line 1534 "parse.y"
5978 { yyval
.ttype
= error_mark_node
; ;
5981 #line 1536 "parse.y"
5982 { tree scope
= current_scope ();
5983 if (!scope
|| TREE_CODE (scope
) != FUNCTION_DECL
)
5985 error ("braced-group within expression allowed only inside a function");
5989 pedwarn ("ISO C++ forbids braced-groups within expressions");
5990 yyval
.ttype
= begin_stmt_expr ();
5994 #line 1547 "parse.y"
5995 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
); ;
5998 #line 1552 "parse.y"
5999 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1); ;
6002 #line 1554 "parse.y"
6003 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 1); ;
6006 #line 1556 "parse.y"
6007 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 0); ;
6010 #line 1558 "parse.y"
6011 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 0); ;
6014 #line 1560 "parse.y"
6015 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
6018 #line 1562 "parse.y"
6019 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
6022 #line 1564 "parse.y"
6023 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
6026 #line 1567 "parse.y"
6027 { yyval
.ttype
= finish_this_expr (); ;
6030 #line 1569 "parse.y"
6032 /* This is a C cast in C++'s `functional' notation
6033 using the "implicit int" extension so that:
6034 `const (3)' is equivalent to `const int (3)'. */
6037 type
= hash_tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, NULL_TREE
);
6038 type
= groktypename (build_decl_list (type
, NULL_TREE
));
6039 yyval
.ttype
= build_functional_cast (type
, yyvsp
[-1].ttype
);
6043 #line 1581 "parse.y"
6044 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
6045 check_for_new_type ("dynamic_cast", yyvsp
[-4].ftype
);
6046 yyval
.ttype
= build_dynamic_cast (type
, yyvsp
[-1].ttype
); ;
6049 #line 1585 "parse.y"
6050 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
6051 check_for_new_type ("static_cast", yyvsp
[-4].ftype
);
6052 yyval
.ttype
= build_static_cast (type
, yyvsp
[-1].ttype
); ;
6055 #line 1589 "parse.y"
6056 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
6057 check_for_new_type ("reinterpret_cast", yyvsp
[-4].ftype
);
6058 yyval
.ttype
= build_reinterpret_cast (type
, yyvsp
[-1].ttype
); ;
6061 #line 1593 "parse.y"
6062 { tree type
= groktypename (yyvsp
[-4].ftype
.t
);
6063 check_for_new_type ("const_cast", yyvsp
[-4].ftype
);
6064 yyval
.ttype
= build_const_cast (type
, yyvsp
[-1].ttype
); ;
6067 #line 1597 "parse.y"
6068 { yyval
.ttype
= build_typeid (yyvsp
[-1].ttype
); ;
6071 #line 1599 "parse.y"
6072 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
6073 check_for_new_type ("typeid", yyvsp
[-1].ftype
);
6074 yyval
.ttype
= get_typeid (TYPE_MAIN_VARIANT (type
)); ;
6077 #line 1603 "parse.y"
6078 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
6081 #line 1605 "parse.y"
6082 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6085 #line 1607 "parse.y"
6087 got_scope
= NULL_TREE
;
6088 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
6089 yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1);
6091 yyval
.ttype
= yyvsp
[0].ttype
;
6095 #line 1615 "parse.y"
6096 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
6099 #line 1617 "parse.y"
6100 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6103 #line 1619 "parse.y"
6104 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
6107 #line 1621 "parse.y"
6109 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
6113 #line 1625 "parse.y"
6114 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
6117 #line 1627 "parse.y"
6118 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
6121 #line 1629 "parse.y"
6122 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
6125 #line 1631 "parse.y"
6126 { if (processing_template_decl
)
6127 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6129 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
6132 #line 1636 "parse.y"
6133 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
6136 #line 1638 "parse.y"
6137 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
6140 #line 1640 "parse.y"
6141 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
6144 #line 1642 "parse.y"
6145 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
6148 #line 1645 "parse.y"
6149 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6152 #line 1647 "parse.y"
6153 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
6156 #line 1649 "parse.y"
6158 yyval
.ttype
= error_mark_node
;
6162 #line 1694 "parse.y"
6163 { yyval
.itype
= 0; ;
6166 #line 1696 "parse.y"
6167 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
6170 #line 1701 "parse.y"
6171 { yyval
.itype
= 0; ;
6174 #line 1703 "parse.y"
6175 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
6178 #line 1708 "parse.y"
6179 { yyval
.ttype
= boolean_true_node
; ;
6182 #line 1710 "parse.y"
6183 { yyval
.ttype
= boolean_false_node
; ;
6186 #line 1717 "parse.y"
6187 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6190 #line 1722 "parse.y"
6192 if (! current_function_parms_stored
)
6193 store_parm_decls ();
6194 setup_vtbl_ptr (NULL_TREE
, NULL_TREE
);
6198 #line 1731 "parse.y"
6199 { got_object
= TREE_TYPE (yyval
.ttype
); ;
6202 #line 1733 "parse.y"
6204 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
6205 got_object
= TREE_TYPE (yyval
.ttype
);
6209 #line 1741 "parse.y"
6211 if (yyvsp
[-2].ftype
.t
&& IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp
[-2].ftype
.t
)))
6212 note_got_semicolon (yyvsp
[-2].ftype
.t
);
6216 #line 1746 "parse.y"
6218 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
6222 #line 1750 "parse.y"
6226 #line 1752 "parse.y"
6228 shadow_tag (yyvsp
[-1].ftype
.t
);
6229 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
6233 #line 1757 "parse.y"
6234 { warning ("empty declaration"); ;
6237 #line 1759 "parse.y"
6238 { pedantic
= yyvsp
[-1].itype
; ;
6241 #line 1773 "parse.y"
6242 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
6243 NULL_TREE
, NULL_TREE
); ;
6246 #line 1776 "parse.y"
6247 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
6251 #line 1783 "parse.y"
6252 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6253 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6256 #line 1786 "parse.y"
6257 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6258 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6261 #line 1789 "parse.y"
6262 { yyval
.ftype
.t
= build_decl_list (build_decl_list (NULL_TREE
, yyvsp
[-1].ftype
.t
),
6264 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6267 #line 1793 "parse.y"
6268 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6269 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6272 #line 1796 "parse.y"
6273 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
6274 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6277 #line 1807 "parse.y"
6278 { yyval
.ftype
.lookups
= type_lookups
; ;
6281 #line 1809 "parse.y"
6282 { yyval
.ftype
.lookups
= type_lookups
; ;
6285 #line 1814 "parse.y"
6286 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
6287 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6290 #line 1817 "parse.y"
6291 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6292 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6295 #line 1820 "parse.y"
6296 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
, chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
));
6297 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
6300 #line 1823 "parse.y"
6301 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
6302 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6305 #line 1826 "parse.y"
6306 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
6307 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6310 #line 1829 "parse.y"
6311 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-2].ftype
.t
,
6312 chainon (yyvsp
[-1].ttype
, chainon (yyvsp
[0].ttype
, yyvsp
[-3].ftype
.t
)));
6313 yyval
.ftype
.new_type_flag
= yyvsp
[-2].ftype
.new_type_flag
; ;
6316 #line 1836 "parse.y"
6317 { if (extra_warnings
)
6318 warning ("`%s' is not at beginning of declaration",
6319 IDENTIFIER_POINTER (yyval
.ttype
));
6320 yyval
.ttype
= build_decl_list (NULL_TREE
, yyval
.ttype
); ;
6323 #line 1841 "parse.y"
6324 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
6327 #line 1843 "parse.y"
6328 { if (extra_warnings
)
6329 warning ("`%s' is not at beginning of declaration",
6330 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
6331 yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6334 #line 1848 "parse.y"
6335 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6338 #line 1850 "parse.y"
6339 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
6342 #line 1869 "parse.y"
6343 { yyval
.ftype
.lookups
= NULL_TREE
; TREE_STATIC (yyval
.ftype
.t
) = 1; ;
6346 #line 1871 "parse.y"
6348 yyval
.ftype
.t
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
6349 yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
;
6353 #line 1876 "parse.y"
6355 yyval
.ftype
.t
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6356 TREE_STATIC (yyval
.ftype
.t
) = 1;
6360 #line 1881 "parse.y"
6362 if (extra_warnings
&& TREE_STATIC (yyval
.ftype
.t
))
6363 warning ("`%s' is not at beginning of declaration",
6364 IDENTIFIER_POINTER (yyvsp
[0].ttype
));
6365 yyval
.ftype
.t
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
6366 TREE_STATIC (yyval
.ftype
.t
) = TREE_STATIC (yyvsp
[-1].ftype
.t
);
6370 #line 1889 "parse.y"
6371 { yyval
.ftype
.t
= hash_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
6374 #line 1891 "parse.y"
6376 yyval
.ftype
.t
= hash_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
);
6377 yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
;
6381 #line 1905 "parse.y"
6382 { yyval
.ftype
.t
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
6383 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6386 #line 1908 "parse.y"
6387 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ftype
.t
);
6388 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
6391 #line 1911 "parse.y"
6392 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
6393 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6396 #line 1914 "parse.y"
6397 { yyval
.ftype
.t
= decl_tree_cons (NULL_TREE
, yyvsp
[-1].ftype
.t
, chainon (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
));
6398 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
6401 #line 1920 "parse.y"
6402 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
6405 #line 1922 "parse.y"
6406 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
6409 #line 1931 "parse.y"
6410 { yyval
.ftype
.lookups
= NULL_TREE
; ;
6413 #line 1933 "parse.y"
6414 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
; ;
6417 #line 1935 "parse.y"
6418 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
; ;
6421 #line 1937 "parse.y"
6422 { yyval
.ftype
.t
= finish_typeof (yyvsp
[-1].ttype
);
6423 yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
; ;
6426 #line 1940 "parse.y"
6427 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
6428 yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
; ;
6431 #line 1943 "parse.y"
6432 { tree type
= TREE_TYPE (yyvsp
[-1].ttype
);
6434 yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
;
6435 if (IS_AGGR_TYPE (type
))
6437 sorry ("sigof type specifier");
6438 yyval
.ftype
.t
= type
;
6442 error ("`sigof' applied to non-aggregate expression");
6443 yyval
.ftype
.t
= error_mark_node
;
6448 #line 1958 "parse.y"
6449 { tree type
= groktypename (yyvsp
[-1].ftype
.t
);
6451 yyval
.ftype
.new_type_flag
= 0; yyval
.ftype
.lookups
= NULL_TREE
;
6452 if (IS_AGGR_TYPE (type
))
6454 sorry ("sigof type specifier");
6455 yyval
.ftype
.t
= type
;
6459 error("`sigof' applied to non-aggregate type");
6460 yyval
.ftype
.t
= error_mark_node
;
6465 #line 1978 "parse.y"
6466 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6469 #line 1980 "parse.y"
6470 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6473 #line 1987 "parse.y"
6474 { check_multiple_declarators (); ;
6477 #line 1993 "parse.y"
6478 { check_multiple_declarators (); ;
6481 #line 1999 "parse.y"
6482 { check_multiple_declarators (); ;
6485 #line 2004 "parse.y"
6486 { yyval
.ttype
= NULL_TREE
; ;
6489 #line 2006 "parse.y"
6490 { if (TREE_CHAIN (yyvsp
[-1].ttype
)) yyvsp
[-1].ttype
= combine_strings (yyvsp
[-1].ttype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6493 #line 2011 "parse.y"
6494 { yyval
.ttype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1); ;
6497 #line 2014 "parse.y"
6498 { parse_end_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
6501 #line 2016 "parse.y"
6503 yyval
.ttype
= parse_decl (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, 0);
6504 parse_end_decl (yyval
.ttype
, NULL_TREE
, yyvsp
[-1].ttype
);
6508 #line 2030 "parse.y"
6509 { yyval
.ttype
= parse_decl0 (yyvsp
[-3].ttype
, yyvsp
[-4].ftype
.t
,
6510 yyvsp
[-4].ftype
.lookups
, yyvsp
[-1].ttype
, 1); ;
6513 #line 2035 "parse.y"
6514 { parse_end_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
6517 #line 2037 "parse.y"
6518 { tree d
= parse_decl0 (yyvsp
[-2].ttype
, yyvsp
[-3].ftype
.t
,
6519 yyvsp
[-3].ftype
.lookups
, yyvsp
[0].ttype
, 0);
6520 parse_end_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6523 #line 2044 "parse.y"
6527 #line 2049 "parse.y"
6531 #line 2054 "parse.y"
6532 { /* Set things up as initdcl0_innards expects. */
6533 yyvsp
[0].ttype
= yyvsp
[-1].ttype
;
6534 yyvsp
[-1].ttype
= NULL_TREE
; ;
6537 #line 2058 "parse.y"
6541 #line 2060 "parse.y"
6542 { tree d
= parse_decl0 (yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
, 0);
6543 parse_end_decl (d
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6546 #line 2068 "parse.y"
6547 { yyval
.ttype
= NULL_TREE
; ;
6550 #line 2070 "parse.y"
6551 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6554 #line 2075 "parse.y"
6555 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6558 #line 2077 "parse.y"
6559 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6562 #line 2082 "parse.y"
6563 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
6566 #line 2087 "parse.y"
6567 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6570 #line 2089 "parse.y"
6571 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6574 #line 2094 "parse.y"
6575 { yyval
.ttype
= NULL_TREE
; ;
6578 #line 2096 "parse.y"
6579 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
6582 #line 2098 "parse.y"
6583 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
6586 #line 2100 "parse.y"
6587 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
6590 #line 2102 "parse.y"
6591 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6594 #line 2118 "parse.y"
6595 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
6598 #line 2120 "parse.y"
6599 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
6602 #line 2125 "parse.y"
6603 { yyval
.ttype
= NULL_TREE
; ;
6606 #line 2127 "parse.y"
6607 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6610 #line 2135 "parse.y"
6611 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
6612 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6615 #line 2138 "parse.y"
6616 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
6617 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6620 #line 2141 "parse.y"
6621 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
6622 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6625 #line 2144 "parse.y"
6626 { yyval
.ttype
= NULL_TREE
; ;
6629 #line 2151 "parse.y"
6630 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
6633 #line 2153 "parse.y"
6634 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6637 #line 2156 "parse.y"
6638 { yyval
.ttype
= build_tree_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6641 #line 2158 "parse.y"
6642 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
6645 #line 2160 "parse.y"
6646 { yyval
.ttype
= tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6649 #line 2165 "parse.y"
6650 { start_function (NULL_TREE
, yyvsp
[0].pi
->fndecl
, NULL_TREE
,
6651 (SF_DEFAULT
| SF_PRE_PARSED
6652 | SF_INCLASS_INLINE
)); ;
6655 #line 2171 "parse.y"
6657 expand_body (finish_function ((int)yyvsp
[-1].itype
| 2));
6658 process_next_inline (yyvsp
[-3].pi
);
6662 #line 2176 "parse.y"
6664 expand_body (finish_function ((int)yyvsp
[0].itype
| 2));
6665 process_next_inline (yyvsp
[-2].pi
);
6669 #line 2181 "parse.y"
6671 finish_function (2);
6672 process_next_inline (yyvsp
[-2].pi
); ;
6675 #line 2195 "parse.y"
6676 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6679 #line 2197 "parse.y"
6680 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6683 #line 2202 "parse.y"
6684 { do_pending_defargs (); ;
6687 #line 2204 "parse.y"
6688 { do_pending_defargs (); ;
6691 #line 2209 "parse.y"
6692 { yyval
.ttype
= current_enum_type
;
6693 current_enum_type
= start_enum (yyvsp
[-1].ttype
); ;
6696 #line 2212 "parse.y"
6697 { yyval
.ftype
.t
= finish_enum (current_enum_type
);
6698 yyval
.ftype
.new_type_flag
= 1;
6699 current_enum_type
= yyvsp
[-2].ttype
;
6700 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6703 #line 2217 "parse.y"
6704 { yyval
.ttype
= current_enum_type
;
6705 current_enum_type
= start_enum (make_anon_name ()); ;
6708 #line 2220 "parse.y"
6709 { yyval
.ftype
.t
= finish_enum (current_enum_type
);
6710 yyval
.ftype
.new_type_flag
= 1;
6711 current_enum_type
= yyvsp
[-2].ttype
;
6712 check_for_missing_semicolon (yyval
.ftype
.t
); ;
6715 #line 2225 "parse.y"
6716 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6717 yyval
.ftype
.new_type_flag
= 0; ;
6720 #line 2228 "parse.y"
6721 { yyval
.ftype
.t
= xref_tag (enum_type_node
, yyvsp
[0].ttype
, 1);
6722 yyval
.ftype
.new_type_flag
= 0; ;
6725 #line 2231 "parse.y"
6726 { yyval
.ftype
.t
= yyvsp
[0].ttype
;
6727 yyval
.ftype
.new_type_flag
= 0;
6728 if (!processing_template_decl
)
6729 cp_pedwarn ("using `typename' outside of template"); ;
6732 #line 2237 "parse.y"
6733 { yyvsp
[-1].ftype
.t
= begin_class_definition (yyvsp
[-1].ftype
.t
); ;
6736 #line 2239 "parse.y"
6740 if (yychar
== YYEMPTY
)
6742 semi
= yychar
== ';';
6744 yyval
.ttype
= finish_class_definition (yyvsp
[-5].ftype
.t
, yyvsp
[0].ttype
, semi
,
6745 yyvsp
[-5].ftype
.new_type_flag
);
6749 #line 2250 "parse.y"
6751 begin_inline_definitions ();
6755 #line 2254 "parse.y"
6757 finish_inline_definitions ();
6758 yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6759 yyval
.ftype
.new_type_flag
= 1;
6763 #line 2260 "parse.y"
6765 if (yyvsp
[0].ftype
.new_type_flag
&& yyvsp
[0].ftype
.t
!= error_mark_node
)
6766 pop_scope (CP_DECL_CONTEXT (TYPE_MAIN_DECL (yyvsp
[0].ftype
.t
)));
6767 yyval
.ftype
.new_type_flag
= 0;
6768 if (yyvsp
[0].ftype
.t
== error_mark_node
)
6769 yyval
.ftype
.t
= yyvsp
[0].ftype
.t
;
6770 else if (TYPE_BINFO (yyvsp
[0].ftype
.t
) == NULL_TREE
)
6772 cp_error ("%T is not a class type", yyvsp
[0].ftype
.t
);
6773 yyval
.ftype
.t
= error_mark_node
;
6777 yyval
.ftype
.t
= yyvsp
[0].ftype
.t
;
6778 /* struct B: public A; is not accepted by the standard grammar. */
6779 if (CLASS_TYPE_P (yyval
.ftype
.t
)
6780 && TYPE_BINFO_BASETYPES (yyval
.ftype
.t
)
6781 && !COMPLETE_TYPE_P (yyval
.ftype
.t
)
6782 && ! TYPE_BEING_DEFINED (yyval
.ftype
.t
))
6783 cp_error ("base clause without member specification for `%#T'",
6789 #line 2293 "parse.y"
6790 { if (pedantic
&& !in_system_header
)
6791 pedwarn ("comma at end of enumerator list"); ;
6794 #line 2300 "parse.y"
6795 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6798 #line 2302 "parse.y"
6799 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6802 #line 2304 "parse.y"
6803 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6806 #line 2306 "parse.y"
6807 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6810 #line 2308 "parse.y"
6811 { yyval
.ttype
= build_decl_list (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
6814 #line 2313 "parse.y"
6816 current_aggr
= yyvsp
[-1].ttype
;
6817 yyval
.ttype
= yyvsp
[0].ttype
;
6821 #line 2321 "parse.y"
6822 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6825 #line 2323 "parse.y"
6826 { yyungetc ('{', 1); ;
6829 #line 2325 "parse.y"
6830 { yyungetc (':', 1); ;
6833 #line 2330 "parse.y"
6835 current_aggr
= yyvsp
[-2].ttype
;
6836 yyval
.ftype
.t
= handle_class_head (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6837 yyval
.ftype
.new_type_flag
= 1;
6841 #line 2336 "parse.y"
6843 current_aggr
= yyvsp
[-3].ttype
;
6844 yyval
.ftype
.t
= handle_class_head (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6845 yyval
.ftype
.new_type_flag
= 1;
6849 #line 2342 "parse.y"
6851 current_aggr
= yyvsp
[-2].ttype
;
6852 yyval
.ftype
.t
= handle_class_head (yyvsp
[-2].ttype
, NULL_TREE
, yyvsp
[0].ttype
);
6853 yyval
.ftype
.new_type_flag
= 1;
6857 #line 2348 "parse.y"
6859 current_aggr
= yyvsp
[-1].ttype
;
6860 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6861 yyval
.ftype
.new_type_flag
= 0;
6865 #line 2354 "parse.y"
6867 current_aggr
= yyvsp
[-2].ttype
;
6868 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6869 if (CP_DECL_CONTEXT (yyval
.ftype
.t
))
6870 push_scope (CP_DECL_CONTEXT (yyval
.ftype
.t
));
6871 yyval
.ftype
.new_type_flag
= 1;
6875 #line 2365 "parse.y"
6877 yyval
.ftype
.t
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 1);
6878 yyval
.ftype
.new_type_flag
= 0;
6882 #line 2370 "parse.y"
6883 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 0); ;
6886 #line 2374 "parse.y"
6888 yyval
.ftype
.t
= yyvsp
[-1].ttype
;
6889 yyval
.ftype
.new_type_flag
= 0;
6891 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
6895 #line 2382 "parse.y"
6897 if (yyvsp
[-1].ftype
.t
!= error_mark_node
)
6899 yyval
.ftype
.t
= TREE_TYPE (yyvsp
[-1].ftype
.t
);
6900 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
6901 if (current_aggr
== union_type_node
6902 && TREE_CODE (yyval
.ftype
.t
) != UNION_TYPE
)
6903 cp_pedwarn ("`union' tag used in declaring `%#T'",
6905 else if (TREE_CODE (yyval
.ftype
.t
) == UNION_TYPE
6906 && current_aggr
!= union_type_node
)
6907 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval
.ftype
);
6908 else if (TREE_CODE (yyval
.ftype
.t
) == RECORD_TYPE
)
6909 /* We might be specializing a template with a different
6911 CLASSTYPE_DECLARED_CLASS (yyval
.ftype
.t
)
6912 = (current_aggr
== class_type_node
);
6915 maybe_process_partial_specialization (yyval
.ftype
.t
);
6916 xref_basetypes (current_aggr
, yyvsp
[-1].ftype
.t
, yyval
.ftype
.t
, yyvsp
[0].ttype
);
6922 #line 2410 "parse.y"
6923 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), 0);
6924 yyungetc ('{', 1); ;
6927 #line 2420 "parse.y"
6929 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6930 yyval
.ftype
.new_type_flag
= 0;
6934 #line 2429 "parse.y"
6935 { yyval
.ttype
= NULL_TREE
; ;
6938 #line 2431 "parse.y"
6939 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6942 #line 2433 "parse.y"
6943 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6946 #line 2439 "parse.y"
6947 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6950 #line 2444 "parse.y"
6951 { yyval
.ttype
= finish_base_specifier (access_default_node
, yyvsp
[0].ttype
); ;
6954 #line 2446 "parse.y"
6955 { yyval
.ttype
= finish_base_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6958 #line 2451 "parse.y"
6959 { if (yyval
.ttype
== error_mark_node
)
6961 else if (!TYPE_P (yyval
.ttype
))
6962 yyval
.ttype
= error_mark_node
;
6964 yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
6967 #line 2463 "parse.y"
6968 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6969 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6970 yyval
.ttype
= access_default_virtual_node
; ;
6973 #line 2467 "parse.y"
6975 if (yyvsp
[-2].ttype
!= access_default_virtual_node
)
6976 error ("multiple access specifiers");
6977 else if (yyvsp
[-1].ttype
== access_public_node
)
6978 yyval
.ttype
= access_public_virtual_node
;
6979 else if (yyvsp
[-1].ttype
== access_protected_node
)
6980 yyval
.ttype
= access_protected_virtual_node
;
6981 else /* $2 == access_private_node */
6982 yyval
.ttype
= access_private_virtual_node
;
6986 #line 2478 "parse.y"
6987 { if (yyvsp
[-1].ttype
!= ridpointers
[(int)RID_VIRTUAL
])
6988 cp_error ("`%D' access", yyvsp
[-1].ttype
);
6989 else if (yyval
.ttype
== access_public_node
)
6990 yyval
.ttype
= access_public_virtual_node
;
6991 else if (yyval
.ttype
== access_protected_node
)
6992 yyval
.ttype
= access_protected_virtual_node
;
6993 else if (yyval
.ttype
== access_private_node
)
6994 yyval
.ttype
= access_private_virtual_node
;
6996 error ("multiple `virtual' specifiers");
7000 #line 2499 "parse.y"
7002 current_access_specifier
= yyvsp
[-1].ttype
;
7006 #line 2508 "parse.y"
7008 finish_member_declaration (yyvsp
[0].ttype
);
7012 #line 2512 "parse.y"
7014 finish_member_declaration (yyvsp
[0].ttype
);
7018 #line 2520 "parse.y"
7019 { error ("missing ';' before right brace");
7020 yyungetc ('}', 0); ;
7023 #line 2525 "parse.y"
7024 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
7027 #line 2527 "parse.y"
7028 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
7031 #line 2529 "parse.y"
7032 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
7035 #line 2531 "parse.y"
7036 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
7039 #line 2533 "parse.y"
7040 { yyval
.ttype
= NULL_TREE
; ;
7043 #line 2535 "parse.y"
7044 { yyval
.ttype
= yyvsp
[0].ttype
;
7045 pedantic
= yyvsp
[-1].itype
; ;
7048 #line 2538 "parse.y"
7051 yyval
.ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
7053 /* The component was already processed. */
7054 yyval
.ttype
= NULL_TREE
;
7056 finish_template_decl (yyvsp
[-1].ttype
);
7060 #line 2548 "parse.y"
7062 yyval
.ttype
= finish_member_class_template (yyvsp
[-1].ftype
.t
);
7063 finish_template_decl (yyvsp
[-2].ttype
);
7067 #line 2559 "parse.y"
7069 /* Most of the productions for component_decl only
7070 allow the creation of one new member, so we call
7071 finish_member_declaration in component_decl_list.
7072 For this rule and the next, however, there can be
7073 more than one member, e.g.:
7077 and we need the first member to be fully
7078 registered before the second is processed.
7079 Therefore, the rules for components take care of
7080 this processing. To avoid registering the
7081 components more than once, we send NULL_TREE up
7082 here; that lets finish_member_declaration know
7083 that there is nothing to do. */
7084 if (!yyvsp
[0].itype
)
7085 grok_x_components (yyvsp
[-1].ftype
.t
);
7086 yyval
.ttype
= NULL_TREE
;
7090 #line 2580 "parse.y"
7092 if (!yyvsp
[0].itype
)
7093 grok_x_components (yyvsp
[-1].ftype
.t
);
7094 yyval
.ttype
= NULL_TREE
;
7098 #line 2586 "parse.y"
7099 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
7100 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
7103 #line 2589 "parse.y"
7104 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
7105 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
7108 #line 2592 "parse.y"
7109 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
7112 #line 2594 "parse.y"
7113 { yyval
.ttype
= NULL_TREE
; ;
7116 #line 2605 "parse.y"
7117 { tree specs
, attrs
;
7118 split_specs_attrs (yyvsp
[-4].ftype
.t
, &specs
, &attrs
);
7119 yyval
.ttype
= grokfield (yyvsp
[-3].ttype
, specs
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
7120 build_tree_list (yyvsp
[-1].ttype
, attrs
)); ;
7123 #line 2610 "parse.y"
7124 { yyval
.ttype
= grokfield (yyval
.ttype
, NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-2].ttype
,
7125 build_tree_list (yyvsp
[-1].ttype
, NULL_TREE
)); ;
7128 #line 2613 "parse.y"
7129 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
7132 #line 2619 "parse.y"
7133 { yyval
.itype
= 0; ;
7136 #line 2621 "parse.y"
7138 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
7139 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
7140 finish_member_declaration (yyvsp
[0].ttype
);
7145 #line 2628 "parse.y"
7147 check_multiple_declarators ();
7148 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
7149 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
7150 finish_member_declaration (yyvsp
[0].ttype
);
7155 #line 2639 "parse.y"
7156 { yyval
.itype
= 0; ;
7159 #line 2641 "parse.y"
7161 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
7162 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
7163 finish_member_declaration (yyvsp
[0].ttype
);
7168 #line 2648 "parse.y"
7170 check_multiple_declarators ();
7171 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
7172 yyvsp
[0].ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
7173 finish_member_declaration (yyvsp
[0].ttype
);
7178 #line 2669 "parse.y"
7179 { yyval
.ttype
= parse_field0 (yyvsp
[-3].ttype
, yyvsp
[-4].ftype
.t
, yyvsp
[-4].ftype
.lookups
,
7180 yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
7183 #line 2672 "parse.y"
7184 { yyval
.ttype
= parse_bitfield0 (yyvsp
[-3].ttype
, yyvsp
[-4].ftype
.t
, yyvsp
[-4].ftype
.lookups
,
7185 yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7188 #line 2678 "parse.y"
7189 { yyval
.ttype
= parse_field0 (yyvsp
[-3].ttype
, yyvsp
[-4].ftype
.t
, yyvsp
[-4].ftype
.lookups
,
7190 yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
7193 #line 2681 "parse.y"
7194 { yyval
.ttype
= parse_field0 (yyvsp
[-3].ttype
, yyvsp
[-4].ftype
.t
, yyvsp
[-4].ftype
.lookups
,
7195 yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
7198 #line 2684 "parse.y"
7199 { yyval
.ttype
= parse_bitfield0 (yyvsp
[-3].ttype
, yyvsp
[-4].ftype
.t
, yyvsp
[-4].ftype
.lookups
,
7200 yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7203 #line 2687 "parse.y"
7204 { yyval
.ttype
= parse_bitfield0 (NULL_TREE
, yyvsp
[-3].ftype
.t
,
7205 yyvsp
[-3].ftype
.lookups
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7208 #line 2693 "parse.y"
7209 { yyval
.ttype
= parse_field (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
7212 #line 2695 "parse.y"
7213 { yyval
.ttype
= parse_bitfield (yyvsp
[-3].ttype
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7216 #line 2700 "parse.y"
7217 { yyval
.ttype
= parse_field (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
7220 #line 2702 "parse.y"
7221 { yyval
.ttype
= parse_bitfield (yyvsp
[-3].ttype
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7224 #line 2704 "parse.y"
7225 { yyval
.ttype
= parse_bitfield (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7228 #line 2723 "parse.y"
7229 { build_enumerator (yyvsp
[0].ttype
, NULL_TREE
, current_enum_type
); ;
7232 #line 2725 "parse.y"
7233 { build_enumerator (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, current_enum_type
); ;
7236 #line 2731 "parse.y"
7237 { yyval
.ftype
.t
= build_decl_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
7238 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7241 #line 2734 "parse.y"
7242 { yyval
.ftype
.t
= build_decl_list (yyvsp
[0].ftype
.t
, NULL_TREE
);
7243 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
7246 #line 2739 "parse.y"
7249 pedwarn ("ISO C++ forbids array dimensions with parenthesized type in new");
7250 yyval
.ftype
.t
= build_parse_node (ARRAY_REF
, TREE_VALUE (yyvsp
[-4].ftype
.t
), yyvsp
[-1].ttype
);
7251 yyval
.ftype
.t
= build_decl_list (TREE_PURPOSE (yyvsp
[-4].ftype
.t
), yyval
.ftype
.t
);
7252 yyval
.ftype
.new_type_flag
= yyvsp
[-4].ftype
.new_type_flag
;
7256 #line 2750 "parse.y"
7257 { yyval
.ttype
= NULL_TREE
; ;
7260 #line 2752 "parse.y"
7261 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7264 #line 2757 "parse.y"
7265 { yyval
.ftype
.t
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
7266 yyval
.ftype
.new_type_flag
= 0; ;
7269 #line 2760 "parse.y"
7270 { yyval
.ftype
.t
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
7271 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
7274 #line 2770 "parse.y"
7275 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7278 #line 2772 "parse.y"
7279 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7282 #line 2774 "parse.y"
7283 { yyval
.ttype
= empty_parms (); ;
7286 #line 2776 "parse.y"
7287 { yyval
.ttype
= NULL_TREE
; ;
7290 #line 2784 "parse.y"
7292 /* Provide support for '(' attributes '*' declarator ')'
7294 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
7298 #line 2794 "parse.y"
7299 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7302 #line 2796 "parse.y"
7303 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7306 #line 2798 "parse.y"
7307 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7310 #line 2800 "parse.y"
7311 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7314 #line 2802 "parse.y"
7315 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7316 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7320 #line 2810 "parse.y"
7321 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7324 #line 2812 "parse.y"
7325 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7328 #line 2814 "parse.y"
7329 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7332 #line 2816 "parse.y"
7333 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7336 #line 2818 "parse.y"
7337 { push_nested_class (yyvsp
[-1].ttype
, 3);
7338 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
);
7339 TREE_COMPLEXITY (yyval
.ttype
) = current_class_depth
; ;
7342 #line 2826 "parse.y"
7344 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7346 yyval
.ttype
= lookup_name (yyvsp
[0].ttype
, 1);
7347 maybe_note_name_used_in_class (yyvsp
[0].ttype
, yyval
.ttype
);
7350 yyval
.ttype
= yyvsp
[0].ttype
;
7354 #line 2836 "parse.y"
7356 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7357 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7359 yyval
.ttype
= yyvsp
[0].ttype
;
7360 got_scope
= NULL_TREE
;
7364 #line 2849 "parse.y"
7365 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7368 #line 2854 "parse.y"
7369 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
7372 #line 2863 "parse.y"
7374 /* Provide support for '(' attributes '*' declarator ')'
7376 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
7380 #line 2872 "parse.y"
7381 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7384 #line 2874 "parse.y"
7385 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7388 #line 2876 "parse.y"
7389 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7392 #line 2878 "parse.y"
7393 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7396 #line 2880 "parse.y"
7397 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7398 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7402 #line 2888 "parse.y"
7403 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7406 #line 2890 "parse.y"
7407 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7410 #line 2892 "parse.y"
7411 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7414 #line 2894 "parse.y"
7415 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7418 #line 2896 "parse.y"
7419 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7420 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7424 #line 2904 "parse.y"
7425 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7428 #line 2906 "parse.y"
7429 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7432 #line 2908 "parse.y"
7433 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7436 #line 2910 "parse.y"
7437 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7440 #line 2912 "parse.y"
7441 { enter_scope_of (yyvsp
[0].ttype
); ;
7444 #line 2914 "parse.y"
7445 { enter_scope_of (yyvsp
[0].ttype
); yyval
.ttype
= yyvsp
[0].ttype
;;
7448 #line 2916 "parse.y"
7449 { yyval
.ttype
= build_parse_node (SCOPE_REF
, global_namespace
, yyvsp
[0].ttype
);
7450 enter_scope_of (yyval
.ttype
);
7454 #line 2920 "parse.y"
7455 { got_scope
= NULL_TREE
;
7456 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7457 enter_scope_of (yyval
.ttype
);
7461 #line 2928 "parse.y"
7462 { got_scope
= NULL_TREE
;
7463 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7466 #line 2931 "parse.y"
7467 { got_scope
= NULL_TREE
;
7468 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7471 #line 2937 "parse.y"
7472 { got_scope
= NULL_TREE
;
7473 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7476 #line 2940 "parse.y"
7477 { got_scope
= NULL_TREE
;
7478 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7481 #line 2947 "parse.y"
7482 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7485 #line 2952 "parse.y"
7486 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7489 #line 2954 "parse.y"
7490 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7493 #line 2956 "parse.y"
7494 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7497 #line 2968 "parse.y"
7498 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7501 #line 2970 "parse.y"
7502 { got_scope
= yyval
.ttype
7503 = make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, /*complain=*/1); ;
7506 #line 2978 "parse.y"
7508 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7510 yyval
.ttype
= lastiddecl
;
7511 maybe_note_name_used_in_class (yyvsp
[-1].ttype
, yyval
.ttype
);
7513 got_scope
= yyval
.ttype
=
7514 complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval
.ttype
)));
7518 #line 2988 "parse.y"
7520 if (TREE_CODE (yyvsp
[-1].ttype
) == IDENTIFIER_NODE
)
7521 yyval
.ttype
= lastiddecl
;
7522 got_scope
= yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7526 #line 2994 "parse.y"
7528 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7529 yyval
.ttype
= lastiddecl
;
7530 got_scope
= yyval
.ttype
;
7534 #line 3000 "parse.y"
7535 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
7538 #line 3016 "parse.y"
7539 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7542 #line 3021 "parse.y"
7544 if (TYPE_P (yyvsp
[-1].ttype
))
7545 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, /*complain=*/1);
7546 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7547 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7550 yyval
.ttype
= yyvsp
[0].ttype
;
7551 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7552 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7557 #line 3034 "parse.y"
7558 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
7561 #line 3036 "parse.y"
7562 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, /*complain=*/1); ;
7565 #line 3038 "parse.y"
7566 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, /*complain=*/1); ;
7569 #line 3043 "parse.y"
7571 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7572 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7576 #line 3048 "parse.y"
7578 if (TYPE_P (yyvsp
[-1].ttype
))
7579 yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, /*complain=*/1);
7580 else if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7581 cp_error ("`%T' is not a class or namespace", yyvsp
[0].ttype
);
7584 yyval
.ttype
= yyvsp
[0].ttype
;
7585 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7586 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7591 #line 3061 "parse.y"
7592 { got_scope
= yyval
.ttype
7593 = make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, /*complain=*/1); ;
7596 #line 3064 "parse.y"
7597 { got_scope
= yyval
.ttype
7598 = make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, /*complain=*/1); ;
7601 #line 3070 "parse.y"
7603 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7604 yyvsp
[-1].ttype
= lastiddecl
;
7606 /* Retrieve the type for the identifier, which might involve
7607 some computation. */
7608 got_scope
= yyval
.ttype
= complete_type (IDENTIFIER_TYPE_VALUE (yyvsp
[-1].ttype
));
7610 if (yyval
.ttype
== error_mark_node
)
7611 cp_error ("`%T' is not a class or namespace", yyvsp
[-1].ttype
);
7615 #line 3082 "parse.y"
7617 if (TREE_CODE (yyvsp
[-1].ttype
) != IDENTIFIER_NODE
)
7618 yyval
.ttype
= lastiddecl
;
7619 got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
));
7623 #line 3088 "parse.y"
7624 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7627 #line 3092 "parse.y"
7629 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7630 yyval
.ttype
= lastiddecl
;
7631 got_scope
= yyval
.ttype
;
7635 #line 3101 "parse.y"
7636 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7639 #line 3106 "parse.y"
7641 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7642 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7644 yyval
.ttype
= yyvsp
[0].ttype
;
7645 got_scope
= NULL_TREE
;
7649 #line 3115 "parse.y"
7650 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7653 #line 3120 "parse.y"
7654 { got_scope
= NULL_TREE
; ;
7657 #line 3122 "parse.y"
7658 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7661 #line 3129 "parse.y"
7662 { got_scope
= void_type_node
; ;
7665 #line 3135 "parse.y"
7666 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7669 #line 3137 "parse.y"
7670 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7673 #line 3139 "parse.y"
7674 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7677 #line 3141 "parse.y"
7678 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7681 #line 3143 "parse.y"
7682 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7683 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7687 #line 3147 "parse.y"
7688 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7689 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7693 #line 3156 "parse.y"
7694 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7697 #line 3158 "parse.y"
7698 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7701 #line 3164 "parse.y"
7703 /* Provide support for '(' attributes '*' declarator ')'
7705 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
7709 #line 3174 "parse.y"
7710 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7713 #line 3176 "parse.y"
7714 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7717 #line 3178 "parse.y"
7718 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7721 #line 3180 "parse.y"
7722 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7725 #line 3182 "parse.y"
7726 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7729 #line 3184 "parse.y"
7730 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7733 #line 3186 "parse.y"
7734 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7737 #line 3188 "parse.y"
7738 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
7741 #line 3190 "parse.y"
7742 { tree arg
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
);
7743 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, arg
);
7747 #line 3194 "parse.y"
7748 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
7749 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
7753 #line 3203 "parse.y"
7754 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7757 #line 3206 "parse.y"
7758 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7761 #line 3208 "parse.y"
7762 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7765 #line 3210 "parse.y"
7766 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7769 #line 3212 "parse.y"
7770 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7773 #line 3214 "parse.y"
7774 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7777 #line 3216 "parse.y"
7778 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7781 #line 3218 "parse.y"
7782 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7785 #line 3220 "parse.y"
7786 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7789 #line 3222 "parse.y"
7790 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7793 #line 3245 "parse.y"
7795 pedwarn ("ISO C++ forbids label declarations"); ;
7798 #line 3256 "parse.y"
7800 while (yyvsp
[-1].ttype
)
7802 finish_label_decl (TREE_VALUE (yyvsp
[-1].ttype
));
7803 yyvsp
[-1].ttype
= TREE_CHAIN (yyvsp
[-1].ttype
);
7808 #line 3269 "parse.y"
7812 #line 3275 "parse.y"
7813 { yyval
.ttype
= begin_compound_stmt (0); ;
7816 #line 3277 "parse.y"
7817 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7820 #line 3282 "parse.y"
7822 yyval
.ttype
= begin_if_stmt ();
7823 cond_stmt_keyword
= "if";
7827 #line 3287 "parse.y"
7828 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7831 #line 3289 "parse.y"
7832 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7835 #line 3294 "parse.y"
7836 { yyval
.ttype
= begin_compound_stmt (0); ;
7839 #line 3296 "parse.y"
7840 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7843 #line 3301 "parse.y"
7847 #line 3307 "parse.y"
7851 #line 3309 "parse.y"
7852 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7855 #line 3311 "parse.y"
7856 { begin_else_clause (); ;
7859 #line 3313 "parse.y"
7861 finish_else_clause (yyvsp
[-3].ttype
);
7866 #line 3318 "parse.y"
7867 { finish_if_stmt (); ;
7870 #line 3320 "parse.y"
7872 yyval
.ttype
= begin_while_stmt ();
7873 cond_stmt_keyword
= "while";
7877 #line 3325 "parse.y"
7878 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7881 #line 3327 "parse.y"
7882 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7885 #line 3329 "parse.y"
7886 { yyval
.ttype
= begin_do_stmt (); ;
7889 #line 3331 "parse.y"
7891 finish_do_body (yyvsp
[-2].ttype
);
7892 cond_stmt_keyword
= "do";
7896 #line 3336 "parse.y"
7897 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7900 #line 3338 "parse.y"
7901 { yyval
.ttype
= begin_for_stmt (); ;
7904 #line 3340 "parse.y"
7905 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7908 #line 3342 "parse.y"
7909 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7912 #line 3344 "parse.y"
7913 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7916 #line 3346 "parse.y"
7917 { finish_for_stmt (yyvsp
[-10].ttype
); ;
7920 #line 3348 "parse.y"
7921 { yyval
.ttype
= begin_switch_stmt (); ;
7924 #line 3350 "parse.y"
7925 { finish_switch_cond (yyvsp
[-1].ttype
, yyvsp
[-3].ttype
); ;
7928 #line 3352 "parse.y"
7929 { finish_switch_stmt (yyvsp
[-5].ttype
); ;
7932 #line 3354 "parse.y"
7933 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7936 #line 3357 "parse.y"
7937 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7940 #line 3360 "parse.y"
7941 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7944 #line 3363 "parse.y"
7945 { finish_break_stmt (); ;
7948 #line 3365 "parse.y"
7949 { finish_continue_stmt (); ;
7952 #line 3367 "parse.y"
7953 { finish_return_stmt (NULL_TREE
); ;
7956 #line 3369 "parse.y"
7957 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7960 #line 3371 "parse.y"
7962 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7967 #line 3377 "parse.y"
7969 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7974 #line 3383 "parse.y"
7975 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7978 #line 3385 "parse.y"
7979 { finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, NULL_TREE
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7982 #line 3389 "parse.y"
7983 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7986 #line 3392 "parse.y"
7987 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, NULL_TREE
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7990 #line 3395 "parse.y"
7991 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, NULL_TREE
, yyvsp
[-2].ttype
); ;
7994 #line 3397 "parse.y"
7997 pedwarn ("ISO C++ forbids computed gotos");
7998 finish_goto_stmt (yyvsp
[-1].ttype
);
8002 #line 3403 "parse.y"
8003 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
8006 #line 3406 "parse.y"
8007 { error ("label must be followed by statement");
8008 yyungetc ('}', 0); ;
8011 #line 3409 "parse.y"
8015 #line 3413 "parse.y"
8016 { do_local_using_decl (yyvsp
[0].ttype
); ;
8019 #line 3419 "parse.y"
8020 { yyval
.ttype
= begin_function_try_block (); ;
8023 #line 3421 "parse.y"
8024 { finish_function_try_block (yyvsp
[-2].ttype
); ;
8027 #line 3423 "parse.y"
8029 finish_function_handler_sequence (yyvsp
[-4].ttype
);
8030 yyval
.itype
= yyvsp
[-3].itype
;
8034 #line 3431 "parse.y"
8035 { yyval
.ttype
= begin_try_block (); ;
8038 #line 3433 "parse.y"
8039 { finish_try_block (yyvsp
[-1].ttype
); ;
8042 #line 3435 "parse.y"
8043 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
8046 #line 3445 "parse.y"
8047 { yyval
.ttype
= begin_handler(); ;
8050 #line 3447 "parse.y"
8051 { yyval
.ttype
= finish_handler_parms (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
8054 #line 3449 "parse.y"
8055 { finish_handler (yyvsp
[-1].ttype
, yyvsp
[-3].ttype
); ;
8058 #line 3459 "parse.y"
8059 { yyval
.ttype
= NULL_TREE
; ;
8062 #line 3475 "parse.y"
8064 check_for_new_type ("inside exception declarations", yyvsp
[-1].ftype
);
8065 yyval
.ttype
= start_handler_parms (TREE_PURPOSE (yyvsp
[-1].ftype
.t
),
8066 TREE_VALUE (yyvsp
[-1].ftype
.t
));
8070 #line 3484 "parse.y"
8071 { finish_label_stmt (yyvsp
[-1].ttype
); ;
8074 #line 3486 "parse.y"
8075 { finish_label_stmt (yyvsp
[-1].ttype
); ;
8078 #line 3488 "parse.y"
8079 { finish_label_stmt (yyvsp
[-1].ttype
); ;
8082 #line 3490 "parse.y"
8083 { finish_label_stmt (yyvsp
[-1].ttype
); ;
8086 #line 3495 "parse.y"
8087 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
8090 #line 3498 "parse.y"
8092 pedwarn ("ISO C++ forbids compound statements inside for initializations");
8096 #line 3507 "parse.y"
8097 { yyval
.ttype
= NULL_TREE
; ;
8100 #line 3513 "parse.y"
8101 { yyval
.ttype
= NULL_TREE
; ;
8104 #line 3516 "parse.y"
8105 { yyval
.ttype
= NULL_TREE
; ;
8108 #line 3523 "parse.y"
8109 { yyval
.ttype
= NULL_TREE
; ;
8112 #line 3530 "parse.y"
8113 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
8116 #line 3535 "parse.y"
8117 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
8120 #line 3540 "parse.y"
8121 { yyval
.ttype
= tree_cons (NULL_TREE
, combine_strings (yyvsp
[0].ttype
), NULL_TREE
);;
8124 #line 3542 "parse.y"
8125 { yyval
.ttype
= tree_cons (NULL_TREE
, combine_strings (yyvsp
[0].ttype
), yyvsp
[-2].ttype
); ;
8128 #line 3553 "parse.y"
8130 yyval
.ttype
= empty_parms();
8134 #line 3558 "parse.y"
8135 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
), 0);
8136 check_for_new_type ("inside parameter list", yyvsp
[0].ftype
); ;
8139 #line 3566 "parse.y"
8140 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
8143 #line 3568 "parse.y"
8144 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
8147 #line 3571 "parse.y"
8148 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
8151 #line 3573 "parse.y"
8152 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
8153 yyvsp
[-1].ftype
.t
), 1); ;
8156 #line 3576 "parse.y"
8157 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
8160 #line 3578 "parse.y"
8162 /* This helps us recover from really nasty
8163 parse errors, for example, a missing right
8165 yyerror ("possibly missing ')'");
8166 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
8172 #line 3588 "parse.y"
8174 /* This helps us recover from really nasty
8175 parse errors, for example, a missing right
8177 yyerror ("possibly missing ')'");
8178 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
8179 yyvsp
[-1].ftype
.t
), 0);
8185 #line 3603 "parse.y"
8186 { maybe_snarf_defarg (); ;
8189 #line 3605 "parse.y"
8190 { yyval
.ttype
= yyvsp
[0].ttype
; ;
8193 #line 3616 "parse.y"
8194 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8195 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
8198 #line 3619 "parse.y"
8199 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8200 yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
); ;
8203 #line 3622 "parse.y"
8204 { check_for_new_type ("in a parameter list", yyvsp
[0].ftype
);
8205 yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ftype
.t
); ;
8208 #line 3625 "parse.y"
8209 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
8212 #line 3627 "parse.y"
8213 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
8216 #line 3633 "parse.y"
8217 { check_for_new_type ("in a parameter list", yyvsp
[-1].ftype
);
8218 yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[-1].ftype
.t
); ;
8221 #line 3643 "parse.y"
8222 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8223 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
;
8224 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
); ;
8227 #line 3647 "parse.y"
8228 { yyval
.ftype
.t
= build_tree_list (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
);
8229 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8232 #line 3650 "parse.y"
8233 { yyval
.ftype
.t
= build_tree_list (build_decl_list (NULL_TREE
, yyvsp
[-1].ftype
.t
),
8235 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8238 #line 3654 "parse.y"
8239 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8240 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8241 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8244 #line 3658 "parse.y"
8245 { tree specs
= strip_attrs (yyvsp
[0].ftype
.t
);
8246 yyval
.ftype
.t
= build_tree_list (specs
, NULL_TREE
);
8247 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8250 #line 3662 "parse.y"
8251 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
8252 yyval
.ftype
.t
= build_tree_list (specs
, yyvsp
[0].ttype
);
8253 yyval
.ftype
.new_type_flag
= 0; ;
8256 #line 3669 "parse.y"
8257 { yyval
.ftype
.t
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
);
8258 yyval
.ftype
.new_type_flag
= yyvsp
[0].ftype
.new_type_flag
; ;
8261 #line 3672 "parse.y"
8262 { yyval
.ftype
.t
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-1].ftype
.t
);
8263 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
8266 #line 3683 "parse.y"
8267 { see_typename (); ;
8270 #line 3688 "parse.y"
8272 error ("type specifier omitted for parameter");
8273 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
8277 #line 3693 "parse.y"
8279 error ("type specifier omitted for parameter");
8280 if (TREE_CODE (yyval
.ttype
) == SCOPE_REF
8281 && (TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TYPE_PARM
8282 || TREE_CODE (TREE_OPERAND (yyval
.ttype
, 0)) == TEMPLATE_TEMPLATE_PARM
))
8283 cp_error (" perhaps you want `typename %E' to make it a type", yyval
.ttype
);
8284 yyval
.ttype
= build_tree_list (integer_type_node
, yyval
.ttype
);
8288 #line 3705 "parse.y"
8289 { yyval
.ttype
= NULL_TREE
; ;
8292 #line 3707 "parse.y"
8293 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
8296 #line 3709 "parse.y"
8297 { yyval
.ttype
= empty_except_spec
; ;
8300 #line 3714 "parse.y"
8302 check_for_new_type ("exception specifier", yyvsp
[0].ftype
);
8303 yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
);
8307 #line 3722 "parse.y"
8308 { yyval
.ttype
= add_exception_specifier (NULL_TREE
, yyvsp
[0].ttype
, 1); ;
8311 #line 3724 "parse.y"
8312 { yyval
.ttype
= add_exception_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, 1); ;
8315 #line 3729 "parse.y"
8316 { yyval
.ttype
= NULL_TREE
; ;
8319 #line 3731 "parse.y"
8320 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8323 #line 3733 "parse.y"
8324 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8327 #line 3735 "parse.y"
8328 { tree arg
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
8329 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-2].ttype
, arg
);
8333 #line 3742 "parse.y"
8334 { got_scope
= NULL_TREE
; ;
8337 #line 3747 "parse.y"
8338 { yyval
.ttype
= ansi_opname (MULT_EXPR
); ;
8341 #line 3749 "parse.y"
8342 { yyval
.ttype
= ansi_opname (TRUNC_DIV_EXPR
); ;
8345 #line 3751 "parse.y"
8346 { yyval
.ttype
= ansi_opname (TRUNC_MOD_EXPR
); ;
8349 #line 3753 "parse.y"
8350 { yyval
.ttype
= ansi_opname (PLUS_EXPR
); ;
8353 #line 3755 "parse.y"
8354 { yyval
.ttype
= ansi_opname (MINUS_EXPR
); ;
8357 #line 3757 "parse.y"
8358 { yyval
.ttype
= ansi_opname (BIT_AND_EXPR
); ;
8361 #line 3759 "parse.y"
8362 { yyval
.ttype
= ansi_opname (BIT_IOR_EXPR
); ;
8365 #line 3761 "parse.y"
8366 { yyval
.ttype
= ansi_opname (BIT_XOR_EXPR
); ;
8369 #line 3763 "parse.y"
8370 { yyval
.ttype
= ansi_opname (BIT_NOT_EXPR
); ;
8373 #line 3765 "parse.y"
8374 { yyval
.ttype
= ansi_opname (COMPOUND_EXPR
); ;
8377 #line 3767 "parse.y"
8378 { yyval
.ttype
= ansi_opname (yyvsp
[0].code
); ;
8381 #line 3769 "parse.y"
8382 { yyval
.ttype
= ansi_opname (LT_EXPR
); ;
8385 #line 3771 "parse.y"
8386 { yyval
.ttype
= ansi_opname (GT_EXPR
); ;
8389 #line 3773 "parse.y"
8390 { yyval
.ttype
= ansi_opname (yyvsp
[0].code
); ;
8393 #line 3775 "parse.y"
8394 { yyval
.ttype
= ansi_assopname (yyvsp
[0].code
); ;
8397 #line 3777 "parse.y"
8398 { yyval
.ttype
= ansi_assopname (NOP_EXPR
); ;
8401 #line 3779 "parse.y"
8402 { yyval
.ttype
= ansi_opname (yyvsp
[0].code
); ;
8405 #line 3781 "parse.y"
8406 { yyval
.ttype
= ansi_opname (yyvsp
[0].code
); ;
8409 #line 3783 "parse.y"
8410 { yyval
.ttype
= ansi_opname (POSTINCREMENT_EXPR
); ;
8413 #line 3785 "parse.y"
8414 { yyval
.ttype
= ansi_opname (PREDECREMENT_EXPR
); ;
8417 #line 3787 "parse.y"
8418 { yyval
.ttype
= ansi_opname (TRUTH_ANDIF_EXPR
); ;
8421 #line 3789 "parse.y"
8422 { yyval
.ttype
= ansi_opname (TRUTH_ORIF_EXPR
); ;
8425 #line 3791 "parse.y"
8426 { yyval
.ttype
= ansi_opname (TRUTH_NOT_EXPR
); ;
8429 #line 3793 "parse.y"
8430 { yyval
.ttype
= ansi_opname (COND_EXPR
); ;
8433 #line 3795 "parse.y"
8434 { yyval
.ttype
= ansi_opname (yyvsp
[0].code
); ;
8437 #line 3797 "parse.y"
8438 { yyval
.ttype
= ansi_opname (COMPONENT_REF
); ;
8441 #line 3799 "parse.y"
8442 { yyval
.ttype
= ansi_opname (MEMBER_REF
); ;
8445 #line 3801 "parse.y"
8446 { yyval
.ttype
= ansi_opname (CALL_EXPR
); ;
8449 #line 3803 "parse.y"
8450 { yyval
.ttype
= ansi_opname (ARRAY_REF
); ;
8453 #line 3805 "parse.y"
8454 { yyval
.ttype
= ansi_opname (NEW_EXPR
); ;
8457 #line 3807 "parse.y"
8458 { yyval
.ttype
= ansi_opname (DELETE_EXPR
); ;
8461 #line 3809 "parse.y"
8462 { yyval
.ttype
= ansi_opname (VEC_NEW_EXPR
); ;
8465 #line 3811 "parse.y"
8466 { yyval
.ttype
= ansi_opname (VEC_DELETE_EXPR
); ;
8469 #line 3814 "parse.y"
8470 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
8473 #line 3816 "parse.y"
8474 { yyval
.ttype
= ansi_opname (ERROR_MARK
); ;
8477 /* the action file gets copied in in place of this dollarsign */
8478 #line 543 "/usr/lib/bison.simple"
8489 short *ssp1
= yyss
- 1;
8490 fprintf (stderr
, "state stack now");
8491 while (ssp1
!= yyssp
)
8492 fprintf (stderr
, " %d", *++ssp1
);
8493 fprintf (stderr
, "\n");
8503 yylsp
->first_line
= yylloc
.first_line
;
8504 yylsp
->first_column
= yylloc
.first_column
;
8505 yylsp
->last_line
= (yylsp
-1)->last_line
;
8506 yylsp
->last_column
= (yylsp
-1)->last_column
;
8511 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
8512 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
8516 /* Now "shift" the result of the reduction.
8517 Determine what state that goes to,
8518 based on the state we popped back to
8519 and the rule number reduced by. */
8523 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
8524 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
8525 yystate
= yytable
[yystate
];
8527 yystate
= yydefgoto
[yyn
- YYNTBASE
];
8531 yyerrlab
: /* here on detecting error */
8534 /* If not already recovering from an error, report this error. */
8538 #ifdef YYERROR_VERBOSE
8539 yyn
= yypact
[yystate
];
8541 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
8548 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8549 for (x
= (yyn
< 0 ? -yyn
: 0);
8550 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8551 if (yycheck
[x
+ yyn
] == x
)
8552 size
+= strlen(yytname
[x
]) + 15, count
++;
8553 msg
= (char *) malloc(size
+ 15);
8556 strcpy(msg
, "parse error");
8561 for (x
= (yyn
< 0 ? -yyn
: 0);
8562 x
< (sizeof(yytname
) / sizeof(char *)); x
++)
8563 if (yycheck
[x
+ yyn
] == x
)
8565 strcat(msg
, count
== 0 ? ", expecting `" : " or `");
8566 strcat(msg
, yytname
[x
]);
8575 yyerror ("parse error; also virtual memory exceeded");
8578 #endif /* YYERROR_VERBOSE */
8579 yyerror("parse error");
8583 yyerrlab1
: /* here on error raised explicitly by an action */
8585 if (yyerrstatus
== 3)
8587 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8589 /* return failure if at end of input */
8590 if (yychar
== YYEOF
)
8595 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
8601 /* Else will try to reuse lookahead token
8602 after shifting the error token. */
8604 yyerrstatus
= 3; /* Each real token shifted decrements this */
8608 yyerrdefault
: /* current state does not do anything special for the error token. */
8611 /* This is wrong; only states that explicitly want error tokens
8612 should shift them. */
8613 yyn
= yydefact
[yystate
]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8614 if (yyn
) goto yydefault
;
8617 yyerrpop
: /* pop the current state because it cannot handle the error token */
8619 if (yyssp
== yyss
) YYABORT
;
8629 short *ssp1
= yyss
- 1;
8630 fprintf (stderr
, "Error: state stack now");
8631 while (ssp1
!= yyssp
)
8632 fprintf (stderr
, " %d", *++ssp1
);
8633 fprintf (stderr
, "\n");
8639 yyn
= yypact
[yystate
];
8644 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8663 fprintf(stderr
, "Shifting error token, ");
8675 /* YYACCEPT comes here. */
8687 /* YYABORT comes here. */
8698 #line 3819 "parse.y"
8703 debug_yytranslate (value
)
8706 return yytname
[YYTRANSLATE (value
)];