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