8dfc9bc5e3ff7127b9634cf9fba60863179d70ae
[m6w6/ext-psi] / src / parser_proc.c
1 /* A Bison parser, made by GNU Bison 3.0.4. */
2
3 /* Skeleton implementation for Bison GLR parsers in C
4
5 Copyright (C) 2002-2015 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 /* C GLR parser skeleton written by Paul Hilfinger. */
34
35 /* Identify Bison output. */
36 #define YYBISON 1
37
38 /* Bison version. */
39 #define YYBISON_VERSION "3.0.4"
40
41 /* Skeleton name. */
42 #define YYSKELETON_NAME "glr.c"
43
44 /* Pure parsers. */
45 #define YYPURE 1
46
47
48 /* "%code top" blocks. */
49 #line 1 "src/parser_proc_grammar.y" /* glr.c:222 */
50
51 #include "php_psi_stdinc.h"
52
53 #line 54 "src/parser_proc.c" /* glr.c:222 */
54
55
56 /* Substitute the variable and function names. */
57 #define yyparse psi_parser_proc_parse
58 #define yylex psi_parser_proc_lex
59 #define yyerror psi_parser_proc_error
60 #define yydebug psi_parser_proc_debug
61
62
63 /* First part of user declarations. */
64
65 #line 66 "src/parser_proc.c" /* glr.c:240 */
66
67 # ifndef YY_NULLPTR
68 # if defined __cplusplus && 201103L <= __cplusplus
69 # define YY_NULLPTR nullptr
70 # else
71 # define YY_NULLPTR 0
72 # endif
73 # endif
74
75 #include "parser_proc.h"
76
77 /* Enabling verbose error messages. */
78 #ifdef YYERROR_VERBOSE
79 # undef YYERROR_VERBOSE
80 # define YYERROR_VERBOSE 1
81 #else
82 # define YYERROR_VERBOSE 1
83 #endif
84
85 /* Default (constant) value used for initialization for null
86 right-hand sides. Unlike the standard yacc.c template, here we set
87 the default value of $$ to a zeroed-out value. Since the default
88 value is undefined, this behavior is technically correct. */
89 static YYSTYPE yyval_default;
90
91 /* Copy the second part of user declarations. */
92
93 #line 94 "src/parser_proc.c" /* glr.c:263 */
94 /* Unqualified %code blocks. */
95 #line 5 "src/parser_proc_grammar.y" /* glr.c:264 */
96
97 #include <assert.h>
98 #include <stdarg.h>
99
100 #include "plist.h"
101 #include "parser.h"
102 #define YYDEBUG 1
103
104 static int psi_parser_proc_lex(YYSTYPE *u, struct psi_parser *P, struct psi_plist *tokens, size_t *index);
105 static void psi_parser_proc_error(struct psi_parser *P, struct psi_plist *tokens, size_t *index, const char *msg);
106
107 static inline void psi_parser_proc_add_struct(struct psi_parser *P, struct psi_decl_struct *strct)
108 {
109 assert(strct);
110 if (!P->structs) {
111 P->structs = psi_plist_init((psi_plist_dtor) psi_decl_struct_free);
112 }
113 P->structs = psi_plist_add(P->structs, &strct);
114 }
115 static inline void psi_parser_proc_add_union(struct psi_parser *P, struct psi_decl_union *u)
116 {
117 assert(u);
118 if (!P->unions) {
119 P->unions = psi_plist_init((psi_plist_dtor) psi_decl_union_free);
120 }
121 P->unions = psi_plist_add(P->unions, &u);
122 }
123 static inline void psi_parser_proc_add_enum(struct psi_parser *P, struct psi_decl_enum *e)
124 {
125 assert(e);
126 if (!P->enums) {
127 P->enums = psi_plist_init((psi_plist_dtor) psi_decl_enum_free);
128 }
129 P->enums = psi_plist_add(P->enums, &e);
130 }
131 static inline void psi_parser_proc_add_from_typedef(struct psi_parser *P, struct psi_decl_arg *def)
132 {
133 if (def->type->real.def) {
134 switch (def->type->type) {
135 case PSI_T_STRUCT:
136 psi_parser_proc_add_struct(P, def->type->real.strct);
137 break;
138 case PSI_T_UNION:
139 psi_parser_proc_add_union(P, def->type->real.unn);
140 break;
141 case PSI_T_ENUM:
142 psi_parser_proc_add_enum(P, def->type->real.enm);
143 break;
144 default:
145 break;
146 }
147 }
148 }
149 static inline void psi_parser_proc_add_typedef(struct psi_parser *P, struct psi_decl_arg *def)
150 {
151 assert(def);
152 if (!P->types) {
153 P->types = psi_plist_init((psi_plist_dtor) psi_decl_arg_free);
154 }
155 P->types = psi_plist_add(P->types, &def);
156 psi_parser_proc_add_from_typedef(P, def);
157 }
158 static inline void psi_parser_proc_add_const(struct psi_parser *P, struct psi_const *cnst) {
159 assert(cnst);
160 if (!P->consts) {
161 P->consts = psi_plist_init((psi_plist_dtor) psi_const_free);
162 }
163 P->consts = psi_plist_add(P->consts, &cnst);
164
165 }
166 static inline void psi_parser_proc_add_decl(struct psi_parser *P, struct psi_decl *decl) {
167 assert(decl);
168 if (!P->decls) {
169 P->decls = psi_plist_init((psi_plist_dtor) psi_decl_free);
170 }
171 P->decls = psi_plist_add(P->decls, &decl);
172 }
173 static inline void psi_parser_proc_add_impl(struct psi_parser *P, struct psi_impl *impl) {
174 assert(impl);
175 if (!P->impls) {
176 P->impls = psi_plist_init((psi_plist_dtor) psi_impl_free);
177 }
178 P->impls = psi_plist_add(P->impls, &impl);
179 }
180
181 /* end code */
182
183 #line 184 "src/parser_proc.c" /* glr.c:264 */
184
185 #include <stdio.h>
186 #include <stdlib.h>
187 #include <string.h>
188
189 #ifndef YY_
190 # if defined YYENABLE_NLS && YYENABLE_NLS
191 # if ENABLE_NLS
192 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
193 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
194 # endif
195 # endif
196 # ifndef YY_
197 # define YY_(Msgid) Msgid
198 # endif
199 #endif
200
201 #ifndef YYFREE
202 # define YYFREE free
203 #endif
204 #ifndef YYMALLOC
205 # define YYMALLOC malloc
206 #endif
207 #ifndef YYREALLOC
208 # define YYREALLOC realloc
209 #endif
210
211 #define YYSIZEMAX ((size_t) -1)
212
213 #ifdef __cplusplus
214 typedef bool yybool;
215 #else
216 typedef unsigned char yybool;
217 #endif
218 #define yytrue 1
219 #define yyfalse 0
220
221 #ifndef YYSETJMP
222 # include <setjmp.h>
223 # define YYJMP_BUF jmp_buf
224 # define YYSETJMP(Env) setjmp (Env)
225 /* Pacify clang. */
226 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
227 #endif
228
229 #ifndef YY_ATTRIBUTE
230 # if (defined __GNUC__ \
231 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
232 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
233 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
234 # else
235 # define YY_ATTRIBUTE(Spec) /* empty */
236 # endif
237 #endif
238
239 #ifndef YY_ATTRIBUTE_PURE
240 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
241 #endif
242
243 #ifndef YY_ATTRIBUTE_UNUSED
244 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
245 #endif
246
247 #if !defined _Noreturn \
248 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
249 # if defined _MSC_VER && 1200 <= _MSC_VER
250 # define _Noreturn __declspec (noreturn)
251 # else
252 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
253 # endif
254 #endif
255
256 /* Suppress unused-variable warnings by "using" E. */
257 #if ! defined lint || defined __GNUC__
258 # define YYUSE(E) ((void) (E))
259 #else
260 # define YYUSE(E) /* empty */
261 #endif
262
263 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
264 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
265 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
266 _Pragma ("GCC diagnostic push") \
267 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
268 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
269 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
270 _Pragma ("GCC diagnostic pop")
271 #else
272 # define YY_INITIAL_VALUE(Value) Value
273 #endif
274 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
275 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
276 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
277 #endif
278 #ifndef YY_INITIAL_VALUE
279 # define YY_INITIAL_VALUE(Value) /* Nothing. */
280 #endif
281
282
283 #ifndef YYASSERT
284 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
285 #endif
286
287 /* YYFINAL -- State number of the termination state. */
288 #define YYFINAL 162
289 /* YYLAST -- Last index in YYTABLE. */
290 #define YYLAST 3077
291
292 /* YYNTOKENS -- Number of terminals. */
293 #define YYNTOKENS 132
294 /* YYNNTS -- Number of nonterminals. */
295 #define YYNNTS 118
296 /* YYNRULES -- Number of rules. */
297 #define YYNRULES 464
298 /* YYNRULES -- Number of states. */
299 #define YYNSTATES 680
300 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
301 #define YYMAXRHS 13
302 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
303 accessed by $0, $-1, etc., in any rule. */
304 #define YYMAXLEFT 0
305
306 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
307 #define YYUNDEFTOK 2
308 #define YYMAXUTOK 386
309
310 #define YYTRANSLATE(YYX) \
311 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
312
313 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
314 static const unsigned char yytranslate[] =
315 {
316 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
317 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
318 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
319 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
321 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
322 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
323 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
325 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
330 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
341 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
342 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
343 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
344 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
345 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
346 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
347 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
348 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
349 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
350 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
351 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
352 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
353 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
354 125, 126, 127, 128, 129, 130, 131
355 };
356
357 #if YYDEBUG
358 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
359 static const unsigned short int yyrline[] =
360 {
361 0, 392, 392, 392, 392, 392, 392, 392, 392, 392,
362 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
363 393, 393, 393, 393, 394, 394, 394, 394, 394, 394,
364 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
365 394, 395, 395, 395, 395, 395, 395, 395, 395, 395,
366 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
367 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
368 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
369 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
370 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
371 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
372 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
373 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
374 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
375 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
376 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
377 395, 395, 395, 399, 400, 403, 404, 407, 408, 409,
378 410, 416, 424, 427, 430, 431, 434, 437, 440, 443,
379 449, 455, 458, 464, 487, 491, 495, 500, 504, 508,
380 512, 519, 520, 524, 525, 529, 530, 531, 535, 536,
381 540, 541, 545, 546, 547, 551, 552, 556, 557, 558,
382 559, 560, 561, 565, 570, 578, 581, 585, 590, 598,
383 601, 605, 609, 616, 620, 624, 628, 633, 643, 653,
384 658, 663, 669, 678, 681, 685, 689, 695, 702, 708,
385 709, 710, 711, 715, 718, 725, 726, 727, 728, 729,
386 733, 739, 740, 748, 758, 766, 774, 782, 785, 789,
387 793, 797, 802, 807, 815, 816, 817, 820, 826, 829,
388 832, 838, 839, 840, 841, 842, 843, 844, 845, 849,
389 850, 854, 857, 860, 866, 869, 872, 880, 892, 895,
390 898, 905, 908, 918, 921, 924, 927, 928, 932, 935,
391 938, 949, 952, 958, 959, 963, 964, 968, 972, 978,
392 979, 985, 992, 1000, 1007, 1018, 1019, 1023, 1030, 1041,
393 1052, 1066, 1067, 1079, 1082, 1085, 1088, 1094, 1097, 1107,
394 1120, 1125, 1133, 1143, 1153, 1156, 1160, 1166, 1169, 1175,
395 1183, 1190, 1193, 1199, 1204, 1212, 1216, 1220, 1224, 1228,
396 1232, 1239, 1243, 1247, 1251, 1258, 1271, 1284, 1297, 1300,
397 1307, 1310, 1316, 1320, 1327, 1330, 1336, 1339, 1345, 1346,
398 1352, 1355, 1367, 1370, 1377, 1382, 1387, 1397, 1400, 1406,
399 1409, 1415, 1422, 1429, 1430, 1431, 1432, 1433, 1434, 1435,
400 1436, 1437, 1441, 1444, 1450, 1453, 1456, 1459, 1462, 1468,
401 1472, 1480, 1481, 1485, 1492, 1495, 1498, 1501, 1504, 1510,
402 1514, 1522, 1529, 1537, 1545, 1546, 1547, 1548, 1549, 1550,
403 1551, 1552, 1553, 1554, 1558, 1561, 1567, 1570, 1576, 1577,
404 1581, 1584, 1590, 1593, 1599, 1606, 1613, 1616, 1619, 1626,
405 1631, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1650,
406 1653, 1659, 1662, 1668, 1675, 1676, 1680, 1687, 1690, 1696,
407 1704, 1707, 1713, 1716, 1722
408 };
409 #endif
410
411 #if YYDEBUG || YYERROR_VERBOSE || 1
412 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
413 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
414 static const char *const yytname[] =
415 {
416 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
417 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
418 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "INT8", "UINT8",
419 "INT16", "UINT16", "INT32", "UINT32", "INT64", "UINT64", "NULL", "TRUE",
420 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
421 "QUOTED_CHAR", "\"end of line\"", "\";\"", "\"(\"", "\")\"", "\",\"",
422 "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"", "\"#\"", "\"|\"",
423 "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"", "\"*\"", "\"/\"",
424 "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"", "\"||\"", "\"&&\"",
425 "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"", "\"\\\\\"", "\"...\"",
426 "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR", "WARNING", "IF",
427 "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE", "DEFINED", "UNDEF",
428 "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF", "STRUCT", "UNION",
429 "ENUM", "CONST", "LIB", "STATIC", "CALLBACK", "FUNCTION", "LET", "SET",
430 "TEMP", "FREE", "RETURN", "PRE_ASSERT", "POST_ASSERT", "BOOLVAL",
431 "INTVAL", "STRVAL", "PATHVAL", "STRLEN", "FLOATVAL", "ARRVAL", "OBJVAL",
432 "COUNT", "CALLOC", "TO_BOOL", "TO_INT", "TO_STRING", "TO_FLOAT",
433 "TO_ARRAY", "TO_OBJECT", "COMMENT", "WHITESPACE", "NO_WHITESPACE",
434 "CPP_HEADER", "CPP_ATTRIBUTE", "CPP_EXTENSION", "CPP_PASTE",
435 "CPP_RESTRICT", "CPP_ASM", "BINARY", "UNARY", "$accept",
436 "binary_op_token", "unary_op_token", "name_token", "any_noeol_token",
437 "file", "blocks", "block", "lib", "cpp", "cpp_exp", "cpp_ignored_token",
438 "cpp_message_token", "cpp_include_token", "cpp_header_token",
439 "cpp_no_arg_token", "cpp_name_arg_token", "cpp_exp_arg_token",
440 "cpp_special_name_token", "cpp_macro_decl", "cpp_macro_sig",
441 "cpp_macro_sig_args", "cpp_macro_decl_tokens",
442 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
443 "cpp_macro_call_arg_list", "constant", "constant_type",
444 "constant_type_token", "impl_def_val", "impl_def_val_token",
445 "decl_typedef", "typedef", "const_decl_type", "decl_type",
446 "decl_type_complex", "decl_type_simple", "decl_real_type",
447 "decl_stdint_type", "int_signed", "int_width", "decl_int_type",
448 "int_signed_types", "signed_short_types", "signed_long_types",
449 "int_width_types", "decl_stmt", "decl_asm", "ignored_quoted_strings",
450 "decl_ext_var_stmt", "decl_ext_var", "decl_ext_var_list", "decl",
451 "decl_fn", "decl_functor", "decl_func", "decl_args", "decl_arg",
452 "decl_var", "decl_union", "decl_struct", "decl_struct_args",
453 "struct_args_block", "struct_args", "struct_arg", "decl_enum",
454 "decl_enum_items", "decl_enum_item", "num_exp", "number", "enum_name",
455 "union_name", "struct_name", "optional_name", "decl_layout",
456 "align_and_size", "array_size", "indirection", "pointers", "asterisks",
457 "impl", "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
458 "impl_type_token", "impl_stmts", "impl_stmt", "let_stmt", "let_exp",
459 "let_exp_byref", "let_exp_assign", "let_calloc", "let_callback",
460 "let_func", "let_func_token", "let_func_exps", "let_exps",
461 "callback_rval", "callback_arg_list", "callback_args", "return_stmt",
462 "set_stmt", "set_exp", "set_func", "set_func_token", "set_func_exps",
463 "set_exps", "assert_stmt", "assert_stmt_token", "free_stmt", "free_exps",
464 "free_exp", "decl_vars", "reference", "byref", YY_NULLPTR
465 };
466 #endif
467
468 #define YYPACT_NINF -547
469 #define YYTABLE_NINF -463
470
471 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
472 STATE-NUM. */
473 static const short int yypact[] =
474 {
475 919, -547, -547, -547, -547, -547, 56, -547, -547, 1936,
476 -547, -547, -547, -547, -547, -547, -547, -547, 2491, -547,
477 -547, 236, 2541, 2319, 2319, 2319, 1554, 9, -63, 21,
478 -547, 2568, 73, 919, -547, -547, -547, -547, -547, 1985,
479 -547, -547, -547, -547, -547, 104, 78, -547, -547, -547,
480 43, -10, 67, -547, -547, -547, -547, -547, -547, 81,
481 -547, 87, -547, -547, -547, -547, -547, 629, -547, 80,
482 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
483 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
484 -547, -547, -547, -547, -547, -547, -547, -547, -547, 2103,
485 -38, -547, -547, -547, 2319, 2319, 2319, 2672, 100, 58,
486 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
487 -547, -547, 878, -547, -547, -547, -547, 108, 759, 759,
488 -9, -547, 878, 1818, 2595, 2319, 2319, 110, 1582, -547,
489 111, 2319, 115, 115, -6, -6, 117, -547, -547, 130,
490 142, -547, 80, 148, -547, -547, 144, 140, -547, 154,
491 -547, -10, -547, -547, 150, -547, 155, 2319, -547, 189,
492 -547, 38, -547, -547, 104, -547, -547, 158, 160, 2645,
493 2319, 165, 2319, -547, 80, -547, -547, -547, -547, -547,
494 -547, 2645, 1985, -547, -547, -547, -547, -547, -547, 75,
495 759, -547, -547, -547, -547, -547, -547, -547, -547, -547,
496 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
497 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
498 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
499 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
500 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
501 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
502 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
503 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
504 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
505 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
506 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
507 -547, -547, -547, -547, -547, -547, -547, 759, -547, -547,
508 -547, -547, -547, -547, -547, -547, 1818, -547, -547, -547,
509 -547, 2152, 1818, 163, 2934, 59, -547, 59, -547, -547,
510 -547, -547, 164, 162, 162, 3, 3, 2270, 166, -547,
511 165, 168, 171, 176, -547, 80, 150, -547, -547, -547,
512 -547, -547, -547, 177, -547, 80, 2699, 1985, 72, -547,
513 169, 51, -547, 1985, 1397, 1985, 2319, 71, -547, -547,
514 123, -547, -547, -547, -547, -547, 1700, -547, 175, 2319,
515 82, -547, 2319, 170, 178, -547, -547, 2780, 2319, -547,
516 -547, 1818, -547, -547, -547, -547, -547, -547, -547, -547,
517 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
518 1818, 1818, 179, 2541, 1985, 1985, -547, -547, -547, -547,
519 80, -547, 27, 149, 36, -547, 174, 2319, -547, -547,
520 24, 2319, 80, 150, 1013, 1700, 2319, -547, 183, 191,
521 -547, -547, -547, 1043, 1700, -547, 2958, -547, 184, 195,
522 -547, 196, 188, 187, 198, 55, -547, -547, 200, 196,
523 -547, -547, 2744, -547, 203, 150, 2436, 1985, 2319, -547,
524 204, 2934, 205, 199, 2885, -547, 212, 214, 2464, -547,
525 -547, -547, 2319, -547, -547, -547, -547, -547, 209, -547,
526 -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
527 215, 102, -547, 21, -547, -547, 218, -547, -547, 2319,
528 -547, 80, 219, -547, 2958, -547, 1161, -547, 220, 2735,
529 221, 2807, -547, 1700, 1700, 1397, -547, 1985, -547, 21,
530 1985, -547, 2319, -547, -547, -547, -547, 234, -547, -547,
531 235, 237, -547, -547, 1818, 1818, 238, 239, 242, -547,
532 -547, 246, -547, 344, 240, 344, 230, -547, 150, -547,
533 182, 258, 2958, -547, -547, -547, -547, 259, 1515, 1700,
534 -547, 2910, -547, -547, 260, 1985, 129, -547, 150, 759,
535 2319, 2934, 2982, 265, 261, -547, -547, -547, 344, -547,
536 21, 27, -547, -547, -547, -547, 266, 1700, 21, -547,
537 -547, 1700, 459, 264, 269, -547, -547, -547, -547, 281,
538 292, -547, 0, -547, 21, 2860, 286, 3006, 288, -547,
539 289, -547, -547, -547, 290, 296, 293, 1700, 1161, 294,
540 -547, 1397, 299, 297, 1279, 2834, 183, -547, -547, -547,
541 295, 1515, -547, -547, 298, 300, 303, 305, -547, -547,
542 1161, -547, -547, 344, 304, 1397, -547, -547, -547, -547
543 };
544
545 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
546 Performed when YYTABLE does not specify something else to do. Zero
547 means the default is an error. */
548 static const unsigned short int yydefact[] =
549 {
550 163, 284, 281, 285, 279, 280, 282, 268, 269, 0,
551 271, 272, 273, 274, 275, 276, 277, 278, 267, 168,
552 167, 0, 0, 0, 0, 358, 0, 0, 0, 462,
553 169, 0, 0, 164, 165, 171, 170, 172, 175, 366,
554 258, 260, 259, 265, 266, 288, 298, 264, 173, 174,
555 0, 303, 0, 316, 315, 321, 177, 176, 178, 0,
556 179, 0, 283, 270, 32, 33, 448, 414, 24, 366,
557 370, 38, 37, 36, 34, 35, 31, 30, 28, 27,
558 25, 26, 422, 421, 419, 417, 418, 420, 416, 415,
559 423, 29, 446, 444, 443, 445, 442, 441, 322, 0,
560 368, 39, 40, 267, 0, 0, 0, 0, 0, 309,
561 181, 192, 189, 191, 193, 194, 205, 202, 203, 200,
562 206, 201, 0, 204, 195, 196, 197, 0, 219, 219,
563 0, 185, 0, 0, 267, 358, 358, 0, 366, 252,
564 251, 0, 362, 362, 261, 262, 263, 355, 239, 285,
565 268, 242, 0, 0, 238, 257, 0, 0, 464, 0,
566 463, 303, 1, 166, 364, 327, 0, 367, 289, 293,
567 291, 295, 286, 299, 288, 287, 307, 0, 0, 323,
568 0, 0, 0, 367, 366, 329, 371, 369, 261, 262,
569 263, 323, 0, 308, 208, 209, 210, 212, 211, 207,
570 219, 187, 182, 74, 41, 42, 43, 44, 45, 46,
571 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
572 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
573 67, 68, 69, 70, 71, 72, 73, 75, 76, 77,
574 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
575 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
576 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
577 108, 114, 112, 113, 111, 109, 110, 115, 116, 117,
578 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
579 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
580 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
581 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
582 158, 161, 159, 160, 162, 221, 190, 220, 183, 198,
583 199, 184, 207, 186, 229, 230, 0, 22, 23, 20,
584 21, 0, 0, 231, 188, 261, 357, 262, 356, 250,
585 256, 253, 0, 0, 0, 0, 0, 0, 0, 180,
586 0, 0, 0, 0, 331, 366, 364, 294, 290, 296,
587 297, 292, 300, 0, 301, 324, 0, 0, 0, 325,
588 343, 0, 341, 0, 462, 0, 0, 0, 454, 455,
589 0, 392, 395, 394, 396, 397, 0, 398, 0, 0,
590 0, 460, 0, 310, 0, 214, 222, 0, 0, 227,
591 224, 233, 2, 3, 4, 5, 6, 7, 8, 9,
592 10, 11, 13, 12, 14, 15, 16, 17, 18, 19,
593 0, 0, 0, 0, 0, 0, 334, 333, 335, 332,
594 366, 328, 243, 0, 0, 302, 0, 0, 330, 305,
595 0, 0, 0, 364, 0, 0, 0, 340, 0, 0,
596 352, 351, 353, 0, 0, 354, 437, 345, 0, 0,
597 436, 40, 0, 0, 0, 0, 457, 447, 0, 0,
598 372, 393, 0, 320, 0, 364, 0, 0, 215, 223,
599 0, 235, 0, 234, 0, 225, 0, 360, 0, 337,
600 255, 254, 0, 245, 247, 248, 246, 249, 0, 244,
601 373, 385, 386, 387, 388, 384, 389, 390, 391, 383,
602 0, 0, 377, 462, 382, 365, 0, 306, 304, 0,
603 311, 0, 0, 326, 344, 342, 0, 399, 24, 0,
604 0, 0, 349, 0, 0, 462, 435, 0, 381, 462,
605 0, 456, 0, 434, 453, 319, 313, 0, 461, 217,
606 0, 216, 228, 232, 0, 0, 0, 0, 0, 336,
607 338, 0, 237, 0, 0, 0, 379, 317, 364, 404,
608 30, 29, 408, 409, 405, 406, 407, 39, 0, 0,
609 347, 0, 348, 438, 449, 0, 0, 458, 364, 219,
610 0, 236, 226, 0, 0, 339, 318, 374, 0, 378,
611 462, 243, 312, 428, 414, 429, 0, 0, 462, 410,
612 346, 0, 462, 0, 0, 459, 314, 213, 218, 0,
613 0, 375, 0, 380, 462, 0, 424, 350, 0, 451,
614 450, 439, 400, 363, 0, 0, 0, 0, 0, 0,
615 440, 462, 0, 0, 430, 0, 354, 426, 403, 401,
616 425, 0, 413, 452, 0, 0, 0, 431, 432, 411,
617 0, 402, 361, 0, 0, 462, 427, 376, 412, 433
618 };
619
620 /* YYPGOTO[NTERM-NUM]. */
621 static const short int yypgoto[] =
622 {
623 -547, -331, -129, -2, 22, -547, -547, 315, -547, -547,
624 -547, -547, -547, -547, -547, -547, -547, -547, 231, -547,
625 -547, -547, -126, -547, -324, -547, -547, -547, -547, -547,
626 -260, -547, -547, 331, -17, -24, -547, -547, -547, 224,
627 319, -547, -547, 192, -547, -547, -547, -547, 206, -547,
628 -547, -547, -547, 26, 6, -547, -547, 180, -7, -39,
629 -547, -547, 12, -183, -547, -128, 33, -547, -87, -386,
630 -547, -547, -547, -547, 40, -547, -27, -360, -60, -1,
631 -547, -547, 345, -547, -203, -482, -546, -547, 15, -362,
632 -547, -294, -506, -5, -547, -547, -547, -516, -547, -547,
633 -547, -547, -547, -547, -547, -508, -8, -368, -547, -547,
634 -547, -547, -547, -547, -175, -169, -28, -522
635 };
636
637 /* YYDEFGOTO[NTERM-NUM]. */
638 static const short int yydefgoto[] =
639 {
640 -1, 544, 464, 164, 325, 32, 33, 34, 35, 36,
641 127, 128, 129, 130, 331, 131, 132, 133, 200, 201,
642 560, 561, 326, 327, 344, 492, 493, 37, 153, 154,
643 508, 509, 38, 497, 39, 40, 41, 42, 43, 44,
644 45, 46, 47, 172, 368, 371, 175, 48, 178, 450,
645 49, 50, 193, 139, 52, 53, 54, 378, 55, 465,
646 56, 57, 437, 438, 498, 499, 141, 381, 382, 466,
647 467, 59, 142, 143, 147, 568, 353, 364, 166, 402,
648 100, 60, 61, 521, 522, 468, 523, 524, 390, 391,
649 392, 657, 658, 659, 584, 585, 586, 101, 649, 660,
650 616, 666, 667, 393, 394, 469, 470, 102, 623, 640,
651 395, 396, 397, 475, 476, 403, 472, 160
652 };
653
654 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
655 positive, shift that token. If negative, reduce the rule whose
656 number is the opposite. If YYTABLE_NINF, syntax error. */
657 static const short int yytable[] =
658 {
659 165, 159, 155, 328, 342, 138, 448, 98, 99, 182,
660 482, 109, 407, 431, 588, 140, 471, 186, 410, 479,
661 587, 144, 145, 146, 108, 329, 51, 607, 481, 610,
662 583, -362, 548, 58, 29, 352, -362, 593, 167, 511,
663 436, 576, 512, 156, 369, 433, 513, 370, 514, 515,
664 516, 517, 518, 519, 503, 504, 505, 161, 527, 51,
665 506, 507, 631, 528, 615, 62, 58, 63, 183, 534,
666 645, 158, 587, 162, 405, 520, 431, 541, 542, 431,
667 176, 481, 619, 155, 173, 4, 5, 491, 66, 477,
668 187, 456, 551, 530, 457, 552, -321, 185, 192, 165,
669 -359, -359, 188, 189, 190, 179, 494, 495, 168, 169,
670 170, 453, 454, 171, 639, 330, 354, 355, 356, 177,
671 199, 485, 486, 180, 399, 556, 661, 677, 576, 181,
672 332, 343, 587, 345, 347, 70, 636, 167, 191, 351,
673 108, 574, 575, 663, 202, 587, 668, 349, 661, -321,
674 582, 357, 646, 401, 587, 671, 352, 591, 592, -359,
675 431, -240, 377, 431, 431, 366, 480, 679, 625, 487,
676 434, 435, 379, -241, 377, 346, 348, 471, 380, 358,
677 398, 359, 360, 183, 379, 361, 92, 93, 94, 95,
678 96, 97, 510, 365, 363, 367, 373, 374, 404, 613,
679 614, 411, 582, 620, 433, 432, 444, 342, 445, 446,
680 487, 449, 442, 342, 483, 455, 488, 496, 612, 525,
681 548, 383, 384, 385, 386, 387, 388, 389, 537, 536,
682 545, 635, 546, 549, 547, 637, 550, 553, 626, 564,
683 601, 602, 555, 562, 563, 566, 572, 383, 384, 385,
684 386, 387, 388, 389, 471, 567, 573, 577, 578, -24,
685 589, 655, 582, 383, 384, 385, 386, 387, 388, 389,
686 431, 431, 110, 598, 599, 582, 611, 600, 603, 605,
687 604, 608, 342, 471, 582, 606, 471, 82, 83, 84,
688 85, 86, 87, 88, 89, 90, 617, 618, 629, 630,
689 622, 342, 342, 641, 634, 447, 642, 471, 111, 112,
690 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
691 643, 123, 124, 125, 126, 644, 648, 650, 653, 651,
692 652, 654, 664, 662, 343, 670, 665, 672, 165, 409,
693 343, 673, 674, 678, 458, 675, 473, 511, 163, 406,
694 512, 633, 155, 137, 513, 441, 514, 515, 516, 517,
695 518, 519, 350, 333, 183, 174, 372, 362, 439, 535,
696 570, 400, 609, 157, 451, 443, 676, 597, 459, 478,
697 502, 596, 0, 0, 474, 0, 0, 0, 0, 0,
698 0, 0, 0, 0, 0, 500, 501, 484, 0, 0,
699 366, 0, 0, 0, 0, 0, 490, 0, 0, 343,
700 0, 0, 0, 0, 0, 0, 138, 0, 0, 0,
701 0, 0, 0, 0, 0, 0, 140, 0, 343, 343,
702 0, 0, 0, 0, 0, 342, 342, 377, 0, 183,
703 0, 0, 0, 0, 0, 526, 540, 533, 558, 185,
704 0, 529, 0, 0, 380, 0, 0, 0, 0, 0,
705 0, 0, 64, 0, 0, 0, 0, 0, 0, 377,
706 0, 65, 0, 627, 0, 0, 66, 67, 0, 533,
707 0, 138, 0, 0, 0, 0, 559, 0, 0, 68,
708 460, 140, 461, 0, 462, 0, 0, 463, 0, 0,
709 571, 0, 0, 0, 0, 0, 0, 0, 594, 158,
710 0, 401, 337, 338, 70, 155, 0, 0, 0, 0,
711 0, 595, 0, 0, 0, 339, 340, 441, 0, 638,
712 451, 71, 72, 73, 74, 75, 0, 0, 0, 0,
713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
714 474, 0, 0, 76, 0, 77, 624, 78, 79, 80,
715 81, 0, 343, 343, 82, 83, 84, 85, 86, 87,
716 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
717 0, 0, 632, 0, 0, 0, 0, 0, 0, 0,
718 0, 0, 0, 0, 0, 0, 0, 0, 628, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 0, 656,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 0, 0, 0, 0, -414,
722 0, 656, -414, -414, -414, -414, -414, -414, -414, -414,
723 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
724 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
725 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
726 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
727 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
728 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
729 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
730 -414, -414, -414, -414, -414, 0, -414, 0, -414, -414,
731 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
732 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
733 -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
734 -414, 0, -414, -414, 0, -414, -414, -414, -414, 203,
735 0, 0, 204, 205, 206, 207, 208, 209, 210, 211,
736 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
737 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
738 232, 233, 234, 235, 236, 0, 237, 238, 239, 240,
739 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
740 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
741 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
742 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
743 281, 282, 283, 284, 285, 0, 286, 0, 287, 288,
744 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
745 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
746 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
747 319, 64, 0, 320, 0, 321, 322, 323, 324, 0,
748 65, 0, 0, 0, 0, 66, 67, 0, 0, 0,
749 0, 0, 0, 0, 0, 194, 195, 196, 68, 0,
750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
751 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
752 8, 0, 0, 0, 0, 0, 9, 0, 10, 11,
753 12, 13, 14, 15, 16, 17, 0, 0, 0, 18,
754 71, 72, 73, 74, 75, 19, 20, 0, 0, 0,
755 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
756 0, 0, 76, 0, 77, 0, 78, 79, 80, 81,
757 0, 0, 0, 82, 83, 84, 85, 86, 87, 88,
758 89, 90, 91, 92, 93, 94, 95, 96, 97, 0,
759 0, 0, 0, 0, 197, 0, 198, 0, 22, 23,
760 24, 25, 26, 27, 28, 0, 29, 1, 2, 3,
761 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
762 531, 0, 10, 11, 12, 13, 14, 15, 16, 17,
763 30, 0, 0, 103, 0, 31, 64, 1, 2, 3,
764 4, 5, 6, 7, 8, 65, 0, 0, 0, 0,
765 66, 67, 10, 11, 12, 13, 14, 15, 16, 17,
766 0, 0, 0, 538, 460, 0, 461, 0, 462, 0,
767 0, 463, 0, 532, 0, 0, 0, 0, 0, 0,
768 0, 0, 0, 0, 0, 0, 337, 338, 70, 0,
769 0, 0, 0, 104, 105, 106, 376, 0, 0, 339,
770 340, 0, 0, 0, 0, 71, 72, 73, 74, 75,
771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
772 0, 0, 0, 104, 105, 106, 539, 76, 0, 77,
773 0, 78, 79, 80, 81, 0, 0, 0, 82, 83,
774 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
775 94, 95, 96, 97, 64, 0, 0, 0, 0, 0,
776 0, 0, 0, 65, 0, 0, 0, 0, 66, 67,
777 0, 0, 0, 0, 0, 0, 0, 0, 579, 0,
778 0, 68, 460, 0, 461, 0, 462, 0, 0, 463,
779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
780 0, 158, 0, 0, 337, 338, 70, 0, 0, 0,
781 0, 0, 0, 0, 0, 0, 0, 339, 340, 0,
782 0, 0, 0, 71, 72, 73, 74, 75, 0, 0,
783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
784 0, 0, 0, 0, 0, 76, 0, 580, 0, 78,
785 79, 80, 81, 0, 0, 0, 82, 83, 84, 85,
786 86, 87, 88, 89, 90, 581, 92, 93, 94, 95,
787 96, 97, 64, 0, 0, 0, 0, 0, 0, 0,
788 0, 65, 0, 0, 0, 0, 66, 67, 0, 0,
789 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,
790 460, -462, 461, 0, 462, 0, 0, 463, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 158,
792 0, 0, 337, 338, 70, 0, 0, 0, 0, 0,
793 0, 0, 0, 0, 0, 339, 340, 0, 0, 0,
794 0, 71, 72, 73, 74, 75, 0, 0, 0, 0,
795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 76, 0, 77, 0, 78, 79, 80,
797 81, 0, 0, 0, 82, 83, 84, 85, 86, 87,
798 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
799 64, 0, 0, 0, 0, 0, 0, 0, 0, 65,
800 0, 0, 0, 0, 66, 67, 0, 0, 0, 0,
801 0, 0, 0, 0, 0, 0, 0, 68, 460, 0,
802 461, 0, 462, 0, 0, 463, 0, 0, 0, 0,
803 0, 0, 0, 0, 0, 0, 0, 158, 0, 0,
804 337, 338, 70, 0, 0, 0, 0, 0, 0, 0,
805 0, 0, 0, 339, 340, 0, 0, 0, 0, 71,
806 72, 73, 74, 75, 0, 0, 0, 0, 0, 0,
807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
808 0, 76, 0, 77, 0, 78, 79, 80, 81, 0,
809 0, 0, 82, 83, 84, 85, 86, 87, 88, 89,
810 90, 91, 92, 93, 94, 95, 96, 97, 64, 0,
811 0, 0, 0, 0, 0, 0, 0, 65, 0, 0,
812 0, 0, 66, 67, 0, 0, 0, 0, 0, 0,
813 0, 0, 579, 0, 0, 68, 460, 0, 461, 0,
814 462, 0, 0, 463, 0, 0, 0, 148, 1, 2,
815 149, 4, 5, 6, 150, 8, 151, 0, 337, 338,
816 70, 152, 0, 10, 11, 12, 13, 14, 15, 16,
817 17, 339, 340, 0, 103, 64, 0, 71, 72, 73,
818 74, 75, 0, 0, 65, 0, 0, 0, 0, 66,
819 67, 10, 11, 12, 13, 14, 15, 16, 17, 76,
820 0, 580, 68, 78, 79, 80, 81, 0, 0, 0,
821 82, 83, 84, 85, 86, 87, 88, 89, 90, 581,
822 92, 93, 94, 95, 96, 97, 0, 70, 0, 0,
823 0, 0, 0, 0, 104, 105, 106, 0, 0, 0,
824 0, 0, 0, 0, 71, 72, 73, 74, 75, 0,
825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
826 0, 0, 0, 0, 0, 0, 76, 0, 77, 0,
827 78, 79, 80, 81, 0, 0, 0, 82, 83, 84,
828 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
829 95, 96, 97, 64, 0, 0, 0, 0, 0, 0,
830 0, 0, 65, 0, 0, 0, 0, 66, 67, 0,
831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
832 68, 460, 0, 461, 0, 462, 0, 0, 463, 0,
833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
834 0, 0, 0, 337, 338, 70, 0, 0, 0, 0,
835 0, 0, 0, 0, 0, 0, 339, 340, 0, 0,
836 0, 0, 71, 72, 73, 74, 75, 0, 0, 0,
837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
838 0, 0, 0, 0, 76, 0, 77, 0, 78, 79,
839 80, 81, 0, 0, 0, 82, 83, 84, 85, 86,
840 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
841 97, 64, 0, 0, 0, 0, 0, 0, 0, 0,
842 65, 0, 0, 0, 0, 66, 67, 0, 0, 0,
843 0, 0, 0, 0, 0, 0, 0, 0, 68, 0,
844 0, 334, 0, 335, 0, 0, 336, 0, 0, 0,
845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
846 0, 337, 338, 0, 0, 0, 0, 0, 0, 0,
847 0, 0, 0, 0, 339, 340, 0, 0, 0, 0,
848 71, 72, 73, 74, 75, 0, 0, 0, 0, 0,
849 0, 0, 341, 0, 0, 0, 0, 0, 0, 0,
850 0, 0, 76, 0, 77, 0, 78, 79, 80, 81,
851 0, 0, 0, 82, 83, 84, 85, 86, 87, 88,
852 89, 90, 91, 92, 93, 94, 95, 96, 97, 64,
853 0, 0, 0, 0, 0, 0, 0, 0, 65, 0,
854 0, 0, 0, 66, 67, 0, 0, 0, 0, 0,
855 0, 0, 0, 0, 0, 0, 68, 0, 0, 0,
856 0, 0, 0, 0, 69, 0, 0, 0, 0, 0,
857 0, 0, 0, 0, 0, 0, 0, 0, 64, 0,
858 0, 70, 0, 0, 0, 0, 0, 65, 0, 0,
859 0, 0, 66, 67, 0, 0, 0, 0, 71, 72,
860 73, 74, 75, 0, 0, 68, 0, 0, 0, 0,
861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
862 76, 0, 77, 0, 78, 79, 80, 81, 0, 0,
863 70, 82, 83, 84, 85, 86, 87, 88, 89, 90,
864 91, 92, 93, 94, 95, 96, 97, 71, 72, 73,
865 74, 75, 0, 0, 0, 0, 0, 0, 0, 0,
866 0, 0, 0, 0, 0, 0, 0, 0, 0, 76,
867 0, 77, 0, 78, 79, 80, 81, 0, 0, 0,
868 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
869 92, 93, 94, 95, 96, 97, 64, 0, 0, 0,
870 0, 0, 0, 0, 0, 65, 0, 0, 0, 0,
871 66, 67, 0, 0, 0, 0, 0, 0, 0, 0,
872 0, 0, 0, 68, 0, 0, 0, 0, 0, 0,
873 0, 184, 0, 0, 0, 0, 0, 0, 0, 0,
874 0, 0, 0, 0, 0, 64, 0, 0, 0, 0,
875 0, 0, 0, 0, 65, 0, 0, 0, 0, 66,
876 67, 0, 0, 0, 0, 71, 72, 73, 74, 75,
877 0, 0, 68, 0, 0, 0, 0, 0, 0, 0,
878 408, 0, 0, 0, 0, 0, 0, 76, 0, 77,
879 0, 78, 79, 80, 81, 0, 0, 0, 82, 83,
880 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
881 94, 95, 96, 97, 71, 72, 73, 74, 75, 0,
882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
883 0, 0, 0, 0, 0, 0, 76, 0, 77, 0,
884 78, 79, 80, 81, 0, 0, 0, 82, 83, 84,
885 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
886 95, 96, 97, 64, 0, 0, 0, 0, 0, 0,
887 0, 0, 65, 0, 0, 0, 0, 66, 67, 0,
888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
889 68, 0, 0, 0, 0, 0, 0, 0, 440, 0,
890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
891 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
892 0, 65, 0, 0, 0, 0, 66, 67, 0, 0,
893 0, 0, 71, 72, 73, 74, 75, 0, 0, 68,
894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
895 0, 0, 0, 0, 76, 0, 77, 0, 78, 79,
896 80, 81, 0, 0, 0, 82, 83, 84, 85, 86,
897 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
898 97, 71, 72, 73, 74, 75, 0, 0, 0, 0,
899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
900 0, 0, 0, 76, 0, 77, 0, 78, 79, 80,
901 81, 0, 0, 0, 82, 83, 84, 85, 86, 87,
902 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
903 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
904 0, 0, 0, 531, 0, 10, 11, 12, 13, 14,
905 15, 16, 17, 0, 0, 0, 103, 0, 1, 2,
906 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
907 0, 9, 0, 10, 11, 12, 13, 14, 15, 16,
908 17, 0, 0, 0, 134, 1, 2, 3, 4, 5,
909 6, 7, 8, 0, 0, 0, 557, 569, 9, 0,
910 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
911 0, 103, 0, 0, 0, 0, 104, 105, 106, 376,
912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
913 0, 0, 0, 0, 0, 1, 2, 3, 4, 5,
914 6, 7, 8, 0, 135, 136, 25, 107, 9, 0,
915 10, 11, 12, 13, 14, 15, 16, 17, 0, 0,
916 0, 134, 1, 2, 3, 4, 5, 6, 7, 8,
917 0, 104, 105, 106, 107, 9, 0, 10, 11, 12,
918 13, 14, 15, 16, 17, 0, 0, 0, 134, 1,
919 2, 3, 4, 5, 6, 7, 8, 0, 0, 0,
920 0, 0, 9, 0, 10, 11, 12, 13, 14, 15,
921 16, 17, 0, 0, 0, 103, 0, 0, 0, 0,
922 0, 135, 136, 25, 107, 0, 0, 0, 0, 0,
923 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
924 2, 3, 4, 5, 6, 7, 8, 0, 104, 105,
925 106, 107, 375, 0, 10, 11, 12, 13, 14, 15,
926 16, 17, 0, 0, 0, 103, 1, 2, 3, 4,
927 5, 6, 7, 8, 0, 104, 105, 106, 107, 152,
928 0, 10, 11, 12, 13, 14, 15, 16, 17, 0,
929 0, 0, 103, 1, 2, 3, 4, 5, 6, 7,
930 8, 0, 0, 0, 0, 0, 452, 0, 10, 11,
931 12, 13, 14, 15, 16, 17, 0, 0, 0, 103,
932 0, 0, 0, 0, 0, 104, 105, 106, 376, 1,
933 2, 3, 4, 5, 6, 7, 8, 0, 0, 0,
934 0, 0, 0, 0, 10, 11, 12, 13, 14, 15,
935 16, 17, 104, 105, 106, 103, 0, 0, 0, 0,
936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
937 0, 554, 0, 0, 0, 0, 0, 0, 0, 104,
938 105, 106, 412, 413, 414, 415, 416, 417, 418, 419,
939 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
940 0, 0, 0, 0, 0, 543, 0, 0, 0, 489,
941 0, 0, 0, 0, 0, 104, 105, 106, 412, 413,
942 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
943 424, 425, 426, 427, 428, 429, 590, 0, 0, 0,
944 0, 430, 0, 0, 0, 412, 413, 414, 415, 416,
945 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
946 427, 428, 429, 669, 0, 0, 0, 0, 543, 0,
947 0, 0, 412, 413, 414, 415, 416, 417, 418, 419,
948 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
949 647, 0, 0, 0, 0, 543, 0, 0, 412, 413,
950 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
951 424, 425, 426, 427, 428, 429, 565, 0, 0, 0,
952 0, 543, 0, 412, 413, 414, 415, 416, 417, 418,
953 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
954 429, 621, 0, 0, 0, 0, 430, 0, 412, 413,
955 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
956 424, 425, 426, 427, 428, 429, 0, 0, 0, 0,
957 0, 543, 412, 413, 414, 415, 416, 417, 418, 419,
958 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
959 0, 0, 0, 0, 0, 430, 412, 413, 414, 415,
960 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
961 426, 427, 428, 429, 0, 0, 0, 0, 0, 543,
962 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
963 422, 423, 424, 425, 426, 427, 428, 429, 0, 0,
964 0, 0, 0, 430, 412, 413, 414, 415, 416, 417,
965 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
966 428, 429, 0, 0, 0, 0, 0, 543
967 };
968
969 static const short int yycheck[] =
970 {
971 39, 29, 26, 129, 133, 22, 366, 9, 9, 69,
972 396, 18, 336, 344, 536, 22, 384, 55, 342, 387,
973 536, 23, 24, 25, 18, 34, 0, 573, 390, 575,
974 536, 37, 32, 0, 97, 41, 42, 545, 39, 3,
975 37, 523, 6, 34, 6, 42, 10, 9, 12, 13,
976 14, 15, 16, 17, 27, 28, 29, 31, 34, 33,
977 33, 34, 608, 39, 580, 9, 33, 11, 69, 455,
978 70, 50, 588, 0, 200, 39, 407, 463, 464, 410,
979 37, 443, 588, 107, 6, 7, 8, 411, 17, 18,
980 128, 40, 37, 453, 43, 40, 38, 99, 40, 138,
981 41, 42, 104, 105, 106, 38, 430, 431, 4, 5,
982 6, 39, 40, 9, 622, 124, 143, 144, 145, 129,
983 122, 39, 40, 42, 184, 485, 648, 673, 610, 42,
984 132, 133, 648, 135, 136, 55, 618, 138, 38, 141,
985 134, 39, 40, 651, 36, 661, 654, 37, 670, 38,
986 536, 152, 634, 192, 670, 661, 41, 543, 544, 42,
987 491, 31, 179, 494, 495, 167, 43, 675, 39, 40,
988 353, 354, 179, 31, 191, 135, 136, 545, 180, 31,
989 182, 37, 42, 184, 191, 31, 115, 116, 117, 118,
990 119, 120, 43, 38, 44, 6, 38, 37, 123, 17,
991 18, 38, 588, 589, 42, 41, 38, 336, 37, 33,
992 40, 34, 46, 342, 39, 46, 38, 38, 578, 45,
993 32, 98, 99, 100, 101, 102, 103, 104, 37, 46,
994 46, 617, 37, 46, 38, 621, 38, 37, 598, 40,
995 564, 565, 39, 39, 39, 33, 37, 98, 99, 100,
996 101, 102, 103, 104, 622, 41, 41, 39, 39, 39,
997 39, 647, 648, 98, 99, 100, 101, 102, 103, 104,
998 601, 602, 36, 39, 39, 661, 46, 40, 40, 37,
999 41, 41, 411, 651, 670, 39, 654, 105, 106, 107,
1000 108, 109, 110, 111, 112, 113, 38, 38, 33, 38,
1001 40, 430, 431, 39, 38, 365, 37, 675, 72, 73,
1002 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1003 39, 85, 86, 87, 88, 33, 40, 39, 32, 40,
1004 40, 38, 33, 39, 336, 40, 39, 39, 377, 341,
1005 342, 41, 39, 39, 383, 40, 385, 3, 33, 327,
1006 6, 611, 376, 22, 10, 357, 12, 13, 14, 15,
1007 16, 17, 138, 132, 365, 46, 174, 161, 356, 456,
1008 498, 191, 575, 28, 375, 360, 670, 552, 383, 387,
1009 440, 550, -1, -1, 386, -1, -1, -1, -1, -1,
1010 -1, -1, -1, -1, -1, 434, 435, 399, -1, -1,
1011 402, -1, -1, -1, -1, -1, 408, -1, -1, 411,
1012 -1, -1, -1, -1, -1, -1, 433, -1, -1, -1,
1013 -1, -1, -1, -1, -1, -1, 433, -1, 430, 431,
1014 -1, -1, -1, -1, -1, 564, 565, 454, -1, 440,
1015 -1, -1, -1, -1, -1, 447, 463, 454, 487, 451,
1016 -1, 452, -1, -1, 456, -1, -1, -1, -1, -1,
1017 -1, -1, 3, -1, -1, -1, -1, -1, -1, 486,
1018 -1, 12, -1, 599, -1, -1, 17, 18, -1, 486,
1019 -1, 498, -1, -1, -1, -1, 488, -1, -1, 30,
1020 31, 498, 33, -1, 35, -1, -1, 38, -1, -1,
1021 502, -1, -1, -1, -1, -1, -1, -1, 547, 50,
1022 -1, 550, 53, 54, 55, 539, -1, -1, -1, -1,
1023 -1, 549, -1, -1, -1, 66, 67, 529, -1, 70,
1024 531, 72, 73, 74, 75, 76, -1, -1, -1, -1,
1025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1026 552, -1, -1, 94, -1, 96, 595, 98, 99, 100,
1027 101, -1, 564, 565, 105, 106, 107, 108, 109, 110,
1028 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1029 -1, -1, 610, -1, -1, -1, -1, -1, -1, -1,
1030 -1, -1, -1, -1, -1, -1, -1, -1, 600, -1,
1031 -1, -1, -1, -1, -1, -1, -1, -1, -1, 648,
1032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1033 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
1034 -1, 670, 3, 4, 5, 6, 7, 8, 9, 10,
1035 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1036 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1037 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1038 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1039 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1040 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1041 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1042 81, 82, 83, 84, 85, -1, 87, -1, 89, 90,
1043 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1044 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1045 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1046 121, -1, 123, 124, -1, 126, 127, 128, 129, 0,
1047 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
1048 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1049 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1050 31, 32, 33, 34, 35, -1, 37, 38, 39, 40,
1051 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1052 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1053 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1054 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1055 81, 82, 83, 84, 85, -1, 87, -1, 89, 90,
1056 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1057 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1058 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1059 121, 3, -1, 124, -1, 126, 127, 128, 129, -1,
1060 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1061 -1, -1, -1, -1, -1, 27, 28, 29, 30, -1,
1062 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1063 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1064 11, -1, -1, -1, -1, -1, 17, -1, 19, 20,
1065 21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
1066 72, 73, 74, 75, 76, 36, 37, -1, -1, -1,
1067 -1, -1, -1, -1, -1, -1, 47, -1, -1, -1,
1068 -1, -1, 94, -1, 96, -1, 98, 99, 100, 101,
1069 -1, -1, -1, 105, 106, 107, 108, 109, 110, 111,
1070 112, 113, 114, 115, 116, 117, 118, 119, 120, -1,
1071 -1, -1, -1, -1, 126, -1, 128, -1, 89, 90,
1072 91, 92, 93, 94, 95, -1, 97, 4, 5, 6,
1073 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1074 17, -1, 19, 20, 21, 22, 23, 24, 25, 26,
1075 121, -1, -1, 30, -1, 126, 3, 4, 5, 6,
1076 7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
1077 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1078 -1, -1, -1, 30, 31, -1, 33, -1, 35, -1,
1079 -1, 38, -1, 70, -1, -1, -1, -1, -1, -1,
1080 -1, -1, -1, -1, -1, -1, 53, 54, 55, -1,
1081 -1, -1, -1, 90, 91, 92, 93, -1, -1, 66,
1082 67, -1, -1, -1, -1, 72, 73, 74, 75, 76,
1083 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1084 -1, -1, -1, 90, 91, 92, 93, 94, -1, 96,
1085 -1, 98, 99, 100, 101, -1, -1, -1, 105, 106,
1086 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1087 117, 118, 119, 120, 3, -1, -1, -1, -1, -1,
1088 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1089 -1, -1, -1, -1, -1, -1, -1, -1, 27, -1,
1090 -1, 30, 31, -1, 33, -1, 35, -1, -1, 38,
1091 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1092 -1, 50, -1, -1, 53, 54, 55, -1, -1, -1,
1093 -1, -1, -1, -1, -1, -1, -1, 66, 67, -1,
1094 -1, -1, -1, 72, 73, 74, 75, 76, -1, -1,
1095 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1096 -1, -1, -1, -1, -1, 94, -1, 96, -1, 98,
1097 99, 100, 101, -1, -1, -1, 105, 106, 107, 108,
1098 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1099 119, 120, 3, -1, -1, -1, -1, -1, -1, -1,
1100 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1101 -1, -1, -1, -1, -1, -1, -1, -1, -1, 30,
1102 31, 32, 33, -1, 35, -1, -1, 38, -1, -1,
1103 -1, -1, -1, -1, -1, -1, -1, -1, -1, 50,
1104 -1, -1, 53, 54, 55, -1, -1, -1, -1, -1,
1105 -1, -1, -1, -1, -1, 66, 67, -1, -1, -1,
1106 -1, 72, 73, 74, 75, 76, -1, -1, -1, -1,
1107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1108 -1, -1, -1, 94, -1, 96, -1, 98, 99, 100,
1109 101, -1, -1, -1, 105, 106, 107, 108, 109, 110,
1110 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1111 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1112 -1, -1, -1, -1, 17, 18, -1, -1, -1, -1,
1113 -1, -1, -1, -1, -1, -1, -1, 30, 31, -1,
1114 33, -1, 35, -1, -1, 38, -1, -1, -1, -1,
1115 -1, -1, -1, -1, -1, -1, -1, 50, -1, -1,
1116 53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
1117 -1, -1, -1, 66, 67, -1, -1, -1, -1, 72,
1118 73, 74, 75, 76, -1, -1, -1, -1, -1, -1,
1119 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1120 -1, 94, -1, 96, -1, 98, 99, 100, 101, -1,
1121 -1, -1, 105, 106, 107, 108, 109, 110, 111, 112,
1122 113, 114, 115, 116, 117, 118, 119, 120, 3, -1,
1123 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1124 -1, -1, 17, 18, -1, -1, -1, -1, -1, -1,
1125 -1, -1, 27, -1, -1, 30, 31, -1, 33, -1,
1126 35, -1, -1, 38, -1, -1, -1, 3, 4, 5,
1127 6, 7, 8, 9, 10, 11, 12, -1, 53, 54,
1128 55, 17, -1, 19, 20, 21, 22, 23, 24, 25,
1129 26, 66, 67, -1, 30, 3, -1, 72, 73, 74,
1130 75, 76, -1, -1, 12, -1, -1, -1, -1, 17,
1131 18, 19, 20, 21, 22, 23, 24, 25, 26, 94,
1132 -1, 96, 30, 98, 99, 100, 101, -1, -1, -1,
1133 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1134 115, 116, 117, 118, 119, 120, -1, 55, -1, -1,
1135 -1, -1, -1, -1, 90, 91, 92, -1, -1, -1,
1136 -1, -1, -1, -1, 72, 73, 74, 75, 76, -1,
1137 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1138 -1, -1, -1, -1, -1, -1, 94, -1, 96, -1,
1139 98, 99, 100, 101, -1, -1, -1, 105, 106, 107,
1140 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1141 118, 119, 120, 3, -1, -1, -1, -1, -1, -1,
1142 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1143 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1144 30, 31, -1, 33, -1, 35, -1, -1, 38, -1,
1145 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1146 -1, -1, -1, 53, 54, 55, -1, -1, -1, -1,
1147 -1, -1, -1, -1, -1, -1, 66, 67, -1, -1,
1148 -1, -1, 72, 73, 74, 75, 76, -1, -1, -1,
1149 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1150 -1, -1, -1, -1, 94, -1, 96, -1, 98, 99,
1151 100, 101, -1, -1, -1, 105, 106, 107, 108, 109,
1152 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1153 120, 3, -1, -1, -1, -1, -1, -1, -1, -1,
1154 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1155 -1, -1, -1, -1, -1, -1, -1, -1, 30, -1,
1156 -1, 33, -1, 35, -1, -1, 38, -1, -1, -1,
1157 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1158 -1, 53, 54, -1, -1, -1, -1, -1, -1, -1,
1159 -1, -1, -1, -1, 66, 67, -1, -1, -1, -1,
1160 72, 73, 74, 75, 76, -1, -1, -1, -1, -1,
1161 -1, -1, 84, -1, -1, -1, -1, -1, -1, -1,
1162 -1, -1, 94, -1, 96, -1, 98, 99, 100, 101,
1163 -1, -1, -1, 105, 106, 107, 108, 109, 110, 111,
1164 112, 113, 114, 115, 116, 117, 118, 119, 120, 3,
1165 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1166 -1, -1, -1, 17, 18, -1, -1, -1, -1, -1,
1167 -1, -1, -1, -1, -1, -1, 30, -1, -1, -1,
1168 -1, -1, -1, -1, 38, -1, -1, -1, -1, -1,
1169 -1, -1, -1, -1, -1, -1, -1, -1, 3, -1,
1170 -1, 55, -1, -1, -1, -1, -1, 12, -1, -1,
1171 -1, -1, 17, 18, -1, -1, -1, -1, 72, 73,
1172 74, 75, 76, -1, -1, 30, -1, -1, -1, -1,
1173 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1174 94, -1, 96, -1, 98, 99, 100, 101, -1, -1,
1175 55, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1176 114, 115, 116, 117, 118, 119, 120, 72, 73, 74,
1177 75, 76, -1, -1, -1, -1, -1, -1, -1, -1,
1178 -1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
1179 -1, 96, -1, 98, 99, 100, 101, -1, -1, -1,
1180 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1181 115, 116, 117, 118, 119, 120, 3, -1, -1, -1,
1182 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1183 17, 18, -1, -1, -1, -1, -1, -1, -1, -1,
1184 -1, -1, -1, 30, -1, -1, -1, -1, -1, -1,
1185 -1, 38, -1, -1, -1, -1, -1, -1, -1, -1,
1186 -1, -1, -1, -1, -1, 3, -1, -1, -1, -1,
1187 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1188 18, -1, -1, -1, -1, 72, 73, 74, 75, 76,
1189 -1, -1, 30, -1, -1, -1, -1, -1, -1, -1,
1190 38, -1, -1, -1, -1, -1, -1, 94, -1, 96,
1191 -1, 98, 99, 100, 101, -1, -1, -1, 105, 106,
1192 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1193 117, 118, 119, 120, 72, 73, 74, 75, 76, -1,
1194 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1195 -1, -1, -1, -1, -1, -1, 94, -1, 96, -1,
1196 98, 99, 100, 101, -1, -1, -1, 105, 106, 107,
1197 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1198 118, 119, 120, 3, -1, -1, -1, -1, -1, -1,
1199 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1200 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1201 30, -1, -1, -1, -1, -1, -1, -1, 38, -1,
1202 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1203 -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
1204 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1205 -1, -1, 72, 73, 74, 75, 76, -1, -1, 30,
1206 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1207 -1, -1, -1, -1, 94, -1, 96, -1, 98, 99,
1208 100, 101, -1, -1, -1, 105, 106, 107, 108, 109,
1209 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1210 120, 72, 73, 74, 75, 76, -1, -1, -1, -1,
1211 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1212 -1, -1, -1, 94, -1, 96, -1, 98, 99, 100,
1213 101, -1, -1, -1, 105, 106, 107, 108, 109, 110,
1214 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1215 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1216 -1, -1, -1, 17, -1, 19, 20, 21, 22, 23,
1217 24, 25, 26, -1, -1, -1, 30, -1, 4, 5,
1218 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1219 -1, 17, -1, 19, 20, 21, 22, 23, 24, 25,
1220 26, -1, -1, -1, 30, 4, 5, 6, 7, 8,
1221 9, 10, 11, -1, -1, -1, 70, 43, 17, -1,
1222 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1223 -1, 30, -1, -1, -1, -1, 90, 91, 92, 93,
1224 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1225 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1226 9, 10, 11, -1, 90, 91, 92, 93, 17, -1,
1227 19, 20, 21, 22, 23, 24, 25, 26, -1, -1,
1228 -1, 30, 4, 5, 6, 7, 8, 9, 10, 11,
1229 -1, 90, 91, 92, 93, 17, -1, 19, 20, 21,
1230 22, 23, 24, 25, 26, -1, -1, -1, 30, 4,
1231 5, 6, 7, 8, 9, 10, 11, -1, -1, -1,
1232 -1, -1, 17, -1, 19, 20, 21, 22, 23, 24,
1233 25, 26, -1, -1, -1, 30, -1, -1, -1, -1,
1234 -1, 90, 91, 92, 93, -1, -1, -1, -1, -1,
1235 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4,
1236 5, 6, 7, 8, 9, 10, 11, -1, 90, 91,
1237 92, 93, 17, -1, 19, 20, 21, 22, 23, 24,
1238 25, 26, -1, -1, -1, 30, 4, 5, 6, 7,
1239 8, 9, 10, 11, -1, 90, 91, 92, 93, 17,
1240 -1, 19, 20, 21, 22, 23, 24, 25, 26, -1,
1241 -1, -1, 30, 4, 5, 6, 7, 8, 9, 10,
1242 11, -1, -1, -1, -1, -1, 17, -1, 19, 20,
1243 21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
1244 -1, -1, -1, -1, -1, 90, 91, 92, 93, 4,
1245 5, 6, 7, 8, 9, 10, 11, -1, -1, -1,
1246 -1, -1, -1, -1, 19, 20, 21, 22, 23, 24,
1247 25, 26, 90, 91, 92, 30, -1, -1, -1, -1,
1248 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1249 -1, 37, -1, -1, -1, -1, -1, -1, -1, 90,
1250 91, 92, 48, 49, 50, 51, 52, 53, 54, 55,
1251 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1252 -1, -1, -1, -1, -1, 71, -1, -1, -1, 39,
1253 -1, -1, -1, -1, -1, 90, 91, 92, 48, 49,
1254 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1255 60, 61, 62, 63, 64, 65, 39, -1, -1, -1,
1256 -1, 71, -1, -1, -1, 48, 49, 50, 51, 52,
1257 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1258 63, 64, 65, 39, -1, -1, -1, -1, 71, -1,
1259 -1, -1, 48, 49, 50, 51, 52, 53, 54, 55,
1260 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1261 40, -1, -1, -1, -1, 71, -1, -1, 48, 49,
1262 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1263 60, 61, 62, 63, 64, 65, 41, -1, -1, -1,
1264 -1, 71, -1, 48, 49, 50, 51, 52, 53, 54,
1265 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1266 65, 41, -1, -1, -1, -1, 71, -1, 48, 49,
1267 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1268 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
1269 -1, 71, 48, 49, 50, 51, 52, 53, 54, 55,
1270 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1271 -1, -1, -1, -1, -1, 71, 48, 49, 50, 51,
1272 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1273 62, 63, 64, 65, -1, -1, -1, -1, -1, 71,
1274 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1275 58, 59, 60, 61, 62, 63, 64, 65, -1, -1,
1276 -1, -1, -1, 71, 48, 49, 50, 51, 52, 53,
1277 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1278 64, 65, -1, -1, -1, -1, -1, 71
1279 };
1280
1281 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1282 symbol of state STATE-NUM. */
1283 static const unsigned char yystos[] =
1284 {
1285 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1286 19, 20, 21, 22, 23, 24, 25, 26, 30, 36,
1287 37, 47, 89, 90, 91, 92, 93, 94, 95, 97,
1288 121, 126, 137, 138, 139, 140, 141, 159, 164, 166,
1289 167, 168, 169, 170, 171, 172, 173, 174, 179, 182,
1290 183, 185, 186, 187, 188, 190, 192, 193, 198, 203,
1291 213, 214, 9, 11, 3, 12, 17, 18, 30, 38,
1292 55, 72, 73, 74, 75, 76, 94, 96, 98, 99,
1293 100, 101, 105, 106, 107, 108, 109, 110, 111, 112,
1294 113, 114, 115, 116, 117, 118, 119, 120, 135, 211,
1295 212, 229, 239, 30, 90, 91, 92, 93, 186, 190,
1296 36, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1297 81, 82, 83, 85, 86, 87, 88, 142, 143, 144,
1298 145, 147, 148, 149, 30, 90, 91, 165, 166, 185,
1299 190, 198, 204, 205, 135, 135, 135, 206, 3, 6,
1300 10, 12, 17, 160, 161, 167, 34, 214, 50, 248,
1301 249, 185, 0, 139, 135, 191, 210, 211, 4, 5,
1302 6, 9, 175, 6, 172, 178, 37, 129, 180, 38,
1303 42, 42, 210, 211, 38, 135, 55, 128, 135, 135,
1304 135, 38, 40, 184, 27, 28, 29, 126, 128, 135,
1305 150, 151, 36, 0, 3, 4, 5, 6, 7, 8,
1306 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1307 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1308 29, 30, 31, 32, 33, 34, 35, 37, 38, 39,
1309 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1310 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1311 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1312 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1313 80, 81, 82, 83, 84, 85, 87, 89, 90, 91,
1314 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1315 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1316 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1317 124, 126, 127, 128, 129, 136, 154, 155, 154, 34,
1318 124, 146, 135, 150, 33, 35, 38, 53, 54, 66,
1319 67, 84, 134, 135, 156, 135, 206, 135, 206, 37,
1320 171, 135, 41, 208, 208, 208, 208, 211, 31, 37,
1321 42, 31, 180, 44, 209, 38, 135, 6, 176, 6,
1322 9, 177, 175, 38, 37, 17, 93, 166, 189, 190,
1323 135, 199, 200, 98, 99, 100, 101, 102, 103, 104,
1324 220, 221, 222, 235, 236, 242, 243, 244, 135, 210,
1325 189, 191, 211, 247, 123, 154, 136, 156, 38, 135,
1326 156, 38, 48, 49, 50, 51, 52, 53, 54, 55,
1327 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1328 71, 133, 41, 42, 195, 195, 37, 194, 195, 194,
1329 38, 135, 46, 220, 38, 37, 33, 210, 209, 34,
1330 181, 211, 17, 39, 40, 46, 40, 43, 191, 225,
1331 31, 33, 35, 38, 134, 191, 201, 202, 217, 237,
1332 238, 239, 248, 191, 135, 245, 246, 18, 238, 239,
1333 43, 221, 201, 39, 135, 39, 40, 40, 38, 39,
1334 135, 156, 157, 158, 156, 156, 38, 165, 196, 197,
1335 191, 191, 210, 27, 28, 29, 33, 34, 162, 163,
1336 43, 3, 6, 10, 12, 13, 14, 15, 16, 17,
1337 39, 215, 216, 218, 219, 45, 135, 34, 39, 211,
1338 209, 17, 70, 190, 201, 200, 46, 37, 30, 93,
1339 166, 201, 201, 71, 133, 46, 37, 38, 32, 46,
1340 38, 37, 40, 37, 37, 39, 209, 70, 191, 135,
1341 152, 153, 39, 39, 40, 41, 33, 41, 207, 43,
1342 197, 135, 37, 41, 39, 40, 217, 39, 39, 27,
1343 96, 114, 201, 224, 226, 227, 228, 229, 249, 39,
1344 39, 201, 201, 237, 191, 248, 247, 246, 39, 39,
1345 40, 156, 156, 40, 41, 37, 39, 218, 41, 216,
1346 218, 46, 209, 17, 18, 229, 232, 38, 38, 224,
1347 201, 41, 40, 240, 191, 39, 209, 154, 135, 33,
1348 38, 218, 248, 162, 38, 201, 217, 201, 70, 237,
1349 241, 39, 37, 39, 33, 70, 217, 40, 40, 230,
1350 39, 40, 40, 32, 38, 201, 191, 223, 224, 225,
1351 231, 249, 39, 237, 33, 39, 233, 234, 237, 39,
1352 40, 224, 39, 41, 39, 40, 223, 218, 39, 237
1353 };
1354
1355 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1356 static const unsigned char yyr1[] =
1357 {
1358 0, 132, 133, 133, 133, 133, 133, 133, 133, 133,
1359 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1360 134, 134, 134, 134, 135, 135, 135, 135, 135, 135,
1361 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
1362 135, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1363 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1364 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1365 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1366 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1367 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1368 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1369 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1370 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1371 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1372 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1373 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
1374 136, 136, 136, 137, 137, 138, 138, 139, 139, 139,
1375 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1376 140, 141, 141, 142, 142, 142, 142, 142, 142, 142,
1377 142, 143, 143, 144, 144, 145, 145, 145, 146, 146,
1378 147, 147, 148, 148, 148, 149, 149, 150, 150, 150,
1379 150, 150, 150, 151, 151, 152, 152, 153, 153, 154,
1380 154, 155, 155, 156, 156, 156, 156, 156, 156, 156,
1381 156, 156, 156, 157, 157, 158, 158, 159, 160, 161,
1382 161, 161, 161, 162, 162, 163, 163, 163, 163, 163,
1383 164, 165, 165, 165, 165, 165, 165, 166, 166, 167,
1384 167, 168, 168, 168, 169, 169, 169, 169, 170, 170,
1385 170, 171, 171, 171, 171, 171, 171, 171, 171, 172,
1386 172, 173, 173, 173, 174, 174, 174, 174, 175, 175,
1387 175, 175, 175, 176, 176, 177, 177, 177, 178, 178,
1388 178, 179, 179, 180, 180, 181, 181, 182, 183, 184,
1389 184, 185, 185, 185, 185, 186, 186, 187, 187, 187,
1390 187, 188, 188, 189, 189, 189, 189, 190, 190, 190,
1391 191, 191, 192, 193, 194, 194, 195, 196, 196, 197,
1392 198, 199, 199, 200, 200, 201, 201, 201, 201, 201,
1393 201, 202, 202, 202, 202, 203, 204, 205, 206, 206,
1394 207, 207, 208, 208, 209, 209, 210, 210, 211, 211,
1395 212, 212, 213, 213, 214, 214, 214, 215, 215, 216,
1396 216, 217, 218, 219, 219, 219, 219, 219, 219, 219,
1397 219, 219, 220, 220, 221, 221, 221, 221, 221, 222,
1398 222, 223, 223, 223, 224, 224, 224, 224, 224, 225,
1399 225, 226, 227, 228, 229, 229, 229, 229, 229, 229,
1400 229, 229, 229, 229, 230, 230, 231, 231, 232, 232,
1401 233, 233, 234, 234, 235, 236, 237, 237, 237, 238,
1402 238, 239, 239, 239, 239, 239, 239, 239, 239, 240,
1403 240, 241, 241, 242, 243, 243, 244, 245, 245, 246,
1404 247, 247, 248, 248, 249
1405 };
1406
1407 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
1408 static const unsigned char yyr2[] =
1409 {
1410 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1411 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1412 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1413 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1414 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1415 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1416 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1417 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1418 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1419 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1420 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1421 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1422 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1423 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1424 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1425 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1426 1, 1, 1, 0, 1, 1, 2, 1, 1, 1,
1427 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1428 3, 2, 3, 2, 2, 1, 2, 2, 2, 1,
1429 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1430 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1431 1, 1, 1, 6, 2, 0, 1, 1, 3, 0,
1432 1, 1, 2, 3, 2, 3, 5, 2, 4, 1,
1433 1, 1, 4, 0, 1, 1, 3, 6, 1, 1,
1434 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,
1435 3, 1, 1, 2, 4, 4, 2, 2, 1, 1,
1436 1, 2, 2, 2, 1, 1, 1, 1, 1, 1,
1437 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1438 1, 1, 1, 2, 1, 1, 2, 2, 0, 1,
1439 2, 1, 2, 0, 1, 0, 1, 1, 0, 1,
1440 2, 3, 4, 0, 4, 1, 2, 2, 3, 0,
1441 2, 5, 7, 6, 8, 1, 1, 6, 7, 6,
1442 5, 1, 2, 0, 1, 1, 3, 2, 4, 3,
1443 3, 2, 4, 4, 1, 1, 3, 1, 2, 3,
1444 4, 1, 3, 1, 3, 1, 4, 3, 3, 2,
1445 5, 1, 1, 1, 1, 2, 2, 2, 0, 1,
1446 0, 7, 0, 7, 0, 3, 0, 1, 1, 2,
1447 1, 2, 4, 5, 7, 8, 13, 1, 3, 2,
1448 4, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1449 1, 1, 1, 2, 1, 1, 1, 1, 1, 3,
1450 6, 1, 2, 1, 1, 1, 1, 1, 1, 3,
1451 4, 6, 8, 5, 1, 1, 1, 1, 1, 1,
1452 1, 1, 1, 1, 0, 2, 1, 3, 1, 1,
1453 0, 1, 1, 3, 3, 3, 1, 1, 3, 5,
1454 6, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1455 2, 1, 3, 3, 1, 1, 3, 1, 3, 4,
1456 1, 3, 0, 1, 1
1457 };
1458
1459
1460 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
1461 static const unsigned char yydprec[] =
1462 {
1463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1509 0, 0, 0, 0, 0
1510 };
1511
1512 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
1513 static const unsigned char yymerger[] =
1514 {
1515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1538 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1548 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1561 0, 0, 0, 0, 0
1562 };
1563
1564 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
1565 in the case of predicates. */
1566 static const yybool yyimmediate[] =
1567 {
1568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0