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 394
407 #define YY_END_OF_BUFFER 395
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[2396] =
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, 395, 393,
437 15, 10, 10, 15, 15, 373, 10, 373, 5, 6,
439 5, 8, 9, 8, 389, 381, 382, 390, 387, 390,
440 388, 392, 381, 382, 392, 393, 22, 10, 22, 22,
441 22, 20, 22, 26, 10, 26, 26, 393, 26, 393,
442 393, 26, 37, 10, 37, 37, 37, 35, 37, 37,
443 37, 390, 389, 63, 10, 63, 63, 63, 61, 63,
444 63, 63, 63, 63, 67, 10, 67, 393, 67, 86,
445 10, 86, 86, 86, 84, 86, 86, 86, 90, 10,
446 90, 101, 10, 101, 101, 101, 99, 101, 101, 101,
447 105, 10, 105, 105, 393, 105, 105, 393, 393, 105,
448 393, 105, 393, 105, 128, 10, 128, 128, 128, 126,
450 128, 128, 128, 128, 128, 132, 10, 132, 132, 171,
451 10, 171, 171, 171, 169, 171, 171, 171, 171, 171,
452 171, 171, 171, 175, 10, 175, 200, 10, 200, 200,
453 200, 198, 200, 200, 200, 200, 200, 200, 200, 204,
454 10, 204, 213, 10, 213, 213, 213, 211, 213, 213,
455 217, 10, 217, 244, 10, 244, 244, 244, 242, 244,
456 244, 244, 244, 248, 10, 248, 248, 261, 10, 261,
457 261, 261, 259, 261, 261, 265, 10, 265, 393, 265,
458 282, 10, 282, 282, 282, 280, 282, 282, 282, 286,
459 10, 286, 286, 299, 10, 299, 299, 299, 297, 299,
461 299, 303, 10, 303, 316, 10, 316, 316, 316, 314,
462 316, 316, 316, 320, 10, 320, 320, 333, 10, 333,
463 333, 333, 331, 333, 333, 333, 333, 337, 10, 337,
464 393, 337, 344, 10, 344, 344, 344, 342, 344, 348,
465 10, 348, 355, 10, 355, 355, 355, 353, 355, 359,
466 10, 359, 359, 368, 10, 368, 368, 368, 366, 368,
467 368, 372, 10, 372, 10, 0, 2, 2, 0, 4,
468 7, 384, 383, 0, 0, 0, 0, 0, 0, 0,
469 21, 23, 23, 0, 0, 0, 0, 0, 0, 0,
470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
472 0, 0, 36, 38, 38, 38, 38, 0, 0, 0,
473 62, 64, 64, 64, 64, 64, 64, 64, 64, 64,
474 0, 0, 85, 87, 87, 87, 87, 0, 100, 102,
475 102, 102, 102, 0, 0, 0, 0, 0, 0, 0,
476 0, 0, 127, 129, 129, 129, 129, 129, 129, 0,
477 170, 172, 172, 172, 172, 172, 172, 172, 172, 172,
478 172, 172, 172, 172, 0, 199, 201, 201, 201, 201,
479 201, 201, 201, 201, 201, 0, 212, 214, 214, 214,
480 0, 243, 245, 245, 245, 245, 245, 245, 0, 260,
481 262, 262, 262, 262, 0, 0, 281, 283, 283, 283,
483 283, 283, 0, 298, 300, 300, 300, 0, 315, 317,
484 317, 317, 317, 0, 332, 334, 334, 334, 334, 334,
485 0, 0, 343, 345, 345, 0, 354, 356, 356, 0,
486 367, 369, 369, 369, 0, 0, 0, 0, 0, 3,
487 0, 0, 0, 0, 0, 0, 0, 391, 0, 23,
488 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
489 0, 0, 0, 0, 0, 0, 0, 91, 0, 0,
490 0, 0, 38, 0, 0, 38, 0, 0, 0, 386,
491 64, 0, 0, 64, 64, 64, 64, 64, 64, 0,
492 0, 0, 87, 87, 87, 0, 0, 102, 0, 0,
494 102, 0, 0, 92, 0, 0, 0, 0, 91, 0,
495 0, 129, 129, 129, 0, 0, 129, 129, 0, 0,
496 172, 172, 0, 0, 172, 0, 0, 172, 172, 172,
497 172, 172, 172, 172, 0, 0, 201, 201, 201, 0,
498 0, 201, 201, 201, 201, 0, 0, 214, 0, 0,
499 0, 0, 245, 0, 0, 245, 245, 245, 0, 0,
500 262, 262, 262, 0, 0, 0, 283, 283, 283, 283,
501 0, 0, 300, 0, 0, 0, 0, 317, 317, 317,
502 0, 0, 334, 334, 334, 334, 0, 0, 0, 345,
503 0, 0, 0, 0, 0, 0, 0, 0, 369, 0,
505 0, 0, 14, 1, 0, 0, 379, 0, 0, 0,
506 376, 375, 0, 0, 23, 0, 0, 25, 0, 92,
507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
508 0, 0, 0, 0, 0, 91, 0, 0, 0, 0,
509 38, 0, 30, 29, 38, 0, 0, 0, 40, 0,
510 64, 0, 44, 43, 0, 0, 64, 0, 0, 64,
511 64, 64, 0, 0, 66, 0, 0, 87, 87, 87,
512 0, 0, 89, 0, 102, 0, 94, 93, 102, 0,
513 0, 104, 0, 0, 0, 0, 0, 0, 0, 0,
514 129, 129, 129, 0, 109, 108, 129, 129, 0, 0,
516 131, 0, 172, 172, 172, 172, 0, 148, 147, 172,
517 0, 136, 135, 0, 0, 172, 172, 172, 172, 172,
518 172, 0, 0, 174, 0, 201, 201, 201, 201, 0,
519 179, 178, 0, 0, 201, 201, 201, 0, 0, 203,
520 0, 214, 0, 208, 207, 0, 0, 216, 0, 245,
521 0, 221, 220, 245, 245, 245, 0, 0, 247, 0,
522 0, 0, 0, 0, 262, 0, 0, 264, 0, 0,
523 0, 0, 283, 283, 0, 0, 283, 0, 0, 285,
524 0, 300, 0, 290, 289, 0, 0, 302, 0, 0,
525 0, 317, 317, 0, 0, 0, 0, 319, 0, 334,
527 334, 334, 334, 0, 0, 336, 0, 0, 345, 0,
528 0, 347, 0, 0, 352, 351, 0, 0, 358, 0,
529 0, 363, 362, 369, 0, 0, 371, 0, 0, 0,
530 380, 374, 0, 0, 0, 23, 0, 0, 0, 0,
531 0, 0, 106, 218, 177, 0, 0, 360, 0, 0,
532 0, 0, 0, 0, 176, 0, 0, 0, 0, 38,
533 0, 0, 64, 0, 48, 47, 0, 0, 0, 46,
534 45, 64, 0, 0, 64, 0, 361, 87, 0, 0,
535 87, 0, 102, 102, 0, 103, 0, 0, 107, 219,
536 0, 0, 0, 129, 129, 0, 0, 129, 129, 0,
538 172, 172, 172, 172, 0, 0, 0, 150, 149, 172,
539 172, 172, 172, 172, 172, 0, 201, 201, 201, 201,
540 0, 187, 186, 201, 201, 201, 0, 214, 0, 245,
541 245, 245, 245, 0, 0, 254, 253, 0, 252, 251,
542 262, 0, 218, 0, 271, 270, 283, 283, 0, 269,
543 268, 283, 0, 300, 0, 0, 309, 308, 317, 317,
544 0, 307, 306, 0, 334, 0, 0, 334, 334, 0,
545 0, 345, 0, 0, 369, 0, 0, 0, 0, 12,
546 0, 377, 378, 0, 23, 0, 0, 0, 0, 0,
547 0, 106, 218, 0, 177, 0, 0, 360, 0, 249,
549 28, 0, 0, 0, 176, 0, 27, 0, 32, 31,
550 38, 0, 0, 64, 0, 50, 49, 64, 0, 54,
551 53, 64, 0, 361, 87, 0, 0, 0, 0, 0,
552 0, 102, 102, 0, 0, 107, 219, 250, 250, 249,
553 129, 129, 0, 113, 112, 0, 0, 0, 0, 129,
554 0, 172, 0, 0, 172, 172, 0, 146, 145, 0,
555 0, 172, 172, 172, 172, 172, 0, 201, 0, 0,
556 201, 201, 0, 0, 201, 201, 0, 214, 0, 245,
557 245, 245, 0, 0, 245, 0, 262, 0, 0, 283,
558 283, 283, 0, 300, 0, 317, 317, 0, 334, 0,
560 324, 323, 334, 334, 0, 0, 0, 0, 0, 0,
561 0, 0, 0, 0, 0, 0, 11, 0, 23, 0,
562 0, 0, 0, 0, 350, 0, 0, 0, 42, 249,
563 205, 28, 0, 349, 41, 0, 0, 27, 0, 38,
564 0, 0, 64, 64, 64, 0, 87, 0, 0, 0,
565 0, 0, 0, 0, 0, 0, 81, 80, 0, 102,
566 102, 0, 0, 250, 206, 129, 129, 0, 111, 110,
567 0, 0, 0, 129, 0, 130, 172, 0, 158, 157,
568 0, 0, 172, 0, 144, 143, 0, 0, 172, 172,
569 172, 0, 0, 0, 201, 0, 183, 182, 0, 0,
571 201, 0, 181, 180, 201, 201, 0, 202, 214, 0,
572 245, 245, 245, 0, 0, 0, 245, 0, 246, 262,
573 0, 0, 0, 0, 0, 0, 283, 0, 300, 0,
574 0, 0, 0, 0, 0, 334, 334, 334, 0, 0,
575 0, 341, 340, 0, 0, 0, 365, 364, 0, 370,
576 0, 0, 0, 0, 0, 0, 0, 266, 0, 0,
577 134, 350, 0, 0, 322, 42, 205, 0, 349, 41,
578 133, 321, 0, 38, 0, 0, 39, 64, 0, 0,
579 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
580 0, 0, 0, 0, 0, 102, 0, 0, 267, 0,
582 206, 129, 129, 0, 0, 129, 172, 0, 160, 159,
583 172, 0, 138, 137, 0, 0, 172, 172, 0, 140,
584 139, 0, 201, 0, 185, 184, 201, 201, 201, 214,
585 0, 245, 0, 0, 245, 245, 0, 0, 245, 262,
586 0, 263, 0, 0, 275, 274, 0, 273, 272, 283,
587 0, 300, 0, 0, 313, 312, 0, 311, 310, 0,
588 334, 334, 334, 0, 0, 0, 0, 0, 0, 0,
589 17, 0, 19, 18, 0, 266, 338, 0, 134, 287,
590 16, 322, 0, 133, 321, 0, 38, 385, 64, 0,
591 56, 55, 64, 0, 65, 0, 83, 82, 0, 0,
593 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
594 0, 96, 95, 267, 0, 129, 129, 0, 0, 0,
595 0, 129, 172, 172, 0, 142, 141, 172, 172, 0,
596 201, 201, 201, 201, 214, 0, 215, 245, 0, 227,
597 226, 245, 245, 0, 0, 0, 0, 245, 262, 288,
598 283, 0, 300, 0, 0, 0, 0, 334, 334, 0,
599 339, 0, 0, 357, 0, 0, 0, 17, 0, 338,
600 0, 287, 16, 0, 0, 38, 0, 0, 64, 0,
601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
602 102, 0, 129, 129, 0, 119, 0, 118, 129, 172,
604 172, 172, 172, 0, 173, 201, 201, 201, 201, 214,
605 0, 0, 245, 245, 245, 0, 231, 0, 230, 245,
606 262, 288, 283, 0, 284, 0, 0, 0, 0, 0,
607 326, 325, 0, 0, 334, 0, 335, 339, 0, 0,
608 0, 0, 0, 24, 0, 0, 0, 38, 0, 0,
609 0, 64, 0, 0, 0, 0, 0, 0, 0, 0,
610 0, 0, 0, 102, 0, 129, 129, 121, 120, 0,
611 0, 172, 172, 172, 0, 0, 201, 201, 201, 0,
612 0, 214, 0, 223, 222, 245, 245, 245, 233, 232,
613 0, 0, 262, 283, 0, 0, 0, 0, 301, 0,
615 0, 330, 329, 0, 0, 0, 346, 0, 0, 0,
616 304, 0, 0, 0, 0, 0, 0, 0, 0, 64,
617 0, 0, 0, 0, 73, 0, 0, 0, 0, 72,
618 0, 0, 0, 305, 129, 0, 0, 0, 123, 122,
619 172, 172, 172, 0, 168, 167, 201, 0, 0, 201,
620 0, 197, 196, 0, 0, 245, 245, 245, 0, 235,
621 234, 0, 0, 0, 0, 0, 0, 0, 0, 0,
622 0, 0, 0, 328, 327, 0, 0, 0, 304, 0,
623 0, 0, 34, 33, 0, 0, 0, 0, 64, 0,
624 0, 0, 0, 0, 0, 0, 0, 0, 0, 98,
626 97, 305, 0, 0, 129, 0, 125, 124, 172, 172,
627 172, 201, 0, 189, 188, 201, 0, 210, 209, 245,
628 0, 0, 245, 0, 0, 0, 0, 0, 0, 0,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
630 69, 68, 0, 0, 0, 0, 0, 0, 0, 0,
631 79, 0, 0, 0, 78, 0, 0, 0, 115, 114,
632 129, 172, 172, 172, 201, 201, 245, 0, 229, 228,
633 245, 0, 0, 0, 0, 0, 0, 0, 0, 0,
634 0, 292, 0, 0, 291, 0, 318, 0, 0, 0,
635 0, 0, 0, 69, 68, 0, 0, 0, 0, 0,
637 52, 51, 0, 0, 0, 0, 0, 0, 0, 129,
638 172, 172, 0, 0, 201, 0, 0, 0, 0, 0,
639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
641 60, 0, 59, 77, 0, 0, 76, 0, 0, 0,
642 88, 129, 172, 172, 0, 0, 0, 201, 0, 0,
643 0, 0, 225, 224, 0, 0, 0, 258, 0, 257,
644 0, 279, 0, 278, 0, 294, 296, 293, 295, 0,
645 0, 0, 12, 0, 12, 0, 0, 0, 71, 75,
646 70, 74, 129, 172, 172, 0, 0, 0, 0, 201,
648 0, 0, 0, 0, 0, 0, 0, 0, 256, 255,
649 277, 276, 0, 0, 0, 0, 0, 0, 0, 0,
650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
652 0, 0, 0, 0, 0, 58, 57, 0, 117, 116,
653 0, 166, 165, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 195, 194, 0, 0, 0, 0, 0,
655 0, 0, 0, 0, 0, 0, 11, 0, 0, 0,
656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 152, 0, 0, 151,
664 0, 191, 0, 190, 0, 0, 237, 0, 0, 236,
665 0, 0, 0, 0, 0, 156, 0, 155, 0, 0,
666 0, 239, 0, 238, 0, 0, 0, 0, 0, 0,
667 0, 0, 0, 0, 0, 0, 0, 0, 162, 0,
668 161, 0, 0, 0, 0, 0, 0, 0, 0, 164,
670 163, 154, 153, 193, 192, 241, 240, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
674 0, 0, 0, 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, 0, 0, 0, 0,
677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
683 static yyconst flex_int32_t yy_ec[256] =
685 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
686 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
687 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
688 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
689 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
690 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
691 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
692 28, 29, 30, 28, 31, 32, 33, 34, 35, 36,
693 28, 37, 38, 39, 40, 41, 42, 43, 44, 28,
694 45, 1, 46, 1, 47, 1, 48, 49, 50, 51,
696 52, 53, 54, 55, 56, 28, 57, 58, 59, 60,
697 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
698 71, 28, 1, 1, 1, 1, 1, 1, 1, 1,
699 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
700 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
701 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
702 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
703 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
704 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
705 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
707 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
708 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
709 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
710 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
711 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
715 static yyconst flex_int32_t yy_meta[72] =
717 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
718 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
719 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
720 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
721 5, 5, 5, 5, 1, 1, 5, 9, 9, 9,
722 9, 9, 9, 5, 5, 5, 5, 5, 5, 5,
723 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
727 static yyconst flex_int16_t yy_base[2669] =
729 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
730 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
731 107, 175, 75, 78, 83, 127, 130, 133, 136, 139,
732 156, 195, 198, 201, 204, 207, 224, 227, 230, 233,
733 236, 253, 271, 333, 303, 310, 395, 460, 291, 294,
734 297, 301, 355, 358, 362, 365, 525, 591, 415, 418,
735 657, 721, 421, 424, 427, 480, 483, 486, 489, 492,
736 545, 548, 551, 554, 557, 611, 614, 617, 620, 623,
737 677, 680, 683, 686, 690, 741, 744, 747, 750, 754,
738 771, 776, 794, 859, 814, 817, 820, 823, 827, 879,
740 882, 885, 924, 0, 888, 892, 995, 0, 1065, 1068,
741 1086, 1142, 1106, 1109, 1198, 1263, 1112, 1115, 1119, 1162,
742 1165, 1168, 1171, 1175, 1328, 1393, 1218, 1221, 1224, 1227,
743 1230, 1283, 1286, 1289, 1458, 1523, 1292, 1295, 1348, 1351,
744 1354, 1357, 1360, 1413, 1588, 1644, 1416, 1419, 1700, 1765,
745 1422, 1425, 1478, 1481, 1484, 1487, 1490, 1543, 1830, 1895,
746 1546, 1549, 1552, 1555, 1608, 1611, 1614, 1617, 1960, 2028,
747 1620, 1664, 2096, 2152, 1667, 1670, 1673, 1676, 1720, 1723,
748 1726, 1729, 2208, 2276, 1732, 1785, 0, 0, 6578, 7722,
749 7722, 95, 100, 29, 41, 7722, 159, 51, 7722, 7722,
751 6562, 7722, 7722, 6551, 7722, 6561, 6561, 205, 7722, 7722,
752 7722, 7722, 6559, 6554, 6510, 84, 7722, 162, 6530, 0,
753 150, 7722, 6496, 7722, 165, 2340, 42, 1731, 202, 258,
754 6529, 6478, 7722, 258, 6514, 0, 151, 7722, 6477, 6481,
755 6474, 369, 6479, 7722, 327, 6499, 0, 244, 7722, 6465,
756 6459, 336, 6461, 192, 7722, 368, 82, 88, 111, 7722,
757 444, 6483, 0, 305, 7722, 6443, 6438, 6429, 7722, 453,
758 370, 7722, 509, 6467, 0, 372, 7722, 6425, 6434, 6418,
759 7722, 518, 1803, 1806, 6420, 160, 6450, 11, 422, 389,
760 575, 31, 6459, 83, 7722, 576, 6450, 0, 494, 7722,
762 6396, 6402, 6406, 6395, 6389, 7722, 581, 179, 205, 7722,
763 586, 6429, 0, 497, 7722, 6380, 383, 6381, 6390, 6392,
764 186, 6386, 442, 7722, 642, 635, 7722, 647, 6413, 0,
765 560, 7722, 6359, 6357, 6364, 6368, 6370, 6351, 507, 7722,
766 650, 694, 7722, 707, 6391, 0, 691, 7722, 6349, 6353,
767 7722, 714, 771, 7722, 784, 6383, 0, 828, 7722, 6349,
768 6345, 6347, 576, 7722, 844, 373, 375, 7722, 849, 6369,
769 0, 893, 7722, 6323, 261, 7722, 909, 702, 6370, 6323,
770 7722, 914, 6360, 0, 1120, 7722, 6309, 6304, 379, 7722,
771 1071, 6355, 13, 7722, 1074, 6346, 0, 1176, 7722, 6309,
773 6308, 7722, 1077, 1241, 7722, 1136, 6338, 0, 1230, 7722,
774 6287, 6282, 6286, 7722, 1192, 6333, 211, 7722, 1255, 6324,
775 0, 1295, 7722, 6276, 6281, 6274, 6263, 7722, 1320, 643,
776 6316, 455, 7722, 1323, 6305, 0, 1297, 7722, 6276, 7722,
777 1378, 1365, 7722, 1381, 6303, 0, 1366, 7722, 6267, 7722,
778 1386, 275, 707, 7722, 1443, 6297, 0, 1371, 7722, 6265,
779 6265, 7722, 1446, 1430, 1450, 745, 6242, 7722, 6301, 6286,
780 7722, 7722, 7722, 1501, 505, 6239, 6238, 6234, 6280, 6241,
781 7722, 0, 6230, 6231, 6254, 6225, 6217, 639, 6226, 6226,
782 1197, 1189, 6217, 723, 1449, 6242, 732, 1253, 6213, 776,
784 1443, 1508, 7722, 0, 6218, 1788, 6211, 531, 6204, 6249,
785 7722, 0, 6208, 1798, 6195, 6216, 6203, 6207, 6205, 6205,
786 6189, 1523, 7722, 0, 6200, 6191, 6198, 6179, 7722, 0,
787 6183, 1802, 6174, 6218, 6201, 6163, 6172, 6176, 1450, 6191,
788 1452, 1458, 7722, 0, 6180, 793, 1810, 6158, 6174, 6166,
789 7722, 0, 6172, 6170, 1860, 6152, 1867, 6149, 6141, 6157,
790 6157, 6157, 6156, 6150, 6148, 7722, 0, 6149, 6149, 6132,
791 1870, 6126, 6122, 6140, 6139, 6124, 7722, 0, 6122, 1915,
792 6118, 7722, 0, 6121, 1918, 6110, 6127, 6126, 6113, 7722,
793 0, 6104, 6119, 6105, 6099, 6106, 7722, 0, 6093, 6111,
795 6107, 6093, 6129, 7722, 0, 6086, 1923, 6089, 7722, 0,
796 6080, 6098, 6092, 6092, 7722, 0, 6080, 6070, 6068, 6077,
797 6062, 6055, 7722, 0, 6060, 6069, 7722, 0, 1926, 6062,
798 7722, 0, 1980, 6053, 6048, 6085, 6094, 808, 6044, 7722,
799 1565, 0, 6036, 6036, 6079, 6074, 6029, 7722, 6041, 6019,
800 1929, 1992, 1453, 6029, 6020, 6010, 6016, 6010, 6010, 6017,
801 6020, 6002, 6002, 5994, 6008, 5995, 5994, 1694, 5982, 5996,
802 5986, 5994, 5989, 1983, 1753, 5984, 6011, 1987, 2006, 7722,
803 5982, 2049, 2011, 2052, 5973, 2056, 5972, 5976, 5979, 2059,
804 2074, 5960, 5961, 5968, 5964, 2062, 2116, 5949, 2121, 2081,
806 5946, 2124, 2130, 1820, 5945, 5941, 5945, 5573, 1889, 5572,
807 5570, 5580, 5571, 5582, 2127, 2172, 5581, 5566, 2180, 2183,
808 5575, 1578, 2186, 2190, 5577, 2228, 2231, 2239, 5576, 5573,
809 5562, 5553, 5549, 5553, 2246, 2253, 5549, 27, 5539, 2296,
810 2259, 2299, 5546, 5533, 5529, 2303, 2306, 5525, 2310, 2331,
811 2339, 2344, 5536, 2347, 2351, 5531, 5517, 5514, 2365, 2371,
812 2368, 2374, 2377, 2380, 2405, 5510, 2409, 2412, 2415, 2419,
813 2437, 2441, 5507, 2445, 2449, 2465, 2468, 2471, 2478, 2489,
814 2492, 2496, 5508, 5482, 5489, 5472, 2499, 2502, 5472, 5458,
815 2507, 2511, 2530, 2533, 2542, 2548, 2551, 2554, 5456, 2569,
817 2574, 5502, 7722, 7722, 899, 5455, 7722, 5488, 5487, 5437,
818 7722, 7722, 5431, 5430, 5438, 2577, 2580, 7722, 2583, 1518,
819 5424, 5417, 5435, 5415, 5408, 5393, 5401, 5392, 5385, 524,
820 5399, 5382, 5389, 5385, 5383, 1581, 5357, 5357, 858, 5364,
821 2588, 2602, 7722, 7722, 2610, 5388, 2613, 2616, 7722, 2619,
822 5346, 2638, 7722, 7722, 2624, 2646, 2654, 2657, 2660, 5358,
823 2675, 5352, 2678, 2681, 7722, 2684, 1190, 5350, 2687, 5348,
824 2693, 2705, 7722, 2708, 5341, 2712, 7722, 7722, 5335, 2720,
825 2727, 7722, 2730, 5327, 5339, 5319, 5327, 5316, 5308, 5306,
826 5313, 5318, 2733, 2739, 7722, 7722, 5291, 5287, 2751, 2755,
828 7722, 2758, 5276, 5264, 5283, 5271, 2761, 7722, 7722, 2770,
829 2777, 7722, 7722, 2788, 2791, 5261, 5267, 5264, 5253, 5256,
830 5241, 2799, 2802, 7722, 2806, 5238, 5231, 5223, 5237, 2809,
831 7722, 7722, 2825, 2828, 5215, 5220, 5222, 2836, 2839, 7722,
832 2843, 5212, 2846, 7722, 7722, 2858, 2862, 7722, 2865, 5189,
833 2868, 7722, 7722, 5195, 5197, 5193, 2877, 2884, 7722, 2887,
834 2890, 2896, 2908, 2911, 5185, 2919, 2922, 7722, 2926, 5179,
835 2931, 2934, 5161, 5161, 2949, 2952, 5171, 2960, 2963, 7722,
836 2967, 5159, 2970, 7722, 7722, 2982, 2986, 7722, 2992, 2995,
837 3001, 5143, 5141, 3013, 3016, 3024, 3031, 7722, 3034, 5136,
839 3037, 5153, 5132, 3043, 3046, 7722, 3055, 5130, 5143, 3058,
840 3065, 7722, 3068, 3077, 7722, 7722, 3087, 3090, 7722, 3095,
841 3099, 7722, 7722, 5129, 3109, 3115, 7722, 3121, 743, 3124,
842 7722, 7722, 5163, 5161, 5119, 5109, 3128, 5098, 5105, 5097,
843 5088, 5097, 1638, 1953, 1792, 5098, 5094, 1878, 5084, 5091,
844 5090, 5084, 5073, 5066, 2019, 5075, 5074, 3134, 3148, 5073,
845 5093, 3156, 5066, 3159, 7722, 7722, 3167, 3171, 3181, 7722,
846 7722, 5060, 3189, 3193, 5055, 3201, 2089, 5045, 3207, 3210,
847 3220, 3225, 5037, 5031, 3228, 7722, 5023, 5023, 2135, 3231,
848 5031, 5023, 5022, 5016, 5007, 3234, 3238, 3247, 3252, 3256,
850 5005, 3260, 4986, 4994, 3265, 3279, 3287, 7722, 7722, 3298,
851 4971, 4983, 4970, 4981, 4950, 3301, 4965, 3304, 4945, 4954,
852 3307, 7722, 7722, 3316, 4948, 4953, 3322, 4941, 3325, 4935,
853 4934, 4923, 3328, 3335, 3347, 7722, 7722, 3355, 7722, 7722,
854 4915, 3365, 3368, 3374, 7722, 7722, 4900, 4913, 3391, 7722,
855 7722, 4896, 3385, 4894, 3399, 3404, 7722, 7722, 4886, 4897,
856 3414, 7722, 7722, 3422, 4889, 3425, 3430, 4878, 4895, 3445,
857 4869, 3448, 3451, 3455, 3458, 3470, 456, 4906, 3476, 7722,
858 4905, 7722, 7722, 4862, 4858, 3480, 4851, 4863, 4845, 4857,
859 4853, 2145, 2267, 4846, 3270, 4834, 4828, 3483, 4833, 3489,
861 3495, 4836, 4830, 4835, 3499, 4810, 3502, 3507, 7722, 7722,
862 4818, 4825, 3517, 4797, 3520, 7722, 7722, 4803, 3532, 7722,
863 7722, 4785, 3543, 3548, 4786, 3552, 1915, 2397, 3562, 3568,
864 3576, 4789, 4793, 4780, 4779, 3580, 3583, 3586, 3589, 3595,
865 4783, 4771, 3599, 7722, 7722, 3607, 3610, 3618, 3621, 4776,
866 3629, 4772, 3632, 3636, 3644, 4756, 3652, 7722, 7722, 3662,
867 3665, 3673, 4759, 4760, 4756, 3676, 3680, 4759, 3683, 3687,
868 3695, 4737, 3701, 3704, 4742, 4736, 3713, 4726, 3719, 4730,
869 4705, 4704, 3722, 3725, 4704, 3733, 4691, 3740, 4700, 3745,
870 3748, 3753, 3759, 4688, 3766, 3771, 3774, 3778, 4681, 3785,
872 7722, 7722, 4685, 4673, 3781, 4673, 3793, 3800, 3812, 3816,
873 3819, 3825, 3837, 1663, 1800, 1082, 7722, 4639, 3842, 3845,
874 4650, 4640, 4645, 4613, 3848, 4610, 4599, 4596, 3851, 3856,
875 3860, 3864, 4592, 3871, 3874, 4570, 4555, 3877, 4551, 4550,
876 4543, 3880, 4499, 3883, 4476, 3887, 3890, 4509, 4486, 333,
877 4483, 4491, 4424, 871, 4411, 3895, 7722, 7722, 3908, 4388,
878 3911, 4382, 4343, 3914, 3917, 4313, 4316, 3920, 7722, 7722,
879 3929, 4259, 4171, 4146, 3937, 7722, 4133, 3941, 7722, 7722,
880 3949, 3956, 4127, 3967, 7722, 7722, 3975, 3978, 3986, 4107,
881 4028, 3989, 3993, 4007, 4023, 4010, 7722, 7722, 4018, 4022,
883 4030, 4030, 7722, 7722, 4008, 3930, 4038, 7722, 3789, 4041,
884 3764, 4044, 19, 4047, 135, 183, 190, 4062, 7722, 246,
885 4065, 328, 4068, 4071, 4090, 4093, 402, 4086, 462, 4108,
886 4111, 4114, 4122, 4129, 4140, 508, 548, 572, 4143, 574,
887 4147, 7722, 7722, 4162, 4165, 4168, 7722, 7722, 4176, 7722,
888 1100, 741, 835, 614, 4184, 4188, 4196, 4207, 654, 676,
889 4218, 4221, 750, 777, 4224, 4227, 4230, 797, 4233, 4236,
890 4239, 4242, 814, 846, 877, 4245, 7722, 1018, 4248, 4252,
891 1036, 4260, 4266, 4269, 1051, 1090, 1090, 1101, 1116, 1142,
892 1144, 1145, 1151, 1148, 4279, 1125, 4284, 4287, 4298, 1153,
894 4302, 1180, 1175, 1603, 1659, 1202, 1221, 4305, 7722, 7722,
895 1243, 4313, 7722, 7722, 4321, 4324, 1244, 1256, 4332, 7722,
896 7722, 4340, 1257, 4343, 7722, 7722, 1254, 1282, 1307, 1301,
897 4351, 1313, 4354, 4359, 1338, 1347, 1715, 1819, 1372, 1382,
898 4372, 7722, 1373, 4375, 7722, 7722, 4384, 7722, 7722, 1386,
899 4392, 1381, 4395, 4399, 7722, 7722, 4407, 7722, 7722, 4415,
900 4418, 1422, 1459, 4421, 1473, 4425, 4428, 4436, 1543, 1566,
901 4447, 4451, 7722, 7722, 4460, 4463, 4466, 1495, 4469, 4472,
902 4475, 4479, 1505, 4485, 4488, 1516, 1559, 7722, 4491, 4494,
903 7722, 7722, 1562, 4502, 7722, 4505, 7722, 7722, 1635, 1642,
905 1658, 1656, 1666, 1691, 1698, 1713, 1709, 1722, 4513, 1700,
906 4521, 7722, 7722, 4532, 1693, 1705, 1711, 1737, 1792, 1772,
907 1799, 1757, 1770, 1773, 4535, 7722, 7722, 1793, 1805, 4543,
908 1803, 1813, 1805, 1825, 1826, 4546, 7722, 4549, 4552, 7722,
909 7722, 1832, 1829, 1867, 1905, 1896, 1915, 1883, 1888, 4567,
910 1891, 4573, 4576, 4579, 4582, 4585, 4588, 4603, 1891, 4606,
911 4609, 4612, 4615, 7722, 4621, 1968, 2024, 4625, 4634, 4642,
912 1880, 4645, 4648, 1894, 1898, 1888, 4653, 4656, 1920, 1950,
913 1946, 1963, 1951, 1964, 1961, 1957, 1977, 1969, 1981, 4664,
914 1959, 1959, 1961, 1992, 2061, 7722, 2060, 7722, 4667, 2006,
916 2034, 2028, 4671, 4677, 7722, 2022, 2024, 2037, 4685, 2047,
917 4689, 4692, 2068, 2077, 2085, 2139, 7722, 2142, 7722, 4703,
918 2119, 4707, 2121, 4710, 7722, 4713, 4717, 4725, 4731, 4734,
919 7722, 7722, 4744, 4750, 4758, 4762, 7722, 4765, 4768, 2181,
920 2182, 2175, 4771, 7722, 2139, 2152, 2154, 4776, 4781, 2235,
921 2267, 2146, 2194, 2223, 2222, 2229, 2246, 2229, 2245, 2250,
922 2253, 2307, 4790, 4797, 2265, 2248, 4800, 7722, 7722, 4803,
923 4809, 2249, 2262, 2269, 4821, 4824, 2256, 4832, 2272, 4835,
924 4839, 4853, 4856, 7722, 7722, 2274, 2279, 2280, 7722, 7722,
925 4864, 4867, 4875, 4878, 4882, 2425, 3109, 4896, 7722, 4899,
927 4902, 7722, 7722, 4910, 4918, 4928, 7722, 2412, 2343, 2377,
928 4931, 2288, 2289, 4934, 4937, 2319, 2343, 2349, 2370, 2334,
929 2374, 2360, 2366, 2383, 7722, 2405, 2394, 2398, 2405, 7722,
930 4947, 4952, 4955, 4966, 4970, 4973, 4976, 4984, 7722, 7722,
931 2407, 2395, 2412, 4992, 7722, 7722, 2429, 5000, 5003, 2433,
932 5012, 7722, 7722, 5020, 5023, 2426, 5031, 2436, 5034, 7722,
933 7722, 5042, 5045, 5053, 5056, 2452, 2454, 2471, 2482, 2483,
934 2484, 5064, 5067, 7722, 7722, 2503, 2505, 5075, 5078, 2455,
935 2460, 5083, 7722, 7722, 2506, 2496, 2516, 2506, 5094, 2502,
936 2525, 2542, 2539, 2525, 2543, 2565, 2566, 5097, 5100, 7722,
938 7722, 5108, 5116, 5119, 2540, 5127, 7722, 7722, 2542, 2538,
939 2527, 2546, 5135, 7722, 7722, 2530, 5146, 7722, 7722, 2550,
940 5154, 5157, 2539, 5165, 2590, 2591, 5173, 2631, 2658, 2588,
941 2598, 2631, 2603, 2612, 2642, 5181, 2650, 5184, 5187, 5190,
942 5209, 5212, 2619, 2629, 2634, 2647, 5215, 5218, 2645, 2663,
943 7722, 2669, 2671, 2675, 7722, 2687, 5226, 5229, 7722, 7722,
944 2663, 2664, 2670, 5237, 2671, 5240, 5245, 5248, 7722, 7722,
945 5258, 2703, 2713, 2711, 2723, 2716, 2740, 2733, 2743, 2742,
946 2751, 7722, 2748, 2758, 7722, 5263, 7722, 2796, 5266, 5269,
947 5278, 5298, 5344, 5291, 5309, 2760, 2781, 2763, 2787, 5318,
949 7722, 7722, 2792, 2767, 2782, 2808, 2788, 2789, 5334, 2766,
950 2767, 2783, 5338, 5326, 2777, 5356, 5364, 5374, 5377, 5392,
951 5395, 2830, 2813, 2844, 2816, 2852, 2837, 2867, 2845, 2878,
952 2890, 2892, 2894, 2896, 5403, 2925, 2899, 5423, 5469, 2892,
953 7722, 2904, 7722, 7722, 2935, 2938, 7722, 2939, 2940, 5413,
954 7722, 2905, 2907, 2904, 5443, 2954, 2973, 2925, 5451, 2986,
955 3015, 5489, 7722, 7722, 5497, 3038, 3046, 7722, 2972, 7722,
956 2973, 7722, 2985, 7722, 2992, 7722, 7722, 7722, 7722, 3023,
957 3003, 3009, 3002, 3086, 3012, 5416, 3040, 3049, 7722, 7722,
958 7722, 7722, 5460, 5463, 5505, 3099, 3045, 3124, 3048, 5508,
960 3047, 3071, 3064, 3080, 3167, 3085, 3178, 3091, 7722, 7722,
961 7722, 7722, 5514, 3127, 3119, 3133, 5517, 3141, 3147, 5526,
962 5529, 5537, 5540, 5548, 5551, 3127, 3135, 3150, 3139, 3147,
963 3159, 5559, 5562, 3156, 3176, 3169, 3193, 3178, 3188, 3203,
964 3204, 3214, 3235, 5570, 3241, 7722, 7722, 5573, 7722, 7722,
965 5582, 7722, 7722, 5590, 3259, 3260, 3229, 3238, 3240, 3244,
966 3260, 3257, 5598, 7722, 7722, 3263, 3275, 3282, 3278, 3297,
967 3302, 3299, 3304, 3309, 3306, 3340, 7722, 3322, 3317, 3326,
968 3323, 3324, 3337, 3337, 3335, 3348, 3348, 3354, 3355, 3357,
969 3364, 3366, 3373, 3373, 3374, 3384, 3385, 3392, 3375, 3399,
971 3383, 3413, 3401, 3398, 3415, 3405, 3403, 3420, 3423, 3439,
972 3426, 3443, 3433, 3436, 3456, 3452, 3449, 3469, 3492, 3471,
973 3477, 3479, 3480, 3499, 3491, 3524, 3513, 3504, 3534, 3512,
974 3551, 3523, 3551, 3536, 3531, 3562, 3547, 3539, 3567, 3574,
975 3565, 3580, 3577, 3589, 3611, 3586, 7722, 3620, 3609, 7722,
976 3611, 7722, 3612, 7722, 3646, 3625, 7722, 3651, 3630, 7722,
977 3668, 3634, 3647, 3637, 3669, 7722, 3683, 7722, 3685, 3686,
978 3692, 7722, 3693, 7722, 3704, 5607, 3706, 3732, 3714, 3736,
979 3711, 3715, 3716, 3722, 3723, 3756, 5610, 3794, 7722, 3796,
980 7722, 3801, 3799, 3804, 3802, 3818, 3816, 3815, 3917, 7722,
982 7722, 7722, 7722, 7722, 7722, 7722, 7722, 3822, 3876, 3883,
983 3888, 3905, 3936, 3984, 3987, 3954, 3963, 4003, 4018, 3941,
984 3997, 3849, 3907, 3836, 3998, 3981, 4032, 3965, 4034, 4063,
985 4080, 4056, 4083, 4128, 4164, 4101, 4107, 4084, 4109, 4040,
986 4061, 4137, 4153, 4139, 4161, 4088, 4246, 4184, 4301, 4156,
987 4239, 4193, 4237, 4254, 4256, 4257, 4311, 3916, 4352, 4328,
988 4339, 4317, 4394, 4362, 4369, 4272, 4371, 4464, 4492, 4386,
989 4387, 4481, 4500, 4312, 4331, 4438, 4479, 4506, 4508, 4259,
990 4522, 4610, 4620, 4547, 4552, 4633, 4665, 4613, 4698, 3928,
991 4198, 5618, 5621, 7722, 7722, 5641, 5650, 5659, 5668, 5677,
993 5686, 5695, 5704, 5713, 5722, 5731, 5740, 5749, 5758, 5767,
994 5776, 5785, 5794, 5803, 5812, 5821, 5830, 5839, 5848, 5857,
995 5866, 5875, 5884, 5893, 5902, 5911, 5920, 5929, 5938, 5947,
996 5956, 5965, 5974, 5983, 5992, 5999, 6006, 6013, 6020, 6027,
997 6034, 6041, 6048, 6055, 6062, 6069, 6076, 6083, 6090, 6097,
998 6104, 6111, 6118, 6127, 6134, 6139, 6144, 6151, 6156, 6163,
999 6168, 6175, 6180, 6185, 6190, 6197, 6202, 6209, 6214, 6221,
1000 6226, 6233, 6238, 6245, 6250, 6257, 6262, 6269, 6274, 6281,
1001 6286, 6293, 6298, 6305, 6310, 6317, 6322, 6331, 6337, 6344,
1002 6352, 6359, 6367, 6374, 6382, 6389, 6397, 6404, 6412, 6419,
1004 6427, 6434, 6442, 6449, 6457, 6464, 6472, 6479, 6487, 6495,
1005 6503, 6511, 6519, 6526, 6534, 6542, 6550, 6557, 6565, 6572,
1006 6580, 6588, 6595, 6603, 6612, 6618, 6625, 6633, 6641, 6649,
1007 6656, 6664, 6671, 6679, 6686, 6694, 6701, 6709, 6716, 6724,
1008 6731, 6739, 6746, 6754, 6761, 6769, 6776, 6784, 6791, 6799,
1009 6806, 6814, 6821, 6829, 6836, 6844, 6851, 6859, 6867, 6874,
1010 6882, 6891, 6900, 6907, 6915, 6922, 6930, 6937, 6945, 6952,
1011 6960, 6967, 6974, 6982, 6989, 6997, 7004, 7012, 7019, 7027,
1012 7034, 7042, 7049, 7057, 7064, 7072, 7079, 7087, 7094, 7102,
1013 7109, 7117, 7125, 7133, 7141, 7149, 7157, 7166, 7175, 7182,
1015 7190, 7197, 7205, 7212, 7220, 7227, 7235, 7242, 7249, 7257,
1016 7264, 7272, 7279, 7287, 7294, 7302, 7309, 7317, 7324, 7332,
1017 7340, 7348, 7355, 7363, 7371, 7379, 7386, 7394, 7402, 7410,
1018 7418, 7427, 7436, 7444, 7452, 7459, 7467, 7474, 7482, 7490,
1019 7498, 7505, 7512, 7519, 7527, 7534, 7541, 7549, 7556, 7563,
1020 7571, 7578, 7586, 7593, 7601, 7609, 7616, 7624, 7632, 7640,
1021 7649, 7658, 7667, 7676, 7685, 7694, 7703, 7712
1024 static yyconst flex_int16_t yy_def[2669] =
1026 2396, 2396, 2397, 2397, 2397, 2397, 2398, 2398, 2399, 2399,
1027 2400, 2400, 2401, 2401, 2401, 2401, 2402, 2402, 2396, 2396,
1028 2403, 2403, 2404, 2404, 2404, 2404, 2396, 2396, 2404, 2404,
1029 2404, 2404, 2396, 2396, 2404, 2404, 2396, 2396, 2404, 2404,
1030 2404, 2404, 2405, 2405, 2401, 2401, 2406, 2406, 2407, 2407,
1031 2396, 2396, 2407, 2407, 2407, 2407, 2408, 2408, 2409, 2409,
1032 2410, 2410, 2411, 2411, 2411, 2411, 2396, 2396, 2411, 2411,
1033 2411, 2411, 2396, 2396, 2411, 2411, 2396, 2396, 2411, 2411,
1034 2411, 2411, 2396, 2396, 2411, 2411, 2396, 2396, 2411, 2411,
1035 2411, 2411, 2412, 2412, 2413, 2413, 2396, 2396, 2413, 2413,
1037 2413, 2413, 2395, 103, 2414, 2414, 2395, 107, 2415, 2415,
1038 2416, 2416, 2417, 2417, 2418, 2418, 2419, 2419, 2396, 2396,
1039 2419, 2419, 2419, 2419, 2420, 2420, 2421, 2421, 2396, 2396,
1040 2421, 2421, 2421, 2421, 2422, 2422, 2423, 2423, 2396, 2396,
1041 2423, 2423, 2423, 2423, 2424, 2424, 2425, 2425, 2426, 2426,
1042 2427, 2427, 2396, 2396, 2427, 2427, 2427, 2427, 2428, 2428,
1043 2429, 2429, 2396, 2396, 2429, 2429, 2429, 2429, 2430, 2430,
1044 2431, 2431, 2432, 2432, 2433, 2433, 2396, 2396, 2433, 2433,
1045 2433, 2433, 2434, 2434, 2435, 2435, 2396, 2396, 2395, 2395,
1046 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1048 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1049 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2436,
1050 2395, 2395, 2436, 2395, 2395, 2395, 226, 226, 228, 226,
1051 229, 229, 2395, 2395, 2395, 2437, 2395, 2395, 2437, 2437,
1052 2437, 2395, 2395, 2395, 2395, 2395, 2438, 2395, 2395, 2438,
1053 2438, 2438, 2438, 2438, 2395, 2395, 229, 229, 229, 2395,
1054 2395, 2395, 2439, 2395, 2395, 2439, 2439, 2439, 2395, 2395,
1055 2395, 2395, 2395, 2395, 2440, 2395, 2395, 2440, 2440, 2440,
1056 2395, 2395, 230, 230, 230, 283, 284, 284, 284, 284,
1057 290, 291, 290, 290, 2395, 2395, 2395, 2441, 2395, 2395,
1059 2441, 2441, 2441, 2441, 2441, 2395, 2395, 229, 229, 2395,
1060 2395, 2395, 2442, 2395, 2395, 2442, 2442, 2442, 2442, 2442,
1061 2442, 2442, 2442, 2395, 2395, 2395, 2395, 2395, 2395, 2443,
1062 2395, 2395, 2443, 2443, 2443, 2443, 2443, 2443, 2443, 2395,
1063 2395, 2395, 2395, 2395, 2395, 2444, 2395, 2395, 2444, 2444,
1064 2395, 2395, 2395, 2395, 2395, 2395, 2445, 2395, 2395, 2445,
1065 2445, 2445, 2445, 2395, 2395, 229, 229, 2395, 2395, 2395,
1066 2446, 2395, 2395, 2446, 2446, 2395, 2395, 229, 378, 378,
1067 2395, 2395, 2395, 2447, 2395, 2395, 2447, 2447, 2447, 2395,
1068 2395, 378, 378, 2395, 2395, 2395, 2448, 2395, 2395, 2448,
1070 2448, 2395, 2395, 2395, 2395, 2395, 2395, 2449, 2395, 2395,
1071 2449, 2449, 2449, 2395, 2395, 378, 378, 2395, 2395, 2395,
1072 2450, 2395, 2395, 2450, 2450, 2450, 2450, 2395, 2395, 229,
1073 430, 430, 2395, 2395, 2395, 2451, 2395, 2395, 2451, 2395,
1074 2395, 2395, 2395, 2395, 2395, 2452, 2395, 2395, 2452, 2395,
1075 2395, 430, 229, 2395, 2395, 2395, 2453, 2395, 2395, 2453,
1076 2453, 2395, 2395, 2395, 2395, 2454, 2395, 2395, 2395, 2395,
1077 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1078 2395, 2455, 2455, 2456, 2395, 2395, 2395, 2395, 2395, 2395,
1079 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1081 2395, 2395, 2395, 2437, 2437, 2437, 2437, 2395, 2457, 2395,
1082 2395, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
1083 2459, 2395, 2395, 2460, 2460, 2460, 2460, 2461, 2395, 2462,
1084 2462, 2462, 2462, 2463, 2395, 2395, 2395, 2395, 2395, 2395,
1085 2395, 2395, 2395, 2441, 2441, 2441, 2441, 2441, 2441, 2464,
1086 2395, 2442, 2442, 2442, 2442, 2442, 2442, 2442, 2442, 2442,
1087 2442, 2442, 2442, 2442, 2465, 2395, 2466, 2466, 2466, 2466,
1088 2466, 2466, 2466, 2466, 2466, 2467, 2395, 2468, 2468, 2468,
1089 2469, 2395, 2470, 2470, 2470, 2470, 2470, 2470, 2471, 2395,
1090 2472, 2472, 2472, 2472, 2473, 2395, 2395, 2474, 2474, 2474,
1092 2474, 2474, 2475, 2395, 2476, 2476, 2476, 2477, 2395, 2478,
1093 2478, 2478, 2478, 2479, 2395, 2480, 2480, 2480, 2480, 2480,
1094 2481, 2395, 2395, 2482, 2482, 2483, 2395, 2484, 2484, 2485,
1095 2395, 2486, 2486, 2486, 2487, 2488, 2395, 2488, 2395, 2395,
1096 2395, 2489, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2490,
1097 2491, 2491, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1098 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1099 2395, 2395, 2492, 2395, 2395, 2492, 2395, 2493, 2493, 2395,
1100 2494, 2395, 2395, 2494, 2494, 2494, 2494, 2494, 2494, 2495,
1101 2495, 2395, 2496, 2496, 2496, 2497, 2497, 2498, 2395, 2395,
1103 2498, 2499, 2499, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1104 2395, 2500, 2500, 2500, 2395, 2395, 2500, 2500, 2501, 2501,
1105 2502, 2502, 2395, 2395, 2502, 2395, 2395, 2502, 2502, 2502,
1106 2502, 2502, 2502, 2502, 2503, 2503, 2504, 2504, 2504, 2395,
1107 2395, 2504, 2504, 2504, 2504, 2505, 2505, 2506, 2395, 2395,
1108 2507, 2507, 2508, 2395, 2395, 2508, 2508, 2508, 2509, 2509,
1109 2510, 2510, 2510, 2511, 2511, 2395, 2512, 2512, 2512, 2512,
1110 2513, 2513, 2514, 2395, 2395, 2515, 2515, 2516, 2516, 2516,
1111 2517, 2517, 2518, 2518, 2518, 2518, 2519, 2519, 2395, 2520,
1112 2521, 2521, 2395, 2395, 2522, 2522, 2395, 2395, 2523, 2524,
1114 2524, 2525, 2395, 2395, 2525, 2395, 2395, 2526, 2395, 2395,
1115 2395, 2395, 2395, 2395, 2527, 2395, 2528, 2395, 2528, 2395,
1116 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1117 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1118 2529, 2395, 2395, 2395, 2529, 2395, 2395, 2530, 2395, 2530,
1119 2531, 2395, 2395, 2395, 2395, 2395, 2531, 2395, 2395, 2531,
1120 2531, 2531, 2395, 2532, 2395, 2532, 2395, 2533, 2533, 2533,
1121 2395, 2534, 2395, 2534, 2535, 2395, 2395, 2395, 2535, 2395,
1122 2536, 2395, 2536, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1123 2537, 2537, 2537, 2395, 2395, 2395, 2537, 2537, 2395, 2538,
1125 2395, 2538, 2539, 2539, 2539, 2539, 2395, 2395, 2395, 2539,
1126 2395, 2395, 2395, 2395, 2395, 2539, 2539, 2539, 2539, 2539,
1127 2539, 2395, 2540, 2395, 2540, 2541, 2541, 2541, 2541, 2395,
1128 2395, 2395, 2395, 2395, 2541, 2541, 2541, 2395, 2542, 2395,
1129 2542, 2543, 2395, 2395, 2395, 2395, 2544, 2395, 2544, 2545,
1130 2395, 2395, 2395, 2545, 2545, 2545, 2395, 2546, 2395, 2546,
1131 2395, 2395, 2395, 2395, 2547, 2395, 2548, 2395, 2548, 2395,
1132 2395, 2395, 2549, 2549, 2395, 2395, 2549, 2395, 2550, 2395,
1133 2550, 2551, 2395, 2395, 2395, 2395, 2552, 2395, 2552, 2395,
1134 2395, 2553, 2553, 2395, 2395, 2395, 2554, 2395, 2554, 2555,
1136 2555, 2555, 2555, 2395, 2556, 2395, 2556, 2395, 2557, 2395,
1137 2558, 2395, 2558, 2395, 2395, 2395, 2395, 2559, 2395, 2559,
1138 2395, 2395, 2395, 2560, 2395, 2561, 2395, 2561, 2562, 2563,
1139 2395, 2395, 2395, 2395, 2395, 2564, 2565, 2395, 2395, 2395,
1140 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1141 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2566,
1142 2395, 2567, 2568, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1143 2395, 2568, 2395, 2395, 2568, 2569, 2395, 2570, 2395, 2395,
1144 2570, 2571, 2572, 2572, 2395, 2395, 2395, 2395, 2395, 2395,
1145 2395, 2395, 2395, 2573, 2573, 2395, 2395, 2573, 2573, 2574,
1147 2575, 2575, 2575, 2575, 2395, 2395, 2395, 2395, 2395, 2575,
1148 2575, 2575, 2575, 2575, 2575, 2576, 2577, 2577, 2577, 2577,
1149 2395, 2395, 2395, 2577, 2577, 2577, 2578, 2579, 2580, 2581,
1150 2581, 2581, 2581, 2582, 2395, 2395, 2395, 2395, 2395, 2395,
1151 2583, 2584, 2395, 2395, 2395, 2395, 2585, 2585, 2395, 2395,
1152 2395, 2585, 2586, 2587, 2588, 2395, 2395, 2395, 2589, 2589,
1153 2395, 2395, 2395, 2590, 2591, 2395, 2395, 2591, 2591, 2592,
1154 2395, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2599, 2395,
1155 2599, 2395, 2395, 2395, 2600, 2601, 2395, 2395, 2395, 2395,
1156 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1158 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1159 2602, 2395, 2603, 2604, 2395, 2395, 2395, 2604, 2395, 2395,
1160 2395, 2604, 2605, 2395, 2606, 2395, 2395, 2395, 2395, 2395,
1161 2607, 2608, 2608, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1162 2609, 2609, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2609,
1163 2610, 2611, 2395, 2395, 2611, 2611, 2395, 2395, 2395, 2395,
1164 2395, 2611, 2611, 2611, 2611, 2611, 2612, 2613, 2395, 2395,
1165 2613, 2613, 2395, 2395, 2613, 2613, 2614, 2615, 2616, 2617,
1166 2617, 2617, 2395, 2395, 2617, 2618, 2619, 2620, 2395, 2621,
1167 2621, 2621, 2622, 2623, 2624, 2625, 2625, 2626, 2627, 2395,
1169 2395, 2395, 2627, 2627, 2628, 2395, 2395, 2395, 2629, 2630,
1170 2395, 2395, 2631, 2632, 2633, 2633, 2395, 2395, 2634, 2635,
1171 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1172 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2636,
1173 2395, 2637, 2638, 2638, 2638, 2639, 2640, 2395, 2395, 2395,
1174 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2641, 2642,
1175 2642, 2395, 2395, 2395, 2395, 2643, 2643, 2395, 2395, 2395,
1176 2395, 2395, 2395, 2643, 2395, 2395, 2644, 2395, 2395, 2395,
1177 2395, 2395, 2644, 2395, 2395, 2395, 2395, 2395, 2644, 2644,
1178 2644, 2395, 2395, 2645, 2646, 2395, 2395, 2395, 2395, 2395,
1180 2646, 2395, 2395, 2395, 2646, 2646, 2395, 2395, 2647, 2648,
1181 2649, 2649, 2649, 2395, 2395, 2395, 2649, 2395, 2395, 2650,
1182 2651, 2395, 2395, 2395, 2395, 2395, 2652, 2653, 2654, 2655,
1183 2395, 2395, 2395, 2395, 2656, 2657, 2657, 2657, 2658, 2395,
1184 2395, 2395, 2395, 2659, 2660, 2395, 2395, 2395, 2395, 2395,
1185 2661, 2662, 2662, 2395, 2395, 2395, 2635, 2395, 2395, 2395,
1186 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1187 2395, 2395, 2395, 2636, 2395, 2395, 2395, 2638, 2395, 2395,
1188 2638, 2639, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1189 2395, 2395, 2395, 2395, 2641, 2642, 2395, 2395, 2395, 2395,
1191 2395, 2643, 2643, 2395, 2395, 2643, 2644, 2395, 2395, 2395,
1192 2644, 2395, 2395, 2395, 2395, 2395, 2644, 2644, 2395, 2395,
1193 2395, 2645, 2646, 2395, 2395, 2395, 2646, 2646, 2646, 2647,
1194 2648, 2649, 2395, 2395, 2649, 2649, 2395, 2395, 2649, 2650,
1195 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2652,
1196 2653, 2654, 2655, 2395, 2395, 2395, 2395, 2395, 2395, 2656,
1197 2657, 2657, 2657, 2658, 2395, 2659, 2660, 2661, 2662, 2662,
1198 2395, 2395, 2395, 2395, 2635, 2395, 2395, 2395, 2395, 2395,
1199 2395, 2395, 2395, 2395, 2395, 2395, 2636, 2395, 2638, 2395,
1200 2395, 2395, 2638, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1202 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2641, 2642,
1203 2395, 2395, 2395, 2395, 2395, 2643, 2643, 2395, 2395, 2395,
1204 2395, 2643, 2644, 2644, 2395, 2395, 2395, 2644, 2644, 2645,
1205 2646, 2646, 2646, 2646, 2647, 2395, 2395, 2649, 2395, 2395,
1206 2395, 2649, 2649, 2395, 2395, 2395, 2395, 2649, 2650, 2395,
1207 2652, 2653, 2654, 2655, 2656, 2395, 2395, 2657, 2657, 2658,
1208 2395, 2659, 2395, 2395, 2661, 2662, 2662, 2395, 2635, 2395,
1209 2395, 2395, 2395, 2395, 2395, 2636, 2395, 2395, 2638, 2395,
1210 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2641,
1211 2642, 2395, 2643, 2643, 2395, 2395, 2395, 2395, 2643, 2644,
1213 2644, 2644, 2644, 2395, 2395, 2646, 2646, 2646, 2646, 2647,
1214 2395, 2395, 2649, 2649, 2649, 2395, 2395, 2395, 2395, 2649,
1215 2650, 2395, 2652, 2395, 2395, 2395, 2395, 2655, 2656, 2395,
1216 2395, 2395, 2395, 2395, 2657, 2395, 2395, 2395, 2659, 2661,
1217 2662, 2662, 2395, 2395, 2395, 2395, 2395, 2636, 2395, 2395,
1218 2395, 2638, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1219 2395, 2395, 2641, 2642, 2395, 2643, 2643, 2395, 2395, 2395,
1220 2395, 2644, 2644, 2644, 2395, 2395, 2646, 2646, 2646, 2395,
1221 2395, 2647, 2395, 2395, 2395, 2649, 2649, 2649, 2395, 2395,
1222 2395, 2395, 2650, 2652, 2395, 2395, 2395, 2395, 2395, 2656,
1224 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2661, 2662, 2662,
1225 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2638,
1226 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1227 2641, 2395, 2395, 2395, 2643, 2395, 2395, 2395, 2395, 2395,
1228 2644, 2644, 2644, 2395, 2395, 2395, 2646, 2395, 2395, 2646,
1229 2395, 2395, 2395, 2395, 2395, 2649, 2649, 2649, 2395, 2395,
1230 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1231 2395, 2656, 2395, 2395, 2395, 2661, 2662, 2662, 2395, 2395,
1232 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2638, 2395,
1233 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2641, 2395, 2395,
1235 2395, 2395, 2395, 2395, 2643, 2395, 2395, 2395, 2644, 2644,
1236 2644, 2646, 2395, 2395, 2395, 2646, 2395, 2395, 2395, 2649,
1237 2395, 2395, 2649, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1238 2395, 2395, 2395, 2395, 2395, 2656, 2661, 2662, 2662, 2662,
1239 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1240 2395, 2395, 2395, 2395, 2395, 2395, 2641, 2395, 2395, 2395,
1241 2643, 2644, 2644, 2644, 2646, 2646, 2649, 2395, 2395, 2395,
1242 2649, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1243 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2661, 2662, 2662,
1244 2662, 2663, 2664, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1246 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2641, 2643,
1247 2644, 2644, 2395, 2395, 2646, 2395, 2395, 2395, 2395, 2395,
1248 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1249 2395, 2395, 2395, 2661, 2662, 2665, 2666, 2663, 2664, 2395,
1250 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1251 2395, 2643, 2644, 2644, 2395, 2395, 2395, 2646, 2395, 2395,
1252 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1253 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2661,
1254 2665, 2662, 2667, 2666, 2668, 2662, 2395, 2395, 2395, 2395,
1255 2395, 2395, 2643, 2644, 2644, 2395, 2395, 2395, 2395, 2646,
1257 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1258 2395, 2395, 2661, 2667, 2395, 2668, 2662, 2395, 2395, 2395,
1259 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1260 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1261 2395, 2395, 2395, 2661, 2395, 2395, 2395, 2395, 2395, 2395,
1262 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1263 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1264 2395, 2395, 2395, 2395, 2395, 2661, 2395, 2395, 2395, 2395,
1265 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1266 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2661, 2395, 2395,
1268 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1269 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2661, 2395,
1270 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1271 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2661,
1272 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1273 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1274 2661, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1275 2395, 2395, 2395, 2395, 2395, 2661, 2395, 2395, 2395, 2395,
1276 2395, 2395, 2395, 2395, 2395, 2395, 2661, 2395, 2395, 2395,
1277 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2661, 2661, 2395,
1279 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2661, 2661, 2661,
1280 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661,
1281 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661,
1282 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661,
1283 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661,
1284 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661,
1285 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661,
1286 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661,
1287 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661,
1288 2661, 2661, 2661, 2395, 0, 2395, 2395, 2395, 2395, 2395,
1290 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1291 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1292 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1293 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1294 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1295 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1296 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1297 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1298 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1299 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1301 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1302 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1303 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1304 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1305 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1306 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1307 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1308 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1309 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1310 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1312 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1313 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1314 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1315 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1316 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1317 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
1318 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395
1321 static yyconst flex_int16_t yy_nxt[7794] =
1323 2395, 192, 193, 192, 192, 193, 192, 192, 193, 192,
1324 192, 193, 192, 197, 193, 197, 203, 194, 200, 203,
1325 194, 200, 2395, 195, 603, 201, 195, 2395, 201, 198,
1326 197, 193, 197, 466, 204, 206, 207, 204, 206, 207,
1327 208, 209, 534, 208, 209, 466, 198, 213, 214, 467,
1328 210, 206, 207, 210, 211, 469, 208, 206, 207, 487,
1329 211, 468, 208, 213, 214, 1536, 210, 193, 193, 193,
1330 490, 468, 210, 193, 193, 193, 225, 193, 225, 225,
1331 193, 225, 927, 216, 225, 193, 225, 928, 469, 216,
1332 215, 494, 226, 521, 539, 226, 465, 465, 465, 2395,
1334 227, 465, 465, 465, 468, 495, 215, 217, 218, 193,
1335 218, 217, 217, 217, 217, 217, 217, 217, 219, 217,
1336 217, 217, 521, 217, 221, 217, 222, 217, 225, 193,
1337 225, 193, 193, 193, 193, 193, 193, 225, 193, 225,
1338 225, 193, 225, 522, 227, 480, 495, 228, 499, 522,
1339 228, 217, 217, 226, 469, 469, 226, 225, 193, 225,
1340 465, 465, 465, 465, 465, 465, 465, 465, 465, 1537,
1341 468, 468, 498, 229, 223, 217, 218, 193, 218, 217,
1342 217, 217, 217, 217, 217, 217, 219, 217, 217, 217,
1343 550, 217, 221, 217, 222, 217, 225, 193, 225, 193,
1345 193, 193, 193, 193, 193, 225, 193, 225, 225, 193,
1346 225, 474, 229, 484, 489, 230, 550, 1538, 230, 217,
1347 217, 227, 614, 495, 227, 193, 193, 193, 193, 193,
1348 193, 225, 193, 225, 225, 193, 225, 225, 193, 225,
1349 522, 231, 223, 519, 231, 1539, 559, 229, 469, 560,
1350 229, 500, 475, 232, 225, 193, 225, 520, 476, 465,
1351 465, 465, 477, 501, 468, 495, 498, 478, 490, 2395,
1352 232, 233, 234, 193, 234, 233, 233, 233, 233, 233,
1353 233, 233, 235, 233, 233, 233, 630, 233, 237, 233,
1354 238, 233, 256, 193, 256, 256, 193, 256, 193, 193,
1356 193, 1540, 193, 193, 193, 206, 207, 494, 257, 469,
1357 208, 257, 206, 207, 258, 233, 233, 208, 258, 502,
1358 242, 495, 486, 239, 593, 468, 240, 242, 465, 465,
1359 465, 594, 241, 233, 234, 193, 234, 233, 233, 233,
1360 233, 233, 233, 233, 235, 233, 233, 233, 243, 233,
1361 237, 233, 238, 233, 1487, 243, 256, 193, 256, 256,
1362 193, 256, 1488, 256, 193, 256, 256, 193, 256, 465,
1363 465, 465, 257, 508, 469, 257, 469, 233, 233, 259,
1364 509, 528, 259, 515, 589, 239, 589, 516, 240, 468,
1365 468, 517, 468, 1543, 241, 244, 245, 193, 245, 244,
1367 244, 244, 244, 244, 244, 244, 246, 244, 244, 244,
1368 496, 244, 248, 244, 249, 244, 270, 193, 270, 270,
1369 193, 270, 282, 193, 282, 282, 193, 282, 282, 193,
1370 282, 554, 271, 2395, 522, 271, 498, 487, 283, 244,
1371 244, 283, 601, 496, 284, 465, 465, 465, 250, 602,
1372 251, 555, 541, 252, 465, 465, 465, 1550, 253, 254,
1373 244, 245, 193, 245, 244, 244, 244, 244, 244, 244,
1374 244, 246, 244, 244, 244, 803, 244, 248, 244, 249,
1375 244, 282, 193, 282, 193, 193, 193, 193, 193, 193,
1376 282, 193, 282, 282, 193, 282, 562, 284, 469, 1314,
1378 285, 469, 486, 285, 244, 244, 286, 563, 564, 286,
1379 465, 465, 465, 250, 468, 251, 498, 468, 252, 465,
1380 465, 465, 1552, 253, 254, 260, 261, 193, 261, 260,
1381 260, 260, 260, 260, 260, 260, 262, 260, 260, 260,
1382 637, 260, 264, 260, 265, 260, 282, 193, 282, 282,
1383 193, 282, 193, 193, 193, 193, 193, 193, 282, 193,
1384 282, 574, 287, 643, 469, 287, 644, 1561, 288, 260,
1385 260, 288, 575, 1047, 284, 677, 266, 465, 465, 465,
1386 468, 267, 465, 465, 465, 1048, 2395, 465, 465, 465,
1387 268, 260, 261, 193, 261, 260, 260, 260, 260, 260,
1389 260, 260, 262, 260, 260, 260, 1562, 260, 264, 260,
1390 265, 260, 282, 193, 282, 193, 193, 193, 193, 193,
1391 193, 282, 193, 282, 282, 193, 282, 1563, 284, 537,
1392 587, 289, 538, 1565, 289, 260, 260, 287, 542, 469,
1393 287, 588, 266, 465, 465, 465, 565, 267, 465, 465,
1394 465, 465, 465, 465, 621, 468, 268, 272, 273, 193,
1395 273, 272, 272, 272, 272, 272, 272, 272, 274, 272,
1396 272, 272, 1571, 272, 276, 272, 277, 272, 282, 193,
1397 282, 282, 193, 282, 193, 193, 193, 193, 193, 193,
1398 622, 282, 193, 282, 290, 469, 656, 290, 469, 657,
1400 291, 272, 272, 291, 522, 576, 278, 292, 465, 465,
1401 465, 468, 279, 595, 468, 465, 465, 465, 630, 1577,
1402 280, 272, 273, 193, 273, 272, 272, 272, 272, 272,
1403 272, 272, 274, 272, 272, 272, 1578, 272, 276, 272,
1404 277, 272, 282, 193, 282, 193, 193, 193, 193, 193,
1405 193, 282, 193, 282, 637, 282, 193, 282, 292, 596,
1406 1180, 293, 803, 498, 293, 272, 272, 290, 498, 638,
1407 278, 290, 282, 193, 282, 469, 279, 282, 193, 282,
1408 656, 1177, 581, 666, 280, 465, 465, 465, 294, 669,
1409 1569, 468, 657, 294, 295, 296, 193, 296, 295, 295,
1411 295, 295, 295, 295, 295, 297, 295, 295, 295, 1580,
1412 295, 299, 295, 300, 295, 307, 193, 307, 307, 193,
1413 307, 193, 193, 193, 193, 193, 193, 803, 307, 193,
1414 307, 308, 469, 669, 308, 1581, 666, 258, 295, 295,
1415 258, 301, 805, 302, 308, 465, 465, 465, 468, 303,
1416 465, 465, 465, 713, 1180, 304, 714, 1583, 305, 295,
1417 296, 193, 296, 295, 295, 295, 295, 295, 295, 295,
1418 297, 295, 295, 295, 1586, 295, 299, 295, 300, 295,
1419 307, 193, 307, 307, 193, 307, 307, 193, 307, 325,
1420 193, 325, 1492, 325, 193, 325, 308, 469, 1570, 309,
1422 1493, 1587, 309, 295, 295, 326, 301, 1056, 302, 326,
1423 465, 465, 465, 468, 303, 465, 465, 465, 803, 1048,
1424 304, 1588, 1029, 305, 310, 311, 193, 311, 310, 310,
1425 310, 310, 310, 310, 310, 312, 310, 310, 310, 313,
1426 310, 314, 310, 315, 310, 313, 313, 313, 313, 313,
1427 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
1428 313, 313, 313, 313, 313, 313, 313, 313, 310, 310,
1429 313, 316, 317, 318, 313, 313, 313, 313, 313, 319,
1430 313, 320, 313, 313, 313, 321, 313, 322, 323, 313,
1431 313, 313, 313, 313, 313, 327, 328, 193, 328, 327,
1433 327, 327, 327, 327, 327, 327, 329, 327, 327, 327,
1434 330, 327, 331, 327, 332, 327, 330, 330, 330, 330,
1435 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
1436 330, 330, 330, 330, 330, 330, 330, 330, 330, 327,
1437 327, 330, 333, 334, 335, 330, 330, 330, 330, 330,
1438 336, 330, 337, 330, 330, 330, 338, 330, 330, 339,
1439 330, 330, 330, 330, 330, 330, 341, 193, 341, 341,
1440 193, 341, 465, 465, 465, 465, 465, 465, 465, 465,
1441 465, 1589, 342, 1593, 1599, 342, 343, 344, 193, 344,
1442 343, 343, 343, 343, 343, 343, 343, 345, 343, 343,
1444 343, 1180, 343, 347, 343, 348, 343, 352, 193, 352,
1445 352, 193, 352, 365, 193, 365, 365, 193, 365, 803,
1446 193, 193, 193, 353, 469, 1568, 353, 1600, 1601, 366,
1447 343, 343, 366, 1453, 1602, 349, 258, 465, 465, 465,
1448 468, 350, 343, 344, 193, 344, 343, 343, 343, 343,
1449 343, 343, 343, 345, 343, 343, 343, 1603, 343, 347,
1450 343, 348, 343, 193, 193, 193, 365, 193, 365, 365,
1451 193, 365, 365, 193, 365, 1604, 365, 193, 365, 258,
1452 469, 1605, 366, 1606, 1607, 366, 343, 343, 367, 1608,
1453 1610, 349, 367, 465, 465, 465, 468, 350, 354, 355,
1455 193, 355, 354, 354, 354, 354, 354, 354, 354, 356,
1456 354, 354, 354, 1615, 354, 358, 354, 359, 354, 377,
1457 193, 377, 377, 193, 377, 193, 193, 193, 193, 193,
1458 193, 377, 193, 377, 469, 378, 663, 1616, 378, 1056,
1459 1617, 379, 354, 354, 379, 469, 360, 378, 660, 664,
1460 468, 1077, 608, 361, 661, 362, 465, 465, 465, 1622,
1461 662, 468, 363, 354, 355, 193, 355, 354, 354, 354,
1462 354, 354, 354, 354, 356, 354, 354, 354, 1623, 354,
1463 358, 354, 359, 354, 377, 193, 377, 377, 193, 377,
1464 377, 193, 377, 391, 193, 391, 391, 193, 391, 469,
1466 378, 469, 1624, 380, 670, 1628, 380, 354, 354, 392,
1467 661, 360, 392, 1629, 1631, 468, 671, 468, 361, 1632,
1468 362, 465, 465, 465, 465, 465, 465, 363, 368, 369,
1469 193, 369, 368, 368, 368, 368, 368, 368, 368, 370,
1470 368, 368, 368, 1633, 368, 372, 368, 373, 368, 193,
1471 193, 193, 193, 193, 193, 391, 193, 391, 391, 193,
1472 391, 391, 193, 391, 1634, 379, 1635, 1638, 379, 469,
1473 469, 392, 368, 368, 392, 469, 626, 393, 374, 465,
1474 465, 465, 465, 465, 465, 468, 468, 465, 465, 465,
1475 1642, 468, 375, 368, 369, 193, 369, 368, 368, 368,
1477 368, 368, 368, 368, 370, 368, 368, 368, 1643, 368,
1478 372, 368, 373, 368, 391, 193, 391, 403, 193, 403,
1479 403, 193, 403, 415, 193, 415, 415, 193, 415, 1648,
1480 393, 1649, 1650, 404, 469, 1651, 404, 368, 368, 416,
1481 1653, 635, 416, 374, 465, 465, 465, 465, 465, 465,
1482 468, 465, 465, 465, 820, 820, 820, 375, 381, 382,
1483 193, 382, 381, 381, 381, 381, 381, 381, 381, 383,
1484 381, 381, 381, 1658, 381, 385, 381, 386, 381, 193,
1485 193, 193, 193, 193, 193, 415, 193, 415, 415, 193,
1486 415, 415, 193, 415, 670, 379, 667, 667, 379, 667,
1488 661, 416, 381, 381, 416, 667, 662, 417, 387, 664,
1489 708, 388, 710, 641, 641, 641, 821, 1659, 711, 820,
1490 820, 820, 389, 381, 382, 193, 382, 381, 381, 381,
1491 381, 381, 381, 381, 383, 381, 381, 381, 1661, 381,
1492 385, 381, 386, 381, 415, 193, 415, 429, 193, 429,
1493 429, 193, 429, 193, 193, 193, 193, 193, 193, 660,
1494 417, 1671, 1180, 430, 1674, 661, 430, 381, 381, 431,
1495 642, 671, 431, 387, 670, 1675, 388, 641, 641, 641,
1496 661, 807, 836, 836, 836, 1180, 692, 389, 394, 395,
1497 193, 395, 394, 394, 394, 394, 394, 394, 394, 396,
1499 394, 394, 394, 1666, 394, 398, 394, 399, 394, 429,
1500 193, 429, 429, 193, 429, 429, 193, 429, 429, 193,
1501 429, 441, 193, 441, 1676, 430, 904, 1679, 430, 1618,
1502 1667, 432, 394, 394, 432, 905, 1619, 442, 400, 1192,
1503 1192, 1192, 906, 401, 394, 395, 193, 395, 394, 394,
1504 394, 394, 394, 394, 394, 396, 394, 394, 394, 1680,
1505 394, 398, 394, 399, 394, 441, 193, 441, 451, 193,
1506 451, 451, 193, 451, 193, 193, 193, 193, 193, 193,
1507 1681, 442, 803, 1682, 452, 1620, 1683, 452, 394, 394,
1508 258, 1684, 1621, 258, 400, 836, 836, 836, 1451, 401,
1510 405, 406, 193, 406, 405, 405, 405, 405, 405, 405,
1511 405, 407, 405, 405, 405, 1685, 405, 409, 405, 410,
1512 405, 451, 193, 451, 451, 193, 451, 451, 193, 451,
1513 451, 193, 451, 463, 193, 463, 1686, 452, 1687, 1688,
1514 452, 1644, 2395, 453, 405, 405, 453, 1689, 1645, 464,
1515 411, 1691, 496, 412, 842, 842, 842, 821, 843, 1692,
1516 1693, 844, 1694, 1695, 413, 405, 406, 193, 406, 405,
1517 405, 405, 405, 405, 405, 405, 407, 405, 405, 405,
1518 497, 405, 409, 405, 410, 405, 463, 193, 463, 674,
1519 674, 674, 498, 1195, 1195, 1195, 499, 1696, 1697, 682,
1521 682, 682, 464, 699, 699, 699, 675, 1698, 1699, 405,
1522 405, 715, 715, 715, 534, 411, 683, 534, 412, 1180,
1523 700, 820, 820, 820, 535, 1700, 1701, 540, 716, 413,
1524 418, 419, 193, 419, 418, 418, 418, 418, 418, 418,
1525 418, 420, 418, 418, 418, 1646, 418, 422, 418, 423,
1526 418, 536, 1647, 1702, 536, 500, 1703, 537, 1706, 1452,
1527 538, 723, 723, 723, 1707, 1708, 539, 498, 726, 726,
1528 726, 740, 740, 740, 418, 418, 1709, 1710, 724, 1198,
1529 1198, 1198, 424, 884, 425, 727, 426, 1714, 741, 1715,
1530 836, 836, 836, 1716, 427, 418, 419, 193, 419, 418,
1532 418, 418, 418, 418, 418, 418, 420, 418, 418, 418,
1533 1717, 418, 422, 418, 423, 418, 749, 749, 749, 754,
1534 754, 754, 1718, 1719, 774, 774, 774, 793, 793, 793,
1535 816, 816, 816, 750, 1720, 1721, 755, 1348, 1723, 418,
1536 418, 775, 1735, 1349, 794, 1745, 1350, 424, 818, 425,
1537 1351, 426, 884, 1746, 1193, 1193, 1193, 1747, 1748, 427,
1538 433, 434, 193, 434, 433, 433, 433, 433, 433, 433,
1539 433, 435, 433, 433, 433, 1752, 433, 437, 433, 438,
1540 433, 797, 797, 797, 674, 674, 674, 1180, 847, 847,
1541 847, 1753, 1754, 816, 816, 816, 1755, 1756, 798, 1194,
1543 1757, 675, 1758, 1759, 433, 433, 849, 847, 847, 847,
1544 1760, 818, 852, 852, 852, 1761, 853, 1762, 1741, 854,
1545 1205, 1205, 1205, 1764, 1765, 849, 1766, 439, 433, 434,
1546 193, 434, 433, 433, 433, 433, 433, 433, 433, 435,
1547 433, 433, 433, 1180, 433, 437, 433, 438, 433, 819,
1548 682, 682, 682, 855, 855, 855, 1767, 858, 858, 858,
1549 863, 863, 863, 871, 871, 871, 1768, 683, 1769, 850,
1550 856, 1772, 433, 433, 859, 863, 863, 863, 865, 1742,
1551 1773, 873, 876, 876, 876, 1774, 877, 1777, 1778, 878,
1552 1224, 1224, 1224, 865, 1779, 439, 443, 444, 193, 444,
1554 443, 443, 443, 443, 443, 443, 443, 445, 443, 443,
1555 443, 1782, 443, 447, 443, 448, 443, 871, 871, 871,
1556 1786, 866, 699, 699, 699, 880, 880, 880, 715, 715,
1557 715, 880, 880, 880, 1787, 873, 1236, 1236, 1236, 700,
1558 443, 443, 1788, 882, 1789, 716, 1192, 1192, 1192, 882,
1559 1790, 449, 443, 444, 193, 444, 443, 443, 443, 443,
1560 443, 443, 443, 445, 443, 443, 443, 883, 443, 447,
1561 443, 448, 443, 894, 894, 894, 1793, 895, 1794, 874,
1562 896, 899, 899, 899, 899, 899, 899, 723, 723, 723,
1563 1811, 907, 907, 907, 1180, 908, 443, 443, 909, 901,
1565 803, 1180, 901, 1812, 724, 1813, 1820, 449, 454, 455,
1566 193, 455, 454, 454, 454, 454, 454, 454, 454, 456,
1567 454, 454, 454, 1821, 454, 458, 454, 459, 454, 726,
1568 726, 726, 911, 911, 911, 1810, 912, 1809, 1808, 913,
1569 914, 914, 914, 902, 1822, 1823, 727, 922, 922, 922,
1570 1824, 1825, 454, 454, 922, 922, 922, 915, 1826, 1816,
1571 930, 930, 930, 460, 931, 924, 1827, 932, 1193, 1193,
1572 1193, 1817, 924, 1828, 1829, 461, 454, 455, 193, 455,
1573 454, 454, 454, 454, 454, 454, 454, 456, 454, 454,
1574 454, 1818, 454, 458, 454, 459, 454, 740, 740, 740,
1576 933, 933, 933, 1819, 938, 938, 938, 938, 938, 938,
1577 925, 749, 749, 749, 741, 1830, 1834, 934, 1835, 1841,
1578 454, 454, 940, 1842, 1843, 940, 1847, 1850, 750, 1856,
1579 1857, 460, 943, 943, 943, 1858, 944, 1880, 1881, 945,
1580 946, 946, 946, 461, 469, 946, 946, 946, 754, 754,
1581 754, 484, 951, 951, 951, 1885, 952, 941, 948, 953,
1582 468, 485, 1180, 948, 1886, 755, 957, 957, 957, 961,
1583 961, 961, 957, 957, 957, 963, 963, 963, 2395, 2395,
1584 2395, 966, 966, 966, 959, 1887, 962, 486, 487, 488,
1585 959, 1888, 964, 1889, 489, 2395, 1180, 490, 1890, 968,
1587 1891, 491, 1877, 492, 949, 493, 966, 966, 966, 1892,
1588 971, 971, 971, 2395, 2395, 2395, 975, 975, 975, 1352,
1589 2395, 2395, 2395, 1893, 968, 1353, 960, 972, 1354, 1894,
1590 2395, 803, 1355, 976, 1895, 965, 1878, 2395, 978, 978,
1591 978, 1896, 978, 978, 978, 1897, 774, 774, 774, 1866,
1592 983, 983, 983, 1909, 984, 1910, 980, 985, 1867, 1876,
1593 980, 1911, 973, 775, 1868, 969, 986, 986, 986, 986,
1594 986, 986, 990, 990, 990, 1912, 974, 977, 981, 2395,
1595 2395, 2395, 1916, 1920, 988, 1923, 1930, 988, 1931, 991,
1596 994, 994, 994, 996, 996, 996, 2395, 996, 996, 996,
1598 1004, 1004, 1004, 1004, 1004, 1004, 1932, 995, 1010, 1010,
1599 1010, 998, 1010, 1010, 1010, 998, 1933, 1934, 1006, 1935,
1600 1941, 1006, 803, 989, 1180, 1942, 1012, 1943, 992, 1944,
1601 1012, 793, 793, 793, 1014, 1014, 1014, 1945, 1015, 1946,
1602 1949, 1016, 993, 1017, 1017, 1017, 1950, 1951, 794, 1017,
1603 1017, 1017, 797, 797, 797, 1021, 1021, 1021, 1938, 1022,
1604 1952, 1019, 1023, 1953, 1954, 1007, 999, 1019, 1937, 798,
1605 1025, 1025, 1025, 1955, 1013, 1025, 1025, 1025, 816, 816,
1606 816, 816, 816, 816, 816, 816, 816, 1956, 1027, 1058,
1607 1058, 1058, 1961, 1027, 1962, 1963, 818, 1964, 1965, 818,
1609 1966, 1967, 818, 842, 842, 842, 1059, 843, 1020, 1971,
1610 844, 2395, 2395, 2395, 847, 847, 847, 847, 847, 847,
1611 847, 847, 847, 1972, 1974, 855, 855, 855, 2395, 1980,
1612 1037, 1981, 849, 1973, 1975, 849, 1982, 1028, 849, 852,
1613 852, 852, 856, 853, 1983, 1984, 854, 1064, 1064, 1064,
1614 1985, 1065, 1996, 1997, 1066, 1067, 1067, 1067, 858, 858,
1615 858, 1069, 1069, 1069, 1976, 1070, 1062, 1998, 1071, 803,
1616 1060, 1999, 1068, 2003, 1977, 859, 1073, 1073, 1073, 863,
1617 863, 863, 863, 863, 863, 863, 863, 863, 1079, 1079,
1618 1079, 1978, 2004, 1074, 871, 871, 871, 865, 2005, 2006,
1620 865, 1979, 1988, 865, 2007, 1080, 871, 871, 871, 871,
1621 871, 871, 873, 876, 876, 876, 2008, 877, 2010, 2011,
1622 878, 880, 880, 880, 873, 2012, 2015, 873, 880, 880,
1623 880, 1085, 1085, 1085, 1096, 1096, 1096, 2022, 2023, 882,
1624 894, 894, 894, 1076, 895, 2024, 882, 896, 2025, 1086,
1625 2026, 1097, 899, 899, 899, 1082, 899, 899, 899, 899,
1626 899, 899, 907, 907, 907, 2027, 908, 2028, 2029, 909,
1627 901, 1105, 1105, 1105, 901, 2030, 2031, 901, 911, 911,
1628 911, 2032, 912, 2033, 2040, 913, 2041, 2042, 1106, 914,
1629 914, 914, 1107, 1107, 1107, 2043, 1108, 2044, 2045, 1109,
1631 922, 922, 922, 922, 922, 922, 915, 922, 922, 922,
1632 930, 930, 930, 2046, 931, 803, 2047, 932, 924, 2048,
1633 2049, 924, 1100, 2052, 2053, 924, 933, 933, 933, 1121,
1634 1121, 1121, 2054, 1122, 2058, 2068, 1123, 938, 938, 938,
1635 938, 938, 938, 934, 938, 938, 938, 943, 943, 943,
1636 2069, 944, 2070, 2071, 945, 940, 2034, 2072, 940, 946,
1637 946, 946, 940, 946, 946, 946, 946, 946, 946, 951,
1638 951, 951, 1116, 952, 2073, 2074, 953, 948, 957, 957,
1639 957, 948, 2075, 2076, 948, 957, 957, 957, 957, 957,
1640 957, 961, 961, 961, 1127, 2077, 959, 1135, 1135, 1135,
1642 2078, 1136, 2079, 959, 1137, 2087, 959, 2082, 962, 963,
1643 963, 963, 1138, 1138, 1138, 803, 1139, 2088, 2085, 1140,
1644 966, 966, 966, 966, 966, 966, 964, 966, 966, 966,
1645 2082, 1129, 971, 971, 971, 1144, 1144, 1144, 968, 1145,
1646 2089, 968, 1146, 2090, 2083, 968, 1134, 2091, 2092, 972,
1647 975, 975, 975, 1149, 1149, 1149, 2093, 1150, 2094, 2080,
1648 1151, 978, 978, 978, 978, 978, 978, 976, 978, 978,
1649 978, 983, 983, 983, 2095, 984, 2100, 2109, 985, 980,
1650 2096, 2110, 980, 986, 986, 986, 980, 986, 986, 986,
1651 2111, 2097, 1142, 986, 986, 986, 990, 990, 990, 2098,
1653 2112, 988, 1156, 1156, 1156, 988, 1157, 2115, 2082, 1158,
1654 2099, 988, 2101, 991, 994, 994, 994, 1161, 1161, 1161,
1655 2115, 1162, 2083, 2102, 1163, 996, 996, 996, 1180, 1181,
1656 1153, 995, 996, 996, 996, 996, 996, 996, 1166, 1166,
1657 1166, 2103, 803, 998, 1004, 1004, 1004, 1004, 1004, 1004,
1658 998, 1155, 2104, 998, 2118, 1167, 1004, 1004, 1004, 1010,
1659 1010, 1010, 1006, 2119, 2105, 1006, 1010, 1010, 1010, 1010,
1660 1010, 1010, 2107, 2128, 1006, 2106, 2131, 1012, 1014, 1014,
1661 1014, 2113, 1015, 2108, 1012, 1016, 2134, 1012, 1017, 1017,
1662 1017, 1017, 1017, 1017, 2082, 1164, 1017, 1017, 1017, 2135,
1664 1021, 1021, 1021, 2136, 1022, 2085, 1019, 1023, 2137, 1019,
1665 1025, 1025, 1025, 2140, 1019, 1170, 1025, 1025, 1025, 2143,
1666 2126, 1173, 1025, 1025, 1025, 1179, 1179, 1179, 1027, 816,
1667 816, 816, 2115, 1869, 1027, 1058, 1058, 1058, 2127, 2145,
1668 1027, 2115, 1870, 1180, 1181, 2129, 2146, 818, 1871, 1208,
1669 1208, 1208, 1059, 1209, 1174, 2147, 1210, 847, 847, 847,
1670 1064, 1064, 1064, 2130, 1065, 2157, 2158, 1066, 1067, 1067,
1671 1067, 2159, 1215, 1215, 1215, 849, 1216, 2160, 2161, 1217,
1672 2162, 1176, 1069, 1069, 1069, 1068, 1070, 2166, 2138, 1071,
1673 1073, 1073, 1073, 1186, 1219, 1219, 1219, 2167, 1220, 2141,
1675 2168, 1221, 863, 863, 863, 1213, 2139, 1074, 1079, 1079,
1676 1079, 1226, 1226, 1226, 2169, 1227, 2170, 2142, 1228, 2171,
1677 865, 1229, 1229, 1229, 2172, 1080, 871, 871, 871, 1085,
1678 1085, 1085, 1237, 1237, 1237, 1096, 1096, 1096, 1230, 1243,
1679 1243, 1243, 2173, 1244, 873, 2174, 1245, 1086, 1246, 1246,
1680 1246, 1223, 1097, 1248, 1248, 1248, 2175, 899, 899, 899,
1681 2177, 1253, 1253, 1253, 2182, 1247, 1105, 1105, 1105, 2183,
1682 1249, 1195, 1195, 1195, 1231, 901, 2184, 1194, 1254, 2185,
1683 1257, 1257, 1257, 1106, 1258, 2178, 2180, 1259, 1107, 1107,
1684 1107, 2186, 1108, 2187, 2188, 1109, 2179, 2181, 1250, 1260,
1686 1260, 1260, 922, 922, 922, 1269, 1269, 1269, 1121, 1121,
1687 1121, 2189, 1122, 2190, 2191, 1123, 1261, 1273, 1273, 1273,
1688 924, 1251, 1270, 938, 938, 938, 946, 946, 946, 1283,
1689 1283, 1283, 2192, 2193, 1274, 2194, 957, 957, 957, 2195,
1690 2196, 940, 2197, 2199, 948, 2200, 1284, 2201, 1135, 1135,
1691 1135, 2202, 1136, 2203, 959, 1137, 1138, 1138, 1138, 803,
1692 1139, 2204, 2205, 1140, 2206, 1267, 966, 966, 966, 1193,
1693 1193, 1193, 2207, 2208, 1285, 1144, 1144, 1144, 2209, 1145,
1694 2210, 2211, 1146, 2198, 968, 1277, 978, 978, 978, 2212,
1695 1279, 1286, 1149, 1149, 1149, 2213, 1150, 2214, 2215, 1151,
1697 986, 986, 986, 2216, 980, 1156, 1156, 1156, 2217, 1157,
1698 2218, 803, 1158, 2220, 1289, 1161, 1161, 1161, 988, 1162,
1699 2221, 2222, 1163, 996, 996, 996, 1166, 1166, 1166, 2219,
1700 1288, 1300, 1300, 1300, 2223, 1301, 2224, 2225, 1302, 2226,
1701 2227, 998, 2228, 1167, 2229, 1293, 1004, 1004, 1004, 1307,
1702 1307, 1307, 1010, 1010, 1010, 1295, 1017, 1017, 1017, 1311,
1703 1311, 1311, 2230, 2231, 1006, 2232, 1308, 2233, 2234, 1298,
1704 1012, 1025, 1025, 1025, 1019, 2235, 1312, 1179, 1179, 1179,
1705 2236, 816, 816, 816, 1198, 1198, 1198, 2237, 2238, 1027,
1706 1330, 1330, 1330, 2239, 1305, 1180, 1332, 1332, 1332, 818,
1708 1205, 1205, 1205, 1338, 1338, 1338, 2241, 1310, 1208, 1208,
1709 1208, 803, 1209, 2242, 2243, 1210, 2244, 1309, 847, 847,
1710 847, 1215, 1215, 1215, 2245, 1216, 2246, 1315, 1217, 2247,
1711 2240, 1313, 1320, 1219, 1219, 1219, 849, 1220, 2248, 2249,
1712 1221, 1333, 2250, 1316, 863, 863, 863, 2251, 1339, 1224,
1713 1224, 1224, 1331, 1226, 1226, 1226, 2252, 1227, 2253, 2254,
1714 1228, 2255, 865, 1229, 1229, 1229, 2256, 2257, 1342, 1356,
1715 1356, 1356, 2258, 1357, 2259, 2260, 1358, 871, 871, 871,
1716 1230, 1236, 1236, 1236, 1237, 1237, 1237, 1364, 1364, 1364,
1717 1364, 1364, 1364, 803, 2262, 873, 1330, 1330, 1330, 2261,
1719 1243, 1243, 1243, 1346, 1244, 2263, 2264, 1245, 1246, 1246,
1720 1246, 1368, 1368, 1368, 2265, 1369, 2266, 2267, 1370, 1248,
1721 1248, 1248, 1371, 1371, 1371, 1247, 1372, 1359, 2268, 1373,
1722 1375, 1375, 1375, 1253, 1253, 1253, 1249, 1378, 1378, 1378,
1723 2269, 1379, 2270, 2271, 1380, 1381, 1381, 1381, 1376, 1365,
1724 1254, 2272, 1331, 1257, 1257, 1257, 2273, 1258, 1365, 2274,
1725 1259, 2275, 1382, 1260, 1260, 1260, 1384, 1384, 1384, 2277,
1726 1385, 2278, 2279, 1386, 1387, 1387, 1387, 1392, 1392, 1392,
1727 1261, 922, 922, 922, 1269, 1269, 1269, 803, 1396, 1396,
1728 1396, 1388, 1397, 2280, 1393, 1398, 1399, 1399, 1399, 924,
1730 2276, 1270, 1273, 1273, 1273, 1402, 1402, 1402, 2281, 1403,
1731 2282, 2283, 1404, 1400, 1407, 1407, 1407, 2284, 2285, 1274,
1732 946, 946, 946, 1283, 1283, 1283, 1414, 1414, 1414, 2286,
1733 1415, 2288, 1408, 1416, 1418, 1418, 1418, 2289, 948, 2290,
1734 1284, 966, 966, 966, 2291, 1394, 1423, 1423, 1423, 1425,
1735 1425, 1425, 1419, 2292, 2395, 2395, 2395, 2293, 2294, 968,
1736 978, 978, 978, 1424, 2295, 2296, 1426, 986, 986, 986,
1737 1410, 2395, 1431, 1431, 1431, 1433, 1433, 1433, 980, 996,
1738 996, 996, 1004, 1004, 1004, 988, 1300, 1300, 1300, 1432,
1739 1301, 1421, 1434, 1302, 1307, 1307, 1307, 998, 2297, 2300,
1741 1006, 1441, 1441, 1441, 2301, 1442, 2302, 2303, 1443, 2304,
1742 2305, 1308, 1430, 1010, 1010, 1010, 1427, 1017, 1017, 1017,
1743 1311, 1311, 1311, 2306, 2307, 1428, 1446, 1446, 1446, 1532,
1744 1447, 1012, 1439, 1448, 803, 1019, 1530, 1312, 1449, 1449,
1745 1449, 803, 1435, 1455, 1455, 1455, 816, 816, 816, 1462,
1746 1462, 1462, 1466, 1466, 1466, 803, 1450, 1330, 1330, 1330,
1747 1456, 1467, 1467, 1467, 818, 1332, 1332, 1332, 803, 2308,
1748 1444, 1445, 1469, 1469, 1469, 1470, 1470, 1470, 1338, 1338,
1749 1338, 1476, 1476, 1476, 1479, 1479, 1479, 2310, 863, 863,
1750 863, 1483, 1483, 1483, 2326, 803, 1356, 1356, 1356, 1477,
1752 1357, 1480, 803, 1358, 2324, 1457, 865, 803, 1484, 871,
1753 871, 871, 1497, 1497, 1497, 1364, 1364, 1364, 1501, 1501,
1754 1501, 1368, 1368, 1368, 803, 1369, 803, 873, 1370, 1498,
1755 1371, 1371, 1371, 2392, 1372, 803, 803, 1373, 1375, 1375,
1756 1375, 2311, 1378, 1378, 1378, 1482, 1379, 803, 2312, 1380,
1757 1381, 1381, 1381, 2313, 1495, 803, 1376, 1508, 1508, 1508,
1758 803, 1509, 2325, 2360, 1510, 2318, 2314, 1382, 1384, 1384,
1759 1384, 2309, 1385, 803, 2319, 1386, 1387, 1387, 1387, 1512,
1760 1512, 1512, 803, 1513, 803, 1529, 1514, 1515, 1515, 1515,
1761 1392, 1392, 1392, 1388, 1519, 1519, 1519, 2315, 1520, 2316,
1763 803, 1521, 2317, 803, 1516, 2322, 803, 1393, 922, 922,
1764 922, 1396, 1396, 1396, 2320, 1397, 803, 803, 1398, 1399,
1765 1399, 1399, 803, 1524, 1524, 1524, 924, 1525, 2330, 2321,
1766 1526, 1402, 1402, 1402, 2328, 1403, 1400, 803, 1404, 1407,
1767 1407, 1407, 946, 946, 946, 1533, 1533, 1533, 1414, 1414,
1768 1414, 803, 1415, 803, 1528, 1416, 2327, 1408, 1522, 803,
1769 948, 2323, 1534, 1418, 1418, 1418, 1541, 1541, 1541, 1423,
1770 1423, 1423, 1544, 1544, 1544, 803, 1545, 1527, 1523, 1546,
1771 803, 1419, 803, 1518, 1542, 2329, 1424, 978, 978, 978,
1772 1535, 1425, 1425, 1425, 1547, 1547, 1547, 2331, 1548, 803,
1774 2342, 1549, 803, 803, 1531, 980, 2334, 803, 1426, 986,
1775 986, 986, 1431, 1431, 1431, 1554, 1554, 1554, 2332, 1555,
1776 803, 2343, 1556, 1433, 1433, 1433, 803, 988, 803, 1432,
1777 1557, 1557, 1557, 2335, 1558, 2333, 2340, 1559, 2336, 2348,
1778 1434, 996, 996, 996, 1004, 1004, 1004, 803, 1441, 1441,
1779 1441, 1551, 1442, 1517, 2338, 1443, 803, 1553, 803, 998,
1780 2339, 2341, 1006, 1010, 1010, 1010, 1017, 1017, 1017, 1446,
1781 1446, 1446, 803, 1447, 2337, 803, 1448, 1449, 1449, 1449,
1782 803, 1012, 1511, 803, 1019, 1455, 1455, 1455, 1507, 1572,
1783 1572, 1572, 2346, 1573, 2350, 1450, 1574, 816, 816, 816,
1785 2344, 1506, 1456, 803, 1560, 1505, 2392, 1564, 1576, 1576,
1786 1576, 2352, 803, 1566, 2347, 818, 2345, 803, 1567, 1579,
1787 1579, 1579, 1462, 1462, 1462, 1582, 1582, 1582, 1466, 1466,
1788 1466, 1467, 1467, 1467, 1469, 1469, 1469, 1470, 1470, 1470,
1789 1584, 1584, 1584, 1585, 1585, 1585, 1476, 1476, 1476, 1479,
1790 1479, 1479, 2354, 1590, 1590, 1590, 803, 1591, 803, 1575,
1791 1592, 1594, 1594, 1594, 1477, 803, 1480, 1483, 1483, 1483,
1792 1596, 1596, 1596, 803, 1597, 803, 803, 1598, 803, 1595,
1793 871, 871, 871, 2368, 1484, 1497, 1497, 1497, 1611, 1611,
1794 1611, 803, 1612, 1504, 2353, 1613, 2355, 2349, 873, 1614,
1796 1614, 1614, 1498, 1501, 1501, 1501, 1508, 1508, 1508, 2382,
1797 1509, 2351, 2358, 1510, 1512, 1512, 1512, 2356, 1513, 2357,
1798 803, 1514, 1515, 1515, 1515, 1625, 1625, 1625, 1609, 1626,
1799 803, 803, 1627, 1519, 1519, 1519, 803, 1520, 2362, 1516,
1800 1521, 922, 922, 922, 1524, 1524, 1524, 803, 1525, 2363,
1801 803, 1526, 1636, 1636, 1636, 1533, 1533, 1533, 803, 924,
1802 1639, 1639, 1639, 1503, 1640, 2376, 2359, 1641, 1502, 2364,
1803 1637, 803, 1534, 1541, 1541, 1541, 1544, 1544, 1544, 1500,
1804 1545, 803, 2369, 1546, 2377, 1547, 1547, 1547, 803, 1548,
1805 803, 1542, 1549, 978, 978, 978, 986, 986, 986, 2361,
1807 1554, 1554, 1554, 1630, 1555, 803, 803, 1556, 1557, 1557,
1808 1557, 980, 1558, 803, 988, 1559, 996, 996, 996, 1656,
1809 1656, 1656, 1004, 1004, 1004, 2366, 1010, 1010, 1010, 1663,
1810 1663, 1663, 2367, 1499, 998, 1496, 1657, 1665, 1665, 1665,
1811 1006, 2372, 2373, 1652, 1012, 1494, 2365, 1664, 1668, 1668,
1812 1668, 1655, 1572, 1572, 1572, 803, 1573, 803, 1491, 1574,
1813 1654, 816, 816, 816, 1576, 1576, 1576, 1670, 1670, 1670,
1814 1579, 1579, 1579, 1672, 1672, 1672, 1673, 1673, 1673, 818,
1815 1582, 1582, 1582, 803, 1662, 1660, 1584, 1584, 1584, 1585,
1816 1585, 1585, 1677, 1677, 1677, 1590, 1590, 1590, 803, 1591,
1818 803, 2378, 1592, 1594, 1594, 1594, 1596, 1596, 1596, 1678,
1819 1597, 803, 1490, 1598, 871, 871, 871, 1489, 1669, 803,
1820 1486, 1595, 1611, 1611, 1611, 803, 1612, 803, 2370, 1613,
1821 1485, 1481, 873, 1614, 1614, 1614, 1625, 1625, 1625, 2374,
1822 1626, 803, 2379, 1627, 1704, 1704, 1704, 1636, 1636, 1636,
1823 1711, 1711, 1711, 1639, 1639, 1639, 2371, 1640, 2375, 1478,
1824 1641, 2380, 1705, 2381, 1475, 1637, 803, 1712, 1722, 1722,
1825 1722, 803, 2383, 1690, 1724, 1724, 1724, 1726, 1726, 1726,
1826 986, 986, 986, 996, 996, 996, 1656, 1656, 1656, 1730,
1827 1730, 1730, 1725, 1731, 1727, 1713, 1732, 2386, 988, 1474,
1829 1473, 998, 2387, 1657, 1733, 1733, 1733, 1736, 1736, 1736,
1830 1738, 1738, 1738, 1010, 1010, 1010, 1663, 1663, 1663, 1472,
1831 2384, 1734, 1665, 1665, 1665, 1737, 1668, 1668, 1668, 803,
1832 2385, 1012, 803, 1471, 1664, 1743, 1743, 1743, 1728, 803,
1833 803, 1468, 1729, 1670, 1670, 1670, 1672, 1672, 1672, 1673,
1834 1673, 1673, 803, 1744, 1677, 1677, 1677, 1749, 1749, 1749,
1835 1465, 1750, 1464, 2390, 1751, 871, 871, 871, 1770, 1770,
1836 1770, 1678, 1775, 1775, 1775, 1463, 1461, 1739, 1704, 1704,
1837 1704, 1460, 1740, 873, 803, 1771, 1780, 1780, 1780, 1776,
1838 1711, 1711, 1711, 1783, 1783, 1783, 1705, 1784, 2388, 1459,
1840 1785, 1458, 1454, 1781, 1791, 1791, 1791, 1712, 1722, 1722,
1841 1722, 1724, 1724, 1724, 1726, 1726, 1726, 803, 1795, 1795,
1842 1795, 1792, 1796, 1763, 1440, 1797, 1798, 1798, 1798, 1725,
1843 2389, 1727, 996, 996, 996, 1730, 1730, 1730, 1438, 1731,
1844 1437, 1436, 1732, 1429, 1799, 1733, 1733, 1733, 2391, 1422,
1845 998, 1801, 1801, 1801, 1420, 1802, 1417, 1413, 1803, 1804,
1846 1804, 1804, 1734, 1736, 1736, 1736, 1738, 1738, 1738, 1806,
1847 1806, 1806, 1743, 1743, 1743, 1412, 1805, 1814, 1814, 1814,
1848 1411, 1737, 1749, 1749, 1749, 1409, 1750, 1807, 1406, 1751,
1849 1744, 871, 871, 871, 1815, 1405, 1401, 1800, 1832, 1832,
1851 1832, 1836, 1836, 1836, 1770, 1770, 1770, 1395, 1391, 873,
1852 1838, 1838, 1838, 1390, 1839, 1833, 1389, 1840, 1837, 1383,
1853 1377, 1771, 1775, 1775, 1775, 1844, 1844, 1844, 1374, 1845,
1854 1367, 1366, 1846, 1848, 1848, 1848, 1780, 1780, 1780, 1776,
1855 1851, 1851, 1851, 1363, 1852, 1362, 1361, 1853, 1360, 1831,
1856 1849, 1347, 1345, 1781, 1854, 1854, 1854, 1783, 1783, 1783,
1857 1344, 1784, 1343, 1341, 1785, 1791, 1791, 1791, 1859, 1859,
1858 1859, 1855, 1860, 1340, 1337, 1861, 1862, 1862, 1862, 1864,
1859 1864, 1864, 1792, 1795, 1795, 1795, 1336, 1796, 1335, 1334,
1860 1797, 1329, 1328, 1863, 1327, 1326, 1865, 1798, 1798, 1798,
1862 996, 996, 996, 1801, 1801, 1801, 1325, 1802, 1324, 1323,
1863 1803, 1804, 1804, 1804, 1322, 1799, 1321, 1319, 998, 1873,
1864 1873, 1873, 1318, 1874, 1317, 1180, 1875, 1306, 1805, 1806,
1865 1806, 1806, 1879, 1879, 1879, 1814, 1814, 1814, 1882, 1882,
1866 1882, 1304, 1883, 1303, 1299, 1884, 1297, 1807, 871, 871,
1867 871, 1296, 1815, 1832, 1832, 1832, 1899, 1899, 1899, 1294,
1868 1900, 1292, 1291, 1901, 1872, 1290, 873, 1902, 1902, 1902,
1869 1833, 1903, 1903, 1903, 1836, 1836, 1836, 1906, 1906, 1906,
1870 1287, 1907, 1282, 1281, 1908, 1838, 1838, 1838, 1904, 1839,
1871 1280, 1837, 1840, 1844, 1844, 1844, 1278, 1845, 1898, 1276,
1873 1846, 1848, 1848, 1848, 1913, 1913, 1913, 1275, 1914, 1272,
1874 1271, 1915, 1268, 1851, 1851, 1851, 1905, 1852, 1849, 1266,
1875 1853, 1854, 1854, 1854, 1917, 1917, 1917, 1265, 1918, 1264,
1876 1263, 1919, 1921, 1921, 1921, 1859, 1859, 1859, 1855, 1860,
1877 1262, 1256, 1861, 1862, 1862, 1862, 1924, 1924, 1924, 1922,
1878 1925, 1255, 1252, 1926, 1864, 1864, 1864, 1927, 1927, 1927,
1879 1863, 1928, 1242, 1241, 1929, 996, 996, 996, 1873, 1873,
1880 1873, 1865, 1874, 1240, 1239, 1875, 1939, 1939, 1939, 1879,
1881 1879, 1879, 1238, 998, 1882, 1882, 1882, 1235, 1883, 1234,
1882 1233, 1884, 1232, 1940, 1180, 1947, 1947, 1947, 871, 871,
1884 871, 1899, 1899, 1899, 1225, 1900, 1222, 1218, 1901, 1902,
1885 1902, 1902, 1948, 1214, 1212, 1936, 873, 1903, 1903, 1903,
1886 1958, 1958, 1958, 1211, 1959, 1207, 1206, 1960, 1906, 1906,
1887 1906, 1204, 1907, 1203, 1904, 1908, 1913, 1913, 1913, 1202,
1888 1914, 1201, 1200, 1915, 1199, 1197, 1957, 1917, 1917, 1917,
1889 1196, 1918, 1191, 1190, 1919, 1921, 1921, 1921, 1968, 1968,
1890 1968, 1189, 1969, 1188, 1187, 1970, 1924, 1924, 1924, 1185,
1891 1925, 1184, 1922, 1926, 1927, 1927, 1927, 1183, 1928, 1182,
1892 1175, 1929, 1986, 1986, 1986, 1989, 1989, 1989, 1939, 1939,
1893 1939, 1991, 1991, 1991, 1172, 1992, 1171, 1169, 1993, 1168,
1895 1987, 1165, 1990, 1180, 1160, 1940, 1180, 1159, 1154, 1180,
1896 1994, 1994, 1994, 1995, 1995, 1995, 1947, 1947, 1947, 2000,
1897 2000, 2000, 1152, 2001, 1148, 1147, 2002, 871, 871, 871,
1898 1958, 1958, 1958, 1948, 1959, 1143, 1141, 1960, 2013, 2013,
1899 2013, 2016, 2016, 2016, 1133, 873, 2018, 2018, 2018, 1968,
1900 1968, 1968, 1132, 1969, 1131, 2014, 1970, 1130, 2017, 2020,
1901 2020, 2020, 1128, 2019, 1986, 1986, 1986, 1989, 1989, 1989,
1902 2035, 2035, 2035, 1126, 2036, 1125, 2021, 2037, 1124, 1991,
1903 1991, 1991, 1987, 1992, 1990, 1180, 1993, 1120, 1180, 1119,
1904 1118, 2009, 1994, 1994, 1994, 1117, 1115, 1180, 1178, 1178,
1906 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1114, 1113, 1178,
1907 1995, 1995, 1995, 1112, 1178, 1178, 1178, 1180, 1178, 2000,
1908 2000, 2000, 1111, 2001, 1110, 1104, 2002, 2055, 2055, 2055,
1909 1103, 2056, 1102, 1101, 2057, 2050, 2050, 2050, 1099, 2013,
1910 2013, 2013, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
1911 1178, 1178, 1178, 2051, 1098, 1178, 2014, 2016, 2016, 2016,
1912 1178, 1178, 1178, 1180, 1178, 2059, 2059, 2059, 1095, 2060,
1913 1094, 1093, 2061, 1092, 2017, 2018, 2018, 2018, 2062, 2062,
1914 2062, 1091, 2063, 1090, 1089, 2064, 1088, 1087, 1178, 1178,
1915 1084, 1083, 2019, 2020, 2020, 2020, 2065, 2065, 2065, 1081,
1917 2066, 1078, 1075, 2067, 2035, 2035, 2035, 1072, 2036, 1063,
1918 2021, 2037, 1061, 1057, 2050, 2050, 2050, 2117, 2117, 2117,
1919 1055, 1054, 1180, 1178, 1178, 1178, 1178, 1178, 2086, 1178,
1920 1178, 1178, 2051, 1053, 1178, 1180, 1181, 1052, 1051, 1178,
1921 1178, 1178, 1180, 1178, 2055, 2055, 2055, 1050, 2056, 1049,
1922 1046, 2057, 2059, 2059, 2059, 1045, 2060, 1044, 1043, 2061,
1923 1042, 2120, 2120, 2120, 2122, 2122, 2122, 1178, 1178, 1178,
1924 1178, 1178, 1178, 1178, 1178, 1178, 1178, 2086, 2121, 1041,
1925 1178, 2123, 1040, 1039, 1038, 1178, 1178, 1178, 1180, 1178,
1926 2062, 2062, 2062, 1036, 2063, 1035, 1034, 2064, 2065, 2065,
1928 2065, 1033, 2066, 1032, 1031, 2067, 2124, 2124, 2124, 2132,
1929 2132, 2132, 1030, 1178, 1178, 2144, 2144, 2144, 2117, 2117,
1930 2117, 803, 1024, 2125, 1009, 1008, 2133, 2120, 2120, 2120,
1931 2148, 2148, 2148, 803, 2149, 1003, 1180, 2150, 2122, 2122,
1932 2122, 2151, 2151, 2151, 2121, 2152, 1002, 1001, 2153, 2124,
1933 2124, 2124, 2154, 2154, 2154, 2123, 2155, 1000, 982, 2156,
1934 2132, 2132, 2132, 2163, 2163, 2163, 2125, 2164, 1315, 970,
1935 2165, 2144, 2144, 2144, 2148, 2148, 2148, 2133, 2149, 956,
1936 955, 2150, 954, 2151, 2151, 2151, 950, 2152, 942, 803,
1937 2153, 2154, 2154, 2154, 937, 2155, 936, 935, 2156, 2163,
1939 2163, 2163, 929, 2164, 926, 921, 2165, 2176, 2287, 2287,
1940 2287, 2287, 2287, 2287, 920, 2298, 919, 918, 2299, 2393,
1941 2393, 2393, 2393, 2393, 2393, 917, 803, 916, 910, 803,
1942 903, 898, 897, 893, 892, 891, 890, 2394, 889, 888,
1943 2394, 190, 190, 190, 190, 190, 190, 190, 190, 190,
1944 191, 191, 191, 191, 191, 191, 191, 191, 191, 196,
1945 196, 196, 196, 196, 196, 196, 196, 196, 199, 199,
1946 199, 199, 199, 199, 199, 199, 199, 202, 202, 202,
1947 202, 202, 202, 202, 202, 202, 205, 205, 205, 205,
1948 205, 205, 205, 205, 205, 212, 212, 212, 212, 212,
1950 212, 212, 212, 212, 220, 220, 220, 220, 220, 220,
1951 220, 220, 220, 224, 224, 224, 224, 224, 224, 224,
1952 224, 224, 236, 236, 236, 236, 236, 236, 236, 236,
1953 236, 247, 247, 247, 247, 247, 247, 247, 247, 247,
1954 255, 255, 255, 255, 255, 255, 255, 255, 255, 263,
1955 263, 263, 263, 263, 263, 263, 263, 263, 269, 269,
1956 269, 269, 269, 269, 269, 269, 269, 275, 275, 275,
1957 275, 275, 275, 275, 275, 275, 281, 281, 281, 281,
1958 281, 281, 281, 281, 281, 298, 298, 298, 298, 298,
1959 298, 298, 298, 298, 306, 306, 306, 306, 306, 306,
1961 306, 306, 306, 324, 324, 324, 324, 324, 324, 324,
1962 324, 324, 340, 340, 340, 340, 340, 340, 340, 340,
1963 340, 346, 346, 346, 346, 346, 346, 346, 346, 346,
1964 351, 351, 351, 351, 351, 351, 351, 351, 351, 357,
1965 357, 357, 357, 357, 357, 357, 357, 357, 364, 364,
1966 364, 364, 364, 364, 364, 364, 364, 371, 371, 371,
1967 371, 371, 371, 371, 371, 371, 376, 376, 376, 376,
1968 376, 376, 376, 376, 376, 384, 384, 384, 384, 384,
1969 384, 384, 384, 384, 390, 390, 390, 390, 390, 390,
1970 390, 390, 390, 397, 397, 397, 397, 397, 397, 397,
1972 397, 397, 402, 402, 402, 402, 402, 402, 402, 402,
1973 402, 408, 408, 408, 408, 408, 408, 408, 408, 408,
1974 414, 414, 414, 414, 414, 414, 414, 414, 414, 421,
1975 421, 421, 421, 421, 421, 421, 421, 421, 428, 428,
1976 428, 428, 428, 428, 428, 428, 428, 436, 436, 436,
1977 436, 436, 436, 436, 436, 436, 440, 440, 440, 440,
1978 440, 440, 440, 440, 440, 446, 446, 446, 446, 446,
1979 446, 446, 446, 446, 450, 450, 450, 450, 450, 450,
1980 450, 450, 450, 457, 457, 457, 457, 457, 457, 457,
1981 457, 457, 462, 462, 462, 462, 462, 462, 462, 462,
1983 462, 482, 482, 482, 887, 886, 885, 482, 504, 504,
1984 504, 879, 875, 870, 504, 512, 512, 512, 869, 868,
1985 867, 512, 524, 524, 524, 862, 861, 860, 524, 530,
1986 530, 530, 857, 851, 846, 530, 544, 544, 544, 845,
1987 841, 840, 544, 552, 552, 552, 839, 838, 837, 552,
1988 567, 567, 567, 835, 834, 833, 567, 578, 578, 578,
1989 832, 831, 830, 578, 583, 583, 583, 829, 828, 827,
1990 583, 591, 591, 591, 826, 825, 824, 591, 598, 598,
1991 598, 823, 822, 815, 598, 605, 605, 605, 814, 813,
1992 812, 605, 610, 610, 610, 811, 810, 809, 610, 616,
1994 616, 616, 806, 804, 803, 616, 624, 624, 624, 801,
1995 799, 796, 624, 628, 628, 628, 792, 790, 789, 628,
1996 632, 632, 632, 788, 786, 785, 632, 636, 636, 636,
1997 636, 636, 636, 636, 784, 636, 482, 482, 482, 783,
1998 782, 780, 482, 651, 779, 778, 777, 651, 678, 773,
1999 772, 770, 678, 512, 512, 512, 769, 768, 767, 512,
2000 690, 766, 765, 763, 690, 524, 524, 524, 762, 761,
2001 760, 524, 696, 758, 757, 756, 696, 530, 530, 530,
2002 753, 752, 748, 530, 702, 747, 745, 744, 702, 719,
2003 743, 742, 739, 719, 735, 738, 737, 736, 735, 567,
2005 567, 567, 734, 733, 732, 567, 746, 731, 730, 729,
2006 746, 578, 578, 578, 728, 725, 722, 578, 751, 721,
2007 720, 718, 751, 583, 583, 583, 717, 712, 709, 583,
2008 759, 707, 706, 705, 759, 591, 591, 591, 704, 703,
2009 701, 591, 764, 698, 697, 695, 764, 598, 598, 598,
2010 694, 693, 691, 598, 771, 689, 688, 687, 771, 605,
2011 605, 605, 686, 685, 684, 605, 776, 681, 680, 679,
2012 776, 610, 610, 610, 676, 673, 672, 610, 781, 668,
2013 665, 659, 781, 616, 616, 616, 658, 655, 654, 616,
2014 787, 653, 652, 650, 787, 624, 624, 624, 649, 648,
2016 647, 624, 791, 646, 645, 640, 791, 628, 628, 628,
2017 637, 639, 634, 628, 795, 633, 631, 629, 795, 632,
2018 632, 632, 627, 625, 623, 632, 800, 2395, 620, 619,
2019 800, 802, 802, 802, 802, 802, 802, 802, 802, 802,
2020 808, 618, 617, 615, 614, 808, 482, 482, 482, 613,
2021 612, 611, 482, 817, 817, 817, 817, 609, 607, 817,
2022 817, 504, 504, 504, 606, 604, 603, 504, 848, 848,
2023 848, 848, 600, 599, 848, 848, 512, 512, 512, 597,
2024 490, 2395, 512, 864, 864, 864, 864, 592, 590, 864,
2025 864, 524, 524, 524, 586, 585, 584, 524, 872, 872,
2027 872, 872, 582, 580, 872, 872, 530, 530, 530, 579,
2028 577, 573, 530, 881, 881, 881, 881, 572, 571, 881,
2029 881, 544, 544, 544, 570, 569, 568, 544, 900, 900,
2030 900, 900, 566, 561, 900, 900, 552, 552, 552, 558,
2031 557, 556, 552, 923, 923, 923, 923, 553, 551, 923,
2032 923, 567, 567, 567, 549, 548, 547, 567, 939, 939,
2033 939, 939, 546, 545, 939, 939, 578, 578, 578, 543,
2034 2395, 496, 578, 947, 947, 947, 947, 538, 533, 947,
2035 947, 583, 583, 583, 532, 531, 529, 583, 958, 958,
2036 958, 958, 527, 526, 958, 958, 591, 591, 591, 591,
2038 525, 591, 523, 591, 967, 967, 967, 967, 518, 514,
2039 967, 967, 598, 598, 598, 598, 513, 598, 511, 598,
2040 979, 979, 979, 979, 510, 507, 979, 979, 605, 605,
2041 605, 506, 505, 503, 605, 987, 987, 987, 987, 498,
2042 2395, 987, 987, 610, 610, 610, 610, 483, 610, 481,
2043 610, 997, 997, 997, 997, 479, 473, 997, 997, 616,
2044 616, 616, 472, 473, 472, 616, 1005, 1005, 1005, 1005,
2045 471, 470, 1005, 1005, 624, 624, 624, 2395, 2395, 2395,
2046 624, 1011, 1011, 1011, 1011, 2395, 2395, 1011, 1011, 1018,
2047 1018, 1018, 1018, 2395, 2395, 1018, 1018, 632, 632, 632,
2049 2395, 2395, 2395, 632, 1026, 1026, 1026, 1026, 2395, 2395,
2050 1026, 1026, 802, 802, 802, 802, 802, 802, 802, 802,
2051 802, 808, 2395, 808, 2395, 2395, 808, 482, 482, 482,
2052 2395, 2395, 2395, 482, 817, 817, 817, 817, 2395, 2395,
2053 817, 817, 504, 504, 504, 504, 2395, 504, 2395, 504,
2054 848, 848, 848, 848, 2395, 2395, 848, 848, 512, 512,
2055 512, 2395, 2395, 2395, 512, 864, 864, 864, 864, 2395,
2056 2395, 864, 864, 524, 524, 524, 2395, 2395, 2395, 524,
2057 872, 872, 872, 872, 2395, 2395, 872, 872, 530, 530,
2058 530, 2395, 2395, 2395, 530, 881, 881, 881, 881, 2395,
2060 2395, 881, 881, 544, 544, 544, 2395, 2395, 2395, 544,
2061 900, 900, 900, 900, 2395, 2395, 900, 900, 552, 552,
2062 552, 2395, 2395, 2395, 552, 923, 923, 923, 923, 2395,
2063 2395, 923, 923, 567, 567, 567, 2395, 2395, 2395, 567,
2064 939, 939, 939, 939, 2395, 2395, 939, 939, 578, 578,
2065 578, 2395, 2395, 2395, 578, 947, 947, 947, 947, 2395,
2066 2395, 947, 947, 583, 583, 583, 2395, 2395, 2395, 583,
2067 958, 958, 958, 958, 2395, 2395, 958, 958, 591, 591,
2068 591, 2395, 2395, 2395, 591, 967, 967, 967, 967, 2395,
2069 2395, 967, 967, 598, 598, 598, 2395, 2395, 2395, 598,
2071 979, 979, 979, 979, 2395, 2395, 979, 979, 605, 605,
2072 605, 2395, 2395, 2395, 605, 987, 987, 987, 987, 2395,
2073 2395, 987, 987, 610, 610, 610, 2395, 2395, 2395, 610,
2074 997, 997, 997, 997, 2395, 2395, 997, 997, 616, 616,
2075 616, 2395, 2395, 2395, 616, 1005, 1005, 1005, 1005, 2395,
2076 2395, 1005, 1005, 624, 624, 624, 2395, 2395, 2395, 624,
2077 1011, 1011, 1011, 1011, 2395, 2395, 1011, 1011, 1018, 1018,
2078 1018, 1018, 2395, 2395, 1018, 1018, 632, 632, 632, 2395,
2079 2395, 2395, 632, 1026, 1026, 1026, 1026, 2395, 2395, 1026,
2080 1026, 802, 802, 802, 802, 802, 802, 802, 802, 802,
2082 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 482,
2083 482, 482, 2395, 2395, 2395, 482, 817, 817, 817, 817,
2084 2395, 2395, 817, 817, 504, 504, 504, 2395, 2395, 2395,
2085 504, 848, 848, 848, 848, 2395, 2395, 848, 848, 512,
2086 512, 512, 2395, 2395, 2395, 512, 864, 864, 864, 864,
2087 2395, 2395, 864, 864, 524, 524, 524, 2395, 2395, 2395,
2088 524, 872, 872, 872, 872, 2395, 2395, 872, 872, 530,
2089 530, 530, 2395, 2395, 2395, 530, 544, 544, 544, 2395,
2090 2395, 2395, 544, 900, 900, 900, 900, 2395, 2395, 900,
2091 900, 552, 552, 552, 2395, 2395, 2395, 552, 923, 923,
2093 923, 923, 2395, 2395, 923, 923, 567, 567, 567, 2395,
2094 2395, 2395, 567, 939, 939, 939, 939, 2395, 2395, 939,
2095 939, 578, 578, 578, 2395, 2395, 2395, 578, 947, 947,
2096 947, 947, 2395, 2395, 947, 947, 583, 583, 583, 2395,
2097 2395, 2395, 583, 958, 958, 958, 958, 2395, 2395, 958,
2098 958, 591, 591, 591, 2395, 2395, 2395, 591, 967, 967,
2099 967, 967, 2395, 2395, 967, 967, 598, 598, 598, 2395,
2100 2395, 2395, 598, 979, 979, 979, 979, 2395, 2395, 979,
2101 979, 605, 605, 605, 2395, 2395, 2395, 605, 987, 987,
2102 987, 987, 2395, 2395, 987, 987, 610, 610, 610, 2395,
2104 2395, 2395, 610, 997, 997, 997, 997, 2395, 2395, 997,
2105 997, 616, 616, 616, 2395, 2395, 2395, 616, 1005, 1005,
2106 1005, 1005, 2395, 2395, 1005, 1005, 624, 624, 624, 624,
2107 2395, 624, 2395, 624, 1011, 1011, 1011, 1011, 2395, 2395,
2108 1011, 1011, 1018, 1018, 1018, 1018, 2395, 2395, 1018, 1018,
2109 632, 632, 632, 632, 2395, 632, 2395, 632, 1026, 1026,
2110 1026, 1026, 2395, 2395, 1026, 1026, 802, 802, 802, 802,
2111 802, 802, 802, 802, 802, 1178, 1178, 1178, 1178, 1178,
2112 1178, 1178, 1178, 1178, 482, 482, 482, 2395, 2395, 2395,
2113 482, 817, 817, 817, 817, 2395, 2395, 817, 817, 504,
2115 504, 504, 2395, 2395, 2395, 504, 848, 848, 848, 848,
2116 2395, 2395, 848, 848, 512, 512, 512, 2395, 2395, 2395,
2117 512, 864, 864, 864, 864, 2395, 2395, 864, 864, 524,
2118 524, 524, 2395, 2395, 2395, 524, 872, 872, 872, 872,
2119 2395, 2395, 872, 872, 530, 530, 530, 2395, 2395, 2395,
2120 530, 544, 544, 544, 2395, 2395, 2395, 544, 900, 900,
2121 900, 900, 2395, 2395, 900, 900, 552, 552, 552, 2395,
2122 2395, 2395, 552, 923, 923, 923, 923, 2395, 2395, 923,
2123 923, 567, 567, 567, 2395, 2395, 2395, 567, 939, 939,
2124 939, 939, 2395, 2395, 939, 939, 578, 578, 578, 2395,
2126 2395, 2395, 578, 947, 947, 947, 947, 2395, 2395, 947,
2127 947, 583, 583, 583, 2395, 2395, 2395, 583, 958, 958,
2128 958, 958, 2395, 2395, 958, 958, 591, 591, 591, 2395,
2129 2395, 2395, 591, 967, 967, 967, 967, 2395, 2395, 967,
2130 967, 598, 598, 598, 598, 2395, 598, 2395, 598, 979,
2131 979, 979, 979, 2395, 2395, 979, 979, 605, 605, 605,
2132 2395, 2395, 2395, 605, 987, 987, 987, 987, 2395, 2395,
2133 987, 987, 610, 610, 610, 610, 2395, 610, 2395, 610,
2134 997, 997, 997, 997, 2395, 2395, 997, 997, 616, 616,
2135 616, 2395, 2395, 2395, 616, 1005, 1005, 1005, 1005, 2395,
2137 2395, 1005, 1005, 1011, 1011, 1011, 1011, 2395, 2395, 1011,
2138 1011, 1018, 1018, 1018, 1018, 2395, 2395, 1018, 1018, 1026,
2139 1026, 1026, 1026, 2395, 2395, 1026, 1026, 802, 802, 802,
2140 802, 802, 802, 802, 802, 802, 1178, 1178, 1178, 1178,
2141 1178, 1178, 1178, 1178, 1178, 482, 482, 482, 482, 2395,
2142 482, 2395, 482, 817, 817, 817, 817, 2395, 2395, 817,
2143 817, 504, 504, 504, 2395, 2395, 2395, 504, 848, 848,
2144 848, 848, 2395, 2395, 848, 848, 512, 512, 512, 2395,
2145 2395, 2395, 512, 864, 864, 864, 864, 2395, 2395, 864,
2146 864, 524, 524, 524, 524, 2395, 524, 2395, 524, 872,
2148 872, 872, 872, 2395, 2395, 872, 872, 530, 530, 530,
2149 2395, 2395, 2395, 530, 544, 544, 544, 2395, 2395, 2395,
2150 544, 552, 552, 552, 2395, 2395, 2395, 552, 923, 923,
2151 923, 923, 2395, 2395, 923, 923, 567, 567, 567, 2395,
2152 2395, 2395, 567, 578, 578, 578, 2395, 2395, 2395, 578,
2153 947, 947, 947, 947, 2395, 2395, 947, 947, 583, 583,
2154 583, 2395, 2395, 2395, 583, 591, 591, 591, 2395, 2395,
2155 2395, 591, 967, 967, 967, 967, 2395, 2395, 967, 967,
2156 598, 598, 598, 2395, 2395, 2395, 598, 979, 979, 979,
2157 979, 2395, 2395, 979, 979, 605, 605, 605, 2395, 2395,
2159 2395, 605, 987, 987, 987, 987, 2395, 2395, 987, 987,
2160 997, 997, 997, 997, 2395, 2395, 997, 997, 616, 616,
2161 616, 2395, 2395, 2395, 616, 1005, 1005, 1005, 1005, 2395,
2162 2395, 1005, 1005, 1011, 1011, 1011, 1011, 2395, 2395, 1011,
2163 1011, 1018, 1018, 1018, 1018, 2395, 2395, 1018, 1018, 802,
2164 802, 802, 802, 802, 802, 802, 802, 802, 1178, 1178,
2165 1178, 1178, 1178, 1178, 1178, 1178, 1178, 2038, 2038, 2038,
2166 2038, 2038, 2038, 2038, 2038, 2038, 2039, 2039, 2039, 2039,
2167 2039, 2039, 2039, 2039, 2039, 2081, 2081, 2081, 2081, 2081,
2168 2081, 2081, 2081, 2081, 2084, 2084, 2084, 2084, 2084, 2084,
2170 2084, 2084, 2084, 2114, 2114, 2114, 2114, 2114, 2114, 2114,
2171 2114, 2114, 2116, 2116, 2116, 2116, 2116, 2116, 2116, 2116,
2172 2116, 189, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
2173 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
2174 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
2175 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
2176 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
2177 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
2178 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
2183 static yyconst flex_int16_t yy_chk[7794] =
2185 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2186 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2187 4, 10, 288, 5, 393, 9, 6, 0, 10, 7,
2188 8, 8, 8, 194, 11, 13, 13, 12, 14, 14,
2189 13, 13, 292, 14, 14, 195, 8, 17, 17, 194,
2190 13, 15, 15, 14, 15, 198, 15, 16, 16, 288,
2191 16, 195, 16, 18, 18, 1413, 15, 19, 19, 19,
2192 393, 198, 16, 20, 20, 20, 23, 23, 23, 24,
2193 24, 24, 738, 19, 25, 25, 25, 738, 216, 20,
2194 17, 227, 23, 257, 292, 24, 192, 192, 192, 258,
2196 25, 193, 193, 193, 216, 227, 18, 21, 21, 21,
2197 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2198 21, 21, 259, 21, 21, 21, 21, 21, 26, 26,
2199 26, 27, 27, 27, 28, 28, 28, 29, 29, 29,
2200 30, 30, 30, 257, 26, 216, 294, 27, 294, 258,
2201 28, 21, 21, 29, 221, 237, 30, 31, 31, 31,
2202 197, 197, 197, 218, 218, 218, 225, 225, 225, 1415,
2203 221, 237, 259, 31, 21, 22, 22, 22, 22, 22,
2204 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2205 308, 22, 22, 22, 22, 22, 32, 32, 32, 33,
2207 33, 33, 34, 34, 34, 35, 35, 35, 36, 36,
2208 36, 208, 32, 229, 286, 33, 309, 1416, 34, 22,
2209 22, 35, 417, 286, 36, 37, 37, 37, 38, 38,
2210 38, 39, 39, 39, 40, 40, 40, 41, 41, 41,
2211 308, 37, 22, 254, 38, 1417, 321, 39, 248, 321,
2212 40, 229, 208, 41, 42, 42, 42, 254, 208, 234,
2213 234, 234, 208, 229, 248, 229, 309, 208, 417, 230,
2214 42, 43, 43, 43, 43, 43, 43, 43, 43, 43,
2215 43, 43, 43, 43, 43, 43, 452, 43, 43, 43,
2216 43, 43, 49, 49, 49, 50, 50, 50, 51, 51,
2218 51, 1420, 52, 52, 52, 45, 45, 230, 49, 264,
2219 45, 50, 46, 46, 51, 43, 43, 46, 52, 230,
2220 45, 230, 452, 43, 375, 264, 43, 46, 245, 245,
2221 245, 375, 43, 44, 44, 44, 44, 44, 44, 44,
2222 44, 44, 44, 44, 44, 44, 44, 44, 45, 44,
2223 44, 44, 44, 44, 1350, 46, 53, 53, 53, 54,
2224 54, 54, 1350, 55, 55, 55, 56, 56, 56, 256,
2225 256, 256, 53, 242, 271, 54, 276, 44, 44, 55,
2226 242, 271, 56, 252, 366, 44, 367, 252, 44, 242,
2227 271, 252, 276, 1422, 44, 47, 47, 47, 47, 47,
2229 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
2230 290, 47, 47, 47, 47, 47, 59, 59, 59, 60,
2231 60, 60, 63, 63, 63, 64, 64, 64, 65, 65,
2232 65, 317, 59, 289, 366, 60, 367, 290, 63, 47,
2233 47, 64, 389, 289, 65, 261, 261, 261, 47, 389,
2234 47, 317, 290, 47, 270, 270, 270, 1427, 47, 47,
2235 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
2236 48, 48, 48, 48, 48, 1177, 48, 48, 48, 48,
2237 48, 66, 66, 66, 67, 67, 67, 68, 68, 68,
2238 69, 69, 69, 70, 70, 70, 323, 66, 299, 1177,
2240 67, 314, 432, 68, 48, 48, 69, 323, 323, 70,
2241 273, 273, 273, 48, 299, 48, 432, 314, 48, 282,
2242 282, 282, 1429, 48, 48, 57, 57, 57, 57, 57,
2243 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2244 508, 57, 57, 57, 57, 57, 71, 71, 71, 72,
2245 72, 72, 73, 73, 73, 74, 74, 74, 75, 75,
2246 75, 339, 71, 475, 331, 72, 475, 1436, 73, 57,
2247 57, 74, 339, 830, 75, 508, 57, 296, 296, 296,
2248 331, 57, 307, 307, 307, 830, 291, 311, 311, 311,
2249 57, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2251 58, 58, 58, 58, 58, 58, 1437, 58, 58, 58,
2252 58, 58, 76, 76, 76, 77, 77, 77, 78, 78,
2253 78, 79, 79, 79, 80, 80, 80, 1438, 76, 291,
2254 363, 77, 291, 1440, 78, 58, 58, 79, 291, 326,
2255 80, 363, 58, 325, 325, 325, 326, 58, 328, 328,
2256 328, 341, 341, 341, 430, 326, 58, 61, 61, 61,
2257 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
2258 61, 61, 1454, 61, 61, 61, 61, 61, 81, 81,
2259 81, 82, 82, 82, 83, 83, 83, 84, 84, 84,
2260 430, 85, 85, 85, 81, 347, 488, 82, 342, 488,
2262 83, 61, 61, 84, 430, 342, 61, 85, 344, 344,
2263 344, 347, 61, 378, 342, 352, 352, 352, 453, 1459,
2264 61, 62, 62, 62, 62, 62, 62, 62, 62, 62,
2265 62, 62, 62, 62, 62, 62, 1460, 62, 62, 62,
2266 62, 62, 86, 86, 86, 87, 87, 87, 88, 88,
2267 88, 89, 89, 89, 466, 90, 90, 90, 86, 378,
2268 1452, 87, 1029, 378, 88, 62, 62, 89, 453, 466,
2269 62, 90, 91, 91, 91, 353, 62, 92, 92, 92,
2270 494, 1029, 353, 494, 62, 355, 355, 355, 91, 497,
2271 1452, 353, 497, 92, 93, 93, 93, 93, 93, 93,
2273 93, 93, 93, 93, 93, 93, 93, 93, 93, 1463,
2274 93, 93, 93, 93, 93, 95, 95, 95, 96, 96,
2275 96, 97, 97, 97, 98, 98, 98, 638, 99, 99,
2276 99, 95, 358, 500, 96, 1464, 500, 97, 93, 93,
2277 98, 93, 638, 93, 99, 365, 365, 365, 358, 93,
2278 369, 369, 369, 546, 1453, 93, 546, 1468, 93, 94,
2279 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2280 94, 94, 94, 94, 1473, 94, 94, 94, 94, 94,
2281 100, 100, 100, 101, 101, 101, 102, 102, 102, 105,
2282 105, 105, 1354, 106, 106, 106, 100, 372, 1453, 101,
2284 1354, 1474, 102, 94, 94, 105, 94, 839, 94, 106,
2285 377, 377, 377, 372, 94, 382, 382, 382, 805, 839,
2286 94, 1475, 805, 94, 103, 103, 103, 103, 103, 103,
2287 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2288 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2289 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2290 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2291 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2292 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2293 103, 103, 103, 103, 103, 107, 107, 107, 107, 107,
2295 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2296 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2297 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2298 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2299 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2300 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2301 107, 107, 107, 107, 107, 107, 109, 109, 109, 110,
2302 110, 110, 391, 391, 391, 395, 395, 395, 403, 403,
2303 403, 1478, 109, 1481, 1485, 110, 111, 111, 111, 111,
2304 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2306 111, 1316, 111, 111, 111, 111, 111, 113, 113, 113,
2307 114, 114, 114, 117, 117, 117, 118, 118, 118, 1451,
2308 119, 119, 119, 113, 385, 1451, 114, 1486, 1487, 117,
2309 111, 111, 118, 1316, 1488, 111, 119, 406, 406, 406,
2310 385, 111, 112, 112, 112, 112, 112, 112, 112, 112,
2311 112, 112, 112, 112, 112, 112, 112, 1489, 112, 112,
2312 112, 112, 112, 120, 120, 120, 121, 121, 121, 122,
2313 122, 122, 123, 123, 123, 1490, 124, 124, 124, 120,
2314 398, 1491, 121, 1492, 1493, 122, 112, 112, 123, 1494,
2315 1496, 112, 124, 415, 415, 415, 398, 112, 115, 115,
2317 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
2318 115, 115, 115, 1500, 115, 115, 115, 115, 115, 127,
2319 127, 127, 128, 128, 128, 129, 129, 129, 130, 130,
2320 130, 131, 131, 131, 409, 127, 492, 1502, 128, 867,
2321 1503, 129, 115, 115, 130, 404, 115, 131, 491, 492,
2322 409, 867, 404, 115, 491, 115, 419, 419, 419, 1506,
2323 491, 404, 115, 116, 116, 116, 116, 116, 116, 116,
2324 116, 116, 116, 116, 116, 116, 116, 116, 1507, 116,
2325 116, 116, 116, 116, 132, 132, 132, 133, 133, 133,
2326 134, 134, 134, 137, 137, 137, 138, 138, 138, 422,
2328 132, 437, 1511, 133, 498, 1517, 134, 116, 116, 137,
2329 498, 116, 138, 1518, 1523, 422, 498, 437, 116, 1527,
2330 116, 429, 429, 429, 434, 434, 434, 116, 125, 125,
2331 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
2332 125, 125, 125, 1528, 125, 125, 125, 125, 125, 139,
2333 139, 139, 140, 140, 140, 141, 141, 141, 142, 142,
2334 142, 143, 143, 143, 1529, 139, 1530, 1532, 140, 442,
2335 447, 141, 125, 125, 142, 458, 442, 143, 125, 441,
2336 441, 441, 444, 444, 444, 442, 447, 451, 451, 451,
2337 1535, 458, 125, 126, 126, 126, 126, 126, 126, 126,
2339 126, 126, 126, 126, 126, 126, 126, 126, 1536, 126,
2340 126, 126, 126, 126, 144, 144, 144, 147, 147, 147,
2341 148, 148, 148, 151, 151, 151, 152, 152, 152, 1539,
2342 144, 1540, 1543, 147, 464, 1550, 148, 126, 126, 151,
2343 1552, 464, 152, 126, 455, 455, 455, 463, 463, 463,
2344 464, 465, 465, 465, 653, 653, 653, 126, 135, 135,
2345 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
2346 135, 135, 135, 1562, 135, 135, 135, 135, 135, 153,
2347 153, 153, 154, 154, 154, 155, 155, 155, 156, 156,
2348 156, 157, 157, 157, 501, 153, 495, 539, 154, 541,
2350 501, 155, 135, 135, 156, 542, 501, 157, 135, 495,
2351 539, 135, 541, 474, 474, 474, 653, 1563, 542, 820,
2352 820, 820, 135, 136, 136, 136, 136, 136, 136, 136,
2353 136, 136, 136, 136, 136, 136, 136, 136, 1565, 136,
2354 136, 136, 136, 136, 158, 158, 158, 161, 161, 161,
2355 162, 162, 162, 163, 163, 163, 164, 164, 164, 502,
2356 158, 1578, 1569, 161, 1583, 502, 162, 136, 136, 163,
2357 474, 502, 164, 136, 522, 1586, 136, 641, 641, 641,
2358 522, 641, 836, 836, 836, 1570, 522, 136, 145, 145,
2359 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2361 145, 145, 145, 1569, 145, 145, 145, 145, 145, 165,
2362 165, 165, 166, 166, 166, 167, 167, 167, 168, 168,
2363 168, 171, 171, 171, 1587, 165, 722, 1593, 166, 1504,
2364 1570, 167, 145, 145, 168, 722, 1504, 171, 145, 1043,
2365 1043, 1043, 722, 145, 146, 146, 146, 146, 146, 146,
2366 146, 146, 146, 146, 146, 146, 146, 146, 146, 1599,
2367 146, 146, 146, 146, 146, 172, 172, 172, 175, 175,
2368 175, 176, 176, 176, 177, 177, 177, 178, 178, 178,
2369 1600, 172, 1314, 1601, 175, 1505, 1602, 176, 146, 146,
2370 177, 1603, 1505, 178, 146, 668, 668, 668, 1314, 146,
2372 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
2373 149, 149, 149, 149, 149, 1604, 149, 149, 149, 149,
2374 149, 179, 179, 179, 180, 180, 180, 181, 181, 181,
2375 182, 182, 182, 185, 185, 185, 1605, 179, 1606, 1607,
2376 180, 1537, 228, 181, 149, 149, 182, 1608, 1537, 185,
2377 149, 1610, 228, 149, 675, 675, 675, 668, 675, 1615,
2378 1616, 675, 1617, 1618, 149, 150, 150, 150, 150, 150,
2379 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
2380 228, 150, 150, 150, 150, 150, 186, 186, 186, 506,
2381 506, 506, 228, 1045, 1045, 1045, 228, 1619, 1620, 514,
2383 514, 514, 186, 532, 532, 532, 506, 1621, 1622, 150,
2384 150, 547, 547, 547, 283, 150, 514, 284, 150, 1315,
2385 532, 704, 704, 704, 283, 1623, 1624, 284, 547, 150,
2386 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
2387 159, 159, 159, 159, 159, 1538, 159, 159, 159, 159,
2388 159, 283, 1538, 1628, 284, 284, 1629, 283, 1631, 1315,
2389 283, 555, 555, 555, 1632, 1633, 283, 284, 557, 557,
2390 557, 571, 571, 571, 159, 159, 1634, 1635, 555, 1048,
2391 1048, 1048, 159, 704, 159, 557, 159, 1642, 571, 1643,
2392 709, 709, 709, 1644, 159, 160, 160, 160, 160, 160,
2394 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
2395 1645, 160, 160, 160, 160, 160, 580, 580, 580, 585,
2396 585, 585, 1646, 1647, 607, 607, 607, 629, 629, 629,
2397 651, 651, 651, 580, 1648, 1649, 585, 1227, 1651, 160,
2398 160, 607, 1659, 1227, 629, 1671, 1227, 160, 651, 160,
2399 1227, 160, 709, 1674, 1044, 1044, 1044, 1675, 1676, 160,
2400 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
2401 169, 169, 169, 169, 169, 1679, 169, 169, 169, 169,
2402 169, 633, 633, 633, 674, 674, 674, 1666, 678, 678,
2403 678, 1680, 1681, 652, 652, 652, 1682, 1683, 633, 1044,
2405 1684, 674, 1685, 1686, 169, 169, 678, 679, 679, 679,
2406 1687, 652, 683, 683, 683, 1688, 683, 1689, 1666, 683,
2407 1055, 1055, 1055, 1691, 1692, 679, 1693, 169, 170, 170,
2408 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
2409 170, 170, 170, 1667, 170, 170, 170, 170, 170, 652,
2410 682, 682, 682, 684, 684, 684, 1694, 686, 686, 686,
2411 690, 690, 690, 696, 696, 696, 1695, 682, 1697, 679,
2412 684, 1700, 170, 170, 686, 691, 691, 691, 690, 1667,
2413 1701, 696, 700, 700, 700, 1702, 700, 1706, 1707, 700,
2414 1077, 1077, 1077, 691, 1708, 170, 173, 173, 173, 173,
2416 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
2417 173, 1710, 173, 173, 173, 173, 173, 697, 697, 697,
2418 1713, 691, 699, 699, 699, 702, 702, 702, 715, 715,
2419 715, 703, 703, 703, 1714, 697, 1089, 1089, 1089, 699,
2420 173, 173, 1715, 702, 1716, 715, 1192, 1192, 1192, 703,
2421 1718, 173, 174, 174, 174, 174, 174, 174, 174, 174,
2422 174, 174, 174, 174, 174, 174, 174, 703, 174, 174,
2423 174, 174, 174, 716, 716, 716, 1721, 716, 1723, 697,
2424 716, 719, 719, 719, 720, 720, 720, 723, 723, 723,
2425 1745, 724, 724, 724, 1742, 724, 174, 174, 724, 719,
2427 1740, 1741, 720, 1746, 723, 1747, 1752, 174, 183, 183,
2428 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
2429 183, 183, 183, 1753, 183, 183, 183, 183, 183, 726,
2430 726, 726, 727, 727, 727, 1742, 727, 1741, 1740, 727,
2431 728, 728, 728, 720, 1754, 1755, 726, 735, 735, 735,
2432 1756, 1757, 183, 183, 736, 736, 736, 728, 1758, 1750,
2433 741, 741, 741, 183, 741, 735, 1759, 741, 1193, 1193,
2434 1193, 1750, 736, 1760, 1761, 183, 184, 184, 184, 184,
2435 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
2436 184, 1751, 184, 184, 184, 184, 184, 740, 740, 740,
2438 742, 742, 742, 1751, 746, 746, 746, 747, 747, 747,
2439 736, 749, 749, 749, 740, 1762, 1765, 742, 1766, 1772,
2440 184, 184, 746, 1773, 1774, 747, 1777, 1779, 749, 1786,
2441 1787, 184, 750, 750, 750, 1788, 750, 1812, 1813, 750,
2442 751, 751, 751, 184, 226, 752, 752, 752, 754, 754,
2443 754, 226, 755, 755, 755, 1816, 755, 747, 751, 755,
2444 226, 226, 1809, 752, 1817, 754, 759, 759, 759, 761,
2445 761, 761, 760, 760, 760, 762, 762, 762, 763, 763,
2446 763, 764, 764, 764, 759, 1818, 761, 226, 226, 226,
2447 760, 1819, 762, 1820, 226, 763, 1810, 226, 1821, 764,
2449 1822, 226, 1809, 226, 752, 226, 765, 765, 765, 1823,
2450 767, 767, 767, 768, 768, 768, 769, 769, 769, 1228,
2451 770, 770, 770, 1824, 765, 1228, 760, 767, 1228, 1826,
2452 768, 1808, 1228, 769, 1827, 763, 1810, 770, 771, 771,
2453 771, 1828, 772, 772, 772, 1829, 774, 774, 774, 1796,
2454 775, 775, 775, 1841, 775, 1842, 771, 775, 1796, 1808,
2455 772, 1843, 768, 774, 1796, 765, 776, 776, 776, 777,
2456 777, 777, 778, 778, 778, 1847, 768, 770, 772, 779,
2457 779, 779, 1850, 1856, 776, 1858, 1866, 777, 1867, 778,
2458 780, 780, 780, 781, 781, 781, 779, 782, 782, 782,
2460 787, 787, 787, 788, 788, 788, 1868, 780, 791, 791,
2461 791, 781, 792, 792, 792, 782, 1869, 1870, 787, 1871,
2462 1880, 788, 1876, 777, 1877, 1881, 791, 1885, 779, 1886,
2463 792, 793, 793, 793, 794, 794, 794, 1887, 794, 1888,
2464 1890, 794, 779, 795, 795, 795, 1891, 1892, 793, 796,
2465 796, 796, 797, 797, 797, 798, 798, 798, 1877, 798,
2466 1893, 795, 798, 1894, 1895, 788, 782, 796, 1876, 797,
2467 800, 800, 800, 1896, 792, 801, 801, 801, 816, 816,
2468 816, 817, 817, 817, 819, 819, 819, 1897, 800, 841,
2469 841, 841, 1905, 801, 1909, 1910, 816, 1911, 1912, 817,
2471 1916, 1920, 819, 842, 842, 842, 841, 842, 796, 1923,
2472 842, 845, 845, 845, 847, 847, 847, 848, 848, 848,
2473 850, 850, 850, 1925, 1926, 855, 855, 855, 845, 1930,
2474 819, 1931, 847, 1925, 1926, 848, 1932, 801, 850, 852,
2475 852, 852, 855, 852, 1933, 1934, 852, 856, 856, 856,
2476 1935, 856, 1943, 1944, 856, 857, 857, 857, 858, 858,
2477 858, 859, 859, 859, 1928, 859, 850, 1945, 859, 1937,
2478 845, 1946, 857, 1949, 1928, 858, 861, 861, 861, 863,
2479 863, 863, 864, 864, 864, 866, 866, 866, 869, 869,
2480 869, 1929, 1950, 861, 871, 871, 871, 863, 1952, 1953,
2482 864, 1929, 1937, 866, 1954, 869, 872, 872, 872, 874,
2483 874, 874, 871, 876, 876, 876, 1956, 876, 1961, 1962,
2484 876, 880, 880, 880, 872, 1963, 1965, 874, 881, 881,
2485 881, 883, 883, 883, 893, 893, 893, 1972, 1973, 880,
2486 894, 894, 894, 866, 894, 1974, 881, 894, 1975, 883,
2487 1976, 893, 899, 899, 899, 874, 900, 900, 900, 902,
2488 902, 902, 907, 907, 907, 1977, 907, 1978, 1979, 907,
2489 899, 910, 910, 910, 900, 1980, 1981, 902, 911, 911,
2490 911, 1983, 911, 1984, 1996, 911, 1997, 1998, 910, 914,
2491 914, 914, 915, 915, 915, 1999, 915, 2003, 2004, 915,
2493 922, 922, 922, 923, 923, 923, 914, 925, 925, 925,
2494 930, 930, 930, 2005, 930, 1988, 2006, 930, 922, 2007,
2495 2008, 923, 902, 2010, 2011, 925, 933, 933, 933, 934,
2496 934, 934, 2012, 934, 2015, 2022, 934, 938, 938, 938,
2497 939, 939, 939, 933, 941, 941, 941, 943, 943, 943,
2498 2023, 943, 2024, 2025, 943, 938, 1988, 2026, 939, 946,
2499 946, 946, 941, 947, 947, 947, 949, 949, 949, 951,
2500 951, 951, 925, 951, 2027, 2028, 951, 946, 957, 957,
2501 957, 947, 2029, 2030, 949, 958, 958, 958, 960, 960,
2502 960, 961, 961, 961, 941, 2031, 957, 962, 962, 962,
2504 2032, 962, 2033, 958, 962, 2040, 960, 2037, 961, 963,
2505 963, 963, 964, 964, 964, 2034, 964, 2042, 2037, 964,
2506 966, 966, 966, 967, 967, 967, 963, 969, 969, 969,
2507 2036, 949, 971, 971, 971, 972, 972, 972, 966, 972,
2508 2045, 967, 972, 2046, 2036, 969, 960, 2048, 2049, 971,
2509 975, 975, 975, 976, 976, 976, 2052, 976, 2053, 2034,
2510 976, 978, 978, 978, 979, 979, 979, 975, 981, 981,
2511 981, 983, 983, 983, 2054, 983, 2058, 2069, 983, 978,
2512 2056, 2071, 979, 986, 986, 986, 981, 987, 987, 987,
2513 2073, 2056, 969, 989, 989, 989, 990, 990, 990, 2057,
2515 2075, 986, 991, 991, 991, 987, 991, 2083, 2081, 991,
2516 2057, 989, 2060, 990, 994, 994, 994, 995, 995, 995,
2517 2085, 995, 2081, 2060, 995, 996, 996, 996, 2082, 2082,
2518 981, 994, 997, 997, 997, 999, 999, 999, 1001, 1001,
2519 1001, 2061, 2080, 996, 1004, 1004, 1004, 1005, 1005, 1005,
2520 997, 989, 2061, 999, 2087, 1001, 1007, 1007, 1007, 1010,
2521 1010, 1010, 1004, 2088, 2066, 1005, 1011, 1011, 1011, 1013,
2522 1013, 1013, 2067, 2097, 1007, 2066, 2099, 1010, 1014, 1014,
2523 1014, 2080, 1014, 2067, 1011, 1014, 2101, 1013, 1017, 1017,
2524 1017, 1018, 1018, 1018, 2084, 999, 1020, 1020, 1020, 2102,
2526 1021, 1021, 1021, 2103, 1021, 2084, 1017, 1021, 2104, 1018,
2527 1025, 1025, 1025, 2106, 1020, 1007, 1026, 1026, 1026, 2108,
2528 2096, 1013, 1028, 1028, 1028, 1030, 1030, 1030, 1025, 1037,
2529 1037, 1037, 2114, 1797, 1026, 1058, 1058, 1058, 2096, 2115,
2530 1028, 2116, 1797, 1030, 1030, 2098, 2118, 1037, 1797, 1059,
2531 1059, 1059, 1058, 1059, 1020, 2119, 1059, 1062, 1062, 1062,
2532 1064, 1064, 1064, 2098, 1064, 2126, 2127, 1064, 1067, 1067,
2533 1067, 2128, 1068, 1068, 1068, 1062, 1068, 2129, 2130, 1068,
2534 2131, 1028, 1069, 1069, 1069, 1067, 1069, 2134, 2105, 1069,
2535 1073, 1073, 1073, 1037, 1074, 1074, 1074, 2135, 1074, 2107,
2537 2136, 1074, 1076, 1076, 1076, 1062, 2105, 1073, 1079, 1079,
2538 1079, 1080, 1080, 1080, 2137, 1080, 2138, 2107, 1080, 2139,
2539 1076, 1081, 1081, 1081, 2140, 1079, 1082, 1082, 1082, 1085,
2540 1085, 1085, 1090, 1090, 1090, 1096, 1096, 1096, 1081, 1097,
2541 1097, 1097, 2141, 1097, 1082, 2142, 1097, 1085, 1098, 1098,
2542 1098, 1076, 1096, 1099, 1099, 1099, 2143, 1100, 1100, 1100,
2543 2145, 1102, 1102, 1102, 2157, 1098, 1105, 1105, 1105, 2158,
2544 1099, 1195, 1195, 1195, 1082, 1100, 2159, 1090, 1102, 2160,
2545 1106, 1106, 1106, 1105, 1106, 2155, 2156, 1106, 1107, 1107,
2546 1107, 2161, 1107, 2162, 2166, 1107, 2155, 2156, 1099, 1110,
2548 1110, 1110, 1116, 1116, 1116, 1118, 1118, 1118, 1121, 1121,
2549 1121, 2167, 1121, 2168, 2169, 1121, 1110, 1124, 1124, 1124,
2550 1116, 1100, 1118, 1127, 1127, 1127, 1129, 1129, 1129, 1133,
2551 1133, 1133, 2170, 2171, 1124, 2172, 1134, 1134, 1134, 2173,
2552 2174, 1127, 2175, 2178, 1129, 2179, 1133, 2180, 1135, 1135,
2553 1135, 2181, 1135, 2182, 1134, 1135, 1138, 1138, 1138, 2176,
2554 1138, 2183, 2184, 1138, 2185, 1116, 1142, 1142, 1142, 1143,
2555 1143, 1143, 2186, 2187, 1133, 1144, 1144, 1144, 2188, 1144,
2556 2189, 2190, 1144, 2176, 1142, 1127, 1153, 1153, 1153, 2191,
2557 1129, 1134, 1149, 1149, 1149, 2192, 1149, 2193, 2194, 1149,
2559 1155, 1155, 1155, 2195, 1153, 1156, 1156, 1156, 2196, 1156,
2560 2197, 2198, 1156, 2199, 1143, 1161, 1161, 1161, 1155, 1161,
2561 2200, 2201, 1161, 1164, 1164, 1164, 1166, 1166, 1166, 2198,
2562 1142, 1167, 1167, 1167, 2202, 1167, 2203, 2204, 1167, 2205,
2563 2206, 1164, 2207, 1166, 2208, 1153, 1170, 1170, 1170, 1172,
2564 1172, 1172, 1173, 1173, 1173, 1155, 1174, 1174, 1174, 1175,
2565 1175, 1175, 2209, 2210, 1170, 2211, 1172, 2212, 2213, 1164,
2566 1173, 1176, 1176, 1176, 1174, 2214, 1175, 1179, 1179, 1179,
2567 2215, 1186, 1186, 1186, 1198, 1198, 1198, 2216, 2217, 1176,
2568 1200, 1200, 1200, 2218, 1170, 1179, 1201, 1201, 1201, 1186,
2570 1205, 1205, 1205, 1207, 1207, 1207, 2220, 1174, 1208, 1208,
2571 1208, 2219, 1208, 2221, 2222, 1208, 2223, 1173, 1213, 1213,
2572 1213, 1215, 1215, 1215, 2224, 1215, 2225, 1179, 1215, 2226,
2573 2219, 1176, 1186, 1219, 1219, 1219, 1213, 1219, 2227, 2228,
2574 1219, 1201, 2229, 1179, 1223, 1223, 1223, 2230, 1207, 1224,
2575 1224, 1224, 1200, 1226, 1226, 1226, 2231, 1226, 2232, 2233,
2576 1226, 2234, 1223, 1229, 1229, 1229, 2235, 2236, 1213, 1230,
2577 1230, 1230, 2237, 1230, 2238, 2239, 1230, 1231, 1231, 1231,
2578 1229, 1236, 1236, 1236, 1237, 1237, 1237, 1238, 1238, 1238,
2579 1239, 1239, 1239, 2240, 2241, 1231, 1240, 1240, 1240, 2240,
2581 1243, 1243, 1243, 1223, 1243, 2242, 2243, 1243, 1246, 1246,
2582 1246, 1247, 1247, 1247, 2244, 1247, 2245, 2246, 1247, 1248,
2583 1248, 1248, 1249, 1249, 1249, 1246, 1249, 1231, 2248, 1249,
2584 1251, 1251, 1251, 1253, 1253, 1253, 1248, 1254, 1254, 1254,
2585 2249, 1254, 2251, 2253, 1254, 1255, 1255, 1255, 1251, 1238,
2586 1253, 2255, 1239, 1257, 1257, 1257, 2256, 1257, 1240, 2258,
2587 1257, 2259, 1255, 1260, 1260, 1260, 1261, 1261, 1261, 2262,
2588 1261, 2263, 2264, 1261, 1262, 1262, 1262, 1266, 1266, 1266,
2589 1260, 1267, 1267, 1267, 1269, 1269, 1269, 2261, 1270, 1270,
2590 1270, 1262, 1270, 2265, 1266, 1270, 1271, 1271, 1271, 1267,
2592 2261, 1269, 1273, 1273, 1273, 1274, 1274, 1274, 2267, 1274,
2593 2269, 2270, 1274, 1271, 1277, 1277, 1277, 2271, 2273, 1273,
2594 1279, 1279, 1279, 1283, 1283, 1283, 1284, 1284, 1284, 2275,
2595 1284, 2277, 1277, 1284, 1286, 1286, 1286, 2278, 1279, 2279,
2596 1283, 1288, 1288, 1288, 2280, 1267, 1290, 1290, 1290, 1291,
2597 1291, 1291, 1286, 2281, 1292, 1292, 1292, 2282, 2283, 1288,
2598 1293, 1293, 1293, 1290, 2284, 2285, 1291, 1295, 1295, 1295,
2599 1279, 1292, 1296, 1296, 1296, 1297, 1297, 1297, 1293, 1298,
2600 1298, 1298, 1305, 1305, 1305, 1295, 1300, 1300, 1300, 1296,
2601 1300, 1288, 1297, 1300, 1307, 1307, 1307, 1298, 2286, 2288,
2603 1305, 1308, 1308, 1308, 2290, 1308, 2292, 2293, 1308, 2294,
2604 2295, 1307, 1295, 1309, 1309, 1309, 1292, 1310, 1310, 1310,
2605 1311, 1311, 1311, 2296, 2297, 1293, 1312, 1312, 1312, 1411,
2606 1312, 1309, 1305, 1312, 2298, 1310, 1409, 1311, 1313, 1313,
2607 1313, 2308, 1298, 1319, 1319, 1319, 1320, 1320, 1320, 1325,
2608 1325, 1325, 1329, 1329, 1329, 2324, 1313, 1330, 1330, 1330,
2609 1319, 1331, 1331, 1331, 1320, 1332, 1332, 1332, 2322, 2298,
2610 1309, 1310, 1334, 1334, 1334, 1335, 1335, 1335, 1338, 1338,
2611 1338, 1342, 1342, 1342, 1344, 1344, 1344, 2308, 1346, 1346,
2612 1346, 1347, 1347, 1347, 2324, 2309, 1356, 1356, 1356, 1342,
2614 1356, 1344, 2310, 1356, 2322, 1320, 1346, 2311, 1347, 1359,
2615 1359, 1359, 1361, 1361, 1361, 1364, 1364, 1364, 1365, 1365,
2616 1365, 1368, 1368, 1368, 2312, 1368, 2323, 1359, 1368, 1361,
2617 1371, 1371, 1371, 2390, 1371, 2358, 2299, 1371, 1375, 1375,
2618 1375, 2309, 1378, 1378, 1378, 1346, 1378, 2390, 2310, 1378,
2619 1381, 1381, 1381, 2311, 1359, 2313, 1375, 1382, 1382, 1382,
2620 2320, 1382, 2323, 2358, 1382, 2316, 2312, 1381, 1384, 1384,
2621 1384, 2299, 1384, 2316, 2317, 1384, 1387, 1387, 1387, 1388,
2622 1388, 1388, 2317, 1388, 2328, 1406, 1388, 1389, 1389, 1389,
2623 1392, 1392, 1392, 1387, 1393, 1393, 1393, 2313, 1393, 2314,
2625 2326, 1393, 2315, 2314, 1389, 2320, 2315, 1392, 1394, 1394,
2626 1394, 1396, 1396, 1396, 2318, 1396, 2321, 2325, 1396, 1399,
2627 1399, 1399, 2318, 1400, 1400, 1400, 1394, 1400, 2328, 2319,
2628 1400, 1402, 1402, 1402, 2326, 1402, 1399, 2319, 1402, 1407,
2629 1407, 1407, 1410, 1410, 1410, 1412, 1412, 1412, 1414, 1414,
2630 1414, 2327, 1414, 2329, 1405, 1414, 2325, 1407, 1394, 2340,
2631 1410, 2321, 1412, 1418, 1418, 1418, 1421, 1421, 1421, 1423,
2632 1423, 1423, 1424, 1424, 1424, 2332, 1424, 1401, 1395, 1424,
2633 2341, 1418, 2330, 1391, 1421, 2327, 1423, 1428, 1428, 1428,
2634 1412, 1425, 1425, 1425, 1426, 1426, 1426, 2329, 1426, 2331,
2636 2340, 1426, 2333, 2338, 1410, 1428, 2332, 2346, 1425, 1430,
2637 1430, 1430, 1431, 1431, 1431, 1432, 1432, 1432, 2330, 1432,
2638 2336, 2341, 1432, 1433, 1433, 1433, 2337, 1430, 2339, 1431,
2639 1434, 1434, 1434, 2333, 1434, 2331, 2338, 1434, 2334, 2346,
2640 1433, 1435, 1435, 1435, 1439, 1439, 1439, 2334, 1441, 1441,
2641 1441, 1428, 1441, 1390, 2336, 1441, 2342, 1430, 2344, 1435,
2642 2337, 2339, 1439, 1444, 1444, 1444, 1445, 1445, 1445, 1446,
2643 1446, 1446, 2343, 1446, 2335, 2350, 1446, 1449, 1449, 1449,
2644 2345, 1444, 1383, 2335, 1445, 1455, 1455, 1455, 1377, 1456,
2645 1456, 1456, 2344, 1456, 2348, 1449, 1456, 1457, 1457, 1457,
2647 2342, 1374, 1455, 2348, 1435, 1373, 2391, 1439, 1458, 1458,
2648 1458, 2350, 2352, 1444, 2345, 1457, 2343, 2391, 1445, 1461,
2649 1461, 1461, 1462, 1462, 1462, 1465, 1465, 1465, 1466, 1466,
2650 1466, 1467, 1467, 1467, 1469, 1469, 1469, 1470, 1470, 1470,
2651 1471, 1471, 1471, 1472, 1472, 1472, 1476, 1476, 1476, 1479,
2652 1479, 1479, 2352, 1480, 1480, 1480, 2353, 1480, 2351, 1457,
2653 1480, 1482, 1482, 1482, 1476, 2347, 1479, 1483, 1483, 1483,
2654 1484, 1484, 1484, 2354, 1484, 2355, 2356, 1484, 2380, 1482,
2655 1495, 1495, 1495, 2366, 1483, 1497, 1497, 1497, 1498, 1498,
2656 1498, 2366, 1498, 1372, 2351, 1498, 2353, 2347, 1495, 1499,
2658 1499, 1499, 1497, 1501, 1501, 1501, 1508, 1508, 1508, 2380,
2659 1508, 2349, 2356, 1508, 1512, 1512, 1512, 2354, 1512, 2355,
2660 2349, 1512, 1515, 1515, 1515, 1516, 1516, 1516, 1495, 1516,
2661 2357, 2374, 1516, 1519, 1519, 1519, 2362, 1519, 2360, 1515,
2662 1519, 1522, 1522, 1522, 1524, 1524, 1524, 2360, 1524, 2361,
2663 2375, 1524, 1531, 1531, 1531, 1533, 1533, 1533, 2361, 1522,
2664 1534, 1534, 1534, 1367, 1534, 2374, 2357, 1534, 1366, 2362,
2665 1531, 2359, 1533, 1541, 1541, 1541, 1544, 1544, 1544, 1363,
2666 1544, 2364, 2367, 1544, 2375, 1547, 1547, 1547, 2365, 1547,
2667 2367, 1541, 1547, 1551, 1551, 1551, 1553, 1553, 1553, 2359,
2669 1554, 1554, 1554, 1522, 1554, 2370, 2371, 1554, 1557, 1557,
2670 1557, 1551, 1557, 2363, 1553, 1557, 1560, 1560, 1560, 1561,
2671 1561, 1561, 1564, 1564, 1564, 2364, 1566, 1566, 1566, 1567,
2672 1567, 1567, 2365, 1362, 1560, 1360, 1561, 1568, 1568, 1568,
2673 1564, 2370, 2371, 1551, 1566, 1355, 2363, 1567, 1571, 1571,
2674 1571, 1560, 1572, 1572, 1572, 1568, 1572, 2376, 1353, 1572,
2675 1553, 1575, 1575, 1575, 1576, 1576, 1576, 1577, 1577, 1577,
2676 1579, 1579, 1579, 1580, 1580, 1580, 1581, 1581, 1581, 1575,
2677 1582, 1582, 1582, 2368, 1566, 1564, 1584, 1584, 1584, 1585,
2678 1585, 1585, 1589, 1589, 1589, 1590, 1590, 1590, 2377, 1590,
2680 2372, 2376, 1590, 1594, 1594, 1594, 1596, 1596, 1596, 1589,
2681 1596, 2369, 1352, 1596, 1609, 1609, 1609, 1351, 1575, 2373,
2682 1349, 1594, 1611, 1611, 1611, 2378, 1611, 2379, 2368, 1611,
2683 1348, 1345, 1609, 1614, 1614, 1614, 1625, 1625, 1625, 2372,
2684 1625, 2381, 2377, 1625, 1630, 1630, 1630, 1636, 1636, 1636,
2685 1638, 1638, 1638, 1639, 1639, 1639, 2369, 1639, 2373, 1343,
2686 1639, 2378, 1630, 2379, 1341, 1636, 2384, 1638, 1650, 1650,
2687 1650, 2385, 2381, 1609, 1652, 1652, 1652, 1653, 1653, 1653,
2688 1654, 1654, 1654, 1655, 1655, 1655, 1656, 1656, 1656, 1657,
2689 1657, 1657, 1652, 1657, 1653, 1638, 1657, 2384, 1654, 1340,
2691 1339, 1655, 2385, 1656, 1658, 1658, 1658, 1660, 1660, 1660,
2692 1661, 1661, 1661, 1662, 1662, 1662, 1663, 1663, 1663, 1337,
2693 2382, 1658, 1665, 1665, 1665, 1660, 1668, 1668, 1668, 2382,
2694 2383, 1662, 2388, 1336, 1663, 1669, 1669, 1669, 1654, 2383,
2695 1665, 1333, 1655, 1670, 1670, 1670, 1672, 1672, 1672, 1673,
2696 1673, 1673, 2386, 1669, 1677, 1677, 1677, 1678, 1678, 1678,
2697 1328, 1678, 1327, 2388, 1678, 1690, 1690, 1690, 1699, 1699,
2698 1699, 1677, 1703, 1703, 1703, 1326, 1324, 1662, 1704, 1704,
2699 1704, 1323, 1665, 1690, 2387, 1699, 1709, 1709, 1709, 1703,
2700 1711, 1711, 1711, 1712, 1712, 1712, 1704, 1712, 2386, 1322,
2702 1712, 1321, 1318, 1709, 1720, 1720, 1720, 1711, 1722, 1722,
2703 1722, 1724, 1724, 1724, 1726, 1726, 1726, 2389, 1727, 1727,
2704 1727, 1720, 1727, 1690, 1306, 1727, 1728, 1728, 1728, 1724,
2705 2387, 1726, 1729, 1729, 1729, 1730, 1730, 1730, 1304, 1730,
2706 1303, 1299, 1730, 1294, 1728, 1733, 1733, 1733, 2389, 1289,
2707 1729, 1734, 1734, 1734, 1287, 1734, 1285, 1282, 1734, 1735,
2708 1735, 1735, 1733, 1736, 1736, 1736, 1738, 1738, 1738, 1739,
2709 1739, 1739, 1743, 1743, 1743, 1281, 1735, 1748, 1748, 1748,
2710 1280, 1736, 1749, 1749, 1749, 1278, 1749, 1739, 1276, 1749,
2711 1743, 1763, 1763, 1763, 1748, 1275, 1272, 1729, 1764, 1764,
2713 1764, 1767, 1767, 1767, 1770, 1770, 1770, 1268, 1265, 1763,
2714 1771, 1771, 1771, 1264, 1771, 1764, 1263, 1771, 1767, 1256,
2715 1252, 1770, 1775, 1775, 1775, 1776, 1776, 1776, 1250, 1776,
2716 1242, 1241, 1776, 1778, 1778, 1778, 1780, 1780, 1780, 1775,
2717 1781, 1781, 1781, 1235, 1781, 1234, 1233, 1781, 1232, 1763,
2718 1778, 1225, 1222, 1780, 1782, 1782, 1782, 1783, 1783, 1783,
2719 1218, 1783, 1214, 1212, 1783, 1791, 1791, 1791, 1792, 1792,
2720 1792, 1782, 1792, 1211, 1206, 1792, 1793, 1793, 1793, 1794,
2721 1794, 1794, 1791, 1795, 1795, 1795, 1204, 1795, 1203, 1202,
2722 1795, 1199, 1197, 1793, 1196, 1194, 1794, 1798, 1798, 1798,
2724 1800, 1800, 1800, 1801, 1801, 1801, 1191, 1801, 1190, 1189,
2725 1801, 1804, 1804, 1804, 1188, 1798, 1187, 1185, 1800, 1805,
2726 1805, 1805, 1184, 1805, 1181, 1178, 1805, 1171, 1804, 1806,
2727 1806, 1806, 1811, 1811, 1811, 1814, 1814, 1814, 1815, 1815,
2728 1815, 1169, 1815, 1168, 1165, 1815, 1160, 1806, 1831, 1831,
2729 1831, 1159, 1814, 1832, 1832, 1832, 1833, 1833, 1833, 1154,
2730 1833, 1152, 1148, 1833, 1800, 1147, 1831, 1834, 1834, 1834,
2731 1832, 1835, 1835, 1835, 1836, 1836, 1836, 1837, 1837, 1837,
2732 1141, 1837, 1132, 1131, 1837, 1838, 1838, 1838, 1835, 1838,
2733 1130, 1836, 1838, 1844, 1844, 1844, 1128, 1844, 1831, 1126,
2735 1844, 1848, 1848, 1848, 1849, 1849, 1849, 1125, 1849, 1120,
2736 1119, 1849, 1117, 1851, 1851, 1851, 1835, 1851, 1848, 1115,
2737 1851, 1854, 1854, 1854, 1855, 1855, 1855, 1114, 1855, 1113,
2738 1112, 1855, 1857, 1857, 1857, 1859, 1859, 1859, 1854, 1859,
2739 1111, 1104, 1859, 1862, 1862, 1862, 1863, 1863, 1863, 1857,
2740 1863, 1103, 1101, 1863, 1864, 1864, 1864, 1865, 1865, 1865,
2741 1862, 1865, 1095, 1094, 1865, 1872, 1872, 1872, 1873, 1873,
2742 1873, 1864, 1873, 1093, 1092, 1873, 1878, 1878, 1878, 1879,
2743 1879, 1879, 1091, 1872, 1882, 1882, 1882, 1088, 1882, 1087,
2744 1084, 1882, 1083, 1878, 1878, 1889, 1889, 1889, 1898, 1898,
2746 1898, 1899, 1899, 1899, 1078, 1899, 1075, 1072, 1899, 1902,
2747 1902, 1902, 1889, 1063, 1061, 1872, 1898, 1903, 1903, 1903,
2748 1904, 1904, 1904, 1060, 1904, 1057, 1056, 1904, 1906, 1906,
2749 1906, 1054, 1906, 1053, 1903, 1906, 1913, 1913, 1913, 1052,
2750 1913, 1051, 1050, 1913, 1049, 1047, 1898, 1917, 1917, 1917,
2751 1046, 1917, 1042, 1041, 1917, 1921, 1921, 1921, 1922, 1922,
2752 1922, 1040, 1922, 1039, 1038, 1922, 1924, 1924, 1924, 1036,
2753 1924, 1035, 1921, 1924, 1927, 1927, 1927, 1034, 1927, 1033,
2754 1024, 1927, 1936, 1936, 1936, 1938, 1938, 1938, 1939, 1939,
2755 1939, 1940, 1940, 1940, 1009, 1940, 1008, 1003, 1940, 1002,
2757 1936, 1000, 1938, 1938, 993, 1939, 1939, 992, 982, 1940,
2758 1941, 1941, 1941, 1942, 1942, 1942, 1947, 1947, 1947, 1948,
2759 1948, 1948, 977, 1948, 974, 973, 1948, 1957, 1957, 1957,
2760 1958, 1958, 1958, 1947, 1958, 970, 965, 1958, 1964, 1964,
2761 1964, 1966, 1966, 1966, 956, 1957, 1967, 1967, 1967, 1968,
2762 1968, 1968, 955, 1968, 954, 1964, 1968, 950, 1966, 1971,
2763 1971, 1971, 942, 1967, 1986, 1986, 1986, 1989, 1989, 1989,
2764 1990, 1990, 1990, 937, 1990, 936, 1971, 1990, 935, 1991,
2765 1991, 1991, 1986, 1991, 1989, 1989, 1991, 929, 1990, 928,
2766 927, 1957, 1994, 1994, 1994, 926, 921, 1991, 1992, 1992,
2768 1992, 1992, 1992, 1992, 1992, 1992, 1992, 920, 919, 1992,
2769 1995, 1995, 1995, 918, 1992, 1992, 1992, 1992, 1992, 2000,
2770 2000, 2000, 917, 2000, 916, 906, 2000, 2014, 2014, 2014,
2771 905, 2014, 904, 903, 2014, 2009, 2009, 2009, 898, 2013,
2772 2013, 2013, 1992, 1992, 1993, 1993, 1993, 1993, 1993, 1993,
2773 1993, 1993, 1993, 2009, 897, 1993, 2013, 2016, 2016, 2016,
2774 1993, 1993, 1993, 1993, 1993, 2017, 2017, 2017, 892, 2017,
2775 891, 890, 2017, 889, 2016, 2018, 2018, 2018, 2019, 2019,
2776 2019, 888, 2019, 887, 886, 2019, 885, 884, 1993, 1993,
2777 879, 875, 2018, 2020, 2020, 2020, 2021, 2021, 2021, 870,
2779 2021, 868, 862, 2021, 2035, 2035, 2035, 860, 2035, 851,
2780 2020, 2035, 846, 840, 2050, 2050, 2050, 2086, 2086, 2086,
2781 838, 837, 2035, 2038, 2038, 2038, 2038, 2038, 2038, 2038,
2782 2038, 2038, 2050, 835, 2038, 2086, 2086, 834, 833, 2038,
2783 2038, 2038, 2038, 2038, 2055, 2055, 2055, 832, 2055, 831,
2784 829, 2055, 2059, 2059, 2059, 828, 2059, 827, 826, 2059,
2785 825, 2093, 2093, 2093, 2094, 2094, 2094, 2038, 2038, 2039,
2786 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2093, 824,
2787 2039, 2094, 823, 822, 821, 2039, 2039, 2039, 2039, 2039,
2788 2062, 2062, 2062, 815, 2062, 814, 813, 2062, 2065, 2065,
2790 2065, 810, 2065, 809, 808, 2065, 2095, 2095, 2095, 2100,
2791 2100, 2100, 806, 2039, 2039, 2113, 2113, 2113, 2117, 2117,
2792 2117, 802, 799, 2095, 790, 789, 2100, 2120, 2120, 2120,
2793 2121, 2121, 2121, 2113, 2121, 786, 2117, 2121, 2122, 2122,
2794 2122, 2123, 2123, 2123, 2120, 2123, 785, 784, 2123, 2124,
2795 2124, 2124, 2125, 2125, 2125, 2122, 2125, 783, 773, 2125,
2796 2132, 2132, 2132, 2133, 2133, 2133, 2124, 2133, 2117, 766,
2797 2133, 2144, 2144, 2144, 2148, 2148, 2148, 2132, 2148, 758,
2798 757, 2148, 756, 2151, 2151, 2151, 753, 2151, 748, 2144,
2799 2151, 2154, 2154, 2154, 745, 2154, 744, 743, 2154, 2163,
2801 2163, 2163, 739, 2163, 737, 734, 2163, 2144, 2276, 2276,
2802 2276, 2287, 2287, 2287, 733, 2287, 732, 731, 2287, 2392,
2803 2392, 2392, 2393, 2393, 2393, 730, 2276, 729, 725, 2287,
2804 721, 718, 717, 714, 713, 712, 711, 2392, 710, 708,
2805 2393, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396, 2396,
2806 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2398,
2807 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2399, 2399,
2808 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2400, 2400, 2400,
2809 2400, 2400, 2400, 2400, 2400, 2400, 2401, 2401, 2401, 2401,
2810 2401, 2401, 2401, 2401, 2401, 2402, 2402, 2402, 2402, 2402,
2812 2402, 2402, 2402, 2402, 2403, 2403, 2403, 2403, 2403, 2403,
2813 2403, 2403, 2403, 2404, 2404, 2404, 2404, 2404, 2404, 2404,
2814 2404, 2404, 2405, 2405, 2405, 2405, 2405, 2405, 2405, 2405,
2815 2405, 2406, 2406, 2406, 2406, 2406, 2406, 2406, 2406, 2406,
2816 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2408,
2817 2408, 2408, 2408, 2408, 2408, 2408, 2408, 2408, 2409, 2409,
2818 2409, 2409, 2409, 2409, 2409, 2409, 2409, 2410, 2410, 2410,
2819 2410, 2410, 2410, 2410, 2410, 2410, 2411, 2411, 2411, 2411,
2820 2411, 2411, 2411, 2411, 2411, 2412, 2412, 2412, 2412, 2412,
2821 2412, 2412, 2412, 2412, 2413, 2413, 2413, 2413, 2413, 2413,
2823 2413, 2413, 2413, 2414, 2414, 2414, 2414, 2414, 2414, 2414,
2824 2414, 2414, 2415, 2415, 2415, 2415, 2415, 2415, 2415, 2415,
2825 2415, 2416, 2416, 2416, 2416, 2416, 2416, 2416, 2416, 2416,
2826 2417, 2417, 2417, 2417, 2417, 2417, 2417, 2417, 2417, 2418,
2827 2418, 2418, 2418, 2418, 2418, 2418, 2418, 2418, 2419, 2419,
2828 2419, 2419, 2419, 2419, 2419, 2419, 2419, 2420, 2420, 2420,
2829 2420, 2420, 2420, 2420, 2420, 2420, 2421, 2421, 2421, 2421,
2830 2421, 2421, 2421, 2421, 2421, 2422, 2422, 2422, 2422, 2422,
2831 2422, 2422, 2422, 2422, 2423, 2423, 2423, 2423, 2423, 2423,
2832 2423, 2423, 2423, 2424, 2424, 2424, 2424, 2424, 2424, 2424,
2834 2424, 2424, 2425, 2425, 2425, 2425, 2425, 2425, 2425, 2425,
2835 2425, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426, 2426,
2836 2427, 2427, 2427, 2427, 2427, 2427, 2427, 2427, 2427, 2428,
2837 2428, 2428, 2428, 2428, 2428, 2428, 2428, 2428, 2429, 2429,
2838 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2430, 2430, 2430,
2839 2430, 2430, 2430, 2430, 2430, 2430, 2431, 2431, 2431, 2431,
2840 2431, 2431, 2431, 2431, 2431, 2432, 2432, 2432, 2432, 2432,
2841 2432, 2432, 2432, 2432, 2433, 2433, 2433, 2433, 2433, 2433,
2842 2433, 2433, 2433, 2434, 2434, 2434, 2434, 2434, 2434, 2434,
2843 2434, 2434, 2435, 2435, 2435, 2435, 2435, 2435, 2435, 2435,
2845 2435, 2436, 2436, 2436, 707, 706, 705, 2436, 2437, 2437,
2846 2437, 701, 698, 695, 2437, 2438, 2438, 2438, 694, 693,
2847 692, 2438, 2439, 2439, 2439, 689, 688, 687, 2439, 2440,
2848 2440, 2440, 685, 681, 677, 2440, 2441, 2441, 2441, 676,
2849 673, 672, 2441, 2442, 2442, 2442, 671, 670, 669, 2442,
2850 2443, 2443, 2443, 667, 666, 665, 2443, 2444, 2444, 2444,
2851 664, 663, 662, 2444, 2445, 2445, 2445, 661, 660, 659,
2852 2445, 2446, 2446, 2446, 658, 657, 656, 2446, 2447, 2447,
2853 2447, 655, 654, 650, 2447, 2448, 2448, 2448, 649, 647,
2854 646, 2448, 2449, 2449, 2449, 645, 644, 643, 2449, 2450,
2856 2450, 2450, 639, 637, 636, 2450, 2451, 2451, 2451, 635,
2857 634, 630, 2451, 2452, 2452, 2452, 626, 625, 622, 2452,
2858 2453, 2453, 2453, 621, 620, 619, 2453, 2454, 2454, 2454,
2859 2454, 2454, 2454, 2454, 618, 2454, 2455, 2455, 2455, 617,
2860 614, 613, 2455, 2456, 612, 611, 608, 2456, 2457, 606,
2861 603, 602, 2457, 2458, 2458, 2458, 601, 600, 599, 2458,
2862 2459, 596, 595, 594, 2459, 2460, 2460, 2460, 593, 592,
2863 589, 2460, 2461, 588, 587, 586, 2461, 2462, 2462, 2462,
2864 584, 581, 579, 2462, 2463, 576, 575, 574, 2463, 2464,
2865 573, 572, 570, 2464, 2465, 569, 568, 565, 2465, 2466,
2867 2466, 2466, 564, 563, 562, 2466, 2467, 561, 560, 559,
2868 2467, 2468, 2468, 2468, 558, 556, 554, 2468, 2469, 553,
2869 550, 549, 2469, 2470, 2470, 2470, 548, 545, 540, 2470,
2870 2471, 538, 537, 536, 2471, 2472, 2472, 2472, 535, 534,
2871 533, 2472, 2473, 531, 528, 527, 2473, 2474, 2474, 2474,
2872 526, 525, 521, 2474, 2475, 520, 519, 518, 2475, 2476,
2873 2476, 2476, 517, 516, 515, 2476, 2477, 513, 510, 509,
2874 2477, 2478, 2478, 2478, 507, 505, 499, 2478, 2479, 496,
2875 493, 490, 2479, 2480, 2480, 2480, 489, 487, 486, 2480,
2876 2481, 485, 484, 483, 2481, 2482, 2482, 2482, 480, 479,
2878 478, 2482, 2483, 477, 476, 470, 2483, 2484, 2484, 2484,
2879 469, 467, 461, 2484, 2485, 460, 456, 449, 2485, 2486,
2880 2486, 2486, 445, 439, 435, 2486, 2487, 431, 427, 426,
2881 2487, 2488, 2488, 2488, 2488, 2488, 2488, 2488, 2488, 2488,
2882 2489, 425, 424, 420, 416, 2489, 2490, 2490, 2490, 413,
2883 412, 411, 2490, 2491, 2491, 2491, 2491, 407, 401, 2491,
2884 2491, 2492, 2492, 2492, 400, 396, 392, 2492, 2493, 2493,
2885 2493, 2493, 388, 387, 2493, 2493, 2494, 2494, 2494, 383,
2886 380, 379, 2494, 2495, 2495, 2495, 2495, 374, 370, 2495,
2887 2495, 2496, 2496, 2496, 362, 361, 360, 2496, 2497, 2497,
2889 2497, 2497, 356, 350, 2497, 2497, 2498, 2498, 2498, 349,
2890 345, 338, 2498, 2499, 2499, 2499, 2499, 337, 336, 2499,
2891 2499, 2500, 2500, 2500, 335, 334, 333, 2500, 2501, 2501,
2892 2501, 2501, 329, 322, 2501, 2501, 2502, 2502, 2502, 320,
2893 319, 318, 2502, 2503, 2503, 2503, 2503, 316, 312, 2503,
2894 2503, 2504, 2504, 2504, 305, 304, 303, 2504, 2505, 2505,
2895 2505, 2505, 302, 301, 2505, 2505, 2506, 2506, 2506, 297,
2896 293, 287, 2506, 2507, 2507, 2507, 2507, 285, 280, 2507,
2897 2507, 2508, 2508, 2508, 279, 278, 274, 2508, 2509, 2509,
2898 2509, 2509, 268, 267, 2509, 2509, 2510, 2510, 2510, 2510,
2900 266, 2510, 262, 2510, 2511, 2511, 2511, 2511, 253, 251,
2901 2511, 2511, 2512, 2512, 2512, 2512, 250, 2512, 246, 2512,
2902 2513, 2513, 2513, 2513, 243, 241, 2513, 2513, 2514, 2514,
2903 2514, 240, 239, 235, 2514, 2515, 2515, 2515, 2515, 232,
2904 231, 2515, 2515, 2516, 2516, 2516, 2516, 223, 2516, 219,
2905 2516, 2517, 2517, 2517, 2517, 215, 214, 2517, 2517, 2518,
2906 2518, 2518, 213, 207, 206, 2518, 2519, 2519, 2519, 2519,
2907 204, 201, 2519, 2519, 2520, 2520, 2520, 189, 0, 0,
2908 2520, 2521, 2521, 2521, 2521, 0, 0, 2521, 2521, 2522,
2909 2522, 2522, 2522, 0, 0, 2522, 2522, 2523, 2523, 2523,
2911 0, 0, 0, 2523, 2524, 2524, 2524, 2524, 0, 0,
2912 2524, 2524, 2525, 2525, 2525, 2525, 2525, 2525, 2525, 2525,
2913 2525, 2526, 0, 2526, 0, 0, 2526, 2527, 2527, 2527,
2914 0, 0, 0, 2527, 2528, 2528, 2528, 2528, 0, 0,
2915 2528, 2528, 2529, 2529, 2529, 2529, 0, 2529, 0, 2529,
2916 2530, 2530, 2530, 2530, 0, 0, 2530, 2530, 2531, 2531,
2917 2531, 0, 0, 0, 2531, 2532, 2532, 2532, 2532, 0,
2918 0, 2532, 2532, 2533, 2533, 2533, 0, 0, 0, 2533,
2919 2534, 2534, 2534, 2534, 0, 0, 2534, 2534, 2535, 2535,
2920 2535, 0, 0, 0, 2535, 2536, 2536, 2536, 2536, 0,
2922 0, 2536, 2536, 2537, 2537, 2537, 0, 0, 0, 2537,
2923 2538, 2538, 2538, 2538, 0, 0, 2538, 2538, 2539, 2539,
2924 2539, 0, 0, 0, 2539, 2540, 2540, 2540, 2540, 0,
2925 0, 2540, 2540, 2541, 2541, 2541, 0, 0, 0, 2541,
2926 2542, 2542, 2542, 2542, 0, 0, 2542, 2542, 2543, 2543,
2927 2543, 0, 0, 0, 2543, 2544, 2544, 2544, 2544, 0,
2928 0, 2544, 2544, 2545, 2545, 2545, 0, 0, 0, 2545,
2929 2546, 2546, 2546, 2546, 0, 0, 2546, 2546, 2547, 2547,
2930 2547, 0, 0, 0, 2547, 2548, 2548, 2548, 2548, 0,
2931 0, 2548, 2548, 2549, 2549, 2549, 0, 0, 0, 2549,
2933 2550, 2550, 2550, 2550, 0, 0, 2550, 2550, 2551, 2551,
2934 2551, 0, 0, 0, 2551, 2552, 2552, 2552, 2552, 0,
2935 0, 2552, 2552, 2553, 2553, 2553, 0, 0, 0, 2553,
2936 2554, 2554, 2554, 2554, 0, 0, 2554, 2554, 2555, 2555,
2937 2555, 0, 0, 0, 2555, 2556, 2556, 2556, 2556, 0,
2938 0, 2556, 2556, 2557, 2557, 2557, 0, 0, 0, 2557,
2939 2558, 2558, 2558, 2558, 0, 0, 2558, 2558, 2559, 2559,
2940 2559, 2559, 0, 0, 2559, 2559, 2560, 2560, 2560, 0,
2941 0, 0, 2560, 2561, 2561, 2561, 2561, 0, 0, 2561,
2942 2561, 2562, 2562, 2562, 2562, 2562, 2562, 2562, 2562, 2562,
2944 2563, 2563, 2563, 2563, 2563, 2563, 2563, 2563, 2563, 2564,
2945 2564, 2564, 0, 0, 0, 2564, 2565, 2565, 2565, 2565,
2946 0, 0, 2565, 2565, 2566, 2566, 2566, 0, 0, 0,
2947 2566, 2567, 2567, 2567, 2567, 0, 0, 2567, 2567, 2568,
2948 2568, 2568, 0, 0, 0, 2568, 2569, 2569, 2569, 2569,
2949 0, 0, 2569, 2569, 2570, 2570, 2570, 0, 0, 0,
2950 2570, 2571, 2571, 2571, 2571, 0, 0, 2571, 2571, 2572,
2951 2572, 2572, 0, 0, 0, 2572, 2573, 2573, 2573, 0,
2952 0, 0, 2573, 2574, 2574, 2574, 2574, 0, 0, 2574,
2953 2574, 2575, 2575, 2575, 0, 0, 0, 2575, 2576, 2576,
2955 2576, 2576, 0, 0, 2576, 2576, 2577, 2577, 2577, 0,
2956 0, 0, 2577, 2578, 2578, 2578, 2578, 0, 0, 2578,
2957 2578, 2579, 2579, 2579, 0, 0, 0, 2579, 2580, 2580,
2958 2580, 2580, 0, 0, 2580, 2580, 2581, 2581, 2581, 0,
2959 0, 0, 2581, 2582, 2582, 2582, 2582, 0, 0, 2582,
2960 2582, 2583, 2583, 2583, 0, 0, 0, 2583, 2584, 2584,
2961 2584, 2584, 0, 0, 2584, 2584, 2585, 2585, 2585, 0,
2962 0, 0, 2585, 2586, 2586, 2586, 2586, 0, 0, 2586,
2963 2586, 2587, 2587, 2587, 0, 0, 0, 2587, 2588, 2588,
2964 2588, 2588, 0, 0, 2588, 2588, 2589, 2589, 2589, 0,
2966 0, 0, 2589, 2590, 2590, 2590, 2590, 0, 0, 2590,
2967 2590, 2591, 2591, 2591, 0, 0, 0, 2591, 2592, 2592,
2968 2592, 2592, 0, 0, 2592, 2592, 2593, 2593, 2593, 2593,
2969 0, 2593, 0, 2593, 2594, 2594, 2594, 2594, 0, 0,
2970 2594, 2594, 2595, 2595, 2595, 2595, 0, 0, 2595, 2595,
2971 2596, 2596, 2596, 2596, 0, 2596, 0, 2596, 2597, 2597,
2972 2597, 2597, 0, 0, 2597, 2597, 2598, 2598, 2598, 2598,
2973 2598, 2598, 2598, 2598, 2598, 2599, 2599, 2599, 2599, 2599,
2974 2599, 2599, 2599, 2599, 2600, 2600, 2600, 0, 0, 0,
2975 2600, 2601, 2601, 2601, 2601, 0, 0, 2601, 2601, 2602,
2977 2602, 2602, 0, 0, 0, 2602, 2603, 2603, 2603, 2603,
2978 0, 0, 2603, 2603, 2604, 2604, 2604, 0, 0, 0,
2979 2604, 2605, 2605, 2605, 2605, 0, 0, 2605, 2605, 2606,
2980 2606, 2606, 0, 0, 0, 2606, 2607, 2607, 2607, 2607,
2981 0, 0, 2607, 2607, 2608, 2608, 2608, 0, 0, 0,
2982 2608, 2609, 2609, 2609, 0, 0, 0, 2609, 2610, 2610,
2983 2610, 2610, 0, 0, 2610, 2610, 2611, 2611, 2611, 0,
2984 0, 0, 2611, 2612, 2612, 2612, 2612, 0, 0, 2612,
2985 2612, 2613, 2613, 2613, 0, 0, 0, 2613, 2614, 2614,
2986 2614, 2614, 0, 0, 2614, 2614, 2615, 2615, 2615, 0,
2988 0, 0, 2615, 2616, 2616, 2616, 2616, 0, 0, 2616,
2989 2616, 2617, 2617, 2617, 0, 0, 0, 2617, 2618, 2618,
2990 2618, 2618, 0, 0, 2618, 2618, 2619, 2619, 2619, 0,
2991 0, 0, 2619, 2620, 2620, 2620, 2620, 0, 0, 2620,
2992 2620, 2621, 2621, 2621, 2621, 0, 2621, 0, 2621, 2622,
2993 2622, 2622, 2622, 0, 0, 2622, 2622, 2623, 2623, 2623,
2994 0, 0, 0, 2623, 2624, 2624, 2624, 2624, 0, 0,
2995 2624, 2624, 2625, 2625, 2625, 2625, 0, 2625, 0, 2625,
2996 2626, 2626, 2626, 2626, 0, 0, 2626, 2626, 2627, 2627,
2997 2627, 0, 0, 0, 2627, 2628, 2628, 2628, 2628, 0,
2999 0, 2628, 2628, 2629, 2629, 2629, 2629, 0, 0, 2629,
3000 2629, 2630, 2630, 2630, 2630, 0, 0, 2630, 2630, 2631,
3001 2631, 2631, 2631, 0, 0, 2631, 2631, 2632, 2632, 2632,
3002 2632, 2632, 2632, 2632, 2632, 2632, 2633, 2633, 2633, 2633,
3003 2633, 2633, 2633, 2633, 2633, 2634, 2634, 2634, 2634, 0,
3004 2634, 0, 2634, 2635, 2635, 2635, 2635, 0, 0, 2635,
3005 2635, 2636, 2636, 2636, 0, 0, 0, 2636, 2637, 2637,
3006 2637, 2637, 0, 0, 2637, 2637, 2638, 2638, 2638, 0,
3007 0, 0, 2638, 2639, 2639, 2639, 2639, 0, 0, 2639,
3008 2639, 2640, 2640, 2640, 2640, 0, 2640, 0, 2640, 2641,
3010 2641, 2641, 2641, 0, 0, 2641, 2641, 2642, 2642, 2642,
3011 0, 0, 0, 2642, 2643, 2643, 2643, 0, 0, 0,
3012 2643, 2644, 2644, 2644, 0, 0, 0, 2644, 2645, 2645,
3013 2645, 2645, 0, 0, 2645, 2645, 2646, 2646, 2646, 0,
3014 0, 0, 2646, 2647, 2647, 2647, 0, 0, 0, 2647,
3015 2648, 2648, 2648, 2648, 0, 0, 2648, 2648, 2649, 2649,
3016 2649, 0, 0, 0, 2649, 2650, 2650, 2650, 0, 0,
3017 0, 2650, 2651, 2651, 2651, 2651, 0, 0, 2651, 2651,
3018 2652, 2652, 2652, 0, 0, 0, 2652, 2653, 2653, 2653,
3019 2653, 0, 0, 2653, 2653, 2654, 2654, 2654, 0, 0,
3021 0, 2654, 2655, 2655, 2655, 2655, 0, 0, 2655, 2655,
3022 2656, 2656, 2656, 2656, 0, 0, 2656, 2656, 2657, 2657,
3023 2657, 0, 0, 0, 2657, 2658, 2658, 2658, 2658, 0,
3024 0, 2658, 2658, 2659, 2659, 2659, 2659, 0, 0, 2659,
3025 2659, 2660, 2660, 2660, 2660, 0, 0, 2660, 2660, 2661,
3026 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2661, 2662, 2662,
3027 2662, 2662, 2662, 2662, 2662, 2662, 2662, 2663, 2663, 2663,
3028 2663, 2663, 2663, 2663, 2663, 2663, 2664, 2664, 2664, 2664,
3029 2664, 2664, 2664, 2664, 2664, 2665, 2665, 2665, 2665, 2665,
3030 2665, 2665, 2665, 2665, 2666, 2666, 2666, 2666, 2666, 2666,
3032 2666, 2666, 2666, 2667, 2667, 2667, 2667, 2667, 2667, 2667,
3033 2667, 2667, 2668, 2668, 2668, 2668, 2668, 2668, 2668, 2668,
3034 2668, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
3035 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
3036 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
3037 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
3038 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
3039 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
3040 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395, 2395,
3045 /* Table of booleans, true if rule could match eol. */
3046 static yyconst flex_int32_t yy_rule_can_match_eol[395] =
3048 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3049 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3050 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3051 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3052 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3053 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3054 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
3055 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3056 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
3057 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
3058 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3059 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3060 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3061 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3062 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
3063 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
3064 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3065 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3066 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
3067 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
3069 static yy_state_type yy_last_accepting_state;
3070 static char *yy_last_accepting_cpos;
3072 extern int surf_parse__flex_debug;
3073 int surf_parse__flex_debug = 0;
3075 /* The intent behind this definition is that it'll catch
3076 * any uses of REJECT which flex missed.
3078 #define REJECT reject_used_but_not_detected
3079 #define yymore() yymore_used_but_not_detected
3080 #define YY_MORE_ADJ 0
3081 #define YY_RESTORE_YY_MORE_OFFSET
3082 char *surf_parse_text;
3083 /* Validating XML processor for src/surf/simgrid.dtd.
3084 * Generated 2011/02/10 16:57:44.
3086 * This program was generated with the FleXML XML processor generator.
3087 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3088 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3089 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
3091 * There are two, intertwined parts to this program, part A and part B.
3096 * Some parts, here collectively called "Part A", are found in the
3097 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3098 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3100 * You can redistribute, use, perform, display and/or modify "Part A"
3101 * provided the following two conditions hold:
3103 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3104 * FleXML; without even the implied warranty of MERCHANTABILITY or
3105 * FITNESS FOR A PARTICULAR PURPOSE.
3107 * 2. The program distribution conditions do not in any way affect the
3108 * distribution conditions of the FleXML system used to generate this
3109 * file or any version of FleXML derived from that system.
3111 * Notice that these are explicit rights granted to you for files
3112 * generated by the FleXML system. For your rights in connection with
3113 * the FleXML system itself please consult the GNU General Public License.
3118 * The other parts, here collectively called "Part B", and which came
3119 * from the DTD used by FleXML to generate this program, can be
3120 * distributed (or not, as the case may be) under the terms of whoever
3121 * wrote them, provided these terms respect and obey the two conditions
3122 * above under the heading "Part A".
3124 * The author of and contributors to FleXML specifically disclaim
3125 * any copyright interest in "Part B", unless "Part B" was written
3126 * by the author of or contributors to FleXML.
3130 /* Version strings. */
3131 const char rcs_surfxml_flexml_skeleton[] =
3132 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3133 const char rcs_surfxml_flexml[] =
3134 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
3137 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3144 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3145 # ifndef __STRICT_ANSI__
3147 # include <process.h>
3150 # include <unistd.h>
3153 #ifndef FLEXML_INDEXSTACKSIZE
3154 #define FLEXML_INDEXSTACKSIZE 1000
3157 /* Generated definitions. */
3158 #define FLEXML_yylineno
3159 #ifndef FLEXML_BUFFERSTACKSIZE
3160 #define FLEXML_BUFFERSTACKSIZE 1000000
3162 #define FLEXML_NEED_BUFFERLIT
3164 /* XML processor api. */
3165 /* FleXML-provided data. */
3166 int surfxml_pcdata_ix;
3167 extern char *surfxml_bufferstack;
3168 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3169 AT_surfxml_random_generator AX_surfxml_random_generator;
3170 #define A_surfxml_random_generator AX_surfxml_random_generator
3171 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3172 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3173 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3174 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3175 AT_surfxml_prop_id AX_surfxml_prop_id;
3176 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3177 AT_surfxml_host_id AX_surfxml_host_id;
3178 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3179 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3180 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3181 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3182 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3183 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3184 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3185 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3186 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3187 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3188 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3189 AT_surfxml_host_state AX_surfxml_host_state;
3190 #define A_surfxml_host_state AX_surfxml_host_state
3191 AT_surfxml_AS_id AX_surfxml_AS_id;
3192 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3193 AT_surfxml_host_power AX_surfxml_host_power;
3194 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3195 AT_surfxml_router_id AX_surfxml_router_id;
3196 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3197 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3198 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3199 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3200 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3201 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3202 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3203 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3204 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3205 AT_surfxml_trace_file AX_surfxml_trace_file;
3206 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3207 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3208 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3209 AT_surfxml_random_min AX_surfxml_random_min;
3210 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3211 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3212 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3213 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3214 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3215 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3216 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3217 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3218 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3219 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3220 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3221 AT_surfxml_argument_value AX_surfxml_argument_value;
3222 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3223 AT_surfxml_link_state AX_surfxml_link_state;
3224 #define A_surfxml_link_state AX_surfxml_link_state
3225 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3226 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3227 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3228 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3229 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3230 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3231 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3232 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3233 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3234 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3235 AT_surfxml_random_mean AX_surfxml_random_mean;
3236 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3237 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3238 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3239 AT_surfxml_link_latency AX_surfxml_link_latency;
3240 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3241 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3242 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3243 AT_surfxml_random_seed AX_surfxml_random_seed;
3244 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
3245 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3246 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3247 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3248 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3249 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3250 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3251 AT_surfxml_random_id AX_surfxml_random_id;
3252 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3253 AT_surfxml_random_max AX_surfxml_random_max;
3254 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3255 AT_surfxml_link_id AX_surfxml_link_id;
3256 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3257 AT_surfxml_process_host AX_surfxml_process_host;
3258 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3259 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3260 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3261 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3262 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3263 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3264 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3265 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3266 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3267 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3268 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3269 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3270 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3271 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
3272 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
3273 AT_surfxml_prop_value AX_surfxml_prop_value;
3274 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3275 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3276 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3277 AT_surfxml_random_radical AX_surfxml_random_radical;
3278 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
3279 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3280 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3281 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3282 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3283 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3284 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3285 AT_surfxml_process_function AX_surfxml_process_function;
3286 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3287 AT_surfxml_peer_id AX_surfxml_peer_id;
3288 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3289 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3290 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3291 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3292 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3293 AT_surfxml_host_core AX_surfxml_host_core;
3294 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3295 AT_surfxml_host_availability AX_surfxml_host_availability;
3296 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3297 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3298 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3299 AT_surfxml_route_src AX_surfxml_route_src;
3300 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3301 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3302 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3303 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3304 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3305 AT_surfxml_trace_id AX_surfxml_trace_id;
3306 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3307 AT_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy;
3308 #define A_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy
3309 AT_surfxml_peer_power AX_surfxml_peer_power;
3310 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3311 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3312 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3313 AT_surfxml_config_id AX_surfxml_config_id;
3314 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3315 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3316 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3317 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3318 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3319 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3320 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3321 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3322 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3323 AT_surfxml_AS_coordinates AX_surfxml_AS_coordinates;
3324 #define A_surfxml_AS_coordinates (surfxml_bufferstack + AX_surfxml_AS_coordinates)
3325 AT_surfxml_route_dst AX_surfxml_route_dst;
3326 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3327 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3328 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3329 AT_surfxml_platform_version AX_surfxml_platform_version;
3330 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3334 # define ENTER(state) debug_enter(state,#state)
3335 # define LEAVE debug_leave()
3336 # define SET(state) debug_set(state,#state)
3337 static void debug_enter(int, const char*);
3338 static void debug_leave(void);
3339 static void debug_set(int, const char*);
3341 # define ENTER(state) (yy_push_state(state))
3342 # define LEAVE (yy_pop_state())
3343 # define SET(state) BEGIN(state)
3346 /* Generic actions. */
3347 #define SKIP /*skip*/
3348 #define SUCCEED CLEANUP; return 0
3350 #define FAIL return fail
3351 static int fail(const char*, ...);
3353 enum {flexml_max_err_msg_size = 512};
3354 static char flexml_err_msg[flexml_max_err_msg_size];
3355 const char * surfxml_parse_err_msg()
3357 return flexml_err_msg;
3359 static void reset_surfxml_parse_err_msg()
3361 flexml_err_msg[0] = '\0';
3365 static void cleanup(void);
3366 #define CLEANUP cleanup()
3368 /* Text buffer stack handling. */
3369 char *surfxml_bufferstack = NULL;
3370 static int blimit = FLEXML_BUFFERSTACKSIZE;
3371 static int bnext = 1;
3373 static int *indexstack = NULL;
3374 static int ilimit = FLEXML_INDEXSTACKSIZE;
3375 static int inext = 1;
3377 #define BUFFERSET(P) (P = bnext)
3378 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3379 #define BUFFERDONE (BUFFERPUTC('\0'))
3381 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3383 /* after this is called, there are at least 2 slots left in the stack */
3384 static int ck_blimit()
3386 if (bnext >= blimit) {
3387 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3389 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3391 surfxml_bufferstack = temp;
3397 /* after this is called, there are at least 2 slots left in the stack */
3398 static int ck_ilimit()
3400 if (inext >= ilimit) {
3401 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3403 int *temp = (int *) realloc(indexstack, ilimit);
3411 #ifdef FLEXML_NEED_BUFFERLIT
3412 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3414 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3415 assert(s <= e); BUFFERSET(*pp);
3417 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3418 else BUFFERPUTC(*s);
3424 static void pushbuffer(int p)
3427 indexstack[inext++] = p;
3428 indexstack[inext++] = bnext;
3431 static int popbuffer(void)
3434 bnext = indexstack[--inext];
3435 return indexstack[--inext];
3438 /* General internal entities are `unput' back onto the input stream... */
3439 #define ENTITYTEXT(T) \
3440 { char *s = (T), *e = s+strlen(s);\
3441 while (--e >= s) { unput(*e); }}
3443 /* Flex standard options. */
3444 #define YY_NO_INPUT 1
3445 /* Flex user-requested options. */
3446 /* XML character classes (currently restricted to ASCII). */
3447 /* "Common syntactic structures." */
3448 /* "Names and Tokens." */
3449 /* Miscellaneous. */
3450 /* Parser states (flex `exclusive start conditions'):
3452 * PROLOG the XML prolog of the document before <?xml...>
3453 * DOCTYPE the XML prolog of the document after <?xml...>
3454 * EPILOG after the root element
3455 * INCOMMENT inside an XML comment <!--....-->
3456 * INPI inside an XML PI <?...?>
3457 * VALUE1 inside a '...'-delimited literal
3458 * VALUE2 inside a "..."-delimited literal
3459 * CDATA inside a <![CDATA[...] ]> section.
3460 * ROOT_<tag> expect root element <tag>
3461 * AL_<tag> inside the attribute list for <tag>
3462 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3463 * IMPOSSIBLE dummy to permit disabling rules; must be last
3467 const char* *surfxml_statenames=NULL;
3478 #define ROOT_surfxml_platform 9
3479 #define AL_surfxml_platform 10
3480 #define S_surfxml_platform 11
3481 #define S_surfxml_platform_1 12
3482 #define S_surfxml_platform_2 13
3483 #define S_surfxml_platform_3 14
3484 #define S_surfxml_platform_4 15
3485 #define S_surfxml_platform_5 16
3486 #define S_surfxml_platform_6 17
3487 #define S_surfxml_platform_7 18
3488 #define S_surfxml_platform_8 19
3489 #define E_surfxml_platform 20
3490 #define AL_surfxml_trace 21
3492 #define AL_surfxml_random 23
3493 #define S_surfxml_random 24
3494 #define S_surfxml_random_1 25
3495 #define S_surfxml_random_2 26
3496 #define E_surfxml_random 27
3497 #define AL_surfxml_trace_connect 28
3498 #define E_surfxml_trace_connect 29
3499 #define AL_surfxml_AS 30
3500 #define S_surfxml_AS 31
3501 #define S_surfxml_AS_1 32
3502 #define S_surfxml_AS_2 33
3503 #define S_surfxml_AS_3 34
3504 #define S_surfxml_AS_4 35
3505 #define S_surfxml_AS_5 36
3506 #define S_surfxml_AS_6 37
3507 #define S_surfxml_AS_7 38
3508 #define S_surfxml_AS_8 39
3509 #define S_surfxml_AS_9 40
3510 #define S_surfxml_AS_10 41
3511 #define S_surfxml_AS_11 42
3512 #define S_surfxml_AS_12 43
3513 #define S_surfxml_AS_13 44
3514 #define E_surfxml_AS 45
3515 #define AL_surfxml_host 46
3516 #define S_surfxml_host 47
3517 #define S_surfxml_host_1 48
3518 #define S_surfxml_host_2 49
3519 #define E_surfxml_host 50
3520 #define AL_surfxml_cluster 51
3521 #define E_surfxml_cluster 52
3522 #define AL_surfxml_peer 53
3523 #define E_surfxml_peer 54
3524 #define AL_surfxml_router 55
3525 #define E_surfxml_router 56
3526 #define AL_surfxml_link 57
3527 #define S_surfxml_link 58
3528 #define S_surfxml_link_1 59
3529 #define S_surfxml_link_2 60
3530 #define E_surfxml_link 61
3531 #define AL_surfxml_route 62
3532 #define S_surfxml_route 63
3533 #define S_surfxml_route_1 64
3534 #define S_surfxml_route_2 65
3535 #define E_surfxml_route 66
3536 #define AL_surfxml_ASroute 67
3537 #define S_surfxml_ASroute 68
3538 #define S_surfxml_ASroute_1 69
3539 #define S_surfxml_ASroute_2 70
3540 #define E_surfxml_ASroute 71
3541 #define AL_surfxml_link_ctn 72
3542 #define E_surfxml_link_ctn 73
3543 #define AL_surfxml_bypassRoute 74
3544 #define S_surfxml_bypassRoute 75
3545 #define S_surfxml_bypassRoute_1 76
3546 #define S_surfxml_bypassRoute_2 77
3547 #define E_surfxml_bypassRoute 78
3548 #define AL_surfxml_process 79
3549 #define S_surfxml_process 80
3550 #define S_surfxml_process_1 81
3551 #define S_surfxml_process_2 82
3552 #define E_surfxml_process 83
3553 #define AL_surfxml_argument 84
3554 #define E_surfxml_argument 85
3555 #define AL_surfxml_config 86
3556 #define S_surfxml_config 87
3557 #define S_surfxml_config_1 88
3558 #define S_surfxml_config_2 89
3559 #define E_surfxml_config 90
3560 #define AL_surfxml_prop 91
3561 #define E_surfxml_prop 92
3562 #define IMPOSSIBLE 93
3564 #ifndef YY_NO_UNISTD_H
3565 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3566 * down here because we want the user's section 1 to have been scanned first.
3567 * The user has a chance to override it with an option.
3569 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3570 # ifndef __STRICT_ANSI__
3572 # include <process.h>
3575 # include <unistd.h>
3579 #ifndef YY_EXTRA_TYPE
3580 #define YY_EXTRA_TYPE void *
3583 static int yy_init_globals (void );
3585 /* Accessor methods to globals.
3586 These are made visible to non-reentrant scanners for convenience. */
3588 int surf_parse_lex_destroy (void );
3590 int surf_parse_get_debug (void );
3592 void surf_parse_set_debug (int debug_flag );
3594 YY_EXTRA_TYPE surf_parse_get_extra (void );
3596 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3598 FILE *surf_parse_get_in (void );
3600 void surf_parse_set_in (FILE * in_str );
3602 FILE *surf_parse_get_out (void );
3604 void surf_parse_set_out (FILE * out_str );
3606 int surf_parse_get_leng (void );
3608 char *surf_parse_get_text (void );
3610 int surf_parse_get_lineno (void );
3612 void surf_parse_set_lineno (int line_number );
3614 /* Macros after this point can all be overridden by user definitions in
3618 #ifndef YY_SKIP_YYWRAP
3620 extern "C" int surf_parse_wrap (void );
3622 extern int surf_parse_wrap (void );
3627 static void yy_flex_strncpy (char *,yyconst char *,int );
3630 #ifdef YY_NEED_STRLEN
3631 static int yy_flex_strlen (yyconst char * );
3637 static int yyinput (void );
3639 static int input (void );
3644 static int yy_start_stack_ptr = 0;
3645 static int yy_start_stack_depth = 0;
3646 static int *yy_start_stack = NULL;
3648 static void yy_push_state (int new_state );
3650 static void yy_pop_state (void );
3652 /* Amount of stuff to slurp up with each read. */
3653 #ifndef YY_READ_BUF_SIZE
3655 /* On IA-64, the buffer size is 16k, not 8k */
3656 #define YY_READ_BUF_SIZE 16384
3658 #define YY_READ_BUF_SIZE 8192
3659 #endif /* __ia64__ */
3662 /* Copy whatever the last rule matched to the standard output. */
3664 /* This used to be an fputs(), but since the string might contain NUL's,
3665 * we now use fwrite().
3667 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3670 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3671 * is returned in "result".
3674 #define YY_INPUT(buf,result,max_size) \
3675 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3679 for ( n = 0; n < max_size && \
3680 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3681 buf[n] = (char) c; \
3683 buf[n++] = (char) c; \
3684 if ( c == EOF && ferror( surf_parse_in ) ) \
3685 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3691 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3693 if( errno != EINTR) \
3695 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3699 clearerr(surf_parse_in); \
3706 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3707 * we don't want an extra ';' after the "return" because that will cause
3708 * some compilers to complain about unreachable statements.
3711 #define yyterminate() return YY_NULL
3714 /* Number of entries by which start-condition stack grows. */
3715 #ifndef YY_START_STACK_INCR
3716 #define YY_START_STACK_INCR 25
3719 /* Report a fatal error. */
3720 #ifndef YY_FATAL_ERROR
3721 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3724 /* end tables serialization structures and prototypes */
3726 /* Default declaration of generated scanner - a define so the user can
3727 * easily add parameters.
3730 #define YY_DECL_IS_OURS 1
3732 extern int surf_parse_lex (void);
3734 #define YY_DECL int surf_parse_lex (void)
3735 #endif /* !YY_DECL */
3737 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3740 #ifndef YY_USER_ACTION
3741 #define YY_USER_ACTION
3744 /* Code executed at the end of each rule. */
3746 #define YY_BREAK break;
3749 #define YY_RULE_SETUP \
3752 /** The main scanner function which does all the work.
3756 register yy_state_type yy_current_state;
3757 register char *yy_cp, *yy_bp;
3758 register int yy_act;
3760 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3762 reset_surfxml_parse_err_msg();
3763 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3764 assert(surfxml_bufferstack);
3768 for (i = 0; i < blimit; i++) {
3769 surfxml_bufferstack[i] = '\377';
3773 surfxml_bufferstack[0] = '\0';
3774 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3780 surfxml_bufferliteral('\0', &bnext, "0.0");
3781 surfxml_bufferliteral('\0', &bnext, "2147483647");
3782 surfxml_bufferliteral('\0', &bnext, "1");
3783 surfxml_bufferliteral('\0', &bnext, "1.0");
3784 surfxml_bufferliteral('\0', &bnext, "1");
3785 surfxml_bufferliteral('\0', &bnext, "0.0");
3786 surfxml_bufferliteral('\0', &bnext, "-1.0");
3787 surfxml_bufferliteral('\0', &bnext, "-1.0");
3788 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3789 surfxml_statenames[PROLOG] = NULL;
3790 surfxml_statenames[DOCTYPE] = NULL;
3791 surfxml_statenames[EPILOG] = NULL;
3792 surfxml_statenames[INCOMMENT] = NULL;
3793 surfxml_statenames[INPI] = NULL;
3794 surfxml_statenames[VALUE1] = NULL;
3795 surfxml_statenames[VALUE2] = NULL;
3796 surfxml_statenames[CDATA] = NULL;
3797 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3798 surfxml_statenames[AL_surfxml_platform] = NULL;
3799 surfxml_statenames[S_surfxml_platform] = "platform";
3800 surfxml_statenames[S_surfxml_platform_1] = "platform";
3801 surfxml_statenames[S_surfxml_platform_2] = "platform";
3802 surfxml_statenames[S_surfxml_platform_3] = "platform";
3803 surfxml_statenames[S_surfxml_platform_4] = "platform";
3804 surfxml_statenames[S_surfxml_platform_5] = "platform";
3805 surfxml_statenames[S_surfxml_platform_6] = "platform";
3806 surfxml_statenames[S_surfxml_platform_7] = "platform";
3807 surfxml_statenames[S_surfxml_platform_8] = "platform";
3808 surfxml_statenames[E_surfxml_platform] = "platform";
3809 surfxml_statenames[AL_surfxml_trace] = NULL;
3810 surfxml_statenames[IN_trace] = "trace";
3811 surfxml_statenames[AL_surfxml_random] = NULL;
3812 surfxml_statenames[S_surfxml_random] = "random";
3813 surfxml_statenames[S_surfxml_random_1] = "random";
3814 surfxml_statenames[S_surfxml_random_2] = "random";
3815 surfxml_statenames[E_surfxml_random] = "random";
3816 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3817 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3818 surfxml_statenames[AL_surfxml_AS] = NULL;
3819 surfxml_statenames[S_surfxml_AS] = "AS";
3820 surfxml_statenames[S_surfxml_AS_1] = "AS";
3821 surfxml_statenames[S_surfxml_AS_2] = "AS";
3822 surfxml_statenames[S_surfxml_AS_3] = "AS";
3823 surfxml_statenames[S_surfxml_AS_4] = "AS";
3824 surfxml_statenames[S_surfxml_AS_5] = "AS";
3825 surfxml_statenames[S_surfxml_AS_6] = "AS";
3826 surfxml_statenames[S_surfxml_AS_7] = "AS";
3827 surfxml_statenames[S_surfxml_AS_8] = "AS";
3828 surfxml_statenames[S_surfxml_AS_9] = "AS";
3829 surfxml_statenames[S_surfxml_AS_10] = "AS";
3830 surfxml_statenames[S_surfxml_AS_11] = "AS";
3831 surfxml_statenames[S_surfxml_AS_12] = "AS";
3832 surfxml_statenames[S_surfxml_AS_13] = "AS";
3833 surfxml_statenames[E_surfxml_AS] = "AS";
3834 surfxml_statenames[AL_surfxml_host] = NULL;
3835 surfxml_statenames[S_surfxml_host] = "host";
3836 surfxml_statenames[S_surfxml_host_1] = "host";
3837 surfxml_statenames[S_surfxml_host_2] = "host";
3838 surfxml_statenames[E_surfxml_host] = "host";
3839 surfxml_statenames[AL_surfxml_cluster] = NULL;
3840 surfxml_statenames[E_surfxml_cluster] = "cluster";
3841 surfxml_statenames[AL_surfxml_peer] = NULL;
3842 surfxml_statenames[E_surfxml_peer] = "peer";
3843 surfxml_statenames[AL_surfxml_router] = NULL;
3844 surfxml_statenames[E_surfxml_router] = "router";
3845 surfxml_statenames[AL_surfxml_link] = NULL;
3846 surfxml_statenames[S_surfxml_link] = "link";
3847 surfxml_statenames[S_surfxml_link_1] = "link";
3848 surfxml_statenames[S_surfxml_link_2] = "link";
3849 surfxml_statenames[E_surfxml_link] = "link";
3850 surfxml_statenames[AL_surfxml_route] = NULL;
3851 surfxml_statenames[S_surfxml_route] = "route";
3852 surfxml_statenames[S_surfxml_route_1] = "route";
3853 surfxml_statenames[S_surfxml_route_2] = "route";
3854 surfxml_statenames[E_surfxml_route] = "route";
3855 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3856 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3857 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3858 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3859 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3860 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3861 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3862 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3863 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3864 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3865 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3866 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3867 surfxml_statenames[AL_surfxml_process] = NULL;
3868 surfxml_statenames[S_surfxml_process] = "process";
3869 surfxml_statenames[S_surfxml_process_1] = "process";
3870 surfxml_statenames[S_surfxml_process_2] = "process";
3871 surfxml_statenames[E_surfxml_process] = "process";
3872 surfxml_statenames[AL_surfxml_argument] = NULL;
3873 surfxml_statenames[E_surfxml_argument] = "argument";
3874 surfxml_statenames[AL_surfxml_config] = NULL;
3875 surfxml_statenames[S_surfxml_config] = "config";
3876 surfxml_statenames[S_surfxml_config_1] = "config";
3877 surfxml_statenames[S_surfxml_config_2] = "config";
3878 surfxml_statenames[E_surfxml_config] = "config";
3879 surfxml_statenames[AL_surfxml_prop] = NULL;
3880 surfxml_statenames[E_surfxml_prop] = "prop";
3883 /* COMMENTS and PIs: handled uniformly for efficiency. */
3894 (yy_start) = 1; /* first start state */
3896 if ( ! surf_parse_in )
3897 surf_parse_in = stdin;
3899 if ( ! surf_parse_out )
3900 surf_parse_out = stdout;
3902 if ( ! YY_CURRENT_BUFFER ) {
3903 surf_parse_ensure_buffer_stack ();
3904 YY_CURRENT_BUFFER_LVALUE =
3905 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3908 surf_parse__load_buffer_state( );
3911 while ( 1 ) /* loops until end-of-file is reached */
3913 yy_cp = (yy_c_buf_p);
3915 /* Support of surf_parse_text. */
3916 *yy_cp = (yy_hold_char);
3918 /* yy_bp points to the position in yy_ch_buf of the start of
3923 yy_current_state = (yy_start);
3927 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3928 if ( yy_accept[yy_current_state] )
3930 (yy_last_accepting_state) = yy_current_state;
3931 (yy_last_accepting_cpos) = yy_cp;
3933 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3935 yy_current_state = (int) yy_def[yy_current_state];
3936 if ( yy_current_state >= 2396 )
3937 yy_c = yy_meta[(unsigned int) yy_c];
3939 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3942 while ( yy_base[yy_current_state] != 7722 );
3945 yy_act = yy_accept[yy_current_state];
3947 { /* have to back up */
3948 yy_cp = (yy_last_accepting_cpos);
3949 yy_current_state = (yy_last_accepting_state);
3950 yy_act = yy_accept[yy_current_state];
3953 YY_DO_BEFORE_ACTION;
3955 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3958 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3959 if ( surf_parse_text[yyl] == '\n' )
3961 surf_parse_lineno++;
3965 do_action: /* This label is used only to access EOF actions. */
3968 { /* beginning of action switch */
3969 case 0: /* must back up */
3970 /* undo the effects of YY_DO_BEFORE_ACTION */
3971 *yy_cp = (yy_hold_char);
3972 yy_cp = (yy_last_accepting_cpos);
3973 yy_current_state = (yy_last_accepting_state);
3974 goto yy_find_action;
3992 /* rule 6 can match eol */
3996 case YY_STATE_EOF(INCOMMENT):
3997 FAIL("EOF in comment.");
4006 /* rule 9 can match eol */
4010 case YY_STATE_EOF(INPI):
4011 FAIL("EOF in PI (processing instruction).");
4014 /* SPACES: skipped uniformly */
4016 /* rule 10 can match eol */
4020 /* PROLOG: determine root element and process it. */
4023 /* rule 11 can match eol */
4028 /* rule 12 can match eol */
4030 FAIL("Bad declaration %s.",surf_parse_text);
4034 /* rule 13 can match eol */
4036 SET(ROOT_surfxml_platform);
4039 /* rule 14 can match eol */
4041 FAIL("Bad declaration %s.",surf_parse_text);
4045 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4047 case YY_STATE_EOF(PROLOG):
4048 case YY_STATE_EOF(DOCTYPE):
4049 FAIL("EOF in prolog.");
4052 /* RULES DERIVED FROM DTD. */
4053 /* <!-- Small DTD for SURF based tools. --> */
4055 /* rule 16 can match eol */
4057 FAIL("Starting tag <platform> is not allowed here.");
4060 /* rule 17 can match eol */
4063 AX_surfxml_platform_version = 1;
4064 ENTER(AL_surfxml_platform); pushbuffer(0);
4069 /* rule 18 can match eol */
4071 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
4074 /* rule 19 can match eol */
4076 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
4081 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4087 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4089 case ROOT_surfxml_platform: SET(EPILOG); break;
4095 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4099 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4101 case YY_STATE_EOF(AL_surfxml_platform):
4102 FAIL("EOF in attribute list of `platform' element.");
4106 /* rule 24 can match eol */
4110 ETag_surfxml_platform();
4111 popbuffer(); /* attribute */
4113 case ROOT_surfxml_platform: SET(EPILOG); break;
4118 /* rule 25 can match eol */
4120 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4124 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4126 case YY_STATE_EOF(S_surfxml_platform_8):
4127 case YY_STATE_EOF(S_surfxml_platform_1):
4128 case YY_STATE_EOF(S_surfxml_platform_3):
4129 case YY_STATE_EOF(S_surfxml_platform):
4130 case YY_STATE_EOF(S_surfxml_platform_4):
4131 case YY_STATE_EOF(S_surfxml_platform_6):
4132 case YY_STATE_EOF(E_surfxml_platform):
4133 FAIL("Premature EOF: `</platform>' expected.");
4137 /* rule 27 can match eol */
4139 FAIL("Starting tag <trace> is not allowed here.");
4142 /* rule 28 can match eol */
4145 AX_surfxml_trace_id = 0;
4146 AX_surfxml_trace_file = 0;
4147 AX_surfxml_trace_periodicity = 0;
4148 ENTER(AL_surfxml_trace); pushbuffer(0);
4153 /* rule 29 can match eol */
4155 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
4158 /* rule 30 can match eol */
4160 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
4163 /* rule 31 can match eol */
4165 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
4168 /* rule 32 can match eol */
4170 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
4173 /* rule 33 can match eol */
4175 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
4178 /* rule 34 can match eol */
4180 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
4185 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4186 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4187 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4193 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4194 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4195 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4197 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;
4198 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4199 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4200 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4201 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;
4202 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4208 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4212 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4214 case YY_STATE_EOF(AL_surfxml_trace):
4215 FAIL("EOF in attribute list of `trace' element.");
4219 /* rule 39 can match eol */
4224 ETag_surfxml_trace();
4225 surfxml_pcdata_ix = popbuffer();
4226 popbuffer(); /* attribute */
4228 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;
4229 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4230 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4231 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4232 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;
4233 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4238 /* rule 40 can match eol */
4240 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4242 case YY_STATE_EOF(IN_trace):
4243 FAIL("Premature EOF: `</trace>' expected.");
4247 /* rule 41 can match eol */
4249 FAIL("Starting tag <random> is not allowed here.");
4252 /* rule 42 can match eol */
4255 AX_surfxml_random_id = 0;
4256 AX_surfxml_random_min = 0;
4257 AX_surfxml_random_max = 0;
4258 AX_surfxml_random_mean = 0;
4259 AX_surfxml_random_std_deviation = 0;
4260 AX_surfxml_random_seed = 5;
4261 AX_surfxml_random_radical = 0;
4262 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4263 ENTER(AL_surfxml_random); pushbuffer(0);
4268 /* rule 43 can match eol */
4270 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4273 /* rule 44 can match eol */
4275 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4278 /* rule 45 can match eol */
4280 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4283 /* rule 46 can match eol */
4285 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4288 /* rule 47 can match eol */
4290 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4293 /* rule 48 can match eol */
4295 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4298 /* rule 49 can match eol */
4300 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4303 /* rule 50 can match eol */
4305 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4308 /* rule 51 can match eol */
4310 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4313 /* rule 52 can match eol */
4315 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4318 /* rule 53 can match eol */
4320 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_seed);
4323 /* rule 54 can match eol */
4325 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_seed);
4328 /* rule 55 can match eol */
4330 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_radical);
4333 /* rule 56 can match eol */
4335 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_radical);
4338 /* rule 57 can match eol */
4340 /* rule 58 can match eol */
4342 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4345 /* rule 59 can match eol */
4347 /* rule 60 can match eol */
4349 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4354 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4355 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4356 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4357 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4358 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4359 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4365 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4366 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4367 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4368 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4369 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4370 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4372 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4378 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4382 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4384 case YY_STATE_EOF(AL_surfxml_random):
4385 FAIL("EOF in attribute list of `random' element.");
4389 /* rule 65 can match eol */
4393 ETag_surfxml_random();
4394 popbuffer(); /* attribute */
4396 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4401 /* rule 66 can match eol */
4403 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4407 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4409 case YY_STATE_EOF(S_surfxml_random_2):
4410 case YY_STATE_EOF(S_surfxml_random):
4411 case YY_STATE_EOF(E_surfxml_random):
4412 FAIL("Premature EOF: `</random>' expected.");
4416 /* rule 68 can match eol */
4418 FAIL("Starting tag <trace_connect> is not allowed here.");
4421 /* rule 69 can match eol */
4424 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4425 AX_surfxml_trace_connect_trace = 0;
4426 AX_surfxml_trace_connect_element = 0;
4427 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4432 /* rule 70 can match eol */
4434 /* rule 71 can match eol */
4436 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4439 /* rule 72 can match eol */
4441 /* rule 73 can match eol */
4443 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4446 /* rule 74 can match eol */
4448 /* rule 75 can match eol */
4450 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4453 /* rule 76 can match eol */
4455 /* rule 77 can match eol */
4457 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4460 /* rule 78 can match eol */
4462 /* rule 79 can match eol */
4464 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4467 /* rule 80 can match eol */
4469 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4472 /* rule 81 can match eol */
4474 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4477 /* rule 82 can match eol */
4479 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4482 /* rule 83 can match eol */
4484 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4489 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4490 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4491 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4497 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4498 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4499 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4501 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;
4502 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4503 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4504 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4505 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;
4506 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4512 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4516 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4518 case YY_STATE_EOF(AL_surfxml_trace_connect):
4519 FAIL("EOF in attribute list of `trace_connect' element.");
4523 /* rule 88 can match eol */
4527 ETag_surfxml_trace_connect();
4528 popbuffer(); /* attribute */
4530 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;
4531 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4532 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4533 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4534 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;
4535 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4540 /* rule 89 can match eol */
4542 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4546 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4548 case YY_STATE_EOF(E_surfxml_trace_connect):
4549 FAIL("Premature EOF: `</trace_connect>' expected.");
4553 /* rule 91 can match eol */
4555 FAIL("Starting tag <AS> is not allowed here.");
4558 /* rule 92 can match eol */
4561 AX_surfxml_AS_id = 0;
4562 AX_surfxml_AS_routing = 0;
4563 AX_surfxml_AS_coordinates = 0;
4564 ENTER(AL_surfxml_AS); pushbuffer(0);
4569 /* rule 93 can match eol */
4571 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4574 /* rule 94 can match eol */
4576 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4579 /* rule 95 can match eol */
4581 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4584 /* rule 96 can match eol */
4586 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4589 /* rule 97 can match eol */
4591 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_coordinates);
4594 /* rule 98 can match eol */
4596 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_coordinates);
4601 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4602 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4603 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4609 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4610 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4611 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4613 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4614 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;
4620 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4624 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4626 case YY_STATE_EOF(AL_surfxml_AS):
4627 FAIL("EOF in attribute list of `AS' element.");
4631 /* rule 103 can match eol */
4636 popbuffer(); /* attribute */
4638 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4639 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;
4644 /* rule 104 can match eol */
4646 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4650 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4652 case YY_STATE_EOF(S_surfxml_AS_1):
4653 case YY_STATE_EOF(S_surfxml_AS_9):
4654 case YY_STATE_EOF(S_surfxml_AS_11):
4655 case YY_STATE_EOF(S_surfxml_AS_6):
4656 case YY_STATE_EOF(E_surfxml_AS):
4657 case YY_STATE_EOF(S_surfxml_AS_3):
4658 case YY_STATE_EOF(S_surfxml_AS_13):
4659 case YY_STATE_EOF(S_surfxml_AS_8):
4660 case YY_STATE_EOF(S_surfxml_AS):
4661 case YY_STATE_EOF(S_surfxml_AS_4):
4662 FAIL("Premature EOF: `</AS>' expected.");
4666 /* rule 106 can match eol */
4668 FAIL("Starting tag <host> is not allowed here.");
4671 /* rule 107 can match eol */
4674 AX_surfxml_host_id = 0;
4675 AX_surfxml_host_power = 0;
4676 AX_surfxml_host_core = 16;
4677 AX_surfxml_host_availability = 18;
4678 AX_surfxml_host_availability_file = 0;
4679 AX_surfxml_host_state = A_surfxml_host_state_ON;
4680 AX_surfxml_host_state_file = 0;
4681 AX_surfxml_host_coordinates = 0;
4682 ENTER(AL_surfxml_host); pushbuffer(0);
4687 /* rule 108 can match eol */
4689 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4692 /* rule 109 can match eol */
4694 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4697 /* rule 110 can match eol */
4699 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4702 /* rule 111 can match eol */
4704 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4707 /* rule 112 can match eol */
4709 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
4712 /* rule 113 can match eol */
4714 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
4717 /* rule 114 can match eol */
4719 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4722 /* rule 115 can match eol */
4724 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4727 /* rule 116 can match eol */
4729 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4732 /* rule 117 can match eol */
4734 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4737 /* rule 118 can match eol */
4739 /* rule 119 can match eol */
4741 A_surfxml_host_state = A_surfxml_host_state_ON;
4744 /* rule 120 can match eol */
4746 /* rule 121 can match eol */
4748 A_surfxml_host_state = A_surfxml_host_state_OFF;
4751 /* rule 122 can match eol */
4753 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4756 /* rule 123 can match eol */
4758 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4761 /* rule 124 can match eol */
4763 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
4766 /* rule 125 can match eol */
4768 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
4773 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4774 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4775 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4781 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4782 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4783 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4785 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4791 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4795 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4797 case YY_STATE_EOF(AL_surfxml_host):
4798 FAIL("EOF in attribute list of `host' element.");
4802 /* rule 130 can match eol */
4806 ETag_surfxml_host();
4807 popbuffer(); /* attribute */
4809 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4814 /* rule 131 can match eol */
4816 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4820 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4822 case YY_STATE_EOF(S_surfxml_host):
4823 case YY_STATE_EOF(E_surfxml_host):
4824 case YY_STATE_EOF(S_surfxml_host_2):
4825 FAIL("Premature EOF: `</host>' expected.");
4829 /* rule 133 can match eol */
4831 FAIL("Starting tag <cluster> is not allowed here.");
4834 /* rule 134 can match eol */
4837 AX_surfxml_cluster_id = 0;
4838 AX_surfxml_cluster_prefix = 0;
4839 AX_surfxml_cluster_suffix = 0;
4840 AX_surfxml_cluster_radical = 0;
4841 AX_surfxml_cluster_power = 0;
4842 AX_surfxml_cluster_core = 22;
4843 AX_surfxml_cluster_bw = 0;
4844 AX_surfxml_cluster_lat = 0;
4845 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4846 AX_surfxml_cluster_bb_bw = 0;
4847 AX_surfxml_cluster_bb_lat = 0;
4848 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4849 AX_surfxml_cluster_availability_file = 0;
4850 AX_surfxml_cluster_state_file = 0;
4851 ENTER(AL_surfxml_cluster); pushbuffer(0);
4856 /* rule 135 can match eol */
4858 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4861 /* rule 136 can match eol */
4863 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4866 /* rule 137 can match eol */
4868 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4871 /* rule 138 can match eol */
4873 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4876 /* rule 139 can match eol */
4878 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4881 /* rule 140 can match eol */
4883 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4886 /* rule 141 can match eol */
4888 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4891 /* rule 142 can match eol */
4893 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4896 /* rule 143 can match eol */
4898 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4901 /* rule 144 can match eol */
4903 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4906 /* rule 145 can match eol */
4908 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
4911 /* rule 146 can match eol */
4913 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
4916 /* rule 147 can match eol */
4918 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4921 /* rule 148 can match eol */
4923 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4926 /* rule 149 can match eol */
4928 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4931 /* rule 150 can match eol */
4933 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4936 /* rule 151 can match eol */
4938 /* rule 152 can match eol */
4940 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4943 /* rule 153 can match eol */
4945 /* rule 154 can match eol */
4947 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
4950 /* rule 155 can match eol */
4952 /* rule 156 can match eol */
4954 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
4957 /* rule 157 can match eol */
4959 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4962 /* rule 158 can match eol */
4964 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4967 /* rule 159 can match eol */
4969 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4972 /* rule 160 can match eol */
4974 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4977 /* rule 161 can match eol */
4979 /* rule 162 can match eol */
4981 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4984 /* rule 163 can match eol */
4986 /* rule 164 can match eol */
4988 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
4991 /* rule 165 can match eol */
4993 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability_file);
4996 /* rule 166 can match eol */
4998 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability_file);
5001 /* rule 167 can match eol */
5003 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state_file);
5006 /* rule 168 can match eol */
5008 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state_file);
5013 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5014 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5015 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5016 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5017 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5018 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5019 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5020 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
5021 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
5022 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
5028 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5029 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5030 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5031 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5032 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5033 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5034 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5035 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
5036 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
5037 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
5039 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5040 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;
5046 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
5050 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
5052 case YY_STATE_EOF(AL_surfxml_cluster):
5053 FAIL("EOF in attribute list of `cluster' element.");
5057 /* rule 173 can match eol */
5061 ETag_surfxml_cluster();
5062 popbuffer(); /* attribute */
5064 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5065 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;
5070 /* rule 174 can match eol */
5072 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
5076 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
5078 case YY_STATE_EOF(E_surfxml_cluster):
5079 FAIL("Premature EOF: `</cluster>' expected.");
5083 /* rule 176 can match eol */
5085 FAIL("Starting tag <peer> is not allowed here.");
5088 /* rule 177 can match eol */
5091 AX_surfxml_peer_id = 0;
5092 AX_surfxml_peer_power = 0;
5093 AX_surfxml_peer_bw_in = 0;
5094 AX_surfxml_peer_bw_out = 0;
5095 AX_surfxml_peer_lat = 0;
5096 AX_surfxml_peer_coordinates = 0;
5097 AX_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
5098 AX_surfxml_peer_availability_file = 0;
5099 AX_surfxml_peer_state_file = 0;
5100 ENTER(AL_surfxml_peer); pushbuffer(0);
5105 /* rule 178 can match eol */
5107 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
5110 /* rule 179 can match eol */
5112 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
5115 /* rule 180 can match eol */
5117 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
5120 /* rule 181 can match eol */
5122 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
5125 /* rule 182 can match eol */
5127 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
5130 /* rule 183 can match eol */
5132 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
5135 /* rule 184 can match eol */
5137 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
5140 /* rule 185 can match eol */
5142 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
5145 /* rule 186 can match eol */
5147 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
5150 /* rule 187 can match eol */
5152 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
5155 /* rule 188 can match eol */
5157 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
5160 /* rule 189 can match eol */
5162 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
5165 /* rule 190 can match eol */
5167 /* rule 191 can match eol */
5169 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_SHARED;
5172 /* rule 192 can match eol */
5174 /* rule 193 can match eol */
5176 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
5179 /* rule 194 can match eol */
5181 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability_file);
5184 /* rule 195 can match eol */
5186 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability_file);
5189 /* rule 196 can match eol */
5191 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state_file);
5194 /* rule 197 can match eol */
5196 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state_file);
5201 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5202 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5203 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5204 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5205 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5206 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
5212 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5213 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5214 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5215 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5216 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5217 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
5219 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5220 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;
5226 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
5230 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
5232 case YY_STATE_EOF(AL_surfxml_peer):
5233 FAIL("EOF in attribute list of `peer' element.");
5237 /* rule 202 can match eol */
5241 ETag_surfxml_peer();
5242 popbuffer(); /* attribute */
5244 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5245 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;
5250 /* rule 203 can match eol */
5252 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
5256 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
5258 case YY_STATE_EOF(E_surfxml_peer):
5259 FAIL("Premature EOF: `</peer>' expected.");
5263 /* rule 205 can match eol */
5265 FAIL("Starting tag <router> is not allowed here.");
5268 /* rule 206 can match eol */
5271 AX_surfxml_router_id = 0;
5272 AX_surfxml_router_coordinates = 0;
5273 ENTER(AL_surfxml_router); pushbuffer(0);
5278 /* rule 207 can match eol */
5280 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
5283 /* rule 208 can match eol */
5285 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
5288 /* rule 209 can match eol */
5290 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
5293 /* rule 210 can match eol */
5295 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
5300 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5301 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
5307 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5308 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
5310 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5316 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5320 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5322 case YY_STATE_EOF(AL_surfxml_router):
5323 FAIL("EOF in attribute list of `router' element.");
5327 /* rule 215 can match eol */
5331 ETag_surfxml_router();
5332 popbuffer(); /* attribute */
5334 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5339 /* rule 216 can match eol */
5341 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5345 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5347 case YY_STATE_EOF(E_surfxml_router):
5348 FAIL("Premature EOF: `</router>' expected.");
5352 /* rule 218 can match eol */
5354 FAIL("Starting tag <link> is not allowed here.");
5357 /* rule 219 can match eol */
5360 AX_surfxml_link_id = 0;
5361 AX_surfxml_link_bandwidth = 0;
5362 AX_surfxml_link_bandwidth_file = 0;
5363 AX_surfxml_link_latency = 24;
5364 AX_surfxml_link_latency_file = 0;
5365 AX_surfxml_link_state = A_surfxml_link_state_ON;
5366 AX_surfxml_link_state_file = 0;
5367 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5368 ENTER(AL_surfxml_link); pushbuffer(0);
5373 /* rule 220 can match eol */
5375 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5378 /* rule 221 can match eol */
5380 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5383 /* rule 222 can match eol */
5385 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5388 /* rule 223 can match eol */
5390 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5393 /* rule 224 can match eol */
5395 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5398 /* rule 225 can match eol */
5400 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5403 /* rule 226 can match eol */
5405 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5408 /* rule 227 can match eol */
5410 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5413 /* rule 228 can match eol */
5415 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5418 /* rule 229 can match eol */
5420 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5423 /* rule 230 can match eol */
5425 /* rule 231 can match eol */
5427 A_surfxml_link_state = A_surfxml_link_state_ON;
5430 /* rule 232 can match eol */
5432 /* rule 233 can match eol */
5434 A_surfxml_link_state = A_surfxml_link_state_OFF;
5437 /* rule 234 can match eol */
5439 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5442 /* rule 235 can match eol */
5444 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5447 /* rule 236 can match eol */
5449 /* rule 237 can match eol */
5451 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5454 /* rule 238 can match eol */
5456 /* rule 239 can match eol */
5458 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5461 /* rule 240 can match eol */
5463 /* rule 241 can match eol */
5465 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
5470 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5471 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5472 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5478 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5479 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5480 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5482 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5483 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5489 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5493 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5495 case YY_STATE_EOF(AL_surfxml_link):
5496 FAIL("EOF in attribute list of `link' element.");
5500 /* rule 246 can match eol */
5504 ETag_surfxml_link();
5505 popbuffer(); /* attribute */
5507 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5508 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5513 /* rule 247 can match eol */
5515 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5519 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5521 case YY_STATE_EOF(E_surfxml_link):
5522 case YY_STATE_EOF(S_surfxml_link_2):
5523 case YY_STATE_EOF(S_surfxml_link):
5524 FAIL("Premature EOF: `</link>' expected.");
5528 /* rule 249 can match eol */
5530 FAIL("Starting tag <route> is not allowed here.");
5533 /* rule 250 can match eol */
5536 AX_surfxml_route_src = 0;
5537 AX_surfxml_route_dst = 0;
5538 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5539 ENTER(AL_surfxml_route); pushbuffer(0);
5544 /* rule 251 can match eol */
5546 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5549 /* rule 252 can match eol */
5551 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5554 /* rule 253 can match eol */
5556 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5559 /* rule 254 can match eol */
5561 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5564 /* rule 255 can match eol */
5566 /* rule 256 can match eol */
5568 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5571 /* rule 257 can match eol */
5573 /* rule 258 can match eol */
5575 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
5580 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5581 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5582 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5588 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5589 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5590 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5592 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;
5598 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5602 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5604 case YY_STATE_EOF(AL_surfxml_route):
5605 FAIL("EOF in attribute list of `route' element.");
5609 /* rule 263 can match eol */
5613 ETag_surfxml_route();
5614 popbuffer(); /* attribute */
5616 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;
5621 /* rule 264 can match eol */
5623 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5627 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5629 case YY_STATE_EOF(S_surfxml_route):
5630 case YY_STATE_EOF(S_surfxml_route_2):
5631 case YY_STATE_EOF(E_surfxml_route):
5632 FAIL("Premature EOF: `</route>' expected.");
5636 /* rule 266 can match eol */
5638 FAIL("Starting tag <ASroute> is not allowed here.");
5641 /* rule 267 can match eol */
5644 AX_surfxml_ASroute_src = 0;
5645 AX_surfxml_ASroute_dst = 0;
5646 AX_surfxml_ASroute_gw_src = 0;
5647 AX_surfxml_ASroute_gw_dst = 0;
5648 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5649 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5654 /* rule 268 can match eol */
5656 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5659 /* rule 269 can match eol */
5661 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5664 /* rule 270 can match eol */
5666 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5669 /* rule 271 can match eol */
5671 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5674 /* rule 272 can match eol */
5676 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
5679 /* rule 273 can match eol */
5681 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
5684 /* rule 274 can match eol */
5686 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5689 /* rule 275 can match eol */
5691 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5694 /* rule 276 can match eol */
5696 /* rule 277 can match eol */
5698 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5701 /* rule 278 can match eol */
5703 /* rule 279 can match eol */
5705 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5710 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5711 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5712 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5713 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5714 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5720 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5721 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5722 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5723 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5724 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5726 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;
5732 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5736 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5738 case YY_STATE_EOF(AL_surfxml_ASroute):
5739 FAIL("EOF in attribute list of `ASroute' element.");
5743 /* rule 284 can match eol */
5747 ETag_surfxml_ASroute();
5748 popbuffer(); /* attribute */
5750 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;
5755 /* rule 285 can match eol */
5757 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5761 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5763 case YY_STATE_EOF(E_surfxml_ASroute):
5764 case YY_STATE_EOF(S_surfxml_ASroute):
5765 case YY_STATE_EOF(S_surfxml_ASroute_2):
5766 FAIL("Premature EOF: `</ASroute>' expected.");
5770 /* rule 287 can match eol */
5772 FAIL("Starting tag <link_ctn> is not allowed here.");
5775 /* rule 288 can match eol */
5778 AX_surfxml_link_ctn_id = 0;
5779 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5780 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
5785 /* rule 289 can match eol */
5787 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
5790 /* rule 290 can match eol */
5792 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
5795 /* rule 291 can match eol */
5797 /* rule 292 can match eol */
5799 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
5802 /* rule 293 can match eol */
5804 /* rule 294 can match eol */
5806 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
5809 /* rule 295 can match eol */
5811 /* rule 296 can match eol */
5813 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5818 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5819 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
5825 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5826 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
5828 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5829 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5830 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5836 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
5840 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
5842 case YY_STATE_EOF(AL_surfxml_link_ctn):
5843 FAIL("EOF in attribute list of `link_ctn' element.");
5847 /* rule 301 can match eol */
5851 ETag_surfxml_link_ctn();
5852 popbuffer(); /* attribute */
5854 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5855 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5856 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5861 /* rule 302 can match eol */
5863 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
5867 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
5869 case YY_STATE_EOF(E_surfxml_link_ctn):
5870 FAIL("Premature EOF: `</link_ctn>' expected.");
5874 /* rule 304 can match eol */
5876 FAIL("Starting tag <bypassRoute> is not allowed here.");
5879 /* rule 305 can match eol */
5882 AX_surfxml_bypassRoute_src = 0;
5883 AX_surfxml_bypassRoute_dst = 0;
5884 AX_surfxml_bypassRoute_gw_src = 0;
5885 AX_surfxml_bypassRoute_gw_dst = 0;
5886 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
5891 /* rule 306 can match eol */
5893 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
5896 /* rule 307 can match eol */
5898 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
5901 /* rule 308 can match eol */
5903 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
5906 /* rule 309 can match eol */
5908 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
5911 /* rule 310 can match eol */
5913 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5916 /* rule 311 can match eol */
5918 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5921 /* rule 312 can match eol */
5923 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5926 /* rule 313 can match eol */
5928 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5933 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5934 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5935 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5936 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5937 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
5943 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5944 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5945 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5946 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5947 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
5949 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;
5955 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
5959 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
5961 case YY_STATE_EOF(AL_surfxml_bypassRoute):
5962 FAIL("EOF in attribute list of `bypassRoute' element.");
5966 /* rule 318 can match eol */
5970 ETag_surfxml_bypassRoute();
5971 popbuffer(); /* attribute */
5973 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;
5978 /* rule 319 can match eol */
5980 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
5984 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
5986 case YY_STATE_EOF(S_surfxml_bypassRoute):
5987 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
5988 case YY_STATE_EOF(E_surfxml_bypassRoute):
5989 FAIL("Premature EOF: `</bypassRoute>' expected.");
5993 /* rule 321 can match eol */
5995 FAIL("Starting tag <process> is not allowed here.");
5998 /* rule 322 can match eol */
6001 AX_surfxml_process_host = 0;
6002 AX_surfxml_process_function = 0;
6003 AX_surfxml_process_start_time = 28;
6004 AX_surfxml_process_kill_time = 33;
6005 ENTER(AL_surfxml_process); pushbuffer(0);
6010 /* rule 323 can match eol */
6012 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
6015 /* rule 324 can match eol */
6017 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
6020 /* rule 325 can match eol */
6022 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
6025 /* rule 326 can match eol */
6027 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
6030 /* rule 327 can match eol */
6032 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
6035 /* rule 328 can match eol */
6037 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
6040 /* rule 329 can match eol */
6042 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
6045 /* rule 330 can match eol */
6047 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
6052 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6053 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6054 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
6060 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6061 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6062 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
6064 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;
6070 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
6074 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
6076 case YY_STATE_EOF(AL_surfxml_process):
6077 FAIL("EOF in attribute list of `process' element.");
6081 /* rule 335 can match eol */
6085 ETag_surfxml_process();
6086 popbuffer(); /* attribute */
6088 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;
6093 /* rule 336 can match eol */
6095 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
6099 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
6101 case YY_STATE_EOF(E_surfxml_process):
6102 case YY_STATE_EOF(S_surfxml_process):
6103 case YY_STATE_EOF(S_surfxml_process_2):
6104 FAIL("Premature EOF: `</process>' expected.");
6108 /* rule 338 can match eol */
6110 FAIL("Starting tag <argument> is not allowed here.");
6113 /* rule 339 can match eol */
6116 AX_surfxml_argument_value = 0;
6117 ENTER(AL_surfxml_argument); pushbuffer(0);
6122 /* rule 340 can match eol */
6124 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
6127 /* rule 341 can match eol */
6129 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
6134 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6135 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
6141 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6142 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
6144 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6150 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
6154 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
6156 case YY_STATE_EOF(AL_surfxml_argument):
6157 FAIL("EOF in attribute list of `argument' element.");
6161 /* rule 346 can match eol */
6165 ETag_surfxml_argument();
6166 popbuffer(); /* attribute */
6168 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6173 /* rule 347 can match eol */
6175 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
6179 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
6181 case YY_STATE_EOF(E_surfxml_argument):
6182 FAIL("Premature EOF: `</argument>' expected.");
6186 /* rule 349 can match eol */
6188 FAIL("Starting tag <config> is not allowed here.");
6191 /* rule 350 can match eol */
6194 AX_surfxml_config_id = 0;
6195 ENTER(AL_surfxml_config); pushbuffer(0);
6200 /* rule 351 can match eol */
6202 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
6205 /* rule 352 can match eol */
6207 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
6212 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6218 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6220 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6226 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6230 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6232 case YY_STATE_EOF(AL_surfxml_config):
6233 FAIL("EOF in attribute list of `config' element.");
6237 /* rule 357 can match eol */
6241 ETag_surfxml_config();
6242 popbuffer(); /* attribute */
6244 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6249 /* rule 358 can match eol */
6251 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6255 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6257 case YY_STATE_EOF(S_surfxml_config):
6258 case YY_STATE_EOF(S_surfxml_config_2):
6259 case YY_STATE_EOF(E_surfxml_config):
6260 FAIL("Premature EOF: `</config>' expected.");
6263 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
6264 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
6266 /* rule 360 can match eol */
6268 FAIL("Starting tag <prop> is not allowed here.");
6271 /* rule 361 can match eol */
6274 AX_surfxml_prop_id = 0;
6275 AX_surfxml_prop_value = 0;
6276 ENTER(AL_surfxml_prop); pushbuffer(0);
6281 /* rule 362 can match eol */
6283 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
6286 /* rule 363 can match eol */
6288 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
6291 /* rule 364 can match eol */
6293 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
6296 /* rule 365 can match eol */
6298 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
6303 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6304 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6305 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
6311 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6312 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6313 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
6315 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6316 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6317 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6318 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6319 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6325 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
6329 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
6331 case YY_STATE_EOF(AL_surfxml_prop):
6332 FAIL("EOF in attribute list of `prop' element.");
6336 /* rule 370 can match eol */
6340 ETag_surfxml_prop();
6341 popbuffer(); /* attribute */
6343 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6344 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6345 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6346 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6347 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6352 /* rule 371 can match eol */
6354 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
6358 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
6360 case YY_STATE_EOF(E_surfxml_prop):
6361 FAIL("Premature EOF: `</prop>' expected.");
6364 /* EPILOG: after the root element. */
6368 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
6370 case YY_STATE_EOF(EPILOG):
6374 /* CHARACTER DATA. */
6376 /* Non-defined standard entities... */
6397 /* Character entities. */
6400 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
6404 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
6408 /* rule 381 can match eol */
6410 /* rule 382 can match eol */
6412 /* rule 383 can match eol */
6414 /* rule 384 can match eol */
6425 FAIL("Unexpected `]""]>' in character data.");
6432 case YY_STATE_EOF(VALUE1):
6433 FAIL("EOF in literal (\"'\" expected).");
6440 case YY_STATE_EOF(VALUE2):
6441 FAIL("EOF in literal (`\"' expected).");
6445 /* rule 389 can match eol */
6447 BUFFERPUTC(surf_parse_text[0]);
6451 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
6458 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
6461 BUFFERPUTC(surf_parse_text[0]);
6463 case YY_STATE_EOF(CDATA):
6464 FAIL("EOF in CDATA section.");
6467 /* Impossible rules to avoid warnings from flex(1). */
6468 /* Ideally, this should be replaced by code in flexml.pl that
6469 generates just the states not covered by other rules. */
6472 /* rule 393 can match eol */
6474 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
6481 case YY_STATE_EOF(INITIAL):
6482 case YY_STATE_EOF(ROOT_surfxml_platform):
6483 case YY_STATE_EOF(S_surfxml_platform_2):
6484 case YY_STATE_EOF(S_surfxml_platform_5):
6485 case YY_STATE_EOF(S_surfxml_platform_7):
6486 case YY_STATE_EOF(S_surfxml_random_1):
6487 case YY_STATE_EOF(S_surfxml_AS_2):
6488 case YY_STATE_EOF(S_surfxml_AS_5):
6489 case YY_STATE_EOF(S_surfxml_AS_7):
6490 case YY_STATE_EOF(S_surfxml_AS_10):
6491 case YY_STATE_EOF(S_surfxml_AS_12):
6492 case YY_STATE_EOF(S_surfxml_host_1):
6493 case YY_STATE_EOF(S_surfxml_link_1):
6494 case YY_STATE_EOF(S_surfxml_route_1):
6495 case YY_STATE_EOF(S_surfxml_ASroute_1):
6496 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
6497 case YY_STATE_EOF(S_surfxml_process_1):
6498 case YY_STATE_EOF(S_surfxml_config_1):
6499 case YY_STATE_EOF(IMPOSSIBLE):
6502 case YY_END_OF_BUFFER:
6504 /* Amount of text matched not including the EOB char. */
6505 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6507 /* Undo the effects of YY_DO_BEFORE_ACTION. */
6508 *yy_cp = (yy_hold_char);
6509 YY_RESTORE_YY_MORE_OFFSET
6511 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6513 /* We're scanning a new file or input source. It's
6514 * possible that this happened because the user
6515 * just pointed surf_parse_in at a new source and called
6516 * surf_parse_lex(). If so, then we have to assure
6517 * consistency between YY_CURRENT_BUFFER and our
6518 * globals. Here is the right place to do so, because
6519 * this is the first action (other than possibly a
6520 * back-up) that will match for the new input source.
6522 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6523 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
6524 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6527 /* Note that here we test for yy_c_buf_p "<=" to the position
6528 * of the first EOB in the buffer, since yy_c_buf_p will
6529 * already have been incremented past the NUL character
6530 * (since all states make transitions on EOB to the
6531 * end-of-buffer state). Contrast this with the test
6534 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6535 { /* This was really a NUL. */
6536 yy_state_type yy_next_state;
6538 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6540 yy_current_state = yy_get_previous_state( );
6542 /* Okay, we're now positioned to make the NUL
6543 * transition. We couldn't have
6544 * yy_get_previous_state() go ahead and do it
6545 * for us because it doesn't know how to deal
6546 * with the possibility of jamming (and we don't
6547 * want to build jamming into it because then it
6548 * will run more slowly).
6551 yy_next_state = yy_try_NUL_trans( yy_current_state );
6553 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6555 if ( yy_next_state )
6557 /* Consume the NUL. */
6558 yy_cp = ++(yy_c_buf_p);
6559 yy_current_state = yy_next_state;
6565 yy_cp = (yy_c_buf_p);
6566 goto yy_find_action;
6570 else switch ( yy_get_next_buffer( ) )
6572 case EOB_ACT_END_OF_FILE:
6574 (yy_did_buffer_switch_on_eof) = 0;
6576 if ( surf_parse_wrap( ) )
6578 /* Note: because we've taken care in
6579 * yy_get_next_buffer() to have set up
6580 * surf_parse_text, we can now set up
6581 * yy_c_buf_p so that if some total
6582 * hoser (like flex itself) wants to
6583 * call the scanner after we return the
6584 * YY_NULL, it'll still work - another
6585 * YY_NULL will get returned.
6587 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6589 yy_act = YY_STATE_EOF(YY_START);
6595 if ( ! (yy_did_buffer_switch_on_eof) )
6601 case EOB_ACT_CONTINUE_SCAN:
6603 (yytext_ptr) + yy_amount_of_matched_text;
6605 yy_current_state = yy_get_previous_state( );
6607 yy_cp = (yy_c_buf_p);
6608 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6611 case EOB_ACT_LAST_MATCH:
6613 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6615 yy_current_state = yy_get_previous_state( );
6617 yy_cp = (yy_c_buf_p);
6618 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6619 goto yy_find_action;
6626 "fatal flex scanner internal error--no action found" );
6627 } /* end of action switch */
6628 } /* end of scanning one token */
6629 } /* end of surf_parse_lex */
6631 /* yy_get_next_buffer - try to read in a new buffer
6633 * Returns a code representing an action:
6634 * EOB_ACT_LAST_MATCH -
6635 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6636 * EOB_ACT_END_OF_FILE - end of file
6638 static int yy_get_next_buffer (void)
6640 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6641 register char *source = (yytext_ptr);
6642 register int number_to_move, i;
6645 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6647 "fatal flex scanner internal error--end of buffer missed" );
6649 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6650 { /* Don't try to fill the buffer, so this is an EOF. */
6651 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6653 /* We matched a single character, the EOB, so
6654 * treat this as a final EOF.
6656 return EOB_ACT_END_OF_FILE;
6661 /* We matched some text prior to the EOB, first
6664 return EOB_ACT_LAST_MATCH;
6668 /* Try to read more data. */
6670 /* First move last chars to start of buffer. */
6671 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6673 for ( i = 0; i < number_to_move; ++i )
6674 *(dest++) = *(source++);
6676 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6677 /* don't do the read, it's not guaranteed to return an EOF,
6680 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6685 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6687 while ( num_to_read <= 0 )
6688 { /* Not enough room in the buffer - grow it. */
6690 /* just a shorter name for the current buffer */
6691 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6693 int yy_c_buf_p_offset =
6694 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6696 if ( b->yy_is_our_buffer )
6698 int new_size = b->yy_buf_size * 2;
6700 if ( new_size <= 0 )
6701 b->yy_buf_size += b->yy_buf_size / 8;
6703 b->yy_buf_size *= 2;
6705 b->yy_ch_buf = (char *)
6706 /* Include room in for 2 EOB chars. */
6707 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6710 /* Can't grow it, we don't own it. */
6713 if ( ! b->yy_ch_buf )
6715 "fatal error - scanner input buffer overflow" );
6717 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6719 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6724 if ( num_to_read > YY_READ_BUF_SIZE )
6725 num_to_read = YY_READ_BUF_SIZE;
6727 /* Read in more data. */
6728 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6729 (yy_n_chars), (size_t) num_to_read );
6731 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6734 if ( (yy_n_chars) == 0 )
6736 if ( number_to_move == YY_MORE_ADJ )
6738 ret_val = EOB_ACT_END_OF_FILE;
6739 surf_parse_restart(surf_parse_in );
6744 ret_val = EOB_ACT_LAST_MATCH;
6745 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6746 YY_BUFFER_EOF_PENDING;
6751 ret_val = EOB_ACT_CONTINUE_SCAN;
6753 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6754 /* Extend the array by 50%, plus the number we really need. */
6755 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6756 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6757 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6758 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6761 (yy_n_chars) += number_to_move;
6762 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6763 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6765 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6770 /* yy_get_previous_state - get the state just before the EOB char was reached */
6772 static yy_state_type yy_get_previous_state (void)
6774 register yy_state_type yy_current_state;
6775 register char *yy_cp;
6777 yy_current_state = (yy_start);
6779 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6781 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6782 if ( yy_accept[yy_current_state] )
6784 (yy_last_accepting_state) = yy_current_state;
6785 (yy_last_accepting_cpos) = yy_cp;
6787 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6789 yy_current_state = (int) yy_def[yy_current_state];
6790 if ( yy_current_state >= 2396 )
6791 yy_c = yy_meta[(unsigned int) yy_c];
6793 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6796 return yy_current_state;
6799 /* yy_try_NUL_trans - try to make a transition on the NUL character
6802 * next_state = yy_try_NUL_trans( current_state );
6804 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6806 register int yy_is_jam;
6807 register char *yy_cp = (yy_c_buf_p);
6809 register YY_CHAR yy_c = 1;
6810 if ( yy_accept[yy_current_state] )
6812 (yy_last_accepting_state) = yy_current_state;
6813 (yy_last_accepting_cpos) = yy_cp;
6815 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6817 yy_current_state = (int) yy_def[yy_current_state];
6818 if ( yy_current_state >= 2396 )
6819 yy_c = yy_meta[(unsigned int) yy_c];
6821 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6822 yy_is_jam = (yy_current_state == 2395);
6824 return yy_is_jam ? 0 : yy_current_state;
6829 static int yyinput (void)
6831 static int input (void)
6837 *(yy_c_buf_p) = (yy_hold_char);
6839 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6841 /* yy_c_buf_p now points to the character we want to return.
6842 * If this occurs *before* the EOB characters, then it's a
6843 * valid NUL; if not, then we've hit the end of the buffer.
6845 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6846 /* This was really a NUL. */
6847 *(yy_c_buf_p) = '\0';
6850 { /* need more input */
6851 int offset = (yy_c_buf_p) - (yytext_ptr);
6854 switch ( yy_get_next_buffer( ) )
6856 case EOB_ACT_LAST_MATCH:
6857 /* This happens because yy_g_n_b()
6858 * sees that we've accumulated a
6859 * token and flags that we need to
6860 * try matching the token before
6861 * proceeding. But for input(),
6862 * there's no matching to consider.
6863 * So convert the EOB_ACT_LAST_MATCH
6864 * to EOB_ACT_END_OF_FILE.
6867 /* Reset buffer status. */
6868 surf_parse_restart(surf_parse_in );
6872 case EOB_ACT_END_OF_FILE:
6874 if ( surf_parse_wrap( ) )
6877 if ( ! (yy_did_buffer_switch_on_eof) )
6886 case EOB_ACT_CONTINUE_SCAN:
6887 (yy_c_buf_p) = (yytext_ptr) + offset;
6893 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6894 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6895 (yy_hold_char) = *++(yy_c_buf_p);
6899 surf_parse_lineno++;
6904 #endif /* ifndef YY_NO_INPUT */
6906 /** Immediately switch to a different input stream.
6907 * @param input_file A readable stream.
6909 * @note This function does not reset the start condition to @c INITIAL .
6911 void surf_parse_restart (FILE * input_file )
6914 if ( ! YY_CURRENT_BUFFER ){
6915 surf_parse_ensure_buffer_stack ();
6916 YY_CURRENT_BUFFER_LVALUE =
6917 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6920 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6921 surf_parse__load_buffer_state( );
6924 /** Switch to a different input buffer.
6925 * @param new_buffer The new input buffer.
6928 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6931 /* TODO. We should be able to replace this entire function body
6933 * surf_parse_pop_buffer_state();
6934 * surf_parse_push_buffer_state(new_buffer);
6936 surf_parse_ensure_buffer_stack ();
6937 if ( YY_CURRENT_BUFFER == new_buffer )
6940 if ( YY_CURRENT_BUFFER )
6942 /* Flush out information for old buffer. */
6943 *(yy_c_buf_p) = (yy_hold_char);
6944 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6945 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6948 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6949 surf_parse__load_buffer_state( );
6951 /* We don't actually know whether we did this switch during
6952 * EOF (surf_parse_wrap()) processing, but the only time this flag
6953 * is looked at is after surf_parse_wrap() is called, so it's safe
6954 * to go ahead and always set it.
6956 (yy_did_buffer_switch_on_eof) = 1;
6959 static void surf_parse__load_buffer_state (void)
6961 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6962 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6963 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6964 (yy_hold_char) = *(yy_c_buf_p);
6967 /** Allocate and initialize an input buffer state.
6968 * @param file A readable stream.
6969 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6971 * @return the allocated buffer state.
6973 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6977 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6979 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6981 b->yy_buf_size = size;
6983 /* yy_ch_buf has to be 2 characters longer than the size given because
6984 * we need to put in 2 end-of-buffer characters.
6986 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6987 if ( ! b->yy_ch_buf )
6988 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6990 b->yy_is_our_buffer = 1;
6992 surf_parse__init_buffer(b,file );
6997 /** Destroy the buffer.
6998 * @param b a buffer created with surf_parse__create_buffer()
7001 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
7007 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
7008 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
7010 if ( b->yy_is_our_buffer )
7011 surf_parse_free((void *) b->yy_ch_buf );
7013 surf_parse_free((void *) b );
7017 extern int isatty (int );
7018 #endif /* __cplusplus */
7020 /* Initializes or reinitializes a buffer.
7021 * This function is sometimes called more than once on the same buffer,
7022 * such as during a surf_parse_restart() or at EOF.
7024 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
7029 surf_parse__flush_buffer(b );
7031 b->yy_input_file = file;
7032 b->yy_fill_buffer = 1;
7034 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
7035 * called from surf_parse_restart() or through yy_get_next_buffer.
7036 * In that case, we don't want to reset the lineno or column.
7038 if (b != YY_CURRENT_BUFFER){
7039 b->yy_bs_lineno = 1;
7040 b->yy_bs_column = 0;
7043 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
7048 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
7049 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
7052 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
7059 /* We always need two end-of-buffer characters. The first causes
7060 * a transition to the end-of-buffer state. The second causes
7061 * a jam in that state.
7063 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
7064 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
7066 b->yy_buf_pos = &b->yy_ch_buf[0];
7069 b->yy_buffer_status = YY_BUFFER_NEW;
7071 if ( b == YY_CURRENT_BUFFER )
7072 surf_parse__load_buffer_state( );
7075 /** Pushes the new state onto the stack. The new state becomes
7076 * the current state. This function will allocate the stack
7078 * @param new_buffer The new state.
7081 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
7083 if (new_buffer == NULL)
7086 surf_parse_ensure_buffer_stack();
7088 /* This block is copied from surf_parse__switch_to_buffer. */
7089 if ( YY_CURRENT_BUFFER )
7091 /* Flush out information for old buffer. */
7092 *(yy_c_buf_p) = (yy_hold_char);
7093 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7094 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7097 /* Only push if top exists. Otherwise, replace top. */
7098 if (YY_CURRENT_BUFFER)
7099 (yy_buffer_stack_top)++;
7100 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7102 /* copied from surf_parse__switch_to_buffer. */
7103 surf_parse__load_buffer_state( );
7104 (yy_did_buffer_switch_on_eof) = 1;
7107 /** Removes and deletes the top of the stack, if present.
7108 * The next element becomes the new top.
7111 void surf_parse_pop_buffer_state (void)
7113 if (!YY_CURRENT_BUFFER)
7116 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7117 YY_CURRENT_BUFFER_LVALUE = NULL;
7118 if ((yy_buffer_stack_top) > 0)
7119 --(yy_buffer_stack_top);
7121 if (YY_CURRENT_BUFFER) {
7122 surf_parse__load_buffer_state( );
7123 (yy_did_buffer_switch_on_eof) = 1;
7127 /* Allocates the stack if it does not exist.
7128 * Guarantees space for at least one push.
7130 static void surf_parse_ensure_buffer_stack (void)
7134 if (!(yy_buffer_stack)) {
7136 /* First allocation is just for 2 elements, since we don't know if this
7137 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7138 * immediate realloc on the next call.
7141 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
7142 (num_to_alloc * sizeof(struct yy_buffer_state*)
7144 if ( ! (yy_buffer_stack) )
7145 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7147 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7149 (yy_buffer_stack_max) = num_to_alloc;
7150 (yy_buffer_stack_top) = 0;
7154 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7156 /* Increase the buffer to prepare for a possible push. */
7157 int grow_size = 8 /* arbitrary grow size */;
7159 num_to_alloc = (yy_buffer_stack_max) + grow_size;
7160 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
7162 num_to_alloc * sizeof(struct yy_buffer_state*)
7164 if ( ! (yy_buffer_stack) )
7165 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7167 /* zero only the new slots.*/
7168 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7169 (yy_buffer_stack_max) = num_to_alloc;
7173 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7174 * @param base the character buffer
7175 * @param size the size in bytes of the character buffer
7177 * @return the newly allocated buffer state object.
7179 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
7184 base[size-2] != YY_END_OF_BUFFER_CHAR ||
7185 base[size-1] != YY_END_OF_BUFFER_CHAR )
7186 /* They forgot to leave room for the EOB's. */
7189 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7191 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
7193 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7194 b->yy_buf_pos = b->yy_ch_buf = base;
7195 b->yy_is_our_buffer = 0;
7196 b->yy_input_file = 0;
7197 b->yy_n_chars = b->yy_buf_size;
7198 b->yy_is_interactive = 0;
7200 b->yy_fill_buffer = 0;
7201 b->yy_buffer_status = YY_BUFFER_NEW;
7203 surf_parse__switch_to_buffer(b );
7208 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
7209 * scan from a @e copy of @a str.
7210 * @param yystr a NUL-terminated string to scan
7212 * @return the newly allocated buffer state object.
7213 * @note If you want to scan bytes that may contain NUL values, then use
7214 * surf_parse__scan_bytes() instead.
7216 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
7219 return surf_parse__scan_bytes(yystr,strlen(yystr) );
7222 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
7223 * scan from a @e copy of @a bytes.
7224 * @param yybytes the byte buffer to scan
7225 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7227 * @return the newly allocated buffer state object.
7229 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
7236 /* Get memory for full buffer, including space for trailing EOB's. */
7237 n = _yybytes_len + 2;
7238 buf = (char *) surf_parse_alloc(n );
7240 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
7242 for ( i = 0; i < _yybytes_len; ++i )
7243 buf[i] = yybytes[i];
7245 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7247 b = surf_parse__scan_buffer(buf,n );
7249 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
7251 /* It's okay to grow etc. this buffer, and we should throw it
7252 * away when we're done.
7254 b->yy_is_our_buffer = 1;
7259 static void yy_push_state (int new_state )
7261 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
7265 (yy_start_stack_depth) += YY_START_STACK_INCR;
7266 new_size = (yy_start_stack_depth) * sizeof( int );
7268 if ( ! (yy_start_stack) )
7269 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
7272 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
7274 if ( ! (yy_start_stack) )
7275 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
7278 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
7283 static void yy_pop_state (void)
7285 if ( --(yy_start_stack_ptr) < 0 )
7286 YY_FATAL_ERROR( "start-condition stack underflow" );
7288 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
7291 #ifndef YY_EXIT_FAILURE
7292 #define YY_EXIT_FAILURE 2
7295 static void yy_fatal_error (yyconst char* msg )
7297 (void) fprintf( stderr, "%s\n", msg );
7298 exit( YY_EXIT_FAILURE );
7301 /* Redefine yyless() so it works in section 3 code. */
7307 /* Undo effects of setting up surf_parse_text. */ \
7308 int yyless_macro_arg = (n); \
7309 YY_LESS_LINENO(yyless_macro_arg);\
7310 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
7311 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
7312 (yy_hold_char) = *(yy_c_buf_p); \
7313 *(yy_c_buf_p) = '\0'; \
7314 surf_parse_leng = yyless_macro_arg; \
7318 /* Accessor methods (get/set functions) to struct members. */
7320 /** Get the current line number.
7323 int surf_parse_get_lineno (void)
7326 return surf_parse_lineno;
7329 /** Get the input stream.
7332 FILE *surf_parse_get_in (void)
7334 return surf_parse_in;
7337 /** Get the output stream.
7340 FILE *surf_parse_get_out (void)
7342 return surf_parse_out;
7345 /** Get the length of the current token.
7348 int surf_parse_get_leng (void)
7350 return surf_parse_leng;
7353 /** Get the current token.
7357 char *surf_parse_get_text (void)
7359 return surf_parse_text;
7362 /** Set the current line number.
7363 * @param line_number
7366 void surf_parse_set_lineno (int line_number )
7369 surf_parse_lineno = line_number;
7372 /** Set the input stream. This does not discard the current
7374 * @param in_str A readable stream.
7376 * @see surf_parse__switch_to_buffer
7378 void surf_parse_set_in (FILE * in_str )
7380 surf_parse_in = in_str ;
7383 void surf_parse_set_out (FILE * out_str )
7385 surf_parse_out = out_str ;
7388 int surf_parse_get_debug (void)
7390 return surf_parse__flex_debug;
7393 void surf_parse_set_debug (int bdebug )
7395 surf_parse__flex_debug = bdebug ;
7398 static int yy_init_globals (void)
7400 /* Initialization is the same as for the non-reentrant scanner.
7401 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
7404 /* We do not touch surf_parse_lineno unless the option is enabled. */
7405 surf_parse_lineno = 1;
7407 (yy_buffer_stack) = 0;
7408 (yy_buffer_stack_top) = 0;
7409 (yy_buffer_stack_max) = 0;
7410 (yy_c_buf_p) = (char *) 0;
7414 (yy_start_stack_ptr) = 0;
7415 (yy_start_stack_depth) = 0;
7416 (yy_start_stack) = NULL;
7418 /* Defined in main.c */
7420 surf_parse_in = stdin;
7421 surf_parse_out = stdout;
7423 surf_parse_in = (FILE *) 0;
7424 surf_parse_out = (FILE *) 0;
7427 /* For future reference: Set errno on error, since we are called by
7428 * surf_parse_lex_init()
7433 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
7434 int surf_parse_lex_destroy (void)
7437 /* Pop the buffer stack, destroying each element. */
7438 while(YY_CURRENT_BUFFER){
7439 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7440 YY_CURRENT_BUFFER_LVALUE = NULL;
7441 surf_parse_pop_buffer_state();
7444 /* Destroy the stack itself. */
7445 surf_parse_free((yy_buffer_stack) );
7446 (yy_buffer_stack) = NULL;
7448 /* Destroy the start condition stack. */
7449 surf_parse_free((yy_start_stack) );
7450 (yy_start_stack) = NULL;
7452 /* Reset the globals. This is important in a non-reentrant scanner so the next time
7453 * surf_parse_lex() is called, initialization will occur. */
7460 * Internal utility routines.
7464 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
7467 for ( i = 0; i < n; ++i )
7472 #ifdef YY_NEED_STRLEN
7473 static int yy_flex_strlen (yyconst char * s )
7476 for ( n = 0; s[n]; ++n )
7483 void *surf_parse_alloc (yy_size_t size )
7485 return (void *) malloc( size );
7488 void *surf_parse_realloc (void * ptr, yy_size_t size )
7490 /* The cast to (char *) in the following accommodates both
7491 * implementations that use char* generic pointers, and those
7492 * that use void* generic pointers. It works with the latter
7493 * because both ANSI C and C++ allow castless assignment from
7494 * any pointer type to void*, and deal with argument conversions
7495 * as though doing an assignment.
7497 return (void *) realloc( (char *) ptr, size );
7500 void surf_parse_free (void * ptr )
7502 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
7505 #define YYTABLES_NAME "yytables"
7507 /* Element context stack lookup. */
7508 int surfxml_element_context(int i)
7510 return (0<i && i<yy_start_stack_depth
7511 ? yy_start_stack[yy_start_stack_ptr - i]
7516 void print_yy_stack(char* fmt, ...)
7518 int i = 0; va_list ap; va_start(ap, fmt);
7519 vfprintf(stderr, fmt, ap);
7520 if (surfxml_statenames) {
7521 for (i=1; i<yy_start_stack_ptr; i++) {
7522 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
7524 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
7529 void print_surfxml_bufferstack()
7532 fputs("Buffer: ", stderr);
7533 for (i = 0; i < blimit; i++) {
7534 if ( surfxml_bufferstack[i] == '\377' ) break;
7535 putc(surfxml_bufferstack[i], stderr);
7540 static void debug_enter(int state, const char* statename) {
7541 yy_push_state(state);
7542 if (surf_parse__flex_debug) {
7543 print_yy_stack("--ENTER(%s) : ",statename);
7544 print_surfxml_bufferstack();
7548 static void debug_leave(void) {
7549 if (surf_parse__flex_debug) {
7550 print_yy_stack("--LEAVE : ");
7551 print_surfxml_bufferstack();
7556 static void debug_set(int state, const char* statename) {
7558 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
7562 static void cleanup(void)
7564 if (surfxml_statenames) {
7565 free(surfxml_statenames);
7566 surfxml_statenames = NULL;
7568 free(surfxml_bufferstack);
7569 surfxml_bufferstack = NULL;
7575 static int fail(const char* fmt, ...)
7577 int chars_left, used;
7578 va_list ap; va_start(ap, fmt);
7579 #ifdef FLEXML_yylineno
7580 used = sprintf(flexml_err_msg,
7581 "Invalid XML (XML input line %d, state %d): ",
7582 surf_parse_lineno, YY_START);
7584 used = sprintf(flexml_err_msg,
7585 "Invalid XML (state %d): ",
7588 chars_left = flexml_max_err_msg_size - used - 1;
7589 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
7592 #ifndef FLEXML_quiet_parser
7593 /* print directly to sdterr */
7594 fprintf(stderr, "%s\n", flexml_err_msg);
7595 flexml_err_msg[0] = '\0';