]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - gnu/usr.bin/perl/perl/perly.c
Add the missing rerelease target back.
[FreeBSD/FreeBSD.git] / gnu / usr.bin / perl / perl / perly.c
1 #ifndef lint
2 static char yysccsid[] = "@(#)yaccpar   1.9 (Berkeley) 02/21/93";
3 #endif
4 #define YYBYACC 1
5 #define YYMAJOR 1
6 #define YYMINOR 9
7 #define yyclearin (yychar=(-1))
8 #define yyerrok (yyerrflag=0)
9 #define YYRECOVERING (yyerrflag!=0)
10 #define YYPREFIX "yy"
11 #line 43 "perly.y"
12 #include "INTERN.h"
13 #include "perl.h"
14
15 /*SUPPRESS 530*/
16 /*SUPPRESS 593*/
17 /*SUPPRESS 595*/
18
19 STAB *scrstab;
20 ARG *arg4;      /* rarely used arguments to make_op() */
21 ARG *arg5;
22
23 #line 58 "perly.y"
24 typedef union {
25     int ival;
26     char *cval;
27     ARG *arg;
28     CMD *cmdval;
29     struct compcmd compval;
30     STAB *stabval;
31     FCMD *formval;
32 } YYSTYPE;
33 #line 34 "y.tab.c"
34 #define WORD 257
35 #define LABEL 258
36 #define APPEND 259
37 #define OPEN 260
38 #define SSELECT 261
39 #define LOOPEX 262
40 #define DOTDOT 263
41 #define USING 264
42 #define FORMAT 265
43 #define DO 266
44 #define SHIFT 267
45 #define PUSH 268
46 #define POP 269
47 #define LVALFUN 270
48 #define WHILE 271
49 #define UNTIL 272
50 #define IF 273
51 #define UNLESS 274
52 #define ELSE 275
53 #define ELSIF 276
54 #define CONTINUE 277
55 #define SPLIT 278
56 #define FLIST 279
57 #define FOR 280
58 #define FILOP 281
59 #define FILOP2 282
60 #define FILOP3 283
61 #define FILOP4 284
62 #define FILOP22 285
63 #define FILOP25 286
64 #define FUNC0 287
65 #define FUNC1 288
66 #define FUNC2 289
67 #define FUNC2x 290
68 #define FUNC3 291
69 #define FUNC4 292
70 #define FUNC5 293
71 #define HSHFUN 294
72 #define HSHFUN3 295
73 #define FLIST2 296
74 #define SUB 297
75 #define FILETEST 298
76 #define LOCAL 299
77 #define DELETE 300
78 #define RELOP 301
79 #define EQOP 302
80 #define MULOP 303
81 #define ADDOP 304
82 #define PACKAGE 305
83 #define AMPER 306
84 #define FORMLIST 307
85 #define REG 308
86 #define ARYLEN 309
87 #define ARY 310
88 #define HSH 311
89 #define STAR 312
90 #define SUBST 313
91 #define PATTERN 314
92 #define RSTRING 315
93 #define TRANS 316
94 #define LISTOP 317
95 #define OROR 318
96 #define ANDAND 319
97 #define UNIOP 320
98 #define LS 321
99 #define RS 322
100 #define MATCH 323
101 #define NMATCH 324
102 #define UMINUS 325
103 #define POW 326
104 #define INC 327
105 #define DEC 328
106 #define YYERRCODE 256
107 short yylhs[] = {                                        -1,
108    26,    0,   25,   25,   12,   12,   12,    5,    3,    6,
109     6,    7,    7,    7,    7,    7,   10,   10,   10,   10,
110    10,   10,    9,    9,    9,    9,    8,    8,    8,    8,
111     8,    8,    8,    8,   11,   11,   21,   21,   24,   24,
112     1,    1,    1,    2,    2,   27,   28,   15,   13,   13,
113    16,   14,   14,   14,   14,   14,   14,   14,   14,   14,
114    14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
115    14,   14,   14,   14,   14,   14,   14,   17,   17,   17,
116    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
117    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
118    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
119    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
120    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
121    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
122    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
123    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
124    17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
125    17,   22,   22,   22,   22,   22,   22,   18,   18,   19,
126    19,   20,   20,    4,    4,   23,
127 };
128 short yylen[] = {                                         2,
129     0,    2,    3,    2,    0,    2,    5,    4,    0,    0,
130     2,    1,    2,    1,    2,    3,    1,    1,    3,    3,
131     3,    3,    5,    5,    3,    3,    6,    6,    4,    4,
132     7,    6,   10,    2,    0,    1,    0,    1,    0,    1,
133     1,    1,    1,    4,    3,    3,    3,    2,    3,    1,
134     2,    3,    4,    4,    4,    4,    4,    4,    4,    4,
135     3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
136     3,    3,    3,    5,    3,    3,    1,    2,    2,    2,
137     2,    2,    2,    2,    2,    2,    2,    1,    4,    3,
138     2,    2,    2,    1,    1,    4,    1,    1,    5,    6,
139     5,    4,    5,    6,    8,    1,    1,    1,    1,    1,
140     5,    5,    4,    4,    2,    5,    5,    4,    4,    2,
141     1,    2,    1,    2,    2,    1,    2,    4,    7,    2,
142     4,    5,    4,    2,    2,    3,    1,    5,    6,    6,
143     7,    9,    6,    2,    4,    2,    4,    1,    1,    6,
144     5,    4,    5,    4,    2,    1,    1,    3,    3,    4,
145     5,    5,    6,    6,    7,    8,    4,    2,    6,    1,
146     1,    1,    2,    2,    3,    3,    3,    1,    1,    1,
147     1,    1,    1,    2,    1,    1,
148 };
149 short yydefred[] = {                                      1,
150     0,   10,    0,   40,    0,    0,    0,   12,   41,   11,
151    14,    0,   42,   43,    0,    0,    0,    0,   17,    9,
152   186,    0,    0,    0,    0,    0,    0,    0,    0,    0,
153     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
154     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
155     0,    0,    0,    0,    0,    0,    0,  106,    0,   97,
156    95,  109,  108,  107,  110,    0,    0,    0,    0,    0,
157     0,    0,   15,    0,    0,    0,   13,    0,    0,    0,
158     0,  171,  170,   34,    0,   45,   46,   47,   10,  130,
159     0,  127,    0,  122,    0,    0,   93,    0,  180,  181,
160     0,  146,    0,    0,  144,  155,    0,    0,    0,    0,
161     0,    0,    0,    0,    0,    0,    0,    0,  134,  135,
162     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
163     0,    0,    0,  182,  183,    0,  168,    0,    0,   86,
164     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
165     0,    0,    0,    0,  124,    0,    0,    0,   84,   85,
166     0,    0,    0,    0,    0,    0,    0,    4,   16,    0,
167     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
168     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
169     0,   82,   83,   44,    0,    0,    0,    0,    0,    0,
170     0,    0,    0,    0,    0,    0,    0,    0,   29,    0,
171    30,    0,   25,    0,   26,    0,    0,    0,   36,    0,
172     0,  136,    0,    0,    0,    0,    0,    0,  158,  159,
173     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
174     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
175     0,    0,  185,    0,    0,    6,    0,    3,    0,    0,
176     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
177     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
178     0,    0,    0,    0,    0,    0,    0,    0,    8,  131,
179     0,    0,    0,    0,  128,  113,    0,  118,    0,  147,
180     0,  145,    0,    0,    0,    0,  152,    0,  154,    0,
181     0,    0,  133,    0,    0,    0,    0,    0,  160,    0,
182     0,    0,    0,    0,  167,    0,    0,   89,    0,    0,
183   114,    0,  119,    0,    0,   96,    0,  102,    0,  184,
184     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
185     0,    0,  132,    0,    0,  111,  116,    0,   27,   28,
186    23,   24,  151,    0,    0,    0,   32,  138,    0,    0,
187     0,    0,  161,  162,    0,    0,    0,    0,    0,  153,
188     0,    0,  112,  117,   99,  103,  101,    0,    0,    0,
189     0,  143,  150,   31,    0,  139,    0,  140,    0,  163,
190   164,    0,    0,  169,  104,    0,  100,    7,  129,    0,
191   141,    0,  165,    0,    0,    0,    0,  166,  105,   33,
192   142,
193 };
194 short yydgoto[] = {                                       1,
195     8,    9,   89,  255,   76,    3,   10,   11,   77,  219,
196   220,  168,   79,   80,  292,  294,   81,  198,  102,  137,
197   208,   82,   83,   12,   84,    2,   13,   14,
198 };
199 short yysindex[] = {                                      0,
200     0,    0, -193,    0,  -54, -229, -212,    0,    0,    0,
201     0,  383,    0,    0,   22, -232,  -31,   40,    0,    0,
202     0,  -37,  -36, -132,  562,   -7,  107,   -2, 2819,  -29,
203   -23,  -22,  -21,  109,  111,   -3,   -4,  113,  123,  143,
204   170,  172,  173,  174,  175,  186,  187,  188,  189,  -34,
205   191,  200, 2896,  202,   11, -228,  -60,    0,  -32,    0,
206     0,    0,    0,    0,    0,  741,  848, 2819, 2819, 2819,
207  2819,  912,    0, 2819, 2819,  -98,    0,   98,  -35, 1707,
208  -197,    0,    0,    0,  -64,    0,    0,    0,    0,    0,
209  3011,    0, 3105,    0,  204,  -30,    0, -122,    0,    0,
210  -231,    0, -231, -231,    0,    0, 2819,  -31, 2819,  -31,
211  2819,  -31, 2819,  -31, 2819, 2819,  205, 1027,    0,    0,
212  1144, 3105, 3105, 3105, 3105, 3105,  206, 1208, 2819, 2819,
213  2819, 2819, 2819,    0,    0, -237,    0, -237, 2819,    0,
214  -122, 2819,  131,  -62,  216,  220, 2819, 2819, 2819, 2819,
215  2819, 5754, 2819,  221,    0, -122, -197, -197,    0,    0,
216   229,   32, -197, -197,  -31,  224,  -31,    0,    0, 2819,
217  2819, 2819, 2819, 2819, 2819, 2819, 2819, 1319, 1494, 2819,
218  2819, 2819, 2819, 1605, 1669, 1780, 1955, 2066, 2819, 2819,
219  2130,    0,    0,    0, -113,  281, 1707,  279,    0, 5647,
220   283, 2244, 2362,  284,  289,  293,  221,  294,    0,   65,
221     0,   67,    0,  126,    0, 5528,   32, 2819,    0,  286,
222   -39,    0,  305,  279,  303,  303,  328,  329,    0,    0,
223   130, 5658, 5647, 5647, 5647, 5647,  333,  303, 5658,   32,
224  2819,  252, 2436, 2533,   74,  -12,   84,   -9,  221,  221,
225   221, 2819,    0, 2725,  297,    0, 2819,    0,  221,  221,
226   221,  221, 1707,  474, -122, -187, 2819, -257, 2819, -138,
227  1707,  954,  117,  512, 2819,  238, 2819,  238, 2819,  486,
228  2819, -162, 2819, -162,   51,   51, 2819,   51,    0,    0,
229  2819,  348, 2819,  303,    0,    0,   32,    0,   32,    0,
230  2819,    0,  -31,  -31,  -31,  -31,    0,  146,    0,   32,
231  2819,  -31,    0,  352,  279,  303, 3105, 3105,    0,  353,
232   153,  279,  303,  303,    0,  279,  355,    0,  100, 2819,
233     0,   32,    0,   32,  276,    0,  277,    0,    3,    0,
234  2819,  154, 1707, 1707, 2819, 1707, 1707, 1707, 1707, 1707,
235  1707,  221,    0, 1707,  303,    0,    0,   32,    0,    0,
236     0,    0,    0,  362,  -31,  345,    0,    0,  364,  279,
237   365,  303,    0,    0,  367,  369,  279,  303,  370,    0,
238   287,  114,    0,    0,    0,    0,    0,   14,  -31, 1989,
239   372,    0,    0,    0, 1027,    0,  373,    0,  303,    0,
240     0,  374,  279,    0,    0,  292,    0,    0,    0,  381,
241     0,  279,    0,  384,  386,  -31,  393,    0,    0,    0,
242     0,
243 };
244 short yyrindex[] = {                                      0,
245     0,    0,   70,    0,    0,    0,    0,    0,    0,    0,
246     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
247     0,    0, 3189, 3385,    0, 3460,    0,    0, 5031,    0,
248     0,    0,    0, 3497,    0,    0, 3539,    0,    0,    0,
249     0,    0, 3576,    0,    0,    0,    0,    0,    0,    0,
250     0,    0, 5098,    0,    0,    0, 3661,    0, 3793,    0,
251     0,    0,    0,    0,    0, 5195, 5207,    0,    0,    0,
252     0,    0,    0,    0,    0,    1,    0,    0,  -11, 2796,
253  5280,    0,    0,    0,    0,    0,    0,    0,    0,    0,
254     0,    0,    0,    0, 3867, 3661,    0, 4782,    0,    0,
255     0,    0,    0,    0,    0,    0,  396,    0,    0,    0,
256     0,    0,    0,    0,    0,    0,    0,  385,    0,    0,
257     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
258     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
259  4825,    0,    0,    0, 3909, 3952,    0,    0,    0,    0,
260  5347, 3661,    0, 4158,    0, 4849, 5444, 5501,    0,    0,
261  3994,    0, 5570, 5596,    0,    0,    0,    0,    0,    0,
262     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
263     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
264     0,    0,    0,    0,  452, 2647,  164,    0,  128,  404,
265     0,    0,    0,    0,    0,    0,   23,    0,    0,    0,
266     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
267   389,    0,    0,    0,    0,    0,    0,    0,    0,    0,
268     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
269     0,    0,    0,    0,    0,    0,    0,    0, 4200, 4243,
270  4285,    0,    0,    0, 4084,    0,    0,    0,   30,   64,
271    79,   81, 3733, 1030, 4916, 3409,    0, 4534,    0, 4576,
272  3830,    0, 1883, 1422,    0, 5843,    0, 5894,    0, 4957,
273     0, 4666,    0, 4740, 4375, 4449,    0, 4491,    0,    0,
274     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
275     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
276   394,    0,    0,    0,    0,    0,    0,    0,    0,    0,
277     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
278     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
279     0,    0, 3878, 4698,    0, 4858, 4989, 5104, 5370, 5668,
280  5820,  417,    0,  165,    0,    0,    0,    0,    0,    0,
281     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
282     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
283     0,    0,    0,    0,    0,    0,    0,    0,    0, 1582,
284     0,    0,    0,    0,  418,    0,    0,    0,    0,    0,
285     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
286     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
287     0,
288 };
289 short yygindex[] = {                                      0,
290     0,    0,    0, -178,  -17,  335,    0,    0,    0,  448,
291    66,    0, 6067,  342,  168, -148,  430,  -69,   -6,  -96,
292   151,    0,    0,    0,  -87,    0,    0,    0,
293 };
294 #define YYTABLESIZE 6408
295 short yytable[] = {                                      87,
296     5,  253,   91,   93,  254,  136,   16,   97,  174,  203,
297   107,  289,  108,  110,  112,  114,  109,  111,  113,  134,
298   209,  105,  211,  201,  213,   99,  215,   17,  145,   18,
299   148,  174,  101,    5,  174,  121,  118,  104,  309,  237,
300     5,  238,  312,    5,   18,    5,  174,   18,  153,  155,
301   144,  223,  224,  225,  226,  227,  228,  174,  150,    5,
302   148,  328,  147,   38,    4,  189,  190,  308,  191,    2,
303    21,    5,  253,  135,   86,  254,  315,  316,  100,  146,
304   336,   38,   85,  338,  321,  322,  323,  324,   21,  326,
305   149,   20,  147,   20,  204,  387,  205,  206,   88,   20,
306    20,   20,   39,    6,   22,  304,  407,  305,  174,   39,
307   174,    7,   39,  176,   39,  178,  179,  174,  356,   19,
308   357,   20,   22,    5,   94,    5,    5,  174,   39,  192,
309   193,  365,  335,  187,  188,  189,  190,   19,  191,   20,
310   178,  179,  337,  174,    4,  355,  103,  256,  115,  258,
311   116,    5,  122,  383,  186,  384,  169,  174,  381,  364,
312   189,  190,  123,  191,  178,  186,  306,  370,  178,  174,
313   319,  178,  406,  174,  377,  378,  165,  166,  167,  392,
314   178,  179,  124,    6,  189,  190,  363,  191,  186,  293,
315   186,    7,   39,  374,  389,   39,  291,  174,  187,  188,
316   189,  190,   15,  191,  179,   51,  391,  179,   51,  125,
317   185,  126,  127,  128,  129,  359,  360,  361,  362,   90,
318    92,  186,  134,  399,  367,  130,  131,  132,  133,  403,
319   138,  170,  171,  172,  173,  170,  171,  172,  173,  139,
320   184,  142,  194,  202,  218,  242,  229,  371,  372,   99,
321   412,  186,  119,  241,   99,  243,    5,    5,    5,  244,
322     5,    5,    5,  257,  174,    5,    5,    5,    5,    5,
323     5,    5,    5,    5,    5,  186,  135,  394,    5,    5,
324     5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
325     5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
326     5,  408,  100,  120,  117,    5,    5,  100,    5,    5,
327     5,    5,    5,    5,    5,    5,    5,    5,  143,  252,
328     5,  290,  291,  295,  300,   39,   39,    5,    5,   39,
329    39,   39,  301,  302,  303,   39,   39,   39,   39,   39,
330    39,   39,   39,   39,  311,  313,  293,   39,   39,   39,
331    39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
332    39,   39,   39,   39,   39,   39,   98,   39,   39,   39,
333   106,  317,  318,  325,  330,   39,  191,   39,   39,   39,
334    39,   39,   39,   39,   39,   39,   39,  341,  353,   39,
335   186,  314,  368,  373,  141,  380,   39,   39,  420,  320,
336   385,  386,  393,  395,  396,  398,  327,  400,  156,  401,
337   404,  405,  409,  411,  413,   68,  415,  176,  177,  178,
338   179,  416,   72,  195,  418,   75,  419,   74,  186,  186,
339   186,  186,  197,  421,  200,  183,   37,  187,  188,  189,
340   190,   73,  191,   35,  179,  186,  186,   18,  186,  186,
341   186,  186,   37,  186,  186,  186,  216,   48,   35,   78,
342   410,  366,  197,  197,  197,  197,  197,  197,    0,    0,
343   232,  233,  234,  235,  236,    0,    0,    0,    0,    0,
344   239,    0,  369,    0,   39,    0,    0,    0,  375,  376,
345     0,   39,    0,  379,   39,    0,   39,  157,  158,  159,
346   160,    0,    0,  163,  164,   20,    0,    0,   69,    0,
347    39,  186,    0,    0,    0,  263,  264,  265,  266,  268,
348   270,  271,  272,  273,  274,  276,  278,  280,  282,  284,
349   285,  286,  288,    0,    0,    0,    0,  397,  176,  177,
350   178,  179,    0,    0,  402,    0,    0,    0,    0,  186,
351     0,    0,    0,    0,    0,    0,    0,    0,  187,  188,
352   189,  190,    0,  191,    0,    0,    0,  185,    0,    0,
353   414,    0,    0,    0,   39,    0,    0,   39,    0,  417,
354     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
355     0,    0,    0,    0,   68,  263,    0,  184,    0,    0,
356     0,   72,    0,    0,   75,  185,   74,    0,  343,    0,
357   344,    0,    0,    0,    0,    0,  346,    0,  347,    0,
358   348,    0,  349,    0,  350,    0,    0,    0,  351,    0,
359     0,    0,    0,    0,  354,  184,    0,    0,   19,   21,
360     0,    0,   22,   23,   24,    0,    0,    0,   25,   26,
361    27,   28,   29,   30,   31,   32,   33,    0,  197,  197,
362    34,   35,   36,   37,   38,   39,   40,   41,   42,   43,
363    44,   45,   46,   47,   48,   49,   50,   51,   52,    0,
364    53,   54,   55,    0,   20,    0,  390,   69,   56,    0,
365    57,   58,   59,   60,   61,   62,   63,   64,   65,   66,
366     0,    0,   67,    0,    0,    0,    0,   39,   39,   70,
367    71,   39,   39,   39,    0,    0,    0,   39,   39,   39,
368    39,   39,   39,   39,   39,   39,    0,    0,    0,   39,
369    39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
370    39,   39,   39,   39,   39,   39,   39,   39,    0,   39,
371    39,   39,    0,    0,    0,    0,    0,   39,    0,   39,
372    39,   39,   39,   39,   39,   39,   39,   39,   39,    0,
373     0,   39,    0,   68,  176,  177,  178,  179,   39,   39,
374    72,    0,    0,   75,    0,   74,  176,  177,  178,  179,
375     0,  182,  183,    0,  187,  188,  189,  190,    0,  191,
376     0,    0,    0,    0,    0,    0,  187,  188,  189,  190,
377     0,  191,  176,  177,  178,  179,    0,    0,   95,    0,
378     0,   22,   23,   24,    0,    0,    0,   25,   26,   27,
379    28,   29,  187,  188,  189,  190,    0,  191,    0,   34,
380    35,    0,   37,   38,   39,   40,   41,   42,   43,   44,
381    45,   46,   47,   48,   49,   50,   51,   52,    0,   53,
382    54,   55,    0,   20,    0,    0,   69,   56,    0,   96,
383    58,   59,   60,   61,   62,   63,   64,   65,   66,    0,
384    68,   67,    0,    0,    0,    0,    0,   72,   70,   71,
385    75,    0,   74,    0,    0,    0,    0,    0,    0,    0,
386     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
387     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
388     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
389     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
390     0,    0,    0,    0,   68,    0,    0,    0,    0,    0,
391     0,   72,  161,    0,   75,    0,   74,    0,    0,    0,
392     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
393    20,    0,    0,   69,    0,    0,    0,    0,    0,    0,
394     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
395     0,  186,    0,    0,    0,    0,    0,  151,    0,    0,
396    22,   23,   24,    0,    0,    0,   25,   26,   27,   28,
397    29,  345,    0,    0,  180,    0,  181,    0,   34,   35,
398     0,   37,   38,   39,   40,   41,   42,   43,   44,   45,
399    46,   47,   48,   49,   50,   51,   52,   69,   53,   54,
400    55,    0,    0,    0,    0,    0,   56,  185,  152,   58,
401    59,   60,   61,   62,   63,   64,   65,   66,    0,   68,
402    67,    0,    0,    0,    0,    0,   72,   70,   71,   75,
403    71,   74,    0,   71,    0,    0,    0,  184,    0,    0,
404     0,    0,    0,    0,    0,    0,    0,   71,   71,    0,
405    71,    0,   71,    0,    0,    0,    0,    0,    0,    0,
406     0,    0,    0,    0,   21,    0,    0,   22,   23,   24,
407     0,    0,    0,   25,   26,   27,   28,   29,    0,    0,
408     0,    0,   71,    0,    0,   34,   35,    0,   37,   38,
409    39,   40,   41,   42,   43,   44,   45,   46,   47,   48,
410    49,   50,   51,   52,    0,   53,   54,   55,    0,    0,
411     0,    0,   69,   56,    0,   57,   58,   59,   60,   61,
412    62,   63,   64,   65,   66,    0,    0,   67,   21,    0,
413     0,   22,   23,   24,   70,   71,   68,   25,   26,   27,
414    28,   29,    0,   72,  222,    0,   75,    0,   74,   34,
415    35,    0,   37,   38,   39,   40,   41,   42,   43,   44,
416    45,   46,   47,   48,   49,   50,   51,   52,    0,   53,
417    54,   55,    0,    0,    0,    0,  175,   56,    0,   57,
418    58,   59,   60,   61,   62,   63,   64,   65,   66,    0,
419     0,   67,    0,    0,    0,    0,    0,    0,   70,   71,
420    68,    0,    0,    0,    0,    0,    0,   72,  230,    0,
421    75,    0,   74,    0,  176,  177,  178,  179,    0,    0,
422     0,    0,    0,    0,    0,    0,    0,    0,    0,   69,
423     0,  182,  183,    0,  187,  188,  189,  190,    0,  191,
424     0,    0,   19,   21,    0,    0,   22,   23,   24,    0,
425     0,    0,   25,   26,   27,   28,   29,    0,    0,    0,
426    71,   71,   71,   71,   34,   35,    0,   37,   38,   39,
427    40,   41,   42,   43,   44,   45,   46,   47,   48,   49,
428    50,   51,   52,    0,   53,   54,   55,    0,    0,    0,
429     0,    0,   56,   69,   57,   58,   59,   60,   61,   62,
430    63,   64,   65,   66,    0,    0,   67,    0,    0,    0,
431     0,   68,    0,   70,   71,    0,   71,   71,   72,    0,
432     0,   75,    0,   74,    0,    0,    0,    0,    0,    0,
433     0,    0,    0,    0,    0,    0,    0,    0,    0,  267,
434     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
435     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
436   199,    0,    0,   22,   23,   24,    0,    0,    0,   25,
437    26,   27,   28,   29,    0,    0,    0,    0,    0,    0,
438     0,   34,   35,    0,   37,   38,   39,   40,   41,   42,
439    43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
440     0,   53,   54,   55,   69,    0,    0,    0,    0,   56,
441     0,   57,   58,   59,   60,   61,   62,   63,   64,   65,
442    66,    0,   72,   67,   21,   72,    0,   22,   23,   24,
443    70,   71,    0,   25,   26,   27,   28,   29,    0,   72,
444    72,    0,   72,    0,   72,   34,   35,    0,   37,   38,
445    39,   40,   41,   42,   43,   44,   45,   46,   47,   48,
446    49,   50,   51,   52,    0,   53,   54,   55,    0,    0,
447     0,    0,    0,   56,   72,   57,   58,   59,   60,   61,
448    62,   63,   64,   65,   66,    0,   68,   67,    0,    0,
449     0,    0,    0,   72,   70,   71,   75,    0,   74,    0,
450     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
451     0,    0,    0,    0,  269,    0,    0,    0,    0,    0,
452     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
453     0,    0,    0,    0,    0,   21,    0,    0,   22,   23,
454    24,    0,    0,    0,   25,   26,   27,   28,   29,    0,
455     0,    0,    0,    0,    0,    0,   34,   35,    0,   37,
456    38,   39,   40,   41,   42,   43,   44,   45,   46,   47,
457    48,   49,   50,   51,   52,    0,   53,   54,   55,   69,
458     0,    0,   74,    0,   56,   74,   57,   58,   59,   60,
459    61,   62,   63,   64,   65,   66,    0,   68,   67,   74,
460    74,    0,   74,    0,   72,   70,   71,   75,    0,   74,
461     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
462     0,    0,    0,    0,    0,  275,    0,    0,    0,    0,
463     0,    0,    0,    0,   74,    0,    0,    0,    0,    0,
464     0,    0,    0,    0,   72,    0,    0,    0,    0,    0,
465     0,    0,   72,   72,   72,   72,    0,    0,    0,    0,
466     0,   68,    0,    0,    0,    0,    0,    0,   72,    0,
467     0,   75,    0,   74,    0,    0,    0,    0,    0,    0,
468     0,    0,    0,    0,    0,    0,    0,    0,    0,  277,
469    69,    0,    0,    0,    0,    0,    0,    0,    0,   72,
470    72,    0,    0,    0,  186,    0,    0,    0,   72,   72,
471    21,    0,    0,   22,   23,   24,    0,    0,    0,   25,
472    26,   27,   28,   29,    0,    0,    0,  180,    0,  181,
473     0,   34,   35,    0,   37,   38,   39,   40,   41,   42,
474    43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
475     0,   53,   54,   55,   69,    0,    0,    0,    0,   56,
476   185,   57,   58,   59,   60,   61,   62,   63,   64,   65,
477    66,    0,   68,   67,    0,    0,    0,    0,    0,   72,
478    70,   71,   75,    0,   74,    0,    0,    0,    0,    0,
479   184,    0,    0,    0,    0,    0,    0,    0,    0,    0,
480   279,    0,    0,    0,    0,    0,    0,    0,    0,    0,
481     0,    0,   74,   74,   74,   74,    0,    0,    0,    0,
482     0,   21,    0,    0,   22,   23,   24,    0,    0,    0,
483    25,   26,   27,   28,   29,    0,    0,    0,    0,    0,
484     0,    0,   34,   35,    0,   37,   38,   39,   40,   41,
485    42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
486    52,    0,   53,   54,   55,   69,    0,    0,   74,   74,
487    56,    0,   57,   58,   59,   60,   61,   62,   63,   64,
488    65,   66,    0,   73,   67,   21,   73,    0,   22,   23,
489    24,   70,   71,    0,   25,   26,   27,   28,   29,    0,
490    73,   73,    0,   73,    0,   73,   34,   35,    0,   37,
491    38,   39,   40,   41,   42,   43,   44,   45,   46,   47,
492    48,   49,   50,   51,   52,    0,   53,   54,   55,  175,
493     0,    0,    0,    0,   56,   73,   57,   58,   59,   60,
494    61,   62,   63,   64,   65,   66,    0,   68,   67,    0,
495     0,    0,    0,    0,   72,   70,   71,   75,    0,   74,
496     0,    0,    0,    0,    0,    0,    0,  176,  177,  178,
497   179,    0,    0,    0,    0,  281,    0,    0,    0,    0,
498     0,    0,    0,    0,  182,  183,  186,  187,  188,  189,
499   190,    0,  191,    0,    0,    0,   21,    0,    0,   22,
500    23,   24,    0,    0,    0,   25,   26,   27,   28,   29,
501     0,  181,    0,    0,    0,    0,    0,   34,   35,    0,
502    37,   38,   39,   40,   41,   42,   43,   44,   45,   46,
503    47,   48,   49,   50,   51,   52,    0,   53,   54,   55,
504    69,    0,  185,    0,    0,   56,    0,   57,   58,   59,
505    60,   61,   62,   63,   64,   65,   66,    0,   68,   67,
506     0,    0,    0,    0,    0,   72,   70,   71,   75,    0,
507    74,    0,  184,    0,    0,    0,    0,    0,    0,    0,
508     0,    0,    0,    0,    0,    0,  283,    0,    0,    0,
509     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
510     0,    0,    0,    0,    0,   73,    0,    0,    0,    0,
511     0,    0,    0,   73,   73,   73,   73,    0,    0,    0,
512     0,    0,   68,    0,    0,    0,    0,    0,    0,   72,
513     0,    0,   75,    0,   74,    0,    0,    0,    0,    0,
514     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
515   287,   69,    0,    0,    0,    0,    0,    0,    0,    0,
516    73,    0,    0,    0,    0,    0,    0,    0,    0,   73,
517    73,   21,    0,    0,   22,   23,   24,    0,    0,    0,
518    25,   26,   27,   28,   29,    0,    0,    0,    0,    0,
519     0,    0,   34,   35,    0,   37,   38,   39,   40,   41,
520    42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
521    52,  175,   53,   54,   55,   69,    0,    0,    0,    0,
522    56,    0,   57,   58,   59,   60,   61,   62,   63,   64,
523    65,   66,    0,    0,   67,    0,   68,    0,    0,    0,
524     0,   70,   71,   72,  296,    0,   75,    0,   74,  176,
525   177,  178,  179,    0,    0,    0,    0,    0,    0,    0,
526     0,    0,    0,    0,    0,    0,  182,  183,    0,  187,
527   188,  189,  190,    0,  191,    0,    0,    0,    0,    0,
528     0,    0,   21,    0,    0,   22,   23,   24,    0,    0,
529     0,   25,   26,   27,   28,   29,    0,    0,    0,    0,
530     0,    0,    0,   34,   35,    0,   37,   38,   39,   40,
531    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
532    51,   52,    0,   53,   54,   55,    0,    0,    0,   69,
533     0,   56,    0,   57,   58,   59,   60,   61,   62,   63,
534    64,   65,   66,    0,    0,   67,   21,    0,    0,   22,
535    23,   24,   70,   71,   68,   25,   26,   27,   28,   29,
536     0,   72,  298,    0,   75,    0,   74,   34,   35,    0,
537    37,   38,   39,   40,   41,   42,   43,   44,   45,   46,
538    47,   48,   49,   50,   51,   52,    0,   53,   54,   55,
539     0,    0,    0,    0,    0,   56,    0,   57,   58,   59,
540    60,   61,   62,   63,   64,   65,   66,    0,    0,   67,
541     0,    0,    0,    0,    0,    0,   70,   71,    0,    0,
542     0,    0,    0,    0,    0,    0,    0,    0,   68,    0,
543     0,    0,    0,    0,    0,   72,  331,    0,   75,    0,
544    74,    0,    0,    0,    0,    0,    0,   69,    0,    0,
545     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
546    21,    0,    0,   22,   23,   24,    0,    0,    0,   25,
547    26,   27,   28,   29,    0,    0,    0,    0,    0,    0,
548     0,   34,   35,    0,   37,   38,   39,   40,   41,   42,
549    43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
550     0,   53,   54,   55,    0,    0,    0,    0,    0,   56,
551     0,   57,   58,   59,   60,   61,   62,   63,   64,   65,
552    66,   69,    0,   67,    0,   68,    0,    0,    0,    0,
553    70,   71,   72,  333,    0,   75,    0,   74,    0,    0,
554     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
555     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
556     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
557     0,    0,    0,    0,    0,    0,    0,    0,   21,    0,
558     0,   22,   23,   24,    0,    0,    0,   25,   26,   27,
559    28,   29,    0,    0,    0,    0,    0,    0,    0,   34,
560    35,    0,   37,   38,   39,   40,   41,   42,   43,   44,
561    45,   46,   47,   48,   49,   50,   51,   52,   69,   53,
562    54,   55,    0,    0,    0,    0,    0,   56,    0,   57,
563    58,   59,   60,   61,   62,   63,   64,   65,   66,    0,
564     0,   67,    0,    0,  186,    0,    0,    0,   70,   71,
565   178,    0,   21,    0,    0,   22,   23,   24,    0,    0,
566     0,   25,   26,   27,   28,   29,    0,  186,    0,  186,
567     0,    0,    0,   34,   35,    0,   37,   38,   39,   40,
568    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
569    51,   52,    0,   53,   54,   55,    0,    0,    0,    0,
570   186,   56,    0,   57,   58,   59,   60,   61,   62,   63,
571    64,   65,   66,    0,    0,   67,    0,   68,    0,    0,
572     0,    0,   70,   71,   72,  340,    0,   75,    0,   74,
573   186,    0,    0,    0,    0,    0,    0,    0,    0,    0,
574     0,    0,    0,    0,    0,    0,    0,    0,    0,   21,
575     0,    0,   22,   23,   24,    0,    0,    0,   25,   26,
576    27,   28,   29,    0,    0,    0,    0,    0,    0,    0,
577    34,   35,    0,   37,   38,   39,   40,   41,   42,   43,
578    44,   45,   46,   47,   48,   49,   50,   51,   52,    0,
579    53,   54,   55,    0,    0,    0,   50,    0,   56,   50,
580    57,   58,   59,   60,   61,   62,   63,   64,   65,   66,
581    69,   68,   67,   50,   50,    0,    0,    0,   72,   70,
582    71,   75,    0,   74,    0,    0,    0,    0,    0,    0,
583     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
584     0,    0,    0,    0,    0,    0,    0,    0,   50,    0,
585     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
586     0,    0,    0,    0,    0,    0,    0,    0,    0,  186,
587     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
588     0,    0,    0,    0,    0,    0,    0,    0,   68,    0,
589     0,    0,    0,    0,    0,   72,    0,    0,   75,    0,
590    74,    0,    0,    0,   69,    0,    0,  186,  186,  186,
591   186,    0,    0,    0,    0,    0,    0,    0,    0,    0,
592     0,    0,    0,    0,  186,  186,    0,  186,  186,  186,
593   186,    0,  186,  186,  186,    0,    0,    0,    0,    0,
594     0,   21,    0,    0,   22,   23,   24,    0,    0,    0,
595    25,   26,   27,   28,   29,    0,    0,    0,    0,    0,
596     0,    0,   34,   35,    0,   37,   38,   39,   40,   41,
597    42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
598    52,   69,   53,   54,   55,    0,    0,    0,    0,    0,
599    56,    0,   57,   58,   59,   60,   61,   62,   63,   64,
600    65,   66,    0,   68,   67,    0,    0,    0,    0,    0,
601    72,   70,   71,   75,    0,   74,    0,    0,    0,    0,
602     0,    0,    0,    0,    0,    0,   50,   50,   50,   50,
603     0,    0,    0,    0,    0,   21,    0,    0,   22,   23,
604    24,    0,    0,    0,   25,   26,   27,   28,   29,    0,
605     0,    0,    0,    0,    0,    0,   34,   35,    0,   37,
606    38,   39,   40,   41,   42,   43,   44,   45,   46,   47,
607    48,   49,   50,   51,   52,    0,   53,   54,   55,    0,
608     0,    0,   50,   50,   56,    0,   57,   58,   59,   60,
609    61,   62,   63,   64,   65,   66,   69,   68,   67,    0,
610     0,    0,    0,    0,   72,   70,   71,   75,    0,   74,
611     0,    0,  140,    0,    0,   22,   23,   24,    0,    0,
612     0,   25,   26,   27,   28,   29,    0,    0,    0,    0,
613     0,    0,    0,   34,   35,    0,   37,   38,   39,   40,
614    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
615    51,   52,    0,   53,   54,   55,    0,    0,    0,    0,
616     0,   56,    0,   57,   58,   59,   60,   61,   62,   63,
617    64,   65,   66,    0,    0,   67,    0,    0,    0,    0,
618     0,    0,   70,   71,    0,    0,  126,    0,    0,  126,
619    69,    0,  126,    0,    0,    0,    0,    0,    0,    0,
620     0,    0,    0,    0,    0,    0,  126,  126,    0,  126,
621     0,  126,    0,    0,    0,    0,    0,    0,    0,    0,
622     0,    0,    0,    0,    0,    0,    0,  196,    0,    0,
623    22,   23,   24,    0,    0,    0,   25,   26,   27,   28,
624    29,  126,  126,    0,    0,    0,    0,    0,   34,   35,
625     0,   37,   38,   39,   40,   41,   42,   43,   44,   45,
626    46,   47,   48,   49,   50,   51,   52,    0,   53,   54,
627    55,    0,  126,    0,    0,    0,   56,    0,   57,   58,
628    59,   60,   61,   62,   63,   64,   65,   66,    0,    0,
629    67,    0,    0,    0,    0,    0,    0,   70,   71,    0,
630     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
631     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
632     0,  199,    0,    0,   22,   23,   24,    0,    0,    0,
633    25,   26,   27,   28,   29,    0,    0,    0,    0,    0,
634     0,    0,   34,   35,    0,   37,   38,   39,   40,   41,
635    42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
636    52,    0,   53,   54,   55,    0,    0,    0,    0,    0,
637    56,    0,   57,   58,   59,   60,   61,   62,   63,   64,
638    65,   66,  121,    0,   67,  121,    0,    0,  121,    0,
639     0,   70,   71,    0,    0,    0,    0,    0,    0,    0,
640     0,    0,  121,  121,    0,  121,   67,  121,    0,   67,
641     0,  126,   67,    0,    0,    0,    0,    0,    0,  126,
642   126,  126,  126,    0,    0,    0,   67,   67,    0,   67,
643     0,   67,    0,    0,    0,    0,    0,  121,  121,    0,
644     0,    0,    0,    0,    0,    0,    0,    0,    0,  126,
645   126,  126,  126,    0,    0,    0,    0,  148,    0,    0,
646   148,   67,   67,  148,    0,    0,  126,  126,  121,  126,
647   126,  126,  126,    0,  126,  126,  126,  148,  148,    0,
648   148,    0,  148,    0,    0,    0,    0,    0,    0,    0,
649     0,    0,   67,    0,  149,    0,    0,  149,    0,    0,
650   149,    0,    0,    0,    0,    0,    0,    0,    0,    0,
651     0,    0,  148,  148,  149,  149,    0,  149,    0,  149,
652     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
653     0,    0,    0,    0,    0,    0,  137,    0,    0,  137,
654     0,    0,  137,  148,    0,    0,    0,    0,    0,  149,
655   149,    0,    0,    0,    0,    0,  137,  137,    0,  137,
656     0,  137,    0,    0,    0,    0,    0,    0,    0,    0,
657     0,    0,    0,  157,    0,    0,  157,    0,    0,  157,
658   149,    0,    0,    0,    0,    0,    0,    0,    0,    0,
659     0,  137,  137,  157,  157,    0,  157,    0,  157,    0,
660     0,    0,    0,    0,    0,    0,    0,  121,    0,    0,
661     0,    0,    0,    0,    0,  121,  121,  121,  121,    0,
662     0,    0,  137,    0,    0,    0,    0,    0,  157,  157,
663     0,   67,    0,    0,    0,    0,    0,    0,    0,   67,
664    67,   67,   67,    0,    0,  121,  121,  121,  121,    0,
665     0,    0,    0,    0,    0,    0,    0,    0,   94,  157,
666     0,   94,  121,  121,   94,  121,  121,  121,  121,    0,
667   121,  121,  121,    0,    0,    0,    0,    0,   94,   94,
668     0,   94,  148,   94,    0,    0,   67,   67,    0,    0,
669   148,  148,  148,  148,    0,   67,   67,    0,    0,    0,
670     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
671     0,    0,    0,   94,   94,    0,    0,    0,    0,  149,
672   148,  148,  148,  148,    0,    0,    0,  149,  149,  149,
673   149,    0,    0,   49,    0,    0,   49,  148,  148,    0,
674   148,  148,  148,  148,   94,  148,  148,  148,    0,    0,
675    49,   49,    0,    0,    0,    0,    0,  149,  149,  149,
676   149,  137,    0,    0,    0,    0,    0,    0,    0,  137,
677   137,  137,  137,    0,  149,  149,    0,  149,  149,  149,
678   149,    0,  149,  149,  149,   49,    0,    0,    0,    0,
679    98,    0,    0,   98,    0,    0,   98,    0,  157,  137,
680   137,  137,  137,    0,    0,    0,  157,  157,  157,  157,
681    98,   98,    0,   98,    0,   98,  137,  137,    0,  137,
682   137,  137,  137,    0,  137,  137,  137,    0,    0,    0,
683    52,    0,    0,   52,    0,    0,  157,  157,  157,  157,
684     0,    0,    0,    0,    0,   98,   98,   52,   52,    0,
685     0,    0,    0,  157,  157,    0,  157,  157,  157,  157,
686     0,  157,  157,  157,  186,    0,    0,  186,    0,    0,
687   186,    0,    0,    0,    0,    0,   98,    0,   54,    0,
688     0,   54,   52,   94,  186,  186,    0,  186,    0,  186,
689     0,   94,   94,   94,   94,   54,   54,    0,    0,    0,
690     0,    0,    0,    0,    0,    0,  115,    0,    0,  115,
691     0,    0,  115,    0,    0,    0,    0,    0,    0,  186,
692   186,   94,   94,   94,   94,    0,  115,  115,    0,  115,
693    54,  115,    0,    0,    0,    0,    0,    0,   94,   94,
694     0,   94,   94,   94,   94,    0,   94,   94,   94,  120,
695   186,    0,  120,    0,    0,  120,    0,    0,    0,    0,
696     0,  115,  115,   49,   49,   49,   49,    0,    0,  120,
697   120,    0,  120,    0,  120,    0,    0,    0,    0,    0,
698     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
699     0,   91,  115,    0,   91,    0,    0,   91,    0,    0,
700     0,    0,    0,    0,  120,  120,    0,    0,    0,    0,
701     0,   91,   91,    0,   91,   98,   91,    0,    0,   49,
702    49,    0,    0,   98,   98,   98,   98,    0,    0,    0,
703     0,    0,    0,    0,    0,  120,    0,    0,    0,    0,
704     0,    0,    0,    0,    0,    0,   91,   91,    0,    0,
705     0,    0,    0,   98,   98,   98,   98,    0,    0,    0,
706    52,   52,   52,   52,    0,    0,    0,    0,    0,    0,
707    98,   98,    0,   98,   98,   98,   98,   91,   98,   98,
708    98,   90,    0,    0,   90,    0,    0,   90,    0,  186,
709     0,    0,    0,    0,    0,    0,    0,  186,  186,  186,
710   186,   90,   90,    0,   90,    0,   90,    0,   54,   54,
711    54,   54,    0,    0,    0,    0,   52,   52,    0,    0,
712     0,    0,    0,    0,    0,    0,    0,  186,  186,  186,
713   186,  115,    0,    0,    0,    0,   90,   90,    0,  115,
714   115,  115,  115,    0,  186,  186,    0,  186,  186,  186,
715   186,    0,  186,  186,  186,  173,    0,    0,  173,    0,
716     0,    0,    0,    0,   54,   54,    0,   90,    0,  115,
717   115,  115,  115,    0,  120,  173,  173,    0,  173,    0,
718   173,    0,  120,  120,  120,  120,  115,  115,    0,  115,
719   115,  115,  115,    0,  115,  115,  115,  175,    0,    0,
720   175,    0,    0,    0,    0,    0,    0,    0,    0,    0,
721   173,  173,  120,  120,  120,  120,   91,  175,  175,    0,
722   175,    0,  175,    0,   91,   91,   91,   91,    0,  120,
723   120,    0,  120,  120,  120,  120,    0,  120,  120,  120,
724   176,  173,    0,  176,    0,    0,    0,    0,    0,    0,
725     0,    0,  175,  175,   91,   91,   91,   91,    0,    0,
726   176,  176,    0,  176,    0,  176,    0,    0,    0,    0,
727     0,   91,   91,    0,   91,   91,   91,   91,    0,   91,
728    91,   91,  177,  175,    0,  177,    0,    0,    0,    0,
729     0,    0,    0,    0,    0,  176,  176,    0,    0,    0,
730     0,    0,  177,  177,    0,  177,   90,  177,    0,    0,
731     0,    0,    0,    0,   90,   90,   90,   90,    0,    0,
732     0,    0,    0,    0,    0,    0,  176,    0,    0,    0,
733     0,    0,    0,    0,    0,    0,    0,  177,  177,    0,
734     0,    0,    0,    0,   90,   90,   90,   90,    0,    0,
735     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
736     0,   90,   90,    0,   90,   90,   90,   90,  177,   90,
737    90,   90,   75,    0,    0,   75,    0,    0,   75,    0,
738   173,    0,    0,    0,    0,    0,    0,    0,  173,  173,
739   173,  173,   75,   75,    0,   75,    0,   75,    0,    0,
740     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
741     0,    0,    0,    0,    0,    0,    0,    0,  173,  173,
742   173,  173,  175,    0,    0,    0,    0,   75,   75,    0,
743   175,  175,  175,  175,    0,  173,  173,    0,  173,  173,
744   173,  173,    0,  173,  173,  173,   76,    0,    0,   76,
745     0,    0,   76,    0,    0,    0,    0,    0,   75,    0,
746   175,  175,  175,  175,    0,  176,   76,   76,    0,   76,
747     0,   76,    0,  176,  176,  176,  176,  175,  175,    0,
748   175,  175,  175,  175,    0,  175,  175,  175,   61,    0,
749     0,   61,    0,    0,   61,    0,    0,    0,    0,    0,
750     0,   76,   76,  176,  176,  176,  176,  177,   61,   61,
751     0,   61,    0,   61,    0,  177,  177,  177,  177,    0,
752   176,  176,    0,  176,  176,  176,  176,    0,  176,  176,
753   176,   62,   76,    0,   62,    0,    0,   62,    0,    0,
754     0,    0,    0,   61,   61,  177,  177,  177,  177,    0,
755     0,   62,   62,    0,   62,    0,   62,    0,    0,    0,
756     0,    0,  177,  177,    0,  177,  177,  177,  177,    0,
757   177,  177,  177,   63,   61,    0,   63,    0,    0,   63,
758     0,    0,    0,    0,    0,    0,   62,   62,    0,    0,
759     0,    0,    0,   63,   63,    0,   63,   75,   63,    0,
760     0,    0,    0,    0,    0,   75,   75,   75,   75,    0,
761     0,    0,    0,    0,    0,    0,    0,   62,    0,    0,
762     0,    0,    0,    0,    0,    0,    0,    0,   63,   63,
763     0,    0,    0,    0,    0,   75,   75,   75,   75,    0,
764     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
765     0,    0,   75,   75,    0,   75,   75,   75,   75,   63,
766     0,   75,   75,   64,    0,    0,   64,    0,    0,   64,
767     0,   76,    0,    0,    0,    0,    0,    0,    0,   76,
768    76,   76,   76,   64,   64,    0,   64,    0,   64,    0,
769     0,    0,    0,    0,    0,    0,    0,    0,   55,    0,
770     0,   55,    0,    0,    0,    0,    0,    0,    0,   76,
771    76,   76,   76,   61,    0,   55,   55,    0,   64,   64,
772     0,   61,   61,   61,   61,    0,   76,   76,    0,   76,
773    76,   76,   76,    0,    0,   76,   76,   65,    0,    0,
774    65,    0,    0,   65,    0,    0,    0,    0,    0,   64,
775    55,   61,   61,   61,   61,    0,   62,   65,   65,    0,
776    65,    0,   65,    0,   62,   62,   62,   62,   61,   61,
777     0,   61,   61,   61,   61,    0,    0,   61,   61,   92,
778     0,    0,   92,    0,    0,   92,    0,    0,    0,    0,
779     0,    0,   65,   65,   62,   62,   62,   62,   63,   92,
780    92,    0,   92,    0,   92,    0,   63,   63,   63,   63,
781     0,   62,   62,    0,   62,   62,    0,    0,    0,    0,
782    62,   62,   87,   65,    0,   87,    0,    0,   87,    0,
783     0,    0,    0,    0,   92,   92,   63,   63,    0,   63,
784     0,    0,   87,   87,    0,   87,  125,   87,    0,  125,
785     0,    0,  125,   63,   63,    0,   63,   63,   60,    0,
786     0,   60,   63,   63,    0,   92,  125,  125,    0,  125,
787     0,  125,    0,    0,    0,   60,   60,   87,   87,    0,
788     0,    0,    0,    0,    0,    0,    0,    0,   64,    0,
789     0,    0,    0,    0,    0,    0,   64,   64,   64,   64,
790     0,  125,  125,    0,    0,    0,    0,    0,   87,    0,
791    60,    0,    0,   66,    0,    0,   66,    0,    0,   66,
792     0,    0,    0,    0,    0,    0,   64,   64,   55,   55,
793    55,   55,  125,   66,   66,    0,   66,    0,   66,    0,
794     0,    0,    0,   64,   64,    0,   64,   64,    0,    0,
795     0,    0,   64,   64,   68,    0,    0,   68,    0,    0,
796    68,    0,   65,    0,    0,    0,    0,    0,   66,   66,
797    65,   65,   65,   65,   68,   68,    0,   68,    0,   68,
798     0,    0,    0,    0,   55,   55,    0,    0,    0,   59,
799     0,    0,   59,    0,    0,    0,    0,    0,    0,   66,
800    65,   65,    0,    0,   92,    0,   59,   59,    0,   68,
801    68,    0,   92,   92,   92,   92,    0,   65,   65,    0,
802    65,   65,    0,    0,    0,    0,   65,   65,  156,    0,
803     0,  156,    0,    0,  156,    0,    0,    0,    0,    0,
804    68,   59,   92,   92,    0,    0,    0,   87,  156,  156,
805     0,  156,    0,  156,    0,   87,   87,   87,   87,   92,
806    92,    0,    0,    0,    0,    0,    0,    0,   92,   92,
807     0,  125,    0,    0,    0,    0,    0,    0,    0,  125,
808   125,  125,  125,  156,  156,   87,   87,    0,   60,   60,
809    60,   60,    0,    0,    0,   88,    0,    0,   88,    0,
810     0,   88,   87,   87,   58,    0,    0,   58,    0,  125,
811   125,   87,   87,    0,  156,   88,   88,    0,   88,    0,
812    88,   58,   58,    0,    0,    0,  125,  125,    0,    0,
813     0,    0,    0,    0,    0,  125,  125,    0,   66,    0,
814     0,    0,    0,    0,   60,   60,   66,   66,   66,   66,
815    88,   88,    0,    0,    0,    0,   58,    0,    0,    0,
816     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
817     0,    0,    0,    0,    0,    0,    0,   66,    0,   68,
818     0,   88,    0,    0,    0,    0,    0,   68,   68,   68,
819    68,    0,  172,   66,   66,  172,    0,    0,  172,    0,
820     0,    0,   66,   66,  123,    0,    0,  123,    0,    0,
821   123,    0,  172,  172,    0,  172,    0,  172,    0,   59,
822    59,   59,   59,    0,  123,  123,    0,  123,    0,  123,
823     0,    0,    0,    0,   68,   68,    0,    0,    0,    0,
824     0,    0,    0,   68,   68,    0,    0,  172,  172,    0,
825     0,    0,    0,  156,    0,    0,    0,    0,    0,  123,
826   123,  156,  156,  156,  156,    0,    0,    0,    0,    0,
827     0,    0,    0,    0,    0,   59,   59,   77,  172,    0,
828    77,    0,    0,   77,    0,    0,    0,    0,    0,    0,
829   123,  156,  156,  156,  156,    0,    0,   77,   77,    0,
830    77,    0,   77,    0,    0,    0,    0,    0,  156,  156,
831     0,  156,  156,  156,  156,    0,  156,    0,    0,    0,
832    88,    0,    0,    0,    0,    0,    0,    0,   88,   88,
833    88,   88,   77,   77,   58,   58,   58,   58,    0,    0,
834     0,    0,    0,    0,  174,    0,    0,  174,    0,    0,
835   174,    0,    0,    0,    0,    0,    0,    0,   88,   88,
836    88,   88,    0,   77,  174,  174,    0,  174,    0,  174,
837    56,    0,    0,   56,    0,   88,   88,    0,   88,   88,
838    88,   88,    0,   88,    0,    0,    0,   56,   56,    0,
839    58,   58,    0,    0,    0,    0,    0,    0,    0,  174,
840   174,    0,    0,    0,    0,    0,    0,    0,    0,    0,
841     0,    0,    0,    0,    0,    0,    0,  172,    0,    0,
842     0,    0,   56,    0,    0,  172,  172,  172,  172,  123,
843   174,    0,    0,    0,    0,    0,    0,  123,  123,  123,
844   123,   80,    0,    0,   80,    0,    0,   80,    0,    0,
845     0,    0,    0,    0,    0,  172,  172,  172,  172,    0,
846     0,   80,   80,    0,   80,    0,   80,  123,  123,  123,
847   123,    0,  172,  172,    0,  172,  172,  172,  172,    0,
848   172,    0,    0,    0,  123,  123,    0,  123,  123,  123,
849   123,    0,  123,    0,    0,    0,   80,   80,   81,    0,
850     0,   81,   77,    0,   81,    0,    0,    0,    0,    0,
851    77,   77,   77,   77,    0,    0,    0,    0,   81,   81,
852     0,   81,    0,   81,    0,  186,    0,   80,  307,    0,
853     0,  293,    0,    0,    0,    0,    0,    0,    0,    0,
854    77,   77,   77,   77,    0,    0,    0,    0,  180,    0,
855   181,    0,    0,   81,   81,    0,    0,   77,   77,    0,
856    77,   77,   77,   77,    0,   77,    0,   78,    0,  174,
857    78,    0,    0,   78,    0,    0,    0,  174,  174,  174,
858   174,  185,    0,    0,   81,    0,    0,   78,   78,    0,
859    78,    0,   78,   79,    0,    0,   79,    0,    0,   79,
860    56,   56,   56,   56,    0,    0,    0,  174,  174,  174,
861   174,  184,    0,   79,   79,    0,   79,    0,   79,    0,
862     0,    0,   78,   78,  174,  174,    0,  174,  174,  174,
863   174,    0,  174,    0,    0,    0,    0,    0,    0,    0,
864     0,    0,    0,    0,  186,    0,    0,    0,   79,   79,
865   293,    0,    0,   78,    0,  186,   56,   56,    0,    0,
866     0,  291,    0,    0,    0,    0,   80,  180,   57,  181,
867     0,   57,    0,    0,   80,   80,   80,   80,  180,   79,
868   181,    0,    0,    0,    0,   57,   57,    0,    0,    0,
869     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
870   185,    0,    0,    0,   80,   80,   80,   80,    0,    0,
871     0,  185,    0,    0,    0,    0,    0,    0,    0,    0,
872    57,   80,   80,   81,   80,   80,   80,   80,    0,   80,
873   184,   81,   81,   81,   81,    0,    0,    0,    0,    0,
874     0,  184,    0,    0,    0,    0,   68,    0,    0,    0,
875   175,    0,    0,   72,    0,    0,   75,    0,   74,    0,
876     0,   81,   81,   81,   81,    0,    0,    0,    0,    0,
877     0,    0,    0,    0,    0,    0,    0,    0,   81,   81,
878     0,   81,   81,   81,   81,    0,   81,    0,  176,  177,
879   178,  179,   78,    0,    0,    0,    0,    0,    0,    0,
880    78,   78,   78,   78,  148,  182,  183,    0,  187,  188,
881   189,  190,    0,  191,    0,    0,    0,    0,   79,    0,
882    53,    0,    0,   53,    0,    0,   79,   79,   79,   79,
883    78,   78,   78,   78,    0,    0,  147,   53,   53,   69,
884     0,    0,    0,   70,    0,    0,   70,   78,   78,    0,
885    78,   78,   78,   78,    0,   78,   79,   79,   79,   79,
886    70,   70,    0,   70,    0,   70,    0,    0,    0,  175,
887     0,    0,   53,   79,   79,    0,   79,   79,   79,   79,
888   175,   79,    0,    0,    0,    0,    0,    0,    0,    0,
889     0,    0,    0,    0,   69,   70,   70,   69,   57,   57,
890    57,   57,    0,    0,    0,    0,    0,  176,  177,  178,
891   179,   69,   69,    0,   69,    0,   69,    0,  176,  177,
892   178,  179,    0,    0,  182,  183,   70,  187,  188,  189,
893   190,    0,  191,    0,    0,  182,  183,    0,  187,  188,
894   189,  190,    0,  191,    0,    0,   69,   69,    0,    0,
895     0,    0,    0,    0,   57,   57,    0,    0,    0,    0,
896     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
897    21,    0,    0,   22,   23,   24,    0,   69,    0,   25,
898    26,   27,   28,   29,    0,    0,    0,    0,    0,    0,
899     0,   34,   35,    0,   37,   38,   39,   40,   41,   42,
900    43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
901     0,   53,   54,   55,    0,    0,    0,    0,    0,   56,
902     0,   57,   58,   59,   60,   61,   62,   63,   64,   65,
903    66,    0,    0,   67,    0,    0,    0,    0,    0,    0,
904     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
905    53,   53,   53,   53,    0,    0,    0,    0,    0,    0,
906     0,    0,    0,    0,    0,   70,    0,    0,    0,    0,
907     0,    0,    0,   70,   70,   70,   70,    0,    0,    0,
908     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
909     0,    0,  154,    0,    0,    0,    0,    0,  162,    0,
910     0,    0,    0,    0,    0,    0,   53,   53,    0,    0,
911     0,    0,    0,    0,    0,    0,   69,    0,    0,    0,
912    70,   70,    0,    0,   69,   69,   69,   69,    0,   70,
913    70,    0,    0,  207,    0,  210,    0,  212,    0,  214,
914     0,    0,  217,    0,  221,    0,    0,    0,    0,    0,
915     0,    0,    0,    0,  231,    0,    0,    0,    0,    0,
916     0,    0,    0,    0,    0,    0,    0,    0,  240,    0,
917     0,   69,   69,  245,  246,  247,  248,  249,  250,  251,
918    69,   69,    0,    0,    0,    0,    0,    0,    0,    0,
919     0,    0,    0,    0,    0,    0,  259,  260,  261,  262,
920     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
921     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
922     0,    0,    0,    0,    0,    0,    0,    0,  297,  299,
923     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
924     0,    0,    0,    0,  310,    0,    0,    0,    0,    0,
925     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
926     0,    0,    0,    0,    0,    0,    0,  329,    0,  332,
927   334,    0,    0,    0,    0,    0,    0,    0,  339,    0,
928     0,    0,    0,  342,    0,    0,    0,    0,    0,    0,
929     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
930     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
931     0,    0,    0,    0,    0,    0,    0,  352,    0,    0,
932     0,    0,    0,    0,    0,    0,    0,  358,    0,    0,
933     0,    0,    0,    0,    0,    0,    0,  207,    0,    0,
934     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
935     0,    0,    0,    0,    0,    0,  382,    0,    0,    0,
936     0,    0,    0,    0,    0,    0,    0,  388,
937 };
938 short yycheck[] = {                                      17,
939     0,   41,   40,   40,   44,   40,   61,   25,   44,   40,
940    40,  125,   30,   31,   32,   33,   40,   40,   40,  257,
941   108,   28,  110,   93,  112,  257,  114,  257,  257,   41,
942    91,   44,   40,   33,   44,   40,   40,   40,  217,  136,
943    40,  138,  221,   43,  257,   45,   44,   59,   66,   67,
944    40,  121,  122,  123,  124,  125,  126,   44,   91,   59,
945    91,  240,  123,   41,  258,  323,  324,  216,  326,    0,
946    41,  265,   41,  311,  307,   44,  225,  226,  310,  308,
947    93,   59,   61,   93,  233,  234,  235,  236,   59,  238,
948   123,  123,  123,  123,  101,   93,  103,  104,   59,  123,
949   123,  123,   33,  297,   41,   41,   93,   41,   44,   40,
950    44,  305,   43,  301,   45,  303,  304,   44,  297,   41,
951   299,   41,   59,  123,  257,  125,  126,   44,   59,  327,
952   328,  310,   59,  321,  322,  323,  324,   59,  326,   59,
953   303,  304,   59,   44,  258,  294,   40,  165,   40,  167,
954    40,  265,   40,  332,   38,  334,   59,   44,   59,  308,
955   323,  324,   40,  326,  303,   38,   41,  316,   41,   44,
956    41,   44,   59,   44,  323,  324,  275,  276,  277,  358,
957   303,  304,   40,  297,  323,  324,   41,  326,   61,   44,
958    63,  305,  123,   41,   41,  126,   44,   44,  321,  322,
959   323,  324,  257,  326,   41,   41,  355,   44,   44,   40,
960    94,   40,   40,   40,   40,  303,  304,  305,  306,  257,
961   257,   94,  257,  372,  312,   40,   40,   40,   40,  378,
962    40,  271,  272,  273,  274,  271,  272,  273,  274,   40,
963   124,   40,  307,   40,   40,  308,   41,  317,  318,  257,
964   399,  124,  257,  123,  257,   40,  256,  257,  258,   40,
965   260,  261,  262,   40,   44,  265,  266,  267,  268,  269,
966   270,  271,  272,  273,  274,   38,  311,  365,  278,  279,
967   280,  281,  282,  283,  284,  285,  286,  287,  288,  289,
968   290,  291,  292,  293,  294,  295,  296,  297,  298,  299,
969   300,  389,  310,  308,  308,  305,  306,  310,  308,  309,
970   310,  311,  312,  313,  314,  315,  316,  317,  308,   91,
971   320,   41,   44,   41,   41,  256,  257,  327,  328,  260,
972   261,  262,   44,   41,   41,  266,  267,  268,  269,  270,
973   271,  272,  273,  274,   59,   41,   44,  278,  279,  280,
974   281,  282,  283,  284,  285,  286,  287,  288,  289,  290,
975   291,  292,  293,  294,  295,  296,   25,  298,  299,  300,
976    29,   44,   44,   41,  123,  306,  326,  308,  309,  310,
977   311,  312,  313,  314,  315,  316,  317,   91,   41,  320,
978   263,  224,   41,   41,   53,   41,  327,  328,  416,  232,
979   125,  125,   41,   59,   41,   41,  239,   41,   67,   41,
980    41,  125,   41,   41,   41,   33,  125,  301,  302,  303,
981   304,   41,   40,   89,   41,   43,   41,   45,  301,  302,
982   303,  304,   91,   41,   93,  319,   41,  321,  322,  323,
983   324,   59,  326,   59,   41,  318,  319,   59,  321,  322,
984   323,  324,   59,  326,  327,  328,  115,   41,   41,   12,
985   395,  311,  121,  122,  123,  124,  125,  126,   -1,   -1,
986   129,  130,  131,  132,  133,   -1,   -1,   -1,   -1,   -1,
987   139,   -1,  315,   -1,   33,   -1,   -1,   -1,  321,  322,
988    -1,   40,   -1,  326,   43,   -1,   45,   68,   69,   70,
989    71,   -1,   -1,   74,   75,  123,   -1,   -1,  126,   -1,
990    59,   38,   -1,   -1,   -1,  174,  175,  176,  177,  178,
991   179,  180,  181,  182,  183,  184,  185,  186,  187,  188,
992   189,  190,  191,   -1,   -1,   -1,   -1,  370,  301,  302,
993   303,  304,   -1,   -1,  377,   -1,   -1,   -1,   -1,   38,
994    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  321,  322,
995   323,  324,   -1,  326,   -1,   -1,   -1,   94,   -1,   -1,
996   403,   -1,   -1,   -1,  123,   -1,   -1,  126,   -1,  412,
997    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
998    -1,   -1,   -1,   -1,   33,  254,   -1,  124,   -1,   -1,
999    -1,   40,   -1,   -1,   43,   94,   45,   -1,  267,   -1,
1000   269,   -1,   -1,   -1,   -1,   -1,  275,   -1,  277,   -1,
1001   279,   -1,  281,   -1,  283,   -1,   -1,   -1,  287,   -1,
1002    -1,   -1,   -1,   -1,  293,  124,   -1,   -1,  256,  257,
1003    -1,   -1,  260,  261,  262,   -1,   -1,   -1,  266,  267,
1004   268,  269,  270,  271,  272,  273,  274,   -1,  317,  318,
1005   278,  279,  280,  281,  282,  283,  284,  285,  286,  287,
1006   288,  289,  290,  291,  292,  293,  294,  295,  296,   -1,
1007   298,  299,  300,   -1,  123,   -1,  345,  126,  306,   -1,
1008   308,  309,  310,  311,  312,  313,  314,  315,  316,  317,
1009    -1,   -1,  320,   -1,   -1,   -1,   -1,  256,  257,  327,
1010   328,  260,  261,  262,   -1,   -1,   -1,  266,  267,  268,
1011   269,  270,  271,  272,  273,  274,   -1,   -1,   -1,  278,
1012   279,  280,  281,  282,  283,  284,  285,  286,  287,  288,
1013   289,  290,  291,  292,  293,  294,  295,  296,   -1,  298,
1014   299,  300,   -1,   -1,   -1,   -1,   -1,  306,   -1,  308,
1015   309,  310,  311,  312,  313,  314,  315,  316,  317,   -1,
1016    -1,  320,   -1,   33,  301,  302,  303,  304,  327,  328,
1017    40,   -1,   -1,   43,   -1,   45,  301,  302,  303,  304,
1018    -1,  318,  319,   -1,  321,  322,  323,  324,   -1,  326,
1019    -1,   -1,   -1,   -1,   -1,   -1,  321,  322,  323,  324,
1020    -1,  326,  301,  302,  303,  304,   -1,   -1,  257,   -1,
1021    -1,  260,  261,  262,   -1,   -1,   -1,  266,  267,  268,
1022   269,  270,  321,  322,  323,  324,   -1,  326,   -1,  278,
1023   279,   -1,  281,  282,  283,  284,  285,  286,  287,  288,
1024   289,  290,  291,  292,  293,  294,  295,  296,   -1,  298,
1025   299,  300,   -1,  123,   -1,   -1,  126,  306,   -1,  308,
1026   309,  310,  311,  312,  313,  314,  315,  316,  317,   -1,
1027    33,  320,   -1,   -1,   -1,   -1,   -1,   40,  327,  328,
1028    43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1029    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1030    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1031    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1032    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1033    -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,
1034    -1,   40,   41,   -1,   43,   -1,   45,   -1,   -1,   -1,
1035    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1036   123,   -1,   -1,  126,   -1,   -1,   -1,   -1,   -1,   -1,
1037    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1038    -1,   38,   -1,   -1,   -1,   -1,   -1,  257,   -1,   -1,
1039   260,  261,  262,   -1,   -1,   -1,  266,  267,  268,  269,
1040   270,   58,   -1,   -1,   61,   -1,   63,   -1,  278,  279,
1041    -1,  281,  282,  283,  284,  285,  286,  287,  288,  289,
1042   290,  291,  292,  293,  294,  295,  296,  126,  298,  299,
1043   300,   -1,   -1,   -1,   -1,   -1,  306,   94,  308,  309,
1044   310,  311,  312,  313,  314,  315,  316,  317,   -1,   33,
1045   320,   -1,   -1,   -1,   -1,   -1,   40,  327,  328,   43,
1046    41,   45,   -1,   44,   -1,   -1,   -1,  124,   -1,   -1,
1047    -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   -1,
1048    61,   -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1049    -1,   -1,   -1,   -1,  257,   -1,   -1,  260,  261,  262,
1050    -1,   -1,   -1,  266,  267,  268,  269,  270,   -1,   -1,
1051    -1,   -1,   93,   -1,   -1,  278,  279,   -1,  281,  282,
1052   283,  284,  285,  286,  287,  288,  289,  290,  291,  292,
1053   293,  294,  295,  296,   -1,  298,  299,  300,   -1,   -1,
1054    -1,   -1,  126,  306,   -1,  308,  309,  310,  311,  312,
1055   313,  314,  315,  316,  317,   -1,   -1,  320,  257,   -1,
1056    -1,  260,  261,  262,  327,  328,   33,  266,  267,  268,
1057   269,  270,   -1,   40,   41,   -1,   43,   -1,   45,  278,
1058   279,   -1,  281,  282,  283,  284,  285,  286,  287,  288,
1059   289,  290,  291,  292,  293,  294,  295,  296,   -1,  298,
1060   299,  300,   -1,   -1,   -1,   -1,  263,  306,   -1,  308,
1061   309,  310,  311,  312,  313,  314,  315,  316,  317,   -1,
1062    -1,  320,   -1,   -1,   -1,   -1,   -1,   -1,  327,  328,
1063    33,   -1,   -1,   -1,   -1,   -1,   -1,   40,   41,   -1,
1064    43,   -1,   45,   -1,  301,  302,  303,  304,   -1,   -1,
1065    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  126,
1066    -1,  318,  319,   -1,  321,  322,  323,  324,   -1,  326,
1067    -1,   -1,  256,  257,   -1,   -1,  260,  261,  262,   -1,
1068    -1,   -1,  266,  267,  268,  269,  270,   -1,   -1,   -1,
1069   271,  272,  273,  274,  278,  279,   -1,  281,  282,  283,
1070   284,  285,  286,  287,  288,  289,  290,  291,  292,  293,
1071   294,  295,  296,   -1,  298,  299,  300,   -1,   -1,   -1,
1072    -1,   -1,  306,  126,  308,  309,  310,  311,  312,  313,
1073   314,  315,  316,  317,   -1,   -1,  320,   -1,   -1,   -1,
1074    -1,   33,   -1,  327,  328,   -1,  327,  328,   40,   -1,
1075    -1,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,
1076    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   61,
1077    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1078    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1079   257,   -1,   -1,  260,  261,  262,   -1,   -1,   -1,  266,
1080   267,  268,  269,  270,   -1,   -1,   -1,   -1,   -1,   -1,
1081    -1,  278,  279,   -1,  281,  282,  283,  284,  285,  286,
1082   287,  288,  289,  290,  291,  292,  293,  294,  295,  296,
1083    -1,  298,  299,  300,  126,   -1,   -1,   -1,   -1,  306,
1084    -1,  308,  309,  310,  311,  312,  313,  314,  315,  316,
1085   317,   -1,   41,  320,  257,   44,   -1,  260,  261,  262,
1086   327,  328,   -1,  266,  267,  268,  269,  270,   -1,   58,
1087    59,   -1,   61,   -1,   63,  278,  279,   -1,  281,  282,
1088   283,  284,  285,  286,  287,  288,  289,  290,  291,  292,
1089   293,  294,  295,  296,   -1,  298,  299,  300,   -1,   -1,
1090    -1,   -1,   -1,  306,   93,  308,  309,  310,  311,  312,
1091   313,  314,  315,  316,  317,   -1,   33,  320,   -1,   -1,
1092    -1,   -1,   -1,   40,  327,  328,   43,   -1,   45,   -1,
1093    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1094    -1,   -1,   -1,   -1,   61,   -1,   -1,   -1,   -1,   -1,
1095    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1096    -1,   -1,   -1,   -1,   -1,  257,   -1,   -1,  260,  261,
1097   262,   -1,   -1,   -1,  266,  267,  268,  269,  270,   -1,
1098    -1,   -1,   -1,   -1,   -1,   -1,  278,  279,   -1,  281,
1099   282,  283,  284,  285,  286,  287,  288,  289,  290,  291,
1100   292,  293,  294,  295,  296,   -1,  298,  299,  300,  126,
1101    -1,   -1,   41,   -1,  306,   44,  308,  309,  310,  311,
1102   312,  313,  314,  315,  316,  317,   -1,   33,  320,   58,
1103    59,   -1,   61,   -1,   40,  327,  328,   43,   -1,   45,
1104    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1105    -1,   -1,   -1,   -1,   -1,   61,   -1,   -1,   -1,   -1,
1106    -1,   -1,   -1,   -1,   93,   -1,   -1,   -1,   -1,   -1,
1107    -1,   -1,   -1,   -1,  263,   -1,   -1,   -1,   -1,   -1,
1108    -1,   -1,  271,  272,  273,  274,   -1,   -1,   -1,   -1,
1109    -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,   40,   -1,
1110    -1,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,
1111    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   61,
1112   126,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  318,
1113   319,   -1,   -1,   -1,   38,   -1,   -1,   -1,  327,  328,
1114   257,   -1,   -1,  260,  261,  262,   -1,   -1,   -1,  266,
1115   267,  268,  269,  270,   -1,   -1,   -1,   61,   -1,   63,
1116    -1,  278,  279,   -1,  281,  282,  283,  284,  285,  286,
1117   287,  288,  289,  290,  291,  292,  293,  294,  295,  296,
1118    -1,  298,  299,  300,  126,   -1,   -1,   -1,   -1,  306,
1119    94,  308,  309,  310,  311,  312,  313,  314,  315,  316,
1120   317,   -1,   33,  320,   -1,   -1,   -1,   -1,   -1,   40,
1121   327,  328,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,
1122   124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1123    61,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1124    -1,   -1,  271,  272,  273,  274,   -1,   -1,   -1,   -1,
1125    -1,  257,   -1,   -1,  260,  261,  262,   -1,   -1,   -1,
1126   266,  267,  268,  269,  270,   -1,   -1,   -1,   -1,   -1,
1127    -1,   -1,  278,  279,   -1,  281,  282,  283,  284,  285,
1128   286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
1129   296,   -1,  298,  299,  300,  126,   -1,   -1,  327,  328,
1130   306,   -1,  308,  309,  310,  311,  312,  313,  314,  315,
1131   316,  317,   -1,   41,  320,  257,   44,   -1,  260,  261,
1132   262,  327,  328,   -1,  266,  267,  268,  269,  270,   -1,
1133    58,   59,   -1,   61,   -1,   63,  278,  279,   -1,  281,
1134   282,  283,  284,  285,  286,  287,  288,  289,  290,  291,
1135   292,  293,  294,  295,  296,   -1,  298,  299,  300,  263,
1136    -1,   -1,   -1,   -1,  306,   93,  308,  309,  310,  311,
1137   312,  313,  314,  315,  316,  317,   -1,   33,  320,   -1,
1138    -1,   -1,   -1,   -1,   40,  327,  328,   43,   -1,   45,
1139    -1,   -1,   -1,   -1,   -1,   -1,   -1,  301,  302,  303,
1140   304,   -1,   -1,   -1,   -1,   61,   -1,   -1,   -1,   -1,
1141    -1,   -1,   -1,   -1,  318,  319,   38,  321,  322,  323,
1142   324,   -1,  326,   -1,   -1,   -1,  257,   -1,   -1,  260,
1143   261,  262,   -1,   -1,   -1,  266,  267,  268,  269,  270,
1144    -1,   63,   -1,   -1,   -1,   -1,   -1,  278,  279,   -1,
1145   281,  282,  283,  284,  285,  286,  287,  288,  289,  290,
1146   291,  292,  293,  294,  295,  296,   -1,  298,  299,  300,
1147   126,   -1,   94,   -1,   -1,  306,   -1,  308,  309,  310,
1148   311,  312,  313,  314,  315,  316,  317,   -1,   33,  320,
1149    -1,   -1,   -1,   -1,   -1,   40,  327,  328,   43,   -1,
1150    45,   -1,  124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1151    -1,   -1,   -1,   -1,   -1,   -1,   61,   -1,   -1,   -1,
1152    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1153    -1,   -1,   -1,   -1,   -1,  263,   -1,   -1,   -1,   -1,
1154    -1,   -1,   -1,  271,  272,  273,  274,   -1,   -1,   -1,
1155    -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,   -1,   40,
1156    -1,   -1,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,
1157    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1158    61,  126,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1159   318,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  327,
1160   328,  257,   -1,   -1,  260,  261,  262,   -1,   -1,   -1,
1161   266,  267,  268,  269,  270,   -1,   -1,   -1,   -1,   -1,
1162    -1,   -1,  278,  279,   -1,  281,  282,  283,  284,  285,
1163   286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
1164   296,  263,  298,  299,  300,  126,   -1,   -1,   -1,   -1,
1165   306,   -1,  308,  309,  310,  311,  312,  313,  314,  315,
1166   316,  317,   -1,   -1,  320,   -1,   33,   -1,   -1,   -1,
1167    -1,  327,  328,   40,   41,   -1,   43,   -1,   45,  301,
1168   302,  303,  304,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1169    -1,   -1,   -1,   -1,   -1,   -1,  318,  319,   -1,  321,
1170   322,  323,  324,   -1,  326,   -1,   -1,   -1,   -1,   -1,
1171    -1,   -1,  257,   -1,   -1,  260,  261,  262,   -1,   -1,
1172    -1,  266,  267,  268,  269,  270,   -1,   -1,   -1,   -1,
1173    -1,   -1,   -1,  278,  279,   -1,  281,  282,  283,  284,
1174   285,  286,  287,  288,  289,  290,  291,  292,  293,  294,
1175   295,  296,   -1,  298,  299,  300,   -1,   -1,   -1,  126,
1176    -1,  306,   -1,  308,  309,  310,  311,  312,  313,  314,
1177   315,  316,  317,   -1,   -1,  320,  257,   -1,   -1,  260,
1178   261,  262,  327,  328,   33,  266,  267,  268,  269,  270,
1179    -1,   40,   41,   -1,   43,   -1,   45,  278,  279,   -1,
1180   281,  282,  283,  284,  285,  286,  287,  288,  289,  290,
1181   291,  292,  293,  294,  295,  296,   -1,  298,  299,  300,
1182    -1,   -1,   -1,   -1,   -1,  306,   -1,  308,  309,  310,
1183   311,  312,  313,  314,  315,  316,  317,   -1,   -1,  320,
1184    -1,   -1,   -1,   -1,   -1,   -1,  327,  328,   -1,   -1,
1185    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,
1186    -1,   -1,   -1,   -1,   -1,   40,   41,   -1,   43,   -1,
1187    45,   -1,   -1,   -1,   -1,   -1,   -1,  126,   -1,   -1,
1188    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1189   257,   -1,   -1,  260,  261,  262,   -1,   -1,   -1,  266,
1190   267,  268,  269,  270,   -1,   -1,   -1,   -1,   -1,   -1,
1191    -1,  278,  279,   -1,  281,  282,  283,  284,  285,  286,
1192   287,  288,  289,  290,  291,  292,  293,  294,  295,  296,
1193    -1,  298,  299,  300,   -1,   -1,   -1,   -1,   -1,  306,
1194    -1,  308,  309,  310,  311,  312,  313,  314,  315,  316,
1195   317,  126,   -1,  320,   -1,   33,   -1,   -1,   -1,   -1,
1196   327,  328,   40,   41,   -1,   43,   -1,   45,   -1,   -1,
1197    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1198    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1199    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1200    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,
1201    -1,  260,  261,  262,   -1,   -1,   -1,  266,  267,  268,
1202   269,  270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  278,
1203   279,   -1,  281,  282,  283,  284,  285,  286,  287,  288,
1204   289,  290,  291,  292,  293,  294,  295,  296,  126,  298,
1205   299,  300,   -1,   -1,   -1,   -1,   -1,  306,   -1,  308,
1206   309,  310,  311,  312,  313,  314,  315,  316,  317,   -1,
1207    -1,  320,   -1,   -1,   38,   -1,   -1,   -1,  327,  328,
1208    44,   -1,  257,   -1,   -1,  260,  261,  262,   -1,   -1,
1209    -1,  266,  267,  268,  269,  270,   -1,   61,   -1,   63,
1210    -1,   -1,   -1,  278,  279,   -1,  281,  282,  283,  284,
1211   285,  286,  287,  288,  289,  290,  291,  292,  293,  294,
1212   295,  296,   -1,  298,  299,  300,   -1,   -1,   -1,   -1,
1213    94,  306,   -1,  308,  309,  310,  311,  312,  313,  314,
1214   315,  316,  317,   -1,   -1,  320,   -1,   33,   -1,   -1,
1215    -1,   -1,  327,  328,   40,   41,   -1,   43,   -1,   45,
1216   124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1217    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,
1218    -1,   -1,  260,  261,  262,   -1,   -1,   -1,  266,  267,
1219   268,  269,  270,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1220   278,  279,   -1,  281,  282,  283,  284,  285,  286,  287,
1221   288,  289,  290,  291,  292,  293,  294,  295,  296,   -1,
1222   298,  299,  300,   -1,   -1,   -1,   41,   -1,  306,   44,
1223   308,  309,  310,  311,  312,  313,  314,  315,  316,  317,
1224   126,   33,  320,   58,   59,   -1,   -1,   -1,   40,  327,
1225   328,   43,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,
1226    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1227    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,
1228    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1229    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  263,
1230    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1231    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   33,   -1,
1232    -1,   -1,   -1,   -1,   -1,   40,   -1,   -1,   43,   -1,
1233    45,   -1,   -1,   -1,  126,   -1,   -1,  301,  302,  303,
1234   304,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1235    -1,   -1,   -1,   -1,  318,  319,   -1,  321,  322,  323,
1236   324,   -1,  326,  327,  328,   -1,   -1,   -1,   -1,   -1,
1237    -1,  257,   -1,   -1,  260,  261,  262,   -1,   -1,   -1,
1238   266,  267,  268,  269,  270,   -1,   -1,   -1,   -1,   -1,
1239    -1,   -1,  278,  279,   -1,  281,  282,  283,  284,  285,
1240   286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
1241   296,  126,  298,  299,  300,   -1,   -1,   -1,   -1,   -1,
1242   306,   -1,  308,  309,  310,  311,  312,  313,  314,  315,
1243   316,  317,   -1,   33,  320,   -1,   -1,   -1,   -1,   -1,
1244    40,  327,  328,   43,   -1,   45,   -1,   -1,   -1,   -1,
1245    -1,   -1,   -1,   -1,   -1,   -1,  271,  272,  273,  274,
1246    -1,   -1,   -1,   -1,   -1,  257,   -1,   -1,  260,  261,
1247   262,   -1,   -1,   -1,  266,  267,  268,  269,  270,   -1,
1248    -1,   -1,   -1,   -1,   -1,   -1,  278,  279,   -1,  281,
1249   282,  283,  284,  285,  286,  287,  288,  289,  290,  291,
1250   292,  293,  294,  295,  296,   -1,  298,  299,  300,   -1,
1251    -1,   -1,  327,  328,  306,   -1,  308,  309,  310,  311,
1252   312,  313,  314,  315,  316,  317,  126,   33,  320,   -1,
1253    -1,   -1,   -1,   -1,   40,  327,  328,   43,   -1,   45,
1254    -1,   -1,  257,   -1,   -1,  260,  261,  262,   -1,   -1,
1255    -1,  266,  267,  268,  269,  270,   -1,   -1,   -1,   -1,
1256    -1,   -1,   -1,  278,  279,   -1,  281,  282,  283,  284,
1257   285,  286,  287,  288,  289,  290,  291,  292,  293,  294,
1258   295,  296,   -1,  298,  299,  300,   -1,   -1,   -1,   -1,
1259    -1,  306,   -1,  308,  309,  310,  311,  312,  313,  314,
1260   315,  316,  317,   -1,   -1,  320,   -1,   -1,   -1,   -1,
1261    -1,   -1,  327,  328,   -1,   -1,   38,   -1,   -1,   41,
1262   126,   -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1263    -1,   -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   61,
1264    -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1265    -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,   -1,
1266   260,  261,  262,   -1,   -1,   -1,  266,  267,  268,  269,
1267   270,   93,   94,   -1,   -1,   -1,   -1,   -1,  278,  279,
1268    -1,  281,  282,  283,  284,  285,  286,  287,  288,  289,
1269   290,  291,  292,  293,  294,  295,  296,   -1,  298,  299,
1270   300,   -1,  124,   -1,   -1,   -1,  306,   -1,  308,  309,
1271   310,  311,  312,  313,  314,  315,  316,  317,   -1,   -1,
1272   320,   -1,   -1,   -1,   -1,   -1,   -1,  327,  328,   -1,
1273    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1274    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1275    -1,  257,   -1,   -1,  260,  261,  262,   -1,   -1,   -1,
1276   266,  267,  268,  269,  270,   -1,   -1,   -1,   -1,   -1,
1277    -1,   -1,  278,  279,   -1,  281,  282,  283,  284,  285,
1278   286,  287,  288,  289,  290,  291,  292,  293,  294,  295,
1279   296,   -1,  298,  299,  300,   -1,   -1,   -1,   -1,   -1,
1280   306,   -1,  308,  309,  310,  311,  312,  313,  314,  315,
1281   316,  317,   38,   -1,  320,   41,   -1,   -1,   44,   -1,
1282    -1,  327,  328,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1283    -1,   -1,   58,   59,   -1,   61,   38,   63,   -1,   41,
1284    -1,  263,   44,   -1,   -1,   -1,   -1,   -1,   -1,  271,
1285   272,  273,  274,   -1,   -1,   -1,   58,   59,   -1,   61,
1286    -1,   63,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,
1287    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  301,
1288   302,  303,  304,   -1,   -1,   -1,   -1,   38,   -1,   -1,
1289    41,   93,   94,   44,   -1,   -1,  318,  319,  124,  321,
1290   322,  323,  324,   -1,  326,  327,  328,   58,   59,   -1,
1291    61,   -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1292    -1,   -1,  124,   -1,   38,   -1,   -1,   41,   -1,   -1,
1293    44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1294    -1,   -1,   93,   94,   58,   59,   -1,   61,   -1,   63,
1295    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1296    -1,   -1,   -1,   -1,   -1,   -1,   38,   -1,   -1,   41,
1297    -1,   -1,   44,  124,   -1,   -1,   -1,   -1,   -1,   93,
1298    94,   -1,   -1,   -1,   -1,   -1,   58,   59,   -1,   61,
1299    -1,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1300    -1,   -1,   -1,   38,   -1,   -1,   41,   -1,   -1,   44,
1301   124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1302    -1,   93,   94,   58,   59,   -1,   61,   -1,   63,   -1,
1303    -1,   -1,   -1,   -1,   -1,   -1,   -1,  263,   -1,   -1,
1304    -1,   -1,   -1,   -1,   -1,  271,  272,  273,  274,   -1,
1305    -1,   -1,  124,   -1,   -1,   -1,   -1,   -1,   93,   94,
1306    -1,  263,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  271,
1307   272,  273,  274,   -1,   -1,  301,  302,  303,  304,   -1,
1308    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   38,  124,
1309    -1,   41,  318,  319,   44,  321,  322,  323,  324,   -1,
1310   326,  327,  328,   -1,   -1,   -1,   -1,   -1,   58,   59,
1311    -1,   61,  263,   63,   -1,   -1,  318,  319,   -1,   -1,
1312   271,  272,  273,  274,   -1,  327,  328,   -1,   -1,   -1,
1313    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1314    -1,   -1,   -1,   93,   94,   -1,   -1,   -1,   -1,  263,
1315   301,  302,  303,  304,   -1,   -1,   -1,  271,  272,  273,
1316   274,   -1,   -1,   41,   -1,   -1,   44,  318,  319,   -1,
1317   321,  322,  323,  324,  124,  326,  327,  328,   -1,   -1,
1318    58,   59,   -1,   -1,   -1,   -1,   -1,  301,  302,  303,
1319   304,  263,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  271,
1320   272,  273,  274,   -1,  318,  319,   -1,  321,  322,  323,
1321   324,   -1,  326,  327,  328,   93,   -1,   -1,   -1,   -1,
1322    38,   -1,   -1,   41,   -1,   -1,   44,   -1,  263,  301,
1323   302,  303,  304,   -1,   -1,   -1,  271,  272,  273,  274,
1324    58,   59,   -1,   61,   -1,   63,  318,  319,   -1,  321,
1325   322,  323,  324,   -1,  326,  327,  328,   -1,   -1,   -1,
1326    41,   -1,   -1,   44,   -1,   -1,  301,  302,  303,  304,
1327    -1,   -1,   -1,   -1,   -1,   93,   94,   58,   59,   -1,
1328    -1,   -1,   -1,  318,  319,   -1,  321,  322,  323,  324,
1329    -1,  326,  327,  328,   38,   -1,   -1,   41,   -1,   -1,
1330    44,   -1,   -1,   -1,   -1,   -1,  124,   -1,   41,   -1,
1331    -1,   44,   93,  263,   58,   59,   -1,   61,   -1,   63,
1332    -1,  271,  272,  273,  274,   58,   59,   -1,   -1,   -1,
1333    -1,   -1,   -1,   -1,   -1,   -1,   38,   -1,   -1,   41,
1334    -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,   93,
1335    94,  301,  302,  303,  304,   -1,   58,   59,   -1,   61,
1336    93,   63,   -1,   -1,   -1,   -1,   -1,   -1,  318,  319,
1337    -1,  321,  322,  323,  324,   -1,  326,  327,  328,   38,
1338   124,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,
1339    -1,   93,   94,  271,  272,  273,  274,   -1,   -1,   58,
1340    59,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,   -1,
1341    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1342    -1,   38,  124,   -1,   41,   -1,   -1,   44,   -1,   -1,
1343    -1,   -1,   -1,   -1,   93,   94,   -1,   -1,   -1,   -1,
1344    -1,   58,   59,   -1,   61,  263,   63,   -1,   -1,  327,
1345   328,   -1,   -1,  271,  272,  273,  274,   -1,   -1,   -1,
1346    -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,
1347    -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,   -1,
1348    -1,   -1,   -1,  301,  302,  303,  304,   -1,   -1,   -1,
1349   271,  272,  273,  274,   -1,   -1,   -1,   -1,   -1,   -1,
1350   318,  319,   -1,  321,  322,  323,  324,  124,  326,  327,
1351   328,   38,   -1,   -1,   41,   -1,   -1,   44,   -1,  263,
1352    -1,   -1,   -1,   -1,   -1,   -1,   -1,  271,  272,  273,
1353   274,   58,   59,   -1,   61,   -1,   63,   -1,  271,  272,
1354   273,  274,   -1,   -1,   -1,   -1,  327,  328,   -1,   -1,
1355    -1,   -1,   -1,   -1,   -1,   -1,   -1,  301,  302,  303,
1356   304,  263,   -1,   -1,   -1,   -1,   93,   94,   -1,  271,
1357   272,  273,  274,   -1,  318,  319,   -1,  321,  322,  323,
1358   324,   -1,  326,  327,  328,   38,   -1,   -1,   41,   -1,
1359    -1,   -1,   -1,   -1,  327,  328,   -1,  124,   -1,  301,
1360   302,  303,  304,   -1,  263,   58,   59,   -1,   61,   -1,
1361    63,   -1,  271,  272,  273,  274,  318,  319,   -1,  321,
1362   322,  323,  324,   -1,  326,  327,  328,   38,   -1,   -1,
1363    41,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1364    93,   94,  301,  302,  303,  304,  263,   58,   59,   -1,
1365    61,   -1,   63,   -1,  271,  272,  273,  274,   -1,  318,
1366   319,   -1,  321,  322,  323,  324,   -1,  326,  327,  328,
1367    38,  124,   -1,   41,   -1,   -1,   -1,   -1,   -1,   -1,
1368    -1,   -1,   93,   94,  301,  302,  303,  304,   -1,   -1,
1369    58,   59,   -1,   61,   -1,   63,   -1,   -1,   -1,   -1,
1370    -1,  318,  319,   -1,  321,  322,  323,  324,   -1,  326,
1371   327,  328,   38,  124,   -1,   41,   -1,   -1,   -1,   -1,
1372    -1,   -1,   -1,   -1,   -1,   93,   94,   -1,   -1,   -1,
1373    -1,   -1,   58,   59,   -1,   61,  263,   63,   -1,   -1,
1374    -1,   -1,   -1,   -1,  271,  272,  273,  274,   -1,   -1,
1375    -1,   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,
1376    -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,
1377    -1,   -1,   -1,   -1,  301,  302,  303,  304,   -1,   -1,
1378    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1379    -1,  318,  319,   -1,  321,  322,  323,  324,  124,  326,
1380   327,  328,   38,   -1,   -1,   41,   -1,   -1,   44,   -1,
1381   263,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  271,  272,
1382   273,  274,   58,   59,   -1,   61,   -1,   63,   -1,   -1,
1383    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1384    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  301,  302,
1385   303,  304,  263,   -1,   -1,   -1,   -1,   93,   94,   -1,
1386   271,  272,  273,  274,   -1,  318,  319,   -1,  321,  322,
1387   323,  324,   -1,  326,  327,  328,   38,   -1,   -1,   41,
1388    -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,  124,   -1,
1389   301,  302,  303,  304,   -1,  263,   58,   59,   -1,   61,
1390    -1,   63,   -1,  271,  272,  273,  274,  318,  319,   -1,
1391   321,  322,  323,  324,   -1,  326,  327,  328,   38,   -1,
1392    -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,
1393    -1,   93,   94,  301,  302,  303,  304,  263,   58,   59,
1394    -1,   61,   -1,   63,   -1,  271,  272,  273,  274,   -1,
1395   318,  319,   -1,  321,  322,  323,  324,   -1,  326,  327,
1396   328,   38,  124,   -1,   41,   -1,   -1,   44,   -1,   -1,
1397    -1,   -1,   -1,   93,   94,  301,  302,  303,  304,   -1,
1398    -1,   58,   59,   -1,   61,   -1,   63,   -1,   -1,   -1,
1399    -1,   -1,  318,  319,   -1,  321,  322,  323,  324,   -1,
1400   326,  327,  328,   38,  124,   -1,   41,   -1,   -1,   44,
1401    -1,   -1,   -1,   -1,   -1,   -1,   93,   94,   -1,   -1,
1402    -1,   -1,   -1,   58,   59,   -1,   61,  263,   63,   -1,
1403    -1,   -1,   -1,   -1,   -1,  271,  272,  273,  274,   -1,
1404    -1,   -1,   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,
1405    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,   94,
1406    -1,   -1,   -1,   -1,   -1,  301,  302,  303,  304,   -1,
1407    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1408    -1,   -1,  318,  319,   -1,  321,  322,  323,  324,  124,
1409    -1,  327,  328,   38,   -1,   -1,   41,   -1,   -1,   44,
1410    -1,  263,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  271,
1411   272,  273,  274,   58,   59,   -1,   61,   -1,   63,   -1,
1412    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   41,   -1,
1413    -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  301,
1414   302,  303,  304,  263,   -1,   58,   59,   -1,   93,   94,
1415    -1,  271,  272,  273,  274,   -1,  318,  319,   -1,  321,
1416   322,  323,  324,   -1,   -1,  327,  328,   38,   -1,   -1,
1417    41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,  124,
1418    93,  301,  302,  303,  304,   -1,  263,   58,   59,   -1,
1419    61,   -1,   63,   -1,  271,  272,  273,  274,  318,  319,
1420    -1,  321,  322,  323,  324,   -1,   -1,  327,  328,   38,
1421    -1,   -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,
1422    -1,   -1,   93,   94,  301,  302,  303,  304,  263,   58,
1423    59,   -1,   61,   -1,   63,   -1,  271,  272,  273,  274,
1424    -1,  318,  319,   -1,  321,  322,   -1,   -1,   -1,   -1,
1425   327,  328,   38,  124,   -1,   41,   -1,   -1,   44,   -1,
1426    -1,   -1,   -1,   -1,   93,   94,  301,  302,   -1,  304,
1427    -1,   -1,   58,   59,   -1,   61,   38,   63,   -1,   41,
1428    -1,   -1,   44,  318,  319,   -1,  321,  322,   41,   -1,
1429    -1,   44,  327,  328,   -1,  124,   58,   59,   -1,   61,
1430    -1,   63,   -1,   -1,   -1,   58,   59,   93,   94,   -1,
1431    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  263,   -1,
1432    -1,   -1,   -1,   -1,   -1,   -1,  271,  272,  273,  274,
1433    -1,   93,   94,   -1,   -1,   -1,   -1,   -1,  124,   -1,
1434    93,   -1,   -1,   38,   -1,   -1,   41,   -1,   -1,   44,
1435    -1,   -1,   -1,   -1,   -1,   -1,  301,  302,  271,  272,
1436   273,  274,  124,   58,   59,   -1,   61,   -1,   63,   -1,
1437    -1,   -1,   -1,  318,  319,   -1,  321,  322,   -1,   -1,
1438    -1,   -1,  327,  328,   38,   -1,   -1,   41,   -1,   -1,
1439    44,   -1,  263,   -1,   -1,   -1,   -1,   -1,   93,   94,
1440   271,  272,  273,  274,   58,   59,   -1,   61,   -1,   63,
1441    -1,   -1,   -1,   -1,  327,  328,   -1,   -1,   -1,   41,
1442    -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,  124,
1443   301,  302,   -1,   -1,  263,   -1,   58,   59,   -1,   93,
1444    94,   -1,  271,  272,  273,  274,   -1,  318,  319,   -1,
1445   321,  322,   -1,   -1,   -1,   -1,  327,  328,   38,   -1,
1446    -1,   41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,
1447   124,   93,  301,  302,   -1,   -1,   -1,  263,   58,   59,
1448    -1,   61,   -1,   63,   -1,  271,  272,  273,  274,  318,
1449   319,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  327,  328,
1450    -1,  263,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  271,
1451   272,  273,  274,   93,   94,  301,  302,   -1,  271,  272,
1452   273,  274,   -1,   -1,   -1,   38,   -1,   -1,   41,   -1,
1453    -1,   44,  318,  319,   41,   -1,   -1,   44,   -1,  301,
1454   302,  327,  328,   -1,  124,   58,   59,   -1,   61,   -1,
1455    63,   58,   59,   -1,   -1,   -1,  318,  319,   -1,   -1,
1456    -1,   -1,   -1,   -1,   -1,  327,  328,   -1,  263,   -1,
1457    -1,   -1,   -1,   -1,  327,  328,  271,  272,  273,  274,
1458    93,   94,   -1,   -1,   -1,   -1,   93,   -1,   -1,   -1,
1459    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1460    -1,   -1,   -1,   -1,   -1,   -1,   -1,  302,   -1,  263,
1461    -1,  124,   -1,   -1,   -1,   -1,   -1,  271,  272,  273,
1462   274,   -1,   38,  318,  319,   41,   -1,   -1,   44,   -1,
1463    -1,   -1,  327,  328,   38,   -1,   -1,   41,   -1,   -1,
1464    44,   -1,   58,   59,   -1,   61,   -1,   63,   -1,  271,
1465   272,  273,  274,   -1,   58,   59,   -1,   61,   -1,   63,
1466    -1,   -1,   -1,   -1,  318,  319,   -1,   -1,   -1,   -1,
1467    -1,   -1,   -1,  327,  328,   -1,   -1,   93,   94,   -1,
1468    -1,   -1,   -1,  263,   -1,   -1,   -1,   -1,   -1,   93,
1469    94,  271,  272,  273,  274,   -1,   -1,   -1,   -1,   -1,
1470    -1,   -1,   -1,   -1,   -1,  327,  328,   38,  124,   -1,
1471    41,   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,
1472   124,  301,  302,  303,  304,   -1,   -1,   58,   59,   -1,
1473    61,   -1,   63,   -1,   -1,   -1,   -1,   -1,  318,  319,
1474    -1,  321,  322,  323,  324,   -1,  326,   -1,   -1,   -1,
1475   263,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  271,  272,
1476   273,  274,   93,   94,  271,  272,  273,  274,   -1,   -1,
1477    -1,   -1,   -1,   -1,   38,   -1,   -1,   41,   -1,   -1,
1478    44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  301,  302,
1479   303,  304,   -1,  124,   58,   59,   -1,   61,   -1,   63,
1480    41,   -1,   -1,   44,   -1,  318,  319,   -1,  321,  322,
1481   323,  324,   -1,  326,   -1,   -1,   -1,   58,   59,   -1,
1482   327,  328,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   93,
1483    94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1484    -1,   -1,   -1,   -1,   -1,   -1,   -1,  263,   -1,   -1,
1485    -1,   -1,   93,   -1,   -1,  271,  272,  273,  274,  263,
1486   124,   -1,   -1,   -1,   -1,   -1,   -1,  271,  272,  273,
1487   274,   38,   -1,   -1,   41,   -1,   -1,   44,   -1,   -1,
1488    -1,   -1,   -1,   -1,   -1,  301,  302,  303,  304,   -1,
1489    -1,   58,   59,   -1,   61,   -1,   63,  301,  302,  303,
1490   304,   -1,  318,  319,   -1,  321,  322,  323,  324,   -1,
1491   326,   -1,   -1,   -1,  318,  319,   -1,  321,  322,  323,
1492   324,   -1,  326,   -1,   -1,   -1,   93,   94,   38,   -1,
1493    -1,   41,  263,   -1,   44,   -1,   -1,   -1,   -1,   -1,
1494   271,  272,  273,  274,   -1,   -1,   -1,   -1,   58,   59,
1495    -1,   61,   -1,   63,   -1,   38,   -1,  124,   41,   -1,
1496    -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1497   301,  302,  303,  304,   -1,   -1,   -1,   -1,   61,   -1,
1498    63,   -1,   -1,   93,   94,   -1,   -1,  318,  319,   -1,
1499   321,  322,  323,  324,   -1,  326,   -1,   38,   -1,  263,
1500    41,   -1,   -1,   44,   -1,   -1,   -1,  271,  272,  273,
1501   274,   94,   -1,   -1,  124,   -1,   -1,   58,   59,   -1,
1502    61,   -1,   63,   38,   -1,   -1,   41,   -1,   -1,   44,
1503   271,  272,  273,  274,   -1,   -1,   -1,  301,  302,  303,
1504   304,  124,   -1,   58,   59,   -1,   61,   -1,   63,   -1,
1505    -1,   -1,   93,   94,  318,  319,   -1,  321,  322,  323,
1506   324,   -1,  326,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1507    -1,   -1,   -1,   -1,   38,   -1,   -1,   -1,   93,   94,
1508    44,   -1,   -1,  124,   -1,   38,  327,  328,   -1,   -1,
1509    -1,   44,   -1,   -1,   -1,   -1,  263,   61,   41,   63,
1510    -1,   44,   -1,   -1,  271,  272,  273,  274,   61,  124,
1511    63,   -1,   -1,   -1,   -1,   58,   59,   -1,   -1,   -1,
1512    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1513    94,   -1,   -1,   -1,  301,  302,  303,  304,   -1,   -1,
1514    -1,   94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1515    93,  318,  319,  263,  321,  322,  323,  324,   -1,  326,
1516   124,  271,  272,  273,  274,   -1,   -1,   -1,   -1,   -1,
1517    -1,  124,   -1,   -1,   -1,   -1,   33,   -1,   -1,   -1,
1518   263,   -1,   -1,   40,   -1,   -1,   43,   -1,   45,   -1,
1519    -1,  301,  302,  303,  304,   -1,   -1,   -1,   -1,   -1,
1520    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  318,  319,
1521    -1,  321,  322,  323,  324,   -1,  326,   -1,  301,  302,
1522   303,  304,  263,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1523   271,  272,  273,  274,   91,  318,  319,   -1,  321,  322,
1524   323,  324,   -1,  326,   -1,   -1,   -1,   -1,  263,   -1,
1525    41,   -1,   -1,   44,   -1,   -1,  271,  272,  273,  274,
1526   301,  302,  303,  304,   -1,   -1,  123,   58,   59,  126,
1527    -1,   -1,   -1,   41,   -1,   -1,   44,  318,  319,   -1,
1528   321,  322,  323,  324,   -1,  326,  301,  302,  303,  304,
1529    58,   59,   -1,   61,   -1,   63,   -1,   -1,   -1,  263,
1530    -1,   -1,   93,  318,  319,   -1,  321,  322,  323,  324,
1531   263,  326,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1532    -1,   -1,   -1,   -1,   41,   93,   94,   44,  271,  272,
1533   273,  274,   -1,   -1,   -1,   -1,   -1,  301,  302,  303,
1534   304,   58,   59,   -1,   61,   -1,   63,   -1,  301,  302,
1535   303,  304,   -1,   -1,  318,  319,  124,  321,  322,  323,
1536   324,   -1,  326,   -1,   -1,  318,  319,   -1,  321,  322,
1537   323,  324,   -1,  326,   -1,   -1,   93,   94,   -1,   -1,
1538    -1,   -1,   -1,   -1,  327,  328,   -1,   -1,   -1,   -1,
1539    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1540   257,   -1,   -1,  260,  261,  262,   -1,  124,   -1,  266,
1541   267,  268,  269,  270,   -1,   -1,   -1,   -1,   -1,   -1,
1542    -1,  278,  279,   -1,  281,  282,  283,  284,  285,  286,
1543   287,  288,  289,  290,  291,  292,  293,  294,  295,  296,
1544    -1,  298,  299,  300,   -1,   -1,   -1,   -1,   -1,  306,
1545    -1,  308,  309,  310,  311,  312,  313,  314,  315,  316,
1546   317,   -1,   -1,  320,   -1,   -1,   -1,   -1,   -1,   -1,
1547    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1548   271,  272,  273,  274,   -1,   -1,   -1,   -1,   -1,   -1,
1549    -1,   -1,   -1,   -1,   -1,  263,   -1,   -1,   -1,   -1,
1550    -1,   -1,   -1,  271,  272,  273,  274,   -1,   -1,   -1,
1551    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1552    -1,   -1,   66,   -1,   -1,   -1,   -1,   -1,   72,   -1,
1553    -1,   -1,   -1,   -1,   -1,   -1,  327,  328,   -1,   -1,
1554    -1,   -1,   -1,   -1,   -1,   -1,  263,   -1,   -1,   -1,
1555   318,  319,   -1,   -1,  271,  272,  273,  274,   -1,  327,
1556   328,   -1,   -1,  107,   -1,  109,   -1,  111,   -1,  113,
1557    -1,   -1,  116,   -1,  118,   -1,   -1,   -1,   -1,   -1,
1558    -1,   -1,   -1,   -1,  128,   -1,   -1,   -1,   -1,   -1,
1559    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  142,   -1,
1560    -1,  318,  319,  147,  148,  149,  150,  151,  152,  153,
1561   327,  328,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1562    -1,   -1,   -1,   -1,   -1,   -1,  170,  171,  172,  173,
1563    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1564    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1565    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  202,  203,
1566    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1567    -1,   -1,   -1,   -1,  218,   -1,   -1,   -1,   -1,   -1,
1568    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1569    -1,   -1,   -1,   -1,   -1,   -1,   -1,  241,   -1,  243,
1570   244,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  252,   -1,
1571    -1,   -1,   -1,  257,   -1,   -1,   -1,   -1,   -1,   -1,
1572    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1573    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1574    -1,   -1,   -1,   -1,   -1,   -1,   -1,  291,   -1,   -1,
1575    -1,   -1,   -1,   -1,   -1,   -1,   -1,  301,   -1,   -1,
1576    -1,   -1,   -1,   -1,   -1,   -1,   -1,  311,   -1,   -1,
1577    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
1578    -1,   -1,   -1,   -1,   -1,   -1,  330,   -1,   -1,   -1,
1579    -1,   -1,   -1,   -1,   -1,   -1,   -1,  341,
1580 };
1581 #define YYFINAL 1
1582 #ifndef YYDEBUG
1583 #define YYDEBUG 0
1584 #endif
1585 #define YYMAXTOKEN 328
1586 #if YYDEBUG
1587 char *yyname[] = {
1588 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1589 "'!'",0,0,0,0,"'&'",0,"'('","')'",0,"'+'","','","'-'",0,0,0,0,0,0,0,0,0,0,0,0,
1590 "':'","';'",0,"'='",0,"'?'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1591 0,"'['",0,"']'","'^'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1592 "'{'","'|'","'}'","'~'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1593 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1594 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1595 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","LABEL","APPEND","OPEN",
1596 "SSELECT","LOOPEX","DOTDOT","USING","FORMAT","DO","SHIFT","PUSH","POP",
1597 "LVALFUN","WHILE","UNTIL","IF","UNLESS","ELSE","ELSIF","CONTINUE","SPLIT",
1598 "FLIST","FOR","FILOP","FILOP2","FILOP3","FILOP4","FILOP22","FILOP25","FUNC0",
1599 "FUNC1","FUNC2","FUNC2x","FUNC3","FUNC4","FUNC5","HSHFUN","HSHFUN3","FLIST2",
1600 "SUB","FILETEST","LOCAL","DELETE","RELOP","EQOP","MULOP","ADDOP","PACKAGE",
1601 "AMPER","FORMLIST","REG","ARYLEN","ARY","HSH","STAR","SUBST","PATTERN",
1602 "RSTRING","TRANS","LISTOP","OROR","ANDAND","UNIOP","LS","RS","MATCH","NMATCH",
1603 "UMINUS","POW","INC","DEC",
1604 };
1605 char *yyrule[] = {
1606 "$accept : prog",
1607 "$$1 :",
1608 "prog : $$1 lineseq",
1609 "compblock : block CONTINUE block",
1610 "compblock : block else",
1611 "else :",
1612 "else : ELSE block",
1613 "else : ELSIF '(' expr ')' compblock",
1614 "block : '{' remember lineseq '}'",
1615 "remember :",
1616 "lineseq :",
1617 "lineseq : lineseq line",
1618 "line : decl",
1619 "line : label cond",
1620 "line : loop",
1621 "line : label ';'",
1622 "line : label sideff ';'",
1623 "sideff : error",
1624 "sideff : expr",
1625 "sideff : expr IF expr",
1626 "sideff : expr UNLESS expr",
1627 "sideff : expr WHILE expr",
1628 "sideff : expr UNTIL expr",
1629 "cond : IF '(' expr ')' compblock",
1630 "cond : UNLESS '(' expr ')' compblock",
1631 "cond : IF block compblock",
1632 "cond : UNLESS block compblock",
1633 "loop : label WHILE '(' texpr ')' compblock",
1634 "loop : label UNTIL '(' expr ')' compblock",
1635 "loop : label WHILE block compblock",
1636 "loop : label UNTIL block compblock",
1637 "loop : label FOR REG '(' expr crp compblock",
1638 "loop : label FOR '(' expr crp compblock",
1639 "loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
1640 "loop : label compblock",
1641 "nexpr :",
1642 "nexpr : sideff",
1643 "texpr :",
1644 "texpr : expr",
1645 "label :",
1646 "label : LABEL",
1647 "decl : format",
1648 "decl : subrout",
1649 "decl : package",
1650 "format : FORMAT WORD '=' FORMLIST",
1651 "format : FORMAT '=' FORMLIST",
1652 "subrout : SUB WORD block",
1653 "package : PACKAGE WORD ';'",
1654 "cexpr : ',' expr",
1655 "expr : expr ',' sexpr",
1656 "expr : sexpr",
1657 "csexpr : ',' sexpr",
1658 "sexpr : sexpr '=' sexpr",
1659 "sexpr : sexpr POW '=' sexpr",
1660 "sexpr : sexpr MULOP '=' sexpr",
1661 "sexpr : sexpr ADDOP '=' sexpr",
1662 "sexpr : sexpr LS '=' sexpr",
1663 "sexpr : sexpr RS '=' sexpr",
1664 "sexpr : sexpr '&' '=' sexpr",
1665 "sexpr : sexpr '^' '=' sexpr",
1666 "sexpr : sexpr '|' '=' sexpr",
1667 "sexpr : sexpr POW sexpr",
1668 "sexpr : sexpr MULOP sexpr",
1669 "sexpr : sexpr ADDOP sexpr",
1670 "sexpr : sexpr LS sexpr",
1671 "sexpr : sexpr RS sexpr",
1672 "sexpr : sexpr RELOP sexpr",
1673 "sexpr : sexpr EQOP sexpr",
1674 "sexpr : sexpr '&' sexpr",
1675 "sexpr : sexpr '^' sexpr",
1676 "sexpr : sexpr '|' sexpr",
1677 "sexpr : sexpr DOTDOT sexpr",
1678 "sexpr : sexpr ANDAND sexpr",
1679 "sexpr : sexpr OROR sexpr",
1680 "sexpr : sexpr '?' sexpr ':' sexpr",
1681 "sexpr : sexpr MATCH sexpr",
1682 "sexpr : sexpr NMATCH sexpr",
1683 "sexpr : term",
1684 "term : '-' term",
1685 "term : '+' term",
1686 "term : '!' term",
1687 "term : '~' term",
1688 "term : term INC",
1689 "term : term DEC",
1690 "term : INC term",
1691 "term : DEC term",
1692 "term : FILETEST WORD",
1693 "term : FILETEST sexpr",
1694 "term : FILETEST",
1695 "term : LOCAL '(' expr crp",
1696 "term : '(' expr crp",
1697 "term : '(' ')'",
1698 "term : DO sexpr",
1699 "term : DO block",
1700 "term : REG",
1701 "term : STAR",
1702 "term : REG '[' expr ']'",
1703 "term : HSH",
1704 "term : ARY",
1705 "term : REG '{' expr ';' '}'",
1706 "term : '(' expr crp '[' expr ']'",
1707 "term : '(' ')' '[' expr ']'",
1708 "term : ARY '[' expr ']'",
1709 "term : ARY '{' expr ';' '}'",
1710 "term : DELETE REG '{' expr ';' '}'",
1711 "term : DELETE '(' REG '{' expr ';' '}' ')'",
1712 "term : ARYLEN",
1713 "term : RSTRING",
1714 "term : PATTERN",
1715 "term : SUBST",
1716 "term : TRANS",
1717 "term : DO WORD '(' expr crp",
1718 "term : AMPER WORD '(' expr crp",
1719 "term : DO WORD '(' ')'",
1720 "term : AMPER WORD '(' ')'",
1721 "term : AMPER WORD",
1722 "term : DO REG '(' expr crp",
1723 "term : AMPER REG '(' expr crp",
1724 "term : DO REG '(' ')'",
1725 "term : AMPER REG '(' ')'",
1726 "term : AMPER REG",
1727 "term : LOOPEX",
1728 "term : LOOPEX WORD",
1729 "term : UNIOP",
1730 "term : UNIOP block",
1731 "term : UNIOP sexpr",
1732 "term : SSELECT",
1733 "term : SSELECT WORD",
1734 "term : SSELECT '(' handle ')'",
1735 "term : SSELECT '(' sexpr csexpr csexpr csexpr ')'",
1736 "term : OPEN WORD",
1737 "term : OPEN '(' WORD ')'",
1738 "term : OPEN '(' handle cexpr ')'",
1739 "term : FILOP '(' handle ')'",
1740 "term : FILOP WORD",
1741 "term : FILOP REG",
1742 "term : FILOP '(' ')'",
1743 "term : FILOP",
1744 "term : FILOP2 '(' handle cexpr ')'",
1745 "term : FILOP3 '(' handle csexpr cexpr ')'",
1746 "term : FILOP22 '(' handle ',' handle ')'",
1747 "term : FILOP4 '(' handle csexpr csexpr cexpr ')'",
1748 "term : FILOP25 '(' handle ',' handle csexpr csexpr cexpr ')'",
1749 "term : PUSH '(' aryword ',' expr crp",
1750 "term : POP aryword",
1751 "term : POP '(' aryword ')'",
1752 "term : SHIFT aryword",
1753 "term : SHIFT '(' aryword ')'",
1754 "term : SHIFT",
1755 "term : SPLIT",
1756 "term : SPLIT '(' sexpr csexpr csexpr ')'",
1757 "term : SPLIT '(' sexpr csexpr ')'",
1758 "term : SPLIT '(' sexpr ')'",
1759 "term : FLIST2 '(' sexpr cexpr ')'",
1760 "term : FLIST '(' expr crp",
1761 "term : LVALFUN sexpr",
1762 "term : LVALFUN",
1763 "term : FUNC0",
1764 "term : FUNC0 '(' ')'",
1765 "term : FUNC1 '(' ')'",
1766 "term : FUNC1 '(' expr ')'",
1767 "term : FUNC2 '(' sexpr cexpr ')'",
1768 "term : FUNC2x '(' sexpr csexpr ')'",
1769 "term : FUNC2x '(' sexpr csexpr cexpr ')'",
1770 "term : FUNC3 '(' sexpr csexpr cexpr ')'",
1771 "term : FUNC4 '(' sexpr csexpr csexpr cexpr ')'",
1772 "term : FUNC5 '(' sexpr csexpr csexpr csexpr cexpr ')'",
1773 "term : HSHFUN '(' hshword ')'",
1774 "term : HSHFUN hshword",
1775 "term : HSHFUN3 '(' hshword csexpr cexpr ')'",
1776 "term : bareword",
1777 "term : listop",
1778 "listop : LISTOP",
1779 "listop : LISTOP expr",
1780 "listop : LISTOP WORD",
1781 "listop : LISTOP WORD expr",
1782 "listop : LISTOP REG expr",
1783 "listop : LISTOP block expr",
1784 "handle : WORD",
1785 "handle : sexpr",
1786 "aryword : WORD",
1787 "aryword : ARY",
1788 "hshword : WORD",
1789 "hshword : HSH",
1790 "crp : ',' ')'",
1791 "crp : ')'",
1792 "bareword : WORD",
1793 };
1794 #endif
1795 #ifdef YYSTACKSIZE
1796 #undef YYMAXDEPTH
1797 #define YYMAXDEPTH YYSTACKSIZE
1798 #else
1799 #ifdef YYMAXDEPTH
1800 #define YYSTACKSIZE YYMAXDEPTH
1801 #else
1802 #define YYSTACKSIZE 500
1803 #define YYMAXDEPTH 500
1804 #endif
1805 #endif
1806 int yydebug;
1807 int yynerrs;
1808 int yyerrflag;
1809 int yychar;
1810 short *yyssp;
1811 YYSTYPE *yyvsp;
1812 YYSTYPE yyval;
1813 YYSTYPE yylval;
1814 short yyss[YYSTACKSIZE];
1815 YYSTYPE yyvs[YYSTACKSIZE];
1816 #define yystacksize YYSTACKSIZE
1817 #line 876 "perly.y"
1818  /* PROGRAM */
1819 #line 1820 "y.tab.c"
1820 #define YYABORT goto yyabort
1821 #define YYREJECT goto yyabort
1822 #define YYACCEPT goto yyaccept
1823 #define YYERROR goto yyerrlab
1824 int
1825 yyparse()
1826 {
1827     register int yym, yyn, yystate;
1828 #if YYDEBUG
1829     register char *yys;
1830     extern char *getenv();
1831
1832     if (yys = getenv("YYDEBUG"))
1833     {
1834         yyn = *yys;
1835         if (yyn >= '0' && yyn <= '9')
1836             yydebug = yyn - '0';
1837     }
1838 #endif
1839
1840     yynerrs = 0;
1841     yyerrflag = 0;
1842     yychar = (-1);
1843
1844     yyssp = yyss;
1845     yyvsp = yyvs;
1846     *yyssp = yystate = 0;
1847
1848 yyloop:
1849     if (yyn = yydefred[yystate]) goto yyreduce;
1850     if (yychar < 0)
1851     {
1852         if ((yychar = yylex()) < 0) yychar = 0;
1853 #if YYDEBUG
1854         if (yydebug)
1855         {
1856             yys = 0;
1857             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1858             if (!yys) yys = "illegal-symbol";
1859             printf("%sdebug: state %d, reading %d (%s)\n",
1860                     YYPREFIX, yystate, yychar, yys);
1861         }
1862 #endif
1863     }
1864     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1865             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1866     {
1867 #if YYDEBUG
1868         if (yydebug)
1869             printf("%sdebug: state %d, shifting to state %d\n",
1870                     YYPREFIX, yystate, yytable[yyn]);
1871 #endif
1872         if (yyssp >= yyss + yystacksize - 1)
1873         {
1874             goto yyoverflow;
1875         }
1876         *++yyssp = yystate = yytable[yyn];
1877         *++yyvsp = yylval;
1878         yychar = (-1);
1879         if (yyerrflag > 0)  --yyerrflag;
1880         goto yyloop;
1881     }
1882     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1883             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1884     {
1885         yyn = yytable[yyn];
1886         goto yyreduce;
1887     }
1888     if (yyerrflag) goto yyinrecovery;
1889 #ifdef lint
1890     goto yynewerror;
1891 #endif
1892 yynewerror:
1893     yyerror("syntax error");
1894 #ifdef lint
1895     goto yyerrlab;
1896 #endif
1897 yyerrlab:
1898     ++yynerrs;
1899 yyinrecovery:
1900     if (yyerrflag < 3)
1901     {
1902         yyerrflag = 3;
1903         for (;;)
1904         {
1905             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1906                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1907             {
1908 #if YYDEBUG
1909                 if (yydebug)
1910                     printf("%sdebug: state %d, error recovery shifting\
1911  to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
1912 #endif
1913                 if (yyssp >= yyss + yystacksize - 1)
1914                 {
1915                     goto yyoverflow;
1916                 }
1917                 *++yyssp = yystate = yytable[yyn];
1918                 *++yyvsp = yylval;
1919                 goto yyloop;
1920             }
1921             else
1922             {
1923 #if YYDEBUG
1924                 if (yydebug)
1925                     printf("%sdebug: error recovery discarding state %d\n",
1926                             YYPREFIX, *yyssp);
1927 #endif
1928                 if (yyssp <= yyss) goto yyabort;
1929                 --yyssp;
1930                 --yyvsp;
1931             }
1932         }
1933     }
1934     else
1935     {
1936         if (yychar == 0) goto yyabort;
1937 #if YYDEBUG
1938         if (yydebug)
1939         {
1940             yys = 0;
1941             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1942             if (!yys) yys = "illegal-symbol";
1943             printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
1944                     YYPREFIX, yystate, yychar, yys);
1945         }
1946 #endif
1947         yychar = (-1);
1948         goto yyloop;
1949     }
1950 yyreduce:
1951 #if YYDEBUG
1952     if (yydebug)
1953         printf("%sdebug: state %d, reducing by rule %d (%s)\n",
1954                 YYPREFIX, yystate, yyn, yyrule[yyn]);
1955 #endif
1956     yym = yylen[yyn];
1957     yyval = yyvsp[1-yym];
1958     switch (yyn)
1959     {
1960 case 1:
1961 #line 115 "perly.y"
1962 {
1963 #if defined(YYDEBUG) && defined(DEBUGGING)
1964                     yydebug = (debug & 1);
1965 #endif
1966                     expectterm = 2;
1967                 }
1968 break;
1969 case 2:
1970 #line 122 "perly.y"
1971 { if (in_eval)
1972                                 eval_root = block_head(yyvsp[0].cmdval);
1973                             else
1974                                 main_root = block_head(yyvsp[0].cmdval); }
1975 break;
1976 case 3:
1977 #line 129 "perly.y"
1978 { yyval.compval.comp_true = yyvsp[-2].cmdval; yyval.compval.comp_alt = yyvsp[0].cmdval; }
1979 break;
1980 case 4:
1981 #line 131 "perly.y"
1982 { yyval.compval.comp_true = yyvsp[-1].cmdval; yyval.compval.comp_alt = yyvsp[0].cmdval; }
1983 break;
1984 case 5:
1985 #line 135 "perly.y"
1986 { yyval.cmdval = Nullcmd; }
1987 break;
1988 case 6:
1989 #line 137 "perly.y"
1990 { yyval.cmdval = yyvsp[0].cmdval; }
1991 break;
1992 case 7:
1993 #line 139 "perly.y"
1994 { cmdline = yyvsp[-4].ival;
1995                             yyval.cmdval = make_ccmd(C_ELSIF,1,yyvsp[-2].arg,yyvsp[0].compval); }
1996 break;
1997 case 8:
1998 #line 144 "perly.y"
1999 { yyval.cmdval = block_head(yyvsp[-1].cmdval);
2000                           if (cmdline > (line_t)yyvsp[-3].ival)
2001                               cmdline = yyvsp[-3].ival;
2002                           if (savestack->ary_fill > yyvsp[-2].ival)
2003                             restorelist(yyvsp[-2].ival);
2004                           expectterm = 2; }
2005 break;
2006 case 9:
2007 #line 153 "perly.y"
2008 { yyval.ival = savestack->ary_fill; }
2009 break;
2010 case 10:
2011 #line 157 "perly.y"
2012 { yyval.cmdval = Nullcmd; }
2013 break;
2014 case 11:
2015 #line 159 "perly.y"
2016 { yyval.cmdval = append_line(yyvsp[-1].cmdval,yyvsp[0].cmdval); }
2017 break;
2018 case 12:
2019 #line 163 "perly.y"
2020 { yyval.cmdval = Nullcmd; }
2021 break;
2022 case 13:
2023 #line 165 "perly.y"
2024 { yyval.cmdval = add_label(yyvsp[-1].cval,yyvsp[0].cmdval); }
2025 break;
2026 case 15:
2027 #line 168 "perly.y"
2028 { if (yyvsp[-1].cval != Nullch) {
2029                               yyval.cmdval = add_label(yyvsp[-1].cval, make_acmd(C_EXPR, Nullstab,
2030                                   Nullarg, Nullarg) );
2031                             }
2032                             else {
2033                               yyval.cmdval = Nullcmd;
2034                               cmdline = NOLINE;
2035                             }
2036                             expectterm = 2; }
2037 break;
2038 case 16:
2039 #line 178 "perly.y"
2040 { yyval.cmdval = add_label(yyvsp[-2].cval,yyvsp[-1].cmdval);
2041                           expectterm = 2; }
2042 break;
2043 case 17:
2044 #line 183 "perly.y"
2045 { yyval.cmdval = Nullcmd; }
2046 break;
2047 case 18:
2048 #line 185 "perly.y"
2049 { yyval.cmdval = make_acmd(C_EXPR, Nullstab, yyvsp[0].arg, Nullarg); }
2050 break;
2051 case 19:
2052 #line 187 "perly.y"
2053 { yyval.cmdval = addcond(
2054                                make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg), yyvsp[0].arg); }
2055 break;
2056 case 20:
2057 #line 190 "perly.y"
2058 { yyval.cmdval = addcond(invert(
2059                                make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg)), yyvsp[0].arg); }
2060 break;
2061 case 21:
2062 #line 193 "perly.y"
2063 { yyval.cmdval = addloop(
2064                                make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg), yyvsp[0].arg); }
2065 break;
2066 case 22:
2067 #line 196 "perly.y"
2068 { yyval.cmdval = addloop(invert(
2069                                make_acmd(C_EXPR, Nullstab, Nullarg, yyvsp[-2].arg)), yyvsp[0].arg); }
2070 break;
2071 case 23:
2072 #line 201 "perly.y"
2073 { cmdline = yyvsp[-4].ival;
2074                             yyval.cmdval = make_icmd(C_IF,yyvsp[-2].arg,yyvsp[0].compval); }
2075 break;
2076 case 24:
2077 #line 204 "perly.y"
2078 { cmdline = yyvsp[-4].ival;
2079                             yyval.cmdval = invert(make_icmd(C_IF,yyvsp[-2].arg,yyvsp[0].compval)); }
2080 break;
2081 case 25:
2082 #line 207 "perly.y"
2083 { cmdline = yyvsp[-2].ival;
2084                             yyval.cmdval = make_icmd(C_IF,cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval); }
2085 break;
2086 case 26:
2087 #line 210 "perly.y"
2088 { cmdline = yyvsp[-2].ival;
2089                             yyval.cmdval = invert(make_icmd(C_IF,cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval)); }
2090 break;
2091 case 27:
2092 #line 215 "perly.y"
2093 { cmdline = yyvsp[-4].ival;
2094                             yyval.cmdval = wopt(add_label(yyvsp[-5].cval,
2095                             make_ccmd(C_WHILE,1,yyvsp[-2].arg,yyvsp[0].compval) )); }
2096 break;
2097 case 28:
2098 #line 219 "perly.y"
2099 { cmdline = yyvsp[-4].ival;
2100                             yyval.cmdval = wopt(add_label(yyvsp[-5].cval,
2101                             invert(make_ccmd(C_WHILE,1,yyvsp[-2].arg,yyvsp[0].compval)) )); }
2102 break;
2103 case 29:
2104 #line 223 "perly.y"
2105 { cmdline = yyvsp[-2].ival;
2106                             yyval.cmdval = wopt(add_label(yyvsp[-3].cval,
2107                             make_ccmd(C_WHILE, 1, cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval) )); }
2108 break;
2109 case 30:
2110 #line 227 "perly.y"
2111 { cmdline = yyvsp[-2].ival;
2112                             yyval.cmdval = wopt(add_label(yyvsp[-3].cval,
2113                             invert(make_ccmd(C_WHILE,1,cmd_to_arg(yyvsp[-1].cmdval),yyvsp[0].compval)) )); }
2114 break;
2115 case 31:
2116 #line 231 "perly.y"
2117 { cmdline = yyvsp[-5].ival;
2118                             /*
2119                              * The following gobbledygook catches EXPRs that
2120                              * aren't explicit array refs and translates
2121                              *          foreach VAR (EXPR) {
2122                              * into
2123                              *          @ary = EXPR;
2124                              *          foreach VAR (@ary) {
2125                              * where @ary is a hidden array made by genstab().
2126                              * (Note that @ary may become a local array if
2127                              * it is determined that it might be called
2128                              * recursively.  See cmd_tosave().)
2129                              */
2130                             if (yyvsp[-2].arg->arg_type != O_ARRAY) {
2131                                 scrstab = aadd(genstab());
2132                                 yyval.cmdval = append_line(
2133                                     make_acmd(C_EXPR, Nullstab,
2134                                       l(make_op(O_ASSIGN,2,
2135                                         listish(make_op(O_ARRAY, 1,
2136                                           stab2arg(A_STAB,scrstab),
2137                                           Nullarg,Nullarg )),
2138                                         listish(make_list(yyvsp[-2].arg)),
2139                                         Nullarg)),
2140                                       Nullarg),
2141                                     wopt(over(yyvsp[-4].stabval,add_label(yyvsp[-6].cval,
2142                                       make_ccmd(C_WHILE, 0,
2143                                         make_op(O_ARRAY, 1,
2144                                           stab2arg(A_STAB,scrstab),
2145                                           Nullarg,Nullarg ),
2146                                         yyvsp[0].compval)))));
2147                                 yyval.cmdval->c_line = yyvsp[-5].ival;
2148                                 yyval.cmdval->c_head->c_line = yyvsp[-5].ival;
2149                             }
2150                             else {
2151                                 yyval.cmdval = wopt(over(yyvsp[-4].stabval,add_label(yyvsp[-6].cval,
2152                                 make_ccmd(C_WHILE,1,yyvsp[-2].arg,yyvsp[0].compval) )));
2153                             }
2154                         }
2155 break;
2156 case 32:
2157 #line 270 "perly.y"
2158 { cmdline = yyvsp[-4].ival;
2159                             if (yyvsp[-2].arg->arg_type != O_ARRAY) {
2160                                 scrstab = aadd(genstab());
2161                                 yyval.cmdval = append_line(
2162                                     make_acmd(C_EXPR, Nullstab,
2163                                       l(make_op(O_ASSIGN,2,
2164                                         listish(make_op(O_ARRAY, 1,
2165                                           stab2arg(A_STAB,scrstab),
2166                                           Nullarg,Nullarg )),
2167                                         listish(make_list(yyvsp[-2].arg)),
2168                                         Nullarg)),
2169                                       Nullarg),
2170                                     wopt(over(defstab,add_label(yyvsp[-5].cval,
2171                                       make_ccmd(C_WHILE, 0,
2172                                         make_op(O_ARRAY, 1,
2173                                           stab2arg(A_STAB,scrstab),
2174                                           Nullarg,Nullarg ),
2175                                         yyvsp[0].compval)))));
2176                                 yyval.cmdval->c_line = yyvsp[-4].ival;
2177                                 yyval.cmdval->c_head->c_line = yyvsp[-4].ival;
2178                             }
2179                             else {      /* lisp, anyone? */
2180                                 yyval.cmdval = wopt(over(defstab,add_label(yyvsp[-5].cval,
2181                                 make_ccmd(C_WHILE,1,yyvsp[-2].arg,yyvsp[0].compval) )));
2182                             }
2183                         }
2184 break;
2185 case 33:
2186 #line 298 "perly.y"
2187 {   yyval.compval.comp_true = yyvsp[0].cmdval;
2188                             yyval.compval.comp_alt = yyvsp[-2].cmdval;
2189                             cmdline = yyvsp[-8].ival;
2190                             yyval.cmdval = append_line(yyvsp[-6].cmdval,wopt(add_label(yyvsp[-9].cval,
2191                                 make_ccmd(C_WHILE,1,yyvsp[-4].arg,yyval.compval) ))); }
2192 break;
2193 case 34:
2194 #line 304 "perly.y"
2195 { yyval.cmdval = add_label(yyvsp[-1].cval,make_ccmd(C_BLOCK,1,Nullarg,yyvsp[0].compval)); }
2196 break;
2197 case 35:
2198 #line 308 "perly.y"
2199 { yyval.cmdval = Nullcmd; }
2200 break;
2201 case 37:
2202 #line 313 "perly.y"
2203 { (void)scanstr("1",SCAN_DEF); yyval.arg = yylval.arg; }
2204 break;
2205 case 39:
2206 #line 318 "perly.y"
2207 { yyval.cval = Nullch; }
2208 break;
2209 case 41:
2210 #line 323 "perly.y"
2211 { yyval.ival = 0; }
2212 break;
2213 case 42:
2214 #line 325 "perly.y"
2215 { yyval.ival = 0; }
2216 break;
2217 case 43:
2218 #line 327 "perly.y"
2219 { yyval.ival = 0; }
2220 break;
2221 case 44:
2222 #line 331 "perly.y"
2223 { if (strEQ(yyvsp[-2].cval,"stdout"))
2224                             make_form(stabent("STDOUT",TRUE),yyvsp[0].formval);
2225                           else if (strEQ(yyvsp[-2].cval,"stderr"))
2226                             make_form(stabent("STDERR",TRUE),yyvsp[0].formval);
2227                           else
2228                             make_form(stabent(yyvsp[-2].cval,TRUE),yyvsp[0].formval);
2229                           Safefree(yyvsp[-2].cval); yyvsp[-2].cval = Nullch; }
2230 break;
2231 case 45:
2232 #line 339 "perly.y"
2233 { make_form(stabent("STDOUT",TRUE),yyvsp[0].formval); }
2234 break;
2235 case 46:
2236 #line 343 "perly.y"
2237 { make_sub(yyvsp[-1].cval,yyvsp[0].cmdval);
2238                           cmdline = NOLINE;
2239                           if (savestack->ary_fill > yyvsp[-2].ival)
2240                             restorelist(yyvsp[-2].ival); }
2241 break;
2242 case 47:
2243 #line 350 "perly.y"
2244 { char tmpbuf[256];
2245                           STAB *tmpstab;
2246
2247                           savehptr(&curstash);
2248                           saveitem(curstname);
2249                           str_set(curstname,yyvsp[-1].cval);
2250                           sprintf(tmpbuf,"'_%s",yyvsp[-1].cval);
2251                           tmpstab = stabent(tmpbuf,TRUE);
2252                           if (!stab_xhash(tmpstab))
2253                               stab_xhash(tmpstab) = hnew(0);
2254                           curstash = stab_xhash(tmpstab);
2255                           if (!curstash->tbl_name)
2256                               curstash->tbl_name = savestr(yyvsp[-1].cval);
2257                           curstash->tbl_coeffsize = 0;
2258                           Safefree(yyvsp[-1].cval); yyvsp[-1].cval = Nullch;
2259                           cmdline = NOLINE;
2260                           expectterm = 2;
2261                         }
2262 break;
2263 case 48:
2264 #line 371 "perly.y"
2265 { yyval.arg = yyvsp[0].arg; }
2266 break;
2267 case 49:
2268 #line 375 "perly.y"
2269 { yyval.arg = make_op(O_COMMA, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2270 break;
2271 case 51:
2272 #line 380 "perly.y"
2273 { yyval.arg = yyvsp[0].arg; }
2274 break;
2275 case 52:
2276 #line 384 "perly.y"
2277 {   yyvsp[-2].arg = listish(yyvsp[-2].arg);
2278                             if (yyvsp[-2].arg->arg_type == O_ASSIGN && yyvsp[-2].arg->arg_len == 1)
2279                                 yyvsp[-2].arg->arg_type = O_ITEM;       /* a local() */
2280                             if (yyvsp[-2].arg->arg_type == O_LIST)
2281                                 yyvsp[0].arg = listish(yyvsp[0].arg);
2282                             yyval.arg = l(make_op(O_ASSIGN, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg)); }
2283 break;
2284 case 53:
2285 #line 391 "perly.y"
2286 { yyval.arg = l(make_op(O_POW, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
2287 break;
2288 case 54:
2289 #line 393 "perly.y"
2290 { yyval.arg = l(make_op(yyvsp[-2].ival, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
2291 break;
2292 case 55:
2293 #line 395 "perly.y"
2294 { yyval.arg = rcatmaybe(l(make_op(yyvsp[-2].ival, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)));}
2295 break;
2296 case 56:
2297 #line 397 "perly.y"
2298 { yyval.arg = l(make_op(O_LEFT_SHIFT, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
2299 break;
2300 case 57:
2301 #line 399 "perly.y"
2302 { yyval.arg = l(make_op(O_RIGHT_SHIFT, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
2303 break;
2304 case 58:
2305 #line 401 "perly.y"
2306 { yyval.arg = l(make_op(O_BIT_AND, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
2307 break;
2308 case 59:
2309 #line 403 "perly.y"
2310 { yyval.arg = l(make_op(O_XOR, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
2311 break;
2312 case 60:
2313 #line 405 "perly.y"
2314 { yyval.arg = l(make_op(O_BIT_OR, 2, yyvsp[-3].arg, yyvsp[0].arg, Nullarg)); }
2315 break;
2316 case 61:
2317 #line 409 "perly.y"
2318 { yyval.arg = make_op(O_POW, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2319 break;
2320 case 62:
2321 #line 411 "perly.y"
2322 { if (yyvsp[-1].ival == O_REPEAT)
2323                               yyvsp[-2].arg = listish(yyvsp[-2].arg);
2324                             yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg);
2325                             if (yyvsp[-1].ival == O_REPEAT) {
2326                                 if (yyval.arg[1].arg_type != A_EXPR ||
2327                                   yyval.arg[1].arg_ptr.arg_arg->arg_type != O_LIST)
2328                                     yyval.arg[1].arg_flags &= ~AF_ARYOK;
2329                             } }
2330 break;
2331 case 63:
2332 #line 420 "perly.y"
2333 { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2334 break;
2335 case 64:
2336 #line 422 "perly.y"
2337 { yyval.arg = make_op(O_LEFT_SHIFT, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2338 break;
2339 case 65:
2340 #line 424 "perly.y"
2341 { yyval.arg = make_op(O_RIGHT_SHIFT, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2342 break;
2343 case 66:
2344 #line 426 "perly.y"
2345 { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2346 break;
2347 case 67:
2348 #line 428 "perly.y"
2349 { yyval.arg = make_op(yyvsp[-1].ival, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2350 break;
2351 case 68:
2352 #line 430 "perly.y"
2353 { yyval.arg = make_op(O_BIT_AND, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2354 break;
2355 case 69:
2356 #line 432 "perly.y"
2357 { yyval.arg = make_op(O_XOR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2358 break;
2359 case 70:
2360 #line 434 "perly.y"
2361 { yyval.arg = make_op(O_BIT_OR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2362 break;
2363 case 71:
2364 #line 436 "perly.y"
2365 { arg4 = Nullarg;
2366                           yyval.arg = make_op(O_F_OR_R, 4, yyvsp[-2].arg, yyvsp[0].arg, Nullarg);
2367                           yyval.arg[0].arg_flags |= yyvsp[-1].ival; }
2368 break;
2369 case 72:
2370 #line 440 "perly.y"
2371 { yyval.arg = make_op(O_AND, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2372 break;
2373 case 73:
2374 #line 442 "perly.y"
2375 { yyval.arg = make_op(O_OR, 2, yyvsp[-2].arg, yyvsp[0].arg, Nullarg); }
2376 break;
2377 case 74:
2378 #line 444 "perly.y"
2379 { yyval.arg = make_op(O_COND_EXPR, 3, yyvsp[-4].arg, yyvsp[-2].arg, yyvsp[0].arg); }
2380 break;
2381 case 75:
2382 #line 446 "perly.y"
2383 { yyval.arg = mod_match(O_MATCH, yyvsp[-2].arg, yyvsp[0].arg); }
2384 break;
2385 case 76:
2386 #line 448 "perly.y"
2387 { yyval.arg = mod_match(O_NMATCH, yyvsp[-2].arg, yyvsp[0].arg); }
2388 break;
2389 case 77:
2390 #line 450 "perly.y"
2391 { yyval.arg = yyvsp[0].arg; }
2392 break;
2393 case 78:
2394 #line 454 "perly.y"
2395 { yyval.arg = make_op(O_NEGATE, 1, yyvsp[0].arg, Nullarg, Nullarg); }
2396 break;
2397 case 79:
2398 #line 456 "perly.y"
2399 { yyval.arg = yyvsp[0].arg; }
2400 break;
2401 case 80:
2402 #line 458 "perly.y"
2403 { yyval.arg = make_op(O_NOT, 1, yyvsp[0].arg, Nullarg, Nullarg); }
2404 break;
2405 case 81:
2406 #line 460 "perly.y"
2407 { yyval.arg = make_op(O_COMPLEMENT, 1, yyvsp[0].arg, Nullarg, Nullarg);}
2408 break;
2409 case 82:
2410 #line 462 "perly.y"
2411 { yyval.arg = addflags(1, AF_POST|AF_UP,
2412                             l(make_op(O_ITEM,1,yyvsp[-1].arg,Nullarg,Nullarg))); }
2413 break;
2414 case 83:
2415 #line 465 "perly.y"
2416 { yyval.arg = addflags(1, AF_POST,
2417                             l(make_op(O_ITEM,1,yyvsp[-1].arg,Nullarg,Nullarg))); }
2418 break;
2419 case 84:
2420 #line 468 "perly.y"
2421 { yyval.arg = addflags(1, AF_PRE|AF_UP,
2422                             l(make_op(O_ITEM,1,yyvsp[0].arg,Nullarg,Nullarg))); }
2423 break;
2424 case 85:
2425 #line 471 "perly.y"
2426 { yyval.arg = addflags(1, AF_PRE,
2427                             l(make_op(O_ITEM,1,yyvsp[0].arg,Nullarg,Nullarg))); }
2428 break;
2429 case 86:
2430 #line 474 "perly.y"
2431 { opargs[yyvsp[-1].ival] = 0;   /* force it special */
2432                             yyval.arg = make_op(yyvsp[-1].ival, 1,
2433                                 stab2arg(A_STAB,stabent(yyvsp[0].cval,TRUE)),
2434                                 Nullarg, Nullarg);
2435                             Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
2436                         }
2437 break;
2438 case 87:
2439 #line 481 "perly.y"
2440 { opargs[yyvsp[-1].ival] = 1;
2441                             yyval.arg = make_op(yyvsp[-1].ival, 1, yyvsp[0].arg, Nullarg, Nullarg); }
2442 break;
2443 case 88:
2444 #line 484 "perly.y"
2445 { opargs[yyvsp[0].ival] = (yyvsp[0].ival != O_FTTTY);
2446                             yyval.arg = make_op(yyvsp[0].ival, 1,
2447                                 stab2arg(A_STAB,
2448                                   yyvsp[0].ival == O_FTTTY?stabent("STDIN",TRUE):defstab),
2449                                 Nullarg, Nullarg); }
2450 break;
2451 case 89:
2452 #line 490 "perly.y"
2453 { yyval.arg = l(localize(make_op(O_ASSIGN, 1,
2454                                 localize(listish(make_list(yyvsp[-1].arg))),
2455                                 Nullarg,Nullarg))); }
2456 break;
2457 case 90:
2458 #line 494 "perly.y"
2459 { yyval.arg = make_list(yyvsp[-1].arg); }
2460 break;
2461 case 91:
2462 #line 496 "perly.y"
2463 { yyval.arg = make_list(Nullarg); }
2464 break;
2465 case 92:
2466 #line 498 "perly.y"
2467 { yyval.arg = make_op(O_DOFILE,2,yyvsp[0].arg,Nullarg,Nullarg);
2468                           allstabs = TRUE;}
2469 break;
2470 case 93:
2471 #line 501 "perly.y"
2472 { yyval.arg = cmd_to_arg(yyvsp[0].cmdval); }
2473 break;
2474 case 94:
2475 #line 503 "perly.y"
2476 { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
2477 break;
2478 case 95:
2479 #line 505 "perly.y"
2480 { yyval.arg = stab2arg(A_STAR,yyvsp[0].stabval); }
2481 break;
2482 case 96:
2483 #line 507 "perly.y"
2484 { yyval.arg = make_op(O_AELEM, 2,
2485                                 stab2arg(A_STAB,aadd(yyvsp[-3].stabval)), yyvsp[-1].arg, Nullarg); }
2486 break;
2487 case 97:
2488 #line 510 "perly.y"
2489 { yyval.arg = make_op(O_HASH, 1,
2490                                 stab2arg(A_STAB,yyvsp[0].stabval),
2491                                 Nullarg, Nullarg); }
2492 break;
2493 case 98:
2494 #line 514 "perly.y"
2495 { yyval.arg = make_op(O_ARRAY, 1,
2496                                 stab2arg(A_STAB,yyvsp[0].stabval),
2497                                 Nullarg, Nullarg); }
2498 break;
2499 case 99:
2500 #line 518 "perly.y"
2501 { yyval.arg = make_op(O_HELEM, 2,
2502                                 stab2arg(A_STAB,hadd(yyvsp[-4].stabval)),
2503                                 jmaybe(yyvsp[-2].arg),
2504                                 Nullarg);
2505                             expectterm = FALSE; }
2506 break;
2507 case 100:
2508 #line 524 "perly.y"
2509 { yyval.arg = make_op(O_LSLICE, 3,
2510                                 Nullarg,
2511                                 listish(make_list(yyvsp[-1].arg)),
2512                                 listish(make_list(yyvsp[-4].arg))); }
2513 break;
2514 case 101:
2515 #line 529 "perly.y"
2516 { yyval.arg = make_op(O_LSLICE, 3,
2517                                 Nullarg,
2518                                 listish(make_list(yyvsp[-1].arg)),
2519                                 Nullarg); }
2520 break;
2521 case 102:
2522 #line 534 "perly.y"
2523 { yyval.arg = make_op(O_ASLICE, 2,
2524                                 stab2arg(A_STAB,aadd(yyvsp[-3].stabval)),
2525                                 listish(make_list(yyvsp[-1].arg)),
2526                                 Nullarg); }
2527 break;
2528 case 103:
2529 #line 539 "perly.y"
2530 { yyval.arg = make_op(O_HSLICE, 2,
2531                                 stab2arg(A_STAB,hadd(yyvsp[-4].stabval)),
2532                                 listish(make_list(yyvsp[-2].arg)),
2533                                 Nullarg);
2534                             expectterm = FALSE; }
2535 break;
2536 case 104:
2537 #line 545 "perly.y"
2538 { yyval.arg = make_op(O_DELETE, 2,
2539                                 stab2arg(A_STAB,hadd(yyvsp[-4].stabval)),
2540                                 jmaybe(yyvsp[-2].arg),
2541                                 Nullarg);
2542                             expectterm = FALSE; }
2543 break;
2544 case 105:
2545 #line 551 "perly.y"
2546 { yyval.arg = make_op(O_DELETE, 2,
2547                                 stab2arg(A_STAB,hadd(yyvsp[-5].stabval)),
2548                                 jmaybe(yyvsp[-3].arg),
2549                                 Nullarg);
2550                             expectterm = FALSE; }
2551 break;
2552 case 106:
2553 #line 557 "perly.y"
2554 { yyval.arg = stab2arg(A_ARYLEN,yyvsp[0].stabval); }
2555 break;
2556 case 107:
2557 #line 559 "perly.y"
2558 { yyval.arg = yyvsp[0].arg; }
2559 break;
2560 case 108:
2561 #line 561 "perly.y"
2562 { yyval.arg = yyvsp[0].arg; }
2563 break;
2564 case 109:
2565 #line 563 "perly.y"
2566 { yyval.arg = yyvsp[0].arg; }
2567 break;
2568 case 110:
2569 #line 565 "perly.y"
2570 { yyval.arg = yyvsp[0].arg; }
2571 break;
2572 case 111:
2573 #line 567 "perly.y"
2574 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2575                                 stab2arg(A_WORD,stabent(yyvsp[-3].cval,MULTI)),
2576                                 make_list(yyvsp[-1].arg),
2577                                 Nullarg); Safefree(yyvsp[-3].cval); yyvsp[-3].cval = Nullch;
2578                             yyval.arg->arg_flags |= AF_DEPR; }
2579 break;
2580 case 112:
2581 #line 573 "perly.y"
2582 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2583                                 stab2arg(A_WORD,stabent(yyvsp[-3].cval,MULTI)),
2584                                 make_list(yyvsp[-1].arg),
2585                                 Nullarg); Safefree(yyvsp[-3].cval); yyvsp[-3].cval = Nullch; }
2586 break;
2587 case 113:
2588 #line 578 "perly.y"
2589 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2590                                 stab2arg(A_WORD,stabent(yyvsp[-2].cval,MULTI)),
2591                                 make_list(Nullarg),
2592                                 Nullarg);
2593                             Safefree(yyvsp[-2].cval); yyvsp[-2].cval = Nullch;
2594                             yyval.arg->arg_flags |= AF_DEPR; }
2595 break;
2596 case 114:
2597 #line 585 "perly.y"
2598 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2599                                 stab2arg(A_WORD,stabent(yyvsp[-2].cval,MULTI)),
2600                                 make_list(Nullarg),
2601                                 Nullarg);
2602                             Safefree(yyvsp[-2].cval); yyvsp[-2].cval = Nullch;
2603                         }
2604 break;
2605 case 115:
2606 #line 592 "perly.y"
2607 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2608                                 stab2arg(A_WORD,stabent(yyvsp[0].cval,MULTI)),
2609                                 Nullarg,
2610                                 Nullarg);
2611                             Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
2612                         }
2613 break;
2614 case 116:
2615 #line 599 "perly.y"
2616 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2617                                 stab2arg(A_STAB,yyvsp[-3].stabval),
2618                                 make_list(yyvsp[-1].arg),
2619                                 Nullarg);
2620                             yyval.arg->arg_flags |= AF_DEPR; }
2621 break;
2622 case 117:
2623 #line 605 "perly.y"
2624 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2625                                 stab2arg(A_STAB,yyvsp[-3].stabval),
2626                                 make_list(yyvsp[-1].arg),
2627                                 Nullarg); }
2628 break;
2629 case 118:
2630 #line 610 "perly.y"
2631 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2632                                 stab2arg(A_STAB,yyvsp[-2].stabval),
2633                                 make_list(Nullarg),
2634                                 Nullarg);
2635                             yyval.arg->arg_flags |= AF_DEPR; }
2636 break;
2637 case 119:
2638 #line 616 "perly.y"
2639 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2640                                 stab2arg(A_STAB,yyvsp[-2].stabval),
2641                                 make_list(Nullarg),
2642                                 Nullarg); }
2643 break;
2644 case 120:
2645 #line 621 "perly.y"
2646 { yyval.arg = make_op((perldb ? O_DBSUBR : O_SUBR), 2,
2647                                 stab2arg(A_STAB,yyvsp[0].stabval),
2648                                 Nullarg,
2649                                 Nullarg); }
2650 break;
2651 case 121:
2652 #line 626 "perly.y"
2653 { yyval.arg = make_op(yyvsp[0].ival,0,Nullarg,Nullarg,Nullarg); }
2654 break;
2655 case 122:
2656 #line 628 "perly.y"
2657 { yyval.arg = make_op(yyvsp[-1].ival,1,cval_to_arg(yyvsp[0].cval),
2658                             Nullarg,Nullarg); }
2659 break;
2660 case 123:
2661 #line 631 "perly.y"
2662 { yyval.arg = make_op(yyvsp[0].ival,0,Nullarg,Nullarg,Nullarg); }
2663 break;
2664 case 124:
2665 #line 633 "perly.y"
2666 { yyval.arg = make_op(yyvsp[-1].ival,1,cmd_to_arg(yyvsp[0].cmdval),Nullarg,Nullarg); }
2667 break;
2668 case 125:
2669 #line 635 "perly.y"
2670 { yyval.arg = make_op(yyvsp[-1].ival,1,yyvsp[0].arg,Nullarg,Nullarg); }
2671 break;
2672 case 126:
2673 #line 637 "perly.y"
2674 { yyval.arg = make_op(O_SELECT, 0, Nullarg, Nullarg, Nullarg);}
2675 break;
2676 case 127:
2677 #line 639 "perly.y"
2678 { yyval.arg = make_op(O_SELECT, 1,
2679                             stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
2680                             Nullarg,
2681                             Nullarg);
2682                             Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
2683 break;
2684 case 128:
2685 #line 645 "perly.y"
2686 { yyval.arg = make_op(O_SELECT, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
2687 break;
2688 case 129:
2689 #line 647 "perly.y"
2690 { arg4 = yyvsp[-1].arg;
2691                           yyval.arg = make_op(O_SSELECT, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
2692 break;
2693 case 130:
2694 #line 650 "perly.y"
2695 { yyval.arg = make_op(O_OPEN, 2,
2696                             stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
2697                             stab2arg(A_STAB,stabent(yyvsp[0].cval,TRUE)),
2698                             Nullarg);
2699                             Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
2700                         }
2701 break;
2702 case 131:
2703 #line 657 "perly.y"
2704 { yyval.arg = make_op(O_OPEN, 2,
2705                             stab2arg(A_WORD,stabent(yyvsp[-1].cval,TRUE)),
2706                             stab2arg(A_STAB,stabent(yyvsp[-1].cval,TRUE)),
2707                             Nullarg);
2708                             Safefree(yyvsp[-1].cval); yyvsp[-1].cval = Nullch;
2709                         }
2710 break;
2711 case 132:
2712 #line 664 "perly.y"
2713 { yyval.arg = make_op(O_OPEN, 2,
2714                             yyvsp[-2].arg,
2715                             yyvsp[-1].arg, Nullarg); }
2716 break;
2717 case 133:
2718 #line 668 "perly.y"
2719 { yyval.arg = make_op(yyvsp[-3].ival, 1,
2720                             yyvsp[-1].arg,
2721                             Nullarg, Nullarg); }
2722 break;
2723 case 134:
2724 #line 672 "perly.y"
2725 { yyval.arg = make_op(yyvsp[-1].ival, 1,
2726                             stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
2727                             Nullarg, Nullarg);
2728                           Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
2729 break;
2730 case 135:
2731 #line 677 "perly.y"
2732 { yyval.arg = make_op(yyvsp[-1].ival, 1,
2733                             stab2arg(A_STAB,yyvsp[0].stabval),
2734                             Nullarg, Nullarg); }
2735 break;
2736 case 136:
2737 #line 681 "perly.y"
2738 { yyval.arg = make_op(yyvsp[-2].ival, 1,
2739                             stab2arg(A_WORD,Nullstab),
2740                             Nullarg, Nullarg); }
2741 break;
2742 case 137:
2743 #line 685 "perly.y"
2744 { yyval.arg = make_op(yyvsp[0].ival, 0,
2745                             Nullarg, Nullarg, Nullarg); }
2746 break;
2747 case 138:
2748 #line 688 "perly.y"
2749 { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg); }
2750 break;
2751 case 139:
2752 #line 690 "perly.y"
2753 { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, make_list(yyvsp[-1].arg)); }
2754 break;
2755 case 140:
2756 #line 692 "perly.y"
2757 { yyval.arg = make_op(yyvsp[-5].ival, 2, yyvsp[-3].arg, yyvsp[-1].arg, Nullarg); }
2758 break;
2759 case 141:
2760 #line 694 "perly.y"
2761 { arg4 = yyvsp[-1].arg; yyval.arg = make_op(yyvsp[-6].ival, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
2762 break;
2763 case 142:
2764 #line 696 "perly.y"
2765 { arg4 = yyvsp[-2].arg; arg5 = yyvsp[-1].arg;
2766                           yyval.arg = make_op(yyvsp[-8].ival, 5, yyvsp[-6].arg, yyvsp[-4].arg, yyvsp[-3].arg); }
2767 break;
2768 case 143:
2769 #line 699 "perly.y"
2770 { yyval.arg = make_op(yyvsp[-5].ival, 2,
2771                             yyvsp[-3].arg,
2772                             make_list(yyvsp[-1].arg),
2773                             Nullarg); }
2774 break;
2775 case 144:
2776 #line 704 "perly.y"
2777 { yyval.arg = make_op(O_POP, 1, yyvsp[0].arg, Nullarg, Nullarg); }
2778 break;
2779 case 145:
2780 #line 706 "perly.y"
2781 { yyval.arg = make_op(O_POP, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
2782 break;
2783 case 146:
2784 #line 708 "perly.y"
2785 { yyval.arg = make_op(O_SHIFT, 1, yyvsp[0].arg, Nullarg, Nullarg); }
2786 break;
2787 case 147:
2788 #line 710 "perly.y"
2789 { yyval.arg = make_op(O_SHIFT, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
2790 break;
2791 case 148:
2792 #line 712 "perly.y"
2793 { yyval.arg = make_op(O_SHIFT, 1,
2794                             stab2arg(A_STAB,
2795                               aadd(stabent(subline ? "_" : "ARGV", TRUE))),
2796                             Nullarg, Nullarg); }
2797 break;
2798 case 149:
2799 #line 717 "perly.y"
2800 {   static char p[]="/\\s+/";
2801                             char *oldend = bufend;
2802                             ARG *oldarg = yylval.arg;
2803
2804                             bufend=p+5;
2805                             (void)scanpat(p);
2806                             bufend=oldend;
2807                             yyval.arg = make_split(defstab,yylval.arg,Nullarg);
2808                             yylval.arg = oldarg; }
2809 break;
2810 case 150:
2811 #line 727 "perly.y"
2812 { yyval.arg = mod_match(O_MATCH, yyvsp[-2].arg,
2813                           make_split(defstab,yyvsp[-3].arg,yyvsp[-1].arg));}
2814 break;
2815 case 151:
2816 #line 730 "perly.y"
2817 { yyval.arg = mod_match(O_MATCH, yyvsp[-1].arg,
2818                           make_split(defstab,yyvsp[-2].arg,Nullarg) ); }
2819 break;
2820 case 152:
2821 #line 733 "perly.y"
2822 { yyval.arg = mod_match(O_MATCH,
2823                             stab2arg(A_STAB,defstab),
2824                             make_split(defstab,yyvsp[-1].arg,Nullarg) ); }
2825 break;
2826 case 153:
2827 #line 737 "perly.y"
2828 { yyval.arg = make_op(yyvsp[-4].ival, 2,
2829                             yyvsp[-2].arg,
2830                             listish(make_list(yyvsp[-1].arg)),
2831                             Nullarg); }
2832 break;
2833 case 154:
2834 #line 742 "perly.y"
2835 { yyval.arg = make_op(yyvsp[-3].ival, 1,
2836                             make_list(yyvsp[-1].arg),
2837                             Nullarg,
2838                             Nullarg); }
2839 break;
2840 case 155:
2841 #line 747 "perly.y"
2842 { yyval.arg = l(make_op(yyvsp[-1].ival, 1, fixl(yyvsp[-1].ival,yyvsp[0].arg),
2843                             Nullarg, Nullarg)); }
2844 break;
2845 case 156:
2846 #line 750 "perly.y"
2847 { yyval.arg = l(make_op(yyvsp[0].ival, 1,
2848                             stab2arg(A_STAB,defstab),
2849                             Nullarg, Nullarg)); }
2850 break;
2851 case 157:
2852 #line 754 "perly.y"
2853 { yyval.arg = make_op(yyvsp[0].ival, 0, Nullarg, Nullarg, Nullarg); }
2854 break;
2855 case 158:
2856 #line 756 "perly.y"
2857 { yyval.arg = make_op(yyvsp[-2].ival, 0, Nullarg, Nullarg, Nullarg); }
2858 break;
2859 case 159:
2860 #line 758 "perly.y"
2861 { yyval.arg = make_op(yyvsp[-2].ival, 0, Nullarg, Nullarg, Nullarg); }
2862 break;
2863 case 160:
2864 #line 760 "perly.y"
2865 { yyval.arg = make_op(yyvsp[-3].ival, 1, yyvsp[-1].arg, Nullarg, Nullarg); }
2866 break;
2867 case 161:
2868 #line 762 "perly.y"
2869 { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg);
2870                             if (yyvsp[-4].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
2871                                 fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
2872 break;
2873 case 162:
2874 #line 766 "perly.y"
2875 { yyval.arg = make_op(yyvsp[-4].ival, 2, yyvsp[-2].arg, yyvsp[-1].arg, Nullarg);
2876                             if (yyvsp[-4].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
2877                                 fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
2878 break;
2879 case 163:
2880 #line 770 "perly.y"
2881 { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg);
2882                             if (yyvsp[-5].ival == O_INDEX && yyval.arg[2].arg_type == A_SINGLE)
2883                                 fbmcompile(yyval.arg[2].arg_ptr.arg_str,0); }
2884 break;
2885 case 164:
2886 #line 774 "perly.y"
2887 { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); }
2888 break;
2889 case 165:
2890 #line 776 "perly.y"
2891 { arg4 = yyvsp[-1].arg;
2892                           yyval.arg = make_op(yyvsp[-6].ival, 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); }
2893 break;
2894 case 166:
2895 #line 779 "perly.y"
2896 { arg4 = yyvsp[-2].arg; arg5 = yyvsp[-1].arg;
2897                           yyval.arg = make_op(yyvsp[-7].ival, 5, yyvsp[-5].arg, yyvsp[-4].arg, yyvsp[-3].arg); }
2898 break;
2899 case 167:
2900 #line 782 "perly.y"
2901 { yyval.arg = make_op(yyvsp[-3].ival, 1,
2902                                 yyvsp[-1].arg,
2903                                 Nullarg,
2904                                 Nullarg); }
2905 break;
2906 case 168:
2907 #line 787 "perly.y"
2908 { yyval.arg = make_op(yyvsp[-1].ival, 1,
2909                                 yyvsp[0].arg,
2910                                 Nullarg,
2911                                 Nullarg); }
2912 break;
2913 case 169:
2914 #line 792 "perly.y"
2915 { yyval.arg = make_op(yyvsp[-5].ival, 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); }
2916 break;
2917 case 172:
2918 #line 798 "perly.y"
2919 { yyval.arg = make_op(yyvsp[0].ival,2,
2920                                 stab2arg(A_WORD,Nullstab),
2921                                 stab2arg(A_STAB,defstab),
2922                                 Nullarg); }
2923 break;
2924 case 173:
2925 #line 803 "perly.y"
2926 { yyval.arg = make_op(yyvsp[-1].ival,2,
2927                                 stab2arg(A_WORD,Nullstab),
2928                                 maybelistish(yyvsp[-1].ival,make_list(yyvsp[0].arg)),
2929                                 Nullarg); }
2930 break;
2931 case 174:
2932 #line 808 "perly.y"
2933 { yyval.arg = make_op(yyvsp[-1].ival,2,
2934                                 stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE)),
2935                                 stab2arg(A_STAB,defstab),
2936                                 Nullarg);
2937                             Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
2938                         }
2939 break;
2940 case 175:
2941 #line 815 "perly.y"
2942 { yyval.arg = make_op(yyvsp[-2].ival,2,
2943                                 stab2arg(A_WORD,stabent(yyvsp[-1].cval,TRUE)),
2944                                 maybelistish(yyvsp[-2].ival,make_list(yyvsp[0].arg)),
2945                                 Nullarg); Safefree(yyvsp[-1].cval); yyvsp[-1].cval = Nullch; }
2946 break;
2947 case 176:
2948 #line 820 "perly.y"
2949 { yyval.arg = make_op(yyvsp[-2].ival,2,
2950                                 stab2arg(A_STAB,yyvsp[-1].stabval),
2951                                 maybelistish(yyvsp[-2].ival,make_list(yyvsp[0].arg)),
2952                                 Nullarg); }
2953 break;
2954 case 177:
2955 #line 825 "perly.y"
2956 { yyval.arg = make_op(yyvsp[-2].ival,2,
2957                                 cmd_to_arg(yyvsp[-1].cmdval),
2958                                 maybelistish(yyvsp[-2].ival,make_list(yyvsp[0].arg)),
2959                                 Nullarg); }
2960 break;
2961 case 178:
2962 #line 832 "perly.y"
2963 { yyval.arg = stab2arg(A_WORD,stabent(yyvsp[0].cval,TRUE));
2964                           Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;}
2965 break;
2966 case 180:
2967 #line 838 "perly.y"
2968 { yyval.arg = stab2arg(A_WORD,aadd(stabent(yyvsp[0].cval,TRUE)));
2969                             Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
2970 break;
2971 case 181:
2972 #line 841 "perly.y"
2973 { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
2974 break;
2975 case 182:
2976 #line 845 "perly.y"
2977 { yyval.arg = stab2arg(A_WORD,hadd(stabent(yyvsp[0].cval,TRUE)));
2978                             Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch; }
2979 break;
2980 case 183:
2981 #line 848 "perly.y"
2982 { yyval.arg = stab2arg(A_STAB,yyvsp[0].stabval); }
2983 break;
2984 case 184:
2985 #line 852 "perly.y"
2986 { yyval.ival = 1; }
2987 break;
2988 case 185:
2989 #line 854 "perly.y"
2990 { yyval.ival = 0; }
2991 break;
2992 case 186:
2993 #line 863 "perly.y"
2994 { char *s;
2995                             yyval.arg = op_new(1);
2996                             yyval.arg->arg_type = O_ITEM;
2997                             yyval.arg[1].arg_type = A_SINGLE;
2998                             yyval.arg[1].arg_ptr.arg_str = str_make(yyvsp[0].cval,0);
2999                             for (s = yyvsp[0].cval; *s && isLOWER(*s); s++) ;
3000                             if (dowarn && !*s)
3001                                 warn(
3002                                   "\"%s\" may clash with future reserved word",
3003                                   yyvsp[0].cval );
3004                             Safefree(yyvsp[0].cval); yyvsp[0].cval = Nullch;
3005                         }
3006 break;
3007 #line 3008 "y.tab.c"
3008     }
3009     yyssp -= yym;
3010     yystate = *yyssp;
3011     yyvsp -= yym;
3012     yym = yylhs[yyn];
3013     if (yystate == 0 && yym == 0)
3014     {
3015 #if YYDEBUG
3016         if (yydebug)
3017             printf("%sdebug: after reduction, shifting from state 0 to\
3018  state %d\n", YYPREFIX, YYFINAL);
3019 #endif
3020         yystate = YYFINAL;
3021         *++yyssp = YYFINAL;
3022         *++yyvsp = yyval;
3023         if (yychar < 0)
3024         {
3025             if ((yychar = yylex()) < 0) yychar = 0;
3026 #if YYDEBUG
3027             if (yydebug)
3028             {
3029                 yys = 0;
3030                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
3031                 if (!yys) yys = "illegal-symbol";
3032                 printf("%sdebug: state %d, reading %d (%s)\n",
3033                         YYPREFIX, YYFINAL, yychar, yys);
3034             }
3035 #endif
3036         }
3037         if (yychar == 0) goto yyaccept;
3038         goto yyloop;
3039     }
3040     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
3041             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
3042         yystate = yytable[yyn];
3043     else
3044         yystate = yydgoto[yym];
3045 #if YYDEBUG
3046     if (yydebug)
3047         printf("%sdebug: after reduction, shifting from state %d \
3048 to state %d\n", YYPREFIX, *yyssp, yystate);
3049 #endif
3050     if (yyssp >= yyss + yystacksize - 1)
3051     {
3052         goto yyoverflow;
3053     }
3054     *++yyssp = yystate;
3055     *++yyvsp = yyval;
3056     goto yyloop;
3057 yyoverflow:
3058     yyerror("yacc stack overflow");
3059 yyabort:
3060     return (1);
3061 yyaccept:
3062     return (0);
3063 }