/* A Bison parser, made from /Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y by GNU Bison version 1.28 */ #define YYBISON 1 /* Identify Bison output. */ #define IDENTIFIER 257 #define TYPENAME 258 #define SELFNAME 259 #define CLASSNAME 260 #define OBJECTNAME 261 #define PFUNCNAME 262 #define SCSPEC 263 #define TYPESPEC 264 #define CV_QUALIFIER 265 #define CONSTANT 266 #define STRING 267 #define ELLIPSIS 268 #define SIZEOF 269 #define ENUM 270 #define IF 271 #define ELSE 272 #define WHILE 273 #define DO 274 #define FOR 275 #define SWITCH 276 #define CASE 277 #define DEFAULT 278 #define BREAK 279 #define CONTINUE 280 #define RETURN_KEYWORD 281 #define GOTO 282 #define ASM_KEYWORD 283 #define TYPEOF 284 #define ALIGNOF 285 #define SIGOF 286 #define ATTRIBUTE 287 #define EXTENSION 288 #define LABEL 289 #define REALPART 290 #define IMAGPART 291 #define VEC_STEP 292 #define AGGR 293 #define VISSPEC 294 #define DELETE 295 #define NEW 296 #define THIS 297 #define OPERATOR 298 #define CXX_TRUE 299 #define CXX_FALSE 300 #define NAMESPACE 301 #define TYPENAME_KEYWORD 302 #define USING 303 #define LEFT_RIGHT 304 #define TEMPLATE 305 #define TYPEID 306 #define DYNAMIC_CAST 307 #define STATIC_CAST 308 #define REINTERPRET_CAST 309 #define CONST_CAST 310 #define SCOPE 311 #define INTERFACE 312 #define IMPLEMENTATION 313 #define END 314 #define SELECTOR 315 #define DEFS 316 #define ENCODE 317 #define PUBLIC 318 #define PRIVATE 319 #define PROTECTED 320 #define PROTOCOL 321 #define CLASS 322 #define ALIAS 323 #define OBJC_STRING 324 #define EMPTY 325 #define PTYPENAME 326 #define NSNAME 327 #define THROW 328 #define ASSIGN 329 #define OROR 330 #define ANDAND 331 #define MIN_MAX 332 #define EQCOMPARE 333 #define ARITHCOMPARE 334 #define LSHIFT 335 #define RSHIFT 336 #define POINTSAT_STAR 337 #define DOT_STAR 338 #define UNARY 339 #define PLUSPLUS 340 #define MINUSMINUS 341 #define HYPERUNARY 342 #define PAREN_STAR_PAREN 343 #define POINTSAT 344 #define TRY 345 #define CATCH 346 #define PRE_PARSED_FUNCTION_DECL 347 #define EXTERN_LANG_STRING 348 #define ALL 349 #define PRE_PARSED_CLASS_DECL 350 #define DEFARG 351 #define DEFARG_MARKER 352 #define TYPENAME_DEFN 353 #define IDENTIFIER_DEFN 354 #define PTYPENAME_DEFN 355 #define END_OF_LINE 356 #define END_OF_SAVED_INPUT 357 #line 29 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" /* Cause the `yydebug' variable to be defined. */ #define YYDEBUG 1 #include "config.h" #include "system.h" #include "tree.h" #include "input.h" #include "flags.h" #include "lex.h" #include "cp-tree.h" #include "output.h" #include "except.h" #include "toplev.h" #ifdef OBJCPLUS #include "objc-act.h" /* the `decl' list operators optimization is not appropriate for Objective-C */ #define build_decl_list build_tree_list #define decl_tree_cons tree_cons #endif /* Since parsers are distinct for each language, put the language string definition here. (fnf) */ #ifdef OBJCPLUS char *language_string = "GNU Obj-C++"; #else char *language_string = "GNU C++"; #endif extern tree void_list_node; extern struct obstack permanent_obstack; extern int end_of_file; extern int flag_new_for_scope; /* Like YYERROR but do call yyerror. */ #define YYERROR1 { yyerror ("syntax error"); YYERROR; } #define OP0(NODE) (TREE_OPERAND (NODE, 0)) #define OP1(NODE) (TREE_OPERAND (NODE, 1)) /* Contains the statement keyword (if/while/do) to include in an error message if the user supplies an empty conditional expression. */ static const char *cond_stmt_keyword; static tree empty_parms PROTO((void)); static int parse_decl PROTO((tree, tree, tree, int, tree *)); /* Nonzero if we have an `extern "C"' acting as an extern specifier. */ int have_extern_spec; int used_extern_spec; /* Cons up an empty parameter list. */ #ifdef __GNUC__ __inline #endif static tree empty_parms () { tree parms; if (strict_prototype || current_class_type != NULL) parms = void_list_node; else parms = NULL_TREE; return parms; } #line 106 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE; #line 325 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" /* List of types and structure classes of the current declaration. */ static tree current_declspecs; /* List of prefix attributes in effect. Prefix attributes are parsed by the reserved_declspecs and declmods rules. They create a list that contains *both* declspecs and attrs. */ /* ??? It is not clear yet that all cases where an attribute can now appear in a declspec list have been updated. */ static tree prefix_attributes; /* When defining an aggregate, this is the kind of the most recent one being defined. (For example, this might be class_type_node.) */ tree current_aggr; /* When defining an enumeration, this is the type of the enumeration. */ static tree current_enum_type; /* List of Objective-C specific information */ tree objc_interface_context; tree objc_implementation_context; tree objc_method_context; tree objc_ivar_chain; tree objc_ivar_context; static enum tree_code objc_inherit_code; int objc_receiver_context = 0; int objc_declarator_context = 0; int objc_msg_context = 0; int objc_public_flag; tree super_type, selector_type, id_type, objc_class_type; tree objc_object_id, objc_class_id, objc_id_id; int objc_need_raw_identifier = 0; int objc_in_method_signature = 0; extern char *token_buffer; /* Tell yyparse how to print a token's value, if yydebug is set. */ #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL) extern void yyprint PROTO((FILE *, int, YYSTYPE)); extern tree combine_strings PROTO((tree)); static int parse_decl(declarator, specs_attrs, attributes, initialized, decl) tree declarator; tree specs_attrs; tree attributes; int initialized; tree* decl; { int sm; split_specs_attrs (specs_attrs, ¤t_declspecs, &prefix_attributes); if (current_declspecs && TREE_CODE (current_declspecs) != TREE_LIST) current_declspecs = build_decl_list (NULL_TREE, current_declspecs); if (have_extern_spec && !used_extern_spec) { current_declspecs = decl_tree_cons (NULL_TREE, get_identifier ("extern"), current_declspecs); used_extern_spec = 1; } sm = suspend_momentary (); *decl = start_decl (declarator, current_declspecs, initialized, attributes, prefix_attributes); return sm; } #include #ifndef __cplusplus #ifndef __STDC__ #define const #endif #endif #define YYFINAL 1991 #define YYFLAG -32768 #define YYNTBASE 128 #define YYTRANSLATE(x) ((unsigned)(x) <= 357 ? yytranslate[x] : 494) static const short yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 126, 2, 2, 2, 98, 86, 2, 109, 124, 96, 94, 75, 95, 108, 97, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 78, 76, 90, 80, 91, 81, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 110, 2, 127, 85, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 74, 84, 125, 104, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 77, 79, 82, 83, 87, 88, 89, 92, 93, 99, 100, 101, 102, 103, 105, 106, 107, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123 }; #if YYDEBUG != 0 static const short yyprhs[] = { 0, 0, 1, 3, 4, 7, 10, 12, 13, 14, 15, 17, 19, 20, 23, 26, 28, 30, 32, 38, 43, 49, 54, 55, 62, 63, 69, 71, 74, 76, 79, 80, 87, 90, 94, 98, 102, 106, 111, 112, 118, 121, 125, 127, 129, 132, 135, 137, 140, 141, 147, 151, 153, 157, 159, 160, 163, 166, 170, 172, 176, 178, 182, 184, 188, 191, 194, 197, 199, 201, 207, 212, 215, 218, 222, 226, 229, 232, 236, 240, 243, 246, 249, 252, 255, 257, 259, 261, 262, 264, 267, 268, 270, 275, 279, 283, 284, 293, 299, 300, 310, 317, 318, 327, 333, 334, 344, 351, 354, 357, 359, 362, 364, 371, 376, 383, 388, 391, 393, 396, 399, 401, 404, 406, 409, 412, 417, 420, 424, 425, 426, 428, 432, 435, 439, 441, 446, 449, 454, 457, 462, 465, 467, 469, 471, 473, 475, 477, 479, 481, 483, 485, 487, 489, 491, 492, 499, 500, 507, 508, 514, 515, 521, 522, 530, 531, 539, 540, 547, 548, 555, 556, 557, 563, 569, 571, 573, 579, 585, 586, 588, 590, 591, 593, 595, 599, 601, 603, 605, 607, 609, 611, 613, 615, 617, 619, 621, 625, 627, 631, 632, 634, 636, 637, 645, 647, 649, 653, 658, 662, 663, 667, 669, 673, 677, 681, 685, 687, 689, 691, 694, 697, 700, 703, 706, 709, 712, 717, 720, 725, 728, 733, 736, 740, 744, 749, 755, 762, 769, 777, 780, 785, 791, 796, 799, 802, 804, 805, 810, 815, 819, 821, 825, 828, 832, 837, 839, 844, 847, 853, 855, 859, 863, 867, 871, 875, 879, 883, 887, 891, 895, 899, 903, 907, 911, 915, 919, 923, 927, 931, 937, 941, 945, 947, 950, 954, 958, 960, 962, 964, 966, 968, 969, 975, 981, 987, 993, 999, 1001, 1003, 1005, 1007, 1010, 1012, 1015, 1018, 1022, 1027, 1032, 1034, 1036, 1038, 1042, 1044, 1046, 1048, 1050, 1054, 1058, 1062, 1063, 1068, 1073, 1076, 1081, 1084, 1089, 1092, 1095, 1097, 1102, 1104, 1112, 1120, 1128, 1136, 1141, 1146, 1149, 1152, 1155, 1157, 1162, 1165, 1168, 1174, 1178, 1181, 1184, 1190, 1194, 1200, 1204, 1209, 1216, 1218, 1220, 1222, 1224, 1227, 1229, 1232, 1234, 1237, 1239, 1241, 1243, 1246, 1248, 1251, 1253, 1256, 1257, 1260, 1263, 1267, 1271, 1275, 1278, 1281, 1284, 1286, 1288, 1290, 1293, 1296, 1299, 1302, 1304, 1306, 1308, 1310, 1313, 1316, 1320, 1324, 1328, 1333, 1335, 1338, 1341, 1344, 1346, 1348, 1350, 1353, 1356, 1359, 1361, 1363, 1366, 1369, 1373, 1375, 1378, 1380, 1382, 1385, 1388, 1390, 1395, 1400, 1405, 1410, 1412, 1414, 1416, 1418, 1422, 1424, 1428, 1430, 1434, 1435, 1440, 1441, 1448, 1452, 1453, 1458, 1460, 1464, 1468, 1469, 1474, 1478, 1479, 1481, 1483, 1486, 1493, 1495, 1499, 1500, 1502, 1507, 1514, 1519, 1521, 1523, 1525, 1527, 1529, 1533, 1534, 1537, 1539, 1542, 1546, 1551, 1553, 1555, 1559, 1563, 1569, 1571, 1576, 1580, 1584, 1585, 1589, 1593, 1597, 1598, 1601, 1604, 1605, 1613, 1618, 1619, 1626, 1630, 1633, 1636, 1639, 1640, 1641, 1642, 1653, 1655, 1656, 1658, 1659, 1661, 1663, 1666, 1669, 1672, 1675, 1678, 1681, 1684, 1687, 1690, 1694, 1699, 1703, 1706, 1710, 1712, 1713, 1717, 1720, 1723, 1725, 1727, 1728, 1731, 1735, 1737, 1742, 1744, 1748, 1750, 1752, 1757, 1762, 1765, 1768, 1772, 1776, 1777, 1779, 1783, 1786, 1791, 1797, 1800, 1802, 1805, 1808, 1811, 1814, 1817, 1820, 1823, 1825, 1828, 1831, 1835, 1838, 1841, 1846, 1851, 1854, 1856, 1862, 1867, 1869, 1870, 1872, 1876, 1877, 1879, 1883, 1885, 1887, 1889, 1891, 1896, 1901, 1906, 1911, 1916, 1920, 1925, 1930, 1935, 1940, 1944, 1946, 1950, 1952, 1956, 1959, 1961, 1969, 1970, 1973, 1975, 1978, 1979, 1982, 1983, 1987, 1992, 1997, 2001, 2004, 2009, 2011, 2014, 2018, 2022, 2025, 2028, 2032, 2034, 2039, 2044, 2048, 2052, 2055, 2057, 2059, 2061, 2064, 2066, 2068, 2071, 2074, 2076, 2079, 2083, 2087, 2090, 2093, 2097, 2099, 2103, 2107, 2110, 2113, 2117, 2119, 2124, 2128, 2133, 2137, 2139, 2142, 2145, 2148, 2151, 2154, 2156, 2159, 2164, 2169, 2172, 2174, 2176, 2178, 2180, 2183, 2188, 2191, 2194, 2197, 2200, 2202, 2205, 2208, 2211, 2214, 2218, 2220, 2223, 2227, 2232, 2235, 2238, 2241, 2244, 2247, 2250, 2255, 2258, 2260, 2263, 2266, 2270, 2272, 2276, 2279, 2283, 2286, 2289, 2293, 2295, 2299, 2304, 2306, 2309, 2313, 2316, 2319, 2321, 2325, 2328, 2331, 2333, 2336, 2340, 2342, 2346, 2348, 2355, 2360, 2365, 2369, 2375, 2379, 2383, 2387, 2390, 2392, 2394, 2397, 2400, 2403, 2404, 2406, 2408, 2411, 2415, 2417, 2420, 2421, 2425, 2426, 2427, 2433, 2435, 2436, 2439, 2441, 2443, 2445, 2448, 2449, 2454, 2456, 2457, 2458, 2464, 2465, 2466, 2474, 2475, 2476, 2477, 2478, 2491, 2492, 2493, 2501, 2502, 2508, 2509, 2517, 2518, 2523, 2526, 2529, 2532, 2536, 2543, 2552, 2563, 2576, 2581, 2585, 2588, 2591, 2593, 2595, 2597, 2599, 2601, 2602, 2603, 2610, 2611, 2612, 2618, 2620, 2623, 2624, 2625, 2631, 2633, 2635, 2639, 2643, 2646, 2649, 2652, 2655, 2658, 2660, 2663, 2664, 2666, 2667, 2669, 2671, 2672, 2674, 2676, 2680, 2685, 2687, 2691, 2692, 2694, 2696, 2698, 2701, 2704, 2707, 2709, 2712, 2715, 2716, 2720, 2722, 2724, 2726, 2729, 2732, 2735, 2740, 2743, 2746, 2749, 2752, 2755, 2758, 2760, 2763, 2765, 2768, 2770, 2772, 2773, 2774, 2776, 2777, 2782, 2785, 2787, 2789, 2793, 2794, 2798, 2802, 2806, 2808, 2811, 2814, 2817, 2820, 2823, 2826, 2829, 2832, 2835, 2838, 2841, 2844, 2847, 2850, 2853, 2856, 2859, 2862, 2865, 2868, 2871, 2874, 2877, 2881, 2884, 2887, 2890, 2893, 2897, 2900, 2903, 2908, 2913, 2917, 2920, 2921, 2923, 2925, 2927, 2929, 2931, 2933, 2935, 2937, 2941, 2945, 2949, 2954, 2957, 2959, 2960, 2961, 2972, 2973, 2980, 2981, 2982, 2994, 2995, 3003, 3004, 3011, 3014, 3015, 3023, 3027, 3028, 3038, 3044, 3045, 3054, 3055, 3061, 3065, 3067, 3069, 3071, 3073, 3074, 3078, 3081, 3085, 3089, 3091, 3092, 3094, 3098, 3100, 3104, 3107, 3108, 3109, 3110, 3118, 3119, 3120, 3121, 3129, 3130, 3131, 3134, 3136, 3138, 3141, 3142, 3146, 3148, 3150, 3151, 3152, 3158, 3159, 3160, 3166, 3168, 3170, 3174, 3176, 3179, 3184, 3190, 3192, 3199, 3205, 3208, 3209, 3212, 3213, 3215, 3217, 3219, 3222, 3225, 3230, 3233, 3236, 3238, 3242, 3244, 3246, 3247, 3250, 3251, 3255, 3257, 3259, 3262, 3264, 3266, 3268, 3270, 3272, 3274, 3276, 3278, 3280, 3282, 3284, 3286, 3288, 3290, 3292, 3294, 3296, 3298, 3300, 3302, 3304, 3306, 3308, 3310, 3312, 3314, 3316, 3318, 3320, 3322, 3324, 3326, 3328, 3333, 3337, 3341, 3344, 3346, 3348, 3350, 3353, 3355, 3359, 3362, 3364, 3366, 3368, 3369, 3373, 3375, 3379, 3381, 3383, 3385, 3388, 3391, 3393, 3395, 3400, 3405 }; static const short yyrhs[] = { -1, 129, 0, 0, 130, 136, 0, 129, 136, 0, 129, 0, 0, 0, 0, 34, 0, 29, 0, 0, 137, 138, 0, 164, 163, 0, 160, 0, 419, 0, 157, 0, 135, 109, 235, 124, 76, 0, 149, 74, 131, 125, 0, 149, 132, 164, 133, 163, 0, 149, 132, 160, 133, 0, 0, 47, 179, 74, 139, 131, 125, 0, 0, 47, 74, 140, 131, 125, 0, 141, 0, 143, 76, 0, 145, 0, 134, 138, 0, 0, 47, 179, 80, 142, 148, 76, 0, 49, 331, 0, 49, 345, 331, 0, 49, 345, 225, 0, 49, 147, 179, 0, 49, 345, 179, 0, 49, 345, 147, 179, 0, 0, 49, 47, 146, 148, 76, 0, 73, 57, 0, 147, 73, 57, 0, 225, 0, 331, 0, 345, 331, 0, 345, 225, 0, 114, 0, 149, 114, 0, 0, 51, 90, 151, 152, 91, 0, 51, 90, 91, 0, 156, 0, 152, 75, 156, 0, 179, 0, 0, 286, 153, 0, 48, 153, 0, 150, 286, 153, 0, 154, 0, 154, 80, 242, 0, 409, 0, 409, 80, 220, 0, 155, 0, 155, 80, 200, 0, 150, 158, 0, 150, 1, 0, 164, 163, 0, 159, 0, 157, 0, 149, 132, 164, 133, 163, 0, 149, 132, 159, 133, 0, 134, 158, 0, 253, 76, 0, 246, 252, 76, 0, 243, 251, 76, 0, 278, 76, 0, 253, 76, 0, 246, 252, 76, 0, 243, 251, 76, 0, 246, 76, 0, 182, 76, 0, 243, 76, 0, 1, 76, 0, 1, 125, 0, 76, 0, 237, 0, 175, 0, 0, 174, 0, 174, 76, 0, 0, 123, 0, 170, 162, 161, 356, 0, 170, 162, 380, 0, 170, 162, 1, 0, 0, 336, 5, 109, 166, 400, 124, 315, 412, 0, 336, 5, 50, 315, 412, 0, 0, 345, 336, 5, 109, 167, 400, 124, 315, 412, 0, 345, 336, 5, 50, 315, 412, 0, 0, 336, 195, 109, 168, 400, 124, 315, 412, 0, 336, 195, 50, 315, 412, 0, 0, 345, 336, 195, 109, 169, 400, 124, 315, 412, 0, 345, 336, 195, 50, 315, 412, 0, 243, 240, 0, 246, 328, 0, 328, 0, 246, 165, 0, 165, 0, 5, 109, 400, 124, 315, 412, 0, 5, 50, 315, 412, 0, 195, 109, 400, 124, 315, 412, 0, 195, 50, 315, 412, 0, 246, 171, 0, 171, 0, 243, 240, 0, 246, 328, 0, 328, 0, 246, 165, 0, 165, 0, 27, 3, 0, 173, 270, 0, 173, 109, 212, 124, 0, 173, 50, 0, 78, 176, 177, 0, 0, 0, 178, 0, 177, 75, 178, 0, 177, 1, 0, 109, 212, 124, 0, 50, 0, 180, 109, 212, 124, 0, 180, 50, 0, 324, 109, 212, 124, 0, 324, 50, 0, 338, 109, 212, 124, 0, 338, 50, 0, 3, 0, 4, 0, 5, 0, 72, 0, 73, 0, 7, 0, 6, 0, 3, 0, 72, 0, 73, 0, 120, 0, 119, 0, 121, 0, 0, 51, 191, 249, 76, 183, 192, 0, 0, 51, 191, 243, 240, 184, 192, 0, 0, 51, 191, 328, 185, 192, 0, 0, 51, 191, 165, 186, 192, 0, 0, 9, 51, 191, 249, 76, 187, 192, 0, 0, 9, 51, 191, 243, 240, 188, 192, 0, 0, 9, 51, 191, 328, 189, 192, 0, 0, 9, 51, 191, 165, 190, 192, 0, 0, 0, 72, 90, 198, 197, 196, 0, 4, 90, 198, 197, 196, 0, 195, 0, 193, 0, 179, 90, 198, 91, 196, 0, 5, 90, 198, 197, 196, 0, 0, 91, 0, 93, 0, 0, 199, 0, 200, 0, 199, 75, 200, 0, 242, 0, 72, 0, 220, 0, 95, 0, 94, 0, 102, 0, 103, 0, 126, 0, 211, 0, 220, 0, 50, 0, 109, 202, 124, 0, 50, 0, 109, 206, 124, 0, 0, 206, 0, 1, 0, 0, 390, 240, 254, 263, 80, 207, 271, 0, 202, 0, 125, 0, 353, 351, 125, 0, 353, 351, 1, 125, 0, 353, 1, 125, 0, 0, 74, 210, 208, 0, 365, 0, 220, 75, 220, 0, 220, 75, 1, 0, 211, 75, 220, 0, 211, 75, 1, 0, 220, 0, 211, 0, 230, 0, 134, 219, 0, 96, 219, 0, 86, 219, 0, 104, 219, 0, 201, 219, 0, 83, 179, 0, 15, 213, 0, 15, 109, 242, 124, 0, 31, 213, 0, 31, 109, 242, 124, 0, 38, 213, 0, 38, 109, 242, 124, 0, 232, 314, 0, 232, 314, 217, 0, 232, 216, 314, 0, 232, 216, 314, 217, 0, 232, 109, 215, 242, 214, 0, 232, 109, 215, 242, 214, 217, 0, 232, 216, 109, 215, 242, 214, 0, 232, 216, 109, 215, 242, 214, 217, 0, 233, 219, 0, 233, 110, 127, 219, 0, 233, 110, 202, 127, 219, 0, 233, 484, 486, 219, 0, 36, 219, 0, 37, 219, 0, 124, 0, 0, 109, 215, 212, 124, 0, 74, 215, 212, 125, 0, 109, 212, 124, 0, 50, 0, 109, 249, 124, 0, 80, 271, 0, 109, 242, 124, 0, 218, 109, 242, 124, 0, 213, 0, 218, 109, 211, 124, 0, 218, 213, 0, 218, 74, 272, 284, 125, 0, 219, 0, 220, 99, 220, 0, 220, 100, 220, 0, 220, 94, 220, 0, 220, 95, 220, 0, 220, 96, 220, 0, 220, 97, 220, 0, 220, 98, 220, 0, 220, 92, 220, 0, 220, 93, 220, 0, 220, 89, 220, 0, 220, 90, 220, 0, 220, 91, 220, 0, 220, 88, 220, 0, 220, 87, 220, 0, 220, 86, 220, 0, 220, 84, 220, 0, 220, 85, 220, 0, 220, 83, 220, 0, 220, 82, 220, 0, 220, 81, 395, 78, 220, 0, 220, 80, 220, 0, 220, 79, 220, 0, 77, 0, 77, 220, 0, 104, 410, 179, 0, 104, 410, 193, 0, 223, 0, 417, 0, 3, 0, 72, 0, 73, 0, 0, 8, 90, 222, 198, 197, 0, 417, 90, 222, 198, 197, 0, 51, 179, 90, 198, 197, 0, 51, 8, 90, 198, 197, 0, 51, 417, 90, 198, 197, 0, 221, 0, 4, 0, 5, 0, 227, 0, 264, 227, 0, 221, 0, 96, 226, 0, 86, 226, 0, 109, 226, 124, 0, 3, 90, 198, 197, 0, 73, 90, 199, 197, 0, 330, 0, 221, 0, 228, 0, 109, 226, 124, 0, 221, 0, 12, 0, 234, 0, 235, 0, 109, 202, 124, 0, 109, 226, 124, 0, 109, 1, 124, 0, 0, 109, 231, 357, 124, 0, 221, 109, 212, 124, 0, 221, 50, 0, 230, 109, 212, 124, 0, 230, 50, 0, 230, 110, 202, 127, 0, 230, 102, 0, 230, 103, 0, 43, 0, 11, 109, 212, 124, 0, 334, 0, 53, 90, 242, 91, 109, 202, 124, 0, 54, 90, 242, 91, 109, 202, 124, 0, 55, 90, 242, 91, 109, 202, 124, 0, 56, 90, 242, 91, 109, 202, 124, 0, 52, 109, 202, 124, 0, 52, 109, 242, 124, 0, 345, 3, 0, 345, 223, 0, 345, 417, 0, 333, 0, 333, 109, 212, 124, 0, 333, 50, 0, 238, 224, 0, 238, 224, 109, 212, 124, 0, 238, 224, 50, 0, 238, 225, 0, 238, 333, 0, 238, 225, 109, 212, 124, 0, 238, 225, 50, 0, 238, 333, 109, 212, 124, 0, 238, 333, 50, 0, 238, 104, 10, 50, 0, 238, 10, 57, 104, 10, 50, 0, 487, 0, 491, 0, 492, 0, 236, 0, 238, 1, 0, 42, 0, 345, 42, 0, 41, 0, 345, 233, 0, 45, 0, 46, 0, 13, 0, 235, 13, 0, 493, 0, 235, 493, 0, 70, 0, 236, 70, 0, 0, 230, 108, 0, 230, 107, 0, 249, 251, 76, 0, 243, 251, 76, 0, 246, 252, 76, 0, 243, 76, 0, 246, 76, 0, 134, 239, 0, 322, 0, 328, 0, 50, 0, 241, 50, 0, 247, 349, 0, 316, 349, 0, 249, 349, 0, 247, 0, 316, 0, 247, 0, 244, 0, 246, 249, 0, 249, 245, 0, 249, 248, 245, 0, 246, 249, 245, 0, 246, 249, 248, 0, 246, 249, 248, 245, 0, 9, 0, 245, 250, 0, 245, 9, 0, 245, 264, 0, 264, 0, 316, 0, 9, 0, 246, 11, 0, 246, 9, 0, 246, 264, 0, 264, 0, 249, 0, 316, 249, 0, 249, 248, 0, 316, 249, 248, 0, 250, 0, 248, 250, 0, 278, 0, 10, 0, 6, 319, 0, 7, 319, 0, 325, 0, 30, 109, 202, 124, 0, 30, 109, 242, 124, 0, 32, 109, 202, 124, 0, 32, 109, 242, 124, 0, 10, 0, 11, 0, 278, 0, 259, 0, 251, 75, 255, 0, 260, 0, 252, 75, 255, 0, 261, 0, 253, 75, 255, 0, 0, 135, 109, 235, 124, 0, 0, 240, 254, 263, 80, 256, 271, 0, 240, 254, 263, 0, 0, 263, 80, 258, 271, 0, 263, 0, 240, 254, 257, 0, 328, 254, 257, 0, 0, 328, 254, 262, 257, 0, 165, 254, 263, 0, 0, 264, 0, 265, 0, 264, 265, 0, 33, 109, 109, 266, 124, 124, 0, 267, 0, 266, 75, 267, 0, 0, 268, 0, 268, 109, 3, 124, 0, 268, 109, 3, 75, 212, 124, 0, 268, 109, 212, 124, 0, 179, 0, 9, 0, 10, 0, 11, 0, 179, 0, 269, 75, 179, 0, 0, 80, 271, 0, 220, 0, 74, 125, 0, 74, 272, 125, 0, 74, 272, 75, 125, 0, 1, 0, 271, 0, 272, 75, 271, 0, 179, 78, 271, 0, 272, 75, 179, 78, 271, 0, 113, 0, 273, 162, 161, 356, 0, 273, 162, 380, 0, 273, 162, 1, 0, 0, 275, 274, 163, 0, 118, 220, 123, 0, 118, 1, 123, 0, 0, 277, 276, 0, 277, 1, 0, 0, 16, 179, 74, 279, 312, 285, 125, 0, 16, 179, 74, 125, 0, 0, 16, 74, 280, 312, 285, 125, 0, 16, 74, 125, 0, 16, 179, 0, 16, 343, 0, 48, 338, 0, 0, 0, 0, 293, 74, 281, 299, 125, 263, 282, 277, 283, 275, 0, 293, 0, 0, 75, 0, 0, 75, 0, 39, 0, 286, 9, 0, 286, 10, 0, 286, 11, 0, 286, 39, 0, 286, 264, 0, 286, 179, 0, 286, 181, 0, 287, 74, 0, 287, 78, 0, 286, 336, 179, 0, 286, 345, 336, 179, 0, 286, 345, 179, 0, 286, 194, 0, 286, 336, 194, 0, 287, 0, 0, 288, 291, 294, 0, 289, 294, 0, 286, 74, 0, 292, 0, 290, 0, 0, 78, 410, 0, 78, 410, 295, 0, 296, 0, 295, 75, 410, 296, 0, 297, 0, 298, 410, 297, 0, 338, 0, 324, 0, 32, 109, 202, 124, 0, 32, 109, 242, 124, 0, 40, 410, 0, 9, 410, 0, 298, 40, 410, 0, 298, 9, 410, 0, 0, 301, 0, 299, 300, 301, 0, 299, 300, 0, 62, 109, 6, 124, 0, 62, 109, 6, 124, 76, 0, 40, 78, 0, 302, 0, 301, 302, 0, 303, 76, 0, 303, 125, 0, 172, 78, 0, 172, 111, 0, 172, 27, 0, 172, 74, 0, 76, 0, 134, 302, 0, 150, 302, 0, 150, 243, 76, 0, 243, 304, 0, 246, 305, 0, 328, 254, 263, 270, 0, 165, 254, 263, 270, 0, 78, 220, 0, 1, 0, 246, 171, 254, 263, 270, 0, 171, 254, 263, 270, 0, 143, 0, 0, 306, 0, 304, 75, 307, 0, 0, 309, 0, 305, 75, 311, 0, 308, 0, 309, 0, 310, 0, 311, 0, 322, 254, 263, 270, 0, 4, 78, 220, 263, 0, 328, 254, 263, 270, 0, 165, 254, 263, 270, 0, 3, 78, 220, 263, 0, 78, 220, 263, 0, 322, 254, 263, 270, 0, 4, 78, 220, 263, 0, 328, 254, 263, 270, 0, 3, 78, 220, 263, 0, 78, 220, 263, 0, 313, 0, 312, 75, 313, 0, 179, 0, 179, 80, 220, 0, 390, 346, 0, 390, 0, 109, 215, 242, 214, 110, 202, 127, 0, 0, 315, 11, 0, 11, 0, 316, 11, 0, 0, 317, 202, 0, 0, 90, 420, 91, 0, 317, 109, 212, 124, 0, 317, 109, 400, 124, 0, 317, 7, 50, 0, 317, 50, 0, 317, 109, 1, 124, 0, 322, 0, 264, 322, 0, 96, 316, 321, 0, 86, 316, 321, 0, 96, 321, 0, 86, 321, 0, 344, 315, 321, 0, 323, 0, 323, 320, 315, 412, 0, 323, 110, 318, 127, 0, 323, 110, 127, 0, 109, 321, 124, 0, 336, 335, 0, 335, 0, 7, 0, 335, 0, 345, 335, 0, 324, 0, 326, 0, 345, 326, 0, 336, 335, 0, 328, 0, 264, 328, 0, 96, 316, 327, 0, 86, 316, 327, 0, 96, 327, 0, 86, 327, 0, 344, 315, 327, 0, 229, 0, 96, 316, 327, 0, 86, 316, 327, 0, 96, 329, 0, 86, 329, 0, 344, 315, 327, 0, 330, 0, 229, 320, 315, 412, 0, 109, 329, 124, 0, 229, 110, 318, 127, 0, 229, 110, 127, 0, 332, 0, 336, 228, 0, 336, 225, 0, 336, 224, 0, 336, 221, 0, 336, 224, 0, 332, 0, 345, 332, 0, 249, 109, 212, 124, 0, 249, 109, 226, 124, 0, 249, 241, 0, 4, 0, 5, 0, 193, 0, 337, 0, 336, 337, 0, 336, 51, 342, 57, 0, 4, 57, 0, 5, 57, 0, 73, 57, 0, 193, 57, 0, 339, 0, 345, 339, 0, 340, 179, 0, 340, 193, 0, 340, 342, 0, 340, 51, 342, 0, 341, 0, 340, 341, 0, 340, 342, 57, 0, 340, 51, 342, 57, 0, 4, 57, 0, 5, 57, 0, 193, 57, 0, 72, 57, 0, 3, 57, 0, 73, 57, 0, 179, 90, 198, 197, 0, 345, 335, 0, 326, 0, 345, 326, 0, 336, 96, 0, 345, 336, 96, 0, 57, 0, 96, 315, 346, 0, 96, 315, 0, 86, 315, 346, 0, 86, 315, 0, 344, 315, 0, 344, 315, 346, 0, 347, 0, 110, 202, 127, 0, 347, 110, 318, 127, 0, 349, 0, 264, 349, 0, 96, 316, 348, 0, 96, 348, 0, 96, 316, 0, 96, 0, 86, 316, 348, 0, 86, 348, 0, 86, 316, 0, 86, 0, 344, 315, 0, 344, 315, 348, 0, 350, 0, 109, 348, 124, 0, 106, 0, 350, 109, 400, 124, 315, 412, 0, 350, 50, 315, 412, 0, 350, 110, 318, 127, 0, 350, 110, 127, 0, 109, 401, 124, 315, 412, 0, 218, 315, 412, 0, 241, 315, 412, 0, 110, 318, 127, 0, 110, 127, 0, 364, 0, 352, 0, 351, 364, 0, 351, 352, 0, 1, 76, 0, 0, 354, 0, 355, 0, 354, 355, 0, 35, 269, 76, 0, 357, 0, 1, 357, 0, 0, 74, 358, 208, 0, 0, 0, 17, 360, 204, 361, 362, 0, 357, 0, 0, 363, 365, 0, 357, 0, 365, 0, 239, 0, 202, 76, 0, 0, 359, 18, 366, 362, 0, 359, 0, 0, 0, 19, 367, 204, 368, 209, 0, 0, 0, 20, 369, 362, 19, 370, 203, 76, 0, 0, 0, 0, 0, 21, 371, 109, 393, 372, 205, 76, 373, 395, 124, 374, 209, 0, 0, 0, 22, 375, 109, 206, 124, 376, 362, 0, 0, 23, 220, 78, 377, 364, 0, 0, 23, 220, 14, 220, 78, 378, 364, 0, 0, 24, 78, 379, 364, 0, 25, 76, 0, 26, 76, 0, 27, 76, 0, 27, 202, 76, 0, 135, 394, 109, 235, 124, 76, 0, 135, 394, 109, 235, 78, 396, 124, 76, 0, 135, 394, 109, 235, 78, 396, 78, 396, 124, 76, 0, 135, 394, 109, 235, 78, 396, 78, 396, 78, 399, 124, 76, 0, 28, 96, 202, 76, 0, 28, 179, 76, 0, 392, 364, 0, 392, 125, 0, 76, 0, 383, 0, 145, 0, 144, 0, 141, 0, 0, 0, 111, 381, 161, 357, 382, 386, 0, 0, 0, 111, 384, 357, 385, 386, 0, 387, 0, 386, 387, 0, 0, 0, 112, 388, 391, 389, 357, 0, 247, 0, 316, 0, 109, 14, 124, 0, 109, 409, 124, 0, 3, 78, 0, 72, 78, 0, 4, 78, 0, 5, 78, 0, 395, 76, 0, 239, 0, 74, 208, 0, 0, 11, 0, 0, 202, 0, 1, 0, 0, 397, 0, 398, 0, 397, 75, 398, 0, 13, 109, 202, 124, 0, 13, 0, 399, 75, 13, 0, 0, 401, 0, 242, 0, 405, 0, 406, 14, 0, 405, 14, 0, 242, 14, 0, 14, 0, 405, 78, 0, 242, 78, 0, 0, 80, 403, 404, 0, 117, 0, 271, 0, 407, 0, 409, 402, 0, 406, 408, 0, 406, 411, 0, 406, 411, 80, 271, 0, 405, 75, 0, 242, 75, 0, 244, 240, 0, 247, 240, 0, 249, 240, 0, 244, 349, 0, 244, 0, 246, 328, 0, 409, 0, 409, 402, 0, 407, 0, 242, 0, 0, 0, 328, 0, 0, 77, 109, 414, 124, 0, 77, 50, 0, 242, 0, 413, 0, 414, 75, 413, 0, 0, 96, 315, 415, 0, 86, 315, 415, 0, 344, 315, 415, 0, 44, 0, 416, 96, 0, 416, 97, 0, 416, 98, 0, 416, 94, 0, 416, 95, 0, 416, 86, 0, 416, 84, 0, 416, 85, 0, 416, 104, 0, 416, 75, 0, 416, 89, 0, 416, 90, 0, 416, 91, 0, 416, 88, 0, 416, 79, 0, 416, 80, 0, 416, 92, 0, 416, 93, 0, 416, 102, 0, 416, 103, 0, 416, 83, 0, 416, 82, 0, 416, 126, 0, 416, 81, 78, 0, 416, 87, 0, 416, 107, 0, 416, 99, 0, 416, 50, 0, 416, 110, 127, 0, 416, 42, 0, 416, 41, 0, 416, 42, 110, 127, 0, 416, 41, 110, 127, 0, 416, 390, 415, 0, 416, 1, 0, 0, 425, 0, 421, 0, 422, 0, 423, 0, 435, 0, 444, 0, 60, 0, 179, 0, 420, 75, 179, 0, 68, 420, 76, 0, 67, 420, 76, 0, 69, 179, 179, 76, 0, 179, 78, 0, 72, 0, 0, 0, 58, 179, 319, 74, 426, 438, 125, 427, 451, 60, 0, 0, 58, 179, 319, 428, 451, 60, 0, 0, 0, 58, 424, 179, 319, 74, 429, 438, 125, 430, 451, 60, 0, 0, 58, 424, 179, 319, 431, 451, 60, 0, 0, 59, 179, 74, 432, 438, 125, 0, 59, 179, 0, 0, 59, 424, 179, 74, 433, 438, 125, 0, 59, 424, 179, 0, 0, 58, 179, 109, 179, 124, 319, 434, 451, 60, 0, 59, 179, 109, 179, 124, 0, 0, 67, 179, 90, 420, 91, 436, 451, 60, 0, 0, 67, 179, 437, 451, 60, 0, 438, 439, 440, 0, 440, 0, 64, 0, 65, 0, 66, 0, 0, 440, 441, 76, 0, 440, 76, 0, 247, 418, 442, 0, 316, 418, 442, 0, 1, 0, 0, 443, 0, 442, 75, 443, 0, 240, 0, 240, 78, 220, 0, 78, 220, 0, 0, 0, 0, 94, 445, 465, 446, 466, 447, 356, 0, 0, 0, 0, 95, 448, 465, 449, 466, 450, 356, 0, 0, 0, 452, 453, 0, 456, 0, 160, 0, 453, 456, 0, 0, 453, 454, 160, 0, 76, 0, 1, 0, 0, 0, 94, 457, 465, 458, 455, 0, 0, 0, 95, 459, 465, 460, 455, 0, 109, 0, 124, 0, 461, 242, 462, 0, 9, 0, 464, 9, 0, 461, 242, 462, 474, 0, 461, 464, 242, 462, 474, 0, 474, 0, 461, 464, 242, 462, 475, 472, 0, 461, 242, 462, 475, 472, 0, 475, 472, 0, 0, 76, 467, 0, 0, 468, 0, 469, 0, 352, 0, 468, 469, 0, 469, 352, 0, 243, 418, 470, 76, 0, 243, 76, 0, 246, 76, 0, 471, 0, 470, 75, 471, 0, 328, 0, 349, 0, 0, 75, 14, 0, 0, 75, 473, 400, 0, 476, 0, 478, 0, 475, 478, 0, 3, 0, 4, 0, 72, 0, 6, 0, 7, 0, 477, 0, 16, 0, 39, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 29, 0, 15, 0, 30, 0, 31, 0, 42, 0, 41, 0, 44, 0, 49, 0, 47, 0, 51, 0, 40, 0, 9, 0, 10, 0, 476, 78, 463, 179, 0, 476, 78, 179, 0, 78, 463, 179, 0, 78, 179, 0, 476, 0, 480, 0, 482, 0, 480, 482, 0, 212, 0, 476, 78, 481, 0, 78, 481, 0, 212, 0, 6, 0, 325, 0, 0, 110, 485, 483, 0, 127, 0, 484, 479, 486, 0, 476, 0, 489, 0, 490, 0, 489, 490, 0, 476, 78, 0, 78, 0, 57, 0, 61, 109, 488, 124, 0, 67, 109, 179, 124, 0, 63, 109, 242, 124, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, 397, 399, 407, 410, 411, 415, 417, 420, 425, 429, 435, 439, 442, 446, 449, 451, 452, 454, 457, 459, 462, 465, 467, 469, 471, 473, 474, 476, 477, 481, 484, 493, 496, 498, 502, 505, 507, 511, 514, 526, 533, 541, 543, 544, 546, 550, 553, 559, 562, 564, 569, 572, 576, 579, 582, 585, 589, 594, 604, 606, 608, 610, 612, 625, 628, 632, 635, 637, 639, 642, 645, 649, 651, 653, 655, 660, 662, 664, 666, 668, 669, 676, 677, 678, 681, 684, 688, 690, 691, 694, 696, 699, 702, 708, 712, 715, 717, 721, 723, 725, 729, 731, 733, 737, 739, 741, 747, 751, 754, 757, 760, 765, 768, 770, 772, 778, 790, 793, 798, 803, 806, 811, 816, 825, 828, 830, 834, 847, 867, 870, 872, 873, 876, 883, 889, 891, 893, 895, 897, 900, 905, 907, 908, 909, 910, 911, 912, 915, 917, 918, 921, 923, 924, 927, 932, 932, 936, 936, 939, 939, 942, 942, 946, 946, 951, 951, 954, 954, 957, 959, 962, 969, 973, 976, 979, 981, 985, 991, 1000, 1002, 1010, 1013, 1016, 1019, 1023, 1026, 1028, 1031, 1034, 1036, 1038, 1040, 1044, 1047, 1050, 1055, 1059, 1064, 1068, 1071, 1072, 1076, 1095, 1102, 1105, 1107, 1108, 1109, 1112, 1116, 1117, 1121, 1125, 1128, 1130, 1134, 1137, 1140, 1144, 1147, 1149, 1151, 1153, 1156, 1160, 1162, 1165, 1167, 1170, 1172, 1177, 1180, 1183, 1186, 1198, 1203, 1207, 1211, 1216, 1218, 1222, 1226, 1230, 1232, 1241, 1245, 1248, 1251, 1256, 1259, 1261, 1269, 1282, 1287, 1293, 1295, 1297, 1299, 1312, 1315, 1317, 1319, 1321, 1323, 1325, 1327, 1329, 1331, 1333, 1335, 1337, 1339, 1341, 1343, 1345, 1347, 1349, 1351, 1353, 1355, 1359, 1361, 1363, 1380, 1383, 1385, 1386, 1387, 1388, 1389, 1392, 1404, 1407, 1411, 1414, 1416, 1421, 1423, 1424, 1427, 1429, 1437, 1439, 1441, 1443, 1447, 1450, 1454, 1458, 1459, 1460, 1464, 1472, 1473, 1474, 1488, 1490, 1493, 1495, 1506, 1511, 1513, 1515, 1517, 1519, 1521, 1523, 1526, 1528, 1545, 1546, 1550, 1554, 1558, 1562, 1564, 1568, 1570, 1572, 1580, 1582, 1584, 1586, 1590, 1592, 1594, 1596, 1601, 1603, 1605, 1607, 1610, 1612, 1615, 1617, 1619, 1621, 1623, 1667, 1670, 1674, 1677, 1681, 1684, 1689, 1691, 1693, 1695, 1701, 1703, 1707, 1720, 1723, 1730, 1737, 1742, 1744, 1749, 1751, 1758, 1760, 1764, 1768, 1774, 1778, 1781, 1785, 1788, 1798, 1800, 1803, 1807, 1810, 1813, 1816, 1819, 1825, 1831, 1833, 1838, 1840, 1858, 1861, 1863, 1866, 1872, 1874, 1884, 1888, 1891, 1894, 1899, 1902, 1910, 1912, 1915, 1918, 1921, 1923, 1926, 1929, 1944, 1963, 1966, 1968, 1971, 1973, 1977, 1979, 1983, 1985, 1989, 1992, 1996, 2002, 2003, 2015, 2022, 2025, 2031, 2035, 2040, 2046, 2047, 2055, 2058, 2062, 2065, 2069, 2074, 2077, 2081, 2084, 2086, 2088, 2090, 2097, 2099, 2100, 2101, 2105, 2108, 2112, 2115, 2121, 2123, 2126, 2129, 2132, 2138, 2141, 2148, 2150, 2154, 2160, 2168, 2175, 2179, 2181, 2186, 2189, 2192, 2194, 2196, 2200, 2205, 2212, 2216, 2220, 2227, 2231, 2234, 2237, 2243, 2245, 2257, 2261, 2266, 2288, 2290, 2293, 2295, 2300, 2302, 2304, 2306, 2308, 2310, 2314, 2322, 2325, 2327, 2331, 2338, 2344, 2350, 2356, 2366, 2372, 2376, 2383, 2411, 2421, 2427, 2430, 2433, 2435, 2439, 2441, 2445, 2450, 2456, 2459, 2460, 2481, 2504, 2506, 2510, 2521, 2535, 2536, 2537, 2538, 2541, 2543, 2547, 2562, 2567, 2573, 2575, 2580, 2582, 2584, 2586, 2588, 2590, 2593, 2603, 2610, 2635, 2641, 2644, 2647, 2649, 2660, 2665, 2668, 2673, 2676, 2683, 2693, 2696, 2703, 2713, 2715, 2718, 2720, 2723, 2730, 2738, 2745, 2751, 2757, 2765, 2769, 2774, 2778, 2781, 2790, 2792, 2796, 2799, 2804, 2808, 2814, 2825, 2828, 2832, 2836, 2844, 2850, 2862, 2867, 2874, 2877, 2879, 2881, 2883, 2889, 2891, 2900, 2903, 2905, 2907, 2909, 2913, 2916, 2919, 2921, 2923, 2925, 2929, 2930, 2933, 2944, 2954, 2956, 2957, 2961, 2969, 2971, 2979, 2982, 2984, 2986, 2988, 2992, 2995, 2998, 3000, 3002, 3004, 3008, 3011, 3014, 3016, 3018, 3020, 3022, 3029, 3033, 3038, 3042, 3047, 3049, 3053, 3056, 3058, 3061, 3063, 3064, 3067, 3069, 3071, 3077, 3088, 3094, 3100, 3114, 3116, 3120, 3134, 3136, 3138, 3142, 3148, 3161, 3163, 3167, 3180, 3186, 3188, 3189, 3190, 3198, 3203, 3212, 3213, 3217, 3220, 3226, 3232, 3235, 3237, 3239, 3241, 3245, 3249, 3253, 3256, 3260, 3262, 3271, 3274, 3276, 3278, 3280, 3282, 3284, 3286, 3288, 3292, 3296, 3300, 3304, 3305, 3307, 3309, 3311, 3313, 3315, 3317, 3319, 3321, 3329, 3331, 3332, 3333, 3336, 3342, 3344, 3349, 3351, 3354, 3368, 3371, 3374, 3379, 3382, 3389, 3391, 3394, 3396, 3398, 3401, 3404, 3407, 3410, 3412, 3415, 3419, 3421, 3427, 3429, 3430, 3432, 3437, 3439, 3441, 3443, 3445, 3448, 3449, 3451, 3454, 3455, 3458, 3458, 3461, 3461, 3464, 3464, 3466, 3468, 3470, 3472, 3478, 3484, 3487, 3490, 3496, 3498, 3500, 3504, 3506, 3507, 3508, 3510, 3513, 3520, 3526, 3532, 3536, 3538, 3541, 3543, 3546, 3550, 3552, 3555, 3557, 3560, 3577, 3583, 3591, 3593, 3595, 3599, 3602, 3603, 3611, 3615, 3619, 3622, 3623, 3629, 3632, 3635, 3637, 3641, 3646, 3649, 3659, 3664, 3665, 3672, 3675, 3678, 3680, 3683, 3685, 3695, 3709, 3713, 3716, 3718, 3722, 3726, 3729, 3732, 3734, 3738, 3740, 3747, 3754, 3757, 3761, 3765, 3769, 3775, 3779, 3784, 3786, 3789, 3794, 3800, 3811, 3814, 3816, 3820, 3825, 3827, 3834, 3837, 3839, 3841, 3847, 3852, 3855, 3857, 3859, 3861, 3863, 3865, 3867, 3869, 3871, 3873, 3875, 3877, 3879, 3881, 3883, 3885, 3887, 3889, 3891, 3893, 3895, 3897, 3899, 3901, 3903, 3905, 3907, 3909, 3911, 3913, 3915, 3917, 3920, 3922, 3933, 3938, 3940, 3941, 3942, 3943, 3944, 3945, 3959, 3962, 3966, 3972, 3978, 3985, 3988, 3991, 3998, 4003, 4009, 4016, 4022, 4028, 4033, 4039, 4046, 4052, 4058, 4064, 4072, 4078, 4084, 4092, 4099, 4105, 4114, 4121, 4126, 4132, 4139, 4141, 4144, 4146, 4147, 4150, 4155, 4156, 4163, 4169, 4174, 4178, 4181, 4182, 4185, 4191, 4196, 4203, 4217, 4224, 4228, 4237, 4250, 4257, 4261, 4275, 4277, 4278, 4280, 4282, 4283, 4284, 4285, 4287, 4289, 4292, 4303, 4309, 4309, 4319, 4324, 4326, 4329, 4332, 4336, 4339, 4343, 4349, 4355, 4360, 4366, 4371, 4381, 4383, 4389, 4391, 4394, 4396, 4397, 4398, 4401, 4404, 4406, 4412, 4415, 4422, 4425, 4429, 4434, 4439, 4444, 4451, 4455, 4457, 4463, 4465, 4466, 4467, 4468, 4469, 4472, 4474, 4488, 4489, 4490, 4491, 4492, 4493, 4494, 4495, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4505, 4506, 4507, 4508, 4509, 4510, 4520, 4521, 4524, 4530, 4535, 4540, 4546, 4548, 4551, 4553, 4560, 4572, 4577, 4583, 4588, 4592, 4598, 4602, 4605, 4610, 4631, 4633, 4636, 4638, 4644, 4649, 4653, 4660, 4667, 4676 }; #endif #if YYDEBUG != 0 || defined (YYERROR_VERBOSE) static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER", "TYPENAME","SELFNAME","CLASSNAME","OBJECTNAME","PFUNCNAME","SCSPEC","TYPESPEC", "CV_QUALIFIER","CONSTANT","STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE", "DO","FOR","SWITCH","CASE","DEFAULT","BREAK","CONTINUE","RETURN_KEYWORD","GOTO", "ASM_KEYWORD","TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART", "IMAGPART","VEC_STEP","AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE", "CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID", "DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST","CONST_CAST","SCOPE","INTERFACE", "IMPLEMENTATION","END","SELECTOR","DEFS","ENCODE","PUBLIC","PRIVATE","PROTECTED", "PROTOCOL","CLASS","ALIAS","OBJC_STRING","EMPTY","PTYPENAME","NSNAME","'{'", "','","';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'", "MIN_MAX","EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'", "'*'","'/'","'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS", "'~'","HYPERUNARY","PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH", "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL", "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN", "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs", "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef", "@2","extdef","@3","@4","namespace_alias","@5","using_decl","namespace_using_decl", "using_directive","@6","namespace_qualifier","any_id","extern_lang_string","template_header", "@7","template_parm_list","maybe_identifier","template_type_parm","template_template_parm", "template_parm","template_def","template_extdef","template_datadef","datadef", "ctor_initializer_opt","maybe_return_init","eat_saved_input","fndef","constructor_declarator", "@8","@9","@10","@11","fn.def1","component_constructor_declarator","fn.def2", "return_id","return_init","base_init",".set_base_init","member_init_list","member_init", "identifier","notype_identifier","identifier_defn","explicit_instantiation", "@12","@13","@14","@15","@16","@17","@18","@19","begin_explicit_instantiation", "end_explicit_instantiation","template_type","apparent_template_type","self_template_type", ".finish_template_type","template_close_bracket","template_arg_list_opt","template_arg_list", "template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null","xcond", "condition","@20","compstmtend","already_scoped_stmt","@21","nontrivial_exprlist", "nonnull_exprlist","unary_expr",".finish_new_placement",".begin_new_placement", "new_placement","new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas", "notype_unqualified_id","do_id","template_id","object_template_id","unqualified_id", "expr_or_declarator_intern","expr_or_declarator","notype_template_declarator", "direct_notype_declarator","primary","@22","new","delete","boolean.literal", "string","objc_string","nodecls","object","decl","declarator","fcast_or_absdcl", "type_id","typed_declspecs","typed_declspecs1","reserved_declspecs","declmods", "typed_typespecs","reserved_typespecquals","typespec","typespecqual_reserved", "initdecls","notype_initdecls","nomods_initdecls","maybeasm","initdcl","@23", "initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0","@25", "maybe_attribute","attributes","attribute","attribute_list","attrib","any_word", "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline", "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28", "@29","@30","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype", "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype", "named_class_head","@31","unnamed_class_head","class_head","maybe_base_class_list", "base_class_list","base_class","base_class.1","base_class_access_list","opt.component_decl_list", "access_specifier","component_decl_list","component_decl","component_decl_1", "components","notype_components","component_declarator0","component_declarator", "after_type_component_declarator0","notype_component_declarator0","after_type_component_declarator", "notype_component_declarator","enumlist","enumerator","new_type_id","cv_qualifiers", "nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr","protocolrefs","maybe_parmlist", "after_type_declarator_intern","after_type_declarator","direct_after_type_declarator", "nonnested_type","complete_type_name","nested_type","notype_declarator_intern", "notype_declarator","complex_notype_declarator","complex_direct_notype_declarator", "qualified_id","notype_qualified_id","overqualified_id","functional_cast","type_name", "nested_name_specifier","nested_name_specifier_1","typename_sub","typename_sub0", "typename_sub1","typename_sub2","explicit_template_type","complex_type_name", "ptr_to_mem","global_scope","new_declarator","direct_new_declarator","absdcl_intern", "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls", "label_decls","label_decl","compstmt_or_error","compstmt","@32","simple_if", "@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt","@36","@37", "@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48","@49","function_try_block", "@50","@51","try_block","@52","@53","handler_seq","handler","@54","@55","type_specifier_seq", "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr", "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist", "complex_parmlist","defarg","@56","defarg1","parms","parms_comma","named_parm", "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier", "ansi_raise_identifiers","conversion_declarator","operator","operator_name", ".setspecs","objcdef","identifier_list","classdecl","protocoldecl","aliasdecl", "identifier_colon","classdef","@57","@58","@59","@60","@61","@62","@63","@64", "@65","protocoldef","@66","@67","ivar_decl_list","visibility_spec","ivar_decls", "ivar_decl","ivars","ivar_declarator","methoddef","@68","@69","@70","@71","@72", "@73","methodprotolist","@74","methodprotolist2","@75","semi_or_error","methodproto", "@76","@77","@78","@79","start_method_typename","end_method_typename","methodtype", "objc_return_type_mods","methoddecl","optarglist","myxdecls","mydecls","mydecl", "myparms","myparm","optparmlist","@80","unaryselector","keywordselector","selector", "reservedword","keyworddecl","messageargs","keywordarglist","keywordexpr","keywordarg", "receiver","objc_openbracket.expr","@81","objc_closebracket","objcmessageexpr", "selectorarg","keywordnamelist","keywordname","objcselectorexpr","objcprotocolexpr", "objcencodeexpr", NULL }; #endif static const short yyr1[] = { 0, 128, 128, 130, 129, 129, 131, 131, 132, 133, 134, 135, 137, 136, 138, 138, 138, 138, 138, 138, 138, 138, 139, 138, 140, 138, 138, 138, 138, 138, 142, 141, 143, 143, 143, 144, 144, 144, 146, 145, 147, 147, 148, 148, 148, 148, 149, 149, 151, 150, 150, 152, 152, 153, 153, 154, 154, 155, 156, 156, 156, 156, 156, 156, 157, 157, 158, 158, 158, 158, 158, 158, 159, 159, 159, 159, 160, 160, 160, 160, 160, 160, 160, 160, 160, 161, 161, 162, 162, 162, 163, 163, 164, 164, 164, 166, 165, 165, 167, 165, 165, 168, 165, 165, 169, 165, 165, 170, 170, 170, 170, 170, 171, 171, 171, 171, 172, 172, 172, 172, 172, 172, 172, 173, 174, 174, 174, 175, 176, 177, 177, 177, 177, 178, 178, 178, 178, 178, 178, 178, 178, 179, 179, 179, 179, 179, 179, 179, 180, 180, 180, 181, 181, 181, 183, 182, 184, 182, 185, 182, 186, 182, 187, 182, 188, 182, 189, 182, 190, 182, 191, 192, 193, 193, 193, 194, 194, 195, 196, 197, 197, 198, 198, 199, 199, 200, 200, 200, 201, 201, 201, 201, 201, 202, 202, 203, 203, 204, 204, 205, 205, 205, 207, 206, 206, 208, 208, 208, 208, 210, 209, 209, 211, 211, 211, 211, 212, 212, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 214, 215, 216, 216, 217, 217, 217, 217, 218, 218, 219, 219, 219, 219, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 221, 221, 221, 221, 221, 221, 221, 222, 223, 223, 224, 224, 224, 225, 225, 225, 226, 226, 227, 227, 227, 227, 228, 228, 229, 229, 229, 229, 230, 230, 230, 230, 230, 230, 230, 231, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 232, 232, 233, 233, 234, 234, 235, 235, 235, 235, 236, 236, 237, 238, 238, 239, 239, 239, 239, 239, 239, 240, 240, 241, 241, 242, 242, 242, 242, 242, 243, 243, 244, 244, 244, 244, 244, 244, 245, 245, 245, 245, 245, 246, 246, 246, 246, 246, 246, 247, 247, 247, 247, 248, 248, 249, 249, 249, 249, 249, 249, 249, 249, 249, 250, 250, 250, 251, 251, 252, 252, 253, 253, 254, 254, 256, 255, 255, 258, 257, 257, 259, 260, 262, 261, 261, 263, 263, 264, 264, 265, 266, 266, 267, 267, 267, 267, 267, 268, 268, 268, 268, 269, 269, 270, 270, 271, 271, 271, 271, 271, 272, 272, 272, 272, 273, 274, 274, 274, 275, 275, 276, 276, 277, 277, 277, 279, 278, 278, 280, 278, 278, 278, 278, 278, 281, 282, 283, 278, 278, 284, 284, 285, 285, 286, 286, 286, 286, 286, 286, 287, 288, 288, 288, 289, 289, 289, 289, 289, 290, 291, 290, 290, 292, 293, 293, 294, 294, 294, 295, 295, 296, 296, 297, 297, 297, 297, 298, 298, 298, 298, 299, 299, 299, 299, 299, 299, 300, 301, 301, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 303, 303, 303, 303, 303, 303, 303, 303, 303, 304, 304, 304, 305, 305, 305, 306, 306, 307, 307, 308, 308, 309, 309, 309, 309, 310, 310, 311, 311, 311, 312, 312, 313, 313, 314, 314, 314, 315, 315, 316, 316, 317, 318, 319, 319, 320, 320, 320, 320, 320, 321, 321, 322, 322, 322, 322, 322, 322, 323, 323, 323, 323, 323, 323, 323, 324, 324, 325, 325, 325, 326, 327, 327, 328, 328, 328, 328, 328, 328, 329, 329, 329, 329, 329, 329, 330, 330, 330, 330, 330, 330, 331, 331, 332, 332, 333, 333, 334, 334, 334, 335, 335, 335, 336, 336, 336, 337, 337, 337, 337, 338, 338, 339, 339, 339, 339, 340, 340, 340, 340, 341, 341, 341, 341, 341, 341, 342, 343, 343, 343, 344, 344, 345, 346, 346, 346, 346, 346, 346, 346, 347, 347, 348, 348, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 351, 351, 351, 351, 352, 353, 353, 354, 354, 355, 356, 356, 358, 357, 360, 361, 359, 362, 363, 362, 364, 364, 365, 365, 366, 365, 365, 367, 368, 365, 369, 370, 365, 371, 372, 373, 374, 365, 375, 376, 365, 377, 365, 378, 365, 379, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 381, 382, 380, 384, 385, 383, 386, 386, 388, 389, 387, 390, 390, 391, 391, 392, 392, 392, 392, 393, 393, 393, 394, 394, 395, 395, 395, 396, 396, 397, 397, 398, 399, 399, 400, 400, 400, 401, 401, 401, 401, 401, 401, 401, 403, 402, 404, 404, 405, 405, 405, 405, 405, 406, 406, 407, 407, 407, 407, 407, 407, 408, 408, 409, 409, 410, 411, 411, 412, 412, 412, 413, 414, 414, 415, 415, 415, 415, 416, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 418, 419, 419, 419, 419, 419, 419, 419, 420, 420, 421, 422, 423, 424, 424, 426, 427, 425, 428, 425, 429, 430, 425, 431, 425, 432, 425, 425, 433, 425, 425, 434, 425, 425, 436, 435, 437, 435, 438, 438, 439, 439, 439, 440, 440, 440, 441, 441, 441, 442, 442, 442, 443, 443, 443, 445, 446, 447, 444, 448, 449, 450, 444, 451, 452, 451, 453, 453, 453, 454, 453, 455, 455, 457, 458, 456, 459, 460, 456, 461, 462, 463, 464, 464, 465, 465, 465, 465, 465, 465, 466, 466, 467, 467, 468, 468, 468, 468, 469, 469, 469, 470, 470, 471, 471, 472, 472, 473, 472, 474, 475, 475, 476, 476, 476, 476, 476, 476, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 478, 478, 478, 478, 479, 479, 480, 480, 481, 482, 482, 483, 483, 483, 485, 484, 486, 487, 488, 488, 489, 489, 490, 490, 490, 491, 492, 493 }; static const short yyr2[] = { 0, 0, 1, 0, 2, 2, 1, 0, 0, 0, 1, 1, 0, 2, 2, 1, 1, 1, 5, 4, 5, 4, 0, 6, 0, 5, 1, 2, 1, 2, 0, 6, 2, 3, 3, 3, 3, 4, 0, 5, 2, 3, 1, 1, 2, 2, 1, 2, 0, 5, 3, 1, 3, 1, 0, 2, 2, 3, 1, 3, 1, 3, 1, 3, 2, 2, 2, 1, 1, 5, 4, 2, 2, 3, 3, 2, 2, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 0, 1, 2, 0, 1, 4, 3, 3, 0, 8, 5, 0, 9, 6, 0, 8, 5, 0, 9, 6, 2, 2, 1, 2, 1, 6, 4, 6, 4, 2, 1, 2, 2, 1, 2, 1, 2, 2, 4, 2, 3, 0, 0, 1, 3, 2, 3, 1, 4, 2, 4, 2, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 6, 0, 6, 0, 5, 0, 5, 0, 7, 0, 7, 0, 6, 0, 6, 0, 0, 5, 5, 1, 1, 5, 5, 0, 1, 1, 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 0, 1, 1, 0, 7, 1, 1, 3, 4, 3, 0, 3, 1, 3, 3, 3, 3, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 4, 2, 4, 2, 4, 2, 3, 3, 4, 5, 6, 6, 7, 2, 4, 5, 4, 2, 2, 1, 0, 4, 4, 3, 1, 3, 2, 3, 4, 1, 4, 2, 5, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 3, 1, 2, 3, 3, 1, 1, 1, 1, 1, 0, 5, 5, 5, 5, 5, 1, 1, 1, 1, 2, 1, 2, 2, 3, 4, 4, 1, 1, 1, 3, 1, 1, 1, 1, 3, 3, 3, 0, 4, 4, 2, 4, 2, 4, 2, 2, 1, 4, 1, 7, 7, 7, 7, 4, 4, 2, 2, 2, 1, 4, 2, 2, 5, 3, 2, 2, 5, 3, 5, 3, 4, 6, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 0, 2, 2, 3, 3, 3, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 1, 2, 2, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 1, 2, 1, 1, 2, 2, 1, 4, 4, 4, 4, 1, 1, 1, 1, 3, 1, 3, 1, 3, 0, 4, 0, 6, 3, 0, 4, 1, 3, 3, 0, 4, 3, 0, 1, 1, 2, 6, 1, 3, 0, 1, 4, 6, 4, 1, 1, 1, 1, 1, 3, 0, 2, 1, 2, 3, 4, 1, 1, 3, 3, 5, 1, 4, 3, 3, 0, 3, 3, 3, 0, 2, 2, 0, 7, 4, 0, 6, 3, 2, 2, 2, 0, 0, 0, 10, 1, 0, 1, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 3, 2, 3, 1, 0, 3, 2, 2, 1, 1, 0, 2, 3, 1, 4, 1, 3, 1, 1, 4, 4, 2, 2, 3, 3, 0, 1, 3, 2, 4, 5, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 3, 2, 2, 4, 4, 2, 1, 5, 4, 1, 0, 1, 3, 0, 1, 3, 1, 1, 1, 1, 4, 4, 4, 4, 4, 3, 4, 4, 4, 4, 3, 1, 3, 1, 3, 2, 1, 7, 0, 2, 1, 2, 0, 2, 0, 3, 4, 4, 3, 2, 4, 1, 2, 3, 3, 2, 2, 3, 1, 4, 4, 3, 3, 2, 1, 1, 1, 2, 1, 1, 2, 2, 1, 2, 3, 3, 2, 2, 3, 1, 3, 3, 2, 2, 3, 1, 4, 3, 4, 3, 1, 2, 2, 2, 2, 2, 1, 2, 4, 4, 2, 1, 1, 1, 1, 2, 4, 2, 2, 2, 2, 1, 2, 2, 2, 2, 3, 1, 2, 3, 4, 2, 2, 2, 2, 2, 2, 4, 2, 1, 2, 2, 3, 1, 3, 2, 3, 2, 2, 3, 1, 3, 4, 1, 2, 3, 2, 2, 1, 3, 2, 2, 1, 2, 3, 1, 3, 1, 6, 4, 4, 3, 5, 3, 3, 3, 2, 1, 1, 2, 2, 2, 0, 1, 1, 2, 3, 1, 2, 0, 3, 0, 0, 5, 1, 0, 2, 1, 1, 1, 2, 0, 4, 1, 0, 0, 5, 0, 0, 7, 0, 0, 0, 0, 12, 0, 0, 7, 0, 5, 0, 7, 0, 4, 2, 2, 2, 3, 6, 8, 10, 12, 4, 3, 2, 2, 1, 1, 1, 1, 1, 0, 0, 6, 0, 0, 5, 1, 2, 0, 0, 5, 1, 1, 3, 3, 2, 2, 2, 2, 2, 1, 2, 0, 1, 0, 1, 1, 0, 1, 1, 3, 4, 1, 3, 0, 1, 1, 1, 2, 2, 2, 1, 2, 2, 0, 3, 1, 1, 1, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 0, 0, 1, 0, 4, 2, 1, 1, 3, 0, 3, 3, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 3, 2, 2, 4, 4, 3, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 4, 2, 1, 0, 0, 10, 0, 6, 0, 0, 11, 0, 7, 0, 6, 2, 0, 7, 3, 0, 9, 5, 0, 8, 0, 5, 3, 1, 1, 1, 1, 0, 3, 2, 3, 3, 1, 0, 1, 3, 1, 3, 2, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 2, 1, 1, 2, 0, 3, 1, 1, 0, 0, 5, 0, 0, 5, 1, 1, 3, 1, 2, 4, 5, 1, 6, 5, 2, 0, 2, 0, 1, 1, 1, 2, 2, 4, 2, 2, 1, 3, 1, 1, 0, 2, 0, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 3, 3, 2, 1, 1, 1, 2, 1, 3, 2, 1, 1, 1, 0, 3, 1, 3, 1, 1, 1, 2, 2, 1, 1, 4, 4, 4 }; static const short yydefact[] = { 3, 12, 12, 5, 0, 4, 0, 288, 659, 660, 602, 602, 0, 403, 415, 598, 0, 11, 0, 0, 0, 10, 503, 867, 0, 0, 0, 170, 691, 0, 0, 910, 0, 0, 0, 289, 290, 84, 0, 958, 962, 0, 854, 0, 46, 0, 0, 13, 26, 0, 28, 8, 0, 17, 15, 90, 111, 87, 0, 661, 174, 309, 286, 310, 637, 0, 390, 0, 389, 408, 0, 430, 407, 447, 414, 0, 518, 519, 525, 524, 523, 498, 402, 626, 418, 627, 109, 308, 648, 624, 0, 662, 596, 0, 0, 287, 16, 905, 906, 907, 904, 908, 909, 82, 83, 181, 665, 181, 666, 181, 0, 416, 417, 291, 170, 141, 142, 143, 147, 146, 144, 145, 488, 491, 0, 687, 0, 492, 0, 0, 0, 0, 142, 143, 144, 145, 24, 0, 0, 0, 0, 0, 0, 0, 493, 669, 0, 675, 0, 0, 0, 38, 0, 0, 32, 0, 0, 48, 0, 144, 602, 0, 930, 0, 939, 0, 911, 0, 0, 181, 667, 0, 0, 0, 635, 630, 0, 0, 0, 0, 0, 634, 0, 0, 0, 0, 309, 0, 300, 600, 0, 0, 308, 596, 29, 0, 27, 3, 47, 0, 65, 403, 0, 0, 8, 68, 64, 67, 90, 0, 0, 0, 414, 91, 14, 0, 445, 0, 0, 463, 88, 80, 668, 600, 0, 596, 623, 81, 0, 0, 0, 107, 0, 426, 380, 616, 381, 622, 0, 596, 405, 404, 79, 110, 391, 0, 428, 406, 108, 397, 423, 424, 392, 410, 412, 401, 425, 0, 76, 448, 504, 505, 506, 507, 522, 152, 151, 153, 509, 510, 175, 516, 508, 0, 0, 511, 512, 525, 854, 521, 494, 599, 409, 0, 442, 660, 0, 689, 174, 652, 653, 649, 629, 663, 0, 628, 625, 0, 902, 898, 897, 895, 877, 882, 883, 0, 889, 888, 874, 875, 873, 892, 881, 878, 879, 880, 884, 885, 871, 872, 868, 869, 870, 894, 886, 887, 876, 893, 0, 890, 800, 408, 801, 863, 291, 288, 598, 313, 365, 0, 0, 0, 0, 0, 361, 359, 328, 363, 364, 0, 0, 0, 0, 0, 0, 0, 0, 369, 289, 290, 282, 0, 0, 189, 188, 0, 190, 191, 0, 0, 1062, 192, 0, 0, 182, 183, 0, 255, 0, 259, 187, 312, 218, 0, 0, 314, 315, 357, 0, 185, 387, 408, 388, 654, 340, 330, 0, 0, 0, 354, 355, 356, 367, 0, 0, 0, 181, 0, 490, 0, 485, 0, 688, 686, 0, 193, 194, 0, 0, 0, 452, 3, 22, 30, 683, 679, 680, 682, 684, 681, 141, 142, 143, 0, 144, 145, 671, 672, 676, 673, 670, 0, 298, 299, 297, 651, 650, 34, 33, 50, 0, 160, 0, 0, 408, 158, 916, 0, 921, 602, 928, 0, 933, 0, 967, 0, 914, 913, 0, 0, 0, 631, 633, 0, 1015, 1016, 1018, 1019, 1046, 1047, 1036, 1021, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1037, 1038, 1022, 1045, 1040, 1039, 1041, 1043, 1042, 1044, 1017, 0, 982, 0, 959, 989, 1008, 1012, 1020, 1013, 963, 632, 142, 143, 284, 285, 304, 0, 641, 303, 0, 640, 0, 311, 289, 290, 0, 0, 0, 302, 301, 645, 0, 0, 12, 0, 170, 9, 9, 71, 0, 66, 0, 0, 72, 75, 0, 444, 446, 123, 94, 128, 789, 0, 86, 85, 93, 126, 0, 0, 124, 89, 647, 0, 0, 0, 607, 0, 857, 0, 0, 614, 609, 0, 613, 0, 0, 0, 0, 0, 596, 445, 0, 78, 600, 596, 621, 0, 394, 395, 0, 77, 445, 399, 398, 400, 393, 413, 432, 431, 181, 513, 517, 515, 0, 520, 526, 0, 411, 445, 596, 95, 0, 0, 0, 0, 596, 101, 597, 636, 660, 690, 174, 0, 0, 891, 896, 410, 596, 596, 0, 596, 901, 181, 0, 0, 0, 225, 0, 0, 227, 243, 244, 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, 283, 224, 221, 220, 222, 0, 0, 0, 0, 0, 312, 0, 0, 0, 0, 219, 179, 180, 306, 0, 223, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 0, 324, 326, 327, 373, 372, 0, 0, 246, 246, 0, 231, 594, 0, 239, 0, 366, 368, 370, 358, 0, 0, 854, 343, 346, 347, 0, 0, 382, 710, 706, 715, 0, 600, 596, 596, 596, 384, 713, 0, 658, 386, 0, 0, 385, 342, 0, 337, 360, 338, 362, 655, 0, 339, 0, 1052, 0, 1053, 1054, 178, 178, 603, 0, 168, 0, 408, 166, 591, 501, 589, 487, 0, 0, 419, 0, 0, 420, 421, 422, 458, 459, 460, 457, 0, 450, 453, 0, 3, 0, 674, 181, 677, 0, 42, 43, 0, 54, 0, 0, 58, 62, 51, 853, 848, 0, 387, 408, 54, 388, 852, 60, 171, 156, 154, 171, 0, 918, 967, 926, 946, 0, 931, 0, 0, 0, 912, 915, 178, 307, 1051, 0, 0, 985, 0, 408, 0, 993, 1010, 992, 0, 1014, 0, 993, 639, 638, 311, 0, 642, 0, 19, 21, 90, 9, 9, 74, 73, 0, 129, 371, 0, 737, 92, 735, 469, 0, 465, 464, 217, 0, 216, 601, 646, 606, 0, 830, 0, 825, 408, 0, 824, 826, 855, 837, 0, 0, 644, 610, 612, 611, 0, 0, 0, 0, 0, 0, 596, 620, 0, 440, 439, 427, 619, 0, 857, 615, 396, 429, 441, 445, 0, 514, 659, 660, 854, 0, 854, 661, 527, 528, 530, 854, 533, 532, 0, 564, 660, 0, 0, 555, 0, 0, 567, 0, 122, 117, 0, 174, 568, 571, 0, 0, 547, 0, 120, 443, 857, 823, 181, 181, 664, 181, 857, 823, 596, 98, 596, 104, 900, 899, 863, 863, 863, 0, 0, 0, 0, 658, 0, 0, 0, 0, 0, 0, 0, 0, 1072, 1071, 1066, 0, 1067, 1068, 0, 0, 318, 0, 316, 317, 0, 253, 1060, 1059, 1061, 1063, 184, 288, 659, 660, 602, 602, 289, 290, 0, 470, 499, 0, 0, 281, 280, 815, 814, 0, 278, 277, 275, 276, 274, 273, 272, 269, 270, 271, 267, 268, 262, 263, 264, 265, 266, 260, 261, 0, 0, 0, 0, 0, 246, 233, 250, 0, 0, 232, 596, 596, 0, 596, 593, 698, 0, 0, 1064, 0, 0, 0, 0, 345, 0, 349, 0, 351, 0, 0, 709, 708, 701, 705, 704, 853, 407, 0, 0, 724, 0, 0, 857, 383, 857, 711, 596, 823, 600, 710, 706, 0, 600, 0, 596, 0, 407, 0, 0, 0, 0, 1056, 1058, 0, 1065, 0, 1055, 173, 177, 292, 171, 164, 162, 171, 0, 502, 0, 501, 215, 214, 213, 212, 452, 0, 0, 25, 0, 0, 678, 0, 39, 45, 44, 56, 53, 54, 0, 49, 0, 0, 710, 706, 0, 844, 596, 847, 849, 0, 845, 846, 55, 509, 0, 161, 171, 171, 159, 602, 946, 0, 923, 967, 0, 0, 936, 946, 937, 940, 976, 979, 970, 432, 0, 0, 432, 972, 969, 172, 0, 1050, 983, 0, 986, 0, 0, 960, 1009, 823, 1049, 0, 964, 305, 18, 20, 70, 90, 433, 148, 134, 149, 150, 0, 127, 130, 0, 0, 0, 0, 736, 730, 466, 0, 125, 608, 604, 829, 843, 832, 0, 605, 828, 842, 831, 827, 856, 839, 850, 840, 833, 838, 859, 0, 0, 0, 0, 437, 618, 617, 436, 178, 537, 0, 536, 854, 854, 854, 0, 596, 823, 0, 563, 556, 568, 557, 445, 445, 553, 554, 551, 552, 596, 823, 288, 659, 0, 432, 118, 559, 569, 574, 575, 432, 432, 0, 0, 432, 116, 560, 572, 432, 0, 445, 0, 548, 549, 550, 445, 97, 0, 0, 0, 0, 103, 0, 857, 823, 857, 823, 865, 864, 866, 293, 329, 226, 228, 230, 335, 336, 0, 0, 0, 0, 1070, 1073, 0, 1069, 1075, 1074, 317, 320, 0, 0, 0, 256, 254, 0, 321, 323, 325, 0, 0, 0, 0, 234, 252, 0, 0, 695, 693, 0, 696, 600, 240, 0, 242, 0, 181, 352, 0, 0, 0, 702, 707, 703, 714, 596, 723, 721, 722, 712, 857, 0, 719, 0, 0, 656, 657, 710, 706, 0, 0, 341, 1057, 169, 171, 171, 167, 592, 590, 489, 0, 451, 449, 288, 0, 23, 31, 685, 57, 52, 59, 63, 0, 709, 705, 602, 710, 706, 0, 407, 624, 0, 596, 711, 61, 157, 155, 934, 0, 922, 946, 0, 943, 944, 945, 929, 946, 951, 948, 903, 903, 0, 0, 967, 0, 0, 432, 432, 0, 971, 984, 987, 1008, 0, 0, 903, 0, 998, 994, 996, 0, 0, 1011, 1048, 0, 69, 0, 132, 0, 136, 0, 138, 0, 140, 0, 790, 0, 205, 738, 0, 731, 732, 0, 467, 710, 706, 0, 312, 0, 654, 851, 0, 0, 860, 861, 0, 0, 0, 0, 0, 0, 434, 176, 0, 0, 0, 539, 538, 531, 857, 0, 0, 558, 463, 463, 857, 0, 0, 0, 445, 445, 0, 445, 445, 0, 445, 0, 546, 495, 0, 463, 596, 295, 294, 296, 596, 100, 0, 106, 0, 0, 0, 0, 0, 472, 0, 471, 258, 279, 248, 247, 245, 235, 0, 249, 251, 694, 692, 699, 697, 0, 241, 0, 0, 344, 348, 350, 857, 717, 596, 718, 165, 163, 486, 0, 454, 456, 0, 709, 705, 710, 706, 0, 596, 629, 711, 967, 919, 0, 927, 0, 952, 952, 947, 932, 0, 977, 980, 973, 991, 988, 1008, 729, 1002, 0, 1003, 999, 1000, 961, 965, 133, 131, 0, 0, 0, 0, 461, 0, 0, 288, 659, 660, 739, 752, 755, 758, 763, 0, 0, 0, 0, 0, 0, 0, 0, 289, 784, 792, 0, 811, 788, 787, 786, 0, 747, 0, 0, 408, 0, 726, 745, 751, 725, 746, 785, 0, 733, 468, 0, 657, 841, 835, 836, 834, 0, 858, 438, 0, 534, 535, 529, 113, 596, 544, 562, 566, 115, 596, 445, 445, 583, 463, 288, 659, 0, 570, 576, 577, 432, 432, 463, 463, 0, 463, 573, 482, 561, 857, 857, 596, 596, 0, 0, 0, 0, 0, 0, 236, 237, 700, 353, 294, 720, 857, 0, 709, 705, 0, 711, 0, 967, 924, 0, 955, 949, 953, 950, 938, 0, 0, 990, 710, 706, 0, 1006, 596, 1007, 0, 1004, 135, 137, 139, 797, 791, 795, 0, 734, 208, 804, 806, 807, 0, 0, 743, 0, 0, 0, 770, 772, 773, 774, 0, 0, 0, 0, 0, 0, 0, 805, 0, 379, 812, 0, 748, 377, 0, 378, 0, 0, 0, 0, 206, 728, 727, 749, 783, 782, 317, 862, 435, 857, 545, 857, 582, 579, 581, 0, 0, 445, 445, 445, 578, 580, 565, 0, 96, 102, 857, 857, 331, 332, 333, 334, 473, 0, 238, 716, 455, 710, 706, 0, 0, 935, 0, 967, 957, 0, 0, 975, 974, 978, 981, 0, 709, 705, 710, 706, 0, 596, 711, 0, 1001, 0, 796, 462, 197, 0, 740, 753, 742, 0, 0, 0, 0, 0, 766, 0, 775, 0, 781, 40, 145, 35, 145, 0, 36, 793, 0, 375, 376, 0, 0, 0, 374, 207, 743, 112, 114, 445, 445, 588, 463, 463, 484, 0, 483, 478, 99, 105, 595, 407, 920, 0, 956, 954, 709, 705, 711, 1005, 0, 798, 204, 0, 408, 0, 743, 0, 756, 744, 730, 809, 759, 0, 0, 0, 0, 771, 780, 41, 37, 0, 0, 750, 587, 585, 584, 586, 0, 0, 497, 925, 0, 0, 0, 198, 432, 741, 209, 754, 211, 0, 810, 0, 808, 764, 768, 767, 794, 816, 0, 481, 480, 474, 87, 90, 802, 803, 799, 445, 730, 195, 0, 0, 201, 0, 200, 743, 0, 0, 0, 817, 818, 776, 0, 479, 0, 210, 0, 757, 760, 765, 769, 0, 816, 0, 0, 477, 0, 476, 202, 196, 0, 0, 0, 777, 819, 475, 0, 0, 820, 0, 0, 203, 761, 821, 0, 778, 0, 0, 0, 762, 822, 779, 0, 0, 0 }; static const short yydefgoto[] = { 1989, 539, 2, 540, 199, 855, 372, 215, 3, 4, 47, 792, 421, 1616, 793, 936, 1617, 1618, 441, 1742, 797, 51, 937, 450, 803, 1129, 804, 805, 806, 53, 206, 207, 54, 558, 218, 214, 55, 56, 951, 1291, 957, 1293, 57, 939, 940, 219, 220, 559, 862, 1198, 1199, 166, 1200, 269, 58, 1151, 1150, 819, 816, 1371, 1370, 1109, 1106, 158, 1149, 59, 271, 60, 1103, 676, 373, 374, 375, 376, 667, 1938, 1823, 1940, 1878, 1973, 1454, 1914, 1935, 415, 1089, 377, 1528, 1038, 715, 1045, 378, 379, 416, 381, 406, 62, 290, 798, 521, 188, 63, 64, 382, 670, 383, 384, 385, 386, 387, 560, 388, 1620, 603, 740, 389, 1621, 66, 252, 809, 390, 253, 643, 254, 232, 245, 70, 216, 604, 1643, 903, 1476, 233, 246, 71, 614, 904, 72, 73, 788, 789, 790, 1593, 565, 1007, 1008, 1929, 1930, 1905, 1861, 1780, 74, 776, 409, 612, 1671, 1862, 1318, 1112, 75, 76, 77, 78, 79, 277, 80, 81, 279, 922, 923, 924, 925, 944, 1278, 945, 946, 947, 1263, 1273, 1264, 1661, 1265, 1266, 1662, 1663, 773, 774, 716, 1078, 392, 568, 1076, 111, 225, 584, 577, 235, 83, 84, 85, 174, 175, 191, 87, 154, 393, 394, 395, 89, 396, 91, 927, 145, 146, 147, 619, 127, 92, 397, 1050, 1051, 1073, 1068, 743, 1624, 1433, 1455, 1456, 1457, 866, 1626, 1205, 1627, 1727, 1881, 1826, 1827, 1628, 1629, 1851, 1728, 1882, 1729, 1916, 1730, 1918, 1967, 1983, 1731, 1942, 1891, 1943, 1832, 561, 863, 1591, 1630, 1745, 1896, 1719, 1720, 1818, 1909, 1880, 1876, 1631, 1887, 1748, 1015, 1945, 1946, 1947, 1981, 883, 1074, 1225, 1468, 1639, 885, 886, 887, 1221, 888, 182, 1223, 890, 1470, 1471, 637, 94, 95, 1567, 96, 165, 97, 98, 99, 161, 100, 1154, 1696, 822, 1406, 1800, 1157, 824, 1161, 1562, 101, 1419, 464, 1158, 1412, 1159, 1417, 1700, 1701, 102, 178, 841, 1437, 179, 847, 1440, 828, 829, 1171, 1424, 1806, 1172, 1420, 1704, 1421, 1705, 508, 1177, 836, 840, 509, 1181, 1434, 1435, 1436, 1713, 1714, 843, 1183, 510, 511, 512, 513, 514, 761, 762, 1098, 763, 997, 398, 672, 1055, 399, 983, 984, 985, 400, 401, 402 }; static const short yypact[] = { 129, 337,-32768,-32768, 7200,-32768, 219, 285, 260, 335, 330, 330, 360, 424,-32768,-32768, 1861,-32768, 419, 429, 479, -32768,-32768,-32768, 1676, 814, 1765, 540,-32768, 1225, 1225, -32768, 1371, 1371, 1371, 553, 664,-32768, 6142,-32768,-32768, 6142,-32768, 2534,-32768, 7200, 529,-32768,-32768, 590,-32768, 46, 2657,-32768,-32768, 547, 628, 665, 652, 673,-32768, -32768,-32768,-32768, 125, 3271,-32768, 8256,-32768, 1172, 189, -32768, 712,-32768,-32768, 2452, 515,-32768, 672,-32768,-32768, 702, 4104,-32768,-32768,-32768, 1284,-32768,-32768,-32768, 2672, -32768,-32768, 731, 5019, 689,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768, 14357,-32768, 14357,-32768, 14357, 1371, -32768,-32768,-32768,-32768,-32768, 260, 335,-32768,-32768, 553, 715, 668, 723, 673,-32768, 1066,-32768, 731, 14465, 14465, 711,-32768,-32768,-32768,-32768,-32768, 532, 765, 718, 738, 749, 767, 776,-32768,-32768, 1462,-32768, 1022, 260, 335, -32768, 553, 715,-32768, 514, 888, 761, 8813,-32768, 1043, 1371, 522, 1371, 823, 739,-32768, 772, 1371, 14357,-32768, 14357, 6359, 8057,-32768,-32768, 2803, 873, 8498, 8498, 8057, -32768, 2108, 8131, 8131, 2534, 733, 735,-32768, 780, 453, 793, 796,-32768,-32768, 123,-32768, 803,-32768, 2944,-32768, -32768, 540, 4197, 840,-32768,-32768,-32768, 547, 8754, 9033, 805, 861,-32768,-32768, 863, 712, 979, 167, 336, 921, -32768,-32768, 860, 135,-32768,-32768,-32768, 2744, 2744, 4190, 1284, 887,-32768,-32768, 317,-32768,-32768, 3298,-32768,-32768, -32768,-32768,-32768, 1172, 1017,-32768, 712, 1284,-32768,-32768, -32768, 2583, 1172,-32768, 712,-32768, 8754,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768, 914,-32768, 673, -32768, 712, 1525, 2213,-32768,-32768, 672,-32768,-32768,-32768, -32768, 1535, 731,-32768, 464, 2131,-32768, 196,-32768,-32768, -32768,-32768,-32768, 8908,-32768,-32768, 674,-32768, 905, 928, -32768,-32768,-32768,-32768, 932,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768, 894,-32768,-32768, 1535, 4104, 922,-32768,-32768, 925,-32768,-32768, 15221, 15329, 15437, 15437, 15545,-32768,-32768,-32768,-32768,-32768, 934, 951, 961, 963, 972, 973, 988, 1007,-32768, 1099, 715, 14573, 1371, 15437,-32768,-32768, 15437,-32768,-32768, 15437, 11288,-32768, -32768, 15437, 401, 1005,-32768, 15437,-32768, 14681,-32768, 9643, 206, 1863, 6998, 15653,-32768, 137, 1029, 2237,-32768, 1210, 2116, 9380,-32768, 217,-32768, 709, 2461, 10618,-32768,-32768, -32768,-32768, 401, 401, 485, 14357, 8813,-32768, 1371, 993, 1371,-32768,-32768, 1025, 1054, 15981, 1032, 1037, 1040, 3607, 803,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 765, 718, 738, 1371, 749, 767, 1076, 776,-32768, 1084,-32768, 754, 260, 335,-32768,-32768,-32768,-32768,-32768,-32768, 15814, -32768, 8754, 15905, 1771,-32768,-32768, 1371, 1097, 330,-32768, 1371, 1101, 1371, 1120, 1371,-32768,-32768, 1115, 401, 880, -32768,-32768, 783,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768, 357,-32768, 9610,-32768,-32768, 10154, 1126,-32768,-32768,-32768,-32768, 1117, 1119,-32768,-32768, -32768, 8057,-32768,-32768, 8057,-32768, 1088,-32768,-32768,-32768, 453, 453, 453,-32768,-32768,-32768, 8908, 109, 1109, 1131, -32768,-32768,-32768,-32768, 8813,-32768, 1122, 1142,-32768,-32768, 123,-32768, 712,-32768,-32768,-32768,-32768, 163,-32768,-32768, -32768,-32768, 12007, 14573,-32768,-32768,-32768, 14573, 1143, 1192, -32768, 10343, 127, 7627, 3212,-32768,-32768, 3212,-32768, 4730, 4730, 4190, 9211, 1123,-32768, 712, 8754,-32768, 1146,-32768, -32768, 5523, 2583, 1172, 8754,-32768, 712,-32768,-32768, 712, 2583,-32768, 1257,-32768, 14357, 914,-32768,-32768, 1525,-32768, 1879, 3726, 1535, 712,-32768,-32768, 1198, 1205, 1235, 1212, -32768,-32768,-32768,-32768, 579,-32768, 284, 1178, 1182,-32768, -32768, 1535,-32768,-32768, 1051,-32768,-32768, 14357, 14573, 925, 11288,-32768, 297, 11288,-32768,-32768,-32768, 11288,-32768, 14465, 10966, 10966, 10966, 10966, 10455, 10966, 1371, 16026,-32768,-32768, -32768,-32768, 1199, 14789, 14789, 11288, 1203, 107, 1207, 1263, 1217, 14897,-32768,-32768,-32768,-32768, 14357,-32768, 12119, 11288, -32768, 14573, 14573, 12231, 14573, 14573, 14573, 14573, 14573, 14573, 14573, 14573, 14573, 14573, 14573, 14573, 14573, 14573, 14573, 14573, 14573, 14573, 14573,-32768, 14573,-32768,-32768,-32768,-32768,-32768, 14573, 14573,-32768,-32768, 7773, 363, 670, 12911,-32768, 4004, -32768,-32768,-32768,-32768, 1294, 2131, 1346, 381, 465, 542, 2050, 873,-32768, 7936, 7936,-32768, 9155, 1238, 1253, 1316, -32768,-32768, 204, 13493, 1491,-32768, 1165, 731,-32768,-32768, 14573,-32768,-32768,-32768,-32768,-32768, 924, 689, 14573, 1292, 1252, 10618,-32768,-32768,-32768,-32768, 401,-32768, 8754, 2024, -32768, 1304, 1319,-32768,-32768, 1371, 1076,-32768, 12579, 12691, -32768,-32768,-32768,-32768,-32768,-32768,-32768, 246,-32768, 1282, 1270, 803, 754, 1341, 14357,-32768, 1323,-32768,-32768, 888, 1663, 1361, 648, 1324, 1325,-32768,-32768, 3997, 9033, 3997, 6630, 2452, 6340,-32768, 1329,-32768,-32768,-32768,-32768, 1286, -32768, 1120, 1337,-32768, 1290,-32768, 990, 1376, 4362,-32768, -32768,-32768,-32768,-32768, 10966, 1371,-32768, 1315, 9584, 9884, 1365, 1432,-32768, 1126,-32768, 357, 1365,-32768,-32768, 1326, 1328,-32768, 1372,-32768,-32768, 547,-32768,-32768,-32768,-32768, 115, 610, 1375, 1263,-32768,-32768,-32768,-32768, 11400, 16026, -32768, 1054, 1333, 15981,-32768,-32768,-32768, 1336,-32768, 1348, 470, 7317, 1349,-32768, 182, 5805, 1381, 1397, 571,-32768, -32768,-32768,-32768, 3212, 3212, 6099, 6099, 9211, 1165,-32768, -32768, 5523,-32768, 1400,-32768,-32768, 1354, 127,-32768, 2583, -32768,-32768, 712, 1401,-32768, 718, 738,-32768, 1385,-32768, 776, 1420,-32768,-32768, 428,-32768,-32768, 1480,-32768, 659, 1028, 1394,-32768, 14573, 6911,-32768, 6911, 247, 247, 344, 591, 5075, 8549, 90, 5596,-32768, 311, 247,-32768, 127, 15822, 14357, 14357,-32768, 14357, 127, 15822,-32768,-32768,-32768, -32768,-32768,-32768, 1402, 1402, 1402, 401, 1380, 1395, 13925, 1316, 1398, 1409, 1413, 1415, 1430, 1434, 1447, 1456,-32768, -32768, 1471, 1431, 10455,-32768, 1433, 1435,-32768, 1437,-32768, -32768, 1439,-32768, 292,-32768, 635,-32768,-32768, 1478, 327, 900, 59, 192, 445, 434, 1487,-32768, 1492, 364, 1448, 16026, 16026,-32768,-32768, 1497, 6240, 4786, 7399, 9708, 5567, 5619, 3804, 2553, 2553, 2553, 2947, 2947, 1490, 1490, 1127, 1127, 1127,-32768,-32768, 1453, 1455, 1454, 14573, 14465,-32768, 363,-32768, 12007, 14573,-32768,-32768,-32768, 14573,-32768,-32768, 1470, 15437, 1465,-32768, 15437, 1489, 1512, 1555,-32768, 14573, -32768, 14573,-32768, 14573, 1414, 8383,-32768,-32768, 8383,-32768, 102, 1414, 1483, 1484,-32768, 1495, 10966, 127,-32768, 127, 9648,-32768, 15822, 1498, 13709, 13709, 6501, 1238, 1500, 14681, 1502, 7934, 3422, 2461, 1173, 1504,-32768,-32768, 14573,-32768, 1292,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 14573, 1371, 1486, 1319,-32768, 16026,-32768, 16026, 3607, 1505, 15005, -32768, 1494, 1540,-32768, 401,-32768,-32768,-32768,-32768,-32768, 3412, 15814,-32768, 10966, 14357, 3403, 3403, 4490,-32768,-32768, -32768,-32768, 3298,-32768,-32768,-32768, 1164, 14573,-32768,-32768, -32768,-32768, 330,-32768, 1573,-32768, 1120, 538, 2329,-32768, -32768,-32768,-32768,-32768,-32768,-32768, 1257, 3271, 8256, 1257, 812,-32768,-32768, 1315,-32768,-32768, 15765,-32768, 1315, 10682, -32768,-32768, 15822,-32768, 1371,-32768,-32768,-32768,-32768,-32768, 547,-32768, 765,-32768, 749, 767, 14573, 1559,-32768, 691, 698, 734, 1263,-32768, 117,-32768, 154,-32768,-32768,-32768, -32768,-32768,-32768, 13601,-32768,-32768,-32768,-32768,-32768,-32768, -32768, 1397, 1557,-32768,-32768,-32768, 10966, 498, 498, 1041, -32768,-32768,-32768, 1560,-32768,-32768, 14465,-32768,-32768,-32768, -32768, 1276,-32768, 15822, 1640, 16026,-32768, 3118,-32768, 712, 712,-32768,-32768,-32768,-32768,-32768, 15822, 505, 952, 14573, 1257,-32768, 1572,-32768,-32768,-32768, 548, 856, 2672, 873, 911, 247, 1576,-32768, 1048, 1575, 712, 5721,-32768,-32768, -32768, 712,-32768, 1533, 401, 401, 401,-32768, 1534, 127, 15822, 127, 15822,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768, 1551, 1554, 1566, 1567,-32768,-32768, 1471, -32768,-32768,-32768, 1326,-32768, 12007, 11526, 1539,-32768,-32768, 14573,-32768,-32768,-32768, 1552, 1562, 1564, 10966,-32768,-32768, 1568, 138, 410, 410, 1570, 410,-32768,-32768, 15437,-32768, 1668, 14357,-32768, 1569, 1574, 1579,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768, 127, 1582,-32768, 1580, 7934, -32768,-32768, 3475, 3475, 5280, 3597,-32768,-32768,-32768,-32768, -32768,-32768, 16026,-32768,-32768, 1587,-32768,-32768, 387, 1589, -32768,-32768,-32768,-32768,-32768,-32768,-32768, 4695, 3833, 3833, 330, 4884, 4884, 4490, 6649, 159, 3298,-32768, 5165, 9643, -32768,-32768,-32768, 559,-32768,-32768, 1631,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768, 4104, 1618, 630, 1120, 8498, 8498, 1257, 1257, 2944,-32768,-32768,-32768, 10154, 15765, 1623, 1638, 10059,-32768,-32768, 15941, 10727, 163,-32768,-32768, 163, -32768, 1594,-32768, 610,-32768, 14573,-32768, 14573,-32768, 14573, -32768, 1371,-32768,-32768, 11064, 1684,-32768, 11652,-32768, 13817, 13817, 7089, 175, 1600, 198,-32768, 12007, 11778,-32768,-32768, 457, 3080, 3080, 1599, 1599, 12007,-32768,-32768, 1601, 1602, 1879,-32768,-32768,-32768, 127, 1605, 1608,-32768, 1643, 1643, 127, 1615, 14573, 14573, 10725, 712, 7515, 712, 712, 1267, 712, 9230,-32768,-32768, 5878, 1643,-32768,-32768, 1683,-32768, -32768,-32768, 1617,-32768, 1620, 14573, 14573, 14573, 14573,-32768, 1664,-32768,-32768, 16026,-32768,-32768,-32768, 622, 1564,-32768, -32768,-32768,-32768,-32768,-32768, 1619,-32768, 1706, 401,-32768, -32768,-32768, 127,-32768,-32768,-32768,-32768,-32768,-32768, 14573, -32768,-32768, 6649, 3833, 3833, 6186, 6186, 5429,-32768, 201, 5165, 1120,-32768, 804,-32768, 2857, 8491, 8491,-32768,-32768, 1700,-32768,-32768,-32768,-32768,-32768, 10154,-32768,-32768, 2953, -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1637, 1639, 1641, 1650,-32768, 1189, 480, 1686, 971, 1030,-32768,-32768,-32768, -32768,-32768, 14573, 1693, 1697, 1698, 14033, 1100, 1371, 827, 632,-32768,-32768, 14141, 1764,-32768,-32768,-32768, 1701,-32768, 8319, 8680, 8887, 6764,-32768,-32768, 1758,-32768,-32768,-32768, 13036,-32768,-32768, 1654, 1293,-32768,-32768,-32768,-32768, 10966, -32768,-32768, 12007,-32768,-32768,-32768,-32768,-32768, 1714,-32768, -32768,-32768,-32768, 10725, 10725,-32768, 1643, 764, 1058, 14573, -32768,-32768,-32768, 1257, 1257, 1643, 1643, 579, 1643,-32768, -32768,-32768, 127, 127,-32768,-32768, 1667, 1670, 1671, 1673, 12007, 14573,-32768, 622,-32768,-32768,-32768,-32768, 127, 1675, 4245, 4245, 1165, 5249, 1740, 1120,-32768, 14573, 1723, 1728, -32768, 1728,-32768, 116, 116,-32768, 4069, 4069, 6009,-32768, -32768,-32768, 1202,-32768,-32768,-32768,-32768,-32768, 1650,-32768, 1371,-32768,-32768,-32768,-32768,-32768, 740, 740, 1263, 1699, 1705, 9768,-32768,-32768,-32768,-32768, 1741, 14573, 1744, 1736, 1775, 2245, 2297,-32768, 1263,-32768,-32768, 1712,-32768,-32768, 1239,-32768, 1269, 14249, 1278, 491,-32768,-32768,-32768,-32768, -32768,-32768, 221,-32768,-32768, 127,-32768, 127,-32768,-32768, -32768, 14573, 14573, 10725, 712, 712,-32768,-32768,-32768, 10829, -32768,-32768, 127, 127,-32768,-32768,-32768,-32768,-32768, 1716, -32768,-32768,-32768, 7359, 7359, 9350, 9465,-32768, 1773, 1120, 16026, 14573, 8491,-32768,-32768,-32768,-32768, 8045, 5479, 5479, 7498, 7498, 6009,-32768, 7654, 2953,-32768, 1737,-32768,-32768, -32768, 14465,-32768,-32768,-32768, 1826, 13384, 11176, 14465, 14573, -32768, 13160,-32768, 1774,-32768,-32768, 1794,-32768, 1775, 2245, -32768,-32768, 123,-32768,-32768, 15113, 15113, 11895,-32768,-32768, 1263,-32768,-32768, 10725, 10725,-32768, 1643, 1643,-32768, 12803, -32768,-32768,-32768,-32768,-32768, 9465,-32768, 1792, 16026,-32768, 5479, 5479, 7654,-32768, 15892,-32768,-32768, 1730, 460, 8754, 1263, 13272,-32768,-32768, 117,-32768,-32768, 1779, 1732, 16004, 13160,-32768,-32768,-32768,-32768, 1650, 106,-32768,-32768,-32768, -32768,-32768, 1735, 15936, 1746,-32768, 1745, 1748, 1263,-32768, 1257,-32768,-32768,-32768,-32768, 742,-32768, 12343,-32768,-32768, -32768,-32768, 1650, 1847, 1785,-32768,-32768,-32768, 665, 547, -32768,-32768,-32768, 712, 117,-32768, 14573, 1798,-32768, 1803, -32768, 1263, 13160, 1776, 57, 1817,-32768,-32768, 218,-32768, 1813,-32768, 1770,-32768,-32768,-32768,-32768, 14573, 1847, 1819, 1847,-32768, 163,-32768,-32768,-32768, 12455, 1772, 333,-32768, -32768,-32768, 12007, 1777,-32768, 1886, 1824,-32768,-32768,-32768, 503,-32768, 13272, 1892, 1832,-32768,-32768,-32768, 1909, 1917, -32768 }; static const short yypgoto[] = {-32768, 1920,-32768, -339, 1717, -467, 7, -1, 1925,-32768, 1877, -32768,-32768, 172,-32768, 273,-32768, 308,-32768, 185, 1136, 47, 8,-32768,-32768, -750,-32768,-32768, 798, 55, 1729, 1386, -175, -853, 11, -203, 19, -27,-32768,-32768,-32768, -32768,-32768, 994,-32768,-32768,-32768,-32768,-32768,-32768, 500, 3896,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768, 1831, -773, 7381, 1674, -70, -711, -280, -58, 1778, -619,-32768, 407,-32768, 220,-32768, -1695,-32768, -1576, -37,-32768, 1874, -198, -304, 426, -644,-32768, -976, 9191, 682, 7170, 6084, 1625, -360, -72, -99, 1517, -173, -67, 29,-32768,-32768,-32768, -368,-32768, -194,-32768,-32768,-32768, -1528, 27, -382, 8860, 331, 1808, -156, 21, 613, -240, -4, -159, -196, -188, -5, 121, -432,-32768, -423,-32768, -32768,-32768,-32768,-32768, 502, 1900, 896,-32768, 844,-32768, -32768, -1394, -314, 1094,-32768,-32768,-32768,-32768,-32768, -50, -32768,-32768,-32768,-32768,-32768,-32768, 864, -417,-32768,-32768, -32768,-32768,-32768,-32768,-32768, 1703,-32768, 508, 741,-32768, -32768,-32768, 703, -860,-32768,-32768,-32768,-32768,-32768,-32768, 1052,-32768, 482, 1215, 875, 1279, 2916, 249, 51, -195, 10, 1761, 1687, 190,-32768, -556, 1327, 15, 399, 94, -157, 927, -95, 6859, 1614,-32768, 8749, 3052, -76, -18, -118,-32768, 1859, -65,-32768, 8213, 4612, -322,-32768, 3585, 920,-32768,-32768, -1322,-32768,-32768, 552, -1373, -526,-32768, -32768,-32768,-32768, -1741,-32768, -1483, -1709,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768, 60,-32768,-32768,-32768,-32768,-32768, 110, -1635,-32768, -32768, -51,-32768,-32768,-32768,-32768, -1724, 52,-32768, 49, -32768, -764, -492, 791,-32768,-32768,-32768,-32768, -442,-32768, -435, -151,-32768, 1068, 375,-32768, 550,-32768, -241, -1076, -32768, 35,-32768,-32768,-32768, 1986,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -1048, -32768, 605,-32768, 451, 222,-32768,-32768,-32768,-32768,-32768, -32768,-32768, -784,-32768,-32768,-32768, 315, 851,-32768,-32768, -32768,-32768, -437, -779, 1177,-32768, -163, 1179,-32768,-32768, 592,-32768, 212, -1339,-32768, -1090, -1075, -364,-32768, -493, -32768,-32768, 930, 1268,-32768, 1652,-32768, 1280,-32768,-32768, -32768, 1055,-32768,-32768, -380 }; #define YYLAST 16126 static const short yytable[] = { 69, 538, 212, 46, 594, 546, 722, 144, 814, 745, 1203, 45, 52, 547, 293, 815, 515, 535, 845, 256, 288, 112, 548, 291, 542, 67, 523, 526, 569, 755, 440, 125, 867, 812, 760, 642, 645, 754, 1155, 649, 243, 69, 613, 333, 46, 620, 1152, 211, 69, 403, 293, 404, 45, 52, 1104, 926, 446, 447, 998, 203, 52, 448, 1146, 244, 1584, 1329, 67, 1585, 167, 835, 1039, 208, 189, 210, 681, 1247, 856, 1249, 282, 293, 884, 439, 791, 445, 1819, 1279, 1746, 1427, 593, 1575, 331, 632, 231, 599, 602, 1650, 1651, 601, 86, 204, 293, 391, 1428, 391, 1888, 391, 1404, 205, 295, 291, 1898, 469, 1672, 1418, 1583, 224, 1211, 1804, 1884, 721, 197, 1173, 721, 764, 765, 391, 391, 611, 721, -1, 1276, 451, -600, 1625, 1889, 1959, 338, -147, 623, 86, 1912, 1759, 570, 412, 992, 405, 86, 844, 1762, 110, 721, 632, 1452, 212, 454, 905, 758, 704, 722, 236, 198, 248, 293, 911, 864, 391, -622, 391, 555, 355, 458, 291, 355, 1915, 912, -600, 48, 1212, 355, 453, 1213, 1960, -309, 243, 1924, 571, 355, 1284, 733, 832, 833, 949, 1805, 1289, 256, 69, 1216, 293, 211, 69, 355, 1956, 256, 256, 889, -648, 244, 284, -621, -622, 203, 52, 189, 189, 189, 1277, 705, 48, 543, 1962, 67, 293, 208, 1941, 210, -309, 993, 627, -311, 1458, 1925, -302, 256, 853, -600, 223, 231, 865, 1706, 1192, 224, -371, 1453, 1974, 572, 556, 621, 970, -648, 871, 204, -621, 455, 82, 1082, 234, 704, 1217, 205, 189, 1218, 971, 1531, 1771, 257, 258, 471, 750, -622, -622, -146, -311, 1777, 1778, 1915, 1779, 17, 49, 557, 1459, -432, 256, 110, -622, -309, -309, 224, 173, 1819, 729, 180, 982, -371, 86, 82, 103, 556, 86, 295, -302, 1886, 82, 1758, 236, 248, 622, 1201, -648, -648, 1917, -621, -621, 50, 1083, 1084, 705, 728, 106, 49, 1357, 293, 1118, -648, -432, -600, -621, 751, -432, 282, 557, -311, -311, 717, 1369, 960, 65, 1372, -2, 1204, 1576, 1568, 256, -602, 332, 104, -305, 799, 733, 767, 1892, 107, 236, 586, 50, 1577, 1580, 760, 861, 1564, 1952, 115, 132, 133, 118, 119, 391, 873, -600, 794, 597, 1119, 1252, -432, 1407, 880, 105, 65, 1401, 1402, 331, 768, 1384, 110, 209, 106, 1131, 562, 1280, 282, 755, 1190, 1191, 108, 961, 907, 1426, 1328, 293, 1101, 234, 1429, -602, 391, 770, 256, -142, 970, 82, 1922, 835, 535, 1976, 295, 1042, 149, 150, 563, 107, 1253, 1438, 110, 623, 1254, 523, 526, 109, -600, 589, 453, 134, 135, 1059, 522, 525, 599, 602, 1281, 1240, 910, 779, 181, 968, 599, 1043, 814, 564, 811, 234, 82, 244, 113, 1222, 82, 1122, 602, 1255, 335, 1977, 802, 884, 1957, 12, 1550, 1901, 1902, 884, 507, 28, 1241, 823, 250, 251, 1044, 602, 995, 114, 16, 575, 578, 817, 1486, 722, 152, 153, 1211, 620, 20, 1105, 1319, 452, 1060, 170, 674, 1492, 675, 212, 1046, 23, 827, 22, 745, 771, 8, 9, 839, 226, 1047, 1035, 25, 281, 733, 1551, -145, 1036, 615, 1061, 1387, 335, 442, 443, 1048, 108, 12, -144, 1478, 529, 530, 1513, 129, 1515, 65, 20, 1640, 293, 209, 169, 414, 418, 130, 531, 211, 69, 941, 256, 256, 1212, 236, 914, 1213, 532, -853, 256, 1683, 1096, 109, 28, 1578, 42, 23, 293, 465, 1097, 533, 256, 858, 286, 210, 1578, 882, 970, 152, 153, 472, 616, 1062, -380, 766, 17, 1984, 516, 967, 1641, 256, 1493, 1472, 938, 35, 359, 131, 275, 1972, 884, 1063, 276, 1473, 105, 460, 1547, 1548, 632, 456, 391, 1408, 1409, 1410, 1723, 422, 1474, 69, 189, 189, 189, 423, 1193, 916, 917, 1850, 68, 42, 935, 1310, 1226, -380, 1408, 1409, 1410, -380, 1985, 181, 958, 157, 461, 332, 943, 391, 1571, 108, 391, 195, 86, 391, 1256, 234, 169, 391, 1279, 391, 839, 839, 839, 839, 1064, 839, 1189, 1166, 293, 82, 17, 68, -380, 1194, -432, 391, 1411, 717, 68, 196, 28, 471, 109, 213, 293, 1042, 391, 149, 150, 391, 1451, 8, 625, 1227, 236, 1195, 1196, 1563, -418, 926, 1297, 959, 236, 814, 884, 217, 624, 1408, 1409, 1410, 815, 799, 813, 1257, 1127, 1043, -432, -432, 1128, 948, 330, 1791, 1243, 1744, 331, 335, 8, 9, 812, 108, 12, 552, 1197, 256, 170, 169, 1132, 913, 411, 755, 28, 221, 1330, 222, 1044, 1682, 811, 754, 8, 9, 1125, 769, 1133, 882, 1445, 152, 153, -418, 20, 152, 153, 1447, 109, 278, 599, 884, 23, 171, 1570, 1046, 335, 442, 443, 286, 256, 12, 295, 891, 884, 1047, 1236, 1244, 1238, 626, 68, 170, 891, 1242, 425, 280, 234, 1695, 334, 1048, 35, 359, 144, 1449, 234, 681, 149, 150, 256, 1821, 391, 1936, 408, 82, 426, 1107, 410, 23, 884, 1446, 884, 1167, 152, 153, 244, 427, 1448, 107, 282, 440, 28, 68, 42, 465, 466, 68, 138, 139, 140, 420, 813, 424, 293, 428, 69, 35, 359, 109, 894, 895, 839, 256, 429, 411, 1139, 839, 1144, 1145, 169, 1325, 1326, 1772, 1450, 1202, 1383, 1331, 465, 467, 1822, 1169, 1937, 449, 758, 105, 152, 153, -302, 42, 528, 256, 82, 1344, 236, 1345, 941, 1346, 941, 1408, 1409, 1410, 28, -968, 941, 151, 941, 209, 149, 150, 626, 257, 549, 811, -381, 28, 17, 141, 142, 1201, 1359, 223, 335, 442, 443, 1285, 1286, 12, 1287, -911, -911, 1741, 1097, 236, 1142, 236, 236, 1164, 1165, 938, 1145, 938, 867, 1799, 463, 867, 1261, 1271, 536, 938, 535, -643, 848, 1380, 1170, 849, 926, 149, 150, -7, 1697, -381, 69, 23, 69, -381, 845, 852, 550, -121, 244, 17, 69, 935, 942, 935, 152, 153, 811, 391, 391, 971, 391, 935, 811, 198, 677, 943, 108, 943, 234, 35, 359, 587, 588, 332, 344, 943, -381, 259, 1262, 192, 674, 551, 675, 472, 875, 236, 516, -143, 28, 1220, 28, 554, 1066, 1069, -121, 813, 567, 1441, -121, 109, 624, 42, 813, 152, 153, 330, 566, 234, 1442, 234, 234, 1520, 1522, 605, 1508, 1509, 1510, 633, 106, 630, 1532, 1533, 112, 1535, 628, 1868, 293, 634, 293, 68, 631, -121, 646, 647, 138, 139, 140, 106, 948, 1494, 948, 149, 150, 639, 391, 1268, 1275, 629, 948, 1332, 651, 107, 650, 660, 8, 9, 661, 226, 1725, 662, 652, 623, 653, 673, 149, 150, 974, 678, 1250, 1251, 107, 654, 810, 844, 465, 719, 293, 259, 1282, 8, 9, 234, 839, 20, -119, 291, 17, 82, 811, 677, 1162, 655, 882, 845, 28, 259, 108, 1481, 1482, 1483, 1014, 595, 596, 141, 142, 1963, 656, 28, 723, 152, 153, 411, 115, 132, 133, 118, 119, 1726, 295, 192, 192, 192, 152, 153, 106, 657, 411, 775, 1037, 109, 456, -119, 152, 153, 1053, -119, 1472, 811, 779, 839, 391, 1267, 110, 811, 813, 1773, 1473, 152, 153, 802, 796, 1536, 259, 1522, 1228, 1229, 287, 107, 778, 1474, 259, 457, 1636, 1638, 331, 781, 192, 68, -119, 1168, 782, 1642, 1403, 783, 244, 795, 189, 259, 8, 9, 821, 134, 135, -186, 826, 69, 8, 9, 811, -966, 249, 250, 251, 82, 810, 82, 535, 16, 169, -186, 831, -186, 293, 82, 1422, 1738, 587, 859, 288, 813, 1432, 291, 1825, 846, 20, 813, 107, 941, 109, 882, 22, 850, 844, 149, 150, 411, 595, 860, 1842, 25, 1261, 535, 839, 411, 68, 702, 703, 115, 132, 133, 118, 119, 391, -6, 523, 526, 152, 153, -53, 811, 971, 877, 189, -53, 152, 153, 901, 1588, 1574, 1589, 938, 1590, 811, 605, -53, 854, 1572, 1573, 1687, 733, 287, 236, 1423, 1721, 1722, 942, 28, 1248, 626, 876, 149, 1668, 906, 69, 1262, 942, 1816, 1817, 138, 916, 917, 152, 153, 1539, 935, 17, 811, 952, 811, 293, 284, 954, 848, 849, 953, 734, 159, 135, 943, -311, 852, 955, 523, 526, 962, 735, -311, 919, 963, 742, 746, 749, 17, 587, 1844, 736, -432, 411, 737, 738, 293, -311, 988, 839, 1825, -311, 990, 330, 1765, 291, 991, 813, 28, 1066, 1069, 813, 865, 391, 152, 153, 993, 1268, -311, 595, 1845, 660, 661, 141, 142, 810, 1056, 1690, 587, 1849, 1825, 1058, 810, 234, -432, -432, 811, 1077, 626, -432, 1075, 1079, 1789, -311, -311, 1099, -311, 948, -311, 115, 132, 133, 118, 119, 1054, 535, 813, 1496, 1933, 1110, 1389, 1390, 813, 1498, 1499, 811, 1120, 1496, 1501, 1111, 1121, 1499, 1167, 1124, 1126, 22, 112, -311, -311, 1134, 1135, 149, 150, 1416, 1148, 1153, 1156, 282, 623, 1160, 1234, 1825, -311, 149, 150, 69, 189, 189, 189, 293, 1751, 1202, 1755, 244, 82, 627, 69, 813, 814, 1753, 941, 1163, 867, 1267, 1176, 1908, 1180, 68, 134, 135, 1169, 1182, 20, 1188, 259, -305, 1623, 1187, 556, 1615, 1335, 1432, 1208, 882, 28, 1209, -852, 1614, 813, 733, 430, 431, 432, 118, 119, 259, 28, 1210, 1215, 152, 153, 1622, 1224, 938, 259, 1231, 1232, 471, 138, 916, 917, 152, 153, 633, 189, 189, 189, 1235, 813, 1237, 1239, 259, 971, 634, 810, 734, 69, -596, 1245, 1298, -596, 813, 192, 192, 192, 735, 1431, 935, 433, 1294, 1295, 1296, 722, 1170, 1299, 736, 1304, 1300, 737, 738, 1305, 943, 82, 115, 116, 117, 118, 119, 1301, 434, 435, 181, 1302, 1306, 1303, 813, 1079, 813, 586, 597, 250, 251, 1307, 68, 1308, 68, 16, 141, 142, 811, 1309, -141, 1312, 68, 1313, 187, 1314, 331, 1315, 810, 1316, -596, 1317, -596, -596, 810, -596, 1320, 256, 22, 1321, 411, 1322, 891, 1323, 1337, 1324, -596, 25, -596, 891, 699, 700, 701, 702, 703, 1665, 1339, 1341, 1699, 1699, 1665, 120, 121, 948, -596, -596, 1342, 8, 9, 1343, 226, 1350, 1351, 942, 1623, 1375, 1066, 1069, 813, -596, 1382, 293, 244, 1381, 1623, 1614, 1352, 1615, 1361, 1358, 1362, 1623, 1367, 1378, 1615, 1614, 20, 1405, 1444, 1622, 839, 1467, 1614, 632, 1477, 1554, 1555, 813, 1479, 1622, 1487, 1497, 1422, 1897, 1422, 1502, 1622, 1503, 523, 526, 28, 1507, 1511, 1978, 1516, 236, 236, 1517, 1523, 891, 430, 431, 432, 118, 119, 152, 153, 82, 1710, 1518, 1519, 1525, 1538, 115, 132, 133, 118, 119, 82, 1472, 1526, 1664, 1527, 523, 526, 1565, 1530, 1540, 1569, 1473, 810, 1534, 1541, 1578, 810, 524, 527, 1542, 82, 811, 1545, 1546, 1474, 1554, 1555, 813, 1549, 1552, 1579, 236, 1423, 236, 1586, 1452, 28, 1228, 1229, 563, 1635, 1644, 1645, 1950, 1141, 1648, 742, 746, 1649, 749, 1338, 434, 435, 1340, 189, 1653, -685, 1675, 1681, 891, 1676, 810, 1685, 187, 134, 135, 136, 810, 1489, 1490, 82, 1168, 1686, 234, 234, 746, 1703, 1715, 1718, 1716, 1724, 1717, 1431, 660, 661, 149, 150, 1733, 1415, 1734, 1735, 1747, 1760, 1749, 1763, 1504, 249, 250, 251, 189, 1506, 1775, 1776, 16, 472, 516, 1767, 1785, 811, 68, 1786, 1787, 810, 1788, 624, 1793, 1798, 1802, 746, 1803, 20, 1691, 1692, 813, 1828, 811, 22, 234, 151, 234, 1829, 1416, 423, 1833, 1879, 25, 1835, 1843, 28, 1623, 1623, 1879, 1615, 810, 1623, 256, 1699, 1615, 1836, 1867, 1614, 1614, 942, 152, 153, 1614, 189, 189, 189, 1865, 391, 1883, 1875, 818, 1622, 1622, 1893, 1894, 1906, 1622, 1910, 1919, 1920, 810, 1926, 1928, 1944, 1948, 1619, 82, 115, 116, 117, 118, 119, 1931, 810, 811, 1932, 82, 1954, 189, 189, 189, 1623, 1955, 82, 1615, 138, 916, 917, 1958, 669, 1623, 918, 1614, 1615, 68, 1961, 1965, 1966, 1970, 1975, 236, 1614, 1980, 1982, 1979, 471, 1622, 810, 1987, 810, 1911, 1988, 1990, 1710, 919, 1622, 706, 1879, 576, 579, 1991, 28, 920, 1, 545, 194, 1677, 1678, 1679, 1680, 5, 1840, 1123, 1385, 857, 544, 120, 121, 122, 28, 1272, 172, 1623, 1949, 172, 1615, 190, 1587, 407, 1986, 607, 1824, 470, 1614, 141, 142, 848, 849, 1684, 1809, 1810, 813, 638, 852, 259, 1377, 1207, 1622, 707, 708, 247, 259, 255, 709, 710, 711, 712, 236, 272, 1233, 1376, 810, 1623, 610, 1505, 1615, 1484, 1670, 1347, 1374, 891, 259, 1646, 1614, 1113, 1347, 234, 1041, 1274, 590, 1656, 1657, 996, 1666, 1667, 730, 1669, 1622, 438, 1923, 810, 1632, 1964, 1971, 1969, 1347, 1466, 1737, 1764, 163, 1566, 1283, 1702, 1807, 1537, 1425, 1185, 1288, 1870, 1186, 1582, 1874, 1368, 1102, 1619, 1934, 249, 250, 251, 720, 68, 1619, 1311, 16, 1100, 0, 1691, 1692, 813, 0, 0, 68, 524, 851, 0, 0, 335, 149, 150, 891, 20, 12, 0, 1871, 1872, 813, 22, 0, 192, 0, 0, 68, 0, 234, 332, 25, 172, 0, 810, 82, 82, 332, 0, 172, 82, 0, 190, 190, 190, 0, 0, 0, 1790, 0, 0, 0, 0, 23, 894, 895, 0, 524, 527, 1108, 286, 0, 0, 0, 0, 0, 181, 0, 0, 247, 115, 517, 518, 118, 119, 553, 0, 68, 0, 149, 150, 35, 359, 813, 0, 250, 251, 574, 574, 583, 82, 16, 0, 115, 132, 133, 118, 119, 617, 82, 192, 660, 661, 255, 1834, 1353, 0, 1354, 0, 0, 0, 600, 255, 42, 22, 1769, 1770, 669, 0, 0, 669, 0, 0, 25, 669, 733, 332, 0, 0, 0, 810, 0, 28, 0, 23, 0, 0, 0, 1415, 120, 135, 524, 989, 0, 0, 0, 0, 152, 153, 0, 0, 82, 0, 172, 0, 0, 669, 0, 0, 0, 0, 734, 134, 135, 0, 0, 0, 472, 516, 0, 0, 735, 0, 624, 0, 115, 116, 117, 118, 119, 0, 736, 0, 0, 744, 738, 68, 0, 1877, 0, 0, 82, 0, 1619, 1014, 1877, 68, 724, 1619, 335, 442, 443, 0, 68, 12, 0, 725, 115, 132, 133, 118, 119, 0, 0, 0, 259, 0, 808, 0, 0, 1091, 892, 0, 0, 893, 0, 576, 579, 190, 848, 849, 852, 0, 0, 0, 1856, 1857, 1858, 909, 1347, 23, 0, 0, 259, 120, 121, 0, 726, 1619, 0, 259, 0, 0, 28, 0, 673, 0, 1619, 0, 115, 132, 133, 118, 119, 0, 0, 0, 1347, 35, 359, 0, 0, 0, 0, 1347, 0, 134, 1837, 192, 192, 192, 810, 0, 0, 1877, 0, 0, 0, 0, 1413, 0, 0, 8, 9, 10, 11, 0, 0, 14, 15, 727, 0, 0, 1953, 16, 0, 0, 0, 0, 1619, 0, 0, 247, 255, 0, 1899, 1900, 1512, 18, 1514, 19, 0, 0, 0, 1968, 0, 0, 22, 134, 1839, 259, 0, 0, 1014, 0, 0, 25, 0, 0, 808, 0, 0, 0, 0, 0, 28, 192, 192, 192, 1619, 0, 0, -942, -942, -942, 0, 0, 0, 0, 0, 152, 153, 0, 0, 1414, 0, 0, 0, 810, 0, 0, 0, 0, 524, 851, 0, 0, 0, 0, 0, 0, 172, 0, 1544, 172, 810, 0, 0, 0, 0, 190, 190, 190, 0, 330, 1951, 172, 872, 0, 68, 68, 330, 0, 0, 68, 872, 0, 0, 259, 0, 0, 0, 0, -942, 115, 116, 117, 118, 119, 0, 260, 261, 262, 752, 8, 9, 0, 0, 12, 0, 0, 0, 1347, 0, 574, 0, 0, 574, 0, 583, 583, 583, 0, 0, 20, 553, 1091, 810, 0, 0, 263, 574, 600, 255, 68, 0, 553, 0, 0, 1712, 600, 344, 753, 68, 23, 0, 0, 0, 28, 0, 0, 0, 872, 553, 0, 0, 0, 28, 0, 0, 0, 0, 0, 120, 121, 264, 0, 660, 661, 0, 330, 0, 152, 153, 0, 0, 7, 149, 150, 0, 190, 12, 0, 190, 808, 872, 0, 190, 0, 0, 0, 808, 1647, 1009, 0, 68, 0, 0, 1652, 0, 0, 0, 0, 190, 190, 190, 20, 0, 0, 0, 265, 266, 267, 0, 0, 0, 0, 23, 872, 190, 892, 893, 576, 579, 872, 0, 0, 0, 909, 0, 28, 598, 250, 251, 0, 68, 0, 0, 16, 0, 0, 0, 524, 989, 0, 35, 36, 0, 0, 0, 1688, 0, 0, 0, 0, 20, 0, 872, 0, 183, 0, 22, 0, 0, 872, 0, 0, 0, 0, 184, 25, 0, 872, 1065, 1065, 192, 1072, 42, 0, 0, 0, 0, 185, 1092, 695, 696, 697, 698, 699, 700, 701, 702, 703, 0, 187, 0, 0, 200, 0, 7, 8, 9, 10, 11, 12, 201, 14, 15, 0, 255, 0, 0, 16, 0, 7, 8, 285, 0, 0, 12, 192, 0, 0, 0, 0, 0, 18, 0, 19, 20, 21, 0, 259, 808, 0, 22, 0, 0, 0, 0, 23, 0, 0, 259, 25, 0, 0, 202, 247, 0, 255, 272, 0, 28, 0, 23, 1347, 0, 0, 0, 0, 0, 286, 0, 0, 0, 0, 1347, 35, 36, 1464, 0, 0, 0, 0, 1712, 0, 192, 192, 192, 1781, 1782, 38, 35, 36, 0, 7, 8, 9, 0, 226, 12, 41, 0, 15, 0, 1792, 0, 808, 0, 42, 259, 0, 0, 808, 43, 0, 287, 0, 0, 44, 0, 192, 192, 192, 42, 20, 0, 0, 0, 0, 255, 0, 0, 0, 1347, 0, 23, 0, 0, 0, 0, 0, 574, 574, 583, 583, 583, 0, 0, 28, 574, 0, 0, 0, 7, 149, 150, 0, 600, 12, 0, 553, 0, 0, 35, 36, 0, 0, 0, 0, 0, 576, 579, 0, 0, 0, 0, 0, 228, 0, 0, 0, 1852, 0, 1853, 0, 0, 0, 229, 0, 0, 247, 872, 0, 0, 23, 42, 0, 0, 1863, 1864, 230, 286, 0, 0, 0, 1413, 0, 0, 8, 9, 10, 11, 0, 0, 14, 15, 0, 190, 0, 0, 16, 0, 35, 36, 0, 0, 0, 0, 524, 851, 0, 0, 0, 0, 18, 0, 19, 0, 808, 0, 0, 0, 808, 22, 0, 0, 287, 0, 0, 0, 0, 0, 25, 0, 42, 0, 0, 524, 527, 872, 872, 28, 892, 893, 909, 872, 0, 0, -941, -941, -941, 0, 0, 0, 0, 0, 152, 153, 0, 0, 1414, 872, 0, 872, 0, 872, 0, 808, 0, 0, 0, 0, 6, 808, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 149, 150, 0, 16, 12, 0, 0, 0, 0, 1065, 0, 0, 1065, 0, 0, 0, 872, 18, 0, 19, 20, 524, 1634, 0, 1065, -941, 22, 0, 1360, 1360, 1092, 23, 0, 0, 808, 25, 0, 872, 541, 0, 23, 0, 0, 0, 28, 0, 733, 0, 0, 0, 0, 294, 0, 28, 0, 0, 0, 0, 0, 35, 36, 0, 0, 37, 0, 808, 0, 0, 35, 36, 0, 0, 0, 38, 272, 0, 0, 0, 0, 1388, 1388, 1395, 1707, 41, 697, 698, 699, 700, 701, 702, 703, 42, 1708, 0, 0, 808, 43, 0, 0, 90, 42, 0, 736, 0, 0, 1709, 738, 0, 808, 0, 0, 126, 247, 0, 872, 0, 0, 524, 851, 892, 893, 155, 576, 579, 0, 0, 0, 8, 9, 909, 226, 872, 0, 176, 15, 0, 176, 0, 176, 0, 90, 0, 808, 0, 808, 0, 0, 90, 0, 0, 0, 0, 537, 0, 0, 0, 20, 1395, 0, 0, 238, 0, 90, 0, 1258, 1259, 9, 0, 226, 12, 273, 1475, 1475, 1475, 0, 0, 0, 126, 0, 0, 28, 0, 0, 0, 573, 0, 0, 0, 297, 126, 576, 579, 0, 553, 553, 152, 153, 0, 592, 0, 0, 0, 576, 579, 0, 23, 0, 0, 0, 1472, 0, 0, 0, 0, 0, 0, 808, 0, 28, 1473, 553, 0, 0, 126, 0, 553, 0, 0, 0, 0, 0, 0, 1474, 35, 36, 0, 0, 1488, 0, 1260, 0, 0, 0, 0, 0, 808, 0, 228, 0, 0, 0, 155, 0, 90, 0, 0, 0, 229, 7, 8, 9, 0, 226, 12, 0, 42, 281, 176, 176, 187, 230, 0, 473, 0, 0, 176, 0, 0, 176, 176, 176, 0, 0, 0, 892, 893, 576, 579, 20, 0, 0, 909, 0, 0, 90, 0, 0, 0, 90, 23, 0, 0, 0, 0, 238, 90, 1360, 1360, 1092, 0, 0, 0, 28, 808, 1464, 0, 0, 7, 8, 9, 0, 226, 12, 238, 238, 238, 0, 35, 36, 0, 0, 0, 1388, 1388, 0, 1553, 1553, 1395, 0, 0, 0, 228, 1388, 0, 7, 8, 9, 0, 0, 12, 0, 229, 238, 0, 0, 0, 0, 0, 23, 42, 0, 0, 0, 872, 230, 872, 0, 872, 0, 609, 0, 28, 524, 527, 0, 247, 0, 0, 126, 0, 0, 0, 0, 0, 0, 23, 35, 36, 0, 176, 227, 0, 286, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 1553, 1553, 1395, 0, 524, 1634, 808, 229, 0, 0, 35, 36, 1475, 1475, 1475, 42, 0, 0, 892, 893, 230, 909, 0, 0, 126, 635, 0, 0, 0, 0, 0, 0, 0, 0, 287, 553, 553, 0, 553, 553, 0, 553, 42, 0, 0, 0, 7, 8, 9, 0, 226, 12, 0, 0, 15, 115, 132, 133, 118, 119, 0, 260, 261, 262, 872, 335, 8, 9, 0, 0, 12, 0, 0, 0, 0, 126, 20, 0, 0, 0, 731, 0, 635, 635, 747, 20, 0, 23, 0, 0, 0, 263, 0, 733, 1388, 1388, 1553, 1553, 1395, 90, 28, 1388, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 286, 0, 35, 36, 0, 335, 149, 150, 576, 579, 12, 134, 135, 15, 0, 0, 1136, 0, 0, 0, 155, 35, 359, 0, 0, 0, 1137, 0, 902, 126, 0, 238, 126, 908, 42, 20, 736, 0, 0, 1138, 738, 0, 0, 0, 808, 287, 23, 0, 0, 247, 255, 0, 733, 42, 0, 0, 0, 0, 950, 28, 576, 579, 0, 0, 956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 359, 964, 965, 0, 966, 0, 553, 553, 0, 0, 0, 0, 126, 1363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1364, 0, 0, 176, 0, 0, 176, 0, 42, 0, 736, 0, 0, 1365, 738, 0, 0, 0, 176, 0, 1797, 1797, 0, 1797, 0, 0, 90, 0, 0, 335, 8, 9, 0, 808, 12, 0, 1808, 1808, 1092, 115, 132, 133, 118, 119, 0, 784, 785, 786, 0, 0, 808, 0, 0, 0, 0, 238, 238, 872, 0, 238, 0, 238, 238, 238, 899, 0, 0, 0, 238, 0, 23, 0, 0, 238, 0, 0, 238, 286, 0, 0, 0, 0, 0, 583, 0, 1080, 1081, 0, 0, 0, 1080, 0, 0, 90, 0, 0, 0, 0, 35, 359, 0, 0, 0, 553, 553, 553, 0, 0, 134, 135, 0, 0, 808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 626, 1797, 1797, 1866, 0, 0, 0, 0, 42, 0, 126, 126, 126, 126, 0, 126, 1808, 1808, 1360, 1360, 1092, 0, 1808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 7, 8, 930, 10, 11, 12, 201, 14, 15, 0, 0, 0, 0, 16, 0, 0, 0, 583, 583, 583, 0, 0, 0, 0, 0, 553, 553, 18, 0, 19, 20, 21, 0, 0, 0, 0, 22, -540, 126, 0, 635, 23, 1808, 1808, 1808, 25, 931, 0, 202, 0, 0, 0, 0, 0, 28, 731, 0, 635, 635, 932, 747, 0, 0, 0, 0, 0, 0, 1093, 0, 35, 36, 1095, 0, 933, 0, 934, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 1230, 0, 0, 0, 0, 238, 41, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 553, 43, 7, 8, 9, 0, 226, 12, 0, 0, 281, 155, 0, 0, 0, 0, 0, -540, 155, 0, 0, 0, 0, 0, 0, 0, 238, 1143, 238, 238, 273, 747, 20, 0, 0, 0, 0, 0, 0, 0, 1290, 0, 1292, 23, 0, 0, 0, 90, 0, 733, 0, 0, 0, 126, 0, 0, 28, 635, 126, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 35, 36, 0, 0, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 1136, 137, 0, 0, 0, 0, 160, 162, 0, 164, 1137, 168, 0, 0, 0, 238, 0, 0, 42, 1143, 736, 0, 0, 1138, 738, 0, 0, 238, 238, 899, 899, 899, 0, 0, 0, 238, 0, 0, 0, 0, 0, 0, 0, 1333, 1334, 0, 1336, 0, 0, 0, 0, 0, 268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 0, 0, 0, 90, 0, 90, 0, 0, 0, 0, 1269, 90, 0, 90, 1356, 0, 7, 8, 9, 126, 226, 12, 0, 474, 475, 126, 476, 477, 0, 478, 479, 0, 635, 635, 635, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 0, 0, 0, 0, 23, 436, 497, 498, 499, 500, 733, 501, 0, 0, 502, 0, 503, 28, 504, 1399, 459, 0, 462, 0, 0, 0, 0, 468, 0, 0, 0, 0, 35, 36, 0, 7, 149, 150, 0, 505, 12, 519, 0, 15, 0, 759, 1136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1137, 0, 0, 0, 0, 0, 0, 0, 42, 20, 736, 0, 0, 1138, 738, 8, 9, 10, 11, 0, 23, 14, 281, 0, 635, 635, 733, 16, 635, 0, 0, 635, 0, 28, 0, 0, 126, 0, 1054, 0, 635, 18, 126, 19, 1093, 1093, 1093, 0, 35, 36, 22, 635, 0, 1366, 0, 0, 0, 0, 0, 25, 0, 0, 1707, 0, 0, 0, 1485, 0, 28, 0, 0, 0, 1708, 0, 0, 0, 606, 608, 0, 1491, 42, 0, 736, 152, 153, 1709, 738, 0, 0, 618, 0, 126, 0, 126, 0, 238, 238, 1397, 0, 0, 7, 8, 9, 0, 226, 12, 0, 7, 8, 9, 10, 11, 12, 201, 14, 15, 0, 0, 126, 0, 16, 0, 0, 0, 0, 0, 0, 238, 1143, 0, 20, 0, 0, 0, 18, 0, 19, 20, 21, 126, 0, 23, 126, 22, 0, 0, 0, 0, 23, 0, 0, 0, 25, 0, 28, 202, 8, 9, 0, 226, 0, 28, 0, 281, 659, 0, 0, 0, 0, 35, 36, 0, 0, 1397, 1543, 0, 35, 36, 0, 0, 0, 0, 0, 580, 0, 20, 126, 899, 899, 899, 38, 0, 0, 581, 0, 0, 0, 0, 0, 0, 41, 42, 733, 126, 0, 0, 582, 1269, 42, 28, 0, 0, 772, 43, 777, 0, 126, 0, 44, 0, 0, 1561, 0, 787, 152, 153, 1067, 1070, 0, 1500, 0, 0, 0, 0, 0, 0, 777, 90, 1794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1795, 0, 126, 0, 126, 0, 0, 0, 0, 0, 736, 0, 820, 1796, 738, 0, 825, 0, 0, 0, 830, 0, 6, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 0, 0, 0, 16, 0, 126, 0, 0, 0, 0, 635, 635, 0, 635, 0, 0, 0, 18, 0, 19, 20, 0, 0, 0, 0, 0, 22, 834, 0, 0, 0, 23, 0, 0, 0, 25, 0, 635, 541, 0, 635, 635, 747, 0, 28, 0, 0, 0, 1673, 0, 0, 0, 1674, 0, 0, 0, 0, 0, 0, 35, 36, 0, 0, 37, 0, 238, 238, 238, 0, 238, 238, 1397, 899, 38, 0, 0, 238, 0, 0, 0, 0, 1164, 1165, 41, 0, 0, 1689, 0, 0, 0, 0, 42, 0, 126, 0, 0, 43, 0, 0, 0, 1694, 90, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 126, 0, 0, 0, 0, 0, 7, 8, 9, 10, 1391, 12, 201, 14, 15, 0, 0, 879, 915, 16, 0, 0, 0, 0, 0, 1397, 1397, 1397, 0, 0, 0, 0, 0, 18, 0, 19, 20, 899, 899, 899, 899, 0, 22, 0, 0, 0, 0, 23, 0, 0, 0, 25, 0, 733, 0, 0, 0, 0, 0, 0, 28, 0, 238, 0, 0, 0, 987, 176, 0, 0, 90, 0, 0, 0, 0, 35, 36, 1766, 0, 0, 0, 0, 1768, 0, 0, 0, 0, 0, 1006, 1392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1393, 0, 0, 0, 0, 1783, 1784, 0, 42, 0, 736, 0, 0, 1394, 738, 0, 0, 0, 0, 899, 238, 238, 899, 899, 1693, 0, 0, 238, 0, 0, 93, 0, 126, 238, 238, 0, 1057, 0, 0, 0, 0, 1815, 128, 0, 0, 0, 176, 0, 0, 0, 0, 148, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 1348, 0, 177, 1349, 177, 0, 93, 0, 0, 0, 0, 0, 0, 93, 0, 1355, 0, 0, 0, 1067, 1070, 772, 238, 1143, 238, 0, 177, 0, 93, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 126, 0, 283, 0, 0, 1130, 7, 8, 9, 0, 226, 12, 0, 0, 283, 0, 1147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1067, 1070, 0, 0, 0, 0, 0, 20, 0, 1873, 0, 1175, 7, 8, 9, 0, 226, 12, 23, 0, 15, 1184, 899, 899, 733, 899, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 176, 176, 1143, 0, 20, 0, 1006, 0, 35, 36, 0, 93, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 1136, 0, 0, 177, 177, 0, 28, 0, 0, 0, 1137, 177, 0, 0, 177, 177, 177, 0, 42, 0, 736, 35, 36, 1138, 738, 1397, 0, 0, 0, 0, 93, 0, 0, 0, 93, 580, 0, 0, 0, 0, 177, 93, 0, 0, 0, 581, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 582, 177, 177, 177, 0, 0, 0, 899, 899, 1693, 899, 0, 0, 0, 0, 0, 238, 0, 0, 0, 0, 176, 176, 176, 176, 176, 1143, 0, 176, 176, 177, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 7, 8, 9, 0, 226, 12, 0, 0, 15, 0, 0, 1397, 1397, 1397, 0, 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 899, 0, 0, 0, 0, 176, 176, 176, 0, 126, 23, 0, 0, 0, 238, 0, 733, 0, 0, 0, 0, 0, 0, 28, 0, 0, 283, 177, 0, 0, 1067, 1070, 0, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1392, 0, 0, 0, 1348, 1349, 0, 1067, 1070, 0, 1393, 0, 0, 0, 1355, 0, 0, 0, 42, 0, 736, 0, 0, 1394, 738, 283, 0, 0, 0, 0, 732, 0, 177, 177, 748, 0, 0, 772, 0, 757, 0, 0, 0, 0, 787, 0, 0, 0, 0, 93, 298, 0, 0, 8, 9, 10, 11, 1130, 0, 14, 15, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1067, 1070, 0, 0, 18, 0, 19, 0, 800, 0, 0, 0, 0, 22, 0, 299, 300, 283, 0, 177, 283, 0, 25, 0, 301, 0, 0, 0, 0, 0, 0, 28, 0, 1258, 1259, 9, 1439, 226, 12, 0, 0, 0, 0, 0, 0, 0, 152, 153, 0, 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 23, 283, 324, 325, 326, 0, 0, 327, 0, 0, 328, 0, 0, 28, 0, 177, 0, 0, 177, 0, 1348, 1349, 1067, 1070, 0, 0, 329, 1355, 35, 36, 177, 0, 0, 0, 1260, 0, 0, 0, 93, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 7, 8, 9, 229, 226, 12, 0, 0, 623, 0, 0, 42, 0, 0, 0, 0, 230, 0, 177, 177, 0, 0, 177, 0, 177, 177, 177, 177, 0, 0, 20, 177, 0, 0, 0, 0, 177, 0, 0, 177, 0, 23, 0, 0, 0, 1521, 0, 733, 0, 0, 0, 0, 0, 0, 28, 928, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1136, 0, 8, 9, 0, 226, 0, 0, 0, 623, 1137, 0, 283, 283, 283, 283, 0, 283, 42, 0, 736, 0, 0, 1138, 738, 1348, 1349, 0, 1355, 0, 0, 20, 335, 8, 9, 10, 11, 12, 201, 14, 15, 1067, 1070, 879, 0, 16, 0, 0, 733, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 18, 0, 19, 20, 0, 0, 0, 0, 0, 22, 0, 152, 153, 0, 23, 0, 0, 283, 25, 177, 733, 0, 0, 0, 0, 1794, 0, 28, 0, 0, 0, 0, 0, 0, 0, 1795, 177, 177, 1592, 748, 0, 0, 35, 359, 1521, 736, 1094, 0, 1796, 738, 0, 0, 0, 0, 0, 0, 1363, 0, 0, 757, 0, 0, 0, 0, 0, 0, 1364, 0, 0, 1067, 1070, 177, 0, 0, 42, 0, 736, 0, 0, 1365, 738, 0, 0, 0, 1348, 1349, 1067, 1070, 0, 0, 1355, 0, 0, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 148, 0, 0, 0, 0, 0, 0, 177, 748, 177, 177, 274, 748, 0, 0, 0, 0, 0, 0, 335, 8, 9, 10, 1391, 12, 201, 14, 15, 93, 0, 879, 0, 16, 0, 283, 0, 0, 0, 177, 283, 0, 0, 0, 1348, 1349, 1355, 18, 0, 19, 20, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 23, 928, 0, 0, 25, 0, 733, 0, 0, 7, 149, 150, 0, 28, 12, 0, 0, 281, 0, 0, 0, 177, 0, 0, 0, 748, 0, 0, 35, 359, 0, 1739, 1740, 177, 177, 177, 177, 177, 0, 20, 0, 177, 1556, 0, 0, 0, 0, 0, 0, 0, 23, 0, 1557, 7, 8, 9, 733, 226, 12, 0, 42, 623, 736, 28, 0, 1558, 738, 0, 0, 0, 156, 0, 0, 0, 93, 0, 93, 0, 35, 36, 0, 1270, 93, 20, 93, 0, 0, 0, 0, 0, 283, 0, 1707, 0, 23, 0, 283, 0, 0, 0, 0, 0, 1708, 177, 177, 177, 0, 28, 0, 0, 42, 0, 736, 0, 0, 1709, 738, 0, 0, 0, 0, 0, 35, 36, 929, 0, 7, 8, 930, 10, 11, 12, 201, 14, 15, 0, 228, 0, 0, 16, 0, 0, 0, 0, 1820, 0, 229, 0, 0, 0, 0, 0, 0, 18, 42, 19, 20, 21, 0, 230, 0, 0, 22, -541, 0, 1838, 1841, 23, 0, 0, 0, 25, 931, 0, 202, 0, 0, 0, 0, 0, 28, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 35, 36, 0, 0, 933, 0, 934, 0, 0, 177, 177, 0, 0, 177, 38, 0, 177, 0, 0, 0, 0, 283, 0, 0, 41, 177, 0, 283, 0, 1094, 1094, 1094, 42, 0, 0, 0, 177, 43, 757, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 0, -541, 929, 0, 7, 8, 930, 10, 11, 12, 201, 14, 15, 0, 0, 0, 1895, 16, 0, 0, 0, 0, 0, 0, 283, 0, 283, 0, 177, 177, 748, 18, 0, 19, 20, 21, 0, 0, 0, 0, 22, -543, 0, 0, 0, 23, 0, 0, 0, 25, 931, 283, 202, 0, 0, 0, 0, 0, 28, 0, 177, 748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 35, 36, 283, 0, 933, 0, 934, 0, 0, 0, 0, 0, 0, 0, 38, 7, 8, 9, 10, 11, 12, 201, 14, 15, 41, 0, 1219, 0, 16, 0, 0, 0, 42, 1094, 0, 0, 0, 43, 0, 0, 0, 0, 18, 0, 19, 20, 283, 177, 177, 177, 0, 22, 0, -543, 0, 0, 23, 0, 0, 0, 25, 928, 0, 283, 0, 0, 0, 1270, 0, 28, 0, 0, 0, 0, 0, 0, 283, 0, 0, 0, 0, 0, 0, 0, 35, 36, 929, 0, 7, 8, 930, 10, 11, 12, 201, 14, 15, 93, 38, 0, 0, 16, 0, 0, 0, 0, 0, 0, 41, 0, 283, 0, 283, 0, 0, 18, 42, 19, 20, 21, 0, 43, 0, 0, 22, -542, 0, 0, 0, 23, 0, 0, 0, 25, 931, 0, 202, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 283, 0, 0, 0, 0, 177, 177, 0, 177, 0, 35, 36, 0, 0, 933, 0, 934, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 177, 0, 41, 177, 177, 748, 0, 0, 0, 0, 42, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 177, 177, -542, 177, 177, 748, 177, 0, 0, 0, 177, 7, 8, 9, 10, 11, 12, 201, 14, 15, 0, 0, 879, 0, 16, 0, 0, 283, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 18, 0, 19, 20, 0, 283, 0, 0, 283, 22, 0, 0, 0, 0, 23, 0, 0, 928, 25, 0, 733, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 1094, 1094, 1094, 0, 0, 0, 0, 0, 0, 35, 36, 0, 177, 177, 177, 177, 61, 0, 0, 0, 0, 928, 0, 1811, 0, 0, 0, 0, 0, 0, 335, 8, 9, 1812, 226, 12, 0, 177, 15, 0, 0, 42, 177, 736, 0, 93, 1813, 738, 0, 0, 61, 0, 0, 61, 0, 186, 0, 61, 0, 0, 20, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 23, 0, 7, 149, 150, 0, 61, 12, 61, 0, 15, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 177, 177, 177, 177, 177, 748, 35, 359, 177, 289, 20, 0, 0, 283, 177, 177, 0, 0, 0, 0, 896, 23, 0, 0, 335, 8, 9, 177, 226, 12, 897, 0, 15, 0, 28, 0, 0, 0, 42, 0, 0, 0, 0, 898, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 20, 0, 0, 1743, 0, 0, 0, 0, 0, 38, 0, 23, 0, 0, 177, 748, 177, 733, 0, 41, 444, 444, 0, 61, 28, 0, 0, 42, 0, 0, 0, 0, 43, 283, 0, 0, 0, 61, 61, 35, 359, 289, 0, 0, 0, 61, 0, 0, 186, 186, 186, 0, 0, 1556, 0, 534, 0, 0, 0, 0, 0, 0, 0, 1557, 61, 0, 0, 0, 61, 0, 0, 42, 0, 736, 61, 61, 1558, 738, 0, 0, 0, 0, 0, 0, 177, 177, 0, 177, 0, 0, 0, 0, 0, 61, 61, 186, 0, 0, 0, 0, 177, 177, 748, 289, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 61, 0, -402, 8, 9, 10, 11, -402, -402, 14, 281, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 7, 149, 150, 0, 1094, 12, 0, 0, 18, 0, 19, -402, 0, 0, 0, 0, 61, 22, 0, 0, 0, 0, -402, 0, 0, 0, 25, 0, 733, 0, 20, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 23, 0, 0, 177, 177, 748, 177, 0, 0, 152, 153, 0, 177, 28, 0, 0, 0, 177, 177, 177, 177, 177, 748, 734, 177, 177, 0, 0, 35, 36, 0, 0, 0, 735, 0, 0, 0, 0, 0, 0, 0, -402, 38, 736, 0, 0, 737, 738, 0, 0, 668, 0, 41, 0, 0, 1094, 1094, 1094, 0, 0, 42, 0, 0, 0, 0, 43, 0, 0, 0, 444, 0, 0, 0, 0, 0, 177, 0, 289, 0, 0, 177, 177, 177, 0, 283, 0, 0, 0, 61, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 663, 0, 335, 8, 9, 10, 11, 12, 201, 14, 336, 337, 338, 879, 339, 16, 0, 0, 0, 0, 0, 0, 0, 444, 0, 0, 0, 0, 0, 18, 340, 19, 20, 21, 61, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 733, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, -319, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 1085, 0, 0, 0, 0, 0, 0, 0, 363, 364, 1086, 0, 0, 0, 0, 0, 366, 367, 368, 61, 736, 0, 61, 1087, 1088, 0, 0, 0, 534, 534, 534, 0, 0, 0, 61, 0, 0, 0, 0, 0, 371, 0, 61, 0, 0, 0, 7, 8, 9, 0, 226, 12, 249, 250, 251, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 335, 8, 9, 0, 226, 12, 61, 61, 0, 0, 61, 20, 186, 186, 186, 534, 0, 22, 0, 61, 0, 0, 23, 0, 61, 0, 25, 61, 733, 0, 20, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 23, 0, 0, 61, 0, 0, 733, 0, 0, 35, 36, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1136, 0, 0, 0, 0, 35, 359, 0, 0, 668, 1137, 0, 668, 0, 0, 0, 668, 0, 42, 1556, 736, 0, 0, 1138, 738, 0, 0, 0, 0, 1557, 0, 0, 668, 668, 668, 0, 0, 42, 0, 736, 0, 0, 1558, 738, 0, 0, 0, 0, 668, 1756, 0, 1595, 1596, 1597, 10, 11, 12, 201, 14, 336, 337, 338, 0, 339, 16, 1598, 0, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 17, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 1609, 25, 1610, 0, 289, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 668, 0, 0, 356, 0, 0, 357, 0, 1611, 359, 865, 0, 1612, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 61, 0, 0, 0, 0, 363, 364, 365, 0, 0, 88, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 1613, 0, 444, 0, 0, 0, 0, 0, 0, 444, 0, 0, 0, 0, 1757, 371, 0, 61, 61, 61, 61, 0, 88, 0, 0, 88, 0, 88, 0, 88, 0, 0, 0, 0, 0, 0, 88, 929, 61, 7, 8, 930, 10, 11, 12, 201, 14, 15, 0, 88, 0, 88, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 19, 20, 21, 0, 0, 0, 0, 22, 0, 0, 0, 0, 23, 0, 0, 0, 25, 931, 0, 202, 0, 0, 0, 61, 0, 28, 0, 61, 0, 0, 0, 0, 0, 0, 0, 61, 61, 534, 534, 534, 35, 36, 0, 61, 933, 0, 934, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 8, 9, 10, 11, 0, 41, 14, 15, 0, 0, 0, 0, 16, 42, 0, 88, 0, 61, 43, 61, 0, 0, 0, 0, 61, 61, 18, 61, 19, 88, 88, 0, 0, 0, 0, 22, 0, 88, 0, 0, 88, 88, 88, 0, 25, 0, 0, 0, 0, 0, 0, 0, 668, 28, 0, 0, 88, 0, 0, 0, 88, 0, 0, 0, 0, 0, 88, 88, 152, 153, 713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 88, 88, 663, 0, 7, 8, 9, 10, 1391, 12, 201, 14, 336, 337, 338, 879, 339, 16, 0, 714, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 733, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 88, 0, 0, 356, 0, 0, 357, 0, 35, 36, -319, 0, 0, 360, 0, 0, 668, 668, 668, 361, 0, 0, 1460, 534, 289, 0, 0, 0, 0, 0, 363, 364, 1461, 0, 0, 0, 0, 0, 366, 367, 368, 0, 736, 0, 0, 1462, 1088, 0, 6, 0, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 0, 0, 371, 16, 0, 0, 0, 61, 61, 186, 0, 0, 0, 0, 289, 0, 17, 18, 0, 19, 20, 21, 0, 0, 0, 0, 22, 0, 0, 0, 0, 23, 0, 0, 24, 25, 26, 0, 27, 61, 61, 0, 0, 756, 28, 29, 30, 31, 0, 0, 0, 0, 0, 88, 32, 33, 34, 0, 0, 35, 36, 0, 380, 37, 380, 0, 380, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 39, 40, 41, 0, 1463, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 43, 0, 88, 0, 0, 44, 0, 0, 0, 0, 0, 7, 8, 9, 0, 226, 12, 249, 250, 251, 0, 0, 0, 61, 16, 0, 0, 0, 0, 0, 380, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 289, 0, 0, 22, 0, 0, 0, 0, 23, 61, 8, 9, 25, 226, 733, 0, 0, 15, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 88, 0, 0, 88, 0, 0, 0, 0, 35, 36, 0, 20, 0, 0, 0, 88, 124, 0, 0, 0, 0, 0, 1136, 88, 0, 143, 124, 0, 733, 0, 0, 0, 1137, 0, 0, 28, 0, 0, 124, 0, 42, 124, 736, 124, 0, 1214, 738, 0, 0, 0, 152, 153, 88, 88, 0, 0, 88, 0, 88, 88, 88, 0, 0, 534, 1794, 88, 534, 534, 534, 289, 88, 0, 0, 88, 1795, 270, 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, 1796, 738, 0, 88, 61, 61, 61, 0, 186, 186, 186, 534, 0, 289, 0, 61, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 0, 7, 149, 150, 0, 0, 12, 0, 61, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1658, 1659, 9, 0, 226, 12, 0, 0, 0, 437, 0, 143, 658, 20, 0, 0, 0, 0, 124, 124, 0, 0, 0, 0, 23, 0, 1463, 1463, 1463, 0, 733, 0, 0, 0, 0, 124, 124, 28, 0, 124, 124, 23, 0, 124, 0, 520, 124, 124, 124, 0, 0, 0, 35, 36, 28, 0, 0, 0, 380, 0, 0, 0, 0, 61, 0, 0, 1811, 0, 61, 35, 36, 61, 0, 756, 0, 1660, 1812, 0, 0, 0, 0, 0, 0, 228, 42, 0, 736, 0, 0, 1813, 738, 0, 0, 229, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 230, 0, 0, 0, 88, 0, 7, 8, 9, 0, 226, 12, 0, 534, 61, 61, 534, 534, 534, 0, 0, 61, 0, 0, 0, 0, 0, 61, 61, 0, 270, 124, 0, 7, 149, 150, 20, 0, 12, 0, 61, 623, 0, 88, 88, 88, 88, 23, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 20, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 35, 36, 0, 0, 0, 733, 61, 61, 61, 0, 0, 0, 28, 0, 228, 124, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, 35, 36, 0, 0, 0, 42, 0, 870, 874, 0, 230, 0, 0, 0, 1707, 88, 874, 0, 0, 88, 0, 0, 0, 0, 1708, 0, 0, 88, 88, 0, 0, 0, 42, 0, 736, 88, 0, 1709, 738, 0, 0, 0, 0, 124, 0, 124, 124, 0, 0, 380, 0, 8, 9, 10, 11, 0, 0, 14, 15, 0, 0, 0, 0, 16, 0, 61, 61, 186, 88, 0, 88, 0, 0, 0, 0, 88, 88, 18, 88, 19, 0, 0, 380, 874, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 25, 124, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 1463, 0, 0, 0, 874, 0, 0, 152, 153, 380, 0, 870, 0, 0, 1011, 1012, 124, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 0, 874, 0, 0, 0, 0, 0, 874, 1040, 0, 0, 0, 0, 61, 0, 0, 0, 0, 61, 61, 61, 186, 186, 186, 0, 61, 61, 0, 0, 124, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 874, 0, 0, 0, 124, 0, 0, 874, 0, 0, 0, 0, 0, 0, 0, 874, 1463, 1463, 1463, 0, 0, 0, 0, 335, 149, 150, 149, 150, 12, 0, 0, 0, 0, 15, 0, 1115, 1117, 0, 0, 756, 0, 61, 61, 61, 0, 0, 0, 0, 0, 0, 61, 380, 0, 20, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 733, 0, 733, 0, 0, 0, 124, 28, 921, 28, 0, 88, 88, 88, 0, 0, 0, 0, 0, 0, 0, 0, 35, 359, 152, 153, 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, 1363, 0, 734, 0, 0, 0, 0, 88, 88, 0, 1364, 0, 735, 0, 0, 0, 0, 0, 42, 870, 736, 0, 736, 1365, 738, 737, 738, 0, 7, 149, 150, 0, 0, 12, 0, 0, 0, 0, 0, 0, 7, 149, 150, 0, 0, 12, 0, 0, 281, 0, 0, 0, 0, 1465, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 20, 0, 0, 0, 0, 733, 0, 0, 124, 0, 0, 23, 28, 0, 1246, 0, 0, 88, 0, 0, 0, 0, 124, 124, 28, 124, 124, 35, 36, 0, 0, 0, 380, 380, 0, 380, 0, 0, 0, 35, 36, 1707, 0, 0, 7, 149, 150, 88, 0, 12, 874, 1708, 15, 38, 0, 0, 0, 0, 0, 42, 0, 736, 0, 41, 1709, 738, 0, 0, 0, 0, 0, 42, 0, 0, 20, 0, 43, 0, 0, 0, 0, 0, 0, 0, 124, 23, 0, 0, 0, 0, 0, 124, 143, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 0, 0, 0, 874, 874, 0, 0, 0, 870, 874, 0, 0, 183, 0, 0, 124, 0, 0, 0, 0, 0, 0, 184, 0, 0, 874, 0, 874, 0, 874, 42, 0, 0, 0, 0, 185, 0, 0, 921, 0, 0, 0, 88, 88, 88, 0, 88, 88, 88, 0, 0, 193, 0, 88, 7, 8, 9, 10, 11, 12, 240, 14, 241, 0, 874, 0, 0, 16, 0, 0, 0, 0, 0, 239, 0, 1373, 0, 0, 88, 0, 0, 18, 0, 19, 20, 874, 0, 0, 0, 0, 22, 0, 0, 0, 0, 23, 0, 0, 0, 25, 380, 0, 0, 0, 921, 0, 0, 124, 28, 0, 0, 0, 0, 1400, 1465, 1465, 1465, 7, 8, 9, 0, 226, 12, 35, 36, 0, 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 124, 124, 124, 0, 0, 0, 0, 41, 0, 0, 0, 88, 0, 0, 0, 42, 88, 0, 23, 88, 43, 0, 874, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 874, 0, 0, 149, 150, 0, 0, 35, 36, 0, 281, 1750, 193, 193, 193, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 88, 88, 229, 20, 0, 0, 0, 88, 0, 239, 42, 0, 0, 88, 88, 230, 0, 1495, 0, 0, 733, 0, 0, 0, 0, 0, 88, 28, 239, 239, 585, 0, 0, 124, 124, 0, 0, 124, 0, 0, 124, 0, 152, 153, 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 734, 239, 0, 0, 124, 0, 0, 0, 0, 0, 735, 88, 88, 88, 0, 0, 0, 870, 870, 0, 736, 0, 1524, 737, 738, 7, 8, 9, 0, 226, 12, 0, 474, 475, 0, 476, 477, 0, 478, 479, 0, 0, 0, 380, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 0, 0, 0, 0, 23, 0, 497, 498, 499, 500, 0, 501, 0, 0, 502, 636, 503, 28, 504, 0, 0, 1258, 8, 930, 10, 11, 12, 240, 14, 241, 0, 0, 35, 36, 16, 88, 88, 88, 1698, 505, 0, 0, 0, 0, 0, 506, 228, 0, 18, 0, 19, 20, 0, 0, 0, 0, 229, 22, 0, 0, 0, 0, 23, 0, 42, 0, 25, 0, 0, 230, 0, 0, 741, 741, 741, 28, 507, 0, 0, 0, 0, 0, 1465, 0, 0, 874, 0, 874, 0, 874, 35, 36, 921, 0, 0, 0, 1260, 870, 0, 0, 0, 0, 0, 0, 38, 0, 870, 870, 0, 0, 0, 0, 0, 0, 41, 870, 0, 0, 0, 0, 124, 0, 42, 0, 0, 0, 0, 43, 0, 0, 0, 88, 1654, 1655, 239, 0, 88, 88, 88, 88, 88, 88, 0, 88, 88, 0, 0, 0, 0, 0, 0, 0, 7, 8, 9, 10, 11, 12, 240, 14, 241, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1465, 1465, 1465, 0, 0, 18, 0, 19, 20, 124, 124, 0, 124, 0, 22, 874, 0, 0, 0, 23, 0, 0, 0, 25, 0, 88, 88, 88, 0, 0, 0, 0, 28, 0, 88, 0, 124, 0, 0, 124, 124, 0, 0, 0, 0, 0, 0, 35, 36, 0, 0, 1752, 7, 8, 9, 0, 226, 12, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 1732, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 239, 239, 43, 0, 239, 0, 585, 585, 585, 900, 0, 23, 0, 239, 0, 0, 0, 0, 239, 0, 0, 239, 0, 0, 28, 0, 870, 237, 0, 7, 8, 9, 10, 11, 12, 201, 14, 15, 921, 35, 36, 0, 16, 1774, 0, 0, 0, 0, 0, 0, 0, 0, 292, 228, 0, 296, 18, 0, 19, 20, 0, 0, 0, 229, 870, 22, 0, 0, 0, 0, 23, 42, 0, 0, 25, 921, 230, 0, 0, 0, 0, 1801, 0, 28, 0, 0, 0, 0, 292, 0, 413, 0, 0, 0, 124, 0, 124, 0, 35, 36, 0, 0, 0, 7, 8, 9, 0, 226, 12, 249, 250, 251, 38, 0, 0, 0, 16, 0, 0, 0, 0, 0, 41, 0, 7, 149, 150, 0, 0, 12, 42, 0, 623, 20, 0, 43, 0, 874, 0, 22, 0, 0, 0, 1049, 23, 0, 0, 0, 25, 0, 733, 0, 0, 0, 20, 1854, 1855, 28, 0, 0, 741, 741, 0, 741, 0, 23, 0, 0, 0, 0, 741, 237, 35, 36, 124, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 1869, 228, 0, 0, 0, 237, 237, 237, 35, 36, 239, 229, 0, 0, 0, 591, 0, 417, 419, 42, 0, 0, 38, 0, 1754, 0, 0, 0, 1890, 0, 0, 0, 41, 0, 237, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 43, 0, 0, 0, 1140, 0, 1140, 1140, 0, 741, 0, 0, 0, 1904, 0, 296, 0, 0, 0, 7, 8, 9, 10, 11, 12, 240, 14, 241, 0, 292, 0, 0, 16, 0, 0, 741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 19, 20, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 23, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 124, 124, 28, 0, 0, 0, 0, 1140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 36, 239, 239, 900, 900, 900, 0, 0, 0, 239, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 43, 870, 0, 292, 296, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0, 8, 9, 10, 11, 0, 201, 14, 15, 0, 0, 879, 0, 16, 0, 0, 0, 0, 0, 636, 636, 636, 0, 0, 0, 0, 0, 18, 0, 19, 20, 124, 124, 124, 124, 124, 22, 0, 124, 124, 0, 0, 0, 237, 0, 25, 0, 733, 0, 0, 0, 0, 0, 0, 28, 0, 335, 8, 9, 0, 226, 12, 0, 0, 0, 0, 0, 0, 0, 152, 153, 671, 0, 0, 0, 1658, 149, 150, 0, 0, 12, 0, 0, 734, 0, 0, 20, 0, 0, 0, 0, 0, 0, 735, 124, 124, 124, 23, 0, 0, 0, 0, 0, 736, 0, 0, 737, 738, 0, 0, 28, 0, 0, 0, 0, 0, 23, 0, 0, 0, 741, 741, 0, 0, 741, 35, 359, 741, 0, 28, 0, 0, 0, 0, 0, 0, 741, 0, 0, 896, 741, 741, 741, 0, 35, 36, 0, 741, 0, 897, 1660, 0, 807, 0, 0, 0, 0, 42, 38, 0, 0, 0, 898, 0, 0, 237, 237, 0, 41, 237, 0, 237, 237, 237, 237, 0, 42, 0, 237, 0, 0, 43, 0, 237, 0, 0, 237, 0, 0, 0, 0, 1140, 1140, 1398, 0, 0, 8, 9, 10, 1391, 0, 201, 14, 15, 0, 0, 879, 0, 16, 0, 838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 239, 19, 20, 8, 9, 10, 11, 0, 22, 14, 281, 0, 0, 0, 0, 16, 0, 25, 0, 733, 0, 0, 0, 0, 0, 0, 28, 0, 0, 18, 0, 19, 0, 0, 0, 0, 0, 0, 22, 0, 0, 152, 153, 0, 0, 0, 1398, 25, 0, 733, 0, 881, 0, 0, 0, 1794, 28, 0, 0, 0, 900, 900, 900, 0, 0, 1795, 0, 0, 0, 0, 0, 152, 153, 0, 0, 736, 0, 0, 1796, 738, 239, 0, 0, 0, 0, 734, 0, 0, 8, 9, 0, 226, 0, 0, 0, 735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, 737, 738, 0, 0, 0, 0, 0, 292, 296, 20, 0, 0, 969, 0, 0, 972, 0, 0, 0, 973, 0, 975, 976, 977, 978, 979, 733, 986, 0, 237, 0, 0, 0, 28, 0, 0, 0, 671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 153, 0, 1010, 0, 0, 0, 0, 0, 1049, 1049, 0, 1049, 0, 1794, 0, 0, 0, 0, 0, 237, 0, 237, 237, 1795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 736, 0, 741, 1796, 738, 741, 741, 741, 0, 0, 739, 739, 739, 0, 0, 0, 0, 149, 150, 0, 0, 0, 0, 250, 251, 0, 1071, 0, 0, 16, 1140, 1140, 1140, 1071, 1398, 1398, 1398, 1559, 0, 0, 0, 1140, 0, 8, 9, 10, 11, 0, 837, 14, 15, 0, 22, 0, 0, 16, 0, 0, 0, 0, 237, 25, 0, 733, 0, 0, 0, 0, 0, 18, 28, 19, 237, 237, 237, 237, 237, 591, 22, 0, 237, 149, 150, 0, 0, 152, 153, 25, 623, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 734, 0, 0, 1398, 1398, 1398, 0, 296, 0, 0, 735, 20, 152, 153, 0, 900, 900, 900, 900, 0, 736, 237, 0, 737, 738, 1174, 0, 0, 733, 0, 1179, 0, 0, 0, 0, 28, 0, 0, 0, 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 153, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 734, 695, 696, 697, 698, 699, 700, 701, 702, 703, 735, 0, 807, 0, 0, 0, 0, 0, 0, 0, 736, 0, 0, 737, 738, 0, 0, 0, 0, 0, 0, 0, 1559, 1140, 1140, 1559, 1559, 1559, 0, 0, 1140, 0, 0, 0, 0, 0, 239, 239, 1830, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1711, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 0, 0, 881, 0, 0, 0, 0, 0, 881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 0, 239, 0, 0, 0, 0, 0, 292, 296, 292, 0, 1831, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 237, 1396, 8, 9, 10, 11, 292, 1178, 14, 15, 0, 0, 0, 1327, 16, 0, 0, 0, 1559, 1559, 0, 1559, 0, 0, 0, 0, 0, 0, 18, 0, 19, 237, 0, 0, 1711, 1711, 1814, 22, 0, 739, 739, 0, 739, 0, 0, 0, 25, 0, 0, 1090, 0, 1010, 0, 0, 0, 28, 0, 881, 0, 0, 0, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 152, 153, 0, 0, 0, 0, 0, 1396, 0, 0, 0, 585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 237, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 807, 0, 1386, 0, 0, 237, 1071, 739, 0, 739, 739, 0, 739, 0, 0, 1559, 1559, 1559, 1559, 0, 0, 0, 0, 0, 239, 0, 591, 0, 0, 1711, 1711, 1711, 1814, 1814, 1814, 0, 1711, 1711, 739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 585, 585, 0, 8, 9, 10, 11, 0, 240, 14, 241, 0, 0, 739, 1071, 16, 0, 0, 0, 1559, 0, 0, 0, 0, 1711, 1711, 1711, 1469, 0, 18, 0, 19, 20, 239, 0, 0, 0, 1480, 22, 0, 0, 0, 0, 0, 881, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 292, 28, 881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 153, 0, 0, 1581, 0, 237, 237, 237, 0, 237, 237, 1396, 237, 0, 1560, 0, 237, 0, 0, 881, 0, 881, 0, 0, 0, 474, 475, 0, 476, 477, 0, 478, 479, 0, 0, 0, 0, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 0, 1529, 0, 0, 0, 0, 497, 498, 499, 500, 0, 501, 0, 0, 502, 0, 503, 0, 504, 0, 0, 0, 1396, 1396, 1396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 237, 237, 237, 1071, 505, 0, 0, 842, 0, 0, 506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, 0, 0, 1071, 0, 739, 739, 0, 0, 739, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 1090, 1090, 1090, 0, 0, 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 237, 237, 237, 237, 1396, 0, 0, 237, 0, 0, 0, 0, 0, 237, 237, 0, 0, 0, 0, 1071, 0, 0, 0, 0, 739, 739, 739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 878, 0, 335, 8, 9, 10, 11, 12, 201, 14, 336, 337, 338, 879, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 237, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 1090, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 1071, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 237, 237, 1560, 237, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 0, 0, 0, 0, 474, 475, 0, 476, 477, 0, 478, 479, 0, -823, 0, 371, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 0, 0, 0, 0, 0, 0, 497, 498, 499, 500, 0, 501, 1469, 0, 502, 1396, 503, 0, 504, 0, 0, 0, 0, 0, 980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, 981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 237, 1396, 237, 0, 0, 0, 0, 739, 237, 0, 739, 739, 739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 739, 739, 739, 0, 739, 739, 739, 739, 0, 0, 0, 739, 0, 0, 0, 0, 1396, 1396, 1396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, 474, 475, 0, 476, 477, 0, 478, 479, 237, 0, 0, 0, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 1090, 1090, 1090, 0, 0, 1071, 497, 498, 499, 500, 0, 501, 0, 0, 502, 0, 503, 0, 504, 0, 0, 0, 1071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1430, 0, 0, 8, 9, 10, 11, 505, 201, 14, 15, 0, 0, 759, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 671, 0, 0, 0, 18, 0, 19, 20, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 1430, 0, 25, -997, -997, -997, -997, 807, -997, -997, -997, 28, 0, 0, 0, -997, 739, 739, 739, 739, 739, 739, 0, 0, 739, 0, 152, 153, -995, -997, 20, -997, -997, 0, 0, 0, 0, 0, -997, 0, 0, 0, 0, 739, 0, 0, 0, -997, 0, 0, 0, 0, 0, 0, 0, 0, -997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -997, -997, -997, 0, 0, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 0, 0, 0, 0, 1859, 0, -496, -496, -496, -496, -496, -496, -496, -496, -496, 0, 0, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, 0, -496, 0, 0, 0, 0, 0, -496, -496, -496, -496, 0, -496, 0, 0, -496, -496, -496, -496, -496, 0, 739, 739, 0, 739, -496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 739, 739, 739, -496, -496, -496, -496, -496, 0, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, -496, 0, -496, -496, -496, 0, -496, -496, -496, -496, -496, -496, 0, -496, 0, 0, 0, 0, 1860, 0, 0, 0, 0, -496, -496, -496, 0, -496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 10, 11, 0, 0, 14, 15, 0, 0, 0, 0, 16, 0, 0, 739, 739, 739, 739, 0, 0, 0, 0, 0, 0, 0, 18, 0, 19, 739, 739, 739, 739, 739, 739, 22, 739, 739, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 0, 739, 739, 739, 1594, 0, 1595, 1596, 1597, 10, 11, 12, 201, 14, 336, 337, 338, 0, 339, 16, 1598, 0, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 17, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 1609, 25, 1610, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 1611, 359, 865, 0, 1612, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 1613, 0, 1013, 0, 335, 8, 9, 10, 11, 12, 201, 14, 336, 337, 338, 371, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 1885, 0, -813, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 0, 0, 663, 0, 335, 8, 9, 10, 11, 12, 0, 14, 336, 337, 338, 371, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, -319, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 363, 364, 665, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 666, 370, 0, 0, 868, 0, 999, 1000, 1001, 1002, 1003, 12, 0, 14, 640, 337, 338, 371, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 1004, 1005, 869, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1206, 371, 868, 0, 999, 1000, 1001, 1002, 1003, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 1004, 1005, 869, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -500, 371, 868, 0, 999, 1000, 1001, 1002, 1003, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 1004, 1005, 869, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1633, 371, 868, 0, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 869, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 0, 0, 0, 0, 0, 0, 1637, 663, 0, 7, 8, 9, 10, 1391, 12, 371, 14, 336, 337, 338, 0, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 36, -319, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 1846, 0, 0, 0, 0, 0, 0, 0, 363, 364, 1847, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 1848, 370, 0, 0, 868, 0, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 371, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 869, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 0, 0, 868, 0, 999, 1000, 1001, 1002, 1003, 12, 0, 14, 640, 337, 338, 371, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 1004, 1005, 869, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 0, 0, 1013, 0, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 371, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 360, -813, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 0, 0, 1939, 0, 335, 8, 9, 10, 11, 12, 0, 14, 336, 337, 338, 371, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, -199, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 0, 0, 1013, 0, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 371, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -813, 1114, 371, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 0, 0, 1116, 0, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 371, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 0, 0, 1903, 0, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 371, 339, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 1052, 1595, 1596, 1597, 10, 11, 12, 201, 14, 336, 337, 338, 0, 339, 16, 1598, 0, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 17, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 1609, 25, 1610, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 1611, 359, 865, 0, 1612, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 1613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1761, 371, 1595, 1596, 1597, 10, 11, 12, 201, 14, 336, 337, 338, 0, 339, 16, 1598, 0, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 17, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 1609, 25, 1610, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 1611, 359, 865, 0, 1612, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 1613, 0, 0, 0, 1595, 1596, 1597, 10, 11, 12, 201, 14, 336, 337, 338, 371, 339, 16, 1598, 0, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 17, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 1609, 25, 1610, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 1611, 359, 1913, 0, 1612, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 1613, 0, 0, 0, 1595, 1596, 1597, 10, 11, 12, 201, 14, 336, 337, 338, 371, 339, 16, 1598, 0, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 17, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 1609, 25, 1610, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 1611, 359, 0, 0, 1612, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 1613, 335, 8, 9, 10, 11, 12, 201, 14, 336, 337, 338, 879, 339, 16, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 733, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 1085, 0, 0, 0, 0, 0, 0, 0, 363, 364, 1086, 0, 0, 0, 0, 0, 366, 367, 368, 0, 736, 0, 0, 1087, 1088, 7, 8, 9, 10, 1391, 12, 201, 14, 336, 337, 338, 879, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 733, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 36, 0, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 1460, 0, 0, 0, 0, 0, 0, 0, 363, 364, 1461, 0, 0, 0, 0, 0, 366, 367, 368, 0, 736, 0, 0, 1462, 1088, 335, 8, 9, 10, 11, 12, 0, 14, 336, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 733, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 1085, 0, 0, 0, 0, 0, 0, 0, 363, 364, 1086, 0, 0, 0, 0, 0, 366, 367, 368, 0, 736, 0, 0, 1087, 1088, 7, 8, 9, 10, 1391, 12, 0, 14, 336, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 733, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 1460, 0, 0, 0, 0, 0, 0, 0, 363, 364, 1461, 0, 0, 0, 0, 0, 366, 367, 368, 0, 736, 0, 0, 1462, 1088, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 363, 364, 665, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 666, 370, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 1736, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 335, 8, 9, 10, 11, 12, 201, 14, 336, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 7, 8, 9, 10, 1391, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 36, 0, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 1846, 0, 0, 0, 0, 0, 0, 0, 363, 364, 1847, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 1848, 370, 335, 8, 9, 10, 11, 12, 0, 14, 336, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 358, 359, 0, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 335, 8, 9, 10, 11, 12, 0, 14, 336, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 679, 0, 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 680, 370, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 363, 364, 665, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 666, 370, 335, 8, 9, 994, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 1379, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 360, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 7, 8, 9, 10, 1391, 12, 0, 14, 336, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 20, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 1846, 0, 0, 0, 0, 0, 0, 0, 363, 364, 1847, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 1848, 370, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 641, 370, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 644, 370, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 370, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 648, 370, 335, 8, 9, 10, 11, 12, 0, 14, 640, 337, 338, 0, 339, 16, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 340, 19, 0, 21, 0, 341, 342, 343, 22, 0, 344, 345, 346, 23, 347, 348, 0, 25, 0, 0, 0, 349, 350, 351, 352, 353, 28, 0, 0, 0, 354, 0, 355, 0, 0, 0, 356, 0, 0, 357, 0, 35, 359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 363, 364, 365, 0, 0, 0, 0, 0, 366, 367, 368, 0, 0, 0, 0, 369, 718, 0, 0, 0, 0, 474, 475, 0, 476, 477, 0, 478, 479, 0, 0, 0, 371, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, 0, 0, 0, 0, 0, 0, 497, 498, 499, 500, 0, 501, 0, 0, 502, 0, 503, 0, 504, 0, 8, 9, 10, 11, 0, 201, 14, 15, 8, 9, 10, 11, 16, 201, 14, 15, 0, 0, 879, 505, 16, 0, 0, 0, 0, 506, 18, 0, 19, 20, 0, 0, 0, 0, 18, 22, 19, 20, 0, 0, 0, 0, 0, 22, 801, 0, 0, 202, 0, 0, 0, 0, 25, 28, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 152, 153, 0, 0, 0, 0, 0, 0, 152, 153, 8, 9, 10, 11, 0, 201, 14, 15, 0, 0, 1907, 0, 16, 8, 9, 10, 11, 0, 240, 14, 241, 0, 0, 0, 0, 16, 18, 0, 19, 20, 0, 0, 0, 0, 0, 22, 0, 0, 0, 18, 0, 19, 20, 0, 25, 0, 0, 0, 22, 8, 9, 10, 11, 28, 201, 14, 15, 25, 0, 0, 0, 16, 0, 0, 0, 0, 28, 0, 152, 153, 0, 0, 0, 0, 0, 18, 0, 19, 20, 0, 0, 152, 153, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 153, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 780, 0, 0, 1927, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 1921, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703 }; static const short yycheck[] = { 4, 195, 52, 4, 244, 208, 386, 25, 450, 391, 863, 4, 4, 209, 90, 450, 179, 190, 511, 69, 90, 11, 210, 90, 199, 4, 183, 184, 223, 397, 148, 16, 558, 450, 398, 339, 340, 397, 822, 343, 67, 45, 282, 94, 45, 286, 819, 52, 52, 107, 126, 109, 45, 45, 765, 611, 155, 156, 677, 52, 52, 156, 812, 67, 1437, 1041, 45, 1440, 33, 506, 714, 52, 43, 52, 378, 935, 543, 937, 82, 155, 572, 146, 421, 155, 1719, 945, 1614, 1177, 244, 1428, 94, 331, 65, 252, 253, 1489, 1490, 253, 4, 52, 176, 105, 1177, 107, 1828, 109, 1154, 52, 93, 176, 1851, 169, 1506, 1161, 1436, 64, 14, 1, 1827, 13, 74, 832, 13, 403, 404, 129, 130, 278, 13, 0, 40, 158, 7, 1455, 1829, 78, 13, 78, 11, 45, 1881, 1624, 7, 128, 670, 110, 52, 511, 1631, 90, 13, 391, 35, 203, 158, 587, 397, 50, 538, 65, 114, 67, 238, 595, 1, 169, 7, 171, 1, 63, 160, 238, 63, 1882, 597, 50, 4, 75, 63, 158, 78, 124, 7, 210, 78, 50, 63, 951, 50, 469, 470, 614, 76, 957, 244, 199, 14, 273, 203, 203, 63, 1942, 252, 253, 77, 7, 210, 86, 7, 50, 203, 203, 183, 184, 185, 125, 109, 45, 199, 1, 199, 297, 203, 1918, 203, 50, 124, 297, 7, 75, 124, 124, 282, 124, 109, 110, 209, 74, 1577, 124, 189, 74, 125, 1967, 109, 78, 50, 109, 50, 563, 203, 50, 158, 4, 50, 65, 50, 75, 203, 230, 78, 643, 124, 1657, 75, 76, 172, 50, 109, 110, 78, 50, 1666, 1667, 1983, 1669, 29, 4, 111, 125, 33, 331, 90, 124, 109, 110, 235, 38, 1923, 388, 41, 655, 74, 199, 45, 76, 78, 203, 283, 124, 1828, 52, 1624, 209, 210, 109, 862, 109, 110, 1885, 109, 110, 4, 109, 110, 109, 388, 57, 45, 1083, 396, 75, 124, 76, 7, 124, 109, 80, 332, 111, 109, 110, 383, 1106, 50, 4, 1109, 0, 864, 1429, 1416, 391, 50, 94, 125, 124, 441, 50, 406, 1832, 90, 257, 231, 45, 1429, 1431, 720, 551, 1406, 1935, 3, 4, 5, 6, 7, 369, 564, 50, 433, 248, 124, 27, 125, 1157, 572, 90, 45, 1150, 1151, 383, 407, 1131, 90, 52, 57, 802, 50, 76, 392, 757, 857, 858, 57, 109, 589, 1174, 1040, 473, 762, 209, 1179, 109, 406, 407, 454, 78, 109, 158, 1891, 846, 583, 78, 397, 50, 4, 5, 80, 90, 74, 1183, 90, 11, 78, 580, 581, 90, 109, 110, 407, 72, 73, 50, 183, 184, 593, 594, 125, 9, 594, 75, 41, 639, 601, 80, 886, 109, 450, 257, 199, 453, 90, 886, 203, 792, 613, 111, 3, 124, 450, 951, 1943, 8, 75, 1857, 1858, 957, 109, 57, 40, 459, 10, 11, 109, 632, 672, 51, 16, 228, 229, 452, 1244, 861, 72, 73, 14, 726, 33, 767, 124, 158, 109, 57, 91, 1257, 93, 545, 86, 44, 463, 39, 882, 407, 4, 5, 508, 7, 96, 705, 48, 11, 50, 124, 78, 711, 50, 50, 1135, 3, 4, 5, 110, 57, 8, 78, 1235, 72, 73, 1291, 109, 1293, 199, 33, 75, 609, 203, 90, 129, 130, 109, 86, 545, 545, 612, 593, 594, 75, 452, 605, 78, 96, 80, 601, 1528, 751, 90, 57, 76, 104, 44, 635, 75, 759, 109, 613, 545, 51, 545, 76, 572, 109, 72, 73, 173, 109, 109, 27, 91, 29, 75, 180, 638, 124, 632, 78, 86, 612, 72, 73, 109, 74, 1963, 1083, 50, 78, 96, 90, 74, 1370, 1371, 839, 78, 605, 64, 65, 66, 125, 74, 109, 612, 580, 581, 582, 80, 3, 4, 5, 125, 4, 104, 612, 984, 50, 74, 64, 65, 66, 78, 124, 229, 50, 90, 109, 383, 612, 638, 1419, 57, 641, 109, 545, 644, 50, 452, 90, 648, 1505, 650, 651, 652, 653, 654, 109, 656, 856, 829, 731, 407, 29, 45, 111, 50, 33, 666, 125, 715, 52, 76, 57, 574, 90, 123, 747, 50, 677, 4, 5, 680, 1203, 4, 5, 109, 587, 72, 73, 125, 50, 1242, 967, 109, 595, 1132, 1183, 27, 294, 64, 65, 66, 1132, 793, 450, 109, 800, 80, 75, 76, 800, 612, 94, 1684, 50, 78, 715, 3, 4, 5, 1132, 57, 8, 216, 109, 770, 57, 90, 75, 603, 51, 1094, 57, 76, 1043, 57, 109, 110, 737, 1094, 4, 5, 795, 407, 91, 744, 50, 72, 73, 109, 33, 72, 73, 50, 90, 78, 910, 1244, 44, 90, 125, 86, 3, 4, 5, 51, 811, 8, 748, 574, 1257, 96, 918, 109, 920, 96, 158, 57, 583, 925, 57, 74, 587, 1562, 90, 110, 72, 73, 801, 50, 595, 1090, 4, 5, 839, 50, 795, 50, 125, 545, 57, 769, 74, 44, 1291, 109, 1293, 829, 72, 73, 809, 57, 109, 90, 813, 928, 57, 199, 104, 75, 76, 203, 3, 4, 5, 109, 572, 57, 899, 57, 829, 72, 73, 90, 580, 581, 835, 882, 57, 51, 808, 840, 810, 811, 90, 1038, 1039, 78, 109, 862, 1125, 1044, 75, 76, 109, 829, 109, 91, 1094, 90, 72, 73, 124, 104, 124, 910, 612, 1060, 769, 1062, 935, 1064, 937, 64, 65, 66, 57, 60, 943, 47, 945, 545, 4, 5, 96, 75, 76, 886, 27, 57, 29, 72, 73, 1444, 1084, 110, 3, 4, 5, 952, 953, 8, 955, 75, 76, 73, 1099, 808, 809, 810, 811, 94, 95, 935, 882, 937, 1437, 1696, 90, 1440, 942, 943, 124, 945, 1092, 124, 522, 1120, 829, 525, 1481, 4, 5, 125, 125, 74, 935, 44, 937, 78, 1428, 537, 76, 27, 943, 29, 945, 935, 612, 937, 72, 73, 951, 952, 953, 1332, 955, 945, 957, 114, 75, 935, 57, 937, 769, 72, 73, 75, 76, 715, 41, 945, 111, 72, 942, 43, 91, 109, 93, 575, 568, 882, 578, 78, 57, 886, 57, 3, 734, 735, 74, 737, 127, 1191, 78, 90, 592, 104, 744, 72, 73, 383, 76, 808, 1197, 810, 811, 1316, 1317, 90, 1285, 1286, 1287, 86, 57, 78, 1333, 1334, 1003, 1336, 110, 1800, 1093, 96, 1095, 407, 127, 111, 341, 342, 3, 4, 5, 57, 935, 78, 937, 4, 5, 109, 1039, 942, 943, 110, 945, 1044, 90, 90, 109, 362, 4, 5, 365, 7, 78, 368, 90, 11, 90, 372, 4, 5, 650, 376, 938, 939, 90, 90, 450, 1428, 75, 384, 1143, 172, 948, 4, 5, 882, 1077, 33, 27, 1143, 29, 829, 1083, 75, 91, 109, 1087, 1577, 57, 190, 57, 1239, 1240, 1241, 684, 75, 76, 72, 73, 1949, 109, 57, 70, 72, 73, 51, 3, 4, 5, 6, 7, 78, 1094, 183, 184, 185, 72, 73, 57, 109, 51, 125, 712, 90, 78, 74, 72, 73, 718, 78, 86, 1132, 75, 1134, 1135, 942, 90, 1138, 886, 78, 96, 72, 73, 1132, 57, 1337, 247, 1458, 896, 897, 96, 90, 124, 109, 255, 109, 1467, 1468, 1159, 124, 230, 545, 111, 829, 124, 1476, 1153, 124, 1169, 90, 1138, 272, 4, 5, 74, 72, 73, 75, 74, 1180, 4, 5, 1183, 60, 9, 10, 11, 935, 572, 937, 1360, 16, 90, 91, 76, 93, 1269, 945, 1168, 96, 75, 76, 1269, 951, 1180, 1269, 1729, 78, 33, 957, 90, 1278, 90, 1214, 39, 124, 1577, 4, 5, 51, 75, 76, 1745, 48, 1248, 1395, 1227, 51, 612, 99, 100, 3, 4, 5, 6, 7, 1237, 125, 1392, 1393, 72, 73, 75, 1244, 1623, 50, 1214, 80, 72, 73, 124, 1446, 1424, 1448, 1278, 1450, 1257, 90, 91, 125, 1420, 1421, 1539, 50, 96, 1168, 1169, 75, 76, 935, 57, 937, 96, 127, 4, 5, 127, 1278, 1248, 945, 75, 76, 3, 4, 5, 72, 73, 1342, 1278, 29, 1291, 90, 1293, 1366, 1170, 57, 894, 895, 90, 86, 72, 73, 1278, 7, 902, 90, 1460, 1461, 127, 96, 14, 32, 127, 390, 391, 392, 29, 75, 76, 106, 33, 51, 109, 110, 1397, 29, 124, 1328, 1851, 33, 124, 715, 1643, 1397, 124, 1083, 57, 1085, 1086, 1087, 74, 1342, 72, 73, 124, 1248, 50, 75, 76, 664, 665, 72, 73, 737, 57, 1550, 75, 76, 1881, 10, 744, 1168, 75, 76, 1365, 109, 96, 80, 127, 50, 1681, 75, 76, 78, 78, 1278, 80, 3, 4, 5, 6, 7, 127, 1553, 1132, 1261, 1909, 80, 1136, 1137, 1138, 1267, 1268, 1394, 109, 1271, 1272, 75, 125, 1275, 1424, 57, 76, 39, 1391, 109, 110, 80, 80, 4, 5, 1159, 80, 124, 74, 1416, 11, 124, 913, 1942, 124, 4, 5, 1424, 1392, 1393, 1394, 1500, 1621, 1444, 1623, 1432, 1180, 1500, 1435, 1183, 1875, 1622, 1505, 60, 1963, 1248, 124, 1875, 76, 829, 72, 73, 1424, 14, 33, 76, 553, 124, 1455, 124, 78, 1455, 1048, 1435, 124, 1462, 57, 124, 80, 1455, 1214, 50, 3, 4, 5, 6, 7, 574, 57, 124, 124, 72, 73, 1455, 80, 1505, 583, 80, 127, 1388, 3, 4, 5, 72, 73, 86, 1460, 1461, 1462, 91, 1244, 109, 75, 600, 1879, 96, 886, 86, 1505, 11, 109, 124, 14, 1257, 580, 581, 582, 96, 1180, 1505, 51, 964, 965, 966, 1897, 1424, 124, 106, 91, 124, 109, 110, 91, 1505, 1278, 3, 4, 5, 6, 7, 124, 72, 73, 1137, 124, 91, 124, 1291, 50, 1293, 1422, 1423, 10, 11, 91, 935, 78, 937, 16, 72, 73, 1558, 124, 78, 124, 945, 124, 43, 124, 1566, 124, 951, 78, 75, 75, 77, 78, 957, 80, 124, 1623, 39, 78, 51, 124, 1388, 124, 110, 127, 91, 48, 93, 1395, 96, 97, 98, 99, 100, 1497, 127, 104, 1567, 1568, 1502, 72, 73, 1505, 109, 110, 90, 4, 5, 50, 7, 124, 124, 1278, 1614, 125, 1363, 1364, 1365, 124, 76, 1693, 1622, 125, 1624, 1614, 127, 1624, 124, 127, 124, 1631, 124, 124, 1631, 1624, 33, 60, 75, 1614, 1640, 80, 1631, 1879, 80, 1392, 1393, 1394, 1237, 1624, 6, 75, 1621, 1843, 1623, 75, 1631, 78, 1811, 1812, 57, 124, 124, 1973, 109, 1567, 1568, 109, 125, 1475, 3, 4, 5, 6, 7, 72, 73, 1424, 1580, 109, 109, 125, 10, 3, 4, 5, 6, 7, 1435, 86, 124, 1497, 124, 1846, 1847, 60, 124, 124, 76, 96, 1083, 127, 124, 76, 1087, 184, 185, 124, 1455, 1709, 124, 127, 109, 1460, 1461, 1462, 125, 124, 76, 1621, 1622, 1623, 124, 35, 57, 1472, 1473, 80, 124, 124, 124, 1930, 808, 124, 810, 811, 124, 813, 1052, 72, 73, 1055, 1709, 124, 57, 124, 78, 1553, 124, 1132, 127, 230, 72, 73, 74, 1138, 1250, 1251, 1505, 1424, 50, 1567, 1568, 839, 60, 124, 112, 124, 78, 124, 1435, 1085, 1086, 4, 5, 78, 1159, 76, 76, 11, 18, 76, 124, 1277, 9, 10, 11, 1754, 1282, 1664, 1665, 16, 1389, 1390, 76, 124, 1796, 1180, 124, 124, 1183, 124, 1399, 124, 60, 78, 882, 75, 33, 1556, 1557, 1558, 109, 1813, 39, 1621, 47, 1623, 109, 1566, 80, 76, 1822, 48, 76, 109, 57, 1827, 1828, 1829, 1827, 1214, 1832, 1879, 1803, 1832, 57, 60, 1827, 1828, 1505, 72, 73, 1832, 1811, 1812, 1813, 127, 1848, 19, 109, 76, 1827, 1828, 76, 57, 60, 1832, 124, 76, 124, 1244, 123, 113, 13, 76, 1455, 1614, 3, 4, 5, 6, 7, 124, 1257, 1875, 124, 1624, 76, 1846, 1847, 1848, 1882, 76, 1631, 1882, 3, 4, 5, 109, 369, 1891, 9, 1882, 1891, 1278, 75, 80, 124, 76, 124, 1803, 1891, 13, 76, 124, 1808, 1882, 1291, 13, 1293, 1880, 76, 0, 1816, 32, 1891, 50, 1918, 228, 229, 0, 57, 40, 0, 204, 45, 1516, 1517, 1518, 1519, 2, 1743, 793, 1132, 545, 203, 72, 73, 74, 57, 943, 38, 1943, 1929, 41, 1943, 43, 1444, 114, 1983, 273, 1728, 171, 1943, 72, 73, 1554, 1555, 1529, 1707, 1708, 1709, 334, 1561, 1065, 1118, 869, 1943, 102, 103, 67, 1072, 69, 107, 108, 109, 110, 1880, 75, 908, 1113, 1365, 1983, 277, 1278, 1983, 1242, 1502, 1065, 1111, 1797, 1092, 1481, 1983, 776, 1072, 1803, 715, 943, 235, 1495, 1496, 672, 1498, 1499, 388, 1501, 1983, 146, 1896, 1394, 1456, 1949, 1961, 1959, 1092, 1222, 1607, 1640, 30, 1412, 950, 1568, 1705, 1339, 1171, 846, 956, 1803, 847, 1435, 1816, 1099, 762, 1624, 1911, 9, 10, 11, 384, 1424, 1631, 984, 16, 761, -1, 1794, 1795, 1796, -1, -1, 1435, 532, 533, -1, -1, 3, 4, 5, 1866, 33, 8, -1, 1811, 1812, 1813, 39, -1, 1138, -1, -1, 1455, -1, 1880, 1822, 48, 173, -1, 1462, 1827, 1828, 1829, -1, 180, 1832, -1, 183, 184, 185, -1, -1, -1, 1682, -1, -1, -1, -1, 44, 1846, 1847, -1, 581, 582, 76, 51, -1, -1, -1, -1, -1, 1708, -1, -1, 210, 3, 4, 5, 6, 7, 216, -1, 1505, -1, 4, 5, 72, 73, 1875, -1, 10, 11, 228, 229, 230, 1882, 16, -1, 3, 4, 5, 6, 7, 8, 1891, 1214, 1460, 1461, 244, 1738, 1078, -1, 1080, -1, -1, -1, 252, 253, 104, 39, 1654, 1655, 641, -1, -1, 644, -1, -1, 48, 648, 50, 1918, -1, -1, -1, 1558, -1, 57, -1, 44, -1, -1, -1, 1566, 72, 73, 665, 666, -1, -1, -1, -1, 72, 73, -1, -1, 1943, -1, 294, -1, -1, 680, -1, -1, -1, -1, 86, 72, 73, -1, -1, -1, 1809, 1810, -1, -1, 96, -1, 1815, -1, 3, 4, 5, 6, 7, -1, 106, -1, -1, 109, 110, 1614, -1, 1822, -1, -1, 1983, -1, 1827, 1828, 1829, 1624, 1, 1832, 3, 4, 5, -1, 1631, 8, -1, 10, 3, 4, 5, 6, 7, -1, -1, -1, 1360, -1, 450, -1, -1, 744, 575, -1, -1, 578, -1, 580, 581, 369, 1871, 1872, 1873, -1, -1, -1, 1774, 1775, 1776, 592, 1360, 44, -1, -1, 1388, 72, 73, -1, 51, 1882, -1, 1395, -1, -1, 57, -1, 1614, -1, 1891, -1, 3, 4, 5, 6, 7, -1, -1, -1, 1388, 72, 73, -1, -1, -1, -1, 1395, -1, 72, 73, 1392, 1393, 1394, 1709, -1, -1, 1918, -1, -1, -1, -1, 1, -1, -1, 4, 5, 6, 7, -1, -1, 10, 11, 104, -1, -1, 1937, 16, -1, -1, -1, -1, 1943, -1, -1, 453, 454, -1, 1854, 1855, 1290, 30, 1292, 32, -1, -1, -1, 1958, -1, -1, 39, 72, 73, 1475, -1, -1, 1967, -1, -1, 48, -1, -1, 572, -1, -1, -1, -1, -1, 57, 1460, 1461, 1462, 1983, -1, -1, 64, 65, 66, -1, -1, -1, -1, -1, 72, 73, -1, -1, 76, -1, -1, -1, 1796, -1, -1, -1, -1, 897, 898, -1, -1, -1, -1, -1, -1, 522, -1, 1356, 525, 1813, -1, -1, -1, -1, 531, 532, 533, -1, 1822, 1934, 537, 564, -1, 1827, 1828, 1829, -1, -1, 1832, 572, -1, -1, 1553, -1, -1, -1, -1, 125, 3, 4, 5, 6, 7, -1, 9, 10, 11, 3, 4, 5, -1, -1, 8, -1, -1, -1, 1553, -1, 575, -1, -1, 578, -1, 580, 581, 582, -1, -1, 33, 586, 970, 1875, -1, -1, 39, 592, 593, 594, 1882, -1, 597, -1, -1, 1580, 601, 41, 42, 1891, 44, -1, -1, -1, 57, -1, -1, -1, 639, 614, -1, -1, -1, 57, -1, -1, -1, -1, -1, 72, 73, 74, -1, 1846, 1847, -1, 1918, -1, 72, 73, -1, -1, 3, 4, 5, -1, 641, 8, -1, 644, 737, 672, -1, 648, -1, -1, -1, 744, 1485, 680, -1, 1943, -1, -1, 1491, -1, -1, -1, -1, 664, 665, 666, 33, -1, -1, -1, 119, 120, 121, -1, -1, -1, -1, 44, 705, 680, 894, 895, 896, 897, 711, -1, -1, -1, 902, -1, 57, 9, 10, 11, -1, 1983, -1, -1, 16, -1, -1, -1, 1086, 1087, -1, 72, 73, -1, -1, -1, 1543, -1, -1, -1, -1, 33, -1, 744, -1, 86, -1, 39, -1, -1, 751, -1, -1, -1, -1, 96, 48, -1, 759, 734, 735, 1709, 737, 104, -1, -1, -1, -1, 109, 744, 92, 93, 94, 95, 96, 97, 98, 99, 100, -1, 1138, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, 770, -1, -1, 16, -1, 3, 4, 5, -1, -1, 8, 1754, -1, -1, -1, -1, -1, 30, -1, 32, 33, 34, -1, 1797, 886, -1, 39, -1, -1, -1, -1, 44, -1, -1, 1808, 48, -1, -1, 51, 809, -1, 811, 812, -1, 57, -1, 44, 1797, -1, -1, -1, -1, -1, 51, -1, -1, -1, -1, 1808, 72, 73, 1214, -1, -1, -1, -1, 1816, -1, 1811, 1812, 1813, 1673, 1674, 86, 72, 73, -1, 3, 4, 5, -1, 7, 8, 96, -1, 11, -1, 1689, -1, 951, -1, 104, 1866, -1, -1, 957, 109, -1, 96, -1, -1, 114, -1, 1846, 1847, 1848, 104, 33, -1, -1, -1, -1, 882, -1, -1, -1, 1866, -1, 44, -1, -1, -1, -1, -1, 894, 895, 896, 897, 898, -1, -1, 57, 902, -1, -1, -1, 3, 4, 5, -1, 910, 8, -1, 913, -1, -1, 72, 73, -1, -1, -1, -1, -1, 1136, 1137, -1, -1, -1, -1, -1, 86, -1, -1, -1, 1766, -1, 1768, -1, -1, -1, 96, -1, -1, 943, 970, -1, -1, 44, 104, -1, -1, 1783, 1784, 109, 51, -1, -1, -1, 1, -1, -1, 4, 5, 6, 7, -1, -1, 10, 11, -1, 970, -1, -1, 16, -1, 72, 73, -1, -1, -1, -1, 1364, 1365, -1, -1, -1, -1, 30, -1, 32, -1, 1083, -1, -1, -1, 1087, 39, -1, -1, 96, -1, -1, -1, -1, -1, 48, -1, 104, -1, -1, 1393, 1394, 1038, 1039, 57, 1228, 1229, 1230, 1044, -1, -1, 64, 65, 66, -1, -1, -1, -1, -1, 72, 73, -1, -1, 76, 1060, -1, 1062, -1, 1064, -1, 1132, -1, -1, -1, -1, 1, 1138, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3, 4, 5, -1, 16, 8, -1, -1, -1, -1, 1066, -1, -1, 1069, -1, -1, -1, 1099, 30, -1, 32, 33, 1461, 1462, -1, 1081, 125, 39, -1, 1085, 1086, 1087, 44, -1, -1, 1183, 48, -1, 1120, 51, -1, 44, -1, -1, -1, 57, -1, 50, -1, -1, -1, -1, 92, -1, 57, -1, -1, -1, -1, -1, 72, 73, -1, -1, 76, -1, 1214, -1, -1, 72, 73, -1, -1, -1, 86, 1131, -1, -1, -1, -1, 1136, 1137, 1138, 86, 96, 94, 95, 96, 97, 98, 99, 100, 104, 96, -1, -1, 1244, 109, -1, -1, 4, 104, -1, 106, -1, -1, 109, 110, -1, 1257, -1, -1, 16, 1169, -1, 1197, -1, -1, 1557, 1558, 1389, 1390, 26, 1392, 1393, -1, -1, -1, 4, 5, 1399, 7, 1214, -1, 38, 11, -1, 41, -1, 43, -1, 45, -1, 1291, -1, 1293, -1, -1, 52, -1, -1, -1, -1, 193, -1, -1, -1, 33, 1214, -1, -1, 65, -1, 67, -1, 3, 4, 5, -1, 7, 8, 75, 1228, 1229, 1230, -1, -1, -1, 82, -1, -1, 57, -1, -1, -1, 225, -1, -1, -1, 93, 94, 1460, 1461, -1, 1250, 1251, 72, 73, -1, 239, -1, -1, -1, 1472, 1473, -1, 44, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, 1365, -1, 57, 96, 1277, -1, -1, 128, -1, 1282, -1, -1, -1, -1, -1, -1, 109, 72, 73, -1, -1, 76, -1, 78, -1, -1, -1, -1, -1, 1394, -1, 86, -1, -1, -1, 156, -1, 158, -1, -1, -1, 96, 3, 4, 5, -1, 7, 8, -1, 104, 11, 172, 173, 1709, 109, -1, 177, -1, -1, 180, -1, -1, 183, 184, 185, -1, -1, -1, 1554, 1555, 1556, 1557, 33, -1, -1, 1561, -1, -1, 199, -1, -1, -1, 203, 44, -1, -1, -1, -1, 209, 210, 1363, 1364, 1365, -1, -1, -1, 57, 1462, 1754, -1, -1, 3, 4, 5, -1, 7, 8, 228, 229, 230, -1, 72, 73, -1, -1, -1, 1389, 1390, -1, 1392, 1393, 1394, -1, -1, -1, 86, 1399, -1, 3, 4, 5, -1, -1, 8, -1, 96, 257, -1, -1, -1, -1, -1, 44, 104, -1, -1, -1, 1446, 109, 1448, -1, 1450, -1, 274, -1, 57, 1812, 1813, -1, 1432, -1, -1, 283, -1, -1, -1, -1, -1, -1, 44, 72, 73, -1, 294, 76, -1, 51, -1, -1, -1, -1, -1, -1, -1, 86, -1, -1, 1460, 1461, 1462, -1, 1847, 1848, 1558, 96, -1, -1, 72, 73, 1472, 1473, 1474, 104, -1, -1, 1691, 1692, 109, 1694, -1, -1, 332, 333, -1, -1, -1, -1, -1, -1, -1, -1, 96, 1495, 1496, -1, 1498, 1499, -1, 1501, 104, -1, -1, -1, 3, 4, 5, -1, 7, 8, -1, -1, 11, 3, 4, 5, 6, 7, -1, 9, 10, 11, 1550, 3, 4, 5, -1, -1, 8, -1, -1, -1, -1, 383, 33, -1, -1, -1, 388, -1, 390, 391, 392, 33, -1, 44, -1, -1, -1, 39, -1, 50, 1554, 1555, 1556, 1557, 1558, 407, 57, 1561, -1, -1, -1, -1, 44, -1, -1, -1, -1, -1, -1, 51, -1, 72, 73, -1, 3, 4, 5, 1794, 1795, 8, 72, 73, 11, -1, -1, 86, -1, -1, -1, 441, 72, 73, -1, -1, -1, 96, -1, 585, 450, -1, 452, 453, 590, 104, 33, 106, -1, -1, 109, 110, -1, -1, -1, 1709, 96, 44, -1, -1, 1622, 1623, -1, 50, 104, -1, -1, -1, -1, 615, 57, 1846, 1847, -1, -1, 621, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 633, 634, -1, 636, -1, 1654, 1655, -1, -1, -1, -1, 508, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 96, -1, -1, 522, -1, -1, 525, -1, 104, -1, 106, -1, -1, 109, 110, -1, -1, -1, 537, -1, 1691, 1692, -1, 1694, -1, -1, 545, -1, -1, 3, 4, 5, -1, 1796, 8, -1, 1707, 1708, 1709, 3, 4, 5, 6, 7, -1, 9, 10, 11, -1, -1, 1813, -1, -1, -1, -1, 574, 575, 1754, -1, 578, -1, 580, 581, 582, 583, -1, -1, -1, 587, -1, 44, -1, -1, 592, -1, -1, 595, 51, -1, -1, -1, -1, -1, 1754, -1, 740, 741, -1, -1, -1, 745, -1, -1, 612, -1, -1, -1, -1, 72, 73, -1, -1, -1, 1774, 1775, 1776, -1, -1, 72, 73, -1, -1, 1875, -1, -1, -1, -1, -1, -1, -1, -1, -1, 96, 1794, 1795, 1796, -1, -1, -1, -1, 104, -1, 651, 652, 653, 654, -1, 656, 1809, 1810, 1811, 1812, 1813, -1, 1815, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, 16, -1, -1, -1, 1846, 1847, 1848, -1, -1, -1, -1, -1, 1854, 1855, 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, 40, 715, -1, 717, 44, 1871, 1872, 1873, 48, 49, -1, 51, -1, -1, -1, -1, -1, 57, 732, -1, 734, 735, 62, 737, -1, -1, -1, -1, -1, -1, 744, -1, 72, 73, 748, -1, 76, -1, 78, -1, -1, -1, -1, -1, -1, -1, 86, -1, -1, -1, 900, -1, -1, -1, -1, 769, 96, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, 1934, 109, 3, 4, 5, -1, 7, 8, -1, -1, 11, 793, -1, -1, -1, -1, -1, 125, 800, -1, -1, -1, -1, -1, -1, -1, 808, 809, 810, 811, 812, 813, 33, -1, -1, -1, -1, -1, -1, -1, 958, -1, 960, 44, -1, -1, -1, 829, -1, 50, -1, -1, -1, 835, -1, -1, 57, 839, 840, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 72, 73, -1, -1, -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, 86, 24, -1, -1, -1, -1, 29, 30, -1, 32, 96, 34, -1, -1, -1, 882, -1, -1, 104, 886, 106, -1, -1, 109, 110, -1, -1, 894, 895, 896, 897, 898, -1, -1, -1, 902, -1, -1, -1, -1, -1, -1, -1, 1046, 1047, -1, 1049, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 931, -1, -1, -1, 935, -1, 937, -1, -1, -1, -1, 942, 943, -1, 945, 1082, -1, 3, 4, 5, 951, 7, 8, -1, 3, 4, 957, 6, 7, -1, 9, 10, -1, 964, 965, 966, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, 44, 146, 39, 40, 41, 42, 50, 44, -1, -1, 47, -1, 49, 57, 51, 1140, 161, -1, 163, -1, -1, -1, -1, 168, -1, -1, -1, -1, 72, 73, -1, 3, 4, 5, -1, 72, 8, 182, -1, 11, -1, 78, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, 104, 33, 106, -1, -1, 109, 110, 4, 5, 6, 7, -1, 44, 10, 11, -1, 1065, 1066, 50, 16, 1069, -1, -1, 1072, -1, 57, -1, -1, 1077, -1, 127, -1, 1081, 30, 1083, 32, 1085, 1086, 1087, -1, 72, 73, 39, 1092, -1, 1094, -1, -1, -1, -1, -1, 48, -1, -1, 86, -1, -1, -1, 1243, -1, 57, -1, -1, -1, 96, -1, -1, -1, 273, 274, -1, 1256, 104, -1, 106, 72, 73, 109, 110, -1, -1, 286, -1, 1132, -1, 1134, -1, 1136, 1137, 1138, -1, -1, 3, 4, 5, -1, 7, 8, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, 1159, -1, 16, -1, -1, -1, -1, -1, -1, 1168, 1169, -1, 33, -1, -1, -1, 30, -1, 32, 33, 34, 1180, -1, 44, 1183, 39, -1, -1, -1, -1, 44, -1, -1, -1, 48, -1, 57, 51, 4, 5, -1, 7, -1, 57, -1, 11, 361, -1, -1, -1, -1, 72, 73, -1, -1, 1214, 1351, -1, 72, 73, -1, -1, -1, -1, -1, 86, -1, 33, 1227, 1228, 1229, 1230, 86, -1, -1, 96, -1, -1, -1, -1, -1, -1, 96, 104, 50, 1244, -1, -1, 109, 1248, 104, 57, -1, -1, 409, 109, 411, -1, 1257, -1, 114, -1, -1, 1398, -1, 420, 72, 73, 734, 735, -1, 1270, -1, -1, -1, -1, -1, -1, 433, 1278, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 96, -1, 1291, -1, 1293, -1, -1, -1, -1, -1, 106, -1, 457, 109, 110, -1, 461, -1, -1, -1, 465, -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, 16, -1, 1328, -1, -1, -1, -1, 1333, 1334, -1, 1336, -1, -1, -1, 30, -1, 32, 33, -1, -1, -1, -1, -1, 39, 506, -1, -1, -1, 44, -1, -1, -1, 48, -1, 1360, 51, -1, 1363, 1364, 1365, -1, 57, -1, -1, -1, 1507, -1, -1, -1, 1511, -1, -1, -1, -1, -1, -1, 72, 73, -1, -1, 76, -1, 1388, 1389, 1390, -1, 1392, 1393, 1394, 1395, 86, -1, -1, 1399, -1, -1, -1, -1, 94, 95, 96, -1, -1, 1545, -1, -1, -1, -1, 104, -1, 1416, -1, -1, 109, -1, -1, -1, 1559, 1424, -1, -1, -1, -1, -1, -1, -1, 1432, -1, -1, 1435, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, 14, 609, 16, -1, -1, -1, -1, -1, 1460, 1461, 1462, -1, -1, -1, -1, -1, 30, -1, 32, 33, 1472, 1473, 1474, 1475, -1, 39, -1, -1, -1, -1, 44, -1, -1, -1, 48, -1, 50, -1, -1, -1, -1, -1, -1, 57, -1, 1497, -1, -1, -1, 657, 1502, -1, -1, 1505, -1, -1, -1, -1, 72, 73, 1648, -1, -1, -1, -1, 1653, -1, -1, -1, -1, -1, 679, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 96, -1, -1, -1, -1, 1675, 1676, -1, 104, -1, 106, -1, -1, 109, 110, -1, -1, -1, -1, 1553, 1554, 1555, 1556, 1557, 1558, -1, -1, 1561, -1, -1, 4, -1, 1566, 1567, 1568, -1, 726, -1, -1, -1, -1, 1711, 16, -1, -1, -1, 1580, -1, -1, -1, -1, 25, 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, 1066, -1, 41, 1069, 43, -1, 45, -1, -1, -1, -1, -1, -1, 52, -1, 1081, -1, -1, -1, 1085, 1086, 776, 1621, 1622, 1623, -1, 65, -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, 1640, -1, 82, -1, -1, 801, 3, 4, 5, -1, 7, 8, -1, -1, 94, -1, 812, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1136, 1137, -1, -1, -1, -1, -1, 33, -1, 1814, -1, 836, 3, 4, 5, -1, 7, 8, 44, -1, 11, 846, 1691, 1692, 50, 1694, -1, -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, 1707, 1708, 1709, -1, 33, -1, 869, -1, 72, 73, -1, 158, -1, -1, -1, 44, -1, -1, -1, -1, -1, -1, 86, -1, -1, 172, 173, -1, 57, -1, -1, -1, 96, 180, -1, -1, 183, 184, 185, -1, 104, -1, 106, 72, 73, 109, 110, 1754, -1, -1, -1, -1, 199, -1, -1, -1, 203, 86, -1, -1, -1, -1, 209, 210, -1, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, -1, 109, 228, 229, 230, -1, -1, -1, 1794, 1795, 1796, 1797, -1, -1, -1, -1, -1, 1803, -1, -1, -1, -1, 1808, 1809, 1810, 1811, 1812, 1813, -1, 1815, 1816, 257, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 3, 4, 5, -1, 7, 8, -1, -1, 11, -1, -1, 1846, 1847, 1848, -1, -1, -1, -1, -1, 294, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 1866, -1, -1, -1, -1, 1871, 1872, 1873, -1, 1875, 44, -1, -1, -1, 1880, -1, 50, -1, -1, -1, -1, -1, -1, 57, -1, -1, 332, 333, -1, -1, 1363, 1364, -1, -1, -1, -1, -1, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 86, -1, -1, -1, 1389, 1390, -1, 1392, 1393, -1, 96, -1, -1, -1, 1399, -1, -1, -1, 104, -1, 106, -1, -1, 109, 110, 383, -1, -1, -1, -1, 388, -1, 390, 391, 392, -1, -1, 1111, -1, 397, -1, -1, -1, -1, 1118, -1, -1, -1, -1, 407, 1, -1, -1, 4, 5, 6, 7, 1131, -1, 10, 11, -1, -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1460, 1461, -1, -1, 30, -1, 32, -1, 441, -1, -1, -1, -1, 39, -1, 41, 42, 450, -1, 452, 453, -1, 48, -1, 50, -1, -1, -1, -1, -1, -1, 57, -1, 3, 4, 5, 1185, 7, 8, -1, -1, -1, -1, -1, -1, -1, 72, 73, -1, 75, -1, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 44, 508, 102, 103, 104, -1, -1, 107, -1, -1, 110, -1, -1, 57, -1, 522, -1, -1, 525, -1, 1554, 1555, 1556, 1557, -1, -1, 126, 1561, 72, 73, 537, -1, -1, -1, 78, -1, -1, -1, 545, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, 3, 4, 5, 96, 7, 8, -1, -1, 11, -1, -1, 104, -1, -1, -1, -1, 109, -1, 574, 575, -1, -1, 578, -1, 580, 581, 582, 583, -1, -1, 33, 587, -1, -1, -1, -1, 592, -1, -1, 595, -1, 44, -1, -1, -1, 1317, -1, 50, -1, -1, -1, -1, -1, -1, 57, 611, 612, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 86, -1, 4, 5, -1, 7, -1, -1, -1, 11, 96, -1, 651, 652, 653, 654, -1, 656, 104, -1, 106, -1, -1, 109, 110, 1691, 1692, -1, 1694, -1, -1, 33, 3, 4, 5, 6, 7, 8, 9, 10, 11, 1707, 1708, 14, -1, 16, -1, -1, 50, -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, 30, -1, 32, 33, -1, -1, -1, -1, -1, 39, -1, 72, 73, -1, 44, -1, -1, 715, 48, 717, 50, -1, -1, -1, -1, 86, -1, 57, -1, -1, -1, -1, -1, -1, -1, 96, 734, 735, 1452, 737, -1, -1, 72, 73, 1458, 106, 744, -1, 109, 110, -1, -1, -1, -1, -1, -1, 86, -1, -1, 757, -1, -1, -1, -1, -1, -1, 96, -1, -1, 1794, 1795, 769, -1, -1, 104, -1, 106, -1, -1, 109, 110, -1, -1, -1, 1809, 1810, 1811, 1812, -1, -1, 1815, -1, -1, -1, -1, 793, -1, -1, -1, -1, -1, -1, -1, 801, -1, -1, -1, -1, -1, -1, 808, 809, 810, 811, 812, 813, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 829, -1, 14, -1, 16, -1, 835, -1, -1, -1, 839, 840, -1, -1, -1, 1871, 1872, 1873, 30, -1, 32, 33, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, 44, 862, -1, -1, 48, -1, 50, -1, -1, 3, 4, 5, -1, 57, 8, -1, -1, 11, -1, -1, -1, 882, -1, -1, -1, 886, -1, -1, 72, 73, -1, 1608, 1609, 894, 895, 896, 897, 898, -1, 33, -1, 902, 86, -1, -1, -1, -1, -1, -1, -1, 44, -1, 96, 3, 4, 5, 50, 7, 8, -1, 104, 11, 106, 57, -1, 109, 110, -1, -1, -1, 931, -1, -1, -1, 935, -1, 937, -1, 72, 73, -1, 942, 943, 33, 945, -1, -1, -1, -1, -1, 951, -1, 86, -1, 44, -1, 957, -1, -1, -1, -1, -1, 96, 964, 965, 966, -1, 57, -1, -1, 104, -1, 106, -1, -1, 109, 110, -1, -1, -1, -1, -1, 72, 73, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, 86, -1, -1, 16, -1, -1, -1, -1, 1721, -1, 96, -1, -1, -1, -1, -1, -1, 30, 104, 32, 33, 34, -1, 109, -1, -1, 39, 40, -1, 1742, 1743, 44, -1, -1, -1, 48, 49, -1, 51, -1, -1, -1, -1, -1, 57, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 72, 73, -1, -1, 76, -1, 78, -1, -1, 1065, 1066, -1, -1, 1069, 86, -1, 1072, -1, -1, -1, -1, 1077, -1, -1, 96, 1081, -1, 1083, -1, 1085, 1086, 1087, 104, -1, -1, -1, 1092, 109, 1094, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -1, 125, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, 1840, 16, -1, -1, -1, -1, -1, -1, 1132, -1, 1134, -1, 1136, 1137, 1138, 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, 40, -1, -1, -1, 44, -1, -1, -1, 48, 49, 1159, 51, -1, -1, -1, -1, -1, 57, -1, 1168, 1169, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1180, 72, 73, 1183, -1, 76, -1, 78, -1, -1, -1, -1, -1, -1, -1, 86, 3, 4, 5, 6, 7, 8, 9, 10, 11, 96, -1, 14, -1, 16, -1, -1, -1, 104, 1214, -1, -1, -1, 109, -1, -1, -1, -1, 30, -1, 32, 33, 1227, 1228, 1229, 1230, -1, 39, -1, 125, -1, -1, 44, -1, -1, -1, 48, 1242, -1, 1244, -1, -1, -1, 1248, -1, 57, -1, -1, -1, -1, -1, -1, 1257, -1, -1, -1, -1, -1, -1, -1, 72, 73, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 1278, 86, -1, -1, 16, -1, -1, -1, -1, -1, -1, 96, -1, 1291, -1, 1293, -1, -1, 30, 104, 32, 33, 34, -1, 109, -1, -1, 39, 40, -1, -1, -1, 44, -1, -1, -1, 48, 49, -1, 51, -1, -1, -1, -1, -1, 57, -1, -1, -1, -1, 1328, -1, -1, -1, -1, 1333, 1334, -1, 1336, -1, 72, 73, -1, -1, 76, -1, 78, -1, -1, -1, -1, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 1360, -1, 96, 1363, 1364, 1365, -1, -1, -1, -1, 104, -1, -1, -1, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1388, 1389, 1390, 125, 1392, 1393, 1394, 1395, -1, -1, -1, 1399, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, 14, -1, 16, -1, -1, 1416, -1, -1, -1, -1, -1, -1, -1, 1424, -1, -1, 30, -1, 32, 33, -1, 1432, -1, -1, 1435, 39, -1, -1, -1, -1, 44, -1, -1, 1444, 48, -1, 50, -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, 1460, 1461, 1462, -1, -1, -1, -1, -1, -1, 72, 73, -1, 1472, 1473, 1474, 1475, 4, -1, -1, -1, -1, 1481, -1, 86, -1, -1, -1, -1, -1, -1, 3, 4, 5, 96, 7, 8, -1, 1497, 11, -1, -1, 104, 1502, 106, -1, 1505, 109, 110, -1, -1, 38, -1, -1, 41, -1, 43, -1, 45, -1, -1, 33, -1, -1, -1, 52, -1, -1, -1, -1, -1, -1, 44, -1, 3, 4, 5, -1, 65, 8, 67, -1, 11, -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, 1553, 1554, 1555, 1556, 1557, 1558, 72, 73, 1561, 90, 33, -1, -1, 1566, 1567, 1568, -1, -1, -1, -1, 86, 44, -1, -1, 3, 4, 5, 1580, 7, 8, 96, -1, 11, -1, 57, -1, -1, -1, 104, -1, -1, -1, -1, 109, -1, -1, -1, -1, -1, 72, 73, -1, -1, -1, 33, -1, -1, 1610, -1, -1, -1, -1, -1, 86, -1, 44, -1, -1, 1621, 1622, 1623, 50, -1, 96, 155, 156, -1, 158, 57, -1, -1, 104, -1, -1, -1, -1, 109, 1640, -1, -1, -1, 172, 173, 72, 73, 176, -1, -1, -1, 180, -1, -1, 183, 184, 185, -1, -1, 86, -1, 190, -1, -1, -1, -1, -1, -1, -1, 96, 199, -1, -1, -1, 203, -1, -1, 104, -1, 106, 209, 210, 109, 110, -1, -1, -1, -1, -1, -1, 1691, 1692, -1, 1694, -1, -1, -1, -1, -1, 228, 229, 230, -1, -1, -1, -1, 1707, 1708, 1709, 238, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 257, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, 16, -1, -1, -1, -1, -1, 3, 4, 5, -1, 1754, 8, -1, -1, 30, -1, 32, 33, -1, -1, -1, -1, 294, 39, -1, -1, -1, -1, 44, -1, -1, -1, 48, -1, 50, -1, 33, -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, 44, -1, -1, 1794, 1795, 1796, 1797, -1, -1, 72, 73, -1, 1803, 57, -1, -1, -1, 1808, 1809, 1810, 1811, 1812, 1813, 86, 1815, 1816, -1, -1, 72, 73, -1, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, 104, 86, 106, -1, -1, 109, 110, -1, -1, 369, -1, 96, -1, -1, 1846, 1847, 1848, -1, -1, 104, -1, -1, -1, -1, 109, -1, -1, -1, 388, -1, -1, -1, -1, -1, 1866, -1, 396, -1, -1, 1871, 1872, 1873, -1, 1875, -1, -1, -1, 407, 1880, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, -1, -1, -1, -1, -1, 441, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 452, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, 50, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, 522, 106, -1, 525, 109, 110, -1, -1, -1, 531, 532, 533, -1, -1, -1, 537, -1, -1, -1, -1, -1, 126, -1, 545, -1, -1, -1, 3, 4, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, 16, -1, -1, -1, -1, -1, 3, 4, 5, -1, 7, 8, 574, 575, -1, -1, 578, 33, 580, 581, 582, 583, -1, 39, -1, 587, -1, -1, 44, -1, 592, -1, 48, 595, 50, -1, 33, -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, 44, -1, -1, 612, -1, -1, 50, -1, -1, 72, 73, -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, 86, -1, -1, -1, -1, 72, 73, -1, -1, 641, 96, -1, 644, -1, -1, -1, 648, -1, 104, 86, 106, -1, -1, 109, 110, -1, -1, -1, -1, 96, -1, -1, 664, 665, 666, -1, -1, 104, -1, 106, -1, -1, 109, 110, -1, -1, -1, -1, 680, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, -1, 731, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, 744, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, 76, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, 769, -1, -1, -1, -1, 94, 95, 96, -1, -1, 4, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 111, -1, 793, -1, -1, -1, -1, -1, -1, 800, -1, -1, -1, -1, 125, 126, -1, 808, 809, 810, 811, -1, 38, -1, -1, 41, -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, 52, 1, 829, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, 65, -1, 67, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, -1, -1, 44, -1, -1, -1, 48, 49, -1, 51, -1, -1, -1, 882, -1, 57, -1, 886, -1, -1, -1, -1, -1, -1, -1, 894, 895, 896, 897, 898, 72, 73, -1, 902, 76, -1, 78, -1, -1, -1, -1, -1, -1, -1, 86, -1, -1, -1, -1, 4, 5, 6, 7, -1, 96, 10, 11, -1, -1, -1, -1, 16, 104, -1, 158, -1, 935, 109, 937, -1, -1, -1, -1, 942, 943, 30, 945, 32, 172, 173, -1, -1, -1, -1, 39, -1, 180, -1, -1, 183, 184, 185, -1, 48, -1, -1, -1, -1, -1, -1, -1, 970, 57, -1, -1, 199, -1, -1, -1, 203, -1, -1, -1, -1, -1, 209, 210, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 228, 229, 230, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, 109, -1, -1, -1, -1, -1, -1, -1, -1, 257, -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, 50, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, 294, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, -1, 77, -1, -1, 1085, 1086, 1087, 83, -1, -1, 86, 1092, 1093, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, 106, -1, -1, 109, 110, -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, 126, 16, -1, -1, -1, 1136, 1137, 1138, -1, -1, -1, -1, 1143, -1, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, -1, -1, 44, -1, -1, 47, 48, 49, -1, 51, 1168, 1169, -1, -1, 397, 57, 58, 59, 60, -1, -1, -1, -1, -1, 407, 67, 68, 69, -1, -1, 72, 73, -1, 105, 76, 107, -1, 109, -1, -1, -1, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, 1214, -1, -1, -1, -1, -1, 104, -1, -1, -1, -1, 109, -1, 452, -1, -1, 114, -1, -1, -1, -1, -1, 3, 4, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, 1248, 16, -1, -1, -1, -1, -1, 169, -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, 33, -1, -1, 1269, -1, -1, 39, -1, -1, -1, -1, 44, 1278, 4, 5, 48, 7, 50, -1, -1, 11, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, 522, -1, -1, 525, -1, -1, -1, -1, 72, 73, -1, 33, -1, -1, -1, 537, 16, -1, -1, -1, -1, -1, 86, 545, -1, 25, 26, -1, 50, -1, -1, -1, 96, -1, -1, 57, -1, -1, 38, -1, 104, 41, 106, 43, -1, 109, 110, -1, -1, -1, 72, 73, 574, 575, -1, -1, 578, -1, 580, 581, 582, -1, -1, 1360, 86, 587, 1363, 1364, 1365, 1366, 592, -1, -1, 595, 96, 75, -1, -1, -1, -1, -1, -1, -1, -1, 106, -1, -1, 109, 110, -1, 612, 1388, 1389, 1390, -1, 1392, 1393, 1394, 1395, -1, 1397, -1, 1399, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -1, 3, 4, 5, -1, -1, 8, -1, 1424, 11, -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, -1, 7, 8, -1, -1, -1, 146, -1, 148, 360, 33, -1, -1, -1, -1, 155, 156, -1, -1, -1, -1, 44, -1, 1460, 1461, 1462, -1, 50, -1, -1, -1, -1, 172, 173, 57, -1, 176, 177, 44, -1, 180, -1, 182, 183, 184, 185, -1, -1, -1, 72, 73, 57, -1, -1, -1, 406, -1, -1, -1, -1, 1497, -1, -1, 86, -1, 1502, 72, 73, 1505, -1, 732, -1, 78, 96, -1, -1, -1, -1, -1, -1, 86, 104, -1, 106, -1, -1, 109, 110, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, -1, 109, -1, -1, -1, 769, -1, 3, 4, 5, -1, 7, 8, -1, 1553, 1554, 1555, 1556, 1557, 1558, -1, -1, 1561, -1, -1, -1, -1, -1, 1567, 1568, -1, 273, 274, -1, 3, 4, 5, 33, -1, 8, -1, 1580, 11, -1, 808, 809, 810, 811, 44, -1, -1, -1, 294, -1, -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, 33, 829, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 72, 73, -1, -1, -1, 50, 1621, 1622, 1623, -1, -1, -1, 57, -1, 86, 333, -1, -1, -1, -1, -1, -1, -1, -1, 96, -1, -1, 72, 73, -1, -1, -1, 104, -1, 563, 564, -1, 109, -1, -1, -1, 86, 882, 572, -1, -1, 886, -1, -1, -1, -1, 96, -1, -1, 894, 895, -1, -1, -1, 104, -1, 106, 902, -1, 109, 110, -1, -1, -1, -1, 388, -1, 390, 391, -1, -1, 605, -1, 4, 5, 6, 7, -1, -1, 10, 11, -1, -1, -1, -1, 16, -1, 1707, 1708, 1709, 935, -1, 937, -1, -1, -1, -1, 942, 943, 30, 945, 32, -1, -1, 638, 639, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, 441, -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, 1754, -1, -1, -1, 672, -1, -1, 72, 73, 677, -1, 679, -1, -1, 682, 683, 473, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, -1, 705, -1, -1, -1, -1, -1, 711, 109, -1, -1, -1, -1, 1803, -1, -1, -1, -1, 1808, 1809, 1810, 1811, 1812, 1813, -1, 1815, 1816, -1, -1, 522, -1, -1, 525, -1, -1, -1, -1, -1, -1, -1, 744, -1, -1, -1, 537, -1, -1, 751, -1, -1, -1, -1, -1, -1, -1, 759, 1846, 1847, 1848, -1, -1, -1, -1, 3, 4, 5, 4, 5, 8, -1, -1, -1, -1, 11, -1, 779, 780, -1, -1, 1094, -1, 1871, 1872, 1873, -1, -1, -1, -1, -1, -1, 1880, 795, -1, 33, -1, 33, -1, -1, -1, -1, -1, -1, -1, -1, 44, -1, -1, -1, -1, -1, 50, -1, 50, -1, -1, -1, 609, 57, 611, 57, -1, 1136, 1137, 1138, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 72, 73, -1, -1, -1, -1, -1, -1, 635, -1, -1, -1, 86, -1, 86, -1, -1, -1, -1, 1168, 1169, -1, 96, -1, 96, -1, -1, -1, -1, -1, 104, 869, 106, -1, 106, 109, 110, 109, 110, -1, 3, 4, 5, -1, -1, 8, -1, -1, -1, -1, -1, -1, 3, 4, 5, -1, -1, 8, -1, -1, 11, -1, -1, -1, -1, 1214, -1, -1, -1, -1, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 33, -1, -1, -1, -1, 50, -1, -1, 717, -1, -1, 44, 57, -1, 934, -1, -1, 1248, -1, -1, -1, -1, 731, 732, 57, 734, 735, 72, 73, -1, -1, -1, 952, 953, -1, 955, -1, -1, -1, 72, 73, 86, -1, -1, 3, 4, 5, 1278, -1, 8, 970, 96, 11, 86, -1, -1, -1, -1, -1, 104, -1, 106, -1, 96, 109, 110, -1, -1, -1, -1, -1, 104, -1, -1, 33, -1, 109, -1, -1, -1, -1, -1, -1, -1, 793, 44, -1, -1, -1, -1, -1, 800, 801, -1, -1, -1, -1, -1, 57, -1, -1, -1, -1, 812, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, -1, -1, -1, 1038, 1039, -1, -1, -1, 1043, 1044, -1, -1, 86, -1, -1, 839, -1, -1, -1, -1, -1, -1, 96, -1, -1, 1060, -1, 1062, -1, 1064, 104, -1, -1, -1, -1, 109, -1, -1, 862, -1, -1, -1, 1388, 1389, 1390, -1, 1392, 1393, 1394, -1, -1, 43, -1, 1399, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, 1099, -1, -1, 16, -1, -1, -1, -1, -1, 65, -1, 1110, -1, -1, 1424, -1, -1, 30, -1, 32, 33, 1120, -1, -1, -1, -1, 39, -1, -1, -1, -1, 44, -1, -1, -1, 48, 1135, -1, -1, -1, 928, -1, -1, 931, 57, -1, -1, -1, -1, 1148, 1460, 1461, 1462, 3, 4, 5, -1, 7, 8, 72, 73, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, 86, -1, -1, 964, 965, 966, -1, -1, -1, -1, 96, -1, -1, -1, 1497, -1, -1, -1, 104, 1502, -1, 44, 1505, 109, -1, 1197, -1, -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, 1214, -1, -1, 4, 5, -1, -1, 72, 73, -1, 11, 76, 183, 184, 185, -1, -1, -1, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 1554, 1555, 96, 33, -1, -1, -1, 1561, -1, 209, 104, -1, -1, 1567, 1568, 109, -1, 1260, -1, -1, 50, -1, -1, -1, -1, -1, 1580, 57, 228, 229, 230, -1, -1, 1065, 1066, -1, -1, 1069, -1, -1, 1072, -1, 72, 73, -1, -1, -1, -1, -1, 1081, -1, -1, -1, -1, -1, -1, 86, 257, -1, -1, 1092, -1, -1, -1, -1, -1, 96, 1621, 1622, 1623, -1, -1, -1, 1316, 1317, -1, 106, -1, 1321, 109, 110, 3, 4, 5, -1, 7, 8, -1, 3, 4, -1, 6, 7, -1, 9, 10, -1, -1, -1, 1342, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, 44, -1, 39, 40, 41, 42, -1, 44, -1, -1, 47, 333, 49, 57, 51, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, 72, 73, 16, 1707, 1708, 1709, 78, 72, -1, -1, -1, -1, -1, 78, 86, -1, 30, -1, 32, 33, -1, -1, -1, -1, 96, 39, -1, -1, -1, -1, 44, -1, 104, -1, 48, -1, -1, 109, -1, -1, 390, 391, 392, 57, 109, -1, -1, -1, -1, -1, 1754, -1, -1, 1446, -1, 1448, -1, 1450, 72, 73, 1242, -1, -1, -1, 78, 1458, -1, -1, -1, -1, -1, -1, 86, -1, 1467, 1468, -1, -1, -1, -1, -1, -1, 96, 1476, -1, -1, -1, -1, 1270, -1, 104, -1, -1, -1, -1, 109, -1, -1, -1, 1803, 1493, 1494, 452, -1, 1808, 1809, 1810, 1811, 1812, 1813, -1, 1815, 1816, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, 1846, 1847, 1848, -1, -1, 30, -1, 32, 33, 1333, 1334, -1, 1336, -1, 39, 1550, -1, -1, -1, 44, -1, -1, -1, 48, -1, 1871, 1872, 1873, -1, -1, -1, -1, 57, -1, 1880, -1, 1360, -1, -1, 1363, 1364, -1, -1, -1, -1, -1, -1, 72, 73, -1, -1, 76, 3, 4, 5, -1, 7, 8, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, 1603, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, 574, 575, 109, -1, 578, -1, 580, 581, 582, 583, -1, 44, -1, 587, -1, -1, -1, -1, 592, -1, -1, 595, -1, -1, 57, -1, 1643, 65, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 1444, 72, 73, -1, 16, 1660, -1, -1, -1, -1, -1, -1, -1, -1, 90, 86, -1, 93, 30, -1, 32, 33, -1, -1, -1, 96, 1681, 39, -1, -1, -1, -1, 44, 104, -1, -1, 48, 1481, 109, -1, -1, -1, -1, 1698, -1, 57, -1, -1, -1, -1, 126, -1, 128, -1, -1, -1, 1500, -1, 1502, -1, 72, 73, -1, -1, -1, 3, 4, 5, -1, 7, 8, 9, 10, 11, 86, -1, -1, -1, 16, -1, -1, -1, -1, -1, 96, -1, 3, 4, 5, -1, -1, 8, 104, -1, 11, 33, -1, 109, -1, 1754, -1, 39, -1, -1, -1, 717, 44, -1, -1, -1, 48, -1, 50, -1, -1, -1, 33, 1772, 1773, 57, -1, -1, 734, 735, -1, 737, -1, 44, -1, -1, -1, -1, 744, 209, 72, 73, 1580, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, 1802, 86, -1, -1, -1, 228, 229, 230, 72, 73, 769, 96, -1, -1, -1, 238, -1, 129, 130, 104, -1, -1, 86, -1, 109, -1, -1, -1, 1830, -1, -1, -1, 96, -1, 257, -1, -1, -1, -1, -1, 104, -1, -1, -1, -1, 109, -1, -1, -1, 808, -1, 810, 811, -1, 813, -1, -1, -1, 1860, -1, 283, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, 297, -1, -1, 16, -1, -1, 839, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, 32, 33, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, 44, -1, -1, -1, 48, -1, -1, -1, -1, -1, -1, 1707, 1708, 57, -1, -1, -1, -1, 882, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 894, 895, 896, 897, 898, -1, -1, -1, 902, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, -1, 109, 1973, -1, 396, 397, -1, -1, -1, -1, -1, -1, -1, -1, 942, -1, -1, -1, 4, 5, 6, 7, -1, 9, 10, 11, -1, -1, 14, -1, 16, -1, -1, -1, -1, -1, 964, 965, 966, -1, -1, -1, -1, -1, 30, -1, 32, 33, 1808, 1809, 1810, 1811, 1812, 39, -1, 1815, 1816, -1, -1, -1, 452, -1, 48, -1, 50, -1, -1, -1, -1, -1, -1, 57, -1, 3, 4, 5, -1, 7, 8, -1, -1, -1, -1, -1, -1, -1, 72, 73, 369, -1, -1, -1, 3, 4, 5, -1, -1, 8, -1, -1, 86, -1, -1, 33, -1, -1, -1, -1, -1, -1, 96, 1871, 1872, 1873, 44, -1, -1, -1, -1, -1, 106, -1, -1, 109, 110, -1, -1, 57, -1, -1, -1, -1, -1, 44, -1, -1, -1, 1065, 1066, -1, -1, 1069, 72, 73, 1072, -1, 57, -1, -1, -1, -1, -1, -1, 1081, -1, -1, 86, 1085, 1086, 1087, -1, 72, 73, -1, 1092, -1, 96, 78, -1, 450, -1, -1, -1, -1, 104, 86, -1, -1, -1, 109, -1, -1, 574, 575, -1, 96, 578, -1, 580, 581, 582, 583, -1, 104, -1, 587, -1, -1, 109, -1, 592, -1, -1, 595, -1, -1, -1, -1, 1136, 1137, 1138, -1, -1, 4, 5, 6, 7, -1, 9, 10, 11, -1, -1, 14, -1, 16, -1, 508, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 1168, 32, 33, 4, 5, 6, 7, -1, 39, 10, 11, -1, -1, -1, -1, 16, -1, 48, -1, 50, -1, -1, -1, -1, -1, -1, 57, -1, -1, 30, -1, 32, -1, -1, -1, -1, -1, -1, 39, -1, -1, 72, 73, -1, -1, -1, 1214, 48, -1, 50, -1, 572, -1, -1, -1, 86, 57, -1, -1, -1, 1228, 1229, 1230, -1, -1, 96, -1, -1, -1, -1, -1, 72, 73, -1, -1, 106, -1, -1, 109, 110, 1248, -1, -1, -1, -1, 86, -1, -1, 4, 5, -1, 7, -1, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, 106, -1, -1, 109, 110, -1, -1, -1, -1, -1, 747, 748, 33, -1, -1, 641, -1, -1, 644, -1, -1, -1, 648, -1, 650, 651, 652, 653, 654, 50, 656, -1, 769, -1, -1, -1, 57, -1, -1, -1, 666, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, -1, 680, -1, -1, -1, -1, -1, 1333, 1334, -1, 1336, -1, 86, -1, -1, -1, -1, -1, 808, -1, 810, 811, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, 106, -1, 1360, 109, 110, 1363, 1364, 1365, -1, -1, 390, 391, 392, -1, -1, -1, -1, 4, 5, -1, -1, -1, -1, 10, 11, -1, 737, -1, -1, 16, 1388, 1389, 1390, 744, 1392, 1393, 1394, 1395, -1, -1, -1, 1399, -1, 4, 5, 6, 7, -1, 9, 10, 11, -1, 39, -1, -1, 16, -1, -1, -1, -1, 882, 48, -1, 50, -1, -1, -1, -1, -1, 30, 57, 32, 894, 895, 896, 897, 898, 899, 39, -1, 902, 4, 5, -1, -1, 72, 73, 48, 11, -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, 86, -1, -1, 1460, 1461, 1462, -1, 928, -1, -1, 96, 33, 72, 73, -1, 1472, 1473, 1474, 1475, -1, 106, 942, -1, 109, 110, 835, -1, -1, 50, -1, 840, -1, -1, -1, -1, 57, -1, -1, -1, -1, 1497, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 86, 92, 93, 94, 95, 96, 97, 98, 99, 100, 96, -1, 886, -1, -1, -1, -1, -1, -1, -1, 106, -1, -1, 109, 110, -1, -1, -1, -1, -1, -1, -1, 1553, 1554, 1555, 1556, 1557, 1558, -1, -1, 1561, -1, -1, -1, -1, -1, 1567, 1568, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1580, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -1, -1, 951, -1, -1, -1, -1, -1, 957, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1621, -1, 1623, -1, -1, -1, -1, -1, 1093, 1094, 1095, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1136, 1137, 1138, 4, 5, 6, 7, 1143, 9, 10, 11, -1, -1, -1, 1039, 16, -1, -1, -1, 1691, 1692, -1, 1694, -1, -1, -1, -1, -1, -1, 30, -1, 32, 1168, -1, -1, 1707, 1708, 1709, 39, -1, 734, 735, -1, 737, -1, -1, -1, 48, -1, -1, 744, -1, 1077, -1, -1, -1, 57, -1, 1083, -1, -1, -1, 1087, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, -1, -1, -1, -1, -1, 1214, -1, -1, -1, 1754, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1228, 1229, 1230, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1132, -1, 1134, -1, -1, 1248, 1138, 808, -1, 810, 811, -1, 813, -1, -1, 1794, 1795, 1796, 1797, -1, -1, -1, -1, -1, 1803, -1, 1269, -1, -1, 1808, 1809, 1810, 1811, 1812, 1813, -1, 1815, 1816, 839, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1183, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1846, 1847, 1848, -1, 4, 5, 6, 7, -1, 9, 10, 11, -1, -1, 882, 1214, 16, -1, -1, -1, 1866, -1, -1, -1, -1, 1871, 1872, 1873, 1227, -1, 30, -1, 32, 33, 1880, -1, -1, -1, 1237, 39, -1, -1, -1, -1, -1, 1244, -1, -1, 48, -1, -1, -1, -1, -1, -1, -1, 1366, 57, 1257, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, -1, -1, 76, -1, 1388, 1389, 1390, -1, 1392, 1393, 1394, 1395, -1, 1397, -1, 1399, -1, -1, 1291, -1, 1293, -1, -1, -1, 3, 4, -1, 6, 7, -1, 9, 10, -1, -1, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, 1328, -1, -1, -1, -1, 39, 40, 41, 42, -1, 44, -1, -1, 47, -1, 49, -1, 51, -1, -1, -1, 1460, 1461, 1462, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1472, 1473, 1474, 1475, 1365, 72, -1, -1, 75, -1, -1, 78, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1497, -1, -1, -1, -1, -1, -1, -1, 1394, -1, 1065, 1066, -1, -1, 1069, -1, -1, 1072, -1, -1, -1, -1, -1, -1, -1, -1, 1081, -1, -1, -1, 1085, 1086, 1087, -1, -1, -1, -1, 1092, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1553, 1554, 1555, 1556, 1557, 1558, -1, -1, 1561, -1, -1, -1, -1, -1, 1567, 1568, -1, -1, -1, -1, 1462, -1, -1, -1, -1, 1136, 1137, 1138, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1621, -1, 1623, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, 1214, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, 1558, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, 1691, 1692, 1693, 1694, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, -1, -1, 3, 4, -1, 6, 7, -1, 9, 10, -1, 124, -1, 126, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, 40, 41, 42, -1, 44, 1640, -1, 47, 1754, 49, -1, 51, -1, -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, -1, -1, 78, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1794, 1795, 1796, 1797, -1, -1, -1, -1, 1360, 1803, -1, 1363, 1364, 1365, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1709, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1388, 1389, 1390, -1, 1392, 1393, 1394, 1395, -1, -1, -1, 1399, -1, -1, -1, -1, 1846, 1847, 1848, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1866, -1, -1, -1, -1, -1, 3, 4, -1, 6, 7, -1, 9, 10, 1880, -1, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, 1460, 1461, 1462, -1, -1, 1796, 39, 40, 41, 42, -1, 44, -1, -1, 47, -1, 49, -1, 51, -1, -1, -1, 1813, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 4, 5, 6, 7, 72, 9, 10, 11, -1, -1, 78, -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1848, -1, -1, -1, 30, -1, 32, 33, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, 1, -1, 48, 4, 5, 6, 7, 1875, 9, 10, 11, 57, -1, -1, -1, 16, 1553, 1554, 1555, 1556, 1557, 1558, -1, -1, 1561, -1, 72, 73, 74, 30, 33, 32, 33, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, 1580, -1, -1, -1, 48, -1, -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -1, -1, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, 33, -1, -1, -1, -1, -1, 39, 40, 41, 42, -1, 44, -1, -1, 47, 48, 49, 50, 51, -1, 1691, 1692, -1, 1694, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1707, 1708, 1709, 72, 73, 74, 75, 76, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, -1, 106, 107, 108, 109, 110, 111, -1, 113, -1, -1, -1, -1, 118, -1, -1, -1, -1, 123, 124, 125, -1, 127, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, 6, 7, -1, -1, 10, 11, -1, -1, -1, -1, 16, -1, -1, 1794, 1795, 1796, 1797, -1, -1, -1, -1, -1, -1, -1, 30, -1, 32, 1808, 1809, 1810, 1811, 1812, 1813, 39, 1815, 1816, -1, -1, -1, -1, -1, -1, 48, -1, -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1866, -1, -1, -1, -1, 1871, 1872, 1873, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, 76, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 111, -1, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 126, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, 76, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, 126, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, 126, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 125, 126, 1, -1, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 125, 126, 1, -1, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 125, 126, 1, -1, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, -1, -1, -1, -1, 117, 1, -1, 3, 4, 5, 6, 7, 8, 126, 10, 11, 12, 13, -1, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, 126, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, 126, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, 126, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, 78, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, 126, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, 76, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, 126, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, 1, 126, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, 126, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, 1, -1, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, 126, 15, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 126, 127, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, 76, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 125, 126, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, 76, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 111, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 126, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, 76, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 111, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 126, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, 76, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 111, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, 50, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, 106, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, 50, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, 106, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, 50, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, 106, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, 50, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, 106, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, 76, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, 77, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, 3, 4, 5, 6, 7, 8, -1, 10, 11, 12, 13, -1, 15, 16, -1, 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, -1, 34, -1, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, 46, -1, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, -1, -1, -1, 61, -1, 63, -1, -1, -1, 67, -1, -1, 70, -1, 72, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, -1, -1, -1, 102, 103, 104, -1, -1, -1, -1, 109, 110, -1, -1, -1, -1, 3, 4, -1, 6, 7, -1, 9, 10, -1, -1, -1, 126, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, 39, 40, 41, 42, -1, 44, -1, -1, 47, -1, 49, -1, 51, -1, 4, 5, 6, 7, -1, 9, 10, 11, 4, 5, 6, 7, 16, 9, 10, 11, -1, -1, 14, 72, 16, -1, -1, -1, -1, 78, 30, -1, 32, 33, -1, -1, -1, -1, 30, 39, 32, 33, -1, -1, -1, -1, -1, 39, 48, -1, -1, 51, -1, -1, -1, -1, 48, 57, -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, 72, 73, -1, -1, -1, -1, -1, -1, 72, 73, 4, 5, 6, 7, -1, 9, 10, 11, -1, -1, 14, -1, 16, 4, 5, 6, 7, -1, 9, 10, 11, -1, -1, -1, -1, 16, 30, -1, 32, 33, -1, -1, -1, -1, -1, 39, -1, -1, -1, 30, -1, 32, 33, -1, 48, -1, -1, -1, 39, 4, 5, 6, 7, 57, 9, 10, 11, 48, -1, -1, -1, 16, -1, -1, -1, -1, 57, -1, 72, 73, -1, -1, -1, -1, -1, 30, -1, 32, 33, -1, -1, 72, 73, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, -1, -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, -1, 123, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/share/bison.simple" /* This file comes from bison-1.28. */ /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ /* This is the parser code that is written into each bison parser when the %semantic_parser declaration is not specified in the grammar. It was written by Richard Stallman by simplifying the hairy parser used when %semantic_parser is specified. */ #ifndef YYSTACK_USE_ALLOCA #ifdef alloca #define YYSTACK_USE_ALLOCA #else /* alloca not defined */ #ifdef __GNUC__ #define YYSTACK_USE_ALLOCA #define alloca __builtin_alloca #else /* not GNU C. */ #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) #define YYSTACK_USE_ALLOCA #include #else /* not sparc */ /* We think this test detects Watcom and Microsoft C. */ /* This used to test MSDOS, but that is a bad idea since that symbol is in the user namespace. */ #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) #if 0 /* No need for malloc.h, which pollutes the namespace; instead, just don't use alloca. */ #include #endif #else /* not MSDOS, or __TURBOC__ */ #if defined(_AIX) /* I don't know what this was needed for, but it pollutes the namespace. So I turned it off. rms, 2 May 1997. */ /* #include */ #pragma alloca #define YYSTACK_USE_ALLOCA #else /* not MSDOS, or __TURBOC__, or _AIX */ #if 0 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, and on HPUX 10. Eventually we can turn this on. */ #define YYSTACK_USE_ALLOCA #define alloca __builtin_alloca #endif /* __hpux */ #endif #endif /* not _AIX */ #endif /* not MSDOS, or __TURBOC__ */ #endif /* not sparc */ #endif /* not GNU C */ #endif /* alloca not defined */ #endif /* YYSTACK_USE_ALLOCA not defined */ #ifdef YYSTACK_USE_ALLOCA #define YYSTACK_ALLOC alloca #else #define YYSTACK_ALLOC malloc #endif /* Note: there must be only one dollar sign in this file. It is replaced by the list of actions, each action as one case of the switch. */ #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY -2 #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(token, value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { yychar = (token), yylval = (value); \ yychar1 = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ { yyerror ("syntax error: cannot back up"); YYERROR; } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 #ifndef YYPURE #define YYLEX yylex() #endif #ifdef YYPURE #ifdef YYLSP_NEEDED #ifdef YYLEX_PARAM #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) #else #define YYLEX yylex(&yylval, &yylloc) #endif #else /* not YYLSP_NEEDED */ #ifdef YYLEX_PARAM #define YYLEX yylex(&yylval, YYLEX_PARAM) #else #define YYLEX yylex(&yylval) #endif #endif /* not YYLSP_NEEDED */ #endif /* If nonreentrant, generate the variables here */ #ifndef YYPURE int yychar; /* the lookahead symbol */ YYSTYPE yylval; /* the semantic value of the */ /* lookahead symbol */ #ifdef YYLSP_NEEDED YYLTYPE yylloc; /* location data for the lookahead */ /* symbol */ #endif int yynerrs; /* number of parse errors so far */ #endif /* not YYPURE */ #if YYDEBUG != 0 int yydebug; /* nonzero means print parse trace */ /* Since this is uninitialized, it does not stop multiple parsers from coexisting. */ #endif /* YYINITDEPTH indicates the initial size of the parser's stacks */ #ifndef YYINITDEPTH #define YYINITDEPTH 200 #endif /* YYMAXDEPTH is the maximum size the stacks can grow to (effective only if the built-in stack extension method is used). */ #if YYMAXDEPTH == 0 #undef YYMAXDEPTH #endif #ifndef YYMAXDEPTH #define YYMAXDEPTH 10000 #endif /* Define __yy_memcpy. Note that the size argument should be passed with type unsigned int, because that is what the non-GCC definitions require. With GCC, __builtin_memcpy takes an arg of type size_t, but it can handle unsigned int. */ #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) #else /* not GNU C or C++ */ #ifndef __cplusplus /* This is the most reliable way to avoid incompatibilities in available built-in functions on various systems. */ static void __yy_memcpy (to, from, count) char *to; char *from; unsigned int count; { register char *f = from; register char *t = to; register int i = count; while (i-- > 0) *t++ = *f++; } #else /* __cplusplus */ /* This is the most reliable way to avoid incompatibilities in available built-in functions on various systems. */ static void __yy_memcpy (char *to, char *from, unsigned int count) { register char *t = to; register char *f = from; register int i = count; while (i-- > 0) *t++ = *f++; } #endif #endif #line 217 "/usr/share/bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. It should actually point to an object. Grammar actions can access the variable by casting it to the proper pointer type. */ #ifdef YYPARSE_PARAM #ifdef __cplusplus #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM #define YYPARSE_PARAM_DECL #else /* not __cplusplus */ #define YYPARSE_PARAM_ARG YYPARSE_PARAM #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; #endif /* not __cplusplus */ #else /* not YYPARSE_PARAM */ #define YYPARSE_PARAM_ARG #define YYPARSE_PARAM_DECL #endif /* not YYPARSE_PARAM */ /* Prevent warning if -Wstrict-prototypes. */ #ifdef __GNUC__ #ifdef YYPARSE_PARAM int yyparse (void *); #else int yyparse (void); #endif #endif int yyparse(YYPARSE_PARAM_ARG) YYPARSE_PARAM_DECL { register int yystate; register int yyn; register short *yyssp; register YYSTYPE *yyvsp; int yyerrstatus; /* number of tokens to shift before error messages enabled */ int yychar1 = 0; /* lookahead token as an internal (translated) token number */ short yyssa[YYINITDEPTH]; /* the state stack */ YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ short *yyss = yyssa; /* refer to the stacks thru separate pointers */ YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ #ifdef YYLSP_NEEDED YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ YYLTYPE *yyls = yylsa; YYLTYPE *yylsp; #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) #else #define YYPOPSTACK (yyvsp--, yyssp--) #endif int yystacksize = YYINITDEPTH; int yyfree_stacks = 0; #ifdef YYPURE int yychar; YYSTYPE yylval; int yynerrs; #ifdef YYLSP_NEEDED YYLTYPE yylloc; #endif #endif YYSTYPE yyval; /* the variable used to return */ /* semantic values from the action */ /* routines */ int yylen; #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Starting parse\n"); #endif yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ yyssp = yyss - 1; yyvsp = yyvs; #ifdef YYLSP_NEEDED yylsp = yyls; #endif /* Push a new state, which is found in yystate . */ /* In all cases, when you get here, the value and location stacks have just been pushed. so pushing a state here evens the stacks. */ yynewstate: *++yyssp = yystate; if (yyssp >= yyss + yystacksize - 1) { /* Give user a chance to reallocate the stack */ /* Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; short *yyss1 = yyss; #ifdef YYLSP_NEEDED YYLTYPE *yyls1 = yyls; #endif /* Get the current used size of the three stacks, in elements. */ int size = yyssp - yyss + 1; #ifdef yyoverflow /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. */ #ifdef YYLSP_NEEDED /* This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow("parser stack overflow", &yyss1, size * sizeof (*yyssp), &yyvs1, size * sizeof (*yyvsp), &yyls1, size * sizeof (*yylsp), &yystacksize); #else yyoverflow("parser stack overflow", &yyss1, size * sizeof (*yyssp), &yyvs1, size * sizeof (*yyvsp), &yystacksize); #endif yyss = yyss1; yyvs = yyvs1; #ifdef YYLSP_NEEDED yyls = yyls1; #endif #else /* no yyoverflow */ /* Extend the stack our own way. */ if (yystacksize >= YYMAXDEPTH) { yyerror("parser stack overflow"); if (yyfree_stacks) { free (yyss); free (yyvs); #ifdef YYLSP_NEEDED free (yyls); #endif } return 2; } yystacksize *= 2; if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; #ifndef YYSTACK_USE_ALLOCA yyfree_stacks = 1; #endif yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); __yy_memcpy ((char *)yyss, (char *)yyss1, size * (unsigned int) sizeof (*yyssp)); yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * (unsigned int) sizeof (*yyvsp)); #ifdef YYLSP_NEEDED yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); __yy_memcpy ((char *)yyls, (char *)yyls1, size * (unsigned int) sizeof (*yylsp)); #endif #endif /* no yyoverflow */ yyssp = yyss + size - 1; yyvsp = yyvs + size - 1; #ifdef YYLSP_NEEDED yylsp = yyls + size - 1; #endif #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Stack size increased to %d\n", yystacksize); #endif if (yyssp >= yyss + yystacksize - 1) YYABORT; } #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Entering state %d\n", yystate); #endif goto yybackup; yybackup: /* Do appropriate processing given the current state. */ /* Read a lookahead token if we need one and don't already have one. */ /* yyresume: */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYFLAG) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* yychar is either YYEMPTY or YYEOF or a valid token in external form. */ if (yychar == YYEMPTY) { #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Reading a token: "); #endif yychar = YYLEX; } /* Convert token to internal form (in yychar1) for indexing tables with */ if (yychar <= 0) /* This means end of input. */ { yychar1 = 0; yychar = YYEOF; /* Don't call YYLEX any more */ #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Now at end of input.\n"); #endif } else { yychar1 = YYTRANSLATE(yychar); #if YYDEBUG != 0 if (yydebug) { fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); /* Give the individual parser a way to print the precise meaning of a token, for further debugging info. */ #ifdef YYPRINT YYPRINT (stderr, yychar, yylval); #endif fprintf (stderr, ")\n"); } #endif } yyn += yychar1; if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) goto yydefault; yyn = yytable[yyn]; /* yyn is what to do for this token type in this state. Negative => reduce, -yyn is rule number. Positive => shift, yyn is new state. New state is final state => don't bother to shift, just return success. 0, or most negative number => error. */ if (yyn < 0) { if (yyn == YYFLAG) goto yyerrlab; yyn = -yyn; goto yyreduce; } else if (yyn == 0) goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */ #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); #endif /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; #ifdef YYLSP_NEEDED *++yylsp = yylloc; #endif /* count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; yystate = yyn; goto yynewstate; /* Do the default action for the current state. */ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; /* Do a reduction. yyn is the number of a rule to reduce with. */ yyreduce: yylen = yyr2[yyn]; if (yylen > 0) yyval = yyvsp[1-yylen]; /* implement default value of the action */ #if YYDEBUG != 0 if (yydebug) { int i; fprintf (stderr, "Reducing via rule %d (line %d), ", yyn, yyrline[yyn]); /* Print the symbols being reduced, and their result. */ for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) fprintf (stderr, "%s ", yytname[yyrhs[i]]); fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); } #endif switch (yyn) { case 2: #line 400 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_translation_unit (); ; break;} case 3: #line 408 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 4: #line 410 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 5: #line 412 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 8: #line 421 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { have_extern_spec = 1; used_extern_spec = 0; yyval.ttype = NULL_TREE; ; break;} case 9: #line 426 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { have_extern_spec = 0; ; break;} case 10: #line 431 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.itype = pedantic; pedantic = 0; ; break;} case 12: #line 440 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pending_lang_change) do_pending_lang_change(); ; break;} case 13: #line 442 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (! toplevel_bindings_p () && ! pseudo_global_level_p()) pop_everything (); ; break;} case 14: #line 448 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pending_inlines) do_pending_inlines (); ; break;} case 15: #line 450 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pending_inlines) do_pending_inlines (); ; break;} case 17: #line 453 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pending_inlines) do_pending_inlines (); ; break;} case 18: #line 455 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype); assemble_asm (yyvsp[-2].ttype); ; break;} case 19: #line 458 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { pop_lang_context (); ; break;} case 20: #line 460 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pending_inlines) do_pending_inlines (); pop_lang_context (); ; break;} case 21: #line 463 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pending_inlines) do_pending_inlines (); pop_lang_context (); ; break;} case 22: #line 466 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { push_namespace (yyvsp[-1].ttype); ; break;} case 23: #line 468 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { pop_namespace (); ; break;} case 24: #line 470 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { push_namespace (NULL_TREE); ; break;} case 25: #line 472 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { pop_namespace (); ; break;} case 27: #line 475 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { do_toplevel_using_decl (yyvsp[-1].ttype); ; break;} case 29: #line 478 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { pedantic = yyvsp[-1].itype; ; break;} case 30: #line 483 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { begin_only_namespace_names (); ; break;} case 31: #line 485 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { end_only_namespace_names (); if (lastiddecl) yyvsp[-1].ttype = lastiddecl; do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} case 32: #line 495 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 33: #line 497 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 34: #line 499 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 35: #line 504 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 36: #line 506 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ; break;} case 37: #line 508 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 38: #line 513 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { begin_only_namespace_names (); ; break;} case 39: #line 515 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { end_only_namespace_names (); /* If no declaration was found, the using-directive is invalid. Since that was not reported, we need the identifier for the error message. */ if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl) yyvsp[-1].ttype = lastiddecl; do_using_directive (yyvsp[-1].ttype); ; break;} case 40: #line 528 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype; ; break;} case 41: #line 534 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ttype; if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype; ; break;} case 44: #line 545 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 45: #line 547 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 46: #line 552 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { push_lang_context (yyvsp[0].ttype); ; break;} case 47: #line 554 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (current_lang_name != yyvsp[0].ttype) cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name); pop_lang_context (); push_lang_context (yyvsp[0].ttype); ; break;} case 48: #line 561 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { begin_template_parm_list (); ; break;} case 49: #line 563 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ; break;} case 50: #line 565 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { begin_specialization(); yyval.ttype = NULL_TREE; ; break;} case 51: #line 571 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ; break;} case 52: #line 573 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 53: #line 578 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 54: #line 580 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 55: #line 584 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 56: #line 586 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ; break;} case 57: #line 591 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 58: #line 603 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 59: #line 605 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ; break;} case 60: #line 607 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ; break;} case 61: #line 609 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ; break;} case 62: #line 611 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 63: #line 613 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL) { error ("invalid default template argument"); yyvsp[0].ttype = error_mark_node; } yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype); ; break;} case 64: #line 627 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_template_decl (yyvsp[-1].ttype); ; break;} case 65: #line 629 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_template_decl (yyvsp[-1].ttype); ; break;} case 66: #line 634 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pending_inlines) do_pending_inlines (); ; break;} case 67: #line 636 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pending_inlines) do_pending_inlines (); ; break;} case 68: #line 638 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pending_inlines) do_pending_inlines (); ; break;} case 69: #line 640 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pending_inlines) do_pending_inlines (); pop_lang_context (); ; break;} case 70: #line 643 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pending_inlines) do_pending_inlines (); pop_lang_context (); ; break;} case 71: #line 646 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { pedantic = yyvsp[-1].itype; ; break;} case 73: #line 652 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" {; break;} case 74: #line 654 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { note_list_got_semicolon (yyvsp[-2].ftype.t); ; break;} case 75: #line 656 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { maybe_process_partial_specialization (yyvsp[-1].ftype.t); note_got_semicolon (yyvsp[-1].ftype.t); ; break;} case 77: #line 663 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" {; break;} case 78: #line 665 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { note_list_got_semicolon (yyvsp[-2].ftype.t); ; break;} case 79: #line 667 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { pedwarn ("empty declaration"); ; break;} case 81: #line 670 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree t, attrs; split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs); shadow_tag (t); note_list_got_semicolon (yyvsp[-1].ftype.t); ; break;} case 85: #line 683 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.itype = 0; ; break;} case 86: #line 685 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.itype = 1; ; break;} case 92: #line 701 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_function (lineno, (int)yyvsp[-1].itype, 0); ; break;} case 93: #line 703 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { int nested = (hack_decl_function_context (current_function_decl) != NULL_TREE); finish_function (lineno, (int)yyvsp[0].itype, nested); ; break;} case 94: #line 709 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { ; break;} case 95: #line 714 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 96: #line 716 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 97: #line 718 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 98: #line 722 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 99: #line 724 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 100: #line 726 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 101: #line 730 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 102: #line 732 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 103: #line 734 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 104: #line 738 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 105: #line 740 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 106: #line 742 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype); yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 107: #line 749 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype)) YYERROR1; ; break;} case 108: #line 752 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype)) YYERROR1; ; break;} case 109: #line 755 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype)) YYERROR1; ; break;} case 110: #line 758 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype)) YYERROR1; ; break;} case 111: #line 761 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype)) YYERROR1; ; break;} case 112: #line 767 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 113: #line 769 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 114: #line 771 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 115: #line 773 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 116: #line 780 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree specs, attrs; split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs); attrs = build_tree_list (attrs, NULL_TREE); yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); rest_of_mdef: if (! yyval.ttype) YYERROR1; if (yychar == YYEMPTY) yychar = YYLEX; reinit_parse_for_method (yychar, yyval.ttype); ; break;} case 117: #line 791 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype, NULL_TREE); goto rest_of_mdef; ; break;} case 118: #line 794 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree specs, attrs; split_specs_attrs (yyvsp[-1].ftype.t, &specs, &attrs); attrs = build_tree_list (attrs, NULL_TREE); yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ; break;} case 119: #line 799 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree specs, attrs; split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs); attrs = build_tree_list (attrs, NULL_TREE); yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ; break;} case 120: #line 804 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE); goto rest_of_mdef; ; break;} case 121: #line 807 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree specs, attrs; split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs); attrs = build_tree_list (attrs, NULL_TREE); yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ; break;} case 122: #line 812 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE); goto rest_of_mdef; ; break;} case 123: #line 818 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (! current_function_parms_stored) store_parm_decls (); yyval.ttype = yyvsp[0].ttype; ; break;} case 124: #line 827 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { store_return_init (yyval.ttype, yyvsp[0].ttype); ; break;} case 125: #line 829 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { store_return_init (yyval.ttype, yyvsp[-1].ttype); ; break;} case 126: #line 831 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { store_return_init (yyval.ttype, NULL_TREE); ; break;} case 127: #line 836 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (yyvsp[0].itype == 0) error ("no base initializers given following ':'"); setup_vtbl_ptr (); /* Always keep the BLOCK node associated with the outermost pair of curley braces of a function. These are needed for correct operation of dwarfout.c. */ keep_next_level (); ; break;} case 128: #line 849 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (! current_function_parms_stored) store_parm_decls (); if (DECL_CONSTRUCTOR_P (current_function_decl)) { /* Make a contour for the initializer list. */ pushlevel (0); clear_last_expr (); expand_start_bindings (0); } else if (current_class_type == NULL_TREE) error ("base initializers not allowed for non-member functions"); else if (! DECL_CONSTRUCTOR_P (current_function_decl)) error ("only constructors take base initializers"); ; break;} case 129: #line 869 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.itype = 0; ; break;} case 130: #line 871 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.itype = 1; ; break;} case 133: #line 878 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (current_class_name) pedwarn ("anachronistic old style base class initializer"); expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype); ; break;} case 134: #line 884 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (current_class_name) pedwarn ("anachronistic old style base class initializer"); expand_member_init (current_class_ref, NULL_TREE, void_type_node); ; break;} case 135: #line 890 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 136: #line 892 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ; break;} case 137: #line 894 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 138: #line 896 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ; break;} case 139: #line 898 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype), yyvsp[-1].ttype); ; break;} case 140: #line 901 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype), void_type_node); ; break;} case 154: #line 929 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE); yyungetc (';', 1); ; break;} case 156: #line 933 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree specs = strip_attrs (yyvsp[-1].ftype.t); do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ; break;} case 158: #line 937 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 160: #line 940 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 162: #line 943 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype); yyungetc (';', 1); ; break;} case 164: #line 948 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree specs = strip_attrs (yyvsp[-1].ftype.t); do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ; break;} case 166: #line 952 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ; break;} case 168: #line 955 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ; break;} case 170: #line 960 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { begin_explicit_instantiation(); ; break;} case 171: #line 963 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { end_explicit_instantiation(); ; break;} case 172: #line 972 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 173: #line 975 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 176: #line 983 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 177: #line 988 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 178: #line 992 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (yychar == YYEMPTY) yychar = YYLEX; yyval.ttype = finish_template_type (yyvsp[-3].ttype, yyvsp[-1].ttype, yychar == SCOPE); ; break;} case 180: #line 1003 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { /* Handle `Class>' without space in the `>>' */ pedwarn ("`>>' should be `> >' in template class name"); yyungetc ('>', 1); ; break;} case 181: #line 1012 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 183: #line 1018 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; break;} case 184: #line 1020 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 185: #line 1025 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = groktypename (yyvsp[0].ftype.t); ; break;} case 186: #line 1027 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = lastiddecl; ; break;} case 188: #line 1033 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.code = NEGATE_EXPR; ; break;} case 189: #line 1035 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.code = CONVERT_EXPR; ; break;} case 190: #line 1037 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.code = PREINCREMENT_EXPR; ; break;} case 191: #line 1039 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.code = PREDECREMENT_EXPR; ; break;} case 192: #line 1041 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.code = TRUTH_NOT_EXPR; ; break;} case 193: #line 1046 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_compound_expr (yyval.ttype); ; break;} case 195: #line 1052 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { error ("ANSI C++ forbids an empty condition for `%s'", cond_stmt_keyword); yyval.ttype = integer_zero_node; ; break;} case 196: #line 1056 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 197: #line 1061 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { error ("ANSI C++ forbids an empty condition for `%s'", cond_stmt_keyword); yyval.ttype = integer_zero_node; ; break;} case 198: #line 1065 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 199: #line 1070 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 201: #line 1073 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 202: #line 1078 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { { tree d; for (d = getdecls (); d; d = TREE_CHAIN (d)) if (TREE_CODE (d) == TYPE_DECL) { tree s = TREE_TYPE (d); if (TREE_CODE (s) == RECORD_TYPE) cp_error ("definition of class `%T' in condition", s); else if (TREE_CODE (s) == ENUMERAL_TYPE) cp_error ("definition of enum `%T' in condition", s); } } current_declspecs = yyvsp[-4].ftype.t; yyvsp[0].itype = suspend_momentary (); yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE); ; break;} case 203: #line 1095 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING); resume_momentary (yyvsp[-2].itype); yyval.ttype = convert_from_reference (yyvsp[-1].ttype); if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE) cp_error ("definition of array `%#D' in condition", yyval.ttype); ; break;} case 209: #line 1114 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_compound_stmt (1); ; break;} case 210: #line 1116 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_compound_stmt (1, yyvsp[-1].ttype); ; break;} case 212: #line 1123 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 213: #line 1126 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ; break;} case 214: #line 1129 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 215: #line 1131 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ; break;} case 216: #line 1136 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ; break;} case 218: #line 1142 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 219: #line 1145 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; pedantic = yyvsp[-1].itype; ; break;} case 220: #line 1148 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ; break;} case 221: #line 1150 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ; break;} case 222: #line 1152 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ; break;} case 223: #line 1154 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ; break;} case 224: #line 1157 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pedantic) pedwarn ("ANSI C++ forbids `&&'"); yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ; break;} case 225: #line 1161 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ; break;} case 226: #line 1163 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); check_for_new_type ("sizeof", yyvsp[-1].ftype); ; break;} case 227: #line 1166 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = grok_alignof (yyvsp[0].ttype); ; break;} case 228: #line 1168 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t)); check_for_new_type ("alignof", yyvsp[-1].ftype); ; break;} case 229: #line 1171 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = c_vec_step_expr (yyvsp[0].ttype); ; break;} case 230: #line 1173 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = c_vec_step (groktypename (yyvsp[-1].ftype.t)); ; break;} case 231: #line 1178 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype); check_for_new_type ("new", yyvsp[0].ftype); ; break;} case 232: #line 1181 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 233: #line 1184 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype); check_for_new_type ("new", yyvsp[0].ftype); ; break;} case 234: #line 1187 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 235: #line 1200 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 236: #line 1205 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype); check_for_new_type ("new", yyvsp[-2].ftype); ; break;} case 237: #line 1209 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype); check_for_new_type ("new", yyvsp[-1].ftype); ; break;} case 238: #line 1213 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype); check_for_new_type ("new", yyvsp[-2].ftype); ; break;} case 239: #line 1217 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ; break;} case 240: #line 1219 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype); if (yychar == YYEMPTY) yychar = YYLEX; ; break;} case 241: #line 1223 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype); if (yychar == YYEMPTY) yychar = YYLEX; ; break;} case 242: #line 1227 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-3].itype); if (yychar == YYEMPTY) yychar = YYLEX; ; break;} case 243: #line 1231 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ; break;} case 244: #line 1233 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ; break;} case 245: #line 1243 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ; break;} case 246: #line 1246 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.itype = begin_new_placement (); ; break;} case 247: #line 1250 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ; break;} case 248: #line 1252 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { cp_pedwarn ("old style placement syntax, use () instead"); yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ; break;} case 249: #line 1258 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 250: #line 1260 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 251: #line 1262 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t); yyval.ttype = error_mark_node; ; break;} case 252: #line 1270 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pedantic) pedwarn ("ANSI C++ forbids initialization of new expression with `='"); if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR) yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype); else yyval.ttype = yyvsp[0].ttype; ; break;} case 253: #line 1284 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0); yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE); check_for_new_type ("cast", yyvsp[-1].ftype); ; break;} case 254: #line 1288 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0); yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE); check_for_new_type ("cast", yyvsp[-1].ftype); ; break;} case 256: #line 1296 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = reparse_absdcl_as_casts_or_vector_constant (yyval.ttype, yyvsp[-1].ttype); ; break;} case 257: #line 1298 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = reparse_absdcl_as_casts_or_vector_constant (yyval.ttype, yyvsp[0].ttype); ; break;} case 258: #line 1300 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree init = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)); if (pedantic) pedwarn ("ANSI C++ forbids constructor-expressions"); /* Indicate that this was a GNU C constructor expression. */ TREE_HAS_CONSTRUCTOR (init) = 1; yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init); ; break;} case 260: #line 1316 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ; break;} case 261: #line 1318 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ; break;} case 262: #line 1320 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 263: #line 1322 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 264: #line 1324 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 265: #line 1326 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 266: #line 1328 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 267: #line 1330 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 268: #line 1332 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 269: #line 1334 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 270: #line 1336 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 271: #line 1338 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 272: #line 1340 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 273: #line 1342 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 274: #line 1344 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 275: #line 1346 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 276: #line 1348 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ; break;} case 277: #line 1350 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 278: #line 1352 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ; break;} case 279: #line 1354 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 280: #line 1356 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); if (yyval.ttype != error_mark_node) C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ; break;} case 281: #line 1360 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ; break;} case 282: #line 1362 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_throw (NULL_TREE); ; break;} case 283: #line 1364 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_throw (yyvsp[0].ttype); ; break;} case 284: #line 1382 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ; break;} case 285: #line 1384 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ; break;} case 291: #line 1393 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { /* If lastiddecl is a TREE_LIST, it's a baselink, which means that we're in an expression like S::f, so don't do_identifier; we only do that for unqualified identifiers. */ if (lastiddecl && TREE_CODE (lastiddecl) != TREE_LIST) yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE); else yyval.ttype = yyvsp[-1].ttype; ; break;} case 292: #line 1406 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 293: #line 1408 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 294: #line 1413 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 295: #line 1415 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 296: #line 1418 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 301: #line 1430 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { /* Provide support for '(' attributes '*' declarator ')' etc */ yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 303: #line 1440 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ; break;} case 304: #line 1442 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ; break;} case 305: #line 1444 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 306: #line 1449 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 307: #line 1451 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 311: #line 1461 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ; break;} case 312: #line 1466 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR) yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0)); else yyval.ttype = finish_id_expr (yyvsp[0].ttype); ; break;} case 315: #line 1475 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (processing_template_decl) push_obstacks (&permanent_obstack, &permanent_obstack); yyval.ttype = combine_strings (yyval.ttype); /* combine_strings doesn't set up TYPE_MAIN_VARIANT of a const array the way we want, so fix it. */ if (flag_const_strings) TREE_TYPE (yyval.ttype) = build_cplus_array_type (TREE_TYPE (TREE_TYPE (yyval.ttype)), TYPE_DOMAIN (TREE_TYPE (yyval.ttype))); if (processing_template_decl) pop_obstacks (); ; break;} case 316: #line 1489 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ; break;} case 317: #line 1491 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype); yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ; break;} case 318: #line 1494 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = error_mark_node; ; break;} case 319: #line 1496 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree scope = current_scope (); if (!scope || TREE_CODE (scope) != FUNCTION_DECL) { error ("braced-group within expression allowed only inside a function"); YYERROR; } if (pedantic) pedwarn ("ANSI C++ forbids braced-groups within expressions"); yyval.ttype = begin_stmt_expr (); ; break;} case 320: #line 1507 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 321: #line 1512 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ; break;} case 322: #line 1514 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ; break;} case 323: #line 1516 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ; break;} case 324: #line 1518 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ; break;} case 325: #line 1520 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ; break;} case 326: #line 1522 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ; break;} case 327: #line 1524 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ; break;} case 328: #line 1527 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_this_expr (); ; break;} case 329: #line 1529 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { /* This is a C cast in C++'s `functional' notation using the "implicit int" extension so that: `const (3)' is equivalent to `const int (3)'. */ tree type; if (yyvsp[-1].ttype == error_mark_node) { yyval.ttype = error_mark_node; break; } type = cp_build_qualified_type (integer_type_node, cp_type_qual_from_rid (yyvsp[-3].ttype)); yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype)); ; break;} case 331: #line 1547 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("dynamic_cast", yyvsp[-4].ftype); yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ; break;} case 332: #line 1551 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("static_cast", yyvsp[-4].ftype); yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ; break;} case 333: #line 1555 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype); yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ; break;} case 334: #line 1559 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree type = groktypename (yyvsp[-4].ftype.t); check_for_new_type ("const_cast", yyvsp[-4].ftype); yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ; break;} case 335: #line 1563 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ; break;} case 336: #line 1565 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree type = groktypename (yyvsp[-1].ftype.t); check_for_new_type ("typeid", yyvsp[-1].ftype); yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ; break;} case 337: #line 1569 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ; break;} case 338: #line 1571 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 339: #line 1573 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = NULL_TREE; if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); else yyval.ttype = yyvsp[0].ttype; ; break;} case 340: #line 1581 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ; break;} case 341: #line 1583 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 342: #line 1585 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ; break;} case 343: #line 1587 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ; break;} case 344: #line 1591 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} case 345: #line 1593 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} case 346: #line 1595 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ; break;} case 347: #line 1597 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (processing_template_decl) yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype)); else yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ; break;} case 348: #line 1602 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} case 349: #line 1604 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} case 350: #line 1606 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} case 351: #line 1608 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} case 352: #line 1611 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} case 353: #line 1613 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ; break;} case 354: #line 1616 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_message_expr (yyvsp[0].ttype); ; break;} case 355: #line 1618 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_selector_expr (yyvsp[0].ttype); ; break;} case 356: #line 1620 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_protocol_expr (yyvsp[0].ttype); ; break;} case 357: #line 1622 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_objc_string_object (yyvsp[0].ttype); ; break;} case 358: #line 1624 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = error_mark_node; ; break;} case 359: #line 1669 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.itype = 0; ; break;} case 360: #line 1671 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = NULL_TREE; yyval.itype = 1; ; break;} case 361: #line 1676 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.itype = 0; ; break;} case 362: #line 1678 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = NULL_TREE; yyval.itype = 1; ; break;} case 363: #line 1683 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = boolean_true_node; ; break;} case 364: #line 1685 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = boolean_false_node; ; break;} case 366: #line 1692 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; break;} case 367: #line 1694 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_encode_expr (yyvsp[0].ttype); ; break;} case 368: #line 1696 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon (yyval.ttype, build_encode_expr (yyvsp[-1].ttype)); ; break;} case 370: #line 1704 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 371: #line 1709 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (! current_function_parms_stored) store_parm_decls (); setup_vtbl_ptr (); /* Always keep the BLOCK node associated with the outermost pair of curley braces of a function. These are needed for correct operation of dwarfout.c. */ keep_next_level (); ; break;} case 372: #line 1722 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_object = TREE_TYPE (yyval.ttype); ; break;} case 373: #line 1724 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_arrow (yyval.ttype); got_object = TREE_TYPE (yyval.ttype); ; break;} case 374: #line 1732 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { resume_momentary (yyvsp[-1].itype); if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t))) note_got_semicolon (yyvsp[-2].ftype.t); ; break;} case 375: #line 1738 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { resume_momentary (yyvsp[-1].itype); note_list_got_semicolon (yyvsp[-2].ftype.t); ; break;} case 376: #line 1743 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { resume_momentary (yyvsp[-1].itype); ; break;} case 377: #line 1745 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { shadow_tag (yyvsp[-1].ftype.t); note_list_got_semicolon (yyvsp[-1].ftype.t); ; break;} case 378: #line 1750 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { warning ("empty declaration"); ; break;} case 379: #line 1752 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { pedantic = yyvsp[-1].itype; ; break;} case 382: #line 1766 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (), NULL_TREE, NULL_TREE); ; break;} case 383: #line 1769 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE, NULL_TREE); ; break;} case 384: #line 1776 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 385: #line 1779 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 386: #line 1782 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = build_decl_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t), yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 387: #line 1786 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 388: #line 1789 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 391: #line 1805 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 392: #line 1808 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 393: #line 1811 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype)); yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; break;} case 394: #line 1814 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype)); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 395: #line 1817 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype)); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 396: #line 1820 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype))); yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; break;} case 397: #line 1827 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (extra_warnings) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyval.ttype)); yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ; break;} case 398: #line 1832 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ; break;} case 399: #line 1834 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (extra_warnings) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; break;} case 400: #line 1839 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} case 401: #line 1841 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; break;} case 402: #line 1860 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ; break;} case 403: #line 1862 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = hash_tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ; break;} case 404: #line 1864 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); TREE_STATIC (yyval.ttype) = 1; ; break;} case 405: #line 1867 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (extra_warnings && TREE_STATIC (yyval.ttype)) warning ("`%s' is not at beginning of declaration", IDENTIFIER_POINTER (yyvsp[0].ttype)); yyval.ttype = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ; break;} case 406: #line 1873 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ; break;} case 407: #line 1875 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; break;} case 408: #line 1886 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 409: #line 1889 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 410: #line 1892 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 411: #line 1895 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t)); yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ; break;} case 412: #line 1901 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ; break;} case 413: #line 1903 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ; break;} case 415: #line 1913 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; if(!processing_template_parmlist) objc_need_raw_identifier = 1; ; break;} case 416: #line 1916 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = get_static_reference (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ftype.new_type_flag = 0; ; break;} case 417: #line 1919 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = get_object_reference (yyvsp[0].ttype); yyval.ftype.new_type_flag = 0; ; break;} case 418: #line 1922 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; break;} case 419: #line 1924 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = finish_typeof (yyvsp[-1].ttype); yyval.ftype.new_type_flag = 0; ; break;} case 420: #line 1927 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = 0; ; break;} case 421: #line 1930 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree type = TREE_TYPE (yyvsp[-1].ttype); yyval.ftype.new_type_flag = 0; if (IS_AGGR_TYPE (type)) { sorry ("sigof type specifier"); yyval.ftype.t = type; } else { error ("`sigof' applied to non-aggregate expression"); yyval.ftype.t = error_mark_node; } ; break;} case 422: #line 1945 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree type = groktypename (yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = 0; if (IS_AGGR_TYPE (type)) { sorry ("sigof type specifier"); yyval.ftype.t = type; } else { error("`sigof' applied to non-aggregate type"); yyval.ftype.t = error_mark_node; } ; break;} case 423: #line 1965 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; break;} case 424: #line 1967 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; break;} case 427: #line 1974 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { check_multiple_declarators (); ; break;} case 429: #line 1980 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { check_multiple_declarators (); ; break;} case 431: #line 1986 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { check_multiple_declarators (); ; break;} case 432: #line 1991 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 433: #line 1993 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ; break;} case 434: #line 1998 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1, yyvsp[-1].ttype, prefix_attributes); ; break;} case 435: #line 2002 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ; break;} case 436: #line 2004 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0, yyvsp[0].ttype, prefix_attributes); cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ; break;} case 437: #line 2017 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype, 1, &yyval.ttype); ; break;} case 438: #line 2022 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); yyval.itype = yyvsp[-2].itype; ; break;} case 439: #line 2026 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree d; yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d); cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ; break;} case 440: #line 2033 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.itype = yyvsp[0].itype; ; break;} case 441: #line 2037 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.itype = yyvsp[0].itype; ; break;} case 442: #line 2042 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { /* Set things up as initdcl0_innards expects. */ yyvsp[0].ttype = yyvsp[-1].ttype; yyvsp[-1].ttype = NULL_TREE; ; break;} case 443: #line 2046 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" {; break;} case 444: #line 2048 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree d; parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d); cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ; break;} case 445: #line 2057 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 446: #line 2059 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 447: #line 2064 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 448: #line 2066 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 449: #line 2071 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-2].ttype; ; break;} case 450: #line 2076 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 451: #line 2078 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 452: #line 2083 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 453: #line 2085 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ; break;} case 454: #line 2087 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ; break;} case 455: #line 2089 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ; break;} case 456: #line 2091 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 461: #line 2107 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 462: #line 2109 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 463: #line 2114 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 464: #line 2116 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 466: #line 2124 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE); TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; break;} case 467: #line 2127 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype)); TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; break;} case 468: #line 2130 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)); TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ; break;} case 469: #line 2133 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 470: #line 2140 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ; break;} case 471: #line 2142 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; break;} case 472: #line 2149 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ; break;} case 473: #line 2151 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ; break;} case 474: #line 2156 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype), NULL_TREE, 2); reinit_parse_for_function (); ; break;} case 475: #line 2162 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { int nested = (hack_decl_function_context (current_function_decl) != NULL_TREE); finish_function (lineno, (int)yyvsp[-1].itype | 2, nested); process_next_inline (yyvsp[-3].ttype); ; break;} case 476: #line 2169 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { int nested = (hack_decl_function_context (current_function_decl) != NULL_TREE); finish_function (lineno, (int)yyvsp[0].itype | 2, nested); process_next_inline (yyvsp[-2].ttype); ; break;} case 477: #line 2176 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { process_next_inline (yyvsp[-2].ttype); ; break;} case 480: #line 2188 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 481: #line 2190 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { replace_defarg (yyvsp[-2].ttype, error_mark_node); ; break;} case 483: #line 2195 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { do_pending_defargs (); ; break;} case 484: #line 2197 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { do_pending_defargs (); ; break;} case 485: #line 2202 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyvsp[0].itype = suspend_momentary (); yyval.ttype = current_enum_type; current_enum_type = start_enum (yyvsp[-1].ttype); ; break;} case 486: #line 2206 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype; yyval.ftype.t = finish_enum (current_enum_type); yyval.ftype.new_type_flag = 1; current_enum_type = yyvsp[-3].ttype; resume_momentary ((int) yyvsp[-4].itype); check_for_missing_semicolon (yyval.ftype.t); ; break;} case 487: #line 2213 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype)); yyval.ftype.new_type_flag = 1; check_for_missing_semicolon (yyval.ftype.t); ; break;} case 488: #line 2217 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyvsp[0].itype = suspend_momentary (); yyval.ttype = current_enum_type; current_enum_type = start_enum (make_anon_name ()); ; break;} case 489: #line 2221 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype; yyval.ftype.t = finish_enum (current_enum_type); yyval.ftype.new_type_flag = 1; current_enum_type = yyvsp[-3].ttype; resume_momentary ((int) yyvsp[-5].itype); check_for_missing_semicolon (yyval.ftype.t); ; break;} case 490: #line 2228 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = finish_enum (start_enum (make_anon_name())); yyval.ftype.new_type_flag = 1; check_for_missing_semicolon (yyval.ftype.t); ; break;} case 491: #line 2232 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); yyval.ftype.new_type_flag = 0; ; break;} case 492: #line 2235 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1); yyval.ftype.new_type_flag = 0; ; break;} case 493: #line 2238 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; if (!processing_template_decl) cp_pedwarn ("using `typename' outside of template"); ; break;} case 494: #line 2244 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyvsp[-1].ftype.t = begin_class_definition (yyvsp[-1].ftype.t); ; break;} case 495: #line 2246 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { int semi; if (yychar == YYEMPTY) yychar = YYLEX; semi = yychar == ';'; yyval.ttype = finish_class_definition (yyvsp[-5].ftype.t, yyvsp[0].ttype, semi, yyvsp[-5].ftype.new_type_flag); ; break;} case 496: #line 2257 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { begin_inline_definitions (); ; break;} case 497: #line 2261 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_inline_definitions (); yyval.ftype.t = yyvsp[-3].ttype; yyval.ftype.new_type_flag = 1; ; break;} case 498: #line 2267 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (yyvsp[0].ftype.new_type_flag) pop_scope (CP_DECL_CONTEXT (TYPE_MAIN_DECL (yyvsp[0].ftype.t))); yyval.ftype.new_type_flag = 0; if (TYPE_BINFO (yyvsp[0].ftype.t) == NULL_TREE) { cp_error ("%T is not a class type", yyvsp[0].ftype.t); yyval.ftype.t = error_mark_node; } else { yyval.ftype.t = yyvsp[0].ftype.t; /* struct B: public A; is not accepted by the WP grammar. */ if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t) && ! TYPE_BEING_DEFINED (yyval.ftype.t)) cp_error ("base clause without member specification for `%#T'", yyval.ftype.t); } ; break;} case 502: #line 2296 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pedantic && !in_system_header) pedwarn ("comma at end of enumerator list"); ; break;} case 504: #line 2303 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; break;} case 505: #line 2305 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; break;} case 506: #line 2307 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ; break;} case 507: #line 2309 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { error ("no body nor ';' separates two class, struct or union declarations"); ; break;} case 508: #line 2311 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 509: #line 2316 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { current_aggr = yyvsp[-1].ttype; yyval.ttype = yyvsp[0].ttype; ; break;} case 510: #line 2324 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; break;} case 511: #line 2326 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyungetc ('{', 1); ; break;} case 512: #line 2328 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyungetc (':', 1); ; break;} case 513: #line 2333 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { current_aggr = yyvsp[-2].ttype; yyval.ftype.t = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ftype.new_type_flag = 1; ; break;} case 514: #line 2339 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { current_aggr = yyvsp[-3].ttype; yyval.ftype.t = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ftype.new_type_flag = 1; ; break;} case 515: #line 2345 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { current_aggr = yyvsp[-2].ttype; yyval.ftype.t = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype); yyval.ftype.new_type_flag = 1; ; break;} case 516: #line 2351 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { current_aggr = yyvsp[-1].ttype; yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; break;} case 517: #line 2357 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { current_aggr = yyvsp[-2].ttype; yyval.ftype.t = yyvsp[0].ttype; if (CP_DECL_CONTEXT (yyval.ftype.t)) push_scope (CP_DECL_CONTEXT (yyval.ftype.t)); yyval.ftype.new_type_flag = 1; ; break;} case 518: #line 2368 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = xref_tag (current_aggr, yyvsp[0].ttype, 1); yyval.ftype.new_type_flag = 0; ; break;} case 519: #line 2373 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ; break;} case 520: #line 2377 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = yyvsp[-1].ttype; yyval.ftype.new_type_flag = 0; if (yyvsp[0].ttype) xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 521: #line 2385 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (yyvsp[-1].ftype.t != error_mark_node) { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; if (current_aggr == union_type_node && TREE_CODE (yyval.ftype.t) != UNION_TYPE) cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ftype.t); else if (TREE_CODE (yyval.ftype.t) == UNION_TYPE && current_aggr != union_type_node) cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ftype); else if (TREE_CODE (yyval.ftype.t) == RECORD_TYPE) /* We might be specializing a template with a different class-key; deal. */ CLASSTYPE_DECLARED_CLASS (yyval.ftype.t) = (current_aggr == class_type_node); if (yyvsp[0].ttype) { maybe_process_partial_specialization (yyval.ftype.t); xref_basetypes (current_aggr, yyvsp[-1].ftype.t, yyval.ftype.t, yyvsp[0].ttype); } } ; break;} case 522: #line 2413 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0); yyungetc ('{', 1); ; break;} case 523: #line 2423 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ; break;} case 525: #line 2432 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 526: #line 2434 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyungetc(':', 1); yyval.ttype = NULL_TREE; ; break;} case 527: #line 2436 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 529: #line 2442 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; break;} case 530: #line 2447 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype, current_aggr == signature_type_node); ; break;} case 531: #line 2451 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, current_aggr == signature_type_node); ; break;} case 532: #line 2458 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (yyval.ttype != error_mark_node) yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ; break;} case 534: #line 2461 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (current_aggr == signature_type_node) { if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype))) { sorry ("`sigof' as base signature specifier"); yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); } else { error ("`sigof' applied to non-aggregate expression"); yyval.ttype = error_mark_node; } } else { error ("`sigof' in struct or class declaration"); yyval.ttype = error_mark_node; } ; break;} case 535: #line 2482 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (current_aggr == signature_type_node) { if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t))) { sorry ("`sigof' as base signature specifier"); yyval.ttype = groktypename (yyvsp[-1].ftype.t); } else { error ("`sigof' applied to non-aggregate expression"); yyval.ttype = error_mark_node; } } else { error ("`sigof' in struct or class declaration"); yyval.ttype = error_mark_node; } ; break;} case 537: #line 2507 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL]) cp_error ("`%D' access", yyvsp[-1].ttype); yyval.ttype = access_default_virtual_node; ; break;} case 538: #line 2511 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (yyvsp[-2].ttype != access_default_virtual_node) error ("multiple access specifiers"); else if (yyvsp[-1].ttype == access_public_node) yyval.ttype = access_public_virtual_node; else if (yyvsp[-1].ttype == access_protected_node) yyval.ttype = access_protected_virtual_node; else /* $2 == access_private_node */ yyval.ttype = access_private_virtual_node; ; break;} case 539: #line 2522 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL]) cp_error ("`%D' access", yyvsp[-1].ttype); else if (yyval.ttype == access_public_node) yyval.ttype = access_public_virtual_node; else if (yyval.ttype == access_protected_node) yyval.ttype = access_protected_virtual_node; else if (yyval.ttype == access_private_node) yyval.ttype = access_private_virtual_node; else error ("multiple `virtual' specifiers"); ; break;} case 544: #line 2542 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { emit_class_ivars(yyvsp[-1].ttype); ; break;} case 545: #line 2544 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { emit_class_ivars(yyvsp[-2].ttype); ; break;} case 546: #line 2549 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (current_aggr == signature_type_node) { error ("access specifier not allowed in signature"); yyvsp[-1].ttype = access_public_node; } current_access_specifier = yyvsp[-1].ttype; ; break;} case 547: #line 2564 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_member_declaration (yyvsp[0].ttype); ; break;} case 548: #line 2568 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_member_declaration (yyvsp[0].ttype); ; break;} case 550: #line 2576 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { error ("missing ';' before right brace"); yyungetc ('}', 0); ; break;} case 551: #line 2581 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_method (yyval.ttype); ; break;} case 552: #line 2583 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_method (yyval.ttype); ; break;} case 553: #line 2585 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_method (yyval.ttype); ; break;} case 554: #line 2587 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_method (yyval.ttype); ; break;} case 555: #line 2589 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 556: #line 2591 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; pedantic = yyvsp[-1].itype; ; break;} case 557: #line 2594 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (yyvsp[0].ttype) yyval.ttype = finish_member_template_decl (yyvsp[0].ttype); else /* The component was already processed. */ yyval.ttype = NULL_TREE; finish_template_decl (yyvsp[-1].ttype); ; break;} case 558: #line 2604 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t); finish_template_decl (yyvsp[-2].ttype); ; break;} case 559: #line 2615 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { /* Most of the productions for component_decl only allow the creation of one new member, so we call finish_member_declaration in component_decl_list. For this rule and the next, however, there can be more than one member, e.g.: int i, j; and we need the first member to be fully registered before the second is processed. Therefore, the rules for components take care of this processing. To avoid registering the components more than once, we send NULL_TREE up here; that lets finish_member_declaration know that there is nothing to do. */ if (!yyvsp[0].itype) grok_x_components (yyvsp[-1].ftype.t); yyval.ttype = NULL_TREE; ; break;} case 560: #line 2636 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (!yyvsp[0].itype) grok_x_components (yyvsp[-1].ttype); yyval.ttype = NULL_TREE; ; break;} case 561: #line 2642 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ; break;} case 562: #line 2645 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ; break;} case 563: #line 2648 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ; break;} case 564: #line 2650 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 565: #line 2661 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree specs, attrs; split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs); yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype, build_tree_list (yyvsp[-1].ttype, attrs)); ; break;} case 566: #line 2666 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype, build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ; break;} case 567: #line 2669 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ; break;} case 568: #line 2675 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.itype = 0; ; break;} case 569: #line 2677 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (PROCESSING_REAL_TEMPLATE_DECL_P ()) yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); finish_member_declaration (yyvsp[0].ttype); yyval.itype = 1; ; break;} case 570: #line 2684 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { check_multiple_declarators (); if (PROCESSING_REAL_TEMPLATE_DECL_P ()) yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); finish_member_declaration (yyvsp[0].ttype); yyval.itype = 2; ; break;} case 571: #line 2695 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.itype = 0; ; break;} case 572: #line 2697 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (PROCESSING_REAL_TEMPLATE_DECL_P ()) yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); finish_member_declaration (yyvsp[0].ttype); yyval.itype = 1; ; break;} case 573: #line 2704 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { check_multiple_declarators (); if (PROCESSING_REAL_TEMPLATE_DECL_P ()) yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype); finish_member_declaration (yyvsp[0].ttype); yyval.itype = 2; ; break;} case 578: #line 2725 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, &prefix_attributes); yyvsp[-4].ttype = current_declspecs; yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; break;} case 579: #line 2731 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, &prefix_attributes); yyvsp[-4].ttype = current_declspecs; yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype); cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 580: #line 2740 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, &prefix_attributes); yyvsp[-4].ttype = current_declspecs; yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; break;} case 581: #line 2746 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, &prefix_attributes); yyvsp[-4].ttype = current_declspecs; yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; break;} case 582: #line 2752 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs, &prefix_attributes); yyvsp[-4].ttype = current_declspecs; yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype); cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 583: #line 2758 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { split_specs_attrs (yyvsp[-3].ttype, ¤t_declspecs, &prefix_attributes); yyvsp[-3].ttype = current_declspecs; yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype); cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 584: #line 2767 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; break;} case 585: #line 2770 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype); cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 586: #line 2776 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype, build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ; break;} case 587: #line 2779 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype); cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 588: #line 2782 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype); cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ; break;} case 590: #line 2793 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; break;} case 591: #line 2798 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE, current_enum_type); ; break;} case 592: #line 2800 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype, current_enum_type); ; break;} case 593: #line 2806 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 594: #line 2809 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 595: #line 2816 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pedantic) pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new"); yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype); yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t); yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag; ; break;} case 596: #line 2827 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 597: #line 2829 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; break;} case 598: #line 2834 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); yyval.ftype.new_type_flag = 0; ; break;} case 599: #line 2837 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 600: #line 2846 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.itype = suspend_momentary (); ; break;} case 601: #line 2852 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ; break;} case 602: #line 2864 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 603: #line 2868 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 604: #line 2876 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ; break;} case 605: #line 2878 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ; break;} case 606: #line 2880 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { resume_momentary ((int) yyvsp[-2].itype); yyval.ttype = empty_parms (); ; break;} case 607: #line 2882 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ; break;} case 608: #line 2884 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ; break;} case 610: #line 2892 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { /* Provide support for '(' attributes '*' declarator ')' etc */ yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 611: #line 2902 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} case 612: #line 2904 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} case 613: #line 2906 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} case 614: #line 2908 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} case 615: #line 2910 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} case 617: #line 2918 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 618: #line 2920 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; break;} case 619: #line 2922 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ; break;} case 620: #line 2924 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 621: #line 2926 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { push_nested_class (yyvsp[-1].ttype, 3); yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ; break;} case 624: #line 2935 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) { yyval.ttype = lookup_name (yyvsp[0].ttype, 1); maybe_note_name_used_in_class (yyvsp[0].ttype, yyval.ttype); } else yyval.ttype = yyvsp[0].ttype; ; break;} case 625: #line 2945 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype); else yyval.ttype = yyvsp[0].ttype; got_scope = NULL_TREE; ; break;} case 628: #line 2958 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 629: #line 2963 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_type_decl (yyvsp[0].ttype); ; break;} case 631: #line 2972 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { /* Provide support for '(' attributes '*' declarator ')' etc */ yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 632: #line 2981 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} case 633: #line 2983 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} case 634: #line 2985 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} case 635: #line 2987 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} case 636: #line 2989 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} case 638: #line 2997 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} case 639: #line 2999 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} case 640: #line 3001 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} case 641: #line 3003 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} case 642: #line 3005 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} case 644: #line 3013 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 645: #line 3015 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 646: #line 3017 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; break;} case 647: #line 3019 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ; break;} case 648: #line 3021 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { enter_scope_of (yyvsp[0].ttype); ; break;} case 649: #line 3023 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = NULL_TREE; yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); enter_scope_of (yyval.ttype); ; break;} case 650: #line 3031 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = NULL_TREE; yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ; break;} case 651: #line 3034 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = NULL_TREE; yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 652: #line 3040 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = NULL_TREE; yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ; break;} case 653: #line 3043 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = NULL_TREE; yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 655: #line 3050 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 656: #line 3055 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ; break;} case 657: #line 3057 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ; break;} case 658: #line 3059 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} case 663: #line 3070 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 664: #line 3072 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 665: #line 3079 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE) { yyval.ttype = lastiddecl; maybe_note_name_used_in_class (yyvsp[-1].ttype, yyval.ttype); } got_scope = yyval.ttype = complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype))); ; break;} case 666: #line 3089 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype = TREE_TYPE (yyval.ttype); ; break;} case 667: #line 3095 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype; ; break;} case 668: #line 3101 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ; break;} case 670: #line 3117 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 671: #line 3122 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't') yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype); else { yyval.ttype = yyvsp[0].ttype; if (TREE_CODE (yyval.ttype) == TYPE_DECL) yyval.ttype = TREE_TYPE (yyval.ttype); } ; break;} case 672: #line 3135 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ; break;} case 673: #line 3137 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 674: #line 3139 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 675: #line 3144 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype); ; break;} case 676: #line 3149 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't') yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype); else { yyval.ttype = yyvsp[0].ttype; if (TREE_CODE (yyval.ttype) == TYPE_DECL) yyval.ttype = TREE_TYPE (yyval.ttype); } ; break;} case 677: #line 3162 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 678: #line 3164 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 679: #line 3169 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE) yyvsp[-1].ttype = lastiddecl; /* Retrieve the type for the identifier, which might involve some computation. */ got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype)); if (yyval.ttype == error_mark_node) cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype); ; break;} case 680: #line 3181 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ; break;} case 681: #line 3187 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ; break;} case 684: #line 3191 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE) yyval.ttype = lastiddecl; got_scope = yyval.ttype; ; break;} case 685: #line 3200 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 686: #line 3205 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE) yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype); else yyval.ttype = yyvsp[0].ttype; got_scope = NULL_TREE; ; break;} case 688: #line 3214 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 689: #line 3219 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = NULL_TREE; ; break;} case 690: #line 3221 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ; break;} case 691: #line 3228 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = void_type_node; ; break;} case 692: #line 3234 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 693: #line 3236 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ; break;} case 694: #line 3238 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 695: #line 3240 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ; break;} case 696: #line 3242 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg); ; break;} case 697: #line 3246 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} case 699: #line 3255 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; break;} case 700: #line 3257 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; break;} case 702: #line 3263 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { /* Provide support for '(' attributes '*' declarator ')' etc */ yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 703: #line 3273 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} case 704: #line 3275 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} case 705: #line 3277 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ; break;} case 706: #line 3279 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ; break;} case 707: #line 3281 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} case 708: #line 3283 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ; break;} case 709: #line 3285 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ; break;} case 710: #line 3287 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ; break;} case 711: #line 3289 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg); ; break;} case 712: #line 3293 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} case 714: #line 3302 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 716: #line 3306 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 717: #line 3308 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 718: #line 3310 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ; break;} case 719: #line 3312 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ; break;} case 720: #line 3314 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 721: #line 3316 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 722: #line 3318 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 723: #line 3320 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ; break;} case 724: #line 3322 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ; break;} case 731: #line 3345 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pedantic) pedwarn ("ANSI C++ forbids label declarations"); ; break;} case 734: #line 3356 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree link; for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link)) { tree label = shadow_label (TREE_VALUE (link)); C_DECLARED_LABEL_FLAG (label) = 1; declare_nonlocal_label (label); } ; break;} case 735: #line 3370 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" {; break;} case 737: #line 3376 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_compound_stmt (0); if(objc_method_context) add_objc_super_decl(); ; break;} case 738: #line 3379 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ; break;} case 739: #line 3384 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_if_stmt (); cond_stmt_keyword = "if"; ; break;} case 740: #line 3389 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 741: #line 3391 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ; break;} case 743: #line 3396 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_compound_stmt (0); ; break;} case 744: #line 3398 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ; break;} case 745: #line 3403 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" {; break;} case 747: #line 3409 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_stmt (); ; break;} case 748: #line 3411 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_expr_stmt (yyvsp[-1].ttype); ; break;} case 749: #line 3413 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { begin_else_clause (); ; break;} case 750: #line 3415 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_else_clause (yyvsp[-3].ttype); finish_if_stmt (); ; break;} case 751: #line 3420 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_if_stmt (); ; break;} case 752: #line 3422 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_while_stmt (); cond_stmt_keyword = "while"; ; break;} case 753: #line 3427 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 754: #line 3429 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_while_stmt (yyvsp[-3].ttype); ; break;} case 755: #line 3431 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_do_stmt (); ; break;} case 756: #line 3433 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_do_body (yyvsp[-2].ttype); cond_stmt_keyword = "do"; ; break;} case 757: #line 3438 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ; break;} case 758: #line 3440 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_for_stmt (); ; break;} case 759: #line 3442 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_for_init_stmt (yyvsp[-2].ttype); ; break;} case 760: #line 3444 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ; break;} case 761: #line 3446 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ; break;} case 762: #line 3448 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ; break;} case 763: #line 3450 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { begin_switch_stmt (); ; break;} case 764: #line 3452 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ; break;} case 765: #line 3454 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 766: #line 3456 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ; break;} case 768: #line 3459 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 770: #line 3462 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_case_label (NULL_TREE, NULL_TREE); ; break;} case 772: #line 3465 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_break_stmt (); ; break;} case 773: #line 3467 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_continue_stmt (); ; break;} case 774: #line 3469 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_return_stmt (NULL_TREE); ; break;} case 775: #line 3471 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_return_stmt (yyvsp[-1].ttype); ; break;} case 776: #line 3473 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE, NULL_TREE); ; break;} case 777: #line 3479 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE); ; break;} case 778: #line 3485 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ; break;} case 779: #line 3489 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ; break;} case 780: #line 3491 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pedantic) pedwarn ("ANSI C++ forbids computed gotos"); finish_goto_stmt (yyvsp[-1].ttype); ; break;} case 781: #line 3497 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_goto_stmt (yyvsp[-1].ttype); ; break;} case 782: #line 3499 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_stmt (); ; break;} case 783: #line 3501 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { error ("label must be followed by statement"); yyungetc ('}', 0); finish_stmt (); ; break;} case 784: #line 3505 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_stmt (); ; break;} case 787: #line 3509 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { do_local_using_decl (yyvsp[0].ttype); ; break;} case 789: #line 3515 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (! current_function_parms_stored) store_parm_decls (); expand_start_early_try_stmts (); ; break;} case 790: #line 3521 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { end_protect_partials (); expand_start_all_catch (); ; break;} case 791: #line 3526 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { expand_end_all_catch (); yyval.itype = yyvsp[-3].itype; ; break;} case 792: #line 3534 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_try_block (); ; break;} case 793: #line 3536 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_try_block (yyvsp[-1].ttype); ; break;} case 794: #line 3538 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_handler_sequence (yyvsp[-3].ttype); ; break;} case 797: #line 3548 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = begin_handler(); ; break;} case 798: #line 3550 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_handler_parms (yyvsp[-1].ttype); ; break;} case 799: #line 3552 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_handler (yyvsp[-3].ttype); ; break;} case 802: #line 3562 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { expand_start_catch_block (NULL_TREE, NULL_TREE); ; break;} case 803: #line 3578 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype); expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t), TREE_VALUE (yyvsp[-1].ftype.t)); ; break;} case 804: #line 3585 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree label; do_label: label = define_label (input_filename, lineno, yyvsp[-1].ttype); if (label && ! minimal_parse_mode) expand_label (label); ; break;} case 805: #line 3592 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { goto do_label; ; break;} case 806: #line 3594 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { goto do_label; ; break;} case 807: #line 3596 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { goto do_label; ; break;} case 808: #line 3601 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ; break;} case 810: #line 3604 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pedantic) pedwarn ("ANSI C++ forbids compound statements inside for initializations"); ; break;} case 811: #line 3613 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { emit_line_note (input_filename, lineno); yyval.ttype = NULL_TREE; ; break;} case 812: #line 3616 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { emit_line_note (input_filename, lineno); ; break;} case 813: #line 3621 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 815: #line 3624 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 816: #line 3631 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 819: #line 3638 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ; break;} case 820: #line 3643 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ; break;} case 821: #line 3648 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ; break;} case 822: #line 3650 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ; break;} case 823: #line 3661 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = empty_parms(); ; break;} case 825: #line 3666 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0); check_for_new_type ("inside parameter list", yyvsp[0].ftype); ; break;} case 826: #line 3674 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_parmlist (yyval.ttype, 0); ; break;} case 827: #line 3676 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ; break;} case 828: #line 3679 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ; break;} case 829: #line 3681 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 1); ; break;} case 830: #line 3684 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = finish_parmlist (NULL_TREE, 1); ; break;} case 831: #line 3686 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { /* This helps us recover from really nasty parse errors, for example, a missing right parenthesis. */ yyerror ("possibly missing ')'"); yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0); yyungetc (':', 0); yychar = ')'; ; break;} case 832: #line 3696 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { /* This helps us recover from really nasty parse errors, for example, a missing right parenthesis. */ yyerror ("possibly missing ')'"); yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0); yyungetc (':', 0); yychar = ')'; ; break;} case 833: #line 3711 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { maybe_snarf_defarg (); ; break;} case 834: #line 3713 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; ; break;} case 837: #line 3724 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { check_for_new_type ("in a parameter list", yyvsp[0].ftype); yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ; break;} case 838: #line 3727 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { check_for_new_type ("in a parameter list", yyvsp[-1].ftype); yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ; break;} case 839: #line 3730 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { check_for_new_type ("in a parameter list", yyvsp[0].ftype); yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ; break;} case 840: #line 3733 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 841: #line 3735 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ; break;} case 843: #line 3741 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { check_for_new_type ("in a parameter list", yyvsp[-1].ftype); yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ; break;} case 844: #line 3751 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree specs = strip_attrs (yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ; break;} case 845: #line 3755 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 846: #line 3758 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = build_tree_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t), yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 847: #line 3762 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree specs = strip_attrs (yyvsp[-1].ftype.t); yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 848: #line 3766 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree specs = strip_attrs (yyvsp[0].ftype.t); yyval.ftype.t = build_tree_list (specs, NULL_TREE); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 849: #line 3770 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree specs = strip_attrs (yyvsp[-1].ttype); yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); yyval.ftype.new_type_flag = 0; ; break;} case 850: #line 3777 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ; break;} case 851: #line 3780 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ; break;} case 854: #line 3791 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { see_typename (); ; break;} case 855: #line 3796 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { error ("type specifier omitted for parameter"); yyval.ttype = build_tree_list (integer_type_node, NULL_TREE); ; break;} case 856: #line 3801 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { error ("type specifier omitted for parameter"); if (TREE_CODE (yyval.ttype) == SCOPE_REF && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM)) cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype); yyval.ttype = build_tree_list (integer_type_node, yyval.ttype); ; break;} case 857: #line 3813 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 858: #line 3815 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 859: #line 3817 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ; break;} case 860: #line 3822 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ; break;} case 862: #line 3828 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ; break;} case 863: #line 3836 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 864: #line 3838 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 865: #line 3840 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 866: #line 3842 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg); ; break;} case 867: #line 3849 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { got_scope = NULL_TREE; ; break;} case 868: #line 3854 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[MULT_EXPR]; ; break;} case 869: #line 3856 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ; break;} case 870: #line 3858 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ; break;} case 871: #line 3860 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[PLUS_EXPR]; ; break;} case 872: #line 3862 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[MINUS_EXPR]; ; break;} case 873: #line 3864 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ; break;} case 874: #line 3866 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ; break;} case 875: #line 3868 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ; break;} case 876: #line 3870 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ; break;} case 877: #line 3872 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ; break;} case 878: #line 3874 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[yyvsp[0].code]; ; break;} case 879: #line 3876 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[LT_EXPR]; ; break;} case 880: #line 3878 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[GT_EXPR]; ; break;} case 881: #line 3880 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[yyvsp[0].code]; ; break;} case 882: #line 3882 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_assopname[yyvsp[0].code]; ; break;} case 883: #line 3884 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname [MODIFY_EXPR]; ; break;} case 884: #line 3886 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[yyvsp[0].code]; ; break;} case 885: #line 3888 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[yyvsp[0].code]; ; break;} case 886: #line 3890 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ; break;} case 887: #line 3892 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ; break;} case 888: #line 3894 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ; break;} case 889: #line 3896 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ; break;} case 890: #line 3898 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ; break;} case 891: #line 3900 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[COND_EXPR]; ; break;} case 892: #line 3902 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[yyvsp[0].code]; ; break;} case 893: #line 3904 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[COMPONENT_REF]; ; break;} case 894: #line 3906 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[MEMBER_REF]; ; break;} case 895: #line 3908 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[CALL_EXPR]; ; break;} case 896: #line 3910 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[ARRAY_REF]; ; break;} case 897: #line 3912 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[NEW_EXPR]; ; break;} case 898: #line 3914 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[DELETE_EXPR]; ; break;} case 899: #line 3916 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ; break;} case 900: #line 3918 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ; break;} case 901: #line 3921 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ; break;} case 902: #line 3923 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = ansi_opname[ERROR_MARK]; ; break;} case 903: #line 3934 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { current_declspecs = yyvsp[0].ttype; yyval.itype = suspend_momentary (); ; break;} case 910: #line 3946 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (objc_implementation_context) { finish_class(objc_implementation_context); objc_ivar_chain = NULL_TREE; objc_implementation_context = NULL_TREE; } else warning("`@end' must appear in an implementation context"); ; break;} case 911: #line 3961 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 912: #line 3963 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ; break;} case 913: #line 3968 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_declare_class (yyvsp[-1].ttype); ; break;} case 914: #line 3974 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_declare_protocols (yyvsp[-1].ttype); ; break;} case 915: #line 3980 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype); ; break;} case 916: #line 3987 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ttype ; break;} case 918: #line 3993 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_interface_context = objc_ivar_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype); objc_public_flag = 0; ; break;} case 919: #line 3999 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { continue_class (objc_interface_context); ; break;} case 920: #line 4004 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} case 921: #line 4010 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_interface_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype); continue_class (objc_interface_context); ; break;} case 922: #line 4017 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_class(objc_interface_context); objc_interface_context = NULL_TREE; ; break;} case 923: #line 4023 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_interface_context = objc_ivar_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype); objc_public_flag = 0; ; break;} case 924: #line 4029 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { continue_class (objc_interface_context); ; break;} case 925: #line 4034 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_class(objc_interface_context); objc_interface_context = NULL_TREE; ; break;} case 926: #line 4040 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_interface_context = start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); continue_class (objc_interface_context); ; break;} case 927: #line 4047 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} case 928: #line 4053 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_implementation_context = objc_ivar_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); objc_public_flag = 0; ; break;} case 929: #line 4059 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_ivar_chain = continue_class (objc_implementation_context); ; break;} case 930: #line 4065 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_implementation_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[0].ttype, NULL_TREE, NULL_TREE); objc_ivar_chain = continue_class (objc_implementation_context); ; break;} case 931: #line 4073 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_implementation_context = objc_ivar_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE); objc_public_flag = 0; ; break;} case 932: #line 4079 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_ivar_chain = continue_class (objc_implementation_context); ; break;} case 933: #line 4085 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_implementation_context = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); objc_ivar_chain = continue_class (objc_implementation_context); ; break;} case 934: #line 4093 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_interface_context = start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); continue_class (objc_interface_context); ; break;} case 935: #line 4100 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_class (objc_interface_context); objc_interface_context = NULL_TREE; ; break;} case 936: #line 4106 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_implementation_context = start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); objc_ivar_chain = continue_class (objc_implementation_context); ; break;} case 937: #line 4116 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_interface_context = start_protocol(PROTOCOL_INTERFACE_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype); ; break;} case 938: #line 4122 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_protocol(objc_interface_context); objc_interface_context = NULL_TREE; ; break;} case 939: #line 4127 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_interface_context = start_protocol(PROTOCOL_INTERFACE_TYPE, yyvsp[0].ttype, NULL_TREE); ; break;} case 940: #line 4133 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_protocol(objc_interface_context); objc_interface_context = NULL_TREE; ; break;} case 943: #line 4145 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_public_flag = 1; ; break;} case 944: #line 4146 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_public_flag = 2; ; break;} case 945: #line 4147 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_public_flag = 0; ; break;} case 946: #line 4152 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 948: #line 4157 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (pedantic) warning ("extra semicolon in struct or union specified"); ; break;} case 949: #line 4165 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; resume_momentary (yyvsp[-1].itype); ; break;} case 950: #line 4170 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[0].ttype; resume_momentary (yyvsp[-1].itype); ; break;} case 951: #line 4175 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 952: #line 4180 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 955: #line 4187 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = add_instance_variable(objc_ivar_context, objc_public_flag, yyvsp[0].ttype, current_declspecs, NULL_TREE); ; break;} case 956: #line 4192 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = add_instance_variable(objc_ivar_context, objc_public_flag, yyvsp[-2].ttype, current_declspecs, yyvsp[0].ttype); ; break;} case 957: #line 4197 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = add_instance_variable(objc_ivar_context, objc_public_flag, NULL_TREE, current_declspecs, yyvsp[0].ttype); ; break;} case 958: #line 4205 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (flag_dump_symbols) printf ("++m"); if (flag_gen_index) dump_symbol_info ("++m ", NULL, -1); if (objc_implementation_context) objc_inherit_code = CLASS_METHOD_DECL; else fatal("Illegal method definition - must be in a class context."); objc_in_method_signature = 1; ; break;} case 959: #line 4217 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { add_class_method(objc_implementation_context,yyvsp[0].ttype); start_method_def (yyvsp[0].ttype); objc_method_context = yyvsp[0].ttype; objc_in_method_signature = 0; ; break;} case 960: #line 4224 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { continue_method_def(); ; break;} case 961: #line 4228 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_method_def (); objc_method_context = NULL_TREE; if (flag_dump_symbols) printf ("--m %u\n", lineno); if (flag_gen_index) dump_symbol_info ("--m ", NULL, lineno); ; break;} case 962: #line 4238 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (flag_dump_symbols) printf ("+-m"); if (flag_gen_index) dump_symbol_info ("+-m ", NULL, -1); if (objc_implementation_context) objc_inherit_code = INSTANCE_METHOD_DECL; else fatal("Illegal method definition - must be in a class context."); objc_in_method_signature = 1; ; break;} case 963: #line 4250 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { add_instance_method(objc_implementation_context,yyvsp[0].ttype); start_method_def (yyvsp[0].ttype); objc_method_context = yyvsp[0].ttype; objc_in_method_signature = 0; ; break;} case 964: #line 4257 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { continue_method_def(); ; break;} case 965: #line 4261 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { finish_method_def (); objc_method_context = NULL_TREE; if (flag_dump_symbols) printf ("--m %u\n", lineno); if (flag_gen_index) dump_symbol_info ("--m ", NULL, lineno); ; break;} case 967: #line 4277 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" {yyval.ttype = NULL_TREE; ; break;} case 972: #line 4284 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" {yyval.ttype = NULL_TREE; ; break;} case 976: #line 4294 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (flag_dump_symbols) printf ("++h"); if (flag_gen_index) dump_symbol_info ("++h ", NULL, -1); objc_inherit_code = CLASS_METHOD_DECL; objc_in_method_signature = 1; ; break;} case 977: #line 4303 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { add_class_method(objc_interface_context,yyvsp[0].ttype); objc_in_method_signature = 0; ; break;} case 979: #line 4310 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (flag_dump_symbols) printf ("+-h"); if (flag_gen_index) dump_symbol_info ("+-h ", NULL, -1); objc_inherit_code = INSTANCE_METHOD_DECL; objc_in_method_signature = 1; ; break;} case 980: #line 4319 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { add_instance_method(objc_interface_context,yyvsp[0].ttype); objc_in_method_signature = 0; ; break;} case 982: #line 4327 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { remember_protocol_qualifiers (); ; break;} case 983: #line 4330 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { forget_protocol_qualifiers (); ; break;} case 984: #line 4334 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ftype.t; ; break;} case 985: #line 4338 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ; break;} case 986: #line 4340 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ; break;} case 987: #line 4345 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ftype.t, yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; break;} case 988: #line 4351 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; break;} case 989: #line 4356 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE, NULL_TREE); ; break;} case 990: #line 4362 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-4].ttype, yyvsp[-3].ftype.t, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 991: #line 4367 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ftype.t, yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 992: #line 4372 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ; break;} case 1001: #line 4403 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { resume_momentary (yyvsp[-2].itype); ; break;} case 1002: #line 4405 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { shadow_tag (yyvsp[-1].ftype.t); ; break;} case 1003: #line 4407 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { warning ("empty declaration"); ; break;} case 1004: #line 4414 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objcplus_push_parm_decl (yyvsp[0].ttype); ; break;} case 1005: #line 4416 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objcplus_push_parm_decl (yyvsp[0].ttype); ; break;} case 1006: #line 4424 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (current_declspecs, yyvsp[0].ttype) ; ; break;} case 1007: #line 4426 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (current_declspecs, yyvsp[0].ttype) ; ; break;} case 1008: #line 4431 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = NULL_TREE; ; break;} case 1009: #line 4435 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { /* oh what a kludge! */ yyval.ttype = (tree)1; ; break;} case 1010: #line 4440 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { pushlevel (0); ; break;} case 1011: #line 4444 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { /* returns a tree list node generated by `get_parm_info()' */ yyval.ttype = yyvsp[0].ttype; poplevel(0,0,0); ; break;} case 1014: #line 4458 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon(yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 1021: #line 4473 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { looking_for_typename = 0; yyval.ttype = get_identifier("enum"); ; break;} case 1022: #line 4475 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { looking_for_typename = 0; if (yylval.ttype == class_type_node) yyval.ttype = get_identifier("class"); else if (yylval.ttype == record_type_node) yyval.ttype = get_identifier("struct"); else if (yylval.ttype == union_type_node) yyval.ttype = get_identifier("union"); else if (yylval.ttype == enum_type_node) yyval.ttype = get_identifier("enum"); else abort (); ; break;} case 1023: #line 4488 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("if"); ; break;} case 1024: #line 4489 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("else"); ; break;} case 1025: #line 4490 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("while"); ; break;} case 1026: #line 4491 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("do"); ; break;} case 1027: #line 4492 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("for"); ; break;} case 1028: #line 4493 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("switch"); ; break;} case 1029: #line 4494 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("case"); ; break;} case 1030: #line 4495 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("default"); ; break;} case 1031: #line 4496 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("break"); ; break;} case 1032: #line 4497 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("continue"); ; break;} case 1033: #line 4498 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("return"); ; break;} case 1034: #line 4499 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("goto"); ; break;} case 1035: #line 4500 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("asm"); ; break;} case 1036: #line 4501 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("sizeof"); ; break;} case 1037: #line 4502 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("typeof"); ; break;} case 1038: #line 4503 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("alignof"); ; break;} case 1039: #line 4504 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("new"); ; break;} case 1040: #line 4505 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("delete"); ; break;} case 1041: #line 4506 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("operator"); ; break;} case 1042: #line 4507 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("using"); ; break;} case 1043: #line 4508 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("namespace"); ; break;} case 1044: #line 4509 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_identifier("template"); ; break;} case 1045: #line 4510 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (yyvsp[0].ttype == access_private_node) yyval.ttype = get_identifier ("private"); else if (yyvsp[0].ttype == access_public_node) yyval.ttype = get_identifier ("public"); else if (yyvsp[0].ttype == access_protected_node) yyval.ttype = get_identifier ("protected"); else abort (); ; break;} case 1046: #line 4520 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yylval.ttype; ; break;} case 1047: #line 4521 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yylval.ttype; ; break;} case 1048: #line 4526 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_keyword_decl (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 1049: #line 4531 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype); ; break;} case 1050: #line 4536 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 1051: #line 4541 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ; break;} case 1055: #line 4554 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon(yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 1056: #line 4562 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE) /* just return the expr., remove a level of indirection */ yyval.ttype = TREE_VALUE (yyvsp[0].ttype); else /* we have a comma expr., we will collapse later */ yyval.ttype = yyvsp[0].ttype; ; break;} case 1057: #line 4574 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ; break;} case 1058: #line 4578 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ; break;} case 1059: #line 4585 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_x_compound_expr (yyvsp[0].ttype); ; break;} case 1060: #line 4589 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_class_reference (yyvsp[0].ttype); ; break;} case 1061: #line 4593 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = get_class_reference (yyvsp[0].ttype); ; break;} case 1062: #line 4600 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_receiver_context = 1; objc_msg_context += 1; ; break;} case 1063: #line 4602 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_receiver_context = 0; yyval.ttype = yyvsp[0].ttype; ; break;} case 1064: #line 4607 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { objc_msg_context -= 1; ; break;} case 1065: #line 4614 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list(yyvsp[-2].ttype, yyvsp[-1].ttype); TREE_TYPE (yyval.ttype) = NULL_TREE; ; break;} case 1069: #line 4639 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ; break;} case 1070: #line 4646 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE); ; break;} case 1071: #line 4650 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = build_tree_list (NULL_TREE,NULL_TREE); ; break;} case 1072: #line 4654 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = chainon (build_tree_list (NULL_TREE,NULL_TREE), build_tree_list (NULL_TREE,NULL_TREE)); ; break;} case 1073: #line 4662 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 1074: #line 4669 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = yyvsp[-1].ttype; ; break;} case 1075: #line 4678 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" { yyval.ttype = groktypename(yyvsp[-1].ftype.t); ; break;} } /* the action file gets copied in in place of this dollarsign */ #line 543 "/usr/share/bison.simple" yyvsp -= yylen; yyssp -= yylen; #ifdef YYLSP_NEEDED yylsp -= yylen; #endif #if YYDEBUG != 0 if (yydebug) { short *ssp1 = yyss - 1; fprintf (stderr, "state stack now"); while (ssp1 != yyssp) fprintf (stderr, " %d", *++ssp1); fprintf (stderr, "\n"); } #endif *++yyvsp = yyval; #ifdef YYLSP_NEEDED yylsp++; if (yylen == 0) { yylsp->first_line = yylloc.first_line; yylsp->first_column = yylloc.first_column; yylsp->last_line = (yylsp-1)->last_line; yylsp->last_column = (yylsp-1)->last_column; yylsp->text = 0; } else { yylsp->last_line = (yylsp+yylen-1)->last_line; yylsp->last_column = (yylsp+yylen-1)->last_column; } #endif /* Now "shift" the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTBASE] + *yyssp; if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTBASE]; goto yynewstate; yyerrlab: /* here on detecting error */ if (! yyerrstatus) /* If not already recovering from an error, report this error. */ { ++yynerrs; #ifdef YYERROR_VERBOSE yyn = yypact[yystate]; if (yyn > YYFLAG && yyn < YYLAST) { int size = 0; char *msg; int x, count; count = 0; /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ for (x = (yyn < 0 ? -yyn : 0); x < (sizeof(yytname) / sizeof(char *)); x++) if (yycheck[x + yyn] == x) size += strlen(yytname[x]) + 15, count++; msg = (char *) malloc(size + 15); if (msg != 0) { strcpy(msg, "parse error"); if (count < 5) { count = 0; for (x = (yyn < 0 ? -yyn : 0); x < (sizeof(yytname) / sizeof(char *)); x++) if (yycheck[x + yyn] == x) { strcat(msg, count == 0 ? ", expecting `" : " or `"); strcat(msg, yytname[x]); strcat(msg, "'"); count++; } } yyerror(msg); free(msg); } else yyerror ("parse error; also virtual memory exceeded"); } else #endif /* YYERROR_VERBOSE */ yyerror("parse error"); } goto yyerrlab1; yyerrlab1: /* here on error raised explicitly by an action */ if (yyerrstatus == 3) { /* if just tried and failed to reuse lookahead token after an error, discard it. */ /* return failure if at end of input */ if (yychar == YYEOF) YYABORT; #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); #endif yychar = YYEMPTY; } /* Else will try to reuse lookahead token after shifting the error token. */ yyerrstatus = 3; /* Each real token shifted decrements this */ goto yyerrhandle; yyerrdefault: /* current state does not do anything special for the error token. */ #if 0 /* This is wrong; only states that explicitly want error tokens should shift them. */ yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ if (yyn) goto yydefault; #endif yyerrpop: /* pop the current state because it cannot handle the error token */ if (yyssp == yyss) YYABORT; yyvsp--; yystate = *--yyssp; #ifdef YYLSP_NEEDED yylsp--; #endif #if YYDEBUG != 0 if (yydebug) { short *ssp1 = yyss - 1; fprintf (stderr, "Error: state stack now"); while (ssp1 != yyssp) fprintf (stderr, " %d", *++ssp1); fprintf (stderr, "\n"); } #endif yyerrhandle: yyn = yypact[yystate]; if (yyn == YYFLAG) goto yyerrdefault; yyn += YYTERROR; if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) goto yyerrdefault; yyn = yytable[yyn]; if (yyn < 0) { if (yyn == YYFLAG) goto yyerrpop; yyn = -yyn; goto yyreduce; } else if (yyn == 0) goto yyerrpop; if (yyn == YYFINAL) YYACCEPT; #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Shifting error token, "); #endif *++yyvsp = yylval; #ifdef YYLSP_NEEDED *++yylsp = yylloc; #endif yystate = yyn; goto yynewstate; yyacceptlab: /* YYACCEPT comes here. */ if (yyfree_stacks) { free (yyss); free (yyvs); #ifdef YYLSP_NEEDED free (yyls); #endif } return 0; yyabortlab: /* YYABORT comes here. */ if (yyfree_stacks) { free (yyss); free (yyvs); #ifdef YYLSP_NEEDED free (yyls); #endif } return 1; } #line 4683 "/Volumes/build/darwin-apple/compiler.roots/compiler/gcc/obcp/parse.y" #ifdef SPEW_DEBUG const char * debug_yytranslate (value) int value; { return yytname[YYTRANSLATE (value)]; } #endif