Fix cut and paste error in last change
[official-gcc.git] / gcc / cp / parse.c
blob62d62bbd10917ab1e7a4d8836effce7985a9a6f8
2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.28 */
5 #define YYBISON 1 /* Identify Bison output. */
7 #define IDENTIFIER 257
8 #define TYPENAME 258
9 #define SELFNAME 259
10 #define PFUNCNAME 260
11 #define SCSPEC 261
12 #define TYPESPEC 262
13 #define CV_QUALIFIER 263
14 #define CONSTANT 264
15 #define STRING 265
16 #define ELLIPSIS 266
17 #define SIZEOF 267
18 #define ENUM 268
19 #define IF 269
20 #define ELSE 270
21 #define WHILE 271
22 #define DO 272
23 #define FOR 273
24 #define SWITCH 274
25 #define CASE 275
26 #define DEFAULT 276
27 #define BREAK 277
28 #define CONTINUE 278
29 #define RETURN_KEYWORD 279
30 #define GOTO 280
31 #define ASM_KEYWORD 281
32 #define TYPEOF 282
33 #define ALIGNOF 283
34 #define SIGOF 284
35 #define ATTRIBUTE 285
36 #define EXTENSION 286
37 #define LABEL 287
38 #define REALPART 288
39 #define IMAGPART 289
40 #define VA_ARG 290
41 #define AGGR 291
42 #define VISSPEC 292
43 #define DELETE 293
44 #define NEW 294
45 #define THIS 295
46 #define OPERATOR 296
47 #define CXX_TRUE 297
48 #define CXX_FALSE 298
49 #define NAMESPACE 299
50 #define TYPENAME_KEYWORD 300
51 #define USING 301
52 #define LEFT_RIGHT 302
53 #define TEMPLATE 303
54 #define TYPEID 304
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
59 #define SCOPE 309
60 #define EMPTY 310
61 #define PTYPENAME 311
62 #define NSNAME 312
63 #define THROW 313
64 #define ASSIGN 314
65 #define OROR 315
66 #define ANDAND 316
67 #define MIN_MAX 317
68 #define EQCOMPARE 318
69 #define ARITHCOMPARE 319
70 #define LSHIFT 320
71 #define RSHIFT 321
72 #define POINTSAT_STAR 322
73 #define DOT_STAR 323
74 #define UNARY 324
75 #define PLUSPLUS 325
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define POINTSAT 328
79 #define TRY 329
80 #define CATCH 330
81 #define EXTERN_LANG_STRING 331
82 #define ALL 332
83 #define PRE_PARSED_CLASS_DECL 333
84 #define DEFARG 334
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
93 #line 30 "parse.y"
95 /* Cause the `yydebug' variable to be defined. */
96 #define YYDEBUG 1
98 #include "config.h"
100 #include "system.h"
102 #include "tree.h"
103 #include "input.h"
104 #include "flags.h"
105 #include "lex.h"
106 #include "cp-tree.h"
107 #include "output.h"
108 #include "except.h"
109 #include "toplev.h"
110 #include "ggc.h"
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. */
163 static inline tree
164 empty_parms ()
166 tree parms;
168 if (strict_prototype
169 || current_class_type != NULL)
170 parms = void_list_node;
171 else
172 parms = NULL_TREE;
173 return parms;
176 /* Record the decl-specifiers, attributes and type lookups from the
177 decl-specifier-seq in a declaration. */
179 static void
180 frob_specs (specs_attrs, lookups)
181 tree specs_attrs, lookups;
183 save_type_access_control (lookups);
184 split_specs_attrs (specs_attrs, &current_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"),
192 current_declspecs);
193 used_extern_spec = 1;
197 static tree
198 parse_decl (declarator, attributes, initialized)
199 tree declarator, attributes;
200 int initialized;
202 return start_decl (declarator, current_declspecs, initialized,
203 attributes, prefix_attributes);
206 static tree
207 parse_decl0 (declarator, specs_attrs, lookups, attributes, initialized)
208 tree declarator, specs_attrs, lookups, attributes;
209 int initialized;
211 frob_specs (specs_attrs, lookups);
212 return parse_decl (declarator, attributes, initialized);
215 static void
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. */
221 if (decl)
222 decl_type_access_control (decl);
223 cp_finish_decl (decl, init, asmspec, init ? LOOKUP_ONLYCONVERTING : 0);
226 static tree
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);
233 return d;
236 static tree
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);
244 static tree
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);
251 return d;
254 static tree
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);
262 static tree
263 parse_method (declarator, specs_attrs, lookups)
264 tree declarator, specs_attrs, lookups;
266 tree d;
267 frob_specs (specs_attrs, lookups);
268 d = start_method (current_declspecs, declarator, prefix_attributes);
269 decl_type_access_control (d);
270 return d;
273 void
274 cp_parse_init ()
276 ggc_add_tree_root (&current_declspecs, 1);
277 ggc_add_tree_root (&prefix_attributes, 1);
278 ggc_add_tree_root (&current_aggr, 1);
279 ggc_add_tree_root (&current_enum_type, 1);
282 #line 221 "parse.y"
283 typedef union {
284 long itype;
285 tree ttype;
286 char *strtype;
287 enum tree_code code;
288 flagged_type_tree ftype;
289 struct pending_inline *pi;
290 } YYSTYPE;
291 #line 425 "parse.y"
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));
296 #include <stdio.h>
298 #ifndef __cplusplus
299 #ifndef __STDC__
300 #define const
301 #endif
302 #endif
306 #define YYFINAL 1683
307 #define YYFLAG -32768
308 #define YYNTBASE 112
310 #define YYTRANSLATE(x) ((unsigned)(x) <= 341 ? yytranslate[x] : 397)
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,
350 #if YYDEBUG != 0
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, 930, 934, 936,
380 938, 940, 942, 944, 945, 951, 957, 963, 969, 975,
381 977, 979, 981, 983, 986, 988, 991, 994, 998, 1003,
382 1008, 1010, 1012, 1014, 1018, 1020, 1022, 1024, 1026, 1030,
383 1034, 1038, 1039, 1044, 1049, 1052, 1057, 1060, 1065, 1068,
384 1071, 1073, 1078, 1080, 1088, 1096, 1104, 1112, 1117, 1122,
385 1125, 1128, 1131, 1133, 1138, 1141, 1144, 1150, 1154, 1157,
386 1160, 1166, 1170, 1176, 1180, 1185, 1192, 1195, 1197, 1200,
387 1202, 1205, 1207, 1209, 1211, 1214, 1215, 1218, 1221, 1225,
388 1229, 1233, 1236, 1239, 1242, 1244, 1246, 1248, 1251, 1254,
389 1257, 1260, 1262, 1264, 1266, 1268, 1271, 1274, 1278, 1282,
390 1286, 1291, 1293, 1296, 1299, 1302, 1304, 1306, 1308, 1311,
391 1314, 1317, 1319, 1321, 1324, 1327, 1331, 1333, 1336, 1338,
392 1340, 1342, 1347, 1352, 1357, 1362, 1364, 1366, 1368, 1370,
393 1374, 1376, 1380, 1382, 1386, 1387, 1392, 1393, 1400, 1404,
394 1405, 1410, 1412, 1416, 1420, 1421, 1426, 1430, 1431, 1433,
395 1435, 1438, 1445, 1447, 1451, 1452, 1454, 1459, 1466, 1471,
396 1473, 1475, 1477, 1479, 1481, 1485, 1486, 1489, 1491, 1494,
397 1498, 1503, 1505, 1507, 1511, 1516, 1520, 1526, 1528, 1533,
398 1537, 1541, 1542, 1546, 1550, 1554, 1555, 1558, 1561, 1562,
399 1569, 1570, 1576, 1579, 1582, 1585, 1586, 1587, 1588, 1599,
400 1601, 1602, 1604, 1605, 1607, 1609, 1612, 1615, 1618, 1621,
401 1624, 1627, 1630, 1633, 1636, 1640, 1645, 1649, 1652, 1656,
402 1658, 1659, 1663, 1666, 1669, 1671, 1673, 1674, 1677, 1681,
403 1683, 1688, 1690, 1694, 1696, 1698, 1701, 1704, 1708, 1712,
404 1713, 1715, 1719, 1722, 1725, 1727, 1730, 1733, 1736, 1739,
405 1742, 1745, 1748, 1750, 1753, 1756, 1760, 1763, 1766, 1771,
406 1776, 1779, 1781, 1787, 1792, 1794, 1795, 1797, 1801, 1802,
407 1804, 1808, 1810, 1812, 1814, 1816, 1821, 1826, 1831, 1836,
408 1841, 1845, 1850, 1855, 1860, 1865, 1869, 1872, 1874, 1876,
409 1880, 1882, 1886, 1889, 1891, 1898, 1899, 1902, 1904, 1907,
410 1911, 1915, 1917, 1921, 1923, 1926, 1930, 1934, 1937, 1940,
411 1944, 1946, 1951, 1956, 1960, 1964, 1967, 1969, 1971, 1974,
412 1976, 1978, 1981, 1984, 1986, 1989, 1993, 1997, 2000, 2003,
413 2007, 2009, 2013, 2017, 2020, 2023, 2027, 2029, 2034, 2038,
414 2043, 2047, 2049, 2052, 2055, 2058, 2061, 2064, 2067, 2070,
415 2072, 2075, 2080, 2085, 2088, 2090, 2092, 2094, 2096, 2099,
416 2104, 2107, 2110, 2113, 2116, 2118, 2121, 2124, 2127, 2130,
417 2134, 2136, 2139, 2143, 2148, 2151, 2154, 2157, 2160, 2163,
418 2166, 2171, 2174, 2176, 2179, 2182, 2186, 2188, 2192, 2195,
419 2199, 2202, 2205, 2209, 2211, 2215, 2220, 2222, 2225, 2229,
420 2232, 2235, 2237, 2241, 2244, 2247, 2249, 2252, 2256, 2258,
421 2262, 2269, 2274, 2279, 2283, 2289, 2293, 2297, 2301, 2304,
422 2306, 2308, 2311, 2314, 2317, 2318, 2320, 2322, 2325, 2329,
423 2331, 2334, 2335, 2339, 2340, 2341, 2347, 2349, 2350, 2353,
424 2355, 2357, 2359, 2362, 2363, 2368, 2370, 2371, 2372, 2378,
425 2379, 2380, 2388, 2389, 2390, 2391, 2392, 2405, 2406, 2407,
426 2415, 2416, 2422, 2423, 2431, 2432, 2437, 2440, 2443, 2446,
427 2450, 2457, 2466, 2477, 2486, 2499, 2510, 2521, 2526, 2530,
428 2533, 2536, 2538, 2540, 2542, 2544, 2546, 2547, 2548, 2555,
429 2556, 2557, 2563, 2565, 2568, 2569, 2570, 2576, 2578, 2580,
430 2584, 2588, 2591, 2594, 2597, 2600, 2603, 2605, 2608, 2609,
431 2611, 2612, 2614, 2616, 2617, 2619, 2621, 2625, 2630, 2632,
432 2636, 2637, 2639, 2641, 2643, 2646, 2649, 2652, 2654, 2657,
433 2660, 2661, 2665, 2667, 2669, 2671, 2674, 2677, 2680, 2685,
434 2688, 2691, 2694, 2697, 2700, 2703, 2705, 2708, 2710, 2713,
435 2715, 2717, 2718, 2719, 2721, 2722, 2727, 2730, 2732, 2734,
436 2738, 2739, 2743, 2747, 2751, 2753, 2756, 2759, 2762, 2765,
437 2768, 2771, 2774, 2777, 2780, 2783, 2786, 2789, 2792, 2795,
438 2798, 2801, 2804, 2807, 2810, 2813, 2816, 2819, 2822, 2826,
439 2829, 2832, 2835, 2838, 2842, 2845, 2848, 2853, 2858, 2862
442 static const short yyrhs[] = { -1,
443 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
444 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
445 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
446 93, 217, 108, 61, 0, 133, 59, 115, 109, 0,
447 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
448 0, 0, 45, 163, 59, 123, 115, 109, 0, 0,
449 45, 59, 124, 115, 109, 0, 125, 0, 127, 61,
450 0, 129, 0, 118, 122, 0, 0, 45, 163, 65,
451 126, 132, 61, 0, 47, 310, 0, 47, 324, 310,
452 0, 47, 324, 207, 0, 47, 131, 163, 0, 47,
453 324, 163, 0, 47, 324, 131, 163, 0, 0, 47,
454 45, 130, 132, 61, 0, 58, 55, 0, 131, 58,
455 55, 0, 207, 0, 310, 0, 324, 310, 0, 324,
456 207, 0, 97, 0, 133, 97, 0, 0, 49, 75,
457 135, 136, 76, 0, 49, 75, 76, 0, 140, 0,
458 136, 60, 140, 0, 163, 0, 0, 267, 137, 0,
459 46, 137, 0, 134, 267, 137, 0, 138, 0, 138,
460 65, 223, 0, 388, 0, 388, 65, 202, 0, 139,
461 0, 139, 65, 184, 0, 134, 142, 0, 134, 1,
462 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
463 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
464 142, 0, 234, 61, 0, 227, 233, 61, 0, 224,
465 232, 61, 0, 259, 61, 0, 234, 61, 0, 227,
466 233, 61, 0, 224, 232, 61, 0, 227, 61, 0,
467 166, 61, 0, 224, 61, 0, 1, 61, 0, 1,
468 109, 0, 61, 0, 218, 0, 159, 0, 0, 158,
469 0, 158, 61, 0, 0, 107, 0, 154, 146, 145,
470 335, 0, 154, 146, 359, 0, 154, 146, 1, 0,
471 0, 315, 5, 93, 150, 379, 108, 297, 391, 0,
472 315, 5, 48, 297, 391, 0, 0, 324, 315, 5,
473 93, 151, 379, 108, 297, 391, 0, 324, 315, 5,
474 48, 297, 391, 0, 0, 315, 179, 93, 152, 379,
475 108, 297, 391, 0, 315, 179, 48, 297, 391, 0,
476 0, 324, 315, 179, 93, 153, 379, 108, 297, 391,
477 0, 324, 315, 179, 48, 297, 391, 0, 224, 221,
478 0, 227, 307, 0, 307, 0, 227, 149, 0, 149,
479 0, 5, 93, 379, 108, 297, 391, 0, 5, 48,
480 297, 391, 0, 179, 93, 379, 108, 297, 391, 0,
481 179, 48, 297, 391, 0, 227, 155, 0, 155, 0,
482 224, 221, 0, 227, 307, 0, 307, 0, 227, 149,
483 0, 149, 0, 25, 3, 0, 157, 251, 0, 157,
484 93, 196, 108, 0, 157, 48, 0, 63, 160, 161,
485 0, 0, 0, 162, 0, 161, 60, 162, 0, 161,
486 1, 0, 93, 196, 108, 0, 48, 0, 164, 93,
487 196, 108, 0, 164, 48, 0, 303, 93, 196, 108,
488 0, 303, 48, 0, 317, 93, 196, 108, 0, 317,
489 48, 0, 1, 0, 3, 0, 4, 0, 5, 0,
490 57, 0, 58, 0, 3, 0, 57, 0, 58, 0,
491 104, 0, 103, 0, 105, 0, 0, 49, 175, 230,
492 61, 167, 176, 0, 0, 49, 175, 224, 221, 168,
493 176, 0, 0, 49, 175, 307, 169, 176, 0, 0,
494 49, 175, 149, 170, 176, 0, 0, 7, 49, 175,
495 230, 61, 171, 176, 0, 0, 7, 49, 175, 224,
496 221, 172, 176, 0, 0, 7, 49, 175, 307, 173,
497 176, 0, 0, 7, 49, 175, 149, 174, 176, 0,
498 0, 0, 57, 75, 182, 181, 180, 0, 4, 75,
499 182, 181, 180, 0, 179, 0, 177, 0, 163, 75,
500 182, 76, 180, 0, 5, 75, 182, 181, 180, 0,
501 0, 76, 0, 78, 0, 0, 183, 0, 184, 0,
502 183, 60, 184, 0, 223, 0, 57, 0, 202, 0,
503 80, 0, 79, 0, 87, 0, 88, 0, 110, 0,
504 195, 0, 202, 0, 48, 0, 93, 186, 108, 0,
505 48, 0, 93, 190, 108, 0, 0, 190, 0, 1,
506 0, 0, 369, 221, 235, 244, 65, 191, 252, 0,
507 186, 0, 109, 0, 332, 330, 109, 0, 332, 330,
508 1, 109, 0, 332, 1, 109, 0, 0, 59, 194,
509 192, 0, 344, 0, 202, 60, 202, 0, 202, 60,
510 1, 0, 195, 60, 202, 0, 195, 60, 1, 0,
511 202, 0, 195, 0, 212, 0, 118, 201, 0, 81,
512 201, 0, 71, 201, 0, 89, 201, 0, 185, 201,
513 0, 68, 163, 0, 13, 197, 0, 13, 93, 223,
514 108, 0, 29, 197, 0, 29, 93, 223, 108, 0,
515 214, 296, 0, 214, 296, 199, 0, 214, 198, 296,
516 0, 214, 198, 296, 199, 0, 214, 93, 223, 108,
517 0, 214, 93, 223, 108, 199, 0, 214, 198, 93,
518 223, 108, 0, 214, 198, 93, 223, 108, 199, 0,
519 215, 201, 0, 215, 94, 111, 201, 0, 215, 94,
520 186, 111, 201, 0, 34, 201, 0, 35, 201, 0,
521 36, 93, 202, 60, 223, 108, 0, 93, 196, 108,
522 0, 59, 196, 109, 0, 93, 196, 108, 0, 48,
523 0, 93, 230, 108, 0, 65, 252, 0, 93, 223,
524 108, 0, 200, 93, 223, 108, 0, 197, 0, 200,
525 197, 0, 200, 59, 253, 265, 109, 0, 201, 0,
526 202, 84, 202, 0, 202, 85, 202, 0, 202, 79,
527 202, 0, 202, 80, 202, 0, 202, 81, 202, 0,
528 202, 82, 202, 0, 202, 83, 202, 0, 202, 77,
529 202, 0, 202, 78, 202, 0, 202, 74, 202, 0,
530 202, 75, 202, 0, 202, 76, 202, 0, 202, 73,
531 202, 0, 202, 72, 202, 0, 202, 71, 202, 0,
532 202, 69, 202, 0, 202, 70, 202, 0, 202, 68,
533 202, 0, 202, 67, 202, 0, 202, 66, 374, 63,
534 202, 0, 202, 65, 202, 0, 202, 64, 202, 0,
535 62, 0, 62, 202, 0, 89, 389, 163, 0, 89,
536 389, 177, 0, 205, 0, 396, 0, 3, 0, 57,
537 0, 58, 0, 0, 6, 75, 204, 182, 181, 0,
538 396, 75, 204, 182, 181, 0, 49, 163, 75, 182,
539 181, 0, 49, 6, 75, 182, 181, 0, 49, 396,
540 75, 182, 181, 0, 203, 0, 4, 0, 5, 0,
541 209, 0, 245, 209, 0, 203, 0, 81, 208, 0,
542 71, 208, 0, 93, 208, 108, 0, 3, 75, 182,
543 181, 0, 58, 75, 183, 181, 0, 309, 0, 203,
544 0, 210, 0, 93, 208, 108, 0, 203, 0, 10,
545 0, 216, 0, 217, 0, 93, 186, 108, 0, 93,
546 208, 108, 0, 93, 1, 108, 0, 0, 93, 213,
547 336, 108, 0, 203, 93, 196, 108, 0, 203, 48,
548 0, 212, 93, 196, 108, 0, 212, 48, 0, 212,
549 94, 186, 111, 0, 212, 87, 0, 212, 88, 0,
550 41, 0, 9, 93, 196, 108, 0, 313, 0, 51,
551 75, 223, 76, 93, 186, 108, 0, 52, 75, 223,
552 76, 93, 186, 108, 0, 53, 75, 223, 76, 93,
553 186, 108, 0, 54, 75, 223, 76, 93, 186, 108,
554 0, 50, 93, 186, 108, 0, 50, 93, 223, 108,
555 0, 324, 3, 0, 324, 205, 0, 324, 396, 0,
556 312, 0, 312, 93, 196, 108, 0, 312, 48, 0,
557 219, 206, 0, 219, 206, 93, 196, 108, 0, 219,
558 206, 48, 0, 219, 207, 0, 219, 312, 0, 219,
559 207, 93, 196, 108, 0, 219, 207, 48, 0, 219,
560 312, 93, 196, 108, 0, 219, 312, 48, 0, 219,
561 89, 8, 48, 0, 219, 8, 55, 89, 8, 48,
562 0, 219, 1, 0, 40, 0, 324, 40, 0, 39,
563 0, 324, 215, 0, 43, 0, 44, 0, 11, 0,
564 217, 11, 0, 0, 212, 92, 0, 212, 91, 0,
565 230, 232, 61, 0, 224, 232, 61, 0, 227, 233,
566 61, 0, 224, 61, 0, 227, 61, 0, 118, 220,
567 0, 301, 0, 307, 0, 48, 0, 222, 48, 0,
568 228, 328, 0, 298, 328, 0, 230, 328, 0, 228,
569 0, 298, 0, 228, 0, 225, 0, 227, 230, 0,
570 230, 226, 0, 230, 229, 226, 0, 227, 230, 226,
571 0, 227, 230, 229, 0, 227, 230, 229, 226, 0,
572 7, 0, 226, 231, 0, 226, 7, 0, 226, 245,
573 0, 245, 0, 298, 0, 7, 0, 227, 9, 0,
574 227, 7, 0, 227, 245, 0, 245, 0, 230, 0,
575 298, 230, 0, 230, 229, 0, 298, 230, 229, 0,
576 231, 0, 229, 231, 0, 259, 0, 8, 0, 304,
577 0, 28, 93, 186, 108, 0, 28, 93, 223, 108,
578 0, 30, 93, 186, 108, 0, 30, 93, 223, 108,
579 0, 8, 0, 9, 0, 259, 0, 240, 0, 232,
580 60, 236, 0, 241, 0, 233, 60, 236, 0, 242,
581 0, 234, 60, 236, 0, 0, 119, 93, 217, 108,
582 0, 0, 221, 235, 244, 65, 237, 252, 0, 221,
583 235, 244, 0, 0, 244, 65, 239, 252, 0, 244,
584 0, 221, 235, 238, 0, 307, 235, 238, 0, 0,
585 307, 235, 243, 238, 0, 149, 235, 244, 0, 0,
586 245, 0, 246, 0, 245, 246, 0, 31, 93, 93,
587 247, 108, 108, 0, 248, 0, 247, 60, 248, 0,
588 0, 249, 0, 249, 93, 3, 108, 0, 249, 93,
589 3, 60, 196, 108, 0, 249, 93, 196, 108, 0,
590 163, 0, 7, 0, 8, 0, 9, 0, 163, 0,
591 250, 60, 163, 0, 0, 65, 252, 0, 202, 0,
592 59, 109, 0, 59, 253, 109, 0, 59, 253, 60,
593 109, 0, 1, 0, 252, 0, 253, 60, 252, 0,
594 94, 202, 111, 252, 0, 163, 63, 252, 0, 253,
595 60, 163, 63, 252, 0, 102, 0, 254, 146, 145,
596 335, 0, 254, 146, 359, 0, 254, 146, 1, 0,
597 0, 256, 255, 147, 0, 101, 202, 107, 0, 101,
598 1, 107, 0, 0, 258, 257, 0, 258, 1, 0,
599 0, 14, 163, 59, 260, 293, 109, 0, 0, 14,
600 59, 261, 293, 109, 0, 14, 163, 0, 14, 322,
601 0, 46, 317, 0, 0, 0, 0, 274, 59, 262,
602 280, 109, 244, 263, 258, 264, 256, 0, 274, 0,
603 0, 60, 0, 0, 60, 0, 37, 0, 267, 7,
604 0, 267, 8, 0, 267, 9, 0, 267, 37, 0,
605 267, 245, 0, 267, 163, 0, 267, 165, 0, 268,
606 59, 0, 268, 63, 0, 267, 315, 163, 0, 267,
607 324, 315, 163, 0, 267, 324, 163, 0, 267, 178,
608 0, 267, 315, 178, 0, 268, 0, 0, 269, 272,
609 275, 0, 270, 275, 0, 267, 59, 0, 273, 0,
610 271, 0, 0, 63, 389, 0, 63, 389, 276, 0,
611 277, 0, 276, 60, 389, 277, 0, 278, 0, 279,
612 389, 278, 0, 317, 0, 303, 0, 38, 389, 0,
613 7, 389, 0, 279, 38, 389, 0, 279, 7, 389,
614 0, 0, 282, 0, 280, 281, 282, 0, 280, 281,
615 0, 38, 63, 0, 283, 0, 282, 283, 0, 284,
616 61, 0, 284, 109, 0, 156, 63, 0, 156, 95,
617 0, 156, 25, 0, 156, 59, 0, 61, 0, 118,
618 283, 0, 134, 283, 0, 134, 224, 61, 0, 224,
619 285, 0, 227, 286, 0, 307, 235, 244, 251, 0,
620 149, 235, 244, 251, 0, 63, 202, 0, 1, 0,
621 227, 155, 235, 244, 251, 0, 155, 235, 244, 251,
622 0, 127, 0, 0, 287, 0, 285, 60, 288, 0,
623 0, 290, 0, 286, 60, 292, 0, 289, 0, 290,
624 0, 291, 0, 292, 0, 301, 235, 244, 251, 0,
625 4, 63, 202, 244, 0, 307, 235, 244, 251, 0,
626 149, 235, 244, 251, 0, 3, 63, 202, 244, 0,
627 63, 202, 244, 0, 301, 235, 244, 251, 0, 4,
628 63, 202, 244, 0, 307, 235, 244, 251, 0, 3,
629 63, 202, 244, 0, 63, 202, 244, 0, 294, 266,
630 0, 266, 0, 295, 0, 294, 60, 295, 0, 163,
631 0, 163, 65, 202, 0, 369, 325, 0, 369, 0,
632 93, 223, 108, 94, 186, 111, 0, 0, 297, 9,
633 0, 9, 0, 298, 9, 0, 93, 196, 108, 0,
634 93, 379, 108, 0, 48, 0, 93, 1, 108, 0,
635 301, 0, 245, 301, 0, 81, 298, 300, 0, 71,
636 298, 300, 0, 81, 300, 0, 71, 300, 0, 323,
637 297, 300, 0, 302, 0, 302, 299, 297, 391, 0,
638 302, 94, 186, 111, 0, 302, 94, 111, 0, 93,
639 300, 108, 0, 315, 314, 0, 314, 0, 314, 0,
640 324, 314, 0, 303, 0, 305, 0, 324, 305, 0,
641 315, 314, 0, 307, 0, 245, 307, 0, 81, 298,
642 306, 0, 71, 298, 306, 0, 81, 306, 0, 71,
643 306, 0, 323, 297, 306, 0, 211, 0, 81, 298,
644 306, 0, 71, 298, 306, 0, 81, 308, 0, 71,
645 308, 0, 323, 297, 306, 0, 309, 0, 211, 299,
646 297, 391, 0, 93, 308, 108, 0, 211, 94, 186,
647 111, 0, 211, 94, 111, 0, 311, 0, 324, 311,
648 0, 324, 203, 0, 315, 210, 0, 315, 207, 0,
649 315, 206, 0, 315, 203, 0, 315, 206, 0, 311,
650 0, 324, 311, 0, 230, 93, 196, 108, 0, 230,
651 93, 208, 108, 0, 230, 222, 0, 4, 0, 5,
652 0, 177, 0, 316, 0, 315, 316, 0, 315, 49,
653 321, 55, 0, 4, 55, 0, 5, 55, 0, 58,
654 55, 0, 177, 55, 0, 318, 0, 324, 318, 0,
655 319, 163, 0, 319, 177, 0, 319, 321, 0, 319,
656 49, 321, 0, 320, 0, 319, 320, 0, 319, 321,
657 55, 0, 319, 49, 321, 55, 0, 4, 55, 0,
658 5, 55, 0, 177, 55, 0, 57, 55, 0, 3,
659 55, 0, 58, 55, 0, 163, 75, 182, 181, 0,
660 324, 314, 0, 305, 0, 324, 305, 0, 315, 81,
661 0, 324, 315, 81, 0, 55, 0, 81, 297, 325,
662 0, 81, 297, 0, 71, 297, 325, 0, 71, 297,
663 0, 323, 297, 0, 323, 297, 325, 0, 326, 0,
664 94, 186, 111, 0, 326, 94, 186, 111, 0, 328,
665 0, 245, 328, 0, 81, 298, 327, 0, 81, 327,
666 0, 81, 298, 0, 81, 0, 71, 298, 327, 0,
667 71, 327, 0, 71, 298, 0, 71, 0, 323, 297,
668 0, 323, 297, 327, 0, 329, 0, 93, 327, 108,
669 0, 329, 93, 379, 108, 297, 391, 0, 329, 48,
670 297, 391, 0, 329, 94, 186, 111, 0, 329, 94,
671 111, 0, 93, 380, 108, 297, 391, 0, 200, 297,
672 391, 0, 222, 297, 391, 0, 94, 186, 111, 0,
673 94, 111, 0, 343, 0, 331, 0, 330, 343, 0,
674 330, 331, 0, 1, 61, 0, 0, 333, 0, 334,
675 0, 333, 334, 0, 33, 250, 61, 0, 336, 0,
676 1, 336, 0, 0, 59, 337, 192, 0, 0, 0,
677 15, 339, 188, 340, 341, 0, 336, 0, 0, 342,
678 344, 0, 336, 0, 344, 0, 220, 0, 186, 61,
679 0, 0, 338, 16, 345, 341, 0, 338, 0, 0,
680 0, 17, 346, 188, 347, 193, 0, 0, 0, 18,
681 348, 341, 17, 349, 187, 61, 0, 0, 0, 0,
682 0, 19, 350, 93, 372, 351, 189, 61, 352, 374,
683 108, 353, 193, 0, 0, 0, 20, 354, 93, 190,
684 108, 355, 341, 0, 0, 21, 202, 63, 356, 343,
685 0, 0, 21, 202, 12, 202, 63, 357, 343, 0,
686 0, 22, 63, 358, 343, 0, 23, 61, 0, 24,
687 61, 0, 25, 61, 0, 25, 186, 61, 0, 119,
688 373, 93, 217, 108, 61, 0, 119, 373, 93, 217,
689 63, 375, 108, 61, 0, 119, 373, 93, 217, 63,
690 375, 63, 375, 108, 61, 0, 119, 373, 93, 217,
691 55, 375, 108, 61, 0, 119, 373, 93, 217, 63,
692 375, 63, 375, 63, 378, 108, 61, 0, 119, 373,
693 93, 217, 55, 375, 63, 378, 108, 61, 0, 119,
694 373, 93, 217, 63, 375, 55, 378, 108, 61, 0,
695 26, 81, 186, 61, 0, 26, 163, 61, 0, 371,
696 343, 0, 371, 109, 0, 61, 0, 362, 0, 129,
697 0, 128, 0, 125, 0, 0, 0, 95, 360, 145,
698 336, 361, 365, 0, 0, 0, 95, 363, 336, 364,
699 365, 0, 366, 0, 365, 366, 0, 0, 0, 96,
700 367, 370, 368, 336, 0, 228, 0, 298, 0, 93,
701 12, 108, 0, 93, 388, 108, 0, 3, 63, 0,
702 57, 63, 0, 4, 63, 0, 5, 63, 0, 374,
703 61, 0, 220, 0, 59, 192, 0, 0, 9, 0,
704 0, 186, 0, 1, 0, 0, 376, 0, 377, 0,
705 376, 60, 377, 0, 11, 93, 186, 108, 0, 11,
706 0, 378, 60, 11, 0, 0, 380, 0, 223, 0,
707 384, 0, 385, 12, 0, 384, 12, 0, 223, 12,
708 0, 12, 0, 384, 63, 0, 223, 63, 0, 0,
709 65, 382, 383, 0, 100, 0, 252, 0, 386, 0,
710 388, 381, 0, 385, 387, 0, 385, 390, 0, 385,
711 390, 65, 252, 0, 384, 60, 0, 223, 60, 0,
712 225, 221, 0, 228, 221, 0, 230, 221, 0, 225,
713 328, 0, 225, 0, 227, 307, 0, 388, 0, 388,
714 381, 0, 386, 0, 223, 0, 0, 0, 307, 0,
715 0, 62, 93, 393, 108, 0, 62, 48, 0, 223,
716 0, 392, 0, 393, 60, 392, 0, 0, 81, 297,
717 394, 0, 71, 297, 394, 0, 323, 297, 394, 0,
718 42, 0, 395, 81, 0, 395, 82, 0, 395, 83,
719 0, 395, 79, 0, 395, 80, 0, 395, 71, 0,
720 395, 69, 0, 395, 70, 0, 395, 89, 0, 395,
721 60, 0, 395, 74, 0, 395, 75, 0, 395, 76,
722 0, 395, 73, 0, 395, 64, 0, 395, 65, 0,
723 395, 77, 0, 395, 78, 0, 395, 87, 0, 395,
724 88, 0, 395, 68, 0, 395, 67, 0, 395, 110,
725 0, 395, 66, 63, 0, 395, 72, 0, 395, 91,
726 0, 395, 84, 0, 395, 48, 0, 395, 94, 111,
727 0, 395, 40, 0, 395, 39, 0, 395, 40, 94,
728 111, 0, 395, 39, 94, 111, 0, 395, 369, 394,
729 0, 395, 1, 0
732 #endif
734 #if YYDEBUG != 0
735 static const short yyrline[] = { 0,
736 432, 435, 443, 446, 447, 451, 453, 456, 461, 465,
737 471, 475, 479, 483, 486, 488, 490, 493, 495, 498,
738 501, 503, 505, 507, 509, 510, 512, 513, 517, 520,
739 529, 532, 534, 538, 541, 543, 547, 550, 562, 569,
740 577, 579, 580, 582, 586, 589, 595, 598, 600, 605,
741 608, 612, 615, 618, 621, 625, 630, 640, 642, 644,
742 646, 648, 661, 664, 668, 671, 673, 675, 678, 681,
743 685, 687, 689, 691, 696, 698, 700, 702, 704, 705,
744 712, 713, 714, 717, 720, 724, 726, 727, 730, 732,
745 735, 738, 740, 744, 747, 749, 753, 755, 757, 761,
746 763, 765, 769, 771, 773, 779, 784, 787, 790, 793,
747 798, 801, 803, 805, 811, 820, 823, 825, 827, 830,
748 832, 837, 846, 849, 851, 855, 865, 881, 887, 892,
749 903, 906, 913, 921, 923, 926, 928, 931, 935, 939,
750 943, 945, 946, 947, 948, 951, 953, 954, 957, 959,
751 960, 963, 968, 968, 972, 972, 975, 975, 978, 978,
752 982, 982, 987, 987, 990, 990, 993, 995, 998, 1005,
753 1009, 1012, 1015, 1017, 1021, 1027, 1036, 1038, 1046, 1049,
754 1052, 1055, 1059, 1062, 1068, 1071, 1074, 1076, 1078, 1080,
755 1084, 1087, 1090, 1095, 1099, 1104, 1108, 1111, 1112, 1116,
756 1133, 1139, 1142, 1144, 1145, 1146, 1149, 1153, 1154, 1158,
757 1162, 1165, 1167, 1171, 1174, 1177, 1181, 1184, 1186, 1188,
758 1190, 1193, 1197, 1199, 1202, 1204, 1210, 1213, 1216, 1219,
759 1222, 1227, 1230, 1233, 1237, 1239, 1243, 1247, 1249, 1251,
760 1256, 1259, 1264, 1267, 1269, 1277, 1290, 1295, 1301, 1303,
761 1305, 1318, 1321, 1323, 1325, 1327, 1329, 1331, 1333, 1335,
762 1337, 1339, 1341, 1343, 1345, 1347, 1349, 1351, 1353, 1355,
763 1357, 1359, 1361, 1365, 1367, 1369, 1386, 1389, 1391, 1392,
764 1393, 1394, 1395, 1398, 1410, 1413, 1417, 1420, 1422, 1427,
765 1429, 1430, 1433, 1435, 1443, 1445, 1447, 1449, 1453, 1456,
766 1460, 1464, 1465, 1466, 1470, 1478, 1479, 1480, 1490, 1492,
767 1495, 1497, 1508, 1513, 1515, 1517, 1519, 1521, 1523, 1525,
768 1528, 1530, 1541, 1542, 1546, 1550, 1554, 1558, 1560, 1564,
769 1566, 1568, 1576, 1578, 1580, 1582, 1586, 1588, 1590, 1592,
770 1597, 1599, 1601, 1603, 1606, 1608, 1610, 1654, 1657, 1661,
771 1664, 1668, 1671, 1676, 1678, 1682, 1691, 1694, 1701, 1707,
772 1711, 1713, 1718, 1720, 1727, 1729, 1733, 1737, 1743, 1747,
773 1750, 1754, 1757, 1767, 1770, 1774, 1778, 1781, 1784, 1787,
774 1790, 1796, 1802, 1804, 1809, 1811, 1829, 1832, 1837, 1842,
775 1850, 1852, 1865, 1869, 1872, 1875, 1880, 1883, 1891, 1894,
776 1896, 1898, 1901, 1904, 1919, 1938, 1941, 1943, 1946, 1948,
777 1952, 1954, 1958, 1960, 1964, 1967, 1971, 1976, 1977, 1990,
778 1997, 1998, 2004, 2009, 2014, 2020, 2021, 2028, 2031, 2035,
779 2038, 2042, 2047, 2050, 2054, 2057, 2059, 2061, 2063, 2070,
780 2072, 2073, 2074, 2078, 2081, 2085, 2088, 2094, 2096, 2099,
781 2102, 2105, 2111, 2114, 2117, 2119, 2121, 2125, 2131, 2137,
782 2142, 2148, 2150, 2155, 2158, 2161, 2163, 2165, 2169, 2173,
783 2178, 2181, 2186, 2189, 2192, 2198, 2200, 2212, 2216, 2221,
784 2247, 2249, 2252, 2254, 2259, 2261, 2263, 2265, 2267, 2269,
785 2273, 2281, 2284, 2286, 2290, 2297, 2303, 2309, 2315, 2325,
786 2331, 2335, 2342, 2370, 2380, 2386, 2389, 2392, 2394, 2398,
787 2400, 2404, 2407, 2411, 2419, 2422, 2424, 2428, 2439, 2453,
788 2454, 2455, 2456, 2459, 2468, 2473, 2479, 2481, 2486, 2488,
789 2490, 2492, 2494, 2496, 2499, 2509, 2516, 2541, 2547, 2550,
790 2553, 2555, 2566, 2571, 2574, 2579, 2582, 2589, 2599, 2602,
791 2609, 2619, 2621, 2624, 2626, 2629, 2633, 2638, 2642, 2645,
792 2648, 2653, 2656, 2660, 2663, 2665, 2669, 2671, 2678, 2680,
793 2683, 2686, 2691, 2695, 2700, 2710, 2713, 2717, 2721, 2730,
794 2733, 2735, 2737, 2743, 2745, 2754, 2757, 2759, 2761, 2763,
795 2767, 2770, 2773, 2775, 2777, 2779, 2783, 2786, 2797, 2807,
796 2809, 2810, 2814, 2822, 2824, 2832, 2835, 2837, 2839, 2841,
797 2845, 2848, 2851, 2853, 2855, 2857, 2861, 2864, 2867, 2869,
798 2871, 2873, 2875, 2877, 2881, 2888, 2892, 2897, 2901, 2906,
799 2908, 2912, 2915, 2917, 2921, 2923, 2924, 2927, 2929, 2931,
800 2938, 2949, 2955, 2961, 2975, 2977, 2981, 2995, 2997, 2999,
801 3003, 3009, 3022, 3025, 3030, 3043, 3049, 3051, 3052, 3053,
802 3061, 3066, 3075, 3076, 3080, 3083, 3089, 3095, 3098, 3100,
803 3102, 3104, 3108, 3112, 3116, 3119, 3123, 3125, 3134, 3137,
804 3139, 3141, 3143, 3145, 3147, 3149, 3151, 3155, 3159, 3163,
805 3167, 3169, 3171, 3173, 3175, 3177, 3179, 3181, 3183, 3191,
806 3193, 3194, 3195, 3198, 3204, 3206, 3211, 3213, 3216, 3229,
807 3232, 3235, 3239, 3242, 3249, 3251, 3254, 3256, 3258, 3261,
808 3264, 3267, 3270, 3272, 3275, 3279, 3281, 3287, 3289, 3290,
809 3292, 3297, 3299, 3301, 3303, 3305, 3308, 3309, 3311, 3314,
810 3315, 3318, 3318, 3321, 3321, 3324, 3324, 3326, 3328, 3330,
811 3332, 3338, 3344, 3346, 3349, 3352, 3355, 3358, 3364, 3366,
812 3367, 3370, 3372, 3373, 3374, 3376, 3379, 3382, 3385, 3391,
813 3395, 3397, 3400, 3402, 3405, 3409, 3411, 3414, 3416, 3419,
814 3436, 3444, 3447, 3449, 3451, 3455, 3458, 3459, 3467, 3470,
815 3473, 3476, 3477, 3483, 3486, 3489, 3491, 3495, 3500, 3503,
816 3513, 3518, 3519, 3526, 3529, 3532, 3534, 3537, 3539, 3549,
817 3563, 3567, 3570, 3572, 3576, 3580, 3583, 3586, 3588, 3592,
818 3594, 3601, 3608, 3611, 3615, 3619, 3623, 3629, 3633, 3638,
819 3640, 3643, 3648, 3654, 3665, 3668, 3670, 3674, 3682, 3685,
820 3689, 3692, 3694, 3696, 3702, 3707, 3710, 3712, 3714, 3716,
821 3718, 3720, 3722, 3724, 3726, 3728, 3730, 3732, 3734, 3736,
822 3738, 3740, 3742, 3744, 3746, 3748, 3750, 3752, 3754, 3756,
823 3758, 3760, 3762, 3764, 3766, 3768, 3770, 3772, 3775, 3777
825 #endif
828 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
830 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
831 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
832 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
833 "CASE","DEFAULT","BREAK","CONTINUE","RETURN_KEYWORD","GOTO","ASM_KEYWORD","TYPEOF",
834 "ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG",
835 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
836 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
837 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
838 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
839 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
840 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
841 "POINTSAT","'.'","'('","'['","TRY","CATCH","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
842 "DEFARG","DEFARG_MARKER","PRE_PARSED_FUNCTION_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN",
843 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
844 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
845 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
846 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
847 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
848 "template_type_parm","template_template_parm","template_parm","template_def",
849 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
850 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
851 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
852 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
853 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
854 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
855 "apparent_template_type","self_template_type",".finish_template_type","template_close_bracket",
856 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
857 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
858 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr","new_placement",
859 "new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas","notype_unqualified_id",
860 "do_id","template_id","object_template_id","unqualified_id","expr_or_declarator_intern",
861 "expr_or_declarator","notype_template_declarator","direct_notype_declarator",
862 "primary","@22","new","delete","boolean.literal","string","nodecls","object",
863 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
864 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
865 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
866 "initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0",
867 "@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
868 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
869 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
870 "@29","@30","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
871 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
872 "named_class_head","@31","unnamed_class_head","class_head","maybe_base_class_list",
873 "base_class_list","base_class","base_class.1","base_class_access_list","opt.component_decl_list",
874 "access_specifier","component_decl_list","component_decl","component_decl_1",
875 "components","notype_components","component_declarator0","component_declarator",
876 "after_type_component_declarator0","notype_component_declarator0","after_type_component_declarator",
877 "notype_component_declarator","enumlist_opt","enumlist","enumerator","new_type_id",
878 "cv_qualifiers","nonempty_cv_qualifiers","maybe_parmlist","after_type_declarator_intern",
879 "after_type_declarator","direct_after_type_declarator","nonnested_type","complete_type_name",
880 "nested_type","notype_declarator_intern","notype_declarator","complex_notype_declarator",
881 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
882 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
883 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
884 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
885 "absdcl_intern","absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
886 "label_decls","label_decl","compstmt_or_error","compstmt","@32","simple_if",
887 "@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt","@36","@37",
888 "@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48","@49","function_try_block",
889 "@50","@51","try_block","@52","@53","handler_seq","handler","@54","@55","type_specifier_seq",
890 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
891 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
892 "complex_parmlist","defarg","@56","defarg1","parms","parms_comma","named_parm",
893 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
894 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
896 #endif
898 static const short yyr1[] = { 0,
899 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
900 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
901 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
902 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
903 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
904 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
905 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
906 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
907 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
908 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
909 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
910 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
911 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
912 161, 162, 162, 162, 162, 162, 162, 162, 162, 162,
913 163, 163, 163, 163, 163, 164, 164, 164, 165, 165,
914 165, 167, 166, 168, 166, 169, 166, 170, 166, 171,
915 166, 172, 166, 173, 166, 174, 166, 175, 176, 177,
916 177, 177, 178, 178, 179, 180, 181, 181, 182, 182,
917 183, 183, 184, 184, 184, 185, 185, 185, 185, 185,
918 186, 186, 187, 187, 188, 188, 189, 189, 189, 191,
919 190, 190, 192, 192, 192, 192, 194, 193, 193, 195,
920 195, 195, 195, 196, 196, 197, 197, 197, 197, 197,
921 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
922 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
923 198, 198, 199, 199, 199, 199, 200, 200, 201, 201,
924 201, 202, 202, 202, 202, 202, 202, 202, 202, 202,
925 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
926 202, 202, 202, 202, 202, 202, 203, 203, 203, 203,
927 203, 203, 203, 204, 205, 205, 206, 206, 206, 207,
928 207, 207, 208, 208, 209, 209, 209, 209, 210, 210,
929 211, 211, 211, 211, 212, 212, 212, 212, 212, 212,
930 212, 213, 212, 212, 212, 212, 212, 212, 212, 212,
931 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
932 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
933 212, 212, 212, 212, 212, 212, 212, 214, 214, 215,
934 215, 216, 216, 217, 217, 218, 219, 219, 220, 220,
935 220, 220, 220, 220, 221, 221, 222, 222, 223, 223,
936 223, 223, 223, 224, 224, 225, 225, 225, 225, 225,
937 225, 226, 226, 226, 226, 226, 227, 227, 227, 227,
938 227, 227, 228, 228, 228, 228, 229, 229, 230, 230,
939 230, 230, 230, 230, 230, 231, 231, 231, 232, 232,
940 233, 233, 234, 234, 235, 235, 237, 236, 236, 239,
941 238, 238, 240, 241, 243, 242, 242, 244, 244, 245,
942 245, 246, 247, 247, 248, 248, 248, 248, 248, 249,
943 249, 249, 249, 250, 250, 251, 251, 252, 252, 252,
944 252, 252, 253, 253, 253, 253, 253, 254, 255, 255,
945 255, 256, 256, 257, 257, 258, 258, 258, 260, 259,
946 261, 259, 259, 259, 259, 262, 263, 264, 259, 259,
947 265, 265, 266, 266, 267, 267, 267, 267, 267, 267,
948 268, 269, 269, 269, 270, 270, 270, 270, 270, 271,
949 272, 271, 271, 273, 274, 274, 275, 275, 275, 276,
950 276, 277, 277, 278, 278, 279, 279, 279, 279, 280,
951 280, 280, 280, 281, 282, 282, 283, 283, 283, 283,
952 283, 283, 283, 283, 283, 283, 284, 284, 284, 284,
953 284, 284, 284, 284, 284, 285, 285, 285, 286, 286,
954 286, 287, 287, 288, 288, 289, 289, 290, 290, 290,
955 290, 291, 291, 292, 292, 292, 293, 293, 294, 294,
956 295, 295, 296, 296, 296, 297, 297, 298, 298, 299,
957 299, 299, 299, 300, 300, 301, 301, 301, 301, 301,
958 301, 302, 302, 302, 302, 302, 302, 303, 303, 304,
959 304, 304, 305, 306, 306, 307, 307, 307, 307, 307,
960 307, 308, 308, 308, 308, 308, 308, 309, 309, 309,
961 309, 309, 309, 309, 309, 310, 310, 311, 311, 312,
962 312, 313, 313, 313, 314, 314, 314, 315, 315, 315,
963 316, 316, 316, 316, 317, 317, 318, 318, 318, 318,
964 319, 319, 319, 319, 320, 320, 320, 320, 320, 320,
965 321, 322, 322, 322, 323, 323, 324, 325, 325, 325,
966 325, 325, 325, 325, 326, 326, 327, 327, 328, 328,
967 328, 328, 328, 328, 328, 328, 328, 328, 328, 329,
968 329, 329, 329, 329, 329, 329, 329, 329, 329, 330,
969 330, 330, 330, 331, 332, 332, 333, 333, 334, 335,
970 335, 337, 336, 339, 340, 338, 341, 342, 341, 343,
971 343, 344, 344, 345, 344, 344, 346, 347, 344, 348,
972 349, 344, 350, 351, 352, 353, 344, 354, 355, 344,
973 356, 344, 357, 344, 358, 344, 344, 344, 344, 344,
974 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
975 344, 344, 344, 344, 344, 344, 360, 361, 359, 363,
976 364, 362, 365, 365, 367, 368, 366, 369, 369, 370,
977 370, 371, 371, 371, 371, 372, 372, 372, 373, 373,
978 374, 374, 374, 375, 375, 376, 376, 377, 378, 378,
979 379, 379, 379, 380, 380, 380, 380, 380, 380, 380,
980 382, 381, 383, 383, 384, 384, 384, 384, 384, 385,
981 385, 386, 386, 386, 386, 386, 386, 387, 387, 388,
982 388, 389, 390, 390, 391, 391, 391, 392, 393, 393,
983 394, 394, 394, 394, 395, 396, 396, 396, 396, 396,
984 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
985 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
986 396, 396, 396, 396, 396, 396, 396, 396, 396, 396
989 static const short yyr2[] = { 0,
990 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
991 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
992 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
993 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
994 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
995 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
996 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
997 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
998 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
999 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
1000 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
1001 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
1002 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
1003 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
1004 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1005 1, 0, 6, 0, 6, 0, 5, 0, 5, 0,
1006 7, 0, 7, 0, 6, 0, 6, 0, 0, 5,
1007 5, 1, 1, 5, 5, 0, 1, 1, 0, 1,
1008 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
1009 1, 1, 1, 3, 1, 3, 0, 1, 1, 0,
1010 7, 1, 1, 3, 4, 3, 0, 3, 1, 3,
1011 3, 3, 3, 1, 1, 1, 2, 2, 2, 2,
1012 2, 2, 2, 4, 2, 4, 2, 3, 3, 4,
1013 4, 5, 5, 6, 2, 4, 5, 2, 2, 6,
1014 3, 3, 3, 1, 3, 2, 3, 4, 1, 2,
1015 5, 1, 3, 3, 3, 3, 3, 3, 3, 3,
1016 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1017 3, 5, 3, 3, 1, 2, 3, 3, 1, 1,
1018 1, 1, 1, 0, 5, 5, 5, 5, 5, 1,
1019 1, 1, 1, 2, 1, 2, 2, 3, 4, 4,
1020 1, 1, 1, 3, 1, 1, 1, 1, 3, 3,
1021 3, 0, 4, 4, 2, 4, 2, 4, 2, 2,
1022 1, 4, 1, 7, 7, 7, 7, 4, 4, 2,
1023 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
1024 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
1025 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
1026 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
1027 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
1028 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
1029 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
1030 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
1031 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
1032 4, 1, 3, 3, 0, 4, 3, 0, 1, 1,
1033 2, 6, 1, 3, 0, 1, 4, 6, 4, 1,
1034 1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
1035 4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
1036 3, 0, 3, 3, 3, 0, 2, 2, 0, 6,
1037 0, 5, 2, 2, 2, 0, 0, 0, 10, 1,
1038 0, 1, 0, 1, 1, 2, 2, 2, 2, 2,
1039 2, 2, 2, 2, 3, 4, 3, 2, 3, 1,
1040 0, 3, 2, 2, 1, 1, 0, 2, 3, 1,
1041 4, 1, 3, 1, 1, 2, 2, 3, 3, 0,
1042 1, 3, 2, 2, 1, 2, 2, 2, 2, 2,
1043 2, 2, 1, 2, 2, 3, 2, 2, 4, 4,
1044 2, 1, 5, 4, 1, 0, 1, 3, 0, 1,
1045 3, 1, 1, 1, 1, 4, 4, 4, 4, 4,
1046 3, 4, 4, 4, 4, 3, 2, 1, 1, 3,
1047 1, 3, 2, 1, 6, 0, 2, 1, 2, 3,
1048 3, 1, 3, 1, 2, 3, 3, 2, 2, 3,
1049 1, 4, 4, 3, 3, 2, 1, 1, 2, 1,
1050 1, 2, 2, 1, 2, 3, 3, 2, 2, 3,
1051 1, 3, 3, 2, 2, 3, 1, 4, 3, 4,
1052 3, 1, 2, 2, 2, 2, 2, 2, 2, 1,
1053 2, 4, 4, 2, 1, 1, 1, 1, 2, 4,
1054 2, 2, 2, 2, 1, 2, 2, 2, 2, 3,
1055 1, 2, 3, 4, 2, 2, 2, 2, 2, 2,
1056 4, 2, 1, 2, 2, 3, 1, 3, 2, 3,
1057 2, 2, 3, 1, 3, 4, 1, 2, 3, 2,
1058 2, 1, 3, 2, 2, 1, 2, 3, 1, 3,
1059 6, 4, 4, 3, 5, 3, 3, 3, 2, 1,
1060 1, 2, 2, 2, 0, 1, 1, 2, 3, 1,
1061 2, 0, 3, 0, 0, 5, 1, 0, 2, 1,
1062 1, 1, 2, 0, 4, 1, 0, 0, 5, 0,
1063 0, 7, 0, 0, 0, 0, 12, 0, 0, 7,
1064 0, 5, 0, 7, 0, 4, 2, 2, 2, 3,
1065 6, 8, 10, 8, 12, 10, 10, 4, 3, 2,
1066 2, 1, 1, 1, 1, 1, 0, 0, 6, 0,
1067 0, 5, 1, 2, 0, 0, 5, 1, 1, 3,
1068 3, 2, 2, 2, 2, 2, 1, 2, 0, 1,
1069 0, 1, 1, 0, 1, 1, 3, 4, 1, 3,
1070 0, 1, 1, 1, 2, 2, 2, 1, 2, 2,
1071 0, 3, 1, 1, 1, 2, 2, 2, 4, 2,
1072 2, 2, 2, 2, 2, 1, 2, 1, 2, 1,
1073 1, 0, 0, 1, 0, 4, 2, 1, 1, 3,
1074 0, 3, 3, 3, 1, 2, 2, 2, 2, 2,
1075 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1076 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
1077 2, 2, 2, 3, 2, 2, 4, 4, 3, 2
1080 static const short yydefact[] = { 3,
1081 12, 12, 5, 0, 4, 0, 281, 635, 636, 0,
1082 388, 400, 578, 0, 11, 0, 0, 0, 10, 485,
1083 845, 0, 0, 0, 168, 667, 282, 283, 83, 0,
1084 0, 832, 0, 45, 0, 0, 13, 25, 0, 27,
1085 8, 0, 16, 15, 89, 110, 86, 0, 637, 172,
1086 302, 279, 303, 611, 0, 375, 0, 374, 393, 0,
1087 413, 392, 430, 399, 0, 500, 501, 507, 506, 505,
1088 480, 387, 600, 401, 601, 108, 301, 622, 598, 0,
1089 638, 576, 0, 0, 280, 81, 82, 179, 641, 179,
1090 642, 179, 284, 168, 141, 142, 143, 144, 145, 471,
1091 473, 0, 663, 0, 474, 0, 0, 0, 0, 142,
1092 143, 144, 145, 23, 0, 0, 0, 0, 0, 0,
1093 0, 475, 645, 0, 651, 0, 0, 0, 37, 0,
1094 0, 31, 0, 0, 47, 0, 179, 643, 0, 0,
1095 0, 609, 604, 0, 0, 0, 608, 0, 0, 0,
1096 0, 302, 0, 293, 0, 0, 0, 301, 576, 28,
1097 0, 26, 3, 46, 0, 64, 388, 0, 0, 8,
1098 67, 63, 66, 89, 0, 0, 0, 399, 90, 14,
1099 0, 428, 0, 0, 446, 87, 79, 644, 582, 0,
1100 0, 576, 80, 0, 0, 0, 106, 0, 409, 365,
1101 591, 366, 597, 0, 576, 390, 389, 78, 109, 376,
1102 0, 411, 391, 107, 382, 406, 407, 377, 395, 397,
1103 386, 408, 0, 75, 431, 486, 487, 488, 489, 504,
1104 150, 149, 151, 491, 492, 173, 498, 490, 0, 0,
1105 493, 494, 507, 832, 503, 476, 579, 394, 0, 425,
1106 636, 0, 665, 172, 628, 629, 625, 603, 639, 0,
1107 281, 283, 624, 602, 623, 599, 0, 880, 876, 875,
1108 873, 855, 860, 861, 0, 867, 866, 852, 853, 851,
1109 870, 859, 856, 857, 858, 862, 863, 849, 850, 846,
1110 847, 848, 872, 864, 865, 854, 871, 0, 868, 778,
1111 393, 779, 841, 284, 578, 306, 354, 0, 0, 0,
1112 0, 0, 350, 348, 321, 352, 353, 0, 0, 0,
1113 0, 0, 282, 275, 0, 0, 187, 186, 0, 188,
1114 189, 0, 0, 190, 0, 0, 180, 181, 0, 249,
1115 0, 252, 185, 305, 216, 0, 0, 307, 308, 0,
1116 183, 372, 393, 373, 630, 333, 323, 0, 0, 0,
1117 0, 179, 0, 483, 469, 0, 664, 662, 0, 191,
1118 192, 0, 0, 0, 435, 3, 21, 29, 659, 655,
1119 656, 658, 660, 657, 141, 142, 143, 0, 144, 145,
1120 647, 648, 652, 649, 646, 0, 291, 292, 290, 627,
1121 626, 33, 32, 49, 0, 158, 0, 0, 393, 156,
1122 0, 0, 605, 607, 0, 606, 142, 143, 277, 278,
1123 297, 0, 615, 296, 0, 614, 0, 304, 282, 283,
1124 0, 0, 0, 295, 294, 619, 0, 0, 12, 0,
1125 168, 9, 9, 70, 0, 65, 0, 0, 71, 74,
1126 0, 427, 429, 122, 93, 127, 767, 0, 85, 84,
1127 92, 125, 0, 0, 123, 88, 0, 808, 215, 0,
1128 214, 803, 826, 0, 372, 393, 373, 0, 802, 804,
1129 833, 815, 0, 0, 621, 0, 0, 835, 0, 0,
1130 589, 584, 0, 588, 0, 0, 0, 0, 0, 576,
1131 428, 0, 77, 0, 576, 596, 0, 379, 380, 0,
1132 76, 428, 384, 383, 385, 378, 398, 415, 414, 179,
1133 495, 499, 497, 0, 502, 508, 0, 396, 428, 576,
1134 94, 0, 0, 0, 0, 576, 100, 577, 610, 636,
1135 666, 172, 0, 0, 869, 874, 395, 576, 576, 0,
1136 576, 0, 879, 179, 0, 0, 223, 0, 225, 238,
1137 239, 0, 0, 0, 0, 0, 0, 276, 222, 219,
1138 218, 220, 0, 0, 0, 0, 0, 305, 0, 0,
1139 0, 217, 177, 178, 299, 0, 221, 0, 0, 250,
1140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1142 0, 0, 315, 0, 317, 319, 320, 358, 357, 0,
1143 0, 0, 0, 0, 227, 574, 0, 235, 355, 347,
1144 0, 0, 832, 336, 339, 340, 0, 0, 367, 686,
1145 682, 0, 0, 576, 576, 576, 369, 689, 0, 634,
1146 371, 0, 0, 370, 335, 0, 330, 349, 331, 351,
1147 631, 0, 332, 176, 176, 0, 166, 0, 393, 164,
1148 484, 571, 568, 0, 483, 569, 483, 0, 402, 0,
1149 0, 403, 404, 405, 441, 442, 443, 440, 0, 433,
1150 436, 0, 3, 0, 650, 179, 653, 0, 41, 42,
1151 0, 53, 0, 0, 57, 61, 50, 831, 393, 53,
1152 830, 59, 169, 154, 152, 169, 176, 300, 613, 612,
1153 304, 0, 616, 0, 18, 20, 89, 9, 9, 73,
1154 72, 0, 0, 356, 0, 712, 91, 710, 452, 0,
1155 448, 447, 0, 583, 580, 807, 821, 810, 686, 682,
1156 0, 822, 576, 825, 827, 0, 0, 823, 0, 824,
1157 581, 806, 820, 809, 805, 834, 817, 828, 818, 811,
1158 816, 620, 0, 634, 0, 618, 585, 587, 586, 0,
1159 0, 0, 0, 0, 0, 576, 595, 0, 423, 422,
1160 410, 594, 0, 835, 590, 381, 412, 424, 428, 0,
1161 496, 635, 636, 832, 832, 637, 509, 510, 512, 832,
1162 515, 514, 0, 542, 636, 0, 533, 0, 0, 545,
1163 0, 121, 116, 0, 172, 546, 549, 0, 0, 525,
1164 0, 119, 426, 835, 801, 179, 179, 640, 179, 835,
1165 801, 576, 97, 576, 103, 878, 877, 841, 841, 841,
1166 0, 0, 0, 0, 0, 0, 0, 0, 0, 393,
1167 0, 0, 0, 311, 0, 309, 310, 0, 247, 182,
1168 281, 635, 636, 282, 283, 0, 0, 453, 481, 0,
1169 274, 273, 793, 792, 0, 271, 270, 268, 269, 267,
1170 266, 265, 262, 263, 264, 260, 261, 255, 256, 257,
1171 258, 259, 253, 254, 0, 0, 0, 0, 0, 0,
1172 0, 229, 244, 0, 0, 228, 576, 576, 0, 576,
1173 573, 674, 0, 0, 0, 0, 0, 338, 0, 342,
1174 0, 344, 0, 0, 685, 684, 677, 681, 680, 831,
1175 392, 0, 0, 699, 0, 0, 835, 368, 835, 687,
1176 576, 801, 0, 686, 682, 0, 0, 576, 0, 392,
1177 0, 0, 0, 0, 171, 175, 285, 169, 162, 160,
1178 169, 0, 472, 484, 567, 0, 213, 212, 211, 210,
1179 435, 0, 0, 24, 0, 0, 654, 0, 38, 44,
1180 43, 55, 52, 53, 0, 48, 0, 0, 54, 491,
1181 0, 159, 169, 169, 157, 170, 298, 17, 19, 69,
1182 89, 416, 140, 146, 133, 147, 148, 0, 126, 129,
1183 0, 0, 0, 0, 711, 705, 449, 0, 124, 0,
1184 685, 681, 686, 682, 0, 392, 598, 0, 576, 687,
1185 0, 686, 682, 0, 305, 0, 630, 0, 829, 0,
1186 0, 837, 0, 0, 0, 0, 420, 593, 592, 419,
1187 176, 517, 516, 832, 832, 832, 0, 576, 801, 541,
1188 534, 546, 535, 428, 428, 531, 532, 529, 530, 576,
1189 801, 281, 635, 0, 415, 117, 537, 547, 552, 553,
1190 415, 415, 0, 0, 415, 115, 538, 550, 415, 0,
1191 428, 0, 526, 527, 528, 428, 96, 0, 0, 0,
1192 0, 102, 0, 835, 801, 835, 801, 843, 842, 844,
1193 286, 322, 224, 226, 0, 328, 329, 0, 0, 0,
1194 0, 310, 313, 0, 0, 0, 0, 248, 0, 314,
1195 316, 318, 242, 241, 231, 0, 230, 246, 0, 0,
1196 671, 669, 0, 672, 0, 236, 0, 0, 179, 345,
1197 0, 0, 0, 678, 683, 679, 690, 576, 698, 696,
1198 697, 688, 835, 0, 694, 0, 0, 632, 633, 686,
1199 682, 0, 334, 167, 169, 169, 165, 572, 570, 470,
1200 434, 432, 281, 0, 22, 30, 661, 56, 51, 58,
1201 62, 60, 155, 153, 68, 0, 131, 0, 135, 0,
1202 137, 0, 139, 0, 768, 0, 203, 713, 0, 706,
1203 707, 0, 450, 0, 685, 681, 686, 682, 0, 576,
1204 603, 687, 0, 633, 330, 331, 631, 332, 819, 813,
1205 814, 812, 838, 839, 0, 0, 0, 0, 0, 0,
1206 417, 174, 0, 519, 518, 513, 835, 0, 536, 446,
1207 446, 835, 0, 0, 0, 428, 428, 0, 428, 428,
1208 0, 428, 0, 524, 477, 0, 446, 576, 288, 287,
1209 289, 576, 99, 0, 105, 0, 0, 0, 0, 0,
1210 0, 0, 456, 0, 454, 251, 272, 0, 232, 233,
1211 243, 245, 670, 668, 675, 673, 0, 237, 0, 0,
1212 337, 341, 343, 835, 692, 576, 693, 163, 161, 0,
1213 437, 439, 132, 130, 0, 0, 0, 0, 444, 0,
1214 0, 281, 635, 636, 714, 727, 730, 733, 738, 0,
1215 0, 0, 0, 0, 0, 0, 0, 282, 762, 770,
1216 0, 789, 766, 765, 764, 0, 722, 0, 0, 393,
1217 0, 701, 720, 726, 700, 721, 763, 0, 708, 451,
1218 685, 681, 0, 687, 310, 0, 836, 421, 0, 511,
1219 112, 576, 540, 544, 114, 576, 428, 428, 561, 446,
1220 281, 635, 0, 548, 554, 555, 415, 415, 446, 446,
1221 0, 446, 551, 466, 539, 835, 835, 576, 576, 240,
1222 0, 0, 0, 0, 455, 0, 0, 234, 676, 346,
1223 287, 695, 835, 0, 134, 136, 138, 775, 769, 773,
1224 0, 709, 704, 206, 782, 784, 785, 0, 0, 718,
1225 0, 0, 0, 745, 747, 748, 749, 0, 0, 0,
1226 0, 0, 0, 0, 783, 0, 364, 790, 0, 723,
1227 362, 415, 0, 363, 0, 415, 0, 0, 0, 204,
1228 703, 702, 724, 761, 760, 686, 682, 0, 0, 840,
1229 418, 835, 835, 560, 557, 559, 0, 0, 428, 428,
1230 428, 556, 558, 543, 0, 95, 101, 835, 835, 324,
1231 325, 326, 327, 457, 575, 691, 438, 0, 774, 445,
1232 195, 0, 715, 728, 717, 0, 0, 0, 0, 0,
1233 741, 0, 750, 0, 759, 39, 145, 34, 145, 0,
1234 35, 771, 0, 360, 361, 0, 0, 0, 359, 205,
1235 718, 392, 111, 113, 428, 428, 566, 446, 446, 468,
1236 0, 467, 462, 98, 104, 0, 776, 202, 0, 393,
1237 0, 718, 0, 731, 719, 705, 787, 734, 0, 0,
1238 0, 0, 746, 758, 40, 36, 0, 0, 725, 565,
1239 563, 562, 564, 0, 0, 479, 0, 0, 0, 196,
1240 415, 716, 207, 729, 209, 0, 788, 0, 786, 739,
1241 743, 742, 772, 794, 794, 0, 465, 464, 458, 86,
1242 89, 780, 781, 777, 428, 705, 193, 0, 0, 199,
1243 0, 198, 718, 0, 0, 0, 795, 796, 0, 751,
1244 0, 463, 0, 208, 0, 732, 735, 740, 744, 0,
1245 0, 0, 0, 0, 794, 0, 461, 0, 460, 200,
1246 194, 0, 0, 799, 0, 754, 797, 0, 0, 752,
1247 459, 0, 0, 798, 0, 0, 0, 0, 0, 201,
1248 736, 800, 756, 757, 0, 753, 0, 0, 737, 755,
1249 0, 0, 0
1252 static const short yydefgoto[] = { 1681,
1253 439, 2, 440, 165, 726, 335, 181, 3, 4, 37,
1254 693, 376, 1353, 694, 820, 1354, 1355, 396, 1453, 698,
1255 41, 821, 405, 704, 992, 705, 706, 707, 43, 172,
1256 173, 44, 458, 184, 180, 45, 46, 835, 1115, 841,
1257 1117, 47, 823, 824, 185, 186, 459, 733, 1019, 1020,
1258 672, 1021, 235, 48, 1004, 1003, 716, 713, 1186, 1185,
1259 971, 968, 136, 1002, 49, 237, 50, 965, 585, 336,
1260 337, 338, 339, 1356, 1619, 1513, 1621, 1559, 1662, 1218,
1261 1594, 1616, 370, 957, 340, 624, 916, 341, 342, 371,
1262 344, 362, 52, 256, 699, 421, 154, 53, 54, 345,
1263 580, 346, 347, 348, 349, 460, 350, 1357, 518, 645,
1264 351, 1358, 56, 218, 474, 352, 219, 487, 220, 198,
1265 211, 60, 501, 519, 1379, 789, 1250, 199, 212, 61,
1266 529, 790, 62, 63, 689, 690, 691, 1330, 465, 878,
1267 879, 1610, 1611, 1586, 1552, 1495, 64, 677, 364, 527,
1268 1404, 1553, 1137, 673, 65, 66, 67, 68, 69, 243,
1269 70, 71, 245, 807, 808, 809, 810, 828, 1102, 829,
1270 830, 831, 1087, 1097, 1088, 1394, 1089, 1090, 1395, 1396,
1271 674, 675, 676, 625, 947, 354, 192, 499, 492, 201,
1272 73, 74, 75, 142, 143, 157, 77, 132, 355, 356,
1273 357, 79, 358, 81, 812, 123, 124, 125, 534, 105,
1274 82, 359, 921, 922, 942, 937, 648, 1361, 1362, 1219,
1275 1220, 1221, 737, 1363, 1026, 1364, 1438, 1562, 1516, 1517,
1276 1365, 1366, 1541, 1439, 1563, 1440, 1596, 1441, 1598, 1652,
1277 1677, 1442, 1623, 1572, 1624, 1522, 461, 734, 1328, 1367,
1278 1456, 1577, 1429, 1430, 1508, 1589, 1561, 1557, 1368, 1568,
1279 1459, 885, 1626, 1627, 1628, 1655, 478, 943, 771, 1051,
1280 1242, 480, 481, 482, 767, 483, 148, 769, 776, 1244,
1281 1245, 553, 84, 85
1284 static const short yypact[] = { 124,
1285 226,-32768,-32768, 5543,-32768, 79, 219, 40, 457, 230,
1286 252,-32768,-32768, 323,-32768, 251, 273, 307,-32768,-32768,
1287 -32768, 1013, 1864, 2749, 365,-32768, 383, 572,-32768, 2970,
1288 2970,-32768, 5660,-32768, 5543, 400,-32768,-32768, 453,-32768,
1289 308, 5854,-32768,-32768, 461, 946, 511, 481, 518,-32768,
1290 -32768,-32768,-32768, 451, 1906,-32768, 7363,-32768, 1473, 411,
1291 -32768, 606,-32768,-32768, 647, 88,-32768, 590,-32768,-32768,
1292 601, 4055,-32768,-32768,-32768, 597,-32768,-32768,-32768, 2328,
1293 -32768,-32768, 314, 7509, 588,-32768,-32768, 10997,-32768, 10997,
1294 -32768, 10997,-32768,-32768,-32768, 40, 457, 383, 639,-32768,
1295 641, 518,-32768, 171,-32768, 477, 11088, 11088, 648,-32768,
1296 -32768,-32768,-32768,-32768, 571, 715, 688, 794, 812, 722,
1297 740,-32768,-32768, 1703,-32768, 1132, 40, 457,-32768, 383,
1298 639,-32768, 1058, 2362, 729, 12158, 10997,-32768, 10997, 7058,
1299 5280,-32768,-32768, 2753, 2625, 5280,-32768, 2124, 5641, 5641,
1300 5660, 705, 716,-32768, 451, 1288, 726, 731,-32768,-32768,
1301 844,-32768, 701,-32768, 4480,-32768,-32768, 365, 3308, 763,
1302 -32768,-32768,-32768, 461, 2949, 12218, 545, 821,-32768,-32768,
1303 813, 606, 893, 118, 370, 849,-32768,-32768,-32768, 7157,
1304 9587,-32768,-32768, 6321, 6321, 12342, 597, 655,-32768,-32768,
1305 538,-32768,-32768, 3064,-32768,-32768,-32768,-32768,-32768, 1473,
1306 803,-32768, 606, 597,-32768,-32768,-32768, 3074, 1473,-32768,
1307 606,-32768, 2949,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1308 -32768,-32768,-32768, 838,-32768, 518,-32768, 606, 2015, 2160,
1309 -32768,-32768, 590,-32768,-32768,-32768,-32768, 1247, 477,-32768,
1310 635, 2117,-32768, 130,-32768,-32768,-32768,-32768,-32768, 6728,
1311 -32768, 639,-32768,-32768,-32768,-32768, 3326,-32768, 826, 828,
1312 -32768,-32768,-32768,-32768, 873,-32768,-32768,-32768,-32768,-32768,
1313 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1314 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 827,-32768,-32768,
1315 1247, 4055, 954,-32768, 852,-32768,-32768, 11726, 11817, 11908,
1316 11908, 857,-32768,-32768,-32768,-32768,-32768, 907, 928, 930,
1317 949, 964, 1094, 11179, 2174, 11908,-32768,-32768, 11908,-32768,
1318 -32768, 11908, 8285,-32768, 11908, 320, 887,-32768, 11908,-32768,
1319 11270,-32768, 12657, 349, 2517, 3478, 11361,-32768, 1032, 407,
1320 -32768, 2649, 875, 4100,-32768, 431,-32768, 1686, 3544, 320,
1321 320, 10997, 12158, 584,-32768, 2174,-32768,-32768, 937, 993,
1322 12564, 952, 961, 968, 727, 701,-32768,-32768,-32768,-32768,
1323 -32768,-32768,-32768,-32768, 715, 688, 794, 2174, 812, 722,
1324 1010, 740,-32768, 1035,-32768, 2479, 40, 457,-32768,-32768,
1325 -32768,-32768,-32768,-32768, 7450,-32768, 2949, 12503, 2704,-32768,
1326 320, 810,-32768,-32768, 3662,-32768, 1017, 1024,-32768,-32768,
1327 -32768, 5280,-32768,-32768, 5280,-32768, 998,-32768,-32768,-32768,
1328 1288, 1288, 1288,-32768,-32768,-32768, 6728, 74, 992, 999,
1329 -32768,-32768,-32768,-32768, 12158,-32768, 894, 1036,-32768,-32768,
1330 844,-32768, 606,-32768,-32768,-32768,-32768, 126,-32768,-32768,
1331 -32768,-32768, 8950, 11179,-32768,-32768, 1004,-32768, 993, 1014,
1332 12564, 367, 1707, 12218, 1707, 2638, 6918, 1016,-32768, 243,
1333 11999, 1079, 1080, 852,-32768, 1038, 444, 143, 12384, 7408,
1334 -32768,-32768, 7408,-32768, 12262, 12262, 12342, 12390, 1045,-32768,
1335 606, 2949,-32768, 9678,-32768,-32768, 12279, 3074, 1473, 2949,
1336 -32768, 606,-32768,-32768, 606, 3074,-32768, 1129,-32768, 10997,
1337 838,-32768,-32768, 2015,-32768, 1551, 3070, 1247, 606,-32768,
1338 -32768, 1089, 1092, 1116, 1101,-32768,-32768,-32768,-32768, 663,
1339 -32768, 454, 1066, 1068,-32768,-32768, 1247,-32768,-32768, 429,
1340 -32768, 536,-32768, 10997, 11179, 8285,-32768, 8285,-32768,-32768,
1341 -32768, 11179, 11088, 5912, 5912, 5912, 5912, 12635,-32768,-32768,
1342 -32768,-32768, 1074, 11453, 11453, 8285, 1077, 163, 1085, 1135,
1343 1093,-32768,-32768,-32768,-32768, 10997,-32768, 8490, 8285,-32768,
1344 11179, 11179, 9041, 11179, 11179, 11179, 11179, 11179, 11179, 11179,
1345 11179, 11179, 11179, 11179, 11179, 11179, 11179, 11179, 11179, 11179,
1346 11179, 11179,-32768, 11179,-32768,-32768,-32768,-32768,-32768, 11179,
1347 11179, 11179, 11088, 3603, 516, 1285, 9769,-32768,-32768,-32768,
1348 1145, 2117, 1199, 456, 507, 532, 2322, 536,-32768, 1183,
1349 1183, 3935, 9860, 1117, 1163,-32768,-32768, 581, 10449, 435,
1350 -32768, 691, 477,-32768,-32768, 11179,-32768,-32768,-32768,-32768,
1351 -32768, 256, 588,-32768,-32768, 320,-32768, 2949, 2905,-32768,
1352 -32768, 1147,-32768, 1104, 1157,-32768, 584, 1010,-32768, 9314,
1353 9405,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 152,-32768,
1354 1126, 1111, 701, 2479, 1166, 10997,-32768, 1162,-32768,-32768,
1355 2362, 1868, 1189, 240, 1164, 1168,-32768,-32768, 7010, 647,
1356 -32768, 1170,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1357 1134, 1136,-32768, 1187,-32768,-32768, 461,-32768,-32768,-32768,
1358 -32768, 86, 666, 1194, 1135,-32768,-32768,-32768,-32768, 5416,
1359 12635,-32768, 1142,-32768,-32768,-32768,-32768,-32768, 2431, 2431,
1360 6148,-32768,-32768,-32768,-32768, 3064, 314,-32768, 10541,-32768,
1361 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1080, 1195,-32768,
1362 -32768,-32768, 10633, 1163, 587,-32768,-32768,-32768,-32768, 7408,
1363 7408, 12321, 12321, 12390, 691,-32768,-32768, 12279,-32768, 1200,
1364 -32768,-32768, 1148, 143,-32768, 3074,-32768,-32768, 606, 1192,
1365 -32768, 688, 794,-32768,-32768, 740, 1209,-32768,-32768, 93,
1366 -32768,-32768, 2180,-32768, 1027, 275,-32768, 11179, 6019,-32768,
1367 6019, 200, 200, 213, 592, 6422, 12044, 98, 4739,-32768,
1368 290, 200,-32768, 143, 7613, 10997, 10997,-32768, 10997, 143,
1369 7613,-32768,-32768,-32768,-32768,-32768,-32768, 521, 521, 521,
1370 1806, 320, 1174, 1178, 1190, 12590, 1197, 1198, 1227, 2197,
1371 1231, 1233, 1241,-32768, 1219,-32768,-32768, 1223,-32768,-32768,
1372 1265, 791, 854, 717, 452, 11179, 1271,-32768, 1275, 1236,
1373 12635, 12635,-32768,-32768, 1286, 6755, 12674, 9975, 3700, 6784,
1374 4501, 4541, 3087, 3087, 3087, 1443, 1443, 1240, 1240, 1019,
1375 1019, 1019,-32768,-32768, 1242, 1250, 1237, 1253, 1255, 1257,
1376 5912, 516,-32768, 8950, 11179,-32768,-32768,-32768, 11179,-32768,
1377 -32768, 1274, 11908, 1259, 1291, 1308, 1339,-32768, 11179,-32768,
1378 11179,-32768, 11179, 2542, 1594,-32768,-32768, 1594,-32768, 108,
1379 2542, 1280, 1283,-32768, 1282, 5912, 143,-32768, 143, 1764,
1380 -32768, 7613, 9951, 4993, 4993, 4600, 1289, 11270, 1298, 2191,
1381 3816, 3544, 1826, 1300,-32768,-32768,-32768,-32768,-32768,-32768,
1382 -32768, 11179,-32768, 2174,-32768, 1290,-32768, 12635,-32768, 12635,
1383 727, 1301, 11544,-32768, 1293, 1349,-32768, 320,-32768,-32768,
1384 -32768,-32768,-32768, 1435, 7450,-32768, 5912, 10997,-32768, 1220,
1385 11179,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1386 461,-32768,-32768, 715,-32768, 812, 722, 11179, 1352,-32768,
1387 629, 640, 664, 1135,-32768, 54,-32768, 32,-32768, 2816,
1388 3382, 3382, 4174, 4174, 6148, 4874, 169, 3064,-32768, 4285,
1389 4811, 7958, 7958, 8396, 176, 1305, 764, 2099,-32768, 8950,
1390 8584,-32768, 5912, 847, 847, 1736,-32768,-32768,-32768, 1353,
1391 -32768,-32768,-32768,-32768,-32768,-32768, 2077,-32768, 7613, 12635,
1392 -32768, 4694,-32768, 606, 606,-32768,-32768,-32768,-32768,-32768,
1393 7613, 753, 864, 11179, 1129,-32768, 1354,-32768,-32768,-32768,
1394 506, 702, 2328, 2625, 735, 200, 1359,-32768, 872, 1357,
1395 606, 4881,-32768,-32768,-32768, 606,-32768, 1315, 320, 320,
1396 320,-32768, 1318, 143, 7613, 143, 7613,-32768,-32768,-32768,
1397 -32768,-32768,-32768,-32768, 5912,-32768,-32768, 1335, 1336, 1337,
1398 1341, 1134,-32768, 12498, 8950, 8677, 1323,-32768, 11179,-32768,
1399 -32768,-32768,-32768,-32768, 505, 1327,-32768,-32768, 1328, 241,
1400 1258, 1258, 1326, 1258, 11179,-32768, 11908, 1437, 10997,-32768,
1401 1340, 1344, 1347,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1402 -32768,-32768, 143, 1350,-32768, 1338, 2191,-32768,-32768, 4384,
1403 4384, 6257,-32768,-32768,-32768,-32768,-32768, 12635,-32768,-32768,
1404 -32768,-32768, 177, 1356,-32768,-32768,-32768,-32768,-32768,-32768,
1405 -32768, 12657,-32768,-32768,-32768, 1360,-32768, 359,-32768, 11179,
1406 -32768, 11179,-32768, 11179,-32768, 2174,-32768,-32768, 8192, 1414,
1407 -32768, 8768,-32768, 4874, 3382, 3382, 5186, 5186, 6632,-32768,
1408 867, 4285, 1361, 1218, 878, 986, 1025, 706,-32768,-32768,
1409 -32768,-32768,-32768,-32768, 301, 2438, 2438, 1396, 1396, 8950,
1410 -32768,-32768, 1551,-32768,-32768,-32768, 143, 1367,-32768, 1400,
1411 1400, 143, 1378, 11179, 11179, 7212, 606, 6849, 606, 606,
1412 6251, 606, 8097,-32768,-32768, 5105, 1400,-32768,-32768, 1433,
1413 -32768,-32768,-32768, 1386,-32768, 1387, 1389, 11179, 11179, 11179,
1414 11179, 8950,-32768, 1436,-32768,-32768, 12635, 11179,-32768, 505,
1415 -32768,-32768,-32768,-32768,-32768,-32768, 1392,-32768, 1458, 320,
1416 -32768,-32768,-32768, 143,-32768,-32768,-32768,-32768,-32768, 11179,
1417 -32768,-32768,-32768,-32768, 1399, 1401, 1409, 1439,-32768, 1069,
1418 312, 1470, 927, 929,-32768,-32768,-32768,-32768,-32768, 11179,
1419 1474, 1477, 1479, 10724, 193, 2174, 816, 924,-32768,-32768,
1420 10815, 1535,-32768,-32768,-32768, 1484,-32768, 6378, 12113, 3676,
1421 5757,-32768,-32768, 1532,-32768,-32768,-32768, 10060,-32768,-32768,
1422 1931, 1931, 691, 2043, 1180, 5912,-32768,-32768, 8950,-32768,
1423 -32768,-32768,-32768,-32768,-32768,-32768, 7212, 7212,-32768, 1400,
1424 1020, 958, 11179,-32768,-32768,-32768, 1129, 1129, 1400, 1400,
1425 663, 1400,-32768,-32768,-32768, 143, 143,-32768,-32768,-32768,
1426 1441, 1449, 1456, 1457,-32768, 8950, 1455,-32768,-32768,-32768,
1427 -32768,-32768, 143, 1459,-32768,-32768,-32768,-32768, 1439,-32768,
1428 2174,-32768,-32768,-32768,-32768,-32768,-32768, 689, 689, 1135,
1429 1476, 1482, 12421,-32768,-32768,-32768,-32768, 1509, 11179, 1511,
1430 1517, 1521, 2293, 2302,-32768, 1135,-32768,-32768, 1490,-32768,
1431 -32768, 1129, 1082,-32768, 1102, 1129, 10906, 1113, 315,-32768,
1432 -32768,-32768,-32768,-32768,-32768, 3180, 3180, 4229, 2567,-32768,
1433 -32768, 143, 143,-32768,-32768,-32768, 11179, 11179, 7212, 606,
1434 606,-32768,-32768,-32768, 7720,-32768,-32768, 143, 143,-32768,
1435 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1495,-32768,-32768,
1436 -32768, 11088,-32768,-32768,-32768, 1574, 10356, 6522, 11088, 11179,
1437 -32768, 10168,-32768, 1534,-32768,-32768, 1538,-32768, 1521, 2293,
1438 -32768,-32768, 844,-32768,-32768, 11635, 11635, 8859,-32768,-32768,
1439 1135, 2567,-32768,-32768, 7212, 7212,-32768, 1400, 1400,-32768,
1440 9496,-32768,-32768,-32768,-32768, 8058,-32768,-32768, 1489, 338,
1441 2949, 1135, 10262,-32768,-32768, 54,-32768,-32768, 1540, 1494,
1442 12613, 10168,-32768,-32768,-32768,-32768, 1439, 83,-32768,-32768,
1443 -32768,-32768,-32768, 1497, 12520, 1503, 1499, 1506, 1135,-32768,
1444 1129,-32768,-32768,-32768,-32768, 696,-32768, 9132,-32768,-32768,
1445 -32768,-32768, 1439, 1600, 1600, 1555,-32768,-32768,-32768, 511,
1446 461,-32768,-32768,-32768, 606, 54,-32768, 11179, 1560,-32768,
1447 1563,-32768, 1135, 10168, 1533, 728, 1567,-32768, 191,-32768,
1448 141,-32768, 1565,-32768, 1523,-32768,-32768,-32768,-32768, 11179,
1449 1622, 1575, 1600, 1622, 1600, 1576,-32768, 126,-32768,-32768,
1450 -32768, 9223, 1530,-32768, 335,-32768,-32768, 386, 739,-32768,
1451 -32768, 8950, 1537,-32768, 1632, 1585, 1586, 1622, 1589,-32768,
1452 -32768,-32768,-32768,-32768, 395,-32768, 10262, 1596,-32768,-32768,
1453 1659, 1660,-32768
1456 static const short yypgoto[] = {-32768,
1457 1662,-32768, -325, 1493, -406, 95, -1, 1666,-32768, 1629,
1458 -32768,-32768, 255,-32768, 387,-32768, 402,-32768, 218, 980,
1459 39, 15,-32768,-32768, -646,-32768,-32768, 682, 41, 1512,
1460 1239, 1528, -733, 72, -170, 14, -18,-32768,-32768,-32768,
1461 -32768,-32768, 859,-32768,-32768,-32768,-32768,-32768,-32768, 487,
1462 2024,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1463 -32768,-32768, 1603, -664, 7209, 1460, 21, -600, -23, -70,
1464 1559, -550,-32768, 2274,-32768, 264,-32768, -1396,-32768, -1363,
1465 28,-32768, 856, 1128, -279,-32768, -843, 6903, 799, 1294,
1466 5180, 1405, -341, -57, -93, 1818, -133, -37, -6,-32768,
1467 -32768,-32768, -347,-32768, -155,-32768,-32768, -1277, -50, -328,
1468 3365, 145, 381, -140, 56, 122, -199, -4, -173, -162,
1469 -160, 0, -44, 64,-32768, -400,-32768,-32768,-32768,-32768,
1470 -32768, -86, 1520, 455,-32768, 736,-32768,-32768, -1155, -454,
1471 978,-32768,-32768,-32768,-32768,-32768, 30,-32768,-32768,-32768,
1472 -32768,-32768,-32768, 1046, -379,-32768,-32768,-32768,-32768,-32768,
1473 -32768,-32768, 1480,-32768, 471, 658,-32768,-32768,-32768, 624,
1474 -758,-32768,-32768,-32768,-32768,-32768,-32768, 900,-32768, 458,
1475 1052,-32768, 758, 1110, 2844, 24, 1536, 2425, -22,-32768,
1476 -511,-32768, 33, 1440, 1950, -142, 117, -110, 5948, 1397,
1477 -32768, 6647, 2794, 2259, -13, -105,-32768, 1612, -47,-32768,
1478 5846, 4023, -333,-32768, 2771, -243,-32768,-32768, 398,-32768,
1479 -32768, 543, 128, -414,-32768,-32768,-32768,-32768, -1428,-32768,
1480 -1247, -1435,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1481 -32768,-32768,-32768,-32768,-32768,-32768, 125,-32768,-32768,-32768,
1482 -32768,-32768, 189, -1351,-32768,-32768, -49,-32768,-32768,-32768,
1483 -32768, -1443, -1362,-32768, 127, -1429, -679, -132, 1006,-32768,
1484 -32768,-32768,-32768, -391,-32768, -388, -171,-32768, 1084, 401,
1485 -32768, 148,-32768, -204
1489 #define YYLAST 12759
1492 static const short yytable[] = { 59,
1493 1024, 182, 36, 446, 197, 438, 423, 426, 742, 122,
1494 509, 660, 447, 711, 811, 448, 712, 659, 42, 360,
1495 395, 361, 435, 403, 650, 710, 155, 72, 557, 559,
1496 59, 250, 200, 36, 303, 870, 727, 59, 209, 401,
1497 402, 177, 257, 738, 514, 517, 103, 535, 528, 42,
1498 692, 1005, 210, 141, 146, 174, 42, 479, 72, 57,
1499 1071, 590, 1073, 999, 966, 72, 411, 248, 1147, 508,
1500 1103, 178, 526, 1457, 1569, 400, 394, 1509, 516, 301,
1501 170, 1565, 171, 353, 629, 353, 1216, 353, 222, 711,
1502 57, 1222, 768, 629, 89, 452, 629, 176, 35, 1065,
1503 254, 547, 353, 353, 1383, 1384, 257, 302, 647, 651,
1504 654, 798, 1579, 1472, 90, 264, 1006, 406, 455, 746,
1505 1475, 1405, 1570, -1, 197, 58, 735, 1595, 833, 35,
1506 1066, 409, 353, 1592, 353, 1100, 169, 1604, 367, 86,
1507 1223, 1647, 155, 155, 155, 1605, 241, 650, 55, 158,
1508 242, 538, 200, 547, 663, 1108, 58, 209, 774, 72,
1509 59, 1113, 1217, 58, 59, 868, 257, 747, 177, 512,
1510 748, 210, 422, 425, 8, 9, -356, 536, 443, 55,
1511 456, 724, 174, 42, 736, 476, 175, 87, 72, 155,
1512 1606, 408, 72, 1012, 1638, 95, 110, 111, 178, -356,
1513 200, 1622, 1597, 456, 775, 300, 1101, 170, 1663, 171,
1514 613, 981, 457, 477, 1658, 869, -597, 490, 493, 366,
1515 57, 1022, 537, -302, 176, -2, 15, 130, 131, 754,
1516 -415, 647, 651, 654, 1486, 457, 1320, 1076, 1675, 222,
1517 1567, 1595, 1629, 1492, 1493, 1644, 1494, 222, 222, 112,
1518 113, 1509, 1634, 1645, 762, 614, 635, 58, 38, 982,
1519 -415, -597, -597, 169, -415, 158, 158, 158, -302, -302,
1520 -295, 1077, 1174, 1449, 1573, 1078, -597, 222, 127, 128,
1521 407, 264, 1659, -295, 1321, 700, 58, 542, 639, 38,
1522 58, 666, 634, 88, 313, 732, 626, 248, 1646, 995,
1523 94, 1299, 763, 1184, 93, 764, 1187, 1079, -415, 55,
1524 26, 475, 158, 175, 660, 996, 261, 8, 9, 10,
1525 1025, 1010, 1011, 994, 1602, 95, 96, 97, 353, 26,
1526 222, 130, 131, 773, 514, 517, 664, 665, 1203, 1204,
1527 695, 301, 514, 107, 667, 216, 217, 1198, 1302, 248,
1528 1104, 14, 423, 426, 517, 21, 714, 353, 669, 1013,
1529 1376, 1014, 802, 803, 435, 108, 163, 985, 796, 302,
1530 27, 262, 1433, 517, 20, 1433, 1639, 26, 746, 98,
1531 99, 100, 222, 23, 200, 639, 72, 717, 718, 1258,
1532 39, 264, 1582, 1583, 1665, 583, 613, 584, 1105, 109,
1533 709, 1263, 32, 210, 164, 40, 1015, 630, 1377, 261,
1534 397, 398, 10, 26, 631, 1016, 1017, 462, 408, 703,
1535 1434, 39, 752, 1540, 758, 760, 747, 535, 477, 748,
1536 773, -831, 127, 128, 463, 1284, 40, 1286, 222, 135,
1537 59, 614, 1666, -576, 177, 1665, -576, 1201, 21, 800,
1538 200, 1018, 200, 200, 1665, 632, 1418, 137, 729, 1148,
1539 1252, 26, 464, 27, 262, 651, 777, 300, 72, 210,
1540 223, 224, 248, 799, 178, 777, 709, 366, 655, 200,
1541 8, 9, 948, 852, 58, 130, 131, 200, 155, 155,
1542 155, 639, 161, 1667, -576, 633, -576, -576, 189, -576,
1543 176, 844, 1678, 928, 477, 222, 138, 668, 822, 253,
1544 -576, 91, -576, 162, -145, 353, 225, 1103, 780, 781,
1545 1318, 1319, 59, 656, 127, 128, 475, -576, -576, 538,
1546 -365, 92, 15, 130, 131, 183, 773, 222, 222, 127,
1547 128, 187, -576, 190, 191, 222, 845, 825, 929, 353,
1548 72, 353, 913, 353, 930, 811, 1009, 222, 353, 860,
1549 860, 860, 860, 913, -365, 791, 58, 179, -365, 914,
1550 473, 353, 188, 797, 626, 26, 222, 130, 131, 932,
1551 914, 353, 827, 700, 353, 189, 95, 110, 111, 175,
1552 991, 548, 130, 131, 225, 1239, 1241, 915, 1298, 931,
1553 -365, 549, 475, 711, 223, 449, 712, 990, 915, 1215,
1554 225, 158, 158, 158, 660, 710, 651, 969, 353, 301,
1555 659, 819, 514, 15, 933, 988, 138, -415, 951, 377,
1556 190, 504, 1062, 1063, 1052, 378, 18, 709, 1067, 1080,
1557 112, 113, 967, 671, 476, 200, 139, 302, 58, 95,
1558 96, 97, 244, 226, 227, 228, -415, -415, 760, 246,
1559 547, -415, 304, 935, 938, 477, 1013, 225, 1014, 802,
1560 803, 826, 477, 952, 953, 225, 1209, 18, 590, 1053,
1561 1293, 1295, 530, 229, 1081, 264, 200, 1211, 122, 91,
1562 1164, 353, 225, 138, 8, 9, 1022, 1164, 222, 365,
1563 660, 26, 479, 98, 99, 230, 1236, 395, 479, 92,
1564 842, 1213, 1060, 1015, 502, 503, 1164, 91, 257, 1023,
1565 26, 1210, 1016, 1017, -128, -128, -366, 531, 15, 95,
1566 110, 111, 1212, 685, 686, 687, 1511, 92, 222, 366,
1567 375, 811, 380, 1617, 155, 300, 709, 130, 131, 231,
1568 232, 233, 155, -280, 476, 843, 1214, 663, 1018, -120,
1569 -366, 15, 90, 475, -366, 1109, 1110, 1295, 1111, 379,
1570 475, 253, 1031, 1032, 477, 1086, 383, 1074, 1075, -144,
1571 304, 1512, 477, 112, 113, 473, 1164, 1106, 1618, 264,
1572 1641, 137, 1164, -120, 384, 1378, -366, -120, -280, -280,
1573 822, 1668, 822, 1091, 404, 1054, 1055, 1085, 1095, -7,
1574 822, -622, -295, -280, 59, 1264, 59, 1303, 1304, 479,
1575 1306, 774, 210, 428, 59, 222, 435, 88, 1121, -120,
1576 709, 353, 353, 436, 353, 1642, 709, 1415, -617, 825,
1577 1205, 825, 72, 1238, 72, 89, 1669, 825, 381, 825,
1578 8, 9, 72, -142, 307, 247, -622, -622, 477, 164,
1579 129, 473, 510, 511, 477, 90, 382, 158, 92, 586,
1580 26, -622, 475, 1452, 827, 158, 827, 18, 127, 128,
1581 475, 450, 216, 217, 827, 583, 137, 584, 14, 222,
1582 423, 426, 1253, 1254, 1255, 454, -118, 1648, 15, 423,
1583 426, 26, 435, 130, 131, 451, 860, 225, 91, 466,
1584 1150, 20, 520, 819, -596, 819, -143, 1246, 89, 543,
1585 23, 544, 639, 819, 1481, -281, 1265, 1247, 92, 26,
1586 -118, 130, 131, 1164, -118, 545, 479, 546, 90, 1248,
1587 58, 860, 58, 225, 555, 640, 586, 709, 479, 562,
1588 58, 476, 225, 502, 730, 641, 475, 127, 128, -596,
1589 -596, 1504, 475, 826, 1197, 1072, -118, 649, 643, 225,
1590 -281, -281, 15, 826, -596, 477, -415, 935, 938, 477,
1591 1164, 89, 479, 91, 479, -281, 1455, 1260, 1261, 1436,
1592 709, 1437, 860, 353, 264, 1118, 1119, 1120, 137, 563,
1593 257, 90, 564, 92, 565, -415, -415, 777, 26, 703,
1594 130, 131, 89, 777, 1275, 95, 110, 111, 477, 1277,
1595 1488, 1086, 473, 566, 548, 1515, 155, 155, 155, 473,
1596 709, 774, 90, -279, 549, 155, 155, 155, 567, 476,
1597 1267, 1532, 629, 435, 679, 469, 1269, 1270, 860, 1091,
1598 1267, 1272, 680, 1085, 1270, 257, 1225, 1226, 477, 682,
1599 261, 397, 398, 10, 709, 1225, 1226, 477, 683, 112,
1600 113, 114, -623, 475, 1068, 684, 709, 475, -279, -279,
1601 264, 91, 1487, 822, 696, 1279, 1280, 1281, 1310, 697,
1602 435, 90, 477, -279, 88, 510, 731, 59, 92, 21,
1603 -6, 92, 611, 612, 477, 721, 252, 725, 560, 561,
1604 709, 744, 709, 254, 27, 262, 475, -623, -623, 1069,
1605 860, 745, 825, 761, 570, 72, 1515, 571, 1431, 1432,
1606 572, 473, -623, 582, 116, 117, 118, 587, 477, 473,
1607 477, 502, 1534, -830, 770, 628, 32, 1515, 772, 158,
1608 158, 158, 787, -184, 353, 15, 475, 827, 158, 158,
1609 158, 510, 1535, 836, 711, 475, 837, 1588, 137, -184,
1610 838, -184, 502, 1539, 1614, 839, 846, 709, 847, 1389,
1611 1390, 864, 1399, 1400, 866, 1402, 127, 128, 119, 120,
1612 475, 13, 867, 736, 1023, 1463, 819, 1468, 1465, 925,
1613 869, 777, 475, 935, 938, 477, 927, 1670, 1515, 946,
1614 948, 972, 973, 18, 1360, 473, 974, 1352, 983, 984,
1615 987, 473, 989, 58, 709, 20, 777, -304, 997, -304,
1616 639, 774, 998, 738, 1001, 1164, 475, 26, 475, 130,
1617 131, -298, 72, 1007, -304, 1397, 826, 1008, -304, 1029,
1618 1371, 1372, 477, 640, 216, 217, 456, 822, 1058, 1050,
1619 14, 127, 128, 641, 1057, -304, 538, 1061, 1064, 1054,
1620 1055, 59, -304, -304, 1359, 642, 643, -304, -304, -52,
1621 -304, 1122, -304, 20, -52, 1123, 1421, -298, 127, 128,
1622 261, 542, 23, 10, 520, -52, 825, 1124, 1164, 72,
1623 1484, 1485, 1128, 475, 1126, 1127, 1129, 1462, 1130, 1462,
1624 -304, -304, 26, 1351, 130, 131, 1131, 470, 18, 469,
1625 608, 609, 610, 611, 612, -304, 1132, -141, 917, 21,
1626 1133, 827, 473, 1135, 1136, 200, 473, 200, 918, 26,
1627 58, 130, 131, 1138, 429, 430, 1360, 1142, 1139, 1140,
1628 475, 919, 1490, 1491, 210, 917, 1360, 1141, 431, 1352,
1629 547, 1143, 1144, 1360, 1145, 918, 1352, 1155, 432, 1157,
1630 819, 860, 570, 571, 72, 473, 32, 1578, 919, 1158,
1631 433, 343, 1159, 343, 72, 343, 1160, 1167, 225, 222,
1632 1168, 72, 1169, 423, 426, 225, 1178, 58, 1190, 8,
1633 9, 1195, 1547, 1548, 1549, 1179, 1359, 1183, 1192, 1196,
1634 469, 1208, 1234, 1268, 225, 473, 1359, 1251, 1273, 1274,
1635 826, 512, 1278, 1359, 473, 1282, 18, 1288, 1289, 1290,
1636 343, 1296, 343, 1291, 1300, 1301, 1305, 95, 110, 111,
1637 1632, 226, 227, 228, 1309, 1351, 1216, 1311, 1317, 473,
1638 26, 1312, 130, 131, 1313, 1351, 777, 1316, 1580, 1581,
1639 155, 473, 1351, 1322, 463, 18, 1246, 1323, 1375, 469,
1640 147, 229, 58, 709, 1382, 469, 1247, 469, 469, 215,
1641 216, 217, 58, 471, 225, 1386, 14, -661, 1248, 58,
1642 225, 112, 113, 1408, 1409, 473, 1410, 473, 1416, 1371,
1643 1372, 477, 1419, 18, 469, 1420, 1425, 1560, 1426, 20,
1644 1591, 469, 1360, 1360, 1560, 1352, 1427, 1360, 23, 777,
1645 1352, 606, 607, 608, 609, 610, 611, 612, 1633, 155,
1646 155, 155, 1435, 353, 1428, 302, 1444, 1445, 200, 1446,
1647 72, 72, 302, 1458, 1460, 72, 1615, 1473, 1500, 140,
1648 140, 709, 156, 116, 802, 803, 1501, 804, 1360, 780,
1649 781, 1352, 473, 1502, 1503, 1505, 1507, 1360, 1518, 1523,
1650 1352, 1525, 1359, 1359, 1519, 1526, 213, 1359, 221, 477,
1651 414, 378, 1533, 158, 238, 416, 72, 1556, 805, 222,
1652 1564, 743, 1575, 1560, 1574, 72, 1590, 127, 128, 475,
1653 1599, 1600, 247, 1607, 1609, 26, 1612, 119, 120, 473,
1654 1625, 1351, 1351, 1613, 469, 1630, 1351, 568, 1359, 1360,
1655 1636, 302, 1352, 1637, 18, 1640, 1643, 1359, 469, 1650,
1656 1651, 225, 1654, 300, 147, 1656, 1660, 1664, 58, 58,
1657 300, 639, 1672, 58, 1671, 1673, 1674, 72, 26, 1676,
1658 130, 131, 158, 158, 158, 343, 1680, 1351, 1682, 1683,
1659 140, 1, 445, 160, 640, 140, 1351, 5, 156, 156,
1660 156, 1530, 1360, 986, 641, 1352, 1199, 475, 225, 1359,
1661 444, 1631, 853, 728, 58, 1096, 642, 643, 261, 8,
1662 9, 10, 442, 58, 1324, 213, 363, 412, 522, 539,
1663 72, 453, 1514, 225, 1679, 385, 386, 387, 554, 7,
1664 8, 9, 10, 489, 489, 498, 1191, 1028, 1351, 300,
1665 975, 1156, 525, 1380, 1256, 1276, 1098, 21, 976, 221,
1666 1403, 1189, 1359, 912, 252, 393, 505, 515, 221, 8,
1667 9, 905, 27, 262, 538, 58, 636, 906, 21, 908,
1668 909, 388, 570, 571, 639, 1649, 741, 471, 1471, 389,
1669 390, 26, 1369, 27, 28, 1603, 18, 127, 128, 1657,
1670 469, 1351, 538, 1049, 32, 1661, 1480, 749, 0, 140,
1671 0, 0, 0, 964, 469, 0, 469, 750, 469, 0,
1672 26, 0, 130, 131, 18, 32, 0, 0, 58, 751,
1673 643, 0, 0, 0, 0, 0, 1246, 0, 0, 127,
1674 128, 639, 0, 343, 0, 0, 1247, 0, 26, 0,
1675 130, 131, 0, 0, 0, 0, 0, 0, 1248, 8,
1676 9, 0, 0, 0, 640, 0, 0, 0, 469, 0,
1677 570, 571, 0, 0, 641, 0, 0, 343, 471, 0,
1678 153, 0, 156, 0, 366, 856, 642, 643, 473, 0,
1679 0, 719, 130, 131, 720, 0, 116, 117, 118, 0,
1680 385, 386, 387, 469, 366, 0, 723, 1059, 0, 343,
1681 0, 741, 130, 131, 881, 882, 541, 886, 887, 888,
1682 889, 890, 891, 892, 893, 894, 895, 896, 897, 898,
1683 899, 900, 901, 902, 903, 904, 541, 471, 7, 8,
1684 9, 10, 0, 471, 0, 471, 471, 1107, 26, 0,
1685 119, 120, 26, 1112, 389, 390, 0, 213, 221, 414,
1686 0, 0, 416, 225, 8, 9, 473, 0, 0, 247,
1687 0, 140, 471, 0, 140, 0, 539, 21, 0, 471,
1688 156, 156, 156, 76, 0, 1308, 140, 0, 0, 0,
1689 26, 18, 27, 28, 0, 0, 193, 424, 427, 0,
1690 0, 0, 0, 978, 980, 0, 194, 0, 639, 0,
1691 0, 0, 0, 0, 76, 26, 195, 130, 131, 343,
1692 0, 76, 0, 213, 32, 221, 225, 0, 196, 0,
1693 0, 1476, 0, 0, 202, 0, 214, 0, 0, 489,
1694 0, 1477, 489, 153, 498, 498, 498, 95, 96, 97,
1695 453, 0, 0, 1478, 643, 0, 489, 515, 221, 0,
1696 1170, 453, 1171, 741, 0, 515, 0, 101, 0, 0,
1697 0, 0, 1149, 0, 0, 115, 8, 9, 453, 0,
1698 0, 538, 471, 0, 0, 0, 1161, 0, 1162, 0,
1699 1163, 0, 0, 366, 0, 469, 471, 469, 0, 469,
1700 0, 98, 99, 18, 0, 156, 0, 156, 0, 116,
1701 802, 803, 0, 0, 0, 410, 0, 0, 234, 413,
1702 639, 0, 0, 156, 156, 156, 0, 26, 0, 130,
1703 131, 1235, 8, 9, 10, 0, 0, 0, 156, 0,
1704 1194, 1070, 0, 1476, 76, 0, 0, 0, 76, 95,
1705 110, 111, 532, 1477, 202, 214, 95, 417, 418, 343,
1706 343, 26, 343, 119, 120, 1478, 643, 313, 658, 0,
1707 21, 0, 0, 0, 0, 1206, 0, 391, 0, 582,
1708 579, 0, 0, 26, 0, 27, 262, 0, 21, 934,
1709 934, 941, 95, 96, 97, 0, 0, 0, 960, 1134,
1710 0, 419, 202, 112, 113, 469, 95, 110, 111, 0,
1711 98, 113, 116, 802, 803, 0, 0, 32, 221, 147,
1712 0, 0, 0, 261, 127, 128, 10, 1283, 0, 1285,
1713 127, 128, 0, 0, 216, 217, 0, 741, 471, 0,
1714 14, 0, 0, 0, 0, 0, 98, 99, 0, 719,
1715 720, 18, 471, 0, 471, 0, 471, 723, 221, 238,
1716 112, 113, 21, 20, 0, 0, 119, 120, 639, 0,
1717 0, 0, 23, 0, 639, 26, 0, 27, 262, 424,
1718 722, 26, 0, 130, 131, 0, 1315, 0, 0, 0,
1719 0, 1180, 521, 523, 0, 1188, 0, 640, 1030, 1030,
1720 1036, 1181, 0, 0, 0, 533, 471, 641, 1036, 32,
1721 0, 0, 0, 1182, 643, 0, 0, 0, 0, 642,
1722 643, 343, 156, 0, 1202, 95, 110, 111, 0, 489,
1723 489, 498, 498, 498, 95, 110, 111, 489, 0, 0,
1724 0, 471, 670, 424, 427, 515, 0, 0, 453, 0,
1725 0, 0, 469, 0, 261, 127, 128, 10, 0, 0,
1726 7, 8, 251, 10, 570, 571, 0, 1325, 259, 1326,
1727 1381, 1327, 0, 741, 741, 1385, 213, 0, 569, 112,
1728 1527, 0, 0, 0, 0, 0, 202, 0, 112, 1529,
1729 0, 0, 259, 21, 261, 397, 398, 10, 0, 21,
1730 252, 0, 0, 579, 0, 579, 252, 1266, 27, 262,
1731 369, 373, 0, 0, 27, 28, 0, 0, 0, 678,
1732 0, 259, 424, 865, 76, 0, 0, 1422, 688, 0,
1733 0, 0, 259, 21, 0, 0, 579, 0, 253, 0,
1734 32, 678, 0, 0, 0, 0, 32, 0, 27, 262,
1735 0, 0, 202, 755, 202, 202, 0, 0, 741, 741,
1736 766, 0, 1297, 7, 8, 9, 10, 0, 413, 13,
1737 0, 8, 9, 0, 0, 0, 13, 1424, 0, 0,
1738 32, 202, 343, 0, 934, 0, 0, 934, 0, 202,
1739 0, 18, 259, 0, 486, 0, 959, 0, 18, 934,
1740 414, 416, 21, 1177, 1177, 960, 832, 0, 639, 539,
1741 0, 261, 397, 398, 10, 26, 0, 27, 28, 1496,
1742 1497, 0, 26, 0, 130, 131, 0, 259, 0, 0,
1743 0, 749, 0, 471, 0, 471, 1506, 471, 1246, 0,
1744 0, 750, 0, 238, 0, 741, 0, 0, 1247, 32,
1745 21, 0, 0, 751, 643, 259, 0, 0, 0, 0,
1746 1248, 0, 0, 26, 0, 27, 262, 0, 0, 0,
1747 0, 0, 0, 741, 0, 127, 128, 801, 0, 0,
1748 1030, 1030, 1224, 1224, 1036, 0, 0, 1387, 1388, 1030,
1749 0, 1224, 1224, 1036, 615, 1543, 1544, 32, 153, 0,
1750 8, 9, 18, 1249, 1249, 1249, 1046, 0, 0, 0,
1751 0, 1554, 1555, 0, 0, 741, 0, 0, 0, 639,
1752 959, 0, 0, 453, 453, 0, 26, 18, 130, 131,
1753 424, 722, 0, 616, 617, 0, 577, 618, 619, 620,
1754 621, 877, 640, 471, 639, 0, 259, 202, 491, 494,
1755 453, 26, 641, 130, 131, 453, 0, 261, 127, 128,
1756 10, 0, 0, 1443, 642, 643, 0, 1476, 0, 0,
1757 7, 8, 9, 10, 215, 216, 217, 1477, 0, 0,
1758 0, 14, 127, 128, 0, 926, 0, 0, 202, 1478,
1759 643, 0, 0, 0, 719, 720, 21, 0, 18, 0,
1760 0, 723, 741, 259, 20, 0, 0, 0, 0, 21,
1761 0, 27, 262, 23, 0, 639, 1489, 0, 0, 0,
1762 0, 0, 26, 0, 27, 28, 639, 0, 0, 1177,
1763 1177, 960, 0, 26, 0, 130, 131, 0, 749, 741,
1764 215, 216, 217, 32, 0, 0, 0, 14, 750, 640,
1765 0, 0, 0, 0, 0, 993, 32, 0, 0, 641,
1766 759, 643, 0, 1000, 18, 0, 0, 0, 0, 0,
1767 20, 642, 643, 0, 1030, 1030, 1224, 1224, 1036, 23,
1768 0, 1030, 127, 128, 0, 7, 127, 128, 10, 0,
1769 471, 0, 0, 877, 715, 1249, 1249, 1249, 832, 0,
1770 832, 0, 424, 865, 0, 1092, 1099, 793, 832, 0,
1771 1545, 1546, 259, 0, 0, 453, 453, 0, 453, 453,
1772 0, 453, 0, 129, 21, 0, 0, 80, 0, 0,
1773 0, 252, 0, 26, 0, 130, 131, 104, 259, 27,
1774 28, 0, 0, 1571, 0, 0, 0, 133, 7, 8,
1775 9, 10, 0, 144, 144, 0, 144, 0, 80, 577,
1776 0, 577, 0, 253, 0, 80, 857, 0, 0, 0,
1777 0, 32, 0, 0, 1585, 0, 18, 0, 204, 577,
1778 80, 424, 427, 0, 0, 0, 0, 21, 239, 0,
1779 424, 1233, 577, 639, 0, 104, 884, 0, 0, 0,
1780 26, 0, 27, 28, 0, 0, 267, 104, 213, 221,
1781 0, 0, 0, 0, 0, 0, 749, 0, 0, 0,
1782 1479, 1479, 0, 1479, 907, 259, 750, 0, 0, 104,
1783 924, 0, 0, 0, 32, 0, 453, 453, 751, 643,
1784 259, 215, 216, 217, 778, 0, 945, 779, 14, 491,
1785 494, 0, 0, 0, 0, 260, 0, 133, 0, 80,
1786 0, 795, 0, 144, 144, 18, 0, 0, 415, 144,
1787 0, 20, 144, 144, 144, 0, 0, 0, 0, 0,
1788 23, 7, 8, 9, 10, 741, 0, 0, 80, 0,
1789 0, 0, 80, 0, 0, 970, 0, 0, 204, 80,
1790 0, 0, 7, 127, 128, 10, 0, 0, 13, 413,
1791 0, 0, 0, 0, 0, 0, 498, 204, 204, 204,
1792 21, 0, 0, 0, 0, 1479, 1479, 1542, 424, 722,
1793 18, 0, 437, 26, 688, 27, 28, 0, 453, 453,
1794 453, 21, 0, 0, 259, 0, 204, 993, 0, 194,
1795 0, 1092, 0, 0, 26, 0, 27, 28, 0, 195,
1796 0, 0, 0, 524, 0, 488, 0, 32, 0, 0,
1797 30, 196, 104, 259, 0, 424, 722, 0, 507, 0,
1798 31, 832, 0, 144, 0, 498, 498, 498, 32, 0,
1799 0, 0, 33, 0, 453, 453, 7, 8, 9, 10,
1800 814, 0, 7, 8, 815, 10, 167, 12, 13, 0,
1801 513, 216, 217, 14, 0, 0, 0, 14, 0, 0,
1802 0, 0, 0, 0, 0, 104, 550, 16, 0, 17,
1803 18, 19, 0, 0, 18, 21, 20, -520, 0, 259,
1804 20, 21, 252, 0, 0, 23, 816, 0, 168, 23,
1805 27, 28, 0, 0, 26, 0, 27, 28, 0, 0,
1806 817, 0, 818, 0, 453, 0, 0, 0, 0, 104,
1807 30, 0, 0, 637, 253, 550, 550, 652, 0, 0,
1808 31, 0, 32, 0, 0, 0, 80, 0, 32, 1294,
1809 0, 0, 33, 604, 605, 606, 607, 608, 609, 610,
1810 611, 612, 0, 491, 494, 0, 0, 0, -520, 0,
1811 0, 0, 0, 8, 9, 0, 0, 0, 13, 133,
1812 0, 0, 1153, 0, 0, 0, 0, 0, 104, 0,
1813 204, 104, 0, 0, 778, 779, 491, 494, 0, 0,
1814 18, 0, 795, 0, 0, 144, 0, 1398, 144, 259,
1815 0, 259, 1398, 0, 0, 832, 1176, 639, 0, 577,
1816 144, 0, 0, 0, 26, 0, 130, 131, 80, 1329,
1817 0, 0, 0, 0, 0, 1294, 0, 0, 0, 0,
1818 1476, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1819 1477, 0, 0, 0, 0, 0, 204, 756, 204, 204,
1820 652, 0, 1478, 643, 756, 0, 0, 0, 0, 0,
1821 0, 0, 204, 204, 1046, 0, 204, 0, 204, 204,
1822 204, 785, 0, 0, 0, 204, 259, 0, 0, 259,
1823 204, 0, 0, 204, 0, 0, 0, 202, 1466, 202,
1824 7, 8, 9, 10, 167, 12, 13, 577, 0, 0,
1825 80, 14, 0, 0, 0, 0, 0, 0, 261, 8,
1826 540, 10, 0, 0, 0, 16, 0, 17, 18, 19,
1827 0, 0, 0, 788, 20, 851, 0, 0, 794, 21,
1828 0, 259, 0, 23, 424, 1233, 168, 104, 104, 104,
1829 104, 0, 26, 0, 27, 28, 0, 21, 1450, 1451,
1830 0, 0, 0, 834, 252, 0, 0, 0, 30, 840,
1831 0, 0, 27, 262, 7, 8, 9, 10, 31, 0,
1832 247, 848, 849, 0, 850, 0, 32, 0, 0, 0,
1833 33, 0, 0, 0, 34, 0, 541, 0, 0, 0,
1834 936, 939, 18, 0, 32, 0, 0, 104, 0, 550,
1835 0, 0, 0, 21, 0, 0, 0, 0, 1307, 639,
1836 0, 637, 0, 550, 550, 652, 26, 0, 27, 28,
1837 0, 0, 961, 0, 0, 0, 963, 0, 0, 0,
1838 0, 0, 749, 0, 1510, 778, 779, 491, 494, 0,
1839 0, 204, 750, 0, 795, 0, 491, 494, 0, 0,
1840 32, 372, 374, 0, 751, 643, 1528, 1531, 778, 779,
1841 795, 8, 9, 0, 0, 12, 13, 133, 949, 950,
1842 0, 14, 0, 949, 133, 0, 0, 0, 0, 0,
1843 0, 0, 204, 239, 0, 16, 0, 17, 0, 0,
1844 202, 0, 0, 0, 20, 0, 0, 0, 0, 936,
1845 939, 0, 0, 23, 0, 0, 0, 0, 0, 259,
1846 0, 0, 26, 0, 130, 131, 622, 0, 0, 0,
1847 0, 0, 204, 204, 1038, 0, 657, 8, 9, 10,
1848 1041, 0, 1038, 1576, 472, 0, 0, 0, 0, 0,
1849 0, 1411, 1412, 1413, 1414, 0, 0, 0, 0, 0,
1850 623, 1417, 0, 204, 204, 785, 785, 785, 0, 0,
1851 0, 204, 313, 658, 0, 21, 0, 0, 0, 0,
1852 0, 0, 0, 0, 0, 0, 1040, 0, 26, 0,
1853 130, 131, 0, 0, 0, 0, 8, 9, 0, 133,
1854 12, 13, 80, 0, 80, 0, 14, 1448, 0, 1093,
1855 80, 0, 80, 0, 0, 0, 0, 0, 104, 1056,
1856 16, 259, 17, 0, 104, 0, 0, 0, 0, 20,
1857 0, 550, 550, 550, 0, 0, 0, 0, 23, 778,
1858 779, 491, 494, 550, 0, 0, 795, 26, 0, 130,
1859 131, 0, 0, 0, 261, 127, 128, 10, 0, 0,
1860 491, 494, 0, 0, 0, 0, 0, 0, 7, 8,
1861 9, 10, 215, 216, 217, 1114, 0, 1116, 0, 14,
1862 0, 0, 0, 0, 0, 911, 0, 581, 0, 0,
1863 0, 0, 0, 21, 104, 1165, 18, 0, 1166, 0,
1864 252, 0, 20, 0, 0, 0, 0, 21, 27, 262,
1865 1172, 23, 1524, 639, 936, 939, 0, 550, 550, 0,
1866 26, 550, 27, 28, 550, 0, 0, 0, 0, 104,
1867 0, 0, 541, 550, 0, 104, 194, 961, 961, 961,
1868 32, 0, 0, 550, 0, 1041, 195, 0, 0, 0,
1869 1151, 1152, 0, 1154, 32, 0, 0, 0, 1467, 708,
1870 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
1871 608, 609, 610, 611, 612, 1558, 0, 0, 104, 0,
1872 104, 884, 1558, 0, 1173, 778, 779, 0, 795, 0,
1873 0, 1165, 1166, 936, 939, 0, 0, 0, 0, 0,
1874 1172, 577, 936, 939, 0, 0, 0, 0, 261, 8,
1875 9, 10, 0, 204, 204, 204, 204, 204, 1038, 785,
1876 0, 0, 0, 204, 0, 1038, 1038, 1038, 0, 0,
1877 0, 1041, 0, 0, 0, 708, 104, 785, 785, 785,
1878 0, 0, 0, 0, 0, 0, 0, 21, 0, 0,
1879 0, 0, 104, 0, 252, 1093, 0, 0, 0, 0,
1880 0, 1558, 27, 262, 104, 0, 0, 0, 0, 0,
1881 0, 0, 1232, 0, 0, 0, 0, 1271, 0, 0,
1882 0, 1635, 0, 0, 0, 80, 253, 0, 0, 0,
1883 491, 494, 0, 0, 32, 0, 0, 0, 104, 0,
1884 104, 1257, 0, 1653, 0, 0, 0, 0, 104, 0,
1885 854, 0, 855, 1262, 0, 884, 0, 858, 859, 861,
1886 862, 863, 0, 0, 0, 0, 0, 0, 8, 9,
1887 581, 167, 12, 13, 550, 550, 468, 550, 14, 0,
1888 936, 939, 0, 880, 0, 0, 0, 0, 0, 0,
1889 491, 494, 16, 0, 17, 18, 0, 0, 0, 0,
1890 550, 20, 0, 550, 550, 652, 0, 0, 0, 0,
1891 23, 0, 639, 0, 0, 0, 0, 910, 0, 26,
1892 0, 130, 131, 0, 0, 1165, 1166, 936, 939, 0,
1893 0, 0, 1172, 0, 0, 640, 940, 0, 0, 0,
1894 0, 1314, 0, 940, 0, 641, 0, 785, 204, 204,
1895 785, 785, 1373, 0, 0, 204, 83, 642, 643, 0,
1896 0, 0, 0, 0, 0, 0, 106, 0, 0, 785,
1897 785, 785, 785, 0, 0, 126, 134, 0, 0, 0,
1898 0, 0, 145, 145, 0, 145, 0, 83, 8, 9,
1899 0, 204, 12, 247, 83, 0, 144, 0, 14, 80,
1900 0, 0, 0, 1374, 0, 0, 0, 145, 0, 83,
1901 0, 0, 16, 0, 17, 0, 0, 240, 0, 0,
1902 0, 20, 0, 0, 249, 0, 0, 0, 0, 0,
1903 23, 0, 0, 8, 9, 0, 249, 12, 247, 26,
1904 0, 130, 131, 14, 0, 940, 0, 0, 0, 0,
1905 0, 1406, 0, 940, 0, 1407, 0, 16, 0, 17,
1906 0, 0, 0, 0, 0, 0, 20, 0, 0, 0,
1907 0, 1165, 1166, 0, 1172, 23, 0, 639, 0, 0,
1908 0, 204, 756, 204, 26, 0, 130, 131, 83, 1423,
1909 0, 0, 145, 145, 785, 785, 0, 785, 145, 104,
1910 640, 145, 145, 145, 0, 0, 7, 8, 9, 10,
1911 641, 0, 13, 0, 0, 0, 0, 83, 0, 0,
1912 0, 83, 642, 643, 0, 0, 0, 145, 83, 472,
1913 0, 0, 0, 0, 18, 472, 0, 0, 0, 0,
1914 0, 0, 0, 0, 0, 21, 145, 145, 145, 0,
1915 0, 639, 0, 0, 0, 1482, 0, 0, 26, 1483,
1916 27, 28, 8, 9, 0, 167, 12, 13, 0, 0,
1917 468, 0, 14, 0, 1033, 145, 936, 939, 0, 0,
1918 0, 1498, 1499, 0, 1034, 0, 16, 0, 17, 18,
1919 1038, 0, 32, 0, 0, 20, 1035, 643, 0, 785,
1920 785, 1373, 785, 0, 23, 1146, 639, 0, 0, 0,
1921 0, 0, 145, 26, 0, 130, 131, 7, 8, 9,
1922 10, 0, 0, 538, 0, 0, 0, 0, 0, 1476,
1923 0, 0, 0, 0, 0, 0, 0, 0, 0, 1477,
1924 880, 0, 0, 0, 0, 18, 472, 0, 0, 0,
1925 940, 1478, 643, 0, 249, 552, 21, 0, 0, 1038,
1926 1038, 1038, 639, 0, 0, 785, 0, 0, 0, 26,
1927 0, 27, 28, 0, 0, 0, 0, 0, 0, 104,
1928 0, 0, 0, 0, 204, 749, 0, 0, 0, 708,
1929 0, 1200, 0, 0, 0, 750, 0, 0, 249, 0,
1930 0, 0, 638, 32, 552, 552, 653, 751, 643, 0,
1931 0, 662, 0, 0, 0, 83, 261, 127, 128, 10,
1932 0, 0, 13, 0, 0, 0, 0, 0, 0, 940,
1933 0, 0, 0, 0, 0, 0, 0, 0, 940, 0,
1934 0, 0, 0, 0, 18, 0, 0, 1243, 701, 0,
1935 0, 0, 0, 0, 0, 21, 0, 249, 0, 145,
1936 249, 639, 0, 472, 0, 0, 0, 0, 26, 0,
1937 27, 262, 0, 0, 145, 472, 0, 145, 0, 0,
1938 0, 0, 0, 0, 1180, 0, 0, 0, 0, 145,
1939 0, 0, 0, 0, 1181, 0, 0, 83, 0, 0,
1940 0, 0, 32, 0, 0, 0, 1182, 643, 0, 472,
1941 6, 472, 7, 8, 9, 10, 11, 12, 13, 1287,
1942 0, 0, 0, 14, 0, 145, 757, 145, 145, 653,
1943 0, 0, 0, 757, 0, 0, 0, 16, 0, 17,
1944 18, 145, 145, 0, 0, 145, 20, 145, 145, 145,
1945 552, 21, 0, 0, 145, 23, 0, 0, 441, 145,
1946 0, 0, 145, 0, 26, 0, 27, 28, 0, 0,
1947 29, 0, 0, 0, 0, 0, 940, 0, 813, 83,
1948 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949 31, 0, 0, 0, 0, 0, 0, 0, 32, 0,
1950 0, 0, 33, 600, 601, 602, 603, 604, 605, 606,
1951 607, 608, 609, 610, 611, 612, 249, 249, 249, 249,
1952 0, 0, 0, 940, 0, 0, 0, 0, 0, 0,
1953 573, 0, 261, 8, 9, 10, 167, 12, 305, 306,
1954 307, 468, 308, 14, 601, 602, 603, 604, 605, 606,
1955 607, 608, 609, 610, 611, 612, 0, 16, 309, 17,
1956 18, 19, 0, 310, 311, 312, 20, 0, 313, 314,
1957 315, 21, 316, 317, 0, 23, 249, 639, 552, 318,
1958 319, 320, 321, 322, 26, 0, 27, 262, -312, 0,
1959 0, 324, 552, 552, 653, 0, 0, 325, 0, 0,
1960 954, 962, 0, 0, 0, 0, 0, 0, 327, 328,
1961 955, 0, 0, 0, 662, 0, 330, 331, 332, 0,
1962 145, 0, 956, 643, 0, 0, 1082, 1083, 9, 10,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 334,
1964 0, 0, 0, 0, 0, 0, 701, 0, 0, 0,
1965 0, 0, 0, 0, 126, 0, 0, 0, 0, 0,
1966 0, 145, 240, 0, 0, 21, 0, 0, 0, 814,
1967 1243, 7, 8, 815, 10, 167, 12, 13, 26, 0,
1968 27, 28, 14, 0, 1259, 813, 1084, 0, 0, 0,
1969 0, 0, 0, 0, 194, 0, 16, 0, 17, 18,
1970 19, 145, 145, 757, 195, 20, -521, 0, 0, 0,
1971 21, 1048, 32, 0, 23, 816, 196, 168, 0, 0,
1972 0, 0, 0, 26, 0, 27, 28, 0, 0, 817,
1973 0, 818, 145, 145, 552, 552, 552, 0, 0, 30,
1974 145, 0, 0, 261, 8, 9, 10, 0, 0, 31,
1975 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
1976 0, 33, 0, 0, 0, 0, 0, 0, 134, 0,
1977 0, 83, 940, 83, 0, 0, 0, -521, 1094, 83,
1978 0, 83, 21, 0, 0, 0, 0, 249, 0, 252,
1979 0, 0, 0, 249, 0, 0, 0, 27, 262, 0,
1980 552, 552, 552, 0, 0, 0, 261, 8, 9, 10,
1981 0, 814, 552, 7, 8, 815, 10, 167, 12, 13,
1982 0, 541, 0, 0, 14, 0, 0, 0, 0, 32,
1983 0, 0, 581, 0, 18, 0, 0, 0, 16, 0,
1984 17, 18, 19, 0, 0, 21, 0, 20, -523, 0,
1985 708, 639, 21, 0, 0, 0, 23, 816, 26, 168,
1986 27, 262, 0, 249, 0, 26, 0, 27, 28, 0,
1987 0, 817, 0, 818, 1227, 0, 0, 0, 0, 0,
1988 0, 30, 0, 0, 1228, 0, 552, 552, 0, 0,
1989 552, 31, 32, 552, 0, 0, 1229, 643, 249, 32,
1990 0, 0, 552, 33, 249, 0, 962, 962, 962, 0,
1991 0, 0, 552, 0, 662, 0, 0, 0, 0, -523,
1992 0, 0, 0, 0, 0, 261, 8, 9, 10, 0,
1993 12, 305, 306, 307, 0, 308, 14, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 249, 0, 249,
1995 16, 309, 17, 18, 19, 0, 310, 311, 312, 20,
1996 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
1997 639, 0, 318, 319, 320, 321, 322, 26, 0, 27,
1998 262, 0, 145, 145, 145, 145, 145, 757, 552, 0,
1999 325, 0, 145, 954, 1048, 1048, 1048, 0, 0, 0,
2000 662, 327, 328, 955, 0, 249, 552, 552, 552, 330,
2001 331, 332, 0, 0, 0, 956, 643, 0, 0, 813,
2002 0, 249, 0, 0, 1094, 0, 0, 0, 0, 0,
2003 0, 0, 334, 249, 0, 814, 0, 7, 8, 815,
2004 10, 167, 12, 13, 0, 0, 0, 0, 14, 0,
2005 0, 0, 0, 0, 83, 0, 0, 0, 0, 0,
2006 0, 0, 16, 0, 17, 18, 19, 249, 0, 249,
2007 0, 20, -522, 0, 0, 0, 21, 249, 0, 0,
2008 23, 816, 0, 168, 0, 0, 0, 0, 0, 26,
2009 0, 27, 28, 0, 0, 817, 0, 818, 0, 0,
2010 0, 0, 0, 552, 552, 30, 552, 0, 0, 0,
2011 0, 0, 0, 51, 0, 31, 0, 0, 261, 8,
2012 9, 10, 0, 32, 13, 0, 0, 33, 0, 552,
2013 0, 0, 552, 552, 653, 0, 0, 0, 0, 51,
2014 51, 0, 152, -522, 51, 0, 18, 0, 0, 0,
2015 0, 51, 0, 0, 0, 0, 0, 21, 0, 0,
2016 813, 0, 0, 639, 51, 0, 51, 0, 0, 0,
2017 26, 0, 27, 262, 0, 0, 552, 145, 145, 552,
2018 552, 653, 0, 0, 145, 0, 1227, 0, 0, 255,
2019 0, 0, 263, 0, 0, 0, 1228, 0, 552, 552,
2020 552, 552, 0, 0, 32, 813, 0, 0, 1229, 643,
2021 0, 0, 7, 127, 128, 10, 0, 0, 247, 0,
2022 145, 0, 0, 0, 0, 145, 0, 0, 83, 0,
2023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2024 18, 0, 399, 399, 0, 51, 0, 0, 0, 51,
2025 51, 21, 0, 255, 263, 51, 0, 0, 152, 152,
2026 152, 0, 0, 0, 26, 434, 27, 28, 0, 0,
2027 0, 0, 0, 0, 51, 0, 0, 0, 51, 0,
2028 30, 0, 0, 0, 51, 51, 0, 0, 0, 0,
2029 31, 0, 0, 0, 0, 0, 0, 0, 32, 1454,
2030 0, 0, 33, 51, 51, 152, 0, 0, 0, 0,
2031 145, 757, 145, 255, 0, 0, 0, 0, 0, 0,
2032 0, 0, 0, 552, 552, 0, 552, 0, 249, 0,
2033 0, 0, 51, 0, 0, 0, 0, 0, 0, 0,
2034 0, 0, 0, 0, 0, 0, 739, 0, 871, 872,
2035 873, 10, 0, 12, 484, 306, 307, 0, 308, 14,
2036 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
2037 0, 0, 0, 16, 309, 17, 255, 19, 0, 310,
2038 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2039 0, 23, 0, 0, 0, 318, 319, 320, 321, 322,
2040 26, 0, 874, 875, 740, 0, 0, 324, 0, 0,
2041 0, 0, 0, 325, 0, 0, 326, 0, 0, 1048,
2042 0, 0, 0, 0, 327, 328, 329, 0, 552, 552,
2043 653, 552, 330, 331, 332, 0, 0, 0, 333, 876,
2044 0, 0, 578, 0, 0, 0, 0, 0, 0, 0,
2045 0, 0, 0, 0, 1027, 334, 0, 0, 0, 399,
2046 0, 0, 0, 0, 0, 0, 0, 255, 0, 0,
2047 0, 0, 51, 6, 0, 7, 8, 9, 10, 11,
2048 12, 13, 0, 0, 0, 0, 14, 0, 1048, 1048,
2049 1048, 0, 0, 0, 552, 0, 0, 0, 0, 15,
2050 16, 0, 17, 18, 19, 399, 0, 0, 249, 20,
2051 0, 0, 0, 145, 21, 0, 51, 22, 23, 24,
2052 0, 25, 0, 0, 255, 0, 0, 26, 0, 27,
2053 28, 51, 0, 29, 51, 0, 0, 0, 0, 0,
2054 434, 434, 434, 30, 0, 0, 51, 0, 0, 0,
2055 0, 0, 0, 31, 51, 0, 0, 0, 0, 0,
2056 0, 32, 0, 0, 0, 33, 0, 0, 0, 34,
2057 0, 0, 0, 7, 127, 128, 10, 0, 0, 13,
2058 0, 0, 51, 51, 51, 51, 0, 0, 0, 0,
2059 51, 0, 7, 127, 128, 10, 0, 0, 51, 51,
2060 0, 18, 51, 0, 152, 152, 152, 434, 0, 0,
2061 0, 51, 21, 0, 0, 0, 51, 0, 0, 51,
2062 18, 0, 0, 0, 0, 26, 0, 27, 28, 0,
2063 0, 21, 0, 0, 0, 0, 51, 0, 0, 0,
2064 0, 149, 0, 0, 26, 0, 27, 28, 0, 0,
2065 0, 150, 0, 0, 0, 0, 0, 0, 0, 32,
2066 149, 0, 0, 151, 0, 578, 0, 578, 0, 0,
2067 150, 0, 0, 0, 0, 0, 0, 0, 32, 0,
2068 0, 0, 151, 578, 578, 578, 0, 1469, 0, 1332,
2069 1333, 1334, 10, 167, 12, 305, 306, 307, 578, 308,
2070 14, 1335, 0, 1336, 1337, 1338, 1339, 1340, 1341, 1342,
2071 1343, 1344, 1345, 15, 16, 309, 17, 18, 19, 0,
2072 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2073 317, 1346, 23, 1347, 0, 0, 318, 319, 320, 321,
2074 322, 26, 0, 1348, 262, 736, 255, 1349, 324, 0,
2075 0, 0, 0, 0, 325, 0, 0, 326, 578, 0,
2076 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2077 0, 0, 0, 330, 331, 332, 0, 51, 0, 333,
2078 0, 1350, 0, 0, 166, 0, 7, 8, 9, 10,
2079 167, 12, 13, 0, 0, 1470, 334, 14, 0, 0,
2080 0, 0, 0, 399, 0, 0, 0, 0, 159, 0,
2081 399, 16, 0, 17, 18, 19, 0, 0, 51, 0,
2082 20, 0, 0, 0, 0, 21, 0, 0, 0, 23,
2083 205, 0, 168, 0, 0, 0, 0, 0, 26, 0,
2084 27, 28, 0, 0, 0, 8, 9, 0, 0, 12,
2085 13, 0, 0, 0, 30, 14, 0, 0, 51, 51,
2086 152, 0, 0, 0, 31, 255, 263, 0, 1045, 16,
2087 0, 17, 32, 0, 0, 0, 33, 0, 20, 0,
2088 34, 78, 578, 0, 0, 0, 0, 23, 0, 51,
2089 51, 434, 434, 434, 0, 0, 26, 51, 130, 131,
2090 0, 0, 0, 0, 0, 0, 0, 78, 78, 0,
2091 78, 0, 78, 0, 0, 0, 0, 0, 0, 78,
2092 0, 0, 0, 0, 159, 159, 159, 0, 51, 0,
2093 51, 0, 78, 0, 78, 51, 51, 0, 51, 0,
2094 0, 0, 0, 0, 0, 0, 0, 0, 0, 814,
2095 205, 7, 8, 815, 10, 167, 12, 13, 0, 0,
2096 265, 0, 14, 0, 0, 0, 0, 0, 0, 205,
2097 205, 500, 0, 0, 0, 0, 16, 0, 17, 18,
2098 19, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2099 21, 0, 0, 0, 23, 816, 0, 168, 205, 0,
2100 0, 0, 0, 26, 0, 27, 28, 0, 0, 817,
2101 0, 818, 0, 78, 0, 0, 0, 78, 78, 30,
2102 0, 0, 265, 78, 0, 0, 78, 78, 78, 31,
2103 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
2104 0, 33, 78, 0, 0, 0, 78, 0, 0, 0,
2105 0, 0, 78, 78, 0, 0, 0, 0, 0, 0,
2106 0, 0, 0, 578, 578, 578, 0, 0, 0, 434,
2107 255, 78, 78, 78, 0, 0, 0, 0, 551, 0,
2108 7, 8, 9, 10, 167, 12, 13, 0, 0, 468,
2109 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2110 78, 0, 0, 0, 0, 16, 0, 17, 18, 0,
2111 0, 0, 0, 0, 20, 0, 0, 0, 0, 21,
2112 0, 0, 0, 23, 0, 639, 0, 646, 646, 646,
2113 0, 0, 26, 0, 27, 28, 0, 78, 0, 51,
2114 51, 51, 152, 152, 152, 434, 0, 255, 1033, 51,
2115 255, 1045, 1045, 1045, 0, 0, 0, 263, 1034, 0,
2116 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
2117 1035, 643, 0, 0, 0, 0, 0, 0, 0, 0,
2118 0, 51, 205, 261, 127, 1401, 10, 0, 0, 261,
2119 8, 9, 10, 167, 12, 13, 0, 0, 468, 0,
2120 14, 0, 255, 263, 0, 0, 0, 0, 0, 0,
2121 0, 51, 0, 0, 16, 0, 17, 18, 0, 0,
2122 0, 0, 21, 20, 0, 0, 0, 0, 21, 252,
2123 0, 0, 23, 0, 639, 0, 661, 27, 262, 0,
2124 78, 26, 0, 27, 262, 0, 0, 0, 753, 0,
2125 753, 753, 646, 7, 8, 9, 10, 1180, 0, 13,
2126 0, 541, 0, 0, 205, 205, 0, 1181, 205, 32,
2127 500, 500, 500, 786, 0, 32, 0, 205, 0, 1182,
2128 643, 18, 205, 0, 78, 205, 434, 0, 0, 434,
2129 434, 434, 21, 0, 0, 0, 0, 0, 0, 78,
2130 0, 0, 78, 0, 0, 26, 0, 27, 28, 0,
2131 7, 8, 9, 10, 78, 0, 0, 0, 0, 0,
2132 0, 194, 78, 0, 0, 0, 0, 0, 0, 0,
2133 0, 195, 0, 434, 51, 51, 434, 434, 434, 32,
2134 0, 51, 0, 196, 0, 0, 0, 0, 0, 21,
2135 78, 78, 78, 78, 1082, 1083, 9, 10, 78, 0,
2136 0, 0, 26, 0, 27, 28, 78, 78, 1461, 0,
2137 78, 0, 78, 78, 78, 0, 0, 51, 194, 78,
2138 255, 0, 51, 0, 78, 51, 0, 78, 195, 0,
2139 0, 0, 0, 21, 0, 0, 32, 0, 0, 0,
2140 196, 920, 0, 0, 78, 0, 26, 0, 27, 28,
2141 0, 0, 0, 0, 1084, 646, 646, 646, 0, 0,
2142 0, 0, 194, 0, 646, 0, 0, 0, 0, 0,
2143 0, 0, 195, 0, 0, 0, 0, 0, 0, 0,
2144 32, 0, 0, 205, 196, 0, 0, 0, 0, 0,
2145 0, 0, 883, 0, 261, 8, 9, 10, 167, 12,
2146 305, 306, 307, 0, 308, 14, 0, 51, 51, 51,
2147 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2148 309, 17, 18, 19, 753, 310, 311, 312, 20, 0,
2149 313, 314, 315, 21, 316, 317, 0, 23, 0, 0,
2150 0, 318, 319, 320, 321, 322, 26, 0, 27, 262,
2151 1566, 0, -791, 324, 0, 661, 0, 0, 0, 325,
2152 0, 0, 326, 0, 753, 753, 1039, 0, 0, 0,
2153 327, 328, 329, 0, 1039, 0, 0, 0, 330, 331,
2154 332, 0, 0, 0, 333, 78, 0, 0, 0, 0,
2155 0, 0, 0, 0, 0, 205, 205, 786, 786, 786,
2156 0, 334, 0, 205, 261, 8, 9, 10, 167, 12,
2157 13, 0, 0, 468, 0, 14, 1045, 0, 0, 0,
2158 0, 0, 0, 0, 0, 0, 78, 0, 0, 16,
2159 0, 17, 18, 0, 0, 0, 0, 0, 20, 0,
2160 0, 205, 0, 21, 0, 0, 0, 23, 0, 639,
2161 0, 0, 0, 0, 0, 0, 26, 0, 27, 262,
2162 0, 0, 0, 551, 551, 551, 78, 78, 78, 0,
2163 0, 203, 1227, 0, 265, 646, 1047, 0, 0, 0,
2164 0, 0, 1228, 0, 0, 1045, 1045, 1045, 0, 0,
2165 32, 0, 0, 0, 1229, 643, 258, 78, 78, 266,
2166 7, 127, 128, 10, 0, 78, 538, 0, 0, 0,
2167 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2168 258, 0, 368, 0, 0, 0, 0, 0, 18, 0,
2169 0, 0, 0, 0, 0, 0, 78, 0, 78, 21,
2170 0, 0, 0, 78, 78, 0, 78, 0, 0, 646,
2171 646, 0, 26, 646, 27, 28, 646, 0, 0, 0,
2172 0, 0, 0, 0, 0, 646, 0, 0, 30, 646,
2173 646, 646, 0, 0, 0, 646, 0, 0, 31, 0,
2174 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
2175 33, 203, 595, 596, 597, 598, 599, 600, 601, 602,
2176 603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
2177 203, 203, 203, 0, 0, 0, 0, 0, 0, 0,
2178 506, 1391, 1392, 9, 10, 599, 600, 601, 602, 603,
2179 604, 605, 606, 607, 608, 609, 610, 611, 612, 203,
2180 0, 0, 0, 0, 0, 753, 753, 753, 1039, 1039,
2181 1039, 1230, 0, 0, 0, 753, 0, 1039, 1039, 1039,
2182 21, 0, 0, 0, 0, 266, 0, 0, 0, 786,
2183 786, 786, 0, 26, 0, 27, 28, 0, 0, 661,
2184 0, 1393, 0, 258, 0, 0, 0, 205, 0, 194,
2185 -387, 8, 9, -387, -387, 12, 247, 0, 0, 195,
2186 0, 14, 0, 0, 0, 0, 0, 32, 0, 0,
2187 0, 196, 0, 0, 0, 16, 0, 17, -387, 0,
2188 0, 0, 0, 0, 20, 0, 0, 0, 0, -387,
2189 0, 0, 0, 23, 0, 639, 0, 0, 0, 0,
2190 0, 0, 26, 0, 130, 131, 0, 78, 78, 78,
2191 78, 78, 78, 0, 0, 0, 0, 78, 640, 1047,
2192 1047, 1047, 0, 0, 0, 1237, 920, 920, 641, 920,
2193 0, 0, 0, 0, 258, 266, -387, 0, 0, 0,
2194 642, 643, 7, 8, 9, 10, 215, 216, 217, 78,
2195 0, 0, 646, 14, 0, 646, 646, 646, 0, 0,
2196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2197 18, 265, 0, 0, 0, 0, 20, 0, 0, 78,
2198 0, 21, 0, 203, 0, 23, 0, 639, 0, 0,
2199 7, 127, 128, 10, 26, 0, 27, 28, 0, 1230,
2200 753, 753, 1230, 1230, 1230, 0, 0, 753, 0, 0,
2201 749, 0, 0, 0, 0, 0, 0, 0, 18, 0,
2202 750, 786, 786, 786, 786, 0, 0, 0, 32, 21,
2203 0, 0, 751, 643, 0, 0, 0, 0, 0, 0,
2204 0, 0, 26, 205, 27, 28, 0, 0, 0, 203,
2205 0, 203, 203, 0, 0, 0, 0, 0, 30, 0,
2206 0, 0, 0, 0, 0, 203, 203, 0, 31, 203,
2207 0, 203, 203, 203, 203, 0, 32, 0, 203, 0,
2208 33, 0, 0, 203, 0, 0, 203, 467, 0, 261,
2209 8, 9, 10, 167, 12, 305, 306, 307, 468, 308,
2210 14, 0, 78, 78, 0, 0, 0, 0, 0, 78,
2211 0, 0, 0, 0, 16, 309, 17, 18, 19, 0,
2212 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2213 317, 0, 23, 205, 0, 205, 318, 319, 320, 321,
2214 322, 26, 0, 27, 262, 78, 1230, 1230, 324, 1230,
2215 78, 0, 102, 78, 325, 0, 0, 326, 0, 0,
2216 0, 121, 102, 0, 0, 327, 328, 329, 102, 102,
2217 0, 102, 18, 330, 331, 332, 0, 0, 0, 333,
2218 0, 0, 0, 0, 644, 644, 644, 0, 0, 0,
2219 0, 0, 0, 0, -801, 0, 334, 0, 0, 0,
2220 0, 0, 0, 236, 0, 591, 592, 593, 594, 595,
2221 596, 597, 598, 599, 600, 601, 602, 603, 604, 605,
2222 606, 607, 608, 609, 610, 611, 612, 0, 258, 266,
2223 0, 0, 0, 0, 0, 78, 78, 78, 0, 0,
2224 0, 0, 500, 0, 203, 0, 0, 0, 0, 0,
2225 0, 1230, 1230, 1230, 1230, 0, 0, 0, 0, 0,
2226 0, 0, 392, 0, 121, 0, 0, 0, 0, 0,
2227 0, 102, 102, 0, 0, 0, 0, 0, 102, 102,
2228 0, 0, 102, 102, 102, 203, 420, 102, 102, 102,
2229 0, 0, 0, 0, 0, 7, 8, 9, 10, 206,
2230 12, 207, 0, 0, 0, 644, 14, 644, 644, 644,
2231 0, 500, 500, 500, 0, 0, 0, 1230, 0, 0,
2232 16, 0, 17, 18, 0, 203, 203, 1037, 0, 20,
2233 0, 0, 258, 266, 21, 1037, 205, 0, 23, 0,
2234 7, 8, 9, 10, 1047, 0, 247, 26, 0, 27,
2235 28, 0, 0, 208, 0, 0, 203, 203, 203, 203,
2236 203, 506, 0, 30, 203, 0, 0, 0, 18, 0,
2237 0, 0, 0, 31, 0, 0, 0, 236, 102, 21,
2238 0, 32, 0, 8, 9, 33, 167, 12, 13, 266,
2239 0, 0, 26, 14, 27, 28, 0, 0, 102, 0,
2240 0, 0, 203, 0, 0, 0, 0, 16, 194, 17,
2241 18, 0, 0, 1047, 1047, 1047, 20, 0, 195, 0,
2242 0, 0, 0, 0, 0, 702, 32, 0, 168, 0,
2243 196, 0, 0, 0, 26, 0, 130, 131, 78, 268,
2244 0, 102, 8, 9, 0, 0, 12, 13, 0, 0,
2245 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
2246 0, 0, 0, 0, 0, 0, 16, 0, 17, 0,
2247 0, 0, 644, 644, 644, 20, 0, 269, 270, 0,
2248 0, 958, 0, 0, 23, 0, 271, 0, 102, 0,
2249 102, 102, 0, 26, 0, 130, 131, 0, 272, 0,
2250 0, 0, 273, 274, 275, 276, 277, 278, 279, 280,
2251 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
2252 291, 292, 293, 0, 0, 294, 295, 296, 0, 297,
2253 0, 0, 298, 0, 102, 0, 0, 258, 266, 258,
2254 0, 644, 0, 0, 0, 0, 8, 9, 299, 167,
2255 12, 13, 0, 102, 468, 0, 14, 0, 0, 0,
2256 102, 0, 0, 102, 0, 0, 0, 0, 0, 0,
2257 16, 0, 17, 18, 0, 102, 0, 0, 0, 20,
2258 0, 644, 644, 644, 0, 0, 0, 0, 23, 0,
2259 0, 958, 0, 0, 0, 0, 0, 26, 0, 130,
2260 131, 0, 0, 0, 0, 0, 203, 203, 203, 203,
2261 203, 1037, 203, 0, 1231, 0, 203, 258, 1037, 1037,
2262 1037, 0, 0, 0, 266, 0, 0, 0, 0, 0,
2263 203, 203, 203, 0, 0, 0, 0, 0, 0, 0,
2264 0, 0, 0, 0, 0, 0, 0, 0, 203, 0,
2265 1550, 0, -478, -478, -478, -478, -478, -478, -478, 0,
2266 0, -478, 102, -478, 806, 0, 0, 0, 0, 506,
2267 0, 0, 0, 0, -478, 0, -478, 0, 0, 0,
2268 -478, 0, 0, 0, 0, 0, -478, 0, 102, 0,
2269 102, -478, 644, 0, 0, -478, 0, -478, 0, 0,
2270 0, 0, 0, 0, -478, 0, -478, -478, -478, -478,
2271 -478, 0, -478, -478, -478, -478, -478, -478, -478, -478,
2272 -478, -478, -478, -478, -478, -478, -478, -478, -478, -478,
2273 -478, -478, -478, -478, -478, 0, -478, -478, -478, 0,
2274 -478, -478, -478, -478, -478, 0, 0, 0, 0, 0,
2275 1551, -478, 0, 0, 0, 0, -478, -478, -478, 0,
2276 -478, 0, 0, 0, 102, 0, 644, 644, 0, 0,
2277 644, 0, 0, 644, 0, 102, 102, 0, 102, 102,
2278 0, 0, 644, 0, 0, 0, 958, 958, 958, 0,
2279 0, 0, 644, 0, 0, 0, 0, 0, 0, 0,
2280 203, 203, 203, 203, 203, 1037, 0, 0, 203, 0,
2281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2282 0, 0, 203, 203, 203, 203, 0, 0, 0, 0,
2283 0, 0, 102, 0, 0, 0, 0, 0, 0, 102,
2284 121, 0, 0, 0, 203, 0, 0, 0, 236, 0,
2285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2286 0, 0, 644, 644, 644, 644, 644, 644, 644, 0,
2287 0, 806, 644, 0, 958, 958, 958, 0, 0, 0,
2288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2289 7, 8, 9, 10, 0, 12, 305, 306, 307, 0,
2290 308, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2291 0, 0, 0, 0, 0, 16, 309, 17, 18, 19,
2292 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
2293 316, 317, 0, 23, 203, 639, 203, 318, 319, 320,
2294 321, 322, 26, 0, 27, 28, 0, 203, 203, 1231,
2295 203, 806, 0, 0, 102, 325, 0, 0, 1042, 0,
2296 0, 0, 0, 0, 0, 0, 327, 328, 1043, 0,
2297 0, 0, 0, 0, 330, 331, 332, 0, 0, 0,
2298 1044, 643, 0, 0, 0, 0, 102, 102, 102, 102,
2299 0, 8, 9, 0, 167, 12, 13, 334, 102, 1587,
2300 0, 14, 0, 0, 0, 0, 0, 0, 0, 644,
2301 0, 0, 644, 644, 644, 16, 0, 17, 18, 0,
2302 0, 0, 0, 0, 20, 0, 0, 0, 0, 1391,
2303 127, 128, 10, 23, 0, 0, 0, 0, 0, 0,
2304 0, 0, 26, 1037, 130, 131, 0, 0, 0, 0,
2305 0, 0, 203, 203, 1037, 203, 644, 644, 644, 644,
2306 644, 644, 0, 0, 644, 0, 0, 0, 21, 0,
2307 0, 0, 102, 102, 0, 0, 102, 0, 0, 102,
2308 0, 26, 0, 27, 28, 0, 0, 0, 102, 1393,
2309 0, 0, 0, 0, 0, 0, 0, 30, 102, 0,
2310 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
2311 0, 0, 1037, 1037, 1037, 32, 0, 0, 203, 33,
2312 0, 0, 1331, 0, 1332, 1333, 1334, 10, 167, 12,
2313 305, 306, 307, 0, 308, 14, 1335, 203, 1336, 1337,
2314 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 15, 16,
2315 309, 17, 18, 19, 0, 310, 311, 312, 20, 0,
2316 313, 314, 315, 21, 316, 317, 1346, 23, 1347, 0,
2317 0, 318, 319, 320, 321, 322, 26, 0, 1348, 262,
2318 736, 0, 1349, 324, 0, 0, 0, 0, 0, 325,
2319 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2320 327, 328, 329, 644, 644, 806, 644, 0, 330, 331,
2321 332, 0, 0, 0, 333, 573, 1350, 261, 8, 9,
2322 10, 0, 12, 305, 306, 307, 0, 308, 14, 0,
2323 0, 334, 102, 0, 0, 0, 0, 0, 0, 0,
2324 0, 0, 16, 309, 17, 18, 19, 0, 310, 311,
2325 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
2326 23, 0, 0, 0, 318, 319, 320, 321, 322, 26,
2327 0, 27, 262, -312, 0, 0, 324, 0, 0, 0,
2328 0, 0, 325, 0, 0, 574, 0, 0, 0, 102,
2329 102, 0, 102, 327, 328, 575, 0, 0, 0, 0,
2330 0, 330, 331, 332, 0, 0, 0, 576, 644, 644,
2331 644, 644, 0, 0, 0, 102, 0, 0, 102, 102,
2332 0, 0, 0, 0, 334, 0, 573, 0, 7, 8,
2333 9, 10, 167, 12, 305, 306, 307, 468, 308, 14,
2334 0, 0, 0, 0, 0, 0, 806, 0, 0, 0,
2335 0, 0, 0, 16, 309, 17, 18, 19, 0, 310,
2336 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2337 0, 23, 0, 639, 644, 318, 319, 320, 321, 322,
2338 26, 0, 27, 28, -312, 0, 0, 324, 0, 0,
2339 0, 806, 0, 325, 0, 0, 1042, 0, 0, 0,
2340 0, 0, 0, 0, 327, 328, 1043, 0, 0, 102,
2341 0, 102, 330, 331, 332, 0, 0, 0, 1044, 643,
2342 739, 0, 871, 872, 873, 10, 0, 12, 484, 306,
2343 307, 0, 308, 14, 0, 334, 0, 0, 0, 0,
2344 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
2345 0, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2346 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
2347 319, 320, 321, 322, 26, 0, 874, 875, 740, 0,
2348 0, 324, 0, 0, 0, 0, 0, 325, 0, 0,
2349 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2350 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2351 0, 0, 333, 876, 739, 0, 261, 8, 9, 10,
2352 0, 12, 484, 306, 307, 0, 308, 14, 0, 334,
2353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2354 0, 16, 309, 17, 0, 19, 0, 310, 311, 312,
2355 20, 0, 313, 314, 315, 21, 316, 317, 0, 23,
2356 0, 0, 0, 318, 319, 320, 321, 322, 26, 0,
2357 27, 262, 740, 0, 0, 324, 0, 0, 0, 0,
2358 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
2359 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
2360 330, 331, 332, 0, 0, 0, 333, 739, 0, 871,
2361 872, 873, 10, 1240, 12, 484, 306, 307, 0, 308,
2362 14, 0, 0, 334, 0, 0, 0, 0, 0, 0,
2363 0, 0, 0, 0, 16, 309, 17, 0, 19, 0,
2364 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2365 317, 0, 23, 0, 0, 0, 318, 319, 320, 321,
2366 322, 26, 0, 874, 875, 740, 0, 0, 324, 0,
2367 0, 0, 0, 0, 325, 0, 0, 326, 0, 0,
2368 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2369 0, 0, 0, 330, 331, 332, 0, 0, 739, 333,
2370 871, 872, 873, 10, 0, 12, 484, 306, 307, 0,
2371 308, 14, 0, 0, 0, -482, 334, 0, 0, 0,
2372 0, 0, 0, 0, 0, 16, 309, 17, 0, 19,
2373 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
2374 316, 317, 0, 23, 0, 0, 0, 318, 319, 320,
2375 321, 322, 26, 0, 874, 875, 740, 0, 0, 324,
2376 0, 0, 0, 0, 0, 325, 0, 0, 326, 0,
2377 0, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2378 0, 0, 0, 0, 330, 331, 332, 0, 0, 573,
2379 333, 7, 8, 9, 10, 0, 12, 305, 306, 307,
2380 0, 308, 14, 0, 0, 0, 1370, 334, 0, 0,
2381 0, 0, 0, 0, 0, 0, 16, 309, 17, 18,
2382 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
2383 21, 316, 317, 0, 23, 0, 0, 0, 318, 319,
2384 320, 321, 322, 26, 0, 27, 28, -312, 0, 0,
2385 324, 0, 0, 0, 0, 0, 325, 0, 0, 1536,
2386 0, 0, 0, 0, 0, 0, 0, 327, 328, 1537,
2387 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
2388 739, 1538, 261, 8, 9, 10, 0, 12, 484, 306,
2389 307, 0, 308, 14, 0, 0, 0, 0, 334, 0,
2390 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
2391 0, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2392 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
2393 319, 320, 321, 322, 26, 0, 27, 262, 740, 0,
2394 0, 324, 0, 0, 0, 0, 0, 325, 0, 0,
2395 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2396 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2397 0, 883, 333, 261, 8, 9, 10, 0, 12, 484,
2398 306, 307, 0, 308, 14, 0, 0, 0, 0, 334,
2399 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
2400 17, 0, 19, 0, 310, 311, 312, 20, 0, 313,
2401 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
2402 318, 319, 320, 321, 322, 26, 0, 27, 262, 0,
2403 0, 0, 324, -791, 0, 0, 0, 0, 325, 0,
2404 0, 326, 0, 0, 0, 0, 0, 0, 0, 327,
2405 328, 329, 0, 0, 0, 0, 0, 330, 331, 332,
2406 0, 0, 1620, 333, 261, 8, 9, 10, 0, 12,
2407 305, 306, 307, 0, 308, 14, 0, 0, 0, 0,
2408 334, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2409 309, 17, 0, 19, 0, 310, 311, 312, 20, 0,
2410 313, 314, 315, 21, 316, 317, 0, 23, 0, 0,
2411 0, 318, 319, 320, 321, 322, 26, 0, 27, 262,
2412 0, 0, -197, 324, 0, 0, 0, 0, 0, 325,
2413 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2414 327, 328, 329, 0, 0, 0, 0, 0, 330, 331,
2415 332, 0, 0, 883, 333, 261, 8, 9, 10, 0,
2416 12, 484, 306, 307, 0, 308, 14, 0, 0, 0,
2417 0, 334, 0, 0, 0, 0, 0, 0, 0, 0,
2418 16, 309, 17, 0, 19, 0, 310, 311, 312, 20,
2419 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
2420 0, 0, 318, 319, 320, 321, 322, 26, 0, 27,
2421 262, 0, 0, 0, 324, 0, 0, 0, 0, 0,
2422 325, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2423 0, 327, 328, 329, 0, 0, 0, 0, 0, 330,
2424 331, 332, 0, 0, 977, 333, 261, 8, 9, 10,
2425 0, 12, 484, 306, 307, 0, 308, 14, 0, 0,
2426 -791, 0, 334, 0, 0, 0, 0, 0, 0, 0,
2427 0, 16, 309, 17, 0, 19, 0, 310, 311, 312,
2428 20, 0, 313, 314, 315, 21, 316, 317, 0, 23,
2429 0, 0, 0, 318, 319, 320, 321, 322, 26, 0,
2430 27, 262, 0, 0, 0, 324, 0, 0, 0, 0,
2431 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
2432 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
2433 330, 331, 332, 0, 0, 979, 333, 261, 8, 9,
2434 10, 0, 12, 484, 306, 307, 0, 308, 14, 0,
2435 0, 0, 0, 334, 0, 0, 0, 0, 0, 0,
2436 0, 0, 16, 309, 17, 0, 19, 0, 310, 311,
2437 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
2438 23, 0, 0, 0, 318, 319, 320, 321, 322, 26,
2439 0, 27, 262, 0, 0, 0, 324, 0, 0, 0,
2440 0, 0, 325, 0, 0, 326, 0, 0, 0, 0,
2441 0, 0, 0, 327, 328, 329, 0, 0, 0, 0,
2442 0, 330, 331, 332, 0, 0, 1584, 333, 261, 8,
2443 9, 10, 0, 12, 484, 306, 307, 0, 308, 14,
2444 0, 0, 0, 0, 334, 0, 0, 0, 0, 0,
2445 0, 0, 0, 16, 309, 17, 0, 19, 0, 310,
2446 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2447 0, 23, 0, 0, 0, 318, 319, 320, 321, 322,
2448 26, 0, 27, 262, 0, 0, 0, 324, 0, 0,
2449 0, 0, 0, 325, 0, 0, 326, 0, 0, 0,
2450 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2451 0, 0, 330, 331, 332, 0, 0, 0, 333, 261,
2452 8, 9, 10, 0, 12, 484, 306, 307, 0, 308,
2453 14, 0, 0, 0, 0, 334, 0, 0, 0, 0,
2454 0, 0, 0, 0, 16, 309, 17, 0, 19, 0,
2455 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2456 317, 0, 23, 0, 0, 0, 318, 319, 320, 321,
2457 322, 26, 0, 27, 262, 0, 0, 0, 324, 0,
2458 0, 0, 0, 0, 325, 0, 0, 326, 0, 0,
2459 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2460 0, 0, 0, 330, 331, 332, 0, 0, 0, 333,
2461 261, 8, 9, 10, 0, 12, 484, 306, 307, 0,
2462 308, 14, 0, 0, 0, 0, 334, 485, 0, 0,
2463 0, 0, 0, 0, 0, 16, 309, 17, 0, 19,
2464 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
2465 316, 317, 0, 23, 0, 0, 0, 318, 319, 320,
2466 321, 322, 26, 0, 27, 262, 0, 0, 0, 324,
2467 0, 0, 0, 0, 0, 325, 0, 0, 326, 0,
2468 0, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2469 0, 0, 0, 0, 330, 331, 332, 0, 0, 0,
2470 333, 261, 8, 9, 10, 0, 12, 484, 306, 307,
2471 0, 308, 14, 0, 0, 0, 0, 334, 792, 0,
2472 0, 0, 0, 0, 0, 0, 16, 309, 17, 0,
2473 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
2474 21, 316, 317, 0, 23, 0, 0, 0, 318, 319,
2475 320, 321, 322, 26, 0, 27, 262, 0, 0, 0,
2476 324, 0, 0, 0, 0, 0, 325, 0, 0, 326,
2477 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
2478 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
2479 0, 333, 261, 8, 9, 10, 0, 12, 484, 306,
2480 307, 0, 308, 14, 0, 0, 0, 0, 334, 923,
2481 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
2482 0, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2483 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
2484 319, 320, 321, 322, 26, 0, 27, 262, 0, 0,
2485 0, 324, 0, 0, 0, 0, 0, 325, 0, 0,
2486 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2487 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2488 0, 0, 333, 261, 8, 9, 10, 0, 12, 484,
2489 306, 307, 0, 308, 14, 0, 0, 0, 0, 334,
2490 944, 0, 0, 0, 0, 0, 0, 0, 16, 309,
2491 17, 0, 19, 0, 310, 311, 312, 20, 0, 313,
2492 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
2493 318, 319, 320, 321, 322, 26, 0, 27, 262, 0,
2494 0, 0, 324, 0, 0, 0, 0, 0, 325, 0,
2495 0, 326, 0, 0, 0, 0, 0, 0, 0, 327,
2496 328, 329, 0, 0, 0, 0, 0, 330, 331, 332,
2497 0, 0, 0, 333, 597, 598, 599, 600, 601, 602,
2498 603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
2499 334, 1175, 1332, 1333, 1334, 10, 167, 12, 305, 306,
2500 307, 0, 308, 14, 1335, 0, 1336, 1337, 1338, 1339,
2501 1340, 1341, 1342, 1343, 1344, 1345, 15, 16, 309, 17,
2502 18, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2503 315, 21, 316, 317, 1346, 23, 1347, 0, 0, 318,
2504 319, 320, 321, 322, 26, 0, 1348, 262, 736, 0,
2505 1349, 324, 0, 0, 0, 0, 0, 325, 0, 0,
2506 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2507 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2508 0, 0, 333, 0, 1350, 0, 0, 0, 0, 0,
2509 0, 0, 0, 0, 0, 0, 0, 0, 1474, 334,
2510 1332, 1333, 1334, 10, 167, 12, 305, 306, 307, 0,
2511 308, 14, 1335, 0, 1336, 1337, 1338, 1339, 1340, 1341,
2512 1342, 1343, 1344, 1345, 15, 16, 309, 17, 18, 19,
2513 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
2514 316, 317, 1346, 23, 1347, 0, 0, 318, 319, 320,
2515 321, 322, 26, 0, 1348, 262, 736, 0, 1349, 324,
2516 0, 0, 0, 0, 0, 325, 0, 0, 326, 0,
2517 0, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2518 0, 0, 0, 0, 330, 331, 332, 0, 0, 0,
2519 333, 0, 1350, 0, 1332, 1333, 1334, 10, 167, 12,
2520 305, 306, 307, 0, 308, 14, 1335, 334, 1336, 1337,
2521 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 15, 16,
2522 309, 17, 18, 19, 0, 310, 311, 312, 20, 0,
2523 313, 314, 315, 21, 316, 317, 1346, 23, 1347, 0,
2524 0, 318, 319, 320, 321, 322, 26, 0, 1348, 262,
2525 1593, 0, 1349, 324, 0, 0, 0, 0, 0, 325,
2526 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2527 327, 328, 329, 0, 0, 0, 0, 0, 330, 331,
2528 332, 0, 0, 0, 333, 0, 1350, 0, 1332, 1333,
2529 1334, 10, 167, 12, 305, 306, 307, 0, 308, 14,
2530 1335, 334, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343,
2531 1344, 1345, 15, 16, 309, 17, 18, 19, 0, 310,
2532 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2533 1346, 23, 1347, 0, 0, 318, 319, 320, 321, 322,
2534 26, 0, 1348, 262, 0, 0, 1349, 324, 0, 0,
2535 0, 0, 0, 325, 0, 0, 326, 0, 0, 0,
2536 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2537 0, 0, 330, 331, 332, 0, 0, 0, 333, 0,
2538 1350, 261, 8, 9, 10, 167, 12, 305, 306, 307,
2539 468, 308, 14, 0, 0, 334, 0, 0, 0, 0,
2540 0, 0, 0, 0, 0, 0, 16, 309, 17, 18,
2541 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
2542 21, 316, 317, 0, 23, 0, 639, 0, 318, 319,
2543 320, 321, 322, 26, 0, 27, 262, 0, 0, 0,
2544 324, 0, 0, 0, 0, 0, 325, 0, 0, 954,
2545 0, 0, 0, 0, 0, 0, 0, 327, 328, 955,
2546 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
2547 0, 956, 643, 7, 8, 9, 10, 167, 12, 305,
2548 306, 307, 468, 308, 14, 0, 0, 0, 334, 0,
2549 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
2550 17, 18, 19, 0, 310, 311, 312, 20, 0, 313,
2551 314, 315, 21, 316, 317, 0, 23, 0, 639, 0,
2552 318, 319, 320, 321, 322, 26, 0, 27, 28, 0,
2553 0, 0, 324, 0, 0, 0, 0, 0, 325, 0,
2554 0, 1042, 0, 0, 0, 0, 0, 0, 0, 327,
2555 328, 1043, 0, 0, 0, 0, 0, 330, 331, 332,
2556 0, 0, 0, 1044, 643, 261, 8, 9, 10, 0,
2557 12, 484, 306, 307, 0, 308, 14, 0, 0, 0,
2558 334, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2559 16, 309, 17, 18, 19, 0, 310, 311, 312, 20,
2560 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
2561 0, 0, 318, 319, 320, 321, 322, 26, 0, 27,
2562 262, 0, 0, 0, 324, 0, 0, 0, 0, 0,
2563 325, 0, 0, 574, 0, 0, 0, 0, 0, 0,
2564 0, 327, 328, 575, 0, 0, 0, 0, 0, 330,
2565 331, 332, 0, 0, 0, 576, 261, 8, 9, 10,
2566 0, 12, 484, 306, 307, 0, 308, 14, 0, 0,
2567 0, 0, 334, 0, 0, 0, 0, 0, 0, 0,
2568 0, 16, 309, 17, 0, 19, 0, 310, 311, 312,
2569 20, 0, 313, 314, 315, 21, 316, 317, 0, 23,
2570 0, 0, 0, 318, 319, 320, 321, 322, 26, 0,
2571 27, 262, 0, 0, 1447, 324, 0, 0, 0, 0,
2572 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
2573 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
2574 330, 331, 332, 0, 0, 0, 333, 261, 8, 9,
2575 10, 167, 12, 305, 306, 307, 0, 308, 14, 0,
2576 0, 0, 0, 334, 0, 0, 0, 0, 0, 0,
2577 0, 0, 16, 309, 17, 18, 19, 0, 310, 311,
2578 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
2579 23, 0, 0, 0, 318, 319, 320, 321, 322, 26,
2580 0, 27, 262, 0, 0, 0, 0, 0, 0, 0,
2581 0, 0, 325, 0, 0, 326, 0, 0, 0, 0,
2582 0, 0, 0, 327, 328, 329, 0, 0, 0, 0,
2583 0, 330, 331, 332, 0, 0, 0, 333, 7, 8,
2584 9, 10, 0, 12, 484, 306, 307, 0, 308, 14,
2585 0, 0, 0, 0, 334, 0, 0, 0, 0, 0,
2586 0, 0, 0, 16, 309, 17, 18, 19, 0, 310,
2587 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2588 0, 23, 0, 0, 0, 318, 319, 320, 321, 322,
2589 26, 0, 27, 28, 0, 0, 0, 324, 0, 0,
2590 0, 0, 0, 325, 0, 0, 1536, 0, 0, 0,
2591 0, 0, 0, 0, 327, 328, 1537, 0, 0, 0,
2592 0, 0, 330, 331, 332, 0, 0, 0, 1538, 261,
2593 8, 9, 10, 0, 12, 305, 306, 307, 0, 308,
2594 14, 0, 0, 0, 0, 334, 0, 0, 0, 0,
2595 0, 0, 0, 0, 16, 309, 17, 0, 19, 0,
2596 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2597 317, 0, 23, 0, 0, 0, 318, 319, 320, 321,
2598 322, 26, 0, 323, 262, 0, 0, 0, 324, 0,
2599 0, 0, 0, 0, 325, 0, 0, 326, 0, 0,
2600 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2601 0, 0, 0, 330, 331, 332, 0, 0, 0, 333,
2602 261, 8, 9, 10, 0, 12, 305, 306, 307, 0,
2603 308, 14, 0, 0, 0, 0, 334, 0, 0, 0,
2604 0, 0, 0, 0, 0, 16, 309, 17, 0, 19,
2605 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
2606 316, 317, 0, 23, 0, 0, 0, 318, 319, 320,
2607 321, 322, 26, 0, 27, 262, 0, 0, 0, 324,
2608 0, 0, 0, 0, 0, 325, 0, 0, 326, 0,
2609 0, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2610 0, 0, 0, 0, 330, 331, 332, 0, 0, 0,
2611 333, 261, 8, 9, 10, 0, 12, 484, 306, 307,
2612 0, 308, 14, 0, 0, 0, 0, 334, 0, 0,
2613 0, 0, 0, 0, 0, 0, 16, 309, 17, 0,
2614 19, 0, 310, 311, 312, 20, 0, 313, 314, 315,
2615 21, 316, 317, 0, 23, 0, 0, 0, 318, 319,
2616 320, 321, 322, 26, 0, 27, 262, 0, 0, 0,
2617 324, 0, 0, 0, 0, 0, 325, 0, 0, 326,
2618 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
2619 0, 0, 0, 0, 0, 330, 331, 332, 0, 0,
2620 0, 333, 261, 8, 9, 10, 0, 12, 484, 306,
2621 307, 0, 308, 14, 0, 0, 0, 0, 334, 0,
2622 0, 0, 0, 0, 0, 0, 0, 16, 309, 17,
2623 0, 19, 0, 310, 311, 312, 20, 0, 313, 314,
2624 315, 21, 316, 317, 0, 23, 0, 0, 0, 318,
2625 319, 320, 321, 322, 26, 0, 27, 262, 588, 0,
2626 0, 0, 0, 0, 0, 0, 0, 325, 0, 0,
2627 326, 0, 0, 0, 0, 0, 0, 0, 327, 328,
2628 329, 0, 0, 0, 0, 0, 330, 331, 332, 0,
2629 0, 0, 589, 261, 8, 9, 10, 0, 12, 484,
2630 306, 307, 0, 308, 14, 0, 0, 0, 0, 334,
2631 0, 0, 0, 0, 0, 0, 0, 0, 16, 309,
2632 17, 0, 19, 0, 310, 311, 312, 20, 0, 313,
2633 314, 315, 21, 316, 317, 0, 23, 0, 0, 0,
2634 318, 319, 320, 321, 322, 26, 0, 27, 262, 0,
2635 0, 0, 0, 0, 0, 0, 0, 0, 325, 0,
2636 0, 326, 0, 0, 0, 0, 0, 0, 0, 327,
2637 328, 329, 0, 0, 0, 0, 0, 330, 331, 332,
2638 0, 0, 0, 333, 627, 261, 8, 9, 10, 0,
2639 12, 484, 306, 307, 0, 308, 14, 0, 0, 0,
2640 334, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2641 16, 309, 17, 18, 19, 0, 310, 311, 312, 20,
2642 0, 313, 314, 315, 21, 316, 317, 0, 23, 0,
2643 0, 0, 318, 319, 320, 321, 322, 26, 0, 27,
2644 262, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2645 325, 0, 0, 574, 0, 0, 0, 0, 0, 0,
2646 0, 327, 328, 575, 0, 0, 0, 0, 0, 330,
2647 331, 332, 0, 0, 0, 576, 1193, 8, 9, 10,
2648 0, 12, 484, 306, 307, 0, 308, 14, 0, 0,
2649 0, 0, 334, 0, 0, 0, 0, 0, 0, 0,
2650 0, 16, 309, 17, 0, 19, 0, 310, 311, 312,
2651 20, 0, 313, 314, 315, 21, 316, 317, 0, 23,
2652 0, 0, 0, 318, 319, 320, 321, 322, 26, 0,
2653 27, 262, 0, 0, 0, 324, 0, 0, 0, 0,
2654 0, 325, 0, 0, 326, 0, 0, 0, 0, 0,
2655 0, 0, 327, 328, 329, 0, 0, 0, 0, 0,
2656 330, 331, 332, 0, 0, 0, 333, 7, 8, 9,
2657 10, 0, 12, 305, 306, 307, 0, 308, 14, 0,
2658 0, 0, 0, 334, 0, 0, 0, 0, 0, 0,
2659 0, 0, 16, 309, 17, 18, 19, 0, 310, 311,
2660 312, 20, 0, 313, 314, 315, 21, 316, 317, 0,
2661 23, 0, 0, 0, 318, 319, 320, 321, 322, 26,
2662 0, 27, 28, 0, 0, 0, 0, 0, 0, 0,
2663 0, 0, 325, 0, 0, 1536, 0, 0, 0, 0,
2664 0, 0, 0, 327, 328, 1537, 0, 0, 0, 0,
2665 0, 330, 331, 332, 0, 0, 0, 1538, 261, 8,
2666 9, 10, 0, 12, 484, 306, 307, 0, 308, 14,
2667 0, 0, 0, 0, 334, 0, 0, 0, 0, 0,
2668 0, 0, 0, 16, 309, 17, 0, 19, 0, 310,
2669 311, 312, 20, 0, 313, 314, 315, 21, 316, 317,
2670 0, 23, 0, 0, 0, 318, 319, 320, 321, 322,
2671 26, 0, 27, 262, 0, 0, 0, 0, 0, 0,
2672 0, 0, 0, 325, 0, 0, 326, 0, 0, 0,
2673 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2674 0, 0, 330, 331, 332, 0, 0, 0, 556, 261,
2675 8, 9, 10, 0, 12, 484, 306, 307, 0, 308,
2676 14, 0, 0, 0, 0, 334, 0, 0, 0, 0,
2677 0, 0, 0, 0, 16, 309, 17, 0, 19, 0,
2678 310, 311, 312, 20, 0, 313, 314, 315, 21, 316,
2679 317, 0, 23, 0, 0, 0, 318, 319, 320, 321,
2680 322, 26, 0, 27, 262, 0, 0, 0, 0, 0,
2681 0, 0, 0, 0, 325, 0, 0, 326, 0, 0,
2682 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2683 0, 0, 0, 330, 331, 332, 0, 0, 0, 558,
2684 261, 8, 9, 10, 0, 12, 484, 306, 307, 0,
2685 308, 14, 0, 0, 0, 0, 334, 0, 0, 0,
2686 0, 0, 0, 0, 0, 16, 309, 17, 0, 19,
2687 0, 310, 311, 312, 20, 0, 313, 314, 315, 21,
2688 316, 317, 0, 23, 0, 0, 0, 318, 319, 320,
2689 321, 322, 26, 0, 27, 262, 0, 0, 0, 0,
2690 0, 0, 0, 0, 0, 325, 0, 0, 326, 0,
2691 0, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2692 0, 0, 0, 0, 330, 331, 332, 0, 0, 0,
2693 333, 7, 8, 9, 10, 167, 12, 13, 0, 0,
2694 765, 0, 14, 0, 0, 0, 0, 334, 0, 0,
2695 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
2696 0, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2697 21, 0, 0, 0, 23, 0, 1082, 8, 815, 10,
2698 206, 12, 207, 26, 0, 27, 28, 14, 0, 0,
2699 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
2700 0, 16, 0, 17, 18, 0, 0, 0, 0, 31,
2701 20, 0, 0, 0, 0, 21, 0, 32, 0, 23,
2702 0, 33, 0, 0, 0, 0, 0, 0, 26, 0,
2703 27, 28, 0, 0, 0, 0, 1084, 0, 0, 0,
2704 0, 0, 0, 0, 30, 7, 8, 9, 10, 206,
2705 12, 207, 0, 0, 31, 0, 14, 0, 0, 0,
2706 0, 0, 32, 0, 0, 0, 33, 0, 0, 0,
2707 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
2708 0, 0, 0, 0, 21, 0, 0, 0, 23, 0,
2709 7, 8, 9, 10, 167, 12, 13, 26, 0, 27,
2710 28, 14, 0, 1464, 0, 0, 0, 0, 0, 0,
2711 0, 0, 0, 30, 0, 16, 0, 17, 18, 0,
2712 0, 0, 0, 31, 20, 0, 0, 0, 0, 21,
2713 0, 32, 0, 23, 0, 33, 0, 0, 0, 0,
2714 0, 0, 26, 0, 27, 28, 0, 0, 0, 0,
2715 7, 8, 9, 10, 206, 12, 207, 0, 30, 0,
2716 0, 14, 0, 0, 0, 0, 0, 0, 31, 0,
2717 0, 0, 0, 0, 0, 16, 32, 17, 18, 0,
2718 33, 0, 0, 0, 20, 0, 0, 0, 0, 21,
2719 0, 0, 0, 23, 7, 8, 9, 10, 0, 0,
2720 13, 0, 26, 0, 27, 28, 0, 0, 0, 0,
2721 0, 7, 8, 9, 10, 0, 0, 538, 30, 0,
2722 0, 0, 18, 0, 0, 0, 0, 0, 31, 0,
2723 0, 0, 0, 21, 0, 0, 32, 0, 0, 18,
2724 33, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2725 21, 0, 0, 261, 8, 9, 10, 0, 0, 13,
2726 0, 0, 495, 26, 0, 27, 28, 0, 0, 0,
2727 0, 0, 496, 0, 7, 8, 9, 10, 0, 194,
2728 32, 18, 0, 0, 497, 0, 0, 0, 0, 195,
2729 0, 0, 21, 0, 0, 0, 0, 32, 0, 0,
2730 0, 196, 18, 0, 0, 26, 0, 27, 262, 0,
2731 0, 0, 0, 21, 0, 0, 7, 8, 9, 10,
2732 0, 782, 261, 8, 9, 10, 26, 0, 27, 28,
2733 0, 783, 0, 0, 0, 0, 0, 0, 0, 32,
2734 0, 0, 495, 784, 18, 0, 0, 0, 0, 0,
2735 18, 0, 496, 0, 0, 21, 0, 0, 0, 0,
2736 32, 21, 1520, 0, 497, 0, 0, 0, 26, 0,
2737 27, 28, 0, 0, 26, 0, 27, 262, 0, 0,
2738 0, 0, 0, 0, 194, 0, 0, 0, 0, 0,
2739 782, 0, 0, 0, 195, 0, 0, 0, 0, 0,
2740 783, 0, 32, 0, 0, 0, 196, 0, 32, 0,
2741 0, 0, 784, 1521, 591, 592, 593, 594, 595, 596,
2742 597, 598, 599, 600, 601, 602, 603, 604, 605, 606,
2743 607, 608, 609, 610, 611, 612, 8, 9, 0, 206,
2744 12, 207, 0, 0, 0, 0, 14, 0, 0, 0,
2745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2746 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
2747 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
2748 0, 0, 0, 0, 0, 0, 0, 26, 0, 130,
2749 131, 591, 592, 593, 594, 595, 596, 597, 598, 599,
2750 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
2751 610, 611, 612, 591, 592, 593, 594, 595, 596, 597,
2752 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2753 608, 609, 610, 611, 612, 0, 0, 0, 1292, 0,
2754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2755 0, 0, 0, 681, 0, 0, 1608, 591, 592, 593,
2756 594, 595, 596, 597, 598, 599, 600, 601, 602, 603,
2757 604, 605, 606, 607, 608, 609, 610, 611, 612, 1125,
2758 0, 0, 0, 591, 592, 593, 594, 595, 596, 597,
2759 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
2760 608, 609, 610, 611, 612, 1601, 591, 592, 593, 594,
2761 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
2762 605, 606, 607, 608, 609, 610, 611, 612, 591, 592,
2763 593, 594, 595, 596, 597, 598, 599, 600, 601, 602,
2764 603, 604, 605, 606, 607, 608, 609, 610, 611, 612,
2765 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
2766 601, 602, 0, 604, 605, 606, 607, 608, 609, 610,
2767 611, 612, 596, 597, 598, 599, 600, 601, 602, 603,
2768 604, 605, 606, 607, 608, 609, 610, 611, 612
2771 static const short yycheck[] = { 4,
2772 734, 46, 4, 174, 55, 161, 149, 150, 463, 23,
2773 210, 359, 175, 405, 526, 176, 405, 359, 4, 90,
2774 126, 92, 156, 134, 353, 405, 33, 4, 308, 309,
2775 35, 76, 55, 35, 84, 586, 443, 42, 57, 133,
2776 134, 42, 80, 458, 218, 219, 14, 252, 248, 35,
2777 376, 716, 57, 30, 31, 42, 42, 190, 35, 4,
2778 819, 341, 821, 710, 665, 42, 137, 72, 912, 210,
2779 829, 42, 244, 1351, 1518, 133, 124, 1429, 219, 84,
2780 42, 1517, 42, 88, 11, 90, 33, 92, 59, 481,
2781 35, 60, 481, 11, 55, 182, 11, 42, 4, 7,
2782 80, 301, 107, 108, 1260, 1261, 144, 84, 352, 353,
2783 354, 512, 1541, 1361, 75, 83, 717, 136, 1, 12,
2784 1368, 1277, 1519, 0, 175, 4, 1, 1563, 529, 35,
2785 38, 136, 137, 1562, 139, 38, 42, 55, 106, 61,
2786 109, 1, 149, 150, 151, 63, 59, 476, 4, 33,
2787 63, 9, 175, 353, 359, 835, 35, 176, 487, 136,
2788 165, 841, 109, 42, 169, 580, 204, 60, 169, 214,
2789 63, 176, 149, 150, 4, 5, 59, 48, 165, 35,
2790 63, 108, 169, 169, 59, 190, 42, 109, 165, 196,
2791 108, 136, 169, 108, 1623, 3, 4, 5, 169, 59,
2792 223, 1598, 1566, 63, 62, 84, 109, 169, 1652, 169,
2793 48, 60, 95, 190, 1644, 108, 48, 194, 195, 49,
2794 165, 733, 93, 48, 169, 0, 27, 57, 58, 473,
2795 31, 475, 476, 477, 1390, 95, 60, 25, 1668, 210,
2796 1518, 1677, 1605, 1399, 1400, 55, 1402, 218, 219, 57,
2797 58, 1603, 1616, 63, 12, 93, 350, 136, 4, 108,
2798 61, 93, 94, 169, 65, 149, 150, 151, 93, 94,
2799 108, 59, 952, 81, 1522, 63, 108, 248, 4, 5,
2800 136, 249, 1645, 108, 108, 396, 165, 267, 48, 35,
2801 169, 362, 350, 75, 39, 451, 346, 302, 108, 60,
2802 49, 1145, 60, 968, 75, 63, 971, 95, 109, 165,
2803 55, 190, 196, 169, 662, 76, 3, 4, 5, 6,
2804 735, 728, 729, 703, 1572, 3, 4, 5, 333, 55,
2805 301, 57, 58, 93, 508, 509, 360, 361, 1003, 1004,
2806 388, 346, 516, 93, 363, 8, 9, 994, 108, 354,
2807 61, 14, 495, 496, 528, 42, 407, 362, 363, 1,
2808 60, 3, 4, 5, 498, 93, 59, 693, 509, 346,
2809 57, 58, 61, 547, 37, 61, 1624, 55, 12, 57,
2810 58, 59, 353, 46, 407, 48, 363, 411, 412, 1069,
2811 4, 359, 1548, 1549, 60, 76, 48, 78, 109, 93,
2812 405, 1081, 89, 408, 97, 4, 48, 1, 108, 3,
2813 4, 5, 6, 55, 8, 57, 58, 48, 363, 405,
2814 109, 35, 473, 109, 475, 476, 60, 632, 405, 63,
2815 93, 65, 4, 5, 65, 1115, 35, 1117, 409, 75,
2816 445, 93, 108, 9, 445, 60, 12, 998, 42, 520,
2817 473, 93, 475, 476, 60, 49, 1300, 75, 445, 914,
2818 1061, 55, 93, 57, 58, 709, 489, 346, 445, 474,
2819 60, 61, 477, 518, 445, 498, 481, 49, 48, 502,
2820 4, 5, 48, 554, 363, 57, 58, 510, 495, 496,
2821 497, 48, 93, 108, 60, 89, 62, 63, 48, 65,
2822 445, 48, 108, 48, 481, 476, 55, 363, 527, 81,
2823 76, 55, 78, 61, 63, 520, 62, 1276, 495, 496,
2824 1185, 1186, 527, 93, 4, 5, 405, 93, 94, 9,
2825 25, 75, 27, 57, 58, 25, 93, 508, 509, 4,
2826 5, 61, 108, 93, 94, 516, 93, 527, 93, 554,
2827 527, 556, 48, 558, 48, 1067, 727, 528, 563, 564,
2828 565, 566, 567, 48, 59, 502, 445, 107, 63, 65,
2829 190, 576, 55, 510, 624, 55, 547, 57, 58, 48,
2830 65, 586, 527, 694, 589, 48, 3, 4, 5, 445,
2831 701, 71, 57, 58, 140, 1050, 1051, 93, 94, 93,
2832 95, 81, 481, 995, 60, 61, 995, 701, 93, 1024,
2833 156, 495, 496, 497, 962, 995, 860, 668, 623, 624,
2834 962, 527, 796, 27, 93, 696, 55, 31, 48, 59,
2835 93, 94, 804, 805, 48, 65, 31, 642, 810, 48,
2836 57, 58, 666, 60, 649, 668, 75, 624, 527, 3,
2837 4, 5, 63, 7, 8, 9, 60, 61, 709, 59,
2838 860, 65, 75, 640, 641, 642, 1, 213, 3, 4,
2839 5, 527, 649, 93, 94, 221, 48, 31, 958, 93,
2840 1135, 1136, 48, 37, 93, 653, 709, 48, 702, 55,
2841 934, 696, 238, 55, 4, 5, 1208, 941, 669, 59,
2842 1048, 55, 835, 57, 58, 59, 1048, 813, 841, 75,
2843 48, 48, 799, 48, 60, 61, 960, 55, 756, 733,
2844 55, 93, 57, 58, 59, 60, 25, 93, 27, 3,
2845 4, 5, 93, 7, 8, 9, 48, 75, 709, 49,
2846 93, 1253, 55, 48, 751, 624, 751, 57, 58, 103,
2847 104, 105, 759, 48, 759, 93, 93, 962, 93, 25,
2848 59, 27, 75, 642, 63, 836, 837, 1222, 839, 55,
2849 649, 81, 749, 750, 751, 826, 55, 822, 823, 63,
2850 75, 93, 759, 57, 58, 405, 1030, 832, 93, 757,
2851 63, 75, 1036, 59, 55, 1250, 95, 63, 93, 94,
2852 819, 63, 821, 826, 76, 782, 783, 826, 827, 109,
2853 829, 48, 108, 108, 819, 63, 821, 1151, 1152, 952,
2854 1154, 1150, 827, 108, 829, 796, 960, 75, 852, 95,
2855 835, 836, 837, 108, 839, 108, 841, 1292, 108, 819,
2856 1011, 821, 819, 1048, 821, 55, 108, 827, 55, 829,
2857 4, 5, 829, 63, 11, 9, 93, 94, 835, 97,
2858 45, 481, 60, 61, 841, 75, 55, 751, 75, 60,
2859 55, 108, 751, 58, 819, 759, 821, 31, 4, 5,
2860 759, 61, 8, 9, 829, 76, 75, 78, 14, 860,
2861 1033, 1034, 1064, 1065, 1066, 3, 25, 1631, 27, 1042,
2862 1043, 55, 1036, 57, 58, 93, 911, 453, 55, 61,
2863 915, 37, 75, 819, 48, 821, 63, 71, 55, 94,
2864 46, 94, 48, 829, 1379, 48, 63, 81, 75, 55,
2865 59, 57, 58, 1177, 63, 63, 1069, 111, 75, 93,
2866 819, 946, 821, 489, 93, 71, 60, 952, 1081, 93,
2867 829, 956, 498, 60, 61, 81, 835, 4, 5, 93,
2868 94, 1416, 841, 819, 988, 821, 95, 93, 94, 515,
2869 93, 94, 27, 829, 108, 952, 31, 954, 955, 956,
2870 1224, 55, 1115, 55, 1117, 108, 63, 1074, 1075, 63,
2871 995, 63, 997, 998, 962, 848, 849, 850, 75, 93,
2872 1038, 75, 75, 75, 75, 60, 61, 1030, 55, 995,
2873 57, 58, 55, 1036, 1101, 3, 4, 5, 995, 1106,
2874 63, 1072, 642, 75, 71, 1440, 1033, 1034, 1035, 649,
2875 1035, 1360, 75, 48, 81, 1042, 1043, 1044, 75, 1044,
2876 1085, 1456, 11, 1177, 108, 190, 1091, 1092, 1053, 1072,
2877 1095, 1096, 60, 1072, 1099, 1093, 1033, 1034, 1035, 108,
2878 3, 4, 5, 6, 1069, 1042, 1043, 1044, 108, 57,
2879 58, 59, 48, 952, 48, 108, 1081, 956, 93, 94,
2880 1048, 55, 63, 1102, 75, 1109, 1110, 1111, 1159, 55,
2881 1224, 75, 1069, 108, 75, 60, 61, 1102, 75, 42,
2882 109, 75, 84, 85, 1081, 108, 49, 109, 310, 311,
2883 1115, 108, 1117, 1093, 57, 58, 995, 93, 94, 93,
2884 1125, 108, 1102, 108, 326, 1102, 1541, 329, 60, 61,
2885 332, 751, 108, 335, 3, 4, 5, 339, 1115, 759,
2886 1117, 60, 61, 65, 65, 347, 89, 1562, 111, 1033,
2887 1034, 1035, 108, 60, 1159, 27, 1035, 1102, 1042, 1043,
2888 1044, 60, 61, 75, 1556, 1044, 75, 1556, 75, 76,
2889 55, 78, 60, 61, 1589, 75, 111, 1182, 111, 1266,
2890 1267, 108, 1269, 1270, 108, 1272, 4, 5, 57, 58,
2891 1069, 9, 108, 59, 1208, 1358, 1102, 1360, 1359, 55,
2892 108, 1224, 1081, 1180, 1181, 1182, 8, 1662, 1623, 93,
2893 48, 65, 109, 31, 1219, 835, 60, 1219, 93, 109,
2894 55, 841, 61, 1102, 1229, 37, 1249, 48, 65, 12,
2895 48, 1560, 65, 1648, 65, 1479, 1115, 55, 1117, 57,
2896 58, 108, 1219, 108, 27, 1268, 1102, 61, 31, 108,
2897 1227, 1228, 1229, 71, 8, 9, 63, 1276, 111, 65,
2898 14, 4, 5, 81, 65, 48, 9, 76, 60, 1246,
2899 1247, 1276, 93, 94, 1219, 93, 94, 60, 61, 60,
2900 63, 108, 65, 37, 65, 108, 1310, 108, 4, 5,
2901 3, 1271, 46, 6, 75, 76, 1276, 108, 1542, 1276,
2902 1387, 1388, 76, 1182, 108, 108, 76, 1358, 76, 1360,
2903 93, 94, 55, 1219, 57, 58, 76, 190, 31, 464,
2904 81, 82, 83, 84, 85, 108, 108, 63, 71, 42,
2905 108, 1276, 952, 63, 60, 1358, 956, 1360, 81, 55,
2906 1219, 57, 58, 108, 57, 58, 1351, 111, 63, 108,
2907 1229, 94, 1397, 1398, 1359, 71, 1361, 108, 71, 1361,
2908 1560, 109, 108, 1368, 108, 81, 1368, 94, 81, 111,
2909 1276, 1376, 574, 575, 1351, 995, 89, 1533, 94, 89,
2910 93, 88, 75, 90, 1361, 92, 48, 108, 934, 1360,
2911 108, 1368, 111, 1536, 1537, 941, 108, 1276, 109, 4,
2912 5, 109, 1489, 1490, 1491, 108, 1351, 108, 108, 61,
2913 555, 60, 108, 60, 960, 1035, 1361, 65, 60, 63,
2914 1276, 1466, 108, 1368, 1044, 108, 31, 93, 93, 93,
2915 137, 109, 139, 93, 108, 108, 111, 3, 4, 5,
2916 1611, 7, 8, 9, 8, 1351, 33, 108, 111, 1069,
2917 55, 108, 57, 58, 108, 1361, 1479, 108, 1545, 1546,
2918 1467, 1081, 1368, 108, 65, 31, 71, 108, 108, 614,
2919 31, 37, 1351, 1478, 108, 620, 81, 622, 623, 7,
2920 8, 9, 1361, 190, 1030, 108, 14, 55, 93, 1368,
2921 1036, 57, 58, 108, 108, 1115, 108, 1117, 63, 1476,
2922 1477, 1478, 111, 31, 649, 48, 108, 1512, 108, 37,
2923 1561, 656, 1517, 1518, 1519, 1517, 108, 1522, 46, 1542,
2924 1522, 79, 80, 81, 82, 83, 84, 85, 1615, 1536,
2925 1537, 1538, 63, 1538, 96, 1512, 63, 61, 1561, 61,
2926 1517, 1518, 1519, 9, 61, 1522, 1591, 16, 108, 30,
2927 31, 1556, 33, 3, 4, 5, 108, 7, 1563, 1536,
2928 1537, 1563, 1182, 108, 108, 111, 108, 1572, 93, 61,
2929 1572, 61, 1517, 1518, 93, 55, 57, 1522, 59, 1556,
2930 141, 65, 93, 1467, 65, 146, 1563, 93, 38, 1560,
2931 17, 464, 55, 1598, 61, 1572, 108, 4, 5, 1478,
2932 61, 108, 9, 107, 102, 55, 108, 57, 58, 1229,
2933 11, 1517, 1518, 108, 759, 61, 1522, 324, 1563, 1624,
2934 61, 1598, 1624, 61, 31, 93, 60, 1572, 773, 65,
2935 108, 1177, 11, 1512, 195, 61, 61, 108, 1517, 1518,
2936 1519, 48, 11, 1522, 108, 61, 61, 1624, 55, 61,
2937 57, 58, 1536, 1537, 1538, 362, 61, 1563, 0, 0,
2938 141, 0, 170, 35, 71, 146, 1572, 2, 149, 150,
2939 151, 1454, 1677, 694, 81, 1677, 995, 1556, 1224, 1624,
2940 169, 1610, 555, 445, 1563, 827, 93, 94, 3, 4,
2941 5, 6, 165, 1572, 1208, 176, 94, 139, 239, 260,
2942 1677, 182, 1439, 1249, 1677, 3, 4, 5, 304, 3,
2943 4, 5, 6, 194, 195, 196, 981, 740, 1624, 1598,
2944 675, 923, 243, 1253, 1067, 1102, 827, 42, 677, 210,
2945 1273, 974, 1677, 624, 49, 124, 201, 218, 219, 4,
2946 5, 614, 57, 58, 9, 1624, 350, 620, 42, 622,
2947 623, 49, 954, 955, 48, 1631, 463, 464, 1361, 57,
2948 58, 55, 1220, 57, 58, 1577, 31, 4, 5, 1643,
2949 915, 1677, 9, 768, 89, 1648, 1376, 71, -1, 260,
2950 -1, -1, -1, 656, 929, -1, 931, 81, 933, -1,
2951 55, -1, 57, 58, 31, 89, -1, -1, 1677, 93,
2952 94, -1, -1, -1, -1, -1, 71, -1, -1, 4,
2953 5, 48, -1, 520, -1, -1, 81, -1, 55, -1,
2954 57, 58, -1, -1, -1, -1, -1, -1, 93, 4,
2955 5, -1, -1, -1, 71, -1, -1, -1, 983, -1,
2956 1042, 1043, -1, -1, 81, -1, -1, 554, 555, -1,
2957 33, -1, 333, -1, 49, 562, 93, 94, 1478, -1,
2958 -1, 422, 57, 58, 425, -1, 3, 4, 5, -1,
2959 3, 4, 5, 1018, 49, -1, 437, 794, -1, 586,
2960 -1, 588, 57, 58, 591, 592, 81, 594, 595, 596,
2961 597, 598, 599, 600, 601, 602, 603, 604, 605, 606,
2962 607, 608, 609, 610, 611, 612, 81, 614, 3, 4,
2963 5, 6, -1, 620, -1, 622, 623, 834, 55, -1,
2964 57, 58, 55, 840, 57, 58, -1, 408, 409, 490,
2965 -1, -1, 493, 1479, 4, 5, 1556, -1, -1, 9,
2966 -1, 422, 649, -1, 425, -1, 507, 42, -1, 656,
2967 431, 432, 433, 4, -1, 1157, 437, -1, -1, -1,
2968 55, 31, 57, 58, -1, -1, 61, 150, 151, -1,
2969 -1, -1, -1, 680, 681, -1, 71, -1, 48, -1,
2970 -1, -1, -1, -1, 35, 55, 81, 57, 58, 696,
2971 -1, 42, -1, 474, 89, 476, 1542, -1, 93, -1,
2972 -1, 71, -1, -1, 55, -1, 57, -1, -1, 490,
2973 -1, 81, 493, 196, 495, 496, 497, 3, 4, 5,
2974 501, -1, -1, 93, 94, -1, 507, 508, 509, -1,
2975 947, 512, 949, 740, -1, 516, -1, 14, -1, -1,
2976 -1, -1, 915, -1, -1, 22, 4, 5, 529, -1,
2977 -1, 9, 759, -1, -1, -1, 929, -1, 931, -1,
2978 933, -1, -1, 49, -1, 1210, 773, 1212, -1, 1214,
2979 -1, 57, 58, 31, -1, 556, -1, 558, -1, 3,
2980 4, 5, -1, -1, -1, 136, -1, -1, 65, 140,
2981 48, -1, -1, 574, 575, 576, -1, 55, -1, 57,
2982 58, 3, 4, 5, 6, -1, -1, -1, 589, -1,
2983 983, 818, -1, 71, 165, -1, -1, -1, 169, 3,
2984 4, 5, 6, 81, 175, 176, 3, 4, 5, 836,
2985 837, 55, 839, 57, 58, 93, 94, 39, 40, -1,
2986 42, -1, -1, -1, -1, 1018, -1, 124, -1, 1351,
2987 333, -1, -1, 55, -1, 57, 58, -1, 42, 640,
2988 641, 642, 3, 4, 5, -1, -1, -1, 649, 876,
2989 -1, 148, 223, 57, 58, 1320, 3, 4, 5, -1,
2990 57, 58, 3, 4, 5, -1, -1, 89, 669, 750,
2991 -1, -1, -1, 3, 4, 5, 6, 1114, -1, 1116,
2992 4, 5, -1, -1, 8, 9, -1, 914, 915, -1,
2993 14, -1, -1, -1, -1, -1, 57, 58, -1, 780,
2994 781, 31, 929, -1, 931, -1, 933, 788, 709, 710,
2995 57, 58, 42, 37, -1, -1, 57, 58, 48, -1,
2996 -1, -1, 46, -1, 48, 55, -1, 57, 58, 432,
2997 433, 55, -1, 57, 58, -1, 1173, -1, -1, -1,
2998 -1, 71, 239, 240, -1, 972, -1, 71, 749, 750,
2999 751, 81, -1, -1, -1, 252, 983, 81, 759, 89,
3000 -1, -1, -1, 93, 94, -1, -1, -1, -1, 93,
3001 94, 998, 773, -1, 1001, 3, 4, 5, -1, 780,
3002 781, 782, 783, 784, 3, 4, 5, 788, -1, -1,
3003 -1, 1018, 363, 496, 497, 796, -1, -1, 799, -1,
3004 -1, -1, 1467, -1, 3, 4, 5, 6, -1, -1,
3005 3, 4, 5, 6, 1536, 1537, -1, 1210, 80, 1212,
3006 1257, 1214, -1, 1050, 1051, 1262, 827, -1, 325, 57,
3007 58, -1, -1, -1, -1, -1, 407, -1, 57, 58,
3008 -1, -1, 104, 42, 3, 4, 5, 6, -1, 42,
3009 49, -1, -1, 556, -1, 558, 49, 1084, 57, 58,
3010 107, 108, -1, -1, 57, 58, -1, -1, -1, 366,
3011 -1, 133, 575, 576, 445, -1, -1, 1314, 375, -1,
3012 -1, -1, 144, 42, -1, -1, 589, -1, 81, -1,
3013 89, 388, -1, -1, -1, -1, 89, -1, 57, 58,
3014 -1, -1, 473, 474, 475, 476, -1, -1, 1135, 1136,
3015 481, -1, 1139, 3, 4, 5, 6, -1, 489, 9,
3016 -1, 4, 5, -1, -1, -1, 9, 1320, -1, -1,
3017 89, 502, 1159, -1, 935, -1, -1, 938, -1, 510,
3018 -1, 31, 204, -1, 191, -1, 649, -1, 31, 950,
3019 1031, 1032, 42, 954, 955, 956, 527, -1, 48, 1040,
3020 -1, 3, 4, 5, 6, 55, -1, 57, 58, 1406,
3021 1407, -1, 55, -1, 57, 58, -1, 239, -1, -1,
3022 -1, 71, -1, 1210, -1, 1212, 1423, 1214, 71, -1,
3023 -1, 81, -1, 994, -1, 1222, -1, -1, 81, 89,
3024 42, -1, -1, 93, 94, 267, -1, -1, -1, -1,
3025 93, -1, -1, 55, -1, 57, 58, -1, -1, -1,
3026 -1, -1, -1, 1250, -1, 4, 5, 524, -1, -1,
3027 1031, 1032, 1033, 1034, 1035, -1, -1, 1264, 1265, 1040,
3028 -1, 1042, 1043, 1044, 48, 1482, 1483, 89, 751, -1,
3029 4, 5, 31, 1054, 1055, 1056, 759, -1, -1, -1,
3030 -1, 1498, 1499, -1, -1, 1292, -1, -1, -1, 48,
3031 773, -1, -1, 1074, 1075, -1, 55, 31, 57, 58,
3032 783, 784, -1, 87, 88, -1, 333, 91, 92, 93,
3033 94, 588, 71, 1320, 48, -1, 358, 668, 194, 195,
3034 1101, 55, 81, 57, 58, 1106, -1, 3, 4, 5,
3035 6, -1, -1, 1340, 93, 94, -1, 71, -1, -1,
3036 3, 4, 5, 6, 7, 8, 9, 81, -1, -1,
3037 -1, 14, 4, 5, -1, 632, -1, -1, 709, 93,
3038 94, -1, -1, -1, 1225, 1226, 42, -1, 31, -1,
3039 -1, 1232, 1379, 415, 37, -1, -1, -1, -1, 42,
3040 -1, 57, 58, 46, -1, 48, 1393, -1, -1, -1,
3041 -1, -1, 55, -1, 57, 58, 48, -1, -1, 1180,
3042 1181, 1182, -1, 55, -1, 57, 58, -1, 71, 1416,
3043 7, 8, 9, 89, -1, -1, -1, 14, 81, 71,
3044 -1, -1, -1, -1, -1, 702, 89, -1, -1, 81,
3045 93, 94, -1, 710, 31, -1, -1, -1, -1, -1,
3046 37, 93, 94, -1, 1225, 1226, 1227, 1228, 1229, 46,
3047 -1, 1232, 4, 5, -1, 3, 4, 5, 6, -1,
3048 1467, -1, -1, 740, 61, 1246, 1247, 1248, 819, -1,
3049 821, -1, 955, 956, -1, 826, 827, 504, 829, -1,
3050 1487, 1488, 524, -1, -1, 1266, 1267, -1, 1269, 1270,
3051 -1, 1272, -1, 45, 42, -1, -1, 4, -1, -1,
3052 -1, 49, -1, 55, -1, 57, 58, 14, 550, 57,
3053 58, -1, -1, 1520, -1, -1, -1, 24, 3, 4,
3054 5, 6, -1, 30, 31, -1, 33, -1, 35, 556,
3055 -1, 558, -1, 81, -1, 42, 563, -1, -1, -1,
3056 -1, 89, -1, -1, 1551, -1, 31, -1, 55, 576,
3057 57, 1034, 1035, -1, -1, -1, -1, 42, 65, -1,
3058 1043, 1044, 589, 48, -1, 72, 593, -1, -1, -1,
3059 55, -1, 57, 58, -1, -1, 83, 84, 1359, 1360,
3060 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
3061 1371, 1372, -1, 1374, 621, 637, 81, -1, -1, 106,
3062 627, -1, -1, -1, 89, -1, 1387, 1388, 93, 94,
3063 652, 7, 8, 9, 490, -1, 643, 493, 14, 495,
3064 496, -1, -1, -1, -1, 82, -1, 134, -1, 136,
3065 -1, 507, -1, 140, 141, 31, -1, -1, 145, 146,
3066 -1, 37, 149, 150, 151, -1, -1, -1, -1, -1,
3067 46, 3, 4, 5, 6, 1662, -1, -1, 165, -1,
3068 -1, -1, 169, -1, -1, 61, -1, -1, 175, 176,
3069 -1, -1, 3, 4, 5, 6, -1, -1, 9, 1030,
3070 -1, -1, -1, -1, -1, -1, 1467, 194, 195, 196,
3071 42, -1, -1, -1, -1, 1476, 1477, 1478, 1181, 1182,
3072 31, -1, 159, 55, 981, 57, 58, -1, 1489, 1490,
3073 1491, 42, -1, -1, 756, -1, 223, 994, -1, 71,
3074 -1, 1072, -1, -1, 55, -1, 57, 58, -1, 81,
3075 -1, -1, -1, 240, -1, 192, -1, 89, -1, -1,
3076 71, 93, 249, 785, -1, 1228, 1229, -1, 205, -1,
3077 81, 1102, -1, 260, -1, 1536, 1537, 1538, 89, -1,
3078 -1, -1, 93, -1, 1545, 1546, 3, 4, 5, 6,
3079 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3080 7, 8, 9, 14, -1, -1, -1, 14, -1, -1,
3081 -1, -1, -1, -1, -1, 302, 303, 28, -1, 30,
3082 31, 32, -1, -1, 31, 42, 37, 38, -1, 851,
3083 37, 42, 49, -1, -1, 46, 47, -1, 49, 46,
3084 57, 58, -1, -1, 55, -1, 57, 58, -1, -1,
3085 61, -1, 63, -1, 1615, -1, -1, -1, -1, 346,
3086 71, -1, -1, 350, 81, 352, 353, 354, -1, -1,
3087 81, -1, 89, -1, -1, -1, 363, -1, 89, 1136,
3088 -1, -1, 93, 77, 78, 79, 80, 81, 82, 83,
3089 84, 85, -1, 749, 750, -1, -1, -1, 109, -1,
3090 -1, -1, -1, 4, 5, -1, -1, -1, 9, 396,
3091 -1, -1, 919, -1, -1, -1, -1, -1, 405, -1,
3092 407, 408, -1, -1, 780, 781, 782, 783, -1, -1,
3093 31, -1, 788, -1, -1, 422, -1, 1268, 425, 961,
3094 -1, 963, 1273, -1, -1, 1276, 953, 48, -1, 956,
3095 437, -1, -1, -1, 55, -1, 57, 58, 445, 1216,
3096 -1, -1, -1, -1, -1, 1222, -1, -1, -1, -1,
3097 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3098 81, -1, -1, -1, -1, -1, 473, 474, 475, 476,
3099 477, -1, 93, 94, 481, -1, -1, -1, -1, -1,
3100 -1, -1, 489, 490, 1467, -1, 493, -1, 495, 496,
3101 497, 498, -1, -1, -1, 502, 1038, -1, -1, 1041,
3102 507, -1, -1, 510, -1, -1, -1, 1358, 1359, 1360,
3103 3, 4, 5, 6, 7, 8, 9, 1044, -1, -1,
3104 527, 14, -1, -1, -1, -1, -1, -1, 3, 4,
3105 5, 6, -1, -1, -1, 28, -1, 30, 31, 32,
3106 -1, -1, -1, 500, 37, 552, -1, -1, 505, 42,
3107 -1, 1093, -1, 46, 1537, 1538, 49, 564, 565, 566,
3108 567, -1, 55, -1, 57, 58, -1, 42, 1345, 1346,
3109 -1, -1, -1, 530, 49, -1, -1, -1, 71, 536,
3110 -1, -1, 57, 58, 3, 4, 5, 6, 81, -1,
3111 9, 548, 549, -1, 551, -1, 89, -1, -1, -1,
3112 93, -1, -1, -1, 97, -1, 81, -1, -1, -1,
3113 640, 641, 31, -1, 89, -1, -1, 624, -1, 626,
3114 -1, -1, -1, 42, -1, -1, -1, -1, 1155, 48,
3115 -1, 638, -1, 640, 641, 642, 55, -1, 57, 58,
3116 -1, -1, 649, -1, -1, -1, 653, -1, -1, -1,
3117 -1, -1, 71, -1, 1431, 1031, 1032, 1033, 1034, -1,
3118 -1, 668, 81, -1, 1040, -1, 1042, 1043, -1, -1,
3119 89, 107, 108, -1, 93, 94, 1453, 1454, 1054, 1055,
3120 1056, 4, 5, -1, -1, 8, 9, 694, 645, 646,
3121 -1, 14, -1, 650, 701, -1, -1, -1, -1, -1,
3122 -1, -1, 709, 710, -1, 28, -1, 30, -1, -1,
3123 1561, -1, -1, -1, 37, -1, -1, -1, -1, 749,
3124 750, -1, -1, 46, -1, -1, -1, -1, -1, 1271,
3125 -1, -1, 55, -1, 57, 58, 59, -1, -1, -1,
3126 -1, -1, 749, 750, 751, -1, 3, 4, 5, 6,
3127 757, -1, 759, 1530, 190, -1, -1, -1, -1, -1,
3128 -1, 1288, 1289, 1290, 1291, -1, -1, -1, -1, -1,
3129 93, 1298, -1, 780, 781, 782, 783, 784, -1, -1,
3130 -1, 788, 39, 40, -1, 42, -1, -1, -1, -1,
3131 -1, -1, -1, -1, -1, -1, 753, -1, 55, -1,
3132 57, 58, -1, -1, -1, -1, 4, 5, -1, 816,
3133 8, 9, 819, -1, 821, -1, 14, 1344, -1, 826,
3134 827, -1, 829, -1, -1, -1, -1, -1, 835, 786,
3135 28, 1373, 30, -1, 841, -1, -1, -1, -1, 37,
3136 -1, 848, 849, 850, -1, -1, -1, -1, 46, 1225,
3137 1226, 1227, 1228, 860, -1, -1, 1232, 55, -1, 57,
3138 58, -1, -1, -1, 3, 4, 5, 6, -1, -1,
3139 1246, 1247, -1, -1, -1, -1, -1, -1, 3, 4,
3140 5, 6, 7, 8, 9, 842, -1, 844, -1, 14,
3141 -1, -1, -1, -1, -1, 93, -1, 333, -1, -1,
3142 -1, -1, -1, 42, 911, 935, 31, -1, 938, -1,
3143 49, -1, 37, -1, -1, -1, -1, 42, 57, 58,
3144 950, 46, 1449, 48, 954, 955, -1, 934, 935, -1,
3145 55, 938, 57, 58, 941, -1, -1, -1, -1, 946,
3146 -1, -1, 81, 950, -1, 952, 71, 954, 955, 956,
3147 89, -1, -1, 960, -1, 962, 81, -1, -1, -1,
3148 917, 918, -1, 920, 89, -1, -1, -1, 93, 405,
3149 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3150 81, 82, 83, 84, 85, 1512, -1, -1, 995, -1,
3151 997, 1518, 1519, -1, 951, 1371, 1372, -1, 1374, -1,
3152 -1, 1031, 1032, 1033, 1034, -1, -1, -1, -1, -1,
3153 1040, 1538, 1042, 1043, -1, -1, -1, -1, 3, 4,
3154 5, 6, -1, 1030, 1031, 1032, 1033, 1034, 1035, 1036,
3155 -1, -1, -1, 1040, -1, 1042, 1043, 1044, -1, -1,
3156 -1, 1048, -1, -1, -1, 481, 1053, 1054, 1055, 1056,
3157 -1, -1, -1, -1, -1, -1, -1, 42, -1, -1,
3158 -1, -1, 1069, -1, 49, 1072, -1, -1, -1, -1,
3159 -1, 1598, 57, 58, 1081, -1, -1, -1, -1, -1,
3160 -1, -1, 1039, -1, -1, -1, -1, 1094, -1, -1,
3161 -1, 1618, -1, -1, -1, 1102, 81, -1, -1, -1,
3162 1476, 1477, -1, -1, 89, -1, -1, -1, 1115, -1,
3163 1117, 1068, -1, 1640, -1, -1, -1, -1, 1125, -1,
3164 556, -1, 558, 1080, -1, 1652, -1, 563, 564, 565,
3165 566, 567, -1, -1, -1, -1, -1, -1, 4, 5,
3166 576, 7, 8, 9, 1151, 1152, 12, 1154, 14, -1,
3167 1180, 1181, -1, 589, -1, -1, -1, -1, -1, -1,
3168 1536, 1537, 28, -1, 30, 31, -1, -1, -1, -1,
3169 1177, 37, -1, 1180, 1181, 1182, -1, -1, -1, -1,
3170 46, -1, 48, -1, -1, -1, -1, 623, -1, 55,
3171 -1, 57, 58, -1, -1, 1225, 1226, 1227, 1228, -1,
3172 -1, -1, 1232, -1, -1, 71, 642, -1, -1, -1,
3173 -1, 1168, -1, 649, -1, 81, -1, 1224, 1225, 1226,
3174 1227, 1228, 1229, -1, -1, 1232, 4, 93, 94, -1,
3175 -1, -1, -1, -1, -1, -1, 14, -1, -1, 1246,
3176 1247, 1248, 1249, -1, -1, 23, 24, -1, -1, -1,
3177 -1, -1, 30, 31, -1, 33, -1, 35, 4, 5,
3178 -1, 1268, 8, 9, 42, -1, 1273, -1, 14, 1276,
3179 -1, -1, -1, 1230, -1, -1, -1, 55, -1, 57,
3180 -1, -1, 28, -1, 30, -1, -1, 65, -1, -1,
3181 -1, 37, -1, -1, 72, -1, -1, -1, -1, -1,
3182 46, -1, -1, 4, 5, -1, 84, 8, 9, 55,
3183 -1, 57, 58, 14, -1, 751, -1, -1, -1, -1,
3184 -1, 1278, -1, 759, -1, 1282, -1, 28, -1, 30,
3185 -1, -1, -1, -1, -1, -1, 37, -1, -1, -1,
3186 -1, 1371, 1372, -1, 1374, 46, -1, 48, -1, -1,
3187 -1, 1358, 1359, 1360, 55, -1, 57, 58, 136, 1316,
3188 -1, -1, 140, 141, 1371, 1372, -1, 1374, 146, 1376,
3189 71, 149, 150, 151, -1, -1, 3, 4, 5, 6,
3190 81, -1, 9, -1, -1, -1, -1, 165, -1, -1,
3191 -1, 169, 93, 94, -1, -1, -1, 175, 176, 835,
3192 -1, -1, -1, -1, 31, 841, -1, -1, -1, -1,
3193 -1, -1, -1, -1, -1, 42, 194, 195, 196, -1,
3194 -1, 48, -1, -1, -1, 1382, -1, -1, 55, 1386,
3195 57, 58, 4, 5, -1, 7, 8, 9, -1, -1,
3196 12, -1, 14, -1, 71, 223, 1476, 1477, -1, -1,
3197 -1, 1408, 1409, -1, 81, -1, 28, -1, 30, 31,
3198 1467, -1, 89, -1, -1, 37, 93, 94, -1, 1476,
3199 1477, 1478, 1479, -1, 46, 911, 48, -1, -1, -1,
3200 -1, -1, 260, 55, -1, 57, 58, 3, 4, 5,
3201 6, -1, -1, 9, -1, -1, -1, -1, -1, 71,
3202 -1, -1, -1, -1, -1, -1, -1, -1, -1, 81,
3203 946, -1, -1, -1, -1, 31, 952, -1, -1, -1,
3204 956, 93, 94, -1, 302, 303, 42, -1, -1, 1536,
3205 1537, 1538, 48, -1, -1, 1542, -1, -1, -1, 55,
3206 -1, 57, 58, -1, -1, -1, -1, -1, -1, 1556,
3207 -1, -1, -1, -1, 1561, 71, -1, -1, -1, 995,
3208 -1, 997, -1, -1, -1, 81, -1, -1, 346, -1,
3209 -1, -1, 350, 89, 352, 353, 354, 93, 94, -1,
3210 -1, 359, -1, -1, -1, 363, 3, 4, 5, 6,
3211 -1, -1, 9, -1, -1, -1, -1, -1, -1, 1035,
3212 -1, -1, -1, -1, -1, -1, -1, -1, 1044, -1,
3213 -1, -1, -1, -1, 31, -1, -1, 1053, 396, -1,
3214 -1, -1, -1, -1, -1, 42, -1, 405, -1, 407,
3215 408, 48, -1, 1069, -1, -1, -1, -1, 55, -1,
3216 57, 58, -1, -1, 422, 1081, -1, 425, -1, -1,
3217 -1, -1, -1, -1, 71, -1, -1, -1, -1, 437,
3218 -1, -1, -1, -1, 81, -1, -1, 445, -1, -1,
3219 -1, -1, 89, -1, -1, -1, 93, 94, -1, 1115,
3220 1, 1117, 3, 4, 5, 6, 7, 8, 9, 1125,
3221 -1, -1, -1, 14, -1, 473, 474, 475, 476, 477,
3222 -1, -1, -1, 481, -1, -1, -1, 28, -1, 30,
3223 31, 489, 490, -1, -1, 493, 37, 495, 496, 497,
3224 498, 42, -1, -1, 502, 46, -1, -1, 49, 507,
3225 -1, -1, 510, -1, 55, -1, 57, 58, -1, -1,
3226 61, -1, -1, -1, -1, -1, 1182, -1, 526, 527,
3227 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3228 81, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3229 -1, -1, 93, 73, 74, 75, 76, 77, 78, 79,
3230 80, 81, 82, 83, 84, 85, 564, 565, 566, 567,
3231 -1, -1, -1, 1229, -1, -1, -1, -1, -1, -1,
3232 1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
3233 11, 12, 13, 14, 74, 75, 76, 77, 78, 79,
3234 80, 81, 82, 83, 84, 85, -1, 28, 29, 30,
3235 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3236 41, 42, 43, 44, -1, 46, 624, 48, 626, 50,
3237 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3238 -1, 62, 640, 641, 642, -1, -1, 68, -1, -1,
3239 71, 649, -1, -1, -1, -1, -1, -1, 79, 80,
3240 81, -1, -1, -1, 662, -1, 87, 88, 89, -1,
3241 668, -1, 93, 94, -1, -1, 3, 4, 5, 6,
3242 -1, -1, -1, -1, -1, -1, -1, -1, -1, 110,
3243 -1, -1, -1, -1, -1, -1, 694, -1, -1, -1,
3244 -1, -1, -1, -1, 702, -1, -1, -1, -1, -1,
3245 -1, 709, 710, -1, -1, 42, -1, -1, -1, 1,
3246 1376, 3, 4, 5, 6, 7, 8, 9, 55, -1,
3247 57, 58, 14, -1, 61, 733, 63, -1, -1, -1,
3248 -1, -1, -1, -1, 71, -1, 28, -1, 30, 31,
3249 32, 749, 750, 751, 81, 37, 38, -1, -1, -1,
3250 42, 759, 89, -1, 46, 47, 93, 49, -1, -1,
3251 -1, -1, -1, 55, -1, 57, 58, -1, -1, 61,
3252 -1, 63, 780, 781, 782, 783, 784, -1, -1, 71,
3253 788, -1, -1, 3, 4, 5, 6, -1, -1, 81,
3254 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
3255 -1, 93, -1, -1, -1, -1, -1, -1, 816, -1,
3256 -1, 819, 1478, 821, -1, -1, -1, 109, 826, 827,
3257 -1, 829, 42, -1, -1, -1, -1, 835, -1, 49,
3258 -1, -1, -1, 841, -1, -1, -1, 57, 58, -1,
3259 848, 849, 850, -1, -1, -1, 3, 4, 5, 6,
3260 -1, 1, 860, 3, 4, 5, 6, 7, 8, 9,
3261 -1, 81, -1, -1, 14, -1, -1, -1, -1, 89,
3262 -1, -1, 1538, -1, 31, -1, -1, -1, 28, -1,
3263 30, 31, 32, -1, -1, 42, -1, 37, 38, -1,
3264 1556, 48, 42, -1, -1, -1, 46, 47, 55, 49,
3265 57, 58, -1, 911, -1, 55, -1, 57, 58, -1,
3266 -1, 61, -1, 63, 71, -1, -1, -1, -1, -1,
3267 -1, 71, -1, -1, 81, -1, 934, 935, -1, -1,
3268 938, 81, 89, 941, -1, -1, 93, 94, 946, 89,
3269 -1, -1, 950, 93, 952, -1, 954, 955, 956, -1,
3270 -1, -1, 960, -1, 962, -1, -1, -1, -1, 109,
3271 -1, -1, -1, -1, -1, 3, 4, 5, 6, -1,
3272 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3273 -1, -1, -1, -1, -1, -1, -1, 995, -1, 997,
3274 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
3275 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3276 48, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3277 58, -1, 1030, 1031, 1032, 1033, 1034, 1035, 1036, -1,
3278 68, -1, 1040, 71, 1042, 1043, 1044, -1, -1, -1,
3279 1048, 79, 80, 81, -1, 1053, 1054, 1055, 1056, 87,
3280 88, 89, -1, -1, -1, 93, 94, -1, -1, 1067,
3281 -1, 1069, -1, -1, 1072, -1, -1, -1, -1, -1,
3282 -1, -1, 110, 1081, -1, 1, -1, 3, 4, 5,
3283 6, 7, 8, 9, -1, -1, -1, -1, 14, -1,
3284 -1, -1, -1, -1, 1102, -1, -1, -1, -1, -1,
3285 -1, -1, 28, -1, 30, 31, 32, 1115, -1, 1117,
3286 -1, 37, 38, -1, -1, -1, 42, 1125, -1, -1,
3287 46, 47, -1, 49, -1, -1, -1, -1, -1, 55,
3288 -1, 57, 58, -1, -1, 61, -1, 63, -1, -1,
3289 -1, -1, -1, 1151, 1152, 71, 1154, -1, -1, -1,
3290 -1, -1, -1, 4, -1, 81, -1, -1, 3, 4,
3291 5, 6, -1, 89, 9, -1, -1, 93, -1, 1177,
3292 -1, -1, 1180, 1181, 1182, -1, -1, -1, -1, 30,
3293 31, -1, 33, 109, 35, -1, 31, -1, -1, -1,
3294 -1, 42, -1, -1, -1, -1, -1, 42, -1, -1,
3295 1208, -1, -1, 48, 55, -1, 57, -1, -1, -1,
3296 55, -1, 57, 58, -1, -1, 1224, 1225, 1226, 1227,
3297 1228, 1229, -1, -1, 1232, -1, 71, -1, -1, 80,
3298 -1, -1, 83, -1, -1, -1, 81, -1, 1246, 1247,
3299 1248, 1249, -1, -1, 89, 1253, -1, -1, 93, 94,
3300 -1, -1, 3, 4, 5, 6, -1, -1, 9, -1,
3301 1268, -1, -1, -1, -1, 1273, -1, -1, 1276, -1,
3302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3303 31, -1, 133, 134, -1, 136, -1, -1, -1, 140,
3304 141, 42, -1, 144, 145, 146, -1, -1, 149, 150,
3305 151, -1, -1, -1, 55, 156, 57, 58, -1, -1,
3306 -1, -1, -1, -1, 165, -1, -1, -1, 169, -1,
3307 71, -1, -1, -1, 175, 176, -1, -1, -1, -1,
3308 81, -1, -1, -1, -1, -1, -1, -1, 89, 1347,
3309 -1, -1, 93, 194, 195, 196, -1, -1, -1, -1,
3310 1358, 1359, 1360, 204, -1, -1, -1, -1, -1, -1,
3311 -1, -1, -1, 1371, 1372, -1, 1374, -1, 1376, -1,
3312 -1, -1, 223, -1, -1, -1, -1, -1, -1, -1,
3313 -1, -1, -1, -1, -1, -1, 1, -1, 3, 4,
3314 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3315 -1, -1, -1, -1, -1, -1, -1, -1, -1, 260,
3316 -1, -1, -1, 28, 29, 30, 267, 32, -1, 34,
3317 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3318 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3319 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
3320 -1, -1, -1, 68, -1, -1, 71, -1, -1, 1467,
3321 -1, -1, -1, -1, 79, 80, 81, -1, 1476, 1477,
3322 1478, 1479, 87, 88, 89, -1, -1, -1, 93, 94,
3323 -1, -1, 333, -1, -1, -1, -1, -1, -1, -1,
3324 -1, -1, -1, -1, 109, 110, -1, -1, -1, 350,
3325 -1, -1, -1, -1, -1, -1, -1, 358, -1, -1,
3326 -1, -1, 363, 1, -1, 3, 4, 5, 6, 7,
3327 8, 9, -1, -1, -1, -1, 14, -1, 1536, 1537,
3328 1538, -1, -1, -1, 1542, -1, -1, -1, -1, 27,
3329 28, -1, 30, 31, 32, 396, -1, -1, 1556, 37,
3330 -1, -1, -1, 1561, 42, -1, 407, 45, 46, 47,
3331 -1, 49, -1, -1, 415, -1, -1, 55, -1, 57,
3332 58, 422, -1, 61, 425, -1, -1, -1, -1, -1,
3333 431, 432, 433, 71, -1, -1, 437, -1, -1, -1,
3334 -1, -1, -1, 81, 445, -1, -1, -1, -1, -1,
3335 -1, 89, -1, -1, -1, 93, -1, -1, -1, 97,
3336 -1, -1, -1, 3, 4, 5, 6, -1, -1, 9,
3337 -1, -1, 473, 474, 475, 476, -1, -1, -1, -1,
3338 481, -1, 3, 4, 5, 6, -1, -1, 489, 490,
3339 -1, 31, 493, -1, 495, 496, 497, 498, -1, -1,
3340 -1, 502, 42, -1, -1, -1, 507, -1, -1, 510,
3341 31, -1, -1, -1, -1, 55, -1, 57, 58, -1,
3342 -1, 42, -1, -1, -1, -1, 527, -1, -1, -1,
3343 -1, 71, -1, -1, 55, -1, 57, 58, -1, -1,
3344 -1, 81, -1, -1, -1, -1, -1, -1, -1, 89,
3345 71, -1, -1, 93, -1, 556, -1, 558, -1, -1,
3346 81, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3347 -1, -1, 93, 574, 575, 576, -1, 1, -1, 3,
3348 4, 5, 6, 7, 8, 9, 10, 11, 589, 13,
3349 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
3350 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3351 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3352 44, 45, 46, 47, -1, -1, 50, 51, 52, 53,
3353 54, 55, -1, 57, 58, 59, 637, 61, 62, -1,
3354 -1, -1, -1, -1, 68, -1, -1, 71, 649, -1,
3355 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3356 -1, -1, -1, 87, 88, 89, -1, 668, -1, 93,
3357 -1, 95, -1, -1, 1, -1, 3, 4, 5, 6,
3358 7, 8, 9, -1, -1, 109, 110, 14, -1, -1,
3359 -1, -1, -1, 694, -1, -1, -1, -1, 33, -1,
3360 701, 28, -1, 30, 31, 32, -1, -1, 709, -1,
3361 37, -1, -1, -1, -1, 42, -1, -1, -1, 46,
3362 55, -1, 49, -1, -1, -1, -1, -1, 55, -1,
3363 57, 58, -1, -1, -1, 4, 5, -1, -1, 8,
3364 9, -1, -1, -1, 71, 14, -1, -1, 749, 750,
3365 751, -1, -1, -1, 81, 756, 757, -1, 759, 28,
3366 -1, 30, 89, -1, -1, -1, 93, -1, 37, -1,
3367 97, 4, 773, -1, -1, -1, -1, 46, -1, 780,
3368 781, 782, 783, 784, -1, -1, 55, 788, 57, 58,
3369 -1, -1, -1, -1, -1, -1, -1, 30, 31, -1,
3370 33, -1, 35, -1, -1, -1, -1, -1, -1, 42,
3371 -1, -1, -1, -1, 149, 150, 151, -1, 819, -1,
3372 821, -1, 55, -1, 57, 826, 827, -1, 829, -1,
3373 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1,
3374 175, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3375 83, -1, 14, -1, -1, -1, -1, -1, -1, 194,
3376 195, 196, -1, -1, -1, -1, 28, -1, 30, 31,
3377 32, -1, -1, -1, -1, 37, -1, -1, -1, -1,
3378 42, -1, -1, -1, 46, 47, -1, 49, 223, -1,
3379 -1, -1, -1, 55, -1, 57, 58, -1, -1, 61,
3380 -1, 63, -1, 136, -1, -1, -1, 140, 141, 71,
3381 -1, -1, 145, 146, -1, -1, 149, 150, 151, 81,
3382 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
3383 -1, 93, 165, -1, -1, -1, 169, -1, -1, -1,
3384 -1, -1, 175, 176, -1, -1, -1, -1, -1, -1,
3385 -1, -1, -1, 954, 955, 956, -1, -1, -1, 960,
3386 961, 194, 195, 196, -1, -1, -1, -1, 303, -1,
3387 3, 4, 5, 6, 7, 8, 9, -1, -1, 12,
3388 -1, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3389 223, -1, -1, -1, -1, 28, -1, 30, 31, -1,
3390 -1, -1, -1, -1, 37, -1, -1, -1, -1, 42,
3391 -1, -1, -1, 46, -1, 48, -1, 352, 353, 354,
3392 -1, -1, 55, -1, 57, 58, -1, 260, -1, 1030,
3393 1031, 1032, 1033, 1034, 1035, 1036, -1, 1038, 71, 1040,
3394 1041, 1042, 1043, 1044, -1, -1, -1, 1048, 81, -1,
3395 -1, -1, -1, -1, -1, -1, 89, -1, -1, -1,
3396 93, 94, -1, -1, -1, -1, -1, -1, -1, -1,
3397 -1, 1072, 407, 3, 4, 5, 6, -1, -1, 3,
3398 4, 5, 6, 7, 8, 9, -1, -1, 12, -1,
3399 14, -1, 1093, 1094, -1, -1, -1, -1, -1, -1,
3400 -1, 1102, -1, -1, 28, -1, 30, 31, -1, -1,
3401 -1, -1, 42, 37, -1, -1, -1, -1, 42, 49,
3402 -1, -1, 46, -1, 48, -1, 359, 57, 58, -1,
3403 363, 55, -1, 57, 58, -1, -1, -1, 473, -1,
3404 475, 476, 477, 3, 4, 5, 6, 71, -1, 9,
3405 -1, 81, -1, -1, 489, 490, -1, 81, 493, 89,
3406 495, 496, 497, 498, -1, 89, -1, 502, -1, 93,
3407 94, 31, 507, -1, 407, 510, 1177, -1, -1, 1180,
3408 1181, 1182, 42, -1, -1, -1, -1, -1, -1, 422,
3409 -1, -1, 425, -1, -1, 55, -1, 57, 58, -1,
3410 3, 4, 5, 6, 437, -1, -1, -1, -1, -1,
3411 -1, 71, 445, -1, -1, -1, -1, -1, -1, -1,
3412 -1, 81, -1, 1224, 1225, 1226, 1227, 1228, 1229, 89,
3413 -1, 1232, -1, 93, -1, -1, -1, -1, -1, 42,
3414 473, 474, 475, 476, 3, 4, 5, 6, 481, -1,
3415 -1, -1, 55, -1, 57, 58, 489, 490, 61, -1,
3416 493, -1, 495, 496, 497, -1, -1, 1268, 71, 502,
3417 1271, -1, 1273, -1, 507, 1276, -1, 510, 81, -1,
3418 -1, -1, -1, 42, -1, -1, 89, -1, -1, -1,
3419 93, 626, -1, -1, 527, -1, 55, -1, 57, 58,
3420 -1, -1, -1, -1, 63, 640, 641, 642, -1, -1,
3421 -1, -1, 71, -1, 649, -1, -1, -1, -1, -1,
3422 -1, -1, 81, -1, -1, -1, -1, -1, -1, -1,
3423 89, -1, -1, 668, 93, -1, -1, -1, -1, -1,
3424 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3425 9, 10, 11, -1, 13, 14, -1, 1358, 1359, 1360,
3426 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3427 29, 30, 31, 32, 709, 34, 35, 36, 37, -1,
3428 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3429 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3430 59, -1, 61, 62, -1, 638, -1, -1, -1, 68,
3431 -1, -1, 71, -1, 749, 750, 751, -1, -1, -1,
3432 79, 80, 81, -1, 759, -1, -1, -1, 87, 88,
3433 89, -1, -1, -1, 93, 668, -1, -1, -1, -1,
3434 -1, -1, -1, -1, -1, 780, 781, 782, 783, 784,
3435 -1, 110, -1, 788, 3, 4, 5, 6, 7, 8,
3436 9, -1, -1, 12, -1, 14, 1467, -1, -1, -1,
3437 -1, -1, -1, -1, -1, -1, 709, -1, -1, 28,
3438 -1, 30, 31, -1, -1, -1, -1, -1, 37, -1,
3439 -1, 826, -1, 42, -1, -1, -1, 46, -1, 48,
3440 -1, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3441 -1, -1, -1, 848, 849, 850, 749, 750, 751, -1,
3442 -1, 55, 71, -1, 757, 860, 759, -1, -1, -1,
3443 -1, -1, 81, -1, -1, 1536, 1537, 1538, -1, -1,
3444 89, -1, -1, -1, 93, 94, 80, 780, 781, 83,
3445 3, 4, 5, 6, -1, 788, 9, -1, -1, -1,
3446 1561, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3447 104, -1, 106, -1, -1, -1, -1, -1, 31, -1,
3448 -1, -1, -1, -1, -1, -1, 819, -1, 821, 42,
3449 -1, -1, -1, 826, 827, -1, 829, -1, -1, 934,
3450 935, -1, 55, 938, 57, 58, 941, -1, -1, -1,
3451 -1, -1, -1, -1, -1, 950, -1, -1, 71, 954,
3452 955, 956, -1, -1, -1, 960, -1, -1, 81, -1,
3453 -1, -1, -1, -1, -1, -1, 89, -1, -1, -1,
3454 93, 175, 68, 69, 70, 71, 72, 73, 74, 75,
3455 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3456 194, 195, 196, -1, -1, -1, -1, -1, -1, -1,
3457 204, 3, 4, 5, 6, 72, 73, 74, 75, 76,
3458 77, 78, 79, 80, 81, 82, 83, 84, 85, 223,
3459 -1, -1, -1, -1, -1, 1030, 1031, 1032, 1033, 1034,
3460 1035, 1036, -1, -1, -1, 1040, -1, 1042, 1043, 1044,
3461 42, -1, -1, -1, -1, 249, -1, -1, -1, 1054,
3462 1055, 1056, -1, 55, -1, 57, 58, -1, -1, 962,
3463 -1, 63, -1, 267, -1, -1, -1, 1072, -1, 71,
3464 3, 4, 5, 6, 7, 8, 9, -1, -1, 81,
3465 -1, 14, -1, -1, -1, -1, -1, 89, -1, -1,
3466 -1, 93, -1, -1, -1, 28, -1, 30, 31, -1,
3467 -1, -1, -1, -1, 37, -1, -1, -1, -1, 42,
3468 -1, -1, -1, 46, -1, 48, -1, -1, -1, -1,
3469 -1, -1, 55, -1, 57, 58, -1, 1030, 1031, 1032,
3470 1033, 1034, 1035, -1, -1, -1, -1, 1040, 71, 1042,
3471 1043, 1044, -1, -1, -1, 1048, 1151, 1152, 81, 1154,
3472 -1, -1, -1, -1, 358, 359, 89, -1, -1, -1,
3473 93, 94, 3, 4, 5, 6, 7, 8, 9, 1072,
3474 -1, -1, 1177, 14, -1, 1180, 1181, 1182, -1, -1,
3475 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3476 31, 1094, -1, -1, -1, -1, 37, -1, -1, 1102,
3477 -1, 42, -1, 407, -1, 46, -1, 48, -1, -1,
3478 3, 4, 5, 6, 55, -1, 57, 58, -1, 1224,
3479 1225, 1226, 1227, 1228, 1229, -1, -1, 1232, -1, -1,
3480 71, -1, -1, -1, -1, -1, -1, -1, 31, -1,
3481 81, 1246, 1247, 1248, 1249, -1, -1, -1, 89, 42,
3482 -1, -1, 93, 94, -1, -1, -1, -1, -1, -1,
3483 -1, -1, 55, 1268, 57, 58, -1, -1, -1, 473,
3484 -1, 475, 476, -1, -1, -1, -1, -1, 71, -1,
3485 -1, -1, -1, -1, -1, 489, 490, -1, 81, 493,
3486 -1, 495, 496, 497, 498, -1, 89, -1, 502, -1,
3487 93, -1, -1, 507, -1, -1, 510, 1, -1, 3,
3488 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3489 14, -1, 1225, 1226, -1, -1, -1, -1, -1, 1232,
3490 -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
3491 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3492 44, -1, 46, 1358, -1, 1360, 50, 51, 52, 53,
3493 54, 55, -1, 57, 58, 1268, 1371, 1372, 62, 1374,
3494 1273, -1, 14, 1276, 68, -1, -1, 71, -1, -1,
3495 -1, 23, 24, -1, -1, 79, 80, 81, 30, 31,
3496 -1, 33, 31, 87, 88, 89, -1, -1, -1, 93,
3497 -1, -1, -1, -1, 352, 353, 354, -1, -1, -1,
3498 -1, -1, -1, -1, 108, -1, 110, -1, -1, -1,
3499 -1, -1, -1, 65, -1, 64, 65, 66, 67, 68,
3500 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3501 79, 80, 81, 82, 83, 84, 85, -1, 652, 653,
3502 -1, -1, -1, -1, -1, 1358, 1359, 1360, -1, -1,
3503 -1, -1, 1467, -1, 668, -1, -1, -1, -1, -1,
3504 -1, 1476, 1477, 1478, 1479, -1, -1, -1, -1, -1,
3505 -1, -1, 124, -1, 126, -1, -1, -1, -1, -1,
3506 -1, 133, 134, -1, -1, -1, -1, -1, 140, 141,
3507 -1, -1, 144, 145, 146, 709, 148, 149, 150, 151,
3508 -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
3509 8, 9, -1, -1, -1, 473, 14, 475, 476, 477,
3510 -1, 1536, 1537, 1538, -1, -1, -1, 1542, -1, -1,
3511 28, -1, 30, 31, -1, 749, 750, 751, -1, 37,
3512 -1, -1, 756, 757, 42, 759, 1561, -1, 46, -1,
3513 3, 4, 5, 6, 1467, -1, 9, 55, -1, 57,
3514 58, -1, -1, 61, -1, -1, 780, 781, 782, 783,
3515 784, 785, -1, 71, 788, -1, -1, -1, 31, -1,
3516 -1, -1, -1, 81, -1, -1, -1, 239, 240, 42,
3517 -1, 89, -1, 4, 5, 93, 7, 8, 9, 813,
3518 -1, -1, 55, 14, 57, 58, -1, -1, 260, -1,
3519 -1, -1, 826, -1, -1, -1, -1, 28, 71, 30,
3520 31, -1, -1, 1536, 1537, 1538, 37, -1, 81, -1,
3521 -1, -1, -1, -1, -1, 46, 89, -1, 49, -1,
3522 93, -1, -1, -1, 55, -1, 57, 58, 1561, 1,
3523 -1, 303, 4, 5, -1, -1, 8, 9, -1, -1,
3524 -1, -1, 14, -1, -1, -1, -1, -1, -1, -1,
3525 -1, -1, -1, -1, -1, -1, 28, -1, 30, -1,
3526 -1, -1, 640, 641, 642, 37, -1, 39, 40, -1,
3527 -1, 649, -1, -1, 46, -1, 48, -1, 350, -1,
3528 352, 353, -1, 55, -1, 57, 58, -1, 60, -1,
3529 -1, -1, 64, 65, 66, 67, 68, 69, 70, 71,
3530 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3531 82, 83, 84, -1, -1, 87, 88, 89, -1, 91,
3532 -1, -1, 94, -1, 396, -1, -1, 961, 962, 963,
3533 -1, 709, -1, -1, -1, -1, 4, 5, 110, 7,
3534 8, 9, -1, 415, 12, -1, 14, -1, -1, -1,
3535 422, -1, -1, 425, -1, -1, -1, -1, -1, -1,
3536 28, -1, 30, 31, -1, 437, -1, -1, -1, 37,
3537 -1, 749, 750, 751, -1, -1, -1, -1, 46, -1,
3538 -1, 759, -1, -1, -1, -1, -1, 55, -1, 57,
3539 58, -1, -1, -1, -1, -1, 1030, 1031, 1032, 1033,
3540 1034, 1035, 1036, -1, 1038, -1, 1040, 1041, 1042, 1043,
3541 1044, -1, -1, -1, 1048, -1, -1, -1, -1, -1,
3542 1054, 1055, 1056, -1, -1, -1, -1, -1, -1, -1,
3543 -1, -1, -1, -1, -1, -1, -1, -1, 1072, -1,
3544 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3545 -1, 12, 524, 14, 526, -1, -1, -1, -1, 1093,
3546 -1, -1, -1, -1, 25, -1, 27, -1, -1, -1,
3547 31, -1, -1, -1, -1, -1, 37, -1, 550, -1,
3548 552, 42, 860, -1, -1, 46, -1, 48, -1, -1,
3549 -1, -1, -1, -1, 55, -1, 57, 58, 59, 60,
3550 61, -1, 63, 64, 65, 66, 67, 68, 69, 70,
3551 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3552 81, 82, 83, 84, 85, -1, 87, 88, 89, -1,
3553 91, 92, 93, 94, 95, -1, -1, -1, -1, -1,
3554 101, 102, -1, -1, -1, -1, 107, 108, 109, -1,
3555 111, -1, -1, -1, 626, -1, 934, 935, -1, -1,
3556 938, -1, -1, 941, -1, 637, 638, -1, 640, 641,
3557 -1, -1, 950, -1, -1, -1, 954, 955, 956, -1,
3558 -1, -1, 960, -1, -1, -1, -1, -1, -1, -1,
3559 1224, 1225, 1226, 1227, 1228, 1229, -1, -1, 1232, -1,
3560 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3561 -1, -1, 1246, 1247, 1248, 1249, -1, -1, -1, -1,
3562 -1, -1, 694, -1, -1, -1, -1, -1, -1, 701,
3563 702, -1, -1, -1, 1268, -1, -1, -1, 710, -1,
3564 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3565 -1, -1, 1030, 1031, 1032, 1033, 1034, 1035, 1036, -1,
3566 -1, 733, 1040, -1, 1042, 1043, 1044, -1, -1, -1,
3567 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3568 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3569 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3570 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3571 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3572 43, 44, -1, 46, 1358, 48, 1360, 50, 51, 52,
3573 53, 54, 55, -1, 57, 58, -1, 1371, 1372, 1373,
3574 1374, 813, -1, -1, 816, 68, -1, -1, 71, -1,
3575 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3576 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3577 93, 94, -1, -1, -1, -1, 848, 849, 850, 851,
3578 -1, 4, 5, -1, 7, 8, 9, 110, 860, 12,
3579 -1, 14, -1, -1, -1, -1, -1, -1, -1, 1177,
3580 -1, -1, 1180, 1181, 1182, 28, -1, 30, 31, -1,
3581 -1, -1, -1, -1, 37, -1, -1, -1, -1, 3,
3582 4, 5, 6, 46, -1, -1, -1, -1, -1, -1,
3583 -1, -1, 55, 1467, 57, 58, -1, -1, -1, -1,
3584 -1, -1, 1476, 1477, 1478, 1479, 1224, 1225, 1226, 1227,
3585 1228, 1229, -1, -1, 1232, -1, -1, -1, 42, -1,
3586 -1, -1, 934, 935, -1, -1, 938, -1, -1, 941,
3587 -1, 55, -1, 57, 58, -1, -1, -1, 950, 63,
3588 -1, -1, -1, -1, -1, -1, -1, 71, 960, -1,
3589 -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
3590 -1, -1, 1536, 1537, 1538, 89, -1, -1, 1542, 93,
3591 -1, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3592 9, 10, 11, -1, 13, 14, 15, 1561, 17, 18,
3593 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3594 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
3595 39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
3596 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3597 59, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3598 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3599 79, 80, 81, 1371, 1372, 1067, 1374, -1, 87, 88,
3600 89, -1, -1, -1, 93, 1, 95, 3, 4, 5,
3601 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3602 -1, 110, 1094, -1, -1, -1, -1, -1, -1, -1,
3603 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3604 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3605 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3606 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3607 -1, -1, 68, -1, -1, 71, -1, -1, -1, 1151,
3608 1152, -1, 1154, 79, 80, 81, -1, -1, -1, -1,
3609 -1, 87, 88, 89, -1, -1, -1, 93, 1476, 1477,
3610 1478, 1479, -1, -1, -1, 1177, -1, -1, 1180, 1181,
3611 -1, -1, -1, -1, 110, -1, 1, -1, 3, 4,
3612 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3613 -1, -1, -1, -1, -1, -1, 1208, -1, -1, -1,
3614 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3615 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3616 -1, 46, -1, 48, 1542, 50, 51, 52, 53, 54,
3617 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
3618 -1, 1253, -1, 68, -1, -1, 71, -1, -1, -1,
3619 -1, -1, -1, -1, 79, 80, 81, -1, -1, 1271,
3620 -1, 1273, 87, 88, 89, -1, -1, -1, 93, 94,
3621 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3622 11, -1, 13, 14, -1, 110, -1, -1, -1, -1,
3623 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3624 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3625 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3626 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3627 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3628 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3629 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3630 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3631 -1, 8, 9, 10, 11, -1, 13, 14, -1, 110,
3632 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3633 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3634 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3635 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3636 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3637 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3638 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3639 87, 88, 89, -1, -1, -1, 93, 1, -1, 3,
3640 4, 5, 6, 100, 8, 9, 10, 11, -1, 13,
3641 14, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3642 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3643 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3644 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3645 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3646 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3647 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3648 -1, -1, -1, 87, 88, 89, -1, -1, 1, 93,
3649 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3650 13, 14, -1, -1, -1, 109, 110, -1, -1, -1,
3651 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3652 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3653 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3654 53, 54, 55, -1, 57, 58, 59, -1, -1, 62,
3655 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3656 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3657 -1, -1, -1, -1, 87, 88, 89, -1, -1, 1,
3658 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3659 -1, 13, 14, -1, -1, -1, 109, 110, -1, -1,
3660 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3661 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3662 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3663 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3664 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3665 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3666 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3667 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3668 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3669 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3670 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3671 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3672 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3673 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3674 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3675 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3676 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3677 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3678 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3679 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3680 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3681 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3682 -1, -1, 62, 63, -1, -1, -1, -1, 68, -1,
3683 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3684 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3685 -1, -1, 1, 93, 3, 4, 5, 6, -1, 8,
3686 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3687 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3688 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3689 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3690 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3691 -1, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3692 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3693 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3694 89, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3695 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3696 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3697 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
3698 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3699 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3700 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3701 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3702 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3703 88, 89, -1, -1, 1, 93, 3, 4, 5, 6,
3704 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3705 108, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3706 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3707 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3708 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3709 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3710 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3711 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3712 87, 88, 89, -1, -1, 1, 93, 3, 4, 5,
3713 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3714 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3715 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3716 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3717 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3718 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3719 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3720 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3721 -1, 87, 88, 89, -1, -1, 1, 93, 3, 4,
3722 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3723 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3724 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3725 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3726 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3727 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3728 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3729 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3730 -1, -1, 87, 88, 89, -1, -1, -1, 93, 3,
3731 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3732 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3733 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3734 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3735 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3736 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3737 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3738 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3739 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
3740 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3741 13, 14, -1, -1, -1, -1, 110, 111, -1, -1,
3742 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3743 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3744 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3745 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3746 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3747 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3748 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3749 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3750 -1, 13, 14, -1, -1, -1, -1, 110, 111, -1,
3751 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3752 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3753 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3754 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3755 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3756 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3757 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3758 -1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3759 11, -1, 13, 14, -1, -1, -1, -1, 110, 111,
3760 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3761 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3762 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3763 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3764 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3765 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3766 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3767 -1, -1, 93, 3, 4, 5, 6, -1, 8, 9,
3768 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3769 111, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3770 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3771 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3772 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3773 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3774 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3775 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3776 -1, -1, -1, 93, 70, 71, 72, 73, 74, 75,
3777 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3778 110, 111, 3, 4, 5, 6, 7, 8, 9, 10,
3779 11, -1, 13, 14, 15, -1, 17, 18, 19, 20,
3780 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3781 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3782 41, 42, 43, 44, 45, 46, 47, -1, -1, 50,
3783 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3784 61, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3785 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3786 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3787 -1, -1, 93, -1, 95, -1, -1, -1, -1, -1,
3788 -1, -1, -1, -1, -1, -1, -1, -1, 109, 110,
3789 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
3790 13, 14, 15, -1, 17, 18, 19, 20, 21, 22,
3791 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3792 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3793 43, 44, 45, 46, 47, -1, -1, 50, 51, 52,
3794 53, 54, 55, -1, 57, 58, 59, -1, 61, 62,
3795 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3796 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3797 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3798 93, -1, 95, -1, 3, 4, 5, 6, 7, 8,
3799 9, 10, 11, -1, 13, 14, 15, 110, 17, 18,
3800 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3801 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
3802 39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
3803 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3804 59, -1, 61, 62, -1, -1, -1, -1, -1, 68,
3805 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3806 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3807 89, -1, -1, -1, 93, -1, 95, -1, 3, 4,
3808 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
3809 15, 110, 17, 18, 19, 20, 21, 22, 23, 24,
3810 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
3811 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3812 45, 46, 47, -1, -1, 50, 51, 52, 53, 54,
3813 55, -1, 57, 58, -1, -1, 61, 62, -1, -1,
3814 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3815 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3816 -1, -1, 87, 88, 89, -1, -1, -1, 93, -1,
3817 95, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3818 12, 13, 14, -1, -1, 110, -1, -1, -1, -1,
3819 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3820 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3821 42, 43, 44, -1, 46, -1, 48, -1, 50, 51,
3822 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3823 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3824 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3825 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3826 -1, 93, 94, 3, 4, 5, 6, 7, 8, 9,
3827 10, 11, 12, 13, 14, -1, -1, -1, 110, -1,
3828 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3829 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
3830 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3831 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3832 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3833 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3834 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3835 -1, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3836 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3837 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3838 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
3839 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3840 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3841 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3842 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3843 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3844 88, 89, -1, -1, -1, 93, 3, 4, 5, 6,
3845 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3846 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3847 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3848 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3849 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3850 57, 58, -1, -1, 61, 62, -1, -1, -1, -1,
3851 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3852 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3853 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
3854 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3855 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3856 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3857 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3858 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3859 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3860 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3861 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3862 -1, 87, 88, 89, -1, -1, -1, 93, 3, 4,
3863 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3864 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3865 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3866 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3867 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3868 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3869 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3870 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3871 -1, -1, 87, 88, 89, -1, -1, -1, 93, 3,
3872 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3873 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3874 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3875 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3876 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3877 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3878 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3879 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3880 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
3881 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3882 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3883 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3884 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3885 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3886 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3887 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3888 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3889 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3890 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3891 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3892 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3893 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3894 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3895 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3896 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3897 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3898 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3899 -1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3900 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3901 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3902 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3903 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3904 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3905 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3906 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3907 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3908 -1, -1, 93, 3, 4, 5, 6, -1, 8, 9,
3909 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3910 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3911 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3912 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3913 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3914 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3915 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3916 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3917 -1, -1, -1, 93, 94, 3, 4, 5, 6, -1,
3918 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3919 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3920 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
3921 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3922 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3923 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3924 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3925 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3926 88, 89, -1, -1, -1, 93, 3, 4, 5, 6,
3927 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3928 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3929 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3930 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3931 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3932 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3933 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3934 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3935 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
3936 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3937 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3938 -1, -1, 28, 29, 30, 31, 32, -1, 34, 35,
3939 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3940 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3941 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3942 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3943 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3944 -1, 87, 88, 89, -1, -1, -1, 93, 3, 4,
3945 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3946 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3947 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3948 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3949 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3950 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3951 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3952 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3953 -1, -1, 87, 88, 89, -1, -1, -1, 93, 3,
3954 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3955 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3956 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3957 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3958 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3959 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3960 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3961 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3962 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
3963 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3964 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3965 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3966 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3967 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3968 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3969 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3970 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3971 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3972 93, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3973 12, -1, 14, -1, -1, -1, -1, 110, -1, -1,
3974 -1, -1, -1, -1, -1, -1, 28, -1, 30, 31,
3975 -1, -1, -1, -1, -1, 37, -1, -1, -1, -1,
3976 42, -1, -1, -1, 46, -1, 3, 4, 5, 6,
3977 7, 8, 9, 55, -1, 57, 58, 14, -1, -1,
3978 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3979 -1, 28, -1, 30, 31, -1, -1, -1, -1, 81,
3980 37, -1, -1, -1, -1, 42, -1, 89, -1, 46,
3981 -1, 93, -1, -1, -1, -1, -1, -1, 55, -1,
3982 57, 58, -1, -1, -1, -1, 63, -1, -1, -1,
3983 -1, -1, -1, -1, 71, 3, 4, 5, 6, 7,
3984 8, 9, -1, -1, 81, -1, 14, -1, -1, -1,
3985 -1, -1, 89, -1, -1, -1, 93, -1, -1, -1,
3986 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
3987 -1, -1, -1, -1, 42, -1, -1, -1, 46, -1,
3988 3, 4, 5, 6, 7, 8, 9, 55, -1, 57,
3989 58, 14, -1, 61, -1, -1, -1, -1, -1, -1,
3990 -1, -1, -1, 71, -1, 28, -1, 30, 31, -1,
3991 -1, -1, -1, 81, 37, -1, -1, -1, -1, 42,
3992 -1, 89, -1, 46, -1, 93, -1, -1, -1, -1,
3993 -1, -1, 55, -1, 57, 58, -1, -1, -1, -1,
3994 3, 4, 5, 6, 7, 8, 9, -1, 71, -1,
3995 -1, 14, -1, -1, -1, -1, -1, -1, 81, -1,
3996 -1, -1, -1, -1, -1, 28, 89, 30, 31, -1,
3997 93, -1, -1, -1, 37, -1, -1, -1, -1, 42,
3998 -1, -1, -1, 46, 3, 4, 5, 6, -1, -1,
3999 9, -1, 55, -1, 57, 58, -1, -1, -1, -1,
4000 -1, 3, 4, 5, 6, -1, -1, 9, 71, -1,
4001 -1, -1, 31, -1, -1, -1, -1, -1, 81, -1,
4002 -1, -1, -1, 42, -1, -1, 89, -1, -1, 31,
4003 93, -1, -1, -1, -1, -1, 55, -1, 57, 58,
4004 42, -1, -1, 3, 4, 5, 6, -1, -1, 9,
4005 -1, -1, 71, 55, -1, 57, 58, -1, -1, -1,
4006 -1, -1, 81, -1, 3, 4, 5, 6, -1, 71,
4007 89, 31, -1, -1, 93, -1, -1, -1, -1, 81,
4008 -1, -1, 42, -1, -1, -1, -1, 89, -1, -1,
4009 -1, 93, 31, -1, -1, 55, -1, 57, 58, -1,
4010 -1, -1, -1, 42, -1, -1, 3, 4, 5, 6,
4011 -1, 71, 3, 4, 5, 6, 55, -1, 57, 58,
4012 -1, 81, -1, -1, -1, -1, -1, -1, -1, 89,
4013 -1, -1, 71, 93, 31, -1, -1, -1, -1, -1,
4014 31, -1, 81, -1, -1, 42, -1, -1, -1, -1,
4015 89, 42, 12, -1, 93, -1, -1, -1, 55, -1,
4016 57, 58, -1, -1, 55, -1, 57, 58, -1, -1,
4017 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
4018 71, -1, -1, -1, 81, -1, -1, -1, -1, -1,
4019 81, -1, 89, -1, -1, -1, 93, -1, 89, -1,
4020 -1, -1, 93, 63, 64, 65, 66, 67, 68, 69,
4021 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
4022 80, 81, 82, 83, 84, 85, 4, 5, -1, 7,
4023 8, 9, -1, -1, -1, -1, 14, -1, -1, -1,
4024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4025 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
4026 -1, -1, -1, -1, -1, -1, -1, -1, 46, -1,
4027 -1, -1, -1, -1, -1, -1, -1, 55, -1, 57,
4028 58, 64, 65, 66, 67, 68, 69, 70, 71, 72,
4029 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
4030 83, 84, 85, 64, 65, 66, 67, 68, 69, 70,
4031 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
4032 81, 82, 83, 84, 85, -1, -1, -1, 111, -1,
4033 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4034 -1, -1, -1, 60, -1, -1, 107, 64, 65, 66,
4035 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
4036 77, 78, 79, 80, 81, 82, 83, 84, 85, 60,
4037 -1, -1, -1, 64, 65, 66, 67, 68, 69, 70,
4038 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
4039 81, 82, 83, 84, 85, 63, 64, 65, 66, 67,
4040 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
4041 78, 79, 80, 81, 82, 83, 84, 85, 64, 65,
4042 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
4043 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
4044 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
4045 74, 75, -1, 77, 78, 79, 80, 81, 82, 83,
4046 84, 85, 69, 70, 71, 72, 73, 74, 75, 76,
4047 77, 78, 79, 80, 81, 82, 83, 84, 85
4049 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
4050 #line 3 "/usr/lib/bison.simple"
4051 /* This file comes from bison-1.28. */
4053 /* Skeleton output parser for bison,
4054 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
4056 This program is free software; you can redistribute it and/or modify
4057 it under the terms of the GNU General Public License as published by
4058 the Free Software Foundation; either version 2, or (at your option)
4059 any later version.
4061 This program is distributed in the hope that it will be useful,
4062 but WITHOUT ANY WARRANTY; without even the implied warranty of
4063 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4064 GNU General Public License for more details.
4066 You should have received a copy of the GNU General Public License
4067 along with this program; if not, write to the Free Software
4068 Foundation, Inc., 59 Temple Place - Suite 330,
4069 Boston, MA 02111-1307, USA. */
4071 /* As a special exception, when this file is copied by Bison into a
4072 Bison output file, you may use that output file without restriction.
4073 This special exception was added by the Free Software Foundation
4074 in version 1.24 of Bison. */
4076 /* This is the parser code that is written into each bison parser
4077 when the %semantic_parser declaration is not specified in the grammar.
4078 It was written by Richard Stallman by simplifying the hairy parser
4079 used when %semantic_parser is specified. */
4081 #ifndef YYSTACK_USE_ALLOCA
4082 #ifdef alloca
4083 #define YYSTACK_USE_ALLOCA
4084 #else /* alloca not defined */
4085 #ifdef __GNUC__
4086 #define YYSTACK_USE_ALLOCA
4087 #define alloca __builtin_alloca
4088 #else /* not GNU C. */
4089 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
4090 #define YYSTACK_USE_ALLOCA
4091 #include <alloca.h>
4092 #else /* not sparc */
4093 /* We think this test detects Watcom and Microsoft C. */
4094 /* This used to test MSDOS, but that is a bad idea
4095 since that symbol is in the user namespace. */
4096 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
4097 #if 0 /* No need for malloc.h, which pollutes the namespace;
4098 instead, just don't use alloca. */
4099 #include <malloc.h>
4100 #endif
4101 #else /* not MSDOS, or __TURBOC__ */
4102 #if defined(_AIX)
4103 /* I don't know what this was needed for, but it pollutes the namespace.
4104 So I turned it off. rms, 2 May 1997. */
4105 /* #include <malloc.h> */
4106 #pragma alloca
4107 #define YYSTACK_USE_ALLOCA
4108 #else /* not MSDOS, or __TURBOC__, or _AIX */
4109 #if 0
4110 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
4111 and on HPUX 10. Eventually we can turn this on. */
4112 #define YYSTACK_USE_ALLOCA
4113 #define alloca __builtin_alloca
4114 #endif /* __hpux */
4115 #endif
4116 #endif /* not _AIX */
4117 #endif /* not MSDOS, or __TURBOC__ */
4118 #endif /* not sparc */
4119 #endif /* not GNU C */
4120 #endif /* alloca not defined */
4121 #endif /* YYSTACK_USE_ALLOCA not defined */
4123 #ifdef YYSTACK_USE_ALLOCA
4124 #define YYSTACK_ALLOC alloca
4125 #else
4126 #define YYSTACK_ALLOC malloc
4127 #endif
4129 /* Note: there must be only one dollar sign in this file.
4130 It is replaced by the list of actions, each action
4131 as one case of the switch. */
4133 #define yyerrok (yyerrstatus = 0)
4134 #define yyclearin (yychar = YYEMPTY)
4135 #define YYEMPTY -2
4136 #define YYEOF 0
4137 #define YYACCEPT goto yyacceptlab
4138 #define YYABORT goto yyabortlab
4139 #define YYERROR goto yyerrlab1
4140 /* Like YYERROR except do call yyerror.
4141 This remains here temporarily to ease the
4142 transition to the new meaning of YYERROR, for GCC.
4143 Once GCC version 2 has supplanted version 1, this can go. */
4144 #define YYFAIL goto yyerrlab
4145 #define YYRECOVERING() (!!yyerrstatus)
4146 #define YYBACKUP(token, value) \
4147 do \
4148 if (yychar == YYEMPTY && yylen == 1) \
4149 { yychar = (token), yylval = (value); \
4150 yychar1 = YYTRANSLATE (yychar); \
4151 YYPOPSTACK; \
4152 goto yybackup; \
4154 else \
4155 { yyerror ("syntax error: cannot back up"); YYERROR; } \
4156 while (0)
4158 #define YYTERROR 1
4159 #define YYERRCODE 256
4161 #ifndef YYPURE
4162 #define YYLEX yylex()
4163 #endif
4165 #ifdef YYPURE
4166 #ifdef YYLSP_NEEDED
4167 #ifdef YYLEX_PARAM
4168 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
4169 #else
4170 #define YYLEX yylex(&yylval, &yylloc)
4171 #endif
4172 #else /* not YYLSP_NEEDED */
4173 #ifdef YYLEX_PARAM
4174 #define YYLEX yylex(&yylval, YYLEX_PARAM)
4175 #else
4176 #define YYLEX yylex(&yylval)
4177 #endif
4178 #endif /* not YYLSP_NEEDED */
4179 #endif
4181 /* If nonreentrant, generate the variables here */
4183 #ifndef YYPURE
4185 int yychar; /* the lookahead symbol */
4186 YYSTYPE yylval; /* the semantic value of the */
4187 /* lookahead symbol */
4189 #ifdef YYLSP_NEEDED
4190 YYLTYPE yylloc; /* location data for the lookahead */
4191 /* symbol */
4192 #endif
4194 int yynerrs; /* number of parse errors so far */
4195 #endif /* not YYPURE */
4197 #if YYDEBUG != 0
4198 int yydebug; /* nonzero means print parse trace */
4199 /* Since this is uninitialized, it does not stop multiple parsers
4200 from coexisting. */
4201 #endif
4203 /* YYINITDEPTH indicates the initial size of the parser's stacks */
4205 #ifndef YYINITDEPTH
4206 #define YYINITDEPTH 200
4207 #endif
4209 /* YYMAXDEPTH is the maximum size the stacks can grow to
4210 (effective only if the built-in stack extension method is used). */
4212 #if YYMAXDEPTH == 0
4213 #undef YYMAXDEPTH
4214 #endif
4216 #ifndef YYMAXDEPTH
4217 #define YYMAXDEPTH 10000
4218 #endif
4220 /* Define __yy_memcpy. Note that the size argument
4221 should be passed with type unsigned int, because that is what the non-GCC
4222 definitions require. With GCC, __builtin_memcpy takes an arg
4223 of type size_t, but it can handle unsigned int. */
4225 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
4226 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
4227 #else /* not GNU C or C++ */
4228 #ifndef __cplusplus
4230 /* This is the most reliable way to avoid incompatibilities
4231 in available built-in functions on various systems. */
4232 static void
4233 __yy_memcpy (to, from, count)
4234 char *to;
4235 char *from;
4236 unsigned int count;
4238 register char *f = from;
4239 register char *t = to;
4240 register int i = count;
4242 while (i-- > 0)
4243 *t++ = *f++;
4246 #else /* __cplusplus */
4248 /* This is the most reliable way to avoid incompatibilities
4249 in available built-in functions on various systems. */
4250 static void
4251 __yy_memcpy (char *to, char *from, unsigned int count)
4253 register char *t = to;
4254 register char *f = from;
4255 register int i = count;
4257 while (i-- > 0)
4258 *t++ = *f++;
4261 #endif
4262 #endif
4264 #line 217 "/usr/lib/bison.simple"
4266 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
4267 into yyparse. The argument should have type void *.
4268 It should actually point to an object.
4269 Grammar actions can access the variable by casting it
4270 to the proper pointer type. */
4272 #ifdef YYPARSE_PARAM
4273 #ifdef __cplusplus
4274 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
4275 #define YYPARSE_PARAM_DECL
4276 #else /* not __cplusplus */
4277 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
4278 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
4279 #endif /* not __cplusplus */
4280 #else /* not YYPARSE_PARAM */
4281 #define YYPARSE_PARAM_ARG
4282 #define YYPARSE_PARAM_DECL
4283 #endif /* not YYPARSE_PARAM */
4285 /* Prevent warning if -Wstrict-prototypes. */
4286 #ifdef __GNUC__
4287 #ifdef YYPARSE_PARAM
4288 int yyparse (void *);
4289 #else
4290 int yyparse (void);
4291 #endif
4292 #endif
4295 yyparse(YYPARSE_PARAM_ARG)
4296 YYPARSE_PARAM_DECL
4298 register int yystate;
4299 register int yyn;
4300 register short *yyssp;
4301 register YYSTYPE *yyvsp;
4302 int yyerrstatus; /* number of tokens to shift before error messages enabled */
4303 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
4305 short yyssa[YYINITDEPTH]; /* the state stack */
4306 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
4308 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
4309 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
4311 #ifdef YYLSP_NEEDED
4312 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
4313 YYLTYPE *yyls = yylsa;
4314 YYLTYPE *yylsp;
4316 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
4317 #else
4318 #define YYPOPSTACK (yyvsp--, yyssp--)
4319 #endif
4321 int yystacksize = YYINITDEPTH;
4322 int yyfree_stacks = 0;
4324 #ifdef YYPURE
4325 int yychar;
4326 YYSTYPE yylval;
4327 int yynerrs;
4328 #ifdef YYLSP_NEEDED
4329 YYLTYPE yylloc;
4330 #endif
4331 #endif
4333 YYSTYPE yyval; /* the variable used to return */
4334 /* semantic values from the action */
4335 /* routines */
4337 int yylen;
4339 #if YYDEBUG != 0
4340 if (yydebug)
4341 fprintf(stderr, "Starting parse\n");
4342 #endif
4344 yystate = 0;
4345 yyerrstatus = 0;
4346 yynerrs = 0;
4347 yychar = YYEMPTY; /* Cause a token to be read. */
4349 /* Initialize stack pointers.
4350 Waste one element of value and location stack
4351 so that they stay on the same level as the state stack.
4352 The wasted elements are never initialized. */
4354 yyssp = yyss - 1;
4355 yyvsp = yyvs;
4356 #ifdef YYLSP_NEEDED
4357 yylsp = yyls;
4358 #endif
4360 /* Push a new state, which is found in yystate . */
4361 /* In all cases, when you get here, the value and location stacks
4362 have just been pushed. so pushing a state here evens the stacks. */
4363 yynewstate:
4365 *++yyssp = yystate;
4367 if (yyssp >= yyss + yystacksize - 1)
4369 /* Give user a chance to reallocate the stack */
4370 /* Use copies of these so that the &'s don't force the real ones into memory. */
4371 YYSTYPE *yyvs1 = yyvs;
4372 short *yyss1 = yyss;
4373 #ifdef YYLSP_NEEDED
4374 YYLTYPE *yyls1 = yyls;
4375 #endif
4377 /* Get the current used size of the three stacks, in elements. */
4378 int size = yyssp - yyss + 1;
4380 #ifdef yyoverflow
4381 /* Each stack pointer address is followed by the size of
4382 the data in use in that stack, in bytes. */
4383 #ifdef YYLSP_NEEDED
4384 /* This used to be a conditional around just the two extra args,
4385 but that might be undefined if yyoverflow is a macro. */
4386 yyoverflow("parser stack overflow",
4387 &yyss1, size * sizeof (*yyssp),
4388 &yyvs1, size * sizeof (*yyvsp),
4389 &yyls1, size * sizeof (*yylsp),
4390 &yystacksize);
4391 #else
4392 yyoverflow("parser stack overflow",
4393 &yyss1, size * sizeof (*yyssp),
4394 &yyvs1, size * sizeof (*yyvsp),
4395 &yystacksize);
4396 #endif
4398 yyss = yyss1; yyvs = yyvs1;
4399 #ifdef YYLSP_NEEDED
4400 yyls = yyls1;
4401 #endif
4402 #else /* no yyoverflow */
4403 /* Extend the stack our own way. */
4404 if (yystacksize >= YYMAXDEPTH)
4406 yyerror("parser stack overflow");
4407 if (yyfree_stacks)
4409 free (yyss);
4410 free (yyvs);
4411 #ifdef YYLSP_NEEDED
4412 free (yyls);
4413 #endif
4415 return 2;
4417 yystacksize *= 2;
4418 if (yystacksize > YYMAXDEPTH)
4419 yystacksize = YYMAXDEPTH;
4420 #ifndef YYSTACK_USE_ALLOCA
4421 yyfree_stacks = 1;
4422 #endif
4423 yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
4424 __yy_memcpy ((char *)yyss, (char *)yyss1,
4425 size * (unsigned int) sizeof (*yyssp));
4426 yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
4427 __yy_memcpy ((char *)yyvs, (char *)yyvs1,
4428 size * (unsigned int) sizeof (*yyvsp));
4429 #ifdef YYLSP_NEEDED
4430 yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
4431 __yy_memcpy ((char *)yyls, (char *)yyls1,
4432 size * (unsigned int) sizeof (*yylsp));
4433 #endif
4434 #endif /* no yyoverflow */
4436 yyssp = yyss + size - 1;
4437 yyvsp = yyvs + size - 1;
4438 #ifdef YYLSP_NEEDED
4439 yylsp = yyls + size - 1;
4440 #endif
4442 #if YYDEBUG != 0
4443 if (yydebug)
4444 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
4445 #endif
4447 if (yyssp >= yyss + yystacksize - 1)
4448 YYABORT;
4451 #if YYDEBUG != 0
4452 if (yydebug)
4453 fprintf(stderr, "Entering state %d\n", yystate);
4454 #endif
4456 goto yybackup;
4457 yybackup:
4459 /* Do appropriate processing given the current state. */
4460 /* Read a lookahead token if we need one and don't already have one. */
4461 /* yyresume: */
4463 /* First try to decide what to do without reference to lookahead token. */
4465 yyn = yypact[yystate];
4466 if (yyn == YYFLAG)
4467 goto yydefault;
4469 /* Not known => get a lookahead token if don't already have one. */
4471 /* yychar is either YYEMPTY or YYEOF
4472 or a valid token in external form. */
4474 if (yychar == YYEMPTY)
4476 #if YYDEBUG != 0
4477 if (yydebug)
4478 fprintf(stderr, "Reading a token: ");
4479 #endif
4480 yychar = YYLEX;
4483 /* Convert token to internal form (in yychar1) for indexing tables with */
4485 if (yychar <= 0) /* This means end of input. */
4487 yychar1 = 0;
4488 yychar = YYEOF; /* Don't call YYLEX any more */
4490 #if YYDEBUG != 0
4491 if (yydebug)
4492 fprintf(stderr, "Now at end of input.\n");
4493 #endif
4495 else
4497 yychar1 = YYTRANSLATE(yychar);
4499 #if YYDEBUG != 0
4500 if (yydebug)
4502 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
4503 /* Give the individual parser a way to print the precise meaning
4504 of a token, for further debugging info. */
4505 #ifdef YYPRINT
4506 YYPRINT (stderr, yychar, yylval);
4507 #endif
4508 fprintf (stderr, ")\n");
4510 #endif
4513 yyn += yychar1;
4514 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
4515 goto yydefault;
4517 yyn = yytable[yyn];
4519 /* yyn is what to do for this token type in this state.
4520 Negative => reduce, -yyn is rule number.
4521 Positive => shift, yyn is new state.
4522 New state is final state => don't bother to shift,
4523 just return success.
4524 0, or most negative number => error. */
4526 if (yyn < 0)
4528 if (yyn == YYFLAG)
4529 goto yyerrlab;
4530 yyn = -yyn;
4531 goto yyreduce;
4533 else if (yyn == 0)
4534 goto yyerrlab;
4536 if (yyn == YYFINAL)
4537 YYACCEPT;
4539 /* Shift the lookahead token. */
4541 #if YYDEBUG != 0
4542 if (yydebug)
4543 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
4544 #endif
4546 /* Discard the token being shifted unless it is eof. */
4547 if (yychar != YYEOF)
4548 yychar = YYEMPTY;
4550 *++yyvsp = yylval;
4551 #ifdef YYLSP_NEEDED
4552 *++yylsp = yylloc;
4553 #endif
4555 /* count tokens shifted since error; after three, turn off error status. */
4556 if (yyerrstatus) yyerrstatus--;
4558 yystate = yyn;
4559 goto yynewstate;
4561 /* Do the default action for the current state. */
4562 yydefault:
4564 yyn = yydefact[yystate];
4565 if (yyn == 0)
4566 goto yyerrlab;
4568 /* Do a reduction. yyn is the number of a rule to reduce with. */
4569 yyreduce:
4570 yylen = yyr2[yyn];
4571 if (yylen > 0)
4572 yyval = yyvsp[1-yylen]; /* implement default value of the action */
4574 #if YYDEBUG != 0
4575 if (yydebug)
4577 int i;
4579 fprintf (stderr, "Reducing via rule %d (line %d), ",
4580 yyn, yyrline[yyn]);
4582 /* Print the symbols being reduced, and their result. */
4583 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
4584 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
4585 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
4587 #endif
4590 switch (yyn) {
4592 case 1:
4593 #line 434 "parse.y"
4594 { finish_translation_unit (); ;
4595 break;}
4596 case 2:
4597 #line 436 "parse.y"
4598 { finish_translation_unit (); ;
4599 break;}
4600 case 3:
4601 #line 444 "parse.y"
4602 { yyval.ttype = NULL_TREE; ;
4603 break;}
4604 case 4:
4605 #line 446 "parse.y"
4606 { yyval.ttype = NULL_TREE; ggc_collect (); ;
4607 break;}
4608 case 5:
4609 #line 448 "parse.y"
4610 { yyval.ttype = NULL_TREE; ggc_collect (); ;
4611 break;}
4612 case 8:
4613 #line 457 "parse.y"
4614 { have_extern_spec = 1;
4615 used_extern_spec = 0;
4616 yyval.ttype = NULL_TREE; ;
4617 break;}
4618 case 9:
4619 #line 462 "parse.y"
4620 { have_extern_spec = 0; ;
4621 break;}
4622 case 10:
4623 #line 467 "parse.y"
4624 { yyval.itype = pedantic;
4625 pedantic = 0; ;
4626 break;}
4627 case 12:
4628 #line 476 "parse.y"
4629 { if (pending_lang_change) do_pending_lang_change();
4630 type_lookups = NULL_TREE; ;
4631 break;}
4632 case 13:
4633 #line 479 "parse.y"
4634 { if (! toplevel_bindings_p ())
4635 pop_everything (); ;
4636 break;}
4637 case 14:
4638 #line 485 "parse.y"
4639 { if (pending_inlines) do_pending_inlines (); ;
4640 break;}
4641 case 15:
4642 #line 487 "parse.y"
4643 { if (pending_inlines) do_pending_inlines (); ;
4644 break;}
4645 case 16:
4646 #line 489 "parse.y"
4647 { if (pending_inlines) do_pending_inlines (); ;
4648 break;}
4649 case 17:
4650 #line 491 "parse.y"
4651 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4652 assemble_asm (yyvsp[-2].ttype); ;
4653 break;}
4654 case 18:
4655 #line 494 "parse.y"
4656 { pop_lang_context (); ;
4657 break;}
4658 case 19:
4659 #line 496 "parse.y"
4660 { if (pending_inlines) do_pending_inlines ();
4661 pop_lang_context (); ;
4662 break;}
4663 case 20:
4664 #line 499 "parse.y"
4665 { if (pending_inlines) do_pending_inlines ();
4666 pop_lang_context (); ;
4667 break;}
4668 case 21:
4669 #line 502 "parse.y"
4670 { push_namespace (yyvsp[-1].ttype); ;
4671 break;}
4672 case 22:
4673 #line 504 "parse.y"
4674 { pop_namespace (); ;
4675 break;}
4676 case 23:
4677 #line 506 "parse.y"
4678 { push_namespace (NULL_TREE); ;
4679 break;}
4680 case 24:
4681 #line 508 "parse.y"
4682 { pop_namespace (); ;
4683 break;}
4684 case 26:
4685 #line 511 "parse.y"
4686 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4687 break;}
4688 case 28:
4689 #line 514 "parse.y"
4690 { pedantic = yyvsp[-1].itype; ;
4691 break;}
4692 case 29:
4693 #line 519 "parse.y"
4694 { begin_only_namespace_names (); ;
4695 break;}
4696 case 30:
4697 #line 521 "parse.y"
4699 end_only_namespace_names ();
4700 if (lastiddecl)
4701 yyvsp[-1].ttype = lastiddecl;
4702 do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype);
4704 break;}
4705 case 31:
4706 #line 531 "parse.y"
4707 { yyval.ttype = yyvsp[0].ttype; ;
4708 break;}
4709 case 32:
4710 #line 533 "parse.y"
4711 { yyval.ttype = yyvsp[0].ttype; ;
4712 break;}
4713 case 33:
4714 #line 535 "parse.y"
4715 { yyval.ttype = yyvsp[0].ttype; ;
4716 break;}
4717 case 34:
4718 #line 540 "parse.y"
4719 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4720 break;}
4721 case 35:
4722 #line 542 "parse.y"
4723 { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ;
4724 break;}
4725 case 36:
4726 #line 544 "parse.y"
4727 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4728 break;}
4729 case 37:
4730 #line 549 "parse.y"
4731 { begin_only_namespace_names (); ;
4732 break;}
4733 case 38:
4734 #line 551 "parse.y"
4736 end_only_namespace_names ();
4737 /* If no declaration was found, the using-directive is
4738 invalid. Since that was not reported, we need the
4739 identifier for the error message. */
4740 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4741 yyvsp[-1].ttype = lastiddecl;
4742 do_using_directive (yyvsp[-1].ttype);
4744 break;}
4745 case 39:
4746 #line 564 "parse.y"
4748 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4749 yyval.ttype = lastiddecl;
4750 got_scope = yyval.ttype;
4752 break;}
4753 case 40:
4754 #line 570 "parse.y"
4756 yyval.ttype = yyvsp[-1].ttype;
4757 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4758 yyval.ttype = lastiddecl;
4759 got_scope = yyval.ttype;
4761 break;}
4762 case 43:
4763 #line 581 "parse.y"
4764 { yyval.ttype = yyvsp[0].ttype; ;
4765 break;}
4766 case 44:
4767 #line 583 "parse.y"
4768 { yyval.ttype = yyvsp[0].ttype; ;
4769 break;}
4770 case 45:
4771 #line 588 "parse.y"
4772 { push_lang_context (yyvsp[0].ttype); ;
4773 break;}
4774 case 46:
4775 #line 590 "parse.y"
4776 { if (current_lang_name != yyvsp[0].ttype)
4777 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4778 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4779 break;}
4780 case 47:
4781 #line 597 "parse.y"
4782 { begin_template_parm_list (); ;
4783 break;}
4784 case 48:
4785 #line 599 "parse.y"
4786 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4787 break;}
4788 case 49:
4789 #line 601 "parse.y"
4790 { begin_specialization();
4791 yyval.ttype = NULL_TREE; ;
4792 break;}
4793 case 50:
4794 #line 607 "parse.y"
4795 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4796 break;}
4797 case 51:
4798 #line 609 "parse.y"
4799 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4800 break;}
4801 case 52:
4802 #line 614 "parse.y"
4803 { yyval.ttype = yyvsp[0].ttype; ;
4804 break;}
4805 case 53:
4806 #line 616 "parse.y"
4807 { yyval.ttype = NULL_TREE; ;
4808 break;}
4809 case 54:
4810 #line 620 "parse.y"
4811 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4812 break;}
4813 case 55:
4814 #line 622 "parse.y"
4815 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4816 break;}
4817 case 56:
4818 #line 627 "parse.y"
4819 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4820 break;}
4821 case 57:
4822 #line 639 "parse.y"
4823 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4824 break;}
4825 case 58:
4826 #line 641 "parse.y"
4827 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4828 break;}
4829 case 59:
4830 #line 643 "parse.y"
4831 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4832 break;}
4833 case 60:
4834 #line 645 "parse.y"
4835 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4836 break;}
4837 case 61:
4838 #line 647 "parse.y"
4839 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4840 break;}
4841 case 62:
4842 #line 649 "parse.y"
4844 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4845 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4846 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4848 error ("invalid default template argument");
4849 yyvsp[0].ttype = error_mark_node;
4851 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4853 break;}
4854 case 63:
4855 #line 663 "parse.y"
4856 { finish_template_decl (yyvsp[-1].ttype); ;
4857 break;}
4858 case 64:
4859 #line 665 "parse.y"
4860 { finish_template_decl (yyvsp[-1].ttype); ;
4861 break;}
4862 case 65:
4863 #line 670 "parse.y"
4864 { if (pending_inlines) do_pending_inlines (); ;
4865 break;}
4866 case 66:
4867 #line 672 "parse.y"
4868 { if (pending_inlines) do_pending_inlines (); ;
4869 break;}
4870 case 67:
4871 #line 674 "parse.y"
4872 { if (pending_inlines) do_pending_inlines (); ;
4873 break;}
4874 case 68:
4875 #line 676 "parse.y"
4876 { if (pending_inlines) do_pending_inlines ();
4877 pop_lang_context (); ;
4878 break;}
4879 case 69:
4880 #line 679 "parse.y"
4881 { if (pending_inlines) do_pending_inlines ();
4882 pop_lang_context (); ;
4883 break;}
4884 case 70:
4885 #line 682 "parse.y"
4886 { pedantic = yyvsp[-1].itype; ;
4887 break;}
4888 case 72:
4889 #line 688 "parse.y"
4891 break;}
4892 case 73:
4893 #line 690 "parse.y"
4894 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4895 break;}
4896 case 74:
4897 #line 692 "parse.y"
4898 { maybe_process_partial_specialization (yyvsp[-1].ftype.t);
4899 note_got_semicolon (yyvsp[-1].ftype.t); ;
4900 break;}
4901 case 76:
4902 #line 699 "parse.y"
4904 break;}
4905 case 77:
4906 #line 701 "parse.y"
4907 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4908 break;}
4909 case 78:
4910 #line 703 "parse.y"
4911 { pedwarn ("empty declaration"); ;
4912 break;}
4913 case 80:
4914 #line 706 "parse.y"
4916 tree t, attrs;
4917 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4918 shadow_tag (t);
4919 note_list_got_semicolon (yyvsp[-1].ftype.t);
4921 break;}
4922 case 84:
4923 #line 719 "parse.y"
4924 { yyval.itype = 0; ;
4925 break;}
4926 case 85:
4927 #line 721 "parse.y"
4928 { yyval.itype = 1; ;
4929 break;}
4930 case 91:
4931 #line 737 "parse.y"
4932 { expand_body (finish_function ((int)yyvsp[-1].itype)); ;
4933 break;}
4934 case 92:
4935 #line 739 "parse.y"
4936 { expand_body (finish_function ((int)yyvsp[0].itype)); ;
4937 break;}
4938 case 93:
4939 #line 741 "parse.y"
4941 break;}
4942 case 94:
4943 #line 746 "parse.y"
4944 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4945 break;}
4946 case 95:
4947 #line 748 "parse.y"
4948 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4949 break;}
4950 case 96:
4951 #line 750 "parse.y"
4952 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4953 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4955 break;}
4956 case 97:
4957 #line 754 "parse.y"
4958 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4959 break;}
4960 case 98:
4961 #line 756 "parse.y"
4962 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4963 break;}
4964 case 99:
4965 #line 758 "parse.y"
4966 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4967 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4969 break;}
4970 case 100:
4971 #line 762 "parse.y"
4972 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4973 break;}
4974 case 101:
4975 #line 764 "parse.y"
4976 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4977 break;}
4978 case 102:
4979 #line 766 "parse.y"
4980 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4981 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4983 break;}
4984 case 103:
4985 #line 770 "parse.y"
4986 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4987 break;}
4988 case 104:
4989 #line 772 "parse.y"
4990 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4991 break;}
4992 case 105:
4993 #line 774 "parse.y"
4994 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4995 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4997 break;}
4998 case 106:
4999 #line 781 "parse.y"
5000 { check_for_new_type ("return type", yyvsp[-1].ftype);
5001 if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
5002 YYERROR1; ;
5003 break;}
5004 case 107:
5005 #line 785 "parse.y"
5006 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
5007 YYERROR1; ;
5008 break;}
5009 case 108:
5010 #line 788 "parse.y"
5011 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
5012 YYERROR1; ;
5013 break;}
5014 case 109:
5015 #line 791 "parse.y"
5016 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
5017 YYERROR1; ;
5018 break;}
5019 case 110:
5020 #line 794 "parse.y"
5021 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
5022 YYERROR1; ;
5023 break;}
5024 case 111:
5025 #line 800 "parse.y"
5026 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
5027 break;}
5028 case 112:
5029 #line 802 "parse.y"
5030 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
5031 break;}
5032 case 113:
5033 #line 804 "parse.y"
5034 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
5035 break;}
5036 case 114:
5037 #line 806 "parse.y"
5038 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
5039 break;}
5040 case 115:
5041 #line 813 "parse.y"
5042 { yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups);
5043 rest_of_mdef:
5044 if (! yyval.ttype)
5045 YYERROR1;
5046 if (yychar == YYEMPTY)
5047 yychar = YYLEX;
5048 reinit_parse_for_method (yychar, yyval.ttype); ;
5049 break;}
5050 case 116:
5051 #line 821 "parse.y"
5052 { yyval.ttype = parse_method (yyvsp[0].ttype, NULL_TREE, NULL_TREE);
5053 goto rest_of_mdef; ;
5054 break;}
5055 case 117:
5056 #line 824 "parse.y"
5057 { yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups); goto rest_of_mdef;;
5058 break;}
5059 case 118:
5060 #line 826 "parse.y"
5061 { yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups); goto rest_of_mdef;;
5062 break;}
5063 case 119:
5064 #line 828 "parse.y"
5065 { yyval.ttype = parse_method (yyvsp[0].ttype, NULL_TREE, NULL_TREE);
5066 goto rest_of_mdef; ;
5067 break;}
5068 case 120:
5069 #line 831 "parse.y"
5070 { yyval.ttype = parse_method (yyvsp[0].ttype, yyvsp[-1].ftype.t, yyvsp[-1].ftype.lookups); goto rest_of_mdef;;
5071 break;}
5072 case 121:
5073 #line 833 "parse.y"
5074 { yyval.ttype = parse_method (yyvsp[0].ttype, NULL_TREE, NULL_TREE);
5075 goto rest_of_mdef; ;
5076 break;}
5077 case 122:
5078 #line 839 "parse.y"
5080 if (! current_function_parms_stored)
5081 store_parm_decls ();
5082 yyval.ttype = yyvsp[0].ttype;
5084 break;}
5085 case 123:
5086 #line 848 "parse.y"
5087 { finish_named_return_value (yyval.ttype, yyvsp[0].ttype); ;
5088 break;}
5089 case 124:
5090 #line 850 "parse.y"
5091 { finish_named_return_value (yyval.ttype, yyvsp[-1].ttype); ;
5092 break;}
5093 case 125:
5094 #line 852 "parse.y"
5095 { finish_named_return_value (yyval.ttype, NULL_TREE); ;
5096 break;}
5097 case 126:
5098 #line 857 "parse.y"
5100 if (yyvsp[0].ftype.new_type_flag == 0)
5101 error ("no base or member initializers given following ':'");
5103 finish_mem_initializers (yyvsp[0].ftype.t);
5105 break;}
5106 case 127:
5107 #line 867 "parse.y"
5109 if (! current_function_parms_stored)
5110 store_parm_decls ();
5112 if (DECL_CONSTRUCTOR_P (current_function_decl))
5113 /* Make a contour for the initializer list. */
5114 do_pushlevel ();
5115 else if (current_class_type == NULL_TREE)
5116 error ("base initializers not allowed for non-member functions");
5117 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
5118 error ("only constructors take base initializers");
5120 break;}
5121 case 128:
5122 #line 883 "parse.y"
5124 yyval.ftype.new_type_flag = 0;
5125 yyval.ftype.t = NULL_TREE;
5127 break;}
5128 case 129:
5129 #line 888 "parse.y"
5131 yyval.ftype.new_type_flag = 1;
5132 yyval.ftype.t = yyvsp[0].ttype;
5134 break;}
5135 case 130:
5136 #line 893 "parse.y"
5138 if (yyvsp[0].ttype)
5140 yyval.ftype.new_type_flag = 1;
5141 TREE_CHAIN (yyvsp[0].ttype) = yyvsp[-2].ftype.t;
5142 yyval.ftype.t = yyvsp[0].ttype;
5144 else
5145 yyval.ftype = yyvsp[-2].ftype;
5147 break;}
5148 case 132:
5149 #line 908 "parse.y"
5151 if (current_class_name)
5152 pedwarn ("anachronistic old style base class initializer");
5153 yyval.ttype = expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
5155 break;}
5156 case 133:
5157 #line 914 "parse.y"
5159 if (current_class_name)
5160 pedwarn ("anachronistic old style base class initializer");
5161 yyval.ttype = expand_member_init (current_class_ref,
5162 NULL_TREE,
5163 void_type_node);
5165 break;}
5166 case 134:
5167 #line 922 "parse.y"
5168 { yyval.ttype = expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5169 break;}
5170 case 135:
5171 #line 924 "parse.y"
5172 { yyval.ttype = expand_member_init (current_class_ref, yyvsp[-1].ttype,
5173 void_type_node); ;
5174 break;}
5175 case 136:
5176 #line 927 "parse.y"
5177 { yyval.ttype = expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5178 break;}
5179 case 137:
5180 #line 929 "parse.y"
5181 { yyval.ttype = expand_member_init (current_class_ref, yyvsp[-1].ttype,
5182 void_type_node); ;
5183 break;}
5184 case 138:
5185 #line 932 "parse.y"
5186 { yyval.ttype = expand_member_init (current_class_ref,
5187 TYPE_MAIN_DECL (yyvsp[-3].ttype),
5188 yyvsp[-1].ttype); ;
5189 break;}
5190 case 139:
5191 #line 936 "parse.y"
5192 { yyval.ttype = expand_member_init (current_class_ref,
5193 TYPE_MAIN_DECL (yyvsp[-1].ttype),
5194 void_type_node); ;
5195 break;}
5196 case 140:
5197 #line 940 "parse.y"
5198 { yyval.ttype = NULL_TREE ;
5199 break;}
5200 case 152:
5201 #line 965 "parse.y"
5202 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
5203 yyungetc (';', 1); ;
5204 break;}
5205 case 154:
5206 #line 969 "parse.y"
5207 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
5208 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
5209 break;}
5210 case 156:
5211 #line 973 "parse.y"
5212 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
5213 break;}
5214 case 158:
5215 #line 976 "parse.y"
5216 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
5217 break;}
5218 case 160:
5219 #line 979 "parse.y"
5220 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
5221 yyungetc (';', 1); ;
5222 break;}
5223 case 162:
5224 #line 984 "parse.y"
5225 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
5226 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
5227 break;}
5228 case 164:
5229 #line 988 "parse.y"
5230 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
5231 break;}
5232 case 166:
5233 #line 991 "parse.y"
5234 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
5235 break;}
5236 case 168:
5237 #line 996 "parse.y"
5238 { begin_explicit_instantiation(); ;
5239 break;}
5240 case 169:
5241 #line 999 "parse.y"
5242 { end_explicit_instantiation(); ;
5243 break;}
5244 case 170:
5245 #line 1008 "parse.y"
5246 { yyval.ttype = yyvsp[0].ttype; ;
5247 break;}
5248 case 171:
5249 #line 1011 "parse.y"
5250 { yyval.ttype = yyvsp[0].ttype; ;
5251 break;}
5252 case 174:
5253 #line 1019 "parse.y"
5254 { yyval.ttype = yyvsp[0].ttype; ;
5255 break;}
5256 case 175:
5257 #line 1024 "parse.y"
5258 { yyval.ttype = yyvsp[0].ttype; ;
5259 break;}
5260 case 176:
5261 #line 1028 "parse.y"
5263 if (yychar == YYEMPTY)
5264 yychar = YYLEX;
5266 yyval.ttype = finish_template_type (yyvsp[-3].ttype, yyvsp[-1].ttype,
5267 yychar == SCOPE);
5269 break;}
5270 case 178:
5271 #line 1039 "parse.y"
5273 /* Handle `Class<Class<Type>>' without space in the `>>' */
5274 pedwarn ("`>>' should be `> >' in template class name");
5275 yyungetc ('>', 1);
5277 break;}
5278 case 179:
5279 #line 1048 "parse.y"
5280 { yyval.ttype = NULL_TREE; ;
5281 break;}
5282 case 181:
5283 #line 1054 "parse.y"
5284 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5285 break;}
5286 case 182:
5287 #line 1056 "parse.y"
5288 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5289 break;}
5290 case 183:
5291 #line 1061 "parse.y"
5292 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
5293 break;}
5294 case 184:
5295 #line 1063 "parse.y"
5297 yyval.ttype = lastiddecl;
5298 if (DECL_TEMPLATE_TEMPLATE_PARM_P (yyval.ttype))
5299 yyval.ttype = TREE_TYPE (yyval.ttype);
5301 break;}
5302 case 186:
5303 #line 1073 "parse.y"
5304 { yyval.code = NEGATE_EXPR; ;
5305 break;}
5306 case 187:
5307 #line 1075 "parse.y"
5308 { yyval.code = CONVERT_EXPR; ;
5309 break;}
5310 case 188:
5311 #line 1077 "parse.y"
5312 { yyval.code = PREINCREMENT_EXPR; ;
5313 break;}
5314 case 189:
5315 #line 1079 "parse.y"
5316 { yyval.code = PREDECREMENT_EXPR; ;
5317 break;}
5318 case 190:
5319 #line 1081 "parse.y"
5320 { yyval.code = TRUTH_NOT_EXPR; ;
5321 break;}
5322 case 191:
5323 #line 1086 "parse.y"
5324 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
5325 break;}
5326 case 193:
5327 #line 1092 "parse.y"
5328 { error ("ISO C++ forbids an empty condition for `%s'",
5329 cond_stmt_keyword);
5330 yyval.ttype = integer_zero_node; ;
5331 break;}
5332 case 194:
5333 #line 1096 "parse.y"
5334 { yyval.ttype = yyvsp[-1].ttype; ;
5335 break;}
5336 case 195:
5337 #line 1101 "parse.y"
5338 { error ("ISO C++ forbids an empty condition for `%s'",
5339 cond_stmt_keyword);
5340 yyval.ttype = integer_zero_node; ;
5341 break;}
5342 case 196:
5343 #line 1105 "parse.y"
5344 { yyval.ttype = yyvsp[-1].ttype; ;
5345 break;}
5346 case 197:
5347 #line 1110 "parse.y"
5348 { yyval.ttype = NULL_TREE; ;
5349 break;}
5350 case 199:
5351 #line 1113 "parse.y"
5352 { yyval.ttype = NULL_TREE; ;
5353 break;}
5354 case 200:
5355 #line 1118 "parse.y"
5357 tree d;
5358 for (d = getdecls (); d; d = TREE_CHAIN (d))
5359 if (TREE_CODE (d) == TYPE_DECL) {
5360 tree s = TREE_TYPE (d);
5361 if (TREE_CODE (s) == RECORD_TYPE)
5362 cp_error ("definition of class `%T' in condition", s);
5363 else if (TREE_CODE (s) == ENUMERAL_TYPE)
5364 cp_error ("definition of enum `%T' in condition", s);
5367 current_declspecs = yyvsp[-4].ftype.t;
5368 yyval.ttype = parse_decl (yyvsp[-3].ttype, yyvsp[-1].ttype, 1);
5370 break;}
5371 case 201:
5372 #line 1133 "parse.y"
5374 parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
5375 yyval.ttype = convert_from_reference (yyvsp[-1].ttype);
5376 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
5377 cp_error ("definition of array `%#D' in condition", yyval.ttype);
5379 break;}
5380 case 207:
5381 #line 1151 "parse.y"
5382 { yyval.ttype = begin_compound_stmt (1); ;
5383 break;}
5384 case 208:
5385 #line 1153 "parse.y"
5386 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
5387 break;}
5388 case 210:
5389 #line 1160 "parse.y"
5390 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype,
5391 build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5392 break;}
5393 case 211:
5394 #line 1163 "parse.y"
5395 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype,
5396 build_tree_list (NULL_TREE, error_mark_node)); ;
5397 break;}
5398 case 212:
5399 #line 1166 "parse.y"
5400 { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5401 break;}
5402 case 213:
5403 #line 1168 "parse.y"
5404 { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
5405 break;}
5406 case 214:
5407 #line 1173 "parse.y"
5408 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5409 break;}
5410 case 216:
5411 #line 1179 "parse.y"
5412 { yyval.ttype = yyvsp[0].ttype; ;
5413 break;}
5414 case 217:
5415 #line 1182 "parse.y"
5416 { yyval.ttype = yyvsp[0].ttype;
5417 pedantic = yyvsp[-1].itype; ;
5418 break;}
5419 case 218:
5420 #line 1185 "parse.y"
5421 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
5422 break;}
5423 case 219:
5424 #line 1187 "parse.y"
5425 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
5426 break;}
5427 case 220:
5428 #line 1189 "parse.y"
5429 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5430 break;}
5431 case 221:
5432 #line 1191 "parse.y"
5433 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
5434 break;}
5435 case 222:
5436 #line 1194 "parse.y"
5437 { if (pedantic)
5438 pedwarn ("ISO C++ forbids `&&'");
5439 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
5440 break;}
5441 case 223:
5442 #line 1198 "parse.y"
5443 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
5444 break;}
5445 case 224:
5446 #line 1200 "parse.y"
5447 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t));
5448 check_for_new_type ("sizeof", yyvsp[-1].ftype); ;
5449 break;}
5450 case 225:
5451 #line 1203 "parse.y"
5452 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
5453 break;}
5454 case 226:
5455 #line 1205 "parse.y"
5456 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
5457 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
5458 break;}
5459 case 227:
5460 #line 1211 "parse.y"
5461 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
5462 check_for_new_type ("new", yyvsp[0].ftype); ;
5463 break;}
5464 case 228:
5465 #line 1214 "parse.y"
5466 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
5467 check_for_new_type ("new", yyvsp[-1].ftype); ;
5468 break;}
5469 case 229:
5470 #line 1217 "parse.y"
5471 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
5472 check_for_new_type ("new", yyvsp[0].ftype); ;
5473 break;}
5474 case 230:
5475 #line 1220 "parse.y"
5476 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
5477 check_for_new_type ("new", yyvsp[-1].ftype); ;
5478 break;}
5479 case 231:
5480 #line 1224 "parse.y"
5481 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
5482 NULL_TREE, yyvsp[-3].itype);
5483 check_for_new_type ("new", yyvsp[-1].ftype); ;
5484 break;}
5485 case 232:
5486 #line 1228 "parse.y"
5487 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype);
5488 check_for_new_type ("new", yyvsp[-2].ftype); ;
5489 break;}
5490 case 233:
5491 #line 1231 "parse.y"
5492 { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype);
5493 check_for_new_type ("new", yyvsp[-1].ftype); ;
5494 break;}
5495 case 234:
5496 #line 1234 "parse.y"
5497 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
5498 check_for_new_type ("new", yyvsp[-2].ftype); ;
5499 break;}
5500 case 235:
5501 #line 1238 "parse.y"
5502 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
5503 break;}
5504 case 236:
5505 #line 1240 "parse.y"
5506 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
5507 if (yychar == YYEMPTY)
5508 yychar = YYLEX; ;
5509 break;}
5510 case 237:
5511 #line 1244 "parse.y"
5512 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
5513 if (yychar == YYEMPTY)
5514 yychar = YYLEX; ;
5515 break;}
5516 case 238:
5517 #line 1248 "parse.y"
5518 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
5519 break;}
5520 case 239:
5521 #line 1250 "parse.y"
5522 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
5523 break;}
5524 case 240:
5525 #line 1252 "parse.y"
5526 { yyval.ttype = build_x_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ftype.t));
5527 check_for_new_type ("__builtin_va_arg", yyvsp[-1].ftype); ;
5528 break;}
5529 case 241:
5530 #line 1258 "parse.y"
5531 { yyval.ttype = yyvsp[-1].ttype; ;
5532 break;}
5533 case 242:
5534 #line 1260 "parse.y"
5535 { cp_pedwarn ("old style placement syntax, use () instead");
5536 yyval.ttype = yyvsp[-1].ttype; ;
5537 break;}
5538 case 243:
5539 #line 1266 "parse.y"
5540 { yyval.ttype = yyvsp[-1].ttype; ;
5541 break;}
5542 case 244:
5543 #line 1268 "parse.y"
5544 { yyval.ttype = NULL_TREE; ;
5545 break;}
5546 case 245:
5547 #line 1270 "parse.y"
5549 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
5550 yyval.ttype = error_mark_node;
5552 break;}
5553 case 246:
5554 #line 1278 "parse.y"
5556 if (pedantic)
5557 pedwarn ("ISO C++ forbids initialization of new expression with `='");
5558 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
5559 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
5560 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype);
5561 else
5562 yyval.ttype = yyvsp[0].ttype;
5564 break;}
5565 case 247:
5566 #line 1292 "parse.y"
5567 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5568 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5569 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5570 break;}
5571 case 248:
5572 #line 1296 "parse.y"
5573 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5574 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5575 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5576 break;}
5577 case 250:
5578 #line 1304 "parse.y"
5579 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
5580 break;}
5581 case 251:
5582 #line 1306 "parse.y"
5584 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
5585 nreverse (yyvsp[-2].ttype));
5586 if (pedantic)
5587 pedwarn ("ISO C++ forbids constructor-expressions");
5588 /* Indicate that this was a GNU C constructor expression. */
5589 TREE_HAS_CONSTRUCTOR (init) = 1;
5591 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
5593 break;}
5594 case 253:
5595 #line 1322 "parse.y"
5596 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
5597 break;}
5598 case 254:
5599 #line 1324 "parse.y"
5600 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
5601 break;}
5602 case 255:
5603 #line 1326 "parse.y"
5604 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5605 break;}
5606 case 256:
5607 #line 1328 "parse.y"
5608 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5609 break;}
5610 case 257:
5611 #line 1330 "parse.y"
5612 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5613 break;}
5614 case 258:
5615 #line 1332 "parse.y"
5616 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5617 break;}
5618 case 259:
5619 #line 1334 "parse.y"
5620 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5621 break;}
5622 case 260:
5623 #line 1336 "parse.y"
5624 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5625 break;}
5626 case 261:
5627 #line 1338 "parse.y"
5628 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5629 break;}
5630 case 262:
5631 #line 1340 "parse.y"
5632 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5633 break;}
5634 case 263:
5635 #line 1342 "parse.y"
5636 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5637 break;}
5638 case 264:
5639 #line 1344 "parse.y"
5640 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5641 break;}
5642 case 265:
5643 #line 1346 "parse.y"
5644 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5645 break;}
5646 case 266:
5647 #line 1348 "parse.y"
5648 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5649 break;}
5650 case 267:
5651 #line 1350 "parse.y"
5652 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5653 break;}
5654 case 268:
5655 #line 1352 "parse.y"
5656 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5657 break;}
5658 case 269:
5659 #line 1354 "parse.y"
5660 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5661 break;}
5662 case 270:
5663 #line 1356 "parse.y"
5664 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5665 break;}
5666 case 271:
5667 #line 1358 "parse.y"
5668 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5669 break;}
5670 case 272:
5671 #line 1360 "parse.y"
5672 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5673 break;}
5674 case 273:
5675 #line 1362 "parse.y"
5676 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5677 if (yyval.ttype != error_mark_node)
5678 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5679 break;}
5680 case 274:
5681 #line 1366 "parse.y"
5682 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5683 break;}
5684 case 275:
5685 #line 1368 "parse.y"
5686 { yyval.ttype = build_throw (NULL_TREE); ;
5687 break;}
5688 case 276:
5689 #line 1370 "parse.y"
5690 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5691 break;}
5692 case 277:
5693 #line 1388 "parse.y"
5694 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5695 break;}
5696 case 278:
5697 #line 1390 "parse.y"
5698 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5699 break;}
5700 case 284:
5701 #line 1399 "parse.y"
5703 /* If lastiddecl is a TREE_LIST, it's a baselink, which
5704 means that we're in an expression like S::f<int>, so
5705 don't do_identifier; we only do that for unqualified
5706 identifiers. */
5707 if (lastiddecl && TREE_CODE (lastiddecl) != TREE_LIST)
5708 yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE);
5709 else
5710 yyval.ttype = yyvsp[-1].ttype;
5712 break;}
5713 case 285:
5714 #line 1412 "parse.y"
5715 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5716 break;}
5717 case 286:
5718 #line 1414 "parse.y"
5719 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5720 break;}
5721 case 287:
5722 #line 1419 "parse.y"
5723 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5724 break;}
5725 case 288:
5726 #line 1421 "parse.y"
5727 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5728 break;}
5729 case 289:
5730 #line 1424 "parse.y"
5731 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5732 break;}
5733 case 294:
5734 #line 1436 "parse.y"
5736 /* Provide support for '(' attributes '*' declarator ')'
5737 etc */
5738 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
5740 break;}
5741 case 296:
5742 #line 1446 "parse.y"
5743 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5744 break;}
5745 case 297:
5746 #line 1448 "parse.y"
5747 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5748 break;}
5749 case 298:
5750 #line 1450 "parse.y"
5751 { yyval.ttype = yyvsp[-1].ttype; ;
5752 break;}
5753 case 299:
5754 #line 1455 "parse.y"
5755 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5756 break;}
5757 case 300:
5758 #line 1457 "parse.y"
5759 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5760 break;}
5761 case 304:
5762 #line 1467 "parse.y"
5763 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5764 break;}
5765 case 305:
5766 #line 1472 "parse.y"
5768 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
5769 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
5770 else
5771 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5773 break;}
5774 case 308:
5775 #line 1481 "parse.y"
5777 yyval.ttype = combine_strings (yyval.ttype);
5778 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5779 a const array the way we want, so fix it. */
5780 if (flag_const_strings)
5781 TREE_TYPE (yyval.ttype) = build_cplus_array_type
5782 (TREE_TYPE (TREE_TYPE (yyval.ttype)),
5783 TYPE_DOMAIN (TREE_TYPE (yyval.ttype)));
5785 break;}
5786 case 309:
5787 #line 1491 "parse.y"
5788 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5789 break;}
5790 case 310:
5791 #line 1493 "parse.y"
5792 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5793 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5794 break;}
5795 case 311:
5796 #line 1496 "parse.y"
5797 { yyval.ttype = error_mark_node; ;
5798 break;}
5799 case 312:
5800 #line 1498 "parse.y"
5801 { tree scope = current_scope ();
5802 if (!scope || TREE_CODE (scope) != FUNCTION_DECL)
5804 error ("braced-group within expression allowed only inside a function");
5805 YYERROR;
5807 if (pedantic)
5808 pedwarn ("ISO C++ forbids braced-groups within expressions");
5809 yyval.ttype = begin_stmt_expr ();
5811 break;}
5812 case 313:
5813 #line 1509 "parse.y"
5814 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype); ;
5815 break;}
5816 case 314:
5817 #line 1514 "parse.y"
5818 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
5819 break;}
5820 case 315:
5821 #line 1516 "parse.y"
5822 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
5823 break;}
5824 case 316:
5825 #line 1518 "parse.y"
5826 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
5827 break;}
5828 case 317:
5829 #line 1520 "parse.y"
5830 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
5831 break;}
5832 case 318:
5833 #line 1522 "parse.y"
5834 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5835 break;}
5836 case 319:
5837 #line 1524 "parse.y"
5838 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5839 break;}
5840 case 320:
5841 #line 1526 "parse.y"
5842 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5843 break;}
5844 case 321:
5845 #line 1529 "parse.y"
5846 { yyval.ttype = finish_this_expr (); ;
5847 break;}
5848 case 322:
5849 #line 1531 "parse.y"
5851 /* This is a C cast in C++'s `functional' notation
5852 using the "implicit int" extension so that:
5853 `const (3)' is equivalent to `const int (3)'. */
5854 tree type;
5856 type = hash_tree_cons (NULL_TREE, yyvsp[-3].ttype, NULL_TREE);
5857 type = groktypename (build_decl_list (type, NULL_TREE));
5858 yyval.ttype = build_functional_cast (type, yyvsp[-1].ttype);
5860 break;}
5861 case 324:
5862 #line 1543 "parse.y"
5863 { tree type = groktypename (yyvsp[-4].ftype.t);
5864 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5865 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5866 break;}
5867 case 325:
5868 #line 1547 "parse.y"
5869 { tree type = groktypename (yyvsp[-4].ftype.t);
5870 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5871 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5872 break;}
5873 case 326:
5874 #line 1551 "parse.y"
5875 { tree type = groktypename (yyvsp[-4].ftype.t);
5876 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5877 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5878 break;}
5879 case 327:
5880 #line 1555 "parse.y"
5881 { tree type = groktypename (yyvsp[-4].ftype.t);
5882 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5883 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5884 break;}
5885 case 328:
5886 #line 1559 "parse.y"
5887 { yyval.ttype = build_typeid (yyvsp[-1].ttype); ;
5888 break;}
5889 case 329:
5890 #line 1561 "parse.y"
5891 { tree type = groktypename (yyvsp[-1].ftype.t);
5892 check_for_new_type ("typeid", yyvsp[-1].ftype);
5893 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5894 break;}
5895 case 330:
5896 #line 1565 "parse.y"
5897 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5898 break;}
5899 case 331:
5900 #line 1567 "parse.y"
5901 { yyval.ttype = yyvsp[0].ttype; ;
5902 break;}
5903 case 332:
5904 #line 1569 "parse.y"
5906 got_scope = NULL_TREE;
5907 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5908 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5909 else
5910 yyval.ttype = yyvsp[0].ttype;
5912 break;}
5913 case 333:
5914 #line 1577 "parse.y"
5915 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5916 break;}
5917 case 334:
5918 #line 1579 "parse.y"
5919 { yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5920 break;}
5921 case 335:
5922 #line 1581 "parse.y"
5923 { yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5924 break;}
5925 case 336:
5926 #line 1583 "parse.y"
5928 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5930 break;}
5931 case 337:
5932 #line 1587 "parse.y"
5933 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5934 break;}
5935 case 338:
5936 #line 1589 "parse.y"
5937 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5938 break;}
5939 case 339:
5940 #line 1591 "parse.y"
5941 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5942 break;}
5943 case 340:
5944 #line 1593 "parse.y"
5945 { if (processing_template_decl)
5946 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
5947 else
5948 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5949 break;}
5950 case 341:
5951 #line 1598 "parse.y"
5952 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5953 break;}
5954 case 342:
5955 #line 1600 "parse.y"
5956 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5957 break;}
5958 case 343:
5959 #line 1602 "parse.y"
5960 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5961 break;}
5962 case 344:
5963 #line 1604 "parse.y"
5964 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5965 break;}
5966 case 345:
5967 #line 1607 "parse.y"
5968 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5969 break;}
5970 case 346:
5971 #line 1609 "parse.y"
5972 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5973 break;}
5974 case 347:
5975 #line 1611 "parse.y"
5977 yyval.ttype = error_mark_node;
5979 break;}
5980 case 348:
5981 #line 1656 "parse.y"
5982 { yyval.itype = 0; ;
5983 break;}
5984 case 349:
5985 #line 1658 "parse.y"
5986 { got_scope = NULL_TREE; yyval.itype = 1; ;
5987 break;}
5988 case 350:
5989 #line 1663 "parse.y"
5990 { yyval.itype = 0; ;
5991 break;}
5992 case 351:
5993 #line 1665 "parse.y"
5994 { got_scope = NULL_TREE; yyval.itype = 1; ;
5995 break;}
5996 case 352:
5997 #line 1670 "parse.y"
5998 { yyval.ttype = boolean_true_node; ;
5999 break;}
6000 case 353:
6001 #line 1672 "parse.y"
6002 { yyval.ttype = boolean_false_node; ;
6003 break;}
6004 case 355:
6005 #line 1679 "parse.y"
6006 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6007 break;}
6008 case 356:
6009 #line 1684 "parse.y"
6011 if (! current_function_parms_stored)
6012 store_parm_decls ();
6013 setup_vtbl_ptr (NULL_TREE, NULL_TREE);
6015 break;}
6016 case 357:
6017 #line 1693 "parse.y"
6018 { got_object = TREE_TYPE (yyval.ttype); ;
6019 break;}
6020 case 358:
6021 #line 1695 "parse.y"
6023 yyval.ttype = build_x_arrow (yyval.ttype);
6024 got_object = TREE_TYPE (yyval.ttype);
6026 break;}
6027 case 359:
6028 #line 1703 "parse.y"
6030 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
6031 note_got_semicolon (yyvsp[-2].ftype.t);
6033 break;}
6034 case 360:
6035 #line 1708 "parse.y"
6037 note_list_got_semicolon (yyvsp[-2].ftype.t);
6039 break;}
6040 case 361:
6041 #line 1712 "parse.y"
6043 break;}
6044 case 362:
6045 #line 1714 "parse.y"
6047 shadow_tag (yyvsp[-1].ftype.t);
6048 note_list_got_semicolon (yyvsp[-1].ftype.t);
6050 break;}
6051 case 363:
6052 #line 1719 "parse.y"
6053 { warning ("empty declaration"); ;
6054 break;}
6055 case 364:
6056 #line 1721 "parse.y"
6057 { pedantic = yyvsp[-1].itype; ;
6058 break;}
6059 case 367:
6060 #line 1735 "parse.y"
6061 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
6062 NULL_TREE, NULL_TREE); ;
6063 break;}
6064 case 368:
6065 #line 1738 "parse.y"
6066 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
6067 NULL_TREE); ;
6068 break;}
6069 case 369:
6070 #line 1745 "parse.y"
6071 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6072 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6073 break;}
6074 case 370:
6075 #line 1748 "parse.y"
6076 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6077 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6078 break;}
6079 case 371:
6080 #line 1751 "parse.y"
6081 { yyval.ftype.t = build_decl_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t),
6082 yyvsp[0].ttype);
6083 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6084 break;}
6085 case 372:
6086 #line 1755 "parse.y"
6087 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6088 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6089 break;}
6090 case 373:
6091 #line 1758 "parse.y"
6092 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6093 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6094 break;}
6095 case 374:
6096 #line 1769 "parse.y"
6097 { yyval.ftype.lookups = type_lookups; ;
6098 break;}
6099 case 375:
6100 #line 1771 "parse.y"
6101 { yyval.ftype.lookups = type_lookups; ;
6102 break;}
6103 case 376:
6104 #line 1776 "parse.y"
6105 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
6106 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6107 break;}
6108 case 377:
6109 #line 1779 "parse.y"
6110 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
6111 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6112 break;}
6113 case 378:
6114 #line 1782 "parse.y"
6115 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
6116 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
6117 break;}
6118 case 379:
6119 #line 1785 "parse.y"
6120 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
6121 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6122 break;}
6123 case 380:
6124 #line 1788 "parse.y"
6125 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
6126 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6127 break;}
6128 case 381:
6129 #line 1791 "parse.y"
6130 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
6131 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ftype.t)));
6132 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
6133 break;}
6134 case 382:
6135 #line 1798 "parse.y"
6136 { if (extra_warnings)
6137 warning ("`%s' is not at beginning of declaration",
6138 IDENTIFIER_POINTER (yyval.ttype));
6139 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
6140 break;}
6141 case 383:
6142 #line 1803 "parse.y"
6143 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
6144 break;}
6145 case 384:
6146 #line 1805 "parse.y"
6147 { if (extra_warnings)
6148 warning ("`%s' is not at beginning of declaration",
6149 IDENTIFIER_POINTER (yyvsp[0].ttype));
6150 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6151 break;}
6152 case 385:
6153 #line 1810 "parse.y"
6154 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
6155 break;}
6156 case 386:
6157 #line 1812 "parse.y"
6158 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
6159 break;}
6160 case 387:
6161 #line 1831 "parse.y"
6162 { yyval.ftype.lookups = NULL_TREE; TREE_STATIC (yyval.ftype.t) = 1; ;
6163 break;}
6164 case 388:
6165 #line 1833 "parse.y"
6167 yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
6168 yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
6170 break;}
6171 case 389:
6172 #line 1838 "parse.y"
6174 yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6175 TREE_STATIC (yyval.ftype.t) = 1;
6177 break;}
6178 case 390:
6179 #line 1843 "parse.y"
6181 if (extra_warnings && TREE_STATIC (yyval.ftype.t))
6182 warning ("`%s' is not at beginning of declaration",
6183 IDENTIFIER_POINTER (yyvsp[0].ttype));
6184 yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6185 TREE_STATIC (yyval.ftype.t) = TREE_STATIC (yyvsp[-1].ftype.t);
6187 break;}
6188 case 391:
6189 #line 1851 "parse.y"
6190 { yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ftype.t); ;
6191 break;}
6192 case 392:
6193 #line 1853 "parse.y"
6195 yyval.ftype.t = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE);
6196 yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
6198 break;}
6199 case 393:
6200 #line 1867 "parse.y"
6201 { yyval.ftype.t = build_decl_list (NULL_TREE, yyvsp[0].ftype.t);
6202 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6203 break;}
6204 case 394:
6205 #line 1870 "parse.y"
6206 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
6207 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6208 break;}
6209 case 395:
6210 #line 1873 "parse.y"
6211 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
6212 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6213 break;}
6214 case 396:
6215 #line 1876 "parse.y"
6216 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
6217 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6218 break;}
6219 case 397:
6220 #line 1882 "parse.y"
6221 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
6222 break;}
6223 case 398:
6224 #line 1884 "parse.y"
6225 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
6226 break;}
6227 case 399:
6228 #line 1893 "parse.y"
6229 { yyval.ftype.lookups = NULL_TREE; ;
6230 break;}
6231 case 400:
6232 #line 1895 "parse.y"
6233 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
6234 break;}
6235 case 401:
6236 #line 1897 "parse.y"
6237 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
6238 break;}
6239 case 402:
6240 #line 1899 "parse.y"
6241 { yyval.ftype.t = finish_typeof (yyvsp[-1].ttype);
6242 yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
6243 break;}
6244 case 403:
6245 #line 1902 "parse.y"
6246 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
6247 yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE; ;
6248 break;}
6249 case 404:
6250 #line 1905 "parse.y"
6251 { tree type = TREE_TYPE (yyvsp[-1].ttype);
6253 yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
6254 if (IS_AGGR_TYPE (type))
6256 sorry ("sigof type specifier");
6257 yyval.ftype.t = type;
6259 else
6261 error ("`sigof' applied to non-aggregate expression");
6262 yyval.ftype.t = error_mark_node;
6265 break;}
6266 case 405:
6267 #line 1920 "parse.y"
6268 { tree type = groktypename (yyvsp[-1].ftype.t);
6270 yyval.ftype.new_type_flag = 0; yyval.ftype.lookups = NULL_TREE;
6271 if (IS_AGGR_TYPE (type))
6273 sorry ("sigof type specifier");
6274 yyval.ftype.t = type;
6276 else
6278 error("`sigof' applied to non-aggregate type");
6279 yyval.ftype.t = error_mark_node;
6282 break;}
6283 case 406:
6284 #line 1940 "parse.y"
6285 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
6286 break;}
6287 case 407:
6288 #line 1942 "parse.y"
6289 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
6290 break;}
6291 case 410:
6292 #line 1949 "parse.y"
6293 { check_multiple_declarators (); ;
6294 break;}
6295 case 412:
6296 #line 1955 "parse.y"
6297 { check_multiple_declarators (); ;
6298 break;}
6299 case 414:
6300 #line 1961 "parse.y"
6301 { check_multiple_declarators (); ;
6302 break;}
6303 case 415:
6304 #line 1966 "parse.y"
6305 { yyval.ttype = NULL_TREE; ;
6306 break;}
6307 case 416:
6308 #line 1968 "parse.y"
6309 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
6310 break;}
6311 case 417:
6312 #line 1973 "parse.y"
6313 { yyval.ttype = parse_decl (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
6314 break;}
6315 case 418:
6316 #line 1976 "parse.y"
6317 { parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
6318 break;}
6319 case 419:
6320 #line 1978 "parse.y"
6322 yyval.ttype = parse_decl (yyvsp[-2].ttype, yyvsp[0].ttype, 0);
6323 parse_end_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype);
6325 break;}
6326 case 420:
6327 #line 1992 "parse.y"
6328 { yyval.ttype = parse_decl0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t,
6329 yyvsp[-4].ftype.lookups, yyvsp[-1].ttype, 1); ;
6330 break;}
6331 case 421:
6332 #line 1997 "parse.y"
6333 { parse_end_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
6334 break;}
6335 case 422:
6336 #line 1999 "parse.y"
6337 { tree d = parse_decl0 (yyvsp[-2].ttype, yyvsp[-3].ftype.t,
6338 yyvsp[-3].ftype.lookups, yyvsp[0].ttype, 0);
6339 parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
6340 break;}
6341 case 423:
6342 #line 2006 "parse.y"
6344 break;}
6345 case 424:
6346 #line 2011 "parse.y"
6348 break;}
6349 case 425:
6350 #line 2016 "parse.y"
6351 { /* Set things up as initdcl0_innards expects. */
6352 yyvsp[0].ttype = yyvsp[-1].ttype;
6353 yyvsp[-1].ttype = NULL_TREE; ;
6354 break;}
6355 case 426:
6356 #line 2020 "parse.y"
6358 break;}
6359 case 427:
6360 #line 2022 "parse.y"
6361 { tree d = parse_decl0 (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, yyvsp[0].ttype, 0);
6362 parse_end_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
6363 break;}
6364 case 428:
6365 #line 2030 "parse.y"
6366 { yyval.ttype = NULL_TREE; ;
6367 break;}
6368 case 429:
6369 #line 2032 "parse.y"
6370 { yyval.ttype = yyvsp[0].ttype; ;
6371 break;}
6372 case 430:
6373 #line 2037 "parse.y"
6374 { yyval.ttype = yyvsp[0].ttype; ;
6375 break;}
6376 case 431:
6377 #line 2039 "parse.y"
6378 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6379 break;}
6380 case 432:
6381 #line 2044 "parse.y"
6382 { yyval.ttype = yyvsp[-2].ttype; ;
6383 break;}
6384 case 433:
6385 #line 2049 "parse.y"
6386 { yyval.ttype = yyvsp[0].ttype; ;
6387 break;}
6388 case 434:
6389 #line 2051 "parse.y"
6390 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6391 break;}
6392 case 435:
6393 #line 2056 "parse.y"
6394 { yyval.ttype = NULL_TREE; ;
6395 break;}
6396 case 436:
6397 #line 2058 "parse.y"
6398 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
6399 break;}
6400 case 437:
6401 #line 2060 "parse.y"
6402 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
6403 break;}
6404 case 438:
6405 #line 2062 "parse.y"
6406 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
6407 break;}
6408 case 439:
6409 #line 2064 "parse.y"
6410 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6411 break;}
6412 case 444:
6413 #line 2080 "parse.y"
6414 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
6415 break;}
6416 case 445:
6417 #line 2082 "parse.y"
6418 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
6419 break;}
6420 case 446:
6421 #line 2087 "parse.y"
6422 { yyval.ttype = NULL_TREE; ;
6423 break;}
6424 case 447:
6425 #line 2089 "parse.y"
6426 { yyval.ttype = yyvsp[0].ttype; ;
6427 break;}
6428 case 449:
6429 #line 2097 "parse.y"
6430 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
6431 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6432 break;}
6433 case 450:
6434 #line 2100 "parse.y"
6435 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
6436 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6437 break;}
6438 case 451:
6439 #line 2103 "parse.y"
6440 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
6441 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6442 break;}
6443 case 452:
6444 #line 2106 "parse.y"
6445 { yyval.ttype = NULL_TREE; ;
6446 break;}
6447 case 453:
6448 #line 2113 "parse.y"
6449 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
6450 break;}
6451 case 454:
6452 #line 2115 "parse.y"
6453 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6454 break;}
6455 case 455:
6456 #line 2118 "parse.y"
6457 { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6458 break;}
6459 case 456:
6460 #line 2120 "parse.y"
6461 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
6462 break;}
6463 case 457:
6464 #line 2122 "parse.y"
6465 { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
6466 break;}
6467 case 458:
6468 #line 2127 "parse.y"
6469 { start_function (NULL_TREE, yyvsp[0].pi->fndecl, NULL_TREE,
6470 (SF_DEFAULT | SF_PRE_PARSED
6471 | SF_INCLASS_INLINE)); ;
6472 break;}
6473 case 459:
6474 #line 2133 "parse.y"
6476 expand_body (finish_function ((int)yyvsp[-1].itype | 2));
6477 process_next_inline (yyvsp[-3].pi);
6479 break;}
6480 case 460:
6481 #line 2138 "parse.y"
6483 expand_body (finish_function ((int)yyvsp[0].itype | 2));
6484 process_next_inline (yyvsp[-2].pi);
6486 break;}
6487 case 461:
6488 #line 2143 "parse.y"
6490 finish_function (2);
6491 process_next_inline (yyvsp[-2].pi); ;
6492 break;}
6493 case 464:
6494 #line 2157 "parse.y"
6495 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6496 break;}
6497 case 465:
6498 #line 2159 "parse.y"
6499 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
6500 break;}
6501 case 467:
6502 #line 2164 "parse.y"
6503 { do_pending_defargs (); ;
6504 break;}
6505 case 468:
6506 #line 2166 "parse.y"
6507 { do_pending_defargs (); ;
6508 break;}
6509 case 469:
6510 #line 2171 "parse.y"
6511 { yyval.ttype = current_enum_type;
6512 current_enum_type = start_enum (yyvsp[-1].ttype); ;
6513 break;}
6514 case 470:
6515 #line 2174 "parse.y"
6516 { yyval.ftype.t = finish_enum (current_enum_type);
6517 yyval.ftype.new_type_flag = 1;
6518 current_enum_type = yyvsp[-2].ttype;
6519 check_for_missing_semicolon (yyval.ftype.t); ;
6520 break;}
6521 case 471:
6522 #line 2179 "parse.y"
6523 { yyval.ttype = current_enum_type;
6524 current_enum_type = start_enum (make_anon_name ()); ;
6525 break;}
6526 case 472:
6527 #line 2182 "parse.y"
6528 { yyval.ftype.t = finish_enum (current_enum_type);
6529 yyval.ftype.new_type_flag = 1;
6530 current_enum_type = yyvsp[-2].ttype;
6531 check_for_missing_semicolon (yyval.ftype.t); ;
6532 break;}
6533 case 473:
6534 #line 2187 "parse.y"
6535 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6536 yyval.ftype.new_type_flag = 0; ;
6537 break;}
6538 case 474:
6539 #line 2190 "parse.y"
6540 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6541 yyval.ftype.new_type_flag = 0; ;
6542 break;}
6543 case 475:
6544 #line 2193 "parse.y"
6545 { yyval.ftype.t = yyvsp[0].ttype;
6546 yyval.ftype.new_type_flag = 0;
6547 if (!processing_template_decl)
6548 cp_pedwarn ("using `typename' outside of template"); ;
6549 break;}
6550 case 476:
6551 #line 2199 "parse.y"
6552 { yyvsp[-1].ftype.t = begin_class_definition (yyvsp[-1].ftype.t); ;
6553 break;}
6554 case 477:
6555 #line 2201 "parse.y"
6557 int semi;
6559 if (yychar == YYEMPTY)
6560 yychar = YYLEX;
6561 semi = yychar == ';';
6563 yyval.ttype = finish_class_definition (yyvsp[-5].ftype.t, yyvsp[0].ttype, semi,
6564 yyvsp[-5].ftype.new_type_flag);
6566 break;}
6567 case 478:
6568 #line 2212 "parse.y"
6570 begin_inline_definitions ();
6572 break;}
6573 case 479:
6574 #line 2216 "parse.y"
6576 finish_inline_definitions ();
6577 yyval.ftype.t = yyvsp[-3].ttype;
6578 yyval.ftype.new_type_flag = 1;
6580 break;}
6581 case 480:
6582 #line 2222 "parse.y"
6584 if (yyvsp[0].ftype.new_type_flag && yyvsp[0].ftype.t != error_mark_node)
6585 pop_scope (CP_DECL_CONTEXT (TYPE_MAIN_DECL (yyvsp[0].ftype.t)));
6586 yyval.ftype.new_type_flag = 0;
6587 if (yyvsp[0].ftype.t == error_mark_node)
6588 yyval.ftype.t = yyvsp[0].ftype.t;
6589 else if (TYPE_BINFO (yyvsp[0].ftype.t) == NULL_TREE)
6591 cp_error ("%T is not a class type", yyvsp[0].ftype.t);
6592 yyval.ftype.t = error_mark_node;
6594 else
6596 yyval.ftype.t = yyvsp[0].ftype.t;
6597 /* struct B: public A; is not accepted by the standard grammar. */
6598 if (CLASS_TYPE_P (yyval.ftype.t)
6599 && TYPE_BINFO_BASETYPES (yyval.ftype.t)
6600 && !COMPLETE_TYPE_P (yyval.ftype.t)
6601 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
6602 cp_error ("base clause without member specification for `%#T'",
6603 yyval.ftype.t);
6606 break;}
6607 case 484:
6608 #line 2255 "parse.y"
6609 { if (pedantic && !in_system_header)
6610 pedwarn ("comma at end of enumerator list"); ;
6611 break;}
6612 case 486:
6613 #line 2262 "parse.y"
6614 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6615 break;}
6616 case 487:
6617 #line 2264 "parse.y"
6618 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6619 break;}
6620 case 488:
6621 #line 2266 "parse.y"
6622 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6623 break;}
6624 case 489:
6625 #line 2268 "parse.y"
6626 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6627 break;}
6628 case 490:
6629 #line 2270 "parse.y"
6630 { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
6631 break;}
6632 case 491:
6633 #line 2275 "parse.y"
6635 current_aggr = yyvsp[-1].ttype;
6636 yyval.ttype = yyvsp[0].ttype;
6638 break;}
6639 case 492:
6640 #line 2283 "parse.y"
6641 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6642 break;}
6643 case 493:
6644 #line 2285 "parse.y"
6645 { yyungetc ('{', 1); ;
6646 break;}
6647 case 494:
6648 #line 2287 "parse.y"
6649 { yyungetc (':', 1); ;
6650 break;}
6651 case 495:
6652 #line 2292 "parse.y"
6654 current_aggr = yyvsp[-2].ttype;
6655 yyval.ftype.t = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6656 yyval.ftype.new_type_flag = 1;
6658 break;}
6659 case 496:
6660 #line 2298 "parse.y"
6662 current_aggr = yyvsp[-3].ttype;
6663 yyval.ftype.t = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6664 yyval.ftype.new_type_flag = 1;
6666 break;}
6667 case 497:
6668 #line 2304 "parse.y"
6670 current_aggr = yyvsp[-2].ttype;
6671 yyval.ftype.t = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6672 yyval.ftype.new_type_flag = 1;
6674 break;}
6675 case 498:
6676 #line 2310 "parse.y"
6678 current_aggr = yyvsp[-1].ttype;
6679 yyval.ftype.t = yyvsp[0].ttype;
6680 yyval.ftype.new_type_flag = 0;
6682 break;}
6683 case 499:
6684 #line 2316 "parse.y"
6686 current_aggr = yyvsp[-2].ttype;
6687 yyval.ftype.t = yyvsp[0].ttype;
6688 if (CP_DECL_CONTEXT (yyval.ftype.t))
6689 push_scope (CP_DECL_CONTEXT (yyval.ftype.t));
6690 yyval.ftype.new_type_flag = 1;
6692 break;}
6693 case 500:
6694 #line 2327 "parse.y"
6696 yyval.ftype.t = xref_tag (current_aggr, yyvsp[0].ttype, 1);
6697 yyval.ftype.new_type_flag = 0;
6699 break;}
6700 case 501:
6701 #line 2332 "parse.y"
6702 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ;
6703 break;}
6704 case 502:
6705 #line 2336 "parse.y"
6707 yyval.ftype.t = yyvsp[-1].ttype;
6708 yyval.ftype.new_type_flag = 0;
6709 if (yyvsp[0].ttype)
6710 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6712 break;}
6713 case 503:
6714 #line 2344 "parse.y"
6716 if (yyvsp[-1].ftype.t != error_mark_node)
6718 yyval.ftype.t = TREE_TYPE (yyvsp[-1].ftype.t);
6719 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
6720 if (current_aggr == union_type_node
6721 && TREE_CODE (yyval.ftype.t) != UNION_TYPE)
6722 cp_pedwarn ("`union' tag used in declaring `%#T'",
6723 yyval.ftype.t);
6724 else if (TREE_CODE (yyval.ftype.t) == UNION_TYPE
6725 && current_aggr != union_type_node)
6726 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ftype);
6727 else if (TREE_CODE (yyval.ftype.t) == RECORD_TYPE)
6728 /* We might be specializing a template with a different
6729 class-key; deal. */
6730 CLASSTYPE_DECLARED_CLASS (yyval.ftype.t)
6731 = (current_aggr == class_type_node);
6732 if (yyvsp[0].ttype)
6734 maybe_process_partial_specialization (yyval.ftype.t);
6735 xref_basetypes (current_aggr, yyvsp[-1].ftype.t, yyval.ftype.t, yyvsp[0].ttype);
6739 break;}
6740 case 504:
6741 #line 2372 "parse.y"
6742 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0);
6743 yyungetc ('{', 1); ;
6744 break;}
6745 case 505:
6746 #line 2382 "parse.y"
6748 yyval.ftype.t = yyvsp[0].ttype;
6749 yyval.ftype.new_type_flag = 0;
6751 break;}
6752 case 507:
6753 #line 2391 "parse.y"
6754 { yyval.ttype = NULL_TREE; ;
6755 break;}
6756 case 508:
6757 #line 2393 "parse.y"
6758 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6759 break;}
6760 case 509:
6761 #line 2395 "parse.y"
6762 { yyval.ttype = yyvsp[0].ttype; ;
6763 break;}
6764 case 511:
6765 #line 2401 "parse.y"
6766 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6767 break;}
6768 case 512:
6769 #line 2406 "parse.y"
6770 { yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype); ;
6771 break;}
6772 case 513:
6773 #line 2408 "parse.y"
6774 { yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6775 break;}
6776 case 514:
6777 #line 2413 "parse.y"
6778 { if (yyval.ttype == error_mark_node)
6780 else if (!TYPE_P (yyval.ttype))
6781 yyval.ttype = error_mark_node;
6782 else
6783 yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6784 break;}
6785 case 517:
6786 #line 2425 "parse.y"
6787 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6788 cp_error ("`%D' access", yyvsp[-1].ttype);
6789 yyval.ttype = access_default_virtual_node; ;
6790 break;}
6791 case 518:
6792 #line 2429 "parse.y"
6794 if (yyvsp[-2].ttype != access_default_virtual_node)
6795 error ("multiple access specifiers");
6796 else if (yyvsp[-1].ttype == access_public_node)
6797 yyval.ttype = access_public_virtual_node;
6798 else if (yyvsp[-1].ttype == access_protected_node)
6799 yyval.ttype = access_protected_virtual_node;
6800 else /* $2 == access_private_node */
6801 yyval.ttype = access_private_virtual_node;
6803 break;}
6804 case 519:
6805 #line 2440 "parse.y"
6806 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6807 cp_error ("`%D' access", yyvsp[-1].ttype);
6808 else if (yyval.ttype == access_public_node)
6809 yyval.ttype = access_public_virtual_node;
6810 else if (yyval.ttype == access_protected_node)
6811 yyval.ttype = access_protected_virtual_node;
6812 else if (yyval.ttype == access_private_node)
6813 yyval.ttype = access_private_virtual_node;
6814 else
6815 error ("multiple `virtual' specifiers");
6817 break;}
6818 case 524:
6819 #line 2461 "parse.y"
6821 current_access_specifier = yyvsp[-1].ttype;
6823 break;}
6824 case 525:
6825 #line 2470 "parse.y"
6827 finish_member_declaration (yyvsp[0].ttype);
6829 break;}
6830 case 526:
6831 #line 2474 "parse.y"
6833 finish_member_declaration (yyvsp[0].ttype);
6835 break;}
6836 case 528:
6837 #line 2482 "parse.y"
6838 { error ("missing ';' before right brace");
6839 yyungetc ('}', 0); ;
6840 break;}
6841 case 529:
6842 #line 2487 "parse.y"
6843 { yyval.ttype = finish_method (yyval.ttype); ;
6844 break;}
6845 case 530:
6846 #line 2489 "parse.y"
6847 { yyval.ttype = finish_method (yyval.ttype); ;
6848 break;}
6849 case 531:
6850 #line 2491 "parse.y"
6851 { yyval.ttype = finish_method (yyval.ttype); ;
6852 break;}
6853 case 532:
6854 #line 2493 "parse.y"
6855 { yyval.ttype = finish_method (yyval.ttype); ;
6856 break;}
6857 case 533:
6858 #line 2495 "parse.y"
6859 { yyval.ttype = NULL_TREE; ;
6860 break;}
6861 case 534:
6862 #line 2497 "parse.y"
6863 { yyval.ttype = yyvsp[0].ttype;
6864 pedantic = yyvsp[-1].itype; ;
6865 break;}
6866 case 535:
6867 #line 2500 "parse.y"
6869 if (yyvsp[0].ttype)
6870 yyval.ttype = finish_member_template_decl (yyvsp[0].ttype);
6871 else
6872 /* The component was already processed. */
6873 yyval.ttype = NULL_TREE;
6875 finish_template_decl (yyvsp[-1].ttype);
6877 break;}
6878 case 536:
6879 #line 2510 "parse.y"
6881 yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t);
6882 finish_template_decl (yyvsp[-2].ttype);
6884 break;}
6885 case 537:
6886 #line 2521 "parse.y"
6888 /* Most of the productions for component_decl only
6889 allow the creation of one new member, so we call
6890 finish_member_declaration in component_decl_list.
6891 For this rule and the next, however, there can be
6892 more than one member, e.g.:
6894 int i, j;
6896 and we need the first member to be fully
6897 registered before the second is processed.
6898 Therefore, the rules for components take care of
6899 this processing. To avoid registering the
6900 components more than once, we send NULL_TREE up
6901 here; that lets finish_member_declaration know
6902 that there is nothing to do. */
6903 if (!yyvsp[0].itype)
6904 grok_x_components (yyvsp[-1].ftype.t);
6905 yyval.ttype = NULL_TREE;
6907 break;}
6908 case 538:
6909 #line 2542 "parse.y"
6911 if (!yyvsp[0].itype)
6912 grok_x_components (yyvsp[-1].ftype.t);
6913 yyval.ttype = NULL_TREE;
6915 break;}
6916 case 539:
6917 #line 2548 "parse.y"
6918 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6919 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6920 break;}
6921 case 540:
6922 #line 2551 "parse.y"
6923 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6924 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6925 break;}
6926 case 541:
6927 #line 2554 "parse.y"
6928 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6929 break;}
6930 case 542:
6931 #line 2556 "parse.y"
6932 { yyval.ttype = NULL_TREE; ;
6933 break;}
6934 case 543:
6935 #line 2567 "parse.y"
6936 { tree specs, attrs;
6937 split_specs_attrs (yyvsp[-4].ftype.t, &specs, &attrs);
6938 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6939 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6940 break;}
6941 case 544:
6942 #line 2572 "parse.y"
6943 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6944 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6945 break;}
6946 case 545:
6947 #line 2575 "parse.y"
6948 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6949 break;}
6950 case 546:
6951 #line 2581 "parse.y"
6952 { yyval.itype = 0; ;
6953 break;}
6954 case 547:
6955 #line 2583 "parse.y"
6957 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6958 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6959 finish_member_declaration (yyvsp[0].ttype);
6960 yyval.itype = 1;
6962 break;}
6963 case 548:
6964 #line 2590 "parse.y"
6966 check_multiple_declarators ();
6967 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6968 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6969 finish_member_declaration (yyvsp[0].ttype);
6970 yyval.itype = 2;
6972 break;}
6973 case 549:
6974 #line 2601 "parse.y"
6975 { yyval.itype = 0; ;
6976 break;}
6977 case 550:
6978 #line 2603 "parse.y"
6980 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6981 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6982 finish_member_declaration (yyvsp[0].ttype);
6983 yyval.itype = 1;
6985 break;}
6986 case 551:
6987 #line 2610 "parse.y"
6989 check_multiple_declarators ();
6990 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6991 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6992 finish_member_declaration (yyvsp[0].ttype);
6993 yyval.itype = 2;
6995 break;}
6996 case 556:
6997 #line 2631 "parse.y"
6998 { yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
6999 yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
7000 break;}
7001 case 557:
7002 #line 2634 "parse.y"
7003 { yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
7004 yyvsp[0].ttype, yyvsp[-1].ttype); ;
7005 break;}
7006 case 558:
7007 #line 2640 "parse.y"
7008 { yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
7009 yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
7010 break;}
7011 case 559:
7012 #line 2643 "parse.y"
7013 { yyval.ttype = parse_field0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
7014 yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
7015 break;}
7016 case 560:
7017 #line 2646 "parse.y"
7018 { yyval.ttype = parse_bitfield0 (yyvsp[-3].ttype, yyvsp[-4].ftype.t, yyvsp[-4].ftype.lookups,
7019 yyvsp[0].ttype, yyvsp[-1].ttype); ;
7020 break;}
7021 case 561:
7022 #line 2649 "parse.y"
7023 { yyval.ttype = parse_bitfield0 (NULL_TREE, yyvsp[-3].ftype.t,
7024 yyvsp[-3].ftype.lookups, yyvsp[0].ttype, yyvsp[-1].ttype); ;
7025 break;}
7026 case 562:
7027 #line 2655 "parse.y"
7028 { yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
7029 break;}
7030 case 563:
7031 #line 2657 "parse.y"
7032 { yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ;
7033 break;}
7034 case 564:
7035 #line 2662 "parse.y"
7036 { yyval.ttype = parse_field (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
7037 break;}
7038 case 565:
7039 #line 2664 "parse.y"
7040 { yyval.ttype = parse_bitfield (yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-1].ttype); ;
7041 break;}
7042 case 566:
7043 #line 2666 "parse.y"
7044 { yyval.ttype = parse_bitfield (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
7045 break;}
7046 case 571:
7047 #line 2685 "parse.y"
7048 { build_enumerator (yyvsp[0].ttype, NULL_TREE, current_enum_type); ;
7049 break;}
7050 case 572:
7051 #line 2687 "parse.y"
7052 { build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype, current_enum_type); ;
7053 break;}
7054 case 573:
7055 #line 2693 "parse.y"
7056 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7057 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7058 break;}
7059 case 574:
7060 #line 2696 "parse.y"
7061 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
7062 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7063 break;}
7064 case 575:
7065 #line 2701 "parse.y"
7067 if (pedantic)
7068 pedwarn ("ISO C++ forbids array dimensions with parenthesized type in new");
7069 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
7070 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
7071 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
7073 break;}
7074 case 576:
7075 #line 2712 "parse.y"
7076 { yyval.ttype = NULL_TREE; ;
7077 break;}
7078 case 577:
7079 #line 2714 "parse.y"
7080 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7081 break;}
7082 case 578:
7083 #line 2719 "parse.y"
7084 { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
7085 yyval.ftype.new_type_flag = 0; ;
7086 break;}
7087 case 579:
7088 #line 2722 "parse.y"
7089 { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
7090 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7091 break;}
7092 case 580:
7093 #line 2732 "parse.y"
7094 { yyval.ttype = yyvsp[-1].ttype; ;
7095 break;}
7096 case 581:
7097 #line 2734 "parse.y"
7098 { yyval.ttype = yyvsp[-1].ttype; ;
7099 break;}
7100 case 582:
7101 #line 2736 "parse.y"
7102 { yyval.ttype = empty_parms (); ;
7103 break;}
7104 case 583:
7105 #line 2738 "parse.y"
7106 { yyval.ttype = NULL_TREE; ;
7107 break;}
7108 case 585:
7109 #line 2746 "parse.y"
7111 /* Provide support for '(' attributes '*' declarator ')'
7112 etc */
7113 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
7115 break;}
7116 case 586:
7117 #line 2756 "parse.y"
7118 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7119 break;}
7120 case 587:
7121 #line 2758 "parse.y"
7122 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7123 break;}
7124 case 588:
7125 #line 2760 "parse.y"
7126 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7127 break;}
7128 case 589:
7129 #line 2762 "parse.y"
7130 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7131 break;}
7132 case 590:
7133 #line 2764 "parse.y"
7134 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7135 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7137 break;}
7138 case 592:
7139 #line 2772 "parse.y"
7140 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7141 break;}
7142 case 593:
7143 #line 2774 "parse.y"
7144 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7145 break;}
7146 case 594:
7147 #line 2776 "parse.y"
7148 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7149 break;}
7150 case 595:
7151 #line 2778 "parse.y"
7152 { yyval.ttype = yyvsp[-1].ttype; ;
7153 break;}
7154 case 596:
7155 #line 2780 "parse.y"
7156 { push_nested_class (yyvsp[-1].ttype, 3);
7157 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
7158 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
7159 break;}
7160 case 598:
7161 #line 2788 "parse.y"
7163 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7165 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
7166 maybe_note_name_used_in_class (yyvsp[0].ttype, yyval.ttype);
7168 else
7169 yyval.ttype = yyvsp[0].ttype;
7171 break;}
7172 case 599:
7173 #line 2798 "parse.y"
7175 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7176 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
7177 else
7178 yyval.ttype = yyvsp[0].ttype;
7179 got_scope = NULL_TREE;
7181 break;}
7182 case 602:
7183 #line 2811 "parse.y"
7184 { yyval.ttype = yyvsp[0].ttype; ;
7185 break;}
7186 case 603:
7187 #line 2816 "parse.y"
7188 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
7189 break;}
7190 case 605:
7191 #line 2825 "parse.y"
7193 /* Provide support for '(' attributes '*' declarator ')'
7194 etc */
7195 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
7197 break;}
7198 case 606:
7199 #line 2834 "parse.y"
7200 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7201 break;}
7202 case 607:
7203 #line 2836 "parse.y"
7204 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7205 break;}
7206 case 608:
7207 #line 2838 "parse.y"
7208 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7209 break;}
7210 case 609:
7211 #line 2840 "parse.y"
7212 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7213 break;}
7214 case 610:
7215 #line 2842 "parse.y"
7216 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7217 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7219 break;}
7220 case 612:
7221 #line 2850 "parse.y"
7222 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7223 break;}
7224 case 613:
7225 #line 2852 "parse.y"
7226 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7227 break;}
7228 case 614:
7229 #line 2854 "parse.y"
7230 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7231 break;}
7232 case 615:
7233 #line 2856 "parse.y"
7234 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7235 break;}
7236 case 616:
7237 #line 2858 "parse.y"
7238 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7239 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7241 break;}
7242 case 618:
7243 #line 2866 "parse.y"
7244 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7245 break;}
7246 case 619:
7247 #line 2868 "parse.y"
7248 { yyval.ttype = yyvsp[-1].ttype; ;
7249 break;}
7250 case 620:
7251 #line 2870 "parse.y"
7252 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7253 break;}
7254 case 621:
7255 #line 2872 "parse.y"
7256 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7257 break;}
7258 case 622:
7259 #line 2874 "parse.y"
7260 { enter_scope_of (yyvsp[0].ttype); ;
7261 break;}
7262 case 623:
7263 #line 2876 "parse.y"
7264 { enter_scope_of (yyvsp[0].ttype); yyval.ttype = yyvsp[0].ttype;;
7265 break;}
7266 case 624:
7267 #line 2878 "parse.y"
7268 { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype);
7269 enter_scope_of (yyval.ttype);
7271 break;}
7272 case 625:
7273 #line 2882 "parse.y"
7274 { got_scope = NULL_TREE;
7275 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
7276 enter_scope_of (yyval.ttype);
7278 break;}
7279 case 626:
7280 #line 2890 "parse.y"
7281 { got_scope = NULL_TREE;
7282 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
7283 break;}
7284 case 627:
7285 #line 2893 "parse.y"
7286 { got_scope = NULL_TREE;
7287 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7288 break;}
7289 case 628:
7290 #line 2899 "parse.y"
7291 { got_scope = NULL_TREE;
7292 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
7293 break;}
7294 case 629:
7295 #line 2902 "parse.y"
7296 { got_scope = NULL_TREE;
7297 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7298 break;}
7299 case 631:
7300 #line 2909 "parse.y"
7301 { yyval.ttype = yyvsp[0].ttype; ;
7302 break;}
7303 case 632:
7304 #line 2914 "parse.y"
7305 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
7306 break;}
7307 case 633:
7308 #line 2916 "parse.y"
7309 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
7310 break;}
7311 case 634:
7312 #line 2918 "parse.y"
7313 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7314 break;}
7315 case 639:
7316 #line 2930 "parse.y"
7317 { yyval.ttype = yyvsp[0].ttype; ;
7318 break;}
7319 case 640:
7320 #line 2932 "parse.y"
7321 { got_scope = yyval.ttype
7322 = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, /*complain=*/1); ;
7323 break;}
7324 case 641:
7325 #line 2940 "parse.y"
7327 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
7329 yyval.ttype = lastiddecl;
7330 maybe_note_name_used_in_class (yyvsp[-1].ttype, yyval.ttype);
7332 got_scope = yyval.ttype =
7333 complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype)));
7335 break;}
7336 case 642:
7337 #line 2950 "parse.y"
7339 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
7340 yyval.ttype = lastiddecl;
7341 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
7343 break;}
7344 case 643:
7345 #line 2956 "parse.y"
7347 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7348 yyval.ttype = lastiddecl;
7349 got_scope = yyval.ttype;
7351 break;}
7352 case 644:
7353 #line 2962 "parse.y"
7354 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
7355 break;}
7356 case 646:
7357 #line 2978 "parse.y"
7358 { yyval.ttype = yyvsp[0].ttype; ;
7359 break;}
7360 case 647:
7361 #line 2983 "parse.y"
7363 if (TYPE_P (yyvsp[-1].ttype))
7364 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1);
7365 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7366 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7367 else
7369 yyval.ttype = yyvsp[0].ttype;
7370 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
7371 yyval.ttype = TREE_TYPE (yyval.ttype);
7374 break;}
7375 case 648:
7376 #line 2996 "parse.y"
7377 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
7378 break;}
7379 case 649:
7380 #line 2998 "parse.y"
7381 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1); ;
7382 break;}
7383 case 650:
7384 #line 3000 "parse.y"
7385 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype, /*complain=*/1); ;
7386 break;}
7387 case 651:
7388 #line 3005 "parse.y"
7390 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7391 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7393 break;}
7394 case 652:
7395 #line 3010 "parse.y"
7397 if (TYPE_P (yyvsp[-1].ttype))
7398 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype, /*complain=*/1);
7399 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7400 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7401 else
7403 yyval.ttype = yyvsp[0].ttype;
7404 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
7405 yyval.ttype = TREE_TYPE (yyval.ttype);
7408 break;}
7409 case 653:
7410 #line 3023 "parse.y"
7411 { got_scope = yyval.ttype
7412 = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype, /*complain=*/1); ;
7413 break;}
7414 case 654:
7415 #line 3026 "parse.y"
7416 { got_scope = yyval.ttype
7417 = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype, /*complain=*/1); ;
7418 break;}
7419 case 655:
7420 #line 3032 "parse.y"
7422 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7423 yyvsp[-1].ttype = lastiddecl;
7425 /* Retrieve the type for the identifier, which might involve
7426 some computation. */
7427 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
7429 if (yyval.ttype == error_mark_node)
7430 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
7432 break;}
7433 case 656:
7434 #line 3044 "parse.y"
7436 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7437 yyval.ttype = lastiddecl;
7438 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7440 break;}
7441 case 657:
7442 #line 3050 "parse.y"
7443 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
7444 break;}
7445 case 660:
7446 #line 3054 "parse.y"
7448 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7449 yyval.ttype = lastiddecl;
7450 got_scope = yyval.ttype;
7452 break;}
7453 case 661:
7454 #line 3063 "parse.y"
7455 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7456 break;}
7457 case 662:
7458 #line 3068 "parse.y"
7460 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7461 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
7462 else
7463 yyval.ttype = yyvsp[0].ttype;
7464 got_scope = NULL_TREE;
7466 break;}
7467 case 664:
7468 #line 3077 "parse.y"
7469 { yyval.ttype = yyvsp[0].ttype; ;
7470 break;}
7471 case 665:
7472 #line 3082 "parse.y"
7473 { got_scope = NULL_TREE; ;
7474 break;}
7475 case 666:
7476 #line 3084 "parse.y"
7477 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
7478 break;}
7479 case 667:
7480 #line 3091 "parse.y"
7481 { got_scope = void_type_node; ;
7482 break;}
7483 case 668:
7484 #line 3097 "parse.y"
7485 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7486 break;}
7487 case 669:
7488 #line 3099 "parse.y"
7489 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
7490 break;}
7491 case 670:
7492 #line 3101 "parse.y"
7493 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7494 break;}
7495 case 671:
7496 #line 3103 "parse.y"
7497 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
7498 break;}
7499 case 672:
7500 #line 3105 "parse.y"
7501 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7502 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7504 break;}
7505 case 673:
7506 #line 3109 "parse.y"
7507 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7508 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7510 break;}
7511 case 675:
7512 #line 3118 "parse.y"
7513 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7514 break;}
7515 case 676:
7516 #line 3120 "parse.y"
7517 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7518 break;}
7519 case 678:
7520 #line 3126 "parse.y"
7522 /* Provide support for '(' attributes '*' declarator ')'
7523 etc */
7524 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
7526 break;}
7527 case 679:
7528 #line 3136 "parse.y"
7529 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7530 break;}
7531 case 680:
7532 #line 3138 "parse.y"
7533 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7534 break;}
7535 case 681:
7536 #line 3140 "parse.y"
7537 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7538 break;}
7539 case 682:
7540 #line 3142 "parse.y"
7541 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7542 break;}
7543 case 683:
7544 #line 3144 "parse.y"
7545 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7546 break;}
7547 case 684:
7548 #line 3146 "parse.y"
7549 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7550 break;}
7551 case 685:
7552 #line 3148 "parse.y"
7553 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7554 break;}
7555 case 686:
7556 #line 3150 "parse.y"
7557 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7558 break;}
7559 case 687:
7560 #line 3152 "parse.y"
7561 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7562 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7564 break;}
7565 case 688:
7566 #line 3156 "parse.y"
7567 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7568 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7570 break;}
7571 case 690:
7572 #line 3165 "parse.y"
7573 { yyval.ttype = yyvsp[-1].ttype; ;
7574 break;}
7575 case 691:
7576 #line 3168 "parse.y"
7577 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7578 break;}
7579 case 692:
7580 #line 3170 "parse.y"
7581 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7582 break;}
7583 case 693:
7584 #line 3172 "parse.y"
7585 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7586 break;}
7587 case 694:
7588 #line 3174 "parse.y"
7589 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7590 break;}
7591 case 695:
7592 #line 3176 "parse.y"
7593 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7594 break;}
7595 case 696:
7596 #line 3178 "parse.y"
7597 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7598 break;}
7599 case 697:
7600 #line 3180 "parse.y"
7601 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7602 break;}
7603 case 698:
7604 #line 3182 "parse.y"
7605 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7606 break;}
7607 case 699:
7608 #line 3184 "parse.y"
7609 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7610 break;}
7611 case 706:
7612 #line 3207 "parse.y"
7613 { if (pedantic)
7614 pedwarn ("ISO C++ forbids label declarations"); ;
7615 break;}
7616 case 709:
7617 #line 3218 "parse.y"
7619 while (yyvsp[-1].ttype)
7621 finish_label_decl (TREE_VALUE (yyvsp[-1].ttype));
7622 yyvsp[-1].ttype = TREE_CHAIN (yyvsp[-1].ttype);
7625 break;}
7626 case 710:
7627 #line 3231 "parse.y"
7629 break;}
7630 case 712:
7631 #line 3237 "parse.y"
7632 { yyval.ttype = begin_compound_stmt (0); ;
7633 break;}
7634 case 713:
7635 #line 3239 "parse.y"
7636 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7637 break;}
7638 case 714:
7639 #line 3244 "parse.y"
7641 yyval.ttype = begin_if_stmt ();
7642 cond_stmt_keyword = "if";
7644 break;}
7645 case 715:
7646 #line 3249 "parse.y"
7647 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7648 break;}
7649 case 716:
7650 #line 3251 "parse.y"
7651 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7652 break;}
7653 case 718:
7654 #line 3256 "parse.y"
7655 { yyval.ttype = begin_compound_stmt (0); ;
7656 break;}
7657 case 719:
7658 #line 3258 "parse.y"
7659 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7660 break;}
7661 case 720:
7662 #line 3263 "parse.y"
7664 break;}
7665 case 722:
7666 #line 3269 "parse.y"
7667 { finish_stmt (); ;
7668 break;}
7669 case 723:
7670 #line 3271 "parse.y"
7671 { finish_expr_stmt (yyvsp[-1].ttype); ;
7672 break;}
7673 case 724:
7674 #line 3273 "parse.y"
7675 { begin_else_clause (); ;
7676 break;}
7677 case 725:
7678 #line 3275 "parse.y"
7680 finish_else_clause (yyvsp[-3].ttype);
7681 finish_if_stmt ();
7683 break;}
7684 case 726:
7685 #line 3280 "parse.y"
7686 { finish_if_stmt (); ;
7687 break;}
7688 case 727:
7689 #line 3282 "parse.y"
7691 yyval.ttype = begin_while_stmt ();
7692 cond_stmt_keyword = "while";
7694 break;}
7695 case 728:
7696 #line 3287 "parse.y"
7697 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7698 break;}
7699 case 729:
7700 #line 3289 "parse.y"
7701 { finish_while_stmt (yyvsp[-3].ttype); ;
7702 break;}
7703 case 730:
7704 #line 3291 "parse.y"
7705 { yyval.ttype = begin_do_stmt (); ;
7706 break;}
7707 case 731:
7708 #line 3293 "parse.y"
7710 finish_do_body (yyvsp[-2].ttype);
7711 cond_stmt_keyword = "do";
7713 break;}
7714 case 732:
7715 #line 3298 "parse.y"
7716 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7717 break;}
7718 case 733:
7719 #line 3300 "parse.y"
7720 { yyval.ttype = begin_for_stmt (); ;
7721 break;}
7722 case 734:
7723 #line 3302 "parse.y"
7724 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7725 break;}
7726 case 735:
7727 #line 3304 "parse.y"
7728 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7729 break;}
7730 case 736:
7731 #line 3306 "parse.y"
7732 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7733 break;}
7734 case 737:
7735 #line 3308 "parse.y"
7736 { finish_for_stmt (yyvsp[-10].ttype); ;
7737 break;}
7738 case 738:
7739 #line 3310 "parse.y"
7740 { yyval.ttype = begin_switch_stmt (); ;
7741 break;}
7742 case 739:
7743 #line 3312 "parse.y"
7744 { finish_switch_cond (yyvsp[-1].ttype, yyvsp[-3].ttype); ;
7745 break;}
7746 case 740:
7747 #line 3314 "parse.y"
7748 { finish_switch_stmt (yyvsp[-5].ttype); ;
7749 break;}
7750 case 741:
7751 #line 3316 "parse.y"
7752 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7753 break;}
7754 case 743:
7755 #line 3319 "parse.y"
7756 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7757 break;}
7758 case 745:
7759 #line 3322 "parse.y"
7760 { finish_case_label (NULL_TREE, NULL_TREE); ;
7761 break;}
7762 case 747:
7763 #line 3325 "parse.y"
7764 { finish_break_stmt (); ;
7765 break;}
7766 case 748:
7767 #line 3327 "parse.y"
7768 { finish_continue_stmt (); ;
7769 break;}
7770 case 749:
7771 #line 3329 "parse.y"
7772 { finish_return_stmt (NULL_TREE); ;
7773 break;}
7774 case 750:
7775 #line 3331 "parse.y"
7776 { finish_return_stmt (yyvsp[-1].ttype); ;
7777 break;}
7778 case 751:
7779 #line 3333 "parse.y"
7781 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7782 NULL_TREE);
7784 break;}
7785 case 752:
7786 #line 3339 "parse.y"
7788 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7789 NULL_TREE);
7791 break;}
7792 case 753:
7793 #line 3345 "parse.y"
7794 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7795 break;}
7796 case 754:
7797 #line 3347 "parse.y"
7798 { finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype, NULL_TREE); ;
7799 break;}
7800 case 755:
7801 #line 3351 "parse.y"
7802 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7803 break;}
7804 case 756:
7805 #line 3354 "parse.y"
7806 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, NULL_TREE, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7807 break;}
7808 case 757:
7809 #line 3357 "parse.y"
7810 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, NULL_TREE, yyvsp[-2].ttype); ;
7811 break;}
7812 case 758:
7813 #line 3359 "parse.y"
7815 if (pedantic)
7816 pedwarn ("ISO C++ forbids computed gotos");
7817 finish_goto_stmt (yyvsp[-1].ttype);
7819 break;}
7820 case 759:
7821 #line 3365 "parse.y"
7822 { finish_goto_stmt (yyvsp[-1].ttype); ;
7823 break;}
7824 case 761:
7825 #line 3368 "parse.y"
7826 { error ("label must be followed by statement");
7827 yyungetc ('}', 0); ;
7828 break;}
7829 case 762:
7830 #line 3371 "parse.y"
7831 { finish_stmt (); ;
7832 break;}
7833 case 765:
7834 #line 3375 "parse.y"
7835 { do_local_using_decl (yyvsp[0].ttype); ;
7836 break;}
7837 case 767:
7838 #line 3381 "parse.y"
7839 { yyval.ttype = begin_function_try_block (); ;
7840 break;}
7841 case 768:
7842 #line 3383 "parse.y"
7843 { finish_function_try_block (yyvsp[-2].ttype); ;
7844 break;}
7845 case 769:
7846 #line 3385 "parse.y"
7848 finish_function_handler_sequence (yyvsp[-4].ttype);
7849 yyval.itype = yyvsp[-3].itype;
7851 break;}
7852 case 770:
7853 #line 3393 "parse.y"
7854 { yyval.ttype = begin_try_block (); ;
7855 break;}
7856 case 771:
7857 #line 3395 "parse.y"
7858 { finish_try_block (yyvsp[-1].ttype); ;
7859 break;}
7860 case 772:
7861 #line 3397 "parse.y"
7862 { finish_handler_sequence (yyvsp[-3].ttype); ;
7863 break;}
7864 case 775:
7865 #line 3407 "parse.y"
7866 { yyval.ttype = begin_handler(); ;
7867 break;}
7868 case 776:
7869 #line 3409 "parse.y"
7870 { yyval.ttype = finish_handler_parms (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7871 break;}
7872 case 777:
7873 #line 3411 "parse.y"
7874 { finish_handler (yyvsp[-1].ttype, yyvsp[-3].ttype); ;
7875 break;}
7876 case 780:
7877 #line 3421 "parse.y"
7878 { yyval.ttype = NULL_TREE; ;
7879 break;}
7880 case 781:
7881 #line 3437 "parse.y"
7883 check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7884 yyval.ttype = start_handler_parms (TREE_PURPOSE (yyvsp[-1].ftype.t),
7885 TREE_VALUE (yyvsp[-1].ftype.t));
7887 break;}
7888 case 782:
7889 #line 3446 "parse.y"
7890 { finish_label_stmt (yyvsp[-1].ttype); ;
7891 break;}
7892 case 783:
7893 #line 3448 "parse.y"
7894 { finish_label_stmt (yyvsp[-1].ttype); ;
7895 break;}
7896 case 784:
7897 #line 3450 "parse.y"
7898 { finish_label_stmt (yyvsp[-1].ttype); ;
7899 break;}
7900 case 785:
7901 #line 3452 "parse.y"
7902 { finish_label_stmt (yyvsp[-1].ttype); ;
7903 break;}
7904 case 786:
7905 #line 3457 "parse.y"
7906 { finish_expr_stmt (yyvsp[-1].ttype); ;
7907 break;}
7908 case 788:
7909 #line 3460 "parse.y"
7910 { if (pedantic)
7911 pedwarn ("ISO C++ forbids compound statements inside for initializations");
7913 break;}
7914 case 789:
7915 #line 3469 "parse.y"
7916 { yyval.ttype = NULL_TREE; ;
7917 break;}
7918 case 791:
7919 #line 3475 "parse.y"
7920 { yyval.ttype = NULL_TREE; ;
7921 break;}
7922 case 793:
7923 #line 3478 "parse.y"
7924 { yyval.ttype = NULL_TREE; ;
7925 break;}
7926 case 794:
7927 #line 3485 "parse.y"
7928 { yyval.ttype = NULL_TREE; ;
7929 break;}
7930 case 797:
7931 #line 3492 "parse.y"
7932 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7933 break;}
7934 case 798:
7935 #line 3497 "parse.y"
7936 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7937 break;}
7938 case 799:
7939 #line 3502 "parse.y"
7940 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7941 break;}
7942 case 800:
7943 #line 3504 "parse.y"
7944 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7945 break;}
7946 case 801:
7947 #line 3515 "parse.y"
7949 yyval.ttype = empty_parms();
7951 break;}
7952 case 803:
7953 #line 3520 "parse.y"
7954 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7955 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7956 break;}
7957 case 804:
7958 #line 3528 "parse.y"
7959 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7960 break;}
7961 case 805:
7962 #line 3530 "parse.y"
7963 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7964 break;}
7965 case 806:
7966 #line 3533 "parse.y"
7967 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7968 break;}
7969 case 807:
7970 #line 3535 "parse.y"
7971 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7972 yyvsp[-1].ftype.t), 1); ;
7973 break;}
7974 case 808:
7975 #line 3538 "parse.y"
7976 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7977 break;}
7978 case 809:
7979 #line 3540 "parse.y"
7981 /* This helps us recover from really nasty
7982 parse errors, for example, a missing right
7983 parenthesis. */
7984 yyerror ("possibly missing ')'");
7985 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7986 yyungetc (':', 0);
7987 yychar = ')';
7989 break;}
7990 case 810:
7991 #line 3550 "parse.y"
7993 /* This helps us recover from really nasty
7994 parse errors, for example, a missing right
7995 parenthesis. */
7996 yyerror ("possibly missing ')'");
7997 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7998 yyvsp[-1].ftype.t), 0);
7999 yyungetc (':', 0);
8000 yychar = ')';
8002 break;}
8003 case 811:
8004 #line 3565 "parse.y"
8005 { maybe_snarf_defarg (); ;
8006 break;}
8007 case 812:
8008 #line 3567 "parse.y"
8009 { yyval.ttype = yyvsp[0].ttype; ;
8010 break;}
8011 case 815:
8012 #line 3578 "parse.y"
8013 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
8014 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
8015 break;}
8016 case 816:
8017 #line 3581 "parse.y"
8018 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
8019 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
8020 break;}
8021 case 817:
8022 #line 3584 "parse.y"
8023 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
8024 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
8025 break;}
8026 case 818:
8027 #line 3587 "parse.y"
8028 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
8029 break;}
8030 case 819:
8031 #line 3589 "parse.y"
8032 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
8033 break;}
8034 case 821:
8035 #line 3595 "parse.y"
8036 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
8037 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
8038 break;}
8039 case 822:
8040 #line 3605 "parse.y"
8041 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
8042 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
8043 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
8044 break;}
8045 case 823:
8046 #line 3609 "parse.y"
8047 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
8048 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8049 break;}
8050 case 824:
8051 #line 3612 "parse.y"
8052 { yyval.ftype.t = build_tree_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t),
8053 yyvsp[0].ttype);
8054 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8055 break;}
8056 case 825:
8057 #line 3616 "parse.y"
8058 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
8059 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
8060 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8061 break;}
8062 case 826:
8063 #line 3620 "parse.y"
8064 { tree specs = strip_attrs (yyvsp[0].ftype.t);
8065 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
8066 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
8067 break;}
8068 case 827:
8069 #line 3624 "parse.y"
8070 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
8071 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
8072 yyval.ftype.new_type_flag = 0; ;
8073 break;}
8074 case 828:
8075 #line 3631 "parse.y"
8076 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
8077 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
8078 break;}
8079 case 829:
8080 #line 3634 "parse.y"
8081 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
8082 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
8083 break;}
8084 case 832:
8085 #line 3645 "parse.y"
8086 { see_typename (); ;
8087 break;}
8088 case 833:
8089 #line 3650 "parse.y"
8091 error ("type specifier omitted for parameter");
8092 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
8094 break;}
8095 case 834:
8096 #line 3655 "parse.y"
8098 error ("type specifier omitted for parameter");
8099 if (TREE_CODE (yyval.ttype) == SCOPE_REF
8100 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
8101 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
8102 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
8103 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
8105 break;}
8106 case 835:
8107 #line 3667 "parse.y"
8108 { yyval.ttype = NULL_TREE; ;
8109 break;}
8110 case 836:
8111 #line 3669 "parse.y"
8112 { yyval.ttype = yyvsp[-1].ttype; ;
8113 break;}
8114 case 837:
8115 #line 3671 "parse.y"
8116 { yyval.ttype = empty_except_spec; ;
8117 break;}
8118 case 838:
8119 #line 3676 "parse.y"
8121 check_for_new_type ("exception specifier", yyvsp[0].ftype);
8122 yyval.ttype = groktypename (yyvsp[0].ftype.t);
8124 break;}
8125 case 839:
8126 #line 3684 "parse.y"
8127 { yyval.ttype = add_exception_specifier (NULL_TREE, yyvsp[0].ttype, 1); ;
8128 break;}
8129 case 840:
8130 #line 3686 "parse.y"
8131 { yyval.ttype = add_exception_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, 1); ;
8132 break;}
8133 case 841:
8134 #line 3691 "parse.y"
8135 { yyval.ttype = NULL_TREE; ;
8136 break;}
8137 case 842:
8138 #line 3693 "parse.y"
8139 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
8140 break;}
8141 case 843:
8142 #line 3695 "parse.y"
8143 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
8144 break;}
8145 case 844:
8146 #line 3697 "parse.y"
8147 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
8148 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
8150 break;}
8151 case 845:
8152 #line 3704 "parse.y"
8153 { got_scope = NULL_TREE; ;
8154 break;}
8155 case 846:
8156 #line 3709 "parse.y"
8157 { yyval.ttype = ansi_opname (MULT_EXPR); ;
8158 break;}
8159 case 847:
8160 #line 3711 "parse.y"
8161 { yyval.ttype = ansi_opname (TRUNC_DIV_EXPR); ;
8162 break;}
8163 case 848:
8164 #line 3713 "parse.y"
8165 { yyval.ttype = ansi_opname (TRUNC_MOD_EXPR); ;
8166 break;}
8167 case 849:
8168 #line 3715 "parse.y"
8169 { yyval.ttype = ansi_opname (PLUS_EXPR); ;
8170 break;}
8171 case 850:
8172 #line 3717 "parse.y"
8173 { yyval.ttype = ansi_opname (MINUS_EXPR); ;
8174 break;}
8175 case 851:
8176 #line 3719 "parse.y"
8177 { yyval.ttype = ansi_opname (BIT_AND_EXPR); ;
8178 break;}
8179 case 852:
8180 #line 3721 "parse.y"
8181 { yyval.ttype = ansi_opname (BIT_IOR_EXPR); ;
8182 break;}
8183 case 853:
8184 #line 3723 "parse.y"
8185 { yyval.ttype = ansi_opname (BIT_XOR_EXPR); ;
8186 break;}
8187 case 854:
8188 #line 3725 "parse.y"
8189 { yyval.ttype = ansi_opname (BIT_NOT_EXPR); ;
8190 break;}
8191 case 855:
8192 #line 3727 "parse.y"
8193 { yyval.ttype = ansi_opname (COMPOUND_EXPR); ;
8194 break;}
8195 case 856:
8196 #line 3729 "parse.y"
8197 { yyval.ttype = ansi_opname (yyvsp[0].code); ;
8198 break;}
8199 case 857:
8200 #line 3731 "parse.y"
8201 { yyval.ttype = ansi_opname (LT_EXPR); ;
8202 break;}
8203 case 858:
8204 #line 3733 "parse.y"
8205 { yyval.ttype = ansi_opname (GT_EXPR); ;
8206 break;}
8207 case 859:
8208 #line 3735 "parse.y"
8209 { yyval.ttype = ansi_opname (yyvsp[0].code); ;
8210 break;}
8211 case 860:
8212 #line 3737 "parse.y"
8213 { yyval.ttype = ansi_assopname (yyvsp[0].code); ;
8214 break;}
8215 case 861:
8216 #line 3739 "parse.y"
8217 { yyval.ttype = ansi_assopname (NOP_EXPR); ;
8218 break;}
8219 case 862:
8220 #line 3741 "parse.y"
8221 { yyval.ttype = ansi_opname (yyvsp[0].code); ;
8222 break;}
8223 case 863:
8224 #line 3743 "parse.y"
8225 { yyval.ttype = ansi_opname (yyvsp[0].code); ;
8226 break;}
8227 case 864:
8228 #line 3745 "parse.y"
8229 { yyval.ttype = ansi_opname (POSTINCREMENT_EXPR); ;
8230 break;}
8231 case 865:
8232 #line 3747 "parse.y"
8233 { yyval.ttype = ansi_opname (PREDECREMENT_EXPR); ;
8234 break;}
8235 case 866:
8236 #line 3749 "parse.y"
8237 { yyval.ttype = ansi_opname (TRUTH_ANDIF_EXPR); ;
8238 break;}
8239 case 867:
8240 #line 3751 "parse.y"
8241 { yyval.ttype = ansi_opname (TRUTH_ORIF_EXPR); ;
8242 break;}
8243 case 868:
8244 #line 3753 "parse.y"
8245 { yyval.ttype = ansi_opname (TRUTH_NOT_EXPR); ;
8246 break;}
8247 case 869:
8248 #line 3755 "parse.y"
8249 { yyval.ttype = ansi_opname (COND_EXPR); ;
8250 break;}
8251 case 870:
8252 #line 3757 "parse.y"
8253 { yyval.ttype = ansi_opname (yyvsp[0].code); ;
8254 break;}
8255 case 871:
8256 #line 3759 "parse.y"
8257 { yyval.ttype = ansi_opname (COMPONENT_REF); ;
8258 break;}
8259 case 872:
8260 #line 3761 "parse.y"
8261 { yyval.ttype = ansi_opname (MEMBER_REF); ;
8262 break;}
8263 case 873:
8264 #line 3763 "parse.y"
8265 { yyval.ttype = ansi_opname (CALL_EXPR); ;
8266 break;}
8267 case 874:
8268 #line 3765 "parse.y"
8269 { yyval.ttype = ansi_opname (ARRAY_REF); ;
8270 break;}
8271 case 875:
8272 #line 3767 "parse.y"
8273 { yyval.ttype = ansi_opname (NEW_EXPR); ;
8274 break;}
8275 case 876:
8276 #line 3769 "parse.y"
8277 { yyval.ttype = ansi_opname (DELETE_EXPR); ;
8278 break;}
8279 case 877:
8280 #line 3771 "parse.y"
8281 { yyval.ttype = ansi_opname (VEC_NEW_EXPR); ;
8282 break;}
8283 case 878:
8284 #line 3773 "parse.y"
8285 { yyval.ttype = ansi_opname (VEC_DELETE_EXPR); ;
8286 break;}
8287 case 879:
8288 #line 3776 "parse.y"
8289 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
8290 break;}
8291 case 880:
8292 #line 3778 "parse.y"
8293 { yyval.ttype = ansi_opname (ERROR_MARK); ;
8294 break;}
8296 /* the action file gets copied in in place of this dollarsign */
8297 #line 543 "/usr/lib/bison.simple"
8299 yyvsp -= yylen;
8300 yyssp -= yylen;
8301 #ifdef YYLSP_NEEDED
8302 yylsp -= yylen;
8303 #endif
8305 #if YYDEBUG != 0
8306 if (yydebug)
8308 short *ssp1 = yyss - 1;
8309 fprintf (stderr, "state stack now");
8310 while (ssp1 != yyssp)
8311 fprintf (stderr, " %d", *++ssp1);
8312 fprintf (stderr, "\n");
8314 #endif
8316 *++yyvsp = yyval;
8318 #ifdef YYLSP_NEEDED
8319 yylsp++;
8320 if (yylen == 0)
8322 yylsp->first_line = yylloc.first_line;
8323 yylsp->first_column = yylloc.first_column;
8324 yylsp->last_line = (yylsp-1)->last_line;
8325 yylsp->last_column = (yylsp-1)->last_column;
8326 yylsp->text = 0;
8328 else
8330 yylsp->last_line = (yylsp+yylen-1)->last_line;
8331 yylsp->last_column = (yylsp+yylen-1)->last_column;
8333 #endif
8335 /* Now "shift" the result of the reduction.
8336 Determine what state that goes to,
8337 based on the state we popped back to
8338 and the rule number reduced by. */
8340 yyn = yyr1[yyn];
8342 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
8343 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
8344 yystate = yytable[yystate];
8345 else
8346 yystate = yydefgoto[yyn - YYNTBASE];
8348 goto yynewstate;
8350 yyerrlab: /* here on detecting error */
8352 if (! yyerrstatus)
8353 /* If not already recovering from an error, report this error. */
8355 ++yynerrs;
8357 #ifdef YYERROR_VERBOSE
8358 yyn = yypact[yystate];
8360 if (yyn > YYFLAG && yyn < YYLAST)
8362 int size = 0;
8363 char *msg;
8364 int x, count;
8366 count = 0;
8367 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8368 for (x = (yyn < 0 ? -yyn : 0);
8369 x < (sizeof(yytname) / sizeof(char *)); x++)
8370 if (yycheck[x + yyn] == x)
8371 size += strlen(yytname[x]) + 15, count++;
8372 msg = (char *) malloc(size + 15);
8373 if (msg != 0)
8375 strcpy(msg, "parse error");
8377 if (count < 5)
8379 count = 0;
8380 for (x = (yyn < 0 ? -yyn : 0);
8381 x < (sizeof(yytname) / sizeof(char *)); x++)
8382 if (yycheck[x + yyn] == x)
8384 strcat(msg, count == 0 ? ", expecting `" : " or `");
8385 strcat(msg, yytname[x]);
8386 strcat(msg, "'");
8387 count++;
8390 yyerror(msg);
8391 free(msg);
8393 else
8394 yyerror ("parse error; also virtual memory exceeded");
8396 else
8397 #endif /* YYERROR_VERBOSE */
8398 yyerror("parse error");
8401 goto yyerrlab1;
8402 yyerrlab1: /* here on error raised explicitly by an action */
8404 if (yyerrstatus == 3)
8406 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8408 /* return failure if at end of input */
8409 if (yychar == YYEOF)
8410 YYABORT;
8412 #if YYDEBUG != 0
8413 if (yydebug)
8414 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
8415 #endif
8417 yychar = YYEMPTY;
8420 /* Else will try to reuse lookahead token
8421 after shifting the error token. */
8423 yyerrstatus = 3; /* Each real token shifted decrements this */
8425 goto yyerrhandle;
8427 yyerrdefault: /* current state does not do anything special for the error token. */
8429 #if 0
8430 /* This is wrong; only states that explicitly want error tokens
8431 should shift them. */
8432 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8433 if (yyn) goto yydefault;
8434 #endif
8436 yyerrpop: /* pop the current state because it cannot handle the error token */
8438 if (yyssp == yyss) YYABORT;
8439 yyvsp--;
8440 yystate = *--yyssp;
8441 #ifdef YYLSP_NEEDED
8442 yylsp--;
8443 #endif
8445 #if YYDEBUG != 0
8446 if (yydebug)
8448 short *ssp1 = yyss - 1;
8449 fprintf (stderr, "Error: state stack now");
8450 while (ssp1 != yyssp)
8451 fprintf (stderr, " %d", *++ssp1);
8452 fprintf (stderr, "\n");
8454 #endif
8456 yyerrhandle:
8458 yyn = yypact[yystate];
8459 if (yyn == YYFLAG)
8460 goto yyerrdefault;
8462 yyn += YYTERROR;
8463 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
8464 goto yyerrdefault;
8466 yyn = yytable[yyn];
8467 if (yyn < 0)
8469 if (yyn == YYFLAG)
8470 goto yyerrpop;
8471 yyn = -yyn;
8472 goto yyreduce;
8474 else if (yyn == 0)
8475 goto yyerrpop;
8477 if (yyn == YYFINAL)
8478 YYACCEPT;
8480 #if YYDEBUG != 0
8481 if (yydebug)
8482 fprintf(stderr, "Shifting error token, ");
8483 #endif
8485 *++yyvsp = yylval;
8486 #ifdef YYLSP_NEEDED
8487 *++yylsp = yylloc;
8488 #endif
8490 yystate = yyn;
8491 goto yynewstate;
8493 yyacceptlab:
8494 /* YYACCEPT comes here. */
8495 if (yyfree_stacks)
8497 free (yyss);
8498 free (yyvs);
8499 #ifdef YYLSP_NEEDED
8500 free (yyls);
8501 #endif
8503 return 0;
8505 yyabortlab:
8506 /* YYABORT comes here. */
8507 if (yyfree_stacks)
8509 free (yyss);
8510 free (yyvs);
8511 #ifdef YYLSP_NEEDED
8512 free (yyls);
8513 #endif
8515 return 1;
8517 #line 3781 "parse.y"
8520 #ifdef SPEW_DEBUG
8521 const char *
8522 debug_yytranslate (value)
8523 int value;
8525 return yytname[YYTRANSLATE (value)];
8528 #endif