2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
25 #define PRIVATEREF 261
71 30, 0, 7, 3, 8, 8, 8, 9, 9, 9,
72 9, 23, 23, 23, 23, 23, 23, 13, 13, 13,
73 11, 11, 11, 11, 29, 29, 10, 10, 10, 10,
74 10, 10, 10, 10, 12, 12, 26, 26, 28, 28,
75 1, 1, 1, 2, 2, 31, 31, 32, 32, 14,
76 14, 27, 27, 27, 27, 27, 27, 27, 27, 15,
77 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
78 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
79 15, 15, 16, 16, 16, 16, 16, 16, 16, 16,
80 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
81 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
82 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
83 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
84 16, 16, 16, 16, 16, 16, 16, 24, 24, 22,
85 17, 18, 19, 20, 21, 25, 25, 25, 25, 4,
89 0, 2, 4, 0, 0, 2, 2, 2, 1, 2,
90 3, 1, 1, 3, 3, 3, 3, 0, 2, 6,
91 6, 6, 4, 4, 0, 2, 7, 7, 5, 5,
92 8, 7, 10, 3, 0, 1, 0, 1, 0, 1,
93 1, 1, 1, 3, 2, 3, 3, 3, 2, 3,
94 1, 3, 5, 4, 6, 6, 3, 2, 4, 3,
95 4, 4, 4, 4, 4, 4, 4, 4, 3, 3,
96 3, 3, 3, 3, 3, 3, 3, 3, 3, 5,
97 3, 1, 2, 2, 2, 2, 2, 2, 2, 2,
98 2, 2, 3, 2, 3, 2, 3, 3, 1, 1,
99 4, 5, 1, 1, 1, 5, 6, 6, 5, 4,
100 5, 6, 8, 1, 1, 3, 4, 3, 2, 2,
101 4, 5, 4, 5, 1, 2, 1, 2, 2, 1,
102 3, 3, 4, 4, 6, 1, 1, 0, 1, 2,
103 2, 2, 2, 2, 2, 1, 1, 1, 1, 2,
106 short yydefred[] = { 1,
107 0, 5, 0, 40, 0, 0, 0, 6, 41, 7,
108 9, 0, 42, 43, 4, 0, 45, 0, 0, 49,
109 12, 0, 0, 114, 0, 149, 0, 0, 0, 0,
110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
111 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,
112 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
113 0, 0, 0, 0, 0, 103, 105, 100, 0, 0,
114 0, 137, 5, 44, 47, 46, 48, 146, 148, 147,
115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
116 0, 0, 126, 0, 0, 0, 144, 0, 120, 0,
117 0, 0, 0, 0, 0, 0, 0, 0, 58, 0,
118 128, 0, 0, 0, 0, 90, 91, 0, 0, 0,
119 0, 96, 0, 140, 141, 142, 143, 145, 0, 34,
120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
122 88, 89, 0, 0, 0, 0, 0, 11, 0, 0,
123 57, 0, 0, 0, 0, 0, 0, 0, 0, 0,
124 0, 0, 0, 36, 0, 131, 132, 0, 0, 0,
125 0, 0, 0, 0, 98, 0, 0, 97, 118, 52,
126 0, 151, 0, 0, 0, 153, 95, 26, 0, 0,
127 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
130 0, 0, 116, 0, 0, 0, 3, 134, 0, 0,
131 29, 0, 30, 0, 0, 0, 23, 0, 24, 0,
132 0, 0, 133, 59, 0, 121, 0, 123, 0, 0,
133 0, 0, 155, 0, 150, 0, 152, 0, 0, 0,
134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
135 101, 0, 110, 117, 0, 54, 0, 0, 0, 0,
136 19, 0, 0, 0, 0, 0, 53, 122, 124, 0,
137 0, 154, 109, 0, 0, 0, 0, 102, 106, 111,
138 0, 135, 27, 28, 21, 0, 22, 0, 32, 0,
139 0, 112, 108, 107, 56, 55, 0, 0, 31, 0,
142 short yydgoto[] = { 1,
143 8, 9, 73, 194, 197, 188, 79, 3, 10, 11,
144 60, 172, 247, 108, 62, 63, 64, 65, 66, 67,
145 68, 69, 174, 109, 71, 164, 72, 12, 130, 2,
148 short yysindex[] = { 0,
149 0, 0, 20, 0, -122, -241, -57, 0, 0, 0,
150 0, 606, 0, 0, 0, -84, 0, -32, 39, 0,
151 0, 0, -33, 0, 19, 0, -28, -23, -21, -19,
152 169, -143, 77, 83, 107, -33, 2774, 2835, 172, 884,
153 -108, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 945, 0,
154 2835, 2835, 992, -33, -33, -33, -33, -33, -106, 0,
155 -14, 1210, -59, -60, -58, 0, 0, 0, 143, 159,
156 -76, 0, 0, 0, 0, 0, 0, 0, 0, 0,
157 2835, 2835, 2835, -84, 2835, -84, 2835, -84, 2835, -84,
158 1056, 194, 0, 201, 1262, 2835, 0, 209, 0, -1,
159 -30, -1, 223, 147, 139, 28, 2835, 231, 0, 1323,
160 0, -1, -237, -237, -237, 0, 0, 182, 115, -237,
161 -237, 0, -18, 0, 0, 0, 0, 0, -84, 0,
162 2835, 2835, 2835, 2835, 2835, 2835, 2835, 2835, 1370, 1434,
163 2835, 2835, 1640, 1701, 1748, 1812, 2018, 2835, 2079, -87,
164 0, 0, 2835, 2835, 2835, 2835, 2126, 0, -92, -119,
165 0, 4249, 231, 245, -106, 141, -106, 217, -44, 246,
166 -44, 233, -36, 0, 2835, 0, 0, 257, 255, 1323,
167 2190, 2396, 181, 2835, 0, 2457, 184, 0, 0, 0,
168 2835, 0, 2504, 215, 2568, 0, 0, 0, 231, 231,
169 231, 231, 1210, -89, -1, -174, 2835, -40, 2835, -236,
170 1210, 409, 2835, 345, 2835, 376, 2835, -238, 2835, 382,
171 2835, -247, 16, 2835, 16, 2835, 270, 2835, 68, -16,
172 75, -15, 0, 115, 271, 2835, 0, 0, 2835, -84,
173 0, -84, 0, -84, -84, 277, 0, -84, 0, 2835,
174 -84, 115, 0, 0, 278, 0, 115, 0, 115, 2835,
175 96, 193, 0, -4, 0, 2835, 0, 1210, 1210, 2835,
176 1210, 1210, 1210, 1210, 1210, 1210, 116, 2835, 3, 196,
177 0, 199, 0, 0, 2835, 0, 4397, -106, -106, -44,
178 0, 2835, -44, 266, -106, -84, 0, 0, 0, 136,
179 203, 0, 0, 4, 1102, 218, 303, 0, 0, 0,
180 304, 0, 0, 0, 0, 264, 0, 1056, 0, -106,
181 228, 0, 0, 0, 0, 0, -84, 307, 0, 313,
184 short yyrindex[] = { 0,
185 0, 0, 229, 0, 0, 0, 0, 0, 0, 0,
186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
187 0, 496, 0, 0, 0, 0, 0, 0, 0, 0,
188 0, 2708, 2864, 0, 0, 0, 0, 0, 0, 0,
189 0, 2904, 2978, 0, 0, 0, 0, 0, 0, 0,
190 0, 0, 0, 0, 0, 0, 0, 0, 73, 0,
191 11, 363, 4373, 557, 3023, 0, 0, 0, 3161, 0,
192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
193 2904, 0, 322, 0, 0, 0, 0, 0, 0, 0,
194 305, 0, 0, 0, 0, 324, 0, 3236, 0, 2284,
195 3280, 3735, 0, 0, 0, 0, 2904, 3408, 0, 3449,
196 0, 3768, 4128, 4182, 4218, 0, 0, 3319, 0, 4284,
197 4320, 0, 0, 0, 0, 0, 0, 0, 0, 0,
198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
200 0, 0, 0, 0, 0, 0, 0, 0, 0, 678,
201 0, 0, 15, 0, 125, 0, 125, 0, 177, 0,
202 177, 0, 309, 0, 0, 0, 0, 0, 0, 324,
203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
204 0, 0, 0, 3362, 0, 0, 0, 0, 79, 98,
205 128, 135, 860, 958, 3834, 3867, 0, 1906, 0, 1150,
206 1575, 0, 0, 1021, 0, 4047, 0, 4005, 0, 3915,
207 0, 1528, 3577, 0, 3702, 0, 0, 0, 0, 0,
208 0, 0, 0, 0, 0, 2904, 0, 0, 0, 0,
209 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
211 0, 0, 0, 0, 0, 0, 0, 1953, 2331, 0,
212 2667, 3620, 3907, 3931, 4037, 4063, 0, 324, 0, 0,
213 0, 0, 0, 0, 324, 0, 0, 125, 125, 177,
214 0, 0, 177, 0, 125, 0, 0, 0, 0, 0,
215 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
216 0, 0, 0, 0, 0, 0, 0, 325, 0, 125,
217 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
220 short yygindex[] = { 0,
221 0, 0, 0, -158, 0, 0, -5, 298, 0, 0,
222 0, 55, -157, -3, 4489, 520, 488, 0, 0, 0,
223 0, 0, 364, 216, 527, 127, 0, 0, -147, 0,
226 #define YYTABLESIZE 4759
227 short yytable[] = { 17,
228 15, 20, 55, 228, 192, 237, 59, 193, 61, 182,
229 74, 83, 76, 249, 251, 18, 85, 241, 87, 243,
230 89, 84, 86, 88, 90, 195, 75, 135, 135, 135,
231 154, 99, 156, 139, 140, 226, 106, 111, 15, 135,
232 137, 138, 139, 140, 139, 119, 135, 135, 148, 123,
233 80, 13, 149, 80, 146, 38, 147, 148, 82, 148,
234 154, 149, 153, 149, 155, 151, 152, 80, 80, 13,
235 80, 186, 25, 38, 196, 284, 281, 283, 165, 163,
236 167, 166, 169, 168, 171, 170, 187, 173, 303, 15,
237 15, 178, 153, 296, 15, 308, 323, 77, 298, 15,
238 299, 15, 80, 15, 137, 25, 139, 140, 25, 25,
239 25, 135, 25, 93, 25, 25, 94, 25, 135, 16,
240 147, 148, 95, 198, 25, 149, 280, 199, 200, 201,
241 202, 25, 315, 282, 16, 317, 25, 16, 17, 135,
242 313, 314, 4, 5, 6, 7, 96, 319, 107, 229,
243 230, 231, 232, 234, 301, 192, 17, 25, 193, 135,
244 25, 25, 25, 25, 25, 129, 25, 25, 14, 25,
245 227, 252, 329, 334, 306, 15, 18, 257, 259, 135,
246 261, 242, 157, 25, 135, 235, 14, 264, 25, 137,
247 138, 139, 140, 15, 321, 25, 236, 25, 25, 19,
248 143, 144, 145, 146, 55, 147, 148, 55, 91, 18,
249 149, 103, 18, 18, 18, 25, 18, 158, 18, 18,
250 159, 18, 277, 78, 279, 245, 246, 26, 2, 131,
251 132, 133, 134, 175, 288, 18, 289, 150, 290, 291,
252 18, 176, 293, 151, 152, 295, 163, 25, 181, 25,
253 25, 131, 132, 133, 134, 148, 300, 244, 55, 149,
254 135, 39, 304, 185, 39, 39, 39, 18, 39, 184,
255 39, 39, 191, 39, 135, 80, 80, 80, 80, 139,
256 140, 4, 5, 6, 7, 240, 248, 39, 316, 135,
257 320, 250, 39, 147, 148, 254, 161, 253, 149, 18,
258 135, 18, 18, 260, 327, 266, 80, 135, 263, 278,
259 285, 179, 80, 80, 61, 149, 292, 302, 297, 39,
260 309, 331, 189, 310, 318, 190, 335, 322, 25, 25,
261 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
262 25, 25, 324, 325, 326, 25, 25, 332, 25, 25,
263 25, 39, 330, 333, 39, 25, 25, 25, 25, 25,
264 25, 25, 37, 35, 138, 35, 25, 13, 37, 148,
265 160, 25, 328, 25, 25, 70, 294, 0, 0, 0,
266 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
267 25, 25, 25, 25, 0, 255, 0, 25, 25, 0,
268 25, 25, 25, 51, 0, 0, 51, 25, 25, 25,
269 25, 25, 25, 25, 0, 0, 0, 0, 25, 0,
270 51, 51, 0, 25, 0, 25, 25, 0, 0, 0,
271 0, 0, 18, 18, 18, 18, 18, 18, 18, 18,
272 18, 18, 18, 18, 18, 18, 0, 0, 0, 18,
273 18, 286, 18, 18, 18, 51, 0, 0, 0, 18,
274 18, 18, 18, 18, 18, 18, 270, 0, 0, 141,
275 18, 142, 0, 0, 0, 18, 0, 18, 18, 0,
276 0, 0, 0, 0, 39, 39, 39, 39, 39, 39,
277 0, 0, 0, 307, 39, 39, 39, 39, 0, 0,
278 311, 39, 39, 0, 39, 39, 39, 0, 0, 0,
279 80, 39, 39, 39, 39, 39, 39, 39, 92, 0,
280 0, 0, 39, 80, 101, 0, 104, 39, 146, 39,
281 39, 146, 146, 146, 0, 146, 136, 146, 146, 136,
282 146, 80, 80, 80, 80, 80, 0, 0, 0, 81,
283 0, 0, 0, 136, 136, 0, 136, 0, 136, 146,
284 0, 0, 97, 113, 114, 115, 116, 117, 110, 0,
285 120, 121, 0, 0, 0, 0, 0, 0, 0, 0,
286 124, 125, 126, 127, 128, 0, 146, 0, 136, 147,
287 183, 0, 147, 147, 147, 0, 147, 99, 147, 147,
288 99, 147, 0, 0, 0, 0, 0, 0, 0, 0,
289 0, 0, 0, 0, 99, 99, 0, 99, 146, 99,
290 147, 146, 180, 137, 138, 139, 140, 0, 51, 51,
291 51, 51, 0, 0, 0, 144, 145, 146, 44, 147,
292 148, 55, 57, 54, 149, 49, 0, 58, 52, 99,
293 51, 0, 0, 0, 137, 138, 139, 140, 0, 51,
294 137, 138, 139, 140, 50, 51, 51, 145, 146, 56,
295 147, 148, 0, 0, 0, 149, 147, 148, 0, 0,
296 0, 149, 147, 136, 0, 0, 0, 137, 138, 139,
297 140, 0, 0, 0, 0, 0, 53, 0, 143, 144,
298 145, 146, 0, 147, 148, 0, 0, 0, 149, 0,
299 39, 0, 0, 39, 39, 39, 0, 39, 0, 39,
300 39, 0, 39, 0, 0, 0, 0, 0, 15, 0,
301 0, 45, 0, 0, 0, 0, 39, 0, 0, 0,
302 0, 39, 0, 0, 0, 0, 0, 0, 0, 0,
303 0, 0, 146, 146, 146, 146, 146, 0, 0, 0,
304 0, 136, 136, 136, 136, 0, 0, 0, 39, 146,
305 136, 146, 146, 146, 136, 136, 136, 136, 146, 146,
306 146, 146, 146, 146, 146, 136, 136, 136, 136, 146,
307 136, 136, 136, 0, 146, 136, 146, 146, 136, 136,
308 39, 0, 0, 39, 0, 0, 0, 0, 0, 0,
309 0, 0, 0, 147, 147, 147, 147, 147, 0, 0,
310 0, 0, 99, 99, 99, 99, 0, 0, 0, 0,
311 147, 99, 147, 147, 147, 99, 99, 99, 99, 147,
312 147, 147, 147, 147, 147, 147, 99, 99, 99, 99,
313 147, 99, 99, 99, 0, 147, 99, 147, 147, 99,
314 99, 21, 22, 23, 24, 25, 26, 0, 0, 0,
315 0, 27, 28, 29, 30, 0, 0, 0, 31, 32,
316 0, 33, 34, 35, 0, 0, 0, 0, 36, 37,
317 38, 39, 40, 41, 42, 0, 0, 0, 0, 43,
318 50, 0, 0, 50, 46, 0, 47, 48, 0, 0,
319 0, 0, 0, 0, 0, 0, 44, 50, 50, 55,
320 57, 54, 0, 49, 0, 58, 52, 0, 51, 0,
321 0, 0, 0, 39, 39, 39, 39, 39, 39, 0,
322 0, 0, 105, 39, 39, 39, 39, 56, 0, 0,
323 39, 39, 50, 39, 39, 39, 0, 0, 0, 0,
324 39, 39, 39, 39, 39, 39, 39, 0, 0, 0,
325 0, 39, 0, 0, 53, 0, 39, 44, 39, 39,
326 55, 57, 54, 0, 49, 118, 58, 52, 0, 51,
327 0, 0, 0, 0, 0, 0, 0, 0, 77, 0,
328 0, 77, 0, 0, 0, 0, 15, 0, 56, 45,
329 0, 0, 0, 0, 0, 77, 77, 0, 77, 0,
330 77, 0, 0, 0, 44, 0, 0, 55, 57, 54,
331 0, 49, 0, 58, 52, 53, 51, 0, 0, 0,
332 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
333 77, 0, 0, 0, 0, 56, 0, 0, 0, 0,
334 0, 79, 0, 0, 79, 0, 0, 15, 0, 0,
335 45, 0, 0, 0, 0, 0, 0, 0, 79, 79,
336 0, 79, 53, 79, 122, 0, 0, 0, 44, 0,
337 0, 55, 57, 54, 0, 49, 0, 58, 52, 0,
338 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
339 0, 0, 0, 79, 15, 0, 0, 45, 0, 56,
340 0, 0, 0, 0, 0, 50, 50, 50, 50, 0,
341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
342 22, 23, 24, 25, 26, 0, 53, 0, 0, 0,
343 0, 0, 0, 0, 0, 0, 50, 32, 0, 33,
344 34, 35, 50, 50, 142, 0, 36, 37, 38, 39,
345 40, 41, 42, 0, 0, 0, 0, 43, 15, 0,
346 0, 45, 46, 0, 47, 48, 0, 0, 0, 0,
347 71, 0, 0, 71, 0, 0, 0, 0, 0, 0,
348 0, 22, 23, 24, 25, 26, 0, 71, 71, 0,
349 71, 0, 71, 0, 0, 0, 0, 0, 32, 0,
350 33, 34, 35, 77, 77, 77, 77, 36, 37, 38,
351 39, 40, 41, 42, 0, 0, 0, 0, 43, 0,
352 0, 0, 71, 46, 0, 47, 48, 0, 22, 23,
353 24, 25, 26, 0, 77, 0, 0, 0, 0, 0,
354 77, 77, 0, 0, 0, 32, 0, 33, 34, 35,
355 141, 0, 142, 0, 36, 37, 38, 39, 40, 41,
356 42, 0, 0, 0, 0, 43, 79, 79, 79, 79,
357 46, 0, 47, 48, 44, 79, 0, 55, 57, 54,
358 0, 49, 177, 58, 52, 0, 51, 0, 0, 0,
359 79, 21, 22, 23, 24, 25, 26, 79, 0, 0,
360 0, 0, 0, 79, 79, 56, 0, 0, 0, 32,
361 0, 33, 34, 35, 0, 0, 0, 0, 36, 37,
362 38, 39, 40, 41, 42, 0, 0, 0, 0, 43,
363 0, 0, 53, 0, 46, 44, 47, 48, 55, 57,
364 54, 0, 49, 0, 58, 52, 0, 51, 0, 0,
365 0, 0, 0, 0, 0, 0, 136, 0, 0, 0,
366 137, 138, 139, 140, 15, 0, 56, 45, 0, 0,
367 0, 143, 144, 145, 146, 0, 147, 148, 0, 0,
368 0, 149, 44, 0, 0, 55, 57, 54, 0, 49,
369 0, 58, 52, 53, 51, 71, 71, 71, 71, 0,
370 0, 0, 0, 0, 71, 0, 0, 0, 71, 71,
371 207, 71, 0, 56, 0, 0, 0, 0, 0, 71,
372 71, 71, 71, 0, 71, 15, 71, 0, 45, 0,
373 0, 0, 71, 71, 0, 0, 0, 0, 0, 0,
374 53, 0, 0, 0, 0, 0, 44, 0, 0, 55,
375 57, 54, 0, 49, 0, 58, 52, 0, 51, 0,
376 0, 0, 0, 0, 136, 0, 0, 0, 137, 138,
377 139, 140, 15, 0, 209, 45, 0, 56, 0, 143,
378 144, 145, 146, 0, 147, 148, 0, 0, 0, 149,
379 0, 0, 0, 0, 0, 0, 0, 0, 22, 23,
380 24, 25, 26, 0, 53, 0, 0, 0, 0, 0,
381 0, 0, 0, 0, 0, 32, 0, 33, 34, 35,
382 0, 0, 0, 0, 36, 37, 38, 39, 40, 41,
383 42, 0, 0, 0, 0, 43, 15, 0, 0, 45,
384 46, 0, 47, 48, 0, 0, 0, 0, 72, 0,
385 0, 72, 0, 0, 0, 0, 0, 0, 0, 22,
386 23, 24, 25, 26, 0, 72, 72, 0, 72, 0,
387 72, 0, 0, 0, 0, 0, 32, 0, 33, 34,
388 35, 0, 0, 0, 0, 36, 37, 38, 39, 40,
389 41, 42, 0, 0, 0, 60, 43, 0, 60, 159,
390 72, 46, 0, 47, 48, 0, 22, 23, 24, 25,
391 26, 0, 60, 60, 0, 0, 0, 0, 0, 0,
392 0, 0, 0, 32, 0, 33, 34, 35, 0, 0,
393 0, 0, 36, 37, 38, 39, 40, 41, 42, 0,
394 0, 0, 0, 43, 0, 0, 0, 60, 46, 0,
395 47, 48, 44, 0, 0, 55, 57, 54, 0, 49,
396 0, 58, 52, 0, 51, 0, 0, 0, 0, 0,
397 22, 23, 24, 25, 26, 0, 0, 0, 0, 0,
398 213, 0, 0, 56, 0, 0, 0, 32, 0, 33,
399 34, 35, 0, 0, 0, 0, 36, 37, 38, 39,
400 40, 41, 42, 0, 0, 0, 0, 43, 0, 0,
401 53, 0, 46, 44, 47, 48, 55, 57, 54, 0,
402 49, 0, 58, 52, 0, 51, 0, 0, 0, 0,
403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
404 0, 215, 15, 0, 56, 45, 0, 0, 0, 0,
405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
406 44, 0, 0, 55, 57, 54, 0, 49, 0, 58,
407 52, 53, 51, 72, 72, 72, 72, 0, 0, 0,
408 0, 0, 72, 0, 0, 0, 72, 72, 217, 0,
409 0, 56, 0, 0, 0, 0, 0, 72, 72, 72,
410 72, 0, 72, 15, 72, 0, 45, 0, 0, 0,
411 72, 72, 0, 0, 0, 0, 0, 0, 53, 0,
412 60, 60, 60, 60, 44, 0, 0, 55, 57, 54,
413 0, 49, 0, 58, 52, 0, 51, 0, 0, 0,
414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
415 15, 60, 219, 45, 0, 56, 0, 60, 60, 0,
416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
417 0, 0, 0, 0, 0, 0, 22, 23, 24, 25,
418 26, 0, 53, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 32, 0, 33, 34, 35, 0, 0,
420 0, 0, 36, 37, 38, 39, 40, 41, 42, 0,
421 0, 0, 0, 43, 15, 0, 0, 45, 46, 0,
422 47, 48, 0, 0, 0, 0, 70, 0, 0, 70,
423 0, 0, 0, 0, 0, 0, 0, 22, 23, 24,
424 25, 26, 0, 70, 70, 0, 70, 0, 70, 0,
425 0, 0, 0, 0, 32, 0, 33, 34, 35, 0,
426 0, 0, 0, 36, 37, 38, 39, 40, 41, 42,
427 0, 0, 0, 62, 43, 0, 62, 0, 70, 46,
428 0, 47, 48, 0, 22, 23, 24, 25, 26, 0,
429 62, 62, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 32, 0, 33, 34, 35, 0, 0, 0, 0,
431 36, 37, 38, 39, 40, 41, 42, 0, 0, 0,
432 0, 43, 0, 0, 0, 62, 46, 0, 47, 48,
433 44, 0, 0, 55, 57, 54, 0, 49, 0, 58,
434 52, 0, 51, 0, 0, 0, 0, 0, 22, 23,
435 24, 25, 26, 0, 0, 0, 0, 0, 221, 0,
436 0, 56, 0, 0, 0, 32, 0, 33, 34, 35,
437 0, 0, 0, 0, 36, 37, 38, 39, 40, 41,
438 42, 0, 0, 0, 0, 43, 0, 0, 53, 0,
439 46, 44, 47, 48, 55, 57, 54, 0, 49, 0,
440 58, 52, 0, 51, 0, 0, 0, 0, 0, 0,
441 0, 0, 0, 0, 0, 0, 0, 0, 0, 224,
442 15, 0, 56, 45, 0, 0, 0, 0, 0, 0,
443 0, 0, 0, 0, 0, 0, 0, 0, 44, 0,
444 0, 55, 57, 54, 0, 49, 233, 58, 52, 53,
445 51, 70, 70, 70, 70, 0, 0, 0, 0, 0,
446 70, 0, 0, 0, 70, 70, 70, 70, 0, 56,
447 0, 0, 0, 0, 0, 70, 70, 70, 70, 0,
448 70, 15, 70, 0, 45, 0, 0, 0, 70, 70,
449 0, 0, 0, 0, 0, 0, 53, 0, 62, 62,
450 62, 62, 44, 0, 0, 55, 57, 54, 0, 49,
451 256, 58, 52, 0, 51, 0, 0, 0, 0, 0,
452 0, 0, 0, 0, 0, 0, 0, 0, 15, 62,
453 0, 45, 0, 56, 0, 62, 62, 0, 0, 0,
454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
455 0, 0, 0, 0, 22, 23, 24, 25, 26, 0,
456 53, 0, 0, 0, 0, 0, 0, 0, 0, 0,
457 0, 32, 0, 33, 34, 35, 0, 0, 0, 0,
458 36, 37, 38, 39, 40, 41, 42, 0, 0, 0,
459 0, 43, 15, 0, 0, 45, 46, 0, 47, 48,
460 0, 0, 0, 0, 119, 0, 0, 119, 0, 0,
461 0, 0, 0, 0, 0, 22, 23, 24, 25, 26,
462 0, 119, 119, 0, 119, 0, 119, 0, 0, 0,
463 0, 0, 32, 0, 33, 34, 35, 0, 0, 0,
464 0, 36, 37, 38, 39, 40, 41, 42, 0, 0,
465 0, 63, 43, 0, 63, 0, 119, 46, 0, 47,
466 48, 0, 22, 23, 24, 25, 26, 0, 63, 63,
467 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,
468 0, 33, 34, 35, 0, 0, 0, 0, 36, 37,
469 38, 39, 40, 41, 42, 0, 0, 0, 0, 43,
470 0, 0, 0, 63, 46, 0, 47, 48, 44, 0,
471 0, 55, 57, 54, 0, 49, 258, 58, 52, 0,
472 51, 0, 0, 0, 0, 0, 22, 23, 24, 25,
473 26, 0, 0, 0, 0, 0, 0, 0, 0, 56,
474 0, 0, 0, 32, 0, 33, 34, 35, 0, 0,
475 0, 0, 36, 37, 38, 39, 40, 41, 42, 0,
476 0, 0, 0, 43, 0, 0, 53, 0, 46, 44,
477 47, 48, 55, 57, 54, 0, 49, 0, 58, 52,
478 0, 51, 0, 0, 0, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 262, 0, 0, 15, 0,
480 56, 45, 0, 0, 0, 0, 0, 0, 0, 0,
481 0, 0, 0, 0, 0, 0, 44, 0, 0, 55,
482 57, 54, 0, 49, 265, 58, 52, 53, 51, 119,
483 119, 119, 119, 0, 0, 0, 0, 0, 119, 0,
484 0, 0, 119, 119, 0, 0, 0, 56, 0, 0,
485 0, 0, 0, 119, 119, 119, 119, 0, 0, 15,
486 119, 0, 45, 0, 0, 0, 119, 119, 0, 0,
487 0, 0, 0, 0, 53, 0, 63, 63, 63, 63,
488 44, 0, 0, 55, 57, 54, 0, 49, 0, 58,
489 52, 0, 51, 0, 0, 0, 0, 0, 0, 0,
490 0, 0, 0, 0, 0, 0, 15, 63, 0, 45,
491 0, 56, 0, 63, 63, 0, 0, 0, 0, 0,
492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
493 0, 0, 22, 23, 24, 25, 26, 0, 53, 0,
494 267, 0, 0, 0, 0, 0, 0, 0, 0, 32,
495 0, 33, 34, 35, 0, 0, 0, 0, 36, 37,
496 38, 39, 40, 41, 42, 0, 0, 0, 0, 43,
497 15, 0, 0, 45, 46, 0, 47, 48, 0, 0,
498 0, 0, 0, 0, 0, 0, 0, 68, 0, 0,
499 68, 0, 0, 22, 23, 24, 25, 26, 0, 0,
500 0, 0, 0, 0, 68, 68, 0, 0, 0, 0,
501 32, 0, 33, 34, 35, 0, 0, 0, 0, 36,
502 37, 38, 39, 40, 41, 42, 0, 0, 125, 0,
503 43, 125, 0, 0, 0, 46, 0, 47, 48, 68,
504 22, 23, 24, 25, 26, 125, 125, 0, 125, 0,
505 125, 0, 0, 0, 0, 0, 0, 32, 0, 33,
506 34, 35, 0, 0, 0, 0, 36, 37, 38, 39,
507 40, 41, 42, 0, 0, 0, 0, 43, 0, 0,
508 125, 0, 46, 0, 47, 48, 44, 0, 0, 55,
509 57, 54, 0, 49, 0, 58, 52, 0, 51, 0,
510 0, 0, 0, 0, 22, 23, 24, 25, 26, 0,
511 0, 0, 0, 0, 0, 0, 0, 56, 0, 0,
512 0, 32, 0, 33, 34, 35, 0, 0, 0, 0,
513 36, 37, 38, 39, 40, 41, 42, 0, 0, 0,
514 0, 43, 0, 0, 53, 0, 46, 44, 47, 48,
515 55, 57, 54, 0, 49, 0, 58, 52, 0, 51,
516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
517 0, 0, 0, 0, 0, 0, 15, 0, 56, 45,
518 0, 0, 0, 0, 130, 0, 0, 130, 0, 0,
519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
520 0, 130, 130, 0, 130, 53, 130, 0, 0, 0,
521 0, 0, 68, 68, 68, 68, 0, 0, 0, 0,
522 0, 0, 0, 0, 138, 0, 0, 138, 0, 0,
523 0, 0, 0, 0, 0, 0, 130, 15, 0, 0,
524 45, 138, 138, 68, 138, 0, 138, 0, 0, 68,
525 68, 0, 0, 125, 125, 125, 125, 0, 0, 0,
526 0, 0, 125, 0, 0, 0, 125, 125, 125, 125,
527 0, 0, 0, 0, 0, 0, 138, 125, 125, 125,
528 125, 0, 125, 125, 125, 0, 0, 125, 0, 0,
529 125, 125, 0, 0, 0, 0, 0, 0, 127, 0,
530 0, 127, 0, 0, 0, 0, 0, 0, 0, 0,
531 98, 23, 24, 25, 26, 127, 127, 0, 127, 0,
532 127, 0, 0, 0, 0, 0, 0, 32, 0, 33,
533 34, 35, 0, 0, 0, 0, 36, 37, 38, 39,
534 40, 41, 42, 104, 0, 0, 104, 43, 0, 0,
535 127, 0, 46, 0, 47, 48, 0, 0, 0, 0,
536 104, 104, 0, 104, 0, 104, 0, 0, 0, 0,
537 0, 22, 23, 24, 25, 26, 0, 0, 0, 0,
538 0, 0, 0, 0, 0, 0, 0, 0, 32, 0,
539 33, 34, 35, 0, 0, 104, 0, 36, 37, 38,
540 39, 40, 41, 42, 0, 0, 0, 0, 43, 130,
541 130, 130, 130, 46, 0, 47, 48, 0, 130, 0,
542 0, 0, 130, 130, 130, 130, 0, 0, 0, 0,
543 0, 0, 0, 130, 130, 130, 130, 0, 130, 130,
544 130, 0, 0, 130, 0, 0, 130, 130, 0, 138,
545 138, 138, 138, 0, 0, 0, 0, 0, 138, 0,
546 0, 0, 138, 138, 138, 138, 0, 0, 0, 0,
547 0, 0, 0, 138, 138, 138, 138, 0, 138, 138,
548 138, 115, 0, 138, 115, 0, 138, 138, 0, 0,
549 0, 0, 0, 0, 0, 0, 0, 0, 115, 115,
550 0, 115, 0, 115, 0, 0, 0, 0, 0, 0,
551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
552 0, 0, 0, 127, 127, 127, 127, 0, 0, 0,
553 0, 0, 127, 115, 0, 0, 127, 127, 127, 127,
554 0, 0, 0, 0, 0, 0, 0, 127, 127, 127,
555 127, 0, 127, 127, 127, 0, 136, 127, 0, 136,
556 127, 127, 0, 0, 0, 0, 0, 0, 104, 104,
557 104, 104, 0, 136, 136, 0, 136, 104, 136, 0,
558 0, 104, 104, 104, 104, 0, 0, 0, 0, 0,
559 0, 0, 104, 104, 104, 104, 0, 104, 104, 104,
560 99, 0, 104, 99, 0, 104, 104, 0, 136, 0,
561 0, 0, 0, 0, 0, 0, 0, 99, 99, 0,
562 99, 0, 99, 0, 0, 0, 0, 0, 0, 0,
563 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,
564 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,
565 0, 0, 99, 0, 0, 0, 94, 94, 0, 94,
566 0, 94, 0, 0, 0, 0, 0, 0, 0, 0,
567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
568 0, 0, 93, 0, 0, 93, 0, 0, 0, 0,
569 0, 94, 0, 0, 0, 0, 0, 0, 0, 93,
570 93, 0, 93, 0, 93, 0, 115, 115, 115, 115,
571 0, 0, 0, 0, 0, 115, 0, 0, 0, 115,
572 115, 115, 115, 0, 0, 0, 0, 0, 139, 0,
573 115, 115, 115, 115, 93, 115, 115, 115, 0, 0,
574 115, 0, 0, 115, 115, 139, 139, 0, 139, 0,
575 139, 0, 0, 0, 0, 0, 0, 0, 0, 0,
576 0, 0, 0, 0, 0, 0, 0, 0, 0, 138,
577 0, 0, 138, 0, 0, 0, 0, 0, 0, 0,
578 139, 136, 136, 136, 136, 0, 138, 138, 0, 138,
579 136, 138, 0, 0, 136, 136, 136, 136, 0, 0,
580 0, 0, 0, 0, 0, 136, 136, 136, 136, 0,
581 136, 136, 136, 0, 0, 136, 0, 0, 136, 136,
582 0, 138, 0, 0, 0, 99, 99, 99, 99, 0,
583 0, 0, 0, 0, 99, 0, 0, 0, 99, 99,
584 99, 99, 0, 0, 0, 0, 0, 0, 0, 99,
585 99, 99, 99, 0, 99, 99, 99, 0, 0, 99,
586 0, 0, 99, 99, 94, 94, 94, 94, 0, 0,
587 0, 0, 0, 94, 0, 0, 0, 94, 94, 94,
588 94, 0, 0, 0, 0, 0, 0, 0, 94, 94,
589 94, 94, 0, 94, 94, 94, 0, 81, 94, 0,
590 81, 94, 94, 0, 0, 0, 0, 93, 93, 93,
591 93, 0, 0, 0, 81, 81, 93, 81, 0, 81,
592 93, 93, 93, 93, 0, 0, 0, 0, 0, 0,
593 0, 93, 93, 93, 93, 0, 93, 93, 93, 0,
594 67, 93, 0, 67, 93, 93, 0, 0, 0, 81,
595 0, 0, 0, 139, 139, 139, 139, 67, 67, 0,
596 0, 0, 139, 0, 0, 0, 139, 139, 139, 139,
597 0, 0, 0, 0, 0, 0, 0, 139, 139, 139,
598 139, 0, 139, 139, 139, 0, 0, 139, 0, 0,
599 139, 139, 67, 0, 138, 138, 138, 138, 0, 0,
600 0, 0, 0, 138, 0, 0, 0, 138, 138, 138,
601 138, 0, 0, 0, 0, 0, 0, 0, 138, 138,
602 138, 138, 69, 138, 138, 69, 0, 0, 138, 0,
603 0, 138, 138, 0, 0, 0, 0, 0, 0, 69,
604 69, 0, 69, 0, 69, 0, 0, 0, 0, 0,
605 0, 0, 0, 0, 0, 92, 0, 0, 92, 0,
606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
607 0, 0, 92, 92, 69, 92, 0, 92, 0, 0,
608 0, 0, 0, 0, 0, 0, 0, 0, 129, 0,
609 0, 129, 0, 0, 0, 0, 0, 0, 0, 0,
610 0, 0, 0, 0, 0, 129, 129, 92, 129, 0,
611 129, 0, 0, 0, 0, 0, 0, 0, 0, 0,
612 0, 0, 81, 81, 81, 81, 0, 0, 0, 0,
613 0, 81, 0, 0, 0, 81, 81, 81, 81, 0,
614 129, 0, 0, 0, 0, 0, 81, 81, 81, 81,
615 0, 81, 81, 81, 73, 0, 0, 73, 0, 81,
616 81, 0, 0, 0, 0, 67, 67, 67, 67, 0,
617 0, 73, 73, 0, 73, 0, 73, 0, 0, 0,
618 0, 0, 0, 0, 0, 0, 0, 74, 0, 0,
619 74, 0, 0, 0, 0, 0, 67, 0, 0, 0,
620 0, 0, 67, 67, 74, 74, 73, 74, 0, 74,
621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 0, 0, 0, 66, 0, 0,
623 66, 0, 0, 0, 0, 75, 0, 0, 75, 74,
624 0, 0, 0, 0, 66, 66, 0, 69, 69, 69,
625 69, 65, 75, 75, 65, 75, 69, 75, 0, 0,
626 69, 69, 69, 69, 0, 0, 0, 0, 65, 65,
627 0, 69, 69, 69, 69, 0, 69, 69, 69, 66,
628 92, 92, 92, 92, 69, 69, 0, 75, 0, 92,
629 0, 0, 0, 92, 92, 0, 0, 0, 0, 0,
630 0, 0, 0, 65, 92, 92, 92, 92, 0, 0,
631 0, 92, 0, 129, 129, 129, 129, 92, 92, 0,
632 0, 0, 129, 0, 0, 76, 129, 129, 76, 0,
633 0, 0, 0, 0, 0, 0, 0, 129, 129, 129,
634 129, 0, 76, 76, 129, 76, 0, 76, 0, 0,
635 129, 129, 0, 0, 0, 0, 0, 64, 0, 0,
636 64, 0, 0, 0, 0, 0, 0, 78, 0, 0,
637 78, 0, 0, 0, 64, 64, 0, 76, 0, 73,
638 73, 73, 73, 61, 78, 78, 61, 78, 73, 78,
639 0, 0, 0, 73, 0, 0, 0, 0, 0, 0,
640 61, 61, 0, 73, 73, 73, 73, 0, 0, 64,
641 73, 0, 74, 74, 74, 74, 73, 73, 0, 78,
642 0, 74, 0, 0, 0, 0, 0, 0, 0, 0,
643 0, 0, 0, 0, 0, 61, 74, 74, 74, 74,
644 0, 0, 0, 74, 0, 0, 0, 0, 85, 74,
645 74, 85, 66, 66, 66, 66, 0, 0, 0, 0,
646 75, 75, 75, 75, 0, 85, 85, 0, 85, 75,
647 85, 0, 0, 0, 0, 0, 65, 65, 65, 65,
648 0, 0, 0, 66, 75, 75, 75, 75, 0, 66,
649 66, 75, 0, 0, 0, 0, 0, 75, 75, 0,
650 85, 0, 86, 0, 0, 86, 0, 65, 0, 0,
651 0, 0, 0, 65, 65, 0, 0, 0, 0, 86,
652 86, 0, 86, 0, 86, 0, 0, 0, 0, 0,
653 0, 0, 0, 0, 0, 0, 0, 0, 87, 0,
654 0, 87, 0, 0, 0, 0, 0, 0, 0, 0,
655 76, 76, 76, 76, 86, 87, 87, 0, 87, 76,
656 87, 0, 0, 0, 0, 0, 0, 0, 0, 238,
657 0, 0, 239, 0, 76, 76, 76, 0, 0, 0,
658 0, 76, 64, 64, 64, 64, 0, 76, 76, 141,
659 87, 142, 78, 78, 78, 78, 0, 0, 0, 0,
660 0, 78, 0, 0, 83, 0, 0, 83, 61, 61,
661 61, 61, 0, 64, 0, 0, 78, 78, 0, 64,
662 64, 83, 83, 78, 83, 0, 83, 0, 0, 78,
663 78, 0, 0, 0, 0, 0, 0, 0, 0, 61,
664 84, 0, 0, 84, 0, 61, 61, 0, 0, 0,
665 0, 0, 0, 0, 0, 0, 83, 84, 84, 0,
666 84, 0, 84, 0, 0, 0, 0, 0, 0, 0,
667 0, 0, 0, 85, 85, 85, 85, 0, 0, 0,
668 0, 0, 85, 0, 0, 0, 85, 85, 85, 85,
669 0, 0, 84, 82, 0, 0, 82, 85, 85, 85,
670 85, 0, 85, 85, 85, 0, 0, 85, 0, 0,
671 82, 82, 0, 82, 0, 82, 0, 312, 0, 0,
672 0, 0, 0, 0, 0, 0, 0, 86, 86, 86,
673 86, 0, 0, 0, 0, 0, 86, 141, 0, 142,
674 86, 86, 86, 86, 0, 82, 0, 0, 0, 0,
675 0, 86, 86, 86, 86, 0, 86, 86, 86, 0,
676 0, 86, 0, 87, 87, 87, 87, 0, 0, 0,
677 0, 0, 87, 0, 0, 0, 87, 87, 87, 87,
678 0, 0, 0, 0, 0, 0, 0, 87, 87, 87,
679 87, 0, 87, 87, 87, 0, 0, 87, 0, 0,
680 0, 0, 0, 136, 0, 100, 102, 137, 138, 139,
681 140, 112, 0, 0, 0, 0, 0, 0, 143, 144,
682 145, 146, 0, 147, 148, 0, 0, 0, 149, 83,
683 83, 83, 83, 0, 0, 0, 0, 0, 83, 0,
684 0, 0, 83, 83, 83, 83, 0, 0, 0, 0,
685 162, 0, 0, 83, 83, 83, 83, 0, 83, 83,
686 83, 0, 0, 83, 0, 84, 84, 84, 84, 0,
687 0, 0, 0, 0, 84, 0, 0, 0, 84, 84,
688 84, 84, 0, 0, 0, 0, 0, 0, 0, 84,
689 84, 84, 84, 0, 84, 84, 84, 0, 0, 84,
690 0, 0, 0, 203, 204, 205, 206, 208, 210, 211,
691 212, 214, 216, 218, 220, 222, 223, 225, 82, 82,
692 82, 82, 0, 0, 0, 0, 0, 82, 0, 0,
693 0, 82, 82, 82, 82, 0, 0, 0, 0, 0,
694 0, 0, 82, 82, 82, 82, 0, 82, 82, 0,
695 0, 136, 82, 0, 203, 137, 138, 139, 140, 0,
696 0, 203, 0, 203, 0, 0, 143, 144, 145, 146,
697 0, 147, 148, 0, 0, 268, 149, 269, 0, 0,
698 0, 271, 0, 272, 0, 273, 0, 274, 0, 275,
699 0, 0, 276, 0, 0, 0, 0, 0, 0, 0,
700 0, 0, 0, 0, 0, 0, 0, 287, 0, 0,
701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
703 0, 0, 0, 0, 0, 0, 0, 0, 305,
705 short yycheck[] = { 5,
706 123, 59, 36, 91, 41, 125, 12, 44, 12, 40,
707 16, 40, 18, 171, 173, 257, 40, 165, 40, 167,
708 40, 27, 28, 29, 30, 44, 59, 44, 44, 44,
709 91, 37, 91, 281, 282, 123, 40, 43, 123, 44,
710 279, 280, 281, 282, 281, 49, 44, 44, 296, 53,
711 41, 41, 300, 44, 293, 41, 295, 296, 40, 296,
712 91, 300, 123, 300, 123, 303, 304, 58, 59, 59,
713 61, 44, 0, 59, 93, 234, 93, 93, 84, 83,
714 86, 85, 88, 87, 90, 89, 59, 91, 93, 123,
715 123, 95, 123, 252, 123, 93, 93, 59, 257, 123,
716 259, 123, 93, 123, 279, 33, 281, 282, 36, 37,
717 38, 44, 40, 257, 42, 43, 40, 45, 44, 41,
718 295, 296, 40, 129, 0, 300, 59, 131, 132, 133,
719 134, 59, 290, 59, 257, 293, 64, 59, 41, 44,
720 288, 289, 262, 263, 264, 265, 40, 295, 257, 153,
721 154, 155, 156, 157, 59, 41, 59, 33, 44, 44,
722 36, 37, 38, 91, 40, 272, 42, 43, 41, 45,
723 258, 175, 320, 331, 59, 41, 0, 181, 182, 44,
724 184, 41, 40, 59, 44, 278, 59, 191, 64, 279,
725 280, 281, 282, 59, 59, 123, 289, 125, 126, 257,
726 290, 291, 292, 293, 36, 295, 296, 36, 40, 33,
727 300, 40, 36, 37, 38, 91, 40, 59, 42, 43,
728 297, 45, 226, 257, 228, 270, 271, 261, 0, 266,
729 267, 268, 269, 40, 240, 59, 242, 297, 244, 245,
730 64, 41, 248, 303, 304, 251, 250, 123, 40, 125,
731 126, 266, 267, 268, 269, 296, 260, 41, 36, 300,
732 44, 33, 266, 125, 36, 37, 38, 91, 40, 123,
733 42, 43, 91, 45, 44, 266, 267, 268, 269, 281,
734 282, 262, 263, 264, 265, 41, 41, 59, 292, 44,
735 296, 59, 64, 295, 296, 41, 81, 41, 300, 123,
736 44, 125, 126, 123, 41, 91, 297, 44, 125, 40,
737 40, 96, 303, 304, 318, 300, 40, 125, 41, 91,
738 125, 327, 107, 125, 59, 110, 332, 125, 256, 257,
739 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
740 268, 269, 125, 41, 41, 273, 274, 41, 276, 277,
741 278, 123, 125, 41, 126, 283, 284, 285, 286, 287,
742 288, 289, 41, 59, 41, 41, 294, 59, 59, 297,
743 73, 299, 318, 301, 302, 12, 250, -1, -1, -1,
744 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
745 266, 267, 268, 269, -1, 180, -1, 273, 274, -1,
746 276, 277, 278, 41, -1, -1, 44, 283, 284, 285,
747 286, 287, 288, 289, -1, -1, -1, -1, 294, -1,
748 58, 59, -1, 299, -1, 301, 302, -1, -1, -1,
749 -1, -1, 256, 257, 258, 259, 260, 261, 262, 263,
750 264, 265, 266, 267, 268, 269, -1, -1, -1, 273,
751 274, 236, 276, 277, 278, 93, -1, -1, -1, 283,
752 284, 285, 286, 287, 288, 289, 58, -1, -1, 61,
753 294, 63, -1, -1, -1, 299, -1, 301, 302, -1,
754 -1, -1, -1, -1, 256, 257, 258, 259, 260, 261,
755 -1, -1, -1, 278, 266, 267, 268, 269, -1, -1,
756 285, 273, 274, -1, 276, 277, 278, -1, -1, -1,
757 23, 283, 284, 285, 286, 287, 288, 289, 31, -1,
758 -1, -1, 294, 36, 37, -1, 39, 299, 33, 301,
759 302, 36, 37, 38, -1, 40, 41, 42, 43, 44,
760 45, 54, 55, 56, 57, 58, -1, -1, -1, 23,
761 -1, -1, -1, 58, 59, -1, 61, -1, 63, 64,
762 -1, -1, 36, 44, 45, 46, 47, 48, 42, -1,
763 51, 52, -1, -1, -1, -1, -1, -1, -1, -1,
764 54, 55, 56, 57, 58, -1, 91, -1, 93, 33,
765 103, -1, 36, 37, 38, -1, 40, 41, 42, 43,
766 44, 45, -1, -1, -1, -1, -1, -1, -1, -1,
767 -1, -1, -1, -1, 58, 59, -1, 61, 123, 63,
768 64, 126, 96, 279, 280, 281, 282, -1, 266, 267,
769 268, 269, -1, -1, -1, 291, 292, 293, 33, 295,
770 296, 36, 37, 38, 300, 40, -1, 42, 43, 93,
771 45, -1, -1, -1, 279, 280, 281, 282, -1, 297,
772 279, 280, 281, 282, 59, 303, 304, 292, 293, 64,
773 295, 296, -1, -1, -1, 300, 295, 296, -1, -1,
774 -1, 300, 126, 275, -1, -1, -1, 279, 280, 281,
775 282, -1, -1, -1, -1, -1, 91, -1, 290, 291,
776 292, 293, -1, 295, 296, -1, -1, -1, 300, -1,
777 33, -1, -1, 36, 37, 38, -1, 40, -1, 42,
778 43, -1, 45, -1, -1, -1, -1, -1, 123, -1,
779 -1, 126, -1, -1, -1, -1, 59, -1, -1, -1,
780 -1, 64, -1, -1, -1, -1, -1, -1, -1, -1,
781 -1, -1, 257, 258, 259, 260, 261, -1, -1, -1,
782 -1, 266, 267, 268, 269, -1, -1, -1, 91, 274,
783 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
784 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
785 295, 296, 297, -1, 299, 300, 301, 302, 303, 304,
786 123, -1, -1, 126, -1, -1, -1, -1, -1, -1,
787 -1, -1, -1, 257, 258, 259, 260, 261, -1, -1,
788 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
789 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
790 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
791 294, 295, 296, 297, -1, 299, 300, 301, 302, 303,
792 304, 256, 257, 258, 259, 260, 261, -1, -1, -1,
793 -1, 266, 267, 268, 269, -1, -1, -1, 273, 274,
794 -1, 276, 277, 278, -1, -1, -1, -1, 283, 284,
795 285, 286, 287, 288, 289, -1, -1, -1, -1, 294,
796 41, -1, -1, 44, 299, -1, 301, 302, -1, -1,
797 -1, -1, -1, -1, -1, -1, 33, 58, 59, 36,
798 37, 38, -1, 40, -1, 42, 43, -1, 45, -1,
799 -1, -1, -1, 256, 257, 258, 259, 260, 261, -1,
800 -1, -1, 59, 266, 267, 268, 269, 64, -1, -1,
801 273, 274, 93, 276, 277, 278, -1, -1, -1, -1,
802 283, 284, 285, 286, 287, 288, 289, -1, -1, -1,
803 -1, 294, -1, -1, 91, -1, 299, 33, 301, 302,
804 36, 37, 38, -1, 40, 41, 42, 43, -1, 45,
805 -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
806 -1, 44, -1, -1, -1, -1, 123, -1, 64, 126,
807 -1, -1, -1, -1, -1, 58, 59, -1, 61, -1,
808 63, -1, -1, -1, 33, -1, -1, 36, 37, 38,
809 -1, 40, -1, 42, 43, 91, 45, -1, -1, -1,
810 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
811 93, -1, -1, -1, -1, 64, -1, -1, -1, -1,
812 -1, 41, -1, -1, 44, -1, -1, 123, -1, -1,
813 126, -1, -1, -1, -1, -1, -1, -1, 58, 59,
814 -1, 61, 91, 63, 93, -1, -1, -1, 33, -1,
815 -1, 36, 37, 38, -1, 40, -1, 42, 43, -1,
816 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
817 -1, -1, -1, 93, 123, -1, -1, 126, -1, 64,
818 -1, -1, -1, -1, -1, 266, 267, 268, 269, -1,
819 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
820 257, 258, 259, 260, 261, -1, 91, -1, -1, -1,
821 -1, -1, -1, -1, -1, -1, 297, 274, -1, 276,
822 277, 278, 303, 304, 63, -1, 283, 284, 285, 286,
823 287, 288, 289, -1, -1, -1, -1, 294, 123, -1,
824 -1, 126, 299, -1, 301, 302, -1, -1, -1, -1,
825 41, -1, -1, 44, -1, -1, -1, -1, -1, -1,
826 -1, 257, 258, 259, 260, 261, -1, 58, 59, -1,
827 61, -1, 63, -1, -1, -1, -1, -1, 274, -1,
828 276, 277, 278, 266, 267, 268, 269, 283, 284, 285,
829 286, 287, 288, 289, -1, -1, -1, -1, 294, -1,
830 -1, -1, 93, 299, -1, 301, 302, -1, 257, 258,
831 259, 260, 261, -1, 297, -1, -1, -1, -1, -1,
832 303, 304, -1, -1, -1, 274, -1, 276, 277, 278,
833 61, -1, 63, -1, 283, 284, 285, 286, 287, 288,
834 289, -1, -1, -1, -1, 294, 266, 267, 268, 269,
835 299, -1, 301, 302, 33, 275, -1, 36, 37, 38,
836 -1, 40, 41, 42, 43, -1, 45, -1, -1, -1,
837 290, 256, 257, 258, 259, 260, 261, 297, -1, -1,
838 -1, -1, -1, 303, 304, 64, -1, -1, -1, 274,
839 -1, 276, 277, 278, -1, -1, -1, -1, 283, 284,
840 285, 286, 287, 288, 289, -1, -1, -1, -1, 294,
841 -1, -1, 91, -1, 299, 33, 301, 302, 36, 37,
842 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
843 -1, -1, -1, -1, -1, -1, 275, -1, -1, -1,
844 279, 280, 281, 282, 123, -1, 64, 126, -1, -1,
845 -1, 290, 291, 292, 293, -1, 295, 296, -1, -1,
846 -1, 300, 33, -1, -1, 36, 37, 38, -1, 40,
847 -1, 42, 43, 91, 45, 266, 267, 268, 269, -1,
848 -1, -1, -1, -1, 275, -1, -1, -1, 279, 280,
849 61, 282, -1, 64, -1, -1, -1, -1, -1, 290,
850 291, 292, 293, -1, 295, 123, 297, -1, 126, -1,
851 -1, -1, 303, 304, -1, -1, -1, -1, -1, -1,
852 91, -1, -1, -1, -1, -1, 33, -1, -1, 36,
853 37, 38, -1, 40, -1, 42, 43, -1, 45, -1,
854 -1, -1, -1, -1, 275, -1, -1, -1, 279, 280,
855 281, 282, 123, -1, 61, 126, -1, 64, -1, 290,
856 291, 292, 293, -1, 295, 296, -1, -1, -1, 300,
857 -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
858 259, 260, 261, -1, 91, -1, -1, -1, -1, -1,
859 -1, -1, -1, -1, -1, 274, -1, 276, 277, 278,
860 -1, -1, -1, -1, 283, 284, 285, 286, 287, 288,
861 289, -1, -1, -1, -1, 294, 123, -1, -1, 126,
862 299, -1, 301, 302, -1, -1, -1, -1, 41, -1,
863 -1, 44, -1, -1, -1, -1, -1, -1, -1, 257,
864 258, 259, 260, 261, -1, 58, 59, -1, 61, -1,
865 63, -1, -1, -1, -1, -1, 274, -1, 276, 277,
866 278, -1, -1, -1, -1, 283, 284, 285, 286, 287,
867 288, 289, -1, -1, -1, 41, 294, -1, 44, 297,
868 93, 299, -1, 301, 302, -1, 257, 258, 259, 260,
869 261, -1, 58, 59, -1, -1, -1, -1, -1, -1,
870 -1, -1, -1, 274, -1, 276, 277, 278, -1, -1,
871 -1, -1, 283, 284, 285, 286, 287, 288, 289, -1,
872 -1, -1, -1, 294, -1, -1, -1, 93, 299, -1,
873 301, 302, 33, -1, -1, 36, 37, 38, -1, 40,
874 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
875 257, 258, 259, 260, 261, -1, -1, -1, -1, -1,
876 61, -1, -1, 64, -1, -1, -1, 274, -1, 276,
877 277, 278, -1, -1, -1, -1, 283, 284, 285, 286,
878 287, 288, 289, -1, -1, -1, -1, 294, -1, -1,
879 91, -1, 299, 33, 301, 302, 36, 37, 38, -1,
880 40, -1, 42, 43, -1, 45, -1, -1, -1, -1,
881 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
882 -1, 61, 123, -1, 64, 126, -1, -1, -1, -1,
883 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
884 33, -1, -1, 36, 37, 38, -1, 40, -1, 42,
885 43, 91, 45, 266, 267, 268, 269, -1, -1, -1,
886 -1, -1, 275, -1, -1, -1, 279, 280, 61, -1,
887 -1, 64, -1, -1, -1, -1, -1, 290, 291, 292,
888 293, -1, 295, 123, 297, -1, 126, -1, -1, -1,
889 303, 304, -1, -1, -1, -1, -1, -1, 91, -1,
890 266, 267, 268, 269, 33, -1, -1, 36, 37, 38,
891 -1, 40, -1, 42, 43, -1, 45, -1, -1, -1,
892 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
893 123, 297, 61, 126, -1, 64, -1, 303, 304, -1,
894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
895 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
896 261, -1, 91, -1, -1, -1, -1, -1, -1, -1,
897 -1, -1, -1, 274, -1, 276, 277, 278, -1, -1,
898 -1, -1, 283, 284, 285, 286, 287, 288, 289, -1,
899 -1, -1, -1, 294, 123, -1, -1, 126, 299, -1,
900 301, 302, -1, -1, -1, -1, 41, -1, -1, 44,
901 -1, -1, -1, -1, -1, -1, -1, 257, 258, 259,
902 260, 261, -1, 58, 59, -1, 61, -1, 63, -1,
903 -1, -1, -1, -1, 274, -1, 276, 277, 278, -1,
904 -1, -1, -1, 283, 284, 285, 286, 287, 288, 289,
905 -1, -1, -1, 41, 294, -1, 44, -1, 93, 299,
906 -1, 301, 302, -1, 257, 258, 259, 260, 261, -1,
907 58, 59, -1, -1, -1, -1, -1, -1, -1, -1,
908 -1, 274, -1, 276, 277, 278, -1, -1, -1, -1,
909 283, 284, 285, 286, 287, 288, 289, -1, -1, -1,
910 -1, 294, -1, -1, -1, 93, 299, -1, 301, 302,
911 33, -1, -1, 36, 37, 38, -1, 40, -1, 42,
912 43, -1, 45, -1, -1, -1, -1, -1, 257, 258,
913 259, 260, 261, -1, -1, -1, -1, -1, 61, -1,
914 -1, 64, -1, -1, -1, 274, -1, 276, 277, 278,
915 -1, -1, -1, -1, 283, 284, 285, 286, 287, 288,
916 289, -1, -1, -1, -1, 294, -1, -1, 91, -1,
917 299, 33, 301, 302, 36, 37, 38, -1, 40, -1,
918 42, 43, -1, 45, -1, -1, -1, -1, -1, -1,
919 -1, -1, -1, -1, -1, -1, -1, -1, -1, 61,
920 123, -1, 64, 126, -1, -1, -1, -1, -1, -1,
921 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
922 -1, 36, 37, 38, -1, 40, 41, 42, 43, 91,
923 45, 266, 267, 268, 269, -1, -1, -1, -1, -1,
924 275, -1, -1, -1, 279, 280, 281, 282, -1, 64,
925 -1, -1, -1, -1, -1, 290, 291, 292, 293, -1,
926 295, 123, 297, -1, 126, -1, -1, -1, 303, 304,
927 -1, -1, -1, -1, -1, -1, 91, -1, 266, 267,
928 268, 269, 33, -1, -1, 36, 37, 38, -1, 40,
929 41, 42, 43, -1, 45, -1, -1, -1, -1, -1,
930 -1, -1, -1, -1, -1, -1, -1, -1, 123, 297,
931 -1, 126, -1, 64, -1, 303, 304, -1, -1, -1,
932 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
933 -1, -1, -1, -1, 257, 258, 259, 260, 261, -1,
934 91, -1, -1, -1, -1, -1, -1, -1, -1, -1,
935 -1, 274, -1, 276, 277, 278, -1, -1, -1, -1,
936 283, 284, 285, 286, 287, 288, 289, -1, -1, -1,
937 -1, 294, 123, -1, -1, 126, 299, -1, 301, 302,
938 -1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
939 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
940 -1, 58, 59, -1, 61, -1, 63, -1, -1, -1,
941 -1, -1, 274, -1, 276, 277, 278, -1, -1, -1,
942 -1, 283, 284, 285, 286, 287, 288, 289, -1, -1,
943 -1, 41, 294, -1, 44, -1, 93, 299, -1, 301,
944 302, -1, 257, 258, 259, 260, 261, -1, 58, 59,
945 -1, -1, -1, -1, -1, -1, -1, -1, -1, 274,
946 -1, 276, 277, 278, -1, -1, -1, -1, 283, 284,
947 285, 286, 287, 288, 289, -1, -1, -1, -1, 294,
948 -1, -1, -1, 93, 299, -1, 301, 302, 33, -1,
949 -1, 36, 37, 38, -1, 40, 41, 42, 43, -1,
950 45, -1, -1, -1, -1, -1, 257, 258, 259, 260,
951 261, -1, -1, -1, -1, -1, -1, -1, -1, 64,
952 -1, -1, -1, 274, -1, 276, 277, 278, -1, -1,
953 -1, -1, 283, 284, 285, 286, 287, 288, 289, -1,
954 -1, -1, -1, 294, -1, -1, 91, -1, 299, 33,
955 301, 302, 36, 37, 38, -1, 40, -1, 42, 43,
956 -1, 45, -1, -1, -1, -1, -1, -1, -1, -1,
957 -1, -1, -1, -1, -1, 59, -1, -1, 123, -1,
958 64, 126, -1, -1, -1, -1, -1, -1, -1, -1,
959 -1, -1, -1, -1, -1, -1, 33, -1, -1, 36,
960 37, 38, -1, 40, 41, 42, 43, 91, 45, 266,
961 267, 268, 269, -1, -1, -1, -1, -1, 275, -1,
962 -1, -1, 279, 280, -1, -1, -1, 64, -1, -1,
963 -1, -1, -1, 290, 291, 292, 293, -1, -1, 123,
964 297, -1, 126, -1, -1, -1, 303, 304, -1, -1,
965 -1, -1, -1, -1, 91, -1, 266, 267, 268, 269,
966 33, -1, -1, 36, 37, 38, -1, 40, -1, 42,
967 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
968 -1, -1, -1, -1, -1, -1, 123, 297, -1, 126,
969 -1, 64, -1, 303, 304, -1, -1, -1, -1, -1,
970 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
971 -1, -1, 257, 258, 259, 260, 261, -1, 91, -1,
972 93, -1, -1, -1, -1, -1, -1, -1, -1, 274,
973 -1, 276, 277, 278, -1, -1, -1, -1, 283, 284,
974 285, 286, 287, 288, 289, -1, -1, -1, -1, 294,
975 123, -1, -1, 126, 299, -1, 301, 302, -1, -1,
976 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
977 44, -1, -1, 257, 258, 259, 260, 261, -1, -1,
978 -1, -1, -1, -1, 58, 59, -1, -1, -1, -1,
979 274, -1, 276, 277, 278, -1, -1, -1, -1, 283,
980 284, 285, 286, 287, 288, 289, -1, -1, 41, -1,
981 294, 44, -1, -1, -1, 299, -1, 301, 302, 93,
982 257, 258, 259, 260, 261, 58, 59, -1, 61, -1,
983 63, -1, -1, -1, -1, -1, -1, 274, -1, 276,
984 277, 278, -1, -1, -1, -1, 283, 284, 285, 286,
985 287, 288, 289, -1, -1, -1, -1, 294, -1, -1,
986 93, -1, 299, -1, 301, 302, 33, -1, -1, 36,
987 37, 38, -1, 40, -1, 42, 43, -1, 45, -1,
988 -1, -1, -1, -1, 257, 258, 259, 260, 261, -1,
989 -1, -1, -1, -1, -1, -1, -1, 64, -1, -1,
990 -1, 274, -1, 276, 277, 278, -1, -1, -1, -1,
991 283, 284, 285, 286, 287, 288, 289, -1, -1, -1,
992 -1, 294, -1, -1, 91, -1, 299, 33, 301, 302,
993 36, 37, 38, -1, 40, -1, 42, 43, -1, 45,
994 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
995 -1, -1, -1, -1, -1, -1, 123, -1, 64, 126,
996 -1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
997 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
998 -1, 58, 59, -1, 61, 91, 63, -1, -1, -1,
999 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
1000 -1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
1001 -1, -1, -1, -1, -1, -1, 93, 123, -1, -1,
1002 126, 58, 59, 297, 61, -1, 63, -1, -1, 303,
1003 304, -1, -1, 266, 267, 268, 269, -1, -1, -1,
1004 -1, -1, 275, -1, -1, -1, 279, 280, 281, 282,
1005 -1, -1, -1, -1, -1, -1, 93, 290, 291, 292,
1006 293, -1, 295, 296, 297, -1, -1, 300, -1, -1,
1007 303, 304, -1, -1, -1, -1, -1, -1, 41, -1,
1008 -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
1009 257, 258, 259, 260, 261, 58, 59, -1, 61, -1,
1010 63, -1, -1, -1, -1, -1, -1, 274, -1, 276,
1011 277, 278, -1, -1, -1, -1, 283, 284, 285, 286,
1012 287, 288, 289, 41, -1, -1, 44, 294, -1, -1,
1013 93, -1, 299, -1, 301, 302, -1, -1, -1, -1,
1014 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1015 -1, 257, 258, 259, 260, 261, -1, -1, -1, -1,
1016 -1, -1, -1, -1, -1, -1, -1, -1, 274, -1,
1017 276, 277, 278, -1, -1, 93, -1, 283, 284, 285,
1018 286, 287, 288, 289, -1, -1, -1, -1, 294, 266,
1019 267, 268, 269, 299, -1, 301, 302, -1, 275, -1,
1020 -1, -1, 279, 280, 281, 282, -1, -1, -1, -1,
1021 -1, -1, -1, 290, 291, 292, 293, -1, 295, 296,
1022 297, -1, -1, 300, -1, -1, 303, 304, -1, 266,
1023 267, 268, 269, -1, -1, -1, -1, -1, 275, -1,
1024 -1, -1, 279, 280, 281, 282, -1, -1, -1, -1,
1025 -1, -1, -1, 290, 291, 292, 293, -1, 295, 296,
1026 297, 41, -1, 300, 44, -1, 303, 304, -1, -1,
1027 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
1028 -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
1029 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1030 -1, -1, -1, 266, 267, 268, 269, -1, -1, -1,
1031 -1, -1, 275, 93, -1, -1, 279, 280, 281, 282,
1032 -1, -1, -1, -1, -1, -1, -1, 290, 291, 292,
1033 293, -1, 295, 296, 297, -1, 41, 300, -1, 44,
1034 303, 304, -1, -1, -1, -1, -1, -1, 266, 267,
1035 268, 269, -1, 58, 59, -1, 61, 275, 63, -1,
1036 -1, 279, 280, 281, 282, -1, -1, -1, -1, -1,
1037 -1, -1, 290, 291, 292, 293, -1, 295, 296, 297,
1038 41, -1, 300, 44, -1, 303, 304, -1, 93, -1,
1039 -1, -1, -1, -1, -1, -1, -1, 58, 59, -1,
1040 61, -1, 63, -1, -1, -1, -1, -1, -1, -1,
1041 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1042 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1043 -1, -1, 93, -1, -1, -1, 58, 59, -1, 61,
1044 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1045 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1046 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1047 -1, 93, -1, -1, -1, -1, -1, -1, -1, 58,
1048 59, -1, 61, -1, 63, -1, 266, 267, 268, 269,
1049 -1, -1, -1, -1, -1, 275, -1, -1, -1, 279,
1050 280, 281, 282, -1, -1, -1, -1, -1, 41, -1,
1051 290, 291, 292, 293, 93, 295, 296, 297, -1, -1,
1052 300, -1, -1, 303, 304, 58, 59, -1, 61, -1,
1053 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1054 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1055 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1056 93, 266, 267, 268, 269, -1, 58, 59, -1, 61,
1057 275, 63, -1, -1, 279, 280, 281, 282, -1, -1,
1058 -1, -1, -1, -1, -1, 290, 291, 292, 293, -1,
1059 295, 296, 297, -1, -1, 300, -1, -1, 303, 304,
1060 -1, 93, -1, -1, -1, 266, 267, 268, 269, -1,
1061 -1, -1, -1, -1, 275, -1, -1, -1, 279, 280,
1062 281, 282, -1, -1, -1, -1, -1, -1, -1, 290,
1063 291, 292, 293, -1, 295, 296, 297, -1, -1, 300,
1064 -1, -1, 303, 304, 266, 267, 268, 269, -1, -1,
1065 -1, -1, -1, 275, -1, -1, -1, 279, 280, 281,
1066 282, -1, -1, -1, -1, -1, -1, -1, 290, 291,
1067 292, 293, -1, 295, 296, 297, -1, 41, 300, -1,
1068 44, 303, 304, -1, -1, -1, -1, 266, 267, 268,
1069 269, -1, -1, -1, 58, 59, 275, 61, -1, 63,
1070 279, 280, 281, 282, -1, -1, -1, -1, -1, -1,
1071 -1, 290, 291, 292, 293, -1, 295, 296, 297, -1,
1072 41, 300, -1, 44, 303, 304, -1, -1, -1, 93,
1073 -1, -1, -1, 266, 267, 268, 269, 58, 59, -1,
1074 -1, -1, 275, -1, -1, -1, 279, 280, 281, 282,
1075 -1, -1, -1, -1, -1, -1, -1, 290, 291, 292,
1076 293, -1, 295, 296, 297, -1, -1, 300, -1, -1,
1077 303, 304, 93, -1, 266, 267, 268, 269, -1, -1,
1078 -1, -1, -1, 275, -1, -1, -1, 279, 280, 281,
1079 282, -1, -1, -1, -1, -1, -1, -1, 290, 291,
1080 292, 293, 41, 295, 296, 44, -1, -1, 300, -1,
1081 -1, 303, 304, -1, -1, -1, -1, -1, -1, 58,
1082 59, -1, 61, -1, 63, -1, -1, -1, -1, -1,
1083 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
1084 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1085 -1, -1, 58, 59, 93, 61, -1, 63, -1, -1,
1086 -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
1087 -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
1088 -1, -1, -1, -1, -1, 58, 59, 93, 61, -1,
1089 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1090 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
1091 -1, 275, -1, -1, -1, 279, 280, 281, 282, -1,
1092 93, -1, -1, -1, -1, -1, 290, 291, 292, 293,
1093 -1, 295, 296, 297, 41, -1, -1, 44, -1, 303,
1094 304, -1, -1, -1, -1, 266, 267, 268, 269, -1,
1095 -1, 58, 59, -1, 61, -1, 63, -1, -1, -1,
1096 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
1097 44, -1, -1, -1, -1, -1, 297, -1, -1, -1,
1098 -1, -1, 303, 304, 58, 59, 93, 61, -1, 63,
1099 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1100 -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
1101 44, -1, -1, -1, -1, 41, -1, -1, 44, 93,
1102 -1, -1, -1, -1, 58, 59, -1, 266, 267, 268,
1103 269, 41, 58, 59, 44, 61, 275, 63, -1, -1,
1104 279, 280, 281, 282, -1, -1, -1, -1, 58, 59,
1105 -1, 290, 291, 292, 293, -1, 295, 296, 297, 93,
1106 266, 267, 268, 269, 303, 304, -1, 93, -1, 275,
1107 -1, -1, -1, 279, 280, -1, -1, -1, -1, -1,
1108 -1, -1, -1, 93, 290, 291, 292, 293, -1, -1,
1109 -1, 297, -1, 266, 267, 268, 269, 303, 304, -1,
1110 -1, -1, 275, -1, -1, 41, 279, 280, 44, -1,
1111 -1, -1, -1, -1, -1, -1, -1, 290, 291, 292,
1112 293, -1, 58, 59, 297, 61, -1, 63, -1, -1,
1113 303, 304, -1, -1, -1, -1, -1, 41, -1, -1,
1114 44, -1, -1, -1, -1, -1, -1, 41, -1, -1,
1115 44, -1, -1, -1, 58, 59, -1, 93, -1, 266,
1116 267, 268, 269, 41, 58, 59, 44, 61, 275, 63,
1117 -1, -1, -1, 280, -1, -1, -1, -1, -1, -1,
1118 58, 59, -1, 290, 291, 292, 293, -1, -1, 93,
1119 297, -1, 266, 267, 268, 269, 303, 304, -1, 93,
1120 -1, 275, -1, -1, -1, -1, -1, -1, -1, -1,
1121 -1, -1, -1, -1, -1, 93, 290, 291, 292, 293,
1122 -1, -1, -1, 297, -1, -1, -1, -1, 41, 303,
1123 304, 44, 266, 267, 268, 269, -1, -1, -1, -1,
1124 266, 267, 268, 269, -1, 58, 59, -1, 61, 275,
1125 63, -1, -1, -1, -1, -1, 266, 267, 268, 269,
1126 -1, -1, -1, 297, 290, 291, 292, 293, -1, 303,
1127 304, 297, -1, -1, -1, -1, -1, 303, 304, -1,
1128 93, -1, 41, -1, -1, 44, -1, 297, -1, -1,
1129 -1, -1, -1, 303, 304, -1, -1, -1, -1, 58,
1130 59, -1, 61, -1, 63, -1, -1, -1, -1, -1,
1131 -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
1132 -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
1133 266, 267, 268, 269, 93, 58, 59, -1, 61, 275,
1134 63, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1135 -1, -1, 44, -1, 290, 291, 292, -1, -1, -1,
1136 -1, 297, 266, 267, 268, 269, -1, 303, 304, 61,
1137 93, 63, 266, 267, 268, 269, -1, -1, -1, -1,
1138 -1, 275, -1, -1, 41, -1, -1, 44, 266, 267,
1139 268, 269, -1, 297, -1, -1, 290, 291, -1, 303,
1140 304, 58, 59, 297, 61, -1, 63, -1, -1, 303,
1141 304, -1, -1, -1, -1, -1, -1, -1, -1, 297,
1142 41, -1, -1, 44, -1, 303, 304, -1, -1, -1,
1143 -1, -1, -1, -1, -1, -1, 93, 58, 59, -1,
1144 61, -1, 63, -1, -1, -1, -1, -1, -1, -1,
1145 -1, -1, -1, 266, 267, 268, 269, -1, -1, -1,
1146 -1, -1, 275, -1, -1, -1, 279, 280, 281, 282,
1147 -1, -1, 93, 41, -1, -1, 44, 290, 291, 292,
1148 293, -1, 295, 296, 297, -1, -1, 300, -1, -1,
1149 58, 59, -1, 61, -1, 63, -1, 41, -1, -1,
1150 -1, -1, -1, -1, -1, -1, -1, 266, 267, 268,
1151 269, -1, -1, -1, -1, -1, 275, 61, -1, 63,
1152 279, 280, 281, 282, -1, 93, -1, -1, -1, -1,
1153 -1, 290, 291, 292, 293, -1, 295, 296, 297, -1,
1154 -1, 300, -1, 266, 267, 268, 269, -1, -1, -1,
1155 -1, -1, 275, -1, -1, -1, 279, 280, 281, 282,
1156 -1, -1, -1, -1, -1, -1, -1, 290, 291, 292,
1157 293, -1, 295, 296, 297, -1, -1, 300, -1, -1,
1158 -1, -1, -1, 275, -1, 37, 38, 279, 280, 281,
1159 282, 43, -1, -1, -1, -1, -1, -1, 290, 291,
1160 292, 293, -1, 295, 296, -1, -1, -1, 300, 266,
1161 267, 268, 269, -1, -1, -1, -1, -1, 275, -1,
1162 -1, -1, 279, 280, 281, 282, -1, -1, -1, -1,
1163 82, -1, -1, 290, 291, 292, 293, -1, 295, 296,
1164 297, -1, -1, 300, -1, 266, 267, 268, 269, -1,
1165 -1, -1, -1, -1, 275, -1, -1, -1, 279, 280,
1166 281, 282, -1, -1, -1, -1, -1, -1, -1, 290,
1167 291, 292, 293, -1, 295, 296, 297, -1, -1, 300,
1168 -1, -1, -1, 135, 136, 137, 138, 139, 140, 141,
1169 142, 143, 144, 145, 146, 147, 148, 149, 266, 267,
1170 268, 269, -1, -1, -1, -1, -1, 275, -1, -1,
1171 -1, 279, 280, 281, 282, -1, -1, -1, -1, -1,
1172 -1, -1, 290, 291, 292, 293, -1, 295, 296, -1,
1173 -1, 275, 300, -1, 186, 279, 280, 281, 282, -1,
1174 -1, 193, -1, 195, -1, -1, 290, 291, 292, 293,
1175 -1, 295, 296, -1, -1, 207, 300, 209, -1, -1,
1176 -1, 213, -1, 215, -1, 217, -1, 219, -1, 221,
1177 -1, -1, 224, -1, -1, -1, -1, -1, -1, -1,
1178 -1, -1, -1, -1, -1, -1, -1, 239, -1, -1,
1179 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1180 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1181 -1, -1, -1, -1, -1, -1, -1, -1, 270,
1187 #define YYMAXTOKEN 304
1190 "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,
1191 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1192 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,
1193 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,
1194 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,
1195 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1196 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1197 0,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",
1198 "PMFUNC","PRIVATEREF","LABEL","FORMAT","SUB","PACKAGE","WHILE","UNTIL","IF",
1199 "UNLESS","ELSE","ELSIF","CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1",
1200 "FUNC","RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","LOCAL","DELETE",
1201 "HASHBRACK","NOAMP","LSTOP","OROR","ANDAND","BITOROP","BITANDOP","UNIOP",
1202 "SHIFTOP","MATCHOP","ARROW","UMINUS","REFGEN","POWOP","PREINC","PREDEC",
1203 "POSTINC","POSTDEC",
1208 "prog : $$1 lineseq",
1209 "block : '{' remember lineseq '}'",
1212 "lineseq : lineseq decl",
1213 "lineseq : lineseq line",
1214 "line : label cond",
1217 "line : label sideff ';'",
1220 "sideff : expr IF expr",
1221 "sideff : expr UNLESS expr",
1222 "sideff : expr WHILE expr",
1223 "sideff : expr UNTIL expr",
1225 "else : ELSE block",
1226 "else : ELSIF '(' expr ')' block else",
1227 "cond : IF '(' expr ')' block else",
1228 "cond : UNLESS '(' expr ')' block else",
1229 "cond : IF block block else",
1230 "cond : UNLESS block block else",
1232 "cont : CONTINUE block",
1233 "loop : label WHILE '(' texpr ')' block cont",
1234 "loop : label UNTIL '(' expr ')' block cont",
1235 "loop : label WHILE block block cont",
1236 "loop : label UNTIL block block cont",
1237 "loop : label FOR scalar '(' expr crp block cont",
1238 "loop : label FOR '(' expr crp block cont",
1239 "loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
1240 "loop : label block cont",
1250 "format : FORMAT WORD block",
1251 "format : FORMAT block",
1252 "subrout : SUB WORD block",
1253 "subrout : SUB WORD ';'",
1254 "package : PACKAGE WORD ';'",
1255 "package : PACKAGE ';'",
1256 "expr : expr ',' sexpr",
1258 "listop : LSTOP indirob listexpr",
1259 "listop : FUNC '(' indirob listexpr ')'",
1260 "listop : indirob ARROW LSTOP listexpr",
1261 "listop : indirob ARROW FUNC '(' listexpr ')'",
1262 "listop : term ARROW METHOD '(' listexpr ')'",
1263 "listop : METHOD indirob listexpr",
1264 "listop : LSTOP listexpr",
1265 "listop : FUNC '(' listexpr ')'",
1266 "sexpr : sexpr '=' sexpr",
1267 "sexpr : sexpr POWOP '=' sexpr",
1268 "sexpr : sexpr MULOP '=' sexpr",
1269 "sexpr : sexpr ADDOP '=' sexpr",
1270 "sexpr : sexpr SHIFTOP '=' sexpr",
1271 "sexpr : sexpr BITANDOP '=' sexpr",
1272 "sexpr : sexpr BITOROP '=' sexpr",
1273 "sexpr : sexpr ANDAND '=' sexpr",
1274 "sexpr : sexpr OROR '=' sexpr",
1275 "sexpr : sexpr POWOP sexpr",
1276 "sexpr : sexpr MULOP sexpr",
1277 "sexpr : sexpr ADDOP sexpr",
1278 "sexpr : sexpr SHIFTOP sexpr",
1279 "sexpr : sexpr RELOP sexpr",
1280 "sexpr : sexpr EQOP sexpr",
1281 "sexpr : sexpr BITANDOP sexpr",
1282 "sexpr : sexpr BITOROP sexpr",
1283 "sexpr : sexpr DOTDOT sexpr",
1284 "sexpr : sexpr ANDAND sexpr",
1285 "sexpr : sexpr OROR sexpr",
1286 "sexpr : sexpr '?' sexpr ':' sexpr",
1287 "sexpr : sexpr MATCHOP sexpr",
1293 "term : REFGEN term",
1294 "term : term POSTINC",
1295 "term : term POSTDEC",
1296 "term : PREINC term",
1297 "term : PREDEC term",
1298 "term : LOCAL sexpr",
1299 "term : '(' expr crp",
1301 "term : '[' expr crb",
1303 "term : HASHBRACK expr crhb",
1304 "term : HASHBRACK ';' '}'",
1307 "term : scalar '[' expr ']'",
1308 "term : term ARROW '[' expr ']'",
1312 "term : scalar '{' expr ';' '}'",
1313 "term : term ARROW '{' expr ';' '}'",
1314 "term : '(' expr crp '[' expr ']'",
1315 "term : '(' ')' '[' expr ']'",
1316 "term : ary '[' expr ']'",
1317 "term : ary '{' expr ';' '}'",
1318 "term : DELETE scalar '{' expr ';' '}'",
1319 "term : DELETE '(' scalar '{' expr ';' '}' ')'",
1322 "term : amper '(' ')'",
1323 "term : amper '(' expr crp",
1324 "term : NOAMP WORD listexpr",
1327 "term : DO WORD '(' ')'",
1328 "term : DO WORD '(' expr crp",
1329 "term : DO scalar '(' ')'",
1330 "term : DO scalar '(' expr crp",
1332 "term : LOOPEX WORD",
1334 "term : UNIOP block",
1335 "term : UNIOP sexpr",
1337 "term : FUNC0 '(' ')'",
1338 "term : FUNC1 '(' ')'",
1339 "term : FUNC1 '(' expr ')'",
1340 "term : PMFUNC '(' sexpr ')'",
1341 "term : PMFUNC '(' sexpr ',' sexpr ')'",
1346 "amper : '&' indirob",
1347 "scalar : '$' indirob",
1348 "ary : '@' indirob",
1349 "hsh : '%' indirob",
1350 "arylen : DOLSHARP indirob",
1351 "star : '*' indirob",
1355 "indirob : PRIVATEREF",
1360 "crhb : ',' ';' '}'",
1364 #define yyclearin (yychar=(-1))
1365 #define yyerrok (yyerrflag=0)
1368 #define YYMAXDEPTH YYSTACKSIZE
1372 #define YYSTACKSIZE YYMAXDEPTH
1374 #define YYSTACKSIZE 500
1375 #define YYMAXDEPTH 500
1386 #line 1392 "y.tab.c"
1387 #define YYABORT goto yyabort
1388 #define YYACCEPT goto yyaccept
1389 #define YYERROR goto yyerrlab
1393 register int yym, yyn, yystate;
1394 register short *yyssp;
1395 register YYSTYPE *yyvsp;
1398 unsigned yystacksize = YYSTACKSIZE;
1399 int oldyydebug = yydebug;
1400 int oldyynerrs = yynerrs;
1401 int oldyyerrflag = yyerrflag;
1402 int oldyychar = yychar;
1403 YYSTYPE oldyyval = yyval;
1404 YYSTYPE oldyylval = yylval;
1409 extern char *getenv();
1411 if (yys = getenv("YYDEBUG"))
1414 if (yyn >= '0' && yyn <= '9')
1415 yydebug = yyn - '0';
1424 ** Initialize private stacks (yyparse may be called from an action)
1426 yyss = (short*)malloc(yystacksize*sizeof(short));
1427 yyvs = (YYSTYPE*)malloc(yystacksize*sizeof(YYSTYPE));
1433 *yyssp = yystate = 0;
1436 if (yyn = yydefred[yystate]) goto yyreduce;
1439 if ((yychar = yylex()) < 0) yychar = 0;
1444 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1445 if (!yys) yys = "illegal-symbol";
1446 printf("yydebug: state %d, reading %d (%s)\n", yystate,
1451 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1452 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1456 printf("yydebug: state %d, shifting to state %d\n",
1457 yystate, yytable[yyn]);
1459 if (yyssp >= yyss + yystacksize - 1)
1462 ** reallocate and recover. Note that pointers
1463 ** have to be reset, or bad things will happen
1465 int yyps_index = (yyssp - yyss);
1466 int yypv_index = (yyvsp - yyvs);
1467 yystacksize += YYSTACKSIZE;
1468 yyvs = (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1469 yyss = (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1472 yyssp = yyss + yyps_index;
1473 yyvsp = yyvs + yypv_index;
1475 *++yyssp = yystate = yytable[yyn];
1478 if (yyerrflag > 0) --yyerrflag;
1481 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1482 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1487 if (yyerrflag) goto yyinrecovery;
1492 yyerror("syntax error");
1504 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1505 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1509 printf("yydebug: state %d, error recovery shifting\
1510 to state %d\n", *yyssp, yytable[yyn]);
1512 if (yyssp >= yyss + yystacksize - 1)
1515 ** reallocate and recover. Note that pointers
1516 ** have to be reset, or bad things will happen
1518 int yyps_index = (yyssp - yyss);
1519 int yypv_index = (yyvsp - yyvs);
1520 yystacksize += YYSTACKSIZE;
1521 yyvs = (YYSTYPE*)realloc((char*)yyvs,
1522 yystacksize * sizeof(YYSTYPE));
1523 yyss = (short*)realloc((char*)yyss,
1524 yystacksize * sizeof(short));
1527 yyssp = yyss + yyps_index;
1528 yyvsp = yyvs + yypv_index;
1530 *++yyssp = yystate = yytable[yyn];
1538 printf("yydebug: error recovery discarding state %d\n",
1541 if (yyssp <= yyss) goto yyabort;
1549 if (yychar == 0) goto yyabort;
1554 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1555 if (!yys) yys = "illegal-symbol";
1556 printf("yydebug: state %d, error recovery discards token %d (%s)\n",
1557 yystate, yychar, yys);
1566 printf("yydebug: state %d, reducing by rule %d (%s)\n",
1567 yystate, yyn, yyrule[yyn]);
1570 yyval = yyvsp[1-yym];
1576 #if defined(YYDEBUG) && defined(DEBUGGING)
1577 yydebug = (debug & 1);
1585 eval_root = newUNOP(OP_LEAVEEVAL, 0, yyvsp[0].opval);
1586 eval_start = linklist(eval_root);
1587 eval_root->op_next = 0;
1591 main_root = block_head(yyvsp[0].opval, &main_start);
1596 { yyval.opval = scalarseq(yyvsp[-1].opval);
1597 if (copline > (line_t)yyvsp[-3].ival)
1598 copline = yyvsp[-3].ival;
1599 leave_scope(yyvsp[-2].ival);
1600 pad_leavemy(comppadnamefill);
1605 { yyval.ival = savestack_ix; SAVEINT(comppadnamefill); }
1609 { yyval.opval = Nullop; }
1613 { yyval.opval = yyvsp[-1].opval; }
1617 { yyval.opval = append_list(OP_LINESEQ, yyvsp[-1].opval, yyvsp[0].opval); pad_reset(); }
1621 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1625 { if (yyvsp[-1].pval != Nullch) {
1626 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1629 yyval.opval = Nullop;
1636 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1641 { yyval.opval = Nullop; }
1645 { yyval.opval = yyvsp[0].opval; }
1649 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1653 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1657 { yyval.opval = newLOOPOP(0, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1661 { yyval.opval = newLOOPOP(0, 1, invert(scalar(yyvsp[0].opval)), yyvsp[-2].opval);}
1665 { yyval.opval = Nullop; }
1669 { yyval.opval = scope(yyvsp[0].opval); }
1673 { copline = yyvsp[-5].ival;
1674 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1678 { copline = yyvsp[-5].ival;
1679 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1683 { copline = yyvsp[-5].ival;
1684 yyval.opval = newCONDOP(0,
1685 invert(scalar(yyvsp[-3].opval)), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1689 { copline = yyvsp[-3].ival;
1690 yyval.opval = newCONDOP(0, scope(yyvsp[-2].opval), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1694 { copline = yyvsp[-3].ival;
1695 yyval.opval = newCONDOP(0, invert(scalar(scope(yyvsp[-2].opval))),
1696 scope(yyvsp[-1].opval), yyvsp[0].opval); }
1700 { yyval.opval = Nullop; }
1704 { yyval.opval = scope(yyvsp[0].opval); }
1708 { copline = yyvsp[-5].ival;
1709 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
1710 newWHILEOP(0, 1, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval) ); }
1714 { copline = yyvsp[-5].ival;
1715 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
1716 newWHILEOP(0, 1, Nullop,
1717 invert(scalar(yyvsp[-3].opval)), yyvsp[-1].opval, yyvsp[0].opval) ); }
1721 { copline = yyvsp[-3].ival;
1722 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
1723 newWHILEOP(0, 1, Nullop,
1724 scope(yyvsp[-2].opval), yyvsp[-1].opval, yyvsp[0].opval) ); }
1728 { copline = yyvsp[-3].ival;
1729 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
1730 newWHILEOP(0, 1, Nullop,
1731 invert(scalar(scope(yyvsp[-2].opval))), yyvsp[-1].opval, yyvsp[0].opval)); }
1735 { yyval.opval = newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, ref(yyvsp[-5].opval, OP_ENTERLOOP),
1736 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1740 { yyval.opval = newFOROP(0, yyvsp[-6].pval, yyvsp[-5].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
1744 { copline = yyvsp[-8].ival;
1745 yyval.opval = append_elem(OP_LINESEQ,
1746 newSTATEOP(0, yyvsp[-9].pval, scalar(yyvsp[-6].opval)),
1747 newSTATEOP(0, yyvsp[-9].pval,
1748 newWHILEOP(0, 1, Nullop,
1749 scalar(yyvsp[-4].opval), yyvsp[0].opval, scalar(yyvsp[-2].opval)) )); }
1753 { yyval.opval = newSTATEOP(0,
1754 yyvsp[-2].pval, newWHILEOP(0, 1, Nullop, Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
1758 { yyval.opval = Nullop; }
1762 { (void)scan_num("1"); yyval.opval = yylval.opval; }
1766 { yyval.pval = Nullch; }
1782 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1786 { newFORM(yyvsp[-1].ival, Nullop, yyvsp[0].opval); }
1790 { newSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
1794 { newSUB(yyvsp[-2].ival, yyvsp[-1].opval, Nullop); }
1798 { package(yyvsp[-1].opval); }
1802 { package(Nullop); }
1806 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
1810 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
1811 prepend_elem(OP_LIST, newGVREF(yyvsp[-1].opval), yyvsp[0].opval) ); }
1815 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
1816 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].opval), yyvsp[-1].opval) ); }
1820 { yyval.opval = convert(yyvsp[-1].ival, OPf_STACKED,
1821 prepend_elem(OP_LIST, newGVREF(yyvsp[-3].opval), yyvsp[0].opval) ); }
1825 { yyval.opval = convert(yyvsp[-3].ival, OPf_STACKED,
1826 prepend_elem(OP_LIST, newGVREF(yyvsp[-5].opval), yyvsp[-1].opval) ); }
1830 { yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
1831 prepend_elem(OP_LIST, newMETHOD(yyvsp[-5].opval,yyvsp[-3].opval), yyvsp[-1].opval)); }
1835 { yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
1836 prepend_elem(OP_LIST, newMETHOD(yyvsp[-1].opval,yyvsp[-2].opval), yyvsp[0].opval)); }
1840 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
1844 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
1848 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[0].opval); }
1852 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
1853 ref(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
1857 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
1858 ref(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
1862 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
1863 ref(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval));}
1867 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
1868 ref(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
1872 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
1873 ref(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
1877 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
1878 ref(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
1882 { yyval.opval = newLOGOP(OP_ANDASSIGN, 0,
1883 ref(scalar(yyvsp[-3].opval), OP_ANDASSIGN),
1884 newUNOP(OP_SASSIGN, 0, scalar(yyvsp[0].opval))); }
1888 { yyval.opval = newLOGOP(OP_ORASSIGN, 0,
1889 ref(scalar(yyvsp[-3].opval), OP_ORASSIGN),
1890 newUNOP(OP_SASSIGN, 0, scalar(yyvsp[0].opval))); }
1894 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1898 { if (yyvsp[-1].ival != OP_REPEAT)
1899 scalar(yyvsp[-2].opval);
1900 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
1904 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1908 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1912 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1916 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1920 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1924 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
1928 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
1932 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1936 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
1940 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
1944 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
1948 { yyval.opval = yyvsp[0].opval; }
1952 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
1956 { yyval.opval = yyvsp[0].opval; }
1960 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
1964 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
1968 { yyval.opval = newUNOP(OP_REFGEN, 0, ref(yyvsp[0].opval, OP_REFGEN)); }
1972 { yyval.opval = newUNOP(OP_POSTINC, 0,
1973 ref(scalar(yyvsp[-1].opval), OP_POSTINC)); }
1977 { yyval.opval = newUNOP(OP_POSTDEC, 0,
1978 ref(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
1982 { yyval.opval = newUNOP(OP_PREINC, 0,
1983 ref(scalar(yyvsp[0].opval), OP_PREINC)); }
1987 { yyval.opval = newUNOP(OP_PREDEC, 0,
1988 ref(scalar(yyvsp[0].opval), OP_PREDEC)); }
1992 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
1996 { yyval.opval = sawparens(yyvsp[-1].opval); }
2000 { yyval.opval = newNULLLIST(); }
2004 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2008 { yyval.opval = newANONLIST(Nullop); }
2012 { yyval.opval = newANONHASH(yyvsp[-1].opval); }
2016 { yyval.opval = newANONHASH(Nullop); }
2020 { yyval.opval = yyvsp[0].opval; }
2024 { yyval.opval = yyvsp[0].opval; }
2028 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2032 { yyval.opval = newBINOP(OP_AELEM, 0,
2033 scalar(ref(newAVREF(yyvsp[-4].opval),OP_RV2AV)),
2034 scalar(yyvsp[-1].opval));}
2038 { yyval.opval = yyvsp[0].opval; }
2042 { yyval.opval = yyvsp[0].opval; }
2046 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2050 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2051 expect = XOPERATOR; }
2055 { yyval.opval = newBINOP(OP_HELEM, 0,
2056 scalar(ref(newHVREF(yyvsp[-5].opval),OP_RV2HV)),
2057 jmaybe(yyvsp[-2].opval));
2058 expect = XOPERATOR; }
2062 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2066 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2070 { yyval.opval = prepend_elem(OP_ASLICE,
2071 newOP(OP_PUSHMARK, 0),
2073 newLISTOP(OP_ASLICE, 0,
2074 list(yyvsp[-1].opval),
2075 ref(yyvsp[-3].opval, OP_ASLICE)))); }
2079 { yyval.opval = prepend_elem(OP_HSLICE,
2080 newOP(OP_PUSHMARK, 0),
2082 newLISTOP(OP_HSLICE, 0,
2083 list(yyvsp[-2].opval),
2084 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE))));
2085 expect = XOPERATOR; }
2089 { yyval.opval = newBINOP(OP_DELETE, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2090 expect = XOPERATOR; }
2094 { yyval.opval = newBINOP(OP_DELETE, 0, oopsHV(yyvsp[-5].opval), jmaybe(yyvsp[-3].opval));
2095 expect = XOPERATOR; }
2099 { yyval.opval = yyvsp[0].opval; }
2103 { yyval.opval = newUNOP(OP_ENTERSUBR, 0,
2104 scalar(yyvsp[0].opval)); }
2108 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2112 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED,
2113 list(prepend_elem(OP_LIST, scalar(yyvsp[-3].opval), yyvsp[-1].opval))); }
2117 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED,
2118 list(prepend_elem(OP_LIST,
2119 newCVREF(scalar(yyvsp[-1].opval)), yyvsp[0].opval))); }
2123 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval));
2128 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2132 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2133 list(prepend_elem(OP_LIST,
2134 scalar(newCVREF(scalar(yyvsp[-2].opval))), newNULLLIST()))); }
2138 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2139 list(prepend_elem(OP_LIST,
2140 scalar(newCVREF(scalar(yyvsp[-3].opval))),
2141 yyvsp[-1].opval))); }
2145 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2146 list(prepend_elem(OP_LIST,
2147 scalar(newCVREF(scalar(yyvsp[-2].opval))), newNULLLIST())));}
2151 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2152 list(prepend_elem(OP_LIST,
2153 scalar(newCVREF(scalar(yyvsp[-3].opval))),
2154 yyvsp[-1].opval))); }
2158 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL); }
2162 { yyval.opval = newPVOP(yyvsp[-1].ival, 0,
2163 savestr(SvPVnx(((SVOP*)yyvsp[0].opval)->op_sv)));
2164 op_free(yyvsp[0].opval); }
2168 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2172 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2176 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2180 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2184 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2188 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2192 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2196 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2200 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2204 { yyval.opval = newNULLLIST(); }
2208 { yyval.opval = yyvsp[0].opval; }
2212 { yyval.opval = newCVREF(yyvsp[0].opval); }
2216 { yyval.opval = newSVREF(yyvsp[0].opval); }
2220 { yyval.opval = newAVREF(yyvsp[0].opval); }
2224 { yyval.opval = newHVREF(yyvsp[0].opval); }
2228 { yyval.opval = newAVREF(yyvsp[0].opval); }
2232 { yyval.opval = newGVREF(yyvsp[0].opval); }
2236 { yyval.opval = scalar(yyvsp[0].opval); }
2240 { yyval.opval = scalar(yyvsp[0].opval); }
2244 { yyval.opval = scalar(scope(yyvsp[0].opval)); }
2248 { yyval.opval = yyvsp[0].opval; }
2274 #line 2233 "y.tab.c"
2280 if (yystate == 0 && yym == 0)
2284 printf("yydebug: after reduction, shifting from state 0 to\
2285 state %d\n", YYFINAL);
2292 if ((yychar = yylex()) < 0) yychar = 0;
2297 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2298 if (!yys) yys = "illegal-symbol";
2299 printf("yydebug: state %d, reading %d (%s)\n",
2300 YYFINAL, yychar, yys);
2304 if (yychar == 0) goto yyaccept;
2307 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2308 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2309 yystate = yytable[yyn];
2311 yystate = yydgoto[yym];
2314 printf("yydebug: after reduction, shifting from state %d \
2315 to state %d\n", *yyssp, yystate);
2317 if (yyssp >= yyss + yystacksize - 1)
2320 ** reallocate and recover. Note that pointers
2321 ** have to be reset, or bad things will happen
2323 int yyps_index = (yyssp - yyss);
2324 int yypv_index = (yyvsp - yyvs);
2325 yystacksize += YYSTACKSIZE;
2326 yyvs = (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2327 yyss = (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2330 yyssp = yyss + yyps_index;
2331 yyvsp = yyvs + yypv_index;
2337 yyerror("Out of memory for yacc stack");
2341 if (yyss) free(yyss);
2342 if (yyvs) free(yyvs);
2343 yydebug = oldyydebug;
2344 yynerrs = oldyynerrs;
2345 yyerrflag = oldyyerrflag;