perl 5.0 alpha 9
[p5sagit/p5-mst-13.2.git] / perly.c
CommitLineData
93a17b20 1#ifndef lint
2static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
3#endif
4#define YYBYACC 1
5#line 39 "perly.y"
79072805 6#include "EXTERN.h"
7#include "perl.h"
8
9/*SUPPRESS 530*/
10/*SUPPRESS 593*/
11/*SUPPRESS 595*/
12
93a17b20 13#line 50 "perly.y"
14typedef union {
79072805 15 I32 ival;
16 char *pval;
17 OP *opval;
18 GV *gvval;
19} YYSTYPE;
93a17b20 20#line 21 "y.tab.c"
21#define WORD 257
22#define METHOD 258
23#define THING 259
24#define PMFUNC 260
25#define PRIVATEREF 261
26#define LABEL 262
27#define FORMAT 263
28#define SUB 264
29#define PACKAGE 265
85e6fe83 30#define HINT 266
31#define WHILE 267
32#define UNTIL 268
33#define IF 269
34#define UNLESS 270
35#define ELSE 271
36#define ELSIF 272
37#define CONTINUE 273
38#define FOR 274
39#define LOOPEX 275
40#define DOTDOT 276
41#define FUNC0 277
42#define FUNC1 278
43#define FUNC 279
44#define RELOP 280
45#define EQOP 281
46#define MULOP 282
47#define ADDOP 283
48#define DOLSHARP 284
49#define DO 285
50#define LOCAL 286
51#define DELETE 287
52#define HASHBRACK 288
53#define NOAMP 289
54#define OROP 290
55#define ANDOP 291
56#define LSTOP 292
57#define OROR 293
58#define ANDAND 294
59#define BITOROP 295
60#define BITANDOP 296
61#define UNIOP 297
62#define SHIFTOP 298
63#define MATCHOP 299
64#define UMINUS 300
65#define REFGEN 301
66#define POWOP 302
67#define PREINC 303
68#define PREDEC 304
69#define POSTINC 305
70#define POSTDEC 306
71#define ARROW 307
93a17b20 72#define YYERRCODE 256
73short yylhs[] = { -1,
74 30, 0, 7, 3, 8, 8, 8, 9, 9, 9,
75 9, 23, 23, 23, 23, 23, 23, 13, 13, 13,
76 11, 11, 11, 11, 29, 29, 10, 10, 10, 10,
77 10, 10, 10, 10, 12, 12, 26, 26, 28, 28,
85e6fe83 78 1, 1, 1, 1, 2, 2, 31, 31, 32, 32,
79 33, 33, 14, 14, 27, 27, 27, 27, 27, 27,
80 27, 27, 15, 15, 15, 15, 15, 15, 15, 15,
93a17b20 81 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
85e6fe83 82 15, 15, 15, 15, 15, 15, 15, 16, 16, 16,
93a17b20 83 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
84 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
85 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
86 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
463ee0b2 87 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
85e6fe83 88 16, 16, 16, 16, 16, 24, 24, 22, 17, 18,
89 19, 20, 21, 25, 25, 25, 25, 4, 4, 5,
90 5, 6, 6,
93a17b20 91};
92short yylen[] = { 2,
93 0, 2, 4, 0, 0, 2, 2, 2, 1, 2,
94 3, 1, 1, 3, 3, 3, 3, 0, 2, 6,
95 6, 6, 4, 4, 0, 2, 7, 7, 5, 5,
96 8, 7, 10, 3, 0, 1, 0, 1, 0, 1,
85e6fe83 97 1, 1, 1, 1, 3, 2, 3, 3, 3, 2,
98 3, 4, 3, 1, 3, 5, 4, 6, 6, 3,
99 2, 4, 3, 4, 4, 4, 4, 4, 4, 4,
100 4, 3, 3, 3, 3, 3, 3, 3, 3, 3,
101 3, 3, 3, 3, 5, 3, 1, 2, 2, 2,
102 2, 2, 2, 2, 2, 2, 2, 3, 2, 3,
103 2, 3, 3, 1, 1, 4, 5, 4, 1, 1,
104 1, 5, 6, 5, 6, 5, 4, 5, 6, 8,
105 1, 1, 3, 4, 3, 4, 2, 2, 4, 5,
106 4, 5, 1, 2, 1, 2, 2, 1, 3, 3,
107 4, 4, 6, 1, 1, 0, 1, 2, 2, 2,
108 2, 2, 2, 1, 1, 1, 1, 2, 1, 2,
109 1, 3, 2,
93a17b20 110};
111short yydefred[] = { 1,
85e6fe83 112 0, 5, 0, 40, 0, 0, 0, 0, 6, 41,
113 7, 9, 0, 42, 43, 44, 4, 0, 46, 0,
114 0, 50, 0, 12, 0, 0, 121, 0, 157, 0,
93a17b20 115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93a17b20 116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 117 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
118 0, 0, 8, 0, 0, 0, 0, 0, 109, 111,
119 105, 0, 0, 0, 145, 5, 45, 48, 47, 49,
120 51, 156, 0, 154, 155, 0, 0, 0, 0, 0,
93a17b20 121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 122 0, 152, 0, 128, 0, 0, 0, 0, 0, 0,
123 0, 0, 0, 61, 0, 136, 0, 0, 0, 0,
124 0, 0, 0, 0, 0, 0, 101, 0, 148, 149,
125 150, 151, 153, 0, 34, 0, 0, 0, 0, 0,
93a17b20 126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 127 0, 0, 0, 0, 0, 0, 0, 93, 94, 0,
128 0, 0, 0, 0, 0, 0, 11, 0, 0, 52,
129 60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
130 0, 0, 0, 36, 0, 139, 140, 0, 0, 0,
131 0, 0, 0, 0, 103, 0, 0, 102, 125, 0,
132 55, 0, 159, 0, 0, 0, 161, 100, 26, 0,
93a17b20 133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93a17b20 135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 136 0, 0, 0, 0, 0, 0, 0, 123, 0, 0,
137 0, 3, 142, 0, 0, 29, 0, 30, 0, 0,
138 0, 23, 0, 24, 0, 0, 0, 141, 62, 0,
139 129, 0, 131, 0, 0, 0, 0, 163, 126, 0,
140 158, 0, 160, 0, 0, 0, 0, 0, 0, 0,
141 0, 0, 0, 0, 0, 0, 108, 0, 106, 0,
142 117, 124, 0, 57, 0, 0, 0, 0, 19, 0,
143 0, 0, 0, 0, 56, 130, 132, 0, 0, 162,
144 116, 0, 0, 114, 0, 0, 107, 112, 118, 0,
145 143, 27, 28, 21, 0, 22, 0, 32, 0, 0,
146 119, 115, 113, 59, 58, 0, 0, 31, 0, 0,
147 0, 120, 20, 33,
93a17b20 148};
149short yydgoto[] = { 1,
85e6fe83 150 9, 10, 76, 205, 208, 198, 82, 3, 11, 12,
151 63, 182, 262, 113, 65, 66, 67, 68, 69, 70,
152 71, 72, 184, 114, 74, 174, 75, 13, 135, 2,
153 14, 15, 16,
93a17b20 154};
155short yysindex[] = { 0,
85e6fe83 156 0, 0, 74, 0, -120, -227, -57, -209, 0, 0,
157 0, 0, 893, 0, 0, 0, 0, -67, 0, -52,
158 52, 0, 993, 0, 0, -4, 0, 25, 0, -31,
159 -23, -19, -11, 77, 2687, 76, 106, 113, -4, 2786,
160 2687, 87, 1043, -132, 2687, 2687, 2687, 2687, 2687, 2687,
161 2687, 1100, 0, 2687, 2687, 1222, -4, -4, -4, -4,
162 -4, -116, 0, -21, 1549, -87, -69, -40, 0, 0,
163 0, 145, 115, -121, 0, 0, 0, 0, 0, 0,
164 0, 0, -1, 0, 0, 2687, 2687, 2687, -67, 2687,
165 -67, 2687, -67, 2687, -67, 1329, 150, 1549, 151, 1394,
166 2687, 0, 164, 0, 324, -29, 324, 170, 88, 102,
167 11, 2687, 190, 0, 442, 0, 324, -87, -87, -87,
168 -86, -86, 149, -2, -87, -87, 0, -30, 0, 0,
169 0, 0, 0, -67, 0, 2687, 2687, 2687, 2687, 2687,
170 2687, 2687, 2687, 1451, 1501, 2687, 2687, 2687, 2687, 1598,
171 1680, 1774, 1870, 1964, 2687, 2043, 2687, 0, 0, -85,
172 2687, 2687, 2687, 2687, 2687, 2143, 0, -248, -49, 0,
173 0, 1273, 190, 195, -116, 143, -116, 181, -12, 182,
174 -12, 192, 36, 0, 2687, 0, 0, 191, 222, 442,
175 2242, 2315, 141, 2687, 0, 2415, 142, 0, 0, 442,
176 0, 2687, 0, 2514, 177, 2587, 0, 0, 0, 190,
177 190, 190, 190, 18, 660, 324, -131, 2687, -181, 2687,
178 -230, 829, 18, 18, 1915, 2687, 710, 2687, 455, 2687,
179 46, 2687, 276, 2687, -127, -28, 2687, -28, 71, 2687,
180 237, 2687, -26, 122, -20, 134, 2, 0, -2, 247,
181 2687, 0, 0, 2687, -67, 0, -67, 0, -67, -67,
182 249, 0, -67, 0, 2687, -67, -2, 0, 0, 252,
183 0, -2, 0, -2, 2687, 135, 171, 0, 0, 6,
184 0, 2687, 0, 18, 18, 2687, 18, 18, 18, 18,
185 18, 18, 183, 136, 2687, 15, 0, 185, 0, 193,
186 0, 0, 2687, 0, 290, -116, -116, -12, 0, 2687,
187 -12, 236, -116, -67, 0, 0, 0, 153, 194, 0,
188 0, 17, 392, 0, 200, 261, 0, 0, 0, 274,
189 0, 0, 0, 0, 197, 0, 1329, 0, -116, 205,
190 0, 0, 0, 0, 0, -67, 291, 0, 292, -12,
191 -67, 0, 0, 0,
93a17b20 192};
193short yyrindex[] = { 0,
85e6fe83 194 0, 0, 505, 0, 0, 0, 0, 0, 0, 0,
93a17b20 195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 196 0, 0, 0, 0, 557, 0, 0, 0, 0, 0,
197 0, 0, 0, 0, 3333, 2837, 0, 0, 0, 0,
198 0, 0, 0, 0, 3423, 3589, 0, 0, 0, 0,
93a17b20 199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 200 0, 105, 0, 23, 16, 4876, 618, 3639, 0, 0,
201 0, 2892, 0, 0, 0, 0, 0, 0, 0, 0,
202 0, 0, 0, 0, 0, 3423, 0, 294, 0, 0,
203 0, 0, 0, 0, 0, 284, 0, 969, 0, 0,
204 306, 0, 2936, 0, 1830, 3682, 2474, 0, 0, 0,
205 0, 3423, 2991, 0, 4707, 0, 4051, 4923, 4973, 5009,
206 5045, 5092, 3152, 0, 5139, 5187, 0, 0, 0, 0,
93a17b20 207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93a17b20 209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 210 0, 0, 0, 0, 0, 0, 0, 0, 943, 0,
211 0, 0, 61, 0, 165, 0, 165, 0, 233, 0,
212 233, 0, 293, 0, 0, 0, 0, 0, 0, 306,
213 0, 0, 0, 0, 0, 0, 0, 0, 0, 4707,
214 0, 0, 0, 0, 3207, 0, 0, 0, 0, 65,
215 73, 81, 85, 2218, 4507, 4093, 4134, 0, 3723, 0,
216 3769, -25, 3057, 4364, 0, 0, 4466, 0, 4456, 0,
217 4415, 0, 4176, 0, 4010, 3250, 0, 3291, 0, 0,
93a17b20 218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 219 3423, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220 0, 0, 0, 0, 295, 0, 0, 0, 0, 0,
93a17b20 221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 222 0, 0, 0, 4519, 4565, 0, 4570, 4621, 4758, 4787,
223 4806, 4857, 0, 0, 306, 0, 0, 0, 0, 0,
224 0, 0, 306, 0, 0, 165, 165, 233, 0, 0,
225 233, 0, 165, 0, 0, 0, 0, 0, 0, 0,
226 0, 0, 4514, 0, 0, 0, 0, 0, 0, 0,
227 0, 0, 0, 0, 0, 0, 308, 0, 165, 0,
228 0, 0, 0, 0, 0, 0, 0, 0, 0, 233,
229 0, 0, 0, 0,
93a17b20 230};
231short yygindex[] = { 0,
85e6fe83 232 0, 0, 0, -171, 0, 0, -5, 279, 0, 0,
233 0, 13, -180, -3, 5357, 586, 585, 0, 0, 0,
234 0, 0, 344, 362, 359, 95, 0, 0, -130, 0,
235 0, 0, 0,
93a17b20 236};
85e6fe83 237#define YYTABLESIZE 5643
238short yytable[] = { 19,
239 264, 22, 17, 161, 161, 242, 78, 62, 88, 64,
240 192, 266, 77, 206, 79, 84, 90, 140, 84, 83,
241 92, 163, 140, 140, 89, 91, 93, 95, 94, 20,
242 250, 58, 84, 84, 104, 157, 157, 240, 203, 111,
243 116, 204, 140, 251, 256, 140, 258, 23, 124, 140,
244 165, 144, 128, 162, 196, 17, 54, 170, 140, 54,
245 140, 163, 207, 13, 87, 84, 297, 84, 155, 197,
246 17, 156, 299, 54, 54, 252, 203, 302, 148, 204,
247 149, 13, 164, 175, 173, 177, 176, 179, 178, 181,
248 180, 17, 183, 162, 301, 314, 188, 84, 321, 17,
249 316, 38, 317, 17, 25, 16, 54, 327, 54, 342,
250 80, 17, 58, 17, 140, 99, 96, 155, 17, 38,
251 156, 14, 58, 16, 112, 15, 108, 334, 209, 293,
252 336, 17, 210, 211, 212, 213, 18, 25, 54, 14,
253 25, 25, 25, 15, 25, 100, 25, 25, 142, 25,
254 144, 145, 101, 239, 144, 145, 134, 243, 244, 245,
255 246, 247, 249, 25, 25, 140, 154, 155, 25, 353,
256 156, 155, 241, 167, 156, 332, 333, 140, 140, 140,
257 298, 267, 338, 257, 166, 168, 140, 272, 274, 185,
258 276, 186, 300, 319, 325, 25, 140, 25, 280, 21,
259 25, 25, 25, 191, 25, 58, 25, 25, 348, 25,
260 194, 340, 4, 5, 6, 7, 8, 158, 159, 160,
261 160, 259, 263, 25, 140, 140, 195, 25, 25, 25,
262 25, 268, 18, 140, 140, 255, 294, 346, 296, 202,
263 140, 84, 84, 84, 84, 136, 137, 138, 139, 306,
264 265, 307, 84, 308, 309, 25, 29, 311, 260, 261,
265 313, 173, 269, 275, 84, 18, 278, 282, 18, 18,
266 18, 318, 18, 156, 18, 18, 295, 18, 322, 84,
267 84, 84, 54, 54, 54, 54, 303, 25, 310, 25,
268 25, 18, 315, 141, 337, 320, 18, 142, 143, 144,
269 145, 344, 136, 137, 138, 139, 335, 324, 339, 328,
270 150, 151, 152, 153, 345, 154, 155, 329, 341, 156,
271 54, 54, 54, 18, 343, 142, 143, 144, 145, 349,
272 331, 351, 352, 64, 37, 4, 5, 6, 7, 8,
273 350, 153, 35, 154, 155, 354, 146, 156, 35, 347,
274 148, 13, 149, 37, 169, 18, 73, 18, 18, 312,
93a17b20 275 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
85e6fe83 276 25, 25, 25, 25, 25, 0, 0, 0, 25, 25,
277 0, 25, 25, 25, 86, 0, 0, 0, 25, 25,
278 25, 25, 25, 25, 0, 0, 25, 102, 0, 0,
279 0, 25, 0, 115, 0, 25, 0, 25, 25, 0,
280 0, 156, 0, 0, 0, 129, 130, 131, 132, 133,
281 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
282 25, 25, 25, 25, 25, 0, 0, 0, 25, 25,
283 0, 25, 25, 25, 0, 0, 0, 171, 25, 25,
284 25, 25, 25, 25, 149, 0, 25, 0, 0, 190,
285 0, 25, 189, 0, 0, 25, 0, 25, 25, 0,
286 200, 0, 0, 199, 47, 0, 201, 58, 60, 57,
287 0, 52, 0, 61, 55, 0, 54, 0, 18, 18,
463ee0b2 288 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
85e6fe83 289 18, 18, 18, 0, 2, 59, 18, 18, 0, 18,
8990e307 290 18, 18, 0, 0, 0, 0, 18, 18, 18, 18,
463ee0b2 291 18, 18, 0, 0, 18, 0, 0, 0, 0, 18,
85e6fe83 292 0, 0, 56, 18, 0, 18, 18, 39, 0, 0,
293 39, 39, 39, 0, 39, 0, 39, 39, 0, 39,
294 0, 270, 0, 0, 0, 142, 143, 144, 145, 0,
295 0, 279, 0, 39, 17, 141, 0, 48, 39, 142,
296 143, 144, 145, 154, 155, 0, 0, 156, 0, 146,
297 147, 0, 150, 151, 152, 153, 0, 154, 155, 154,
298 0, 156, 154, 154, 154, 39, 154, 144, 154, 154,
299 144, 154, 0, 0, 0, 144, 145, 0, 0, 0,
300 85, 0, 304, 0, 144, 144, 0, 144, 97, 144,
301 154, 154, 155, 85, 106, 156, 109, 39, 0, 0,
302 39, 0, 118, 119, 120, 121, 122, 0, 0, 125,
303 126, 85, 85, 85, 85, 85, 0, 144, 0, 144,
304 155, 0, 0, 155, 155, 155, 326, 155, 104, 155,
305 155, 104, 155, 0, 330, 0, 0, 141, 0, 0,
306 0, 142, 143, 144, 145, 104, 104, 0, 104, 144,
307 104, 155, 154, 0, 150, 151, 152, 153, 0, 154,
308 155, 0, 193, 156, 0, 0, 0, 0, 25, 26,
309 27, 28, 29, 0, 0, 0, 0, 0, 0, 0,
310 104, 0, 0, 0, 0, 0, 35, 0, 36, 37,
311 38, 0, 0, 0, 0, 39, 40, 41, 42, 43,
312 44, 0, 0, 45, 142, 143, 144, 145, 46, 0,
313 0, 0, 49, 155, 50, 51, 0, 0, 168, 152,
314 153, 0, 154, 155, 0, 0, 156, 0, 0, 0,
315 39, 39, 39, 39, 39, 39, 0, 0, 0, 0,
316 0, 39, 39, 39, 39, 0, 0, 0, 39, 39,
317 0, 39, 39, 39, 0, 0, 0, 0, 39, 39,
318 39, 39, 39, 39, 0, 0, 39, 0, 0, 0,
319 0, 39, 0, 0, 0, 39, 0, 39, 39, 0,
320 0, 0, 0, 154, 154, 154, 154, 154, 0, 0,
321 0, 0, 0, 144, 144, 144, 144, 0, 0, 0,
322 0, 154, 144, 154, 154, 154, 144, 144, 144, 144,
323 154, 154, 154, 154, 154, 154, 144, 144, 154, 144,
324 144, 144, 144, 154, 144, 144, 0, 154, 144, 154,
325 154, 144, 144, 144, 0, 0, 0, 0, 0, 0,
326 0, 0, 0, 0, 155, 155, 155, 155, 155, 0,
327 0, 0, 0, 0, 104, 104, 104, 104, 0, 148,
328 0, 149, 155, 104, 155, 155, 155, 104, 104, 104,
329 104, 155, 155, 155, 155, 155, 155, 104, 104, 155,
330 104, 104, 104, 104, 155, 104, 104, 0, 155, 104,
331 155, 155, 104, 104, 104, 47, 0, 0, 58, 60,
332 57, 0, 52, 0, 61, 55, 0, 54, 0, 142,
333 143, 144, 145, 0, 0, 0, 0, 0, 0, 0,
334 0, 53, 150, 151, 152, 153, 59, 154, 155, 0,
335 0, 156, 0, 0, 0, 0, 0, 0, 0, 0,
336 0, 0, 0, 0, 0, 39, 0, 0, 39, 39,
337 39, 0, 39, 56, 39, 39, 0, 39, 0, 142,
338 143, 144, 145, 0, 0, 0, 0, 0, 0, 0,
339 0, 39, 0, 151, 152, 153, 39, 154, 155, 134,
340 0, 156, 134, 0, 0, 17, 0, 0, 48, 0,
341 0, 0, 0, 0, 0, 47, 134, 134, 58, 60,
342 57, 0, 52, 39, 61, 55, 0, 54, 0, 0,
93a17b20 343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 344 0, 81, 0, 0, 0, 0, 59, 0, 0, 134,
345 0, 134, 0, 0, 0, 39, 0, 0, 39, 0,
346 0, 0, 0, 0, 0, 47, 0, 0, 58, 60,
347 57, 0, 52, 56, 61, 55, 0, 54, 0, 0,
348 0, 134, 0, 0, 0, 0, 0, 0, 0, 0,
349 0, 110, 0, 0, 141, 0, 59, 0, 142, 143,
350 144, 145, 0, 0, 0, 17, 0, 0, 48, 147,
351 0, 150, 151, 152, 153, 0, 154, 155, 0, 0,
352 156, 0, 47, 56, 0, 58, 60, 57, 0, 52,
353 123, 61, 55, 0, 54, 0, 0, 0, 24, 25,
354 26, 27, 28, 29, 0, 0, 0, 0, 0, 30,
355 31, 32, 33, 59, 0, 17, 34, 35, 48, 36,
356 37, 38, 0, 0, 0, 0, 39, 40, 41, 42,
357 43, 44, 0, 0, 45, 0, 0, 0, 0, 46,
358 56, 0, 0, 49, 0, 50, 51, 0, 39, 39,
359 39, 39, 39, 39, 0, 0, 0, 0, 0, 39,
360 39, 39, 39, 0, 0, 0, 39, 39, 0, 39,
361 39, 39, 17, 0, 0, 48, 39, 39, 39, 39,
362 39, 39, 0, 0, 39, 134, 134, 134, 134, 39,
363 0, 0, 0, 39, 0, 39, 39, 0, 0, 25,
364 26, 27, 28, 29, 47, 0, 0, 58, 60, 57,
365 0, 52, 0, 61, 55, 0, 54, 35, 0, 36,
366 37, 38, 0, 134, 134, 134, 39, 40, 41, 42,
367 43, 44, 0, 0, 45, 59, 0, 0, 0, 46,
368 0, 0, 0, 49, 0, 50, 51, 0, 0, 25,
369 26, 27, 28, 29, 0, 0, 0, 0, 0, 0,
370 0, 0, 56, 253, 127, 0, 254, 35, 0, 36,
371 37, 38, 0, 0, 0, 0, 39, 40, 41, 42,
372 43, 44, 0, 148, 45, 149, 0, 0, 0, 46,
373 0, 0, 0, 49, 17, 50, 51, 48, 0, 0,
374 0, 0, 0, 0, 0, 0, 25, 26, 27, 28,
375 29, 47, 0, 0, 58, 60, 57, 0, 52, 0,
376 61, 55, 0, 54, 35, 0, 36, 37, 38, 0,
377 0, 0, 0, 39, 40, 41, 42, 43, 44, 0,
378 0, 45, 59, 0, 0, 0, 46, 0, 0, 0,
379 49, 0, 50, 51, 0, 0, 0, 0, 0, 0,
8990e307 380 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
85e6fe83 381 0, 0, 0, 0, 0, 0, 47, 0, 0, 58,
382 60, 57, 0, 52, 187, 61, 55, 0, 54, 0,
463ee0b2 383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 384 0, 17, 0, 0, 48, 0, 0, 59, 0, 0,
93a17b20 385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 386 0, 0, 0, 0, 0, 0, 0, 0, 25, 26,
387 27, 28, 29, 47, 56, 0, 58, 60, 57, 0,
388 52, 0, 61, 55, 0, 54, 35, 0, 36, 37,
389 38, 0, 0, 0, 0, 39, 40, 41, 42, 43,
390 44, 218, 0, 45, 59, 0, 17, 0, 46, 48,
391 0, 0, 49, 0, 50, 51, 0, 0, 0, 0,
392 0, 0, 0, 47, 0, 0, 58, 60, 57, 0,
393 52, 56, 61, 55, 0, 54, 0, 0, 141, 0,
394 0, 0, 142, 143, 144, 145, 0, 0, 0, 0,
395 0, 220, 146, 147, 59, 150, 151, 152, 153, 0,
396 154, 155, 0, 17, 156, 0, 48, 0, 0, 0,
397 0, 0, 0, 0, 24, 25, 26, 27, 28, 29,
398 0, 56, 0, 0, 0, 0, 0, 0, 0, 0,
399 0, 0, 0, 35, 0, 36, 37, 38, 0, 148,
400 0, 149, 39, 40, 41, 42, 43, 44, 0, 0,
401 45, 0, 0, 17, 0, 46, 48, 0, 0, 49,
402 47, 50, 51, 58, 60, 57, 0, 52, 0, 61,
403 55, 0, 54, 0, 0, 0, 0, 0, 0, 0,
404 25, 26, 27, 28, 29, 0, 0, 0, 226, 0,
405 0, 59, 0, 0, 0, 0, 0, 0, 35, 0,
406 36, 37, 38, 0, 0, 0, 0, 39, 40, 41,
407 42, 43, 44, 0, 0, 45, 0, 0, 56, 0,
408 46, 0, 0, 0, 49, 0, 50, 51, 0, 0,
409 0, 0, 0, 0, 0, 0, 0, 25, 26, 27,
410 28, 29, 47, 0, 0, 58, 60, 57, 0, 52,
411 17, 61, 55, 48, 54, 35, 0, 36, 37, 38,
412 0, 0, 0, 0, 39, 40, 41, 42, 43, 44,
413 228, 0, 45, 59, 0, 0, 0, 46, 0, 0,
414 0, 49, 0, 50, 51, 0, 0, 25, 26, 27,
415 28, 29, 0, 0, 0, 0, 0, 0, 0, 0,
416 56, 0, 0, 0, 0, 35, 0, 36, 37, 38,
417 0, 0, 0, 0, 39, 40, 41, 42, 43, 44,
418 0, 0, 45, 0, 0, 0, 0, 46, 0, 0,
419 0, 49, 17, 50, 51, 48, 47, 0, 0, 58,
420 60, 57, 0, 52, 0, 61, 55, 0, 54, 0,
421 0, 0, 0, 0, 141, 0, 0, 0, 142, 143,
422 144, 145, 0, 0, 230, 0, 0, 59, 146, 147,
423 0, 150, 151, 152, 153, 0, 154, 155, 0, 0,
424 156, 0, 0, 0, 25, 26, 27, 28, 29, 0,
425 0, 0, 0, 0, 56, 0, 0, 0, 0, 0,
426 127, 0, 35, 127, 36, 37, 38, 0, 0, 0,
427 0, 39, 40, 41, 42, 43, 44, 127, 127, 45,
428 127, 0, 127, 0, 46, 0, 17, 0, 49, 48,
429 50, 51, 47, 0, 0, 58, 60, 57, 0, 52,
430 0, 61, 55, 0, 54, 0, 0, 0, 0, 0,
431 127, 0, 127, 0, 0, 0, 0, 0, 0, 0,
432 232, 0, 0, 59, 0, 0, 25, 26, 27, 28,
433 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 127, 0, 35, 0, 36, 37, 38, 0,
435 56, 0, 0, 39, 40, 41, 42, 43, 44, 0,
436 0, 45, 286, 0, 0, 148, 46, 149, 0, 0,
437 49, 0, 50, 51, 0, 0, 0, 0, 0, 0,
438 0, 0, 17, 0, 0, 48, 47, 0, 0, 58,
439 60, 57, 0, 52, 0, 61, 55, 0, 54, 0,
93a17b20 440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 441 0, 0, 0, 0, 234, 0, 0, 59, 0, 0,
442 25, 26, 27, 28, 29, 0, 0, 0, 0, 0,
443 0, 0, 0, 0, 0, 0, 0, 0, 35, 0,
444 36, 37, 38, 0, 56, 0, 0, 39, 40, 41,
445 42, 43, 44, 0, 0, 45, 0, 0, 0, 0,
446 46, 0, 0, 0, 49, 47, 50, 51, 58, 60,
447 57, 0, 52, 0, 61, 55, 17, 54, 0, 48,
448 0, 0, 0, 0, 0, 0, 127, 127, 127, 127,
449 0, 0, 0, 237, 0, 127, 59, 0, 0, 127,
450 127, 0, 0, 0, 0, 0, 0, 0, 0, 127,
451 127, 0, 127, 127, 127, 127, 25, 26, 27, 28,
452 29, 0, 0, 56, 127, 127, 127, 0, 0, 0,
453 0, 0, 0, 0, 35, 0, 36, 37, 38, 0,
454 0, 0, 0, 39, 40, 41, 42, 43, 44, 0,
455 0, 45, 0, 0, 0, 17, 46, 0, 48, 0,
456 49, 0, 50, 51, 0, 47, 0, 0, 58, 60,
457 57, 0, 52, 248, 61, 55, 0, 54, 0, 0,
458 141, 0, 0, 0, 142, 143, 144, 145, 0, 0,
459 0, 0, 0, 0, 146, 147, 59, 150, 151, 152,
460 153, 0, 154, 155, 0, 0, 156, 0, 0, 0,
461 25, 26, 27, 28, 29, 0, 0, 0, 0, 0,
462 0, 0, 0, 56, 0, 0, 0, 0, 35, 0,
463 36, 37, 38, 0, 0, 0, 0, 39, 40, 41,
464 42, 43, 44, 0, 0, 45, 0, 0, 53, 0,
465 46, 53, 0, 0, 49, 17, 50, 51, 48, 0,
466 0, 0, 0, 0, 47, 53, 53, 58, 60, 57,
467 0, 52, 271, 61, 55, 0, 54, 0, 0, 0,
468 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,
469 26, 27, 28, 29, 0, 59, 0, 0, 53, 0,
470 53, 0, 0, 0, 0, 0, 0, 35, 0, 36,
471 37, 38, 0, 0, 0, 0, 39, 40, 41, 42,
472 43, 44, 56, 0, 45, 0, 0, 0, 0, 46,
473 53, 0, 0, 49, 0, 50, 51, 47, 0, 0,
474 58, 60, 57, 0, 52, 273, 61, 55, 0, 54,
475 0, 0, 0, 0, 17, 0, 0, 48, 0, 0,
476 0, 0, 0, 0, 0, 0, 0, 0, 59, 0,
93a17b20 477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 478 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,
479 26, 27, 28, 29, 0, 56, 0, 0, 0, 0,
480 0, 0, 0, 0, 0, 0, 0, 35, 0, 36,
481 37, 38, 0, 0, 0, 0, 39, 40, 41, 42,
482 43, 44, 0, 0, 45, 0, 0, 17, 0, 46,
483 48, 0, 0, 49, 0, 50, 51, 47, 0, 0,
484 58, 60, 57, 0, 52, 0, 61, 55, 0, 54,
463ee0b2 485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 486 0, 0, 0, 277, 0, 0, 0, 0, 59, 0,
487 0, 0, 0, 0, 53, 53, 53, 53, 0, 0,
488 0, 0, 0, 0, 0, 0, 0, 0, 25, 26,
489 27, 28, 29, 0, 0, 56, 0, 53, 53, 0,
490 0, 0, 0, 0, 97, 0, 35, 97, 36, 37,
491 38, 0, 53, 53, 53, 39, 40, 41, 42, 43,
492 44, 97, 97, 45, 97, 0, 97, 17, 46, 0,
493 48, 0, 49, 0, 50, 51, 47, 0, 0, 58,
494 60, 57, 0, 52, 281, 61, 55, 0, 54, 0,
495 0, 0, 0, 0, 97, 0, 97, 0, 0, 0,
496 0, 25, 26, 27, 28, 29, 0, 59, 0, 0,
497 0, 0, 0, 0, 0, 0, 0, 0, 0, 35,
498 0, 36, 37, 38, 0, 0, 97, 0, 39, 40,
499 41, 42, 43, 44, 56, 0, 45, 0, 0, 0,
500 0, 46, 0, 0, 0, 49, 0, 50, 51, 47,
501 0, 0, 58, 60, 57, 0, 52, 0, 61, 55,
502 0, 54, 0, 0, 0, 0, 17, 0, 0, 48,
463ee0b2 503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 504 59, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 506 0, 25, 26, 27, 28, 29, 0, 56, 0, 283,
507 0, 0, 0, 0, 0, 0, 0, 0, 0, 35,
508 0, 36, 37, 38, 0, 0, 0, 0, 39, 40,
509 41, 42, 43, 44, 0, 0, 45, 0, 0, 17,
510 0, 46, 48, 0, 0, 49, 0, 50, 51, 47,
511 0, 0, 58, 60, 57, 0, 52, 0, 61, 55,
512 0, 54, 0, 0, 0, 0, 0, 0, 0, 0,
513 97, 97, 97, 97, 0, 0, 0, 0, 0, 97,
514 59, 0, 0, 97, 97, 0, 0, 0, 0, 0,
515 0, 0, 0, 97, 97, 0, 97, 97, 97, 97,
516 25, 26, 27, 28, 29, 0, 0, 56, 97, 97,
517 97, 0, 0, 0, 0, 0, 0, 0, 35, 0,
518 36, 37, 38, 0, 0, 0, 0, 39, 40, 41,
519 42, 43, 44, 0, 0, 45, 0, 0, 0, 17,
520 46, 0, 48, 0, 49, 0, 50, 51, 47, 0,
521 0, 58, 60, 57, 0, 52, 0, 61, 55, 0,
522 54, 0, 0, 0, 0, 0, 0, 0, 0, 0,
523 0, 0, 0, 25, 26, 27, 28, 29, 0, 59,
463ee0b2 524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 525 0, 35, 0, 36, 37, 38, 0, 0, 0, 0,
526 39, 40, 41, 42, 43, 44, 56, 138, 45, 0,
527 138, 0, 0, 46, 0, 0, 0, 49, 0, 50,
528 51, 0, 0, 0, 138, 138, 0, 138, 0, 138,
529 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
530 0, 48, 0, 0, 0, 0, 0, 0, 0, 0,
531 0, 0, 0, 0, 0, 0, 0, 138, 0, 138,
532 0, 0, 122, 0, 0, 122, 0, 0, 0, 0,
533 0, 0, 0, 25, 26, 27, 28, 29, 0, 122,
534 122, 0, 122, 0, 122, 0, 0, 0, 0, 138,
535 0, 35, 0, 36, 37, 38, 0, 0, 0, 0,
536 39, 40, 41, 42, 43, 44, 144, 0, 45, 144,
537 0, 0, 122, 46, 122, 0, 0, 49, 0, 50,
538 51, 0, 0, 144, 144, 0, 144, 0, 144, 0,
463ee0b2 539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 540 0, 0, 0, 0, 122, 0, 0, 0, 0, 0,
541 0, 0, 0, 0, 0, 0, 144, 0, 144, 0,
542 0, 147, 0, 0, 0, 0, 0, 0, 0, 0,
543 0, 0, 103, 26, 27, 28, 29, 0, 147, 147,
544 0, 147, 0, 147, 0, 0, 0, 0, 144, 0,
545 35, 0, 36, 37, 38, 0, 0, 0, 0, 39,
546 40, 41, 42, 43, 44, 0, 0, 45, 0, 0,
547 0, 147, 46, 147, 0, 0, 49, 0, 50, 51,
548 0, 0, 0, 0, 0, 0, 0, 83, 0, 0,
549 83, 0, 0, 138, 138, 138, 138, 0, 0, 0,
550 0, 0, 138, 147, 83, 83, 138, 138, 138, 138,
551 0, 0, 0, 0, 0, 0, 138, 138, 0, 138,
552 138, 138, 138, 0, 138, 138, 0, 0, 138, 0,
553 0, 138, 138, 138, 0, 0, 0, 83, 0, 83,
554 0, 0, 0, 0, 0, 0, 0, 0, 122, 122,
555 122, 122, 0, 0, 0, 0, 0, 122, 0, 0,
556 0, 122, 122, 122, 122, 0, 0, 0, 0, 83,
557 0, 122, 122, 0, 122, 122, 122, 122, 0, 122,
558 122, 0, 99, 122, 0, 99, 122, 122, 122, 0,
559 0, 0, 144, 144, 144, 144, 0, 0, 0, 99,
560 99, 144, 99, 0, 99, 144, 144, 144, 144, 0,
561 0, 0, 0, 0, 0, 144, 144, 0, 144, 144,
562 144, 144, 0, 144, 144, 0, 0, 144, 0, 0,
563 144, 144, 144, 0, 99, 0, 0, 98, 0, 0,
564 98, 0, 0, 0, 0, 0, 0, 147, 147, 147,
565 147, 0, 0, 0, 98, 98, 147, 98, 0, 98,
566 147, 147, 147, 147, 99, 0, 0, 0, 0, 0,
567 147, 147, 0, 147, 147, 147, 147, 0, 147, 147,
568 86, 0, 147, 86, 0, 147, 147, 147, 0, 98,
569 0, 0, 0, 0, 0, 0, 0, 86, 86, 0,
570 86, 0, 86, 0, 0, 0, 0, 0, 0, 0,
571 0, 0, 0, 83, 83, 83, 83, 0, 0, 98,
572 0, 72, 0, 0, 72, 0, 0, 0, 0, 0,
573 86, 0, 86, 0, 0, 0, 83, 83, 72, 72,
574 0, 72, 0, 72, 0, 0, 0, 0, 0, 0,
575 0, 83, 83, 83, 0, 0, 0, 0, 0, 0,
576 0, 0, 86, 133, 0, 0, 133, 0, 0, 0,
577 0, 72, 0, 72, 0, 0, 0, 0, 0, 0,
578 133, 133, 0, 133, 0, 133, 0, 0, 0, 0,
8990e307 579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 580 0, 0, 0, 72, 0, 0, 0, 0, 99, 99,
581 99, 99, 0, 0, 0, 133, 0, 99, 0, 0,
582 0, 99, 99, 99, 99, 0, 0, 0, 0, 0,
583 0, 99, 99, 0, 99, 99, 99, 99, 0, 99,
584 99, 0, 0, 99, 0, 0, 99, 99, 99, 0,
585 0, 0, 0, 146, 0, 0, 146, 0, 0, 0,
586 0, 0, 0, 98, 98, 98, 98, 0, 0, 0,
587 146, 146, 98, 146, 0, 146, 98, 98, 98, 98,
588 0, 0, 0, 0, 0, 0, 98, 98, 0, 98,
589 98, 98, 98, 0, 98, 98, 0, 0, 98, 0,
590 0, 98, 98, 98, 0, 146, 86, 86, 86, 86,
591 0, 0, 0, 0, 0, 86, 0, 0, 0, 86,
592 86, 86, 86, 0, 0, 0, 0, 0, 0, 86,
593 86, 0, 86, 86, 86, 86, 0, 86, 86, 0,
594 0, 0, 0, 0, 86, 86, 86, 72, 72, 72,
595 72, 0, 0, 0, 0, 0, 72, 0, 0, 0,
596 72, 72, 72, 72, 0, 0, 0, 0, 0, 0,
597 72, 72, 0, 72, 72, 72, 72, 0, 72, 72,
598 0, 0, 0, 0, 0, 72, 72, 72, 0, 133,
599 133, 133, 133, 0, 0, 0, 0, 0, 133, 0,
600 0, 0, 133, 133, 133, 133, 0, 0, 0, 0,
601 0, 0, 133, 133, 0, 133, 133, 133, 133, 135,
602 133, 133, 135, 0, 133, 0, 0, 133, 133, 133,
603 0, 0, 0, 0, 0, 0, 135, 135, 0, 135,
604 0, 135, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 606 0, 0, 0, 0, 0, 0, 0, 0, 0, 110,
607 0, 135, 110, 0, 0, 0, 0, 0, 0, 146,
608 146, 146, 146, 0, 0, 0, 110, 110, 146, 110,
609 0, 110, 146, 146, 146, 146, 0, 0, 0, 0,
610 0, 0, 146, 146, 0, 146, 146, 146, 146, 0,
611 146, 146, 104, 0, 146, 104, 0, 146, 146, 146,
612 0, 110, 0, 0, 0, 0, 0, 0, 0, 104,
613 104, 0, 104, 0, 104, 0, 0, 0, 0, 0,
463ee0b2 614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 615 0, 0, 0, 73, 0, 0, 73, 0, 0, 0,
616 0, 0, 0, 0, 104, 0, 0, 0, 0, 0,
617 73, 73, 0, 73, 0, 73, 0, 0, 0, 0,
463ee0b2 618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 619 0, 0, 0, 0, 0, 0, 0, 0, 0, 74,
620 0, 0, 74, 73, 0, 73, 0, 0, 0, 0,
621 0, 0, 0, 0, 0, 0, 74, 74, 0, 74,
622 0, 74, 0, 0, 0, 0, 0, 0, 0, 0,
623 0, 0, 0, 0, 0, 73, 0, 0, 0, 0,
624 0, 0, 0, 0, 0, 135, 135, 135, 135, 74,
625 0, 74, 0, 0, 135, 0, 0, 0, 135, 135,
626 135, 135, 0, 0, 0, 0, 0, 0, 135, 135,
627 0, 135, 135, 135, 135, 0, 135, 135, 0, 0,
628 135, 74, 0, 135, 135, 135, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 110, 110, 110, 110, 0,
630 0, 0, 0, 0, 110, 0, 0, 0, 110, 110,
631 110, 110, 0, 0, 0, 0, 0, 0, 110, 110,
632 0, 110, 110, 110, 110, 0, 110, 110, 0, 0,
633 110, 0, 0, 110, 110, 110, 0, 0, 104, 104,
634 104, 104, 0, 0, 0, 0, 0, 104, 0, 0,
635 0, 104, 104, 104, 104, 0, 0, 0, 0, 0,
636 0, 104, 104, 0, 104, 104, 104, 104, 0, 104,
637 104, 0, 0, 104, 0, 0, 104, 104, 104, 73,
638 73, 73, 73, 0, 0, 0, 0, 0, 73, 0,
639 0, 0, 73, 73, 73, 73, 0, 0, 0, 0,
640 0, 0, 73, 73, 0, 73, 73, 73, 73, 0,
641 73, 0, 0, 0, 0, 0, 0, 73, 73, 73,
642 0, 0, 0, 0, 0, 74, 74, 74, 74, 0,
643 0, 0, 0, 0, 74, 0, 0, 0, 74, 74,
644 75, 74, 0, 75, 0, 0, 0, 0, 74, 74,
645 0, 74, 74, 74, 74, 0, 74, 75, 75, 0,
646 75, 0, 75, 74, 74, 74, 0, 0, 0, 0,
463ee0b2 647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 648 0, 137, 0, 0, 137, 0, 0, 0, 0, 0,
649 75, 0, 75, 0, 0, 0, 0, 0, 137, 137,
650 0, 137, 0, 137, 0, 0, 0, 0, 0, 0,
463ee0b2 651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 652 0, 0, 75, 76, 0, 0, 76, 0, 0, 0,
653 0, 137, 0, 137, 0, 0, 0, 0, 0, 0,
654 76, 76, 0, 76, 0, 76, 0, 0, 0, 0,
463ee0b2 655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 656 0, 0, 0, 137, 77, 0, 0, 77, 0, 0,
657 0, 0, 0, 76, 0, 76, 0, 0, 0, 0,
658 0, 77, 77, 0, 77, 0, 77, 0, 0, 0,
463ee0b2 659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 660 0, 0, 0, 0, 0, 76, 78, 0, 0, 78,
661 0, 0, 0, 0, 77, 0, 77, 0, 0, 0,
662 0, 0, 0, 78, 78, 0, 78, 0, 78, 0,
463ee0b2 663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 664 0, 0, 0, 0, 0, 0, 77, 0, 0, 0,
665 0, 0, 0, 0, 0, 0, 78, 0, 78, 0,
666 0, 0, 0, 0, 0, 0, 75, 75, 75, 75,
667 0, 0, 0, 0, 0, 75, 0, 0, 0, 75,
668 75, 0, 0, 0, 0, 0, 0, 0, 78, 75,
669 75, 0, 75, 75, 75, 75, 0, 75, 0, 0,
670 0, 0, 0, 0, 75, 75, 75, 137, 137, 137,
671 137, 0, 0, 0, 0, 0, 137, 0, 0, 0,
672 137, 137, 0, 0, 0, 0, 0, 0, 0, 0,
673 137, 137, 0, 137, 137, 137, 137, 0, 0, 0,
674 0, 0, 0, 0, 0, 137, 137, 137, 0, 76,
675 76, 76, 76, 0, 0, 0, 0, 0, 76, 0,
676 0, 0, 0, 76, 0, 0, 0, 0, 0, 0,
677 0, 0, 76, 76, 0, 76, 76, 76, 76, 0,
678 0, 0, 0, 0, 0, 0, 0, 76, 76, 76,
679 77, 77, 77, 77, 63, 0, 0, 63, 0, 77,
463ee0b2 680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 681 0, 63, 63, 77, 77, 0, 77, 77, 77, 77,
682 0, 0, 0, 0, 0, 0, 0, 0, 77, 77,
683 77, 0, 78, 78, 78, 78, 0, 0, 0, 0,
684 0, 78, 0, 0, 63, 79, 63, 0, 79, 0,
685 0, 0, 0, 0, 0, 78, 78, 0, 78, 78,
686 78, 78, 79, 79, 0, 79, 0, 79, 0, 0,
687 78, 78, 78, 0, 0, 0, 63, 0, 0, 0,
688 0, 0, 0, 0, 0, 0, 81, 0, 0, 81,
689 0, 0, 0, 0, 0, 79, 82, 79, 0, 82,
690 0, 0, 0, 81, 81, 0, 81, 0, 81, 0,
691 0, 0, 0, 82, 82, 0, 82, 0, 82, 0,
692 0, 0, 0, 0, 0, 0, 0, 79, 0, 0,
693 0, 0, 0, 0, 0, 0, 81, 80, 81, 0,
694 80, 0, 0, 0, 85, 0, 82, 85, 82, 65,
695 0, 0, 65, 0, 80, 80, 0, 80, 0, 80,
696 0, 85, 85, 0, 85, 0, 65, 65, 81, 0,
697 0, 0, 0, 0, 0, 0, 0, 0, 82, 0,
698 0, 0, 0, 0, 0, 0, 0, 80, 0, 80,
699 0, 0, 0, 0, 85, 66, 85, 0, 66, 65,
700 71, 65, 0, 71, 0, 0, 0, 0, 0, 0,
701 0, 0, 66, 66, 0, 0, 0, 71, 71, 80,
702 63, 63, 63, 63, 0, 0, 85, 0, 0, 0,
703 0, 65, 0, 0, 0, 0, 0, 0, 0, 0,
704 0, 0, 0, 63, 63, 66, 0, 66, 0, 0,
705 71, 70, 71, 0, 70, 0, 0, 0, 63, 63,
706 63, 0, 0, 0, 0, 0, 0, 0, 70, 70,
707 0, 79, 79, 79, 79, 0, 0, 66, 0, 0,
708 79, 0, 71, 0, 0, 0, 0, 0, 0, 0,
709 0, 0, 0, 0, 79, 79, 0, 79, 79, 79,
710 0, 70, 0, 70, 0, 0, 0, 0, 0, 79,
711 79, 79, 81, 81, 81, 81, 0, 0, 0, 0,
712 0, 81, 82, 82, 82, 82, 0, 0, 0, 0,
713 0, 82, 0, 70, 0, 81, 81, 146, 81, 81,
714 146, 0, 0, 0, 0, 82, 82, 0, 82, 0,
715 81, 81, 81, 0, 146, 146, 0, 146, 0, 146,
716 82, 82, 82, 80, 80, 80, 80, 0, 0, 0,
717 85, 85, 85, 85, 0, 65, 65, 65, 65, 0,
718 0, 0, 0, 0, 0, 0, 80, 80, 69, 146,
719 0, 69, 0, 85, 85, 0, 0, 0, 65, 65,
720 0, 80, 80, 80, 0, 69, 69, 0, 85, 85,
721 85, 0, 0, 65, 65, 65, 0, 68, 0, 0,
722 68, 66, 66, 66, 66, 0, 71, 71, 71, 71,
723 0, 0, 0, 0, 68, 68, 67, 0, 69, 67,
724 69, 0, 0, 0, 66, 66, 0, 0, 0, 71,
725 71, 0, 0, 67, 67, 0, 0, 0, 0, 66,
726 66, 66, 0, 0, 71, 71, 71, 68, 0, 68,
727 69, 0, 0, 0, 0, 0, 0, 70, 70, 70,
728 70, 0, 0, 0, 0, 0, 67, 64, 67, 0,
729 64, 0, 0, 0, 0, 0, 0, 0, 0, 68,
730 70, 70, 0, 0, 64, 64, 87, 0, 0, 87,
731 0, 0, 0, 0, 0, 70, 70, 70, 67, 0,
732 0, 0, 0, 87, 87, 0, 87, 0, 87, 0,
733 0, 0, 0, 0, 0, 0, 0, 64, 0, 64,
463ee0b2 734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 735 0, 0, 0, 90, 0, 0, 90, 0, 87, 0,
736 0, 0, 0, 146, 146, 146, 146, 0, 0, 64,
737 90, 90, 146, 90, 0, 90, 146, 146, 146, 146,
738 0, 0, 0, 0, 0, 0, 146, 146, 0, 146,
739 146, 146, 146, 0, 146, 146, 0, 0, 146, 0,
740 0, 146, 146, 91, 0, 90, 91, 0, 0, 0,
741 0, 0, 0, 0, 69, 69, 69, 69, 0, 0,
742 91, 91, 0, 91, 0, 91, 0, 0, 0, 0,
743 0, 0, 0, 0, 0, 0, 0, 69, 69, 92,
744 0, 0, 92, 68, 68, 68, 68, 0, 0, 0,
745 0, 0, 69, 69, 69, 91, 92, 92, 0, 92,
746 0, 92, 67, 67, 67, 67, 68, 68, 0, 0,
747 0, 0, 0, 0, 0, 95, 0, 0, 95, 0,
748 0, 68, 68, 68, 0, 67, 67, 0, 0, 0,
749 0, 92, 95, 95, 0, 95, 0, 95, 0, 0,
750 67, 67, 67, 0, 0, 0, 0, 0, 0, 0,
751 0, 0, 0, 64, 64, 64, 64, 0, 0, 0,
752 0, 0, 96, 0, 0, 96, 0, 95, 0, 0,
753 0, 0, 87, 87, 87, 87, 64, 64, 0, 96,
754 96, 87, 96, 0, 96, 87, 87, 87, 87, 0,
755 0, 64, 64, 64, 0, 87, 87, 0, 87, 87,
756 87, 87, 0, 87, 87, 0, 0, 87, 0, 88,
757 0, 0, 88, 0, 96, 0, 0, 0, 0, 90,
758 90, 90, 90, 0, 0, 0, 88, 88, 90, 88,
759 0, 88, 90, 90, 90, 90, 0, 0, 0, 0,
760 0, 0, 90, 90, 0, 90, 90, 90, 90, 0,
761 90, 90, 0, 0, 90, 0, 0, 89, 0, 0,
762 89, 88, 0, 0, 0, 0, 0, 0, 0, 91,
763 91, 91, 91, 0, 89, 89, 0, 89, 91, 89,
764 0, 0, 91, 91, 91, 91, 0, 0, 0, 0,
765 0, 0, 91, 91, 0, 91, 91, 91, 91, 0,
766 91, 91, 0, 0, 91, 92, 92, 92, 92, 89,
767 0, 0, 0, 0, 92, 0, 0, 0, 92, 92,
768 92, 92, 0, 0, 0, 0, 0, 0, 92, 92,
769 0, 92, 92, 92, 92, 0, 92, 92, 0, 0,
770 92, 95, 95, 95, 95, 0, 0, 0, 0, 0,
771 95, 0, 0, 0, 95, 95, 95, 95, 0, 0,
772 0, 0, 0, 0, 95, 95, 0, 95, 95, 95,
773 95, 0, 95, 95, 0, 0, 95, 0, 0, 0,
774 0, 0, 0, 0, 0, 0, 0, 0, 96, 96,
775 96, 96, 0, 0, 0, 0, 0, 96, 0, 0,
776 0, 96, 96, 96, 96, 0, 0, 0, 0, 0,
777 0, 96, 96, 0, 96, 96, 96, 96, 0, 96,
778 96, 98, 0, 96, 0, 0, 105, 107, 0, 0,
779 0, 0, 117, 0, 0, 88, 88, 88, 88, 0,
780 0, 0, 0, 0, 88, 0, 0, 0, 88, 88,
781 88, 88, 0, 0, 0, 0, 0, 0, 88, 88,
782 0, 88, 88, 88, 88, 0, 88, 88, 0, 0,
783 88, 0, 0, 172, 0, 0, 0, 0, 0, 0,
784 0, 0, 0, 89, 89, 89, 89, 0, 0, 0,
785 0, 0, 89, 0, 0, 0, 89, 89, 89, 89,
786 0, 0, 0, 0, 0, 0, 89, 89, 0, 89,
787 89, 89, 89, 0, 89, 89, 0, 0, 89, 0,
788 0, 0, 0, 0, 0, 0, 214, 215, 216, 217,
789 219, 221, 222, 223, 224, 225, 227, 229, 231, 233,
790 235, 236, 238, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
93a17b20 793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 794 0, 0, 214, 0, 0, 0, 0, 0, 0, 0,
795 214, 0, 214, 0, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 0, 284, 0, 285, 0, 0, 0,
797 0, 0, 287, 0, 288, 0, 289, 0, 290, 0,
798 291, 0, 0, 292, 0, 0, 0, 0, 0, 0,
93a17b20 799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 800 305, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463ee0b2 801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85e6fe83 803 0, 0, 323,
93a17b20 804};
805short yycheck[] = { 5,
85e6fe83 806 181, 59, 123, 91, 91, 91, 59, 13, 40, 13,
807 40, 183, 18, 44, 20, 41, 40, 44, 44, 23,
808 40, 91, 44, 44, 30, 31, 32, 33, 40, 257,
809 279, 36, 58, 59, 40, 123, 123, 123, 41, 43,
810 46, 44, 44, 292, 175, 44, 177, 257, 52, 44,
811 91, 282, 56, 123, 44, 123, 41, 59, 44, 44,
812 44, 91, 93, 41, 40, 91, 93, 93, 299, 59,
813 123, 302, 93, 58, 59, 125, 41, 249, 61, 44,
814 63, 59, 123, 89, 88, 91, 90, 93, 92, 95,
815 94, 123, 96, 123, 93, 267, 100, 123, 93, 123,
816 272, 41, 274, 123, 0, 41, 91, 93, 93, 93,
817 59, 123, 36, 41, 44, 40, 40, 299, 123, 59,
818 302, 41, 36, 59, 257, 41, 40, 308, 134, 59,
819 311, 59, 136, 137, 138, 139, 257, 33, 123, 59,
820 36, 37, 38, 59, 40, 40, 42, 43, 280, 45,
821 282, 283, 40, 157, 282, 283, 273, 161, 162, 163,
822 164, 165, 166, 59, 0, 44, 298, 299, 64, 350,
823 302, 299, 258, 59, 302, 306, 307, 44, 44, 44,
824 59, 185, 313, 41, 40, 307, 44, 191, 192, 40,
825 194, 41, 59, 59, 59, 91, 44, 33, 202, 257,
826 36, 37, 38, 40, 40, 36, 42, 43, 339, 45,
827 123, 59, 262, 263, 264, 265, 266, 305, 306, 307,
828 307, 41, 41, 59, 44, 44, 125, 123, 64, 125,
829 126, 41, 0, 44, 44, 41, 240, 41, 242, 91,
830 44, 267, 268, 269, 270, 267, 268, 269, 270, 255,
831 59, 257, 257, 259, 260, 91, 261, 263, 271, 272,
832 266, 265, 41, 123, 290, 33, 125, 91, 36, 37,
833 38, 275, 40, 302, 42, 43, 40, 45, 282, 305,
834 306, 307, 267, 268, 269, 270, 40, 123, 40, 125,
835 126, 59, 41, 276, 59, 125, 64, 280, 281, 282,
836 283, 41, 267, 268, 269, 270, 310, 125, 314, 125,
837 293, 294, 295, 296, 41, 298, 299, 125, 125, 302,
838 305, 306, 307, 91, 125, 280, 281, 282, 283, 125,
839 41, 41, 41, 337, 41, 262, 263, 264, 265, 266,
840 346, 296, 59, 298, 299, 351, 41, 302, 41, 337,
841 61, 59, 63, 59, 76, 123, 13, 125, 126, 265,
842 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
843 266, 267, 268, 269, 270, -1, -1, -1, 274, 275,
844 -1, 277, 278, 279, 26, -1, -1, -1, 284, 285,
845 286, 287, 288, 289, -1, -1, 292, 39, -1, -1,
846 -1, 297, -1, 45, -1, 301, -1, 303, 304, -1,
847 -1, 307, -1, -1, -1, 57, 58, 59, 60, 61,
848 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
849 266, 267, 268, 269, 270, -1, -1, -1, 274, 275,
850 -1, 277, 278, 279, -1, -1, -1, 86, 284, 285,
851 286, 287, 288, 289, 63, -1, 292, -1, -1, 101,
852 -1, 297, 101, -1, -1, 301, -1, 303, 304, -1,
853 112, -1, -1, 112, 33, -1, 115, 36, 37, 38,
854 -1, 40, -1, 42, 43, -1, 45, -1, 256, 257,
93a17b20 855 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
85e6fe83 856 268, 269, 270, -1, 0, 64, 274, 275, -1, 277,
857 278, 279, -1, -1, -1, -1, 284, 285, 286, 287,
858 288, 289, -1, -1, 292, -1, -1, -1, -1, 297,
859 -1, -1, 91, 301, -1, 303, 304, 33, -1, -1,
8990e307 860 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
85e6fe83 861 -1, 190, -1, -1, -1, 280, 281, 282, 283, -1,
862 -1, 200, -1, 59, 123, 276, -1, 126, 64, 280,
863 281, 282, 283, 298, 299, -1, -1, 302, -1, 290,
864 291, -1, 293, 294, 295, 296, -1, 298, 299, 33,
865 -1, 302, 36, 37, 38, 91, 40, 41, 42, 43,
866 44, 45, -1, -1, -1, 282, 283, -1, -1, -1,
867 26, -1, 251, -1, 58, 59, -1, 61, 34, 63,
868 64, 298, 299, 39, 40, 302, 42, 123, -1, -1,
869 126, -1, 47, 48, 49, 50, 51, -1, -1, 54,
870 55, 57, 58, 59, 60, 61, -1, 91, -1, 93,
871 33, -1, -1, 36, 37, 38, 295, 40, 41, 42,
872 43, 44, 45, -1, 303, -1, -1, 276, -1, -1,
873 -1, 280, 281, 282, 283, 58, 59, -1, 61, 123,
874 63, 64, 126, -1, 293, 294, 295, 296, -1, 298,
875 299, -1, 108, 302, -1, -1, -1, -1, 257, 258,
876 259, 260, 261, -1, -1, -1, -1, -1, -1, -1,
877 93, -1, -1, -1, -1, -1, 275, -1, 277, 278,
878 279, -1, -1, -1, -1, 284, 285, 286, 287, 288,
879 289, -1, -1, 292, 280, 281, 282, 283, 297, -1,
880 -1, -1, 301, 126, 303, 304, -1, -1, 307, 295,
881 296, -1, 298, 299, -1, -1, 302, -1, -1, -1,
882 256, 257, 258, 259, 260, 261, -1, -1, -1, -1,
883 -1, 267, 268, 269, 270, -1, -1, -1, 274, 275,
884 -1, 277, 278, 279, -1, -1, -1, -1, 284, 285,
885 286, 287, 288, 289, -1, -1, 292, -1, -1, -1,
886 -1, 297, -1, -1, -1, 301, -1, 303, 304, -1,
887 -1, -1, -1, 257, 258, 259, 260, 261, -1, -1,
888 -1, -1, -1, 267, 268, 269, 270, -1, -1, -1,
889 -1, 275, 276, 277, 278, 279, 280, 281, 282, 283,
890 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
891 294, 295, 296, 297, 298, 299, -1, 301, 302, 303,
892 304, 305, 306, 307, -1, -1, -1, -1, -1, -1,
893 -1, -1, -1, -1, 257, 258, 259, 260, 261, -1,
894 -1, -1, -1, -1, 267, 268, 269, 270, -1, 61,
895 -1, 63, 275, 276, 277, 278, 279, 280, 281, 282,
896 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
897 293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
898 303, 304, 305, 306, 307, 33, -1, -1, 36, 37,
899 38, -1, 40, -1, 42, 43, -1, 45, -1, 280,
900 281, 282, 283, -1, -1, -1, -1, -1, -1, -1,
901 -1, 59, 293, 294, 295, 296, 64, 298, 299, -1,
902 -1, 302, -1, -1, -1, -1, -1, -1, -1, -1,
903 -1, -1, -1, -1, -1, 33, -1, -1, 36, 37,
904 38, -1, 40, 91, 42, 43, -1, 45, -1, 280,
905 281, 282, 283, -1, -1, -1, -1, -1, -1, -1,
906 -1, 59, -1, 294, 295, 296, 64, 298, 299, 41,
907 -1, 302, 44, -1, -1, 123, -1, -1, 126, -1,
908 -1, -1, -1, -1, -1, 33, 58, 59, 36, 37,
909 38, -1, 40, 91, 42, 43, -1, 45, -1, -1,
93a17b20 910 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 911 -1, 59, -1, -1, -1, -1, 64, -1, -1, 91,
912 -1, 93, -1, -1, -1, 123, -1, -1, 126, -1,
913 -1, -1, -1, -1, -1, 33, -1, -1, 36, 37,
914 38, -1, 40, 91, 42, 43, -1, 45, -1, -1,
915 -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
916 -1, 59, -1, -1, 276, -1, 64, -1, 280, 281,
917 282, 283, -1, -1, -1, 123, -1, -1, 126, 291,
918 -1, 293, 294, 295, 296, -1, 298, 299, -1, -1,
919 302, -1, 33, 91, -1, 36, 37, 38, -1, 40,
920 41, 42, 43, -1, 45, -1, -1, -1, 256, 257,
921 258, 259, 260, 261, -1, -1, -1, -1, -1, 267,
922 268, 269, 270, 64, -1, 123, 274, 275, 126, 277,
923 278, 279, -1, -1, -1, -1, 284, 285, 286, 287,
924 288, 289, -1, -1, 292, -1, -1, -1, -1, 297,
925 91, -1, -1, 301, -1, 303, 304, -1, 256, 257,
926 258, 259, 260, 261, -1, -1, -1, -1, -1, 267,
927 268, 269, 270, -1, -1, -1, 274, 275, -1, 277,
928 278, 279, 123, -1, -1, 126, 284, 285, 286, 287,
929 288, 289, -1, -1, 292, 267, 268, 269, 270, 297,
930 -1, -1, -1, 301, -1, 303, 304, -1, -1, 257,
931 258, 259, 260, 261, 33, -1, -1, 36, 37, 38,
932 -1, 40, -1, 42, 43, -1, 45, 275, -1, 277,
933 278, 279, -1, 305, 306, 307, 284, 285, 286, 287,
934 288, 289, -1, -1, 292, 64, -1, -1, -1, 297,
935 -1, -1, -1, 301, -1, 303, 304, -1, -1, 257,
936 258, 259, 260, 261, -1, -1, -1, -1, -1, -1,
937 -1, -1, 91, 41, 93, -1, 44, 275, -1, 277,
938 278, 279, -1, -1, -1, -1, 284, 285, 286, 287,
939 288, 289, -1, 61, 292, 63, -1, -1, -1, 297,
940 -1, -1, -1, 301, 123, 303, 304, 126, -1, -1,
941 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
942 261, 33, -1, -1, 36, 37, 38, -1, 40, -1,
943 42, 43, -1, 45, 275, -1, 277, 278, 279, -1,
944 -1, -1, -1, 284, 285, 286, 287, 288, 289, -1,
945 -1, 292, 64, -1, -1, -1, 297, -1, -1, -1,
946 301, -1, 303, 304, -1, -1, -1, -1, -1, -1,
947 -1, -1, -1, -1, -1, -1, -1, -1, -1, 91,
948 -1, -1, -1, -1, -1, -1, 33, -1, -1, 36,
949 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
8990e307 950 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 951 -1, 123, -1, -1, 126, -1, -1, 64, -1, -1,
463ee0b2 952 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 953 -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
954 259, 260, 261, 33, 91, -1, 36, 37, 38, -1,
955 40, -1, 42, 43, -1, 45, 275, -1, 277, 278,
956 279, -1, -1, -1, -1, 284, 285, 286, 287, 288,
957 289, 61, -1, 292, 64, -1, 123, -1, 297, 126,
958 -1, -1, 301, -1, 303, 304, -1, -1, -1, -1,
8990e307 959 -1, -1, -1, 33, -1, -1, 36, 37, 38, -1,
85e6fe83 960 40, 91, 42, 43, -1, 45, -1, -1, 276, -1,
961 -1, -1, 280, 281, 282, 283, -1, -1, -1, -1,
962 -1, 61, 290, 291, 64, 293, 294, 295, 296, -1,
963 298, 299, -1, 123, 302, -1, 126, -1, -1, -1,
964 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
965 -1, 91, -1, -1, -1, -1, -1, -1, -1, -1,
966 -1, -1, -1, 275, -1, 277, 278, 279, -1, 61,
967 -1, 63, 284, 285, 286, 287, 288, 289, -1, -1,
968 292, -1, -1, 123, -1, 297, 126, -1, -1, 301,
969 33, 303, 304, 36, 37, 38, -1, 40, -1, 42,
970 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
971 257, 258, 259, 260, 261, -1, -1, -1, 61, -1,
972 -1, 64, -1, -1, -1, -1, -1, -1, 275, -1,
973 277, 278, 279, -1, -1, -1, -1, 284, 285, 286,
974 287, 288, 289, -1, -1, 292, -1, -1, 91, -1,
975 297, -1, -1, -1, 301, -1, 303, 304, -1, -1,
976 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
977 260, 261, 33, -1, -1, 36, 37, 38, -1, 40,
978 123, 42, 43, 126, 45, 275, -1, 277, 278, 279,
979 -1, -1, -1, -1, 284, 285, 286, 287, 288, 289,
980 61, -1, 292, 64, -1, -1, -1, 297, -1, -1,
981 -1, 301, -1, 303, 304, -1, -1, 257, 258, 259,
982 260, 261, -1, -1, -1, -1, -1, -1, -1, -1,
983 91, -1, -1, -1, -1, 275, -1, 277, 278, 279,
984 -1, -1, -1, -1, 284, 285, 286, 287, 288, 289,
985 -1, -1, 292, -1, -1, -1, -1, 297, -1, -1,
986 -1, 301, 123, 303, 304, 126, 33, -1, -1, 36,
987 37, 38, -1, 40, -1, 42, 43, -1, 45, -1,
988 -1, -1, -1, -1, 276, -1, -1, -1, 280, 281,
989 282, 283, -1, -1, 61, -1, -1, 64, 290, 291,
990 -1, 293, 294, 295, 296, -1, 298, 299, -1, -1,
991 302, -1, -1, -1, 257, 258, 259, 260, 261, -1,
992 -1, -1, -1, -1, 91, -1, -1, -1, -1, -1,
993 41, -1, 275, 44, 277, 278, 279, -1, -1, -1,
994 -1, 284, 285, 286, 287, 288, 289, 58, 59, 292,
995 61, -1, 63, -1, 297, -1, 123, -1, 301, 126,
996 303, 304, 33, -1, -1, 36, 37, 38, -1, 40,
997 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
998 91, -1, 93, -1, -1, -1, -1, -1, -1, -1,
999 61, -1, -1, 64, -1, -1, 257, 258, 259, 260,
1000 261, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1001 -1, -1, 123, -1, 275, -1, 277, 278, 279, -1,
1002 91, -1, -1, 284, 285, 286, 287, 288, 289, -1,
1003 -1, 292, 58, -1, -1, 61, 297, 63, -1, -1,
1004 301, -1, 303, 304, -1, -1, -1, -1, -1, -1,
1005 -1, -1, 123, -1, -1, 126, 33, -1, -1, 36,
1006 37, 38, -1, 40, -1, 42, 43, -1, 45, -1,
463ee0b2 1007 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1008 -1, -1, -1, -1, 61, -1, -1, 64, -1, -1,
1009 257, 258, 259, 260, 261, -1, -1, -1, -1, -1,
1010 -1, -1, -1, -1, -1, -1, -1, -1, 275, -1,
1011 277, 278, 279, -1, 91, -1, -1, 284, 285, 286,
1012 287, 288, 289, -1, -1, 292, -1, -1, -1, -1,
1013 297, -1, -1, -1, 301, 33, 303, 304, 36, 37,
1014 38, -1, 40, -1, 42, 43, 123, 45, -1, 126,
1015 -1, -1, -1, -1, -1, -1, 267, 268, 269, 270,
1016 -1, -1, -1, 61, -1, 276, 64, -1, -1, 280,
1017 281, -1, -1, -1, -1, -1, -1, -1, -1, 290,
1018 291, -1, 293, 294, 295, 296, 257, 258, 259, 260,
1019 261, -1, -1, 91, 305, 306, 307, -1, -1, -1,
1020 -1, -1, -1, -1, 275, -1, 277, 278, 279, -1,
1021 -1, -1, -1, 284, 285, 286, 287, 288, 289, -1,
1022 -1, 292, -1, -1, -1, 123, 297, -1, 126, -1,
1023 301, -1, 303, 304, -1, 33, -1, -1, 36, 37,
1024 38, -1, 40, 41, 42, 43, -1, 45, -1, -1,
1025 276, -1, -1, -1, 280, 281, 282, 283, -1, -1,
1026 -1, -1, -1, -1, 290, 291, 64, 293, 294, 295,
1027 296, -1, 298, 299, -1, -1, 302, -1, -1, -1,
1028 257, 258, 259, 260, 261, -1, -1, -1, -1, -1,
1029 -1, -1, -1, 91, -1, -1, -1, -1, 275, -1,
1030 277, 278, 279, -1, -1, -1, -1, 284, 285, 286,
1031 287, 288, 289, -1, -1, 292, -1, -1, 41, -1,
1032 297, 44, -1, -1, 301, 123, 303, 304, 126, -1,
1033 -1, -1, -1, -1, 33, 58, 59, 36, 37, 38,
1034 -1, 40, 41, 42, 43, -1, 45, -1, -1, -1,
1035 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
1036 258, 259, 260, 261, -1, 64, -1, -1, 91, -1,
1037 93, -1, -1, -1, -1, -1, -1, 275, -1, 277,
1038 278, 279, -1, -1, -1, -1, 284, 285, 286, 287,
1039 288, 289, 91, -1, 292, -1, -1, -1, -1, 297,
1040 123, -1, -1, 301, -1, 303, 304, 33, -1, -1,
8990e307 1041 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
85e6fe83 1042 -1, -1, -1, -1, 123, -1, -1, 126, -1, -1,
463ee0b2 1043 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
463ee0b2 1044 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1045 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
1046 258, 259, 260, 261, -1, 91, -1, -1, -1, -1,
1047 -1, -1, -1, -1, -1, -1, -1, 275, -1, 277,
1048 278, 279, -1, -1, -1, -1, 284, 285, 286, 287,
1049 288, 289, -1, -1, 292, -1, -1, 123, -1, 297,
1050 126, -1, -1, 301, -1, 303, 304, 33, -1, -1,
1051 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
463ee0b2 1052 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1053 -1, -1, -1, 59, -1, -1, -1, -1, 64, -1,
1054 -1, -1, -1, -1, 267, 268, 269, 270, -1, -1,
1055 -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
1056 259, 260, 261, -1, -1, 91, -1, 290, 291, -1,
1057 -1, -1, -1, -1, 41, -1, 275, 44, 277, 278,
1058 279, -1, 305, 306, 307, 284, 285, 286, 287, 288,
1059 289, 58, 59, 292, 61, -1, 63, 123, 297, -1,
1060 126, -1, 301, -1, 303, 304, 33, -1, -1, 36,
1061 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
1062 -1, -1, -1, -1, 91, -1, 93, -1, -1, -1,
1063 -1, 257, 258, 259, 260, 261, -1, 64, -1, -1,
1064 -1, -1, -1, -1, -1, -1, -1, -1, -1, 275,
1065 -1, 277, 278, 279, -1, -1, 123, -1, 284, 285,
1066 286, 287, 288, 289, 91, -1, 292, -1, -1, -1,
1067 -1, 297, -1, -1, -1, 301, -1, 303, 304, 33,
1068 -1, -1, 36, 37, 38, -1, 40, -1, 42, 43,
1069 -1, 45, -1, -1, -1, -1, 123, -1, -1, 126,
463ee0b2 1070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1071 64, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1072 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1073 -1, 257, 258, 259, 260, 261, -1, 91, -1, 93,
1074 -1, -1, -1, -1, -1, -1, -1, -1, -1, 275,
1075 -1, 277, 278, 279, -1, -1, -1, -1, 284, 285,
1076 286, 287, 288, 289, -1, -1, 292, -1, -1, 123,
1077 -1, 297, 126, -1, -1, 301, -1, 303, 304, 33,
1078 -1, -1, 36, 37, 38, -1, 40, -1, 42, 43,
1079 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
1080 267, 268, 269, 270, -1, -1, -1, -1, -1, 276,
1081 64, -1, -1, 280, 281, -1, -1, -1, -1, -1,
1082 -1, -1, -1, 290, 291, -1, 293, 294, 295, 296,
1083 257, 258, 259, 260, 261, -1, -1, 91, 305, 306,
1084 307, -1, -1, -1, -1, -1, -1, -1, 275, -1,
1085 277, 278, 279, -1, -1, -1, -1, 284, 285, 286,
1086 287, 288, 289, -1, -1, 292, -1, -1, -1, 123,
1087 297, -1, 126, -1, 301, -1, 303, 304, 33, -1,
1088 -1, 36, 37, 38, -1, 40, -1, 42, 43, -1,
1089 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1090 -1, -1, -1, 257, 258, 259, 260, 261, -1, 64,
463ee0b2 1091 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1092 -1, 275, -1, 277, 278, 279, -1, -1, -1, -1,
1093 284, 285, 286, 287, 288, 289, 91, 41, 292, -1,
1094 44, -1, -1, 297, -1, -1, -1, 301, -1, 303,
1095 304, -1, -1, -1, 58, 59, -1, 61, -1, 63,
1096 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
1097 -1, 126, -1, -1, -1, -1, -1, -1, -1, -1,
1098 -1, -1, -1, -1, -1, -1, -1, 91, -1, 93,
1099 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1100 -1, -1, -1, 257, 258, 259, 260, 261, -1, 58,
1101 59, -1, 61, -1, 63, -1, -1, -1, -1, 123,
1102 -1, 275, -1, 277, 278, 279, -1, -1, -1, -1,
1103 284, 285, 286, 287, 288, 289, 41, -1, 292, 44,
1104 -1, -1, 91, 297, 93, -1, -1, 301, -1, 303,
1105 304, -1, -1, 58, 59, -1, 61, -1, 63, -1,
8990e307 1106 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1107 -1, -1, -1, -1, 123, -1, -1, -1, -1, -1,
1108 -1, -1, -1, -1, -1, -1, 91, -1, 93, -1,
1109 -1, 41, -1, -1, -1, -1, -1, -1, -1, -1,
1110 -1, -1, 257, 258, 259, 260, 261, -1, 58, 59,
1111 -1, 61, -1, 63, -1, -1, -1, -1, 123, -1,
1112 275, -1, 277, 278, 279, -1, -1, -1, -1, 284,
1113 285, 286, 287, 288, 289, -1, -1, 292, -1, -1,
1114 -1, 91, 297, 93, -1, -1, 301, -1, 303, 304,
1115 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
1116 44, -1, -1, 267, 268, 269, 270, -1, -1, -1,
1117 -1, -1, 276, 123, 58, 59, 280, 281, 282, 283,
1118 -1, -1, -1, -1, -1, -1, 290, 291, -1, 293,
1119 294, 295, 296, -1, 298, 299, -1, -1, 302, -1,
1120 -1, 305, 306, 307, -1, -1, -1, 91, -1, 93,
1121 -1, -1, -1, -1, -1, -1, -1, -1, 267, 268,
1122 269, 270, -1, -1, -1, -1, -1, 276, -1, -1,
1123 -1, 280, 281, 282, 283, -1, -1, -1, -1, 123,
1124 -1, 290, 291, -1, 293, 294, 295, 296, -1, 298,
1125 299, -1, 41, 302, -1, 44, 305, 306, 307, -1,
1126 -1, -1, 267, 268, 269, 270, -1, -1, -1, 58,
1127 59, 276, 61, -1, 63, 280, 281, 282, 283, -1,
1128 -1, -1, -1, -1, -1, 290, 291, -1, 293, 294,
1129 295, 296, -1, 298, 299, -1, -1, 302, -1, -1,
1130 305, 306, 307, -1, 93, -1, -1, 41, -1, -1,
1131 44, -1, -1, -1, -1, -1, -1, 267, 268, 269,
1132 270, -1, -1, -1, 58, 59, 276, 61, -1, 63,
1133 280, 281, 282, 283, 123, -1, -1, -1, -1, -1,
1134 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
1135 41, -1, 302, 44, -1, 305, 306, 307, -1, 93,
1136 -1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
1137 61, -1, 63, -1, -1, -1, -1, -1, -1, -1,
1138 -1, -1, -1, 267, 268, 269, 270, -1, -1, 123,
1139 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
1140 91, -1, 93, -1, -1, -1, 290, 291, 58, 59,
8990e307 1141 -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
85e6fe83 1142 -1, 305, 306, 307, -1, -1, -1, -1, -1, -1,
1143 -1, -1, 123, 41, -1, -1, 44, -1, -1, -1,
1144 -1, 91, -1, 93, -1, -1, -1, -1, -1, -1,
1145 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
8990e307 1146 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1147 -1, -1, -1, 123, -1, -1, -1, -1, 267, 268,
1148 269, 270, -1, -1, -1, 93, -1, 276, -1, -1,
1149 -1, 280, 281, 282, 283, -1, -1, -1, -1, -1,
1150 -1, 290, 291, -1, 293, 294, 295, 296, -1, 298,
1151 299, -1, -1, 302, -1, -1, 305, 306, 307, -1,
1152 -1, -1, -1, 41, -1, -1, 44, -1, -1, -1,
1153 -1, -1, -1, 267, 268, 269, 270, -1, -1, -1,
1154 58, 59, 276, 61, -1, 63, 280, 281, 282, 283,
1155 -1, -1, -1, -1, -1, -1, 290, 291, -1, 293,
1156 294, 295, 296, -1, 298, 299, -1, -1, 302, -1,
1157 -1, 305, 306, 307, -1, 93, 267, 268, 269, 270,
1158 -1, -1, -1, -1, -1, 276, -1, -1, -1, 280,
1159 281, 282, 283, -1, -1, -1, -1, -1, -1, 290,
1160 291, -1, 293, 294, 295, 296, -1, 298, 299, -1,
1161 -1, -1, -1, -1, 305, 306, 307, 267, 268, 269,
1162 270, -1, -1, -1, -1, -1, 276, -1, -1, -1,
1163 280, 281, 282, 283, -1, -1, -1, -1, -1, -1,
1164 290, 291, -1, 293, 294, 295, 296, -1, 298, 299,
1165 -1, -1, -1, -1, -1, 305, 306, 307, -1, 267,
1166 268, 269, 270, -1, -1, -1, -1, -1, 276, -1,
1167 -1, -1, 280, 281, 282, 283, -1, -1, -1, -1,
1168 -1, -1, 290, 291, -1, 293, 294, 295, 296, 41,
1169 298, 299, 44, -1, 302, -1, -1, 305, 306, 307,
8990e307 1170 -1, -1, -1, -1, -1, -1, 58, 59, -1, 61,
1171 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
93a17b20 1172 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1173 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1174 -1, 93, 44, -1, -1, -1, -1, -1, -1, 267,
1175 268, 269, 270, -1, -1, -1, 58, 59, 276, 61,
1176 -1, 63, 280, 281, 282, 283, -1, -1, -1, -1,
1177 -1, -1, 290, 291, -1, 293, 294, 295, 296, -1,
1178 298, 299, 41, -1, 302, 44, -1, 305, 306, 307,
1179 -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
8990e307 1180 59, -1, 61, -1, 63, -1, -1, -1, -1, -1,
1181 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1182 -1, -1, -1, 41, -1, -1, 44, -1, -1, -1,
1183 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
1184 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1185 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1186 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1187 -1, -1, 44, 91, -1, 93, -1, -1, -1, -1,
8990e307 1188 -1, -1, -1, -1, -1, -1, 58, 59, -1, 61,
1189 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1190 -1, -1, -1, -1, -1, 123, -1, -1, -1, -1,
1191 -1, -1, -1, -1, -1, 267, 268, 269, 270, 91,
1192 -1, 93, -1, -1, 276, -1, -1, -1, 280, 281,
1193 282, 283, -1, -1, -1, -1, -1, -1, 290, 291,
1194 -1, 293, 294, 295, 296, -1, 298, 299, -1, -1,
1195 302, 123, -1, 305, 306, 307, -1, -1, -1, -1,
1196 -1, -1, -1, -1, -1, 267, 268, 269, 270, -1,
1197 -1, -1, -1, -1, 276, -1, -1, -1, 280, 281,
1198 282, 283, -1, -1, -1, -1, -1, -1, 290, 291,
1199 -1, 293, 294, 295, 296, -1, 298, 299, -1, -1,
1200 302, -1, -1, 305, 306, 307, -1, -1, 267, 268,
1201 269, 270, -1, -1, -1, -1, -1, 276, -1, -1,
1202 -1, 280, 281, 282, 283, -1, -1, -1, -1, -1,
1203 -1, 290, 291, -1, 293, 294, 295, 296, -1, 298,
1204 299, -1, -1, 302, -1, -1, 305, 306, 307, 267,
1205 268, 269, 270, -1, -1, -1, -1, -1, 276, -1,
1206 -1, -1, 280, 281, 282, 283, -1, -1, -1, -1,
1207 -1, -1, 290, 291, -1, 293, 294, 295, 296, -1,
1208 298, -1, -1, -1, -1, -1, -1, 305, 306, 307,
1209 -1, -1, -1, -1, -1, 267, 268, 269, 270, -1,
1210 -1, -1, -1, -1, 276, -1, -1, -1, 280, 281,
1211 41, 283, -1, 44, -1, -1, -1, -1, 290, 291,
1212 -1, 293, 294, 295, 296, -1, 298, 58, 59, -1,
1213 61, -1, 63, 305, 306, 307, -1, -1, -1, -1,
463ee0b2 1214 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8990e307 1215 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
85e6fe83 1216 91, -1, 93, -1, -1, -1, -1, -1, 58, 59,
1217 -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
1218 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1219 -1, -1, 123, 41, -1, -1, 44, -1, -1, -1,
1220 -1, 91, -1, 93, -1, -1, -1, -1, -1, -1,
1221 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1222 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1223 -1, -1, -1, 123, 41, -1, -1, 44, -1, -1,
1224 -1, -1, -1, 91, -1, 93, -1, -1, -1, -1,
463ee0b2 1225 -1, 58, 59, -1, 61, -1, 63, -1, -1, -1,
1226 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1227 -1, -1, -1, -1, -1, 123, 41, -1, -1, 44,
8990e307 1228 -1, -1, -1, -1, 91, -1, 93, -1, -1, -1,
85e6fe83 1229 -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
463ee0b2 1230 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1231 -1, -1, -1, -1, -1, -1, 123, -1, -1, -1,
1232 -1, -1, -1, -1, -1, -1, 91, -1, 93, -1,
1233 -1, -1, -1, -1, -1, -1, 267, 268, 269, 270,
1234 -1, -1, -1, -1, -1, 276, -1, -1, -1, 280,
1235 281, -1, -1, -1, -1, -1, -1, -1, 123, 290,
1236 291, -1, 293, 294, 295, 296, -1, 298, -1, -1,
1237 -1, -1, -1, -1, 305, 306, 307, 267, 268, 269,
1238 270, -1, -1, -1, -1, -1, 276, -1, -1, -1,
1239 280, 281, -1, -1, -1, -1, -1, -1, -1, -1,
1240 290, 291, -1, 293, 294, 295, 296, -1, -1, -1,
1241 -1, -1, -1, -1, -1, 305, 306, 307, -1, 267,
1242 268, 269, 270, -1, -1, -1, -1, -1, 276, -1,
1243 -1, -1, -1, 281, -1, -1, -1, -1, -1, -1,
1244 -1, -1, 290, 291, -1, 293, 294, 295, 296, -1,
1245 -1, -1, -1, -1, -1, -1, -1, 305, 306, 307,
1246 267, 268, 269, 270, 41, -1, -1, 44, -1, 276,
463ee0b2 1247 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1248 -1, 58, 59, 290, 291, -1, 293, 294, 295, 296,
1249 -1, -1, -1, -1, -1, -1, -1, -1, 305, 306,
1250 307, -1, 267, 268, 269, 270, -1, -1, -1, -1,
1251 -1, 276, -1, -1, 91, 41, 93, -1, 44, -1,
1252 -1, -1, -1, -1, -1, 290, 291, -1, 293, 294,
1253 295, 296, 58, 59, -1, 61, -1, 63, -1, -1,
1254 305, 306, 307, -1, -1, -1, 123, -1, -1, -1,
1255 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1256 -1, -1, -1, -1, -1, 91, 41, 93, -1, 44,
8990e307 1257 -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
85e6fe83 1258 -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
1259 -1, -1, -1, -1, -1, -1, -1, 123, -1, -1,
1260 -1, -1, -1, -1, -1, -1, 91, 41, 93, -1,
1261 44, -1, -1, -1, 41, -1, 91, 44, 93, 41,
1262 -1, -1, 44, -1, 58, 59, -1, 61, -1, 63,
1263 -1, 58, 59, -1, 61, -1, 58, 59, 123, -1,
8990e307 1264 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
85e6fe83 1265 -1, -1, -1, -1, -1, -1, -1, 91, -1, 93,
1266 -1, -1, -1, -1, 91, 41, 93, -1, 44, 91,
1267 41, 93, -1, 44, -1, -1, -1, -1, -1, -1,
1268 -1, -1, 58, 59, -1, -1, -1, 58, 59, 123,
1269 267, 268, 269, 270, -1, -1, 123, -1, -1, -1,
1270 -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
1271 -1, -1, -1, 290, 291, 91, -1, 93, -1, -1,
1272 91, 41, 93, -1, 44, -1, -1, -1, 305, 306,
1273 307, -1, -1, -1, -1, -1, -1, -1, 58, 59,
1274 -1, 267, 268, 269, 270, -1, -1, 123, -1, -1,
1275 276, -1, 123, -1, -1, -1, -1, -1, -1, -1,
1276 -1, -1, -1, -1, 290, 291, -1, 293, 294, 295,
1277 -1, 91, -1, 93, -1, -1, -1, -1, -1, 305,
1278 306, 307, 267, 268, 269, 270, -1, -1, -1, -1,
1279 -1, 276, 267, 268, 269, 270, -1, -1, -1, -1,
1280 -1, 276, -1, 123, -1, 290, 291, 41, 293, 294,
1281 44, -1, -1, -1, -1, 290, 291, -1, 293, -1,
1282 305, 306, 307, -1, 58, 59, -1, 61, -1, 63,
1283 305, 306, 307, 267, 268, 269, 270, -1, -1, -1,
1284 267, 268, 269, 270, -1, 267, 268, 269, 270, -1,
1285 -1, -1, -1, -1, -1, -1, 290, 291, 41, 93,
1286 -1, 44, -1, 290, 291, -1, -1, -1, 290, 291,
1287 -1, 305, 306, 307, -1, 58, 59, -1, 305, 306,
1288 307, -1, -1, 305, 306, 307, -1, 41, -1, -1,
1289 44, 267, 268, 269, 270, -1, 267, 268, 269, 270,
1290 -1, -1, -1, -1, 58, 59, 41, -1, 91, 44,
1291 93, -1, -1, -1, 290, 291, -1, -1, -1, 290,
1292 291, -1, -1, 58, 59, -1, -1, -1, -1, 305,
1293 306, 307, -1, -1, 305, 306, 307, 91, -1, 93,
1294 123, -1, -1, -1, -1, -1, -1, 267, 268, 269,
1295 270, -1, -1, -1, -1, -1, 91, 41, 93, -1,
1296 44, -1, -1, -1, -1, -1, -1, -1, -1, 123,
1297 290, 291, -1, -1, 58, 59, 41, -1, -1, 44,
1298 -1, -1, -1, -1, -1, 305, 306, 307, 123, -1,
1299 -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
1300 -1, -1, -1, -1, -1, -1, -1, 91, -1, 93,
463ee0b2 1301 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1302 -1, -1, -1, 41, -1, -1, 44, -1, 93, -1,
1303 -1, -1, -1, 267, 268, 269, 270, -1, -1, 123,
1304 58, 59, 276, 61, -1, 63, 280, 281, 282, 283,
1305 -1, -1, -1, -1, -1, -1, 290, 291, -1, 293,
1306 294, 295, 296, -1, 298, 299, -1, -1, 302, -1,
1307 -1, 305, 306, 41, -1, 93, 44, -1, -1, -1,
1308 -1, -1, -1, -1, 267, 268, 269, 270, -1, -1,
8990e307 1309 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
85e6fe83 1310 -1, -1, -1, -1, -1, -1, -1, 290, 291, 41,
1311 -1, -1, 44, 267, 268, 269, 270, -1, -1, -1,
1312 -1, -1, 305, 306, 307, 93, 58, 59, -1, 61,
1313 -1, 63, 267, 268, 269, 270, 290, 291, -1, -1,
463ee0b2 1314 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
85e6fe83 1315 -1, 305, 306, 307, -1, 290, 291, -1, -1, -1,
8990e307 1316 -1, 93, 58, 59, -1, 61, -1, 63, -1, -1,
85e6fe83 1317 305, 306, 307, -1, -1, -1, -1, -1, -1, -1,
1318 -1, -1, -1, 267, 268, 269, 270, -1, -1, -1,
1319 -1, -1, 41, -1, -1, 44, -1, 93, -1, -1,
1320 -1, -1, 267, 268, 269, 270, 290, 291, -1, 58,
1321 59, 276, 61, -1, 63, 280, 281, 282, 283, -1,
1322 -1, 305, 306, 307, -1, 290, 291, -1, 293, 294,
1323 295, 296, -1, 298, 299, -1, -1, 302, -1, 41,
1324 -1, -1, 44, -1, 93, -1, -1, -1, -1, 267,
1325 268, 269, 270, -1, -1, -1, 58, 59, 276, 61,
1326 -1, 63, 280, 281, 282, 283, -1, -1, -1, -1,
1327 -1, -1, 290, 291, -1, 293, 294, 295, 296, -1,
1328 298, 299, -1, -1, 302, -1, -1, 41, -1, -1,
1329 44, 93, -1, -1, -1, -1, -1, -1, -1, 267,
1330 268, 269, 270, -1, 58, 59, -1, 61, 276, 63,
1331 -1, -1, 280, 281, 282, 283, -1, -1, -1, -1,
1332 -1, -1, 290, 291, -1, 293, 294, 295, 296, -1,
1333 298, 299, -1, -1, 302, 267, 268, 269, 270, 93,
1334 -1, -1, -1, -1, 276, -1, -1, -1, 280, 281,
1335 282, 283, -1, -1, -1, -1, -1, -1, 290, 291,
1336 -1, 293, 294, 295, 296, -1, 298, 299, -1, -1,
1337 302, 267, 268, 269, 270, -1, -1, -1, -1, -1,
1338 276, -1, -1, -1, 280, 281, 282, 283, -1, -1,
1339 -1, -1, -1, -1, 290, 291, -1, 293, 294, 295,
1340 296, -1, 298, 299, -1, -1, 302, -1, -1, -1,
1341 -1, -1, -1, -1, -1, -1, -1, -1, 267, 268,
1342 269, 270, -1, -1, -1, -1, -1, 276, -1, -1,
1343 -1, 280, 281, 282, 283, -1, -1, -1, -1, -1,
1344 -1, 290, 291, -1, 293, 294, 295, 296, -1, 298,
1345 299, 35, -1, 302, -1, -1, 40, 41, -1, -1,
1346 -1, -1, 46, -1, -1, 267, 268, 269, 270, -1,
1347 -1, -1, -1, -1, 276, -1, -1, -1, 280, 281,
1348 282, 283, -1, -1, -1, -1, -1, -1, 290, 291,
1349 -1, 293, 294, 295, 296, -1, 298, 299, -1, -1,
1350 302, -1, -1, 87, -1, -1, -1, -1, -1, -1,
1351 -1, -1, -1, 267, 268, 269, 270, -1, -1, -1,
1352 -1, -1, 276, -1, -1, -1, 280, 281, 282, 283,
1353 -1, -1, -1, -1, -1, -1, 290, 291, -1, 293,
1354 294, 295, 296, -1, 298, 299, -1, -1, 302, -1,
1355 -1, -1, -1, -1, -1, -1, 140, 141, 142, 143,
1356 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1357 154, 155, 156, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1358 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1359 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
463ee0b2 1360 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1361 -1, -1, 196, -1, -1, -1, -1, -1, -1, -1,
1362 204, -1, 206, -1, -1, -1, -1, -1, -1, -1,
1363 -1, -1, -1, -1, 218, -1, 220, -1, -1, -1,
1364 -1, -1, 226, -1, 228, -1, 230, -1, 232, -1,
1365 234, -1, -1, 237, -1, -1, -1, -1, -1, -1,
463ee0b2 1366 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1367 254, -1, -1, -1, -1, -1, -1, -1, -1, -1,
93a17b20 1368 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1369 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
85e6fe83 1370 -1, -1, 286,
93a17b20 1371};
1372#define YYFINAL 1
79072805 1373#ifndef YYDEBUG
93a17b20 1374#define YYDEBUG 0
79072805 1375#endif
85e6fe83 1376#define YYMAXTOKEN 307
79072805 1377#if YYDEBUG
93a17b20 1378char *yyname[] = {
1379"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,
1380"'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
13810,0,0,0,0,"':'","';'",0,"'='",0,"'?'","'@'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
13820,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,
13830,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,
13840,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,
13850,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,
13860,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"WORD","METHOD","THING",
85e6fe83 1387"PMFUNC","PRIVATEREF","LABEL","FORMAT","SUB","PACKAGE","HINT","WHILE","UNTIL",
1388"IF","UNLESS","ELSE","ELSIF","CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1",
93a17b20 1389"FUNC","RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","LOCAL","DELETE",
463ee0b2 1390"HASHBRACK","NOAMP","OROP","ANDOP","LSTOP","OROR","ANDAND","BITOROP","BITANDOP",
8990e307 1391"UNIOP","SHIFTOP","MATCHOP","UMINUS","REFGEN","POWOP","PREINC","PREDEC",
1392"POSTINC","POSTDEC","ARROW",
79072805 1393};
93a17b20 1394char *yyrule[] = {
1395"$accept : prog",
1396"$$1 :",
1397"prog : $$1 lineseq",
1398"block : '{' remember lineseq '}'",
1399"remember :",
1400"lineseq :",
1401"lineseq : lineseq decl",
1402"lineseq : lineseq line",
1403"line : label cond",
1404"line : loop",
1405"line : label ';'",
1406"line : label sideff ';'",
1407"sideff : error",
1408"sideff : expr",
1409"sideff : expr IF expr",
1410"sideff : expr UNLESS expr",
1411"sideff : expr WHILE expr",
1412"sideff : expr UNTIL expr",
1413"else :",
1414"else : ELSE block",
1415"else : ELSIF '(' expr ')' block else",
1416"cond : IF '(' expr ')' block else",
1417"cond : UNLESS '(' expr ')' block else",
1418"cond : IF block block else",
1419"cond : UNLESS block block else",
1420"cont :",
1421"cont : CONTINUE block",
1422"loop : label WHILE '(' texpr ')' block cont",
1423"loop : label UNTIL '(' expr ')' block cont",
1424"loop : label WHILE block block cont",
1425"loop : label UNTIL block block cont",
1426"loop : label FOR scalar '(' expr crp block cont",
1427"loop : label FOR '(' expr crp block cont",
1428"loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
1429"loop : label block cont",
1430"nexpr :",
1431"nexpr : sideff",
1432"texpr :",
1433"texpr : expr",
1434"label :",
1435"label : LABEL",
1436"decl : format",
1437"decl : subrout",
1438"decl : package",
85e6fe83 1439"decl : hint",
93a17b20 1440"format : FORMAT WORD block",
1441"format : FORMAT block",
1442"subrout : SUB WORD block",
1443"subrout : SUB WORD ';'",
1444"package : PACKAGE WORD ';'",
1445"package : PACKAGE ';'",
85e6fe83 1446"hint : HINT WORD ';'",
1447"hint : HINT WORD expr ';'",
93a17b20 1448"expr : expr ',' sexpr",
1449"expr : sexpr",
1450"listop : LSTOP indirob listexpr",
1451"listop : FUNC '(' indirob listexpr ')'",
1452"listop : indirob ARROW LSTOP listexpr",
1453"listop : indirob ARROW FUNC '(' listexpr ')'",
1454"listop : term ARROW METHOD '(' listexpr ')'",
1455"listop : METHOD indirob listexpr",
1456"listop : LSTOP listexpr",
1457"listop : FUNC '(' listexpr ')'",
1458"sexpr : sexpr '=' sexpr",
1459"sexpr : sexpr POWOP '=' sexpr",
1460"sexpr : sexpr MULOP '=' sexpr",
1461"sexpr : sexpr ADDOP '=' sexpr",
1462"sexpr : sexpr SHIFTOP '=' sexpr",
1463"sexpr : sexpr BITANDOP '=' sexpr",
1464"sexpr : sexpr BITOROP '=' sexpr",
1465"sexpr : sexpr ANDAND '=' sexpr",
1466"sexpr : sexpr OROR '=' sexpr",
1467"sexpr : sexpr POWOP sexpr",
1468"sexpr : sexpr MULOP sexpr",
1469"sexpr : sexpr ADDOP sexpr",
1470"sexpr : sexpr SHIFTOP sexpr",
1471"sexpr : sexpr RELOP sexpr",
1472"sexpr : sexpr EQOP sexpr",
1473"sexpr : sexpr BITANDOP sexpr",
1474"sexpr : sexpr BITOROP sexpr",
1475"sexpr : sexpr DOTDOT sexpr",
1476"sexpr : sexpr ANDAND sexpr",
1477"sexpr : sexpr OROR sexpr",
463ee0b2 1478"sexpr : sexpr ANDOP sexpr",
1479"sexpr : sexpr OROP sexpr",
93a17b20 1480"sexpr : sexpr '?' sexpr ':' sexpr",
1481"sexpr : sexpr MATCHOP sexpr",
1482"sexpr : term",
1483"term : '-' term",
1484"term : '+' term",
1485"term : '!' term",
1486"term : '~' term",
1487"term : REFGEN term",
1488"term : term POSTINC",
1489"term : term POSTDEC",
1490"term : PREINC term",
1491"term : PREDEC term",
1492"term : LOCAL sexpr",
1493"term : '(' expr crp",
1494"term : '(' ')'",
1495"term : '[' expr crb",
1496"term : '[' ']'",
1497"term : HASHBRACK expr crhb",
1498"term : HASHBRACK ';' '}'",
1499"term : scalar",
1500"term : star",
1501"term : scalar '[' expr ']'",
1502"term : term ARROW '[' expr ']'",
463ee0b2 1503"term : term '[' expr ']'",
93a17b20 1504"term : hsh",
1505"term : ary",
1506"term : arylen",
1507"term : scalar '{' expr ';' '}'",
1508"term : term ARROW '{' expr ';' '}'",
463ee0b2 1509"term : term '{' expr ';' '}'",
93a17b20 1510"term : '(' expr crp '[' expr ']'",
1511"term : '(' ')' '[' expr ']'",
1512"term : ary '[' expr ']'",
1513"term : ary '{' expr ';' '}'",
1514"term : DELETE scalar '{' expr ';' '}'",
1515"term : DELETE '(' scalar '{' expr ';' '}' ')'",
1516"term : THING",
1517"term : amper",
1518"term : amper '(' ')'",
1519"term : amper '(' expr crp",
1520"term : NOAMP WORD listexpr",
463ee0b2 1521"term : NOAMP WORD indirob listexpr",
93a17b20 1522"term : DO sexpr",
1523"term : DO block",
1524"term : DO WORD '(' ')'",
1525"term : DO WORD '(' expr crp",
1526"term : DO scalar '(' ')'",
1527"term : DO scalar '(' expr crp",
1528"term : LOOPEX",
8990e307 1529"term : LOOPEX sexpr",
93a17b20 1530"term : UNIOP",
1531"term : UNIOP block",
1532"term : UNIOP sexpr",
1533"term : FUNC0",
1534"term : FUNC0 '(' ')'",
1535"term : FUNC1 '(' ')'",
1536"term : FUNC1 '(' expr ')'",
1537"term : PMFUNC '(' sexpr ')'",
1538"term : PMFUNC '(' sexpr ',' sexpr ')'",
1539"term : WORD",
1540"term : listop",
1541"listexpr :",
1542"listexpr : expr",
1543"amper : '&' indirob",
1544"scalar : '$' indirob",
1545"ary : '@' indirob",
1546"hsh : '%' indirob",
1547"arylen : DOLSHARP indirob",
1548"star : '*' indirob",
1549"indirob : WORD",
1550"indirob : scalar",
1551"indirob : block",
1552"indirob : PRIVATEREF",
1553"crp : ',' ')'",
1554"crp : ')'",
1555"crb : ',' ']'",
1556"crb : ']'",
1557"crhb : ',' ';' '}'",
1558"crhb : ';' '}'",
79072805 1559};
79072805 1560#endif
93a17b20 1561#define yyclearin (yychar=(-1))
1562#define yyerrok (yyerrflag=0)
1563#ifdef YYSTACKSIZE
1564#ifndef YYMAXDEPTH
1565#define YYMAXDEPTH YYSTACKSIZE
1566#endif
1567#else
1568#ifdef YYMAXDEPTH
1569#define YYSTACKSIZE YYMAXDEPTH
1570#else
1571#define YYSTACKSIZE 500
1572#define YYMAXDEPTH 500
1573#endif
1574#endif
1575int yydebug;
1576int yynerrs;
1577int yyerrflag;
1578int yychar;
1579YYSTYPE yyval;
1580YYSTYPE yylval;
85e6fe83 1581#line 621 "perly.y"
93a17b20 1582 /* PROGRAM */
85e6fe83 1583#line 1589 "y.tab.c"
93a17b20 1584#define YYABORT goto yyabort
1585#define YYACCEPT goto yyaccept
1586#define YYERROR goto yyerrlab
79072805 1587int
1588yyparse()
1589{
93a17b20 1590 register int yym, yyn, yystate;
1591 register short *yyssp;
1592 register YYSTYPE *yyvsp;
1593 short* yyss;
1594 YYSTYPE* yyvs;
1595 unsigned yystacksize = YYSTACKSIZE;
1596 int oldyydebug = yydebug;
1597 int oldyynerrs = yynerrs;
1598 int oldyyerrflag = yyerrflag;
1599 int oldyychar = yychar;
1600 YYSTYPE oldyyval = yyval;
1601 YYSTYPE oldyylval = yylval;
1602 int retval = 0;
79072805 1603
93a17b20 1604#if YYDEBUG
1605 register char *yys;
1606 extern char *getenv();
79072805 1607
93a17b20 1608 if (yys = getenv("YYDEBUG"))
1609 {
1610 yyn = *yys;
1611 if (yyn >= '0' && yyn <= '9')
1612 yydebug = yyn - '0';
1613 }
1614#endif
79072805 1615
93a17b20 1616 yynerrs = 0;
1617 yyerrflag = 0;
1618 yychar = (-1);
79072805 1619
93a17b20 1620 /*
1621 ** Initialize private stacks (yyparse may be called from an action)
1622 */
1623 yyss = (short*)malloc(yystacksize*sizeof(short));
1624 yyvs = (YYSTYPE*)malloc(yystacksize*sizeof(YYSTYPE));
1625 if (!yyvs || !yyss)
1626 goto yyoverflow;
79072805 1627
93a17b20 1628 yyssp = yyss;
1629 yyvsp = yyvs;
1630 *yyssp = yystate = 0;
79072805 1631
93a17b20 1632yyloop:
1633 if (yyn = yydefred[yystate]) goto yyreduce;
1634 if (yychar < 0)
1635 {
1636 if ((yychar = yylex()) < 0) yychar = 0;
79072805 1637#if YYDEBUG
93a17b20 1638 if (yydebug)
1639 {
1640 yys = 0;
1641 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1642 if (!yys) yys = "illegal-symbol";
ed6116ce 1643 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate,
93a17b20 1644 yychar, yys);
1645 }
79072805 1646#endif
93a17b20 1647 }
1648 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1649 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1650 {
79072805 1651#if YYDEBUG
93a17b20 1652 if (yydebug)
ed6116ce 1653 fprintf(stderr, "yydebug: state %d, shifting to state %d\n",
93a17b20 1654 yystate, yytable[yyn]);
79072805 1655#endif
93a17b20 1656 if (yyssp >= yyss + yystacksize - 1)
1657 {
1658 /*
1659 ** reallocate and recover. Note that pointers
1660 ** have to be reset, or bad things will happen
1661 */
1662 int yyps_index = (yyssp - yyss);
1663 int yypv_index = (yyvsp - yyvs);
1664 yystacksize += YYSTACKSIZE;
1665 yyvs = (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1666 yyss = (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1667 if (!yyvs || !yyss)
1668 goto yyoverflow;
1669 yyssp = yyss + yyps_index;
1670 yyvsp = yyvs + yypv_index;
1671 }
1672 *++yyssp = yystate = yytable[yyn];
1673 *++yyvsp = yylval;
1674 yychar = (-1);
1675 if (yyerrflag > 0) --yyerrflag;
1676 goto yyloop;
1677 }
1678 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1679 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1680 {
1681 yyn = yytable[yyn];
1682 goto yyreduce;
1683 }
1684 if (yyerrflag) goto yyinrecovery;
1685#ifdef lint
1686 goto yynewerror;
1687#endif
1688yynewerror:
1689 yyerror("syntax error");
1690#ifdef lint
1691 goto yyerrlab;
1692#endif
1693yyerrlab:
1694 ++yynerrs;
1695yyinrecovery:
1696 if (yyerrflag < 3)
1697 {
1698 yyerrflag = 3;
1699 for (;;)
1700 {
1701 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1702 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1703 {
79072805 1704#if YYDEBUG
93a17b20 1705 if (yydebug)
ed6116ce 1706 fprintf(stderr,
1707 "yydebug: state %d, error recovery shifting to state %d\n",
1708 *yyssp, yytable[yyn]);
93a17b20 1709#endif
1710 if (yyssp >= yyss + yystacksize - 1)
1711 {
1712 /*
1713 ** reallocate and recover. Note that pointers
1714 ** have to be reset, or bad things will happen
1715 */
1716 int yyps_index = (yyssp - yyss);
1717 int yypv_index = (yyvsp - yyvs);
1718 yystacksize += YYSTACKSIZE;
1719 yyvs = (YYSTYPE*)realloc((char*)yyvs,
1720 yystacksize * sizeof(YYSTYPE));
1721 yyss = (short*)realloc((char*)yyss,
1722 yystacksize * sizeof(short));
1723 if (!yyvs || !yyss)
1724 goto yyoverflow;
1725 yyssp = yyss + yyps_index;
1726 yyvsp = yyvs + yypv_index;
1727 }
1728 *++yyssp = yystate = yytable[yyn];
1729 *++yyvsp = yylval;
1730 goto yyloop;
1731 }
1732 else
1733 {
79072805 1734#if YYDEBUG
93a17b20 1735 if (yydebug)
ed6116ce 1736 fprintf(stderr,
1737 "yydebug: error recovery discarding state %d\n",
1738 *yyssp);
79072805 1739#endif
93a17b20 1740 if (yyssp <= yyss) goto yyabort;
1741 --yyssp;
1742 --yyvsp;
1743 }
1744 }
1745 }
1746 else
1747 {
1748 if (yychar == 0) goto yyabort;
79072805 1749#if YYDEBUG
93a17b20 1750 if (yydebug)
1751 {
1752 yys = 0;
1753 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1754 if (!yys) yys = "illegal-symbol";
ed6116ce 1755 fprintf(stderr,
1756 "yydebug: state %d, error recovery discards token %d (%s)\n",
1757 yystate, yychar, yys);
93a17b20 1758 }
1759#endif
1760 yychar = (-1);
1761 goto yyloop;
1762 }
1763yyreduce:
79072805 1764#if YYDEBUG
93a17b20 1765 if (yydebug)
ed6116ce 1766 fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n",
93a17b20 1767 yystate, yyn, yyrule[yyn]);
79072805 1768#endif
93a17b20 1769 yym = yylen[yyn];
1770 yyval = yyvsp[1-yym];
1771 switch (yyn)
1772 {
79072805 1773case 1:
8990e307 1774#line 103 "perly.y"
79072805 1775{
1776#if defined(YYDEBUG) && defined(DEBUGGING)
1777 yydebug = (debug & 1);
1778#endif
8990e307 1779 expect = XSTATE;
93a17b20 1780 }
1781break;
79072805 1782case 2:
8990e307 1783#line 110 "perly.y"
79072805 1784{ if (in_eval) {
93a17b20 1785 eval_root = newUNOP(OP_LEAVEEVAL, 0, yyvsp[0].opval);
79072805 1786 eval_start = linklist(eval_root);
1787 eval_root->op_next = 0;
1788 peep(eval_start);
1789 }
1790 else
93a17b20 1791 main_root = block_head(yyvsp[0].opval, &main_start);
1792 }
1793break;
79072805 1794case 3:
8990e307 1795#line 122 "perly.y"
85e6fe83 1796{ int needblockscope = hints & HINT_BLOCK_SCOPE;
463ee0b2 1797 yyval.opval = scalarseq(yyvsp[-1].opval);
1798 if (copline > (line_t)yyvsp[-3].ival)
1799 copline = yyvsp[-3].ival;
8990e307 1800 LEAVE_SCOPE(yyvsp[-2].ival);
85e6fe83 1801 if (needblockscope)
1802 hints |= HINT_BLOCK_SCOPE; /* propagate out */
8990e307 1803 pad_leavemy(comppad_name_fill); }
93a17b20 1804break;
79072805 1805case 4:
8990e307 1806#line 133 "perly.y"
463ee0b2 1807{ yyval.ival = savestack_ix;
8990e307 1808 comppad_name_fill = AvFILL(comppad_name);
1809 SAVEINT(min_intro_pending);
1810 SAVEINT(max_intro_pending);
1811 min_intro_pending = 0;
1812 SAVEINT(comppad_name_fill);
85e6fe83 1813 SAVEINT(hints);
1814 hints &= ~HINT_BLOCK_SCOPE; }
93a17b20 1815break;
79072805 1816case 5:
8990e307 1817#line 144 "perly.y"
93a17b20 1818{ yyval.opval = Nullop; }
1819break;
79072805 1820case 6:
8990e307 1821#line 146 "perly.y"
93a17b20 1822{ yyval.opval = yyvsp[-1].opval; }
1823break;
79072805 1824case 7:
8990e307 1825#line 148 "perly.y"
463ee0b2 1826{ yyval.opval = append_list(OP_LINESEQ,
1827 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval); pad_reset();
85e6fe83 1828 if (yyvsp[-1].opval && yyvsp[0].opval) hints |= HINT_BLOCK_SCOPE; }
93a17b20 1829break;
79072805 1830case 8:
8990e307 1831#line 154 "perly.y"
93a17b20 1832{ yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1833break;
79072805 1834case 10:
8990e307 1835#line 157 "perly.y"
93a17b20 1836{ if (yyvsp[-1].pval != Nullch) {
1837 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
79072805 1838 }
1839 else {
1840 yyval.opval = Nullop;
1841 copline = NOLINE;
1842 }
8990e307 1843 expect = XSTATE; }
93a17b20 1844break;
79072805 1845case 11:
8990e307 1846#line 166 "perly.y"
93a17b20 1847{ yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
8990e307 1848 expect = XSTATE; }
93a17b20 1849break;
79072805 1850case 12:
8990e307 1851#line 171 "perly.y"
93a17b20 1852{ yyval.opval = Nullop; }
1853break;
79072805 1854case 13:
8990e307 1855#line 173 "perly.y"
93a17b20 1856{ yyval.opval = yyvsp[0].opval; }
1857break;
79072805 1858case 14:
8990e307 1859#line 175 "perly.y"
93a17b20 1860{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1861break;
79072805 1862case 15:
8990e307 1863#line 177 "perly.y"
93a17b20 1864{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1865break;
79072805 1866case 16:
8990e307 1867#line 179 "perly.y"
1868{ yyval.opval = newLOOPOP(OPf_PARENS, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
93a17b20 1869break;
79072805 1870case 17:
8990e307 1871#line 181 "perly.y"
1872{ yyval.opval = newLOOPOP(OPf_PARENS, 1, invert(scalar(yyvsp[0].opval)), yyvsp[-2].opval);}
93a17b20 1873break;
79072805 1874case 18:
8990e307 1875#line 185 "perly.y"
93a17b20 1876{ yyval.opval = Nullop; }
1877break;
79072805 1878case 19:
8990e307 1879#line 187 "perly.y"
93a17b20 1880{ yyval.opval = scope(yyvsp[0].opval); }
1881break;
79072805 1882case 20:
8990e307 1883#line 189 "perly.y"
93a17b20 1884{ copline = yyvsp[-5].ival;
85e6fe83 1885 yyval.opval = newSTATEOP(0, 0,
1886 newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval)); }
93a17b20 1887break;
79072805 1888case 21:
85e6fe83 1889#line 195 "perly.y"
93a17b20 1890{ copline = yyvsp[-5].ival;
1891 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1892break;
79072805 1893case 22:
85e6fe83 1894#line 198 "perly.y"
93a17b20 1895{ copline = yyvsp[-5].ival;
79072805 1896 yyval.opval = newCONDOP(0,
93a17b20 1897 invert(scalar(yyvsp[-3].opval)), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1898break;
79072805 1899case 23:
85e6fe83 1900#line 202 "perly.y"
93a17b20 1901{ copline = yyvsp[-3].ival;
1902 yyval.opval = newCONDOP(0, scope(yyvsp[-2].opval), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1903break;
79072805 1904case 24:
85e6fe83 1905#line 205 "perly.y"
93a17b20 1906{ copline = yyvsp[-3].ival;
1907 yyval.opval = newCONDOP(0, invert(scalar(scope(yyvsp[-2].opval))),
1908 scope(yyvsp[-1].opval), yyvsp[0].opval); }
1909break;
79072805 1910case 25:
85e6fe83 1911#line 211 "perly.y"
93a17b20 1912{ yyval.opval = Nullop; }
1913break;
79072805 1914case 26:
85e6fe83 1915#line 213 "perly.y"
93a17b20 1916{ yyval.opval = scope(yyvsp[0].opval); }
1917break;
79072805 1918case 27:
85e6fe83 1919#line 217 "perly.y"
93a17b20 1920{ copline = yyvsp[-5].ival;
1921 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
463ee0b2 1922 newWHILEOP(0, 1, (LOOP*)Nullop,
1923 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval) ); }
93a17b20 1924break;
79072805 1925case 28:
85e6fe83 1926#line 222 "perly.y"
93a17b20 1927{ copline = yyvsp[-5].ival;
1928 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
463ee0b2 1929 newWHILEOP(0, 1, (LOOP*)Nullop,
93a17b20 1930 invert(scalar(yyvsp[-3].opval)), yyvsp[-1].opval, yyvsp[0].opval) ); }
1931break;
79072805 1932case 29:
85e6fe83 1933#line 227 "perly.y"
93a17b20 1934{ copline = yyvsp[-3].ival;
1935 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
463ee0b2 1936 newWHILEOP(0, 1, (LOOP*)Nullop,
93a17b20 1937 scope(yyvsp[-2].opval), yyvsp[-1].opval, yyvsp[0].opval) ); }
1938break;
79072805 1939case 30:
85e6fe83 1940#line 232 "perly.y"
93a17b20 1941{ copline = yyvsp[-3].ival;
1942 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
463ee0b2 1943 newWHILEOP(0, 1, (LOOP*)Nullop,
93a17b20 1944 invert(scalar(scope(yyvsp[-2].opval))), yyvsp[-1].opval, yyvsp[0].opval)); }
1945break;
79072805 1946case 31:
85e6fe83 1947#line 237 "perly.y"
463ee0b2 1948{ yyval.opval = newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, mod(yyvsp[-5].opval, OP_ENTERLOOP),
93a17b20 1949 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1950break;
79072805 1951case 32:
85e6fe83 1952#line 240 "perly.y"
93a17b20 1953{ yyval.opval = newFOROP(0, yyvsp[-6].pval, yyvsp[-5].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1954break;
79072805 1955case 33:
85e6fe83 1956#line 243 "perly.y"
93a17b20 1957{ copline = yyvsp[-8].ival;
79072805 1958 yyval.opval = append_elem(OP_LINESEQ,
93a17b20 1959 newSTATEOP(0, yyvsp[-9].pval, scalar(yyvsp[-6].opval)),
1960 newSTATEOP(0, yyvsp[-9].pval,
463ee0b2 1961 newWHILEOP(0, 1, (LOOP*)Nullop,
93a17b20 1962 scalar(yyvsp[-4].opval), yyvsp[0].opval, scalar(yyvsp[-2].opval)) )); }
1963break;
79072805 1964case 34:
85e6fe83 1965#line 250 "perly.y"
79072805 1966{ yyval.opval = newSTATEOP(0,
463ee0b2 1967 yyvsp[-2].pval, newWHILEOP(0, 1, (LOOP*)Nullop,
1968 Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
93a17b20 1969break;
79072805 1970case 35:
85e6fe83 1971#line 256 "perly.y"
93a17b20 1972{ yyval.opval = Nullop; }
1973break;
79072805 1974case 37:
85e6fe83 1975#line 261 "perly.y"
93a17b20 1976{ (void)scan_num("1"); yyval.opval = yylval.opval; }
1977break;
79072805 1978case 39:
85e6fe83 1979#line 266 "perly.y"
93a17b20 1980{ yyval.pval = Nullch; }
1981break;
79072805 1982case 41:
85e6fe83 1983#line 271 "perly.y"
93a17b20 1984{ yyval.ival = 0; }
1985break;
79072805 1986case 42:
85e6fe83 1987#line 273 "perly.y"
93a17b20 1988{ yyval.ival = 0; }
1989break;
79072805 1990case 43:
85e6fe83 1991#line 275 "perly.y"
93a17b20 1992{ yyval.ival = 0; }
1993break;
79072805 1994case 44:
85e6fe83 1995#line 277 "perly.y"
1996{ yyval.ival = 0; }
93a17b20 1997break;
79072805 1998case 45:
85e6fe83 1999#line 281 "perly.y"
2000{ newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
93a17b20 2001break;
79072805 2002case 46:
85e6fe83 2003#line 283 "perly.y"
2004{ newFORM(yyvsp[-1].ival, Nullop, yyvsp[0].opval); }
93a17b20 2005break;
79072805 2006case 47:
85e6fe83 2007#line 287 "perly.y"
2008{ newSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
93a17b20 2009break;
79072805 2010case 48:
85e6fe83 2011#line 289 "perly.y"
2012{ newSUB(yyvsp[-2].ival, yyvsp[-1].opval, Nullop); expect = XSTATE; }
93a17b20 2013break;
2014case 49:
85e6fe83 2015#line 293 "perly.y"
2016{ package(yyvsp[-1].opval); }
93a17b20 2017break;
79072805 2018case 50:
85e6fe83 2019#line 295 "perly.y"
2020{ package(Nullop); }
2021break;
2022case 51:
2023#line 299 "perly.y"
2024{ hint(yyvsp[-2].ival, yyvsp[-1].opval, Nullop); }
93a17b20 2025break;
79072805 2026case 52:
8990e307 2027#line 301 "perly.y"
85e6fe83 2028{ hint(yyvsp[-3].ival, yyvsp[-2].opval, list(force_list(yyvsp[-1].opval))); }
2029break;
2030case 53:
2031#line 305 "perly.y"
2032{ yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
2033break;
2034case 55:
2035#line 310 "perly.y"
93a17b20 2036{ yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
2037 prepend_elem(OP_LIST, newGVREF(yyvsp[-1].opval), yyvsp[0].opval) ); }
2038break;
85e6fe83 2039case 56:
2040#line 313 "perly.y"
93a17b20 2041{ yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
2042 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].opval), yyvsp[-1].opval) ); }
2043break;
85e6fe83 2044case 57:
2045#line 316 "perly.y"
93a17b20 2046{ yyval.opval = convert(yyvsp[-1].ival, OPf_STACKED,
2047 prepend_elem(OP_LIST, newGVREF(yyvsp[-3].opval), yyvsp[0].opval) ); }
2048break;
85e6fe83 2049case 58:
2050#line 319 "perly.y"
93a17b20 2051{ yyval.opval = convert(yyvsp[-3].ival, OPf_STACKED,
2052 prepend_elem(OP_LIST, newGVREF(yyvsp[-5].opval), yyvsp[-1].opval) ); }
2053break;
85e6fe83 2054case 59:
2055#line 322 "perly.y"
93a17b20 2056{ yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
8990e307 2057 prepend_elem(OP_LIST,
2058 newMETHOD(yyvsp[-5].opval,yyvsp[-3].opval), list(yyvsp[-1].opval))); }
93a17b20 2059break;
85e6fe83 2060case 60:
2061#line 326 "perly.y"
93a17b20 2062{ yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
8990e307 2063 prepend_elem(OP_LIST,
2064 newMETHOD(yyvsp[-1].opval,yyvsp[-2].opval), list(yyvsp[0].opval))); }
93a17b20 2065break;
85e6fe83 2066case 61:
2067#line 330 "perly.y"
93a17b20 2068{ yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2069break;
85e6fe83 2070case 62:
2071#line 332 "perly.y"
93a17b20 2072{ yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2073break;
85e6fe83 2074case 63:
2075#line 336 "perly.y"
93a17b20 2076{ yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[0].opval); }
2077break;
85e6fe83 2078case 64:
2079#line 338 "perly.y"
93a17b20 2080{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2081 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2082break;
85e6fe83 2083case 65:
2084#line 341 "perly.y"
93a17b20 2085{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2086 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2087break;
85e6fe83 2088case 66:
2089#line 344 "perly.y"
93a17b20 2090{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2091 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval));}
93a17b20 2092break;
85e6fe83 2093case 67:
2094#line 347 "perly.y"
93a17b20 2095{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2096 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2097break;
85e6fe83 2098case 68:
2099#line 350 "perly.y"
93a17b20 2100{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2101 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2102break;
85e6fe83 2103case 69:
2104#line 353 "perly.y"
93a17b20 2105{ yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
463ee0b2 2106 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
93a17b20 2107break;
85e6fe83 2108case 70:
2109#line 356 "perly.y"
93a17b20 2110{ yyval.opval = newLOGOP(OP_ANDASSIGN, 0,
463ee0b2 2111 mod(scalar(yyvsp[-3].opval), OP_ANDASSIGN),
93a17b20 2112 newUNOP(OP_SASSIGN, 0, scalar(yyvsp[0].opval))); }
2113break;
85e6fe83 2114case 71:
2115#line 360 "perly.y"
93a17b20 2116{ yyval.opval = newLOGOP(OP_ORASSIGN, 0,
463ee0b2 2117 mod(scalar(yyvsp[-3].opval), OP_ORASSIGN),
93a17b20 2118 newUNOP(OP_SASSIGN, 0, scalar(yyvsp[0].opval))); }
2119break;
85e6fe83 2120case 72:
2121#line 366 "perly.y"
93a17b20 2122{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2123break;
85e6fe83 2124case 73:
2125#line 368 "perly.y"
93a17b20 2126{ if (yyvsp[-1].ival != OP_REPEAT)
2127 scalar(yyvsp[-2].opval);
2128 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2129break;
85e6fe83 2130case 74:
2131#line 372 "perly.y"
93a17b20 2132{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2133break;
85e6fe83 2134case 75:
2135#line 374 "perly.y"
93a17b20 2136{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2137break;
85e6fe83 2138case 76:
2139#line 376 "perly.y"
93a17b20 2140{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2141break;
85e6fe83 2142case 77:
2143#line 378 "perly.y"
93a17b20 2144{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2145break;
85e6fe83 2146case 78:
2147#line 380 "perly.y"
93a17b20 2148{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2149break;
85e6fe83 2150case 79:
2151#line 382 "perly.y"
93a17b20 2152{ yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2153break;
85e6fe83 2154case 80:
2155#line 384 "perly.y"
93a17b20 2156{ yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2157break;
85e6fe83 2158case 81:
2159#line 386 "perly.y"
93a17b20 2160{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2161break;
85e6fe83 2162case 82:
2163#line 388 "perly.y"
93a17b20 2164{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2165break;
85e6fe83 2166case 83:
2167#line 390 "perly.y"
463ee0b2 2168{ yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2169break;
85e6fe83 2170case 84:
2171#line 392 "perly.y"
463ee0b2 2172{ yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2173break;
85e6fe83 2174case 85:
2175#line 394 "perly.y"
463ee0b2 2176{ yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2177break;
85e6fe83 2178case 86:
2179#line 396 "perly.y"
463ee0b2 2180{ yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
93a17b20 2181break;
85e6fe83 2182case 87:
2183#line 398 "perly.y"
93a17b20 2184{ yyval.opval = yyvsp[0].opval; }
2185break;
85e6fe83 2186case 88:
2187#line 402 "perly.y"
463ee0b2 2188{ yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
93a17b20 2189break;
85e6fe83 2190case 89:
2191#line 404 "perly.y"
463ee0b2 2192{ yyval.opval = yyvsp[0].opval; }
93a17b20 2193break;
85e6fe83 2194case 90:
2195#line 406 "perly.y"
463ee0b2 2196{ yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
93a17b20 2197break;
85e6fe83 2198case 91:
2199#line 408 "perly.y"
463ee0b2 2200{ yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
93a17b20 2201break;
85e6fe83 2202case 92:
2203#line 410 "perly.y"
8990e307 2204{ yyval.opval = newUNOP(OP_REFGEN, 0, ref(yyvsp[0].opval,OP_REFGEN)); }
93a17b20 2205break;
85e6fe83 2206case 93:
2207#line 412 "perly.y"
463ee0b2 2208{ yyval.opval = newUNOP(OP_POSTINC, 0,
2209 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
93a17b20 2210break;
85e6fe83 2211case 94:
2212#line 415 "perly.y"
463ee0b2 2213{ yyval.opval = newUNOP(OP_POSTDEC, 0,
2214 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
93a17b20 2215break;
85e6fe83 2216case 95:
2217#line 418 "perly.y"
463ee0b2 2218{ yyval.opval = newUNOP(OP_PREINC, 0,
2219 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
93a17b20 2220break;
85e6fe83 2221case 96:
2222#line 421 "perly.y"
463ee0b2 2223{ yyval.opval = newUNOP(OP_PREDEC, 0,
2224 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
93a17b20 2225break;
85e6fe83 2226case 97:
2227#line 424 "perly.y"
463ee0b2 2228{ yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
93a17b20 2229break;
85e6fe83 2230case 98:
2231#line 426 "perly.y"
463ee0b2 2232{ yyval.opval = sawparens(yyvsp[-1].opval); }
93a17b20 2233break;
85e6fe83 2234case 99:
2235#line 428 "perly.y"
8990e307 2236{ yyval.opval = sawparens(newNULLLIST()); }
93a17b20 2237break;
85e6fe83 2238case 100:
2239#line 430 "perly.y"
463ee0b2 2240{ yyval.opval = newANONLIST(yyvsp[-1].opval); }
93a17b20 2241break;
85e6fe83 2242case 101:
2243#line 432 "perly.y"
463ee0b2 2244{ yyval.opval = newANONLIST(Nullop); }
93a17b20 2245break;
85e6fe83 2246case 102:
2247#line 434 "perly.y"
463ee0b2 2248{ yyval.opval = newANONHASH(yyvsp[-1].opval); }
93a17b20 2249break;
85e6fe83 2250case 103:
2251#line 436 "perly.y"
463ee0b2 2252{ yyval.opval = newANONHASH(Nullop); }
93a17b20 2253break;
85e6fe83 2254case 104:
2255#line 438 "perly.y"
463ee0b2 2256{ yyval.opval = yyvsp[0].opval; }
93a17b20 2257break;
85e6fe83 2258case 105:
2259#line 440 "perly.y"
463ee0b2 2260{ yyval.opval = yyvsp[0].opval; }
2261break;
85e6fe83 2262case 106:
2263#line 442 "perly.y"
463ee0b2 2264{ yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2265break;
85e6fe83 2266case 107:
2267#line 444 "perly.y"
93a17b20 2268{ yyval.opval = newBINOP(OP_AELEM, 0,
8990e307 2269 ref(newAVREF(yyvsp[-4].opval),OP_RV2AV),
93a17b20 2270 scalar(yyvsp[-1].opval));}
2271break;
85e6fe83 2272case 108:
2273#line 448 "perly.y"
463ee0b2 2274{ yyval.opval = newBINOP(OP_AELEM, 0,
8990e307 2275 ref(newAVREF(yyvsp[-3].opval),OP_RV2AV),
463ee0b2 2276 scalar(yyvsp[-1].opval));}
2277break;
85e6fe83 2278case 109:
2279#line 452 "perly.y"
93a17b20 2280{ yyval.opval = yyvsp[0].opval; }
2281break;
85e6fe83 2282case 110:
2283#line 454 "perly.y"
93a17b20 2284{ yyval.opval = yyvsp[0].opval; }
2285break;
85e6fe83 2286case 111:
2287#line 456 "perly.y"
93a17b20 2288{ yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2289break;
85e6fe83 2290case 112:
2291#line 458 "perly.y"
93a17b20 2292{ yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2293 expect = XOPERATOR; }
2294break;
85e6fe83 2295case 113:
2296#line 461 "perly.y"
93a17b20 2297{ yyval.opval = newBINOP(OP_HELEM, 0,
8990e307 2298 ref(newHVREF(yyvsp[-5].opval),OP_RV2HV),
93a17b20 2299 jmaybe(yyvsp[-2].opval));
2300 expect = XOPERATOR; }
2301break;
85e6fe83 2302case 114:
2303#line 466 "perly.y"
463ee0b2 2304{ yyval.opval = newBINOP(OP_HELEM, 0,
8990e307 2305 ref(newHVREF(yyvsp[-4].opval),OP_RV2HV),
463ee0b2 2306 jmaybe(yyvsp[-2].opval));
2307 expect = XOPERATOR; }
2308break;
85e6fe83 2309case 115:
2310#line 471 "perly.y"
93a17b20 2311{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2312break;
85e6fe83 2313case 116:
2314#line 473 "perly.y"
93a17b20 2315{ yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2316break;
85e6fe83 2317case 117:
2318#line 475 "perly.y"
79072805 2319{ yyval.opval = prepend_elem(OP_ASLICE,
2320 newOP(OP_PUSHMARK, 0),
2321 list(
2322 newLISTOP(OP_ASLICE, 0,
93a17b20 2323 list(yyvsp[-1].opval),
2324 ref(yyvsp[-3].opval, OP_ASLICE)))); }
2325break;
85e6fe83 2326case 118:
2327#line 482 "perly.y"
79072805 2328{ yyval.opval = prepend_elem(OP_HSLICE,
2329 newOP(OP_PUSHMARK, 0),
2330 list(
2331 newLISTOP(OP_HSLICE, 0,
93a17b20 2332 list(yyvsp[-2].opval),
2333 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE))));
2334 expect = XOPERATOR; }
2335break;
85e6fe83 2336case 119:
2337#line 490 "perly.y"
93a17b20 2338{ yyval.opval = newBINOP(OP_DELETE, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2339 expect = XOPERATOR; }
2340break;
85e6fe83 2341case 120:
2342#line 493 "perly.y"
93a17b20 2343{ yyval.opval = newBINOP(OP_DELETE, 0, oopsHV(yyvsp[-5].opval), jmaybe(yyvsp[-3].opval));
2344 expect = XOPERATOR; }
2345break;
85e6fe83 2346case 121:
2347#line 496 "perly.y"
93a17b20 2348{ yyval.opval = yyvsp[0].opval; }
2349break;
85e6fe83 2350case 122:
2351#line 498 "perly.y"
93a17b20 2352{ yyval.opval = newUNOP(OP_ENTERSUBR, 0,
2353 scalar(yyvsp[0].opval)); }
2354break;
85e6fe83 2355case 123:
2356#line 501 "perly.y"
93a17b20 2357{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2358break;
85e6fe83 2359case 124:
2360#line 503 "perly.y"
93a17b20 2361{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED,
2362 list(prepend_elem(OP_LIST, scalar(yyvsp[-3].opval), yyvsp[-1].opval))); }
2363break;
85e6fe83 2364case 125:
2365#line 506 "perly.y"
93a17b20 2366{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED,
79072805 2367 list(prepend_elem(OP_LIST,
93a17b20 2368 newCVREF(scalar(yyvsp[-1].opval)), yyvsp[0].opval))); }
2369break;
85e6fe83 2370case 126:
2371#line 510 "perly.y"
463ee0b2 2372{ yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
8990e307 2373 prepend_elem(OP_LIST,
2374 newMETHOD(yyvsp[-1].opval,yyvsp[-2].opval), list(yyvsp[0].opval))); }
93a17b20 2375break;
85e6fe83 2376case 127:
2377#line 514 "perly.y"
463ee0b2 2378{ yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2379break;
85e6fe83 2380case 128:
2381#line 516 "perly.y"
93a17b20 2382{ yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2383break;
85e6fe83 2384case 129:
2385#line 518 "perly.y"
79072805 2386{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2387 list(prepend_elem(OP_LIST,
8990e307 2388 scalar(newCVREF(scalar(yyvsp[-2].opval))), Nullop))); }
93a17b20 2389break;
85e6fe83 2390case 130:
2391#line 522 "perly.y"
93a17b20 2392{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2393 list(prepend_elem(OP_LIST,
2394 scalar(newCVREF(scalar(yyvsp[-3].opval))),
2395 yyvsp[-1].opval))); }
2396break;
85e6fe83 2397case 131:
2398#line 527 "perly.y"
93a17b20 2399{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2400 list(prepend_elem(OP_LIST,
8990e307 2401 scalar(newCVREF(scalar(yyvsp[-2].opval))), Nullop)));}
93a17b20 2402break;
85e6fe83 2403case 132:
2404#line 531 "perly.y"
93a17b20 2405{ yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2406 list(prepend_elem(OP_LIST,
2407 scalar(newCVREF(scalar(yyvsp[-3].opval))),
2408 yyvsp[-1].opval))); }
2409break;
463ee0b2 2410case 133:
85e6fe83 2411#line 536 "perly.y"
2412{ yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL);
2413 hints |= HINT_BLOCK_SCOPE; }
93a17b20 2414break;
463ee0b2 2415case 134:
85e6fe83 2416#line 539 "perly.y"
2417{ yyval.opval = newLOOPEX(yyvsp[-1].ival,yyvsp[0].opval); }
93a17b20 2418break;
463ee0b2 2419case 135:
85e6fe83 2420#line 541 "perly.y"
93a17b20 2421{ yyval.opval = newOP(yyvsp[0].ival, 0); }
2422break;
463ee0b2 2423case 136:
85e6fe83 2424#line 543 "perly.y"
2425{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
93a17b20 2426break;
463ee0b2 2427case 137:
85e6fe83 2428#line 545 "perly.y"
2429{ yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
93a17b20 2430break;
463ee0b2 2431case 138:
85e6fe83 2432#line 547 "perly.y"
2433{ yyval.opval = newOP(yyvsp[0].ival, 0); }
93a17b20 2434break;
463ee0b2 2435case 139:
85e6fe83 2436#line 549 "perly.y"
2437{ yyval.opval = newOP(yyvsp[-2].ival, 0); }
93a17b20 2438break;
463ee0b2 2439case 140:
85e6fe83 2440#line 551 "perly.y"
2441{ yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
93a17b20 2442break;
85e6fe83 2443case 141:
8990e307 2444#line 553 "perly.y"
85e6fe83 2445{ yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
93a17b20 2446break;
85e6fe83 2447case 142:
8990e307 2448#line 555 "perly.y"
85e6fe83 2449{ yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
93a17b20 2450break;
85e6fe83 2451case 143:
2452#line 557 "perly.y"
2453{ yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
93a17b20 2454break;
463ee0b2 2455case 146:
8990e307 2456#line 563 "perly.y"
85e6fe83 2457{ yyval.opval = Nullop; }
93a17b20 2458break;
463ee0b2 2459case 147:
85e6fe83 2460#line 565 "perly.y"
2461{ yyval.opval = yyvsp[0].opval; }
93a17b20 2462break;
463ee0b2 2463case 148:
85e6fe83 2464#line 569 "perly.y"
2465{ yyval.opval = newCVREF(yyvsp[0].opval); }
93a17b20 2466break;
463ee0b2 2467case 149:
85e6fe83 2468#line 573 "perly.y"
2469{ yyval.opval = newSVREF(yyvsp[0].opval); }
93a17b20 2470break;
463ee0b2 2471case 150:
85e6fe83 2472#line 577 "perly.y"
2473{ yyval.opval = newAVREF(yyvsp[0].opval); }
93a17b20 2474break;
463ee0b2 2475case 151:
85e6fe83 2476#line 581 "perly.y"
2477{ yyval.opval = newHVREF(yyvsp[0].opval); }
93a17b20 2478break;
463ee0b2 2479case 152:
8990e307 2480#line 585 "perly.y"
85e6fe83 2481{ yyval.opval = newAVREF(yyvsp[0].opval); }
93a17b20 2482break;
463ee0b2 2483case 153:
85e6fe83 2484#line 589 "perly.y"
2485{ yyval.opval = newGVREF(yyvsp[0].opval); }
93a17b20 2486break;
463ee0b2 2487case 154:
85e6fe83 2488#line 593 "perly.y"
2489{ yyval.opval = scalar(yyvsp[0].opval); }
93a17b20 2490break;
463ee0b2 2491case 155:
85e6fe83 2492#line 595 "perly.y"
2493{ yyval.opval = scalar(yyvsp[0].opval); }
93a17b20 2494break;
463ee0b2 2495case 156:
85e6fe83 2496#line 597 "perly.y"
2497{ yyval.opval = scalar(scope(yyvsp[0].opval)); }
93a17b20 2498break;
463ee0b2 2499case 157:
8990e307 2500#line 600 "perly.y"
85e6fe83 2501{ yyval.opval = yyvsp[0].opval; }
93a17b20 2502break;
463ee0b2 2503case 158:
85e6fe83 2504#line 604 "perly.y"
2505{ yyval.ival = 1; }
93a17b20 2506break;
463ee0b2 2507case 159:
8990e307 2508#line 606 "perly.y"
85e6fe83 2509{ yyval.ival = 0; }
93a17b20 2510break;
463ee0b2 2511case 160:
85e6fe83 2512#line 610 "perly.y"
2513{ yyval.ival = 1; }
2514break;
2515case 161:
2516#line 612 "perly.y"
2517{ yyval.ival = 0; }
2518break;
2519case 162:
2520#line 616 "perly.y"
2521{ yyval.ival = 1; }
2522break;
2523case 163:
2524#line 618 "perly.y"
93a17b20 2525{ yyval.ival = 0; }
2526break;
85e6fe83 2527#line 2483 "y.tab.c"
93a17b20 2528 }
2529 yyssp -= yym;
2530 yystate = *yyssp;
2531 yyvsp -= yym;
2532 yym = yylhs[yyn];
2533 if (yystate == 0 && yym == 0)
2534 {
2535#if YYDEBUG
2536 if (yydebug)
ed6116ce 2537 fprintf(stderr,
2538 "yydebug: after reduction, shifting from state 0 to state %d\n",
2539 YYFINAL);
93a17b20 2540#endif
2541 yystate = YYFINAL;
2542 *++yyssp = YYFINAL;
2543 *++yyvsp = yyval;
2544 if (yychar < 0)
2545 {
2546 if ((yychar = yylex()) < 0) yychar = 0;
2547#if YYDEBUG
2548 if (yydebug)
2549 {
2550 yys = 0;
2551 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2552 if (!yys) yys = "illegal-symbol";
ed6116ce 2553 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n",
93a17b20 2554 YYFINAL, yychar, yys);
2555 }
2556#endif
2557 }
2558 if (yychar == 0) goto yyaccept;
2559 goto yyloop;
2560 }
2561 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2562 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2563 yystate = yytable[yyn];
2564 else
2565 yystate = yydgoto[yym];
2566#if YYDEBUG
2567 if (yydebug)
ed6116ce 2568 fprintf(stderr,
2569 "yydebug: after reduction, shifting from state %d to state %d\n",
2570 *yyssp, yystate);
93a17b20 2571#endif
2572 if (yyssp >= yyss + yystacksize - 1)
2573 {
2574 /*
2575 ** reallocate and recover. Note that pointers
2576 ** have to be reset, or bad things will happen
2577 */
2578 int yyps_index = (yyssp - yyss);
2579 int yypv_index = (yyvsp - yyvs);
2580 yystacksize += YYSTACKSIZE;
2581 yyvs = (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2582 yyss = (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2583 if (!yyvs || !yyss)
2584 goto yyoverflow;
2585 yyssp = yyss + yyps_index;
2586 yyvsp = yyvs + yypv_index;
2587 }
2588 *++yyssp = yystate;
2589 *++yyvsp = yyval;
2590 goto yyloop;
2591yyoverflow:
2592 yyerror("Out of memory for yacc stack");
2593yyabort:
2594 retval = 1;
2595yyaccept:
2596 if (yyss) free(yyss);
2597 if (yyvs) free(yyvs);
2598 yydebug = oldyydebug;
2599 yynerrs = oldyynerrs;
2600 yyerrflag = oldyyerrflag;
2601 yychar = oldyychar;
2602 yyval = oldyyval;
2603 yylval = oldyylval;
2604 return retval;
79072805 2605}