2 #line 3 "surf/simgrid_dtd.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
9 #define YY_FLEX_MAJOR_VERSION 2
10 #define YY_FLEX_MINOR_VERSION 5
11 #define YY_FLEX_SUBMINOR_VERSION 33
12 #if YY_FLEX_SUBMINOR_VERSION > 0
16 /* First, we deal with platform-specific or compiler-specific issues. */
18 /* begin standard C headers. */
24 /* end standard C headers. */
26 /* flex integer type definitions */
31 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33 #if __STDC_VERSION__ >= 199901L
35 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
36 * if you want the limit (max/min) macros for int types.
38 #ifndef __STDC_LIMIT_MACROS
39 #define __STDC_LIMIT_MACROS 1
43 typedef int8_t flex_int8_t;
44 typedef uint8_t flex_uint8_t;
45 typedef int16_t flex_int16_t;
46 typedef uint16_t flex_uint16_t;
47 typedef int32_t flex_int32_t;
48 typedef uint32_t flex_uint32_t;
50 typedef signed char flex_int8_t;
51 typedef short int flex_int16_t;
52 typedef int flex_int32_t;
53 typedef unsigned char flex_uint8_t;
54 typedef unsigned short int flex_uint16_t;
55 typedef unsigned int flex_uint32_t;
58 /* Limits of integral types. */
60 #define INT8_MIN (-128)
63 #define INT16_MIN (-32767-1)
66 #define INT32_MIN (-2147483647-1)
69 #define INT8_MAX (127)
72 #define INT16_MAX (32767)
75 #define INT32_MAX (2147483647)
78 #define UINT8_MAX (255U)
81 #define UINT16_MAX (65535U)
84 #define UINT32_MAX (4294967295U)
87 #endif /* ! FLEXINT_H */
91 /* The "const" storage-class-modifier is valid. */
94 #else /* ! __cplusplus */
100 #endif /* __STDC__ */
101 #endif /* ! __cplusplus */
104 #define yyconst const
109 /* Returned upon end-of-file. */
112 /* Promotes a possibly negative, possibly signed char to an unsigned
113 * integer for use as an array index. If the signed char is negative,
114 * we want to instead treat it as an 8-bit unsigned char, hence the
117 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
119 /* Enter a start condition. This macro really ought to take a parameter,
120 * but we do it the disgusting crufty way forced on us by the ()-less
121 * definition of BEGIN.
123 #define BEGIN (yy_start) = 1 + 2 *
125 /* Translate the current start state into a value that can be later handed
126 * to BEGIN to return to the state. The YYSTATE alias is for lex
129 #define YY_START (((yy_start) - 1) / 2)
130 #define YYSTATE YY_START
132 /* Action number for EOF rule of a given start state. */
133 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
135 /* Special action meaning "start processing a new file". */
136 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
138 #define YY_END_OF_BUFFER_CHAR 0
140 /* Size of default input buffer. */
142 #define YY_BUF_SIZE 16384
145 /* The state buf must be large enough to hold one state per character in the main buffer.
147 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
149 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
150 #define YY_TYPEDEF_YY_BUFFER_STATE
151 typedef struct yy_buffer_state *YY_BUFFER_STATE;
154 extern int surf_parse_leng;
156 extern FILE *surf_parse_in, *surf_parse_out;
158 #define EOB_ACT_CONTINUE_SCAN 0
159 #define EOB_ACT_END_OF_FILE 1
160 #define EOB_ACT_LAST_MATCH 2
162 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
163 * access to the local variable yy_act. Since yyless() is a macro, it would break
164 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
165 * One obvious solution it to make yy_act a global. I tried that, and saw
166 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
167 * normally declared as a register variable-- so it is not worth it.
169 #define YY_LESS_LINENO(n) \
172 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
173 if ( surf_parse_text[yyl] == '\n' )\
174 --surf_parse_lineno;\
177 /* Return all but the first "n" matched characters back to the input stream. */
181 /* Undo effects of setting up surf_parse_text. */ \
182 int yyless_macro_arg = (n); \
183 YY_LESS_LINENO(yyless_macro_arg);\
184 *yy_cp = (yy_hold_char); \
185 YY_RESTORE_YY_MORE_OFFSET \
186 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
187 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
191 #define unput(c) yyunput( c, (yytext_ptr) )
193 /* The following is because we cannot portably get our hands on size_t
194 * (without autoconf's help, which isn't available because we want
195 * flex-generated scanners to compile on their own).
198 #ifndef YY_TYPEDEF_YY_SIZE_T
199 #define YY_TYPEDEF_YY_SIZE_T
200 typedef unsigned int yy_size_t;
203 #ifndef YY_STRUCT_YY_BUFFER_STATE
204 #define YY_STRUCT_YY_BUFFER_STATE
205 struct yy_buffer_state
209 char *yy_ch_buf; /* input buffer */
210 char *yy_buf_pos; /* current position in input buffer */
212 /* Size of input buffer in bytes, not including room for EOB
215 yy_size_t yy_buf_size;
217 /* Number of characters read into yy_ch_buf, not including EOB
222 /* Whether we "own" the buffer - i.e., we know we created it,
223 * and can realloc() it to grow it, and should free() it to
226 int yy_is_our_buffer;
228 /* Whether this is an "interactive" input source; if so, and
229 * if we're using stdio for input, then we want to use getc()
230 * instead of fread(), to make sure we stop fetching input after
233 int yy_is_interactive;
235 /* Whether we're considered to be at the beginning of a line.
236 * If so, '^' rules will be active on the next match, otherwise
241 int yy_bs_lineno; /**< The line count. */
242 int yy_bs_column; /**< The column count. */
244 /* Whether to try to fill the input buffer when we reach the
249 int yy_buffer_status;
251 #define YY_BUFFER_NEW 0
252 #define YY_BUFFER_NORMAL 1
253 /* When an EOF's been seen but there's still some text to process
254 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
255 * shouldn't try reading from the input source any more. We might
256 * still have a bunch of tokens to match, though, because of
257 * possible backing-up.
259 * When we actually see the EOF, we change the status to "new"
260 * (via surf_parse_restart()), so that the user can continue scanning by
261 * just pointing surf_parse_in at a new input file.
263 #define YY_BUFFER_EOF_PENDING 2
266 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
268 /* Stack of input buffers. */
269 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
270 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
271 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
273 /* We provide macros for accessing buffer states in case in the
274 * future we want to put the buffer states in a more general
277 * Returns the top of the stack, or NULL.
279 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
280 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
283 /* Same as previous macro, but useful when we know that the buffer stack is not
284 * NULL or when we need an lvalue. For internal use only.
286 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
288 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
289 static char yy_hold_char;
290 static int yy_n_chars; /* number of characters read into yy_ch_buf */
293 /* Points to current character in buffer. */
294 static char *yy_c_buf_p = (char *) 0;
295 static int yy_init = 0; /* whether we need to initialize */
296 static int yy_start = 0; /* start state number */
298 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
299 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
301 static int yy_did_buffer_switch_on_eof;
303 void surf_parse_restart (FILE *input_file );
304 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
305 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
306 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
307 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
308 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
309 void surf_parse_pop_buffer_state (void );
311 static void surf_parse_ensure_buffer_stack (void );
312 static void surf_parse__load_buffer_state (void );
313 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
315 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
317 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
318 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
319 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
321 void *surf_parse_alloc (yy_size_t );
322 void *surf_parse_realloc (void *,yy_size_t );
323 void surf_parse_free (void * );
325 #define yy_new_buffer surf_parse__create_buffer
327 #define yy_set_interactive(is_interactive) \
329 if ( ! YY_CURRENT_BUFFER ){ \
330 surf_parse_ensure_buffer_stack (); \
331 YY_CURRENT_BUFFER_LVALUE = \
332 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
334 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
337 #define yy_set_bol(at_bol) \
339 if ( ! YY_CURRENT_BUFFER ){\
340 surf_parse_ensure_buffer_stack (); \
341 YY_CURRENT_BUFFER_LVALUE = \
342 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
344 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
347 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
349 /* Begin user sect3 */
351 #define surf_parse_wrap() 1
352 #define YY_SKIP_YYWRAP
354 typedef unsigned char YY_CHAR;
356 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
358 typedef int yy_state_type;
360 extern int surf_parse_lineno;
362 int surf_parse_lineno = 1;
364 extern char *surf_parse_text;
365 #define yytext_ptr surf_parse_text
367 static yy_state_type yy_get_previous_state (void );
368 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
369 static int yy_get_next_buffer (void );
370 static void yy_fatal_error (yyconst char msg[] );
372 /* Done after the current pattern has been matched and before the
373 * corresponding action - sets up surf_parse_text.
375 #define YY_DO_BEFORE_ACTION \
376 (yytext_ptr) = yy_bp; \
377 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
378 (yy_hold_char) = *yy_cp; \
380 (yy_c_buf_p) = yy_cp;
382 #define YY_NUM_RULES 351
383 #define YY_END_OF_BUFFER 352
384 /* This struct is not used in this scanner,
385 but its presence is necessary. */
388 flex_int32_t yy_verify;
391 static yyconst flex_int16_t yy_accept[2023] =
393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
408 0, 0, 352, 350, 15, 10, 10, 15, 15, 330,
409 10, 330, 5, 6, 5, 8, 9, 8, 346, 338,
410 339, 347, 344, 347, 345, 349, 338, 339, 349, 350,
411 26, 10, 26, 26, 26, 24, 26, 26, 30, 10,
412 30, 30, 350, 350, 30, 37, 10, 37, 37, 37,
413 35, 37, 41, 10, 41, 52, 10, 52, 52, 52,
415 50, 52, 52, 52, 347, 346, 74, 10, 74, 74,
416 74, 72, 74, 74, 74, 74, 78, 10, 78, 350,
417 78, 97, 10, 97, 97, 97, 95, 97, 97, 97,
418 101, 10, 101, 114, 10, 114, 114, 114, 112, 114,
419 114, 114, 114, 118, 10, 118, 125, 10, 125, 125,
420 125, 123, 125, 350, 350, 129, 10, 129, 156, 10,
421 156, 156, 156, 154, 156, 156, 156, 156, 156, 160,
422 10, 160, 160, 169, 10, 169, 169, 169, 167, 169,
423 169, 173, 10, 173, 196, 10, 196, 196, 196, 194,
424 196, 196, 196, 196, 196, 196, 200, 10, 200, 207,
426 10, 207, 207, 207, 205, 207, 211, 10, 211, 236,
427 10, 236, 236, 236, 234, 236, 236, 236, 236, 240,
428 10, 240, 240, 259, 10, 259, 259, 259, 257, 259,
429 259, 259, 350, 263, 10, 263, 263, 286, 10, 286,
430 286, 286, 284, 286, 286, 286, 286, 290, 10, 290,
431 290, 297, 10, 297, 297, 297, 295, 297, 301, 10,
432 301, 314, 10, 314, 314, 314, 312, 314, 314, 314,
433 314, 318, 10, 318, 350, 318, 325, 10, 325, 325,
434 325, 323, 325, 329, 10, 329, 10, 0, 2, 2,
435 0, 4, 7, 341, 340, 0, 0, 0, 0, 0,
437 0, 0, 25, 27, 27, 27, 0, 0, 0, 0,
438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
439 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
440 38, 38, 0, 51, 53, 53, 53, 53, 0, 0,
441 0, 73, 75, 75, 75, 75, 75, 75, 75, 0,
442 0, 96, 98, 98, 98, 98, 0, 113, 115, 115,
443 115, 115, 115, 0, 124, 126, 126, 0, 155, 157,
444 157, 157, 157, 157, 157, 157, 0, 168, 170, 170,
445 170, 0, 195, 197, 197, 197, 197, 197, 197, 197,
446 197, 197, 0, 206, 208, 208, 0, 235, 237, 237,
448 237, 237, 237, 237, 0, 258, 260, 260, 260, 260,
449 260, 0, 0, 285, 287, 287, 287, 287, 287, 0,
450 296, 298, 298, 0, 313, 315, 315, 315, 315, 315,
451 0, 0, 324, 326, 326, 0, 0, 0, 0, 0,
452 3, 0, 0, 0, 0, 0, 0, 0, 348, 0,
453 27, 27, 0, 0, 0, 0, 0, 0, 0, 0,
454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
455 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
456 0, 0, 53, 0, 0, 53, 0, 0, 0, 343,
457 75, 0, 0, 75, 75, 75, 75, 0, 0, 0,
459 98, 98, 98, 0, 0, 0, 0, 115, 115, 115,
460 0, 0, 126, 0, 0, 157, 0, 0, 157, 157,
461 157, 157, 0, 0, 0, 0, 170, 0, 0, 197,
462 0, 0, 0, 0, 197, 197, 197, 197, 197, 0,
463 0, 0, 0, 0, 0, 237, 0, 0, 237, 237,
464 237, 0, 0, 260, 260, 260, 260, 0, 0, 0,
465 287, 287, 287, 287, 0, 0, 0, 0, 0, 0,
466 315, 315, 315, 315, 0, 0, 0, 326, 0, 0,
467 0, 14, 1, 0, 0, 336, 0, 0, 0, 333,
468 332, 0, 0, 27, 27, 0, 0, 29, 0, 0,
470 0, 0, 0, 0, 0, 0, 0, 0, 0, 103,
471 0, 0, 0, 0, 0, 0, 0, 102, 0, 0,
472 0, 0, 0, 0, 38, 0, 0, 40, 0, 53,
473 0, 45, 44, 53, 0, 0, 0, 55, 0, 75,
474 0, 59, 58, 0, 0, 75, 0, 0, 75, 0,
475 0, 77, 0, 0, 98, 98, 98, 0, 0, 100,
476 0, 0, 105, 104, 115, 115, 115, 0, 0, 117,
477 0, 126, 0, 0, 128, 0, 157, 0, 133, 132,
478 157, 157, 157, 157, 0, 0, 159, 0, 0, 164,
479 163, 170, 0, 0, 172, 0, 197, 197, 0, 187,
481 186, 0, 177, 176, 0, 0, 197, 197, 197, 197,
482 0, 0, 199, 0, 0, 204, 203, 0, 0, 210,
483 0, 237, 0, 215, 214, 237, 237, 237, 0, 0,
484 239, 0, 260, 0, 0, 0, 0, 260, 0, 0,
485 0, 262, 0, 287, 0, 0, 287, 0, 0, 0,
486 0, 289, 0, 0, 294, 293, 0, 0, 300, 0,
487 315, 315, 315, 315, 0, 0, 317, 0, 0, 326,
488 0, 0, 328, 0, 0, 0, 337, 331, 0, 0,
489 0, 27, 27, 0, 0, 0, 0, 131, 0, 213,
490 0, 0, 161, 0, 0, 103, 0, 0, 0, 130,
492 212, 0, 0, 102, 0, 0, 0, 0, 0, 0,
493 0, 0, 0, 0, 0, 53, 0, 0, 75, 0,
494 63, 62, 0, 0, 0, 61, 60, 75, 0, 162,
495 98, 0, 0, 98, 0, 115, 115, 115, 0, 126,
496 0, 157, 157, 157, 157, 157, 0, 170, 0, 197,
497 197, 0, 189, 188, 197, 197, 197, 197, 0, 0,
498 237, 237, 237, 237, 0, 260, 0, 246, 245, 0,
499 244, 243, 260, 212, 0, 287, 0, 269, 268, 287,
500 0, 267, 266, 0, 0, 315, 0, 0, 315, 315,
501 0, 0, 326, 0, 0, 0, 0, 12, 0, 334,
503 335, 0, 27, 27, 0, 0, 0, 0, 131, 0,
504 213, 0, 0, 0, 161, 0, 265, 43, 0, 0,
505 130, 212, 0, 265, 42, 0, 264, 0, 264, 42,
506 0, 34, 33, 0, 0, 47, 46, 53, 0, 0,
507 75, 0, 65, 64, 75, 0, 162, 98, 0, 0,
508 0, 0, 0, 0, 115, 115, 115, 0, 116, 126,
509 0, 157, 157, 157, 0, 0, 0, 0, 157, 0,
510 0, 0, 0, 0, 0, 197, 0, 0, 197, 197,
511 197, 0, 0, 237, 237, 237, 0, 0, 237, 0,
512 260, 260, 0, 0, 287, 287, 0, 0, 315, 0,
514 305, 304, 315, 315, 0, 0, 0, 0, 0, 0,
515 0, 0, 11, 0, 27, 27, 27, 0, 0, 0,
516 0, 0, 0, 0, 0, 57, 265, 0, 202, 43,
517 0, 0, 0, 56, 201, 42, 0, 264, 0, 0,
518 0, 0, 53, 0, 0, 75, 75, 0, 98, 0,
519 0, 0, 0, 0, 0, 0, 0, 0, 92, 91,
520 0, 0, 0, 115, 0, 0, 0, 0, 0, 157,
521 157, 157, 0, 135, 134, 0, 0, 0, 157, 0,
522 158, 0, 166, 165, 0, 171, 0, 191, 190, 0,
523 0, 0, 185, 184, 0, 0, 197, 0, 0, 0,
525 0, 237, 237, 237, 0, 0, 0, 237, 0, 238,
526 0, 0, 260, 0, 0, 0, 0, 287, 0, 0,
527 315, 315, 315, 0, 0, 0, 322, 321, 0, 0,
528 0, 0, 0, 0, 0, 27, 27, 0, 0, 175,
529 120, 32, 0, 0, 303, 57, 0, 202, 0, 174,
530 119, 56, 201, 302, 0, 31, 0, 0, 53, 0,
531 0, 54, 75, 75, 0, 0, 0, 0, 0, 0,
532 0, 0, 0, 0, 0, 0, 0, 0, 0, 107,
533 106, 0, 0, 0, 109, 108, 0, 122, 121, 0,
534 157, 157, 157, 0, 0, 157, 0, 193, 192, 0,
536 179, 178, 0, 0, 0, 181, 180, 0, 0, 237,
537 0, 0, 237, 237, 0, 0, 237, 0, 0, 0,
538 260, 0, 0, 0, 0, 0, 287, 0, 288, 0,
539 315, 315, 315, 0, 0, 0, 0, 0, 0, 17,
540 0, 19, 18, 27, 27, 0, 319, 175, 120, 32,
541 291, 16, 303, 0, 0, 174, 119, 302, 0, 31,
542 0, 0, 53, 342, 75, 75, 0, 76, 0, 94,
543 93, 0, 0, 0, 0, 0, 0, 0, 0, 0,
544 0, 0, 0, 111, 110, 0, 157, 157, 157, 0,
545 0, 0, 0, 157, 0, 183, 182, 0, 0, 209,
547 237, 0, 221, 220, 237, 237, 0, 0, 0, 0,
548 237, 0, 0, 0, 0, 260, 292, 0, 0, 0,
549 0, 0, 287, 0, 0, 0, 315, 315, 0, 320,
550 0, 0, 0, 0, 17, 27, 27, 0, 319, 291,
551 16, 0, 0, 0, 0, 0, 39, 53, 0, 0,
552 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
553 0, 0, 0, 127, 157, 157, 157, 0, 141, 0,
554 140, 157, 0, 198, 0, 0, 237, 237, 237, 0,
555 225, 0, 224, 237, 0, 0, 0, 0, 0, 0,
556 0, 0, 292, 0, 0, 0, 0, 0, 0, 0,
558 287, 0, 0, 307, 306, 0, 0, 315, 0, 316,
559 320, 0, 0, 0, 0, 0, 0, 27, 0, 28,
560 0, 0, 0, 0, 53, 0, 0, 0, 75, 0,
561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
562 157, 157, 157, 143, 142, 0, 0, 0, 217, 216,
563 237, 237, 237, 227, 226, 0, 0, 0, 0, 0,
564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
565 0, 0, 0, 287, 287, 0, 299, 0, 311, 310,
566 0, 0, 0, 327, 0, 0, 0, 0, 21, 20,
567 0, 0, 242, 0, 241, 0, 0, 0, 0, 0,
569 0, 0, 75, 0, 0, 0, 0, 84, 0, 0,
570 0, 0, 83, 0, 157, 157, 157, 0, 145, 144,
571 237, 237, 237, 0, 229, 228, 0, 0, 0, 0,
572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
573 0, 0, 0, 287, 287, 0, 309, 308, 0, 0,
574 0, 0, 23, 22, 242, 0, 241, 0, 0, 49,
575 48, 0, 0, 0, 0, 75, 0, 0, 0, 0,
576 0, 0, 0, 0, 0, 0, 0, 157, 157, 157,
577 237, 0, 0, 237, 0, 0, 0, 0, 0, 0,
578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
580 0, 287, 287, 0, 0, 0, 0, 80, 79, 0,
581 0, 0, 0, 0, 0, 0, 0, 90, 0, 0,
582 0, 89, 0, 0, 0, 137, 136, 157, 157, 157,
583 157, 237, 0, 223, 222, 237, 0, 0, 0, 0,
584 0, 0, 256, 0, 255, 0, 0, 261, 0, 0,
585 0, 0, 0, 0, 0, 0, 287, 0, 0, 287,
586 0, 0, 0, 0, 0, 0, 80, 79, 0, 0,
587 0, 0, 0, 67, 66, 0, 0, 0, 0, 0,
588 0, 0, 157, 157, 157, 157, 0, 0, 0, 0,
589 0, 0, 0, 0, 0, 0, 254, 253, 0, 0,
591 0, 0, 0, 0, 0, 273, 272, 287, 0, 271,
592 270, 287, 0, 0, 0, 0, 0, 0, 0, 71,
593 0, 70, 88, 0, 0, 87, 0, 0, 0, 99,
594 157, 157, 157, 157, 0, 219, 218, 0, 0, 0,
595 0, 0, 250, 0, 0, 249, 0, 0, 281, 0,
596 0, 280, 287, 287, 0, 0, 0, 12, 0, 12,
597 0, 0, 0, 82, 86, 81, 85, 157, 157, 157,
598 157, 0, 0, 0, 0, 252, 248, 251, 247, 283,
599 279, 282, 278, 287, 287, 0, 0, 0, 0, 0,
600 0, 0, 0, 0, 0, 0, 0, 0, 157, 0,
602 0, 0, 0, 0, 0, 287, 287, 0, 0, 69,
603 68, 0, 139, 138, 0, 149, 148, 0, 147, 146,
604 157, 0, 153, 152, 0, 0, 0, 0, 287, 287,
605 0, 11, 157, 0, 0, 0, 0, 287, 287, 0,
606 157, 0, 0, 0, 0, 287, 287, 0, 157, 0,
607 0, 0, 0, 287, 287, 0, 0, 0, 0, 231,
608 0, 230, 287, 287, 0, 0, 151, 150, 233, 232,
609 287, 287, 0, 287, 287, 0, 287, 287, 0, 0,
610 287, 287, 0, 0, 287, 287, 0, 0, 287, 287,
611 0, 0, 0, 0, 0, 0, 0, 0, 0, 277,
613 276, 0, 275, 274, 0, 0, 0, 0, 0, 0,
614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
618 static yyconst flex_int32_t yy_ec[256] =
620 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
621 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
622 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
623 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
624 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
625 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
626 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
627 28, 29, 30, 28, 31, 32, 33, 34, 35, 36,
628 28, 37, 38, 39, 28, 40, 41, 28, 42, 28,
629 43, 1, 44, 1, 45, 1, 46, 47, 48, 49,
631 50, 51, 52, 53, 54, 28, 55, 56, 57, 58,
632 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
633 69, 28, 1, 1, 1, 1, 1, 1, 1, 1,
634 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
635 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
636 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
637 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
638 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
639 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
640 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
642 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
643 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
644 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
645 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
646 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
650 static yyconst flex_int32_t yy_meta[70] =
652 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
653 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
654 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
655 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
656 5, 5, 1, 1, 5, 9, 9, 9, 9, 9,
657 9, 5, 5, 5, 5, 5, 5, 5, 5, 5,
658 5, 5, 5, 5, 5, 5, 5, 5, 5
661 static yyconst flex_int16_t yy_base[2256] =
663 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
664 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
665 105, 173, 75, 78, 83, 125, 128, 132, 135, 138,
666 193, 196, 200, 203, 206, 224, 242, 293, 262, 265,
667 344, 404, 271, 273, 464, 527, 269, 316, 320, 323,
668 364, 367, 371, 374, 590, 654, 424, 427, 718, 781,
669 431, 434, 844, 907, 484, 487, 491, 494, 497, 547,
670 970, 1033, 550, 554, 557, 560, 610, 613, 617, 620,
671 1096, 1162, 623, 674, 1228, 0, 677, 681, 1297, 1351,
672 684, 687, 1405, 1468, 738, 741, 745, 748, 751, 801,
674 804, 808, 1531, 1594, 811, 814, 864, 867, 871, 874,
675 877, 927, 1657, 1720, 930, 934, 937, 940, 990, 993,
676 997, 1000, 1783, 1837, 1003, 1053, 1891, 1954, 1056, 1060,
677 1063, 1066, 1116, 1119, 1123, 1126, 2017, 2083, 1129, 1182,
678 0, 0, 5066, 7094, 7094, 95, 100, 29, 41, 7094,
679 155, 51, 7094, 7094, 5055, 7094, 7094, 5043, 7094, 5058,
680 5042, 1141, 7094, 7094, 7094, 7094, 5036, 5032, 4990, 210,
681 7094, 158, 5012, 0, 142, 7094, 4977, 4969, 7094, 162,
682 2145, 2205, 160, 5007, 176, 7094, 165, 4998, 0, 149,
683 7094, 4961, 7094, 230, 378, 7094, 326, 4994, 0, 208,
685 7094, 4958, 4949, 4947, 379, 4950, 7094, 329, 4972, 0,
686 214, 7094, 4938, 4937, 238, 4915, 7094, 377, 11, 31,
687 4965, 7094, 399, 4948, 0, 435, 7094, 4907, 4905, 4888,
688 7094, 457, 441, 7094, 520, 4922, 0, 436, 7094, 4892,
689 4870, 4871, 4851, 7094, 583, 498, 7094, 640, 4894, 0,
690 499, 7094, 4862, 513, 4840, 7094, 644, 4879, 7094, 647,
691 4870, 0, 562, 7094, 4802, 34, 4821, 4797, 4788, 7094,
692 704, 177, 4838, 7094, 708, 4827, 0, 568, 7094, 4793,
693 4783, 7094, 711, 752, 7094, 772, 4808, 0, 631, 7094,
694 211, 4777, 4775, 93, 4773, 4753, 7094, 834, 818, 7094,
696 894, 4796, 0, 632, 7094, 4753, 7094, 897, 881, 7094,
697 901, 4781, 0, 695, 7094, 4739, 4735, 4736, 80, 7094,
698 957, 360, 4765, 7094, 960, 4755, 0, 696, 7094, 4726,
699 4709, 26, 304, 7094, 963, 330, 4746, 7094, 1149, 4726,
700 0, 885, 7094, 4694, 4675, 4679, 4673, 7094, 1152, 499,
701 4721, 7094, 1155, 4705, 0, 948, 7094, 4672, 7094, 1186,
702 1005, 7094, 1192, 4696, 0, 1004, 7094, 4650, 4654, 4655,
703 4643, 7094, 1205, 1100, 4694, 4691, 7094, 1208, 4678, 0,
704 1007, 7094, 4650, 7094, 1211, 1068, 1215, 429, 4627, 7094,
705 4683, 4665, 7094, 7094, 7094, 1306, 283, 4614, 4612, 4607,
707 4647, 4609, 7094, 0, 4598, 4601, 4586, 4583, 4584, 4580,
708 4574, 4570, 4573, 4, 166, 4567, 4554, 4558, 4546, 4545,
709 4541, 404, 4544, 4530, 38, 467, 4530, 712, 4523, 7094,
710 0, 4526, 4527, 7094, 0, 4523, 1320, 4516, 533, 4512,
711 4555, 7094, 0, 4514, 1323, 4486, 4507, 4493, 4497, 4477,
712 89, 7094, 0, 4488, 4462, 4473, 4453, 7094, 0, 1326,
713 4459, 4459, 4455, 4435, 7094, 0, 4429, 4441, 7094, 0,
714 4444, 1329, 4422, 4400, 4400, 4419, 4407, 7094, 0, 1373,
715 4398, 4393, 7094, 0, 4406, 1377, 1380, 4375, 4371, 4386,
716 4372, 4366, 4367, 7094, 0, 1383, 4348, 7094, 0, 4351,
718 1425, 4340, 4357, 4355, 4340, 7094, 0, 4327, 4326, 4340,
719 4326, 4323, 4308, 7094, 0, 4305, 4289, 4291, 4298, 4283,
720 7094, 0, 1428, 4287, 7094, 0, 4277, 4271, 4272, 4280,
721 4264, 4261, 7094, 0, 4265, 4267, 4286, 4295, 807, 4246,
722 7094, 1207, 0, 4229, 4229, 4269, 4268, 4224, 7094, 4231,
723 4213, 4213, 1431, 1434, 4218, 4203, 4205, 4201, 4215, 4194,
724 4202, 4187, 4187, 4178, 4170, 4186, 4165, 4167, 4164, 4155,
725 4154, 4145, 4145, 4157, 4143, 4135, 4141, 4122, 4139, 4128,
726 1437, 1489, 4127, 1494, 1497, 4108, 4137, 1551, 1556, 7094,
727 4106, 1559, 1514, 1562, 4097, 1565, 4108, 1619, 1627, 4090,
729 4091, 4097, 4083, 1622, 1630, 1677, 1583, 4079, 4065, 4067,
730 1682, 1695, 4068, 1685, 1740, 4058, 1691, 1642, 4059, 4062,
731 4056, 4037, 1745, 1748, 1751, 1710, 4035, 1755, 1808, 583,
732 1811, 1814, 1857, 1860, 1869, 4032, 4030, 4025, 4021, 1911,
733 1920, 1914, 1880, 1917, 1923, 4022, 1926, 1975, 4014, 3994,
734 3987, 1983, 1986, 3996, 1989, 1992, 3981, 3977, 2039, 2046,
735 3979, 1997, 3983, 2043, 2049, 2052, 2061, 2072, 2104, 2110,
736 3976, 3952, 3959, 3943, 2113, 2116, 3952, 3927, 2119, 2138,
737 3970, 7094, 7094, 315, 3922, 7094, 3934, 3933, 3878, 7094,
738 7094, 3872, 3870, 3879, 3868, 2141, 2149, 7094, 2168, 3865,
740 3859, 3871, 3849, 3854, 3849, 3830, 261, 3839, 3819, 1223,
741 3834, 3802, 3814, 3798, 3796, 3801, 3784, 1332, 3795, 384,
742 3777, 3784, 3774, 3788, 2144, 2172, 2177, 7094, 2182, 2209,
743 2216, 7094, 7094, 2229, 3810, 2232, 2235, 7094, 2240, 3756,
744 2268, 7094, 7094, 2243, 2276, 2287, 2290, 2293, 3767, 2301,
745 2308, 7094, 2311, 432, 3761, 2314, 3760, 2320, 2323, 7094,
746 2332, 2335, 7094, 7094, 3754, 3751, 3743, 2343, 2346, 7094,
747 2351, 3739, 2354, 2357, 7094, 2377, 3735, 2380, 7094, 7094,
748 3728, 3721, 3717, 3727, 2388, 2391, 7094, 2396, 2400, 7094,
749 7094, 3722, 2410, 2415, 7094, 2418, 3702, 3717, 2422, 7094,
751 7094, 2438, 7094, 7094, 2430, 2448, 3700, 3698, 3703, 3695,
752 2458, 2461, 7094, 2464, 2467, 7094, 7094, 2483, 2486, 7094,
753 2489, 3673, 2492, 7094, 7094, 3679, 3672, 3662, 2508, 2511,
754 7094, 2514, 3611, 2517, 2521, 2536, 2539, 3618, 3612, 2547,
755 2554, 7094, 2557, 3602, 2560, 2567, 3607, 2578, 2581, 2589,
756 2592, 7094, 2596, 2599, 7094, 7094, 2611, 2615, 7094, 2621,
757 3590, 2624, 3607, 3576, 2630, 2634, 7094, 2642, 3573, 3586,
758 2645, 2649, 7094, 2653, 726, 2656, 7094, 7094, 3618, 3616,
759 3569, 3560, 3587, 2664, 3545, 3528, 3544, 1386, 3520, 2152,
760 3533, 3532, 1460, 3512, 3519, 1463, 3518, 3502, 3518, 1523,
762 2678, 3504, 3511, 1526, 3497, 3496, 3494, 3478, 3491, 3490,
763 2668, 2686, 2694, 2700, 2704, 3489, 3504, 2713, 3479, 2718,
764 7094, 7094, 2727, 2732, 2745, 7094, 7094, 3473, 2740, 1650,
765 3457, 2753, 2760, 2771, 2774, 3446, 3466, 3439, 2777, 3457,
766 2780, 3458, 3452, 3436, 2783, 2789, 2801, 2807, 2811, 2814,
767 2821, 2833, 7094, 7094, 2825, 2843, 2847, 2850, 2853, 2856,
768 3442, 3447, 3431, 2876, 2879, 3430, 2885, 7094, 7094, 2894,
769 7094, 7094, 3418, 2903, 2906, 3419, 2921, 7094, 7094, 3412,
770 2929, 7094, 7094, 2937, 2940, 3420, 2910, 2943, 3401, 3418,
771 2951, 3402, 2959, 2962, 181, 3437, 2965, 7094, 3436, 7094,
773 7094, 3395, 3388, 518, 2970, 3395, 3393, 3394, 1705, 3391,
774 1769, 3387, 3375, 3365, 1774, 3370, 2973, 2977, 3375, 3365,
775 1777, 1829, 3354, 2984, 2994, 3347, 3000, 3358, 3003, 3009,
776 3020, 7094, 7094, 3030, 3034, 7094, 7094, 3351, 3362, 3049,
777 3328, 3052, 7094, 7094, 3325, 3064, 1832, 3325, 3068, 1059,
778 1113, 3045, 3076, 3084, 3087, 3090, 3094, 3098, 7094, 3108,
779 3112, 3337, 3333, 3317, 3117, 3122, 3135, 3138, 3328, 3146,
780 3149, 3153, 3161, 3167, 3170, 3180, 3185, 3188, 3198, 3203,
781 3206, 3209, 3212, 3328, 3307, 3321, 3216, 3224, 3321, 3234,
782 3237, 3241, 3322, 3244, 3247, 3265, 3268, 3273, 3310, 3276,
784 7094, 7094, 3313, 3302, 3288, 3306, 3293, 3296, 3311, 1422,
785 612, 568, 7094, 3279, 3317, 3320, 3323, 3326, 3282, 3275,
786 3282, 3267, 3252, 3249, 3246, 1875, 1945, 3250, 1948, 2010,
787 3258, 3242, 3248, 3330, 3341, 3345, 3224, 3348, 3229, 3233,
788 3233, 3351, 3226, 3243, 3355, 3204, 3207, 3358, 3361, 3236,
789 3222, 260, 3220, 3231, 3217, 421, 3207, 3384, 7094, 7094,
790 3392, 3395, 3400, 3414, 3417, 3420, 3428, 3435, 3446, 3180,
791 3169, 3172, 3449, 7094, 7094, 3458, 3188, 3186, 3149, 3466,
792 7094, 3469, 7094, 7094, 3477, 7094, 3481, 7094, 7094, 3489,
793 3496, 3507, 7094, 7094, 3515, 3518, 3526, 3529, 3533, 3547,
795 3550, 3134, 3553, 3151, 3556, 3160, 3158, 3131, 3571, 7094,
796 3574, 3577, 3585, 3116, 3597, 3592, 3612, 3603, 3606, 3621,
797 3120, 3120, 3121, 3625, 3109, 3628, 7094, 7094, 3640, 808,
798 1330, 747, 3104, 3644, 3647, 3655, 3662, 3669, 3096, 3673,
799 3676, 3680, 3087, 3086, 3683, 3689, 3070, 3692, 3074, 3695,
800 3698, 3701, 3704, 3707, 3065, 3712, 3070, 3715, 3068, 3074,
801 3718, 7094, 3046, 3061, 3721, 3726, 3730, 3071, 3065, 3044,
802 3047, 3035, 3041, 3035, 3024, 3026, 3018, 3740, 3744, 7094,
803 7094, 3752, 3755, 3764, 7094, 7094, 3772, 7094, 7094, 3780,
804 3001, 2995, 2985, 669, 743, 2986, 3783, 7094, 7094, 3792,
806 7094, 7094, 3800, 3803, 3811, 7094, 7094, 3819, 3822, 2988,
807 3825, 3828, 2988, 2970, 806, 857, 2972, 3843, 358, 361,
808 3851, 2962, 3854, 3857, 658, 785, 3865, 3869, 7094, 3873,
809 3876, 2968, 2960, 3883, 2950, 3894, 3888, 927, 1009, 3898,
810 3903, 7094, 7094, 3913, 3916, 3922, 3925, 3936, 3941, 3945,
811 3951, 3954, 3957, 2953, 2950, 3960, 3963, 3967, 2938, 3970,
812 2934, 3973, 2927, 7094, 3979, 2920, 3982, 7094, 3985, 7094,
813 7094, 2958, 2920, 2932, 2925, 2925, 2925, 2909, 2911, 2905,
814 2902, 3993, 3997, 7094, 7094, 4005, 2868, 2859, 2848, 2865,
815 2878, 2850, 2865, 2818, 4008, 7094, 7094, 4016, 4019, 7094,
817 4024, 4028, 7094, 7094, 2810, 2784, 2761, 2746, 2713, 2723,
818 2624, 81, 919, 466, 985, 4038, 4042, 4045, 474, 1048,
819 477, 1057, 4051, 4056, 4059, 4071, 4064, 527, 4082, 4085,
820 4088, 4091, 748, 840, 4095, 4101, 4113, 4119, 4122, 4125,
821 4131, 518, 548, 565, 624, 4134, 7094, 665, 4138, 4141,
822 706, 738, 786, 838, 838, 886, 894, 901, 915, 912,
823 931, 4156, 4162, 7094, 934, 971, 965, 1025, 7094, 1023,
824 7094, 4165, 4168, 7094, 4171, 4177, 998, 1005, 1019, 1080,
825 7094, 1115, 7094, 4189, 1109, 1100, 1117, 1135, 1140, 1165,
826 4192, 4195, 4203, 4213, 1166, 1160, 1173, 1175, 1165, 1178,
828 4216, 4219, 4222, 7094, 7094, 4234, 4238, 4247, 4252, 7094,
829 4255, 4258, 1293, 1347, 1384, 4271, 4278, 4289, 4292, 7094,
830 1169, 1287, 1284, 1293, 4295, 4298, 1366, 1470, 1285, 1316,
831 1325, 1349, 1371, 1391, 1368, 1378, 1397, 1423, 1437, 4307,
832 1381, 1403, 1403, 7094, 7094, 4313, 4316, 4327, 7094, 7094,
833 1402, 1410, 1430, 7094, 7094, 4335, 4338, 1457, 1463, 1468,
834 1468, 1469, 1474, 4346, 1548, 1549, 4354, 1477, 1480, 1485,
835 1519, 1518, 1534, 4357, 4360, 4364, 7094, 4369, 7094, 7094,
836 4378, 4383, 4391, 7094, 1573, 1552, 1559, 4396, 7094, 7094,
837 4404, 4410, 4422, 1525, 4425, 1540, 4428, 4431, 1579, 1598,
839 1590, 1606, 1577, 1611, 1601, 1607, 1615, 7094, 1631, 1642,
840 1641, 1650, 7094, 4439, 4442, 1646, 1659, 4446, 7094, 7094,
841 1661, 4454, 1670, 4460, 7094, 7094, 1699, 1710, 1730, 1724,
842 1726, 1741, 1747, 1779, 1771, 1782, 4468, 1772, 1783, 1795,
843 1785, 1788, 1799, 4472, 4475, 4493, 7094, 7094, 1916, 1833,
844 4481, 4501, 7094, 7094, 4478, 1765, 4509, 1801, 4512, 7094,
845 7094, 1845, 1834, 1852, 1841, 4522, 1848, 1868, 1901, 1910,
846 1899, 1917, 1932, 1931, 4525, 4528, 4531, 1919, 1995, 1921,
847 1952, 4540, 4546, 1935, 1980, 1989, 1999, 2009, 2018, 2033,
848 2062, 2032, 2062, 2035, 4554, 2047, 2053, 2048, 2069, 2083,
850 2076, 4558, 4561, 2108, 4564, 4567, 4587, 4595, 4598, 2091,
851 2104, 2097, 2107, 4606, 4609, 2105, 2105, 7094, 2107, 2109,
852 2130, 7094, 2132, 4617, 4620, 7094, 7094, 2111, 2117, 2123,
853 2131, 4628, 4632, 7094, 7094, 4640, 2157, 2149, 2162, 2164,
854 2156, 2169, 7094, 2189, 7094, 2194, 4646, 7094, 2179, 2172,
855 2190, 2191, 2187, 2198, 4649, 4652, 4660, 4667, 4671, 4680,
856 2204, 4685, 4688, 4708, 4747, 4791, 4698, 4716, 2202, 2223,
857 2215, 2232, 4720, 7094, 7094, 2243, 2218, 2222, 2248, 2232,
858 2234, 4737, 2217, 2227, 2218, 2217, 4741, 4728, 4759, 4767,
859 2257, 2259, 2281, 2272, 2275, 2292, 7094, 7094, 2281, 2283,
861 2313, 2294, 2304, 2321, 4777, 7094, 7094, 4785, 4811, 7094,
862 7094, 4803, 2345, 4821, 2356, 2355, 4857, 4901, 2318, 7094,
863 2328, 7094, 7094, 2345, 2361, 7094, 2359, 2361, 4829, 7094,
864 2322, 2307, 2336, 2337, 4834, 7094, 7094, 4842, 2410, 2418,
865 2382, 2390, 7094, 2392, 2396, 7094, 2404, 2417, 7094, 2418,
866 2420, 7094, 4851, 4869, 2423, 2452, 2454, 2430, 2488, 2437,
867 4877, 2438, 2440, 7094, 7094, 7094, 7094, 4880, 4892, 4921,
868 4924, 2457, 2453, 2461, 2470, 7094, 7094, 7094, 7094, 7094,
869 7094, 7094, 7094, 4927, 4932, 4935, 2494, 2481, 2495, 4945,
870 2499, 2498, 4950, 4883, 4954, 4958, 4968, 4972, 2460, 4980,
872 4987, 2487, 2510, 2494, 2513, 4998, 5001, 5004, 2517, 7094,
873 7094, 5007, 7094, 7094, 5019, 7094, 7094, 5027, 7094, 7094,
874 2494, 5035, 7094, 7094, 2510, 2510, 2516, 2516, 5045, 5048,
875 2546, 7094, 2517, 2538, 2549, 2548, 2560, 5051, 5054, 2569,
876 2538, 2570, 2585, 2575, 2595, 5057, 5075, 2601, 5078, 2603,
877 2624, 2613, 2633, 5081, 5084, 2665, 5087, 5110, 2657, 7094,
878 2655, 7094, 5118, 5121, 2666, 5139, 7094, 7094, 7094, 7094,
879 5147, 5150, 5153, 5156, 5159, 5168, 5182, 5187, 2655, 2663,
880 5194, 5201, 2658, 2691, 5205, 5208, 2680, 2738, 5212, 5226,
881 2673, 2719, 5231, 5237, 5253, 5256, 2703, 2739, 5264, 7094,
883 7094, 5273, 7094, 7094, 2778, 2787, 2747, 2750, 2850, 2852,
884 2799, 2818, 2689, 2748, 2855, 2866, 2800, 2881, 5281, 5284,
885 7094, 7094, 5304, 5313, 5322, 5331, 5340, 5349, 5358, 5367,
886 5376, 5385, 5394, 5403, 5412, 5421, 5430, 5439, 5448, 5457,
887 5466, 5475, 5484, 5493, 5502, 5511, 5520, 5529, 5538, 5547,
888 5556, 5565, 5574, 5583, 5592, 5601, 5610, 5619, 5628, 5637,
889 5646, 5653, 5660, 5667, 5674, 5681, 5688, 5695, 5702, 5709,
890 5716, 5723, 5730, 5737, 5744, 5751, 5758, 5765, 5774, 5779,
891 5784, 5789, 5794, 5799, 5804, 5809, 5814, 5819, 5826, 5831,
892 5838, 5843, 5850, 5855, 5862, 5867, 5874, 5879, 5886, 5891,
894 5898, 5903, 5910, 5915, 5924, 5930, 5937, 5945, 5952, 5960,
895 5967, 5975, 5982, 5990, 5997, 6005, 6012, 6020, 6027, 6035,
896 6042, 6050, 6057, 6065, 6072, 6080, 6088, 6095, 6103, 6110,
897 6118, 6125, 6133, 6141, 6148, 6156, 6163, 6171, 6180, 6186,
898 6193, 6201, 6209, 6217, 6225, 6233, 6240, 6248, 6255, 6263,
899 6270, 6278, 6285, 6293, 6300, 6308, 6315, 6323, 6330, 6338,
900 6346, 6353, 6361, 6368, 6376, 6383, 6391, 6399, 6406, 6414,
901 6421, 6429, 6438, 6447, 6454, 6462, 6470, 6477, 6485, 6492,
902 6500, 6507, 6515, 6522, 6530, 6537, 6545, 6552, 6560, 6568,
903 6576, 6584, 6592, 6600, 6607, 6615, 6622, 6630, 6637, 6645,
905 6653, 6660, 6668, 6676, 6684, 6693, 6702, 6709, 6717, 6725,
906 6732, 6740, 6747, 6755, 6762, 6770, 6778, 6786, 6794, 6801,
907 6809, 6817, 6825, 6833, 6841, 6848, 6856, 6864, 6872, 6880,
908 6888, 6896, 6903, 6911, 6919, 6928, 6937, 6945, 6953, 6961,
909 6968, 6976, 6983, 6991, 6999, 7007, 7015, 7023, 7030, 7039,
910 7048, 7057, 7066, 7075, 7084
913 static yyconst flex_int16_t yy_def[2256] =
915 2023, 2023, 2024, 2024, 2024, 2024, 2025, 2025, 2026, 2026,
916 2027, 2027, 2028, 2028, 2028, 2028, 2029, 2029, 2023, 2023,
917 2030, 2030, 2031, 2031, 2031, 2031, 2023, 2023, 2031, 2031,
918 2023, 2023, 2031, 2031, 2031, 2031, 2032, 2032, 2033, 2033,
919 2034, 2034, 2028, 2028, 2035, 2035, 2036, 2036, 2023, 2023,
920 2036, 2036, 2036, 2036, 2037, 2037, 2038, 2038, 2039, 2039,
921 2040, 2040, 2041, 2041, 2023, 2023, 2023, 2023, 2042, 2042,
922 2043, 2043, 2044, 2044, 2023, 2023, 2044, 2044, 2044, 2044,
923 2045, 2045, 2046, 2046, 2022, 85, 2047, 2047, 2048, 2048,
924 2049, 2049, 2050, 2050, 2051, 2051, 2023, 2023, 2051, 2051,
926 2051, 2051, 2052, 2052, 2023, 2023, 2023, 2023, 2053, 2053,
927 2053, 2053, 2054, 2054, 2055, 2055, 2023, 2023, 2055, 2055,
928 2055, 2055, 2056, 2056, 2057, 2057, 2058, 2058, 2059, 2059,
929 2023, 2023, 2059, 2059, 2059, 2059, 2060, 2060, 2061, 2061,
930 2023, 2023, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
931 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
932 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
933 2022, 2022, 2022, 2062, 2022, 2022, 2062, 2062, 2022, 2022,
934 2022, 2022, 181, 182, 182, 2022, 2022, 2022, 2063, 2022,
935 2022, 2063, 2022, 2022, 2022, 2022, 2022, 2022, 2064, 2022,
937 2022, 2064, 2064, 2064, 2022, 2022, 2022, 2022, 2022, 2065,
938 2022, 2022, 2065, 2065, 2065, 2065, 2022, 2022, 185, 185,
939 185, 2022, 2022, 2022, 2066, 2022, 2022, 2066, 2066, 2066,
940 2022, 2022, 2022, 2022, 2022, 2022, 2067, 2022, 2022, 2067,
941 2067, 2067, 2067, 2022, 2022, 2022, 2022, 2022, 2022, 2068,
942 2022, 2022, 2068, 185, 254, 2022, 2022, 185, 2022, 2022,
943 2022, 2069, 2022, 2022, 2069, 2069, 2069, 2069, 2069, 2022,
944 2022, 185, 185, 2022, 2022, 2022, 2070, 2022, 2022, 2070,
945 2070, 2022, 2022, 2022, 2022, 2022, 2022, 2071, 2022, 2022,
946 2071, 2071, 2071, 2071, 2071, 2071, 2022, 2022, 2022, 2022,
948 2022, 2022, 2072, 2022, 2022, 2072, 2022, 2022, 2022, 2022,
949 2022, 2022, 2073, 2022, 2022, 2073, 2073, 2073, 2073, 2022,
950 2022, 185, 185, 2022, 2022, 2022, 2074, 2022, 2022, 2074,
951 2074, 2074, 185, 2022, 2022, 185, 185, 2022, 2022, 2022,
952 2075, 2022, 2022, 2075, 2075, 2075, 2075, 2022, 2022, 185,
953 185, 2022, 2022, 2022, 2076, 2022, 2022, 2076, 2022, 2022,
954 2022, 2022, 2022, 2022, 2077, 2022, 2022, 2077, 2077, 2077,
955 2077, 2022, 2022, 185, 374, 185, 2022, 2022, 2022, 2078,
956 2022, 2022, 2078, 2022, 2022, 2022, 2022, 2079, 2022, 2022,
957 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
959 2022, 2022, 2022, 2062, 2062, 2062, 2080, 2022, 2022, 2022,
960 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
961 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
962 2063, 2063, 2081, 2022, 2064, 2064, 2064, 2064, 2022, 2082,
963 2022, 2022, 2065, 2065, 2065, 2065, 2065, 2065, 2065, 2083,
964 2022, 2022, 2066, 2066, 2066, 2066, 2084, 2022, 2067, 2067,
965 2067, 2067, 2067, 2085, 2022, 2068, 2068, 2086, 2022, 2069,
966 2069, 2069, 2069, 2069, 2069, 2069, 2087, 2022, 2070, 2070,
967 2070, 2088, 2022, 2089, 2089, 2089, 2089, 2089, 2089, 2089,
968 2089, 2089, 2090, 2022, 2091, 2091, 2092, 2022, 2093, 2093,
970 2093, 2093, 2093, 2093, 2094, 2022, 2095, 2095, 2095, 2095,
971 2095, 2022, 2096, 2022, 2097, 2097, 2097, 2097, 2097, 2098,
972 2022, 2099, 2099, 2100, 2022, 2101, 2101, 2101, 2101, 2101,
973 2102, 2022, 2022, 2103, 2103, 2104, 2105, 2022, 2105, 2022,
974 2022, 2022, 2106, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
975 2107, 2107, 2108, 2108, 2022, 2022, 2022, 2022, 2022, 2022,
976 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
977 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2109,
978 2110, 2110, 2111, 2022, 2022, 2111, 2022, 2112, 2112, 2022,
979 2113, 2022, 2022, 2113, 2113, 2113, 2113, 2114, 2114, 2022,
981 2115, 2115, 2115, 2116, 2116, 2022, 2022, 2117, 2117, 2117,
982 2118, 2118, 2119, 2120, 2120, 2121, 2022, 2022, 2121, 2121,
983 2121, 2121, 2122, 2122, 2022, 2022, 2123, 2124, 2124, 2125,
984 2022, 2022, 2022, 2022, 2125, 2125, 2125, 2125, 2125, 2126,
985 2126, 2022, 2022, 2127, 2127, 2128, 2022, 2022, 2128, 2128,
986 2128, 2129, 2129, 2130, 2130, 2130, 2130, 2022, 2131, 2131,
987 2132, 2132, 2132, 2132, 2133, 2133, 2022, 2022, 2134, 2134,
988 2135, 2135, 2135, 2135, 2136, 2136, 2022, 2137, 2138, 2138,
989 2139, 2022, 2022, 2139, 2022, 2022, 2140, 2022, 2022, 2022,
990 2022, 2022, 2022, 2141, 2141, 2022, 2142, 2022, 2142, 2022,
992 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
993 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
994 2022, 2022, 2022, 2022, 2143, 2022, 2144, 2022, 2144, 2145,
995 2022, 2022, 2022, 2145, 2022, 2022, 2146, 2022, 2146, 2147,
996 2022, 2022, 2022, 2022, 2022, 2147, 2022, 2022, 2147, 2022,
997 2148, 2022, 2148, 2022, 2149, 2149, 2149, 2022, 2150, 2022,
998 2150, 2022, 2022, 2022, 2151, 2151, 2151, 2022, 2152, 2022,
999 2152, 2153, 2022, 2154, 2022, 2154, 2155, 2022, 2022, 2022,
1000 2155, 2155, 2155, 2155, 2022, 2156, 2022, 2156, 2022, 2022,
1001 2022, 2157, 2022, 2158, 2022, 2158, 2159, 2159, 2022, 2022,
1003 2022, 2022, 2022, 2022, 2022, 2022, 2159, 2159, 2159, 2159,
1004 2022, 2160, 2022, 2160, 2022, 2022, 2022, 2022, 2161, 2022,
1005 2161, 2162, 2022, 2022, 2022, 2162, 2162, 2162, 2022, 2163,
1006 2022, 2163, 2164, 2022, 2022, 2022, 2022, 2164, 2022, 2022,
1007 2165, 2022, 2165, 2166, 2022, 2022, 2166, 2022, 2022, 2022,
1008 2167, 2022, 2167, 2022, 2022, 2022, 2022, 2168, 2022, 2168,
1009 2169, 2169, 2169, 2169, 2022, 2170, 2022, 2170, 2022, 2171,
1010 2022, 2172, 2022, 2172, 2173, 2174, 2022, 2022, 2022, 2022,
1011 2022, 2175, 2175, 2176, 2022, 2022, 2022, 2022, 2022, 2022,
1012 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1014 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1015 2022, 2022, 2177, 2022, 2022, 2178, 2022, 2179, 2180, 2022,
1016 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2180, 2181, 2022,
1017 2182, 2022, 2022, 2182, 2183, 2184, 2184, 2184, 2185, 2186,
1018 2187, 2188, 2188, 2188, 2188, 2188, 2189, 2190, 2191, 2192,
1019 2192, 2022, 2022, 2022, 2192, 2192, 2192, 2192, 2193, 2194,
1020 2195, 2195, 2195, 2195, 2196, 2197, 2022, 2022, 2022, 2022,
1021 2022, 2022, 2197, 2022, 2198, 2199, 2022, 2022, 2022, 2199,
1022 2022, 2022, 2022, 2200, 2201, 2202, 2022, 2022, 2202, 2202,
1023 2203, 2022, 2204, 2205, 2206, 2207, 2207, 2022, 2207, 2022,
1025 2022, 2022, 2208, 2208, 2209, 2022, 2022, 2022, 2022, 2022,
1026 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1027 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1028 2022, 2022, 2022, 2210, 2022, 2022, 2022, 2211, 2022, 2212,
1029 2213, 2022, 2022, 2022, 2213, 2214, 2022, 2215, 2022, 2022,
1030 2022, 2022, 2022, 2216, 2217, 2217, 2217, 2022, 2022, 2218,
1031 2219, 2220, 2220, 2220, 2022, 2022, 2022, 2022, 2220, 2221,
1032 2022, 2022, 2222, 2022, 2022, 2223, 2022, 2022, 2223, 2223,
1033 2223, 2224, 2225, 2226, 2226, 2226, 2022, 2022, 2226, 2227,
1034 2228, 2228, 2022, 2229, 2230, 2230, 2231, 2232, 2233, 2022,
1036 2022, 2022, 2233, 2233, 2234, 2022, 2022, 2022, 2235, 2236,
1037 2237, 2237, 2022, 2022, 2238, 2238, 2238, 2239, 2022, 2022,
1038 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1039 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1040 2022, 2240, 2241, 2022, 2242, 2243, 2243, 2244, 2245, 2022,
1041 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1042 2246, 2022, 2022, 2247, 2022, 2022, 2022, 2022, 2248, 2249,
1043 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2022,
1044 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1045 2022, 2022, 2022, 2022, 2022, 2022, 2223, 2022, 2022, 2224,
1047 2225, 2226, 2226, 2226, 2022, 2022, 2022, 2226, 2022, 2022,
1048 2022, 2022, 2228, 2022, 2229, 2022, 2022, 2230, 2231, 2232,
1049 2233, 2233, 2233, 2234, 2022, 2022, 2022, 2022, 2235, 2236,
1050 2237, 2237, 2022, 2022, 2022, 2238, 2238, 2239, 2022, 2022,
1051 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1052 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2240, 2241, 2022,
1053 2022, 2022, 2243, 2243, 2244, 2022, 2022, 2022, 2022, 2022,
1054 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2246, 2022, 2022,
1055 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2248,
1056 2249, 2249, 2249, 2022, 2022, 2249, 2022, 2022, 2022, 2022,
1058 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2224, 2225, 2226,
1059 2022, 2022, 2226, 2226, 2022, 2022, 2226, 2022, 2022, 2022,
1060 2228, 2022, 2229, 2022, 2022, 2022, 2230, 2022, 2022, 2232,
1061 2233, 2233, 2233, 2234, 2022, 2235, 2236, 2237, 2237, 2022,
1062 2022, 2022, 2022, 2238, 2238, 2239, 2022, 2022, 2022, 2022,
1063 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1064 2022, 2240, 2241, 2022, 2243, 2243, 2022, 2022, 2022, 2022,
1065 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1066 2022, 2246, 2022, 2022, 2022, 2248, 2249, 2249, 2249, 2022,
1067 2022, 2022, 2022, 2249, 2022, 2022, 2022, 2224, 2022, 2022,
1069 2226, 2022, 2022, 2022, 2226, 2226, 2022, 2022, 2022, 2022,
1070 2226, 2022, 2022, 2022, 2022, 2228, 2022, 2229, 2022, 2022,
1071 2022, 2022, 2230, 2232, 2022, 2022, 2233, 2233, 2234, 2022,
1072 2235, 2236, 2237, 2237, 2022, 2238, 2238, 2239, 2022, 2022,
1073 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2241, 2022, 2022,
1074 2243, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1075 2022, 2246, 2022, 2022, 2249, 2249, 2249, 2022, 2022, 2022,
1076 2022, 2249, 2022, 2022, 2022, 2022, 2226, 2226, 2226, 2022,
1077 2022, 2022, 2022, 2226, 2022, 2022, 2022, 2022, 2022, 2022,
1078 2022, 2022, 2022, 2229, 2022, 2022, 2022, 2022, 2022, 2022,
1080 2230, 2232, 2022, 2022, 2022, 2022, 2022, 2233, 2022, 2022,
1081 2022, 2235, 2236, 2237, 2237, 2022, 2022, 2238, 2022, 2022,
1082 2022, 2022, 2022, 2022, 2241, 2022, 2022, 2022, 2243, 2022,
1083 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2246,
1084 2249, 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1085 2226, 2226, 2226, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1086 2022, 2022, 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022,
1087 2022, 2022, 2022, 2230, 2230, 2022, 2022, 2022, 2022, 2022,
1088 2022, 2022, 2022, 2022, 2236, 2237, 2237, 2022, 2022, 2022,
1089 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1091 2022, 2022, 2243, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1092 2022, 2022, 2022, 2246, 2249, 2249, 2249, 2022, 2022, 2022,
1093 2226, 2226, 2226, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1094 2022, 2022, 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022,
1095 2022, 2022, 2022, 2230, 2230, 2022, 2022, 2022, 2236, 2237,
1096 2237, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1097 2022, 2022, 2022, 2022, 2022, 2243, 2022, 2022, 2022, 2022,
1098 2022, 2022, 2022, 2022, 2246, 2022, 2022, 2249, 2249, 2249,
1099 2226, 2022, 2022, 2226, 2022, 2022, 2022, 2022, 2022, 2022,
1100 2022, 2022, 2022, 2022, 2229, 2022, 2022, 2022, 2022, 2022,
1102 2022, 2230, 2230, 2236, 2237, 2237, 2237, 2022, 2022, 2022,
1103 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1104 2022, 2022, 2022, 2246, 2022, 2022, 2022, 2249, 2249, 2249,
1105 2249, 2226, 2022, 2022, 2022, 2226, 2022, 2022, 2022, 2022,
1106 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1107 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2022, 2022, 2230,
1108 2236, 2237, 2237, 2237, 2250, 2251, 2022, 2022, 2022, 2022,
1109 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1110 2022, 2246, 2249, 2249, 2249, 2249, 2022, 2022, 2022, 2022,
1111 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1113 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2022, 2022,
1114 2022, 2230, 2236, 2237, 2252, 2253, 2250, 2251, 2022, 2022,
1115 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1116 2249, 2249, 2249, 2249, 2022, 2022, 2022, 2022, 2022, 2022,
1117 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1118 2022, 2022, 2230, 2230, 2236, 2252, 2237, 2254, 2253, 2255,
1119 2237, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2249, 2249,
1120 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1121 2022, 2022, 2022, 2230, 2230, 2236, 2254, 2022, 2255, 2237,
1122 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2249, 2022,
1124 2022, 2022, 2022, 2022, 2022, 2230, 2230, 2236, 2022, 2022,
1125 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1126 2249, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2230, 2230,
1127 2236, 2022, 2249, 2022, 2022, 2022, 2022, 2230, 2230, 2236,
1128 2249, 2022, 2022, 2022, 2022, 2230, 2230, 2236, 2249, 2022,
1129 2022, 2022, 2022, 2230, 2230, 2236, 2022, 2022, 2022, 2022,
1130 2022, 2022, 2230, 2230, 2236, 2022, 2022, 2022, 2022, 2022,
1131 2230, 2230, 2236, 2230, 2230, 2236, 2230, 2230, 2236, 2236,
1132 2230, 2230, 2236, 2236, 2230, 2230, 2236, 2236, 2230, 2230,
1133 2236, 2236, 2022, 2022, 2022, 2022, 2236, 2236, 2022, 2022,
1135 2022, 2022, 2022, 2022, 2236, 2236, 2236, 2236, 2236, 2236,
1136 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2236,
1137 2022, 0, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1138 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1139 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1140 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1141 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1142 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1143 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1144 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1146 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1147 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1148 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1149 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1150 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1151 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1152 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1153 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1154 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1155 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1157 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1158 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1159 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1160 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1161 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1162 2022, 2022, 2022, 2022, 2022
1165 static yyconst flex_int16_t yy_nxt[7164] =
1167 2022, 146, 147, 146, 146, 147, 146, 146, 147, 146,
1168 146, 147, 146, 151, 147, 151, 157, 148, 154, 157,
1169 148, 154, 450, 149, 2022, 155, 149, 2022, 155, 152,
1170 151, 147, 151, 388, 158, 160, 161, 158, 160, 161,
1171 162, 163, 2022, 162, 163, 388, 152, 167, 168, 389,
1172 164, 160, 161, 164, 165, 391, 162, 160, 161, 561,
1173 165, 390, 162, 167, 168, 562, 164, 147, 147, 147,
1174 451, 390, 164, 147, 147, 147, 180, 147, 180, 180,
1175 147, 180, 472, 170, 180, 147, 180, 510, 169, 170,
1176 451, 473, 181, 561, 511, 181, 387, 387, 387, 575,
1178 182, 387, 387, 387, 169, 171, 172, 147, 172, 171,
1179 171, 171, 171, 171, 171, 171, 173, 171, 171, 171,
1180 1485, 171, 175, 171, 176, 171, 180, 147, 180, 147,
1181 147, 147, 503, 147, 147, 147, 180, 147, 180, 180,
1182 147, 180, 182, 504, 561, 183, 391, 171, 171, 183,
1183 600, 489, 181, 391, 490, 181, 387, 387, 387, 387,
1184 387, 387, 390, 387, 387, 387, 387, 387, 387, 390,
1185 177, 2022, 178, 171, 172, 147, 172, 171, 171, 171,
1186 171, 171, 171, 171, 173, 171, 171, 171, 477, 171,
1187 175, 171, 176, 171, 147, 147, 147, 147, 147, 147,
1189 682, 180, 147, 180, 180, 147, 180, 180, 147, 180,
1190 184, 563, 391, 184, 391, 171, 171, 182, 391, 425,
1191 182, 426, 1110, 185, 564, 180, 147, 180, 390, 427,
1192 390, 387, 387, 387, 390, 425, 451, 428, 177, 429,
1193 178, 185, 186, 187, 147, 187, 186, 186, 186, 186,
1194 186, 186, 186, 188, 186, 186, 186, 485, 186, 190,
1195 186, 191, 186, 194, 147, 194, 194, 147, 194, 402,
1196 218, 147, 218, 160, 161, 160, 161, 486, 162, 195,
1197 162, 1270, 195, 446, 186, 186, 219, 447, 205, 1271,
1198 205, 448, 192, 186, 187, 147, 187, 186, 186, 186,
1200 186, 186, 186, 186, 188, 186, 186, 186, 892, 186,
1201 190, 186, 191, 186, 206, 2022, 206, 218, 147, 218,
1202 893, 147, 147, 147, 147, 147, 147, 387, 387, 387,
1203 387, 387, 387, 219, 682, 186, 186, 220, 875, 544,
1204 220, 513, 545, 192, 196, 197, 147, 197, 196, 196,
1205 196, 196, 196, 196, 196, 198, 196, 196, 196, 512,
1206 196, 200, 196, 201, 196, 218, 147, 218, 218, 147,
1207 218, 505, 218, 147, 218, 218, 147, 218, 387, 387,
1208 387, 219, 391, 439, 219, 512, 196, 196, 221, 433,
1209 440, 221, 1412, 1413, 202, 1414, 1415, 203, 390, 390,
1211 387, 387, 387, 204, 196, 197, 147, 197, 196, 196,
1212 196, 196, 196, 196, 196, 198, 196, 196, 196, 451,
1213 196, 200, 196, 201, 196, 232, 147, 232, 232, 147,
1214 232, 906, 245, 147, 245, 245, 147, 245, 538, 391,
1215 391, 233, 1275, 893, 233, 391, 196, 196, 246, 571,
1216 1276, 246, 457, 539, 202, 390, 390, 203, 387, 387,
1217 387, 390, 572, 204, 207, 208, 147, 208, 207, 207,
1218 207, 207, 207, 207, 207, 209, 207, 207, 207, 906,
1219 207, 211, 207, 212, 207, 147, 147, 147, 147, 147,
1220 147, 930, 147, 147, 147, 147, 147, 147, 257, 147,
1222 257, 254, 391, 391, 254, 1488, 207, 207, 255, 464,
1223 520, 255, 563, 1495, 258, 213, 1498, 214, 390, 390,
1224 215, 387, 387, 387, 2022, 576, 216, 207, 208, 147,
1225 208, 207, 207, 207, 207, 207, 207, 207, 209, 207,
1226 207, 207, 538, 207, 211, 207, 212, 207, 257, 147,
1227 257, 271, 147, 271, 512, 271, 147, 271, 147, 147,
1228 147, 147, 147, 147, 258, 411, 391, 272, 413, 207,
1229 207, 272, 391, 1116, 220, 587, 1508, 220, 213, 1117,
1230 214, 1521, 390, 215, 387, 387, 387, 998, 390, 216,
1231 222, 223, 147, 223, 222, 222, 222, 222, 222, 222,
1233 222, 224, 222, 222, 222, 1522, 222, 226, 222, 227,
1234 222, 271, 147, 271, 271, 147, 271, 1232, 271, 147,
1235 271, 271, 147, 271, 283, 147, 283, 272, 1523, 797,
1236 272, 998, 222, 222, 273, 391, 391, 273, 798, 228,
1237 284, 387, 387, 387, 229, 387, 387, 387, 387, 387,
1238 387, 390, 390, 230, 222, 223, 147, 223, 222, 222,
1239 222, 222, 222, 222, 222, 224, 222, 222, 222, 1231,
1240 222, 226, 222, 227, 222, 283, 147, 283, 298, 147,
1241 298, 1524, 298, 147, 298, 308, 147, 308, 308, 147,
1242 308, 284, 1419, 1420, 299, 1390, 222, 222, 299, 391,
1244 391, 309, 1391, 228, 309, 387, 387, 387, 229, 387,
1245 387, 387, 387, 387, 387, 390, 390, 230, 234, 235,
1246 147, 235, 234, 234, 234, 234, 234, 234, 234, 236,
1247 234, 234, 234, 1525, 234, 238, 234, 239, 234, 321,
1248 147, 321, 321, 147, 321, 682, 147, 147, 147, 147,
1249 147, 147, 321, 147, 321, 322, 391, 571, 322, 1529,
1250 234, 234, 220, 482, 995, 220, 998, 998, 322, 1392,
1251 578, 240, 390, 387, 387, 387, 1393, 241, 1530, 242,
1252 243, 234, 235, 147, 235, 234, 234, 234, 234, 234,
1253 234, 234, 236, 234, 234, 234, 1514, 234, 238, 234,
1255 239, 234, 321, 147, 321, 321, 147, 321, 1339, 321,
1256 147, 321, 147, 147, 147, 147, 147, 147, 322, 1421,
1257 1422, 323, 391, 234, 234, 323, 682, 682, 333, 493,
1258 1531, 333, 1407, 1337, 240, 387, 387, 387, 390, 1408,
1259 241, 684, 242, 243, 247, 248, 147, 248, 247, 247,
1260 247, 247, 247, 247, 247, 249, 247, 247, 247, 998,
1261 247, 251, 247, 252, 247, 147, 147, 147, 147, 147,
1262 147, 1532, 335, 147, 335, 335, 147, 335, 335, 147,
1263 335, 333, 1533, 1409, 333, 391, 247, 247, 336, 391,
1264 1410, 336, 497, 1515, 337, 387, 387, 387, 387, 387,
1266 387, 390, 387, 387, 387, 390, 253, 247, 248, 147,
1267 248, 247, 247, 247, 247, 247, 247, 247, 249, 247,
1268 247, 247, 1534, 247, 251, 247, 252, 247, 335, 147,
1269 335, 349, 147, 349, 1535, 349, 147, 349, 147, 147,
1270 147, 147, 147, 147, 337, 1536, 998, 350, 1537, 247,
1271 247, 350, 391, 1486, 333, 1487, 1538, 333, 387, 387,
1272 387, 387, 387, 387, 387, 387, 387, 1539, 390, 253,
1273 259, 260, 147, 260, 259, 259, 259, 259, 259, 259,
1274 259, 261, 259, 259, 259, 1433, 259, 263, 259, 264,
1275 259, 349, 147, 349, 349, 147, 349, 1541, 349, 147,
1277 349, 349, 147, 349, 360, 147, 360, 350, 391, 391,
1278 350, 391, 259, 259, 351, 265, 524, 351, 1542, 1489,
1279 361, 1490, 1543, 266, 390, 390, 267, 390, 998, 268,
1280 1544, 1545, 269, 259, 260, 147, 260, 259, 259, 259,
1281 259, 259, 259, 259, 261, 259, 259, 259, 1551, 259,
1282 263, 259, 264, 259, 360, 147, 360, 373, 147, 373,
1283 1552, 373, 147, 373, 147, 147, 147, 147, 147, 147,
1284 361, 1434, 391, 374, 1553, 259, 259, 374, 265, 536,
1285 375, 1150, 1496, 375, 1497, 1554, 266, 1151, 390, 267,
1286 1152, 1499, 268, 1500, 1153, 269, 274, 275, 147, 275,
1288 274, 274, 274, 274, 274, 274, 274, 276, 274, 274,
1289 274, 531, 274, 278, 274, 279, 274, 373, 147, 373,
1290 373, 147, 373, 1555, 373, 147, 373, 373, 147, 373,
1291 385, 147, 385, 374, 1558, 1154, 374, 1559, 274, 274,
1292 376, 1155, 1560, 376, 1156, 532, 386, 396, 1157, 280,
1293 387, 387, 387, 387, 387, 387, 387, 387, 387, 451,
1294 1561, 281, 274, 275, 147, 275, 274, 274, 274, 274,
1295 274, 274, 274, 276, 274, 274, 274, 1562, 274, 278,
1296 274, 279, 274, 385, 147, 385, 397, 387, 387, 387,
1297 1563, 1568, 398, 387, 387, 387, 399, 1569, 1570, 386,
1299 1571, 400, 1572, 1573, 274, 274, 387, 387, 387, 387,
1300 387, 387, 387, 387, 387, 280, 387, 387, 387, 542,
1301 542, 542, 1593, 686, 896, 896, 896, 281, 285, 286,
1302 147, 286, 285, 285, 285, 285, 285, 285, 285, 287,
1303 285, 285, 285, 288, 285, 289, 285, 290, 285, 288,
1304 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1305 288, 288, 288, 288, 288, 288, 288, 288, 288, 288,
1306 285, 285, 288, 288, 291, 288, 288, 288, 288, 288,
1307 288, 292, 288, 293, 288, 288, 288, 294, 288, 295,
1308 296, 288, 288, 288, 288, 288, 288, 300, 301, 147,
1310 301, 300, 300, 300, 300, 300, 300, 300, 302, 300,
1311 300, 300, 682, 300, 304, 300, 305, 300, 542, 542,
1312 542, 584, 584, 584, 592, 592, 592, 606, 606, 606,
1313 617, 617, 617, 904, 904, 904, 1594, 1595, 585, 300,
1314 300, 593, 1596, 1603, 607, 1604, 1605, 618, 1585, 998,
1315 306, 300, 301, 147, 301, 300, 300, 300, 300, 300,
1316 300, 300, 302, 300, 300, 300, 998, 300, 304, 300,
1317 305, 300, 1606, 543, 625, 625, 625, 1338, 631, 631,
1318 631, 633, 633, 633, 642, 642, 642, 1009, 1009, 1009,
1319 1599, 626, 1607, 300, 300, 632, 1608, 1609, 634, 1610,
1321 1586, 643, 1600, 998, 306, 310, 311, 147, 311, 310,
1322 310, 310, 310, 310, 310, 310, 312, 310, 310, 310,
1323 1611, 310, 314, 310, 315, 310, 647, 647, 647, 667,
1324 667, 667, 696, 696, 696, 696, 696, 696, 726, 726,
1325 726, 682, 1587, 648, 1612, 1613, 668, 310, 310, 1615,
1326 698, 316, 1616, 698, 1617, 1621, 728, 1230, 317, 1622,
1327 318, 1015, 1015, 1015, 896, 896, 896, 319, 310, 311,
1328 147, 311, 310, 310, 310, 310, 310, 310, 310, 312,
1329 310, 310, 310, 1623, 310, 314, 310, 315, 310, 699,
1330 726, 726, 726, 1627, 1601, 584, 584, 584, 731, 731,
1332 731, 1628, 732, 1629, 1630, 733, 1602, 1631, 728, 1632,
1333 310, 310, 585, 1638, 316, 741, 741, 741, 1639, 742,
1334 1640, 317, 743, 318, 1021, 1021, 1021, 904, 904, 904,
1335 319, 324, 325, 147, 325, 324, 324, 324, 324, 324,
1336 324, 324, 326, 324, 324, 324, 729, 324, 328, 324,
1337 329, 324, 736, 736, 736, 1641, 1642, 736, 736, 736,
1338 592, 592, 592, 744, 744, 744, 747, 747, 747, 1643,
1339 738, 998, 1656, 324, 324, 738, 330, 593, 998, 331,
1340 745, 1633, 1635, 748, 762, 762, 762, 1658, 763, 1634,
1341 1636, 764, 682, 332, 324, 325, 147, 325, 324, 324,
1343 324, 324, 324, 324, 324, 326, 324, 324, 324, 1650,
1344 324, 328, 324, 329, 324, 1662, 1651, 739, 1649, 1663,
1345 750, 750, 750, 758, 758, 758, 1664, 1665, 750, 750,
1346 750, 758, 758, 758, 1666, 1667, 324, 324, 752, 330,
1347 1668, 760, 331, 778, 778, 778, 752, 779, 1669, 760,
1348 780, 1047, 1047, 1047, 1670, 1671, 332, 338, 339, 147,
1349 339, 338, 338, 338, 338, 338, 338, 338, 340, 338,
1350 338, 338, 753, 338, 342, 338, 343, 338, 606, 606,
1351 606, 1672, 1673, 768, 768, 768, 773, 773, 773, 1674,
1352 1679, 761, 617, 617, 617, 607, 768, 768, 768, 338,
1354 338, 770, 344, 1680, 775, 345, 1009, 1009, 1009, 618,
1355 346, 789, 789, 789, 770, 790, 1681, 1684, 791, 347,
1356 338, 339, 147, 339, 338, 338, 338, 338, 338, 338,
1357 338, 340, 338, 338, 338, 1685, 338, 342, 338, 343,
1358 338, 773, 773, 773, 771, 1686, 785, 785, 785, 785,
1359 785, 785, 625, 625, 625, 1687, 793, 793, 793, 775,
1360 1688, 1689, 338, 338, 787, 344, 1690, 787, 345, 626,
1361 1011, 1011, 1011, 346, 795, 1015, 1015, 1015, 1021, 1021,
1362 1021, 1691, 347, 352, 353, 147, 353, 352, 352, 352,
1363 352, 352, 352, 352, 354, 352, 352, 352, 776, 352,
1365 356, 352, 357, 352, 1692, 1693, 788, 1694, 1696, 793,
1366 793, 793, 631, 631, 631, 799, 799, 799, 1697, 800,
1367 1698, 1699, 801, 1700, 1701, 352, 352, 795, 1708, 632,
1368 1022, 1022, 1022, 1047, 1047, 1047, 358, 352, 353, 147,
1369 353, 352, 352, 352, 352, 352, 352, 352, 354, 352,
1370 352, 352, 998, 352, 356, 352, 357, 352, 633, 633,
1371 633, 802, 802, 802, 1709, 803, 1710, 1711, 804, 796,
1372 805, 805, 805, 1712, 1713, 634, 1246, 1246, 1246, 352,
1373 352, 815, 815, 815, 1705, 816, 1716, 806, 817, 1717,
1374 358, 362, 363, 147, 363, 362, 362, 362, 362, 362,
1376 362, 362, 364, 362, 362, 362, 1718, 362, 366, 362,
1377 367, 362, 811, 811, 811, 642, 642, 642, 818, 818,
1378 818, 811, 811, 811, 818, 818, 818, 647, 647, 647,
1379 813, 1719, 643, 362, 362, 682, 820, 1720, 1721, 813,
1380 1722, 368, 820, 369, 648, 370, 1127, 1127, 1127, 1248,
1381 1248, 1248, 1723, 371, 362, 363, 147, 363, 362, 362,
1382 362, 362, 362, 362, 362, 364, 362, 362, 362, 1728,
1383 362, 366, 362, 367, 362, 814, 823, 823, 823, 1704,
1384 824, 821, 1731, 825, 829, 829, 829, 829, 829, 829,
1385 834, 834, 834, 836, 836, 836, 362, 362, 845, 845,
1387 845, 1732, 831, 1736, 368, 831, 369, 835, 370, 1737,
1388 837, 1130, 1130, 1130, 1738, 846, 371, 377, 378, 147,
1389 378, 377, 377, 377, 377, 377, 377, 377, 379, 377,
1390 377, 377, 1739, 377, 381, 377, 382, 377, 1740, 832,
1391 840, 840, 840, 1741, 848, 848, 848, 840, 840, 840,
1392 850, 850, 850, 850, 850, 850, 1729, 1730, 842, 377,
1393 377, 849, 667, 667, 667, 842, 1742, 1743, 852, 1744,
1394 1745, 852, 1746, 854, 854, 854, 1749, 855, 1750, 668,
1395 856, 1751, 383, 377, 378, 147, 378, 377, 377, 377,
1396 377, 377, 377, 377, 379, 377, 377, 377, 1752, 377,
1398 381, 377, 382, 377, 843, 857, 857, 857, 1753, 1754,
1399 853, 857, 857, 857, 865, 865, 865, 865, 865, 865,
1400 871, 871, 871, 859, 1769, 377, 377, 682, 1770, 859,
1401 1771, 1772, 867, 1776, 1777, 867, 1778, 1779, 873, 871,
1402 871, 871, 696, 696, 696, 911, 911, 911, 383, 391,
1403 696, 696, 696, 1011, 1011, 1011, 407, 873, 1761, 1780,
1404 698, 1781, 912, 860, 1783, 390, 1784, 1012, 698, 696,
1405 696, 696, 1785, 726, 726, 726, 1786, 868, 726, 726,
1406 726, 1791, 1792, 726, 726, 726, 1793, 698, 1794, 1795,
1407 408, 728, 409, 1796, 1797, 410, 728, 411, 412, 874,
1409 413, 728, 1798, 1799, 414, 1800, 415, 416, 417, 391,
1410 914, 914, 914, 884, 1801, 1802, 407, 731, 731, 731,
1411 1803, 732, 1804, 682, 733, 390, 1819, 915, 1820, 913,
1412 2022, 2022, 2022, 736, 736, 736, 736, 736, 736, 1821,
1413 1822, 736, 736, 736, 744, 744, 744, 2022, 1823, 1824,
1414 408, 738, 418, 1825, 738, 419, 1826, 420, 412, 738,
1415 421, 745, 1813, 1827, 414, 1828, 422, 423, 424, 741,
1416 741, 741, 1831, 742, 1832, 1833, 743, 920, 920, 920,
1417 1834, 921, 1841, 1842, 922, 918, 1843, 916, 923, 923,
1418 923, 747, 747, 747, 925, 925, 925, 1844, 926, 1845,
1420 1846, 927, 750, 750, 750, 924, 1847, 1848, 748, 750,
1421 750, 750, 750, 750, 750, 932, 932, 932, 1849, 1850,
1422 752, 758, 758, 758, 758, 758, 758, 752, 1851, 1852,
1423 752, 1862, 933, 758, 758, 758, 762, 762, 762, 760,
1424 763, 1863, 760, 764, 768, 768, 768, 768, 768, 768,
1425 1864, 760, 768, 768, 768, 773, 773, 773, 773, 773,
1426 773, 1857, 770, 1857, 682, 770, 1865, 1866, 929, 1867,
1427 770, 1868, 1869, 775, 1860, 1858, 775, 935, 773, 773,
1428 773, 778, 778, 778, 1870, 779, 1871, 1876, 780, 785,
1429 785, 785, 785, 785, 785, 1877, 775, 785, 785, 785,
1431 1878, 789, 789, 789, 1879, 790, 1855, 787, 791, 1880,
1432 787, 793, 793, 793, 939, 787, 793, 793, 793, 793,
1433 793, 793, 1881, 799, 799, 799, 1882, 800, 1883, 795,
1434 801, 805, 805, 805, 795, 1888, 1872, 795, 941, 802,
1435 802, 802, 682, 803, 1874, 1888, 804, 1873, 806, 952,
1436 952, 952, 1891, 953, 1892, 1875, 954, 1857, 947, 811,
1437 811, 811, 811, 811, 811, 811, 811, 811, 815, 815,
1438 815, 1858, 816, 998, 999, 817, 949, 813, 1902, 1886,
1439 813, 1903, 1904, 813, 818, 818, 818, 818, 818, 818,
1440 818, 818, 818, 823, 823, 823, 1857, 824, 1905, 1888,
1442 825, 1909, 820, 1888, 1910, 820, 1911, 1860, 820, 829,
1443 829, 829, 829, 829, 829, 829, 829, 829, 834, 834,
1444 834, 1921, 967, 967, 967, 1925, 968, 831, 959, 969,
1445 831, 1926, 1927, 831, 1928, 835, 1932, 836, 836, 836,
1446 970, 970, 970, 1933, 971, 1934, 1935, 972, 840, 840,
1447 840, 1936, 1937, 960, 837, 840, 840, 840, 840, 840,
1448 840, 845, 845, 845, 1941, 682, 842, 1942, 977, 977,
1449 977, 965, 978, 842, 1943, 979, 842, 1944, 846, 848,
1450 848, 848, 981, 981, 981, 1945, 982, 1940, 682, 983,
1451 850, 850, 850, 850, 850, 850, 849, 850, 850, 850,
1453 854, 854, 854, 1949, 855, 1950, 1948, 856, 852, 1951,
1454 1952, 852, 857, 857, 857, 852, 857, 857, 857, 1953,
1455 682, 975, 857, 857, 857, 987, 987, 987, 1959, 1960,
1456 859, 865, 865, 865, 859, 865, 865, 865, 1961, 1956,
1457 859, 1962, 988, 865, 865, 865, 871, 871, 871, 867,
1458 871, 871, 871, 867, 871, 871, 871, 997, 997, 997,
1459 984, 867, 1969, 1970, 873, 696, 696, 696, 873, 911,
1460 911, 911, 873, 1484, 682, 998, 999, 682, 985, 1022,
1461 1022, 1022, 682, 698, 682, 682, 912, 1031, 1031, 1031,
1462 1965, 1032, 682, 1012, 1033, 726, 726, 726, 1973, 682,
1464 991, 914, 914, 914, 994, 1035, 1035, 1035, 682, 1036,
1465 682, 1987, 1037, 728, 736, 736, 736, 1983, 915, 920,
1466 920, 920, 682, 921, 1997, 1984, 922, 1005, 923, 923,
1467 923, 1483, 738, 1042, 1042, 1042, 1991, 1043, 682, 1482,
1468 1044, 750, 750, 750, 1988, 924, 925, 925, 925, 1034,
1469 926, 1481, 2015, 927, 932, 932, 932, 682, 682, 752,
1470 1040, 1049, 1049, 1049, 2005, 1050, 682, 682, 1051, 682,
1471 1998, 933, 1052, 1052, 1052, 758, 758, 758, 1058, 1058,
1472 1058, 773, 773, 773, 1065, 1065, 1065, 1480, 1046, 1053,
1473 1067, 1067, 1067, 760, 1992, 2009, 1059, 682, 2010, 775,
1475 2006, 1066, 785, 785, 785, 2019, 682, 1068, 1071, 1071,
1476 1071, 2016, 793, 793, 793, 1074, 1074, 1074, 682, 682,
1477 787, 1054, 2022, 2022, 2022, 1072, 1077, 1077, 1077, 1061,
1478 795, 2007, 1075, 1069, 952, 952, 952, 682, 953, 2022,
1479 2008, 954, 1479, 1078, 2022, 2022, 2022, 2013, 2022, 2022,
1480 2022, 2022, 2022, 2022, 811, 811, 811, 818, 818, 818,
1481 2011, 2022, 2012, 1478, 1070, 2022, 2014, 1472, 2022, 682,
1482 1073, 682, 813, 1471, 682, 820, 1470, 1087, 1087, 1087,
1483 829, 829, 829, 1469, 1076, 682, 967, 967, 967, 2019,
1484 968, 1468, 1080, 969, 1088, 970, 970, 970, 831, 971,
1486 682, 1467, 972, 2017, 1022, 1022, 1022, 840, 840, 840,
1487 1079, 987, 987, 987, 2018, 1082, 1466, 1081, 1093, 1083,
1488 1089, 1465, 977, 977, 977, 842, 978, 1461, 988, 979,
1489 981, 981, 981, 1090, 982, 1460, 1459, 983, 850, 850,
1490 850, 857, 857, 857, 1100, 1100, 1100, 1458, 1101, 1457,
1491 1456, 1102, 865, 865, 865, 1455, 852, 1454, 1453, 859,
1492 1107, 1107, 1107, 871, 871, 871, 997, 997, 997, 1094,
1493 867, 696, 696, 696, 1127, 1127, 1127, 1108, 1130, 1130,
1494 1130, 873, 1452, 1451, 998, 1127, 1127, 1127, 1128, 698,
1495 1448, 1445, 1131, 1444, 1098, 1136, 1136, 1136, 1105, 1128,
1497 1097, 1138, 1138, 1138, 1138, 1138, 1138, 1443, 1442, 1131,
1498 1136, 1136, 1136, 1430, 1111, 1139, 1428, 1427, 1139, 1417,
1499 1118, 1031, 1031, 1031, 1141, 1032, 1109, 1411, 1033, 1406,
1500 1112, 726, 726, 726, 1129, 1035, 1035, 1035, 1405, 1036,
1501 1401, 1394, 1037, 1389, 1388, 1135, 1052, 1052, 1052, 728,
1502 736, 736, 736, 1042, 1042, 1042, 1387, 1043, 1381, 1380,
1503 1044, 1129, 1379, 1053, 1135, 750, 750, 750, 738, 1049,
1504 1049, 1049, 1378, 1050, 1377, 1376, 1051, 1158, 1158, 1158,
1505 1375, 1159, 1374, 752, 1160, 758, 758, 758, 1162, 1162,
1506 1162, 2022, 2022, 2022, 1142, 1165, 1165, 1165, 1145, 1058,
1508 1058, 1058, 1373, 760, 1372, 1163, 1366, 1365, 2022, 1167,
1509 1167, 1167, 1166, 773, 773, 773, 1364, 1059, 1065, 1065,
1510 1065, 1363, 1148, 1173, 1173, 1173, 1168, 1174, 1361, 1359,
1511 1175, 775, 1355, 1161, 1354, 1066, 1067, 1067, 1067, 1176,
1512 1176, 1176, 1352, 1177, 1351, 1164, 1178, 1180, 1180, 1180,
1513 1071, 1071, 1071, 1068, 1182, 1182, 1182, 1169, 1183, 1347,
1514 1340, 1184, 1185, 1185, 1185, 1181, 1335, 1072, 1074, 1074,
1515 1074, 1187, 1187, 1187, 1333, 1188, 1332, 1331, 1189, 1322,
1516 1186, 1190, 1190, 1190, 1317, 1075, 1077, 1077, 1077, 1192,
1517 1192, 1192, 1316, 1193, 1315, 1314, 1194, 1310, 1191, 1195,
1519 1195, 1195, 1296, 1078, 2022, 2022, 2022, 1198, 1198, 1198,
1520 811, 811, 811, 818, 818, 818, 1196, 1087, 1087, 1087,
1521 1295, 2022, 1294, 1293, 1199, 1205, 1205, 1205, 813, 1206,
1522 1292, 820, 1207, 1291, 1088, 1209, 1209, 1209, 1211, 1211,
1523 1211, 1277, 2022, 2022, 2022, 840, 840, 840, 1216, 1216,
1524 1216, 1274, 1273, 1210, 1272, 1212, 1269, 1268, 1197, 2022,
1525 1264, 1201, 1263, 842, 1260, 1217, 2022, 2022, 2022, 850,
1526 850, 850, 1200, 1259, 857, 857, 857, 1100, 1100, 1100,
1527 1257, 1101, 1256, 2022, 1102, 1255, 1254, 852, 1220, 865,
1528 865, 865, 859, 1215, 1107, 1107, 1107, 1226, 1226, 1226,
1530 1251, 1227, 1213, 1250, 1228, 1249, 1247, 867, 1245, 1218,
1531 1244, 1108, 871, 871, 871, 1243, 1242, 1219, 1234, 1234,
1532 1234, 2022, 2022, 2022, 2022, 2022, 2022, 696, 696, 696,
1533 873, 1252, 1252, 1252, 1241, 1235, 1240, 1224, 2022, 1239,
1534 1233, 2022, 1253, 1253, 1253, 698, 1136, 1136, 1136, 1138,
1535 1138, 1138, 726, 726, 726, 1225, 1261, 1261, 1261, 750,
1536 750, 750, 1266, 1266, 1266, 1223, 1222, 1229, 1221, 1214,
1537 728, 1208, 1204, 1236, 1262, 1203, 1202, 752, 1179, 1267,
1538 1172, 1237, 1171, 1170, 1238, 1158, 1158, 1158, 1149, 1159,
1539 1147, 1146, 1160, 758, 758, 758, 1162, 1162, 1162, 1258,
1541 1144, 1279, 1279, 1279, 1143, 1280, 1140, 1278, 1281, 1137,
1542 1134, 760, 1133, 1163, 1265, 1282, 1282, 1282, 1165, 1165,
1543 1165, 1284, 1284, 1284, 1132, 1285, 1126, 1125, 1286, 1167,
1544 1167, 1167, 1283, 1124, 1123, 1166, 1287, 1287, 1287, 1122,
1545 1288, 1121, 1120, 1289, 1119, 1115, 1168, 773, 773, 773,
1546 1173, 1173, 1173, 1114, 1174, 1113, 998, 1175, 1106, 1176,
1547 1176, 1176, 1104, 1177, 1103, 775, 1178, 1180, 1180, 1180,
1548 1182, 1182, 1182, 1099, 1183, 1096, 1095, 1184, 1185, 1185,
1549 1185, 1092, 1187, 1187, 1187, 1181, 1188, 1091, 1086, 1189,
1550 1190, 1190, 1190, 1290, 1085, 1084, 1186, 1297, 1297, 1297,
1552 1064, 1298, 1063, 1062, 1299, 1060, 1057, 1191, 1192, 1192,
1553 1192, 1056, 1193, 1055, 1048, 1194, 1195, 1195, 1195, 1300,
1554 1300, 1300, 1045, 1301, 1041, 1039, 1302, 1303, 1303, 1303,
1555 1198, 1198, 1198, 1196, 1305, 1305, 1305, 1038, 1306, 1030,
1556 1029, 1307, 1028, 1027, 1304, 1026, 1025, 1199, 811, 811,
1557 811, 818, 818, 818, 1311, 1311, 1311, 1205, 1205, 1205,
1558 1024, 1206, 1023, 1020, 1207, 1019, 813, 1018, 1017, 820,
1559 1016, 1312, 1209, 1209, 1209, 1211, 1211, 1211, 1318, 1318,
1560 1318, 1014, 1319, 1013, 1010, 1320, 2022, 2022, 2022, 1008,
1561 1210, 1007, 1212, 1216, 1216, 1216, 1308, 1313, 840, 840,
1563 840, 1006, 1004, 2022, 2022, 2022, 2022, 1328, 1328, 1328,
1564 1217, 1309, 1323, 1324, 1324, 1324, 842, 1325, 1003, 1002,
1565 1326, 2022, 857, 857, 857, 1329, 865, 865, 865, 1226,
1566 1226, 1226, 1001, 1227, 1000, 993, 1228, 992, 1321, 990,
1567 859, 871, 871, 871, 867, 1234, 1234, 1234, 1341, 1341,
1568 1341, 989, 1342, 986, 980, 1343, 2022, 2022, 2022, 873,
1569 976, 1327, 1235, 2022, 2022, 2022, 974, 973, 1330, 966,
1570 696, 696, 696, 2022, 1348, 1348, 1348, 1349, 1349, 1349,
1571 2022, 1350, 1350, 1350, 1353, 1353, 1353, 1334, 698, 1336,
1572 1246, 1246, 1246, 1248, 1248, 1248, 1356, 1356, 1356, 1357,
1574 1357, 1357, 1252, 1252, 1252, 1253, 1253, 1253, 1358, 1358,
1575 1358, 964, 1344, 1360, 1360, 1360, 726, 726, 726, 1261,
1576 1261, 1261, 1367, 1367, 1367, 963, 1345, 1266, 1266, 1266,
1577 1346, 1369, 1369, 1369, 728, 1370, 962, 1262, 1371, 961,
1578 1368, 758, 758, 758, 1267, 1279, 1279, 1279, 958, 1280,
1579 957, 956, 1281, 1282, 1282, 1282, 1383, 1383, 1383, 760,
1580 1384, 955, 951, 1385, 1362, 1284, 1284, 1284, 950, 1285,
1581 1283, 948, 1286, 1287, 1287, 1287, 946, 1288, 945, 944,
1582 1289, 773, 773, 773, 1297, 1297, 1297, 1382, 1298, 943,
1583 942, 1299, 940, 1300, 1300, 1300, 938, 1301, 937, 775,
1585 1302, 1303, 1303, 1303, 1395, 1395, 1395, 936, 1396, 934,
1586 931, 1397, 1305, 1305, 1305, 928, 1306, 919, 1304, 1307,
1587 811, 811, 811, 1399, 1399, 1399, 1311, 1311, 1311, 1402,
1588 1402, 1402, 1386, 1403, 917, 910, 1404, 909, 813, 908,
1589 907, 1400, 905, 1312, 1318, 1318, 1318, 903, 1319, 902,
1590 901, 1320, 2022, 2022, 2022, 840, 840, 840, 1324, 1324,
1591 1324, 900, 1325, 899, 898, 1326, 2022, 2022, 2022, 2022,
1592 1328, 1328, 1328, 842, 857, 857, 857, 1425, 1425, 1425,
1593 1398, 897, 895, 2022, 865, 865, 865, 894, 1329, 1432,
1594 1432, 1432, 859, 891, 1426, 871, 871, 871, 1416, 1435,
1596 1435, 1435, 867, 890, 1341, 1341, 1341, 682, 1342, 889,
1597 1418, 1343, 888, 873, 2022, 2022, 2022, 2022, 2022, 2022,
1598 887, 886, 1423, 696, 696, 696, 1439, 1439, 1439, 885,
1599 883, 2022, 882, 881, 2022, 880, 1424, 1348, 1348, 1348,
1600 879, 698, 1349, 1349, 1349, 1429, 1350, 1350, 1350, 878,
1601 877, 1431, 1440, 1440, 1440, 1441, 1441, 1441, 1353, 1353,
1602 1353, 1356, 1356, 1356, 1357, 1357, 1357, 1436, 1358, 1358,
1603 1358, 1360, 1360, 1360, 1446, 1446, 1446, 876, 1438, 1437,
1604 1449, 1449, 1449, 1367, 1367, 1367, 1369, 1369, 1369, 682,
1605 1370, 870, 1447, 1371, 758, 758, 758, 1450, 1383, 1383,
1607 1383, 1368, 1384, 869, 864, 1385, 1463, 1463, 1463, 1395,
1608 1395, 1395, 760, 1396, 863, 862, 1397, 1473, 1473, 1473,
1609 1399, 1399, 1399, 861, 1464, 1475, 1475, 1475, 847, 1402,
1610 1402, 1402, 844, 1403, 839, 1474, 1404, 838, 1400, 1491,
1611 1491, 1491, 1476, 1493, 1493, 1493, 840, 840, 840, 833,
1612 828, 1462, 2022, 2022, 2022, 827, 1492, 857, 857, 857,
1613 1425, 1425, 1425, 826, 842, 1506, 1506, 1506, 1477, 2022,
1614 822, 810, 1503, 1503, 1503, 859, 1504, 1426, 809, 1505,
1615 808, 807, 1507, 1509, 1509, 1509, 1511, 1511, 1511, 871,
1616 871, 871, 1432, 1432, 1432, 1501, 1435, 1435, 1435, 792,
1618 784, 1510, 1516, 1516, 1516, 783, 782, 873, 781, 1494,
1619 682, 777, 772, 1502, 2022, 2022, 2022, 767, 766, 1517,
1620 1519, 1519, 1519, 1439, 1439, 1439, 1440, 1440, 1440, 765,
1621 757, 2022, 1441, 1441, 1441, 1446, 1446, 1446, 1520, 1449,
1622 1449, 1449, 1526, 1526, 1526, 756, 1527, 755, 754, 1528,
1623 1513, 1512, 749, 1447, 746, 740, 1450, 758, 758, 758,
1624 735, 734, 1518, 1463, 1463, 1463, 1546, 1546, 1546, 1473,
1625 1473, 1473, 1475, 1475, 1475, 760, 730, 725, 1548, 1548,
1626 1548, 1464, 1549, 1547, 724, 1550, 723, 1474, 722, 1476,
1627 1556, 1556, 1556, 1491, 1491, 1491, 1564, 1564, 1564, 721,
1629 1565, 720, 719, 1566, 1493, 1493, 1493, 1557, 718, 717,
1630 1492, 716, 715, 1540, 840, 840, 840, 2022, 2022, 2022,
1631 1576, 1576, 1576, 1503, 1503, 1503, 714, 1504, 713, 712,
1632 1505, 711, 842, 710, 2022, 1506, 1506, 1506, 1577, 1578,
1633 1578, 1578, 709, 1579, 708, 707, 1580, 706, 1581, 1581,
1634 1581, 705, 1507, 1509, 1509, 1509, 1511, 1511, 1511, 1583,
1635 1583, 1583, 704, 703, 1574, 1582, 702, 701, 1567, 700,
1636 695, 1510, 1516, 1516, 1516, 694, 693, 1584, 1575, 1588,
1637 1588, 1588, 692, 1589, 691, 690, 1590, 689, 688, 1517,
1638 1591, 1591, 1591, 1519, 1519, 1519, 1597, 1597, 1597, 1526,
1640 1526, 1526, 685, 1527, 683, 682, 1528, 1592, 758, 758,
1641 758, 1520, 680, 1598, 1546, 1546, 1546, 1618, 1618, 1618,
1642 678, 1619, 677, 676, 1620, 674, 760, 673, 1548, 1548,
1643 1548, 1547, 1549, 672, 671, 1550, 1556, 1556, 1556, 1624,
1644 1624, 1624, 670, 1625, 666, 664, 1626, 1564, 1564, 1564,
1645 663, 1565, 662, 1557, 1566, 840, 840, 840, 2022, 2022,
1646 2022, 2022, 2022, 2022, 1614, 1576, 1576, 1576, 661, 660,
1647 1578, 1578, 1578, 842, 1579, 2022, 658, 1580, 2022, 1581,
1648 1581, 1581, 657, 1577, 1646, 1646, 1646, 656, 1647, 655,
1649 654, 1648, 1583, 1583, 1583, 653, 1582, 1588, 1588, 1588,
1651 651, 1589, 650, 649, 1590, 1591, 1591, 1591, 646, 645,
1652 1584, 1652, 1652, 1652, 641, 1653, 639, 1637, 1654, 1644,
1653 638, 1645, 1592, 1655, 1655, 1655, 1657, 1657, 1657, 1597,
1654 1597, 1597, 1659, 1659, 1659, 637, 1660, 636, 635, 1661,
1655 758, 758, 758, 1676, 1676, 1676, 1598, 1618, 1618, 1618,
1656 630, 1619, 629, 627, 1620, 1682, 1682, 1682, 760, 624,
1657 1677, 1624, 1624, 1624, 622, 1625, 621, 620, 1626, 840,
1658 840, 840, 1683, 2022, 2022, 2022, 2022, 2022, 2022, 1655,
1659 1655, 1655, 1706, 1706, 1706, 619, 1678, 842, 1675, 616,
1660 2022, 615, 613, 2022, 1646, 1646, 1646, 612, 1647, 1707,
1662 998, 1648, 1652, 1652, 1652, 610, 1653, 609, 608, 1654,
1663 1657, 1657, 1657, 1659, 1659, 1659, 605, 1660, 603, 602,
1664 1661, 1695, 1703, 1714, 1714, 1714, 758, 758, 758, 1676,
1665 1676, 1676, 1725, 1725, 1725, 1702, 1726, 601, 599, 1727,
1666 1715, 1682, 1682, 1682, 760, 597, 1677, 1733, 1733, 1733,
1667 596, 1734, 595, 594, 1735, 1747, 1747, 1747, 1683, 1755,
1668 1755, 1755, 1758, 1758, 1758, 1762, 1762, 1762, 1706, 1706,
1669 1706, 591, 1724, 1748, 590, 589, 1756, 586, 583, 1759,
1670 582, 580, 1763, 998, 579, 1707, 998, 577, 1764, 1764,
1671 1764, 574, 1765, 573, 570, 1766, 1767, 1767, 1767, 1768,
1673 1768, 1768, 1757, 569, 568, 1760, 998, 1714, 1714, 1714,
1674 1773, 1773, 1773, 567, 1774, 566, 565, 1775, 758, 758,
1675 758, 1725, 1725, 1725, 1715, 1726, 560, 559, 1727, 1787,
1676 1787, 1787, 558, 1733, 1733, 1733, 760, 1734, 557, 556,
1677 1735, 1789, 1789, 1789, 555, 554, 1788, 1747, 1747, 1747,
1678 1755, 1755, 1755, 1805, 1805, 1805, 552, 1806, 1790, 551,
1679 1807, 2022, 2022, 2022, 550, 1748, 549, 1756, 1758, 1758,
1680 1758, 548, 1809, 1809, 1809, 547, 1810, 546, 2022, 1811,
1681 1782, 2022, 2022, 2022, 541, 1759, 1762, 1762, 1762, 1814,
1682 1814, 1814, 538, 1815, 540, 535, 1816, 533, 2022, 1767,
1684 1767, 1767, 531, 1763, 998, 2022, 530, 998, 529, 1764,
1685 1764, 1764, 528, 1765, 527, 525, 1766, 1768, 1768, 1768,
1686 523, 1773, 1773, 1773, 521, 1774, 1808, 998, 1775, 1835,
1687 1835, 1835, 520, 1836, 519, 518, 1837, 517, 1829, 1829,
1688 1829, 516, 1787, 1787, 1787, 514, 1812, 996, 996, 996,
1689 996, 996, 996, 996, 996, 996, 1830, 513, 996, 1788,
1690 1789, 1789, 1789, 996, 996, 996, 998, 996, 1838, 1838,
1691 1838, 509, 1839, 508, 506, 1840, 505, 1790, 1805, 1805,
1692 1805, 502, 1806, 501, 500, 1807, 2022, 2022, 2022, 996,
1693 996, 996, 996, 996, 996, 996, 996, 996, 996, 996,
1695 498, 496, 996, 2022, 2022, 2022, 2022, 996, 996, 996,
1696 998, 996, 1809, 1809, 1809, 494, 1810, 492, 491, 1811,
1697 488, 2022, 1814, 1814, 1814, 487, 1815, 483, 481, 1816,
1698 1829, 1829, 1829, 996, 996, 1835, 1835, 1835, 1853, 1836,
1699 998, 480, 1837, 1838, 1838, 1838, 478, 1839, 1830, 477,
1700 1840, 476, 2022, 2022, 2022, 475, 1854, 996, 996, 996,
1701 996, 996, 1861, 996, 996, 996, 474, 471, 996, 2022,
1702 2022, 2022, 2022, 996, 996, 996, 998, 996, 1890, 1890,
1703 1890, 1893, 1893, 1893, 1912, 1912, 1912, 2022, 1913, 469,
1704 468, 1914, 420, 1895, 1895, 1895, 998, 999, 1894, 996,
1706 996, 996, 996, 996, 996, 996, 996, 996, 996, 1861,
1707 1896, 467, 996, 465, 1884, 463, 462, 996, 996, 996,
1708 998, 996, 1897, 1897, 1897, 1900, 1900, 1900, 2022, 2022,
1709 2022, 461, 1885, 2022, 2022, 2022, 1908, 1908, 1908, 1898,
1710 460, 458, 1901, 996, 996, 2022, 1890, 1890, 1890, 456,
1711 2022, 1893, 1893, 1893, 682, 1895, 1895, 1895, 455, 1915,
1712 1915, 1915, 454, 1916, 998, 1899, 1917, 452, 1894, 1897,
1713 1897, 1897, 1896, 1918, 1918, 1918, 450, 1919, 449, 1906,
1714 1920, 1900, 1900, 1900, 1907, 445, 1898, 444, 1922, 1922,
1715 1922, 442, 1923, 441, 1111, 1924, 438, 437, 1901, 2022,
1717 2022, 2022, 2022, 2022, 2022, 1908, 1908, 1908, 1912, 1912,
1718 1912, 436, 1913, 434, 432, 1914, 2022, 430, 2022, 2022,
1719 1915, 1915, 1915, 682, 1916, 406, 405, 1917, 1918, 1918,
1720 1918, 403, 1919, 401, 395, 1920, 1922, 1922, 1922, 394,
1721 1923, 1931, 1929, 1924, 395, 1930, 2022, 2022, 2022, 2022,
1722 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1723 2022, 394, 393, 2022, 392, 2022, 2022, 2022, 2022, 2022,
1724 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1957,
1725 1957, 1957, 2022, 2022, 2022, 2022, 2022, 2022, 1957, 1957,
1726 1957, 2022, 2022, 2022, 2022, 2022, 1958, 2022, 2022, 2022,
1728 2022, 2022, 2022, 1938, 2022, 1958, 1939, 2022, 2022, 1954,
1729 2022, 1966, 1966, 1966, 1946, 1967, 2022, 1947, 1968, 2022,
1730 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1955, 2022, 2022,
1731 1963, 2022, 2022, 1964, 2022, 2022, 2022, 2022, 2022, 2022,
1732 1966, 1966, 1966, 2022, 1967, 2022, 2022, 1968, 2022, 2022,
1733 2022, 2022, 2022, 2022, 1976, 1976, 1976, 2022, 2022, 2022,
1734 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 1976,
1735 1976, 1976, 682, 1979, 2022, 2022, 1980, 2022, 2022, 1971,
1736 2022, 2022, 1972, 2022, 2022, 2022, 2022, 682, 2022, 2022,
1737 2022, 1974, 2022, 2022, 1975, 2022, 2022, 2022, 2022, 2022,
1739 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1740 2022, 2022, 2022, 1993, 1993, 1993, 2022, 2022, 1977, 2022,
1741 1978, 2022, 2022, 2022, 2022, 2022, 2022, 1995, 1995, 1995,
1742 1994, 1981, 1993, 1993, 1993, 2022, 1982, 2022, 1999, 1999,
1743 1999, 2022, 2000, 2022, 1996, 2001, 2022, 2022, 1986, 1994,
1744 2022, 1985, 2022, 1989, 1995, 1995, 1995, 2002, 2002, 2002,
1745 2022, 2003, 2022, 2022, 2004, 1999, 1999, 1999, 2022, 2000,
1746 2022, 1996, 2001, 1990, 2002, 2002, 2002, 2022, 2003, 2022,
1747 2022, 2004, 2020, 2020, 2020, 2020, 2020, 2020, 2022, 2022,
1748 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1750 2021, 2022, 2022, 2021, 144, 144, 144, 144, 144, 144,
1751 144, 144, 144, 145, 145, 145, 145, 145, 145, 145,
1752 145, 145, 150, 150, 150, 150, 150, 150, 150, 150,
1753 150, 153, 153, 153, 153, 153, 153, 153, 153, 153,
1754 156, 156, 156, 156, 156, 156, 156, 156, 156, 159,
1755 159, 159, 159, 159, 159, 159, 159, 159, 166, 166,
1756 166, 166, 166, 166, 166, 166, 166, 174, 174, 174,
1757 174, 174, 174, 174, 174, 174, 179, 179, 179, 179,
1758 179, 179, 179, 179, 179, 189, 189, 189, 189, 189,
1759 189, 189, 189, 189, 193, 193, 193, 193, 193, 193,
1761 193, 193, 193, 199, 199, 199, 199, 199, 199, 199,
1762 199, 199, 210, 210, 210, 210, 210, 210, 210, 210,
1763 210, 217, 217, 217, 217, 217, 217, 217, 217, 217,
1764 225, 225, 225, 225, 225, 225, 225, 225, 225, 231,
1765 231, 231, 231, 231, 231, 231, 231, 231, 237, 237,
1766 237, 237, 237, 237, 237, 237, 237, 244, 244, 244,
1767 244, 244, 244, 244, 244, 244, 250, 250, 250, 250,
1768 250, 250, 250, 250, 250, 256, 256, 256, 256, 256,
1769 256, 256, 256, 256, 262, 262, 262, 262, 262, 262,
1770 262, 262, 262, 270, 270, 270, 270, 270, 270, 270,
1772 270, 270, 277, 277, 277, 277, 277, 277, 277, 277,
1773 277, 282, 282, 282, 282, 282, 282, 282, 282, 282,
1774 297, 297, 297, 297, 297, 297, 297, 297, 297, 303,
1775 303, 303, 303, 303, 303, 303, 303, 303, 307, 307,
1776 307, 307, 307, 307, 307, 307, 307, 313, 313, 313,
1777 313, 313, 313, 313, 313, 313, 320, 320, 320, 320,
1778 320, 320, 320, 320, 320, 327, 327, 327, 327, 327,
1779 327, 327, 327, 327, 334, 334, 334, 334, 334, 334,
1780 334, 334, 334, 341, 341, 341, 341, 341, 341, 341,
1781 341, 341, 348, 348, 348, 348, 348, 348, 348, 348,
1783 348, 355, 355, 355, 355, 355, 355, 355, 355, 355,
1784 359, 359, 359, 359, 359, 359, 359, 359, 359, 365,
1785 365, 365, 365, 365, 365, 365, 365, 365, 372, 372,
1786 372, 372, 372, 372, 372, 372, 372, 380, 380, 380,
1787 380, 380, 380, 380, 380, 380, 384, 384, 384, 384,
1788 384, 384, 384, 384, 384, 404, 404, 404, 2022, 2022,
1789 2022, 404, 431, 431, 431, 2022, 2022, 2022, 431, 435,
1790 435, 435, 2022, 2022, 2022, 435, 443, 443, 443, 2022,
1791 2022, 2022, 443, 453, 453, 453, 2022, 2022, 2022, 453,
1792 459, 459, 459, 2022, 2022, 2022, 459, 466, 466, 466,
1794 2022, 2022, 2022, 466, 470, 470, 470, 2022, 2022, 2022,
1795 470, 479, 479, 479, 2022, 2022, 2022, 479, 484, 484,
1796 484, 2022, 2022, 2022, 484, 495, 495, 495, 2022, 2022,
1797 2022, 495, 499, 499, 499, 2022, 2022, 2022, 499, 507,
1798 507, 507, 2022, 2022, 2022, 507, 515, 515, 515, 2022,
1799 2022, 2022, 515, 522, 522, 522, 2022, 2022, 2022, 522,
1800 526, 526, 526, 2022, 2022, 2022, 526, 534, 534, 534,
1801 2022, 2022, 2022, 534, 537, 537, 537, 537, 537, 537,
1802 537, 2022, 537, 553, 2022, 2022, 2022, 553, 581, 2022,
1803 2022, 2022, 581, 588, 2022, 2022, 2022, 588, 598, 2022,
1805 2022, 2022, 598, 604, 2022, 2022, 2022, 604, 611, 2022,
1806 2022, 2022, 611, 614, 2022, 2022, 2022, 614, 623, 2022,
1807 2022, 2022, 623, 628, 2022, 2022, 2022, 628, 484, 484,
1808 484, 2022, 2022, 2022, 484, 640, 2022, 2022, 2022, 640,
1809 495, 495, 495, 2022, 2022, 2022, 495, 644, 2022, 2022,
1810 2022, 644, 499, 499, 499, 2022, 2022, 2022, 499, 652,
1811 2022, 2022, 2022, 652, 507, 507, 507, 2022, 2022, 2022,
1812 507, 659, 2022, 2022, 2022, 659, 515, 515, 515, 2022,
1813 2022, 2022, 515, 665, 2022, 2022, 2022, 665, 522, 522,
1814 522, 2022, 2022, 2022, 522, 669, 2022, 2022, 2022, 669,
1816 526, 526, 526, 2022, 2022, 2022, 526, 675, 2022, 2022,
1817 2022, 675, 534, 534, 534, 2022, 2022, 2022, 534, 679,
1818 2022, 2022, 2022, 679, 681, 681, 681, 681, 681, 681,
1819 681, 681, 681, 687, 2022, 2022, 2022, 2022, 687, 404,
1820 404, 404, 2022, 2022, 2022, 404, 697, 697, 697, 697,
1821 2022, 2022, 697, 697, 431, 431, 431, 2022, 2022, 2022,
1822 431, 727, 727, 727, 727, 2022, 2022, 727, 727, 435,
1823 435, 435, 2022, 2022, 2022, 435, 737, 737, 737, 737,
1824 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022, 2022,
1825 443, 751, 751, 751, 751, 2022, 2022, 751, 751, 453,
1827 453, 453, 2022, 2022, 2022, 453, 759, 759, 759, 759,
1828 2022, 2022, 759, 759, 459, 459, 459, 2022, 2022, 2022,
1829 459, 769, 769, 769, 769, 2022, 2022, 769, 769, 466,
1830 466, 466, 2022, 2022, 2022, 466, 774, 774, 774, 774,
1831 2022, 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022,
1832 470, 786, 786, 786, 786, 2022, 2022, 786, 786, 479,
1833 479, 479, 2022, 2022, 2022, 479, 794, 794, 794, 794,
1834 2022, 2022, 794, 794, 484, 484, 484, 2022, 2022, 2022,
1835 484, 812, 812, 812, 812, 2022, 2022, 812, 812, 819,
1836 819, 819, 819, 2022, 2022, 819, 819, 499, 499, 499,
1838 2022, 2022, 2022, 499, 830, 830, 830, 830, 2022, 2022,
1839 830, 830, 507, 507, 507, 2022, 2022, 2022, 507, 841,
1840 841, 841, 841, 2022, 2022, 841, 841, 515, 515, 515,
1841 2022, 2022, 2022, 515, 851, 851, 851, 851, 2022, 2022,
1842 851, 851, 858, 858, 858, 858, 2022, 2022, 858, 858,
1843 526, 526, 526, 2022, 2022, 2022, 526, 866, 866, 866,
1844 866, 2022, 2022, 866, 866, 534, 534, 534, 2022, 2022,
1845 2022, 534, 872, 872, 872, 872, 2022, 2022, 872, 872,
1846 681, 681, 681, 681, 681, 681, 681, 681, 681, 687,
1847 2022, 687, 2022, 2022, 687, 404, 404, 404, 2022, 2022,
1849 2022, 404, 697, 697, 697, 697, 2022, 2022, 697, 697,
1850 431, 431, 431, 431, 2022, 431, 2022, 431, 727, 727,
1851 727, 727, 2022, 2022, 727, 727, 435, 435, 435, 435,
1852 2022, 435, 2022, 435, 737, 737, 737, 737, 2022, 2022,
1853 737, 737, 443, 443, 443, 2022, 2022, 2022, 443, 751,
1854 751, 751, 751, 2022, 2022, 751, 751, 453, 453, 453,
1855 2022, 2022, 2022, 453, 759, 759, 759, 759, 2022, 2022,
1856 759, 759, 459, 459, 459, 2022, 2022, 2022, 459, 769,
1857 769, 769, 769, 2022, 2022, 769, 769, 466, 466, 466,
1858 2022, 2022, 2022, 466, 774, 774, 774, 774, 2022, 2022,
1860 774, 774, 470, 470, 470, 2022, 2022, 2022, 470, 786,
1861 786, 786, 786, 2022, 2022, 786, 786, 479, 479, 479,
1862 2022, 2022, 2022, 479, 794, 794, 794, 794, 2022, 2022,
1863 794, 794, 484, 484, 484, 2022, 2022, 2022, 484, 812,
1864 812, 812, 812, 2022, 2022, 812, 812, 819, 819, 819,
1865 819, 2022, 2022, 819, 819, 499, 499, 499, 2022, 2022,
1866 2022, 499, 830, 830, 830, 830, 2022, 2022, 830, 830,
1867 507, 507, 507, 2022, 2022, 2022, 507, 841, 841, 841,
1868 841, 2022, 2022, 841, 841, 515, 515, 515, 2022, 2022,
1869 2022, 515, 851, 851, 851, 851, 2022, 2022, 851, 851,
1871 858, 858, 858, 858, 2022, 2022, 858, 858, 526, 526,
1872 526, 2022, 2022, 2022, 526, 866, 866, 866, 866, 2022,
1873 2022, 866, 866, 534, 534, 534, 2022, 2022, 2022, 534,
1874 872, 872, 872, 872, 2022, 2022, 872, 872, 681, 681,
1875 681, 681, 681, 681, 681, 681, 681, 996, 996, 996,
1876 996, 996, 996, 996, 996, 996, 404, 404, 404, 2022,
1877 2022, 2022, 404, 697, 697, 697, 697, 2022, 2022, 697,
1878 697, 727, 727, 727, 727, 2022, 2022, 727, 727, 435,
1879 435, 435, 2022, 2022, 2022, 435, 737, 737, 737, 737,
1880 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022, 2022,
1882 443, 751, 751, 751, 751, 2022, 2022, 751, 751, 453,
1883 453, 453, 2022, 2022, 2022, 453, 759, 759, 759, 759,
1884 2022, 2022, 759, 759, 459, 459, 459, 2022, 2022, 2022,
1885 459, 769, 769, 769, 769, 2022, 2022, 769, 769, 466,
1886 466, 466, 2022, 2022, 2022, 466, 774, 774, 774, 774,
1887 2022, 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022,
1888 470, 786, 786, 786, 786, 2022, 2022, 786, 786, 479,
1889 479, 479, 479, 2022, 479, 2022, 479, 794, 794, 794,
1890 794, 2022, 2022, 794, 794, 484, 484, 484, 484, 2022,
1891 484, 2022, 484, 812, 812, 812, 812, 2022, 2022, 812,
1893 812, 819, 819, 819, 819, 2022, 2022, 819, 819, 499,
1894 499, 499, 2022, 2022, 2022, 499, 830, 830, 830, 830,
1895 2022, 2022, 830, 830, 507, 507, 507, 2022, 2022, 2022,
1896 507, 841, 841, 841, 841, 2022, 2022, 841, 841, 515,
1897 515, 515, 2022, 2022, 2022, 515, 851, 851, 851, 851,
1898 2022, 2022, 851, 851, 858, 858, 858, 858, 2022, 2022,
1899 858, 858, 526, 526, 526, 2022, 2022, 2022, 526, 866,
1900 866, 866, 866, 2022, 2022, 866, 866, 534, 534, 534,
1901 534, 2022, 534, 2022, 534, 872, 872, 872, 872, 2022,
1902 2022, 872, 872, 681, 681, 681, 681, 681, 681, 681,
1904 681, 681, 996, 996, 996, 996, 996, 996, 996, 996,
1905 996, 404, 404, 404, 2022, 2022, 2022, 404, 697, 697,
1906 697, 697, 2022, 2022, 697, 697, 727, 727, 727, 727,
1907 2022, 2022, 727, 727, 435, 435, 435, 2022, 2022, 2022,
1908 435, 737, 737, 737, 737, 2022, 2022, 737, 737, 443,
1909 443, 443, 2022, 2022, 2022, 443, 751, 751, 751, 751,
1910 2022, 2022, 751, 751, 453, 453, 453, 2022, 2022, 2022,
1911 453, 759, 759, 759, 759, 2022, 2022, 759, 759, 459,
1912 459, 459, 459, 2022, 459, 2022, 459, 466, 466, 466,
1913 466, 2022, 466, 2022, 466, 774, 774, 774, 774, 2022,
1915 2022, 774, 774, 470, 470, 470, 2022, 2022, 2022, 470,
1916 786, 786, 786, 786, 2022, 2022, 786, 786, 794, 794,
1917 794, 794, 2022, 2022, 794, 794, 484, 484, 484, 484,
1918 2022, 484, 2022, 484, 812, 812, 812, 812, 2022, 2022,
1919 812, 812, 819, 819, 819, 819, 2022, 2022, 819, 819,
1920 499, 499, 499, 2022, 2022, 2022, 499, 830, 830, 830,
1921 830, 2022, 2022, 830, 830, 507, 507, 507, 507, 2022,
1922 507, 2022, 507, 841, 841, 841, 841, 2022, 2022, 841,
1923 841, 515, 515, 515, 515, 2022, 515, 2022, 515, 851,
1924 851, 851, 851, 2022, 2022, 851, 851, 858, 858, 858,
1926 858, 2022, 2022, 858, 858, 526, 526, 526, 2022, 2022,
1927 2022, 526, 866, 866, 866, 866, 2022, 2022, 866, 866,
1928 872, 872, 872, 872, 2022, 2022, 872, 872, 681, 681,
1929 681, 681, 681, 681, 681, 681, 681, 996, 996, 996,
1930 996, 996, 996, 996, 996, 996, 404, 404, 404, 404,
1931 2022, 404, 2022, 404, 697, 697, 697, 697, 2022, 2022,
1932 697, 697, 727, 727, 727, 727, 2022, 2022, 727, 727,
1933 435, 435, 435, 2022, 2022, 2022, 435, 737, 737, 737,
1934 737, 2022, 2022, 737, 737, 443, 443, 443, 2022, 2022,
1935 2022, 443, 751, 751, 751, 751, 2022, 2022, 751, 751,
1937 453, 453, 453, 453, 2022, 453, 2022, 453, 759, 759,
1938 759, 759, 2022, 2022, 759, 759, 459, 459, 459, 459,
1939 2022, 459, 2022, 459, 774, 774, 774, 774, 2022, 2022,
1940 774, 774, 470, 470, 470, 2022, 2022, 2022, 470, 1817,
1941 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1817, 1818, 1818,
1942 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1856, 1856, 1856,
1943 1856, 1856, 1856, 1856, 1856, 1856, 1859, 1859, 1859, 1859,
1944 1859, 1859, 1859, 1859, 1859, 1887, 1887, 1887, 1887, 1887,
1945 1887, 1887, 1887, 1887, 1889, 1889, 1889, 1889, 1889, 1889,
1946 1889, 1889, 1889, 143, 2022, 2022, 2022, 2022, 2022, 2022,
1948 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1949 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1950 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1951 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1952 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1953 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
1957 static yyconst flex_int16_t yy_chk[7164] =
1959 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1960 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1961 4, 10, 219, 5, 0, 9, 6, 0, 10, 7,
1962 8, 8, 8, 148, 11, 13, 13, 12, 14, 14,
1963 13, 13, 220, 14, 14, 149, 8, 17, 17, 148,
1964 13, 15, 15, 14, 15, 152, 15, 16, 16, 414,
1965 16, 149, 16, 18, 18, 414, 15, 19, 19, 19,
1966 219, 152, 16, 20, 20, 20, 23, 23, 23, 24,
1967 24, 24, 266, 19, 25, 25, 25, 332, 17, 20,
1968 220, 266, 23, 425, 332, 24, 146, 146, 146, 425,
1970 25, 147, 147, 147, 18, 21, 21, 21, 21, 21,
1971 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1972 1412, 21, 21, 21, 21, 21, 26, 26, 26, 27,
1973 27, 27, 319, 28, 28, 28, 29, 29, 29, 30,
1974 30, 30, 26, 319, 451, 27, 175, 21, 21, 28,
1975 451, 294, 29, 190, 294, 30, 151, 151, 151, 172,
1976 172, 172, 175, 180, 180, 180, 187, 187, 187, 190,
1977 21, 183, 21, 22, 22, 22, 22, 22, 22, 22,
1978 22, 22, 22, 22, 22, 22, 22, 22, 272, 22,
1979 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
1981 995, 33, 33, 33, 34, 34, 34, 35, 35, 35,
1982 31, 415, 200, 32, 170, 22, 22, 33, 211, 183,
1983 34, 183, 995, 35, 415, 36, 36, 36, 200, 185,
1984 170, 194, 194, 194, 211, 185, 272, 185, 22, 185,
1985 22, 36, 37, 37, 37, 37, 37, 37, 37, 37,
1986 37, 37, 37, 37, 37, 37, 37, 291, 37, 37,
1987 37, 37, 37, 39, 39, 39, 40, 40, 40, 170,
1988 47, 47, 47, 43, 43, 44, 44, 291, 43, 39,
1989 44, 1152, 40, 215, 37, 37, 47, 215, 43, 1152,
1990 44, 215, 37, 38, 38, 38, 38, 38, 38, 38,
1992 38, 38, 38, 38, 38, 38, 38, 38, 707, 38,
1993 38, 38, 38, 38, 43, 333, 44, 48, 48, 48,
1994 707, 49, 49, 49, 50, 50, 50, 197, 197, 197,
1995 208, 208, 208, 48, 684, 38, 38, 49, 684, 397,
1996 50, 336, 397, 38, 41, 41, 41, 41, 41, 41,
1997 41, 41, 41, 41, 41, 41, 41, 41, 41, 333,
1998 41, 41, 41, 41, 41, 51, 51, 51, 52, 52,
1999 52, 322, 53, 53, 53, 54, 54, 54, 218, 218,
2000 218, 51, 195, 205, 52, 336, 41, 41, 53, 195,
2001 205, 54, 1319, 1319, 41, 1320, 1320, 41, 195, 205,
2003 223, 223, 223, 41, 42, 42, 42, 42, 42, 42,
2004 42, 42, 42, 42, 42, 42, 42, 42, 42, 322,
2005 42, 42, 42, 42, 42, 57, 57, 57, 58, 58,
2006 58, 720, 61, 61, 61, 62, 62, 62, 388, 226,
2007 238, 57, 1156, 720, 58, 233, 42, 42, 61, 422,
2008 1156, 62, 233, 388, 42, 226, 238, 42, 232, 232,
2009 232, 233, 422, 42, 45, 45, 45, 45, 45, 45,
2010 45, 45, 45, 45, 45, 45, 45, 45, 45, 754,
2011 45, 45, 45, 45, 45, 65, 65, 65, 66, 66,
2012 66, 754, 67, 67, 67, 68, 68, 68, 69, 69,
2014 69, 65, 246, 251, 66, 1414, 45, 45, 67, 246,
2015 350, 68, 426, 1419, 69, 45, 1421, 45, 246, 251,
2016 45, 235, 235, 235, 254, 426, 45, 46, 46, 46,
2017 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
2018 46, 46, 439, 46, 46, 46, 46, 46, 70, 70,
2019 70, 73, 73, 73, 350, 74, 74, 74, 75, 75,
2020 75, 76, 76, 76, 70, 254, 263, 73, 254, 46,
2021 46, 74, 278, 1004, 75, 439, 1428, 76, 46, 1004,
2022 46, 1442, 263, 46, 245, 245, 245, 1112, 278, 46,
2023 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
2025 55, 55, 55, 55, 55, 1443, 55, 55, 55, 55,
2026 55, 77, 77, 77, 78, 78, 78, 1112, 79, 79,
2027 79, 80, 80, 80, 83, 83, 83, 77, 1444, 630,
2028 78, 1111, 55, 55, 79, 289, 304, 80, 630, 55,
2029 83, 248, 248, 248, 55, 257, 257, 257, 260, 260,
2030 260, 289, 304, 55, 56, 56, 56, 56, 56, 56,
2031 56, 56, 56, 56, 56, 56, 56, 56, 56, 1111,
2032 56, 56, 56, 56, 56, 84, 84, 84, 87, 87,
2033 87, 1445, 88, 88, 88, 91, 91, 91, 92, 92,
2034 92, 84, 1325, 1325, 87, 1294, 56, 56, 88, 314,
2036 328, 91, 1294, 56, 92, 271, 271, 271, 56, 275,
2037 275, 275, 283, 283, 283, 314, 328, 56, 59, 59,
2038 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
2039 59, 59, 59, 1448, 59, 59, 59, 59, 59, 95,
2040 95, 95, 96, 96, 96, 875, 97, 97, 97, 98,
2041 98, 98, 99, 99, 99, 95, 284, 428, 96, 1451,
2042 59, 59, 97, 284, 875, 98, 1232, 1433, 99, 1295,
2043 428, 59, 284, 286, 286, 286, 1295, 59, 1452, 59,
2044 59, 60, 60, 60, 60, 60, 60, 60, 60, 60,
2045 60, 60, 60, 60, 60, 60, 1433, 60, 60, 60,
2047 60, 60, 100, 100, 100, 101, 101, 101, 1232, 102,
2048 102, 102, 105, 105, 105, 106, 106, 106, 100, 1326,
2049 1326, 101, 299, 60, 60, 102, 539, 1230, 105, 299,
2050 1453, 106, 1315, 1230, 60, 298, 298, 298, 299, 1315,
2051 60, 539, 60, 60, 63, 63, 63, 63, 63, 63,
2052 63, 63, 63, 63, 63, 63, 63, 63, 63, 1434,
2053 63, 63, 63, 63, 63, 107, 107, 107, 108, 108,
2054 108, 1454, 109, 109, 109, 110, 110, 110, 111, 111,
2055 111, 107, 1455, 1316, 108, 309, 63, 63, 109, 342,
2056 1316, 110, 309, 1434, 111, 301, 301, 301, 308, 308,
2058 308, 309, 311, 311, 311, 342, 63, 64, 64, 64,
2059 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
2060 64, 64, 1456, 64, 64, 64, 64, 64, 112, 112,
2061 112, 115, 115, 115, 1457, 116, 116, 116, 117, 117,
2062 117, 118, 118, 118, 112, 1458, 1338, 115, 1459, 64,
2063 64, 116, 356, 1413, 117, 1413, 1460, 118, 321, 321,
2064 321, 325, 325, 325, 335, 335, 335, 1461, 356, 64,
2065 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2066 71, 71, 71, 71, 71, 1338, 71, 71, 71, 71,
2067 71, 119, 119, 119, 120, 120, 120, 1465, 121, 121,
2069 121, 122, 122, 122, 125, 125, 125, 119, 366, 361,
2070 120, 381, 71, 71, 121, 71, 361, 122, 1466, 1415,
2071 125, 1415, 1467, 71, 366, 361, 71, 381, 1339, 71,
2072 1468, 1470, 71, 72, 72, 72, 72, 72, 72, 72,
2073 72, 72, 72, 72, 72, 72, 72, 72, 1477, 72,
2074 72, 72, 72, 72, 126, 126, 126, 129, 129, 129,
2075 1478, 130, 130, 130, 131, 131, 131, 132, 132, 132,
2076 126, 1339, 386, 129, 1479, 72, 72, 130, 72, 386,
2077 131, 1050, 1420, 132, 1420, 1480, 72, 1050, 386, 72,
2078 1050, 1422, 72, 1422, 1050, 72, 81, 81, 81, 81,
2080 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
2081 81, 374, 81, 81, 81, 81, 81, 133, 133, 133,
2082 134, 134, 134, 1482, 135, 135, 135, 136, 136, 136,
2083 139, 139, 139, 133, 1485, 1051, 134, 1486, 81, 81,
2084 135, 1051, 1487, 136, 1051, 374, 139, 162, 1051, 81,
2085 339, 339, 339, 349, 349, 349, 353, 353, 353, 374,
2086 1488, 81, 82, 82, 82, 82, 82, 82, 82, 82,
2087 82, 82, 82, 82, 82, 82, 82, 1489, 82, 82,
2088 82, 82, 82, 140, 140, 140, 162, 360, 360, 360,
2089 1490, 1495, 162, 363, 363, 363, 162, 1496, 1497, 140,
2091 1498, 162, 1499, 1500, 82, 82, 373, 373, 373, 378,
2092 378, 378, 385, 385, 385, 82, 387, 387, 387, 542,
2093 542, 542, 1521, 542, 710, 710, 710, 82, 85, 85,
2094 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2095 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2096 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2097 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2098 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2099 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2100 85, 85, 85, 85, 85, 85, 85, 89, 89, 89,
2102 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2103 89, 89, 1513, 89, 89, 89, 89, 89, 396, 396,
2104 396, 437, 437, 437, 445, 445, 445, 460, 460, 460,
2105 472, 472, 472, 718, 718, 718, 1522, 1523, 437, 89,
2106 89, 445, 1524, 1529, 460, 1530, 1531, 472, 1513, 1231,
2107 89, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2108 90, 90, 90, 90, 90, 90, 1514, 90, 90, 90,
2109 90, 90, 1532, 396, 480, 480, 480, 1231, 486, 486,
2110 486, 487, 487, 487, 496, 496, 496, 888, 888, 888,
2111 1527, 480, 1533, 90, 90, 486, 1534, 1535, 487, 1536,
2113 1514, 496, 1527, 1515, 90, 93, 93, 93, 93, 93,
2114 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
2115 1537, 93, 93, 93, 93, 93, 501, 501, 501, 523,
2116 523, 523, 553, 553, 553, 554, 554, 554, 581, 581,
2117 581, 1110, 1515, 501, 1538, 1539, 523, 93, 93, 1541,
2118 553, 93, 1542, 554, 1543, 1551, 581, 1110, 93, 1552,
2119 93, 893, 893, 893, 896, 896, 896, 93, 94, 94,
2120 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2121 94, 94, 94, 1553, 94, 94, 94, 94, 94, 554,
2122 582, 582, 582, 1558, 1528, 584, 584, 584, 585, 585,
2124 585, 1559, 585, 1560, 1561, 585, 1528, 1562, 582, 1563,
2125 94, 94, 584, 1568, 94, 593, 593, 593, 1569, 593,
2126 1570, 94, 593, 94, 900, 900, 900, 904, 904, 904,
2127 94, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2128 103, 103, 103, 103, 103, 103, 582, 103, 103, 103,
2129 103, 103, 588, 588, 588, 1571, 1572, 589, 589, 589,
2130 592, 592, 592, 594, 594, 594, 596, 596, 596, 1573,
2131 588, 1586, 1594, 103, 103, 589, 103, 592, 1587, 103,
2132 594, 1565, 1566, 596, 607, 607, 607, 1596, 607, 1565,
2133 1566, 607, 1585, 103, 104, 104, 104, 104, 104, 104,
2135 104, 104, 104, 104, 104, 104, 104, 104, 104, 1586,
2136 104, 104, 104, 104, 104, 1599, 1587, 589, 1585, 1600,
2137 598, 598, 598, 604, 604, 604, 1601, 1602, 599, 599,
2138 599, 605, 605, 605, 1603, 1604, 104, 104, 598, 104,
2139 1605, 604, 104, 618, 618, 618, 599, 618, 1606, 605,
2140 618, 930, 930, 930, 1607, 1609, 104, 113, 113, 113,
2141 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
2142 113, 113, 599, 113, 113, 113, 113, 113, 606, 606,
2143 606, 1610, 1611, 611, 611, 611, 614, 614, 614, 1612,
2144 1616, 605, 617, 617, 617, 606, 612, 612, 612, 113,
2146 113, 611, 113, 1617, 614, 113, 1009, 1009, 1009, 617,
2147 113, 626, 626, 626, 612, 626, 1621, 1623, 626, 113,
2148 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
2149 114, 114, 114, 114, 114, 1627, 114, 114, 114, 114,
2150 114, 615, 615, 615, 612, 1628, 623, 623, 623, 624,
2151 624, 624, 625, 625, 625, 1629, 628, 628, 628, 615,
2152 1630, 1631, 114, 114, 623, 114, 1632, 624, 114, 625,
2153 1011, 1011, 1011, 114, 628, 1015, 1015, 1015, 1021, 1021,
2154 1021, 1633, 114, 123, 123, 123, 123, 123, 123, 123,
2155 123, 123, 123, 123, 123, 123, 123, 123, 615, 123,
2157 123, 123, 123, 123, 1634, 1635, 624, 1636, 1638, 629,
2158 629, 629, 631, 631, 631, 632, 632, 632, 1639, 632,
2159 1640, 1641, 632, 1642, 1643, 123, 123, 629, 1656, 631,
2160 1022, 1022, 1022, 1047, 1047, 1047, 123, 124, 124, 124,
2161 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
2162 124, 124, 1650, 124, 124, 124, 124, 124, 633, 633,
2163 633, 634, 634, 634, 1658, 634, 1662, 1663, 634, 629,
2164 635, 635, 635, 1664, 1665, 633, 1126, 1126, 1126, 124,
2165 124, 643, 643, 643, 1650, 643, 1667, 635, 643, 1668,
2166 124, 127, 127, 127, 127, 127, 127, 127, 127, 127,
2168 127, 127, 127, 127, 127, 127, 1669, 127, 127, 127,
2169 127, 127, 640, 640, 640, 642, 642, 642, 644, 644,
2170 644, 641, 641, 641, 645, 645, 645, 647, 647, 647,
2171 640, 1670, 642, 127, 127, 1649, 644, 1671, 1672, 641,
2172 1673, 127, 645, 127, 647, 127, 1127, 1127, 1127, 1129,
2173 1129, 1129, 1674, 127, 128, 128, 128, 128, 128, 128,
2174 128, 128, 128, 128, 128, 128, 128, 128, 128, 1678,
2175 128, 128, 128, 128, 128, 641, 648, 648, 648, 1649,
2176 648, 645, 1680, 648, 652, 652, 652, 653, 653, 653,
2177 655, 655, 655, 656, 656, 656, 128, 128, 662, 662,
2179 662, 1681, 652, 1684, 128, 653, 128, 655, 128, 1685,
2180 656, 1130, 1130, 1130, 1686, 662, 128, 137, 137, 137,
2181 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
2182 137, 137, 1687, 137, 137, 137, 137, 137, 1688, 653,
2183 659, 659, 659, 1689, 664, 664, 664, 660, 660, 660,
2184 665, 665, 665, 666, 666, 666, 1679, 1679, 659, 137,
2185 137, 664, 667, 667, 667, 660, 1690, 1691, 665, 1692,
2186 1693, 666, 1694, 668, 668, 668, 1696, 668, 1697, 667,
2187 668, 1698, 137, 138, 138, 138, 138, 138, 138, 138,
2188 138, 138, 138, 138, 138, 138, 138, 138, 1699, 138,
2190 138, 138, 138, 138, 660, 669, 669, 669, 1700, 1701,
2191 666, 670, 670, 670, 675, 675, 675, 676, 676, 676,
2192 679, 679, 679, 669, 1710, 138, 138, 1704, 1711, 670,
2193 1712, 1713, 675, 1716, 1717, 676, 1719, 1720, 679, 680,
2194 680, 680, 696, 696, 696, 725, 725, 725, 138, 181,
2195 697, 697, 697, 890, 890, 890, 181, 680, 1704, 1721,
2196 696, 1723, 725, 670, 1728, 181, 1729, 890, 697, 699,
2197 699, 699, 1730, 726, 726, 726, 1731, 676, 727, 727,
2198 727, 1737, 1738, 729, 729, 729, 1739, 699, 1740, 1741,
2199 181, 726, 181, 1742, 1744, 181, 727, 181, 181, 680,
2201 181, 729, 1746, 1749, 181, 1750, 181, 181, 181, 182,
2202 730, 730, 730, 699, 1751, 1752, 182, 731, 731, 731,
2203 1753, 731, 1754, 1761, 731, 182, 1769, 730, 1770, 729,
2204 734, 734, 734, 736, 736, 736, 737, 737, 737, 1771,
2205 1772, 739, 739, 739, 744, 744, 744, 734, 1776, 1777,
2206 182, 736, 182, 1778, 737, 182, 1779, 182, 182, 739,
2207 182, 744, 1761, 1780, 182, 1781, 182, 182, 182, 741,
2208 741, 741, 1783, 741, 1784, 1785, 741, 745, 745, 745,
2209 1786, 745, 1791, 1792, 745, 739, 1793, 734, 746, 746,
2210 746, 747, 747, 747, 748, 748, 748, 1794, 748, 1795,
2212 1796, 748, 750, 750, 750, 746, 1799, 1800, 747, 751,
2213 751, 751, 753, 753, 753, 756, 756, 756, 1801, 1802,
2214 750, 758, 758, 758, 759, 759, 759, 751, 1803, 1804,
2215 753, 1819, 756, 761, 761, 761, 762, 762, 762, 758,
2216 762, 1821, 759, 762, 768, 768, 768, 769, 769, 769,
2217 1824, 761, 771, 771, 771, 773, 773, 773, 774, 774,
2218 774, 1815, 768, 1816, 1813, 769, 1825, 1827, 753, 1828,
2219 771, 1831, 1832, 773, 1816, 1815, 774, 761, 776, 776,
2220 776, 778, 778, 778, 1833, 778, 1834, 1841, 778, 785,
2221 785, 785, 786, 786, 786, 1842, 776, 788, 788, 788,
2223 1844, 789, 789, 789, 1845, 789, 1813, 785, 789, 1847,
2224 786, 793, 793, 793, 771, 788, 794, 794, 794, 796,
2225 796, 796, 1848, 799, 799, 799, 1850, 799, 1851, 793,
2226 799, 805, 805, 805, 794, 1858, 1839, 796, 776, 802,
2227 802, 802, 1855, 802, 1840, 1860, 802, 1839, 805, 806,
2228 806, 806, 1862, 806, 1863, 1840, 806, 1856, 788, 811,
2229 811, 811, 812, 812, 812, 814, 814, 814, 815, 815,
2230 815, 1856, 815, 1857, 1857, 815, 796, 811, 1872, 1855,
2231 812, 1873, 1874, 814, 818, 818, 818, 819, 819, 819,
2232 821, 821, 821, 823, 823, 823, 1859, 823, 1875, 1887,
2234 823, 1888, 818, 1889, 1891, 819, 1892, 1859, 821, 829,
2235 829, 829, 830, 830, 830, 832, 832, 832, 834, 834,
2236 834, 1899, 835, 835, 835, 1902, 835, 829, 814, 835,
2237 830, 1903, 1904, 832, 1905, 834, 1909, 836, 836, 836,
2238 837, 837, 837, 1921, 837, 1925, 1926, 837, 840, 840,
2239 840, 1927, 1928, 821, 836, 841, 841, 841, 843, 843,
2240 843, 845, 845, 845, 1933, 1931, 840, 1934, 846, 846,
2241 846, 832, 846, 841, 1935, 846, 843, 1936, 845, 848,
2242 848, 848, 849, 849, 849, 1937, 849, 1931, 1940, 849,
2243 850, 850, 850, 851, 851, 851, 848, 853, 853, 853,
2245 854, 854, 854, 1941, 854, 1942, 1940, 854, 850, 1943,
2246 1944, 851, 857, 857, 857, 853, 858, 858, 858, 1945,
2247 1948, 843, 860, 860, 860, 862, 862, 862, 1950, 1951,
2248 857, 865, 865, 865, 858, 866, 866, 866, 1952, 1948,
2249 860, 1953, 862, 868, 868, 868, 871, 871, 871, 865,
2250 872, 872, 872, 866, 874, 874, 874, 876, 876, 876,
2251 853, 868, 1959, 1961, 871, 884, 884, 884, 872, 911,
2252 911, 911, 874, 1411, 1979, 876, 876, 1983, 860, 901,
2253 901, 901, 1980, 884, 1956, 1965, 911, 912, 912, 912,
2254 1956, 912, 1991, 901, 912, 913, 913, 913, 1965, 1987,
2256 868, 914, 914, 914, 874, 915, 915, 915, 2013, 915,
2257 1984, 1983, 915, 913, 918, 918, 918, 1979, 914, 920,
2258 920, 920, 1997, 920, 1991, 1980, 920, 884, 923, 923,
2259 923, 1410, 918, 924, 924, 924, 1987, 924, 1992, 1409,
2260 924, 929, 929, 929, 1984, 923, 925, 925, 925, 913,
2261 925, 1408, 2013, 925, 932, 932, 932, 1988, 1998, 929,
2262 918, 933, 933, 933, 1997, 933, 2007, 2014, 933, 2008,
2263 1992, 932, 934, 934, 934, 935, 935, 935, 939, 939,
2264 939, 941, 941, 941, 945, 945, 945, 1407, 929, 934,
2265 946, 946, 946, 935, 1988, 2007, 939, 2005, 2008, 941,
2267 1998, 945, 947, 947, 947, 2017, 2006, 946, 948, 948,
2268 948, 2014, 949, 949, 949, 950, 950, 950, 2011, 2017,
2269 947, 935, 951, 951, 951, 948, 955, 955, 955, 941,
2270 949, 2005, 950, 946, 952, 952, 952, 2012, 952, 951,
2271 2006, 952, 1406, 955, 956, 956, 956, 2011, 957, 957,
2272 957, 958, 958, 958, 959, 959, 959, 960, 960, 960,
2273 2009, 956, 2010, 1405, 947, 957, 2012, 1394, 958, 2009,
2274 949, 2010, 959, 1393, 2015, 960, 1392, 964, 964, 964,
2275 965, 965, 965, 1391, 951, 2016, 967, 967, 967, 2018,
2276 967, 1390, 957, 967, 964, 970, 970, 970, 965, 970,
2278 2018, 1389, 970, 2015, 974, 974, 974, 975, 975, 975,
2279 956, 987, 987, 987, 2016, 959, 1388, 958, 974, 960,
2280 964, 1387, 977, 977, 977, 975, 977, 1381, 987, 977,
2281 981, 981, 981, 965, 981, 1380, 1379, 981, 984, 984,
2282 984, 985, 985, 985, 988, 988, 988, 1378, 988, 1377,
2283 1376, 988, 991, 991, 991, 1375, 984, 1374, 1373, 985,
2284 993, 993, 993, 994, 994, 994, 997, 997, 997, 975,
2285 991, 1005, 1005, 1005, 1017, 1017, 1017, 993, 1018, 1018,
2286 1018, 994, 1372, 1366, 997, 1024, 1024, 1024, 1017, 1005,
2287 1363, 1361, 1018, 1359, 985, 1025, 1025, 1025, 991, 1024,
2289 984, 1027, 1027, 1027, 1029, 1029, 1029, 1355, 1354, 1025,
2290 1030, 1030, 1030, 1335, 997, 1027, 1333, 1332, 1029, 1322,
2291 1005, 1031, 1031, 1031, 1030, 1031, 994, 1317, 1031, 1314,
2292 997, 1034, 1034, 1034, 1017, 1035, 1035, 1035, 1313, 1035,
2293 1310, 1296, 1035, 1293, 1292, 1024, 1052, 1052, 1052, 1034,
2294 1040, 1040, 1040, 1042, 1042, 1042, 1291, 1042, 1277, 1276,
2295 1042, 1027, 1275, 1052, 1029, 1046, 1046, 1046, 1040, 1049,
2296 1049, 1049, 1274, 1049, 1273, 1272, 1049, 1053, 1053, 1053,
2297 1271, 1053, 1270, 1046, 1053, 1054, 1054, 1054, 1055, 1055,
2298 1055, 1056, 1056, 1056, 1034, 1057, 1057, 1057, 1040, 1058,
2300 1058, 1058, 1269, 1054, 1268, 1055, 1264, 1263, 1056, 1060,
2301 1060, 1060, 1057, 1061, 1061, 1061, 1260, 1058, 1065, 1065,
2302 1065, 1259, 1046, 1066, 1066, 1066, 1060, 1066, 1257, 1255,
2303 1066, 1061, 1249, 1054, 1247, 1065, 1067, 1067, 1067, 1068,
2304 1068, 1068, 1244, 1068, 1243, 1056, 1068, 1070, 1070, 1070,
2305 1071, 1071, 1071, 1067, 1072, 1072, 1072, 1061, 1072, 1239,
2306 1233, 1072, 1073, 1073, 1073, 1070, 1225, 1071, 1074, 1074,
2307 1074, 1075, 1075, 1075, 1223, 1075, 1222, 1221, 1075, 1214,
2308 1073, 1076, 1076, 1076, 1208, 1074, 1077, 1077, 1077, 1078,
2309 1078, 1078, 1207, 1078, 1206, 1204, 1078, 1202, 1076, 1079,
2311 1079, 1079, 1179, 1077, 1080, 1080, 1080, 1081, 1081, 1081,
2312 1082, 1082, 1082, 1083, 1083, 1083, 1079, 1087, 1087, 1087,
2313 1178, 1080, 1177, 1172, 1081, 1088, 1088, 1088, 1082, 1088,
2314 1171, 1083, 1088, 1170, 1087, 1090, 1090, 1090, 1091, 1091,
2315 1091, 1157, 1092, 1092, 1092, 1094, 1094, 1094, 1095, 1095,
2316 1095, 1155, 1154, 1090, 1153, 1091, 1151, 1150, 1080, 1092,
2317 1147, 1083, 1146, 1094, 1144, 1095, 1096, 1096, 1096, 1097,
2318 1097, 1097, 1082, 1143, 1098, 1098, 1098, 1100, 1100, 1100,
2319 1141, 1100, 1140, 1096, 1100, 1139, 1137, 1097, 1098, 1105,
2320 1105, 1105, 1098, 1094, 1107, 1107, 1107, 1108, 1108, 1108,
2322 1133, 1108, 1092, 1132, 1108, 1131, 1128, 1105, 1125, 1096,
2323 1124, 1107, 1109, 1109, 1109, 1123, 1122, 1097, 1115, 1115,
2324 1115, 1116, 1116, 1116, 1117, 1117, 1117, 1118, 1118, 1118,
2325 1109, 1134, 1134, 1134, 1121, 1115, 1120, 1105, 1116, 1119,
2326 1114, 1117, 1135, 1135, 1135, 1118, 1136, 1136, 1136, 1138,
2327 1138, 1138, 1142, 1142, 1142, 1106, 1145, 1145, 1145, 1148,
2328 1148, 1148, 1149, 1149, 1149, 1104, 1103, 1109, 1099, 1093,
2329 1142, 1089, 1086, 1116, 1145, 1085, 1084, 1148, 1069, 1149,
2330 1064, 1117, 1063, 1062, 1118, 1158, 1158, 1158, 1048, 1158,
2331 1045, 1041, 1158, 1161, 1161, 1161, 1162, 1162, 1162, 1142,
2333 1039, 1163, 1163, 1163, 1038, 1163, 1028, 1161, 1163, 1026,
2334 1023, 1161, 1020, 1162, 1148, 1164, 1164, 1164, 1165, 1165,
2335 1165, 1166, 1166, 1166, 1019, 1166, 1016, 1014, 1166, 1167,
2336 1167, 1167, 1164, 1013, 1012, 1165, 1168, 1168, 1168, 1010,
2337 1168, 1008, 1007, 1168, 1006, 1003, 1167, 1169, 1169, 1169,
2338 1173, 1173, 1173, 1002, 1173, 999, 996, 1173, 992, 1176,
2339 1176, 1176, 990, 1176, 989, 1169, 1176, 1180, 1180, 1180,
2340 1182, 1182, 1182, 986, 1182, 980, 976, 1182, 1185, 1185,
2341 1185, 973, 1187, 1187, 1187, 1180, 1187, 966, 963, 1187,
2342 1190, 1190, 1190, 1169, 962, 961, 1185, 1191, 1191, 1191,
2344 944, 1191, 943, 942, 1191, 940, 938, 1190, 1192, 1192,
2345 1192, 937, 1192, 936, 931, 1192, 1195, 1195, 1195, 1196,
2346 1196, 1196, 928, 1196, 919, 917, 1196, 1197, 1197, 1197,
2347 1198, 1198, 1198, 1195, 1199, 1199, 1199, 916, 1199, 910,
2348 909, 1199, 908, 907, 1197, 906, 905, 1198, 1200, 1200,
2349 1200, 1201, 1201, 1201, 1203, 1203, 1203, 1205, 1205, 1205,
2350 903, 1205, 902, 899, 1205, 898, 1200, 897, 895, 1201,
2351 894, 1203, 1209, 1209, 1209, 1211, 1211, 1211, 1212, 1212,
2352 1212, 892, 1212, 891, 889, 1212, 1213, 1213, 1213, 887,
2353 1209, 886, 1211, 1216, 1216, 1216, 1200, 1203, 1215, 1215,
2355 1215, 885, 883, 1213, 1218, 1218, 1218, 1219, 1219, 1219,
2356 1216, 1201, 1215, 1217, 1217, 1217, 1215, 1217, 882, 881,
2357 1217, 1218, 1220, 1220, 1220, 1219, 1224, 1224, 1224, 1226,
2358 1226, 1226, 880, 1226, 879, 870, 1226, 869, 1213, 864,
2359 1220, 1229, 1229, 1229, 1224, 1234, 1234, 1234, 1235, 1235,
2360 1235, 863, 1235, 861, 847, 1235, 1236, 1236, 1236, 1229,
2361 844, 1218, 1234, 1237, 1237, 1237, 839, 838, 1220, 833,
2362 1238, 1238, 1238, 1236, 1240, 1240, 1240, 1241, 1241, 1241,
2363 1237, 1242, 1242, 1242, 1245, 1245, 1245, 1224, 1238, 1229,
2364 1246, 1246, 1246, 1248, 1248, 1248, 1250, 1250, 1250, 1251,
2366 1251, 1251, 1252, 1252, 1252, 1253, 1253, 1253, 1254, 1254,
2367 1254, 828, 1236, 1256, 1256, 1256, 1258, 1258, 1258, 1261,
2368 1261, 1261, 1265, 1265, 1265, 827, 1237, 1266, 1266, 1266,
2369 1238, 1267, 1267, 1267, 1258, 1267, 826, 1261, 1267, 822,
2370 1265, 1278, 1278, 1278, 1266, 1279, 1279, 1279, 810, 1279,
2371 809, 808, 1279, 1282, 1282, 1282, 1283, 1283, 1283, 1278,
2372 1283, 807, 798, 1283, 1258, 1284, 1284, 1284, 797, 1284,
2373 1282, 792, 1284, 1287, 1287, 1287, 784, 1287, 783, 782,
2374 1287, 1290, 1290, 1290, 1297, 1297, 1297, 1278, 1297, 781,
2375 777, 1297, 772, 1300, 1300, 1300, 767, 1300, 766, 1290,
2377 1300, 1303, 1303, 1303, 1304, 1304, 1304, 765, 1304, 757,
2378 755, 1304, 1305, 1305, 1305, 749, 1305, 740, 1303, 1305,
2379 1308, 1308, 1308, 1309, 1309, 1309, 1311, 1311, 1311, 1312,
2380 1312, 1312, 1290, 1312, 735, 724, 1312, 723, 1308, 722,
2381 721, 1309, 719, 1311, 1318, 1318, 1318, 717, 1318, 716,
2382 715, 1318, 1321, 1321, 1321, 1323, 1323, 1323, 1324, 1324,
2383 1324, 714, 1324, 713, 712, 1324, 1327, 1327, 1327, 1321,
2384 1328, 1328, 1328, 1323, 1330, 1330, 1330, 1331, 1331, 1331,
2385 1308, 711, 709, 1327, 1334, 1334, 1334, 708, 1328, 1337,
2386 1337, 1337, 1330, 706, 1331, 1336, 1336, 1336, 1321, 1340,
2388 1340, 1340, 1334, 705, 1341, 1341, 1341, 1337, 1341, 704,
2389 1323, 1341, 703, 1336, 1344, 1344, 1344, 1345, 1345, 1345,
2390 702, 701, 1327, 1346, 1346, 1346, 1347, 1347, 1347, 700,
2391 695, 1344, 694, 693, 1345, 692, 1330, 1348, 1348, 1348,
2392 689, 1346, 1349, 1349, 1349, 1334, 1350, 1350, 1350, 688,
2393 687, 1336, 1351, 1351, 1351, 1352, 1352, 1352, 1353, 1353,
2394 1353, 1356, 1356, 1356, 1357, 1357, 1357, 1344, 1358, 1358,
2395 1358, 1360, 1360, 1360, 1362, 1362, 1362, 685, 1346, 1345,
2396 1365, 1365, 1365, 1367, 1367, 1367, 1369, 1369, 1369, 681,
2397 1369, 678, 1362, 1369, 1382, 1382, 1382, 1365, 1383, 1383,
2399 1383, 1367, 1383, 677, 674, 1383, 1386, 1386, 1386, 1395,
2400 1395, 1395, 1382, 1395, 673, 672, 1395, 1398, 1398, 1398,
2401 1399, 1399, 1399, 671, 1386, 1401, 1401, 1401, 663, 1402,
2402 1402, 1402, 661, 1402, 658, 1398, 1402, 657, 1399, 1416,
2403 1416, 1416, 1401, 1417, 1417, 1417, 1418, 1418, 1418, 654,
2404 651, 1382, 1423, 1423, 1423, 650, 1416, 1424, 1424, 1424,
2405 1425, 1425, 1425, 649, 1418, 1427, 1427, 1427, 1401, 1423,
2406 646, 639, 1426, 1426, 1426, 1424, 1426, 1425, 638, 1426,
2407 637, 636, 1427, 1429, 1429, 1429, 1430, 1430, 1430, 1431,
2408 1431, 1431, 1432, 1432, 1432, 1423, 1435, 1435, 1435, 627,
2410 622, 1429, 1436, 1436, 1436, 621, 620, 1431, 619, 1418,
2411 1432, 616, 613, 1424, 1437, 1437, 1437, 610, 609, 1436,
2412 1438, 1438, 1438, 1439, 1439, 1439, 1440, 1440, 1440, 608,
2413 603, 1437, 1441, 1441, 1441, 1446, 1446, 1446, 1438, 1449,
2414 1449, 1449, 1450, 1450, 1450, 602, 1450, 601, 600, 1450,
2415 1432, 1431, 597, 1446, 595, 591, 1449, 1462, 1462, 1462,
2416 587, 586, 1437, 1463, 1463, 1463, 1472, 1472, 1472, 1473,
2417 1473, 1473, 1475, 1475, 1475, 1462, 583, 580, 1476, 1476,
2418 1476, 1463, 1476, 1472, 579, 1476, 578, 1473, 577, 1475,
2419 1484, 1484, 1484, 1491, 1491, 1491, 1492, 1492, 1492, 576,
2421 1492, 575, 574, 1492, 1493, 1493, 1493, 1484, 573, 572,
2422 1491, 571, 570, 1462, 1494, 1494, 1494, 1501, 1501, 1501,
2423 1502, 1502, 1502, 1503, 1503, 1503, 569, 1503, 568, 567,
2424 1503, 566, 1494, 565, 1501, 1506, 1506, 1506, 1502, 1507,
2425 1507, 1507, 564, 1507, 563, 562, 1507, 561, 1508, 1508,
2426 1508, 560, 1506, 1509, 1509, 1509, 1511, 1511, 1511, 1512,
2427 1512, 1512, 559, 558, 1501, 1508, 557, 556, 1494, 555,
2428 552, 1509, 1516, 1516, 1516, 551, 550, 1512, 1501, 1517,
2429 1517, 1517, 548, 1517, 547, 546, 1517, 545, 544, 1516,
2430 1518, 1518, 1518, 1519, 1519, 1519, 1525, 1525, 1525, 1526,
2432 1526, 1526, 540, 1526, 538, 537, 1526, 1518, 1540, 1540,
2433 1540, 1519, 536, 1525, 1546, 1546, 1546, 1547, 1547, 1547,
2434 535, 1547, 532, 531, 1547, 530, 1540, 529, 1548, 1548,
2435 1548, 1546, 1548, 528, 527, 1548, 1556, 1556, 1556, 1557,
2436 1557, 1557, 524, 1557, 520, 519, 1557, 1564, 1564, 1564,
2437 518, 1564, 517, 1556, 1564, 1567, 1567, 1567, 1574, 1574,
2438 1574, 1575, 1575, 1575, 1540, 1576, 1576, 1576, 516, 513,
2439 1578, 1578, 1578, 1567, 1578, 1574, 512, 1578, 1575, 1581,
2440 1581, 1581, 511, 1576, 1582, 1582, 1582, 510, 1582, 509,
2441 508, 1582, 1583, 1583, 1583, 505, 1581, 1588, 1588, 1588,
2443 504, 1588, 503, 502, 1588, 1591, 1591, 1591, 500, 497,
2444 1583, 1592, 1592, 1592, 493, 1592, 492, 1567, 1592, 1574,
2445 491, 1575, 1591, 1593, 1593, 1593, 1595, 1595, 1595, 1597,
2446 1597, 1597, 1598, 1598, 1598, 490, 1598, 489, 488, 1598,
2447 1614, 1614, 1614, 1615, 1615, 1615, 1597, 1618, 1618, 1618,
2448 485, 1618, 482, 481, 1618, 1622, 1622, 1622, 1614, 477,
2449 1615, 1624, 1624, 1624, 476, 1624, 475, 474, 1624, 1637,
2450 1637, 1637, 1622, 1644, 1644, 1644, 1645, 1645, 1645, 1655,
2451 1655, 1655, 1651, 1651, 1651, 473, 1615, 1637, 1614, 471,
2452 1644, 468, 467, 1645, 1646, 1646, 1646, 464, 1646, 1651,
2454 1651, 1646, 1652, 1652, 1652, 463, 1652, 462, 461, 1652,
2455 1657, 1657, 1657, 1659, 1659, 1659, 457, 1659, 456, 455,
2456 1659, 1637, 1645, 1666, 1666, 1666, 1675, 1675, 1675, 1676,
2457 1676, 1676, 1677, 1677, 1677, 1644, 1677, 454, 450, 1677,
2458 1666, 1682, 1682, 1682, 1675, 449, 1676, 1683, 1683, 1683,
2459 448, 1683, 447, 446, 1683, 1695, 1695, 1695, 1682, 1702,
2460 1702, 1702, 1703, 1703, 1703, 1705, 1705, 1705, 1706, 1706,
2461 1706, 444, 1675, 1695, 441, 440, 1702, 438, 436, 1703,
2462 433, 432, 1705, 1705, 429, 1706, 1706, 427, 1707, 1707,
2463 1707, 424, 1707, 423, 421, 1707, 1708, 1708, 1708, 1709,
2465 1709, 1709, 1702, 420, 419, 1703, 1707, 1714, 1714, 1714,
2466 1715, 1715, 1715, 418, 1715, 417, 416, 1715, 1724, 1724,
2467 1724, 1725, 1725, 1725, 1714, 1725, 413, 412, 1725, 1732,
2468 1732, 1732, 411, 1733, 1733, 1733, 1724, 1733, 410, 409,
2469 1733, 1736, 1736, 1736, 408, 407, 1732, 1747, 1747, 1747,
2470 1755, 1755, 1755, 1756, 1756, 1756, 406, 1756, 1736, 405,
2471 1756, 1757, 1757, 1757, 402, 1747, 401, 1755, 1758, 1758,
2472 1758, 400, 1759, 1759, 1759, 399, 1759, 398, 1757, 1759,
2473 1724, 1760, 1760, 1760, 392, 1758, 1762, 1762, 1762, 1763,
2474 1763, 1763, 391, 1763, 389, 383, 1763, 379, 1760, 1767,
2476 1767, 1767, 376, 1762, 1762, 375, 371, 1763, 370, 1764,
2477 1764, 1764, 369, 1764, 368, 364, 1764, 1768, 1768, 1768,
2478 358, 1773, 1773, 1773, 354, 1773, 1757, 1764, 1773, 1788,
2479 1788, 1788, 351, 1788, 347, 346, 1788, 345, 1782, 1782,
2480 1782, 344, 1787, 1787, 1787, 340, 1760, 1765, 1765, 1765,
2481 1765, 1765, 1765, 1765, 1765, 1765, 1782, 337, 1765, 1787,
2482 1789, 1789, 1789, 1765, 1765, 1765, 1765, 1765, 1790, 1790,
2483 1790, 331, 1790, 330, 326, 1790, 323, 1789, 1805, 1805,
2484 1805, 318, 1805, 317, 316, 1805, 1808, 1808, 1808, 1765,
2485 1765, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766, 1766,
2487 312, 306, 1766, 1808, 1812, 1812, 1812, 1766, 1766, 1766,
2488 1766, 1766, 1809, 1809, 1809, 302, 1809, 296, 295, 1809,
2489 293, 1812, 1814, 1814, 1814, 292, 1814, 287, 281, 1814,
2490 1829, 1829, 1829, 1766, 1766, 1835, 1835, 1835, 1808, 1835,
2491 1814, 280, 1835, 1838, 1838, 1838, 276, 1838, 1829, 273,
2492 1838, 269, 1853, 1853, 1853, 268, 1812, 1817, 1817, 1817,
2493 1817, 1817, 1817, 1817, 1817, 1817, 267, 265, 1817, 1853,
2494 1854, 1854, 1854, 1817, 1817, 1817, 1817, 1817, 1861, 1861,
2495 1861, 1868, 1868, 1868, 1894, 1894, 1894, 1854, 1894, 261,
2496 258, 1894, 255, 1869, 1869, 1869, 1861, 1861, 1868, 1817,
2498 1817, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818, 1818,
2499 1869, 253, 1818, 249, 1853, 243, 242, 1818, 1818, 1818,
2500 1818, 1818, 1870, 1870, 1870, 1871, 1871, 1871, 1884, 1884,
2501 1884, 241, 1854, 1885, 1885, 1885, 1886, 1886, 1886, 1870,
2502 240, 236, 1871, 1818, 1818, 1884, 1890, 1890, 1890, 230,
2503 1885, 1893, 1893, 1893, 1886, 1895, 1895, 1895, 229, 1896,
2504 1896, 1896, 228, 1896, 1890, 1870, 1896, 224, 1893, 1897,
2505 1897, 1897, 1895, 1898, 1898, 1898, 221, 1898, 216, 1884,
2506 1898, 1900, 1900, 1900, 1885, 214, 1897, 213, 1901, 1901,
2507 1901, 209, 1901, 206, 1890, 1901, 204, 203, 1900, 1906,
2509 1906, 1906, 1907, 1907, 1907, 1908, 1908, 1908, 1912, 1912,
2510 1912, 202, 1912, 198, 192, 1912, 1906, 188, 184, 1907,
2511 1915, 1915, 1915, 1908, 1915, 178, 177, 1915, 1918, 1918,
2512 1918, 173, 1918, 169, 168, 1918, 1922, 1922, 1922, 167,
2513 1922, 1908, 1906, 1922, 161, 1907, 1929, 1929, 1929, 1930,
2514 1930, 1930, 1938, 1938, 1938, 1939, 1939, 1939, 1946, 1946,
2515 1946, 160, 158, 1929, 155, 143, 1930, 0, 0, 1938,
2516 0, 0, 1939, 0, 0, 1946, 1947, 1947, 1947, 1949,
2517 1949, 1949, 1954, 1954, 1954, 1955, 1955, 1955, 1957, 1957,
2518 1957, 0, 0, 1947, 0, 0, 1949, 0, 0, 1954,
2520 0, 0, 1955, 1929, 0, 1957, 1930, 0, 0, 1946,
2521 0, 1958, 1958, 1958, 1938, 1958, 0, 1939, 1958, 1963,
2522 1963, 1963, 1964, 1964, 1964, 0, 0, 1947, 0, 0,
2523 1954, 0, 0, 1955, 0, 0, 1963, 0, 0, 1964,
2524 1966, 1966, 1966, 0, 1966, 0, 0, 1966, 1971, 1971,
2525 1971, 1972, 1972, 1972, 1973, 1973, 1973, 1974, 1974, 1974,
2526 1975, 1975, 1975, 0, 0, 1971, 0, 0, 1972, 1976,
2527 1976, 1976, 1973, 1976, 1974, 0, 1976, 1975, 0, 1963,
2528 0, 0, 1964, 1977, 1977, 1977, 0, 1976, 1978, 1978,
2529 1978, 1971, 0, 0, 1972, 1981, 1981, 1981, 0, 0,
2531 1977, 0, 1982, 1982, 1982, 1978, 1985, 1985, 1985, 1986,
2532 1986, 1986, 1981, 1989, 1989, 1989, 0, 0, 1974, 1982,
2533 1975, 0, 0, 1985, 0, 0, 1986, 1990, 1990, 1990,
2534 1989, 1977, 1993, 1993, 1993, 0, 1978, 0, 1994, 1994,
2535 1994, 0, 1994, 0, 1990, 1994, 0, 0, 1982, 1993,
2536 0, 1981, 0, 1985, 1995, 1995, 1995, 1996, 1996, 1996,
2537 0, 1996, 0, 0, 1996, 1999, 1999, 1999, 0, 1999,
2538 0, 1995, 1999, 1986, 2002, 2002, 2002, 0, 2002, 0,
2539 0, 2002, 2019, 2019, 2019, 2020, 2020, 2020, 0, 0,
2540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2542 2019, 0, 0, 2020, 2023, 2023, 2023, 2023, 2023, 2023,
2543 2023, 2023, 2023, 2024, 2024, 2024, 2024, 2024, 2024, 2024,
2544 2024, 2024, 2025, 2025, 2025, 2025, 2025, 2025, 2025, 2025,
2545 2025, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026, 2026,
2546 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2027, 2028,
2547 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2028, 2029, 2029,
2548 2029, 2029, 2029, 2029, 2029, 2029, 2029, 2030, 2030, 2030,
2549 2030, 2030, 2030, 2030, 2030, 2030, 2031, 2031, 2031, 2031,
2550 2031, 2031, 2031, 2031, 2031, 2032, 2032, 2032, 2032, 2032,
2551 2032, 2032, 2032, 2032, 2033, 2033, 2033, 2033, 2033, 2033,
2553 2033, 2033, 2033, 2034, 2034, 2034, 2034, 2034, 2034, 2034,
2554 2034, 2034, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
2555 2035, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036,
2556 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2038,
2557 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2039, 2039,
2558 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2040, 2040, 2040,
2559 2040, 2040, 2040, 2040, 2040, 2040, 2041, 2041, 2041, 2041,
2560 2041, 2041, 2041, 2041, 2041, 2042, 2042, 2042, 2042, 2042,
2561 2042, 2042, 2042, 2042, 2043, 2043, 2043, 2043, 2043, 2043,
2562 2043, 2043, 2043, 2044, 2044, 2044, 2044, 2044, 2044, 2044,
2564 2044, 2044, 2045, 2045, 2045, 2045, 2045, 2045, 2045, 2045,
2565 2045, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046,
2566 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2048,
2567 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2049, 2049,
2568 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2050, 2050, 2050,
2569 2050, 2050, 2050, 2050, 2050, 2050, 2051, 2051, 2051, 2051,
2570 2051, 2051, 2051, 2051, 2051, 2052, 2052, 2052, 2052, 2052,
2571 2052, 2052, 2052, 2052, 2053, 2053, 2053, 2053, 2053, 2053,
2572 2053, 2053, 2053, 2054, 2054, 2054, 2054, 2054, 2054, 2054,
2573 2054, 2054, 2055, 2055, 2055, 2055, 2055, 2055, 2055, 2055,
2575 2055, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056,
2576 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2058,
2577 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2059, 2059,
2578 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2060, 2060, 2060,
2579 2060, 2060, 2060, 2060, 2060, 2060, 2061, 2061, 2061, 2061,
2580 2061, 2061, 2061, 2061, 2061, 2062, 2062, 2062, 0, 0,
2581 0, 2062, 2063, 2063, 2063, 0, 0, 0, 2063, 2064,
2582 2064, 2064, 0, 0, 0, 2064, 2065, 2065, 2065, 0,
2583 0, 0, 2065, 2066, 2066, 2066, 0, 0, 0, 2066,
2584 2067, 2067, 2067, 0, 0, 0, 2067, 2068, 2068, 2068,
2586 0, 0, 0, 2068, 2069, 2069, 2069, 0, 0, 0,
2587 2069, 2070, 2070, 2070, 0, 0, 0, 2070, 2071, 2071,
2588 2071, 0, 0, 0, 2071, 2072, 2072, 2072, 0, 0,
2589 0, 2072, 2073, 2073, 2073, 0, 0, 0, 2073, 2074,
2590 2074, 2074, 0, 0, 0, 2074, 2075, 2075, 2075, 0,
2591 0, 0, 2075, 2076, 2076, 2076, 0, 0, 0, 2076,
2592 2077, 2077, 2077, 0, 0, 0, 2077, 2078, 2078, 2078,
2593 0, 0, 0, 2078, 2079, 2079, 2079, 2079, 2079, 2079,
2594 2079, 0, 2079, 2080, 0, 0, 0, 2080, 2081, 0,
2595 0, 0, 2081, 2082, 0, 0, 0, 2082, 2083, 0,
2597 0, 0, 2083, 2084, 0, 0, 0, 2084, 2085, 0,
2598 0, 0, 2085, 2086, 0, 0, 0, 2086, 2087, 0,
2599 0, 0, 2087, 2088, 0, 0, 0, 2088, 2089, 2089,
2600 2089, 0, 0, 0, 2089, 2090, 0, 0, 0, 2090,
2601 2091, 2091, 2091, 0, 0, 0, 2091, 2092, 0, 0,
2602 0, 2092, 2093, 2093, 2093, 0, 0, 0, 2093, 2094,
2603 0, 0, 0, 2094, 2095, 2095, 2095, 0, 0, 0,
2604 2095, 2096, 0, 0, 0, 2096, 2097, 2097, 2097, 0,
2605 0, 0, 2097, 2098, 0, 0, 0, 2098, 2099, 2099,
2606 2099, 0, 0, 0, 2099, 2100, 0, 0, 0, 2100,
2608 2101, 2101, 2101, 0, 0, 0, 2101, 2102, 0, 0,
2609 0, 2102, 2103, 2103, 2103, 0, 0, 0, 2103, 2104,
2610 0, 0, 0, 2104, 2105, 2105, 2105, 2105, 2105, 2105,
2611 2105, 2105, 2105, 2106, 0, 0, 0, 0, 2106, 2107,
2612 2107, 2107, 0, 0, 0, 2107, 2108, 2108, 2108, 2108,
2613 0, 0, 2108, 2108, 2109, 2109, 2109, 0, 0, 0,
2614 2109, 2110, 2110, 2110, 2110, 0, 0, 2110, 2110, 2111,
2615 2111, 2111, 0, 0, 0, 2111, 2112, 2112, 2112, 2112,
2616 0, 0, 2112, 2112, 2113, 2113, 2113, 0, 0, 0,
2617 2113, 2114, 2114, 2114, 2114, 0, 0, 2114, 2114, 2115,
2619 2115, 2115, 0, 0, 0, 2115, 2116, 2116, 2116, 2116,
2620 0, 0, 2116, 2116, 2117, 2117, 2117, 0, 0, 0,
2621 2117, 2118, 2118, 2118, 2118, 0, 0, 2118, 2118, 2119,
2622 2119, 2119, 0, 0, 0, 2119, 2120, 2120, 2120, 2120,
2623 0, 0, 2120, 2120, 2121, 2121, 2121, 0, 0, 0,
2624 2121, 2122, 2122, 2122, 2122, 0, 0, 2122, 2122, 2123,
2625 2123, 2123, 0, 0, 0, 2123, 2124, 2124, 2124, 2124,
2626 0, 0, 2124, 2124, 2125, 2125, 2125, 0, 0, 0,
2627 2125, 2126, 2126, 2126, 2126, 0, 0, 2126, 2126, 2127,
2628 2127, 2127, 2127, 0, 0, 2127, 2127, 2128, 2128, 2128,
2630 0, 0, 0, 2128, 2129, 2129, 2129, 2129, 0, 0,
2631 2129, 2129, 2130, 2130, 2130, 0, 0, 0, 2130, 2131,
2632 2131, 2131, 2131, 0, 0, 2131, 2131, 2132, 2132, 2132,
2633 0, 0, 0, 2132, 2133, 2133, 2133, 2133, 0, 0,
2634 2133, 2133, 2134, 2134, 2134, 2134, 0, 0, 2134, 2134,
2635 2135, 2135, 2135, 0, 0, 0, 2135, 2136, 2136, 2136,
2636 2136, 0, 0, 2136, 2136, 2137, 2137, 2137, 0, 0,
2637 0, 2137, 2138, 2138, 2138, 2138, 0, 0, 2138, 2138,
2638 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2139, 2140,
2639 0, 2140, 0, 0, 2140, 2141, 2141, 2141, 0, 0,
2641 0, 2141, 2142, 2142, 2142, 2142, 0, 0, 2142, 2142,
2642 2143, 2143, 2143, 2143, 0, 2143, 0, 2143, 2144, 2144,
2643 2144, 2144, 0, 0, 2144, 2144, 2145, 2145, 2145, 2145,
2644 0, 2145, 0, 2145, 2146, 2146, 2146, 2146, 0, 0,
2645 2146, 2146, 2147, 2147, 2147, 0, 0, 0, 2147, 2148,
2646 2148, 2148, 2148, 0, 0, 2148, 2148, 2149, 2149, 2149,
2647 0, 0, 0, 2149, 2150, 2150, 2150, 2150, 0, 0,
2648 2150, 2150, 2151, 2151, 2151, 0, 0, 0, 2151, 2152,
2649 2152, 2152, 2152, 0, 0, 2152, 2152, 2153, 2153, 2153,
2650 0, 0, 0, 2153, 2154, 2154, 2154, 2154, 0, 0,
2652 2154, 2154, 2155, 2155, 2155, 0, 0, 0, 2155, 2156,
2653 2156, 2156, 2156, 0, 0, 2156, 2156, 2157, 2157, 2157,
2654 0, 0, 0, 2157, 2158, 2158, 2158, 2158, 0, 0,
2655 2158, 2158, 2159, 2159, 2159, 0, 0, 0, 2159, 2160,
2656 2160, 2160, 2160, 0, 0, 2160, 2160, 2161, 2161, 2161,
2657 2161, 0, 0, 2161, 2161, 2162, 2162, 2162, 0, 0,
2658 0, 2162, 2163, 2163, 2163, 2163, 0, 0, 2163, 2163,
2659 2164, 2164, 2164, 0, 0, 0, 2164, 2165, 2165, 2165,
2660 2165, 0, 0, 2165, 2165, 2166, 2166, 2166, 0, 0,
2661 0, 2166, 2167, 2167, 2167, 2167, 0, 0, 2167, 2167,
2663 2168, 2168, 2168, 2168, 0, 0, 2168, 2168, 2169, 2169,
2664 2169, 0, 0, 0, 2169, 2170, 2170, 2170, 2170, 0,
2665 0, 2170, 2170, 2171, 2171, 2171, 0, 0, 0, 2171,
2666 2172, 2172, 2172, 2172, 0, 0, 2172, 2172, 2173, 2173,
2667 2173, 2173, 2173, 2173, 2173, 2173, 2173, 2174, 2174, 2174,
2668 2174, 2174, 2174, 2174, 2174, 2174, 2175, 2175, 2175, 0,
2669 0, 0, 2175, 2176, 2176, 2176, 2176, 0, 0, 2176,
2670 2176, 2177, 2177, 2177, 2177, 0, 0, 2177, 2177, 2178,
2671 2178, 2178, 0, 0, 0, 2178, 2179, 2179, 2179, 2179,
2672 0, 0, 2179, 2179, 2180, 2180, 2180, 0, 0, 0,
2674 2180, 2181, 2181, 2181, 2181, 0, 0, 2181, 2181, 2182,
2675 2182, 2182, 0, 0, 0, 2182, 2183, 2183, 2183, 2183,
2676 0, 0, 2183, 2183, 2184, 2184, 2184, 0, 0, 0,
2677 2184, 2185, 2185, 2185, 2185, 0, 0, 2185, 2185, 2186,
2678 2186, 2186, 0, 0, 0, 2186, 2187, 2187, 2187, 2187,
2679 0, 0, 2187, 2187, 2188, 2188, 2188, 0, 0, 0,
2680 2188, 2189, 2189, 2189, 2189, 0, 0, 2189, 2189, 2190,
2681 2190, 2190, 2190, 0, 2190, 0, 2190, 2191, 2191, 2191,
2682 2191, 0, 0, 2191, 2191, 2192, 2192, 2192, 2192, 0,
2683 2192, 0, 2192, 2193, 2193, 2193, 2193, 0, 0, 2193,
2685 2193, 2194, 2194, 2194, 2194, 0, 0, 2194, 2194, 2195,
2686 2195, 2195, 0, 0, 0, 2195, 2196, 2196, 2196, 2196,
2687 0, 0, 2196, 2196, 2197, 2197, 2197, 0, 0, 0,
2688 2197, 2198, 2198, 2198, 2198, 0, 0, 2198, 2198, 2199,
2689 2199, 2199, 0, 0, 0, 2199, 2200, 2200, 2200, 2200,
2690 0, 0, 2200, 2200, 2201, 2201, 2201, 2201, 0, 0,
2691 2201, 2201, 2202, 2202, 2202, 0, 0, 0, 2202, 2203,
2692 2203, 2203, 2203, 0, 0, 2203, 2203, 2204, 2204, 2204,
2693 2204, 0, 2204, 0, 2204, 2205, 2205, 2205, 2205, 0,
2694 0, 2205, 2205, 2206, 2206, 2206, 2206, 2206, 2206, 2206,
2696 2206, 2206, 2207, 2207, 2207, 2207, 2207, 2207, 2207, 2207,
2697 2207, 2208, 2208, 2208, 0, 0, 0, 2208, 2209, 2209,
2698 2209, 2209, 0, 0, 2209, 2209, 2210, 2210, 2210, 2210,
2699 0, 0, 2210, 2210, 2211, 2211, 2211, 0, 0, 0,
2700 2211, 2212, 2212, 2212, 2212, 0, 0, 2212, 2212, 2213,
2701 2213, 2213, 0, 0, 0, 2213, 2214, 2214, 2214, 2214,
2702 0, 0, 2214, 2214, 2215, 2215, 2215, 0, 0, 0,
2703 2215, 2216, 2216, 2216, 2216, 0, 0, 2216, 2216, 2217,
2704 2217, 2217, 2217, 0, 2217, 0, 2217, 2218, 2218, 2218,
2705 2218, 0, 2218, 0, 2218, 2219, 2219, 2219, 2219, 0,
2707 0, 2219, 2219, 2220, 2220, 2220, 0, 0, 0, 2220,
2708 2221, 2221, 2221, 2221, 0, 0, 2221, 2221, 2222, 2222,
2709 2222, 2222, 0, 0, 2222, 2222, 2223, 2223, 2223, 2223,
2710 0, 2223, 0, 2223, 2224, 2224, 2224, 2224, 0, 0,
2711 2224, 2224, 2225, 2225, 2225, 2225, 0, 0, 2225, 2225,
2712 2226, 2226, 2226, 0, 0, 0, 2226, 2227, 2227, 2227,
2713 2227, 0, 0, 2227, 2227, 2228, 2228, 2228, 2228, 0,
2714 2228, 0, 2228, 2229, 2229, 2229, 2229, 0, 0, 2229,
2715 2229, 2230, 2230, 2230, 2230, 0, 2230, 0, 2230, 2231,
2716 2231, 2231, 2231, 0, 0, 2231, 2231, 2232, 2232, 2232,
2718 2232, 0, 0, 2232, 2232, 2233, 2233, 2233, 0, 0,
2719 0, 2233, 2234, 2234, 2234, 2234, 0, 0, 2234, 2234,
2720 2235, 2235, 2235, 2235, 0, 0, 2235, 2235, 2236, 2236,
2721 2236, 2236, 2236, 2236, 2236, 2236, 2236, 2237, 2237, 2237,
2722 2237, 2237, 2237, 2237, 2237, 2237, 2238, 2238, 2238, 2238,
2723 0, 2238, 0, 2238, 2239, 2239, 2239, 2239, 0, 0,
2724 2239, 2239, 2240, 2240, 2240, 2240, 0, 0, 2240, 2240,
2725 2241, 2241, 2241, 0, 0, 0, 2241, 2242, 2242, 2242,
2726 2242, 0, 0, 2242, 2242, 2243, 2243, 2243, 0, 0,
2727 0, 2243, 2244, 2244, 2244, 2244, 0, 0, 2244, 2244,
2729 2245, 2245, 2245, 2245, 0, 2245, 0, 2245, 2246, 2246,
2730 2246, 2246, 0, 0, 2246, 2246, 2247, 2247, 2247, 2247,
2731 0, 2247, 0, 2247, 2248, 2248, 2248, 2248, 0, 0,
2732 2248, 2248, 2249, 2249, 2249, 0, 0, 0, 2249, 2250,
2733 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2251, 2251,
2734 2251, 2251, 2251, 2251, 2251, 2251, 2251, 2252, 2252, 2252,
2735 2252, 2252, 2252, 2252, 2252, 2252, 2253, 2253, 2253, 2253,
2736 2253, 2253, 2253, 2253, 2253, 2254, 2254, 2254, 2254, 2254,
2737 2254, 2254, 2254, 2254, 2255, 2255, 2255, 2255, 2255, 2255,
2738 2255, 2255, 2255, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2740 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2741 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2742 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2743 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2744 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2745 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2749 /* Table of booleans, true if rule could match eol. */
2750 static yyconst flex_int32_t yy_rule_can_match_eol[352] =
2752 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2753 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2754 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
2755 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2756 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2757 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2758 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2759 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2760 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
2761 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2762 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
2763 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2764 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2765 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2766 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2767 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2768 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
2769 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
2771 static yy_state_type yy_last_accepting_state;
2772 static char *yy_last_accepting_cpos;
2774 extern int surf_parse__flex_debug;
2775 int surf_parse__flex_debug = 0;
2777 /* The intent behind this definition is that it'll catch
2778 * any uses of REJECT which flex missed.
2780 #define REJECT reject_used_but_not_detected
2781 #define yymore() yymore_used_but_not_detected
2782 #define YY_MORE_ADJ 0
2783 #define YY_RESTORE_YY_MORE_OFFSET
2784 char *surf_parse_text;
2785 /* Validating XML processor for surf/simgrid.dtd.
2786 * Generated 2008/02/03 11:50:45.
2788 * This program was generated with the FleXML XML processor generator.
2789 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2790 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2791 * (Id: flexml.pl,v 1.63 2007/10/11 14:46:08 mquinson Exp).
2793 * There are two, intertwined parts to this program, part A and part B.
2798 * Some parts, here collectively called "Part A", are found in the
2799 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2800 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2802 * You can redistribute, use, perform, display and/or modify "Part A"
2803 * provided the following two conditions hold:
2805 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2806 * FleXML; without even the implied warranty of MERCHANTABILITY or
2807 * FITNESS FOR A PARTICULAR PURPOSE.
2809 * 2. The program distribution conditions do not in any way affect the
2810 * distribution conditions of the FleXML system used to generate this
2811 * file or any version of FleXML derived from that system.
2813 * Notice that these are explicit rights granted to you for files
2814 * generated by the FleXML system. For your rights in connection with
2815 * the FleXML system itself please consult the GNU General Public License.
2820 * The other parts, here collectively called "Part B", and which came
2821 * from the DTD used by FleXML to generate this program, can be
2822 * distributed (or not, as the case may be) under the terms of whoever
2823 * wrote them, provided these terms respect and obey the two conditions
2824 * above under the heading "Part A".
2826 * The author of and contributors to FleXML specifically disclaim
2827 * any copyright interest in "Part B", unless "Part B" was written
2828 * by the author of or contributors to FleXML.
2832 /* Version strings. */
2833 const char rcs_surfxml_flexml_skeleton[] =
2834 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2835 const char rcs_surfxml_flexml[] =
2836 "$" "Id: flexml.pl,v 1.63 2007/10/11 14:46:08 mquinson Exp $";
2839 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2846 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2847 # ifndef __STRICT_ANSI__
2849 # include <process.h>
2852 # include <unistd.h>
2855 #ifndef FLEXML_INDEXSTACKSIZE
2856 #define FLEXML_INDEXSTACKSIZE 1000
2859 /* Generated definitions. */
2860 #define FLEXML_yylineno
2861 #ifndef FLEXML_BUFFERSTACKSIZE
2862 #define FLEXML_BUFFERSTACKSIZE 1000000
2864 #define FLEXML_NEED_BUFFERLIT
2866 /* XML processor api. */
2867 /* FleXML-provided data. */
2868 int surfxml_pcdata_ix;
2869 extern char *surfxml_bufferstack;
2870 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2871 AT_surfxml_random_generator AX_surfxml_random_generator;
2872 #define A_surfxml_random_generator AX_surfxml_random_generator
2873 AT_surfxml_prop_id AX_surfxml_prop_id;
2874 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2875 AT_surfxml_host_interference_recv AX_surfxml_host_interference_recv;
2876 #define A_surfxml_host_interference_recv (surfxml_bufferstack + AX_surfxml_host_interference_recv)
2877 AT_surfxml_host_id AX_surfxml_host_id;
2878 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2879 AT_surfxml_set_id AX_surfxml_set_id;
2880 #define A_surfxml_set_id (surfxml_bufferstack + AX_surfxml_set_id)
2881 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2882 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2883 AT_surfxml_host_state AX_surfxml_host_state;
2884 #define A_surfxml_host_state AX_surfxml_host_state
2885 AT_surfxml_host_interference_send_recv AX_surfxml_host_interference_send_recv;
2886 #define A_surfxml_host_interference_send_recv (surfxml_bufferstack + AX_surfxml_host_interference_send_recv)
2887 AT_surfxml_host_interference_send AX_surfxml_host_interference_send;
2888 #define A_surfxml_host_interference_send (surfxml_bufferstack + AX_surfxml_host_interference_send)
2889 AT_surfxml_set_suffix AX_surfxml_set_suffix;
2890 #define A_surfxml_set_suffix (surfxml_bufferstack + AX_surfxml_set_suffix)
2891 AT_surfxml_route_impact_on_dst AX_surfxml_route_impact_on_dst;
2892 #define A_surfxml_route_impact_on_dst (surfxml_bufferstack + AX_surfxml_route_impact_on_dst)
2893 AT_surfxml_host_power AX_surfxml_host_power;
2894 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2895 AT_surfxml_router_id AX_surfxml_router_id;
2896 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2897 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2898 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2899 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2900 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2901 AT_surfxml_platform_xmlns_c_route AX_surfxml_platform_xmlns_c_route;
2902 #define A_surfxml_platform_xmlns_c_route (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_route)
2903 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2904 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2905 AT_surfxml_trace_file AX_surfxml_trace_file;
2906 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2907 AT_surfxml_route_action AX_surfxml_route_action;
2908 #define A_surfxml_route_action AX_surfxml_route_action
2909 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2910 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2911 AT_surfxml_random_min AX_surfxml_random_min;
2912 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2913 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2914 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2915 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2916 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2917 AT_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element;
2918 #define A_surfxml_trace_c_connect_element (surfxml_bufferstack + AX_surfxml_trace_c_connect_element)
2919 AT_surfxml_argument_value AX_surfxml_argument_value;
2920 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2921 AT_surfxml_link_state AX_surfxml_link_state;
2922 #define A_surfxml_link_state AX_surfxml_link_state
2923 AT_surfxml_route_impact_on_src AX_surfxml_route_impact_on_src;
2924 #define A_surfxml_route_impact_on_src (surfxml_bufferstack + AX_surfxml_route_impact_on_src)
2925 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2926 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2927 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2928 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2929 AT_surfxml_random_mean AX_surfxml_random_mean;
2930 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2931 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2932 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2933 AT_surfxml_link_latency AX_surfxml_link_latency;
2934 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2935 AT_surfxml_platform_xmlns_c_link AX_surfxml_platform_xmlns_c_link;
2936 #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link)
2937 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2938 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2939 AT_surfxml_random_id AX_surfxml_random_id;
2940 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2941 AT_surfxml_set_radical AX_surfxml_set_radical;
2942 #define A_surfxml_set_radical (surfxml_bufferstack + AX_surfxml_set_radical)
2943 AT_surfxml_random_max AX_surfxml_random_max;
2944 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2945 AT_surfxml_link_id AX_surfxml_link_id;
2946 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2947 AT_surfxml_process_host AX_surfxml_process_host;
2948 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2949 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2950 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2951 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2952 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2953 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2954 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2955 AT_surfxml_foreach_set_id AX_surfxml_foreach_set_id;
2956 #define A_surfxml_foreach_set_id (surfxml_bufferstack + AX_surfxml_foreach_set_id)
2957 AT_surfxml_route_impact_on_dst_with_other_send AX_surfxml_route_impact_on_dst_with_other_send;
2958 #define A_surfxml_route_impact_on_dst_with_other_send (surfxml_bufferstack + AX_surfxml_route_impact_on_dst_with_other_send)
2959 AT_surfxml_prop_value AX_surfxml_prop_value;
2960 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2961 AT_surfxml_route_impact_on_src_with_other_recv AX_surfxml_route_impact_on_src_with_other_recv;
2962 #define A_surfxml_route_impact_on_src_with_other_recv (surfxml_bufferstack + AX_surfxml_route_impact_on_src_with_other_recv)
2963 AT_surfxml_link_state_file AX_surfxml_link_state_file;
2964 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
2965 AT_surfxml_set_prefix AX_surfxml_set_prefix;
2966 #define A_surfxml_set_prefix (surfxml_bufferstack + AX_surfxml_set_prefix)
2967 AT_surfxml_cluster_power AX_surfxml_cluster_power;
2968 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
2969 AT_surfxml_process_function AX_surfxml_process_function;
2970 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
2971 AT_surfxml_host_max_outgoing_rate AX_surfxml_host_max_outgoing_rate;
2972 #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate)
2973 AT_surfxml_link_c_ctn_id AX_surfxml_link_c_ctn_id;
2974 #define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id)
2975 AT_surfxml_host_availability AX_surfxml_host_availability;
2976 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
2977 AT_surfxml_route_src AX_surfxml_route_src;
2978 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
2979 AT_surfxml_route_c_multi_src AX_surfxml_route_c_multi_src;
2980 #define A_surfxml_route_c_multi_src (surfxml_bufferstack + AX_surfxml_route_c_multi_src)
2981 AT_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action;
2982 #define A_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action
2983 AT_surfxml_trace_c_connect_trace AX_surfxml_trace_c_connect_trace;
2984 #define A_surfxml_trace_c_connect_trace (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace)
2985 AT_surfxml_trace_id AX_surfxml_trace_id;
2986 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
2987 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
2988 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
2989 AT_surfxml_include_file AX_surfxml_include_file;
2990 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
2991 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
2992 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
2993 AT_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind;
2994 #define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind
2995 AT_surfxml_route_c_multi_dst AX_surfxml_route_c_multi_dst;
2996 #define A_surfxml_route_c_multi_dst (surfxml_bufferstack + AX_surfxml_route_c_multi_dst)
2997 AT_surfxml_host_state_file AX_surfxml_host_state_file;
2998 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
2999 AT_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric;
3000 #define A_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric
3001 AT_surfxml_route_dst AX_surfxml_route_dst;
3002 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3003 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3004 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3005 AT_surfxml_platform_version AX_surfxml_platform_version;
3006 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3010 # define ENTER(state) debug_enter(state,#state)
3011 # define LEAVE debug_leave()
3012 # define SET(state) debug_set(state,#state)
3013 static void debug_enter(int, const char*);
3014 static void debug_leave(void);
3015 static void debug_set(int, const char*);
3017 # define ENTER(state) (yy_push_state(state))
3018 # define LEAVE (yy_pop_state())
3019 # define SET(state) BEGIN(state)
3022 /* Generic actions. */
3023 #define SKIP /*skip*/
3024 #define SUCCEED CLEANUP; return 0
3026 #define FAIL return fail
3027 static int fail(const char*, ...);
3029 enum {flexml_max_err_msg_size = 512};
3030 static char flexml_err_msg[flexml_max_err_msg_size];
3031 const char * surfxml_parse_err_msg()
3033 return flexml_err_msg;
3035 static void reset_surfxml_parse_err_msg()
3037 flexml_err_msg[0] = '\0';
3041 static void cleanup(void);
3042 #define CLEANUP cleanup()
3044 /* Text buffer stack handling. */
3045 char *surfxml_bufferstack = NULL;
3046 static int blimit = FLEXML_BUFFERSTACKSIZE;
3047 static int bnext = 1;
3049 static int *indexstack = NULL;
3050 static int ilimit = FLEXML_INDEXSTACKSIZE;
3051 static int inext = 1;
3053 #define BUFFERSET(P) (P = bnext)
3054 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3055 #define BUFFERDONE (BUFFERPUTC('\0'))
3057 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3059 /* after this is called, there are at least 2 slots left in the stack */
3060 static int ck_blimit()
3062 if (bnext >= blimit) {
3063 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3065 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3067 surfxml_bufferstack = temp;
3073 /* after this is called, there are at least 2 slots left in the stack */
3074 static int ck_ilimit()
3076 if (inext >= ilimit) {
3077 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3079 int *temp = (int *) realloc(indexstack, ilimit);
3087 #ifdef FLEXML_NEED_BUFFERLIT
3088 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3090 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3091 assert(s <= e); BUFFERSET(*pp);
3093 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3094 else BUFFERPUTC(*s);
3100 static void pushbuffer(int p)
3103 indexstack[inext++] = p;
3104 indexstack[inext++] = bnext;
3107 static int popbuffer(void)
3110 bnext = indexstack[--inext];
3111 return indexstack[--inext];
3114 /* General internal entities are `unput' back onto the input stream... */
3115 #define ENTITYTEXT(T) \
3116 { char *s = (T), *e = s+strlen(s);\
3117 while (--e >= s) { unput(*e); }}
3119 /* Flex standard options. */
3120 #define YY_NO_INPUT 1
3121 /* Flex user-requested options. */
3122 /* XML character classes (currently restricted to ASCII). */
3123 /* "Common syntactic structures." */
3124 /* "Names and Tokens." */
3125 /* Miscellaneous. */
3126 /* Parser states (flex `exclusive start conditions'):
3128 * PROLOG the XML prolog of the document before <?xml...>
3129 * DOCTYPE the XML prolog of the document after <?xml...>
3130 * EPILOG after the root element
3131 * INCOMMENT inside an XML comment <!--....-->
3132 * INPI inside an XML PI <?...?>
3133 * VALUE1 inside a '...'-delimited literal
3134 * VALUE2 inside a "..."-delimited literal
3135 * CDATA inside a <![CDATA[...] ]> section.
3136 * ROOT_<tag> expect root element <tag>
3137 * AL_<tag> inside the attribute list for <tag>
3138 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3139 * IMPOSSIBLE dummy to permit disabling rules; must be last
3143 const char* *surfxml_statenames=NULL;
3154 #define ROOT_surfxml_platform 9
3155 #define AL_surfxml_platform 10
3156 #define S_surfxml_platform 11
3157 #define S_surfxml_platform_1 12
3158 #define S_surfxml_platform_2 13
3159 #define S_surfxml_platform_3 14
3160 #define S_surfxml_platform_4 15
3161 #define S_surfxml_platform_5 16
3162 #define E_surfxml_platform 17
3163 #define AL_surfxml_include 18
3164 #define E_surfxml_include 19
3165 #define AL_surfxml_trace 20
3167 #define AL_surfxml_random 22
3168 #define S_surfxml_random 23
3169 #define S_surfxml_random_1 24
3170 #define S_surfxml_random_2 25
3171 #define E_surfxml_random 26
3172 #define AL_surfxml_trace_c_connect 27
3173 #define E_surfxml_trace_c_connect 28
3174 #define AL_surfxml_set 29
3175 #define E_surfxml_set 30
3176 #define AL_surfxml_foreach 31
3177 #define S_surfxml_foreach 32
3178 #define S_surfxml_foreach_1 33
3179 #define E_surfxml_foreach 34
3180 #define AL_surfxml_host 35
3181 #define S_surfxml_host 36
3182 #define S_surfxml_host_1 37
3183 #define S_surfxml_host_2 38
3184 #define E_surfxml_host 39
3185 #define AL_surfxml_prop 40
3186 #define E_surfxml_prop 41
3187 #define AL_surfxml_cluster 42
3188 #define E_surfxml_cluster 43
3189 #define AL_surfxml_router 44
3190 #define E_surfxml_router 45
3191 #define AL_surfxml_link 46
3192 #define S_surfxml_link 47
3193 #define S_surfxml_link_1 48
3194 #define S_surfxml_link_2 49
3195 #define E_surfxml_link 50
3196 #define AL_surfxml_route_c_multi 51
3197 #define S_surfxml_route_c_multi 52
3198 #define S_surfxml_route_c_multi_1 53
3199 #define S_surfxml_route_c_multi_2 54
3200 #define E_surfxml_route_c_multi 55
3201 #define AL_surfxml_route 56
3202 #define S_surfxml_route 57
3203 #define S_surfxml_route_1 58
3204 #define S_surfxml_route_2 59
3205 #define E_surfxml_route 60
3206 #define AL_surfxml_link_c_ctn 61
3207 #define E_surfxml_link_c_ctn 62
3208 #define AL_surfxml_process 63
3209 #define S_surfxml_process 64
3210 #define S_surfxml_process_1 65
3211 #define S_surfxml_process_2 66
3212 #define E_surfxml_process 67
3213 #define AL_surfxml_argument 68
3214 #define E_surfxml_argument 69
3215 #define IMPOSSIBLE 70
3217 #ifndef YY_NO_UNISTD_H
3218 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3219 * down here because we want the user's section 1 to have been scanned first.
3220 * The user has a chance to override it with an option.
3222 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3223 # ifndef __STRICT_ANSI__
3225 # include <process.h>
3228 # include <unistd.h>
3232 #ifndef YY_EXTRA_TYPE
3233 #define YY_EXTRA_TYPE void *
3236 static int yy_init_globals (void );
3238 /* Macros after this point can all be overridden by user definitions in
3242 #ifndef YY_SKIP_YYWRAP
3244 extern "C" int surf_parse_wrap (void );
3246 extern int surf_parse_wrap (void );
3251 static void yy_flex_strncpy (char *,yyconst char *,int );
3254 #ifdef YY_NEED_STRLEN
3255 static int yy_flex_strlen (yyconst char * );
3261 static int yyinput (void );
3263 static int input (void );
3268 static int yy_start_stack_ptr = 0;
3269 static int yy_start_stack_depth = 0;
3270 static int *yy_start_stack = NULL;
3272 static void yy_push_state (int new_state );
3274 static void yy_pop_state (void );
3276 /* Amount of stuff to slurp up with each read. */
3277 #ifndef YY_READ_BUF_SIZE
3278 #define YY_READ_BUF_SIZE 8192
3281 /* Copy whatever the last rule matched to the standard output. */
3283 /* This used to be an fputs(), but since the string might contain NUL's,
3284 * we now use fwrite().
3286 #define ECHO (void) fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )
3289 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3290 * is returned in "result".
3293 #define YY_INPUT(buf,result,max_size) \
3294 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3298 for ( n = 0; n < max_size && \
3299 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3300 buf[n] = (char) c; \
3302 buf[n++] = (char) c; \
3303 if ( c == EOF && ferror( surf_parse_in ) ) \
3304 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3310 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3312 if( errno != EINTR) \
3314 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3318 clearerr(surf_parse_in); \
3325 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3326 * we don't want an extra ';' after the "return" because that will cause
3327 * some compilers to complain about unreachable statements.
3330 #define yyterminate() return YY_NULL
3333 /* Number of entries by which start-condition stack grows. */
3334 #ifndef YY_START_STACK_INCR
3335 #define YY_START_STACK_INCR 25
3338 /* Report a fatal error. */
3339 #ifndef YY_FATAL_ERROR
3340 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3343 /* end tables serialization structures and prototypes */
3345 /* Default declaration of generated scanner - a define so the user can
3346 * easily add parameters.
3349 #define YY_DECL_IS_OURS 1
3351 extern int surf_parse_lex (void);
3353 #define YY_DECL int surf_parse_lex (void)
3354 #endif /* !YY_DECL */
3356 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3359 #ifndef YY_USER_ACTION
3360 #define YY_USER_ACTION
3363 /* Code executed at the end of each rule. */
3365 #define YY_BREAK break;
3368 #define YY_RULE_SETUP \
3371 /** The main scanner function which does all the work.
3375 register yy_state_type yy_current_state;
3376 register char *yy_cp, *yy_bp;
3377 register int yy_act;
3379 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3381 reset_surfxml_parse_err_msg();
3382 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3383 assert(surfxml_bufferstack);
3387 for (i = 0; i < blimit; i++) {
3388 surfxml_bufferstack[i] = '\377';
3392 surfxml_bufferstack[0] = '\0';
3393 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3399 surfxml_bufferliteral('\0', &bnext, "0.0");
3400 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3401 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3402 surfxml_bufferliteral('\0', &bnext, "1.0");
3403 surfxml_bufferliteral('\0', &bnext, "1.0");
3404 surfxml_bufferliteral('\0', &bnext, "1.0");
3405 surfxml_bufferliteral('\0', &bnext, "1.0");
3406 surfxml_bufferliteral('\0', &bnext, "-1.0");
3407 surfxml_bufferliteral('\0', &bnext, "0.0");
3408 surfxml_bufferliteral('\0', &bnext, "0.0");
3409 surfxml_bufferliteral('\0', &bnext, "0.0");
3410 surfxml_bufferliteral('\0', &bnext, "0.0");
3411 surfxml_bufferliteral('\0', &bnext, "0.0");
3412 surfxml_bufferliteral('\0', &bnext, "-1.0");
3413 surfxml_bufferliteral('\0', &bnext, "-1.0");
3414 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3415 surfxml_statenames[PROLOG] = NULL;
3416 surfxml_statenames[DOCTYPE] = NULL;
3417 surfxml_statenames[EPILOG] = NULL;
3418 surfxml_statenames[INCOMMENT] = NULL;
3419 surfxml_statenames[INPI] = NULL;
3420 surfxml_statenames[VALUE1] = NULL;
3421 surfxml_statenames[VALUE2] = NULL;
3422 surfxml_statenames[CDATA] = NULL;
3423 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3424 surfxml_statenames[AL_surfxml_platform] = NULL;
3425 surfxml_statenames[S_surfxml_platform] = "platform";
3426 surfxml_statenames[S_surfxml_platform_1] = "platform";
3427 surfxml_statenames[S_surfxml_platform_2] = "platform";
3428 surfxml_statenames[S_surfxml_platform_3] = "platform";
3429 surfxml_statenames[S_surfxml_platform_4] = "platform";
3430 surfxml_statenames[S_surfxml_platform_5] = "platform";
3431 surfxml_statenames[E_surfxml_platform] = "platform";
3432 surfxml_statenames[AL_surfxml_include] = NULL;
3433 surfxml_statenames[E_surfxml_include] = "include";
3434 surfxml_statenames[AL_surfxml_trace] = NULL;
3435 surfxml_statenames[IN_trace] = "trace";
3436 surfxml_statenames[AL_surfxml_random] = NULL;
3437 surfxml_statenames[S_surfxml_random] = "random";
3438 surfxml_statenames[S_surfxml_random_1] = "random";
3439 surfxml_statenames[S_surfxml_random_2] = "random";
3440 surfxml_statenames[E_surfxml_random] = "random";
3441 surfxml_statenames[AL_surfxml_trace_c_connect] = NULL;
3442 surfxml_statenames[E_surfxml_trace_c_connect] = "trace:connect";
3443 surfxml_statenames[AL_surfxml_set] = NULL;
3444 surfxml_statenames[E_surfxml_set] = "set";
3445 surfxml_statenames[AL_surfxml_foreach] = NULL;
3446 surfxml_statenames[S_surfxml_foreach] = "foreach";
3447 surfxml_statenames[S_surfxml_foreach_1] = "foreach";
3448 surfxml_statenames[E_surfxml_foreach] = "foreach";
3449 surfxml_statenames[AL_surfxml_host] = NULL;
3450 surfxml_statenames[S_surfxml_host] = "host";
3451 surfxml_statenames[S_surfxml_host_1] = "host";
3452 surfxml_statenames[S_surfxml_host_2] = "host";
3453 surfxml_statenames[E_surfxml_host] = "host";
3454 surfxml_statenames[AL_surfxml_prop] = NULL;
3455 surfxml_statenames[E_surfxml_prop] = "prop";
3456 surfxml_statenames[AL_surfxml_cluster] = NULL;
3457 surfxml_statenames[E_surfxml_cluster] = "cluster";
3458 surfxml_statenames[AL_surfxml_router] = NULL;
3459 surfxml_statenames[E_surfxml_router] = "router";
3460 surfxml_statenames[AL_surfxml_link] = NULL;
3461 surfxml_statenames[S_surfxml_link] = "link";
3462 surfxml_statenames[S_surfxml_link_1] = "link";
3463 surfxml_statenames[S_surfxml_link_2] = "link";
3464 surfxml_statenames[E_surfxml_link] = "link";
3465 surfxml_statenames[AL_surfxml_route_c_multi] = NULL;
3466 surfxml_statenames[S_surfxml_route_c_multi] = "route:multi";
3467 surfxml_statenames[S_surfxml_route_c_multi_1] = "route:multi";
3468 surfxml_statenames[S_surfxml_route_c_multi_2] = "route:multi";
3469 surfxml_statenames[E_surfxml_route_c_multi] = "route:multi";
3470 surfxml_statenames[AL_surfxml_route] = NULL;
3471 surfxml_statenames[S_surfxml_route] = "route";
3472 surfxml_statenames[S_surfxml_route_1] = "route";
3473 surfxml_statenames[S_surfxml_route_2] = "route";
3474 surfxml_statenames[E_surfxml_route] = "route";
3475 surfxml_statenames[AL_surfxml_link_c_ctn] = NULL;
3476 surfxml_statenames[E_surfxml_link_c_ctn] = "link:ctn";
3477 surfxml_statenames[AL_surfxml_process] = NULL;
3478 surfxml_statenames[S_surfxml_process] = "process";
3479 surfxml_statenames[S_surfxml_process_1] = "process";
3480 surfxml_statenames[S_surfxml_process_2] = "process";
3481 surfxml_statenames[E_surfxml_process] = "process";
3482 surfxml_statenames[AL_surfxml_argument] = NULL;
3483 surfxml_statenames[E_surfxml_argument] = "argument";
3486 /* COMMENTS and PIs: handled uniformly for efficiency. */
3497 (yy_start) = 1; /* first start state */
3499 if ( ! surf_parse_in )
3500 surf_parse_in = stdin;
3502 if ( ! surf_parse_out )
3503 surf_parse_out = stdout;
3505 if ( ! YY_CURRENT_BUFFER ) {
3506 surf_parse_ensure_buffer_stack ();
3507 YY_CURRENT_BUFFER_LVALUE =
3508 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3511 surf_parse__load_buffer_state( );
3514 while ( 1 ) /* loops until end-of-file is reached */
3516 yy_cp = (yy_c_buf_p);
3518 /* Support of surf_parse_text. */
3519 *yy_cp = (yy_hold_char);
3521 /* yy_bp points to the position in yy_ch_buf of the start of
3526 yy_current_state = (yy_start);
3530 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3531 if ( yy_accept[yy_current_state] )
3533 (yy_last_accepting_state) = yy_current_state;
3534 (yy_last_accepting_cpos) = yy_cp;
3536 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3538 yy_current_state = (int) yy_def[yy_current_state];
3539 if ( yy_current_state >= 2023 )
3540 yy_c = yy_meta[(unsigned int) yy_c];
3542 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3545 while ( yy_base[yy_current_state] != 7094 );
3548 yy_act = yy_accept[yy_current_state];
3550 { /* have to back up */
3551 yy_cp = (yy_last_accepting_cpos);
3552 yy_current_state = (yy_last_accepting_state);
3553 yy_act = yy_accept[yy_current_state];
3556 YY_DO_BEFORE_ACTION;
3558 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3561 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3562 if ( surf_parse_text[yyl] == '\n' )
3564 surf_parse_lineno++;
3568 do_action: /* This label is used only to access EOF actions. */
3571 { /* beginning of action switch */
3572 case 0: /* must back up */
3573 /* undo the effects of YY_DO_BEFORE_ACTION */
3574 *yy_cp = (yy_hold_char);
3575 yy_cp = (yy_last_accepting_cpos);
3576 yy_current_state = (yy_last_accepting_state);
3577 goto yy_find_action;
3595 /* rule 6 can match eol */
3599 case YY_STATE_EOF(INCOMMENT):
3600 FAIL("EOF in comment.");
3609 /* rule 9 can match eol */
3613 case YY_STATE_EOF(INPI):
3614 FAIL("EOF in PI (processing instruction).");
3617 /* SPACES: skipped uniformly */
3619 /* rule 10 can match eol */
3623 /* PROLOG: determine root element and process it. */
3626 /* rule 11 can match eol */
3631 /* rule 12 can match eol */
3633 FAIL("Bad declaration %s.",surf_parse_text);
3637 /* rule 13 can match eol */
3639 SET(ROOT_surfxml_platform);
3642 /* rule 14 can match eol */
3644 FAIL("Bad declaration %s.",surf_parse_text);
3648 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3650 case YY_STATE_EOF(PROLOG):
3651 case YY_STATE_EOF(DOCTYPE):
3652 FAIL("EOF in prolog.");
3655 /* RULES DERIVED FROM DTD. */
3656 /* <!-- Small DTD for SURF based tools. --> */
3658 /* rule 16 can match eol */
3660 FAIL("Starting tag <platform> is not allowed here.");
3663 /* rule 17 can match eol */
3666 AX_surfxml_platform_version = 1;
3667 AX_surfxml_platform_xmlns_c_link = 5;
3668 AX_surfxml_platform_xmlns_c_route = 37;
3669 ENTER(AL_surfxml_platform); pushbuffer(0);
3674 /* rule 18 can match eol */
3676 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3679 /* rule 19 can match eol */
3681 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3684 /* rule 20 can match eol */
3686 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3689 /* rule 21 can match eol */
3691 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3694 /* rule 22 can match eol */
3696 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3699 /* rule 23 can match eol */
3701 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3706 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
3712 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
3714 case ROOT_surfxml_platform: SET(EPILOG); break;
3720 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
3724 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
3726 case YY_STATE_EOF(AL_surfxml_platform):
3727 FAIL("EOF in attribute list of `platform' element.");
3731 /* rule 28 can match eol */
3735 ETag_surfxml_platform();
3736 popbuffer(); /* attribute */
3738 case ROOT_surfxml_platform: SET(EPILOG); break;
3743 /* rule 29 can match eol */
3745 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
3749 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
3751 case YY_STATE_EOF(S_surfxml_platform_5):
3752 case YY_STATE_EOF(S_surfxml_platform_1):
3753 case YY_STATE_EOF(S_surfxml_platform_3):
3754 case YY_STATE_EOF(S_surfxml_platform):
3755 case YY_STATE_EOF(E_surfxml_platform):
3756 FAIL("Premature EOF: `</platform>' expected.");
3760 /* rule 31 can match eol */
3762 FAIL("Starting tag <include> is not allowed here.");
3765 /* rule 32 can match eol */
3768 AX_surfxml_include_file = 0;
3769 ENTER(AL_surfxml_include); pushbuffer(0);
3774 /* rule 33 can match eol */
3776 ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
3779 /* rule 34 can match eol */
3781 ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
3786 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
3787 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
3793 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
3794 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
3796 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
3797 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3803 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
3807 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
3809 case YY_STATE_EOF(AL_surfxml_include):
3810 FAIL("EOF in attribute list of `include' element.");
3814 /* rule 39 can match eol */
3818 ETag_surfxml_include();
3819 popbuffer(); /* attribute */
3821 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
3822 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3827 /* rule 40 can match eol */
3829 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
3833 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
3835 case YY_STATE_EOF(E_surfxml_include):
3836 FAIL("Premature EOF: `</include>' expected.");
3840 /* rule 42 can match eol */
3842 FAIL("Starting tag <trace> is not allowed here.");
3845 /* rule 43 can match eol */
3848 AX_surfxml_trace_id = 0;
3849 AX_surfxml_trace_file = 0;
3850 AX_surfxml_trace_periodicity = 0;
3851 ENTER(AL_surfxml_trace); pushbuffer(0);
3856 /* rule 44 can match eol */
3858 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
3861 /* rule 45 can match eol */
3863 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
3866 /* rule 46 can match eol */
3868 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
3871 /* rule 47 can match eol */
3873 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
3876 /* rule 48 can match eol */
3878 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
3881 /* rule 49 can match eol */
3883 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
3888 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3889 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3890 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
3896 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3897 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3898 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
3900 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
3906 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
3910 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
3912 case YY_STATE_EOF(AL_surfxml_trace):
3913 FAIL("EOF in attribute list of `trace' element.");
3917 /* rule 54 can match eol */
3922 ETag_surfxml_trace();
3923 surfxml_pcdata_ix = popbuffer();
3924 popbuffer(); /* attribute */
3926 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
3931 /* rule 55 can match eol */
3933 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
3935 case YY_STATE_EOF(IN_trace):
3936 FAIL("Premature EOF: `</trace>' expected.");
3940 /* rule 56 can match eol */
3942 FAIL("Starting tag <random> is not allowed here.");
3945 /* rule 57 can match eol */
3948 AX_surfxml_random_id = 0;
3949 AX_surfxml_random_min = 0;
3950 AX_surfxml_random_max = 0;
3951 AX_surfxml_random_mean = 0;
3952 AX_surfxml_random_std_deviation = 0;
3953 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3954 ENTER(AL_surfxml_random); pushbuffer(0);
3959 /* rule 58 can match eol */
3961 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
3964 /* rule 59 can match eol */
3966 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
3969 /* rule 60 can match eol */
3971 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
3974 /* rule 61 can match eol */
3976 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
3979 /* rule 62 can match eol */
3981 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
3984 /* rule 63 can match eol */
3986 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
3989 /* rule 64 can match eol */
3991 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
3994 /* rule 65 can match eol */
3996 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
3999 /* rule 66 can match eol */
4001 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4004 /* rule 67 can match eol */
4006 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4009 /* rule 68 can match eol */
4011 /* rule 69 can match eol */
4013 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4016 /* rule 70 can match eol */
4018 /* rule 71 can match eol */
4020 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4025 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4026 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4027 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4028 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4029 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4030 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4036 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4037 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4038 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4039 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4040 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4041 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4043 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4049 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4053 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4055 case YY_STATE_EOF(AL_surfxml_random):
4056 FAIL("EOF in attribute list of `random' element.");
4060 /* rule 76 can match eol */
4064 ETag_surfxml_random();
4065 popbuffer(); /* attribute */
4067 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4072 /* rule 77 can match eol */
4074 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4078 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4080 case YY_STATE_EOF(S_surfxml_random_2):
4081 case YY_STATE_EOF(S_surfxml_random):
4082 case YY_STATE_EOF(E_surfxml_random):
4083 FAIL("Premature EOF: `</random>' expected.");
4087 /* rule 79 can match eol */
4089 FAIL("Starting tag <trace:connect> is not allowed here.");
4092 /* rule 80 can match eol */
4095 AX_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4096 AX_surfxml_trace_c_connect_trace = 0;
4097 AX_surfxml_trace_c_connect_element = 0;
4098 ENTER(AL_surfxml_trace_c_connect); pushbuffer(0);
4103 /* rule 81 can match eol */
4105 /* rule 82 can match eol */
4107 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4110 /* rule 83 can match eol */
4112 /* rule 84 can match eol */
4114 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_POWER;
4117 /* rule 85 can match eol */
4119 /* rule 86 can match eol */
4121 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LINK_AVAIL;
4124 /* rule 87 can match eol */
4126 /* rule 88 can match eol */
4128 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_BANDWIDTH;
4131 /* rule 89 can match eol */
4133 /* rule 90 can match eol */
4135 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LATENCY;
4138 /* rule 91 can match eol */
4140 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_trace);
4143 /* rule 92 can match eol */
4145 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_trace);
4148 /* rule 93 can match eol */
4150 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_element);
4153 /* rule 94 can match eol */
4155 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_element);
4160 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
4161 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
4162 LEAVE; STag_surfxml_trace_c_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_c_connect);
4168 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
4169 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
4170 LEAVE; STag_surfxml_trace_c_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_c_connect(); popbuffer(); /* attribute */
4172 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
4173 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4179 FAIL("Unexpected character `%c' in attribute list of trace:connect element.", surf_parse_text[0]);
4183 FAIL("Bad attribute `%s' in `trace:connect' element start tag.",surf_parse_text);
4185 case YY_STATE_EOF(AL_surfxml_trace_c_connect):
4186 FAIL("EOF in attribute list of `trace:connect' element.");
4190 /* rule 99 can match eol */
4194 ETag_surfxml_trace_c_connect();
4195 popbuffer(); /* attribute */
4197 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
4198 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4203 /* rule 100 can match eol */
4205 FAIL("Unexpected end-tag `%s': `</trace:connect>' expected.",surf_parse_text);
4209 FAIL("Unexpected character `%c': `</trace:connect>' expected.",surf_parse_text[0]);
4211 case YY_STATE_EOF(E_surfxml_trace_c_connect):
4212 FAIL("Premature EOF: `</trace:connect>' expected.");
4216 /* rule 102 can match eol */
4218 FAIL("Starting tag <set> is not allowed here.");
4221 /* rule 103 can match eol */
4224 AX_surfxml_set_id = 0;
4225 AX_surfxml_set_prefix = 0;
4226 AX_surfxml_set_suffix = 0;
4227 AX_surfxml_set_radical = 0;
4228 ENTER(AL_surfxml_set); pushbuffer(0);
4233 /* rule 104 can match eol */
4235 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_id);
4238 /* rule 105 can match eol */
4240 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_id);
4243 /* rule 106 can match eol */
4245 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_prefix);
4248 /* rule 107 can match eol */
4250 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_prefix);
4253 /* rule 108 can match eol */
4255 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_suffix);
4258 /* rule 109 can match eol */
4260 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_suffix);
4263 /* rule 110 can match eol */
4265 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_radical);
4268 /* rule 111 can match eol */
4270 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_radical);
4275 if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element.");
4276 if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element.");
4277 if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element.");
4278 if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element.");
4279 LEAVE; STag_surfxml_set();surfxml_pcdata_ix = 0; ENTER(E_surfxml_set);
4285 if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element.");
4286 if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element.");
4287 if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element.");
4288 if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element.");
4289 LEAVE; STag_surfxml_set(); surfxml_pcdata_ix = 0; ETag_surfxml_set(); popbuffer(); /* attribute */
4291 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4297 FAIL("Unexpected character `%c' in attribute list of set element.", surf_parse_text[0]);
4301 FAIL("Bad attribute `%s' in `set' element start tag.",surf_parse_text);
4303 case YY_STATE_EOF(AL_surfxml_set):
4304 FAIL("EOF in attribute list of `set' element.");
4308 /* rule 116 can match eol */
4313 popbuffer(); /* attribute */
4315 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4320 /* rule 117 can match eol */
4322 FAIL("Unexpected end-tag `%s': `</set>' expected.",surf_parse_text);
4326 FAIL("Unexpected character `%c': `</set>' expected.",surf_parse_text[0]);
4328 case YY_STATE_EOF(E_surfxml_set):
4329 FAIL("Premature EOF: `</set>' expected.");
4333 /* rule 119 can match eol */
4335 FAIL("Starting tag <foreach> is not allowed here.");
4338 /* rule 120 can match eol */
4341 AX_surfxml_foreach_set_id = 0;
4342 ENTER(AL_surfxml_foreach); pushbuffer(0);
4347 /* rule 121 can match eol */
4349 ENTER(VALUE1); BUFFERSET(AX_surfxml_foreach_set_id);
4352 /* rule 122 can match eol */
4354 ENTER(VALUE2); BUFFERSET(AX_surfxml_foreach_set_id);
4359 if (!AX_surfxml_foreach_set_id) FAIL("Required attribute `set_id' not set for `foreach' element.");
4360 LEAVE; STag_surfxml_foreach();surfxml_pcdata_ix = 0; ENTER(S_surfxml_foreach);
4365 FAIL("`foreach' element cannot be empty.");
4369 FAIL("Unexpected character `%c' in attribute list of foreach element.", surf_parse_text[0]);
4373 FAIL("Bad attribute `%s' in `foreach' element start tag.",surf_parse_text);
4375 case YY_STATE_EOF(AL_surfxml_foreach):
4376 FAIL("EOF in attribute list of `foreach' element.");
4380 /* rule 127 can match eol */
4384 ETag_surfxml_foreach();
4385 popbuffer(); /* attribute */
4387 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4392 /* rule 128 can match eol */
4394 FAIL("Unexpected end-tag `%s': `</foreach>' expected.",surf_parse_text);
4398 FAIL("Unexpected character `%c': `</foreach>' expected.",surf_parse_text[0]);
4400 case YY_STATE_EOF(E_surfxml_foreach):
4401 FAIL("Premature EOF: `</foreach>' expected.");
4405 /* rule 130 can match eol */
4407 FAIL("Starting tag <host> is not allowed here.");
4410 /* rule 131 can match eol */
4413 AX_surfxml_host_id = 0;
4414 AX_surfxml_host_power = 0;
4415 AX_surfxml_host_availability = 69;
4416 AX_surfxml_host_availability_file = 0;
4417 AX_surfxml_host_state = A_surfxml_host_state_ON;
4418 AX_surfxml_host_state_file = 0;
4419 AX_surfxml_host_interference_send = 73;
4420 AX_surfxml_host_interference_recv = 77;
4421 AX_surfxml_host_interference_send_recv = 81;
4422 AX_surfxml_host_max_outgoing_rate = 85;
4423 ENTER(AL_surfxml_host); pushbuffer(0);
4428 /* rule 132 can match eol */
4430 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4433 /* rule 133 can match eol */
4435 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4438 /* rule 134 can match eol */
4440 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4443 /* rule 135 can match eol */
4445 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4448 /* rule 136 can match eol */
4450 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4453 /* rule 137 can match eol */
4455 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4458 /* rule 138 can match eol */
4460 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4463 /* rule 139 can match eol */
4465 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4468 /* rule 140 can match eol */
4470 /* rule 141 can match eol */
4472 A_surfxml_host_state = A_surfxml_host_state_ON;
4475 /* rule 142 can match eol */
4477 /* rule 143 can match eol */
4479 A_surfxml_host_state = A_surfxml_host_state_OFF;
4482 /* rule 144 can match eol */
4484 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4487 /* rule 145 can match eol */
4489 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4492 /* rule 146 can match eol */
4494 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send);
4497 /* rule 147 can match eol */
4499 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send);
4502 /* rule 148 can match eol */
4504 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_recv);
4507 /* rule 149 can match eol */
4509 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_recv);
4512 /* rule 150 can match eol */
4514 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send_recv);
4517 /* rule 151 can match eol */
4519 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send_recv);
4522 /* rule 152 can match eol */
4524 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4527 /* rule 153 can match eol */
4529 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4534 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4535 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4536 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4542 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4543 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4544 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4546 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4547 case S_surfxml_foreach: SET(S_surfxml_foreach_1); break;
4553 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4557 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4559 case YY_STATE_EOF(AL_surfxml_host):
4560 FAIL("EOF in attribute list of `host' element.");
4564 /* rule 158 can match eol */
4568 ETag_surfxml_host();
4569 popbuffer(); /* attribute */
4571 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4572 case S_surfxml_foreach: SET(S_surfxml_foreach_1); break;
4577 /* rule 159 can match eol */
4579 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4583 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4585 case YY_STATE_EOF(S_surfxml_host):
4586 case YY_STATE_EOF(E_surfxml_host):
4587 case YY_STATE_EOF(S_surfxml_host_2):
4588 FAIL("Premature EOF: `</host>' expected.");
4592 /* rule 161 can match eol */
4594 FAIL("Starting tag <prop> is not allowed here.");
4597 /* rule 162 can match eol */
4600 AX_surfxml_prop_id = 0;
4601 AX_surfxml_prop_value = 0;
4602 ENTER(AL_surfxml_prop); pushbuffer(0);
4607 /* rule 163 can match eol */
4609 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
4612 /* rule 164 can match eol */
4614 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
4617 /* rule 165 can match eol */
4619 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
4622 /* rule 166 can match eol */
4624 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
4629 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
4630 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
4631 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
4637 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
4638 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
4639 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
4641 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
4642 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
4643 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
4644 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
4650 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
4654 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
4656 case YY_STATE_EOF(AL_surfxml_prop):
4657 FAIL("EOF in attribute list of `prop' element.");
4661 /* rule 171 can match eol */
4665 ETag_surfxml_prop();
4666 popbuffer(); /* attribute */
4668 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
4669 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
4670 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
4671 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
4676 /* rule 172 can match eol */
4678 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
4682 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
4684 case YY_STATE_EOF(E_surfxml_prop):
4685 FAIL("Premature EOF: `</prop>' expected.");
4689 /* rule 174 can match eol */
4691 FAIL("Starting tag <cluster> is not allowed here.");
4694 /* rule 175 can match eol */
4697 AX_surfxml_cluster_id = 0;
4698 AX_surfxml_cluster_prefix = 0;
4699 AX_surfxml_cluster_suffix = 0;
4700 AX_surfxml_cluster_radical = 0;
4701 AX_surfxml_cluster_power = 0;
4702 AX_surfxml_cluster_bw = 0;
4703 AX_surfxml_cluster_lat = 0;
4704 AX_surfxml_cluster_bb_bw = 0;
4705 AX_surfxml_cluster_bb_lat = 0;
4706 ENTER(AL_surfxml_cluster); pushbuffer(0);
4711 /* rule 176 can match eol */
4713 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4716 /* rule 177 can match eol */
4718 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4721 /* rule 178 can match eol */
4723 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4726 /* rule 179 can match eol */
4728 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4731 /* rule 180 can match eol */
4733 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4736 /* rule 181 can match eol */
4738 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4741 /* rule 182 can match eol */
4743 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4746 /* rule 183 can match eol */
4748 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4751 /* rule 184 can match eol */
4753 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4756 /* rule 185 can match eol */
4758 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4761 /* rule 186 can match eol */
4763 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4766 /* rule 187 can match eol */
4768 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4771 /* rule 188 can match eol */
4773 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4776 /* rule 189 can match eol */
4778 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4781 /* rule 190 can match eol */
4783 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4786 /* rule 191 can match eol */
4788 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4791 /* rule 192 can match eol */
4793 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4796 /* rule 193 can match eol */
4798 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4803 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4804 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4805 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4806 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4807 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4808 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4809 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4810 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4811 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4812 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4818 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4819 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4820 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4821 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4822 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4823 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4824 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4825 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4826 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4827 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4829 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4835 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4839 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4841 case YY_STATE_EOF(AL_surfxml_cluster):
4842 FAIL("EOF in attribute list of `cluster' element.");
4846 /* rule 198 can match eol */
4850 ETag_surfxml_cluster();
4851 popbuffer(); /* attribute */
4853 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4858 /* rule 199 can match eol */
4860 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4864 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4866 case YY_STATE_EOF(E_surfxml_cluster):
4867 FAIL("Premature EOF: `</cluster>' expected.");
4871 /* rule 201 can match eol */
4873 FAIL("Starting tag <router> is not allowed here.");
4876 /* rule 202 can match eol */
4879 AX_surfxml_router_id = 0;
4880 ENTER(AL_surfxml_router); pushbuffer(0);
4885 /* rule 203 can match eol */
4887 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
4890 /* rule 204 can match eol */
4892 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
4897 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4898 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
4904 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4905 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
4907 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4913 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
4917 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
4919 case YY_STATE_EOF(AL_surfxml_router):
4920 FAIL("EOF in attribute list of `router' element.");
4924 /* rule 209 can match eol */
4928 ETag_surfxml_router();
4929 popbuffer(); /* attribute */
4931 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4936 /* rule 210 can match eol */
4938 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
4942 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
4944 case YY_STATE_EOF(E_surfxml_router):
4945 FAIL("Premature EOF: `</router>' expected.");
4949 /* rule 212 can match eol */
4951 FAIL("Starting tag <link> is not allowed here.");
4954 /* rule 213 can match eol */
4957 AX_surfxml_link_id = 0;
4958 AX_surfxml_link_bandwidth = 0;
4959 AX_surfxml_link_bandwidth_file = 0;
4960 AX_surfxml_link_latency = 90;
4961 AX_surfxml_link_latency_file = 0;
4962 AX_surfxml_link_state = A_surfxml_link_state_ON;
4963 AX_surfxml_link_state_file = 0;
4964 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4965 ENTER(AL_surfxml_link); pushbuffer(0);
4970 /* rule 214 can match eol */
4972 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
4975 /* rule 215 can match eol */
4977 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
4980 /* rule 216 can match eol */
4982 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
4985 /* rule 217 can match eol */
4987 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
4990 /* rule 218 can match eol */
4992 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
4995 /* rule 219 can match eol */
4997 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5000 /* rule 220 can match eol */
5002 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5005 /* rule 221 can match eol */
5007 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5010 /* rule 222 can match eol */
5012 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5015 /* rule 223 can match eol */
5017 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5020 /* rule 224 can match eol */
5022 /* rule 225 can match eol */
5024 A_surfxml_link_state = A_surfxml_link_state_ON;
5027 /* rule 226 can match eol */
5029 /* rule 227 can match eol */
5031 A_surfxml_link_state = A_surfxml_link_state_OFF;
5034 /* rule 228 can match eol */
5036 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5039 /* rule 229 can match eol */
5041 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5044 /* rule 230 can match eol */
5046 /* rule 231 can match eol */
5048 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5051 /* rule 232 can match eol */
5053 /* rule 233 can match eol */
5055 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5060 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5061 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5062 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5068 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5069 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5070 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5072 case S_surfxml_foreach: case S_surfxml_foreach_1: SET(E_surfxml_foreach); break;
5073 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5079 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5083 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5085 case YY_STATE_EOF(AL_surfxml_link):
5086 FAIL("EOF in attribute list of `link' element.");
5090 /* rule 238 can match eol */
5094 ETag_surfxml_link();
5095 popbuffer(); /* attribute */
5097 case S_surfxml_foreach: case S_surfxml_foreach_1: SET(E_surfxml_foreach); break;
5098 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5103 /* rule 239 can match eol */
5105 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5109 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5111 case YY_STATE_EOF(S_surfxml_link_2):
5112 case YY_STATE_EOF(E_surfxml_link):
5113 case YY_STATE_EOF(S_surfxml_link):
5114 FAIL("Premature EOF: `</link>' expected.");
5118 /* rule 241 can match eol */
5120 FAIL("Starting tag <route:multi> is not allowed here.");
5123 /* rule 242 can match eol */
5126 AX_surfxml_route_c_multi_src = 0;
5127 AX_surfxml_route_c_multi_dst = 0;
5128 AX_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND;
5129 AX_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES;
5130 ENTER(AL_surfxml_route_c_multi); pushbuffer(0);
5135 /* rule 243 can match eol */
5137 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_src);
5140 /* rule 244 can match eol */
5142 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_src);
5145 /* rule 245 can match eol */
5147 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_dst);
5150 /* rule 246 can match eol */
5152 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_dst);
5155 /* rule 247 can match eol */
5157 /* rule 248 can match eol */
5159 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND;
5162 /* rule 249 can match eol */
5164 /* rule 250 can match eol */
5166 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_PREPEND;
5169 /* rule 251 can match eol */
5171 /* rule 252 can match eol */
5173 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_OVERRIDE;
5176 /* rule 253 can match eol */
5178 /* rule 254 can match eol */
5180 A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES;
5183 /* rule 255 can match eol */
5185 /* rule 256 can match eol */
5187 A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_NO;
5192 if (!AX_surfxml_route_c_multi_src) FAIL("Required attribute `src' not set for `route:multi' element.");
5193 if (!AX_surfxml_route_c_multi_dst) FAIL("Required attribute `dst' not set for `route:multi' element.");
5194 LEAVE; STag_surfxml_route_c_multi();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route_c_multi);
5199 FAIL("`route:multi' element cannot be empty.");
5203 FAIL("Unexpected character `%c' in attribute list of route:multi element.", surf_parse_text[0]);
5207 FAIL("Bad attribute `%s' in `route:multi' element start tag.",surf_parse_text);
5209 case YY_STATE_EOF(AL_surfxml_route_c_multi):
5210 FAIL("EOF in attribute list of `route:multi' element.");
5214 /* rule 261 can match eol */
5218 ETag_surfxml_route_c_multi();
5219 popbuffer(); /* attribute */
5221 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5226 /* rule 262 can match eol */
5228 FAIL("Unexpected end-tag `%s': `</route:multi>' expected.",surf_parse_text);
5232 FAIL("Unexpected character `%c': `</route:multi>' expected.",surf_parse_text[0]);
5234 case YY_STATE_EOF(S_surfxml_route_c_multi_2):
5235 case YY_STATE_EOF(E_surfxml_route_c_multi):
5236 FAIL("Premature EOF: `</route:multi>' expected.");
5240 /* rule 264 can match eol */
5242 FAIL("Starting tag <route> is not allowed here.");
5245 /* rule 265 can match eol */
5248 AX_surfxml_route_src = 0;
5249 AX_surfxml_route_dst = 0;
5250 AX_surfxml_route_impact_on_src = 94;
5251 AX_surfxml_route_impact_on_dst = 98;
5252 AX_surfxml_route_impact_on_src_with_other_recv = 102;
5253 AX_surfxml_route_impact_on_dst_with_other_send = 106;
5254 AX_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5255 ENTER(AL_surfxml_route); pushbuffer(0);
5260 /* rule 266 can match eol */
5262 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5265 /* rule 267 can match eol */
5267 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5270 /* rule 268 can match eol */
5272 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5275 /* rule 269 can match eol */
5277 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5280 /* rule 270 can match eol */
5282 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src);
5285 /* rule 271 can match eol */
5287 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src);
5290 /* rule 272 can match eol */
5292 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst);
5295 /* rule 273 can match eol */
5297 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst);
5300 /* rule 274 can match eol */
5302 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5305 /* rule 275 can match eol */
5307 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5310 /* rule 276 can match eol */
5312 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5315 /* rule 277 can match eol */
5317 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5320 /* rule 278 can match eol */
5322 /* rule 279 can match eol */
5324 A_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5327 /* rule 280 can match eol */
5329 /* rule 281 can match eol */
5331 A_surfxml_route_action = A_surfxml_route_action_PREPEND;
5334 /* rule 282 can match eol */
5336 /* rule 283 can match eol */
5338 A_surfxml_route_action = A_surfxml_route_action_OVERRIDE;
5343 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5344 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5345 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5351 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5352 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5353 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5355 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5361 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5365 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5367 case YY_STATE_EOF(AL_surfxml_route):
5368 FAIL("EOF in attribute list of `route' element.");
5372 /* rule 288 can match eol */
5376 ETag_surfxml_route();
5377 popbuffer(); /* attribute */
5379 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5384 /* rule 289 can match eol */
5386 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5390 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5392 case YY_STATE_EOF(S_surfxml_route):
5393 case YY_STATE_EOF(S_surfxml_route_2):
5394 case YY_STATE_EOF(E_surfxml_route):
5395 FAIL("Premature EOF: `</route>' expected.");
5399 /* rule 291 can match eol */
5401 FAIL("Starting tag <link:ctn> is not allowed here.");
5404 /* rule 292 can match eol */
5407 AX_surfxml_link_c_ctn_id = 0;
5408 ENTER(AL_surfxml_link_c_ctn); pushbuffer(0);
5413 /* rule 293 can match eol */
5415 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_c_ctn_id);
5418 /* rule 294 can match eol */
5420 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_c_ctn_id);
5425 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5426 LEAVE; STag_surfxml_link_c_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_c_ctn);
5432 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5433 LEAVE; STag_surfxml_link_c_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_c_ctn(); popbuffer(); /* attribute */
5435 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5436 case S_surfxml_route_c_multi_2: case S_surfxml_route_c_multi_1: case S_surfxml_route_c_multi: SET(S_surfxml_route_c_multi_2); break;
5442 FAIL("Unexpected character `%c' in attribute list of link:ctn element.", surf_parse_text[0]);
5446 FAIL("Bad attribute `%s' in `link:ctn' element start tag.",surf_parse_text);
5448 case YY_STATE_EOF(AL_surfxml_link_c_ctn):
5449 FAIL("EOF in attribute list of `link:ctn' element.");
5453 /* rule 299 can match eol */
5457 ETag_surfxml_link_c_ctn();
5458 popbuffer(); /* attribute */
5460 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5461 case S_surfxml_route_c_multi_2: case S_surfxml_route_c_multi_1: case S_surfxml_route_c_multi: SET(S_surfxml_route_c_multi_2); break;
5466 /* rule 300 can match eol */
5468 FAIL("Unexpected end-tag `%s': `</link:ctn>' expected.",surf_parse_text);
5472 FAIL("Unexpected character `%c': `</link:ctn>' expected.",surf_parse_text[0]);
5474 case YY_STATE_EOF(E_surfxml_link_c_ctn):
5475 FAIL("Premature EOF: `</link:ctn>' expected.");
5479 /* rule 302 can match eol */
5481 FAIL("Starting tag <process> is not allowed here.");
5484 /* rule 303 can match eol */
5487 AX_surfxml_process_host = 0;
5488 AX_surfxml_process_function = 0;
5489 AX_surfxml_process_start_time = 110;
5490 AX_surfxml_process_kill_time = 115;
5491 ENTER(AL_surfxml_process); pushbuffer(0);
5496 /* rule 304 can match eol */
5498 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5501 /* rule 305 can match eol */
5503 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5506 /* rule 306 can match eol */
5508 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5511 /* rule 307 can match eol */
5513 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5516 /* rule 308 can match eol */
5518 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5521 /* rule 309 can match eol */
5523 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5526 /* rule 310 can match eol */
5528 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5531 /* rule 311 can match eol */
5533 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5538 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5539 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5540 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5546 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5547 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5548 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5550 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5556 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5560 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5562 case YY_STATE_EOF(AL_surfxml_process):
5563 FAIL("EOF in attribute list of `process' element.");
5567 /* rule 316 can match eol */
5571 ETag_surfxml_process();
5572 popbuffer(); /* attribute */
5574 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5579 /* rule 317 can match eol */
5581 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5585 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5587 case YY_STATE_EOF(S_surfxml_process):
5588 case YY_STATE_EOF(E_surfxml_process):
5589 case YY_STATE_EOF(S_surfxml_process_2):
5590 FAIL("Premature EOF: `</process>' expected.");
5594 /* rule 319 can match eol */
5596 FAIL("Starting tag <argument> is not allowed here.");
5599 /* rule 320 can match eol */
5602 AX_surfxml_argument_value = 0;
5603 ENTER(AL_surfxml_argument); pushbuffer(0);
5608 /* rule 321 can match eol */
5610 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5613 /* rule 322 can match eol */
5615 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5620 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5621 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5627 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5628 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5630 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5636 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5640 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5642 case YY_STATE_EOF(AL_surfxml_argument):
5643 FAIL("EOF in attribute list of `argument' element.");
5647 /* rule 327 can match eol */
5651 ETag_surfxml_argument();
5652 popbuffer(); /* attribute */
5654 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5659 /* rule 328 can match eol */
5661 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5665 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5667 case YY_STATE_EOF(E_surfxml_argument):
5668 FAIL("Premature EOF: `</argument>' expected.");
5671 /* EPILOG: after the root element. */
5675 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
5677 case YY_STATE_EOF(EPILOG):
5681 /* CHARACTER DATA. */
5683 /* Non-defined standard entities... */
5704 /* Character entities. */
5707 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
5711 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
5715 /* rule 338 can match eol */
5717 /* rule 339 can match eol */
5719 /* rule 340 can match eol */
5721 /* rule 341 can match eol */
5732 FAIL("Unexpected `]""]>' in character data.");
5739 case YY_STATE_EOF(VALUE1):
5740 FAIL("EOF in literal (\"'\" expected).");
5747 case YY_STATE_EOF(VALUE2):
5748 FAIL("EOF in literal (`\"' expected).");
5752 /* rule 346 can match eol */
5754 BUFFERPUTC(surf_parse_text[0]);
5758 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
5765 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5768 BUFFERPUTC(surf_parse_text[0]);
5770 case YY_STATE_EOF(CDATA):
5771 FAIL("EOF in CDATA section.");
5774 /* Impossible rules to avoid warnings from flex(1). */
5775 /* Ideally, this should be replaced by code in flexml.pl that
5776 generates just the states not covered by other rules. */
5779 /* rule 350 can match eol */
5781 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5788 case YY_STATE_EOF(INITIAL):
5789 case YY_STATE_EOF(ROOT_surfxml_platform):
5790 case YY_STATE_EOF(S_surfxml_platform_2):
5791 case YY_STATE_EOF(S_surfxml_platform_4):
5792 case YY_STATE_EOF(S_surfxml_random_1):
5793 case YY_STATE_EOF(S_surfxml_foreach):
5794 case YY_STATE_EOF(S_surfxml_foreach_1):
5795 case YY_STATE_EOF(S_surfxml_host_1):
5796 case YY_STATE_EOF(S_surfxml_link_1):
5797 case YY_STATE_EOF(S_surfxml_route_c_multi):
5798 case YY_STATE_EOF(S_surfxml_route_c_multi_1):
5799 case YY_STATE_EOF(S_surfxml_route_1):
5800 case YY_STATE_EOF(S_surfxml_process_1):
5801 case YY_STATE_EOF(IMPOSSIBLE):
5804 case YY_END_OF_BUFFER:
5806 /* Amount of text matched not including the EOB char. */
5807 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5809 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5810 *yy_cp = (yy_hold_char);
5811 YY_RESTORE_YY_MORE_OFFSET
5813 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5815 /* We're scanning a new file or input source. It's
5816 * possible that this happened because the user
5817 * just pointed surf_parse_in at a new source and called
5818 * surf_parse_lex(). If so, then we have to assure
5819 * consistency between YY_CURRENT_BUFFER and our
5820 * globals. Here is the right place to do so, because
5821 * this is the first action (other than possibly a
5822 * back-up) that will match for the new input source.
5824 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5825 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5826 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5829 /* Note that here we test for yy_c_buf_p "<=" to the position
5830 * of the first EOB in the buffer, since yy_c_buf_p will
5831 * already have been incremented past the NUL character
5832 * (since all states make transitions on EOB to the
5833 * end-of-buffer state). Contrast this with the test
5836 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5837 { /* This was really a NUL. */
5838 yy_state_type yy_next_state;
5840 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5842 yy_current_state = yy_get_previous_state( );
5844 /* Okay, we're now positioned to make the NUL
5845 * transition. We couldn't have
5846 * yy_get_previous_state() go ahead and do it
5847 * for us because it doesn't know how to deal
5848 * with the possibility of jamming (and we don't
5849 * want to build jamming into it because then it
5850 * will run more slowly).
5853 yy_next_state = yy_try_NUL_trans( yy_current_state );
5855 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5857 if ( yy_next_state )
5859 /* Consume the NUL. */
5860 yy_cp = ++(yy_c_buf_p);
5861 yy_current_state = yy_next_state;
5867 yy_cp = (yy_c_buf_p);
5868 goto yy_find_action;
5872 else switch ( yy_get_next_buffer( ) )
5874 case EOB_ACT_END_OF_FILE:
5876 (yy_did_buffer_switch_on_eof) = 0;
5878 if ( surf_parse_wrap( ) )
5880 /* Note: because we've taken care in
5881 * yy_get_next_buffer() to have set up
5882 * surf_parse_text, we can now set up
5883 * yy_c_buf_p so that if some total
5884 * hoser (like flex itself) wants to
5885 * call the scanner after we return the
5886 * YY_NULL, it'll still work - another
5887 * YY_NULL will get returned.
5889 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5891 yy_act = YY_STATE_EOF(YY_START);
5897 if ( ! (yy_did_buffer_switch_on_eof) )
5903 case EOB_ACT_CONTINUE_SCAN:
5905 (yytext_ptr) + yy_amount_of_matched_text;
5907 yy_current_state = yy_get_previous_state( );
5909 yy_cp = (yy_c_buf_p);
5910 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5913 case EOB_ACT_LAST_MATCH:
5915 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
5917 yy_current_state = yy_get_previous_state( );
5919 yy_cp = (yy_c_buf_p);
5920 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5921 goto yy_find_action;
5928 "fatal flex scanner internal error--no action found" );
5929 } /* end of action switch */
5930 } /* end of scanning one token */
5931 } /* end of surf_parse_lex */
5933 /* yy_get_next_buffer - try to read in a new buffer
5935 * Returns a code representing an action:
5936 * EOB_ACT_LAST_MATCH -
5937 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5938 * EOB_ACT_END_OF_FILE - end of file
5940 static int yy_get_next_buffer (void)
5942 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
5943 register char *source = (yytext_ptr);
5944 register int number_to_move, i;
5947 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
5949 "fatal flex scanner internal error--end of buffer missed" );
5951 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
5952 { /* Don't try to fill the buffer, so this is an EOF. */
5953 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
5955 /* We matched a single character, the EOB, so
5956 * treat this as a final EOF.
5958 return EOB_ACT_END_OF_FILE;
5963 /* We matched some text prior to the EOB, first
5966 return EOB_ACT_LAST_MATCH;
5970 /* Try to read more data. */
5972 /* First move last chars to start of buffer. */
5973 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
5975 for ( i = 0; i < number_to_move; ++i )
5976 *(dest++) = *(source++);
5978 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
5979 /* don't do the read, it's not guaranteed to return an EOF,
5982 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
5987 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
5989 while ( num_to_read <= 0 )
5990 { /* Not enough room in the buffer - grow it. */
5992 /* just a shorter name for the current buffer */
5993 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
5995 int yy_c_buf_p_offset =
5996 (int) ((yy_c_buf_p) - b->yy_ch_buf);
5998 if ( b->yy_is_our_buffer )
6000 int new_size = b->yy_buf_size * 2;
6002 if ( new_size <= 0 )
6003 b->yy_buf_size += b->yy_buf_size / 8;
6005 b->yy_buf_size *= 2;
6007 b->yy_ch_buf = (char *)
6008 /* Include room in for 2 EOB chars. */
6009 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6012 /* Can't grow it, we don't own it. */
6015 if ( ! b->yy_ch_buf )
6017 "fatal error - scanner input buffer overflow" );
6019 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6021 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6026 if ( num_to_read > YY_READ_BUF_SIZE )
6027 num_to_read = YY_READ_BUF_SIZE;
6029 /* Read in more data. */
6030 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6031 (yy_n_chars), (size_t) num_to_read );
6033 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6036 if ( (yy_n_chars) == 0 )
6038 if ( number_to_move == YY_MORE_ADJ )
6040 ret_val = EOB_ACT_END_OF_FILE;
6041 surf_parse_restart(surf_parse_in );
6046 ret_val = EOB_ACT_LAST_MATCH;
6047 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6048 YY_BUFFER_EOF_PENDING;
6053 ret_val = EOB_ACT_CONTINUE_SCAN;
6055 (yy_n_chars) += number_to_move;
6056 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6057 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6059 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6064 /* yy_get_previous_state - get the state just before the EOB char was reached */
6066 static yy_state_type yy_get_previous_state (void)
6068 register yy_state_type yy_current_state;
6069 register char *yy_cp;
6071 yy_current_state = (yy_start);
6073 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6075 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6076 if ( yy_accept[yy_current_state] )
6078 (yy_last_accepting_state) = yy_current_state;
6079 (yy_last_accepting_cpos) = yy_cp;
6081 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6083 yy_current_state = (int) yy_def[yy_current_state];
6084 if ( yy_current_state >= 2023 )
6085 yy_c = yy_meta[(unsigned int) yy_c];
6087 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6090 return yy_current_state;
6093 /* yy_try_NUL_trans - try to make a transition on the NUL character
6096 * next_state = yy_try_NUL_trans( current_state );
6098 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6100 register int yy_is_jam;
6101 register char *yy_cp = (yy_c_buf_p);
6103 register YY_CHAR yy_c = 1;
6104 if ( yy_accept[yy_current_state] )
6106 (yy_last_accepting_state) = yy_current_state;
6107 (yy_last_accepting_cpos) = yy_cp;
6109 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6111 yy_current_state = (int) yy_def[yy_current_state];
6112 if ( yy_current_state >= 2023 )
6113 yy_c = yy_meta[(unsigned int) yy_c];
6115 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6116 yy_is_jam = (yy_current_state == 2022);
6118 return yy_is_jam ? 0 : yy_current_state;
6123 static int yyinput (void)
6125 static int input (void)
6131 *(yy_c_buf_p) = (yy_hold_char);
6133 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6135 /* yy_c_buf_p now points to the character we want to return.
6136 * If this occurs *before* the EOB characters, then it's a
6137 * valid NUL; if not, then we've hit the end of the buffer.
6139 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6140 /* This was really a NUL. */
6141 *(yy_c_buf_p) = '\0';
6144 { /* need more input */
6145 int offset = (yy_c_buf_p) - (yytext_ptr);
6148 switch ( yy_get_next_buffer( ) )
6150 case EOB_ACT_LAST_MATCH:
6151 /* This happens because yy_g_n_b()
6152 * sees that we've accumulated a
6153 * token and flags that we need to
6154 * try matching the token before
6155 * proceeding. But for input(),
6156 * there's no matching to consider.
6157 * So convert the EOB_ACT_LAST_MATCH
6158 * to EOB_ACT_END_OF_FILE.
6161 /* Reset buffer status. */
6162 surf_parse_restart(surf_parse_in );
6166 case EOB_ACT_END_OF_FILE:
6168 if ( surf_parse_wrap( ) )
6171 if ( ! (yy_did_buffer_switch_on_eof) )
6180 case EOB_ACT_CONTINUE_SCAN:
6181 (yy_c_buf_p) = (yytext_ptr) + offset;
6187 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6188 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6189 (yy_hold_char) = *++(yy_c_buf_p);
6193 surf_parse_lineno++;
6198 #endif /* ifndef YY_NO_INPUT */
6200 /** Immediately switch to a different input stream.
6201 * @param input_file A readable stream.
6203 * @note This function does not reset the start condition to @c INITIAL .
6205 void surf_parse_restart (FILE * input_file )
6208 if ( ! YY_CURRENT_BUFFER ){
6209 surf_parse_ensure_buffer_stack ();
6210 YY_CURRENT_BUFFER_LVALUE =
6211 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6214 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6215 surf_parse__load_buffer_state( );
6218 /** Switch to a different input buffer.
6219 * @param new_buffer The new input buffer.
6222 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6225 /* TODO. We should be able to replace this entire function body
6227 * surf_parse_pop_buffer_state();
6228 * surf_parse_push_buffer_state(new_buffer);
6230 surf_parse_ensure_buffer_stack ();
6231 if ( YY_CURRENT_BUFFER == new_buffer )
6234 if ( YY_CURRENT_BUFFER )
6236 /* Flush out information for old buffer. */
6237 *(yy_c_buf_p) = (yy_hold_char);
6238 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6239 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6242 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6243 surf_parse__load_buffer_state( );
6245 /* We don't actually know whether we did this switch during
6246 * EOF (surf_parse_wrap()) processing, but the only time this flag
6247 * is looked at is after surf_parse_wrap() is called, so it's safe
6248 * to go ahead and always set it.
6250 (yy_did_buffer_switch_on_eof) = 1;
6253 static void surf_parse__load_buffer_state (void)
6255 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6256 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6257 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6258 (yy_hold_char) = *(yy_c_buf_p);
6261 /** Allocate and initialize an input buffer state.
6262 * @param file A readable stream.
6263 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6265 * @return the allocated buffer state.
6267 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6271 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6273 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6275 b->yy_buf_size = size;
6277 /* yy_ch_buf has to be 2 characters longer than the size given because
6278 * we need to put in 2 end-of-buffer characters.
6280 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6281 if ( ! b->yy_ch_buf )
6282 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6284 b->yy_is_our_buffer = 1;
6286 surf_parse__init_buffer(b,file );
6291 /** Destroy the buffer.
6292 * @param b a buffer created with surf_parse__create_buffer()
6295 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6301 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6302 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6304 if ( b->yy_is_our_buffer )
6305 surf_parse_free((void *) b->yy_ch_buf );
6307 surf_parse_free((void *) b );
6311 extern int isatty (int );
6312 #endif /* __cplusplus */
6314 /* Initializes or reinitializes a buffer.
6315 * This function is sometimes called more than once on the same buffer,
6316 * such as during a surf_parse_restart() or at EOF.
6318 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6323 surf_parse__flush_buffer(b );
6325 b->yy_input_file = file;
6326 b->yy_fill_buffer = 1;
6328 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6329 * called from surf_parse_restart() or through yy_get_next_buffer.
6330 * In that case, we don't want to reset the lineno or column.
6332 if (b != YY_CURRENT_BUFFER){
6333 b->yy_bs_lineno = 1;
6334 b->yy_bs_column = 0;
6337 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6342 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6343 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6346 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6353 /* We always need two end-of-buffer characters. The first causes
6354 * a transition to the end-of-buffer state. The second causes
6355 * a jam in that state.
6357 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6358 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6360 b->yy_buf_pos = &b->yy_ch_buf[0];
6363 b->yy_buffer_status = YY_BUFFER_NEW;
6365 if ( b == YY_CURRENT_BUFFER )
6366 surf_parse__load_buffer_state( );
6369 /** Pushes the new state onto the stack. The new state becomes
6370 * the current state. This function will allocate the stack
6372 * @param new_buffer The new state.
6375 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6377 if (new_buffer == NULL)
6380 surf_parse_ensure_buffer_stack();
6382 /* This block is copied from surf_parse__switch_to_buffer. */
6383 if ( YY_CURRENT_BUFFER )
6385 /* Flush out information for old buffer. */
6386 *(yy_c_buf_p) = (yy_hold_char);
6387 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6388 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6391 /* Only push if top exists. Otherwise, replace top. */
6392 if (YY_CURRENT_BUFFER)
6393 (yy_buffer_stack_top)++;
6394 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6396 /* copied from surf_parse__switch_to_buffer. */
6397 surf_parse__load_buffer_state( );
6398 (yy_did_buffer_switch_on_eof) = 1;
6401 /** Removes and deletes the top of the stack, if present.
6402 * The next element becomes the new top.
6405 void surf_parse_pop_buffer_state (void)
6407 if (!YY_CURRENT_BUFFER)
6410 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6411 YY_CURRENT_BUFFER_LVALUE = NULL;
6412 if ((yy_buffer_stack_top) > 0)
6413 --(yy_buffer_stack_top);
6415 if (YY_CURRENT_BUFFER) {
6416 surf_parse__load_buffer_state( );
6417 (yy_did_buffer_switch_on_eof) = 1;
6421 /* Allocates the stack if it does not exist.
6422 * Guarantees space for at least one push.
6424 static void surf_parse_ensure_buffer_stack (void)
6428 if (!(yy_buffer_stack)) {
6430 /* First allocation is just for 2 elements, since we don't know if this
6431 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6432 * immediate realloc on the next call.
6435 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6436 (num_to_alloc * sizeof(struct yy_buffer_state*)
6439 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6441 (yy_buffer_stack_max) = num_to_alloc;
6442 (yy_buffer_stack_top) = 0;
6446 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6448 /* Increase the buffer to prepare for a possible push. */
6449 int grow_size = 8 /* arbitrary grow size */;
6451 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6452 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
6454 num_to_alloc * sizeof(struct yy_buffer_state*)
6457 /* zero only the new slots.*/
6458 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6459 (yy_buffer_stack_max) = num_to_alloc;
6463 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6464 * @param base the character buffer
6465 * @param size the size in bytes of the character buffer
6467 * @return the newly allocated buffer state object.
6469 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
6474 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6475 base[size-1] != YY_END_OF_BUFFER_CHAR )
6476 /* They forgot to leave room for the EOB's. */
6479 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6481 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
6483 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6484 b->yy_buf_pos = b->yy_ch_buf = base;
6485 b->yy_is_our_buffer = 0;
6486 b->yy_input_file = 0;
6487 b->yy_n_chars = b->yy_buf_size;
6488 b->yy_is_interactive = 0;
6490 b->yy_fill_buffer = 0;
6491 b->yy_buffer_status = YY_BUFFER_NEW;
6493 surf_parse__switch_to_buffer(b );
6498 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6499 * scan from a @e copy of @a str.
6500 * @param yystr a NUL-terminated string to scan
6502 * @return the newly allocated buffer state object.
6503 * @note If you want to scan bytes that may contain NUL values, then use
6504 * surf_parse__scan_bytes() instead.
6506 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
6509 return surf_parse__scan_bytes(yystr,strlen(yystr) );
6512 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6513 * scan from a @e copy of @a bytes.
6514 * @param bytes the byte buffer to scan
6515 * @param len the number of bytes in the buffer pointed to by @a bytes.
6517 * @return the newly allocated buffer state object.
6519 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
6526 /* Get memory for full buffer, including space for trailing EOB's. */
6527 n = _yybytes_len + 2;
6528 buf = (char *) surf_parse_alloc(n );
6530 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
6532 for ( i = 0; i < _yybytes_len; ++i )
6533 buf[i] = yybytes[i];
6535 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6537 b = surf_parse__scan_buffer(buf,n );
6539 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
6541 /* It's okay to grow etc. this buffer, and we should throw it
6542 * away when we're done.
6544 b->yy_is_our_buffer = 1;
6549 static void yy_push_state (int new_state )
6551 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
6555 (yy_start_stack_depth) += YY_START_STACK_INCR;
6556 new_size = (yy_start_stack_depth) * sizeof( int );
6558 if ( ! (yy_start_stack) )
6559 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
6562 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
6564 if ( ! (yy_start_stack) )
6566 "out of memory expanding start-condition stack" );
6569 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6574 static void yy_pop_state (void)
6576 if ( --(yy_start_stack_ptr) < 0 )
6577 YY_FATAL_ERROR( "start-condition stack underflow" );
6579 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6582 #ifndef YY_EXIT_FAILURE
6583 #define YY_EXIT_FAILURE 2
6586 static void yy_fatal_error (yyconst char* msg )
6588 (void) fprintf( stderr, "%s\n", msg );
6589 exit( YY_EXIT_FAILURE );
6592 /* Redefine yyless() so it works in section 3 code. */
6598 /* Undo effects of setting up surf_parse_text. */ \
6599 int yyless_macro_arg = (n); \
6600 YY_LESS_LINENO(yyless_macro_arg);\
6601 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6602 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6603 (yy_hold_char) = *(yy_c_buf_p); \
6604 *(yy_c_buf_p) = '\0'; \
6605 surf_parse_leng = yyless_macro_arg; \
6609 /* Accessor methods (get/set functions) to struct members. */
6611 /** Get the current line number.
6614 int surf_parse_get_lineno (void)
6617 return surf_parse_lineno;
6620 /** Get the input stream.
6623 FILE *surf_parse_get_in (void)
6625 return surf_parse_in;
6628 /** Get the output stream.
6631 FILE *surf_parse_get_out (void)
6633 return surf_parse_out;
6636 /** Get the length of the current token.
6639 int surf_parse_get_leng (void)
6641 return surf_parse_leng;
6644 /** Get the current token.
6648 char *surf_parse_get_text (void)
6650 return surf_parse_text;
6653 /** Set the current line number.
6654 * @param line_number
6657 void surf_parse_set_lineno (int line_number )
6660 surf_parse_lineno = line_number;
6663 /** Set the input stream. This does not discard the current
6665 * @param in_str A readable stream.
6667 * @see surf_parse__switch_to_buffer
6669 void surf_parse_set_in (FILE * in_str )
6671 surf_parse_in = in_str ;
6674 void surf_parse_set_out (FILE * out_str )
6676 surf_parse_out = out_str ;
6679 int surf_parse_get_debug (void)
6681 return surf_parse__flex_debug;
6684 void surf_parse_set_debug (int bdebug )
6686 surf_parse__flex_debug = bdebug ;
6689 static int yy_init_globals (void)
6691 /* Initialization is the same as for the non-reentrant scanner.
6692 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6695 /* We do not touch surf_parse_lineno unless the option is enabled. */
6696 surf_parse_lineno = 1;
6698 (yy_buffer_stack) = 0;
6699 (yy_buffer_stack_top) = 0;
6700 (yy_buffer_stack_max) = 0;
6701 (yy_c_buf_p) = (char *) 0;
6705 (yy_start_stack_ptr) = 0;
6706 (yy_start_stack_depth) = 0;
6707 (yy_start_stack) = NULL;
6709 /* Defined in main.c */
6711 surf_parse_in = stdin;
6712 surf_parse_out = stdout;
6714 surf_parse_in = (FILE *) 0;
6715 surf_parse_out = (FILE *) 0;
6718 /* For future reference: Set errno on error, since we are called by
6719 * surf_parse_lex_init()
6724 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6725 int surf_parse_lex_destroy (void)
6728 /* Pop the buffer stack, destroying each element. */
6729 while(YY_CURRENT_BUFFER){
6730 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6731 YY_CURRENT_BUFFER_LVALUE = NULL;
6732 surf_parse_pop_buffer_state();
6735 /* Destroy the stack itself. */
6736 surf_parse_free((yy_buffer_stack) );
6737 (yy_buffer_stack) = NULL;
6739 /* Destroy the start condition stack. */
6740 surf_parse_free((yy_start_stack) );
6741 (yy_start_stack) = NULL;
6743 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6744 * surf_parse_lex() is called, initialization will occur. */
6751 * Internal utility routines.
6755 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
6758 for ( i = 0; i < n; ++i )
6763 #ifdef YY_NEED_STRLEN
6764 static int yy_flex_strlen (yyconst char * s )
6767 for ( n = 0; s[n]; ++n )
6774 void *surf_parse_alloc (yy_size_t size )
6776 return (void *) malloc( size );
6779 void *surf_parse_realloc (void * ptr, yy_size_t size )
6781 /* The cast to (char *) in the following accommodates both
6782 * implementations that use char* generic pointers, and those
6783 * that use void* generic pointers. It works with the latter
6784 * because both ANSI C and C++ allow castless assignment from
6785 * any pointer type to void*, and deal with argument conversions
6786 * as though doing an assignment.
6788 return (void *) realloc( (char *) ptr, size );
6791 void surf_parse_free (void * ptr )
6793 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
6796 #define YYTABLES_NAME "yytables"
6798 /* Element context stack lookup. */
6799 int surfxml_element_context(int i)
6801 return (0<i && i<yy_start_stack_depth
6802 ? yy_start_stack[yy_start_stack_ptr - i]
6807 void print_yy_stack(char* fmt, ...)
6809 int i = 0; va_list ap; va_start(ap, fmt);
6810 vfprintf(stderr, fmt, ap);
6811 if (surfxml_statenames) {
6812 for (i=1; i<yy_start_stack_ptr; i++) {
6813 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
6815 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
6820 void print_surfxml_bufferstack()
6823 fputs("Buffer: ", stderr);
6824 for (i = 0; i < blimit; i++) {
6825 if ( surfxml_bufferstack[i] == '\377' ) break;
6826 putc(surfxml_bufferstack[i], stderr);
6831 static void debug_enter(int state, const char* statename) {
6832 yy_push_state(state);
6833 if (surf_parse__flex_debug) {
6834 print_yy_stack("--ENTER(%s) : ",statename);
6835 print_surfxml_bufferstack();
6839 static void debug_leave(void) {
6840 if (surf_parse__flex_debug) {
6841 print_yy_stack("--LEAVE : ");
6842 print_surfxml_bufferstack();
6847 static void debug_set(int state, const char* statename) {
6849 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
6853 static void cleanup(void)
6855 if (surfxml_statenames) {
6856 free(surfxml_statenames);
6857 surfxml_statenames = NULL;
6859 free(surfxml_bufferstack);
6860 surfxml_bufferstack = NULL;
6866 static int fail(const char* fmt, ...)
6868 int chars_left, used;
6869 va_list ap; va_start(ap, fmt);
6870 #ifdef FLEXML_yylineno
6871 used = sprintf(flexml_err_msg,
6872 "Invalid XML (XML input line %d, state %d): ",
6873 surf_parse_lineno, YY_START);
6875 used = sprintf(flexml_err_msg,
6876 "Invalid XML (state %d): ",
6879 chars_left = flexml_max_err_msg_size - used - 1;
6880 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
6883 #ifndef FLEXML_quiet_parser
6884 /* print directly to sdterr */
6885 fprintf(stderr, "%s\n", flexml_err_msg);
6886 flexml_err_msg[0] = '\0';