]> andersk Git - splint.git/blob - src/cgrammar.c.der
18641a1f721edae151485c794e96a0302ceffd40
[splint.git] / src / cgrammar.c.der
1 /*
2 ** Inserted at beginning of c files generated by bison
3 ** REMEMBER:  Change bison.reset too.
4 */
5
6 /*@-allmacros@*/
7 /*@+boolint@*/
8 /*@+charint@*/
9 /*@-macroparams@*/
10 /*@-macroundef@*/
11 /*@-unreachable@*/
12 /*@-macrospec@*/
13 /*@-varuse@*/
14 /*@+ignorequals@*/
15 /*@-macrostmt@*/
16 /*@-noeffect@*/
17 /*@-shadow@*/
18 /*@-exitarg@*/
19 /*@-macroredef@*/
20 /*@-uniondef@*/
21 /*@-compdef@*/
22 /*@-matchfields@*/
23 /*@-exportlocal@*/
24 /*@-evalorderuncon@*/
25 /*@-exportheader@*/
26 /*@-typeuse@*/
27 /*@-redecl@*/
28 /*@-redef@*/
29 /*@-noparams@*/
30 /*@-ansireserved@*/
31 /*@-fielduse@*/
32 /*@-ifblock@*/
33 /*@-elseifcomplete@*/
34 /*@-whileblock@*/
35 /*@-forblock@*/
36 /*@-branchstate@*/
37 /*@-readonlytrans@*/
38 /*@-namechecks@*/
39 /*@-usedef@*/
40 /*@-systemunrecog@*/
41 /*@-dependenttrans@*/
42 /*@-unqualifiedtrans@*/
43 /*@-nullassign@*/
44 /*@-nullpass@*/
45 /*@-nullptrarith*/
46 /*@-usereleased@*/
47 /*@-declundef@*/
48
49 /*drl added 11/27/2001*/
50 /*@-bounds@*/
51 /* < end of bison.head > */
52
53
54 /*  A Bison parser, made from cgrammar.y
55     by GNU Bison version 1.28  */
56
57 #define YYBISON 1  /* Identify Bison output.  */
58
59 #define BADTOK  257
60 #define SKIPTOK 258
61 #define CTOK_ELIPSIS    259
62 #define CASE    260
63 #define DEFAULT 261
64 #define CIF     262
65 #define CELSE   263
66 #define SWITCH  264
67 #define WHILE   265
68 #define DO      266
69 #define CFOR    267
70 #define GOTO    268
71 #define CONTINUE        269
72 #define BREAK   270
73 #define RETURN  271
74 #define TSEMI   272
75 #define TLBRACE 273
76 #define TRBRACE 274
77 #define TCOMMA  275
78 #define TCOLON  276
79 #define TASSIGN 277
80 #define TLPAREN 278
81 #define TRPAREN 279
82 #define TLSQBR  280
83 #define TRSQBR  281
84 #define TDOT    282
85 #define TAMPERSAND      283
86 #define TEXCL   284
87 #define TTILDE  285
88 #define TMINUS  286
89 #define TPLUS   287
90 #define TMULT   288
91 #define TDIV    289
92 #define TPERCENT        290
93 #define TLT     291
94 #define TGT     292
95 #define TCIRC   293
96 #define TBAR    294
97 #define TQUEST  295
98 #define CSIZEOF 296
99 #define CALIGNOF        297
100 #define CTYPEOF 298
101 #define ARROW_OP        299
102 #define CTYPEDEF        300
103 #define COFFSETOF       301
104 #define INC_OP  302
105 #define DEC_OP  303
106 #define LEFT_OP 304
107 #define RIGHT_OP        305
108 #define LE_OP   306
109 #define GE_OP   307
110 #define EQ_OP   308
111 #define NE_OP   309
112 #define AND_OP  310
113 #define OR_OP   311
114 #define MUL_ASSIGN      312
115 #define DIV_ASSIGN      313
116 #define MOD_ASSIGN      314
117 #define ADD_ASSIGN      315
118 #define SUB_ASSIGN      316
119 #define LEFT_ASSIGN     317
120 #define RIGHT_ASSIGN    318
121 #define AND_ASSIGN      319
122 #define XOR_ASSIGN      320
123 #define OR_ASSIGN       321
124 #define CSTRUCT 322
125 #define CUNION  323
126 #define CENUM   324
127 #define VA_ARG  325
128 #define VA_DCL  326
129 #define QWARN   327
130 #define QGLOBALS        328
131 #define QMODIFIES       329
132 #define QNOMODS 330
133 #define QCONSTANT       331
134 #define QFUNCTION       332
135 #define QITER   333
136 #define QDEFINES        334
137 #define QUSES   335
138 #define QALLOCATES      336
139 #define QSETS   337
140 #define QRELEASES       338
141 #define QPRECLAUSE      339
142 #define QPOSTCLAUSE     340
143 #define QINVARIANT      341
144 #define QALT    342
145 #define QUNDEF  343
146 #define QKILLED 344
147 #define QENDMACRO       345
148 #define LLMACRO 346
149 #define LLMACROITER     347
150 #define LLMACROEND      348
151 #define TENDMACRO       349
152 #define QSWITCHBREAK    350
153 #define QLOOPBREAK      351
154 #define QINNERBREAK     352
155 #define QSAFEBREAK      353
156 #define QINNERCONTINUE  354
157 #define QFALLTHROUGH    355
158 #define QLINTNOTREACHED 356
159 #define QLINTFALLTHROUGH        357
160 #define QLINTFALLTHRU   358
161 #define QARGSUSED       359
162 #define QPRINTFLIKE     360
163 #define QLINTPRINTFLIKE 361
164 #define QSCANFLIKE      362
165 #define QMESSAGELIKE    363
166 #define QNOTREACHED     364
167 #define QCONST  365
168 #define QVOLATILE       366
169 #define QINLINE 367
170 #define QEXTENSION      368
171 #define QEXTERN 369
172 #define QSTATIC 370
173 #define QAUTO   371
174 #define QREGISTER       372
175 #define QOUT    373
176 #define QIN     374
177 #define QYIELD  375
178 #define QONLY   376
179 #define QTEMP   377
180 #define QSHARED 378
181 #define QREF    379
182 #define QUNIQUE 380
183 #define QCHECKED        381
184 #define QUNCHECKED      382
185 #define QCHECKEDSTRICT  383
186 #define QCHECKMOD       384
187 #define QKEEP   385
188 #define QKEPT   386
189 #define QPARTIAL        387
190 #define QSPECIAL        388
191 #define QOWNED  389
192 #define QDEPENDENT      390
193 #define QRETURNED       391
194 #define QEXPOSED        392
195 #define QNULL   393
196 #define QOBSERVER       394
197 #define QISNULL 395
198 #define QEXITS  396
199 #define QMAYEXIT        397
200 #define QNEVEREXIT      398
201 #define QTRUEEXIT       399
202 #define QFALSEEXIT      400
203 #define QLONG   401
204 #define QSIGNED 402
205 #define QUNSIGNED       403
206 #define QSHORT  404
207 #define QUNUSED 405
208 #define QSEF    406
209 #define QNOTNULL        407
210 #define QRELNULL        408
211 #define QABSTRACT       409
212 #define QCONCRETE       410
213 #define QMUTABLE        411
214 #define QIMMUTABLE      412
215 #define QTRUENULL       413
216 #define QFALSENULL      414
217 #define QEXTERNAL       415
218 #define QREFCOUNTED     416
219 #define QREFS   417
220 #define QNEWREF 418
221 #define QTEMPREF        419
222 #define QKILLREF        420
223 #define QRELDEF 421
224 #define CGCHAR  422
225 #define CBOOL   423
226 #define CINT    424
227 #define CGFLOAT 425
228 #define CDOUBLE 426
229 #define CVOID   427
230 #define QANYTYPE        428
231 #define QINTEGRALTYPE   429
232 #define QUNSIGNEDINTEGRALTYPE   430
233 #define QSIGNEDINTEGRALTYPE     431
234 #define QNULLTERMINATED 432
235 #define QSETBUFFERSIZE  433
236 #define QSETSTRINGLENGTH        434
237 #define QMAXSET 435
238 #define QMAXREAD        436
239 #define QTESTINRANGE    437
240 #define TCAND   438
241 #define IDENTIFIER      439
242 #define NEW_IDENTIFIER  440
243 #define TYPE_NAME_OR_ID 441
244 #define CANNOTATION     442
245 #define CCONSTANT       443
246 #define ITER_NAME       444
247 #define ITER_ENDNAME    445
248 #define TYPE_NAME       446
249 #define METASTATE_NAME  447
250
251
252 /*
253 **
254 ** cgrammar.y
255 **
256 ** Yacc/Bison grammar for extended ANSI C used by Splint.
257 **
258 ** original grammar by Nate Osgood ---
259 **    hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
260 **
261 ** changes for Splint --- handle typedef names correctly
262 ** fix struct/union parsing bug (empty struct is accepted)
263 ** add productions to handle macros --- require
264 ** error correction --- main source of conflicts in grammar.
265 ** need to process initializations sequentially, L->R
266 **
267 ** production names are cryptic, so more productions fit on one line
268 **
269 ** conflicts:  87 shift/reduce, 18 reduce/reduce
270 ** most of these are due to handling macros
271 ** a few are due to handling type expressions
272 */
273
274 /*@=allmacros@*/
275
276 extern int yylex ();
277 extern void swallowMacro (void);
278 extern void yyerror (char *);
279
280 # include "splintMacros.nf"
281 # include "basic.h"
282 # include "cscanner.h"
283 # include "cgrammar.h"
284 # include "exprChecks.h"
285
286 /*@-allmacros@*/
287 /*@-matchfields@*/
288
289 # define SHOWCSYM FALSE
290
291 /*
292 ** This is necessary, or else when the bison-generated code #include's malloc.h,
293 ** there will be a parse error.
294 **
295 ** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
296 ** in bison-generated files under Win32.
297 */
298
299 # ifdef WIN32
300 # undef malloc
301 # undef calloc
302 # undef realloc
303 # endif
304
305
306 typedef union
307 {
308   lltok tok;
309   int count;
310   qual typequal;
311   qualList tquallist;
312   ctype ctyp;
313   /*@dependent@*/ sRef sr;
314   /*@only@*/ sRef osr;
315
316   /*@only@*/ functionClauseList funcclauselist;
317   /*@only@*/ functionClause funcclause;  
318   /*@only@*/ flagSpec flagspec;
319   /*@only@*/ globalsClause globsclause;
320   /*@only@*/ modifiesClause modsclause;
321   /*@only@*/ warnClause warnclause;
322   /*@only@*/ stateClause stateclause;
323
324   /*@only@*/ functionConstraint fcnconstraint; 
325
326   /*@only@*/ metaStateConstraint msconstraint;
327   /*@only@*/ metaStateSpecifier msspec;
328   /*@only@*/ metaStateExpression msexpr;
329   /*@observer@*/ metaStateInfo msinfo;
330
331   /*@only@*/ sRefList srlist;
332   /*@only@*/ globSet globset;
333   /*@only@*/ qtype qtyp;
334   /*@only@*/ cstring cname;
335   /*@observer@*/ annotationInfo annotation;
336   /*@only@*/ idDecl ntyp;
337   /*@only@*/ idDeclList ntyplist;
338   /*@only@*/ uentryList flist;
339   /*@owned@*/ uentryList entrylist;
340   /*@observer@*/ /*@dependent@*/ uentry entry;
341   /*@only@*/ uentry oentry;
342   /*@only@*/ exprNode expr;
343   /*@only@*/ enumNameList enumnamelist;
344   /*@only@*/ exprNodeList exprlist;
345   /*@only@*/ sRefSet srset; 
346   /*@only@*/ cstringList cstringlist;
347
348   /*drl
349     added 1/19/2001
350   */
351   constraint con;
352   constraintList conL;
353   constraintExpr conE;
354   /* drl */  
355 } YYSTYPE;
356 #ifndef YYDEBUG
357 #define YYDEBUG 1
358 #endif
359
360 #include <stdio.h>
361
362 #ifndef __cplusplus
363 #ifndef __STDC__
364 #define const
365 #endif
366 #endif
367
368
369
370 #define YYFINAL         1233
371 #define YYFLAG          -32768
372 #define YYNTBASE        194
373
374 #define YYTRANSLATE(x) ((unsigned)(x) <= 447 ? yytranslate[x] : 459)
375
376 static const short yytranslate[] = {     0,
377      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
378      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
379      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
380      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
381      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
382      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
383      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
384      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
385      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
386      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
387      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
388      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
389      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
390      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
391      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
392      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
393      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
394      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
395      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
396      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
397      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
398      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
399      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
400      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
401      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
402      2,     2,     2,     2,     2,     1,     3,     4,     5,     6,
403      7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
404     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
405     27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
406     37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
407     47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
408     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
409     67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
410     77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
411     87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
412     97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
413    107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
414    117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
415    127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
416    137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
417    147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
418    157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
419    167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
420    177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
421    187,   188,   189,   190,   191,   192,   193
422 };
423
424 #if YYDEBUG != 0
425 static const short yyprhs[] = {     0,
426      0,     1,     3,     5,     8,    11,    13,    15,    17,    19,
427     21,    23,    25,    34,    46,    47,    53,    55,    59,    61,
428     64,    66,    73,    77,    84,    85,    92,    93,   101,   103,
429    110,   114,   121,   122,   129,   130,   138,   139,   140,   151,
430    155,   159,   163,   166,   168,   172,   173,   178,   179,   184,
431    186,   190,   192,   194,   196,   200,   202,   206,   208,   210,
432    212,   214,   216,   218,   223,   229,   231,   233,   235,   237,
433    241,   246,   249,   253,   257,   261,   263,   265,   267,   268,
434    271,   272,   275,   277,   279,   281,   283,   285,   287,   289,
435    291,   293,   295,   297,   299,   302,   303,   308,   310,   313,
436    314,   318,   320,   324,   326,   328,   329,   332,   336,   339,
437    341,   345,   348,   349,   352,   354,   356,   358,   360,   362,
438    364,   366,   368,   370,   372,   374,   376,   378,   380,   382,
439    384,   388,   389,   393,   394,   395,   400,   403,   406,   408,
440    410,   412,   416,   421,   424,   428,   432,   436,   438,   440,
441    442,   446,   448,   450,   454,   459,   462,   466,   470,   474,
442    475,   477,   479,   483,   485,   487,   489,   493,   495,   497,
443    498,   503,   505,   510,   514,   519,   526,   532,   538,   541,
444    544,   552,   554,   558,   560,   563,   566,   569,   572,   575,
445    578,   581,   584,   586,   588,   592,   594,   604,   605,   609,
446    614,   617,   622,   625,   627,   632,   634,   638,   642,   646,
447    648,   652,   656,   658,   662,   666,   668,   672,   676,   680,
448    684,   686,   690,   694,   696,   700,   702,   706,   708,   712,
449    714,   715,   720,   722,   723,   728,   730,   731,   732,   740,
450    742,   746,   750,   754,   758,   762,   766,   770,   774,   778,
451    782,   786,   788,   792,   793,   795,   797,   799,   801,   803,
452    807,   808,   818,   819,   831,   834,   835,   842,   843,   852,
453    857,   862,   863,   864,   867,   869,   874,   875,   880,   882,
454    886,   891,   894,   897,   900,   902,   905,   909,   912,   914,
455    918,   920,   922,   924,   926,   928,   931,   932,   939,   942,
456    945,   946,   953,   954,   960,   962,   964,   966,   968,   970,
457    972,   974,   976,   978,   980,   982,   984,   986,   988,   990,
458    992,   994,   996,   998,  1000,  1002,  1004,  1006,  1008,  1010,
459   1012,  1014,  1016,  1018,  1020,  1022,  1024,  1026,  1028,  1030,
460   1032,  1034,  1036,  1038,  1040,  1042,  1044,  1046,  1048,  1050,
461   1052,  1054,  1056,  1058,  1060,  1062,  1064,  1067,  1070,  1073,
462   1076,  1079,  1082,  1085,  1088,  1091,  1094,  1097,  1100,  1103,
463   1106,  1109,  1112,  1115,  1118,  1121,  1124,  1127,  1130,  1133,
464   1136,  1139,  1143,  1145,  1150,  1152,  1156,  1159,  1162,  1165,
465   1166,  1168,  1169,  1170,  1171,  1184,  1185,  1186,  1198,  1205,
466   1212,  1213,  1214,  1225,  1226,  1227,  1238,  1244,  1250,  1255,
467   1260,  1261,  1263,  1265,  1268,  1274,  1278,  1281,  1286,  1288,
468   1292,  1297,  1304,  1305,  1314,  1319,  1321,  1325,  1328,  1330,
469   1335,  1337,  1339,  1342,  1345,  1347,  1350,  1352,  1355,  1357,
470   1359,  1361,  1364,  1366,  1369,  1372,  1376,  1378,  1382,  1384,
471   1388,  1390,  1392,  1396,  1397,  1400,  1401,  1406,  1411,  1413,
472   1415,  1418,  1420,  1422,  1425,  1426,  1428,  1434,  1437,  1441,
473   1445,  1450,  1454,  1459,  1464,  1470,  1472,  1474,  1476,  1478,
474   1480,  1482,  1484,  1486,  1488,  1490,  1492,  1494,  1497,  1500,
475   1508,  1515,  1518,  1519,  1520,  1531,  1532,  1539,  1541,  1543,
476   1545,  1547,  1550,  1552,  1554,  1556,  1558,  1560,  1562,  1564,
477   1568,  1570,  1571,  1575,  1578,  1581,  1583,  1585,  1587,  1589,
478   1591,  1593,  1595,  1597,  1599,  1601,  1605,  1607,  1609,  1612,
479   1615,  1616,  1619,  1620,  1625,  1626,  1633,  1634,  1638,  1639,
480   1645,  1649,  1652,  1656,  1657,  1658,  1659,  1660,  1661,  1663,
481   1666,  1669,  1673,  1676,  1680,  1684,  1689,  1692,  1695,  1699,
482   1703,  1708,  1710,  1713,  1715,  1718,  1720,  1724,  1726,  1731,
483   1733,  1736,  1738,  1741,  1743,  1746,  1748,  1753,  1756,  1757,
484   1763,  1764,  1771,  1776,  1781,  1782,  1783,  1794,  1796,  1797,
485   1802,  1804,  1806,  1808,  1810,  1812,  1815,  1817,  1821,  1823,
486   1828,  1832,  1837,  1844,  1850,  1856,  1859,  1862,  1864,  1867,
487   1870,  1873,  1876,  1879,  1882,  1885,  1888,  1890,  1892,  1897,
488   1899,  1903,  1907,  1911,  1913,  1917,  1921,  1923,  1927,  1931,
489   1933,  1937,  1941,  1945,  1949,  1951,  1955,  1959,  1961,  1965,
490   1967,  1971,  1973,  1977,  1979,  1983,  1985,  1989,  1991,  1992,
491   1993,  2001,  2003,  2007,  2011,  2015,  2019,  2023,  2027,  2031,
492   2035,  2039,  2043,  2047,  2049,  2050,  2052,  2055,  2063,  2066,
493   2069,  2077,  2084,  2087,  2091,  2094,  2098,  2101,  2105,  2109,
494   2113,  2117,  2120,  2124,  2125,  2127,  2128,  2130,  2132,  2134,
495   2136,  2138,  2140,  2142,  2144,  2146,  2151
496 };
497
498 static const short yyrhs[] = {    -1,
499    195,     0,   196,     0,   195,   196,     0,   257,   454,     0,
500    197,     0,   198,     0,   208,     0,   211,     0,   295,     0,
501     18,     0,     1,     0,    77,   336,   350,   360,   350,   454,
502    303,    91,     0,    77,   336,   350,   360,   350,    23,   303,
503    308,   307,   454,    91,     0,     0,    78,   199,   200,   454,
504     91,     0,   201,     0,   336,   350,   201,     0,   205,     0,
505    364,   205,     0,   457,     0,   303,    24,   350,   360,   303,
506     25,     0,   202,    26,    27,     0,   202,    26,   303,   294,
507     27,   350,     0,     0,   202,   304,    24,    25,   203,   229,
508      0,     0,   202,   304,    24,   361,    25,   204,   229,     0,
509    457,     0,   303,    24,   350,   201,   303,    25,     0,   205,
510     26,    27,     0,   205,    26,   303,   294,    27,   350,     0,
511      0,   205,   304,    24,    25,   206,   230,     0,     0,   205,
512    304,    24,   361,    25,   207,   230,     0,     0,     0,    79,
513    457,    24,   361,    25,   209,   230,   210,   454,    91,     0,
514     92,   391,    95,     0,    93,   377,    95,     0,    94,   378,
515     95,     0,    92,    95,     0,   252,     0,   214,    23,   217,
516      0,     0,   226,   215,    22,   218,     0,     0,     5,   216,
517     22,   218,     0,   214,     0,   214,    40,   217,     0,   193,
518      0,   184,     0,    56,     0,   221,   219,   220,     0,   221,
519      0,   224,   223,   224,     0,   181,     0,   182,     0,    53,
520      0,    52,     0,    54,     0,   225,     0,   227,    24,   224,
521     25,     0,    24,   224,   228,   224,    25,     0,   226,     0,
522    189,     0,   456,     0,   186,     0,   226,    26,    27,     0,
523    226,    26,   189,    27,     0,    34,   226,     0,    24,   226,
524     25,     0,   226,    28,   457,     0,   226,    45,   457,     0,
525    222,     0,    33,     0,    32,     0,     0,   231,   229,     0,
526      0,   232,   230,     0,   233,     0,   237,     0,   236,     0,
527    314,     0,   317,     0,   243,     0,   234,     0,   238,     0,
528    236,     0,   315,     0,   319,     0,   244,     0,   234,    91,
529      0,     0,    74,   235,   245,   454,     0,    76,     0,   238,
530     91,     0,     0,    75,   239,   258,     0,   241,     0,   241,
531     40,   240,     0,   186,     0,   243,     0,     0,   244,    91,
532      0,    73,   240,   430,     0,    73,   240,     0,   246,     0,
533    245,    21,   246,     0,   247,   248,     0,     0,   249,   247,
534      0,   456,     0,   186,     0,   295,     0,    89,     0,    90,
535      0,   119,     0,   120,     0,   133,     0,    80,     0,    81,
536      0,    82,     0,    83,     0,    84,     0,    85,     0,    86,
537      0,   360,     0,   336,   350,   360,     0,     0,    19,   254,
538    408,     0,     0,     0,   255,   412,   256,   401,     0,   212,
539    253,     0,   261,   454,     0,   454,     0,   456,     0,   186,
540      0,   259,    26,    27,     0,   259,    26,   260,    27,     0,
541     34,   259,     0,    24,   259,    25,     0,   259,    28,   457,
542      0,   259,    45,   457,     0,   259,     0,   430,     0,   259,
543      0,   261,    21,   259,     0,   456,     0,   186,     0,   262,
544     26,    27,     0,   262,    26,   260,    27,     0,    34,   262,
545      0,    24,   262,    25,     0,   262,    28,   457,     0,   262,
546     45,   457,     0,     0,   264,     0,   262,     0,   264,    21,
547    262,     0,   456,     0,   186,     0,   430,     0,    24,   292,
548     25,     0,   187,     0,   114,     0,     0,    24,   266,   401,
549     25,     0,   265,     0,   267,    26,   292,    27,     0,   267,
550     24,    25,     0,   267,    24,   268,    25,     0,    71,    24,
551    291,    21,   372,    25,     0,   267,   350,    28,   457,   303,
552      0,   267,   350,    45,   457,   303,     0,   267,    48,     0,
553    267,    49,     0,    24,   372,    25,    19,   413,   455,    20,
554      0,   291,     0,   268,    21,   291,     0,   267,     0,    48,
555    269,     0,    49,   269,     0,    29,   275,     0,    34,   275,
556      0,    33,   275,     0,    32,   275,     0,    31,   275,     0,
557     30,   275,     0,   272,     0,   271,     0,   270,    28,   457,
558      0,   457,     0,    47,   303,    24,   372,   350,    21,   270,
559     25,   303,     0,     0,   303,   273,   274,     0,    42,    24,
560    372,    25,     0,    42,   269,     0,    43,    24,   372,    25,
561      0,    43,   269,     0,   269,     0,    24,   372,    25,   275,
562      0,   275,     0,   276,    34,   275,     0,   276,    35,   275,
563      0,   276,    36,   275,     0,   276,     0,   277,    33,   276,
564      0,   277,    32,   276,     0,   277,     0,   278,    50,   277,
565      0,   278,    51,   277,     0,   278,     0,   279,    37,   278,
566      0,   279,    38,   278,     0,   279,    52,   278,     0,   279,
567     53,   278,     0,   279,     0,   280,    54,   279,     0,   280,
568     55,   279,     0,   280,     0,   281,    29,   280,     0,   281,
569      0,   282,    39,   281,     0,   282,     0,   283,    40,   282,
570      0,   283,     0,     0,   284,    56,   285,   283,     0,   284,
571      0,     0,   286,    57,   287,   284,     0,   286,     0,     0,
572      0,   286,    41,   289,   292,    22,   290,   288,     0,   288,
573      0,   269,    23,   291,     0,   269,    58,   291,     0,   269,
574     59,   291,     0,   269,    60,   291,     0,   269,    61,   291,
575      0,   269,    62,   291,     0,   269,    63,   291,     0,   269,
576     64,   291,     0,   269,    65,   291,     0,   269,    66,   291,
577      0,   269,    67,   291,     0,   291,     0,   292,    21,   291,
578      0,     0,   292,     0,   288,     0,   296,     0,    72,     0,
579    301,     0,   336,   303,    18,     0,     0,   336,   350,   360,
580    350,   297,   303,   307,    18,   303,     0,     0,   336,   350,
581    360,   350,    23,   298,   303,   308,   307,    18,   303,     0,
582    360,   350,     0,     0,   360,   350,    23,   300,   303,   308,
583      0,     0,    46,   336,   302,   350,   305,   303,   242,    18,
584      0,    46,   336,   303,    18,     0,    46,   305,   303,    18,
585      0,     0,     0,   306,   303,     0,   299,     0,   305,    21,
586    350,   299,     0,     0,   307,    21,   350,   299,     0,   291,
587      0,    19,   312,    20,     0,    19,   312,    21,    20,     0,
588    309,   308,     0,   310,    23,     0,   457,    22,     0,   311,
589      0,   310,   311,     0,    26,   294,    27,     0,    28,   457,
590      0,   308,     0,   312,    21,   308,     0,   115,     0,   113,
591      0,   116,     0,   117,     0,   118,     0,   315,    91,     0,
592      0,   250,   350,   316,   264,   454,   303,     0,   319,    91,
593      0,   251,   350,     0,     0,   318,   325,   320,   263,   454,
594    303,     0,     0,   318,   321,   322,   454,   303,     0,   220,
595      0,   213,     0,   142,     0,   143,     0,   145,     0,   146,
596      0,   144,     0,   127,     0,   130,     0,   128,     0,   129,
597      0,   135,     0,   136,     0,   121,     0,   123,     0,   122,
598      0,   131,     0,   132,     0,   124,     0,   126,     0,   139,
599      0,   141,     0,   154,     0,   153,     0,   138,     0,   140,
600      0,   178,     0,   188,     0,   137,     0,   152,     0,   151,
601      0,   161,     0,   159,     0,   160,     0,   155,     0,   156,
602      0,   157,     0,   158,     0,   162,     0,   163,     0,   166,
603      0,   167,     0,   164,     0,   165,     0,   150,     0,   147,
604      0,   148,     0,   149,     0,   119,     0,   120,     0,   133,
605      0,   134,     0,   111,   303,     0,   112,   303,     0,   332,
606    303,     0,   325,   303,     0,   323,   303,     0,   326,   303,
607      0,   324,   303,     0,   328,   303,     0,   327,   303,     0,
608    329,   303,     0,   330,   303,     0,   168,   350,     0,   170,
609    350,     0,   169,   350,     0,   171,   350,     0,   172,   350,
610      0,   173,   350,     0,   174,   350,     0,   175,   350,     0,
611    176,   350,     0,   177,   350,     0,   458,   350,     0,   341,
612    350,     0,   355,   350,     0,   331,   350,     0,   303,   336,
613    303,     0,   338,     0,   338,    88,   337,    91,     0,   372,
614      0,   372,    21,   337,     0,   313,   339,     0,   333,   339,
615      0,   334,   339,     0,     0,   336,     0,     0,     0,     0,
616    350,    68,   457,   303,    19,   342,   405,   351,   406,   343,
617     20,   340,     0,     0,     0,   350,    69,   457,   303,    19,
618    344,   405,   351,   406,   345,    20,     0,   350,    68,   457,
619    303,    19,    20,     0,   350,    69,   457,   303,    19,    20,
620      0,     0,     0,   350,    68,   303,    19,   346,   405,   351,
621    406,   347,    20,     0,     0,     0,   350,    69,   303,    19,
622    348,   405,   351,   406,   349,    20,     0,   350,    68,   303,
623     19,    20,     0,   350,    69,   303,    19,    20,     0,   350,
624     68,   457,   350,     0,   350,    69,   457,   350,     0,     0,
625    352,     0,   211,     0,   351,   352,     0,   336,   350,   353,
626    303,    18,     0,   336,   303,    18,     0,   354,   350,     0,
627    353,    21,   354,   350,     0,   360,     0,    22,   303,   294,
628      0,   360,    22,   303,   294,     0,   350,    70,    19,   357,
629     20,   303,     0,     0,   350,    70,   457,    19,   356,   357,
630     20,   303,     0,   350,    70,   457,   303,     0,   358,     0,
631    357,    21,   358,     0,   357,    21,     0,   457,     0,   457,
632     23,   303,   294,     0,   202,     0,   374,     0,   364,   192,
633      0,   364,   359,     0,   202,     0,   364,   202,     0,   367,
634      0,   350,   365,     0,   111,     0,   112,     0,   362,     0,
635    363,   362,     0,    34,     0,    34,   363,     0,    34,   364,
636      0,    34,   363,   364,     0,   366,     0,   366,    21,     5,
637      0,   457,     0,   366,    21,   457,     0,     5,     0,   368,
638      0,   368,    21,     5,     0,     0,   369,   371,     0,     0,
639    368,    21,   370,   371,     0,   303,   336,   359,   303,     0,
640    457,     0,   335,     0,   335,   373,     0,   364,     0,   375,
641      0,   364,   375,     0,     0,   375,     0,   303,    24,   350,
642    373,    25,     0,    26,    27,     0,    26,   294,    27,     0,
643    375,    26,    27,     0,   375,    26,   294,    27,     0,   303,
644     24,    25,     0,   303,    24,   367,    25,     0,   375,   303,
645     24,    25,     0,   375,   303,    24,   367,    25,     0,   393,
646      0,   395,     0,   398,     0,   401,     0,   416,     0,   419,
647      0,   451,     0,   424,     0,   453,     0,   379,     0,   377,
648      0,   386,     0,   379,   386,     0,   423,   379,     0,   450,
649    392,    11,    24,   292,    25,    18,     0,   450,   392,    11,
650     24,   292,    25,     0,   381,   386,     0,     0,     0,    13,
651     24,   293,    18,   293,    18,   382,   293,   383,    25,     0,
652      0,   190,   403,    24,   385,   427,    25,     0,   191,     0,
653    393,     0,   395,     0,   398,     0,   389,   412,     0,   389,
654      0,   390,     0,   416,     0,   387,     0,   380,     0,   384,
655      0,   453,     0,    24,   386,    25,     0,     1,     0,     0,
656    418,   388,   386,     0,   403,    19,     0,   407,    20,     0,
657    392,     0,   411,     0,   393,     0,   395,     0,   398,     0,
658    402,     0,   417,     0,   419,     0,   424,     0,   452,     0,
659     24,   392,    25,     0,   453,     0,     1,     0,   457,    22,
660      0,   110,   376,     0,     0,   101,   394,     0,     0,     6,
661    294,   396,    22,     0,     0,   101,   394,     6,   294,   397,
662     22,     0,     0,     7,   399,    22,     0,     0,   101,   394,
663      7,   400,    22,     0,    24,   401,    25,     0,   403,   409,
664      0,   403,   410,   404,     0,     0,     0,     0,     0,     0,
665     20,     0,   110,    20,     0,   415,    20,     0,   415,   110,
666     20,     0,   412,    20,     0,   412,   110,    20,     0,   412,
667    415,    20,     0,   412,   415,   110,    20,     0,    19,   408,
668      0,    19,    20,     0,    19,   411,    20,     0,    19,   412,
669     20,     0,    19,   412,   415,    20,     0,   392,     0,   411,
670    392,     0,   295,     0,   412,   295,     0,   414,     0,   413,
671     21,   414,     0,   291,     0,    19,   413,   455,    20,     0,
672    376,     0,   415,   376,     0,    18,     0,   292,    18,     0,
673     18,     0,   292,    18,     0,   292,     0,     8,    24,   292,
674     25,     0,   418,   376,     0,     0,   418,   376,     9,   420,
675    376,     0,     0,    10,    24,   292,   421,    25,   376,     0,
676     11,    24,   292,    25,     0,    11,    24,   292,    25,     0,
677      0,     0,   190,   425,   403,    24,   426,   427,    25,   401,
678    449,   404,     0,   429,     0,     0,   427,   428,    21,   429,
679      0,   448,     0,   456,     0,   187,     0,   186,     0,   189,
680      0,   430,   189,     0,   430,     0,    24,   292,    25,     0,
681    431,     0,   267,    26,   292,    27,     0,   267,    24,    25,
682      0,   267,    24,   268,    25,     0,    71,    24,   291,    21,
683    372,    25,     0,   267,   350,    28,   457,   303,     0,   267,
684    350,    45,   457,   303,     0,   267,    48,     0,   267,    49,
685      0,   432,     0,    48,   269,     0,    49,   269,     0,    29,
686    275,     0,    34,   275,     0,    33,   275,     0,    32,   275,
687      0,    31,   275,     0,    30,   275,     0,   272,     0,   433,
688      0,    24,   372,    25,   275,     0,   434,     0,   276,    34,
689    275,     0,   276,    35,   275,     0,   276,    36,   275,     0,
690    435,     0,   277,    33,   276,     0,   277,    32,   276,     0,
691    436,     0,   278,    50,   277,     0,   278,    51,   277,     0,
692    437,     0,   279,    37,   278,     0,   279,    38,   278,     0,
693    279,    52,   278,     0,   279,    53,   278,     0,   438,     0,
694    280,    54,   279,     0,   280,    55,   279,     0,   439,     0,
695    281,    29,   280,     0,   440,     0,   282,    39,   281,     0,
696    441,     0,   283,    40,   282,     0,   442,     0,   284,    56,
697    283,     0,   443,     0,   286,    57,   284,     0,   444,     0,
698      0,     0,   286,    41,   446,   292,    22,   447,   288,     0,
699    445,     0,   269,    23,   291,     0,   269,    58,   291,     0,
700    269,    59,   291,     0,   269,    60,   291,     0,   269,    61,
701    291,     0,   269,    62,   291,     0,   269,    63,   291,     0,
702    269,    64,   291,     0,   269,    65,   291,     0,   269,    66,
703    291,     0,   269,    67,   291,     0,   191,     0,     0,    12,
704      0,   422,   376,     0,   450,   376,    11,    24,   292,    25,
705     18,     0,   381,   376,     0,   422,   392,     0,   450,   392,
706     11,    24,   292,    25,    18,     0,   450,   392,    11,    24,
707    292,    25,     0,   381,   392,     0,    14,   457,    18,     0,
708     15,    18,     0,   100,    15,    18,     0,    16,    18,     0,
709     96,    16,    18,     0,    97,    16,    18,     0,    98,    16,
710     18,     0,    99,    16,    18,     0,    17,    18,     0,    17,
711    292,    18,     0,     0,    18,     0,     0,    21,     0,   185,
712      0,   186,     0,   190,     0,   191,     0,   456,     0,   187,
713      0,   192,     0,   187,     0,    44,    24,   292,    25,     0,
714     44,    24,   372,    25,     0
715 };
716
717 #endif
718
719 #if YYDEBUG != 0
720 static const short yyrline[] = { 0,
721    325,   326,   329,   330,   333,   334,   335,   336,   337,   338,
722    339,   340,   343,   345,   349,   349,   356,   362,   366,   367,
723    371,   372,   374,   376,   391,   394,   404,   407,   415,   416,
724    418,   420,   436,   439,   447,   450,   458,   460,   460,   464,
725    465,   466,   467,   470,   473,   477,   477,   480,   480,   485,
726    486,   489,   494,   495,   498,   499,   502,   507,   508,   511,
727    512,   513,   516,   517,   518,   523,   524,   527,   529,   531,
728    533,   542,   544,   546,   548,   564,   568,   569,   576,   577,
729    585,   587,   591,   592,   593,   594,   595,   596,   599,   600,
730    601,   602,   603,   604,   607,   610,   611,   618,   621,   624,
731    630,   638,   640,   644,   647,   648,   651,   654,   660,   664,
732    665,   668,   671,   672,   675,   676,   677,   680,   681,   682,
733    683,   684,   687,   688,   689,   690,   691,   694,   695,   698,
734    705,   709,   711,   715,   716,   718,   725,   735,   736,   739,
735    740,   741,   742,   743,   744,   745,   746,   750,   751,   755,
736    756,   759,   761,   763,   764,   765,   766,   767,   769,   773,
737    774,   777,   781,   793,   794,   795,   796,   797,   798,   799,
738    800,   804,   805,   806,   807,   808,   809,   810,   811,   812,
739    813,   817,   818,   821,   822,   823,   824,   825,   826,   827,
740    828,   829,   830,   831,   834,   835,   838,   842,   843,   846,
741    847,   848,   849,   852,   853,   857,   858,   859,   860,   863,
742    864,   865,   868,   869,   870,   873,   874,   875,   876,   877,
743    880,   881,   882,   885,   886,   889,   890,   894,   895,   898,
744    899,   904,   910,   911,   917,   923,   924,   924,   926,   929,
745    930,   931,   932,   933,   934,   935,   936,   937,   938,   939,
746    940,   943,   944,   947,   948,   951,   956,   957,   958,   961,
747    975,   980,   986,   988,   994,   999,   999,  1003,  1004,  1006,
748   1007,  1010,  1013,  1016,  1019,  1020,  1023,  1024,  1027,  1028,
749   1029,  1030,  1037,  1038,  1042,  1043,  1046,  1047,  1050,  1052,
750   1061,  1062,  1063,  1064,  1065,  1068,  1071,  1077,  1086,  1089,
751   1092,  1099,  1106,  1112,  1137,  1138,  1141,  1142,  1143,  1144,
752   1145,  1148,  1149,  1150,  1151,  1154,  1155,  1156,  1157,  1158,
753   1159,  1160,  1161,  1162,  1163,  1164,  1165,  1166,  1167,  1168,
754   1169,  1170,  1174,  1175,  1178,  1179,  1182,  1183,  1186,  1187,
755   1188,  1189,  1192,  1193,  1194,  1195,  1196,  1197,  1200,  1201,
756   1202,  1203,  1206,  1207,  1208,  1209,  1212,  1213,  1214,  1215,
757   1216,  1217,  1218,  1219,  1220,  1221,  1222,  1229,  1230,  1231,
758   1232,  1233,  1234,  1235,  1236,  1237,  1238,  1239,  1240,  1241,
759   1242,  1245,  1249,  1250,  1254,  1255,  1259,  1260,  1261,  1264,
760   1265,  1269,  1276,  1278,  1280,  1282,  1284,  1286,  1287,  1289,
761   1291,  1293,  1295,  1296,  1297,  1300,  1301,  1303,  1305,  1306,
762   1309,  1312,  1313,  1314,  1317,  1319,  1323,  1325,  1329,  1330,
763   1331,  1335,  1337,  1337,  1339,  1342,  1344,  1346,  1349,  1354,
764   1361,  1362,  1363,  1370,  1374,  1375,  1379,  1380,  1383,  1384,
765   1387,  1388,  1391,  1392,  1393,  1394,  1397,  1398,  1401,  1402,
766   1405,  1406,  1407,  1410,  1410,  1411,  1412,  1415,  1427,  1443,
767   1444,  1447,  1448,  1449,  1452,  1453,  1456,  1458,  1459,  1461,
768   1462,  1464,  1466,  1468,  1470,  1476,  1477,  1478,  1479,  1480,
769   1481,  1482,  1483,  1484,  1488,  1491,  1494,  1495,  1499,  1501,
770   1503,  1505,  1509,  1510,  1512,  1516,  1518,  1520,  1523,  1524,
771   1525,  1526,  1527,  1528,  1529,  1530,  1531,  1532,  1533,  1534,
772   1535,  1538,  1539,  1544,  1547,  1550,  1551,  1554,  1555,  1556,
773   1557,  1558,  1559,  1560,  1561,  1562,  1563,  1564,  1567,  1568,
774   1575,  1576,  1582,  1583,  1584,  1585,  1588,  1589,  1590,  1591,
775   1594,  1595,  1599,  1602,  1605,  1608,  1611,  1614,  1617,  1618,
776   1619,  1620,  1622,  1623,  1625,  1627,  1633,  1637,  1639,  1641,
777   1643,  1647,  1648,  1651,  1652,  1655,  1656,  1659,  1660,  1663,
778   1664,  1667,  1668,  1671,  1672,  1673,  1676,  1689,  1694,  1695,
779   1699,  1700,  1703,  1708,  1711,  1712,  1713,  1721,  1722,  1722,
780   1726,  1727,  1728,  1739,  1746,  1747,  1750,  1751,  1754,  1755,
781   1756,  1757,  1758,  1760,  1761,  1762,  1763,  1766,  1767,  1768,
782   1769,  1770,  1771,  1772,  1773,  1774,  1775,  1778,  1779,  1782,
783   1783,  1784,  1785,  1788,  1789,  1790,  1793,  1794,  1795,  1798,
784   1799,  1800,  1801,  1802,  1805,  1806,  1807,  1810,  1811,  1814,
785   1815,  1819,  1820,  1823,  1824,  1827,  1828,  1831,  1832,  1833,
786   1834,  1837,  1838,  1839,  1840,  1841,  1842,  1843,  1844,  1845,
787   1846,  1847,  1848,  1851,  1852,  1855,  1858,  1860,  1862,  1866,
788   1867,  1869,  1871,  1874,  1875,  1876,  1878,  1879,  1880,  1881,
789   1882,  1883,  1884,  1887,  1888,  1891,  1892,  1895,  1898,  1899,
790   1900,  1901,  1902,  1905,  1906,  1907,  1908
791 };
792 #endif
793
794
795 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
796
797 static const char * const yytname[] = {   "$","error","$undefined.","BADTOK",
798 "SKIPTOK","CTOK_ELIPSIS","CASE","DEFAULT","CIF","CELSE","SWITCH","WHILE","DO",
799 "CFOR","GOTO","CONTINUE","BREAK","RETURN","TSEMI","TLBRACE","TRBRACE","TCOMMA",
800 "TCOLON","TASSIGN","TLPAREN","TRPAREN","TLSQBR","TRSQBR","TDOT","TAMPERSAND",
801 "TEXCL","TTILDE","TMINUS","TPLUS","TMULT","TDIV","TPERCENT","TLT","TGT","TCIRC",
802 "TBAR","TQUEST","CSIZEOF","CALIGNOF","CTYPEOF","ARROW_OP","CTYPEDEF","COFFSETOF",
803 "INC_OP","DEC_OP","LEFT_OP","RIGHT_OP","LE_OP","GE_OP","EQ_OP","NE_OP","AND_OP",
804 "OR_OP","MUL_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","ADD_ASSIGN","SUB_ASSIGN","LEFT_ASSIGN",
805 "RIGHT_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","CSTRUCT","CUNION","CENUM",
806 "VA_ARG","VA_DCL","QWARN","QGLOBALS","QMODIFIES","QNOMODS","QCONSTANT","QFUNCTION",
807 "QITER","QDEFINES","QUSES","QALLOCATES","QSETS","QRELEASES","QPRECLAUSE","QPOSTCLAUSE",
808 "QINVARIANT","QALT","QUNDEF","QKILLED","QENDMACRO","LLMACRO","LLMACROITER","LLMACROEND",
809 "TENDMACRO","QSWITCHBREAK","QLOOPBREAK","QINNERBREAK","QSAFEBREAK","QINNERCONTINUE",
810 "QFALLTHROUGH","QLINTNOTREACHED","QLINTFALLTHROUGH","QLINTFALLTHRU","QARGSUSED",
811 "QPRINTFLIKE","QLINTPRINTFLIKE","QSCANFLIKE","QMESSAGELIKE","QNOTREACHED","QCONST",
812 "QVOLATILE","QINLINE","QEXTENSION","QEXTERN","QSTATIC","QAUTO","QREGISTER","QOUT",
813 "QIN","QYIELD","QONLY","QTEMP","QSHARED","QREF","QUNIQUE","QCHECKED","QUNCHECKED",
814 "QCHECKEDSTRICT","QCHECKMOD","QKEEP","QKEPT","QPARTIAL","QSPECIAL","QOWNED",
815 "QDEPENDENT","QRETURNED","QEXPOSED","QNULL","QOBSERVER","QISNULL","QEXITS","QMAYEXIT",
816 "QNEVEREXIT","QTRUEEXIT","QFALSEEXIT","QLONG","QSIGNED","QUNSIGNED","QSHORT",
817 "QUNUSED","QSEF","QNOTNULL","QRELNULL","QABSTRACT","QCONCRETE","QMUTABLE","QIMMUTABLE",
818 "QTRUENULL","QFALSENULL","QEXTERNAL","QREFCOUNTED","QREFS","QNEWREF","QTEMPREF",
819 "QKILLREF","QRELDEF","CGCHAR","CBOOL","CINT","CGFLOAT","CDOUBLE","CVOID","QANYTYPE",
820 "QINTEGRALTYPE","QUNSIGNEDINTEGRALTYPE","QSIGNEDINTEGRALTYPE","QNULLTERMINATED",
821 "QSETBUFFERSIZE","QSETSTRINGLENGTH","QMAXSET","QMAXREAD","QTESTINRANGE","TCAND",
822 "IDENTIFIER","NEW_IDENTIFIER","TYPE_NAME_OR_ID","CANNOTATION","CCONSTANT","ITER_NAME",
823 "ITER_ENDNAME","TYPE_NAME","METASTATE_NAME","file","externalDefs","externalDef",
824 "constantDecl","fcnDecl","@1","plainFcn","plainNamedDecl","namedDeclBase","@2",
825 "@3","plainNamedDeclBase","@4","@5","iterDecl","@6","@7","macroDef","fcnDefHdr",
826 "metaStateConstraint","metaStateSpecifier","@8","@9","metaStateExpression","metaStateName",
827 "constraintSeperator","BufConstraintList","BufConstraint","bufferModifier","relationalOp",
828 "BufConstraintExpr","BufConstraintTerm","BufConstraintSrefExpr","BufUnaryOp",
829 "BufBinaryOp","functionClauses","functionClausesPlain","functionClause","functionClausePlain",
830 "globalsClause","globalsClausePlain","@10","nomodsClause","modifiesClause","modifiesClausePlain",
831 "@11","flagSpec","flagId","optWarnClause","warnClause","warnClausePlain","globIdList",
832 "globIdListExpr","optGlobQuals","globId","globQual","stateTag","conditionTag",
833 "fcnDefHdrAux","fcnBody","@12","@13","@14","fcnDef","locModifies","modListExpr",
834 "mExpr","modList","specClauseListExpr","optSpecClauseList","specClauseList",
835 "primaryExpr","@15","postfixExpr","argumentExprList","unaryExpr","fieldDesignator",
836 "offsetofExpr","sizeofExpr","@16","sizeofExprAux","castExpr","timesExpr","plusExpr",
837 "shiftExpr","relationalExpr","equalityExpr","bitandExpr","xorExpr","bitorExpr",
838 "andExpr","@17","orExpr","@18","conditionalExpr","@19","@20","assignExpr","expr",
839 "optExpr","constantExpr","initializer","instanceDecl","@21","@22","namedInitializer",
840 "@23","typeDecl","@24","IsType","PushType","namedInitializerList","namedInitializerListAux",
841 "optDeclarators","init","designation","designatorList","designator","initList",
842 "storageSpecifier","stateClause","stateClausePlain","@25","conditionClause",
843 "startConditionClause","conditionClausePlain","@26","@27","functionConstraint",
844 "exitsQualifier","checkQualifier","stateQualifier","paramQualifier","visibilityQualifier",
845 "returnQualifier","typedefQualifier","refcountQualifier","typeModifier","definedQualifier",
846 "typeQualifier","typeSpecifier","completeType","completeTypeSpecifier","altType",
847 "completeTypeSpecifierAux","optCompleteType","optStructInvariant","suSpc","@28",
848 "@29","@30","@31","@32","@33","@34","@35","NotType","structDeclList","structDecl",
849 "structNamedDeclList","structNamedDecl","enumSpc","@36","enumeratorList","enumerator",
850 "optNamedDecl","namedDecl","genericParamList","innerMods","innerModsList","pointers",
851 "paramIdList","idList","paramTypeList","paramList","@37","@38","paramDecl","typeExpression",
852 "abstractDecl","optAbstractDeclBase","abstractDeclBase","stmt","iterBody","endBody",
853 "iterDefStmtList","iterDefIterationStmt","forPred","@39","@40","partialIterStmt",
854 "@41","iterDefStmt","iterSelectionStmt","@42","openScope","closeScope","macroBody",
855 "stmtErr","labeledStmt","optExtraFallThroughs","caseStmt","@43","@44","defaultStmt",
856 "@45","@46","compoundStmt","compoundStmtErr","CreateInnerScope","DeleteInnerScope",
857 "CreateStructInnerScope","DeleteStructInnerScope","DeleteInnerScopeSafe","compoundStmtRest",
858 "compoundStmtAux","compoundStmtAuxErr","stmtListErr","initializerList","typeInitializerList",
859 "typeInitializer","stmtList","expressionStmt","expressionStmtErr","ifPred","selectionStmt",
860 "@47","@48","whilePred","iterWhilePred","iterStmt","@49","@50","iterArgList",
861 "@51","iterArgExpr","cconstantExpr","primaryIterExpr","postfixIterExpr","unaryIterExpr",
862 "castIterExpr","timesIterExpr","plusIterExpr","shiftIterExpr","relationalIterExpr",
863 "equalityIterExpr","bitandIterExpr","xorIterExpr","bitorIterExpr","andIterExpr",
864 "orIterExpr","conditionalIterExpr","@52","@53","assignIterExpr","endIter","doHeader",
865 "iterationStmt","iterationStmtErr","jumpStmt","optSemi","optComma","id","newId",
866 "typeName", NULL
867 };
868 #endif
869
870 static const short yyr1[] = {     0,
871    194,   194,   195,   195,   196,   196,   196,   196,   196,   196,
872    196,   196,   197,   197,   199,   198,   200,   200,   201,   201,
873    202,   202,   202,   202,   203,   202,   204,   202,   205,   205,
874    205,   205,   206,   205,   207,   205,   209,   210,   208,   211,
875    211,   211,   211,   212,   213,   215,   214,   216,   214,   217,
876    217,   218,   219,   219,   220,   220,   221,   222,   222,   223,
877    223,   223,   224,   224,   224,   225,   225,   226,   226,   226,
878    226,   226,   226,   226,   226,   227,   228,   228,   229,   229,
879    230,   230,   231,   231,   231,   231,   231,   231,   232,   232,
880    232,   232,   232,   232,   233,   235,   234,   236,   237,   239,
881    238,   240,   240,   241,   242,   242,   243,   244,   244,   245,
882    245,   246,   247,   247,   248,   248,   248,   249,   249,   249,
883    249,   249,   250,   250,   250,   250,   250,   251,   251,   252,
884    252,   254,   253,   255,   256,   253,   257,   258,   258,   259,
885    259,   259,   259,   259,   259,   259,   259,   260,   260,   261,
886    261,   262,   262,   262,   262,   262,   262,   262,   262,   263,
887    263,   264,   264,   265,   265,   265,   265,   265,   265,   266,
888    265,   267,   267,   267,   267,   267,   267,   267,   267,   267,
889    267,   268,   268,   269,   269,   269,   269,   269,   269,   269,
890    269,   269,   269,   269,   270,   270,   271,   273,   272,   274,
891    274,   274,   274,   275,   275,   276,   276,   276,   276,   277,
892    277,   277,   278,   278,   278,   279,   279,   279,   279,   279,
893    280,   280,   280,   281,   281,   282,   282,   283,   283,   284,
894    285,   284,   286,   287,   286,   288,   289,   290,   288,   291,
895    291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
896    291,   292,   292,   293,   293,   294,   295,   295,   295,   296,
897    297,   296,   298,   296,   299,   300,   299,   302,   301,   301,
898    301,   303,   304,   305,   306,   306,   307,   307,   308,   308,
899    308,   308,   309,   309,   310,   310,   311,   311,   312,   312,
900    313,   313,   313,   313,   313,   314,   316,   315,   317,   318,
901    320,   319,   321,   319,   322,   322,   323,   323,   323,   323,
902    323,   324,   324,   324,   324,   325,   325,   325,   325,   325,
903    325,   325,   325,   325,   325,   325,   325,   325,   325,   325,
904    325,   325,   326,   326,   327,   327,   328,   328,   329,   329,
905    329,   329,   330,   330,   330,   330,   330,   330,   331,   331,
906    331,   331,   332,   332,   332,   332,   333,   333,   333,   333,
907    333,   333,   333,   333,   333,   333,   333,   334,   334,   334,
908    334,   334,   334,   334,   334,   334,   334,   334,   334,   334,
909    334,   335,   336,   336,   337,   337,   338,   338,   338,   339,
910    339,   340,   342,   343,   341,   344,   345,   341,   341,   341,
911    346,   347,   341,   348,   349,   341,   341,   341,   341,   341,
912    350,   351,   351,   351,   352,   352,   353,   353,   354,   354,
913    354,   355,   356,   355,   355,   357,   357,   357,   358,   358,
914    359,   359,   359,   359,   360,   360,   361,   361,   362,   362,
915    363,   363,   364,   364,   364,   364,   365,   365,   366,   366,
916    367,   367,   367,   369,   368,   370,   368,   371,   371,   372,
917    372,   373,   373,   373,   374,   374,   375,   375,   375,   375,
918    375,   375,   375,   375,   375,   376,   376,   376,   376,   376,
919    376,   376,   376,   376,   377,   378,   379,   379,   380,   380,
920    380,   380,   382,   383,   381,   385,   384,   384,   386,   386,
921    386,   386,   386,   386,   386,   386,   386,   386,   386,   386,
922    386,   388,   387,   389,   390,   391,   391,   392,   392,   392,
923    392,   392,   392,   392,   392,   392,   392,   392,   393,   393,
924    394,   394,   396,   395,   397,   395,   399,   398,   400,   398,
925    401,   401,   402,   403,   404,   405,   406,   407,   408,   408,
926    408,   408,   408,   408,   408,   408,   409,   410,   410,   410,
927    410,   411,   411,   412,   412,   413,   413,   414,   414,   415,
928    415,   416,   416,   417,   417,   417,   418,   419,   420,   419,
929    421,   419,   422,   423,   425,   426,   424,   427,   428,   427,
930    429,   429,   429,   429,   430,   430,   431,   431,   432,   432,
931    432,   432,   432,   432,   432,   432,   432,   433,   433,   433,
932    433,   433,   433,   433,   433,   433,   433,   434,   434,   435,
933    435,   435,   435,   436,   436,   436,   437,   437,   437,   438,
934    438,   438,   438,   438,   439,   439,   439,   440,   440,   441,
935    441,   442,   442,   443,   443,   444,   444,   445,   446,   447,
936    445,   448,   448,   448,   448,   448,   448,   448,   448,   448,
937    448,   448,   448,   449,   449,   450,   451,   451,   451,   452,
938    452,   452,   452,   453,   453,   453,   453,   453,   453,   453,
939    453,   453,   453,   454,   454,   455,   455,   456,   457,   457,
940    457,   457,   457,   458,   458,   458,   458
941 };
942
943 static const short yyr2[] = {     0,
944      0,     1,     1,     2,     2,     1,     1,     1,     1,     1,
945      1,     1,     8,    11,     0,     5,     1,     3,     1,     2,
946      1,     6,     3,     6,     0,     6,     0,     7,     1,     6,
947      3,     6,     0,     6,     0,     7,     0,     0,    10,     3,
948      3,     3,     2,     1,     3,     0,     4,     0,     4,     1,
949      3,     1,     1,     1,     3,     1,     3,     1,     1,     1,
950      1,     1,     1,     4,     5,     1,     1,     1,     1,     3,
951      4,     2,     3,     3,     3,     1,     1,     1,     0,     2,
952      0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
953      1,     1,     1,     1,     2,     0,     4,     1,     2,     0,
954      3,     1,     3,     1,     1,     0,     2,     3,     2,     1,
955      3,     2,     0,     2,     1,     1,     1,     1,     1,     1,
956      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
957      3,     0,     3,     0,     0,     4,     2,     2,     1,     1,
958      1,     3,     4,     2,     3,     3,     3,     1,     1,     1,
959      3,     1,     1,     3,     4,     2,     3,     3,     3,     0,
960      1,     1,     3,     1,     1,     1,     3,     1,     1,     0,
961      4,     1,     4,     3,     4,     6,     5,     5,     2,     2,
962      7,     1,     3,     1,     2,     2,     2,     2,     2,     2,
963      2,     2,     1,     1,     3,     1,     9,     0,     3,     4,
964      2,     4,     2,     1,     4,     1,     3,     3,     3,     1,
965      3,     3,     1,     3,     3,     1,     3,     3,     3,     3,
966      1,     3,     3,     1,     3,     1,     3,     1,     3,     1,
967      0,     4,     1,     0,     4,     1,     0,     0,     7,     1,
968      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
969      3,     1,     3,     0,     1,     1,     1,     1,     1,     3,
970      0,     9,     0,    11,     2,     0,     6,     0,     8,     4,
971      4,     0,     0,     2,     1,     4,     0,     4,     1,     3,
972      4,     2,     2,     2,     1,     2,     3,     2,     1,     3,
973      1,     1,     1,     1,     1,     2,     0,     6,     2,     2,
974      0,     6,     0,     5,     1,     1,     1,     1,     1,     1,
975      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
976      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
977      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
978      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
979      1,     1,     1,     1,     1,     1,     2,     2,     2,     2,
980      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
981      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
982      2,     3,     1,     4,     1,     3,     2,     2,     2,     0,
983      1,     0,     0,     0,    12,     0,     0,    11,     6,     6,
984      0,     0,    10,     0,     0,    10,     5,     5,     4,     4,
985      0,     1,     1,     2,     5,     3,     2,     4,     1,     3,
986      4,     6,     0,     8,     4,     1,     3,     2,     1,     4,
987      1,     1,     2,     2,     1,     2,     1,     2,     1,     1,
988      1,     2,     1,     2,     2,     3,     1,     3,     1,     3,
989      1,     1,     3,     0,     2,     0,     4,     4,     1,     1,
990      2,     1,     1,     2,     0,     1,     5,     2,     3,     3,
991      4,     3,     4,     4,     5,     1,     1,     1,     1,     1,
992      1,     1,     1,     1,     1,     1,     1,     2,     2,     7,
993      6,     2,     0,     0,    10,     0,     6,     1,     1,     1,
994      1,     2,     1,     1,     1,     1,     1,     1,     1,     3,
995      1,     0,     3,     2,     2,     1,     1,     1,     1,     1,
996      1,     1,     1,     1,     1,     3,     1,     1,     2,     2,
997      0,     2,     0,     4,     0,     6,     0,     3,     0,     5,
998      3,     2,     3,     0,     0,     0,     0,     0,     1,     2,
999      2,     3,     2,     3,     3,     4,     2,     2,     3,     3,
1000      4,     1,     2,     1,     2,     1,     3,     1,     4,     1,
1001      2,     1,     2,     1,     2,     1,     4,     2,     0,     5,
1002      0,     6,     4,     4,     0,     0,    10,     1,     0,     4,
1003      1,     1,     1,     1,     1,     2,     1,     3,     1,     4,
1004      3,     4,     6,     5,     5,     2,     2,     1,     2,     2,
1005      2,     2,     2,     2,     2,     2,     1,     1,     4,     1,
1006      3,     3,     3,     1,     3,     3,     1,     3,     3,     1,
1007      3,     3,     3,     3,     1,     3,     3,     1,     3,     1,
1008      3,     1,     3,     1,     3,     1,     3,     1,     0,     0,
1009      7,     1,     3,     3,     3,     3,     3,     3,     3,     3,
1010      3,     3,     3,     1,     0,     1,     2,     7,     2,     2,
1011      7,     6,     2,     3,     2,     3,     2,     3,     3,     3,
1012      3,     2,     3,     0,     1,     0,     1,     1,     1,     1,
1013      1,     1,     1,     1,     1,     4,     4
1014 };
1015
1016 static const short yydefact[] = {     0,
1017     12,    11,   443,     0,   411,   258,   411,    15,     0,     0,
1018      0,     0,   272,   272,   292,   291,   293,   294,   295,   353,
1019    354,   318,   320,   319,   323,   324,   312,   314,   315,   313,
1020    321,   322,   355,   356,   316,   317,   333,   329,   325,   330,
1021    326,   307,   308,   311,   309,   310,   350,   351,   352,   349,
1022    335,   334,   328,   327,   339,   340,   341,   342,   337,   338,
1023    336,   343,   344,   347,   348,   345,   346,   411,   411,   411,
1024    411,   411,   411,   411,   411,   411,   411,   331,   688,   689,
1025    693,   332,   690,   691,   694,     0,     3,     6,     7,   435,
1026      8,     9,   134,    44,   684,    10,   257,   259,     0,   390,
1027    272,   272,   272,   272,   272,   272,   272,   272,   411,   272,
1028    390,   390,   411,   383,   411,     0,   411,   130,   272,   692,
1029     21,   411,   439,   440,   441,   444,   445,   272,   275,   272,
1030    272,   268,   411,   695,   411,   411,   693,     0,   528,   272,
1031    537,     0,     0,     0,   666,     0,     0,     0,     0,   272,
1032    574,     0,   272,   272,   272,   272,   272,   272,   272,   272,
1033    272,     0,    43,     0,     0,     0,     0,     0,   531,   272,
1034    169,   165,   168,   595,   585,   172,   184,   204,   194,   193,
1035    206,   210,   213,   216,   221,   224,   226,   228,   230,   233,
1036    236,   240,   252,   576,   198,     0,     0,   562,   518,   519,
1037    520,   521,     0,     0,   522,   272,   523,     0,   524,   166,
1038      0,   525,   527,   164,     0,   511,     0,   572,     0,   544,
1039    498,     0,     0,     0,   507,     0,   508,   487,   506,   503,
1040    504,   499,   500,   501,     0,     0,   505,   512,     0,     0,
1041    509,   486,     0,   357,   358,   368,   370,   369,   371,   372,
1042    373,   374,   375,   376,   377,     4,   272,     0,   132,   137,
1043    411,   685,     5,   411,   391,   387,   361,   363,   360,   362,
1044    365,   364,   366,   367,   381,   359,   388,   389,     0,   272,
1045    272,   379,   272,   272,     0,   380,   436,   378,   442,   446,
1046    272,   165,   168,     0,   411,   460,     0,   164,   411,     0,
1047    274,   411,     0,   265,   272,   684,    17,    19,     0,   411,
1048    272,    29,   454,   204,   256,   533,     0,   272,   272,   272,
1049    272,     0,   675,   677,   682,     0,   544,     0,     0,     0,
1050    187,   192,   191,   190,   189,   188,     0,   272,   185,   186,
1051    272,     0,     0,     0,     0,     0,   531,     0,   272,   530,
1052    272,   476,   477,   478,   479,     0,   480,   481,   272,   483,
1053    272,   482,   484,   544,   272,   272,   179,   180,     0,   272,
1054    272,   272,   272,   272,   272,   272,   272,   272,   272,   272,
1055    272,   272,   272,   272,   272,   272,   272,   272,   272,   272,
1056    272,   272,   272,   272,   272,   272,   231,   237,   234,   575,
1057    272,     0,   673,    40,     0,   545,   563,   578,   670,   596,
1058      0,   529,   272,     0,     0,     0,   573,    41,   488,   492,
1059    564,   411,   502,   514,   515,     0,     0,     0,    42,    23,
1060    272,   454,   411,   411,   272,   260,   131,   411,     0,   385,
1061      0,   411,     0,   411,     0,   272,     0,   696,   272,   272,
1062      0,   462,   461,   463,   697,   272,   271,   272,   270,   266,
1063    411,     0,   272,     0,   411,   272,    20,   451,     0,     0,
1064    437,   452,   272,     0,   538,     0,   581,     0,   255,     0,
1065    674,   683,   544,     0,   167,   272,   526,   272,     0,     0,
1066    678,   679,   680,   681,   676,   532,   272,   539,     0,   669,
1067    411,   542,   667,     0,     0,   174,     0,   182,     0,     0,
1068      0,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1069    250,   251,   207,   208,   209,   212,   211,   214,   215,   217,
1070    218,   219,   220,   222,   223,   225,   227,   229,   272,   272,
1071    272,   253,   272,   272,   199,   558,   695,   562,     0,   411,
1072    543,   579,     0,     0,   510,   496,   272,   565,   513,     0,
1073      0,    25,     0,   549,   272,   570,   133,   411,   272,   544,
1074    272,   261,   384,   272,   401,     0,   409,   404,     0,   410,
1075      0,   426,   429,   423,   425,   382,   468,     0,   454,   464,
1076    272,     0,   276,   272,   272,   684,    16,    31,   272,   454,
1077    272,    18,   438,   447,   449,    37,   456,   411,   455,   459,
1078    534,   577,     0,   583,   272,   171,   272,   205,   411,     0,
1079    272,   535,     0,   541,   557,     0,   586,   272,   175,   173,
1080    272,   272,   232,     0,   235,   272,   201,   272,   203,   559,
1081    560,   272,   272,   272,   584,   272,   411,   272,   411,    79,
1082     27,   550,   553,   272,   272,   551,   272,   571,   136,     0,
1083    263,   272,   386,   407,   546,   393,   408,   546,   396,   272,
1084    428,   272,     0,   469,   472,   272,     0,   470,     0,   454,
1085    106,   272,   272,   272,     0,    33,     0,   272,     0,    81,
1086    453,   272,   465,   272,     0,   272,   568,   686,   566,     0,
1087      0,     0,   540,   272,   272,   183,   177,   178,   238,     0,
1088      0,   561,   580,     0,   272,   272,   272,   272,   272,   272,
1089    272,   272,   272,     0,   165,   168,   184,   204,   193,   210,
1090    213,   216,   221,   224,   226,   228,   230,   233,     0,   589,
1091    588,   166,   599,   608,   618,   620,   624,   627,   630,   635,
1092    638,   640,   642,   644,   646,   648,   652,   591,   164,     0,
1093     24,     0,    96,   100,    98,   123,   124,   125,   126,   127,
1094    128,   129,    26,    79,    83,     0,    85,    84,     0,    88,
1095      0,   411,   411,    86,     0,    87,   303,     0,    79,   554,
1096    555,   272,   552,    22,   272,   277,   411,   399,   546,   411,
1097    400,   546,   422,   427,   272,     0,     0,   473,   471,   474,
1098      0,     0,   105,   272,   272,     0,   279,   267,   272,     0,
1099    285,     0,   272,     0,   411,    81,    35,     0,   448,   450,
1100     38,    81,    89,    91,    90,    94,    92,    93,   457,   431,
1101      0,   272,   465,   432,   466,   582,   493,   686,   272,     0,
1102      0,   176,   536,     0,   589,   272,   200,   202,   672,     0,
1103      0,   187,   192,   191,   190,   189,   188,   185,   186,   272,
1104    272,   272,   179,   180,     0,   272,   272,   272,   272,   272,
1105    272,   272,   272,   272,   272,   272,   272,   272,   272,   272,
1106    272,   272,   272,   272,   272,   272,   272,   272,   272,   272,
1107    272,   272,   231,   649,   234,   497,     0,   491,   104,   109,
1108    102,   113,   684,    80,    95,    99,   107,   297,   300,   296,
1109      0,   301,   299,    28,   556,   272,     0,   413,   411,   411,
1110    412,   411,   411,   411,   430,   272,   467,   475,   269,   289,
1111      0,     0,   288,   282,   283,   286,   284,   277,    13,    32,
1112     34,    81,    30,   684,    82,   454,   458,   433,   434,   272,
1113      0,   567,   181,     0,   196,     0,   544,   239,   671,   167,
1114    272,     0,   174,     0,     0,     0,     0,   653,   654,   655,
1115    656,   657,   658,   659,   660,   661,   662,   663,   207,   208,
1116    209,   212,   211,   214,   215,   217,   218,   219,   220,   222,
1117    223,   225,   227,   229,   645,   272,   647,   272,   490,   108,
1118      0,   118,   119,   120,   121,   122,   684,   110,   411,   113,
1119      0,     0,   141,   101,   150,   684,   139,   140,     0,    48,
1120      0,     0,    58,    59,    69,    67,   306,     0,   305,    56,
1121     76,     0,    63,    66,     0,   684,    68,   160,   277,   272,
1122    411,     0,   272,   414,   402,   411,   405,   411,   424,   280,
1123    272,   287,   684,    36,     0,   272,   494,   569,   272,     0,
1124    668,   665,   205,   272,   175,   173,   272,   272,     0,   590,
1125    103,   113,    97,   116,   112,   117,   115,   114,     0,   144,
1126      0,     0,     0,     0,   138,     0,     0,   153,   162,   684,
1127    152,     0,     0,    66,     0,    72,     0,    54,    53,     0,
1128     61,    60,    62,     0,     0,     0,     0,     0,     0,   272,
1129    684,   161,     0,   262,   272,   416,   272,   272,   411,   419,
1130      0,   394,     0,   397,   281,   290,     0,    39,   272,     0,
1131    197,   195,   664,   545,     0,   177,   178,   650,   111,   145,
1132    142,   148,     0,   149,   146,   147,   151,     0,   156,     0,
1133      0,     0,     0,   272,     0,    78,    77,     0,    73,     0,
1134     50,    45,    46,    55,    66,    57,    70,     0,    74,    75,
1135      0,     0,   304,   272,   272,   278,   272,   272,     0,   417,
1136    272,   403,     0,   406,     0,    14,   495,   587,   176,   272,
1137    143,   157,   154,     0,   158,   159,   163,   298,    52,    49,
1138      0,     0,    71,    47,    64,   302,   264,   420,   411,   415,
1139    272,   392,   398,   651,   155,    65,    51,   418,   421,   395,
1140      0,     0,     0
1141 };
1142
1143 static const short yydefgoto[] = {  1231,
1144     86,    87,    88,    89,   136,   306,   307,    90,   650,   789,
1145    308,   826,   952,    91,   690,   954,   928,    93,  1037,  1171,
1146   1118,  1102,  1172,  1210,  1110,  1039,  1040,  1041,  1114,  1042,
1147   1043,  1175,  1045,  1168,   773,   831,   774,   832,   775,   833,
1148    912,   834,   778,   835,   913,   910,   911,   812,   780,   781,
1149   1017,  1018,  1019,  1085,  1020,   782,   783,    94,   260,   433,
1150    261,   570,    95,  1024,  1152,  1153,  1026,  1099,  1121,  1100,
1151    176,   327,   177,   507,   178,   964,   179,   180,   402,   545,
1152    181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1153    539,   191,   541,   192,   540,   856,   193,   222,   480,   316,
1154    421,    97,   662,   795,   129,   595,    98,   302,   195,   258,
1155    130,   131,   927,   818,   819,   820,   821,   941,   100,   784,
1156    837,  1029,   786,   787,   838,  1048,   921,  1046,   101,   102,
1157    103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1158    296,   422,   439,   114,   266,  1230,   115,   799,  1193,   802,
1159   1195,   665,  1131,   668,  1133,   116,   930,   931,  1128,  1129,
1160    117,   673,   581,   582,   842,   133,   470,   125,   126,   119,
1161    603,   604,   471,   472,   473,   692,   609,   329,   807,   844,
1162    454,   350,   223,   243,   224,   225,   351,   960,  1140,   227,
1163    646,   228,   229,   426,   230,   231,   197,   407,   352,   348,
1164    353,   474,   702,   354,   317,   623,   355,   202,   356,   551,
1165    797,  1055,   236,   567,   502,   406,   204,   568,   698,   699,
1166    569,   357,   205,   206,   358,   643,   613,   359,   239,   360,
1167    364,   705,   740,   907,   741,   210,   743,   744,   745,   746,
1168    747,   748,   749,   750,   751,   752,   753,   754,   755,   756,
1169    757,  1006,  1200,   758,  1144,   361,   362,   212,   363,   263,
1170    850,   298,   215,   122
1171 };
1172
1173 static const short yypact[] = {  2126,
1174 -32768,-32768,    46,    55,  5187,-32768,  6479,-32768,   810,  3178,
1175   3478,  3478,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1176 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1177 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1178 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1179 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1180 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1181 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1182    694,-32768,-32768,-32768,-32768,  2309,-32768,-32768,-32768,   272,
1183 -32768,-32768,   109,-32768,   126,-32768,-32768,-32768,   141,  6074,
1184 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1185   6074,  6074,   161,   102,-32768,   187,-32768,-32768,   810,-32768,
1186 -32768,-32768,-32768,-32768,-32768,    46,-32768,  5488,-32768,   182,
1187 -32768,   161,-32768,-32768,-32768,  5187,-32768,   253,-32768,  5488,
1188 -32768,   265,   285,   301,-32768,   322,   810,   335,   347,   754,
1189 -32768,  2689,  5488,  5488,  5488,  5488,  5488,  5488,-32768,  5534,
1190   5534,   351,-32768,   375,   385,   394,   402,   409,   329,  4680,
1191 -32768,   441,   449,-32768,   478,-32768,   555,  1166,-32768,-32768,
1192 -32768,   770,   183,   563,    69,   570,   476,   486,   472,   500,
1193     72,-32768,-32768,   464,-32768,  3523,   497,   507,-32768,-32768,
1194 -32768,-32768,   557,  3223,-32768,  4680,-32768,  3523,-32768,   444,
1195   3523,-32768,-32768,   587,   647,-32768,   650,-32768,  2881,   478,
1196    685,   481,   592,  3328,-32768,  3478,-32768,-32768,-32768,  5804,
1197 -32768,-32768,-32768,-32768,   696,   701,-32768,-32768,  3478,  3523,
1198 -32768,-32768,   646,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1199 -32768,-32768,-32768,-32768,-32768,-32768,   752,   744,-32768,-32768,
1200   6344,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1201 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   763,   454,
1202 -32768,-32768,   810,   810,   420,-32768,   272,-32768,-32768,-32768,
1203   1167,-32768,-32768,   266,  5669,   294,   764,-32768,-32768,   777,
1204 -32768,-32768,   809,   806,   454,   126,-32768,   307,   814,-32768,
1205    810,-32768,    78,-32768,-32768,-32768,   833,  5488,  5488,  5488,
1206   3429,   855,-32768,-32768,-32768,   506,   840,   443,   858,   867,
1207 -32768,-32768,-32768,-32768,-32768,-32768,   870,  1167,-32768,-32768,
1208   5488,   889,   891,   916,   924,   926,   329,   644,  4586,-32768,
1209   4680,-32768,-32768,-32768,-32768,   947,-32768,-32768,  4680,-32768,
1210   4680,-32768,-32768,-32768,  5356,  5488,-32768,-32768,    50,  5488,
1211   5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,
1212   5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,
1213   5488,  5488,  5488,  5488,  5488,  5488,-32768,-32768,-32768,-32768,
1214   5488,   658,-32768,-32768,  2497,-32768,-32768,  1029,-32768,-32768,
1215    987,-32768,  5488,   733,  1005,   969,-32768,-32768,-32768,-32768,
1216 -32768,   161,  5804,-32768,-32768,  3478,  2037,  1036,-32768,-32768,
1217   5488,   157,  3628,  4763,   454,-32768,   434,  6479,   945,  1028,
1218   1035,  1043,  1050,  1043,   810,  1055,   342,-32768,-32768,  5367,
1219   1051,   417,-32768,   688,-32768,   454,-32768,   454,-32768,-32768,
1220 -32768,   994,  1053,  1063,-32768,   454,   307,-32768,   810,  1064,
1221 -32768,  1067,   810,  1068,-32768,   355,  1074,   404,  1074,  1083,
1222 -32768,-32768,   840,  1077,-32768,  5087,-32768,-32768,  1078,  1085,
1223 -32768,-32768,-32768,-32768,-32768,-32768,  5488,-32768,  1079,-32768,
1224   3628,-32768,-32768,  1097,  1099,-32768,   471,-32768,    89,   810,
1225    810,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1226 -32768,-32768,-32768,-32768,-32768,   770,   770,   183,   183,   563,
1227    563,   563,   563,    69,    69,   570,   476,   486,  5488,  5488,
1228   5488,-32768,  5546,  5579,-32768,-32768,  3073,-32768,  3373,  3815,
1229 -32768,-32768,  1102,   473,-32768,-32768,   454,-32768,-32768,  1103,
1230   1082,-32768,  1105,-32768,  4189,-32768,-32768,  4002,  4233,   840,
1231 -32768,  1089,-32768,-32768,  1108,  1117,-32768,  1118,  1121,-32768,
1232    741,-32768,  1114,-32768,-32768,-32768,-32768,  1125,   363,   688,
1233   5401,  1124,-32768,   182,-32768,    52,-32768,-32768,  5488,   559,
1234    454,-32768,-32768,  1120,-32768,-32768,  1151,  6479,-32768,-32768,
1235 -32768,-32768,  1140,-32768,  3429,-32768,  5108,-32768,-32768,  1147,
1236 -32768,-32768,  1145,-32768,-32768,  1146,-32768,  5488,-32768,-32768,
1237 -32768,-32768,   472,   791,   500,  1167,-32768,  1167,-32768,-32768,
1238 -32768,  4338,  4680,  5488,-32768,  5590,-32768,  5488,-32768,  1350,
1239 -32768,-32768,-32768,  4382,  4487,-32768,  4531,-32768,-32768,  1144,
1240 -32768,-32768,-32768,-32768,-32768,  1152,-32768,-32768,  1154,-32768,
1241    810,-32768,   810,-32768,-32768,   108,  1155,-32768,  1149,    62,
1242   1104,  1789,-32768,-32768,  1157,-32768,  1168,-32768,   290,  1350,
1243 -32768,   810,   968,  4680,  1161,  5108,-32768,  1173,-32768,  1182,
1244   1179,  1160,-32768,  5488,  5590,-32768,-32768,-32768,-32768,  1180,
1245   1181,-32768,-32768,   545,  1167,  5488,  5488,  5488,  5488,  5488,
1246   5488,  5534,  5534,  1183,   609,   635,   923,  1486,   665,   970,
1247    984,   905,   756,   935,  1184,  1169,  1170,  1153,    74,  1186,
1248 -32768,    41,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1249 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   699,   714,
1250 -32768,  1032,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1251 -32768,-32768,-32768,  1350,-32768,  1128,-32768,-32768,  1129,-32768,
1252   1130,-32768,-32768,-32768,  1131,-32768,  1975,  1143,  1350,-32768,
1253 -32768,  4636,-32768,-32768,-32768,-32768,  6209,-32768,-32768,  6209,
1254 -32768,-32768,-32768,-32768,  5488,  1021,  1210,-32768,-32768,-32768,
1255   1211,  1219,-32768,  1789,  5488,   810,-32768,-32768,  1789,   653,
1256 -32768,  1217,  1789,  1150,-32768,  1350,-32768,  1218,-32768,-32768,
1257 -32768,  1350,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   272,
1258   1221,-32768,   773,-32768,   688,-32768,-32768,  1173,  1710,  1222,
1259    810,-32768,-32768,   727,  1223,  5488,  1147,  1147,  1231,   735,
1260   1225,   799,   801,   820,   831,   841,   846,   851,   868,  5488,
1261   5412,  5488,   878,   897,   221,  5488,  5488,  5488,  5488,  5488,
1262   5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,
1263   5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,  5488,
1264   5488,  5488,  5488,-32768,  5488,-32768,  1230,  1234,-32768,  1065,
1265   1213,   529,   359,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1266    218,-32768,-32768,-32768,-32768,  1789,   537,-32768,   161,  4922,
1267 -32768,  6209,  4922,  6209,-32768,-32768,-32768,-32768,-32768,-32768,
1268   1025,  1232,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1269 -32768,  1350,-32768,   126,-32768,   512,-32768,-32768,-32768,  5460,
1270   1237,-32768,-32768,   505,-32768,  1242,   840,-32768,-32768,   903,
1271   5087,  1241,   908,   910,   156,   810,   810,-32768,-32768,-32768,
1272 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   948,   966,
1273    982,   861,   902,   929,   949,   428,   602,   659,   819,   738,
1274    853,   105,   411,   315,   472,  5488,   500,  5590,-32768,   444,
1275   1032,-32768,-32768,-32768,-32768,-32768,   556,-32768,  5939,   529,
1276    321,   321,-32768,-32768,   515,   640,-32768,-32768,   362,-32768,
1277    588,   450,-32768,-32768,-32768,-32768,-32768,  1240,-32768,   -17,
1278 -32768,  1004,-32768,    63,  1244,   126,-32768,   362,-32768,-32768,
1279 -32768,  1246,   400,-32768,-32768,  4922,-32768,  4922,-32768,-32768,
1280   1315,-32768,   883,-32768,  1175,   886,-32768,-32768,-32768,   810,
1281 -32768,  1080,   990,-32768,   993,  1002,-32768,-32768,  1030,-32768,
1282 -32768,   529,-32768,-32768,-32768,-32768,-32768,-32768,   386,   515,
1283    661,   810,   810,   321,-32768,   362,   362,-32768,   678,   898,
1284 -32768,  1247,  1027,   490,   450,   712,   193,-32768,-32768,   588,
1285 -32768,-32768,-32768,   588,    24,   810,   810,  1248,   588,-32768,
1286    126,  1251,   957,-32768,   454,-32768,-32768,  1252,-32768,  1254,
1287   1257,-32768,  1258,-32768,-32768,-32768,  1189,-32768,   546,  1249,
1288 -32768,-32768,-32768,-32768,  1262,  1003,  1012,-32768,-32768,-32768,
1289 -32768,   515,  1256,   444,-32768,-32768,   515,   638,   678,   794,
1290    810,   810,   362,-32768,  1095,-32768,-32768,   588,-32768,   490,
1291   1261,-32768,   712,-32768,   712,-32768,-32768,  1264,-32768,-32768,
1292   1095,  1269,-32768,-32768,-32768,-32768,  5488,   400,  1271,-32768,
1293 -32768,-32768,  1278,-32768,  1282,-32768,-32768,-32768,  1014,  5488,
1294 -32768,-32768,-32768,  1277,-32768,-32768,   678,-32768,-32768,-32768,
1295   1280,   193,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1296   5488,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1297   1306,  1308,-32768
1298 };
1299
1300 static const short yypgoto[] = {-32768,
1301 -32768,  1227,-32768,-32768,-32768,-32768,  -414,  -113,-32768,-32768,
1302    998,-32768,-32768,-32768,-32768,-32768,    65,-32768,-32768,   395,
1303 -32768,-32768,   103,   136,-32768,   208,-32768,-32768,-32768,  -987,
1304 -32768,  -893,-32768,-32768,  -634,  -750,-32768,-32768,-32768,  -538,
1305 -32768,  -536,-32768,  -477,-32768,   309,-32768,-32768,   641,  -648,
1306 -32768,   239,   305,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1307 -32768,-32768,-32768,-32768,  -873,   166,-32768,  -943,-32768,   281,
1308 -32768,-32768,  -624,   460,   989,-32768,-32768,  -588,-32768,-32768,
1309   -122,  -371,  -370,  -343,  -336,  -379,  -388,  -376,  -513,  -511,
1310 -32768,  -585,-32768,  -137,-32768,-32768,  1087,  1379,  -586,  -423,
1311     25,-32768,-32768,-32768,  -455,-32768,-32768,-32768,   729,  -270,
1312    874,-32768,  -885,  -746,-32768,-32768,   513,-32768,-32768,-32768,
1313   -418,-32768,-32768,-32768,  -417,-32768,-32768,-32768,-32768,-32768,
1314    549,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1315 -32768,   188,   766,-32768,   953,-32768,-32768,-32768,-32768,-32768,
1316 -32768,-32768,-32768,-32768,-32768,    28,  -763,  -524,-32768,   149,
1317 -32768,-32768,   669,   667,   508,     2,  -382,  1229,-32768,    20,
1318 -32768,-32768,  -571,-32768,-32768,-32768,   666,  -107,  1061,-32768,
1319   -448,  -152,  1347,-32768,  1127,-32768,   706,-32768,-32768,-32768,
1320 -32768,  -155,-32768,-32768,-32768,-32768,-32768,    14,  1071,  1022,
1321   1088,-32768,-32768,  1437,-32768,-32768,  -308,-32768,    82,   243,
1322   -613,  -810,-32768,   887,-32768,-32768,   985,  -177,   697,   543,
1323   -478,   113,-32768,   189,    33,-32768,-32768,    39,-32768,   162,
1324 -32768,-32768,   689,-32768,   387,  -587,-32768,-32768,-32768,-32768,
1325 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1326 -32768,-32768,-32768,-32768,-32768,  1443,-32768,-32768,  1527,  -246,
1327    548,     0,   442,-32768
1328 };
1329
1330
1331 #define YYLAST          6671
1332
1333
1334 static const short yytable[] = {   120,
1335    593,   118,   315,   590,   120,   287,   537,   561,   120,   214,
1336    214,   214,   526,   527,   536,   528,   529,   677,   484,   538,
1337    297,   727,   127,   198,    96,   633,   588,  1044,   695,   635,
1338    331,   332,   333,   334,   335,   336,   933,   464,  1108,  1025,
1339    499,   836,   207,  1103,   530,   531,   532,   533,   208,   563,
1340   1177,   602,   423,   408,   800,   534,   535,   729,   742,   462,
1341    739,  -597,  1063,   415,    92,  -597,   468,   940,   419,   262,
1342    420,   642,   944,   622,   683,   951,   948,   510,   128,     3,
1343    727,   955,   468,   434,   -46,   120,   810,   118,  1115,   655,
1344   1116,   203,   235,   235,   511,   246,   247,   248,   249,   250,
1345    251,   252,   253,   254,   255,   388,   389,  1117,   811,   401,
1346     96,   776,   398,   777,   904,   630,   729,   742,   120,   739,
1347    390,   391,  1057,   237,   237,  -639,  1176,   259,   399,  -639,
1348    905,  1182,   737,   450,   738,   120,   275,  1104,  1106,   914,
1349    280,     3,   282,   262,   286,   290,   120,  1089,  1090,   288,
1350     92,   214,  1158,  1159,   924,   311,   123,   124,   392,   393,
1351    304,   468,   305,  1123,   264,   330,  1109,   679,  1056,   214,
1352   1058,   209,   779,   440,   499,   685,   401,   836,  -272,  1049,
1353   1211,   562,  1076,   836,   207,   932,   688,   113,   934,   281,
1354    208,   737,   132,   738,   135,   214,   464,  1030,   500,   238,
1355    238,  1064,   299,   214,   369,   214,   503,   214,   504,   403,
1356    214,  1170,  1178,  1173,   384,   385,  1105,   687,   214,  1207,
1357   1157,   409,  1030,   214,   411,   214,  1032,   550,   207,   410,
1358    489,   785,   788,   203,   208,   776,   207,   777,   214,   214,
1359    207,  1031,   208,   207,   845,  1132,   208,  1134,   976,   208,
1360    776,  1032,   777,   428,   283,   284,   285,   735,   523,   524,
1361    525,   659,  -411,  -411,  -411,   977,   734,  -411,  -411,   736,
1362    559,   419,   207,   113,   730,   731,   313,   203,   208,   120,
1363    566,   437,   120,   120,   120,   203,   401,   265,   318,   203,
1364    448,   435,   203,   315,   829,  -273,   779,   257,   265,   265,
1365    235,   416,   732,   836,   120,   235,   461,   235,   319,   733,
1366    120,   779,   315,   209,  1136,   452,   735,  -272,  1173,   450,
1367    235,   203,  1010,   310,   320,   734,   456,     3,   736,   458,
1368   -273,   237,   463,   730,   731,  -643,   237,   466,   237,  -643,
1369    469,  -411,  -411,  -411,  1021,   321,  -411,  -411,   566,   684,
1370    214,   237,   323,   395,  1022,   785,   788,   209,   214,   315,
1371    214,   732,   401,   618,   324,   209,   485,   468,   733,   209,
1372    785,   788,   209,  1067,   341,   401,   262,    79,  1035,   612,
1373    619,   935,  1021,   727,   677,  1096,  -411,   675,  -411,  1005,
1374    342,   942,  1022,  1007,   845,  1097,  -411,   566,  1033,  1034,
1375    343,   209,    79,  1035,   214,  1054,  1036,   238,  1054,   344,
1376   1150,  1091,   238,  1092,   238,   566,   658,   345,   548,   729,
1377    742,  1127,   739,   346,   401,   214,   214,   238,   614,   347,
1378   1093,  -641,   214,     3,   120,  -641,   571,   207,   445,   394,
1379   -272,   121,   450,   208,   120,   505,   121,   558,  -631,   557,
1380    138,  -411,  -631,   315,  -411,   120,  -411,   120,   558,   469,
1381    400,   315,  -689,   401,   572,   120,   440,   485,   120,   577,
1382   -693,   580,   120,  1105,    79,    80,   137,   386,   387,    83,
1383     84,   400,   449,  1032,   401,   311,   203,     3,   596,   658,
1384    713,   628,   601,   401,   737,   629,   738,   645,   417,  -690,
1385    214,   401,   658,  1154,   394,    79,  1023,   235,   235,   120,
1386    120,   396,  1003,   701,  1169,  1115,   468,  1116,   992,   993,
1387   1002,   994,   995,   482,   395,  1004,   401,   121,   710,  1069,
1388    711,  1054,  1070,  1054,  1117,  -411,   675,  -411,   237,   237,
1389   1091,   846,  1092,    79,  1023,  -411,    79,  1098,   214,   214,
1390    996,   997,   998,   999,  1050,   397,   120,  1051,   647,  1093,
1391    121,  1000,  1001,   468,   214,   401,   209,   214,   214,   859,
1392   -462,   450,  1154,   262,   558,   405,  1082,   312,   365,   840,
1393    366,   207,  -411,   686,    79,    80,   137,   208,   322,    83,
1394     84,   404,   558,   862,   863,   864,   865,   866,   867,  -411,
1395    120,  -516,   367,   368,    79,    80,   137,   861,  -692,    83,
1396     84,  1031,   386,   387,   238,   238,   676,  1012,  1013,   735,
1397    311,  1032,  -632,   392,   393,   449,  -632,   469,   734,  -594,
1398    203,   736,   410,  -594,    79,  1035,   730,   731,    79,    80,
1399    137,   214,   214,    83,    84,   759,   700,  1014,  1015,   497,
1400    498,   386,   387,   214,   214,  -593,   214,   262,  1072,  -593,
1401   1094,  1016,  1202,  1160,   732,  1161,  1027,   315,   412,  1186,
1402    120,   733,   120,   413,   572,   945,   761,   315,   815,  -633,
1403    816,   214,  1162,  -633,  1021,  -617,   418,  1151,   120,  -617,
1404    590,   120,   120,   214,  1022,   452,  -411,  -411,  -411,   543,
1405    544,  -411,  -411,  1160,   759,  1161,  -691,  1065,   386,   387,
1406    209,  -272,   843,   591,   424,   196,   226,   226,   968,  -592,
1407    425,   121,  1162,  -592,   442,   444,   446,  -695,    99,   840,
1408     79,    80,   137,    99,   401,    83,    84,  1115,   908,  1116,
1409    429,   244,   245,  -411,  -411,  -411,   121,   401,  -411,  -411,
1410    417,   966,   312,   401,   875,   401,  1117,   485,  -636,   970,
1411    670,   671,  -636,  1218,   989,   990,   991,   432,  1033,  1034,
1412   1083,   325,    79,  1035,   388,   389,  1036,   291,   430,  1095,
1413    436,  -695,   153,   154,   155,   156,   157,   158,   455,   390,
1414    391,   214,   894,   895,   457,   693,  -272,  1229,   450,  1120,
1415    159,   160,   161,   381,   382,   383,     3,   896,   897,   918,
1416    919,   401,   709,   214,    99,   120,  1137,  1021,   214,  -611,
1417   1203,  -616,   214,  -611,   162,  -616,   459,  1022,   460,   267,
1418    268,   269,   270,   271,   272,   273,   274,   465,   276,  -634,
1419   -615,   279,   120,  -634,  -615,    79,  1023,    99,  1073,   174,
1420    120,  -614,   950,  1164,   475,  -614,   295,   196,   300,   301,
1421    303,  -613,   843,   483,   309,  -613,  -612,   171,   386,   387,
1422   -612,  -609,   481,  -637,  1184,  -609,   121,  -637,  -695,  -695,
1423    295,  -626,   486,  -695,  -695,  -626,   583,   337,  -610,   388,
1424    389,   487,  -610,   488,   381,   382,   383,   121,  -606,   121,
1425    262,   196,  -606,  1051,   390,   391,   491,   312,   492,   196,
1426    605,   450,  1028,   196,   610,   262,   196,  -607,  1163,     3,
1427   1047,  -607,  -625,  -598,   226,   214,  -625,  -598,  -601,   226,
1428    628,   226,  -601,   493,  1075,   381,   382,   383,    79,   292,
1429    293,   494,   174,   495,   226,   196,   871,   295,   872,  -628,
1430   -411,   631,   632,  -628,   892,   893,  1053,    79,    80,   137,
1431    384,   385,    83,    84,   958,   501,  1145,  -411,  -621,  -629,
1432    873,   874,  -621,  -629,  1185,   120,   120,  1051,    79,  1023,
1433    384,   385,   174,  1066,   929,   431,  -622,   929,   898,   899,
1434   -622,  -272,   556,   450,    79,    80,   137,   553,   121,    83,
1435     84,     3,  -623,   887,   888,   889,  -623,   759,    99,   438,
1436   -619,   441,   443,  -602,  -619,   890,   891,  -602,  1087,   295,
1437   1028,  1028,  -600,  -604,   451,   287,  -600,  -604,  1101,   555,
1438   1047,  1047,  -605,    99,  -603,   573,  -605,   552,  -603,   309,
1439    936,   671,   312,  1086,  1060,  1061,   560,  1101,   574,   315,
1440    401,  1148,   120,   575,  1130,  1111,  1112,  1113,  1166,  1167,
1441    214,  -272,  1224,   277,   278,   120,   295,   571,   578,   120,
1442     79,    80,   137,   584,   589,    83,    84,   295,  1125,   598,
1443    199,   232,   232,   315,   597,  1139,   600,   607,   606,   611,
1444   1028,   120,   120,  1028,   401,  1101,  1101,   200,   233,   233,
1445    615,   616,   620,   624,  1047,   621,  1047,   626,   649,  1047,
1446    196,   661,   583,  1047,   583,   120,   120,   929,  1047,   929,
1447    929,   929,   627,   822,   120,   644,   648,   664,   314,   651,
1448    830,   226,   226,   610,   121,   666,   672,   667,   120,   669,
1449    689,   314,   314,   314,   314,   314,   314,   680,   339,   340,
1450    279,   674,    79,    80,   137,   691,  1190,    83,    84,  1028,
1451    120,   120,  1101,    99,   694,   617,   703,  1047,   794,   704,
1452    576,   798,   579,   801,   585,   809,   762,   586,   847,   808,
1453    451,   853,   592,   825,    99,  -170,    99,   120,   370,  1130,
1454    291,   599,   827,   849,   309,   153,   154,   155,   156,   157,
1455    158,   608,   851,   852,   857,   858,   870,   901,   903,   902,
1456    906,  1047,   900,   159,   160,   161,   438,   909,   915,   916,
1457    917,   920,   199,   371,   372,   373,   374,   375,   376,   377,
1458    378,   379,   380,   923,   937,   938,   939,   162,   947,   200,
1459    949,   963,   953,   929,   956,   929,  1228,   967,   969,   971,
1460   1008,  1009,  1011,   174,   196,   822,  1068,   943,  1062,  1071,
1461    822,  1074,  1107,  1126,   822,  1138,   199,  1119,  1165,  1181,
1462   1143,  1163,  1188,  1197,   199,  1191,  1192,  1194,   199,  1196,
1463    171,   199,  1201,   200,   121,    99,  1199,  1209,  1220,   232,
1464   1213,   200,   965,  1215,   232,   200,   232,  1222,   200,   660,
1465   1212,  1223,   438,  1225,  1226,  1232,   233,  1233,   467,   232,
1466    199,   233,   256,   233,  1227,  1038,  1214,  1174,   592,  1081,
1467   1149,   813,   681,   682,  1088,  1204,   233,   200,  1122,   309,
1468    974,   594,   946,   814,  1135,   922,  1219,   804,   291,   663,
1469    815,   806,   816,   153,   154,   155,   156,   157,   158,   438,
1470    959,    79,   292,   293,   289,   174,   453,   839,   242,   707,
1471    708,   159,   160,   161,   295,   427,   295,   822,   496,   314,
1472    314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
1473    314,   314,   314,   314,   314,   162,  1198,   625,   194,   549,
1474    796,   962,   848,   855,  1080,   961,     0,     0,   803,     0,
1475    805,     0,     0,     0,   451,     0,     0,     0,     0,     0,
1476      0,   823,   824,     0,     0,     0,   828,  1077,  1078,   314,
1477    608,   841,   762,   763,   764,   765,     0,   490,   171,   766,
1478    767,   768,   769,   770,   771,   772,     0,     0,   314,     0,
1479      0,     0,     0,   295,     0,     0,   201,   234,   234,     0,
1480      0,   508,   211,   240,   240,     0,   512,   513,   514,   515,
1481    516,   517,   518,   519,   520,   521,   522,     0,     0,     0,
1482      0,     0,     0,     0,   314,   199,     0,     0,     0,     0,
1483      0,     0,     0,     0,     0,   314,     0,   542,     0,     0,
1484      0,     0,   200,     0,   121,     0,   232,   232,     0,    79,
1485    172,   173,   822,   174,    83,    84,   294,   121,   876,     0,
1486      0,  1142,     0,   233,   233,     0,     0,     0,     0,     0,
1487      0,     0,     0,   926,     0,     0,     0,   314,   326,   314,
1488    328,   637,   639,  1155,  1156,     0,   213,   241,   241,     0,
1489      0,     0,     0,   877,   878,   879,   880,   881,   882,   883,
1490    884,   885,   886,     0,     0,     0,     0,  1179,  1180,     0,
1491      0,     0,     0,     0,     0,     0,   121,     0,     0,     0,
1492    957,   841,     0,   592,   194,     0,     0,     0,     0,   314,
1493    121,     0,   194,     0,     0,     0,   194,   314,   201,   194,
1494      0,     0,     0,     0,   211,     0,     0,   414,     0,     0,
1495      0,     0,  1205,  1206,     0,     0,     0,     0,     0,     0,
1496      0,     0,     0,     0,     0,     0,     0,     0,   194,   199,
1497      0,     0,     0,     0,     0,     0,     0,     0,     0,   121,
1498      0,     0,   201,     0,   728,     0,   200,     0,   211,     0,
1499    201,     0,     0,     0,   201,     0,   211,   201,     0,     0,
1500    211,     0,     0,   211,     0,   234,     0,  1052,     0,     0,
1501    234,   240,   234,     0,  1059,     0,   240,     0,   240,   447,
1502      0,     0,     0,     0,     0,   234,   201,     0,   213,     0,
1503      0,   240,   211,     0,     0,     0,     0,     0,     0,     0,
1504      0,     0,     0,   728,     0,     0,   476,   477,   478,   479,
1505      0,     0,     0,   697,   314,   314,   314,   314,   314,   314,
1506    868,   869,     0,     0,   706,     0,   447,     0,     0,     0,
1507      0,     0,   213,     0,     0,     0,     0,   447,   696,  -687,
1508    213,     0,     0,   291,   213,     0,     0,   213,   153,   154,
1509    155,   156,   157,   158,   509,   241,     0,     0,     0,     0,
1510    241,     0,   241,     0,     0,     0,   159,   160,   161,     0,
1511      0,     0,     0,     0,     0,   241,   213,     0,   817,     0,
1512      0,     0,     0,     0,     0,     0,     0,     0,  1124,     0,
1513    162,    99,   697,   194,     0,     0,     0,     0,     0,     0,
1514      0,   554,     0,   314,   841,     0,     0,  1141,     0,     0,
1515      0,     0,   438,   314,     0,  1146,  1147,   814,     0,     0,
1516      0,     0,   291,     0,   815,     0,   816,   153,   154,   155,
1517    156,   157,   158,   171,     0,     0,     0,     0,     0,     0,
1518      0,     0,     0,     0,     0,   159,   160,   161,     0,     0,
1519      0,   201,     0,     0,   314,     0,     0,   211,  1183,     0,
1520      0,     0,     0,    99,     0,  1187,  1189,     0,     0,   162,
1521      0,     0,   234,   234,     0,     0,     0,   841,   240,   240,
1522      0,     0,     0,     0,     0,   314,   314,   314,   314,   314,
1523    314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
1524    314,   314,  1208,   314,    79,   292,   293,     0,   174,     0,
1525    817,     0,   171,     0,     0,   817,     0,     0,     0,   817,
1526      0,     0,  1216,  1217,     0,     0,    99,     0,   634,  1221,
1527      0,     0,     0,     0,     0,     0,     0,   194,     0,     0,
1528      0,   213,     0,     0,     0,   697,     0,     0,     0,     0,
1529      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1530      0,     0,   241,   241,     0,     0,   972,   508,     0,   314,
1531      0,     0,   978,   979,   980,   981,   982,   983,   984,   985,
1532    986,   987,   988,    79,   172,   173,     0,   174,    83,    84,
1533      0,     0,     0,     0,     0,   201,     0,     0,     0,     0,
1534      0,   211,     0,   479,     0,     0,   728,     0,     0,     0,
1535      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1536      0,     0,   817,     0,   447,     0,   447,     0,     0,     0,
1537      0,     0,   714,     0,     0,     0,   760,     0,     0,     0,
1538      0,     0,     0,     0,     0,     0,     0,   216,     0,     0,
1539      0,     0,   140,   141,   142,     0,     0,   217,   145,   146,
1540    147,   148,   149,   150,   218,  -489,  -489,     0,     0,     0,
1541    219,  -489,     0,     0,     0,   153,   154,   155,   156,   157,
1542    158,     0,     0,     0,     0,   213,     0,     0,  -272,  -272,
1543      0,     0,   854,   159,   160,   161,     0,     0,     0,     0,
1544      0,     0,     0,   860,     0,    22,    23,    24,    25,     0,
1545     26,     0,     0,     0,     0,    31,    32,   162,     0,    35,
1546     36,     0,    38,    39,    40,    41,     0,     0,     0,     0,
1547      0,     0,     0,     0,     0,    -1,     1,    53,    54,     0,
1548      0,  -489,   164,   165,   166,   167,   168,   169,     0,     0,
1549      0,     0,     0,     2,     0,     0,   170,   817,     0,  -272,
1550    171,     0,    78,     0,     0,     0,     0,     0,     0,     3,
1551      0,     0,    82,     0,     0,     0,     0,     0,     0,     4,
1552      0,     5,     0,     0,     0,   314,     0,     0,     0,     0,
1553      0,     0,     0,     0,     0,     0,     0,     0,   314,     0,
1554      0,     0,     0,  -411,  -411,  -411,     0,     6,     0,     0,
1555      0,     0,     7,     8,     9,     0,     0,     0,     0,   314,
1556      0,     0,     0,     0,     0,     0,     0,    10,    11,    12,
1557      0,    79,   172,   173,     0,   174,   220,   221,     0,     0,
1558      0,     0,     0,     0,     0,     0,    13,    14,    15,     0,
1559     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1560    975,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1561     35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1562     45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1563     55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1564     65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1565     75,    76,    77,    78,     0,     0,     0,     0,    -2,     1,
1566     79,    80,    81,    82,     0,    83,    84,    85,     0,     0,
1567      0,     0,     0,     0,     0,     0,     2,     0,     0,     0,
1568      0,     0,  -272,     0,     0,     0,     0,     0,   479,     0,
1569      0,     0,     3,     0,     0,     0,     0,     0,     0,     0,
1570      0,     0,     4,     0,     5,     0,     0,     0,     0,     0,
1571      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1572      0,     0,     0,     0,     0,     0,  -411,  -411,  -411,     0,
1573      6,     0,     0,     0,  1079,     7,     8,     9,     0,     0,
1574      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1575     10,    11,    12,     0,     0,     0,     0,     0,     0,     0,
1576      0,     0,     0,     0,     0,     0,     0,     0,     0,    13,
1577     14,    15,     0,    16,    17,    18,    19,    20,    21,    22,
1578     23,    24,    25,     0,    26,    27,    28,    29,    30,    31,
1579     32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1580     42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1581     52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1582     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1583     72,    73,    74,    75,    76,    77,    78,     0,     0,     0,
1584      0,     0,     0,    79,    80,    81,    82,   139,    83,    84,
1585     85,     0,   140,   141,   142,     0,   143,   144,   145,   146,
1586    147,   148,   149,   150,   151,  -544,   546,     0,     0,     0,
1587    152,     0,     0,     0,     0,   153,   154,   155,   156,   157,
1588    158,     0,     0,     0,     0,     0,     0,     0,  -272,  -272,
1589      4,     0,     5,   159,   160,   161,     0,     0,     0,     0,
1590      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1591      0,     0,     0,     0,  -411,  -411,  -411,   162,     6,     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,   164,   165,   166,   167,   168,   169,     0,     0,
1595      0,     0,     0,     0,     0,     0,   170,    13,    14,    15,
1596    171,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1597     25,     0,    26,    27,    28,    29,    30,    31,    32,    33,
1598     34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1599     44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1600     54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1601     64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1602     74,    75,    76,    77,    78,     0,     0,     0,     0,     0,
1603      0,    79,   172,   547,    82,   174,   175,    84,    85,   139,
1604      0,     0,     0,     0,   140,   141,   142,     0,   143,   144,
1605    145,   146,   147,   148,   149,   150,   151,  -170,     0,     0,
1606      0,     0,   152,     0,     0,     0,     0,   153,   154,   155,
1607    156,   157,   158,     0,     0,     0,     0,     0,     0,     0,
1608   -272,  -272,  -272,     0,     0,   159,   160,   161,     0,     0,
1609      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1610      0,     0,     0,     0,     0,     0,  -272,  -272,  -272,   162,
1611      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1612      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1613      0,     0,     0,     0,   164,   165,   166,   167,   168,   169,
1614      0,     0,     0,     0,     0,     0,     0,     0,   170,  -272,
1615   -272,  -272,   171,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1616   -272,  -272,  -272,     0,  -272,  -272,  -272,  -272,  -272,  -272,
1617   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1618   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1619   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1620   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1621   -272,  -272,  -272,  -272,  -272,  -272,  -272,     0,     0,     0,
1622      0,     0,     0,    79,   172,   173,  -272,   174,   175,    84,
1623   -272,   216,     0,     0,     0,     0,   140,   141,   142,     0,
1624      0,   217,   145,   146,   147,   148,   149,   150,   218,  -170,
1625   -548,     0,     0,     0,   219,     0,     0,     0,     0,   153,
1626    154,   155,   156,   157,   158,     0,     0,     0,     0,     0,
1627      0,     0,  -272,  -272,  -272,     0,     0,   159,   160,   161,
1628      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1629      0,     0,     0,     0,     0,     0,     0,     0,  -272,  -272,
1630   -272,   162,     0,     0,     0,     0,     0,     0,     0,     0,
1631      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1632      0,     0,     0,     0,     0,     0,   164,   165,   166,   167,
1633    168,   169,     0,     0,     0,     0,     0,     0,     0,     0,
1634    170,  -272,  -272,  -272,   171,  -272,  -272,  -272,  -272,  -272,
1635   -272,  -272,  -272,  -272,  -272,     0,  -272,  -272,  -272,  -272,
1636   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1637   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1638   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1639   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,
1640   -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,  -272,     0,
1641      0,     0,     0,     0,     0,    79,   172,   173,  -272,   174,
1642    220,   221,  -272,  -168,     0,     0,     0,     0,  -168,  -168,
1643   -168,     0,  -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,
1644   -168,  -168,  -168,  -168,  -693,  -168,  -168,     0,  -168,     0,
1645   -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,
1646   -168,  -168,  -168,  -168,  -168,  -168,     0,  -168,     0,  -168,
1647   -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,
1648   -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,  -168,
1649      0,     0,     0,  -168,     0,     0,     0,     0,     0,     0,
1650      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1651      0,     0,     0,     0,     0,     0,     0,     0,  -168,  -168,
1652   -168,  -168,  -168,  -168,     0,     0,     0,     0,   139,     0,
1653      0,     0,  -168,   140,   141,   142,  -168,   143,   144,   145,
1654    146,   147,   148,   149,   150,   151,  -544,     0,     0,     0,
1655      0,   152,     0,     0,     0,     0,   153,   154,   155,   156,
1656    157,   158,     0,     0,     0,     0,     0,     0,     0,  -272,
1657   -272,     0,     0,   139,   159,   160,   161,     0,   140,   141,
1658    142,     0,   143,   144,   145,   146,   147,   148,   149,   150,
1659    151,  -544,     0,     0,     0,     0,   152,     0,   162,     0,
1660      0,   153,   154,   155,   156,   157,   158,  -168,  -168,  -168,
1661      0,  -168,  -168,  -168,  -272,  -272,     0,     0,     0,   159,
1662    160,   161,   163,   164,   165,   166,   167,   168,   169,     0,
1663      0,     0,     0,     0,     0,     0,     0,   170,     0,     0,
1664      0,   171,     0,   162,     0,     0,     0,     0,     0,     0,
1665      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1666      0,     0,     0,     0,     0,     0,     0,  -517,   164,   165,
1667    166,   167,   168,   169,     0,     0,     0,     0,   216,     0,
1668      0,     0,   170,   140,   141,   142,   171,     0,   217,   145,
1669    146,   147,   148,   149,   150,   218,  -544,  -548,     0,     0,
1670      0,   219,     0,     0,     0,     0,   153,   154,   155,   156,
1671    157,   158,    79,   172,   173,     0,   174,   175,    84,  -272,
1672   -272,     0,     0,   139,   159,   160,   161,     0,   140,   141,
1673    142,     0,   143,   144,   145,   146,   147,   148,   149,   150,
1674    151,  -544,   640,     0,     0,     0,   152,     0,   162,     0,
1675      0,   153,   154,   155,   156,   157,   158,    79,   172,   173,
1676      0,   174,   175,    84,  -272,  -272,     0,     0,     0,   159,
1677    160,   161,  -485,   164,   165,   166,   167,   168,   169,     0,
1678      0,     0,     0,     0,     0,     0,     0,   170,     0,     0,
1679      0,   171,     0,   162,     0,     0,  -254,     0,     0,     0,
1680      0,     0,   291,     0,     0,     0,     0,   153,   154,   155,
1681    156,   157,   158,     0,     0,     0,     0,     0,   164,   165,
1682    166,   167,   168,   169,     0,   159,   160,   161,   216,     0,
1683      0,     0,   170,   140,   141,   142,   171,     0,   217,   145,
1684    146,   147,   148,   149,   150,   218,  -544,  -548,     0,   162,
1685      0,   219,     0,     0,     0,     0,   153,   154,   155,   156,
1686    157,   158,    79,   172,   173,     0,   174,   220,   221,  -272,
1687   -272,     0,     0,   139,   159,   160,   161,     0,   140,   141,
1688    142,     0,   143,   144,   145,   146,   147,   148,   149,   150,
1689    151,  -544,   171,     0,     0,     0,   152,     0,   162,     0,
1690      0,   153,   154,   155,   156,   157,   158,    79,   172,   173,
1691      0,   174,   175,    84,  -272,  -272,     0,     0,     0,   159,
1692    160,   161,     0,   164,   165,   166,   167,   168,   169,     0,
1693      0,     0,     0,     0,     0,     0,     0,   170,     0,     0,
1694      0,   171,     0,   162,     0,     0,     0,     0,     0,     0,
1695      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1696      0,     0,     0,    79,   292,   293,     0,   174,   164,   165,
1697    166,   167,   168,   169,     0,     0,     0,     0,     0,     0,
1698      0,     0,   170,   140,   141,   142,   171,   143,   144,   145,
1699    146,   147,   148,   149,   150,   218,  -544,   564,     0,     0,
1700      0,   349,     0,     0,     0,     0,   153,   154,   155,   156,
1701    157,   158,    79,   172,   173,     0,   174,   220,   221,  -272,
1702   -272,     4,     0,     5,   159,   160,   161,     0,     0,     0,
1703      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1704      0,     0,     0,     0,     0,     0,     0,     0,   162,     6,
1705      0,     0,     0,     0,     0,     0,     0,    79,   172,   173,
1706      0,   174,   175,    84,     0,     0,     0,     0,     0,     0,
1707      0,     0,     0,   164,   165,   166,   167,   168,   169,     0,
1708      0,     0,     0,     0,     0,     0,     0,   565,    13,    14,
1709     15,   171,    16,    17,    18,    19,    20,    21,    22,    23,
1710     24,    25,     0,    26,    27,    28,    29,    30,    31,    32,
1711     33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1712     43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1713     53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1714     63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1715     73,    74,    75,    76,    77,    78,     0,     0,     0,     0,
1716      0,     0,    79,   172,   547,    82,   174,   175,    84,    85,
1717    140,   141,   142,     0,   143,   144,   145,   146,   147,   148,
1718    149,   150,   218,  -544,   641,     0,     0,     0,   349,     0,
1719      0,     0,     0,   153,   154,   155,   156,   157,   158,     0,
1720      0,     0,     0,     0,     0,     0,  -272,  -272,     4,     0,
1721      5,   159,   160,   161,     0,     0,     0,     0,     0,     0,
1722      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1723      0,     0,     0,     0,     0,   162,     6,     0,     0,     0,
1724      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1725      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1726    164,   165,   166,   167,   168,   169,     0,     0,     0,     0,
1727      0,     0,     0,     0,   170,    13,    14,    15,   171,    16,
1728     17,    18,    19,    20,    21,    22,    23,    24,    25,     0,
1729     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
1730     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1731     46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
1732     56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1733     66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1734     76,    77,    78,     0,     0,     0,     0,     0,     0,    79,
1735    172,   547,    82,   174,   175,    84,    85,   140,   141,   142,
1736      0,   143,   144,   145,   146,   147,   148,   149,   150,   218,
1737   -544,   653,     0,     0,     0,   349,     0,     0,     0,     0,
1738    153,   154,   155,   156,   157,   158,     0,     0,     0,     0,
1739      0,     0,     0,  -272,  -272,     4,     0,     5,   159,   160,
1740    161,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1741      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1742      0,     0,   162,     6,     0,     0,     0,     0,     0,     0,
1743      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1744      0,     0,     0,     0,     0,     0,     0,   164,   165,   166,
1745    167,   168,   169,     0,     0,     0,     0,     0,     0,     0,
1746      0,   654,    13,    14,    15,   171,    16,    17,    18,    19,
1747     20,    21,    22,    23,    24,    25,     0,    26,    27,    28,
1748     29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1749     39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1750     49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1751     59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1752     69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1753      0,     0,     0,     0,     0,     0,    79,   172,   547,    82,
1754    174,   175,    84,    85,   140,   141,   142,     0,   143,   144,
1755    145,   146,   147,   148,   149,   150,   218,  -544,   652,     0,
1756      0,     0,   349,     0,     0,     0,     0,   153,   154,   155,
1757    156,   157,   158,     0,     0,     0,     0,     0,     0,     0,
1758      0,     0,     0,     0,     0,   159,   160,   161,   140,   141,
1759    142,     0,   143,   144,   145,   146,   147,   148,   149,   150,
1760    218,  -544,   656,     0,     0,     0,   349,     0,     0,   162,
1761      0,   153,   154,   155,   156,   157,   158,     0,     0,     0,
1762      0,     0,     0,     0,     0,     0,     0,     0,     0,   159,
1763    160,   161,     0,     0,   164,   165,   166,   167,   168,   169,
1764      0,     0,     0,     0,     0,     0,     0,     0,   170,     0,
1765      0,     0,   171,   162,     0,     0,     0,     0,     0,     0,
1766      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1767      0,     0,     0,     0,     0,     0,     0,     0,   164,   165,
1768    166,   167,   168,   169,     0,     0,     0,     0,     0,     0,
1769      0,     0,   657,   140,   141,   142,   171,   143,   144,   145,
1770    146,   147,   148,   149,   150,   218,  -544,   712,     0,     0,
1771      0,   349,     0,     0,     0,     0,   153,   154,   155,   156,
1772    157,   158,     0,    79,   172,   173,     0,   174,   175,    84,
1773      0,     0,     0,     0,   159,   160,   161,   140,   141,   142,
1774      0,   143,   144,   145,   146,   147,   148,   149,   150,   218,
1775   -544,   790,     0,     0,     0,   349,     0,     0,   162,     0,
1776    153,   154,   155,   156,   157,   158,     0,    79,   172,   173,
1777      0,   174,   175,    84,     0,     0,     0,     0,   159,   160,
1778    161,     0,     0,   164,   165,   166,   167,   168,   169,     0,
1779      0,     0,     0,     0,     0,     0,     0,   170,     0,     0,
1780      0,   171,   162,     0,     0,     0,     0,     0,     0,     0,
1781      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1782      0,     0,     0,     0,     0,     0,     0,   164,   165,   166,
1783    167,   168,   169,     0,     0,     0,     0,     0,     0,     0,
1784      0,   170,   140,   141,   142,   171,   143,   144,   145,   146,
1785    147,   148,   149,   150,   218,  -544,   791,     0,     0,     0,
1786    349,     0,     0,     0,     0,   153,   154,   155,   156,   157,
1787    158,     0,    79,   172,   173,     0,   174,   175,    84,     0,
1788      0,     0,     0,   159,   160,   161,   140,   141,   142,     0,
1789    143,   144,   145,   146,   147,   148,   149,   150,   218,  -544,
1790    793,     0,     0,     0,   349,     0,     0,   162,     0,   153,
1791    154,   155,   156,   157,   158,     0,    79,   172,   173,     0,
1792    174,   175,    84,     0,     0,     0,     0,   159,   160,   161,
1793      0,     0,   164,   165,   166,   167,   168,   169,     0,     0,
1794      0,     0,     0,     0,     0,     0,   792,     0,     0,     0,
1795    171,   162,     0,     0,  -170,     0,     0,     0,     0,   349,
1796      0,     0,     0,     0,   153,   154,   155,   156,   157,   158,
1797      0,     0,     0,     0,     0,     0,   164,   165,   166,   167,
1798    168,   169,   159,   160,   161,     0,     0,     0,     0,     0,
1799    170,   140,   141,   142,   171,   143,   144,   145,   146,   147,
1800    148,   149,   150,   218,  -544,   925,   162,     0,     0,   349,
1801      0,     0,     0,     0,   153,   154,   155,   156,   157,   158,
1802      0,    79,   172,   173,     0,   174,   175,    84,     0,     0,
1803      0,     0,   159,   160,   161,   140,   141,   142,     0,   143,
1804    144,   145,   146,   147,   148,   149,   150,   218,  -544,   171,
1805      0,     0,     0,   349,     0,     0,   162,     0,   153,   154,
1806    155,   156,   157,   158,     0,    79,   172,   173,     0,   174,
1807    175,    84,     0,     0,     0,     0,   159,   160,   161,     0,
1808      0,   164,   165,   166,   167,   168,   169,     0,     0,     0,
1809      0,     0,     0,     0,     0,   170,     0,     0,     0,   171,
1810    162,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1811      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1812     79,   292,   293,     0,   174,   164,   165,   166,   167,   168,
1813    169,  -135,     0,     0,     0,     0,  -135,     0,     0,   170,
1814      0,     0,     0,   171,     0,     0,     0,     0,     0,     0,
1815      0,     0,     0,     0,     0,     0,     4,     0,     5,     0,
1816      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1817     79,   172,   173,     0,   174,   175,    84,     0,     0,     0,
1818      0,     0,     0,     0,     6,     0,     0,     0,     0,     0,
1819      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1820      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1821      0,     0,     0,     0,    79,   172,   173,     0,   174,   175,
1822     84,     0,     0,    13,    14,    15,     0,    16,    17,    18,
1823     19,    20,    21,    22,    23,    24,    25,     0,    26,    27,
1824     28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
1825     38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1826     48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1827     58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1828     68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1829     78,  -547,     0,     0,     0,     0,     0,     0,     0,   134,
1830     82,     0,     0,     0,    85,     0,     0,     0,     0,     0,
1831      0,     0,     0,     0,     0,     4,     0,     0,     0,     0,
1832      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1833      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1834      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1835      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1836      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1837      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1838      0,     0,    13,    14,    15,     0,    16,    17,    18,    19,
1839     20,    21,    22,    23,    24,    25,     0,    26,    27,    28,
1840     29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1841     39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1842     49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1843     59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1844     69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1845      0,     0,     0,     0,     0,   617,     0,     0,   134,    82,
1846    291,     0,     0,    85,     0,   153,   154,   155,   156,   157,
1847    158,     0,     0,     0,     0,     0,   696,     0,     0,     0,
1848      0,   291,     0,   159,   160,   161,   153,   154,   155,   156,
1849    157,   158,     0,     0,     0,     0,     0,     0,     0,     0,
1850      0,     0,     0,     0,   159,   160,   161,   162,     0,     0,
1851      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1852      0,     0,     0,     0,     0,     0,     0,     0,   162,     0,
1853      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1854      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1855    171,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1856   -272,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1857      3,   171,     0,     0,     0,     0,     0,     0,     0,     0,
1858      4,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1859      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1860      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1861      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1862      0,    79,   292,   293,     0,   174,     0,     0,     0,     0,
1863      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1864      0,     0,    79,   292,   293,     0,   174,    13,    14,    15,
1865      0,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1866     25,     0,    26,    27,    28,    29,    30,    31,    32,    33,
1867     34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1868     44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1869     54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1870     64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1871     74,    75,    76,    77,    78,     0,     0,     0,     0,     0,
1872      0,    79,    80,    81,    82,     0,    83,    84,    85,   291,
1873    506,     0,     0,     0,   153,   154,   155,   156,   157,   158,
1874    291,     0,     0,   587,     0,   153,   154,   155,   156,   157,
1875    158,     0,   159,   160,   161,     0,     0,     0,     0,     0,
1876      0,     0,     0,   159,   160,   161,     0,     0,     0,     0,
1877      0,     0,     0,     0,   291,     0,   162,   678,     0,   153,
1878    154,   155,   156,   157,   158,   291,   973,   162,     0,     0,
1879    153,   154,   155,   156,   157,   158,     0,   159,   160,   161,
1880      0,     0,     0,     0,     0,     0,     0,     0,   159,   160,
1881    161,     0,     0,     0,     0,     0,     0,     0,     0,   171,
1882      0,   162,     0,     0,     0,     0,     0,     0,     0,     0,
1883    171,     0,   162,   291,  -254,     0,     0,     0,   153,   154,
1884    155,   156,   157,   158,     0,     0,     0,     0,     0,     0,
1885      0,     0,     0,     0,     0,     0,   159,   160,   161,     0,
1886      0,   291,     0,     0,   171,     0,   153,   154,   155,   156,
1887    157,   158,     0,     0,     0,   171,     0,     0,     0,     0,
1888    162,     0,     0,     0,   159,   160,   161,     0,     0,     0,
1889     79,   292,   293,     0,   174,     0,     0,     0,     0,     0,
1890      0,    79,   292,   293,     0,   174,     0,   338,   162,     0,
1891      0,     0,   153,   154,   155,   156,   157,   158,     0,   636,
1892      0,     0,     0,   171,   153,   154,   155,   156,   157,   158,
1893    159,   160,   161,     0,     0,    79,   292,   293,     0,   174,
1894      0,     0,   159,   160,   161,     0,    79,   292,   293,     0,
1895    174,   171,   638,     0,   162,     0,     0,   153,   154,   155,
1896    156,   157,   158,   715,     0,     0,   162,     0,   716,   717,
1897    718,   719,   720,   721,     0,   159,   160,   161,     0,     0,
1898      0,     0,     0,     0,     0,     0,   159,   722,   723,     0,
1899      0,     0,     0,     0,    79,   292,   293,   171,   174,   162,
1900      0,     0,     0,     0,     0,     0,     0,     0,     0,   171,
1901    724,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1902      0,     0,    79,   292,   293,     0,   174,     0,     0,     0,
1903      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1904      0,     0,   171,     0,     0,     0,     0,     0,     0,     0,
1905      0,     0,     0,   171,     0,     0,     0,     0,     0,     0,
1906   -198,  -198,     4,     0,     0,     0,     0,     0,    79,   292,
1907    293,     0,   174,     0,     0,     0,     0,     0,     0,     0,
1908     79,   292,   293,     0,   174,     0,     0,     0,     0,     0,
1909      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1910      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1911      0,     0,     0,    79,   292,   293,     0,   174,     0,     0,
1912      0,     0,     0,     0,    79,   725,   726,     0,   174,    13,
1913     14,    15,     0,    16,    17,    18,    19,    20,    21,    22,
1914     23,    24,    25,     0,    26,    27,    28,    29,    30,    31,
1915     32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1916     42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1917     52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1918     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1919     72,    73,    74,    75,    76,    77,    78,     4,     0,     5,
1920      0,     0,     0,     0,     0,   134,    82,     0,     0,     0,
1921     85,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1922      0,  -411,  -411,  -411,     0,     6,     0,     0,     0,     0,
1923      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1924      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1925      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1926      0,     0,     0,     0,    13,    14,    15,     0,    16,    17,
1927     18,    19,    20,    21,    22,    23,    24,    25,     0,    26,
1928     27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1929     37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1930     47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1931     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1932     67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1933     77,    78,     4,     0,     5,     0,     0,     0,     0,     0,
1934    134,    82,     0,     0,     0,    85,     0,     0,     0,     0,
1935      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1936      6,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1937      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1938      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1939      0,     0,     0,     0,     0,     0,     0,     0,     0,    13,
1940     14,    15,     0,    16,    17,    18,    19,    20,    21,    22,
1941     23,    24,    25,     0,    26,    27,    28,    29,    30,    31,
1942     32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1943     42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1944     52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1945     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1946     72,    73,    74,    75,    76,    77,    78,     4,     0,     0,
1947      0,     0,     0,    79,  1084,   134,    82,     0,     0,     0,
1948     85,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1949      0,  -411,  -411,  -411,     0,     0,     0,     0,     0,     0,
1950      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1951      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1952      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1953      0,     0,     0,     0,    13,    14,    15,     0,    16,    17,
1954     18,    19,    20,    21,    22,    23,    24,    25,     0,    26,
1955     27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1956     37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1957     47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1958     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1959     67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1960     77,    78,     4,     0,     0,     0,     0,     0,     0,     0,
1961    134,    82,     0,     0,     0,    85,     0,     0,     0,     0,
1962      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1963      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1964      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1965     10,    11,    12,     0,     0,     0,     0,     0,     0,     0,
1966      0,     0,     0,     0,     0,     0,     0,     0,     0,    13,
1967     14,    15,     0,    16,    17,    18,    19,    20,    21,    22,
1968     23,    24,    25,     0,    26,    27,    28,    29,    30,    31,
1969     32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1970     42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1971     52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1972     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1973     72,    73,    74,    75,    76,    77,    78,     4,     0,     5,
1974      0,     0,     0,     0,     0,   134,    82,     0,     0,     0,
1975     85,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1976      0,     0,     0,     0,     0,     6,     0,     0,     0,     0,
1977      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1978      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1979      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1980      0,     0,     0,     0,    13,    14,    15,     0,    16,    17,
1981     18,    19,    20,    21,    22,    23,    24,    25,     0,    26,
1982     27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1983     37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1984     47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1985     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1986     67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1987     77,    78,     4,     0,     0,     0,     0,     0,     0,     0,
1988    134,    82,     0,     0,     0,    85,     0,     0,     0,     0,
1989      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1990      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1991      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1992      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1993      0,     0,     0,     0,     0,     0,     0,     0,     0,    13,
1994     14,    15,     0,    16,    17,    18,    19,    20,    21,    22,
1995     23,    24,    25,     0,    26,    27,    28,    29,    30,    31,
1996     32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1997     42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1998     52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1999     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2000     72,    73,    74,    75,    76,    77,    78,     0,     0,     0,
2001      0,     0,     0,     0,     0,   134,    82,     0,     0,     0,
2002     85
2003 };
2004
2005 static const short yycheck[] = {     0,
2006    456,     0,   140,   452,     5,   119,   395,   431,     9,    10,
2007     11,    12,   384,   385,   394,   386,   387,   589,   327,   396,
2008    128,   646,     3,    10,     0,   539,   450,   921,   615,   541,
2009    153,   154,   155,   156,   157,   158,   800,   308,    56,   913,
2010    349,   690,    10,  1031,   388,   389,   390,   391,    10,   432,
2011     27,   466,   230,   206,   668,   392,   393,   646,   646,   306,
2012    646,    21,   948,   219,     0,    25,     5,   814,   224,    18,
2013    226,   550,   819,   497,    23,   826,   823,    28,    24,    34,
2014    705,   832,     5,   261,    22,    86,    25,    86,    26,   568,
2015     28,    10,    11,    12,    45,    68,    69,    70,    71,    72,
2016     73,    74,    75,    76,    77,    37,    38,    45,   680,    21,
2017     86,   650,    41,   650,    41,    27,   705,   705,   119,   705,
2018     52,    53,   933,    11,    12,    21,  1114,    19,    57,    25,
2019     57,  1119,   646,    26,   646,   136,   109,  1031,  1032,   774,
2020    113,    34,   115,    18,   117,   126,   147,  1021,  1022,   122,
2021     86,   152,  1096,  1097,   789,   136,   111,   112,    54,    55,
2022    133,     5,   135,  1049,    24,   152,   184,   591,   932,   170,
2023    934,    10,   650,   281,   483,   599,    21,   826,    18,   926,
2024   1168,    25,    27,   832,   152,   799,   601,     0,   802,    88,
2025    152,   705,     5,   705,     7,   196,   467,     5,   351,    11,
2026     12,   952,    21,   204,   177,   206,   359,   208,   361,   196,
2027    211,  1105,   189,  1107,    32,    33,    24,   600,   219,  1163,
2028   1094,   208,     5,   224,   211,   226,    34,   405,   196,   189,
2029    338,   650,   650,   152,   196,   774,   204,   774,   239,   240,
2030    208,    24,   204,   211,   693,  1056,   208,  1058,    28,   211,
2031    789,    34,   789,   240,    68,    69,    70,   646,   381,   382,
2032    383,   570,   185,   186,   187,    45,   646,   190,   191,   646,
2033    426,   427,   240,    86,   646,   646,    24,   196,   240,   280,
2034    433,   280,   283,   284,   285,   204,    21,   100,    24,   208,
2035     25,   264,   211,   431,     5,    24,   774,    26,   111,   112,
2036    219,   220,   646,   952,   305,   224,   305,   226,    24,   646,
2037    311,   789,   450,   152,  1061,   296,   705,    24,  1212,    26,
2038    239,   240,   910,   136,    24,   705,   299,    34,   705,   302,
2039     24,   219,    26,   705,   705,    21,   224,   310,   226,    25,
2040    313,   185,   186,   187,    24,    24,   190,   191,   501,   596,
2041    351,   239,    18,    39,    34,   774,   774,   196,   359,   497,
2042    361,   705,    21,   486,    18,   204,    25,     5,   705,   208,
2043    789,   789,   211,   960,    24,    21,    18,   185,   186,    25,
2044    488,   805,    24,  1008,   956,    24,    24,    25,    26,   903,
2045     16,   815,    34,   905,   843,    34,    34,   550,   181,   182,
2046     16,   240,   185,   186,   405,   930,   189,   219,   933,    16,
2047     25,    26,   224,    28,   226,   568,   569,    16,   405,  1008,
2048   1008,    22,  1008,    15,    21,   426,   427,   239,    25,   101,
2049     45,    21,   433,    34,   435,    25,   435,   405,    19,    29,
2050     24,     0,    26,   405,   445,   364,     5,   423,    21,   422,
2051      9,    18,    25,   591,    21,   456,    23,   458,   434,   432,
2052     18,   599,    22,    21,   437,   466,   574,    25,   469,   442,
2053     22,   444,   473,    24,   185,   186,   187,    50,    51,   190,
2054    191,    18,   295,    34,    21,   466,   405,    34,   461,   642,
2055    643,    21,   465,    21,  1008,    25,  1008,    25,    18,    22,
2056    501,    21,   655,  1091,    29,   185,   186,   426,   427,   510,
2057    511,    40,   901,   621,    25,    26,     5,    28,   890,   891,
2058    900,   892,   893,    18,    39,   902,    21,    86,   636,    25,
2059    638,  1056,    28,  1058,    45,    24,    25,    26,   426,   427,
2060     26,   694,    28,   185,   186,    34,   185,   186,   549,   550,
2061    894,   895,   896,   897,    18,    56,   557,    21,   557,    45,
2062    119,   898,   899,     5,   565,    21,   405,   568,   569,    25,
2063     25,    26,  1160,    18,   550,    19,    21,   136,    24,   693,
2064     26,   549,    28,    25,   185,   186,   187,   549,   147,   190,
2065    191,    95,   568,   716,   717,   718,   719,   720,   721,    45,
2066    601,    95,    48,    49,   185,   186,   187,   715,    22,   190,
2067    191,    24,    50,    51,   426,   427,   589,    89,    90,  1008,
2068    601,    34,    21,    54,    55,   438,    25,   600,  1008,    21,
2069    549,  1008,   189,    25,   185,   186,  1008,  1008,   185,   186,
2070    187,   642,   643,   190,   191,   646,   619,   119,   120,     6,
2071      7,    50,    51,   654,   655,    21,   657,    18,   967,    25,
2072     21,   133,    25,    26,  1008,    28,   913,   805,    22,  1125,
2073    671,  1008,   673,    24,   647,    23,   649,   815,    26,    21,
2074     28,   682,    45,    25,    24,    21,    95,    27,   689,    25,
2075   1139,   692,   693,   694,    34,   676,   185,   186,   187,    42,
2076     43,   190,   191,    26,   705,    28,    22,   954,    50,    51,
2077    549,    24,   693,    26,    19,    10,    11,    12,   856,    21,
2078     20,   280,    45,    25,   283,   284,   285,    34,     0,   843,
2079    185,   186,   187,     5,    21,   190,   191,    26,    25,    28,
2080     95,    13,    14,   185,   186,   187,   305,    21,   190,   191,
2081     18,    25,   311,    21,   727,    21,    45,    25,    21,    25,
2082     20,    21,    25,  1187,   887,   888,   889,    24,   181,   182,
2083   1017,    18,   185,   186,    37,    38,   189,    24,    27,  1026,
2084     18,    88,    29,    30,    31,    32,    33,    34,    25,    52,
2085     53,   792,    37,    38,    18,   608,    24,  1221,    26,  1046,
2086     47,    48,    49,    34,    35,    36,    34,    52,    53,   782,
2087    783,    21,    22,   814,    86,   816,  1063,    24,   819,    21,
2088     27,    21,   823,    25,    71,    25,    18,    34,    23,   101,
2089    102,   103,   104,   105,   106,   107,   108,    24,   110,    21,
2090     21,   113,   843,    25,    25,   185,   186,   119,   971,   189,
2091    851,    21,   825,  1100,    22,    25,   128,   152,   130,   131,
2092    132,    21,   843,    24,   136,    25,    21,   114,    50,    51,
2093     25,    21,    18,    21,  1121,    25,   435,    25,   185,   186,
2094    152,    21,    25,   190,   191,    25,   445,   159,    21,    37,
2095     38,    25,    25,    24,    34,    35,    36,   456,    21,   458,
2096     18,   196,    25,    21,    52,    53,    18,   466,    18,   204,
2097    469,    26,   913,   208,   473,    18,   211,    21,    21,    34,
2098    921,    25,    21,    21,   219,   926,    25,    25,    21,   224,
2099     21,   226,    25,    18,    25,    34,    35,    36,   185,   186,
2100    187,    18,   189,    18,   239,   240,    24,   219,    26,    21,
2101     28,   510,   511,    25,    50,    51,   929,   185,   186,   187,
2102     32,    33,   190,   191,   192,    19,  1074,    45,    21,    21,
2103     48,    49,    25,    25,    18,   976,   977,    21,   185,   186,
2104     32,    33,   189,   956,   797,   257,    21,   800,    54,    55,
2105     25,    24,    24,    26,   185,   186,   187,    11,   557,   190,
2106    191,    34,    21,    34,    35,    36,    25,  1008,   280,   281,
2107     21,   283,   284,    21,    25,    32,    33,    25,  1019,   291,
2108   1021,  1022,    21,    21,   296,  1139,    25,    25,  1029,    25,
2109   1031,  1032,    21,   305,    21,    91,    25,     9,    25,   311,
2110     20,    21,   601,  1019,    20,    21,    11,  1048,    21,  1187,
2111     21,    22,  1053,    19,  1053,    52,    53,    54,    32,    33,
2112   1061,    19,  1200,   111,   112,  1066,   338,  1066,    19,  1070,
2113    185,   186,   187,    19,    24,   190,   191,   349,  1051,    27,
2114     10,    11,    12,  1221,    91,  1066,    24,    21,    25,    22,
2115   1091,  1092,  1093,  1094,    21,  1096,  1097,    10,    11,    12,
2116     18,    25,    25,    25,  1105,    21,  1107,    11,    27,  1110,
2117    405,    23,   671,  1114,   673,  1116,  1117,   930,  1119,   932,
2118    933,   934,    24,   682,  1125,    24,    24,    20,   140,    25,
2119    689,   426,   427,   692,   693,    19,    23,    20,  1139,    19,
2120     21,   153,   154,   155,   156,   157,   158,    24,   160,   161,
2121    422,    27,   185,   186,   187,     5,  1129,   190,   191,  1160,
2122   1161,  1162,  1163,   435,    25,    19,    22,  1168,    25,    24,
2123    442,    20,   444,    20,   446,    27,    73,   449,    18,    25,
2124    452,    22,   454,    27,   456,    19,   458,  1188,    23,  1188,
2125     24,   463,    25,    21,   466,    29,    30,    31,    32,    33,
2126     34,   473,    21,    25,    25,    25,    24,    39,    56,    40,
2127     25,  1212,    29,    47,    48,    49,   488,   186,    91,    91,
2128     91,    91,   152,    58,    59,    60,    61,    62,    63,    64,
2129     65,    66,    67,    91,    25,    25,    18,    71,    22,   152,
2130     91,    20,    25,  1056,    24,  1058,  1219,    25,    18,    25,
2131     21,    18,    40,   189,   549,   814,    20,   816,    27,    18,
2132    819,    21,    23,    18,   823,    91,   196,    24,    22,    22,
2133    191,    21,    21,    25,   204,    22,    20,    20,   208,    91,
2134    114,   211,    27,   196,   843,   557,    25,   193,    18,   219,
2135     27,   204,   851,    25,   224,   208,   226,    20,   211,   571,
2136     40,    20,   574,    27,    25,     0,   219,     0,   311,   239,
2137    240,   224,    86,   226,  1212,   921,  1181,  1110,   590,  1011,
2138   1082,   681,   594,   595,  1020,  1160,   239,   240,  1048,   601,
2139    871,   458,   820,    19,    20,   787,  1188,   671,    24,   574,
2140     26,   673,    28,    29,    30,    31,    32,    33,    34,   621,
2141    843,   185,   186,   187,   126,   189,   296,   692,    12,   631,
2142    632,    47,    48,    49,   636,   239,   638,   926,   347,   381,
2143    382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
2144    392,   393,   394,   395,   396,    71,  1144,   501,    10,   405,
2145    662,   849,   696,   705,  1008,   848,    -1,    -1,   670,    -1,
2146    672,    -1,    -1,    -1,   676,    -1,    -1,    -1,    -1,    -1,
2147     -1,   683,   684,    -1,    -1,    -1,   688,   976,   977,   431,
2148    692,   693,    73,    74,    75,    76,    -1,   341,   114,    80,
2149     81,    82,    83,    84,    85,    86,    -1,    -1,   450,    -1,
2150     -1,    -1,    -1,   715,    -1,    -1,    10,    11,    12,    -1,
2151     -1,   365,    10,    11,    12,    -1,   370,   371,   372,   373,
2152    374,   375,   376,   377,   378,   379,   380,    -1,    -1,    -1,
2153     -1,    -1,    -1,    -1,   486,   405,    -1,    -1,    -1,    -1,
2154     -1,    -1,    -1,    -1,    -1,   497,    -1,   401,    -1,    -1,
2155     -1,    -1,   405,    -1,  1053,    -1,   426,   427,    -1,   185,
2156    186,   187,  1061,   189,   190,   191,   128,  1066,    23,    -1,
2157     -1,  1070,    -1,   426,   427,    -1,    -1,    -1,    -1,    -1,
2158     -1,    -1,    -1,   795,    -1,    -1,    -1,   539,   150,   541,
2159    152,   543,   544,  1092,  1093,    -1,    10,    11,    12,    -1,
2160     -1,    -1,    -1,    58,    59,    60,    61,    62,    63,    64,
2161     65,    66,    67,    -1,    -1,    -1,    -1,  1116,  1117,    -1,
2162     -1,    -1,    -1,    -1,    -1,    -1,  1125,    -1,    -1,    -1,
2163    842,   843,    -1,   845,   196,    -1,    -1,    -1,    -1,   591,
2164   1139,    -1,   204,    -1,    -1,    -1,   208,   599,   152,   211,
2165     -1,    -1,    -1,    -1,   152,    -1,    -1,   219,    -1,    -1,
2166     -1,    -1,  1161,  1162,    -1,    -1,    -1,    -1,    -1,    -1,
2167     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,   549,
2168     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1188,
2169     -1,    -1,   196,    -1,   646,    -1,   549,    -1,   196,    -1,
2170    204,    -1,    -1,    -1,   208,    -1,   204,   211,    -1,    -1,
2171    208,    -1,    -1,   211,    -1,   219,    -1,   929,    -1,    -1,
2172    224,   219,   226,    -1,   936,    -1,   224,    -1,   226,   291,
2173     -1,    -1,    -1,    -1,    -1,   239,   240,    -1,   152,    -1,
2174     -1,   239,   240,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2175     -1,    -1,    -1,   705,    -1,    -1,   318,   319,   320,   321,
2176     -1,    -1,    -1,   617,   716,   717,   718,   719,   720,   721,
2177    722,   723,    -1,    -1,   628,    -1,   338,    -1,    -1,    -1,
2178     -1,    -1,   196,    -1,    -1,    -1,    -1,   349,    19,    20,
2179    204,    -1,    -1,    24,   208,    -1,    -1,   211,    29,    30,
2180     31,    32,    33,    34,   366,   219,    -1,    -1,    -1,    -1,
2181    224,    -1,   226,    -1,    -1,    -1,    47,    48,    49,    -1,
2182     -1,    -1,    -1,    -1,    -1,   239,   240,    -1,   682,    -1,
2183     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1050,    -1,
2184     71,  1053,   696,   405,    -1,    -1,    -1,    -1,    -1,    -1,
2185     -1,   413,    -1,   805,  1066,    -1,    -1,  1069,    -1,    -1,
2186     -1,    -1,  1074,   815,    -1,  1077,  1078,    19,    -1,    -1,
2187     -1,    -1,    24,    -1,    26,    -1,    28,    29,    30,    31,
2188     32,    33,    34,   114,    -1,    -1,    -1,    -1,    -1,    -1,
2189     -1,    -1,    -1,    -1,    -1,    47,    48,    49,    -1,    -1,
2190     -1,   405,    -1,    -1,   856,    -1,    -1,   405,  1120,    -1,
2191     -1,    -1,    -1,  1125,    -1,  1127,  1128,    -1,    -1,    71,
2192     -1,    -1,   426,   427,    -1,    -1,    -1,  1139,   426,   427,
2193     -1,    -1,    -1,    -1,    -1,   887,   888,   889,   890,   891,
2194    892,   893,   894,   895,   896,   897,   898,   899,   900,   901,
2195    902,   903,  1164,   905,   185,   186,   187,    -1,   189,    -1,
2196    814,    -1,   114,    -1,    -1,   819,    -1,    -1,    -1,   823,
2197     -1,    -1,  1184,  1185,    -1,    -1,  1188,    -1,   540,  1191,
2198     -1,    -1,    -1,    -1,    -1,    -1,    -1,   549,    -1,    -1,
2199     -1,   405,    -1,    -1,    -1,   849,    -1,    -1,    -1,    -1,
2200     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2201     -1,    -1,   426,   427,    -1,    -1,   870,   871,    -1,   971,
2202     -1,    -1,   876,   877,   878,   879,   880,   881,   882,   883,
2203    884,   885,   886,   185,   186,   187,    -1,   189,   190,   191,
2204     -1,    -1,    -1,    -1,    -1,   549,    -1,    -1,    -1,    -1,
2205     -1,   549,    -1,   615,    -1,    -1,  1008,    -1,    -1,    -1,
2206     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2207     -1,    -1,   926,    -1,   636,    -1,   638,    -1,    -1,    -1,
2208     -1,    -1,   644,    -1,    -1,    -1,   648,    -1,    -1,    -1,
2209     -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,    -1,
2210     -1,    -1,     6,     7,     8,    -1,    -1,    11,    12,    13,
2211     14,    15,    16,    17,    18,    19,    20,    -1,    -1,    -1,
2212     24,    25,    -1,    -1,    -1,    29,    30,    31,    32,    33,
2213     34,    -1,    -1,    -1,    -1,   549,    -1,    -1,    42,    43,
2214     -1,    -1,   704,    47,    48,    49,    -1,    -1,    -1,    -1,
2215     -1,    -1,    -1,   715,    -1,   121,   122,   123,   124,    -1,
2216    126,    -1,    -1,    -1,    -1,   131,   132,    71,    -1,   135,
2217    136,    -1,   138,   139,   140,   141,    -1,    -1,    -1,    -1,
2218     -1,    -1,    -1,    -1,    -1,     0,     1,   153,   154,    -1,
2219     -1,    95,    96,    97,    98,    99,   100,   101,    -1,    -1,
2220     -1,    -1,    -1,    18,    -1,    -1,   110,  1061,    -1,    24,
2221    114,    -1,   178,    -1,    -1,    -1,    -1,    -1,    -1,    34,
2222     -1,    -1,   188,    -1,    -1,    -1,    -1,    -1,    -1,    44,
2223     -1,    46,    -1,    -1,    -1,  1187,    -1,    -1,    -1,    -1,
2224     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1200,    -1,
2225     -1,    -1,    -1,    68,    69,    70,    -1,    72,    -1,    -1,
2226     -1,    -1,    77,    78,    79,    -1,    -1,    -1,    -1,  1221,
2227     -1,    -1,    -1,    -1,    -1,    -1,    -1,    92,    93,    94,
2228     -1,   185,   186,   187,    -1,   189,   190,   191,    -1,    -1,
2229     -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,    -1,
2230    115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2231    872,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2232    135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2233    145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2234    155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2235    165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2236    175,   176,   177,   178,    -1,    -1,    -1,    -1,     0,     1,
2237    185,   186,   187,   188,    -1,   190,   191,   192,    -1,    -1,
2238     -1,    -1,    -1,    -1,    -1,    -1,    18,    -1,    -1,    -1,
2239     -1,    -1,    24,    -1,    -1,    -1,    -1,    -1,   960,    -1,
2240     -1,    -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2241     -1,    -1,    44,    -1,    46,    -1,    -1,    -1,    -1,    -1,
2242     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2243     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,
2244     72,    -1,    -1,    -1,  1006,    77,    78,    79,    -1,    -1,
2245     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2246     92,    93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2247     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
2248    112,   113,    -1,   115,   116,   117,   118,   119,   120,   121,
2249    122,   123,   124,    -1,   126,   127,   128,   129,   130,   131,
2250    132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2251    142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2252    152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2253    162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2254    172,   173,   174,   175,   176,   177,   178,    -1,    -1,    -1,
2255     -1,    -1,    -1,   185,   186,   187,   188,     1,   190,   191,
2256    192,    -1,     6,     7,     8,    -1,    10,    11,    12,    13,
2257     14,    15,    16,    17,    18,    19,    20,    -1,    -1,    -1,
2258     24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,    33,
2259     34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    43,
2260     44,    -1,    46,    47,    48,    49,    -1,    -1,    -1,    -1,
2261     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2262     -1,    -1,    -1,    -1,    68,    69,    70,    71,    72,    -1,
2263     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2264     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2265     -1,    -1,    96,    97,    98,    99,   100,   101,    -1,    -1,
2266     -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,   113,
2267    114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2268    124,    -1,   126,   127,   128,   129,   130,   131,   132,   133,
2269    134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2270    144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2271    154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2272    164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2273    174,   175,   176,   177,   178,    -1,    -1,    -1,    -1,    -1,
2274     -1,   185,   186,   187,   188,   189,   190,   191,   192,     1,
2275     -1,    -1,    -1,    -1,     6,     7,     8,    -1,    10,    11,
2276     12,    13,    14,    15,    16,    17,    18,    19,    -1,    -1,
2277     -1,    -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,
2278     32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2279     42,    43,    44,    -1,    -1,    47,    48,    49,    -1,    -1,
2280     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2281     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    71,
2282     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2283     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2284     -1,    -1,    -1,    -1,    96,    97,    98,    99,   100,   101,
2285     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,
2286    112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2287    122,   123,   124,    -1,   126,   127,   128,   129,   130,   131,
2288    132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2289    142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2290    152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2291    162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2292    172,   173,   174,   175,   176,   177,   178,    -1,    -1,    -1,
2293     -1,    -1,    -1,   185,   186,   187,   188,   189,   190,   191,
2294    192,     1,    -1,    -1,    -1,    -1,     6,     7,     8,    -1,
2295     -1,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2296     20,    -1,    -1,    -1,    24,    -1,    -1,    -1,    -1,    29,
2297     30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,
2298     -1,    -1,    42,    43,    44,    -1,    -1,    47,    48,    49,
2299     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2300     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,
2301     70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2302     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2303     -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    98,    99,
2304    100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2305    110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
2306    120,   121,   122,   123,   124,    -1,   126,   127,   128,   129,
2307    130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
2308    140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
2309    150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
2310    160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
2311    170,   171,   172,   173,   174,   175,   176,   177,   178,    -1,
2312     -1,    -1,    -1,    -1,    -1,   185,   186,   187,   188,   189,
2313    190,   191,   192,     1,    -1,    -1,    -1,    -1,     6,     7,
2314      8,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
2315     18,    19,    20,    21,    22,    23,    24,    -1,    26,    -1,
2316     28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
2317     38,    39,    40,    41,    42,    43,    -1,    45,    -1,    47,
2318     48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
2319     58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2320     -1,    -1,    -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,
2321     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2322     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,
2323     98,    99,   100,   101,    -1,    -1,    -1,    -1,     1,    -1,
2324     -1,    -1,   110,     6,     7,     8,   114,    10,    11,    12,
2325     13,    14,    15,    16,    17,    18,    19,    -1,    -1,    -1,
2326     -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,
2327     33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
2328     43,    -1,    -1,     1,    47,    48,    49,    -1,     6,     7,
2329      8,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
2330     18,    19,    -1,    -1,    -1,    -1,    24,    -1,    71,    -1,
2331     -1,    29,    30,    31,    32,    33,    34,   185,   186,   187,
2332     -1,   189,   190,   191,    42,    43,    -1,    -1,    -1,    47,
2333     48,    49,    95,    96,    97,    98,    99,   100,   101,    -1,
2334     -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,    -1,
2335     -1,   114,    -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,
2336     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2337     -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    96,    97,
2338     98,    99,   100,   101,    -1,    -1,    -1,    -1,     1,    -1,
2339     -1,    -1,   110,     6,     7,     8,   114,    -1,    11,    12,
2340     13,    14,    15,    16,    17,    18,    19,    20,    -1,    -1,
2341     -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,
2342     33,    34,   185,   186,   187,    -1,   189,   190,   191,    42,
2343     43,    -1,    -1,     1,    47,    48,    49,    -1,     6,     7,
2344      8,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
2345     18,    19,    20,    -1,    -1,    -1,    24,    -1,    71,    -1,
2346     -1,    29,    30,    31,    32,    33,    34,   185,   186,   187,
2347     -1,   189,   190,   191,    42,    43,    -1,    -1,    -1,    47,
2348     48,    49,    95,    96,    97,    98,    99,   100,   101,    -1,
2349     -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,    -1,
2350     -1,   114,    -1,    71,    -1,    -1,    18,    -1,    -1,    -1,
2351     -1,    -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,
2352     32,    33,    34,    -1,    -1,    -1,    -1,    -1,    96,    97,
2353     98,    99,   100,   101,    -1,    47,    48,    49,     1,    -1,
2354     -1,    -1,   110,     6,     7,     8,   114,    -1,    11,    12,
2355     13,    14,    15,    16,    17,    18,    19,    20,    -1,    71,
2356     -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,
2357     33,    34,   185,   186,   187,    -1,   189,   190,   191,    42,
2358     43,    -1,    -1,     1,    47,    48,    49,    -1,     6,     7,
2359      8,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
2360     18,    19,   114,    -1,    -1,    -1,    24,    -1,    71,    -1,
2361     -1,    29,    30,    31,    32,    33,    34,   185,   186,   187,
2362     -1,   189,   190,   191,    42,    43,    -1,    -1,    -1,    47,
2363     48,    49,    -1,    96,    97,    98,    99,   100,   101,    -1,
2364     -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,    -1,
2365     -1,   114,    -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,
2366     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2367     -1,    -1,    -1,   185,   186,   187,    -1,   189,    96,    97,
2368     98,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,
2369     -1,    -1,   110,     6,     7,     8,   114,    10,    11,    12,
2370     13,    14,    15,    16,    17,    18,    19,    20,    -1,    -1,
2371     -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,
2372     33,    34,   185,   186,   187,    -1,   189,   190,   191,    42,
2373     43,    44,    -1,    46,    47,    48,    49,    -1,    -1,    -1,
2374     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2375     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    72,
2376     -1,    -1,    -1,    -1,    -1,    -1,    -1,   185,   186,   187,
2377     -1,   189,   190,   191,    -1,    -1,    -1,    -1,    -1,    -1,
2378     -1,    -1,    -1,    96,    97,    98,    99,   100,   101,    -1,
2379     -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,   111,   112,
2380    113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2381    123,   124,    -1,   126,   127,   128,   129,   130,   131,   132,
2382    133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2383    143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2384    153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2385    163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2386    173,   174,   175,   176,   177,   178,    -1,    -1,    -1,    -1,
2387     -1,    -1,   185,   186,   187,   188,   189,   190,   191,   192,
2388      6,     7,     8,    -1,    10,    11,    12,    13,    14,    15,
2389     16,    17,    18,    19,    20,    -1,    -1,    -1,    24,    -1,
2390     -1,    -1,    -1,    29,    30,    31,    32,    33,    34,    -1,
2391     -1,    -1,    -1,    -1,    -1,    -1,    42,    43,    44,    -1,
2392     46,    47,    48,    49,    -1,    -1,    -1,    -1,    -1,    -1,
2393     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2394     -1,    -1,    -1,    -1,    -1,    71,    72,    -1,    -1,    -1,
2395     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2396     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2397     96,    97,    98,    99,   100,   101,    -1,    -1,    -1,    -1,
2398     -1,    -1,    -1,    -1,   110,   111,   112,   113,   114,   115,
2399    116,   117,   118,   119,   120,   121,   122,   123,   124,    -1,
2400    126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2401    136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2402    146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2403    156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2404    166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2405    176,   177,   178,    -1,    -1,    -1,    -1,    -1,    -1,   185,
2406    186,   187,   188,   189,   190,   191,   192,     6,     7,     8,
2407     -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2408     19,    20,    -1,    -1,    -1,    24,    -1,    -1,    -1,    -1,
2409     29,    30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,
2410     -1,    -1,    -1,    42,    43,    44,    -1,    46,    47,    48,
2411     49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2412     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2413     -1,    -1,    71,    72,    -1,    -1,    -1,    -1,    -1,    -1,
2414     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2415     -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    98,
2416     99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2417     -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
2418    119,   120,   121,   122,   123,   124,    -1,   126,   127,   128,
2419    129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
2420    139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2421    149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
2422    159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
2423    169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
2424     -1,    -1,    -1,    -1,    -1,    -1,   185,   186,   187,   188,
2425    189,   190,   191,   192,     6,     7,     8,    -1,    10,    11,
2426     12,    13,    14,    15,    16,    17,    18,    19,    20,    -1,
2427     -1,    -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,
2428     32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2429     -1,    -1,    -1,    -1,    -1,    47,    48,    49,     6,     7,
2430      8,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
2431     18,    19,    20,    -1,    -1,    -1,    24,    -1,    -1,    71,
2432     -1,    29,    30,    31,    32,    33,    34,    -1,    -1,    -1,
2433     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    47,
2434     48,    49,    -1,    -1,    96,    97,    98,    99,   100,   101,
2435     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,
2436     -1,    -1,   114,    71,    -1,    -1,    -1,    -1,    -1,    -1,
2437     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2438     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,
2439     98,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,
2440     -1,    -1,   110,     6,     7,     8,   114,    10,    11,    12,
2441     13,    14,    15,    16,    17,    18,    19,    20,    -1,    -1,
2442     -1,    24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,
2443     33,    34,    -1,   185,   186,   187,    -1,   189,   190,   191,
2444     -1,    -1,    -1,    -1,    47,    48,    49,     6,     7,     8,
2445     -1,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2446     19,    20,    -1,    -1,    -1,    24,    -1,    -1,    71,    -1,
2447     29,    30,    31,    32,    33,    34,    -1,   185,   186,   187,
2448     -1,   189,   190,   191,    -1,    -1,    -1,    -1,    47,    48,
2449     49,    -1,    -1,    96,    97,    98,    99,   100,   101,    -1,
2450     -1,    -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,    -1,
2451     -1,   114,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2452     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2453     -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    98,
2454     99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2455     -1,   110,     6,     7,     8,   114,    10,    11,    12,    13,
2456     14,    15,    16,    17,    18,    19,    20,    -1,    -1,    -1,
2457     24,    -1,    -1,    -1,    -1,    29,    30,    31,    32,    33,
2458     34,    -1,   185,   186,   187,    -1,   189,   190,   191,    -1,
2459     -1,    -1,    -1,    47,    48,    49,     6,     7,     8,    -1,
2460     10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2461     20,    -1,    -1,    -1,    24,    -1,    -1,    71,    -1,    29,
2462     30,    31,    32,    33,    34,    -1,   185,   186,   187,    -1,
2463    189,   190,   191,    -1,    -1,    -1,    -1,    47,    48,    49,
2464     -1,    -1,    96,    97,    98,    99,   100,   101,    -1,    -1,
2465     -1,    -1,    -1,    -1,    -1,    -1,   110,    -1,    -1,    -1,
2466    114,    71,    -1,    -1,    19,    -1,    -1,    -1,    -1,    24,
2467     -1,    -1,    -1,    -1,    29,    30,    31,    32,    33,    34,
2468     -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    98,    99,
2469    100,   101,    47,    48,    49,    -1,    -1,    -1,    -1,    -1,
2470    110,     6,     7,     8,   114,    10,    11,    12,    13,    14,
2471     15,    16,    17,    18,    19,    20,    71,    -1,    -1,    24,
2472     -1,    -1,    -1,    -1,    29,    30,    31,    32,    33,    34,
2473     -1,   185,   186,   187,    -1,   189,   190,   191,    -1,    -1,
2474     -1,    -1,    47,    48,    49,     6,     7,     8,    -1,    10,
2475     11,    12,    13,    14,    15,    16,    17,    18,    19,   114,
2476     -1,    -1,    -1,    24,    -1,    -1,    71,    -1,    29,    30,
2477     31,    32,    33,    34,    -1,   185,   186,   187,    -1,   189,
2478    190,   191,    -1,    -1,    -1,    -1,    47,    48,    49,    -1,
2479     -1,    96,    97,    98,    99,   100,   101,    -1,    -1,    -1,
2480     -1,    -1,    -1,    -1,    -1,   110,    -1,    -1,    -1,   114,
2481     71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2482     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2483    185,   186,   187,    -1,   189,    96,    97,    98,    99,   100,
2484    101,    19,    -1,    -1,    -1,    -1,    24,    -1,    -1,   110,
2485     -1,    -1,    -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,
2486     -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    46,    -1,
2487     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2488    185,   186,   187,    -1,   189,   190,   191,    -1,    -1,    -1,
2489     -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,    -1,
2490     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2491     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2492     -1,    -1,    -1,    -1,   185,   186,   187,    -1,   189,   190,
2493    191,    -1,    -1,   111,   112,   113,    -1,   115,   116,   117,
2494    118,   119,   120,   121,   122,   123,   124,    -1,   126,   127,
2495    128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
2496    138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
2497    148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
2498    158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
2499    168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
2500    178,    20,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   187,
2501    188,    -1,    -1,    -1,   192,    -1,    -1,    -1,    -1,    -1,
2502     -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,
2503     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2504     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2505     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2506     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2507     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2508     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2509     -1,    -1,   111,   112,   113,    -1,   115,   116,   117,   118,
2510    119,   120,   121,   122,   123,   124,    -1,   126,   127,   128,
2511    129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
2512    139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2513    149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
2514    159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
2515    169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
2516     -1,    -1,    -1,    -1,    -1,    19,    -1,    -1,   187,   188,
2517     24,    -1,    -1,   192,    -1,    29,    30,    31,    32,    33,
2518     34,    -1,    -1,    -1,    -1,    -1,    19,    -1,    -1,    -1,
2519     -1,    24,    -1,    47,    48,    49,    29,    30,    31,    32,
2520     33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2521     -1,    -1,    -1,    -1,    47,    48,    49,    71,    -1,    -1,
2522     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2523     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,
2524     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2525     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2526    114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2527     24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2528     34,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2529     44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2530     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2531     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2532     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2533     -1,   185,   186,   187,    -1,   189,    -1,    -1,    -1,    -1,
2534     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2535     -1,    -1,   185,   186,   187,    -1,   189,   111,   112,   113,
2536     -1,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2537    124,    -1,   126,   127,   128,   129,   130,   131,   132,   133,
2538    134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2539    144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2540    154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2541    164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2542    174,   175,   176,   177,   178,    -1,    -1,    -1,    -1,    -1,
2543     -1,   185,   186,   187,   188,    -1,   190,   191,   192,    24,
2544     25,    -1,    -1,    -1,    29,    30,    31,    32,    33,    34,
2545     24,    -1,    -1,    27,    -1,    29,    30,    31,    32,    33,
2546     34,    -1,    47,    48,    49,    -1,    -1,    -1,    -1,    -1,
2547     -1,    -1,    -1,    47,    48,    49,    -1,    -1,    -1,    -1,
2548     -1,    -1,    -1,    -1,    24,    -1,    71,    27,    -1,    29,
2549     30,    31,    32,    33,    34,    24,    25,    71,    -1,    -1,
2550     29,    30,    31,    32,    33,    34,    -1,    47,    48,    49,
2551     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    47,    48,
2552     49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
2553     -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2554    114,    -1,    71,    24,    25,    -1,    -1,    -1,    29,    30,
2555     31,    32,    33,    34,    -1,    -1,    -1,    -1,    -1,    -1,
2556     -1,    -1,    -1,    -1,    -1,    -1,    47,    48,    49,    -1,
2557     -1,    24,    -1,    -1,   114,    -1,    29,    30,    31,    32,
2558     33,    34,    -1,    -1,    -1,   114,    -1,    -1,    -1,    -1,
2559     71,    -1,    -1,    -1,    47,    48,    49,    -1,    -1,    -1,
2560    185,   186,   187,    -1,   189,    -1,    -1,    -1,    -1,    -1,
2561     -1,   185,   186,   187,    -1,   189,    -1,    24,    71,    -1,
2562     -1,    -1,    29,    30,    31,    32,    33,    34,    -1,    24,
2563     -1,    -1,    -1,   114,    29,    30,    31,    32,    33,    34,
2564     47,    48,    49,    -1,    -1,   185,   186,   187,    -1,   189,
2565     -1,    -1,    47,    48,    49,    -1,   185,   186,   187,    -1,
2566    189,   114,    24,    -1,    71,    -1,    -1,    29,    30,    31,
2567     32,    33,    34,    24,    -1,    -1,    71,    -1,    29,    30,
2568     31,    32,    33,    34,    -1,    47,    48,    49,    -1,    -1,
2569     -1,    -1,    -1,    -1,    -1,    -1,    47,    48,    49,    -1,
2570     -1,    -1,    -1,    -1,   185,   186,   187,   114,   189,    71,
2571     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   114,
2572     71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2573     -1,    -1,   185,   186,   187,    -1,   189,    -1,    -1,    -1,
2574     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2575     -1,    -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2576     -1,    -1,    -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,
2577     42,    43,    44,    -1,    -1,    -1,    -1,    -1,   185,   186,
2578    187,    -1,   189,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2579    185,   186,   187,    -1,   189,    -1,    -1,    -1,    -1,    -1,
2580     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2581     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2582     -1,    -1,    -1,   185,   186,   187,    -1,   189,    -1,    -1,
2583     -1,    -1,    -1,    -1,   185,   186,   187,    -1,   189,   111,
2584    112,   113,    -1,   115,   116,   117,   118,   119,   120,   121,
2585    122,   123,   124,    -1,   126,   127,   128,   129,   130,   131,
2586    132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2587    142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2588    152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2589    162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2590    172,   173,   174,   175,   176,   177,   178,    44,    -1,    46,
2591     -1,    -1,    -1,    -1,    -1,   187,   188,    -1,    -1,    -1,
2592    192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2593     -1,    68,    69,    70,    -1,    72,    -1,    -1,    -1,    -1,
2594     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2595     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2596     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2597     -1,    -1,    -1,    -1,   111,   112,   113,    -1,   115,   116,
2598    117,   118,   119,   120,   121,   122,   123,   124,    -1,   126,
2599    127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2600    137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2601    147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2602    157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2603    167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2604    177,   178,    44,    -1,    46,    -1,    -1,    -1,    -1,    -1,
2605    187,   188,    -1,    -1,    -1,   192,    -1,    -1,    -1,    -1,
2606     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2607     72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2608     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2609     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2610     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
2611    112,   113,    -1,   115,   116,   117,   118,   119,   120,   121,
2612    122,   123,   124,    -1,   126,   127,   128,   129,   130,   131,
2613    132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2614    142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2615    152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2616    162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2617    172,   173,   174,   175,   176,   177,   178,    44,    -1,    -1,
2618     -1,    -1,    -1,   185,   186,   187,   188,    -1,    -1,    -1,
2619    192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2620     -1,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,    -1,
2621     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2622     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2623     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2624     -1,    -1,    -1,    -1,   111,   112,   113,    -1,   115,   116,
2625    117,   118,   119,   120,   121,   122,   123,   124,    -1,   126,
2626    127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2627    137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2628    147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2629    157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2630    167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2631    177,   178,    44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2632    187,   188,    -1,    -1,    -1,   192,    -1,    -1,    -1,    -1,
2633     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2634     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2635     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2636     92,    93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2637     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
2638    112,   113,    -1,   115,   116,   117,   118,   119,   120,   121,
2639    122,   123,   124,    -1,   126,   127,   128,   129,   130,   131,
2640    132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2641    142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2642    152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2643    162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2644    172,   173,   174,   175,   176,   177,   178,    44,    -1,    46,
2645     -1,    -1,    -1,    -1,    -1,   187,   188,    -1,    -1,    -1,
2646    192,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2647     -1,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,
2648     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2649     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2650     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2651     -1,    -1,    -1,    -1,   111,   112,   113,    -1,   115,   116,
2652    117,   118,   119,   120,   121,   122,   123,   124,    -1,   126,
2653    127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2654    137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2655    147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2656    157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2657    167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2658    177,   178,    44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2659    187,   188,    -1,    -1,    -1,   192,    -1,    -1,    -1,    -1,
2660     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2661     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2662     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2663     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2664     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
2665    112,   113,    -1,   115,   116,   117,   118,   119,   120,   121,
2666    122,   123,   124,    -1,   126,   127,   128,   129,   130,   131,
2667    132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2668    142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2669    152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2670    162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2671    172,   173,   174,   175,   176,   177,   178,    -1,    -1,    -1,
2672     -1,    -1,    -1,    -1,    -1,   187,   188,    -1,    -1,    -1,
2673    192
2674 };
2675 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
2676
2677 /* This file comes from bison-1.28.  */
2678
2679 /* Skeleton output parser for bison,
2680    Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
2681
2682    This program is free software; you can redistribute it and/or modify
2683    it under the terms of the GNU General Public License as published by
2684    the Free Software Foundation; either version 2, or (at your option)
2685    any later version.
2686
2687    This program is distributed in the hope that it will be useful,
2688    but WITHOUT ANY WARRANTY; without even the implied warranty of
2689    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2690    GNU General Public License for more details.
2691
2692    You should have received a copy of the GNU General Public License
2693    along with this program; if not, write to the Free Software
2694    Foundation, Inc., 59 Temple Place - Suite 330,
2695    Boston, MA 02111-1307, USA.  */
2696
2697 /* As a special exception, when this file is copied by Bison into a
2698    Bison output file, you may use that output file without restriction.
2699    This special exception was added by the Free Software Foundation
2700    in version 1.24 of Bison.  */
2701
2702 /* This is the parser code that is written into each bison parser
2703   when the %semantic_parser declaration is not specified in the grammar.
2704   It was written by Richard Stallman by simplifying the hairy parser
2705   used when %semantic_parser is specified.  */
2706
2707 #ifndef YYSTACK_USE_ALLOCA
2708 #ifdef alloca
2709 #define YYSTACK_USE_ALLOCA
2710 #else /* alloca not defined */
2711 #ifdef __GNUC__
2712 #define YYSTACK_USE_ALLOCA
2713 #define alloca __builtin_alloca
2714 #else /* not GNU C.  */
2715 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
2716 #define YYSTACK_USE_ALLOCA
2717 #include <alloca.h>
2718 #else /* not sparc */
2719 /* We think this test detects Watcom and Microsoft C.  */
2720 /* This used to test MSDOS, but that is a bad idea
2721    since that symbol is in the user namespace.  */
2722 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
2723 #if 0 /* No need for malloc.h, which pollutes the namespace;
2724          instead, just don't use alloca.  */
2725 #include <malloc.h>
2726 #endif
2727 #else /* not MSDOS, or __TURBOC__ */
2728 #if defined(_AIX)
2729 /* I don't know what this was needed for, but it pollutes the namespace.
2730    So I turned it off.   rms, 2 May 1997.  */
2731 /* #include <malloc.h>  */
2732  #pragma alloca
2733 #define YYSTACK_USE_ALLOCA
2734 #else /* not MSDOS, or __TURBOC__, or _AIX */
2735 #if 0
2736 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
2737                  and on HPUX 10.  Eventually we can turn this on.  */
2738 #define YYSTACK_USE_ALLOCA
2739 #define alloca __builtin_alloca
2740 #endif /* __hpux */
2741 #endif
2742 #endif /* not _AIX */
2743 #endif /* not MSDOS, or __TURBOC__ */
2744 #endif /* not sparc */
2745 #endif /* not GNU C */
2746 #endif /* alloca not defined */
2747 #endif /* YYSTACK_USE_ALLOCA not defined */
2748
2749 #ifdef YYSTACK_USE_ALLOCA
2750 #define YYSTACK_ALLOC alloca
2751 #else
2752 #define YYSTACK_ALLOC malloc
2753 #endif
2754
2755 /* Note: there must be only one dollar sign in this file.
2756    It is replaced by the list of actions, each action
2757    as one case of the switch.  */
2758
2759 #define yyerrok         (yyerrstatus = 0)
2760 #define yyclearin       (yychar = YYEMPTY)
2761 #define YYEMPTY         -2
2762 #define YYEOF           0
2763 #define YYACCEPT        goto yyacceptlab
2764 #define YYABORT         goto yyabortlab
2765 #define YYERROR         goto yyerrlab1
2766 /* Like YYERROR except do call yyerror.
2767    This remains here temporarily to ease the
2768    transition to the new meaning of YYERROR, for GCC.
2769    Once GCC version 2 has supplanted version 1, this can go.  */
2770 #define YYFAIL          goto yyerrlab
2771 #define YYRECOVERING()  (!!yyerrstatus)
2772 #define YYBACKUP(token, value) \
2773 do                                                              \
2774   if (yychar == YYEMPTY && yylen == 1)                          \
2775     { yychar = (token), yylval = (value);                       \
2776       yychar1 = YYTRANSLATE (yychar);                           \
2777       YYPOPSTACK;                                               \
2778       goto yybackup;                                            \
2779     }                                                           \
2780   else                                                          \
2781     { yyerror ("syntax error: cannot back up"); YYERROR; }      \
2782 while (0)
2783
2784 #define YYTERROR        1
2785 #define YYERRCODE       256
2786
2787 #ifndef YYPURE
2788 #define YYLEX           yylex()
2789 #endif
2790
2791 #ifdef YYPURE
2792 #ifdef YYLSP_NEEDED
2793 #ifdef YYLEX_PARAM
2794 #define YYLEX           yylex(&yylval, &yylloc, YYLEX_PARAM)
2795 #else
2796 #define YYLEX           yylex(&yylval, &yylloc)
2797 #endif
2798 #else /* not YYLSP_NEEDED */
2799 #ifdef YYLEX_PARAM
2800 #define YYLEX           yylex(&yylval, YYLEX_PARAM)
2801 #else
2802 #define YYLEX           yylex(&yylval)
2803 #endif
2804 #endif /* not YYLSP_NEEDED */
2805 #endif
2806
2807 /* If nonreentrant, generate the variables here */
2808
2809 #ifndef YYPURE
2810
2811 int     yychar;                 /*  the lookahead symbol                */
2812 YYSTYPE yylval;                 /*  the semantic value of the           */
2813                                 /*  lookahead symbol                    */
2814
2815 #ifdef YYLSP_NEEDED
2816 YYLTYPE yylloc;                 /*  location data for the lookahead     */
2817                                 /*  symbol                              */
2818 #endif
2819
2820 int yynerrs;                    /*  number of parse errors so far       */
2821 #endif  /* not YYPURE */
2822
2823 #if YYDEBUG != 0
2824 int yydebug;                    /*  nonzero means print parse trace     */
2825 /* Since this is uninitialized, it does not stop multiple parsers
2826    from coexisting.  */
2827 #endif
2828
2829 /*  YYINITDEPTH indicates the initial size of the parser's stacks       */
2830
2831 #ifndef YYINITDEPTH
2832 #define YYINITDEPTH 200
2833 #endif
2834
2835 /*  YYMAXDEPTH is the maximum size the stacks can grow to
2836     (effective only if the built-in stack extension method is used).  */
2837
2838 #if YYMAXDEPTH == 0
2839 #undef YYMAXDEPTH
2840 #endif
2841
2842 #ifndef YYMAXDEPTH
2843 #define YYMAXDEPTH 10000
2844 #endif
2845 \f
2846 /* Define __yy_memcpy.  Note that the size argument
2847    should be passed with type unsigned int, because that is what the non-GCC
2848    definitions require.  With GCC, __builtin_memcpy takes an arg
2849    of type size_t, but it can handle unsigned int.  */
2850
2851 #if __GNUC__ > 1                /* GNU C and GNU C++ define this.  */
2852 #define __yy_memcpy(TO,FROM,COUNT)      __builtin_memcpy(TO,FROM,COUNT)
2853 #else                           /* not GNU C or C++ */
2854 #ifndef __cplusplus
2855
2856 /* This is the most reliable way to avoid incompatibilities
2857    in available built-in functions on various systems.  */
2858 static void
2859 __yy_memcpy (to, from, count)
2860      char *to;
2861      char *from;
2862      unsigned int count;
2863 {
2864   register char *f = from;
2865   register char *t = to;
2866   register int i = count;
2867
2868   while (i-- > 0)
2869     *t++ = *f++;
2870 }
2871
2872 #else /* __cplusplus */
2873
2874 /* This is the most reliable way to avoid incompatibilities
2875    in available built-in functions on various systems.  */
2876 static void
2877 __yy_memcpy (char *to, char *from, unsigned int count)
2878 {
2879   register char *t = to;
2880   register char *f = from;
2881   register int i = count;
2882
2883   while (i-- > 0)
2884     *t++ = *f++;
2885 }
2886
2887 #endif
2888 #endif
2889 \f
2890
2891
2892 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
2893    into yyparse.  The argument should have type void *.
2894    It should actually point to an object.
2895    Grammar actions can access the variable by casting it
2896    to the proper pointer type.  */
2897
2898 #ifdef YYPARSE_PARAM
2899 #ifdef __cplusplus
2900 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
2901 #define YYPARSE_PARAM_DECL
2902 #else /* not __cplusplus */
2903 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
2904 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
2905 #endif /* not __cplusplus */
2906 #else /* not YYPARSE_PARAM */
2907 #define YYPARSE_PARAM_ARG
2908 #define YYPARSE_PARAM_DECL
2909 #endif /* not YYPARSE_PARAM */
2910
2911 /* Prevent warning if -Wstrict-prototypes.  */
2912 #ifdef __GNUC__
2913 #ifdef YYPARSE_PARAM
2914 int yyparse (void *);
2915 #else
2916 int yyparse (void);
2917 #endif
2918 #endif
2919
2920 int
2921 yyparse(YYPARSE_PARAM_ARG)
2922      YYPARSE_PARAM_DECL
2923 {
2924   register int yystate;
2925   register int yyn;
2926   register short *yyssp;
2927   register YYSTYPE *yyvsp;
2928   int yyerrstatus;      /*  number of tokens to shift before error messages enabled */
2929   int yychar1 = 0;              /*  lookahead token as an internal (translated) token number */
2930
2931   short yyssa[YYINITDEPTH];     /*  the state stack                     */
2932   YYSTYPE yyvsa[YYINITDEPTH];   /*  the semantic value stack            */
2933
2934   short *yyss = yyssa;          /*  refer to the stacks thru separate pointers */
2935   YYSTYPE *yyvs = yyvsa;        /*  to allow yyoverflow to reallocate them elsewhere */
2936
2937 #ifdef YYLSP_NEEDED
2938   YYLTYPE yylsa[YYINITDEPTH];   /*  the location stack                  */
2939   YYLTYPE *yyls = yylsa;
2940   YYLTYPE *yylsp;
2941
2942 #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
2943 #else
2944 #define YYPOPSTACK   (yyvsp--, yyssp--)
2945 #endif
2946
2947   int yystacksize = YYINITDEPTH;
2948   int yyfree_stacks = 0;
2949
2950 #ifdef YYPURE
2951   int yychar;
2952   YYSTYPE yylval;
2953   int yynerrs;
2954 #ifdef YYLSP_NEEDED
2955   YYLTYPE yylloc;
2956 #endif
2957 #endif
2958
2959   YYSTYPE yyval;                /*  the variable used to return         */
2960                                 /*  semantic values from the action     */
2961                                 /*  routines                            */
2962
2963   int yylen;
2964
2965 #if YYDEBUG != 0
2966   if (yydebug)
2967     fprintf(stderr, "Starting parse\n");
2968 #endif
2969
2970   yystate = 0;
2971   yyerrstatus = 0;
2972   yynerrs = 0;
2973   yychar = YYEMPTY;             /* Cause a token to be read.  */
2974
2975   /* Initialize stack pointers.
2976      Waste one element of value and location stack
2977      so that they stay on the same level as the state stack.
2978      The wasted elements are never initialized.  */
2979
2980   yyssp = yyss - 1;
2981   yyvsp = yyvs;
2982 #ifdef YYLSP_NEEDED
2983   yylsp = yyls;
2984 #endif
2985
2986 /* Push a new state, which is found in  yystate  .  */
2987 /* In all cases, when you get here, the value and location stacks
2988    have just been pushed. so pushing a state here evens the stacks.  */
2989 yynewstate:
2990
2991   *++yyssp = yystate;
2992
2993   if (yyssp >= yyss + yystacksize - 1)
2994     {
2995       /* Give user a chance to reallocate the stack */
2996       /* Use copies of these so that the &'s don't force the real ones into memory. */
2997       YYSTYPE *yyvs1 = yyvs;
2998       short *yyss1 = yyss;
2999 #ifdef YYLSP_NEEDED
3000       YYLTYPE *yyls1 = yyls;
3001 #endif
3002
3003       /* Get the current used size of the three stacks, in elements.  */
3004       int size = yyssp - yyss + 1;
3005
3006 #ifdef yyoverflow
3007       /* Each stack pointer address is followed by the size of
3008          the data in use in that stack, in bytes.  */
3009 #ifdef YYLSP_NEEDED
3010       /* This used to be a conditional around just the two extra args,
3011          but that might be undefined if yyoverflow is a macro.  */
3012       yyoverflow("parser stack overflow",
3013                  &yyss1, size * sizeof (*yyssp),
3014                  &yyvs1, size * sizeof (*yyvsp),
3015                  &yyls1, size * sizeof (*yylsp),
3016                  &yystacksize);
3017 #else
3018       yyoverflow("parser stack overflow",
3019                  &yyss1, size * sizeof (*yyssp),
3020                  &yyvs1, size * sizeof (*yyvsp),
3021                  &yystacksize);
3022 #endif
3023
3024       yyss = yyss1; yyvs = yyvs1;
3025 #ifdef YYLSP_NEEDED
3026       yyls = yyls1;
3027 #endif
3028 #else /* no yyoverflow */
3029       /* Extend the stack our own way.  */
3030       if (yystacksize >= YYMAXDEPTH)
3031         {
3032           yyerror("parser stack overflow");
3033           if (yyfree_stacks)
3034             {
3035               free (yyss);
3036               free (yyvs);
3037 #ifdef YYLSP_NEEDED
3038               free (yyls);
3039 #endif
3040             }
3041           return 2;
3042         }
3043       yystacksize *= 2;
3044       if (yystacksize > YYMAXDEPTH)
3045         yystacksize = YYMAXDEPTH;
3046 #ifndef YYSTACK_USE_ALLOCA
3047       yyfree_stacks = 1;
3048 #endif
3049       yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
3050       __yy_memcpy ((char *)yyss, (char *)yyss1,
3051                    size * (unsigned int) sizeof (*yyssp));
3052       yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
3053       __yy_memcpy ((char *)yyvs, (char *)yyvs1,
3054                    size * (unsigned int) sizeof (*yyvsp));
3055 #ifdef YYLSP_NEEDED
3056       yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
3057       __yy_memcpy ((char *)yyls, (char *)yyls1,
3058                    size * (unsigned int) sizeof (*yylsp));
3059 #endif
3060 #endif /* no yyoverflow */
3061
3062       yyssp = yyss + size - 1;
3063       yyvsp = yyvs + size - 1;
3064 #ifdef YYLSP_NEEDED
3065       yylsp = yyls + size - 1;
3066 #endif
3067
3068 #if YYDEBUG != 0
3069       if (yydebug)
3070         fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3071 #endif
3072
3073       if (yyssp >= yyss + yystacksize - 1)
3074         YYABORT;
3075     }
3076
3077 #if YYDEBUG != 0
3078   if (yydebug)
3079     fprintf(stderr, "Entering state %d\n", yystate);
3080 #endif
3081
3082   goto yybackup;
3083  yybackup:
3084
3085 /* Do appropriate processing given the current state.  */
3086 /* Read a lookahead token if we need one and don't already have one.  */
3087 /* yyresume: */
3088
3089   /* First try to decide what to do without reference to lookahead token.  */
3090
3091   yyn = yypact[yystate];
3092   if (yyn == YYFLAG)
3093     goto yydefault;
3094
3095   /* Not known => get a lookahead token if don't already have one.  */
3096
3097   /* yychar is either YYEMPTY or YYEOF
3098      or a valid token in external form.  */
3099
3100   if (yychar == YYEMPTY)
3101     {
3102 #if YYDEBUG != 0
3103       if (yydebug)
3104         fprintf(stderr, "Reading a token: ");
3105 #endif
3106       yychar = YYLEX;
3107     }
3108
3109   /* Convert token to internal form (in yychar1) for indexing tables with */
3110
3111   if (yychar <= 0)              /* This means end of input. */
3112     {
3113       yychar1 = 0;
3114       yychar = YYEOF;           /* Don't call YYLEX any more */
3115
3116 #if YYDEBUG != 0
3117       if (yydebug)
3118         fprintf(stderr, "Now at end of input.\n");
3119 #endif
3120     }
3121   else
3122     {
3123       yychar1 = YYTRANSLATE(yychar);
3124
3125 #if YYDEBUG != 0
3126       if (yydebug)
3127         {
3128           fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3129           /* Give the individual parser a way to print the precise meaning
3130              of a token, for further debugging info.  */
3131 #ifdef YYPRINT
3132           YYPRINT (stderr, yychar, yylval);
3133 #endif
3134           fprintf (stderr, ")\n");
3135         }
3136 #endif
3137     }
3138
3139   yyn += yychar1;
3140   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3141     goto yydefault;
3142
3143   yyn = yytable[yyn];
3144
3145   /* yyn is what to do for this token type in this state.
3146      Negative => reduce, -yyn is rule number.
3147      Positive => shift, yyn is new state.
3148        New state is final state => don't bother to shift,
3149        just return success.
3150      0, or most negative number => error.  */
3151
3152   if (yyn < 0)
3153     {
3154       if (yyn == YYFLAG)
3155         goto yyerrlab;
3156       yyn = -yyn;
3157       goto yyreduce;
3158     }
3159   else if (yyn == 0)
3160     goto yyerrlab;
3161
3162   if (yyn == YYFINAL)
3163     YYACCEPT;
3164
3165   /* Shift the lookahead token.  */
3166
3167 #if YYDEBUG != 0
3168   if (yydebug)
3169     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3170 #endif
3171
3172   /* Discard the token being shifted unless it is eof.  */
3173   if (yychar != YYEOF)
3174     yychar = YYEMPTY;
3175
3176   *++yyvsp = yylval;
3177 #ifdef YYLSP_NEEDED
3178   *++yylsp = yylloc;
3179 #endif
3180
3181   /* count tokens shifted since error; after three, turn off error status.  */
3182   if (yyerrstatus) yyerrstatus--;
3183
3184   yystate = yyn;
3185   goto yynewstate;
3186
3187 /* Do the default action for the current state.  */
3188 yydefault:
3189
3190   yyn = yydefact[yystate];
3191   if (yyn == 0)
3192     goto yyerrlab;
3193
3194 /* Do a reduction.  yyn is the number of a rule to reduce with.  */
3195 yyreduce:
3196   yylen = yyr2[yyn];
3197   if (yylen > 0)
3198     yyval = yyvsp[1-yylen]; /* implement default value of the action */
3199
3200 #if YYDEBUG != 0
3201   if (yydebug)
3202     {
3203       int i;
3204
3205       fprintf (stderr, "Reducing via rule %d (line %d), ",
3206                yyn, yyrline[yyn]);
3207
3208       /* Print the symbols being reduced, and their result.  */
3209       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3210         fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3211       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3212     }
3213 #endif
3214
3215
3216   switch (yyn) {
3217
3218 case 3:
3219 { context_checkGlobalScope (); ;
3220     break;}
3221 case 4:
3222 { context_checkGlobalScope (); ;
3223     break;}
3224 case 5:
3225 { uentry_clearDecl (); ;
3226     break;}
3227 case 6:
3228 { uentry_clearDecl (); ;
3229     break;}
3230 case 7:
3231 { uentry_clearDecl (); ;
3232     break;}
3233 case 8:
3234 { uentry_clearDecl (); ;
3235     break;}
3236 case 9:
3237 { uentry_clearDecl (); ;
3238     break;}
3239 case 10:
3240 { uentry_checkDecl (); exprNode_free (yyvsp[0].expr); ;
3241     break;}
3242 case 11:
3243 { uentry_clearDecl (); /* evans 2002-02-08: okay to have a null statement */ ;
3244     break;}
3245 case 12:
3246 { uentry_clearDecl (); ;
3247     break;}
3248 case 13:
3249 { checkConstant (yyvsp[-6].qtyp, yyvsp[-4].ntyp); ;
3250     break;}
3251 case 14:
3252 { checkValueConstant (yyvsp[-9].qtyp, yyvsp[-7].ntyp, yyvsp[-3].expr) ; ;
3253     break;}
3254 case 15:
3255 { context_enterFunctionHeader (); ;
3256     break;}
3257 case 16:
3258
3259      declareStaticFunction (yyvsp[-2].ntyp); context_quietExitFunction (); 
3260      context_exitFunctionHeader (); 
3261    ;
3262     break;}
3263 case 17:
3264
3265      qtype qint = qtype_create (ctype_int);
3266      yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3267      qtype_free (qint);
3268    ;
3269     break;}
3270 case 18:
3271 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3272     break;}
3273 case 20:
3274 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
3275     break;}
3276 case 21:
3277 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3278     break;}
3279 case 22:
3280 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3281     break;}
3282 case 23:
3283 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3284     break;}
3285 case 24:
3286 {
3287      exprNode_findValue (yyvsp[-2].expr);
3288      idDecl_notExpectingFunction (yyvsp[-5].ntyp);
3289
3290      if (exprNode_hasValue (yyvsp[-2].expr)) 
3291        {
3292          yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), 
3293                                                                   exprNode_getLongValue (yyvsp[-2].expr)));
3294        } 
3295      else
3296        {
3297          yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-5].ntyp))); 
3298        }
3299    ;
3300     break;}
3301 case 25:
3302 { setCurrentParams (uentryList_missingParams); ;
3303     break;}
3304 case 26:
3305 { /* need to support globals and modifies here! */
3306      ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp), 
3307                                     uentryList_makeMissingParams ());
3308      
3309      yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3310      idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3311      context_popLoc ();
3312      /*drl 7/25/01 added*/
3313      setImplictfcnConstraints();
3314    ;
3315     break;}
3316 case 27:
3317 { setCurrentParams (yyvsp[-1].entrylist); ;
3318     break;}
3319 case 28:
3320 { setImplictfcnConstraints ();
3321      clearCurrentParams ();
3322      yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3323      idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3324      context_popLoc (); 
3325    ;
3326     break;}
3327 case 29:
3328 { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3329     break;}
3330 case 30:
3331 { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3332     break;}
3333 case 31:
3334 { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3335     break;}
3336 case 32:
3337
3338      int value;
3339
3340      if (exprNode_hasValue (yyvsp[-2].expr) 
3341          && multiVal_isInt (exprNode_getValue (yyvsp[-2].expr)))
3342        {
3343          value = (int) multiVal_forceInt (exprNode_getValue (yyvsp[-2].expr));
3344        }
3345      else
3346        {
3347          value = 0;
3348        }
3349
3350      yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), value));
3351    ;
3352     break;}
3353 case 33:
3354 { setCurrentParams (uentryList_missingParams); ;
3355     break;}
3356 case 34:
3357 {
3358      ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp), 
3359                                     uentryList_makeMissingParams ());
3360      
3361      yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
3362      idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3363      context_popLoc (); 
3364    ;
3365     break;}
3366 case 35:
3367 { setCurrentParams (yyvsp[-1].entrylist); ;
3368     break;}
3369 case 36:
3370
3371      clearCurrentParams ();
3372      yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
3373      idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3374      context_popLoc (); 
3375    ;
3376     break;}
3377 case 37:
3378 { setCurrentParams (yyvsp[-1].entrylist); ;
3379     break;}
3380 case 38:
3381 { clearCurrentParams (); ;
3382     break;}
3383 case 39:
3384 { declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist); ;
3385     break;}
3386 case 40:
3387 { exprNode_checkMacroBody (yyvsp[-1].expr); ;
3388     break;}
3389 case 41:
3390 { exprNode_checkIterBody (yyvsp[-1].expr); ;
3391     break;}
3392 case 42:
3393 { exprNode_checkIterEnd (yyvsp[-1].expr); ;
3394     break;}
3395 case 43:
3396 { exprChecks_checkEmptyMacroBody (); ;
3397     break;}
3398 case 44:
3399 { clabstract_declareFunction (yyvsp[0].ntyp); ;
3400     break;}
3401 case 45:
3402 { yyval.msconstraint = metaStateConstraint_create (yyvsp[-2].msspec, yyvsp[0].msexpr); ;
3403     break;}
3404 case 46:
3405 { cscanner_expectingMetaStateName (); ;
3406     break;}
3407 case 47:
3408 { cscanner_clearExpectingMetaStateName ();
3409       yyval.msspec = metaStateSpecifier_create (yyvsp[-3].sr, yyvsp[0].msinfo); ;
3410     break;}
3411 case 48:
3412 { cscanner_expectingMetaStateName (); ;
3413     break;}
3414 case 49:
3415 { cscanner_clearExpectingMetaStateName ();
3416       yyval.msspec = metaStateSpecifier_createElipsis (yyvsp[0].msinfo); ;
3417     break;}
3418 case 50:
3419 { yyval.msexpr = metaStateExpression_create (yyvsp[0].msspec); ;
3420     break;}
3421 case 51:
3422 { yyval.msexpr = metaStateExpression_createMerge (yyvsp[-2].msspec, yyvsp[0].msexpr); ;
3423     break;}
3424 case 55:
3425 { yyval.conL = constraintList_add (yyvsp[0].conL, yyvsp[-2].con); ;
3426     break;}
3427 case 56:
3428 { yyval.conL = constraintList_single (yyvsp[0].con); ;
3429     break;}
3430 case 57:
3431 {
3432  yyval.con = makeConstraintParse3 (yyvsp[-2].conE, yyvsp[-1].tok, yyvsp[0].conE);
3433  DPRINTF(("Done BufConstraint1\n")); ;
3434     break;}
3435 case 64:
3436 {yyval.conE = constraintExpr_parseMakeUnaryOp (yyvsp[-3].tok, yyvsp[-1].conE);  DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;
3437     break;}
3438 case 65:
3439 {
3440    DPRINTF( ("Got BufConstraintExpr BINary Op ") );
3441    yyval.conE = constraintExpr_parseMakeBinaryOp (yyvsp[-3].conE, yyvsp[-2].tok, yyvsp[-1].conE); ;
3442     break;}
3443 case 66:
3444 { yyval.conE =  constraintExpr_makeTermsRef (yyvsp[0].sr);;
3445     break;}
3446 case 67:
3447 { yyval.conE = constraintExpr_makeIntLiteral (exprNode_getLongValue (yyvsp[0].expr)); ;
3448     break;}
3449 case 68:
3450 { /*@-onlytrans@*/ yyval.sr = checkbufferConstraintClausesId (yyvsp[0].entry); /*@=onlytrans@*/ /*@i523@*/ ;
3451     break;}
3452 case 69:
3453 { yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
3454     break;}
3455 case 70:
3456 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3457     break;}
3458 case 71:
3459 {
3460     /*
3461     char *t; int c; 
3462     t =  cstring_toCharsSafe (exprNode_unparse($3)); 
3463     c = atoi( t );
3464     */
3465     yyval.sr = sRef_makeArrayFetchKnown (yyvsp[-3].sr, exprNode_getLongValue (yyvsp[-1].expr));
3466   ;
3467     break;}
3468 case 72:
3469 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3470     break;}
3471 case 73:
3472 { yyval.sr = yyvsp[-1].sr; ;
3473     break;}
3474 case 74:
3475 { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3476     break;}
3477 case 75:
3478 { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3479     break;}
3480 case 79:
3481 { yyval.funcclauselist = functionClauseList_new (); ;
3482     break;}
3483 case 80:
3484 { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
3485     break;}
3486 case 81:
3487 { yyval.funcclauselist = functionClauseList_new (); ;
3488     break;}
3489 case 82:
3490 { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
3491     break;}
3492 case 83:
3493 { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
3494     break;}
3495 case 84:
3496 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3497     break;}
3498 case 85:
3499 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3500     break;}
3501 case 86:
3502 { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
3503     break;}
3504 case 87:
3505 { yyval.funcclause = yyvsp[0].funcclause; ;
3506     break;}
3507 case 88:
3508 { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
3509     break;}
3510 case 89:
3511 { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
3512     break;}
3513 case 90:
3514 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3515     break;}
3516 case 91:
3517 { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3518     break;}
3519 case 92:
3520 { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
3521     break;}
3522 case 93:
3523 { yyval.funcclause = yyvsp[0].funcclause; ;
3524     break;}
3525 case 94:
3526 { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
3527     break;}
3528 case 95:
3529 { yyval.globsclause = yyvsp[-1].globsclause; ;
3530     break;}
3531 case 96:
3532 { setProcessingGlobalsList (); ;
3533     break;}
3534 case 97:
3535
3536      unsetProcessingGlobals (); 
3537      yyval.globsclause = globalsClause_create (yyvsp[-3].tok, yyvsp[-1].globset); 
3538    ;
3539     break;}
3540 case 98:
3541 { yyval.modsclause = modifiesClause_createNoMods (yyvsp[0].tok); ;
3542     break;}
3543 case 99:
3544 { yyval.modsclause = yyvsp[-1].modsclause; ;
3545     break;}
3546 case 100:
3547 {
3548      context_setProtectVars (); enterParamsTemp (); 
3549      sRef_setGlobalScopeSafe (); 
3550    ;
3551     break;}
3552 case 101:
3553
3554      exitParamsTemp ();
3555      sRef_clearGlobalScopeSafe (); 
3556      context_releaseVars ();
3557      yyval.modsclause = modifiesClause_create (yyvsp[-2].tok, yyvsp[0].srset);
3558    ;
3559     break;}
3560 case 102:
3561 { yyval.flagspec = flagSpec_createPlain (yyvsp[0].cname); ;
3562     break;}
3563 case 103:
3564 { yyval.flagspec = flagSpec_createOr (yyvsp[-2].cname, yyvsp[0].flagspec); ;
3565     break;}
3566 case 106:
3567 { yyval.warnclause = warnClause_undefined; ;
3568     break;}
3569 case 107:
3570 { yyval.warnclause = yyvsp[-1].warnclause; ;
3571     break;}
3572 case 108:
3573 {      
3574      llassert (exprNode_knownStringValue (yyvsp[0].expr));
3575      yyval.warnclause = warnClause_create (yyvsp[-2].tok, yyvsp[-1].flagspec, cstring_copy (multiVal_forceString (exprNode_getValue (yyvsp[0].expr)))); 
3576      exprNode_free (yyvsp[0].expr);
3577    ;
3578     break;}
3579 case 109:
3580 { yyval.warnclause = warnClause_create (yyvsp[-1].tok, yyvsp[0].flagspec, cstring_undefined); ;
3581     break;}
3582 case 110:
3583 { yyval.globset = globSet_single (yyvsp[0].sr); ;
3584     break;}
3585 case 111:
3586 { yyval.globset = globSet_insert (yyvsp[-2].globset, yyvsp[0].sr); ;
3587     break;}
3588 case 112:
3589 { yyval.sr = clabstract_createGlobal (yyvsp[0].sr, yyvsp[-1].tquallist); ;
3590     break;}
3591 case 113:
3592 { yyval.tquallist = qualList_undefined; ;
3593     break;}
3594 case 114:
3595 { yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ;
3596     break;}
3597 case 115:
3598 { yyval.sr = uentry_getSref (yyvsp[0].entry); ;
3599     break;}
3600 case 116:
3601 { yyval.sr = clabstract_unrecognizedGlobal (yyvsp[0].cname); ;
3602     break;}
3603 case 117:
3604 { yyval.sr = clabstract_checkGlobal (yyvsp[0].expr); ;
3605     break;}
3606 case 118:
3607 { yyval.typequal = qual_createUndef (); ;
3608     break;}
3609 case 119:
3610 { yyval.typequal = qual_createKilled (); ;
3611     break;}
3612 case 120:
3613 { yyval.typequal = qual_createOut (); ;
3614     break;}
3615 case 121:
3616 { yyval.typequal = qual_createIn (); ;
3617     break;}
3618 case 122:
3619 { yyval.typequal = qual_createPartial (); ;
3620     break;}
3621 case 130:
3622
3623      /**!!! deal with fred; fred (int); declarations! **/
3624      qtype qint = qtype_create (ctype_int); 
3625      yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3626      qtype_free (qint);
3627    ;
3628     break;}
3629 case 131:
3630 { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3631     break;}
3632 case 132:
3633 { checkDoneParams (); context_enterInnerContext (); ;
3634     break;}
3635 case 133:
3636 {  
3637      exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr; 
3638      context_exitInner (yyvsp[0].expr); 
3639    ;
3640     break;}
3641 case 134:
3642 { context_enterOldStyleScope (); ;
3643     break;}
3644 case 135:
3645 { oldStyleDoneParams (); context_enterInnerContext (); ;
3646     break;}
3647 case 136:
3648 {
3649      exprNode_checkFunctionBody (yyvsp[0].expr); 
3650      yyval.expr = yyvsp[0].expr; /* oldstyle */ 
3651      context_exitInner (yyvsp[0].expr);
3652    ;
3653     break;}
3654 case 137:
3655
3656      context_setFunctionDefined (exprNode_loc (yyvsp[0].expr)); 
3657      exprNode_checkFunction (context_getHeader (),  yyvsp[0].expr); 
3658      /* DRL 8 8 2000 */
3659      
3660      context_exitFunction ();
3661    ;
3662     break;}
3663 case 138:
3664 { yyval.srset = yyvsp[-1].srset; ;
3665     break;}
3666 case 139:
3667 { yyval.srset = sRefSet_new (); ;
3668     break;}
3669 case 140:
3670 { yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ;
3671     break;}
3672 case 141:
3673 { yyval.sr = fixModifiesId (yyvsp[0].cname); ;
3674     break;}
3675 case 142:
3676 { yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ;
3677     break;}
3678 case 143:
3679 { yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ;
3680     break;}
3681 case 144:
3682 { yyval.sr = modListPointer (yyvsp[0].sr); ;
3683     break;}
3684 case 145:
3685 { yyval.sr = yyvsp[-1].sr; ;
3686     break;}
3687 case 146:
3688 { yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3689     break;}
3690 case 147:
3691 { yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3692     break;}
3693 case 148:
3694 { yyval.sr = yyvsp[0].sr; ;
3695     break;}
3696 case 149:
3697 { yyval.sr = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;
3698     break;}
3699 case 150:
3700 { yyval.srset = sRefSet_single (yyvsp[0].sr); ;
3701     break;}
3702 case 151:
3703 { yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ;
3704     break;}
3705 case 152:
3706 { yyval.sr = checkStateClausesId (yyvsp[0].entry); ;
3707     break;}
3708 case 153:
3709 { yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
3710     break;}
3711 case 154:
3712 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3713     break;}
3714 case 155:
3715 { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ;
3716     break;}
3717 case 156:
3718 { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3719     break;}
3720 case 157:
3721 { yyval.sr = yyvsp[-1].sr; ;
3722     break;}
3723 case 158:
3724 { cstring_markOwned (yyvsp[0].cname);
3725                                             yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3726     break;}
3727 case 159:
3728 { cstring_markOwned (yyvsp[0].cname);
3729                                             yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3730     break;}
3731 case 160:
3732 { yyval.srset = sRefSet_undefined ;
3733     break;}
3734 case 162:
3735 { if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_single (yyvsp[0].sr); } 
3736       else { yyval.srset = sRefSet_undefined; } 
3737     ;
3738     break;}
3739 case 163:
3740 { if (sRef_isValid (yyvsp[0].sr))
3741         {
3742           yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); 
3743         }
3744       else
3745         {
3746           yyval.srset = yyvsp[-2].srset;
3747         }
3748     ;
3749     break;}
3750 case 164:
3751 { yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ;
3752     break;}
3753 case 165:
3754 { yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ;
3755     break;}
3756 case 167:
3757 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
3758     break;}
3759 case 168:
3760 { yyval.expr = exprNode_fromIdentifier (coerceId (yyvsp[0].cname)); ;
3761     break;}
3762 case 169:
3763 { yyval.expr = exprNode_makeError (); ;
3764     break;}
3765 case 170:
3766 { exprChecks_inCompoundStatementExpression (); ;
3767     break;}
3768 case 171:
3769 { exprChecks_leaveCompoundStatementExpression (); yyval.expr = exprNode_compoundStatementExpression (yyvsp[-3].tok, yyvsp[-1].expr); ;
3770     break;}
3771 case 173:
3772 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
3773     break;}
3774 case 174:
3775 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
3776     break;}
3777 case 175:
3778 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
3779     break;}
3780 case 176:
3781 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
3782     break;}
3783 case 177:
3784 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
3785     break;}
3786 case 178:
3787 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
3788     break;}
3789 case 179:
3790 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3791     break;}
3792 case 180:
3793 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3794     break;}
3795 case 181:
3796 { /* added for C99 */ yyval.expr = exprNode_undefined; /*@i87 no checking */ ;
3797     break;}
3798 case 182:
3799 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
3800     break;}
3801 case 183:
3802 { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
3803     break;}
3804 case 185:
3805 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3806     break;}
3807 case 186:
3808 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3809     break;}
3810 case 187:
3811 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3812     break;}
3813 case 188:
3814 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3815     break;}
3816 case 189:
3817 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3818     break;}
3819 case 190:
3820 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3821     break;}
3822 case 191:
3823 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3824     break;}
3825 case 192:
3826 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3827     break;}
3828 case 193:
3829 { yyval.expr = yyvsp[0].expr; ;
3830     break;}
3831 case 194:
3832 { yyval.expr = yyvsp[0].expr; ;
3833     break;}
3834 case 195:
3835 { yyval.cstringlist = cstringList_add (yyvsp[-2].cstringlist, yyvsp[0].cname); ;
3836     break;}
3837 case 196:
3838 { yyval.cstringlist = cstringList_single (yyvsp[0].cname); ;
3839     break;}
3840 case 197:
3841 { yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cstringlist); ;
3842     break;}
3843 case 198:
3844 { context_setProtectVars (); ;
3845     break;}
3846 case 199:
3847 { context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ;
3848     break;}
3849 case 200:
3850 { yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); ;
3851     break;}
3852 case 201:
3853 { yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); ;
3854     break;}
3855 case 202:
3856 { yyval.expr = exprNode_alignofType (yyvsp[-1].qtyp); ;
3857     break;}
3858 case 203:
3859 { yyval.expr = exprNode_alignofExpr (yyvsp[0].expr); ;
3860     break;}
3861 case 205:
3862 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
3863     break;}
3864 case 207:
3865 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3866     break;}
3867 case 208:
3868 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3869     break;}
3870 case 209:
3871 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3872     break;}
3873 case 211:
3874 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3875     break;}
3876 case 212:
3877 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3878     break;}
3879 case 214:
3880 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3881     break;}
3882 case 215:
3883 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3884     break;}
3885 case 217:
3886 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3887     break;}
3888 case 218:
3889 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3890     break;}
3891 case 219:
3892 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3893     break;}
3894 case 220:
3895 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3896     break;}
3897 case 222:
3898 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3899     break;}
3900 case 223:
3901 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3902     break;}
3903 case 225:
3904 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3905     break;}
3906 case 227:
3907 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3908     break;}
3909 case 229:
3910 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3911     break;}
3912 case 231:
3913 { exprNode_produceGuards (yyvsp[-1].expr); 
3914      context_enterAndClause (yyvsp[-1].expr); 
3915    ;
3916     break;}
3917 case 232:
3918
3919      yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok); 
3920      context_exitAndClause (yyval.expr, yyvsp[0].expr);
3921    ;
3922     break;}
3923 case 234:
3924
3925      exprNode_produceGuards (yyvsp[-1].expr);
3926      context_enterOrClause (yyvsp[-1].expr); 
3927    ;
3928     break;}
3929 case 235:
3930
3931      yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok); 
3932      context_exitOrClause (yyval.expr, yyvsp[0].expr);
3933    ;
3934     break;}
3935 case 237:
3936 { exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
3937     break;}
3938 case 238:
3939 { context_enterFalseClause (yyvsp[-4].expr); ;
3940     break;}
3941 case 239:
3942 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); context_exitClause (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
3943     break;}
3944 case 241:
3945 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3946     break;}
3947 case 242:
3948 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3949     break;}
3950 case 243:
3951 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3952     break;}
3953 case 244:
3954 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3955     break;}
3956 case 245:
3957 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3958     break;}
3959 case 246:
3960 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3961     break;}
3962 case 247:
3963 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3964     break;}
3965 case 248:
3966 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3967     break;}
3968 case 249:
3969 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3970     break;}
3971 case 250:
3972 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3973     break;}
3974 case 251:
3975 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3976     break;}
3977 case 253:
3978 { yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ;
3979     break;}
3980 case 254:
3981 { yyval.expr = exprNode_undefined; ;
3982     break;}
3983 case 257:
3984 { yyval.expr = yyvsp[0].expr; ;
3985     break;}
3986 case 258:
3987 { doVaDcl (); yyval.expr = exprNode_makeError (); ;
3988     break;}
3989 case 259:
3990 { yyval.expr = exprNode_makeError (); ;
3991     break;}
3992 case 260:
3993 { yyval.expr = exprNode_makeError (); ;
3994     break;}
3995 case 261:
3996 {
3997      setProcessingVars (yyvsp[-3].qtyp); 
3998      processNamedDecl (yyvsp[-1].ntyp); 
3999    ;
4000     break;}
4001 case 262:
4002
4003      unsetProcessingVars (); 
4004      yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-6].ntyp); 
4005      DPRINTF (("Empty initialization: %s", exprNode_unparse (yyval.expr)));
4006    ;
4007     break;}
4008 case 263:
4009 { setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp); ;
4010     break;}
4011 case 264:
4012 { yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr)); 
4013      unsetProcessingVars ();
4014    ;
4015     break;}
4016 case 265:
4017
4018      processNamedDecl (yyvsp[-1].ntyp); 
4019      yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-1].ntyp);
4020    ;
4021     break;}
4022 case 266:
4023 { processNamedDecl (yyvsp[-2].ntyp); ;
4024     break;}
4025 case 267:
4026 { yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ;
4027     break;}
4028 case 268:
4029 { setProcessingTypedef (yyvsp[0].qtyp); ;
4030     break;}
4031 case 269:
4032 { clabstract_declareType (yyvsp[-3].exprlist, yyvsp[-1].warnclause); ;
4033     break;}
4034 case 270:
4035 { /* in the ANSI grammar, semantics unclear */ ;
4036     break;}
4037 case 271:
4038 { /* in the ANSI grammar, semantics unclear */ ;
4039     break;}
4040 case 272:
4041 { g_expectingTypeName = TRUE; ;
4042     break;}
4043 case 273:
4044 { g_expectingTypeName = TRUE; context_pushLoc (); ;
4045     break;}
4046 case 274:
4047 { yyval.exprlist = yyvsp[-1].exprlist; ;
4048     break;}
4049 case 275:
4050 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4051     break;}
4052 case 276:
4053 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
4054     break;}
4055 case 277:
4056 { yyval.expr = exprNode_makeError (); ;
4057     break;}
4058 case 278:
4059 { yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ;
4060     break;}
4061 case 280:
4062 { yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].exprlist); ;
4063     break;}
4064 case 281:
4065 { yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].exprlist); ;
4066     break;}
4067 case 282:
4068 { yyval.expr = exprNode_undefined; ;
4069     break;}
4070 case 283:
4071 { yyval.expr = yyvsp[-1].expr; ;
4072     break;}
4073 case 284:
4074 { yyval.expr = exprNode_undefined; 
4075                                      /* gcc extension, obsolete since 2.5 */ ;
4076     break;}
4077 case 285:
4078 { yyval.expr = exprNode_undefined; ;
4079     break;}
4080 case 286:
4081 { yyval.expr = exprNode_undefined; ;
4082     break;}
4083 case 287:
4084 { yyval.expr = exprNode_undefined; ;
4085     break;}
4086 case 288:
4087 { yyval.expr = exprNode_undefined; ;
4088     break;}
4089 case 289:
4090 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4091     break;}
4092 case 290:
4093 { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
4094     break;}
4095 case 291:
4096 { setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ;
4097     break;}
4098 case 292:
4099 { yyval.typequal = qual_createInline (); ;
4100     break;}
4101 case 293:
4102 { setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ;
4103     break;}
4104 case 294:
4105 { yyval.typequal = qual_createAuto (); ;
4106     break;}
4107 case 295:
4108 { yyval.typequal = qual_createRegister (); ;
4109     break;}
4110 case 296:
4111 { yyval.stateclause = yyvsp[-1].stateclause; ;
4112     break;}
4113 case 297:
4114 {
4115      context_setProtectVars (); 
4116      enterParamsTemp (); 
4117      sRef_setGlobalScopeSafe (); 
4118    ;
4119     break;}
4120 case 298:
4121
4122      exitParamsTemp ();
4123      sRef_clearGlobalScopeSafe (); 
4124      context_releaseVars ();
4125      yyval.stateclause = stateClause_createPlain (yyvsp[-5].tok, yyvsp[-2].srset);
4126    ;
4127     break;}
4128 case 299:
4129 { yyval.funcclause = yyvsp[-1].funcclause; ;
4130     break;}
4131 case 300:
4132 { yyval.tok = yyvsp[-1].tok; context_enterFunctionHeader (); ;
4133     break;}
4134 case 301:
4135 {
4136      context_exitFunctionHeader ();
4137      context_setProtectVars (); 
4138      enterParamsTemp (); 
4139      sRef_setGlobalScopeSafe (); 
4140    ;
4141     break;}
4142 case 302:
4143
4144      exitParamsTemp ();
4145      sRef_clearGlobalScopeSafe (); 
4146      context_releaseVars ();
4147      yyval.funcclause = functionClause_createState (stateClause_create (yyvsp[-5].tok, yyvsp[-4].typequal, yyvsp[-2].srset));
4148    ;
4149     break;}
4150 case 303:
4151 {
4152      context_setProtectVars (); 
4153      enterParamsTemp (); 
4154      sRef_setGlobalScopeSafe (); 
4155    ;
4156     break;}
4157 case 304:
4158 {
4159      context_exitFunctionHeader ();
4160      exitParamsTemp ();
4161      sRef_clearGlobalScopeSafe (); 
4162      context_releaseVars ();
4163      DPRINTF (("done optGlobBufConstraintsAux\n"));
4164
4165      if (lltok_isEnsures (yyvsp[-4].tok)) 
4166        {
4167          yyval.funcclause = functionClause_createEnsures (yyvsp[-2].fcnconstraint);
4168        }
4169      else if (lltok_isRequires (yyvsp[-4].tok))
4170        {
4171          yyval.funcclause = functionClause_createRequires (yyvsp[-2].fcnconstraint);
4172        }
4173      else
4174        {
4175          BADBRANCH;
4176        }
4177
4178      DPRINTF (("FunctionclauseS: %s", functionClause_unparse (yyval.funcclause)));
4179    ;
4180     break;}
4181 case 305:
4182 { yyval.fcnconstraint = functionConstraint_createBufferConstraint (yyvsp[0].conL); ;
4183     break;}
4184 case 306:
4185 { yyval.fcnconstraint = functionConstraint_createMetaStateConstraint (yyvsp[0].msconstraint); DPRINTF (("Made constraint: %s", functionConstraint_unparse (yyval.fcnconstraint))); ;
4186     break;}
4187 case 307:
4188 { yyval.typequal = qual_createExits (); ;
4189     break;}
4190 case 308:
4191 { yyval.typequal = qual_createMayExit (); ;
4192     break;}
4193 case 309:
4194 { yyval.typequal = qual_createTrueExit (); ;
4195     break;}
4196 case 310:
4197 { yyval.typequal = qual_createFalseExit (); ;
4198     break;}
4199 case 311:
4200 { yyval.typequal = qual_createNeverExit (); ;
4201     break;}
4202 case 312:
4203 { yyval.typequal = qual_createChecked (); ;
4204     break;}
4205 case 313:
4206 { yyval.typequal = qual_createCheckMod (); ;
4207     break;}
4208 case 314:
4209 { yyval.typequal = qual_createUnchecked (); ;
4210     break;}
4211 case 315:
4212 { yyval.typequal = qual_createCheckedStrict (); ;
4213     break;}
4214 case 316:
4215 { yyval.typequal = qual_createOwned (); ;
4216     break;}
4217 case 317:
4218 { yyval.typequal = qual_createDependent (); ;
4219     break;}
4220 case 318:
4221 { yyval.typequal = qual_createYield (); ;
4222     break;}
4223 case 319:
4224 { yyval.typequal = qual_createTemp (); ;
4225     break;}
4226 case 320:
4227 { yyval.typequal = qual_createOnly (); ;
4228     break;}
4229 case 321:
4230 { yyval.typequal = qual_createKeep (); ;
4231     break;}
4232 case 322:
4233 { yyval.typequal = qual_createKept (); ;
4234     break;}
4235 case 323:
4236 { yyval.typequal = qual_createShared (); ;
4237     break;}
4238 case 324:
4239 { yyval.typequal = qual_createUnique (); ;
4240     break;}
4241 case 325:
4242 { yyval.typequal = qual_createNull (); ;
4243     break;}
4244 case 326:
4245 { yyval.typequal = qual_createIsNull (); ;
4246     break;}
4247 case 327:
4248 { yyval.typequal = qual_createRelNull (); ;
4249     break;}
4250 case 328:
4251 { yyval.typequal = qual_createNotNull (); ;
4252     break;}
4253 case 329:
4254 { yyval.typequal = qual_createExposed (); ;
4255     break;}
4256 case 330:
4257 { yyval.typequal = qual_createObserver (); ;
4258     break;}
4259 case 331:
4260 { yyval.typequal = qual_createNullTerminated (); ;
4261     break;}
4262 case 332:
4263 { yyval.typequal = qual_createMetaState (yyvsp[0].annotation); ;
4264     break;}
4265 case 333:
4266 { yyval.typequal = qual_createReturned (); ;
4267     break;}
4268 case 334:
4269 { yyval.typequal = qual_createSef (); ;
4270     break;}
4271 case 335:
4272 { yyval.typequal = qual_createUnused (); ;
4273     break;}
4274 case 336:
4275 { yyval.typequal = qual_createExternal (); ;
4276     break;}
4277 case 337:
4278 { yyval.typequal = qual_createTrueNull (); ;
4279     break;}
4280 case 338:
4281 { yyval.typequal = qual_createFalseNull (); ;
4282     break;}
4283 case 339:
4284 { yyval.typequal = qual_createAbstract (); ;
4285     break;}
4286 case 340:
4287 { yyval.typequal = qual_createConcrete (); ;
4288     break;}
4289 case 341:
4290 { yyval.typequal = qual_createMutable (); ;
4291     break;}
4292 case 342:
4293 { yyval.typequal = qual_createImmutable (); ;
4294     break;}
4295 case 343:
4296 { yyval.typequal = qual_createRefCounted (); ;
4297     break;}
4298 case 344:
4299 { yyval.typequal = qual_createRefs (); ;
4300     break;}
4301 case 345:
4302 { yyval.typequal = qual_createKillRef (); ;
4303     break;}
4304 case 346:
4305 { yyval.typequal = qual_createRelDef (); ;
4306     break;}
4307 case 347:
4308 { yyval.typequal = qual_createNewRef (); ;
4309     break;}
4310 case 348:
4311 { yyval.typequal = qual_createTempRef (); ;
4312     break;}
4313 case 349:
4314 { yyval.typequal = qual_createShort (); ;
4315     break;}
4316 case 350:
4317 { yyval.typequal = qual_createLong (); ;
4318     break;}
4319 case 351:
4320 { yyval.typequal = qual_createSigned (); ;
4321     break;}
4322 case 352:
4323 { yyval.typequal = qual_createUnsigned (); ;
4324     break;}
4325 case 353:
4326 { yyval.typequal = qual_createOut (); ;
4327     break;}
4328 case 354:
4329 { yyval.typequal = qual_createIn (); ;
4330     break;}
4331 case 355:
4332 { yyval.typequal = qual_createPartial (); ;
4333     break;}
4334 case 356:
4335 { yyval.typequal = qual_createSpecial (); ;
4336     break;}
4337 case 357:
4338 { yyval.typequal = qual_createConst (); ;
4339     break;}
4340 case 358:
4341 { yyval.typequal = qual_createVolatile (); ;
4342     break;}
4343 case 359:
4344 { yyval.typequal = yyvsp[-1].typequal; ;
4345     break;}
4346 case 360:
4347 { yyval.typequal = yyvsp[-1].typequal; ;
4348     break;}
4349 case 361:
4350 { yyval.typequal = yyvsp[-1].typequal; ;
4351     break;}
4352 case 362:
4353 { yyval.typequal = yyvsp[-1].typequal; ;
4354     break;}
4355 case 363:
4356 { yyval.typequal = yyvsp[-1].typequal; ;
4357     break;}
4358 case 364:
4359 { yyval.typequal = yyvsp[-1].typequal; ;
4360     break;}
4361 case 365:
4362 { yyval.typequal = yyvsp[-1].typequal; ;
4363     break;}
4364 case 366:
4365 { yyval.typequal = yyvsp[-1].typequal; ;
4366     break;}
4367 case 367:
4368 { yyval.typequal = yyvsp[-1].typequal; ;
4369     break;}
4370 case 374:
4371 { yyval.ctyp = ctype_makeAnytype (); ;
4372     break;}
4373 case 375:
4374 { yyval.ctyp = ctype_anyintegral; ;
4375     break;}
4376 case 376:
4377 { yyval.ctyp = ctype_unsignedintegral; ;
4378     break;}
4379 case 377:
4380 { yyval.ctyp = ctype_signedintegral; ;
4381     break;}
4382 case 381:
4383 { yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ;
4384     break;}
4385 case 382:
4386 { yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ;
4387     break;}
4388 case 383:
4389 { yyval.qtyp = yyvsp[0].qtyp; ;
4390     break;}
4391 case 384:
4392 { yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ;
4393     break;}
4394 case 386:
4395 { yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ;
4396     break;}
4397 case 387:
4398 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4399     break;}
4400 case 388:
4401 { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4402     break;}
4403 case 389:
4404 { yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ;
4405     break;}
4406 case 390:
4407 { yyval.qtyp = qtype_unknown (); ;
4408     break;}
4409 case 391:
4410 { yyval.qtyp = yyvsp[0].qtyp; ;
4411     break;}
4412 case 392:
4413 { yyval.conL = constraintList_undefined; ;
4414     break;}
4415 case 393:
4416 { sRef_setGlobalScopeSafe (); ;
4417     break;}
4418 case 394:
4419 { sRef_clearGlobalScopeSafe (); ;
4420     break;}
4421 case 395:
4422 { ctype ct; ct = declareStruct (yyvsp[-9].cname, yyvsp[-4].flist); /* setGlobalStructInfo(ct, $12);*/ yyval.ctyp = ct; ;
4423     break;}
4424 case 396:
4425 { sRef_setGlobalScopeSafe (); ;
4426     break;}
4427 case 397:
4428 { sRef_clearGlobalScopeSafe (); ;
4429     break;}
4430 case 398:
4431 { yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ;
4432     break;}
4433 case 399:
4434 { yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ;
4435     break;}
4436 case 400:
4437 { yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ;
4438     break;}
4439 case 401:
4440 { sRef_setGlobalScopeSafe (); ;
4441     break;}
4442 case 402:
4443 { sRef_clearGlobalScopeSafe (); ;
4444     break;}
4445 case 403:
4446 { yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ;
4447     break;}
4448 case 404:
4449 { sRef_setGlobalScopeSafe (); ;
4450     break;}
4451 case 405:
4452 { sRef_clearGlobalScopeSafe (); ;
4453     break;}
4454 case 406:
4455 { yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ;
4456     break;}
4457 case 407:
4458 { yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ;
4459     break;}
4460 case 408:
4461 { yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ;
4462     break;}
4463 case 409:
4464 { yyval.ctyp = handleStruct (yyvsp[-1].cname); ;
4465     break;}
4466 case 410:
4467 { yyval.ctyp = handleUnion (yyvsp[-1].cname); ;
4468     break;}
4469 case 411:
4470 { g_expectingTypeName = FALSE; ;
4471     break;}
4472 case 413:
4473 { yyval.flist = uentryList_undefined; /* bogus! */ ;
4474     break;}
4475 case 414:
4476 { yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ;
4477     break;}
4478 case 415:
4479 { yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ;
4480     break;}
4481 case 416:
4482 { yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ;
4483     break;}
4484 case 417:
4485 { yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ;
4486     break;}
4487 case 418:
4488 { yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ;
4489     break;}
4490 case 419:
4491 { yyval.ntyp = yyvsp[0].ntyp; ;
4492     break;}
4493 case 420:
4494 { yyval.ntyp = idDecl_undefined; ;
4495     break;}
4496 case 421:
4497 { yyval.ntyp = yyvsp[-3].ntyp; ;
4498     break;}
4499 case 422:
4500 { yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ;
4501     break;}
4502 case 423:
4503 { context_pushLoc (); ;
4504     break;}
4505 case 424:
4506 { context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ;
4507     break;}
4508 case 425:
4509 { yyval.ctyp = handleEnum (yyvsp[-1].cname); ;
4510     break;}
4511 case 426:
4512 { yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ;
4513     break;}
4514 case 427:
4515 { yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ;
4516     break;}
4517 case 429:
4518 { uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown);
4519      usymtab_supGlobalEntry (ue);
4520      yyval.cname = yyvsp[0].cname;
4521    ;
4522     break;}
4523 case 430:
4524 { uentry ue = uentry_makeEnumInitializedConstant (yyvsp[-3].cname, ctype_unknown, yyvsp[0].expr);
4525      usymtab_supGlobalEntry (ue);
4526      yyval.cname = yyvsp[-3].cname; 
4527    ;
4528     break;}
4529 case 432:
4530 { yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ;
4531     break;}
4532 case 433:
4533
4534      qtype qt = qtype_unknown ();
4535
4536      qtype_adjustPointers (yyvsp[-1].count, qt);
4537      yyval.ntyp = idDecl_create (cstring_copy (LastIdentifier ()), qt);
4538    ;
4539     break;}
4540 case 434:
4541 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4542     break;}
4543 case 436:
4544 { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4545     break;}
4546 case 437:
4547 { yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ;
4548     break;}
4549 case 438:
4550 { yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ;
4551     break;}
4552 case 439:
4553 { /* ignored for now */; ;
4554     break;}
4555 case 440:
4556 { ; ;
4557     break;}
4558 case 441:
4559 { ; ;
4560     break;}
4561 case 442:
4562 { ; ;
4563     break;}
4564 case 443:
4565 { yyval.count = 1; ;
4566     break;}
4567 case 444:
4568 { yyval.count = 1; ;
4569     break;}
4570 case 445:
4571 { yyval.count = 1 + yyvsp[0].count; ;
4572     break;}
4573 case 446:
4574 { yyval.count = 1 + yyvsp[0].count; ;
4575     break;}
4576 case 448:
4577 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4578     break;}
4579 case 449:
4580 { yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4581     break;}
4582 case 450:
4583 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4584     break;}
4585 case 451:
4586 { yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ;
4587     break;}
4588 case 453:
4589 { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4590     break;}
4591 case 454:
4592 { storeLoc (); ;
4593     break;}
4594 case 455:
4595 { yyval.entrylist = uentryList_single (yyvsp[0].oentry); ;
4596     break;}
4597 case 456:
4598 { storeLoc (); ;
4599     break;}
4600 case 457:
4601 { yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ;
4602     break;}
4603 case 458:
4604
4605      if (isFlipOldStyle ()) 
4606        { 
4607          llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)")); 
4608        }
4609      else 
4610        { 
4611          setNewStyle (); 
4612        }
4613      yyval.oentry = makeCurrentParam (idDecl_fixParamBase (yyvsp[-1].ntyp, yyvsp[-2].qtyp)); 
4614    ;
4615     break;}
4616 case 459:
4617
4618      idDecl tparam = idDecl_create (yyvsp[0].cname, qtype_unknown ());
4619
4620      if (isNewStyle ()) 
4621        {
4622          llparseerror (message ("Inconsistent function parameter syntax: %q",
4623                                 idDecl_unparse (tparam))); 
4624        }
4625
4626      setFlipOldStyle ();
4627      yyval.oentry = makeCurrentParam (tparam);
4628      idDecl_free (tparam);
4629    ;
4630     break;}
4631 case 461:
4632 { yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ;
4633     break;}
4634 case 462:
4635 { yyval.ctyp = ctype_adjustPointers (yyvsp[0].count, ctype_unknown); ;
4636     break;}
4637 case 464:
4638 { yyval.ctyp = ctype_adjustPointers (yyvsp[-1].count, yyvsp[0].ctyp); ;
4639     break;}
4640 case 465:
4641 { yyval.ctyp = ctype_unknown; ;
4642     break;}
4643 case 467:
4644 { yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ;
4645     break;}
4646 case 468:
4647 { yyval.ctyp = ctype_makeArray (ctype_unknown); ;
4648     break;}
4649 case 469:
4650 { yyval.ctyp = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue (yyvsp[-1].expr)); ;
4651     break;}
4652 case 470:
4653 { yyval.ctyp = ctype_makeInnerArray (yyvsp[-2].ctyp); ;
4654     break;}
4655 case 471:
4656 { yyval.ctyp = ctype_makeInnerFixedArray (yyvsp[-3].ctyp, exprNode_getLongValue (yyvsp[-1].expr)); ;
4657     break;}
4658 case 472:
4659 { yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;
4660     break;}
4661 case 473:
4662 { yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ;
4663     break;}
4664 case 474:
4665 { yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ;
4666     break;}
4667 case 475:
4668 { yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ;
4669     break;}
4670 case 485:
4671 { yyval.expr = yyvsp[0].expr; ;
4672     break;}
4673 case 488:
4674 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4675     break;}
4676 case 489:
4677 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ;
4678     break;}
4679 case 490:
4680 { yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ;
4681     break;}
4682 case 491:
4683 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
4684     break;}
4685 case 492:
4686 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ;
4687     break;}
4688 case 493:
4689 { context_setProtectVars (); ;
4690     break;}
4691 case 494:
4692 { context_sizeofReleaseVars (); ;
4693     break;}
4694 case 495:
4695 { yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr); 
4696      context_enterForClause (yyvsp[-5].expr); ;
4697     break;}
4698 case 496:
4699 { setProcessingIterVars (yyvsp[-2].entry); ;
4700     break;}
4701 case 497:
4702 { yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].exprlist); ;
4703     break;}
4704 case 498:
4705 { yyval.expr = exprNode_createId (yyvsp[0].entry); ;
4706     break;}
4707 case 502:
4708 { yyval.expr = yyvsp[-1].expr; DPRINTF (("def stmt: %s", exprNode_unparse (yyval.expr))); ;
4709     break;}
4710 case 510:
4711 { yyval.expr = yyvsp[-1].expr; ;
4712     break;}
4713 case 511:
4714 { yyval.expr = exprNode_makeError (); ;
4715     break;}
4716 case 512:
4717 { exprNode_checkIfPred (yyvsp[0].expr); ;
4718     break;}
4719 case 513:
4720 { /* don't: context_exitTrueClause ($1, $2); */
4721      yyval.expr = exprNode_if (yyvsp[-2].expr, yyvsp[0].expr); 
4722    ;
4723     break;}
4724 case 514:
4725 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4726     break;}
4727 case 515:
4728 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4729     break;}
4730 case 526:
4731 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4732     break;}
4733 case 528:
4734 { yyval.expr = exprNode_makeError (); ;
4735     break;}
4736 case 529:
4737 { yyval.expr = exprNode_labelMarker (yyvsp[-1].cname); ;
4738     break;}
4739 case 530:
4740 { yyval.expr = exprNode_notReached (yyvsp[0].expr); ;
4741     break;}
4742 case 531:
4743 { ; ;
4744     break;}
4745 case 532:
4746 { ; ;
4747     break;}
4748 case 533:
4749 { context_enterCaseClause (yyvsp[0].expr); ;
4750     break;}
4751 case 534:
4752 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, FALSE); ;
4753     break;}
4754 case 535:
4755 { context_enterCaseClause (yyvsp[0].expr); ;
4756     break;}
4757 case 536:
4758 { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, TRUE); ;
4759     break;}
4760 case 537:
4761 { context_enterCaseClause (exprNode_undefined); ;
4762     break;}
4763 case 538:
4764 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, FALSE); ;
4765     break;}
4766 case 539:
4767 { context_enterCaseClause (exprNode_undefined); ;
4768     break;}
4769 case 540:
4770 { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, TRUE); ;
4771     break;}
4772 case 541:
4773 { yyval.expr = yyvsp[-1].expr; ;
4774     break;}
4775 case 542:
4776 { yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ;
4777     break;}
4778 case 543:
4779 { yyval.expr = yyvsp[-1].expr; ;
4780     break;}
4781 case 544:
4782 { context_enterInnerContext (); ;
4783     break;}
4784 case 545:
4785 { context_exitInnerPlain (); ;
4786     break;}
4787 case 546:
4788 { context_enterStructInnerContext (); ;
4789     break;}
4790 case 547:
4791 { context_exitStructInnerContext (); ;
4792     break;}
4793 case 548:
4794 { context_exitInnerSafe (); ;
4795     break;}
4796 case 549:
4797 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4798     break;}
4799 case 550:
4800 { yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ;
4801     break;}
4802 case 551:
4803 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4804     break;}
4805 case 552:
4806 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
4807     break;}
4808 case 553:
4809 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4810     break;}
4811 case 554:
4812 { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
4813     break;}
4814 case 555:
4815 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
4816     break;}
4817 case 556:
4818 { yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr), 
4819                                                         lltok_getLoc (yyvsp[-1].tok))); 
4820    ;
4821     break;}
4822 case 557:
4823 { yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ;
4824     break;}
4825 case 558:
4826 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4827     break;}
4828 case 559:
4829 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4830     break;}
4831 case 560:
4832 { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4833     break;}
4834 case 561:
4835 { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
4836     break;}
4837 case 563:
4838 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4839     break;}
4840 case 564:
4841 { yyval.expr = yyvsp[0].expr; ;
4842     break;}
4843 case 565:
4844 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4845     break;}
4846 case 566:
4847 { yyval.expr = yyvsp[0].expr; ;
4848     break;}
4849 case 567:
4850 { yyval.expr = exprNode_concat (yyvsp[-2].expr, yyvsp[0].expr); ;
4851     break;}
4852 case 568:
4853 { yyval.expr = yyvsp[0].expr; ;
4854     break;}
4855 case 569:
4856 { yyval.expr = yyvsp[-2].expr; ;
4857     break;}
4858 case 570:
4859 { yyval.expr = yyvsp[0].expr; ;
4860     break;}
4861 case 571:
4862 { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4863     break;}
4864 case 572:
4865 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4866     break;}
4867 case 573:
4868 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
4869     break;}
4870 case 574:
4871 { yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4872     break;}
4873 case 575:
4874 { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
4875     break;}
4876 case 576:
4877 { yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ;
4878     break;}
4879 case 577:
4880
4881      exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); 
4882      exprNode_checkIfPred (yyvsp[-1].expr);
4883      yyval.expr = yyvsp[-1].expr;
4884    ;
4885     break;}
4886 case 578:
4887
4888      context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr);
4889      yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr); 
4890    ;
4891     break;}
4892 case 579:
4893 { context_enterFalseClause (yyvsp[-2].expr); ;
4894     break;}
4895 case 580:
4896 {
4897      context_exitClause (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
4898      yyval.expr = exprNode_ifelse (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr); 
4899    ;
4900     break;}
4901 case 581:
4902 { context_enterSwitch (yyvsp[0].expr); ;
4903     break;}
4904 case 582:
4905 { yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ;
4906     break;}
4907 case 583:
4908 { yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ;
4909     break;}
4910 case 584:
4911 { yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ;
4912     break;}
4913 case 585:
4914 { context_enterIterClause (); ;
4915     break;}
4916 case 586:
4917 { setProcessingIterVars (yyvsp[-3].entry); ;
4918     break;}
4919 case 587:
4920
4921      yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].exprlist, yyvsp[-2].expr, yyvsp[-1].entry); 
4922
4923    ;
4924     break;}
4925 case 588:
4926 { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
4927     break;}
4928 case 589:
4929 { nextIterParam (); ;
4930     break;}
4931 case 590:
4932 { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
4933     break;}
4934 case 591:
4935 { yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ;
4936     break;}
4937 case 592:
4938 { yyval.expr = exprNode_iterId (yyvsp[0].entry); ;
4939     break;}
4940 case 593:
4941 { uentry ue = coerceIterId (yyvsp[0].cname);
4942
4943                       if (uentry_isValid (ue)) 
4944                         {
4945                           yyval.expr = exprNode_iterId (ue);
4946                         }
4947                       else
4948                         {
4949                           yyval.expr = exprNode_iterNewId (cstring_copy (LastIdentifier ()));
4950                         }
4951                     ;
4952     break;}
4953 case 594:
4954 { yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ;
4955     break;}
4956 case 596:
4957 { yyval.expr = exprNode_combineLiterals (yyvsp[-1].expr, yyvsp[0].expr); ;
4958     break;}
4959 case 598:
4960 { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4961     break;}
4962 case 600:
4963 { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
4964     break;}
4965 case 601:
4966 { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
4967     break;}
4968 case 602:
4969 { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
4970     break;}
4971 case 603:
4972 { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
4973     break;}
4974 case 604:
4975 { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
4976     break;}
4977 case 605:
4978 { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
4979     break;}
4980 case 606:
4981 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
4982     break;}
4983 case 607:
4984 { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
4985     break;}
4986 case 609:
4987 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4988     break;}
4989 case 610:
4990 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4991     break;}
4992 case 611:
4993 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4994     break;}
4995 case 612:
4996 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4997     break;}
4998 case 613:
4999 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5000     break;}
5001 case 614:
5002 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5003     break;}
5004 case 615:
5005 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5006     break;}
5007 case 616:
5008 { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5009     break;}
5010 case 617:
5011 { yyval.expr = yyvsp[0].expr; ;
5012     break;}
5013 case 619:
5014 { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
5015     break;}
5016 case 621:
5017 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5018     break;}
5019 case 622:
5020 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5021     break;}
5022 case 623:
5023 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5024     break;}
5025 case 625:
5026 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5027     break;}
5028 case 626:
5029 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5030     break;}
5031 case 628:
5032 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5033     break;}
5034 case 629:
5035 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5036     break;}
5037 case 631:
5038 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5039     break;}
5040 case 632:
5041 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5042     break;}
5043 case 633:
5044 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5045     break;}
5046 case 634:
5047 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5048     break;}
5049 case 636:
5050 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5051     break;}
5052 case 637:
5053 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5054     break;}
5055 case 639:
5056 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5057     break;}
5058 case 641:
5059 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5060     break;}
5061 case 643:
5062 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5063     break;}
5064 case 645:
5065 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5066     break;}
5067 case 647:
5068 { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5069     break;}
5070 case 649:
5071 { context_enterTrueClause (yyvsp[-1].expr); ;
5072     break;}
5073 case 650:
5074 { context_enterFalseClause (yyvsp[-4].expr); ;
5075     break;}
5076 case 651:
5077 { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
5078     break;}
5079 case 653:
5080 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5081     break;}
5082 case 654:
5083 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5084     break;}
5085 case 655:
5086 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5087     break;}
5088 case 656:
5089 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5090     break;}
5091 case 657:
5092 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5093     break;}
5094 case 658:
5095 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5096     break;}
5097 case 659:
5098 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5099     break;}
5100 case 660:
5101 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5102     break;}
5103 case 661:
5104 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5105     break;}
5106 case 662:
5107 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5108     break;}
5109 case 663:
5110 { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5111     break;}
5112 case 664:
5113 { yyval.entry = yyvsp[0].entry; ;
5114     break;}
5115 case 665:
5116 { yyval.entry = uentry_undefined; ;
5117     break;}
5118 case 666:
5119 { context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ;
5120     break;}
5121 case 667:
5122 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5123     break;}
5124 case 668:
5125 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5126     break;}
5127 case 669:
5128 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5129     break;}
5130 case 670:
5131 { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5132     break;}
5133 case 671:
5134 { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
5135     break;}
5136 case 672:
5137 { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
5138     break;}
5139 case 673:
5140 { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5141     break;}
5142 case 674:
5143 { yyval.expr = exprNode_goto (yyvsp[-1].cname); ;
5144     break;}
5145 case 675:
5146 { yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ;
5147     break;}
5148 case 676:
5149 { yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ;
5150     break;}
5151 case 677:
5152 { yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ;
5153     break;}
5154 case 678:
5155 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ;
5156     break;}
5157 case 679:
5158 { yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ;
5159     break;}
5160 case 680:
5161 { yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ;
5162     break;}
5163 case 681:
5164 { yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ;
5165     break;}
5166 case 682:
5167 { yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ;
5168     break;}
5169 case 683:
5170 { yyval.expr = exprNode_return (yyvsp[-1].expr); ;
5171     break;}
5172 case 685:
5173 { ; ;
5174     break;}
5175 case 687:
5176 { ; ;
5177     break;}
5178 case 690:
5179 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5180     break;}
5181 case 691:
5182 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5183     break;}
5184 case 692:
5185 { yyval.cname = uentry_getName (yyvsp[0].entry); ;
5186     break;}
5187 case 693:
5188 { yyval.cname = yyvsp[0].cname; ;
5189     break;}
5190 case 695:
5191 { yyval.ctyp = ctype_unknown; ;
5192     break;}
5193 case 696:
5194 { yyval.ctyp = exprNode_getType (yyvsp[-1].expr); exprNode_free (yyvsp[-1].expr); ;
5195     break;}
5196 case 697:
5197 { yyval.ctyp = qtype_getType (yyvsp[-1].qtyp); ;
5198     break;}
5199 }
5200    /* the action file gets copied in in place of this dollarsign */
5201
5202 \f
5203   yyvsp -= yylen;
5204   yyssp -= yylen;
5205 #ifdef YYLSP_NEEDED
5206   yylsp -= yylen;
5207 #endif
5208
5209 #if YYDEBUG != 0
5210   if (yydebug)
5211     {
5212       short *ssp1 = yyss - 1;
5213       fprintf (stderr, "state stack now");
5214       while (ssp1 != yyssp)
5215         fprintf (stderr, " %d", *++ssp1);
5216       fprintf (stderr, "\n");
5217     }
5218 #endif
5219
5220   *++yyvsp = yyval;
5221
5222 #ifdef YYLSP_NEEDED
5223   yylsp++;
5224   if (yylen == 0)
5225     {
5226       yylsp->first_line = yylloc.first_line;
5227       yylsp->first_column = yylloc.first_column;
5228       yylsp->last_line = (yylsp-1)->last_line;
5229       yylsp->last_column = (yylsp-1)->last_column;
5230       yylsp->text = 0;
5231     }
5232   else
5233     {
5234       yylsp->last_line = (yylsp+yylen-1)->last_line;
5235       yylsp->last_column = (yylsp+yylen-1)->last_column;
5236     }
5237 #endif
5238
5239   /* Now "shift" the result of the reduction.
5240      Determine what state that goes to,
5241      based on the state we popped back to
5242      and the rule number reduced by.  */
5243
5244   yyn = yyr1[yyn];
5245
5246   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
5247   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5248     yystate = yytable[yystate];
5249   else
5250     yystate = yydefgoto[yyn - YYNTBASE];
5251
5252   goto yynewstate;
5253
5254 yyerrlab:   /* here on detecting error */
5255
5256   if (! yyerrstatus)
5257     /* If not already recovering from an error, report this error.  */
5258     {
5259       ++yynerrs;
5260
5261 #ifdef YYERROR_VERBOSE
5262       yyn = yypact[yystate];
5263
5264       if (yyn > YYFLAG && yyn < YYLAST)
5265         {
5266           int size = 0;
5267           char *msg;
5268           int x, count;
5269
5270           count = 0;
5271           /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
5272           for (x = (yyn < 0 ? -yyn : 0);
5273                x < (sizeof(yytname) / sizeof(char *)); x++)
5274             if (yycheck[x + yyn] == x)
5275               size += strlen(yytname[x]) + 15, count++;
5276           msg = (char *) malloc(size + 15);
5277           if (msg != 0)
5278             {
5279               strcpy(msg, "parse error");
5280
5281               if (count < 5)
5282                 {
5283                   count = 0;
5284                   for (x = (yyn < 0 ? -yyn : 0);
5285                        x < (sizeof(yytname) / sizeof(char *)); x++)
5286                     if (yycheck[x + yyn] == x)
5287                       {
5288                         strcat(msg, count == 0 ? ", expecting `" : " or `");
5289                         strcat(msg, yytname[x]);
5290                         strcat(msg, "'");
5291                         count++;
5292                       }
5293                 }
5294               yyerror(msg);
5295               free(msg);
5296             }
5297           else
5298             yyerror ("parse error; also virtual memory exceeded");
5299         }
5300       else
5301 #endif /* YYERROR_VERBOSE */
5302         yyerror("parse error");
5303     }
5304
5305   goto yyerrlab1;
5306 yyerrlab1:   /* here on error raised explicitly by an action */
5307
5308   if (yyerrstatus == 3)
5309     {
5310       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
5311
5312       /* return failure if at end of input */
5313       if (yychar == YYEOF)
5314         YYABORT;
5315
5316 #if YYDEBUG != 0
5317       if (yydebug)
5318         fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
5319 #endif
5320
5321       yychar = YYEMPTY;
5322     }
5323
5324   /* Else will try to reuse lookahead token
5325      after shifting the error token.  */
5326
5327   yyerrstatus = 3;              /* Each real token shifted decrements this */
5328
5329   goto yyerrhandle;
5330
5331 yyerrdefault:  /* current state does not do anything special for the error token. */
5332
5333 #if 0
5334   /* This is wrong; only states that explicitly want error tokens
5335      should shift them.  */
5336   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
5337   if (yyn) goto yydefault;
5338 #endif
5339
5340 yyerrpop:   /* pop the current state because it cannot handle the error token */
5341
5342   if (yyssp == yyss) YYABORT;
5343   yyvsp--;
5344   yystate = *--yyssp;
5345 #ifdef YYLSP_NEEDED
5346   yylsp--;
5347 #endif
5348
5349 #if YYDEBUG != 0
5350   if (yydebug)
5351     {
5352       short *ssp1 = yyss - 1;
5353       fprintf (stderr, "Error: state stack now");
5354       while (ssp1 != yyssp)
5355         fprintf (stderr, " %d", *++ssp1);
5356       fprintf (stderr, "\n");
5357     }
5358 #endif
5359
5360 yyerrhandle:
5361
5362   yyn = yypact[yystate];
5363   if (yyn == YYFLAG)
5364     goto yyerrdefault;
5365
5366   yyn += YYTERROR;
5367   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
5368     goto yyerrdefault;
5369
5370   yyn = yytable[yyn];
5371   if (yyn < 0)
5372     {
5373       if (yyn == YYFLAG)
5374         goto yyerrpop;
5375       yyn = -yyn;
5376       goto yyreduce;
5377     }
5378   else if (yyn == 0)
5379     goto yyerrpop;
5380
5381   if (yyn == YYFINAL)
5382     YYACCEPT;
5383
5384 #if YYDEBUG != 0
5385   if (yydebug)
5386     fprintf(stderr, "Shifting error token, ");
5387 #endif
5388
5389   *++yyvsp = yylval;
5390 #ifdef YYLSP_NEEDED
5391   *++yylsp = yylloc;
5392 #endif
5393
5394   yystate = yyn;
5395   goto yynewstate;
5396
5397  yyacceptlab:
5398   /* YYACCEPT comes here.  */
5399   if (yyfree_stacks)
5400     {
5401       free (yyss);
5402       free (yyvs);
5403 #ifdef YYLSP_NEEDED
5404       free (yyls);
5405 #endif
5406     }
5407   return 0;
5408
5409  yyabortlab:
5410   /* YYABORT comes here.  */
5411   if (yyfree_stacks)
5412     {
5413       free (yyss);
5414       free (yyvs);
5415 #ifdef YYLSP_NEEDED
5416       free (yyls);
5417 #endif
5418     }
5419   return 1;
5420 }
5421
5422
5423 /*@-redecl@*/ /*@-namechecks@*/
5424 extern char *yytext;
5425 /*@=redecl@*/ /*@=namechecks@*/
5426
5427 # include "bison.reset"
5428
5429 void yyerror (/*@unused@*/ char *s) 
5430 {
5431   static bool givehint = FALSE;
5432
5433   if (context_inIterDef ())
5434     {
5435       llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s", 
5436                                     context_inFunctionName ()));
5437     }
5438   else if (context_inIterEnd ())
5439     {
5440       llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s", 
5441                                     context_inFunctionName ()));
5442     }
5443   else if (context_inMacro ())
5444     {
5445       llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s", 
5446                                     context_inFunctionName ()));
5447       
5448       if (context_inUnknownMacro ())
5449         {
5450           if (!givehint)
5451             {
5452               llhint (cstring_makeLiteral 
5453                      ("Precede macro definition with /*@notfunction@*/ "
5454                       "to suppress checking and force expansion"));
5455               givehint = TRUE;
5456             }
5457         }
5458
5459       swallowMacro ();
5460       context_exitAllClausesQuiet ();
5461     }
5462   else
5463     {
5464       llparseerror (cstring_undefined);
5465     }
5466 }
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479 /*
5480 ** Resets all flags in bison.head
5481 */
5482
5483
5484 /*@=allmacros@*/
5485 /*@=boolint@*/
5486 /*@=charint@*/
5487 /*@=macroparams@*/
5488 /*@=macroundef@*/
5489 /*@=unreachable@*/
5490 /*@=macrospec@*/
5491 /*@=varuse@*/
5492 /*@=ignorequals@*/
5493 /*@=macrostmt@*/
5494 /*@=noeffect@*/
5495 /*@=shadow@*/
5496 /*@=exitarg@*/
5497 /*@=macroredef@*/
5498 /*@=uniondef@*/
5499 /*@=compdef@*/
5500 /*@=matchfields@*/
5501 /*@=exportlocal@*/
5502 /*@=evalorderuncon@*/
5503 /*@=exportheader@*/
5504 /*@=typeuse@*/
5505 /*@=redecl@*/
5506 /*@=redef@*/
5507 /*@=noparams@*/
5508 /*@=ansireserved@*/
5509 /*@=fielduse@*/
5510 /*@=ifblock@*/
5511 /*@=elseifcomplete@*/
5512 /*@=whileblock@*/
5513 /*@=forblock@*/
5514 /*@=branchstate@*/
5515 /*@=readonlytrans@*/
5516 /*@=namechecks@*/
5517 /*@=usedef@*/
5518 /*@=systemunrecog@*/
5519 /*@=dependenttrans@*/
5520 /*@=unqualifiedtrans@*/
5521 /*@=declundef@*/
5522
5523
5524 /*drl added 11/27/2001*/
5525 /*@=bounds@*/
This page took 0.483726 seconds and 3 git commands to generate.