2 static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
25 #define PRIVATEREF 261
73 30, 0, 7, 3, 8, 8, 8, 9, 9, 9,
74 9, 23, 23, 23, 23, 23, 23, 13, 13, 13,
75 11, 11, 11, 11, 29, 29, 10, 10, 10, 10,
76 10, 10, 10, 10, 12, 12, 26, 26, 28, 28,
77 1, 1, 1, 2, 2, 31, 31, 32, 32, 14,
78 14, 27, 27, 27, 27, 27, 27, 27, 27, 15,
79 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
80 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
81 15, 15, 15, 15, 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, 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,
87 16, 16, 24, 24, 22, 17, 18, 19, 20, 21,
88 25, 25, 25, 25, 4, 4, 5, 5, 6, 6,
91 0, 2, 4, 0, 0, 2, 2, 2, 1, 2,
92 3, 1, 1, 3, 3, 3, 3, 0, 2, 6,
93 6, 6, 4, 4, 0, 2, 7, 7, 5, 5,
94 8, 7, 10, 3, 0, 1, 0, 1, 0, 1,
95 1, 1, 1, 3, 2, 3, 3, 3, 2, 3,
96 1, 3, 5, 4, 6, 6, 3, 2, 4, 3,
97 4, 4, 4, 4, 4, 4, 4, 4, 3, 3,
98 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
99 3, 5, 3, 1, 2, 2, 2, 2, 2, 2,
100 2, 2, 2, 2, 3, 2, 3, 2, 3, 3,
101 1, 1, 4, 5, 4, 1, 1, 1, 5, 6,
102 5, 6, 5, 4, 5, 6, 8, 1, 1, 3,
103 4, 3, 4, 2, 2, 4, 5, 4, 5, 1,
104 2, 1, 2, 2, 1, 3, 3, 4, 4, 6,
105 1, 1, 0, 1, 2, 2, 2, 2, 2, 2,
106 1, 1, 1, 1, 2, 1, 2, 1, 3, 2,
108 short yydefred[] = { 1,
109 0, 5, 0, 40, 0, 0, 0, 6, 41, 7,
110 9, 0, 42, 43, 4, 0, 45, 0, 0, 49,
111 12, 0, 0, 118, 0, 154, 0, 0, 0, 0,
112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
113 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,
114 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
115 0, 0, 0, 0, 0, 106, 108, 102, 0, 0,
116 0, 142, 5, 44, 47, 46, 48, 151, 153, 152,
117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
118 0, 0, 131, 0, 0, 0, 149, 0, 125, 0,
119 0, 0, 0, 0, 0, 0, 0, 0, 58, 0,
120 133, 0, 0, 0, 0, 0, 0, 0, 0, 0,
121 0, 98, 0, 145, 146, 147, 148, 150, 0, 34,
122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
124 0, 0, 0, 90, 91, 0, 0, 0, 0, 0,
125 0, 11, 0, 0, 57, 0, 0, 0, 0, 0,
126 0, 0, 0, 0, 0, 0, 0, 36, 0, 136,
127 137, 0, 0, 0, 0, 0, 0, 0, 100, 0,
128 0, 99, 122, 0, 52, 0, 156, 0, 0, 0,
129 158, 97, 26, 0, 0, 0, 0, 0, 0, 0,
130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
133 0, 120, 0, 0, 0, 3, 139, 0, 0, 29,
134 0, 30, 0, 0, 0, 23, 0, 24, 0, 0,
135 0, 138, 59, 0, 126, 0, 128, 0, 0, 0,
136 0, 160, 123, 0, 155, 0, 157, 0, 0, 0,
137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
138 105, 0, 103, 0, 114, 121, 0, 54, 0, 0,
139 0, 0, 19, 0, 0, 0, 0, 0, 53, 127,
140 129, 0, 0, 159, 113, 0, 0, 111, 0, 0,
141 104, 109, 115, 0, 140, 27, 28, 21, 0, 22,
142 0, 32, 0, 0, 116, 112, 110, 56, 55, 0,
143 0, 31, 0, 0, 0, 117, 20, 33,
145 short yydgoto[] = { 1,
146 8, 9, 73, 199, 202, 192, 79, 3, 10, 11,
147 60, 176, 256, 108, 62, 63, 64, 65, 66, 67,
148 68, 69, 178, 109, 71, 168, 72, 12, 130, 2,
151 short yysindex[] = { 0,
152 0, 0, 50, 0, -111, -240, -53, 0, 0, 0,
153 0, 892, 0, 0, 0, -47, 0, -24, -39, 0,
154 0, 0, -33, 0, -9, 0, -30, -26, -25, -22,
155 32, -214, 68, 87, 108, -33, 2699, 2800, 38, 992,
156 -79, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 1048, 0,
157 2800, 2800, 1098, -33, -33, -33, -33, -33, -93, 0,
158 -4, 502, -87, -72, -52, 0, 0, 0, 140, 139,
159 -97, 0, 0, 0, 0, 0, 0, 0, 0, 0,
160 2800, 2800, 2800, -47, 2800, -47, 2800, -47, 2800, -47,
161 1222, 175, 0, 180, 1328, 2800, 0, 176, 0, 9,
162 -32, 9, 207, 109, 120, 11, 2800, 203, 0, 1378,
163 0, 9, -70, -70, -70, -50, -50, 159, 1, -70,
164 -70, 0, -18, 0, 0, 0, 0, 0, -47, 0,
165 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 1428, 1499,
166 2800, 2800, 2800, 2800, 1700, 1756, 1806, 1856, 2063, 2800,
167 2113, 2800, -89, 0, 0, 2800, 2800, 2800, 2800, 2800,
168 2165, 0, -94, -92, 0, 196, 203, 210, -93, 78,
169 -93, 106, -103, 145, -103, 194, 8, 0, 2800, 0,
170 0, 197, 217, 1378, 2234, 2422, 137, 2800, 0, 2491,
171 142, 0, 0, 1378, 0, 2800, 0, 2543, 170, 2593,
172 0, 0, 0, 203, 203, 203, 203, 665, 52, 9,
173 -68, 2800, -187, 2800, -233, 332, 665, 665, 715, 2800,
174 508, 2800, 1021, 2800, 691, 2800, 136, 2800, -121, -34,
175 2800, -34, 58, 2800, 239, 2800, -16, 66, 10, 107,
176 13, 0, 1, 240, 2800, 0, 0, 2800, -47, 0,
177 -47, 0, -47, -47, 241, 0, -47, 0, 2800, -47,
178 1, 0, 0, 246, 0, 1, 0, 1, 2800, 131,
179 169, 0, 0, 16, 0, 2800, 0, 665, 665, 2800,
180 665, 665, 665, 665, 665, 665, 179, 148, 2800, 19,
181 0, 185, 0, 191, 0, 0, 2800, 0, 411, -93,
182 -93, -103, 0, 2800, -103, 259, -93, -47, 0, 0,
183 0, 151, 200, 0, 0, 23, 236, 0, 205, 264,
184 0, 0, 0, 278, 0, 0, 0, 0, 198, 0,
185 1222, 0, -93, 211, 0, 0, 0, 0, 0, -47,
186 282, 0, 296, -103, -47, 0, 0, 0,
188 short yyrindex[] = { 0,
189 0, 0, 463, 0, 0, 0, 0, 0, 0, 0,
190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
191 0, 557, 0, 0, 0, 0, 0, 0, 0, 0,
192 0, 2841, 2887, 0, 0, 0, 0, 0, 0, 0,
193 0, 3417, 3464, 0, 0, 0, 0, 0, 0, 0,
194 0, 0, 0, 0, 0, 0, 0, 0, 100, 0,
195 46, 5017, 5512, 618, 3723, 0, 0, 0, 2930, 0,
196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
197 3417, 0, 297, 0, 0, 0, 0, 0, 0, 0,
198 280, 0, 0, 0, 0, 300, 0, 2971, 0, 4145,
199 3764, 4186, 0, 0, 0, 0, 3417, 3034, 0, 3846,
200 0, 4228, 5058, 5097, 5142, 5357, 5401, 3249, 0, 5438,
201 5475, 0, 0, 0, 0, 0, 0, 0, 0, 0,
202 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
205 0, 0, 0, 942, 0, 0, 48, 0, 163, 0,
206 163, 0, 284, 0, 284, 0, 283, 0, 0, 0,
207 0, 0, 0, 300, 0, 0, 0, 0, 0, 0,
208 0, 0, 0, 3846, 0, 0, 0, 0, 3293, 0,
209 0, 0, 0, 80, 82, 93, 103, 1404, 4643, 4269,
210 4313, 0, 3805, 0, 3, 1005, 4507, 4672, 0, 0,
211 4631, 0, 4602, 0, 4573, 0, 4532, 0, 3888, 3334,
212 0, 3376, 0, 0, 0, 0, 0, 0, 0, 0,
213 0, 0, 0, 0, 3417, 0, 0, 0, 0, 0,
214 0, 0, 0, 0, 0, 0, 0, 0, 292, 0,
215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
216 0, 0, 0, 0, 0, 0, 0, 4691, 4761, 0,
217 4909, 4950, 4954, 4962, 5005, 5013, 0, 0, 300, 0,
218 0, 0, 0, 0, 0, 0, 300, 0, 0, 163,
219 163, 284, 0, 0, 284, 0, 163, 0, 0, 0,
220 0, 0, 0, 0, 0, 0, 2386, 0, 0, 0,
221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
222 311, 0, 163, 0, 0, 0, 0, 0, 0, 0,
223 0, 0, 0, 284, 0, 0, 0, 0,
225 short yygindex[] = { 0,
226 0, 0, 0, -148, 0, 0, -5, 298, 0, 0,
227 0, 22, -170, -3, 5708, 591, 1069, 0, 0, 0,
228 0, 0, 343, -80, 1003, 111, 0, 0, -113, 0,
231 #define YYTABLESIZE 5988
232 short yytable[] = { 17,
233 165, 236, 55, 156, 258, 20, 59, 186, 61, 83,
234 74, 15, 76, 85, 87, 183, 18, 89, 158, 77,
235 156, 84, 86, 88, 90, 200, 193, 135, 260, 195,
236 82, 99, 246, 234, 75, 152, 106, 111, 160, 135,
237 156, 197, 93, 71, 198, 119, 71, 139, 197, 123,
238 157, 198, 152, 135, 190, 250, 135, 252, 158, 135,
239 71, 71, 135, 71, 150, 71, 135, 55, 151, 191,
240 159, 91, 152, 55, 201, 15, 291, 103, 169, 167,
241 171, 170, 173, 172, 175, 174, 13, 177, 38, 15,
242 157, 182, 15, 71, 296, 71, 15, 15, 15, 25,
243 15, 135, 293, 264, 13, 295, 38, 94, 315, 135,
244 150, 321, 308, 273, 151, 336, 287, 310, 251, 311,
245 16, 135, 17, 203, 292, 71, 95, 204, 205, 206,
246 207, 328, 25, 14, 330, 25, 25, 25, 16, 25,
247 17, 25, 25, 15, 25, 16, 253, 96, 233, 135,
248 135, 14, 237, 238, 239, 240, 241, 243, 25, 139,
249 140, 15, 25, 25, 298, 294, 254, 255, 235, 4,
250 5, 6, 7, 347, 135, 261, 150, 107, 129, 161,
251 151, 266, 268, 244, 270, 257, 326, 327, 135, 313,
252 25, 135, 274, 332, 135, 25, 245, 162, 25, 25,
253 25, 163, 25, 19, 25, 25, 319, 25, 320, 334,
254 137, 153, 139, 140, 179, 185, 324, 154, 155, 342,
255 180, 25, 25, 78, 25, 25, 25, 26, 149, 150,
256 288, 188, 290, 151, 154, 155, 247, 262, 340, 248,
257 135, 135, 55, 300, 189, 301, 135, 302, 303, 196,
258 249, 305, 259, 25, 307, 167, 143, 263, 144, 269,
259 276, 131, 132, 133, 134, 312, 272, 151, 71, 71,
260 71, 71, 316, 131, 132, 133, 134, 71, 289, 297,
261 304, 71, 71, 18, 71, 25, 309, 25, 25, 139,
262 140, 71, 71, 314, 71, 71, 71, 71, 144, 71,
263 329, 71, 333, 318, 338, 149, 150, 71, 71, 322,
264 151, 4, 5, 6, 7, 323, 18, 331, 339, 18,
265 18, 18, 345, 18, 335, 18, 18, 61, 18, 337,
266 137, 138, 139, 140, 344, 343, 346, 37, 35, 348,
267 143, 13, 18, 145, 146, 147, 148, 18, 149, 150,
268 37, 35, 341, 151, 70, 25, 25, 25, 25, 25,
269 25, 25, 25, 25, 25, 25, 25, 25, 25, 306,
270 164, 0, 25, 25, 18, 25, 25, 25, 0, 0,
271 0, 0, 25, 25, 25, 25, 25, 25, 0, 0,
272 25, 0, 143, 0, 144, 25, 0, 0, 153, 0,
273 25, 0, 25, 25, 0, 0, 18, 0, 18, 18,
274 0, 0, 0, 0, 137, 138, 139, 140, 25, 25,
275 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
276 25, 25, 149, 150, 0, 25, 25, 151, 25, 25,
277 25, 0, 0, 0, 0, 25, 25, 25, 25, 25,
278 25, 325, 0, 25, 0, 0, 0, 0, 25, 0,
279 0, 0, 2, 25, 0, 25, 25, 0, 0, 0,
280 136, 143, 0, 144, 137, 138, 139, 140, 0, 0,
281 0, 0, 0, 0, 141, 142, 0, 145, 146, 147,
282 148, 0, 149, 150, 0, 39, 0, 151, 39, 39,
283 39, 0, 39, 0, 39, 39, 0, 39, 0, 0,
284 136, 0, 0, 0, 137, 138, 139, 140, 0, 0,
285 0, 39, 0, 0, 0, 0, 39, 145, 146, 147,
286 148, 0, 149, 150, 0, 0, 0, 151, 0, 18,
287 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
288 18, 18, 18, 39, 0, 0, 18, 18, 0, 18,
289 18, 18, 143, 0, 144, 0, 18, 18, 18, 18,
290 18, 18, 0, 0, 18, 0, 0, 0, 0, 18,
291 0, 0, 0, 0, 18, 39, 18, 18, 39, 151,
292 0, 0, 151, 151, 151, 0, 151, 141, 151, 151,
293 141, 151, 0, 0, 0, 0, 136, 0, 0, 0,
294 137, 138, 139, 140, 141, 141, 0, 141, 0, 141,
295 151, 142, 0, 145, 146, 147, 148, 0, 149, 150,
296 0, 0, 0, 151, 113, 114, 115, 116, 117, 0,
297 0, 120, 121, 0, 0, 0, 0, 141, 0, 141,
298 152, 0, 0, 152, 152, 152, 0, 152, 101, 152,
299 152, 101, 152, 0, 0, 0, 0, 0, 0, 0,
300 0, 0, 0, 0, 0, 101, 101, 0, 101, 141,
301 101, 152, 151, 0, 0, 136, 0, 0, 0, 137,
302 138, 139, 140, 0, 0, 0, 0, 0, 0, 141,
303 142, 0, 145, 146, 147, 148, 0, 149, 150, 0,
304 101, 0, 151, 0, 0, 0, 0, 0, 39, 39,
305 39, 39, 39, 39, 0, 143, 0, 144, 39, 39,
306 39, 39, 0, 0, 0, 39, 39, 0, 39, 39,
307 39, 0, 0, 152, 0, 39, 39, 39, 39, 39,
308 39, 0, 0, 39, 0, 0, 0, 0, 39, 0,
309 0, 0, 0, 39, 0, 39, 39, 0, 0, 0,
310 0, 0, 280, 0, 0, 143, 136, 144, 0, 0,
311 137, 138, 139, 140, 0, 0, 137, 138, 139, 140,
312 141, 142, 0, 145, 146, 147, 148, 0, 149, 150,
313 146, 147, 148, 151, 149, 150, 0, 0, 0, 151,
314 0, 0, 0, 151, 151, 151, 151, 151, 0, 0,
315 0, 0, 141, 141, 141, 141, 0, 0, 0, 0,
316 151, 141, 151, 151, 151, 141, 141, 141, 141, 151,
317 151, 151, 151, 151, 151, 141, 141, 151, 141, 141,
318 141, 141, 151, 141, 141, 141, 0, 151, 141, 151,
319 151, 141, 141, 0, 0, 0, 0, 0, 0, 0,
320 0, 0, 0, 0, 152, 152, 152, 152, 152, 0,
321 0, 0, 0, 101, 101, 101, 101, 0, 0, 0,
322 0, 152, 101, 152, 152, 152, 101, 101, 101, 101,
323 152, 152, 152, 152, 152, 152, 101, 101, 152, 101,
324 101, 101, 101, 152, 101, 101, 101, 0, 152, 101,
325 152, 152, 101, 101, 44, 0, 0, 55, 57, 54,
326 0, 49, 0, 58, 52, 0, 51, 0, 0, 136,
327 0, 0, 0, 137, 138, 139, 140, 0, 0, 0,
328 50, 0, 0, 0, 0, 56, 145, 146, 147, 148,
329 0, 149, 150, 0, 0, 0, 151, 0, 0, 137,
330 138, 139, 140, 0, 39, 0, 0, 39, 39, 39,
331 0, 39, 53, 39, 39, 148, 39, 149, 150, 136,
332 0, 0, 151, 137, 138, 139, 140, 0, 0, 0,
333 39, 0, 0, 141, 142, 39, 145, 146, 147, 148,
334 0, 149, 150, 0, 15, 0, 151, 45, 0, 0,
335 0, 0, 0, 0, 44, 81, 0, 55, 57, 54,
336 0, 49, 39, 58, 52, 0, 51, 0, 97, 0,
337 0, 0, 0, 0, 110, 81, 0, 0, 81, 0,
338 105, 0, 0, 0, 0, 56, 124, 125, 126, 127,
339 128, 0, 81, 81, 39, 0, 0, 39, 0, 0,
340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
341 44, 0, 53, 55, 57, 54, 0, 49, 118, 58,
342 52, 80, 51, 0, 0, 81, 0, 81, 184, 92,
343 0, 0, 0, 0, 80, 101, 0, 104, 0, 194,
344 0, 56, 0, 0, 15, 0, 0, 45, 0, 0,
345 0, 0, 80, 80, 80, 80, 80, 81, 0, 0,
346 44, 0, 0, 55, 57, 54, 0, 49, 53, 58,
347 52, 0, 51, 0, 0, 0, 0, 21, 22, 23,
348 24, 25, 26, 0, 0, 0, 0, 27, 28, 29,
349 30, 56, 0, 0, 31, 32, 0, 33, 34, 35,
350 15, 187, 0, 45, 36, 37, 38, 39, 40, 41,
351 0, 0, 42, 0, 0, 0, 0, 43, 53, 0,
352 122, 0, 46, 0, 47, 48, 0, 39, 39, 39,
353 39, 39, 39, 0, 0, 0, 0, 39, 39, 39,
354 39, 0, 0, 0, 39, 39, 0, 39, 39, 39,
355 15, 0, 0, 45, 39, 39, 39, 39, 39, 39,
356 0, 0, 39, 0, 0, 0, 0, 39, 0, 0,
357 0, 0, 39, 0, 39, 39, 0, 0, 22, 23,
358 24, 25, 26, 0, 44, 0, 0, 55, 57, 54,
359 0, 49, 0, 58, 52, 32, 51, 33, 34, 35,
360 81, 81, 81, 81, 36, 37, 38, 39, 40, 41,
361 0, 0, 42, 0, 0, 56, 0, 43, 0, 0,
362 0, 0, 46, 81, 47, 48, 0, 0, 0, 137,
363 138, 139, 140, 81, 22, 23, 24, 25, 26, 81,
364 81, 0, 53, 0, 147, 148, 0, 149, 150, 0,
365 0, 32, 151, 33, 34, 35, 0, 0, 0, 0,
366 36, 37, 38, 39, 40, 41, 0, 0, 42, 0,
367 0, 0, 0, 43, 15, 0, 0, 45, 46, 0,
368 47, 48, 0, 0, 22, 23, 24, 25, 26, 0,
369 44, 0, 0, 55, 57, 54, 0, 49, 181, 58,
370 52, 32, 51, 33, 34, 35, 0, 0, 0, 0,
371 36, 37, 38, 39, 40, 41, 0, 0, 42, 0,
372 0, 56, 0, 43, 0, 0, 0, 0, 46, 0,
373 47, 48, 0, 0, 0, 0, 0, 0, 0, 0,
374 44, 0, 0, 55, 57, 54, 0, 49, 53, 58,
375 52, 0, 51, 0, 0, 0, 0, 0, 0, 0,
376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
377 0, 56, 0, 0, 50, 0, 0, 50, 0, 0,
378 15, 0, 0, 45, 0, 0, 0, 0, 0, 0,
379 44, 50, 50, 55, 57, 54, 0, 49, 53, 58,
380 52, 0, 51, 0, 0, 0, 0, 21, 22, 23,
381 24, 25, 26, 0, 0, 0, 0, 0, 212, 0,
382 0, 56, 0, 0, 50, 32, 50, 33, 34, 35,
383 15, 0, 0, 45, 36, 37, 38, 39, 40, 41,
384 0, 0, 42, 0, 0, 0, 0, 43, 53, 0,
385 0, 0, 46, 0, 47, 48, 50, 0, 0, 0,
386 0, 44, 0, 0, 55, 57, 54, 0, 49, 0,
387 58, 52, 0, 51, 0, 0, 0, 0, 0, 0,
388 15, 0, 0, 45, 0, 0, 0, 0, 0, 214,
389 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,
390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
391 0, 0, 0, 0, 22, 23, 24, 25, 26, 53,
392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
393 0, 32, 0, 33, 34, 35, 0, 0, 0, 0,
394 36, 37, 38, 39, 40, 41, 0, 0, 42, 0,
395 0, 15, 0, 43, 45, 0, 0, 0, 46, 0,
396 47, 48, 0, 0, 22, 23, 24, 25, 26, 0,
397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398 0, 32, 0, 33, 34, 35, 0, 0, 0, 0,
399 36, 37, 38, 39, 40, 41, 0, 0, 42, 50,
400 50, 50, 50, 43, 0, 0, 163, 0, 46, 0,
401 47, 48, 0, 0, 22, 23, 24, 25, 26, 0,
402 0, 0, 50, 50, 0, 0, 0, 0, 0, 0,
403 0, 32, 50, 33, 34, 35, 0, 0, 50, 50,
404 36, 37, 38, 39, 40, 41, 0, 0, 42, 0,
405 0, 0, 0, 43, 0, 0, 0, 0, 46, 0,
406 47, 48, 44, 0, 0, 55, 57, 54, 0, 49,
407 0, 58, 52, 0, 51, 0, 0, 0, 0, 0,
408 0, 0, 0, 0, 0, 22, 23, 24, 25, 26,
409 220, 0, 0, 56, 0, 0, 0, 0, 0, 0,
410 0, 0, 32, 0, 33, 34, 35, 0, 0, 0,
411 0, 36, 37, 38, 39, 40, 41, 0, 44, 42,
412 53, 55, 57, 54, 43, 49, 0, 58, 52, 46,
413 51, 47, 48, 0, 0, 0, 0, 0, 0, 0,
414 0, 0, 0, 0, 0, 0, 222, 0, 0, 56,
415 0, 0, 15, 0, 0, 45, 0, 0, 0, 0,
416 0, 0, 0, 0, 0, 0, 0, 0, 44, 0,
417 0, 55, 57, 54, 0, 49, 53, 58, 52, 0,
418 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 224, 0, 0, 56,
420 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
421 0, 45, 0, 0, 0, 0, 0, 0, 44, 0,
422 0, 55, 57, 54, 0, 49, 53, 58, 52, 0,
423 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 226, 0, 0, 56,
425 0, 0, 0, 0, 0, 0, 0, 0, 15, 0,
426 0, 45, 0, 0, 0, 0, 0, 0, 0, 0,
427 0, 0, 0, 0, 0, 0, 53, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 22, 23, 24, 25,
429 26, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 32, 0, 33, 34, 35, 15, 0,
431 0, 45, 36, 37, 38, 39, 40, 41, 0, 0,
432 42, 0, 0, 0, 0, 43, 0, 0, 0, 0,
433 46, 0, 47, 48, 0, 0, 0, 0, 0, 0,
434 0, 0, 22, 23, 24, 25, 26, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,
436 0, 33, 34, 35, 0, 0, 0, 0, 36, 37,
437 38, 39, 40, 41, 0, 0, 42, 0, 0, 0,
438 0, 43, 0, 0, 0, 0, 46, 0, 47, 48,
439 0, 0, 22, 23, 24, 25, 26, 0, 0, 0,
440 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,
441 0, 33, 34, 35, 0, 0, 0, 0, 36, 37,
442 38, 39, 40, 41, 0, 44, 42, 0, 55, 57,
443 54, 43, 49, 0, 58, 52, 46, 51, 47, 48,
444 0, 0, 22, 23, 24, 25, 26, 0, 0, 0,
445 0, 0, 0, 228, 0, 0, 56, 0, 0, 32,
446 0, 33, 34, 35, 0, 0, 0, 0, 36, 37,
447 38, 39, 40, 41, 0, 44, 42, 0, 55, 57,
448 54, 43, 49, 53, 58, 52, 46, 51, 47, 48,
449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
450 0, 0, 0, 231, 0, 0, 56, 0, 0, 0,
451 0, 0, 0, 0, 0, 15, 0, 0, 45, 0,
452 0, 0, 0, 0, 0, 0, 0, 44, 0, 0,
453 55, 57, 54, 53, 49, 242, 58, 52, 0, 51,
454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
455 0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
456 0, 0, 0, 0, 0, 15, 0, 0, 45, 0,
457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
458 0, 0, 0, 0, 0, 53, 0, 0, 0, 0,
459 0, 0, 0, 0, 0, 0, 44, 0, 0, 55,
460 57, 54, 0, 49, 265, 58, 52, 0, 51, 0,
461 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
462 45, 0, 0, 0, 0, 0, 0, 56, 0, 0,
463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
464 0, 0, 0, 0, 0, 0, 0, 0, 0, 22,
465 23, 24, 25, 26, 53, 0, 0, 0, 0, 0,
466 0, 0, 0, 0, 0, 0, 32, 0, 33, 34,
467 35, 0, 0, 0, 0, 36, 37, 38, 39, 40,
468 41, 0, 0, 42, 0, 0, 15, 0, 43, 45,
469 0, 0, 0, 46, 0, 47, 48, 0, 0, 22,
470 23, 24, 25, 26, 0, 0, 0, 0, 0, 0,
471 0, 0, 0, 0, 0, 0, 32, 0, 33, 34,
472 35, 0, 0, 0, 0, 36, 37, 38, 39, 40,
473 41, 0, 0, 42, 0, 0, 0, 0, 43, 0,
474 0, 0, 0, 46, 0, 47, 48, 0, 0, 0,
475 0, 22, 23, 24, 25, 26, 82, 0, 0, 82,
476 0, 0, 0, 0, 0, 0, 0, 0, 32, 0,
477 33, 34, 35, 82, 82, 0, 82, 36, 37, 38,
478 39, 40, 41, 0, 44, 42, 0, 55, 57, 54,
479 43, 49, 267, 58, 52, 46, 51, 47, 48, 0,
480 0, 0, 0, 0, 0, 0, 82, 0, 82, 0,
481 0, 0, 0, 0, 0, 56, 0, 0, 0, 0,
482 22, 23, 24, 25, 26, 0, 0, 0, 0, 0,
483 0, 0, 0, 0, 0, 0, 0, 32, 82, 33,
484 34, 35, 53, 0, 0, 0, 36, 37, 38, 39,
485 40, 41, 0, 44, 42, 0, 55, 57, 54, 43,
486 49, 0, 58, 52, 46, 51, 47, 48, 0, 0,
487 0, 0, 0, 0, 15, 0, 0, 45, 0, 271,
488 0, 0, 0, 0, 56, 0, 0, 0, 0, 0,
489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
490 0, 0, 0, 0, 0, 44, 0, 0, 55, 57,
491 54, 53, 49, 275, 58, 52, 0, 51, 0, 0,
492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
493 0, 0, 0, 0, 0, 0, 56, 0, 0, 0,
494 0, 0, 0, 15, 0, 0, 45, 0, 0, 0,
495 0, 0, 0, 0, 0, 44, 0, 0, 55, 57,
496 54, 0, 49, 53, 58, 52, 0, 51, 0, 0,
497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
498 0, 82, 82, 82, 82, 0, 56, 0, 0, 0,
499 0, 0, 0, 0, 0, 15, 0, 0, 45, 0,
500 0, 0, 0, 0, 82, 82, 0, 0, 22, 23,
501 24, 25, 26, 53, 82, 277, 0, 0, 0, 0,
502 82, 82, 0, 0, 0, 32, 0, 33, 34, 35,
503 0, 0, 0, 0, 36, 37, 38, 39, 40, 41,
504 0, 0, 42, 0, 0, 15, 0, 43, 45, 0,
505 0, 0, 46, 0, 47, 48, 0, 0, 0, 0,
506 0, 44, 0, 0, 55, 57, 54, 0, 49, 0,
507 58, 52, 0, 51, 0, 0, 0, 22, 23, 24,
508 25, 26, 0, 0, 0, 0, 0, 0, 0, 0,
509 0, 0, 56, 0, 32, 0, 33, 34, 35, 0,
510 0, 0, 0, 36, 37, 38, 39, 40, 41, 0,
511 0, 42, 0, 0, 0, 0, 43, 0, 0, 53,
512 0, 46, 0, 47, 48, 0, 0, 0, 0, 22,
513 23, 24, 25, 26, 0, 0, 0, 0, 0, 0,
514 0, 0, 0, 0, 0, 0, 32, 0, 33, 34,
515 35, 15, 0, 0, 45, 36, 37, 38, 39, 40,
516 41, 0, 44, 42, 0, 55, 57, 54, 43, 49,
517 0, 58, 52, 46, 51, 47, 48, 0, 0, 22,
518 23, 24, 25, 26, 0, 0, 0, 0, 0, 0,
519 0, 0, 0, 56, 0, 0, 32, 0, 33, 34,
520 35, 0, 0, 0, 0, 36, 37, 38, 39, 40,
521 41, 130, 0, 42, 130, 0, 0, 0, 43, 0,
522 53, 0, 0, 46, 0, 47, 48, 0, 130, 130,
523 0, 130, 0, 130, 0, 0, 0, 0, 0, 0,
524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
525 0, 0, 15, 0, 0, 45, 0, 135, 0, 0,
526 135, 130, 0, 130, 0, 0, 0, 0, 0, 0,
527 0, 0, 0, 0, 135, 135, 0, 135, 0, 135,
528 0, 0, 0, 0, 0, 98, 23, 24, 25, 26,
529 0, 0, 0, 130, 0, 0, 0, 0, 0, 0,
530 119, 0, 32, 119, 33, 34, 35, 135, 0, 135,
531 0, 36, 37, 38, 39, 40, 41, 119, 119, 42,
532 119, 0, 119, 0, 43, 0, 0, 0, 0, 46,
533 0, 47, 48, 0, 0, 0, 0, 0, 0, 135,
534 0, 141, 0, 0, 141, 0, 0, 0, 0, 0,
535 119, 0, 119, 0, 0, 0, 0, 0, 141, 141,
536 0, 141, 0, 141, 0, 0, 0, 0, 0, 0,
537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
538 0, 0, 119, 0, 0, 0, 22, 23, 24, 25,
539 26, 141, 0, 141, 0, 0, 0, 0, 0, 0,
540 0, 0, 0, 32, 144, 33, 34, 35, 0, 0,
541 0, 0, 36, 37, 38, 39, 40, 41, 0, 0,
542 42, 144, 144, 141, 144, 43, 144, 0, 0, 0,
543 46, 0, 47, 48, 0, 0, 130, 130, 130, 130,
544 0, 0, 0, 0, 0, 130, 0, 0, 0, 130,
545 130, 130, 130, 0, 144, 0, 144, 0, 0, 130,
546 130, 0, 130, 130, 130, 130, 0, 130, 130, 130,
547 0, 0, 130, 0, 0, 130, 130, 0, 0, 0,
548 0, 0, 135, 135, 135, 135, 144, 0, 0, 0,
549 0, 135, 0, 0, 0, 135, 135, 135, 135, 0,
550 0, 0, 0, 0, 0, 135, 135, 0, 135, 135,
551 135, 135, 0, 135, 135, 135, 0, 0, 135, 0,
552 0, 135, 135, 0, 0, 119, 119, 119, 119, 0,
553 0, 0, 0, 0, 119, 0, 0, 0, 119, 119,
554 119, 119, 0, 0, 0, 0, 0, 0, 119, 119,
555 0, 119, 119, 119, 119, 0, 119, 119, 119, 0,
556 0, 119, 0, 0, 119, 119, 141, 141, 141, 141,
557 0, 0, 0, 0, 0, 141, 0, 0, 0, 141,
558 141, 141, 141, 0, 0, 0, 0, 0, 0, 141,
559 141, 0, 141, 141, 141, 141, 0, 141, 141, 141,
560 0, 0, 141, 0, 0, 141, 141, 0, 0, 0,
561 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,
562 0, 0, 96, 0, 0, 0, 0, 0, 0, 144,
563 144, 144, 144, 0, 0, 0, 96, 96, 144, 96,
564 0, 96, 144, 144, 144, 144, 0, 0, 0, 0,
565 0, 0, 144, 144, 0, 144, 144, 144, 144, 0,
566 144, 144, 144, 95, 0, 144, 95, 0, 144, 144,
567 0, 96, 0, 0, 0, 0, 0, 0, 0, 0,
568 95, 95, 0, 95, 0, 95, 0, 0, 0, 0,
569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
570 0, 96, 0, 0, 83, 0, 0, 83, 0, 0,
571 0, 0, 0, 0, 0, 95, 0, 0, 0, 0,
572 0, 83, 83, 0, 83, 0, 83, 0, 0, 0,
573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
574 0, 0, 0, 0, 0, 95, 69, 0, 0, 69,
575 0, 0, 0, 0, 83, 0, 83, 0, 0, 0,
576 0, 0, 0, 69, 69, 0, 69, 0, 69, 0,
577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
578 0, 0, 0, 0, 0, 0, 83, 143, 0, 0,
579 143, 0, 0, 0, 0, 0, 69, 0, 69, 0,
580 0, 0, 0, 0, 143, 143, 0, 143, 0, 143,
581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
582 0, 0, 0, 0, 0, 0, 0, 0, 69, 0,
583 0, 0, 0, 0, 132, 0, 0, 132, 0, 143,
584 0, 0, 0, 0, 96, 96, 96, 96, 0, 0,
585 0, 132, 132, 96, 132, 0, 132, 96, 96, 96,
586 96, 0, 0, 0, 0, 0, 0, 96, 96, 0,
587 96, 96, 96, 96, 0, 96, 96, 96, 0, 0,
588 96, 0, 0, 96, 96, 0, 132, 0, 95, 95,
589 95, 95, 0, 0, 0, 0, 0, 95, 0, 0,
590 0, 95, 95, 95, 95, 0, 0, 0, 0, 0,
591 0, 95, 95, 0, 95, 95, 95, 95, 0, 95,
592 95, 95, 0, 0, 95, 0, 0, 95, 95, 83,
593 83, 83, 83, 0, 0, 0, 0, 0, 83, 0,
594 0, 0, 83, 83, 83, 83, 0, 0, 0, 0,
595 0, 0, 83, 83, 0, 83, 83, 83, 83, 0,
596 83, 83, 83, 0, 0, 0, 0, 0, 83, 83,
597 0, 69, 69, 69, 69, 0, 0, 0, 0, 0,
598 69, 0, 0, 0, 69, 69, 69, 69, 0, 0,
599 0, 0, 0, 0, 69, 69, 0, 69, 69, 69,
600 69, 0, 69, 69, 69, 0, 0, 0, 0, 0,
601 69, 69, 143, 143, 143, 143, 0, 0, 0, 0,
602 0, 143, 0, 0, 0, 143, 143, 143, 143, 0,
603 0, 0, 0, 0, 0, 143, 143, 0, 143, 143,
604 143, 143, 0, 143, 143, 143, 0, 0, 143, 0,
605 0, 143, 143, 0, 0, 0, 0, 0, 0, 132,
606 132, 132, 132, 0, 0, 0, 0, 0, 132, 0,
607 0, 0, 132, 132, 132, 132, 0, 0, 0, 0,
608 0, 0, 132, 132, 0, 132, 132, 132, 132, 0,
609 132, 132, 132, 107, 0, 132, 107, 0, 132, 132,
610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
611 107, 107, 0, 107, 0, 107, 0, 0, 0, 0,
612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
613 0, 0, 0, 0, 101, 0, 0, 101, 0, 0,
614 0, 0, 0, 0, 0, 107, 0, 0, 0, 0,
615 0, 101, 101, 0, 101, 0, 101, 0, 0, 0,
616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
617 0, 0, 0, 0, 0, 70, 0, 0, 70, 0,
618 0, 0, 0, 0, 0, 0, 101, 0, 0, 0,
619 0, 0, 70, 70, 0, 70, 0, 70, 0, 0,
620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
621 0, 0, 0, 0, 0, 0, 143, 0, 0, 143,
622 0, 0, 0, 0, 0, 70, 0, 70, 0, 0,
623 0, 0, 0, 143, 143, 0, 143, 0, 143, 0,
624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
625 0, 0, 0, 0, 0, 0, 0, 70, 72, 0,
626 0, 72, 0, 0, 0, 0, 0, 0, 143, 0,
627 0, 0, 0, 0, 0, 72, 72, 0, 72, 0,
628 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
630 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
631 72, 0, 0, 0, 0, 0, 0, 0, 107, 107,
632 107, 107, 0, 0, 0, 0, 0, 107, 0, 0,
633 0, 107, 107, 107, 107, 0, 0, 0, 0, 0,
634 72, 107, 107, 0, 107, 107, 107, 107, 0, 107,
635 107, 107, 0, 0, 107, 0, 0, 107, 107, 101,
636 101, 101, 101, 0, 0, 0, 0, 0, 101, 0,
637 0, 0, 101, 101, 101, 101, 0, 0, 0, 0,
638 0, 0, 101, 101, 0, 101, 101, 101, 101, 0,
639 101, 101, 101, 0, 0, 101, 0, 0, 101, 101,
640 70, 70, 70, 70, 0, 0, 0, 0, 0, 70,
641 0, 0, 0, 70, 70, 70, 70, 0, 0, 0,
642 0, 0, 0, 70, 70, 0, 70, 70, 70, 70,
643 0, 70, 0, 70, 0, 0, 0, 0, 0, 70,
644 70, 143, 143, 143, 143, 0, 0, 0, 0, 0,
645 143, 0, 0, 0, 143, 143, 143, 143, 0, 0,
646 0, 0, 0, 0, 143, 143, 0, 143, 143, 143,
647 143, 0, 143, 143, 0, 0, 0, 143, 0, 0,
648 143, 143, 0, 72, 72, 72, 72, 0, 0, 0,
649 0, 0, 72, 0, 0, 0, 72, 72, 0, 0,
650 0, 0, 0, 0, 0, 0, 72, 72, 0, 72,
651 72, 72, 72, 0, 72, 124, 72, 0, 124, 0,
652 0, 0, 72, 72, 0, 0, 0, 0, 0, 0,
653 0, 0, 124, 124, 0, 124, 0, 124, 0, 0,
654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
655 0, 0, 0, 0, 0, 0, 94, 0, 0, 94,
656 0, 0, 0, 0, 0, 124, 0, 124, 0, 0,
657 0, 0, 0, 94, 94, 0, 94, 0, 94, 0,
658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
659 0, 0, 0, 0, 0, 0, 0, 124, 134, 0,
660 0, 134, 0, 0, 0, 0, 94, 0, 94, 0,
661 0, 0, 0, 0, 0, 134, 134, 0, 134, 0,
662 134, 0, 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 94, 73,
664 0, 0, 73, 0, 0, 0, 0, 0, 134, 0,
665 134, 0, 0, 0, 0, 0, 73, 73, 0, 73,
666 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
668 134, 0, 0, 74, 0, 0, 74, 0, 0, 73,
669 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
670 74, 74, 0, 74, 0, 74, 0, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
673 0, 0, 0, 74, 0, 74, 0, 0, 0, 0,
674 124, 124, 124, 124, 0, 0, 0, 0, 0, 124,
675 0, 0, 0, 124, 124, 0, 0, 0, 0, 0,
676 0, 0, 0, 124, 124, 74, 124, 124, 124, 124,
677 0, 0, 0, 124, 0, 0, 0, 0, 0, 124,
678 124, 94, 94, 94, 94, 0, 0, 0, 0, 0,
679 94, 0, 0, 0, 94, 94, 0, 0, 0, 0,
680 0, 0, 0, 0, 94, 94, 0, 94, 94, 94,
681 94, 0, 0, 0, 94, 0, 0, 0, 0, 0,
682 94, 94, 0, 134, 134, 134, 134, 0, 0, 0,
683 0, 0, 134, 0, 0, 0, 134, 134, 0, 0,
684 0, 0, 0, 0, 0, 0, 134, 134, 0, 134,
685 134, 134, 134, 0, 0, 0, 134, 0, 0, 0,
686 0, 0, 134, 134, 73, 73, 73, 73, 0, 0,
687 0, 0, 0, 73, 0, 0, 0, 80, 73, 0,
688 80, 0, 0, 0, 0, 0, 0, 73, 73, 0,
689 73, 73, 73, 73, 80, 80, 0, 73, 0, 0,
690 0, 0, 75, 73, 73, 75, 0, 0, 74, 74,
691 74, 74, 0, 0, 0, 0, 0, 74, 0, 75,
692 75, 0, 75, 0, 75, 0, 0, 80, 0, 80,
693 0, 74, 74, 0, 74, 74, 74, 74, 0, 0,
694 0, 74, 0, 76, 0, 0, 76, 74, 74, 0,
695 0, 0, 75, 0, 75, 0, 0, 0, 0, 80,
696 76, 76, 0, 76, 0, 76, 0, 0, 0, 0,
697 0, 0, 78, 0, 0, 78, 0, 0, 0, 0,
698 0, 0, 0, 0, 75, 0, 0, 0, 0, 78,
699 78, 0, 78, 76, 78, 76, 0, 0, 0, 0,
700 0, 79, 0, 0, 79, 0, 0, 0, 0, 0,
701 0, 0, 0, 77, 0, 0, 77, 0, 79, 79,
702 0, 79, 78, 79, 78, 76, 0, 0, 0, 0,
703 77, 77, 0, 77, 0, 77, 0, 0, 0, 0,
704 0, 0, 60, 0, 0, 60, 0, 0, 0, 0,
705 0, 79, 0, 79, 78, 0, 0, 0, 0, 60,
706 60, 62, 0, 77, 62, 77, 0, 0, 0, 0,
707 0, 0, 0, 0, 0, 0, 0, 0, 62, 62,
708 0, 0, 0, 79, 0, 0, 0, 0, 0, 0,
709 0, 0, 60, 0, 60, 77, 0, 0, 0, 0,
710 0, 0, 80, 80, 80, 80, 0, 0, 0, 0,
711 0, 62, 0, 62, 0, 0, 0, 0, 0, 0,
712 0, 0, 0, 0, 60, 80, 80, 75, 75, 75,
713 75, 63, 0, 0, 63, 80, 75, 0, 0, 0,
714 0, 80, 80, 62, 0, 0, 0, 0, 63, 63,
715 75, 75, 0, 75, 75, 75, 75, 0, 0, 0,
716 75, 0, 0, 0, 0, 0, 75, 75, 76, 76,
717 76, 76, 0, 0, 0, 0, 0, 76, 0, 0,
718 0, 63, 0, 63, 0, 0, 0, 0, 0, 0,
719 0, 76, 76, 0, 76, 76, 76, 78, 78, 78,
720 78, 76, 0, 0, 0, 0, 78, 76, 76, 0,
721 0, 0, 0, 63, 0, 0, 0, 0, 0, 0,
722 78, 78, 0, 78, 78, 0, 79, 79, 79, 79,
723 78, 0, 0, 0, 0, 79, 78, 78, 77, 77,
724 77, 77, 0, 0, 0, 0, 0, 0, 0, 79,
725 79, 0, 79, 0, 0, 0, 0, 0, 0, 79,
726 0, 77, 77, 0, 0, 79, 79, 60, 60, 60,
727 60, 77, 0, 0, 0, 0, 0, 77, 77, 68,
728 0, 0, 68, 0, 0, 0, 62, 62, 62, 62,
729 60, 60, 0, 0, 0, 0, 68, 68, 0, 0,
730 60, 0, 0, 0, 0, 0, 60, 60, 0, 62,
731 62, 0, 0, 0, 0, 0, 0, 0, 0, 62,
732 67, 0, 0, 67, 66, 62, 62, 66, 0, 68,
733 0, 68, 65, 0, 0, 65, 0, 67, 67, 0,
734 0, 66, 66, 0, 0, 0, 0, 0, 0, 65,
735 65, 0, 0, 0, 0, 0, 63, 63, 63, 63,
736 0, 68, 0, 0, 0, 0, 0, 0, 0, 0,
737 67, 0, 67, 0, 66, 64, 66, 0, 64, 63,
738 63, 0, 65, 61, 65, 0, 61, 51, 0, 63,
739 51, 0, 64, 64, 0, 63, 63, 0, 0, 0,
740 61, 61, 67, 0, 51, 51, 66, 0, 0, 0,
741 0, 0, 0, 0, 65, 0, 0, 0, 0, 0,
742 0, 0, 0, 0, 0, 64, 0, 64, 87, 0,
743 0, 87, 0, 61, 0, 61, 0, 51, 0, 51,
744 0, 0, 0, 0, 0, 87, 87, 0, 87, 0,
745 87, 0, 0, 0, 0, 0, 0, 64, 0, 0,
746 0, 0, 0, 0, 0, 61, 0, 88, 0, 51,
747 88, 0, 0, 0, 0, 0, 0, 0, 0, 0,
748 87, 0, 0, 0, 88, 88, 0, 88, 0, 88,
749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
750 0, 0, 0, 0, 68, 68, 68, 68, 0, 0,
751 0, 0, 89, 0, 0, 89, 0, 0, 0, 88,
752 0, 0, 0, 0, 0, 0, 0, 68, 68, 89,
753 89, 0, 89, 0, 89, 0, 0, 68, 0, 0,
754 0, 0, 0, 68, 68, 67, 67, 67, 67, 66,
755 66, 66, 66, 0, 0, 0, 0, 65, 65, 65,
756 65, 0, 0, 0, 89, 0, 0, 0, 67, 67,
757 0, 0, 66, 66, 0, 0, 0, 0, 67, 0,
758 65, 65, 66, 0, 67, 67, 0, 0, 66, 66,
759 65, 0, 0, 0, 0, 0, 65, 65, 0, 0,
760 64, 64, 64, 64, 0, 0, 0, 0, 61, 61,
761 61, 61, 51, 51, 51, 51, 0, 0, 0, 0,
762 0, 0, 0, 64, 64, 0, 0, 0, 0, 0,
763 0, 61, 61, 64, 0, 0, 0, 0, 0, 64,
764 64, 61, 0, 0, 0, 51, 0, 61, 61, 0,
765 0, 51, 51, 87, 87, 87, 87, 0, 0, 0,
766 0, 0, 87, 0, 0, 0, 87, 87, 87, 87,
767 0, 0, 0, 0, 0, 0, 87, 87, 0, 87,
768 87, 87, 87, 0, 87, 87, 87, 0, 0, 87,
769 0, 0, 88, 88, 88, 88, 0, 0, 0, 0,
770 0, 88, 0, 0, 0, 88, 88, 88, 88, 0,
771 0, 0, 0, 0, 0, 88, 88, 0, 88, 88,
772 88, 88, 0, 88, 88, 88, 0, 92, 88, 0,
773 92, 0, 0, 0, 0, 0, 0, 89, 89, 89,
774 89, 0, 0, 0, 92, 92, 89, 92, 0, 92,
775 89, 89, 89, 89, 0, 0, 0, 0, 0, 0,
776 89, 89, 0, 89, 89, 89, 89, 0, 89, 89,
777 89, 93, 0, 89, 93, 0, 0, 0, 0, 92,
778 0, 0, 0, 0, 0, 0, 0, 0, 93, 93,
779 0, 93, 0, 93, 0, 0, 0, 0, 0, 0,
780 0, 0, 0, 0, 0, 0, 0, 0, 85, 0,
781 0, 85, 0, 0, 0, 0, 0, 0, 0, 0,
782 0, 0, 0, 93, 0, 85, 85, 0, 85, 0,
783 85, 0, 0, 0, 0, 0, 0, 0, 0, 0,
784 0, 0, 0, 0, 0, 86, 0, 0, 86, 0,
785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786 85, 0, 86, 86, 0, 86, 0, 86, 0, 0,
787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
788 0, 0, 84, 0, 0, 84, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 0, 0, 86, 0, 84,
790 84, 0, 84, 0, 84, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
793 0, 0, 0, 0, 84, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 0, 0, 92, 92, 92, 92, 0, 0, 0, 0,
796 0, 92, 0, 0, 0, 92, 92, 92, 92, 0,
797 0, 0, 0, 0, 0, 92, 92, 0, 92, 92,
798 92, 92, 0, 92, 92, 92, 0, 0, 92, 0,
799 0, 0, 0, 0, 0, 0, 93, 93, 93, 93,
800 0, 0, 0, 0, 0, 93, 0, 0, 0, 93,
801 93, 93, 93, 0, 0, 0, 0, 0, 0, 93,
802 93, 0, 93, 93, 93, 93, 0, 93, 93, 93,
803 0, 0, 93, 85, 85, 85, 85, 0, 0, 0,
804 0, 0, 85, 0, 0, 0, 85, 85, 85, 85,
805 0, 0, 0, 0, 0, 0, 85, 85, 0, 85,
806 85, 85, 85, 0, 85, 85, 85, 0, 0, 85,
807 86, 86, 86, 86, 100, 102, 0, 0, 0, 86,
808 112, 0, 0, 86, 86, 86, 86, 0, 0, 0,
809 0, 0, 0, 86, 86, 0, 86, 86, 86, 86,
810 0, 86, 86, 86, 0, 0, 86, 84, 84, 84,
811 84, 0, 0, 0, 0, 0, 84, 0, 0, 166,
812 84, 84, 84, 84, 0, 0, 0, 0, 0, 0,
813 84, 84, 0, 84, 84, 84, 84, 0, 84, 84,
814 0, 0, 0, 84, 0, 0, 0, 0, 0, 0,
815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
817 0, 0, 208, 209, 210, 211, 213, 215, 216, 217,
818 218, 219, 221, 223, 225, 227, 229, 230, 232, 0,
819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
822 0, 0, 0, 0, 0, 0, 0, 208, 0, 0,
823 0, 0, 0, 0, 0, 208, 0, 208, 0, 0,
824 0, 0, 0, 0, 0, 0, 0, 0, 0, 278,
825 0, 279, 0, 0, 0, 0, 0, 281, 0, 282,
826 0, 283, 0, 284, 0, 285, 0, 0, 286, 0,
827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 299, 0, 0, 0, 0,
829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, 0, 0, 0, 0, 0, 0, 317,
833 short yycheck[] = { 5,
834 81, 91, 36, 91, 175, 59, 12, 40, 12, 40,
835 16, 123, 18, 40, 40, 96, 257, 40, 91, 59,
836 91, 27, 28, 29, 30, 44, 107, 44, 177, 110,
837 40, 37, 125, 123, 59, 123, 40, 43, 91, 44,
838 91, 41, 257, 41, 44, 49, 44, 281, 41, 53,
839 123, 44, 123, 44, 44, 169, 44, 171, 91, 44,
840 58, 59, 44, 61, 298, 63, 44, 36, 302, 59,
841 123, 40, 123, 36, 93, 123, 93, 40, 84, 83,
842 86, 85, 88, 87, 90, 89, 41, 91, 41, 123,
843 123, 95, 123, 91, 243, 93, 123, 123, 123, 0,
844 123, 44, 93, 184, 59, 93, 59, 40, 93, 44,
845 298, 93, 261, 194, 302, 93, 59, 266, 41, 268,
846 41, 44, 41, 129, 59, 123, 40, 131, 132, 133,
847 134, 302, 33, 41, 305, 36, 37, 38, 59, 40,
848 59, 42, 43, 41, 45, 257, 41, 40, 152, 44,
849 44, 59, 156, 157, 158, 159, 160, 161, 59, 281,
850 282, 59, 0, 64, 245, 59, 270, 271, 258, 262,
851 263, 264, 265, 344, 44, 179, 298, 257, 272, 40,
852 302, 185, 186, 278, 188, 41, 300, 301, 44, 59,
853 91, 44, 196, 307, 44, 33, 291, 59, 36, 37,
854 38, 299, 40, 257, 42, 43, 59, 45, 289, 59,
855 279, 299, 281, 282, 40, 40, 297, 305, 306, 333,
856 41, 59, 123, 257, 125, 126, 64, 261, 297, 298,
857 234, 123, 236, 302, 305, 306, 41, 41, 41, 44,
858 44, 44, 36, 249, 125, 251, 44, 253, 254, 91,
859 41, 257, 59, 91, 260, 259, 61, 41, 63, 123,
860 91, 266, 267, 268, 269, 269, 125, 302, 266, 267,
861 268, 269, 276, 266, 267, 268, 269, 275, 40, 40,
862 40, 279, 280, 0, 282, 123, 41, 125, 126, 281,
863 282, 289, 290, 125, 292, 293, 294, 295, 63, 297,
864 304, 299, 308, 125, 41, 297, 298, 305, 306, 125,
865 302, 262, 263, 264, 265, 125, 33, 59, 41, 36,
866 37, 38, 41, 40, 125, 42, 43, 331, 45, 125,
867 279, 280, 281, 282, 340, 125, 41, 41, 59, 345,
868 41, 59, 59, 292, 293, 294, 295, 64, 297, 298,
869 59, 41, 331, 302, 12, 256, 257, 258, 259, 260,
870 261, 262, 263, 264, 265, 266, 267, 268, 269, 259,
871 73, -1, 273, 274, 91, 276, 277, 278, -1, -1,
872 -1, -1, 283, 284, 285, 286, 287, 288, -1, -1,
873 291, -1, 61, -1, 63, 296, -1, -1, 299, -1,
874 301, -1, 303, 304, -1, -1, 123, -1, 125, 126,
875 -1, -1, -1, -1, 279, 280, 281, 282, 256, 257,
876 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
877 268, 269, 297, 298, -1, 273, 274, 302, 276, 277,
878 278, -1, -1, -1, -1, 283, 284, 285, 286, 287,
879 288, 41, -1, 291, -1, -1, -1, -1, 296, -1,
880 -1, -1, 0, 301, -1, 303, 304, -1, -1, -1,
881 275, 61, -1, 63, 279, 280, 281, 282, -1, -1,
882 -1, -1, -1, -1, 289, 290, -1, 292, 293, 294,
883 295, -1, 297, 298, -1, 33, -1, 302, 36, 37,
884 38, -1, 40, -1, 42, 43, -1, 45, -1, -1,
885 275, -1, -1, -1, 279, 280, 281, 282, -1, -1,
886 -1, 59, -1, -1, -1, -1, 64, 292, 293, 294,
887 295, -1, 297, 298, -1, -1, -1, 302, -1, 256,
888 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
889 267, 268, 269, 91, -1, -1, 273, 274, -1, 276,
890 277, 278, 61, -1, 63, -1, 283, 284, 285, 286,
891 287, 288, -1, -1, 291, -1, -1, -1, -1, 296,
892 -1, -1, -1, -1, 301, 123, 303, 304, 126, 33,
893 -1, -1, 36, 37, 38, -1, 40, 41, 42, 43,
894 44, 45, -1, -1, -1, -1, 275, -1, -1, -1,
895 279, 280, 281, 282, 58, 59, -1, 61, -1, 63,
896 64, 290, -1, 292, 293, 294, 295, -1, 297, 298,
897 -1, -1, -1, 302, 44, 45, 46, 47, 48, -1,
898 -1, 51, 52, -1, -1, -1, -1, 91, -1, 93,
899 33, -1, -1, 36, 37, 38, -1, 40, 41, 42,
900 43, 44, 45, -1, -1, -1, -1, -1, -1, -1,
901 -1, -1, -1, -1, -1, 58, 59, -1, 61, 123,
902 63, 64, 126, -1, -1, 275, -1, -1, -1, 279,
903 280, 281, 282, -1, -1, -1, -1, -1, -1, 289,
904 290, -1, 292, 293, 294, 295, -1, 297, 298, -1,
905 93, -1, 302, -1, -1, -1, -1, -1, 256, 257,
906 258, 259, 260, 261, -1, 61, -1, 63, 266, 267,
907 268, 269, -1, -1, -1, 273, 274, -1, 276, 277,
908 278, -1, -1, 126, -1, 283, 284, 285, 286, 287,
909 288, -1, -1, 291, -1, -1, -1, -1, 296, -1,
910 -1, -1, -1, 301, -1, 303, 304, -1, -1, -1,
911 -1, -1, 58, -1, -1, 61, 275, 63, -1, -1,
912 279, 280, 281, 282, -1, -1, 279, 280, 281, 282,
913 289, 290, -1, 292, 293, 294, 295, -1, 297, 298,
914 293, 294, 295, 302, 297, 298, -1, -1, -1, 302,
915 -1, -1, -1, 257, 258, 259, 260, 261, -1, -1,
916 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
917 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
918 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
919 294, 295, 296, 297, 298, 299, -1, 301, 302, 303,
920 304, 305, 306, -1, -1, -1, -1, -1, -1, -1,
921 -1, -1, -1, -1, 257, 258, 259, 260, 261, -1,
922 -1, -1, -1, 266, 267, 268, 269, -1, -1, -1,
923 -1, 274, 275, 276, 277, 278, 279, 280, 281, 282,
924 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
925 293, 294, 295, 296, 297, 298, 299, -1, 301, 302,
926 303, 304, 305, 306, 33, -1, -1, 36, 37, 38,
927 -1, 40, -1, 42, 43, -1, 45, -1, -1, 275,
928 -1, -1, -1, 279, 280, 281, 282, -1, -1, -1,
929 59, -1, -1, -1, -1, 64, 292, 293, 294, 295,
930 -1, 297, 298, -1, -1, -1, 302, -1, -1, 279,
931 280, 281, 282, -1, 33, -1, -1, 36, 37, 38,
932 -1, 40, 91, 42, 43, 295, 45, 297, 298, 275,
933 -1, -1, 302, 279, 280, 281, 282, -1, -1, -1,
934 59, -1, -1, 289, 290, 64, 292, 293, 294, 295,
935 -1, 297, 298, -1, 123, -1, 302, 126, -1, -1,
936 -1, -1, -1, -1, 33, 23, -1, 36, 37, 38,
937 -1, 40, 91, 42, 43, -1, 45, -1, 36, -1,
938 -1, -1, -1, -1, 42, 41, -1, -1, 44, -1,
939 59, -1, -1, -1, -1, 64, 54, 55, 56, 57,
940 58, -1, 58, 59, 123, -1, -1, 126, -1, -1,
941 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
942 33, -1, 91, 36, 37, 38, -1, 40, 41, 42,
943 43, 23, 45, -1, -1, 91, -1, 93, 96, 31,
944 -1, -1, -1, -1, 36, 37, -1, 39, -1, 107,
945 -1, 64, -1, -1, 123, -1, -1, 126, -1, -1,
946 -1, -1, 54, 55, 56, 57, 58, 123, -1, -1,
947 33, -1, -1, 36, 37, 38, -1, 40, 91, 42,
948 43, -1, 45, -1, -1, -1, -1, 256, 257, 258,
949 259, 260, 261, -1, -1, -1, -1, 266, 267, 268,
950 269, 64, -1, -1, 273, 274, -1, 276, 277, 278,
951 123, 103, -1, 126, 283, 284, 285, 286, 287, 288,
952 -1, -1, 291, -1, -1, -1, -1, 296, 91, -1,
953 93, -1, 301, -1, 303, 304, -1, 256, 257, 258,
954 259, 260, 261, -1, -1, -1, -1, 266, 267, 268,
955 269, -1, -1, -1, 273, 274, -1, 276, 277, 278,
956 123, -1, -1, 126, 283, 284, 285, 286, 287, 288,
957 -1, -1, 291, -1, -1, -1, -1, 296, -1, -1,
958 -1, -1, 301, -1, 303, 304, -1, -1, 257, 258,
959 259, 260, 261, -1, 33, -1, -1, 36, 37, 38,
960 -1, 40, -1, 42, 43, 274, 45, 276, 277, 278,
961 266, 267, 268, 269, 283, 284, 285, 286, 287, 288,
962 -1, -1, 291, -1, -1, 64, -1, 296, -1, -1,
963 -1, -1, 301, 289, 303, 304, -1, -1, -1, 279,
964 280, 281, 282, 299, 257, 258, 259, 260, 261, 305,
965 306, -1, 91, -1, 294, 295, -1, 297, 298, -1,
966 -1, 274, 302, 276, 277, 278, -1, -1, -1, -1,
967 283, 284, 285, 286, 287, 288, -1, -1, 291, -1,
968 -1, -1, -1, 296, 123, -1, -1, 126, 301, -1,
969 303, 304, -1, -1, 257, 258, 259, 260, 261, -1,
970 33, -1, -1, 36, 37, 38, -1, 40, 41, 42,
971 43, 274, 45, 276, 277, 278, -1, -1, -1, -1,
972 283, 284, 285, 286, 287, 288, -1, -1, 291, -1,
973 -1, 64, -1, 296, -1, -1, -1, -1, 301, -1,
974 303, 304, -1, -1, -1, -1, -1, -1, -1, -1,
975 33, -1, -1, 36, 37, 38, -1, 40, 91, 42,
976 43, -1, 45, -1, -1, -1, -1, -1, -1, -1,
977 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
978 -1, 64, -1, -1, 41, -1, -1, 44, -1, -1,
979 123, -1, -1, 126, -1, -1, -1, -1, -1, -1,
980 33, 58, 59, 36, 37, 38, -1, 40, 91, 42,
981 43, -1, 45, -1, -1, -1, -1, 256, 257, 258,
982 259, 260, 261, -1, -1, -1, -1, -1, 61, -1,
983 -1, 64, -1, -1, 91, 274, 93, 276, 277, 278,
984 123, -1, -1, 126, 283, 284, 285, 286, 287, 288,
985 -1, -1, 291, -1, -1, -1, -1, 296, 91, -1,
986 -1, -1, 301, -1, 303, 304, 123, -1, -1, -1,
987 -1, 33, -1, -1, 36, 37, 38, -1, 40, -1,
988 42, 43, -1, 45, -1, -1, -1, -1, -1, -1,
989 123, -1, -1, 126, -1, -1, -1, -1, -1, 61,
990 -1, -1, 64, -1, -1, -1, -1, -1, -1, -1,
991 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
992 -1, -1, -1, -1, 257, 258, 259, 260, 261, 91,
993 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
994 -1, 274, -1, 276, 277, 278, -1, -1, -1, -1,
995 283, 284, 285, 286, 287, 288, -1, -1, 291, -1,
996 -1, 123, -1, 296, 126, -1, -1, -1, 301, -1,
997 303, 304, -1, -1, 257, 258, 259, 260, 261, -1,
998 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
999 -1, 274, -1, 276, 277, 278, -1, -1, -1, -1,
1000 283, 284, 285, 286, 287, 288, -1, -1, 291, 266,
1001 267, 268, 269, 296, -1, -1, 299, -1, 301, -1,
1002 303, 304, -1, -1, 257, 258, 259, 260, 261, -1,
1003 -1, -1, 289, 290, -1, -1, -1, -1, -1, -1,
1004 -1, 274, 299, 276, 277, 278, -1, -1, 305, 306,
1005 283, 284, 285, 286, 287, 288, -1, -1, 291, -1,
1006 -1, -1, -1, 296, -1, -1, -1, -1, 301, -1,
1007 303, 304, 33, -1, -1, 36, 37, 38, -1, 40,
1008 -1, 42, 43, -1, 45, -1, -1, -1, -1, -1,
1009 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
1010 61, -1, -1, 64, -1, -1, -1, -1, -1, -1,
1011 -1, -1, 274, -1, 276, 277, 278, -1, -1, -1,
1012 -1, 283, 284, 285, 286, 287, 288, -1, 33, 291,
1013 91, 36, 37, 38, 296, 40, -1, 42, 43, 301,
1014 45, 303, 304, -1, -1, -1, -1, -1, -1, -1,
1015 -1, -1, -1, -1, -1, -1, 61, -1, -1, 64,
1016 -1, -1, 123, -1, -1, 126, -1, -1, -1, -1,
1017 -1, -1, -1, -1, -1, -1, -1, -1, 33, -1,
1018 -1, 36, 37, 38, -1, 40, 91, 42, 43, -1,
1019 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1020 -1, -1, -1, -1, -1, -1, 61, -1, -1, 64,
1021 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
1022 -1, 126, -1, -1, -1, -1, -1, -1, 33, -1,
1023 -1, 36, 37, 38, -1, 40, 91, 42, 43, -1,
1024 45, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1025 -1, -1, -1, -1, -1, -1, 61, -1, -1, 64,
1026 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
1027 -1, 126, -1, -1, -1, -1, -1, -1, -1, -1,
1028 -1, -1, -1, -1, -1, -1, 91, -1, -1, -1,
1029 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
1030 261, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1031 -1, -1, -1, 274, -1, 276, 277, 278, 123, -1,
1032 -1, 126, 283, 284, 285, 286, 287, 288, -1, -1,
1033 291, -1, -1, -1, -1, 296, -1, -1, -1, -1,
1034 301, -1, 303, 304, -1, -1, -1, -1, -1, -1,
1035 -1, -1, 257, 258, 259, 260, 261, -1, -1, -1,
1036 -1, -1, -1, -1, -1, -1, -1, -1, -1, 274,
1037 -1, 276, 277, 278, -1, -1, -1, -1, 283, 284,
1038 285, 286, 287, 288, -1, -1, 291, -1, -1, -1,
1039 -1, 296, -1, -1, -1, -1, 301, -1, 303, 304,
1040 -1, -1, 257, 258, 259, 260, 261, -1, -1, -1,
1041 -1, -1, -1, -1, -1, -1, -1, -1, -1, 274,
1042 -1, 276, 277, 278, -1, -1, -1, -1, 283, 284,
1043 285, 286, 287, 288, -1, 33, 291, -1, 36, 37,
1044 38, 296, 40, -1, 42, 43, 301, 45, 303, 304,
1045 -1, -1, 257, 258, 259, 260, 261, -1, -1, -1,
1046 -1, -1, -1, 61, -1, -1, 64, -1, -1, 274,
1047 -1, 276, 277, 278, -1, -1, -1, -1, 283, 284,
1048 285, 286, 287, 288, -1, 33, 291, -1, 36, 37,
1049 38, 296, 40, 91, 42, 43, 301, 45, 303, 304,
1050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1051 -1, -1, -1, 61, -1, -1, 64, -1, -1, -1,
1052 -1, -1, -1, -1, -1, 123, -1, -1, 126, -1,
1053 -1, -1, -1, -1, -1, -1, -1, 33, -1, -1,
1054 36, 37, 38, 91, 40, 41, 42, 43, -1, 45,
1055 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1056 -1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
1057 -1, -1, -1, -1, -1, 123, -1, -1, 126, -1,
1058 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1059 -1, -1, -1, -1, -1, 91, -1, -1, -1, -1,
1060 -1, -1, -1, -1, -1, -1, 33, -1, -1, 36,
1061 37, 38, -1, 40, 41, 42, 43, -1, 45, -1,
1062 -1, -1, -1, -1, -1, -1, -1, 123, -1, -1,
1063 126, -1, -1, -1, -1, -1, -1, 64, -1, -1,
1064 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1065 -1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
1066 258, 259, 260, 261, 91, -1, -1, -1, -1, -1,
1067 -1, -1, -1, -1, -1, -1, 274, -1, 276, 277,
1068 278, -1, -1, -1, -1, 283, 284, 285, 286, 287,
1069 288, -1, -1, 291, -1, -1, 123, -1, 296, 126,
1070 -1, -1, -1, 301, -1, 303, 304, -1, -1, 257,
1071 258, 259, 260, 261, -1, -1, -1, -1, -1, -1,
1072 -1, -1, -1, -1, -1, -1, 274, -1, 276, 277,
1073 278, -1, -1, -1, -1, 283, 284, 285, 286, 287,
1074 288, -1, -1, 291, -1, -1, -1, -1, 296, -1,
1075 -1, -1, -1, 301, -1, 303, 304, -1, -1, -1,
1076 -1, 257, 258, 259, 260, 261, 41, -1, -1, 44,
1077 -1, -1, -1, -1, -1, -1, -1, -1, 274, -1,
1078 276, 277, 278, 58, 59, -1, 61, 283, 284, 285,
1079 286, 287, 288, -1, 33, 291, -1, 36, 37, 38,
1080 296, 40, 41, 42, 43, 301, 45, 303, 304, -1,
1081 -1, -1, -1, -1, -1, -1, 91, -1, 93, -1,
1082 -1, -1, -1, -1, -1, 64, -1, -1, -1, -1,
1083 257, 258, 259, 260, 261, -1, -1, -1, -1, -1,
1084 -1, -1, -1, -1, -1, -1, -1, 274, 123, 276,
1085 277, 278, 91, -1, -1, -1, 283, 284, 285, 286,
1086 287, 288, -1, 33, 291, -1, 36, 37, 38, 296,
1087 40, -1, 42, 43, 301, 45, 303, 304, -1, -1,
1088 -1, -1, -1, -1, 123, -1, -1, 126, -1, 59,
1089 -1, -1, -1, -1, 64, -1, -1, -1, -1, -1,
1090 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1091 -1, -1, -1, -1, -1, 33, -1, -1, 36, 37,
1092 38, 91, 40, 41, 42, 43, -1, 45, -1, -1,
1093 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1094 -1, -1, -1, -1, -1, -1, 64, -1, -1, -1,
1095 -1, -1, -1, 123, -1, -1, 126, -1, -1, -1,
1096 -1, -1, -1, -1, -1, 33, -1, -1, 36, 37,
1097 38, -1, 40, 91, 42, 43, -1, 45, -1, -1,
1098 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1099 -1, 266, 267, 268, 269, -1, 64, -1, -1, -1,
1100 -1, -1, -1, -1, -1, 123, -1, -1, 126, -1,
1101 -1, -1, -1, -1, 289, 290, -1, -1, 257, 258,
1102 259, 260, 261, 91, 299, 93, -1, -1, -1, -1,
1103 305, 306, -1, -1, -1, 274, -1, 276, 277, 278,
1104 -1, -1, -1, -1, 283, 284, 285, 286, 287, 288,
1105 -1, -1, 291, -1, -1, 123, -1, 296, 126, -1,
1106 -1, -1, 301, -1, 303, 304, -1, -1, -1, -1,
1107 -1, 33, -1, -1, 36, 37, 38, -1, 40, -1,
1108 42, 43, -1, 45, -1, -1, -1, 257, 258, 259,
1109 260, 261, -1, -1, -1, -1, -1, -1, -1, -1,
1110 -1, -1, 64, -1, 274, -1, 276, 277, 278, -1,
1111 -1, -1, -1, 283, 284, 285, 286, 287, 288, -1,
1112 -1, 291, -1, -1, -1, -1, 296, -1, -1, 91,
1113 -1, 301, -1, 303, 304, -1, -1, -1, -1, 257,
1114 258, 259, 260, 261, -1, -1, -1, -1, -1, -1,
1115 -1, -1, -1, -1, -1, -1, 274, -1, 276, 277,
1116 278, 123, -1, -1, 126, 283, 284, 285, 286, 287,
1117 288, -1, 33, 291, -1, 36, 37, 38, 296, 40,
1118 -1, 42, 43, 301, 45, 303, 304, -1, -1, 257,
1119 258, 259, 260, 261, -1, -1, -1, -1, -1, -1,
1120 -1, -1, -1, 64, -1, -1, 274, -1, 276, 277,
1121 278, -1, -1, -1, -1, 283, 284, 285, 286, 287,
1122 288, 41, -1, 291, 44, -1, -1, -1, 296, -1,
1123 91, -1, -1, 301, -1, 303, 304, -1, 58, 59,
1124 -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
1125 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1126 -1, -1, 123, -1, -1, 126, -1, 41, -1, -1,
1127 44, 91, -1, 93, -1, -1, -1, -1, -1, -1,
1128 -1, -1, -1, -1, 58, 59, -1, 61, -1, 63,
1129 -1, -1, -1, -1, -1, 257, 258, 259, 260, 261,
1130 -1, -1, -1, 123, -1, -1, -1, -1, -1, -1,
1131 41, -1, 274, 44, 276, 277, 278, 91, -1, 93,
1132 -1, 283, 284, 285, 286, 287, 288, 58, 59, 291,
1133 61, -1, 63, -1, 296, -1, -1, -1, -1, 301,
1134 -1, 303, 304, -1, -1, -1, -1, -1, -1, 123,
1135 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
1136 91, -1, 93, -1, -1, -1, -1, -1, 58, 59,
1137 -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
1138 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1139 -1, -1, 123, -1, -1, -1, 257, 258, 259, 260,
1140 261, 91, -1, 93, -1, -1, -1, -1, -1, -1,
1141 -1, -1, -1, 274, 41, 276, 277, 278, -1, -1,
1142 -1, -1, 283, 284, 285, 286, 287, 288, -1, -1,
1143 291, 58, 59, 123, 61, 296, 63, -1, -1, -1,
1144 301, -1, 303, 304, -1, -1, 266, 267, 268, 269,
1145 -1, -1, -1, -1, -1, 275, -1, -1, -1, 279,
1146 280, 281, 282, -1, 91, -1, 93, -1, -1, 289,
1147 290, -1, 292, 293, 294, 295, -1, 297, 298, 299,
1148 -1, -1, 302, -1, -1, 305, 306, -1, -1, -1,
1149 -1, -1, 266, 267, 268, 269, 123, -1, -1, -1,
1150 -1, 275, -1, -1, -1, 279, 280, 281, 282, -1,
1151 -1, -1, -1, -1, -1, 289, 290, -1, 292, 293,
1152 294, 295, -1, 297, 298, 299, -1, -1, 302, -1,
1153 -1, 305, 306, -1, -1, 266, 267, 268, 269, -1,
1154 -1, -1, -1, -1, 275, -1, -1, -1, 279, 280,
1155 281, 282, -1, -1, -1, -1, -1, -1, 289, 290,
1156 -1, 292, 293, 294, 295, -1, 297, 298, 299, -1,
1157 -1, 302, -1, -1, 305, 306, 266, 267, 268, 269,
1158 -1, -1, -1, -1, -1, 275, -1, -1, -1, 279,
1159 280, 281, 282, -1, -1, -1, -1, -1, -1, 289,
1160 290, -1, 292, 293, 294, 295, -1, 297, 298, 299,
1161 -1, -1, 302, -1, -1, 305, 306, -1, -1, -1,
1162 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1163 -1, -1, 44, -1, -1, -1, -1, -1, -1, 266,
1164 267, 268, 269, -1, -1, -1, 58, 59, 275, 61,
1165 -1, 63, 279, 280, 281, 282, -1, -1, -1, -1,
1166 -1, -1, 289, 290, -1, 292, 293, 294, 295, -1,
1167 297, 298, 299, 41, -1, 302, 44, -1, 305, 306,
1168 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
1169 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1170 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1171 -1, 123, -1, -1, 41, -1, -1, 44, -1, -1,
1172 -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
1173 -1, 58, 59, -1, 61, -1, 63, -1, -1, -1,
1174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1175 -1, -1, -1, -1, -1, 123, 41, -1, -1, 44,
1176 -1, -1, -1, -1, 91, -1, 93, -1, -1, -1,
1177 -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
1178 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1179 -1, -1, -1, -1, -1, -1, 123, 41, -1, -1,
1180 44, -1, -1, -1, -1, -1, 91, -1, 93, -1,
1181 -1, -1, -1, -1, 58, 59, -1, 61, -1, 63,
1182 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1183 -1, -1, -1, -1, -1, -1, -1, -1, 123, -1,
1184 -1, -1, -1, -1, 41, -1, -1, 44, -1, 93,
1185 -1, -1, -1, -1, 266, 267, 268, 269, -1, -1,
1186 -1, 58, 59, 275, 61, -1, 63, 279, 280, 281,
1187 282, -1, -1, -1, -1, -1, -1, 289, 290, -1,
1188 292, 293, 294, 295, -1, 297, 298, 299, -1, -1,
1189 302, -1, -1, 305, 306, -1, 93, -1, 266, 267,
1190 268, 269, -1, -1, -1, -1, -1, 275, -1, -1,
1191 -1, 279, 280, 281, 282, -1, -1, -1, -1, -1,
1192 -1, 289, 290, -1, 292, 293, 294, 295, -1, 297,
1193 298, 299, -1, -1, 302, -1, -1, 305, 306, 266,
1194 267, 268, 269, -1, -1, -1, -1, -1, 275, -1,
1195 -1, -1, 279, 280, 281, 282, -1, -1, -1, -1,
1196 -1, -1, 289, 290, -1, 292, 293, 294, 295, -1,
1197 297, 298, 299, -1, -1, -1, -1, -1, 305, 306,
1198 -1, 266, 267, 268, 269, -1, -1, -1, -1, -1,
1199 275, -1, -1, -1, 279, 280, 281, 282, -1, -1,
1200 -1, -1, -1, -1, 289, 290, -1, 292, 293, 294,
1201 295, -1, 297, 298, 299, -1, -1, -1, -1, -1,
1202 305, 306, 266, 267, 268, 269, -1, -1, -1, -1,
1203 -1, 275, -1, -1, -1, 279, 280, 281, 282, -1,
1204 -1, -1, -1, -1, -1, 289, 290, -1, 292, 293,
1205 294, 295, -1, 297, 298, 299, -1, -1, 302, -1,
1206 -1, 305, 306, -1, -1, -1, -1, -1, -1, 266,
1207 267, 268, 269, -1, -1, -1, -1, -1, 275, -1,
1208 -1, -1, 279, 280, 281, 282, -1, -1, -1, -1,
1209 -1, -1, 289, 290, -1, 292, 293, 294, 295, -1,
1210 297, 298, 299, 41, -1, 302, 44, -1, 305, 306,
1211 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1212 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1213 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1214 -1, -1, -1, -1, 41, -1, -1, 44, -1, -1,
1215 -1, -1, -1, -1, -1, 93, -1, -1, -1, -1,
1216 -1, 58, 59, -1, 61, -1, 63, -1, -1, -1,
1217 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1218 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
1219 -1, -1, -1, -1, -1, -1, 93, -1, -1, -1,
1220 -1, -1, 58, 59, -1, 61, -1, 63, -1, -1,
1221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1222 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1223 -1, -1, -1, -1, -1, 91, -1, 93, -1, -1,
1224 -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
1225 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1226 -1, -1, -1, -1, -1, -1, -1, 123, 41, -1,
1227 -1, 44, -1, -1, -1, -1, -1, -1, 93, -1,
1228 -1, -1, -1, -1, -1, 58, 59, -1, 61, -1,
1229 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1230 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1231 -1, -1, -1, -1, -1, -1, -1, -1, 91, -1,
1232 93, -1, -1, -1, -1, -1, -1, -1, 266, 267,
1233 268, 269, -1, -1, -1, -1, -1, 275, -1, -1,
1234 -1, 279, 280, 281, 282, -1, -1, -1, -1, -1,
1235 123, 289, 290, -1, 292, 293, 294, 295, -1, 297,
1236 298, 299, -1, -1, 302, -1, -1, 305, 306, 266,
1237 267, 268, 269, -1, -1, -1, -1, -1, 275, -1,
1238 -1, -1, 279, 280, 281, 282, -1, -1, -1, -1,
1239 -1, -1, 289, 290, -1, 292, 293, 294, 295, -1,
1240 297, 298, 299, -1, -1, 302, -1, -1, 305, 306,
1241 266, 267, 268, 269, -1, -1, -1, -1, -1, 275,
1242 -1, -1, -1, 279, 280, 281, 282, -1, -1, -1,
1243 -1, -1, -1, 289, 290, -1, 292, 293, 294, 295,
1244 -1, 297, -1, 299, -1, -1, -1, -1, -1, 305,
1245 306, 266, 267, 268, 269, -1, -1, -1, -1, -1,
1246 275, -1, -1, -1, 279, 280, 281, 282, -1, -1,
1247 -1, -1, -1, -1, 289, 290, -1, 292, 293, 294,
1248 295, -1, 297, 298, -1, -1, -1, 302, -1, -1,
1249 305, 306, -1, 266, 267, 268, 269, -1, -1, -1,
1250 -1, -1, 275, -1, -1, -1, 279, 280, -1, -1,
1251 -1, -1, -1, -1, -1, -1, 289, 290, -1, 292,
1252 293, 294, 295, -1, 297, 41, 299, -1, 44, -1,
1253 -1, -1, 305, 306, -1, -1, -1, -1, -1, -1,
1254 -1, -1, 58, 59, -1, 61, -1, 63, -1, -1,
1255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1256 -1, -1, -1, -1, -1, -1, 41, -1, -1, 44,
1257 -1, -1, -1, -1, -1, 91, -1, 93, -1, -1,
1258 -1, -1, -1, 58, 59, -1, 61, -1, 63, -1,
1259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1260 -1, -1, -1, -1, -1, -1, -1, 123, 41, -1,
1261 -1, 44, -1, -1, -1, -1, 91, -1, 93, -1,
1262 -1, -1, -1, -1, -1, 58, 59, -1, 61, -1,
1263 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1264 -1, -1, -1, -1, -1, -1, -1, -1, 123, 41,
1265 -1, -1, 44, -1, -1, -1, -1, -1, 91, -1,
1266 93, -1, -1, -1, -1, -1, 58, 59, -1, 61,
1267 -1, 63, -1, -1, -1, -1, -1, -1, -1, -1,
1268 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1269 123, -1, -1, 41, -1, -1, 44, -1, -1, 91,
1270 -1, 93, -1, -1, -1, -1, -1, -1, -1, -1,
1271 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1272 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1273 -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
1274 -1, -1, -1, 91, -1, 93, -1, -1, -1, -1,
1275 266, 267, 268, 269, -1, -1, -1, -1, -1, 275,
1276 -1, -1, -1, 279, 280, -1, -1, -1, -1, -1,
1277 -1, -1, -1, 289, 290, 123, 292, 293, 294, 295,
1278 -1, -1, -1, 299, -1, -1, -1, -1, -1, 305,
1279 306, 266, 267, 268, 269, -1, -1, -1, -1, -1,
1280 275, -1, -1, -1, 279, 280, -1, -1, -1, -1,
1281 -1, -1, -1, -1, 289, 290, -1, 292, 293, 294,
1282 295, -1, -1, -1, 299, -1, -1, -1, -1, -1,
1283 305, 306, -1, 266, 267, 268, 269, -1, -1, -1,
1284 -1, -1, 275, -1, -1, -1, 279, 280, -1, -1,
1285 -1, -1, -1, -1, -1, -1, 289, 290, -1, 292,
1286 293, 294, 295, -1, -1, -1, 299, -1, -1, -1,
1287 -1, -1, 305, 306, 266, 267, 268, 269, -1, -1,
1288 -1, -1, -1, 275, -1, -1, -1, 41, 280, -1,
1289 44, -1, -1, -1, -1, -1, -1, 289, 290, -1,
1290 292, 293, 294, 295, 58, 59, -1, 299, -1, -1,
1291 -1, -1, 41, 305, 306, 44, -1, -1, 266, 267,
1292 268, 269, -1, -1, -1, -1, -1, 275, -1, 58,
1293 59, -1, 61, -1, 63, -1, -1, 91, -1, 93,
1294 -1, 289, 290, -1, 292, 293, 294, 295, -1, -1,
1295 -1, 299, -1, 41, -1, -1, 44, 305, 306, -1,
1296 -1, -1, 91, -1, 93, -1, -1, -1, -1, 123,
1297 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1298 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1299 -1, -1, -1, -1, 123, -1, -1, -1, -1, 58,
1300 59, -1, 61, 91, 63, 93, -1, -1, -1, -1,
1301 -1, 41, -1, -1, 44, -1, -1, -1, -1, -1,
1302 -1, -1, -1, 41, -1, -1, 44, -1, 58, 59,
1303 -1, 61, 91, 63, 93, 123, -1, -1, -1, -1,
1304 58, 59, -1, 61, -1, 63, -1, -1, -1, -1,
1305 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1306 -1, 91, -1, 93, 123, -1, -1, -1, -1, 58,
1307 59, 41, -1, 91, 44, 93, -1, -1, -1, -1,
1308 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
1309 -1, -1, -1, 123, -1, -1, -1, -1, -1, -1,
1310 -1, -1, 91, -1, 93, 123, -1, -1, -1, -1,
1311 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
1312 -1, 91, -1, 93, -1, -1, -1, -1, -1, -1,
1313 -1, -1, -1, -1, 123, 289, 290, 266, 267, 268,
1314 269, 41, -1, -1, 44, 299, 275, -1, -1, -1,
1315 -1, 305, 306, 123, -1, -1, -1, -1, 58, 59,
1316 289, 290, -1, 292, 293, 294, 295, -1, -1, -1,
1317 299, -1, -1, -1, -1, -1, 305, 306, 266, 267,
1318 268, 269, -1, -1, -1, -1, -1, 275, -1, -1,
1319 -1, 91, -1, 93, -1, -1, -1, -1, -1, -1,
1320 -1, 289, 290, -1, 292, 293, 294, 266, 267, 268,
1321 269, 299, -1, -1, -1, -1, 275, 305, 306, -1,
1322 -1, -1, -1, 123, -1, -1, -1, -1, -1, -1,
1323 289, 290, -1, 292, 293, -1, 266, 267, 268, 269,
1324 299, -1, -1, -1, -1, 275, 305, 306, 266, 267,
1325 268, 269, -1, -1, -1, -1, -1, -1, -1, 289,
1326 290, -1, 292, -1, -1, -1, -1, -1, -1, 299,
1327 -1, 289, 290, -1, -1, 305, 306, 266, 267, 268,
1328 269, 299, -1, -1, -1, -1, -1, 305, 306, 41,
1329 -1, -1, 44, -1, -1, -1, 266, 267, 268, 269,
1330 289, 290, -1, -1, -1, -1, 58, 59, -1, -1,
1331 299, -1, -1, -1, -1, -1, 305, 306, -1, 289,
1332 290, -1, -1, -1, -1, -1, -1, -1, -1, 299,
1333 41, -1, -1, 44, 41, 305, 306, 44, -1, 91,
1334 -1, 93, 41, -1, -1, 44, -1, 58, 59, -1,
1335 -1, 58, 59, -1, -1, -1, -1, -1, -1, 58,
1336 59, -1, -1, -1, -1, -1, 266, 267, 268, 269,
1337 -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
1338 91, -1, 93, -1, 91, 41, 93, -1, 44, 289,
1339 290, -1, 91, 41, 93, -1, 44, 41, -1, 299,
1340 44, -1, 58, 59, -1, 305, 306, -1, -1, -1,
1341 58, 59, 123, -1, 58, 59, 123, -1, -1, -1,
1342 -1, -1, -1, -1, 123, -1, -1, -1, -1, -1,
1343 -1, -1, -1, -1, -1, 91, -1, 93, 41, -1,
1344 -1, 44, -1, 91, -1, 93, -1, 91, -1, 93,
1345 -1, -1, -1, -1, -1, 58, 59, -1, 61, -1,
1346 63, -1, -1, -1, -1, -1, -1, 123, -1, -1,
1347 -1, -1, -1, -1, -1, 123, -1, 41, -1, 123,
1348 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1349 93, -1, -1, -1, 58, 59, -1, 61, -1, 63,
1350 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1351 -1, -1, -1, -1, 266, 267, 268, 269, -1, -1,
1352 -1, -1, 41, -1, -1, 44, -1, -1, -1, 93,
1353 -1, -1, -1, -1, -1, -1, -1, 289, 290, 58,
1354 59, -1, 61, -1, 63, -1, -1, 299, -1, -1,
1355 -1, -1, -1, 305, 306, 266, 267, 268, 269, 266,
1356 267, 268, 269, -1, -1, -1, -1, 266, 267, 268,
1357 269, -1, -1, -1, 93, -1, -1, -1, 289, 290,
1358 -1, -1, 289, 290, -1, -1, -1, -1, 299, -1,
1359 289, 290, 299, -1, 305, 306, -1, -1, 305, 306,
1360 299, -1, -1, -1, -1, -1, 305, 306, -1, -1,
1361 266, 267, 268, 269, -1, -1, -1, -1, 266, 267,
1362 268, 269, 266, 267, 268, 269, -1, -1, -1, -1,
1363 -1, -1, -1, 289, 290, -1, -1, -1, -1, -1,
1364 -1, 289, 290, 299, -1, -1, -1, -1, -1, 305,
1365 306, 299, -1, -1, -1, 299, -1, 305, 306, -1,
1366 -1, 305, 306, 266, 267, 268, 269, -1, -1, -1,
1367 -1, -1, 275, -1, -1, -1, 279, 280, 281, 282,
1368 -1, -1, -1, -1, -1, -1, 289, 290, -1, 292,
1369 293, 294, 295, -1, 297, 298, 299, -1, -1, 302,
1370 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
1371 -1, 275, -1, -1, -1, 279, 280, 281, 282, -1,
1372 -1, -1, -1, -1, -1, 289, 290, -1, 292, 293,
1373 294, 295, -1, 297, 298, 299, -1, 41, 302, -1,
1374 44, -1, -1, -1, -1, -1, -1, 266, 267, 268,
1375 269, -1, -1, -1, 58, 59, 275, 61, -1, 63,
1376 279, 280, 281, 282, -1, -1, -1, -1, -1, -1,
1377 289, 290, -1, 292, 293, 294, 295, -1, 297, 298,
1378 299, 41, -1, 302, 44, -1, -1, -1, -1, 93,
1379 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
1380 -1, 61, -1, 63, -1, -1, -1, -1, -1, -1,
1381 -1, -1, -1, -1, -1, -1, -1, -1, 41, -1,
1382 -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
1383 -1, -1, -1, 93, -1, 58, 59, -1, 61, -1,
1384 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1385 -1, -1, -1, -1, -1, 41, -1, -1, 44, -1,
1386 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1387 93, -1, 58, 59, -1, 61, -1, 63, -1, -1,
1388 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1389 -1, -1, 41, -1, -1, 44, -1, -1, -1, -1,
1390 -1, -1, -1, -1, -1, -1, -1, 93, -1, 58,
1391 59, -1, 61, -1, 63, -1, -1, -1, -1, -1,
1392 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1393 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1394 -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
1395 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1396 -1, -1, 266, 267, 268, 269, -1, -1, -1, -1,
1397 -1, 275, -1, -1, -1, 279, 280, 281, 282, -1,
1398 -1, -1, -1, -1, -1, 289, 290, -1, 292, 293,
1399 294, 295, -1, 297, 298, 299, -1, -1, 302, -1,
1400 -1, -1, -1, -1, -1, -1, 266, 267, 268, 269,
1401 -1, -1, -1, -1, -1, 275, -1, -1, -1, 279,
1402 280, 281, 282, -1, -1, -1, -1, -1, -1, 289,
1403 290, -1, 292, 293, 294, 295, -1, 297, 298, 299,
1404 -1, -1, 302, 266, 267, 268, 269, -1, -1, -1,
1405 -1, -1, 275, -1, -1, -1, 279, 280, 281, 282,
1406 -1, -1, -1, -1, -1, -1, 289, 290, -1, 292,
1407 293, 294, 295, -1, 297, 298, 299, -1, -1, 302,
1408 266, 267, 268, 269, 37, 38, -1, -1, -1, 275,
1409 43, -1, -1, 279, 280, 281, 282, -1, -1, -1,
1410 -1, -1, -1, 289, 290, -1, 292, 293, 294, 295,
1411 -1, 297, 298, 299, -1, -1, 302, 266, 267, 268,
1412 269, -1, -1, -1, -1, -1, 275, -1, -1, 82,
1413 279, 280, 281, 282, -1, -1, -1, -1, -1, -1,
1414 289, 290, -1, 292, 293, 294, 295, -1, 297, 298,
1415 -1, -1, -1, 302, -1, -1, -1, -1, -1, -1,
1416 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1417 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1418 -1, -1, 135, 136, 137, 138, 139, 140, 141, 142,
1419 143, 144, 145, 146, 147, 148, 149, 150, 151, -1,
1420 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1421 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1422 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1423 -1, -1, -1, -1, -1, -1, -1, 190, -1, -1,
1424 -1, -1, -1, -1, -1, 198, -1, 200, -1, -1,
1425 -1, -1, -1, -1, -1, -1, -1, -1, -1, 212,
1426 -1, 214, -1, -1, -1, -1, -1, 220, -1, 222,
1427 -1, 224, -1, 226, -1, 228, -1, -1, 231, -1,
1428 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1429 -1, -1, -1, -1, -1, 248, -1, -1, -1, -1,
1430 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1431 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1432 -1, -1, -1, -1, -1, -1, -1, 280,
1438 #define YYMAXTOKEN 306
1441 "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,
1442 "'!'",0,0,"'$'","'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'",0,0,0,0,0,0,0,
1443 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,
1444 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,
1445 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,
1446 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,
1447 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,
1448 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",
1449 "PMFUNC","PRIVATEREF","LABEL","FORMAT","SUB","PACKAGE","WHILE","UNTIL","IF",
1450 "UNLESS","ELSE","ELSIF","CONTINUE","FOR","LOOPEX","DOTDOT","FUNC0","FUNC1",
1451 "FUNC","RELOP","EQOP","MULOP","ADDOP","DOLSHARP","DO","LOCAL","DELETE",
1452 "HASHBRACK","NOAMP","OROP","ANDOP","LSTOP","OROR","ANDAND","BITOROP","BITANDOP",
1453 "UNIOP","SHIFTOP","MATCHOP","ARROW","UMINUS","REFGEN","POWOP","PREINC","PREDEC",
1454 "POSTINC","POSTDEC",
1459 "prog : $$1 lineseq",
1460 "block : '{' remember lineseq '}'",
1463 "lineseq : lineseq decl",
1464 "lineseq : lineseq line",
1465 "line : label cond",
1468 "line : label sideff ';'",
1471 "sideff : expr IF expr",
1472 "sideff : expr UNLESS expr",
1473 "sideff : expr WHILE expr",
1474 "sideff : expr UNTIL expr",
1476 "else : ELSE block",
1477 "else : ELSIF '(' expr ')' block else",
1478 "cond : IF '(' expr ')' block else",
1479 "cond : UNLESS '(' expr ')' block else",
1480 "cond : IF block block else",
1481 "cond : UNLESS block block else",
1483 "cont : CONTINUE block",
1484 "loop : label WHILE '(' texpr ')' block cont",
1485 "loop : label UNTIL '(' expr ')' block cont",
1486 "loop : label WHILE block block cont",
1487 "loop : label UNTIL block block cont",
1488 "loop : label FOR scalar '(' expr crp block cont",
1489 "loop : label FOR '(' expr crp block cont",
1490 "loop : label FOR '(' nexpr ';' texpr ';' nexpr ')' block",
1491 "loop : label block cont",
1501 "format : FORMAT WORD block",
1502 "format : FORMAT block",
1503 "subrout : SUB WORD block",
1504 "subrout : SUB WORD ';'",
1505 "package : PACKAGE WORD ';'",
1506 "package : PACKAGE ';'",
1507 "expr : expr ',' sexpr",
1509 "listop : LSTOP indirob listexpr",
1510 "listop : FUNC '(' indirob listexpr ')'",
1511 "listop : indirob ARROW LSTOP listexpr",
1512 "listop : indirob ARROW FUNC '(' listexpr ')'",
1513 "listop : term ARROW METHOD '(' listexpr ')'",
1514 "listop : METHOD indirob listexpr",
1515 "listop : LSTOP listexpr",
1516 "listop : FUNC '(' listexpr ')'",
1517 "sexpr : sexpr '=' sexpr",
1518 "sexpr : sexpr POWOP '=' sexpr",
1519 "sexpr : sexpr MULOP '=' sexpr",
1520 "sexpr : sexpr ADDOP '=' sexpr",
1521 "sexpr : sexpr SHIFTOP '=' sexpr",
1522 "sexpr : sexpr BITANDOP '=' sexpr",
1523 "sexpr : sexpr BITOROP '=' sexpr",
1524 "sexpr : sexpr ANDAND '=' sexpr",
1525 "sexpr : sexpr OROR '=' sexpr",
1526 "sexpr : sexpr POWOP sexpr",
1527 "sexpr : sexpr MULOP sexpr",
1528 "sexpr : sexpr ADDOP sexpr",
1529 "sexpr : sexpr SHIFTOP sexpr",
1530 "sexpr : sexpr RELOP sexpr",
1531 "sexpr : sexpr EQOP sexpr",
1532 "sexpr : sexpr BITANDOP sexpr",
1533 "sexpr : sexpr BITOROP sexpr",
1534 "sexpr : sexpr DOTDOT sexpr",
1535 "sexpr : sexpr ANDAND sexpr",
1536 "sexpr : sexpr OROR sexpr",
1537 "sexpr : sexpr ANDOP sexpr",
1538 "sexpr : sexpr OROP sexpr",
1539 "sexpr : sexpr '?' sexpr ':' sexpr",
1540 "sexpr : sexpr MATCHOP sexpr",
1546 "term : REFGEN term",
1547 "term : term POSTINC",
1548 "term : term POSTDEC",
1549 "term : PREINC term",
1550 "term : PREDEC term",
1551 "term : LOCAL sexpr",
1552 "term : '(' expr crp",
1554 "term : '[' expr crb",
1556 "term : HASHBRACK expr crhb",
1557 "term : HASHBRACK ';' '}'",
1560 "term : scalar '[' expr ']'",
1561 "term : term ARROW '[' expr ']'",
1562 "term : term '[' expr ']'",
1566 "term : scalar '{' expr ';' '}'",
1567 "term : term ARROW '{' expr ';' '}'",
1568 "term : term '{' expr ';' '}'",
1569 "term : '(' expr crp '[' expr ']'",
1570 "term : '(' ')' '[' expr ']'",
1571 "term : ary '[' expr ']'",
1572 "term : ary '{' expr ';' '}'",
1573 "term : DELETE scalar '{' expr ';' '}'",
1574 "term : DELETE '(' scalar '{' expr ';' '}' ')'",
1577 "term : amper '(' ')'",
1578 "term : amper '(' expr crp",
1579 "term : NOAMP WORD listexpr",
1580 "term : NOAMP WORD indirob listexpr",
1583 "term : DO WORD '(' ')'",
1584 "term : DO WORD '(' expr crp",
1585 "term : DO scalar '(' ')'",
1586 "term : DO scalar '(' expr crp",
1588 "term : LOOPEX WORD",
1590 "term : UNIOP block",
1591 "term : UNIOP sexpr",
1593 "term : FUNC0 '(' ')'",
1594 "term : FUNC1 '(' ')'",
1595 "term : FUNC1 '(' expr ')'",
1596 "term : PMFUNC '(' sexpr ')'",
1597 "term : PMFUNC '(' sexpr ',' sexpr ')'",
1602 "amper : '&' indirob",
1603 "scalar : '$' indirob",
1604 "ary : '@' indirob",
1605 "hsh : '%' indirob",
1606 "arylen : DOLSHARP indirob",
1607 "star : '*' indirob",
1611 "indirob : PRIVATEREF",
1616 "crhb : ',' ';' '}'",
1620 #define yyclearin (yychar=(-1))
1621 #define yyerrok (yyerrflag=0)
1624 #define YYMAXDEPTH YYSTACKSIZE
1628 #define YYSTACKSIZE YYMAXDEPTH
1630 #define YYSTACKSIZE 500
1631 #define YYMAXDEPTH 500
1642 #line 1648 "y.tab.c"
1643 #define YYABORT goto yyabort
1644 #define YYACCEPT goto yyaccept
1645 #define YYERROR goto yyerrlab
1649 register int yym, yyn, yystate;
1650 register short *yyssp;
1651 register YYSTYPE *yyvsp;
1654 unsigned yystacksize = YYSTACKSIZE;
1655 int oldyydebug = yydebug;
1656 int oldyynerrs = yynerrs;
1657 int oldyyerrflag = yyerrflag;
1658 int oldyychar = yychar;
1659 YYSTYPE oldyyval = yyval;
1660 YYSTYPE oldyylval = yylval;
1665 extern char *getenv();
1667 if (yys = getenv("YYDEBUG"))
1670 if (yyn >= '0' && yyn <= '9')
1671 yydebug = yyn - '0';
1680 ** Initialize private stacks (yyparse may be called from an action)
1682 yyss = (short*)malloc(yystacksize*sizeof(short));
1683 yyvs = (YYSTYPE*)malloc(yystacksize*sizeof(YYSTYPE));
1689 *yyssp = yystate = 0;
1692 if (yyn = yydefred[yystate]) goto yyreduce;
1695 if ((yychar = yylex()) < 0) yychar = 0;
1700 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1701 if (!yys) yys = "illegal-symbol";
1702 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n", yystate,
1707 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1708 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1712 fprintf(stderr, "yydebug: state %d, shifting to state %d\n",
1713 yystate, yytable[yyn]);
1715 if (yyssp >= yyss + yystacksize - 1)
1718 ** reallocate and recover. Note that pointers
1719 ** have to be reset, or bad things will happen
1721 int yyps_index = (yyssp - yyss);
1722 int yypv_index = (yyvsp - yyvs);
1723 yystacksize += YYSTACKSIZE;
1724 yyvs = (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
1725 yyss = (short*)realloc((char*)yyss,yystacksize * sizeof(short));
1728 yyssp = yyss + yyps_index;
1729 yyvsp = yyvs + yypv_index;
1731 *++yyssp = yystate = yytable[yyn];
1734 if (yyerrflag > 0) --yyerrflag;
1737 if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
1738 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1743 if (yyerrflag) goto yyinrecovery;
1748 yyerror("syntax error");
1760 if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
1761 yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
1766 "yydebug: state %d, error recovery shifting to state %d\n",
1767 *yyssp, yytable[yyn]);
1769 if (yyssp >= yyss + yystacksize - 1)
1772 ** reallocate and recover. Note that pointers
1773 ** have to be reset, or bad things will happen
1775 int yyps_index = (yyssp - yyss);
1776 int yypv_index = (yyvsp - yyvs);
1777 yystacksize += YYSTACKSIZE;
1778 yyvs = (YYSTYPE*)realloc((char*)yyvs,
1779 yystacksize * sizeof(YYSTYPE));
1780 yyss = (short*)realloc((char*)yyss,
1781 yystacksize * sizeof(short));
1784 yyssp = yyss + yyps_index;
1785 yyvsp = yyvs + yypv_index;
1787 *++yyssp = yystate = yytable[yyn];
1796 "yydebug: error recovery discarding state %d\n",
1799 if (yyssp <= yyss) goto yyabort;
1807 if (yychar == 0) goto yyabort;
1812 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1813 if (!yys) yys = "illegal-symbol";
1815 "yydebug: state %d, error recovery discards token %d (%s)\n",
1816 yystate, yychar, yys);
1825 fprintf(stderr, "yydebug: state %d, reducing by rule %d (%s)\n",
1826 yystate, yyn, yyrule[yyn]);
1829 yyval = yyvsp[1-yym];
1835 #if defined(YYDEBUG) && defined(DEBUGGING)
1836 yydebug = (debug & 1);
1844 eval_root = newUNOP(OP_LEAVEEVAL, 0, yyvsp[0].opval);
1845 eval_start = linklist(eval_root);
1846 eval_root->op_next = 0;
1850 main_root = block_head(yyvsp[0].opval, &main_start);
1855 { int nbs = needblockscope;
1856 yyval.opval = scalarseq(yyvsp[-1].opval);
1857 if (copline > (line_t)yyvsp[-3].ival)
1858 copline = yyvsp[-3].ival;
1859 leave_scope(yyvsp[-2].ival);
1861 needblockscope = TRUE; /* propagate outward */
1862 pad_leavemy(comppadnamefill); }
1866 { yyval.ival = savestack_ix;
1867 SAVEINT(comppadnamefill);
1868 SAVEINT(needblockscope);
1869 needblockscope = FALSE; }
1873 { yyval.opval = Nullop; }
1877 { yyval.opval = yyvsp[-1].opval; }
1881 { yyval.opval = append_list(OP_LINESEQ,
1882 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval); pad_reset();
1883 if (yyvsp[-1].opval && yyvsp[0].opval) needblockscope = TRUE; }
1887 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1891 { if (yyvsp[-1].pval != Nullch) {
1892 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1895 yyval.opval = Nullop;
1902 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1907 { yyval.opval = Nullop; }
1911 { yyval.opval = yyvsp[0].opval; }
1915 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1919 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1923 { yyval.opval = newLOOPOP(0, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1927 { yyval.opval = newLOOPOP(0, 1, invert(scalar(yyvsp[0].opval)), yyvsp[-2].opval);}
1931 { yyval.opval = Nullop; }
1935 { yyval.opval = scope(yyvsp[0].opval); }
1939 { copline = yyvsp[-5].ival;
1940 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1944 { copline = yyvsp[-5].ival;
1945 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1949 { copline = yyvsp[-5].ival;
1950 yyval.opval = newCONDOP(0,
1951 invert(scalar(yyvsp[-3].opval)), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1955 { copline = yyvsp[-3].ival;
1956 yyval.opval = newCONDOP(0, scope(yyvsp[-2].opval), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1960 { copline = yyvsp[-3].ival;
1961 yyval.opval = newCONDOP(0, invert(scalar(scope(yyvsp[-2].opval))),
1962 scope(yyvsp[-1].opval), yyvsp[0].opval); }
1966 { yyval.opval = Nullop; }
1970 { yyval.opval = scope(yyvsp[0].opval); }
1974 { copline = yyvsp[-5].ival;
1975 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
1976 newWHILEOP(0, 1, (LOOP*)Nullop,
1977 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval) ); }
1981 { copline = yyvsp[-5].ival;
1982 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
1983 newWHILEOP(0, 1, (LOOP*)Nullop,
1984 invert(scalar(yyvsp[-3].opval)), yyvsp[-1].opval, yyvsp[0].opval) ); }
1988 { copline = yyvsp[-3].ival;
1989 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
1990 newWHILEOP(0, 1, (LOOP*)Nullop,
1991 scope(yyvsp[-2].opval), yyvsp[-1].opval, yyvsp[0].opval) ); }
1995 { copline = yyvsp[-3].ival;
1996 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
1997 newWHILEOP(0, 1, (LOOP*)Nullop,
1998 invert(scalar(scope(yyvsp[-2].opval))), yyvsp[-1].opval, yyvsp[0].opval)); }
2002 { yyval.opval = newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, mod(yyvsp[-5].opval, OP_ENTERLOOP),
2003 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2007 { yyval.opval = newFOROP(0, yyvsp[-6].pval, yyvsp[-5].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2011 { copline = yyvsp[-8].ival;
2012 yyval.opval = append_elem(OP_LINESEQ,
2013 newSTATEOP(0, yyvsp[-9].pval, scalar(yyvsp[-6].opval)),
2014 newSTATEOP(0, yyvsp[-9].pval,
2015 newWHILEOP(0, 1, (LOOP*)Nullop,
2016 scalar(yyvsp[-4].opval), yyvsp[0].opval, scalar(yyvsp[-2].opval)) )); }
2020 { yyval.opval = newSTATEOP(0,
2021 yyvsp[-2].pval, newWHILEOP(0, 1, (LOOP*)Nullop,
2022 Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
2026 { yyval.opval = Nullop; }
2030 { (void)scan_num("1"); yyval.opval = yylval.opval; }
2034 { yyval.pval = Nullch; }
2050 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2054 { newFORM(yyvsp[-1].ival, Nullop, yyvsp[0].opval); }
2058 { newSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2062 { newSUB(yyvsp[-2].ival, yyvsp[-1].opval, Nullop); expect = XBLOCK; }
2066 { package(yyvsp[-1].opval); }
2070 { package(Nullop); }
2074 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
2078 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
2079 prepend_elem(OP_LIST, newGVREF(yyvsp[-1].opval), yyvsp[0].opval) ); }
2083 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
2084 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].opval), yyvsp[-1].opval) ); }
2088 { yyval.opval = convert(yyvsp[-1].ival, OPf_STACKED,
2089 prepend_elem(OP_LIST, newGVREF(yyvsp[-3].opval), yyvsp[0].opval) ); }
2093 { yyval.opval = convert(yyvsp[-3].ival, OPf_STACKED,
2094 prepend_elem(OP_LIST, newGVREF(yyvsp[-5].opval), yyvsp[-1].opval) ); }
2098 { yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
2099 prepend_elem(OP_LIST, newMETHOD(yyvsp[-5].opval,yyvsp[-3].opval), yyvsp[-1].opval)); }
2103 { yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
2104 prepend_elem(OP_LIST, newMETHOD(yyvsp[-1].opval,yyvsp[-2].opval), yyvsp[0].opval)); }
2108 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2112 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2116 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[0].opval); }
2120 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
2121 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
2125 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
2126 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
2130 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
2131 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval));}
2135 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
2136 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
2140 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
2141 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
2145 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
2146 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
2150 { yyval.opval = newLOGOP(OP_ANDASSIGN, 0,
2151 mod(scalar(yyvsp[-3].opval), OP_ANDASSIGN),
2152 newUNOP(OP_SASSIGN, 0, scalar(yyvsp[0].opval))); }
2156 { yyval.opval = newLOGOP(OP_ORASSIGN, 0,
2157 mod(scalar(yyvsp[-3].opval), OP_ORASSIGN),
2158 newUNOP(OP_SASSIGN, 0, scalar(yyvsp[0].opval))); }
2162 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2166 { if (yyvsp[-1].ival != OP_REPEAT)
2167 scalar(yyvsp[-2].opval);
2168 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2172 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2176 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2180 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2184 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2188 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2192 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2196 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2200 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2204 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2208 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2212 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2216 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2220 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2224 { yyval.opval = yyvsp[0].opval; }
2228 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2232 { yyval.opval = yyvsp[0].opval; }
2236 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2240 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2244 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2248 { yyval.opval = newUNOP(OP_POSTINC, 0,
2249 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2253 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2254 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2258 { yyval.opval = newUNOP(OP_PREINC, 0,
2259 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2263 { yyval.opval = newUNOP(OP_PREDEC, 0,
2264 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2268 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2272 { yyval.opval = sawparens(yyvsp[-1].opval); }
2276 { yyval.opval = newNULLLIST(); }
2280 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2284 { yyval.opval = newANONLIST(Nullop); }
2288 { yyval.opval = newANONHASH(yyvsp[-1].opval); }
2292 { yyval.opval = newANONHASH(Nullop); }
2296 { yyval.opval = yyvsp[0].opval; }
2300 { yyval.opval = yyvsp[0].opval; }
2304 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2308 { yyval.opval = newBINOP(OP_AELEM, 0,
2309 scalar(ref(newAVREF(yyvsp[-4].opval),OP_RV2AV)),
2310 scalar(yyvsp[-1].opval));}
2314 { yyval.opval = newBINOP(OP_AELEM, 0,
2315 scalar(ref(newAVREF(yyvsp[-3].opval),OP_RV2AV)),
2316 scalar(yyvsp[-1].opval));}
2320 { yyval.opval = yyvsp[0].opval; }
2324 { yyval.opval = yyvsp[0].opval; }
2328 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2332 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2333 expect = XOPERATOR; }
2337 { yyval.opval = newBINOP(OP_HELEM, 0,
2338 scalar(ref(newHVREF(yyvsp[-5].opval),OP_RV2HV)),
2339 jmaybe(yyvsp[-2].opval));
2340 expect = XOPERATOR; }
2344 { yyval.opval = newBINOP(OP_HELEM, 0,
2345 scalar(ref(newHVREF(yyvsp[-4].opval),OP_RV2HV)),
2346 jmaybe(yyvsp[-2].opval));
2347 expect = XOPERATOR; }
2351 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2355 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2359 { yyval.opval = prepend_elem(OP_ASLICE,
2360 newOP(OP_PUSHMARK, 0),
2362 newLISTOP(OP_ASLICE, 0,
2363 list(yyvsp[-1].opval),
2364 ref(yyvsp[-3].opval, OP_ASLICE)))); }
2368 { yyval.opval = prepend_elem(OP_HSLICE,
2369 newOP(OP_PUSHMARK, 0),
2371 newLISTOP(OP_HSLICE, 0,
2372 list(yyvsp[-2].opval),
2373 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE))));
2374 expect = XOPERATOR; }
2378 { yyval.opval = newBINOP(OP_DELETE, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2379 expect = XOPERATOR; }
2383 { yyval.opval = newBINOP(OP_DELETE, 0, oopsHV(yyvsp[-5].opval), jmaybe(yyvsp[-3].opval));
2384 expect = XOPERATOR; }
2388 { yyval.opval = yyvsp[0].opval; }
2392 { yyval.opval = newUNOP(OP_ENTERSUBR, 0,
2393 scalar(yyvsp[0].opval)); }
2397 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2401 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED,
2402 list(prepend_elem(OP_LIST, scalar(yyvsp[-3].opval), yyvsp[-1].opval))); }
2406 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED,
2407 list(prepend_elem(OP_LIST,
2408 newCVREF(scalar(yyvsp[-1].opval)), yyvsp[0].opval))); }
2412 { yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
2413 prepend_elem(OP_LIST, newMETHOD(yyvsp[-1].opval,yyvsp[-2].opval), yyvsp[0].opval)); }
2417 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2421 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2425 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2426 list(prepend_elem(OP_LIST,
2427 scalar(newCVREF(scalar(yyvsp[-2].opval))), newNULLLIST()))); }
2431 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2432 list(prepend_elem(OP_LIST,
2433 scalar(newCVREF(scalar(yyvsp[-3].opval))),
2434 yyvsp[-1].opval))); }
2438 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2439 list(prepend_elem(OP_LIST,
2440 scalar(newCVREF(scalar(yyvsp[-2].opval))), newNULLLIST())));}
2444 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2445 list(prepend_elem(OP_LIST,
2446 scalar(newCVREF(scalar(yyvsp[-3].opval))),
2447 yyvsp[-1].opval))); }
2451 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL); needblockscope = TRUE; }
2455 { yyval.opval = newPVOP(yyvsp[-1].ival, 0,
2456 savestr(SvPVx(((SVOP*)yyvsp[0].opval)->op_sv, na)));
2457 op_free(yyvsp[0].opval); needblockscope = TRUE; }
2461 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2465 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2469 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2473 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2477 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2481 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2485 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2489 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2493 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2497 { yyval.opval = newNULLLIST(); }
2501 { yyval.opval = yyvsp[0].opval; }
2505 { yyval.opval = newCVREF(yyvsp[0].opval); }
2509 { yyval.opval = newSVREF(yyvsp[0].opval); }
2513 { yyval.opval = newAVREF(yyvsp[0].opval); }
2517 { yyval.opval = newHVREF(yyvsp[0].opval); }
2521 { yyval.opval = newAVREF(yyvsp[0].opval); }
2525 { yyval.opval = newGVREF(yyvsp[0].opval); }
2529 { yyval.opval = scalar(yyvsp[0].opval); }
2533 { yyval.opval = scalar(yyvsp[0].opval); }
2537 { yyval.opval = scalar(scope(yyvsp[0].opval)); }
2541 { yyval.opval = yyvsp[0].opval; }
2567 #line 2523 "y.tab.c"
2573 if (yystate == 0 && yym == 0)
2578 "yydebug: after reduction, shifting from state 0 to state %d\n",
2586 if ((yychar = yylex()) < 0) yychar = 0;
2591 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2592 if (!yys) yys = "illegal-symbol";
2593 fprintf(stderr, "yydebug: state %d, reading %d (%s)\n",
2594 YYFINAL, yychar, yys);
2598 if (yychar == 0) goto yyaccept;
2601 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2602 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2603 yystate = yytable[yyn];
2605 yystate = yydgoto[yym];
2609 "yydebug: after reduction, shifting from state %d to state %d\n",
2612 if (yyssp >= yyss + yystacksize - 1)
2615 ** reallocate and recover. Note that pointers
2616 ** have to be reset, or bad things will happen
2618 int yyps_index = (yyssp - yyss);
2619 int yypv_index = (yyvsp - yyvs);
2620 yystacksize += YYSTACKSIZE;
2621 yyvs = (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2622 yyss = (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2625 yyssp = yyss + yyps_index;
2626 yyvsp = yyvs + yypv_index;
2632 yyerror("Out of memory for yacc stack");
2636 if (yyss) free(yyss);
2637 if (yyvs) free(yyvs);
2638 yydebug = oldyydebug;
2639 yynerrs = oldyynerrs;
2640 yyerrflag = oldyyerrflag;