2 #line 3 "src/surf/simgrid_dtd.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
8 #define yy_create_buffer surf_parse__create_buffer
9 #define yy_delete_buffer surf_parse__delete_buffer
10 #define yy_flex_debug surf_parse__flex_debug
11 #define yy_init_buffer surf_parse__init_buffer
12 #define yy_flush_buffer surf_parse__flush_buffer
13 #define yy_load_buffer_state surf_parse__load_buffer_state
14 #define yy_switch_to_buffer surf_parse__switch_to_buffer
15 #define yyin surf_parse_in
16 #define yyleng surf_parse_leng
17 #define yylex surf_parse_lex
18 #define yylineno surf_parse_lineno
19 #define yyout surf_parse_out
20 #define yyrestart surf_parse_restart
21 #define yytext surf_parse_text
22 #define yywrap surf_parse_wrap
23 #define yyalloc surf_parse_alloc
24 #define yyrealloc surf_parse_realloc
25 #define yyfree surf_parse_free
28 #define YY_FLEX_MAJOR_VERSION 2
29 #define YY_FLEX_MINOR_VERSION 5
30 #define YY_FLEX_SUBMINOR_VERSION 35
31 #if YY_FLEX_SUBMINOR_VERSION > 0
35 /* First, we deal with platform-specific or compiler-specific issues. */
37 /* begin standard C headers. */
43 /* end standard C headers. */
45 /* flex integer type definitions */
50 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 * if you want the limit (max/min) macros for int types.
57 #ifndef __STDC_LIMIT_MACROS
58 #define __STDC_LIMIT_MACROS 1
62 typedef int8_t flex_int8_t;
63 typedef uint8_t flex_uint8_t;
64 typedef int16_t flex_int16_t;
65 typedef uint16_t flex_uint16_t;
66 typedef int32_t flex_int32_t;
67 typedef uint32_t flex_uint32_t;
69 typedef signed char flex_int8_t;
70 typedef short int flex_int16_t;
71 typedef int flex_int32_t;
72 typedef unsigned char flex_uint8_t;
73 typedef unsigned short int flex_uint16_t;
74 typedef unsigned int flex_uint32_t;
76 /* Limits of integral types. */
78 #define INT8_MIN (-128)
81 #define INT16_MIN (-32767-1)
84 #define INT32_MIN (-2147483647-1)
87 #define INT8_MAX (127)
90 #define INT16_MAX (32767)
93 #define INT32_MAX (2147483647)
96 #define UINT8_MAX (255U)
99 #define UINT16_MAX (65535U)
102 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 /* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
144 #define BEGIN (yy_start) = 1 + 2 *
146 /* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
164 /* On IA-64, the buffer size is 16k, not 8k.
165 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
166 * Ditto for the __ia64__ case accordingly.
168 #define YY_BUF_SIZE 32768
170 #define YY_BUF_SIZE 16384
171 #endif /* __ia64__ */
174 /* The state buf must be large enough to hold one state per character in the main buffer.
176 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
179 #define YY_TYPEDEF_YY_BUFFER_STATE
180 typedef struct yy_buffer_state *YY_BUFFER_STATE;
183 extern int surf_parse_leng;
185 extern FILE *surf_parse_in, *surf_parse_out;
187 #define EOB_ACT_CONTINUE_SCAN 0
188 #define EOB_ACT_END_OF_FILE 1
189 #define EOB_ACT_LAST_MATCH 2
191 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
192 * access to the local variable yy_act. Since yyless() is a macro, it would break
193 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
194 * One obvious solution it to make yy_act a global. I tried that, and saw
195 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
196 * normally declared as a register variable-- so it is not worth it.
198 #define YY_LESS_LINENO(n) \
201 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
202 if ( surf_parse_text[yyl] == '\n' )\
203 --surf_parse_lineno;\
206 /* Return all but the first "n" matched characters back to the input stream. */
210 /* Undo effects of setting up surf_parse_text. */ \
211 int yyless_macro_arg = (n); \
212 YY_LESS_LINENO(yyless_macro_arg);\
213 *yy_cp = (yy_hold_char); \
214 YY_RESTORE_YY_MORE_OFFSET \
215 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
216 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
220 #define unput(c) yyunput( c, (yytext_ptr) )
222 #ifndef YY_TYPEDEF_YY_SIZE_T
223 #define YY_TYPEDEF_YY_SIZE_T
224 typedef size_t yy_size_t;
227 #ifndef YY_STRUCT_YY_BUFFER_STATE
228 #define YY_STRUCT_YY_BUFFER_STATE
229 struct yy_buffer_state
233 char *yy_ch_buf; /* input buffer */
234 char *yy_buf_pos; /* current position in input buffer */
236 /* Size of input buffer in bytes, not including room for EOB
239 yy_size_t yy_buf_size;
241 /* Number of characters read into yy_ch_buf, not including EOB
246 /* Whether we "own" the buffer - i.e., we know we created it,
247 * and can realloc() it to grow it, and should free() it to
250 int yy_is_our_buffer;
252 /* Whether this is an "interactive" input source; if so, and
253 * if we're using stdio for input, then we want to use getc()
254 * instead of fread(), to make sure we stop fetching input after
257 int yy_is_interactive;
259 /* Whether we're considered to be at the beginning of a line.
260 * If so, '^' rules will be active on the next match, otherwise
265 int yy_bs_lineno; /**< The line count. */
266 int yy_bs_column; /**< The column count. */
268 /* Whether to try to fill the input buffer when we reach the
273 int yy_buffer_status;
275 #define YY_BUFFER_NEW 0
276 #define YY_BUFFER_NORMAL 1
277 /* When an EOF's been seen but there's still some text to process
278 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
279 * shouldn't try reading from the input source any more. We might
280 * still have a bunch of tokens to match, though, because of
281 * possible backing-up.
283 * When we actually see the EOF, we change the status to "new"
284 * (via surf_parse_restart()), so that the user can continue scanning by
285 * just pointing surf_parse_in at a new input file.
287 #define YY_BUFFER_EOF_PENDING 2
290 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
292 /* Stack of input buffers. */
293 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
294 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
295 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
297 /* We provide macros for accessing buffer states in case in the
298 * future we want to put the buffer states in a more general
301 * Returns the top of the stack, or NULL.
303 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
304 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
307 /* Same as previous macro, but useful when we know that the buffer stack is not
308 * NULL or when we need an lvalue. For internal use only.
310 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
312 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
313 static char yy_hold_char;
314 static int yy_n_chars; /* number of characters read into yy_ch_buf */
317 /* Points to current character in buffer. */
318 static char *yy_c_buf_p = (char *) 0;
319 static int yy_init = 0; /* whether we need to initialize */
320 static int yy_start = 0; /* start state number */
322 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
323 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
325 static int yy_did_buffer_switch_on_eof;
327 void surf_parse_restart (FILE *input_file );
328 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
329 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
330 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
331 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
332 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
333 void surf_parse_pop_buffer_state (void );
335 static void surf_parse_ensure_buffer_stack (void );
336 static void surf_parse__load_buffer_state (void );
337 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
339 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
341 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
342 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
343 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
345 void *surf_parse_alloc (yy_size_t );
346 void *surf_parse_realloc (void *,yy_size_t );
347 void surf_parse_free (void * );
349 #define yy_new_buffer surf_parse__create_buffer
351 #define yy_set_interactive(is_interactive) \
353 if ( ! YY_CURRENT_BUFFER ){ \
354 surf_parse_ensure_buffer_stack (); \
355 YY_CURRENT_BUFFER_LVALUE = \
356 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
358 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
361 #define yy_set_bol(at_bol) \
363 if ( ! YY_CURRENT_BUFFER ){\
364 surf_parse_ensure_buffer_stack (); \
365 YY_CURRENT_BUFFER_LVALUE = \
366 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
368 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
371 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
373 /* Begin user sect3 */
375 #define surf_parse_wrap(n) 1
376 #define YY_SKIP_YYWRAP
378 typedef unsigned char YY_CHAR;
380 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
382 typedef int yy_state_type;
384 extern int surf_parse_lineno;
386 int surf_parse_lineno = 1;
388 extern char *surf_parse_text;
389 #define yytext_ptr surf_parse_text
391 static yy_state_type yy_get_previous_state (void );
392 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
393 static int yy_get_next_buffer (void );
394 static void yy_fatal_error (yyconst char msg[] );
396 /* Done after the current pattern has been matched and before the
397 * corresponding action - sets up surf_parse_text.
399 #define YY_DO_BEFORE_ACTION \
400 (yytext_ptr) = yy_bp; \
401 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
402 (yy_hold_char) = *yy_cp; \
404 (yy_c_buf_p) = yy_cp;
406 #define YY_NUM_RULES 474
407 #define YY_END_OF_BUFFER 475
408 /* This struct is not used in this scanner,
409 but its presence is necessary. */
412 flex_int32_t yy_verify;
415 static yyconst flex_int16_t yy_accept[2797] =
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
442 0, 0, 0, 0, 0, 0, 475, 473, 15, 10,
443 10, 15, 15, 453, 10, 453, 5, 6, 5, 8,
444 9, 8, 469, 461, 462, 470, 467, 470, 468, 472,
445 461, 462, 472, 473, 22, 10, 22, 22, 22, 20,
446 22, 26, 10, 26, 26, 473, 26, 473, 473, 26,
447 33, 10, 33, 33, 33, 31, 33, 37, 10, 37,
448 37, 48, 10, 48, 48, 48, 46, 48, 48, 48,
450 470, 469, 78, 10, 78, 78, 78, 76, 78, 78,
451 78, 78, 78, 82, 10, 82, 473, 82, 101, 10,
452 101, 101, 101, 99, 101, 101, 101, 105, 10, 105,
453 114, 10, 114, 114, 114, 112, 114, 114, 118, 10,
454 118, 118, 473, 118, 118, 473, 473, 118, 473, 118,
455 473, 118, 131, 10, 131, 131, 131, 129, 131, 131,
456 131, 131, 135, 10, 135, 135, 144, 10, 144, 144,
457 144, 142, 144, 144, 148, 10, 148, 148, 157, 10,
458 157, 157, 157, 155, 157, 157, 161, 10, 161, 170,
459 10, 170, 170, 170, 168, 170, 170, 174, 10, 174,
461 197, 10, 197, 197, 197, 195, 197, 197, 197, 197,
462 197, 201, 10, 201, 473, 201, 242, 10, 242, 242,
463 242, 240, 242, 242, 242, 242, 242, 242, 242, 242,
464 246, 10, 246, 267, 10, 267, 267, 267, 265, 267,
465 267, 267, 267, 267, 267, 267, 271, 10, 271, 280,
466 10, 280, 280, 280, 278, 280, 280, 284, 10, 284,
467 311, 10, 311, 311, 311, 309, 311, 311, 311, 311,
468 315, 10, 315, 315, 328, 10, 328, 328, 328, 326,
469 328, 328, 332, 10, 332, 473, 332, 349, 10, 349,
470 349, 349, 347, 349, 349, 349, 353, 10, 353, 353,
472 366, 10, 366, 366, 366, 364, 366, 366, 370, 10,
473 370, 379, 10, 379, 379, 379, 377, 379, 379, 383,
474 10, 383, 383, 396, 10, 396, 396, 396, 394, 396,
475 396, 396, 400, 10, 400, 400, 413, 10, 413, 413,
476 413, 411, 413, 413, 413, 413, 417, 10, 417, 473,
477 417, 424, 10, 424, 424, 424, 422, 424, 428, 10,
478 428, 435, 10, 435, 435, 435, 433, 435, 439, 10,
479 439, 439, 448, 10, 448, 448, 448, 446, 448, 448,
480 452, 10, 452, 10, 0, 2, 2, 0, 4, 7,
481 464, 463, 0, 0, 0, 0, 0, 0, 0, 21,
483 23, 23, 0, 0, 0, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
485 0, 0, 0, 0, 0, 32, 34, 34, 0, 47,
486 49, 49, 49, 49, 0, 0, 0, 77, 79, 79,
487 79, 79, 79, 79, 79, 79, 79, 0, 0, 100,
488 102, 102, 102, 102, 0, 113, 115, 115, 115, 0,
489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
490 0, 130, 132, 132, 132, 132, 132, 0, 143, 145,
491 145, 145, 0, 156, 158, 158, 158, 0, 169, 171,
492 171, 171, 0, 196, 198, 198, 198, 198, 198, 198,
494 0, 0, 241, 243, 243, 243, 243, 243, 243, 243,
495 243, 243, 243, 243, 243, 243, 243, 0, 266, 268,
496 268, 268, 268, 268, 268, 268, 268, 0, 279, 281,
497 281, 281, 0, 310, 312, 312, 312, 312, 312, 312,
498 0, 327, 329, 329, 329, 329, 0, 0, 348, 350,
499 350, 350, 350, 350, 0, 365, 367, 367, 367, 0,
500 378, 380, 380, 380, 0, 395, 397, 397, 397, 397,
501 0, 412, 414, 414, 414, 414, 414, 0, 0, 423,
502 425, 425, 0, 434, 436, 436, 0, 447, 449, 449,
503 449, 0, 0, 0, 0, 0, 3, 0, 0, 0,
505 0, 0, 0, 0, 471, 0, 23, 0, 0, 107,
506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
507 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
508 0, 0, 0, 0, 34, 0, 0, 49, 0, 0,
509 49, 0, 0, 0, 466, 79, 0, 0, 79, 79,
510 79, 79, 79, 79, 0, 0, 0, 102, 102, 102,
511 0, 0, 0, 0, 115, 0, 0, 107, 0, 0,
512 0, 0, 0, 106, 0, 0, 0, 0, 132, 0,
513 0, 132, 132, 0, 0, 0, 0, 145, 0, 0,
514 0, 0, 158, 0, 0, 171, 171, 0, 0, 198,
516 198, 198, 0, 0, 198, 198, 0, 0, 0, 0,
517 243, 243, 0, 0, 243, 0, 0, 243, 243, 243,
518 243, 243, 243, 243, 243, 0, 0, 268, 268, 268,
519 0, 0, 268, 268, 268, 0, 0, 281, 0, 0,
520 0, 0, 312, 0, 0, 312, 312, 312, 0, 0,
521 329, 329, 329, 0, 0, 0, 350, 350, 350, 350,
522 0, 0, 367, 0, 0, 0, 0, 380, 380, 0,
523 0, 397, 397, 397, 0, 0, 414, 414, 414, 414,
524 0, 0, 0, 425, 0, 0, 0, 0, 0, 0,
525 0, 0, 449, 0, 0, 0, 14, 1, 0, 0,
527 459, 0, 0, 0, 456, 455, 0, 0, 23, 0,
528 0, 25, 0, 107, 0, 0, 0, 0, 0, 0,
529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
530 0, 0, 0, 106, 0, 0, 0, 0, 0, 34,
531 0, 0, 36, 0, 49, 0, 41, 40, 49, 0,
532 0, 0, 51, 0, 79, 0, 55, 54, 0, 0,
533 79, 0, 0, 79, 79, 79, 0, 0, 81, 0,
534 0, 102, 102, 102, 0, 0, 104, 0, 0, 109,
535 108, 115, 0, 0, 117, 0, 0, 0, 0, 0,
536 0, 0, 0, 0, 0, 0, 132, 0, 122, 121,
538 132, 132, 0, 0, 134, 0, 0, 139, 138, 145,
539 0, 0, 147, 0, 0, 152, 151, 158, 0, 0,
540 160, 0, 171, 171, 0, 0, 173, 0, 198, 198,
541 198, 0, 178, 177, 198, 198, 0, 0, 200, 0,
542 0, 0, 243, 243, 243, 243, 0, 217, 216, 243,
543 0, 205, 204, 0, 0, 243, 243, 243, 243, 243,
544 243, 243, 0, 0, 245, 0, 268, 268, 268, 268,
545 0, 250, 249, 0, 0, 268, 268, 0, 0, 270,
546 0, 281, 0, 275, 274, 0, 0, 283, 0, 312,
547 0, 288, 287, 312, 312, 312, 0, 0, 314, 0,
549 0, 0, 0, 0, 329, 0, 0, 331, 0, 0,
550 0, 0, 350, 350, 0, 0, 350, 0, 0, 352,
551 0, 367, 0, 357, 356, 0, 0, 369, 0, 0,
552 0, 0, 0, 0, 0, 382, 0, 0, 0, 397,
553 397, 0, 0, 0, 0, 399, 0, 414, 414, 414,
554 414, 0, 0, 416, 0, 0, 425, 0, 0, 427,
555 0, 0, 432, 431, 0, 0, 438, 0, 0, 443,
556 442, 449, 0, 0, 451, 0, 0, 0, 460, 454,
557 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
558 175, 0, 285, 0, 0, 248, 0, 0, 440, 0,
560 0, 0, 0, 0, 0, 0, 0, 247, 0, 0,
561 0, 0, 0, 0, 0, 49, 0, 0, 79, 0,
562 59, 58, 0, 0, 0, 57, 56, 79, 0, 0,
563 79, 0, 441, 102, 0, 0, 102, 0, 115, 0,
564 116, 0, 0, 176, 286, 0, 0, 0, 0, 0,
565 0, 132, 132, 0, 0, 0, 145, 0, 0, 0,
566 0, 0, 0, 171, 0, 198, 198, 0, 0, 198,
567 198, 0, 0, 0, 243, 243, 243, 243, 0, 0,
568 0, 219, 218, 243, 243, 243, 243, 243, 243, 243,
569 0, 268, 268, 268, 268, 0, 258, 257, 268, 268,
571 0, 281, 0, 312, 312, 312, 312, 0, 0, 321,
572 320, 0, 319, 318, 329, 0, 285, 0, 338, 337,
573 350, 350, 0, 336, 335, 350, 0, 367, 0, 0,
574 376, 375, 0, 374, 373, 0, 0, 389, 388, 397,
575 397, 0, 387, 386, 0, 414, 0, 0, 414, 414,
576 0, 0, 425, 0, 0, 449, 0, 0, 0, 0,
577 12, 0, 457, 458, 0, 23, 0, 0, 0, 0,
578 0, 0, 175, 0, 285, 0, 149, 0, 248, 0,
579 0, 440, 0, 316, 0, 39, 0, 0, 0, 0,
580 247, 0, 38, 0, 30, 29, 0, 0, 43, 42,
582 49, 0, 0, 79, 0, 61, 60, 79, 0, 65,
583 64, 79, 0, 441, 102, 0, 0, 0, 0, 0,
584 0, 115, 0, 0, 176, 286, 317, 0, 0, 0,
585 317, 316, 132, 0, 0, 0, 126, 125, 0, 145,
586 0, 0, 154, 153, 0, 0, 167, 166, 171, 0,
587 198, 198, 0, 182, 181, 0, 0, 0, 0, 198,
588 0, 150, 0, 243, 0, 0, 243, 243, 0, 215,
589 214, 0, 0, 243, 243, 243, 243, 243, 243, 0,
590 268, 0, 0, 268, 268, 0, 0, 268, 0, 281,
591 0, 312, 312, 312, 0, 0, 312, 0, 329, 0,
593 0, 350, 350, 350, 0, 367, 0, 0, 397, 397,
594 0, 414, 0, 404, 403, 414, 414, 0, 0, 0,
595 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
596 0, 23, 0, 0, 0, 0, 0, 430, 0, 0,
597 149, 0, 0, 0, 53, 316, 272, 0, 39, 0,
598 429, 52, 0, 0, 0, 38, 0, 0, 49, 0,
599 0, 79, 79, 79, 0, 102, 0, 0, 0, 0,
600 0, 0, 0, 0, 0, 96, 95, 0, 115, 0,
601 0, 317, 273, 0, 0, 0, 132, 0, 124, 123,
602 0, 0, 0, 0, 0, 0, 0, 0, 198, 198,
604 0, 180, 179, 0, 0, 0, 198, 0, 199, 150,
605 0, 243, 0, 227, 226, 0, 0, 243, 0, 213,
606 212, 0, 0, 243, 243, 243, 243, 0, 0, 0,
607 268, 0, 254, 253, 0, 0, 268, 0, 252, 251,
608 268, 0, 269, 281, 0, 312, 312, 312, 0, 0,
609 0, 312, 0, 313, 329, 0, 0, 0, 0, 0,
610 0, 350, 0, 367, 0, 0, 0, 0, 0, 0,
611 0, 414, 414, 414, 0, 0, 0, 421, 420, 0,
612 0, 0, 445, 444, 0, 450, 0, 0, 0, 0,
613 0, 0, 0, 333, 0, 0, 0, 203, 430, 28,
615 0, 0, 0, 402, 53, 272, 136, 0, 429, 52,
616 202, 27, 401, 0, 0, 49, 0, 0, 50, 79,
617 0, 0, 79, 0, 0, 0, 0, 0, 0, 0,
618 0, 0, 0, 0, 0, 0, 0, 0, 0, 334,
619 0, 0, 273, 137, 0, 0, 0, 0, 141, 140,
620 0, 0, 159, 0, 165, 164, 0, 198, 198, 0,
621 0, 198, 0, 243, 0, 229, 228, 243, 0, 207,
622 206, 0, 0, 243, 243, 243, 0, 209, 208, 0,
623 268, 0, 256, 255, 268, 268, 281, 0, 312, 0,
624 0, 312, 312, 0, 0, 312, 329, 0, 330, 0,
626 0, 342, 341, 0, 340, 339, 350, 0, 367, 0,
627 0, 0, 393, 392, 0, 391, 390, 0, 414, 414,
628 414, 0, 0, 0, 0, 0, 0, 0, 17, 0,
629 19, 18, 0, 333, 418, 0, 0, 203, 28, 354,
630 162, 16, 402, 136, 0, 0, 202, 27, 401, 0,
631 0, 49, 465, 79, 0, 67, 66, 79, 0, 80,
632 0, 98, 97, 0, 0, 0, 0, 0, 0, 0,
633 0, 0, 0, 0, 0, 111, 110, 334, 0, 0,
634 137, 0, 0, 128, 127, 0, 0, 0, 198, 198,
635 0, 0, 0, 0, 198, 163, 243, 243, 0, 211,
637 210, 243, 243, 243, 0, 268, 268, 268, 281, 0,
638 282, 312, 0, 294, 293, 312, 312, 0, 0, 0,
639 0, 312, 329, 355, 350, 0, 367, 0, 0, 0,
640 0, 0, 414, 414, 0, 419, 0, 0, 437, 0,
641 0, 0, 17, 0, 418, 0, 0, 354, 162, 16,
642 0, 0, 0, 0, 35, 49, 0, 0, 79, 0,
643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 0, 0, 146, 0, 198, 198, 0,
645 188, 0, 187, 198, 163, 243, 243, 0, 0, 243,
646 243, 0, 244, 268, 268, 268, 281, 0, 0, 312,
648 312, 312, 0, 298, 0, 297, 312, 329, 355, 350,
649 0, 351, 0, 0, 0, 0, 0, 0, 406, 405,
650 0, 0, 414, 0, 415, 419, 0, 0, 0, 0,
651 0, 24, 0, 0, 0, 0, 0, 49, 0, 0,
652 0, 79, 0, 0, 0, 0, 0, 0, 0, 0,
653 0, 0, 0, 0, 0, 0, 0, 0, 172, 198,
654 198, 190, 189, 0, 0, 243, 243, 0, 239, 238,
655 243, 0, 0, 268, 268, 0, 0, 281, 0, 290,
656 289, 312, 312, 312, 300, 299, 0, 0, 329, 350,
657 0, 0, 0, 0, 368, 0, 0, 0, 410, 409,
659 0, 0, 0, 426, 0, 0, 0, 0, 371, 0,
660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
661 79, 0, 0, 0, 0, 88, 0, 0, 0, 0,
662 87, 0, 0, 372, 0, 0, 198, 0, 0, 0,
663 192, 191, 243, 243, 243, 0, 237, 236, 268, 0,
664 0, 0, 264, 263, 0, 0, 312, 312, 312, 0,
665 302, 301, 0, 0, 0, 0, 0, 0, 0, 0,
666 0, 0, 0, 0, 0, 408, 407, 0, 0, 0,
667 0, 371, 119, 0, 0, 0, 45, 44, 0, 0,
668 0, 0, 0, 0, 0, 0, 79, 0, 0, 0,
670 0, 0, 0, 0, 0, 0, 0, 372, 120, 0,
671 0, 0, 198, 0, 194, 193, 243, 243, 243, 268,
672 0, 260, 259, 0, 277, 276, 312, 0, 0, 312,
673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
674 0, 0, 0, 0, 0, 0, 0, 0, 384, 119,
675 84, 83, 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 0, 94, 0, 0, 0, 93, 0,
677 0, 385, 120, 0, 0, 184, 183, 198, 243, 243,
678 243, 268, 312, 0, 296, 295, 312, 0, 0, 0,
679 0, 0, 0, 0, 0, 0, 0, 359, 0, 0,
681 358, 0, 381, 0, 0, 0, 0, 0, 0, 0,
682 384, 84, 83, 0, 0, 0, 0, 0, 0, 0,
683 0, 0, 63, 62, 0, 0, 0, 0, 0, 0,
684 0, 385, 0, 133, 198, 243, 243, 0, 0, 268,
685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
687 0, 0, 0, 0, 75, 71, 0, 0, 74, 70,
688 0, 92, 0, 0, 91, 0, 0, 0, 103, 198,
689 243, 243, 0, 0, 0, 268, 0, 292, 291, 0,
690 0, 0, 325, 0, 324, 0, 346, 0, 345, 0,
692 361, 363, 360, 362, 0, 398, 0, 0, 0, 12,
693 0, 12, 0, 0, 0, 0, 0, 86, 90, 85,
694 89, 198, 243, 243, 0, 0, 0, 0, 268, 0,
695 0, 0, 0, 323, 322, 344, 343, 0, 0, 0,
696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
698 0, 0, 0, 0, 0, 0, 0, 0, 69, 0,
699 68, 0, 0, 186, 185, 0, 235, 234, 0, 0,
700 0, 0, 0, 0, 0, 0, 0, 0, 262, 261,
701 0, 0, 0, 0, 0, 0, 0, 11, 0, 0,
703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
704 0, 0, 0, 0, 0, 0, 0, 73, 72, 0,
705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
708 0, 0, 0, 0, 0, 0, 0, 0, 0, 221,
709 0, 0, 220, 0, 0, 304, 0, 0, 303, 0,
710 0, 0, 0, 0, 225, 0, 224, 0, 306, 0,
711 305, 0, 0, 0, 0, 0, 0, 0, 0, 0,
712 0, 0, 0, 231, 0, 230, 0, 0, 0, 0,
714 0, 0, 233, 232, 223, 222, 308, 307, 0, 0,
715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
727 static yyconst flex_int32_t yy_ec[256] =
729 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
730 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
731 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
732 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
733 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
734 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
735 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
736 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
737 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
738 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
740 53, 54, 55, 56, 57, 31, 58, 59, 60, 61,
741 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
742 72, 73, 1, 1, 1, 1, 1, 1, 1, 1,
743 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
744 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
745 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
746 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
747 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
748 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
749 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
752 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
753 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
754 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
755 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
759 static yyconst flex_int32_t yy_meta[74] =
761 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
762 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
763 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
764 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
765 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
766 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
767 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
771 static yyconst flex_int16_t yy_base[3194] =
773 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
774 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
775 108, 177, 75, 78, 83, 128, 131, 134, 138, 141,
776 158, 197, 200, 203, 207, 210, 227, 230, 233, 236,
777 239, 256, 274, 328, 294, 297, 300, 304, 307, 348,
778 351, 354, 382, 445, 359, 414, 508, 574, 405, 408,
779 412, 417, 465, 468, 471, 475, 640, 707, 478, 528,
780 774, 839, 531, 534, 538, 541, 594, 597, 600, 604,
781 607, 660, 663, 666, 670, 673, 727, 730, 733, 737,
782 740, 794, 797, 800, 804, 807, 859, 862, 865, 869,
784 872, 889, 907, 973, 927, 930, 933, 937, 993, 996,
785 999, 1003, 1039, 1106, 1059, 1062, 1065, 1069, 1072, 1126,
786 1129, 1132, 1173, 1234, 1136, 1139, 1295, 1362, 1193, 1196,
787 1429, 1495, 1199, 1203, 1206, 1254, 1257, 1260, 1264, 1267,
788 1561, 0, 1315, 1318, 1634, 1700, 1321, 1325, 1766, 1823,
789 1328, 1382, 1880, 1946, 1385, 1388, 1392, 1395, 1449, 1452,
790 1455, 1459, 2012, 2078, 1515, 1518, 1521, 1525, 1654, 1657,
791 1660, 1664, 2144, 2210, 1720, 1723, 1726, 1730, 1786, 1789,
792 1792, 1796, 2276, 2333, 1843, 1846, 2390, 2456, 1849, 1853,
793 1900, 1903, 1906, 1910, 1913, 1966, 2522, 2588, 1969, 1972,
795 1976, 1979, 2032, 2035, 2038, 2042, 2654, 2720, 2045, 2098,
796 2101, 2104, 2108, 2111, 2164, 2167, 2786, 2855, 2170, 2174,
797 2924, 2981, 2177, 2230, 2233, 2236, 2240, 2243, 2296, 2299,
798 3038, 3107, 2302, 2306, 0, 0, 7647,10173,10173, 95,
799 100, 29, 41,10173, 103, 51,10173,10173, 7636,10173,
800 10173, 7625,10173, 7636, 7636, 498,10173,10173,10173,10173,
801 7634, 7630, 7585, 145,10173, 161, 7611, 0, 146,10173,
802 7573,10173, 166, 3172, 88, 204, 205, 254, 7613, 7561,
803 10173, 169, 7122, 0, 153,10173, 7084,10173, 260, 7127,
804 31,10173, 357, 7118, 0, 244,10173, 7080, 7084, 7082,
806 359, 7087,10173, 438, 7113, 0, 248,10173, 7078, 7078,
807 441, 7079, 260,10173, 567, 112, 181, 210,10173, 624,
808 7100, 0, 360,10173, 7060, 7060, 7044,10173, 633, 422,
809 10173, 692, 7088, 0, 479,10173, 7054, 7038,10173, 697,
810 2299, 2307, 29, 348, 197, 7086, 740, 805, 707, 673,
811 7081, 16,10173, 700, 7072, 0, 480,10173, 7028, 7033,
812 7022, 7020,10173, 765, 260, 361,10173, 826, 7055, 0,
813 482,10173, 7022, 7000,10173, 830, 413, 425,10173, 833,
814 7039, 0, 543,10173, 7006, 7007,10173, 895, 546,10173,
815 898, 7028, 0, 545,10173, 6998, 6973,10173, 940, 611,
817 10173, 957, 7024, 0, 609,10173, 6973, 6975, 6984, 6968,
818 6962,10173, 966, 950, 7015, 316,10173, 1023, 6995, 0,
819 612,10173, 6945, 21, 6948, 6957, 6958, 442, 382, 615,
820 10173, 1032, 685,10173, 1089, 6986, 0, 684,10173, 6913,
821 6907, 6914, 6911, 6913, 6898, 6888,10173, 1095, 944,10173,
822 1098, 6934, 0, 873,10173, 6890, 6895,10173, 1101, 945,
823 10173, 1156, 6926, 0, 874,10173, 6895, 6883, 6885, 33,
824 10173, 1162, 512, 527,10173, 1165, 6913, 0, 884,10173,
825 6864, 155,10173, 1168, 959, 6917, 6859,10173, 1223, 6897,
826 0, 942,10173, 6846, 6841, 684,10173, 1229, 6897, 758,
828 10173, 1284, 6887, 0, 1007,10173, 6849, 6852,10173, 1290,
829 1011,10173, 1345, 6878, 0, 1010,10173, 6824, 6824,10173,
830 1348, 6875, 996,10173, 1351, 6861, 0, 1073,10173, 6814,
831 6808, 6804,10173, 1355, 6852, 1025,10173, 1412, 6830, 0,
832 1074,10173, 6776, 6781, 6784, 6755,10173, 1415, 1216, 6805,
833 556,10173, 1418, 6796, 0, 1140,10173, 6756,10173, 1422,
834 1460,10173, 1480, 6784, 0, 1141,10173, 6750,10173, 1485,
835 11, 926,10173, 1528, 6781, 0, 1208,10173, 6747, 6745,
836 10173, 1545, 1533, 1553, 736, 6712,10173, 6770, 6754,10173,
837 10173,10173, 1674, 687, 6705, 6700, 6695, 6741, 6692,10173,
839 0, 6684, 6685, 6703, 6676, 6667, 754, 6669, 6669, 6668,
840 757, 1224, 630, 6657, 6652, 822, 1417, 6663, 844, 6640,
841 1612, 6634, 1089, 1633, 1678,10173, 0, 6620, 6621,10173,
842 0, 6616, 1799, 6607, 280, 6603, 6647,10173, 0, 6604,
843 1856, 6577, 6598, 6584, 6587, 6584, 6580, 6566, 1699,10173,
844 0, 6568, 6559, 6569, 6545,10173, 0, 2357, 6543, 6587,
845 6565, 6531, 6535, 6538, 1488, 6526, 6551, 6510, 6509, 1491,
846 1691,10173, 0, 6512, 2364, 6520, 6490, 6496,10173, 0,
847 2369, 6497, 6488,10173, 0, 2410, 6483, 6482,10173, 0,
848 6476, 6472, 6473,10173, 0, 6472, 1150, 2413, 6450, 6461,
850 6453, 1156,10173, 0, 6450, 6450, 2416, 6423, 2419, 6420,
851 6415, 6424, 6424, 6406, 6420, 6419, 6411, 6413,10173, 0,
852 6413, 6409, 6394, 2422, 6383, 6379, 6398, 6383,10173, 0,
853 6382, 2476, 6374,10173, 0, 6377, 2479, 6369, 6382, 6381,
854 6369,10173, 0, 6360, 6374, 6362, 6333, 6339,10173, 0,
855 6324, 6342, 6337, 6317, 6354,10173, 0, 6309, 2482, 6314,
856 10173, 0, 6304, 6315, 6315,10173, 0, 6291, 6309, 6304,
857 6290,10173, 0, 6278, 6271, 6277, 6285, 6259, 6256,10173,
858 0, 6260, 6265,10173, 0, 2485, 6262,10173, 0, 2488,
859 6249, 6244, 6285, 6286, 1254, 6235,10173, 1919, 0, 6230,
861 6228, 6261, 6256, 6210,10173, 6221, 6199, 2542, 2545, 1875,
862 6205, 6196, 6189, 6191, 6185, 6198, 6186, 6176, 6155, 6167,
863 6170, 6151, 6148, 6136, 6141, 6149, 6136, 6132, 1939, 6123,
864 6139, 6126, 6116, 6124, 6119, 2550, 2553, 6117, 2556, 2063,
865 6104, 6136, 2608, 2613,10173, 6105, 2617, 2129, 2620, 6096,
866 2623, 6094, 6095, 6094, 2627, 2687, 6078, 6075, 6082, 6081,
867 2677, 2682, 2690, 2198, 6051, 2740, 2806, 1996, 6052, 6047,
868 6048, 6039, 6035, 2005, 6032, 6031, 6019, 6017, 6012, 2746,
869 2264, 6025, 6019, 2749, 2752, 2760, 2441, 6014, 2755, 2810,
870 2818, 2507, 6013, 2814, 2821, 6004, 6003, 2876, 2883, 5997,
872 5988, 5991, 2825, 2576, 5990, 5967, 2886, 2889, 5964, 5960,
873 5969, 1756, 2895, 2642, 5971, 2944, 2844, 2950, 5956, 5940,
874 5936, 5921, 5917, 5914, 5921, 2953, 2956, 5917, 376, 5901,
875 3001, 2909, 3004, 5912, 5890, 3009, 3014, 5889, 3058, 3062,
876 3070, 3076, 5897, 3079, 3085, 5894, 5881, 5877, 3127, 3130,
877 3133, 3137, 3140, 3158, 3163, 5876, 3166, 3178, 3169, 3187,
878 3199, 3206, 5862, 3214, 3097, 3238, 3246, 3249, 3252, 3257,
879 3260, 3270, 3279, 3282, 3288, 3291, 5857, 5834, 5841, 5827,
880 3302, 3310, 5833, 5815, 3313, 3316, 3321, 3335, 3344, 3347,
881 3324, 3350, 5814, 3358, 3366, 5856,10173,10173, 1314, 5813,
883 10173, 5841, 5840, 5789,10173,10173, 5783, 5775, 5784, 3369,
884 3380,10173, 3388, 1692, 5768, 5760, 5775, 5753, 5763, 5745,
885 5750, 5722, 5718, 5708, 5704, 5683, 708, 5696, 5680, 5676,
886 5688, 5677, 5678, 1752, 5659, 5661, 5654, 763, 5666, 3391,
887 3394, 3399,10173, 3402, 3409, 3414,10173,10173, 3422, 5686,
888 3430, 3436,10173, 3440, 5643, 3443,10173,10173, 3455, 3459,
889 3467, 3473, 3476, 5656, 3491, 5647, 3494, 3497,10173, 3500,
890 1019, 5642, 3503, 5638, 3509, 3521,10173, 3524, 3528,10173,
891 10173, 5632, 3536, 3543,10173, 3546, 5626, 5637, 5614, 5622,
892 5611, 5610, 5624, 5620, 5600, 5588, 5600, 3549,10173,10173,
894 5589, 3565, 3568, 3572,10173, 3575, 3587,10173,10173, 5617,
895 3578, 3583,10173, 3597, 3602,10173,10173, 3610, 3616, 3619,
896 10173, 3622, 3628, 3631, 3642, 3649,10173, 3652, 5586, 5584,
897 3661, 3664,10173,10173, 5570, 5580, 3672, 3675,10173, 3679,
898 5571, 5568, 5563, 5547, 5567, 5558, 3682,10173,10173, 3694,
899 3698,10173,10173, 3706, 3712, 5548, 5554, 5551, 5547, 5538,
900 5541, 5535, 3720, 3724,10173, 3727, 5521, 5515, 5506, 5521,
901 3730,10173,10173, 3739, 3746, 5497, 5507, 3757, 3760,10173,
902 3763, 5504, 3766,10173,10173, 3782, 3785,10173, 3788, 5481,
903 3794,10173,10173, 5489, 5491, 5494, 3807, 3810,10173, 3815,
905 3818, 3822, 3830, 3836, 5492, 3844, 3848,10173, 3851, 5486,
906 3855, 3863, 5476, 5464, 3858, 3876, 5475, 3884, 3887,10173,
907 3890, 5475, 3893,10173,10173, 3909, 3912,10173, 3918, 3921,
908 3924, 3932, 3939, 3950, 3954,10173, 3957, 3961, 3969, 5443,
909 5443, 3964, 3982, 3990, 3993,10173, 3996, 5439, 3999, 5456,
910 5436, 4002, 4005,10173, 4024, 5433, 5443, 4027, 4030,10173,
911 4033, 4036,10173,10173, 4052, 4058,10173, 4061, 4064,10173,
912 10173, 5434, 4072, 4080,10173, 4087, 304, 4091,10173,10173,
913 5469, 5467, 5429, 5419, 4094, 5405, 5408, 5400, 5398, 5406,
914 1758, 5393, 1817, 5391, 5349, 2071, 5359, 5355, 2137, 5341,
916 5341, 5342, 5337, 5331, 5325, 5318, 5310, 2323, 5320, 5319,
917 4099, 4117, 4113, 4106, 4125, 5318, 5347, 4133, 5318, 4136,
918 10173,10173, 4144, 4148, 4156,10173,10173, 5317, 4164, 4167,
919 5311, 4175, 2328, 5298, 4178, 4183, 4196, 4199, 5290, 4202,
920 10173, 5282, 5282, 2449, 2515, 5294, 5296, 5278, 5275, 5286,
921 5282, 5265, 4205, 4209, 4214, 4227, 5273, 4231, 4234, 4237,
922 4252, 4255, 4258, 5263, 4266, 5264, 5253, 4274, 4278, 4286,
923 4295, 4298, 5241, 5242, 5241, 4304, 5218, 5235, 4307, 4313,
924 4327,10173,10173, 4335, 5211, 5228, 5207, 5209, 5221, 5196,
925 4338, 5216, 4342, 5197, 5191, 4346,10173,10173, 4360, 5197,
927 4364, 5186, 4367, 5183, 5187, 5155, 4370, 4373, 4379,10173,
928 10173, 4388,10173,10173, 5137, 4396, 2713, 4399,10173,10173,
929 5123, 5136, 4408,10173,10173, 5086, 4417, 5083, 4420, 4424,
930 10173,10173, 4439,10173,10173, 4447, 4450,10173,10173, 5050,
931 5063, 4462,10173,10173, 4470, 5018, 4458, 4478, 4888, 4877,
932 4489, 4853, 4495, 4498, 4501, 4504, 4508, 593, 4891, 4522,
933 10173, 4877,10173,10173, 4780, 4689, 4513, 4680, 4607, 4530,
934 4416, 4402, 2701, 14, 2778, 96, 2781, 99, 2836, 95,
935 184, 2917, 192, 3028, 259, 2962, 261, 308, 317, 326,
936 2975, 339, 3022, 4528,10173,10173, 4541, 4544,10173,10173,
938 438, 457, 4554, 439, 4574,10173,10173, 501, 4583,10173,
939 10173, 492, 4561, 3033, 557, 4591, 1839, 2160, 4599, 4602,
940 4610, 601, 613, 691, 3209, 4102, 4566, 750, 758, 772,
941 4613, 4617, 815, 4622, 4630, 4640,10173,10173, 4625, 4648,
942 4651, 4655,10173,10173, 4666, 4681,10173,10173, 4673, 4677,
943 838, 862, 4692,10173,10173, 4700, 4703, 4711, 4714, 892,
944 4723, 4732, 903, 922, 4735, 4742, 4753, 939, 4756,10173,
945 10173, 4764, 4767, 4775, 950, 981, 983, 1027, 4778, 4782,
946 1038, 4785, 4789, 4797, 1028, 4803, 4806, 1068, 4815, 1076,
947 4821, 1097, 1083, 1101, 4824, 4827, 1135, 4835, 1139, 4842,
949 1165, 4848, 4854, 4857, 4861, 1166, 4866, 4876, 4880, 4885,
950 4888, 1188, 4903,10173,10173, 1216, 1209, 4898, 1231, 4913,
951 4917, 4932, 4936, 4941, 4944, 4955, 1324, 1317, 1340,10173,
952 1246, 4959, 4962, 1273, 1274, 1389, 1275, 4965, 1292, 1334,
953 4968, 1347, 1339, 1339, 4977, 4981, 4984, 1354, 4987, 1361,
954 4992, 4995, 1363, 1392, 1394, 4998, 1413, 5001, 1417, 1447,
955 5005, 1409, 5008, 1417, 5011, 5014, 1463, 1454, 1504, 1455,
956 1471, 1458, 1529, 1475, 5026,10173,10173, 5034, 5037, 1482,
957 1652, 5040, 5043, 1507, 1897, 1900, 5046, 5055,10173,10173,
958 5064, 5070, 5074, 5083, 5088, 5091, 5095, 5103, 1593, 1620,
960 5109,10173,10173, 5118, 1634, 1637, 1619, 5126,10173, 5129,
961 1624, 1642, 5133,10173,10173, 5141, 5145, 1659, 5153,10173,
962 10173, 5161, 5164, 5172, 1678, 1688, 1682, 5175, 5179, 5193,
963 1685, 5196,10173,10173, 5204, 5208, 1716, 5216,10173,10173,
964 1725, 5224,10173, 1748, 5227, 1738, 5230, 1760, 5233, 1773,
965 1775, 1759, 5248,10173, 1782, 5251, 1787, 5254, 5257, 5272,
966 5277, 1806, 5285, 1804, 5291, 5294, 5297, 5300, 5315, 5318,
967 5326, 1812, 1836, 1854, 5329, 1859, 5334,10173,10173, 5351,
968 5354, 5359,10173,10173, 5373,10173, 1903, 2155, 1924, 1865,
969 5377, 5380, 5395, 5398, 1878, 1923, 1915, 5403, 5408, 5414,
971 1924, 1933, 1928, 5417, 5420, 5423, 5426, 1929, 5429, 5432,
972 5435, 5438, 5441, 1933, 5444, 1944, 1956, 5447,10173, 1941,
973 5450, 5453, 1961, 5468, 5473, 5476, 1976, 1989, 2003, 2016,
974 2009, 2019, 2016, 2017, 2027, 2025, 5487, 5491, 5496, 5509,
975 2032, 2014, 5512, 5515, 5518, 5521, 5529, 5537,10173,10173,
976 5532, 5551,10173, 5555,10173,10173, 5563, 2018, 2027, 2082,
977 2093, 2059, 2068, 2064, 5566,10173,10173, 2066, 5575,10173,
978 10173, 5584, 5587, 2082, 2073, 2078, 5595,10173,10173, 5603,
979 2083, 5606,10173,10173, 2076, 2101, 2117, 5617, 2130, 5622,
980 5625, 2133, 2131, 2214, 2225, 2139, 2152, 5636,10173, 2144,
982 5640,10173,10173, 5648,10173,10173, 2157, 5656, 2148, 5659,
983 5662, 5668,10173,10173, 5681,10173,10173, 5690, 5694, 5699,
984 5702, 5712, 2159, 5720, 5725, 5731, 2230, 2249, 5734, 5740,
985 10173,10173, 5751, 5754, 5757, 2188, 2187, 5761, 5764, 5770,
986 5773, 5780, 5783, 5786, 2192, 2202, 5789, 5792, 5795, 2203,
987 5798, 2204,10173, 5801, 5804,10173,10173, 5812, 5819,10173,
988 5823,10173,10173, 2247, 2234, 2249, 2275, 2286, 2288, 2276,
989 2292, 2324, 2336, 5831, 5834,10173,10173, 5842, 2298, 2301,
990 5845, 2308, 5850,10173,10173, 5858, 5861, 5864, 2320, 2325,
991 2354, 2376, 2357, 2377, 2334, 5867, 2332, 2351, 5871,10173,
993 10173, 5883, 2365, 2375, 5887, 2373, 2378, 2380, 2381, 5892,
994 10173, 5895, 5907,10173,10173, 2382, 2378, 2419, 2442, 2422,
995 2445, 2402, 2423, 5901, 2444, 5916, 5919, 5922, 5925, 5928,
996 5931, 5949, 5937, 5957, 5960, 5966, 5969, 5975,10173, 5982,
997 2486, 2494, 5988, 5994, 5997, 2432, 2429, 6001, 6004, 6009,
998 2425, 2438, 2439, 6013,10173, 2433, 6016, 6019, 6027, 2469,
999 2467, 2485, 2473, 2512, 2518, 2516, 2531, 2519, 2533, 6035,
1000 2510, 2509, 2509, 6038, 6045,10173, 6048, 2516, 2518, 2580,
1001 10173, 2578,10173, 6057, 6060, 2546, 2570, 6067, 6071, 2573,
1002 6079, 6086,10173, 2570, 2572, 6089, 2575, 6097, 6108, 2595,
1004 2591, 2593, 2647,10173, 2661,10173, 6100, 2617, 6118, 2618,
1005 6121,10173, 6124, 6127, 6135, 6142, 6146, 6150,10173,10173,
1006 6161, 6165, 6173, 6179,10173, 6182, 6185, 2686, 2662, 2753,
1007 6192,10173, 2615, 2634, 2625, 2642, 2643, 6198, 6212, 2846,
1008 2869, 6204, 2668, 2677, 2687, 2691, 2708, 2688, 2724, 2744,
1009 2748, 2762, 6222, 2709, 2749, 2748, 6225, 6228,10173, 2759,
1010 6231,10173,10173, 6234, 6237, 2763, 2773, 6252,10173,10173,
1011 2785, 6260, 6265, 2771, 6273, 6282, 6285, 6296, 6300,10173,
1012 10173, 2792, 2798, 2795,10173,10173, 6308, 6314, 6322, 6326,
1013 6329, 2875, 3051, 6340,10173, 6344, 6347, 6350,10173,10173,
1015 6359, 6366, 6377,10173, 2948, 2834, 2862, 2838, 6278, 2855,
1016 2866, 2871, 6380, 6383, 2902, 2914, 2939, 2924, 2931, 2987,
1017 6391, 2947, 2933, 2935, 2972,10173, 2994, 2979, 2988, 3012,
1018 10173, 6398, 2996, 6401, 3016, 6404, 6410, 6413, 6417, 6431,
1019 10173,10173, 3027, 3035, 3051, 6439,10173,10173, 3056, 6451,
1020 6457, 6469,10173,10173, 6477, 6480, 3046, 6488, 3072, 6491,
1021 10173,10173, 6499, 6502, 6510, 6513, 3109, 3110, 3111, 3113,
1022 3115, 3118, 6521, 6524, 6528,10173,10173, 3137, 3143, 6536,
1023 3105, 6543, 6546, 3107, 3108, 6555,10173,10173, 3157, 3151,
1024 3157, 3167, 3174, 3164, 3170, 3179, 6549, 3174, 3193, 3214,
1026 3202, 3187, 3212, 3227, 3221, 6563, 3193, 6567, 6573, 6576,
1027 6582, 6585, 3203, 6596,10173,10173, 3211, 3208, 3197, 3216,
1028 6604,10173,10173, 6613,10173,10173, 3222, 6621, 6624, 3204,
1029 6632, 3243, 3252, 6640, 3264, 3265, 3236, 3261, 3296, 3264,
1030 3286, 3320, 6648, 6651, 3322, 6654, 6657, 6660, 6679, 6682,
1031 6685, 6688, 3299, 3309, 3330, 3318, 3323, 3339, 3341, 3335,
1032 6691, 6694, 3348, 3349,10173, 3350, 3356, 3357,10173, 3358,
1033 6702, 6705, 6709, 6712, 6717,10173,10173, 3342, 3350, 3358,
1034 6725, 3364, 6731, 6734,10173,10173, 6743, 3391, 3403, 3394,
1035 3409, 3400, 3422, 3415, 3428, 3420, 3438,10173, 3431, 3441,
1037 10173, 6750,10173, 6753, 3453, 6756, 6762, 6775, 6806, 6853,
1038 6783, 6786, 6789, 3447, 3475, 3477, 3447, 3463, 3481, 3482,
1039 3468, 6794,10173,10173, 3503, 3483, 3485, 3510, 3488, 3500,
1040 6817, 6826, 6829,10173, 3476, 3477, 3491, 6832, 6836, 3484,
1041 6844, 6873, 6864, 6882, 3548, 3518, 3550, 3521, 3556, 3525,
1042 3556, 3544, 3588, 3591, 3593, 3598, 6890, 3595, 6899, 3621,
1043 3629, 6919, 6966, 3595,10173,10173, 3572, 3602,10173,10173,
1044 3590,10173, 3634, 3637,10173, 3639, 3648, 6893,10173, 3605,
1045 3618, 3615, 6939, 3666, 3667, 3636, 6947,10173,10173, 6955,
1046 3754, 3755,10173, 3697,10173, 3702,10173, 3706,10173, 3708,
1048 10173,10173,10173,10173, 6912,10173, 3718, 3731, 3733, 3714,
1049 3726, 3747, 6977, 3742, 3745, 3758, 3748,10173,10173,10173,
1050 10173, 6986, 6989, 6992, 3782, 3747, 3822, 3750, 6997, 3859,
1051 3770, 3862, 3772,10173,10173,10173,10173, 7000, 3800, 3786,
1052 3806, 7015, 3823, 3814, 3832, 3821, 7019, 7022, 7030, 7037,
1053 7048, 7051, 3830, 3840, 3853, 3843, 3865, 3879, 7059, 7067,
1054 3865, 3873, 3886, 3869, 3884, 3896, 7062, 3911,10173, 3903,
1055 10173, 3905, 7077,10173,10173, 7085,10173,10173, 7093, 3923,
1056 3942, 3907, 3913, 3909, 3912, 3943, 3944, 7101,10173,10173,
1057 3950, 3956, 3952, 3974, 3979, 3976, 4001,10173, 4009, 4008,
1059 3997, 3994, 4002, 4012, 4013, 4023, 4023, 4021, 4027, 4031,
1060 4028, 4044, 4045, 4047, 4054, 4054, 4093,10173,10173, 4045,
1061 4065, 4059, 4102, 4093, 4100, 4118, 4107, 4114, 4131, 4127,
1062 4133, 4150, 4151, 4149, 4166, 4174, 4156, 4158, 4173, 4183,
1063 4199, 4189, 4226, 4216, 4207, 4236, 4222, 4212, 4246, 4237,
1064 4228, 4257, 4253, 4241, 4249, 4253, 4259, 4285, 4261,10173,
1065 4286, 4270,10173, 4298, 4279,10173, 4311, 4288,10173, 4375,
1066 4287, 4300, 4290, 4307,10173, 4308,10173, 4309,10173, 4321,
1067 10173, 4325, 7109, 4327, 4350, 4331, 4350, 4316, 4334, 4336,
1068 4342, 7112, 4390,10173, 4397,10173, 4401, 4404, 4409, 4416,
1070 4419, 4427,10173,10173,10173,10173,10173,10173, 4418, 4468,
1071 4469, 4474, 4450, 4466, 4416, 4568, 4539, 4540, 4542, 4570,
1072 4456, 4507, 4438, 4578, 4519, 4602, 4617, 4618, 4628, 4645,
1073 4590, 4671, 4636, 4669, 4424, 4435, 4709, 4720, 4518, 4793,
1074 4646, 4679, 4783, 4801, 4741, 4820, 4800, 4857, 4711, 4874,
1075 4733, 4754, 4579, 4691, 4908, 4911, 4814, 4873, 4500, 4878,
1076 4913, 5040, 4883, 5042, 4954, 4957, 4712, 4929, 4986, 5003,
1077 5006, 5059, 4794, 4812, 5000, 5106, 5121, 5138, 5068, 5114,
1078 5050, 5120, 5089, 5173, 5149, 5169, 5014, 5195, 5172, 5189,
1079 4743, 5303, 7120, 7123,10173,10173, 7143, 7152, 7161, 7170,
1081 7179, 7188, 7197, 7206, 7215, 7224, 7233, 7242, 7251, 7260,
1082 7269, 7278, 7287, 7296, 7305, 7314, 7323, 7332, 7341, 7350,
1083 7359, 7368, 7377, 7386, 7395, 7404, 7413, 7422, 7431, 7440,
1084 7449, 7458, 7467, 7476, 7485, 7494, 7503, 7512, 7521, 7530,
1085 7539, 7548, 7557, 7566, 7575, 7584, 7593, 7602, 7611, 7618,
1086 7625, 7632, 7639, 7646, 7653, 7660, 7667, 7674, 7681, 7688,
1087 7695, 7702, 7709, 7716, 7723, 7730, 7737, 7744, 7751, 7758,
1088 7765, 7772, 7779, 7788, 7795, 7800, 7807, 7812, 7819, 7824,
1089 7831, 7836, 7843, 7848, 7855, 7860, 7867, 7872, 7879, 7884,
1090 7891, 7896, 7903, 7908, 7915, 7920, 7927, 7932, 7939, 7944,
1092 7951, 7956, 7963, 7968, 7975, 7980, 7987, 7992, 7999, 8004,
1093 8011, 8016, 8023, 8028, 8035, 8040, 8047, 8052, 8059, 8064,
1094 8071, 8076, 8085, 8091, 8098, 8106, 8113, 8121, 8128, 8136,
1095 8143, 8151, 8158, 8166, 8173, 8181, 8188, 8196, 8203, 8211,
1096 8218, 8226, 8233, 8241, 8248, 8256, 8263, 8271, 8278, 8286,
1097 8293, 8301, 8308, 8316, 8324, 8332, 8340, 8348, 8355, 8363,
1098 8371, 8379, 8387, 8395, 8402, 8410, 8417, 8425, 8433, 8440,
1099 8448, 8457, 8463, 8470, 8478, 8486, 8494, 8502, 8510, 8517,
1100 8525, 8532, 8540, 8547, 8555, 8562, 8570, 8577, 8585, 8593,
1101 8601, 8609, 8617, 8624, 8632, 8639, 8647, 8654, 8662, 8669,
1103 8677, 8684, 8692, 8699, 8707, 8714, 8722, 8729, 8737, 8745,
1104 8752, 8760, 8767, 8775, 8782, 8790, 8798, 8805, 8813, 8822,
1105 8831, 8838, 8846, 8854, 8861, 8869, 8876, 8884, 8891, 8899,
1106 8906, 8913, 8921, 8928, 8936, 8944, 8951, 8959, 8966, 8974,
1107 8981, 8989, 8996, 9004, 9011, 9019, 9026, 9034, 9041, 9049,
1108 9056, 9064, 9071, 9079, 9087, 9094, 9102, 9109, 9117, 9125,
1109 9133, 9141, 9149, 9157, 9166, 9175, 9182, 9190, 9198, 9205,
1110 9213, 9220, 9228, 9235, 9243, 9250, 9257, 9265, 9273, 9281,
1111 9289, 9297, 9305, 9312, 9320, 9327, 9335, 9342, 9350, 9357,
1112 9365, 9372, 9380, 9387, 9395, 9403, 9411, 9418, 9426, 9434,
1114 9442, 9450, 9457, 9465, 9473, 9481, 9489, 9498, 9507, 9515,
1115 9523, 9531, 9538, 9546, 9553, 9561, 9569, 9577, 9585, 9593,
1116 9601, 9609, 9617, 9625, 9632, 9639, 9647, 9654, 9661, 9669,
1117 9676, 9683, 9691, 9698, 9706, 9713, 9721, 9729, 9737, 9744,
1118 9752, 9760, 9768, 9777, 9786, 9794, 9802, 9809, 9816, 9824,
1119 9832, 9840, 9848, 9856, 9863, 9870, 9878, 9885, 9892, 9900,
1120 9907, 9914, 9921, 9929, 9936, 9944, 9952, 9960, 9968, 9976,
1121 9984, 9992,10001,10010,10018,10026,10033,10041,10049,10057,
1122 10065,10073,10080,10087,10095,10102,10109,10118,10127,10136,
1127 static yyconst flex_int16_t yy_def[3194] =
1129 2797, 2797, 2798, 2798, 2798, 2798, 2799, 2799, 2800, 2800,
1130 2801, 2801, 2802, 2802, 2802, 2802, 2803, 2803, 2797, 2797,
1131 2804, 2804, 2805, 2805, 2805, 2805, 2797, 2797, 2805, 2805,
1132 2805, 2805, 2797, 2797, 2805, 2805, 2797, 2797, 2805, 2805,
1133 2805, 2805, 2806, 2806, 2807, 2807, 2797, 2797, 2807, 2807,
1134 2807, 2807, 2808, 2808, 2802, 2802, 2809, 2809, 2810, 2810,
1135 2797, 2797, 2810, 2810, 2810, 2810, 2811, 2811, 2812, 2812,
1136 2813, 2813, 2814, 2814, 2814, 2814, 2797, 2797, 2814, 2814,
1137 2814, 2814, 2797, 2797, 2814, 2814, 2797, 2797, 2814, 2814,
1138 2814, 2814, 2797, 2797, 2814, 2814, 2797, 2797, 2814, 2814,
1140 2814, 2814, 2815, 2815, 2816, 2816, 2797, 2797, 2816, 2816,
1141 2816, 2816, 2817, 2817, 2818, 2818, 2797, 2797, 2818, 2818,
1142 2818, 2818, 2819, 2819, 2820, 2820, 2821, 2821, 2822, 2822,
1143 2823, 2823, 2824, 2824, 2797, 2797, 2824, 2824, 2824, 2824,
1144 2796, 141, 2825, 2825, 2826, 2826, 2827, 2827, 2828, 2828,
1145 2829, 2829, 2830, 2830, 2831, 2831, 2797, 2797, 2831, 2831,
1146 2831, 2831, 2832, 2832, 2833, 2833, 2797, 2797, 2833, 2833,
1147 2833, 2833, 2834, 2834, 2835, 2835, 2797, 2797, 2835, 2835,
1148 2835, 2835, 2836, 2836, 2837, 2837, 2838, 2838, 2839, 2839,
1149 2797, 2797, 2839, 2839, 2839, 2839, 2840, 2840, 2841, 2841,
1151 2797, 2797, 2841, 2841, 2841, 2841, 2842, 2842, 2843, 2843,
1152 2797, 2797, 2843, 2843, 2843, 2843, 2844, 2844, 2845, 2845,
1153 2846, 2846, 2847, 2847, 2797, 2797, 2847, 2847, 2847, 2847,
1154 2848, 2848, 2849, 2849, 2797, 2797, 2796, 2796, 2796, 2796,
1155 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1156 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1157 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2850, 2796, 2796,
1158 2850, 2796, 2796, 2796, 274, 274, 276, 274, 277, 277,
1159 2796, 2796, 2796, 2851, 2796, 2796, 2851, 2796, 2796, 278,
1160 277, 2796, 2796, 2796, 2852, 2796, 2796, 2852, 2852, 2852,
1162 2796, 2796, 2796, 2796, 2796, 2853, 2796, 2796, 2853, 2853,
1163 2853, 2853, 2853, 2796, 2796, 277, 277, 277, 2796, 2796,
1164 2796, 2854, 2796, 2796, 2854, 2854, 2854, 2796, 2796, 2796,
1165 2796, 2796, 2796, 2855, 2796, 2796, 2855, 2855, 2796, 2796,
1166 278, 277, 278, 341, 342, 342, 342, 342, 347, 349,
1167 348, 347, 2796, 2796, 2796, 2856, 2796, 2796, 2856, 2856,
1168 2856, 2856, 2796, 2796, 277, 277, 2796, 2796, 2796, 2857,
1169 2796, 2796, 2857, 2857, 2796, 2796, 277, 277, 2796, 2796,
1170 2796, 2858, 2796, 2796, 2858, 2858, 2796, 2796, 2796, 2796,
1171 2796, 2796, 2859, 2796, 2796, 2859, 2859, 2796, 2796, 2796,
1173 2796, 2796, 2796, 2860, 2796, 2796, 2860, 2860, 2860, 2860,
1174 2860, 2796, 2796, 277, 414, 414, 2796, 2796, 2796, 2861,
1175 2796, 2796, 2861, 2861, 2861, 2861, 2861, 2861, 2861, 2861,
1176 2796, 2796, 2796, 2796, 2796, 2796, 2862, 2796, 2796, 2862,
1177 2862, 2862, 2862, 2862, 2862, 2862, 2796, 2796, 2796, 2796,
1178 2796, 2796, 2863, 2796, 2796, 2863, 2863, 2796, 2796, 2796,
1179 2796, 2796, 2796, 2864, 2796, 2796, 2864, 2864, 2864, 2864,
1180 2796, 2796, 414, 277, 2796, 2796, 2796, 2865, 2796, 2796,
1181 2865, 2865, 2796, 2796, 277, 485, 485, 2796, 2796, 2796,
1182 2866, 2796, 2796, 2866, 2866, 2866, 2796, 2796, 485, 485,
1184 2796, 2796, 2796, 2867, 2796, 2796, 2867, 2867, 2796, 2796,
1185 2796, 2796, 2796, 2796, 2868, 2796, 2796, 2868, 2868, 2796,
1186 2796, 485, 485, 2796, 2796, 2796, 2869, 2796, 2796, 2869,
1187 2869, 2869, 2796, 2796, 485, 485, 2796, 2796, 2796, 2870,
1188 2796, 2796, 2870, 2870, 2870, 2870, 2796, 2796, 277, 549,
1189 549, 2796, 2796, 2796, 2871, 2796, 2796, 2871, 2796, 2796,
1190 2796, 2796, 2796, 2796, 2872, 2796, 2796, 2872, 2796, 2796,
1191 549, 277, 2796, 2796, 2796, 2873, 2796, 2796, 2873, 2873,
1192 2796, 2796, 2796, 2796, 2874, 2796, 2796, 2796, 2796, 2796,
1193 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1195 2875, 2875, 2876, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1196 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1197 2796, 2796, 2796, 2796, 2796, 2796, 2877, 2877, 2878, 2796,
1198 2879, 2879, 2879, 2879, 2796, 2880, 2796, 2796, 2881, 2881,
1199 2881, 2881, 2881, 2881, 2881, 2881, 2881, 2882, 2796, 2796,
1200 2883, 2883, 2883, 2883, 2884, 2796, 2885, 2885, 2885, 2886,
1201 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1202 2796, 2796, 2887, 2887, 2887, 2887, 2887, 2888, 2796, 2889,
1203 2889, 2889, 2890, 2796, 2891, 2891, 2891, 2892, 2796, 2893,
1204 2893, 2893, 2894, 2796, 2895, 2895, 2895, 2895, 2895, 2895,
1206 2896, 2796, 2796, 2897, 2897, 2897, 2897, 2897, 2897, 2897,
1207 2897, 2897, 2897, 2897, 2897, 2897, 2897, 2898, 2796, 2899,
1208 2899, 2899, 2899, 2899, 2899, 2899, 2899, 2900, 2796, 2901,
1209 2901, 2901, 2902, 2796, 2903, 2903, 2903, 2903, 2903, 2903,
1210 2904, 2796, 2905, 2905, 2905, 2905, 2906, 2796, 2796, 2907,
1211 2907, 2907, 2907, 2907, 2908, 2796, 2909, 2909, 2909, 2910,
1212 2796, 2911, 2911, 2911, 2912, 2796, 2913, 2913, 2913, 2913,
1213 2914, 2796, 2915, 2915, 2915, 2915, 2915, 2916, 2796, 2796,
1214 2917, 2917, 2918, 2796, 2919, 2919, 2920, 2796, 2921, 2921,
1215 2921, 2922, 2923, 2796, 2923, 2796, 2796, 2796, 2924, 2796,
1217 2796, 2796, 2796, 2796, 2796, 2796, 2925, 2926, 2926, 2796,
1218 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1219 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1220 2796, 2796, 2796, 2796, 2927, 2928, 2928, 2929, 2796, 2796,
1221 2929, 2796, 2930, 2930, 2796, 2931, 2796, 2796, 2931, 2931,
1222 2931, 2931, 2931, 2931, 2932, 2932, 2796, 2933, 2933, 2933,
1223 2934, 2934, 2796, 2796, 2935, 2936, 2936, 2796, 2796, 2796,
1224 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2937, 2796,
1225 2796, 2937, 2937, 2938, 2938, 2796, 2796, 2939, 2940, 2940,
1226 2796, 2796, 2941, 2942, 2942, 2943, 2943, 2944, 2944, 2945,
1228 2945, 2945, 2796, 2796, 2945, 2945, 2946, 2946, 2796, 2796,
1229 2947, 2947, 2796, 2796, 2947, 2796, 2796, 2947, 2947, 2947,
1230 2947, 2947, 2947, 2947, 2947, 2948, 2948, 2949, 2949, 2949,
1231 2796, 2796, 2949, 2949, 2949, 2950, 2950, 2951, 2796, 2796,
1232 2952, 2952, 2953, 2796, 2796, 2953, 2953, 2953, 2954, 2954,
1233 2955, 2955, 2955, 2956, 2956, 2796, 2957, 2957, 2957, 2957,
1234 2958, 2958, 2959, 2796, 2796, 2960, 2960, 2961, 2961, 2962,
1235 2962, 2963, 2963, 2963, 2964, 2964, 2965, 2965, 2965, 2965,
1236 2966, 2966, 2796, 2967, 2968, 2968, 2796, 2796, 2969, 2969,
1237 2796, 2796, 2970, 2971, 2971, 2972, 2796, 2796, 2972, 2796,
1239 2796, 2973, 2796, 2796, 2796, 2796, 2796, 2796, 2974, 2796,
1240 2975, 2796, 2975, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1241 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1242 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2976,
1243 2796, 2977, 2796, 2977, 2978, 2796, 2796, 2796, 2978, 2796,
1244 2796, 2979, 2796, 2979, 2980, 2796, 2796, 2796, 2796, 2796,
1245 2980, 2796, 2796, 2980, 2980, 2980, 2796, 2981, 2796, 2981,
1246 2796, 2982, 2982, 2982, 2796, 2983, 2796, 2983, 2796, 2796,
1247 2796, 2984, 2796, 2985, 2796, 2985, 2796, 2796, 2796, 2796,
1248 2796, 2796, 2796, 2796, 2796, 2796, 2986, 2796, 2796, 2796,
1250 2986, 2986, 2796, 2987, 2796, 2987, 2796, 2796, 2796, 2988,
1251 2796, 2989, 2796, 2989, 2796, 2796, 2796, 2990, 2796, 2991,
1252 2796, 2991, 2992, 2992, 2796, 2993, 2796, 2993, 2994, 2994,
1253 2994, 2796, 2796, 2796, 2994, 2994, 2796, 2995, 2796, 2995,
1254 2796, 2796, 2996, 2996, 2996, 2996, 2796, 2796, 2796, 2996,
1255 2796, 2796, 2796, 2796, 2796, 2996, 2996, 2996, 2996, 2996,
1256 2996, 2996, 2796, 2997, 2796, 2997, 2998, 2998, 2998, 2998,
1257 2796, 2796, 2796, 2796, 2796, 2998, 2998, 2796, 2999, 2796,
1258 2999, 3000, 2796, 2796, 2796, 2796, 3001, 2796, 3001, 3002,
1259 2796, 2796, 2796, 3002, 3002, 3002, 2796, 3003, 2796, 3003,
1261 2796, 2796, 2796, 2796, 3004, 2796, 3005, 2796, 3005, 2796,
1262 2796, 2796, 3006, 3006, 2796, 2796, 3006, 2796, 3007, 2796,
1263 3007, 3008, 2796, 2796, 2796, 2796, 3009, 2796, 3009, 2796,
1264 2796, 2796, 2796, 2796, 3010, 2796, 3010, 2796, 2796, 3011,
1265 3011, 2796, 2796, 2796, 3012, 2796, 3012, 3013, 3013, 3013,
1266 3013, 2796, 3014, 2796, 3014, 2796, 3015, 2796, 3016, 2796,
1267 3016, 2796, 2796, 2796, 2796, 3017, 2796, 3017, 2796, 2796,
1268 2796, 3018, 2796, 3019, 2796, 3019, 3020, 3021, 2796, 2796,
1269 2796, 2796, 2796, 3022, 3023, 2796, 2796, 2796, 2796, 2796,
1270 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1272 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1273 2796, 2796, 3024, 2796, 2796, 3025, 2796, 3026, 3027, 2796,
1274 2796, 2796, 2796, 2796, 2796, 2796, 2796, 3027, 2796, 2796,
1275 3027, 3028, 2796, 3029, 2796, 2796, 3029, 3030, 3031, 2796,
1276 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1277 2796, 3032, 3032, 2796, 2796, 3033, 3034, 3035, 2796, 2796,
1278 3036, 2796, 2796, 3037, 3038, 3039, 3039, 2796, 2796, 3039,
1279 3039, 3040, 2796, 2796, 3041, 3041, 3041, 3041, 2796, 2796,
1280 2796, 2796, 2796, 3041, 3041, 3041, 3041, 3041, 3041, 3041,
1281 3042, 3043, 3043, 3043, 3043, 2796, 2796, 2796, 3043, 3043,
1283 3044, 3045, 3046, 3047, 3047, 3047, 3047, 3048, 2796, 2796,
1284 2796, 2796, 2796, 2796, 3049, 3050, 2796, 2796, 2796, 2796,
1285 3051, 3051, 2796, 2796, 2796, 3051, 3052, 3053, 3054, 2796,
1286 2796, 2796, 2796, 2796, 2796, 3055, 2796, 2796, 2796, 3056,
1287 3056, 2796, 2796, 2796, 3057, 3058, 2796, 2796, 3058, 3058,
1288 3059, 2796, 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3066,
1289 2796, 3066, 2796, 2796, 2796, 3067, 3068, 2796, 2796, 2796,
1290 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1291 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1292 2796, 2796, 2796, 2796, 2796, 2796, 3069, 2796, 2796, 2796,
1294 3070, 2796, 3071, 3072, 2796, 2796, 2796, 3072, 2796, 2796,
1295 2796, 3072, 3073, 2796, 3074, 2796, 2796, 2796, 2796, 2796,
1296 3075, 3076, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1297 2796, 2796, 3077, 2796, 2796, 2796, 2796, 2796, 3078, 3079,
1298 3080, 2796, 2796, 2796, 3081, 2796, 2796, 2796, 3082, 3083,
1299 3084, 3084, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 3084,
1300 3085, 2796, 2796, 3086, 2796, 2796, 3086, 3086, 2796, 2796,
1301 2796, 2796, 2796, 3086, 3086, 3086, 3086, 3086, 3086, 3087,
1302 3088, 2796, 2796, 3088, 3088, 2796, 2796, 3088, 3089, 3090,
1303 3091, 3092, 3092, 3092, 2796, 2796, 3092, 3093, 3094, 3095,
1305 2796, 3096, 3096, 3096, 3097, 3098, 3099, 3100, 3101, 3101,
1306 3102, 3103, 2796, 2796, 2796, 3103, 3103, 3104, 2796, 2796,
1307 2796, 3105, 3106, 2796, 2796, 3107, 3108, 3109, 3109, 2796,
1308 2796, 3110, 3111, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1309 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1310 2796, 2796, 2796, 2796, 2796, 2796, 2796, 3112, 3113, 2796,
1311 3114, 3115, 3115, 3115, 3116, 3117, 2796, 2796, 2796, 2796,
1312 2796, 2796, 2796, 2796, 2796, 2796, 2796, 3118, 3119, 2796,
1313 2796, 2796, 2796, 2796, 2796, 2796, 3120, 2796, 2796, 2796,
1314 3121, 2796, 2796, 3122, 3123, 2796, 2796, 3124, 3125, 3125,
1316 2796, 2796, 2796, 2796, 2796, 2796, 3125, 2796, 2796, 2796,
1317 2796, 3126, 2796, 2796, 2796, 2796, 2796, 3126, 2796, 2796,
1318 2796, 2796, 2796, 3126, 3126, 3126, 3126, 2796, 2796, 3127,
1319 3128, 2796, 2796, 2796, 2796, 2796, 3128, 2796, 2796, 2796,
1320 3128, 2796, 2796, 3129, 3130, 3131, 3131, 3131, 2796, 2796,
1321 2796, 3131, 2796, 2796, 3132, 3133, 2796, 2796, 2796, 2796,
1322 2796, 3134, 3135, 3136, 3137, 3138, 2796, 2796, 2796, 2796,
1323 3139, 3140, 3140, 3140, 3141, 2796, 2796, 2796, 2796, 3142,
1324 3143, 2796, 2796, 2796, 2796, 2796, 3144, 3145, 3145, 2796,
1325 2796, 2796, 3146, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1327 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1328 2796, 2796, 2796, 2796, 3147, 3148, 2796, 2796, 2796, 3149,
1329 2796, 2796, 3149, 3150, 2796, 2796, 2796, 2796, 2796, 2796,
1330 2796, 2796, 2796, 2796, 2796, 2796, 3151, 2796, 2796, 2796,
1331 2796, 2796, 2796, 2796, 2796, 2796, 3152, 2796, 2796, 2796,
1332 3153, 2796, 2796, 2796, 2796, 2796, 3154, 3155, 3155, 2796,
1333 2796, 3155, 2796, 3156, 2796, 2796, 2796, 3156, 2796, 2796,
1334 2796, 2796, 2796, 3156, 3156, 3156, 2796, 2796, 2796, 3157,
1335 3158, 2796, 2796, 2796, 3158, 3158, 3159, 3160, 3161, 2796,
1336 2796, 3161, 3161, 2796, 2796, 3161, 3162, 2796, 2796, 2796,
1338 2796, 2796, 2796, 2796, 2796, 2796, 3163, 3164, 3165, 3166,
1339 3167, 2796, 2796, 2796, 2796, 2796, 2796, 3168, 3169, 3169,
1340 3169, 3170, 2796, 3171, 3172, 3173, 3174, 3174, 2796, 2796,
1341 2796, 2796, 3175, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1342 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1343 3176, 3177, 2796, 3178, 2796, 2796, 2796, 3178, 2796, 2796,
1344 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1345 2796, 2796, 2796, 3179, 2796, 2796, 2796, 2796, 2796, 2796,
1346 2796, 2796, 2796, 2796, 2796, 3180, 3181, 3182, 3183, 3183,
1347 2796, 2796, 2796, 2796, 3183, 2796, 3184, 3184, 2796, 2796,
1349 2796, 3184, 3184, 3184, 3185, 3186, 3186, 3186, 3187, 2796,
1350 2796, 3161, 2796, 2796, 2796, 3161, 3161, 2796, 2796, 2796,
1351 2796, 3161, 3162, 2796, 3163, 3164, 3165, 3166, 3167, 3168,
1352 2796, 2796, 3169, 3169, 3170, 2796, 3171, 2796, 2796, 3173,
1353 3174, 3174, 2796, 3175, 2796, 2796, 2796, 2796, 2796, 2796,
1354 2796, 2796, 2796, 2796, 2796, 3177, 2796, 2796, 3178, 2796,
1355 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 3179,
1356 2796, 2796, 2796, 3180, 2796, 2796, 3182, 3183, 3183, 2796,
1357 2796, 2796, 2796, 3183, 2796, 3184, 3184, 2796, 2796, 3184,
1358 3184, 2796, 2796, 3186, 3186, 3186, 3187, 2796, 2796, 3161,
1360 3161, 3161, 2796, 2796, 2796, 2796, 3161, 3162, 2796, 3163,
1361 2796, 2796, 2796, 2796, 3166, 3167, 3168, 2796, 2796, 2796,
1362 2796, 2796, 3169, 2796, 2796, 2796, 3171, 3173, 3174, 3174,
1363 2796, 2796, 2796, 2796, 2796, 2796, 2796, 3177, 2796, 2796,
1364 2796, 3178, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1365 2796, 2796, 3179, 2796, 2796, 2796, 3180, 2796, 2796, 3183,
1366 3183, 2796, 2796, 2796, 2796, 3184, 3184, 2796, 2796, 2796,
1367 3184, 2796, 2796, 3186, 3186, 2796, 2796, 3187, 2796, 2796,
1368 2796, 3161, 3161, 3161, 2796, 2796, 2796, 2796, 3162, 3163,
1369 2796, 2796, 2796, 2796, 2796, 3167, 3168, 2796, 2796, 2796,
1371 2796, 2796, 2796, 2796, 3173, 3174, 3174, 2796, 2796, 2796,
1372 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1373 3178, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1374 2796, 3179, 2796, 2796, 2796, 3180, 3183, 2796, 2796, 2796,
1375 2796, 2796, 3184, 3184, 3184, 2796, 2796, 2796, 3186, 2796,
1376 2796, 2796, 2796, 2796, 2796, 2796, 3161, 3161, 3161, 2796,
1377 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1378 2796, 2796, 3167, 3168, 2796, 2796, 2796, 3173, 3174, 3174,
1379 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1380 2796, 2796, 2796, 2796, 2796, 2796, 3178, 2796, 2796, 2796,
1382 2796, 2796, 2796, 2796, 2796, 3179, 2796, 2796, 2796, 3180,
1383 2796, 2796, 3183, 2796, 2796, 2796, 3184, 3184, 3184, 3186,
1384 2796, 2796, 2796, 2796, 2796, 2796, 3161, 2796, 2796, 3161,
1385 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1386 2796, 2796, 3167, 3168, 3173, 3174, 3174, 3174, 2796, 2796,
1387 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1388 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1389 3179, 2796, 2796, 3180, 2796, 2796, 2796, 3183, 3184, 3184,
1390 3184, 3186, 3161, 2796, 2796, 2796, 3161, 2796, 2796, 2796,
1391 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1393 2796, 2796, 2796, 3168, 3173, 3174, 3174, 3174, 3188, 3189,
1394 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1395 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1396 3179, 2796, 2796, 2796, 3183, 3184, 3184, 2796, 2796, 3186,
1397 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1398 2796, 2796, 2796, 2796, 2796, 2796, 3168, 3173, 3174, 3190,
1399 3191, 3188, 3189, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1400 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 3183,
1401 3184, 3184, 2796, 2796, 2796, 3186, 2796, 2796, 2796, 2796,
1402 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1404 2796, 2796, 2796, 2796, 2796, 2796, 3173, 3190, 3174, 3192,
1405 3191, 3193, 3174, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1406 2796, 3183, 3184, 3184, 2796, 2796, 2796, 2796, 3186, 2796,
1407 2796, 2796, 2796, 2796, 2796, 2796, 2796, 3173, 3192, 2796,
1408 3193, 3174, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1409 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1410 2796, 2796, 2796, 2796, 2796, 2796, 3173, 2796, 2796, 2796,
1411 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1412 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1413 2796, 2796, 2796, 2796, 2796, 2796, 3173, 2796, 2796, 2796,
1415 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1416 2796, 2796, 2796, 2796, 2796, 2796, 3173, 2796, 2796, 2796,
1417 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1418 2796, 2796, 2796, 2796, 2796, 3173, 2796, 2796, 2796, 2796,
1419 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1420 2796, 2796, 3173, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1421 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 3173,
1422 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1423 2796, 2796, 3173, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1424 2796, 3173, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1426 3173, 3173, 2796, 2796, 2796, 2796, 2796, 2796, 3173, 3173,
1427 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173,
1428 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173,
1429 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173,
1430 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173,
1431 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173,
1432 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173,
1433 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173,
1434 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173,
1435 3173, 3173, 3173, 3173, 2796, 0, 2796, 2796, 2796, 2796,
1437 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1438 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1439 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1440 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1441 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1442 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1443 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1444 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1445 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1446 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1448 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1449 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1450 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1451 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1452 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1453 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1454 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1455 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1456 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1457 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1459 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1460 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1461 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1462 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1463 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1464 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1465 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1466 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1467 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1468 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1470 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1471 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1472 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1473 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1474 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1475 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1476 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1477 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1478 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
1483 static yyconst flex_int16_t yy_nxt[10247] =
1485 2796, 240, 241, 240, 240, 241, 240, 240, 241, 240,
1486 240, 241, 240, 245, 241, 245, 251, 242, 248, 251,
1487 242, 248, 787, 243, 2796, 249, 243, 660, 249, 246,
1488 245, 241, 245, 585, 252, 254, 255, 252, 254, 255,
1489 256, 257, 629, 256, 257, 585, 246, 261, 262, 586,
1490 258, 254, 255, 258, 259, 588, 256, 254, 255, 605,
1491 259, 587, 256, 261, 262, 1639, 258, 241, 241, 241,
1492 706, 587, 258, 241, 241, 241, 273, 241, 273, 273,
1493 241, 273, 622, 264, 273, 241, 273, 664, 739, 264,
1494 707, 263, 274, 621, 666, 274, 584, 584, 584, 740,
1496 275, 584, 584, 584, 584, 584, 584, 263, 265, 266,
1497 241, 266, 265, 265, 265, 265, 265, 265, 265, 267,
1498 265, 265, 265, 648, 265, 269, 265, 270, 265, 273,
1499 241, 273, 241, 241, 241, 241, 241, 241, 616, 273,
1500 241, 273, 273, 241, 273, 275, 1640, 1642, 276, 588,
1501 588, 276, 617, 265, 265, 274, 1643, 588, 274, 273,
1502 241, 273, 584, 584, 584, 587, 587, 584, 584, 584,
1503 584, 584, 584, 587, 649, 277, 271, 265, 266, 241,
1504 266, 265, 265, 265, 265, 265, 265, 265, 267, 265,
1505 265, 265, 2796, 265, 269, 265, 270, 265, 273, 241,
1507 273, 241, 241, 241, 241, 241, 241, 599, 273, 241,
1508 273, 273, 241, 273, 277, 2796, 603, 278, 618, 745,
1509 278, 648, 265, 265, 275, 618, 746, 275, 241, 241,
1510 241, 241, 241, 241, 273, 241, 273, 273, 241, 273,
1511 273, 241, 273, 649, 279, 271, 606, 279, 588, 1644,
1512 277, 1645, 588, 277, 619, 623, 280, 273, 241, 273,
1513 620, 584, 584, 584, 587, 2796, 621, 624, 587, 617,
1514 622, 678, 621, 280, 281, 282, 241, 282, 281, 281,
1515 281, 281, 281, 281, 281, 283, 281, 281, 281, 794,
1516 281, 285, 281, 286, 281, 289, 241, 289, 289, 241,
1518 289, 241, 241, 241, 616, 241, 241, 241, 289, 241,
1519 289, 290, 646, 1648, 290, 1651, 625, 278, 617, 281,
1520 281, 278, 649, 997, 290, 842, 647, 287, 281, 282,
1521 241, 282, 281, 281, 281, 281, 281, 281, 281, 283,
1522 281, 281, 281, 1458, 281, 285, 281, 286, 281, 289,
1523 241, 289, 289, 241, 289, 289, 241, 289, 584, 584,
1524 584, 254, 255, 635, 588, 290, 256, 1652, 291, 1653,
1525 636, 291, 678, 281, 281, 611, 301, 1654, 621, 587,
1526 587, 287, 292, 293, 241, 293, 292, 292, 292, 292,
1527 292, 292, 292, 294, 292, 292, 292, 668, 292, 296,
1529 292, 297, 292, 608, 1655, 302, 315, 241, 315, 315,
1530 241, 315, 617, 241, 241, 241, 254, 255, 241, 241,
1531 241, 256, 316, 621, 683, 316, 588, 292, 292, 317,
1532 713, 301, 1168, 655, 317, 298, 683, 1169, 299, 584,
1533 584, 584, 587, 714, 300, 292, 293, 241, 293, 292,
1534 292, 292, 292, 292, 292, 292, 294, 292, 292, 292,
1535 302, 292, 296, 292, 297, 292, 315, 241, 315, 315,
1536 241, 315, 315, 241, 315, 649, 315, 241, 315, 329,
1537 241, 329, 316, 588, 588, 316, 588, 621, 318, 642,
1538 292, 292, 318, 643, 1659, 330, 1660, 644, 298, 587,
1540 587, 299, 587, 711, 593, 1662, 712, 300, 303, 304,
1541 241, 304, 303, 303, 303, 303, 303, 303, 303, 305,
1542 303, 303, 303, 741, 303, 307, 303, 308, 303, 329,
1543 241, 329, 340, 241, 340, 340, 241, 340, 741, 340,
1544 241, 340, 340, 241, 340, 330, 594, 588, 341, 588,
1545 588, 341, 595, 303, 303, 342, 596, 688, 342, 1663,
1546 1664, 597, 309, 587, 310, 587, 587, 311, 584, 584,
1547 584, 611, 312, 313, 303, 304, 241, 304, 303, 303,
1548 303, 303, 303, 303, 303, 305, 303, 303, 303, 621,
1549 303, 307, 303, 308, 303, 241, 241, 241, 241, 241,
1551 241, 340, 241, 340, 605, 340, 241, 340, 340, 241,
1552 340, 343, 997, 588, 343, 588, 588, 344, 621, 303,
1553 303, 344, 693, 1666, 345, 584, 584, 584, 309, 587,
1554 310, 587, 587, 311, 584, 584, 584, 1627, 312, 313,
1555 319, 320, 241, 320, 319, 319, 319, 319, 319, 319,
1556 319, 321, 319, 319, 319, 1679, 319, 323, 319, 324,
1557 319, 340, 241, 340, 241, 241, 241, 241, 241, 241,
1558 715, 340, 241, 340, 340, 241, 340, 345, 823, 1680,
1559 346, 716, 717, 346, 660, 319, 319, 342, 588, 588,
1560 342, 824, 325, 584, 584, 584, 718, 326, 584, 584,
1562 584, 584, 584, 584, 587, 587, 327, 319, 320, 241,
1563 320, 319, 319, 319, 319, 319, 319, 319, 321, 319,
1564 319, 319, 669, 319, 323, 319, 324, 319, 241, 241,
1565 241, 241, 241, 241, 340, 241, 340, 665, 340, 241,
1566 340, 340, 241, 340, 347, 794, 800, 347, 753, 801,
1567 345, 2796, 319, 319, 345, 754, 1681, 348, 1298, 325,
1568 795, 618, 663, 609, 326, 664, 584, 584, 584, 755,
1569 1299, 671, 666, 327, 331, 332, 241, 332, 331, 331,
1570 331, 331, 331, 331, 331, 333, 331, 331, 331, 606,
1571 331, 335, 331, 336, 331, 340, 241, 340, 241, 241,
1573 241, 241, 241, 241, 1684, 340, 241, 340, 340, 241,
1574 340, 348, 813, 1309, 349, 814, 610, 349, 818, 331,
1575 331, 350, 819, 1685, 350, 1299, 618, 584, 584, 584,
1576 337, 584, 584, 584, 584, 584, 584, 1686, 338, 331,
1577 332, 241, 332, 331, 331, 331, 331, 331, 331, 331,
1578 333, 331, 331, 331, 669, 331, 335, 331, 336, 331,
1579 241, 241, 241, 241, 241, 241, 340, 241, 340, 670,
1580 340, 241, 340, 340, 241, 340, 351, 588, 588, 351,
1581 813, 1687, 348, 827, 331, 331, 348, 1699, 588, 352,
1582 340, 241, 340, 587, 587, 337, 584, 584, 584, 584,
1584 584, 584, 830, 338, 587, 814, 352, 353, 354, 241,
1585 354, 353, 353, 353, 353, 353, 353, 353, 355, 353,
1586 353, 353, 1700, 353, 357, 353, 358, 353, 364, 241,
1587 364, 364, 241, 364, 241, 241, 241, 787, 241, 241,
1588 241, 584, 584, 584, 365, 1707, 588, 365, 588, 588,
1589 317, 1711, 353, 353, 317, 728, 733, 359, 584, 584,
1590 584, 701, 587, 360, 587, 587, 361, 584, 584, 584,
1591 747, 1712, 362, 353, 354, 241, 354, 353, 353, 353,
1592 353, 353, 353, 353, 355, 353, 353, 353, 621, 353,
1593 357, 353, 358, 353, 364, 241, 364, 364, 241, 364,
1595 364, 241, 364, 1718, 364, 241, 364, 765, 1724, 702,
1596 365, 588, 649, 365, 588, 588, 366, 748, 353, 353,
1597 366, 621, 760, 359, 584, 584, 584, 587, 1725, 360,
1598 587, 587, 361, 584, 584, 584, 771, 1726, 362, 367,
1599 368, 241, 368, 367, 367, 367, 367, 367, 367, 367,
1600 369, 367, 367, 367, 610, 367, 371, 367, 372, 367,
1601 376, 241, 376, 376, 241, 376, 241, 241, 241, 1309,
1602 241, 241, 241, 376, 241, 376, 377, 588, 588, 377,
1603 1727, 1333, 317, 610, 367, 367, 317, 1731, 1737, 377,
1604 584, 584, 584, 587, 587, 373, 584, 584, 584, 584,
1606 584, 584, 584, 584, 584, 374, 367, 368, 241, 368,
1607 367, 367, 367, 367, 367, 367, 367, 369, 367, 367,
1608 367, 1741, 367, 371, 367, 372, 367, 376, 241, 376,
1609 376, 241, 376, 376, 241, 376, 1744, 388, 241, 388,
1610 388, 241, 388, 377, 588, 588, 378, 830, 1746, 378,
1611 827, 367, 367, 389, 1747, 1748, 389, 584, 584, 584,
1612 587, 587, 373, 584, 584, 584, 584, 584, 584, 584,
1613 584, 584, 374, 379, 380, 241, 380, 379, 379, 379,
1614 379, 379, 379, 379, 381, 379, 379, 379, 1752, 379,
1615 383, 379, 384, 379, 399, 241, 399, 399, 241, 399,
1617 413, 241, 413, 1755, 413, 241, 413, 241, 241, 241,
1618 400, 901, 588, 400, 902, 1757, 414, 909, 379, 379,
1619 414, 910, 1764, 415, 584, 584, 584, 778, 587, 385,
1620 584, 584, 584, 386, 379, 380, 241, 380, 379, 379,
1621 379, 379, 379, 379, 379, 381, 379, 379, 379, 1772,
1622 379, 383, 379, 384, 379, 241, 241, 241, 413, 241,
1623 413, 413, 241, 413, 779, 413, 241, 413, 413, 241,
1624 413, 415, 1773, 997, 414, 1774, 820, 414, 649, 379,
1625 379, 416, 821, 1776, 416, 584, 584, 584, 822, 999,
1626 385, 584, 584, 584, 386, 390, 391, 241, 391, 390,
1628 390, 390, 390, 390, 390, 390, 392, 390, 390, 390,
1629 1790, 390, 394, 390, 395, 390, 432, 241, 432, 432,
1630 241, 432, 448, 241, 448, 1794, 448, 241, 448, 459,
1631 241, 459, 433, 997, 1795, 433, 1461, 1277, 449, 1798,
1632 390, 390, 449, 997, 1800, 460, 584, 584, 584, 584,
1633 584, 584, 584, 584, 584, 396, 584, 584, 584, 1461,
1634 1787, 397, 390, 391, 241, 391, 390, 390, 390, 390,
1635 390, 390, 390, 392, 390, 390, 390, 1788, 390, 394,
1636 390, 395, 390, 459, 241, 459, 472, 241, 472, 472,
1637 241, 472, 1789, 241, 241, 241, 241, 241, 241, 460,
1639 1801, 1802, 473, 1803, 1804, 473, 1807, 390, 390, 317,
1640 1796, 1808, 317, 584, 584, 584, 584, 584, 584, 584,
1641 584, 584, 396, 584, 584, 584, 1797, 1811, 397, 401,
1642 402, 241, 402, 401, 401, 401, 401, 401, 401, 401,
1643 403, 401, 401, 401, 1812, 401, 405, 401, 406, 401,
1644 472, 241, 472, 472, 241, 472, 472, 241, 472, 1813,
1645 472, 241, 472, 1814, 588, 828, 473, 1816, 1817, 473,
1646 1820, 783, 474, 1823, 401, 401, 474, 407, 824, 408,
1647 587, 584, 584, 584, 1827, 409, 584, 584, 584, 1828,
1648 1831, 410, 1832, 1833, 411, 401, 402, 241, 402, 401,
1650 401, 401, 401, 401, 401, 401, 403, 401, 401, 401,
1651 1836, 401, 405, 401, 406, 401, 484, 241, 484, 484,
1652 241, 484, 241, 241, 241, 1829, 241, 241, 241, 584,
1653 584, 584, 485, 1830, 1840, 485, 828, 588, 486, 828,
1654 401, 401, 486, 407, 792, 408, 584, 584, 584, 872,
1655 1834, 409, 877, 587, 584, 584, 584, 410, 1835, 1844,
1656 411, 417, 418, 241, 418, 417, 417, 417, 417, 417,
1657 417, 417, 419, 417, 417, 417, 420, 417, 421, 417,
1658 422, 417, 420, 420, 420, 420, 420, 420, 420, 420,
1659 420, 420, 420, 420, 420, 420, 420, 420, 420, 420,
1661 420, 420, 420, 420, 420, 420, 417, 417, 420, 423,
1662 424, 425, 420, 420, 420, 420, 420, 426, 420, 427,
1663 420, 420, 420, 428, 420, 429, 430, 420, 420, 420,
1664 420, 420, 420, 420, 434, 435, 241, 435, 434, 434,
1665 434, 434, 434, 434, 434, 436, 434, 434, 434, 1858,
1666 434, 438, 434, 439, 434, 484, 241, 484, 484, 241,
1667 484, 484, 241, 484, 832, 484, 241, 484, 1859, 1860,
1668 821, 485, 1861, 1841, 485, 1862, 833, 487, 1863, 434,
1669 434, 487, 440, 441, 442, 832, 798, 798, 798, 1842,
1670 443, 821, 444, 1014, 1014, 1014, 445, 822, 1864, 446,
1672 434, 435, 241, 435, 434, 434, 434, 434, 434, 434,
1673 434, 436, 434, 434, 434, 1868, 434, 438, 434, 439,
1674 434, 498, 241, 498, 498, 241, 498, 241, 241, 241,
1675 820, 241, 241, 241, 1874, 1875, 821, 499, 1876, 828,
1676 499, 1881, 833, 486, 799, 434, 434, 486, 440, 441,
1677 442, 832, 878, 1034, 1034, 1034, 443, 821, 444, 1473,
1678 1473, 1473, 445, 857, 1885, 446, 450, 451, 241, 451,
1679 450, 450, 450, 450, 450, 450, 450, 452, 450, 450,
1680 450, 1886, 450, 454, 450, 455, 450, 498, 241, 498,
1681 498, 241, 498, 498, 241, 498, 1887, 498, 241, 498,
1683 839, 839, 839, 499, 1889, 1144, 499, 1893, 1894, 500,
1684 1895, 450, 450, 500, 1145, 1896, 456, 840, 1475, 1475,
1685 1475, 1146, 457, 450, 451, 241, 451, 450, 450, 450,
1686 450, 450, 450, 450, 452, 450, 450, 450, 1897, 450,
1687 454, 450, 455, 450, 510, 241, 510, 510, 241, 510,
1688 521, 241, 521, 1900, 521, 241, 521, 847, 847, 847,
1689 511, 1667, 1907, 511, 1476, 1909, 522, 1668, 450, 450,
1690 522, 1669, 1919, 456, 848, 1670, 1014, 1014, 1014, 457,
1691 461, 462, 241, 462, 461, 461, 461, 461, 461, 461,
1692 461, 463, 461, 461, 461, 1920, 461, 465, 461, 466,
1694 461, 241, 241, 241, 241, 241, 241, 521, 241, 521,
1695 1921, 521, 241, 521, 521, 241, 521, 486, 1841, 1923,
1696 486, 1796, 997, 522, 1929, 461, 461, 522, 1926, 467,
1697 523, 798, 798, 798, 1797, 1001, 468, 1842, 469, 1015,
1698 1034, 1034, 1034, 1461, 1935, 470, 461, 462, 241, 462,
1699 461, 461, 461, 461, 461, 461, 461, 463, 461, 461,
1700 461, 1936, 461, 465, 461, 466, 461, 521, 241, 521,
1701 534, 241, 534, 534, 241, 534, 1937, 241, 241, 241,
1702 241, 241, 241, 523, 1940, 1941, 535, 1942, 1928, 535,
1703 1946, 461, 461, 486, 1950, 467, 486, 1014, 1014, 1014,
1705 1952, 1953, 468, 1015, 469, 1954, 1034, 1034, 1034, 1958,
1706 1964, 470, 475, 476, 241, 476, 475, 475, 475, 475,
1707 475, 475, 475, 477, 475, 475, 475, 1965, 475, 479,
1708 475, 480, 475, 534, 241, 534, 534, 241, 534, 534,
1709 241, 534, 1966, 534, 241, 534, 548, 241, 548, 535,
1710 1967, 1968, 535, 1969, 1970, 536, 1971, 475, 475, 536,
1711 1087, 1972, 549, 481, 1046, 1046, 1046, 1973, 1047, 1087,
1712 1979, 1048, 1479, 1479, 1479, 1980, 1989, 482, 475, 476,
1713 241, 476, 475, 475, 475, 475, 475, 475, 475, 477,
1714 475, 475, 475, 1990, 475, 479, 475, 480, 475, 548,
1716 241, 548, 241, 241, 241, 241, 241, 241, 1991, 548,
1717 241, 548, 548, 241, 548, 549, 1992, 1995, 550, 1993,
1718 1996, 550, 1997, 475, 475, 549, 1998, 1994, 549, 481,
1719 1056, 1056, 1056, 2002, 1057, 2003, 2004, 1058, 1482, 1482,
1720 1482, 2006, 2007, 482, 488, 489, 241, 489, 488, 488,
1721 488, 488, 488, 488, 488, 490, 488, 488, 488, 2008,
1722 488, 492, 488, 493, 488, 548, 241, 548, 548, 241,
1723 548, 560, 241, 560, 1461, 560, 241, 560, 570, 241,
1724 570, 551, 1671, 2009, 551, 2012, 2016, 561, 1672, 488,
1725 488, 561, 1673, 2017, 571, 494, 1674, 2022, 495, 1079,
1727 1079, 1079, 2023, 1080, 2024, 1927, 1081, 2025, 2027, 496,
1728 488, 489, 241, 489, 488, 488, 488, 488, 488, 488,
1729 488, 490, 488, 488, 488, 2036, 488, 492, 488, 493,
1730 488, 570, 241, 570, 241, 241, 241, 241, 241, 241,
1731 2018, 570, 241, 570, 570, 241, 570, 571, 2019, 1461,
1732 317, 2020, 2046, 317, 2047, 488, 488, 571, 2051, 2021,
1733 571, 494, 2052, 2053, 495, 1098, 1098, 1098, 1461, 1099,
1734 2056, 2060, 1100, 2061, 2062, 496, 501, 502, 241, 502,
1735 501, 501, 501, 501, 501, 501, 501, 503, 501, 501,
1736 501, 2041, 501, 505, 501, 506, 501, 570, 241, 570,
1738 570, 241, 570, 582, 241, 582, 2063, 582, 241, 582,
1739 660, 2064, 2065, 572, 2042, 2066, 572, 2067, 660, 583,
1740 661, 501, 501, 583, 1491, 1491, 1491, 507, 667, 1514,
1741 1514, 1514, 508, 501, 502, 241, 502, 501, 501, 501,
1742 501, 501, 501, 501, 503, 501, 501, 501, 662, 501,
1743 505, 501, 506, 501, 663, 2068, 668, 664, 863, 863,
1744 863, 2069, 2071, 665, 666, 880, 880, 880, 2072, 621,
1745 886, 886, 886, 615, 2073, 864, 2078, 2079, 501, 501,
1746 2080, 2081, 881, 2082, 507, 2083, 2084, 887, 2086, 508,
1747 512, 513, 241, 513, 512, 512, 512, 512, 512, 512,
1749 512, 514, 512, 512, 512, 2087, 512, 516, 512, 517,
1750 512, 891, 891, 891, 903, 903, 903, 913, 913, 913,
1751 916, 916, 916, 931, 931, 931, 2090, 2091, 892, 2094,
1752 2095, 904, 2096, 2097, 914, 512, 512, 917, 2101, 2102,
1753 932, 518, 1107, 1107, 1107, 2103, 1108, 2104, 2105, 1109,
1754 1525, 1525, 1525, 2106, 2107, 519, 512, 513, 241, 513,
1755 512, 512, 512, 512, 512, 512, 512, 514, 512, 512,
1756 512, 2108, 512, 516, 512, 517, 512, 939, 939, 939,
1757 944, 944, 944, 964, 964, 964, 987, 987, 987, 991,
1758 991, 991, 2110, 2133, 940, 2134, 2135, 945, 2136, 2137,
1760 965, 512, 512, 988, 2138, 1461, 992, 518, 1115, 1115,
1761 1115, 2143, 1116, 1461, 2144, 1117, 1526, 1526, 1526, 2145,
1762 2146, 519, 524, 525, 241, 525, 524, 524, 524, 524,
1763 524, 524, 524, 526, 524, 524, 524, 2129, 524, 528,
1764 524, 529, 524, 1010, 1010, 1010, 1010, 1010, 1010, 2147,
1765 2130, 1041, 1041, 1041, 1041, 1041, 1041, 839, 839, 839,
1766 2148, 1012, 1476, 2149, 1012, 2150, 2151, 524, 524, 1043,
1767 2152, 2154, 1043, 530, 840, 2155, 531, 1132, 1132, 1132,
1768 2156, 1133, 2160, 2161, 1134, 2162, 2163, 532, 524, 525,
1769 241, 525, 524, 524, 524, 524, 524, 524, 524, 526,
1771 524, 524, 524, 1013, 524, 528, 524, 529, 524, 1051,
1772 1051, 1051, 2166, 1044, 1051, 1051, 1051, 2167, 847, 847,
1773 847, 1059, 1059, 1059, 1062, 1062, 1062, 1053, 1067, 1067,
1774 1067, 2171, 1053, 524, 524, 848, 2174, 2175, 1060, 530,
1775 2178, 1063, 531, 1147, 1147, 1147, 1069, 1148, 2182, 2183,
1776 1149, 2184, 2185, 532, 537, 538, 241, 538, 537, 537,
1777 537, 537, 537, 537, 537, 539, 537, 537, 537, 2186,
1778 537, 541, 537, 542, 537, 2189, 2190, 1054, 1075, 1075,
1779 1075, 1461, 2208, 1075, 1075, 1075, 2209, 2210, 1067, 1067,
1780 1067, 863, 863, 863, 2211, 2212, 1077, 2222, 2223, 537,
1782 537, 1077, 1473, 1473, 1473, 997, 1069, 543, 864, 544,
1783 2224, 545, 2225, 2226, 1475, 1475, 1475, 2227, 2206, 546,
1784 537, 538, 241, 538, 537, 537, 537, 537, 537, 537,
1785 537, 539, 537, 537, 537, 1070, 537, 541, 537, 542,
1786 537, 1083, 1083, 1083, 2205, 2228, 1078, 880, 880, 880,
1787 1103, 1103, 1103, 1103, 1103, 1103, 1111, 1111, 1111, 1085,
1788 1601, 886, 886, 886, 881, 537, 537, 2229, 1105, 2230,
1789 2231, 1105, 1461, 543, 1113, 544, 2233, 545, 887, 1475,
1790 1475, 1475, 1641, 1641, 1641, 546, 552, 553, 241, 553,
1791 552, 552, 552, 552, 552, 552, 552, 554, 552, 552,
1793 552, 2234, 552, 556, 552, 557, 552, 1083, 1083, 1083,
1794 2235, 1111, 1111, 1111, 2207, 1119, 1119, 1119, 1106, 891,
1795 891, 891, 1119, 1119, 1119, 1085, 903, 903, 903, 1113,
1796 2237, 552, 552, 1121, 2243, 2244, 892, 1479, 1479, 1479,
1797 1121, 2245, 2249, 904, 1086, 1151, 1151, 1151, 2257, 1152,
1798 2258, 2259, 1153, 1461, 558, 552, 553, 241, 553, 552,
1799 552, 552, 552, 552, 552, 552, 554, 552, 552, 552,
1800 2215, 552, 556, 552, 557, 552, 1114, 1125, 1125, 1125,
1801 2216, 1461, 1122, 2217, 1125, 1125, 1125, 1137, 1137, 1137,
1802 1137, 1137, 1137, 2218, 2279, 1127, 913, 913, 913, 2267,
1804 552, 552, 1127, 2219, 2281, 1139, 2220, 2283, 1139, 2268,
1805 1171, 1171, 1171, 914, 1172, 2269, 2284, 1173, 1482, 1482,
1806 1482, 2285, 2280, 558, 562, 563, 241, 563, 562, 562,
1807 562, 562, 562, 562, 562, 564, 562, 562, 562, 2289,
1808 562, 566, 562, 567, 562, 916, 916, 916, 1128, 2290,
1809 1140, 1154, 1154, 1154, 1163, 1163, 1163, 1163, 1163, 1163,
1810 2291, 2293, 917, 1649, 1649, 1649, 2294, 997, 1155, 562,
1811 562, 2298, 1165, 2292, 2299, 1165, 1491, 1491, 1491, 2300,
1812 568, 562, 563, 241, 563, 562, 562, 562, 562, 562,
1813 562, 562, 564, 562, 562, 562, 2278, 562, 566, 562,
1815 567, 562, 931, 931, 931, 1174, 1174, 1174, 2295, 1650,
1816 1178, 1178, 1178, 2301, 1166, 1178, 1178, 1178, 2302, 932,
1817 2303, 2296, 1175, 1656, 1656, 1656, 562, 562, 1180, 1646,
1818 1646, 1646, 2304, 1180, 1514, 1514, 1514, 568, 573, 574,
1819 241, 574, 573, 573, 573, 573, 573, 573, 573, 575,
1820 573, 573, 573, 2305, 573, 577, 573, 578, 573, 939,
1821 939, 939, 2307, 1183, 1183, 1183, 1181, 1184, 2309, 1657,
1822 1185, 1186, 1186, 1186, 2317, 2270, 940, 1186, 1186, 1186,
1823 944, 944, 944, 573, 573, 2271, 1191, 1191, 1191, 1188,
1824 1192, 2272, 1647, 1193, 579, 1188, 2318, 945, 1223, 1223,
1826 1223, 2319, 1224, 2320, 2327, 1225, 580, 573, 574, 241,
1827 574, 573, 573, 573, 573, 573, 573, 573, 575, 573,
1828 573, 573, 2330, 573, 577, 573, 578, 573, 1197, 1197,
1829 1197, 1197, 1197, 1197, 1201, 1201, 1201, 1189, 1203, 1203,
1830 1203, 2796, 2796, 2796, 2337, 2338, 1199, 2339, 2340, 1199,
1831 2341, 1202, 573, 573, 2342, 1204, 997, 2349, 2796, 1206,
1832 1206, 1206, 1461, 579, 1206, 1206, 1206, 1211, 1211, 1211,
1833 1215, 1215, 1215, 2351, 2352, 580, 588, 1208, 2353, 2796,
1834 2796, 2796, 1208, 603, 1212, 2354, 1200, 1216, 2796, 2796,
1835 2796, 2355, 587, 604, 2356, 2357, 2796, 2346, 2358, 1205,
1837 1218, 1218, 1218, 2345, 2359, 2796, 2360, 1218, 1218, 1218,
1838 1525, 1525, 1525, 2363, 2364, 964, 964, 964, 1220, 2365,
1839 605, 606, 607, 2366, 1209, 1220, 2367, 608, 609, 1213,
1840 610, 611, 965, 2368, 612, 2369, 613, 614, 615, 1226,
1841 1226, 1226, 2370, 1214, 1221, 2372, 1217, 1226, 1226, 1226,
1842 1230, 1230, 1230, 1232, 1232, 1232, 2378, 1228, 1234, 1234,
1843 1234, 1234, 1234, 1234, 2379, 1228, 2380, 1231, 2381, 2382,
1844 1233, 1238, 1238, 1238, 2383, 2387, 1236, 2388, 2396, 1236,
1845 2796, 2796, 2796, 1242, 1242, 1242, 2390, 2389, 1239, 1244,
1846 1244, 1244, 1244, 1244, 1244, 2397, 2391, 2796, 2392, 2394,
1848 1243, 2398, 1229, 1252, 1252, 1252, 2399, 1246, 2393, 2395,
1849 1246, 1252, 1252, 1252, 1258, 1258, 1258, 1258, 1258, 1258,
1850 2400, 1254, 987, 987, 987, 991, 991, 991, 2401, 1254,
1851 1240, 1237, 1260, 2414, 2415, 1260, 1262, 1262, 1262, 988,
1852 1263, 997, 992, 1264, 1241, 1265, 1265, 1265, 1265, 1265,
1853 1265, 1269, 1269, 1269, 2416, 1270, 2417, 2418, 1271, 1273,
1854 1273, 1273, 1247, 1267, 2419, 2420, 1267, 1273, 1273, 1273,
1855 1010, 1010, 1010, 2421, 1255, 2405, 2425, 1275, 2426, 2427,
1856 1261, 1010, 1010, 1010, 2428, 1275, 2429, 2430, 1012, 1010,
1857 1010, 1010, 1311, 1311, 1311, 1041, 1041, 1041, 2435, 1012,
1859 1041, 1041, 1041, 1041, 1041, 1041, 2436, 1012, 1268, 1312,
1860 1314, 1314, 1314, 1043, 2437, 1046, 1046, 1046, 1043, 1047,
1861 2440, 1043, 1048, 2796, 2796, 2796, 2445, 1315, 2446, 2447,
1862 1276, 1051, 1051, 1051, 2448, 2449, 1285, 1051, 1051, 1051,
1863 2796, 1051, 1051, 1051, 1056, 1056, 1056, 2450, 1057, 1053,
1864 2451, 1058, 1313, 2452, 2453, 1053, 1059, 1059, 1059, 1053,
1865 1320, 1320, 1320, 2454, 1321, 2455, 2456, 1322, 1323, 1323,
1866 1323, 2464, 997, 1060, 1062, 1062, 1062, 1325, 1325, 1325,
1867 2465, 1326, 2466, 1316, 1327, 1324, 2467, 2468, 1318, 2469,
1868 2470, 1063, 1329, 1329, 1329, 1067, 1067, 1067, 1067, 1067,
1870 1067, 1067, 1067, 1067, 1335, 1335, 1335, 2471, 2472, 1330,
1871 1075, 1075, 1075, 1069, 2458, 2473, 1069, 2474, 2475, 1069,
1872 2476, 1336, 1075, 1075, 1075, 1075, 1075, 1075, 1077, 1079,
1873 1079, 1079, 2477, 1080, 2480, 2481, 1081, 1083, 1083, 1083,
1874 1077, 2482, 2486, 1077, 1083, 1083, 1083, 1340, 1340, 1340,
1875 1098, 1098, 1098, 2493, 1099, 1085, 2494, 1100, 2495, 2496,
1876 1332, 2497, 1085, 2498, 2499, 1341, 1354, 1354, 1354, 1103,
1877 1103, 1103, 1338, 1103, 1103, 1103, 1103, 1103, 1103, 1111,
1878 1111, 1111, 2500, 1355, 1111, 1111, 1111, 1105, 1107, 1107,
1879 1107, 1105, 1108, 2501, 1105, 1109, 2502, 1113, 1111, 1111,
1881 1111, 2503, 1113, 1115, 1115, 1115, 2504, 1116, 2514, 2515,
1882 1117, 1359, 1359, 1359, 997, 2516, 1113, 1119, 1119, 1119,
1883 1119, 1119, 1119, 1119, 1119, 1119, 2509, 2517, 1360, 1362,
1884 1362, 1362, 2796, 2796, 2796, 1121, 1356, 2509, 1121, 2518,
1885 2510, 1121, 2519, 1125, 1125, 1125, 1363, 2520, 2512, 2796,
1886 1125, 1125, 1125, 1125, 1125, 1125, 2521, 2522, 1358, 2507,
1887 1364, 1127, 1368, 1368, 1368, 1132, 1132, 1132, 1127, 1133,
1888 2523, 1127, 1134, 1137, 1137, 1137, 1137, 1137, 1137, 1369,
1889 1137, 1137, 1137, 1147, 1147, 1147, 2524, 1148, 2529, 1361,
1890 1149, 1139, 2525, 2527, 1139, 1379, 1379, 1379, 1139, 1151,
1892 1151, 1151, 2534, 1152, 2526, 2528, 1153, 1154, 1154, 1154,
1893 2535, 2536, 1380, 1381, 1381, 1381, 2537, 1382, 1365, 2540,
1894 1383, 1163, 1163, 1163, 1155, 1163, 1163, 1163, 1163, 1163,
1895 1163, 1171, 1171, 1171, 2509, 1172, 2509, 997, 1173, 1165,
1896 1174, 1174, 1174, 1165, 1372, 2512, 1165, 1396, 1396, 1396,
1897 2510, 1397, 1461, 1462, 1398, 2540, 2543, 1175, 1178, 1178,
1898 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1183, 1183, 1183,
1899 2544, 1184, 2545, 2546, 1185, 2555, 1180, 2538, 2558, 1180,
1900 2530, 2532, 1180, 1186, 1186, 1186, 1186, 1186, 1186, 1186,
1901 1186, 1186, 2531, 2533, 1391, 1191, 1191, 1191, 2563, 1192,
1903 2566, 1188, 1193, 2553, 1188, 2540, 2568, 1188, 1197, 1197,
1904 1197, 1197, 1197, 1197, 2540, 1401, 1197, 1197, 1197, 1201,
1905 1201, 1201, 2554, 1409, 1409, 1409, 1199, 1410, 2569, 1199,
1906 1411, 1203, 1203, 1203, 1199, 2570, 1202, 1412, 1412, 1412,
1907 2571, 1413, 2572, 2556, 1414, 1206, 1206, 1206, 1204, 1206,
1908 1206, 1206, 1206, 1206, 1206, 1403, 1211, 1211, 1211, 1215,
1909 1215, 1215, 2557, 1208, 1418, 1418, 1418, 1208, 1419, 2582,
1910 1208, 1420, 2583, 1212, 2584, 1408, 1216, 1423, 1423, 1423,
1911 2561, 1424, 2585, 2564, 1425, 1218, 1218, 1218, 1218, 1218,
1912 1218, 1218, 1218, 1218, 1223, 1223, 1223, 2586, 1224, 2562,
1914 2587, 1225, 2565, 1220, 2591, 2592, 1220, 2593, 2594, 1220,
1915 1226, 1226, 1226, 1226, 1226, 1226, 2595, 2596, 1416, 1226,
1916 1226, 1226, 1230, 1230, 1230, 1430, 1430, 1430, 1228, 1431,
1917 2598, 1228, 1432, 1232, 1232, 1232, 2599, 1228, 2600, 1231,
1918 1433, 1433, 1433, 2605, 1434, 2606, 2607, 1435, 2608, 2601,
1919 1233, 1234, 1234, 1234, 1427, 1234, 1234, 1234, 1234, 1234,
1920 1234, 2602, 1238, 1238, 1238, 1242, 1242, 1242, 2603, 1236,
1921 1437, 1437, 1437, 1236, 1438, 2609, 1236, 1439, 1429, 1239,
1922 2604, 2610, 1243, 1442, 1442, 1442, 2611, 1443, 2612, 2613,
1923 1444, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244,
1925 1447, 1447, 1447, 1252, 1252, 1252, 1252, 1252, 1252, 1246,
1926 2614, 2615, 1246, 2616, 2618, 1246, 2619, 1448, 2620, 1436,
1927 997, 1254, 2621, 2622, 1254, 1252, 1252, 1252, 1258, 1258,
1928 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1262, 1262, 1262,
1929 2623, 1263, 2624, 1254, 1264, 2617, 1260, 2625, 2626, 1260,
1930 2627, 2628, 1260, 1265, 1265, 1265, 2629, 2630, 1445, 1265,
1931 1265, 1265, 1265, 1265, 1265, 1269, 1269, 1269, 2631, 1270,
1932 2632, 1267, 1271, 1273, 1273, 1273, 2633, 1267, 2634, 2635,
1933 1267, 1273, 1273, 1273, 2637, 1451, 2638, 1454, 1273, 1273,
1934 1273, 1275, 1460, 1460, 1460, 1010, 1010, 1010, 2639, 1275,
1936 1311, 1311, 1311, 1526, 1526, 1526, 1275, 1314, 1314, 1314,
1937 1461, 1462, 997, 1012, 1041, 1041, 1041, 1312, 1494, 1494,
1938 1494, 1455, 1495, 2640, 1315, 1496, 1498, 1498, 1498, 2641,
1939 1499, 2636, 1043, 1500, 1051, 1051, 1051, 1320, 1320, 1320,
1940 2642, 1321, 2643, 2644, 1322, 1323, 1323, 1323, 1457, 1505,
1941 1505, 1505, 1053, 1506, 2645, 2646, 1507, 1325, 1325, 1325,
1942 1467, 1326, 1324, 2647, 1327, 1329, 1329, 1329, 1509, 1509,
1943 1509, 1497, 1510, 2648, 2649, 1511, 1067, 1067, 1067, 1335,
1944 1335, 1335, 1330, 1503, 1516, 1516, 1516, 2650, 1517, 2651,
1945 2652, 1518, 2654, 997, 1069, 2655, 1336, 1519, 1519, 1519,
1947 1075, 1075, 1075, 1340, 1340, 1340, 1534, 1534, 1534, 2656,
1948 1354, 1354, 1354, 2653, 1520, 1536, 1536, 1536, 1077, 1537,
1949 2657, 1341, 1538, 1535, 2658, 2659, 1513, 1355, 1103, 1103,
1950 1103, 2660, 1111, 1111, 1111, 1359, 1359, 1359, 1542, 1542,
1951 1542, 2661, 1543, 2662, 2663, 1544, 1105, 2664, 2665, 1521,
1952 1113, 2666, 1360, 1119, 1119, 1119, 1362, 1362, 1362, 1546,
1953 1546, 1546, 2667, 1547, 2668, 2669, 1548, 1125, 1125, 1125,
1954 2671, 1121, 997, 1363, 2672, 1368, 1368, 1368, 2670, 1553,
1955 1553, 1553, 2673, 1554, 2674, 1127, 1555, 1556, 1556, 1556,
1956 2675, 1539, 1369, 2676, 2677, 1541, 1558, 1558, 1558, 1137,
1958 1137, 1137, 2678, 2679, 1557, 1565, 1565, 1565, 1379, 1379,
1959 1379, 2680, 1545, 1559, 1569, 1569, 1569, 1139, 1570, 2681,
1960 2682, 1571, 1566, 2684, 2685, 1380, 2686, 1550, 1381, 1381,
1961 1381, 2687, 1382, 2688, 2689, 1383, 1572, 1572, 1572, 1163,
1962 1163, 1163, 1560, 1582, 1582, 1582, 2690, 1396, 1396, 1396,
1963 2691, 1397, 2693, 1573, 1398, 2694, 2695, 1165, 2696, 2697,
1964 1583, 1586, 1586, 1586, 1561, 1178, 1178, 1178, 1186, 1186,
1965 1186, 1595, 1595, 1595, 1197, 1197, 1197, 2698, 1587, 2699,
1966 1409, 1409, 1409, 1180, 1410, 2700, 1188, 1411, 1596, 1412,
1967 1412, 1412, 1199, 1413, 997, 2703, 1414, 1206, 1206, 1206,
1969 1418, 1418, 1418, 1580, 1419, 2704, 2705, 1420, 2683, 1423,
1970 1423, 1423, 2706, 1424, 2707, 1208, 1425, 1597, 1218, 1218,
1971 1218, 1226, 1226, 1226, 2708, 1430, 1430, 1430, 1589, 1431,
1972 1598, 2717, 1432, 1591, 2737, 997, 1220, 997, 997, 1228,
1973 1433, 1433, 1433, 997, 1434, 2738, 997, 1435, 1234, 1234,
1974 1234, 1437, 1437, 1437, 997, 1438, 1638, 997, 1439, 1447,
1975 1447, 1447, 1600, 1442, 1442, 1442, 1236, 1443, 1637, 997,
1976 1444, 1244, 1244, 1244, 2709, 997, 1448, 1607, 1605, 1613,
1977 1613, 1613, 2710, 1614, 2711, 997, 1615, 997, 997, 1246,
1978 1252, 1252, 1252, 997, 2725, 1608, 1620, 1620, 1620, 1258,
1980 1258, 1258, 1265, 1265, 1265, 1624, 1624, 1624, 1254, 1273,
1981 1273, 1273, 2715, 1621, 1010, 1010, 1010, 1260, 1611, 997,
1982 1267, 2723, 1625, 1460, 1460, 1460, 997, 1275, 2716, 1494,
1983 1494, 1494, 1012, 1495, 2712, 2713, 1496, 997, 997, 1618,
1984 2714, 1461, 1041, 1041, 1041, 1498, 1498, 1498, 2761, 1499,
1985 2719, 2720, 1500, 2721, 1623, 1051, 1051, 1051, 997, 997,
1986 1043, 997, 1067, 1067, 1067, 1622, 1633, 1682, 1682, 1682,
1987 1626, 2741, 2724, 1053, 1628, 1505, 1505, 1505, 2727, 1506,
1988 1069, 2722, 1507, 2718, 1509, 1509, 1509, 997, 1510, 997,
1989 1629, 1511, 1516, 1516, 1516, 1636, 1517, 997, 997, 1518,
1991 1519, 1519, 1519, 1675, 1675, 1675, 1661, 1676, 1658, 997,
1992 1677, 1075, 1075, 1075, 1682, 1682, 1682, 1520, 1646, 1646,
1993 1646, 997, 1665, 1534, 1534, 1534, 1103, 1103, 1103, 1077,
1994 1683, 1688, 1688, 1688, 2726, 1689, 997, 997, 1690, 2755,
1995 1535, 1536, 1536, 1536, 1105, 1537, 2733, 997, 1538, 1692,
1996 1692, 1692, 1111, 1111, 1111, 997, 1542, 1542, 1542, 1635,
1997 1543, 2728, 1678, 1544, 997, 997, 1693, 1119, 1119, 1119,
1998 1113, 2729, 2730, 1691, 1696, 1696, 1696, 1647, 1125, 1125,
1999 1125, 1683, 1546, 1546, 1546, 1121, 1547, 2735, 997, 1548,
2000 997, 1697, 2731, 1553, 1553, 1553, 1127, 1554, 997, 1694,
2002 1555, 1556, 1556, 1556, 1701, 1701, 1701, 2743, 1702, 2732,
2003 997, 1703, 1558, 1558, 1558, 1704, 1704, 1704, 1557, 1705,
2004 2736, 2751, 1706, 2769, 1708, 1708, 1708, 2734, 997, 1559,
2005 997, 997, 1695, 1710, 1710, 1710, 1565, 1565, 1565, 997,
2006 2744, 1698, 1709, 1713, 1713, 1713, 1634, 1714, 2793, 1632,
2007 1715, 2756, 997, 1566, 1716, 1716, 1716, 1569, 1569, 1569,
2008 997, 1570, 997, 2739, 1571, 1572, 1572, 1572, 1719, 1719,
2009 1719, 1717, 1720, 997, 2740, 1721, 1722, 1722, 1722, 1728,
2010 1728, 1728, 1573, 1163, 1163, 1163, 1582, 1582, 1582, 2753,
2011 1732, 1732, 1732, 1723, 1733, 2747, 1729, 1734, 1735, 1735,
2013 1735, 1165, 997, 1583, 1586, 1586, 1586, 1738, 1738, 1738,
2014 2754, 1739, 997, 997, 1740, 1736, 1742, 1742, 1742, 997,
2015 997, 1587, 1186, 1186, 1186, 1595, 1595, 1595, 1749, 1749,
2016 1749, 997, 1750, 997, 1743, 1751, 1753, 1753, 1753, 997,
2017 1188, 1631, 1596, 1206, 1206, 1206, 2742, 2745, 1730, 1758,
2018 1758, 1758, 2749, 2775, 1754, 1760, 1760, 1760, 2796, 2796,
2019 2796, 1208, 1218, 1218, 1218, 2746, 1759, 1226, 1226, 1226,
2020 2759, 2776, 1761, 1745, 2748, 2796, 997, 1234, 1234, 1234,
2021 1220, 1767, 1767, 1767, 2752, 1228, 1769, 1769, 1769, 1244,
2022 1244, 1244, 997, 997, 1756, 1236, 1630, 997, 1768, 1252,
2024 1252, 1252, 997, 1770, 1613, 1613, 1613, 1246, 1614, 2750,
2025 1461, 1615, 1619, 1765, 1620, 1620, 1620, 1254, 1777, 1777,
2026 1777, 1762, 1778, 2763, 1617, 1779, 2762, 997, 1763, 2760,
2027 997, 1621, 997, 1258, 1258, 1258, 2765, 1265, 1265, 1265,
2028 2770, 1766, 1624, 1624, 1624, 1782, 1782, 1782, 997, 1783,
2029 1775, 1260, 1784, 1771, 1616, 1267, 1785, 1785, 1785, 1625,
2030 1791, 1791, 1791, 1010, 1010, 1010, 1799, 1799, 1799, 1641,
2031 1641, 1641, 2757, 997, 1786, 2758, 997, 1792, 1805, 1805,
2032 1805, 1012, 1646, 1646, 1646, 1806, 1806, 1806, 1649, 1649,
2033 1649, 1780, 1781, 1809, 1809, 1809, 1810, 1810, 1810, 1656,
2035 1656, 1656, 1041, 1041, 1041, 997, 1818, 1818, 1818, 1821,
2036 1821, 1821, 1067, 1067, 1067, 1825, 1825, 1825, 2767, 997,
2037 1043, 2768, 997, 1793, 1819, 997, 1822, 1675, 1675, 1675,
2038 1069, 1676, 1826, 997, 1677, 1075, 1075, 1075, 1838, 1838,
2039 1838, 1682, 1682, 1682, 1843, 1843, 1843, 1845, 1845, 1845,
2040 2764, 2771, 1815, 1077, 2777, 1839, 1688, 1688, 1688, 997,
2041 1689, 997, 2773, 1690, 1846, 1103, 1103, 1103, 2772, 997,
2042 1824, 1692, 1692, 1692, 1612, 1848, 1848, 1848, 997, 1849,
2043 2789, 1837, 1850, 1105, 1111, 1111, 1111, 997, 1693, 1852,
2044 1852, 1852, 1696, 1696, 1696, 2766, 1854, 1854, 1854, 2785,
2046 1855, 2783, 1113, 1856, 1125, 1125, 1125, 1853, 997, 1697,
2047 1701, 1701, 1701, 1610, 1702, 2774, 1609, 1703, 1847, 1704,
2048 1704, 1704, 1127, 1705, 2781, 997, 1706, 1708, 1708, 1708,
2049 1710, 1710, 1710, 997, 1713, 1713, 1713, 1851, 1714, 997,
2050 997, 1715, 1716, 1716, 1716, 1709, 1865, 1865, 1865, 1606,
2051 1866, 1857, 1604, 1867, 1719, 1719, 1719, 997, 1720, 1717,
2052 2778, 1721, 1722, 1722, 1722, 1869, 1869, 1869, 997, 1870,
2053 2782, 2784, 1871, 1872, 1872, 1872, 1728, 1728, 1728, 1723,
2054 1877, 1877, 1877, 2786, 1878, 2779, 1603, 1879, 997, 1602,
2055 1873, 997, 997, 1729, 1163, 1163, 1163, 1732, 1732, 1732,
2057 2787, 1733, 2780, 1599, 1734, 1735, 1735, 1735, 997, 1882,
2058 1882, 1882, 1165, 1883, 997, 1594, 1884, 1738, 1738, 1738,
2059 2788, 1739, 1736, 2791, 1740, 1742, 1742, 1742, 1186, 1186,
2060 1186, 1890, 1890, 1890, 1749, 1749, 1749, 1593, 1750, 1592,
2061 2792, 1751, 1590, 1743, 1588, 1880, 1188, 1585, 1891, 1753,
2062 1753, 1753, 1898, 1898, 1898, 1758, 1758, 1758, 1901, 1901,
2063 1901, 2790, 1902, 1584, 1581, 1903, 1579, 1754, 1578, 1577,
2064 1899, 1576, 1759, 1760, 1760, 1760, 1575, 1892, 1904, 1904,
2065 1904, 1574, 1905, 1568, 1567, 1906, 1218, 1218, 1218, 1564,
2066 1761, 1888, 1226, 1226, 1226, 1234, 1234, 1234, 1767, 1767,
2068 1767, 1912, 1912, 1912, 1220, 1913, 1563, 1562, 1914, 1552,
2069 1228, 2793, 1551, 1236, 1549, 1768, 1769, 1769, 1769, 1915,
2070 1915, 1915, 997, 1916, 1540, 1533, 1917, 1244, 1244, 1244,
2071 1252, 1252, 1252, 1770, 1532, 1777, 1777, 1777, 1531, 1778,
2072 1530, 1910, 1779, 1529, 1528, 1246, 1527, 1524, 1254, 1523,
2073 1522, 1908, 1258, 1258, 1258, 1265, 1265, 1265, 1515, 1911,
2074 1782, 1782, 1782, 1512, 1783, 1508, 1504, 1784, 1502, 1501,
2075 1260, 1493, 1492, 1267, 1785, 1785, 1785, 1490, 1791, 1791,
2076 1791, 1930, 1930, 1930, 1489, 1931, 1488, 1487, 1932, 1486,
2077 1485, 1918, 1786, 1484, 1922, 1792, 1010, 1010, 1010, 1934,
2079 1934, 1934, 1483, 1924, 1938, 1938, 1938, 1481, 1925, 1799,
2080 1799, 1799, 1480, 1478, 1012, 1939, 1939, 1939, 1943, 1943,
2081 1943, 1805, 1805, 1805, 1806, 1806, 1806, 1944, 1944, 1944,
2082 1809, 1809, 1809, 1810, 1810, 1810, 1947, 1947, 1947, 1948,
2083 1948, 1948, 1949, 1949, 1949, 1041, 1041, 1041, 1818, 1818,
2084 1818, 1821, 1821, 1821, 1955, 1955, 1955, 1477, 1956, 1933,
2085 1474, 1957, 1472, 1043, 1471, 1470, 1819, 1469, 1822, 1959,
2086 1959, 1959, 1468, 1945, 1825, 1825, 1825, 1961, 1961, 1961,
2087 1466, 1962, 1465, 1464, 1963, 1463, 1456, 1960, 1075, 1075,
2088 1075, 1826, 1838, 1838, 1838, 1453, 1951, 1975, 1975, 1975,
2090 1452, 1976, 1450, 1449, 1977, 1446, 1077, 1441, 1440, 1839,
2091 1978, 1978, 1978, 1843, 1843, 1843, 1981, 1981, 1981, 1845,
2092 1845, 1845, 1983, 1983, 1983, 1428, 1984, 1426, 1422, 1985,
2093 1103, 1103, 1103, 1111, 1111, 1111, 1846, 1974, 1848, 1848,
2094 1848, 1421, 1849, 1417, 1415, 1850, 1407, 1406, 1105, 1405,
2095 1404, 1113, 1852, 1852, 1852, 1402, 1854, 1854, 1854, 1400,
2096 1855, 1399, 1982, 1856, 1125, 1125, 1125, 1865, 1865, 1865,
2097 1853, 1866, 1395, 1394, 1867, 1393, 1869, 1869, 1869, 1392,
2098 1870, 1986, 1127, 1871, 1987, 1872, 1872, 1872, 1999, 1999,
2099 1999, 1390, 2000, 1389, 1388, 2001, 1877, 1877, 1877, 1387,
2101 1878, 1386, 1873, 1879, 1163, 1163, 1163, 1882, 1882, 1882,
2102 1385, 1883, 1384, 1378, 1884, 1377, 1376, 1988, 2010, 2010,
2103 2010, 1375, 1165, 1890, 1890, 1890, 2013, 2013, 2013, 1374,
2104 2014, 1373, 1371, 2015, 1370, 1367, 2011, 1898, 1898, 1898,
2105 1891, 1901, 1901, 1901, 1366, 1902, 1357, 1353, 1903, 1904,
2106 1904, 1904, 1352, 1905, 1351, 1899, 1906, 1218, 1218, 1218,
2107 1226, 1226, 1226, 1234, 1234, 1234, 1350, 2005, 1349, 1912,
2108 1912, 1912, 1348, 1913, 1347, 1220, 1914, 1346, 1228, 1345,
2109 1344, 1236, 1915, 1915, 1915, 1343, 1916, 1342, 1339, 1917,
2110 1337, 1244, 1244, 1244, 1334, 2031, 2031, 2031, 1331, 2029,
2112 2796, 2796, 2796, 2796, 2796, 2796, 1328, 1319, 2026, 1246,
2113 1317, 2030, 2032, 1252, 1252, 1252, 1310, 2796, 1308, 1307,
2114 2796, 1258, 1258, 1258, 1306, 2028, 2038, 2038, 2038, 1305,
2115 1304, 1254, 2040, 2040, 2040, 2043, 2043, 2043, 1303, 1260,
2116 1302, 1930, 1930, 1930, 2039, 1931, 1301, 1300, 1932, 1297,
2117 997, 2033, 1010, 1010, 1010, 1934, 1934, 1934, 2045, 2045,
2118 2045, 2034, 1938, 1938, 1938, 1939, 1939, 1939, 1296, 1295,
2119 1012, 2048, 2048, 2048, 2049, 2049, 2049, 2035, 1294, 1293,
2120 2037, 2050, 2050, 2050, 1943, 1943, 1943, 1944, 1944, 1944,
2121 1947, 1947, 1947, 1948, 1948, 1948, 1949, 1949, 1949, 2054,
2123 2054, 2054, 2057, 2057, 2057, 1955, 1955, 1955, 1292, 1956,
2124 2044, 1291, 1957, 2796, 2796, 2796, 1290, 2055, 1289, 2058,
2125 1959, 1959, 1959, 1288, 1961, 1961, 1961, 1287, 1962, 1286,
2126 2796, 1963, 1075, 1075, 1075, 1975, 1975, 1975, 1960, 1976,
2127 1284, 1283, 1977, 1978, 1978, 1978, 1981, 1981, 1981, 1282,
2128 1077, 1983, 1983, 1983, 1281, 1984, 1280, 1279, 1985, 1103,
2129 1103, 1103, 2075, 2075, 2075, 1125, 1125, 1125, 2085, 2085,
2130 2085, 1278, 1999, 1999, 1999, 997, 2000, 1105, 2059, 2001,
2131 2076, 1272, 1257, 1127, 2088, 2088, 2088, 1256, 2092, 2092,
2132 2092, 1251, 2070, 2010, 2010, 2010, 2098, 2098, 2098, 1250,
2134 1249, 2089, 2109, 2109, 2109, 2074, 2093, 1248, 2013, 2013,
2135 2013, 2011, 2014, 2099, 1222, 2015, 2077, 2111, 2111, 2111,
2136 2113, 2113, 2113, 1226, 1226, 1226, 1234, 1234, 1234, 1244,
2137 1244, 1244, 2031, 2031, 2031, 2112, 1210, 2114, 2121, 2121,
2138 2121, 1228, 2100, 1196, 1236, 1195, 1194, 1246, 1190, 2032,
2139 2118, 2118, 2118, 1182, 2119, 2122, 1177, 2120, 2796, 2796,
2140 2796, 2124, 2124, 2124, 1176, 1170, 2117, 2126, 2126, 2126,
2141 1258, 1258, 1258, 1167, 1162, 2796, 2038, 2038, 2038, 2125,
2142 1161, 1160, 2115, 2040, 2040, 2040, 2116, 1159, 1260, 2043,
2143 2043, 2043, 1158, 1157, 2039, 2131, 2131, 2131, 2045, 2045,
2145 2045, 997, 2048, 2048, 2048, 2049, 2049, 2049, 1156, 2123,
2146 2050, 2050, 2050, 2132, 2054, 2054, 2054, 2057, 2057, 2057,
2147 2139, 2139, 2139, 1150, 2140, 1143, 1142, 2141, 2796, 2796,
2148 2796, 1141, 2055, 1136, 2058, 2127, 1075, 1075, 1075, 1103,
2149 1103, 1103, 1135, 1131, 2128, 2796, 2075, 2075, 2075, 2158,
2150 2158, 2158, 1130, 1129, 1077, 1124, 1123, 1105, 2164, 2164,
2151 2164, 2085, 2085, 2085, 2076, 1118, 1110, 2159, 2088, 2088,
2152 2088, 1102, 2168, 2168, 2168, 2165, 2169, 1101, 1097, 2170,
2153 2172, 2172, 2172, 2142, 1096, 2089, 1095, 2092, 2092, 2092,
2154 2176, 2176, 2176, 1094, 1093, 2153, 1092, 2173, 2098, 2098,
2156 2098, 2187, 2187, 2187, 2157, 2093, 1091, 2177, 1090, 2179,
2157 2179, 2179, 1089, 2180, 1088, 2099, 2181, 1082, 2188, 2109,
2158 2109, 2109, 2111, 2111, 2111, 2113, 2113, 2113, 2191, 2191,
2159 2191, 1074, 2192, 1073, 1072, 2193, 2194, 2194, 2194, 1071,
2160 2112, 1066, 2114, 1234, 1234, 1234, 1065, 1244, 1244, 1244,
2161 1064, 2118, 2118, 2118, 2195, 2119, 1061, 1055, 2120, 1050,
2162 1049, 1236, 2121, 2121, 2121, 1246, 2198, 2198, 2198, 1045,
2163 2199, 1040, 1039, 2200, 2201, 2201, 2201, 1038, 1037, 2122,
2164 2124, 2124, 2124, 2126, 2126, 2126, 2203, 2203, 2203, 1036,
2165 1035, 2202, 1033, 2131, 2131, 2131, 1032, 1031, 2125, 2213,
2167 2213, 2213, 1030, 1029, 2204, 2796, 2796, 2796, 1028, 2196,
2168 2197, 2132, 1027, 2139, 2139, 2139, 2214, 2140, 1026, 1025,
2169 2141, 1024, 2796, 1075, 1075, 1075, 1103, 1103, 1103, 2158,
2170 2158, 2158, 2238, 2238, 2238, 2164, 2164, 2164, 2240, 2240,
2171 2240, 1077, 2241, 1023, 1105, 2242, 1022, 2159, 1021, 2239,
2172 1020, 1019, 2165, 2168, 2168, 2168, 1018, 2169, 1017, 1016,
2173 2170, 2172, 2172, 2172, 1009, 2221, 2246, 2246, 2246, 1008,
2174 2247, 1007, 1006, 2248, 2250, 2250, 2250, 1005, 2173, 2282,
2175 2282, 2282, 2232, 2176, 2176, 2176, 2252, 2252, 2252, 1004,
2176 2253, 2251, 1003, 2254, 1000, 998, 2236, 2255, 2255, 2255,
2178 2177, 2179, 2179, 2179, 997, 2180, 995, 993, 2181, 2187,
2179 2187, 2187, 990, 986, 2256, 2260, 2260, 2260, 984, 2261,
2180 983, 982, 2262, 2263, 2263, 2263, 2188, 2265, 2265, 2265,
2181 2191, 2191, 2191, 980, 2192, 979, 978, 2193, 977, 976,
2182 2264, 2194, 2194, 2194, 2266, 1234, 1234, 1234, 1244, 1244,
2183 1244, 2198, 2198, 2198, 974, 2199, 973, 972, 2200, 2195,
2184 2201, 2201, 2201, 1236, 971, 969, 1246, 2275, 2275, 2275,
2185 968, 2276, 967, 963, 2277, 962, 960, 2202, 2203, 2203,
2186 2203, 2213, 2213, 2213, 2286, 2286, 2286, 959, 2287, 958,
2187 957, 2288, 2796, 2796, 2796, 956, 2204, 955, 2214, 1075,
2189 1075, 1075, 2308, 2308, 2308, 1103, 1103, 1103, 2274, 2796,
2190 2273, 2311, 2311, 2311, 2238, 2238, 2238, 1077, 2314, 2314,
2191 2314, 953, 2315, 1105, 952, 2316, 951, 950, 2312, 948,
2192 947, 2239, 2240, 2240, 2240, 946, 2241, 943, 942, 2242,
2193 2246, 2246, 2246, 938, 2247, 937, 935, 2248, 934, 933,
2194 2306, 2297, 2250, 2250, 2250, 930, 929, 2313, 2321, 2321,
2195 2321, 928, 2322, 927, 925, 2323, 2310, 924, 923, 2251,
2196 2252, 2252, 2252, 922, 2253, 921, 920, 2254, 2255, 2255,
2197 2255, 2324, 2324, 2324, 919, 2325, 918, 915, 2326, 2328,
2198 2328, 2328, 2260, 2260, 2260, 2256, 2261, 912, 911, 2262,
2200 2263, 2263, 2263, 2331, 2331, 2331, 2329, 2332, 908, 906,
2201 2333, 2265, 2265, 2265, 2334, 2334, 2334, 2264, 2335, 905,
2202 900, 2336, 1234, 1234, 1234, 1244, 1244, 1244, 2266, 2275,
2203 2275, 2275, 899, 2276, 897, 896, 2277, 2347, 2347, 2347,
2204 1236, 895, 893, 1246, 2282, 2282, 2282, 2350, 2350, 2350,
2205 2361, 2361, 2361, 890, 2348, 1461, 2286, 2286, 2286, 888,
2206 2287, 885, 883, 2288, 1075, 1075, 1075, 2362, 2308, 2308,
2207 2308, 882, 879, 2343, 2373, 2373, 2373, 1103, 1103, 1103,
2208 876, 875, 1077, 2311, 2311, 2311, 2375, 2375, 2375, 874,
2209 2376, 2344, 873, 2377, 871, 1105, 870, 2314, 2314, 2314,
2211 2312, 2315, 869, 868, 2316, 2321, 2321, 2321, 867, 2322,
2212 865, 862, 2323, 2371, 2324, 2324, 2324, 860, 2325, 859,
2213 858, 2326, 2328, 2328, 2328, 2384, 2384, 2384, 2374, 2385,
2214 856, 854, 2386, 2331, 2331, 2331, 853, 2332, 852, 2329,
2215 2333, 2334, 2334, 2334, 851, 2335, 850, 849, 2336, 2402,
2216 2402, 2402, 1244, 1244, 1244, 2406, 2406, 2406, 2347, 2347,
2217 2347, 2408, 2408, 2408, 846, 2409, 845, 2403, 2410, 844,
2218 1246, 841, 2407, 1461, 838, 2348, 1461, 837, 835, 1461,
2219 2411, 2411, 2411, 2350, 2350, 2350, 2412, 2412, 2412, 2413,
2220 2413, 2413, 2361, 2361, 2361, 2422, 2422, 2422, 834, 2423,
2222 831, 829, 2424, 1075, 1075, 1075, 2432, 2432, 2432, 2362,
2223 2373, 2373, 2373, 2433, 2433, 2433, 826, 2404, 2375, 2375,
2224 2375, 1077, 2376, 825, 817, 2377, 2438, 2438, 2438, 816,
2225 815, 2434, 2441, 2441, 2441, 2384, 2384, 2384, 812, 2385,
2226 811, 810, 2386, 2439, 2443, 2443, 2443, 809, 807, 2442,
2227 806, 2402, 2402, 2402, 1244, 1244, 1244, 2406, 2406, 2406,
2228 805, 2444, 804, 2459, 2459, 2459, 803, 2460, 2431, 2403,
2229 2461, 802, 1246, 797, 2407, 1461, 2408, 2408, 2408, 794,
2230 2409, 1461, 796, 2410, 2411, 2411, 2411, 2412, 2412, 2412,
2231 2413, 2413, 2413, 791, 1461, 2422, 2422, 2422, 790, 2423,
2233 788, 786, 2424, 784, 782, 2457, 1459, 1459, 1459, 1459,
2234 1459, 1459, 1459, 1459, 1459, 780, 2796, 1459, 2478, 2478,
2235 2478, 777, 1459, 1459, 1459, 1461, 1459, 2432, 2432, 2432,
2236 2433, 2433, 2433, 2438, 2438, 2438, 2479, 2483, 2483, 2483,
2237 776, 2484, 775, 774, 2485, 2441, 2441, 2441, 2434, 772,
2238 2439, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
2239 1459, 1459, 2442, 771, 1459, 2443, 2443, 2443, 770, 1459,
2240 1459, 1459, 1461, 1459, 2487, 2487, 2487, 769, 2488, 768,
2241 766, 2489, 2444, 2490, 2490, 2490, 765, 2491, 764, 763,
2242 2492, 2505, 2505, 2505, 2478, 2478, 2478, 761, 1459, 1459,
2244 2459, 2459, 2459, 759, 2460, 758, 756, 2461, 755, 2506,
2245 752, 751, 2479, 2505, 2505, 2505, 749, 610, 1461, 1459,
2246 1459, 1459, 1459, 1459, 2513, 1459, 1459, 1459, 2796, 744,
2247 1459, 2506, 742, 738, 737, 1459, 1459, 1459, 1461, 1459,
2248 2483, 2483, 2483, 736, 2484, 734, 732, 2485, 2487, 2487,
2249 2487, 731, 2488, 729, 727, 2489, 2490, 2490, 2490, 726,
2250 2491, 725, 724, 2492, 1459, 1459, 1459, 1459, 1459, 1459,
2251 1459, 1459, 1459, 1459, 2513, 723, 722, 1459, 2542, 2542,
2252 2542, 721, 1459, 1459, 1459, 1461, 1459, 2547, 2547, 2547,
2253 2549, 2549, 2549, 2551, 2551, 2551, 1461, 1462, 2559, 2559,
2255 2559, 2567, 2567, 2567, 2548, 719, 710, 2550, 709, 708,
2256 2552, 1459, 1459, 705, 703, 2560, 2542, 2542, 2542, 997,
2257 2547, 2547, 2547, 2573, 2573, 2573, 2796, 2574, 700, 699,
2258 2575, 2549, 2549, 2549, 1461, 698, 697, 2548, 2576, 2576,
2259 2576, 696, 2577, 694, 692, 2578, 691, 689, 2550, 2551,
2260 2551, 2551, 2579, 2579, 2579, 687, 2580, 686, 684, 2581,
2261 2559, 2559, 2559, 2567, 2567, 2567, 2552, 1628, 2588, 2588,
2262 2588, 682, 2589, 681, 679, 2590, 677, 2560, 2573, 2573,
2263 2573, 997, 2574, 676, 675, 2575, 2576, 2576, 2576, 674,
2264 2577, 672, 2796, 2578, 2579, 2579, 2579, 2796, 2580, 659,
2266 2597, 2581, 2588, 2588, 2588, 658, 2589, 656, 654, 2590,
2267 2692, 2692, 2692, 2692, 2692, 2692, 653, 2701, 652, 650,
2268 2702, 2794, 2794, 2794, 2794, 2794, 2794, 645, 997, 641,
2269 640, 997, 638, 637, 634, 633, 632, 630, 629, 2795,
2270 628, 626, 2795, 238, 238, 238, 238, 238, 238, 238,
2271 238, 238, 239, 239, 239, 239, 239, 239, 239, 239,
2272 239, 244, 244, 244, 244, 244, 244, 244, 244, 244,
2273 247, 247, 247, 247, 247, 247, 247, 247, 247, 250,
2274 250, 250, 250, 250, 250, 250, 250, 250, 253, 253,
2275 253, 253, 253, 253, 253, 253, 253, 260, 260, 260,
2277 260, 260, 260, 260, 260, 260, 268, 268, 268, 268,
2278 268, 268, 268, 268, 268, 272, 272, 272, 272, 272,
2279 272, 272, 272, 272, 284, 284, 284, 284, 284, 284,
2280 284, 284, 284, 288, 288, 288, 288, 288, 288, 288,
2281 288, 288, 295, 295, 295, 295, 295, 295, 295, 295,
2282 295, 306, 306, 306, 306, 306, 306, 306, 306, 306,
2283 314, 314, 314, 314, 314, 314, 314, 314, 314, 322,
2284 322, 322, 322, 322, 322, 322, 322, 322, 328, 328,
2285 328, 328, 328, 328, 328, 328, 328, 334, 334, 334,
2286 334, 334, 334, 334, 334, 334, 339, 339, 339, 339,
2288 339, 339, 339, 339, 339, 356, 356, 356, 356, 356,
2289 356, 356, 356, 356, 363, 363, 363, 363, 363, 363,
2290 363, 363, 363, 370, 370, 370, 370, 370, 370, 370,
2291 370, 370, 375, 375, 375, 375, 375, 375, 375, 375,
2292 375, 382, 382, 382, 382, 382, 382, 382, 382, 382,
2293 387, 387, 387, 387, 387, 387, 387, 387, 387, 393,
2294 393, 393, 393, 393, 393, 393, 393, 393, 398, 398,
2295 398, 398, 398, 398, 398, 398, 398, 404, 404, 404,
2296 404, 404, 404, 404, 404, 404, 412, 412, 412, 412,
2297 412, 412, 412, 412, 412, 431, 431, 431, 431, 431,
2299 431, 431, 431, 431, 437, 437, 437, 437, 437, 437,
2300 437, 437, 437, 447, 447, 447, 447, 447, 447, 447,
2301 447, 447, 453, 453, 453, 453, 453, 453, 453, 453,
2302 453, 458, 458, 458, 458, 458, 458, 458, 458, 458,
2303 464, 464, 464, 464, 464, 464, 464, 464, 464, 471,
2304 471, 471, 471, 471, 471, 471, 471, 471, 478, 478,
2305 478, 478, 478, 478, 478, 478, 478, 483, 483, 483,
2306 483, 483, 483, 483, 483, 483, 491, 491, 491, 491,
2307 491, 491, 491, 491, 491, 497, 497, 497, 497, 497,
2308 497, 497, 497, 497, 504, 504, 504, 504, 504, 504,
2310 504, 504, 504, 509, 509, 509, 509, 509, 509, 509,
2311 509, 509, 515, 515, 515, 515, 515, 515, 515, 515,
2312 515, 520, 520, 520, 520, 520, 520, 520, 520, 520,
2313 527, 527, 527, 527, 527, 527, 527, 527, 527, 533,
2314 533, 533, 533, 533, 533, 533, 533, 533, 540, 540,
2315 540, 540, 540, 540, 540, 540, 540, 547, 547, 547,
2316 547, 547, 547, 547, 547, 547, 555, 555, 555, 555,
2317 555, 555, 555, 555, 555, 559, 559, 559, 559, 559,
2318 559, 559, 559, 559, 565, 565, 565, 565, 565, 565,
2319 565, 565, 565, 569, 569, 569, 569, 569, 569, 569,
2321 569, 569, 576, 576, 576, 576, 576, 576, 576, 576,
2322 576, 581, 581, 581, 581, 581, 581, 581, 581, 581,
2323 601, 601, 601, 621, 2796, 602, 601, 627, 627, 627,
2324 600, 598, 592, 627, 631, 631, 631, 591, 592, 591,
2325 631, 639, 639, 639, 590, 589, 2796, 639, 651, 651,
2326 651, 2796, 2796, 2796, 651, 657, 657, 657, 2796, 2796,
2327 2796, 657, 673, 673, 673, 2796, 2796, 2796, 673, 680,
2328 680, 680, 2796, 2796, 2796, 680, 685, 685, 685, 2796,
2329 2796, 2796, 685, 690, 690, 690, 2796, 2796, 2796, 690,
2330 695, 695, 695, 2796, 2796, 2796, 695, 704, 704, 704,
2332 2796, 2796, 2796, 704, 720, 720, 720, 2796, 2796, 2796,
2333 720, 730, 730, 730, 2796, 2796, 2796, 730, 735, 735,
2334 735, 2796, 2796, 2796, 735, 743, 743, 743, 2796, 2796,
2335 2796, 743, 750, 750, 750, 2796, 2796, 2796, 750, 757,
2336 757, 757, 2796, 2796, 2796, 757, 762, 762, 762, 2796,
2337 2796, 2796, 762, 767, 767, 767, 2796, 2796, 2796, 767,
2338 773, 773, 773, 2796, 2796, 2796, 773, 781, 781, 781,
2339 2796, 2796, 2796, 781, 785, 785, 785, 2796, 2796, 2796,
2340 785, 789, 789, 789, 2796, 2796, 2796, 789, 793, 793,
2341 793, 793, 793, 793, 793, 2796, 793, 601, 601, 601,
2343 2796, 2796, 2796, 601, 808, 2796, 2796, 2796, 808, 627,
2344 627, 627, 2796, 2796, 2796, 627, 836, 2796, 2796, 2796,
2345 836, 631, 631, 631, 2796, 2796, 2796, 631, 843, 2796,
2346 2796, 2796, 843, 639, 639, 639, 2796, 2796, 2796, 639,
2347 855, 2796, 2796, 2796, 855, 651, 651, 651, 2796, 2796,
2348 2796, 651, 861, 2796, 2796, 2796, 861, 657, 657, 657,
2349 2796, 2796, 2796, 657, 866, 2796, 2796, 2796, 866, 673,
2350 673, 673, 2796, 2796, 2796, 673, 884, 2796, 2796, 2796,
2351 884, 680, 680, 680, 2796, 2796, 2796, 680, 889, 2796,
2352 2796, 2796, 889, 685, 685, 685, 2796, 2796, 2796, 685,
2354 894, 2796, 2796, 2796, 894, 690, 690, 690, 2796, 2796,
2355 2796, 690, 898, 2796, 2796, 2796, 898, 695, 695, 695,
2356 2796, 2796, 2796, 695, 907, 2796, 2796, 2796, 907, 704,
2357 704, 704, 2796, 2796, 2796, 704, 926, 2796, 2796, 2796,
2358 926, 720, 720, 720, 2796, 2796, 2796, 720, 936, 2796,
2359 2796, 2796, 936, 730, 730, 730, 2796, 2796, 2796, 730,
2360 941, 2796, 2796, 2796, 941, 735, 735, 735, 2796, 2796,
2361 2796, 735, 949, 2796, 2796, 2796, 949, 743, 743, 743,
2362 2796, 2796, 2796, 743, 954, 2796, 2796, 2796, 954, 750,
2363 750, 750, 2796, 2796, 2796, 750, 961, 2796, 2796, 2796,
2365 961, 757, 757, 757, 2796, 2796, 2796, 757, 966, 2796,
2366 2796, 2796, 966, 762, 762, 762, 2796, 2796, 2796, 762,
2367 970, 2796, 2796, 2796, 970, 767, 767, 767, 2796, 2796,
2368 2796, 767, 975, 2796, 2796, 2796, 975, 773, 773, 773,
2369 2796, 2796, 2796, 773, 981, 2796, 2796, 2796, 981, 781,
2370 781, 781, 2796, 2796, 2796, 781, 985, 2796, 2796, 2796,
2371 985, 785, 785, 785, 2796, 2796, 2796, 785, 989, 2796,
2372 2796, 2796, 989, 789, 789, 789, 2796, 2796, 2796, 789,
2373 994, 2796, 2796, 2796, 994, 996, 996, 996, 996, 996,
2374 996, 996, 996, 996, 1002, 2796, 2796, 2796, 2796, 1002,
2376 601, 601, 601, 2796, 2796, 2796, 601, 1011, 1011, 1011,
2377 1011, 2796, 2796, 1011, 1011, 627, 627, 627, 2796, 2796,
2378 2796, 627, 1042, 1042, 1042, 1042, 2796, 2796, 1042, 1042,
2379 631, 631, 631, 2796, 2796, 2796, 631, 1052, 1052, 1052,
2380 1052, 2796, 2796, 1052, 1052, 639, 639, 639, 2796, 2796,
2381 2796, 639, 1068, 1068, 1068, 1068, 2796, 2796, 1068, 1068,
2382 651, 651, 651, 2796, 2796, 2796, 651, 1076, 1076, 1076,
2383 1076, 2796, 2796, 1076, 1076, 657, 657, 657, 2796, 2796,
2384 2796, 657, 1084, 1084, 1084, 1084, 2796, 2796, 1084, 1084,
2385 673, 673, 673, 2796, 2796, 2796, 673, 1104, 1104, 1104,
2387 1104, 2796, 2796, 1104, 1104, 680, 680, 680, 2796, 2796,
2388 2796, 680, 1112, 1112, 1112, 1112, 2796, 2796, 1112, 1112,
2389 685, 685, 685, 2796, 2796, 2796, 685, 1120, 1120, 1120,
2390 1120, 2796, 2796, 1120, 1120, 690, 690, 690, 2796, 2796,
2391 2796, 690, 1126, 1126, 1126, 1126, 2796, 2796, 1126, 1126,
2392 695, 695, 695, 2796, 2796, 2796, 695, 1138, 1138, 1138,
2393 1138, 2796, 2796, 1138, 1138, 704, 704, 704, 2796, 2796,
2394 2796, 704, 1164, 1164, 1164, 1164, 2796, 2796, 1164, 1164,
2395 720, 720, 720, 2796, 2796, 2796, 720, 1179, 1179, 1179,
2396 1179, 2796, 2796, 1179, 1179, 730, 730, 730, 2796, 2796,
2398 2796, 730, 1187, 1187, 1187, 1187, 2796, 2796, 1187, 1187,
2399 735, 735, 735, 2796, 2796, 2796, 735, 1198, 1198, 1198,
2400 1198, 2796, 2796, 1198, 1198, 743, 743, 743, 743, 2796,
2401 743, 2796, 743, 1207, 1207, 1207, 1207, 2796, 2796, 1207,
2402 1207, 750, 750, 750, 750, 2796, 750, 2796, 750, 1219,
2403 1219, 1219, 1219, 2796, 2796, 1219, 1219, 757, 757, 757,
2404 2796, 2796, 2796, 757, 1227, 1227, 1227, 1227, 2796, 2796,
2405 1227, 1227, 762, 762, 762, 762, 2796, 762, 2796, 762,
2406 1235, 1235, 1235, 1235, 2796, 2796, 1235, 1235, 767, 767,
2407 767, 767, 2796, 767, 2796, 767, 1245, 1245, 1245, 1245,
2409 2796, 2796, 1245, 1245, 773, 773, 773, 2796, 2796, 2796,
2410 773, 1253, 1253, 1253, 1253, 2796, 2796, 1253, 1253, 781,
2411 781, 781, 2796, 2796, 2796, 781, 1259, 1259, 1259, 1259,
2412 2796, 2796, 1259, 1259, 1266, 1266, 1266, 1266, 2796, 2796,
2413 1266, 1266, 789, 789, 789, 2796, 2796, 2796, 789, 1274,
2414 1274, 1274, 1274, 2796, 2796, 1274, 1274, 996, 996, 996,
2415 996, 996, 996, 996, 996, 996, 1002, 2796, 1002, 2796,
2416 2796, 1002, 601, 601, 601, 2796, 2796, 2796, 601, 1011,
2417 1011, 1011, 1011, 2796, 2796, 1011, 1011, 627, 627, 627,
2418 627, 2796, 627, 2796, 627, 1042, 1042, 1042, 1042, 2796,
2420 2796, 1042, 1042, 631, 631, 631, 631, 2796, 631, 2796,
2421 631, 1052, 1052, 1052, 1052, 2796, 2796, 1052, 1052, 639,
2422 639, 639, 2796, 2796, 2796, 639, 1068, 1068, 1068, 1068,
2423 2796, 2796, 1068, 1068, 651, 651, 651, 2796, 2796, 2796,
2424 651, 1076, 1076, 1076, 1076, 2796, 2796, 1076, 1076, 657,
2425 657, 657, 2796, 2796, 2796, 657, 1084, 1084, 1084, 1084,
2426 2796, 2796, 1084, 1084, 673, 673, 673, 2796, 2796, 2796,
2427 673, 1104, 1104, 1104, 1104, 2796, 2796, 1104, 1104, 680,
2428 680, 680, 2796, 2796, 2796, 680, 1112, 1112, 1112, 1112,
2429 2796, 2796, 1112, 1112, 685, 685, 685, 685, 2796, 685,
2431 2796, 685, 1120, 1120, 1120, 1120, 2796, 2796, 1120, 1120,
2432 690, 690, 690, 690, 2796, 690, 2796, 690, 1126, 1126,
2433 1126, 1126, 2796, 2796, 1126, 1126, 695, 695, 695, 2796,
2434 2796, 2796, 695, 1138, 1138, 1138, 1138, 2796, 2796, 1138,
2435 1138, 704, 704, 704, 2796, 2796, 2796, 704, 1164, 1164,
2436 1164, 1164, 2796, 2796, 1164, 1164, 720, 720, 720, 2796,
2437 2796, 2796, 720, 1179, 1179, 1179, 1179, 2796, 2796, 1179,
2438 1179, 730, 730, 730, 2796, 2796, 2796, 730, 1187, 1187,
2439 1187, 1187, 2796, 2796, 1187, 1187, 735, 735, 735, 2796,
2440 2796, 2796, 735, 1198, 1198, 1198, 1198, 2796, 2796, 1198,
2442 1198, 743, 743, 743, 2796, 2796, 2796, 743, 1207, 1207,
2443 1207, 1207, 2796, 2796, 1207, 1207, 750, 750, 750, 2796,
2444 2796, 2796, 750, 1219, 1219, 1219, 1219, 2796, 2796, 1219,
2445 1219, 757, 757, 757, 2796, 2796, 2796, 757, 1227, 1227,
2446 1227, 1227, 2796, 2796, 1227, 1227, 1235, 1235, 1235, 1235,
2447 2796, 2796, 1235, 1235, 767, 767, 767, 2796, 2796, 2796,
2448 767, 1245, 1245, 1245, 1245, 2796, 2796, 1245, 1245, 773,
2449 773, 773, 2796, 2796, 2796, 773, 1253, 1253, 1253, 1253,
2450 2796, 2796, 1253, 1253, 781, 781, 781, 2796, 2796, 2796,
2451 781, 1259, 1259, 1259, 1259, 2796, 2796, 1259, 1259, 1266,
2453 1266, 1266, 1266, 2796, 2796, 1266, 1266, 789, 789, 789,
2454 2796, 2796, 2796, 789, 1274, 1274, 1274, 1274, 2796, 2796,
2455 1274, 1274, 996, 996, 996, 996, 996, 996, 996, 996,
2456 996, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459,
2457 601, 601, 601, 2796, 2796, 2796, 601, 1011, 1011, 1011,
2458 1011, 2796, 2796, 1011, 1011, 1042, 1042, 1042, 1042, 2796,
2459 2796, 1042, 1042, 631, 631, 631, 2796, 2796, 2796, 631,
2460 1052, 1052, 1052, 1052, 2796, 2796, 1052, 1052, 639, 639,
2461 639, 2796, 2796, 2796, 639, 1068, 1068, 1068, 1068, 2796,
2462 2796, 1068, 1068, 651, 651, 651, 2796, 2796, 2796, 651,
2464 1076, 1076, 1076, 1076, 2796, 2796, 1076, 1076, 657, 657,
2465 657, 2796, 2796, 2796, 657, 673, 673, 673, 2796, 2796,
2466 2796, 673, 1104, 1104, 1104, 1104, 2796, 2796, 1104, 1104,
2467 680, 680, 680, 2796, 2796, 2796, 680, 1112, 1112, 1112,
2468 1112, 2796, 2796, 1112, 1112, 1120, 1120, 1120, 1120, 2796,
2469 2796, 1120, 1120, 690, 690, 690, 2796, 2796, 2796, 690,
2470 1126, 1126, 1126, 1126, 2796, 2796, 1126, 1126, 695, 695,
2471 695, 2796, 2796, 2796, 695, 1138, 1138, 1138, 1138, 2796,
2472 2796, 1138, 1138, 704, 704, 704, 2796, 2796, 2796, 704,
2473 1164, 1164, 1164, 1164, 2796, 2796, 1164, 1164, 720, 720,
2475 720, 2796, 2796, 2796, 720, 1179, 1179, 1179, 1179, 2796,
2476 2796, 1179, 1179, 730, 730, 730, 2796, 2796, 2796, 730,
2477 1187, 1187, 1187, 1187, 2796, 2796, 1187, 1187, 735, 735,
2478 735, 2796, 2796, 2796, 735, 1198, 1198, 1198, 1198, 2796,
2479 2796, 1198, 1198, 743, 743, 743, 2796, 2796, 2796, 743,
2480 1207, 1207, 1207, 1207, 2796, 2796, 1207, 1207, 750, 750,
2481 750, 2796, 2796, 2796, 750, 1219, 1219, 1219, 1219, 2796,
2482 2796, 1219, 1219, 757, 757, 757, 2796, 2796, 2796, 757,
2483 1227, 1227, 1227, 1227, 2796, 2796, 1227, 1227, 1235, 1235,
2484 1235, 1235, 2796, 2796, 1235, 1235, 767, 767, 767, 2796,
2486 2796, 2796, 767, 1245, 1245, 1245, 1245, 2796, 2796, 1245,
2487 1245, 773, 773, 773, 2796, 2796, 2796, 773, 1253, 1253,
2488 1253, 1253, 2796, 2796, 1253, 1253, 781, 781, 781, 781,
2489 2796, 781, 2796, 781, 1259, 1259, 1259, 1259, 2796, 2796,
2490 1259, 1259, 1266, 1266, 1266, 1266, 2796, 2796, 1266, 1266,
2491 789, 789, 789, 789, 2796, 789, 2796, 789, 1274, 1274,
2492 1274, 1274, 2796, 2796, 1274, 1274, 996, 996, 996, 996,
2493 996, 996, 996, 996, 996, 1459, 1459, 1459, 1459, 1459,
2494 1459, 1459, 1459, 1459, 601, 601, 601, 2796, 2796, 2796,
2495 601, 1011, 1011, 1011, 1011, 2796, 2796, 1011, 1011, 1042,
2497 1042, 1042, 1042, 2796, 2796, 1042, 1042, 631, 631, 631,
2498 2796, 2796, 2796, 631, 1052, 1052, 1052, 1052, 2796, 2796,
2499 1052, 1052, 639, 639, 639, 2796, 2796, 2796, 639, 1068,
2500 1068, 1068, 1068, 2796, 2796, 1068, 1068, 651, 651, 651,
2501 2796, 2796, 2796, 651, 1076, 1076, 1076, 1076, 2796, 2796,
2502 1076, 1076, 657, 657, 657, 2796, 2796, 2796, 657, 673,
2503 673, 673, 2796, 2796, 2796, 673, 1104, 1104, 1104, 1104,
2504 2796, 2796, 1104, 1104, 680, 680, 680, 680, 2796, 680,
2505 2796, 680, 1112, 1112, 1112, 1112, 2796, 2796, 1112, 1112,
2506 1120, 1120, 1120, 1120, 2796, 2796, 1120, 1120, 690, 690,
2508 690, 690, 2796, 690, 2796, 690, 1126, 1126, 1126, 1126,
2509 2796, 2796, 1126, 1126, 695, 695, 695, 2796, 2796, 2796,
2510 695, 1138, 1138, 1138, 1138, 2796, 2796, 1138, 1138, 704,
2511 704, 704, 2796, 2796, 2796, 704, 1164, 1164, 1164, 1164,
2512 2796, 2796, 1164, 1164, 720, 720, 720, 2796, 2796, 2796,
2513 720, 1179, 1179, 1179, 1179, 2796, 2796, 1179, 1179, 730,
2514 730, 730, 2796, 2796, 2796, 730, 1187, 1187, 1187, 1187,
2515 2796, 2796, 1187, 1187, 735, 735, 735, 2796, 2796, 2796,
2516 735, 1198, 1198, 1198, 1198, 2796, 2796, 1198, 1198, 743,
2517 743, 743, 2796, 2796, 2796, 743, 1207, 1207, 1207, 1207,
2519 2796, 2796, 1207, 1207, 750, 750, 750, 750, 2796, 750,
2520 2796, 750, 1219, 1219, 1219, 1219, 2796, 2796, 1219, 1219,
2521 757, 757, 757, 2796, 2796, 2796, 757, 1227, 1227, 1227,
2522 1227, 2796, 2796, 1227, 1227, 1235, 1235, 1235, 1235, 2796,
2523 2796, 1235, 1235, 767, 767, 767, 767, 2796, 767, 2796,
2524 767, 1245, 1245, 1245, 1245, 2796, 2796, 1245, 1245, 773,
2525 773, 773, 2796, 2796, 2796, 773, 1253, 1253, 1253, 1253,
2526 2796, 2796, 1253, 1253, 1259, 1259, 1259, 1259, 2796, 2796,
2527 1259, 1259, 1266, 1266, 1266, 1266, 2796, 2796, 1266, 1266,
2528 1274, 1274, 1274, 1274, 2796, 2796, 1274, 1274, 996, 996,
2530 996, 996, 996, 996, 996, 996, 996, 1459, 1459, 1459,
2531 1459, 1459, 1459, 1459, 1459, 1459, 601, 601, 601, 601,
2532 2796, 601, 2796, 601, 1011, 1011, 1011, 1011, 2796, 2796,
2533 1011, 1011, 1042, 1042, 1042, 1042, 2796, 2796, 1042, 1042,
2534 631, 631, 631, 2796, 2796, 2796, 631, 1052, 1052, 1052,
2535 1052, 2796, 2796, 1052, 1052, 639, 639, 639, 2796, 2796,
2536 2796, 639, 1068, 1068, 1068, 1068, 2796, 2796, 1068, 1068,
2537 651, 651, 651, 651, 2796, 651, 2796, 651, 1076, 1076,
2538 1076, 1076, 2796, 2796, 1076, 1076, 657, 657, 657, 657,
2539 2796, 657, 2796, 657, 673, 673, 673, 673, 2796, 673,
2541 2796, 673, 1104, 1104, 1104, 1104, 2796, 2796, 1104, 1104,
2542 1112, 1112, 1112, 1112, 2796, 2796, 1112, 1112, 1120, 1120,
2543 1120, 1120, 2796, 2796, 1120, 1120, 1126, 1126, 1126, 1126,
2544 2796, 2796, 1126, 1126, 695, 695, 695, 2796, 2796, 2796,
2545 695, 704, 704, 704, 2796, 2796, 2796, 704, 1164, 1164,
2546 1164, 1164, 2796, 2796, 1164, 1164, 720, 720, 720, 2796,
2547 2796, 2796, 720, 730, 730, 730, 2796, 2796, 2796, 730,
2548 1187, 1187, 1187, 1187, 2796, 2796, 1187, 1187, 735, 735,
2549 735, 2796, 2796, 2796, 735, 743, 743, 743, 2796, 2796,
2550 2796, 743, 1207, 1207, 1207, 1207, 2796, 2796, 1207, 1207,
2552 750, 750, 750, 2796, 2796, 2796, 750, 1219, 1219, 1219,
2553 1219, 2796, 2796, 1219, 1219, 757, 757, 757, 2796, 2796,
2554 2796, 757, 1227, 1227, 1227, 1227, 2796, 2796, 1227, 1227,
2555 1235, 1235, 1235, 1235, 2796, 2796, 1235, 1235, 1245, 1245,
2556 1245, 1245, 2796, 2796, 1245, 1245, 773, 773, 773, 2796,
2557 2796, 2796, 773, 1253, 1253, 1253, 1253, 2796, 2796, 1253,
2558 1253, 1259, 1259, 1259, 1259, 2796, 2796, 1259, 1259, 1266,
2559 1266, 1266, 1266, 2796, 2796, 1266, 1266, 996, 996, 996,
2560 996, 996, 996, 996, 996, 996, 1459, 1459, 1459, 1459,
2561 1459, 1459, 1459, 1459, 1459, 1011, 1011, 1011, 1011, 2796,
2563 2796, 1011, 1011, 1042, 1042, 1042, 1042, 2796, 2796, 1042,
2564 1042, 631, 631, 631, 2796, 2796, 2796, 631, 639, 639,
2565 639, 2796, 2796, 2796, 639, 1068, 1068, 1068, 1068, 2796,
2566 2796, 1068, 1068, 1076, 1076, 1076, 1076, 2796, 2796, 1076,
2567 1076, 1104, 1104, 1104, 1104, 2796, 2796, 1104, 1104, 1112,
2568 1112, 1112, 1112, 2796, 2796, 1112, 1112, 1126, 1126, 1126,
2569 1126, 2796, 2796, 1126, 1126, 695, 695, 695, 2796, 2796,
2570 2796, 695, 704, 704, 704, 2796, 2796, 2796, 704, 1164,
2571 1164, 1164, 1164, 2796, 2796, 1164, 1164, 720, 720, 720,
2572 2796, 2796, 2796, 720, 730, 730, 730, 2796, 2796, 2796,
2574 730, 1187, 1187, 1187, 1187, 2796, 2796, 1187, 1187, 735,
2575 735, 735, 2796, 2796, 2796, 735, 743, 743, 743, 2796,
2576 2796, 2796, 743, 750, 750, 750, 2796, 2796, 2796, 750,
2577 1219, 1219, 1219, 1219, 2796, 2796, 1219, 1219, 757, 757,
2578 757, 2796, 2796, 2796, 757, 1227, 1227, 1227, 1227, 2796,
2579 2796, 1227, 1227, 1235, 1235, 1235, 1235, 2796, 2796, 1235,
2580 1235, 1245, 1245, 1245, 1245, 2796, 2796, 1245, 1245, 773,
2581 773, 773, 773, 2796, 773, 2796, 773, 1253, 1253, 1253,
2582 1253, 2796, 2796, 1253, 1253, 1259, 1259, 1259, 1259, 2796,
2583 2796, 1259, 1259, 1266, 1266, 1266, 1266, 2796, 2796, 1266,
2585 1266, 996, 996, 996, 996, 996, 996, 996, 996, 996,
2586 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1011,
2587 1011, 1011, 1011, 2796, 2796, 1011, 1011, 1042, 1042, 1042,
2588 1042, 2796, 2796, 1042, 1042, 631, 631, 631, 2796, 2796,
2589 2796, 631, 639, 639, 639, 639, 2796, 639, 2796, 639,
2590 1076, 1076, 1076, 1076, 2796, 2796, 1076, 1076, 1104, 1104,
2591 1104, 1104, 2796, 2796, 1104, 1104, 1112, 1112, 1112, 1112,
2592 2796, 2796, 1112, 1112, 1126, 1126, 1126, 1126, 2796, 2796,
2593 1126, 1126, 695, 695, 695, 2796, 2796, 2796, 695, 704,
2594 704, 704, 2796, 2796, 2796, 704, 1164, 1164, 1164, 1164,
2596 2796, 2796, 1164, 1164, 720, 720, 720, 2796, 2796, 2796,
2597 720, 730, 730, 730, 2796, 2796, 2796, 730, 2462, 2462,
2598 2462, 2462, 2462, 2462, 2462, 2462, 2462, 2463, 2463, 2463,
2599 2463, 2463, 2463, 2463, 2463, 2463, 2508, 2508, 2508, 2508,
2600 2508, 2508, 2508, 2508, 2508, 2511, 2511, 2511, 2511, 2511,
2601 2511, 2511, 2511, 2511, 2539, 2539, 2539, 2539, 2539, 2539,
2602 2539, 2539, 2539, 2541, 2541, 2541, 2541, 2541, 2541, 2541,
2603 2541, 2541, 237, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
2604 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
2605 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
2607 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
2608 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
2609 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
2610 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
2611 2796, 2796, 2796, 2796, 2796, 2796
2614 static yyconst flex_int16_t yy_chk[10247] =
2616 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2617 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2618 4, 10, 571, 5, 0, 9, 6, 352, 10, 7,
2619 8, 8, 8, 242, 11, 13, 13, 12, 14, 14,
2620 13, 13, 291, 14, 14, 243, 8, 17, 17, 242,
2621 13, 15, 15, 14, 15, 246, 15, 16, 16, 571,
2622 16, 243, 16, 18, 18, 1474, 15, 19, 19, 19,
2623 424, 246, 16, 20, 20, 20, 23, 23, 23, 24,
2624 24, 24, 352, 19, 25, 25, 25, 343, 470, 20,
2625 424, 17, 23, 291, 343, 24, 240, 240, 240, 470,
2627 25, 241, 241, 241, 245, 245, 245, 18, 21, 21,
2628 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2629 21, 21, 21, 316, 21, 21, 21, 21, 21, 26,
2630 26, 26, 27, 27, 27, 28, 28, 28, 275, 29,
2631 29, 29, 30, 30, 30, 26, 1476, 1478, 27, 264,
2632 269, 28, 275, 21, 21, 29, 1480, 285, 30, 31,
2633 31, 31, 266, 266, 266, 264, 269, 273, 273, 273,
2634 282, 282, 282, 285, 316, 31, 21, 22, 22, 22,
2635 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2636 22, 22, 317, 22, 22, 22, 22, 22, 32, 32,
2638 32, 33, 33, 33, 34, 34, 34, 264, 35, 35,
2639 35, 36, 36, 36, 32, 276, 277, 33, 345, 482,
2640 34, 318, 22, 22, 35, 276, 482, 36, 37, 37,
2641 37, 38, 38, 38, 39, 39, 39, 40, 40, 40,
2642 41, 41, 41, 317, 37, 22, 345, 38, 296, 1481,
2643 39, 1483, 307, 40, 276, 277, 41, 42, 42, 42,
2644 276, 289, 289, 289, 296, 278, 276, 277, 307, 277,
2645 276, 365, 318, 42, 43, 43, 43, 43, 43, 43,
2646 43, 43, 43, 43, 43, 43, 43, 43, 43, 635,
2647 43, 43, 43, 43, 43, 45, 45, 45, 46, 46,
2649 46, 47, 47, 47, 278, 48, 48, 48, 49, 49,
2650 49, 45, 313, 1485, 46, 1487, 278, 47, 278, 43,
2651 43, 48, 365, 1277, 49, 635, 313, 43, 44, 44,
2652 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2653 44, 44, 44, 1277, 44, 44, 44, 44, 44, 50,
2654 50, 50, 51, 51, 51, 52, 52, 52, 293, 293,
2655 293, 55, 55, 301, 323, 50, 55, 1488, 51, 1489,
2656 301, 52, 366, 44, 44, 416, 55, 1490, 416, 301,
2657 323, 44, 53, 53, 53, 53, 53, 53, 53, 53,
2658 53, 53, 53, 53, 53, 53, 53, 344, 53, 53,
2660 53, 53, 53, 344, 1492, 55, 59, 59, 59, 60,
2661 60, 60, 344, 61, 61, 61, 56, 56, 62, 62,
2662 62, 56, 59, 366, 377, 60, 330, 53, 53, 61,
2663 429, 56, 929, 330, 62, 53, 378, 929, 53, 304,
2664 304, 304, 330, 429, 53, 54, 54, 54, 54, 54,
2665 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
2666 56, 54, 54, 54, 54, 54, 63, 63, 63, 64,
2667 64, 64, 65, 65, 65, 377, 66, 66, 66, 69,
2668 69, 69, 63, 335, 357, 64, 371, 378, 65, 311,
2669 54, 54, 66, 311, 1501, 69, 1502, 311, 54, 335,
2671 357, 54, 371, 428, 256, 1504, 428, 54, 57, 57,
2672 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2673 57, 57, 57, 473, 57, 57, 57, 57, 57, 70,
2674 70, 70, 73, 73, 73, 74, 74, 74, 474, 75,
2675 75, 75, 76, 76, 76, 70, 256, 383, 73, 394,
2676 389, 74, 256, 57, 57, 75, 256, 389, 76, 1508,
2677 1512, 256, 57, 383, 57, 394, 389, 57, 315, 315,
2678 315, 473, 57, 57, 58, 58, 58, 58, 58, 58,
2679 58, 58, 58, 58, 58, 58, 58, 58, 58, 474,
2680 58, 58, 58, 58, 58, 77, 77, 77, 78, 78,
2682 78, 79, 79, 79, 551, 80, 80, 80, 81, 81,
2683 81, 77, 1458, 405, 78, 400, 421, 79, 551, 58,
2684 58, 80, 400, 1515, 81, 320, 320, 320, 58, 405,
2685 58, 400, 421, 58, 329, 329, 329, 1458, 58, 58,
2686 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
2687 67, 67, 67, 67, 67, 1522, 67, 67, 67, 67,
2688 67, 82, 82, 82, 83, 83, 83, 84, 84, 84,
2689 430, 85, 85, 85, 86, 86, 86, 82, 613, 1523,
2690 83, 430, 430, 84, 350, 67, 67, 85, 438, 433,
2691 86, 613, 67, 332, 332, 332, 433, 67, 340, 340,
2693 340, 354, 354, 354, 438, 433, 67, 68, 68, 68,
2694 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
2695 68, 68, 350, 68, 68, 68, 68, 68, 87, 87,
2696 87, 88, 88, 88, 89, 89, 89, 350, 90, 90,
2697 90, 91, 91, 91, 87, 585, 594, 88, 496, 594,
2698 89, 347, 68, 68, 90, 496, 1524, 91, 1027, 68,
2699 585, 347, 349, 349, 68, 349, 364, 364, 364, 500,
2700 1027, 349, 349, 68, 71, 71, 71, 71, 71, 71,
2701 71, 71, 71, 71, 71, 71, 71, 71, 71, 347,
2702 71, 71, 71, 71, 71, 92, 92, 92, 93, 93,
2704 93, 94, 94, 94, 1528, 95, 95, 95, 96, 96,
2705 96, 92, 607, 1038, 93, 607, 500, 94, 611, 71,
2706 71, 95, 611, 1529, 96, 1038, 348, 368, 368, 368,
2707 71, 376, 376, 376, 380, 380, 380, 1530, 71, 72,
2708 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
2709 72, 72, 72, 72, 348, 72, 72, 72, 72, 72,
2710 97, 97, 97, 98, 98, 98, 99, 99, 99, 348,
2711 100, 100, 100, 101, 101, 101, 97, 454, 465, 98,
2712 616, 1533, 99, 616, 72, 72, 100, 1551, 479, 101,
2713 102, 102, 102, 454, 465, 72, 388, 388, 388, 391,
2715 391, 391, 619, 72, 479, 619, 102, 103, 103, 103,
2716 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2717 103, 103, 1552, 103, 103, 103, 103, 103, 105, 105,
2718 105, 106, 106, 106, 107, 107, 107, 572, 108, 108,
2719 108, 399, 399, 399, 105, 1560, 492, 106, 449, 460,
2720 107, 1563, 103, 103, 108, 449, 460, 103, 402, 402,
2721 402, 414, 492, 103, 449, 460, 103, 413, 413, 413,
2722 485, 1564, 103, 104, 104, 104, 104, 104, 104, 104,
2723 104, 104, 104, 104, 104, 104, 104, 104, 572, 104,
2724 104, 104, 104, 104, 109, 109, 109, 110, 110, 110,
2726 111, 111, 111, 1568, 112, 112, 112, 523, 1575, 414,
2727 109, 505, 414, 110, 516, 511, 111, 485, 104, 104,
2728 112, 485, 511, 104, 418, 418, 418, 505, 1576, 104,
2729 516, 511, 104, 432, 432, 432, 536, 1577, 104, 113,
2730 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
2731 113, 113, 113, 113, 523, 113, 113, 113, 113, 113,
2732 115, 115, 115, 116, 116, 116, 117, 117, 117, 1071,
2733 118, 118, 118, 119, 119, 119, 115, 528, 541, 116,
2734 1578, 1071, 117, 536, 113, 113, 118, 1581, 1585, 119,
2735 435, 435, 435, 528, 541, 113, 448, 448, 448, 451,
2737 451, 451, 459, 459, 459, 113, 114, 114, 114, 114,
2738 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
2739 114, 1588, 114, 114, 114, 114, 114, 120, 120, 120,
2740 121, 121, 121, 122, 122, 122, 1590, 125, 125, 125,
2741 126, 126, 126, 120, 556, 566, 121, 623, 1592, 122,
2742 623, 114, 114, 125, 1593, 1594, 126, 462, 462, 462,
2743 556, 566, 114, 472, 472, 472, 476, 476, 476, 484,
2744 484, 484, 114, 123, 123, 123, 123, 123, 123, 123,
2745 123, 123, 123, 123, 123, 123, 123, 123, 1597, 123,
2746 123, 123, 123, 123, 129, 129, 129, 130, 130, 130,
2748 133, 133, 133, 1599, 134, 134, 134, 135, 135, 135,
2749 129, 697, 577, 130, 697, 1601, 133, 702, 123, 123,
2750 134, 702, 1606, 135, 489, 489, 489, 549, 577, 123,
2751 498, 498, 498, 123, 124, 124, 124, 124, 124, 124,
2752 124, 124, 124, 124, 124, 124, 124, 124, 124, 1612,
2753 124, 124, 124, 124, 124, 136, 136, 136, 137, 137,
2754 137, 138, 138, 138, 549, 139, 139, 139, 140, 140,
2755 140, 136, 1616, 795, 137, 1617, 612, 138, 549, 124,
2756 124, 139, 612, 1619, 140, 502, 502, 502, 612, 795,
2757 124, 510, 510, 510, 124, 127, 127, 127, 127, 127,
2759 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
2760 1631, 127, 127, 127, 127, 127, 143, 143, 143, 144,
2761 144, 144, 147, 147, 147, 1634, 148, 148, 148, 151,
2762 151, 151, 143, 999, 1635, 144, 1628, 999, 147, 1637,
2763 127, 127, 148, 1627, 1639, 151, 513, 513, 513, 521,
2764 521, 521, 525, 525, 525, 127, 534, 534, 534, 1629,
2765 1627, 127, 128, 128, 128, 128, 128, 128, 128, 128,
2766 128, 128, 128, 128, 128, 128, 128, 1628, 128, 128,
2767 128, 128, 128, 152, 152, 152, 155, 155, 155, 156,
2768 156, 156, 1629, 157, 157, 157, 158, 158, 158, 152,
2770 1640, 1642, 155, 1643, 1644, 156, 1648, 128, 128, 157,
2771 1636, 1650, 158, 538, 538, 538, 548, 548, 548, 553,
2772 553, 553, 128, 560, 560, 560, 1636, 1653, 128, 131,
2773 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
2774 131, 131, 131, 131, 1654, 131, 131, 131, 131, 131,
2775 159, 159, 159, 160, 160, 160, 161, 161, 161, 1655,
2776 162, 162, 162, 1657, 561, 617, 159, 1659, 1660, 160,
2777 1662, 561, 161, 1664, 131, 131, 162, 131, 617, 131,
2778 561, 563, 563, 563, 1667, 131, 570, 570, 570, 1668,
2779 1670, 131, 1671, 1672, 131, 132, 132, 132, 132, 132,
2781 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
2782 1674, 132, 132, 132, 132, 132, 165, 165, 165, 166,
2783 166, 166, 167, 167, 167, 1669, 168, 168, 168, 574,
2784 574, 574, 165, 1669, 1680, 166, 665, 583, 167, 670,
2785 132, 132, 168, 132, 583, 132, 582, 582, 582, 665,
2786 1673, 132, 670, 583, 584, 584, 584, 132, 1673, 1684,
2787 132, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2788 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2789 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2790 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2792 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2793 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2794 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2795 141, 141, 141, 141, 145, 145, 145, 145, 145, 145,
2796 145, 145, 145, 145, 145, 145, 145, 145, 145, 1699,
2797 145, 145, 145, 145, 145, 169, 169, 169, 170, 170,
2798 170, 171, 171, 171, 621, 172, 172, 172, 1700, 1705,
2799 621, 169, 1706, 1681, 170, 1707, 621, 171, 1711, 145,
2800 145, 172, 145, 145, 145, 624, 593, 593, 593, 1681,
2801 145, 624, 145, 1014, 1014, 1014, 145, 624, 1712, 145,
2803 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
2804 146, 146, 146, 146, 146, 1718, 146, 146, 146, 146,
2805 146, 175, 175, 175, 176, 176, 176, 177, 177, 177,
2806 625, 178, 178, 178, 1725, 1726, 625, 175, 1727, 671,
2807 176, 1731, 625, 177, 593, 146, 146, 178, 146, 146,
2808 146, 649, 671, 1034, 1034, 1034, 146, 649, 146, 1291,
2809 1291, 1291, 146, 649, 1737, 146, 149, 149, 149, 149,
2810 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
2811 149, 1741, 149, 149, 149, 149, 149, 179, 179, 179,
2812 180, 180, 180, 181, 181, 181, 1744, 182, 182, 182,
2814 633, 633, 633, 179, 1746, 912, 180, 1748, 1750, 181,
2815 1751, 149, 149, 182, 912, 1752, 149, 633, 1293, 1293,
2816 1293, 912, 149, 150, 150, 150, 150, 150, 150, 150,
2817 150, 150, 150, 150, 150, 150, 150, 150, 1755, 150,
2818 150, 150, 150, 150, 185, 185, 185, 186, 186, 186,
2819 189, 189, 189, 1757, 190, 190, 190, 641, 641, 641,
2820 185, 1517, 1762, 186, 1293, 1764, 189, 1517, 150, 150,
2821 190, 1517, 1772, 150, 641, 1517, 810, 810, 810, 150,
2822 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
2823 153, 153, 153, 153, 153, 1773, 153, 153, 153, 153,
2825 153, 191, 191, 191, 192, 192, 192, 193, 193, 193,
2826 1774, 194, 194, 194, 195, 195, 195, 191, 1685, 1776,
2827 192, 1686, 1787, 193, 1790, 153, 153, 194, 1787, 153,
2828 195, 798, 798, 798, 1685, 798, 153, 1686, 153, 810,
2829 829, 829, 829, 1789, 1795, 153, 154, 154, 154, 154,
2830 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
2831 154, 1796, 154, 154, 154, 154, 154, 196, 196, 196,
2832 199, 199, 199, 200, 200, 200, 1797, 201, 201, 201,
2833 202, 202, 202, 196, 1801, 1802, 199, 1803, 1789, 200,
2834 1808, 154, 154, 201, 1814, 154, 202, 868, 868, 868,
2836 1816, 1817, 154, 829, 154, 1820, 874, 874, 874, 1823,
2837 1827, 154, 163, 163, 163, 163, 163, 163, 163, 163,
2838 163, 163, 163, 163, 163, 163, 163, 1828, 163, 163,
2839 163, 163, 163, 203, 203, 203, 204, 204, 204, 205,
2840 205, 205, 1829, 206, 206, 206, 209, 209, 209, 203,
2841 1830, 1831, 204, 1832, 1833, 205, 1834, 163, 163, 206,
2842 868, 1835, 209, 163, 840, 840, 840, 1836, 840, 874,
2843 1841, 840, 1296, 1296, 1296, 1842, 1858, 163, 164, 164,
2844 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
2845 164, 164, 164, 1859, 164, 164, 164, 164, 164, 210,
2847 210, 210, 211, 211, 211, 212, 212, 212, 1860, 213,
2848 213, 213, 214, 214, 214, 210, 1860, 1862, 211, 1861,
2849 1863, 212, 1864, 164, 164, 213, 1868, 1861, 214, 164,
2850 848, 848, 848, 1874, 848, 1875, 1876, 848, 1299, 1299,
2851 1299, 1881, 1885, 164, 173, 173, 173, 173, 173, 173,
2852 173, 173, 173, 173, 173, 173, 173, 173, 173, 1886,
2853 173, 173, 173, 173, 173, 215, 215, 215, 216, 216,
2854 216, 219, 219, 219, 1788, 220, 220, 220, 223, 223,
2855 223, 215, 1518, 1887, 216, 1889, 1892, 219, 1518, 173,
2856 173, 220, 1518, 1893, 223, 173, 1518, 1896, 173, 864,
2858 864, 864, 1897, 864, 1900, 1788, 864, 1907, 1909, 173,
2859 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
2860 174, 174, 174, 174, 174, 1923, 174, 174, 174, 174,
2861 174, 224, 224, 224, 225, 225, 225, 226, 226, 226,
2862 1894, 227, 227, 227, 228, 228, 228, 224, 1894, 1927,
2863 225, 1895, 1936, 226, 1937, 174, 174, 227, 1945, 1895,
2864 228, 174, 1946, 1950, 174, 881, 881, 881, 1928, 881,
2865 1952, 1964, 881, 1965, 1966, 174, 183, 183, 183, 183,
2866 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
2867 183, 1927, 183, 183, 183, 183, 183, 229, 229, 229,
2869 230, 230, 230, 233, 233, 233, 1967, 234, 234, 234,
2870 341, 1968, 1969, 229, 1928, 1970, 230, 1971, 342, 233,
2871 341, 183, 183, 234, 1308, 1308, 1308, 183, 342, 1333,
2872 1333, 1333, 183, 184, 184, 184, 184, 184, 184, 184,
2873 184, 184, 184, 184, 184, 184, 184, 184, 341, 184,
2874 184, 184, 184, 184, 341, 1972, 342, 341, 658, 658,
2875 658, 1973, 1979, 341, 341, 675, 675, 675, 1980, 342,
2876 681, 681, 681, 342, 1982, 658, 1989, 1990, 184, 184,
2877 1991, 1992, 675, 1993, 184, 1994, 1995, 681, 1997, 184,
2878 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
2880 187, 187, 187, 187, 187, 1998, 187, 187, 187, 187,
2881 187, 686, 686, 686, 698, 698, 698, 707, 707, 707,
2882 709, 709, 709, 724, 724, 724, 2003, 2004, 686, 2006,
2883 2007, 698, 2008, 2009, 707, 187, 187, 709, 2016, 2017,
2884 724, 187, 887, 887, 887, 2018, 887, 2019, 2020, 887,
2885 1344, 1344, 1344, 2021, 2022, 187, 188, 188, 188, 188,
2886 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
2887 188, 2023, 188, 188, 188, 188, 188, 732, 732, 732,
2888 737, 737, 737, 759, 759, 759, 786, 786, 786, 790,
2889 790, 790, 2025, 2046, 732, 2047, 2051, 737, 2052, 2053,
2891 759, 188, 188, 786, 2056, 2041, 790, 188, 892, 892,
2892 892, 2060, 892, 2042, 2061, 892, 1345, 1345, 1345, 2062,
2893 2063, 188, 197, 197, 197, 197, 197, 197, 197, 197,
2894 197, 197, 197, 197, 197, 197, 197, 2041, 197, 197,
2895 197, 197, 197, 808, 808, 808, 809, 809, 809, 2064,
2896 2042, 836, 836, 836, 837, 837, 837, 839, 839, 839,
2897 2065, 808, 1345, 2066, 809, 2067, 2068, 197, 197, 836,
2898 2069, 2071, 837, 197, 839, 2072, 197, 904, 904, 904,
2899 2073, 904, 2078, 2079, 904, 2080, 2082, 197, 198, 198,
2900 198, 198, 198, 198, 198, 198, 198, 198, 198, 198,
2902 198, 198, 198, 809, 198, 198, 198, 198, 198, 843,
2903 843, 843, 2086, 837, 844, 844, 844, 2087, 847, 847,
2904 847, 849, 849, 849, 851, 851, 851, 843, 855, 855,
2905 855, 2090, 844, 198, 198, 847, 2094, 2095, 849, 198,
2906 2097, 851, 198, 914, 914, 914, 855, 914, 2100, 2101,
2907 914, 2102, 2103, 198, 207, 207, 207, 207, 207, 207,
2908 207, 207, 207, 207, 207, 207, 207, 207, 207, 2105,
2909 207, 207, 207, 207, 207, 2108, 2110, 844, 861, 861,
2910 861, 2129, 2133, 862, 862, 862, 2134, 2135, 856, 856,
2911 856, 863, 863, 863, 2136, 2137, 861, 2143, 2144, 207,
2913 207, 862, 1473, 1473, 1473, 2128, 856, 207, 863, 207,
2914 2145, 207, 2146, 2147, 1417, 1417, 1417, 2148, 2129, 207,
2915 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
2916 208, 208, 208, 208, 208, 856, 208, 208, 208, 208,
2917 208, 866, 866, 866, 2128, 2149, 862, 880, 880, 880,
2918 884, 884, 884, 885, 885, 885, 889, 889, 889, 866,
2919 1417, 886, 886, 886, 880, 208, 208, 2150, 884, 2151,
2920 2152, 885, 2130, 208, 889, 208, 2154, 208, 886, 1475,
2921 1475, 1475, 1477, 1477, 1477, 208, 217, 217, 217, 217,
2922 217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
2924 217, 2155, 217, 217, 217, 217, 217, 867, 867, 867,
2925 2156, 890, 890, 890, 2130, 894, 894, 894, 885, 891,
2926 891, 891, 895, 895, 895, 867, 903, 903, 903, 890,
2927 2160, 217, 217, 894, 2166, 2167, 891, 1479, 1479, 1479,
2928 895, 2171, 2174, 903, 867, 917, 917, 917, 2182, 917,
2929 2183, 2184, 917, 2206, 217, 218, 218, 218, 218, 218,
2930 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
2931 2140, 218, 218, 218, 218, 218, 890, 898, 898, 898,
2932 2140, 2207, 895, 2140, 899, 899, 899, 907, 907, 907,
2933 908, 908, 908, 2141, 2206, 898, 913, 913, 913, 2192,
2935 218, 218, 899, 2141, 2208, 907, 2141, 2210, 908, 2192,
2936 932, 932, 932, 913, 932, 2192, 2211, 932, 1482, 1482,
2937 1482, 2212, 2207, 218, 221, 221, 221, 221, 221, 221,
2938 221, 221, 221, 221, 221, 221, 221, 221, 221, 2215,
2939 221, 221, 221, 221, 221, 916, 916, 916, 899, 2216,
2940 908, 918, 918, 918, 926, 926, 926, 927, 927, 927,
2941 2217, 2218, 916, 1486, 1486, 1486, 2219, 2205, 918, 221,
2942 221, 2222, 926, 2217, 2223, 927, 1491, 1491, 1491, 2224,
2943 221, 222, 222, 222, 222, 222, 222, 222, 222, 222,
2944 222, 222, 222, 222, 222, 222, 2205, 222, 222, 222,
2946 222, 222, 931, 931, 931, 933, 933, 933, 2220, 1486,
2947 936, 936, 936, 2225, 927, 937, 937, 937, 2227, 931,
2948 2228, 2220, 933, 1493, 1493, 1493, 222, 222, 936, 1484,
2949 1484, 1484, 2229, 937, 1514, 1514, 1514, 222, 231, 231,
2950 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
2951 231, 231, 231, 2230, 231, 231, 231, 231, 231, 939,
2952 939, 939, 2233, 940, 940, 940, 937, 940, 2235, 1493,
2953 940, 941, 941, 941, 2243, 2193, 939, 942, 942, 942,
2954 944, 944, 944, 231, 231, 2193, 945, 945, 945, 941,
2955 945, 2193, 1484, 945, 231, 942, 2244, 944, 965, 965,
2957 965, 2245, 965, 2249, 2257, 965, 231, 232, 232, 232,
2958 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
2959 232, 232, 2259, 232, 232, 232, 232, 232, 949, 949,
2960 949, 950, 950, 950, 951, 951, 951, 942, 952, 952,
2961 952, 953, 953, 953, 2267, 2268, 949, 2269, 2270, 950,
2962 2271, 951, 232, 232, 2272, 952, 2278, 2281, 953, 954,
2963 954, 954, 2279, 232, 955, 955, 955, 957, 957, 957,
2964 959, 959, 959, 2284, 2285, 232, 274, 954, 2289, 958,
2965 958, 958, 955, 274, 957, 2290, 950, 959, 960, 960,
2966 960, 2291, 274, 274, 2292, 2293, 958, 2279, 2294, 953,
2968 961, 961, 961, 2278, 2295, 960, 2296, 962, 962, 962,
2969 1525, 1525, 1525, 2298, 2299, 964, 964, 964, 961, 2300,
2970 274, 274, 274, 2301, 955, 962, 2302, 274, 274, 958,
2971 274, 274, 964, 2303, 274, 2304, 274, 274, 274, 966,
2972 966, 966, 2305, 958, 962, 2307, 960, 967, 967, 967,
2973 968, 968, 968, 969, 969, 969, 2313, 966, 970, 970,
2974 970, 971, 971, 971, 2317, 967, 2318, 968, 2319, 2320,
2975 969, 972, 972, 972, 2327, 2330, 970, 2332, 2337, 971,
2976 973, 973, 973, 974, 974, 974, 2333, 2332, 972, 975,
2977 975, 975, 976, 976, 976, 2338, 2333, 973, 2335, 2336,
2979 974, 2339, 967, 981, 981, 981, 2340, 975, 2335, 2336,
2980 976, 982, 982, 982, 985, 985, 985, 986, 986, 986,
2981 2341, 981, 987, 987, 987, 991, 991, 991, 2342, 982,
2982 973, 971, 985, 2353, 2354, 986, 988, 988, 988, 987,
2983 988, 2345, 991, 988, 973, 989, 989, 989, 990, 990,
2984 990, 992, 992, 992, 2355, 992, 2356, 2357, 992, 994,
2985 994, 994, 976, 989, 2358, 2359, 990, 995, 995, 995,
2986 1010, 1010, 1010, 2360, 982, 2345, 2363, 994, 2364, 2366,
2987 986, 1011, 1011, 1011, 2367, 995, 2368, 2370, 1010, 1013,
2988 1013, 1013, 1040, 1040, 1040, 1041, 1041, 1041, 2378, 1011,
2990 1042, 1042, 1042, 1044, 1044, 1044, 2379, 1013, 990, 1040,
2991 1045, 1045, 1045, 1041, 2380, 1046, 1046, 1046, 1042, 1046,
2992 2382, 1044, 1046, 1049, 1049, 1049, 2388, 1045, 2389, 2390,
2993 995, 1051, 1051, 1051, 2391, 2392, 1013, 1052, 1052, 1052,
2994 1049, 1054, 1054, 1054, 1056, 1056, 1056, 2393, 1056, 1051,
2995 2394, 1056, 1044, 2395, 2396, 1052, 1059, 1059, 1059, 1054,
2996 1060, 1060, 1060, 2397, 1060, 2399, 2400, 1060, 1061, 1061,
2997 1061, 2414, 2405, 1059, 1062, 1062, 1062, 1063, 1063, 1063,
2998 2415, 1063, 2416, 1049, 1063, 1061, 2417, 2418, 1054, 2419,
2999 2420, 1062, 1065, 1065, 1065, 1067, 1067, 1067, 1068, 1068,
3001 1068, 1070, 1070, 1070, 1073, 1073, 1073, 2421, 2425, 1065,
3002 1075, 1075, 1075, 1067, 2405, 2426, 1068, 2427, 2428, 1070,
3003 2429, 1073, 1076, 1076, 1076, 1078, 1078, 1078, 1075, 1079,
3004 1079, 1079, 2430, 1079, 2435, 2436, 1079, 1083, 1083, 1083,
3005 1076, 2437, 2440, 1078, 1084, 1084, 1084, 1086, 1086, 1086,
3006 1098, 1098, 1098, 2445, 1098, 1083, 2446, 1098, 2447, 2448,
3007 1070, 2449, 1084, 2450, 2451, 1086, 1102, 1102, 1102, 1103,
3008 1103, 1103, 1078, 1104, 1104, 1104, 1106, 1106, 1106, 1111,
3009 1111, 1111, 2452, 1102, 1112, 1112, 1112, 1103, 1107, 1107,
3010 1107, 1104, 1107, 2453, 1106, 1107, 2454, 1111, 1114, 1114,
3012 1114, 2455, 1112, 1115, 1115, 1115, 2456, 1115, 2464, 2467,
3013 1115, 1118, 1118, 1118, 2458, 2468, 1114, 1119, 1119, 1119,
3014 1120, 1120, 1120, 1122, 1122, 1122, 2460, 2471, 1118, 1123,
3015 1123, 1123, 1124, 1124, 1124, 1119, 1106, 2461, 1120, 2473,
3016 2460, 1122, 2474, 1125, 1125, 1125, 1123, 2476, 2461, 1124,
3017 1126, 1126, 1126, 1128, 1128, 1128, 2477, 2480, 1114, 2458,
3018 1124, 1125, 1131, 1131, 1131, 1132, 1132, 1132, 1126, 1132,
3019 2481, 1128, 1132, 1137, 1137, 1137, 1138, 1138, 1138, 1131,
3020 1140, 1140, 1140, 1147, 1147, 1147, 2482, 1147, 2486, 1122,
3021 1147, 1137, 2484, 2485, 1138, 1150, 1150, 1150, 1140, 1151,
3023 1151, 1151, 2494, 1151, 2484, 2485, 1151, 1154, 1154, 1154,
3024 2496, 2498, 1150, 1155, 1155, 1155, 2500, 1155, 1128, 2510,
3025 1155, 1163, 1163, 1163, 1154, 1164, 1164, 1164, 1166, 1166,
3026 1166, 1171, 1171, 1171, 2511, 1171, 2508, 2507, 1171, 1163,
3027 1174, 1174, 1174, 1164, 1140, 2511, 1166, 1175, 1175, 1175,
3028 2508, 1175, 2509, 2509, 1175, 2512, 2514, 1174, 1178, 1178,
3029 1178, 1179, 1179, 1179, 1181, 1181, 1181, 1183, 1183, 1183,
3030 2515, 1183, 2516, 2517, 1183, 2526, 1178, 2507, 2528, 1179,
3031 2491, 2492, 1181, 1186, 1186, 1186, 1187, 1187, 1187, 1189,
3032 1189, 1189, 2491, 2492, 1166, 1191, 1191, 1191, 2531, 1191,
3034 2533, 1186, 1191, 2525, 1187, 2539, 2540, 1189, 1197, 1197,
3035 1197, 1198, 1198, 1198, 2541, 1181, 1200, 1200, 1200, 1201,
3036 1201, 1201, 2525, 1202, 1202, 1202, 1197, 1202, 2543, 1198,
3037 1202, 1203, 1203, 1203, 1200, 2544, 1201, 1204, 1204, 1204,
3038 2545, 1204, 2546, 2527, 1204, 1206, 1206, 1206, 1203, 1207,
3039 1207, 1207, 1209, 1209, 1209, 1189, 1211, 1211, 1211, 1215,
3040 1215, 1215, 2527, 1206, 1212, 1212, 1212, 1207, 1212, 2553,
3041 1209, 1212, 2554, 1211, 2555, 1200, 1215, 1216, 1216, 1216,
3042 2530, 1216, 2556, 2532, 1216, 1218, 1218, 1218, 1219, 1219,
3043 1219, 1221, 1221, 1221, 1223, 1223, 1223, 2557, 1223, 2530,
3045 2558, 1223, 2532, 1218, 2561, 2562, 1219, 2563, 2564, 1221,
3046 1226, 1226, 1226, 1227, 1227, 1227, 2565, 2566, 1209, 1229,
3047 1229, 1229, 1230, 1230, 1230, 1231, 1231, 1231, 1226, 1231,
3048 2568, 1227, 1231, 1232, 1232, 1232, 2570, 1229, 2572, 1230,
3049 1233, 1233, 1233, 2582, 1233, 2583, 2584, 1233, 2585, 2580,
3050 1232, 1234, 1234, 1234, 1221, 1235, 1235, 1235, 1237, 1237,
3051 1237, 2580, 1238, 1238, 1238, 1242, 1242, 1242, 2581, 1234,
3052 1239, 1239, 1239, 1235, 1239, 2586, 1237, 1239, 1229, 1238,
3053 2581, 2587, 1242, 1243, 1243, 1243, 2591, 1243, 2592, 2593,
3054 1243, 1244, 1244, 1244, 1245, 1245, 1245, 1247, 1247, 1247,
3056 1249, 1249, 1249, 1252, 1252, 1252, 1253, 1253, 1253, 1244,
3057 2594, 2595, 1245, 2596, 2599, 1247, 2600, 1249, 2601, 1237,
3058 2597, 1252, 2602, 2603, 1253, 1255, 1255, 1255, 1258, 1258,
3059 1258, 1259, 1259, 1259, 1261, 1261, 1261, 1262, 1262, 1262,
3060 2604, 1262, 2605, 1255, 1262, 2597, 1258, 2606, 2607, 1259,
3061 2608, 2609, 1261, 1265, 1265, 1265, 2610, 2611, 1247, 1266,
3062 1266, 1266, 1268, 1268, 1268, 1269, 1269, 1269, 2612, 1269,
3063 2613, 1265, 1269, 1273, 1273, 1273, 2614, 1266, 2615, 2616,
3064 1268, 1274, 1274, 1274, 2620, 1255, 2621, 1261, 1276, 1276,
3065 1276, 1273, 1278, 1278, 1278, 1285, 1285, 1285, 2622, 1274,
3067 1311, 1311, 1311, 1526, 1526, 1526, 1276, 1314, 1314, 1314,
3068 1278, 1278, 2617, 1285, 1313, 1313, 1313, 1311, 1312, 1312,
3069 1312, 1268, 1312, 2623, 1314, 1312, 1315, 1315, 1315, 2624,
3070 1315, 2617, 1313, 1315, 1318, 1318, 1318, 1320, 1320, 1320,
3071 2625, 1320, 2626, 2627, 1320, 1323, 1323, 1323, 1276, 1324,
3072 1324, 1324, 1318, 1324, 2628, 2629, 1324, 1325, 1325, 1325,
3073 1285, 1325, 1323, 2630, 1325, 1329, 1329, 1329, 1330, 1330,
3074 1330, 1313, 1330, 2631, 2632, 1330, 1332, 1332, 1332, 1335,
3075 1335, 1335, 1329, 1318, 1336, 1336, 1336, 2633, 1336, 2634,
3076 2635, 1336, 2637, 2636, 1332, 2638, 1335, 1337, 1337, 1337,
3078 1338, 1338, 1338, 1340, 1340, 1340, 1353, 1353, 1353, 2639,
3079 1354, 1354, 1354, 2636, 1337, 1355, 1355, 1355, 1338, 1355,
3080 2640, 1340, 1355, 1353, 2641, 2642, 1332, 1354, 1356, 1356,
3081 1356, 2643, 1358, 1358, 1358, 1359, 1359, 1359, 1360, 1360,
3082 1360, 2644, 1360, 2645, 2646, 1360, 1356, 2647, 2648, 1338,
3083 1358, 2649, 1359, 1361, 1361, 1361, 1362, 1362, 1362, 1363,
3084 1363, 1363, 2650, 1363, 2651, 2652, 1363, 1365, 1365, 1365,
3085 2654, 1361, 2653, 1362, 2655, 1368, 1368, 1368, 2653, 1369,
3086 1369, 1369, 2656, 1369, 2657, 1365, 1369, 1370, 1370, 1370,
3087 2658, 1356, 1368, 2659, 2661, 1358, 1371, 1371, 1371, 1372,
3089 1372, 1372, 2662, 2664, 1370, 1376, 1376, 1376, 1379, 1379,
3090 1379, 2665, 1361, 1371, 1380, 1380, 1380, 1372, 1380, 2667,
3091 2668, 1380, 1376, 2671, 2672, 1379, 2673, 1365, 1381, 1381,
3092 1381, 2674, 1381, 2676, 2678, 1381, 1384, 1384, 1384, 1391,
3093 1391, 1391, 1371, 1393, 1393, 1393, 2680, 1396, 1396, 1396,
3094 2682, 1396, 2684, 1384, 1396, 2685, 2686, 1391, 2687, 2688,
3095 1393, 1399, 1399, 1399, 1372, 1401, 1401, 1401, 1403, 1403,
3096 1403, 1407, 1407, 1407, 1408, 1408, 1408, 2689, 1399, 2690,
3097 1409, 1409, 1409, 1401, 1409, 2691, 1403, 1409, 1407, 1412,
3098 1412, 1412, 1408, 1412, 2670, 2693, 1412, 1416, 1416, 1416,
3100 1418, 1418, 1418, 1391, 1418, 2695, 2697, 1418, 2670, 1423,
3101 1423, 1423, 2698, 1423, 2699, 1416, 1423, 1407, 1427, 1427,
3102 1427, 1429, 1429, 1429, 2700, 1430, 1430, 1430, 1401, 1430,
3103 1408, 2715, 1430, 1403, 2735, 2715, 1427, 2709, 2701, 1429,
3104 1433, 1433, 1433, 2735, 1433, 2736, 2702, 1433, 1436, 1436,
3105 1436, 1437, 1437, 1437, 2736, 1437, 1472, 2723, 1437, 1447,
3106 1447, 1447, 1416, 1442, 1442, 1442, 1436, 1442, 1471, 2713,
3107 1442, 1445, 1445, 1445, 2701, 2721, 1447, 1429, 1427, 1448,
3108 1448, 1448, 2702, 1448, 2709, 2714, 1448, 2710, 2711, 1445,
3109 1451, 1451, 1451, 2712, 2723, 1436, 1453, 1453, 1453, 1454,
3111 1454, 1454, 1455, 1455, 1455, 1456, 1456, 1456, 1451, 1457,
3112 1457, 1457, 2713, 1453, 1467, 1467, 1467, 1454, 1445, 2759,
3113 1455, 2721, 1456, 1460, 1460, 1460, 2722, 1457, 2714, 1494,
3114 1494, 1494, 1467, 1494, 2710, 2711, 1494, 2739, 2725, 1451,
3115 2712, 1460, 1497, 1497, 1497, 1498, 1498, 1498, 2759, 1498,
3116 2717, 2718, 1498, 2719, 1455, 1503, 1503, 1503, 2717, 2718,
3117 1497, 2719, 1513, 1513, 1513, 1454, 1467, 1527, 1527, 1527,
3118 1457, 2739, 2722, 1503, 1460, 1505, 1505, 1505, 2725, 1505,
3119 1513, 2720, 1505, 2716, 1509, 1509, 1509, 2716, 1509, 2720,
3120 1460, 1509, 1516, 1516, 1516, 1470, 1516, 2724, 2753, 1516,
3122 1519, 1519, 1519, 1520, 1520, 1520, 1503, 1520, 1497, 2731,
3123 1520, 1521, 1521, 1521, 1531, 1531, 1531, 1519, 1532, 1532,
3124 1532, 2726, 1513, 1534, 1534, 1534, 1539, 1539, 1539, 1521,
3125 1527, 1535, 1535, 1535, 2724, 1535, 2727, 2728, 1535, 2753,
3126 1534, 1536, 1536, 1536, 1539, 1536, 2731, 2729, 1536, 1540,
3127 1540, 1540, 1541, 1541, 1541, 2733, 1542, 1542, 1542, 1469,
3128 1542, 2726, 1521, 1542, 2730, 2741, 1540, 1545, 1545, 1545,
3129 1541, 2727, 2728, 1539, 1549, 1549, 1549, 1531, 1550, 1550,
3130 1550, 1532, 1546, 1546, 1546, 1545, 1546, 2733, 2734, 1546,
3131 2732, 1549, 2729, 1553, 1553, 1553, 1550, 1553, 2742, 1541,
3133 1553, 1556, 1556, 1556, 1557, 1557, 1557, 2741, 1557, 2730,
3134 2754, 1557, 1558, 1558, 1558, 1559, 1559, 1559, 1556, 1559,
3135 2734, 2749, 1559, 2767, 1561, 1561, 1561, 2732, 2737, 1558,
3136 2749, 2767, 1545, 1562, 1562, 1562, 1565, 1565, 1565, 2738,
3137 2742, 1550, 1561, 1566, 1566, 1566, 1468, 1566, 2791, 1466,
3138 1566, 2754, 2751, 1565, 1567, 1567, 1567, 1569, 1569, 1569,
3139 2745, 1569, 2791, 2737, 1569, 1572, 1572, 1572, 1573, 1573,
3140 1573, 1567, 1573, 2752, 2738, 1573, 1574, 1574, 1574, 1579,
3141 1579, 1579, 1572, 1580, 1580, 1580, 1582, 1582, 1582, 2751,
3142 1583, 1583, 1583, 1574, 1583, 2745, 1579, 1583, 1584, 1584,
3144 1584, 1580, 2743, 1582, 1586, 1586, 1586, 1587, 1587, 1587,
3145 2752, 1587, 2740, 2773, 1587, 1584, 1589, 1589, 1589, 2747,
3146 2744, 1586, 1591, 1591, 1591, 1595, 1595, 1595, 1596, 1596,
3147 1596, 2774, 1596, 2757, 1589, 1596, 1598, 1598, 1598, 2746,
3148 1591, 1465, 1595, 1600, 1600, 1600, 2740, 2743, 1580, 1602,
3149 1602, 1602, 2747, 2773, 1598, 1603, 1603, 1603, 1604, 1604,
3150 1604, 1600, 1605, 1605, 1605, 2744, 1602, 1607, 1607, 1607,
3151 2757, 2774, 1603, 1591, 2746, 1604, 2748, 1608, 1608, 1608,
3152 1605, 1609, 1609, 1609, 2750, 1607, 1610, 1610, 1610, 1611,
3153 1611, 1611, 2758, 2750, 1600, 1608, 1462, 2760, 1609, 1618,
3155 1618, 1618, 2763, 1610, 1613, 1613, 1613, 1611, 1613, 2748,
3156 1459, 1613, 1452, 1607, 1620, 1620, 1620, 1618, 1621, 1621,
3157 1621, 1604, 1621, 2761, 1450, 1621, 2760, 2755, 1605, 2758,
3158 2756, 1620, 2761, 1622, 1622, 1622, 2763, 1623, 1623, 1623,
3159 2768, 1608, 1624, 1624, 1624, 1625, 1625, 1625, 2768, 1625,
3160 1618, 1622, 1625, 1611, 1449, 1623, 1626, 1626, 1626, 1624,
3161 1632, 1632, 1632, 1633, 1633, 1633, 1638, 1638, 1638, 1641,
3162 1641, 1641, 2755, 2765, 1626, 2756, 2766, 1632, 1645, 1645,
3163 1645, 1633, 1646, 1646, 1646, 1647, 1647, 1647, 1649, 1649,
3164 1649, 1622, 1623, 1651, 1651, 1651, 1652, 1652, 1652, 1656,
3166 1656, 1656, 1658, 1658, 1658, 2769, 1661, 1661, 1661, 1663,
3167 1663, 1663, 1665, 1665, 1665, 1666, 1666, 1666, 2765, 2775,
3168 1658, 2766, 2770, 1633, 1661, 2771, 1663, 1675, 1675, 1675,
3169 1665, 1675, 1666, 2787, 1675, 1678, 1678, 1678, 1679, 1679,
3170 1679, 1682, 1682, 1682, 1683, 1683, 1683, 1687, 1687, 1687,
3171 2762, 2769, 1658, 1678, 2775, 1679, 1688, 1688, 1688, 2762,
3172 1688, 2764, 2771, 1688, 1687, 1691, 1691, 1691, 2770, 2781,
3173 1665, 1692, 1692, 1692, 1446, 1693, 1693, 1693, 2772, 1693,
3174 2787, 1678, 1693, 1691, 1694, 1694, 1694, 2779, 1692, 1695,
3175 1695, 1695, 1696, 1696, 1696, 2764, 1697, 1697, 1697, 2783,
3177 1697, 2781, 1694, 1697, 1698, 1698, 1698, 1695, 2783, 1696,
3178 1701, 1701, 1701, 1441, 1701, 2772, 1440, 1701, 1691, 1704,
3179 1704, 1704, 1698, 1704, 2779, 2776, 1704, 1708, 1708, 1708,
3180 1710, 1710, 1710, 2780, 1713, 1713, 1713, 1694, 1713, 2782,
3181 2777, 1713, 1716, 1716, 1716, 1708, 1717, 1717, 1717, 1428,
3182 1717, 1698, 1426, 1717, 1719, 1719, 1719, 2778, 1719, 1716,
3183 2776, 1719, 1722, 1722, 1722, 1723, 1723, 1723, 2785, 1723,
3184 2780, 2782, 1723, 1724, 1724, 1724, 1728, 1728, 1728, 1722,
3185 1729, 1729, 1729, 2784, 1729, 2777, 1422, 1729, 2786, 1421,
3186 1724, 2789, 2784, 1728, 1730, 1730, 1730, 1732, 1732, 1732,
3188 2785, 1732, 2778, 1415, 1732, 1735, 1735, 1735, 2790, 1736,
3189 1736, 1736, 1730, 1736, 2788, 1406, 1736, 1738, 1738, 1738,
3190 2786, 1738, 1735, 2789, 1738, 1742, 1742, 1742, 1745, 1745,
3191 1745, 1747, 1747, 1747, 1749, 1749, 1749, 1405, 1749, 1404,
3192 2790, 1749, 1402, 1742, 1400, 1730, 1745, 1395, 1747, 1753,
3193 1753, 1753, 1756, 1756, 1756, 1758, 1758, 1758, 1759, 1759,
3194 1759, 2788, 1759, 1394, 1392, 1759, 1390, 1753, 1389, 1388,
3195 1756, 1387, 1758, 1760, 1760, 1760, 1386, 1747, 1761, 1761,
3196 1761, 1385, 1761, 1378, 1377, 1761, 1763, 1763, 1763, 1375,
3197 1760, 1745, 1765, 1765, 1765, 1766, 1766, 1766, 1767, 1767,
3199 1767, 1768, 1768, 1768, 1763, 1768, 1374, 1373, 1768, 1367,
3200 1765, 2792, 1366, 1766, 1364, 1767, 1769, 1769, 1769, 1770,
3201 1770, 1770, 2792, 1770, 1357, 1352, 1770, 1771, 1771, 1771,
3202 1775, 1775, 1775, 1769, 1351, 1777, 1777, 1777, 1350, 1777,
3203 1349, 1765, 1777, 1348, 1347, 1771, 1346, 1343, 1775, 1342,
3204 1339, 1763, 1780, 1780, 1780, 1781, 1781, 1781, 1334, 1766,
3205 1782, 1782, 1782, 1331, 1782, 1328, 1319, 1782, 1317, 1316,
3206 1780, 1310, 1309, 1781, 1785, 1785, 1785, 1307, 1791, 1791,
3207 1791, 1792, 1792, 1792, 1306, 1792, 1305, 1304, 1792, 1303,
3208 1302, 1771, 1785, 1301, 1775, 1791, 1793, 1793, 1793, 1794,
3210 1794, 1794, 1300, 1780, 1798, 1798, 1798, 1298, 1781, 1799,
3211 1799, 1799, 1297, 1295, 1793, 1800, 1800, 1800, 1804, 1804,
3212 1804, 1805, 1805, 1805, 1806, 1806, 1806, 1807, 1807, 1807,
3213 1809, 1809, 1809, 1810, 1810, 1810, 1811, 1811, 1811, 1812,
3214 1812, 1812, 1813, 1813, 1813, 1815, 1815, 1815, 1818, 1818,
3215 1818, 1821, 1821, 1821, 1822, 1822, 1822, 1294, 1822, 1793,
3216 1292, 1822, 1290, 1815, 1289, 1288, 1818, 1287, 1821, 1824,
3217 1824, 1824, 1286, 1807, 1825, 1825, 1825, 1826, 1826, 1826,
3218 1284, 1826, 1283, 1282, 1826, 1281, 1272, 1824, 1837, 1837,
3219 1837, 1825, 1838, 1838, 1838, 1257, 1815, 1839, 1839, 1839,
3221 1256, 1839, 1251, 1250, 1839, 1248, 1837, 1241, 1240, 1838,
3222 1840, 1840, 1840, 1843, 1843, 1843, 1844, 1844, 1844, 1845,
3223 1845, 1845, 1846, 1846, 1846, 1222, 1846, 1217, 1214, 1846,
3224 1847, 1847, 1847, 1851, 1851, 1851, 1845, 1837, 1848, 1848,
3225 1848, 1213, 1848, 1210, 1205, 1848, 1196, 1195, 1847, 1194,
3226 1190, 1851, 1852, 1852, 1852, 1182, 1854, 1854, 1854, 1177,
3227 1854, 1176, 1844, 1854, 1857, 1857, 1857, 1865, 1865, 1865,
3228 1852, 1865, 1170, 1169, 1865, 1168, 1869, 1869, 1869, 1167,
3229 1869, 1847, 1857, 1869, 1851, 1872, 1872, 1872, 1873, 1873,
3230 1873, 1162, 1873, 1161, 1160, 1873, 1877, 1877, 1877, 1159,
3232 1877, 1158, 1872, 1877, 1880, 1880, 1880, 1882, 1882, 1882,
3233 1157, 1882, 1156, 1146, 1882, 1145, 1144, 1857, 1888, 1888,
3234 1888, 1143, 1880, 1890, 1890, 1890, 1891, 1891, 1891, 1142,
3235 1891, 1141, 1136, 1891, 1135, 1130, 1888, 1898, 1898, 1898,
3236 1890, 1901, 1901, 1901, 1129, 1901, 1110, 1101, 1901, 1904,
3237 1904, 1904, 1097, 1904, 1096, 1898, 1904, 1908, 1908, 1908,
3238 1910, 1910, 1910, 1911, 1911, 1911, 1095, 1880, 1094, 1912,
3239 1912, 1912, 1093, 1912, 1092, 1908, 1912, 1091, 1910, 1090,
3240 1089, 1911, 1915, 1915, 1915, 1088, 1915, 1087, 1082, 1915,
3241 1074, 1918, 1918, 1918, 1072, 1919, 1919, 1919, 1066, 1911,
3243 1920, 1920, 1920, 1921, 1921, 1921, 1064, 1055, 1908, 1918,
3244 1050, 1918, 1919, 1922, 1922, 1922, 1039, 1920, 1037, 1036,
3245 1921, 1924, 1924, 1924, 1035, 1910, 1925, 1925, 1925, 1033,
3246 1032, 1922, 1926, 1926, 1926, 1929, 1929, 1929, 1031, 1924,
3247 1030, 1930, 1930, 1930, 1925, 1930, 1029, 1028, 1930, 1026,
3248 1926, 1920, 1933, 1933, 1933, 1934, 1934, 1934, 1935, 1935,
3249 1935, 1921, 1938, 1938, 1938, 1939, 1939, 1939, 1025, 1024,
3250 1933, 1940, 1940, 1940, 1941, 1941, 1941, 1922, 1023, 1022,
3251 1924, 1942, 1942, 1942, 1943, 1943, 1943, 1944, 1944, 1944,
3252 1947, 1947, 1947, 1948, 1948, 1948, 1949, 1949, 1949, 1951,
3254 1951, 1951, 1954, 1954, 1954, 1955, 1955, 1955, 1021, 1955,
3255 1933, 1020, 1955, 1958, 1958, 1958, 1019, 1951, 1018, 1954,
3256 1959, 1959, 1959, 1017, 1961, 1961, 1961, 1016, 1961, 1015,
3257 1958, 1961, 1974, 1974, 1974, 1975, 1975, 1975, 1959, 1975,
3258 1009, 1008, 1975, 1978, 1978, 1978, 1981, 1981, 1981, 1007,
3259 1974, 1983, 1983, 1983, 1004, 1983, 1003, 1002, 1983, 1986,
3260 1986, 1986, 1987, 1987, 1987, 1988, 1988, 1988, 1996, 1996,
3261 1996, 1000, 1999, 1999, 1999, 996, 1999, 1986, 1958, 1999,
3262 1987, 993, 984, 1988, 2002, 2002, 2002, 983, 2005, 2005,
3263 2005, 980, 1974, 2010, 2010, 2010, 2012, 2012, 2012, 979,
3265 978, 2002, 2024, 2024, 2024, 1986, 2005, 977, 2013, 2013,
3266 2013, 2010, 2013, 2012, 963, 2013, 1988, 2026, 2026, 2026,
3267 2027, 2027, 2027, 2028, 2028, 2028, 2029, 2029, 2029, 2030,
3268 2030, 2030, 2031, 2031, 2031, 2026, 956, 2027, 2033, 2033,
3269 2033, 2028, 2012, 948, 2029, 947, 946, 2030, 943, 2031,
3270 2032, 2032, 2032, 938, 2032, 2033, 935, 2032, 2034, 2034,
3271 2034, 2035, 2035, 2035, 934, 930, 2030, 2036, 2036, 2036,
3272 2037, 2037, 2037, 928, 925, 2034, 2038, 2038, 2038, 2035,
3273 924, 923, 2028, 2040, 2040, 2040, 2029, 922, 2037, 2043,
3274 2043, 2043, 921, 920, 2038, 2044, 2044, 2044, 2045, 2045,
3276 2045, 2040, 2048, 2048, 2048, 2049, 2049, 2049, 919, 2034,
3277 2050, 2050, 2050, 2044, 2054, 2054, 2054, 2057, 2057, 2057,
3278 2058, 2058, 2058, 915, 2058, 911, 910, 2058, 2059, 2059,
3279 2059, 909, 2054, 906, 2057, 2037, 2070, 2070, 2070, 2074,
3280 2074, 2074, 905, 902, 2040, 2059, 2075, 2075, 2075, 2077,
3281 2077, 2077, 901, 900, 2070, 897, 896, 2074, 2084, 2084,
3282 2084, 2085, 2085, 2085, 2075, 893, 888, 2077, 2088, 2088,
3283 2088, 883, 2089, 2089, 2089, 2084, 2089, 882, 879, 2089,
3284 2091, 2091, 2091, 2059, 878, 2088, 877, 2092, 2092, 2092,
3285 2096, 2096, 2096, 876, 875, 2070, 873, 2091, 2098, 2098,
3287 2098, 2107, 2107, 2107, 2074, 2092, 872, 2096, 871, 2099,
3288 2099, 2099, 870, 2099, 869, 2098, 2099, 865, 2107, 2109,
3289 2109, 2109, 2111, 2111, 2111, 2113, 2113, 2113, 2114, 2114,
3290 2114, 860, 2114, 859, 858, 2114, 2115, 2115, 2115, 857,
3291 2111, 854, 2113, 2116, 2116, 2116, 853, 2117, 2117, 2117,
3292 852, 2118, 2118, 2118, 2115, 2118, 850, 846, 2118, 842,
3293 841, 2116, 2121, 2121, 2121, 2117, 2122, 2122, 2122, 838,
3294 2122, 835, 834, 2122, 2123, 2123, 2123, 833, 832, 2121,
3295 2124, 2124, 2124, 2126, 2126, 2126, 2127, 2127, 2127, 831,
3296 830, 2123, 828, 2131, 2131, 2131, 827, 826, 2124, 2138,
3298 2138, 2138, 825, 824, 2127, 2142, 2142, 2142, 823, 2116,
3299 2117, 2131, 822, 2139, 2139, 2139, 2138, 2139, 821, 820,
3300 2139, 819, 2142, 2153, 2153, 2153, 2157, 2157, 2157, 2158,
3301 2158, 2158, 2161, 2161, 2161, 2164, 2164, 2164, 2165, 2165,
3302 2165, 2153, 2165, 818, 2157, 2165, 817, 2158, 816, 2161,
3303 815, 814, 2164, 2168, 2168, 2168, 813, 2168, 812, 811,
3304 2168, 2172, 2172, 2172, 807, 2142, 2173, 2173, 2173, 806,
3305 2173, 804, 803, 2173, 2175, 2175, 2175, 802, 2172, 2209,
3306 2209, 2209, 2153, 2176, 2176, 2176, 2177, 2177, 2177, 801,
3307 2177, 2175, 800, 2177, 796, 794, 2157, 2178, 2178, 2178,
3309 2176, 2179, 2179, 2179, 793, 2179, 792, 791, 2179, 2187,
3310 2187, 2187, 787, 783, 2178, 2188, 2188, 2188, 782, 2188,
3311 779, 778, 2188, 2189, 2189, 2189, 2187, 2190, 2190, 2190,
3312 2191, 2191, 2191, 777, 2191, 776, 775, 2191, 774, 771,
3313 2189, 2194, 2194, 2194, 2190, 2196, 2196, 2196, 2197, 2197,
3314 2197, 2198, 2198, 2198, 770, 2198, 769, 768, 2198, 2194,
3315 2201, 2201, 2201, 2196, 765, 764, 2197, 2202, 2202, 2202,
3316 763, 2202, 760, 758, 2202, 755, 754, 2201, 2203, 2203,
3317 2203, 2213, 2213, 2213, 2214, 2214, 2214, 753, 2214, 752,
3318 751, 2214, 2221, 2221, 2221, 748, 2203, 747, 2213, 2232,
3320 2232, 2232, 2234, 2234, 2234, 2236, 2236, 2236, 2197, 2221,
3321 2196, 2237, 2237, 2237, 2238, 2238, 2238, 2232, 2239, 2239,
3322 2239, 746, 2239, 2236, 745, 2239, 744, 741, 2237, 740,
3323 739, 2238, 2240, 2240, 2240, 738, 2240, 736, 733, 2240,
3324 2246, 2246, 2246, 731, 2246, 728, 727, 2246, 726, 725,
3325 2232, 2221, 2250, 2250, 2250, 723, 722, 2237, 2251, 2251,
3326 2251, 721, 2251, 718, 717, 2251, 2236, 716, 715, 2250,
3327 2252, 2252, 2252, 714, 2252, 713, 712, 2252, 2255, 2255,
3328 2255, 2256, 2256, 2256, 711, 2256, 710, 708, 2256, 2258,
3329 2258, 2258, 2260, 2260, 2260, 2255, 2260, 706, 705, 2260,
3331 2263, 2263, 2263, 2264, 2264, 2264, 2258, 2264, 701, 700,
3332 2264, 2265, 2265, 2265, 2266, 2266, 2266, 2263, 2266, 699,
3333 696, 2266, 2273, 2273, 2273, 2274, 2274, 2274, 2265, 2275,
3334 2275, 2275, 693, 2275, 692, 691, 2275, 2280, 2280, 2280,
3335 2273, 688, 687, 2274, 2282, 2282, 2282, 2283, 2283, 2283,
3336 2297, 2297, 2297, 683, 2280, 2280, 2286, 2286, 2286, 682,
3337 2286, 678, 677, 2286, 2306, 2306, 2306, 2297, 2308, 2308,
3338 2308, 676, 674, 2273, 2309, 2309, 2309, 2310, 2310, 2310,
3339 669, 668, 2306, 2311, 2311, 2311, 2312, 2312, 2312, 667,
3340 2312, 2274, 666, 2312, 664, 2310, 663, 2314, 2314, 2314,
3342 2311, 2314, 662, 661, 2314, 2321, 2321, 2321, 660, 2321,
3343 659, 655, 2321, 2306, 2324, 2324, 2324, 654, 2324, 653,
3344 652, 2324, 2328, 2328, 2328, 2329, 2329, 2329, 2310, 2329,
3345 648, 647, 2329, 2331, 2331, 2331, 646, 2331, 645, 2328,
3346 2331, 2334, 2334, 2334, 644, 2334, 643, 642, 2334, 2343,
3347 2343, 2343, 2344, 2344, 2344, 2346, 2346, 2346, 2347, 2347,
3348 2347, 2348, 2348, 2348, 640, 2348, 637, 2343, 2348, 636,
3349 2344, 634, 2346, 2346, 632, 2347, 2347, 629, 628, 2348,
3350 2349, 2349, 2349, 2350, 2350, 2350, 2351, 2351, 2351, 2352,
3351 2352, 2352, 2361, 2361, 2361, 2362, 2362, 2362, 622, 2362,
3353 620, 618, 2362, 2371, 2371, 2371, 2372, 2372, 2372, 2361,
3354 2373, 2373, 2373, 2374, 2374, 2374, 615, 2344, 2375, 2375,
3355 2375, 2371, 2375, 614, 610, 2375, 2381, 2381, 2381, 609,
3356 608, 2374, 2383, 2383, 2383, 2384, 2384, 2384, 606, 2384,
3357 605, 604, 2384, 2381, 2387, 2387, 2387, 603, 602, 2383,
3358 599, 2402, 2402, 2402, 2404, 2404, 2404, 2406, 2406, 2406,
3359 598, 2387, 597, 2407, 2407, 2407, 596, 2407, 2371, 2402,
3360 2407, 595, 2404, 589, 2406, 2406, 2408, 2408, 2408, 588,
3361 2408, 2407, 586, 2408, 2411, 2411, 2411, 2412, 2412, 2412,
3362 2413, 2413, 2413, 580, 2408, 2422, 2422, 2422, 579, 2422,
3364 575, 568, 2422, 564, 558, 2404, 2409, 2409, 2409, 2409,
3365 2409, 2409, 2409, 2409, 2409, 554, 550, 2409, 2431, 2431,
3366 2431, 546, 2409, 2409, 2409, 2409, 2409, 2432, 2432, 2432,
3367 2433, 2433, 2433, 2438, 2438, 2438, 2431, 2439, 2439, 2439,
3368 545, 2439, 544, 543, 2439, 2441, 2441, 2441, 2433, 539,
3369 2438, 2409, 2409, 2410, 2410, 2410, 2410, 2410, 2410, 2410,
3370 2410, 2410, 2441, 535, 2410, 2443, 2443, 2443, 532, 2410,
3371 2410, 2410, 2410, 2410, 2442, 2442, 2442, 531, 2442, 530,
3372 526, 2442, 2443, 2444, 2444, 2444, 522, 2444, 519, 518,
3373 2444, 2457, 2457, 2457, 2478, 2478, 2478, 514, 2410, 2410,
3375 2459, 2459, 2459, 508, 2459, 507, 503, 2459, 499, 2457,
3376 495, 494, 2478, 2505, 2505, 2505, 490, 487, 2459, 2462,
3377 2462, 2462, 2462, 2462, 2462, 2462, 2462, 2462, 486, 481,
3378 2462, 2505, 477, 469, 468, 2462, 2462, 2462, 2462, 2462,
3379 2483, 2483, 2483, 467, 2483, 463, 457, 2483, 2487, 2487,
3380 2487, 456, 2487, 452, 446, 2487, 2490, 2490, 2490, 445,
3381 2490, 444, 443, 2490, 2462, 2462, 2463, 2463, 2463, 2463,
3382 2463, 2463, 2463, 2463, 2463, 442, 441, 2463, 2513, 2513,
3383 2513, 440, 2463, 2463, 2463, 2463, 2463, 2522, 2522, 2522,
3384 2523, 2523, 2523, 2524, 2524, 2524, 2513, 2513, 2529, 2529,
3386 2529, 2538, 2538, 2538, 2522, 436, 427, 2523, 426, 425,
3387 2524, 2463, 2463, 423, 419, 2529, 2542, 2542, 2542, 2538,
3388 2547, 2547, 2547, 2548, 2548, 2548, 415, 2548, 411, 410,
3389 2548, 2549, 2549, 2549, 2542, 409, 408, 2547, 2550, 2550,
3390 2550, 407, 2550, 403, 397, 2550, 396, 392, 2549, 2551,
3391 2551, 2551, 2552, 2552, 2552, 386, 2552, 385, 381, 2552,
3392 2559, 2559, 2559, 2567, 2567, 2567, 2551, 2542, 2560, 2560,
3393 2560, 374, 2560, 373, 369, 2560, 362, 2559, 2573, 2573,
3394 2573, 2567, 2573, 361, 360, 2573, 2576, 2576, 2576, 359,
3395 2576, 355, 351, 2576, 2579, 2579, 2579, 346, 2579, 338,
3397 2567, 2579, 2588, 2588, 2588, 337, 2588, 333, 327, 2588,
3398 2683, 2683, 2683, 2692, 2692, 2692, 326, 2692, 325, 321,
3399 2692, 2793, 2793, 2793, 2794, 2794, 2794, 312, 2683, 310,
3400 309, 2692, 305, 302, 300, 299, 298, 294, 290, 2793,
3401 287, 283, 2794, 2797, 2797, 2797, 2797, 2797, 2797, 2797,
3402 2797, 2797, 2798, 2798, 2798, 2798, 2798, 2798, 2798, 2798,
3403 2798, 2799, 2799, 2799, 2799, 2799, 2799, 2799, 2799, 2799,
3404 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2801,
3405 2801, 2801, 2801, 2801, 2801, 2801, 2801, 2801, 2802, 2802,
3406 2802, 2802, 2802, 2802, 2802, 2802, 2802, 2803, 2803, 2803,
3408 2803, 2803, 2803, 2803, 2803, 2803, 2804, 2804, 2804, 2804,
3409 2804, 2804, 2804, 2804, 2804, 2805, 2805, 2805, 2805, 2805,
3410 2805, 2805, 2805, 2805, 2806, 2806, 2806, 2806, 2806, 2806,
3411 2806, 2806, 2806, 2807, 2807, 2807, 2807, 2807, 2807, 2807,
3412 2807, 2807, 2808, 2808, 2808, 2808, 2808, 2808, 2808, 2808,
3413 2808, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809, 2809,
3414 2810, 2810, 2810, 2810, 2810, 2810, 2810, 2810, 2810, 2811,
3415 2811, 2811, 2811, 2811, 2811, 2811, 2811, 2811, 2812, 2812,
3416 2812, 2812, 2812, 2812, 2812, 2812, 2812, 2813, 2813, 2813,
3417 2813, 2813, 2813, 2813, 2813, 2813, 2814, 2814, 2814, 2814,
3419 2814, 2814, 2814, 2814, 2814, 2815, 2815, 2815, 2815, 2815,
3420 2815, 2815, 2815, 2815, 2816, 2816, 2816, 2816, 2816, 2816,
3421 2816, 2816, 2816, 2817, 2817, 2817, 2817, 2817, 2817, 2817,
3422 2817, 2817, 2818, 2818, 2818, 2818, 2818, 2818, 2818, 2818,
3423 2818, 2819, 2819, 2819, 2819, 2819, 2819, 2819, 2819, 2819,
3424 2820, 2820, 2820, 2820, 2820, 2820, 2820, 2820, 2820, 2821,
3425 2821, 2821, 2821, 2821, 2821, 2821, 2821, 2821, 2822, 2822,
3426 2822, 2822, 2822, 2822, 2822, 2822, 2822, 2823, 2823, 2823,
3427 2823, 2823, 2823, 2823, 2823, 2823, 2824, 2824, 2824, 2824,
3428 2824, 2824, 2824, 2824, 2824, 2825, 2825, 2825, 2825, 2825,
3430 2825, 2825, 2825, 2825, 2826, 2826, 2826, 2826, 2826, 2826,
3431 2826, 2826, 2826, 2827, 2827, 2827, 2827, 2827, 2827, 2827,
3432 2827, 2827, 2828, 2828, 2828, 2828, 2828, 2828, 2828, 2828,
3433 2828, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829, 2829,
3434 2830, 2830, 2830, 2830, 2830, 2830, 2830, 2830, 2830, 2831,
3435 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2831, 2832, 2832,
3436 2832, 2832, 2832, 2832, 2832, 2832, 2832, 2833, 2833, 2833,
3437 2833, 2833, 2833, 2833, 2833, 2833, 2834, 2834, 2834, 2834,
3438 2834, 2834, 2834, 2834, 2834, 2835, 2835, 2835, 2835, 2835,
3439 2835, 2835, 2835, 2835, 2836, 2836, 2836, 2836, 2836, 2836,
3441 2836, 2836, 2836, 2837, 2837, 2837, 2837, 2837, 2837, 2837,
3442 2837, 2837, 2838, 2838, 2838, 2838, 2838, 2838, 2838, 2838,
3443 2838, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839, 2839,
3444 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2840, 2841,
3445 2841, 2841, 2841, 2841, 2841, 2841, 2841, 2841, 2842, 2842,
3446 2842, 2842, 2842, 2842, 2842, 2842, 2842, 2843, 2843, 2843,
3447 2843, 2843, 2843, 2843, 2843, 2843, 2844, 2844, 2844, 2844,
3448 2844, 2844, 2844, 2844, 2844, 2845, 2845, 2845, 2845, 2845,
3449 2845, 2845, 2845, 2845, 2846, 2846, 2846, 2846, 2846, 2846,
3450 2846, 2846, 2846, 2847, 2847, 2847, 2847, 2847, 2847, 2847,
3452 2847, 2847, 2848, 2848, 2848, 2848, 2848, 2848, 2848, 2848,
3453 2848, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849, 2849,
3454 2850, 2850, 2850, 280, 279, 271, 2850, 2851, 2851, 2851,
3455 267, 263, 262, 2851, 2852, 2852, 2852, 261, 255, 254,
3456 2852, 2853, 2853, 2853, 252, 249, 237, 2853, 2854, 2854,
3457 2854, 0, 0, 0, 2854, 2855, 2855, 2855, 0, 0,
3458 0, 2855, 2856, 2856, 2856, 0, 0, 0, 2856, 2857,
3459 2857, 2857, 0, 0, 0, 2857, 2858, 2858, 2858, 0,
3460 0, 0, 2858, 2859, 2859, 2859, 0, 0, 0, 2859,
3461 2860, 2860, 2860, 0, 0, 0, 2860, 2861, 2861, 2861,
3463 0, 0, 0, 2861, 2862, 2862, 2862, 0, 0, 0,
3464 2862, 2863, 2863, 2863, 0, 0, 0, 2863, 2864, 2864,
3465 2864, 0, 0, 0, 2864, 2865, 2865, 2865, 0, 0,
3466 0, 2865, 2866, 2866, 2866, 0, 0, 0, 2866, 2867,
3467 2867, 2867, 0, 0, 0, 2867, 2868, 2868, 2868, 0,
3468 0, 0, 2868, 2869, 2869, 2869, 0, 0, 0, 2869,
3469 2870, 2870, 2870, 0, 0, 0, 2870, 2871, 2871, 2871,
3470 0, 0, 0, 2871, 2872, 2872, 2872, 0, 0, 0,
3471 2872, 2873, 2873, 2873, 0, 0, 0, 2873, 2874, 2874,
3472 2874, 2874, 2874, 2874, 2874, 0, 2874, 2875, 2875, 2875,
3474 0, 0, 0, 2875, 2876, 0, 0, 0, 2876, 2877,
3475 2877, 2877, 0, 0, 0, 2877, 2878, 0, 0, 0,
3476 2878, 2879, 2879, 2879, 0, 0, 0, 2879, 2880, 0,
3477 0, 0, 2880, 2881, 2881, 2881, 0, 0, 0, 2881,
3478 2882, 0, 0, 0, 2882, 2883, 2883, 2883, 0, 0,
3479 0, 2883, 2884, 0, 0, 0, 2884, 2885, 2885, 2885,
3480 0, 0, 0, 2885, 2886, 0, 0, 0, 2886, 2887,
3481 2887, 2887, 0, 0, 0, 2887, 2888, 0, 0, 0,
3482 2888, 2889, 2889, 2889, 0, 0, 0, 2889, 2890, 0,
3483 0, 0, 2890, 2891, 2891, 2891, 0, 0, 0, 2891,
3485 2892, 0, 0, 0, 2892, 2893, 2893, 2893, 0, 0,
3486 0, 2893, 2894, 0, 0, 0, 2894, 2895, 2895, 2895,
3487 0, 0, 0, 2895, 2896, 0, 0, 0, 2896, 2897,
3488 2897, 2897, 0, 0, 0, 2897, 2898, 0, 0, 0,
3489 2898, 2899, 2899, 2899, 0, 0, 0, 2899, 2900, 0,
3490 0, 0, 2900, 2901, 2901, 2901, 0, 0, 0, 2901,
3491 2902, 0, 0, 0, 2902, 2903, 2903, 2903, 0, 0,
3492 0, 2903, 2904, 0, 0, 0, 2904, 2905, 2905, 2905,
3493 0, 0, 0, 2905, 2906, 0, 0, 0, 2906, 2907,
3494 2907, 2907, 0, 0, 0, 2907, 2908, 0, 0, 0,
3496 2908, 2909, 2909, 2909, 0, 0, 0, 2909, 2910, 0,
3497 0, 0, 2910, 2911, 2911, 2911, 0, 0, 0, 2911,
3498 2912, 0, 0, 0, 2912, 2913, 2913, 2913, 0, 0,
3499 0, 2913, 2914, 0, 0, 0, 2914, 2915, 2915, 2915,
3500 0, 0, 0, 2915, 2916, 0, 0, 0, 2916, 2917,
3501 2917, 2917, 0, 0, 0, 2917, 2918, 0, 0, 0,
3502 2918, 2919, 2919, 2919, 0, 0, 0, 2919, 2920, 0,
3503 0, 0, 2920, 2921, 2921, 2921, 0, 0, 0, 2921,
3504 2922, 0, 0, 0, 2922, 2923, 2923, 2923, 2923, 2923,
3505 2923, 2923, 2923, 2923, 2924, 0, 0, 0, 0, 2924,
3507 2925, 2925, 2925, 0, 0, 0, 2925, 2926, 2926, 2926,
3508 2926, 0, 0, 2926, 2926, 2927, 2927, 2927, 0, 0,
3509 0, 2927, 2928, 2928, 2928, 2928, 0, 0, 2928, 2928,
3510 2929, 2929, 2929, 0, 0, 0, 2929, 2930, 2930, 2930,
3511 2930, 0, 0, 2930, 2930, 2931, 2931, 2931, 0, 0,
3512 0, 2931, 2932, 2932, 2932, 2932, 0, 0, 2932, 2932,
3513 2933, 2933, 2933, 0, 0, 0, 2933, 2934, 2934, 2934,
3514 2934, 0, 0, 2934, 2934, 2935, 2935, 2935, 0, 0,
3515 0, 2935, 2936, 2936, 2936, 2936, 0, 0, 2936, 2936,
3516 2937, 2937, 2937, 0, 0, 0, 2937, 2938, 2938, 2938,
3518 2938, 0, 0, 2938, 2938, 2939, 2939, 2939, 0, 0,
3519 0, 2939, 2940, 2940, 2940, 2940, 0, 0, 2940, 2940,
3520 2941, 2941, 2941, 0, 0, 0, 2941, 2942, 2942, 2942,
3521 2942, 0, 0, 2942, 2942, 2943, 2943, 2943, 0, 0,
3522 0, 2943, 2944, 2944, 2944, 2944, 0, 0, 2944, 2944,
3523 2945, 2945, 2945, 0, 0, 0, 2945, 2946, 2946, 2946,
3524 2946, 0, 0, 2946, 2946, 2947, 2947, 2947, 0, 0,
3525 0, 2947, 2948, 2948, 2948, 2948, 0, 0, 2948, 2948,
3526 2949, 2949, 2949, 0, 0, 0, 2949, 2950, 2950, 2950,
3527 2950, 0, 0, 2950, 2950, 2951, 2951, 2951, 0, 0,
3529 0, 2951, 2952, 2952, 2952, 2952, 0, 0, 2952, 2952,
3530 2953, 2953, 2953, 0, 0, 0, 2953, 2954, 2954, 2954,
3531 2954, 0, 0, 2954, 2954, 2955, 2955, 2955, 2955, 0,
3532 2955, 0, 2955, 2956, 2956, 2956, 2956, 0, 0, 2956,
3533 2956, 2957, 2957, 2957, 2957, 0, 2957, 0, 2957, 2958,
3534 2958, 2958, 2958, 0, 0, 2958, 2958, 2959, 2959, 2959,
3535 0, 0, 0, 2959, 2960, 2960, 2960, 2960, 0, 0,
3536 2960, 2960, 2961, 2961, 2961, 2961, 0, 2961, 0, 2961,
3537 2962, 2962, 2962, 2962, 0, 0, 2962, 2962, 2963, 2963,
3538 2963, 2963, 0, 2963, 0, 2963, 2964, 2964, 2964, 2964,
3540 0, 0, 2964, 2964, 2965, 2965, 2965, 0, 0, 0,
3541 2965, 2966, 2966, 2966, 2966, 0, 0, 2966, 2966, 2967,
3542 2967, 2967, 0, 0, 0, 2967, 2968, 2968, 2968, 2968,
3543 0, 0, 2968, 2968, 2969, 2969, 2969, 2969, 0, 0,
3544 2969, 2969, 2970, 2970, 2970, 0, 0, 0, 2970, 2971,
3545 2971, 2971, 2971, 0, 0, 2971, 2971, 2972, 2972, 2972,
3546 2972, 2972, 2972, 2972, 2972, 2972, 2973, 0, 2973, 0,
3547 0, 2973, 2974, 2974, 2974, 0, 0, 0, 2974, 2975,
3548 2975, 2975, 2975, 0, 0, 2975, 2975, 2976, 2976, 2976,
3549 2976, 0, 2976, 0, 2976, 2977, 2977, 2977, 2977, 0,
3551 0, 2977, 2977, 2978, 2978, 2978, 2978, 0, 2978, 0,
3552 2978, 2979, 2979, 2979, 2979, 0, 0, 2979, 2979, 2980,
3553 2980, 2980, 0, 0, 0, 2980, 2981, 2981, 2981, 2981,
3554 0, 0, 2981, 2981, 2982, 2982, 2982, 0, 0, 0,
3555 2982, 2983, 2983, 2983, 2983, 0, 0, 2983, 2983, 2984,
3556 2984, 2984, 0, 0, 0, 2984, 2985, 2985, 2985, 2985,
3557 0, 0, 2985, 2985, 2986, 2986, 2986, 0, 0, 0,
3558 2986, 2987, 2987, 2987, 2987, 0, 0, 2987, 2987, 2988,
3559 2988, 2988, 0, 0, 0, 2988, 2989, 2989, 2989, 2989,
3560 0, 0, 2989, 2989, 2990, 2990, 2990, 2990, 0, 2990,
3562 0, 2990, 2991, 2991, 2991, 2991, 0, 0, 2991, 2991,
3563 2992, 2992, 2992, 2992, 0, 2992, 0, 2992, 2993, 2993,
3564 2993, 2993, 0, 0, 2993, 2993, 2994, 2994, 2994, 0,
3565 0, 0, 2994, 2995, 2995, 2995, 2995, 0, 0, 2995,
3566 2995, 2996, 2996, 2996, 0, 0, 0, 2996, 2997, 2997,
3567 2997, 2997, 0, 0, 2997, 2997, 2998, 2998, 2998, 0,
3568 0, 0, 2998, 2999, 2999, 2999, 2999, 0, 0, 2999,
3569 2999, 3000, 3000, 3000, 0, 0, 0, 3000, 3001, 3001,
3570 3001, 3001, 0, 0, 3001, 3001, 3002, 3002, 3002, 0,
3571 0, 0, 3002, 3003, 3003, 3003, 3003, 0, 0, 3003,
3573 3003, 3004, 3004, 3004, 0, 0, 0, 3004, 3005, 3005,
3574 3005, 3005, 0, 0, 3005, 3005, 3006, 3006, 3006, 0,
3575 0, 0, 3006, 3007, 3007, 3007, 3007, 0, 0, 3007,
3576 3007, 3008, 3008, 3008, 0, 0, 0, 3008, 3009, 3009,
3577 3009, 3009, 0, 0, 3009, 3009, 3010, 3010, 3010, 3010,
3578 0, 0, 3010, 3010, 3011, 3011, 3011, 0, 0, 0,
3579 3011, 3012, 3012, 3012, 3012, 0, 0, 3012, 3012, 3013,
3580 3013, 3013, 0, 0, 0, 3013, 3014, 3014, 3014, 3014,
3581 0, 0, 3014, 3014, 3015, 3015, 3015, 0, 0, 0,
3582 3015, 3016, 3016, 3016, 3016, 0, 0, 3016, 3016, 3017,
3584 3017, 3017, 3017, 0, 0, 3017, 3017, 3018, 3018, 3018,
3585 0, 0, 0, 3018, 3019, 3019, 3019, 3019, 0, 0,
3586 3019, 3019, 3020, 3020, 3020, 3020, 3020, 3020, 3020, 3020,
3587 3020, 3021, 3021, 3021, 3021, 3021, 3021, 3021, 3021, 3021,
3588 3022, 3022, 3022, 0, 0, 0, 3022, 3023, 3023, 3023,
3589 3023, 0, 0, 3023, 3023, 3024, 3024, 3024, 3024, 0,
3590 0, 3024, 3024, 3025, 3025, 3025, 0, 0, 0, 3025,
3591 3026, 3026, 3026, 3026, 0, 0, 3026, 3026, 3027, 3027,
3592 3027, 0, 0, 0, 3027, 3028, 3028, 3028, 3028, 0,
3593 0, 3028, 3028, 3029, 3029, 3029, 0, 0, 0, 3029,
3595 3030, 3030, 3030, 3030, 0, 0, 3030, 3030, 3031, 3031,
3596 3031, 0, 0, 0, 3031, 3032, 3032, 3032, 0, 0,
3597 0, 3032, 3033, 3033, 3033, 3033, 0, 0, 3033, 3033,
3598 3034, 3034, 3034, 0, 0, 0, 3034, 3035, 3035, 3035,
3599 3035, 0, 0, 3035, 3035, 3036, 3036, 3036, 3036, 0,
3600 0, 3036, 3036, 3037, 3037, 3037, 0, 0, 0, 3037,
3601 3038, 3038, 3038, 3038, 0, 0, 3038, 3038, 3039, 3039,
3602 3039, 0, 0, 0, 3039, 3040, 3040, 3040, 3040, 0,
3603 0, 3040, 3040, 3041, 3041, 3041, 0, 0, 0, 3041,
3604 3042, 3042, 3042, 3042, 0, 0, 3042, 3042, 3043, 3043,
3606 3043, 0, 0, 0, 3043, 3044, 3044, 3044, 3044, 0,
3607 0, 3044, 3044, 3045, 3045, 3045, 0, 0, 0, 3045,
3608 3046, 3046, 3046, 3046, 0, 0, 3046, 3046, 3047, 3047,
3609 3047, 0, 0, 0, 3047, 3048, 3048, 3048, 3048, 0,
3610 0, 3048, 3048, 3049, 3049, 3049, 0, 0, 0, 3049,
3611 3050, 3050, 3050, 3050, 0, 0, 3050, 3050, 3051, 3051,
3612 3051, 0, 0, 0, 3051, 3052, 3052, 3052, 3052, 0,
3613 0, 3052, 3052, 3053, 3053, 3053, 0, 0, 0, 3053,
3614 3054, 3054, 3054, 3054, 0, 0, 3054, 3054, 3055, 3055,
3615 3055, 3055, 0, 0, 3055, 3055, 3056, 3056, 3056, 0,
3617 0, 0, 3056, 3057, 3057, 3057, 3057, 0, 0, 3057,
3618 3057, 3058, 3058, 3058, 0, 0, 0, 3058, 3059, 3059,
3619 3059, 3059, 0, 0, 3059, 3059, 3060, 3060, 3060, 3060,
3620 0, 3060, 0, 3060, 3061, 3061, 3061, 3061, 0, 0,
3621 3061, 3061, 3062, 3062, 3062, 3062, 0, 0, 3062, 3062,
3622 3063, 3063, 3063, 3063, 0, 3063, 0, 3063, 3064, 3064,
3623 3064, 3064, 0, 0, 3064, 3064, 3065, 3065, 3065, 3065,
3624 3065, 3065, 3065, 3065, 3065, 3066, 3066, 3066, 3066, 3066,
3625 3066, 3066, 3066, 3066, 3067, 3067, 3067, 0, 0, 0,
3626 3067, 3068, 3068, 3068, 3068, 0, 0, 3068, 3068, 3069,
3628 3069, 3069, 3069, 0, 0, 3069, 3069, 3070, 3070, 3070,
3629 0, 0, 0, 3070, 3071, 3071, 3071, 3071, 0, 0,
3630 3071, 3071, 3072, 3072, 3072, 0, 0, 0, 3072, 3073,
3631 3073, 3073, 3073, 0, 0, 3073, 3073, 3074, 3074, 3074,
3632 0, 0, 0, 3074, 3075, 3075, 3075, 3075, 0, 0,
3633 3075, 3075, 3076, 3076, 3076, 0, 0, 0, 3076, 3077,
3634 3077, 3077, 0, 0, 0, 3077, 3078, 3078, 3078, 3078,
3635 0, 0, 3078, 3078, 3079, 3079, 3079, 3079, 0, 3079,
3636 0, 3079, 3080, 3080, 3080, 3080, 0, 0, 3080, 3080,
3637 3081, 3081, 3081, 3081, 0, 0, 3081, 3081, 3082, 3082,
3639 3082, 3082, 0, 3082, 0, 3082, 3083, 3083, 3083, 3083,
3640 0, 0, 3083, 3083, 3084, 3084, 3084, 0, 0, 0,
3641 3084, 3085, 3085, 3085, 3085, 0, 0, 3085, 3085, 3086,
3642 3086, 3086, 0, 0, 0, 3086, 3087, 3087, 3087, 3087,
3643 0, 0, 3087, 3087, 3088, 3088, 3088, 0, 0, 0,
3644 3088, 3089, 3089, 3089, 3089, 0, 0, 3089, 3089, 3090,
3645 3090, 3090, 0, 0, 0, 3090, 3091, 3091, 3091, 3091,
3646 0, 0, 3091, 3091, 3092, 3092, 3092, 0, 0, 0,
3647 3092, 3093, 3093, 3093, 3093, 0, 0, 3093, 3093, 3094,
3648 3094, 3094, 0, 0, 0, 3094, 3095, 3095, 3095, 3095,
3650 0, 0, 3095, 3095, 3096, 3096, 3096, 3096, 0, 3096,
3651 0, 3096, 3097, 3097, 3097, 3097, 0, 0, 3097, 3097,
3652 3098, 3098, 3098, 0, 0, 0, 3098, 3099, 3099, 3099,
3653 3099, 0, 0, 3099, 3099, 3100, 3100, 3100, 3100, 0,
3654 0, 3100, 3100, 3101, 3101, 3101, 3101, 0, 3101, 0,
3655 3101, 3102, 3102, 3102, 3102, 0, 0, 3102, 3102, 3103,
3656 3103, 3103, 0, 0, 0, 3103, 3104, 3104, 3104, 3104,
3657 0, 0, 3104, 3104, 3105, 3105, 3105, 3105, 0, 0,
3658 3105, 3105, 3106, 3106, 3106, 3106, 0, 0, 3106, 3106,
3659 3107, 3107, 3107, 3107, 0, 0, 3107, 3107, 3108, 3108,
3661 3108, 3108, 3108, 3108, 3108, 3108, 3108, 3109, 3109, 3109,
3662 3109, 3109, 3109, 3109, 3109, 3109, 3110, 3110, 3110, 3110,
3663 0, 3110, 0, 3110, 3111, 3111, 3111, 3111, 0, 0,
3664 3111, 3111, 3112, 3112, 3112, 3112, 0, 0, 3112, 3112,
3665 3113, 3113, 3113, 0, 0, 0, 3113, 3114, 3114, 3114,
3666 3114, 0, 0, 3114, 3114, 3115, 3115, 3115, 0, 0,
3667 0, 3115, 3116, 3116, 3116, 3116, 0, 0, 3116, 3116,
3668 3117, 3117, 3117, 3117, 0, 3117, 0, 3117, 3118, 3118,
3669 3118, 3118, 0, 0, 3118, 3118, 3119, 3119, 3119, 3119,
3670 0, 3119, 0, 3119, 3120, 3120, 3120, 3120, 0, 3120,
3672 0, 3120, 3121, 3121, 3121, 3121, 0, 0, 3121, 3121,
3673 3122, 3122, 3122, 3122, 0, 0, 3122, 3122, 3123, 3123,
3674 3123, 3123, 0, 0, 3123, 3123, 3124, 3124, 3124, 3124,
3675 0, 0, 3124, 3124, 3125, 3125, 3125, 0, 0, 0,
3676 3125, 3126, 3126, 3126, 0, 0, 0, 3126, 3127, 3127,
3677 3127, 3127, 0, 0, 3127, 3127, 3128, 3128, 3128, 0,
3678 0, 0, 3128, 3129, 3129, 3129, 0, 0, 0, 3129,
3679 3130, 3130, 3130, 3130, 0, 0, 3130, 3130, 3131, 3131,
3680 3131, 0, 0, 0, 3131, 3132, 3132, 3132, 0, 0,
3681 0, 3132, 3133, 3133, 3133, 3133, 0, 0, 3133, 3133,
3683 3134, 3134, 3134, 0, 0, 0, 3134, 3135, 3135, 3135,
3684 3135, 0, 0, 3135, 3135, 3136, 3136, 3136, 0, 0,
3685 0, 3136, 3137, 3137, 3137, 3137, 0, 0, 3137, 3137,
3686 3138, 3138, 3138, 3138, 0, 0, 3138, 3138, 3139, 3139,
3687 3139, 3139, 0, 0, 3139, 3139, 3140, 3140, 3140, 0,
3688 0, 0, 3140, 3141, 3141, 3141, 3141, 0, 0, 3141,
3689 3141, 3142, 3142, 3142, 3142, 0, 0, 3142, 3142, 3143,
3690 3143, 3143, 3143, 0, 0, 3143, 3143, 3144, 3144, 3144,
3691 3144, 3144, 3144, 3144, 3144, 3144, 3145, 3145, 3145, 3145,
3692 3145, 3145, 3145, 3145, 3145, 3146, 3146, 3146, 3146, 0,
3694 0, 3146, 3146, 3147, 3147, 3147, 3147, 0, 0, 3147,
3695 3147, 3148, 3148, 3148, 0, 0, 0, 3148, 3149, 3149,
3696 3149, 0, 0, 0, 3149, 3150, 3150, 3150, 3150, 0,
3697 0, 3150, 3150, 3151, 3151, 3151, 3151, 0, 0, 3151,
3698 3151, 3152, 3152, 3152, 3152, 0, 0, 3152, 3152, 3153,
3699 3153, 3153, 3153, 0, 0, 3153, 3153, 3154, 3154, 3154,
3700 3154, 0, 0, 3154, 3154, 3155, 3155, 3155, 0, 0,
3701 0, 3155, 3156, 3156, 3156, 0, 0, 0, 3156, 3157,
3702 3157, 3157, 3157, 0, 0, 3157, 3157, 3158, 3158, 3158,
3703 0, 0, 0, 3158, 3159, 3159, 3159, 0, 0, 0,
3705 3159, 3160, 3160, 3160, 3160, 0, 0, 3160, 3160, 3161,
3706 3161, 3161, 0, 0, 0, 3161, 3162, 3162, 3162, 0,
3707 0, 0, 3162, 3163, 3163, 3163, 0, 0, 0, 3163,
3708 3164, 3164, 3164, 3164, 0, 0, 3164, 3164, 3165, 3165,
3709 3165, 0, 0, 0, 3165, 3166, 3166, 3166, 3166, 0,
3710 0, 3166, 3166, 3167, 3167, 3167, 3167, 0, 0, 3167,
3711 3167, 3168, 3168, 3168, 3168, 0, 0, 3168, 3168, 3169,
3712 3169, 3169, 3169, 0, 3169, 0, 3169, 3170, 3170, 3170,
3713 3170, 0, 0, 3170, 3170, 3171, 3171, 3171, 3171, 0,
3714 0, 3171, 3171, 3172, 3172, 3172, 3172, 0, 0, 3172,
3716 3172, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173, 3173,
3717 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3174, 3175,
3718 3175, 3175, 3175, 0, 0, 3175, 3175, 3176, 3176, 3176,
3719 3176, 0, 0, 3176, 3176, 3177, 3177, 3177, 0, 0,
3720 0, 3177, 3178, 3178, 3178, 3178, 0, 3178, 0, 3178,
3721 3179, 3179, 3179, 3179, 0, 0, 3179, 3179, 3180, 3180,
3722 3180, 3180, 0, 0, 3180, 3180, 3181, 3181, 3181, 3181,
3723 0, 0, 3181, 3181, 3182, 3182, 3182, 3182, 0, 0,
3724 3182, 3182, 3183, 3183, 3183, 0, 0, 0, 3183, 3184,
3725 3184, 3184, 0, 0, 0, 3184, 3185, 3185, 3185, 3185,
3727 0, 0, 3185, 3185, 3186, 3186, 3186, 0, 0, 0,
3728 3186, 3187, 3187, 3187, 0, 0, 0, 3187, 3188, 3188,
3729 3188, 3188, 3188, 3188, 3188, 3188, 3188, 3189, 3189, 3189,
3730 3189, 3189, 3189, 3189, 3189, 3189, 3190, 3190, 3190, 3190,
3731 3190, 3190, 3190, 3190, 3190, 3191, 3191, 3191, 3191, 3191,
3732 3191, 3191, 3191, 3191, 3192, 3192, 3192, 3192, 3192, 3192,
3733 3192, 3192, 3192, 3193, 3193, 3193, 3193, 3193, 3193, 3193,
3734 3193, 3193, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
3735 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
3736 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
3738 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
3739 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
3740 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
3741 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796, 2796,
3742 2796, 2796, 2796, 2796, 2796, 2796
3745 /* Table of booleans, true if rule could match eol. */
3746 static yyconst flex_int32_t yy_rule_can_match_eol[475] =
3748 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3749 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3750 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3752 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3753 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
3754 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
3755 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3756 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
3757 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3758 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3759 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3760 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3761 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0,
3762 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3763 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
3764 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
3765 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3766 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
3767 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
3768 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3769 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3770 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
3771 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
3773 static yy_state_type yy_last_accepting_state;
3774 static char *yy_last_accepting_cpos;
3776 extern int surf_parse__flex_debug;
3777 int surf_parse__flex_debug = 0;
3779 /* The intent behind this definition is that it'll catch
3780 * any uses of REJECT which flex missed.
3782 #define REJECT reject_used_but_not_detected
3783 #define yymore() yymore_used_but_not_detected
3784 #define YY_MORE_ADJ 0
3785 #define YY_RESTORE_YY_MORE_OFFSET
3786 char *surf_parse_text;
3787 /* Validating XML processor for src/surf/simgrid.dtd.
3789 * This program was generated with the FleXML XML processor generator.
3790 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3791 * FleXML is Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3792 * (Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp).
3794 * There are two, intertwined parts to this program, part A and part B.
3799 * Some parts, here collectively called "Part A", are found in the
3800 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3801 * and Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3803 * You can redistribute, use, perform, display and/or modify "Part A"
3804 * provided the following two conditions hold:
3806 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3807 * FleXML; without even the implied warranty of MERCHANTABILITY or
3808 * FITNESS FOR A PARTICULAR PURPOSE.
3810 * 2. The program distribution conditions do not in any way affect the
3811 * distribution conditions of the FleXML system used to generate this
3812 * file or any version of FleXML derived from that system.
3814 * Notice that these are explicit rights granted to you for files
3815 * generated by the FleXML system. For your rights in connection with
3816 * the FleXML system itself please consult the GNU General Public License.
3821 * The other parts, here collectively called "Part B", and which came
3822 * from the DTD used by FleXML to generate this program, can be
3823 * distributed (or not, as the case may be) under the terms of whoever
3824 * wrote them, provided these terms respect and obey the two conditions
3825 * above under the heading "Part A".
3827 * The author of and contributors to FleXML specifically disclaim
3828 * any copyright interest in "Part B", unless "Part B" was written
3829 * by the author of or contributors to FleXML.
3833 /* Version strings. */
3834 const char rcs_surfxml_flexml_skeleton[] =
3835 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3836 const char rcs_surfxml_flexml[] =
3837 "$" "Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp $";
3840 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3847 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3848 # ifndef __STRICT_ANSI__
3850 # include <process.h>
3853 # include <unistd.h>
3856 #ifndef FLEXML_INDEXSTACKSIZE
3857 #define FLEXML_INDEXSTACKSIZE 1000
3860 /* Generated definitions. */
3861 #define FLEXML_yylineno
3862 #ifndef FLEXML_BUFFERSTACKSIZE
3863 #define FLEXML_BUFFERSTACKSIZE 1000000
3865 #define FLEXML_NEED_BUFFERLIT
3867 /* XML processor api. */
3868 /* FleXML-provided data. */
3869 int surfxml_pcdata_ix;
3870 extern char *surfxml_bufferstack;
3871 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3872 AT_surfxml_mount_name AX_surfxml_mount_name;
3873 #define A_surfxml_mount_name (surfxml_bufferstack + AX_surfxml_mount_name)
3874 short int surfxml_mount_name_isset;
3875 AT_surfxml_random_generator AX_surfxml_random_generator;
3876 #define A_surfxml_random_generator AX_surfxml_random_generator
3877 short int surfxml_random_generator_isset;
3878 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3879 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3880 short int surfxml_ASroute_gw_dst_isset;
3881 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3882 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3883 short int surfxml_trace_connect_element_isset;
3884 AT_surfxml_prop_id AX_surfxml_prop_id;
3885 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3886 short int surfxml_prop_id_isset;
3887 AT_surfxml_host_id AX_surfxml_host_id;
3888 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3889 short int surfxml_host_id_isset;
3890 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3891 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3892 short int surfxml_ASroute_symmetrical_isset;
3893 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3894 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3895 short int surfxml_peer_lat_isset;
3896 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3897 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3898 short int surfxml_link_latency_file_isset;
3899 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3900 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3901 short int surfxml_peer_availability_file_isset;
3902 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3903 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3904 short int surfxml_link_ctn_direction_isset;
3905 AT_surfxml_host_state AX_surfxml_host_state;
3906 #define A_surfxml_host_state AX_surfxml_host_state
3907 short int surfxml_host_state_isset;
3908 AT_surfxml_AS_id AX_surfxml_AS_id;
3909 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3910 short int surfxml_AS_id_isset;
3911 AT_surfxml_host_power AX_surfxml_host_power;
3912 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3913 short int surfxml_host_power_isset;
3914 AT_surfxml_router_id AX_surfxml_router_id;
3915 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3916 short int surfxml_router_id_isset;
3917 AT_surfxml_storage_type_id AX_surfxml_storage_type_id;
3918 #define A_surfxml_storage_type_id (surfxml_bufferstack + AX_surfxml_storage_type_id)
3919 short int surfxml_storage_type_id_isset;
3920 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3921 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3922 short int surfxml_process_start_time_isset;
3923 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3924 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3925 short int surfxml_cluster_suffix_isset;
3926 AT_surfxml_bypassASroute_dst AX_surfxml_bypassASroute_dst;
3927 #define A_surfxml_bypassASroute_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_dst)
3928 short int surfxml_bypassASroute_dst_isset;
3929 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3930 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3931 short int surfxml_ASroute_src_isset;
3932 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3933 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3934 short int surfxml_cluster_prefix_isset;
3935 AT_surfxml_trace_file AX_surfxml_trace_file;
3936 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3937 short int surfxml_trace_file_isset;
3938 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3939 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3940 short int surfxml_link_sharing_policy_isset;
3941 AT_surfxml_storage_typeId AX_surfxml_storage_typeId;
3942 #define A_surfxml_storage_typeId (surfxml_bufferstack + AX_surfxml_storage_typeId)
3943 short int surfxml_storage_typeId_isset;
3944 AT_surfxml_random_min AX_surfxml_random_min;
3945 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3946 short int surfxml_random_min_isset;
3947 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3948 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3949 short int surfxml_link_ctn_id_isset;
3950 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3951 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3952 short int surfxml_peer_bw_out_isset;
3953 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3954 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3955 short int surfxml_cluster_availability_file_isset;
3956 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3957 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3958 short int surfxml_process_kill_time_isset;
3959 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3960 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3961 short int surfxml_cluster_bb_bw_isset;
3962 AT_surfxml_argument_value AX_surfxml_argument_value;
3963 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3964 short int surfxml_argument_value_isset;
3965 AT_surfxml_link_state AX_surfxml_link_state;
3966 #define A_surfxml_link_state AX_surfxml_link_state
3967 short int surfxml_link_state_isset;
3968 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3969 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3970 short int surfxml_ASroute_gw_src_isset;
3971 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3972 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3973 short int surfxml_AS_routing_isset;
3974 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3975 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3976 short int surfxml_link_bandwidth_isset;
3977 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3978 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3979 short int surfxml_cluster_id_isset;
3980 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3981 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3982 short int surfxml_peer_bw_in_isset;
3983 AT_surfxml_random_mean AX_surfxml_random_mean;
3984 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3985 short int surfxml_random_mean_isset;
3986 AT_surfxml_storage_type_size AX_surfxml_storage_type_size;
3987 #define A_surfxml_storage_type_size (surfxml_bufferstack + AX_surfxml_storage_type_size)
3988 short int surfxml_storage_type_size_isset;
3989 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3990 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3991 short int surfxml_cluster_bb_lat_isset;
3992 AT_surfxml_link_latency AX_surfxml_link_latency;
3993 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3994 short int surfxml_link_latency_isset;
3995 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3996 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3997 short int surfxml_trace_connect_kind_isset;
3998 AT_surfxml_random_seed AX_surfxml_random_seed;
3999 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
4000 short int surfxml_random_seed_isset;
4001 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
4002 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
4003 short int surfxml_cluster_state_file_isset;
4004 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
4005 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
4006 short int surfxml_link_bandwidth_file_isset;
4007 AT_surfxml_storage_type_content AX_surfxml_storage_type_content;
4008 #define A_surfxml_storage_type_content (surfxml_bufferstack + AX_surfxml_storage_type_content)
4009 short int surfxml_storage_type_content_isset;
4010 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
4011 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
4012 short int surfxml_route_symmetrical_isset;
4013 AT_surfxml_random_id AX_surfxml_random_id;
4014 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
4015 short int surfxml_random_id_isset;
4016 AT_surfxml_mstorage_name AX_surfxml_mstorage_name;
4017 #define A_surfxml_mstorage_name (surfxml_bufferstack + AX_surfxml_mstorage_name)
4018 short int surfxml_mstorage_name_isset;
4019 AT_surfxml_random_max AX_surfxml_random_max;
4020 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
4021 short int surfxml_random_max_isset;
4022 AT_surfxml_link_id AX_surfxml_link_id;
4023 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
4024 short int surfxml_link_id_isset;
4025 AT_surfxml_process_host AX_surfxml_process_host;
4026 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
4027 short int surfxml_process_host_isset;
4028 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
4029 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
4030 short int surfxml_host_availability_file_isset;
4031 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
4032 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
4033 short int surfxml_cluster_lat_isset;
4034 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
4035 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
4036 short int surfxml_trace_periodicity_isset;
4037 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
4038 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
4039 short int surfxml_cluster_bb_sharing_policy_isset;
4040 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
4041 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
4042 short int surfxml_router_coordinates_isset;
4043 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
4044 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
4045 short int surfxml_peer_coordinates_isset;
4046 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
4047 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
4048 short int surfxml_peer_state_file_isset;
4049 AT_surfxml_bypassASroute_src AX_surfxml_bypassASroute_src;
4050 #define A_surfxml_bypassASroute_src (surfxml_bufferstack + AX_surfxml_bypassASroute_src)
4051 short int surfxml_bypassASroute_src_isset;
4052 AT_surfxml_prop_value AX_surfxml_prop_value;
4053 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
4054 short int surfxml_prop_value_isset;
4055 AT_surfxml_mstorage_typeId AX_surfxml_mstorage_typeId;
4056 #define A_surfxml_mstorage_typeId (surfxml_bufferstack + AX_surfxml_mstorage_typeId)
4057 short int surfxml_mstorage_typeId_isset;
4058 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
4059 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
4060 short int surfxml_ASroute_dst_isset;
4061 AT_surfxml_link_state_file AX_surfxml_link_state_file;
4062 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
4063 short int surfxml_link_state_file_isset;
4064 AT_surfxml_random_radical AX_surfxml_random_radical;
4065 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
4066 short int surfxml_random_radical_isset;
4067 AT_surfxml_bypassASroute_gw_src AX_surfxml_bypassASroute_gw_src;
4068 #define A_surfxml_bypassASroute_gw_src (surfxml_bufferstack + AX_surfxml_bypassASroute_gw_src)
4069 short int surfxml_bypassASroute_gw_src_isset;
4070 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
4071 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
4072 short int surfxml_trace_connect_trace_isset;
4073 AT_surfxml_mount_id AX_surfxml_mount_id;
4074 #define A_surfxml_mount_id (surfxml_bufferstack + AX_surfxml_mount_id)
4075 short int surfxml_mount_id_isset;
4076 AT_surfxml_cluster_power AX_surfxml_cluster_power;
4077 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
4078 short int surfxml_cluster_power_isset;
4079 AT_surfxml_process_function AX_surfxml_process_function;
4080 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
4081 short int surfxml_process_function_isset;
4082 AT_surfxml_peer_id AX_surfxml_peer_id;
4083 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
4084 short int surfxml_peer_id_isset;
4085 AT_surfxml_cluster_router_id AX_surfxml_cluster_router_id;
4086 #define A_surfxml_cluster_router_id (surfxml_bufferstack + AX_surfxml_cluster_router_id)
4087 short int surfxml_cluster_router_id_isset;
4088 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
4089 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
4090 short int surfxml_cluster_sharing_policy_isset;
4091 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
4092 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
4093 short int surfxml_bypassRoute_dst_isset;
4094 AT_surfxml_host_core AX_surfxml_host_core;
4095 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
4096 short int surfxml_host_core_isset;
4097 AT_surfxml_host_availability AX_surfxml_host_availability;
4098 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
4099 short int surfxml_host_availability_isset;
4100 AT_surfxml_storage_type_model AX_surfxml_storage_type_model;
4101 #define A_surfxml_storage_type_model (surfxml_bufferstack + AX_surfxml_storage_type_model)
4102 short int surfxml_storage_type_model_isset;
4103 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
4104 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
4105 short int surfxml_bypassRoute_src_isset;
4106 AT_surfxml_route_src AX_surfxml_route_src;
4107 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
4108 short int surfxml_route_src_isset;
4109 AT_surfxml_storage_id AX_surfxml_storage_id;
4110 #define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
4111 short int surfxml_storage_id_isset;
4112 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
4113 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
4114 short int surfxml_host_coordinates_isset;
4115 AT_surfxml_trace_id AX_surfxml_trace_id;
4116 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
4117 short int surfxml_trace_id_isset;
4118 AT_surfxml_peer_power AX_surfxml_peer_power;
4119 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
4120 short int surfxml_peer_power_isset;
4121 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
4122 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
4123 short int surfxml_cluster_radical_isset;
4124 AT_surfxml_config_id AX_surfxml_config_id;
4125 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
4126 short int surfxml_config_id_isset;
4127 AT_surfxml_bypassASroute_gw_dst AX_surfxml_bypassASroute_gw_dst;
4128 #define A_surfxml_bypassASroute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_gw_dst)
4129 short int surfxml_bypassASroute_gw_dst_isset;
4130 AT_surfxml_include_file AX_surfxml_include_file;
4131 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
4132 short int surfxml_include_file_isset;
4133 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
4134 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
4135 short int surfxml_random_std_deviation_isset;
4136 AT_surfxml_cluster_core AX_surfxml_cluster_core;
4137 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
4138 short int surfxml_cluster_core_isset;
4139 AT_surfxml_host_state_file AX_surfxml_host_state_file;
4140 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
4141 short int surfxml_host_state_file_isset;
4142 AT_surfxml_route_dst AX_surfxml_route_dst;
4143 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
4144 short int surfxml_route_dst_isset;
4145 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
4146 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
4147 short int surfxml_cluster_bw_isset;
4148 AT_surfxml_platform_version AX_surfxml_platform_version;
4149 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
4150 short int surfxml_platform_version_isset;
4154 # define ENTER(state) debug_enter(state,#state)
4155 # define LEAVE debug_leave()
4156 # define SET(state) debug_set(state,#state)
4157 static void debug_enter(int, const char*);
4158 static void debug_leave(void);
4159 static void debug_set(int, const char*);
4161 # define ENTER(state) (yy_push_state(state))
4162 # define LEAVE (yy_pop_state())
4163 # define SET(state) BEGIN(state)
4166 /* Generic actions. */
4167 #define SKIP /*skip*/
4168 #define SUCCEED CLEANUP; return 0
4170 #define FAIL return fail
4171 static int fail(const char*, ...);
4173 enum {flexml_max_err_msg_size = 512};
4174 static char flexml_err_msg[flexml_max_err_msg_size];
4175 const char * surfxml_parse_err_msg()
4177 return flexml_err_msg;
4179 static void reset_surfxml_parse_err_msg()
4181 flexml_err_msg[0] = '\0';
4185 static void cleanup(void);
4186 #define CLEANUP cleanup()
4188 /* Text buffer stack handling. */
4189 char *surfxml_bufferstack = NULL;
4190 static int blimit = FLEXML_BUFFERSTACKSIZE;
4191 static int bnext = 1;
4193 static int *indexstack = NULL;
4194 static int ilimit = FLEXML_INDEXSTACKSIZE;
4195 static int inext = 1;
4197 #define BUFFERSET(P) (P = bnext)
4198 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
4199 #define BUFFERDONE (BUFFERPUTC('\0'))
4201 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
4203 /* after this is called, there are at least 2 slots left in the stack */
4204 static int ck_blimit()
4206 if (bnext >= blimit) {
4207 blimit += FLEXML_BUFFERSTACKSIZE + 2;
4209 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
4211 surfxml_bufferstack = temp;
4217 /* after this is called, there are at least 2 slots left in the stack */
4218 static int ck_ilimit()
4220 if (inext >= ilimit) {
4221 ilimit += FLEXML_INDEXSTACKSIZE + 2;
4223 int *temp = (int *) realloc(indexstack, ilimit);
4231 #ifdef FLEXML_NEED_BUFFERLIT
4232 static void surfxml_bufferliteral(char c, int* pp, const char* text)
4234 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
4235 assert(s <= e); BUFFERSET(*pp);
4237 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
4238 else BUFFERPUTC(*s);
4244 static void pushbuffer(int p)
4247 indexstack[inext++] = p;
4248 indexstack[inext++] = bnext;
4251 static int popbuffer(void)
4254 bnext = indexstack[--inext];
4255 return indexstack[--inext];
4258 /* General internal entities are `unput' back onto the input stream... */
4259 #define ENTITYTEXT(T) \
4260 { char *s = (T), *e = s+strlen(s);\
4261 while (--e >= s) { unput(*e); }}
4263 /* Flex standard options. */
4264 #define YY_NO_INPUT 1
4265 /* Flex user-requested options. */
4266 /* XML character classes (currently restricted to ASCII). */
4267 /* "Common syntactic structures." */
4268 /* "Names and Tokens." */
4269 /* Miscellaneous. */
4270 /* Parser states (flex `exclusive start conditions'):
4272 * PROLOG the XML prolog of the document before <?xml...>
4273 * DOCTYPE the XML prolog of the document after <?xml...>
4274 * EPILOG after the root element
4275 * INCOMMENT inside an XML comment <!--....-->
4276 * INPI inside an XML PI <?...?>
4277 * VALUE1 inside a '...'-delimited literal
4278 * VALUE2 inside a "..."-delimited literal
4279 * CDATA inside a <![CDATA[...] ]> section.
4280 * ROOT_<tag> expect root element <tag>
4281 * AL_<tag> inside the attribute list for <tag>
4282 * IN_<tag> inside a <tag> with element contents (ready for end tag)
4283 * IMPOSSIBLE dummy to permit disabling rules; must be last
4287 const char* *surfxml_statenames=NULL;
4298 #define ROOT_surfxml_platform 9
4299 #define AL_surfxml_platform 10
4300 #define S_surfxml_platform 11
4301 #define S_surfxml_platform_1 12
4302 #define S_surfxml_platform_2 13
4303 #define S_surfxml_platform_3 14
4304 #define S_surfxml_platform_4 15
4305 #define S_surfxml_platform_5 16
4306 #define S_surfxml_platform_6 17
4307 #define S_surfxml_platform_7 18
4308 #define S_surfxml_platform_8 19
4309 #define E_surfxml_platform 20
4310 #define AL_surfxml_include 21
4311 #define S_surfxml_include 22
4312 #define S_surfxml_include_1 23
4313 #define S_surfxml_include_2 24
4314 #define E_surfxml_include 25
4315 #define AL_surfxml_trace 26
4317 #define AL_surfxml_random 28
4318 #define S_surfxml_random 29
4319 #define S_surfxml_random_1 30
4320 #define S_surfxml_random_2 31
4321 #define E_surfxml_random 32
4322 #define AL_surfxml_trace_connect 33
4323 #define E_surfxml_trace_connect 34
4324 #define AL_surfxml_AS 35
4325 #define S_surfxml_AS 36
4326 #define S_surfxml_AS_1 37
4327 #define S_surfxml_AS_2 38
4328 #define S_surfxml_AS_3 39
4329 #define S_surfxml_AS_4 40
4330 #define S_surfxml_AS_5 41
4331 #define S_surfxml_AS_6 42
4332 #define S_surfxml_AS_7 43
4333 #define S_surfxml_AS_8 44
4334 #define S_surfxml_AS_9 45
4335 #define S_surfxml_AS_10 46
4336 #define S_surfxml_AS_11 47
4337 #define S_surfxml_AS_12 48
4338 #define S_surfxml_AS_13 49
4339 #define E_surfxml_AS 50
4340 #define AL_surfxml_storage_type 51
4341 #define S_surfxml_storage_type 52
4342 #define S_surfxml_storage_type_1 53
4343 #define S_surfxml_storage_type_2 54
4344 #define E_surfxml_storage_type 55
4345 #define AL_surfxml_storage 56
4346 #define S_surfxml_storage 57
4347 #define S_surfxml_storage_1 58
4348 #define S_surfxml_storage_2 59
4349 #define E_surfxml_storage 60
4350 #define AL_surfxml_mount 61
4351 #define E_surfxml_mount 62
4352 #define AL_surfxml_mstorage 63
4353 #define E_surfxml_mstorage 64
4354 #define AL_surfxml_host 65
4355 #define S_surfxml_host 66
4356 #define S_surfxml_host_1 67
4357 #define S_surfxml_host_2 68
4358 #define E_surfxml_host 69
4359 #define AL_surfxml_cluster 70
4360 #define E_surfxml_cluster 71
4361 #define AL_surfxml_peer 72
4362 #define E_surfxml_peer 73
4363 #define AL_surfxml_router 74
4364 #define E_surfxml_router 75
4365 #define AL_surfxml_link 76
4366 #define S_surfxml_link 77
4367 #define S_surfxml_link_1 78
4368 #define S_surfxml_link_2 79
4369 #define E_surfxml_link 80
4370 #define AL_surfxml_route 81
4371 #define S_surfxml_route 82
4372 #define S_surfxml_route_1 83
4373 #define S_surfxml_route_2 84
4374 #define E_surfxml_route 85
4375 #define AL_surfxml_ASroute 86
4376 #define S_surfxml_ASroute 87
4377 #define S_surfxml_ASroute_1 88
4378 #define S_surfxml_ASroute_2 89
4379 #define E_surfxml_ASroute 90
4380 #define AL_surfxml_link_ctn 91
4381 #define E_surfxml_link_ctn 92
4382 #define AL_surfxml_bypassRoute 93
4383 #define S_surfxml_bypassRoute 94
4384 #define S_surfxml_bypassRoute_1 95
4385 #define S_surfxml_bypassRoute_2 96
4386 #define E_surfxml_bypassRoute 97
4387 #define AL_surfxml_bypassASroute 98
4388 #define S_surfxml_bypassASroute 99
4389 #define S_surfxml_bypassASroute_1 100
4390 #define S_surfxml_bypassASroute_2 101
4391 #define E_surfxml_bypassASroute 102
4392 #define AL_surfxml_process 103
4393 #define S_surfxml_process 104
4394 #define S_surfxml_process_1 105
4395 #define S_surfxml_process_2 106
4396 #define E_surfxml_process 107
4397 #define AL_surfxml_argument 108
4398 #define E_surfxml_argument 109
4399 #define AL_surfxml_config 110
4400 #define S_surfxml_config 111
4401 #define S_surfxml_config_1 112
4402 #define S_surfxml_config_2 113
4403 #define E_surfxml_config 114
4404 #define AL_surfxml_prop 115
4405 #define E_surfxml_prop 116
4406 #define IMPOSSIBLE 117
4408 #ifndef YY_NO_UNISTD_H
4409 /* Special case for "unistd.h", since it is non-ANSI. We include it way
4410 * down here because we want the user's section 1 to have been scanned first.
4411 * The user has a chance to override it with an option.
4413 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
4414 # ifndef __STRICT_ANSI__
4416 # include <process.h>
4419 # include <unistd.h>
4423 #ifndef YY_EXTRA_TYPE
4424 #define YY_EXTRA_TYPE void *
4427 static int yy_init_globals (void );
4429 /* Accessor methods to globals.
4430 These are made visible to non-reentrant scanners for convenience. */
4432 int surf_parse_lex_destroy (void );
4434 int surf_parse_get_debug (void );
4436 void surf_parse_set_debug (int debug_flag );
4438 YY_EXTRA_TYPE surf_parse_get_extra (void );
4440 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
4442 FILE *surf_parse_get_in (void );
4444 void surf_parse_set_in (FILE * in_str );
4446 FILE *surf_parse_get_out (void );
4448 void surf_parse_set_out (FILE * out_str );
4450 int surf_parse_get_leng (void );
4452 char *surf_parse_get_text (void );
4454 int surf_parse_get_lineno (void );
4456 void surf_parse_set_lineno (int line_number );
4458 /* Macros after this point can all be overridden by user definitions in
4462 #ifndef YY_SKIP_YYWRAP
4464 extern "C" int surf_parse_wrap (void );
4466 extern int surf_parse_wrap (void );
4471 static void yy_flex_strncpy (char *,yyconst char *,int );
4474 #ifdef YY_NEED_STRLEN
4475 static int yy_flex_strlen (yyconst char * );
4481 static int yyinput (void );
4483 static int input (void );
4488 static int yy_start_stack_ptr = 0;
4489 static int yy_start_stack_depth = 0;
4490 static int *yy_start_stack = NULL;
4492 static void yy_push_state (int new_state );
4494 static void yy_pop_state (void );
4496 /* Amount of stuff to slurp up with each read. */
4497 #ifndef YY_READ_BUF_SIZE
4499 /* On IA-64, the buffer size is 16k, not 8k */
4500 #define YY_READ_BUF_SIZE 16384
4502 #define YY_READ_BUF_SIZE 8192
4503 #endif /* __ia64__ */
4506 /* Copy whatever the last rule matched to the standard output. */
4508 /* This used to be an fputs(), but since the string might contain NUL's,
4509 * we now use fwrite().
4511 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
4514 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
4515 * is returned in "result".
4518 #define YY_INPUT(buf,result,max_size) \
4519 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
4523 for ( n = 0; n < max_size && \
4524 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
4525 buf[n] = (char) c; \
4527 buf[n++] = (char) c; \
4528 if ( c == EOF && ferror( surf_parse_in ) ) \
4529 YY_FATAL_ERROR( "input in flex scanner failed" ); \
4535 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
4537 if( errno != EINTR) \
4539 YY_FATAL_ERROR( "input in flex scanner failed" ); \
4543 clearerr(surf_parse_in); \
4550 /* No semi-colon after return; correct usage is to write "yyterminate();" -
4551 * we don't want an extra ';' after the "return" because that will cause
4552 * some compilers to complain about unreachable statements.
4555 #define yyterminate() return YY_NULL
4558 /* Number of entries by which start-condition stack grows. */
4559 #ifndef YY_START_STACK_INCR
4560 #define YY_START_STACK_INCR 25
4563 /* Report a fatal error. */
4564 #ifndef YY_FATAL_ERROR
4565 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4568 /* end tables serialization structures and prototypes */
4570 /* Default declaration of generated scanner - a define so the user can
4571 * easily add parameters.
4574 #define YY_DECL_IS_OURS 1
4576 extern int surf_parse_lex (void);
4578 #define YY_DECL int surf_parse_lex (void)
4579 #endif /* !YY_DECL */
4581 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
4584 #ifndef YY_USER_ACTION
4585 #define YY_USER_ACTION
4588 /* Code executed at the end of each rule. */
4590 #define YY_BREAK break;
4593 #define YY_RULE_SETUP \
4596 /** The main scanner function which does all the work.
4600 register yy_state_type yy_current_state;
4601 register char *yy_cp, *yy_bp;
4602 register int yy_act;
4604 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
4606 reset_surfxml_parse_err_msg();
4607 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
4608 assert(surfxml_bufferstack);
4612 for (i = 0; i < blimit; i++) {
4613 surfxml_bufferstack[i] = '\377';
4617 surfxml_bufferstack[0] = '\0';
4618 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
4624 surfxml_bufferliteral('\0', &bnext, "0.0");
4625 surfxml_bufferliteral('\0', &bnext, "2147483647");
4626 surfxml_bufferliteral('\0', &bnext, "1");
4627 surfxml_bufferliteral('\0', &bnext, "1.0");
4628 surfxml_bufferliteral('\0', &bnext, "1");
4629 surfxml_bufferliteral('\0', &bnext, "0.0");
4630 surfxml_bufferliteral('\0', &bnext, "-1.0");
4631 surfxml_bufferliteral('\0', &bnext, "-1.0");
4632 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
4633 surfxml_statenames[PROLOG] = NULL;
4634 surfxml_statenames[DOCTYPE] = NULL;
4635 surfxml_statenames[EPILOG] = NULL;
4636 surfxml_statenames[INCOMMENT] = NULL;
4637 surfxml_statenames[INPI] = NULL;
4638 surfxml_statenames[VALUE1] = NULL;
4639 surfxml_statenames[VALUE2] = NULL;
4640 surfxml_statenames[CDATA] = NULL;
4641 surfxml_statenames[ROOT_surfxml_platform] = NULL;
4642 surfxml_statenames[AL_surfxml_platform] = NULL;
4643 surfxml_statenames[S_surfxml_platform] = "platform";
4644 surfxml_statenames[S_surfxml_platform_1] = "platform";
4645 surfxml_statenames[S_surfxml_platform_2] = "platform";
4646 surfxml_statenames[S_surfxml_platform_3] = "platform";
4647 surfxml_statenames[S_surfxml_platform_4] = "platform";
4648 surfxml_statenames[S_surfxml_platform_5] = "platform";
4649 surfxml_statenames[S_surfxml_platform_6] = "platform";
4650 surfxml_statenames[S_surfxml_platform_7] = "platform";
4651 surfxml_statenames[S_surfxml_platform_8] = "platform";
4652 surfxml_statenames[E_surfxml_platform] = "platform";
4653 surfxml_statenames[AL_surfxml_include] = NULL;
4654 surfxml_statenames[S_surfxml_include] = "include";
4655 surfxml_statenames[S_surfxml_include_1] = "include";
4656 surfxml_statenames[S_surfxml_include_2] = "include";
4657 surfxml_statenames[E_surfxml_include] = "include";
4658 surfxml_statenames[AL_surfxml_trace] = NULL;
4659 surfxml_statenames[IN_trace] = "trace";
4660 surfxml_statenames[AL_surfxml_random] = NULL;
4661 surfxml_statenames[S_surfxml_random] = "random";
4662 surfxml_statenames[S_surfxml_random_1] = "random";
4663 surfxml_statenames[S_surfxml_random_2] = "random";
4664 surfxml_statenames[E_surfxml_random] = "random";
4665 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
4666 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
4667 surfxml_statenames[AL_surfxml_AS] = NULL;
4668 surfxml_statenames[S_surfxml_AS] = "AS";
4669 surfxml_statenames[S_surfxml_AS_1] = "AS";
4670 surfxml_statenames[S_surfxml_AS_2] = "AS";
4671 surfxml_statenames[S_surfxml_AS_3] = "AS";
4672 surfxml_statenames[S_surfxml_AS_4] = "AS";
4673 surfxml_statenames[S_surfxml_AS_5] = "AS";
4674 surfxml_statenames[S_surfxml_AS_6] = "AS";
4675 surfxml_statenames[S_surfxml_AS_7] = "AS";
4676 surfxml_statenames[S_surfxml_AS_8] = "AS";
4677 surfxml_statenames[S_surfxml_AS_9] = "AS";
4678 surfxml_statenames[S_surfxml_AS_10] = "AS";
4679 surfxml_statenames[S_surfxml_AS_11] = "AS";
4680 surfxml_statenames[S_surfxml_AS_12] = "AS";
4681 surfxml_statenames[S_surfxml_AS_13] = "AS";
4682 surfxml_statenames[E_surfxml_AS] = "AS";
4683 surfxml_statenames[AL_surfxml_storage_type] = NULL;
4684 surfxml_statenames[S_surfxml_storage_type] = "storage_type";
4685 surfxml_statenames[S_surfxml_storage_type_1] = "storage_type";
4686 surfxml_statenames[S_surfxml_storage_type_2] = "storage_type";
4687 surfxml_statenames[E_surfxml_storage_type] = "storage_type";
4688 surfxml_statenames[AL_surfxml_storage] = NULL;
4689 surfxml_statenames[S_surfxml_storage] = "storage";
4690 surfxml_statenames[S_surfxml_storage_1] = "storage";
4691 surfxml_statenames[S_surfxml_storage_2] = "storage";
4692 surfxml_statenames[E_surfxml_storage] = "storage";
4693 surfxml_statenames[AL_surfxml_mount] = NULL;
4694 surfxml_statenames[E_surfxml_mount] = "mount";
4695 surfxml_statenames[AL_surfxml_mstorage] = NULL;
4696 surfxml_statenames[E_surfxml_mstorage] = "mstorage";
4697 surfxml_statenames[AL_surfxml_host] = NULL;
4698 surfxml_statenames[S_surfxml_host] = "host";
4699 surfxml_statenames[S_surfxml_host_1] = "host";
4700 surfxml_statenames[S_surfxml_host_2] = "host";
4701 surfxml_statenames[E_surfxml_host] = "host";
4702 surfxml_statenames[AL_surfxml_cluster] = NULL;
4703 surfxml_statenames[E_surfxml_cluster] = "cluster";
4704 surfxml_statenames[AL_surfxml_peer] = NULL;
4705 surfxml_statenames[E_surfxml_peer] = "peer";
4706 surfxml_statenames[AL_surfxml_router] = NULL;
4707 surfxml_statenames[E_surfxml_router] = "router";
4708 surfxml_statenames[AL_surfxml_link] = NULL;
4709 surfxml_statenames[S_surfxml_link] = "link";
4710 surfxml_statenames[S_surfxml_link_1] = "link";
4711 surfxml_statenames[S_surfxml_link_2] = "link";
4712 surfxml_statenames[E_surfxml_link] = "link";
4713 surfxml_statenames[AL_surfxml_route] = NULL;
4714 surfxml_statenames[S_surfxml_route] = "route";
4715 surfxml_statenames[S_surfxml_route_1] = "route";
4716 surfxml_statenames[S_surfxml_route_2] = "route";
4717 surfxml_statenames[E_surfxml_route] = "route";
4718 surfxml_statenames[AL_surfxml_ASroute] = NULL;
4719 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
4720 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
4721 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
4722 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
4723 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
4724 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
4725 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
4726 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
4727 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
4728 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
4729 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
4730 surfxml_statenames[AL_surfxml_bypassASroute] = NULL;
4731 surfxml_statenames[S_surfxml_bypassASroute] = "bypassASroute";
4732 surfxml_statenames[S_surfxml_bypassASroute_1] = "bypassASroute";
4733 surfxml_statenames[S_surfxml_bypassASroute_2] = "bypassASroute";
4734 surfxml_statenames[E_surfxml_bypassASroute] = "bypassASroute";
4735 surfxml_statenames[AL_surfxml_process] = NULL;
4736 surfxml_statenames[S_surfxml_process] = "process";
4737 surfxml_statenames[S_surfxml_process_1] = "process";
4738 surfxml_statenames[S_surfxml_process_2] = "process";
4739 surfxml_statenames[E_surfxml_process] = "process";
4740 surfxml_statenames[AL_surfxml_argument] = NULL;
4741 surfxml_statenames[E_surfxml_argument] = "argument";
4742 surfxml_statenames[AL_surfxml_config] = NULL;
4743 surfxml_statenames[S_surfxml_config] = "config";
4744 surfxml_statenames[S_surfxml_config_1] = "config";
4745 surfxml_statenames[S_surfxml_config_2] = "config";
4746 surfxml_statenames[E_surfxml_config] = "config";
4747 surfxml_statenames[AL_surfxml_prop] = NULL;
4748 surfxml_statenames[E_surfxml_prop] = "prop";
4751 /* COMMENTS and PIs: handled uniformly for efficiency. */
4762 (yy_start) = 1; /* first start state */
4764 if ( ! surf_parse_in )
4765 surf_parse_in = stdin;
4767 if ( ! surf_parse_out )
4768 surf_parse_out = stdout;
4770 if ( ! YY_CURRENT_BUFFER ) {
4771 surf_parse_ensure_buffer_stack ();
4772 YY_CURRENT_BUFFER_LVALUE =
4773 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
4776 surf_parse__load_buffer_state( );
4779 while ( 1 ) /* loops until end-of-file is reached */
4781 yy_cp = (yy_c_buf_p);
4783 /* Support of surf_parse_text. */
4784 *yy_cp = (yy_hold_char);
4786 /* yy_bp points to the position in yy_ch_buf of the start of
4791 yy_current_state = (yy_start);
4795 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4796 if ( yy_accept[yy_current_state] )
4798 (yy_last_accepting_state) = yy_current_state;
4799 (yy_last_accepting_cpos) = yy_cp;
4801 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4803 yy_current_state = (int) yy_def[yy_current_state];
4804 if ( yy_current_state >= 2797 )
4805 yy_c = yy_meta[(unsigned int) yy_c];
4807 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4810 while ( yy_base[yy_current_state] != 10173 );
4813 yy_act = yy_accept[yy_current_state];
4815 { /* have to back up */
4816 yy_cp = (yy_last_accepting_cpos);
4817 yy_current_state = (yy_last_accepting_state);
4818 yy_act = yy_accept[yy_current_state];
4821 YY_DO_BEFORE_ACTION;
4823 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
4826 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
4827 if ( surf_parse_text[yyl] == '\n' )
4829 surf_parse_lineno++;
4833 do_action: /* This label is used only to access EOF actions. */
4836 { /* beginning of action switch */
4837 case 0: /* must back up */
4838 /* undo the effects of YY_DO_BEFORE_ACTION */
4839 *yy_cp = (yy_hold_char);
4840 yy_cp = (yy_last_accepting_cpos);
4841 yy_current_state = (yy_last_accepting_state);
4842 goto yy_find_action;
4860 /* rule 6 can match eol */
4864 case YY_STATE_EOF(INCOMMENT):
4865 FAIL("EOF in comment.");
4874 /* rule 9 can match eol */
4878 case YY_STATE_EOF(INPI):
4879 FAIL("EOF in PI (processing instruction).");
4882 /* SPACES: skipped uniformly */
4884 /* rule 10 can match eol */
4888 /* PROLOG: determine root element and process it. */
4891 /* rule 11 can match eol */
4896 /* rule 12 can match eol */
4898 FAIL("Bad declaration %s.",surf_parse_text);
4902 /* rule 13 can match eol */
4904 SET(ROOT_surfxml_platform);
4907 /* rule 14 can match eol */
4909 FAIL("Bad declaration %s.",surf_parse_text);
4913 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4915 case YY_STATE_EOF(PROLOG):
4916 case YY_STATE_EOF(DOCTYPE):
4917 FAIL("EOF in prolog.");
4920 /* RULES DERIVED FROM DTD. */
4921 /* <!-- Small DTD for SURF based tools. --> */
4923 /* rule 16 can match eol */
4925 FAIL("Starting tag <platform> is not allowed here.");
4928 /* rule 17 can match eol */
4931 AX_surfxml_platform_version = 1;
4932 surfxml_platform_version_isset = 0;
4933 ENTER(AL_surfxml_platform); pushbuffer(0);
4938 /* rule 18 can match eol */
4940 if (surfxml_platform_version_isset != 0) {FAIL("Multiple definition of attribute version in <surfxml_platform>");} surfxml_platform_version_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
4943 /* rule 19 can match eol */
4945 if (surfxml_platform_version_isset != 0) {FAIL("Multiple definition of attribute version in <surfxml_platform>");} surfxml_platform_version_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
4950 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4956 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4958 case ROOT_surfxml_platform: SET(EPILOG); break;
4964 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4968 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4970 case YY_STATE_EOF(AL_surfxml_platform):
4971 FAIL("EOF in attribute list of `platform' element.");
4975 /* rule 24 can match eol */
4979 ETag_surfxml_platform();
4980 popbuffer(); /* attribute */
4982 case ROOT_surfxml_platform: SET(EPILOG); break;
4987 /* rule 25 can match eol */
4989 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4993 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4995 case YY_STATE_EOF(S_surfxml_platform_8):
4996 case YY_STATE_EOF(S_surfxml_platform_1):
4997 case YY_STATE_EOF(S_surfxml_platform_3):
4998 case YY_STATE_EOF(S_surfxml_platform):
4999 case YY_STATE_EOF(S_surfxml_platform_4):
5000 case YY_STATE_EOF(S_surfxml_platform_6):
5001 case YY_STATE_EOF(E_surfxml_platform):
5002 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</platform>' expected.");
5006 /* rule 27 can match eol */
5008 FAIL("Starting tag <include> is not allowed here.");
5011 /* rule 28 can match eol */
5014 AX_surfxml_include_file = 0;
5015 surfxml_include_file_isset = 0;
5016 ENTER(AL_surfxml_include); pushbuffer(0);
5021 /* rule 29 can match eol */
5023 if (surfxml_include_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_include>");} surfxml_include_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
5026 /* rule 30 can match eol */
5028 if (surfxml_include_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_include>");} surfxml_include_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
5033 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
5034 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(S_surfxml_include);
5040 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
5041 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
5043 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5044 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5045 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5046 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5052 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
5056 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
5058 case YY_STATE_EOF(AL_surfxml_include):
5059 FAIL("EOF in attribute list of `include' element.");
5063 /* rule 35 can match eol */
5067 ETag_surfxml_include();
5068 popbuffer(); /* attribute */
5070 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5071 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5072 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5073 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5078 /* rule 36 can match eol */
5080 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
5084 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
5086 case YY_STATE_EOF(E_surfxml_include):
5087 case YY_STATE_EOF(S_surfxml_include):
5088 case YY_STATE_EOF(S_surfxml_include_2):
5089 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</include>' expected.");
5093 /* rule 38 can match eol */
5095 FAIL("Starting tag <trace> is not allowed here.");
5098 /* rule 39 can match eol */
5101 AX_surfxml_trace_id = 0;
5102 surfxml_trace_id_isset = 0;
5103 AX_surfxml_trace_file = 0;
5104 surfxml_trace_file_isset = 0;
5105 AX_surfxml_trace_periodicity = 0;
5106 surfxml_trace_periodicity_isset = 0;
5107 ENTER(AL_surfxml_trace); pushbuffer(0);
5112 /* rule 40 can match eol */
5114 if (surfxml_trace_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_trace>");} surfxml_trace_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
5117 /* rule 41 can match eol */
5119 if (surfxml_trace_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_trace>");} surfxml_trace_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
5122 /* rule 42 can match eol */
5124 if (surfxml_trace_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_trace>");} surfxml_trace_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
5127 /* rule 43 can match eol */
5129 if (surfxml_trace_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_trace>");} surfxml_trace_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
5132 /* rule 44 can match eol */
5134 if (surfxml_trace_periodicity_isset != 0) {FAIL("Multiple definition of attribute periodicity in <surfxml_trace>");} surfxml_trace_periodicity_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
5137 /* rule 45 can match eol */
5139 if (surfxml_trace_periodicity_isset != 0) {FAIL("Multiple definition of attribute periodicity in <surfxml_trace>");} surfxml_trace_periodicity_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
5144 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
5145 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
5146 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
5152 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
5153 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
5154 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
5156 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
5157 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5158 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5159 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5160 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5161 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5162 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5168 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
5172 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
5174 case YY_STATE_EOF(AL_surfxml_trace):
5175 FAIL("EOF in attribute list of `trace' element.");
5179 /* rule 50 can match eol */
5184 ETag_surfxml_trace();
5185 surfxml_pcdata_ix = popbuffer();
5186 popbuffer(); /* attribute */
5188 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
5189 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5190 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5191 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5192 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5193 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5194 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5199 /* rule 51 can match eol */
5201 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
5203 case YY_STATE_EOF(IN_trace):
5204 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace>' expected.");
5208 /* rule 52 can match eol */
5210 FAIL("Starting tag <random> is not allowed here.");
5213 /* rule 53 can match eol */
5216 AX_surfxml_random_id = 0;
5217 surfxml_random_id_isset = 0;
5218 AX_surfxml_random_min = 0;
5219 surfxml_random_min_isset = 0;
5220 AX_surfxml_random_max = 0;
5221 surfxml_random_max_isset = 0;
5222 AX_surfxml_random_mean = 0;
5223 surfxml_random_mean_isset = 0;
5224 AX_surfxml_random_std_deviation = 0;
5225 surfxml_random_std_deviation_isset = 0;
5226 AX_surfxml_random_seed = 5;
5227 surfxml_random_seed_isset = 0;
5228 AX_surfxml_random_radical = 0;
5229 surfxml_random_radical_isset = 0;
5230 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
5231 surfxml_random_generator_isset = 0;
5232 ENTER(AL_surfxml_random); pushbuffer(0);
5237 /* rule 54 can match eol */
5239 if (surfxml_random_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_random>");} surfxml_random_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
5242 /* rule 55 can match eol */
5244 if (surfxml_random_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_random>");} surfxml_random_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
5247 /* rule 56 can match eol */
5249 if (surfxml_random_min_isset != 0) {FAIL("Multiple definition of attribute min in <surfxml_random>");} surfxml_random_min_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
5252 /* rule 57 can match eol */
5254 if (surfxml_random_min_isset != 0) {FAIL("Multiple definition of attribute min in <surfxml_random>");} surfxml_random_min_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
5257 /* rule 58 can match eol */
5259 if (surfxml_random_max_isset != 0) {FAIL("Multiple definition of attribute max in <surfxml_random>");} surfxml_random_max_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
5262 /* rule 59 can match eol */
5264 if (surfxml_random_max_isset != 0) {FAIL("Multiple definition of attribute max in <surfxml_random>");} surfxml_random_max_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
5267 /* rule 60 can match eol */
5269 if (surfxml_random_mean_isset != 0) {FAIL("Multiple definition of attribute mean in <surfxml_random>");} surfxml_random_mean_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
5272 /* rule 61 can match eol */
5274 if (surfxml_random_mean_isset != 0) {FAIL("Multiple definition of attribute mean in <surfxml_random>");} surfxml_random_mean_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
5277 /* rule 62 can match eol */
5279 if (surfxml_random_std_deviation_isset != 0) {FAIL("Multiple definition of attribute std_deviation in <surfxml_random>");} surfxml_random_std_deviation_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
5282 /* rule 63 can match eol */
5284 if (surfxml_random_std_deviation_isset != 0) {FAIL("Multiple definition of attribute std_deviation in <surfxml_random>");} surfxml_random_std_deviation_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
5287 /* rule 64 can match eol */
5289 if (surfxml_random_seed_isset != 0) {FAIL("Multiple definition of attribute seed in <surfxml_random>");} surfxml_random_seed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_seed);
5292 /* rule 65 can match eol */
5294 if (surfxml_random_seed_isset != 0) {FAIL("Multiple definition of attribute seed in <surfxml_random>");} surfxml_random_seed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_seed);
5297 /* rule 66 can match eol */
5299 if (surfxml_random_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_random>");} surfxml_random_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_radical);
5302 /* rule 67 can match eol */
5304 if (surfxml_random_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_random>");} surfxml_random_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_radical);
5307 /* rule 68 can match eol */
5309 /* rule 69 can match eol */
5311 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
5314 /* rule 70 can match eol */
5316 /* rule 71 can match eol */
5318 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
5321 /* rule 72 can match eol */
5323 /* rule 73 can match eol */
5325 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
5328 /* rule 74 can match eol */
5330 /* rule 75 can match eol */
5332 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
5337 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
5338 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
5339 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
5340 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
5341 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
5342 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
5348 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
5349 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
5350 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
5351 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
5352 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
5353 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
5355 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5361 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
5365 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
5367 case YY_STATE_EOF(AL_surfxml_random):
5368 FAIL("EOF in attribute list of `random' element.");
5372 /* rule 80 can match eol */
5376 ETag_surfxml_random();
5377 popbuffer(); /* attribute */
5379 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5384 /* rule 81 can match eol */
5386 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
5390 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
5392 case YY_STATE_EOF(S_surfxml_random):
5393 case YY_STATE_EOF(S_surfxml_random_2):
5394 case YY_STATE_EOF(E_surfxml_random):
5395 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</random>' expected.");
5399 /* rule 83 can match eol */
5401 FAIL("Starting tag <trace_connect> is not allowed here.");
5404 /* rule 84 can match eol */
5407 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
5408 surfxml_trace_connect_kind_isset = 0;
5409 AX_surfxml_trace_connect_trace = 0;
5410 surfxml_trace_connect_trace_isset = 0;
5411 AX_surfxml_trace_connect_element = 0;
5412 surfxml_trace_connect_element_isset = 0;
5413 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
5418 /* rule 85 can match eol */
5420 /* rule 86 can match eol */
5422 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
5425 /* rule 87 can match eol */
5427 /* rule 88 can match eol */
5429 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
5432 /* rule 89 can match eol */
5434 /* rule 90 can match eol */
5436 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
5439 /* rule 91 can match eol */
5441 /* rule 92 can match eol */
5443 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
5446 /* rule 93 can match eol */
5448 /* rule 94 can match eol */
5450 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
5453 /* rule 95 can match eol */
5455 if (surfxml_trace_connect_trace_isset != 0) {FAIL("Multiple definition of attribute trace in <surfxml_trace_connect>");} surfxml_trace_connect_trace_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
5458 /* rule 96 can match eol */
5460 if (surfxml_trace_connect_trace_isset != 0) {FAIL("Multiple definition of attribute trace in <surfxml_trace_connect>");} surfxml_trace_connect_trace_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
5463 /* rule 97 can match eol */
5465 if (surfxml_trace_connect_element_isset != 0) {FAIL("Multiple definition of attribute element in <surfxml_trace_connect>");} surfxml_trace_connect_element_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
5468 /* rule 98 can match eol */
5470 if (surfxml_trace_connect_element_isset != 0) {FAIL("Multiple definition of attribute element in <surfxml_trace_connect>");} surfxml_trace_connect_element_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
5475 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
5476 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
5477 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
5483 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
5484 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
5485 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
5487 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
5488 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5489 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5490 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5491 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5492 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5493 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5499 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
5503 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
5505 case YY_STATE_EOF(AL_surfxml_trace_connect):
5506 FAIL("EOF in attribute list of `trace_connect' element.");
5510 /* rule 103 can match eol */
5514 ETag_surfxml_trace_connect();
5515 popbuffer(); /* attribute */
5517 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
5518 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5519 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5520 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5521 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5522 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5523 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5528 /* rule 104 can match eol */
5530 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
5534 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
5536 case YY_STATE_EOF(E_surfxml_trace_connect):
5537 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace_connect>' expected.");
5541 /* rule 106 can match eol */
5543 FAIL("Starting tag <AS> is not allowed here.");
5546 /* rule 107 can match eol */
5549 AX_surfxml_AS_id = 0;
5550 surfxml_AS_id_isset = 0;
5551 AX_surfxml_AS_routing = 0;
5552 surfxml_AS_routing_isset = 0;
5553 ENTER(AL_surfxml_AS); pushbuffer(0);
5558 /* rule 108 can match eol */
5560 if (surfxml_AS_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_AS>");} surfxml_AS_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
5563 /* rule 109 can match eol */
5565 if (surfxml_AS_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_AS>");} surfxml_AS_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
5568 /* rule 110 can match eol */
5570 if (surfxml_AS_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <surfxml_AS>");} surfxml_AS_routing_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
5573 /* rule 111 can match eol */
5575 if (surfxml_AS_routing_isset != 0) {FAIL("Multiple definition of attribute routing in <surfxml_AS>");} surfxml_AS_routing_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
5580 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5581 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5582 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
5588 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5589 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5590 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
5592 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5593 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5594 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5600 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
5604 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
5606 case YY_STATE_EOF(AL_surfxml_AS):
5607 FAIL("EOF in attribute list of `AS' element.");
5611 /* rule 116 can match eol */
5616 popbuffer(); /* attribute */
5618 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5619 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5620 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5625 /* rule 117 can match eol */
5627 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
5631 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
5633 case YY_STATE_EOF(S_surfxml_AS_9):
5634 case YY_STATE_EOF(S_surfxml_AS_1):
5635 case YY_STATE_EOF(S_surfxml_AS_11):
5636 case YY_STATE_EOF(S_surfxml_AS_6):
5637 case YY_STATE_EOF(E_surfxml_AS):
5638 case YY_STATE_EOF(S_surfxml_AS_3):
5639 case YY_STATE_EOF(S_surfxml_AS_13):
5640 case YY_STATE_EOF(S_surfxml_AS_8):
5641 case YY_STATE_EOF(S_surfxml_AS):
5642 case YY_STATE_EOF(S_surfxml_AS_4):
5643 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</AS>' expected.");
5647 /* rule 119 can match eol */
5649 FAIL("Starting tag <storage_type> is not allowed here.");
5652 /* rule 120 can match eol */
5655 AX_surfxml_storage_type_id = 0;
5656 surfxml_storage_type_id_isset = 0;
5657 AX_surfxml_storage_type_model = 0;
5658 surfxml_storage_type_model_isset = 0;
5659 AX_surfxml_storage_type_size = 0;
5660 surfxml_storage_type_size_isset = 0;
5661 AX_surfxml_storage_type_content = 0;
5662 surfxml_storage_type_content_isset = 0;
5663 ENTER(AL_surfxml_storage_type); pushbuffer(0);
5668 /* rule 121 can match eol */
5670 if (surfxml_storage_type_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage_type>");} surfxml_storage_type_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_type_id);
5673 /* rule 122 can match eol */
5675 if (surfxml_storage_type_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage_type>");} surfxml_storage_type_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_type_id);
5678 /* rule 123 can match eol */
5680 if (surfxml_storage_type_model_isset != 0) {FAIL("Multiple definition of attribute model in <surfxml_storage_type>");} surfxml_storage_type_model_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_type_model);
5683 /* rule 124 can match eol */
5685 if (surfxml_storage_type_model_isset != 0) {FAIL("Multiple definition of attribute model in <surfxml_storage_type>");} surfxml_storage_type_model_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_type_model);
5688 /* rule 125 can match eol */
5690 if (surfxml_storage_type_size_isset != 0) {FAIL("Multiple definition of attribute size in <surfxml_storage_type>");} surfxml_storage_type_size_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_type_size);
5693 /* rule 126 can match eol */
5695 if (surfxml_storage_type_size_isset != 0) {FAIL("Multiple definition of attribute size in <surfxml_storage_type>");} surfxml_storage_type_size_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_type_size);
5698 /* rule 127 can match eol */
5700 if (surfxml_storage_type_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage_type>");} surfxml_storage_type_content_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_type_content);
5703 /* rule 128 can match eol */
5705 if (surfxml_storage_type_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage_type>");} surfxml_storage_type_content_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_type_content);
5710 if (!AX_surfxml_storage_type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
5711 if (!AX_surfxml_storage_type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
5712 if (!AX_surfxml_storage_type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
5713 LEAVE; STag_surfxml_storage_type();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage_type);
5719 if (!AX_surfxml_storage_type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
5720 if (!AX_surfxml_storage_type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
5721 if (!AX_surfxml_storage_type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
5722 LEAVE; STag_surfxml_storage_type(); surfxml_pcdata_ix = 0; ETag_surfxml_storage_type(); popbuffer(); /* attribute */
5724 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5725 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5731 FAIL("Unexpected character `%c' in attribute list of storage_type element.", surf_parse_text[0]);
5735 FAIL("Bad attribute `%s' in `storage_type' element start tag.",surf_parse_text);
5737 case YY_STATE_EOF(AL_surfxml_storage_type):
5738 FAIL("EOF in attribute list of `storage_type' element.");
5742 /* rule 133 can match eol */
5746 ETag_surfxml_storage_type();
5747 popbuffer(); /* attribute */
5749 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5750 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5755 /* rule 134 can match eol */
5757 FAIL("Unexpected end-tag `%s': `</storage_type>' expected.",surf_parse_text);
5761 FAIL("Unexpected character `%c': `</storage_type>' expected.",surf_parse_text[0]);
5763 case YY_STATE_EOF(E_surfxml_storage_type):
5764 case YY_STATE_EOF(S_surfxml_storage_type_2):
5765 case YY_STATE_EOF(S_surfxml_storage_type):
5766 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage_type>' expected.");
5770 /* rule 136 can match eol */
5772 FAIL("Starting tag <storage> is not allowed here.");
5775 /* rule 137 can match eol */
5778 AX_surfxml_storage_id = 0;
5779 surfxml_storage_id_isset = 0;
5780 AX_surfxml_storage_typeId = 0;
5781 surfxml_storage_typeId_isset = 0;
5782 ENTER(AL_surfxml_storage); pushbuffer(0);
5787 /* rule 138 can match eol */
5789 if (surfxml_storage_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage>");} surfxml_storage_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_id);
5792 /* rule 139 can match eol */
5794 if (surfxml_storage_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage>");} surfxml_storage_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_id);
5797 /* rule 140 can match eol */
5799 if (surfxml_storage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_storage>");} surfxml_storage_typeId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_typeId);
5802 /* rule 141 can match eol */
5804 if (surfxml_storage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_storage>");} surfxml_storage_typeId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_typeId);
5809 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5810 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
5811 LEAVE; STag_surfxml_storage();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage);
5817 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5818 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
5819 LEAVE; STag_surfxml_storage(); surfxml_pcdata_ix = 0; ETag_surfxml_storage(); popbuffer(); /* attribute */
5821 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5822 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5828 FAIL("Unexpected character `%c' in attribute list of storage element.", surf_parse_text[0]);
5832 FAIL("Bad attribute `%s' in `storage' element start tag.",surf_parse_text);
5834 case YY_STATE_EOF(AL_surfxml_storage):
5835 FAIL("EOF in attribute list of `storage' element.");
5839 /* rule 146 can match eol */
5843 ETag_surfxml_storage();
5844 popbuffer(); /* attribute */
5846 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5847 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5852 /* rule 147 can match eol */
5854 FAIL("Unexpected end-tag `%s': `</storage>' expected.",surf_parse_text);
5858 FAIL("Unexpected character `%c': `</storage>' expected.",surf_parse_text[0]);
5860 case YY_STATE_EOF(E_surfxml_storage):
5861 case YY_STATE_EOF(S_surfxml_storage):
5862 case YY_STATE_EOF(S_surfxml_storage_2):
5863 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage>' expected.");
5867 /* rule 149 can match eol */
5869 FAIL("Starting tag <mount> is not allowed here.");
5872 /* rule 150 can match eol */
5875 AX_surfxml_mount_id = 0;
5876 surfxml_mount_id_isset = 0;
5877 AX_surfxml_mount_name = 0;
5878 surfxml_mount_name_isset = 0;
5879 ENTER(AL_surfxml_mount); pushbuffer(0);
5884 /* rule 151 can match eol */
5886 if (surfxml_mount_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_mount>");} surfxml_mount_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mount_id);
5889 /* rule 152 can match eol */
5891 if (surfxml_mount_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_mount>");} surfxml_mount_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mount_id);
5894 /* rule 153 can match eol */
5896 if (surfxml_mount_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mount>");} surfxml_mount_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mount_name);
5899 /* rule 154 can match eol */
5901 if (surfxml_mount_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mount>");} surfxml_mount_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mount_name);
5906 if (!AX_surfxml_mount_id) FAIL("Required attribute `id' not set for `mount' element.");
5907 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
5908 LEAVE; STag_surfxml_mount();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mount);
5914 if (!AX_surfxml_mount_id) FAIL("Required attribute `id' not set for `mount' element.");
5915 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
5916 LEAVE; STag_surfxml_mount(); surfxml_pcdata_ix = 0; ETag_surfxml_mount(); popbuffer(); /* attribute */
5918 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5924 FAIL("Unexpected character `%c' in attribute list of mount element.", surf_parse_text[0]);
5928 FAIL("Bad attribute `%s' in `mount' element start tag.",surf_parse_text);
5930 case YY_STATE_EOF(AL_surfxml_mount):
5931 FAIL("EOF in attribute list of `mount' element.");
5935 /* rule 159 can match eol */
5939 ETag_surfxml_mount();
5940 popbuffer(); /* attribute */
5942 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5947 /* rule 160 can match eol */
5949 FAIL("Unexpected end-tag `%s': `</mount>' expected.",surf_parse_text);
5953 FAIL("Unexpected character `%c': `</mount>' expected.",surf_parse_text[0]);
5955 case YY_STATE_EOF(E_surfxml_mount):
5956 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mount>' expected.");
5960 /* rule 162 can match eol */
5962 FAIL("Starting tag <mstorage> is not allowed here.");
5965 /* rule 163 can match eol */
5968 AX_surfxml_mstorage_typeId = 0;
5969 surfxml_mstorage_typeId_isset = 0;
5970 AX_surfxml_mstorage_name = 0;
5971 surfxml_mstorage_name_isset = 0;
5972 ENTER(AL_surfxml_mstorage); pushbuffer(0);
5977 /* rule 164 can match eol */
5979 if (surfxml_mstorage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_mstorage>");} surfxml_mstorage_typeId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mstorage_typeId);
5982 /* rule 165 can match eol */
5984 if (surfxml_mstorage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_mstorage>");} surfxml_mstorage_typeId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mstorage_typeId);
5987 /* rule 166 can match eol */
5989 if (surfxml_mstorage_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mstorage>");} surfxml_mstorage_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mstorage_name);
5992 /* rule 167 can match eol */
5994 if (surfxml_mstorage_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mstorage>");} surfxml_mstorage_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mstorage_name);
5999 if (!AX_surfxml_mstorage_typeId) FAIL("Required attribute `typeId' not set for `mstorage' element.");
6000 if (!AX_surfxml_mstorage_name) FAIL("Required attribute `name' not set for `mstorage' element.");
6001 LEAVE; STag_surfxml_mstorage();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mstorage);
6007 if (!AX_surfxml_mstorage_typeId) FAIL("Required attribute `typeId' not set for `mstorage' element.");
6008 if (!AX_surfxml_mstorage_name) FAIL("Required attribute `name' not set for `mstorage' element.");
6009 LEAVE; STag_surfxml_mstorage(); surfxml_pcdata_ix = 0; ETag_surfxml_mstorage(); popbuffer(); /* attribute */
6011 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6017 FAIL("Unexpected character `%c' in attribute list of mstorage element.", surf_parse_text[0]);
6021 FAIL("Bad attribute `%s' in `mstorage' element start tag.",surf_parse_text);
6023 case YY_STATE_EOF(AL_surfxml_mstorage):
6024 FAIL("EOF in attribute list of `mstorage' element.");
6028 /* rule 172 can match eol */
6032 ETag_surfxml_mstorage();
6033 popbuffer(); /* attribute */
6035 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6040 /* rule 173 can match eol */
6042 FAIL("Unexpected end-tag `%s': `</mstorage>' expected.",surf_parse_text);
6046 FAIL("Unexpected character `%c': `</mstorage>' expected.",surf_parse_text[0]);
6048 case YY_STATE_EOF(E_surfxml_mstorage):
6049 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mstorage>' expected.");
6053 /* rule 175 can match eol */
6055 FAIL("Starting tag <host> is not allowed here.");
6058 /* rule 176 can match eol */
6061 AX_surfxml_host_id = 0;
6062 surfxml_host_id_isset = 0;
6063 AX_surfxml_host_power = 0;
6064 surfxml_host_power_isset = 0;
6065 AX_surfxml_host_core = 16;
6066 surfxml_host_core_isset = 0;
6067 AX_surfxml_host_availability = 18;
6068 surfxml_host_availability_isset = 0;
6069 AX_surfxml_host_availability_file = 0;
6070 surfxml_host_availability_file_isset = 0;
6071 AX_surfxml_host_state = A_surfxml_host_state_ON;
6072 surfxml_host_state_isset = 0;
6073 AX_surfxml_host_state_file = 0;
6074 surfxml_host_state_file_isset = 0;
6075 AX_surfxml_host_coordinates = 0;
6076 surfxml_host_coordinates_isset = 0;
6077 ENTER(AL_surfxml_host); pushbuffer(0);
6082 /* rule 177 can match eol */
6084 if (surfxml_host_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_host>");} surfxml_host_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
6087 /* rule 178 can match eol */
6089 if (surfxml_host_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_host>");} surfxml_host_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
6092 /* rule 179 can match eol */
6094 if (surfxml_host_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_host>");} surfxml_host_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
6097 /* rule 180 can match eol */
6099 if (surfxml_host_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_host>");} surfxml_host_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
6102 /* rule 181 can match eol */
6104 if (surfxml_host_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_host>");} surfxml_host_core_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
6107 /* rule 182 can match eol */
6109 if (surfxml_host_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_host>");} surfxml_host_core_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
6112 /* rule 183 can match eol */
6114 if (surfxml_host_availability_isset != 0) {FAIL("Multiple definition of attribute availability in <surfxml_host>");} surfxml_host_availability_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
6117 /* rule 184 can match eol */
6119 if (surfxml_host_availability_isset != 0) {FAIL("Multiple definition of attribute availability in <surfxml_host>");} surfxml_host_availability_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
6122 /* rule 185 can match eol */
6124 if (surfxml_host_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_host>");} surfxml_host_availability_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
6127 /* rule 186 can match eol */
6129 if (surfxml_host_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_host>");} surfxml_host_availability_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
6132 /* rule 187 can match eol */
6134 /* rule 188 can match eol */
6136 A_surfxml_host_state = A_surfxml_host_state_ON;
6139 /* rule 189 can match eol */
6141 /* rule 190 can match eol */
6143 A_surfxml_host_state = A_surfxml_host_state_OFF;
6146 /* rule 191 can match eol */
6148 if (surfxml_host_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_host>");} surfxml_host_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
6151 /* rule 192 can match eol */
6153 if (surfxml_host_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_host>");} surfxml_host_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
6156 /* rule 193 can match eol */
6158 if (surfxml_host_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_host>");} surfxml_host_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
6161 /* rule 194 can match eol */
6163 if (surfxml_host_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_host>");} surfxml_host_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
6168 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
6169 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
6170 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
6176 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
6177 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
6178 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
6180 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6186 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
6190 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
6192 case YY_STATE_EOF(AL_surfxml_host):
6193 FAIL("EOF in attribute list of `host' element.");
6197 /* rule 199 can match eol */
6201 ETag_surfxml_host();
6202 popbuffer(); /* attribute */
6204 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6209 /* rule 200 can match eol */
6211 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
6215 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
6217 case YY_STATE_EOF(S_surfxml_host):
6218 case YY_STATE_EOF(E_surfxml_host):
6219 case YY_STATE_EOF(S_surfxml_host_2):
6220 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host>' expected.");
6224 /* rule 202 can match eol */
6226 FAIL("Starting tag <cluster> is not allowed here.");
6229 /* rule 203 can match eol */
6232 AX_surfxml_cluster_id = 0;
6233 surfxml_cluster_id_isset = 0;
6234 AX_surfxml_cluster_prefix = 0;
6235 surfxml_cluster_prefix_isset = 0;
6236 AX_surfxml_cluster_suffix = 0;
6237 surfxml_cluster_suffix_isset = 0;
6238 AX_surfxml_cluster_radical = 0;
6239 surfxml_cluster_radical_isset = 0;
6240 AX_surfxml_cluster_power = 0;
6241 surfxml_cluster_power_isset = 0;
6242 AX_surfxml_cluster_core = 22;
6243 surfxml_cluster_core_isset = 0;
6244 AX_surfxml_cluster_bw = 0;
6245 surfxml_cluster_bw_isset = 0;
6246 AX_surfxml_cluster_lat = 0;
6247 surfxml_cluster_lat_isset = 0;
6248 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
6249 surfxml_cluster_sharing_policy_isset = 0;
6250 AX_surfxml_cluster_bb_bw = 0;
6251 surfxml_cluster_bb_bw_isset = 0;
6252 AX_surfxml_cluster_bb_lat = 0;
6253 surfxml_cluster_bb_lat_isset = 0;
6254 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
6255 surfxml_cluster_bb_sharing_policy_isset = 0;
6256 AX_surfxml_cluster_availability_file = 0;
6257 surfxml_cluster_availability_file_isset = 0;
6258 AX_surfxml_cluster_state_file = 0;
6259 surfxml_cluster_state_file_isset = 0;
6260 AX_surfxml_cluster_router_id = 0;
6261 surfxml_cluster_router_id_isset = 0;
6262 ENTER(AL_surfxml_cluster); pushbuffer(0);
6267 /* rule 204 can match eol */
6269 if (surfxml_cluster_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_cluster>");} surfxml_cluster_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
6272 /* rule 205 can match eol */
6274 if (surfxml_cluster_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_cluster>");} surfxml_cluster_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
6277 /* rule 206 can match eol */
6279 if (surfxml_cluster_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <surfxml_cluster>");} surfxml_cluster_prefix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
6282 /* rule 207 can match eol */
6284 if (surfxml_cluster_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <surfxml_cluster>");} surfxml_cluster_prefix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
6287 /* rule 208 can match eol */
6289 if (surfxml_cluster_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <surfxml_cluster>");} surfxml_cluster_suffix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
6292 /* rule 209 can match eol */
6294 if (surfxml_cluster_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <surfxml_cluster>");} surfxml_cluster_suffix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
6297 /* rule 210 can match eol */
6299 if (surfxml_cluster_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_cluster>");} surfxml_cluster_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
6302 /* rule 211 can match eol */
6304 if (surfxml_cluster_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_cluster>");} surfxml_cluster_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
6307 /* rule 212 can match eol */
6309 if (surfxml_cluster_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_cluster>");} surfxml_cluster_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
6312 /* rule 213 can match eol */
6314 if (surfxml_cluster_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_cluster>");} surfxml_cluster_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
6317 /* rule 214 can match eol */
6319 if (surfxml_cluster_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_cluster>");} surfxml_cluster_core_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
6322 /* rule 215 can match eol */
6324 if (surfxml_cluster_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_cluster>");} surfxml_cluster_core_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
6327 /* rule 216 can match eol */
6329 if (surfxml_cluster_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <surfxml_cluster>");} surfxml_cluster_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
6332 /* rule 217 can match eol */
6334 if (surfxml_cluster_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <surfxml_cluster>");} surfxml_cluster_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
6337 /* rule 218 can match eol */
6339 if (surfxml_cluster_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_cluster>");} surfxml_cluster_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
6342 /* rule 219 can match eol */
6344 if (surfxml_cluster_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_cluster>");} surfxml_cluster_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
6347 /* rule 220 can match eol */
6349 /* rule 221 can match eol */
6351 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
6354 /* rule 222 can match eol */
6356 /* rule 223 can match eol */
6358 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
6361 /* rule 224 can match eol */
6363 /* rule 225 can match eol */
6365 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
6368 /* rule 226 can match eol */
6370 if (surfxml_cluster_bb_bw_isset != 0) {FAIL("Multiple definition of attribute bb_bw in <surfxml_cluster>");} surfxml_cluster_bb_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
6373 /* rule 227 can match eol */
6375 if (surfxml_cluster_bb_bw_isset != 0) {FAIL("Multiple definition of attribute bb_bw in <surfxml_cluster>");} surfxml_cluster_bb_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
6378 /* rule 228 can match eol */
6380 if (surfxml_cluster_bb_lat_isset != 0) {FAIL("Multiple definition of attribute bb_lat in <surfxml_cluster>");} surfxml_cluster_bb_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
6383 /* rule 229 can match eol */
6385 if (surfxml_cluster_bb_lat_isset != 0) {FAIL("Multiple definition of attribute bb_lat in <surfxml_cluster>");} surfxml_cluster_bb_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
6388 /* rule 230 can match eol */
6390 /* rule 231 can match eol */
6392 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
6395 /* rule 232 can match eol */
6397 /* rule 233 can match eol */
6399 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
6402 /* rule 234 can match eol */
6404 if (surfxml_cluster_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_cluster>");} surfxml_cluster_availability_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability_file);
6407 /* rule 235 can match eol */
6409 if (surfxml_cluster_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_cluster>");} surfxml_cluster_availability_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability_file);
6412 /* rule 236 can match eol */
6414 if (surfxml_cluster_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_cluster>");} surfxml_cluster_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state_file);
6417 /* rule 237 can match eol */
6419 if (surfxml_cluster_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_cluster>");} surfxml_cluster_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state_file);
6422 /* rule 238 can match eol */
6424 if (surfxml_cluster_router_id_isset != 0) {FAIL("Multiple definition of attribute router_id in <surfxml_cluster>");} surfxml_cluster_router_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_router_id);
6427 /* rule 239 can match eol */
6429 if (surfxml_cluster_router_id_isset != 0) {FAIL("Multiple definition of attribute router_id in <surfxml_cluster>");} surfxml_cluster_router_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_router_id);
6434 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6435 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6436 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6437 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6438 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
6439 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6440 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6441 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
6447 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6448 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6449 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6450 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6451 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
6452 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6453 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6454 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
6456 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6457 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
6458 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6464 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
6468 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
6470 case YY_STATE_EOF(AL_surfxml_cluster):
6471 FAIL("EOF in attribute list of `cluster' element.");
6475 /* rule 244 can match eol */
6479 ETag_surfxml_cluster();
6480 popbuffer(); /* attribute */
6482 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6483 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
6484 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6489 /* rule 245 can match eol */
6491 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
6495 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
6497 case YY_STATE_EOF(E_surfxml_cluster):
6498 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cluster>' expected.");
6502 /* rule 247 can match eol */
6504 FAIL("Starting tag <peer> is not allowed here.");
6507 /* rule 248 can match eol */
6510 AX_surfxml_peer_id = 0;
6511 surfxml_peer_id_isset = 0;
6512 AX_surfxml_peer_power = 0;
6513 surfxml_peer_power_isset = 0;
6514 AX_surfxml_peer_bw_in = 0;
6515 surfxml_peer_bw_in_isset = 0;
6516 AX_surfxml_peer_bw_out = 0;
6517 surfxml_peer_bw_out_isset = 0;
6518 AX_surfxml_peer_lat = 0;
6519 surfxml_peer_lat_isset = 0;
6520 AX_surfxml_peer_coordinates = 0;
6521 surfxml_peer_coordinates_isset = 0;
6522 AX_surfxml_peer_availability_file = 0;
6523 surfxml_peer_availability_file_isset = 0;
6524 AX_surfxml_peer_state_file = 0;
6525 surfxml_peer_state_file_isset = 0;
6526 ENTER(AL_surfxml_peer); pushbuffer(0);
6531 /* rule 249 can match eol */
6533 if (surfxml_peer_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_peer>");} surfxml_peer_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
6536 /* rule 250 can match eol */
6538 if (surfxml_peer_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_peer>");} surfxml_peer_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
6541 /* rule 251 can match eol */
6543 if (surfxml_peer_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_peer>");} surfxml_peer_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
6546 /* rule 252 can match eol */
6548 if (surfxml_peer_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_peer>");} surfxml_peer_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
6551 /* rule 253 can match eol */
6553 if (surfxml_peer_bw_in_isset != 0) {FAIL("Multiple definition of attribute bw_in in <surfxml_peer>");} surfxml_peer_bw_in_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
6556 /* rule 254 can match eol */
6558 if (surfxml_peer_bw_in_isset != 0) {FAIL("Multiple definition of attribute bw_in in <surfxml_peer>");} surfxml_peer_bw_in_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
6561 /* rule 255 can match eol */
6563 if (surfxml_peer_bw_out_isset != 0) {FAIL("Multiple definition of attribute bw_out in <surfxml_peer>");} surfxml_peer_bw_out_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
6566 /* rule 256 can match eol */
6568 if (surfxml_peer_bw_out_isset != 0) {FAIL("Multiple definition of attribute bw_out in <surfxml_peer>");} surfxml_peer_bw_out_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
6571 /* rule 257 can match eol */
6573 if (surfxml_peer_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_peer>");} surfxml_peer_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
6576 /* rule 258 can match eol */
6578 if (surfxml_peer_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_peer>");} surfxml_peer_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
6581 /* rule 259 can match eol */
6583 if (surfxml_peer_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_peer>");} surfxml_peer_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
6586 /* rule 260 can match eol */
6588 if (surfxml_peer_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_peer>");} surfxml_peer_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
6591 /* rule 261 can match eol */
6593 if (surfxml_peer_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_peer>");} surfxml_peer_availability_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability_file);
6596 /* rule 262 can match eol */
6598 if (surfxml_peer_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_peer>");} surfxml_peer_availability_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability_file);
6601 /* rule 263 can match eol */
6603 if (surfxml_peer_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_peer>");} surfxml_peer_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state_file);
6606 /* rule 264 can match eol */
6608 if (surfxml_peer_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_peer>");} surfxml_peer_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state_file);
6613 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
6614 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
6615 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
6616 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
6617 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
6618 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
6624 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
6625 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
6626 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
6627 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
6628 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
6629 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
6631 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6632 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
6633 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6639 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
6643 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
6645 case YY_STATE_EOF(AL_surfxml_peer):
6646 FAIL("EOF in attribute list of `peer' element.");
6650 /* rule 269 can match eol */
6654 ETag_surfxml_peer();
6655 popbuffer(); /* attribute */
6657 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6658 case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
6659 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6664 /* rule 270 can match eol */
6666 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
6670 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
6672 case YY_STATE_EOF(E_surfxml_peer):
6673 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</peer>' expected.");
6677 /* rule 272 can match eol */
6679 FAIL("Starting tag <router> is not allowed here.");
6682 /* rule 273 can match eol */
6685 AX_surfxml_router_id = 0;
6686 surfxml_router_id_isset = 0;
6687 AX_surfxml_router_coordinates = 0;
6688 surfxml_router_coordinates_isset = 0;
6689 ENTER(AL_surfxml_router); pushbuffer(0);
6694 /* rule 274 can match eol */
6696 if (surfxml_router_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_router>");} surfxml_router_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
6699 /* rule 275 can match eol */
6701 if (surfxml_router_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_router>");} surfxml_router_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
6704 /* rule 276 can match eol */
6706 if (surfxml_router_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_router>");} surfxml_router_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
6709 /* rule 277 can match eol */
6711 if (surfxml_router_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_router>");} surfxml_router_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
6716 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
6717 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
6723 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
6724 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
6726 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6732 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
6736 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
6738 case YY_STATE_EOF(AL_surfxml_router):
6739 FAIL("EOF in attribute list of `router' element.");
6743 /* rule 282 can match eol */
6747 ETag_surfxml_router();
6748 popbuffer(); /* attribute */
6750 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6755 /* rule 283 can match eol */
6757 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
6761 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
6763 case YY_STATE_EOF(E_surfxml_router):
6764 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</router>' expected.");
6768 /* rule 285 can match eol */
6770 FAIL("Starting tag <link> is not allowed here.");
6773 /* rule 286 can match eol */
6776 AX_surfxml_link_id = 0;
6777 surfxml_link_id_isset = 0;
6778 AX_surfxml_link_bandwidth = 0;
6779 surfxml_link_bandwidth_isset = 0;
6780 AX_surfxml_link_bandwidth_file = 0;
6781 surfxml_link_bandwidth_file_isset = 0;
6782 AX_surfxml_link_latency = 24;
6783 surfxml_link_latency_isset = 0;
6784 AX_surfxml_link_latency_file = 0;
6785 surfxml_link_latency_file_isset = 0;
6786 AX_surfxml_link_state = A_surfxml_link_state_ON;
6787 surfxml_link_state_isset = 0;
6788 AX_surfxml_link_state_file = 0;
6789 surfxml_link_state_file_isset = 0;
6790 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
6791 surfxml_link_sharing_policy_isset = 0;
6792 ENTER(AL_surfxml_link); pushbuffer(0);
6797 /* rule 287 can match eol */
6799 if (surfxml_link_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link>");} surfxml_link_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
6802 /* rule 288 can match eol */
6804 if (surfxml_link_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link>");} surfxml_link_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
6807 /* rule 289 can match eol */
6809 if (surfxml_link_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <surfxml_link>");} surfxml_link_bandwidth_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
6812 /* rule 290 can match eol */
6814 if (surfxml_link_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <surfxml_link>");} surfxml_link_bandwidth_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
6817 /* rule 291 can match eol */
6819 if (surfxml_link_bandwidth_file_isset != 0) {FAIL("Multiple definition of attribute bandwidth_file in <surfxml_link>");} surfxml_link_bandwidth_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
6822 /* rule 292 can match eol */
6824 if (surfxml_link_bandwidth_file_isset != 0) {FAIL("Multiple definition of attribute bandwidth_file in <surfxml_link>");} surfxml_link_bandwidth_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
6827 /* rule 293 can match eol */
6829 if (surfxml_link_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <surfxml_link>");} surfxml_link_latency_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
6832 /* rule 294 can match eol */
6834 if (surfxml_link_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <surfxml_link>");} surfxml_link_latency_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
6837 /* rule 295 can match eol */
6839 if (surfxml_link_latency_file_isset != 0) {FAIL("Multiple definition of attribute latency_file in <surfxml_link>");} surfxml_link_latency_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
6842 /* rule 296 can match eol */
6844 if (surfxml_link_latency_file_isset != 0) {FAIL("Multiple definition of attribute latency_file in <surfxml_link>");} surfxml_link_latency_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
6847 /* rule 297 can match eol */
6849 /* rule 298 can match eol */
6851 A_surfxml_link_state = A_surfxml_link_state_ON;
6854 /* rule 299 can match eol */
6856 /* rule 300 can match eol */
6858 A_surfxml_link_state = A_surfxml_link_state_OFF;
6861 /* rule 301 can match eol */
6863 if (surfxml_link_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_link>");} surfxml_link_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
6866 /* rule 302 can match eol */
6868 if (surfxml_link_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_link>");} surfxml_link_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
6871 /* rule 303 can match eol */
6873 /* rule 304 can match eol */
6875 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
6878 /* rule 305 can match eol */
6880 /* rule 306 can match eol */
6882 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
6885 /* rule 307 can match eol */
6887 /* rule 308 can match eol */
6889 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
6894 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
6895 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
6896 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
6902 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
6903 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
6904 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
6906 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6907 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6913 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
6917 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
6919 case YY_STATE_EOF(AL_surfxml_link):
6920 FAIL("EOF in attribute list of `link' element.");
6924 /* rule 313 can match eol */
6928 ETag_surfxml_link();
6929 popbuffer(); /* attribute */
6931 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6932 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6937 /* rule 314 can match eol */
6939 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
6943 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
6945 case YY_STATE_EOF(E_surfxml_link):
6946 case YY_STATE_EOF(S_surfxml_link_2):
6947 case YY_STATE_EOF(S_surfxml_link):
6948 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link>' expected.");
6952 /* rule 316 can match eol */
6954 FAIL("Starting tag <route> is not allowed here.");
6957 /* rule 317 can match eol */
6960 AX_surfxml_route_src = 0;
6961 surfxml_route_src_isset = 0;
6962 AX_surfxml_route_dst = 0;
6963 surfxml_route_dst_isset = 0;
6964 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
6965 surfxml_route_symmetrical_isset = 0;
6966 ENTER(AL_surfxml_route); pushbuffer(0);
6971 /* rule 318 can match eol */
6973 if (surfxml_route_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_route>");} surfxml_route_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
6976 /* rule 319 can match eol */
6978 if (surfxml_route_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_route>");} surfxml_route_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
6981 /* rule 320 can match eol */
6983 if (surfxml_route_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_route>");} surfxml_route_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
6986 /* rule 321 can match eol */
6988 if (surfxml_route_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_route>");} surfxml_route_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
6991 /* rule 322 can match eol */
6993 /* rule 323 can match eol */
6995 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
6998 /* rule 324 can match eol */
7000 /* rule 325 can match eol */
7002 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
7007 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
7008 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
7009 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
7015 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
7016 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
7017 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
7019 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
7025 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
7029 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
7031 case YY_STATE_EOF(AL_surfxml_route):
7032 FAIL("EOF in attribute list of `route' element.");
7036 /* rule 330 can match eol */
7040 ETag_surfxml_route();
7041 popbuffer(); /* attribute */
7043 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
7048 /* rule 331 can match eol */
7050 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
7054 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
7056 case YY_STATE_EOF(S_surfxml_route):
7057 case YY_STATE_EOF(S_surfxml_route_2):
7058 case YY_STATE_EOF(E_surfxml_route):
7059 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</route>' expected.");
7063 /* rule 333 can match eol */
7065 FAIL("Starting tag <ASroute> is not allowed here.");
7068 /* rule 334 can match eol */
7071 AX_surfxml_ASroute_src = 0;
7072 surfxml_ASroute_src_isset = 0;
7073 AX_surfxml_ASroute_dst = 0;
7074 surfxml_ASroute_dst_isset = 0;
7075 AX_surfxml_ASroute_gw_src = 0;
7076 surfxml_ASroute_gw_src_isset = 0;
7077 AX_surfxml_ASroute_gw_dst = 0;
7078 surfxml_ASroute_gw_dst_isset = 0;
7079 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
7080 surfxml_ASroute_symmetrical_isset = 0;
7081 ENTER(AL_surfxml_ASroute); pushbuffer(0);
7086 /* rule 335 can match eol */
7088 if (surfxml_ASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_ASroute>");} surfxml_ASroute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
7091 /* rule 336 can match eol */
7093 if (surfxml_ASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_ASroute>");} surfxml_ASroute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
7096 /* rule 337 can match eol */
7098 if (surfxml_ASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_ASroute>");} surfxml_ASroute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
7101 /* rule 338 can match eol */
7103 if (surfxml_ASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_ASroute>");} surfxml_ASroute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
7106 /* rule 339 can match eol */
7108 if (surfxml_ASroute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_ASroute>");} surfxml_ASroute_gw_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
7111 /* rule 340 can match eol */
7113 if (surfxml_ASroute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_ASroute>");} surfxml_ASroute_gw_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
7116 /* rule 341 can match eol */
7118 if (surfxml_ASroute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_ASroute>");} surfxml_ASroute_gw_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
7121 /* rule 342 can match eol */
7123 if (surfxml_ASroute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_ASroute>");} surfxml_ASroute_gw_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
7126 /* rule 343 can match eol */
7128 /* rule 344 can match eol */
7130 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
7133 /* rule 345 can match eol */
7135 /* rule 346 can match eol */
7137 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
7142 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
7143 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
7144 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
7145 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
7146 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
7152 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
7153 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
7154 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
7155 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
7156 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
7158 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
7164 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
7168 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
7170 case YY_STATE_EOF(AL_surfxml_ASroute):
7171 FAIL("EOF in attribute list of `ASroute' element.");
7175 /* rule 351 can match eol */
7179 ETag_surfxml_ASroute();
7180 popbuffer(); /* attribute */
7182 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
7187 /* rule 352 can match eol */
7189 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
7193 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
7195 case YY_STATE_EOF(E_surfxml_ASroute):
7196 case YY_STATE_EOF(S_surfxml_ASroute):
7197 case YY_STATE_EOF(S_surfxml_ASroute_2):
7198 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</ASroute>' expected.");
7202 /* rule 354 can match eol */
7204 FAIL("Starting tag <link_ctn> is not allowed here.");
7207 /* rule 355 can match eol */
7210 AX_surfxml_link_ctn_id = 0;
7211 surfxml_link_ctn_id_isset = 0;
7212 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
7213 surfxml_link_ctn_direction_isset = 0;
7214 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
7219 /* rule 356 can match eol */
7221 if (surfxml_link_ctn_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link_ctn>");} surfxml_link_ctn_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
7224 /* rule 357 can match eol */
7226 if (surfxml_link_ctn_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link_ctn>");} surfxml_link_ctn_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
7229 /* rule 358 can match eol */
7231 /* rule 359 can match eol */
7233 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
7236 /* rule 360 can match eol */
7238 /* rule 361 can match eol */
7240 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
7243 /* rule 362 can match eol */
7245 /* rule 363 can match eol */
7247 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
7252 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7253 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
7259 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7260 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
7262 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
7263 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7264 case S_surfxml_bypassASroute_2: case S_surfxml_bypassASroute_1: case S_surfxml_bypassASroute: SET(S_surfxml_bypassASroute_2); break;
7265 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7271 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
7275 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
7277 case YY_STATE_EOF(AL_surfxml_link_ctn):
7278 FAIL("EOF in attribute list of `link_ctn' element.");
7282 /* rule 368 can match eol */
7286 ETag_surfxml_link_ctn();
7287 popbuffer(); /* attribute */
7289 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
7290 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7291 case S_surfxml_bypassASroute_2: case S_surfxml_bypassASroute_1: case S_surfxml_bypassASroute: SET(S_surfxml_bypassASroute_2); break;
7292 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7297 /* rule 369 can match eol */
7299 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
7303 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
7305 case YY_STATE_EOF(E_surfxml_link_ctn):
7306 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link_ctn>' expected.");
7310 /* rule 371 can match eol */
7312 FAIL("Starting tag <bypassRoute> is not allowed here.");
7315 /* rule 372 can match eol */
7318 AX_surfxml_bypassRoute_src = 0;
7319 surfxml_bypassRoute_src_isset = 0;
7320 AX_surfxml_bypassRoute_dst = 0;
7321 surfxml_bypassRoute_dst_isset = 0;
7322 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
7327 /* rule 373 can match eol */
7329 if (surfxml_bypassRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassRoute>");} surfxml_bypassRoute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
7332 /* rule 374 can match eol */
7334 if (surfxml_bypassRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassRoute>");} surfxml_bypassRoute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
7337 /* rule 375 can match eol */
7339 if (surfxml_bypassRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
7342 /* rule 376 can match eol */
7344 if (surfxml_bypassRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
7349 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7350 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7351 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
7357 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7358 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7359 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
7361 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
7367 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
7371 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
7373 case YY_STATE_EOF(AL_surfxml_bypassRoute):
7374 FAIL("EOF in attribute list of `bypassRoute' element.");
7378 /* rule 381 can match eol */
7382 ETag_surfxml_bypassRoute();
7383 popbuffer(); /* attribute */
7385 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
7390 /* rule 382 can match eol */
7392 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
7396 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
7398 case YY_STATE_EOF(S_surfxml_bypassRoute):
7399 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
7400 case YY_STATE_EOF(E_surfxml_bypassRoute):
7401 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassRoute>' expected.");
7405 /* rule 384 can match eol */
7407 FAIL("Starting tag <bypassASroute> is not allowed here.");
7410 /* rule 385 can match eol */
7413 AX_surfxml_bypassASroute_src = 0;
7414 surfxml_bypassASroute_src_isset = 0;
7415 AX_surfxml_bypassASroute_dst = 0;
7416 surfxml_bypassASroute_dst_isset = 0;
7417 AX_surfxml_bypassASroute_gw_src = 0;
7418 surfxml_bypassASroute_gw_src_isset = 0;
7419 AX_surfxml_bypassASroute_gw_dst = 0;
7420 surfxml_bypassASroute_gw_dst_isset = 0;
7421 ENTER(AL_surfxml_bypassASroute); pushbuffer(0);
7426 /* rule 386 can match eol */
7428 if (surfxml_bypassASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassASroute>");} surfxml_bypassASroute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_src);
7431 /* rule 387 can match eol */
7433 if (surfxml_bypassASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassASroute>");} surfxml_bypassASroute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_src);
7436 /* rule 388 can match eol */
7438 if (surfxml_bypassASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_dst);
7441 /* rule 389 can match eol */
7443 if (surfxml_bypassASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_dst);
7446 /* rule 390 can match eol */
7448 if (surfxml_bypassASroute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_gw_src);
7451 /* rule 391 can match eol */
7453 if (surfxml_bypassASroute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_gw_src);
7456 /* rule 392 can match eol */
7458 if (surfxml_bypassASroute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_gw_dst);
7461 /* rule 393 can match eol */
7463 if (surfxml_bypassASroute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_gw_dst);
7468 if (!AX_surfxml_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
7469 if (!AX_surfxml_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
7470 if (!AX_surfxml_bypassASroute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
7471 if (!AX_surfxml_bypassASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
7472 LEAVE; STag_surfxml_bypassASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassASroute);
7478 if (!AX_surfxml_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
7479 if (!AX_surfxml_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
7480 if (!AX_surfxml_bypassASroute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
7481 if (!AX_surfxml_bypassASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
7482 LEAVE; STag_surfxml_bypassASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassASroute(); popbuffer(); /* attribute */
7484 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
7490 FAIL("Unexpected character `%c' in attribute list of bypassASroute element.", surf_parse_text[0]);
7494 FAIL("Bad attribute `%s' in `bypassASroute' element start tag.",surf_parse_text);
7496 case YY_STATE_EOF(AL_surfxml_bypassASroute):
7497 FAIL("EOF in attribute list of `bypassASroute' element.");
7501 /* rule 398 can match eol */
7505 ETag_surfxml_bypassASroute();
7506 popbuffer(); /* attribute */
7508 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
7513 /* rule 399 can match eol */
7515 FAIL("Unexpected end-tag `%s': `</bypassASroute>' expected.",surf_parse_text);
7519 FAIL("Unexpected character `%c': `</bypassASroute>' expected.",surf_parse_text[0]);
7521 case YY_STATE_EOF(S_surfxml_bypassASroute_2):
7522 case YY_STATE_EOF(E_surfxml_bypassASroute):
7523 case YY_STATE_EOF(S_surfxml_bypassASroute):
7524 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassASroute>' expected.");
7528 /* rule 401 can match eol */
7530 FAIL("Starting tag <process> is not allowed here.");
7533 /* rule 402 can match eol */
7536 AX_surfxml_process_host = 0;
7537 surfxml_process_host_isset = 0;
7538 AX_surfxml_process_function = 0;
7539 surfxml_process_function_isset = 0;
7540 AX_surfxml_process_start_time = 28;
7541 surfxml_process_start_time_isset = 0;
7542 AX_surfxml_process_kill_time = 33;
7543 surfxml_process_kill_time_isset = 0;
7544 ENTER(AL_surfxml_process); pushbuffer(0);
7549 /* rule 403 can match eol */
7551 if (surfxml_process_host_isset != 0) {FAIL("Multiple definition of attribute host in <surfxml_process>");} surfxml_process_host_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
7554 /* rule 404 can match eol */
7556 if (surfxml_process_host_isset != 0) {FAIL("Multiple definition of attribute host in <surfxml_process>");} surfxml_process_host_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
7559 /* rule 405 can match eol */
7561 if (surfxml_process_function_isset != 0) {FAIL("Multiple definition of attribute function in <surfxml_process>");} surfxml_process_function_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
7564 /* rule 406 can match eol */
7566 if (surfxml_process_function_isset != 0) {FAIL("Multiple definition of attribute function in <surfxml_process>");} surfxml_process_function_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
7569 /* rule 407 can match eol */
7571 if (surfxml_process_start_time_isset != 0) {FAIL("Multiple definition of attribute start_time in <surfxml_process>");} surfxml_process_start_time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
7574 /* rule 408 can match eol */
7576 if (surfxml_process_start_time_isset != 0) {FAIL("Multiple definition of attribute start_time in <surfxml_process>");} surfxml_process_start_time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
7579 /* rule 409 can match eol */
7581 if (surfxml_process_kill_time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <surfxml_process>");} surfxml_process_kill_time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
7584 /* rule 410 can match eol */
7586 if (surfxml_process_kill_time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <surfxml_process>");} surfxml_process_kill_time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
7591 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
7592 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
7593 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
7599 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
7600 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
7601 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
7603 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: SET(S_surfxml_platform_8); break;
7609 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
7613 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
7615 case YY_STATE_EOF(AL_surfxml_process):
7616 FAIL("EOF in attribute list of `process' element.");
7620 /* rule 415 can match eol */
7624 ETag_surfxml_process();
7625 popbuffer(); /* attribute */
7627 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: SET(S_surfxml_platform_8); break;
7632 /* rule 416 can match eol */
7634 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
7638 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
7640 case YY_STATE_EOF(E_surfxml_process):
7641 case YY_STATE_EOF(S_surfxml_process):
7642 case YY_STATE_EOF(S_surfxml_process_2):
7643 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</process>' expected.");
7647 /* rule 418 can match eol */
7649 FAIL("Starting tag <argument> is not allowed here.");
7652 /* rule 419 can match eol */
7655 AX_surfxml_argument_value = 0;
7656 surfxml_argument_value_isset = 0;
7657 ENTER(AL_surfxml_argument); pushbuffer(0);
7662 /* rule 420 can match eol */
7664 if (surfxml_argument_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_argument>");} surfxml_argument_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
7667 /* rule 421 can match eol */
7669 if (surfxml_argument_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_argument>");} surfxml_argument_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
7674 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7675 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
7681 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7682 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
7684 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7690 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
7694 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
7696 case YY_STATE_EOF(AL_surfxml_argument):
7697 FAIL("EOF in attribute list of `argument' element.");
7701 /* rule 426 can match eol */
7705 ETag_surfxml_argument();
7706 popbuffer(); /* attribute */
7708 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7713 /* rule 427 can match eol */
7715 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
7719 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
7721 case YY_STATE_EOF(E_surfxml_argument):
7722 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</argument>' expected.");
7726 /* rule 429 can match eol */
7728 FAIL("Starting tag <config> is not allowed here.");
7731 /* rule 430 can match eol */
7734 AX_surfxml_config_id = 0;
7735 surfxml_config_id_isset = 0;
7736 ENTER(AL_surfxml_config); pushbuffer(0);
7741 /* rule 431 can match eol */
7743 if (surfxml_config_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_config>");} surfxml_config_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
7746 /* rule 432 can match eol */
7748 if (surfxml_config_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_config>");} surfxml_config_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
7753 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
7759 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
7761 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
7767 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
7771 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
7773 case YY_STATE_EOF(AL_surfxml_config):
7774 FAIL("EOF in attribute list of `config' element.");
7778 /* rule 437 can match eol */
7782 ETag_surfxml_config();
7783 popbuffer(); /* attribute */
7785 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
7790 /* rule 438 can match eol */
7792 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
7796 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
7798 case YY_STATE_EOF(S_surfxml_config):
7799 case YY_STATE_EOF(S_surfxml_config_2):
7800 case YY_STATE_EOF(E_surfxml_config):
7801 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</config>' expected.");
7804 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
7805 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
7807 /* rule 440 can match eol */
7809 FAIL("Starting tag <prop> is not allowed here.");
7812 /* rule 441 can match eol */
7815 AX_surfxml_prop_id = 0;
7816 surfxml_prop_id_isset = 0;
7817 AX_surfxml_prop_value = 0;
7818 surfxml_prop_value_isset = 0;
7819 ENTER(AL_surfxml_prop); pushbuffer(0);
7824 /* rule 442 can match eol */
7826 if (surfxml_prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_prop>");} surfxml_prop_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
7829 /* rule 443 can match eol */
7831 if (surfxml_prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_prop>");} surfxml_prop_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
7834 /* rule 444 can match eol */
7836 if (surfxml_prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_prop>");} surfxml_prop_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
7839 /* rule 445 can match eol */
7841 if (surfxml_prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_prop>");} surfxml_prop_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
7846 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
7847 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
7848 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
7854 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
7855 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
7856 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
7858 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
7859 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
7860 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
7861 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7862 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
7863 case S_surfxml_storage_type_2: case S_surfxml_storage_type: case S_surfxml_storage_type_1: SET(S_surfxml_storage_type_2); break;
7864 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
7870 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
7874 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
7876 case YY_STATE_EOF(AL_surfxml_prop):
7877 FAIL("EOF in attribute list of `prop' element.");
7881 /* rule 450 can match eol */
7885 ETag_surfxml_prop();
7886 popbuffer(); /* attribute */
7888 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
7889 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
7890 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
7891 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7892 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
7893 case S_surfxml_storage_type_2: case S_surfxml_storage_type: case S_surfxml_storage_type_1: SET(S_surfxml_storage_type_2); break;
7894 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
7899 /* rule 451 can match eol */
7901 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
7905 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
7907 case YY_STATE_EOF(E_surfxml_prop):
7908 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</prop>' expected.");
7911 /* EPILOG: after the root element. */
7915 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
7917 case YY_STATE_EOF(EPILOG):
7921 /* CHARACTER DATA. */
7923 /* Non-defined standard entities... */
7944 /* Character entities. */
7947 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
7951 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
7955 /* rule 461 can match eol */
7957 /* rule 462 can match eol */
7959 /* rule 463 can match eol */
7961 /* rule 464 can match eol */
7972 FAIL("Unexpected `]""]>' in character data.");
7979 case YY_STATE_EOF(VALUE1):
7980 FAIL("EOF in literal (\"'\" expected).");
7987 case YY_STATE_EOF(VALUE2):
7988 FAIL("EOF in literal (`\"' expected).");
7992 /* rule 469 can match eol */
7994 BUFFERPUTC(surf_parse_text[0]);
7998 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
8005 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
8008 BUFFERPUTC(surf_parse_text[0]);
8010 case YY_STATE_EOF(CDATA):
8011 FAIL("EOF in CDATA section.");
8014 /* Impossible rules to avoid warnings from flex(1). */
8015 /* Ideally, this should be replaced by code in flexml.pl that
8016 generates just the states not covered by other rules. */
8019 /* rule 473 can match eol */
8021 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
8028 case YY_STATE_EOF(INITIAL):
8029 case YY_STATE_EOF(ROOT_surfxml_platform):
8030 case YY_STATE_EOF(S_surfxml_platform_2):
8031 case YY_STATE_EOF(S_surfxml_platform_5):
8032 case YY_STATE_EOF(S_surfxml_platform_7):
8033 case YY_STATE_EOF(S_surfxml_include_1):
8034 case YY_STATE_EOF(S_surfxml_random_1):
8035 case YY_STATE_EOF(S_surfxml_AS_2):
8036 case YY_STATE_EOF(S_surfxml_AS_5):
8037 case YY_STATE_EOF(S_surfxml_AS_7):
8038 case YY_STATE_EOF(S_surfxml_AS_10):
8039 case YY_STATE_EOF(S_surfxml_AS_12):
8040 case YY_STATE_EOF(S_surfxml_storage_type_1):
8041 case YY_STATE_EOF(S_surfxml_storage_1):
8042 case YY_STATE_EOF(S_surfxml_host_1):
8043 case YY_STATE_EOF(S_surfxml_link_1):
8044 case YY_STATE_EOF(S_surfxml_route_1):
8045 case YY_STATE_EOF(S_surfxml_ASroute_1):
8046 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
8047 case YY_STATE_EOF(S_surfxml_bypassASroute_1):
8048 case YY_STATE_EOF(S_surfxml_process_1):
8049 case YY_STATE_EOF(S_surfxml_config_1):
8050 case YY_STATE_EOF(IMPOSSIBLE):
8053 case YY_END_OF_BUFFER:
8055 /* Amount of text matched not including the EOB char. */
8056 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
8058 /* Undo the effects of YY_DO_BEFORE_ACTION. */
8059 *yy_cp = (yy_hold_char);
8060 YY_RESTORE_YY_MORE_OFFSET
8062 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
8064 /* We're scanning a new file or input source. It's
8065 * possible that this happened because the user
8066 * just pointed surf_parse_in at a new source and called
8067 * surf_parse_lex(). If so, then we have to assure
8068 * consistency between YY_CURRENT_BUFFER and our
8069 * globals. Here is the right place to do so, because
8070 * this is the first action (other than possibly a
8071 * back-up) that will match for the new input source.
8073 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
8074 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
8075 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
8078 /* Note that here we test for yy_c_buf_p "<=" to the position
8079 * of the first EOB in the buffer, since yy_c_buf_p will
8080 * already have been incremented past the NUL character
8081 * (since all states make transitions on EOB to the
8082 * end-of-buffer state). Contrast this with the test
8085 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
8086 { /* This was really a NUL. */
8087 yy_state_type yy_next_state;
8089 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
8091 yy_current_state = yy_get_previous_state( );
8093 /* Okay, we're now positioned to make the NUL
8094 * transition. We couldn't have
8095 * yy_get_previous_state() go ahead and do it
8096 * for us because it doesn't know how to deal
8097 * with the possibility of jamming (and we don't
8098 * want to build jamming into it because then it
8099 * will run more slowly).
8102 yy_next_state = yy_try_NUL_trans( yy_current_state );
8104 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
8106 if ( yy_next_state )
8108 /* Consume the NUL. */
8109 yy_cp = ++(yy_c_buf_p);
8110 yy_current_state = yy_next_state;
8116 yy_cp = (yy_c_buf_p);
8117 goto yy_find_action;
8121 else switch ( yy_get_next_buffer( ) )
8123 case EOB_ACT_END_OF_FILE:
8125 (yy_did_buffer_switch_on_eof) = 0;
8127 if ( surf_parse_wrap( ) )
8129 /* Note: because we've taken care in
8130 * yy_get_next_buffer() to have set up
8131 * surf_parse_text, we can now set up
8132 * yy_c_buf_p so that if some total
8133 * hoser (like flex itself) wants to
8134 * call the scanner after we return the
8135 * YY_NULL, it'll still work - another
8136 * YY_NULL will get returned.
8138 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
8140 yy_act = YY_STATE_EOF(YY_START);
8146 if ( ! (yy_did_buffer_switch_on_eof) )
8152 case EOB_ACT_CONTINUE_SCAN:
8154 (yytext_ptr) + yy_amount_of_matched_text;
8156 yy_current_state = yy_get_previous_state( );
8158 yy_cp = (yy_c_buf_p);
8159 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
8162 case EOB_ACT_LAST_MATCH:
8164 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
8166 yy_current_state = yy_get_previous_state( );
8168 yy_cp = (yy_c_buf_p);
8169 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
8170 goto yy_find_action;
8177 "fatal flex scanner internal error--no action found" );
8178 } /* end of action switch */
8179 } /* end of scanning one token */
8180 } /* end of surf_parse_lex */
8182 /* yy_get_next_buffer - try to read in a new buffer
8184 * Returns a code representing an action:
8185 * EOB_ACT_LAST_MATCH -
8186 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
8187 * EOB_ACT_END_OF_FILE - end of file
8189 static int yy_get_next_buffer (void)
8191 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
8192 register char *source = (yytext_ptr);
8193 register int number_to_move, i;
8196 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
8198 "fatal flex scanner internal error--end of buffer missed" );
8200 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
8201 { /* Don't try to fill the buffer, so this is an EOF. */
8202 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
8204 /* We matched a single character, the EOB, so
8205 * treat this as a final EOF.
8207 return EOB_ACT_END_OF_FILE;
8212 /* We matched some text prior to the EOB, first
8215 return EOB_ACT_LAST_MATCH;
8219 /* Try to read more data. */
8221 /* First move last chars to start of buffer. */
8222 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
8224 for ( i = 0; i < number_to_move; ++i )
8225 *(dest++) = *(source++);
8227 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
8228 /* don't do the read, it's not guaranteed to return an EOF,
8231 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
8236 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
8238 while ( num_to_read <= 0 )
8239 { /* Not enough room in the buffer - grow it. */
8241 /* just a shorter name for the current buffer */
8242 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
8244 int yy_c_buf_p_offset =
8245 (int) ((yy_c_buf_p) - b->yy_ch_buf);
8247 if ( b->yy_is_our_buffer )
8249 int new_size = b->yy_buf_size * 2;
8251 if ( new_size <= 0 )
8252 b->yy_buf_size += b->yy_buf_size / 8;
8254 b->yy_buf_size *= 2;
8256 b->yy_ch_buf = (char *)
8257 /* Include room in for 2 EOB chars. */
8258 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
8261 /* Can't grow it, we don't own it. */
8264 if ( ! b->yy_ch_buf )
8266 "fatal error - scanner input buffer overflow" );
8268 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
8270 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
8275 if ( num_to_read > YY_READ_BUF_SIZE )
8276 num_to_read = YY_READ_BUF_SIZE;
8278 /* Read in more data. */
8279 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
8280 (yy_n_chars), (size_t) num_to_read );
8282 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8285 if ( (yy_n_chars) == 0 )
8287 if ( number_to_move == YY_MORE_ADJ )
8289 ret_val = EOB_ACT_END_OF_FILE;
8290 surf_parse_restart(surf_parse_in );
8295 ret_val = EOB_ACT_LAST_MATCH;
8296 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
8297 YY_BUFFER_EOF_PENDING;
8302 ret_val = EOB_ACT_CONTINUE_SCAN;
8304 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
8305 /* Extend the array by 50%, plus the number we really need. */
8306 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
8307 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
8308 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
8309 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
8312 (yy_n_chars) += number_to_move;
8313 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
8314 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
8316 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
8321 /* yy_get_previous_state - get the state just before the EOB char was reached */
8323 static yy_state_type yy_get_previous_state (void)
8325 register yy_state_type yy_current_state;
8326 register char *yy_cp;
8328 yy_current_state = (yy_start);
8330 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
8332 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
8333 if ( yy_accept[yy_current_state] )
8335 (yy_last_accepting_state) = yy_current_state;
8336 (yy_last_accepting_cpos) = yy_cp;
8338 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
8340 yy_current_state = (int) yy_def[yy_current_state];
8341 if ( yy_current_state >= 2797 )
8342 yy_c = yy_meta[(unsigned int) yy_c];
8344 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
8347 return yy_current_state;
8350 /* yy_try_NUL_trans - try to make a transition on the NUL character
8353 * next_state = yy_try_NUL_trans( current_state );
8355 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
8357 register int yy_is_jam;
8358 register char *yy_cp = (yy_c_buf_p);
8360 register YY_CHAR yy_c = 1;
8361 if ( yy_accept[yy_current_state] )
8363 (yy_last_accepting_state) = yy_current_state;
8364 (yy_last_accepting_cpos) = yy_cp;
8366 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
8368 yy_current_state = (int) yy_def[yy_current_state];
8369 if ( yy_current_state >= 2797 )
8370 yy_c = yy_meta[(unsigned int) yy_c];
8372 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
8373 yy_is_jam = (yy_current_state == 2796);
8375 return yy_is_jam ? 0 : yy_current_state;
8380 static int yyinput (void)
8382 static int input (void)
8388 *(yy_c_buf_p) = (yy_hold_char);
8390 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
8392 /* yy_c_buf_p now points to the character we want to return.
8393 * If this occurs *before* the EOB characters, then it's a
8394 * valid NUL; if not, then we've hit the end of the buffer.
8396 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
8397 /* This was really a NUL. */
8398 *(yy_c_buf_p) = '\0';
8401 { /* need more input */
8402 int offset = (yy_c_buf_p) - (yytext_ptr);
8405 switch ( yy_get_next_buffer( ) )
8407 case EOB_ACT_LAST_MATCH:
8408 /* This happens because yy_g_n_b()
8409 * sees that we've accumulated a
8410 * token and flags that we need to
8411 * try matching the token before
8412 * proceeding. But for input(),
8413 * there's no matching to consider.
8414 * So convert the EOB_ACT_LAST_MATCH
8415 * to EOB_ACT_END_OF_FILE.
8418 /* Reset buffer status. */
8419 surf_parse_restart(surf_parse_in );
8423 case EOB_ACT_END_OF_FILE:
8425 if ( surf_parse_wrap( ) )
8428 if ( ! (yy_did_buffer_switch_on_eof) )
8437 case EOB_ACT_CONTINUE_SCAN:
8438 (yy_c_buf_p) = (yytext_ptr) + offset;
8444 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
8445 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
8446 (yy_hold_char) = *++(yy_c_buf_p);
8450 surf_parse_lineno++;
8455 #endif /* ifndef YY_NO_INPUT */
8457 /** Immediately switch to a different input stream.
8458 * @param input_file A readable stream.
8460 * @note This function does not reset the start condition to @c INITIAL .
8462 void surf_parse_restart (FILE * input_file )
8465 if ( ! YY_CURRENT_BUFFER ){
8466 surf_parse_ensure_buffer_stack ();
8467 YY_CURRENT_BUFFER_LVALUE =
8468 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
8471 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
8472 surf_parse__load_buffer_state( );
8475 /** Switch to a different input buffer.
8476 * @param new_buffer The new input buffer.
8479 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
8482 /* TODO. We should be able to replace this entire function body
8484 * surf_parse_pop_buffer_state();
8485 * surf_parse_push_buffer_state(new_buffer);
8487 surf_parse_ensure_buffer_stack ();
8488 if ( YY_CURRENT_BUFFER == new_buffer )
8491 if ( YY_CURRENT_BUFFER )
8493 /* Flush out information for old buffer. */
8494 *(yy_c_buf_p) = (yy_hold_char);
8495 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
8496 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8499 YY_CURRENT_BUFFER_LVALUE = new_buffer;
8500 surf_parse__load_buffer_state( );
8502 /* We don't actually know whether we did this switch during
8503 * EOF (surf_parse_wrap()) processing, but the only time this flag
8504 * is looked at is after surf_parse_wrap() is called, so it's safe
8505 * to go ahead and always set it.
8507 (yy_did_buffer_switch_on_eof) = 1;
8510 static void surf_parse__load_buffer_state (void)
8512 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
8513 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
8514 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
8515 (yy_hold_char) = *(yy_c_buf_p);
8518 /** Allocate and initialize an input buffer state.
8519 * @param file A readable stream.
8520 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
8522 * @return the allocated buffer state.
8524 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
8528 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
8530 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
8532 b->yy_buf_size = size;
8534 /* yy_ch_buf has to be 2 characters longer than the size given because
8535 * we need to put in 2 end-of-buffer characters.
8537 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
8538 if ( ! b->yy_ch_buf )
8539 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
8541 b->yy_is_our_buffer = 1;
8543 surf_parse__init_buffer(b,file );
8548 /** Destroy the buffer.
8549 * @param b a buffer created with surf_parse__create_buffer()
8552 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
8558 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
8559 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
8561 if ( b->yy_is_our_buffer )
8562 surf_parse_free((void *) b->yy_ch_buf );
8564 surf_parse_free((void *) b );
8568 extern int isatty (int );
8569 #endif /* __cplusplus */
8571 /* Initializes or reinitializes a buffer.
8572 * This function is sometimes called more than once on the same buffer,
8573 * such as during a surf_parse_restart() or at EOF.
8575 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
8580 surf_parse__flush_buffer(b );
8582 b->yy_input_file = file;
8583 b->yy_fill_buffer = 1;
8585 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
8586 * called from surf_parse_restart() or through yy_get_next_buffer.
8587 * In that case, we don't want to reset the lineno or column.
8589 if (b != YY_CURRENT_BUFFER){
8590 b->yy_bs_lineno = 1;
8591 b->yy_bs_column = 0;
8594 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
8599 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
8600 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
8603 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
8610 /* We always need two end-of-buffer characters. The first causes
8611 * a transition to the end-of-buffer state. The second causes
8612 * a jam in that state.
8614 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
8615 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
8617 b->yy_buf_pos = &b->yy_ch_buf[0];
8620 b->yy_buffer_status = YY_BUFFER_NEW;
8622 if ( b == YY_CURRENT_BUFFER )
8623 surf_parse__load_buffer_state( );
8626 /** Pushes the new state onto the stack. The new state becomes
8627 * the current state. This function will allocate the stack
8629 * @param new_buffer The new state.
8632 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
8634 if (new_buffer == NULL)
8637 surf_parse_ensure_buffer_stack();
8639 /* This block is copied from surf_parse__switch_to_buffer. */
8640 if ( YY_CURRENT_BUFFER )
8642 /* Flush out information for old buffer. */
8643 *(yy_c_buf_p) = (yy_hold_char);
8644 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
8645 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8648 /* Only push if top exists. Otherwise, replace top. */
8649 if (YY_CURRENT_BUFFER)
8650 (yy_buffer_stack_top)++;
8651 YY_CURRENT_BUFFER_LVALUE = new_buffer;
8653 /* copied from surf_parse__switch_to_buffer. */
8654 surf_parse__load_buffer_state( );
8655 (yy_did_buffer_switch_on_eof) = 1;
8658 /** Removes and deletes the top of the stack, if present.
8659 * The next element becomes the new top.
8662 void surf_parse_pop_buffer_state (void)
8664 if (!YY_CURRENT_BUFFER)
8667 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
8668 YY_CURRENT_BUFFER_LVALUE = NULL;
8669 if ((yy_buffer_stack_top) > 0)
8670 --(yy_buffer_stack_top);
8672 if (YY_CURRENT_BUFFER) {
8673 surf_parse__load_buffer_state( );
8674 (yy_did_buffer_switch_on_eof) = 1;
8678 /* Allocates the stack if it does not exist.
8679 * Guarantees space for at least one push.
8681 static void surf_parse_ensure_buffer_stack (void)
8685 if (!(yy_buffer_stack)) {
8687 /* First allocation is just for 2 elements, since we don't know if this
8688 * scanner will even need a stack. We use 2 instead of 1 to avoid an
8689 * immediate realloc on the next call.
8692 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
8693 (num_to_alloc * sizeof(struct yy_buffer_state*)
8695 if ( ! (yy_buffer_stack) )
8696 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
8698 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
8700 (yy_buffer_stack_max) = num_to_alloc;
8701 (yy_buffer_stack_top) = 0;
8705 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
8707 /* Increase the buffer to prepare for a possible push. */
8708 int grow_size = 8 /* arbitrary grow size */;
8710 num_to_alloc = (yy_buffer_stack_max) + grow_size;
8711 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
8713 num_to_alloc * sizeof(struct yy_buffer_state*)
8715 if ( ! (yy_buffer_stack) )
8716 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
8718 /* zero only the new slots.*/
8719 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
8720 (yy_buffer_stack_max) = num_to_alloc;
8724 /** Setup the input buffer state to scan directly from a user-specified character buffer.
8725 * @param base the character buffer
8726 * @param size the size in bytes of the character buffer
8728 * @return the newly allocated buffer state object.
8730 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
8735 base[size-2] != YY_END_OF_BUFFER_CHAR ||
8736 base[size-1] != YY_END_OF_BUFFER_CHAR )
8737 /* They forgot to leave room for the EOB's. */
8740 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
8742 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
8744 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
8745 b->yy_buf_pos = b->yy_ch_buf = base;
8746 b->yy_is_our_buffer = 0;
8747 b->yy_input_file = 0;
8748 b->yy_n_chars = b->yy_buf_size;
8749 b->yy_is_interactive = 0;
8751 b->yy_fill_buffer = 0;
8752 b->yy_buffer_status = YY_BUFFER_NEW;
8754 surf_parse__switch_to_buffer(b );
8759 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
8760 * scan from a @e copy of @a str.
8761 * @param yystr a NUL-terminated string to scan
8763 * @return the newly allocated buffer state object.
8764 * @note If you want to scan bytes that may contain NUL values, then use
8765 * surf_parse__scan_bytes() instead.
8767 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
8770 return surf_parse__scan_bytes(yystr,strlen(yystr) );
8773 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
8774 * scan from a @e copy of @a bytes.
8775 * @param yybytes the byte buffer to scan
8776 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
8778 * @return the newly allocated buffer state object.
8780 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
8787 /* Get memory for full buffer, including space for trailing EOB's. */
8788 n = _yybytes_len + 2;
8789 buf = (char *) surf_parse_alloc(n );
8791 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
8793 for ( i = 0; i < _yybytes_len; ++i )
8794 buf[i] = yybytes[i];
8796 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
8798 b = surf_parse__scan_buffer(buf,n );
8800 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
8802 /* It's okay to grow etc. this buffer, and we should throw it
8803 * away when we're done.
8805 b->yy_is_our_buffer = 1;
8810 static void yy_push_state (int new_state )
8812 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
8816 (yy_start_stack_depth) += YY_START_STACK_INCR;
8817 new_size = (yy_start_stack_depth) * sizeof( int );
8819 if ( ! (yy_start_stack) )
8820 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
8823 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
8825 if ( ! (yy_start_stack) )
8826 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
8829 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
8834 static void yy_pop_state (void)
8836 if ( --(yy_start_stack_ptr) < 0 )
8837 YY_FATAL_ERROR( "start-condition stack underflow" );
8839 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
8842 #ifndef YY_EXIT_FAILURE
8843 #define YY_EXIT_FAILURE 2
8846 static void yy_fatal_error (yyconst char* msg )
8848 (void) fprintf( stderr, "%s\n", msg );
8849 exit( YY_EXIT_FAILURE );
8852 /* Redefine yyless() so it works in section 3 code. */
8858 /* Undo effects of setting up surf_parse_text. */ \
8859 int yyless_macro_arg = (n); \
8860 YY_LESS_LINENO(yyless_macro_arg);\
8861 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
8862 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
8863 (yy_hold_char) = *(yy_c_buf_p); \
8864 *(yy_c_buf_p) = '\0'; \
8865 surf_parse_leng = yyless_macro_arg; \
8869 /* Accessor methods (get/set functions) to struct members. */
8871 /** Get the current line number.
8874 int surf_parse_get_lineno (void)
8877 return surf_parse_lineno;
8880 /** Get the input stream.
8883 FILE *surf_parse_get_in (void)
8885 return surf_parse_in;
8888 /** Get the output stream.
8891 FILE *surf_parse_get_out (void)
8893 return surf_parse_out;
8896 /** Get the length of the current token.
8899 int surf_parse_get_leng (void)
8901 return surf_parse_leng;
8904 /** Get the current token.
8908 char *surf_parse_get_text (void)
8910 return surf_parse_text;
8913 /** Set the current line number.
8914 * @param line_number
8917 void surf_parse_set_lineno (int line_number )
8920 surf_parse_lineno = line_number;
8923 /** Set the input stream. This does not discard the current
8925 * @param in_str A readable stream.
8927 * @see surf_parse__switch_to_buffer
8929 void surf_parse_set_in (FILE * in_str )
8931 surf_parse_in = in_str ;
8934 void surf_parse_set_out (FILE * out_str )
8936 surf_parse_out = out_str ;
8939 int surf_parse_get_debug (void)
8941 return surf_parse__flex_debug;
8944 void surf_parse_set_debug (int bdebug )
8946 surf_parse__flex_debug = bdebug ;
8949 static int yy_init_globals (void)
8951 /* Initialization is the same as for the non-reentrant scanner.
8952 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
8955 /* We do not touch surf_parse_lineno unless the option is enabled. */
8956 surf_parse_lineno = 1;
8958 (yy_buffer_stack) = 0;
8959 (yy_buffer_stack_top) = 0;
8960 (yy_buffer_stack_max) = 0;
8961 (yy_c_buf_p) = (char *) 0;
8965 (yy_start_stack_ptr) = 0;
8966 (yy_start_stack_depth) = 0;
8967 (yy_start_stack) = NULL;
8969 /* Defined in main.c */
8971 surf_parse_in = stdin;
8972 surf_parse_out = stdout;
8974 surf_parse_in = (FILE *) 0;
8975 surf_parse_out = (FILE *) 0;
8978 /* For future reference: Set errno on error, since we are called by
8979 * surf_parse_lex_init()
8984 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
8985 int surf_parse_lex_destroy (void)
8988 /* Pop the buffer stack, destroying each element. */
8989 while(YY_CURRENT_BUFFER){
8990 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
8991 YY_CURRENT_BUFFER_LVALUE = NULL;
8992 surf_parse_pop_buffer_state();
8995 /* Destroy the stack itself. */
8996 surf_parse_free((yy_buffer_stack) );
8997 (yy_buffer_stack) = NULL;
8999 /* Destroy the start condition stack. */
9000 surf_parse_free((yy_start_stack) );
9001 (yy_start_stack) = NULL;
9003 /* Reset the globals. This is important in a non-reentrant scanner so the next time
9004 * surf_parse_lex() is called, initialization will occur. */
9011 * Internal utility routines.
9015 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
9018 for ( i = 0; i < n; ++i )
9023 #ifdef YY_NEED_STRLEN
9024 static int yy_flex_strlen (yyconst char * s )
9027 for ( n = 0; s[n]; ++n )
9034 void *surf_parse_alloc (yy_size_t size )
9036 return (void *) malloc( size );
9039 void *surf_parse_realloc (void * ptr, yy_size_t size )
9041 /* The cast to (char *) in the following accommodates both
9042 * implementations that use char* generic pointers, and those
9043 * that use void* generic pointers. It works with the latter
9044 * because both ANSI C and C++ allow castless assignment from
9045 * any pointer type to void*, and deal with argument conversions
9046 * as though doing an assignment.
9048 return (void *) realloc( (char *) ptr, size );
9051 void surf_parse_free (void * ptr )
9053 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
9056 #define YYTABLES_NAME "yytables"
9058 /* Element context stack lookup. */
9059 int surfxml_element_context(int i)
9061 return (0<i && i<yy_start_stack_depth
9062 ? yy_start_stack[yy_start_stack_ptr - i]
9067 void print_yy_stack(char* fmt, ...)
9069 int i = 0; va_list ap; va_start(ap, fmt);
9070 vfprintf(stderr, fmt, ap);
9071 if (surfxml_statenames) {
9072 for (i=1; i<yy_start_stack_ptr; i++) {
9073 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
9075 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
9080 void print_surfxml_bufferstack()
9083 fputs("Buffer: ", stderr);
9084 for (i = 0; i < blimit; i++) {
9085 if ( surfxml_bufferstack[i] == '\377' ) break;
9086 putc(surfxml_bufferstack[i], stderr);
9091 static void debug_enter(int state, const char* statename) {
9092 yy_push_state(state);
9093 if (surf_parse__flex_debug) {
9094 print_yy_stack("--ENTER(%s) : ",statename);
9095 print_surfxml_bufferstack();
9099 static void debug_leave(void) {
9100 if (surf_parse__flex_debug) {
9101 print_yy_stack("--LEAVE : ");
9102 print_surfxml_bufferstack();
9107 static void debug_set(int state, const char* statename) {
9109 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
9113 static void cleanup(void)
9115 if (surfxml_statenames) {
9116 free(surfxml_statenames);
9117 surfxml_statenames = NULL;
9119 free(surfxml_bufferstack);
9120 surfxml_bufferstack = NULL;
9126 static int fail(const char* fmt, ...)
9128 int chars_left, used;
9129 va_list ap; va_start(ap, fmt);
9130 #ifdef FLEXML_yylineno
9131 used = sprintf(flexml_err_msg,
9132 "Invalid XML (XML input line %d, state %d): ",
9133 surf_parse_lineno, YY_START);
9135 used = sprintf(flexml_err_msg,
9136 "Invalid XML (state %d): ",
9139 chars_left = flexml_max_err_msg_size - used - 1;
9140 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
9143 #ifndef FLEXML_quiet_parser
9144 /* print directly to sdterr */
9145 fprintf(stderr, "%s\n", flexml_err_msg);
9146 flexml_err_msg[0] = '\0';