diff --git a/src/dsql/ddl.cpp b/src/dsql/ddl.cpp index b333ecdca7..8cdf6a9421 100644 --- a/src/dsql/ddl.cpp +++ b/src/dsql/ddl.cpp @@ -154,6 +154,7 @@ static void modify_privilege(dsql_req*, NOD_TYPE, SSHORT, const UCHAR*, static SCHAR modify_privileges(dsql_req*, NOD_TYPE, SSHORT, const dsql_nod*, const dsql_nod*, const dsql_nod*); static void modify_relation(dsql_req*); +static void modify_udf(dsql_req*); static dsql_par* parameter_reverse_order(dsql_par* parameter, dsql_par* prev); static void process_role_nm_list(dsql_req*, SSHORT, dsql_nod*, dsql_nod*, NOD_TYPE); static void put_descriptor(dsql_req*, const dsc*); @@ -4385,6 +4386,11 @@ static void generate_dyn( dsql_req* request, dsql_nod* node) case nod_comment: make_comment(request); + break; + + case nod_mod_udf: + modify_udf(request); + break; default: // CVC: Shouldn't we complain here? break; @@ -4461,9 +4467,9 @@ static void grant_revoke( dsql_req* request) } -// ******************************* +// *********************** // m a k e _ c o m m e n t -// ******************************* +// *********************** // Set the description blob for objects' self documentation. // This query // select rdb$relation_name from rdb$relation_fields where rdb$field_name = 'RDB$DESCRIPTION'; @@ -4922,7 +4928,7 @@ static void modify_domain( dsql_req* request) { case nod_def_default: check_one_call (repetition_count, 0, "DOMAIN DEFAULT"); - /* CVC: So do you want to crash me with ALTER DOMAIN dom SET; ??? */ + // CVC: So do you want to crash me with ALTER DOMAIN dom SET; ??? if (!element->nod_arg[e_dft_default]) { ERRD_post(isc_sqlerr, isc_arg_number, (SLONG) -104, @@ -5390,6 +5396,35 @@ static void modify_relation( dsql_req* request) } +// ******************* +// m o d i f y _ u d f +// ******************* +// Allow the user to change the entry point or module name. +// Useful when there are dependencies on the udf, so it cannot be dropped. +static void modify_udf(dsql_req* request) +{ + const dsql_nod* node = request->req_ddl_node; + fb_assert(node->nod_type == nod_mod_udf); + + if (!node->nod_arg[e_mod_udf_entry_pt] && !node->nod_arg[e_mod_udf_module]) + ERRD_post(isc_sqlerr, isc_arg_number, (SLONG) -104, + isc_arg_gds, isc_command_end_err, // Unexpected end of command + 0); + + const dsql_str* obj_name = (dsql_str*) node->nod_arg[e_mod_udf_name]; + request->append_cstring(isc_dyn_mod_function, obj_name->str_data); + const dsql_str* entry_point_name = (dsql_str*) node->nod_arg[e_mod_udf_entry_pt]; + if (entry_point_name) + request->append_cstring(isc_dyn_func_entry_point, entry_point_name->str_data); + + const dsql_str* module_name = (dsql_str*) node->nod_arg[e_mod_udf_module]; + if (module_name) + request->append_cstring(isc_dyn_func_module_name, module_name->str_data); + + request->append_uchar(isc_dyn_end); +} + + static dsql_par* parameter_reverse_order(dsql_par* parameter, dsql_par* prev) { /************************************** diff --git a/src/dsql/dsql.cpp b/src/dsql/dsql.cpp index 2e8a59fa58..4d7c86a40a 100644 --- a/src/dsql/dsql.cpp +++ b/src/dsql/dsql.cpp @@ -2423,32 +2423,6 @@ void DSQL_pretty(const dsql_nod* node, int column) case nod_file_desc: verb = "file_desc"; break; -/* - case nod_log_file_desc: - verb = "log_file_desc"; - break; - case nod_cache_file_desc: - verb = "cache_file_desc"; - break; - case nod_group_commit_wait: - verb = "group_commit_wait"; - break; - case nod_check_point_len: - verb = "check_point_len"; - break; - case nod_num_log_buffers: - verb = "num_log_buffers"; - break; - case nod_log_buffer_size: - verb = "log_buffer_size"; - break; - case nod_drop_log: - verb = "drop_log"; - break; - case nod_drop_cache: - verb = "drop_cache"; - break; -*/ case nod_dfl_charset: verb = "dfl_charset"; break; @@ -2739,6 +2713,10 @@ void DSQL_pretty(const dsql_nod* node, int column) case nod_comment: verb = "comment"; break; + + case nod_mod_udf: + verb = "mod_udf"; + break; default: sprintf(s, "unknown type %d", node->nod_type); diff --git a/src/dsql/node.h b/src/dsql/node.h index c512f1cd8b..eb7249905f 100644 --- a/src/dsql/node.h +++ b/src/dsql/node.h @@ -225,14 +225,6 @@ enum nod_t nod_page_size, nod_file_length, nod_file_desc, - //nod_log_file_desc, - //nod_cache_file_desc, - //nod_group_commit_wait, - //nod_check_point_len, - //nod_num_log_buffers, - //nod_log_buffer_size, - //nod_drop_log, - //nod_drop_cache, nod_dfl_charset, // sql connect options support (used for create database) nod_password, @@ -334,10 +326,11 @@ enum nod_t nod_param_val, // default value for SP parameters support nod_rows, // ROWS support nod_query_spec, - nod_equiv, + nod_equiv, // IS DISTINCT FROM nod_redef_exception, // RECREATE EXCEPTION nod_replace_exception, // CREATE OR ALTER EXCEPTION - nod_comment + nod_comment, + nod_mod_udf }; typedef nod_t NOD_TYPE; @@ -928,7 +921,12 @@ enum node_args { e_comment_object, e_comment_part, e_comment_string, - e_comment_count + e_comment_count, + + e_mod_udf_name = 0, + e_mod_udf_entry_pt, + e_mod_udf_module, + e_mod_udf_count }; #endif // DSQL_NODE_H diff --git a/src/dsql/parse.cpp b/src/dsql/parse.cpp index 4709733934..c7ef404f54 100644 --- a/src/dsql/parse.cpp +++ b/src/dsql/parse.cpp @@ -494,12 +494,12 @@ static LexerState lex; -#define YYFINAL 1959 +#define YYFINAL 1969 #define YYFLAG -32768 #define YYNTBASE 285 /* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */ -#define YYTRANSLATE(x) ((unsigned)(x) <= 522 ? yytranslate[x] : 732) +#define YYTRANSLATE(x) ((unsigned)(x) <= 522 ? yytranslate[x] : 735) /* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */ static const short yytranslate[] = @@ -603,196 +603,196 @@ static const short yyprhs[] = 1168, 1169, 1179, 1189, 1191, 1193, 1194, 1197, 1199, 1201, 1203, 1205, 1207, 1211, 1215, 1219, 1223, 1227, 1231, 1237, 1243, 1249, 1255, 1261, 1267, 1270, 1271, 1276, 1279, 1282, - 1286, 1289, 1292, 1296, 1300, 1303, 1306, 1310, 1317, 1319, - 1322, 1327, 1331, 1334, 1337, 1340, 1343, 1347, 1349, 1353, - 1357, 1361, 1364, 1367, 1372, 1377, 1383, 1385, 1387, 1389, - 1391, 1393, 1395, 1397, 1399, 1401, 1403, 1405, 1407, 1409, - 1411, 1413, 1415, 1417, 1419, 1421, 1423, 1425, 1427, 1429, - 1431, 1433, 1435, 1437, 1439, 1441, 1443, 1445, 1447, 1449, - 1451, 1454, 1457, 1460, 1462, 1464, 1466, 1467, 1470, 1473, - 1478, 1483, 1489, 1490, 1492, 1495, 1498, 1503, 1507, 1510, - 1513, 1521, 1523, 1524, 1526, 1527, 1530, 1533, 1536, 1539, - 1542, 1545, 1548, 1551, 1554, 1558, 1561, 1564, 1567, 1570, - 1572, 1574, 1576, 1578, 1583, 1589, 1591, 1595, 1597, 1601, - 1603, 1606, 1608, 1610, 1612, 1614, 1616, 1618, 1620, 1622, - 1624, 1626, 1628, 1633, 1638, 1645, 1651, 1655, 1656, 1659, - 1662, 1663, 1667, 1668, 1673, 1675, 1681, 1686, 1688, 1693, - 1695, 1698, 1701, 1703, 1705, 1707, 1710, 1713, 1716, 1719, - 1720, 1724, 1730, 1732, 1734, 1737, 1741, 1743, 1746, 1750, - 1751, 1753, 1755, 1757, 1763, 1769, 1776, 1778, 1780, 1782, - 1785, 1790, 1792, 1793, 1799, 1801, 1802, 1806, 1809, 1811, - 1812, 1815, 1816, 1818, 1819, 1823, 1825, 1826, 1828, 1831, - 1833, 1835, 1837, 1839, 1842, 1845, 1847, 1850, 1854, 1856, - 1858, 1862, 1866, 1868, 1871, 1875, 1877, 1880, 1881, 1884, - 1886, 1888, 1889, 1891, 1893, 1895, 1899, 1902, 1906, 1907, - 1909, 1913, 1918, 1924, 1931, 1939, 1941, 1943, 1945, 1947, - 1949, 1951, 1954, 1956, 1958, 1960, 1962, 1964, 1966, 1969, - 1971, 1973, 1975, 1978, 1980, 1982, 1986, 1990, 1991, 1994, - 1995, 1998, 1999, 2003, 2007, 2011, 2013, 2018, 2023, 2025, - 2035, 2036, 2037, 2038, 2039, 2043, 2046, 2048, 2049, 2053, - 2059, 2063, 2066, 2072, 2075, 2077, 2079, 2081, 2083, 2085, - 2089, 2091, 2095, 2097, 2098, 2101, 2103, 2107, 2109, 2111, - 2113, 2115, 2119, 2126, 2128, 2129, 2133, 2134, 2136, 2140, - 2142, 2144, 2146, 2151, 2157, 2163, 2165, 2167, 2170, 2175, - 2180, 2183, 2187, 2188, 2190, 2193, 2195, 2197, 2200, 2203, - 2206, 2207, 2209, 2210, 2214, 2215, 2217, 2221, 2223, 2226, - 2227, 2230, 2231, 2234, 2235, 2240, 2242, 2245, 2247, 2249, - 2250, 2252, 2256, 2259, 2261, 2263, 2266, 2268, 2273, 2277, - 2279, 2283, 2288, 2289, 2293, 2294, 2296, 2300, 2304, 2306, - 2308, 2309, 2311, 2313, 2318, 2319, 2322, 2327, 2328, 2337, - 2343, 2345, 2347, 2355, 2360, 2362, 2364, 2373, 2379, 2384, - 2386, 2390, 2394, 2396, 2404, 2412, 2418, 2422, 2423, 2425, - 2427, 2429, 2432, 2433, 2435, 2437, 2439, 2440, 2444, 2446, - 2450, 2452, 2453, 2457, 2459, 2463, 2465, 2469, 2473, 2475, - 2477, 2481, 2483, 2486, 2488, 2492, 2496, 2498, 2501, 2505, - 2509, 2513, 2517, 2519, 2523, 2526, 2528, 2530, 2532, 2534, - 2536, 2538, 2540, 2542, 2544, 2546, 2548, 2552, 2556, 2560, - 2564, 2568, 2572, 2576, 2580, 2587, 2594, 2601, 2608, 2615, - 2622, 2629, 2636, 2643, 2650, 2657, 2664, 2671, 2678, 2685, - 2692, 2694, 2696, 2702, 2709, 2715, 2722, 2726, 2731, 2737, - 2744, 2748, 2753, 2757, 2762, 2766, 2771, 2776, 2782, 2787, - 2792, 2796, 2801, 2803, 2805, 2807, 2809, 2811, 2813, 2815, - 2819, 2823, 2825, 2827, 2829, 2831, 2833, 2835, 2837, 2839, - 2841, 2843, 2846, 2849, 2853, 2857, 2861, 2865, 2869, 2873, - 2877, 2881, 2883, 2885, 2887, 2889, 2893, 2895, 2897, 2899, - 2901, 2903, 2905, 2910, 2912, 2916, 2918, 2921, 2923, 2925, - 2927, 2929, 2931, 2933, 2935, 2938, 2941, 2944, 2946, 2948, - 2950, 2952, 2954, 2956, 2958, 2960, 2962, 2964, 2967, 2969, - 2972, 2974, 2976, 2978, 2980, 2982, 2985, 2987, 2989, 2991, - 2993, 2998, 3004, 3010, 3016, 3022, 3028, 3034, 3040, 3046, - 3052, 3058, 3060, 3067, 3069, 3074, 3082, 3085, 3086, 3091, - 3095, 3102, 3104, 3106, 3113, 3122, 3129, 3131, 3133, 3138, - 3145, 3150, 3156, 3160, 3166, 3171, 3177, 3179, 3181, 3183, - 3188, 3195, 3197, 3199, 3201, 3203, 3205, 3207, 3209, 3211, - 3213, 3214, 3216, 3217, 3219, 3221, 3223, 3225, 3227, 3229, - 3231, 3233, 3235, 3237, 3239, 3241, 3243, 3245, 3247, 3249, - 3251, 3253, 3255, 3257, 3259, 3261, 3263, 3265, 3267, 3269, - 3271, 3273, 3275, 3277, 3279, 3281, 3283, 3285, 3287, 3289, - 3291, 3293, 3295, 3297, 3299, 3301, 3303, 3305, 3307, 3309, - 3311, 3313, 3315, 3317, 3319, 3321, 3323, 3325, 3327, 3329, - 3331 + 1286, 1289, 1292, 1296, 1300, 1303, 1306, 1310, 1314, 1321, + 1323, 1326, 1331, 1335, 1338, 1341, 1344, 1347, 1351, 1353, + 1357, 1361, 1365, 1368, 1371, 1376, 1381, 1387, 1389, 1391, + 1393, 1395, 1397, 1399, 1401, 1403, 1405, 1407, 1409, 1411, + 1413, 1415, 1417, 1419, 1421, 1423, 1425, 1427, 1429, 1431, + 1433, 1435, 1437, 1439, 1441, 1443, 1445, 1447, 1449, 1451, + 1453, 1455, 1458, 1461, 1464, 1466, 1468, 1470, 1471, 1474, + 1477, 1482, 1487, 1493, 1497, 1500, 1501, 1504, 1505, 1506, + 1508, 1511, 1514, 1519, 1523, 1526, 1529, 1537, 1539, 1540, + 1542, 1543, 1546, 1549, 1552, 1555, 1558, 1561, 1564, 1567, + 1570, 1574, 1577, 1580, 1583, 1586, 1588, 1590, 1592, 1594, + 1599, 1605, 1607, 1611, 1613, 1617, 1619, 1622, 1624, 1626, + 1628, 1630, 1632, 1634, 1636, 1638, 1640, 1642, 1644, 1649, + 1654, 1661, 1667, 1671, 1672, 1675, 1678, 1679, 1683, 1684, + 1689, 1691, 1697, 1702, 1704, 1709, 1711, 1714, 1717, 1719, + 1721, 1723, 1726, 1729, 1732, 1735, 1736, 1740, 1746, 1748, + 1750, 1753, 1757, 1759, 1762, 1766, 1767, 1769, 1771, 1773, + 1779, 1785, 1792, 1794, 1796, 1798, 1801, 1806, 1808, 1809, + 1815, 1817, 1818, 1822, 1825, 1827, 1828, 1831, 1832, 1834, + 1835, 1839, 1841, 1842, 1844, 1847, 1849, 1851, 1853, 1855, + 1858, 1861, 1863, 1866, 1870, 1872, 1874, 1878, 1882, 1884, + 1887, 1891, 1893, 1896, 1897, 1900, 1902, 1904, 1905, 1907, + 1909, 1911, 1915, 1918, 1922, 1923, 1925, 1929, 1934, 1940, + 1947, 1955, 1957, 1959, 1961, 1963, 1965, 1967, 1970, 1972, + 1974, 1976, 1978, 1980, 1982, 1985, 1987, 1989, 1991, 1994, + 1996, 1998, 2002, 2006, 2007, 2010, 2011, 2014, 2015, 2019, + 2023, 2027, 2029, 2034, 2039, 2041, 2051, 2052, 2053, 2054, + 2055, 2059, 2062, 2064, 2065, 2069, 2075, 2079, 2082, 2088, + 2091, 2093, 2095, 2097, 2099, 2101, 2105, 2107, 2111, 2113, + 2114, 2117, 2119, 2123, 2125, 2127, 2129, 2131, 2135, 2142, + 2144, 2145, 2149, 2150, 2152, 2156, 2158, 2160, 2162, 2167, + 2173, 2179, 2181, 2183, 2186, 2191, 2196, 2199, 2203, 2204, + 2206, 2209, 2211, 2213, 2216, 2219, 2222, 2223, 2225, 2226, + 2230, 2231, 2233, 2237, 2239, 2242, 2243, 2246, 2247, 2250, + 2251, 2256, 2258, 2261, 2263, 2265, 2266, 2268, 2272, 2275, + 2277, 2279, 2282, 2284, 2289, 2293, 2295, 2299, 2304, 2305, + 2309, 2310, 2312, 2316, 2320, 2322, 2324, 2325, 2327, 2329, + 2334, 2335, 2338, 2343, 2344, 2353, 2359, 2361, 2363, 2371, + 2376, 2378, 2380, 2389, 2395, 2400, 2402, 2406, 2410, 2412, + 2420, 2428, 2434, 2438, 2439, 2441, 2443, 2445, 2448, 2449, + 2451, 2453, 2455, 2456, 2460, 2462, 2466, 2468, 2469, 2473, + 2475, 2479, 2481, 2485, 2489, 2491, 2493, 2497, 2499, 2502, + 2504, 2508, 2512, 2514, 2517, 2521, 2525, 2529, 2533, 2535, + 2539, 2542, 2544, 2546, 2548, 2550, 2552, 2554, 2556, 2558, + 2560, 2562, 2564, 2568, 2572, 2576, 2580, 2584, 2588, 2592, + 2596, 2603, 2610, 2617, 2624, 2631, 2638, 2645, 2652, 2659, + 2666, 2673, 2680, 2687, 2694, 2701, 2708, 2710, 2712, 2718, + 2725, 2731, 2738, 2742, 2747, 2753, 2760, 2764, 2769, 2773, + 2778, 2782, 2787, 2792, 2798, 2803, 2808, 2812, 2817, 2819, + 2821, 2823, 2825, 2827, 2829, 2831, 2835, 2839, 2841, 2843, + 2845, 2847, 2849, 2851, 2853, 2855, 2857, 2859, 2862, 2865, + 2869, 2873, 2877, 2881, 2885, 2889, 2893, 2897, 2899, 2901, + 2903, 2905, 2909, 2911, 2913, 2915, 2917, 2919, 2921, 2926, + 2928, 2932, 2934, 2937, 2939, 2941, 2943, 2945, 2947, 2949, + 2951, 2954, 2957, 2960, 2962, 2964, 2966, 2968, 2970, 2972, + 2974, 2976, 2978, 2980, 2983, 2985, 2988, 2990, 2992, 2994, + 2996, 2998, 3001, 3003, 3005, 3007, 3009, 3014, 3020, 3026, + 3032, 3038, 3044, 3050, 3056, 3062, 3068, 3074, 3076, 3083, + 3085, 3090, 3098, 3101, 3102, 3107, 3111, 3118, 3120, 3122, + 3129, 3138, 3145, 3147, 3149, 3154, 3161, 3166, 3172, 3176, + 3182, 3187, 3193, 3195, 3197, 3199, 3204, 3211, 3213, 3215, + 3217, 3219, 3221, 3223, 3225, 3227, 3229, 3230, 3232, 3233, + 3235, 3237, 3239, 3241, 3243, 3245, 3247, 3249, 3251, 3253, + 3255, 3257, 3259, 3261, 3263, 3265, 3267, 3269, 3271, 3273, + 3275, 3277, 3279, 3281, 3283, 3285, 3287, 3289, 3291, 3293, + 3295, 3297, 3299, 3301, 3303, 3305, 3307, 3309, 3311, 3313, + 3315, 3317, 3319, 3321, 3323, 3325, 3327, 3329, 3331, 3333, + 3335, 3337, 3339, 3341, 3343, 3345, 3347 }; static const short yyrhs[] = { - 286, 0, 286, 276, 0, 469, 0, 627, 0, 546, - 0, 523, 0, 321, 0, 308, 0, 617, 0, 491, - 0, 287, 0, 616, 0, 447, 0, 450, 0, 323, - 0, 325, 0, 296, 0, 524, 0, 517, 0, 552, - 0, 515, 0, 620, 0, 40, 674, 0, 70, 289, - 122, 288, 592, 174, 299, 293, 0, 70, 291, 122, + 286, 0, 286, 276, 0, 469, 0, 630, 0, 549, + 0, 526, 0, 321, 0, 308, 0, 620, 0, 494, + 0, 287, 0, 619, 0, 447, 0, 450, 0, 323, + 0, 325, 0, 296, 0, 527, 0, 520, 0, 555, + 0, 518, 0, 623, 0, 40, 677, 0, 70, 289, + 122, 288, 595, 174, 299, 293, 0, 70, 291, 122, 141, 295, 174, 299, 293, 0, 70, 304, 174, 306, 294, 0, 172, 0, 0, 6, 0, 6, 140, 0, 290, 0, 292, 0, 290, 277, 292, 0, 56, 0, - 155, 0, 80, 0, 44, 0, 180, 633, 0, 145, - 633, 0, 192, 70, 124, 0, 0, 192, 202, 124, - 0, 0, 721, 0, 150, 297, 289, 122, 288, 592, + 155, 0, 80, 0, 44, 0, 180, 636, 0, 145, + 636, 0, 192, 70, 124, 0, 0, 192, 202, 124, + 0, 0, 724, 0, 150, 297, 289, 122, 288, 595, 63, 299, 0, 150, 297, 291, 122, 141, 295, 63, 299, 0, 150, 298, 304, 63, 306, 0, 70, 124, 61, 0, 0, 202, 124, 61, 0, 0, 300, 0, 302, 0, 301, 0, 300, 277, 301, 0, 300, 277, - 303, 0, 302, 277, 301, 0, 141, 721, 0, 176, - 725, 0, 187, 728, 0, 206, 722, 0, 303, 0, - 302, 277, 303, 0, 726, 0, 181, 726, 0, 71, - 726, 0, 305, 0, 304, 277, 305, 0, 722, 0, - 307, 0, 306, 277, 307, 0, 726, 0, 181, 726, + 303, 0, 302, 277, 301, 0, 141, 724, 0, 176, + 728, 0, 187, 731, 0, 206, 725, 0, 303, 0, + 302, 277, 303, 0, 729, 0, 181, 729, 0, 71, + 729, 0, 305, 0, 304, 277, 305, 0, 725, 0, + 307, 0, 306, 277, 307, 0, 729, 0, 181, 729, 0, 42, 309, 0, 60, 319, 0, 59, 65, 310, - 0, 705, 312, 149, 316, 52, 673, 111, 673, 0, - 498, 0, 18, 0, 34, 278, 677, 279, 504, 0, + 0, 708, 312, 149, 316, 52, 676, 111, 676, 0, + 501, 0, 18, 0, 34, 278, 680, 279, 507, 0, 0, 313, 0, 278, 313, 279, 0, 314, 0, 313, 277, 314, 0, 379, 311, 315, 0, 0, 19, 230, 0, 19, 262, 0, 94, 0, 317, 0, 278, 317, - 279, 0, 379, 311, 318, 0, 133, 677, 0, 0, + 279, 0, 379, 311, 318, 0, 133, 680, 0, 0, 19, 97, 0, 19, 230, 0, 204, 0, 19, 230, - 204, 0, 714, 78, 320, 128, 320, 52, 673, 111, - 673, 0, 706, 0, 674, 0, 33, 322, 0, 55, - 327, 0, 331, 612, 79, 717, 122, 592, 332, 0, + 204, 0, 717, 78, 320, 128, 320, 52, 676, 111, + 676, 0, 709, 0, 677, 0, 33, 322, 0, 55, + 327, 0, 331, 615, 79, 720, 122, 595, 332, 0, 141, 398, 0, 172, 366, 0, 176, 461, 0, 187, 454, 0, 68, 348, 0, 265, 348, 0, 37, 350, 0, 48, 339, 0, 157, 333, 0, 206, 349, 0, 229, 324, 0, 141, 399, 0, 172, 367, 0, 187, 455, 0, 55, 328, 0, 33, 125, 7, 326, 0, - 141, 400, 0, 176, 462, 0, 55, 329, 0, 713, - 673, 0, 713, 673, 0, 713, 673, 0, 713, 673, - 0, 179, 0, 0, 635, 0, 634, 0, 373, 278, - 458, 662, 459, 279, 0, 677, 334, 335, 673, 336, + 141, 400, 0, 176, 462, 0, 55, 329, 0, 716, + 676, 0, 716, 676, 0, 716, 676, 0, 716, 676, + 0, 179, 0, 0, 638, 0, 637, 0, 373, 278, + 458, 665, 459, 279, 0, 680, 334, 335, 676, 336, 337, 0, 105, 0, 14, 0, 0, 0, 29, 0, - 0, 98, 351, 680, 365, 0, 0, 338, 0, 359, - 0, 338, 359, 0, 376, 340, 493, 458, 341, 459, + 0, 98, 351, 683, 365, 0, 0, 338, 0, 359, + 0, 338, 359, 0, 376, 340, 496, 458, 341, 459, 342, 375, 0, 10, 0, 0, 43, 458, 381, 0, 0, 0, 343, 0, 344, 0, 343, 344, 0, 345, 0, 346, 0, 347, 0, 118, 94, 0, 458, 22, - 278, 642, 279, 459, 0, 716, 0, 722, 0, 352, - 353, 356, 0, 0, 269, 0, 673, 0, 0, 354, - 0, 355, 0, 354, 355, 0, 132, 351, 677, 0, - 98, 351, 680, 365, 0, 181, 673, 0, 134, 673, - 0, 156, 112, 673, 0, 0, 357, 0, 358, 0, - 357, 358, 0, 359, 0, 43, 21, 156, 707, 0, - 255, 90, 673, 0, 360, 673, 361, 0, 90, 0, + 278, 645, 279, 459, 0, 719, 0, 725, 0, 352, + 353, 356, 0, 0, 269, 0, 676, 0, 0, 354, + 0, 355, 0, 354, 355, 0, 132, 351, 680, 0, + 98, 351, 683, 365, 0, 181, 676, 0, 134, 676, + 0, 156, 112, 676, 0, 0, 357, 0, 358, 0, + 357, 358, 0, 359, 0, 43, 21, 156, 710, 0, + 255, 90, 676, 0, 360, 676, 361, 0, 90, 0, 0, 362, 0, 363, 0, 362, 363, 0, 167, 364, - 680, 0, 98, 351, 680, 365, 0, 0, 12, 0, - 12, 130, 0, 0, 130, 0, 131, 0, 592, 368, - 278, 369, 279, 0, 592, 368, 278, 369, 279, 0, - 59, 90, 673, 0, 59, 673, 0, 0, 370, 0, + 683, 0, 98, 351, 683, 365, 0, 0, 12, 0, + 12, 130, 0, 0, 130, 0, 131, 0, 595, 368, + 278, 369, 279, 0, 595, 368, 278, 369, 279, 0, + 59, 90, 676, 0, 59, 676, 0, 0, 370, 0, 369, 277, 370, 0, 371, 0, 386, 0, 376, 374, - 341, 459, 382, 375, 0, 376, 494, 372, 0, 376, - 372, 0, 373, 278, 458, 662, 459, 279, 0, 27, - 19, 0, 27, 0, 493, 458, 0, 640, 456, 0, - 23, 708, 0, 0, 640, 0, 640, 0, 379, 493, - 0, 0, 43, 381, 0, 0, 666, 0, 670, 0, - 671, 0, 672, 0, 704, 0, 663, 0, 0, 383, + 341, 459, 382, 375, 0, 376, 497, 372, 0, 376, + 372, 0, 373, 278, 458, 665, 459, 279, 0, 27, + 19, 0, 27, 0, 496, 458, 0, 643, 456, 0, + 23, 711, 0, 0, 643, 0, 643, 0, 379, 496, + 0, 0, 43, 381, 0, 0, 669, 0, 673, 0, + 674, 0, 675, 0, 707, 0, 666, 0, 0, 383, 0, 384, 0, 383, 384, 0, 387, 385, 0, 118, - 94, 0, 145, 592, 633, 394, 392, 0, 393, 0, + 94, 0, 145, 595, 636, 394, 392, 0, 393, 0, 179, 392, 0, 139, 86, 392, 0, 387, 388, 0, - 30, 710, 0, 0, 389, 0, 390, 0, 391, 0, - 393, 0, 179, 634, 392, 0, 139, 86, 634, 392, - 0, 62, 86, 634, 145, 592, 633, 394, 392, 0, - 239, 612, 79, 717, 0, 0, 458, 22, 278, 642, + 30, 713, 0, 0, 389, 0, 390, 0, 391, 0, + 393, 0, 179, 637, 392, 0, 139, 86, 637, 392, + 0, 62, 86, 637, 145, 595, 636, 394, 392, 0, + 239, 615, 79, 720, 0, 0, 458, 22, 278, 645, 279, 459, 0, 395, 0, 396, 0, 396, 395, 0, 395, 396, 0, 0, 122, 180, 397, 0, 122, 44, 397, 0, 203, 0, 156, 43, 0, 156, 94, 0, - 117, 201, 0, 721, 402, 403, 10, 456, 409, 418, - 459, 0, 721, 402, 403, 10, 456, 409, 418, 459, - 0, 721, 402, 403, 10, 456, 409, 418, 459, 0, - 721, 402, 403, 10, 456, 409, 418, 459, 0, 278, + 117, 201, 0, 724, 402, 403, 10, 456, 409, 418, + 459, 0, 724, 402, 403, 10, 456, 409, 418, 459, + 0, 724, 402, 403, 10, 456, 409, 418, 459, 0, + 724, 402, 403, 10, 456, 409, 418, 459, 0, 278, 404, 279, 0, 0, 149, 278, 406, 279, 0, 0, - 405, 0, 404, 277, 405, 0, 377, 494, 408, 459, - 0, 407, 0, 406, 277, 407, 0, 377, 494, 0, + 405, 0, 404, 277, 405, 0, 377, 497, 408, 459, + 0, 407, 0, 406, 277, 407, 0, 377, 497, 0, 43, 456, 381, 0, 269, 456, 381, 0, 456, 0, 410, 0, 0, 411, 0, 410, 411, 0, 42, 414, - 412, 276, 0, 413, 0, 416, 0, 376, 494, 415, - 0, 184, 0, 0, 269, 381, 0, 380, 0, 711, - 36, 61, 278, 552, 279, 0, 421, 0, 418, 0, + 412, 276, 0, 413, 0, 416, 0, 376, 497, 415, + 0, 184, 0, 0, 269, 381, 0, 380, 0, 714, + 36, 61, 278, 555, 279, 0, 421, 0, 418, 0, 16, 419, 51, 0, 420, 0, 420, 438, 0, 0, - 417, 0, 420, 417, 0, 625, 276, 0, 616, 276, - 0, 620, 276, 0, 617, 276, 0, 431, 276, 0, - 447, 276, 0, 424, 276, 0, 427, 276, 0, 626, + 417, 0, 420, 417, 0, 628, 276, 0, 619, 276, + 0, 623, 276, 0, 620, 276, 0, 431, 276, 0, + 447, 276, 0, 424, 276, 0, 427, 276, 0, 629, 276, 0, 422, 276, 0, 423, 276, 0, 429, 276, 0, 442, 276, 0, 436, 276, 0, 170, 276, 0, 58, 276, 0, 428, 0, 434, 0, 425, 0, 426, - 0, 55, 713, 0, 55, 713, 662, 0, 55, 0, - 56, 246, 662, 0, 435, 61, 552, 82, 433, 437, - 47, 417, 0, 435, 61, 56, 246, 662, 82, 433, - 47, 417, 0, 56, 246, 662, 82, 433, 0, 74, - 278, 642, 279, 173, 417, 50, 417, 0, 74, 278, - 642, 279, 173, 417, 0, 137, 662, 430, 0, 0, - 552, 82, 433, 0, 280, 727, 0, 432, 0, 639, - 0, 433, 277, 639, 0, 433, 277, 432, 0, 435, - 191, 278, 642, 279, 47, 417, 0, 719, 280, 0, - 0, 227, 0, 247, 0, 247, 719, 0, 10, 36, - 711, 0, 0, 439, 0, 438, 439, 0, 189, 440, + 0, 55, 716, 0, 55, 716, 665, 0, 55, 0, + 56, 246, 665, 0, 435, 61, 555, 82, 433, 437, + 47, 417, 0, 435, 61, 56, 246, 665, 82, 433, + 47, 417, 0, 56, 246, 665, 82, 433, 0, 74, + 278, 645, 279, 173, 417, 50, 417, 0, 74, 278, + 645, 279, 173, 417, 0, 137, 665, 430, 0, 0, + 555, 82, 433, 0, 280, 730, 0, 432, 0, 642, + 0, 433, 277, 642, 0, 433, 277, 432, 0, 435, + 191, 278, 645, 279, 47, 417, 0, 722, 280, 0, + 0, 227, 0, 247, 0, 247, 722, 0, 10, 36, + 714, 0, 0, 439, 0, 438, 439, 0, 189, 440, 47, 417, 0, 441, 0, 440, 277, 441, 0, 165, - 674, 0, 66, 715, 0, 55, 713, 0, 9, 0, - 443, 0, 445, 0, 444, 0, 256, 711, 0, 257, - 711, 0, 258, 446, 711, 82, 433, 0, 0, 56, - 141, 721, 448, 449, 0, 665, 0, 278, 665, 279, + 677, 0, 66, 718, 0, 55, 716, 0, 9, 0, + 443, 0, 445, 0, 444, 0, 256, 714, 0, 257, + 714, 0, 258, 446, 714, 82, 433, 0, 0, 56, + 141, 724, 448, 449, 0, 668, 0, 278, 668, 279, 0, 0, 148, 433, 0, 148, 278, 433, 279, 0, 0, 56, 260, 451, 403, 10, 409, 418, 0, 278, 452, 279, 0, 0, 453, 0, 452, 277, 453, 0, - 407, 269, 669, 0, 728, 633, 10, 456, 556, 460, - 457, 0, 728, 633, 10, 456, 556, 460, 457, 0, - 0, 0, 0, 0, 192, 22, 124, 0, 0, 725, - 61, 592, 463, 464, 467, 458, 468, 459, 0, 725, - 61, 592, 463, 464, 467, 458, 468, 459, 0, 3, + 407, 269, 672, 0, 731, 636, 10, 456, 559, 460, + 457, 0, 731, 636, 10, 456, 559, 460, 457, 0, + 0, 0, 0, 0, 192, 22, 124, 0, 0, 728, + 61, 595, 463, 464, 467, 458, 468, 459, 0, 728, + 61, 595, 463, 464, 467, 458, 468, 459, 0, 3, 0, 76, 0, 0, 465, 466, 0, 15, 0, 5, 0, 80, 0, 180, 0, 44, 0, 80, 125, 180, 0, 80, 125, 44, 0, 180, 125, 80, 0, 180, @@ -800,214 +800,215 @@ static const short yyrhs[] = 0, 80, 125, 180, 125, 44, 0, 80, 125, 44, 125, 180, 0, 180, 125, 80, 125, 44, 0, 180, 125, 44, 125, 80, 0, 44, 125, 80, 125, 180, - 0, 44, 125, 180, 125, 80, 0, 136, 675, 0, + 0, 44, 125, 180, 125, 80, 0, 136, 678, 0, 0, 10, 458, 409, 418, 0, 7, 470, 0, 55, - 330, 0, 172, 592, 475, 0, 176, 488, 0, 141, - 401, 0, 37, 485, 486, 0, 48, 477, 473, 0, - 79, 483, 0, 265, 484, 0, 43, 458, 381, 0, - 22, 458, 278, 642, 279, 459, 0, 474, 0, 473, - 474, 0, 156, 458, 471, 459, 0, 4, 30, 472, - 0, 4, 347, 0, 49, 43, 0, 49, 30, 0, - 174, 640, 0, 208, 379, 494, 0, 476, 0, 475, - 277, 476, 0, 49, 640, 482, 0, 49, 30, 710, - 0, 4, 371, 0, 4, 386, 0, 479, 640, 136, - 677, 0, 479, 477, 174, 640, 0, 479, 481, 208, - 480, 459, 0, 478, 0, 730, 0, 202, 0, 207, - 0, 209, 0, 210, 0, 211, 0, 212, 0, 213, - 0, 214, 0, 215, 0, 218, 0, 219, 0, 220, - 0, 221, 0, 222, 0, 225, 0, 226, 0, 229, - 0, 233, 0, 234, 0, 235, 0, 236, 0, 245, - 0, 242, 0, 244, 0, 256, 0, 257, 0, 258, - 0, 259, 0, 239, 0, 263, 0, 267, 0, 7, - 0, 7, 207, 0, 494, 458, 0, 640, 456, 0, - 640, 0, 205, 0, 203, 0, 0, 717, 3, 0, - 717, 76, 0, 716, 266, 192, 679, 0, 716, 266, - 192, 223, 0, 716, 266, 192, 273, 223, 0, 0, - 487, 0, 486, 487, 0, 4, 338, 0, 4, 255, - 90, 673, 0, 49, 255, 90, 0, 16, 254, 0, - 51, 254, 0, 725, 463, 489, 467, 458, 490, 459, - 0, 464, 0, 0, 468, 0, 0, 49, 492, 0, - 55, 713, 0, 79, 717, 0, 141, 721, 0, 172, - 724, 0, 176, 725, 0, 187, 728, 0, 60, 714, - 0, 48, 712, 0, 59, 65, 705, 0, 157, 677, - 0, 206, 722, 0, 68, 716, 0, 265, 716, 0, - 494, 0, 495, 0, 498, 0, 501, 0, 499, 281, - 496, 282, 0, 506, 281, 496, 282, 504, 0, 497, - 0, 496, 277, 497, 0, 679, 0, 679, 280, 679, - 0, 499, 0, 506, 504, 0, 505, 0, 510, 0, - 513, 0, 235, 0, 500, 0, 161, 0, 38, 0, - 218, 0, 219, 0, 81, 0, 92, 0, 18, 503, - 502, 504, 0, 18, 278, 678, 279, 0, 18, 278, - 678, 277, 674, 279, 0, 18, 278, 277, 674, 279, - 0, 154, 160, 678, 0, 0, 169, 674, 0, 169, - 706, 0, 0, 21, 156, 707, 0, 0, 509, 278, - 677, 279, 0, 509, 0, 509, 185, 278, 677, 279, - 0, 508, 278, 677, 279, 0, 508, 0, 507, 278, - 677, 279, 0, 183, 0, 21, 185, 0, 87, 185, - 0, 21, 0, 87, 0, 115, 0, 113, 21, 0, - 113, 87, 0, 95, 511, 0, 512, 511, 0, 0, - 278, 679, 279, 0, 278, 679, 277, 679, 279, 0, - 41, 0, 88, 0, 91, 514, 0, 93, 91, 514, - 0, 144, 0, 89, 138, 0, 278, 675, 279, 0, - 0, 528, 0, 516, 0, 545, 0, 156, 68, 716, - 174, 679, 0, 156, 68, 716, 174, 223, 0, 156, - 68, 716, 174, 273, 223, 0, 518, 0, 519, 0, - 521, 0, 244, 729, 0, 245, 244, 729, 520, 0, - 123, 0, 0, 153, 525, 174, 522, 729, 0, 244, - 0, 0, 25, 525, 526, 0, 153, 525, 0, 193, - 0, 0, 147, 527, 0, 0, 162, 0, 0, 156, - 175, 529, 0, 530, 0, 0, 531, 0, 530, 531, - 0, 532, 0, 533, 0, 534, 0, 538, 0, 143, - 123, 0, 143, 194, 0, 188, 0, 117, 188, 0, - 84, 102, 535, 0, 535, 0, 536, 0, 143, 177, - 537, 0, 143, 26, 537, 0, 162, 0, 162, 172, - 0, 162, 172, 166, 0, 186, 0, 117, 186, 0, - 0, 146, 541, 0, 158, 0, 142, 0, 0, 143, - 0, 194, 0, 542, 0, 541, 277, 542, 0, 544, - 543, 0, 61, 539, 540, 0, 0, 592, 0, 544, - 277, 592, 0, 156, 168, 79, 717, 0, 267, 122, - 547, 83, 551, 0, 267, 122, 548, 720, 83, 551, - 0, 267, 122, 549, 720, 550, 83, 551, 0, 37, - 0, 48, 0, 172, 0, 187, 0, 141, 0, 176, - 0, 59, 65, 0, 60, 0, 55, 0, 68, 0, - 265, 0, 79, 0, 206, 0, 21, 156, 0, 268, - 0, 207, 0, 133, 0, 283, 720, 0, 673, 0, - 94, 0, 556, 553, 555, 0, 61, 180, 554, 0, - 0, 121, 635, 0, 0, 192, 243, 0, 0, 559, - 609, 615, 0, 559, 609, 615, 0, 559, 609, 615, - 0, 560, 0, 559, 178, 703, 560, 0, 559, 178, - 6, 560, 0, 561, 0, 155, 566, 569, 570, 574, - 599, 595, 598, 600, 0, 0, 0, 0, 0, 567, - 568, 563, 0, 567, 563, 0, 568, 0, 0, 231, - 680, 562, 0, 231, 278, 662, 279, 562, 0, 231, - 669, 562, 0, 232, 680, 0, 232, 278, 563, 662, - 279, 0, 232, 669, 0, 46, 0, 702, 0, 571, - 0, 274, 0, 572, 0, 571, 277, 572, 0, 662, - 0, 662, 573, 718, 0, 10, 0, 0, 63, 575, - 0, 576, 0, 575, 277, 576, 0, 582, 0, 577, - 0, 589, 0, 578, 0, 278, 582, 279, 0, 278, - 556, 279, 573, 579, 580, 0, 723, 0, 0, 278, - 581, 279, 0, 0, 718, 0, 581, 277, 718, 0, - 583, 0, 584, 0, 585, 0, 576, 263, 85, 577, - 0, 576, 114, 593, 85, 577, 0, 576, 593, 85, - 576, 586, 0, 587, 0, 588, 0, 122, 642, 0, - 239, 278, 635, 279, 0, 721, 590, 573, 723, 0, - 721, 590, 0, 278, 665, 279, 0, 0, 592, 0, - 724, 723, 0, 724, 0, 77, 0, 100, 594, 0, - 151, 594, 0, 64, 594, 0, 0, 127, 0, 0, - 71, 19, 596, 0, 0, 597, 0, 596, 277, 597, - 0, 662, 0, 73, 642, 0, 0, 190, 642, 0, - 0, 135, 601, 0, 0, 602, 278, 603, 279, 0, - 85, 0, 164, 108, 0, 108, 0, 164, 0, 0, - 604, 0, 604, 277, 603, 0, 605, 606, 0, 601, - 0, 724, 0, 724, 605, 0, 114, 0, 79, 278, - 607, 279, 0, 126, 717, 608, 0, 717, 0, 717, - 277, 607, 0, 79, 278, 607, 279, 0, 0, 126, - 19, 610, 0, 0, 611, 0, 610, 277, 611, 0, - 662, 612, 614, 0, 11, 0, 45, 0, 0, 231, - 0, 241, 0, 240, 564, 613, 565, 0, 0, 259, - 662, 0, 259, 662, 174, 662, 0, 0, 80, 82, - 592, 636, 182, 278, 665, 279, 0, 80, 82, 592, - 636, 556, 0, 618, 0, 619, 0, 44, 63, 591, - 599, 600, 609, 615, 0, 44, 63, 591, 623, 0, - 621, 0, 622, 0, 180, 591, 156, 624, 599, 600, - 609, 615, 0, 180, 591, 156, 624, 623, 0, 190, - 35, 121, 711, 0, 625, 0, 624, 277, 625, 0, - 641, 269, 662, 0, 688, 0, 143, 18, 640, 63, - 592, 628, 631, 0, 80, 18, 640, 82, 592, 628, - 631, 0, 60, 63, 629, 174, 629, 0, 60, 174, - 629, 0, 0, 630, 0, 669, 0, 674, 0, 107, - 632, 0, 0, 678, 0, 669, 0, 634, 0, 0, - 278, 635, 279, 0, 640, 0, 635, 277, 640, 0, - 637, 0, 0, 278, 638, 279, 0, 641, 0, 638, - 277, 641, 0, 640, 0, 723, 283, 709, 0, 723, - 283, 274, 0, 709, 0, 640, 0, 723, 283, 709, - 0, 658, 0, 118, 658, 0, 644, 0, 642, 125, - 642, 0, 642, 8, 642, 0, 644, 0, 118, 658, - 0, 643, 125, 642, 0, 643, 8, 642, 0, 659, - 125, 642, 0, 659, 8, 642, 0, 645, 0, 278, - 643, 279, 0, 118, 644, 0, 646, 0, 649, 0, - 650, 0, 651, 0, 652, 0, 657, 0, 647, 0, - 655, 0, 653, 0, 654, 0, 656, 0, 662, 269, - 662, 0, 662, 270, 662, 0, 662, 271, 662, 0, - 662, 67, 662, 0, 662, 101, 662, 0, 662, 119, - 662, 0, 662, 120, 662, 0, 662, 116, 662, 0, - 662, 269, 6, 278, 557, 279, 0, 662, 270, 6, - 278, 557, 279, 0, 662, 271, 6, 278, 557, 279, - 0, 662, 67, 6, 278, 557, 279, 0, 662, 101, - 6, 278, 557, 279, 0, 662, 119, 6, 278, 557, - 279, 0, 662, 120, 6, 278, 557, 279, 0, 662, - 116, 6, 278, 557, 279, 0, 662, 269, 648, 278, - 557, 279, 0, 662, 270, 648, 278, 557, 279, 0, - 662, 271, 648, 278, 557, 279, 0, 662, 67, 648, - 278, 557, 279, 0, 662, 101, 648, 278, 557, 279, - 0, 662, 119, 648, 278, 557, 279, 0, 662, 120, - 648, 278, 557, 279, 0, 662, 116, 648, 278, 557, - 279, 0, 163, 0, 9, 0, 662, 83, 46, 63, - 662, 0, 662, 83, 118, 46, 63, 662, 0, 662, - 17, 662, 8, 662, 0, 662, 118, 17, 662, 8, - 662, 0, 662, 103, 662, 0, 662, 118, 103, 662, - 0, 662, 103, 662, 54, 662, 0, 662, 118, 103, - 662, 54, 662, 0, 662, 75, 660, 0, 662, 118, - 75, 660, 0, 662, 31, 662, 0, 662, 118, 31, - 662, 0, 662, 167, 662, 0, 662, 118, 167, 662, - 0, 662, 167, 192, 662, 0, 662, 118, 167, 192, - 662, 0, 57, 278, 556, 279, 0, 159, 278, 556, - 279, 0, 662, 83, 94, 0, 662, 83, 118, 94, - 0, 248, 0, 249, 0, 250, 0, 251, 0, 252, - 0, 253, 0, 661, 0, 278, 665, 279, 0, 278, - 557, 279, 0, 639, 0, 664, 0, 681, 0, 668, - 0, 669, 0, 432, 0, 689, 0, 690, 0, 700, - 0, 688, 0, 273, 662, 0, 272, 662, 0, 662, - 272, 662, 0, 662, 28, 662, 0, 662, 23, 708, - 0, 662, 273, 662, 0, 662, 274, 662, 0, 662, - 275, 662, 0, 278, 662, 279, 0, 278, 558, 279, - 0, 670, 0, 671, 0, 672, 0, 39, 0, 723, - 283, 39, 0, 97, 0, 663, 0, 704, 0, 220, - 0, 221, 0, 222, 0, 639, 281, 665, 282, 0, - 662, 0, 665, 277, 662, 0, 668, 0, 273, 667, - 0, 197, 0, 196, 0, 195, 0, 223, 0, 224, - 0, 667, 0, 673, 0, 38, 199, 0, 218, 199, - 0, 219, 199, 0, 284, 0, 181, 0, 225, 0, - 226, 0, 233, 0, 234, 0, 66, 0, 165, 0, - 242, 0, 199, 0, 200, 199, 0, 675, 0, 273, - 676, 0, 196, 0, 196, 0, 675, 0, 196, 0, - 680, 0, 273, 680, 0, 196, 0, 682, 0, 683, - 0, 685, 0, 32, 278, 274, 279, 0, 32, 278, - 702, 662, 279, 0, 32, 278, 46, 662, 279, 0, - 171, 278, 702, 662, 279, 0, 171, 278, 46, 662, - 279, 0, 13, 278, 702, 662, 279, 0, 13, 278, - 46, 662, 279, 0, 110, 278, 702, 662, 279, 0, - 110, 278, 46, 662, 279, 0, 106, 278, 702, 662, - 279, 0, 106, 278, 46, 662, 279, 0, 684, 0, - 209, 278, 701, 63, 662, 279, 0, 686, 0, 96, - 278, 662, 279, 0, 228, 278, 662, 63, 662, 687, - 279, 0, 61, 662, 0, 0, 705, 278, 665, 279, - 0, 705, 278, 279, 0, 20, 278, 662, 10, 378, - 279, 0, 691, 0, 692, 0, 237, 278, 662, 277, - 662, 279, 0, 261, 278, 642, 277, 662, 277, 662, - 279, 0, 238, 278, 662, 277, 665, 279, 0, 693, - 0, 695, 0, 236, 698, 694, 51, 0, 236, 698, - 694, 50, 699, 51, 0, 189, 697, 173, 699, 0, - 694, 189, 697, 173, 699, 0, 236, 696, 51, 0, - 236, 696, 50, 699, 51, 0, 189, 642, 173, 699, - 0, 696, 189, 642, 173, 699, 0, 662, 0, 662, - 0, 662, 0, 264, 97, 61, 716, 0, 69, 278, - 716, 277, 662, 279, 0, 210, 0, 211, 0, 212, - 0, 213, 0, 214, 0, 215, 0, 216, 0, 217, - 0, 6, 0, 0, 46, 0, 0, 94, 0, 198, - 0, 730, 0, 730, 0, 730, 0, 730, 0, 730, - 0, 730, 0, 730, 0, 730, 0, 730, 0, 730, - 0, 730, 0, 730, 0, 730, 0, 730, 0, 730, - 0, 730, 0, 730, 0, 730, 0, 730, 0, 730, - 0, 730, 0, 730, 0, 730, 0, 730, 0, 198, - 0, 731, 0, 201, 0, 203, 0, 204, 0, 205, - 0, 206, 0, 208, 0, 227, 0, 230, 0, 228, - 0, 238, 0, 241, 0, 247, 0, 243, 0, 237, - 0, 240, 0, 246, 0, 248, 0, 249, 0, 250, - 0, 260, 0, 254, 0, 255, 0, 261, 0, 262, - 0, 216, 0, 217, 0, 265, 0, 264, 0, 266, - 0, 268, 0 + 330, 0, 172, 595, 475, 0, 176, 491, 0, 141, + 401, 0, 37, 488, 489, 0, 48, 477, 473, 0, + 79, 483, 0, 265, 484, 0, 59, 65, 485, 0, + 43, 458, 381, 0, 22, 458, 278, 645, 279, 459, + 0, 474, 0, 473, 474, 0, 156, 458, 471, 459, + 0, 4, 30, 472, 0, 4, 347, 0, 49, 43, + 0, 49, 30, 0, 174, 643, 0, 208, 379, 497, + 0, 476, 0, 475, 277, 476, 0, 49, 643, 482, + 0, 49, 30, 713, 0, 4, 371, 0, 4, 386, + 0, 479, 643, 136, 680, 0, 479, 477, 174, 643, + 0, 479, 481, 208, 480, 459, 0, 478, 0, 733, + 0, 202, 0, 207, 0, 209, 0, 210, 0, 211, + 0, 212, 0, 213, 0, 214, 0, 215, 0, 218, + 0, 219, 0, 220, 0, 221, 0, 222, 0, 225, + 0, 226, 0, 229, 0, 233, 0, 234, 0, 235, + 0, 236, 0, 245, 0, 242, 0, 244, 0, 256, + 0, 257, 0, 258, 0, 259, 0, 239, 0, 263, + 0, 267, 0, 7, 0, 7, 207, 0, 497, 458, + 0, 643, 456, 0, 643, 0, 205, 0, 203, 0, + 0, 720, 3, 0, 720, 76, 0, 719, 266, 192, + 682, 0, 719, 266, 192, 223, 0, 719, 266, 192, + 273, 223, 0, 708, 486, 487, 0, 52, 676, 0, + 0, 111, 676, 0, 0, 0, 490, 0, 489, 490, + 0, 4, 338, 0, 4, 255, 90, 676, 0, 49, + 255, 90, 0, 16, 254, 0, 51, 254, 0, 728, + 463, 492, 467, 458, 493, 459, 0, 464, 0, 0, + 468, 0, 0, 49, 495, 0, 55, 716, 0, 79, + 720, 0, 141, 724, 0, 172, 727, 0, 176, 728, + 0, 187, 731, 0, 60, 717, 0, 48, 715, 0, + 59, 65, 708, 0, 157, 680, 0, 206, 725, 0, + 68, 719, 0, 265, 719, 0, 497, 0, 498, 0, + 501, 0, 504, 0, 502, 281, 499, 282, 0, 509, + 281, 499, 282, 507, 0, 500, 0, 499, 277, 500, + 0, 682, 0, 682, 280, 682, 0, 502, 0, 509, + 507, 0, 508, 0, 513, 0, 516, 0, 235, 0, + 503, 0, 161, 0, 38, 0, 218, 0, 219, 0, + 81, 0, 92, 0, 18, 506, 505, 507, 0, 18, + 278, 681, 279, 0, 18, 278, 681, 277, 677, 279, + 0, 18, 278, 277, 677, 279, 0, 154, 160, 681, + 0, 0, 169, 677, 0, 169, 709, 0, 0, 21, + 156, 710, 0, 0, 512, 278, 680, 279, 0, 512, + 0, 512, 185, 278, 680, 279, 0, 511, 278, 680, + 279, 0, 511, 0, 510, 278, 680, 279, 0, 183, + 0, 21, 185, 0, 87, 185, 0, 21, 0, 87, + 0, 115, 0, 113, 21, 0, 113, 87, 0, 95, + 514, 0, 515, 514, 0, 0, 278, 682, 279, 0, + 278, 682, 277, 682, 279, 0, 41, 0, 88, 0, + 91, 517, 0, 93, 91, 517, 0, 144, 0, 89, + 138, 0, 278, 678, 279, 0, 0, 531, 0, 519, + 0, 548, 0, 156, 68, 719, 174, 682, 0, 156, + 68, 719, 174, 223, 0, 156, 68, 719, 174, 273, + 223, 0, 521, 0, 522, 0, 524, 0, 244, 732, + 0, 245, 244, 732, 523, 0, 123, 0, 0, 153, + 528, 174, 525, 732, 0, 244, 0, 0, 25, 528, + 529, 0, 153, 528, 0, 193, 0, 0, 147, 530, + 0, 0, 162, 0, 0, 156, 175, 532, 0, 533, + 0, 0, 534, 0, 533, 534, 0, 535, 0, 536, + 0, 537, 0, 541, 0, 143, 123, 0, 143, 194, + 0, 188, 0, 117, 188, 0, 84, 102, 538, 0, + 538, 0, 539, 0, 143, 177, 540, 0, 143, 26, + 540, 0, 162, 0, 162, 172, 0, 162, 172, 166, + 0, 186, 0, 117, 186, 0, 0, 146, 544, 0, + 158, 0, 142, 0, 0, 143, 0, 194, 0, 545, + 0, 544, 277, 545, 0, 547, 546, 0, 61, 542, + 543, 0, 0, 595, 0, 547, 277, 595, 0, 156, + 168, 79, 720, 0, 267, 122, 550, 83, 554, 0, + 267, 122, 551, 723, 83, 554, 0, 267, 122, 552, + 723, 553, 83, 554, 0, 37, 0, 48, 0, 172, + 0, 187, 0, 141, 0, 176, 0, 59, 65, 0, + 60, 0, 55, 0, 68, 0, 265, 0, 79, 0, + 206, 0, 21, 156, 0, 268, 0, 207, 0, 133, + 0, 283, 723, 0, 676, 0, 94, 0, 559, 556, + 558, 0, 61, 180, 557, 0, 0, 121, 638, 0, + 0, 192, 243, 0, 0, 562, 612, 618, 0, 562, + 612, 618, 0, 562, 612, 618, 0, 563, 0, 562, + 178, 706, 563, 0, 562, 178, 6, 563, 0, 564, + 0, 155, 569, 572, 573, 577, 602, 598, 601, 603, + 0, 0, 0, 0, 0, 570, 571, 566, 0, 570, + 566, 0, 571, 0, 0, 231, 683, 565, 0, 231, + 278, 665, 279, 565, 0, 231, 672, 565, 0, 232, + 683, 0, 232, 278, 566, 665, 279, 0, 232, 672, + 0, 46, 0, 705, 0, 574, 0, 274, 0, 575, + 0, 574, 277, 575, 0, 665, 0, 665, 576, 721, + 0, 10, 0, 0, 63, 578, 0, 579, 0, 578, + 277, 579, 0, 585, 0, 580, 0, 592, 0, 581, + 0, 278, 585, 279, 0, 278, 559, 279, 576, 582, + 583, 0, 726, 0, 0, 278, 584, 279, 0, 0, + 721, 0, 584, 277, 721, 0, 586, 0, 587, 0, + 588, 0, 579, 263, 85, 580, 0, 579, 114, 596, + 85, 580, 0, 579, 596, 85, 579, 589, 0, 590, + 0, 591, 0, 122, 645, 0, 239, 278, 638, 279, + 0, 724, 593, 576, 726, 0, 724, 593, 0, 278, + 668, 279, 0, 0, 595, 0, 727, 726, 0, 727, + 0, 77, 0, 100, 597, 0, 151, 597, 0, 64, + 597, 0, 0, 127, 0, 0, 71, 19, 599, 0, + 0, 600, 0, 599, 277, 600, 0, 665, 0, 73, + 645, 0, 0, 190, 645, 0, 0, 135, 604, 0, + 0, 605, 278, 606, 279, 0, 85, 0, 164, 108, + 0, 108, 0, 164, 0, 0, 607, 0, 607, 277, + 606, 0, 608, 609, 0, 604, 0, 727, 0, 727, + 608, 0, 114, 0, 79, 278, 610, 279, 0, 126, + 720, 611, 0, 720, 0, 720, 277, 610, 0, 79, + 278, 610, 279, 0, 0, 126, 19, 613, 0, 0, + 614, 0, 613, 277, 614, 0, 665, 615, 617, 0, + 11, 0, 45, 0, 0, 231, 0, 241, 0, 240, + 567, 616, 568, 0, 0, 259, 665, 0, 259, 665, + 174, 665, 0, 0, 80, 82, 595, 639, 182, 278, + 668, 279, 0, 80, 82, 595, 639, 559, 0, 621, + 0, 622, 0, 44, 63, 594, 602, 603, 612, 618, + 0, 44, 63, 594, 626, 0, 624, 0, 625, 0, + 180, 594, 156, 627, 602, 603, 612, 618, 0, 180, + 594, 156, 627, 626, 0, 190, 35, 121, 714, 0, + 628, 0, 627, 277, 628, 0, 644, 269, 665, 0, + 691, 0, 143, 18, 643, 63, 595, 631, 634, 0, + 80, 18, 643, 82, 595, 631, 634, 0, 60, 63, + 632, 174, 632, 0, 60, 174, 632, 0, 0, 633, + 0, 672, 0, 677, 0, 107, 635, 0, 0, 681, + 0, 672, 0, 637, 0, 0, 278, 638, 279, 0, + 643, 0, 638, 277, 643, 0, 640, 0, 0, 278, + 641, 279, 0, 644, 0, 641, 277, 644, 0, 643, + 0, 726, 283, 712, 0, 726, 283, 274, 0, 712, + 0, 643, 0, 726, 283, 712, 0, 661, 0, 118, + 661, 0, 647, 0, 645, 125, 645, 0, 645, 8, + 645, 0, 647, 0, 118, 661, 0, 646, 125, 645, + 0, 646, 8, 645, 0, 662, 125, 645, 0, 662, + 8, 645, 0, 648, 0, 278, 646, 279, 0, 118, + 647, 0, 649, 0, 652, 0, 653, 0, 654, 0, + 655, 0, 660, 0, 650, 0, 658, 0, 656, 0, + 657, 0, 659, 0, 665, 269, 665, 0, 665, 270, + 665, 0, 665, 271, 665, 0, 665, 67, 665, 0, + 665, 101, 665, 0, 665, 119, 665, 0, 665, 120, + 665, 0, 665, 116, 665, 0, 665, 269, 6, 278, + 560, 279, 0, 665, 270, 6, 278, 560, 279, 0, + 665, 271, 6, 278, 560, 279, 0, 665, 67, 6, + 278, 560, 279, 0, 665, 101, 6, 278, 560, 279, + 0, 665, 119, 6, 278, 560, 279, 0, 665, 120, + 6, 278, 560, 279, 0, 665, 116, 6, 278, 560, + 279, 0, 665, 269, 651, 278, 560, 279, 0, 665, + 270, 651, 278, 560, 279, 0, 665, 271, 651, 278, + 560, 279, 0, 665, 67, 651, 278, 560, 279, 0, + 665, 101, 651, 278, 560, 279, 0, 665, 119, 651, + 278, 560, 279, 0, 665, 120, 651, 278, 560, 279, + 0, 665, 116, 651, 278, 560, 279, 0, 163, 0, + 9, 0, 665, 83, 46, 63, 665, 0, 665, 83, + 118, 46, 63, 665, 0, 665, 17, 665, 8, 665, + 0, 665, 118, 17, 665, 8, 665, 0, 665, 103, + 665, 0, 665, 118, 103, 665, 0, 665, 103, 665, + 54, 665, 0, 665, 118, 103, 665, 54, 665, 0, + 665, 75, 663, 0, 665, 118, 75, 663, 0, 665, + 31, 665, 0, 665, 118, 31, 665, 0, 665, 167, + 665, 0, 665, 118, 167, 665, 0, 665, 167, 192, + 665, 0, 665, 118, 167, 192, 665, 0, 57, 278, + 559, 279, 0, 159, 278, 559, 279, 0, 665, 83, + 94, 0, 665, 83, 118, 94, 0, 248, 0, 249, + 0, 250, 0, 251, 0, 252, 0, 253, 0, 664, + 0, 278, 668, 279, 0, 278, 560, 279, 0, 642, + 0, 667, 0, 684, 0, 671, 0, 672, 0, 432, + 0, 692, 0, 693, 0, 703, 0, 691, 0, 273, + 665, 0, 272, 665, 0, 665, 272, 665, 0, 665, + 28, 665, 0, 665, 23, 711, 0, 665, 273, 665, + 0, 665, 274, 665, 0, 665, 275, 665, 0, 278, + 665, 279, 0, 278, 561, 279, 0, 673, 0, 674, + 0, 675, 0, 39, 0, 726, 283, 39, 0, 97, + 0, 666, 0, 707, 0, 220, 0, 221, 0, 222, + 0, 642, 281, 668, 282, 0, 665, 0, 668, 277, + 665, 0, 671, 0, 273, 670, 0, 197, 0, 196, + 0, 195, 0, 223, 0, 224, 0, 670, 0, 676, + 0, 38, 199, 0, 218, 199, 0, 219, 199, 0, + 284, 0, 181, 0, 225, 0, 226, 0, 233, 0, + 234, 0, 66, 0, 165, 0, 242, 0, 199, 0, + 200, 199, 0, 678, 0, 273, 679, 0, 196, 0, + 196, 0, 678, 0, 196, 0, 683, 0, 273, 683, + 0, 196, 0, 685, 0, 686, 0, 688, 0, 32, + 278, 274, 279, 0, 32, 278, 705, 665, 279, 0, + 32, 278, 46, 665, 279, 0, 171, 278, 705, 665, + 279, 0, 171, 278, 46, 665, 279, 0, 13, 278, + 705, 665, 279, 0, 13, 278, 46, 665, 279, 0, + 110, 278, 705, 665, 279, 0, 110, 278, 46, 665, + 279, 0, 106, 278, 705, 665, 279, 0, 106, 278, + 46, 665, 279, 0, 687, 0, 209, 278, 704, 63, + 665, 279, 0, 689, 0, 96, 278, 665, 279, 0, + 228, 278, 665, 63, 665, 690, 279, 0, 61, 665, + 0, 0, 708, 278, 668, 279, 0, 708, 278, 279, + 0, 20, 278, 665, 10, 378, 279, 0, 694, 0, + 695, 0, 237, 278, 665, 277, 665, 279, 0, 261, + 278, 645, 277, 665, 277, 665, 279, 0, 238, 278, + 665, 277, 668, 279, 0, 696, 0, 698, 0, 236, + 701, 697, 51, 0, 236, 701, 697, 50, 702, 51, + 0, 189, 700, 173, 702, 0, 697, 189, 700, 173, + 702, 0, 236, 699, 51, 0, 236, 699, 50, 702, + 51, 0, 189, 645, 173, 702, 0, 699, 189, 645, + 173, 702, 0, 665, 0, 665, 0, 665, 0, 264, + 97, 61, 719, 0, 69, 278, 719, 277, 665, 279, + 0, 210, 0, 211, 0, 212, 0, 213, 0, 214, + 0, 215, 0, 216, 0, 217, 0, 6, 0, 0, + 46, 0, 0, 94, 0, 198, 0, 733, 0, 733, + 0, 733, 0, 733, 0, 733, 0, 733, 0, 733, + 0, 733, 0, 733, 0, 733, 0, 733, 0, 733, + 0, 733, 0, 733, 0, 733, 0, 733, 0, 733, + 0, 733, 0, 733, 0, 733, 0, 733, 0, 733, + 0, 733, 0, 733, 0, 198, 0, 734, 0, 201, + 0, 203, 0, 204, 0, 205, 0, 206, 0, 208, + 0, 227, 0, 230, 0, 228, 0, 238, 0, 241, + 0, 247, 0, 243, 0, 237, 0, 240, 0, 246, + 0, 248, 0, 249, 0, 250, 0, 260, 0, 254, + 0, 255, 0, 261, 0, 262, 0, 216, 0, 217, + 0, 265, 0, 264, 0, 266, 0, 268, 0 }; #endif @@ -1057,74 +1058,74 @@ static const short yyrline[] = 1800, 1808, 1819, 1830, 1832, 1834, 1838, 1842, 1844, 1848, 1850, 1852, 1854, 1856, 1858, 1860, 1862, 1864, 1866, 1868, 1870, 1872, 1874, 1876, 1880, 1882, 1886, 1892, 1896, 1898, - 1905, 1907, 1909, 1912, 1915, 1918, 1922, 1926, 1932, 1933, - 1937, 1946, 1950, 1952, 1954, 1956, 1958, 1962, 1963, 1967, - 1969, 1971, 1973, 1979, 1982, 1984, 1988, 1996, 1997, 1998, + 1905, 1907, 1909, 1912, 1915, 1917, 1919, 1923, 1927, 1933, + 1934, 1938, 1947, 1951, 1953, 1955, 1957, 1959, 1963, 1964, + 1968, 1970, 1972, 1974, 1980, 1983, 1985, 1989, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, - 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2030, - 2032, 2036, 2038, 2043, 2049, 2051, 2053, 2057, 2059, 2063, - 2066, 2069, 2077, 2081, 2082, 2086, 2088, 2090, 2092, 2094, - 2101, 2111, 2112, 2116, 2117, 2123, 2127, 2129, 2131, 2133, - 2135, 2137, 2139, 2141, 2143, 2145, 2147, 2149, 2151, 2158, - 2159, 2162, 2163, 2166, 2171, 2178, 2179, 2183, 2192, 2198, - 2199, 2202, 2203, 2204, 2205, 2222, 2227, 2232, 2251, 2268, - 2275, 2276, 2283, 2288, 2295, 2302, 2311, 2315, 2321, 2325, - 2329, 2335, 2339, 2346, 2352, 2358, 2366, 2371, 2376, 2383, - 2384, 2385, 2388, 2389, 2392, 2393, 2394, 2401, 2405, 2416, - 2422, 2476, 2538, 2539, 2546, 2559, 2564, 2569, 2576, 2578, - 2585, 2586, 2587, 2591, 2594, 2597, 2605, 2606, 2607, 2610, - 2614, 2618, 2620, 2624, 2628, 2629, 2632, 2636, 2640, 2641, - 2644, 2646, 2650, 2651, 2655, 2659, 2660, 2664, 2665, 2669, - 2670, 2671, 2672, 2675, 2677, 2681, 2683, 2687, 2689, 2692, - 2694, 2696, 2700, 2702, 2704, 2708, 2710, 2712, 2716, 2720, - 2722, 2724, 2728, 2730, 2734, 2735, 2739, 2743, 2745, 2749, - 2750, 2755, 2759, 2761, 2763, 2767, 2771, 2773, 2775, 2777, - 2779, 2781, 2783, 2785, 2787, 2789, 2791, 2793, 2795, 2797, - 2805, 2807, 2811, 2815, 2816, 2823, 2827, 2829, 2833, 2835, - 2839, 2841, 2848, 2852, 2857, 2862, 2863, 2865, 2869, 2872, - 2884, 2888, 2892, 2896, 2900, 2902, 2904, 2906, 2910, 2912, - 2914, 2918, 2920, 2922, 2926, 2928, 2932, 2934, 2938, 2939, - 2943, 2944, 2948, 2949, 2954, 2958, 2959, 2963, 2964, 2967, - 2968, 2969, 2974, 2979, 2980, 2984, 2986, 2990, 2991, 2995, - 2996, 2997, 3000, 3005, 3010, 3014, 3015, 3018, 3022, 3026, - 3029, 3034, 3036, 3040, 3041, 3046, 3051, 3053, 3055, 3057, - 3059, 3063, 3064, 3070, 3072, 3076, 3077, 3083, 3086, 3088, - 3092, 3094, 3101, 3103, 3107, 3111, 3113, 3115, 3121, 3123, - 3127, 3128, 3132, 3134, 3137, 3138, 3142, 3144, 3146, 3150, - 3151, 3155, 3157, 3163, 3165, 3169, 3170, 3174, 3178, 3180, - 3182, 3186, 3188, 3192, 3194, 3200, 3203, 3211, 3218, 3221, - 3228, 3229, 3232, 3236, 3243, 3244, 3247, 3252, 3258, 3265, - 3266, 3270, 3274, 3281, 3283, 3287, 3289, 3291, 3295, 3296, - 3299, 3303, 3305, 3309, 3311, 3317, 3318, 3322, 3326, 3327, - 3332, 3333, 3337, 3341, 3342, 3347, 3348, 3351, 3356, 3361, - 3364, 3371, 3372, 3374, 3375, 3377, 3381, 3382, 3384, 3386, - 3390, 3392, 3396, 3397, 3399, 3403, 3404, 3405, 3406, 3407, - 3408, 3409, 3410, 3411, 3412, 3413, 3418, 3420, 3422, 3424, - 3426, 3428, 3430, 3432, 3438, 3440, 3442, 3444, 3446, 3448, - 3450, 3452, 3454, 3456, 3458, 3460, 3462, 3464, 3466, 3468, - 3472, 3473, 3479, 3481, 3485, 3487, 3492, 3494, 3496, 3498, - 3503, 3505, 3509, 3511, 3515, 3517, 3519, 3521, 3525, 3529, - 3533, 3535, 3539, 3544, 3549, 3556, 3561, 3566, 3575, 3576, - 3580, 3587, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, - 3596, 3597, 3599, 3601, 3608, 3610, 3612, 3619, 3626, 3633, - 3635, 3637, 3638, 3639, 3640, 3642, 3644, 3648, 3649, 3652, - 3668, 3684, 3688, 3692, 3693, 3697, 3698, 3702, 3704, 3706, - 3708, 3710, 3714, 3715, 3717, 3733, 3749, 3753, 3757, 3759, - 3763, 3767, 3770, 3773, 3776, 3779, 3784, 3786, 3791, 3792, - 3796, 3803, 3810, 3817, 3824, 3825, 3829, 3836, 3837, 3838, - 3841, 3843, 3845, 3848, 3855, 3864, 3871, 3880, 3882, 3884, - 3886, 3890, 3893, 3897, 3898, 3902, 3911, 3913, 3917, 3919, - 3923, 3929, 3930, 3933, 3937, 3940, 3944, 3945, 3948, 3950, - 3954, 3956, 3960, 3962, 3966, 3968, 3972, 3975, 3978, 3983, - 3986, 3996, 3998, 4000, 4002, 4004, 4006, 4008, 4010, 4014, - 4015, 4018, 4019, 4022, 4030, 4033, 4036, 4039, 4042, 4045, - 4048, 4051, 4054, 4057, 4060, 4063, 4066, 4069, 4072, 4075, - 4078, 4081, 4084, 4087, 4090, 4093, 4096, 4099, 4102, 4107, - 4108, 4113, 4115, 4116, 4117, 4118, 4119, 4120, 4121, 4122, - 4123, 4124, 4125, 4126, 4127, 4128, 4129, 4130, 4131, 4132, + 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, + 2031, 2033, 2037, 2039, 2044, 2050, 2052, 2054, 2058, 2060, + 2064, 2067, 2070, 2075, 2079, 2081, 2085, 2087, 2094, 2098, + 2099, 2103, 2105, 2107, 2109, 2111, 2118, 2128, 2129, 2133, + 2134, 2140, 2144, 2146, 2148, 2150, 2152, 2154, 2156, 2158, + 2160, 2162, 2164, 2166, 2168, 2175, 2176, 2179, 2180, 2183, + 2188, 2195, 2196, 2200, 2209, 2215, 2216, 2219, 2220, 2221, + 2222, 2239, 2244, 2249, 2268, 2285, 2292, 2293, 2300, 2305, + 2312, 2319, 2328, 2332, 2338, 2342, 2346, 2352, 2356, 2363, + 2369, 2375, 2383, 2388, 2393, 2400, 2401, 2402, 2405, 2406, + 2409, 2410, 2411, 2418, 2422, 2433, 2439, 2493, 2555, 2556, + 2563, 2576, 2581, 2586, 2593, 2595, 2602, 2603, 2604, 2608, + 2611, 2614, 2622, 2623, 2624, 2627, 2631, 2635, 2637, 2641, + 2645, 2646, 2649, 2653, 2657, 2658, 2661, 2663, 2667, 2668, + 2672, 2676, 2677, 2681, 2682, 2686, 2687, 2688, 2689, 2692, + 2694, 2698, 2700, 2704, 2706, 2709, 2711, 2713, 2717, 2719, + 2721, 2725, 2727, 2729, 2733, 2737, 2739, 2741, 2745, 2747, + 2751, 2752, 2756, 2760, 2762, 2766, 2767, 2772, 2776, 2778, + 2780, 2784, 2788, 2790, 2792, 2794, 2796, 2798, 2800, 2802, + 2804, 2806, 2808, 2810, 2812, 2814, 2822, 2824, 2828, 2832, + 2833, 2840, 2844, 2846, 2850, 2852, 2856, 2858, 2865, 2869, + 2874, 2879, 2880, 2882, 2886, 2889, 2901, 2905, 2909, 2913, + 2917, 2919, 2921, 2923, 2927, 2929, 2931, 2935, 2937, 2939, + 2943, 2945, 2949, 2951, 2955, 2956, 2960, 2961, 2965, 2966, + 2971, 2975, 2976, 2980, 2981, 2984, 2985, 2986, 2991, 2996, + 2997, 3001, 3003, 3007, 3008, 3012, 3013, 3014, 3017, 3022, + 3027, 3031, 3032, 3035, 3039, 3043, 3046, 3051, 3053, 3057, + 3058, 3063, 3068, 3070, 3072, 3074, 3076, 3080, 3081, 3087, + 3089, 3093, 3094, 3100, 3103, 3105, 3109, 3111, 3118, 3120, + 3124, 3128, 3130, 3132, 3138, 3140, 3144, 3145, 3149, 3151, + 3154, 3155, 3159, 3161, 3163, 3167, 3168, 3172, 3174, 3180, + 3182, 3186, 3187, 3191, 3195, 3197, 3199, 3203, 3205, 3209, + 3211, 3217, 3220, 3228, 3235, 3238, 3245, 3246, 3249, 3253, + 3260, 3261, 3264, 3269, 3275, 3282, 3283, 3287, 3291, 3298, + 3300, 3304, 3306, 3308, 3312, 3313, 3316, 3320, 3322, 3326, + 3328, 3334, 3335, 3339, 3343, 3344, 3349, 3350, 3354, 3358, + 3359, 3364, 3365, 3368, 3373, 3378, 3381, 3388, 3389, 3391, + 3392, 3394, 3398, 3399, 3401, 3403, 3407, 3409, 3413, 3414, + 3416, 3420, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, + 3429, 3430, 3435, 3437, 3439, 3441, 3443, 3445, 3447, 3449, + 3455, 3457, 3459, 3461, 3463, 3465, 3467, 3469, 3471, 3473, + 3475, 3477, 3479, 3481, 3483, 3485, 3489, 3490, 3496, 3498, + 3502, 3504, 3509, 3511, 3513, 3515, 3520, 3522, 3526, 3528, + 3532, 3534, 3536, 3538, 3542, 3546, 3550, 3552, 3556, 3561, + 3566, 3573, 3578, 3583, 3592, 3593, 3597, 3604, 3605, 3606, + 3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 3616, 3618, + 3625, 3627, 3629, 3636, 3643, 3650, 3652, 3654, 3655, 3656, + 3657, 3659, 3661, 3665, 3666, 3669, 3685, 3701, 3705, 3709, + 3710, 3714, 3715, 3719, 3721, 3723, 3725, 3727, 3731, 3732, + 3734, 3750, 3766, 3770, 3774, 3776, 3780, 3784, 3787, 3790, + 3793, 3796, 3801, 3803, 3808, 3809, 3813, 3820, 3827, 3834, + 3841, 3842, 3846, 3853, 3854, 3855, 3858, 3860, 3862, 3865, + 3872, 3881, 3888, 3897, 3899, 3901, 3903, 3907, 3910, 3914, + 3915, 3919, 3928, 3930, 3934, 3936, 3940, 3946, 3947, 3950, + 3954, 3957, 3961, 3962, 3965, 3967, 3971, 3973, 3977, 3979, + 3983, 3985, 3989, 3992, 3995, 4000, 4003, 4013, 4015, 4017, + 4019, 4021, 4023, 4025, 4027, 4031, 4032, 4035, 4036, 4039, + 4047, 4050, 4053, 4056, 4059, 4062, 4065, 4068, 4071, 4074, + 4077, 4080, 4083, 4086, 4089, 4092, 4095, 4098, 4101, 4104, + 4107, 4110, 4113, 4116, 4119, 4124, 4125, 4130, 4132, 4133, 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, 4142, 4143, - 4144 + 4144, 4145, 4146, 4147, 4148, 4149, 4151, 4152, 4153, 4154, + 4155, 4156, 4157, 4158, 4159, 4160, 4161 }; #endif @@ -1234,10 +1235,11 @@ static const char *const yytname[] = "alter_domain_op", "alter_ops", "alter_op", "alter_column_name", "keyword_or_column", "col_opt", "alter_data_type_or_domain", "alter_col_name", "drop_behaviour", "alter_index_clause", - "alter_sequence_clause", "init_alter_db", "alter_db", "db_alter_clause", - "alter_trigger_clause", "new_trigger_type", "new_trigger_action", - "drop", "drop_clause", "data_type", "non_array_type", "array_type", - "array_spec", "array_range", "simple_type", "non_charset_simple_type", + "alter_sequence_clause", "alter_udf_clause", "entry_op", "module_op", + "init_alter_db", "alter_db", "db_alter_clause", "alter_trigger_clause", + "new_trigger_type", "new_trigger_action", "drop", "drop_clause", + "data_type", "non_array_type", "array_type", "array_spec", + "array_range", "simple_type", "non_charset_simple_type", "integer_keyword", "blob_type", "blob_segsize", "blob_subtype", "charset_clause", "national_character_type", "character_type", "varying_keyword", "character_keyword", "national_character_keyword", @@ -1351,74 +1353,74 @@ static const short yyr1[] = 460, 461, 462, 463, 463, 463, 464, 465, 465, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 467, 467, 468, 469, 470, 470, - 470, 470, 470, 470, 470, 470, 471, 472, 473, 473, - 474, 474, 474, 474, 474, 474, 474, 475, 475, 476, - 476, 476, 476, 476, 476, 476, 477, 478, 478, 478, + 470, 470, 470, 470, 470, 470, 470, 471, 472, 473, + 473, 474, 474, 474, 474, 474, 474, 474, 475, 475, + 476, 476, 476, 476, 476, 476, 476, 477, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, - 478, 478, 478, 478, 478, 478, 478, 478, 478, 479, - 479, 480, 480, 481, 482, 482, 482, 483, 483, 484, - 484, 484, 485, 486, 486, 487, 487, 487, 487, 487, - 488, 489, 489, 490, 490, 491, 492, 492, 492, 492, - 492, 492, 492, 492, 492, 492, 492, 492, 492, 493, - 493, 494, 494, 495, 495, 496, 496, 497, 497, 498, - 498, 499, 499, 499, 499, 499, 499, 499, 499, 499, - 500, 500, 501, 501, 501, 501, 502, 502, 503, 503, - 503, 504, 504, 505, 505, 505, 506, 506, 506, 507, - 507, 507, 508, 508, 509, 509, 509, 510, 510, 511, - 511, 511, 512, 512, 513, 513, 513, 513, 514, 514, - 515, 515, 515, 516, 516, 516, 517, 517, 517, 518, - 519, 520, 520, 521, 522, 522, 523, 524, 525, 525, - 526, 526, 527, 527, 528, 529, 529, 530, 530, 531, - 531, 531, 531, 532, 532, 533, 533, 534, 534, 535, - 535, 535, 536, 536, 536, 537, 537, 537, 538, 539, - 539, 539, 540, 540, 541, 541, 542, 543, 543, 544, - 544, 545, 546, 546, 546, 547, 548, 548, 548, 548, - 548, 548, 548, 548, 548, 548, 548, 548, 548, 548, - 549, 549, 550, 551, 551, 552, 553, 553, 554, 554, - 555, 555, 556, 557, 558, 559, 559, 559, 560, 561, - 562, 563, 564, 565, 566, 566, 566, 566, 567, 567, - 567, 568, 568, 568, 569, 569, 570, 570, 571, 571, - 572, 572, 573, 573, 574, 575, 575, 576, 576, 577, - 577, 577, 578, 579, 579, 580, 580, 581, 581, 582, - 582, 582, 583, 584, 585, 586, 586, 587, 588, 589, - 589, 590, 590, 591, 591, 592, 593, 593, 593, 593, - 593, 594, 594, 595, 595, 596, 596, 597, 598, 598, - 599, 599, 600, 600, 601, 602, 602, 602, 602, 602, - 603, 603, 604, 604, 605, 605, 606, 606, 606, 607, - 607, 608, 608, 609, 609, 610, 610, 611, 612, 612, - 612, 613, 613, 614, 614, 615, 615, 615, 616, 616, - 617, 617, 618, 619, 620, 620, 621, 622, 623, 624, - 624, 625, 626, 627, 627, 628, 628, 628, 629, 629, - 630, 631, 631, 632, 632, 633, 633, 634, 635, 635, - 636, 636, 637, 638, 638, 639, 639, 639, 640, 641, - 641, 642, 642, 642, 642, 642, 643, 643, 643, 643, - 643, 643, 644, 644, 644, 645, 645, 645, 645, 645, - 645, 645, 645, 645, 645, 645, 646, 646, 646, 646, - 646, 646, 646, 646, 647, 647, 647, 647, 647, 647, - 647, 647, 647, 647, 647, 647, 647, 647, 647, 647, - 648, 648, 649, 649, 650, 650, 651, 651, 651, 651, - 652, 652, 653, 653, 654, 654, 654, 654, 655, 656, - 657, 657, 658, 658, 658, 659, 659, 659, 660, 660, - 661, 662, 662, 662, 662, 662, 662, 662, 662, 662, - 662, 662, 662, 662, 662, 662, 662, 662, 662, 662, - 662, 662, 662, 662, 662, 662, 662, 662, 662, 663, - 663, 663, 664, 665, 665, 666, 666, 667, 667, 667, - 667, 667, 668, 668, 668, 668, 668, 669, 670, 670, - 671, 672, 672, 672, 672, 672, 673, 673, 674, 674, - 675, 676, 677, 678, 679, 679, 680, 681, 681, 681, - 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, - 682, 683, 684, 685, 685, 686, 687, 687, 688, 688, - 689, 690, 690, 691, 691, 691, 692, 692, 693, 693, - 694, 694, 695, 695, 696, 696, 697, 698, 699, 700, - 700, 701, 701, 701, 701, 701, 701, 701, 701, 702, - 702, 703, 703, 704, 705, 706, 707, 708, 709, 710, - 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, - 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, - 730, 731, 731, 731, 731, 731, 731, 731, 731, 731, - 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, - 731, 731, 731, 731, 731, 731, 731, 731, 731, 731, - 731 + 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, + 479, 479, 480, 480, 481, 482, 482, 482, 483, 483, + 484, 484, 484, 485, 486, 486, 487, 487, 488, 489, + 489, 490, 490, 490, 490, 490, 491, 492, 492, 493, + 493, 494, 495, 495, 495, 495, 495, 495, 495, 495, + 495, 495, 495, 495, 495, 496, 496, 497, 497, 498, + 498, 499, 499, 500, 500, 501, 501, 502, 502, 502, + 502, 502, 502, 502, 502, 502, 503, 503, 504, 504, + 504, 504, 505, 505, 506, 506, 506, 507, 507, 508, + 508, 508, 509, 509, 509, 510, 510, 510, 511, 511, + 512, 512, 512, 513, 513, 514, 514, 514, 515, 515, + 516, 516, 516, 516, 517, 517, 518, 518, 518, 519, + 519, 519, 520, 520, 520, 521, 522, 523, 523, 524, + 525, 525, 526, 527, 528, 528, 529, 529, 530, 530, + 531, 532, 532, 533, 533, 534, 534, 534, 534, 535, + 535, 536, 536, 537, 537, 538, 538, 538, 539, 539, + 539, 540, 540, 540, 541, 542, 542, 542, 543, 543, + 544, 544, 545, 546, 546, 547, 547, 548, 549, 549, + 549, 550, 551, 551, 551, 551, 551, 551, 551, 551, + 551, 551, 551, 551, 551, 551, 552, 552, 553, 554, + 554, 555, 556, 556, 557, 557, 558, 558, 559, 560, + 561, 562, 562, 562, 563, 564, 565, 566, 567, 568, + 569, 569, 569, 569, 570, 570, 570, 571, 571, 571, + 572, 572, 573, 573, 574, 574, 575, 575, 576, 576, + 577, 578, 578, 579, 579, 580, 580, 580, 581, 582, + 582, 583, 583, 584, 584, 585, 585, 585, 586, 587, + 588, 589, 589, 590, 591, 592, 592, 593, 593, 594, + 594, 595, 596, 596, 596, 596, 596, 597, 597, 598, + 598, 599, 599, 600, 601, 601, 602, 602, 603, 603, + 604, 605, 605, 605, 605, 605, 606, 606, 607, 607, + 608, 608, 609, 609, 609, 610, 610, 611, 611, 612, + 612, 613, 613, 614, 615, 615, 615, 616, 616, 617, + 617, 618, 618, 618, 619, 619, 620, 620, 621, 622, + 623, 623, 624, 625, 626, 627, 627, 628, 629, 630, + 630, 631, 631, 631, 632, 632, 633, 634, 634, 635, + 635, 636, 636, 637, 638, 638, 639, 639, 640, 641, + 641, 642, 642, 642, 643, 644, 644, 645, 645, 645, + 645, 645, 646, 646, 646, 646, 646, 646, 647, 647, + 647, 648, 648, 648, 648, 648, 648, 648, 648, 648, + 648, 648, 649, 649, 649, 649, 649, 649, 649, 649, + 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, + 650, 650, 650, 650, 650, 650, 651, 651, 652, 652, + 653, 653, 654, 654, 654, 654, 655, 655, 656, 656, + 657, 657, 657, 657, 658, 659, 660, 660, 661, 661, + 661, 662, 662, 662, 663, 663, 664, 665, 665, 665, + 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, + 665, 665, 665, 665, 665, 665, 665, 665, 665, 665, + 665, 665, 665, 665, 665, 666, 666, 666, 667, 668, + 668, 669, 669, 670, 670, 670, 670, 670, 671, 671, + 671, 671, 671, 672, 673, 673, 674, 675, 675, 675, + 675, 675, 676, 676, 677, 677, 678, 679, 680, 681, + 682, 682, 683, 684, 684, 684, 685, 685, 685, 685, + 685, 685, 685, 685, 685, 685, 685, 686, 687, 688, + 688, 689, 690, 690, 691, 691, 692, 693, 693, 694, + 694, 694, 695, 695, 696, 696, 697, 697, 698, 698, + 699, 699, 700, 701, 702, 703, 703, 704, 704, 704, + 704, 704, 704, 704, 704, 705, 705, 706, 706, 707, + 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, + 728, 729, 730, 731, 732, 733, 733, 734, 734, 734, + 734, 734, 734, 734, 734, 734, 734, 734, 734, 734, + 734, 734, 734, 734, 734, 734, 734, 734, 734, 734, + 734, 734, 734, 734, 734, 734, 734 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1465,74 +1467,74 @@ static const short yyr2[] = 0, 9, 9, 1, 1, 0, 2, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 2, 0, 4, 2, 2, 3, - 2, 2, 3, 3, 2, 2, 3, 6, 1, 2, - 4, 3, 2, 2, 2, 2, 3, 1, 3, 3, - 3, 2, 2, 4, 4, 5, 1, 1, 1, 1, + 2, 2, 3, 3, 2, 2, 3, 3, 6, 1, + 2, 4, 3, 2, 2, 2, 2, 3, 1, 3, + 3, 3, 2, 2, 4, 4, 5, 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, - 2, 2, 2, 1, 1, 1, 0, 2, 2, 4, - 4, 5, 0, 1, 2, 2, 4, 3, 2, 2, - 7, 1, 0, 1, 0, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 3, 2, 2, 2, 2, 1, - 1, 1, 1, 4, 5, 1, 3, 1, 3, 1, + 1, 2, 2, 2, 1, 1, 1, 0, 2, 2, + 4, 4, 5, 3, 2, 0, 2, 0, 0, 1, + 2, 2, 4, 3, 2, 2, 7, 1, 0, 1, + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 3, 2, 2, 2, 2, 1, 1, 1, 1, 4, + 5, 1, 3, 1, 3, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, + 6, 5, 3, 0, 2, 2, 0, 3, 0, 4, + 1, 5, 4, 1, 4, 1, 2, 2, 1, 1, + 1, 2, 2, 2, 2, 0, 3, 5, 1, 1, + 2, 3, 1, 2, 3, 0, 1, 1, 1, 5, + 5, 6, 1, 1, 1, 2, 4, 1, 0, 5, + 1, 0, 3, 2, 1, 0, 2, 0, 1, 0, + 3, 1, 0, 1, 2, 1, 1, 1, 1, 2, + 2, 1, 2, 3, 1, 1, 3, 3, 1, 2, + 3, 1, 2, 0, 2, 1, 1, 0, 1, 1, + 1, 3, 2, 3, 0, 1, 3, 4, 5, 6, + 7, 1, 1, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, + 1, 3, 3, 0, 2, 0, 2, 0, 3, 3, + 3, 1, 4, 4, 1, 9, 0, 0, 0, 0, + 3, 2, 1, 0, 3, 5, 3, 2, 5, 2, + 1, 1, 1, 1, 1, 3, 1, 3, 1, 0, + 2, 1, 3, 1, 1, 1, 1, 3, 6, 1, + 0, 3, 0, 1, 3, 1, 1, 1, 4, 5, + 5, 1, 1, 2, 4, 4, 2, 3, 0, 1, + 2, 1, 1, 2, 2, 2, 0, 1, 0, 3, + 0, 1, 3, 1, 2, 0, 2, 0, 2, 0, + 4, 1, 2, 1, 1, 0, 1, 3, 2, 1, + 1, 2, 1, 4, 3, 1, 3, 4, 0, 3, + 0, 1, 3, 3, 1, 1, 0, 1, 1, 4, + 0, 2, 4, 0, 8, 5, 1, 1, 7, 4, + 1, 1, 8, 5, 4, 1, 3, 3, 1, 7, + 7, 5, 3, 0, 1, 1, 1, 2, 0, 1, + 1, 1, 0, 3, 1, 3, 1, 0, 3, 1, + 3, 1, 3, 3, 1, 1, 3, 1, 2, 1, + 3, 3, 1, 2, 3, 3, 3, 3, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 4, 4, 6, 5, 3, 0, 2, 2, - 0, 3, 0, 4, 1, 5, 4, 1, 4, 1, - 2, 2, 1, 1, 1, 2, 2, 2, 2, 0, - 3, 5, 1, 1, 2, 3, 1, 2, 3, 0, - 1, 1, 1, 5, 5, 6, 1, 1, 1, 2, - 4, 1, 0, 5, 1, 0, 3, 2, 1, 0, - 2, 0, 1, 0, 3, 1, 0, 1, 2, 1, - 1, 1, 1, 2, 2, 1, 2, 3, 1, 1, - 3, 3, 1, 2, 3, 1, 2, 0, 2, 1, - 1, 0, 1, 1, 1, 3, 2, 3, 0, 1, - 3, 4, 5, 6, 7, 1, 1, 1, 1, 1, - 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, - 1, 1, 2, 1, 1, 3, 3, 0, 2, 0, - 2, 0, 3, 3, 3, 1, 4, 4, 1, 9, - 0, 0, 0, 0, 3, 2, 1, 0, 3, 5, - 3, 2, 5, 2, 1, 1, 1, 1, 1, 3, - 1, 3, 1, 0, 2, 1, 3, 1, 1, 1, - 1, 3, 6, 1, 0, 3, 0, 1, 3, 1, - 1, 1, 4, 5, 5, 1, 1, 2, 4, 4, - 2, 3, 0, 1, 2, 1, 1, 2, 2, 2, - 0, 1, 0, 3, 0, 1, 3, 1, 2, 0, - 2, 0, 2, 0, 4, 1, 2, 1, 1, 0, - 1, 3, 2, 1, 1, 2, 1, 4, 3, 1, - 3, 4, 0, 3, 0, 1, 3, 3, 1, 1, - 0, 1, 1, 4, 0, 2, 4, 0, 8, 5, - 1, 1, 7, 4, 1, 1, 8, 5, 4, 1, - 3, 3, 1, 7, 7, 5, 3, 0, 1, 1, - 1, 2, 0, 1, 1, 1, 0, 3, 1, 3, - 1, 0, 3, 1, 3, 1, 3, 3, 1, 1, - 3, 1, 2, 1, 3, 3, 1, 2, 3, 3, - 3, 3, 1, 3, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, - 3, 3, 3, 3, 6, 6, 6, 6, 6, 6, + 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 1, 1, 5, 6, 5, 6, 3, 4, 5, 6, - 3, 4, 3, 4, 3, 4, 4, 5, 4, 4, - 3, 4, 1, 1, 1, 1, 1, 1, 1, 3, - 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, - 3, 1, 1, 1, 1, 3, 1, 1, 1, 1, - 1, 1, 4, 1, 3, 1, 2, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, - 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, - 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 1, 6, 1, 4, 7, 2, 0, 4, 3, - 6, 1, 1, 6, 8, 6, 1, 1, 4, 6, - 4, 5, 3, 5, 4, 5, 1, 1, 1, 4, - 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, + 6, 6, 6, 6, 6, 6, 1, 1, 5, 6, + 5, 6, 3, 4, 5, 6, 3, 4, 3, 4, + 3, 4, 4, 5, 4, 4, 3, 4, 1, 1, + 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, + 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, + 1, 3, 1, 1, 1, 1, 1, 1, 4, 1, + 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, + 1, 2, 1, 1, 1, 1, 4, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 1, 6, 1, + 4, 7, 2, 0, 4, 3, 6, 1, 1, 6, + 8, 6, 1, 1, 4, 6, 4, 5, 3, 5, + 4, 5, 1, 1, 1, 4, 6, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 1, 0, 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, 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 }; /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE @@ -1540,1830 +1542,1704 @@ static const short yyr2[] = error. */ static const short yydefact[] = { - 0, 0, 589, 130, 0, 0, 0, 0, 0, 0, - 0, 0, 51, 589, 677, 0, 0, 0, 0, 0, + 0, 0, 595, 130, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 595, 683, 0, 0, 0, 0, 0, 0, 1, 11, 17, 8, 7, 15, 16, 13, 14, - 3, 10, 21, 571, 19, 576, 577, 578, 6, 18, - 570, 572, 5, 20, 657, 764, 665, 668, 12, 9, - 780, 781, 22, 784, 785, 4, 482, 0, 0, 0, - 0, 0, 0, 0, 407, 588, 591, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 129, 0, 0, 0, - 103, 770, 960, 0, 23, 958, 0, 0, 74, 0, + 3, 10, 21, 577, 19, 582, 583, 584, 6, 18, + 576, 578, 5, 20, 663, 770, 671, 674, 12, 9, + 786, 787, 22, 790, 791, 4, 488, 0, 0, 0, + 0, 0, 0, 0, 0, 407, 594, 597, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, + 0, 103, 776, 966, 0, 23, 964, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 495, 0, 369, 29, 37, 34, 36, - 806, 35, 806, 1049, 1051, 1052, 1053, 1054, 1055, 1056, - 1075, 1076, 1057, 1059, 1058, 1064, 1060, 1065, 1061, 1063, - 1066, 1062, 1067, 1068, 1069, 1071, 1072, 1070, 1073, 1074, - 1078, 1077, 1079, 1080, 0, 31, 0, 32, 0, 67, - 69, 1041, 1050, 0, 0, 0, 0, 0, 0, 0, - 587, 0, 0, 1020, 671, 676, 0, 0, 596, 0, - 723, 725, 1043, 0, 0, 0, 0, 116, 579, 1048, - 0, 0, 2, 0, 661, 0, 1022, 777, 0, 438, + 0, 0, 0, 0, 501, 0, 369, 29, 37, 34, + 36, 812, 35, 812, 1055, 1057, 1058, 1059, 1060, 1061, + 1062, 1081, 1082, 1063, 1065, 1064, 1070, 1066, 1071, 1067, + 1069, 1072, 1068, 1073, 1074, 1075, 1077, 1078, 1076, 1079, + 1080, 1084, 1083, 1085, 1086, 0, 31, 0, 32, 0, + 67, 69, 1047, 1056, 0, 0, 0, 0, 0, 0, + 0, 593, 0, 0, 1026, 677, 682, 0, 0, 602, + 0, 729, 731, 1049, 0, 0, 0, 0, 116, 585, + 1054, 0, 0, 2, 0, 667, 0, 1028, 783, 0, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, - 466, 460, 461, 459, 462, 463, 464, 465, 467, 468, - 0, 436, 437, 408, 0, 1032, 414, 0, 1036, 411, - 266, 1040, 0, 725, 410, 385, 1044, 415, 0, 1035, - 593, 586, 956, 0, 112, 166, 165, 113, 148, 215, - 818, 1028, 104, 0, 110, 160, 0, 106, 266, 114, - 962, 137, 107, 200, 108, 0, 109, 806, 1047, 115, - 161, 111, 768, 769, 0, 961, 959, 0, 75, 0, - 1033, 741, 503, 1031, 496, 0, 502, 507, 497, 498, - 505, 499, 500, 501, 506, 508, 363, 0, 268, 30, - 0, 39, 805, 38, 28, 0, 0, 0, 0, 0, - 811, 0, 0, 0, 0, 0, 0, 585, 966, 0, - 947, 670, 670, 671, 683, 681, 1019, 684, 0, 685, - 675, 671, 0, 0, 0, 0, 0, 0, 612, 605, - 594, 595, 597, 599, 600, 601, 608, 609, 602, 0, - 724, 1042, 120, 0, 117, 266, 118, 200, 119, 806, - 582, 0, 635, 636, 643, 0, 642, 644, 646, 651, - 639, 637, 640, 638, 647, 650, 645, 649, 0, 0, - 0, 659, 0, 655, 0, 0, 1021, 0, 0, 662, - 0, 0, 0, 0, 412, 483, 377, 0, 377, 0, - 218, 413, 418, 128, 477, 478, 0, 268, 239, 469, - 0, 409, 427, 0, 383, 384, 492, 0, 592, 590, - 957, 163, 163, 0, 0, 0, 175, 167, 168, 147, - 0, 125, 0, 0, 0, 121, 268, 136, 135, 138, - 0, 0, 0, 0, 0, 1024, 76, 218, 0, 0, - 743, 783, 504, 0, 0, 0, 0, 924, 953, 0, - 1023, 0, 926, 0, 0, 954, 0, 948, 939, 938, - 937, 1049, 0, 0, 0, 929, 930, 931, 940, 941, - 949, 950, 1059, 951, 952, 0, 1064, 1060, 955, 1073, - 1078, 0, 0, 0, 0, 906, 366, 901, 815, 933, - 927, 902, 361, 942, 904, 905, 921, 922, 923, 943, - 903, 967, 968, 981, 969, 983, 910, 907, 908, 991, - 992, 996, 997, 909, 928, 0, 0, 1028, 0, 0, - 0, 370, 216, 0, 0, 0, 808, 27, 0, 33, - 0, 0, 43, 70, 72, 1045, 68, 0, 0, 0, - 810, 0, 48, 50, 28, 0, 0, 584, 0, 0, - 0, 680, 678, 0, 687, 0, 686, 688, 693, 674, - 0, 631, 0, 606, 617, 603, 617, 604, 618, 624, - 628, 629, 613, 598, 741, 789, 819, 0, 0, 126, - 268, 0, 0, 581, 580, 648, 641, 0, 0, 1039, - 0, 0, 656, 660, 763, 765, 770, 667, 666, 775, - 183, 0, 485, 144, 0, 488, 0, 489, 484, 0, - 422, 0, 424, 423, 0, 425, 0, 419, 0, 0, - 269, 0, 0, 431, 0, 432, 377, 470, 0, 476, - 0, 0, 0, 473, 1028, 388, 387, 491, 0, 405, - 0, 164, 0, 0, 173, 0, 172, 0, 0, 162, - 176, 177, 179, 169, 540, 552, 527, 562, 530, 553, - 563, 0, 569, 531, 0, 559, 0, 554, 566, 526, - 549, 528, 529, 524, 377, 509, 510, 511, 519, 525, - 512, 521, 542, 0, 547, 544, 522, 559, 523, 124, - 0, 122, 266, 123, 0, 0, 139, 0, 0, 199, - 239, 385, 375, 0, 218, 0, 82, 84, 0, 0, - 102, 101, 1025, 0, 0, 0, 0, 892, 893, 894, - 0, 740, 823, 832, 835, 841, 836, 837, 838, 839, - 843, 844, 842, 845, 840, 821, 0, 749, 764, 1020, - 0, 1020, 944, 0, 0, 1020, 1020, 1020, 0, 945, - 946, 0, 0, 1007, 0, 0, 0, 0, 0, 0, - 912, 911, 0, 764, 933, 0, 331, 1046, 0, 360, + 459, 467, 461, 462, 460, 463, 464, 465, 466, 468, + 469, 0, 437, 438, 408, 0, 1038, 0, 414, 0, + 1042, 411, 266, 1046, 0, 731, 410, 385, 1050, 415, + 0, 1041, 599, 592, 962, 0, 112, 166, 165, 113, + 148, 215, 824, 1034, 104, 0, 110, 160, 0, 106, + 266, 114, 968, 137, 107, 200, 108, 0, 109, 812, + 1053, 115, 161, 111, 774, 775, 0, 967, 965, 0, + 75, 0, 1039, 747, 509, 1037, 502, 0, 508, 513, + 503, 504, 511, 505, 506, 507, 512, 514, 363, 0, + 268, 30, 0, 39, 811, 38, 28, 0, 0, 0, + 0, 0, 817, 0, 0, 0, 0, 0, 0, 591, + 972, 0, 953, 676, 676, 677, 689, 687, 1025, 690, + 0, 691, 681, 677, 0, 0, 0, 0, 0, 0, + 618, 611, 600, 601, 603, 605, 606, 607, 614, 615, + 608, 0, 730, 1048, 120, 0, 117, 266, 118, 200, + 119, 812, 588, 0, 641, 642, 649, 0, 648, 650, + 652, 657, 645, 643, 646, 644, 653, 656, 651, 655, + 0, 0, 0, 665, 0, 661, 0, 0, 1027, 0, + 0, 668, 0, 0, 0, 0, 412, 489, 377, 0, + 377, 0, 218, 413, 419, 128, 1030, 416, 485, 478, + 479, 0, 268, 239, 470, 0, 409, 428, 0, 383, + 384, 498, 0, 598, 596, 963, 163, 163, 0, 0, + 0, 175, 167, 168, 147, 0, 125, 0, 0, 0, + 121, 268, 136, 135, 138, 0, 0, 0, 0, 0, + 76, 218, 0, 0, 749, 789, 510, 0, 0, 0, + 0, 930, 959, 0, 1029, 0, 932, 0, 0, 960, + 0, 954, 945, 944, 943, 1055, 0, 0, 0, 935, + 936, 937, 946, 947, 955, 956, 1065, 957, 958, 0, + 1070, 1066, 961, 1079, 1084, 0, 0, 0, 0, 912, + 366, 907, 821, 939, 933, 908, 361, 948, 910, 911, + 927, 928, 929, 949, 909, 973, 974, 987, 975, 989, + 916, 913, 914, 997, 998, 1002, 1003, 915, 934, 0, + 0, 1034, 0, 0, 0, 370, 216, 0, 0, 0, + 814, 27, 0, 33, 0, 0, 43, 70, 72, 1051, + 68, 0, 0, 0, 816, 0, 48, 50, 28, 0, + 0, 590, 0, 0, 0, 686, 684, 0, 693, 0, + 692, 694, 699, 680, 0, 637, 0, 612, 623, 609, + 623, 610, 624, 630, 634, 635, 619, 604, 747, 795, + 825, 0, 0, 126, 268, 0, 0, 587, 586, 654, + 647, 0, 0, 1045, 0, 0, 662, 666, 769, 771, + 776, 673, 672, 781, 183, 0, 491, 144, 0, 494, + 0, 495, 490, 0, 423, 0, 425, 424, 0, 426, + 0, 420, 0, 487, 0, 0, 269, 0, 0, 432, + 0, 433, 377, 471, 0, 477, 0, 0, 0, 474, + 1034, 388, 387, 497, 0, 405, 0, 164, 0, 0, + 173, 0, 172, 0, 0, 162, 176, 177, 179, 169, + 546, 558, 533, 568, 536, 559, 569, 0, 575, 537, + 0, 565, 0, 560, 572, 532, 555, 534, 535, 530, + 377, 515, 516, 517, 525, 531, 518, 527, 548, 0, + 553, 550, 528, 565, 529, 124, 0, 122, 266, 123, + 0, 0, 139, 0, 0, 199, 239, 385, 375, 0, + 218, 0, 82, 84, 0, 0, 102, 101, 1031, 0, + 0, 0, 0, 898, 899, 900, 0, 746, 829, 838, + 841, 847, 842, 843, 844, 845, 849, 850, 848, 851, + 846, 827, 0, 755, 770, 1026, 0, 1026, 950, 0, + 0, 1026, 1026, 1026, 0, 951, 952, 0, 0, 1013, + 0, 0, 0, 0, 0, 0, 918, 917, 0, 770, + 939, 0, 331, 1052, 0, 360, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 274, 525, 548, 0, + 0, 368, 0, 279, 0, 813, 0, 0, 44, 73, + 0, 0, 26, 803, 0, 819, 0, 785, 803, 0, + 0, 47, 589, 0, 676, 0, 0, 747, 0, 698, + 0, 580, 0, 579, 970, 0, 613, 0, 621, 617, + 616, 0, 627, 0, 632, 620, 0, 749, 793, 0, + 0, 0, 239, 375, 660, 638, 659, 0, 0, 0, + 664, 0, 780, 0, 0, 145, 184, 493, 377, 422, + 0, 377, 378, 427, 484, 0, 483, 375, 0, 265, + 375, 238, 1035, 210, 207, 0, 150, 377, 515, 375, + 0, 0, 0, 237, 240, 241, 242, 243, 0, 431, + 476, 475, 430, 429, 0, 0, 0, 391, 389, 390, + 386, 0, 377, 481, 0, 480, 193, 170, 174, 0, + 0, 178, 0, 0, 543, 556, 557, 573, 0, 570, + 575, 0, 563, 561, 562, 150, 0, 0, 0, 526, + 0, 0, 0, 0, 564, 127, 268, 0, 375, 140, + 198, 0, 201, 203, 204, 0, 0, 0, 0, 218, + 218, 79, 0, 87, 78, 0, 0, 0, 0, 840, + 828, 0, 0, 901, 902, 903, 0, 832, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 274, 519, 542, 0, 0, 368, 0, 279, 0, 807, - 0, 0, 44, 73, 0, 0, 26, 797, 0, 813, - 0, 779, 797, 0, 0, 47, 583, 0, 670, 0, - 0, 741, 0, 692, 0, 574, 0, 573, 964, 0, - 607, 0, 615, 611, 610, 0, 621, 0, 626, 614, - 0, 743, 787, 0, 0, 0, 239, 375, 654, 632, - 653, 0, 0, 0, 658, 0, 774, 0, 0, 145, - 184, 487, 377, 421, 0, 377, 378, 426, 375, 0, - 265, 375, 238, 1029, 210, 207, 0, 150, 377, 509, - 375, 0, 0, 0, 237, 240, 241, 242, 243, 0, - 430, 475, 474, 429, 428, 0, 0, 0, 391, 389, - 390, 386, 0, 377, 480, 0, 479, 193, 170, 174, - 0, 0, 178, 0, 0, 537, 550, 551, 567, 0, - 564, 569, 0, 557, 555, 556, 150, 0, 0, 0, - 520, 0, 0, 0, 0, 558, 127, 268, 0, 375, - 140, 198, 0, 201, 203, 204, 0, 0, 0, 0, - 218, 218, 79, 0, 87, 78, 0, 0, 0, 0, - 834, 822, 0, 0, 895, 896, 897, 0, 826, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 745, 747, - 748, 742, 0, 777, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1011, 1012, - 1013, 1014, 1015, 1016, 1017, 1018, 0, 0, 0, 0, - 1002, 0, 0, 0, 0, 0, 0, 0, 920, 777, - 919, 362, 0, 332, 364, 333, 0, 0, 915, 1027, - 914, 913, 916, 917, 918, 934, 989, 0, 925, 817, - 816, 372, 371, 0, 272, 287, 0, 278, 280, 809, - 0, 0, 0, 71, 0, 802, 0, 812, 0, 802, - 0, 0, 679, 682, 0, 694, 695, 698, 700, 697, - 709, 710, 711, 699, 722, 0, 734, 689, 691, 1037, - 575, 965, 616, 625, 620, 619, 0, 630, 790, 764, - 791, 820, 375, 0, 0, 633, 652, 0, 766, 672, - 767, 776, 486, 163, 190, 182, 185, 186, 0, 0, - 0, 420, 375, 375, 378, 277, 270, 279, 209, 377, - 377, 378, 211, 206, 212, 0, 0, 248, 0, 434, - 378, 377, 375, 433, 0, 0, 0, 404, 494, 481, - 194, 195, 171, 0, 181, 538, 539, 963, 0, 0, - 0, 542, 0, 565, 0, 0, 378, 0, 515, 517, + 0, 0, 0, 0, 0, 0, 0, 751, 753, 754, + 748, 0, 783, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1017, 1018, 1019, + 1020, 1021, 1022, 1023, 1024, 0, 0, 0, 0, 1008, + 0, 0, 0, 0, 0, 0, 0, 926, 783, 925, + 362, 0, 332, 364, 333, 0, 0, 921, 1033, 920, + 919, 922, 923, 924, 940, 995, 0, 931, 823, 822, + 372, 371, 0, 272, 287, 0, 278, 280, 815, 0, + 0, 0, 71, 0, 808, 0, 818, 0, 808, 0, + 0, 685, 688, 0, 700, 701, 704, 706, 703, 715, + 716, 717, 705, 728, 0, 740, 695, 697, 1043, 581, + 971, 622, 631, 626, 625, 0, 636, 796, 770, 797, + 826, 375, 0, 0, 639, 658, 0, 772, 678, 773, + 782, 492, 163, 190, 182, 185, 186, 0, 0, 0, + 421, 486, 375, 375, 378, 277, 270, 279, 209, 377, + 377, 378, 211, 206, 212, 0, 0, 248, 0, 435, + 378, 377, 375, 434, 0, 0, 0, 404, 500, 482, + 194, 195, 171, 0, 181, 544, 545, 969, 0, 0, + 0, 548, 0, 571, 0, 0, 378, 0, 521, 523, 0, 0, 0, 0, 0, 0, 0, 385, 279, 163, 142, 239, 196, 405, 380, 0, 83, 0, 218, 0, - 91, 0, 85, 0, 0, 90, 86, 0, 788, 1030, - 0, 0, 827, 0, 0, 833, 0, 0, 825, 824, - 0, 882, 0, 871, 870, 0, 849, 0, 880, 898, - 0, 890, 0, 0, 0, 850, 876, 0, 0, 853, - 0, 0, 0, 0, 0, 0, 0, 851, 0, 0, - 852, 0, 884, 0, 0, 846, 0, 0, 847, 0, - 0, 848, 746, 749, 782, 0, 0, 218, 0, 970, - 0, 0, 984, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1008, 0, 0, 1006, 0, 0, 998, 0, - 0, 0, 0, 1009, 664, 0, 0, 0, 932, 988, + 91, 0, 85, 0, 0, 90, 86, 0, 794, 1036, + 0, 0, 833, 0, 0, 839, 0, 0, 831, 830, + 0, 888, 0, 877, 876, 0, 855, 0, 886, 904, + 0, 896, 0, 0, 0, 856, 882, 0, 0, 859, + 0, 0, 0, 0, 0, 0, 0, 857, 0, 0, + 858, 0, 890, 0, 0, 852, 0, 0, 853, 0, + 0, 854, 752, 755, 788, 0, 0, 218, 0, 976, + 0, 0, 990, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1014, 0, 0, 1012, 0, 0, 1004, 0, + 0, 0, 0, 1015, 670, 0, 0, 0, 938, 994, 0, 267, 286, 0, 338, 367, 281, 0, 0, 0, - 0, 0, 1055, 41, 52, 54, 53, 62, 64, 41, - 42, 0, 0, 0, 794, 814, 0, 793, 0, 0, - 0, 730, 697, 0, 732, 726, 732, 730, 732, 0, - 0, 0, 693, 0, 739, 622, 623, 627, 777, 279, - 197, 380, 634, 0, 0, 191, 0, 187, 0, 0, - 0, 416, 226, 221, 935, 222, 223, 224, 225, 0, - 0, 271, 0, 0, 0, 227, 0, 248, 770, 244, - 0, 435, 471, 472, 396, 397, 393, 392, 395, 394, - 377, 493, 378, 180, 1026, 0, 0, 533, 0, 532, - 568, 0, 560, 151, 0, 513, 0, 541, 542, 548, - 546, 0, 543, 375, 0, 0, 0, 134, 143, 202, + 0, 0, 1061, 41, 52, 54, 53, 62, 64, 41, + 42, 0, 0, 0, 800, 820, 0, 799, 0, 0, + 0, 736, 703, 0, 738, 732, 738, 736, 738, 0, + 0, 0, 699, 0, 745, 628, 629, 633, 783, 279, + 197, 380, 640, 0, 0, 191, 0, 187, 0, 0, + 0, 417, 226, 221, 941, 222, 223, 224, 225, 0, + 0, 271, 0, 0, 0, 227, 0, 248, 776, 244, + 0, 436, 472, 473, 396, 397, 393, 392, 395, 394, + 377, 499, 378, 180, 1032, 0, 0, 539, 0, 538, + 574, 0, 566, 151, 0, 519, 0, 547, 548, 554, + 552, 0, 549, 375, 0, 0, 0, 134, 143, 202, 377, 0, 376, 105, 0, 132, 131, 94, 0, 0, - 95, 0, 88, 89, 0, 888, 889, 829, 828, 831, - 830, 0, 0, 0, 0, 764, 0, 0, 0, 891, - 0, 0, 0, 0, 0, 0, 883, 881, 877, 0, - 885, 0, 0, 0, 0, 886, 0, 0, 0, 0, - 0, 0, 753, 0, 750, 0, 754, 976, 975, 0, - 0, 972, 971, 0, 980, 979, 978, 977, 974, 973, - 0, 987, 1004, 1003, 0, 0, 0, 0, 0, 0, + 95, 0, 88, 89, 0, 894, 895, 835, 834, 837, + 836, 0, 0, 0, 0, 770, 0, 0, 0, 897, + 0, 0, 0, 0, 0, 0, 889, 887, 883, 0, + 891, 0, 0, 0, 0, 892, 0, 0, 0, 0, + 0, 0, 759, 0, 756, 0, 760, 982, 981, 0, + 0, 978, 977, 0, 986, 985, 984, 983, 980, 979, + 0, 993, 1010, 1009, 0, 0, 0, 0, 0, 0, 0, 365, 335, 334, 273, 0, 0, 283, 284, 0, - 1028, 321, 0, 0, 0, 0, 0, 0, 1057, 1062, + 1034, 321, 0, 0, 0, 0, 0, 0, 1063, 1068, 0, 0, 359, 297, 292, 0, 338, 291, 0, 0, 0, 317, 318, 0, 315, 0, 0, 316, 0, 0, 0, 353, 355, 354, 0, 0, 0, 0, 0, 0, - 0, 792, 0, 1028, 66, 58, 59, 65, 60, 61, - 0, 24, 0, 0, 25, 0, 798, 799, 800, 796, - 801, 804, 803, 778, 45, 46, 693, 701, 696, 731, - 729, 727, 0, 728, 0, 0, 0, 0, 0, 0, - 743, 786, 0, 376, 771, 772, 673, 193, 192, 188, - 0, 378, 936, 275, 276, 378, 378, 149, 214, 228, + 0, 798, 0, 1034, 66, 58, 59, 65, 60, 61, + 0, 24, 0, 0, 25, 0, 804, 805, 806, 802, + 807, 810, 809, 784, 45, 46, 699, 707, 702, 737, + 735, 733, 0, 734, 0, 0, 0, 0, 0, 0, + 749, 792, 0, 376, 777, 778, 679, 193, 192, 188, + 0, 378, 942, 275, 276, 378, 378, 149, 214, 228, 229, 377, 0, 245, 0, 0, 0, 0, 0, 0, - 0, 0, 279, 490, 535, 0, 536, 0, 0, 214, - 152, 153, 155, 156, 157, 516, 518, 514, 545, 279, + 0, 0, 279, 496, 541, 0, 542, 0, 0, 214, + 152, 153, 155, 156, 157, 522, 524, 520, 551, 279, 405, 378, 193, 0, 0, 373, 377, 92, 0, 0, - 98, 93, 542, 0, 874, 0, 0, 900, 777, 899, - 872, 0, 0, 0, 878, 0, 0, 0, 0, 887, + 98, 93, 548, 0, 880, 0, 0, 906, 783, 905, + 878, 0, 0, 0, 884, 0, 0, 0, 0, 893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 744, 749, 0, 756, 0, 752, 755, 990, 217, 1010, - 982, 0, 0, 1005, 1000, 999, 0, 993, 995, 0, + 750, 755, 0, 762, 0, 758, 761, 996, 217, 1016, + 988, 0, 0, 1011, 1006, 1005, 0, 999, 1001, 0, 220, 282, 0, 319, 0, 314, 0, 329, 313, 341, - 1038, 356, 357, 0, 293, 0, 298, 295, 344, 308, + 1044, 356, 357, 0, 293, 0, 298, 295, 344, 308, 309, 305, 306, 310, 303, 0, 0, 312, 311, 304, 0, 300, 302, 301, 299, 307, 337, 0, 55, 56, - 57, 63, 0, 704, 0, 712, 730, 721, 719, 733, - 735, 737, 738, 669, 378, 374, 773, 189, 378, 159, + 57, 63, 0, 710, 0, 718, 736, 727, 725, 739, + 741, 743, 744, 675, 378, 374, 779, 189, 378, 159, 264, 0, 0, 205, 230, 0, 0, 0, 248, 231, - 234, 806, 0, 378, 402, 403, 399, 398, 401, 400, - 0, 534, 561, 158, 146, 154, 0, 377, 261, 141, - 378, 379, 0, 0, 96, 97, 80, 0, 857, 865, - 663, 873, 858, 866, 861, 869, 875, 879, 859, 867, - 860, 868, 854, 862, 855, 863, 856, 864, 751, 0, - 762, 986, 985, 1001, 0, 0, 0, 289, 285, 0, + 234, 812, 0, 378, 402, 403, 399, 398, 401, 400, + 0, 540, 567, 158, 146, 154, 0, 377, 261, 141, + 378, 379, 0, 0, 96, 97, 80, 0, 863, 871, + 669, 879, 864, 872, 867, 875, 881, 885, 865, 873, + 866, 874, 860, 868, 861, 869, 862, 870, 757, 0, + 768, 992, 991, 1007, 0, 0, 0, 289, 285, 0, 320, 322, 0, 328, 0, 352, 0, 0, 0, 0, - 347, 345, 0, 0, 0, 330, 40, 795, 706, 703, - 713, 0, 0, 714, 715, 716, 0, 262, 417, 208, - 213, 232, 248, 806, 235, 254, 247, 249, 406, 378, - 0, 381, 378, 77, 99, 100, 0, 759, 0, 758, - 994, 219, 288, 0, 0, 0, 0, 351, 350, 1034, - 349, 338, 0, 0, 0, 0, 0, 702, 717, 0, - 736, 236, 254, 0, 248, 250, 251, 263, 378, 0, - 757, 0, 0, 0, 325, 338, 358, 346, 348, 0, - 343, 0, 0, 707, 0, 248, 0, 0, 246, 0, - 253, 0, 252, 382, 133, 760, 0, 290, 327, 0, - 0, 0, 338, 0, 705, 718, 233, 0, 0, 257, - 256, 255, 761, 338, 0, 0, 338, 336, 708, 260, + 347, 345, 0, 0, 0, 330, 40, 801, 712, 709, + 719, 0, 0, 720, 721, 722, 0, 262, 418, 208, + 213, 232, 248, 812, 235, 254, 247, 249, 406, 378, + 0, 381, 378, 77, 99, 100, 0, 765, 0, 764, + 1000, 219, 288, 0, 0, 0, 0, 351, 350, 1040, + 349, 338, 0, 0, 0, 0, 0, 708, 723, 0, + 742, 236, 254, 0, 248, 250, 251, 263, 378, 0, + 763, 0, 0, 0, 325, 338, 358, 346, 348, 0, + 343, 0, 0, 713, 0, 248, 0, 0, 246, 0, + 253, 0, 252, 382, 133, 766, 0, 290, 327, 0, + 0, 0, 338, 0, 711, 724, 233, 0, 0, 257, + 256, 255, 767, 338, 0, 0, 338, 336, 714, 260, 258, 259, 326, 338, 342, 323, 324, 0, 0, 0 }; static const short yydefgoto[] = { - 1957, 21, 22, 538, 144, 145, 146, 147, 1551, 806, - 801, 23, 158, 159, 1303, 1304, 1305, 1306, 1307, 148, - 149, 542, 543, 24, 88, 446, 954, 715, 716, 717, - 1196, 1189, 1190, 1641, 278, 719, 25, 80, 26, 177, - 27, 435, 252, 352, 699, 223, 81, 1413, 259, 439, - 707, 1180, 1407, 612, 247, 430, 1131, 1619, 1620, 1621, - 1622, 1623, 1624, 254, 269, 244, 652, 245, 426, 427, - 428, 659, 660, 661, 613, 614, 1115, 1116, 1117, 1346, - 1152, 262, 356, 441, 942, 943, 944, 875, 876, 877, - 1753, 634, 528, 1469, 718, 1817, 1351, 1598, 1599, 1600, - 1759, 945, 636, 884, 885, 886, 887, 1369, 888, 1894, - 1895, 1896, 1940, 257, 354, 701, 229, 407, 534, 629, - 630, 1053, 529, 1124, 1056, 1057, 1058, 1496, 1497, 1293, - 1818, 1498, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, - 1521, 1522, 1523, 1524, 1525, 1823, 1526, 495, 1034, 1527, - 1528, 1529, 1931, 1707, 1708, 1829, 1830, 1530, 1531, 1532, - 1533, 1703, 1534, 496, 779, 29, 298, 530, 531, 266, - 358, 947, 1635, 621, 1121, 1412, 264, 703, 416, 647, - 648, 901, 903, 1381, 30, 64, 866, 863, 401, 402, - 411, 412, 220, 221, 413, 1140, 642, 893, 226, 237, - 188, 394, 395, 234, 649, 1382, 31, 103, 684, 685, - 686, 1167, 1168, 687, 791, 689, 690, 1161, 915, 930, - 691, 792, 693, 694, 695, 696, 923, 697, 698, 920, - 32, 33, 34, 35, 36, 594, 37, 558, 38, 39, - 66, 241, 419, 40, 340, 341, 342, 343, 344, 345, - 346, 347, 833, 348, 1096, 1337, 578, 579, 838, 580, - 41, 42, 378, 379, 380, 853, 849, 1535, 184, 602, - 383, 44, 1434, 772, 45, 46, 47, 561, 330, 1343, - 1746, 163, 164, 165, 328, 565, 566, 567, 824, 821, - 1075, 1076, 1077, 1078, 1838, 1887, 1912, 1079, 1080, 1081, - 1082, 1843, 1844, 1845, 1083, 1332, 169, 170, 1330, 1570, - 1334, 1739, 1740, 1580, 450, 748, 1462, 992, 1463, 1464, - 1465, 1675, 1866, 1869, 187, 604, 605, 274, 1586, 1110, - 389, 1536, 1537, 50, 51, 1538, 53, 54, 451, 584, - 1539, 1540, 55, 1065, 1555, 1556, 1314, 1560, 301, 302, - 535, 549, 550, 808, 497, 498, 587, 731, 967, 732, - 733, 734, 735, 1215, 736, 737, 738, 739, 740, 741, - 742, 743, 744, 745, 969, 1218, 1219, 746, 500, 501, - 502, 1353, 503, 504, 505, 506, 507, 508, 509, 1558, - 85, 276, 261, 1159, 1169, 828, 510, 511, 512, 513, - 514, 515, 1682, 516, 517, 518, 519, 520, 521, 1023, - 522, 764, 1276, 765, 1273, 523, 1016, 329, 387, 524, - 525, 721, 1383, 1038, 250, 872, 1198, 282, 224, 279, - 1878, 255, 1867, 1088, 1542, 598, 1084, 150, 526, 233, - 235, 1308, 776, 267, 178, 527, 152 + 1967, 21, 22, 542, 145, 146, 147, 148, 1561, 812, + 807, 23, 159, 160, 1313, 1314, 1315, 1316, 1317, 149, + 150, 546, 547, 24, 89, 450, 963, 721, 722, 723, + 1206, 1199, 1200, 1651, 280, 725, 25, 81, 26, 178, + 27, 440, 254, 354, 705, 224, 82, 1423, 261, 444, + 713, 1190, 1417, 616, 249, 435, 1141, 1629, 1630, 1631, + 1632, 1633, 1634, 256, 271, 246, 658, 247, 431, 432, + 433, 665, 666, 667, 617, 618, 1124, 1125, 1126, 1356, + 1162, 264, 358, 446, 951, 952, 953, 884, 885, 886, + 1763, 640, 532, 1479, 724, 1827, 1361, 1608, 1609, 1610, + 1769, 954, 642, 893, 894, 895, 896, 1379, 897, 1904, + 1905, 1906, 1950, 259, 356, 707, 231, 412, 538, 635, + 636, 1062, 533, 1134, 1065, 1066, 1067, 1506, 1507, 1303, + 1828, 1508, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, + 1531, 1532, 1533, 1534, 1535, 1833, 1536, 499, 1043, 1537, + 1538, 1539, 1941, 1717, 1718, 1839, 1840, 1540, 1541, 1542, + 1543, 1713, 1544, 500, 785, 29, 300, 534, 535, 268, + 360, 956, 1645, 625, 1130, 1422, 266, 709, 421, 653, + 654, 910, 912, 1391, 30, 65, 872, 869, 403, 404, + 416, 417, 221, 222, 418, 1150, 648, 902, 228, 239, + 407, 633, 876, 189, 396, 397, 236, 655, 1392, 31, + 104, 690, 691, 692, 1177, 1178, 693, 797, 695, 696, + 1171, 924, 939, 697, 798, 699, 700, 701, 702, 932, + 703, 704, 929, 32, 33, 34, 35, 36, 598, 37, + 562, 38, 39, 67, 243, 424, 40, 342, 343, 344, + 345, 346, 347, 348, 349, 839, 350, 1105, 1347, 582, + 583, 844, 584, 41, 42, 380, 381, 382, 859, 855, + 1545, 185, 606, 385, 44, 1444, 778, 45, 46, 47, + 565, 332, 1353, 1756, 164, 165, 166, 330, 569, 570, + 571, 830, 827, 1084, 1085, 1086, 1087, 1848, 1897, 1922, + 1088, 1089, 1090, 1091, 1853, 1854, 1855, 1092, 1342, 170, + 171, 1340, 1580, 1344, 1749, 1750, 1590, 454, 754, 1472, + 1001, 1473, 1474, 1475, 1685, 1876, 1879, 188, 608, 609, + 276, 1596, 1119, 391, 1546, 1547, 50, 51, 1548, 53, + 54, 455, 588, 1549, 1550, 55, 1074, 1565, 1566, 1324, + 1570, 303, 304, 539, 553, 554, 814, 501, 502, 591, + 737, 976, 738, 739, 740, 741, 1225, 742, 743, 744, + 745, 746, 747, 748, 749, 750, 751, 978, 1228, 1229, + 752, 504, 505, 506, 1363, 507, 508, 509, 510, 511, + 512, 513, 1568, 86, 278, 263, 1169, 1179, 834, 514, + 515, 516, 517, 518, 519, 1692, 520, 521, 522, 523, + 524, 525, 1032, 526, 770, 1286, 771, 1283, 527, 1025, + 331, 389, 528, 529, 727, 1393, 1047, 252, 881, 1208, + 284, 225, 281, 1888, 257, 1877, 1097, 1552, 602, 1093, + 151, 530, 235, 237, 1318, 782, 269, 179, 531, 153 }; static const short yypact[] = { - 1615, 616, 79, 1784, 285, 797, 215, 2427, 46, 6761, - 446, 263, 1489, 79, 671, 453, 5870, 454, 5870, 252, - 450, 411,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 1344, 586, 87, 1639, 314, 730, 434, 1492, 76, 6796, + 624, 525, 1435, 87, 690, 384, 5686, 694, 5686, 420, + 516, 453,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768,-32768, 552, 462,-32768,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768, 7714, 5870, 5870, - 5870, 5870, 5870, 5870,-32768,-32768, 547, 717, 5870, 5870, - 5870, 699, 5870, 541, 5870, 5870,-32768, 5870, 5870, 5870, - -32768, 644,-32768, 553,-32768,-32768, 697, 5870,-32768, 5870, - 5870, 5870, 714, 5870, 5870, 5870, 5870, 541, 5870, 5870, - 5870, 5870, 5870,-32768, 5870, 475, 635,-32768,-32768,-32768, - 515,-32768, 515,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768, 609, 318,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768, 7749, 5686, 720, + 5686, 5686, 5686, 5686, 5686,-32768,-32768, 604, 513, 5686, + 5686, 5686, 748, 5686, 603, 5686, 5686,-32768, 5686, 5686, + 5686,-32768, 231,-32768, 613,-32768,-32768, 758, 5686,-32768, + 5686, 5686, 5686, 765, 5686, 5686, 5686, 5686, 603, 5686, + 5686, 5686, 5686, 5686,-32768, 5686, 558, 728,-32768,-32768, + -32768, 601,-32768, 601,-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, 692, 545, 709,-32768, 34,-32768, - -32768,-32768,-32768, 5870, 5870, 5870, 739, 747, 590, 5870, - 702, 301, 355, 484, 652,-32768, 5870, 809, 1202, 735, - -32768, 5870,-32768, 5870, 5870, 5870, 5870,-32768,-32768,-32768, - 5870, 2421,-32768, 785, 746, 913, 650, 712, 787,-32768, + -32768,-32768,-32768,-32768,-32768, 764, 614, 789,-32768, 70, + -32768,-32768,-32768,-32768, 5686, 5686, 5686, 779, 790, 481, + 5686, 734, 272, 294, 653, 696,-32768, 5686, 860, 546, + 808,-32768, 5686,-32768, 5686, 5686, 5686, 5686,-32768,-32768, + -32768, 5686, 2456,-32768, 800, 792, 972, 708, 750, 969, -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, - 474,-32768,-32768,-32768, 717,-32768,-32768, 226,-32768,-32768, - 703,-32768, 236,-32768,-32768, 599,-32768,-32768, 743,-32768, - 852,-32768,-32768, 792,-32768, 678,-32768,-32768, 991,-32768, - -32768,-32768,-32768, 717,-32768,-32768, 151,-32768, 703,-32768, - -32768, 422,-32768, 961,-32768, 962,-32768, 515,-32768,-32768, - -32768,-32768,-32768,-32768, 947,-32768,-32768, 837,-32768, 970, - -32768, 867,-32768,-32768,-32768, 837,-32768,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768, 6434, 5870, 907,-32768, - 5870,-32768,-32768,-32768, 888, 727, 922, 4337, 5870, 1012, - 817, 1038, 1041, 1065, 1005, 1008, 92, 890,-32768, 6653, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 5120,-32768, - -32768,-32768, 959, 5870, 1035, 955, 250, 5870, 974,-32768, - -32768, 1202,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 5870, - -32768,-32768,-32768, 717,-32768, 703,-32768, 961,-32768, 515, - 1019, 994,-32768,-32768,-32768, 1094,-32768,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1077, 5870, - 5870, 1046, 926,-32768, 6653, 1023,-32768, 1023, 6653,-32768, - 68, 928, 925, 930, 787,-32768, 1155, 205,-32768, 5870, - -32768, 474,-32768,-32768,-32768,-32768, 5870, 907, 3149, 983, - 3399, 914,-32768, 7714,-32768,-32768, 762, 1002,-32768,-32768, - -32768, 924, 924, 717, 1083, 717, 177, 678,-32768,-32768, - 7661,-32768, 5870, 5870, 5870,-32768, 907,-32768,-32768, 1167, - 367, 920, 5870, 1190, 5870,-32768,-32768, 62, 5432, 4244, - 1064,-32768,-32768, 923, 927, 929, 1004,-32768,-32768, 931, - -32768, 932,-32768, 933, 943,-32768, 944,-32768,-32768,-32768, - -32768, 946, 952, 1020, 1026,-32768,-32768,-32768,-32768,-32768, - -32768,-32768, 953,-32768,-32768, 5339, 957, 963,-32768, 964, - 1109, 6653, 6653, 5558, 5870,-32768, 1084, 958,-32768, 1151, - -32768,-32768, 968,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768, 356,-32768,-32768,-32768, 513,-32768, 828,-32768, 469, + -32768,-32768, 723,-32768, 236,-32768,-32768, 508,-32768,-32768, + 787,-32768, 896,-32768,-32768, 865,-32768, 784,-32768,-32768, + 1057,-32768,-32768,-32768,-32768, 513,-32768,-32768, 169,-32768, + 723,-32768,-32768, 207,-32768, 1020,-32768, 998,-32768, 601, + -32768,-32768,-32768,-32768,-32768,-32768, 1001,-32768,-32768, 828, + -32768, 1013,-32768, 909,-32768,-32768,-32768, 828,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 6469, 5686, + 951,-32768, 5686,-32768,-32768,-32768, 935, 577, 974, 4153, + 5686, 1031, 839, 1055, 1059, 1060, 1002, 1007, 159, 879, + -32768, 6688,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 5155,-32768,-32768,-32768, 956, 5686, 1029, 946, 155, 5686, + 966,-32768,-32768, 546,-32768,-32768,-32768,-32768,-32768,-32768, + -32768, 5686,-32768,-32768,-32768, 513,-32768, 723,-32768, 1020, + -32768, 601, 1014, 983,-32768,-32768,-32768, 1075,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768, 971, 965, 967, 7661, 977, - 529,-32768,-32768, 978, 1242, 620,-32768,-32768, 5870,-32768, - 5870, 5870, 32,-32768,-32768,-32768,-32768, 5870, 5870, 97, - -32768, 5870,-32768,-32768, 888, 1114, 4337,-32768, 5870, 5558, - 214,-32768,-32768, 6653,-32768, 1194, 981,-32768, 175,-32768, - 426,-32768, 351,-32768, 407,-32768, 407,-32768, 985,-32768, - 100,-32768, 1097,-32768, 324,-32768,-32768, 1000, 996,-32768, - 907, 982, 1267,-32768,-32768,-32768,-32768, 337, 1199,-32768, - 1017, 5870,-32768,-32768, 1006,-32768, 406,-32768,-32768, 804, - -32768, 1197, 1211,-32768, 717,-32768, 1217,-32768,-32768, 1289, - -32768, 1294,-32768,-32768, 1274,-32768, 7661,-32768, 7661, 665, - -32768, 1308, 5870,-32768, 7328,-32768, 155,-32768, 5870, 752, - 236, 1149, 1113, 1191, 1152,-32768,-32768,-32768, 182, 1193, - 442,-32768, 1129, 541,-32768, 717,-32768, 1309, 1241,-32768, - 177,-32768,-32768,-32768, 80, 1150,-32768,-32768,-32768, 1153, - -32768, 1196, 1054,-32768, 1246, 1061, 435,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1059,-32768, - -32768,-32768, 105, 1063, 1066, 102,-32768, 1061,-32768,-32768, - 717,-32768, 703,-32768, 1281, 1336,-32768, 717, 717,-32768, - 3149, 599,-32768, 1227,-32768, 1213, 1086,-32768, 7617, 1232, - -32768,-32768,-32768, 1245, 1089, 4463, 1090, 1330, 2245, 2549, - 3994, 208,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768, 3049, 539, 1243, 651, - 6653, 147,-32768, 5870, 6653, 667, 685, 704, 710,-32768, - -32768, 6653, 4682, 1151, 150, 1182, 6653, 6653, 4682, 1311, - 179, 179, 1095, 462, 227, 693,-32768,-32768, 4556,-32768, - 6653, 5870, 6653, 6653, 6653, 6653, 6653, 6653, 5777, 3650, - -32768,-32768, 1355, 1101, 5870,-32768, 5870, 1337, 5870,-32768, - 1204, 1214,-32768,-32768, 1185, 4337,-32768, 1329, 719,-32768, - 1115,-32768, 1329, 5870, 5870, 1118,-32768, 227,-32768, 280, - 4994, 1201, 6653,-32768, 5870,-32768, 316,-32768,-32768, 148, - -32768, 1206,-32768,-32768,-32768, 5870, 131, 5870,-32768,-32768, - 5870, 1064,-32768, 6653, 5870, 1386, 3149,-32768,-32768,-32768, - -32768, 337, 5870, 1315, 1122, 6653, 1160, 6653, 717,-32768, - 476,-32768,-32768,-32768, 1123,-32768,-32768,-32768, 127, 5870, - -32768,-32768,-32768,-32768, 1384,-32768, 1126, 1363,-32768, 1380, - -32768, 1323, 1324, 515,-32768,-32768,-32768,-32768,-32768, 1392, - -32768,-32768,-32768,-32768,-32768, 5870, 7426, 541, 1302, 1303, - 1305,-32768, 541,-32768,-32768, 502,-32768, 779,-32768,-32768, - 1276, 717,-32768, 5432, 312, 1280,-32768,-32768,-32768, 541, - -32768, 1054, 287,-32768,-32768,-32768, 1363, 287, 1282, 287, - -32768, 541, 541, 1158, 541,-32768,-32768, 907, 5870,-32768, - 1339,-32768, 725,-32768,-32768,-32768, 762, 1023, 5870, 736, - 44,-32768,-32768, 1161, 220,-32768, 5432, 5870, 1023, 4901, - -32768,-32768, 1023, 4463,-32768,-32768,-32768, 129,-32768, 211, - 1457, 4682, 4682, 6653, 6653, 1882, 1162, 623, 2173, 6653, - 2525, 460, 2775, 3025, 5996, 3275, 3525, 3775,-32768,-32768, - 1334,-32768, 1166, 712, 6653, 6653, 200, 6653, 1168, 6653, - 1174, 448, 6653, 6653, 6653, 6653, 6653, 6653,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768, 1382, 720, 210, 6653, - -32768, 4682, 6653, 281, 1022, 1031, 121, 5870,-32768, 712, - -32768,-32768, 4775,-32768, 1175,-32768, 1170, 570,-32768,-32768, - 1431, 179, 179, 826, 826, 1151,-32768, 740,-32768,-32768, - -32768,-32768,-32768, 767,-32768, 1271, 1442, 1337,-32768,-32768, - 7645, 7645, 1335,-32768, 343, 1358, 5870,-32768, 6653, 1358, - 1403, 1404,-32768,-32768, 4118, 1192, 1007,-32768,-32768,-32768, - -32768,-32768,-32768,-32768, 1195, 4682, 1397,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768, 473,-32768,-32768, 1243, - 1151,-32768,-32768, 770, 1023,-32768,-32768, 337,-32768,-32768, - -32768, 1151,-32768, 924, 1458,-32768, 476,-32768, 1200, 4682, - 1976,-32768,-32768,-32768,-32768,-32768,-32768, 1337,-32768,-32768, - -32768,-32768,-32768,-32768,-32768, 515, 515, 1233, 1203,-32768, - -32768,-32768,-32768,-32768, 110, 138, 606,-32768, 1461,-32768, - -32768,-32768,-32768, 5870,-32768,-32768,-32768,-32768, 285, 776, - 1317, 1355, 1205,-32768, 1129, 814,-32768, 573,-32768, 1207, - 5870, 588, 1212, 1215, 541, 1219, 1465, 599, 1337, 924, - 1211, 3149,-32768, 1193, 1287, 2649,-32768, 541, 1349, 1434, - -32768, 7617,-32768, 541, 254,-32768,-32768, 1441,-32768,-32768, - 1220, 1229,-32768, 4682, 4682,-32768, 4682, 4682,-32768, 1475, - 168, 1151, 1218,-32768,-32768, 1235, 1151, 5558,-32768,-32768, - 1448,-32768, 598, 1240, 1244, 1151, 1108, 1247, 1253, 1151, - 6653, 6653, 1162, 6653, 6215, 1257, 1258, 1151, 1259, 1260, - 1151, 6653, 1151, 1261, 1263, 1151, 1264, 1268, 1151, 1269, - 1270, 1151,-32768, 3878,-32768, 640, 662,-32768, 677,-32768, - 688, 6653,-32768, 701, 711, 733, 758, 825, 866, 6653, - 6653, 6653, 1151, 1468, 330, 1151, 1347, 6653,-32768, 6653, - 6653, 6653, 6653,-32768,-32768, 829, 4775, 5651,-32768,-32768, - 5870,-32768,-32768, 5870, 7002,-32768,-32768, 5870, 5870, 5870, - 5870, 5870, 5870, 1331, 1252,-32768, 1272,-32768,-32768, 1331, - -32768, 284, 284, 72,-32768,-32768, 832,-32768, 7645, 7645, - 1273, 889, 1277, 4994, 1394,-32768, 1394, 509, 1394, 1466, - 1470, 6653, 1251, 1531, 1480,-32768,-32768,-32768, 712, 1337, - -32768, 1287,-32768, 592, 1129, 1427, 1129,-32768, 4682, 134, - 682,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1976, - 1976,-32768, 1442, 6653, 1976, 706, 1416, 1233, 644,-32768, - 4682,-32768,-32768,-32768, 1439, 1445, 1446, 1447, 1449, 1453, - -32768,-32768,-32768,-32768,-32768, 1300, 285,-32768, 1385,-32768, - -32768, 287,-32768, 203, 287,-32768, 287,-32768, 1355,-32768, - -32768, 1301,-32768,-32768, 762, 1442, 1129,-32768, 1211,-32768, - -32768, 1560,-32768,-32768, 1307,-32768, 1122,-32768, 1310, 717, - 144, 1312,-32768,-32768, 717,-32768,-32768,-32768, 1475,-32768, - 1475, 6653, 1023, 1023, 1313, 462, 835, 6653, 1523,-32768, - 1023, 1023, 6653, 1023, 1023, 186, 1151,-32768, 1143, 6653, - 1151, 1023, 1023, 1023, 1023, 1151, 1023, 1023, 1023, 1023, - 1023, 1023,-32768, 1316, 1319, 604, 5870,-32768,-32768, 1318, - 7661,-32768,-32768, 941,-32768,-32768,-32768,-32768,-32768,-32768, - 954, 1147,-32768,-32768, 6653, 6653, 1537, 1417, 993, 839, - 1082,-32768,-32768,-32768,-32768, 7661, 1322,-32768,-32768, 1558, - 1570, 5870, 304, 1332, 1338, 1525, 6653, 1333, 1341, 5213, - 5870, 5870,-32768,-32768,-32768, 1559, 6894,-32768, 1342, 1343, - 1344,-32768,-32768, 1345,-32768, 1350, 1351,-32768, 125, 1352, - 1353,-32768,-32768,-32768, 1354, 1530, 1356, 1357, 1359, 1360, - 1361,-32768, 1362, -22,-32768,-32768,-32768,-32768,-32768,-32768, - 1544,-32768, 7645, 7645,-32768, 1451,-32768,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768, 1605,-32768, 1007,-32768, - -32768,-32768, 1546,-32768, 4994, 4994, 840, 5870, 6653, 4682, - 1064,-32768, 1442,-32768,-32768,-32768,-32768, 779,-32768,-32768, - 135,-32768,-32768,-32768,-32768,-32768, 1151,-32768, 1616, 706, - -32768, 615, 5870,-32768, 1562, 139, 1463, 1565, 1467, 1594, - 1566, 1606, 1337,-32768,-32768, 1370,-32768, 1373, 1564, 1616, - 203,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1337, - 1193,-32768, 779, 1461, 1532,-32768,-32768,-32768, 1543, 116, - -32768,-32768, 1355, 1549, 1151, 1387, 1388,-32768, 712,-32768, - 1151, 6653, 1389, 1391, 1151, 1393, 1395, 6653, 6653, 1151, - 1398, 1401, 1402, 1405, 1409, 1413, 1414, 1422, 1430, 1433, - -32768, 3878, 1418,-32768, 5870,-32768,-32768,-32768,-32768,-32768, - -32768, 6653, 1435,-32768,-32768,-32768, 6653,-32768,-32768, 6653, - 146,-32768, 1602, 6653, 6653,-32768, 4682, 1151,-32768,-32768, - -32768,-32768,-32768, 5870,-32768, 190,-32768, 1484,-32768,-32768, - -32768,-32768,-32768,-32768,-32768, 171, 1443,-32768,-32768,-32768, - 4775,-32768,-32768,-32768,-32768,-32768,-32768, 1552,-32768,-32768, - -32768,-32768, 284, 5870, 4994,-32768, 1412,-32768,-32768, 1406, - -32768, 1151, 208,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768, 1440, 5870,-32768,-32768, 1588, 1627, 5870, 1233,-32768, - -32768, 515, 5870,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 1442,-32768,-32768,-32768,-32768,-32768, 1442,-32768,-32768,-32768, - -32768,-32768, 6653, 717,-32768, 1516,-32768, 717,-32768,-32768, - -32768, 1151,-32768,-32768,-32768,-32768, 1151, 1151,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 5870, - 1643, 1151,-32768,-32768, 1001, 1976, 1976,-32768,-32768, 1455, - 1151, 1189, 140,-32768, 1641,-32768, 5870, 5870, 285, 107, - -32768,-32768, 1491, 1653, 4682, 1175,-32768,-32768, 1462,-32768, - -32768, 4682, 1464,-32768,-32768,-32768, 6653,-32768,-32768,-32768, - -32768,-32768, 1233, 515,-32768, 1619,-32768,-32768,-32768,-32768, - 1461,-32768, 1151,-32768,-32768,-32768, 1471, 1469, 1473,-32768, - -32768,-32768,-32768, 1023, 4775, 1571, 4775,-32768,-32768,-32768, - -32768, 7137, 190, 6653, 4775, 141, 5870,-32768, 208, 5870, - -32768,-32768, 1619, 192, 1233, 1625, 1630,-32768,-32768, 1476, - -32768, 5870, 5870, 1477, 1175, 7137, 1175,-32768,-32768, 1231, - 130, 1702, 870,-32768, 874, 1233, 459, 459,-32768, 1713, - -32768, 1579,-32768,-32768,-32768,-32768, 1482,-32768, 1712, 4775, - 1728, 1720, 7137, 5870,-32768,-32768,-32768, 1568, 594,-32768, - -32768,-32768,-32768, 7137, 126, 5870, 7137,-32768,-32768,-32768, - -32768,-32768,-32768, 7137,-32768,-32768,-32768, 1772, 1773,-32768 + 1058, 5686, 5686, 1026, 905,-32768, 6688, 995,-32768, 995, + 6688,-32768, 83, 897, 901, 906, 969,-32768, 1129, 211, + -32768, 5686,-32768, 356,-32768,-32768,-32768,-32768, 1110,-32768, + -32768, 5686, 951, 2934, 957, 3184, 888,-32768, 7749,-32768, + -32768, 479, 977,-32768,-32768,-32768, 915, 915, 513, 1077, + 513, 133, 784,-32768,-32768, 7696,-32768, 5686, 5686, 5686, + -32768, 951,-32768,-32768, 1158, 367, 914, 5686, 1188, 5686, + -32768, 57, 5248, 4279, 1062,-32768,-32768, 925, 926, 934, + 1018,-32768,-32768, 940,-32768, 941,-32768, 947, 950,-32768, + 952,-32768,-32768,-32768,-32768, 953, 955, 1027, 1044,-32768, + -32768,-32768,-32768,-32768,-32768,-32768, 967,-32768,-32768, 5374, + 975, 978,-32768, 979, 1150, 6688, 6688, 5593, 5686,-32768, + 1111, 984,-32768, 1157,-32768,-32768, 981,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 999, + 993, 1003, 7696, 1009, 339,-32768,-32768, 1006, 1257, 348, + -32768,-32768, 5686,-32768, 5686, 5686, 12,-32768,-32768,-32768, + -32768, 5686, 5686, 591,-32768, 5686,-32768,-32768, 935, 1144, + 4153,-32768, 5686, 5593, 394,-32768,-32768, 6688,-32768, 1226, + 1015,-32768, 187,-32768, 324,-32768, 686,-32768, 382,-32768, + 382,-32768, 1016,-32768, 101,-32768, 1124,-32768, 89,-32768, + -32768, 1028, 1021,-32768, 951, 1032, 1286,-32768,-32768,-32768, + -32768, 413, 1232,-32768, 1033, 5686,-32768,-32768, 1045,-32768, + 380,-32768,-32768, 989,-32768, 1241, 1243,-32768, 513,-32768, + 1244,-32768,-32768, 1318,-32768, 1326,-32768,-32768, 1306,-32768, + 7696,-32768, 513, 1242, 7696, 596,-32768, 1342, 5686,-32768, + 7363,-32768, 163,-32768, 5686, 682, 236, 1181, 1148, 1222, + 1185,-32768,-32768,-32768, 151, 1230, 399,-32768, 1171, 603, + -32768, 513,-32768, 1350, 1284,-32768, 133,-32768,-32768,-32768, + 31, 1193,-32768,-32768,-32768, 1196,-32768, 1245, 1104,-32768, + 1296, 1112, 641,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768, 1108,-32768,-32768,-32768, 109, 1113, + 1117, 241,-32768, 1112,-32768,-32768, 513,-32768, 723,-32768, + 1335, 1387,-32768, 513, 513,-32768, 2934, 508,-32768, 1276, + -32768, 1258, 1122,-32768, 7652, 1278,-32768,-32768,-32768, 1287, + 1131, 4498, 1132, 965, 1467, 1577, 4029, 193,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768, 2280, 552, 1289, 742, 6688, 150,-32768, 5686, + 6688, 769, 776, 781, 1587,-32768,-32768, 6688, 4717, 1157, + 176, 1223, 6688, 6688, 4717, 1356, 157, 157, 1134, 318, + 651, 620,-32768,-32768, 4372,-32768, 6688, 5686, 6688, 6688, + 6688, 6688, 6688, 6688, 5812, 3435,-32768,-32768, 1402, 1141, + 5686,-32768, 5686, 1384, 5686,-32768, 1262, 1263,-32768,-32768, + 1236, 4153,-32768, 1393, 630,-32768, 1166,-32768, 1393, 5686, + 5686, 1177,-32768, 651,-32768, 662, 4810, 1265, 6688,-32768, + 5686,-32768, 569,-32768,-32768, 177,-32768, 1270,-32768,-32768, + -32768, 5686, 104, 5686,-32768,-32768, 5686, 1062,-32768, 6688, + 5686, 1447, 2934,-32768,-32768,-32768,-32768, 413, 5686, 1375, + 1186, 6688, 1224, 6688, 513,-32768, 519,-32768,-32768,-32768, + 1190,-32768,-32768,-32768,-32768, 513,-32768, 107, 5686,-32768, + -32768,-32768,-32768, 1446,-32768, 1192, 1423,-32768, 1444,-32768, + 1386, 1391, 601,-32768,-32768,-32768,-32768,-32768, 1456,-32768, + -32768,-32768,-32768,-32768, 5686, 7461, 603, 1355, 1357, 1360, + -32768, 603,-32768,-32768, 583,-32768, 816,-32768,-32768, 1330, + 513,-32768, 5248, 285, 1334,-32768,-32768,-32768, 603,-32768, + 1104, 336,-32768,-32768,-32768, 1423, 336, 1337, 336,-32768, + 603, 603, 1218, 603,-32768,-32768, 951, 5686,-32768, 1403, + -32768, 640,-32768,-32768,-32768, 479, 995, 5686, 654, 36, + -32768,-32768, 1225, 275,-32768, 5248, 5686, 995, 4936,-32768, + -32768, 995, 4498,-32768,-32768,-32768, 120,-32768, 197, 1983, + 4717, 4717, 6688, 6688, 1911, 1228, 557, 2208, 6688, 2560, + 616, 2810, 3060, 6031, 3310, 3560, 3810,-32768,-32768, 1396, + -32768, 1229, 750, 6688, 6688, 254, 6688, 1235, 6688, 1231, + 670, 6688, 6688, 6688, 6688, 6688, 6688,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768, 1453, 1130, 182, 6688,-32768, + 4717, 6688, 248, 428, 465, 141, 5686,-32768, 750,-32768, + -32768, 4591,-32768, 1246,-32768, 1238, -19,-32768,-32768, 1495, + 157, 157, 648, 648, 1157,-32768, 698,-32768,-32768,-32768, + -32768,-32768, 704,-32768, 1338, 1503, 1384,-32768,-32768, 7680, + 7680, 1401,-32768, 153, 1421, 5686,-32768, 6688, 1421, 1468, + 1469,-32768,-32768, 3684, 1253, 220,-32768,-32768,-32768,-32768, + -32768,-32768,-32768, 1255, 4717, 1464,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768, 92,-32768,-32768, 1289, 1157, + -32768,-32768, 715, 995,-32768,-32768, 413,-32768,-32768,-32768, + 1157,-32768, 915, 1524,-32768, 519,-32768, 1259, 4717, 1740, + -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1384,-32768,-32768, + -32768,-32768,-32768,-32768,-32768, 601, 601, 1300, 1271,-32768, + -32768,-32768,-32768,-32768, 181, 139, 441,-32768, 1531,-32768, + -32768,-32768,-32768, 5686,-32768,-32768,-32768,-32768, 314, 731, + 1383, 1402, 1269,-32768, 1171, 745,-32768, 449,-32768, 1275, + 5686, 570, 1277, 1279, 603, 1280, 1547, 508, 1384, 915, + 1243, 2934,-32768, 1230, 1370, 2684,-32768, 603, 1430, 1512, + -32768, 7652,-32768, 603, 9,-32768,-32768, 1514,-32768,-32768, + 1288, 1290,-32768, 4717, 4717,-32768, 4717, 4717,-32768, 1564, + 205, 1157, 1299,-32768,-32768, 1301, 1157, 5593,-32768,-32768, + 1518,-32768, 202, 1304, 1313, 1157, 1187, 1314, 1317, 1157, + 6688, 6688, 1228, 6688, 6250, 1319, 1320, 1157, 1321, 1323, + 1157, 6688, 1157, 1324, 1328, 1157, 1329, 1331, 1157, 1332, + 1336, 1157,-32768, 3913,-32768, 687, 695,-32768, 777,-32768, + 803, 6688,-32768, 814, 822, 830, 870, 904, 927, 6688, + 6688, 6688, 1157, 1533, 186, 1157, 1431, 6688,-32768, 6688, + 6688, 6688, 6688,-32768,-32768, 760, 4591, 5467,-32768,-32768, + 5686,-32768,-32768, 5686, 7037,-32768,-32768, 5686, 5686, 5686, + 5686, 5686, 5686, 1404, 1346,-32768, 1351,-32768,-32768, 1404, + -32768, 320, 320, 250,-32768,-32768, 767,-32768, 7680, 7680, + 1343, 1369, 1359, 4810, 1486,-32768, 1486, 647, 1486, 1536, + 1544, 6688, 1250, 1612, 1562,-32768,-32768,-32768, 750, 1384, + -32768, 1370,-32768, 274, 1171, 1506, 1171,-32768, 4717, 128, + 819,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1740, + 1740,-32768, 1503, 6688, 1740, 501, 1494, 1300, 231,-32768, + 4717,-32768,-32768,-32768, 1515, 1516, 1517, 1520, 1521, 1522, + -32768,-32768,-32768,-32768,-32768, 1364, 314,-32768, 1452,-32768, + -32768, 336,-32768, 198, 336,-32768, 336,-32768, 1402,-32768, + -32768, 1371,-32768,-32768, 479, 1503, 1171,-32768, 1243,-32768, + -32768, 1629,-32768,-32768, 1376,-32768, 1186,-32768, 1374, 513, + 170, 1377,-32768,-32768, 513,-32768,-32768,-32768, 1564,-32768, + 1564, 6688, 995, 995, 1378, 318, 768, 6688, 1592,-32768, + 995, 995, 6688, 995, 995, 228, 1157,-32768, 1201, 6688, + 1157, 995, 995, 995, 995, 1157, 995, 995, 995, 995, + 995, 995,-32768, 1379, 1382, 638, 5686,-32768,-32768, 1388, + 7696,-32768,-32768, 948,-32768,-32768,-32768,-32768,-32768,-32768, + 1000, 1147,-32768,-32768, 6688, 6688, 1610, 1490, 1008, 786, + 1088,-32768,-32768,-32768,-32768, 7696, 1389,-32768,-32768, 1630, + 1633, 5686, 229, 1394, 1395, 1589, 6688, 1398, 1405, 5029, + 5686, 5686,-32768,-32768,-32768, 1626, 6929,-32768, 1406, 1407, + 1408,-32768,-32768, 1409,-32768, 1412, 1413,-32768, 137, 1414, + 1415,-32768,-32768,-32768, 1416, 1617, 1424, 1425, 1426, 1427, + 1429,-32768, 1428, 600,-32768,-32768,-32768,-32768,-32768,-32768, + 1636,-32768, 7680, 7680,-32768, 1535,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768, 1700,-32768, 220,-32768, + -32768,-32768, 1627,-32768, 4810, 4810, 794, 5686, 6688, 4717, + 1062,-32768, 1503,-32768,-32768,-32768,-32768, 816,-32768,-32768, + 132,-32768,-32768,-32768,-32768,-32768, 1157,-32768, 1688, 501, + -32768, 722, 5686,-32768, 1634, 135, 1534, 1641, 1539, 1672, + 1643, 1680, 1384,-32768,-32768, 1448,-32768, 1449, 1635, 1688, + 198,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1384, + 1230,-32768, 816, 1531, 1606,-32768,-32768,-32768, 1620, 91, + -32768,-32768, 1402, 1621, 1157, 1454, 1466,-32768, 750,-32768, + 1157, 6688, 1470, 1472, 1157, 1473, 1476, 6688, 6688, 1157, + 1477, 1480, 1481, 1482, 1483, 1487, 1488, 1489, 1493, 1497, + -32768, 3913, 1465,-32768, 5686,-32768,-32768,-32768,-32768,-32768, + -32768, 6688, 1498,-32768,-32768,-32768, 6688,-32768,-32768, 6688, + 116,-32768, 1686, 6688, 6688,-32768, 4717, 1157,-32768,-32768, + -32768,-32768,-32768, 5686,-32768, 183,-32768, 1576,-32768,-32768, + -32768,-32768,-32768,-32768,-32768, 158, 1491,-32768,-32768,-32768, + 4591,-32768,-32768,-32768,-32768,-32768,-32768, 1647,-32768,-32768, + -32768,-32768, 320, 5686, 4810,-32768, 1091,-32768,-32768, 1504, + -32768, 1157, 193,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768, 1507, 5686,-32768,-32768, 1689, 1696, 5686, 1300,-32768, + -32768, 601, 5686,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 1503,-32768,-32768,-32768,-32768,-32768, 1503,-32768,-32768,-32768, + -32768,-32768, 6688, 513,-32768, 1584,-32768, 513,-32768,-32768, + -32768, 1157,-32768,-32768,-32768,-32768, 1157, 1157,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 5686, + 1710, 1157,-32768,-32768, 1034, 1740, 1740,-32768,-32768, 1513, + 1157, 1345, 162,-32768, 1708,-32768, 5686, 5686, 314, 124, + -32768,-32768, 1546, 1711, 4717, 1246,-32768,-32768, 1529,-32768, + -32768, 4717, 1530,-32768,-32768,-32768, 6688,-32768,-32768,-32768, + -32768,-32768, 1300, 601,-32768, 1673,-32768,-32768,-32768,-32768, + 1531,-32768, 1157,-32768,-32768,-32768, 1538, 1537, 1541,-32768, + -32768,-32768,-32768, 995, 4591, 1640, 4591,-32768,-32768,-32768, + -32768, 7172, 183, 6688, 4591, 166, 5686,-32768, 193, 5686, + -32768,-32768, 1673, 143, 1300, 1690, 1698,-32768,-32768, 1545, + -32768, 5686, 5686, 1550, 1246, 7172, 1246,-32768,-32768, 1352, + 117, 1776, 813,-32768, 831, 1300, 522, 522,-32768, 1781, + -32768, 1650,-32768,-32768,-32768,-32768, 1552,-32768, 1782, 4591, + 1797, 1806, 7172, 5686,-32768,-32768,-32768, 1653, 415,-32768, + -32768,-32768,-32768, 7172, 144, 5686, 7172,-32768,-32768,-32768, + -32768,-32768,-32768, 7172,-32768,-32768,-32768, 1844, 1855,-32768 }; static const short yypgoto[] = { - -32768,-32768,-32768, 1221, 1618,-32768, 1621, 1478, 472,-32768, - 972,-32768,-32768,-32768, -909,-32768, -565,-32768, -478, 1623, - 1481, 1228, 987,-32768,-32768,-32768, 597,-32768, 1079, 843, - -32768,-32768, 608,-32768,-32768, 841,-32768,-32768,-32768,-32768, + -32768,-32768,-32768, 1298, 1702,-32768, 1703, 1556, 540,-32768, + 1046,-32768,-32768,-32768, -913,-32768, -609,-32768, -529, 1704, + 1557, 1308, 1061,-32768,-32768,-32768, 668,-32768, 1151, 910, + -32768,-32768, 675,-32768,-32768, 911,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768, 618,-32768,-32768, 873,-32768,-32768, 181, - -32768,-32768, 1407, 1723,-32768,-32768, -381,-32768,-32768,-32768, - 1378,-32768,-32768, 1154, -397,-32768,-32768,-32768, 700,-32768, - -1317,-32768,-32768, 1456, 969, 638, 1415, 945, 637,-32768, - 201, -57, -294,-32768, -367,-32768, -1180,-32768,-32768, 228, - -32768, 1420, -1232,-32768,-32768,-32768,-32768, -1296, 229, -63, - -65, -61, -82,-32768,-32768,-32768,-32768, -133, -333,-32768, - 973,-32768, -683,-32768, -1009,-32768, 780,-32768,-32768,-32768, - -32768,-32768, -1335, -1011,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768,-32768, -761, -1001,-32768, - -32768,-32768,-32768,-32768, 133,-32768, -46,-32768,-32768,-32768, - -32768,-32768, 1838,-32768,-32768,-32768,-32768,-32768, 1047,-32768, - -32768, -561, 260, -383, -919, 504,-32768,-32768, -595, -827, - -32768,-32768, -1066, -1438,-32768,-32768,-32768,-32768,-32768, 1450, - -32768, 1208, 1437,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768, 1459,-32768,-32768,-32768,-32768,-32768, -596, -496, - -32768, 918, 461, -607, -403,-32768,-32768,-32768,-32768, -1051, - -32768, -402,-32768,-32768,-32768,-32768, 1157,-32768,-32768, 935, - -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 1844,-32768,-32768,-32768,-32768,-32768, 1517,-32768,-32768,-32768, - 1290,-32768, 1285,-32768,-32768,-32768,-32768, 1028,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768, -720, 1,-32768,-32768, - -32768, -443, 246,-32768, -371, 679,-32768, -228, 195,-32768, - -32768,-32768,-32768, 1700,-32768,-32768,-32768, 1043, -1181,-32768, - -32768, -970, -1414,-32768,-32768,-32768,-32768, 794,-32768,-32768, - -32768,-32768,-32768,-32768,-32768,-32768, 1777, -40, 542, -171, - -32768,-32768, 24,-32768, -416, -802, 1124,-32768, 202,-32768, - 409,-32768, -956,-32768, -671,-32768, 1029, -569,-32768,-32768, - -946, 1878, 1883,-32768,-32768, 1885,-32768,-32768, 1314,-32768, - -240,-32768,-32768, 1074, -1192,-32768, 820,-32768, -108, -747, - -591,-32768,-32768,-32768, -752, -56, -486, -738,-32768, -533, - -32768,-32768,-32768, 56,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768,-32768, -584,-32768, 668,-32768, 1024, -1064,-32768, - -451,-32768, 544, -1047, -148, -1015, -999, -996, -49, -2, - -1,-32768, -39, -1083, -527, -142,-32768,-32768,-32768,-32768, - -32768,-32768,-32768, -1239,-32768,-32768,-32768,-32768,-32768,-32768, - -32768,-32768, 622,-32768, -1143,-32768,-32768, 432,-32768, -948, - 497, 986, 734, 153, -688, 1265, -1236,-32768, -66, 1813, - -32768, -27, -51, -1178, 398, -265, 4, -55, -166, -10, - -59, -272,-32768, -78, -53, -9,-32768 + -32768,-32768,-32768, 684,-32768,-32768, 943,-32768,-32768, 245, + -32768,-32768, 1485, 1799,-32768,-32768, -386,-32768,-32768,-32768, + 1457,-32768,-32768, 1214, -407,-32768,-32768,-32768, 761,-32768, + -1128,-32768,-32768, 1526, 1036, 700, 1479, 1005, 699,-32768, + 266, -59, -293,-32768, -373,-32768, -1235,-32768,-32768, 287, + -32768, 1484, -1223,-32768,-32768,-32768,-32768, -1305, 288, -1, + 3, -5, -20,-32768,-32768,-32768,-32768, -139, -339,-32768, + 1035,-32768, -726,-32768, -1034,-32768, 845,-32768,-32768,-32768, + -32768,-32768, -1393, -1019,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768, -772, -1010,-32768, + -32768,-32768,-32768,-32768, 199,-32768, 22,-32768,-32768,-32768, + -32768,-32768, 1915,-32768,-32768,-32768,-32768,-32768, 1118,-32768, + -32768, -678, 330, -395, -957, 574,-32768,-32768, -598, -849, + -32768,-32768, -1086, -1431,-32768,-32768,-32768,-32768,-32768, 1523, + -32768, 1281, 1510,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768, 1542,-32768,-32768,-32768,-32768, + -32768, -602, -492,-32768, 992, 528, -646, -410,-32768,-32768, + -32768,-32768, -1058,-32768, -408,-32768,-32768,-32768,-32768, 1239, + -32768,-32768, 1011,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768,-32768, 1932,-32768,-32768,-32768,-32768,-32768, 1605, + -32768,-32768,-32768, 1380,-32768, 1372,-32768,-32768,-32768,-32768, + 1114,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -693, + 1,-32768,-32768,-32768, -485, -125,-32768, -464, 467,-32768, + -249, 451,-32768,-32768,-32768,-32768, 1786,-32768,-32768,-32768, + 1125, -1189,-32768,-32768, -1027, -1398,-32768,-32768,-32768,-32768, + 874,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1877, + -47, 631, -317,-32768,-32768, 113,-32768, -447, -813, 1217, + -32768, 290,-32768, 496,-32768, -857,-32768, -674,-32768, 1115, + -574,-32768,-32768, -928, 1975, 1978,-32768,-32768, 1979,-32768, + -32768, 1397,-32768, -236,-32768,-32768, 1163, -1198,-32768, 908, + -32768, -109, -748, -594,-32768,-32768,-32768, -758, -34, -493, + -637,-32768, -502,-32768,-32768,-32768, 456,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768, -553,-32768, 741,-32768, + 1049, -1066,-32768, -453,-32768, 627, -1045, -149, -1018, -1012, + -1006, -18, -2, -51,-32768, -78, -858, -542, -145,-32768, + -32768,-32768,-32768,-32768,-32768,-32768, -1259,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768, 701,-32768, -1155,-32768,-32768, + 433,-32768, -921, 454, 1066, 804, 227, -695, 1347, -1246, + -32768, -62, 1898,-32768, -6, -54, -1285, 474, -266, 4, + -63, -169, 5, -57, -272,-32768, -79, -56, -9,-32768 }; -#define YYLAST 7982 +#define YYLAST 8017 static const short yytable[] = { - 151, 43, 84, 253, 303, 350, 171, 172, 227, 179, - 854, 248, 249, 321, 324, 624, 265, 1033, 246, 322, - 325, 232, 293, 270, 1018, 284, 1035, 688, 692, 662, - 1026, 1285, 790, 626, 263, 544, 238, 856, 878, 1099, - 292, 653, 775, 827, 288, 1295, 294, 1254, 222, 225, - 228, 231, 172, 236, 239, 1541, 1352, 1499, 290, 251, - 225, 239, 809, 231, 230, 172, 236, 287, 268, 151, - 239, 1603, 260, 1354, 631, 295, 258, 993, 280, 171, - 172, 283, 225, 1284, 280, 239, 228, 231, 291, 172, - 236, 268, 151, 239, 562, 231, 260, 309, 359, 311, - 289, 1050, 1029, 705, 1321, 1355, 811, 353, 296, 585, - 1389, 955, 628, 1054, 310, 600, 946, 1410, 1362, 1183, - 1559, 1356, 773, 906, 1357, 436, 928, 360, 1482, 971, - 867, 1105, 868, 1601, 1486, 357, 1137, 1203, 879, 332, - 1930, 961, 971, 971, 251, 172, 251, 971, 971, 971, - 151, 1577, 1309, 326, 1881, 556, 1101, 239, 610, 443, - 1735, 836, 351, 1639, 225, 231, 172, 268, 841, 1405, - 1122, 179, 1358, 1953, 574, 403, 1431, 1187, 355, 1593, - 1594, 1706, 1376, 588, 1597, 823, 1715, 104, 773, 1815, - 1374, 781, 960, 997, 1657, 1780, 782, 968, 781, 1825, - 1019, 1020, 781, 782, 431, 1361, 432, 782, 307, 781, - 1257, -81, 1365, 1784, 782, 859, 971, 881, 971, 1206, - 657, 1371, 590, 781, 804, -377, 898, 1832, 782, 404, - 1562, 688, 692, 1208, 1209, 622, 1916, 781, -690, 1194, - 408, 532, 782, 409, 536, 1826, 972, 1393, 623, 913, - 781, 592, 14, 889, 1204, 782, 1827, 845, -1038, 972, - 972, -1042, 899, 662, 972, 972, 972, 610, 1157, 803, - 1747, 1033, 65, 1094, 1701, 1702, 574, 1541, 89, 810, - 1035, 155, 571, 1274, 544, 410, 1104, 933, 251, 1095, - 1375, 251, 433, 586, 882, 1352, 1352, 581, 545, 151, - 1352, 926, 405, 781, 589, 1616, 105, 1125, 782, 805, - 1127, 308, 1354, 1354, 1195, 1779, 1716, 1354, 1377, 1134, - 1840, 1618, 1188, 611, 228, 576, 14, 434, 172, 1037, - 1582, 1277, 1278, 972, 883, 972, 1207, 1047, 971, 1021, - 714, 1683, 1684, 625, 1355, 1355, 1785, 1627, 1640, 1355, - 532, 1595, 249, 1568, 639, 1828, 320, 643, 914, 773, - 1356, 1356, 900, 1357, 1357, 1356, 700, 1601, 1357, 308, - 599, 599, 1917, 575, 654, 704, 656, 837, 1178, 1202, - 934, 1349, 588, 1271, 1882, 1733, 929, 1342, 1366, 1367, - 251, 709, 1581, 713, 1631, 1165, 1123, 251, 1282, 251, - 1141, 251, 711, 1286, 644, 1086, 1311, 1286, 1205, 1564, - 1565, 1358, 1358, 1591, 1748, 1816, 1358, 272, 1763, 1875, - 1911, 998, 1898, 225, 231, 236, 960, 576, 1338, 781, - 960, 848, 658, 172, 782, 228, 437, 702, 1415, 722, - 783, 784, 785, 786, 577, 104, 720, 783, 784, 785, - 786, 273, -690, 785, 786, 972, 924, 708, 783, 784, - 785, 786, 1854, 1613, 153, 1427, 1428, 1824, 1429, 1430, - 1279, 781, 783, 784, 785, 786, 782, 1230, 396, 1118, - 82, 82, 1120, 318, 1422, 777, 783, 784, 785, 786, - 326, 1231, 586, 818, 829, 1132, 180, 318, 800, 783, - 784, 785, 786, 1484, 1184, 816, 1030, 807, 1157, 173, - 907, 812, 318, 338, 449, 1200, 1423, 1312, 563, 1201, - 1148, 166, 925, 397, 831, 1492, 569, 438, 154, 172, - 327, 231, 545, 544, 1493, 1232, 242, 243, 172, 1090, - 1837, 1339, 172, 1813, 802, 536, 1907, 545, 850, 179, - 1694, 318, 783, 784, 785, 786, 1891, 83, 83, 1073, - 1164, 1359, 1360, 1233, 1777, 860, 242, 243, 320, 937, - 1928, 1744, 181, 1324, 1113, 628, 1937, 1630, 880, 319, - 1315, 1373, 1404, 1191, 955, 320, 1325, 1106, 185, 1158, - 1072, 1786, 251, 832, 1416, 174, 106, 1947, 1918, 1050, - 1098, 840, 414, 1770, 1176, 1736, 909, 1494, 1952, 1326, - 1590, 1955, 1036, 183, 908, 1938, 1335, 1316, 1956, 1936, - 1776, 167, 318, 873, 988, 251, 175, 1234, 168, 873, - 398, 1320, 1605, 323, 107, 1871, 1872, 1950, 318, 320, - 186, 176, 1541, 1114, 1438, 1051, 108, 989, 399, 825, - 1378, 936, 260, 56, 249, 272, 385, 326, 940, 941, - 1328, 1341, 1939, 781, 57, 904, 1541, 1336, 782, 1220, - 109, 58, 1749, 326, 588, 415, 1750, 1751, 783, 784, - 785, 786, 400, 1672, 1091, 781, 1379, 182, 1951, 273, - 782, 326, 1439, 1541, 240, 59, 386, 994, 318, 826, - 781, 251, 1790, 990, 1541, 782, 256, 1541, 1913, 1954, - 326, 781, 1778, 1002, 1541, 905, 782, 1221, 1673, 1835, - 783, 784, 785, 786, 781, 1149, 1000, 1262, -239, 782, - 1674, 1004, 1344, 1755, 781, 110, 632, 82, 532, 782, - 532, 1222, 1059, 781, 239, 111, 1363, 1364, 782, 275, - 1006, 1352, 1352, 297, 1756, 1948, 781, 60, 1372, 1858, - 1757, 782, 277, 1091, 1648, 1859, 1436, 645, 1354, 1354, - 112, 107, 1039, 1070, 447, 299, 421, 646, 1743, 285, - 251, 781, 452, 1270, 586, 251, 782, 251, 61, 251, - 249, 390, 62, 300, 1758, 581, 545, 1097, 1406, 1604, - 1355, 1355, 850, 391, 172, 231, 794, 109, 795, 1112, - 422, 231, 423, 532, 304, 1089, 1356, 1356, 802, 1357, - 1357, 1191, 305, 1584, -239, 1847, 172, 781, 172, 1848, - 1489, 306, 782, 1585, 424, 251, 392, 251, 393, 1139, - 1142, 1742, 1629, 599, 1857, -239, 1435, 787, 781, 781, - 1394, -239, 1288, 782, 782, 1395, 86, 87, 1143, 425, - 251, 1861, 1154, 312, 1617, 1394, 1036, 1358, 1358, 1626, - 1398, 313, 110, 1904, 1678, 1906, 317, 468, 469, 470, - 1576, 63, 111, 1910, 162, -239, 251, 251, 333, 781, - 1470, 349, 1172, 1173, 782, 1175, 260, 798, 1177, 799, - 588, 1147, 161, 162, 722, 478, 479, 112, 1185, 1150, - 1151, 1155, 783, 784, 785, 786, 242, 243, 1162, 1467, - 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1944, 172, - 260, 260, 384, 260, 783, 784, 785, 786, 382, 172, - 1897, 1468, 869, 1899, 870, 1925, 1926, 722, 1199, 783, - 784, 785, 786, 1324, 720, 891, 1471, 892, 1822, 1033, - 783, 784, 785, 786, 781, 381, 1325, 1472, 1035, 782, - 787, 388, 1031, 783, 784, 785, 786, 781, 857, 1923, - 1474, 406, 782, 783, 784, 785, 786, 1728, 1730, 1326, - 1475, 420, 783, 784, 785, 786, 1066, 1612, 1067, 1690, - 1283, 429, 1181, 1327, 1182, 783, 784, 785, 786, 417, - 586, 859, 1476, 951, 418, 1186, 781, 787, 239, 1289, - 440, 782, 1091, 442, 781, 1544, 444, 1633, 1547, 782, - 783, 784, 785, 786, 1224, 445, 1228, 1477, 1236, 1239, - 1328, 1244, 1247, 1250, 1290, 781, 1291, 1181, 448, 1340, - 782, 545, 545, 1386, 781, 1387, 533, 449, 850, 782, - 537, 1435, 1435, 540, 607, 231, 608, 688, 692, 1435, - 1435, 1324, 1435, 1435, 1729, 1731, 783, 784, 785, 786, - 1435, 1435, 1435, 1435, 1325, 1435, 1435, 1435, 1435, 1435, - 1435, 1391, -730, 1392, 547, 548, 1885, 783, 784, 785, - 786, 551, 552, 1888, 1478, 781, 1286, 1326, 1491, 787, - 782, 1563, 787, 1033, 1649, 1033, 787, 787, 1688, 1737, - 1036, 1327, 1035, 1033, 1035, 249, 553, 554, 588, 536, - 555, 781, 1035, 570, 557, 1401, 782, 572, 783, 784, - 785, 786, 593, 573, 1384, 1479, 582, 1933, 1417, 1934, - 595, 798, 1329, 1935, 1421, 1571, 1385, 1573, 1328, 596, - 597, 1384, 1442, 1557, 1557, 1561, 781, 601, 1033, 603, - 781, 782, 251, 260, 781, 782, 251, 1035, 14, 782, - 616, 995, 615, 999, 617, 619, 260, 1003, 1005, 1007, - 637, 640, 260, 651, 650, 655, 706, 1658, 710, 747, - 712, 749, 1587, 752, 1589, 750, 769, 751, 1681, 753, - 754, 755, 781, 783, 784, 785, 786, 782, 889, 759, - 1679, 756, 757, 1548, -1024, 760, 783, 784, 785, 786, - 758, 761, 778, 1680, 532, 766, 1495, 249, 586, 780, - 1546, 767, 768, 1466, 172, 787, 793, 1549, 789, 788, - -1042, -720, 797, 1782, 781, 814, 796, 820, 822, 782, - 846, 823, 835, 839, 1632, 783, 784, 785, 786, 843, - 1329, 1874, 1687, 783, 784, 785, 786, 847, 251, 844, - 1870, 251, 851, 855, 1500, 1543, 334, 858, 545, 231, - 236, 545, 268, 151, 783, 784, 785, 786, 1914, 1280, - 852, 610, 1545, 783, 784, 785, 786, 861, 1281, 545, - 545, 862, -720, 1929, 231, -720, 864, 865, 871, 335, - 499, 896, -720, 895, -720, 318, -437, 897, -720, 902, - 910, 911, 919, -720, 918, 916, -720, 921, 917, 922, - 927, 931, 938, 560, 932, 336, 939, -1067, 337, 948, - 588, -720, 568, -1067, 783, 784, 785, 786, -1067, 1689, - 956, -1067, 950, 951, 338, -720, 957, 958, 962, 185, - 1638, 1022, 1027, -720, 1028, 1643, 928, -720, 1060, 1055, - 783, 784, 785, 786, 1615, 320, -720, 1062, 1061, 1064, - 339, 1085, 1092, 1068, 1860, 805, 1102, -1067, 1107, 798, - 1109, 1119, -720, 1128, 1129, -1067, 1130, 874, 606, 1135, - 1136, 1738, 609, -1067, 1138, 783, 784, 785, 786, 783, - 784, 785, 786, 783, 784, 785, 786, 1144, 1145, -720, - 1146, -1067, 1153, -1067, 1160, 1693, 1174, 1179, 1170, 1193, - 1217, -720, 1252, -720, 1253, 1269, -1067, 1259, -1067, -1067, - -1067, 1261, 1286, 1287, 781, 1292, 1466, 172, 1294, 1310, - 586, 783, 784, 785, 786, 1313, 1318, 1319, 1333, 1323, - 1345, 1380, 1368, 1331, 973, 1403, 1324, 1388, 1348, 1411, - 781, 1370, 1187, 971, 1390, 782, 1419, 1396, 974, 1325, - -720, 1399, 225, 1424, 1400, -49, 1432, -1067, 1402, 1425, - 1700, 1199, 1199, 783, 784, 785, 786, 1543, 1426, 763, - -720, 1437, 1326, 1433, -720, 770, 771, 774, 1440, 1483, - 1485, 1569, 1441, 1550, 975, 1443, 1327, -720, -720, 1552, - -720, 1444, 976, -49, 1841, 1451, 1452, 1453, 1454, 1456, - 977, 1457, 1458, 545, 545, -49, 1459, 1460, 1461, 1553, - 1578, 1574, 1566, 1579, 1036, 1575, 1567, 1588, 978, 156, - 979, 1602, 1761, 1328, 1606, 231, 231, 1839, 351, -49, - 1607, 1608, 1609, 980, 1610, 981, 982, 983, 1611, 1614, - 1628, 1157, 1634, 817, 1557, 1636, 1651, 819, 1685, 1637, - 1686, 1642, 1647, 172, 1692, 1670, 1671, 1677, 1691, -1067, - -1067, -1067, -1067, -1067, -1067, -1067, -1030, 154, 1695, 1698, - 1704, -1067, 1720, -1067, 1727, 823, 1696, -339, 1709, 1710, - 1711, 1712, 1, 1810, 984, 1732, 1713, 1714, 1717, 1718, - 1719, 1734, 1721, 1722, -49, 1723, 1724, 1725, 1767, 1752, - 2, 1762, 1726, 1764, -49, 1765, 1768, 1766, 3, 1771, - 1769, 1842, 1772, 1855, 1783, 4, 1781, 5, 1773, 6, - 1787, 1466, 172, 1819, 7, 228, 1788, 1789, 1792, -49, - 1793, 8, 1794, 1705, 1795, 1329, 1836, 1798, 1645, 1646, - 1799, 1800, 1851, 1846, 1801, 9, 1652, 1653, 1802, 1655, - 1656, 157, 1803, 1804, 1199, 10, 1809, 1660, 1661, 1662, - 1663, 1805, 1664, 1665, 1666, 1667, 1668, 1669, 1036, 1806, - 1036, 1856, 1807, 1852, 1812, 588, 1833, 1853, 1036, 1849, - 1864, 1834, 1868, 1876, 351, 231, 985, 986, 987, 783, - 784, 785, 786, 1873, 1863, 1884, 1030, 1883, 1865, 588, - 1886, 1893, 1889, 1039, 1905, 1892, 1901, 1919, 172, 1932, - 1900, 1902, 1921, 228, 970, 1924, 1927, 1916, 11, 1917, - 1877, 1942, 1943, 1036, 1945, 12, 588, 1946, 13, 1949, - 14, 15, 1958, 1959, 996, 813, 314, 588, 1001, 315, - 588, 1554, 316, 539, 815, 1017, 1071, 588, 1420, 546, - 1024, 1025, 1063, 949, 1192, 16, 1418, 1197, 1408, 1166, - 228, 1775, 271, 620, 499, 663, 1040, 1041, 1042, 1043, - 1044, 1045, 499, 591, 912, 1103, 1347, 225, 1879, 1409, - 1774, 67, 1414, 633, 1133, 586, 1880, 1754, 635, 1915, - 1760, 1922, 68, 536, 1920, 1941, 1908, 1296, 28, 69, - 1831, 1052, 1126, 1745, 17, 1583, 568, 1171, 894, 586, - 641, 627, 70, 618, 935, 1625, 1163, 160, 583, 18, - 19, 834, 830, 1093, 331, 1087, 281, 1100, 1322, 1572, - 1890, 991, 1543, 1808, 1903, 1676, 586, 1089, 48, 606, - 251, 1111, 20, 49, 1108, 52, 1069, 586, 1212, 1317, - 586, 1213, 228, 228, 1592, 453, 1543, 586, 842, 1156, - 1447, 1487, 454, 890, 1397, 1850, 286, 1699, 0, 71, - 0, 0, 0, 0, 455, 0, 0, 0, 0, 0, - 456, 457, 0, 1543, 1089, 72, 0, 0, 0, 0, - 0, 0, 0, 0, 1543, 0, 1199, 1543, 0, 0, - 0, 73, 0, 0, 1543, 0, 0, 0, 458, 0, - 0, 459, 0, 0, 0, 0, 74, 0, 0, 0, - 75, 0, 0, 76, 0, 0, 0, 0, 0, 0, - 0, 77, 0, 0, 0, 0, 460, 0, 461, 462, - 0, 0, 0, 0, 0, 0, 0, 0, 463, 0, - 78, 0, 464, 0, 0, 0, 0, 1210, 1211, 1216, - 0, 0, 1225, 1226, 1229, 0, 1237, 1240, 1242, 1245, - 1248, 1251, 0, 0, 456, 0, 0, 0, 1255, 1256, - 0, 1258, 0, 1260, 0, 0, 1263, 1264, 1265, 1266, - 1267, 1268, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 458, 1272, 0, 1214, 1275, 465, 0, 79, - 0, 0, 0, 466, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 467, 0, 0, 0, 0, 0, 0, - 460, 0, 0, 0, 0, 0, 0, 468, 469, 470, - 471, 242, 243, 114, 0, 115, 116, 117, 118, 0, - 119, 472, 499, 0, 0, 0, 0, 0, 120, 121, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 122, - 482, 0, 124, 0, 0, 483, 484, 0, 485, 486, - 487, 0, 127, 128, 488, 129, 0, 0, 130, 131, - 132, 133, 134, 0, 0, 0, 135, 136, 0, 0, - 0, 465, 137, 489, 139, 0, 490, 141, 142, 0, - 143, 0, 0, 0, 491, 492, 0, 467, 0, 0, - 559, 0, 494, 0, 0, 0, 320, 0, 0, 0, - 0, 468, 469, 470, 0, 242, 243, 0, 0, 1223, - 0, 0, 1213, 0, 0, 0, 453, 0, 0, 0, - 0, 0, 0, 454, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 0, 0, 455, 0, 0, 0, 483, - 484, 456, 457, 0, 0, 0, 0, 0, 488, 0, + 152, 43, 85, 352, 305, 628, 229, 173, 255, 180, + 250, 860, 1042, 323, 326, 234, 272, 324, 327, 267, + 292, 172, 295, 262, 668, 694, 1044, 698, 265, 630, + 286, 1295, 833, 779, 1108, 251, 862, 548, 887, 296, + 796, 659, 290, 294, 781, 1551, 1305, 262, 223, 226, + 248, 230, 233, 173, 238, 241, 1331, 1509, 240, 815, + 253, 226, 241, 1362, 233, 232, 173, 238, 817, 270, + 152, 241, 1613, 637, 1264, 566, 1063, 260, 964, 282, + 1002, 173, 285, 226, 1364, 282, 241, 230, 233, 289, + 173, 238, 270, 152, 241, 172, 233, 297, 361, 779, + 1059, 291, 711, 1372, 293, 1038, 1193, 1420, 312, 298, + 1294, 1365, 355, 1399, 915, 589, 604, 1366, 634, 955, + 311, 441, 313, 1367, 1569, 362, 1492, 1940, 1213, 359, + 937, 1027, 1496, 1716, 1603, 1604, 980, 1035, 873, 1607, + 980, 847, 877, 980, 1147, 253, 173, 253, 888, 980, + 1132, 152, 1611, 1587, 1415, 1110, 328, 1319, 241, 1825, + 448, 334, 842, 353, 1114, 226, 233, 173, 270, 1197, + 980, 1891, 180, 614, 980, 1113, 663, 1371, 970, 357, + 787, 578, 592, 1386, 1375, 788, 1745, 1926, 1794, 1649, + 980, 1963, 1835, 1381, 980, 907, 1006, 829, 1725, 1135, + 922, 980, 1137, 578, 810, 1216, -81, 405, 1368, 865, + 787, 1144, 1790, 1441, 1842, 788, 1321, 105, 594, 1403, + -377, 442, 560, 614, 437, 890, 1028, 1029, 787, 969, + 694, 908, 698, 788, 977, 1345, 1667, 436, 1836, 1432, + 413, 626, 274, 414, 309, 1214, 1103, 898, 1448, 1837, + -696, 787, 596, 981, 627, 851, 788, 981, 793, 668, + 981, 1384, 1104, 1298, 1267, 536, 981, 1551, 540, 1042, + 1188, 1433, 779, 809, 1711, 1712, 275, 787, 579, 453, + 66, 575, 788, 1044, 1334, 415, 1346, 981, 548, 811, + 253, 981, 585, 253, 1204, 935, 1449, 1335, 1287, 1288, + 549, 152, 891, 1362, 1362, -736, 1578, 981, 1362, 923, + 438, 981, 443, 14, 1198, 1592, 1628, 590, 981, 1387, + 1336, 1795, 1217, 1927, 1364, 1364, 230, 1322, 1726, 1364, + 173, 909, 580, 1046, 1337, 720, 106, 593, 615, 1693, + 1694, 1056, 892, 1218, 1219, 439, 1850, 310, 1838, 581, + 1637, 1365, 1365, 1605, 580, 1281, 1365, 1366, 1366, 1494, + 398, 1385, 1366, 1367, 1367, 1030, 846, 629, 1367, 1205, + 105, 1338, 603, 603, 1650, 706, 1133, 536, 843, 251, + 1095, 645, 710, 592, 649, 1826, 1611, 1743, 664, 1175, + 938, 274, 253, 1284, 1296, 719, 1641, 1376, 1377, 1215, + 717, 1892, 253, 787, 253, 399, 253, 1601, 788, 650, + 660, 1758, 662, 1151, 1773, 1574, 1575, 787, 1292, 1212, + 1591, 1296, 788, 1352, 1007, 275, 942, 715, 226, 233, + 238, 791, 792, 1349, 1348, 1623, 310, 1289, 173, 1908, + 230, 1885, 708, 728, 186, 1921, 1167, 1425, 1368, 1368, + 726, 787, 167, 1368, 1369, 1370, 788, 714, 1960, 789, + 790, 791, 792, 1864, -696, 1572, 969, 1834, 320, 1757, + 969, 1194, 409, 1127, 1383, 1704, 1129, 789, 790, 791, + 792, 1167, 1210, 1339, 651, 1388, 1211, 107, 787, 783, + 320, 1359, 1142, 788, 652, 806, 187, 90, 1917, 837, + 789, 790, 791, 792, 813, 1594, 822, 854, 818, 1961, + 83, 419, 400, 916, 1789, 1595, 83, 1158, 590, 943, + 320, 1389, 1938, -239, 1502, 108, 789, 790, 791, 792, + 401, 638, 320, 173, 322, 233, 549, 109, 1503, 548, + 1626, 1823, 173, 156, 1847, 410, 173, 831, 808, 1957, + 321, 549, 168, 180, 1787, 964, 322, 1901, 1746, 169, + 1962, 110, 1168, 1965, 402, 1640, 244, 245, 838, 946, + 1966, 540, 325, 1754, 1504, 1081, 1437, 1438, 322, 1439, + 1440, 917, 1325, 856, 420, 634, 1201, 84, 1780, 1414, + 1881, 1882, 1115, 84, 1796, 320, 253, 832, 1330, 1928, + 866, 1426, 1059, 1230, 322, 1786, 889, 1186, 262, 1174, + 1107, 1923, 244, 245, 874, 1045, 800, 1122, 801, -239, + 1946, 108, 913, 56, 1326, 804, 111, 805, 1351, 882, + 336, 253, 1551, 1240, 57, 882, 112, 997, 182, 1947, + -239, 58, 154, 918, 1759, 59, -239, 1241, 1760, 1761, + 1060, 1231, 789, 790, 791, 792, 1551, 110, 1958, 328, + 998, 113, 933, 337, 181, 60, 789, 790, 791, 792, + 184, 787, 914, 824, 787, 1232, 788, 592, 1948, 788, + -239, 408, 251, 1551, 1788, 787, 1123, 1100, 945, 338, + 788, 1242, 339, 787, 1551, 949, 950, 1551, 788, 329, + 789, 790, 791, 792, 1551, 1290, 155, 253, 340, 1964, + 787, 1334, 244, 245, 387, 788, 999, 1682, 787, 1243, + 1845, 1600, 111, 788, 1335, 1949, 1404, 61, 934, 183, + 1800, 1405, 112, 451, 341, 1639, 1354, 789, 790, 791, + 792, 456, 1291, 1615, 1373, 1374, 14, 1336, 328, 174, + 241, 242, 1683, 1009, 388, 258, 1382, 113, 62, 1362, + 1362, 1868, 63, 1445, 1684, 320, 536, 1869, 536, 1100, + 1068, 1658, 1079, 816, 1446, 328, 567, 1753, 1048, 320, + 1364, 1364, 328, 1244, 573, 227, 253, 328, 1003, 87, + 88, 253, 1099, 253, 585, 253, 1106, 1857, 1338, 83, + 787, 1858, 549, 1416, 1614, 788, 1159, 1365, 1365, 277, + 173, 233, 590, 1366, 1366, 1011, 1867, 233, 251, 1367, + 1367, 1098, 1013, 279, 808, 1201, 787, 1015, 1153, 835, + 287, 788, 173, 1871, 173, 175, 299, 787, 1499, 856, + 1765, 253, 788, 253, 536, 787, 1121, 1404, 340, 603, + 788, 64, 1408, 787, 611, 262, 612, 1131, 788, 1627, + 1157, 1766, 1182, 1183, 1636, 1185, 176, 1767, 301, 253, + 1149, 1152, 1045, 878, 1914, 879, 1916, 1172, 1688, 302, + -1044, 177, 426, -1048, 1920, 900, 306, 901, 1586, 262, + 262, 307, 262, 787, 1480, 253, 253, 793, 788, 1040, + 1187, 1768, 1164, 314, 1368, 1368, 592, 1075, 319, 1076, + 1195, 308, 1907, 728, 315, 1909, 427, 1191, 428, 1192, + 1165, 162, 163, 789, 790, 791, 792, 787, 163, 1954, + 1039, 960, 788, 1196, 789, 790, 791, 792, 173, 335, + 429, 1082, 789, 790, 791, 792, 1160, 1161, 173, 1272, + 787, 1933, 1752, 1738, 1740, 788, 728, 1209, 1042, 789, + 790, 791, 792, 726, 351, 430, 1477, 789, 790, 791, + 792, 787, 1044, 392, 1478, 793, 788, 1299, 1445, 1445, + 383, 1300, -1073, 1301, 384, 393, 1445, 1445, -1073, 1445, + 1445, 386, 1191, -1073, 1350, 1622, -1073, 1445, 1445, 1445, + 1445, 411, 1445, 1445, 1445, 1445, 1445, 1445, 1396, 390, + 1397, 865, 787, 1700, 472, 473, 474, 788, 394, 1581, + 395, 1583, 1401, 787, 1402, 1643, 406, 241, 788, 1100, + 1293, 787, -1073, 1739, 1741, 1554, 788, 1296, 1557, 1501, + -1073, 590, 482, 483, 793, 793, 1573, 1659, -1073, 789, + 790, 791, 792, 422, 1935, 1936, 1481, 787, 423, 447, + 549, 549, 788, 793, 425, 1698, -1073, 434, -1073, 1832, + 694, 793, 698, 1747, 233, 789, 790, 791, 792, 445, + 449, -1073, 1482, -1073, -1073, -1073, 789, 790, 791, 792, + 1943, 452, 1944, 1484, 789, 790, 791, 792, 856, 453, + 537, 1485, 789, 790, 791, 792, 1411, 541, 804, 1486, + 1945, 787, 1042, 551, 1042, 544, 788, 552, 555, 1427, + 556, 557, 1042, 561, 558, 1431, 1044, 1045, 1044, 559, + 574, 576, -1073, 262, 577, 592, 1044, 597, 586, 599, + 600, 601, 789, 790, 791, 792, 262, 605, 607, 1487, + 14, 619, 262, 787, 1394, 1334, 620, 251, 788, 623, + 621, 540, 632, 863, 643, 646, 1395, 1042, 1335, 656, + 787, 1394, 1567, 1567, 1571, 788, 789, 790, 791, 792, + 787, 1044, 253, 1488, 657, 788, 253, 712, 1004, 661, + 1008, 1336, 716, 1280, 1012, 1014, 1016, 753, 718, 789, + 790, 791, 792, 755, 756, 1337, 1489, 1895, 1691, 1597, + 787, 1599, 757, 1851, 1898, 788, 898, 758, 759, 760, + 789, 790, 791, 792, 787, 761, 765, 1689, 762, 788, + 763, -1030, 1558, 764, -1073, -1073, -1073, -1073, -1073, -1073, + -1073, 1452, 1338, 766, 1505, 767, -1073, 775, -1073, 1559, + -726, 1792, 1556, 772, 173, 1668, 773, 774, 793, 784, + 829, 789, 790, 791, 792, 786, 536, 803, 1476, 251, + 590, 1642, 789, 790, 791, 792, 795, 794, 799, 1690, + 789, 790, 791, 792, 802, 820, -1048, 1697, 253, 826, + 845, 253, 828, 841, 1510, 1553, 853, 849, 549, 233, + 238, 549, 270, 152, 850, 1924, 789, 790, 791, 792, + 852, -726, 1555, 1880, -726, 857, 858, 1655, 1656, 549, + 549, -726, 861, -726, 233, 1662, 1663, -726, 1665, 1666, + 1852, 864, -726, 614, 867, -726, 1670, 1671, 1672, 1673, + 868, 1674, 1675, 1676, 1677, 1678, 1679, 503, 870, 871, + -726, 1, 880, 875, 1339, 904, 905, 592, 906, -438, + 789, 790, 791, 792, -726, 1699, 911, 320, 787, 2, + 564, 919, -726, 788, 920, 787, -726, 3, 925, 572, + 788, 926, 928, 927, 4, -726, 5, 930, 6, 936, + 931, 940, 1870, 7, 1625, 941, 947, 948, 957, 960, + 8, -726, 789, 790, 791, 792, 965, 959, 966, 967, + 971, 1648, 1031, 1037, 9, 186, 1653, 1036, 1748, 789, + 790, 791, 792, 937, 10, 322, 1064, 1884, -726, 789, + 790, 791, 792, 1334, 1939, 610, 1069, 1070, 1071, 613, + -726, -49, -726, 1234, 1077, 1238, 1335, 1246, 1249, 1703, + 1254, 1257, 1260, 1073, 811, 1094, 1101, 1111, 1116, 789, + 790, 791, 792, 804, 1118, 1138, 1140, 173, 1128, 1336, + 1139, 883, 1145, 789, 790, 791, 792, 1146, 1148, -49, + 1154, 1476, 1155, 1337, -1074, 1156, 1163, 11, 1170, -726, + -1074, -49, 590, 1180, 12, -1074, 1184, 13, -1074, 14, + 15, 1189, 226, 1203, 1262, 157, 1227, 1263, 1271, -726, + 1710, 1209, 1209, -726, 1269, -49, 1279, 1553, 787, 1304, + 1338, 1297, 1302, 1296, 16, 1320, -726, -726, 1323, -726, + 1333, 1328, 1329, 1341, -1074, 1343, 1355, 1358, 769, 1378, + 91, 1390, -1074, 1398, 776, 777, 780, 92, 1400, 1380, + -1074, 93, 94, 549, 549, 1406, 1409, 1413, 1410, 1412, + 95, 1045, 1421, 1197, 1429, 1771, 1434, 1435, -1074, 1436, + -1074, 96, 980, 17, 1849, 233, 233, 1442, 353, 1443, + -49, 1447, 1450, -1074, 1493, -1074, -1074, -1074, 18, 19, + -49, 1451, 1453, 1567, -1075, 1454, 1560, 1461, 1462, 1463, + -1075, 1464, 1466, 173, 1495, -1075, 1467, 1468, -1075, 1469, + 1470, 20, 823, 1579, 1471, -49, 825, 789, 790, 791, + 792, 1584, 1576, 1562, 789, 790, 791, 792, 1563, 1585, + 1820, 1588, 1339, 97, -1074, 1589, 1598, 158, 1577, 1612, + 1616, 1617, 1618, 1624, -1075, 1619, 1620, 1621, 1167, 98, + 1638, 1644, -1075, 1647, 1646, 1661, 1652, 1657, 1680, 1681, + -1075, 1695, 1865, 1696, 99, 1701, 1702, 1687, 100, -1036, + 1705, 155, 173, 1706, 1708, 230, 68, 1714, -1075, 101, + -1075, -339, 1719, 1720, 1721, 1722, 1476, 69, 1723, 1724, + 1727, 1728, 1729, -1075, 70, -1075, -1075, -1075, 102, 1730, + 1731, 1732, 1733, 1734, 1209, 1735, 1737, 71, 1736, 1742, + 829, 1762, 1744, 1772, 1774, 1045, 1777, 1045, 1866, 1776, + 1863, 1775, 592, 1778, 1779, 1045, 1843, 1781, 1782, 1783, + 1791, 1793, 1797, 1798, 353, 233, -1074, -1074, -1074, -1074, + -1074, -1074, -1074, 1819, -1075, 1799, 592, 1829, -1074, 1802, + -1074, 1803, 1804, 1048, 1902, 1805, 1808, 103, 173, 1809, + 1810, 1811, 1812, 230, 72, 1715, 1813, 1814, 1815, 1844, + 1045, 1846, 1816, 592, 1887, 1873, 1817, 1822, 460, 1875, + 73, 1856, 1862, 1861, 592, 979, 1859, 592, 1874, 1878, + 1886, 1883, 1893, 1894, 592, 1903, 74, 1017, 1018, 1019, + 1020, 1021, 1022, 1023, 1024, 1005, 462, 1896, 1899, 1010, + 230, 75, 1929, 1915, 1911, 76, 1026, 1910, 77, 1912, + 1931, 1033, 1034, 1942, 1934, 1926, 78, 226, 1889, 1937, + 1927, 1952, 1953, 1955, 464, 503, 1890, 1049, 1050, 1051, + 1052, 1053, 1054, 503, 1968, 79, -1075, -1075, -1075, -1075, + -1075, -1075, -1075, 1956, 1959, 1969, 819, 590, -1075, 1564, + -1075, 316, 317, 543, 318, 540, 1080, 550, 821, 1430, + 1202, 958, 1072, 1428, 1418, 1785, 1207, 572, 1176, 273, + 921, 590, 1553, 624, 1913, 595, 1357, 1098, 1112, 669, + 253, 1419, 639, 1143, 1424, 1784, 1764, 641, 1109, 1770, + 1930, 1925, 230, 230, 80, 469, 1553, 1951, 590, 1932, + 610, 1306, 1120, 1136, 1918, 28, 1841, 1222, 1061, 590, + 1223, 471, 590, 1755, 457, 1593, 631, 903, 647, 590, + 1181, 458, 1635, 1553, 1098, 472, 473, 474, 622, 244, + 245, 1173, 944, 459, 1553, 161, 1209, 1553, 587, 460, + 461, 333, 840, 1096, 1553, 1102, 836, 1332, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 283, 1582, 1900, + 1000, 1818, 1686, 487, 488, 48, 1117, 462, 49, 52, + 463, 1078, 492, 1457, 1407, 848, 1327, 1602, 1166, 1860, + 1497, 899, 288, 1709, 0, 0, 0, 0, 0, 0, + 982, 0, 0, 0, 0, 464, 787, 465, 466, 0, + 0, 788, 0, 1360, 983, 0, 0, 467, 0, 0, + 0, 468, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1220, 1221, 1226, 0, 0, 1235, 1236, 1239, 0, + 1247, 1250, 1252, 1255, 1258, 1261, 0, 0, 0, 0, + 984, 0, 1265, 1266, 0, 1268, 0, 1270, 985, 0, + 1273, 1274, 1275, 1276, 1277, 1278, 986, 0, 0, 0, + 0, 0, 0, 0, 1224, 0, 469, 1282, 0, 0, + 1285, 0, 470, 0, 987, 0, 988, 0, 0, 0, + 0, 0, 471, 0, 0, 0, 0, 0, 0, 989, + 0, 990, 991, 992, 0, 0, 472, 473, 474, 475, + 244, 245, 115, 0, 116, 117, 118, 119, 0, 120, + 476, 0, 0, 0, 0, 0, 503, 121, 122, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 123, 486, + 0, 125, 0, 0, 487, 488, 0, 489, 490, 491, + 993, 128, 129, 492, 130, 0, 0, 131, 132, 133, + 134, 135, 0, 0, 0, 136, 137, 0, 0, 0, + 0, 138, 493, 140, 0, 494, 142, 143, 0, 144, + 0, 0, 0, 495, 496, 0, 0, 0, 0, 563, + 0, 498, 0, 0, 0, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 458, - 0, 499, 459, 0, 0, 0, 0, 0, 0, 1350, - 0, 0, 0, 0, 1445, 1446, 0, 1448, 1450, 0, - 0, 0, -1068, 0, 0, 1455, 0, 460, -1068, 461, - 462, 0, 0, -1068, 0, 0, -1068, 0, 0, 463, - 0, 0, 0, 464, 0, 1473, 0, 0, 0, 0, - 0, 0, 0, 1480, 1481, 1272, 0, 0, 0, 0, - 0, 1272, 0, 1275, 1488, 499, 1490, 0, 0, 0, - 0, 0, -1068, 0, 0, 0, 0, 0, 0, 0, - -1068, 0, 0, 0, 0, 0, 0, 0, -1068, 0, - 0, 0, 0, 0, 0, 0, 1214, 0, 465, 0, - 0, 0, 0, 0, 466, 0, -1068, 0, -1068, 0, - 0, 0, 0, 0, 467, 499, 0, 0, 0, 0, - 0, -1068, 0, -1068, -1068, -1068, 0, 0, 468, 469, - 470, 471, 242, 243, 114, 0, 115, 116, 117, 118, - 0, 119, 472, 0, 0, 0, 0, 1596, 0, 120, - 121, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 122, 482, 0, 124, 0, 0, 483, 484, 0, 485, - 486, 487, -1068, 127, 128, 488, 129, 0, 0, 130, - 131, 132, 133, 134, 0, 0, 0, 135, 136, 0, - 0, 0, 0, 137, 489, 139, 0, 490, 141, 142, - 0, 143, 361, 0, 0, 491, 492, 0, 0, 0, - 0, 559, 0, 494, 0, 1644, 0, 320, 362, 0, - 0, 1650, 0, 0, 0, 0, 1654, 0, 0, 363, - 0, 0, 0, 1659, 0, 90, 364, 0, 0, 0, - 365, 366, 91, 0, 0, 0, 92, 93, 0, 367, - 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, - 368, 0, 0, 0, 0, 0, 95, 0, 1272, 1272, - 0, 0, 0, 0, -1068, -1068, -1068, -1068, -1068, -1068, - -1068, 0, 0, 0, 0, 0, -1068, 0, -1068, 0, - 1697, 1227, 0, 0, 1213, 0, 0, 0, 453, 0, - 0, 0, 0, 0, 0, 454, 0, 0, 0, 0, - 0, 0, 0, 0, 369, 0, 0, 455, 0, 0, - 0, 0, 370, 456, 457, 0, -1069, 0, 96, 0, - 0, 0, -1069, 0, 0, 0, 0, -1069, 0, 0, - -1069, 0, 0, 0, 97, 0, 0, 0, 0, 0, - 0, 458, 0, 371, 459, 0, 0, 372, 0, 98, - 0, 0, 1741, 99, 0, 0, 0, 0, 373, 0, - 0, 0, 0, 0, 100, 0, -1069, 0, 0, 460, - 0, 461, 462, 0, -1069, 0, 0, 374, 375, 0, - 0, 463, -1069, 101, 0, 464, 0, 0, 0, 0, + 0, 0, 0, 0, 1233, 0, 0, 1223, 0, 0, + 0, 457, 0, 0, 0, 0, 0, 0, 458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1069, 0, -1069, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -1069, 0, -1069, -1069, -1069, - 0, 0, 0, 0, 0, 1791, 874, 0, 0, 0, - 0, 1796, 1797, 0, 0, 0, 376, 0, 1214, 377, - 465, 0, 102, 0, 0, 0, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 1811, 467, 0, 0, 0, - 1272, 0, 0, 1814, 0, 0, -1069, 1820, 1821, 0, - 468, 469, 470, 471, 242, 243, 114, 0, 115, 116, - 117, 118, 0, 119, 472, 0, 0, 0, 0, 0, - 0, 120, 121, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 122, 482, 0, 124, 0, 0, 483, 484, - 0, 485, 486, 487, 0, 127, 128, 488, 129, 0, - 0, 130, 131, 132, 133, 134, 0, 0, 0, 135, - 136, 1235, 0, 0, 1213, 137, 489, 139, 453, 490, - 141, 142, 0, 143, 0, 454, 0, 491, 492, 0, - 0, 0, 0, 559, 0, 494, 1862, 455, 0, 320, - 0, 0, 0, 456, 457, 0, 0, 0, -1069, -1069, - -1069, -1069, -1069, -1069, -1069, 0, 0, 0, 0, 0, - -1069, 0, -1069, 0, 0, 0, 0, 0, 0, 0, - 0, 458, 0, 0, 459, 0, 0, 113, 0, 0, - 114, 0, 115, 116, 117, 118, 0, 119, 0, 0, - 0, 0, 0, 0, 0, 120, 121, 0, 0, 460, - 1741, 461, 462, 0, 0, 0, 122, 123, 0, 124, - 0, 463, 0, 0, 0, 464, 125, 126, 0, 127, - 128, 0, 129, 0, 0, 130, 131, 132, 133, 134, - 0, 0, 0, 135, 136, 0, 0, 1909, 0, 137, - 138, 139, 0, 140, 141, 142, 0, 143, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 300, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1214, 0, - 465, 0, 0, 0, 0, 0, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 467, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 468, 469, 470, 471, 242, 243, 114, 0, 115, 116, - 117, 118, 0, 119, 472, 0, 0, 0, 0, 0, - 0, 120, 121, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 122, 482, 0, 124, 0, 0, 483, 484, - 0, 485, 486, 487, 0, 127, 128, 488, 129, 0, - 0, 130, 131, 132, 133, 134, 0, 0, 0, 135, - 136, 1238, 0, 0, 1213, 137, 489, 139, 453, 490, - 141, 142, 0, 143, 0, 454, 0, 491, 492, 0, - 0, 0, 0, 559, 0, 494, 0, 455, 0, 320, - 0, 0, 0, 456, 457, 0, 973, 0, 0, 0, - 0, 0, 781, 0, 0, 0, 0, 782, 0, 0, - 974, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 458, 0, 0, 459, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 975, 0, 0, 460, - 0, 461, 462, 0, 976, 0, 0, 0, 0, 0, - 0, 463, 977, 0, 0, 464, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 978, 0, 979, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 980, 0, 981, 982, 983, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 632, - 0, 0, 0, 0, 0, 0, 0, 0, 1214, 0, - 465, 0, 0, 0, 0, 0, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 467, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 984, 0, 0, 0, - 468, 469, 470, 471, 242, 243, 114, 0, 115, 116, - 117, 118, 0, 119, 472, 0, 0, 0, 0, 0, - 0, 120, 121, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 122, 482, 0, 124, 0, 0, 483, 484, - 0, 485, 486, 487, 0, 127, 128, 488, 129, 0, - 0, 130, 131, 132, 133, 134, 0, 0, 0, 135, - 136, 1243, 0, 0, 1213, 137, 489, 139, 453, 490, - 141, 142, 0, 143, 0, 454, 0, 491, 492, 0, - 0, 0, 0, 559, 0, 494, 0, 455, 0, 320, - 0, 0, 0, 456, 457, 0, 0, 0, 985, 986, - 987, 783, 784, 785, 786, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 458, 0, 0, 459, 0, 0, 113, 0, 0, - 114, 0, 115, 116, 117, 118, 0, 119, 0, 0, - 0, 0, 0, 0, 0, 120, 121, 0, 0, 460, - 0, 461, 462, 0, 0, 0, 122, 123, 0, 124, - 0, 463, 0, 0, 0, 464, 125, 126, 0, 127, - 128, 0, 129, 0, 0, 130, 131, 132, 133, 134, - 0, 0, 0, 135, 136, 0, 0, 0, 0, 137, - 138, 139, 0, 140, 141, 142, 0, 143, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 638, - 0, 0, 0, 0, 0, 0, 0, 0, 1214, 0, - 465, 0, 0, 0, 0, 0, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 467, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 468, 469, 470, 471, 242, 243, 114, 0, 115, 116, - 117, 118, 0, 119, 472, 0, 0, 0, 0, 0, - 0, 120, 121, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 122, 482, 0, 124, 0, 0, 483, 484, - 0, 485, 486, 487, 0, 127, 128, 488, 129, 0, - 0, 130, 131, 132, 133, 134, 0, 0, 0, 135, - 136, 1246, 0, 0, 1213, 137, 489, 139, 453, 490, - 141, 142, 0, 143, 0, 454, 0, 491, 492, 0, - 0, 0, 0, 559, 0, 494, 0, 455, 0, 320, - 0, 0, 0, 456, 457, 0, 0, 0, 0, 0, + 459, 0, 0, 0, 0, 0, 460, 461, 0, 0, + 0, 0, 994, 995, 996, 789, 790, 791, 792, 0, + 0, 0, 1039, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 462, 0, 503, 463, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1455, + 1456, 0, 1458, 1460, 0, 0, 0, 982, 0, 0, + 1465, 0, 464, 787, 465, 466, 0, 0, 788, 0, + 0, 983, 0, 0, 467, 0, 0, 0, 468, 0, + 1483, 0, 0, 0, 0, 0, 0, 0, 1490, 1491, + 1282, 0, 0, 0, 0, 0, 1282, 0, 1285, 1498, + 503, 1500, 0, 0, 0, 0, 0, 984, 0, 0, + 0, 0, 0, 0, 0, 985, 0, 0, 0, 0, + 0, 0, 0, 986, 0, 0, 0, 0, 0, 0, + 0, 1224, 0, 469, 0, 0, 0, 0, 0, 470, + 0, 987, 0, 988, 0, 0, 0, 0, 0, 471, + 503, 0, 0, 0, 0, 0, 989, 0, 990, 991, + 992, 0, 0, 472, 473, 474, 475, 244, 245, 115, + 0, 116, 117, 118, 119, 0, 120, 476, 0, 0, + 0, 0, 1606, 0, 121, 122, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 123, 486, 0, 125, 0, + 0, 487, 488, 0, 489, 490, 491, 993, 128, 129, + 492, 130, 0, 0, 131, 132, 133, 134, 135, 0, + 0, 0, 136, 137, 0, 0, 0, 0, 138, 493, + 140, 0, 494, 142, 143, 0, 144, 363, 0, 0, + 495, 496, 0, 0, 0, 0, 563, 0, 498, 0, + 1654, 0, 322, 364, 0, 0, 1660, 0, 0, 0, + 0, 1664, 0, 0, 365, 0, 0, 0, 1669, 0, + 0, 366, 0, 0, 0, 367, 368, 0, 0, 0, + 0, 0, 0, 0, 369, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 370, 0, 0, 0, 0, + 0, 0, 0, 1282, 1282, 0, 0, 0, 0, 994, + 995, 996, 789, 790, 791, 792, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1707, 1237, 0, 0, 1223, + 0, 0, 0, 457, 0, 0, 0, 0, 0, 0, + 458, 0, 0, 0, 0, 0, 0, 0, 0, 371, + 0, 0, 459, 0, 0, 0, 0, 372, 460, 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 458, 0, 0, 459, 0, 0, 113, 0, 0, - 114, 0, 115, 116, 117, 118, 0, 119, 0, 0, - 0, 0, 0, 0, 0, 120, 121, 0, 0, 460, - 0, 461, 462, 0, 0, 0, 122, 123, 0, 124, - 0, 463, 0, 0, 0, 464, 125, 126, 0, 127, - 128, 0, 129, 0, 0, 130, 131, 132, 133, 134, - 0, 0, 0, 135, 136, 0, 0, 0, 0, 137, - 138, 139, 0, 140, 141, 142, 0, 143, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1214, 1048, - 465, 0, 0, 0, 0, 0, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 467, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 468, 469, 470, 471, 242, 243, 114, 0, 115, 116, - 117, 118, 0, 119, 472, 0, 0, 0, 0, 0, - 0, 120, 121, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 122, 482, 0, 124, 0, 0, 483, 484, - 0, 485, 486, 487, 0, 127, 128, 488, 129, 0, - 0, 130, 131, 132, 133, 134, 0, 0, 0, 135, - 136, 1249, 0, 0, 1213, 137, 489, 139, 453, 490, - 141, 142, 0, 143, 0, 454, 0, 491, 492, 0, - 0, 0, 0, 559, 0, 494, 0, 455, 0, 320, - 0, 0, 0, 456, 457, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 462, 0, 373, 463, + 0, 0, 374, 0, 0, 0, 0, 1751, 0, 0, + 0, 0, 0, 375, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 464, 0, 465, 466, 0, 0, + 0, 0, 376, 377, 0, 0, 467, 0, 0, 0, + 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 458, 0, 0, 459, 0, 0, 0, 113, 0, - 0, 114, 0, 115, 116, 117, 118, 0, 119, 0, - 0, 0, 0, 0, 0, 0, 120, 121, 0, 460, - 0, 461, 462, 0, 0, 0, 0, 122, 123, 0, - 124, 463, 0, 0, 0, 464, 0, 125, 126, 0, - 127, 128, 0, 129, 0, 0, 130, 131, 132, 133, - 134, 0, 0, 0, 135, 136, 0, 0, 0, 0, - 137, 138, 139, 0, 140, 141, 142, 0, 143, 0, - 0, 0, 0, 0, 1049, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1214, 0, - 465, 0, 0, 0, 0, 0, 466, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 467, 0, 0, 0, - 0, 0, 0, 988, 0, 0, 0, 0, 0, 0, - 468, 469, 470, 471, 242, 243, 114, 0, 115, 116, - 117, 118, 0, 119, 472, 0, 989, 0, 0, 0, - 0, 120, 121, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 122, 482, 0, 124, 0, 453, 483, 484, - 0, 485, 486, 487, 454, 127, 128, 488, 129, 0, - 0, 130, 131, 132, 133, 134, 455, 0, 0, 135, - 136, 0, 456, 457, 0, 137, 489, 139, 0, 490, - 141, 142, 990, 143, 0, 0, 0, 491, 492, 0, - 0, 724, 0, 559, 0, 494, 0, 0, 0, 320, - 458, 0, 0, 459, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 113, 0, 0, 114, - 0, 115, 116, 117, 118, 0, 119, 0, 460, 0, - 461, 462, 0, 0, 120, 121, 0, 0, 0, 0, - 463, 0, 0, 0, 464, 122, 123, 0, 124, 0, - 0, 0, 963, 0, 0, 125, 126, 0, 127, 128, - 0, 129, 0, 0, 130, 131, 132, 133, 134, 0, - 0, 0, 135, 136, 0, 0, 0, 0, 137, 138, - 139, 0, 140, 141, 142, 0, 143, 0, 0, 14, - 0, 0, 0, 726, 0, 0, 0, 0, 0, 465, - 0, 0, 0, 0, 0, 466, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 467, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, - 469, 470, 471, 242, 243, 114, 0, 115, 116, 117, - 118, 0, 119, 472, 0, 0, 0, 0, 0, 0, - 120, 121, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 122, 482, 0, 124, 0, 0, 483, 484, 0, - 485, 486, 487, 0, 127, 128, 488, 129, 0, 0, - 130, 131, 132, 133, 134, 964, 965, 966, 135, 136, - 0, 0, 0, 0, 137, 489, 139, 453, 490, 141, - 142, 0, 143, 0, 454, 0, 491, 492, 0, 0, - 0, 0, 730, 14, 494, 0, 455, 0, 320, 723, - 0, 0, 456, 457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 724, 0, 0, 0, 0, 0, 0, 0, 0, - 458, 0, 0, 459, 0, 0, 113, 0, 0, 114, - 0, 115, 116, 117, 118, 0, 119, 0, 0, 0, - 0, 0, 0, 0, 120, 121, 0, 0, 460, 0, - 461, 462, 0, 0, 0, 122, 123, 0, 124, 0, - 463, 0, 0, 0, 464, 125, 126, 0, 127, 128, - 0, 129, 725, 0, 130, 131, 132, 133, 134, 0, - 0, 0, 135, 136, 0, 0, 0, 0, 137, 138, - 139, 0, 140, 141, 142, 0, 143, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1074, 0, 0, 0, - 0, 0, 0, 726, 0, 0, 0, 0, 0, 465, - 0, 0, 0, 0, 0, 466, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 467, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, - 469, 470, 471, 242, 243, 114, 0, 115, 116, 117, - 118, 0, 119, 472, 0, 0, 0, 0, 0, 0, - 120, 121, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 122, 482, 0, 124, 0, 453, 483, 484, 0, - 485, 486, 487, 454, 127, 128, 488, 129, 0, 0, - 130, 131, 727, 728, 729, 455, 0, 0, 135, 136, - 0, 456, 457, 0, 137, 489, 139, 0, 490, 141, - 142, 0, 143, 0, 0, 0, 491, 492, 541, 0, - 724, 0, 730, 0, 494, 0, 0, 0, 320, 458, - 0, 0, 459, 0, 0, 113, 0, 0, 114, 0, - 115, 116, 117, 118, 0, 119, 0, 0, 0, 0, - 0, 0, 0, 120, 121, 0, 0, 460, 0, 461, - 462, 0, 0, 0, 122, 123, 0, 124, 0, 463, - 0, 0, 0, 464, 125, 126, 0, 127, 128, 0, - 129, 959, 0, 130, 131, 132, 133, 134, 0, 0, - 0, 135, 136, 0, 0, 0, 0, 137, 138, 139, - 0, 140, 141, 142, 0, 143, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 726, 0, 0, 0, 0, 0, 465, 0, - 0, 0, 0, 0, 466, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 467, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 468, 469, - 470, 471, 242, 243, 114, 0, 115, 116, 117, 118, - 0, 119, 472, 0, 0, 0, 0, 0, 0, 120, - 121, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 122, 482, 0, 124, 0, 453, 483, 484, 0, 485, - 486, 487, 454, 127, 128, 488, 129, 0, 0, 130, - 131, 727, 728, 729, 455, 0, 0, 135, 136, 0, - 456, 457, 0, 137, 489, 139, 0, 490, 141, 142, - 0, 143, 0, 0, 0, 491, 492, 0, 0, 724, - 0, 730, 0, 494, 0, 0, 0, 320, 458, 0, - 0, 459, 0, 0, 113, 0, 0, 114, 0, 115, - 116, 117, 118, 0, 119, 0, 0, 0, 0, 0, - 0, 0, 120, 121, 0, 0, 460, 0, 461, 462, - 0, 0, 0, 122, 123, 0, 124, 0, 463, 0, - 0, 0, 464, 125, 126, 0, 127, 128, 0, 129, - 725, 0, 130, 131, 132, 133, 134, 0, 0, 0, - 135, 136, 0, 0, 0, 0, 137, 138, 139, 0, - 140, 141, 142, 0, 143, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1032, 0, 494, 0, 0, 0, - 0, 726, 0, 0, 0, 0, 0, 465, 0, 0, - 0, 0, 0, 466, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 467, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 468, 469, 470, - 471, 242, 243, 114, 0, 115, 116, 117, 118, 0, - 119, 472, 0, 0, 0, 0, 0, 0, 120, 121, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 122, - 482, 0, 124, 0, 453, 483, 484, 0, 485, 486, - 487, 454, 127, 128, 488, 129, 0, 0, 130, 131, - 727, 728, 729, 455, 0, 0, 135, 136, 0, 456, - 457, 0, 137, 489, 139, 0, 490, 141, 142, 0, - 143, 0, 0, 0, 491, 492, 0, 0, 724, 0, - 730, 0, 494, 0, 0, 0, 320, 458, 0, 0, - 459, 0, 0, 113, 0, 0, 114, 0, 115, 116, - 117, 118, 0, 119, 0, 0, 0, 0, 0, 0, - 0, 120, 121, 0, 0, 460, 0, 461, 462, 0, - 0, 0, 122, 123, 0, 124, 0, 463, 0, 0, - 0, 464, 125, 126, 0, 127, 128, 0, 129, 959, - 0, 130, 131, 132, 133, 134, 0, 0, 0, 135, - 136, 0, 0, 0, 0, 137, 138, 139, 0, 140, - 141, 142, 0, 143, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 494, 0, 0, 0, 0, - 726, 0, 0, 0, 0, 0, 465, 0, 0, 0, - 0, 0, 466, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 467, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 468, 469, 470, 471, - 242, 243, 114, 0, 115, 116, 117, 118, 0, 119, - 472, 0, 0, 0, 0, 0, 0, 120, 121, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 122, 482, - 0, 124, 0, 453, 483, 484, 0, 485, 486, 487, - 454, 127, 128, 488, 129, 0, 0, 130, 131, 132, - 133, 134, 455, 0, 0, 135, 136, 0, 456, 457, - 0, 137, 489, 139, 0, 490, 141, 142, 0, 143, - 0, 0, 0, 491, 492, 0, 0, 0, 0, 730, - 0, 494, 0, 0, 0, 320, 458, 0, 0, 459, - 0, 0, 113, 0, 0, 114, 0, 115, 116, 117, - 118, 0, 119, 0, 0, 0, 0, 0, 0, 0, - 120, 121, 0, 0, 460, 0, 461, 462, 0, 0, - 0, 122, 123, 0, 124, 0, 463, 0, 0, 0, - 464, 125, 126, 0, 127, 128, 0, 129, 0, 0, - 130, 131, 132, 133, 134, 0, 0, 0, 135, 136, - 0, 0, 0, 0, 137, 138, 139, 0, 140, 141, - 142, 0, 143, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1074, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 465, 0, 0, 0, 0, - 0, 466, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 467, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 468, 469, 470, 471, 242, - 243, 114, 0, 115, 116, 117, 118, 0, 119, 472, - 0, 0, 0, 0, 0, 0, 120, 121, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 122, 482, 0, - 124, 0, 453, 483, 484, 0, 485, 486, 487, 454, - 127, 128, 488, 129, 0, 0, 130, 131, 132, 133, - 134, 455, 0, 0, 135, 136, 0, 456, 457, 0, - 137, 489, 139, 0, 490, 141, 142, 0, 143, 0, - 0, 0, 491, 492, 564, 0, 0, 0, 559, 0, - 494, 0, 0, 0, 320, 458, 0, 0, 459, 0, - 0, 113, 0, 0, 114, 0, 115, 116, 117, 118, - 0, 119, 0, 0, 0, 0, 0, 0, 0, 120, - 121, 0, 0, 460, 0, 461, 462, 0, 0, 0, - 122, 123, 0, 124, 0, 463, 0, 0, 0, 464, - 125, 126, 0, 127, 128, 0, 129, 0, 0, 130, - 131, 132, 133, 134, 0, 0, 0, 135, 136, 0, - 0, 0, 0, 137, 138, 139, 0, 140, 141, 142, - 0, 143, 0, 0, 0, 0, 0, 0, 0, -340, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 465, 0, 0, 0, 0, 0, - 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 467, 0, 0, 0, 0, 0, 0, 0, 762, 0, - 0, 0, 0, 0, 468, 469, 470, 471, 242, 243, - 114, 0, 115, 116, 117, 118, 0, 119, 472, 0, - 0, 0, 0, 0, 0, 120, 121, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 122, 482, 0, 124, - 0, 453, 483, 484, 0, 485, 486, 487, 454, 127, - 128, 488, 129, 0, 0, 130, 131, 132, 133, 134, - 455, 0, 0, 135, 136, 0, 456, 457, 0, 137, - 489, 139, 0, 490, 141, 142, 0, 143, 0, 0, - 0, 491, 492, 0, 0, 0, 0, 559, 0, 494, - 0, 0, 0, 320, 458, 0, 0, 459, 82, 0, - 113, 0, 0, 114, 0, 115, 116, 117, 118, 0, - 119, 0, 0, 0, 0, 0, 0, 0, 120, 121, - 0, 0, 460, 0, 461, 462, 0, 0, 0, 122, - 123, 0, 124, 0, 463, 0, 0, 0, 464, 125, - 126, 0, 127, 128, 0, 129, 0, 0, 130, 131, - 132, 133, 134, 0, 0, 0, 135, 136, 0, 0, - 0, 0, 137, 138, 139, 0, 140, 141, 142, 0, - 143, 0, 0, 0, 0, 83, 0, 0, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 465, 0, 0, 0, 0, 0, 466, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 468, 469, 470, 471, 242, 243, 114, - 0, 115, 116, 117, 118, 0, 119, 472, 0, 0, - 0, 0, 0, 0, 120, 121, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 122, 482, 0, 124, 0, - 453, 483, 484, 0, 485, 486, 487, 454, 127, 128, - 488, 129, 0, 0, 130, 131, 132, 133, 134, 455, - 0, 0, 135, 136, 0, 456, 457, 0, 137, 489, - 139, 0, 490, 141, 142, 0, 143, 0, 0, 0, - 491, 492, 0, 0, 0, 0, 559, 0, 494, 0, - 0, 0, 320, 458, 0, 0, 459, 0, 0, 113, - 0, 0, 114, 0, 115, 116, 117, 118, 0, 119, - 0, 0, 0, 0, 0, 0, 0, 120, 121, 0, - 0, 460, 0, 461, 462, 0, 0, 0, 122, 123, - 0, 124, 0, 463, 0, 0, 0, 464, 125, 126, - 0, 127, 128, 0, 129, 0, 0, 130, 131, 132, - 133, 134, 0, 0, 0, 135, 136, 0, 0, 0, - 0, 137, 138, 139, 0, 140, 141, 142, 0, 143, - 0, 0, 0, 0, 0, 1049, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 465, 0, 0, 0, 0, 0, 466, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 468, 469, 470, 471, 242, 243, 114, 0, - 115, 116, 117, 118, 0, 119, 472, 0, 0, 0, - 0, 0, 0, 120, 121, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 122, 482, 0, 124, 0, 453, - 483, 484, 0, 485, 486, 487, 454, 127, 128, 488, - 129, 0, 0, 130, 131, 132, 133, 134, 455, 0, - 0, 135, 136, 0, 456, 457, 0, 137, 489, 139, - 0, 490, 141, 142, 0, 143, 0, 0, 0, 491, - 492, 0, 0, 0, 0, 559, 1046, 494, 0, 0, - 0, 320, 458, 0, 0, 459, 0, 0, 113, 0, - 0, 114, 0, 115, 116, 117, 118, 0, 119, 0, - 0, 0, 0, 0, 0, 0, 120, 121, 0, 0, - 460, 0, 461, 462, 0, 0, 0, 122, 123, 0, - 124, 0, 463, 0, 0, 0, 464, 125, 126, 0, - 127, 128, 0, 129, 0, 0, 130, 131, 132, 133, - 134, 0, 0, 0, 135, 136, 0, 0, 0, 0, - 137, 138, 139, 0, 140, 141, 142, 0, 143, 0, + 1801, 883, 0, 0, 0, 0, 1806, 1807, 0, 0, + 0, 378, 0, 1224, 379, 469, 0, 0, 0, 0, + 0, 470, 0, 0, 0, 0, 0, 0, 0, 0, + 1821, 471, 0, 0, 0, 1282, 0, 0, 1824, 0, + 0, 0, 1830, 1831, 0, 472, 473, 474, 475, 244, + 245, 115, 0, 116, 117, 118, 119, 0, 120, 476, + 0, 0, 0, 0, 0, 0, 121, 122, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 123, 486, 0, + 125, 0, 0, 487, 488, 0, 489, 490, 491, 0, + 128, 129, 492, 130, 0, 0, 131, 132, 133, 134, + 135, 0, 0, 0, 136, 137, 1245, 0, 0, 1223, + 138, 493, 140, 457, 494, 142, 143, 0, 144, 0, + 458, 0, 495, 496, 0, 0, 0, 0, 563, 0, + 498, 1872, 459, 0, 322, 0, 0, 0, 460, 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 465, 0, 0, 0, 0, 0, 466, 0, 0, + 0, 0, 0, 0, 0, 0, 462, 0, 0, 463, + 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, + 119, 0, 120, 0, 0, 0, 0, 0, 0, 0, + 121, 122, 0, 0, 464, 1751, 465, 466, 0, 0, + 0, 123, 124, 0, 125, 0, 467, 0, 0, 0, + 468, 126, 127, 0, 128, 129, 0, 130, 0, 0, + 131, 132, 133, 134, 135, 0, 0, 0, 136, 137, + 0, 0, 1919, 0, 138, 139, 140, 0, 141, 142, + 143, 0, 144, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 302, 0, 638, 0, 0, 0, 0, 0, + 0, 0, 0, 1224, 0, 469, 0, 0, 0, 0, + 0, 470, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 471, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 472, 473, 474, 475, 244, + 245, 115, 0, 116, 117, 118, 119, 0, 120, 476, + 0, 0, 0, 0, 0, 0, 121, 122, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 123, 486, 0, + 125, 0, 0, 487, 488, 0, 489, 490, 491, 0, + 128, 129, 492, 130, 0, 0, 131, 132, 133, 134, + 135, 0, 0, 0, 136, 137, 1248, 0, 0, 1223, + 138, 493, 140, 457, 494, 142, 143, 0, 144, 0, + 458, 0, 495, 496, 0, 0, 0, 0, 563, 0, + 498, 0, 459, 0, 322, 0, 0, 0, 460, 461, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 462, 0, 0, 463, + 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, + 119, 0, 120, 0, 0, 0, 0, 0, 0, 0, + 121, 122, 0, 0, 464, 0, 465, 466, 0, 0, + 0, 123, 124, 0, 125, 0, 467, 0, 0, 0, + 468, 126, 127, 0, 128, 129, 0, 130, 0, 0, + 131, 132, 133, 134, 135, 0, 0, 0, 136, 137, + 0, 0, 0, 0, 138, 139, 140, 0, 141, 142, + 143, 0, 144, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 644, 0, 0, 0, 0, 0, + 0, 0, 0, 1224, 0, 469, 0, 0, 0, 0, + 0, 470, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 471, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 472, 473, 474, 475, 244, + 245, 115, 0, 116, 117, 118, 119, 0, 120, 476, + 0, 0, 0, 0, 0, 0, 121, 122, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 123, 486, 0, + 125, 0, 0, 487, 488, 0, 489, 490, 491, 0, + 128, 129, 492, 130, 0, 0, 131, 132, 133, 134, + 135, 0, 0, 0, 136, 137, 1253, 0, 0, 1223, + 138, 493, 140, 457, 494, 142, 143, 0, 144, 0, + 458, 0, 495, 496, 0, 0, 0, 0, 563, 0, + 498, 0, 459, 0, 322, 0, 0, 0, 460, 461, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 462, 0, 0, 463, + 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, + 119, 0, 120, 0, 0, 0, 0, 0, 0, 0, + 121, 122, 0, 0, 464, 0, 465, 466, 0, 0, + 0, 123, 124, 0, 125, 0, 467, 0, 0, 0, + 468, 126, 127, 0, 128, 129, 0, 130, 0, 0, + 131, 132, 133, 134, 135, 0, 0, 0, 136, 137, + 0, 0, 0, 0, 138, 139, 140, 0, 141, 142, + 143, 0, 144, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1224, 1057, 469, 0, 0, 0, 0, + 0, 470, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 471, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 472, 473, 474, 475, 244, + 245, 115, 0, 116, 117, 118, 119, 0, 120, 476, + 0, 0, 0, 0, 0, 0, 121, 122, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 123, 486, 0, + 125, 0, 0, 487, 488, 0, 489, 490, 491, 0, + 128, 129, 492, 130, 0, 0, 131, 132, 133, 134, + 135, 0, 0, 0, 136, 137, 1256, 0, 0, 1223, + 138, 493, 140, 457, 494, 142, 143, 0, 144, 0, + 458, 0, 495, 496, 0, 0, 0, 0, 563, 0, + 498, 0, 459, 0, 322, 0, 0, 0, 460, 461, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 462, 0, 0, 463, + 0, 0, 0, 114, 0, 0, 115, 0, 116, 117, + 118, 119, 0, 120, 0, 0, 0, 0, 0, 0, + 0, 121, 122, 0, 464, 0, 465, 466, 0, 0, + 0, 0, 123, 124, 0, 125, 467, 0, 0, 0, + 468, 0, 126, 127, 0, 128, 129, 0, 130, 0, + 0, 131, 132, 133, 134, 135, 0, 0, 0, 136, + 137, 0, 0, 0, 0, 138, 139, 140, 0, 141, + 142, 143, 0, 144, 0, 0, 0, 0, 0, 1058, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1224, 0, 469, 0, 0, 0, 0, + 0, 470, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 471, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 472, 473, 474, 475, 244, + 245, 115, 0, 116, 117, 118, 119, 0, 120, 476, + 0, 0, 0, 0, 0, 0, 121, 122, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 123, 486, 0, + 125, 0, 0, 487, 488, 0, 489, 490, 491, 0, + 128, 129, 492, 130, 0, 0, 131, 132, 133, 134, + 135, 0, 0, 0, 136, 137, 1259, 0, 0, 1223, + 138, 493, 140, 457, 494, 142, 143, 0, 144, 0, + 458, 0, 495, 496, 0, 0, 0, 0, 563, 14, + 498, 0, 459, 0, 322, 0, 0, 0, 460, 461, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 462, 0, 0, 463, + 0, 0, 114, 0, 0, 115, 0, 116, 117, 118, + 119, 0, 120, 0, 0, 0, 0, 0, 0, 0, + 121, 122, 0, 0, 464, 0, 465, 466, 0, 0, + 0, 123, 124, 0, 125, 0, 467, 0, 0, 0, + 468, 126, 127, 0, 128, 129, 0, 130, 0, 0, + 131, 132, 133, 134, 135, 0, 0, 0, 136, 137, + 0, 0, 0, 0, 138, 139, 140, 0, 141, 142, + 143, 0, 144, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1083, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1224, 0, 469, 0, 0, 0, 0, + 0, 470, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 471, 0, 0, 0, 0, 0, 0, 997, 0, + 0, 0, 0, 0, 0, 472, 473, 474, 475, 244, + 245, 115, 0, 116, 117, 118, 119, 0, 120, 476, + 0, 998, 0, 0, 0, 0, 121, 122, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 123, 486, 0, + 125, 0, 457, 487, 488, 0, 489, 490, 491, 458, + 128, 129, 492, 130, 0, 0, 131, 132, 133, 134, + 135, 459, 0, 0, 136, 137, 0, 460, 461, 0, + 138, 493, 140, 0, 494, 142, 143, 999, 144, 0, + 0, 0, 495, 496, 0, 0, 730, 0, 563, 0, + 498, 0, 0, 0, 322, 462, 0, 0, 463, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, + 0, 120, 0, 464, 0, 465, 466, 0, 0, 121, + 122, 0, 0, 0, 0, 467, 0, 0, 0, 468, + 123, 124, 0, 125, 0, 0, 0, 972, 0, 0, + 126, 127, 0, 128, 129, 0, 130, 0, 0, 131, + 132, 133, 134, 135, 0, 0, 0, 136, 137, 0, + 0, 0, 0, 138, 139, 140, 0, 141, 142, 143, + 0, 144, 0, 0, 14, 0, 0, 0, 732, 0, + 0, 0, 0, 0, 469, 0, 0, 0, 0, 0, + 470, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 471, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 472, 473, 474, 475, 244, 245, + 115, 0, 116, 117, 118, 119, 0, 120, 476, 0, + 0, 0, 0, 0, 0, 121, 122, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 123, 486, 0, 125, + 0, 0, 487, 488, 0, 489, 490, 491, 0, 128, + 129, 492, 130, 0, 0, 131, 132, 133, 134, 135, + 973, 974, 975, 136, 137, 0, 0, 0, 0, 138, + 493, 140, 457, 494, 142, 143, 0, 144, 0, 458, + 0, 495, 496, 0, 0, 0, 0, 736, 0, 498, + 0, 459, 0, 322, 729, 0, 0, 460, 461, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 545, 0, 730, 0, 0, 0, + 0, 0, 0, 0, 0, 462, 0, 0, 463, 0, + 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, + 0, 120, 0, 0, 0, 0, 0, 0, 0, 121, + 122, 0, 0, 464, 0, 465, 466, 0, 0, 0, + 123, 124, 0, 125, 0, 467, 0, 0, 0, 468, + 126, 127, 0, 128, 129, 0, 130, 731, 0, 131, + 132, 133, 134, 135, 0, 0, 0, 136, 137, 0, + 0, 0, 0, 138, 139, 140, 0, 141, 142, 143, + 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 732, 0, + 0, 0, 0, 0, 469, 0, 0, 0, 0, 0, + 470, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 471, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 472, 473, 474, 475, 244, 245, + 115, 0, 116, 117, 118, 119, 0, 120, 476, 0, + 0, 0, 0, 0, 0, 121, 122, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 123, 486, 0, 125, + 0, 457, 487, 488, 0, 489, 490, 491, 458, 128, + 129, 492, 130, 0, 0, 131, 132, 733, 734, 735, + 459, 0, 0, 136, 137, 0, 460, 461, 0, 138, + 493, 140, 0, 494, 142, 143, 0, 144, 0, 0, + 0, 495, 496, 0, 0, 730, 0, 736, 0, 498, + 0, 0, 0, 322, 462, 0, 0, 463, 0, 0, + 114, 0, 0, 115, 0, 116, 117, 118, 119, 0, + 120, 0, 0, 0, 0, 0, 0, 0, 121, 122, + 0, 0, 464, 0, 465, 466, 0, 0, 0, 123, + 124, 0, 125, 0, 467, 0, 0, 0, 468, 126, + 127, 0, 128, 129, 0, 130, 968, 0, 131, 132, + 133, 134, 135, 0, 0, 0, 136, 137, 0, 0, + 0, 0, 138, 139, 140, 0, 141, 142, 143, 0, + 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1041, 0, 498, 0, 0, 0, 0, 732, 0, 0, + 0, 0, 0, 469, 0, 0, 0, 0, 0, 470, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 472, 473, 474, 475, 244, 245, 115, + 0, 116, 117, 118, 119, 0, 120, 476, 0, 0, + 0, 0, 0, 0, 121, 122, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 123, 486, 0, 125, 0, + 457, 487, 488, 0, 489, 490, 491, 458, 128, 129, + 492, 130, 0, 0, 131, 132, 733, 734, 735, 459, + 0, 0, 136, 137, 0, 460, 461, 0, 138, 493, + 140, 0, 494, 142, 143, 0, 144, 0, 0, 0, + 495, 496, 0, 0, 730, 0, 736, 0, 498, 0, + 0, 0, 322, 462, 0, 0, 463, 0, 0, 114, + 0, 0, 115, 0, 116, 117, 118, 119, 0, 120, + 0, 0, 0, 0, 0, 0, 0, 121, 122, 0, + 0, 464, 0, 465, 466, 0, 0, 0, 123, 124, + 0, 125, 0, 467, 0, 0, 0, 468, 126, 127, + 0, 128, 129, 0, 130, 731, 0, 131, 132, 133, + 134, 135, 0, 0, 0, 136, 137, 0, 0, 0, + 0, 138, 139, 140, 0, 141, 142, 143, 0, 144, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 498, 0, 0, 0, 0, 732, 0, 0, 0, + 0, 0, 469, 0, 0, 0, 0, 0, 470, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 472, 473, 474, 475, 244, 245, 115, 0, + 116, 117, 118, 119, 0, 120, 476, 0, 0, 0, + 0, 0, 0, 121, 122, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 123, 486, 0, 125, 0, 457, + 487, 488, 0, 489, 490, 491, 458, 128, 129, 492, + 130, 0, 0, 131, 132, 733, 734, 735, 459, 0, + 0, 136, 137, 0, 460, 461, 0, 138, 493, 140, + 0, 494, 142, 143, 0, 144, 0, 0, 0, 495, + 496, 0, 0, 730, 0, 736, 0, 498, 0, 0, + 0, 322, 462, 0, 0, 463, 0, 0, 114, 0, + 0, 115, 0, 116, 117, 118, 119, 0, 120, 0, + 0, 0, 0, 0, 0, 0, 121, 122, 0, 0, + 464, 0, 465, 466, 0, 0, 0, 123, 124, 0, + 125, 0, 467, 0, 0, 0, 468, 126, 127, 0, + 128, 129, 0, 130, 968, 0, 131, 132, 133, 134, + 135, 0, 0, 0, 136, 137, 0, 0, 0, 0, + 138, 139, 140, 0, 141, 142, 143, 0, 144, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1083, 0, + 0, 0, 0, 0, 0, 732, 0, 0, 0, 0, + 0, 469, 0, 0, 0, 0, 0, 470, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 472, 473, 474, 475, 244, 245, 115, 0, 116, + 117, 118, 119, 0, 120, 476, 0, 0, 0, 0, + 0, 0, 121, 122, 477, 478, 479, 480, 481, 482, + 483, 484, 485, 123, 486, 0, 125, 0, 457, 487, + 488, 0, 489, 490, 491, 458, 128, 129, 492, 130, + 0, 0, 131, 132, 133, 134, 135, 459, 0, 0, + 136, 137, 0, 460, 461, 0, 138, 493, 140, 0, + 494, 142, 143, 0, 144, 0, 0, 0, 495, 496, + 0, 0, 0, 0, 736, 0, 498, 0, 0, 0, + 322, 462, 0, 0, 463, 0, 0, 114, 0, 0, + 115, 0, 116, 117, 118, 119, 0, 120, 0, 0, + 0, 0, 0, 0, 0, 121, 122, 0, 0, 464, + 0, 465, 466, 0, 0, 0, 123, 124, 0, 125, + 0, 467, 0, 0, 0, 468, 126, 127, 0, 128, + 129, 0, 130, 0, 0, 131, 132, 133, 134, 135, + 0, 0, 0, 136, 137, 0, 0, 0, 0, 138, + 139, 140, 0, 141, 142, 143, 0, 144, 0, 0, + 0, 0, 0, 0, 0, -340, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 469, 0, 0, 0, 0, 0, 470, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 471, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 472, 473, 474, 475, 244, 245, 115, 0, 116, 117, + 118, 119, 0, 120, 476, 0, 0, 0, 0, 0, + 0, 121, 122, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 123, 486, 0, 125, 0, 457, 487, 488, + 0, 489, 490, 491, 458, 128, 129, 492, 130, 0, + 0, 131, 132, 133, 134, 135, 459, 0, 0, 136, + 137, 0, 460, 461, 0, 138, 493, 140, 0, 494, + 142, 143, 0, 144, 0, 0, 0, 495, 496, 568, + 0, 0, 0, 563, 0, 498, 0, 0, 0, 322, + 462, 0, 0, 463, 83, 0, 114, 0, 0, 115, + 0, 116, 117, 118, 119, 0, 120, 0, 0, 0, + 0, 0, 0, 0, 121, 122, 0, 0, 464, 0, + 465, 466, 0, 0, 0, 123, 124, 0, 125, 0, + 467, 0, 0, 0, 468, 126, 127, 0, 128, 129, + 0, 130, 0, 0, 131, 132, 133, 134, 135, 0, + 0, 0, 136, 137, 0, 0, 0, 0, 138, 139, + 140, 0, 141, 142, 143, 0, 144, 0, 0, 0, + 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, + 0, 0, 0, 0, 0, 470, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 471, 0, 0, 0, 0, + 0, 0, 0, 768, 0, 0, 0, 0, 0, 472, + 473, 474, 475, 244, 245, 115, 0, 116, 117, 118, + 119, 0, 120, 476, 0, 0, 0, 0, 0, 0, + 121, 122, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 123, 486, 0, 125, 0, 457, 487, 488, 0, + 489, 490, 491, 458, 128, 129, 492, 130, 0, 0, + 131, 132, 133, 134, 135, 459, 0, 0, 136, 137, + 0, 460, 461, 0, 138, 493, 140, 0, 494, 142, + 143, 0, 144, 0, 0, 0, 495, 496, 0, 0, + 0, 0, 563, 0, 498, 0, 0, 0, 322, 462, + 0, 0, 463, 0, 0, 114, 0, 0, 115, 0, + 116, 117, 118, 119, 0, 120, 0, 0, 0, 0, + 0, 0, 0, 121, 122, 0, 0, 464, 0, 465, + 466, 0, 0, 0, 123, 124, 0, 125, 0, 467, + 0, 0, 0, 468, 126, 127, 0, 128, 129, 0, + 130, 0, 0, 131, 132, 133, 134, 135, 0, 0, + 0, 136, 137, 0, 0, 0, 0, 138, 139, 140, + 0, 141, 142, 143, 0, 144, 0, 0, 0, 0, + 0, 1058, 0, 0, 0, 0, 0, 0, 14, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 469, 0, + 0, 0, 0, 0, 470, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 471, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 472, 473, + 474, 475, 244, 245, 115, 0, 116, 117, 118, 119, + 0, 120, 476, 0, 0, 0, 0, 0, 0, 121, + 122, 477, 478, 479, 480, 481, 482, 483, 484, 485, + 123, 486, 0, 125, 0, 457, 487, 488, 0, 489, + 490, 491, 458, 128, 129, 492, 130, 0, 0, 131, + 132, 133, 134, 135, 459, 0, 0, 136, 137, 0, + 460, 461, 0, 138, 493, 140, 0, 494, 142, 143, + 0, 144, 0, 0, 0, 495, 496, 0, 0, 0, + 0, 563, 0, 498, 0, 0, 0, 322, 462, 0, + 0, 463, 0, 0, 114, 0, 0, 115, 0, 116, + 117, 118, 119, 0, 120, 0, 0, 0, 0, 0, + 0, 0, 121, 122, 0, 0, 464, 0, 465, 466, + 0, 0, 0, 123, 124, 0, 125, 0, 467, 0, + 0, 0, 468, 126, 127, 0, 128, 129, 0, 130, + 0, 0, 131, 132, 133, 134, 135, 0, 0, 0, + 136, 137, 0, 0, 0, 0, 138, 139, 140, 0, + 141, 142, 143, 0, 144, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 469, 0, 0, + 0, 0, 0, 470, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 471, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 472, 473, 474, + 475, 244, 245, 115, 0, 116, 117, 118, 119, 0, + 120, 476, 0, 0, 0, 0, 0, 0, 121, 122, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 123, + 486, 0, 125, 0, 457, 487, 488, 0, 489, 490, + 491, 458, 128, 129, 492, 130, 0, 0, 131, 132, + 133, 134, 135, 459, 0, 0, 136, 137, 0, 460, + 461, 0, 138, 493, 140, 0, 494, 142, 143, 0, + 144, 0, 0, 0, 495, 496, 0, 0, 0, 0, + 563, 1055, 498, 0, 0, 0, 322, 462, 0, 0, + 463, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 464, 0, 465, 466, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1241, 0, - 0, 468, 469, 470, 471, 242, 243, 114, 0, 115, - 116, 117, 118, 0, 119, 472, 0, 0, 0, 0, - 0, 0, 120, 121, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 122, 482, 0, 124, 0, 453, 483, - 484, 0, 485, 486, 487, 454, 127, 128, 488, 129, - 0, 0, 130, 131, 132, 133, 134, 455, 0, 0, - 135, 136, 0, 456, 457, 0, 137, 489, 139, 0, - 490, 141, 142, 0, 143, 0, 0, 0, 491, 492, - 0, 0, 0, 0, 559, 0, 494, 0, 0, 0, - 320, 458, 0, 0, 459, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, - 0, 461, 462, 0, 0, 0, 0, 0, 0, 0, - 0, 463, 0, 0, 0, 464, 0, 0, 0, 0, + 0, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 469, 0, 0, 0, + 0, 0, 470, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 471, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1251, 0, 0, 472, 473, 474, 475, + 244, 245, 115, 0, 116, 117, 118, 119, 0, 120, + 476, 0, 0, 0, 0, 0, 0, 121, 122, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 123, 486, + 0, 125, 0, 457, 487, 488, 0, 489, 490, 491, + 458, 128, 129, 492, 130, 0, 0, 131, 132, 133, + 134, 135, 459, 0, 0, 136, 137, 0, 460, 461, + 0, 138, 493, 140, 0, 494, 142, 143, 0, 144, + 0, 0, 0, 495, 496, 0, 0, 0, 0, 563, + 0, 498, 0, 0, 0, 322, 462, 0, 0, 463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 465, 0, 0, 0, 0, 0, 466, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 464, 0, 465, 466, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1449, 0, 0, - 468, 469, 470, 471, 242, 243, 114, 0, 115, 116, - 117, 118, 0, 119, 472, 0, 0, 0, 0, 0, - 0, 120, 121, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 122, 482, 0, 124, 0, 453, 483, 484, - 0, 485, 486, 487, 454, 127, 128, 488, 129, 0, - 0, 130, 131, 132, 133, 134, 455, 0, 0, 135, - 136, 0, 456, 457, 0, 137, 489, 139, 0, 490, - 141, 142, 0, 143, 0, 0, 0, 491, 492, 0, - 0, 0, 0, 559, 0, 494, 0, 0, 0, 320, - 458, 0, 0, 459, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 460, 0, - 461, 462, 0, 0, 0, 0, 0, 0, 0, 0, - 463, 0, 0, 0, 464, 0, 0, 0, 0, 0, + 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 465, - 0, 0, 0, 0, 0, 466, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 467, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, - 469, 470, 471, 242, 243, 114, 0, 115, 116, 117, - 118, 0, 119, 472, 0, 0, 0, 0, 0, 0, - 120, 121, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 122, 482, 0, 124, 0, 453, 483, 484, 0, - 485, 486, 487, 454, 127, 128, 488, 129, 0, 0, - 130, 131, 132, 133, 134, 455, 0, 0, 135, 136, - 0, 456, 457, 0, 137, 489, 139, 0, 490, 141, - 142, 0, 143, 0, 0, 0, 491, 492, 0, 0, - 0, 0, 493, 0, 494, 0, 0, 0, 320, 458, - 0, 0, 459, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 469, 0, 0, 0, 0, + 0, 470, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 471, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1459, 0, 0, 472, 473, 474, 475, 244, + 245, 115, 0, 116, 117, 118, 119, 0, 120, 476, + 0, 0, 0, 0, 0, 0, 121, 122, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 123, 486, 0, + 125, 0, 457, 487, 488, 0, 489, 490, 491, 458, + 128, 129, 492, 130, 0, 0, 131, 132, 133, 134, + 135, 459, 0, 0, 136, 137, 0, 460, 461, 0, + 138, 493, 140, 0, 494, 142, 143, 0, 144, 0, + 0, 0, 495, 496, 0, 0, 0, 0, 563, 0, + 498, 0, 0, 0, 322, 462, 0, 0, 463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 460, 0, 461, - 462, 0, 0, 0, 0, 0, 0, 0, 0, 463, - 0, 0, 0, 464, 0, 0, 0, 106, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 464, 0, 465, 466, 0, 0, 0, + 0, 0, 0, 0, 0, 467, 0, 0, 0, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 107, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 108, 465, 0, - 0, 0, 0, 0, 466, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 467, 0, 0, 0, 0, 0, - 0, 109, 0, 0, 0, 0, 0, 0, 468, 469, - 470, 471, 242, 243, 114, 0, 115, 116, 117, 118, - 0, 119, 472, 0, 0, 0, 0, 0, 0, 120, - 121, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 122, 482, 0, 124, 0, 0, 483, 484, 0, 485, - 486, 487, 0, 127, 128, 488, 129, 0, 0, 130, - 131, 132, 133, 134, 0, 0, 110, 135, 136, 0, - 1294, 0, 0, 137, 489, 139, 111, 490, 141, 142, - 0, 143, 0, 0, 0, 491, 492, 0, 0, 0, - 0, 559, 0, 494, 0, 0, 0, 320, 6, 0, - 0, 112, 0, 0, 0, -294, 0, 0, 0, 1501, - 1502, 0, 1503, 0, 0, 0, 0, 0, 0, 113, - 0, 0, 114, 0, 115, 116, 117, 118, 1504, 119, - 0, 0, 0, 0, 1505, 0, 0, 120, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 122, 123, - 0, 124, 0, 0, 0, 0, 0, 0, 125, 126, - 0, 127, 128, 0, 129, 0, 0, 130, 131, 132, - 133, 134, 0, 0, 0, 135, 136, 0, 1294, 0, - 0, 137, 138, 139, 0, 140, 141, 142, 0, 143, - 0, 1506, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 0, 0, 14, - 0, 0, 0, -296, 0, 0, 0, 1501, 1502, 0, - 1503, 0, 0, 0, 1507, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 16, 0, 1504, 0, 0, 0, - 0, 0, 1505, 1705, 0, 0, 0, 0, 0, 0, - 0, 0, 471, 0, 0, 114, 0, 115, 116, 117, - 118, 0, 119, 0, 0, 0, 0, 0, 0, 0, - 120, 121, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1508, 123, 0, 124, 0, 0, 0, 0, 0, - 0, 125, 126, 0, 127, 128, 0, 129, 0, 1506, - 130, 1509, 132, 133, 134, 0, 0, 0, 135, 136, - 1510, 1511, 1512, 1294, 137, 138, 139, 14, 140, 141, - 142, 0, 143, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1507, 0, 0, 0, 0, 0, 0, 0, - 0, 6, 16, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1501, 1502, 0, 1503, 0, 0, 0, 0, - 471, 0, 0, 114, 0, 115, 116, 117, 118, 0, - 119, 1504, 0, 0, 0, 0, 0, 1505, 120, 121, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1508, - 123, 0, 124, 0, 0, 0, 0, 0, 0, 125, - 126, 0, 127, 128, 0, 129, 0, 0, 130, 1509, - 132, 133, 134, 0, 0, 0, 135, 136, 1510, 1511, - 1512, 0, 137, 138, 139, 0, 140, 141, 142, 0, - 143, 0, 0, 0, 1506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1507, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 471, 0, 0, 114, 0, - 115, 116, 117, 118, 0, 119, 664, 0, 0, 665, - 0, 0, 0, 120, 121, 874, 0, 0, 0, 0, - 0, 0, 0, 0, 1508, 123, 666, 124, 0, 667, - 0, 0, 0, 0, 125, 126, 0, 127, 128, 0, - 129, 0, 0, 130, 1509, 132, 133, 134, 0, 0, - 0, 135, 136, 1510, 1511, 1512, 0, 137, 138, 139, - 0, 140, 141, 142, 0, 143, 0, 0, 0, 668, - 0, 0, 0, 0, 0, 669, 670, 671, 0, 672, - 673, 674, 0, 675, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 469, 0, 0, 0, 0, 0, + 470, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 471, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 472, 473, 474, 475, 244, 245, + 115, 0, 116, 117, 118, 119, 0, 120, 476, 0, + 0, 0, 0, 0, 0, 121, 122, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 123, 486, 0, 125, + 0, 457, 487, 488, 0, 489, 490, 491, 458, 128, + 129, 492, 130, 0, 0, 131, 132, 133, 134, 135, + 459, 0, 0, 136, 137, 0, 460, 461, 0, 138, + 493, 140, 0, 494, 142, 143, 0, 144, 0, 0, + 0, 495, 496, 0, 0, 0, 0, 497, 0, 498, + 0, 0, 0, 322, 462, 0, 0, 463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 676, 0, 677, 664, 0, 0, 665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 666, 0, 0, 667, 0, 0, - 0, 0, 678, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, + 0, 0, 464, 0, 465, 466, 0, 0, 0, 0, + 0, 0, 0, 0, 467, 0, 0, 0, 468, 0, + 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 668, 0, 0, - 0, 680, 0, 669, 670, 671, 0, 672, 673, 674, - 0, 675, 0, 0, 0, 0, 113, 0, 0, 114, - 0, 115, 116, 117, 118, 0, 119, 0, 0, 676, - 0, 677, 0, 0, 120, 121, 681, 682, 0, 0, - 0, 0, 0, 0, 0, 122, 123, 0, 124, 0, - 0, 0, 0, 683, 0, 125, 126, 0, 127, 128, - 678, 129, 0, 0, 130, 131, 132, 133, 134, 0, - 0, 0, 135, 136, 0, 0, 0, 679, 137, 138, - 139, 0, 140, 141, 142, 0, 143, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 113, 0, 0, 114, 0, 115, - 116, 117, 118, 0, 119, 952, 0, 0, 665, 0, - 0, 0, 120, 121, 681, 682, 0, 0, 0, 0, - 0, 953, 0, 122, 123, 666, 124, 0, 667, 0, - 0, 683, 0, 125, 126, 0, 127, 128, 0, 129, - 0, 0, 130, 131, 132, 133, 134, 0, 0, 664, - 135, 136, 665, 0, 0, 0, 137, 138, 139, 0, - 140, 141, 142, 0, 143, 0, 0, 0, 668, 666, - 0, 0, 667, 0, 669, 670, 671, 0, 672, 673, - 674, 0, 675, 0, 0, 0, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 676, 0, 677, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 668, 0, 0, 0, 0, 0, 669, 670, - 671, 0, 672, 673, 674, 0, 675, 0, 0, 0, - 0, 678, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 676, 0, 677, 0, 679, 0, - 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, + 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 109, 469, 0, 0, 0, 0, 0, 470, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, + 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, + 0, 0, 0, 472, 473, 474, 475, 244, 245, 115, + 0, 116, 117, 118, 119, 0, 120, 476, 0, 0, + 0, 0, 0, 0, 121, 122, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 123, 486, 0, 125, 0, + 0, 487, 488, 0, 489, 490, 491, 0, 128, 129, + 492, 130, 0, 0, 131, 132, 133, 134, 135, 0, + 0, 111, 136, 137, 0, 1304, 0, 0, 138, 493, + 140, 112, 494, 142, 143, 0, 144, 0, 0, 0, + 495, 496, 0, 0, 0, 0, 563, 0, 498, 0, + 0, 0, 322, 6, 0, 0, 113, 0, 0, 0, + -294, 0, 0, 0, 1511, 1512, 0, 1513, 0, 0, + 0, 0, 0, 0, 114, 0, 0, 115, 0, 116, + 117, 118, 119, 1514, 120, 0, 0, 0, 0, 1515, + 0, 0, 121, 122, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 123, 124, 0, 125, 0, 0, 0, + 0, 0, 0, 126, 127, 0, 128, 129, 0, 130, + 0, 0, 131, 132, 133, 134, 135, 0, 0, 0, + 136, 137, 0, 1304, 0, 0, 138, 139, 140, 0, + 141, 142, 143, 0, 144, 0, 1516, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 680, 0, 0, 0, 0, 678, 0, 0, 0, 0, + 0, 6, 0, 0, 14, 0, 0, 0, -296, 0, + 0, 0, 1511, 1512, 0, 1513, 0, 0, 0, 1517, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, + 0, 1514, 0, 0, 0, 0, 0, 1515, 1715, 0, + 0, 0, 0, 0, 0, 0, 0, 475, 0, 0, + 115, 0, 116, 117, 118, 119, 0, 120, 0, 0, + 0, 0, 0, 0, 0, 121, 122, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1518, 124, 0, 125, + 0, 0, 0, 0, 0, 0, 126, 127, 0, 128, + 129, 0, 130, 0, 1516, 131, 1519, 133, 134, 135, + 0, 0, 0, 136, 137, 1520, 1521, 1522, 1304, 138, + 139, 140, 14, 141, 142, 143, 0, 144, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1517, 0, 0, + 0, 0, 0, 0, 0, 0, 6, 16, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1511, 1512, 0, + 1513, 0, 0, 0, 0, 475, 0, 0, 115, 0, + 116, 117, 118, 119, 0, 120, 1514, 0, 0, 0, + 0, 0, 1515, 121, 122, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1518, 124, 0, 125, 0, 0, + 0, 0, 0, 0, 126, 127, 0, 128, 129, 0, + 130, 0, 0, 131, 1519, 133, 134, 135, 0, 0, + 0, 136, 137, 1520, 1521, 1522, 0, 138, 139, 140, + 0, 141, 142, 143, 0, 144, 0, 0, 0, 1516, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1299, 679, 0, 0, 0, 1300, 0, 0, 0, - 0, 0, 1301, 0, 0, 681, 682, 0, 0, 0, - 0, 0, 0, 113, 680, 0, 114, 0, 115, 116, - 117, 1302, 683, 119, 0, 0, 0, 0, 0, 0, - 0, 120, 121, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 122, 123, 0, 124, 0, 0, 0, 681, - 682, 0, 125, 126, 0, 127, 128, 0, 129, 0, - 0, 130, 131, 132, 133, 134, 683, 0, 0, 135, - 136, 0, 0, 0, 0, 137, 138, 139, 0, 140, - 141, 142, 113, 143, 0, 114, 189, 115, 116, 117, - 118, 190, 119, 191, 192, 193, 194, 195, 196, 197, - 120, 121, 198, 199, 200, 201, 202, 0, 0, 203, - 204, 122, 123, 205, 124, 0, 0, 206, 207, 208, - 209, 125, 126, 210, 127, 128, 211, 129, 212, 213, - 130, 131, 132, 133, 134, 0, 0, 0, 135, 136, - 214, 215, 216, 217, 137, 138, 139, 218, 140, 141, - 142, 219, 143 + 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1517, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 475, 0, 0, 115, 0, 116, 117, 118, 119, 0, + 120, 670, 0, 0, 671, 0, 0, 0, 121, 122, + 883, 0, 0, 0, 0, 0, 0, 0, 0, 1518, + 124, 672, 125, 0, 673, 0, 0, 0, 0, 126, + 127, 0, 128, 129, 0, 130, 0, 0, 131, 1519, + 133, 134, 135, 0, 0, 0, 136, 137, 1520, 1521, + 1522, 0, 138, 139, 140, 0, 141, 142, 143, 0, + 144, 0, 0, 0, 674, 0, 0, 0, 0, 0, + 675, 676, 677, 0, 678, 679, 680, 0, 681, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 682, 0, 683, 670, + 0, 0, 671, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 672, + 0, 0, 673, 0, 0, 0, 0, 684, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 685, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 674, 0, 0, 0, 686, 0, 675, 676, + 677, 0, 678, 679, 680, 0, 681, 0, 0, 0, + 0, 114, 0, 0, 115, 0, 116, 117, 118, 119, + 0, 120, 0, 0, 682, 0, 683, 0, 0, 121, + 122, 687, 688, 0, 0, 0, 0, 0, 0, 0, + 123, 124, 0, 125, 0, 0, 0, 0, 689, 0, + 126, 127, 0, 128, 129, 684, 130, 0, 0, 131, + 132, 133, 134, 135, 0, 0, 0, 136, 137, 0, + 0, 0, 685, 138, 139, 140, 0, 141, 142, 143, + 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 686, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, + 0, 0, 115, 0, 116, 117, 118, 119, 0, 120, + 961, 0, 0, 671, 0, 0, 0, 121, 122, 687, + 688, 0, 0, 0, 0, 0, 962, 0, 123, 124, + 672, 125, 0, 673, 0, 0, 689, 0, 126, 127, + 0, 128, 129, 0, 130, 0, 0, 131, 132, 133, + 134, 135, 0, 0, 670, 136, 137, 671, 0, 0, + 0, 138, 139, 140, 0, 141, 142, 143, 0, 144, + 0, 0, 0, 674, 672, 0, 0, 673, 0, 675, + 676, 677, 0, 678, 679, 680, 0, 681, 0, 0, + 0, 1307, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 682, 0, 683, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 674, 0, 0, + 0, 0, 0, 675, 676, 677, 0, 678, 679, 680, + 0, 681, 0, 0, 0, 0, 684, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 682, + 0, 683, 0, 685, 0, 0, 0, 0, 0, 0, + 0, 1308, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 686, 0, 0, 0, 0, + 684, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1309, 685, 0, 0, + 0, 1310, 0, 0, 0, 0, 0, 1311, 0, 0, + 687, 688, 0, 0, 0, 0, 0, 0, 114, 686, + 0, 115, 0, 116, 117, 118, 1312, 689, 120, 0, + 0, 0, 0, 0, 0, 0, 121, 122, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 123, 124, 0, + 125, 0, 0, 0, 687, 688, 0, 126, 127, 0, + 128, 129, 0, 130, 0, 0, 131, 132, 133, 134, + 135, 689, 0, 0, 136, 137, 0, 0, 0, 0, + 138, 139, 140, 0, 141, 142, 143, 114, 144, 0, + 115, 190, 116, 117, 118, 119, 191, 120, 192, 193, + 194, 195, 196, 197, 198, 121, 122, 199, 200, 201, + 202, 203, 0, 0, 204, 205, 123, 124, 206, 125, + 0, 0, 207, 208, 209, 210, 126, 127, 211, 128, + 129, 212, 130, 213, 214, 131, 132, 133, 134, 135, + 0, 0, 0, 136, 137, 215, 216, 217, 218, 138, + 139, 140, 219, 141, 142, 143, 220, 144 }; static const short yycheck[] = { - 9, 0, 4, 69, 112, 171, 16, 16, 59, 18, - 601, 68, 68, 161, 162, 398, 75, 778, 67, 161, - 162, 61, 100, 78, 762, 91, 778, 430, 430, 426, - 768, 1032, 528, 400, 74, 307, 63, 606, 634, 841, - 99, 422, 493, 570, 95, 1056, 101, 993, 57, 58, - 59, 60, 61, 62, 63, 1294, 1120, 1293, 97, 68, - 69, 70, 548, 72, 60, 74, 75, 94, 77, 78, - 79, 1367, 73, 1120, 407, 102, 72, 748, 87, 89, - 89, 90, 91, 1029, 93, 94, 95, 96, 98, 98, - 99, 100, 101, 102, 322, 104, 97, 153, 176, 155, - 96, 789, 773, 436, 1074, 1120, 549, 173, 104, 349, - 1161, 718, 406, 796, 154, 380, 711, 1183, 1127, 946, - 1312, 1120, 493, 650, 1120, 258, 21, 180, 1271, 8, - 626, 851, 628, 1365, 1277, 175, 883, 8, 634, 166, - 10, 725, 8, 8, 153, 154, 155, 8, 8, 8, - 159, 1332, 1061, 6, 47, 63, 844, 166, 90, 267, - 1574, 61, 171, 19, 173, 174, 175, 176, 584, 1178, - 43, 180, 1120, 47, 26, 224, 8, 133, 174, 1359, - 1360, 1516, 44, 349, 1364, 10, 61, 141, 559, 43, - 80, 23, 725, 46, 8, 1633, 28, 730, 23, 9, - 50, 51, 23, 28, 253, 1124, 55, 28, 174, 23, - 10, 149, 1131, 97, 28, 612, 8, 62, 8, 8, - 43, 1140, 355, 23, 192, 22, 44, 56, 28, 3, - 1313, 634, 634, 971, 972, 30, 44, 23, 63, 19, - 4, 297, 28, 7, 300, 55, 125, 1166, 43, 169, - 23, 359, 155, 636, 125, 28, 66, 590, 280, 125, - 125, 283, 80, 660, 125, 125, 125, 90, 196, 541, - 1587, 1032, 193, 142, 1510, 1511, 26, 1516, 63, 182, - 1032, 18, 333, 1021, 556, 49, 847, 185, 297, 158, - 180, 300, 141, 349, 139, 1359, 1360, 337, 307, 308, - 1364, 684, 76, 23, 353, 1388, 260, 868, 28, 277, - 871, 277, 1359, 1360, 94, 1632, 191, 1364, 180, 880, - 1734, 118, 278, 255, 333, 177, 155, 176, 337, 780, - 1339, 50, 51, 125, 179, 125, 125, 788, 8, 189, - 278, 1484, 1485, 399, 1359, 1360, 230, 1398, 204, 1364, - 406, 1362, 408, 1323, 410, 165, 284, 413, 278, 730, - 1359, 1360, 180, 1359, 1360, 1364, 432, 1599, 1364, 277, - 379, 380, 180, 123, 423, 434, 425, 277, 939, 963, - 278, 1119, 548, 173, 277, 1566, 281, 1107, 1135, 1136, - 399, 440, 1338, 444, 1405, 922, 269, 406, 277, 408, - 896, 410, 442, 277, 413, 821, 63, 277, 279, 1318, - 1319, 1359, 1360, 279, 279, 269, 1364, 11, 279, 279, - 279, 274, 1860, 432, 433, 434, 959, 177, 1099, 23, - 963, 94, 255, 442, 28, 444, 14, 433, 1185, 448, - 272, 273, 274, 275, 194, 141, 448, 272, 273, 274, - 275, 45, 277, 274, 275, 125, 21, 90, 272, 273, - 274, 275, 1758, 1382, 18, 1203, 1204, 1703, 1206, 1207, - 189, 23, 272, 273, 274, 275, 28, 17, 4, 862, - 196, 196, 865, 196, 230, 494, 272, 273, 274, 275, - 6, 31, 548, 279, 143, 878, 244, 196, 538, 272, - 273, 274, 275, 173, 947, 558, 279, 547, 196, 55, - 652, 551, 196, 162, 190, 958, 262, 174, 323, 962, - 903, 68, 87, 49, 117, 1286, 331, 105, 82, 538, - 46, 540, 541, 805, 1286, 75, 199, 200, 547, 223, - 1732, 1102, 551, 1686, 540, 601, 1881, 556, 597, 558, - 246, 196, 272, 273, 274, 275, 1852, 273, 273, 279, - 273, 1122, 1123, 103, 1630, 614, 199, 200, 284, 702, - 1905, 1582, 122, 64, 98, 869, 117, 1404, 634, 278, - 1066, 1142, 1177, 950, 1191, 284, 77, 852, 126, 277, - 818, 1642, 601, 186, 1185, 141, 6, 1932, 1894, 1287, - 840, 277, 3, 1612, 937, 1575, 655, 1290, 1943, 100, - 1348, 1946, 778, 61, 653, 156, 143, 1068, 1953, 1915, - 1629, 168, 196, 632, 85, 634, 172, 167, 175, 638, - 156, 1074, 1370, 278, 44, 1815, 1816, 43, 196, 284, - 178, 187, 1881, 167, 46, 793, 56, 108, 174, 223, - 44, 700, 653, 37, 710, 11, 6, 6, 707, 708, - 151, 1104, 203, 23, 48, 223, 1905, 194, 28, 46, - 80, 55, 1591, 6, 840, 76, 1595, 1596, 272, 273, - 274, 275, 208, 79, 826, 23, 80, 276, 94, 45, - 28, 6, 94, 1932, 147, 79, 46, 46, 196, 273, - 23, 710, 1648, 164, 1943, 28, 7, 1946, 1886, 1945, - 6, 23, 1631, 46, 1953, 273, 28, 94, 114, 1720, - 272, 273, 274, 275, 23, 223, 753, 279, 22, 28, - 126, 46, 1113, 118, 23, 145, 30, 196, 794, 28, - 796, 118, 798, 23, 753, 155, 1129, 1130, 28, 196, - 46, 1815, 1816, 278, 139, 1933, 23, 141, 1141, 1770, - 145, 28, 65, 905, 1435, 1776, 1217, 5, 1815, 1816, - 180, 44, 781, 813, 277, 140, 98, 15, 1580, 65, - 789, 23, 285, 63, 840, 794, 28, 796, 172, 798, - 846, 4, 176, 278, 179, 835, 805, 837, 1179, 1368, - 1815, 1816, 851, 16, 813, 814, 277, 80, 279, 858, - 132, 820, 134, 869, 122, 824, 1815, 1816, 814, 1815, - 1816, 1188, 277, 231, 118, 1744, 835, 23, 837, 1748, - 1281, 122, 28, 241, 156, 844, 49, 846, 51, 895, - 896, 1579, 1403, 852, 1763, 139, 1217, 277, 23, 23, - 277, 145, 282, 28, 28, 282, 59, 60, 897, 181, - 869, 1780, 911, 124, 1391, 277, 1032, 1815, 1816, 1396, - 282, 124, 145, 1874, 1470, 1876, 174, 195, 196, 197, - 1331, 265, 155, 1884, 232, 179, 895, 896, 79, 23, - 1257, 156, 931, 932, 28, 934, 897, 277, 938, 279, - 1066, 902, 231, 232, 913, 223, 224, 180, 948, 130, - 131, 913, 272, 273, 274, 275, 199, 200, 919, 279, - 210, 211, 212, 213, 214, 215, 216, 217, 1929, 938, - 931, 932, 19, 934, 272, 273, 274, 275, 192, 948, - 1859, 279, 277, 1862, 279, 1901, 1902, 956, 957, 272, - 273, 274, 275, 64, 956, 203, 279, 205, 1696, 1720, - 272, 273, 274, 275, 23, 180, 77, 279, 1720, 28, - 277, 259, 279, 272, 273, 274, 275, 23, 174, 1898, - 279, 278, 28, 272, 273, 274, 275, 1552, 1553, 100, - 279, 199, 272, 273, 274, 275, 277, 1380, 279, 1495, - 1027, 10, 277, 114, 279, 272, 273, 274, 275, 266, - 1066, 1408, 279, 277, 162, 279, 23, 277, 1027, 279, - 59, 28, 1164, 61, 23, 1297, 79, 1410, 1300, 28, - 272, 273, 274, 275, 978, 198, 980, 279, 982, 983, - 151, 985, 986, 987, 277, 23, 279, 277, 78, 279, - 28, 1060, 1061, 277, 23, 279, 149, 190, 1107, 28, - 172, 1432, 1433, 141, 385, 1074, 387, 1470, 1470, 1440, - 1441, 64, 1443, 1444, 1552, 1553, 272, 273, 274, 275, - 1451, 1452, 1453, 1454, 77, 1456, 1457, 1458, 1459, 1460, - 1461, 277, 85, 279, 82, 278, 1834, 272, 273, 274, - 275, 63, 61, 1841, 279, 23, 277, 100, 279, 277, - 28, 279, 277, 1874, 279, 1876, 277, 277, 279, 279, - 1286, 114, 1874, 1884, 1876, 1181, 61, 122, 1294, 1185, - 122, 23, 1884, 174, 244, 1174, 28, 102, 272, 273, - 274, 275, 123, 188, 1153, 279, 172, 277, 1187, 279, - 156, 277, 263, 279, 1193, 1326, 1158, 1328, 151, 65, - 83, 1170, 54, 1311, 1312, 1313, 23, 121, 1929, 243, - 23, 28, 1181, 1174, 23, 28, 1185, 1929, 155, 28, - 255, 749, 254, 751, 254, 30, 1187, 755, 756, 757, - 207, 277, 1193, 269, 192, 112, 29, 54, 278, 135, - 10, 278, 1344, 199, 1346, 278, 97, 278, 61, 278, - 278, 278, 23, 272, 273, 274, 275, 28, 1601, 199, - 279, 278, 278, 1301, 278, 199, 272, 273, 274, 275, - 278, 278, 148, 279, 1290, 278, 1293, 1293, 1294, 281, - 1299, 278, 278, 1253, 1253, 277, 269, 1302, 283, 278, - 283, 0, 10, 1636, 23, 141, 278, 63, 277, 28, - 278, 10, 277, 166, 1406, 272, 273, 274, 275, 269, - 263, 82, 279, 272, 273, 274, 275, 10, 1287, 283, - 279, 1290, 83, 277, 1293, 1294, 84, 90, 1297, 1298, - 1299, 1300, 1301, 1302, 272, 273, 274, 275, 1889, 277, - 283, 90, 1298, 272, 273, 274, 275, 90, 277, 1318, - 1319, 22, 61, 82, 1323, 64, 22, 43, 10, 117, - 296, 208, 71, 174, 73, 196, 174, 136, 77, 136, - 21, 90, 278, 82, 138, 185, 85, 91, 185, 278, - 281, 278, 61, 319, 278, 143, 10, 17, 146, 122, - 1516, 100, 328, 23, 272, 273, 274, 275, 28, 277, - 128, 31, 149, 277, 162, 114, 121, 278, 278, 126, - 1419, 189, 61, 122, 279, 1424, 21, 126, 174, 42, - 272, 273, 274, 275, 1386, 284, 135, 202, 174, 60, - 188, 190, 186, 278, 1777, 277, 10, 67, 83, 277, - 240, 278, 151, 19, 278, 75, 43, 27, 384, 86, - 86, 1577, 388, 83, 22, 272, 273, 274, 275, 272, - 273, 274, 275, 272, 273, 274, 275, 125, 125, 178, - 125, 101, 156, 103, 154, 1501, 278, 98, 156, 278, - 278, 190, 108, 192, 278, 63, 116, 279, 118, 119, - 120, 277, 277, 283, 23, 184, 1466, 1466, 16, 124, - 1516, 272, 273, 274, 275, 107, 63, 63, 71, 277, - 12, 10, 239, 278, 17, 10, 64, 160, 278, 192, - 23, 278, 133, 8, 279, 28, 52, 280, 31, 77, - 239, 279, 1501, 52, 279, 6, 278, 167, 279, 279, - 1509, 1510, 1511, 272, 273, 274, 275, 1516, 279, 485, - 259, 63, 100, 278, 263, 491, 492, 493, 278, 51, - 173, 127, 278, 192, 67, 278, 114, 276, 277, 277, - 279, 278, 75, 44, 122, 278, 278, 278, 278, 278, - 83, 278, 278, 1552, 1553, 56, 278, 278, 278, 277, - 19, 85, 279, 73, 1720, 85, 279, 130, 101, 70, - 103, 145, 1602, 151, 125, 1574, 1575, 1733, 1577, 80, - 125, 125, 125, 116, 125, 118, 119, 120, 125, 279, - 279, 196, 22, 559, 1732, 278, 63, 563, 51, 279, - 173, 279, 279, 1602, 36, 279, 277, 279, 276, 269, - 270, 271, 272, 273, 274, 275, 36, 82, 276, 276, - 51, 281, 82, 283, 70, 10, 278, 276, 276, 276, - 276, 276, 7, 1674, 167, 174, 276, 276, 276, 276, - 276, 85, 276, 276, 145, 276, 276, 276, 44, 23, - 25, 79, 280, 180, 155, 80, 80, 180, 33, 279, - 44, 239, 279, 1761, 111, 40, 124, 42, 94, 44, - 111, 1671, 1671, 61, 49, 1674, 279, 279, 279, 180, - 279, 56, 279, 189, 279, 263, 124, 279, 1432, 1433, - 279, 279, 94, 277, 279, 70, 1440, 1441, 279, 1443, - 1444, 202, 279, 279, 1703, 80, 278, 1451, 1452, 1453, - 1454, 279, 1456, 1457, 1458, 1459, 1460, 1461, 1874, 279, - 1876, 1762, 279, 86, 279, 1881, 1715, 1757, 1884, 279, - 204, 278, 79, 82, 1733, 1734, 269, 270, 271, 272, - 273, 274, 275, 278, 1783, 82, 279, 246, 1787, 1905, - 278, 122, 278, 1752, 173, 1853, 277, 122, 1757, 47, - 279, 278, 122, 1762, 730, 279, 279, 44, 143, 180, - 1826, 279, 50, 1929, 36, 150, 1932, 47, 153, 201, - 155, 156, 0, 0, 750, 554, 158, 1943, 754, 158, - 1946, 1309, 159, 305, 556, 761, 814, 1953, 1191, 308, - 766, 767, 805, 714, 951, 180, 1188, 956, 1180, 926, - 1809, 1620, 79, 396, 780, 427, 782, 783, 784, 785, - 786, 787, 788, 357, 660, 846, 1116, 1826, 1827, 1181, - 1619, 37, 1185, 408, 879, 1881, 1828, 1599, 408, 1892, - 1601, 1896, 48, 1889, 1895, 1917, 1882, 1057, 0, 55, - 1707, 794, 869, 1583, 229, 1341, 822, 929, 640, 1905, - 413, 401, 68, 394, 697, 1394, 921, 13, 341, 244, - 245, 576, 572, 835, 164, 822, 89, 843, 1074, 1327, - 1846, 747, 1881, 1671, 1873, 1466, 1932, 1886, 0, 855, - 1889, 857, 267, 0, 855, 0, 812, 1943, 6, 1069, - 1946, 9, 1901, 1902, 1350, 13, 1905, 1953, 584, 913, - 1232, 1279, 20, 638, 1170, 1752, 93, 1509, -1, 125, - -1, -1, -1, -1, 32, -1, -1, -1, -1, -1, - 38, 39, -1, 1932, 1933, 141, -1, -1, -1, -1, - -1, -1, -1, -1, 1943, -1, 1945, 1946, -1, -1, - -1, 157, -1, -1, 1953, -1, -1, -1, 66, -1, - -1, 69, -1, -1, -1, -1, 172, -1, -1, -1, - 176, -1, -1, 179, -1, -1, -1, -1, -1, -1, - -1, 187, -1, -1, -1, -1, 94, -1, 96, 97, - -1, -1, -1, -1, -1, -1, -1, -1, 106, -1, - 206, -1, 110, -1, -1, -1, -1, 973, 974, 975, - -1, -1, 978, 979, 980, -1, 982, 983, 984, 985, - 986, 987, -1, -1, 38, -1, -1, -1, 994, 995, - -1, 997, -1, 999, -1, -1, 1002, 1003, 1004, 1005, - 1006, 1007, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 66, 1019, -1, 163, 1022, 165, -1, 265, - -1, -1, -1, 171, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 181, -1, -1, -1, -1, -1, -1, - 94, -1, -1, -1, -1, -1, -1, 195, 196, 197, - 198, 199, 200, 201, -1, 203, 204, 205, 206, -1, - 208, 209, 1068, -1, -1, -1, -1, -1, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, -1, 230, -1, -1, 233, 234, -1, 236, 237, - 238, -1, 240, 241, 242, 243, -1, -1, 246, 247, - 248, 249, 250, -1, -1, -1, 254, 255, -1, -1, - -1, 165, 260, 261, 262, -1, 264, 265, 266, -1, - 268, -1, -1, -1, 272, 273, -1, 181, -1, -1, - 278, -1, 280, -1, -1, -1, 284, -1, -1, -1, - -1, 195, 196, 197, -1, 199, 200, -1, -1, 6, - -1, -1, 9, -1, -1, -1, 13, -1, -1, -1, - -1, -1, -1, 20, 218, 219, 220, 221, 222, 223, - 224, 225, 226, -1, -1, 32, -1, -1, -1, 233, - 234, 38, 39, -1, -1, -1, -1, -1, 242, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, - -1, 1217, 69, -1, -1, -1, -1, -1, -1, 273, - -1, -1, -1, -1, 1230, 1231, -1, 1233, 1234, -1, - -1, -1, 17, -1, -1, 1241, -1, 94, 23, 96, - 97, -1, -1, 28, -1, -1, 31, -1, -1, 106, - -1, -1, -1, 110, -1, 1261, -1, -1, -1, -1, - -1, -1, -1, 1269, 1270, 1271, -1, -1, -1, -1, - -1, 1277, -1, 1279, 1280, 1281, 1282, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, - 75, -1, -1, -1, -1, -1, -1, -1, 83, -1, - -1, -1, -1, -1, -1, -1, 163, -1, 165, -1, - -1, -1, -1, -1, 171, -1, 101, -1, 103, -1, - -1, -1, -1, -1, 181, 1331, -1, -1, -1, -1, - -1, 116, -1, 118, 119, 120, -1, -1, 195, 196, - 197, 198, 199, 200, 201, -1, 203, 204, 205, 206, - -1, 208, 209, -1, -1, -1, -1, 1363, -1, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, 230, -1, -1, 233, 234, -1, 236, - 237, 238, 167, 240, 241, 242, 243, -1, -1, 246, - 247, 248, 249, 250, -1, -1, -1, 254, 255, -1, - -1, -1, -1, 260, 261, 262, -1, 264, 265, 266, - -1, 268, 21, -1, -1, 272, 273, -1, -1, -1, - -1, 278, -1, 280, -1, 1431, -1, 284, 37, -1, - -1, 1437, -1, -1, -1, -1, 1442, -1, -1, 48, - -1, -1, -1, 1449, -1, 48, 55, -1, -1, -1, - 59, 60, 55, -1, -1, -1, 59, 60, -1, 68, - -1, -1, -1, -1, -1, 68, -1, -1, -1, -1, - 79, -1, -1, -1, -1, -1, 79, -1, 1484, 1485, - -1, -1, -1, -1, 269, 270, 271, 272, 273, 274, - 275, -1, -1, -1, -1, -1, 281, -1, 283, -1, - 1506, 6, -1, -1, 9, -1, -1, -1, 13, -1, - -1, -1, -1, -1, -1, 20, -1, -1, -1, -1, - -1, -1, -1, -1, 133, -1, -1, 32, -1, -1, - -1, -1, 141, 38, 39, -1, 17, -1, 141, -1, - -1, -1, 23, -1, -1, -1, -1, 28, -1, -1, - 31, -1, -1, -1, 157, -1, -1, -1, -1, -1, - -1, 66, -1, 172, 69, -1, -1, 176, -1, 172, - -1, -1, 1578, 176, -1, -1, -1, -1, 187, -1, - -1, -1, -1, -1, 187, -1, 67, -1, -1, 94, - -1, 96, 97, -1, 75, -1, -1, 206, 207, -1, - -1, 106, 83, 206, -1, 110, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 101, -1, 103, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 116, -1, 118, 119, 120, - -1, -1, -1, -1, -1, 1651, 27, -1, -1, -1, - -1, 1657, 1658, -1, -1, -1, 265, -1, 163, 268, - 165, -1, 265, -1, -1, -1, 171, -1, -1, -1, - -1, -1, -1, -1, -1, 1681, 181, -1, -1, -1, - 1686, -1, -1, 1689, -1, -1, 167, 1693, 1694, -1, - 195, 196, 197, 198, 199, 200, 201, -1, 203, 204, - 205, 206, -1, 208, 209, -1, -1, -1, -1, -1, - -1, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, -1, 230, -1, -1, 233, 234, - -1, 236, 237, 238, -1, 240, 241, 242, 243, -1, - -1, 246, 247, 248, 249, 250, -1, -1, -1, 254, - 255, 6, -1, -1, 9, 260, 261, 262, 13, 264, - 265, 266, -1, 268, -1, 20, -1, 272, 273, -1, - -1, -1, -1, 278, -1, 280, 1782, 32, -1, 284, - -1, -1, -1, 38, 39, -1, -1, -1, 269, 270, - 271, 272, 273, 274, 275, -1, -1, -1, -1, -1, - 281, -1, 283, -1, -1, -1, -1, -1, -1, -1, - -1, 66, -1, -1, 69, -1, -1, 198, -1, -1, - 201, -1, 203, 204, 205, 206, -1, 208, -1, -1, - -1, -1, -1, -1, -1, 216, 217, -1, -1, 94, - 1846, 96, 97, -1, -1, -1, 227, 228, -1, 230, - -1, 106, -1, -1, -1, 110, 237, 238, -1, 240, - 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, - -1, -1, -1, 254, 255, -1, -1, 1883, -1, 260, - 261, 262, -1, 264, 265, 266, -1, 268, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 278, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 163, -1, - 165, -1, -1, -1, -1, -1, 171, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 195, 196, 197, 198, 199, 200, 201, -1, 203, 204, - 205, 206, -1, 208, 209, -1, -1, -1, -1, -1, - -1, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, -1, 230, -1, -1, 233, 234, - -1, 236, 237, 238, -1, 240, 241, 242, 243, -1, - -1, 246, 247, 248, 249, 250, -1, -1, -1, 254, - 255, 6, -1, -1, 9, 260, 261, 262, 13, 264, - 265, 266, -1, 268, -1, 20, -1, 272, 273, -1, - -1, -1, -1, 278, -1, 280, -1, 32, -1, 284, - -1, -1, -1, 38, 39, -1, 17, -1, -1, -1, - -1, -1, 23, -1, -1, -1, -1, 28, -1, -1, - 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 66, -1, -1, 69, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 67, -1, -1, 94, - -1, 96, 97, -1, 75, -1, -1, -1, -1, -1, - -1, 106, 83, -1, -1, 110, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 101, -1, 103, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 116, -1, 118, 119, 120, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, - -1, -1, -1, -1, -1, -1, -1, -1, 163, -1, - 165, -1, -1, -1, -1, -1, 171, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 167, -1, -1, -1, - 195, 196, 197, 198, 199, 200, 201, -1, 203, 204, - 205, 206, -1, 208, 209, -1, -1, -1, -1, -1, - -1, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, -1, 230, -1, -1, 233, 234, - -1, 236, 237, 238, -1, 240, 241, 242, 243, -1, - -1, 246, 247, 248, 249, 250, -1, -1, -1, 254, - 255, 6, -1, -1, 9, 260, 261, 262, 13, 264, - 265, 266, -1, 268, -1, 20, -1, 272, 273, -1, - -1, -1, -1, 278, -1, 280, -1, 32, -1, 284, - -1, -1, -1, 38, 39, -1, -1, -1, 269, 270, - 271, 272, 273, 274, 275, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 66, -1, -1, 69, -1, -1, 198, -1, -1, - 201, -1, 203, 204, 205, 206, -1, 208, -1, -1, - -1, -1, -1, -1, -1, 216, 217, -1, -1, 94, - -1, 96, 97, -1, -1, -1, 227, 228, -1, 230, - -1, 106, -1, -1, -1, 110, 237, 238, -1, 240, - 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, - -1, -1, -1, 254, 255, -1, -1, -1, -1, 260, - 261, 262, -1, 264, 265, 266, -1, 268, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, - -1, -1, -1, -1, -1, -1, -1, -1, 163, -1, - 165, -1, -1, -1, -1, -1, 171, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 195, 196, 197, 198, 199, 200, 201, -1, 203, 204, - 205, 206, -1, 208, 209, -1, -1, -1, -1, -1, - -1, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, -1, 230, -1, -1, 233, 234, - -1, 236, 237, 238, -1, 240, 241, 242, 243, -1, - -1, 246, 247, 248, 249, 250, -1, -1, -1, 254, - 255, 6, -1, -1, 9, 260, 261, 262, 13, 264, - 265, 266, -1, 268, -1, 20, -1, 272, 273, -1, - -1, -1, -1, 278, -1, 280, -1, 32, -1, 284, - -1, -1, -1, 38, 39, -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, 66, -1, -1, 69, -1, -1, 198, -1, -1, - 201, -1, 203, 204, 205, 206, -1, 208, -1, -1, - -1, -1, -1, -1, -1, 216, 217, -1, -1, 94, - -1, 96, 97, -1, -1, -1, 227, 228, -1, 230, - -1, 106, -1, -1, -1, 110, 237, 238, -1, 240, - 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, - -1, -1, -1, 254, 255, -1, -1, -1, -1, 260, - 261, 262, -1, 264, 265, 266, -1, 268, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 163, 39, - 165, -1, -1, -1, -1, -1, 171, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 195, 196, 197, 198, 199, 200, 201, -1, 203, 204, - 205, 206, -1, 208, 209, -1, -1, -1, -1, -1, - -1, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, -1, 230, -1, -1, 233, 234, - -1, 236, 237, 238, -1, 240, 241, 242, 243, -1, - -1, 246, 247, 248, 249, 250, -1, -1, -1, 254, - 255, 6, -1, -1, 9, 260, 261, 262, 13, 264, - 265, 266, -1, 268, -1, 20, -1, 272, 273, -1, - -1, -1, -1, 278, -1, 280, -1, 32, -1, 284, - -1, -1, -1, 38, 39, -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, 66, -1, -1, 69, -1, -1, -1, 198, -1, - -1, 201, -1, 203, 204, 205, 206, -1, 208, -1, - -1, -1, -1, -1, -1, -1, 216, 217, -1, 94, - -1, 96, 97, -1, -1, -1, -1, 227, 228, -1, - 230, 106, -1, -1, -1, 110, -1, 237, 238, -1, - 240, 241, -1, 243, -1, -1, 246, 247, 248, 249, - 250, -1, -1, -1, 254, 255, -1, -1, -1, -1, - 260, 261, 262, -1, 264, 265, 266, -1, 268, -1, - -1, -1, -1, -1, 274, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 163, -1, - 165, -1, -1, -1, -1, -1, 171, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, - -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, - 195, 196, 197, 198, 199, 200, 201, -1, 203, 204, - 205, 206, -1, 208, 209, -1, 108, -1, -1, -1, - -1, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, -1, 230, -1, 13, 233, 234, - -1, 236, 237, 238, 20, 240, 241, 242, 243, -1, - -1, 246, 247, 248, 249, 250, 32, -1, -1, 254, - 255, -1, 38, 39, -1, 260, 261, 262, -1, 264, - 265, 266, 164, 268, -1, -1, -1, 272, 273, -1, - -1, 57, -1, 278, -1, 280, -1, -1, -1, 284, - 66, -1, -1, 69, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 198, -1, -1, 201, - -1, 203, 204, 205, 206, -1, 208, -1, 94, -1, - 96, 97, -1, -1, 216, 217, -1, -1, -1, -1, - 106, -1, -1, -1, 110, 227, 228, -1, 230, -1, - -1, -1, 118, -1, -1, 237, 238, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, 249, 250, -1, - -1, -1, 254, 255, -1, -1, -1, -1, 260, 261, - 262, -1, 264, 265, 266, -1, 268, -1, -1, 155, - -1, -1, -1, 159, -1, -1, -1, -1, -1, 165, - -1, -1, -1, -1, -1, 171, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 181, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 195, - 196, 197, 198, 199, 200, 201, -1, 203, 204, 205, - 206, -1, 208, 209, -1, -1, -1, -1, -1, -1, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, -1, 230, -1, -1, 233, 234, -1, - 236, 237, 238, -1, 240, 241, 242, 243, -1, -1, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - -1, -1, -1, -1, 260, 261, 262, 13, 264, 265, - 266, -1, 268, -1, 20, -1, 272, 273, -1, -1, - -1, -1, 278, 155, 280, -1, 32, -1, 284, 35, - -1, -1, 38, 39, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, - 66, -1, -1, 69, -1, -1, 198, -1, -1, 201, - -1, 203, 204, 205, 206, -1, 208, -1, -1, -1, - -1, -1, -1, -1, 216, 217, -1, -1, 94, -1, - 96, 97, -1, -1, -1, 227, 228, -1, 230, -1, - 106, -1, -1, -1, 110, 237, 238, -1, 240, 241, - -1, 243, 118, -1, 246, 247, 248, 249, 250, -1, - -1, -1, 254, 255, -1, -1, -1, -1, 260, 261, - 262, -1, 264, 265, 266, -1, 268, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 278, -1, -1, -1, - -1, -1, -1, 159, -1, -1, -1, -1, -1, 165, - -1, -1, -1, -1, -1, 171, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 181, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 195, - 196, 197, 198, 199, 200, 201, -1, 203, 204, 205, - 206, -1, 208, 209, -1, -1, -1, -1, -1, -1, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, -1, 230, -1, 13, 233, 234, -1, - 236, 237, 238, 20, 240, 241, 242, 243, -1, -1, - 246, 247, 248, 249, 250, 32, -1, -1, 254, 255, - -1, 38, 39, -1, 260, 261, 262, -1, 264, 265, - 266, -1, 268, -1, -1, -1, 272, 273, 181, -1, - 57, -1, 278, -1, 280, -1, -1, -1, 284, 66, - -1, -1, 69, -1, -1, 198, -1, -1, 201, -1, - 203, 204, 205, 206, -1, 208, -1, -1, -1, -1, - -1, -1, -1, 216, 217, -1, -1, 94, -1, 96, - 97, -1, -1, -1, 227, 228, -1, 230, -1, 106, - -1, -1, -1, 110, 237, 238, -1, 240, 241, -1, - 243, 118, -1, 246, 247, 248, 249, 250, -1, -1, - -1, 254, 255, -1, -1, -1, -1, 260, 261, 262, - -1, 264, 265, 266, -1, 268, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 159, -1, -1, -1, -1, -1, 165, -1, - -1, -1, -1, -1, 171, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 181, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 195, 196, - 197, 198, 199, 200, 201, -1, 203, 204, 205, 206, - -1, 208, 209, -1, -1, -1, -1, -1, -1, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, 230, -1, 13, 233, 234, -1, 236, - 237, 238, 20, 240, 241, 242, 243, -1, -1, 246, - 247, 248, 249, 250, 32, -1, -1, 254, 255, -1, - 38, 39, -1, 260, 261, 262, -1, 264, 265, 266, - -1, 268, -1, -1, -1, 272, 273, -1, -1, 57, - -1, 278, -1, 280, -1, -1, -1, 284, 66, -1, - -1, 69, -1, -1, 198, -1, -1, 201, -1, 203, - 204, 205, 206, -1, 208, -1, -1, -1, -1, -1, - -1, -1, 216, 217, -1, -1, 94, -1, 96, 97, - -1, -1, -1, 227, 228, -1, 230, -1, 106, -1, - -1, -1, 110, 237, 238, -1, 240, 241, -1, 243, - 118, -1, 246, 247, 248, 249, 250, -1, -1, -1, - 254, 255, -1, -1, -1, -1, 260, 261, 262, -1, - 264, 265, 266, -1, 268, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 278, -1, 280, -1, -1, -1, - -1, 159, -1, -1, -1, -1, -1, 165, -1, -1, - -1, -1, -1, 171, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 181, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 195, 196, 197, - 198, 199, 200, 201, -1, 203, 204, 205, 206, -1, - 208, 209, -1, -1, -1, -1, -1, -1, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, -1, 230, -1, 13, 233, 234, -1, 236, 237, - 238, 20, 240, 241, 242, 243, -1, -1, 246, 247, - 248, 249, 250, 32, -1, -1, 254, 255, -1, 38, - 39, -1, 260, 261, 262, -1, 264, 265, 266, -1, - 268, -1, -1, -1, 272, 273, -1, -1, 57, -1, - 278, -1, 280, -1, -1, -1, 284, 66, -1, -1, - 69, -1, -1, 198, -1, -1, 201, -1, 203, 204, - 205, 206, -1, 208, -1, -1, -1, -1, -1, -1, - -1, 216, 217, -1, -1, 94, -1, 96, 97, -1, - -1, -1, 227, 228, -1, 230, -1, 106, -1, -1, - -1, 110, 237, 238, -1, 240, 241, -1, 243, 118, - -1, 246, 247, 248, 249, 250, -1, -1, -1, 254, - 255, -1, -1, -1, -1, 260, 261, 262, -1, 264, - 265, 266, -1, 268, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 280, -1, -1, -1, -1, - 159, -1, -1, -1, -1, -1, 165, -1, -1, -1, - -1, -1, 171, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 195, 196, 197, 198, + 9, 0, 4, 172, 113, 400, 60, 16, 70, 18, + 69, 605, 784, 162, 163, 62, 79, 162, 163, 76, + 98, 16, 101, 74, 431, 435, 784, 435, 75, 402, + 92, 1041, 574, 497, 847, 69, 610, 309, 640, 102, + 532, 427, 96, 100, 497, 1304, 1065, 98, 57, 58, + 68, 60, 61, 62, 63, 64, 1083, 1303, 64, 552, + 69, 70, 71, 1129, 73, 61, 75, 76, 553, 78, + 79, 80, 1377, 412, 1002, 324, 802, 73, 724, 88, + 754, 90, 91, 92, 1129, 94, 95, 96, 97, 95, + 99, 100, 101, 102, 103, 90, 105, 103, 177, 563, + 795, 97, 441, 1137, 99, 779, 955, 1193, 155, 105, + 1038, 1129, 174, 1171, 656, 351, 382, 1129, 411, 717, + 154, 260, 156, 1129, 1322, 181, 1281, 10, 8, 176, + 21, 768, 1287, 1526, 1369, 1370, 8, 774, 630, 1374, + 8, 588, 634, 8, 892, 154, 155, 156, 640, 8, + 43, 160, 1375, 1342, 1188, 850, 6, 1070, 167, 43, + 269, 167, 61, 172, 857, 174, 175, 176, 177, 133, + 8, 47, 181, 90, 8, 853, 43, 1134, 731, 175, + 23, 26, 351, 44, 1141, 28, 1584, 44, 97, 19, + 8, 47, 9, 1150, 8, 44, 46, 10, 61, 877, + 169, 8, 880, 26, 192, 8, 149, 225, 1129, 616, + 23, 889, 1643, 8, 56, 28, 63, 141, 357, 1176, + 22, 14, 63, 90, 55, 62, 50, 51, 23, 731, + 640, 80, 640, 28, 736, 143, 8, 255, 55, 230, + 4, 30, 11, 7, 174, 125, 142, 642, 46, 66, + 63, 23, 361, 125, 43, 594, 28, 125, 277, 666, + 125, 80, 158, 282, 10, 299, 125, 1526, 302, 1041, + 948, 262, 736, 545, 1520, 1521, 45, 23, 123, 190, + 193, 335, 28, 1041, 64, 49, 194, 125, 560, 277, + 299, 125, 339, 302, 19, 690, 94, 77, 50, 51, + 309, 310, 139, 1369, 1370, 85, 1333, 125, 1374, 278, + 141, 125, 105, 155, 278, 1349, 118, 351, 125, 180, + 100, 230, 125, 180, 1369, 1370, 335, 174, 191, 1374, + 339, 180, 177, 786, 114, 278, 260, 355, 255, 1494, + 1495, 794, 179, 980, 981, 176, 1744, 277, 165, 194, + 1408, 1369, 1370, 1372, 177, 173, 1374, 1369, 1370, 173, + 4, 180, 1374, 1369, 1370, 189, 277, 401, 1374, 94, + 141, 151, 381, 382, 204, 437, 269, 411, 277, 413, + 827, 415, 439, 552, 418, 269, 1609, 1576, 255, 931, + 281, 11, 401, 1030, 277, 449, 1415, 1145, 1146, 279, + 447, 277, 411, 23, 413, 49, 415, 279, 28, 418, + 428, 279, 430, 905, 279, 1328, 1329, 23, 277, 972, + 1348, 277, 28, 1116, 274, 45, 185, 445, 437, 438, + 439, 274, 275, 1111, 1108, 1392, 277, 189, 447, 1870, + 449, 279, 438, 452, 126, 279, 196, 1195, 1369, 1370, + 452, 23, 68, 1374, 1132, 1133, 28, 90, 43, 272, + 273, 274, 275, 1768, 277, 1323, 968, 1713, 196, 1597, + 972, 956, 3, 868, 1152, 246, 871, 272, 273, 274, + 275, 196, 967, 263, 5, 44, 971, 6, 23, 498, + 196, 1128, 887, 28, 15, 542, 178, 63, 1891, 117, + 272, 273, 274, 275, 551, 231, 562, 94, 555, 94, + 196, 3, 156, 658, 1642, 241, 196, 912, 552, 278, + 196, 80, 1915, 22, 1296, 44, 272, 273, 274, 275, + 174, 30, 196, 542, 284, 544, 545, 56, 1296, 811, + 1398, 1696, 551, 18, 1742, 76, 555, 223, 544, 1942, + 278, 560, 168, 562, 1640, 1201, 284, 1862, 1585, 175, + 1953, 80, 277, 1956, 208, 1414, 199, 200, 186, 708, + 1963, 605, 278, 1592, 1300, 824, 1213, 1214, 284, 1216, + 1217, 659, 1075, 601, 76, 878, 959, 273, 1622, 1187, + 1825, 1826, 858, 273, 1652, 196, 605, 273, 1083, 1904, + 618, 1195, 1297, 46, 284, 1639, 640, 946, 659, 273, + 846, 1896, 199, 200, 632, 784, 277, 98, 279, 118, + 1925, 44, 223, 37, 1077, 277, 145, 279, 1113, 638, + 84, 640, 1891, 17, 48, 644, 155, 85, 122, 117, + 139, 55, 18, 661, 1601, 59, 145, 31, 1605, 1606, + 799, 94, 272, 273, 274, 275, 1915, 80, 1943, 6, + 108, 180, 21, 117, 244, 79, 272, 273, 274, 275, + 61, 23, 273, 279, 23, 118, 28, 846, 156, 28, + 179, 227, 716, 1942, 1641, 23, 167, 832, 706, 143, + 28, 75, 146, 23, 1953, 713, 714, 1956, 28, 46, + 272, 273, 274, 275, 1963, 277, 82, 716, 162, 1955, + 23, 64, 199, 200, 6, 28, 164, 79, 23, 103, + 1730, 1358, 145, 28, 77, 203, 277, 141, 87, 276, + 1658, 282, 155, 279, 188, 1413, 1122, 272, 273, 274, + 275, 287, 277, 1380, 1139, 1140, 155, 100, 6, 55, + 759, 147, 114, 759, 46, 7, 1151, 180, 172, 1825, + 1826, 1780, 176, 1227, 126, 196, 800, 1786, 802, 914, + 804, 1445, 819, 182, 1227, 6, 325, 1590, 787, 196, + 1825, 1826, 6, 167, 333, 65, 795, 6, 46, 59, + 60, 800, 223, 802, 841, 804, 843, 1754, 151, 196, + 23, 1758, 811, 1189, 1378, 28, 223, 1825, 1826, 196, + 819, 820, 846, 1825, 1826, 46, 1773, 826, 852, 1825, + 1826, 830, 46, 65, 820, 1198, 23, 46, 906, 143, + 65, 28, 841, 1790, 843, 141, 278, 23, 1291, 857, + 118, 850, 28, 852, 878, 23, 864, 277, 162, 858, + 28, 265, 282, 23, 387, 906, 389, 875, 28, 1401, + 911, 139, 940, 941, 1406, 943, 172, 145, 140, 878, + 904, 905, 1041, 277, 1884, 279, 1886, 928, 1480, 278, + 280, 187, 98, 283, 1894, 203, 122, 205, 1341, 940, + 941, 277, 943, 23, 1267, 904, 905, 277, 28, 279, + 947, 179, 920, 124, 1825, 1826, 1075, 277, 174, 279, + 957, 122, 1869, 922, 124, 1872, 132, 277, 134, 279, + 922, 231, 232, 272, 273, 274, 275, 23, 232, 1939, + 279, 277, 28, 279, 272, 273, 274, 275, 947, 79, + 156, 279, 272, 273, 274, 275, 130, 131, 957, 279, + 23, 1908, 1589, 1562, 1563, 28, 965, 966, 1730, 272, + 273, 274, 275, 965, 156, 181, 279, 272, 273, 274, + 275, 23, 1730, 4, 279, 277, 28, 279, 1442, 1443, + 180, 277, 17, 279, 192, 16, 1450, 1451, 23, 1453, + 1454, 19, 277, 28, 279, 1390, 31, 1461, 1462, 1463, + 1464, 278, 1466, 1467, 1468, 1469, 1470, 1471, 277, 259, + 279, 1418, 23, 1505, 195, 196, 197, 28, 49, 1336, + 51, 1338, 277, 23, 279, 1420, 198, 1036, 28, 1174, + 1036, 23, 67, 1562, 1563, 1307, 28, 277, 1310, 279, + 75, 1075, 223, 224, 277, 277, 279, 279, 83, 272, + 273, 274, 275, 266, 1911, 1912, 279, 23, 162, 61, + 1069, 1070, 28, 277, 199, 279, 101, 10, 103, 1706, + 1480, 277, 1480, 279, 1083, 272, 273, 274, 275, 59, + 79, 116, 279, 118, 119, 120, 272, 273, 274, 275, + 277, 78, 279, 279, 272, 273, 274, 275, 1116, 190, + 149, 279, 272, 273, 274, 275, 1184, 172, 277, 279, + 279, 23, 1884, 82, 1886, 141, 28, 278, 63, 1197, + 61, 61, 1894, 244, 122, 1203, 1884, 1296, 1886, 122, + 174, 102, 167, 1184, 188, 1304, 1894, 123, 172, 156, + 65, 83, 272, 273, 274, 275, 1197, 121, 243, 279, + 155, 254, 1203, 23, 1163, 64, 255, 1191, 28, 30, + 254, 1195, 52, 174, 207, 277, 1168, 1939, 77, 192, + 23, 1180, 1321, 1322, 1323, 28, 272, 273, 274, 275, + 23, 1939, 1191, 279, 269, 28, 1195, 29, 755, 112, + 757, 100, 278, 63, 761, 762, 763, 135, 10, 272, + 273, 274, 275, 278, 278, 114, 279, 1844, 61, 1354, + 23, 1356, 278, 122, 1851, 28, 1611, 199, 278, 278, + 272, 273, 274, 275, 23, 278, 199, 279, 278, 28, + 278, 278, 1311, 278, 269, 270, 271, 272, 273, 274, + 275, 54, 151, 199, 1303, 278, 281, 97, 283, 1312, + 0, 1646, 1309, 278, 1263, 54, 278, 278, 277, 148, + 10, 272, 273, 274, 275, 281, 1300, 10, 1263, 1303, + 1304, 1416, 272, 273, 274, 275, 283, 278, 269, 279, + 272, 273, 274, 275, 278, 141, 283, 279, 1297, 63, + 166, 1300, 277, 277, 1303, 1304, 10, 269, 1307, 1308, + 1309, 1310, 1311, 1312, 283, 1899, 272, 273, 274, 275, + 278, 61, 1308, 279, 64, 83, 283, 1442, 1443, 1328, + 1329, 71, 277, 73, 1333, 1450, 1451, 77, 1453, 1454, + 239, 90, 82, 90, 90, 85, 1461, 1462, 1463, 1464, + 22, 1466, 1467, 1468, 1469, 1470, 1471, 298, 22, 43, + 100, 7, 10, 111, 263, 174, 208, 1526, 136, 174, + 272, 273, 274, 275, 114, 277, 136, 196, 23, 25, + 321, 21, 122, 28, 90, 23, 126, 33, 185, 330, + 28, 185, 278, 138, 40, 135, 42, 91, 44, 281, + 278, 278, 1787, 49, 1396, 278, 61, 10, 122, 277, + 56, 151, 272, 273, 274, 275, 128, 149, 121, 278, + 278, 1429, 189, 279, 70, 126, 1434, 61, 1587, 272, + 273, 274, 275, 21, 80, 284, 42, 82, 178, 272, + 273, 274, 275, 64, 82, 386, 174, 174, 202, 390, + 190, 6, 192, 987, 278, 989, 77, 991, 992, 1511, + 994, 995, 996, 60, 277, 190, 186, 10, 83, 272, + 273, 274, 275, 277, 240, 19, 43, 1476, 278, 100, + 278, 27, 86, 272, 273, 274, 275, 86, 22, 44, + 125, 1476, 125, 114, 17, 125, 156, 143, 154, 239, + 23, 56, 1526, 156, 150, 28, 278, 153, 31, 155, + 156, 98, 1511, 278, 108, 70, 278, 278, 277, 259, + 1519, 1520, 1521, 263, 279, 80, 63, 1526, 23, 16, + 151, 283, 184, 277, 180, 124, 276, 277, 107, 279, + 277, 63, 63, 278, 67, 71, 12, 278, 489, 239, + 48, 10, 75, 160, 495, 496, 497, 55, 279, 278, + 83, 59, 60, 1562, 1563, 280, 279, 10, 279, 279, + 68, 1730, 192, 133, 52, 1612, 52, 279, 101, 279, + 103, 79, 8, 229, 1743, 1584, 1585, 278, 1587, 278, + 145, 63, 278, 116, 51, 118, 119, 120, 244, 245, + 155, 278, 278, 1742, 17, 278, 192, 278, 278, 278, + 23, 278, 278, 1612, 173, 28, 278, 278, 31, 278, + 278, 267, 563, 127, 278, 180, 567, 272, 273, 274, + 275, 85, 279, 277, 272, 273, 274, 275, 277, 85, + 1684, 19, 263, 141, 167, 73, 130, 202, 279, 145, + 125, 125, 125, 279, 67, 125, 125, 125, 196, 157, + 279, 22, 75, 279, 278, 63, 279, 279, 279, 277, + 83, 51, 1771, 173, 172, 276, 36, 279, 176, 36, + 276, 82, 1681, 278, 276, 1684, 37, 51, 101, 187, + 103, 276, 276, 276, 276, 276, 1681, 48, 276, 276, + 276, 276, 276, 116, 55, 118, 119, 120, 206, 82, + 276, 276, 276, 276, 1713, 276, 70, 68, 280, 174, + 10, 23, 85, 79, 180, 1884, 44, 1886, 1772, 180, + 1767, 80, 1891, 80, 44, 1894, 1725, 279, 279, 94, + 124, 111, 111, 279, 1743, 1744, 269, 270, 271, 272, + 273, 274, 275, 278, 167, 279, 1915, 61, 281, 279, + 283, 279, 279, 1762, 1863, 279, 279, 265, 1767, 279, + 279, 279, 279, 1772, 125, 189, 279, 279, 279, 278, + 1939, 124, 279, 1942, 1836, 1793, 279, 279, 38, 1797, + 141, 277, 86, 94, 1953, 736, 279, 1956, 204, 79, + 82, 278, 246, 82, 1963, 122, 157, 210, 211, 212, + 213, 214, 215, 216, 217, 756, 66, 278, 278, 760, + 1819, 172, 122, 173, 277, 176, 767, 279, 179, 278, + 122, 772, 773, 47, 279, 44, 187, 1836, 1837, 279, + 180, 279, 50, 36, 94, 786, 1838, 788, 789, 790, + 791, 792, 793, 794, 0, 206, 269, 270, 271, 272, + 273, 274, 275, 47, 201, 0, 558, 1891, 281, 1319, + 283, 159, 159, 307, 160, 1899, 820, 310, 560, 1201, + 960, 720, 811, 1198, 1190, 1630, 965, 828, 935, 80, + 666, 1915, 1891, 398, 1883, 359, 1125, 1896, 852, 432, + 1899, 1191, 413, 888, 1195, 1629, 1609, 413, 849, 1611, + 1905, 1902, 1911, 1912, 265, 165, 1915, 1927, 1942, 1906, + 861, 1066, 863, 878, 1892, 0, 1717, 6, 800, 1953, + 9, 181, 1956, 1593, 13, 1351, 403, 646, 418, 1963, + 938, 20, 1404, 1942, 1943, 195, 196, 197, 396, 199, + 200, 930, 703, 32, 1953, 13, 1955, 1956, 343, 38, + 39, 165, 580, 828, 1963, 841, 576, 1083, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 90, 1337, 1856, + 753, 1681, 1476, 233, 234, 0, 861, 66, 0, 0, + 69, 818, 242, 1242, 1180, 588, 1078, 1360, 922, 1762, + 1289, 644, 94, 1519, -1, -1, -1, -1, -1, -1, + 17, -1, -1, -1, -1, 94, 23, 96, 97, -1, + -1, 28, -1, 273, 31, -1, -1, 106, -1, -1, + -1, 110, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 982, 983, 984, -1, -1, 987, 988, 989, -1, + 991, 992, 993, 994, 995, 996, -1, -1, -1, -1, + 67, -1, 1003, 1004, -1, 1006, -1, 1008, 75, -1, + 1011, 1012, 1013, 1014, 1015, 1016, 83, -1, -1, -1, + -1, -1, -1, -1, 163, -1, 165, 1028, -1, -1, + 1031, -1, 171, -1, 101, -1, 103, -1, -1, -1, + -1, -1, 181, -1, -1, -1, -1, -1, -1, 116, + -1, 118, 119, 120, -1, -1, 195, 196, 197, 198, 199, 200, 201, -1, 203, 204, 205, 206, -1, 208, - 209, -1, -1, -1, -1, -1, -1, 216, 217, 218, + 209, -1, -1, -1, -1, -1, 1077, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - -1, 230, -1, 13, 233, 234, -1, 236, 237, 238, - 20, 240, 241, 242, 243, -1, -1, 246, 247, 248, - 249, 250, 32, -1, -1, 254, 255, -1, 38, 39, + -1, 230, -1, -1, 233, 234, -1, 236, 237, 238, + 167, 240, 241, 242, 243, -1, -1, 246, 247, 248, + 249, 250, -1, -1, -1, 254, 255, -1, -1, -1, -1, 260, 261, 262, -1, 264, 265, 266, -1, 268, -1, -1, -1, 272, 273, -1, -1, -1, -1, 278, - -1, 280, -1, -1, -1, 284, 66, -1, -1, 69, + -1, 280, -1, -1, -1, 284, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 6, -1, -1, 9, -1, -1, + -1, 13, -1, -1, -1, -1, -1, -1, 20, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 32, -1, -1, -1, -1, -1, 38, 39, -1, -1, + -1, -1, 269, 270, 271, 272, 273, 274, 275, -1, + -1, -1, 279, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 66, -1, 1227, 69, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1240, + 1241, -1, 1243, 1244, -1, -1, -1, 17, -1, -1, + 1251, -1, 94, 23, 96, 97, -1, -1, 28, -1, + -1, 31, -1, -1, 106, -1, -1, -1, 110, -1, + 1271, -1, -1, -1, -1, -1, -1, -1, 1279, 1280, + 1281, -1, -1, -1, -1, -1, 1287, -1, 1289, 1290, + 1291, 1292, -1, -1, -1, -1, -1, 67, -1, -1, + -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, + -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, + -1, 163, -1, 165, -1, -1, -1, -1, -1, 171, + -1, 101, -1, 103, -1, -1, -1, -1, -1, 181, + 1341, -1, -1, -1, -1, -1, 116, -1, 118, 119, + 120, -1, -1, 195, 196, 197, 198, 199, 200, 201, + -1, 203, 204, 205, 206, -1, 208, 209, -1, -1, + -1, -1, 1373, -1, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, + -1, 233, 234, -1, 236, 237, 238, 167, 240, 241, + 242, 243, -1, -1, 246, 247, 248, 249, 250, -1, + -1, -1, 254, 255, -1, -1, -1, -1, 260, 261, + 262, -1, 264, 265, 266, -1, 268, 21, -1, -1, + 272, 273, -1, -1, -1, -1, 278, -1, 280, -1, + 1441, -1, 284, 37, -1, -1, 1447, -1, -1, -1, + -1, 1452, -1, -1, 48, -1, -1, -1, 1459, -1, + -1, 55, -1, -1, -1, 59, 60, -1, -1, -1, + -1, -1, -1, -1, 68, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, + -1, -1, -1, 1494, 1495, -1, -1, -1, -1, 269, + 270, 271, 272, 273, 274, 275, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1516, 6, -1, -1, 9, + -1, -1, -1, 13, -1, -1, -1, -1, -1, -1, + 20, -1, -1, -1, -1, -1, -1, -1, -1, 133, + -1, -1, 32, -1, -1, -1, -1, 141, 38, 39, + -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, 66, -1, 172, 69, + -1, -1, 176, -1, -1, -1, -1, 1588, -1, -1, + -1, -1, -1, 187, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 94, -1, 96, 97, -1, -1, + -1, -1, 206, 207, -1, -1, 106, -1, -1, -1, + 110, -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, -1, -1, -1, -1, -1, -1, + 1661, 27, -1, -1, -1, -1, 1667, 1668, -1, -1, + -1, 265, -1, 163, 268, 165, -1, -1, -1, -1, + -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, + 1691, 181, -1, -1, -1, 1696, -1, -1, 1699, -1, + -1, -1, 1703, 1704, -1, 195, 196, 197, 198, 199, + 200, 201, -1, 203, 204, 205, 206, -1, 208, 209, + -1, -1, -1, -1, -1, -1, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, + 230, -1, -1, 233, 234, -1, 236, 237, 238, -1, + 240, 241, 242, 243, -1, -1, 246, 247, 248, 249, + 250, -1, -1, -1, 254, 255, 6, -1, -1, 9, + 260, 261, 262, 13, 264, 265, 266, -1, 268, -1, + 20, -1, 272, 273, -1, -1, -1, -1, 278, -1, + 280, 1792, 32, -1, 284, -1, -1, -1, 38, 39, + -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, 66, -1, -1, 69, + -1, -1, 198, -1, -1, 201, -1, 203, 204, 205, + 206, -1, 208, -1, -1, -1, -1, -1, -1, -1, + 216, 217, -1, -1, 94, 1856, 96, 97, -1, -1, + -1, 227, 228, -1, 230, -1, 106, -1, -1, -1, + 110, 237, 238, -1, 240, 241, -1, 243, -1, -1, + 246, 247, 248, 249, 250, -1, -1, -1, 254, 255, + -1, -1, 1893, -1, 260, 261, 262, -1, 264, 265, + 266, -1, 268, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 278, -1, 30, -1, -1, -1, -1, -1, + -1, -1, -1, 163, -1, 165, -1, -1, -1, -1, + -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 195, 196, 197, 198, 199, + 200, 201, -1, 203, 204, 205, 206, -1, 208, 209, + -1, -1, -1, -1, -1, -1, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, + 230, -1, -1, 233, 234, -1, 236, 237, 238, -1, + 240, 241, 242, 243, -1, -1, 246, 247, 248, 249, + 250, -1, -1, -1, 254, 255, 6, -1, -1, 9, + 260, 261, 262, 13, 264, 265, 266, -1, 268, -1, + 20, -1, 272, 273, -1, -1, -1, -1, 278, -1, + 280, -1, 32, -1, 284, -1, -1, -1, 38, 39, + -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, 66, -1, -1, 69, + -1, -1, 198, -1, -1, 201, -1, 203, 204, 205, + 206, -1, 208, -1, -1, -1, -1, -1, -1, -1, + 216, 217, -1, -1, 94, -1, 96, 97, -1, -1, + -1, 227, 228, -1, 230, -1, 106, -1, -1, -1, + 110, 237, 238, -1, 240, 241, -1, 243, -1, -1, + 246, 247, 248, 249, 250, -1, -1, -1, 254, 255, + -1, -1, -1, -1, 260, 261, 262, -1, 264, 265, + 266, -1, 268, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, + -1, -1, -1, 163, -1, 165, -1, -1, -1, -1, + -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 195, 196, 197, 198, 199, + 200, 201, -1, 203, 204, 205, 206, -1, 208, 209, + -1, -1, -1, -1, -1, -1, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, + 230, -1, -1, 233, 234, -1, 236, 237, 238, -1, + 240, 241, 242, 243, -1, -1, 246, 247, 248, 249, + 250, -1, -1, -1, 254, 255, 6, -1, -1, 9, + 260, 261, 262, 13, 264, 265, 266, -1, 268, -1, + 20, -1, 272, 273, -1, -1, -1, -1, 278, -1, + 280, -1, 32, -1, 284, -1, -1, -1, 38, 39, + -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, 66, -1, -1, 69, + -1, -1, 198, -1, -1, 201, -1, 203, 204, 205, + 206, -1, 208, -1, -1, -1, -1, -1, -1, -1, + 216, 217, -1, -1, 94, -1, 96, 97, -1, -1, + -1, 227, 228, -1, 230, -1, 106, -1, -1, -1, + 110, 237, 238, -1, 240, 241, -1, 243, -1, -1, + 246, 247, 248, 249, 250, -1, -1, -1, 254, 255, + -1, -1, -1, -1, 260, 261, 262, -1, 264, 265, + 266, -1, 268, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 163, 39, 165, -1, -1, -1, -1, + -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 195, 196, 197, 198, 199, + 200, 201, -1, 203, 204, 205, 206, -1, 208, 209, + -1, -1, -1, -1, -1, -1, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, + 230, -1, -1, 233, 234, -1, 236, 237, 238, -1, + 240, 241, 242, 243, -1, -1, 246, 247, 248, 249, + 250, -1, -1, -1, 254, 255, 6, -1, -1, 9, + 260, 261, 262, 13, 264, 265, 266, -1, 268, -1, + 20, -1, 272, 273, -1, -1, -1, -1, 278, -1, + 280, -1, 32, -1, 284, -1, -1, -1, 38, 39, + -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, 66, -1, -1, 69, + -1, -1, -1, 198, -1, -1, 201, -1, 203, 204, + 205, 206, -1, 208, -1, -1, -1, -1, -1, -1, + -1, 216, 217, -1, 94, -1, 96, 97, -1, -1, + -1, -1, 227, 228, -1, 230, 106, -1, -1, -1, + 110, -1, 237, 238, -1, 240, 241, -1, 243, -1, + -1, 246, 247, 248, 249, 250, -1, -1, -1, 254, + 255, -1, -1, -1, -1, 260, 261, 262, -1, 264, + 265, 266, -1, 268, -1, -1, -1, -1, -1, 274, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 163, -1, 165, -1, -1, -1, -1, + -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 195, 196, 197, 198, 199, + 200, 201, -1, 203, 204, 205, 206, -1, 208, 209, + -1, -1, -1, -1, -1, -1, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, + 230, -1, -1, 233, 234, -1, 236, 237, 238, -1, + 240, 241, 242, 243, -1, -1, 246, 247, 248, 249, + 250, -1, -1, -1, 254, 255, 6, -1, -1, 9, + 260, 261, 262, 13, 264, 265, 266, -1, 268, -1, + 20, -1, 272, 273, -1, -1, -1, -1, 278, 155, + 280, -1, 32, -1, 284, -1, -1, -1, 38, 39, + -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, 66, -1, -1, 69, -1, -1, 198, -1, -1, 201, -1, 203, 204, 205, 206, -1, 208, -1, -1, -1, -1, -1, -1, -1, 216, 217, -1, -1, 94, -1, 96, 97, -1, -1, @@ -3373,31 +3249,56 @@ static const short yycheck[] = -1, -1, -1, -1, 260, 261, 262, -1, 264, 265, 266, -1, 268, -1, -1, -1, -1, -1, -1, -1, -1, -1, 278, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 165, -1, -1, -1, -1, + -1, -1, -1, 163, -1, 165, -1, -1, -1, -1, -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 181, -1, -1, -1, -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, 195, 196, 197, 198, 199, 200, 201, -1, 203, 204, 205, 206, -1, 208, 209, - -1, -1, -1, -1, -1, -1, 216, 217, 218, 219, + -1, 108, -1, -1, -1, -1, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, 13, 233, 234, -1, 236, 237, 238, 20, 240, 241, 242, 243, -1, -1, 246, 247, 248, 249, 250, 32, -1, -1, 254, 255, -1, 38, 39, -1, - 260, 261, 262, -1, 264, 265, 266, -1, 268, -1, - -1, -1, 272, 273, 274, -1, -1, -1, 278, -1, + 260, 261, 262, -1, 264, 265, 266, 164, 268, -1, + -1, -1, 272, 273, -1, -1, 57, -1, 278, -1, 280, -1, -1, -1, 284, 66, -1, -1, 69, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 198, -1, -1, 201, -1, 203, 204, 205, 206, + -1, 208, -1, 94, -1, 96, 97, -1, -1, 216, + 217, -1, -1, -1, -1, 106, -1, -1, -1, 110, + 227, 228, -1, 230, -1, -1, -1, 118, -1, -1, + 237, 238, -1, 240, 241, -1, 243, -1, -1, 246, + 247, 248, 249, 250, -1, -1, -1, 254, 255, -1, + -1, -1, -1, 260, 261, 262, -1, 264, 265, 266, + -1, 268, -1, -1, 155, -1, -1, -1, 159, -1, + -1, -1, -1, -1, 165, -1, -1, -1, -1, -1, + 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 195, 196, 197, 198, 199, 200, + 201, -1, 203, 204, 205, 206, -1, 208, 209, -1, + -1, -1, -1, -1, -1, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, + -1, -1, 233, 234, -1, 236, 237, 238, -1, 240, + 241, 242, 243, -1, -1, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 255, -1, -1, -1, -1, 260, + 261, 262, 13, 264, 265, 266, -1, 268, -1, 20, + -1, 272, 273, -1, -1, -1, -1, 278, -1, 280, + -1, 32, -1, 284, 35, -1, -1, 38, 39, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 181, -1, 57, -1, -1, -1, + -1, -1, -1, -1, -1, 66, -1, -1, 69, -1, -1, 198, -1, -1, 201, -1, 203, 204, 205, 206, -1, 208, -1, -1, -1, -1, -1, -1, -1, 216, 217, -1, -1, 94, -1, 96, 97, -1, -1, -1, 227, 228, -1, 230, -1, 106, -1, -1, -1, 110, - 237, 238, -1, 240, 241, -1, 243, -1, -1, 246, + 237, 238, -1, 240, 241, -1, 243, 118, -1, 246, 247, 248, 249, 250, -1, -1, -1, 254, 255, -1, -1, -1, -1, 260, 261, 262, -1, 264, 265, 266, - -1, 268, -1, -1, -1, -1, -1, -1, -1, 276, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 268, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 159, -1, -1, -1, -1, -1, 165, -1, -1, -1, -1, -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 181, -1, -1, -1, -1, -1, -1, -1, 189, -1, + 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 195, 196, 197, 198, 199, 200, 201, -1, 203, 204, 205, 206, -1, 208, 209, -1, -1, -1, -1, -1, -1, 216, 217, 218, 219, 220, @@ -3406,17 +3307,17 @@ static const short yycheck[] = 241, 242, 243, -1, -1, 246, 247, 248, 249, 250, 32, -1, -1, 254, 255, -1, 38, 39, -1, 260, 261, 262, -1, 264, 265, 266, -1, 268, -1, -1, - -1, 272, 273, -1, -1, -1, -1, 278, -1, 280, - -1, -1, -1, 284, 66, -1, -1, 69, 196, -1, + -1, 272, 273, -1, -1, 57, -1, 278, -1, 280, + -1, -1, -1, 284, 66, -1, -1, 69, -1, -1, 198, -1, -1, 201, -1, 203, 204, 205, 206, -1, 208, -1, -1, -1, -1, -1, -1, -1, 216, 217, -1, -1, 94, -1, 96, 97, -1, -1, -1, 227, 228, -1, 230, -1, 106, -1, -1, -1, 110, 237, - 238, -1, 240, 241, -1, 243, -1, -1, 246, 247, + 238, -1, 240, 241, -1, 243, 118, -1, 246, 247, 248, 249, 250, -1, -1, -1, 254, 255, -1, -1, -1, -1, 260, 261, 262, -1, 264, 265, 266, -1, - 268, -1, -1, -1, -1, 273, -1, -1, -1, -1, - -1, -1, -1, 155, -1, -1, -1, -1, -1, -1, + 268, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 278, -1, 280, -1, -1, -1, -1, 159, -1, -1, -1, -1, -1, 165, -1, -1, -1, -1, -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -3428,17 +3329,17 @@ static const short yycheck[] = 242, 243, -1, -1, 246, 247, 248, 249, 250, 32, -1, -1, 254, 255, -1, 38, 39, -1, 260, 261, 262, -1, 264, 265, 266, -1, 268, -1, -1, -1, - 272, 273, -1, -1, -1, -1, 278, -1, 280, -1, + 272, 273, -1, -1, 57, -1, 278, -1, 280, -1, -1, -1, 284, 66, -1, -1, 69, -1, -1, 198, -1, -1, 201, -1, 203, 204, 205, 206, -1, 208, -1, -1, -1, -1, -1, -1, -1, 216, 217, -1, -1, 94, -1, 96, 97, -1, -1, -1, 227, 228, -1, 230, -1, 106, -1, -1, -1, 110, 237, 238, - -1, 240, 241, -1, 243, -1, -1, 246, 247, 248, + -1, 240, 241, -1, 243, 118, -1, 246, 247, 248, 249, 250, -1, -1, -1, 254, 255, -1, -1, -1, -1, 260, 261, 262, -1, 264, 265, 266, -1, 268, - -1, -1, -1, -1, -1, 274, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 280, -1, -1, -1, -1, 159, -1, -1, -1, -1, -1, 165, -1, -1, -1, -1, -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -3450,20 +3351,20 @@ static const short yycheck[] = 243, -1, -1, 246, 247, 248, 249, 250, 32, -1, -1, 254, 255, -1, 38, 39, -1, 260, 261, 262, -1, 264, 265, 266, -1, 268, -1, -1, -1, 272, - 273, -1, -1, -1, -1, 278, 279, 280, -1, -1, + 273, -1, -1, 57, -1, 278, -1, 280, -1, -1, -1, 284, 66, -1, -1, 69, -1, -1, 198, -1, -1, 201, -1, 203, 204, 205, 206, -1, 208, -1, -1, -1, -1, -1, -1, -1, 216, 217, -1, -1, 94, -1, 96, 97, -1, -1, -1, 227, 228, -1, 230, -1, 106, -1, -1, -1, 110, 237, 238, -1, - 240, 241, -1, 243, -1, -1, 246, 247, 248, 249, + 240, 241, -1, 243, 118, -1, 246, 247, 248, 249, 250, -1, -1, -1, 254, 255, -1, -1, -1, -1, 260, 261, 262, -1, 264, 265, 266, -1, 268, -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, 278, -1, + -1, -1, -1, -1, -1, 159, -1, -1, -1, -1, -1, 165, -1, -1, -1, -1, -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, 181, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 192, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 195, 196, 197, 198, 199, 200, 201, -1, 203, 204, 205, 206, -1, 208, 209, -1, -1, -1, -1, -1, -1, 216, 217, 218, 219, 220, 221, 222, 223, @@ -3473,19 +3374,19 @@ static const short yycheck[] = 254, 255, -1, 38, 39, -1, 260, 261, 262, -1, 264, 265, 266, -1, 268, -1, -1, -1, 272, 273, -1, -1, -1, -1, 278, -1, 280, -1, -1, -1, - 284, 66, -1, -1, 69, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, - -1, 96, 97, -1, -1, -1, -1, -1, -1, -1, - -1, 106, -1, -1, -1, 110, -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, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 284, 66, -1, -1, 69, -1, -1, 198, -1, -1, + 201, -1, 203, 204, 205, 206, -1, 208, -1, -1, + -1, -1, -1, -1, -1, 216, 217, -1, -1, 94, + -1, 96, 97, -1, -1, -1, 227, 228, -1, 230, + -1, 106, -1, -1, -1, 110, 237, 238, -1, 240, + 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, + -1, -1, -1, 254, 255, -1, -1, -1, -1, 260, + 261, 262, -1, 264, 265, 266, -1, 268, -1, -1, + -1, -1, -1, -1, -1, 276, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 165, -1, -1, -1, -1, -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 192, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 195, 196, 197, 198, 199, 200, 201, -1, 203, 204, 205, 206, -1, 208, 209, -1, -1, -1, -1, -1, -1, 216, 217, 218, 219, 220, 221, 222, 223, 224, @@ -3493,21 +3394,21 @@ static const short yycheck[] = -1, 236, 237, 238, 20, 240, 241, 242, 243, -1, -1, 246, 247, 248, 249, 250, 32, -1, -1, 254, 255, -1, 38, 39, -1, 260, 261, 262, -1, 264, - 265, 266, -1, 268, -1, -1, -1, 272, 273, -1, + 265, 266, -1, 268, -1, -1, -1, 272, 273, 274, -1, -1, -1, 278, -1, 280, -1, -1, -1, 284, - 66, -1, -1, 69, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, - 96, 97, -1, -1, -1, -1, -1, -1, -1, -1, - 106, -1, -1, -1, 110, -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, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 66, -1, -1, 69, 196, -1, 198, -1, -1, 201, + -1, 203, 204, 205, 206, -1, 208, -1, -1, -1, + -1, -1, -1, -1, 216, 217, -1, -1, 94, -1, + 96, 97, -1, -1, -1, 227, 228, -1, 230, -1, + 106, -1, -1, -1, 110, 237, 238, -1, 240, 241, + -1, 243, -1, -1, 246, 247, 248, 249, 250, -1, + -1, -1, 254, 255, -1, -1, -1, -1, 260, 261, + 262, -1, 264, 265, 266, -1, 268, -1, -1, -1, + -1, 273, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 165, -1, -1, -1, -1, -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 195, + -1, -1, -1, 189, -1, -1, -1, -1, -1, 195, 196, 197, 198, 199, 200, 201, -1, 203, 204, 205, 206, -1, 208, 209, -1, -1, -1, -1, -1, -1, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, @@ -3517,133 +3418,242 @@ static const short yycheck[] = -1, 38, 39, -1, 260, 261, 262, -1, 264, 265, 266, -1, 268, -1, -1, -1, 272, 273, -1, -1, -1, -1, 278, -1, 280, -1, -1, -1, 284, 66, - -1, -1, 69, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 94, -1, 96, - 97, -1, -1, -1, -1, -1, -1, -1, -1, 106, - -1, -1, -1, 110, -1, -1, -1, 6, -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, -1, -1, -1, -1, 44, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 56, 165, -1, + -1, -1, 69, -1, -1, 198, -1, -1, 201, -1, + 203, 204, 205, 206, -1, 208, -1, -1, -1, -1, + -1, -1, -1, 216, 217, -1, -1, 94, -1, 96, + 97, -1, -1, -1, 227, 228, -1, 230, -1, 106, + -1, -1, -1, 110, 237, 238, -1, 240, 241, -1, + 243, -1, -1, 246, 247, 248, 249, 250, -1, -1, + -1, 254, 255, -1, -1, -1, -1, 260, 261, 262, + -1, 264, 265, 266, -1, 268, -1, -1, -1, -1, + -1, 274, -1, -1, -1, -1, -1, -1, 155, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 165, -1, -1, -1, -1, -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, 181, -1, -1, -1, -1, -1, - -1, 80, -1, -1, -1, -1, -1, -1, 195, 196, + -1, -1, -1, -1, -1, -1, -1, -1, 195, 196, 197, 198, 199, 200, 201, -1, 203, 204, 205, 206, -1, 208, 209, -1, -1, -1, -1, -1, -1, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, 230, -1, -1, 233, 234, -1, 236, - 237, 238, -1, 240, 241, 242, 243, -1, -1, 246, - 247, 248, 249, 250, -1, -1, 145, 254, 255, -1, - 16, -1, -1, 260, 261, 262, 155, 264, 265, 266, + 227, 228, -1, 230, -1, 13, 233, 234, -1, 236, + 237, 238, 20, 240, 241, 242, 243, -1, -1, 246, + 247, 248, 249, 250, 32, -1, -1, 254, 255, -1, + 38, 39, -1, 260, 261, 262, -1, 264, 265, 266, -1, 268, -1, -1, -1, 272, 273, -1, -1, -1, - -1, 278, -1, 280, -1, -1, -1, 284, 44, -1, - -1, 180, -1, -1, -1, 51, -1, -1, -1, 55, - 56, -1, 58, -1, -1, -1, -1, -1, -1, 198, - -1, -1, 201, -1, 203, 204, 205, 206, 74, 208, - -1, -1, -1, -1, 80, -1, -1, 216, 217, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 227, 228, - -1, 230, -1, -1, -1, -1, -1, -1, 237, 238, - -1, 240, 241, -1, 243, -1, -1, 246, 247, 248, - 249, 250, -1, -1, -1, 254, 255, -1, 16, -1, + -1, 278, -1, 280, -1, -1, -1, 284, 66, -1, + -1, 69, -1, -1, 198, -1, -1, 201, -1, 203, + 204, 205, 206, -1, 208, -1, -1, -1, -1, -1, + -1, -1, 216, 217, -1, -1, 94, -1, 96, 97, + -1, -1, -1, 227, 228, -1, 230, -1, 106, -1, + -1, -1, 110, 237, 238, -1, 240, 241, -1, 243, + -1, -1, 246, 247, 248, 249, 250, -1, -1, -1, + 254, 255, -1, -1, -1, -1, 260, 261, 262, -1, + 264, 265, 266, -1, 268, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 165, -1, -1, + -1, -1, -1, 171, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 181, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 195, 196, 197, + 198, 199, 200, 201, -1, 203, 204, 205, 206, -1, + 208, 209, -1, -1, -1, -1, -1, -1, 216, 217, + 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, + 228, -1, 230, -1, 13, 233, 234, -1, 236, 237, + 238, 20, 240, 241, 242, 243, -1, -1, 246, 247, + 248, 249, 250, 32, -1, -1, 254, 255, -1, 38, + 39, -1, 260, 261, 262, -1, 264, 265, 266, -1, + 268, -1, -1, -1, 272, 273, -1, -1, -1, -1, + 278, 279, 280, -1, -1, -1, 284, 66, -1, -1, + 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 94, -1, 96, 97, -1, + -1, -1, -1, -1, -1, -1, -1, 106, -1, -1, + -1, 110, -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, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 165, -1, -1, -1, + -1, -1, 171, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 192, -1, -1, 195, 196, 197, 198, + 199, 200, 201, -1, 203, 204, 205, 206, -1, 208, + 209, -1, -1, -1, -1, -1, -1, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + -1, 230, -1, 13, 233, 234, -1, 236, 237, 238, + 20, 240, 241, 242, 243, -1, -1, 246, 247, 248, + 249, 250, 32, -1, -1, 254, 255, -1, 38, 39, -1, 260, 261, 262, -1, 264, 265, 266, -1, 268, - -1, 137, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 44, -1, -1, 155, - -1, -1, -1, 51, -1, -1, -1, 55, 56, -1, - 58, -1, -1, -1, 170, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 180, -1, 74, -1, -1, -1, - -1, -1, 80, 189, -1, -1, -1, -1, -1, -1, - -1, -1, 198, -1, -1, 201, -1, 203, 204, 205, - 206, -1, 208, -1, -1, -1, -1, -1, -1, -1, - 216, 217, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 227, 228, -1, 230, -1, -1, -1, -1, -1, - -1, 237, 238, -1, 240, 241, -1, 243, -1, 137, - 246, 247, 248, 249, 250, -1, -1, -1, 254, 255, - 256, 257, 258, 16, 260, 261, 262, 155, 264, 265, - 266, -1, 268, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 170, -1, -1, -1, -1, -1, -1, -1, - -1, 44, 180, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 55, 56, -1, 58, -1, -1, -1, -1, - 198, -1, -1, 201, -1, 203, 204, 205, 206, -1, - 208, 74, -1, -1, -1, -1, -1, 80, 216, 217, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 227, - 228, -1, 230, -1, -1, -1, -1, -1, -1, 237, - 238, -1, 240, 241, -1, 243, -1, -1, 246, 247, - 248, 249, 250, -1, -1, -1, 254, 255, 256, 257, - 258, -1, 260, 261, 262, -1, 264, 265, 266, -1, - 268, -1, -1, -1, 137, -1, -1, -1, -1, -1, + -1, -1, -1, 272, 273, -1, -1, -1, -1, 278, + -1, 280, -1, -1, -1, 284, 66, -1, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 155, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 94, -1, 96, 97, -1, -1, + -1, -1, -1, -1, -1, -1, 106, -1, -1, -1, + 110, -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, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 165, -1, -1, -1, -1, + -1, 171, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 192, -1, -1, 195, 196, 197, 198, 199, + 200, 201, -1, 203, 204, 205, 206, -1, 208, 209, + -1, -1, -1, -1, -1, -1, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, + 230, -1, 13, 233, 234, -1, 236, 237, 238, 20, + 240, 241, 242, 243, -1, -1, 246, 247, 248, 249, + 250, 32, -1, -1, 254, 255, -1, 38, 39, -1, + 260, 261, 262, -1, 264, 265, 266, -1, 268, -1, + -1, -1, 272, 273, -1, -1, -1, -1, 278, -1, + 280, -1, -1, -1, 284, 66, -1, -1, 69, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 94, -1, 96, 97, -1, -1, -1, + -1, -1, -1, -1, -1, 106, -1, -1, -1, 110, + -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, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 165, -1, -1, -1, -1, -1, + 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 195, 196, 197, 198, 199, 200, + 201, -1, 203, 204, 205, 206, -1, 208, 209, -1, + -1, -1, -1, -1, -1, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 226, 227, 228, -1, 230, + -1, 13, 233, 234, -1, 236, 237, 238, 20, 240, + 241, 242, 243, -1, -1, 246, 247, 248, 249, 250, + 32, -1, -1, 254, 255, -1, 38, 39, -1, 260, + 261, 262, -1, 264, 265, 266, -1, 268, -1, -1, + -1, 272, 273, -1, -1, -1, -1, 278, -1, 280, + -1, -1, -1, 284, 66, -1, -1, 69, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 94, -1, 96, 97, -1, -1, -1, -1, + -1, -1, -1, -1, 106, -1, -1, -1, 110, -1, + -1, -1, 6, -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, -1, -1, -1, -1, + 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 56, 165, -1, -1, -1, -1, -1, 171, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 181, + -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, + -1, -1, -1, 195, 196, 197, 198, 199, 200, 201, + -1, 203, 204, 205, 206, -1, 208, 209, -1, -1, + -1, -1, -1, -1, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 226, 227, 228, -1, 230, -1, + -1, 233, 234, -1, 236, 237, 238, -1, 240, 241, + 242, 243, -1, -1, 246, 247, 248, 249, 250, -1, + -1, 145, 254, 255, -1, 16, -1, -1, 260, 261, + 262, 155, 264, 265, 266, -1, 268, -1, -1, -1, + 272, 273, -1, -1, -1, -1, 278, -1, 280, -1, + -1, -1, 284, 44, -1, -1, 180, -1, -1, -1, + 51, -1, -1, -1, 55, 56, -1, 58, -1, -1, + -1, -1, -1, -1, 198, -1, -1, 201, -1, 203, + 204, 205, 206, 74, 208, -1, -1, -1, -1, 80, + -1, -1, 216, 217, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 227, 228, -1, 230, -1, -1, -1, + -1, -1, -1, 237, 238, -1, 240, 241, -1, 243, + -1, -1, 246, 247, 248, 249, 250, -1, -1, -1, + 254, 255, -1, 16, -1, -1, 260, 261, 262, -1, + 264, 265, 266, -1, 268, -1, 137, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 44, -1, -1, 155, -1, -1, -1, 51, -1, + -1, -1, 55, 56, -1, 58, -1, -1, -1, 170, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 180, + -1, 74, -1, -1, -1, -1, -1, 80, 189, -1, + -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, + 201, -1, 203, 204, 205, 206, -1, 208, -1, -1, + -1, -1, -1, -1, -1, 216, 217, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 227, 228, -1, 230, + -1, -1, -1, -1, -1, -1, 237, 238, -1, 240, + 241, -1, 243, -1, 137, 246, 247, 248, 249, 250, + -1, -1, -1, 254, 255, 256, 257, 258, 16, 260, + 261, 262, 155, 264, 265, 266, -1, 268, -1, -1, -1, -1, -1, -1, -1, -1, -1, 170, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 180, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 198, -1, -1, 201, -1, - 203, 204, 205, 206, -1, 208, 18, -1, -1, 21, - -1, -1, -1, 216, 217, 27, -1, -1, -1, -1, - -1, -1, -1, -1, 227, 228, 38, 230, -1, 41, + -1, -1, -1, -1, -1, -1, 44, 180, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 55, 56, -1, + 58, -1, -1, -1, -1, 198, -1, -1, 201, -1, + 203, 204, 205, 206, -1, 208, 74, -1, -1, -1, + -1, -1, 80, 216, 217, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 227, 228, -1, 230, -1, -1, -1, -1, -1, -1, 237, 238, -1, 240, 241, -1, 243, -1, -1, 246, 247, 248, 249, 250, -1, -1, -1, 254, 255, 256, 257, 258, -1, 260, 261, 262, - -1, 264, 265, 266, -1, 268, -1, -1, -1, 81, - -1, -1, -1, -1, -1, 87, 88, 89, -1, 91, - 92, 93, -1, 95, -1, -1, -1, -1, -1, -1, + -1, 264, 265, 266, -1, 268, -1, -1, -1, 137, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 113, -1, 115, 18, -1, -1, 21, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 155, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 38, -1, -1, 41, -1, -1, - -1, -1, 144, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 161, + -1, -1, 170, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 180, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, - -1, 183, -1, 87, 88, 89, -1, 91, 92, 93, - -1, 95, -1, -1, -1, -1, 198, -1, -1, 201, - -1, 203, 204, 205, 206, -1, 208, -1, -1, 113, - -1, 115, -1, -1, 216, 217, 218, 219, -1, -1, - -1, -1, -1, -1, -1, 227, 228, -1, 230, -1, - -1, -1, -1, 235, -1, 237, 238, -1, 240, 241, - 144, 243, -1, -1, 246, 247, 248, 249, 250, -1, - -1, -1, 254, 255, -1, -1, -1, 161, 260, 261, - 262, -1, 264, 265, 266, -1, 268, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, + 198, -1, -1, 201, -1, 203, 204, 205, 206, -1, + 208, 18, -1, -1, 21, -1, -1, -1, 216, 217, + 27, -1, -1, -1, -1, -1, -1, -1, -1, 227, + 228, 38, 230, -1, 41, -1, -1, -1, -1, 237, + 238, -1, 240, 241, -1, 243, -1, -1, 246, 247, + 248, 249, 250, -1, -1, -1, 254, 255, 256, 257, + 258, -1, 260, 261, 262, -1, 264, 265, 266, -1, + 268, -1, -1, -1, 81, -1, -1, -1, -1, -1, + 87, 88, 89, -1, 91, 92, 93, -1, 95, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 198, -1, -1, 201, -1, 203, - 204, 205, 206, -1, 208, 18, -1, -1, 21, -1, - -1, -1, 216, 217, 218, 219, -1, -1, -1, -1, - -1, 34, -1, 227, 228, 38, 230, -1, 41, -1, - -1, 235, -1, 237, 238, -1, 240, 241, -1, 243, - -1, -1, 246, 247, 248, 249, 250, -1, -1, 18, - 254, 255, 21, -1, -1, -1, 260, 261, 262, -1, - 264, 265, 266, -1, 268, -1, -1, -1, 81, 38, - -1, -1, 41, -1, 87, 88, 89, -1, 91, 92, - 93, -1, 95, -1, -1, -1, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 113, -1, 115, 18, + -1, -1, 21, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, + -1, -1, 41, -1, -1, -1, -1, 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 113, -1, 115, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 81, -1, -1, -1, -1, -1, 87, 88, + -1, -1, -1, -1, 161, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 81, -1, -1, -1, 183, -1, 87, 88, 89, -1, 91, 92, 93, -1, 95, -1, -1, -1, - -1, 144, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 113, -1, 115, -1, 161, -1, - -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 183, -1, -1, -1, -1, 144, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 176, 161, -1, -1, -1, 181, -1, -1, -1, - -1, -1, 187, -1, -1, 218, 219, -1, -1, -1, - -1, -1, -1, 198, 183, -1, 201, -1, 203, 204, - 205, 206, 235, 208, -1, -1, -1, -1, -1, -1, - -1, 216, 217, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 227, 228, -1, 230, -1, -1, -1, 218, - 219, -1, 237, 238, -1, 240, 241, -1, 243, -1, - -1, 246, 247, 248, 249, 250, 235, -1, -1, 254, - 255, -1, -1, -1, -1, 260, 261, 262, -1, 264, - 265, 266, 198, 268, -1, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, -1, -1, 225, - 226, 227, 228, 229, 230, -1, -1, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, -1, -1, -1, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268 + -1, 198, -1, -1, 201, -1, 203, 204, 205, 206, + -1, 208, -1, -1, 113, -1, 115, -1, -1, 216, + 217, 218, 219, -1, -1, -1, -1, -1, -1, -1, + 227, 228, -1, 230, -1, -1, -1, -1, 235, -1, + 237, 238, -1, 240, 241, 144, 243, -1, -1, 246, + 247, 248, 249, 250, -1, -1, -1, 254, 255, -1, + -1, -1, 161, 260, 261, 262, -1, 264, 265, 266, + -1, 268, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 183, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 198, + -1, -1, 201, -1, 203, 204, 205, 206, -1, 208, + 18, -1, -1, 21, -1, -1, -1, 216, 217, 218, + 219, -1, -1, -1, -1, -1, 34, -1, 227, 228, + 38, 230, -1, 41, -1, -1, 235, -1, 237, 238, + -1, 240, 241, -1, 243, -1, -1, 246, 247, 248, + 249, 250, -1, -1, 18, 254, 255, 21, -1, -1, + -1, 260, 261, 262, -1, 264, 265, 266, -1, 268, + -1, -1, -1, 81, 38, -1, -1, 41, -1, 87, + 88, 89, -1, 91, 92, 93, -1, 95, -1, -1, + -1, 71, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 113, -1, 115, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 81, -1, -1, + -1, -1, -1, 87, 88, 89, -1, 91, 92, 93, + -1, 95, -1, -1, -1, -1, 144, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 113, + -1, 115, -1, 161, -1, -1, -1, -1, -1, -1, + -1, 141, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 183, -1, -1, -1, -1, + 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 176, 161, -1, -1, + -1, 181, -1, -1, -1, -1, -1, 187, -1, -1, + 218, 219, -1, -1, -1, -1, -1, -1, 198, 183, + -1, 201, -1, 203, 204, 205, 206, 235, 208, -1, + -1, -1, -1, -1, -1, -1, 216, 217, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 227, 228, -1, + 230, -1, -1, -1, 218, 219, -1, 237, 238, -1, + 240, 241, -1, 243, -1, -1, 246, 247, 248, 249, + 250, 235, -1, -1, 254, 255, -1, -1, -1, -1, + 260, 261, 262, -1, 264, 265, 266, 198, 268, -1, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, + 221, 222, -1, -1, 225, 226, 227, 228, 229, 230, + -1, -1, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + -1, -1, -1, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ @@ -5341,8 +5351,7 @@ case 413: yyvsp[-1], make_list (yyvsp[0])); } break; case 414: -{ yyval = make_node (nod_mod_index, - (int) e_mod_idx_count, yyvsp[0]); } +{ yyval = make_node (nod_mod_index, (int) e_mod_idx_count, yyvsp[0]); } break; case 415: { yyval = yyvsp[0]; } @@ -5351,67 +5360,67 @@ case 416: { yyval = yyvsp[0]; } break; case 417: +{ yyval = yyvsp[0]; } + break; +case 418: { yyval = make_node (nod_def_constraint, (int) e_cnstr_count, MAKE_string(NULL_STRING, 0), NULL, NULL, NULL, yyvsp[-2], NULL, yyvsp[0], NULL, NULL); } break; -case 419: +case 420: { yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } break; -case 420: +case 421: { yyval = make_node (nod_def_default, (int) e_dft_count, yyvsp[-1], yyvsp[0]); } break; -case 421: -{ yyval = yyvsp[0]; } - break; case 422: { yyval = yyvsp[0]; } break; case 423: -{yyval = make_node (nod_del_default, (int) 0, NULL); } +{ yyval = yyvsp[0]; } break; case 424: -{ yyval = make_node (nod_delete_rel_constraint, (int) 1, NULL); } +{yyval = make_node (nod_del_default, (int) 0, NULL); } break; case 425: -{ yyval = yyvsp[0]; } +{ yyval = make_node (nod_delete_rel_constraint, (int) 1, NULL); } break; case 426: +{ yyval = yyvsp[0]; } + break; +case 427: { yyval = make_node (nod_mod_domain_type, 2, yyvsp[-1]); } break; -case 428: +case 429: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 429: +case 430: { yyval = make_node (nod_del_field, 2, yyvsp[-1], yyvsp[0]); } break; -case 430: -{ yyval = make_node (nod_delete_rel_constraint, (int) 1, yyvsp[0]);} - break; case 431: -{ yyval = yyvsp[0]; } +{ yyval = make_node (nod_delete_rel_constraint, (int) 1, yyvsp[0]);} break; case 432: { yyval = yyvsp[0]; } break; case 433: +{ yyval = yyvsp[0]; } + break; +case 434: { yyval = make_node (nod_mod_field_pos, 2, yyvsp[-2], MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SLONG)); } break; -case 434: +case 435: { yyval = make_node (nod_mod_field_name, 2, yyvsp[-2], yyvsp[0]); } break; -case 435: +case 436: { yyval = make_node (nod_mod_field_type, 3, yyvsp[-3], yyvsp[0], yyvsp[-1]); } break; -case 436: +case 437: { yyval = make_node (nod_field_name, (int) e_fln_count, NULL, yyvsp[0]); } break; -case 469: -{ yyval = NULL; } - break; case 470: { yyval = NULL; } break; @@ -5419,130 +5428,148 @@ case 471: { yyval = NULL; } break; case 472: +{ yyval = NULL; } + break; +case 473: { yyval = make_node (nod_def_domain, (int) e_dom_count, yyvsp[-1], NULL, NULL, NULL, NULL); } break; -case 473: +case 474: { lex.g_field_name = yyvsp[0]; lex.g_field = make_field (yyvsp[0]); yyval = (dsql_nod*) lex.g_field; } break; -case 474: -{ yyval = make_node (nod_restrict, 0, NULL); } - break; case 475: -{ yyval = make_node (nod_cascade, 0, NULL); } +{ yyval = make_node (nod_restrict, 0, NULL); } break; case 476: -{ yyval = make_node (nod_restrict, 0, NULL); } +{ yyval = make_node (nod_cascade, 0, NULL); } break; case 477: -{ yyval = make_node (nod_idx_active, 1, yyvsp[-1]); } +{ yyval = make_node (nod_restrict, 0, NULL); } break; case 478: -{ yyval = make_node (nod_idx_inactive, 1, yyvsp[-1]); } +{ yyval = make_node (nod_idx_active, 1, yyvsp[-1]); } break; case 479: -{ yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-3], - MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SLONG)); } +{ yyval = make_node (nod_idx_inactive, 1, yyvsp[-1]); } break; case 480: { yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-3], - MAKE_constant((dsql_str*) yyvsp[0], CONSTANT_SINT64)); } + MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SLONG)); } break; case 481: +{ yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-3], + MAKE_constant((dsql_str*) yyvsp[0], CONSTANT_SINT64)); } + break; +case 482: { yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-4], make_node(nod_negate, 1, MAKE_constant((dsql_str*) yyvsp[0], CONSTANT_SINT64))); } break; -case 482: -{ yyval = NULL; } +case 483: +{ yyval = make_node(nod_mod_udf, e_mod_udf_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; case 484: -{ yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); } - break; -case 485: { yyval = yyvsp[0]; } break; +case 485: +{ yyval = NULL; } + break; case 486: -{ yyval = make_node (nod_difference_file, (int) 1, yyvsp[0]); } +{ yyval = yyvsp[0]; } break; case 487: -{ yyval = make_node (nod_drop_difference, (int) 0, NULL); } +{ yyval = NULL; } break; case 488: -{ yyval = make_node (nod_begin_backup, (int) 0, NULL); } - break; -case 489: -{ yyval = make_node (nod_end_backup, (int) 0, NULL); } +{ yyval = NULL; } break; case 490: +{ yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); } + break; +case 491: +{ yyval = yyvsp[0]; } + break; +case 492: +{ yyval = make_node (nod_difference_file, (int) 1, yyvsp[0]); } + break; +case 493: +{ yyval = make_node (nod_drop_difference, (int) 0, NULL); } + break; +case 494: +{ yyval = make_node (nod_begin_backup, (int) 0, NULL); } + break; +case 495: +{ yyval = make_node (nod_end_backup, (int) 0, NULL); } + break; +case 496: { yyval = make_node (nod_mod_trigger, (int) e_trg_count, yyvsp[-6], NULL, yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-1], yyvsp[0], NULL); } break; -case 492: -{ yyval = NULL; } - break; -case 494: -{ yyval = NULL; } - break; -case 495: -{ yyval = yyvsp[0]; } - break; -case 496: -{ yyval = make_node (nod_del_exception, 1, yyvsp[0]); } - break; -case 497: -{ yyval = make_node (nod_del_index, (int) 1, yyvsp[0]); } - break; case 498: -{ yyval = make_node (nod_del_procedure, (int) 1, yyvsp[0]); } - break; -case 499: -{ yyval = make_node (nod_del_relation, (int) 1, yyvsp[0]); } +{ yyval = NULL; } break; case 500: -{ yyval = make_node (nod_del_trigger, (int) 1, yyvsp[0]); } +{ yyval = NULL; } break; case 501: -{ yyval = make_node (nod_del_view, (int) 1, yyvsp[0]); } +{ yyval = yyvsp[0]; } break; case 502: -{ yyval = make_node (nod_del_filter, (int) 1, yyvsp[0]); } +{ yyval = make_node (nod_del_exception, 1, yyvsp[0]); } break; case 503: -{ yyval = make_node (nod_del_domain, (int) 1, yyvsp[0]); } +{ yyval = make_node (nod_del_index, (int) 1, yyvsp[0]); } break; case 504: -{ yyval = make_node (nod_del_udf, (int) 1, yyvsp[0]); } +{ yyval = make_node (nod_del_procedure, (int) 1, yyvsp[0]); } break; case 505: -{ yyval = make_node (nod_del_shadow, (int) 1, yyvsp[0]); } +{ yyval = make_node (nod_del_relation, (int) 1, yyvsp[0]); } break; case 506: -{ yyval = make_node (nod_del_role, (int) 1, yyvsp[0]); } +{ yyval = make_node (nod_del_trigger, (int) 1, yyvsp[0]); } break; case 507: -{ yyval = make_node (nod_del_generator, (int) 1, yyvsp[0]); } +{ yyval = make_node (nod_del_view, (int) 1, yyvsp[0]); } break; case 508: -{ yyval = make_node (nod_del_generator, (int) 1, yyvsp[0]); } +{ yyval = make_node (nod_del_filter, (int) 1, yyvsp[0]); } + break; +case 509: +{ yyval = make_node (nod_del_domain, (int) 1, yyvsp[0]); } + break; +case 510: +{ yyval = make_node (nod_del_udf, (int) 1, yyvsp[0]); } + break; +case 511: +{ yyval = make_node (nod_del_shadow, (int) 1, yyvsp[0]); } + break; +case 512: +{ yyval = make_node (nod_del_role, (int) 1, yyvsp[0]); } break; case 513: +{ yyval = make_node (nod_del_generator, (int) 1, yyvsp[0]); } + break; +case 514: +{ yyval = make_node (nod_del_generator, (int) 1, yyvsp[0]); } + break; +case 519: { lex.g_field->fld_ranges = make_list (yyvsp[-1]); lex.g_field->fld_dimensions = lex.g_field->fld_ranges->nod_count / 2; lex.g_field->fld_element_dtype = lex.g_field->fld_dtype; yyval = yyvsp[-3]; } break; -case 514: +case 520: { lex.g_field->fld_ranges = make_list (yyvsp[-2]); lex.g_field->fld_dimensions = lex.g_field->fld_ranges->nod_count / 2; lex.g_field->fld_element_dtype = lex.g_field->fld_dtype; yyval = yyvsp[-4]; } break; -case 516: +case 522: { yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; -case 517: +case 523: { if ((IPTR) yyvsp[0] < 1) yyval = make_node (nod_list, (int) 2, MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SLONG), @@ -5552,12 +5579,12 @@ case 517: MAKE_constant ((dsql_str*) 1, CONSTANT_SLONG), MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SLONG) ); } break; -case 518: +case 524: { yyval = make_node (nod_list, (int) 2, MAKE_constant ((dsql_str*) yyvsp[-2], CONSTANT_SLONG), MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SLONG)); } break; -case 524: +case 530: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (isc_sqlerr, isc_arg_number, (SLONG) -104, @@ -5575,19 +5602,19 @@ case 524: lex.g_field->fld_length = sizeof (SINT64); } break; -case 525: +case 531: { lex.g_field->fld_dtype = dtype_long; lex.g_field->fld_length = sizeof (SLONG); } break; -case 526: +case 532: { lex.g_field->fld_dtype = dtype_short; lex.g_field->fld_length = sizeof (SSHORT); } break; -case 527: +case 533: { *stmt_ambiguous = true; if (client_dialect <= SQL_DIALECT_V5) @@ -5607,7 +5634,7 @@ case 527: } } break; -case 528: +case 534: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (isc_sqlerr, isc_arg_number, (SLONG) -104, @@ -5625,19 +5652,19 @@ case 528: lex.g_field->fld_length = sizeof (SLONG); } break; -case 529: +case 535: { lex.g_field->fld_dtype = dtype_timestamp; lex.g_field->fld_length = sizeof (GDS_TIMESTAMP); } break; -case 532: +case 538: { lex.g_field->fld_dtype = dtype_blob; lex.g_field->fld_length = sizeof(ISC_QUAD); } break; -case 533: +case 539: { lex.g_field->fld_dtype = dtype_blob; lex.g_field->fld_length = sizeof(ISC_QUAD); @@ -5645,7 +5672,7 @@ case 533: lex.g_field->fld_sub_type = 0; } break; -case 534: +case 540: { lex.g_field->fld_dtype = dtype_blob; lex.g_field->fld_length = sizeof(ISC_QUAD); @@ -5653,7 +5680,7 @@ case 534: lex.g_field->fld_sub_type = (USHORT)(IPTR) yyvsp[-1]; } break; -case 535: +case 541: { lex.g_field->fld_dtype = dtype_blob; lex.g_field->fld_length = sizeof(ISC_QUAD); @@ -5661,81 +5688,81 @@ case 535: lex.g_field->fld_sub_type = (USHORT)(IPTR) yyvsp[-1]; } break; -case 536: +case 542: { lex.g_field->fld_seg_length = (USHORT)(IPTR) yyvsp[0]; } break; -case 537: +case 543: { lex.g_field->fld_seg_length = (USHORT) 80; } break; -case 538: +case 544: { lex.g_field->fld_sub_type = (USHORT)(IPTR) yyvsp[0]; } break; -case 539: +case 545: { lex.g_field->fld_sub_type_name = yyvsp[0]; } break; -case 540: +case 546: { lex.g_field->fld_sub_type = (USHORT) 0; } break; -case 541: +case 547: { lex.g_field->fld_character_set = yyvsp[0]; } break; -case 543: +case 549: { lex.g_field->fld_dtype = dtype_text; lex.g_field->fld_character_length = (USHORT)(IPTR) yyvsp[-1]; lex.g_field->fld_flags |= FLD_national; } break; -case 544: +case 550: { lex.g_field->fld_dtype = dtype_text; lex.g_field->fld_character_length = 1; lex.g_field->fld_flags |= FLD_national; } break; -case 545: +case 551: { lex.g_field->fld_dtype = dtype_varying; lex.g_field->fld_character_length = (USHORT)(IPTR) yyvsp[-1]; lex.g_field->fld_flags |= FLD_national; } break; -case 546: +case 552: { lex.g_field->fld_dtype = dtype_text; lex.g_field->fld_character_length = (USHORT)(IPTR) yyvsp[-1]; } break; -case 547: +case 553: { lex.g_field->fld_dtype = dtype_text; lex.g_field->fld_character_length = 1; } break; -case 548: +case 554: { lex.g_field->fld_dtype = dtype_varying; lex.g_field->fld_character_length = (USHORT)(IPTR) yyvsp[-1]; } break; -case 557: +case 563: { lex.g_field->fld_sub_type = dsc_num_type_numeric; } break; -case 558: +case 564: { lex.g_field->fld_sub_type = dsc_num_type_decimal; if (lex.g_field->fld_dtype == dtype_short) @@ -5745,14 +5772,14 @@ case 558: } } break; -case 559: +case 565: { lex.g_field->fld_dtype = dtype_long; lex.g_field->fld_length = sizeof (SLONG); lex.g_field->fld_precision = 9; } break; -case 560: +case 566: { if ( ((IPTR) yyvsp[-1] < 1) || ((IPTR) yyvsp[-1] > 18) ) yyabandon (-842, isc_precision_err); @@ -5807,7 +5834,7 @@ case 560: lex.g_field->fld_precision = (USHORT)(IPTR) yyvsp[-1]; } break; -case 561: +case 567: { if ( ((IPTR) yyvsp[-3] < 1) || ((IPTR) yyvsp[-3] > 18) ) yyabandon (-842, isc_precision_err); @@ -5868,7 +5895,7 @@ case 561: lex.g_field->fld_scale = - (SSHORT)(IPTR) yyvsp[-1]; } break; -case 564: +case 570: { if ((IPTR) yyvsp[0] > 7) { @@ -5882,514 +5909,514 @@ case 564: } } break; -case 565: +case 571: { lex.g_field->fld_dtype = dtype_double; lex.g_field->fld_length = sizeof (double); } break; -case 566: +case 572: { lex.g_field->fld_dtype = dtype_real; lex.g_field->fld_length = sizeof (float); } break; -case 567: +case 573: { lex.g_field->fld_dtype = dtype_double; lex.g_field->fld_length = sizeof (double); } break; -case 568: +case 574: { yyval = yyvsp[-1]; } break; -case 569: +case 575: { yyval = 0; } break; -case 573: +case 579: { yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-2], MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SLONG)); } break; -case 574: +case 580: { yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-2], MAKE_constant((dsql_str*) yyvsp[0], CONSTANT_SINT64)); } break; -case 575: +case 581: { yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-3], make_node(nod_negate, 1, MAKE_constant((dsql_str*) yyvsp[0], CONSTANT_SINT64))); } break; -case 579: +case 585: { yyval = make_node (nod_user_savepoint, 1, yyvsp[0]); } break; -case 580: +case 586: { yyval = make_node (nod_release_savepoint, 2, yyvsp[-1], yyvsp[0]); } break; -case 581: +case 587: { yyval = make_node (nod_flag, 0, NULL); } break; -case 582: +case 588: { yyval = 0; } break; -case 583: +case 589: { yyval = make_node (nod_undo_savepoint, 1, yyvsp[0]); } break; -case 586: +case 592: { yyval = make_node (nod_commit, 1, yyvsp[0]); } break; -case 587: +case 593: { yyval = make_node (nod_rollback, 0, NULL); } break; -case 590: +case 596: { yyval = make_node (nod_commit_retain, 0, NULL); } break; -case 591: +case 597: { yyval = NULL; } break; -case 593: +case 599: { yyval = NULL; } break; -case 594: +case 600: {yyval = make_node (nod_trans, 1, make_list (yyvsp[0])); } break; -case 596: +case 602: { yyval = NULL; } break; -case 598: -{ yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); } - break; -case 603: -{ yyval = make_flag_node (nod_access, NOD_READ_ONLY, (int) 0, NULL); } - break; case 604: -{ yyval = make_flag_node (nod_access, NOD_READ_WRITE, (int) 0, NULL); } - break; -case 605: -{ yyval = make_flag_node (nod_wait, NOD_WAIT, (int) 0, NULL); } - break; -case 606: -{ yyval = make_flag_node (nod_wait, NOD_NO_WAIT, (int) 0, NULL); } - break; -case 607: -{ yyval = yyvsp[0];} +{ yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); } break; case 609: -{ yyval = yyvsp[0];} +{ yyval = make_flag_node (nod_access, NOD_READ_ONLY, (int) 0, NULL); } break; case 610: -{ yyval = make_flag_node (nod_isolation, NOD_READ_COMMITTED, 1, yyvsp[0]); } +{ yyval = make_flag_node (nod_access, NOD_READ_WRITE, (int) 0, NULL); } break; case 611: -{ yyval = make_flag_node (nod_isolation, NOD_READ_COMMITTED, 1, yyvsp[0]); } +{ yyval = make_flag_node (nod_wait, NOD_WAIT, (int) 0, NULL); } break; case 612: -{ yyval = make_flag_node (nod_isolation, NOD_CONCURRENCY, 0, NULL); } +{ yyval = make_flag_node (nod_wait, NOD_NO_WAIT, (int) 0, NULL); } break; case 613: -{ yyval = make_flag_node (nod_isolation, NOD_CONSISTENCY, 0, NULL); } - break; -case 614: -{ yyval = make_flag_node (nod_isolation, NOD_CONSISTENCY, 0, NULL); } +{ yyval = yyvsp[0];} break; case 615: -{ yyval = make_flag_node (nod_version, NOD_VERSION, 0, NULL); } +{ yyval = yyvsp[0];} break; case 616: -{ yyval = make_flag_node (nod_version, NOD_NO_VERSION, 0, NULL); } +{ yyval = make_flag_node (nod_isolation, NOD_READ_COMMITTED, 1, yyvsp[0]); } break; case 617: -{ yyval = 0; } +{ yyval = make_flag_node (nod_isolation, NOD_READ_COMMITTED, 1, yyvsp[0]); } break; case 618: -{ yyval = make_node (nod_reserve, 1, make_list (yyvsp[0])); } +{ yyval = make_flag_node (nod_isolation, NOD_CONCURRENCY, 0, NULL); } break; case 619: -{ yyval = (dsql_nod*) NOD_SHARED; } +{ yyval = make_flag_node (nod_isolation, NOD_CONSISTENCY, 0, NULL); } break; case 620: -{ yyval = (dsql_nod*) NOD_PROTECTED ; } +{ yyval = make_flag_node (nod_isolation, NOD_CONSISTENCY, 0, NULL); } break; case 621: -{ yyval = (dsql_nod*) 0; } +{ yyval = make_flag_node (nod_version, NOD_VERSION, 0, NULL); } break; case 622: -{ yyval = (dsql_nod*) NOD_READ; } +{ yyval = make_flag_node (nod_version, NOD_NO_VERSION, 0, NULL); } break; case 623: -{ yyval = (dsql_nod*) NOD_WRITE; } - break; -case 625: -{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } - break; -case 626: -{ yyval = make_node (nod_table_lock, (int) 2, make_list (yyvsp[-1]), yyvsp[0]); } - break; -case 627: -{ yyval = make_flag_node (nod_lock_mode, (SSHORT) ((SSHORT)(IPTR) yyvsp[-1] | (SSHORT)(IPTR) yyvsp[0]), (SSHORT) 0, NULL); } - break; -case 628: { yyval = 0; } break; -case 630: -{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } +case 624: +{ yyval = make_node (nod_reserve, 1, make_list (yyvsp[0])); } + break; +case 625: +{ yyval = (dsql_nod*) NOD_SHARED; } + break; +case 626: +{ yyval = (dsql_nod*) NOD_PROTECTED ; } + break; +case 627: +{ yyval = (dsql_nod*) 0; } + break; +case 628: +{ yyval = (dsql_nod*) NOD_READ; } + break; +case 629: +{ yyval = (dsql_nod*) NOD_WRITE; } break; case 631: -{ yyval = make_node (nod_set_statistics, (int) e_stat_count, yyvsp[0]); } +{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; case 632: -{ yyval = make_node(nod_comment, e_comment_count, yyvsp[-2], NULL, NULL, yyvsp[0]); } +{ yyval = make_node (nod_table_lock, (int) 2, make_list (yyvsp[-1]), yyvsp[0]); } break; case 633: -{ yyval = make_node(nod_comment, e_comment_count, yyvsp[-3], yyvsp[-2], NULL, yyvsp[0]); } +{ yyval = make_flag_node (nod_lock_mode, (SSHORT) ((SSHORT)(IPTR) yyvsp[-1] | (SSHORT)(IPTR) yyvsp[0]), (SSHORT) 0, NULL); } break; case 634: -{ yyval = make_node(nod_comment, e_comment_count, yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[0]); } - break; -case 635: -{ yyval = MAKE_constant((dsql_str*) ddl_database, CONSTANT_SLONG); } +{ yyval = 0; } break; case 636: -{ yyval = MAKE_constant((dsql_str*) ddl_domain, CONSTANT_SLONG); } +{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; case 637: -{ yyval = MAKE_constant((dsql_str*) ddl_relation, CONSTANT_SLONG); } +{ yyval = make_node (nod_set_statistics, (int) e_stat_count, yyvsp[0]); } break; case 638: -{ yyval = MAKE_constant((dsql_str*) ddl_view, CONSTANT_SLONG); } +{ yyval = make_node(nod_comment, e_comment_count, yyvsp[-2], NULL, NULL, yyvsp[0]); } break; case 639: -{ yyval = MAKE_constant((dsql_str*) ddl_procedure, CONSTANT_SLONG); } +{ yyval = make_node(nod_comment, e_comment_count, yyvsp[-3], yyvsp[-2], NULL, yyvsp[0]); } break; case 640: -{ yyval = MAKE_constant((dsql_str*) ddl_trigger, CONSTANT_SLONG); } +{ yyval = make_node(nod_comment, e_comment_count, yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[0]); } break; case 641: -{ yyval = MAKE_constant((dsql_str*) ddl_udf, CONSTANT_SLONG); } +{ yyval = MAKE_constant((dsql_str*) ddl_database, CONSTANT_SLONG); } break; case 642: -{ yyval = MAKE_constant((dsql_str*) ddl_blob_filter, CONSTANT_SLONG); } +{ yyval = MAKE_constant((dsql_str*) ddl_domain, CONSTANT_SLONG); } break; case 643: -{ yyval = MAKE_constant((dsql_str*) ddl_exception, CONSTANT_SLONG); } - break; -case 644: -{ yyval = MAKE_constant((dsql_str*) ddl_generator, CONSTANT_SLONG); } - break; -case 645: -{ yyval = MAKE_constant((dsql_str*) ddl_generator, CONSTANT_SLONG); } - break; -case 646: -{ yyval = MAKE_constant((dsql_str*) ddl_index, CONSTANT_SLONG); } - break; -case 647: -{ yyval = MAKE_constant((dsql_str*) ddl_role, CONSTANT_SLONG); } - break; -case 648: -{ yyval = MAKE_constant((dsql_str*) ddl_charset, CONSTANT_SLONG); } - break; -case 649: -{ yyval = MAKE_constant((dsql_str*) ddl_collation, CONSTANT_SLONG); } - break; -case 650: { yyval = MAKE_constant((dsql_str*) ddl_relation, CONSTANT_SLONG); } break; -case 651: +case 644: +{ yyval = MAKE_constant((dsql_str*) ddl_view, CONSTANT_SLONG); } + break; +case 645: { yyval = MAKE_constant((dsql_str*) ddl_procedure, CONSTANT_SLONG); } break; +case 646: +{ yyval = MAKE_constant((dsql_str*) ddl_trigger, CONSTANT_SLONG); } + break; +case 647: +{ yyval = MAKE_constant((dsql_str*) ddl_udf, CONSTANT_SLONG); } + break; +case 648: +{ yyval = MAKE_constant((dsql_str*) ddl_blob_filter, CONSTANT_SLONG); } + break; +case 649: +{ yyval = MAKE_constant((dsql_str*) ddl_exception, CONSTANT_SLONG); } + break; +case 650: +{ yyval = MAKE_constant((dsql_str*) ddl_generator, CONSTANT_SLONG); } + break; +case 651: +{ yyval = MAKE_constant((dsql_str*) ddl_generator, CONSTANT_SLONG); } + break; case 652: -{ yyval = yyvsp[0]; } +{ yyval = MAKE_constant((dsql_str*) ddl_index, CONSTANT_SLONG); } + break; +case 653: +{ yyval = MAKE_constant((dsql_str*) ddl_role, CONSTANT_SLONG); } break; case 654: -{ yyval = NULL; } +{ yyval = MAKE_constant((dsql_str*) ddl_charset, CONSTANT_SLONG); } break; case 655: -{ yyval = make_node (nod_select, (int) e_select_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); } +{ yyval = MAKE_constant((dsql_str*) ddl_collation, CONSTANT_SLONG); } break; case 656: -{ yyval = make_node (nod_for_update, (int) e_fpd_count, yyvsp[0]); } +{ yyval = MAKE_constant((dsql_str*) ddl_relation, CONSTANT_SLONG); } break; case 657: -{ yyval = NULL; } +{ yyval = MAKE_constant((dsql_str*) ddl_procedure, CONSTANT_SLONG); } break; case 658: { yyval = yyvsp[0]; } break; -case 659: -{ yyval = make_node (nod_flag, 0, NULL); } - break; case 660: -{ yyval = make_node (nod_flag, 0, NULL); } - break; -case 661: { yyval = NULL; } break; +case 661: +{ yyval = make_node (nod_select, (int) e_select_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); } + break; case 662: -{ yyval = make_node (nod_select_expr, (int) e_sel_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); } +{ yyval = make_node (nod_for_update, (int) e_fpd_count, yyvsp[0]); } break; case 663: +{ yyval = NULL; } + break; +case 664: +{ yyval = yyvsp[0]; } + break; +case 665: +{ yyval = make_node (nod_flag, 0, NULL); } + break; +case 666: +{ yyval = make_node (nod_flag, 0, NULL); } + break; +case 667: +{ yyval = NULL; } + break; +case 668: +{ yyval = make_node (nod_select_expr, (int) e_sel_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); } + break; +case 669: { yyval = make_flag_node (nod_select_expr, NOD_SELECT_EXPR_VALUE, (int) e_sel_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; -case 664: +case 670: { yyval = make_flag_node (nod_select_expr, NOD_SELECT_EXPR_VALUE | NOD_SELECT_EXPR_SINGLETON, (int) e_sel_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; -case 666: +case 672: { yyval = make_node (nod_list, 2, yyvsp[-3], yyvsp[0]); } break; -case 667: +case 673: { yyval = make_flag_node (nod_list, NOD_UNION_ALL, 2, yyvsp[-3], yyvsp[0]); } break; -case 669: +case 675: { yyval = make_node (nod_query_spec, (int) e_qry_count, yyvsp[-7], yyvsp[-6], yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; -case 670: +case 676: { lex.limit_clause = true; } break; -case 671: +case 677: { lex.limit_clause = false; } break; -case 672: +case 678: { lex.first_detection = true; } break; -case 673: +case 679: { lex.first_detection = false; } break; -case 674: +case 680: { yyval = make_node (nod_limit, (int) e_limit_count, yyvsp[-1], yyvsp[-2]); } break; -case 675: +case 681: { yyval = make_node (nod_limit, (int) e_limit_count, NULL, yyvsp[-1]); } break; -case 676: +case 682: { yyval = make_node (nod_limit, (int) e_limit_count, yyvsp[0], NULL); } break; -case 677: -{ yyval = 0; } - break; -case 678: -{ yyval = MAKE_constant ((dsql_str*) yyvsp[-1], CONSTANT_SLONG); } - break; -case 679: -{ yyval = yyvsp[-2]; } - break; -case 680: -{ yyval = yyvsp[-1]; } - break; -case 681: -{ yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SLONG); } - break; -case 682: -{ yyval = yyvsp[-1]; } - break; case 683: -{ yyval = yyvsp[0]; } +{ yyval = 0; } break; case 684: -{ yyval = make_node (nod_flag, 0, NULL); } +{ yyval = MAKE_constant ((dsql_str*) yyvsp[-1], CONSTANT_SLONG); } break; case 685: -{ yyval = 0; } +{ yyval = yyvsp[-2]; } break; case 686: -{ yyval = make_list (yyvsp[0]); } - break; -case 687: -{ yyval = 0; } - break; -case 689: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } - break; -case 691: -{ yyval = make_node (nod_alias, 2, yyvsp[-2], yyvsp[0]); } - break; -case 694: -{ yyval = make_list (yyvsp[0]); } - break; -case 696: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } - break; -case 701: { yyval = yyvsp[-1]; } break; -case 702: -{ yyval = make_node(nod_derived_table, (int) e_derived_table_count, yyvsp[-4], yyvsp[-1], yyvsp[0]); } +case 687: +{ yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SLONG); } break; -case 704: -{ yyval = NULL; } +case 688: +{ yyval = yyvsp[-1]; } break; -case 705: -{ yyval = make_list (yyvsp[-1]); } +case 689: +{ yyval = yyvsp[0]; } break; -case 706: -{ yyval = NULL; } +case 690: +{ yyval = make_node (nod_flag, 0, NULL); } break; -case 708: +case 691: +{ yyval = 0; } + break; +case 692: +{ yyval = make_list (yyvsp[0]); } + break; +case 693: +{ yyval = 0; } + break; +case 695: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; +case 697: +{ yyval = make_node (nod_alias, 2, yyvsp[-2], yyvsp[0]); } + break; +case 700: +{ yyval = make_list (yyvsp[0]); } + break; +case 702: +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } + break; +case 707: +{ yyval = yyvsp[-1]; } + break; +case 708: +{ yyval = make_node(nod_derived_table, (int) e_derived_table_count, yyvsp[-4], yyvsp[-1], yyvsp[0]); } + break; +case 710: +{ yyval = NULL; } + break; +case 711: +{ yyval = make_list (yyvsp[-1]); } + break; case 712: +{ yyval = NULL; } + break; +case 714: +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } + break; +case 718: { yyval = make_node (nod_join, (int) e_join_count, yyvsp[-3], make_node (nod_join_inner, (int) 0, NULL), yyvsp[0], NULL); } break; -case 713: +case 719: { yyval = make_node (nod_join, (int) e_join_count, yyvsp[-4], yyvsp[-2], yyvsp[0], make_node (nod_flag, 0, NULL)); } break; -case 714: +case 720: { yyval = make_node (nod_join, (int) e_join_count, yyvsp[-4], yyvsp[-3], yyvsp[-1], yyvsp[0]); } break; -case 717: +case 723: { yyval = yyvsp[0]; } break; -case 718: +case 724: { yyval = make_list (yyvsp[-1]); } break; -case 719: +case 725: { yyval = make_node (nod_rel_proc_name, (int) e_rpn_count, yyvsp[-3], yyvsp[0], yyvsp[-2]); } break; -case 720: +case 726: { yyval = make_node (nod_rel_proc_name, (int) e_rpn_count, yyvsp[-1], NULL, yyvsp[0]); } break; -case 721: +case 727: { yyval = make_list (yyvsp[-1]); } break; -case 722: +case 728: { yyval = NULL; } break; -case 724: +case 730: { yyval = make_node (nod_relation_name, (int) e_rln_count, yyvsp[-1], yyvsp[0]); } break; -case 725: +case 731: { yyval = make_node (nod_relation_name, (int) e_rln_count, yyvsp[0], NULL); } break; -case 726: -{ yyval = make_node (nod_join_inner, (int) 0, NULL); } - break; -case 727: -{ yyval = make_node (nod_join_left, (int) 0, NULL); } - break; -case 728: -{ yyval = make_node (nod_join_right, (int) 0, NULL); } - break; -case 729: -{ yyval = make_node (nod_join_full, (int) 0, NULL); } - break; -case 730: +case 732: { yyval = make_node (nod_join_inner, (int) 0, NULL); } break; case 733: -{ yyval = make_list (yyvsp[0]); } +{ yyval = make_node (nod_join_left, (int) 0, NULL); } break; case 734: -{ yyval = NULL; } +{ yyval = make_node (nod_join_right, (int) 0, NULL); } + break; +case 735: +{ yyval = make_node (nod_join_full, (int) 0, NULL); } break; case 736: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } - break; -case 738: -{ yyval = yyvsp[0]; } +{ yyval = make_node (nod_join_inner, (int) 0, NULL); } break; case 739: -{ yyval = NULL; } +{ yyval = make_list (yyvsp[0]); } break; case 740: -{ yyval = yyvsp[0]; } - break; -case 741: { yyval = NULL; } break; case 742: -{ yyval = yyvsp[0]; } - break; -case 743: -{ yyval = NULL; } +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; case 744: -{ yyval = make_node (nod_plan_expr, 2, yyvsp[-3], make_list (yyvsp[-1])); } +{ yyval = yyvsp[0]; } break; case 745: -{ yyval = 0; } +{ yyval = NULL; } break; case 746: -{ yyval = make_node (nod_merge, (int) 0, NULL); } +{ yyval = yyvsp[0]; } break; case 747: -{ yyval = make_node (nod_merge, (int) 0, NULL); } +{ yyval = NULL; } break; case 748: -{ yyval = 0; } +{ yyval = yyvsp[0]; } break; case 749: -{ yyval = 0; } +{ yyval = NULL; } + break; +case 750: +{ yyval = make_node (nod_plan_expr, 2, yyvsp[-3], make_list (yyvsp[-1])); } break; case 751: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } +{ yyval = 0; } break; case 752: -{ yyval = make_node (nod_plan_item, 2, make_list (yyvsp[-1]), yyvsp[0]); } +{ yyval = make_node (nod_merge, (int) 0, NULL); } + break; +case 753: +{ yyval = make_node (nod_merge, (int) 0, NULL); } + break; +case 754: +{ yyval = 0; } break; case 755: -{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } - break; -case 756: -{ yyval = make_node (nod_natural, (int) 0, NULL); } +{ yyval = 0; } break; case 757: -{ yyval = make_node (nod_index, 1, make_list (yyvsp[-1])); } - break; -case 758: -{ yyval = make_node (nod_index_order, 2, yyvsp[-1], yyvsp[0]); } - break; -case 760: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; +case 758: +{ yyval = make_node (nod_plan_item, 2, make_list (yyvsp[-1]), yyvsp[0]); } + break; case 761: -{ yyval = make_list (yyvsp[-1]); } +{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } break; case 762: -{ yyval = 0; } +{ yyval = make_node (nod_natural, (int) 0, NULL); } break; case 763: -{ yyval = make_list (yyvsp[0]); } +{ yyval = make_node (nod_index, 1, make_list (yyvsp[-1])); } break; case 764: -{ yyval = 0; } +{ yyval = make_node (nod_index_order, 2, yyvsp[-1], yyvsp[0]); } break; case 766: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; case 767: -{ yyval = make_node (nod_order, (int) e_order_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); } +{ yyval = make_list (yyvsp[-1]); } break; case 768: { yyval = 0; } break; case 769: -{ yyval = make_node (nod_flag, 0, NULL); } +{ yyval = make_list (yyvsp[0]); } break; case 770: { yyval = 0; } break; -case 771: -{ yyval = MAKE_constant((dsql_str*) NOD_NULLS_FIRST, CONSTANT_SLONG); } - break; case 772: -{ yyval = MAKE_constant((dsql_str*) NOD_NULLS_LAST, CONSTANT_SLONG); } +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; case 773: -{ yyval = yyvsp[-1]; } +{ yyval = make_node (nod_order, (int) e_order_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; case 774: { yyval = 0; } break; case 775: -{ yyval = make_node (nod_rows, (int) e_rows_count, NULL, yyvsp[0]); } +{ yyval = make_node (nod_flag, 0, NULL); } break; case 776: +{ yyval = 0; } + break; +case 777: +{ yyval = MAKE_constant((dsql_str*) NOD_NULLS_FIRST, CONSTANT_SLONG); } + break; +case 778: +{ yyval = MAKE_constant((dsql_str*) NOD_NULLS_LAST, CONSTANT_SLONG); } + break; +case 779: +{ yyval = yyvsp[-1]; } + break; +case 780: +{ yyval = 0; } + break; +case 781: +{ yyval = make_node (nod_rows, (int) e_rows_count, NULL, yyvsp[0]); } + break; +case 782: { yyval = make_node (nod_rows, (int) e_rows_count, make_node (nod_subtract, 2, yyvsp[-2], MAKE_constant ((dsql_str*) 1, CONSTANT_SLONG)), @@ -6397,120 +6424,105 @@ case 776: make_node (nod_subtract, 2, yyvsp[0], yyvsp[-2]), MAKE_constant ((dsql_str*) 1, CONSTANT_SLONG))); } break; -case 777: +case 783: { yyval = NULL; } break; -case 778: +case 784: { yyval = make_node (nod_insert, (int) e_ins_count, yyvsp[-5], make_list (yyvsp[-4]), make_list (yyvsp[-1]), NULL); } break; -case 779: +case 785: { yyval = make_node (nod_insert, (int) e_ins_count, yyvsp[-2], yyvsp[-1], NULL, yyvsp[0]); } break; -case 782: +case 788: { yyval = make_node (nod_delete, (int) e_del_count, yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL); } break; -case 783: +case 789: { yyval = make_node (nod_delete, (int) e_del_count, yyvsp[-1], NULL, NULL, NULL, NULL, yyvsp[0]); } break; -case 786: +case 792: { yyval = make_node (nod_update, (int) e_upd_count, yyvsp[-6], make_list (yyvsp[-4]), yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL); } break; -case 787: +case 793: { yyval = make_node (nod_update, (int) e_upd_count, yyvsp[-3], make_list (yyvsp[-1]), NULL, NULL, NULL, NULL, yyvsp[0]); } break; -case 788: +case 794: { yyval = make_node (nod_cursor, (int) e_cur_count, yyvsp[0], NULL, NULL, NULL); } break; -case 790: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } - break; -case 791: -{ yyval = make_node (nod_assign, 2, yyvsp[0], yyvsp[-2]); } - break; -case 792: -{ yyval = make_node (nod_assign, 2, yyvsp[0], make_node (nod_null, 0, NULL)); } - break; -case 793: -{ yyval = make_node (nod_get_segment, (int) e_blb_count, yyvsp[-4], yyvsp[-2], yyvsp[-1], yyvsp[0]); } - break; -case 794: -{ yyval = make_node (nod_put_segment, (int) e_blb_count, yyvsp[-4], yyvsp[-2], yyvsp[-1], yyvsp[0]); } - break; -case 795: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } - break; case 796: -{ yyval = make_node (nod_list, 2, NULL, yyvsp[0]); } +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; case 797: -{ yyval = NULL; } +{ yyval = make_node (nod_assign, 2, yyvsp[0], yyvsp[-2]); } + break; +case 798: +{ yyval = make_node (nod_assign, 2, yyvsp[0], make_node (nod_null, 0, NULL)); } + break; +case 799: +{ yyval = make_node (nod_get_segment, (int) e_blb_count, yyvsp[-4], yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; case 800: -{ yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SLONG); } +{ yyval = make_node (nod_put_segment, (int) e_blb_count, yyvsp[-4], yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; case 801: -{ yyval = yyvsp[0]; } +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; case 802: -{ yyval = NULL; } +{ yyval = make_node (nod_list, 2, NULL, yyvsp[0]); } break; case 803: -{ yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SLONG); } +{ yyval = NULL; } break; case 806: -{ yyval = NULL; } +{ yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SLONG); } break; case 807: -{ yyval = make_list (yyvsp[-1]); } +{ yyval = yyvsp[0]; } break; -case 809: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } - break; -case 811: +case 808: { yyval = NULL; } break; +case 809: +{ yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SLONG); } + break; case 812: +{ yyval = NULL; } + break; +case 813: { yyval = make_list (yyvsp[-1]); } break; -case 814: +case 815: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 816: +case 817: +{ yyval = NULL; } + break; +case 818: +{ yyval = make_list (yyvsp[-1]); } + break; +case 820: +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } + break; +case 822: { yyval = make_node (nod_field_name, (int) e_fln_count, yyvsp[-2], yyvsp[0]); } break; -case 817: +case 823: { yyval = make_node (nod_field_name, (int) e_fln_count, yyvsp[-2], NULL); } break; -case 818: +case 824: { yyval = make_node (nod_field_name, (int) e_fln_count, NULL, yyvsp[0]); } break; -case 820: +case 826: { yyval = make_node (nod_field_name, (int) e_fln_count, yyvsp[-2], yyvsp[0]); } break; -case 822: -{ yyval = make_node (nod_not, 1, yyvsp[0]); } - break; -case 824: -{ yyval = make_node (nod_or, 2, yyvsp[-2], yyvsp[0]); } - break; -case 825: -{ yyval = make_node (nod_and, 2, yyvsp[-2], yyvsp[0]); } - break; -case 827: -{ yyval = make_node (nod_not, 1, yyvsp[0]); } - break; case 828: -{ yyval = make_node (nod_or, 2, yyvsp[-2], yyvsp[0]); } - break; -case 829: -{ yyval = make_node (nod_and, 2, yyvsp[-2], yyvsp[0]); } +{ yyval = make_node (nod_not, 1, yyvsp[0]); } break; case 830: { yyval = make_node (nod_or, 2, yyvsp[-2], yyvsp[0]); } @@ -6519,194 +6531,209 @@ case 831: { yyval = make_node (nod_and, 2, yyvsp[-2], yyvsp[0]); } break; case 833: -{ yyval = yyvsp[-1]; } - break; -case 834: { yyval = make_node (nod_not, 1, yyvsp[0]); } break; -case 846: -{ yyval = make_node (nod_eql, 2, yyvsp[-2], yyvsp[0]); } +case 834: +{ yyval = make_node (nod_or, 2, yyvsp[-2], yyvsp[0]); } break; -case 847: -{ yyval = make_node (nod_lss, 2, yyvsp[-2], yyvsp[0]); } +case 835: +{ yyval = make_node (nod_and, 2, yyvsp[-2], yyvsp[0]); } break; -case 848: -{ yyval = make_node (nod_gtr, 2, yyvsp[-2], yyvsp[0]); } +case 836: +{ yyval = make_node (nod_or, 2, yyvsp[-2], yyvsp[0]); } break; -case 849: -{ yyval = make_node (nod_geq, 2, yyvsp[-2], yyvsp[0]); } +case 837: +{ yyval = make_node (nod_and, 2, yyvsp[-2], yyvsp[0]); } break; -case 850: -{ yyval = make_node (nod_leq, 2, yyvsp[-2], yyvsp[0]); } +case 839: +{ yyval = yyvsp[-1]; } break; -case 851: -{ yyval = make_node (nod_leq, 2, yyvsp[-2], yyvsp[0]); } +case 840: +{ yyval = make_node (nod_not, 1, yyvsp[0]); } break; case 852: -{ yyval = make_node (nod_geq, 2, yyvsp[-2], yyvsp[0]); } +{ yyval = make_node (nod_eql, 2, yyvsp[-2], yyvsp[0]); } break; case 853: -{ yyval = make_node (nod_neq, 2, yyvsp[-2], yyvsp[0]); } +{ yyval = make_node (nod_lss, 2, yyvsp[-2], yyvsp[0]); } break; case 854: -{ yyval = make_node (nod_eql_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_gtr, 2, yyvsp[-2], yyvsp[0]); } break; case 855: -{ yyval = make_node (nod_lss_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_geq, 2, yyvsp[-2], yyvsp[0]); } break; case 856: -{ yyval = make_node (nod_gtr_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_leq, 2, yyvsp[-2], yyvsp[0]); } break; case 857: -{ yyval = make_node (nod_geq_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_leq, 2, yyvsp[-2], yyvsp[0]); } break; case 858: -{ yyval = make_node (nod_leq_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_geq, 2, yyvsp[-2], yyvsp[0]); } break; case 859: -{ yyval = make_node (nod_leq_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_neq, 2, yyvsp[-2], yyvsp[0]); } break; case 860: -{ yyval = make_node (nod_geq_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_eql_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 861: -{ yyval = make_node (nod_neq_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_lss_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 862: -{ yyval = make_node (nod_eql_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_gtr_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 863: -{ yyval = make_node (nod_lss_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_geq_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 864: -{ yyval = make_node (nod_gtr_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_leq_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 865: -{ yyval = make_node (nod_geq_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_leq_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 866: -{ yyval = make_node (nod_leq_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_geq_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 867: -{ yyval = make_node (nod_leq_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_neq_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 868: -{ yyval = make_node (nod_geq_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_eql_any, 2, yyvsp[-5], yyvsp[-1]); } break; case 869: -{ yyval = make_node (nod_neq_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_lss_any, 2, yyvsp[-5], yyvsp[-1]); } + break; +case 870: +{ yyval = make_node (nod_gtr_any, 2, yyvsp[-5], yyvsp[-1]); } + break; +case 871: +{ yyval = make_node (nod_geq_any, 2, yyvsp[-5], yyvsp[-1]); } break; case 872: -{ yyval = make_node (nod_not, 1, make_node (nod_equiv, 2, yyvsp[-4], yyvsp[0])); } +{ yyval = make_node (nod_leq_any, 2, yyvsp[-5], yyvsp[-1]); } break; case 873: -{ yyval = make_node (nod_equiv, 2, yyvsp[-5], yyvsp[0]); } +{ yyval = make_node (nod_leq_any, 2, yyvsp[-5], yyvsp[-1]); } break; case 874: -{ yyval = make_node (nod_between, 3, yyvsp[-4], yyvsp[-2], yyvsp[0]); } +{ yyval = make_node (nod_geq_any, 2, yyvsp[-5], yyvsp[-1]); } break; case 875: +{ yyval = make_node (nod_neq_any, 2, yyvsp[-5], yyvsp[-1]); } + break; +case 878: +{ yyval = make_node (nod_not, 1, make_node (nod_equiv, 2, yyvsp[-4], yyvsp[0])); } + break; +case 879: +{ yyval = make_node (nod_equiv, 2, yyvsp[-5], yyvsp[0]); } + break; +case 880: +{ yyval = make_node (nod_between, 3, yyvsp[-4], yyvsp[-2], yyvsp[0]); } + break; +case 881: { yyval = make_node (nod_not, 1, make_node (nod_between, 3, yyvsp[-5], yyvsp[-2], yyvsp[0])); } break; -case 876: +case 882: { yyval = make_node (nod_like, 2, yyvsp[-2], yyvsp[0]); } break; -case 877: +case 883: { yyval = make_node (nod_not, 1, make_node (nod_like, 2, yyvsp[-3], yyvsp[0])); } break; -case 878: +case 884: { yyval = make_node (nod_like, 3, yyvsp[-4], yyvsp[-2], yyvsp[0]); } break; -case 879: +case 885: { yyval = make_node (nod_not, 1, make_node (nod_like, 3, yyvsp[-5], yyvsp[-2], yyvsp[0])); } break; -case 880: +case 886: { yyval = make_node (nod_eql_any, 2, yyvsp[-2], yyvsp[0]); } break; -case 881: +case 887: { yyval = make_node (nod_not, 1, make_node (nod_eql_any, 2, yyvsp[-3], yyvsp[0])); } break; -case 882: +case 888: { yyval = make_node (nod_containing, 2, yyvsp[-2], yyvsp[0]); } break; -case 883: +case 889: { yyval = make_node (nod_not, 1, make_node (nod_containing, 2, yyvsp[-3], yyvsp[0])); } break; -case 884: +case 890: { yyval = make_node (nod_starting, 2, yyvsp[-2], yyvsp[0]); } break; -case 885: +case 891: { yyval = make_node (nod_not, 1, make_node (nod_starting, 2, yyvsp[-3], yyvsp[0])); } break; -case 886: +case 892: { yyval = make_node (nod_starting, 2, yyvsp[-3], yyvsp[0]); } break; -case 887: +case 893: { yyval = make_node (nod_not, 1, make_node (nod_starting, 2, yyvsp[-4], yyvsp[0])); } break; -case 888: +case 894: { yyval = make_node (nod_exists, 1, yyvsp[-1]); } break; -case 889: +case 895: { yyval = make_node (nod_singular, 1, yyvsp[-1]); } break; -case 890: +case 896: { yyval = make_node (nod_missing, 1, yyvsp[-2]); } break; -case 891: +case 897: { yyval = make_node (nod_not, 1, make_node (nod_missing, 1, yyvsp[-3])); } break; -case 892: +case 898: { yyval = make_node (nod_eql, 2, make_node (nod_internal_info, (int) e_internal_info_count, MAKE_constant ((dsql_str*) internal_trigger_action, CONSTANT_SLONG)), MAKE_constant ((dsql_str*) 1, CONSTANT_SLONG)); } break; -case 893: -{ yyval = make_node (nod_eql, 2, - make_node (nod_internal_info, (int) e_internal_info_count, - MAKE_constant ((dsql_str*) internal_trigger_action, CONSTANT_SLONG)), - MAKE_constant ((dsql_str*) 2, CONSTANT_SLONG)); } - break; -case 894: -{ yyval = make_node (nod_eql, 2, - make_node (nod_internal_info, (int) e_internal_info_count, - MAKE_constant ((dsql_str*) internal_trigger_action, CONSTANT_SLONG)), - MAKE_constant ((dsql_str*) 3, CONSTANT_SLONG)); } - break; -case 895: -{ yyval = make_node (nod_eql, 2, - make_node (nod_internal_info, (int) e_internal_info_count, - MAKE_constant ((dsql_str*) internal_trigger_action, CONSTANT_SLONG)), - MAKE_constant ((dsql_str*) 1, CONSTANT_SLONG)); } - break; -case 896: -{ yyval = make_node (nod_eql, 2, - make_node (nod_internal_info, (int) e_internal_info_count, - MAKE_constant ((dsql_str*) internal_trigger_action, CONSTANT_SLONG)), - MAKE_constant ((dsql_str*) 2, CONSTANT_SLONG)); } - break; -case 897: -{ yyval = make_node (nod_eql, 2, - make_node (nod_internal_info, (int) e_internal_info_count, - MAKE_constant ((dsql_str*) internal_trigger_action, CONSTANT_SLONG)), - MAKE_constant ((dsql_str*) 3, CONSTANT_SLONG)); } - break; case 899: -{ yyval = make_list (yyvsp[-1]); } +{ yyval = make_node (nod_eql, 2, + make_node (nod_internal_info, (int) e_internal_info_count, + MAKE_constant ((dsql_str*) internal_trigger_action, CONSTANT_SLONG)), + MAKE_constant ((dsql_str*) 2, CONSTANT_SLONG)); } break; case 900: +{ yyval = make_node (nod_eql, 2, + make_node (nod_internal_info, (int) e_internal_info_count, + MAKE_constant ((dsql_str*) internal_trigger_action, CONSTANT_SLONG)), + MAKE_constant ((dsql_str*) 3, CONSTANT_SLONG)); } + break; +case 901: +{ yyval = make_node (nod_eql, 2, + make_node (nod_internal_info, (int) e_internal_info_count, + MAKE_constant ((dsql_str*) internal_trigger_action, CONSTANT_SLONG)), + MAKE_constant ((dsql_str*) 1, CONSTANT_SLONG)); } + break; +case 902: +{ yyval = make_node (nod_eql, 2, + make_node (nod_internal_info, (int) e_internal_info_count, + MAKE_constant ((dsql_str*) internal_trigger_action, CONSTANT_SLONG)), + MAKE_constant ((dsql_str*) 2, CONSTANT_SLONG)); } + break; +case 903: +{ yyval = make_node (nod_eql, 2, + make_node (nod_internal_info, (int) e_internal_info_count, + MAKE_constant ((dsql_str*) internal_trigger_action, CONSTANT_SLONG)), + MAKE_constant ((dsql_str*) 3, CONSTANT_SLONG)); } + break; +case 905: +{ yyval = make_list (yyvsp[-1]); } + break; +case 906: { yyval = yyvsp[-1]; } break; -case 911: +case 917: { yyval = make_node (nod_negate, 1, yyvsp[0]); } break; -case 912: +case 918: { yyval = yyvsp[0]; } break; -case 913: +case 919: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_add2, 2, yyvsp[-2], yyvsp[0]); @@ -6714,13 +6741,13 @@ case 913: yyval = make_node (nod_add, 2, yyvsp[-2], yyvsp[0]); } break; -case 914: +case 920: { yyval = make_node (nod_concatenate, 2, yyvsp[-2], yyvsp[0]); } break; -case 915: +case 921: { yyval = make_node (nod_collate, (int) e_coll_count, (dsql_nod*) yyvsp[0], yyvsp[-2]); } break; -case 916: +case 922: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_subtract2, 2, yyvsp[-2], yyvsp[0]); @@ -6728,7 +6755,7 @@ case 916: yyval = make_node (nod_subtract, 2, yyvsp[-2], yyvsp[0]); } break; -case 917: +case 923: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_multiply2, 2, yyvsp[-2], yyvsp[0]); @@ -6736,7 +6763,7 @@ case 917: yyval = make_node (nod_multiply, 2, yyvsp[-2], yyvsp[0]); } break; -case 918: +case 924: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_divide2, 2, yyvsp[-2], yyvsp[0]); @@ -6744,24 +6771,24 @@ case 918: yyval = make_node (nod_divide, 2, yyvsp[-2], yyvsp[0]); } break; -case 919: -{ yyval = yyvsp[-1]; } - break; -case 920: -{ yyval = yyvsp[-1]; } - break; -case 924: -{ yyval = make_node (nod_dbkey, 1, NULL); } - break; case 925: -{ yyval = make_node (nod_dbkey, 1, yyvsp[-2]); } +{ yyval = yyvsp[-1]; } break; case 926: +{ yyval = yyvsp[-1]; } + break; +case 930: +{ yyval = make_node (nod_dbkey, 1, NULL); } + break; +case 931: +{ yyval = make_node (nod_dbkey, 1, yyvsp[-2]); } + break; +case 932: { yyval = make_node (nod_dom_value, 0, NULL); } break; -case 929: +case 935: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (isc_sqlerr, isc_arg_number, (SLONG) -104, @@ -6778,7 +6805,7 @@ case 929: yyval = make_node (nod_current_date, 0, NULL); } break; -case 930: +case 936: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (isc_sqlerr, isc_arg_number, (SLONG) -104, @@ -6795,37 +6822,37 @@ case 930: yyval = make_node (nod_current_time, 0, NULL); } break; -case 931: +case 937: { yyval = make_node (nod_current_timestamp, 0, NULL); } break; -case 932: +case 938: { yyval = make_node (nod_array, (int) e_ary_count, yyvsp[-3], make_list (yyvsp[-1])); } break; -case 934: +case 940: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 936: +case 942: { yyval = make_node (nod_negate, 1, yyvsp[0]); } break; -case 937: +case 943: { yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_STRING); } break; -case 938: +case 944: { yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SLONG); } break; -case 939: +case 945: { yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_DOUBLE); } break; -case 940: +case 946: { yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SINT64); } break; -case 941: +case 947: { yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_SINT64); } break; -case 943: +case 949: { yyval = MAKE_str_constant ((dsql_str*) yyvsp[0], lex.att_charset); } break; -case 944: +case 950: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (isc_sqlerr, isc_arg_number, (SLONG) -104, @@ -6842,7 +6869,7 @@ case 944: yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_DATE); } break; -case 945: +case 951: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (isc_sqlerr, isc_arg_number, (SLONG) -104, @@ -6859,92 +6886,92 @@ case 945: yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_TIME); } break; -case 946: +case 952: { yyval = MAKE_constant ((dsql_str*) yyvsp[0], CONSTANT_TIMESTAMP); } break; -case 947: +case 953: { yyval = make_parameter (); } break; -case 948: +case 954: { yyval = make_node (nod_user_name, 0, NULL); } break; -case 949: +case 955: { yyval = make_node (nod_user_name, 0, NULL); } break; -case 950: +case 956: { yyval = make_node (nod_current_role, 0, NULL); } break; -case 951: +case 957: { yyval = make_node (nod_internal_info, (int) e_internal_info_count, MAKE_constant ((dsql_str*) internal_connection_id, CONSTANT_SLONG)); } break; -case 952: +case 958: { yyval = make_node (nod_internal_info, (int) e_internal_info_count, MAKE_constant ((dsql_str*) internal_transaction_id, CONSTANT_SLONG)); } break; -case 953: +case 959: { yyval = make_node (nod_internal_info, (int) e_internal_info_count, MAKE_constant ((dsql_str*) internal_gdscode, CONSTANT_SLONG)); } break; -case 954: +case 960: { yyval = make_node (nod_internal_info, (int) e_internal_info_count, MAKE_constant ((dsql_str*) internal_sqlcode, CONSTANT_SLONG)); } break; -case 955: +case 961: { yyval = make_node (nod_internal_info, (int) e_internal_info_count, MAKE_constant ((dsql_str*) internal_rows_affected, CONSTANT_SLONG)); } break; -case 956: +case 962: { yyval = yyvsp[0]; } break; -case 957: +case 963: { ((dsql_str*) yyvsp[0])->str_charset = (TEXT *) yyvsp[-1]; yyval = yyvsp[0]; } break; -case 959: -{ yyval = (dsql_nod*) - (IPTR) yyvsp[0]; } - break; -case 960: -{ if ((IPTR) yyvsp[0] > SHRT_POS_MAX) - yyabandon (-842, isc_expec_short); - /* Short integer expected */ - yyval = yyvsp[0];} - break; -case 961: -{ if ((IPTR) yyvsp[0] > SHRT_NEG_MAX) - yyabandon (-842, isc_expec_short); - /* Short integer expected */ - yyval = yyvsp[0];} - break; -case 962: -{ if ((IPTR) yyvsp[0] == 0) - yyabandon (-842, isc_expec_positive); - /* Positive number expected */ - yyval = yyvsp[0];} - break; -case 963: -{ if ((IPTR) yyvsp[0] > SHRT_UNSIGNED_MAX) - yyabandon (-842, isc_expec_ushort); - /* Unsigned short integer expected */ - yyval = yyvsp[0];} - break; case 965: { yyval = (dsql_nod*) - (IPTR) yyvsp[0]; } break; case 966: -{ yyval = yyvsp[0];} +{ if ((IPTR) yyvsp[0] > SHRT_POS_MAX) + yyabandon (-842, isc_expec_short); + /* Short integer expected */ + yyval = yyvsp[0];} break; -case 970: -{ yyval = make_node (nod_agg_count, 0, NULL); } +case 967: +{ if ((IPTR) yyvsp[0] > SHRT_NEG_MAX) + yyabandon (-842, isc_expec_short); + /* Short integer expected */ + yyval = yyvsp[0];} + break; +case 968: +{ if ((IPTR) yyvsp[0] == 0) + yyabandon (-842, isc_expec_positive); + /* Positive number expected */ + yyval = yyvsp[0];} + break; +case 969: +{ if ((IPTR) yyvsp[0] > SHRT_UNSIGNED_MAX) + yyabandon (-842, isc_expec_ushort); + /* Unsigned short integer expected */ + yyval = yyvsp[0];} break; case 971: -{ yyval = make_node (nod_agg_count, 1, yyvsp[-1]); } +{ yyval = (dsql_nod*) - (IPTR) yyvsp[0]; } break; case 972: +{ yyval = yyvsp[0];} + break; +case 976: +{ yyval = make_node (nod_agg_count, 0, NULL); } + break; +case 977: +{ yyval = make_node (nod_agg_count, 1, yyvsp[-1]); } + break; +case 978: { yyval = make_flag_node (nod_agg_count, NOD_AGG_DISTINCT, 1, yyvsp[-1]); } break; -case 973: +case 979: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_agg_total2, 1, yyvsp[-1]); @@ -6952,7 +6979,7 @@ case 973: yyval = make_node (nod_agg_total, 1, yyvsp[-1]); } break; -case 974: +case 980: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_flag_node (nod_agg_total2, @@ -6962,7 +6989,7 @@ case 974: NOD_AGG_DISTINCT, 1, yyvsp[-1]); } break; -case 975: +case 981: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_agg_average2, 1, yyvsp[-1]); @@ -6970,7 +6997,7 @@ case 975: yyval = make_node (nod_agg_average, 1, yyvsp[-1]); } break; -case 976: +case 982: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_flag_node (nod_agg_average2, @@ -6980,85 +7007,85 @@ case 976: NOD_AGG_DISTINCT, 1, yyvsp[-1]); } break; -case 977: +case 983: { yyval = make_node (nod_agg_min, 1, yyvsp[-1]); } break; -case 978: -{ yyval = make_node (nod_agg_min, 1, yyvsp[-1]); } - break; -case 979: -{ yyval = make_node (nod_agg_max, 1, yyvsp[-1]); } - break; -case 980: -{ yyval = make_node (nod_agg_max, 1, yyvsp[-1]); } - break; -case 982: -{ yyval = make_node (nod_extract, (int) e_extract_count, yyvsp[-3], yyvsp[-1]); } - break; case 984: -{ yyval = make_node (nod_upcase, 1, yyvsp[-1]); } +{ yyval = make_node (nod_agg_min, 1, yyvsp[-1]); } break; case 985: +{ yyval = make_node (nod_agg_max, 1, yyvsp[-1]); } + break; +case 986: +{ yyval = make_node (nod_agg_max, 1, yyvsp[-1]); } + break; +case 988: +{ yyval = make_node (nod_extract, (int) e_extract_count, yyvsp[-3], yyvsp[-1]); } + break; +case 990: +{ yyval = make_node (nod_upcase, 1, yyvsp[-1]); } + break; +case 991: { yyval = make_node (nod_substr, (int) e_substr_count, yyvsp[-4], make_node (nod_subtract, 2, yyvsp[-2], MAKE_constant ((dsql_str*) 1, CONSTANT_SLONG)), yyvsp[-1]); } break; -case 986: +case 992: { yyval = yyvsp[0]; } break; -case 987: +case 993: { yyval = MAKE_constant ((dsql_str*) SHRT_POS_MAX, CONSTANT_SLONG); } break; -case 988: +case 994: { yyval = make_node (nod_udf, 2, yyvsp[-3], yyvsp[-1]); } break; -case 989: +case 995: { yyval = make_node (nod_udf, 1, yyvsp[-2]); } break; -case 990: +case 996: { yyval = make_node (nod_cast, (int) e_cast_count, yyvsp[-1], yyvsp[-3]); } break; -case 993: +case 999: { yyval = make_node (nod_searched_case, 2, make_node (nod_list, 2, make_node (nod_eql, 2, yyvsp[-3], yyvsp[-1]), make_node (nod_null, 0, NULL)), yyvsp[-3]); } break; -case 994: +case 1000: { yyval = make_node (nod_searched_case, 2, make_node (nod_list, 2, yyvsp[-5], yyvsp[-3]), yyvsp[-1]); } break; -case 995: +case 1001: { yyval = make_node (nod_coalesce, 2, yyvsp[-3], yyvsp[-1]); } break; -case 998: +case 1004: { yyval = make_node (nod_simple_case, 3, yyvsp[-2], make_list(yyvsp[-1]), make_node (nod_null, 0, NULL)); } break; -case 999: +case 1005: { yyval = make_node (nod_simple_case, 3, yyvsp[-4], make_list(yyvsp[-3]), yyvsp[-1]); } break; -case 1000: +case 1006: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 1001: +case 1007: { yyval = make_node (nod_list, 2, yyvsp[-4], make_node (nod_list, 2, yyvsp[-2], yyvsp[0])); } break; -case 1002: +case 1008: { yyval = make_node (nod_searched_case, 2, make_list(yyvsp[-1]), make_node (nod_null, 0, NULL)); } break; -case 1003: +case 1009: { yyval = make_node (nod_searched_case, 2, make_list(yyvsp[-3]), yyvsp[-1]); } break; -case 1004: +case 1010: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 1005: +case 1011: { yyval = make_node (nod_list, 2, yyvsp[-4], make_node (nod_list, 2, yyvsp[-2], yyvsp[0])); } break; -case 1009: +case 1015: { yyval = make_node (nod_gen_id, 2, yyvsp[0], MAKE_constant((dsql_str*) 1, CONSTANT_SLONG)); } break; -case 1010: +case 1016: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_gen_id2, 2, yyvsp[-3], yyvsp[-1]); @@ -7066,31 +7093,31 @@ case 1010: yyval = make_node (nod_gen_id, 2, yyvsp[-3], yyvsp[-1]); } break; -case 1011: +case 1017: { yyval = MAKE_constant ((dsql_str*)blr_extract_year, CONSTANT_SLONG); } break; -case 1012: +case 1018: { yyval = MAKE_constant ((dsql_str*)blr_extract_month, CONSTANT_SLONG); } break; -case 1013: +case 1019: { yyval = MAKE_constant ((dsql_str*)blr_extract_day, CONSTANT_SLONG); } break; -case 1014: +case 1020: { yyval = MAKE_constant ((dsql_str*)blr_extract_hour, CONSTANT_SLONG); } break; -case 1015: +case 1021: { yyval = MAKE_constant ((dsql_str*)blr_extract_minute, CONSTANT_SLONG); } break; -case 1016: +case 1022: { yyval = MAKE_constant ((dsql_str*)blr_extract_second, CONSTANT_SLONG); } break; -case 1017: +case 1023: { yyval = MAKE_constant ((dsql_str*)blr_extract_weekday, CONSTANT_SLONG); } break; -case 1018: +case 1024: { yyval = MAKE_constant ((dsql_str*)blr_extract_yearday, CONSTANT_SLONG); } break; -case 1023: +case 1029: { yyval = make_node (nod_null, 0, NULL); } break; } diff --git a/src/dsql/parse.y b/src/dsql/parse.y index ccfee128de..b410c7c058 100644 --- a/src/dsql/parse.y +++ b/src/dsql/parse.y @@ -1910,13 +1910,14 @@ alter_clause : EXCEPTION alter_exception_clause { $$ = make_node (nod_mod_database, (int) e_adb_count, make_list ($3)); } | DOMAIN alter_column_name alter_domain_ops - { $$ = make_node (nod_mod_domain, (int) e_alt_count, + { $$ = make_node (nod_mod_domain, (int) e_alt_count, $2, make_list ($3)); } | INDEX alter_index_clause - { $$ = make_node (nod_mod_index, - (int) e_mod_idx_count, $2); } + { $$ = make_node (nod_mod_index, (int) e_mod_idx_count, $2); } | SEQUENCE alter_sequence_clause { $$ = $2; } + | EXTERNAL FUNCTION alter_udf_clause + { $$ = $3; } ; domain_default_opt2 : DEFAULT begin_trigger default_value @@ -2070,6 +2071,22 @@ alter_sequence_clause : symbol_generator_name RESTART WITH signed_long_integer { $$ = make_node (nod_set_generator2, e_gen_id_count, $1, make_node(nod_negate, 1, MAKE_constant((dsql_str*) $5, CONSTANT_SINT64))); } ; + +alter_udf_clause : symbol_UDF_name entry_op module_op + { $$ = make_node(nod_mod_udf, e_mod_udf_count, $1, $2, $3); } + ; + +entry_op : ENTRY_POINT sql_string + { $$ = $2; } + | + { $$ = NULL; } + ; + +module_op : MODULE_NAME sql_string + { $$ = $2; } + | + { $$ = NULL; } + ; /* ALTER DATABASE */ diff --git a/src/dsql/pass1.cpp b/src/dsql/pass1.cpp index 58aa10c24f..48b4815e97 100644 --- a/src/dsql/pass1.cpp +++ b/src/dsql/pass1.cpp @@ -1104,6 +1104,7 @@ dsql_nod* PASS1_statement(dsql_req* request, dsql_nod* input, bool proc_flag) case nod_del_shadow: case nod_set_statistics: case nod_comment: + case nod_mod_udf: request->req_type = REQ_DDL; return input;