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 printf("yydebug: state %d, reading %d (%s)\n", yystate,
1707 if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
1708 yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
1712 printf("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)
1765 printf("yydebug: state %d, error recovery shifting\
1766 to state %d\n", *yyssp, yytable[yyn]);
1768 if (yyssp >= yyss + yystacksize - 1)
1771 ** reallocate and recover. Note that pointers
1772 ** have to be reset, or bad things will happen
1774 int yyps_index = (yyssp - yyss);
1775 int yypv_index = (yyvsp - yyvs);
1776 yystacksize += YYSTACKSIZE;
1777 yyvs = (YYSTYPE*)realloc((char*)yyvs,
1778 yystacksize * sizeof(YYSTYPE));
1779 yyss = (short*)realloc((char*)yyss,
1780 yystacksize * sizeof(short));
1783 yyssp = yyss + yyps_index;
1784 yyvsp = yyvs + yypv_index;
1786 *++yyssp = yystate = yytable[yyn];
1794 printf("yydebug: error recovery discarding state %d\n",
1797 if (yyssp <= yyss) goto yyabort;
1805 if (yychar == 0) goto yyabort;
1810 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
1811 if (!yys) yys = "illegal-symbol";
1812 printf("yydebug: state %d, error recovery discards token %d (%s)\n",
1813 yystate, yychar, yys);
1822 printf("yydebug: state %d, reducing by rule %d (%s)\n",
1823 yystate, yyn, yyrule[yyn]);
1826 yyval = yyvsp[1-yym];
1832 #if defined(YYDEBUG) && defined(DEBUGGING)
1833 yydebug = (debug & 1);
1841 eval_root = newUNOP(OP_LEAVEEVAL, 0, yyvsp[0].opval);
1842 eval_start = linklist(eval_root);
1843 eval_root->op_next = 0;
1847 main_root = block_head(yyvsp[0].opval, &main_start);
1852 { int nbs = needblockscope;
1853 yyval.opval = scalarseq(yyvsp[-1].opval);
1854 if (copline > (line_t)yyvsp[-3].ival)
1855 copline = yyvsp[-3].ival;
1856 leave_scope(yyvsp[-2].ival);
1858 needblockscope = TRUE; /* propagate outward */
1859 pad_leavemy(comppadnamefill); }
1863 { yyval.ival = savestack_ix;
1864 SAVEINT(comppadnamefill);
1865 SAVEINT(needblockscope);
1866 needblockscope = FALSE; }
1870 { yyval.opval = Nullop; }
1874 { yyval.opval = yyvsp[-1].opval; }
1878 { yyval.opval = append_list(OP_LINESEQ,
1879 (LISTOP*)yyvsp[-1].opval, (LISTOP*)yyvsp[0].opval); pad_reset();
1880 if (yyvsp[-1].opval && yyvsp[0].opval) needblockscope = TRUE; }
1884 { yyval.opval = newSTATEOP(0, yyvsp[-1].pval, yyvsp[0].opval); }
1888 { if (yyvsp[-1].pval != Nullch) {
1889 yyval.opval = newSTATEOP(0, yyvsp[-1].pval, newOP(OP_NULL, 0));
1892 yyval.opval = Nullop;
1899 { yyval.opval = newSTATEOP(0, yyvsp[-2].pval, yyvsp[-1].opval);
1904 { yyval.opval = Nullop; }
1908 { yyval.opval = yyvsp[0].opval; }
1912 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1916 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[0].opval, yyvsp[-2].opval); }
1920 { yyval.opval = newLOOPOP(0, 1, scalar(yyvsp[0].opval), yyvsp[-2].opval); }
1924 { yyval.opval = newLOOPOP(0, 1, invert(scalar(yyvsp[0].opval)), yyvsp[-2].opval);}
1928 { yyval.opval = Nullop; }
1932 { yyval.opval = scope(yyvsp[0].opval); }
1936 { copline = yyvsp[-5].ival;
1937 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1941 { copline = yyvsp[-5].ival;
1942 yyval.opval = newCONDOP(0, yyvsp[-3].opval, scope(yyvsp[-1].opval), yyvsp[0].opval); }
1946 { copline = yyvsp[-5].ival;
1947 yyval.opval = newCONDOP(0,
1948 invert(scalar(yyvsp[-3].opval)), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1952 { copline = yyvsp[-3].ival;
1953 yyval.opval = newCONDOP(0, scope(yyvsp[-2].opval), scope(yyvsp[-1].opval), yyvsp[0].opval); }
1957 { copline = yyvsp[-3].ival;
1958 yyval.opval = newCONDOP(0, invert(scalar(scope(yyvsp[-2].opval))),
1959 scope(yyvsp[-1].opval), yyvsp[0].opval); }
1963 { yyval.opval = Nullop; }
1967 { yyval.opval = scope(yyvsp[0].opval); }
1971 { copline = yyvsp[-5].ival;
1972 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
1973 newWHILEOP(0, 1, (LOOP*)Nullop,
1974 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval) ); }
1978 { copline = yyvsp[-5].ival;
1979 yyval.opval = newSTATEOP(0, yyvsp[-6].pval,
1980 newWHILEOP(0, 1, (LOOP*)Nullop,
1981 invert(scalar(yyvsp[-3].opval)), yyvsp[-1].opval, yyvsp[0].opval) ); }
1985 { copline = yyvsp[-3].ival;
1986 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
1987 newWHILEOP(0, 1, (LOOP*)Nullop,
1988 scope(yyvsp[-2].opval), yyvsp[-1].opval, yyvsp[0].opval) ); }
1992 { copline = yyvsp[-3].ival;
1993 yyval.opval = newSTATEOP(0, yyvsp[-4].pval,
1994 newWHILEOP(0, 1, (LOOP*)Nullop,
1995 invert(scalar(scope(yyvsp[-2].opval))), yyvsp[-1].opval, yyvsp[0].opval)); }
1999 { yyval.opval = newFOROP(0, yyvsp[-7].pval, yyvsp[-6].ival, mod(yyvsp[-5].opval, OP_ENTERLOOP),
2000 yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2004 { yyval.opval = newFOROP(0, yyvsp[-6].pval, yyvsp[-5].ival, Nullop, yyvsp[-3].opval, yyvsp[-1].opval, yyvsp[0].opval); }
2008 { copline = yyvsp[-8].ival;
2009 yyval.opval = append_elem(OP_LINESEQ,
2010 newSTATEOP(0, yyvsp[-9].pval, scalar(yyvsp[-6].opval)),
2011 newSTATEOP(0, yyvsp[-9].pval,
2012 newWHILEOP(0, 1, (LOOP*)Nullop,
2013 scalar(yyvsp[-4].opval), yyvsp[0].opval, scalar(yyvsp[-2].opval)) )); }
2017 { yyval.opval = newSTATEOP(0,
2018 yyvsp[-2].pval, newWHILEOP(0, 1, (LOOP*)Nullop,
2019 Nullop, yyvsp[-1].opval, yyvsp[0].opval)); }
2023 { yyval.opval = Nullop; }
2027 { (void)scan_num("1"); yyval.opval = yylval.opval; }
2031 { yyval.pval = Nullch; }
2047 { newFORM(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2051 { newFORM(yyvsp[-1].ival, Nullop, yyvsp[0].opval); }
2055 { newSUB(yyvsp[-2].ival, yyvsp[-1].opval, yyvsp[0].opval); }
2059 { newSUB(yyvsp[-2].ival, yyvsp[-1].opval, Nullop); expect = XBLOCK; }
2063 { package(yyvsp[-1].opval); }
2067 { package(Nullop); }
2071 { yyval.opval = append_elem(OP_LIST, yyvsp[-2].opval, yyvsp[0].opval); }
2075 { yyval.opval = convert(yyvsp[-2].ival, OPf_STACKED,
2076 prepend_elem(OP_LIST, newGVREF(yyvsp[-1].opval), yyvsp[0].opval) ); }
2080 { yyval.opval = convert(yyvsp[-4].ival, OPf_STACKED,
2081 prepend_elem(OP_LIST, newGVREF(yyvsp[-2].opval), yyvsp[-1].opval) ); }
2085 { yyval.opval = convert(yyvsp[-1].ival, OPf_STACKED,
2086 prepend_elem(OP_LIST, newGVREF(yyvsp[-3].opval), yyvsp[0].opval) ); }
2090 { yyval.opval = convert(yyvsp[-3].ival, OPf_STACKED,
2091 prepend_elem(OP_LIST, newGVREF(yyvsp[-5].opval), yyvsp[-1].opval) ); }
2095 { yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
2096 prepend_elem(OP_LIST, newMETHOD(yyvsp[-5].opval,yyvsp[-3].opval), yyvsp[-1].opval)); }
2100 { yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
2101 prepend_elem(OP_LIST, newMETHOD(yyvsp[-1].opval,yyvsp[-2].opval), yyvsp[0].opval)); }
2105 { yyval.opval = convert(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2109 { yyval.opval = convert(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2113 { yyval.opval = newASSIGNOP(OPf_STACKED, yyvsp[-2].opval, yyvsp[0].opval); }
2117 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
2118 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
2122 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
2123 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
2127 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
2128 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval));}
2132 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
2133 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
2137 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
2138 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
2142 { yyval.opval = newBINOP(yyvsp[-2].ival, OPf_STACKED,
2143 mod(scalar(yyvsp[-3].opval), yyvsp[-2].ival), scalar(yyvsp[0].opval)); }
2147 { yyval.opval = newLOGOP(OP_ANDASSIGN, 0,
2148 mod(scalar(yyvsp[-3].opval), OP_ANDASSIGN),
2149 newUNOP(OP_SASSIGN, 0, scalar(yyvsp[0].opval))); }
2153 { yyval.opval = newLOGOP(OP_ORASSIGN, 0,
2154 mod(scalar(yyvsp[-3].opval), OP_ORASSIGN),
2155 newUNOP(OP_SASSIGN, 0, scalar(yyvsp[0].opval))); }
2159 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2163 { if (yyvsp[-1].ival != OP_REPEAT)
2164 scalar(yyvsp[-2].opval);
2165 yyval.opval = newBINOP(yyvsp[-1].ival, 0, yyvsp[-2].opval, scalar(yyvsp[0].opval)); }
2169 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2173 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2177 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2181 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2185 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2189 { yyval.opval = newBINOP(yyvsp[-1].ival, 0, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval)); }
2193 { yyval.opval = newRANGE(yyvsp[-1].ival, scalar(yyvsp[-2].opval), scalar(yyvsp[0].opval));}
2197 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2201 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2205 { yyval.opval = newLOGOP(OP_AND, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2209 { yyval.opval = newLOGOP(OP_OR, 0, yyvsp[-2].opval, yyvsp[0].opval); }
2213 { yyval.opval = newCONDOP(0, yyvsp[-4].opval, yyvsp[-2].opval, yyvsp[0].opval); }
2217 { yyval.opval = bind_match(yyvsp[-1].ival, yyvsp[-2].opval, yyvsp[0].opval); }
2221 { yyval.opval = yyvsp[0].opval; }
2225 { yyval.opval = newUNOP(OP_NEGATE, 0, scalar(yyvsp[0].opval)); }
2229 { yyval.opval = yyvsp[0].opval; }
2233 { yyval.opval = newUNOP(OP_NOT, 0, scalar(yyvsp[0].opval)); }
2237 { yyval.opval = newUNOP(OP_COMPLEMENT, 0, scalar(yyvsp[0].opval));}
2241 { yyval.opval = newUNOP(OP_REFGEN, 0, mod(yyvsp[0].opval,OP_REFGEN)); }
2245 { yyval.opval = newUNOP(OP_POSTINC, 0,
2246 mod(scalar(yyvsp[-1].opval), OP_POSTINC)); }
2250 { yyval.opval = newUNOP(OP_POSTDEC, 0,
2251 mod(scalar(yyvsp[-1].opval), OP_POSTDEC)); }
2255 { yyval.opval = newUNOP(OP_PREINC, 0,
2256 mod(scalar(yyvsp[0].opval), OP_PREINC)); }
2260 { yyval.opval = newUNOP(OP_PREDEC, 0,
2261 mod(scalar(yyvsp[0].opval), OP_PREDEC)); }
2265 { yyval.opval = localize(yyvsp[0].opval,yyvsp[-1].ival); }
2269 { yyval.opval = sawparens(yyvsp[-1].opval); }
2273 { yyval.opval = newNULLLIST(); }
2277 { yyval.opval = newANONLIST(yyvsp[-1].opval); }
2281 { yyval.opval = newANONLIST(Nullop); }
2285 { yyval.opval = newANONHASH(yyvsp[-1].opval); }
2289 { yyval.opval = newANONHASH(Nullop); }
2293 { yyval.opval = yyvsp[0].opval; }
2297 { yyval.opval = yyvsp[0].opval; }
2301 { yyval.opval = newBINOP(OP_AELEM, 0, oopsAV(yyvsp[-3].opval), scalar(yyvsp[-1].opval)); }
2305 { yyval.opval = newBINOP(OP_AELEM, 0,
2306 scalar(ref(newAVREF(yyvsp[-4].opval),OP_RV2AV)),
2307 scalar(yyvsp[-1].opval));}
2311 { yyval.opval = newBINOP(OP_AELEM, 0,
2312 scalar(ref(newAVREF(yyvsp[-3].opval),OP_RV2AV)),
2313 scalar(yyvsp[-1].opval));}
2317 { yyval.opval = yyvsp[0].opval; }
2321 { yyval.opval = yyvsp[0].opval; }
2325 { yyval.opval = newUNOP(OP_AV2ARYLEN, 0, ref(yyvsp[0].opval, OP_AV2ARYLEN));}
2329 { yyval.opval = newBINOP(OP_HELEM, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2330 expect = XOPERATOR; }
2334 { yyval.opval = newBINOP(OP_HELEM, 0,
2335 scalar(ref(newHVREF(yyvsp[-5].opval),OP_RV2HV)),
2336 jmaybe(yyvsp[-2].opval));
2337 expect = XOPERATOR; }
2341 { yyval.opval = newBINOP(OP_HELEM, 0,
2342 scalar(ref(newHVREF(yyvsp[-4].opval),OP_RV2HV)),
2343 jmaybe(yyvsp[-2].opval));
2344 expect = XOPERATOR; }
2348 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, yyvsp[-4].opval); }
2352 { yyval.opval = newSLICEOP(0, yyvsp[-1].opval, Nullop); }
2356 { yyval.opval = prepend_elem(OP_ASLICE,
2357 newOP(OP_PUSHMARK, 0),
2359 newLISTOP(OP_ASLICE, 0,
2360 list(yyvsp[-1].opval),
2361 ref(yyvsp[-3].opval, OP_ASLICE)))); }
2365 { yyval.opval = prepend_elem(OP_HSLICE,
2366 newOP(OP_PUSHMARK, 0),
2368 newLISTOP(OP_HSLICE, 0,
2369 list(yyvsp[-2].opval),
2370 ref(oopsHV(yyvsp[-4].opval), OP_HSLICE))));
2371 expect = XOPERATOR; }
2375 { yyval.opval = newBINOP(OP_DELETE, 0, oopsHV(yyvsp[-4].opval), jmaybe(yyvsp[-2].opval));
2376 expect = XOPERATOR; }
2380 { yyval.opval = newBINOP(OP_DELETE, 0, oopsHV(yyvsp[-5].opval), jmaybe(yyvsp[-3].opval));
2381 expect = XOPERATOR; }
2385 { yyval.opval = yyvsp[0].opval; }
2389 { yyval.opval = newUNOP(OP_ENTERSUBR, 0,
2390 scalar(yyvsp[0].opval)); }
2394 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED, scalar(yyvsp[-2].opval)); }
2398 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED,
2399 list(prepend_elem(OP_LIST, scalar(yyvsp[-3].opval), yyvsp[-1].opval))); }
2403 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_STACKED,
2404 list(prepend_elem(OP_LIST,
2405 newCVREF(scalar(yyvsp[-1].opval)), yyvsp[0].opval))); }
2409 { yyval.opval = convert(OP_ENTERSUBR, OPf_STACKED|OPf_SPECIAL,
2410 prepend_elem(OP_LIST, newMETHOD(yyvsp[-1].opval,yyvsp[-2].opval), yyvsp[0].opval)); }
2414 { yyval.opval = newUNOP(OP_DOFILE, 0, scalar(yyvsp[0].opval)); }
2418 { yyval.opval = newUNOP(OP_NULL, OPf_SPECIAL, scope(yyvsp[0].opval)); }
2422 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2423 list(prepend_elem(OP_LIST,
2424 scalar(newCVREF(scalar(yyvsp[-2].opval))), newNULLLIST()))); }
2428 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2429 list(prepend_elem(OP_LIST,
2430 scalar(newCVREF(scalar(yyvsp[-3].opval))),
2431 yyvsp[-1].opval))); }
2435 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2436 list(prepend_elem(OP_LIST,
2437 scalar(newCVREF(scalar(yyvsp[-2].opval))), newNULLLIST())));}
2441 { yyval.opval = newUNOP(OP_ENTERSUBR, OPf_SPECIAL|OPf_STACKED,
2442 list(prepend_elem(OP_LIST,
2443 scalar(newCVREF(scalar(yyvsp[-3].opval))),
2444 yyvsp[-1].opval))); }
2448 { yyval.opval = newOP(yyvsp[0].ival, OPf_SPECIAL); needblockscope = TRUE; }
2452 { yyval.opval = newPVOP(yyvsp[-1].ival, 0,
2453 savestr(SvPVx(((SVOP*)yyvsp[0].opval)->op_sv, na)));
2454 op_free(yyvsp[0].opval); needblockscope = TRUE; }
2458 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2462 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2466 { yyval.opval = newUNOP(yyvsp[-1].ival, 0, yyvsp[0].opval); }
2470 { yyval.opval = newOP(yyvsp[0].ival, 0); }
2474 { yyval.opval = newOP(yyvsp[-2].ival, 0); }
2478 { yyval.opval = newOP(yyvsp[-2].ival, OPf_SPECIAL); }
2482 { yyval.opval = newUNOP(yyvsp[-3].ival, 0, yyvsp[-1].opval); }
2486 { yyval.opval = pmruntime(yyvsp[-3].opval, yyvsp[-1].opval, Nullop); }
2490 { yyval.opval = pmruntime(yyvsp[-5].opval, yyvsp[-3].opval, yyvsp[-1].opval); }
2494 { yyval.opval = newNULLLIST(); }
2498 { yyval.opval = yyvsp[0].opval; }
2502 { yyval.opval = newCVREF(yyvsp[0].opval); }
2506 { yyval.opval = newSVREF(yyvsp[0].opval); }
2510 { yyval.opval = newAVREF(yyvsp[0].opval); }
2514 { yyval.opval = newHVREF(yyvsp[0].opval); }
2518 { yyval.opval = newAVREF(yyvsp[0].opval); }
2522 { yyval.opval = newGVREF(yyvsp[0].opval); }
2526 { yyval.opval = scalar(yyvsp[0].opval); }
2530 { yyval.opval = scalar(yyvsp[0].opval); }
2534 { yyval.opval = scalar(scope(yyvsp[0].opval)); }
2538 { yyval.opval = yyvsp[0].opval; }
2564 #line 2523 "y.tab.c"
2570 if (yystate == 0 && yym == 0)
2574 printf("yydebug: after reduction, shifting from state 0 to\
2575 state %d\n", YYFINAL);
2582 if ((yychar = yylex()) < 0) yychar = 0;
2587 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
2588 if (!yys) yys = "illegal-symbol";
2589 printf("yydebug: state %d, reading %d (%s)\n",
2590 YYFINAL, yychar, yys);
2594 if (yychar == 0) goto yyaccept;
2597 if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
2598 yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
2599 yystate = yytable[yyn];
2601 yystate = yydgoto[yym];
2604 printf("yydebug: after reduction, shifting from state %d \
2605 to state %d\n", *yyssp, yystate);
2607 if (yyssp >= yyss + yystacksize - 1)
2610 ** reallocate and recover. Note that pointers
2611 ** have to be reset, or bad things will happen
2613 int yyps_index = (yyssp - yyss);
2614 int yypv_index = (yyvsp - yyvs);
2615 yystacksize += YYSTACKSIZE;
2616 yyvs = (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
2617 yyss = (short*)realloc((char*)yyss,yystacksize * sizeof(short));
2620 yyssp = yyss + yyps_index;
2621 yyvsp = yyvs + yypv_index;
2627 yyerror("Out of memory for yacc stack");
2631 if (yyss) free(yyss);
2632 if (yyvs) free(yyvs);
2633 yydebug = oldyydebug;
2634 yynerrs = oldyynerrs;
2635 yyerrflag = oldyyerrflag;