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 459
407 #define YY_END_OF_BUFFER 460
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[2697] =
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 460, 458, 15, 10, 10, 15, 15, 438, 10, 438,
442 5, 6, 5, 8, 9, 8, 454, 446, 447, 455,
443 452, 455, 453, 457, 446, 447, 457, 458, 22, 10,
444 22, 22, 22, 20, 22, 26, 10, 26, 26, 458,
445 26, 458, 458, 26, 33, 10, 33, 33, 33, 31,
446 33, 37, 10, 37, 48, 10, 48, 48, 48, 46,
447 48, 48, 48, 455, 454, 78, 10, 78, 78, 78,
448 76, 78, 78, 78, 78, 78, 82, 10, 82, 458,
450 82, 101, 10, 101, 101, 101, 99, 101, 101, 101,
451 105, 10, 105, 114, 10, 114, 114, 114, 112, 114,
452 114, 118, 10, 118, 118, 458, 118, 118, 458, 458,
453 118, 458, 118, 458, 118, 129, 10, 129, 129, 129,
454 127, 129, 129, 129, 133, 10, 133, 133, 142, 10,
455 142, 142, 142, 140, 142, 142, 146, 10, 146, 146,
456 155, 10, 155, 155, 155, 153, 155, 155, 159, 10,
457 159, 168, 10, 168, 168, 168, 166, 168, 168, 172,
458 10, 172, 195, 10, 195, 195, 195, 193, 195, 195,
459 195, 195, 195, 199, 10, 199, 458, 199, 240, 10,
461 240, 240, 240, 238, 240, 240, 240, 240, 240, 240,
462 240, 240, 244, 10, 244, 265, 10, 265, 265, 265,
463 263, 265, 265, 265, 265, 265, 265, 265, 269, 10,
464 269, 278, 10, 278, 278, 278, 276, 278, 278, 282,
465 10, 282, 309, 10, 309, 309, 309, 307, 309, 309,
466 309, 309, 313, 10, 313, 313, 326, 10, 326, 326,
467 326, 324, 326, 326, 330, 10, 330, 458, 330, 347,
468 10, 347, 347, 347, 345, 347, 347, 347, 351, 10,
469 351, 351, 364, 10, 364, 364, 364, 362, 364, 364,
470 368, 10, 368, 381, 10, 381, 381, 381, 379, 381,
472 381, 381, 385, 10, 385, 385, 398, 10, 398, 398,
473 398, 396, 398, 398, 398, 398, 402, 10, 402, 458,
474 402, 409, 10, 409, 409, 409, 407, 409, 413, 10,
475 413, 420, 10, 420, 420, 420, 418, 420, 424, 10,
476 424, 424, 433, 10, 433, 433, 433, 431, 433, 433,
477 437, 10, 437, 10, 0, 2, 2, 0, 4, 7,
478 449, 448, 0, 0, 0, 0, 0, 0, 0, 21,
479 23, 23, 0, 0, 0, 0, 0, 0, 0, 0,
480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
481 0, 0, 0, 0, 0, 32, 34, 34, 0, 47,
483 49, 49, 49, 49, 0, 0, 0, 77, 79, 79,
484 79, 79, 79, 79, 79, 79, 79, 0, 0, 100,
485 102, 102, 102, 102, 0, 113, 115, 115, 115, 0,
486 0, 0, 0, 0, 0, 0, 0, 0, 0, 128,
487 130, 130, 130, 130, 0, 141, 143, 143, 143, 0,
488 154, 156, 156, 156, 0, 167, 169, 169, 169, 0,
489 194, 196, 196, 196, 196, 196, 196, 0, 0, 239,
490 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
491 241, 241, 241, 241, 0, 264, 266, 266, 266, 266,
492 266, 266, 266, 266, 0, 277, 279, 279, 279, 0,
494 308, 310, 310, 310, 310, 310, 310, 0, 325, 327,
495 327, 327, 327, 0, 0, 346, 348, 348, 348, 348,
496 348, 0, 363, 365, 365, 365, 0, 380, 382, 382,
497 382, 382, 0, 397, 399, 399, 399, 399, 399, 0,
498 0, 408, 410, 410, 0, 419, 421, 421, 0, 432,
499 434, 434, 434, 0, 0, 0, 0, 0, 3, 0,
500 0, 0, 0, 0, 0, 0, 456, 0, 23, 0,
501 0, 107, 0, 0, 0, 0, 0, 0, 0, 0,
502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
503 106, 0, 0, 0, 0, 0, 34, 0, 0, 49,
505 0, 0, 49, 0, 0, 0, 451, 79, 0, 0,
506 79, 79, 79, 79, 79, 79, 0, 0, 0, 102,
507 102, 102, 0, 0, 0, 0, 115, 0, 0, 107,
508 0, 0, 0, 0, 0, 106, 0, 0, 130, 0,
509 0, 130, 0, 0, 0, 0, 143, 0, 0, 0,
510 0, 156, 0, 0, 169, 169, 0, 0, 196, 196,
511 196, 0, 0, 196, 196, 0, 0, 0, 0, 241,
512 241, 0, 0, 241, 0, 0, 241, 241, 241, 241,
513 241, 241, 241, 241, 0, 0, 266, 266, 266, 0,
514 0, 266, 266, 266, 0, 0, 279, 0, 0, 0,
516 0, 310, 0, 0, 310, 310, 310, 0, 0, 327,
517 327, 327, 0, 0, 0, 348, 348, 348, 348, 0,
518 0, 365, 0, 0, 0, 0, 382, 382, 382, 0,
519 0, 399, 399, 399, 399, 0, 0, 0, 410, 0,
520 0, 0, 0, 0, 0, 0, 0, 434, 0, 0,
521 0, 14, 1, 0, 0, 444, 0, 0, 0, 441,
522 440, 0, 0, 23, 0, 0, 25, 0, 107, 0,
523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
524 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
525 0, 0, 0, 0, 34, 0, 0, 36, 0, 49,
527 0, 41, 40, 49, 0, 0, 0, 51, 0, 79,
528 0, 55, 54, 0, 0, 79, 0, 0, 79, 79,
529 79, 0, 0, 81, 0, 0, 102, 102, 102, 0,
530 0, 104, 0, 0, 109, 108, 115, 0, 0, 117,
531 0, 0, 0, 0, 0, 0, 0, 0, 0, 130,
532 0, 122, 121, 130, 0, 0, 132, 0, 0, 137,
533 136, 143, 0, 0, 145, 0, 0, 150, 149, 156,
534 0, 0, 158, 0, 169, 169, 0, 0, 171, 0,
535 196, 196, 196, 0, 176, 175, 196, 196, 0, 0,
536 198, 0, 0, 0, 241, 241, 241, 241, 0, 215,
538 214, 241, 0, 203, 202, 0, 0, 241, 241, 241,
539 241, 241, 241, 241, 0, 0, 243, 0, 266, 266,
540 266, 266, 0, 248, 247, 0, 0, 266, 266, 0,
541 0, 268, 0, 279, 0, 273, 272, 0, 0, 281,
542 0, 310, 0, 286, 285, 310, 310, 310, 0, 0,
543 312, 0, 0, 0, 0, 0, 327, 0, 0, 329,
544 0, 0, 0, 0, 348, 348, 0, 0, 348, 0,
545 0, 350, 0, 365, 0, 355, 354, 0, 0, 367,
546 0, 0, 0, 382, 382, 0, 0, 0, 0, 384,
547 0, 399, 399, 399, 399, 0, 0, 401, 0, 0,
549 410, 0, 0, 412, 0, 0, 417, 416, 0, 0,
550 423, 0, 0, 428, 427, 434, 0, 0, 436, 0,
551 0, 0, 445, 439, 0, 0, 0, 23, 0, 0,
552 0, 0, 0, 0, 173, 0, 283, 0, 0, 246,
553 0, 0, 425, 0, 0, 0, 0, 0, 0, 0,
554 0, 245, 0, 0, 0, 0, 0, 0, 0, 49,
555 0, 0, 79, 0, 59, 58, 0, 0, 0, 57,
556 56, 79, 0, 0, 79, 0, 426, 102, 0, 0,
557 102, 0, 115, 0, 116, 0, 0, 174, 284, 0,
558 0, 0, 0, 130, 130, 0, 143, 0, 0, 0,
560 0, 0, 0, 169, 0, 196, 196, 0, 0, 196,
561 196, 0, 0, 0, 241, 241, 241, 241, 0, 0,
562 0, 217, 216, 241, 241, 241, 241, 241, 241, 241,
563 0, 266, 266, 266, 266, 0, 256, 255, 266, 266,
564 0, 279, 0, 310, 310, 310, 310, 0, 0, 319,
565 318, 0, 317, 316, 327, 0, 283, 0, 336, 335,
566 348, 348, 0, 334, 333, 348, 0, 365, 0, 0,
567 374, 373, 382, 382, 0, 372, 371, 0, 399, 0,
568 0, 399, 399, 0, 0, 410, 0, 0, 434, 0,
569 0, 0, 0, 12, 0, 442, 443, 0, 23, 0,
571 0, 0, 0, 0, 0, 173, 0, 283, 0, 147,
572 0, 246, 0, 0, 425, 0, 314, 0, 39, 0,
573 0, 0, 0, 245, 0, 38, 0, 30, 29, 0,
574 0, 43, 42, 49, 0, 0, 79, 0, 61, 60,
575 79, 0, 65, 64, 79, 0, 426, 102, 0, 0,
576 0, 0, 0, 0, 115, 0, 0, 174, 284, 315,
577 0, 315, 314, 130, 0, 0, 0, 143, 0, 0,
578 152, 151, 0, 0, 165, 164, 169, 0, 196, 196,
579 0, 180, 179, 0, 0, 0, 0, 196, 0, 148,
580 0, 241, 0, 0, 241, 241, 0, 213, 212, 0,
582 0, 241, 241, 241, 241, 241, 241, 0, 266, 0,
583 0, 266, 266, 0, 0, 266, 0, 279, 0, 310,
584 310, 310, 0, 0, 310, 0, 327, 0, 0, 348,
585 348, 348, 0, 365, 0, 382, 382, 0, 399, 0,
586 389, 388, 399, 399, 0, 0, 0, 0, 0, 0,
587 0, 0, 0, 0, 0, 0, 11, 0, 23, 0,
588 0, 0, 0, 0, 415, 0, 0, 147, 0, 0,
589 0, 53, 314, 270, 0, 39, 0, 414, 52, 0,
590 0, 0, 38, 0, 0, 49, 0, 0, 79, 79,
591 79, 0, 102, 0, 0, 0, 0, 0, 0, 0,
593 0, 0, 96, 95, 0, 115, 0, 0, 315, 271,
594 0, 130, 0, 124, 123, 0, 143, 0, 0, 169,
595 0, 196, 196, 0, 178, 177, 0, 0, 0, 196,
596 0, 197, 148, 0, 241, 0, 225, 224, 0, 0,
597 241, 0, 211, 210, 0, 0, 241, 241, 241, 241,
598 0, 0, 0, 266, 0, 252, 251, 0, 0, 266,
599 0, 250, 249, 266, 0, 267, 279, 0, 310, 310,
600 310, 0, 0, 0, 310, 0, 311, 327, 0, 0,
601 0, 0, 0, 0, 348, 0, 365, 0, 0, 0,
602 0, 0, 0, 399, 399, 399, 0, 0, 0, 406,
604 405, 0, 0, 0, 430, 429, 0, 435, 0, 0,
605 0, 0, 0, 0, 0, 331, 0, 0, 201, 415,
606 28, 0, 0, 0, 387, 53, 270, 134, 0, 414,
607 52, 200, 27, 386, 0, 0, 49, 0, 0, 50,
608 79, 0, 0, 79, 0, 0, 0, 0, 0, 0,
609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
610 332, 0, 271, 135, 0, 0, 0, 0, 0, 0,
611 0, 157, 0, 0, 0, 196, 196, 0, 0, 196,
612 0, 241, 0, 227, 226, 241, 0, 205, 204, 0,
613 0, 241, 241, 241, 0, 207, 206, 0, 266, 0,
615 254, 253, 266, 266, 279, 0, 310, 0, 0, 310,
616 310, 0, 0, 310, 327, 0, 328, 0, 0, 340,
617 339, 0, 338, 337, 348, 0, 365, 0, 0, 378,
618 377, 0, 376, 375, 0, 399, 399, 399, 0, 0,
619 0, 0, 0, 0, 0, 17, 0, 19, 18, 0,
620 331, 403, 0, 201, 28, 352, 160, 16, 387, 134,
621 0, 0, 200, 27, 386, 0, 0, 49, 450, 79,
622 0, 67, 66, 79, 0, 80, 0, 98, 97, 0,
623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
624 0, 111, 110, 332, 0, 135, 0, 0, 126, 125,
626 0, 0, 139, 138, 0, 0, 163, 162, 0, 196,
627 196, 0, 0, 0, 0, 196, 161, 241, 241, 0,
628 209, 208, 241, 241, 241, 0, 266, 266, 266, 279,
629 0, 280, 310, 0, 292, 291, 310, 310, 0, 0,
630 0, 0, 310, 327, 353, 348, 0, 365, 0, 0,
631 0, 0, 399, 399, 0, 404, 0, 0, 422, 0,
632 0, 0, 17, 0, 403, 0, 352, 160, 16, 0,
633 0, 0, 0, 35, 49, 0, 0, 79, 0, 0,
634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
635 0, 0, 0, 144, 0, 196, 196, 0, 186, 0,
637 185, 196, 161, 241, 241, 0, 0, 241, 241, 0,
638 242, 266, 266, 266, 279, 0, 0, 310, 310, 310,
639 0, 296, 0, 295, 310, 327, 353, 348, 0, 349,
640 0, 0, 0, 0, 0, 391, 390, 0, 0, 399,
641 0, 400, 404, 0, 0, 0, 0, 0, 24, 0,
642 0, 0, 0, 49, 0, 0, 0, 79, 0, 0,
643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
644 0, 0, 0, 170, 196, 196, 188, 187, 0, 0,
645 241, 241, 0, 237, 236, 241, 0, 0, 266, 266,
646 0, 0, 279, 0, 288, 287, 310, 310, 310, 298,
648 297, 0, 0, 327, 348, 0, 0, 0, 0, 366,
649 0, 0, 395, 394, 0, 0, 0, 411, 0, 0,
650 0, 369, 0, 0, 0, 0, 0, 0, 0, 0,
651 0, 0, 0, 79, 0, 0, 0, 0, 88, 0,
652 0, 0, 0, 87, 0, 370, 0, 0, 196, 0,
653 0, 0, 190, 189, 241, 241, 241, 0, 235, 234,
654 266, 0, 0, 0, 262, 261, 0, 0, 310, 310,
655 310, 0, 300, 299, 0, 0, 0, 0, 0, 0,
656 0, 0, 0, 0, 0, 0, 393, 392, 0, 0,
657 0, 369, 119, 0, 0, 0, 45, 44, 0, 0,
659 0, 0, 0, 0, 0, 0, 79, 0, 0, 0,
660 0, 0, 0, 0, 0, 0, 370, 120, 0, 0,
661 0, 196, 0, 192, 191, 241, 241, 241, 266, 0,
662 258, 257, 0, 275, 274, 310, 0, 0, 310, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 119, 84, 83, 0,
665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
666 0, 94, 0, 0, 0, 93, 0, 0, 120, 0,
667 0, 182, 181, 196, 241, 241, 241, 266, 310, 0,
668 294, 293, 310, 0, 0, 0, 0, 0, 0, 0,
670 0, 0, 0, 357, 0, 0, 356, 0, 383, 0,
671 0, 0, 0, 0, 0, 84, 83, 0, 0, 0,
672 0, 0, 0, 0, 0, 0, 63, 62, 0, 0,
673 0, 0, 0, 0, 0, 0, 131, 196, 241, 241,
674 0, 0, 266, 0, 0, 0, 0, 0, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 0, 0, 0, 75, 71, 0, 0,
677 74, 70, 0, 92, 0, 0, 91, 0, 0, 0,
678 103, 196, 241, 241, 0, 0, 0, 266, 0, 290,
679 289, 0, 0, 0, 323, 0, 322, 0, 344, 0,
681 343, 0, 359, 361, 358, 360, 0, 0, 0, 12,
682 0, 12, 0, 0, 0, 0, 0, 86, 90, 85,
683 89, 196, 241, 241, 0, 0, 0, 0, 266, 0,
684 0, 0, 0, 321, 320, 342, 341, 0, 0, 0,
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, 0, 0, 0, 0, 69, 0,
688 68, 0, 0, 184, 183, 0, 233, 232, 0, 0,
689 0, 0, 0, 0, 0, 0, 0, 0, 260, 259,
690 0, 0, 0, 0, 0, 0, 0, 11, 0, 0,
692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
693 0, 0, 0, 0, 0, 0, 0, 73, 72, 0,
694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
697 0, 0, 0, 0, 0, 0, 0, 0, 0, 219,
698 0, 0, 218, 0, 0, 302, 0, 0, 301, 0,
699 0, 0, 0, 0, 223, 0, 222, 0, 304, 0,
700 303, 0, 0, 0, 0, 0, 0, 0, 0, 0,
701 0, 0, 0, 229, 0, 228, 0, 0, 0, 0,
703 0, 0, 231, 230, 221, 220, 306, 305, 0, 0,
704 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0,
709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
716 static yyconst flex_int32_t yy_ec[256] =
718 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
719 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
720 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
721 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
722 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
723 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
724 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
725 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
726 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
727 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
729 53, 54, 55, 56, 57, 31, 58, 59, 60, 61,
730 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
731 72, 31, 1, 1, 1, 1, 1, 1, 1, 1,
732 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
733 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
734 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
735 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
736 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
737 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
738 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
740 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
741 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
742 1, 1, 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,
748 static yyconst flex_int32_t yy_meta[73] =
750 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
751 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
752 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
753 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
754 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
755 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
756 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
760 static yyconst flex_int16_t yy_base[3074] =
762 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
763 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
764 108, 177, 75, 78, 83, 128, 131, 134, 138, 141,
765 158, 197, 200, 203, 207, 210, 227, 230, 233, 236,
766 239, 256, 274, 328, 294, 297, 382, 445, 305, 351,
767 508, 574, 300, 354, 358, 361, 402, 405, 408, 412,
768 640, 707, 415, 465, 774, 839, 468, 471, 475, 478,
769 528, 531, 534, 538, 541, 594, 597, 600, 604, 607,
770 660, 663, 666, 670, 673, 727, 730, 733, 737, 740,
771 794, 797, 800, 804, 807, 859, 904, 964, 862, 865,
773 869, 872, 924, 927, 930, 934, 1024, 1091, 984, 987,
774 990, 994, 1044, 1047, 1050, 1054, 1158, 1219, 1057, 1111,
775 1280, 1347, 1114, 1117, 1414, 1480, 1121, 1124, 1178, 1181,
776 1184, 1188, 1191, 1239, 1546, 0, 1242, 1245, 1618, 0,
777 1249, 1252, 1690, 1747, 1300, 1303, 1804, 1870, 1306, 1310,
778 1313, 1367, 1370, 1373, 1377, 1380, 1936, 2002, 1434, 1437,
779 1440, 1444, 1500, 1503, 1506, 1510, 2068, 2134, 1710, 1713,
780 1716, 1720, 1767, 1770, 1773, 1777, 2200, 2257, 1824, 1827,
781 2314, 2380, 1830, 1834, 1837, 1890, 1893, 1896, 1900, 1903,
782 2446, 2512, 1956, 1959, 1962, 1966, 1969, 2022, 2025, 2028,
784 2578, 2647, 2032, 2035, 2716, 2773, 2088, 2091, 2094, 2098,
785 2101, 2154, 2157, 2160, 2830, 2899, 2164, 2167, 0, 0,
786 7480, 9610, 9610, 95, 100, 29, 41, 9610, 103, 51,
787 9610, 9610, 7465, 9610, 9610, 7454, 9610, 7469, 7467, 498,
788 9610, 9610, 9610, 9610, 7465, 7465, 7416, 145, 9610, 161,
789 7442, 0, 146, 9610, 7408, 9610, 166, 2964, 88, 204,
790 205, 254, 7446, 3, 9610, 169, 7437, 0, 153, 9610,
791 7399, 9610, 260, 419, 9610, 322, 7431, 0, 244, 9610,
792 7393, 7397, 7393, 420, 7398, 9610, 364, 7424, 0, 248,
793 9610, 7386, 7386, 257, 7388, 360, 9610, 440, 31, 7422,
795 7370, 9610, 567, 7412, 0, 306, 9610, 7368, 7369, 7360,
796 9610, 624, 482, 9610, 633, 7402, 0, 416, 9610, 7369,
797 7358, 9610, 692, 2172, 2176, 285, 35, 7393, 240, 135,
798 740, 2185, 59, 7402, 152, 9610, 697, 7393, 0, 417,
799 9610, 7348, 7357, 7346, 9610, 700, 7391, 181, 9610, 764,
800 7382, 0, 479, 9610, 7349, 7326, 9610, 767, 7385, 210,
801 9610, 824, 7376, 0, 480, 9610, 7339, 7341, 9610, 830,
802 483, 9610, 833, 7369, 0, 485, 9610, 7337, 7313, 9610,
803 889, 546, 9610, 895, 7364, 0, 543, 9610, 7310, 7316,
804 7325, 7312, 7306, 9610, 898, 310, 464, 527, 9610, 937,
806 7352, 0, 545, 9610, 7298, 303, 7304, 7313, 7313, 185,
807 568, 615, 9610, 954, 611, 9610, 997, 7341, 0, 684,
808 9610, 7291, 7285, 7284, 7293, 7295, 7277, 7271, 9610, 1014,
809 685, 9610, 1074, 7317, 0, 742, 9610, 7270, 7279, 9610,
810 1080, 752, 9610, 1083, 7310, 0, 751, 9610, 7276, 7272,
811 7274, 505, 9610, 1086, 7306, 593, 9610, 1141, 7297, 0,
812 808, 9610, 7250, 306, 9610, 1147, 950, 7299, 7251, 9610,
813 1150, 7289, 0, 809, 9610, 7238, 7233, 620, 9610, 1153,
814 7290, 621, 9610, 1208, 7277, 0, 873, 9610, 7239, 7243,
815 9610, 1214, 942, 9610, 1269, 7270, 0, 874, 9610, 7223,
817 7218, 7218, 9610, 1275, 7270, 811, 9610, 1330, 7261, 0,
818 938, 9610, 7208, 7213, 7217, 7202, 9610, 1333, 449, 991,
819 826, 9610, 1336, 7248, 0, 939, 9610, 7218, 9610, 1340,
820 1002, 9610, 1397, 7242, 0, 999, 9610, 7209, 9610, 1400,
821 7248, 872, 9610, 1403, 7235, 0, 1001, 9610, 7202, 7204,
822 9610, 1407, 1445, 1465, 713, 7177, 9610, 7237, 7226, 9610,
823 9610, 9610, 1459, 317, 7174, 7173, 7171, 7214, 7174, 9610,
824 0, 7167, 7164, 7187, 7160, 7148, 687, 7157, 7157, 7156,
825 887, 30, 1017, 7145, 7146, 757, 1018, 7167, 1071, 7144,
826 1081, 7139, 1138, 1148, 1209, 9610, 0, 7140, 7141, 9610,
828 0, 7138, 1513, 7127, 1009, 7124, 7170, 9610, 0, 6674,
829 1723, 6663, 6683, 6670, 6678, 6676, 6676, 6662, 1411, 9610,
830 0, 6673, 6663, 6674, 6654, 9610, 0, 1780, 6645, 6690,
831 6671, 6630, 6638, 6642, 1471, 6630, 6653, 1473, 1474, 9610,
832 0, 6630, 2221, 6637, 6617, 9610, 0, 2230, 6618, 6611,
833 9610, 0, 2277, 6615, 6614, 9610, 0, 6612, 6601, 6603,
834 9610, 0, 6612, 1196, 2280, 6590, 6609, 6597, 1007, 9610,
835 0, 6602, 6598, 2283, 6580, 2286, 6576, 6568, 6580, 6580,
836 6562, 6576, 6570, 6564, 6565, 9610, 0, 6552, 6552, 6536,
837 2289, 6530, 6519, 6539, 6513, 9610, 0, 6509, 2334, 6505,
839 9610, 0, 6496, 2337, 6489, 6505, 6500, 6489, 9610, 0,
840 6479, 6490, 6480, 6473, 6472, 9610, 0, 6461, 6476, 6461,
841 6451, 6482, 9610, 0, 6438, 2340, 6439, 9610, 0, 6427,
842 6444, 6440, 6439, 9610, 0, 6423, 6416, 6422, 6430, 6402,
843 6381, 9610, 0, 6386, 6394, 9610, 0, 2343, 6391, 9610,
844 0, 2346, 6381, 6372, 6414, 6422, 1111, 6363, 9610, 1525,
845 0, 6359, 6358, 6400, 6389, 6333, 9610, 6345, 6326, 2400,
846 2403, 1799, 6332, 6320, 6308, 6314, 6307, 6308, 6297, 6288,
847 6288, 6300, 6303, 6288, 6276, 6268, 6272, 6270, 6257, 6255,
848 1854, 6231, 6247, 6242, 6230, 6241, 6235, 2408, 2411, 6234,
850 2414, 1922, 6228, 6247, 2466, 2471, 9610, 6217, 2475, 1987,
851 2478, 6207, 2486, 6205, 6208, 6207, 2481, 2545, 6192, 6184,
852 6191, 6185, 2535, 2540, 2548, 2053, 6168, 2598, 2606, 1865,
853 6170, 6161, 6164, 6152, 6155, 1930, 6140, 6139, 6138, 2609,
854 2122, 6151, 2612, 2617, 2627, 2368, 6131, 2667, 2671, 2676,
855 2434, 6127, 2679, 2686, 6122, 6114, 2694, 2737, 6109, 6091,
856 6102, 2740, 2632, 6092, 6077, 2747, 2750, 6066, 6066, 6066,
857 1475, 2794, 2698, 6069, 2797, 2706, 2802, 6067, 6058, 6048,
858 6035, 6036, 6023, 6035, 2805, 2862, 6030, 557, 6017, 2850,
859 2762, 2853, 6028, 6012, 2858, 2871, 6009, 2877, 2820, 2923,
861 2927, 6021, 2930, 2886, 6018, 5999, 5996, 2933, 2937, 2948,
862 2956, 2959, 2962, 2970, 6000, 2977, 2989, 2997, 3003, 3008,
863 3031, 5986, 3034, 3040, 3054, 3057, 3062, 3065, 3069, 3076,
864 3083, 5986, 5968, 5975, 5967, 3087, 3091, 5963, 5948, 3095,
865 3098, 3102, 3120, 3130, 3133, 3106, 3136, 5947, 3144, 3155,
866 5993, 9610, 9610, 1299, 5949, 9610, 5990, 5988, 5934, 9610,
867 9610, 5932, 5930, 5929, 3158, 3163, 9610, 3166, 1741, 5923,
868 5915, 5933, 5914, 5925, 5910, 5906, 5906, 5901, 5892, 5888,
869 5884, 1327, 5898, 5881, 5878, 5891, 5882, 5881, 1995, 5856,
870 5861, 5854, 1670, 5866, 3169, 3177, 3187, 9610, 3190, 3197,
872 3200, 9610, 9610, 3209, 5890, 3215, 3219, 9610, 3223, 5849,
873 3227, 9610, 9610, 3242, 3245, 3254, 3260, 3272, 5861, 3263,
874 5852, 3266, 3281, 9610, 3285, 1727, 5850, 3288, 5843, 3291,
875 3294, 9610, 3300, 3306, 9610, 9610, 5838, 3314, 3319, 9610,
876 3322, 5827, 5838, 5815, 5823, 5812, 5809, 5806, 5801, 5803,
877 3326, 9610, 9610, 5794, 3334, 3341, 9610, 3348, 3353, 9610,
878 9610, 5803, 3361, 3367, 9610, 3370, 3373, 9610, 9610, 3381,
879 3389, 3392, 9610, 3395, 3399, 3402, 3420, 3423, 9610, 3426,
880 5783, 5772, 3432, 3435, 9610, 9610, 5758, 5759, 3445, 3450,
881 9610, 3453, 5750, 5747, 5742, 5729, 5745, 5737, 3458, 9610,
883 9610, 3472, 3475, 9610, 9610, 3483, 3486, 5726, 5720, 5723,
884 5719, 5711, 5713, 5699, 3494, 3497, 9610, 3501, 5695, 5692,
885 5677, 5691, 3504, 9610, 9610, 3520, 3523, 5673, 5684, 3531,
886 3534, 9610, 3538, 5683, 3541, 9610, 9610, 3553, 3557, 9610,
887 3560, 5657, 3572, 9610, 9610, 5664, 5667, 5666, 3563, 3568,
888 9610, 3582, 3590, 3594, 3602, 3608, 5665, 3616, 3620, 9610,
889 3627, 5658, 3623, 3635, 5649, 5640, 3630, 3648, 5641, 3656,
890 3659, 9610, 3662, 5636, 3665, 9610, 9610, 3681, 3684, 9610,
891 3687, 3690, 3694, 5620, 5619, 3709, 3712, 3720, 3727, 9610,
892 3730, 5607, 3733, 5620, 5596, 3739, 3742, 9610, 3751, 5594,
894 5596, 3754, 3761, 9610, 3764, 3773, 9610, 9610, 3783, 3786,
895 9610, 3792, 3795, 9610, 9610, 5591, 3805, 3812, 9610, 3818,
896 1305, 3824, 9610, 9610, 5626, 5617, 5579, 5569, 3827, 5562,
897 5553, 5545, 5541, 5549, 2061, 5512, 2188, 5511, 5512, 2251,
898 5521, 5517, 2308, 5491, 5498, 5501, 5495, 5482, 5476, 5469,
899 5466, 2504, 5480, 5478, 3831, 3837, 3852, 3855, 3858, 5473,
900 5495, 3866, 5467, 3873, 9610, 9610, 3881, 3886, 3895, 9610,
901 9610, 5465, 3903, 3906, 5453, 3916, 2507, 5444, 3921, 3924,
902 3935, 3939, 5442, 3942, 9610, 5430, 5424, 2559, 2569, 5436,
903 5429, 5423, 5419, 5406, 3945, 3949, 5408, 3953, 3963, 3968,
905 3976, 3981, 3985, 5402, 3995, 5408, 5361, 4000, 4003, 4019,
906 4022, 4025, 5342, 5343, 5348, 4028, 5328, 5338, 4031, 4040,
907 4049, 9610, 9610, 4057, 5315, 5329, 5312, 5314, 5326, 5301,
908 4060, 5321, 4063, 5301, 5310, 4069, 9610, 9610, 4081, 5292,
909 4084, 5260, 4087, 5250, 5247, 5236, 4091, 4094, 4099, 9610,
910 9610, 4109, 9610, 9610, 5225, 4117, 3000, 4121, 9610, 9610,
911 5212, 5225, 4129, 9610, 9610, 5175, 4138, 5169, 4141, 4144,
912 9610, 9610, 5151, 5145, 4153, 9610, 9610, 4161, 5136, 4164,
913 4167, 5071, 5089, 4175, 5075, 4183, 4186, 4189, 4194, 4201,
914 593, 5102, 4212, 9610, 5100, 9610, 9610, 5057, 5054, 4215,
916 4993, 5006, 4975, 4933, 4895, 2572, 4891, 2640, 4880, 2743,
917 4881, 2881, 4819, 4714, 4220, 4708, 4225, 4706, 4234, 4703,
918 4606, 4612, 4595, 4237, 4569, 4243, 4246, 9610, 9610, 4254,
919 4257, 9610, 9610, 4560, 4529, 4268, 4472, 4274, 9610, 9610,
920 4413, 4283, 9610, 9610, 79, 4291, 4294, 108, 4297, 1763,
921 2084, 4305, 4310, 4323, 165, 240, 250, 4326, 4329, 4332,
922 295, 4335, 4338, 314, 4342, 4345, 4353, 382, 4360, 4363,
923 9610, 9610, 4375, 4379, 9610, 9610, 383, 4387, 447, 446,
924 4390, 9610, 9610, 4356, 4402, 4410, 4413, 506, 4421, 4424,
925 575, 629, 4428, 4431, 4441, 685, 4447, 9610, 9610, 4455,
927 4459, 4467, 693, 711, 706, 763, 4473, 4476, 774, 4479,
928 4485, 4497, 794, 4500, 4503, 827, 4511, 821, 4518, 836,
929 831, 865, 4521, 4524, 892, 4532, 915, 4542, 944, 4545,
930 4551, 4554, 4557, 1006, 4563, 4572, 4577, 4582, 1002, 4595,
931 9610, 9610, 1017, 1040, 4585, 1069, 4590, 4604, 4612, 4619,
932 4624, 4627, 4638, 1309, 1302, 1121, 9610, 1071, 4642, 4647,
933 1136, 1137, 1165, 1143, 4650, 1161, 1168, 4653, 1195, 1194,
934 1198, 4660, 4666, 4671, 1216, 4675, 1224, 4678, 4681, 1231,
935 1258, 1254, 4684, 1279, 4687, 1335, 1365, 4690, 1327, 4693,
936 1335, 4696, 4699, 1374, 1361, 1423, 1376, 1391, 1394, 1429,
938 1413, 4702, 9610, 9610, 4711, 4717, 1401, 1418, 4720, 4723,
939 1422, 4726, 4731, 9610, 9610, 4740, 4744, 4747, 4750, 4762,
940 4769, 1421, 1430, 4773, 9610, 9610, 4781, 1460, 1475, 1462,
941 4789, 9610, 4794, 1489, 1488, 4797, 9610, 9610, 4808, 4811,
942 1649, 4819, 9610, 9610, 4827, 4830, 4838, 1672, 1682, 1675,
943 4841, 4845, 4859, 1678, 4862, 9610, 9610, 4870, 4874, 1690,
944 4882, 9610, 9610, 1683, 4890, 9610, 1697, 4893, 1696, 4896,
945 1739, 4899, 1753, 1761, 1763, 4914, 9610, 1778, 4917, 1776,
946 4920, 4923, 4938, 4943, 1787, 4951, 1784, 4957, 4960, 4963,
947 4971, 4978, 4989, 1786, 1789, 1796, 4992, 1798, 4995, 9610,
949 9610, 5003, 5011, 5018, 9610, 9610, 5026, 9610, 1840, 2079,
950 1845, 1802, 5030, 5033, 5041, 5048, 1819, 1839, 5060, 5065,
951 5068, 1848, 1859, 1853, 5071, 5074, 5077, 5080, 1853, 5083,
952 5086, 5089, 5092, 5095, 1860, 5098, 1866, 1889, 5101, 9610,
953 1887, 5105, 5108, 1918, 5123, 5127, 5130, 1940, 1937, 1938,
954 1944, 1938, 1950, 1947, 1952, 1959, 1957, 5138, 5145, 5150,
955 5158, 1939, 5163, 5166, 5169, 5172, 5180, 5183, 5188, 5201,
956 5204, 9610, 5207, 5213, 5225, 1959, 1966, 2017, 2031, 1982,
957 1989, 1986, 5228, 9610, 9610, 1986, 5237, 9610, 9610, 5245,
958 5249, 1999, 1997, 2002, 5257, 9610, 9610, 5265, 2008, 5268,
960 9610, 9610, 2017, 2049, 2043, 5279, 2055, 5284, 5287, 2064,
961 2059, 2138, 2152, 2068, 2078, 5298, 9610, 2071, 5302, 9610,
962 9610, 5310, 9610, 9610, 2082, 5318, 2089, 5321, 5325, 9610,
963 9610, 5333, 9610, 9610, 5341, 5344, 5347, 5350, 5353, 2107,
964 5356, 5378, 5381, 2173, 2163, 5387, 5390, 9610, 9610, 5400,
965 5403, 5409, 2108, 5412, 5419, 5422, 5425, 5428, 5431, 5434,
966 2110, 2134, 5437, 5440, 5443, 2135, 5446, 2132, 9610, 5449,
967 5452, 9610, 9610, 5460, 5467, 9610, 5471, 9610, 9610, 2191,
968 2187, 2204, 2213, 2222, 2231, 2233, 2268, 2263, 2271, 5479,
969 5482, 9610, 9610, 5490, 2230, 5493, 2233, 5498, 9610, 9610,
971 5506, 5509, 9610, 9610, 5517, 5526, 9610, 9610, 5520, 2244,
972 2253, 2280, 2307, 2303, 2342, 2299, 5540, 2297, 2300, 5543,
973 9610, 9610, 5553, 2295, 2305, 5556, 2306, 2311, 2314, 2315,
974 5559, 9610, 5562, 5565, 9610, 9610, 2316, 2313, 2349, 2372,
975 2352, 2387, 2355, 2360, 5580, 2370, 5583, 5586, 5589, 5592,
976 5595, 5598, 5613, 5616, 5619, 5622, 5625, 5638, 9610, 5644,
977 2419, 2478, 5634, 5653, 5649, 2354, 5657, 5663, 5668, 2350,
978 2363, 2364, 5673, 9610, 2357, 5676, 5679, 5687, 2387, 2386,
979 2406, 2394, 2406, 2402, 2428, 2452, 2447, 2458, 5694, 2432,
980 2431, 5697, 5700, 9610, 5706, 2461, 2468, 2534, 9610, 2532,
982 9610, 5709, 5719, 2478, 2498, 5727, 5730, 2494, 5738, 5745,
983 9610, 2487, 2490, 5748, 2491, 5756, 5767, 2510, 2510, 2518,
984 2597, 9610, 2595, 9610, 5759, 2547, 5777, 2548, 5780, 9610,
985 5783, 5786, 5794, 5801, 5804, 9610, 9610, 5813, 5816, 5824,
986 5827, 9610, 5831, 5834, 2613, 2619, 2643, 5837, 9610, 2569,
987 2560, 2574, 2587, 5842, 5846, 2833, 3116, 5856, 2647, 2663,
988 2662, 2670, 2697, 2681, 2691, 2708, 2733, 2747, 5860, 2705,
989 2697, 5863, 5868, 9610, 2689, 5874, 9610, 9610, 5882, 5888,
990 2697, 2709, 5896, 9610, 9610, 2732, 5904, 5907, 2723, 5922,
991 5925, 5928, 5936, 5943, 9610, 9610, 2745, 2757, 2754, 9610,
993 9610, 5954, 5957, 5965, 5968, 5972, 2903, 3173, 5986, 9610,
994 5989, 5992, 9610, 9610, 6000, 6008, 6018, 9610, 2797, 2798,
995 2922, 6021, 2761, 2764, 2776, 6024, 6027, 2790, 2827, 2949,
996 2829, 2834, 3004, 6038, 2861, 2851, 2849, 2855, 9610, 2873,
997 2873, 2877, 2881, 9610, 6042, 6045, 2895, 6048, 6056, 6051,
998 6063, 6074, 9610, 9610, 2906, 2893, 2919, 6082, 9610, 9610,
999 2929, 6090, 6094, 6104, 9610, 9610, 6112, 6115, 2928, 6123,
1000 2937, 6126, 9610, 9610, 6134, 6137, 6145, 6148, 2959, 2961,
1001 2961, 2973, 2981, 2981, 6156, 6159, 9610, 9610, 3025, 3020,
1002 6167, 6170, 6175, 2958, 2980, 6179, 9610, 9610, 3028, 3017,
1004 3019, 3034, 3054, 3047, 3048, 3084, 6187, 3073, 3094, 3113,
1005 3098, 3087, 3106, 3121, 3121, 6190, 6193, 6196, 6199, 6209,
1006 6212, 3090, 6220, 9610, 9610, 3095, 3093, 3102, 3122, 6228,
1007 9610, 9610, 6236, 9610, 9610, 3124, 6244, 6247, 3110, 6255,
1008 3189, 3197, 6263, 3205, 3296, 3141, 3150, 3181, 3153, 3170,
1009 3228, 6271, 3279, 6274, 6277, 6280, 6299, 6302, 6305, 3203,
1010 3226, 3228, 3216, 3224, 3234, 3252, 3241, 6308, 6311, 3271,
1011 3276, 9610, 3283, 3290, 3297, 9610, 3310, 6319, 6322, 6326,
1012 6329, 9610, 9610, 3290, 3291, 3296, 6338, 3301, 6341, 6345,
1013 9610, 9610, 6359, 3324, 3340, 3331, 3352, 3344, 3360, 3352,
1015 3363, 3372, 3382, 9610, 3376, 3387, 9610, 6362, 9610, 3396,
1016 6365, 6368, 6387, 6407, 6454, 6377, 6395, 3389, 3411, 3413,
1017 3380, 3406, 3424, 3433, 3405, 6427, 9610, 9610, 3453, 3433,
1018 3435, 3460, 3438, 3439, 6398, 6401, 9610, 3421, 3423, 3432,
1019 6445, 6435, 3435, 6448, 6474, 6466, 6484, 3503, 3472, 3503,
1020 3476, 3510, 3479, 3511, 3489, 3524, 3525, 3537, 3539, 3548,
1021 6493, 3581, 3570, 6513, 6560, 3535, 9610, 9610, 3514, 3539,
1022 9610, 9610, 3544, 9610, 3583, 3589, 9610, 3590, 3598, 6503,
1023 9610, 3555, 3562, 3544, 6533, 3678, 3681, 3582, 6541, 9610,
1024 9610, 6549, 3699, 3712, 9610, 3639, 9610, 3637, 9610, 3642,
1026 9610, 3644, 9610, 9610, 9610, 9610, 3650, 3763, 3635, 3666,
1027 3740, 3664, 6506, 3660, 3651, 3663, 3654, 9610, 9610, 9610,
1028 9610, 6571, 6580, 6583, 3684, 3652, 3739, 3670, 6589, 3750,
1029 3673, 3751, 3690, 9610, 9610, 9610, 9610, 6592, 3764, 3757,
1030 3791, 6601, 3796, 3783, 3801, 3789, 6607, 6611, 6620, 6625,
1031 6633, 6638, 3777, 3785, 3801, 3784, 3803, 3815, 6646, 6653,
1032 3802, 3815, 3827, 3811, 3819, 3841, 6664, 3845, 9610, 3832,
1033 9610, 3837, 6667, 9610, 9610, 6676, 9610, 9610, 6684, 3854,
1034 3864, 3836, 3845, 3849, 3859, 3869, 3875, 6692, 9610, 9610,
1035 3877, 3883, 3883, 3892, 3898, 3894, 3915, 9610, 3928, 3941,
1037 3936, 3932, 3941, 3946, 3946, 3956, 3960, 3962, 3968, 3969,
1038 3971, 3983, 3984, 3981, 3988, 3990, 3997, 9610, 9610, 3980,
1039 4017, 4000, 4026, 4017, 4015, 4043, 4032, 4033, 4052, 4042,
1040 4040, 4074, 4069, 4068, 4091, 4140, 4080, 4084, 4091, 4091,
1041 4108, 4099, 4145, 4146, 4137, 4166, 4156, 4157, 4195, 4181,
1042 4171, 4202, 4205, 4182, 4194, 4200, 4207, 4228, 4209, 9610,
1043 4235, 4218, 9610, 4247, 4229, 9610, 4258, 4235, 9610, 4284,
1044 4236, 4250, 4242, 4259, 9610, 4276, 9610, 4279, 9610, 4284,
1045 9610, 4289, 6702, 4291, 4314, 4297, 4341, 4308, 4324, 4326,
1046 4327, 6705, 4368, 9610, 4375, 9610, 4380, 4378, 4392, 4392,
1048 4390, 4398, 9610, 9610, 9610, 9610, 9610, 9610, 4400, 4418,
1049 4428, 4444, 4488, 4509, 4477, 4521, 4498, 4530, 4570, 4600,
1050 4497, 4512, 4416, 4580, 4697, 4718, 4435, 4548, 4401, 4419,
1051 4614, 4712, 4742, 4785, 4796, 4815, 4604, 4804, 4754, 4784,
1052 4598, 4847, 4721, 4849, 4832, 4835, 4735, 4915, 4965, 4991,
1053 4799, 4850, 4928, 4958, 4886, 4891, 4913, 4968, 4833, 4855,
1054 5006, 5027, 5096, 5103, 4918, 4983, 4838, 4916, 5135, 5157,
1055 4996, 5178, 4980, 5160, 5124, 5218, 5179, 5192, 5193, 5205,
1056 5093, 5143, 5245, 5264, 5258, 5274, 4990, 5295, 5312, 5313,
1057 5289, 5045, 6713, 6716, 9610, 9610, 6736, 6745, 6754, 6763,
1059 6772, 6781, 6790, 6799, 6808, 6817, 6826, 6835, 6844, 6853,
1060 6862, 6871, 6880, 6889, 6898, 6907, 6916, 6925, 6934, 6943,
1061 6952, 6961, 6970, 6979, 6988, 6997, 7006, 7015, 7024, 7033,
1062 7042, 7051, 7060, 7069, 7078, 7087, 7096, 7105, 7114, 7123,
1063 7132, 7141, 7150, 7159, 7168, 7177, 7184, 7191, 7198, 7205,
1064 7212, 7219, 7226, 7233, 7240, 7247, 7254, 7261, 7268, 7275,
1065 7282, 7289, 7296, 7303, 7310, 7317, 7324, 7331, 7338, 7347,
1066 7354, 7359, 7366, 7371, 7378, 7383, 7390, 7395, 7402, 7407,
1067 7414, 7419, 7426, 7431, 7438, 7443, 7450, 7455, 7462, 7467,
1068 7474, 7479, 7486, 7491, 7498, 7503, 7510, 7515, 7522, 7527,
1070 7534, 7539, 7546, 7551, 7558, 7563, 7570, 7575, 7582, 7587,
1071 7594, 7599, 7606, 7611, 7618, 7623, 7632, 7638, 7645, 7653,
1072 7660, 7668, 7675, 7683, 7690, 7698, 7705, 7713, 7720, 7728,
1073 7735, 7743, 7750, 7758, 7765, 7773, 7780, 7788, 7795, 7803,
1074 7810, 7818, 7825, 7833, 7840, 7848, 7855, 7863, 7871, 7879,
1075 7887, 7895, 7902, 7910, 7918, 7926, 7933, 7941, 7948, 7956,
1076 7964, 7971, 7979, 7988, 7994, 8001, 8009, 8017, 8025, 8033,
1077 8041, 8048, 8056, 8063, 8071, 8078, 8086, 8093, 8101, 8108,
1078 8116, 8124, 8132, 8140, 8148, 8155, 8163, 8170, 8178, 8185,
1079 8193, 8200, 8208, 8215, 8223, 8230, 8238, 8245, 8253, 8260,
1081 8268, 8275, 8283, 8290, 8298, 8305, 8313, 8321, 8328, 8336,
1082 8345, 8354, 8361, 8369, 8377, 8384, 8392, 8399, 8407, 8414,
1083 8422, 8429, 8436, 8444, 8451, 8459, 8467, 8474, 8482, 8489,
1084 8497, 8504, 8512, 8519, 8527, 8534, 8542, 8549, 8557, 8564,
1085 8572, 8579, 8587, 8594, 8602, 8609, 8617, 8624, 8632, 8640,
1086 8648, 8656, 8664, 8672, 8681, 8690, 8697, 8705, 8713, 8720,
1087 8728, 8735, 8743, 8750, 8758, 8765, 8772, 8780, 8787, 8795,
1088 8803, 8810, 8818, 8825, 8833, 8840, 8848, 8855, 8863, 8870,
1089 8878, 8885, 8893, 8900, 8908, 8916, 8924, 8931, 8939, 8947,
1090 8955, 8962, 8970, 8978, 8986, 8994, 9003, 9012, 9020, 9028,
1092 9036, 9043, 9051, 9058, 9066, 9074, 9082, 9090, 9098, 9106,
1093 9114, 9122, 9130, 9138, 9146, 9153, 9160, 9168, 9175, 9182,
1094 9190, 9197, 9204, 9212, 9219, 9227, 9234, 9242, 9250, 9257,
1095 9265, 9273, 9281, 9290, 9299, 9307, 9315, 9322, 9329, 9337,
1096 9345, 9353, 9361, 9369, 9376, 9383, 9391, 9398, 9405, 9413,
1097 9420, 9427, 9434, 9442, 9449, 9457, 9465, 9473, 9481, 9489,
1098 9497, 9506, 9515, 9523, 9531, 9538, 9546, 9555, 9564, 9573,
1102 static yyconst flex_int16_t yy_def[3074] =
1104 2697, 2697, 2698, 2698, 2698, 2698, 2699, 2699, 2700, 2700,
1105 2701, 2701, 2702, 2702, 2702, 2702, 2703, 2703, 2697, 2697,
1106 2704, 2704, 2705, 2705, 2705, 2705, 2697, 2697, 2705, 2705,
1107 2705, 2705, 2697, 2697, 2705, 2705, 2697, 2697, 2705, 2705,
1108 2705, 2705, 2706, 2706, 2707, 2707, 2708, 2708, 2702, 2702,
1109 2709, 2709, 2710, 2710, 2697, 2697, 2710, 2710, 2710, 2710,
1110 2711, 2711, 2712, 2712, 2713, 2713, 2714, 2714, 2714, 2714,
1111 2697, 2697, 2714, 2714, 2714, 2714, 2697, 2697, 2714, 2714,
1112 2697, 2697, 2714, 2714, 2714, 2714, 2697, 2697, 2714, 2714,
1113 2697, 2697, 2714, 2714, 2714, 2714, 2715, 2715, 2716, 2716,
1115 2697, 2697, 2716, 2716, 2716, 2716, 2717, 2717, 2718, 2718,
1116 2697, 2697, 2718, 2718, 2718, 2718, 2719, 2719, 2720, 2720,
1117 2721, 2721, 2722, 2722, 2723, 2723, 2724, 2724, 2697, 2697,
1118 2724, 2724, 2724, 2724, 2696, 135, 2725, 2725, 2696, 139,
1119 2726, 2726, 2727, 2727, 2728, 2728, 2729, 2729, 2730, 2730,
1120 2697, 2697, 2730, 2730, 2730, 2730, 2731, 2731, 2732, 2732,
1121 2697, 2697, 2732, 2732, 2732, 2732, 2733, 2733, 2734, 2734,
1122 2697, 2697, 2734, 2734, 2734, 2734, 2735, 2735, 2736, 2736,
1123 2737, 2737, 2738, 2738, 2697, 2697, 2738, 2738, 2738, 2738,
1124 2739, 2739, 2740, 2740, 2697, 2697, 2740, 2740, 2740, 2740,
1126 2741, 2741, 2742, 2742, 2743, 2743, 2744, 2744, 2697, 2697,
1127 2744, 2744, 2744, 2744, 2745, 2745, 2746, 2746, 2697, 2697,
1128 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1129 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1130 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1131 2696, 2747, 2696, 2696, 2747, 2696, 2696, 2696, 258, 258,
1132 258, 258, 261, 261, 2696, 2696, 2696, 2748, 2696, 2696,
1133 2748, 2696, 2696, 2696, 2696, 2696, 2696, 2749, 2696, 2696,
1134 2749, 2749, 2749, 2696, 2696, 2696, 2696, 2696, 2750, 2696,
1135 2696, 2750, 2750, 2750, 2750, 2750, 2696, 2696, 261, 299,
1137 299, 2696, 2696, 2696, 2751, 2696, 2696, 2751, 2751, 2751,
1138 2696, 2696, 2696, 2696, 2696, 2696, 2752, 2696, 2696, 2752,
1139 2752, 2696, 2696, 262, 299, 262, 324, 325, 325, 325,
1140 325, 331, 332, 331, 331, 2696, 2696, 2696, 2753, 2696,
1141 2696, 2753, 2753, 2753, 2696, 2696, 299, 299, 2696, 2696,
1142 2696, 2754, 2696, 2696, 2754, 2754, 2696, 2696, 299, 299,
1143 2696, 2696, 2696, 2755, 2696, 2696, 2755, 2755, 2696, 2696,
1144 2696, 2696, 2696, 2696, 2756, 2696, 2696, 2756, 2756, 2696,
1145 2696, 2696, 2696, 2696, 2696, 2757, 2696, 2696, 2757, 2757,
1146 2757, 2757, 2757, 2696, 2696, 299, 299, 299, 2696, 2696,
1148 2696, 2758, 2696, 2696, 2758, 2758, 2758, 2758, 2758, 2758,
1149 2758, 2758, 2696, 2696, 2696, 2696, 2696, 2696, 2759, 2696,
1150 2696, 2759, 2759, 2759, 2759, 2759, 2759, 2759, 2696, 2696,
1151 2696, 2696, 2696, 2696, 2760, 2696, 2696, 2760, 2760, 2696,
1152 2696, 2696, 2696, 2696, 2696, 2761, 2696, 2696, 2761, 2761,
1153 2761, 2761, 2696, 2696, 299, 299, 2696, 2696, 2696, 2762,
1154 2696, 2696, 2762, 2762, 2696, 2696, 299, 467, 467, 2696,
1155 2696, 2696, 2763, 2696, 2696, 2763, 2763, 2763, 2696, 2696,
1156 467, 467, 2696, 2696, 2696, 2764, 2696, 2696, 2764, 2764,
1157 2696, 2696, 2696, 2696, 2696, 2696, 2765, 2696, 2696, 2765,
1159 2765, 2765, 2696, 2696, 467, 467, 2696, 2696, 2696, 2766,
1160 2696, 2696, 2766, 2766, 2766, 2766, 2696, 2696, 299, 299,
1161 299, 2696, 2696, 2696, 2767, 2696, 2696, 2767, 2696, 2696,
1162 2696, 2696, 2696, 2696, 2768, 2696, 2696, 2768, 2696, 2696,
1163 299, 299, 2696, 2696, 2696, 2769, 2696, 2696, 2769, 2769,
1164 2696, 2696, 2696, 2696, 2770, 2696, 2696, 2696, 2696, 2696,
1165 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1166 2771, 2771, 2772, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1167 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1168 2696, 2696, 2696, 2696, 2696, 2696, 2773, 2773, 2774, 2696,
1170 2775, 2775, 2775, 2775, 2696, 2776, 2696, 2696, 2777, 2777,
1171 2777, 2777, 2777, 2777, 2777, 2777, 2777, 2778, 2696, 2696,
1172 2779, 2779, 2779, 2779, 2780, 2696, 2781, 2781, 2781, 2782,
1173 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1174 2783, 2783, 2783, 2783, 2784, 2696, 2785, 2785, 2785, 2786,
1175 2696, 2787, 2787, 2787, 2788, 2696, 2789, 2789, 2789, 2790,
1176 2696, 2791, 2791, 2791, 2791, 2791, 2791, 2792, 2696, 2696,
1177 2793, 2793, 2793, 2793, 2793, 2793, 2793, 2793, 2793, 2793,
1178 2793, 2793, 2793, 2793, 2794, 2696, 2795, 2795, 2795, 2795,
1179 2795, 2795, 2795, 2795, 2796, 2696, 2797, 2797, 2797, 2798,
1181 2696, 2799, 2799, 2799, 2799, 2799, 2799, 2800, 2696, 2801,
1182 2801, 2801, 2801, 2802, 2696, 2696, 2803, 2803, 2803, 2803,
1183 2803, 2804, 2696, 2805, 2805, 2805, 2806, 2696, 2807, 2807,
1184 2807, 2807, 2808, 2696, 2809, 2809, 2809, 2809, 2809, 2810,
1185 2696, 2696, 2811, 2811, 2812, 2696, 2813, 2813, 2814, 2696,
1186 2815, 2815, 2815, 2816, 2817, 2696, 2817, 2696, 2696, 2696,
1187 2818, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2819, 2820,
1188 2820, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1189 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1190 2696, 2696, 2696, 2696, 2696, 2696, 2821, 2822, 2822, 2823,
1192 2696, 2696, 2823, 2696, 2824, 2824, 2696, 2825, 2696, 2696,
1193 2825, 2825, 2825, 2825, 2825, 2825, 2826, 2826, 2696, 2827,
1194 2827, 2827, 2828, 2828, 2696, 2696, 2829, 2830, 2830, 2696,
1195 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2831, 2696,
1196 2696, 2831, 2832, 2832, 2696, 2696, 2833, 2834, 2834, 2696,
1197 2696, 2835, 2836, 2836, 2837, 2837, 2838, 2838, 2839, 2839,
1198 2839, 2696, 2696, 2839, 2839, 2840, 2840, 2696, 2696, 2841,
1199 2841, 2696, 2696, 2841, 2696, 2696, 2841, 2841, 2841, 2841,
1200 2841, 2841, 2841, 2841, 2842, 2842, 2843, 2843, 2843, 2696,
1201 2696, 2843, 2843, 2843, 2844, 2844, 2845, 2696, 2696, 2846,
1203 2846, 2847, 2696, 2696, 2847, 2847, 2847, 2848, 2848, 2849,
1204 2849, 2849, 2850, 2850, 2696, 2851, 2851, 2851, 2851, 2852,
1205 2852, 2853, 2696, 2696, 2854, 2854, 2855, 2855, 2855, 2856,
1206 2856, 2857, 2857, 2857, 2857, 2858, 2858, 2696, 2859, 2860,
1207 2860, 2696, 2696, 2861, 2861, 2696, 2696, 2862, 2863, 2863,
1208 2864, 2696, 2696, 2864, 2696, 2696, 2865, 2696, 2696, 2696,
1209 2696, 2696, 2696, 2866, 2696, 2867, 2696, 2867, 2696, 2696,
1210 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1211 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1212 2696, 2696, 2696, 2696, 2868, 2696, 2869, 2696, 2869, 2870,
1214 2696, 2696, 2696, 2870, 2696, 2696, 2871, 2696, 2871, 2872,
1215 2696, 2696, 2696, 2696, 2696, 2872, 2696, 2696, 2872, 2872,
1216 2872, 2696, 2873, 2696, 2873, 2696, 2874, 2874, 2874, 2696,
1217 2875, 2696, 2875, 2696, 2696, 2696, 2876, 2696, 2877, 2696,
1218 2877, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2878,
1219 2696, 2696, 2696, 2878, 2696, 2879, 2696, 2879, 2696, 2696,
1220 2696, 2880, 2696, 2881, 2696, 2881, 2696, 2696, 2696, 2882,
1221 2696, 2883, 2696, 2883, 2884, 2884, 2696, 2885, 2696, 2885,
1222 2886, 2886, 2886, 2696, 2696, 2696, 2886, 2886, 2696, 2887,
1223 2696, 2887, 2696, 2696, 2888, 2888, 2888, 2888, 2696, 2696,
1225 2696, 2888, 2696, 2696, 2696, 2696, 2696, 2888, 2888, 2888,
1226 2888, 2888, 2888, 2888, 2696, 2889, 2696, 2889, 2890, 2890,
1227 2890, 2890, 2696, 2696, 2696, 2696, 2696, 2890, 2890, 2696,
1228 2891, 2696, 2891, 2892, 2696, 2696, 2696, 2696, 2893, 2696,
1229 2893, 2894, 2696, 2696, 2696, 2894, 2894, 2894, 2696, 2895,
1230 2696, 2895, 2696, 2696, 2696, 2696, 2896, 2696, 2897, 2696,
1231 2897, 2696, 2696, 2696, 2898, 2898, 2696, 2696, 2898, 2696,
1232 2899, 2696, 2899, 2900, 2696, 2696, 2696, 2696, 2901, 2696,
1233 2901, 2696, 2696, 2902, 2902, 2696, 2696, 2696, 2903, 2696,
1234 2903, 2904, 2904, 2904, 2904, 2696, 2905, 2696, 2905, 2696,
1236 2906, 2696, 2907, 2696, 2907, 2696, 2696, 2696, 2696, 2908,
1237 2696, 2908, 2696, 2696, 2696, 2909, 2696, 2910, 2696, 2910,
1238 2911, 2912, 2696, 2696, 2696, 2696, 2696, 2913, 2914, 2696,
1239 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1240 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1241 2696, 2696, 2696, 2696, 2696, 2696, 2915, 2696, 2696, 2916,
1242 2696, 2917, 2918, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1243 2696, 2918, 2696, 2696, 2918, 2919, 2696, 2920, 2696, 2696,
1244 2920, 2921, 2922, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1245 2696, 2696, 2696, 2923, 2923, 2924, 2925, 2926, 2696, 2696,
1247 2927, 2696, 2696, 2928, 2929, 2930, 2930, 2696, 2696, 2930,
1248 2930, 2931, 2696, 2696, 2932, 2932, 2932, 2932, 2696, 2696,
1249 2696, 2696, 2696, 2932, 2932, 2932, 2932, 2932, 2932, 2932,
1250 2933, 2934, 2934, 2934, 2934, 2696, 2696, 2696, 2934, 2934,
1251 2935, 2936, 2937, 2938, 2938, 2938, 2938, 2939, 2696, 2696,
1252 2696, 2696, 2696, 2696, 2940, 2941, 2696, 2696, 2696, 2696,
1253 2942, 2942, 2696, 2696, 2696, 2942, 2943, 2944, 2945, 2696,
1254 2696, 2696, 2946, 2946, 2696, 2696, 2696, 2947, 2948, 2696,
1255 2696, 2948, 2948, 2949, 2696, 2950, 2951, 2952, 2953, 2954,
1256 2955, 2956, 2956, 2696, 2956, 2696, 2696, 2696, 2957, 2958,
1258 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1259 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1260 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2959,
1261 2696, 2696, 2696, 2960, 2696, 2961, 2962, 2696, 2696, 2696,
1262 2962, 2696, 2696, 2696, 2962, 2963, 2696, 2964, 2696, 2696,
1263 2696, 2696, 2696, 2965, 2966, 2696, 2696, 2696, 2696, 2696,
1264 2696, 2696, 2696, 2967, 2696, 2696, 2968, 2969, 2970, 2696,
1265 2696, 2696, 2971, 2696, 2696, 2696, 2972, 2973, 2974, 2974,
1266 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2974, 2975, 2696,
1267 2696, 2976, 2696, 2696, 2976, 2976, 2696, 2696, 2696, 2696,
1269 2696, 2976, 2976, 2976, 2976, 2976, 2976, 2977, 2978, 2696,
1270 2696, 2978, 2978, 2696, 2696, 2978, 2979, 2980, 2981, 2982,
1271 2982, 2982, 2696, 2696, 2982, 2983, 2984, 2985, 2696, 2986,
1272 2986, 2986, 2987, 2988, 2989, 2990, 2990, 2991, 2992, 2696,
1273 2696, 2696, 2992, 2992, 2993, 2696, 2696, 2696, 2994, 2995,
1274 2696, 2696, 2996, 2997, 2998, 2998, 2696, 2696, 2999, 3000,
1275 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1276 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1277 2696, 2696, 2696, 2696, 3001, 3002, 2696, 3003, 3004, 3004,
1278 3004, 3005, 3006, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1280 2696, 2696, 2696, 2696, 3007, 3008, 2696, 2696, 2696, 2696,
1281 2696, 3009, 2696, 2696, 2696, 3010, 3011, 3012, 3013, 3014,
1282 3015, 3016, 3016, 2696, 2696, 2696, 2696, 2696, 2696, 3016,
1283 2696, 2696, 2696, 2696, 3017, 2696, 2696, 2696, 2696, 2696,
1284 3017, 2696, 2696, 2696, 2696, 2696, 3017, 3017, 3017, 3017,
1285 2696, 2696, 3018, 3019, 2696, 2696, 2696, 2696, 2696, 3019,
1286 2696, 2696, 2696, 3019, 2696, 2696, 3020, 3021, 3022, 3022,
1287 3022, 2696, 2696, 2696, 3022, 2696, 2696, 3023, 3024, 2696,
1288 2696, 2696, 2696, 2696, 3025, 3026, 3027, 3028, 2696, 2696,
1289 2696, 2696, 3029, 3030, 3030, 3030, 3031, 2696, 2696, 2696,
1291 2696, 3032, 3033, 2696, 2696, 2696, 2696, 2696, 3034, 3035,
1292 3035, 2696, 2696, 2696, 3036, 2696, 2696, 2696, 2696, 2696,
1293 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1294 2696, 2696, 2696, 2696, 2696, 3037, 3038, 2696, 2696, 2696,
1295 3039, 2696, 2696, 3039, 3040, 2696, 2696, 2696, 2696, 2696,
1296 2696, 2696, 2696, 2696, 2696, 2696, 2696, 3041, 2696, 2696,
1297 2696, 2696, 2696, 2696, 2696, 2696, 3042, 2696, 2696, 3043,
1298 2696, 2696, 2696, 2696, 3044, 3045, 3045, 2696, 2696, 3045,
1299 2696, 3046, 2696, 2696, 2696, 3046, 2696, 2696, 2696, 2696,
1300 2696, 3046, 3046, 3046, 2696, 2696, 2696, 3047, 3048, 2696,
1302 2696, 2696, 3048, 3048, 3049, 3050, 3051, 2696, 2696, 3051,
1303 3051, 2696, 2696, 3051, 3052, 2696, 2696, 2696, 2696, 2696,
1304 2696, 2696, 2696, 2696, 3053, 3054, 3055, 3056, 2696, 2696,
1305 2696, 2696, 2696, 2696, 3057, 3058, 3058, 3058, 3059, 2696,
1306 3060, 3061, 3062, 3063, 3063, 2696, 2696, 2696, 2696, 3064,
1307 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1308 2696, 2696, 2696, 2696, 2696, 2696, 3065, 3066, 2696, 3067,
1309 2696, 2696, 2696, 3067, 2696, 2696, 2696, 2696, 2696, 2696,
1310 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 3041,
1311 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1313 3042, 2696, 2696, 2696, 3043, 2696, 2696, 2696, 3044, 3045,
1314 3045, 2696, 2696, 2696, 2696, 3045, 2696, 3046, 3046, 2696,
1315 2696, 2696, 3046, 3046, 3046, 3047, 3048, 3048, 3048, 3049,
1316 2696, 2696, 3051, 2696, 2696, 2696, 3051, 3051, 2696, 2696,
1317 2696, 2696, 3051, 3052, 2696, 3053, 3054, 3055, 3056, 3057,
1318 2696, 2696, 3058, 3058, 3059, 2696, 3060, 2696, 2696, 3062,
1319 3063, 3063, 2696, 3064, 2696, 2696, 2696, 2696, 2696, 2696,
1320 2696, 2696, 2696, 2696, 3066, 2696, 2696, 3067, 2696, 2696,
1321 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 3041, 2696,
1322 2696, 3042, 2696, 2696, 3044, 3045, 3045, 2696, 2696, 2696,
1324 2696, 3045, 2696, 3046, 3046, 2696, 2696, 3046, 3046, 2696,
1325 2696, 3048, 3048, 3048, 3049, 2696, 2696, 3051, 3051, 3051,
1326 2696, 2696, 2696, 2696, 3051, 3052, 2696, 3053, 2696, 2696,
1327 2696, 2696, 3056, 3057, 2696, 2696, 2696, 2696, 2696, 3058,
1328 2696, 2696, 2696, 3060, 3062, 3063, 3063, 2696, 2696, 2696,
1329 2696, 2696, 2696, 3066, 2696, 2696, 2696, 3067, 2696, 2696,
1330 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 3041, 2696,
1331 2696, 3042, 2696, 2696, 3045, 3045, 2696, 2696, 2696, 2696,
1332 3046, 3046, 2696, 2696, 2696, 3046, 2696, 2696, 3048, 3048,
1333 2696, 2696, 3049, 2696, 2696, 2696, 3051, 3051, 3051, 2696,
1335 2696, 2696, 2696, 3052, 3053, 2696, 2696, 2696, 2696, 2696,
1336 3057, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 3062, 3063,
1337 3063, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1338 2696, 2696, 2696, 3067, 2696, 2696, 2696, 2696, 2696, 2696,
1339 2696, 2696, 2696, 2696, 3041, 2696, 2696, 3042, 3045, 2696,
1340 2696, 2696, 2696, 2696, 3046, 3046, 3046, 2696, 2696, 2696,
1341 3048, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 3051, 3051,
1342 3051, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1343 2696, 2696, 2696, 2696, 3057, 2696, 2696, 2696, 3062, 3063,
1344 3063, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1346 2696, 2696, 2696, 2696, 2696, 2696, 3067, 2696, 2696, 2696,
1347 2696, 2696, 2696, 2696, 2696, 3041, 2696, 2696, 3042, 2696,
1348 2696, 3045, 2696, 2696, 2696, 3046, 3046, 3046, 3048, 2696,
1349 2696, 2696, 2696, 2696, 2696, 3051, 2696, 2696, 3051, 2696,
1350 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1351 2696, 3057, 3062, 3063, 3063, 3063, 2696, 2696, 2696, 2696,
1352 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1353 2696, 2696, 2696, 2696, 2696, 2696, 2696, 3041, 2696, 3042,
1354 2696, 2696, 2696, 3045, 3046, 3046, 3046, 3048, 3051, 2696,
1355 2696, 2696, 3051, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1357 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 3062,
1358 3063, 3063, 3063, 3068, 3069, 2696, 2696, 2696, 2696, 2696,
1359 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1360 2696, 2696, 2696, 2696, 3041, 2696, 2696, 3045, 3046, 3046,
1361 2696, 2696, 3048, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1362 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 3062,
1363 3063, 3070, 3071, 3068, 3069, 2696, 2696, 2696, 2696, 2696,
1364 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1365 2696, 3045, 3046, 3046, 2696, 2696, 2696, 3048, 2696, 2696,
1366 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1368 2696, 2696, 2696, 2696, 2696, 2696, 3062, 3070, 3063, 3072,
1369 3071, 3073, 3063, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1370 2696, 3045, 3046, 3046, 2696, 2696, 2696, 2696, 3048, 2696,
1371 2696, 2696, 2696, 2696, 2696, 2696, 2696, 3062, 3072, 2696,
1372 3073, 3063, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1373 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1374 2696, 2696, 2696, 2696, 2696, 2696, 3062, 2696, 2696, 2696,
1375 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1376 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1377 2696, 2696, 2696, 2696, 2696, 2696, 3062, 2696, 2696, 2696,
1379 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1380 2696, 2696, 2696, 2696, 2696, 2696, 3062, 2696, 2696, 2696,
1381 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1382 2696, 2696, 2696, 2696, 2696, 3062, 2696, 2696, 2696, 2696,
1383 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1384 2696, 2696, 3062, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1385 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 3062,
1386 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1387 2696, 2696, 3062, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1388 2696, 3062, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1390 3062, 3062, 2696, 2696, 2696, 2696, 2696, 2696, 3062, 3062,
1391 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062,
1392 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062,
1393 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062,
1394 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062,
1395 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062,
1396 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062,
1397 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062,
1398 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062,
1399 3062, 3062, 3062, 3062, 2696, 0, 2696, 2696, 2696, 2696,
1401 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1402 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1403 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1404 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1405 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1406 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1407 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1408 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1409 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1410 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1412 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1413 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1414 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1415 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1416 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1417 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1418 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1419 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1420 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1421 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1423 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1424 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1425 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1426 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1427 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1428 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1429 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1430 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1431 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1432 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1434 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1435 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1436 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1437 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1438 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1439 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1440 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
1444 static yyconst flex_int16_t yy_nxt[9683] =
1446 2696, 224, 225, 224, 224, 225, 224, 224, 225, 224,
1447 224, 225, 224, 229, 225, 229, 235, 226, 232, 235,
1448 226, 232, 2696, 227, 2696, 233, 227, 2696, 233, 230,
1449 229, 225, 229, 555, 236, 238, 239, 236, 238, 239,
1450 240, 241, 618, 240, 241, 555, 230, 245, 246, 556,
1451 242, 238, 239, 242, 243, 558, 240, 238, 239, 590,
1452 243, 557, 240, 245, 246, 591, 242, 225, 225, 225,
1453 630, 557, 242, 225, 225, 225, 257, 225, 257, 257,
1454 225, 257, 782, 248, 257, 225, 257, 590, 783, 248,
1455 578, 247, 258, 619, 784, 258, 554, 554, 554, 587,
1457 259, 554, 554, 554, 554, 554, 554, 247, 249, 250,
1458 225, 250, 249, 249, 249, 249, 249, 249, 249, 251,
1459 249, 249, 249, 635, 249, 253, 249, 254, 249, 257,
1460 225, 257, 225, 225, 225, 225, 225, 225, 586, 257,
1461 225, 257, 257, 225, 257, 259, 2696, 1591, 260, 558,
1462 558, 260, 587, 249, 249, 258, 588, 558, 258, 257,
1463 225, 257, 554, 554, 554, 557, 557, 554, 554, 554,
1464 554, 554, 554, 557, 1593, 261, 255, 249, 250, 225,
1465 250, 249, 249, 249, 249, 249, 249, 249, 251, 249,
1466 249, 249, 645, 249, 253, 249, 254, 249, 257, 225,
1468 257, 225, 225, 225, 225, 225, 225, 569, 257, 225,
1469 257, 257, 225, 257, 261, 2696, 587, 262, 592, 1606,
1470 262, 650, 249, 249, 259, 588, 588, 259, 225, 225,
1471 225, 225, 225, 225, 257, 225, 257, 257, 225, 257,
1472 257, 225, 257, 591, 263, 255, 678, 263, 558, 679,
1473 261, 2696, 558, 261, 589, 593, 264, 257, 225, 257,
1474 590, 554, 554, 554, 557, 2696, 591, 594, 557, 587,
1475 592, 592, 591, 264, 265, 266, 225, 266, 265, 265,
1476 265, 265, 265, 265, 265, 267, 265, 265, 265, 576,
1477 265, 269, 265, 270, 265, 273, 225, 273, 273, 225,
1479 273, 298, 225, 298, 586, 612, 1607, 238, 239, 613,
1480 558, 274, 240, 614, 274, 1608, 595, 299, 587, 265,
1481 265, 668, 284, 554, 554, 554, 557, 271, 265, 266,
1482 225, 266, 265, 265, 265, 265, 265, 265, 265, 267,
1483 265, 265, 265, 634, 265, 269, 265, 270, 265, 1611,
1484 636, 285, 673, 238, 239, 298, 225, 298, 240, 225,
1485 225, 225, 225, 225, 225, 554, 554, 554, 284, 669,
1486 712, 299, 674, 265, 265, 300, 762, 713, 300, 763,
1487 1612, 271, 275, 276, 225, 276, 275, 275, 275, 275,
1488 275, 275, 275, 277, 275, 275, 275, 285, 275, 279,
1490 275, 280, 275, 298, 225, 298, 298, 225, 298, 298,
1491 225, 298, 616, 298, 225, 298, 312, 225, 312, 299,
1492 558, 558, 299, 558, 605, 301, 617, 275, 275, 301,
1493 599, 606, 313, 1617, 1620, 281, 557, 557, 282, 557,
1494 557, 554, 554, 554, 283, 275, 276, 225, 276, 275,
1495 275, 275, 275, 275, 275, 275, 277, 275, 275, 275,
1496 740, 275, 279, 275, 280, 275, 312, 225, 312, 323,
1497 225, 323, 323, 225, 323, 2696, 323, 225, 323, 323,
1498 225, 323, 313, 558, 558, 324, 558, 558, 324, 558,
1499 275, 275, 325, 625, 655, 325, 1622, 741, 281, 557,
1501 557, 282, 557, 557, 563, 557, 1623, 283, 286, 287,
1502 225, 287, 286, 286, 286, 286, 286, 286, 286, 288,
1503 286, 286, 286, 669, 286, 290, 286, 291, 286, 225,
1504 225, 225, 225, 225, 225, 323, 225, 323, 668, 323,
1505 225, 323, 323, 225, 323, 326, 564, 558, 326, 558,
1506 558, 327, 565, 286, 286, 327, 566, 660, 328, 1630,
1507 706, 567, 292, 557, 293, 557, 557, 294, 554, 554,
1508 554, 707, 295, 296, 286, 287, 225, 287, 286, 286,
1509 286, 286, 286, 286, 286, 288, 286, 286, 286, 591,
1510 286, 290, 286, 291, 286, 323, 225, 323, 225, 225,
1512 225, 225, 225, 225, 708, 323, 225, 323, 323, 225,
1513 323, 328, 952, 1120, 329, 558, 680, 329, 1121, 286,
1514 286, 325, 685, 1634, 325, 554, 554, 554, 292, 681,
1515 293, 557, 722, 294, 554, 554, 554, 1554, 295, 296,
1516 302, 303, 225, 303, 302, 302, 302, 302, 302, 302,
1517 302, 304, 302, 302, 302, 591, 302, 306, 302, 307,
1518 302, 225, 225, 225, 225, 225, 225, 323, 225, 323,
1519 682, 323, 225, 323, 323, 225, 323, 330, 1635, 580,
1520 330, 683, 684, 328, 720, 302, 302, 328, 558, 558,
1521 331, 721, 308, 554, 554, 554, 695, 309, 554, 554,
1523 554, 554, 554, 554, 557, 557, 310, 302, 303, 225,
1524 303, 302, 302, 302, 302, 302, 302, 302, 304, 302,
1525 302, 302, 756, 302, 306, 302, 307, 302, 323, 225,
1526 323, 225, 225, 225, 225, 225, 225, 757, 323, 225,
1527 323, 323, 225, 323, 331, 775, 558, 332, 776, 1641,
1528 332, 1647, 302, 302, 333, 558, 558, 333, 1648, 308,
1529 1649, 588, 557, 700, 309, 554, 554, 554, 554, 554,
1530 554, 557, 557, 310, 314, 315, 225, 315, 314, 314,
1531 314, 314, 314, 314, 314, 316, 314, 314, 314, 576,
1532 314, 318, 314, 319, 314, 225, 225, 225, 225, 225,
1534 225, 323, 225, 323, 638, 323, 225, 323, 323, 225,
1535 323, 334, 558, 558, 334, 775, 1650, 331, 789, 314,
1536 314, 331, 733, 1654, 335, 554, 554, 554, 557, 557,
1537 320, 554, 554, 554, 554, 554, 554, 740, 321, 314,
1538 315, 225, 315, 314, 314, 314, 314, 314, 314, 314,
1539 316, 314, 314, 314, 1660, 314, 318, 314, 319, 314,
1540 323, 225, 323, 346, 225, 346, 346, 225, 346, 580,
1541 225, 225, 225, 225, 225, 225, 335, 558, 558, 347,
1542 1664, 1667, 347, 749, 314, 314, 300, 1669, 591, 300,
1543 554, 554, 554, 557, 557, 320, 554, 554, 554, 554,
1545 554, 554, 1670, 321, 336, 337, 225, 337, 336, 336,
1546 336, 336, 336, 336, 336, 338, 336, 336, 336, 1671,
1547 336, 340, 336, 341, 336, 346, 225, 346, 346, 225,
1548 346, 346, 225, 346, 591, 346, 225, 346, 554, 554,
1549 554, 347, 558, 558, 347, 1675, 558, 348, 780, 336,
1550 336, 348, 781, 727, 342, 554, 554, 554, 557, 557,
1551 343, 714, 557, 344, 336, 337, 225, 337, 336, 336,
1552 336, 336, 336, 336, 336, 338, 336, 336, 336, 1678,
1553 336, 340, 336, 341, 336, 358, 225, 358, 358, 225,
1554 358, 225, 225, 225, 1680, 225, 225, 225, 554, 554,
1556 554, 359, 2696, 558, 359, 558, 558, 300, 715, 336,
1557 336, 300, 591, 745, 342, 554, 554, 554, 756, 557,
1558 343, 557, 557, 344, 349, 350, 225, 350, 349, 349,
1559 349, 349, 349, 349, 349, 351, 349, 349, 349, 741,
1560 349, 353, 349, 354, 349, 358, 225, 358, 358, 225,
1561 358, 358, 225, 358, 804, 358, 225, 358, 370, 225,
1562 370, 359, 1687, 1694, 359, 785, 790, 360, 868, 349,
1563 349, 360, 869, 1695, 371, 554, 554, 554, 786, 786,
1564 355, 554, 554, 554, 554, 554, 554, 554, 554, 554,
1565 356, 349, 350, 225, 350, 349, 349, 349, 349, 349,
1567 349, 349, 351, 349, 349, 349, 1696, 349, 353, 349,
1568 354, 349, 370, 225, 370, 381, 225, 381, 381, 225,
1569 381, 1698, 395, 225, 395, 395, 225, 395, 371, 792,
1570 952, 382, 776, 794, 382, 1712, 349, 349, 396, 783,
1571 1394, 396, 554, 554, 554, 795, 954, 355, 554, 554,
1572 554, 554, 554, 554, 554, 554, 554, 356, 361, 362,
1573 225, 362, 361, 361, 361, 361, 361, 361, 361, 363,
1574 361, 361, 361, 1711, 361, 365, 361, 366, 361, 225,
1575 225, 225, 225, 225, 225, 395, 225, 395, 1716, 395,
1576 225, 395, 395, 225, 395, 397, 792, 1717, 397, 789,
1578 794, 396, 1718, 361, 361, 396, 783, 1719, 398, 554,
1579 554, 554, 784, 1721, 367, 554, 554, 554, 368, 361,
1580 362, 225, 362, 361, 361, 361, 361, 361, 361, 361,
1581 363, 361, 361, 361, 1722, 361, 365, 361, 366, 361,
1582 395, 225, 395, 414, 225, 414, 414, 225, 414, 1723,
1583 430, 225, 430, 430, 225, 430, 398, 860, 1724, 415,
1584 861, 782, 415, 1725, 361, 361, 431, 783, 1728, 431,
1585 554, 554, 554, 795, 1729, 367, 554, 554, 554, 368,
1586 372, 373, 225, 373, 372, 372, 372, 372, 372, 372,
1587 372, 374, 372, 372, 372, 1732, 372, 376, 372, 377,
1589 372, 441, 225, 441, 441, 225, 441, 454, 225, 454,
1590 1733, 454, 225, 454, 225, 225, 225, 442, 952, 1734,
1591 442, 1394, 1221, 455, 952, 372, 372, 455, 952, 1735,
1592 300, 554, 554, 554, 554, 554, 554, 554, 554, 554,
1593 378, 554, 554, 554, 1391, 1709, 379, 372, 373, 225,
1594 373, 372, 372, 372, 372, 372, 372, 372, 374, 372,
1595 372, 372, 1710, 372, 376, 372, 377, 372, 225, 225,
1596 225, 454, 225, 454, 454, 225, 454, 1242, 454, 225,
1597 454, 454, 225, 454, 300, 1737, 1738, 455, 1741, 1243,
1598 455, 1744, 372, 372, 456, 1748, 1749, 456, 554, 554,
1600 554, 554, 554, 554, 554, 554, 554, 378, 554, 554,
1601 554, 1752, 1753, 379, 383, 384, 225, 384, 383, 383,
1602 383, 383, 383, 383, 383, 385, 383, 383, 383, 1754,
1603 383, 387, 383, 388, 383, 466, 225, 466, 466, 225,
1604 466, 225, 225, 225, 1750, 225, 225, 225, 1757, 558,
1605 1755, 467, 1751, 1761, 467, 1762, 754, 468, 1756, 383,
1606 383, 468, 389, 794, 390, 557, 554, 554, 554, 783,
1607 391, 760, 760, 760, 1764, 819, 392, 1776, 1777, 393,
1608 383, 384, 225, 384, 383, 383, 383, 383, 383, 383,
1609 383, 385, 383, 383, 383, 1778, 383, 387, 383, 388,
1611 383, 466, 225, 466, 466, 225, 466, 466, 225, 466,
1612 1779, 466, 225, 466, 801, 801, 801, 467, 1780, 790,
1613 467, 790, 790, 469, 1096, 383, 383, 469, 389, 761,
1614 390, 802, 834, 1097, 837, 838, 391, 760, 760, 760,
1615 1098, 956, 392, 1781, 1782, 393, 399, 400, 225, 400,
1616 399, 399, 399, 399, 399, 399, 399, 401, 399, 399,
1617 399, 402, 399, 403, 399, 404, 399, 402, 402, 402,
1618 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
1619 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
1620 402, 399, 399, 402, 405, 406, 407, 402, 402, 402,
1622 402, 402, 408, 402, 409, 402, 402, 402, 410, 402,
1623 411, 412, 402, 402, 402, 402, 402, 402, 416, 417,
1624 225, 417, 416, 416, 416, 416, 416, 416, 416, 418,
1625 416, 416, 416, 419, 416, 420, 416, 421, 416, 419,
1626 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
1627 419, 419, 419, 419, 419, 419, 419, 419, 419, 419,
1628 419, 419, 419, 416, 416, 419, 422, 423, 424, 419,
1629 419, 419, 419, 419, 425, 419, 426, 419, 419, 419,
1630 427, 419, 419, 428, 419, 419, 419, 419, 419, 419,
1631 432, 433, 225, 433, 432, 432, 432, 432, 432, 432,
1633 432, 434, 432, 432, 432, 1786, 432, 436, 432, 437,
1634 432, 480, 225, 480, 480, 225, 480, 225, 225, 225,
1635 1253, 225, 225, 225, 809, 809, 809, 481, 1792, 1793,
1636 481, 1794, 1243, 468, 1799, 432, 432, 468, 1803, 1804,
1637 438, 810, 969, 969, 969, 1805, 439, 432, 433, 225,
1638 433, 432, 432, 432, 432, 432, 432, 432, 434, 432,
1639 432, 432, 1807, 432, 436, 432, 437, 432, 480, 225,
1640 480, 480, 225, 480, 480, 225, 480, 1253, 480, 225,
1641 480, 825, 825, 825, 481, 1594, 1811, 481, 1812, 1277,
1642 482, 1595, 432, 432, 482, 1596, 1813, 438, 826, 1597,
1644 969, 969, 969, 439, 443, 444, 225, 444, 443, 443,
1645 443, 443, 443, 443, 443, 445, 443, 443, 443, 1814,
1646 443, 447, 443, 448, 443, 492, 225, 492, 492, 225,
1647 492, 504, 225, 504, 1815, 504, 225, 504, 225, 225,
1648 225, 493, 1818, 1825, 493, 1827, 1836, 505, 1837, 443,
1649 443, 505, 1838, 449, 468, 989, 989, 989, 1840, 952,
1650 450, 1846, 451, 970, 1394, 1843, 969, 969, 969, 452,
1651 443, 444, 225, 444, 443, 443, 443, 443, 443, 443,
1652 443, 445, 443, 443, 443, 1852, 443, 447, 443, 448,
1653 443, 225, 225, 225, 504, 225, 504, 504, 225, 504,
1655 1853, 504, 225, 504, 504, 225, 504, 468, 1856, 1845,
1656 505, 1857, 1858, 505, 1862, 443, 443, 506, 970, 449,
1657 506, 1866, 1868, 1001, 1001, 1001, 450, 1002, 451, 1042,
1658 1003, 989, 989, 989, 1869, 452, 457, 458, 225, 458,
1659 457, 457, 457, 457, 457, 457, 457, 459, 457, 457,
1660 457, 1870, 457, 461, 457, 462, 457, 518, 225, 518,
1661 518, 225, 518, 225, 225, 225, 1874, 225, 225, 225,
1662 518, 225, 518, 519, 1880, 1881, 519, 1882, 1883, 520,
1663 1884, 457, 457, 520, 1885, 1886, 519, 463, 1011, 1011,
1664 1011, 1887, 1012, 1888, 1042, 1013, 989, 989, 989, 1889,
1666 1895, 464, 457, 458, 225, 458, 457, 457, 457, 457,
1667 457, 457, 457, 459, 457, 457, 457, 1910, 457, 461,
1668 457, 462, 457, 518, 225, 518, 518, 225, 518, 518,
1669 225, 518, 1911, 530, 225, 530, 530, 225, 530, 519,
1670 1916, 1917, 521, 1912, 1918, 521, 1919, 457, 457, 531,
1671 1923, 1913, 531, 463, 1034, 1034, 1034, 1914, 1035, 1924,
1672 1925, 1036, 1406, 1406, 1406, 1915, 1927, 464, 470, 471,
1673 225, 471, 470, 470, 470, 470, 470, 470, 470, 472,
1674 470, 470, 470, 1928, 470, 474, 470, 475, 470, 540,
1675 225, 540, 540, 225, 540, 225, 225, 225, 1394, 225,
1677 225, 225, 540, 225, 540, 541, 1598, 1929, 541, 1930,
1678 1933, 300, 1599, 470, 470, 300, 1600, 1937, 541, 476,
1679 1601, 1938, 477, 1051, 1051, 1051, 1943, 1052, 1944, 1844,
1680 1053, 1945, 1946, 478, 470, 471, 225, 471, 470, 470,
1681 470, 470, 470, 470, 470, 472, 470, 470, 470, 1948,
1682 470, 474, 470, 475, 470, 540, 225, 540, 540, 225,
1683 540, 540, 225, 540, 1939, 552, 225, 552, 552, 225,
1684 552, 541, 1940, 1956, 542, 1966, 1970, 542, 1941, 470,
1685 470, 553, 1394, 630, 553, 476, 1942, 630, 477, 1408,
1686 1408, 1408, 1394, 631, 1971, 1972, 2696, 637, 1975, 478,
1688 483, 484, 225, 484, 483, 483, 483, 483, 483, 483,
1689 483, 485, 483, 483, 483, 1979, 483, 487, 483, 488,
1690 483, 632, 840, 840, 840, 632, 1980, 633, 1962, 1981,
1691 634, 845, 845, 845, 1961, 1409, 635, 636, 591, 841,
1692 633, 579, 585, 634, 1982, 483, 483, 1983, 846, 639,
1693 636, 489, 1412, 1412, 1412, 1984, 490, 483, 484, 225,
1694 484, 483, 483, 483, 483, 483, 483, 483, 485, 483,
1695 483, 483, 1985, 483, 487, 483, 488, 483, 850, 850,
1696 850, 862, 862, 862, 872, 872, 872, 875, 875, 875,
1697 890, 890, 890, 1986, 1987, 851, 1988, 1990, 863, 1991,
1699 1996, 873, 483, 483, 876, 1997, 1998, 891, 489, 1415,
1700 1415, 1415, 1999, 490, 494, 495, 225, 495, 494, 494,
1701 494, 494, 494, 494, 494, 496, 494, 494, 494, 2000,
1702 494, 498, 494, 499, 494, 898, 898, 898, 903, 903,
1703 903, 923, 923, 923, 942, 942, 942, 946, 946, 946,
1704 2001, 2002, 899, 2004, 2005, 904, 2008, 2009, 924, 494,
1705 494, 943, 2012, 2013, 947, 500, 2014, 2015, 501, 1059,
1706 1059, 1059, 2019, 1060, 2020, 2021, 1061, 2022, 2023, 502,
1707 494, 495, 225, 495, 494, 494, 494, 494, 494, 494,
1708 494, 496, 494, 494, 494, 2024, 494, 498, 494, 499,
1710 494, 965, 965, 965, 965, 965, 965, 2025, 2026, 996,
1711 996, 996, 996, 996, 996, 801, 801, 801, 2028, 967,
1712 2050, 2051, 967, 2052, 2053, 494, 494, 998, 2054, 2059,
1713 998, 500, 802, 2060, 501, 1067, 1067, 1067, 1394, 1068,
1714 2061, 2062, 1069, 2063, 2064, 502, 507, 508, 225, 508,
1715 507, 507, 507, 507, 507, 507, 507, 509, 507, 507,
1716 507, 968, 507, 511, 507, 512, 507, 1006, 1006, 1006,
1717 2046, 999, 1006, 1006, 1006, 2065, 809, 809, 809, 1014,
1718 1014, 1014, 1022, 1022, 1022, 1008, 2066, 1017, 1017, 1017,
1719 1008, 507, 507, 810, 2067, 2068, 1015, 1394, 2070, 513,
1721 1024, 514, 2071, 515, 1018, 1424, 1424, 1424, 1447, 1447,
1722 1447, 516, 507, 508, 225, 508, 507, 507, 507, 507,
1723 507, 507, 507, 509, 507, 507, 507, 2075, 507, 511,
1724 507, 512, 507, 2076, 2047, 1009, 1030, 1030, 1030, 2077,
1725 2078, 1030, 1030, 1030, 2081, 2082, 1022, 1022, 1022, 825,
1726 825, 825, 2086, 2089, 1032, 2090, 2093, 507, 507, 1032,
1727 1458, 1458, 1458, 2097, 1024, 513, 826, 514, 2098, 515,
1728 1459, 1459, 1459, 1406, 1406, 1406, 2099, 516, 522, 523,
1729 225, 523, 522, 522, 522, 522, 522, 522, 522, 524,
1730 522, 522, 522, 1025, 522, 526, 522, 527, 522, 1038,
1732 1038, 1038, 2100, 2101, 1033, 2104, 2105, 1038, 1038, 1038,
1733 840, 840, 840, 1055, 1055, 1055, 1409, 1040, 1055, 1055,
1734 1055, 2122, 2123, 522, 522, 1040, 2124, 841, 845, 845,
1735 845, 1057, 952, 1084, 1084, 1084, 1057, 1085, 1394, 2125,
1736 1086, 1408, 1408, 1408, 1041, 846, 528, 522, 523, 225,
1737 523, 522, 522, 522, 522, 522, 522, 522, 524, 522,
1738 522, 522, 1394, 522, 526, 522, 527, 522, 1063, 1063,
1739 1063, 2119, 1063, 1063, 1063, 2120, 2135, 850, 850, 850,
1740 1071, 1071, 1071, 1058, 2136, 2137, 1065, 1071, 1071, 1071,
1741 1065, 2138, 522, 522, 851, 1077, 1077, 1077, 1073, 1099,
1743 1099, 1099, 2139, 1100, 2121, 1073, 1101, 1103, 1103, 1103,
1744 2140, 1104, 2141, 1079, 1105, 528, 532, 533, 225, 533,
1745 532, 532, 532, 532, 532, 532, 532, 534, 532, 532,
1746 532, 2142, 532, 536, 532, 537, 532, 1066, 1077, 1077,
1747 1077, 862, 862, 862, 1568, 1568, 1568, 1074, 1089, 1089,
1748 1089, 1089, 1089, 1089, 2143, 2144, 1079, 2146, 863, 2147,
1749 2149, 532, 532, 1123, 1123, 1123, 1091, 1124, 2155, 1091,
1750 1125, 2156, 538, 532, 533, 225, 533, 532, 532, 532,
1751 532, 532, 532, 532, 534, 532, 532, 532, 2157, 532,
1752 536, 532, 537, 532, 2161, 872, 872, 872, 875, 875,
1754 875, 2169, 1080, 1106, 1106, 1106, 1115, 1115, 1115, 2170,
1755 2171, 1092, 873, 2193, 2194, 876, 952, 1394, 532, 532,
1756 1107, 1135, 1135, 1135, 1117, 1136, 2195, 2199, 1137, 538,
1757 543, 544, 225, 544, 543, 543, 543, 543, 543, 543,
1758 543, 545, 543, 543, 543, 2189, 543, 547, 543, 548,
1759 543, 890, 890, 890, 1126, 1126, 1126, 2128, 2190, 1130,
1760 1130, 1130, 2200, 1115, 1115, 1115, 2203, 2129, 891, 2204,
1761 2130, 1127, 1130, 1130, 1130, 543, 543, 1132, 898, 898,
1762 898, 1117, 1412, 1412, 1412, 2208, 549, 1143, 1143, 1143,
1763 1132, 1144, 2209, 2210, 1145, 899, 2211, 2212, 550, 543,
1765 544, 225, 544, 543, 543, 543, 543, 543, 543, 543,
1766 545, 543, 543, 543, 2213, 543, 547, 543, 548, 543,
1767 1118, 2214, 2215, 1133, 1138, 1138, 1138, 2179, 1138, 1138,
1768 1138, 903, 903, 903, 1149, 1149, 1149, 2180, 1149, 1149,
1769 1149, 1394, 1140, 2181, 543, 543, 1140, 2218, 904, 1153,
1770 1153, 1153, 1151, 2226, 2227, 549, 1151, 1155, 1155, 1155,
1771 2696, 2696, 2696, 1158, 1158, 1158, 1154, 550, 558, 2228,
1772 2201, 1158, 1158, 1158, 1156, 573, 2229, 2696, 1163, 1163,
1773 1163, 1160, 2191, 2202, 557, 574, 2236, 2239, 1141, 1160,
1774 2696, 2696, 2696, 1152, 2246, 1164, 2247, 2248, 1167, 1167,
1776 1167, 1408, 1408, 1408, 2696, 2696, 2696, 2696, 2249, 1170,
1777 1170, 1170, 575, 576, 577, 1168, 2250, 2251, 1157, 578,
1778 579, 2696, 580, 581, 2258, 2205, 582, 1172, 583, 584,
1779 585, 1161, 1170, 1170, 1170, 923, 923, 923, 2206, 1394,
1780 1165, 1175, 1175, 1175, 952, 1176, 2259, 1529, 1177, 2260,
1781 1172, 2261, 924, 2262, 1166, 1178, 1178, 1178, 1178, 1178,
1782 1178, 2263, 1169, 1182, 1182, 1182, 2696, 2696, 2696, 1173,
1783 1186, 1186, 1186, 1180, 2254, 2264, 1180, 1188, 1188, 1188,
1784 1183, 2265, 2266, 2696, 1188, 1188, 1188, 1187, 1196, 1196,
1785 1196, 2253, 1196, 1196, 1196, 1190, 1202, 1202, 1202, 1202,
1787 1202, 1202, 1190, 942, 942, 942, 1198, 946, 946, 946,
1788 1198, 2267, 2270, 1181, 1204, 2271, 1184, 1204, 2272, 2273,
1789 943, 1206, 1206, 1206, 947, 1207, 2274, 2275, 1208, 2276,
1790 1185, 1209, 1209, 1209, 1209, 1209, 1209, 1213, 1213, 1213,
1791 2131, 1214, 2277, 2284, 1215, 1217, 1217, 1217, 2285, 1211,
1792 2132, 2286, 1211, 2133, 1191, 1199, 1217, 1217, 1217, 965,
1793 965, 965, 1205, 1219, 965, 965, 965, 965, 965, 965,
1794 1255, 1255, 1255, 2287, 1219, 2288, 2289, 967, 996, 996,
1795 996, 2293, 967, 2302, 2303, 967, 2304, 1256, 996, 996,
1796 996, 996, 996, 996, 1212, 2305, 998, 2182, 1258, 1258,
1798 1258, 1001, 1001, 1001, 2306, 1002, 998, 2183, 1003, 998,
1799 2696, 2696, 2696, 2184, 1229, 1259, 1006, 1006, 1006, 1220,
1800 1006, 1006, 1006, 2294, 1006, 1006, 1006, 2696, 1011, 1011,
1801 1011, 2296, 1012, 2295, 1008, 1013, 2307, 2318, 1008, 2298,
1802 1257, 2297, 1008, 1014, 1014, 1014, 1264, 1264, 1264, 2299,
1803 1265, 2319, 2320, 1266, 2321, 1267, 1267, 1267, 2322, 2323,
1804 1015, 1017, 1017, 1017, 1273, 1273, 1273, 1022, 1022, 1022,
1805 1260, 1262, 1268, 1269, 1269, 1269, 2324, 1270, 1018, 2325,
1806 1271, 1274, 1022, 1022, 1022, 1024, 1022, 1022, 1022, 1279,
1807 1279, 1279, 1030, 1030, 1030, 1030, 1030, 1030, 952, 2329,
1809 1024, 1030, 1030, 1030, 1024, 2330, 1280, 1034, 1034, 1034,
1810 1032, 1035, 2331, 1032, 1036, 1038, 1038, 1038, 2332, 1032,
1811 1038, 1038, 1038, 1284, 1284, 1284, 2333, 1051, 1051, 1051,
1812 2300, 1052, 2310, 1040, 1053, 1055, 1055, 1055, 1040, 2334,
1813 2301, 1285, 1055, 1055, 1055, 1276, 2338, 2339, 1282, 1055,
1814 1055, 1055, 2340, 1057, 1059, 1059, 1059, 2343, 1060, 2348,
1815 1057, 1061, 1063, 1063, 1063, 2349, 2350, 1057, 1063, 1063,
1816 1063, 1063, 1063, 1063, 1067, 1067, 1067, 2351, 1068, 2352,
1817 1065, 1069, 1299, 1299, 1299, 2353, 1065, 2354, 2355, 1065,
1818 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1300,
1820 1302, 1302, 1302, 2696, 2696, 2696, 2356, 2357, 1073, 1296,
1821 2358, 1073, 2359, 2366, 1073, 952, 2367, 1303, 2368, 2369,
1822 2696, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077,
1823 2370, 1298, 2371, 1308, 1308, 1308, 1084, 1084, 1084, 1079,
1824 1085, 2372, 1079, 1086, 2373, 1079, 1089, 1089, 1089, 1304,
1825 1309, 1089, 1089, 1089, 1089, 1089, 1089, 2360, 2374, 1099,
1826 1099, 1099, 1301, 1100, 1091, 2375, 1101, 2376, 2377, 1091,
1827 2378, 2379, 1091, 1319, 1319, 1319, 1103, 1103, 1103, 2382,
1828 1104, 2383, 2384, 1105, 1106, 1106, 1106, 1321, 1321, 1321,
1829 1320, 1322, 1305, 2388, 1323, 1115, 1115, 1115, 1115, 1115,
1831 1115, 1107, 1115, 1115, 1115, 1123, 1123, 1123, 2395, 1124,
1832 2396, 2397, 1125, 1117, 2398, 2399, 1117, 2400, 1312, 2401,
1833 1117, 1126, 1126, 1126, 1336, 1336, 1336, 2402, 1337, 2403,
1834 2404, 1338, 1130, 1130, 1130, 1130, 1130, 1130, 1127, 1130,
1835 1130, 1130, 1135, 1135, 1135, 2405, 1136, 2406, 2414, 1137,
1836 1132, 2415, 2416, 1132, 1138, 1138, 1138, 1132, 1138, 1138,
1837 1138, 1138, 1138, 1138, 1149, 1149, 1149, 952, 1331, 1149,
1838 1149, 1149, 1140, 1143, 1143, 1143, 1140, 1144, 2409, 1140,
1839 1145, 2417, 1151, 1149, 1149, 1149, 2409, 1151, 2418, 2412,
1840 1341, 1153, 1153, 1153, 2419, 1349, 1349, 1349, 2420, 1350,
1842 2410, 1151, 1351, 1155, 1155, 1155, 2421, 2422, 1154, 1352,
1843 1352, 1352, 2407, 1353, 2423, 2424, 1354, 1158, 1158, 1158,
1844 1156, 1158, 1158, 1158, 1163, 1163, 1163, 1343, 1158, 1158,
1845 1158, 1167, 1167, 1167, 2429, 1160, 1358, 1358, 1358, 1160,
1846 1359, 1164, 1348, 1360, 2434, 2435, 1160, 2436, 1168, 1363,
1847 1363, 1363, 2437, 1364, 1394, 1395, 1365, 1170, 1170, 1170,
1848 1170, 1170, 1170, 1170, 1170, 1170, 1175, 1175, 1175, 952,
1849 1176, 2440, 2440, 1177, 2443, 1172, 2444, 2445, 1172, 2446,
1850 2455, 1172, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
1851 1178, 1182, 1182, 1182, 1356, 1370, 1370, 1370, 2458, 1371,
1853 1180, 2463, 1372, 1180, 2425, 2453, 1180, 2427, 1183, 2438,
1854 1186, 1186, 1186, 1375, 1375, 1375, 2426, 1376, 2466, 2428,
1855 1377, 1188, 1188, 1188, 2454, 2430, 1367, 1187, 1188, 1188,
1856 1188, 1188, 1188, 1188, 1380, 1380, 1380, 2431, 2432, 1190,
1857 1196, 1196, 1196, 1196, 1196, 1196, 1190, 1369, 2409, 1190,
1858 2433, 1381, 1196, 1196, 1196, 1202, 1202, 1202, 1198, 2412,
1859 2456, 1198, 1202, 1202, 1202, 1202, 1202, 1202, 2409, 2440,
1860 1198, 2461, 2464, 1204, 1206, 1206, 1206, 2468, 1207, 2457,
1861 1204, 1208, 2410, 1204, 1209, 1209, 1209, 1209, 1209, 1209,
1862 2462, 2465, 1378, 1209, 1209, 1209, 1213, 1213, 1213, 2440,
1864 1214, 2469, 1211, 1215, 2470, 1211, 1217, 1217, 1217, 2471,
1865 2472, 1211, 1384, 1217, 1217, 1217, 2482, 2483, 1387, 1217,
1866 1217, 1217, 2484, 2485, 1219, 1393, 1393, 1393, 965, 965,
1867 965, 1219, 1255, 1255, 1255, 2486, 2487, 1219, 1427, 1427,
1868 1427, 2491, 1428, 1394, 1395, 1429, 967, 2492, 2493, 1256,
1869 2494, 2495, 1388, 996, 996, 996, 1258, 1258, 1258, 1431,
1870 1431, 1431, 2496, 1432, 2498, 2499, 1433, 1006, 1006, 1006,
1871 2500, 998, 2505, 1259, 1264, 1264, 1264, 2506, 1265, 1390,
1872 2501, 1266, 1267, 1267, 1267, 1008, 2507, 1438, 1438, 1438,
1873 2503, 1439, 2502, 1400, 1440, 2508, 1269, 1269, 1269, 1268,
1875 1270, 2509, 2504, 1271, 1273, 1273, 1273, 1442, 1442, 1442,
1876 1430, 1443, 2510, 2511, 1444, 2512, 1436, 1022, 1022, 1022,
1877 2513, 1274, 1279, 1279, 1279, 1449, 1449, 1449, 2514, 1450,
1878 2515, 2516, 1451, 2518, 952, 1024, 1452, 1452, 1452, 1280,
1879 1030, 1030, 1030, 1284, 1284, 1284, 1465, 1465, 1465, 2519,
1880 1055, 1055, 1055, 1453, 1063, 1063, 1063, 2520, 1032, 2517,
1881 2521, 1285, 2522, 1466, 1299, 1299, 1299, 1446, 1057, 1470,
1882 1470, 1470, 1065, 1471, 2523, 2524, 1472, 1071, 1071, 1071,
1883 2525, 1300, 1302, 1302, 1302, 2526, 1474, 1474, 1474, 1454,
1884 1475, 2527, 2528, 1476, 2529, 1073, 1077, 1077, 1077, 1303,
1886 2530, 1308, 1308, 1308, 1481, 1481, 1481, 2531, 1482, 2532,
1887 2533, 1483, 2534, 1467, 1079, 2535, 952, 1469, 1309, 2537,
1888 1484, 1484, 1484, 1486, 1486, 1486, 1089, 1089, 1089, 1493,
1889 1493, 1493, 1319, 1319, 1319, 2536, 1473, 1485, 2538, 2539,
1890 1487, 1497, 1497, 1497, 1091, 1498, 1494, 2540, 1499, 1320,
1891 1321, 1321, 1321, 2541, 1322, 2542, 1478, 1323, 1500, 1500,
1892 1500, 1115, 1115, 1115, 1510, 1510, 1510, 2543, 2544, 1488,
1893 1336, 1336, 1336, 2545, 1337, 1501, 2546, 1338, 2547, 1117,
1894 2548, 1511, 1514, 1514, 1514, 1130, 1130, 1130, 1138, 1138,
1895 1138, 1489, 1523, 1523, 1523, 1149, 1149, 1149, 2549, 1515,
1897 1349, 1349, 1349, 1132, 1350, 2550, 1140, 1351, 2551, 1524,
1898 1352, 1352, 1352, 1151, 1353, 2552, 2554, 1354, 1158, 1158,
1899 1158, 2555, 1358, 1358, 1358, 1508, 1359, 2556, 2557, 1360,
1900 1363, 1363, 1363, 2558, 1364, 2559, 1160, 1365, 1525, 1170,
1901 1170, 1170, 1178, 1178, 1178, 1370, 1370, 1370, 1517, 1371,
1902 2560, 1526, 1372, 1519, 1375, 1375, 1375, 1172, 1376, 952,
1903 1180, 1377, 1188, 1188, 1188, 1380, 1380, 1380, 1540, 1540,
1904 1540, 2561, 1541, 2562, 2563, 1542, 1196, 1196, 1196, 2553,
1905 1190, 2564, 1381, 1528, 1547, 1547, 1547, 1202, 1202, 1202,
1906 1209, 1209, 1209, 2565, 1198, 1551, 1551, 1551, 1535, 1533,
1908 2566, 1548, 1217, 1217, 1217, 1204, 2567, 2568, 1211, 1538,
1909 2569, 2571, 1552, 1393, 1393, 1393, 965, 965, 965, 2572,
1910 1219, 1415, 1415, 1415, 952, 1545, 1573, 1573, 1573, 2573,
1911 2570, 1394, 2574, 2575, 967, 1576, 1576, 1576, 1424, 1424,
1912 1424, 2576, 1550, 2577, 1583, 1583, 1583, 1427, 1427, 1427,
1913 2578, 1428, 2579, 1549, 1429, 996, 996, 996, 1431, 1431,
1914 1431, 2580, 1432, 1553, 1555, 1433, 2581, 2582, 1560, 1006,
1915 1006, 1006, 2584, 998, 2585, 1438, 1438, 1438, 2586, 1439,
1916 1556, 1577, 1440, 2587, 1442, 1442, 1442, 1008, 1443, 1574,
1917 1584, 1444, 1022, 1022, 1022, 1447, 1447, 1447, 1449, 1449,
1919 1449, 2588, 1450, 952, 2589, 1451, 1452, 1452, 1452, 2590,
1920 1024, 1602, 1602, 1602, 2591, 1603, 2593, 2583, 1604, 2594,
1921 1588, 1585, 2595, 1453, 1030, 1030, 1030, 1458, 1458, 1458,
1922 1459, 1459, 1459, 1609, 1609, 1609, 1609, 1609, 1609, 1573,
1923 1573, 1573, 1032, 1465, 1465, 1465, 1613, 1613, 1613, 2596,
1924 1614, 2597, 1592, 1615, 1055, 1055, 1055, 1484, 1484, 1484,
1925 1466, 1063, 1063, 1063, 1470, 1470, 1470, 2598, 1471, 2599,
1926 2600, 1472, 1057, 2603, 1485, 1605, 1071, 1071, 1071, 1065,
1927 1474, 1474, 1474, 2604, 1475, 2605, 2606, 1476, 1077, 1077,
1928 1077, 1481, 1481, 1481, 1073, 1482, 1610, 2607, 1483, 1574,
1930 2608, 1616, 1610, 1624, 1624, 1624, 1079, 1625, 1618, 952,
1931 1626, 1486, 1486, 1486, 1627, 1627, 1627, 952, 1628, 952,
1932 952, 1629, 1631, 1631, 1631, 1633, 1633, 1633, 1487, 1493,
1933 1493, 1493, 1636, 1636, 1636, 952, 1637, 952, 952, 1638,
1934 1632, 1619, 1639, 1639, 1639, 2609, 1494, 952, 1497, 1497,
1935 1497, 1621, 1498, 2610, 952, 1499, 1500, 1500, 1500, 1640,
1936 1642, 1642, 1642, 952, 1643, 2631, 2611, 1644, 1645, 1645,
1937 1645, 1590, 2625, 1501, 1651, 1651, 1651, 1115, 1115, 1115,
1938 1510, 1510, 1510, 2632, 2612, 1646, 1655, 1655, 1655, 2629,
1939 1656, 1652, 2617, 1657, 2613, 1117, 952, 1511, 1658, 1658,
1941 1658, 1514, 1514, 1514, 1661, 1661, 1661, 952, 1662, 2619,
1942 2614, 1663, 1665, 1665, 1665, 1659, 952, 952, 1515, 1138,
1943 1138, 1138, 1523, 1523, 1523, 1672, 1672, 1672, 952, 1673,
1944 1666, 952, 1674, 1676, 1676, 1676, 2618, 1140, 1589, 1524,
1945 952, 2620, 1653, 1158, 1158, 1158, 1681, 1681, 1681, 952,
1946 2615, 1677, 1683, 1683, 1683, 2696, 2696, 2696, 1170, 1170,
1947 1170, 1160, 2623, 1682, 1178, 1178, 1178, 952, 1587, 1684,
1948 1668, 2616, 2696, 1689, 1689, 1689, 1172, 2624, 1691, 1691,
1949 1691, 2621, 1180, 1188, 1188, 1188, 1196, 1196, 1196, 952,
1950 1690, 1547, 1547, 1547, 1679, 1692, 1540, 1540, 1540, 952,
1952 1541, 1190, 2630, 1542, 1198, 1699, 1699, 1699, 1548, 1700,
1953 1688, 2622, 1701, 1202, 1202, 1202, 1586, 952, 1685, 952,
1954 1209, 1209, 1209, 952, 1686, 1551, 1551, 1551, 1704, 1704,
1955 1704, 1204, 1705, 952, 1582, 1706, 2626, 1697, 1211, 1707,
1956 1707, 1707, 1552, 1713, 1713, 1713, 1581, 1693, 965, 965,
1957 965, 1720, 1720, 1720, 1568, 1568, 1568, 1708, 2639, 2643,
1958 1714, 1726, 1726, 1726, 1580, 1579, 967, 1573, 1573, 1573,
1959 2633, 1702, 1727, 1727, 1727, 1703, 1576, 1576, 1576, 1730,
1960 1730, 1730, 1731, 1731, 1731, 1583, 1583, 1583, 996, 996,
1961 996, 1739, 1739, 1739, 1742, 1742, 1742, 1022, 1022, 1022,
1963 1746, 1746, 1746, 1602, 1602, 1602, 998, 1603, 1715, 1740,
1964 1604, 1743, 1030, 1030, 1030, 1024, 952, 1747, 1759, 1759,
1965 1759, 1609, 1609, 1609, 1763, 1763, 1763, 1765, 1765, 1765,
1966 1032, 952, 1613, 1613, 1613, 1760, 1614, 952, 1736, 1615,
1967 952, 1055, 1055, 1055, 1766, 1768, 1768, 1768, 1063, 1063,
1968 1063, 1771, 1771, 1771, 952, 1745, 2627, 1578, 1758, 1057,
1969 1575, 952, 1769, 1773, 1773, 1773, 1065, 1572, 2634, 1772,
1970 1077, 1077, 1077, 952, 1624, 1624, 1624, 2628, 1625, 1571,
1971 1774, 1626, 1627, 1627, 1627, 2645, 1628, 2649, 1079, 1629,
1972 1631, 1631, 1631, 2635, 1767, 1633, 1633, 1633, 1636, 1636,
1974 1636, 1770, 1637, 952, 952, 1638, 2637, 2641, 1632, 1639,
1975 1639, 1639, 1783, 1783, 1783, 952, 1784, 1775, 952, 1785,
1976 1642, 1642, 1642, 952, 1643, 2638, 1640, 1644, 1645, 1645,
1977 1645, 1787, 1787, 1787, 952, 1788, 2636, 2642, 1789, 1790,
1978 1790, 1790, 1651, 1651, 1651, 1646, 1795, 1795, 1795, 2669,
1979 1796, 952, 952, 1797, 952, 2653, 1791, 952, 2640, 1652,
1980 1115, 1115, 1115, 1655, 1655, 1655, 952, 1656, 952, 952,
1981 1657, 1658, 1658, 1658, 952, 1800, 1800, 1800, 1117, 1801,
1982 1570, 2661, 1802, 1661, 1661, 1661, 2647, 1662, 1659, 2648,
1983 1663, 1665, 1665, 1665, 1138, 1138, 1138, 1808, 1808, 1808,
1985 1672, 1672, 1672, 2662, 1673, 952, 2654, 1674, 2644, 1666,
1986 952, 1798, 1140, 2646, 1809, 1676, 1676, 1676, 1816, 1816,
1987 1816, 1681, 1681, 1681, 1819, 1819, 1819, 2670, 1820, 1569,
1988 1567, 1821, 952, 1677, 952, 952, 1817, 952, 1682, 1683,
1989 1683, 1683, 1566, 1810, 1822, 1822, 1822, 952, 1823, 1565,
1990 2657, 1824, 1170, 1170, 1170, 2658, 1684, 1806, 1178, 1178,
1991 1178, 1689, 1689, 1689, 1829, 1829, 1829, 2650, 1830, 2659,
1992 1172, 1831, 1691, 1691, 1691, 2651, 1180, 952, 1690, 1832,
1993 1832, 1832, 2667, 1833, 952, 1564, 1834, 952, 2655, 1692,
1994 1188, 1188, 1188, 1196, 1196, 1196, 1699, 1699, 1699, 952,
1996 1700, 2652, 952, 1701, 1202, 1202, 1202, 1828, 1190, 952,
1997 952, 1198, 1209, 1209, 1209, 952, 2663, 1826, 2656, 1704,
1998 1704, 1704, 1204, 1705, 2660, 952, 1706, 1707, 1707, 1707,
1999 1211, 1713, 1713, 1713, 1847, 1847, 1847, 2664, 1848, 2675,
2000 1563, 1849, 965, 965, 965, 1708, 952, 2668, 1714, 1851,
2001 1851, 1851, 2673, 2693, 1835, 1841, 2689, 1839, 1562, 1561,
2002 967, 1854, 1854, 1854, 952, 1842, 1720, 1720, 1720, 1855,
2003 1855, 1855, 1859, 1859, 1859, 1726, 1726, 1726, 1727, 1727,
2004 1727, 1860, 1860, 1860, 1730, 1730, 1730, 1731, 1731, 1731,
2005 1863, 1863, 1863, 1864, 1864, 1864, 1865, 1865, 1865, 996,
2007 996, 996, 1739, 1739, 1739, 1850, 1742, 1742, 1742, 1871,
2008 1871, 1871, 952, 1872, 1559, 952, 1873, 998, 1558, 1557,
2009 1740, 1394, 952, 1743, 1875, 1875, 1875, 1861, 1746, 1746,
2010 1746, 1877, 1877, 1877, 1546, 1878, 1544, 1543, 1879, 1030,
2011 1030, 1030, 1876, 952, 2683, 1747, 1759, 1759, 1759, 2665,
2012 1867, 1891, 1891, 1891, 952, 1892, 2666, 1032, 1893, 1894,
2013 1894, 1894, 952, 1760, 1763, 1763, 1763, 1896, 1896, 1896,
2014 1765, 1765, 1765, 1898, 1898, 1898, 952, 1899, 2677, 952,
2015 1900, 1055, 1055, 1055, 1768, 1768, 1768, 1766, 1890, 1902,
2016 1902, 1902, 1539, 1903, 2684, 1537, 1904, 952, 952, 1057,
2018 2671, 1769, 1063, 1063, 1063, 1771, 1771, 1771, 1773, 1773,
2019 1773, 952, 952, 1897, 1906, 1906, 1906, 1536, 1907, 2676,
2020 1065, 1908, 2672, 1772, 952, 1774, 1077, 1077, 1077, 1783,
2021 1783, 1783, 1901, 1784, 2674, 1534, 1785, 952, 1787, 1787,
2022 1787, 1532, 1788, 2679, 1079, 1789, 1790, 1790, 1790, 2681,
2023 1920, 1920, 1920, 1905, 1921, 2685, 2680, 1922, 1795, 1795,
2024 1795, 2682, 1796, 1791, 952, 1797, 1115, 1115, 1115, 1800,
2025 1800, 1800, 2678, 1801, 2686, 1531, 1802, 952, 1530, 1909,
2026 1931, 1931, 1931, 952, 1117, 1808, 1808, 1808, 1934, 1934,
2027 1934, 1527, 1935, 952, 2693, 1936, 1522, 1521, 1932, 1816,
2029 1816, 1816, 1809, 1819, 1819, 1819, 1520, 1820, 952, 2687,
2030 1821, 1822, 1822, 1822, 952, 1823, 1518, 1817, 1824, 1170,
2031 1170, 1170, 1178, 1178, 1178, 2688, 1829, 1829, 1829, 1926,
2032 1830, 952, 952, 1831, 1832, 1832, 1832, 1172, 1833, 1516,
2033 1180, 1834, 1188, 1188, 1188, 1951, 1951, 1951, 2696, 2696,
2034 2696, 2696, 2696, 2696, 1196, 1196, 1196, 1202, 1202, 1202,
2035 1190, 2690, 1952, 2691, 2692, 2696, 1513, 1512, 2696, 1509,
2036 1947, 1507, 1198, 1506, 1505, 1204, 1504, 1503, 1950, 1958,
2037 1958, 1958, 1960, 1960, 1960, 1502, 1496, 1949, 1963, 1963,
2038 1963, 1847, 1847, 1847, 1495, 1848, 1492, 1959, 1849, 1953,
2040 952, 965, 965, 965, 1851, 1851, 1851, 1491, 1490, 1954,
2041 1965, 1965, 1965, 1854, 1854, 1854, 1957, 1480, 1955, 967,
2042 1855, 1855, 1855, 1967, 1967, 1967, 1968, 1968, 1968, 1969,
2043 1969, 1969, 1859, 1859, 1859, 1860, 1860, 1860, 1863, 1863,
2044 1863, 1864, 1864, 1864, 1865, 1865, 1865, 1973, 1973, 1973,
2045 1976, 1976, 1976, 1871, 1871, 1871, 1479, 1872, 1477, 1964,
2046 1873, 2696, 2696, 2696, 1468, 1974, 1464, 1977, 1875, 1875,
2047 1875, 1463, 1877, 1877, 1877, 1462, 1878, 1461, 2696, 1879,
2048 1030, 1030, 1030, 1891, 1891, 1891, 1876, 1892, 1460, 1457,
2049 1893, 1894, 1894, 1894, 1896, 1896, 1896, 1456, 1032, 1898,
2051 1898, 1898, 1455, 1899, 1448, 1445, 1900, 1055, 1055, 1055,
2052 1902, 1902, 1902, 1441, 1903, 1437, 1435, 1904, 1993, 1993,
2053 1993, 1077, 1077, 1077, 1434, 1057, 1978, 1906, 1906, 1906,
2054 1426, 1907, 1425, 1423, 1908, 1422, 1994, 1421, 1420, 1079,
2055 1989, 2003, 2003, 2003, 1920, 1920, 1920, 1419, 1921, 1418,
2056 1417, 1922, 1416, 1992, 2006, 2006, 2006, 2010, 2010, 2010,
2057 1931, 1931, 1931, 2016, 2016, 2016, 1934, 1934, 1934, 1414,
2058 1935, 2007, 1995, 1936, 1413, 2011, 1411, 1410, 1932, 1407,
2059 2017, 2027, 2027, 2027, 2029, 2029, 2029, 2031, 2031, 2031,
2060 1178, 1178, 1178, 1188, 1188, 1188, 1951, 1951, 1951, 2035,
2062 2035, 2035, 2030, 2036, 2032, 1405, 2037, 1404, 1180, 2018,
2063 1403, 1190, 1402, 1952, 2038, 2038, 2038, 2696, 2696, 2696,
2064 2041, 2041, 2041, 2043, 2043, 2043, 1202, 1202, 1202, 1401,
2065 1399, 2039, 1398, 1397, 2696, 1963, 1963, 1963, 2042, 1958,
2066 1958, 1958, 1396, 1389, 1204, 1960, 1960, 1960, 1386, 2033,
2067 1965, 1965, 1965, 2034, 2048, 2048, 2048, 1959, 1967, 1967,
2068 1967, 1385, 1383, 952, 1968, 1968, 1968, 1382, 2040, 1969,
2069 1969, 1969, 2049, 1379, 1973, 1973, 1973, 1976, 1976, 1976,
2070 2055, 2055, 2055, 1374, 2056, 1373, 1368, 2057, 2696, 2696,
2071 2696, 2044, 1974, 1366, 1977, 1030, 1030, 1030, 1055, 1055,
2073 1055, 1993, 1993, 1993, 1362, 2696, 2045, 2073, 2073, 2073,
2074 2079, 2079, 2079, 1032, 1361, 1357, 1057, 1355, 1347, 1994,
2075 2003, 2003, 2003, 1346, 1345, 2074, 1344, 2080, 2006, 2006,
2076 2006, 2083, 2083, 2083, 1342, 2084, 1340, 1339, 2085, 2087,
2077 2087, 2087, 1335, 2058, 1334, 2007, 2010, 2010, 2010, 2091,
2078 2091, 2091, 1333, 1332, 2069, 1330, 2088, 2016, 2016, 2016,
2079 2102, 2102, 2102, 2072, 2011, 1329, 2092, 1328, 2094, 2094,
2080 2094, 1327, 2095, 1326, 2017, 2096, 1325, 2103, 2027, 2027,
2081 2027, 2029, 2029, 2029, 2031, 2031, 2031, 2106, 2106, 2106,
2082 1324, 2107, 1318, 1317, 2108, 2109, 2109, 2109, 1316, 2030,
2084 1315, 2032, 1188, 1188, 1188, 2035, 2035, 2035, 1314, 2036,
2085 1313, 1311, 2037, 2110, 2038, 2038, 2038, 2112, 2112, 2112,
2086 1190, 2113, 1310, 1307, 2114, 2115, 2115, 2115, 2041, 2041,
2087 2041, 2039, 2043, 2043, 2043, 2117, 2117, 2117, 2048, 2048,
2088 2048, 1306, 2116, 2126, 2126, 2126, 2042, 2055, 2055, 2055,
2089 1297, 2056, 1295, 2118, 2057, 1294, 2049, 2696, 2696, 2696,
2090 2127, 1030, 1030, 1030, 1055, 1055, 1055, 1293, 2111, 2073,
2091 2073, 2073, 1292, 1291, 2696, 2150, 2150, 2150, 1290, 1032,
2092 1289, 1288, 1057, 2079, 2079, 2079, 1287, 2074, 1286, 2152,
2093 2152, 2152, 2151, 2153, 1283, 1281, 2154, 2083, 2083, 2083,
2095 2080, 2084, 1278, 1275, 2085, 2087, 2087, 2087, 2158, 2158,
2096 2158, 1272, 2159, 1263, 1261, 2160, 1254, 2134, 1252, 1251,
2097 2145, 1250, 2088, 2162, 2162, 2162, 2091, 2091, 2091, 2164,
2098 2164, 2164, 1249, 2165, 2148, 1248, 2166, 2167, 2167, 2167,
2099 2163, 1247, 1246, 2092, 2094, 2094, 2094, 1245, 2095, 1244,
2100 1241, 2096, 1240, 1239, 2168, 2102, 2102, 2102, 2172, 2172,
2101 2172, 1238, 2173, 1237, 1236, 2174, 2175, 2175, 2175, 2177,
2102 2177, 2177, 2103, 2106, 2106, 2106, 1235, 2107, 1234, 1233,
2103 2108, 1232, 1231, 2176, 1230, 1228, 2178, 2109, 2109, 2109,
2104 1188, 1188, 1188, 2112, 2112, 2112, 1227, 2113, 1226, 1225,
2106 2114, 2115, 2115, 2115, 1224, 2110, 1223, 1222, 1190, 2186,
2107 2186, 2186, 952, 2187, 1216, 1201, 2188, 1200, 2116, 2117,
2108 2117, 2117, 2192, 2192, 2192, 2126, 2126, 2126, 2196, 2196,
2109 2196, 1195, 2197, 1194, 1193, 2198, 1192, 2118, 1174, 2696,
2110 2696, 2696, 2127, 1030, 1030, 1030, 2217, 2217, 2217, 1055,
2111 1055, 1055, 2150, 2150, 2150, 2185, 2696, 2220, 2220, 2220,
2112 1162, 1032, 1148, 1147, 2223, 2223, 2223, 1057, 2224, 2151,
2113 1146, 2225, 1142, 1134, 2221, 2152, 2152, 2152, 1129, 2153,
2114 1128, 1122, 2154, 2158, 2158, 2158, 1119, 2159, 1114, 1113,
2115 2160, 2162, 2162, 2162, 2216, 2230, 2230, 2230, 2207, 2231,
2117 1112, 1111, 2232, 2222, 1110, 2164, 2164, 2164, 2163, 2165,
2118 2219, 1109, 2166, 2167, 2167, 2167, 2233, 2233, 2233, 1108,
2119 2234, 1102, 1095, 2235, 2237, 2237, 2237, 2172, 2172, 2172,
2120 2168, 2173, 1094, 1093, 2174, 2175, 2175, 2175, 2240, 2240,
2121 2240, 2238, 2241, 1088, 1087, 2242, 2177, 2177, 2177, 2243,
2122 2243, 2243, 2176, 2244, 1083, 1082, 2245, 1188, 1188, 1188,
2123 2186, 2186, 2186, 2178, 2187, 1081, 1076, 2188, 2255, 2255,
2124 2255, 2192, 2192, 2192, 1075, 1190, 2257, 2257, 2257, 1070,
2125 2196, 2196, 2196, 1062, 2197, 2256, 1394, 2198, 2268, 2268,
2126 2268, 1030, 1030, 1030, 2217, 2217, 2217, 2279, 2279, 2279,
2128 1055, 1055, 1055, 1054, 1050, 2269, 1049, 1048, 2252, 1032,
2129 2220, 2220, 2220, 2281, 2281, 2281, 1047, 2282, 1057, 1046,
2130 2283, 2223, 2223, 2223, 1045, 2224, 1044, 2221, 2225, 2230,
2131 2230, 2230, 1043, 2231, 1037, 1029, 2232, 2233, 2233, 2233,
2132 2278, 2234, 1028, 1027, 2235, 2237, 2237, 2237, 2290, 2290,
2133 2290, 2280, 2291, 1026, 1021, 2292, 2240, 2240, 2240, 1020,
2134 2241, 1019, 2238, 2242, 2243, 2243, 2243, 1016, 2244, 1010,
2135 1005, 2245, 2308, 2308, 2308, 2311, 2311, 2311, 2255, 2255,
2136 2255, 2313, 2313, 2313, 1004, 2314, 1000, 995, 2315, 994,
2137 2309, 993, 2312, 1394, 992, 2256, 1394, 991, 990, 1394,
2139 2257, 2257, 2257, 2316, 2316, 2316, 2317, 2317, 2317, 2268,
2140 2268, 2268, 2326, 2326, 2326, 988, 2327, 987, 986, 2328,
2141 1030, 1030, 1030, 2279, 2279, 2279, 2269, 2336, 2336, 2336,
2142 2281, 2281, 2281, 985, 2282, 984, 983, 2283, 1032, 2341,
2143 2341, 2341, 2344, 2344, 2344, 2337, 2290, 2290, 2290, 982,
2144 2291, 981, 980, 2292, 979, 978, 2342, 977, 976, 2345,
2145 2346, 2346, 2346, 2308, 2308, 2308, 2311, 2311, 2311, 2361,
2146 2361, 2361, 975, 2362, 974, 973, 2363, 2347, 2316, 2316,
2147 2316, 2309, 972, 2312, 1394, 2335, 971, 1394, 2313, 2313,
2148 2313, 964, 2314, 963, 962, 2315, 2317, 2317, 2317, 2380,
2150 2380, 2380, 2336, 2336, 2336, 961, 1394, 1392, 1392, 1392,
2151 1392, 1392, 1392, 1392, 1392, 1392, 960, 2381, 1392, 959,
2152 2337, 958, 955, 1392, 1392, 1392, 1394, 1392, 2326, 2326,
2153 2326, 953, 2327, 952, 950, 2328, 2385, 2385, 2385, 948,
2154 2386, 945, 941, 2387, 939, 938, 2341, 2341, 2341, 2344,
2155 2344, 2344, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
2156 1392, 1392, 1392, 2342, 937, 1392, 2345, 2346, 2346, 2346,
2157 1392, 1392, 1392, 1394, 1392, 2389, 2389, 2389, 935, 2390,
2158 934, 933, 2391, 932, 2347, 2392, 2392, 2392, 931, 2393,
2159 929, 928, 2394, 927, 2361, 2361, 2361, 926, 2362, 1392,
2161 1392, 2363, 922, 921, 2380, 2380, 2380, 2442, 2442, 2442,
2162 919, 918, 1394, 1392, 1392, 1392, 1392, 1392, 2413, 1392,
2163 1392, 1392, 2381, 917, 1392, 1394, 1395, 916, 915, 1392,
2164 1392, 1392, 1394, 1392, 2385, 2385, 2385, 914, 2386, 912,
2165 911, 2387, 2389, 2389, 2389, 910, 2390, 909, 907, 2391,
2166 2392, 2392, 2392, 906, 2393, 905, 902, 2394, 1392, 1392,
2167 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 2413, 901,
2168 897, 1392, 2447, 2447, 2447, 896, 1392, 1392, 1392, 1394,
2169 1392, 2449, 2449, 2449, 2451, 2451, 2451, 894, 893, 2448,
2170 2459, 2459, 2459, 2467, 2467, 2467, 892, 889, 2450, 888,
2172 887, 2452, 2442, 2442, 2442, 1392, 1392, 2460, 2447, 2447,
2173 2447, 952, 2473, 2473, 2473, 886, 2474, 884, 883, 2475,
2174 1394, 2449, 2449, 2449, 882, 2448, 2476, 2476, 2476, 881,
2175 2477, 880, 879, 2478, 2451, 2451, 2451, 878, 2450, 2479,
2176 2479, 2479, 877, 2480, 874, 871, 2481, 2459, 2459, 2459,
2177 870, 2452, 867, 1555, 2488, 2488, 2488, 865, 2489, 864,
2178 859, 2490, 858, 856, 2460, 2467, 2467, 2467, 2473, 2473,
2179 2473, 855, 2474, 854, 852, 2475, 849, 2476, 2476, 2476,
2180 847, 2477, 844, 952, 2478, 2479, 2479, 2479, 842, 2480,
2181 839, 836, 2481, 2488, 2488, 2488, 835, 2489, 833, 832,
2183 2490, 831, 2497, 2592, 2592, 2592, 2592, 2592, 2592, 830,
2184 2601, 829, 827, 2602, 2694, 2694, 2694, 2694, 2694, 2694,
2185 824, 952, 822, 821, 952, 820, 818, 816, 815, 814,
2186 813, 812, 2695, 811, 808, 2695, 222, 222, 222, 222,
2187 222, 222, 222, 222, 222, 223, 223, 223, 223, 223,
2188 223, 223, 223, 223, 228, 228, 228, 228, 228, 228,
2189 228, 228, 228, 231, 231, 231, 231, 231, 231, 231,
2190 231, 231, 234, 234, 234, 234, 234, 234, 234, 234,
2191 234, 237, 237, 237, 237, 237, 237, 237, 237, 237,
2192 244, 244, 244, 244, 244, 244, 244, 244, 244, 252,
2194 252, 252, 252, 252, 252, 252, 252, 252, 256, 256,
2195 256, 256, 256, 256, 256, 256, 256, 268, 268, 268,
2196 268, 268, 268, 268, 268, 268, 272, 272, 272, 272,
2197 272, 272, 272, 272, 272, 278, 278, 278, 278, 278,
2198 278, 278, 278, 278, 289, 289, 289, 289, 289, 289,
2199 289, 289, 289, 297, 297, 297, 297, 297, 297, 297,
2200 297, 297, 305, 305, 305, 305, 305, 305, 305, 305,
2201 305, 311, 311, 311, 311, 311, 311, 311, 311, 311,
2202 317, 317, 317, 317, 317, 317, 317, 317, 317, 322,
2203 322, 322, 322, 322, 322, 322, 322, 322, 339, 339,
2205 339, 339, 339, 339, 339, 339, 339, 345, 345, 345,
2206 345, 345, 345, 345, 345, 345, 352, 352, 352, 352,
2207 352, 352, 352, 352, 352, 357, 357, 357, 357, 357,
2208 357, 357, 357, 357, 364, 364, 364, 364, 364, 364,
2209 364, 364, 364, 369, 369, 369, 369, 369, 369, 369,
2210 369, 369, 375, 375, 375, 375, 375, 375, 375, 375,
2211 375, 380, 380, 380, 380, 380, 380, 380, 380, 380,
2212 386, 386, 386, 386, 386, 386, 386, 386, 386, 394,
2213 394, 394, 394, 394, 394, 394, 394, 394, 413, 413,
2214 413, 413, 413, 413, 413, 413, 413, 429, 429, 429,
2216 429, 429, 429, 429, 429, 429, 435, 435, 435, 435,
2217 435, 435, 435, 435, 435, 440, 440, 440, 440, 440,
2218 440, 440, 440, 440, 446, 446, 446, 446, 446, 446,
2219 446, 446, 446, 453, 453, 453, 453, 453, 453, 453,
2220 453, 453, 460, 460, 460, 460, 460, 460, 460, 460,
2221 460, 465, 465, 465, 465, 465, 465, 465, 465, 465,
2222 473, 473, 473, 473, 473, 473, 473, 473, 473, 479,
2223 479, 479, 479, 479, 479, 479, 479, 479, 486, 486,
2224 486, 486, 486, 486, 486, 486, 486, 491, 491, 491,
2225 491, 491, 491, 491, 491, 491, 497, 497, 497, 497,
2227 497, 497, 497, 497, 497, 503, 503, 503, 503, 503,
2228 503, 503, 503, 503, 510, 510, 510, 510, 510, 510,
2229 510, 510, 510, 517, 517, 517, 517, 517, 517, 517,
2230 517, 517, 525, 525, 525, 525, 525, 525, 525, 525,
2231 525, 529, 529, 529, 529, 529, 529, 529, 529, 529,
2232 535, 535, 535, 535, 535, 535, 535, 535, 535, 539,
2233 539, 539, 539, 539, 539, 539, 539, 539, 546, 546,
2234 546, 546, 546, 546, 546, 546, 546, 551, 551, 551,
2235 551, 551, 551, 551, 551, 551, 571, 571, 571, 807,
2236 806, 803, 571, 597, 597, 597, 800, 799, 797, 597,
2238 601, 601, 601, 796, 793, 791, 601, 609, 609, 609,
2239 788, 787, 779, 609, 621, 621, 621, 778, 777, 774,
2240 621, 627, 627, 627, 773, 772, 771, 627, 641, 641,
2241 641, 769, 768, 767, 641, 647, 647, 647, 766, 765,
2242 764, 647, 652, 652, 652, 759, 756, 758, 652, 657,
2243 657, 657, 753, 752, 750, 657, 662, 662, 662, 749,
2244 748, 746, 662, 671, 671, 671, 744, 742, 739, 671,
2245 687, 687, 687, 738, 737, 736, 687, 697, 697, 697,
2246 734, 733, 732, 697, 702, 702, 702, 731, 730, 728,
2247 702, 710, 710, 710, 726, 725, 723, 710, 717, 717,
2249 717, 722, 719, 718, 717, 724, 724, 724, 716, 580,
2250 2696, 724, 729, 729, 729, 711, 709, 708, 729, 735,
2251 735, 735, 705, 704, 703, 735, 743, 743, 743, 701,
2252 699, 698, 743, 747, 747, 747, 696, 694, 693, 747,
2253 751, 751, 751, 692, 691, 690, 751, 755, 755, 755,
2254 755, 755, 755, 755, 689, 755, 571, 571, 571, 688,
2255 686, 677, 571, 770, 676, 675, 672, 770, 597, 597,
2256 597, 670, 667, 666, 597, 798, 665, 664, 663, 798,
2257 601, 601, 601, 661, 659, 658, 601, 805, 656, 654,
2258 653, 805, 609, 609, 609, 651, 650, 649, 609, 817,
2260 648, 646, 645, 817, 621, 621, 621, 644, 643, 642,
2261 621, 823, 640, 2696, 588, 823, 627, 627, 627, 629,
2262 628, 626, 627, 828, 624, 623, 622, 828, 641, 641,
2263 641, 620, 591, 2696, 641, 843, 615, 611, 610, 843,
2264 647, 647, 647, 608, 607, 604, 647, 848, 603, 602,
2265 600, 848, 652, 652, 652, 598, 596, 2696, 652, 853,
2266 572, 570, 568, 853, 657, 657, 657, 562, 561, 562,
2267 657, 857, 561, 560, 559, 857, 662, 662, 662, 2696,
2268 2696, 2696, 662, 866, 2696, 2696, 2696, 866, 671, 671,
2269 671, 2696, 2696, 2696, 671, 885, 2696, 2696, 2696, 885,
2271 687, 687, 687, 2696, 2696, 2696, 687, 895, 2696, 2696,
2272 2696, 895, 697, 697, 697, 2696, 2696, 2696, 697, 900,
2273 2696, 2696, 2696, 900, 702, 702, 702, 2696, 2696, 2696,
2274 702, 908, 2696, 2696, 2696, 908, 710, 710, 710, 2696,
2275 2696, 2696, 710, 913, 2696, 2696, 2696, 913, 717, 717,
2276 717, 2696, 2696, 2696, 717, 920, 2696, 2696, 2696, 920,
2277 724, 724, 724, 2696, 2696, 2696, 724, 925, 2696, 2696,
2278 2696, 925, 729, 729, 729, 2696, 2696, 2696, 729, 930,
2279 2696, 2696, 2696, 930, 735, 735, 735, 2696, 2696, 2696,
2280 735, 936, 2696, 2696, 2696, 936, 743, 743, 743, 2696,
2282 2696, 2696, 743, 940, 2696, 2696, 2696, 940, 747, 747,
2283 747, 2696, 2696, 2696, 747, 944, 2696, 2696, 2696, 944,
2284 751, 751, 751, 2696, 2696, 2696, 751, 949, 2696, 2696,
2285 2696, 949, 951, 951, 951, 951, 951, 951, 951, 951,
2286 951, 957, 2696, 2696, 2696, 2696, 957, 571, 571, 571,
2287 2696, 2696, 2696, 571, 966, 966, 966, 966, 2696, 2696,
2288 966, 966, 597, 597, 597, 2696, 2696, 2696, 597, 997,
2289 997, 997, 997, 2696, 2696, 997, 997, 601, 601, 601,
2290 2696, 2696, 2696, 601, 1007, 1007, 1007, 1007, 2696, 2696,
2291 1007, 1007, 609, 609, 609, 2696, 2696, 2696, 609, 1023,
2293 1023, 1023, 1023, 2696, 2696, 1023, 1023, 621, 621, 621,
2294 2696, 2696, 2696, 621, 1031, 1031, 1031, 1031, 2696, 2696,
2295 1031, 1031, 627, 627, 627, 2696, 2696, 2696, 627, 1039,
2296 1039, 1039, 1039, 2696, 2696, 1039, 1039, 641, 641, 641,
2297 2696, 2696, 2696, 641, 1056, 1056, 1056, 1056, 2696, 2696,
2298 1056, 1056, 647, 647, 647, 2696, 2696, 2696, 647, 1064,
2299 1064, 1064, 1064, 2696, 2696, 1064, 1064, 652, 652, 652,
2300 2696, 2696, 2696, 652, 1072, 1072, 1072, 1072, 2696, 2696,
2301 1072, 1072, 657, 657, 657, 2696, 2696, 2696, 657, 1078,
2302 1078, 1078, 1078, 2696, 2696, 1078, 1078, 662, 662, 662,
2304 2696, 2696, 2696, 662, 1090, 1090, 1090, 1090, 2696, 2696,
2305 1090, 1090, 671, 671, 671, 2696, 2696, 2696, 671, 1116,
2306 1116, 1116, 1116, 2696, 2696, 1116, 1116, 687, 687, 687,
2307 2696, 2696, 2696, 687, 1131, 1131, 1131, 1131, 2696, 2696,
2308 1131, 1131, 697, 697, 697, 2696, 2696, 2696, 697, 1139,
2309 1139, 1139, 1139, 2696, 2696, 1139, 1139, 702, 702, 702,
2310 2696, 2696, 2696, 702, 1150, 1150, 1150, 1150, 2696, 2696,
2311 1150, 1150, 710, 710, 710, 710, 2696, 710, 2696, 710,
2312 1159, 1159, 1159, 1159, 2696, 2696, 1159, 1159, 717, 717,
2313 717, 717, 2696, 717, 2696, 717, 1171, 1171, 1171, 1171,
2315 2696, 2696, 1171, 1171, 724, 724, 724, 2696, 2696, 2696,
2316 724, 1179, 1179, 1179, 1179, 2696, 2696, 1179, 1179, 729,
2317 729, 729, 729, 2696, 729, 2696, 729, 1189, 1189, 1189,
2318 1189, 2696, 2696, 1189, 1189, 735, 735, 735, 2696, 2696,
2319 2696, 735, 1197, 1197, 1197, 1197, 2696, 2696, 1197, 1197,
2320 743, 743, 743, 2696, 2696, 2696, 743, 1203, 1203, 1203,
2321 1203, 2696, 2696, 1203, 1203, 1210, 1210, 1210, 1210, 2696,
2322 2696, 1210, 1210, 751, 751, 751, 2696, 2696, 2696, 751,
2323 1218, 1218, 1218, 1218, 2696, 2696, 1218, 1218, 951, 951,
2324 951, 951, 951, 951, 951, 951, 951, 957, 2696, 957,
2326 2696, 2696, 957, 571, 571, 571, 2696, 2696, 2696, 571,
2327 966, 966, 966, 966, 2696, 2696, 966, 966, 597, 597,
2328 597, 597, 2696, 597, 2696, 597, 997, 997, 997, 997,
2329 2696, 2696, 997, 997, 601, 601, 601, 601, 2696, 601,
2330 2696, 601, 1007, 1007, 1007, 1007, 2696, 2696, 1007, 1007,
2331 609, 609, 609, 2696, 2696, 2696, 609, 1023, 1023, 1023,
2332 1023, 2696, 2696, 1023, 1023, 621, 621, 621, 2696, 2696,
2333 2696, 621, 1031, 1031, 1031, 1031, 2696, 2696, 1031, 1031,
2334 627, 627, 627, 2696, 2696, 2696, 627, 1039, 1039, 1039,
2335 1039, 2696, 2696, 1039, 1039, 641, 641, 641, 2696, 2696,
2337 2696, 641, 1056, 1056, 1056, 1056, 2696, 2696, 1056, 1056,
2338 647, 647, 647, 2696, 2696, 2696, 647, 1064, 1064, 1064,
2339 1064, 2696, 2696, 1064, 1064, 652, 652, 652, 652, 2696,
2340 652, 2696, 652, 1072, 1072, 1072, 1072, 2696, 2696, 1072,
2341 1072, 657, 657, 657, 657, 2696, 657, 2696, 657, 1078,
2342 1078, 1078, 1078, 2696, 2696, 1078, 1078, 662, 662, 662,
2343 2696, 2696, 2696, 662, 1090, 1090, 1090, 1090, 2696, 2696,
2344 1090, 1090, 671, 671, 671, 2696, 2696, 2696, 671, 1116,
2345 1116, 1116, 1116, 2696, 2696, 1116, 1116, 687, 687, 687,
2346 2696, 2696, 2696, 687, 1131, 1131, 1131, 1131, 2696, 2696,
2348 1131, 1131, 697, 697, 697, 2696, 2696, 2696, 697, 1139,
2349 1139, 1139, 1139, 2696, 2696, 1139, 1139, 702, 702, 702,
2350 2696, 2696, 2696, 702, 1150, 1150, 1150, 1150, 2696, 2696,
2351 1150, 1150, 710, 710, 710, 2696, 2696, 2696, 710, 1159,
2352 1159, 1159, 1159, 2696, 2696, 1159, 1159, 717, 717, 717,
2353 2696, 2696, 2696, 717, 1171, 1171, 1171, 1171, 2696, 2696,
2354 1171, 1171, 724, 724, 724, 2696, 2696, 2696, 724, 1179,
2355 1179, 1179, 1179, 2696, 2696, 1179, 1179, 729, 729, 729,
2356 2696, 2696, 2696, 729, 1189, 1189, 1189, 1189, 2696, 2696,
2357 1189, 1189, 735, 735, 735, 2696, 2696, 2696, 735, 1197,
2359 1197, 1197, 1197, 2696, 2696, 1197, 1197, 743, 743, 743,
2360 2696, 2696, 2696, 743, 1203, 1203, 1203, 1203, 2696, 2696,
2361 1203, 1203, 1210, 1210, 1210, 1210, 2696, 2696, 1210, 1210,
2362 751, 751, 751, 2696, 2696, 2696, 751, 1218, 1218, 1218,
2363 1218, 2696, 2696, 1218, 1218, 951, 951, 951, 951, 951,
2364 951, 951, 951, 951, 1392, 1392, 1392, 1392, 1392, 1392,
2365 1392, 1392, 1392, 571, 571, 571, 2696, 2696, 2696, 571,
2366 966, 966, 966, 966, 2696, 2696, 966, 966, 997, 997,
2367 997, 997, 2696, 2696, 997, 997, 601, 601, 601, 2696,
2368 2696, 2696, 601, 1007, 1007, 1007, 1007, 2696, 2696, 1007,
2370 1007, 609, 609, 609, 2696, 2696, 2696, 609, 1023, 1023,
2371 1023, 1023, 2696, 2696, 1023, 1023, 621, 621, 621, 2696,
2372 2696, 2696, 621, 1031, 1031, 1031, 1031, 2696, 2696, 1031,
2373 1031, 627, 627, 627, 2696, 2696, 2696, 627, 641, 641,
2374 641, 2696, 2696, 2696, 641, 1056, 1056, 1056, 1056, 2696,
2375 2696, 1056, 1056, 647, 647, 647, 2696, 2696, 2696, 647,
2376 1064, 1064, 1064, 1064, 2696, 2696, 1064, 1064, 1072, 1072,
2377 1072, 1072, 2696, 2696, 1072, 1072, 657, 657, 657, 2696,
2378 2696, 2696, 657, 1078, 1078, 1078, 1078, 2696, 2696, 1078,
2379 1078, 662, 662, 662, 2696, 2696, 2696, 662, 1090, 1090,
2381 1090, 1090, 2696, 2696, 1090, 1090, 671, 671, 671, 2696,
2382 2696, 2696, 671, 1116, 1116, 1116, 1116, 2696, 2696, 1116,
2383 1116, 687, 687, 687, 2696, 2696, 2696, 687, 1131, 1131,
2384 1131, 1131, 2696, 2696, 1131, 1131, 697, 697, 697, 2696,
2385 2696, 2696, 697, 1139, 1139, 1139, 1139, 2696, 2696, 1139,
2386 1139, 702, 702, 702, 2696, 2696, 2696, 702, 1150, 1150,
2387 1150, 1150, 2696, 2696, 1150, 1150, 710, 710, 710, 2696,
2388 2696, 2696, 710, 1159, 1159, 1159, 1159, 2696, 2696, 1159,
2389 1159, 717, 717, 717, 2696, 2696, 2696, 717, 1171, 1171,
2390 1171, 1171, 2696, 2696, 1171, 1171, 724, 724, 724, 2696,
2392 2696, 2696, 724, 1179, 1179, 1179, 1179, 2696, 2696, 1179,
2393 1179, 729, 729, 729, 2696, 2696, 2696, 729, 1189, 1189,
2394 1189, 1189, 2696, 2696, 1189, 1189, 735, 735, 735, 2696,
2395 2696, 2696, 735, 1197, 1197, 1197, 1197, 2696, 2696, 1197,
2396 1197, 743, 743, 743, 743, 2696, 743, 2696, 743, 1203,
2397 1203, 1203, 1203, 2696, 2696, 1203, 1203, 1210, 1210, 1210,
2398 1210, 2696, 2696, 1210, 1210, 751, 751, 751, 751, 2696,
2399 751, 2696, 751, 1218, 1218, 1218, 1218, 2696, 2696, 1218,
2400 1218, 951, 951, 951, 951, 951, 951, 951, 951, 951,
2401 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 571,
2403 571, 571, 2696, 2696, 2696, 571, 966, 966, 966, 966,
2404 2696, 2696, 966, 966, 997, 997, 997, 997, 2696, 2696,
2405 997, 997, 601, 601, 601, 2696, 2696, 2696, 601, 1007,
2406 1007, 1007, 1007, 2696, 2696, 1007, 1007, 609, 609, 609,
2407 2696, 2696, 2696, 609, 1023, 1023, 1023, 1023, 2696, 2696,
2408 1023, 1023, 621, 621, 621, 2696, 2696, 2696, 621, 1031,
2409 1031, 1031, 1031, 2696, 2696, 1031, 1031, 627, 627, 627,
2410 2696, 2696, 2696, 627, 641, 641, 641, 2696, 2696, 2696,
2411 641, 1056, 1056, 1056, 1056, 2696, 2696, 1056, 1056, 647,
2412 647, 647, 2696, 2696, 2696, 647, 1064, 1064, 1064, 1064,
2414 2696, 2696, 1064, 1064, 1072, 1072, 1072, 1072, 2696, 2696,
2415 1072, 1072, 657, 657, 657, 2696, 2696, 2696, 657, 1078,
2416 1078, 1078, 1078, 2696, 2696, 1078, 1078, 662, 662, 662,
2417 2696, 2696, 2696, 662, 1090, 1090, 1090, 1090, 2696, 2696,
2418 1090, 1090, 671, 671, 671, 2696, 2696, 2696, 671, 1116,
2419 1116, 1116, 1116, 2696, 2696, 1116, 1116, 687, 687, 687,
2420 2696, 2696, 2696, 687, 1131, 1131, 1131, 1131, 2696, 2696,
2421 1131, 1131, 697, 697, 697, 2696, 2696, 2696, 697, 1139,
2422 1139, 1139, 1139, 2696, 2696, 1139, 1139, 702, 702, 702,
2423 2696, 2696, 2696, 702, 1150, 1150, 1150, 1150, 2696, 2696,
2425 1150, 1150, 710, 710, 710, 2696, 2696, 2696, 710, 1159,
2426 1159, 1159, 1159, 2696, 2696, 1159, 1159, 717, 717, 717,
2427 717, 2696, 717, 2696, 717, 1171, 1171, 1171, 1171, 2696,
2428 2696, 1171, 1171, 724, 724, 724, 2696, 2696, 2696, 724,
2429 1179, 1179, 1179, 1179, 2696, 2696, 1179, 1179, 729, 729,
2430 729, 729, 2696, 729, 2696, 729, 1189, 1189, 1189, 1189,
2431 2696, 2696, 1189, 1189, 735, 735, 735, 2696, 2696, 2696,
2432 735, 1197, 1197, 1197, 1197, 2696, 2696, 1197, 1197, 1203,
2433 1203, 1203, 1203, 2696, 2696, 1203, 1203, 1210, 1210, 1210,
2434 1210, 2696, 2696, 1210, 1210, 1218, 1218, 1218, 1218, 2696,
2436 2696, 1218, 1218, 951, 951, 951, 951, 951, 951, 951,
2437 951, 951, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
2438 1392, 571, 571, 571, 571, 2696, 571, 2696, 571, 966,
2439 966, 966, 966, 2696, 2696, 966, 966, 997, 997, 997,
2440 997, 2696, 2696, 997, 997, 601, 601, 601, 2696, 2696,
2441 2696, 601, 1007, 1007, 1007, 1007, 2696, 2696, 1007, 1007,
2442 609, 609, 609, 2696, 2696, 2696, 609, 1023, 1023, 1023,
2443 1023, 2696, 2696, 1023, 1023, 621, 621, 621, 621, 2696,
2444 621, 2696, 621, 1031, 1031, 1031, 1031, 2696, 2696, 1031,
2445 1031, 627, 627, 627, 627, 2696, 627, 2696, 627, 641,
2447 641, 641, 641, 2696, 641, 2696, 641, 1056, 1056, 1056,
2448 1056, 2696, 2696, 1056, 1056, 647, 647, 647, 647, 2696,
2449 647, 2696, 647, 1064, 1064, 1064, 1064, 2696, 2696, 1064,
2450 1064, 1072, 1072, 1072, 1072, 2696, 2696, 1072, 1072, 657,
2451 657, 657, 657, 2696, 657, 2696, 657, 1078, 1078, 1078,
2452 1078, 2696, 2696, 1078, 1078, 662, 662, 662, 2696, 2696,
2453 2696, 662, 671, 671, 671, 2696, 2696, 2696, 671, 1116,
2454 1116, 1116, 1116, 2696, 2696, 1116, 1116, 687, 687, 687,
2455 2696, 2696, 2696, 687, 697, 697, 697, 2696, 2696, 2696,
2456 697, 1139, 1139, 1139, 1139, 2696, 2696, 1139, 1139, 702,
2458 702, 702, 2696, 2696, 2696, 702, 710, 710, 710, 2696,
2459 2696, 2696, 710, 1159, 1159, 1159, 1159, 2696, 2696, 1159,
2460 1159, 717, 717, 717, 2696, 2696, 2696, 717, 1171, 1171,
2461 1171, 1171, 2696, 2696, 1171, 1171, 724, 724, 724, 2696,
2462 2696, 2696, 724, 1179, 1179, 1179, 1179, 2696, 2696, 1179,
2463 1179, 1189, 1189, 1189, 1189, 2696, 2696, 1189, 1189, 735,
2464 735, 735, 2696, 2696, 2696, 735, 1197, 1197, 1197, 1197,
2465 2696, 2696, 1197, 1197, 1203, 1203, 1203, 1203, 2696, 2696,
2466 1203, 1203, 1210, 1210, 1210, 1210, 2696, 2696, 1210, 1210,
2467 951, 951, 951, 951, 951, 951, 951, 951, 951, 1392,
2469 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 966, 966,
2470 966, 966, 2696, 2696, 966, 966, 997, 997, 997, 997,
2471 2696, 2696, 997, 997, 601, 601, 601, 2696, 2696, 2696,
2472 601, 609, 609, 609, 2696, 2696, 2696, 609, 1023, 1023,
2473 1023, 1023, 2696, 2696, 1023, 1023, 1031, 1031, 1031, 1031,
2474 2696, 2696, 1031, 1031, 1056, 1056, 1056, 1056, 2696, 2696,
2475 1056, 1056, 1064, 1064, 1064, 1064, 2696, 2696, 1064, 1064,
2476 1078, 1078, 1078, 1078, 2696, 2696, 1078, 1078, 662, 662,
2477 662, 2696, 2696, 2696, 662, 671, 671, 671, 2696, 2696,
2478 2696, 671, 1116, 1116, 1116, 1116, 2696, 2696, 1116, 1116,
2480 687, 687, 687, 2696, 2696, 2696, 687, 697, 697, 697,
2481 2696, 2696, 2696, 697, 1139, 1139, 1139, 1139, 2696, 2696,
2482 1139, 1139, 702, 702, 702, 2696, 2696, 2696, 702, 710,
2483 710, 710, 2696, 2696, 2696, 710, 717, 717, 717, 2696,
2484 2696, 2696, 717, 1171, 1171, 1171, 1171, 2696, 2696, 1171,
2485 1171, 724, 724, 724, 2696, 2696, 2696, 724, 1179, 1179,
2486 1179, 1179, 2696, 2696, 1179, 1179, 1189, 1189, 1189, 1189,
2487 2696, 2696, 1189, 1189, 735, 735, 735, 735, 2696, 735,
2488 2696, 735, 1197, 1197, 1197, 1197, 2696, 2696, 1197, 1197,
2489 1203, 1203, 1203, 1203, 2696, 2696, 1203, 1203, 1210, 1210,
2491 1210, 1210, 2696, 2696, 1210, 1210, 951, 951, 951, 951,
2492 951, 951, 951, 951, 951, 1392, 1392, 1392, 1392, 1392,
2493 1392, 1392, 1392, 1392, 966, 966, 966, 966, 2696, 2696,
2494 966, 966, 997, 997, 997, 997, 2696, 2696, 997, 997,
2495 601, 601, 601, 2696, 2696, 2696, 601, 609, 609, 609,
2496 609, 2696, 609, 2696, 609, 2364, 2364, 2364, 2364, 2364,
2497 2364, 2364, 2364, 2364, 2365, 2365, 2365, 2365, 2365, 2365,
2498 2365, 2365, 2365, 2408, 2408, 2408, 2408, 2408, 2408, 2408,
2499 2408, 2408, 2411, 2411, 2411, 2411, 2411, 2411, 2411, 2411,
2500 2411, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439,
2502 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 221,
2503 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
2504 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
2505 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
2506 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
2507 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
2508 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
2509 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
2513 static yyconst flex_int16_t yy_chk[9683] =
2515 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2516 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2517 4, 10, 0, 5, 0, 9, 6, 0, 10, 7,
2518 8, 8, 8, 226, 11, 13, 13, 12, 14, 14,
2519 13, 13, 299, 14, 14, 227, 8, 17, 17, 226,
2520 13, 15, 15, 14, 15, 230, 15, 16, 16, 264,
2521 16, 227, 16, 18, 18, 264, 15, 19, 19, 19,
2522 333, 230, 16, 20, 20, 20, 23, 23, 23, 24,
2523 24, 24, 582, 19, 25, 25, 25, 299, 582, 20,
2524 327, 17, 23, 299, 582, 24, 224, 224, 224, 327,
2526 25, 225, 225, 225, 229, 229, 229, 18, 21, 21,
2527 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2528 21, 21, 21, 333, 21, 21, 21, 21, 21, 26,
2529 26, 26, 27, 27, 27, 28, 28, 28, 259, 29,
2530 29, 29, 30, 30, 30, 26, 330, 1445, 27, 248,
2531 253, 28, 259, 21, 21, 29, 330, 269, 30, 31,
2532 31, 31, 250, 250, 250, 248, 253, 257, 257, 257,
2533 266, 266, 266, 269, 1448, 31, 21, 22, 22, 22,
2534 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2535 22, 22, 348, 22, 22, 22, 22, 22, 32, 32,
2537 32, 33, 33, 33, 34, 34, 34, 248, 35, 35,
2538 35, 36, 36, 36, 32, 260, 335, 33, 335, 1455,
2539 34, 360, 22, 22, 35, 260, 261, 36, 37, 37,
2540 37, 38, 38, 38, 39, 39, 39, 40, 40, 40,
2541 41, 41, 41, 348, 37, 22, 410, 38, 279, 410,
2542 39, 329, 290, 40, 260, 261, 41, 42, 42, 42,
2543 260, 273, 273, 273, 279, 262, 260, 261, 290, 261,
2544 260, 261, 360, 42, 43, 43, 43, 43, 43, 43,
2545 43, 43, 43, 43, 43, 43, 43, 43, 43, 329,
2546 43, 43, 43, 43, 43, 45, 45, 45, 46, 46,
2548 46, 53, 53, 53, 262, 294, 1456, 49, 49, 294,
2549 306, 45, 49, 294, 46, 1457, 262, 53, 262, 43,
2550 43, 396, 49, 276, 276, 276, 306, 43, 44, 44,
2551 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2552 44, 44, 44, 326, 44, 44, 44, 44, 44, 1461,
2553 326, 49, 406, 50, 50, 54, 54, 54, 50, 55,
2554 55, 55, 56, 56, 56, 287, 287, 287, 50, 396,
2555 464, 54, 406, 44, 44, 55, 564, 464, 56, 564,
2556 1464, 44, 47, 47, 47, 47, 47, 47, 47, 47,
2557 47, 47, 47, 47, 47, 47, 47, 50, 47, 47,
2559 47, 47, 47, 57, 57, 57, 58, 58, 58, 59,
2560 59, 59, 296, 60, 60, 60, 63, 63, 63, 57,
2561 318, 340, 58, 274, 284, 59, 296, 47, 47, 60,
2562 274, 284, 63, 1468, 1477, 47, 318, 340, 47, 274,
2563 284, 298, 298, 298, 47, 48, 48, 48, 48, 48,
2564 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
2565 519, 48, 48, 48, 48, 48, 64, 64, 64, 67,
2566 67, 67, 68, 68, 68, 397, 69, 69, 69, 70,
2567 70, 70, 64, 353, 365, 67, 313, 371, 68, 376,
2568 48, 48, 69, 313, 371, 70, 1479, 519, 48, 353,
2570 365, 48, 313, 371, 240, 376, 1480, 48, 51, 51,
2571 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
2572 51, 51, 51, 397, 51, 51, 51, 51, 51, 71,
2573 71, 71, 72, 72, 72, 73, 73, 73, 398, 74,
2574 74, 74, 75, 75, 75, 71, 240, 387, 72, 403,
2575 382, 73, 240, 51, 51, 74, 240, 382, 75, 1488,
2576 452, 240, 51, 387, 51, 403, 382, 51, 303, 303,
2577 303, 452, 51, 51, 52, 52, 52, 52, 52, 52,
2578 52, 52, 52, 52, 52, 52, 52, 52, 52, 398,
2579 52, 52, 52, 52, 52, 76, 76, 76, 77, 77,
2581 77, 78, 78, 78, 456, 79, 79, 79, 80, 80,
2582 80, 76, 1391, 888, 77, 415, 411, 78, 888, 52,
2583 52, 79, 415, 1491, 80, 312, 312, 312, 52, 411,
2584 52, 415, 482, 52, 315, 315, 315, 1391, 52, 52,
2585 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
2586 61, 61, 61, 61, 61, 456, 61, 61, 61, 61,
2587 61, 81, 81, 81, 82, 82, 82, 83, 83, 83,
2588 412, 84, 84, 84, 85, 85, 85, 81, 1492, 482,
2589 82, 412, 412, 83, 478, 61, 61, 84, 420, 431,
2590 85, 478, 61, 323, 323, 323, 431, 61, 337, 337,
2592 337, 346, 346, 346, 420, 431, 61, 62, 62, 62,
2593 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
2594 62, 62, 555, 62, 62, 62, 62, 62, 86, 86,
2595 86, 87, 87, 87, 88, 88, 88, 555, 89, 89,
2596 89, 90, 90, 90, 86, 577, 436, 87, 577, 1496,
2597 88, 1503, 62, 62, 89, 447, 442, 90, 1504, 62,
2598 1505, 331, 436, 442, 62, 350, 350, 350, 358, 358,
2599 358, 447, 442, 62, 65, 65, 65, 65, 65, 65,
2600 65, 65, 65, 65, 65, 65, 65, 65, 65, 331,
2601 65, 65, 65, 65, 65, 91, 91, 91, 92, 92,
2603 92, 93, 93, 93, 331, 94, 94, 94, 95, 95,
2604 95, 91, 461, 474, 92, 586, 1506, 93, 586, 65,
2605 65, 94, 506, 1509, 95, 362, 362, 362, 461, 474,
2606 65, 370, 370, 370, 373, 373, 373, 521, 65, 66,
2607 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
2608 66, 66, 66, 66, 1513, 66, 66, 66, 66, 66,
2609 96, 96, 96, 99, 99, 99, 100, 100, 100, 506,
2610 101, 101, 101, 102, 102, 102, 96, 487, 498, 99,
2611 1516, 1518, 100, 542, 66, 66, 101, 1520, 521, 102,
2612 381, 381, 381, 487, 498, 66, 384, 384, 384, 395,
2614 395, 395, 1521, 66, 97, 97, 97, 97, 97, 97,
2615 97, 97, 97, 97, 97, 97, 97, 97, 97, 1522,
2616 97, 97, 97, 97, 97, 103, 103, 103, 104, 104,
2617 104, 105, 105, 105, 542, 106, 106, 106, 400, 400,
2618 400, 103, 511, 526, 104, 1525, 493, 105, 581, 97,
2619 97, 106, 581, 493, 97, 414, 414, 414, 511, 526,
2620 97, 467, 493, 97, 98, 98, 98, 98, 98, 98,
2621 98, 98, 98, 98, 98, 98, 98, 98, 98, 1527,
2622 98, 98, 98, 98, 98, 109, 109, 109, 110, 110,
2623 110, 111, 111, 111, 1529, 112, 112, 112, 417, 417,
2625 417, 109, 520, 536, 110, 547, 531, 111, 467, 98,
2626 98, 112, 467, 531, 98, 430, 430, 430, 605, 536,
2627 98, 547, 531, 98, 107, 107, 107, 107, 107, 107,
2628 107, 107, 107, 107, 107, 107, 107, 107, 107, 520,
2629 107, 107, 107, 107, 107, 113, 113, 113, 114, 114,
2630 114, 115, 115, 115, 605, 116, 116, 116, 119, 119,
2631 119, 113, 1534, 1539, 114, 583, 587, 115, 669, 107,
2632 107, 116, 669, 1543, 119, 433, 433, 433, 583, 587,
2633 107, 441, 441, 441, 444, 444, 444, 454, 454, 454,
2634 107, 108, 108, 108, 108, 108, 108, 108, 108, 108,
2636 108, 108, 108, 108, 108, 108, 1544, 108, 108, 108,
2637 108, 108, 120, 120, 120, 123, 123, 123, 124, 124,
2638 124, 1546, 127, 127, 127, 128, 128, 128, 120, 589,
2639 757, 123, 589, 591, 124, 1558, 108, 108, 127, 591,
2640 1556, 128, 458, 458, 458, 591, 757, 108, 466, 466,
2641 466, 471, 471, 471, 480, 480, 480, 108, 117, 117,
2642 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
2643 117, 117, 117, 1556, 117, 117, 117, 117, 117, 129,
2644 129, 129, 130, 130, 130, 131, 131, 131, 1561, 132,
2645 132, 132, 133, 133, 133, 129, 593, 1562, 130, 593,
2647 594, 131, 1563, 117, 117, 132, 594, 1564, 133, 484,
2648 484, 484, 594, 1566, 117, 492, 492, 492, 117, 118,
2649 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
2650 118, 118, 118, 118, 1567, 118, 118, 118, 118, 118,
2651 134, 134, 134, 137, 137, 137, 138, 138, 138, 1569,
2652 141, 141, 141, 142, 142, 142, 134, 664, 1570, 137,
2653 664, 595, 138, 1571, 118, 118, 141, 595, 1575, 142,
2654 495, 495, 495, 595, 1577, 118, 504, 504, 504, 118,
2655 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
2656 121, 121, 121, 121, 121, 1580, 121, 121, 121, 121,
2658 121, 145, 145, 145, 146, 146, 146, 149, 149, 149,
2659 1581, 150, 150, 150, 151, 151, 151, 145, 954, 1582,
2660 146, 1555, 954, 149, 1221, 121, 121, 150, 1554, 1584,
2661 151, 508, 508, 508, 518, 518, 518, 523, 523, 523,
2662 121, 530, 530, 530, 1221, 1554, 121, 122, 122, 122,
2663 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
2664 122, 122, 1555, 122, 122, 122, 122, 122, 152, 152,
2665 152, 153, 153, 153, 154, 154, 154, 982, 155, 155,
2666 155, 156, 156, 156, 152, 1586, 1587, 153, 1589, 982,
2667 154, 1591, 122, 122, 155, 1594, 1595, 156, 533, 533,
2669 533, 540, 540, 540, 544, 544, 544, 122, 552, 552,
2670 552, 1597, 1598, 122, 125, 125, 125, 125, 125, 125,
2671 125, 125, 125, 125, 125, 125, 125, 125, 125, 1599,
2672 125, 125, 125, 125, 125, 159, 159, 159, 160, 160,
2673 160, 161, 161, 161, 1596, 162, 162, 162, 1601, 553,
2674 1600, 159, 1596, 1607, 160, 1608, 553, 161, 1600, 125,
2675 125, 162, 125, 619, 125, 553, 554, 554, 554, 619,
2676 125, 563, 563, 563, 1611, 619, 125, 1622, 1623, 125,
2677 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
2678 126, 126, 126, 126, 126, 1628, 126, 126, 126, 126,
2680 126, 163, 163, 163, 164, 164, 164, 165, 165, 165,
2681 1629, 166, 166, 166, 603, 603, 603, 163, 1630, 635,
2682 164, 638, 639, 165, 871, 126, 126, 166, 126, 563,
2683 126, 603, 635, 871, 638, 639, 126, 760, 760, 760,
2684 871, 760, 126, 1634, 1635, 126, 135, 135, 135, 135,
2685 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
2686 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
2687 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
2688 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
2689 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
2691 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
2692 135, 135, 135, 135, 135, 135, 135, 135, 139, 139,
2693 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
2694 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
2695 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
2696 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
2697 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
2698 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
2699 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
2700 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
2702 143, 143, 143, 143, 143, 1641, 143, 143, 143, 143,
2703 143, 169, 169, 169, 170, 170, 170, 171, 171, 171,
2704 993, 172, 172, 172, 611, 611, 611, 169, 1648, 1649,
2705 170, 1650, 993, 171, 1654, 143, 143, 172, 1660, 1664,
2706 143, 611, 969, 969, 969, 1667, 143, 144, 144, 144,
2707 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2708 144, 144, 1669, 144, 144, 144, 144, 144, 173, 173,
2709 173, 174, 174, 174, 175, 175, 175, 1026, 176, 176,
2710 176, 628, 628, 628, 173, 1450, 1671, 174, 1673, 1026,
2711 175, 1450, 144, 144, 176, 1450, 1674, 144, 628, 1450,
2713 772, 772, 772, 144, 147, 147, 147, 147, 147, 147,
2714 147, 147, 147, 147, 147, 147, 147, 147, 147, 1675,
2715 147, 147, 147, 147, 147, 179, 179, 179, 180, 180,
2716 180, 183, 183, 183, 1678, 184, 184, 184, 185, 185,
2717 185, 179, 1680, 1685, 180, 1687, 1694, 183, 1695, 147,
2718 147, 184, 1696, 147, 185, 791, 791, 791, 1698, 1709,
2719 147, 1712, 147, 772, 1711, 1709, 830, 830, 830, 147,
2720 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
2721 148, 148, 148, 148, 148, 1717, 148, 148, 148, 148,
2722 148, 186, 186, 186, 187, 187, 187, 188, 188, 188,
2724 1718, 189, 189, 189, 190, 190, 190, 186, 1722, 1711,
2725 187, 1723, 1724, 188, 1729, 148, 148, 189, 791, 148,
2726 190, 1735, 1737, 802, 802, 802, 148, 802, 148, 830,
2727 802, 836, 836, 836, 1738, 148, 157, 157, 157, 157,
2728 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
2729 157, 1741, 157, 157, 157, 157, 157, 193, 193, 193,
2730 194, 194, 194, 195, 195, 195, 1744, 196, 196, 196,
2731 197, 197, 197, 193, 1748, 1749, 194, 1750, 1751, 195,
2732 1752, 157, 157, 196, 1753, 1754, 197, 157, 810, 810,
2733 810, 1755, 810, 1756, 836, 810, 989, 989, 989, 1757,
2735 1762, 157, 158, 158, 158, 158, 158, 158, 158, 158,
2736 158, 158, 158, 158, 158, 158, 158, 1776, 158, 158,
2737 158, 158, 158, 198, 198, 198, 199, 199, 199, 200,
2738 200, 200, 1777, 203, 203, 203, 204, 204, 204, 198,
2739 1780, 1781, 199, 1778, 1782, 200, 1786, 158, 158, 203,
2740 1792, 1778, 204, 158, 826, 826, 826, 1779, 826, 1793,
2741 1794, 826, 1235, 1235, 1235, 1779, 1799, 158, 167, 167,
2742 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
2743 167, 167, 167, 1803, 167, 167, 167, 167, 167, 207,
2744 207, 207, 208, 208, 208, 209, 209, 209, 1710, 210,
2746 210, 210, 211, 211, 211, 207, 1451, 1804, 208, 1805,
2747 1807, 209, 1451, 167, 167, 210, 1451, 1810, 211, 167,
2748 1451, 1811, 167, 841, 841, 841, 1814, 841, 1815, 1710,
2749 841, 1818, 1825, 167, 168, 168, 168, 168, 168, 168,
2750 168, 168, 168, 168, 168, 168, 168, 168, 168, 1827,
2751 168, 168, 168, 168, 168, 212, 212, 212, 213, 213,
2752 213, 214, 214, 214, 1812, 217, 217, 217, 218, 218,
2753 218, 212, 1812, 1840, 213, 1853, 1861, 214, 1813, 168,
2754 168, 217, 1845, 324, 218, 168, 1813, 325, 168, 1237,
2755 1237, 1237, 1844, 324, 1862, 1866, 332, 325, 1868, 168,
2757 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
2758 177, 177, 177, 177, 177, 1880, 177, 177, 177, 177,
2759 177, 324, 643, 643, 643, 325, 1881, 324, 1845, 1882,
2760 324, 648, 648, 648, 1844, 1237, 324, 324, 325, 643,
2761 332, 332, 325, 332, 1883, 177, 177, 1884, 648, 332,
2762 332, 177, 1240, 1240, 1240, 1885, 177, 178, 178, 178,
2763 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
2764 178, 178, 1886, 178, 178, 178, 178, 178, 653, 653,
2765 653, 665, 665, 665, 674, 674, 674, 676, 676, 676,
2766 691, 691, 691, 1887, 1888, 653, 1889, 1895, 665, 1897,
2768 1910, 674, 178, 178, 676, 1911, 1912, 691, 178, 1243,
2769 1243, 1243, 1913, 178, 181, 181, 181, 181, 181, 181,
2770 181, 181, 181, 181, 181, 181, 181, 181, 181, 1914,
2771 181, 181, 181, 181, 181, 699, 699, 699, 704, 704,
2772 704, 726, 726, 726, 748, 748, 748, 752, 752, 752,
2773 1915, 1916, 699, 1918, 1919, 704, 1924, 1925, 726, 181,
2774 181, 748, 1927, 1928, 752, 181, 1929, 1930, 181, 846,
2775 846, 846, 1937, 846, 1938, 1939, 846, 1940, 1941, 181,
2776 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
2777 182, 182, 182, 182, 182, 1942, 182, 182, 182, 182,
2779 182, 770, 770, 770, 771, 771, 771, 1943, 1944, 798,
2780 798, 798, 799, 799, 799, 801, 801, 801, 1946, 770,
2781 1966, 1970, 771, 1971, 1972, 182, 182, 798, 1975, 1979,
2782 799, 182, 801, 1980, 182, 851, 851, 851, 1961, 851,
2783 1981, 1982, 851, 1983, 1984, 182, 191, 191, 191, 191,
2784 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
2785 191, 771, 191, 191, 191, 191, 191, 805, 805, 805,
2786 1961, 799, 806, 806, 806, 1985, 809, 809, 809, 811,
2787 811, 811, 817, 817, 817, 805, 1986, 813, 813, 813,
2788 806, 191, 191, 809, 1987, 1988, 811, 1962, 1990, 191,
2790 817, 191, 1991, 191, 813, 1252, 1252, 1252, 1277, 1277,
2791 1277, 191, 192, 192, 192, 192, 192, 192, 192, 192,
2792 192, 192, 192, 192, 192, 192, 192, 1996, 192, 192,
2793 192, 192, 192, 1997, 1962, 806, 823, 823, 823, 1998,
2794 2000, 824, 824, 824, 2004, 2005, 818, 818, 818, 825,
2795 825, 825, 2008, 2012, 823, 2013, 2015, 192, 192, 824,
2796 1288, 1288, 1288, 2018, 818, 192, 825, 192, 2019, 192,
2797 1289, 1289, 1289, 1406, 1406, 1406, 2020, 192, 201, 201,
2798 201, 201, 201, 201, 201, 201, 201, 201, 201, 201,
2799 201, 201, 201, 818, 201, 201, 201, 201, 201, 828,
2801 828, 828, 2021, 2023, 824, 2026, 2028, 829, 829, 829,
2802 840, 840, 840, 843, 843, 843, 1289, 828, 844, 844,
2803 844, 2050, 2051, 201, 201, 829, 2052, 840, 845, 845,
2804 845, 843, 2045, 863, 863, 863, 844, 863, 2046, 2053,
2805 863, 1408, 1408, 1408, 829, 845, 201, 202, 202, 202,
2806 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
2807 202, 202, 2047, 202, 202, 202, 202, 202, 848, 848,
2808 848, 2045, 849, 849, 849, 2046, 2059, 850, 850, 850,
2809 853, 853, 853, 844, 2060, 2061, 848, 854, 854, 854,
2810 849, 2062, 202, 202, 850, 857, 857, 857, 853, 873,
2812 873, 873, 2063, 873, 2047, 854, 873, 876, 876, 876,
2813 2064, 876, 2065, 857, 876, 202, 205, 205, 205, 205,
2814 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
2815 205, 2066, 205, 205, 205, 205, 205, 849, 858, 858,
2816 858, 862, 862, 862, 1410, 1410, 1410, 854, 866, 866,
2817 866, 867, 867, 867, 2067, 2068, 858, 2070, 862, 2071,
2818 2075, 205, 205, 891, 891, 891, 866, 891, 2081, 867,
2819 891, 2082, 205, 206, 206, 206, 206, 206, 206, 206,
2820 206, 206, 206, 206, 206, 206, 206, 206, 2086, 206,
2821 206, 206, 206, 206, 2089, 872, 872, 872, 875, 875,
2823 875, 2097, 858, 877, 877, 877, 885, 885, 885, 2098,
2824 2099, 867, 872, 2123, 2124, 875, 2119, 2120, 206, 206,
2825 877, 899, 899, 899, 885, 899, 2125, 2128, 899, 206,
2826 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
2827 215, 215, 215, 215, 215, 2119, 215, 215, 215, 215,
2828 215, 890, 890, 890, 892, 892, 892, 2056, 2120, 895,
2829 895, 895, 2129, 886, 886, 886, 2131, 2056, 890, 2132,
2830 2056, 892, 896, 896, 896, 215, 215, 895, 898, 898,
2831 898, 886, 1412, 1412, 1412, 2135, 215, 904, 904, 904,
2832 896, 904, 2136, 2137, 904, 898, 2138, 2140, 215, 216,
2834 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
2835 216, 216, 216, 216, 2141, 216, 216, 216, 216, 216,
2836 886, 2142, 2143, 896, 900, 900, 900, 2107, 901, 901,
2837 901, 903, 903, 903, 908, 908, 908, 2107, 909, 909,
2838 909, 2121, 900, 2107, 216, 216, 901, 2147, 903, 910,
2839 910, 910, 908, 2155, 2156, 216, 909, 911, 911, 911,
2840 912, 912, 912, 913, 913, 913, 910, 216, 258, 2157,
2841 2130, 914, 914, 914, 911, 258, 2161, 912, 916, 916,
2842 916, 913, 2121, 2130, 258, 258, 2169, 2171, 901, 914,
2843 917, 917, 917, 909, 2179, 916, 2180, 2181, 918, 918,
2845 918, 1357, 1357, 1357, 919, 919, 919, 917, 2182, 920,
2846 920, 920, 258, 258, 258, 918, 2183, 2184, 912, 258,
2847 258, 919, 258, 258, 2194, 2133, 258, 920, 258, 258,
2848 258, 914, 921, 921, 921, 923, 923, 923, 2133, 2190,
2849 917, 924, 924, 924, 2189, 924, 2195, 1357, 924, 2199,
2850 921, 2200, 923, 2201, 917, 925, 925, 925, 926, 926,
2851 926, 2202, 919, 927, 927, 927, 928, 928, 928, 921,
2852 929, 929, 929, 925, 2190, 2203, 926, 930, 930, 930,
2853 927, 2204, 2205, 928, 931, 931, 931, 929, 936, 936,
2854 936, 2189, 937, 937, 937, 930, 940, 940, 940, 941,
2856 941, 941, 931, 942, 942, 942, 936, 946, 946, 946,
2857 937, 2206, 2208, 926, 940, 2209, 928, 941, 2210, 2211,
2858 942, 943, 943, 943, 946, 943, 2212, 2213, 943, 2214,
2859 928, 944, 944, 944, 945, 945, 945, 947, 947, 947,
2860 2057, 947, 2215, 2222, 947, 949, 949, 949, 2226, 944,
2861 2057, 2227, 945, 2057, 931, 937, 950, 950, 950, 965,
2862 965, 965, 941, 949, 966, 966, 966, 968, 968, 968,
2863 995, 995, 995, 2228, 950, 2229, 2236, 965, 996, 996,
2864 996, 2239, 966, 2246, 2247, 968, 2248, 995, 997, 997,
2865 997, 999, 999, 999, 945, 2249, 996, 2108, 1000, 1000,
2867 1000, 1001, 1001, 1001, 2250, 1001, 997, 2108, 1001, 999,
2868 1004, 1004, 1004, 2108, 968, 1000, 1006, 1006, 1006, 950,
2869 1007, 1007, 1007, 2241, 1009, 1009, 1009, 1004, 1011, 1011,
2870 1011, 2242, 1011, 2241, 1006, 1011, 2251, 2260, 1007, 2244,
2871 999, 2242, 1009, 1014, 1014, 1014, 1015, 1015, 1015, 2244,
2872 1015, 2261, 2262, 1015, 2263, 1016, 1016, 1016, 2264, 2265,
2873 1014, 1017, 1017, 1017, 1020, 1020, 1020, 1022, 1022, 1022,
2874 1004, 1009, 1016, 1018, 1018, 1018, 2266, 1018, 1017, 2267,
2875 1018, 1020, 1023, 1023, 1023, 1022, 1025, 1025, 1025, 1028,
2876 1028, 1028, 1030, 1030, 1030, 1031, 1031, 1031, 2253, 2270,
2878 1023, 1033, 1033, 1033, 1025, 2271, 1028, 1034, 1034, 1034,
2879 1030, 1034, 2273, 1031, 1034, 1038, 1038, 1038, 2274, 1033,
2880 1039, 1039, 1039, 1041, 1041, 1041, 2275, 1051, 1051, 1051,
2881 2245, 1051, 2253, 1038, 1051, 1055, 1055, 1055, 1039, 2277,
2882 2245, 1041, 1056, 1056, 1056, 1025, 2284, 2285, 1033, 1058,
2883 1058, 1058, 2286, 1055, 1059, 1059, 1059, 2288, 1059, 2294,
2884 1056, 1059, 1063, 1063, 1063, 2295, 2296, 1058, 1064, 1064,
2885 1064, 1066, 1066, 1066, 1067, 1067, 1067, 2297, 1067, 2298,
2886 1063, 1067, 1070, 1070, 1070, 2299, 1064, 2300, 2301, 1066,
2887 1071, 1071, 1071, 1072, 1072, 1072, 1074, 1074, 1074, 1070,
2889 1075, 1075, 1075, 1076, 1076, 1076, 2302, 2303, 1071, 1058,
2890 2305, 1072, 2306, 2318, 1074, 2310, 2319, 1075, 2320, 2321,
2891 1076, 1077, 1077, 1077, 1078, 1078, 1078, 1080, 1080, 1080,
2892 2322, 1066, 2323, 1083, 1083, 1083, 1084, 1084, 1084, 1077,
2893 1084, 2324, 1078, 1084, 2325, 1080, 1089, 1089, 1089, 1076,
2894 1083, 1090, 1090, 1090, 1092, 1092, 1092, 2310, 2329, 1099,
2895 1099, 1099, 1074, 1099, 1089, 2330, 1099, 2331, 2332, 1090,
2896 2333, 2334, 1092, 1102, 1102, 1102, 1103, 1103, 1103, 2338,
2897 1103, 2339, 2340, 1103, 1106, 1106, 1106, 1107, 1107, 1107,
2898 1102, 1107, 1080, 2343, 1107, 1115, 1115, 1115, 1116, 1116,
2900 1116, 1106, 1118, 1118, 1118, 1123, 1123, 1123, 2348, 1123,
2901 2349, 2350, 1123, 1115, 2351, 2352, 1116, 2353, 1092, 2354,
2902 1118, 1126, 1126, 1126, 1127, 1127, 1127, 2355, 1127, 2356,
2903 2357, 1127, 1130, 1130, 1130, 1131, 1131, 1131, 1126, 1133,
2904 1133, 1133, 1135, 1135, 1135, 2358, 1135, 2359, 2366, 1135,
2905 1130, 2369, 2370, 1131, 1138, 1138, 1138, 1133, 1139, 1139,
2906 1139, 1141, 1141, 1141, 1149, 1149, 1149, 2360, 1118, 1150,
2907 1150, 1150, 1138, 1143, 1143, 1143, 1139, 1143, 2363, 1141,
2908 1143, 2373, 1149, 1152, 1152, 1152, 2362, 1150, 2375, 2363,
2909 1133, 1153, 1153, 1153, 2376, 1154, 1154, 1154, 2378, 1154,
2911 2362, 1152, 1154, 1155, 1155, 1155, 2379, 2382, 1153, 1156,
2912 1156, 1156, 2360, 1156, 2383, 2384, 1156, 1158, 1158, 1158,
2913 1155, 1159, 1159, 1159, 1163, 1163, 1163, 1141, 1161, 1161,
2914 1161, 1167, 1167, 1167, 2388, 1158, 1164, 1164, 1164, 1159,
2915 1164, 1163, 1152, 1164, 2396, 2398, 1161, 2400, 1167, 1168,
2916 1168, 1168, 2402, 1168, 2409, 2409, 1168, 1170, 1170, 1170,
2917 1171, 1171, 1171, 1173, 1173, 1173, 1175, 1175, 1175, 2407,
2918 1175, 2410, 2412, 1175, 2414, 1170, 2415, 2416, 1171, 2417,
2919 2426, 1173, 1178, 1178, 1178, 1179, 1179, 1179, 1181, 1181,
2920 1181, 1182, 1182, 1182, 1161, 1183, 1183, 1183, 2428, 1183,
2922 1178, 2431, 1183, 1179, 2386, 2425, 1181, 2387, 1182, 2407,
2923 1186, 1186, 1186, 1187, 1187, 1187, 2386, 1187, 2433, 2387,
2924 1187, 1188, 1188, 1188, 2425, 2393, 1173, 1186, 1189, 1189,
2925 1189, 1191, 1191, 1191, 1193, 1193, 1193, 2393, 2394, 1188,
2926 1196, 1196, 1196, 1197, 1197, 1197, 1189, 1181, 2411, 1191,
2927 2394, 1193, 1199, 1199, 1199, 1202, 1202, 1202, 1196, 2411,
2928 2427, 1197, 1203, 1203, 1203, 1205, 1205, 1205, 2408, 2439,
2929 1199, 2430, 2432, 1202, 1206, 1206, 1206, 2440, 1206, 2427,
2930 1203, 1206, 2408, 1205, 1209, 1209, 1209, 1210, 1210, 1210,
2931 2430, 2432, 1191, 1212, 1212, 1212, 1213, 1213, 1213, 2441,
2933 1213, 2443, 1209, 1213, 2444, 1210, 1217, 1217, 1217, 2445,
2934 2446, 1212, 1199, 1218, 1218, 1218, 2453, 2454, 1205, 1220,
2935 1220, 1220, 2455, 2456, 1217, 1222, 1222, 1222, 1229, 1229,
2936 1229, 1218, 1255, 1255, 1255, 2457, 2458, 1220, 1256, 1256,
2937 1256, 2461, 1256, 1222, 1222, 1256, 1229, 2462, 2463, 1255,
2938 2464, 2465, 1212, 1257, 1257, 1257, 1258, 1258, 1258, 1259,
2939 1259, 1259, 2466, 1259, 2468, 2470, 1259, 1262, 1262, 1262,
2940 2472, 1257, 2482, 1258, 1264, 1264, 1264, 2483, 1264, 1220,
2941 2480, 1264, 1267, 1267, 1267, 1262, 2484, 1268, 1268, 1268,
2942 2481, 1268, 2480, 1229, 1268, 2485, 1269, 1269, 1269, 1267,
2944 1269, 2486, 2481, 1269, 1273, 1273, 1273, 1274, 1274, 1274,
2945 1257, 1274, 2487, 2491, 1274, 2492, 1262, 1276, 1276, 1276,
2946 2493, 1273, 1279, 1279, 1279, 1280, 1280, 1280, 2494, 1280,
2947 2495, 2496, 1280, 2499, 2497, 1276, 1281, 1281, 1281, 1279,
2948 1282, 1282, 1282, 1284, 1284, 1284, 1295, 1295, 1295, 2500,
2949 1296, 1296, 1296, 1281, 1298, 1298, 1298, 2501, 1282, 2497,
2950 2502, 1284, 2503, 1295, 1299, 1299, 1299, 1276, 1296, 1300,
2951 1300, 1300, 1298, 1300, 2504, 2505, 1300, 1301, 1301, 1301,
2952 2506, 1299, 1302, 1302, 1302, 2507, 1303, 1303, 1303, 1282,
2953 1303, 2508, 2509, 1303, 2510, 1301, 1305, 1305, 1305, 1302,
2955 2511, 1308, 1308, 1308, 1309, 1309, 1309, 2512, 1309, 2513,
2956 2514, 1309, 2515, 1296, 1305, 2516, 2517, 1298, 1308, 2520,
2957 1310, 1310, 1310, 1311, 1311, 1311, 1312, 1312, 1312, 1316,
2958 1316, 1316, 1319, 1319, 1319, 2517, 1301, 1310, 2521, 2522,
2959 1311, 1320, 1320, 1320, 1312, 1320, 1316, 2523, 1320, 1319,
2960 1321, 1321, 1321, 2524, 1321, 2525, 1305, 1321, 1324, 1324,
2961 1324, 1331, 1331, 1331, 1333, 1333, 1333, 2526, 2527, 1311,
2962 1336, 1336, 1336, 2528, 1336, 1324, 2529, 1336, 2530, 1331,
2963 2531, 1333, 1339, 1339, 1339, 1341, 1341, 1341, 1343, 1343,
2964 1343, 1312, 1347, 1347, 1347, 1348, 1348, 1348, 2532, 1339,
2966 1349, 1349, 1349, 1341, 1349, 2533, 1343, 1349, 2534, 1347,
2967 1352, 1352, 1352, 1348, 1352, 2535, 2537, 1352, 1356, 1356,
2968 1356, 2538, 1358, 1358, 1358, 1331, 1358, 2539, 2540, 1358,
2969 1363, 1363, 1363, 2541, 1363, 2542, 1356, 1363, 1347, 1367,
2970 1367, 1367, 1369, 1369, 1369, 1370, 1370, 1370, 1341, 1370,
2971 2543, 1348, 1370, 1343, 1375, 1375, 1375, 1367, 1375, 2536,
2972 1369, 1375, 1378, 1378, 1378, 1380, 1380, 1380, 1381, 1381,
2973 1381, 2544, 1381, 2545, 2546, 1381, 1384, 1384, 1384, 2536,
2974 1378, 2547, 1380, 1356, 1386, 1386, 1386, 1387, 1387, 1387,
2975 1388, 1388, 1388, 2548, 1384, 1389, 1389, 1389, 1369, 1367,
2977 2549, 1386, 1390, 1390, 1390, 1387, 2550, 2551, 1388, 1378,
2978 2552, 2554, 1389, 1393, 1393, 1393, 1400, 1400, 1400, 2555,
2979 1390, 1415, 1415, 1415, 2553, 1384, 1417, 1417, 1417, 2556,
2980 2553, 1393, 2557, 2558, 1400, 1419, 1419, 1419, 1424, 1424,
2981 1424, 2559, 1388, 2561, 1426, 1426, 1426, 1427, 1427, 1427,
2982 2562, 1427, 2564, 1387, 1427, 1430, 1430, 1430, 1431, 1431,
2983 1431, 2565, 1431, 1390, 1393, 1431, 2567, 2568, 1400, 1436,
2984 1436, 1436, 2571, 1430, 2572, 1438, 1438, 1438, 2573, 1438,
2985 1393, 1419, 1438, 2574, 1442, 1442, 1442, 1436, 1442, 1417,
2986 1426, 1442, 1446, 1446, 1446, 1447, 1447, 1447, 1449, 1449,
2988 1449, 2576, 1449, 2570, 2578, 1449, 1452, 1452, 1452, 2580,
2989 1446, 1453, 1453, 1453, 2582, 1453, 2584, 2570, 1453, 2585,
2990 1436, 1430, 2586, 1452, 1454, 1454, 1454, 1458, 1458, 1458,
2991 1459, 1459, 1459, 1460, 1460, 1460, 1462, 1462, 1462, 1463,
2992 1463, 1463, 1454, 1465, 1465, 1465, 1466, 1466, 1466, 2587,
2993 1466, 2588, 1446, 1466, 1467, 1467, 1467, 1484, 1484, 1484,
2994 1465, 1469, 1469, 1469, 1470, 1470, 1470, 2589, 1470, 2590,
2995 2591, 1470, 1467, 2593, 1484, 1454, 1473, 1473, 1473, 1469,
2996 1474, 1474, 1474, 2595, 1474, 2597, 2598, 1474, 1478, 1478,
2997 1478, 1481, 1481, 1481, 1473, 1481, 1460, 2599, 1481, 1462,
2999 2600, 1467, 1463, 1485, 1485, 1485, 1478, 1485, 1469, 2601,
3000 1485, 1486, 1486, 1486, 1487, 1487, 1487, 2602, 1487, 2609,
3001 2629, 1487, 1489, 1489, 1489, 1490, 1490, 1490, 1486, 1493,
3002 1493, 1493, 1494, 1494, 1494, 2623, 1494, 2610, 2630, 1494,
3003 1489, 1473, 1495, 1495, 1495, 2601, 1493, 2611, 1497, 1497,
3004 1497, 1478, 1497, 2602, 2627, 1497, 1500, 1500, 1500, 1495,
3005 1501, 1501, 1501, 2612, 1501, 2629, 2609, 1501, 1502, 1502,
3006 1502, 1441, 2623, 1500, 1507, 1507, 1507, 1508, 1508, 1508,
3007 1510, 1510, 1510, 2630, 2610, 1502, 1511, 1511, 1511, 2627,
3008 1511, 1507, 2615, 1511, 2611, 1508, 2615, 1510, 1512, 1512,
3010 1512, 1514, 1514, 1514, 1515, 1515, 1515, 2613, 1515, 2617,
3011 2612, 1515, 1517, 1517, 1517, 1512, 2621, 2617, 1514, 1519,
3012 1519, 1519, 1523, 1523, 1523, 1524, 1524, 1524, 2614, 1524,
3013 1517, 2622, 1524, 1526, 1526, 1526, 2616, 1519, 1437, 1523,
3014 2616, 2618, 1508, 1528, 1528, 1528, 1530, 1530, 1530, 2618,
3015 2613, 1526, 1531, 1531, 1531, 1532, 1532, 1532, 1533, 1533,
3016 1533, 1528, 2621, 1530, 1535, 1535, 1535, 2628, 1435, 1531,
3017 1519, 2614, 1532, 1536, 1536, 1536, 1533, 2622, 1537, 1537,
3018 1537, 2619, 1535, 1538, 1538, 1538, 1545, 1545, 1545, 2619,
3019 1536, 1547, 1547, 1547, 1528, 1537, 1540, 1540, 1540, 2624,
3021 1540, 1538, 2628, 1540, 1545, 1548, 1548, 1548, 1547, 1548,
3022 1535, 2620, 1548, 1549, 1549, 1549, 1434, 2641, 1532, 2620,
3023 1550, 1550, 1550, 2637, 1533, 1551, 1551, 1551, 1552, 1552,
3024 1552, 1549, 1552, 2631, 1425, 1552, 2624, 1545, 1550, 1553,
3025 1553, 1553, 1551, 1559, 1559, 1559, 1423, 1538, 1560, 1560,
3026 1560, 1565, 1565, 1565, 1568, 1568, 1568, 1553, 2637, 2641,
3027 1559, 1572, 1572, 1572, 1422, 1421, 1560, 1573, 1573, 1573,
3028 2631, 1549, 1574, 1574, 1574, 1550, 1576, 1576, 1576, 1578,
3029 1578, 1578, 1579, 1579, 1579, 1583, 1583, 1583, 1585, 1585,
3030 1585, 1588, 1588, 1588, 1590, 1590, 1590, 1592, 1592, 1592,
3032 1593, 1593, 1593, 1602, 1602, 1602, 1585, 1602, 1560, 1588,
3033 1602, 1590, 1605, 1605, 1605, 1592, 2625, 1593, 1606, 1606,
3034 1606, 1609, 1609, 1609, 1610, 1610, 1610, 1612, 1612, 1612,
3035 1605, 2632, 1613, 1613, 1613, 1606, 1613, 2626, 1585, 1613,
3036 2643, 1616, 1616, 1616, 1612, 1617, 1617, 1617, 1618, 1618,
3037 1618, 1619, 1619, 1619, 2647, 1592, 2625, 1420, 1605, 1616,
3038 1418, 2633, 1617, 1620, 1620, 1620, 1618, 1416, 2632, 1619,
3039 1621, 1621, 1621, 2639, 1624, 1624, 1624, 2626, 1624, 1414,
3040 1620, 1624, 1627, 1627, 1627, 2643, 1627, 2647, 1621, 1627,
3041 1631, 1631, 1631, 2633, 1616, 1633, 1633, 1633, 1636, 1636,
3043 1636, 1618, 1636, 2640, 2634, 1636, 2635, 2639, 1631, 1639,
3044 1639, 1639, 1640, 1640, 1640, 2635, 1640, 1621, 2651, 1640,
3045 1642, 1642, 1642, 2638, 1642, 2636, 1639, 1642, 1645, 1645,
3046 1645, 1646, 1646, 1646, 2636, 1646, 2634, 2640, 1646, 1647,
3047 1647, 1647, 1651, 1651, 1651, 1645, 1652, 1652, 1652, 2667,
3048 1652, 2645, 2659, 1652, 2646, 2651, 1647, 2667, 2638, 1651,
3049 1653, 1653, 1653, 1655, 1655, 1655, 2642, 1655, 2644, 2652,
3050 1655, 1658, 1658, 1658, 2660, 1659, 1659, 1659, 1653, 1659,
3051 1413, 2659, 1659, 1661, 1661, 1661, 2645, 1661, 1658, 2646,
3052 1661, 1665, 1665, 1665, 1668, 1668, 1668, 1670, 1670, 1670,
3054 1672, 1672, 1672, 2660, 1672, 2655, 2652, 1672, 2642, 1665,
3055 2656, 1653, 1668, 2644, 1670, 1676, 1676, 1676, 1679, 1679,
3056 1679, 1681, 1681, 1681, 1682, 1682, 1682, 2668, 1682, 1411,
3057 1409, 1682, 2657, 1676, 2648, 2668, 1679, 2665, 1681, 1683,
3058 1683, 1683, 1407, 1670, 1684, 1684, 1684, 2653, 1684, 1405,
3059 2655, 1684, 1686, 1686, 1686, 2656, 1683, 1668, 1688, 1688,
3060 1688, 1689, 1689, 1689, 1690, 1690, 1690, 2648, 1690, 2657,
3061 1686, 1690, 1691, 1691, 1691, 2649, 1688, 2654, 1689, 1692,
3062 1692, 1692, 2665, 1692, 2649, 1404, 1692, 2658, 2653, 1691,
3063 1693, 1693, 1693, 1697, 1697, 1697, 1699, 1699, 1699, 2673,
3065 1699, 2650, 2666, 1699, 1702, 1702, 1702, 1688, 1693, 2687,
3066 2650, 1697, 1703, 1703, 1703, 2671, 2661, 1686, 2654, 1704,
3067 1704, 1704, 1702, 1704, 2658, 2661, 1704, 1707, 1707, 1707,
3068 1703, 1713, 1713, 1713, 1714, 1714, 1714, 2662, 1714, 2673,
3069 1403, 1714, 1715, 1715, 1715, 1707, 2662, 2666, 1713, 1716,
3070 1716, 1716, 2671, 2692, 1693, 1702, 2687, 1697, 1402, 1401,
3071 1715, 1719, 1719, 1719, 2692, 1703, 1720, 1720, 1720, 1721,
3072 1721, 1721, 1725, 1725, 1725, 1726, 1726, 1726, 1727, 1727,
3073 1727, 1728, 1728, 1728, 1730, 1730, 1730, 1731, 1731, 1731,
3074 1732, 1732, 1732, 1733, 1733, 1733, 1734, 1734, 1734, 1736,
3076 1736, 1736, 1739, 1739, 1739, 1715, 1742, 1742, 1742, 1743,
3077 1743, 1743, 2681, 1743, 1399, 2663, 1743, 1736, 1398, 1395,
3078 1739, 1392, 2664, 1742, 1745, 1745, 1745, 1728, 1746, 1746,
3079 1746, 1747, 1747, 1747, 1385, 1747, 1383, 1382, 1747, 1758,
3080 1758, 1758, 1745, 2675, 2681, 1746, 1759, 1759, 1759, 2663,
3081 1736, 1760, 1760, 1760, 2669, 1760, 2664, 1758, 1760, 1761,
3082 1761, 1761, 2682, 1759, 1763, 1763, 1763, 1764, 1764, 1764,
3083 1765, 1765, 1765, 1766, 1766, 1766, 2670, 1766, 2675, 2674,
3084 1766, 1767, 1767, 1767, 1768, 1768, 1768, 1765, 1758, 1769,
3085 1769, 1769, 1379, 1769, 2682, 1374, 1769, 2672, 2677, 1767,
3087 2669, 1768, 1770, 1770, 1770, 1771, 1771, 1771, 1773, 1773,
3088 1773, 2678, 2679, 1764, 1774, 1774, 1774, 1373, 1774, 2674,
3089 1770, 1774, 2670, 1771, 2680, 1773, 1775, 1775, 1775, 1783,
3090 1783, 1783, 1767, 1783, 2672, 1368, 1783, 2676, 1787, 1787,
3091 1787, 1366, 1787, 2677, 1775, 1787, 1790, 1790, 1790, 2679,
3092 1791, 1791, 1791, 1770, 1791, 2683, 2678, 1791, 1795, 1795,
3093 1795, 2680, 1795, 1790, 2683, 1795, 1798, 1798, 1798, 1800,
3094 1800, 1800, 2676, 1800, 2684, 1362, 1800, 2685, 1361, 1775,
3095 1806, 1806, 1806, 2684, 1798, 1808, 1808, 1808, 1809, 1809,
3096 1809, 1355, 1809, 2686, 2691, 1809, 1346, 1345, 1806, 1816,
3098 1816, 1816, 1808, 1819, 1819, 1819, 1344, 1819, 2691, 2685,
3099 1819, 1822, 1822, 1822, 2688, 1822, 1342, 1816, 1822, 1826,
3100 1826, 1826, 1828, 1828, 1828, 2686, 1829, 1829, 1829, 1798,
3101 1829, 2689, 2690, 1829, 1832, 1832, 1832, 1826, 1832, 1340,
3102 1828, 1832, 1835, 1835, 1835, 1836, 1836, 1836, 1837, 1837,
3103 1837, 1838, 1838, 1838, 1839, 1839, 1839, 1841, 1841, 1841,
3104 1835, 2688, 1836, 2689, 2690, 1837, 1335, 1334, 1838, 1332,
3105 1826, 1330, 1839, 1329, 1328, 1841, 1327, 1326, 1835, 1842,
3106 1842, 1842, 1843, 1843, 1843, 1325, 1318, 1828, 1846, 1846,
3107 1846, 1847, 1847, 1847, 1317, 1847, 1315, 1842, 1847, 1837,
3109 1843, 1850, 1850, 1850, 1851, 1851, 1851, 1314, 1313, 1838,
3110 1852, 1852, 1852, 1854, 1854, 1854, 1841, 1307, 1839, 1850,
3111 1855, 1855, 1855, 1856, 1856, 1856, 1857, 1857, 1857, 1858,
3112 1858, 1858, 1859, 1859, 1859, 1860, 1860, 1860, 1863, 1863,
3113 1863, 1864, 1864, 1864, 1865, 1865, 1865, 1867, 1867, 1867,
3114 1870, 1870, 1870, 1871, 1871, 1871, 1306, 1871, 1304, 1850,
3115 1871, 1874, 1874, 1874, 1297, 1867, 1294, 1870, 1875, 1875,
3116 1875, 1293, 1877, 1877, 1877, 1292, 1877, 1291, 1874, 1877,
3117 1890, 1890, 1890, 1891, 1891, 1891, 1875, 1891, 1290, 1287,
3118 1891, 1894, 1894, 1894, 1896, 1896, 1896, 1286, 1890, 1898,
3120 1898, 1898, 1283, 1898, 1278, 1275, 1898, 1901, 1901, 1901,
3121 1902, 1902, 1902, 1272, 1902, 1263, 1261, 1902, 1905, 1905,
3122 1905, 1909, 1909, 1909, 1260, 1901, 1874, 1906, 1906, 1906,
3123 1254, 1906, 1253, 1251, 1906, 1250, 1905, 1249, 1248, 1909,
3124 1890, 1917, 1917, 1917, 1920, 1920, 1920, 1247, 1920, 1246,
3125 1245, 1920, 1244, 1901, 1923, 1923, 1923, 1926, 1926, 1926,
3126 1931, 1931, 1931, 1933, 1933, 1933, 1934, 1934, 1934, 1242,
3127 1934, 1923, 1909, 1934, 1241, 1926, 1239, 1238, 1931, 1236,
3128 1933, 1945, 1945, 1945, 1947, 1947, 1947, 1948, 1948, 1948,
3129 1949, 1949, 1949, 1950, 1950, 1950, 1951, 1951, 1951, 1952,
3131 1952, 1952, 1947, 1952, 1948, 1234, 1952, 1233, 1949, 1933,
3132 1232, 1950, 1231, 1951, 1953, 1953, 1953, 1954, 1954, 1954,
3133 1955, 1955, 1955, 1956, 1956, 1956, 1957, 1957, 1957, 1230,
3134 1228, 1953, 1227, 1226, 1954, 1963, 1963, 1963, 1955, 1958,
3135 1958, 1958, 1225, 1216, 1957, 1960, 1960, 1960, 1201, 1949,
3136 1965, 1965, 1965, 1950, 1964, 1964, 1964, 1958, 1967, 1967,
3137 1967, 1200, 1195, 1960, 1968, 1968, 1968, 1194, 1954, 1969,
3138 1969, 1969, 1964, 1192, 1973, 1973, 1973, 1976, 1976, 1976,
3139 1977, 1977, 1977, 1185, 1977, 1184, 1174, 1977, 1978, 1978,
3140 1978, 1957, 1973, 1169, 1976, 1989, 1989, 1989, 1992, 1992,
3142 1992, 1993, 1993, 1993, 1166, 1978, 1960, 1995, 1995, 1995,
3143 2002, 2002, 2002, 1989, 1165, 1162, 1992, 1157, 1148, 1993,
3144 2003, 2003, 2003, 1147, 1146, 1995, 1142, 2002, 2006, 2006,
3145 2006, 2007, 2007, 2007, 1134, 2007, 1129, 1128, 2007, 2009,
3146 2009, 2009, 1122, 1978, 1121, 2006, 2010, 2010, 2010, 2014,
3147 2014, 2014, 1120, 1119, 1989, 1114, 2009, 2016, 2016, 2016,
3148 2025, 2025, 2025, 1992, 2010, 1113, 2014, 1112, 2017, 2017,
3149 2017, 1111, 2017, 1110, 2016, 2017, 1109, 2025, 2027, 2027,
3150 2027, 2029, 2029, 2029, 2031, 2031, 2031, 2032, 2032, 2032,
3151 1108, 2032, 1098, 1097, 2032, 2033, 2033, 2033, 1096, 2029,
3153 1095, 2031, 2034, 2034, 2034, 2035, 2035, 2035, 1094, 2035,
3154 1093, 1088, 2035, 2033, 2038, 2038, 2038, 2039, 2039, 2039,
3155 2034, 2039, 1087, 1082, 2039, 2040, 2040, 2040, 2041, 2041,
3156 2041, 2038, 2043, 2043, 2043, 2044, 2044, 2044, 2048, 2048,
3157 2048, 1081, 2040, 2054, 2054, 2054, 2041, 2055, 2055, 2055,
3158 1062, 2055, 1054, 2044, 2055, 1050, 2048, 2058, 2058, 2058,
3159 2054, 2069, 2069, 2069, 2072, 2072, 2072, 1049, 2034, 2073,
3160 2073, 2073, 1048, 1047, 2058, 2076, 2076, 2076, 1046, 2069,
3161 1045, 1044, 2072, 2079, 2079, 2079, 1043, 2073, 1042, 2080,
3162 2080, 2080, 2076, 2080, 1037, 1029, 2080, 2083, 2083, 2083,
3164 2079, 2083, 1027, 1021, 2083, 2087, 2087, 2087, 2088, 2088,
3165 2088, 1019, 2088, 1010, 1005, 2088, 994, 2058, 992, 991,
3166 2069, 990, 2087, 2090, 2090, 2090, 2091, 2091, 2091, 2092,
3167 2092, 2092, 988, 2092, 2072, 987, 2092, 2093, 2093, 2093,
3168 2090, 986, 985, 2091, 2094, 2094, 2094, 984, 2094, 983,
3169 981, 2094, 980, 979, 2093, 2102, 2102, 2102, 2103, 2103,
3170 2103, 978, 2103, 977, 976, 2103, 2104, 2104, 2104, 2105,
3171 2105, 2105, 2102, 2106, 2106, 2106, 975, 2106, 974, 973,
3172 2106, 972, 971, 2104, 970, 964, 2105, 2109, 2109, 2109,
3173 2111, 2111, 2111, 2112, 2112, 2112, 963, 2112, 962, 959,
3175 2112, 2115, 2115, 2115, 958, 2109, 957, 955, 2111, 2116,
3176 2116, 2116, 951, 2116, 948, 939, 2116, 938, 2115, 2117,
3177 2117, 2117, 2122, 2122, 2122, 2126, 2126, 2126, 2127, 2127,
3178 2127, 935, 2127, 934, 933, 2127, 932, 2117, 922, 2134,
3179 2134, 2134, 2126, 2145, 2145, 2145, 2146, 2146, 2146, 2148,
3180 2148, 2148, 2150, 2150, 2150, 2111, 2134, 2149, 2149, 2149,
3181 915, 2145, 907, 906, 2151, 2151, 2151, 2148, 2151, 2150,
3182 905, 2151, 902, 897, 2149, 2152, 2152, 2152, 894, 2152,
3183 893, 889, 2152, 2158, 2158, 2158, 887, 2158, 884, 883,
3184 2158, 2162, 2162, 2162, 2145, 2163, 2163, 2163, 2134, 2163,
3186 882, 881, 2163, 2149, 880, 2164, 2164, 2164, 2162, 2164,
3187 2148, 879, 2164, 2167, 2167, 2167, 2168, 2168, 2168, 878,
3188 2168, 874, 870, 2168, 2170, 2170, 2170, 2172, 2172, 2172,
3189 2167, 2172, 869, 868, 2172, 2175, 2175, 2175, 2176, 2176,
3190 2176, 2170, 2176, 865, 864, 2176, 2177, 2177, 2177, 2178,
3191 2178, 2178, 2175, 2178, 861, 860, 2178, 2185, 2185, 2185,
3192 2186, 2186, 2186, 2177, 2186, 859, 856, 2186, 2191, 2191,
3193 2191, 2192, 2192, 2192, 855, 2185, 2193, 2193, 2193, 852,
3194 2196, 2196, 2196, 847, 2196, 2191, 2191, 2196, 2207, 2207,
3195 2207, 2216, 2216, 2216, 2217, 2217, 2217, 2218, 2218, 2218,
3197 2219, 2219, 2219, 842, 839, 2207, 838, 837, 2185, 2216,
3198 2220, 2220, 2220, 2221, 2221, 2221, 835, 2221, 2219, 834,
3199 2221, 2223, 2223, 2223, 833, 2223, 832, 2220, 2223, 2230,
3200 2230, 2230, 831, 2230, 827, 822, 2230, 2233, 2233, 2233,
3201 2216, 2233, 821, 820, 2233, 2237, 2237, 2237, 2238, 2238,
3202 2238, 2219, 2238, 819, 816, 2238, 2240, 2240, 2240, 815,
3203 2240, 814, 2237, 2240, 2243, 2243, 2243, 812, 2243, 808,
3204 804, 2243, 2252, 2252, 2252, 2254, 2254, 2254, 2255, 2255,
3205 2255, 2256, 2256, 2256, 803, 2256, 800, 797, 2256, 796,
3206 2252, 795, 2254, 2254, 794, 2255, 2255, 793, 792, 2256,
3208 2257, 2257, 2257, 2258, 2258, 2258, 2259, 2259, 2259, 2268,
3209 2268, 2268, 2269, 2269, 2269, 790, 2269, 789, 788, 2269,
3210 2278, 2278, 2278, 2279, 2279, 2279, 2268, 2280, 2280, 2280,
3211 2281, 2281, 2281, 787, 2281, 786, 785, 2281, 2278, 2287,
3212 2287, 2287, 2289, 2289, 2289, 2280, 2290, 2290, 2290, 784,
3213 2290, 783, 782, 2290, 781, 780, 2287, 779, 778, 2289,
3214 2293, 2293, 2293, 2308, 2308, 2308, 2311, 2311, 2311, 2312,
3215 2312, 2312, 777, 2312, 776, 775, 2312, 2293, 2316, 2316,
3216 2316, 2308, 774, 2311, 2311, 2278, 773, 2312, 2313, 2313,
3217 2313, 769, 2313, 768, 766, 2313, 2317, 2317, 2317, 2335,
3219 2335, 2335, 2336, 2336, 2336, 765, 2313, 2314, 2314, 2314,
3220 2314, 2314, 2314, 2314, 2314, 2314, 764, 2335, 2314, 763,
3221 2336, 762, 758, 2314, 2314, 2314, 2314, 2314, 2326, 2326,
3222 2326, 756, 2326, 755, 754, 2326, 2342, 2342, 2342, 753,
3223 2342, 749, 745, 2342, 744, 741, 2341, 2341, 2341, 2344,
3224 2344, 2344, 2314, 2314, 2315, 2315, 2315, 2315, 2315, 2315,
3225 2315, 2315, 2315, 2341, 740, 2315, 2344, 2346, 2346, 2346,
3226 2315, 2315, 2315, 2315, 2315, 2345, 2345, 2345, 739, 2345,
3227 738, 737, 2345, 736, 2346, 2347, 2347, 2347, 733, 2347,
3228 732, 731, 2347, 730, 2361, 2361, 2361, 727, 2361, 2315,
3230 2315, 2361, 725, 722, 2380, 2380, 2380, 2413, 2413, 2413,
3231 721, 720, 2361, 2364, 2364, 2364, 2364, 2364, 2364, 2364,
3232 2364, 2364, 2380, 719, 2364, 2413, 2413, 718, 715, 2364,
3233 2364, 2364, 2364, 2364, 2385, 2385, 2385, 714, 2385, 713,
3234 712, 2385, 2389, 2389, 2389, 711, 2389, 708, 707, 2389,
3235 2392, 2392, 2392, 706, 2392, 705, 703, 2392, 2364, 2364,
3236 2365, 2365, 2365, 2365, 2365, 2365, 2365, 2365, 2365, 700,
3237 698, 2365, 2422, 2422, 2422, 695, 2365, 2365, 2365, 2365,
3238 2365, 2423, 2423, 2423, 2424, 2424, 2424, 694, 693, 2422,
3239 2429, 2429, 2429, 2438, 2438, 2438, 692, 690, 2423, 689,
3241 688, 2424, 2442, 2442, 2442, 2365, 2365, 2429, 2447, 2447,
3242 2447, 2438, 2448, 2448, 2448, 685, 2448, 684, 683, 2448,
3243 2442, 2449, 2449, 2449, 682, 2447, 2450, 2450, 2450, 681,
3244 2450, 680, 679, 2450, 2451, 2451, 2451, 678, 2449, 2452,
3245 2452, 2452, 677, 2452, 675, 673, 2452, 2459, 2459, 2459,
3246 672, 2451, 668, 2442, 2460, 2460, 2460, 667, 2460, 666,
3247 663, 2460, 660, 659, 2459, 2467, 2467, 2467, 2473, 2473,
3248 2473, 658, 2473, 655, 654, 2473, 650, 2476, 2476, 2476,
3249 649, 2476, 645, 2467, 2476, 2479, 2479, 2479, 644, 2479,
3250 642, 637, 2479, 2488, 2488, 2488, 636, 2488, 634, 633,
3252 2488, 632, 2467, 2583, 2583, 2583, 2592, 2592, 2592, 631,
3253 2592, 630, 629, 2592, 2693, 2693, 2693, 2694, 2694, 2694,
3254 625, 2583, 624, 623, 2592, 622, 618, 617, 616, 615,
3255 614, 613, 2693, 612, 610, 2694, 2697, 2697, 2697, 2697,
3256 2697, 2697, 2697, 2697, 2697, 2698, 2698, 2698, 2698, 2698,
3257 2698, 2698, 2698, 2698, 2699, 2699, 2699, 2699, 2699, 2699,
3258 2699, 2699, 2699, 2700, 2700, 2700, 2700, 2700, 2700, 2700,
3259 2700, 2700, 2701, 2701, 2701, 2701, 2701, 2701, 2701, 2701,
3260 2701, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702, 2702,
3261 2703, 2703, 2703, 2703, 2703, 2703, 2703, 2703, 2703, 2704,
3263 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2704, 2705, 2705,
3264 2705, 2705, 2705, 2705, 2705, 2705, 2705, 2706, 2706, 2706,
3265 2706, 2706, 2706, 2706, 2706, 2706, 2707, 2707, 2707, 2707,
3266 2707, 2707, 2707, 2707, 2707, 2708, 2708, 2708, 2708, 2708,
3267 2708, 2708, 2708, 2708, 2709, 2709, 2709, 2709, 2709, 2709,
3268 2709, 2709, 2709, 2710, 2710, 2710, 2710, 2710, 2710, 2710,
3269 2710, 2710, 2711, 2711, 2711, 2711, 2711, 2711, 2711, 2711,
3270 2711, 2712, 2712, 2712, 2712, 2712, 2712, 2712, 2712, 2712,
3271 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2714,
3272 2714, 2714, 2714, 2714, 2714, 2714, 2714, 2714, 2715, 2715,
3274 2715, 2715, 2715, 2715, 2715, 2715, 2715, 2716, 2716, 2716,
3275 2716, 2716, 2716, 2716, 2716, 2716, 2717, 2717, 2717, 2717,
3276 2717, 2717, 2717, 2717, 2717, 2718, 2718, 2718, 2718, 2718,
3277 2718, 2718, 2718, 2718, 2719, 2719, 2719, 2719, 2719, 2719,
3278 2719, 2719, 2719, 2720, 2720, 2720, 2720, 2720, 2720, 2720,
3279 2720, 2720, 2721, 2721, 2721, 2721, 2721, 2721, 2721, 2721,
3280 2721, 2722, 2722, 2722, 2722, 2722, 2722, 2722, 2722, 2722,
3281 2723, 2723, 2723, 2723, 2723, 2723, 2723, 2723, 2723, 2724,
3282 2724, 2724, 2724, 2724, 2724, 2724, 2724, 2724, 2725, 2725,
3283 2725, 2725, 2725, 2725, 2725, 2725, 2725, 2726, 2726, 2726,
3285 2726, 2726, 2726, 2726, 2726, 2726, 2727, 2727, 2727, 2727,
3286 2727, 2727, 2727, 2727, 2727, 2728, 2728, 2728, 2728, 2728,
3287 2728, 2728, 2728, 2728, 2729, 2729, 2729, 2729, 2729, 2729,
3288 2729, 2729, 2729, 2730, 2730, 2730, 2730, 2730, 2730, 2730,
3289 2730, 2730, 2731, 2731, 2731, 2731, 2731, 2731, 2731, 2731,
3290 2731, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732, 2732,
3291 2733, 2733, 2733, 2733, 2733, 2733, 2733, 2733, 2733, 2734,
3292 2734, 2734, 2734, 2734, 2734, 2734, 2734, 2734, 2735, 2735,
3293 2735, 2735, 2735, 2735, 2735, 2735, 2735, 2736, 2736, 2736,
3294 2736, 2736, 2736, 2736, 2736, 2736, 2737, 2737, 2737, 2737,
3296 2737, 2737, 2737, 2737, 2737, 2738, 2738, 2738, 2738, 2738,
3297 2738, 2738, 2738, 2738, 2739, 2739, 2739, 2739, 2739, 2739,
3298 2739, 2739, 2739, 2740, 2740, 2740, 2740, 2740, 2740, 2740,
3299 2740, 2740, 2741, 2741, 2741, 2741, 2741, 2741, 2741, 2741,
3300 2741, 2742, 2742, 2742, 2742, 2742, 2742, 2742, 2742, 2742,
3301 2743, 2743, 2743, 2743, 2743, 2743, 2743, 2743, 2743, 2744,
3302 2744, 2744, 2744, 2744, 2744, 2744, 2744, 2744, 2745, 2745,
3303 2745, 2745, 2745, 2745, 2745, 2745, 2745, 2746, 2746, 2746,
3304 2746, 2746, 2746, 2746, 2746, 2746, 2747, 2747, 2747, 607,
3305 606, 604, 2747, 2748, 2748, 2748, 602, 599, 598, 2748,
3307 2749, 2749, 2749, 592, 590, 588, 2749, 2750, 2750, 2750,
3308 585, 584, 580, 2750, 2751, 2751, 2751, 579, 578, 576,
3309 2751, 2752, 2752, 2752, 575, 574, 573, 2752, 2753, 2753,
3310 2753, 572, 569, 568, 2753, 2754, 2754, 2754, 567, 566,
3311 565, 2754, 2755, 2755, 2755, 559, 558, 556, 2755, 2756,
3312 2756, 2756, 550, 549, 545, 2756, 2757, 2757, 2757, 541,
3313 538, 534, 2757, 2758, 2758, 2758, 528, 524, 516, 2758,
3314 2759, 2759, 2759, 515, 514, 513, 2759, 2760, 2760, 2760,
3315 509, 505, 502, 2760, 2761, 2761, 2761, 501, 500, 496,
3316 2761, 2762, 2762, 2762, 490, 489, 485, 2762, 2763, 2763,
3318 2763, 481, 477, 476, 2763, 2764, 2764, 2764, 472, 469,
3319 468, 2764, 2765, 2765, 2765, 463, 459, 455, 2765, 2766,
3320 2766, 2766, 451, 450, 449, 2766, 2767, 2767, 2767, 445,
3321 439, 438, 2767, 2768, 2768, 2768, 434, 428, 427, 2768,
3322 2769, 2769, 2769, 426, 425, 424, 2769, 2770, 2770, 2770,
3323 2770, 2770, 2770, 2770, 423, 2770, 2771, 2771, 2771, 422,
3324 418, 409, 2771, 2772, 408, 407, 405, 2772, 2773, 2773,
3325 2773, 401, 393, 392, 2773, 2774, 391, 390, 389, 2774,
3326 2775, 2775, 2775, 385, 379, 378, 2775, 2776, 374, 368,
3327 367, 2776, 2777, 2777, 2777, 363, 359, 356, 2777, 2778,
3329 355, 351, 347, 2778, 2779, 2779, 2779, 344, 343, 342,
3330 2779, 2780, 338, 334, 328, 2780, 2781, 2781, 2781, 321,
3331 320, 316, 2781, 2782, 310, 309, 308, 2782, 2783, 2783,
3332 2783, 304, 301, 300, 2783, 2784, 295, 293, 292, 2784,
3333 2785, 2785, 2785, 288, 285, 283, 2785, 2786, 282, 281,
3334 277, 2786, 2787, 2787, 2787, 271, 267, 263, 2787, 2788,
3335 255, 251, 247, 2788, 2789, 2789, 2789, 246, 245, 239,
3336 2789, 2790, 238, 236, 233, 2790, 2791, 2791, 2791, 221,
3337 0, 0, 2791, 2792, 0, 0, 0, 2792, 2793, 2793,
3338 2793, 0, 0, 0, 2793, 2794, 0, 0, 0, 2794,
3340 2795, 2795, 2795, 0, 0, 0, 2795, 2796, 0, 0,
3341 0, 2796, 2797, 2797, 2797, 0, 0, 0, 2797, 2798,
3342 0, 0, 0, 2798, 2799, 2799, 2799, 0, 0, 0,
3343 2799, 2800, 0, 0, 0, 2800, 2801, 2801, 2801, 0,
3344 0, 0, 2801, 2802, 0, 0, 0, 2802, 2803, 2803,
3345 2803, 0, 0, 0, 2803, 2804, 0, 0, 0, 2804,
3346 2805, 2805, 2805, 0, 0, 0, 2805, 2806, 0, 0,
3347 0, 2806, 2807, 2807, 2807, 0, 0, 0, 2807, 2808,
3348 0, 0, 0, 2808, 2809, 2809, 2809, 0, 0, 0,
3349 2809, 2810, 0, 0, 0, 2810, 2811, 2811, 2811, 0,
3351 0, 0, 2811, 2812, 0, 0, 0, 2812, 2813, 2813,
3352 2813, 0, 0, 0, 2813, 2814, 0, 0, 0, 2814,
3353 2815, 2815, 2815, 0, 0, 0, 2815, 2816, 0, 0,
3354 0, 2816, 2817, 2817, 2817, 2817, 2817, 2817, 2817, 2817,
3355 2817, 2818, 0, 0, 0, 0, 2818, 2819, 2819, 2819,
3356 0, 0, 0, 2819, 2820, 2820, 2820, 2820, 0, 0,
3357 2820, 2820, 2821, 2821, 2821, 0, 0, 0, 2821, 2822,
3358 2822, 2822, 2822, 0, 0, 2822, 2822, 2823, 2823, 2823,
3359 0, 0, 0, 2823, 2824, 2824, 2824, 2824, 0, 0,
3360 2824, 2824, 2825, 2825, 2825, 0, 0, 0, 2825, 2826,
3362 2826, 2826, 2826, 0, 0, 2826, 2826, 2827, 2827, 2827,
3363 0, 0, 0, 2827, 2828, 2828, 2828, 2828, 0, 0,
3364 2828, 2828, 2829, 2829, 2829, 0, 0, 0, 2829, 2830,
3365 2830, 2830, 2830, 0, 0, 2830, 2830, 2831, 2831, 2831,
3366 0, 0, 0, 2831, 2832, 2832, 2832, 2832, 0, 0,
3367 2832, 2832, 2833, 2833, 2833, 0, 0, 0, 2833, 2834,
3368 2834, 2834, 2834, 0, 0, 2834, 2834, 2835, 2835, 2835,
3369 0, 0, 0, 2835, 2836, 2836, 2836, 2836, 0, 0,
3370 2836, 2836, 2837, 2837, 2837, 0, 0, 0, 2837, 2838,
3371 2838, 2838, 2838, 0, 0, 2838, 2838, 2839, 2839, 2839,
3373 0, 0, 0, 2839, 2840, 2840, 2840, 2840, 0, 0,
3374 2840, 2840, 2841, 2841, 2841, 0, 0, 0, 2841, 2842,
3375 2842, 2842, 2842, 0, 0, 2842, 2842, 2843, 2843, 2843,
3376 0, 0, 0, 2843, 2844, 2844, 2844, 2844, 0, 0,
3377 2844, 2844, 2845, 2845, 2845, 0, 0, 0, 2845, 2846,
3378 2846, 2846, 2846, 0, 0, 2846, 2846, 2847, 2847, 2847,
3379 0, 0, 0, 2847, 2848, 2848, 2848, 2848, 0, 0,
3380 2848, 2848, 2849, 2849, 2849, 2849, 0, 2849, 0, 2849,
3381 2850, 2850, 2850, 2850, 0, 0, 2850, 2850, 2851, 2851,
3382 2851, 2851, 0, 2851, 0, 2851, 2852, 2852, 2852, 2852,
3384 0, 0, 2852, 2852, 2853, 2853, 2853, 0, 0, 0,
3385 2853, 2854, 2854, 2854, 2854, 0, 0, 2854, 2854, 2855,
3386 2855, 2855, 2855, 0, 2855, 0, 2855, 2856, 2856, 2856,
3387 2856, 0, 0, 2856, 2856, 2857, 2857, 2857, 0, 0,
3388 0, 2857, 2858, 2858, 2858, 2858, 0, 0, 2858, 2858,
3389 2859, 2859, 2859, 0, 0, 0, 2859, 2860, 2860, 2860,
3390 2860, 0, 0, 2860, 2860, 2861, 2861, 2861, 2861, 0,
3391 0, 2861, 2861, 2862, 2862, 2862, 0, 0, 0, 2862,
3392 2863, 2863, 2863, 2863, 0, 0, 2863, 2863, 2864, 2864,
3393 2864, 2864, 2864, 2864, 2864, 2864, 2864, 2865, 0, 2865,
3395 0, 0, 2865, 2866, 2866, 2866, 0, 0, 0, 2866,
3396 2867, 2867, 2867, 2867, 0, 0, 2867, 2867, 2868, 2868,
3397 2868, 2868, 0, 2868, 0, 2868, 2869, 2869, 2869, 2869,
3398 0, 0, 2869, 2869, 2870, 2870, 2870, 2870, 0, 2870,
3399 0, 2870, 2871, 2871, 2871, 2871, 0, 0, 2871, 2871,
3400 2872, 2872, 2872, 0, 0, 0, 2872, 2873, 2873, 2873,
3401 2873, 0, 0, 2873, 2873, 2874, 2874, 2874, 0, 0,
3402 0, 2874, 2875, 2875, 2875, 2875, 0, 0, 2875, 2875,
3403 2876, 2876, 2876, 0, 0, 0, 2876, 2877, 2877, 2877,
3404 2877, 0, 0, 2877, 2877, 2878, 2878, 2878, 0, 0,
3406 0, 2878, 2879, 2879, 2879, 2879, 0, 0, 2879, 2879,
3407 2880, 2880, 2880, 0, 0, 0, 2880, 2881, 2881, 2881,
3408 2881, 0, 0, 2881, 2881, 2882, 2882, 2882, 2882, 0,
3409 2882, 0, 2882, 2883, 2883, 2883, 2883, 0, 0, 2883,
3410 2883, 2884, 2884, 2884, 2884, 0, 2884, 0, 2884, 2885,
3411 2885, 2885, 2885, 0, 0, 2885, 2885, 2886, 2886, 2886,
3412 0, 0, 0, 2886, 2887, 2887, 2887, 2887, 0, 0,
3413 2887, 2887, 2888, 2888, 2888, 0, 0, 0, 2888, 2889,
3414 2889, 2889, 2889, 0, 0, 2889, 2889, 2890, 2890, 2890,
3415 0, 0, 0, 2890, 2891, 2891, 2891, 2891, 0, 0,
3417 2891, 2891, 2892, 2892, 2892, 0, 0, 0, 2892, 2893,
3418 2893, 2893, 2893, 0, 0, 2893, 2893, 2894, 2894, 2894,
3419 0, 0, 0, 2894, 2895, 2895, 2895, 2895, 0, 0,
3420 2895, 2895, 2896, 2896, 2896, 0, 0, 0, 2896, 2897,
3421 2897, 2897, 2897, 0, 0, 2897, 2897, 2898, 2898, 2898,
3422 0, 0, 0, 2898, 2899, 2899, 2899, 2899, 0, 0,
3423 2899, 2899, 2900, 2900, 2900, 0, 0, 0, 2900, 2901,
3424 2901, 2901, 2901, 0, 0, 2901, 2901, 2902, 2902, 2902,
3425 0, 0, 0, 2902, 2903, 2903, 2903, 2903, 0, 0,
3426 2903, 2903, 2904, 2904, 2904, 0, 0, 0, 2904, 2905,
3428 2905, 2905, 2905, 0, 0, 2905, 2905, 2906, 2906, 2906,
3429 0, 0, 0, 2906, 2907, 2907, 2907, 2907, 0, 0,
3430 2907, 2907, 2908, 2908, 2908, 2908, 0, 0, 2908, 2908,
3431 2909, 2909, 2909, 0, 0, 0, 2909, 2910, 2910, 2910,
3432 2910, 0, 0, 2910, 2910, 2911, 2911, 2911, 2911, 2911,
3433 2911, 2911, 2911, 2911, 2912, 2912, 2912, 2912, 2912, 2912,
3434 2912, 2912, 2912, 2913, 2913, 2913, 0, 0, 0, 2913,
3435 2914, 2914, 2914, 2914, 0, 0, 2914, 2914, 2915, 2915,
3436 2915, 2915, 0, 0, 2915, 2915, 2916, 2916, 2916, 0,
3437 0, 0, 2916, 2917, 2917, 2917, 2917, 0, 0, 2917,
3439 2917, 2918, 2918, 2918, 0, 0, 0, 2918, 2919, 2919,
3440 2919, 2919, 0, 0, 2919, 2919, 2920, 2920, 2920, 0,
3441 0, 0, 2920, 2921, 2921, 2921, 2921, 0, 0, 2921,
3442 2921, 2922, 2922, 2922, 0, 0, 0, 2922, 2923, 2923,
3443 2923, 0, 0, 0, 2923, 2924, 2924, 2924, 2924, 0,
3444 0, 2924, 2924, 2925, 2925, 2925, 0, 0, 0, 2925,
3445 2926, 2926, 2926, 2926, 0, 0, 2926, 2926, 2927, 2927,
3446 2927, 2927, 0, 0, 2927, 2927, 2928, 2928, 2928, 0,
3447 0, 0, 2928, 2929, 2929, 2929, 2929, 0, 0, 2929,
3448 2929, 2930, 2930, 2930, 0, 0, 0, 2930, 2931, 2931,
3450 2931, 2931, 0, 0, 2931, 2931, 2932, 2932, 2932, 0,
3451 0, 0, 2932, 2933, 2933, 2933, 2933, 0, 0, 2933,
3452 2933, 2934, 2934, 2934, 0, 0, 0, 2934, 2935, 2935,
3453 2935, 2935, 0, 0, 2935, 2935, 2936, 2936, 2936, 0,
3454 0, 0, 2936, 2937, 2937, 2937, 2937, 0, 0, 2937,
3455 2937, 2938, 2938, 2938, 0, 0, 0, 2938, 2939, 2939,
3456 2939, 2939, 0, 0, 2939, 2939, 2940, 2940, 2940, 0,
3457 0, 0, 2940, 2941, 2941, 2941, 2941, 0, 0, 2941,
3458 2941, 2942, 2942, 2942, 0, 0, 0, 2942, 2943, 2943,
3459 2943, 2943, 0, 0, 2943, 2943, 2944, 2944, 2944, 0,
3461 0, 0, 2944, 2945, 2945, 2945, 2945, 0, 0, 2945,
3462 2945, 2946, 2946, 2946, 0, 0, 0, 2946, 2947, 2947,
3463 2947, 2947, 0, 0, 2947, 2947, 2948, 2948, 2948, 0,
3464 0, 0, 2948, 2949, 2949, 2949, 2949, 0, 0, 2949,
3465 2949, 2950, 2950, 2950, 2950, 0, 2950, 0, 2950, 2951,
3466 2951, 2951, 2951, 0, 0, 2951, 2951, 2952, 2952, 2952,
3467 2952, 0, 0, 2952, 2952, 2953, 2953, 2953, 2953, 0,
3468 2953, 0, 2953, 2954, 2954, 2954, 2954, 0, 0, 2954,
3469 2954, 2955, 2955, 2955, 2955, 2955, 2955, 2955, 2955, 2955,
3470 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2957,
3472 2957, 2957, 0, 0, 0, 2957, 2958, 2958, 2958, 2958,
3473 0, 0, 2958, 2958, 2959, 2959, 2959, 2959, 0, 0,
3474 2959, 2959, 2960, 2960, 2960, 0, 0, 0, 2960, 2961,
3475 2961, 2961, 2961, 0, 0, 2961, 2961, 2962, 2962, 2962,
3476 0, 0, 0, 2962, 2963, 2963, 2963, 2963, 0, 0,
3477 2963, 2963, 2964, 2964, 2964, 0, 0, 0, 2964, 2965,
3478 2965, 2965, 2965, 0, 0, 2965, 2965, 2966, 2966, 2966,
3479 0, 0, 0, 2966, 2967, 2967, 2967, 0, 0, 0,
3480 2967, 2968, 2968, 2968, 2968, 0, 0, 2968, 2968, 2969,
3481 2969, 2969, 0, 0, 0, 2969, 2970, 2970, 2970, 2970,
3483 0, 0, 2970, 2970, 2971, 2971, 2971, 2971, 0, 0,
3484 2971, 2971, 2972, 2972, 2972, 0, 0, 0, 2972, 2973,
3485 2973, 2973, 2973, 0, 0, 2973, 2973, 2974, 2974, 2974,
3486 0, 0, 0, 2974, 2975, 2975, 2975, 2975, 0, 0,
3487 2975, 2975, 2976, 2976, 2976, 0, 0, 0, 2976, 2977,
3488 2977, 2977, 2977, 0, 0, 2977, 2977, 2978, 2978, 2978,
3489 0, 0, 0, 2978, 2979, 2979, 2979, 2979, 0, 0,
3490 2979, 2979, 2980, 2980, 2980, 0, 0, 0, 2980, 2981,
3491 2981, 2981, 2981, 0, 0, 2981, 2981, 2982, 2982, 2982,
3492 0, 0, 0, 2982, 2983, 2983, 2983, 2983, 0, 0,
3494 2983, 2983, 2984, 2984, 2984, 0, 0, 0, 2984, 2985,
3495 2985, 2985, 2985, 0, 0, 2985, 2985, 2986, 2986, 2986,
3496 2986, 0, 2986, 0, 2986, 2987, 2987, 2987, 2987, 0,
3497 0, 2987, 2987, 2988, 2988, 2988, 0, 0, 0, 2988,
3498 2989, 2989, 2989, 2989, 0, 0, 2989, 2989, 2990, 2990,
3499 2990, 2990, 0, 2990, 0, 2990, 2991, 2991, 2991, 2991,
3500 0, 0, 2991, 2991, 2992, 2992, 2992, 0, 0, 0,
3501 2992, 2993, 2993, 2993, 2993, 0, 0, 2993, 2993, 2994,
3502 2994, 2994, 2994, 0, 0, 2994, 2994, 2995, 2995, 2995,
3503 2995, 0, 0, 2995, 2995, 2996, 2996, 2996, 2996, 0,
3505 0, 2996, 2996, 2997, 2997, 2997, 2997, 2997, 2997, 2997,
3506 2997, 2997, 2998, 2998, 2998, 2998, 2998, 2998, 2998, 2998,
3507 2998, 2999, 2999, 2999, 2999, 0, 2999, 0, 2999, 3000,
3508 3000, 3000, 3000, 0, 0, 3000, 3000, 3001, 3001, 3001,
3509 3001, 0, 0, 3001, 3001, 3002, 3002, 3002, 0, 0,
3510 0, 3002, 3003, 3003, 3003, 3003, 0, 0, 3003, 3003,
3511 3004, 3004, 3004, 0, 0, 0, 3004, 3005, 3005, 3005,
3512 3005, 0, 0, 3005, 3005, 3006, 3006, 3006, 3006, 0,
3513 3006, 0, 3006, 3007, 3007, 3007, 3007, 0, 0, 3007,
3514 3007, 3008, 3008, 3008, 3008, 0, 3008, 0, 3008, 3009,
3516 3009, 3009, 3009, 0, 3009, 0, 3009, 3010, 3010, 3010,
3517 3010, 0, 0, 3010, 3010, 3011, 3011, 3011, 3011, 0,
3518 3011, 0, 3011, 3012, 3012, 3012, 3012, 0, 0, 3012,
3519 3012, 3013, 3013, 3013, 3013, 0, 0, 3013, 3013, 3014,
3520 3014, 3014, 3014, 0, 3014, 0, 3014, 3015, 3015, 3015,
3521 3015, 0, 0, 3015, 3015, 3016, 3016, 3016, 0, 0,
3522 0, 3016, 3017, 3017, 3017, 0, 0, 0, 3017, 3018,
3523 3018, 3018, 3018, 0, 0, 3018, 3018, 3019, 3019, 3019,
3524 0, 0, 0, 3019, 3020, 3020, 3020, 0, 0, 0,
3525 3020, 3021, 3021, 3021, 3021, 0, 0, 3021, 3021, 3022,
3527 3022, 3022, 0, 0, 0, 3022, 3023, 3023, 3023, 0,
3528 0, 0, 3023, 3024, 3024, 3024, 3024, 0, 0, 3024,
3529 3024, 3025, 3025, 3025, 0, 0, 0, 3025, 3026, 3026,
3530 3026, 3026, 0, 0, 3026, 3026, 3027, 3027, 3027, 0,
3531 0, 0, 3027, 3028, 3028, 3028, 3028, 0, 0, 3028,
3532 3028, 3029, 3029, 3029, 3029, 0, 0, 3029, 3029, 3030,
3533 3030, 3030, 0, 0, 0, 3030, 3031, 3031, 3031, 3031,
3534 0, 0, 3031, 3031, 3032, 3032, 3032, 3032, 0, 0,
3535 3032, 3032, 3033, 3033, 3033, 3033, 0, 0, 3033, 3033,
3536 3034, 3034, 3034, 3034, 3034, 3034, 3034, 3034, 3034, 3035,
3538 3035, 3035, 3035, 3035, 3035, 3035, 3035, 3035, 3036, 3036,
3539 3036, 3036, 0, 0, 3036, 3036, 3037, 3037, 3037, 3037,
3540 0, 0, 3037, 3037, 3038, 3038, 3038, 0, 0, 0,
3541 3038, 3039, 3039, 3039, 0, 0, 0, 3039, 3040, 3040,
3542 3040, 3040, 0, 0, 3040, 3040, 3041, 3041, 3041, 3041,
3543 0, 0, 3041, 3041, 3042, 3042, 3042, 3042, 0, 0,
3544 3042, 3042, 3043, 3043, 3043, 3043, 0, 0, 3043, 3043,
3545 3044, 3044, 3044, 3044, 0, 0, 3044, 3044, 3045, 3045,
3546 3045, 0, 0, 0, 3045, 3046, 3046, 3046, 0, 0,
3547 0, 3046, 3047, 3047, 3047, 3047, 0, 0, 3047, 3047,
3549 3048, 3048, 3048, 0, 0, 0, 3048, 3049, 3049, 3049,
3550 0, 0, 0, 3049, 3050, 3050, 3050, 3050, 0, 0,
3551 3050, 3050, 3051, 3051, 3051, 0, 0, 0, 3051, 3052,
3552 3052, 3052, 0, 0, 0, 3052, 3053, 3053, 3053, 0,
3553 0, 0, 3053, 3054, 3054, 3054, 3054, 0, 0, 3054,
3554 3054, 3055, 3055, 3055, 0, 0, 0, 3055, 3056, 3056,
3555 3056, 3056, 0, 0, 3056, 3056, 3057, 3057, 3057, 3057,
3556 0, 0, 3057, 3057, 3058, 3058, 3058, 3058, 0, 3058,
3557 0, 3058, 3059, 3059, 3059, 3059, 0, 0, 3059, 3059,
3558 3060, 3060, 3060, 3060, 0, 0, 3060, 3060, 3061, 3061,
3560 3061, 3061, 0, 0, 3061, 3061, 3062, 3062, 3062, 3062,
3561 3062, 3062, 3062, 3062, 3062, 3063, 3063, 3063, 3063, 3063,
3562 3063, 3063, 3063, 3063, 3064, 3064, 3064, 3064, 0, 0,
3563 3064, 3064, 3065, 3065, 3065, 3065, 0, 0, 3065, 3065,
3564 3066, 3066, 3066, 0, 0, 0, 3066, 3067, 3067, 3067,
3565 3067, 0, 3067, 0, 3067, 3068, 3068, 3068, 3068, 3068,
3566 3068, 3068, 3068, 3068, 3069, 3069, 3069, 3069, 3069, 3069,
3567 3069, 3069, 3069, 3070, 3070, 3070, 3070, 3070, 3070, 3070,
3568 3070, 3070, 3071, 3071, 3071, 3071, 3071, 3071, 3071, 3071,
3569 3071, 3072, 3072, 3072, 3072, 3072, 3072, 3072, 3072, 3072,
3571 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 3073, 2696,
3572 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
3573 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
3574 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
3575 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
3576 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
3577 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
3578 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696,
3582 /* Table of booleans, true if rule could match eol. */
3583 static yyconst flex_int32_t yy_rule_can_match_eol[460] =
3585 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3586 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3587 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3588 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3589 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3590 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
3591 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3592 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3593 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
3594 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3595 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3596 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
3597 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3598 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3599 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3600 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3601 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3602 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3603 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3604 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3605 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0,
3606 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0,
3607 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
3610 static yy_state_type yy_last_accepting_state;
3611 static char *yy_last_accepting_cpos;
3613 extern int surf_parse__flex_debug;
3614 int surf_parse__flex_debug = 0;
3616 /* The intent behind this definition is that it'll catch
3617 * any uses of REJECT which flex missed.
3619 #define REJECT reject_used_but_not_detected
3620 #define yymore() yymore_used_but_not_detected
3621 #define YY_MORE_ADJ 0
3622 #define YY_RESTORE_YY_MORE_OFFSET
3623 char *surf_parse_text;
3624 /* Validating XML processor for src/surf/simgrid.dtd.
3626 * This program was generated with the FleXML XML processor generator.
3627 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3628 * FleXML is Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3629 * (Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp).
3631 * There are two, intertwined parts to this program, part A and part B.
3636 * Some parts, here collectively called "Part A", are found in the
3637 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3638 * and Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3640 * You can redistribute, use, perform, display and/or modify "Part A"
3641 * provided the following two conditions hold:
3643 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3644 * FleXML; without even the implied warranty of MERCHANTABILITY or
3645 * FITNESS FOR A PARTICULAR PURPOSE.
3647 * 2. The program distribution conditions do not in any way affect the
3648 * distribution conditions of the FleXML system used to generate this
3649 * file or any version of FleXML derived from that system.
3651 * Notice that these are explicit rights granted to you for files
3652 * generated by the FleXML system. For your rights in connection with
3653 * the FleXML system itself please consult the GNU General Public License.
3658 * The other parts, here collectively called "Part B", and which came
3659 * from the DTD used by FleXML to generate this program, can be
3660 * distributed (or not, as the case may be) under the terms of whoever
3661 * wrote them, provided these terms respect and obey the two conditions
3662 * above under the heading "Part A".
3664 * The author of and contributors to FleXML specifically disclaim
3665 * any copyright interest in "Part B", unless "Part B" was written
3666 * by the author of or contributors to FleXML.
3670 /* Version strings. */
3671 const char rcs_surfxml_flexml_skeleton[] =
3672 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3673 const char rcs_surfxml_flexml[] =
3674 "$" "Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp $";
3677 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3684 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3685 # ifndef __STRICT_ANSI__
3687 # include <process.h>
3690 # include <unistd.h>
3693 #ifndef FLEXML_INDEXSTACKSIZE
3694 #define FLEXML_INDEXSTACKSIZE 1000
3697 /* Generated definitions. */
3698 #define FLEXML_yylineno
3699 #ifndef FLEXML_BUFFERSTACKSIZE
3700 #define FLEXML_BUFFERSTACKSIZE 1000000
3702 #define FLEXML_NEED_BUFFERLIT
3704 /* XML processor api. */
3705 /* FleXML-provided data. */
3706 int surfxml_pcdata_ix;
3707 extern char *surfxml_bufferstack;
3708 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3709 AT_surfxml_mount_name AX_surfxml_mount_name;
3710 #define A_surfxml_mount_name (surfxml_bufferstack + AX_surfxml_mount_name)
3711 short int surfxml_mount_name_isset;
3712 AT_surfxml_random_generator AX_surfxml_random_generator;
3713 #define A_surfxml_random_generator AX_surfxml_random_generator
3714 short int surfxml_random_generator_isset;
3715 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3716 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3717 short int surfxml_ASroute_gw_dst_isset;
3718 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3719 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3720 short int surfxml_trace_connect_element_isset;
3721 AT_surfxml_prop_id AX_surfxml_prop_id;
3722 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3723 short int surfxml_prop_id_isset;
3724 AT_surfxml_host_id AX_surfxml_host_id;
3725 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3726 short int surfxml_host_id_isset;
3727 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3728 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3729 short int surfxml_ASroute_symmetrical_isset;
3730 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3731 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3732 short int surfxml_peer_lat_isset;
3733 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3734 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3735 short int surfxml_link_latency_file_isset;
3736 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3737 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3738 short int surfxml_peer_availability_file_isset;
3739 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3740 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3741 short int surfxml_link_ctn_direction_isset;
3742 AT_surfxml_host_state AX_surfxml_host_state;
3743 #define A_surfxml_host_state AX_surfxml_host_state
3744 short int surfxml_host_state_isset;
3745 AT_surfxml_AS_id AX_surfxml_AS_id;
3746 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3747 short int surfxml_AS_id_isset;
3748 AT_surfxml_host_power AX_surfxml_host_power;
3749 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3750 short int surfxml_host_power_isset;
3751 AT_surfxml_router_id AX_surfxml_router_id;
3752 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3753 short int surfxml_router_id_isset;
3754 AT_surfxml_storage_type_id AX_surfxml_storage_type_id;
3755 #define A_surfxml_storage_type_id (surfxml_bufferstack + AX_surfxml_storage_type_id)
3756 short int surfxml_storage_type_id_isset;
3757 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3758 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3759 short int surfxml_process_start_time_isset;
3760 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3761 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3762 short int surfxml_cluster_suffix_isset;
3763 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3764 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3765 short int surfxml_ASroute_src_isset;
3766 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3767 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3768 short int surfxml_cluster_prefix_isset;
3769 AT_surfxml_trace_file AX_surfxml_trace_file;
3770 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3771 short int surfxml_trace_file_isset;
3772 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3773 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3774 short int surfxml_link_sharing_policy_isset;
3775 AT_surfxml_random_min AX_surfxml_random_min;
3776 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3777 short int surfxml_random_min_isset;
3778 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3779 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3780 short int surfxml_link_ctn_id_isset;
3781 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3782 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3783 short int surfxml_peer_bw_out_isset;
3784 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3785 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3786 short int surfxml_cluster_availability_file_isset;
3787 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3788 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3789 short int surfxml_process_kill_time_isset;
3790 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3791 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3792 short int surfxml_cluster_bb_bw_isset;
3793 AT_surfxml_argument_value AX_surfxml_argument_value;
3794 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3795 short int surfxml_argument_value_isset;
3796 AT_surfxml_link_state AX_surfxml_link_state;
3797 #define A_surfxml_link_state AX_surfxml_link_state
3798 short int surfxml_link_state_isset;
3799 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3800 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3801 short int surfxml_ASroute_gw_src_isset;
3802 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3803 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3804 short int surfxml_AS_routing_isset;
3805 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3806 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3807 short int surfxml_link_bandwidth_isset;
3808 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3809 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3810 short int surfxml_cluster_id_isset;
3811 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3812 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3813 short int surfxml_peer_bw_in_isset;
3814 AT_surfxml_random_mean AX_surfxml_random_mean;
3815 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3816 short int surfxml_random_mean_isset;
3817 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3818 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3819 short int surfxml_cluster_bb_lat_isset;
3820 AT_surfxml_link_latency AX_surfxml_link_latency;
3821 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3822 short int surfxml_link_latency_isset;
3823 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3824 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3825 short int surfxml_trace_connect_kind_isset;
3826 AT_surfxml_random_seed AX_surfxml_random_seed;
3827 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
3828 short int surfxml_random_seed_isset;
3829 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3830 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3831 short int surfxml_cluster_state_file_isset;
3832 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3833 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3834 short int surfxml_link_bandwidth_file_isset;
3835 AT_surfxml_storage_type_content AX_surfxml_storage_type_content;
3836 #define A_surfxml_storage_type_content (surfxml_bufferstack + AX_surfxml_storage_type_content)
3837 short int surfxml_storage_type_content_isset;
3838 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3839 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3840 short int surfxml_route_symmetrical_isset;
3841 AT_surfxml_random_id AX_surfxml_random_id;
3842 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3843 short int surfxml_random_id_isset;
3844 AT_surfxml_mstorage_name AX_surfxml_mstorage_name;
3845 #define A_surfxml_mstorage_name (surfxml_bufferstack + AX_surfxml_mstorage_name)
3846 short int surfxml_mstorage_name_isset;
3847 AT_surfxml_random_max AX_surfxml_random_max;
3848 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3849 short int surfxml_random_max_isset;
3850 AT_surfxml_link_id AX_surfxml_link_id;
3851 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3852 short int surfxml_link_id_isset;
3853 AT_surfxml_process_host AX_surfxml_process_host;
3854 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3855 short int surfxml_process_host_isset;
3856 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3857 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3858 short int surfxml_host_availability_file_isset;
3859 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3860 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3861 short int surfxml_cluster_lat_isset;
3862 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3863 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3864 short int surfxml_trace_periodicity_isset;
3865 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3866 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3867 short int surfxml_cluster_bb_sharing_policy_isset;
3868 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3869 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3870 short int surfxml_router_coordinates_isset;
3871 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3872 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3873 short int surfxml_peer_coordinates_isset;
3874 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
3875 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
3876 short int surfxml_peer_state_file_isset;
3877 AT_surfxml_prop_value AX_surfxml_prop_value;
3878 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3879 short int surfxml_prop_value_isset;
3880 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3881 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3882 short int surfxml_ASroute_dst_isset;
3883 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3884 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3885 short int surfxml_link_state_file_isset;
3886 AT_surfxml_random_radical AX_surfxml_random_radical;
3887 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
3888 short int surfxml_random_radical_isset;
3889 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3890 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3891 short int surfxml_trace_connect_trace_isset;
3892 AT_surfxml_mount_id AX_surfxml_mount_id;
3893 #define A_surfxml_mount_id (surfxml_bufferstack + AX_surfxml_mount_id)
3894 short int surfxml_mount_id_isset;
3895 AT_surfxml_storage_type_id AX_surfxml_storage_type_id;
3896 #define A_surfxml_storage_type_id (surfxml_bufferstack + AX_surfxml_storage_type_id)
3897 short int surfxml_storage_type_id_isset;
3898 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3899 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3900 short int surfxml_cluster_power_isset;
3901 AT_surfxml_process_function AX_surfxml_process_function;
3902 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3903 short int surfxml_process_function_isset;
3904 AT_surfxml_peer_id AX_surfxml_peer_id;
3905 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3906 short int surfxml_peer_id_isset;
3907 AT_surfxml_cluster_router_id AX_surfxml_cluster_router_id;
3908 #define A_surfxml_cluster_router_id (surfxml_bufferstack + AX_surfxml_cluster_router_id)
3909 short int surfxml_cluster_router_id_isset;
3910 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3911 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3912 short int surfxml_cluster_sharing_policy_isset;
3913 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3914 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3915 short int surfxml_bypassRoute_dst_isset;
3916 AT_surfxml_mstorage_type_id AX_surfxml_mstorage_type_id;
3917 #define A_surfxml_mstorage_type_id (surfxml_bufferstack + AX_surfxml_mstorage_type_id)
3918 short int surfxml_mstorage_type_id_isset;
3919 AT_surfxml_host_core AX_surfxml_host_core;
3920 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3921 short int surfxml_host_core_isset;
3922 AT_surfxml_host_availability AX_surfxml_host_availability;
3923 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3924 short int surfxml_host_availability_isset;
3925 AT_surfxml_storage_type_model AX_surfxml_storage_type_model;
3926 #define A_surfxml_storage_type_model (surfxml_bufferstack + AX_surfxml_storage_type_model)
3927 short int surfxml_storage_type_model_isset;
3928 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3929 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3930 short int surfxml_bypassRoute_src_isset;
3931 AT_surfxml_route_src AX_surfxml_route_src;
3932 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3933 short int surfxml_route_src_isset;
3934 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3935 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3936 short int surfxml_bypassRoute_gw_dst_isset;
3937 AT_surfxml_storage_id AX_surfxml_storage_id;
3938 #define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
3939 short int surfxml_storage_id_isset;
3940 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3941 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3942 short int surfxml_host_coordinates_isset;
3943 AT_surfxml_trace_id AX_surfxml_trace_id;
3944 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3945 short int surfxml_trace_id_isset;
3946 AT_surfxml_peer_power AX_surfxml_peer_power;
3947 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3948 short int surfxml_peer_power_isset;
3949 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3950 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3951 short int surfxml_cluster_radical_isset;
3952 AT_surfxml_config_id AX_surfxml_config_id;
3953 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3954 short int surfxml_config_id_isset;
3955 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3956 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3957 short int surfxml_bypassRoute_gw_src_isset;
3958 AT_surfxml_include_file AX_surfxml_include_file;
3959 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3960 short int surfxml_include_file_isset;
3961 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3962 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3963 short int surfxml_random_std_deviation_isset;
3964 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3965 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3966 short int surfxml_cluster_core_isset;
3967 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3968 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3969 short int surfxml_host_state_file_isset;
3970 AT_surfxml_route_dst AX_surfxml_route_dst;
3971 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3972 short int surfxml_route_dst_isset;
3973 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3974 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3975 short int surfxml_cluster_bw_isset;
3976 AT_surfxml_platform_version AX_surfxml_platform_version;
3977 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3978 short int surfxml_platform_version_isset;
3982 # define ENTER(state) debug_enter(state,#state)
3983 # define LEAVE debug_leave()
3984 # define SET(state) debug_set(state,#state)
3985 static void debug_enter(int, const char*);
3986 static void debug_leave(void);
3987 static void debug_set(int, const char*);
3989 # define ENTER(state) (yy_push_state(state))
3990 # define LEAVE (yy_pop_state())
3991 # define SET(state) BEGIN(state)
3994 /* Generic actions. */
3995 #define SKIP /*skip*/
3996 #define SUCCEED CLEANUP; return 0
3998 #define FAIL return fail
3999 static int fail(const char*, ...);
4001 enum {flexml_max_err_msg_size = 512};
4002 static char flexml_err_msg[flexml_max_err_msg_size];
4003 const char * surfxml_parse_err_msg()
4005 return flexml_err_msg;
4007 static void reset_surfxml_parse_err_msg()
4009 flexml_err_msg[0] = '\0';
4013 static void cleanup(void);
4014 #define CLEANUP cleanup()
4016 /* Text buffer stack handling. */
4017 char *surfxml_bufferstack = NULL;
4018 static int blimit = FLEXML_BUFFERSTACKSIZE;
4019 static int bnext = 1;
4021 static int *indexstack = NULL;
4022 static int ilimit = FLEXML_INDEXSTACKSIZE;
4023 static int inext = 1;
4025 #define BUFFERSET(P) (P = bnext)
4026 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
4027 #define BUFFERDONE (BUFFERPUTC('\0'))
4029 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
4031 /* after this is called, there are at least 2 slots left in the stack */
4032 static int ck_blimit()
4034 if (bnext >= blimit) {
4035 blimit += FLEXML_BUFFERSTACKSIZE + 2;
4037 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
4039 surfxml_bufferstack = temp;
4045 /* after this is called, there are at least 2 slots left in the stack */
4046 static int ck_ilimit()
4048 if (inext >= ilimit) {
4049 ilimit += FLEXML_INDEXSTACKSIZE + 2;
4051 int *temp = (int *) realloc(indexstack, ilimit);
4059 #ifdef FLEXML_NEED_BUFFERLIT
4060 static void surfxml_bufferliteral(char c, int* pp, const char* text)
4062 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
4063 assert(s <= e); BUFFERSET(*pp);
4065 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
4066 else BUFFERPUTC(*s);
4072 static void pushbuffer(int p)
4075 indexstack[inext++] = p;
4076 indexstack[inext++] = bnext;
4079 static int popbuffer(void)
4082 bnext = indexstack[--inext];
4083 return indexstack[--inext];
4086 /* General internal entities are `unput' back onto the input stream... */
4087 #define ENTITYTEXT(T) \
4088 { char *s = (T), *e = s+strlen(s);\
4089 while (--e >= s) { unput(*e); }}
4091 /* Flex standard options. */
4092 #define YY_NO_INPUT 1
4093 /* Flex user-requested options. */
4094 /* XML character classes (currently restricted to ASCII). */
4095 /* "Common syntactic structures." */
4096 /* "Names and Tokens." */
4097 /* Miscellaneous. */
4098 /* Parser states (flex `exclusive start conditions'):
4100 * PROLOG the XML prolog of the document before <?xml...>
4101 * DOCTYPE the XML prolog of the document after <?xml...>
4102 * EPILOG after the root element
4103 * INCOMMENT inside an XML comment <!--....-->
4104 * INPI inside an XML PI <?...?>
4105 * VALUE1 inside a '...'-delimited literal
4106 * VALUE2 inside a "..."-delimited literal
4107 * CDATA inside a <![CDATA[...] ]> section.
4108 * ROOT_<tag> expect root element <tag>
4109 * AL_<tag> inside the attribute list for <tag>
4110 * IN_<tag> inside a <tag> with element contents (ready for end tag)
4111 * IMPOSSIBLE dummy to permit disabling rules; must be last
4115 const char* *surfxml_statenames=NULL;
4126 #define ROOT_surfxml_platform 9
4127 #define AL_surfxml_platform 10
4128 #define S_surfxml_platform 11
4129 #define S_surfxml_platform_1 12
4130 #define S_surfxml_platform_2 13
4131 #define S_surfxml_platform_3 14
4132 #define S_surfxml_platform_4 15
4133 #define S_surfxml_platform_5 16
4134 #define S_surfxml_platform_6 17
4135 #define S_surfxml_platform_7 18
4136 #define S_surfxml_platform_8 19
4137 #define E_surfxml_platform 20
4138 #define AL_surfxml_include 21
4139 #define E_surfxml_include 22
4140 #define AL_surfxml_trace 23
4142 #define AL_surfxml_random 25
4143 #define S_surfxml_random 26
4144 #define S_surfxml_random_1 27
4145 #define S_surfxml_random_2 28
4146 #define E_surfxml_random 29
4147 #define AL_surfxml_trace_connect 30
4148 #define E_surfxml_trace_connect 31
4149 #define AL_surfxml_AS 32
4150 #define S_surfxml_AS 33
4151 #define S_surfxml_AS_1 34
4152 #define S_surfxml_AS_2 35
4153 #define S_surfxml_AS_3 36
4154 #define S_surfxml_AS_4 37
4155 #define S_surfxml_AS_5 38
4156 #define S_surfxml_AS_6 39
4157 #define S_surfxml_AS_7 40
4158 #define S_surfxml_AS_8 41
4159 #define S_surfxml_AS_9 42
4160 #define S_surfxml_AS_10 43
4161 #define S_surfxml_AS_11 44
4162 #define S_surfxml_AS_12 45
4163 #define S_surfxml_AS_13 46
4164 #define E_surfxml_AS 47
4165 #define AL_surfxml_storage_type 48
4166 #define S_surfxml_storage_type 49
4167 #define S_surfxml_storage_type_1 50
4168 #define S_surfxml_storage_type_2 51
4169 #define E_surfxml_storage_type 52
4170 #define AL_surfxml_storage 53
4171 #define S_surfxml_storage 54
4172 #define S_surfxml_storage_1 55
4173 #define S_surfxml_storage_2 56
4174 #define E_surfxml_storage 57
4175 #define AL_surfxml_mount 58
4176 #define E_surfxml_mount 59
4177 #define AL_surfxml_mstorage 60
4178 #define E_surfxml_mstorage 61
4179 #define AL_surfxml_host 62
4180 #define S_surfxml_host 63
4181 #define S_surfxml_host_1 64
4182 #define S_surfxml_host_2 65
4183 #define E_surfxml_host 66
4184 #define AL_surfxml_cluster 67
4185 #define E_surfxml_cluster 68
4186 #define AL_surfxml_peer 69
4187 #define E_surfxml_peer 70
4188 #define AL_surfxml_router 71
4189 #define E_surfxml_router 72
4190 #define AL_surfxml_link 73
4191 #define S_surfxml_link 74
4192 #define S_surfxml_link_1 75
4193 #define S_surfxml_link_2 76
4194 #define E_surfxml_link 77
4195 #define AL_surfxml_route 78
4196 #define S_surfxml_route 79
4197 #define S_surfxml_route_1 80
4198 #define S_surfxml_route_2 81
4199 #define E_surfxml_route 82
4200 #define AL_surfxml_ASroute 83
4201 #define S_surfxml_ASroute 84
4202 #define S_surfxml_ASroute_1 85
4203 #define S_surfxml_ASroute_2 86
4204 #define E_surfxml_ASroute 87
4205 #define AL_surfxml_link_ctn 88
4206 #define E_surfxml_link_ctn 89
4207 #define AL_surfxml_bypassRoute 90
4208 #define S_surfxml_bypassRoute 91
4209 #define S_surfxml_bypassRoute_1 92
4210 #define S_surfxml_bypassRoute_2 93
4211 #define E_surfxml_bypassRoute 94
4212 #define AL_surfxml_process 95
4213 #define S_surfxml_process 96
4214 #define S_surfxml_process_1 97
4215 #define S_surfxml_process_2 98
4216 #define E_surfxml_process 99
4217 #define AL_surfxml_argument 100
4218 #define E_surfxml_argument 101
4219 #define AL_surfxml_config 102
4220 #define S_surfxml_config 103
4221 #define S_surfxml_config_1 104
4222 #define S_surfxml_config_2 105
4223 #define E_surfxml_config 106
4224 #define AL_surfxml_prop 107
4225 #define E_surfxml_prop 108
4226 #define IMPOSSIBLE 109
4228 #ifndef YY_NO_UNISTD_H
4229 /* Special case for "unistd.h", since it is non-ANSI. We include it way
4230 * down here because we want the user's section 1 to have been scanned first.
4231 * The user has a chance to override it with an option.
4233 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
4234 # ifndef __STRICT_ANSI__
4236 # include <process.h>
4239 # include <unistd.h>
4243 #ifndef YY_EXTRA_TYPE
4244 #define YY_EXTRA_TYPE void *
4247 static int yy_init_globals (void );
4249 /* Accessor methods to globals.
4250 These are made visible to non-reentrant scanners for convenience. */
4252 int surf_parse_lex_destroy (void );
4254 int surf_parse_get_debug (void );
4256 void surf_parse_set_debug (int debug_flag );
4258 YY_EXTRA_TYPE surf_parse_get_extra (void );
4260 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
4262 FILE *surf_parse_get_in (void );
4264 void surf_parse_set_in (FILE * in_str );
4266 FILE *surf_parse_get_out (void );
4268 void surf_parse_set_out (FILE * out_str );
4270 int surf_parse_get_leng (void );
4272 char *surf_parse_get_text (void );
4274 int surf_parse_get_lineno (void );
4276 void surf_parse_set_lineno (int line_number );
4278 /* Macros after this point can all be overridden by user definitions in
4282 #ifndef YY_SKIP_YYWRAP
4284 extern "C" int surf_parse_wrap (void );
4286 extern int surf_parse_wrap (void );
4291 static void yy_flex_strncpy (char *,yyconst char *,int );
4294 #ifdef YY_NEED_STRLEN
4295 static int yy_flex_strlen (yyconst char * );
4301 static int yyinput (void );
4303 static int input (void );
4308 static int yy_start_stack_ptr = 0;
4309 static int yy_start_stack_depth = 0;
4310 static int *yy_start_stack = NULL;
4312 static void yy_push_state (int new_state );
4314 static void yy_pop_state (void );
4316 /* Amount of stuff to slurp up with each read. */
4317 #ifndef YY_READ_BUF_SIZE
4319 /* On IA-64, the buffer size is 16k, not 8k */
4320 #define YY_READ_BUF_SIZE 16384
4322 #define YY_READ_BUF_SIZE 8192
4323 #endif /* __ia64__ */
4326 /* Copy whatever the last rule matched to the standard output. */
4328 /* This used to be an fputs(), but since the string might contain NUL's,
4329 * we now use fwrite().
4331 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
4334 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
4335 * is returned in "result".
4338 #define YY_INPUT(buf,result,max_size) \
4339 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
4343 for ( n = 0; n < max_size && \
4344 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
4345 buf[n] = (char) c; \
4347 buf[n++] = (char) c; \
4348 if ( c == EOF && ferror( surf_parse_in ) ) \
4349 YY_FATAL_ERROR( "input in flex scanner failed" ); \
4355 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
4357 if( errno != EINTR) \
4359 YY_FATAL_ERROR( "input in flex scanner failed" ); \
4363 clearerr(surf_parse_in); \
4370 /* No semi-colon after return; correct usage is to write "yyterminate();" -
4371 * we don't want an extra ';' after the "return" because that will cause
4372 * some compilers to complain about unreachable statements.
4375 #define yyterminate() return YY_NULL
4378 /* Number of entries by which start-condition stack grows. */
4379 #ifndef YY_START_STACK_INCR
4380 #define YY_START_STACK_INCR 25
4383 /* Report a fatal error. */
4384 #ifndef YY_FATAL_ERROR
4385 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4388 /* end tables serialization structures and prototypes */
4390 /* Default declaration of generated scanner - a define so the user can
4391 * easily add parameters.
4394 #define YY_DECL_IS_OURS 1
4396 extern int surf_parse_lex (void);
4398 #define YY_DECL int surf_parse_lex (void)
4399 #endif /* !YY_DECL */
4401 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
4404 #ifndef YY_USER_ACTION
4405 #define YY_USER_ACTION
4408 /* Code executed at the end of each rule. */
4410 #define YY_BREAK break;
4413 #define YY_RULE_SETUP \
4416 /** The main scanner function which does all the work.
4420 register yy_state_type yy_current_state;
4421 register char *yy_cp, *yy_bp;
4422 register int yy_act;
4424 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
4426 reset_surfxml_parse_err_msg();
4427 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
4428 assert(surfxml_bufferstack);
4432 for (i = 0; i < blimit; i++) {
4433 surfxml_bufferstack[i] = '\377';
4437 surfxml_bufferstack[0] = '\0';
4438 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
4444 surfxml_bufferliteral('\0', &bnext, "0.0");
4445 surfxml_bufferliteral('\0', &bnext, "2147483647");
4446 surfxml_bufferliteral('\0', &bnext, "1");
4447 surfxml_bufferliteral('\0', &bnext, "1.0");
4448 surfxml_bufferliteral('\0', &bnext, "1");
4449 surfxml_bufferliteral('\0', &bnext, "0.0");
4450 surfxml_bufferliteral('\0', &bnext, "-1.0");
4451 surfxml_bufferliteral('\0', &bnext, "-1.0");
4452 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
4453 surfxml_statenames[PROLOG] = NULL;
4454 surfxml_statenames[DOCTYPE] = NULL;
4455 surfxml_statenames[EPILOG] = NULL;
4456 surfxml_statenames[INCOMMENT] = NULL;
4457 surfxml_statenames[INPI] = NULL;
4458 surfxml_statenames[VALUE1] = NULL;
4459 surfxml_statenames[VALUE2] = NULL;
4460 surfxml_statenames[CDATA] = NULL;
4461 surfxml_statenames[ROOT_surfxml_platform] = NULL;
4462 surfxml_statenames[AL_surfxml_platform] = NULL;
4463 surfxml_statenames[S_surfxml_platform] = "platform";
4464 surfxml_statenames[S_surfxml_platform_1] = "platform";
4465 surfxml_statenames[S_surfxml_platform_2] = "platform";
4466 surfxml_statenames[S_surfxml_platform_3] = "platform";
4467 surfxml_statenames[S_surfxml_platform_4] = "platform";
4468 surfxml_statenames[S_surfxml_platform_5] = "platform";
4469 surfxml_statenames[S_surfxml_platform_6] = "platform";
4470 surfxml_statenames[S_surfxml_platform_7] = "platform";
4471 surfxml_statenames[S_surfxml_platform_8] = "platform";
4472 surfxml_statenames[E_surfxml_platform] = "platform";
4473 surfxml_statenames[AL_surfxml_include] = NULL;
4474 surfxml_statenames[E_surfxml_include] = "include";
4475 surfxml_statenames[AL_surfxml_trace] = NULL;
4476 surfxml_statenames[IN_trace] = "trace";
4477 surfxml_statenames[AL_surfxml_random] = NULL;
4478 surfxml_statenames[S_surfxml_random] = "random";
4479 surfxml_statenames[S_surfxml_random_1] = "random";
4480 surfxml_statenames[S_surfxml_random_2] = "random";
4481 surfxml_statenames[E_surfxml_random] = "random";
4482 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
4483 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
4484 surfxml_statenames[AL_surfxml_AS] = NULL;
4485 surfxml_statenames[S_surfxml_AS] = "AS";
4486 surfxml_statenames[S_surfxml_AS_1] = "AS";
4487 surfxml_statenames[S_surfxml_AS_2] = "AS";
4488 surfxml_statenames[S_surfxml_AS_3] = "AS";
4489 surfxml_statenames[S_surfxml_AS_4] = "AS";
4490 surfxml_statenames[S_surfxml_AS_5] = "AS";
4491 surfxml_statenames[S_surfxml_AS_6] = "AS";
4492 surfxml_statenames[S_surfxml_AS_7] = "AS";
4493 surfxml_statenames[S_surfxml_AS_8] = "AS";
4494 surfxml_statenames[S_surfxml_AS_9] = "AS";
4495 surfxml_statenames[S_surfxml_AS_10] = "AS";
4496 surfxml_statenames[S_surfxml_AS_11] = "AS";
4497 surfxml_statenames[S_surfxml_AS_12] = "AS";
4498 surfxml_statenames[S_surfxml_AS_13] = "AS";
4499 surfxml_statenames[E_surfxml_AS] = "AS";
4500 surfxml_statenames[AL_surfxml_storage_type] = NULL;
4501 surfxml_statenames[S_surfxml_storage_type] = "storage_type";
4502 surfxml_statenames[S_surfxml_storage_type_1] = "storage_type";
4503 surfxml_statenames[S_surfxml_storage_type_2] = "storage_type";
4504 surfxml_statenames[E_surfxml_storage_type] = "storage_type";
4505 surfxml_statenames[AL_surfxml_storage] = NULL;
4506 surfxml_statenames[S_surfxml_storage] = "storage";
4507 surfxml_statenames[S_surfxml_storage_1] = "storage";
4508 surfxml_statenames[S_surfxml_storage_2] = "storage";
4509 surfxml_statenames[E_surfxml_storage] = "storage";
4510 surfxml_statenames[AL_surfxml_mount] = NULL;
4511 surfxml_statenames[E_surfxml_mount] = "mount";
4512 surfxml_statenames[AL_surfxml_mstorage] = NULL;
4513 surfxml_statenames[E_surfxml_mstorage] = "mstorage";
4514 surfxml_statenames[AL_surfxml_host] = NULL;
4515 surfxml_statenames[S_surfxml_host] = "host";
4516 surfxml_statenames[S_surfxml_host_1] = "host";
4517 surfxml_statenames[S_surfxml_host_2] = "host";
4518 surfxml_statenames[E_surfxml_host] = "host";
4519 surfxml_statenames[AL_surfxml_cluster] = NULL;
4520 surfxml_statenames[E_surfxml_cluster] = "cluster";
4521 surfxml_statenames[AL_surfxml_peer] = NULL;
4522 surfxml_statenames[E_surfxml_peer] = "peer";
4523 surfxml_statenames[AL_surfxml_router] = NULL;
4524 surfxml_statenames[E_surfxml_router] = "router";
4525 surfxml_statenames[AL_surfxml_link] = NULL;
4526 surfxml_statenames[S_surfxml_link] = "link";
4527 surfxml_statenames[S_surfxml_link_1] = "link";
4528 surfxml_statenames[S_surfxml_link_2] = "link";
4529 surfxml_statenames[E_surfxml_link] = "link";
4530 surfxml_statenames[AL_surfxml_route] = NULL;
4531 surfxml_statenames[S_surfxml_route] = "route";
4532 surfxml_statenames[S_surfxml_route_1] = "route";
4533 surfxml_statenames[S_surfxml_route_2] = "route";
4534 surfxml_statenames[E_surfxml_route] = "route";
4535 surfxml_statenames[AL_surfxml_ASroute] = NULL;
4536 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
4537 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
4538 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
4539 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
4540 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
4541 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
4542 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
4543 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
4544 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
4545 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
4546 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
4547 surfxml_statenames[AL_surfxml_process] = NULL;
4548 surfxml_statenames[S_surfxml_process] = "process";
4549 surfxml_statenames[S_surfxml_process_1] = "process";
4550 surfxml_statenames[S_surfxml_process_2] = "process";
4551 surfxml_statenames[E_surfxml_process] = "process";
4552 surfxml_statenames[AL_surfxml_argument] = NULL;
4553 surfxml_statenames[E_surfxml_argument] = "argument";
4554 surfxml_statenames[AL_surfxml_config] = NULL;
4555 surfxml_statenames[S_surfxml_config] = "config";
4556 surfxml_statenames[S_surfxml_config_1] = "config";
4557 surfxml_statenames[S_surfxml_config_2] = "config";
4558 surfxml_statenames[E_surfxml_config] = "config";
4559 surfxml_statenames[AL_surfxml_prop] = NULL;
4560 surfxml_statenames[E_surfxml_prop] = "prop";
4563 /* COMMENTS and PIs: handled uniformly for efficiency. */
4574 (yy_start) = 1; /* first start state */
4576 if ( ! surf_parse_in )
4577 surf_parse_in = stdin;
4579 if ( ! surf_parse_out )
4580 surf_parse_out = stdout;
4582 if ( ! YY_CURRENT_BUFFER ) {
4583 surf_parse_ensure_buffer_stack ();
4584 YY_CURRENT_BUFFER_LVALUE =
4585 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
4588 surf_parse__load_buffer_state( );
4591 while ( 1 ) /* loops until end-of-file is reached */
4593 yy_cp = (yy_c_buf_p);
4595 /* Support of surf_parse_text. */
4596 *yy_cp = (yy_hold_char);
4598 /* yy_bp points to the position in yy_ch_buf of the start of
4603 yy_current_state = (yy_start);
4607 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4608 if ( yy_accept[yy_current_state] )
4610 (yy_last_accepting_state) = yy_current_state;
4611 (yy_last_accepting_cpos) = yy_cp;
4613 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4615 yy_current_state = (int) yy_def[yy_current_state];
4616 if ( yy_current_state >= 2697 )
4617 yy_c = yy_meta[(unsigned int) yy_c];
4619 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4622 while ( yy_base[yy_current_state] != 9610 );
4625 yy_act = yy_accept[yy_current_state];
4627 { /* have to back up */
4628 yy_cp = (yy_last_accepting_cpos);
4629 yy_current_state = (yy_last_accepting_state);
4630 yy_act = yy_accept[yy_current_state];
4633 YY_DO_BEFORE_ACTION;
4635 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
4638 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
4639 if ( surf_parse_text[yyl] == '\n' )
4641 surf_parse_lineno++;
4645 do_action: /* This label is used only to access EOF actions. */
4648 { /* beginning of action switch */
4649 case 0: /* must back up */
4650 /* undo the effects of YY_DO_BEFORE_ACTION */
4651 *yy_cp = (yy_hold_char);
4652 yy_cp = (yy_last_accepting_cpos);
4653 yy_current_state = (yy_last_accepting_state);
4654 goto yy_find_action;
4672 /* rule 6 can match eol */
4676 case YY_STATE_EOF(INCOMMENT):
4677 FAIL("EOF in comment.");
4686 /* rule 9 can match eol */
4690 case YY_STATE_EOF(INPI):
4691 FAIL("EOF in PI (processing instruction).");
4694 /* SPACES: skipped uniformly */
4696 /* rule 10 can match eol */
4700 /* PROLOG: determine root element and process it. */
4703 /* rule 11 can match eol */
4708 /* rule 12 can match eol */
4710 FAIL("Bad declaration %s.",surf_parse_text);
4714 /* rule 13 can match eol */
4716 SET(ROOT_surfxml_platform);
4719 /* rule 14 can match eol */
4721 FAIL("Bad declaration %s.",surf_parse_text);
4725 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4727 case YY_STATE_EOF(PROLOG):
4728 case YY_STATE_EOF(DOCTYPE):
4729 FAIL("EOF in prolog.");
4732 /* RULES DERIVED FROM DTD. */
4733 /* <!-- Small DTD for SURF based tools. --> */
4735 /* rule 16 can match eol */
4737 FAIL("Starting tag <platform> is not allowed here.");
4740 /* rule 17 can match eol */
4743 AX_surfxml_platform_version = 1;
4744 surfxml_platform_version_isset = 0;
4745 ENTER(AL_surfxml_platform); pushbuffer(0);
4750 /* rule 18 can match eol */
4752 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);
4755 /* rule 19 can match eol */
4757 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);
4762 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4768 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4770 case ROOT_surfxml_platform: SET(EPILOG); break;
4776 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4780 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4782 case YY_STATE_EOF(AL_surfxml_platform):
4783 FAIL("EOF in attribute list of `platform' element.");
4787 /* rule 24 can match eol */
4791 ETag_surfxml_platform();
4792 popbuffer(); /* attribute */
4794 case ROOT_surfxml_platform: SET(EPILOG); break;
4799 /* rule 25 can match eol */
4801 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4805 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4807 case YY_STATE_EOF(S_surfxml_platform_8):
4808 case YY_STATE_EOF(S_surfxml_platform_1):
4809 case YY_STATE_EOF(S_surfxml_platform_3):
4810 case YY_STATE_EOF(S_surfxml_platform):
4811 case YY_STATE_EOF(S_surfxml_platform_4):
4812 case YY_STATE_EOF(S_surfxml_platform_6):
4813 case YY_STATE_EOF(E_surfxml_platform):
4814 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</platform>' expected.");
4818 /* rule 27 can match eol */
4820 FAIL("Starting tag <include> is not allowed here.");
4823 /* rule 28 can match eol */
4826 AX_surfxml_include_file = 0;
4827 surfxml_include_file_isset = 0;
4828 ENTER(AL_surfxml_include); pushbuffer(0);
4833 /* rule 29 can match eol */
4835 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);
4838 /* rule 30 can match eol */
4840 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);
4845 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4846 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
4852 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
4853 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
4855 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4856 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4857 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4858 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4864 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
4868 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
4870 case YY_STATE_EOF(AL_surfxml_include):
4871 FAIL("EOF in attribute list of `include' element.");
4875 /* rule 35 can match eol */
4879 ETag_surfxml_include();
4880 popbuffer(); /* attribute */
4882 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4883 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4884 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4885 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4890 /* rule 36 can match eol */
4892 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
4896 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
4898 case YY_STATE_EOF(E_surfxml_include):
4899 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</include>' expected.");
4903 /* rule 38 can match eol */
4905 FAIL("Starting tag <trace> is not allowed here.");
4908 /* rule 39 can match eol */
4911 AX_surfxml_trace_id = 0;
4912 surfxml_trace_id_isset = 0;
4913 AX_surfxml_trace_file = 0;
4914 surfxml_trace_file_isset = 0;
4915 AX_surfxml_trace_periodicity = 0;
4916 surfxml_trace_periodicity_isset = 0;
4917 ENTER(AL_surfxml_trace); pushbuffer(0);
4922 /* rule 40 can match eol */
4924 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);
4927 /* rule 41 can match eol */
4929 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);
4932 /* rule 42 can match eol */
4934 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);
4937 /* rule 43 can match eol */
4939 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);
4942 /* rule 44 can match eol */
4944 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);
4947 /* rule 45 can match eol */
4949 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);
4954 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4955 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4956 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4962 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4963 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4964 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4966 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;
4967 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4968 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4969 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
4970 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;
4971 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4977 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4981 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4983 case YY_STATE_EOF(AL_surfxml_trace):
4984 FAIL("EOF in attribute list of `trace' element.");
4988 /* rule 50 can match eol */
4993 ETag_surfxml_trace();
4994 surfxml_pcdata_ix = popbuffer();
4995 popbuffer(); /* attribute */
4997 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;
4998 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4999 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5000 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5001 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;
5002 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5007 /* rule 51 can match eol */
5009 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
5011 case YY_STATE_EOF(IN_trace):
5012 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace>' expected.");
5016 /* rule 52 can match eol */
5018 FAIL("Starting tag <random> is not allowed here.");
5021 /* rule 53 can match eol */
5024 AX_surfxml_random_id = 0;
5025 surfxml_random_id_isset = 0;
5026 AX_surfxml_random_min = 0;
5027 surfxml_random_min_isset = 0;
5028 AX_surfxml_random_max = 0;
5029 surfxml_random_max_isset = 0;
5030 AX_surfxml_random_mean = 0;
5031 surfxml_random_mean_isset = 0;
5032 AX_surfxml_random_std_deviation = 0;
5033 surfxml_random_std_deviation_isset = 0;
5034 AX_surfxml_random_seed = 5;
5035 surfxml_random_seed_isset = 0;
5036 AX_surfxml_random_radical = 0;
5037 surfxml_random_radical_isset = 0;
5038 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
5039 surfxml_random_generator_isset = 0;
5040 ENTER(AL_surfxml_random); pushbuffer(0);
5045 /* rule 54 can match eol */
5047 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);
5050 /* rule 55 can match eol */
5052 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);
5055 /* rule 56 can match eol */
5057 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);
5060 /* rule 57 can match eol */
5062 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);
5065 /* rule 58 can match eol */
5067 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);
5070 /* rule 59 can match eol */
5072 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);
5075 /* rule 60 can match eol */
5077 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);
5080 /* rule 61 can match eol */
5082 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);
5085 /* rule 62 can match eol */
5087 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);
5090 /* rule 63 can match eol */
5092 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);
5095 /* rule 64 can match eol */
5097 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);
5100 /* rule 65 can match eol */
5102 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);
5105 /* rule 66 can match eol */
5107 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);
5110 /* rule 67 can match eol */
5112 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);
5115 /* rule 68 can match eol */
5117 /* rule 69 can match eol */
5119 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
5122 /* rule 70 can match eol */
5124 /* rule 71 can match eol */
5126 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
5129 /* rule 72 can match eol */
5131 /* rule 73 can match eol */
5133 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
5136 /* rule 74 can match eol */
5138 /* rule 75 can match eol */
5140 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
5145 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
5146 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
5147 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
5148 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
5149 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
5150 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
5156 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
5157 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
5158 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
5159 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
5160 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
5161 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
5163 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5169 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
5173 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
5175 case YY_STATE_EOF(AL_surfxml_random):
5176 FAIL("EOF in attribute list of `random' element.");
5180 /* rule 80 can match eol */
5184 ETag_surfxml_random();
5185 popbuffer(); /* attribute */
5187 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5192 /* rule 81 can match eol */
5194 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
5198 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
5200 case YY_STATE_EOF(S_surfxml_random):
5201 case YY_STATE_EOF(S_surfxml_random_2):
5202 case YY_STATE_EOF(E_surfxml_random):
5203 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</random>' expected.");
5207 /* rule 83 can match eol */
5209 FAIL("Starting tag <trace_connect> is not allowed here.");
5212 /* rule 84 can match eol */
5215 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
5216 surfxml_trace_connect_kind_isset = 0;
5217 AX_surfxml_trace_connect_trace = 0;
5218 surfxml_trace_connect_trace_isset = 0;
5219 AX_surfxml_trace_connect_element = 0;
5220 surfxml_trace_connect_element_isset = 0;
5221 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
5226 /* rule 85 can match eol */
5228 /* rule 86 can match eol */
5230 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
5233 /* rule 87 can match eol */
5235 /* rule 88 can match eol */
5237 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
5240 /* rule 89 can match eol */
5242 /* rule 90 can match eol */
5244 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
5247 /* rule 91 can match eol */
5249 /* rule 92 can match eol */
5251 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
5254 /* rule 93 can match eol */
5256 /* rule 94 can match eol */
5258 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
5261 /* rule 95 can match eol */
5263 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);
5266 /* rule 96 can match eol */
5268 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);
5271 /* rule 97 can match eol */
5273 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);
5276 /* rule 98 can match eol */
5278 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);
5283 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
5284 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
5285 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
5291 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
5292 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
5293 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
5295 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;
5296 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5297 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5298 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5299 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;
5300 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5306 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
5310 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
5312 case YY_STATE_EOF(AL_surfxml_trace_connect):
5313 FAIL("EOF in attribute list of `trace_connect' element.");
5317 /* rule 103 can match eol */
5321 ETag_surfxml_trace_connect();
5322 popbuffer(); /* attribute */
5324 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;
5325 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5326 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5327 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5328 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;
5329 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5334 /* rule 104 can match eol */
5336 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
5340 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
5342 case YY_STATE_EOF(E_surfxml_trace_connect):
5343 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace_connect>' expected.");
5346 /* (ASroute|trace|trace_connect)*,
5347 * (bypassRoute|trace|trace_connect)*)
5348 * |((include|storage_type|storage|host|router|link|trace|trace_connect)*,
5349 * (route|trace|trace_connect)*))> */
5351 /* rule 106 can match eol */
5353 FAIL("Starting tag <AS> is not allowed here.");
5356 /* rule 107 can match eol */
5359 AX_surfxml_AS_id = 0;
5360 surfxml_AS_id_isset = 0;
5361 AX_surfxml_AS_routing = 0;
5362 surfxml_AS_routing_isset = 0;
5363 ENTER(AL_surfxml_AS); pushbuffer(0);
5368 /* rule 108 can match eol */
5370 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);
5373 /* rule 109 can match eol */
5375 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);
5378 /* rule 110 can match eol */
5380 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);
5383 /* rule 111 can match eol */
5385 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);
5390 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5391 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5392 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
5398 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5399 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
5400 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
5402 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5403 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;
5409 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
5413 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
5415 case YY_STATE_EOF(AL_surfxml_AS):
5416 FAIL("EOF in attribute list of `AS' element.");
5420 /* rule 116 can match eol */
5425 popbuffer(); /* attribute */
5427 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5428 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;
5433 /* rule 117 can match eol */
5435 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
5439 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
5441 case YY_STATE_EOF(S_surfxml_AS_9):
5442 case YY_STATE_EOF(S_surfxml_AS_1):
5443 case YY_STATE_EOF(S_surfxml_AS_11):
5444 case YY_STATE_EOF(S_surfxml_AS_6):
5445 case YY_STATE_EOF(E_surfxml_AS):
5446 case YY_STATE_EOF(S_surfxml_AS_3):
5447 case YY_STATE_EOF(S_surfxml_AS_13):
5448 case YY_STATE_EOF(S_surfxml_AS_8):
5449 case YY_STATE_EOF(S_surfxml_AS):
5450 case YY_STATE_EOF(S_surfxml_AS_4):
5451 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</AS>' expected.");
5455 /* rule 119 can match eol */
5457 FAIL("Starting tag <storage_type> is not allowed here.");
5460 /* rule 120 can match eol */
5463 AX_surfxml_storage_type_id = 0;
5464 surfxml_storage_type_id_isset = 0;
5465 AX_surfxml_storage_type_model = 0;
5466 surfxml_storage_type_model_isset = 0;
5467 AX_surfxml_storage_type_content = 0;
5468 surfxml_storage_type_content_isset = 0;
5469 ENTER(AL_surfxml_storage_type); pushbuffer(0);
5474 /* rule 121 can match eol */
5476 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);
5479 /* rule 122 can match eol */
5481 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);
5484 /* rule 123 can match eol */
5486 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);
5489 /* rule 124 can match eol */
5491 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);
5494 /* rule 125 can match eol */
5496 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);
5499 /* rule 126 can match eol */
5501 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);
5506 if (!AX_surfxml_storage_type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
5507 if (!AX_surfxml_storage_type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
5508 LEAVE; STag_surfxml_storage_type();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage_type);
5514 if (!AX_surfxml_storage_type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
5515 if (!AX_surfxml_storage_type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
5516 LEAVE; STag_surfxml_storage_type(); surfxml_pcdata_ix = 0; ETag_surfxml_storage_type(); popbuffer(); /* attribute */
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: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5525 FAIL("Unexpected character `%c' in attribute list of storage_type element.", surf_parse_text[0]);
5529 FAIL("Bad attribute `%s' in `storage_type' element start tag.",surf_parse_text);
5531 case YY_STATE_EOF(AL_surfxml_storage_type):
5532 FAIL("EOF in attribute list of `storage_type' element.");
5536 /* rule 131 can match eol */
5540 ETag_surfxml_storage_type();
5541 popbuffer(); /* attribute */
5543 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5544 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5549 /* rule 132 can match eol */
5551 FAIL("Unexpected end-tag `%s': `</storage_type>' expected.",surf_parse_text);
5555 FAIL("Unexpected character `%c': `</storage_type>' expected.",surf_parse_text[0]);
5557 case YY_STATE_EOF(E_surfxml_storage_type):
5558 case YY_STATE_EOF(S_surfxml_storage_type_2):
5559 case YY_STATE_EOF(S_surfxml_storage_type):
5560 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage_type>' expected.");
5564 /* rule 134 can match eol */
5566 FAIL("Starting tag <storage> is not allowed here.");
5569 /* rule 135 can match eol */
5572 AX_surfxml_storage_id = 0;
5573 surfxml_storage_id_isset = 0;
5574 AX_surfxml_storage_type_id = 0;
5575 surfxml_storage_type_id_isset = 0;
5576 ENTER(AL_surfxml_storage); pushbuffer(0);
5581 /* rule 136 can match eol */
5583 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);
5586 /* rule 137 can match eol */
5588 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);
5591 /* rule 138 can match eol */
5593 if (surfxml_storage_type_id_isset != 0) {FAIL("Multiple definition of attribute type_id in <surfxml_storage>");} surfxml_storage_type_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_type_id);
5596 /* rule 139 can match eol */
5598 if (surfxml_storage_type_id_isset != 0) {FAIL("Multiple definition of attribute type_id in <surfxml_storage>");} surfxml_storage_type_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_type_id);
5603 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5604 if (!AX_surfxml_storage_type_id) FAIL("Required attribute `type_id' not set for `storage' element.");
5605 LEAVE; STag_surfxml_storage();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage);
5611 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5612 if (!AX_surfxml_storage_type_id) FAIL("Required attribute `type_id' not set for `storage' element.");
5613 LEAVE; STag_surfxml_storage(); surfxml_pcdata_ix = 0; ETag_surfxml_storage(); popbuffer(); /* attribute */
5615 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5616 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5622 FAIL("Unexpected character `%c' in attribute list of storage element.", surf_parse_text[0]);
5626 FAIL("Bad attribute `%s' in `storage' element start tag.",surf_parse_text);
5628 case YY_STATE_EOF(AL_surfxml_storage):
5629 FAIL("EOF in attribute list of `storage' element.");
5633 /* rule 144 can match eol */
5637 ETag_surfxml_storage();
5638 popbuffer(); /* attribute */
5640 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5641 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5646 /* rule 145 can match eol */
5648 FAIL("Unexpected end-tag `%s': `</storage>' expected.",surf_parse_text);
5652 FAIL("Unexpected character `%c': `</storage>' expected.",surf_parse_text[0]);
5654 case YY_STATE_EOF(E_surfxml_storage):
5655 case YY_STATE_EOF(S_surfxml_storage):
5656 case YY_STATE_EOF(S_surfxml_storage_2):
5657 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage>' expected.");
5661 /* rule 147 can match eol */
5663 FAIL("Starting tag <mount> is not allowed here.");
5666 /* rule 148 can match eol */
5669 AX_surfxml_mount_id = 0;
5670 surfxml_mount_id_isset = 0;
5671 AX_surfxml_mount_name = 0;
5672 surfxml_mount_name_isset = 0;
5673 ENTER(AL_surfxml_mount); pushbuffer(0);
5678 /* rule 149 can match eol */
5680 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);
5683 /* rule 150 can match eol */
5685 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);
5688 /* rule 151 can match eol */
5690 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);
5693 /* rule 152 can match eol */
5695 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);
5700 if (!AX_surfxml_mount_id) FAIL("Required attribute `id' not set for `mount' element.");
5701 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
5702 LEAVE; STag_surfxml_mount();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mount);
5708 if (!AX_surfxml_mount_id) FAIL("Required attribute `id' not set for `mount' element.");
5709 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
5710 LEAVE; STag_surfxml_mount(); surfxml_pcdata_ix = 0; ETag_surfxml_mount(); popbuffer(); /* attribute */
5712 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5718 FAIL("Unexpected character `%c' in attribute list of mount element.", surf_parse_text[0]);
5722 FAIL("Bad attribute `%s' in `mount' element start tag.",surf_parse_text);
5724 case YY_STATE_EOF(AL_surfxml_mount):
5725 FAIL("EOF in attribute list of `mount' element.");
5729 /* rule 157 can match eol */
5733 ETag_surfxml_mount();
5734 popbuffer(); /* attribute */
5736 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5741 /* rule 158 can match eol */
5743 FAIL("Unexpected end-tag `%s': `</mount>' expected.",surf_parse_text);
5747 FAIL("Unexpected character `%c': `</mount>' expected.",surf_parse_text[0]);
5749 case YY_STATE_EOF(E_surfxml_mount):
5750 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mount>' expected.");
5754 /* rule 160 can match eol */
5756 FAIL("Starting tag <mstorage> is not allowed here.");
5759 /* rule 161 can match eol */
5762 AX_surfxml_mstorage_type_id = 0;
5763 surfxml_mstorage_type_id_isset = 0;
5764 AX_surfxml_mstorage_name = 0;
5765 surfxml_mstorage_name_isset = 0;
5766 ENTER(AL_surfxml_mstorage); pushbuffer(0);
5771 /* rule 162 can match eol */
5773 if (surfxml_mstorage_type_id_isset != 0) {FAIL("Multiple definition of attribute type_id in <surfxml_mstorage>");} surfxml_mstorage_type_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mstorage_type_id);
5776 /* rule 163 can match eol */
5778 if (surfxml_mstorage_type_id_isset != 0) {FAIL("Multiple definition of attribute type_id in <surfxml_mstorage>");} surfxml_mstorage_type_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mstorage_type_id);
5781 /* rule 164 can match eol */
5783 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);
5786 /* rule 165 can match eol */
5788 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);
5793 if (!AX_surfxml_mstorage_type_id) FAIL("Required attribute `type_id' not set for `mstorage' element.");
5794 if (!AX_surfxml_mstorage_name) FAIL("Required attribute `name' not set for `mstorage' element.");
5795 LEAVE; STag_surfxml_mstorage();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mstorage);
5801 if (!AX_surfxml_mstorage_type_id) FAIL("Required attribute `type_id' not set for `mstorage' element.");
5802 if (!AX_surfxml_mstorage_name) FAIL("Required attribute `name' not set for `mstorage' element.");
5803 LEAVE; STag_surfxml_mstorage(); surfxml_pcdata_ix = 0; ETag_surfxml_mstorage(); popbuffer(); /* attribute */
5805 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5811 FAIL("Unexpected character `%c' in attribute list of mstorage element.", surf_parse_text[0]);
5815 FAIL("Bad attribute `%s' in `mstorage' element start tag.",surf_parse_text);
5817 case YY_STATE_EOF(AL_surfxml_mstorage):
5818 FAIL("EOF in attribute list of `mstorage' element.");
5822 /* rule 170 can match eol */
5826 ETag_surfxml_mstorage();
5827 popbuffer(); /* attribute */
5829 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
5834 /* rule 171 can match eol */
5836 FAIL("Unexpected end-tag `%s': `</mstorage>' expected.",surf_parse_text);
5840 FAIL("Unexpected character `%c': `</mstorage>' expected.",surf_parse_text[0]);
5842 case YY_STATE_EOF(E_surfxml_mstorage):
5843 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mstorage>' expected.");
5847 /* rule 173 can match eol */
5849 FAIL("Starting tag <host> is not allowed here.");
5852 /* rule 174 can match eol */
5855 AX_surfxml_host_id = 0;
5856 surfxml_host_id_isset = 0;
5857 AX_surfxml_host_power = 0;
5858 surfxml_host_power_isset = 0;
5859 AX_surfxml_host_core = 16;
5860 surfxml_host_core_isset = 0;
5861 AX_surfxml_host_availability = 18;
5862 surfxml_host_availability_isset = 0;
5863 AX_surfxml_host_availability_file = 0;
5864 surfxml_host_availability_file_isset = 0;
5865 AX_surfxml_host_state = A_surfxml_host_state_ON;
5866 surfxml_host_state_isset = 0;
5867 AX_surfxml_host_state_file = 0;
5868 surfxml_host_state_file_isset = 0;
5869 AX_surfxml_host_coordinates = 0;
5870 surfxml_host_coordinates_isset = 0;
5871 ENTER(AL_surfxml_host); pushbuffer(0);
5876 /* rule 175 can match eol */
5878 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);
5881 /* rule 176 can match eol */
5883 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);
5886 /* rule 177 can match eol */
5888 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);
5891 /* rule 178 can match eol */
5893 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);
5896 /* rule 179 can match eol */
5898 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);
5901 /* rule 180 can match eol */
5903 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);
5906 /* rule 181 can match eol */
5908 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);
5911 /* rule 182 can match eol */
5913 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);
5916 /* rule 183 can match eol */
5918 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);
5921 /* rule 184 can match eol */
5923 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);
5926 /* rule 185 can match eol */
5928 /* rule 186 can match eol */
5930 A_surfxml_host_state = A_surfxml_host_state_ON;
5933 /* rule 187 can match eol */
5935 /* rule 188 can match eol */
5937 A_surfxml_host_state = A_surfxml_host_state_OFF;
5940 /* rule 189 can match eol */
5942 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);
5945 /* rule 190 can match eol */
5947 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);
5950 /* rule 191 can match eol */
5952 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);
5955 /* rule 192 can match eol */
5957 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);
5962 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
5963 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
5964 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
5970 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
5971 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
5972 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
5974 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5980 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
5984 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
5986 case YY_STATE_EOF(AL_surfxml_host):
5987 FAIL("EOF in attribute list of `host' element.");
5991 /* rule 197 can match eol */
5995 ETag_surfxml_host();
5996 popbuffer(); /* attribute */
5998 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6003 /* rule 198 can match eol */
6005 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
6009 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
6011 case YY_STATE_EOF(S_surfxml_host):
6012 case YY_STATE_EOF(E_surfxml_host):
6013 case YY_STATE_EOF(S_surfxml_host_2):
6014 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host>' expected.");
6018 /* rule 200 can match eol */
6020 FAIL("Starting tag <cluster> is not allowed here.");
6023 /* rule 201 can match eol */
6026 AX_surfxml_cluster_id = 0;
6027 surfxml_cluster_id_isset = 0;
6028 AX_surfxml_cluster_prefix = 0;
6029 surfxml_cluster_prefix_isset = 0;
6030 AX_surfxml_cluster_suffix = 0;
6031 surfxml_cluster_suffix_isset = 0;
6032 AX_surfxml_cluster_radical = 0;
6033 surfxml_cluster_radical_isset = 0;
6034 AX_surfxml_cluster_power = 0;
6035 surfxml_cluster_power_isset = 0;
6036 AX_surfxml_cluster_core = 22;
6037 surfxml_cluster_core_isset = 0;
6038 AX_surfxml_cluster_bw = 0;
6039 surfxml_cluster_bw_isset = 0;
6040 AX_surfxml_cluster_lat = 0;
6041 surfxml_cluster_lat_isset = 0;
6042 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
6043 surfxml_cluster_sharing_policy_isset = 0;
6044 AX_surfxml_cluster_bb_bw = 0;
6045 surfxml_cluster_bb_bw_isset = 0;
6046 AX_surfxml_cluster_bb_lat = 0;
6047 surfxml_cluster_bb_lat_isset = 0;
6048 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
6049 surfxml_cluster_bb_sharing_policy_isset = 0;
6050 AX_surfxml_cluster_availability_file = 0;
6051 surfxml_cluster_availability_file_isset = 0;
6052 AX_surfxml_cluster_state_file = 0;
6053 surfxml_cluster_state_file_isset = 0;
6054 AX_surfxml_cluster_router_id = 0;
6055 surfxml_cluster_router_id_isset = 0;
6056 ENTER(AL_surfxml_cluster); pushbuffer(0);
6061 /* rule 202 can match eol */
6063 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);
6066 /* rule 203 can match eol */
6068 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);
6071 /* rule 204 can match eol */
6073 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);
6076 /* rule 205 can match eol */
6078 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);
6081 /* rule 206 can match eol */
6083 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);
6086 /* rule 207 can match eol */
6088 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);
6091 /* rule 208 can match eol */
6093 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);
6096 /* rule 209 can match eol */
6098 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);
6101 /* rule 210 can match eol */
6103 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);
6106 /* rule 211 can match eol */
6108 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);
6111 /* rule 212 can match eol */
6113 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);
6116 /* rule 213 can match eol */
6118 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);
6121 /* rule 214 can match eol */
6123 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);
6126 /* rule 215 can match eol */
6128 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);
6131 /* rule 216 can match eol */
6133 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);
6136 /* rule 217 can match eol */
6138 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);
6141 /* rule 218 can match eol */
6143 /* rule 219 can match eol */
6145 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
6148 /* rule 220 can match eol */
6150 /* rule 221 can match eol */
6152 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
6155 /* rule 222 can match eol */
6157 /* rule 223 can match eol */
6159 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
6162 /* rule 224 can match eol */
6164 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);
6167 /* rule 225 can match eol */
6169 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);
6172 /* rule 226 can match eol */
6174 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);
6177 /* rule 227 can match eol */
6179 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);
6182 /* rule 228 can match eol */
6184 /* rule 229 can match eol */
6186 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
6189 /* rule 230 can match eol */
6191 /* rule 231 can match eol */
6193 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
6196 /* rule 232 can match eol */
6198 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);
6201 /* rule 233 can match eol */
6203 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);
6206 /* rule 234 can match eol */
6208 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);
6211 /* rule 235 can match eol */
6213 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);
6216 /* rule 236 can match eol */
6218 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);
6221 /* rule 237 can match eol */
6223 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);
6228 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6229 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6230 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6231 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6232 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
6233 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6234 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6235 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
6241 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6242 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6243 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6244 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6245 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
6246 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6247 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6248 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
6250 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6251 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;
6257 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
6261 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
6263 case YY_STATE_EOF(AL_surfxml_cluster):
6264 FAIL("EOF in attribute list of `cluster' element.");
6268 /* rule 242 can match eol */
6272 ETag_surfxml_cluster();
6273 popbuffer(); /* attribute */
6275 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6276 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;
6281 /* rule 243 can match eol */
6283 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
6287 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
6289 case YY_STATE_EOF(E_surfxml_cluster):
6290 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cluster>' expected.");
6294 /* rule 245 can match eol */
6296 FAIL("Starting tag <peer> is not allowed here.");
6299 /* rule 246 can match eol */
6302 AX_surfxml_peer_id = 0;
6303 surfxml_peer_id_isset = 0;
6304 AX_surfxml_peer_power = 0;
6305 surfxml_peer_power_isset = 0;
6306 AX_surfxml_peer_bw_in = 0;
6307 surfxml_peer_bw_in_isset = 0;
6308 AX_surfxml_peer_bw_out = 0;
6309 surfxml_peer_bw_out_isset = 0;
6310 AX_surfxml_peer_lat = 0;
6311 surfxml_peer_lat_isset = 0;
6312 AX_surfxml_peer_coordinates = 0;
6313 surfxml_peer_coordinates_isset = 0;
6314 AX_surfxml_peer_availability_file = 0;
6315 surfxml_peer_availability_file_isset = 0;
6316 AX_surfxml_peer_state_file = 0;
6317 surfxml_peer_state_file_isset = 0;
6318 ENTER(AL_surfxml_peer); pushbuffer(0);
6323 /* rule 247 can match eol */
6325 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);
6328 /* rule 248 can match eol */
6330 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);
6333 /* rule 249 can match eol */
6335 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);
6338 /* rule 250 can match eol */
6340 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);
6343 /* rule 251 can match eol */
6345 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);
6348 /* rule 252 can match eol */
6350 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);
6353 /* rule 253 can match eol */
6355 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);
6358 /* rule 254 can match eol */
6360 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);
6363 /* rule 255 can match eol */
6365 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);
6368 /* rule 256 can match eol */
6370 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);
6373 /* rule 257 can match eol */
6375 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);
6378 /* rule 258 can match eol */
6380 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);
6383 /* rule 259 can match eol */
6385 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);
6388 /* rule 260 can match eol */
6390 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);
6393 /* rule 261 can match eol */
6395 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);
6398 /* rule 262 can match eol */
6400 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);
6405 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
6406 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
6407 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
6408 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
6409 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
6410 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
6416 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
6417 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
6418 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
6419 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
6420 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
6421 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
6423 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6424 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;
6430 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
6434 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
6436 case YY_STATE_EOF(AL_surfxml_peer):
6437 FAIL("EOF in attribute list of `peer' element.");
6441 /* rule 267 can match eol */
6445 ETag_surfxml_peer();
6446 popbuffer(); /* attribute */
6448 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6449 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;
6454 /* rule 268 can match eol */
6456 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
6460 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
6462 case YY_STATE_EOF(E_surfxml_peer):
6463 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</peer>' expected.");
6467 /* rule 270 can match eol */
6469 FAIL("Starting tag <router> is not allowed here.");
6472 /* rule 271 can match eol */
6475 AX_surfxml_router_id = 0;
6476 surfxml_router_id_isset = 0;
6477 AX_surfxml_router_coordinates = 0;
6478 surfxml_router_coordinates_isset = 0;
6479 ENTER(AL_surfxml_router); pushbuffer(0);
6484 /* rule 272 can match eol */
6486 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);
6489 /* rule 273 can match eol */
6491 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);
6494 /* rule 274 can match eol */
6496 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);
6499 /* rule 275 can match eol */
6501 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);
6506 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
6507 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
6513 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
6514 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
6516 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6522 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
6526 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
6528 case YY_STATE_EOF(AL_surfxml_router):
6529 FAIL("EOF in attribute list of `router' element.");
6533 /* rule 280 can match eol */
6537 ETag_surfxml_router();
6538 popbuffer(); /* attribute */
6540 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6545 /* rule 281 can match eol */
6547 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
6551 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
6553 case YY_STATE_EOF(E_surfxml_router):
6554 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</router>' expected.");
6558 /* rule 283 can match eol */
6560 FAIL("Starting tag <link> is not allowed here.");
6563 /* rule 284 can match eol */
6566 AX_surfxml_link_id = 0;
6567 surfxml_link_id_isset = 0;
6568 AX_surfxml_link_bandwidth = 0;
6569 surfxml_link_bandwidth_isset = 0;
6570 AX_surfxml_link_bandwidth_file = 0;
6571 surfxml_link_bandwidth_file_isset = 0;
6572 AX_surfxml_link_latency = 24;
6573 surfxml_link_latency_isset = 0;
6574 AX_surfxml_link_latency_file = 0;
6575 surfxml_link_latency_file_isset = 0;
6576 AX_surfxml_link_state = A_surfxml_link_state_ON;
6577 surfxml_link_state_isset = 0;
6578 AX_surfxml_link_state_file = 0;
6579 surfxml_link_state_file_isset = 0;
6580 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
6581 surfxml_link_sharing_policy_isset = 0;
6582 ENTER(AL_surfxml_link); pushbuffer(0);
6587 /* rule 285 can match eol */
6589 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);
6592 /* rule 286 can match eol */
6594 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);
6597 /* rule 287 can match eol */
6599 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);
6602 /* rule 288 can match eol */
6604 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);
6607 /* rule 289 can match eol */
6609 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);
6612 /* rule 290 can match eol */
6614 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);
6617 /* rule 291 can match eol */
6619 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);
6622 /* rule 292 can match eol */
6624 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);
6627 /* rule 293 can match eol */
6629 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);
6632 /* rule 294 can match eol */
6634 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);
6637 /* rule 295 can match eol */
6639 /* rule 296 can match eol */
6641 A_surfxml_link_state = A_surfxml_link_state_ON;
6644 /* rule 297 can match eol */
6646 /* rule 298 can match eol */
6648 A_surfxml_link_state = A_surfxml_link_state_OFF;
6651 /* rule 299 can match eol */
6653 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);
6656 /* rule 300 can match eol */
6658 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);
6661 /* rule 301 can match eol */
6663 /* rule 302 can match eol */
6665 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
6668 /* rule 303 can match eol */
6670 /* rule 304 can match eol */
6672 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
6675 /* rule 305 can match eol */
6677 /* rule 306 can match eol */
6679 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
6684 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
6685 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
6686 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
6692 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
6693 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
6694 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
6696 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6697 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6703 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
6707 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
6709 case YY_STATE_EOF(AL_surfxml_link):
6710 FAIL("EOF in attribute list of `link' element.");
6714 /* rule 311 can match eol */
6718 ETag_surfxml_link();
6719 popbuffer(); /* attribute */
6721 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6722 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6727 /* rule 312 can match eol */
6729 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
6733 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
6735 case YY_STATE_EOF(E_surfxml_link):
6736 case YY_STATE_EOF(S_surfxml_link_2):
6737 case YY_STATE_EOF(S_surfxml_link):
6738 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link>' expected.");
6742 /* rule 314 can match eol */
6744 FAIL("Starting tag <route> is not allowed here.");
6747 /* rule 315 can match eol */
6750 AX_surfxml_route_src = 0;
6751 surfxml_route_src_isset = 0;
6752 AX_surfxml_route_dst = 0;
6753 surfxml_route_dst_isset = 0;
6754 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
6755 surfxml_route_symmetrical_isset = 0;
6756 ENTER(AL_surfxml_route); pushbuffer(0);
6761 /* rule 316 can match eol */
6763 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);
6766 /* rule 317 can match eol */
6768 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);
6771 /* rule 318 can match eol */
6773 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);
6776 /* rule 319 can match eol */
6778 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);
6781 /* rule 320 can match eol */
6783 /* rule 321 can match eol */
6785 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
6788 /* rule 322 can match eol */
6790 /* rule 323 can match eol */
6792 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
6797 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
6798 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
6799 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
6805 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
6806 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
6807 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
6809 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;
6815 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
6819 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
6821 case YY_STATE_EOF(AL_surfxml_route):
6822 FAIL("EOF in attribute list of `route' element.");
6826 /* rule 328 can match eol */
6830 ETag_surfxml_route();
6831 popbuffer(); /* attribute */
6833 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;
6838 /* rule 329 can match eol */
6840 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
6844 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
6846 case YY_STATE_EOF(S_surfxml_route):
6847 case YY_STATE_EOF(S_surfxml_route_2):
6848 case YY_STATE_EOF(E_surfxml_route):
6849 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</route>' expected.");
6853 /* rule 331 can match eol */
6855 FAIL("Starting tag <ASroute> is not allowed here.");
6858 /* rule 332 can match eol */
6861 AX_surfxml_ASroute_src = 0;
6862 surfxml_ASroute_src_isset = 0;
6863 AX_surfxml_ASroute_dst = 0;
6864 surfxml_ASroute_dst_isset = 0;
6865 AX_surfxml_ASroute_gw_src = 0;
6866 surfxml_ASroute_gw_src_isset = 0;
6867 AX_surfxml_ASroute_gw_dst = 0;
6868 surfxml_ASroute_gw_dst_isset = 0;
6869 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
6870 surfxml_ASroute_symmetrical_isset = 0;
6871 ENTER(AL_surfxml_ASroute); pushbuffer(0);
6876 /* rule 333 can match eol */
6878 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);
6881 /* rule 334 can match eol */
6883 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);
6886 /* rule 335 can match eol */
6888 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);
6891 /* rule 336 can match eol */
6893 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);
6896 /* rule 337 can match eol */
6898 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);
6901 /* rule 338 can match eol */
6903 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);
6906 /* rule 339 can match eol */
6908 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);
6911 /* rule 340 can match eol */
6913 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);
6916 /* rule 341 can match eol */
6918 /* rule 342 can match eol */
6920 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
6923 /* rule 343 can match eol */
6925 /* rule 344 can match eol */
6927 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
6932 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6933 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6934 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6935 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6936 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
6942 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
6943 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
6944 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
6945 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
6946 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
6948 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;
6954 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
6958 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
6960 case YY_STATE_EOF(AL_surfxml_ASroute):
6961 FAIL("EOF in attribute list of `ASroute' element.");
6965 /* rule 349 can match eol */
6969 ETag_surfxml_ASroute();
6970 popbuffer(); /* attribute */
6972 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;
6977 /* rule 350 can match eol */
6979 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
6983 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
6985 case YY_STATE_EOF(E_surfxml_ASroute):
6986 case YY_STATE_EOF(S_surfxml_ASroute):
6987 case YY_STATE_EOF(S_surfxml_ASroute_2):
6988 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</ASroute>' expected.");
6992 /* rule 352 can match eol */
6994 FAIL("Starting tag <link_ctn> is not allowed here.");
6997 /* rule 353 can match eol */
7000 AX_surfxml_link_ctn_id = 0;
7001 surfxml_link_ctn_id_isset = 0;
7002 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
7003 surfxml_link_ctn_direction_isset = 0;
7004 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
7009 /* rule 354 can match eol */
7011 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);
7014 /* rule 355 can match eol */
7016 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);
7019 /* rule 356 can match eol */
7021 /* rule 357 can match eol */
7023 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
7026 /* rule 358 can match eol */
7028 /* rule 359 can match eol */
7030 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
7033 /* rule 360 can match eol */
7035 /* rule 361 can match eol */
7037 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
7042 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7043 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
7049 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7050 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
7052 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
7053 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7054 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7060 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
7064 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
7066 case YY_STATE_EOF(AL_surfxml_link_ctn):
7067 FAIL("EOF in attribute list of `link_ctn' element.");
7071 /* rule 366 can match eol */
7075 ETag_surfxml_link_ctn();
7076 popbuffer(); /* attribute */
7078 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
7079 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7080 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7085 /* rule 367 can match eol */
7087 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
7091 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
7093 case YY_STATE_EOF(E_surfxml_link_ctn):
7094 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link_ctn>' expected.");
7098 /* rule 369 can match eol */
7100 FAIL("Starting tag <bypassRoute> is not allowed here.");
7103 /* rule 370 can match eol */
7106 AX_surfxml_bypassRoute_src = 0;
7107 surfxml_bypassRoute_src_isset = 0;
7108 AX_surfxml_bypassRoute_dst = 0;
7109 surfxml_bypassRoute_dst_isset = 0;
7110 AX_surfxml_bypassRoute_gw_src = 0;
7111 surfxml_bypassRoute_gw_src_isset = 0;
7112 AX_surfxml_bypassRoute_gw_dst = 0;
7113 surfxml_bypassRoute_gw_dst_isset = 0;
7114 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
7119 /* rule 371 can match eol */
7121 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);
7124 /* rule 372 can match eol */
7126 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);
7129 /* rule 373 can match eol */
7131 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);
7134 /* rule 374 can match eol */
7136 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);
7139 /* rule 375 can match eol */
7141 if (surfxml_bypassRoute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
7144 /* rule 376 can match eol */
7146 if (surfxml_bypassRoute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
7149 /* rule 377 can match eol */
7151 if (surfxml_bypassRoute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
7154 /* rule 378 can match eol */
7156 if (surfxml_bypassRoute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_gw_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
7161 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7162 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7163 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
7164 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
7165 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
7171 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7172 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7173 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
7174 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
7175 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
7177 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
7183 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
7187 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
7189 case YY_STATE_EOF(AL_surfxml_bypassRoute):
7190 FAIL("EOF in attribute list of `bypassRoute' element.");
7194 /* rule 383 can match eol */
7198 ETag_surfxml_bypassRoute();
7199 popbuffer(); /* attribute */
7201 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
7206 /* rule 384 can match eol */
7208 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
7212 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
7214 case YY_STATE_EOF(S_surfxml_bypassRoute):
7215 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
7216 case YY_STATE_EOF(E_surfxml_bypassRoute):
7217 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassRoute>' expected.");
7221 /* rule 386 can match eol */
7223 FAIL("Starting tag <process> is not allowed here.");
7226 /* rule 387 can match eol */
7229 AX_surfxml_process_host = 0;
7230 surfxml_process_host_isset = 0;
7231 AX_surfxml_process_function = 0;
7232 surfxml_process_function_isset = 0;
7233 AX_surfxml_process_start_time = 28;
7234 surfxml_process_start_time_isset = 0;
7235 AX_surfxml_process_kill_time = 33;
7236 surfxml_process_kill_time_isset = 0;
7237 ENTER(AL_surfxml_process); pushbuffer(0);
7242 /* rule 388 can match eol */
7244 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);
7247 /* rule 389 can match eol */
7249 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);
7252 /* rule 390 can match eol */
7254 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);
7257 /* rule 391 can match eol */
7259 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);
7262 /* rule 392 can match eol */
7264 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);
7267 /* rule 393 can match eol */
7269 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);
7272 /* rule 394 can match eol */
7274 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);
7277 /* rule 395 can match eol */
7279 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);
7284 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
7285 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
7286 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
7292 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
7293 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
7294 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
7296 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;
7302 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
7306 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
7308 case YY_STATE_EOF(AL_surfxml_process):
7309 FAIL("EOF in attribute list of `process' element.");
7313 /* rule 400 can match eol */
7317 ETag_surfxml_process();
7318 popbuffer(); /* attribute */
7320 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;
7325 /* rule 401 can match eol */
7327 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
7331 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
7333 case YY_STATE_EOF(E_surfxml_process):
7334 case YY_STATE_EOF(S_surfxml_process):
7335 case YY_STATE_EOF(S_surfxml_process_2):
7336 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</process>' expected.");
7340 /* rule 403 can match eol */
7342 FAIL("Starting tag <argument> is not allowed here.");
7345 /* rule 404 can match eol */
7348 AX_surfxml_argument_value = 0;
7349 surfxml_argument_value_isset = 0;
7350 ENTER(AL_surfxml_argument); pushbuffer(0);
7355 /* rule 405 can match eol */
7357 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);
7360 /* rule 406 can match eol */
7362 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);
7367 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7368 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
7374 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7375 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
7377 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7383 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
7387 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
7389 case YY_STATE_EOF(AL_surfxml_argument):
7390 FAIL("EOF in attribute list of `argument' element.");
7394 /* rule 411 can match eol */
7398 ETag_surfxml_argument();
7399 popbuffer(); /* attribute */
7401 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7406 /* rule 412 can match eol */
7408 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
7412 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
7414 case YY_STATE_EOF(E_surfxml_argument):
7415 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</argument>' expected.");
7419 /* rule 414 can match eol */
7421 FAIL("Starting tag <config> is not allowed here.");
7424 /* rule 415 can match eol */
7427 AX_surfxml_config_id = 0;
7428 surfxml_config_id_isset = 0;
7429 ENTER(AL_surfxml_config); pushbuffer(0);
7434 /* rule 416 can match eol */
7436 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);
7439 /* rule 417 can match eol */
7441 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);
7446 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
7452 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
7454 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
7460 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
7464 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
7466 case YY_STATE_EOF(AL_surfxml_config):
7467 FAIL("EOF in attribute list of `config' element.");
7471 /* rule 422 can match eol */
7475 ETag_surfxml_config();
7476 popbuffer(); /* attribute */
7478 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
7483 /* rule 423 can match eol */
7485 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
7489 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
7491 case YY_STATE_EOF(S_surfxml_config):
7492 case YY_STATE_EOF(S_surfxml_config_2):
7493 case YY_STATE_EOF(E_surfxml_config):
7494 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</config>' expected.");
7497 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
7498 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
7500 /* rule 425 can match eol */
7502 FAIL("Starting tag <prop> is not allowed here.");
7505 /* rule 426 can match eol */
7508 AX_surfxml_prop_id = 0;
7509 surfxml_prop_id_isset = 0;
7510 AX_surfxml_prop_value = 0;
7511 surfxml_prop_value_isset = 0;
7512 ENTER(AL_surfxml_prop); pushbuffer(0);
7517 /* rule 427 can match eol */
7519 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);
7522 /* rule 428 can match eol */
7524 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);
7527 /* rule 429 can match eol */
7529 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);
7532 /* rule 430 can match eol */
7534 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);
7539 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
7540 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
7541 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
7547 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
7548 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
7549 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
7551 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
7552 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
7553 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
7554 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7555 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
7556 case S_surfxml_storage_type_2: case S_surfxml_storage_type: case S_surfxml_storage_type_1: SET(S_surfxml_storage_type_2); break;
7557 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
7563 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
7567 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
7569 case YY_STATE_EOF(AL_surfxml_prop):
7570 FAIL("EOF in attribute list of `prop' element.");
7574 /* rule 435 can match eol */
7578 ETag_surfxml_prop();
7579 popbuffer(); /* attribute */
7581 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
7582 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
7583 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
7584 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7585 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
7586 case S_surfxml_storage_type_2: case S_surfxml_storage_type: case S_surfxml_storage_type_1: SET(S_surfxml_storage_type_2); break;
7587 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
7592 /* rule 436 can match eol */
7594 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
7598 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
7600 case YY_STATE_EOF(E_surfxml_prop):
7601 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</prop>' expected.");
7604 /* EPILOG: after the root element. */
7608 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
7610 case YY_STATE_EOF(EPILOG):
7614 /* CHARACTER DATA. */
7616 /* Non-defined standard entities... */
7637 /* Character entities. */
7640 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
7644 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
7648 /* rule 446 can match eol */
7650 /* rule 447 can match eol */
7652 /* rule 448 can match eol */
7654 /* rule 449 can match eol */
7665 FAIL("Unexpected `]""]>' in character data.");
7672 case YY_STATE_EOF(VALUE1):
7673 FAIL("EOF in literal (\"'\" expected).");
7680 case YY_STATE_EOF(VALUE2):
7681 FAIL("EOF in literal (`\"' expected).");
7685 /* rule 454 can match eol */
7687 BUFFERPUTC(surf_parse_text[0]);
7691 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
7698 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
7701 BUFFERPUTC(surf_parse_text[0]);
7703 case YY_STATE_EOF(CDATA):
7704 FAIL("EOF in CDATA section.");
7707 /* Impossible rules to avoid warnings from flex(1). */
7708 /* Ideally, this should be replaced by code in flexml.pl that
7709 generates just the states not covered by other rules. */
7712 /* rule 458 can match eol */
7714 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
7721 case YY_STATE_EOF(INITIAL):
7722 case YY_STATE_EOF(ROOT_surfxml_platform):
7723 case YY_STATE_EOF(S_surfxml_platform_2):
7724 case YY_STATE_EOF(S_surfxml_platform_5):
7725 case YY_STATE_EOF(S_surfxml_platform_7):
7726 case YY_STATE_EOF(S_surfxml_random_1):
7727 case YY_STATE_EOF(S_surfxml_AS_2):
7728 case YY_STATE_EOF(S_surfxml_AS_5):
7729 case YY_STATE_EOF(S_surfxml_AS_7):
7730 case YY_STATE_EOF(S_surfxml_AS_10):
7731 case YY_STATE_EOF(S_surfxml_AS_12):
7732 case YY_STATE_EOF(S_surfxml_storage_type_1):
7733 case YY_STATE_EOF(S_surfxml_storage_1):
7734 case YY_STATE_EOF(S_surfxml_host_1):
7735 case YY_STATE_EOF(S_surfxml_link_1):
7736 case YY_STATE_EOF(S_surfxml_route_1):
7737 case YY_STATE_EOF(S_surfxml_ASroute_1):
7738 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
7739 case YY_STATE_EOF(S_surfxml_process_1):
7740 case YY_STATE_EOF(S_surfxml_config_1):
7741 case YY_STATE_EOF(IMPOSSIBLE):
7744 case YY_END_OF_BUFFER:
7746 /* Amount of text matched not including the EOB char. */
7747 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
7749 /* Undo the effects of YY_DO_BEFORE_ACTION. */
7750 *yy_cp = (yy_hold_char);
7751 YY_RESTORE_YY_MORE_OFFSET
7753 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
7755 /* We're scanning a new file or input source. It's
7756 * possible that this happened because the user
7757 * just pointed surf_parse_in at a new source and called
7758 * surf_parse_lex(). If so, then we have to assure
7759 * consistency between YY_CURRENT_BUFFER and our
7760 * globals. Here is the right place to do so, because
7761 * this is the first action (other than possibly a
7762 * back-up) that will match for the new input source.
7764 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7765 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
7766 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
7769 /* Note that here we test for yy_c_buf_p "<=" to the position
7770 * of the first EOB in the buffer, since yy_c_buf_p will
7771 * already have been incremented past the NUL character
7772 * (since all states make transitions on EOB to the
7773 * end-of-buffer state). Contrast this with the test
7776 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
7777 { /* This was really a NUL. */
7778 yy_state_type yy_next_state;
7780 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
7782 yy_current_state = yy_get_previous_state( );
7784 /* Okay, we're now positioned to make the NUL
7785 * transition. We couldn't have
7786 * yy_get_previous_state() go ahead and do it
7787 * for us because it doesn't know how to deal
7788 * with the possibility of jamming (and we don't
7789 * want to build jamming into it because then it
7790 * will run more slowly).
7793 yy_next_state = yy_try_NUL_trans( yy_current_state );
7795 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7797 if ( yy_next_state )
7799 /* Consume the NUL. */
7800 yy_cp = ++(yy_c_buf_p);
7801 yy_current_state = yy_next_state;
7807 yy_cp = (yy_c_buf_p);
7808 goto yy_find_action;
7812 else switch ( yy_get_next_buffer( ) )
7814 case EOB_ACT_END_OF_FILE:
7816 (yy_did_buffer_switch_on_eof) = 0;
7818 if ( surf_parse_wrap( ) )
7820 /* Note: because we've taken care in
7821 * yy_get_next_buffer() to have set up
7822 * surf_parse_text, we can now set up
7823 * yy_c_buf_p so that if some total
7824 * hoser (like flex itself) wants to
7825 * call the scanner after we return the
7826 * YY_NULL, it'll still work - another
7827 * YY_NULL will get returned.
7829 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
7831 yy_act = YY_STATE_EOF(YY_START);
7837 if ( ! (yy_did_buffer_switch_on_eof) )
7843 case EOB_ACT_CONTINUE_SCAN:
7845 (yytext_ptr) + yy_amount_of_matched_text;
7847 yy_current_state = yy_get_previous_state( );
7849 yy_cp = (yy_c_buf_p);
7850 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7853 case EOB_ACT_LAST_MATCH:
7855 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
7857 yy_current_state = yy_get_previous_state( );
7859 yy_cp = (yy_c_buf_p);
7860 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
7861 goto yy_find_action;
7868 "fatal flex scanner internal error--no action found" );
7869 } /* end of action switch */
7870 } /* end of scanning one token */
7871 } /* end of surf_parse_lex */
7873 /* yy_get_next_buffer - try to read in a new buffer
7875 * Returns a code representing an action:
7876 * EOB_ACT_LAST_MATCH -
7877 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
7878 * EOB_ACT_END_OF_FILE - end of file
7880 static int yy_get_next_buffer (void)
7882 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
7883 register char *source = (yytext_ptr);
7884 register int number_to_move, i;
7887 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
7889 "fatal flex scanner internal error--end of buffer missed" );
7891 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
7892 { /* Don't try to fill the buffer, so this is an EOF. */
7893 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
7895 /* We matched a single character, the EOB, so
7896 * treat this as a final EOF.
7898 return EOB_ACT_END_OF_FILE;
7903 /* We matched some text prior to the EOB, first
7906 return EOB_ACT_LAST_MATCH;
7910 /* Try to read more data. */
7912 /* First move last chars to start of buffer. */
7913 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
7915 for ( i = 0; i < number_to_move; ++i )
7916 *(dest++) = *(source++);
7918 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
7919 /* don't do the read, it's not guaranteed to return an EOF,
7922 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
7927 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
7929 while ( num_to_read <= 0 )
7930 { /* Not enough room in the buffer - grow it. */
7932 /* just a shorter name for the current buffer */
7933 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
7935 int yy_c_buf_p_offset =
7936 (int) ((yy_c_buf_p) - b->yy_ch_buf);
7938 if ( b->yy_is_our_buffer )
7940 int new_size = b->yy_buf_size * 2;
7942 if ( new_size <= 0 )
7943 b->yy_buf_size += b->yy_buf_size / 8;
7945 b->yy_buf_size *= 2;
7947 b->yy_ch_buf = (char *)
7948 /* Include room in for 2 EOB chars. */
7949 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
7952 /* Can't grow it, we don't own it. */
7955 if ( ! b->yy_ch_buf )
7957 "fatal error - scanner input buffer overflow" );
7959 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
7961 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
7966 if ( num_to_read > YY_READ_BUF_SIZE )
7967 num_to_read = YY_READ_BUF_SIZE;
7969 /* Read in more data. */
7970 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
7971 (yy_n_chars), (size_t) num_to_read );
7973 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7976 if ( (yy_n_chars) == 0 )
7978 if ( number_to_move == YY_MORE_ADJ )
7980 ret_val = EOB_ACT_END_OF_FILE;
7981 surf_parse_restart(surf_parse_in );
7986 ret_val = EOB_ACT_LAST_MATCH;
7987 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
7988 YY_BUFFER_EOF_PENDING;
7993 ret_val = EOB_ACT_CONTINUE_SCAN;
7995 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
7996 /* Extend the array by 50%, plus the number we really need. */
7997 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
7998 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
7999 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
8000 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
8003 (yy_n_chars) += number_to_move;
8004 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
8005 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
8007 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
8012 /* yy_get_previous_state - get the state just before the EOB char was reached */
8014 static yy_state_type yy_get_previous_state (void)
8016 register yy_state_type yy_current_state;
8017 register char *yy_cp;
8019 yy_current_state = (yy_start);
8021 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
8023 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
8024 if ( yy_accept[yy_current_state] )
8026 (yy_last_accepting_state) = yy_current_state;
8027 (yy_last_accepting_cpos) = yy_cp;
8029 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
8031 yy_current_state = (int) yy_def[yy_current_state];
8032 if ( yy_current_state >= 2697 )
8033 yy_c = yy_meta[(unsigned int) yy_c];
8035 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
8038 return yy_current_state;
8041 /* yy_try_NUL_trans - try to make a transition on the NUL character
8044 * next_state = yy_try_NUL_trans( current_state );
8046 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
8048 register int yy_is_jam;
8049 register char *yy_cp = (yy_c_buf_p);
8051 register YY_CHAR yy_c = 1;
8052 if ( yy_accept[yy_current_state] )
8054 (yy_last_accepting_state) = yy_current_state;
8055 (yy_last_accepting_cpos) = yy_cp;
8057 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
8059 yy_current_state = (int) yy_def[yy_current_state];
8060 if ( yy_current_state >= 2697 )
8061 yy_c = yy_meta[(unsigned int) yy_c];
8063 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
8064 yy_is_jam = (yy_current_state == 2696);
8066 return yy_is_jam ? 0 : yy_current_state;
8071 static int yyinput (void)
8073 static int input (void)
8079 *(yy_c_buf_p) = (yy_hold_char);
8081 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
8083 /* yy_c_buf_p now points to the character we want to return.
8084 * If this occurs *before* the EOB characters, then it's a
8085 * valid NUL; if not, then we've hit the end of the buffer.
8087 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
8088 /* This was really a NUL. */
8089 *(yy_c_buf_p) = '\0';
8092 { /* need more input */
8093 int offset = (yy_c_buf_p) - (yytext_ptr);
8096 switch ( yy_get_next_buffer( ) )
8098 case EOB_ACT_LAST_MATCH:
8099 /* This happens because yy_g_n_b()
8100 * sees that we've accumulated a
8101 * token and flags that we need to
8102 * try matching the token before
8103 * proceeding. But for input(),
8104 * there's no matching to consider.
8105 * So convert the EOB_ACT_LAST_MATCH
8106 * to EOB_ACT_END_OF_FILE.
8109 /* Reset buffer status. */
8110 surf_parse_restart(surf_parse_in );
8114 case EOB_ACT_END_OF_FILE:
8116 if ( surf_parse_wrap( ) )
8119 if ( ! (yy_did_buffer_switch_on_eof) )
8128 case EOB_ACT_CONTINUE_SCAN:
8129 (yy_c_buf_p) = (yytext_ptr) + offset;
8135 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
8136 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
8137 (yy_hold_char) = *++(yy_c_buf_p);
8141 surf_parse_lineno++;
8146 #endif /* ifndef YY_NO_INPUT */
8148 /** Immediately switch to a different input stream.
8149 * @param input_file A readable stream.
8151 * @note This function does not reset the start condition to @c INITIAL .
8153 void surf_parse_restart (FILE * input_file )
8156 if ( ! YY_CURRENT_BUFFER ){
8157 surf_parse_ensure_buffer_stack ();
8158 YY_CURRENT_BUFFER_LVALUE =
8159 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
8162 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
8163 surf_parse__load_buffer_state( );
8166 /** Switch to a different input buffer.
8167 * @param new_buffer The new input buffer.
8170 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
8173 /* TODO. We should be able to replace this entire function body
8175 * surf_parse_pop_buffer_state();
8176 * surf_parse_push_buffer_state(new_buffer);
8178 surf_parse_ensure_buffer_stack ();
8179 if ( YY_CURRENT_BUFFER == new_buffer )
8182 if ( YY_CURRENT_BUFFER )
8184 /* Flush out information for old buffer. */
8185 *(yy_c_buf_p) = (yy_hold_char);
8186 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
8187 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8190 YY_CURRENT_BUFFER_LVALUE = new_buffer;
8191 surf_parse__load_buffer_state( );
8193 /* We don't actually know whether we did this switch during
8194 * EOF (surf_parse_wrap()) processing, but the only time this flag
8195 * is looked at is after surf_parse_wrap() is called, so it's safe
8196 * to go ahead and always set it.
8198 (yy_did_buffer_switch_on_eof) = 1;
8201 static void surf_parse__load_buffer_state (void)
8203 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
8204 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
8205 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
8206 (yy_hold_char) = *(yy_c_buf_p);
8209 /** Allocate and initialize an input buffer state.
8210 * @param file A readable stream.
8211 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
8213 * @return the allocated buffer state.
8215 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
8219 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
8221 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
8223 b->yy_buf_size = size;
8225 /* yy_ch_buf has to be 2 characters longer than the size given because
8226 * we need to put in 2 end-of-buffer characters.
8228 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
8229 if ( ! b->yy_ch_buf )
8230 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
8232 b->yy_is_our_buffer = 1;
8234 surf_parse__init_buffer(b,file );
8239 /** Destroy the buffer.
8240 * @param b a buffer created with surf_parse__create_buffer()
8243 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
8249 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
8250 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
8252 if ( b->yy_is_our_buffer )
8253 surf_parse_free((void *) b->yy_ch_buf );
8255 surf_parse_free((void *) b );
8259 extern int isatty (int );
8260 #endif /* __cplusplus */
8262 /* Initializes or reinitializes a buffer.
8263 * This function is sometimes called more than once on the same buffer,
8264 * such as during a surf_parse_restart() or at EOF.
8266 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
8271 surf_parse__flush_buffer(b );
8273 b->yy_input_file = file;
8274 b->yy_fill_buffer = 1;
8276 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
8277 * called from surf_parse_restart() or through yy_get_next_buffer.
8278 * In that case, we don't want to reset the lineno or column.
8280 if (b != YY_CURRENT_BUFFER){
8281 b->yy_bs_lineno = 1;
8282 b->yy_bs_column = 0;
8285 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
8290 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
8291 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
8294 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
8301 /* We always need two end-of-buffer characters. The first causes
8302 * a transition to the end-of-buffer state. The second causes
8303 * a jam in that state.
8305 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
8306 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
8308 b->yy_buf_pos = &b->yy_ch_buf[0];
8311 b->yy_buffer_status = YY_BUFFER_NEW;
8313 if ( b == YY_CURRENT_BUFFER )
8314 surf_parse__load_buffer_state( );
8317 /** Pushes the new state onto the stack. The new state becomes
8318 * the current state. This function will allocate the stack
8320 * @param new_buffer The new state.
8323 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
8325 if (new_buffer == NULL)
8328 surf_parse_ensure_buffer_stack();
8330 /* This block is copied from surf_parse__switch_to_buffer. */
8331 if ( YY_CURRENT_BUFFER )
8333 /* Flush out information for old buffer. */
8334 *(yy_c_buf_p) = (yy_hold_char);
8335 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
8336 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8339 /* Only push if top exists. Otherwise, replace top. */
8340 if (YY_CURRENT_BUFFER)
8341 (yy_buffer_stack_top)++;
8342 YY_CURRENT_BUFFER_LVALUE = new_buffer;
8344 /* copied from surf_parse__switch_to_buffer. */
8345 surf_parse__load_buffer_state( );
8346 (yy_did_buffer_switch_on_eof) = 1;
8349 /** Removes and deletes the top of the stack, if present.
8350 * The next element becomes the new top.
8353 void surf_parse_pop_buffer_state (void)
8355 if (!YY_CURRENT_BUFFER)
8358 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
8359 YY_CURRENT_BUFFER_LVALUE = NULL;
8360 if ((yy_buffer_stack_top) > 0)
8361 --(yy_buffer_stack_top);
8363 if (YY_CURRENT_BUFFER) {
8364 surf_parse__load_buffer_state( );
8365 (yy_did_buffer_switch_on_eof) = 1;
8369 /* Allocates the stack if it does not exist.
8370 * Guarantees space for at least one push.
8372 static void surf_parse_ensure_buffer_stack (void)
8376 if (!(yy_buffer_stack)) {
8378 /* First allocation is just for 2 elements, since we don't know if this
8379 * scanner will even need a stack. We use 2 instead of 1 to avoid an
8380 * immediate realloc on the next call.
8383 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
8384 (num_to_alloc * sizeof(struct yy_buffer_state*)
8386 if ( ! (yy_buffer_stack) )
8387 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
8389 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
8391 (yy_buffer_stack_max) = num_to_alloc;
8392 (yy_buffer_stack_top) = 0;
8396 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
8398 /* Increase the buffer to prepare for a possible push. */
8399 int grow_size = 8 /* arbitrary grow size */;
8401 num_to_alloc = (yy_buffer_stack_max) + grow_size;
8402 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
8404 num_to_alloc * sizeof(struct yy_buffer_state*)
8406 if ( ! (yy_buffer_stack) )
8407 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
8409 /* zero only the new slots.*/
8410 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
8411 (yy_buffer_stack_max) = num_to_alloc;
8415 /** Setup the input buffer state to scan directly from a user-specified character buffer.
8416 * @param base the character buffer
8417 * @param size the size in bytes of the character buffer
8419 * @return the newly allocated buffer state object.
8421 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
8426 base[size-2] != YY_END_OF_BUFFER_CHAR ||
8427 base[size-1] != YY_END_OF_BUFFER_CHAR )
8428 /* They forgot to leave room for the EOB's. */
8431 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
8433 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
8435 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
8436 b->yy_buf_pos = b->yy_ch_buf = base;
8437 b->yy_is_our_buffer = 0;
8438 b->yy_input_file = 0;
8439 b->yy_n_chars = b->yy_buf_size;
8440 b->yy_is_interactive = 0;
8442 b->yy_fill_buffer = 0;
8443 b->yy_buffer_status = YY_BUFFER_NEW;
8445 surf_parse__switch_to_buffer(b );
8450 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
8451 * scan from a @e copy of @a str.
8452 * @param yystr a NUL-terminated string to scan
8454 * @return the newly allocated buffer state object.
8455 * @note If you want to scan bytes that may contain NUL values, then use
8456 * surf_parse__scan_bytes() instead.
8458 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
8461 return surf_parse__scan_bytes(yystr,strlen(yystr) );
8464 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
8465 * scan from a @e copy of @a bytes.
8466 * @param yybytes the byte buffer to scan
8467 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
8469 * @return the newly allocated buffer state object.
8471 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
8478 /* Get memory for full buffer, including space for trailing EOB's. */
8479 n = _yybytes_len + 2;
8480 buf = (char *) surf_parse_alloc(n );
8482 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
8484 for ( i = 0; i < _yybytes_len; ++i )
8485 buf[i] = yybytes[i];
8487 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
8489 b = surf_parse__scan_buffer(buf,n );
8491 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
8493 /* It's okay to grow etc. this buffer, and we should throw it
8494 * away when we're done.
8496 b->yy_is_our_buffer = 1;
8501 static void yy_push_state (int new_state )
8503 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
8507 (yy_start_stack_depth) += YY_START_STACK_INCR;
8508 new_size = (yy_start_stack_depth) * sizeof( int );
8510 if ( ! (yy_start_stack) )
8511 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
8514 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
8516 if ( ! (yy_start_stack) )
8517 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
8520 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
8525 static void yy_pop_state (void)
8527 if ( --(yy_start_stack_ptr) < 0 )
8528 YY_FATAL_ERROR( "start-condition stack underflow" );
8530 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
8533 #ifndef YY_EXIT_FAILURE
8534 #define YY_EXIT_FAILURE 2
8537 static void yy_fatal_error (yyconst char* msg )
8539 (void) fprintf( stderr, "%s\n", msg );
8540 exit( YY_EXIT_FAILURE );
8543 /* Redefine yyless() so it works in section 3 code. */
8549 /* Undo effects of setting up surf_parse_text. */ \
8550 int yyless_macro_arg = (n); \
8551 YY_LESS_LINENO(yyless_macro_arg);\
8552 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
8553 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
8554 (yy_hold_char) = *(yy_c_buf_p); \
8555 *(yy_c_buf_p) = '\0'; \
8556 surf_parse_leng = yyless_macro_arg; \
8560 /* Accessor methods (get/set functions) to struct members. */
8562 /** Get the current line number.
8565 int surf_parse_get_lineno (void)
8568 return surf_parse_lineno;
8571 /** Get the input stream.
8574 FILE *surf_parse_get_in (void)
8576 return surf_parse_in;
8579 /** Get the output stream.
8582 FILE *surf_parse_get_out (void)
8584 return surf_parse_out;
8587 /** Get the length of the current token.
8590 int surf_parse_get_leng (void)
8592 return surf_parse_leng;
8595 /** Get the current token.
8599 char *surf_parse_get_text (void)
8601 return surf_parse_text;
8604 /** Set the current line number.
8605 * @param line_number
8608 void surf_parse_set_lineno (int line_number )
8611 surf_parse_lineno = line_number;
8614 /** Set the input stream. This does not discard the current
8616 * @param in_str A readable stream.
8618 * @see surf_parse__switch_to_buffer
8620 void surf_parse_set_in (FILE * in_str )
8622 surf_parse_in = in_str ;
8625 void surf_parse_set_out (FILE * out_str )
8627 surf_parse_out = out_str ;
8630 int surf_parse_get_debug (void)
8632 return surf_parse__flex_debug;
8635 void surf_parse_set_debug (int bdebug )
8637 surf_parse__flex_debug = bdebug ;
8640 static int yy_init_globals (void)
8642 /* Initialization is the same as for the non-reentrant scanner.
8643 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
8646 /* We do not touch surf_parse_lineno unless the option is enabled. */
8647 surf_parse_lineno = 1;
8649 (yy_buffer_stack) = 0;
8650 (yy_buffer_stack_top) = 0;
8651 (yy_buffer_stack_max) = 0;
8652 (yy_c_buf_p) = (char *) 0;
8656 (yy_start_stack_ptr) = 0;
8657 (yy_start_stack_depth) = 0;
8658 (yy_start_stack) = NULL;
8660 /* Defined in main.c */
8662 surf_parse_in = stdin;
8663 surf_parse_out = stdout;
8665 surf_parse_in = (FILE *) 0;
8666 surf_parse_out = (FILE *) 0;
8669 /* For future reference: Set errno on error, since we are called by
8670 * surf_parse_lex_init()
8675 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
8676 int surf_parse_lex_destroy (void)
8679 /* Pop the buffer stack, destroying each element. */
8680 while(YY_CURRENT_BUFFER){
8681 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
8682 YY_CURRENT_BUFFER_LVALUE = NULL;
8683 surf_parse_pop_buffer_state();
8686 /* Destroy the stack itself. */
8687 surf_parse_free((yy_buffer_stack) );
8688 (yy_buffer_stack) = NULL;
8690 /* Destroy the start condition stack. */
8691 surf_parse_free((yy_start_stack) );
8692 (yy_start_stack) = NULL;
8694 /* Reset the globals. This is important in a non-reentrant scanner so the next time
8695 * surf_parse_lex() is called, initialization will occur. */
8702 * Internal utility routines.
8706 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
8709 for ( i = 0; i < n; ++i )
8714 #ifdef YY_NEED_STRLEN
8715 static int yy_flex_strlen (yyconst char * s )
8718 for ( n = 0; s[n]; ++n )
8725 void *surf_parse_alloc (yy_size_t size )
8727 return (void *) malloc( size );
8730 void *surf_parse_realloc (void * ptr, yy_size_t size )
8732 /* The cast to (char *) in the following accommodates both
8733 * implementations that use char* generic pointers, and those
8734 * that use void* generic pointers. It works with the latter
8735 * because both ANSI C and C++ allow castless assignment from
8736 * any pointer type to void*, and deal with argument conversions
8737 * as though doing an assignment.
8739 return (void *) realloc( (char *) ptr, size );
8742 void surf_parse_free (void * ptr )
8744 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
8747 #define YYTABLES_NAME "yytables"
8749 /* Element context stack lookup. */
8750 int surfxml_element_context(int i)
8752 return (0<i && i<yy_start_stack_depth
8753 ? yy_start_stack[yy_start_stack_ptr - i]
8758 void print_yy_stack(char* fmt, ...)
8760 int i = 0; va_list ap; va_start(ap, fmt);
8761 vfprintf(stderr, fmt, ap);
8762 if (surfxml_statenames) {
8763 for (i=1; i<yy_start_stack_ptr; i++) {
8764 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
8766 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
8771 void print_surfxml_bufferstack()
8774 fputs("Buffer: ", stderr);
8775 for (i = 0; i < blimit; i++) {
8776 if ( surfxml_bufferstack[i] == '\377' ) break;
8777 putc(surfxml_bufferstack[i], stderr);
8782 static void debug_enter(int state, const char* statename) {
8783 yy_push_state(state);
8784 if (surf_parse__flex_debug) {
8785 print_yy_stack("--ENTER(%s) : ",statename);
8786 print_surfxml_bufferstack();
8790 static void debug_leave(void) {
8791 if (surf_parse__flex_debug) {
8792 print_yy_stack("--LEAVE : ");
8793 print_surfxml_bufferstack();
8798 static void debug_set(int state, const char* statename) {
8800 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
8804 static void cleanup(void)
8806 if (surfxml_statenames) {
8807 free(surfxml_statenames);
8808 surfxml_statenames = NULL;
8810 free(surfxml_bufferstack);
8811 surfxml_bufferstack = NULL;
8817 static int fail(const char* fmt, ...)
8819 int chars_left, used;
8820 va_list ap; va_start(ap, fmt);
8821 #ifdef FLEXML_yylineno
8822 used = sprintf(flexml_err_msg,
8823 "Invalid XML (XML input line %d, state %d): ",
8824 surf_parse_lineno, YY_START);
8826 used = sprintf(flexml_err_msg,
8827 "Invalid XML (state %d): ",
8830 chars_left = flexml_max_err_msg_size - used - 1;
8831 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
8834 #ifndef FLEXML_quiet_parser
8835 /* print directly to sdterr */
8836 fprintf(stderr, "%s\n", flexml_err_msg);
8837 flexml_err_msg[0] = '\0';