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 398
407 #define YY_END_OF_BUFFER 399
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[2424] =
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, 399, 397,
437 15, 10, 10, 15, 15, 377, 10, 377, 5, 6,
439 5, 8, 9, 8, 393, 385, 386, 394, 391, 394,
440 392, 396, 385, 386, 396, 397, 22, 10, 22, 22,
441 22, 20, 22, 26, 10, 26, 26, 397, 26, 397,
442 397, 26, 37, 10, 37, 37, 37, 35, 37, 37,
443 37, 394, 393, 67, 10, 67, 67, 67, 65, 67,
444 67, 67, 67, 67, 71, 10, 71, 397, 71, 90,
445 10, 90, 90, 90, 88, 90, 90, 90, 94, 10,
446 94, 105, 10, 105, 105, 105, 103, 105, 105, 105,
447 109, 10, 109, 109, 397, 109, 109, 397, 397, 109,
448 397, 109, 397, 109, 132, 10, 132, 132, 132, 130,
450 132, 132, 132, 132, 132, 136, 10, 136, 136, 175,
451 10, 175, 175, 175, 173, 175, 175, 175, 175, 175,
452 175, 175, 175, 179, 10, 179, 204, 10, 204, 204,
453 204, 202, 204, 204, 204, 204, 204, 204, 204, 208,
454 10, 208, 217, 10, 217, 217, 217, 215, 217, 217,
455 221, 10, 221, 248, 10, 248, 248, 248, 246, 248,
456 248, 248, 248, 252, 10, 252, 252, 265, 10, 265,
457 265, 265, 263, 265, 265, 269, 10, 269, 397, 269,
458 286, 10, 286, 286, 286, 284, 286, 286, 286, 290,
459 10, 290, 290, 303, 10, 303, 303, 303, 301, 303,
461 303, 307, 10, 307, 320, 10, 320, 320, 320, 318,
462 320, 320, 320, 324, 10, 324, 324, 337, 10, 337,
463 337, 337, 335, 337, 337, 337, 337, 341, 10, 341,
464 397, 341, 348, 10, 348, 348, 348, 346, 348, 352,
465 10, 352, 359, 10, 359, 359, 359, 357, 359, 363,
466 10, 363, 363, 372, 10, 372, 372, 372, 370, 372,
467 372, 376, 10, 376, 10, 0, 2, 2, 0, 4,
468 7, 388, 387, 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 66, 68, 68, 68, 68, 68, 68, 68, 68, 68,
474 0, 0, 89, 91, 91, 91, 91, 0, 104, 106,
475 106, 106, 106, 0, 0, 0, 0, 0, 0, 0,
476 0, 0, 131, 133, 133, 133, 133, 133, 133, 0,
477 174, 176, 176, 176, 176, 176, 176, 176, 176, 176,
478 176, 176, 176, 176, 0, 203, 205, 205, 205, 205,
479 205, 205, 205, 205, 205, 0, 216, 218, 218, 218,
480 0, 247, 249, 249, 249, 249, 249, 249, 0, 264,
481 266, 266, 266, 266, 0, 0, 285, 287, 287, 287,
483 287, 287, 0, 302, 304, 304, 304, 0, 319, 321,
484 321, 321, 321, 0, 336, 338, 338, 338, 338, 338,
485 0, 0, 347, 349, 349, 0, 358, 360, 360, 0,
486 371, 373, 373, 373, 0, 0, 0, 0, 0, 3,
487 0, 0, 0, 0, 0, 0, 0, 395, 0, 23,
488 0, 0, 96, 0, 0, 0, 0, 0, 0, 0,
489 0, 0, 0, 0, 0, 0, 0, 95, 0, 0,
490 0, 0, 38, 0, 0, 38, 0, 0, 0, 390,
491 68, 0, 0, 68, 68, 68, 68, 68, 68, 0,
492 0, 0, 91, 91, 91, 0, 0, 106, 0, 0,
494 106, 0, 0, 96, 0, 0, 0, 0, 95, 0,
495 0, 133, 133, 133, 0, 0, 133, 133, 0, 0,
496 176, 176, 0, 0, 176, 0, 0, 176, 176, 176,
497 176, 176, 176, 176, 0, 0, 205, 205, 205, 0,
498 0, 205, 205, 205, 205, 0, 0, 218, 0, 0,
499 0, 0, 249, 0, 0, 249, 249, 249, 0, 0,
500 266, 266, 266, 0, 0, 0, 287, 287, 287, 287,
501 0, 0, 304, 0, 0, 0, 0, 321, 321, 321,
502 0, 0, 338, 338, 338, 338, 0, 0, 0, 349,
503 0, 0, 0, 0, 0, 0, 0, 0, 373, 0,
505 0, 0, 14, 1, 0, 0, 383, 0, 0, 0,
506 380, 379, 0, 0, 23, 0, 0, 25, 0, 96,
507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
508 0, 0, 0, 0, 0, 95, 0, 0, 0, 0,
509 38, 0, 30, 29, 38, 0, 0, 0, 40, 0,
510 68, 0, 44, 43, 0, 0, 68, 0, 0, 68,
511 68, 68, 0, 0, 70, 0, 0, 91, 91, 91,
512 0, 0, 93, 0, 106, 0, 98, 97, 106, 0,
513 0, 108, 0, 0, 0, 0, 0, 0, 0, 0,
514 133, 133, 133, 0, 113, 112, 133, 133, 0, 0,
516 135, 0, 176, 176, 176, 176, 0, 152, 151, 176,
517 0, 140, 139, 0, 0, 176, 176, 176, 176, 176,
518 176, 0, 0, 178, 0, 205, 205, 205, 205, 0,
519 183, 182, 0, 0, 205, 205, 205, 0, 0, 207,
520 0, 218, 0, 212, 211, 0, 0, 220, 0, 249,
521 0, 225, 224, 249, 249, 249, 0, 0, 251, 0,
522 0, 0, 0, 0, 266, 0, 0, 268, 0, 0,
523 0, 0, 287, 287, 0, 0, 287, 0, 0, 289,
524 0, 304, 0, 294, 293, 0, 0, 306, 0, 0,
525 0, 321, 321, 0, 0, 0, 0, 323, 0, 338,
527 338, 338, 338, 0, 0, 340, 0, 0, 349, 0,
528 0, 351, 0, 0, 356, 355, 0, 0, 362, 0,
529 0, 367, 366, 373, 0, 0, 375, 0, 0, 0,
530 384, 378, 0, 0, 0, 23, 0, 0, 0, 0,
531 0, 0, 110, 222, 181, 0, 0, 364, 0, 0,
532 0, 0, 0, 0, 180, 0, 0, 0, 0, 38,
533 0, 0, 68, 0, 48, 47, 0, 0, 0, 46,
534 45, 68, 0, 0, 68, 0, 365, 91, 0, 0,
535 91, 0, 106, 106, 0, 107, 0, 0, 111, 223,
536 0, 0, 0, 133, 133, 0, 0, 133, 133, 0,
538 176, 176, 176, 176, 0, 0, 0, 154, 153, 176,
539 176, 176, 176, 176, 176, 0, 205, 205, 205, 205,
540 0, 191, 190, 205, 205, 205, 0, 218, 0, 249,
541 249, 249, 249, 0, 0, 258, 257, 0, 256, 255,
542 266, 0, 222, 0, 275, 274, 287, 287, 0, 273,
543 272, 287, 0, 304, 0, 0, 313, 312, 321, 321,
544 0, 311, 310, 0, 338, 0, 0, 338, 338, 0,
545 0, 349, 0, 0, 373, 0, 0, 0, 0, 12,
546 0, 381, 382, 0, 23, 0, 0, 0, 0, 0,
547 0, 110, 222, 0, 181, 0, 0, 364, 0, 253,
549 28, 0, 0, 0, 180, 0, 27, 0, 32, 31,
550 38, 0, 0, 68, 0, 50, 49, 68, 0, 54,
551 53, 68, 0, 365, 91, 0, 0, 0, 0, 0,
552 0, 106, 106, 0, 0, 111, 223, 254, 254, 253,
553 133, 133, 0, 117, 116, 0, 0, 0, 0, 133,
554 0, 176, 0, 0, 176, 176, 0, 150, 149, 0,
555 0, 176, 176, 176, 176, 176, 0, 205, 0, 0,
556 205, 205, 0, 0, 205, 205, 0, 218, 0, 249,
557 249, 249, 0, 0, 249, 0, 266, 0, 0, 287,
558 287, 287, 0, 304, 0, 321, 321, 0, 338, 0,
560 328, 327, 338, 338, 0, 0, 0, 0, 0, 0,
561 0, 0, 0, 0, 0, 0, 11, 0, 23, 0,
562 0, 0, 0, 0, 354, 0, 0, 0, 42, 253,
563 209, 28, 0, 353, 41, 0, 0, 27, 0, 38,
564 0, 0, 68, 68, 68, 0, 91, 0, 0, 0,
565 0, 0, 0, 0, 0, 0, 85, 84, 0, 106,
566 106, 0, 0, 254, 210, 133, 133, 0, 115, 114,
567 0, 0, 0, 133, 0, 134, 176, 0, 162, 161,
568 0, 0, 176, 0, 148, 147, 0, 0, 176, 176,
569 176, 0, 0, 0, 205, 0, 187, 186, 0, 0,
571 205, 0, 185, 184, 205, 205, 0, 206, 218, 0,
572 249, 249, 249, 0, 0, 0, 249, 0, 250, 266,
573 0, 0, 0, 0, 0, 0, 287, 0, 304, 0,
574 0, 0, 0, 0, 0, 338, 338, 338, 0, 0,
575 0, 345, 344, 0, 0, 0, 369, 368, 0, 374,
576 0, 0, 0, 0, 0, 0, 0, 270, 0, 0,
577 138, 354, 0, 0, 326, 42, 209, 0, 353, 41,
578 137, 325, 0, 38, 0, 0, 39, 68, 0, 0,
579 68, 0, 0, 0, 0, 0, 0, 0, 0, 0,
580 0, 0, 0, 0, 0, 106, 0, 0, 271, 0,
582 210, 133, 133, 0, 0, 133, 176, 0, 164, 163,
583 176, 0, 142, 141, 0, 0, 176, 176, 0, 144,
584 143, 0, 205, 0, 189, 188, 205, 205, 205, 218,
585 0, 249, 0, 0, 249, 249, 0, 0, 249, 266,
586 0, 267, 0, 0, 279, 278, 0, 277, 276, 287,
587 0, 304, 0, 0, 317, 316, 0, 315, 314, 0,
588 338, 338, 338, 0, 0, 0, 0, 0, 0, 0,
589 17, 0, 19, 18, 0, 270, 342, 0, 138, 291,
590 16, 326, 0, 137, 325, 0, 38, 389, 68, 0,
591 56, 55, 68, 0, 69, 0, 87, 86, 0, 0,
593 0, 0, 0, 0, 0, 0, 0, 0, 0, 106,
594 0, 100, 99, 271, 0, 133, 133, 0, 0, 0,
595 0, 133, 176, 176, 0, 146, 145, 176, 176, 0,
596 205, 205, 205, 205, 218, 0, 219, 249, 0, 231,
597 230, 249, 249, 0, 0, 0, 0, 249, 266, 292,
598 287, 0, 304, 0, 0, 0, 0, 338, 338, 0,
599 343, 0, 0, 361, 0, 0, 0, 17, 0, 342,
600 0, 291, 16, 0, 0, 38, 0, 0, 68, 0,
601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
602 106, 0, 133, 133, 0, 123, 0, 122, 133, 176,
604 176, 176, 176, 0, 177, 205, 205, 205, 205, 218,
605 0, 0, 249, 249, 249, 0, 235, 0, 234, 249,
606 266, 292, 287, 0, 288, 0, 0, 0, 0, 0,
607 330, 329, 0, 0, 338, 0, 339, 343, 0, 0,
608 0, 0, 0, 24, 0, 0, 0, 38, 0, 0,
609 0, 68, 0, 0, 0, 0, 0, 0, 0, 0,
610 0, 0, 0, 106, 0, 133, 133, 125, 124, 0,
611 0, 176, 176, 176, 0, 0, 205, 205, 205, 0,
612 0, 218, 0, 227, 226, 249, 249, 249, 237, 236,
613 0, 0, 266, 287, 0, 0, 0, 0, 305, 0,
615 0, 334, 333, 0, 0, 0, 350, 0, 0, 0,
616 308, 0, 0, 0, 0, 0, 0, 0, 0, 0,
617 0, 68, 0, 0, 0, 0, 77, 0, 0, 0,
618 0, 76, 0, 0, 0, 309, 133, 0, 0, 0,
619 127, 126, 176, 176, 176, 0, 172, 171, 205, 0,
620 0, 205, 0, 201, 200, 0, 0, 249, 249, 249,
621 0, 239, 238, 0, 0, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 0, 332, 331, 0, 0, 0,
623 308, 0, 0, 0, 34, 33, 0, 0, 0, 0,
624 0, 0, 0, 0, 68, 0, 0, 0, 0, 0,
626 0, 0, 0, 0, 0, 102, 101, 309, 0, 0,
627 133, 0, 129, 128, 176, 176, 176, 205, 0, 193,
628 192, 205, 0, 214, 213, 249, 0, 0, 249, 0,
629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
630 0, 0, 0, 0, 0, 0, 73, 72, 0, 0,
631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
632 83, 0, 0, 0, 82, 0, 0, 0, 119, 118,
633 133, 176, 176, 176, 205, 205, 249, 0, 233, 232,
634 249, 0, 0, 0, 0, 0, 0, 0, 0, 0,
635 0, 296, 0, 0, 295, 0, 322, 0, 0, 0,
637 0, 0, 0, 73, 72, 0, 0, 0, 0, 0,
638 0, 0, 0, 0, 52, 51, 0, 0, 0, 0,
639 0, 0, 0, 133, 176, 176, 0, 0, 205, 0,
640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
642 0, 0, 0, 0, 64, 60, 0, 0, 63, 59,
643 0, 81, 0, 0, 80, 0, 0, 0, 92, 133,
644 176, 176, 0, 0, 0, 205, 0, 0, 0, 0,
645 229, 228, 0, 0, 0, 262, 0, 261, 0, 283,
646 0, 282, 0, 298, 300, 297, 299, 0, 0, 0,
648 12, 0, 12, 0, 0, 0, 0, 0, 75, 79,
649 74, 78, 133, 176, 176, 0, 0, 0, 0, 205,
650 0, 0, 0, 0, 0, 0, 0, 0, 260, 259,
651 281, 280, 0, 0, 0, 0, 0, 0, 0, 0,
652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 0, 0, 0, 0, 58, 0, 57,
655 0, 0, 121, 120, 0, 170, 169, 0, 0, 0,
656 0, 0, 0, 0, 0, 0, 0, 199, 198, 0,
657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
659 11, 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, 62, 61, 0, 0, 0, 0,
662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
666 0, 0, 0, 0, 156, 0, 0, 155, 0, 195,
667 0, 194, 0, 0, 241, 0, 0, 240, 0, 0,
668 0, 0, 0, 160, 0, 159, 0, 0, 0, 243,
670 0, 242, 0, 0, 0, 0, 0, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 166, 0, 165, 0,
672 0, 0, 0, 0, 0, 0, 0, 168, 167, 158,
673 157, 197, 196, 245, 244, 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,
679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
686 static yyconst flex_int32_t yy_ec[256] =
688 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
689 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
690 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
691 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
692 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
693 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
694 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
695 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
696 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
697 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
699 53, 54, 55, 56, 57, 31, 58, 59, 60, 61,
700 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
701 72, 31, 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,
706 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,
710 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
711 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
712 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
713 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
714 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
718 static yyconst flex_int32_t yy_meta[73] =
720 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
721 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
722 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
723 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
724 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
725 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
726 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
730 static yyconst flex_int16_t yy_base[2701] =
732 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
733 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
734 108, 177, 75, 78, 83, 128, 131, 134, 138, 141,
735 158, 197, 200, 203, 207, 210, 227, 230, 233, 236,
736 239, 256, 274, 337, 306, 314, 400, 466, 294, 297,
737 301, 360, 363, 367, 370, 420, 532, 599, 423, 426,
738 666, 731, 430, 433, 486, 489, 492, 496, 499, 552,
739 555, 558, 562, 565, 619, 622, 625, 629, 632, 686,
740 689, 692, 696, 751, 754, 757, 761, 781, 787, 790,
741 798, 807, 825, 891, 845, 848, 851, 855, 911, 914,
743 917, 921, 957, 0, 1028, 1031, 1049, 0, 1120, 1123,
744 1141, 1198, 1161, 1164, 1255, 1321, 1167, 1171, 1218, 1221,
745 1224, 1228, 1275, 1278, 1387, 1453, 1281, 1285, 1288, 1341,
746 1344, 1347, 1351, 1354, 1519, 1585, 1407, 1410, 1413, 1417,
747 1420, 1473, 1476, 1479, 1651, 1708, 1483, 1486, 1765, 1831,
748 1539, 1542, 1545, 1549, 1552, 1605, 1608, 1611, 1897, 1963,
749 1615, 1618, 1671, 1674, 1677, 1681, 1684, 1728, 2029, 2098,
750 1731, 1734, 2167, 2224, 1738, 1741, 1785, 1788, 1791, 1795,
751 1798, 1851, 2281, 2350, 1854, 1857, 0, 0, 6568, 7795,
752 7795, 95, 100, 29, 41, 7795, 103, 51, 7795, 7795,
754 6557, 7795, 7795, 6541, 7795, 6555, 6549, 390, 7795, 7795,
755 7795, 7795, 6547, 6542, 6497, 145, 7795, 161, 6523, 0,
756 146, 7795, 6484, 7795, 166, 2415, 88, 204, 205, 260,
757 6524, 6467, 7795, 169, 6509, 0, 153, 7795, 6471, 6470,
758 6468, 374, 6468, 7795, 259, 6494, 0, 244, 7795, 6460,
759 6455, 277, 6457, 197, 7795, 304, 31, 112, 181, 7795,
760 373, 6480, 0, 248, 7795, 6440, 6441, 6427, 7795, 459,
761 375, 7795, 516, 6471, 0, 308, 7795, 6423, 6432, 6421,
762 7795, 525, 1869, 1870, 6418, 35, 6454, 16, 135, 565,
763 583, 83, 6458, 155, 7795, 589, 6449, 0, 377, 7795,
765 6399, 6400, 6409, 6393, 6387, 7795, 594, 377, 380, 7795,
766 651, 6433, 0, 437, 7795, 6378, 177, 6384, 6388, 6390,
767 271, 6389, 441, 7795, 656, 644, 7795, 659, 6412, 0,
768 501, 7795, 6362, 6355, 6362, 6371, 6368, 6354, 4, 7795,
769 699, 703, 7795, 716, 6390, 0, 567, 7795, 6347, 6356,
770 7795, 723, 792, 7795, 726, 6383, 0, 700, 7795, 6353,
771 6349, 6351, 260, 7795, 764, 387, 419, 7795, 815, 6368,
772 0, 701, 7795, 6321, 201, 7795, 818, 452, 6374, 6324,
773 7795, 858, 6362, 0, 765, 7795, 6315, 6306, 387, 7795,
774 875, 6363, 504, 7795, 881, 6354, 0, 766, 7795, 6314,
776 6318, 7795, 924, 802, 7795, 941, 6349, 0, 859, 7795,
777 6298, 6293, 6297, 7795, 947, 6347, 512, 7795, 1034, 6338,
778 0, 860, 7795, 6289, 6290, 6294, 6283, 7795, 1037, 1123,
779 6335, 526, 7795, 1040, 6326, 0, 865, 7795, 6296, 7795,
780 1126, 1172, 7795, 1129, 6320, 0, 925, 7795, 6287, 7795,
781 1192, 404, 518, 7795, 1231, 6318, 0, 926, 7795, 6283,
782 6285, 7795, 1248, 1292, 1305, 672, 6262, 7795, 6318, 6307,
783 7795, 7795, 7795, 1302, 330, 6259, 6256, 6254, 6301, 6257,
784 7795, 0, 6250, 6251, 6272, 6245, 6237, 515, 6242, 6246,
785 1188, 589, 6237, 582, 1129, 6260, 714, 1311, 6233, 736,
787 1377, 1384, 7795, 0, 6238, 1860, 6227, 538, 6224, 6270,
788 7795, 0, 6226, 1920, 6215, 6236, 6219, 6227, 6225, 6223,
789 6209, 1387, 7795, 0, 6220, 6207, 6218, 6199, 7795, 0,
790 6201, 1927, 6194, 6239, 6217, 6183, 6192, 6194, 1249, 6211,
791 1312, 1317, 7795, 0, 6200, 741, 1933, 6174, 6194, 6186,
792 7795, 0, 6190, 6190, 1938, 6172, 1983, 6167, 6163, 6179,
793 6175, 6177, 6176, 6168, 6170, 7795, 0, 6171, 6167, 6152,
794 1986, 6146, 6140, 6160, 6159, 6140, 7795, 0, 6140, 1989,
795 6136, 7795, 0, 6137, 1992, 6130, 6147, 6142, 6131, 7795,
796 0, 6122, 6135, 6125, 6119, 6122, 7795, 0, 6103, 6121,
798 6117, 6103, 6140, 7795, 0, 6096, 1995, 6097, 7795, 0,
799 6088, 6106, 6098, 6098, 7795, 0, 6086, 6076, 6082, 6091,
800 6072, 6069, 7795, 0, 6074, 6079, 7795, 0, 2049, 6076,
801 7795, 0, 2052, 6067, 6058, 6100, 6109, 916, 6054, 7795,
802 1368, 0, 6050, 6050, 6090, 6089, 6043, 7795, 6051, 6033,
803 1864, 2061, 1504, 6043, 6030, 6024, 6030, 6020, 6024, 6031,
804 6030, 6016, 6016, 6004, 6022, 6009, 6004, 1507, 5996, 6010,
805 5996, 6008, 6003, 2055, 1573, 5994, 6026, 2058, 2126, 7795,
806 5996, 2119, 1639, 2122, 5623, 2129, 5626, 5629, 5632, 2132,
807 2191, 5617, 5618, 5625, 5625, 2195, 2198, 5610, 2147, 1819,
809 5606, 2201, 2258, 1513, 5609, 5604, 5601, 5593, 1759, 5591,
810 5583, 5593, 5583, 5589, 2204, 2080, 5587, 5568, 2244, 2247,
811 5577, 1131, 2250, 2088, 5579, 2253, 2151, 2301, 5574, 5572,
812 5562, 5552, 5549, 5560, 2304, 2313, 5544, 26, 5535, 2310,
813 2271, 2328, 5545, 5525, 5522, 2319, 2371, 5522, 2374, 2339,
814 2378, 2381, 5534, 2384, 2402, 5531, 5514, 5511, 2410, 2413,
815 2419, 2437, 2442, 2447, 2455, 5511, 2450, 2481, 2484, 2488,
816 2491, 2495, 5518, 2502, 2510, 2506, 2520, 2525, 2533, 2539,
817 2547, 2551, 5518, 5490, 5497, 5487, 2558, 2561, 5496, 5481,
818 2566, 2570, 2585, 2589, 2580, 2599, 2603, 2606, 5480, 2614,
820 2625, 5504, 7795, 7795, 562, 5460, 7795, 5501, 5488, 5438,
821 7795, 7795, 5435, 5430, 5439, 2628, 2634, 7795, 2637, 1316,
822 5432, 5421, 5439, 5420, 5423, 5409, 5417, 5409, 5405, 239,
823 5419, 5393, 5408, 5403, 5404, 1510, 5388, 5384, 711, 5397,
824 2640, 2647, 7795, 7795, 2660, 5416, 2663, 2667, 7795, 2671,
825 5374, 2690, 7795, 7795, 2678, 2698, 2706, 2709, 2712, 5387,
826 2727, 5384, 2730, 2733, 7795, 2736, 761, 5370, 2739, 5369,
827 2745, 2757, 7795, 2760, 5368, 2764, 7795, 7795, 5358, 2772,
828 2779, 7795, 2782, 5351, 5363, 5343, 5338, 5309, 5308, 5306,
829 5309, 5314, 2785, 2792, 7795, 7795, 5300, 5310, 2803, 2808,
831 7795, 2811, 5295, 5279, 5299, 5281, 2815, 7795, 7795, 2823,
832 2830, 7795, 7795, 2841, 2844, 5263, 5262, 5265, 5257, 5250,
833 5241, 2852, 2855, 7795, 2859, 5236, 5232, 5217, 5225, 2862,
834 7795, 7795, 2878, 2881, 5211, 5209, 5212, 2889, 2892, 7795,
835 2896, 5211, 2899, 7795, 7795, 2911, 2915, 7795, 2918, 5179,
836 2930, 7795, 7795, 5187, 5188, 5189, 2921, 2926, 7795, 2940,
837 2948, 2952, 2960, 2966, 5187, 2974, 2978, 7795, 2985, 5180,
838 2981, 2993, 5171, 5170, 2988, 3006, 5168, 3014, 3017, 7795,
839 3020, 5169, 3023, 7795, 7795, 3039, 3042, 7795, 3045, 3048,
840 3052, 5152, 5147, 3067, 3070, 3078, 3085, 7795, 3088, 5143,
842 3091, 5157, 5137, 3097, 3100, 7795, 3109, 5134, 5141, 3112,
843 3119, 7795, 3122, 3131, 7795, 7795, 3141, 3144, 7795, 3150,
844 3153, 7795, 7795, 5140, 3163, 3170, 7795, 3176, 485, 3182,
845 7795, 7795, 5169, 5168, 5129, 5115, 3185, 5107, 5110, 5103,
846 5100, 5097, 1702, 1956, 1885, 5099, 5098, 1891, 5088, 5095,
847 5088, 5078, 5071, 5065, 1945, 5077, 5072, 3189, 3195, 5065,
848 5094, 3210, 5057, 3213, 7795, 7795, 3221, 3225, 3233, 7795,
849 7795, 5056, 3241, 3244, 5042, 3252, 2020, 5033, 3255, 3260,
850 3273, 3276, 5027, 5022, 3279, 7795, 5005, 5006, 2023, 2161,
851 5017, 5006, 5001, 5004, 4994, 3282, 3285, 3303, 3306, 3309,
853 4993, 3312, 4973, 4985, 3315, 3333, 3341, 7795, 7795, 3349,
854 4956, 4977, 4963, 4960, 4935, 3353, 4956, 3356, 4936, 4938,
855 3360, 7795, 7795, 3368, 4929, 4940, 3375, 4930, 3378, 4928,
856 4920, 4908, 3381, 3386, 3390, 7795, 7795, 3399, 7795, 7795,
857 4901, 3407, 2528, 3411, 7795, 7795, 4899, 4910, 3419, 7795,
858 7795, 4893, 3428, 4891, 3431, 3450, 7795, 7795, 4886, 4901,
859 3458, 7795, 7795, 3435, 4893, 3439, 3466, 4872, 4890, 3474,
860 4876, 3477, 3483, 3489, 3495, 3498, 315, 4915, 3502, 7795,
861 4913, 7795, 7795, 4870, 4869, 3508, 4851, 4864, 4841, 4853,
862 4849, 2332, 2674, 4844, 3513, 4831, 4826, 3517, 4830, 3527,
864 3530, 4834, 4827, 4822, 3533, 4808, 3536, 3543, 7795, 7795,
865 4815, 4824, 3554, 4796, 3561, 7795, 7795, 4802, 3573, 7795,
866 7795, 4791, 3583, 3586, 4790, 3591, 1601, 1781, 3602, 3606,
867 3614, 4790, 4779, 4764, 4760, 3620, 3623, 3626, 3629, 3633,
868 4771, 4742, 3637, 7795, 7795, 3645, 3648, 3656, 3659, 4748,
869 3667, 4750, 3670, 3674, 3682, 4730, 3693, 7795, 7795, 3701,
870 3704, 3712, 4735, 4734, 4733, 3715, 3719, 4736, 3722, 3726,
871 3734, 4723, 3740, 3743, 4721, 4715, 3752, 4702, 3758, 4696,
872 4674, 4690, 3761, 3764, 4689, 3772, 4663, 3779, 4676, 3785,
873 3791, 3794, 3798, 4668, 3803, 3812, 3817, 3822, 4662, 3831,
875 7795, 7795, 4652, 4641, 3825, 4632, 3844, 3851, 3865, 3869,
876 3872, 3877, 3890, 870, 795, 199, 7795, 4619, 3893, 3896,
877 4628, 4619, 4640, 4612, 3899, 4601, 4588, 4586, 3902, 3905,
878 3911, 3915, 4599, 3918, 3925, 4580, 4577, 3928, 4559, 4535,
879 4561, 3931, 4510, 3934, 4512, 3937, 3940, 4542, 4526, 845,
880 4525, 4534, 4509, 911, 4492, 3943, 7795, 7795, 3952, 4452,
881 3958, 4441, 4374, 3961, 3964, 4349, 4264, 3967, 7795, 7795,
882 3976, 4264, 4209, 4175, 3984, 7795, 4085, 3987, 7795, 7795,
883 3999, 4003, 4066, 4011, 7795, 7795, 4019, 4022, 4030, 4074,
884 4002, 4033, 4037, 4051, 3942, 4054, 7795, 7795, 4062, 4066,
886 3926, 4074, 7795, 7795, 3902, 3866, 4082, 7795, 3862, 4085,
887 3783, 4088, 41, 4091, 323, 332, 399, 4106, 7795, 537,
888 4109, 597, 4112, 4115, 4130, 4135, 652, 4143, 649, 4149,
889 4152, 4155, 4163, 4170, 4181, 655, 687, 723, 4184, 720,
890 4187, 7795, 7795, 4195, 4203, 4210, 7795, 7795, 4218, 7795,
891 1114, 902, 869, 781, 4222, 4225, 4233, 4240, 801, 825,
892 4252, 4257, 894, 896, 4260, 4263, 4266, 983, 4269, 4272,
893 4275, 4278, 985, 991, 1090, 4281, 7795, 1072, 4284, 4287,
894 1090, 4302, 4305, 4308, 1122, 1137, 1140, 1148, 1171, 1194,
895 1198, 1198, 1205, 1200, 4316, 1181, 4323, 4326, 4335, 1192,
897 4341, 1212, 1219, 1325, 1391, 1235, 1236, 4344, 7795, 7795,
898 1239, 4352, 7795, 7795, 4360, 4366, 1247, 1278, 4374, 7795,
899 7795, 4382, 1304, 4385, 7795, 7795, 1308, 1314, 1325, 1319,
900 4393, 1347, 4396, 4401, 1373, 1366, 1457, 1468, 1373, 1390,
901 4414, 7795, 1383, 4417, 7795, 7795, 4426, 7795, 7795, 1394,
902 4434, 1386, 4437, 4440, 7795, 7795, 4449, 7795, 7795, 4457,
903 4460, 1395, 1390, 4463, 1384, 4466, 4469, 4472, 1473, 1498,
904 4478, 4494, 7795, 7795, 4503, 4506, 4509, 1401, 4512, 4515,
905 4518, 4522, 1435, 4528, 4531, 1437, 1435, 7795, 4534, 4537,
906 7795, 7795, 1483, 4545, 7795, 4548, 7795, 7795, 1533, 1519,
908 1535, 1530, 1542, 1548, 1540, 1555, 1551, 1558, 4556, 1548,
909 4564, 7795, 7795, 4575, 1548, 1568, 1574, 1601, 1629, 1612,
910 1635, 1593, 1590, 1594, 4578, 7795, 7795, 1588, 1614, 4586,
911 1625, 1637, 1629, 1640, 1641, 4589, 7795, 4592, 4595, 7795,
912 7795, 1639, 1638, 1674, 1701, 1697, 1730, 1694, 1699, 4610,
913 1701, 4613, 4617, 4621, 4624, 4627, 4645, 4653, 1698, 4656,
914 4635, 4659, 4663, 7795, 4667, 1744, 1856, 4671, 4686, 4689,
915 1686, 4692, 4695, 1696, 1697, 1709, 4698, 4701, 1748, 1764,
916 1760, 1780, 1771, 1788, 1784, 1781, 1795, 1799, 1827, 4709,
917 1804, 1804, 1806, 1808, 1874, 7795, 1876, 7795, 4712, 1823,
919 1848, 1867, 4716, 4719, 7795, 1860, 1866, 1879, 4730, 1879,
920 4734, 4738, 1896, 1895, 1897, 1955, 7795, 1953, 7795, 4748,
921 1920, 4752, 1941, 4755, 7795, 4758, 4762, 4770, 4776, 4779,
922 7795, 7795, 4789, 4795, 4803, 4807, 7795, 4810, 4813, 1986,
923 2057, 2008, 4816, 7795, 1948, 1950, 1954, 4821, 4826, 2102,
924 2241, 1950, 1983, 1993, 1992, 1996, 2014, 2036, 2045, 2045,
925 2050, 2064, 4835, 4839, 2026, 2008, 4843, 7795, 7795, 4846,
926 4850, 2013, 2024, 2031, 4864, 4867, 2021, 4875, 2038, 4878,
927 4882, 4896, 4899, 7795, 7795, 2039, 2086, 2085, 7795, 7795,
928 4907, 4910, 4918, 4921, 4925, 2354, 2393, 4939, 7795, 4942,
930 4945, 7795, 7795, 4953, 4961, 4971, 7795, 2141, 2197, 2305,
931 4974, 2092, 2096, 4977, 4980, 2118, 2122, 2161, 2121, 2126,
932 2407, 2128, 2167, 2168, 2167, 2174, 7795, 2194, 2178, 2177,
933 2217, 7795, 4990, 4995, 4998, 5009, 5013, 5016, 5019, 5027,
934 7795, 7795, 2217, 2206, 2259, 5035, 7795, 7795, 2263, 5043,
935 5046, 2267, 5054, 7795, 7795, 5062, 5065, 2260, 5073, 2275,
936 5076, 7795, 7795, 5084, 5087, 5095, 5098, 2301, 2304, 2307,
937 2310, 2313, 2353, 5106, 5109, 7795, 7795, 2380, 2405, 5117,
938 5120, 2325, 2327, 5125, 7795, 7795, 2377, 2367, 2374, 2382,
939 2404, 2396, 2397, 2407, 5136, 2408, 2433, 2456, 2441, 2428,
941 2450, 2464, 2454, 5140, 5143, 7795, 7795, 5154, 5159, 5162,
942 2423, 5170, 7795, 7795, 2425, 2422, 2417, 2442, 5178, 7795,
943 7795, 2429, 5186, 7795, 7795, 2465, 5194, 5197, 2448, 5205,
944 2511, 2576, 5213, 2579, 2623, 2482, 2503, 2533, 2502, 2522,
945 2550, 5221, 2559, 5224, 5227, 5230, 5249, 5252, 2531, 2549,
946 2555, 2555, 2561, 2571, 2595, 2586, 5255, 5258, 2604, 2616,
947 7795, 2617, 2623, 2625, 7795, 2630, 5266, 5269, 7795, 7795,
948 2615, 2627, 2628, 5277, 2631, 5280, 5285, 5288, 7795, 7795,
949 5298, 2653, 2669, 2662, 2677, 2669, 2680, 2681, 2693, 2688,
950 2698, 7795, 2691, 2701, 7795, 5303, 7795, 2731, 5306, 5309,
952 5318, 5338, 5385, 5328, 5332, 2719, 2739, 2746, 2714, 2730,
953 2748, 2760, 2731, 5358, 7795, 7795, 2766, 2745, 2746, 2781,
954 2758, 2767, 5349, 2744, 2749, 2765, 5376, 5368, 2761, 5379,
955 5405, 5397, 5415, 5423, 5431, 2816, 2790, 2821, 2796, 2831,
956 2799, 2831, 2802, 2843, 2845, 2843, 2858, 2906, 5441, 2868,
957 2869, 5461, 5508, 2855, 7795, 7795, 2832, 2859, 7795, 7795,
958 2838, 7795, 2880, 2898, 7795, 2897, 2898, 5426, 7795, 2857,
959 2858, 2865, 5449, 2918, 2920, 2887, 5481, 2926, 3036, 5489,
960 7795, 7795, 5497, 3039, 3057, 7795, 2942, 7795, 2957, 7795,
961 2967, 7795, 2965, 7795, 7795, 7795, 7795, 2973, 3008, 2983,
963 3000, 3048, 3002, 5519, 2998, 3004, 3016, 3009, 7795, 7795,
964 7795, 7795, 5528, 5531, 5534, 3042, 3007, 3087, 3009, 5539,
965 2998, 3031, 3036, 3068, 3097, 3078, 3108, 3089, 7795, 7795,
966 7795, 7795, 5542, 3121, 3110, 3127, 5557, 3135, 3128, 3149,
967 3138, 5561, 5564, 5572, 5579, 5590, 5593, 3123, 3135, 3147,
968 3135, 3143, 3159, 5601, 5609, 3149, 3172, 3162, 3178, 3166,
969 3174, 3187, 3170, 3185, 3198, 5604, 3201, 7795, 3192, 7795,
970 3198, 5619, 7795, 7795, 5627, 7795, 7795, 5635, 3263, 3293,
971 3196, 3208, 3211, 3214, 3232, 3229, 5643, 7795, 7795, 3235,
972 3232, 3238, 3235, 3256, 3262, 3259, 3261, 3267, 3265, 3301,
974 7795, 3317, 3315, 3304, 3299, 3308, 3304, 3308, 3315, 3315,
975 3318, 3324, 3335, 3340, 3341, 3349, 3360, 3361, 3372, 3378,
976 3377, 3387, 3390, 3426, 7795, 7795, 3378, 3402, 3386, 3414,
977 3410, 3408, 3425, 3420, 3422, 3441, 3430, 3448, 3441, 3458,
978 3451, 3454, 3482, 3471, 3472, 3498, 3504, 3489, 3489, 3504,
979 3504, 3522, 3513, 3547, 3528, 3522, 3551, 3529, 3562, 3532,
980 3563, 3547, 3543, 3575, 3557, 3554, 3587, 3593, 3568, 3573,
981 3571, 3576, 3605, 3581, 7795, 3611, 3605, 7795, 3609, 7795,
982 3611, 7795, 3647, 3622, 7795, 3647, 3633, 7795, 3659, 3644,
983 3657, 3651, 3665, 7795, 3666, 7795, 3674, 3683, 3685, 7795,
985 3686, 7795, 3701, 5651, 3707, 3734, 3722, 3741, 3707, 3713,
986 3714, 3725, 3727, 3733, 5654, 3773, 7795, 3775, 7795, 3779,
987 3781, 3785, 3794, 3802, 3800, 3802, 3821, 7795, 7795, 7795,
988 7795, 7795, 7795, 7795, 7795, 3797, 3823, 3928, 3963, 3819,
989 3824, 3836, 3845, 3818, 3850, 3972, 3996, 3961, 3978, 3792,
990 3954, 3864, 3990, 3974, 4027, 4031, 4041, 4022, 4042, 4078,
991 4083, 4157, 4183, 4105, 4107, 4047, 4155, 4108, 4232, 4175,
992 4237, 4123, 4191, 4128, 4198, 4197, 4219, 4277, 4295, 4172,
993 4272, 4275, 4301, 4303, 4351, 3999, 4025, 4354, 4362, 4339,
994 4370, 4391, 4413, 4329, 4389, 4361, 4425, 4428, 4551, 4120,
996 4430, 4296, 4337, 4479, 4535, 4565, 4585, 4279, 4522, 4411,
997 4473, 4555, 4582, 4053, 4182, 4583, 4612, 4482, 4405, 5662,
998 5665, 7795, 7795, 5685, 5694, 5703, 5712, 5721, 5730, 5739,
999 5748, 5757, 5766, 5775, 5784, 5793, 5802, 5811, 5820, 5829,
1000 5838, 5847, 5856, 5865, 5874, 5883, 5892, 5901, 5910, 5919,
1001 5928, 5937, 5946, 5955, 5964, 5973, 5982, 5991, 6000, 6009,
1002 6018, 6027, 6036, 6043, 6050, 6057, 6064, 6071, 6078, 6085,
1003 6092, 6099, 6106, 6113, 6120, 6127, 6134, 6141, 6148, 6155,
1004 6162, 6171, 6178, 6183, 6190, 6195, 6202, 6207, 6214, 6219,
1005 6226, 6231, 6236, 6243, 6248, 6255, 6260, 6267, 6272, 6279,
1007 6284, 6291, 6296, 6303, 6308, 6315, 6320, 6327, 6332, 6339,
1008 6344, 6351, 6356, 6363, 6368, 6375, 6380, 6389, 6395, 6402,
1009 6410, 6417, 6425, 6432, 6440, 6447, 6455, 6462, 6470, 6477,
1010 6485, 6492, 6500, 6507, 6515, 6522, 6530, 6537, 6545, 6553,
1011 6561, 6569, 6577, 6584, 6592, 6600, 6608, 6615, 6623, 6630,
1012 6638, 6646, 6653, 6661, 6670, 6676, 6683, 6691, 6699, 6707,
1013 6714, 6722, 6729, 6737, 6744, 6752, 6759, 6767, 6774, 6782,
1014 6789, 6797, 6804, 6812, 6819, 6827, 6834, 6842, 6849, 6857,
1015 6864, 6872, 6879, 6887, 6894, 6902, 6909, 6917, 6925, 6932,
1016 6940, 6949, 6958, 6965, 6973, 6980, 6988, 6995, 7003, 7010,
1018 7018, 7025, 7032, 7040, 7047, 7055, 7062, 7070, 7077, 7085,
1019 7092, 7100, 7107, 7115, 7122, 7130, 7137, 7145, 7152, 7160,
1020 7167, 7175, 7183, 7191, 7199, 7207, 7215, 7224, 7233, 7240,
1021 7248, 7255, 7263, 7270, 7278, 7285, 7293, 7300, 7307, 7315,
1022 7322, 7330, 7337, 7345, 7352, 7360, 7367, 7375, 7382, 7390,
1023 7398, 7406, 7413, 7421, 7429, 7437, 7444, 7452, 7460, 7468,
1024 7476, 7485, 7494, 7502, 7510, 7517, 7525, 7532, 7540, 7548,
1025 7556, 7563, 7570, 7577, 7585, 7592, 7599, 7607, 7614, 7621,
1026 7629, 7636, 7644, 7651, 7659, 7667, 7674, 7682, 7690, 7698,
1027 7707, 7716, 7724, 7731, 7740, 7749, 7758, 7767, 7776, 7785
1031 static yyconst flex_int16_t yy_def[2701] =
1033 2424, 2424, 2425, 2425, 2425, 2425, 2426, 2426, 2427, 2427,
1034 2428, 2428, 2429, 2429, 2429, 2429, 2430, 2430, 2424, 2424,
1035 2431, 2431, 2432, 2432, 2432, 2432, 2424, 2424, 2432, 2432,
1036 2432, 2432, 2424, 2424, 2432, 2432, 2424, 2424, 2432, 2432,
1037 2432, 2432, 2433, 2433, 2429, 2429, 2434, 2434, 2435, 2435,
1038 2424, 2424, 2435, 2435, 2435, 2435, 2436, 2436, 2437, 2437,
1039 2438, 2438, 2439, 2439, 2439, 2439, 2424, 2424, 2439, 2439,
1040 2439, 2439, 2424, 2424, 2439, 2439, 2424, 2424, 2439, 2439,
1041 2439, 2439, 2424, 2424, 2439, 2439, 2424, 2424, 2439, 2439,
1042 2439, 2439, 2440, 2440, 2441, 2441, 2424, 2424, 2441, 2441,
1044 2441, 2441, 2423, 103, 2442, 2442, 2423, 107, 2443, 2443,
1045 2444, 2444, 2445, 2445, 2446, 2446, 2447, 2447, 2424, 2424,
1046 2447, 2447, 2447, 2447, 2448, 2448, 2449, 2449, 2424, 2424,
1047 2449, 2449, 2449, 2449, 2450, 2450, 2451, 2451, 2424, 2424,
1048 2451, 2451, 2451, 2451, 2452, 2452, 2453, 2453, 2454, 2454,
1049 2455, 2455, 2424, 2424, 2455, 2455, 2455, 2455, 2456, 2456,
1050 2457, 2457, 2424, 2424, 2457, 2457, 2457, 2457, 2458, 2458,
1051 2459, 2459, 2460, 2460, 2461, 2461, 2424, 2424, 2461, 2461,
1052 2461, 2461, 2462, 2462, 2463, 2463, 2424, 2424, 2423, 2423,
1053 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1055 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1056 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2464,
1057 2423, 2423, 2464, 2423, 2423, 2423, 226, 226, 228, 226,
1058 229, 229, 2423, 2423, 2423, 2465, 2423, 2423, 2465, 2465,
1059 2465, 2423, 2423, 2423, 2423, 2423, 2466, 2423, 2423, 2466,
1060 2466, 2466, 2466, 2466, 2423, 2423, 229, 229, 229, 2423,
1061 2423, 2423, 2467, 2423, 2423, 2467, 2467, 2467, 2423, 2423,
1062 2423, 2423, 2423, 2423, 2468, 2423, 2423, 2468, 2468, 2468,
1063 2423, 2423, 230, 230, 230, 283, 284, 284, 284, 284,
1064 290, 291, 290, 290, 2423, 2423, 2423, 2469, 2423, 2423,
1066 2469, 2469, 2469, 2469, 2469, 2423, 2423, 229, 229, 2423,
1067 2423, 2423, 2470, 2423, 2423, 2470, 2470, 2470, 2470, 2470,
1068 2470, 2470, 2470, 2423, 2423, 2423, 2423, 2423, 2423, 2471,
1069 2423, 2423, 2471, 2471, 2471, 2471, 2471, 2471, 2471, 2423,
1070 2423, 2423, 2423, 2423, 2423, 2472, 2423, 2423, 2472, 2472,
1071 2423, 2423, 2423, 2423, 2423, 2423, 2473, 2423, 2423, 2473,
1072 2473, 2473, 2473, 2423, 2423, 229, 229, 2423, 2423, 2423,
1073 2474, 2423, 2423, 2474, 2474, 2423, 2423, 229, 378, 378,
1074 2423, 2423, 2423, 2475, 2423, 2423, 2475, 2475, 2475, 2423,
1075 2423, 378, 378, 2423, 2423, 2423, 2476, 2423, 2423, 2476,
1077 2476, 2423, 2423, 2423, 2423, 2423, 2423, 2477, 2423, 2423,
1078 2477, 2477, 2477, 2423, 2423, 378, 378, 2423, 2423, 2423,
1079 2478, 2423, 2423, 2478, 2478, 2478, 2478, 2423, 2423, 229,
1080 430, 430, 2423, 2423, 2423, 2479, 2423, 2423, 2479, 2423,
1081 2423, 2423, 2423, 2423, 2423, 2480, 2423, 2423, 2480, 2423,
1082 2423, 430, 229, 2423, 2423, 2423, 2481, 2423, 2423, 2481,
1083 2481, 2423, 2423, 2423, 2423, 2482, 2423, 2423, 2423, 2423,
1084 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1085 2423, 2483, 2483, 2484, 2423, 2423, 2423, 2423, 2423, 2423,
1086 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1088 2423, 2423, 2423, 2485, 2485, 2485, 2485, 2423, 2486, 2423,
1089 2423, 2487, 2487, 2487, 2487, 2487, 2487, 2487, 2487, 2487,
1090 2488, 2423, 2423, 2489, 2489, 2489, 2489, 2490, 2423, 2491,
1091 2491, 2491, 2491, 2492, 2423, 2423, 2423, 2423, 2423, 2423,
1092 2423, 2423, 2423, 2469, 2469, 2469, 2469, 2469, 2469, 2493,
1093 2423, 2494, 2494, 2494, 2494, 2494, 2494, 2494, 2494, 2494,
1094 2494, 2494, 2494, 2494, 2495, 2423, 2496, 2496, 2496, 2496,
1095 2496, 2496, 2496, 2496, 2496, 2497, 2423, 2498, 2498, 2498,
1096 2499, 2423, 2500, 2500, 2500, 2500, 2500, 2500, 2501, 2423,
1097 2502, 2502, 2502, 2502, 2503, 2423, 2423, 2504, 2504, 2504,
1099 2504, 2504, 2505, 2423, 2506, 2506, 2506, 2507, 2423, 2508,
1100 2508, 2508, 2508, 2509, 2423, 2510, 2510, 2510, 2510, 2510,
1101 2511, 2423, 2423, 2512, 2512, 2513, 2423, 2514, 2514, 2515,
1102 2423, 2516, 2516, 2516, 2517, 2518, 2423, 2518, 2423, 2423,
1103 2423, 2519, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2520,
1104 2521, 2521, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1105 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1106 2423, 2423, 2522, 2423, 2423, 2522, 2423, 2523, 2523, 2423,
1107 2524, 2423, 2423, 2524, 2524, 2524, 2524, 2524, 2524, 2525,
1108 2525, 2423, 2526, 2526, 2526, 2527, 2527, 2528, 2423, 2423,
1110 2528, 2529, 2529, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1111 2423, 2530, 2530, 2530, 2423, 2423, 2530, 2530, 2531, 2531,
1112 2532, 2532, 2423, 2423, 2532, 2423, 2423, 2532, 2532, 2532,
1113 2532, 2532, 2532, 2532, 2533, 2533, 2534, 2534, 2534, 2423,
1114 2423, 2534, 2534, 2534, 2534, 2535, 2535, 2536, 2423, 2423,
1115 2537, 2537, 2538, 2423, 2423, 2538, 2538, 2538, 2539, 2539,
1116 2540, 2540, 2540, 2541, 2541, 2423, 2542, 2542, 2542, 2542,
1117 2543, 2543, 2544, 2423, 2423, 2545, 2545, 2546, 2546, 2546,
1118 2547, 2547, 2548, 2548, 2548, 2548, 2549, 2549, 2423, 2550,
1119 2551, 2551, 2423, 2423, 2552, 2552, 2423, 2423, 2553, 2554,
1121 2554, 2555, 2423, 2423, 2555, 2423, 2423, 2556, 2423, 2423,
1122 2423, 2423, 2423, 2423, 2557, 2423, 2558, 2423, 2558, 2423,
1123 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1124 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1125 2559, 2423, 2423, 2423, 2559, 2423, 2423, 2560, 2423, 2560,
1126 2561, 2423, 2423, 2423, 2423, 2423, 2561, 2423, 2423, 2561,
1127 2561, 2561, 2423, 2562, 2423, 2562, 2423, 2563, 2563, 2563,
1128 2423, 2564, 2423, 2564, 2565, 2423, 2423, 2423, 2565, 2423,
1129 2566, 2423, 2566, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1130 2567, 2567, 2567, 2423, 2423, 2423, 2567, 2567, 2423, 2568,
1132 2423, 2568, 2569, 2569, 2569, 2569, 2423, 2423, 2423, 2569,
1133 2423, 2423, 2423, 2423, 2423, 2569, 2569, 2569, 2569, 2569,
1134 2569, 2423, 2570, 2423, 2570, 2571, 2571, 2571, 2571, 2423,
1135 2423, 2423, 2423, 2423, 2571, 2571, 2571, 2423, 2572, 2423,
1136 2572, 2573, 2423, 2423, 2423, 2423, 2574, 2423, 2574, 2575,
1137 2423, 2423, 2423, 2575, 2575, 2575, 2423, 2576, 2423, 2576,
1138 2423, 2423, 2423, 2423, 2577, 2423, 2578, 2423, 2578, 2423,
1139 2423, 2423, 2579, 2579, 2423, 2423, 2579, 2423, 2580, 2423,
1140 2580, 2581, 2423, 2423, 2423, 2423, 2582, 2423, 2582, 2423,
1141 2423, 2583, 2583, 2423, 2423, 2423, 2584, 2423, 2584, 2585,
1143 2585, 2585, 2585, 2423, 2586, 2423, 2586, 2423, 2587, 2423,
1144 2588, 2423, 2588, 2423, 2423, 2423, 2423, 2589, 2423, 2589,
1145 2423, 2423, 2423, 2590, 2423, 2591, 2423, 2591, 2592, 2593,
1146 2423, 2423, 2423, 2423, 2423, 2594, 2595, 2423, 2423, 2423,
1147 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1148 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2596,
1149 2423, 2597, 2598, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1150 2423, 2598, 2423, 2423, 2598, 2599, 2423, 2600, 2423, 2423,
1151 2600, 2601, 2602, 2602, 2423, 2423, 2423, 2423, 2423, 2423,
1152 2423, 2423, 2423, 2603, 2603, 2423, 2423, 2603, 2603, 2604,
1154 2605, 2605, 2605, 2605, 2423, 2423, 2423, 2423, 2423, 2605,
1155 2605, 2605, 2605, 2605, 2605, 2606, 2607, 2607, 2607, 2607,
1156 2423, 2423, 2423, 2607, 2607, 2607, 2608, 2609, 2610, 2611,
1157 2611, 2611, 2611, 2612, 2423, 2423, 2423, 2423, 2423, 2423,
1158 2613, 2614, 2423, 2423, 2423, 2423, 2615, 2615, 2423, 2423,
1159 2423, 2615, 2616, 2617, 2618, 2423, 2423, 2423, 2619, 2619,
1160 2423, 2423, 2423, 2620, 2621, 2423, 2423, 2621, 2621, 2622,
1161 2423, 2623, 2624, 2625, 2626, 2627, 2628, 2629, 2629, 2423,
1162 2629, 2423, 2423, 2423, 2630, 2631, 2423, 2423, 2423, 2423,
1163 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1165 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1166 2632, 2423, 2633, 2634, 2423, 2423, 2423, 2634, 2423, 2423,
1167 2423, 2634, 2635, 2423, 2636, 2423, 2423, 2423, 2423, 2423,
1168 2637, 2638, 2638, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1169 2639, 2639, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2639,
1170 2640, 2641, 2423, 2423, 2641, 2641, 2423, 2423, 2423, 2423,
1171 2423, 2641, 2641, 2641, 2641, 2641, 2642, 2643, 2423, 2423,
1172 2643, 2643, 2423, 2423, 2643, 2643, 2644, 2645, 2646, 2647,
1173 2647, 2647, 2423, 2423, 2647, 2648, 2649, 2650, 2423, 2651,
1174 2651, 2651, 2652, 2653, 2654, 2655, 2655, 2656, 2657, 2423,
1176 2423, 2423, 2657, 2657, 2658, 2423, 2423, 2423, 2659, 2660,
1177 2423, 2423, 2661, 2662, 2663, 2663, 2423, 2423, 2664, 2665,
1178 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1179 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2666,
1180 2423, 2667, 2668, 2668, 2668, 2669, 2670, 2423, 2423, 2423,
1181 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2671, 2672,
1182 2672, 2423, 2423, 2423, 2423, 2673, 2673, 2423, 2423, 2423,
1183 2423, 2423, 2423, 2673, 2423, 2423, 2674, 2423, 2423, 2423,
1184 2423, 2423, 2674, 2423, 2423, 2423, 2423, 2423, 2674, 2674,
1185 2674, 2423, 2423, 2675, 2676, 2423, 2423, 2423, 2423, 2423,
1187 2676, 2423, 2423, 2423, 2676, 2676, 2423, 2423, 2677, 2678,
1188 2679, 2679, 2679, 2423, 2423, 2423, 2679, 2423, 2423, 2680,
1189 2681, 2423, 2423, 2423, 2423, 2423, 2682, 2683, 2684, 2685,
1190 2423, 2423, 2423, 2423, 2686, 2687, 2687, 2687, 2688, 2423,
1191 2423, 2423, 2423, 2689, 2690, 2423, 2423, 2423, 2423, 2423,
1192 2691, 2692, 2692, 2423, 2423, 2423, 2693, 2423, 2423, 2423,
1193 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1194 2423, 2423, 2423, 2694, 2423, 2423, 2423, 2668, 2423, 2423,
1195 2668, 2669, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1196 2423, 2423, 2423, 2423, 2671, 2672, 2423, 2423, 2423, 2423,
1198 2423, 2673, 2673, 2423, 2423, 2673, 2674, 2423, 2423, 2423,
1199 2674, 2423, 2423, 2423, 2423, 2423, 2674, 2674, 2423, 2423,
1200 2423, 2675, 2676, 2423, 2423, 2423, 2676, 2676, 2676, 2677,
1201 2678, 2679, 2423, 2423, 2679, 2679, 2423, 2423, 2679, 2680,
1202 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2682,
1203 2683, 2684, 2685, 2423, 2423, 2423, 2423, 2423, 2423, 2686,
1204 2687, 2687, 2687, 2688, 2423, 2689, 2690, 2691, 2692, 2692,
1205 2423, 2423, 2423, 2423, 2693, 2423, 2423, 2423, 2423, 2423,
1206 2423, 2423, 2423, 2423, 2423, 2423, 2694, 2423, 2668, 2423,
1207 2423, 2423, 2668, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1209 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2671, 2672,
1210 2423, 2423, 2423, 2423, 2423, 2673, 2673, 2423, 2423, 2423,
1211 2423, 2673, 2674, 2674, 2423, 2423, 2423, 2674, 2674, 2675,
1212 2676, 2676, 2676, 2676, 2677, 2423, 2423, 2679, 2423, 2423,
1213 2423, 2679, 2679, 2423, 2423, 2423, 2423, 2679, 2680, 2423,
1214 2682, 2683, 2684, 2685, 2686, 2423, 2423, 2687, 2687, 2688,
1215 2423, 2689, 2423, 2423, 2691, 2692, 2692, 2423, 2693, 2423,
1216 2423, 2423, 2423, 2423, 2423, 2694, 2423, 2423, 2668, 2423,
1217 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2671,
1218 2672, 2423, 2673, 2673, 2423, 2423, 2423, 2423, 2673, 2674,
1220 2674, 2674, 2674, 2423, 2423, 2676, 2676, 2676, 2676, 2677,
1221 2423, 2423, 2679, 2679, 2679, 2423, 2423, 2423, 2423, 2679,
1222 2680, 2423, 2682, 2423, 2423, 2423, 2423, 2685, 2686, 2423,
1223 2423, 2423, 2423, 2423, 2687, 2423, 2423, 2423, 2689, 2691,
1224 2692, 2692, 2423, 2423, 2423, 2423, 2423, 2694, 2423, 2423,
1225 2423, 2668, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1226 2423, 2423, 2671, 2672, 2423, 2673, 2673, 2423, 2423, 2423,
1227 2423, 2674, 2674, 2674, 2423, 2423, 2676, 2676, 2676, 2423,
1228 2423, 2677, 2423, 2423, 2423, 2679, 2679, 2679, 2423, 2423,
1229 2423, 2423, 2680, 2682, 2423, 2423, 2423, 2423, 2423, 2686,
1231 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2691, 2692, 2692,
1232 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1233 2423, 2668, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1234 2423, 2423, 2671, 2423, 2423, 2423, 2673, 2423, 2423, 2423,
1235 2423, 2423, 2674, 2674, 2674, 2423, 2423, 2423, 2676, 2423,
1236 2423, 2676, 2423, 2423, 2423, 2423, 2423, 2679, 2679, 2679,
1237 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1238 2423, 2423, 2423, 2686, 2423, 2423, 2423, 2691, 2692, 2692,
1239 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1240 2423, 2423, 2423, 2423, 2668, 2423, 2423, 2423, 2423, 2423,
1242 2423, 2423, 2423, 2671, 2423, 2423, 2423, 2423, 2423, 2423,
1243 2673, 2423, 2423, 2423, 2674, 2674, 2674, 2676, 2423, 2423,
1244 2423, 2676, 2423, 2423, 2423, 2679, 2423, 2423, 2679, 2423,
1245 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1246 2423, 2686, 2691, 2692, 2692, 2692, 2423, 2423, 2423, 2423,
1247 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1248 2423, 2423, 2423, 2423, 2423, 2423, 2671, 2423, 2423, 2423,
1249 2673, 2674, 2674, 2674, 2676, 2676, 2679, 2423, 2423, 2423,
1250 2679, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1251 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2691, 2692, 2692,
1253 2692, 2695, 2696, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1254 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1255 2423, 2423, 2671, 2673, 2674, 2674, 2423, 2423, 2676, 2423,
1256 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1257 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2691, 2692, 2697,
1258 2698, 2695, 2696, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1259 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2673,
1260 2674, 2674, 2423, 2423, 2423, 2676, 2423, 2423, 2423, 2423,
1261 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1262 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2691, 2697, 2692,
1264 2699, 2698, 2700, 2692, 2423, 2423, 2423, 2423, 2423, 2423,
1265 2423, 2423, 2673, 2674, 2674, 2423, 2423, 2423, 2423, 2676,
1266 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1267 2423, 2423, 2691, 2699, 2423, 2700, 2692, 2423, 2423, 2423,
1268 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1269 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1270 2423, 2423, 2423, 2423, 2423, 2691, 2423, 2423, 2423, 2423,
1271 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1272 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1273 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2691,
1275 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1276 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1277 2423, 2423, 2423, 2691, 2423, 2423, 2423, 2423, 2423, 2423,
1278 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1279 2423, 2423, 2423, 2423, 2423, 2423, 2691, 2423, 2423, 2423,
1280 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1281 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2691, 2423, 2423,
1282 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1283 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2691, 2423,
1284 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1286 2423, 2423, 2423, 2691, 2423, 2423, 2423, 2423, 2423, 2423,
1287 2423, 2423, 2423, 2423, 2691, 2423, 2423, 2423, 2423, 2423,
1288 2423, 2423, 2423, 2423, 2423, 2691, 2691, 2423, 2423, 2423,
1289 2423, 2423, 2423, 2423, 2423, 2691, 2691, 2691, 2691, 2691,
1290 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691,
1291 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691,
1292 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691,
1293 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691,
1294 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691,
1295 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691,
1297 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691,
1298 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691, 2691,
1299 2691, 2423, 0, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1300 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1301 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1302 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1303 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1304 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1305 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1306 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1308 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1309 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1310 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1311 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1312 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1313 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1314 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1315 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1316 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1317 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1319 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1320 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1321 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1322 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1323 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1324 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1325 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1326 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1327 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
1328 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423
1332 static yyconst flex_int16_t yy_nxt[7868] =
1334 2423, 192, 193, 192, 192, 193, 192, 192, 193, 192,
1335 192, 193, 192, 197, 193, 197, 203, 194, 200, 203,
1336 194, 200, 2423, 195, 2423, 201, 195, 2423, 201, 198,
1337 197, 193, 197, 466, 204, 206, 207, 204, 206, 207,
1338 208, 209, 521, 208, 209, 466, 198, 213, 214, 467,
1339 210, 206, 207, 210, 211, 469, 208, 206, 207, 574,
1340 211, 468, 208, 213, 214, 487, 210, 193, 193, 193,
1341 575, 468, 210, 193, 193, 193, 225, 193, 225, 225,
1342 193, 225, 927, 216, 225, 193, 225, 928, 1536, 216,
1343 489, 215, 226, 522, 534, 226, 465, 465, 465, 495,
1345 227, 465, 465, 465, 465, 465, 465, 215, 217, 218,
1346 193, 218, 217, 217, 217, 217, 217, 217, 217, 219,
1347 217, 217, 217, 2423, 217, 221, 217, 222, 217, 225,
1348 193, 225, 193, 193, 193, 193, 193, 193, 494, 225,
1349 193, 225, 225, 193, 225, 227, 2423, 539, 228, 469,
1350 469, 228, 495, 217, 217, 226, 496, 469, 226, 225,
1351 193, 225, 465, 465, 465, 468, 468, 465, 465, 465,
1352 465, 465, 465, 468, 522, 229, 223, 217, 218, 193,
1353 218, 217, 217, 217, 217, 217, 217, 217, 219, 217,
1354 217, 217, 521, 217, 221, 217, 222, 217, 225, 193,
1356 225, 193, 193, 193, 193, 193, 193, 480, 225, 193,
1357 225, 225, 193, 225, 229, 2423, 484, 230, 1180, 495,
1358 230, 499, 217, 217, 227, 496, 554, 227, 193, 193,
1359 193, 193, 193, 193, 225, 193, 225, 225, 193, 225,
1360 225, 193, 225, 498, 231, 223, 555, 231, 469, 519,
1361 229, 1453, 469, 229, 497, 500, 232, 225, 193, 225,
1362 465, 465, 465, 520, 468, 593, 498, 501, 468, 495,
1363 499, 2423, 594, 232, 233, 234, 193, 234, 233, 233,
1364 233, 233, 233, 233, 233, 235, 233, 233, 233, 1047,
1365 233, 237, 233, 238, 233, 256, 193, 256, 256, 193,
1367 256, 1048, 193, 193, 193, 465, 465, 465, 206, 207,
1368 494, 257, 469, 208, 257, 587, 206, 207, 258, 233,
1369 233, 208, 502, 242, 495, 515, 588, 239, 468, 516,
1370 240, 242, 559, 517, 803, 560, 241, 233, 234, 193,
1371 234, 233, 233, 233, 233, 233, 233, 233, 235, 233,
1372 233, 233, 243, 233, 237, 233, 238, 233, 1537, 1314,
1373 243, 193, 193, 193, 256, 193, 256, 1538, 256, 193,
1374 256, 256, 193, 256, 465, 465, 465, 258, 508, 469,
1375 257, 469, 233, 233, 257, 509, 528, 259, 550, 643,
1376 239, 550, 644, 240, 468, 468, 474, 468, 589, 241,
1378 244, 245, 193, 245, 244, 244, 244, 244, 244, 244,
1379 244, 246, 244, 244, 244, 630, 244, 248, 244, 249,
1380 244, 256, 193, 256, 270, 193, 270, 270, 193, 270,
1381 589, 282, 193, 282, 282, 193, 282, 259, 475, 522,
1382 271, 469, 498, 271, 476, 244, 244, 283, 477, 522,
1383 283, 601, 486, 478, 250, 1539, 251, 468, 602, 252,
1384 465, 465, 465, 595, 253, 254, 244, 245, 193, 245,
1385 244, 244, 244, 244, 244, 244, 244, 246, 244, 244,
1386 244, 498, 244, 248, 244, 249, 244, 282, 193, 282,
1387 282, 193, 282, 193, 193, 193, 562, 193, 193, 193,
1389 282, 193, 282, 284, 803, 469, 284, 563, 564, 285,
1390 596, 244, 244, 285, 498, 603, 286, 465, 465, 465,
1391 250, 468, 251, 614, 1177, 252, 465, 465, 465, 630,
1392 253, 254, 260, 261, 193, 261, 260, 260, 260, 260,
1393 260, 260, 260, 262, 260, 260, 260, 637, 260, 264,
1394 260, 265, 260, 282, 193, 282, 282, 193, 282, 282,
1395 193, 282, 490, 193, 193, 193, 193, 193, 193, 286,
1396 490, 469, 287, 656, 486, 287, 657, 260, 260, 288,
1397 498, 803, 288, 677, 266, 1029, 496, 468, 498, 267,
1398 465, 465, 465, 1540, 2423, 465, 465, 465, 268, 260,
1400 261, 193, 261, 260, 260, 260, 260, 260, 260, 260,
1401 262, 260, 260, 260, 487, 260, 264, 260, 265, 260,
1402 282, 193, 282, 282, 193, 282, 193, 193, 193, 541,
1403 193, 193, 193, 282, 193, 282, 284, 663, 537, 284,
1404 656, 538, 289, 666, 260, 260, 289, 542, 469, 287,
1405 664, 266, 465, 465, 465, 565, 267, 465, 465, 465,
1406 465, 465, 465, 1543, 468, 268, 272, 273, 193, 273,
1407 272, 272, 272, 272, 272, 272, 272, 274, 272, 272,
1408 272, 637, 272, 276, 272, 277, 272, 282, 193, 282,
1409 282, 193, 282, 282, 193, 282, 638, 193, 193, 193,
1411 465, 465, 465, 287, 469, 469, 290, 469, 1550, 290,
1412 1552, 272, 272, 291, 576, 1561, 278, 465, 465, 465,
1413 468, 468, 279, 468, 465, 465, 465, 465, 465, 465,
1414 280, 272, 273, 193, 273, 272, 272, 272, 272, 272,
1415 272, 272, 274, 272, 272, 272, 1562, 272, 276, 272,
1416 277, 272, 193, 193, 193, 282, 193, 282, 282, 193,
1417 282, 1056, 193, 193, 193, 465, 465, 465, 291, 469,
1418 469, 292, 669, 1048, 292, 657, 272, 272, 293, 1563,
1419 1565, 278, 193, 193, 193, 468, 468, 279, 282, 193,
1420 282, 282, 193, 282, 669, 280, 469, 666, 293, 282,
1422 193, 282, 713, 581, 290, 714, 469, 290, 282, 193,
1423 282, 1056, 468, 608, 1180, 294, 465, 465, 465, 465,
1424 465, 465, 468, 1077, 294, 295, 296, 193, 296, 295,
1425 295, 295, 295, 295, 295, 295, 297, 295, 295, 295,
1426 1571, 295, 299, 295, 300, 295, 307, 193, 307, 307,
1427 193, 307, 193, 193, 193, 1452, 193, 193, 193, 465,
1428 465, 465, 308, 469, 469, 308, 1487, 1577, 258, 469,
1429 295, 295, 258, 301, 1488, 302, 465, 465, 465, 468,
1430 468, 303, 465, 465, 465, 468, 1578, 304, 1180, 803,
1431 305, 295, 296, 193, 296, 295, 295, 295, 295, 295,
1433 295, 295, 297, 295, 295, 295, 1451, 295, 299, 295,
1434 300, 295, 307, 193, 307, 307, 193, 307, 307, 193,
1435 307, 1180, 307, 193, 307, 465, 465, 465, 308, 469,
1436 469, 308, 1492, 1570, 309, 803, 295, 295, 309, 301,
1437 1493, 302, 465, 465, 465, 468, 468, 303, 465, 465,
1438 465, 805, 1569, 304, 1580, 1581, 305, 310, 311, 193,
1439 311, 310, 310, 310, 310, 310, 310, 310, 312, 310,
1440 310, 310, 313, 310, 314, 310, 315, 310, 313, 313,
1441 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
1442 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
1444 313, 313, 310, 310, 313, 316, 317, 318, 313, 313,
1445 313, 313, 313, 319, 313, 320, 313, 313, 313, 321,
1446 313, 322, 323, 313, 313, 313, 313, 313, 313, 325,
1447 193, 325, 325, 193, 325, 465, 465, 465, 465, 465,
1448 465, 465, 465, 465, 1583, 326, 1586, 1587, 326, 327,
1449 328, 193, 328, 327, 327, 327, 327, 327, 327, 327,
1450 329, 327, 327, 327, 330, 327, 331, 327, 332, 327,
1451 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
1452 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
1453 330, 330, 330, 330, 327, 327, 330, 333, 334, 335,
1455 330, 330, 330, 330, 330, 336, 330, 337, 330, 330,
1456 330, 338, 330, 330, 339, 330, 330, 330, 330, 330,
1457 330, 341, 193, 341, 341, 193, 341, 465, 465, 465,
1458 465, 465, 465, 803, 621, 1588, 1589, 342, 1593, 1568,
1459 342, 343, 344, 193, 344, 343, 343, 343, 343, 343,
1460 343, 343, 345, 343, 343, 343, 1599, 343, 347, 343,
1461 348, 343, 352, 193, 352, 352, 193, 352, 365, 193,
1462 365, 622, 365, 193, 365, 1600, 469, 667, 353, 1601,
1463 904, 353, 1602, 626, 366, 522, 343, 343, 366, 905,
1464 664, 349, 468, 465, 465, 465, 906, 350, 343, 344,
1466 193, 344, 343, 343, 343, 343, 343, 343, 343, 345,
1467 343, 343, 343, 1603, 343, 347, 343, 348, 343, 193,
1468 193, 193, 193, 193, 193, 365, 193, 365, 1604, 365,
1469 193, 365, 465, 465, 465, 258, 1605, 1606, 258, 1607,
1470 660, 366, 1608, 343, 343, 366, 661, 1610, 349, 465,
1471 465, 465, 662, 1615, 350, 354, 355, 193, 355, 354,
1472 354, 354, 354, 354, 354, 354, 356, 354, 354, 354,
1473 1616, 354, 358, 354, 359, 354, 365, 193, 365, 365,
1474 193, 365, 377, 193, 377, 1617, 377, 193, 377, 193,
1475 193, 193, 367, 1622, 1623, 367, 469, 667, 378, 1624,
1477 354, 354, 378, 635, 360, 379, 465, 465, 465, 1628,
1478 708, 361, 468, 362, 641, 641, 641, 820, 820, 820,
1479 363, 354, 355, 193, 355, 354, 354, 354, 354, 354,
1480 354, 354, 356, 354, 354, 354, 1629, 354, 358, 354,
1481 359, 354, 193, 193, 193, 377, 193, 377, 377, 193,
1482 377, 1618, 377, 193, 377, 377, 193, 377, 379, 1619,
1483 667, 378, 1631, 670, 378, 667, 354, 354, 380, 661,
1484 360, 380, 642, 710, 1632, 671, 1633, 361, 711, 362,
1485 641, 641, 641, 1634, 807, 1635, 363, 368, 369, 193,
1486 369, 368, 368, 368, 368, 368, 368, 368, 370, 368,
1488 368, 368, 1638, 368, 372, 368, 373, 368, 391, 193,
1489 391, 391, 193, 391, 193, 193, 193, 1620, 193, 193,
1490 193, 391, 193, 391, 392, 1621, 1642, 392, 1643, 670,
1491 379, 1648, 368, 368, 379, 661, 660, 392, 374, 670,
1492 1649, 662, 661, 1650, 1651, 661, 1653, 1658, 671, 1659,
1493 1661, 692, 375, 368, 369, 193, 369, 368, 368, 368,
1494 368, 368, 368, 368, 370, 368, 368, 368, 1671, 368,
1495 372, 368, 373, 368, 391, 193, 391, 391, 193, 391,
1496 391, 193, 391, 1644, 403, 193, 403, 403, 193, 403,
1497 392, 1645, 1180, 393, 1646, 1674, 393, 1675, 368, 368,
1499 404, 1676, 1647, 404, 374, 820, 820, 820, 836, 836,
1500 836, 836, 836, 836, 820, 820, 820, 1180, 375, 381,
1501 382, 193, 382, 381, 381, 381, 381, 381, 381, 381,
1502 383, 381, 381, 381, 1666, 381, 385, 381, 386, 381,
1503 415, 193, 415, 415, 193, 415, 193, 193, 193, 1679,
1504 193, 193, 193, 415, 193, 415, 416, 1680, 1681, 416,
1505 1682, 1683, 379, 1667, 381, 381, 379, 1684, 821, 416,
1506 387, 821, 1685, 388, 842, 842, 842, 884, 843, 1686,
1507 1687, 844, 1688, 1689, 389, 381, 382, 193, 382, 381,
1508 381, 381, 381, 381, 381, 381, 383, 381, 381, 381,
1510 1691, 381, 385, 381, 386, 381, 415, 193, 415, 415,
1511 193, 415, 415, 193, 415, 1692, 429, 193, 429, 429,
1512 193, 429, 416, 1348, 1693, 417, 1694, 1695, 417, 1349,
1513 381, 381, 430, 1350, 1696, 430, 387, 1351, 1697, 388,
1514 852, 852, 852, 1698, 853, 1699, 1700, 854, 1701, 1702,
1515 389, 394, 395, 193, 395, 394, 394, 394, 394, 394,
1516 394, 394, 396, 394, 394, 394, 1703, 394, 398, 394,
1517 399, 394, 193, 193, 193, 193, 193, 193, 429, 193,
1518 429, 1706, 429, 193, 429, 429, 193, 429, 431, 1707,
1519 1708, 431, 1709, 1710, 430, 1714, 394, 394, 430, 1715,
1521 1716, 432, 400, 1192, 1192, 1192, 1717, 401, 394, 395,
1522 193, 395, 394, 394, 394, 394, 394, 394, 394, 396,
1523 394, 394, 394, 1718, 394, 398, 394, 399, 394, 429,
1524 193, 429, 441, 193, 441, 441, 193, 441, 1719, 451,
1525 193, 451, 451, 193, 451, 432, 1720, 1721, 442, 1723,
1526 1735, 442, 1745, 394, 394, 452, 1746, 1747, 452, 400,
1527 836, 836, 836, 1180, 401, 405, 406, 193, 406, 405,
1528 405, 405, 405, 405, 405, 405, 407, 405, 405, 405,
1529 1748, 405, 409, 405, 410, 405, 193, 193, 193, 193,
1530 193, 193, 451, 193, 451, 1741, 451, 193, 451, 451,
1532 193, 451, 258, 1352, 1752, 258, 1753, 1754, 452, 1353,
1533 405, 405, 452, 1354, 1755, 453, 411, 1355, 1756, 412,
1534 876, 876, 876, 884, 877, 1757, 1758, 878, 1759, 1760,
1535 413, 405, 406, 193, 406, 405, 405, 405, 405, 405,
1536 405, 405, 407, 405, 405, 405, 1761, 405, 409, 405,
1537 410, 405, 451, 193, 451, 463, 193, 463, 463, 193,
1538 463, 674, 674, 674, 1762, 816, 816, 816, 453, 1764,
1539 1765, 464, 1766, 1767, 464, 1180, 405, 405, 675, 1768,
1540 534, 534, 411, 818, 1769, 412, 1195, 1195, 1195, 1772,
1541 535, 540, 1198, 1198, 1198, 1773, 413, 418, 419, 193,
1543 419, 418, 418, 418, 418, 418, 418, 418, 420, 418,
1544 418, 418, 1742, 418, 422, 418, 423, 418, 536, 536,
1545 500, 682, 682, 682, 537, 1774, 1777, 538, 699, 699,
1546 699, 1778, 498, 539, 715, 715, 715, 1779, 683, 723,
1547 723, 723, 418, 418, 1782, 700, 1205, 1205, 1205, 1786,
1548 424, 716, 425, 1787, 426, 1788, 724, 1193, 1193, 1193,
1549 1789, 1790, 427, 418, 419, 193, 419, 418, 418, 418,
1550 418, 418, 418, 418, 420, 418, 418, 418, 1793, 418,
1551 422, 418, 423, 418, 726, 726, 726, 740, 740, 740,
1552 749, 749, 749, 754, 754, 754, 774, 774, 774, 1794,
1554 1811, 727, 1812, 1194, 741, 803, 1813, 750, 418, 418,
1555 755, 1822, 1823, 775, 1824, 1825, 424, 1826, 425, 1827,
1556 426, 1224, 1224, 1224, 1236, 1236, 1236, 1180, 427, 433,
1557 434, 193, 434, 433, 433, 433, 433, 433, 433, 433,
1558 435, 433, 433, 433, 1808, 433, 437, 433, 438, 433,
1559 793, 793, 793, 797, 797, 797, 674, 674, 674, 847,
1560 847, 847, 816, 816, 816, 1828, 1829, 794, 1830, 1810,
1561 798, 1831, 1832, 675, 433, 433, 1180, 849, 1836, 1837,
1562 818, 894, 894, 894, 1843, 895, 1844, 1845, 896, 907,
1563 907, 907, 1849, 908, 1852, 1858, 909, 439, 433, 434,
1565 193, 434, 433, 433, 433, 433, 433, 433, 433, 435,
1566 433, 433, 433, 1809, 433, 437, 433, 438, 433, 819,
1567 682, 682, 682, 855, 855, 855, 1816, 847, 847, 847,
1568 858, 858, 858, 863, 863, 863, 1817, 683, 1859, 1818,
1569 856, 1860, 1882, 433, 433, 849, 1883, 859, 699, 699,
1570 699, 865, 911, 911, 911, 1887, 912, 1888, 1891, 913,
1571 803, 1892, 1237, 1237, 1237, 700, 439, 443, 444, 193,
1572 444, 443, 443, 443, 443, 443, 443, 443, 445, 443,
1573 443, 443, 1889, 443, 447, 443, 448, 443, 1895, 1878,
1574 850, 1896, 863, 863, 863, 1890, 871, 871, 871, 871,
1576 871, 871, 880, 880, 880, 715, 715, 715, 1194, 1897,
1577 865, 1898, 443, 443, 873, 1899, 1180, 873, 1900, 1901,
1578 882, 1902, 716, 449, 443, 444, 193, 444, 443, 443,
1579 443, 443, 443, 443, 443, 445, 443, 443, 443, 866,
1580 443, 447, 443, 448, 443, 899, 899, 899, 899, 899,
1581 899, 723, 723, 723, 726, 726, 726, 1879, 1903, 880,
1582 880, 880, 874, 901, 1915, 1819, 901, 1916, 724, 443,
1583 443, 727, 930, 930, 930, 1820, 931, 882, 1821, 932,
1584 449, 454, 455, 193, 455, 454, 454, 454, 454, 454,
1585 454, 454, 456, 454, 454, 454, 883, 454, 458, 454,
1587 459, 454, 914, 914, 914, 922, 922, 922, 902, 1917,
1588 1918, 740, 740, 740, 922, 922, 922, 1922, 1926, 915,
1589 938, 938, 938, 924, 1180, 1929, 454, 454, 741, 933,
1590 933, 933, 924, 1192, 1192, 1192, 1936, 460, 940, 1937,
1591 943, 943, 943, 1938, 944, 1939, 934, 945, 1940, 461,
1592 454, 455, 193, 455, 454, 454, 454, 454, 454, 454,
1593 454, 456, 454, 454, 454, 1880, 454, 458, 454, 459,
1594 454, 925, 938, 938, 938, 749, 749, 749, 1868, 946,
1595 946, 946, 946, 946, 946, 754, 754, 754, 1869, 1941,
1596 940, 1947, 750, 1948, 1870, 454, 454, 948, 1949, 803,
1598 948, 1950, 755, 951, 951, 951, 460, 952, 1951, 1952,
1599 953, 957, 957, 957, 957, 957, 957, 1871, 461, 469,
1600 961, 961, 961, 941, 1180, 1953, 484, 1872, 1893, 959,
1601 1954, 1955, 959, 1873, 1956, 468, 485, 962, 963, 963,
1602 963, 1894, 949, 2423, 2423, 2423, 1943, 1959, 966, 966,
1603 966, 971, 971, 971, 1960, 964, 966, 966, 966, 1944,
1604 2423, 1961, 1962, 486, 487, 488, 968, 1963, 972, 960,
1605 489, 1964, 1965, 490, 968, 1966, 1971, 491, 1972, 492,
1606 1973, 493, 2423, 2423, 2423, 975, 975, 975, 1974, 2423,
1607 2423, 2423, 978, 978, 978, 1975, 978, 978, 978, 2423,
1609 1976, 965, 976, 774, 774, 774, 2423, 986, 986, 986,
1610 980, 983, 983, 983, 980, 984, 969, 1977, 985, 1981,
1611 775, 986, 986, 986, 1990, 988, 990, 990, 990, 1193,
1612 1193, 1193, 973, 981, 2423, 2423, 2423, 1991, 1992, 988,
1613 994, 994, 994, 991, 1993, 1982, 974, 977, 996, 996,
1614 996, 2423, 996, 996, 996, 1983, 1994, 995, 1995, 1004,
1615 1004, 1004, 1004, 1004, 1004, 2006, 998, 1010, 1010, 1010,
1616 998, 1010, 1010, 1010, 2007, 1289, 989, 1006, 803, 2008,
1617 1006, 1017, 1017, 1017, 992, 1012, 793, 793, 793, 1012,
1618 1014, 1014, 1014, 2009, 1015, 2010, 2011, 1016, 993, 1019,
1620 1017, 1017, 1017, 794, 797, 797, 797, 1021, 1021, 1021,
1621 1984, 1022, 1998, 1986, 1023, 1025, 1025, 1025, 1019, 2012,
1622 1985, 798, 999, 1987, 2013, 1007, 1025, 1025, 1025, 816,
1623 816, 816, 2017, 1027, 1013, 816, 816, 816, 816, 816,
1624 816, 1058, 1058, 1058, 1027, 2018, 2019, 818, 842, 842,
1625 842, 2020, 843, 818, 2021, 844, 818, 1988, 1059, 2022,
1626 1020, 2423, 2423, 2423, 847, 847, 847, 1989, 847, 847,
1627 847, 2024, 847, 847, 847, 1193, 1193, 1193, 2423, 855,
1628 855, 855, 849, 2025, 2026, 1037, 849, 2029, 2036, 1028,
1629 849, 852, 852, 852, 2037, 853, 856, 2038, 854, 1064,
1631 1064, 1064, 2039, 1065, 2040, 2041, 1066, 1067, 1067, 1067,
1632 858, 858, 858, 1069, 1069, 1069, 2042, 1070, 2043, 1062,
1633 1071, 1060, 2044, 2045, 1068, 2046, 2047, 859, 1073, 1073,
1634 1073, 863, 863, 863, 863, 863, 863, 863, 863, 863,
1635 1079, 1079, 1079, 2054, 2055, 1074, 871, 871, 871, 865,
1636 803, 2056, 865, 2057, 2058, 865, 2059, 1080, 871, 871,
1637 871, 871, 871, 871, 873, 876, 876, 876, 2060, 877,
1638 2061, 2062, 878, 880, 880, 880, 873, 2063, 2064, 873,
1639 880, 880, 880, 1085, 1085, 1085, 1096, 1096, 1096, 2065,
1640 2066, 882, 2048, 894, 894, 894, 1076, 895, 882, 2067,
1642 896, 1086, 2070, 1097, 899, 899, 899, 2071, 1082, 899,
1643 899, 899, 899, 899, 899, 2072, 907, 907, 907, 2076,
1644 908, 2086, 901, 909, 1105, 1105, 1105, 901, 2087, 2088,
1645 901, 911, 911, 911, 2089, 912, 2090, 2091, 913, 2092,
1646 2093, 1106, 914, 914, 914, 1107, 1107, 1107, 2094, 1108,
1647 2095, 2096, 1109, 922, 922, 922, 922, 922, 922, 915,
1648 922, 922, 922, 930, 930, 930, 2097, 931, 2105, 2106,
1649 932, 924, 2107, 2100, 924, 2108, 1100, 2100, 924, 933,
1650 933, 933, 1121, 1121, 1121, 2109, 1122, 2101, 2103, 1123,
1651 938, 938, 938, 938, 938, 938, 934, 938, 938, 938,
1653 943, 943, 943, 2110, 944, 2111, 2112, 945, 940, 2113,
1654 2114, 940, 946, 946, 946, 940, 946, 946, 946, 946,
1655 946, 946, 957, 957, 957, 803, 1116, 957, 957, 957,
1656 948, 951, 951, 951, 948, 952, 2115, 948, 953, 2120,
1657 959, 957, 957, 957, 2116, 959, 2118, 2129, 1127, 961,
1658 961, 961, 2121, 1135, 1135, 1135, 2117, 1136, 2119, 959,
1659 1137, 963, 963, 963, 2122, 2130, 962, 1138, 1138, 1138,
1660 2098, 1139, 2131, 2132, 1140, 966, 966, 966, 964, 966,
1661 966, 966, 971, 971, 971, 1129, 966, 966, 966, 975,
1662 975, 975, 803, 968, 1144, 1144, 1144, 968, 1145, 972,
1664 1134, 1146, 1180, 1181, 968, 2135, 976, 1149, 1149, 1149,
1665 2135, 1150, 2138, 2100, 1151, 978, 978, 978, 978, 978,
1666 978, 978, 978, 978, 983, 983, 983, 2101, 984, 2139,
1667 2140, 985, 2133, 980, 2141, 2150, 980, 2153, 2156, 980,
1668 986, 986, 986, 986, 986, 986, 986, 986, 986, 990,
1669 990, 990, 1142, 1156, 1156, 1156, 2100, 1157, 988, 2157,
1670 1158, 988, 2123, 2148, 988, 2125, 991, 2103, 994, 994,
1671 994, 1161, 1161, 1161, 2124, 1162, 2158, 2126, 1163, 996,
1672 996, 996, 2149, 2127, 1153, 995, 996, 996, 996, 996,
1673 996, 996, 1166, 1166, 1166, 2128, 2159, 998, 1004, 1004,
1675 1004, 1004, 1004, 1004, 998, 1155, 2162, 998, 2151, 1167,
1676 1004, 1004, 1004, 1010, 1010, 1010, 1006, 2165, 2160, 1006,
1677 1010, 1010, 1010, 1010, 1010, 1010, 2135, 2152, 1006, 2163,
1678 2167, 1012, 1014, 1014, 1014, 2135, 1015, 2161, 1012, 1016,
1679 2168, 1012, 1017, 1017, 1017, 1017, 1017, 1017, 2164, 2169,
1680 1164, 1017, 1017, 1017, 1021, 1021, 1021, 2170, 1022, 2171,
1681 1019, 1023, 2181, 1019, 1025, 1025, 1025, 2182, 2183, 1019,
1682 1170, 1025, 1025, 1025, 2184, 2185, 1173, 1025, 1025, 1025,
1683 2186, 2190, 1027, 1179, 1179, 1179, 816, 816, 816, 1027,
1684 1058, 1058, 1058, 2191, 2192, 1027, 1208, 1208, 1208, 2193,
1686 1209, 1180, 1181, 1210, 818, 2194, 2195, 1059, 2196, 2197,
1687 1174, 847, 847, 847, 1064, 1064, 1064, 2198, 1065, 2199,
1688 2201, 1066, 1067, 1067, 1067, 2202, 1215, 1215, 1215, 849,
1689 1216, 2203, 2208, 1217, 1069, 1069, 1069, 1176, 1070, 1068,
1690 2209, 1071, 1073, 1073, 1073, 1219, 1219, 1219, 2210, 1220,
1691 2211, 1186, 1221, 863, 863, 863, 1079, 1079, 1079, 1074,
1692 1213, 1226, 1226, 1226, 2212, 1227, 2213, 2214, 1228, 2215,
1693 2216, 865, 2217, 1080, 1229, 1229, 1229, 871, 871, 871,
1694 1085, 1085, 1085, 1096, 1096, 1096, 1243, 1243, 1243, 2204,
1695 1244, 1230, 2218, 1245, 2219, 873, 2220, 2221, 1086, 2222,
1697 1097, 2205, 2223, 1223, 1246, 1246, 1246, 1248, 1248, 1248,
1698 899, 899, 899, 1253, 1253, 1253, 1105, 1105, 1105, 2206,
1699 803, 1247, 2225, 2226, 1249, 2227, 1231, 2228, 901, 2229,
1700 1254, 2207, 2230, 1106, 1257, 1257, 1257, 2231, 1258, 2232,
1701 2233, 1259, 1107, 1107, 1107, 2224, 1108, 2234, 2235, 1109,
1702 1260, 1260, 1260, 1250, 922, 922, 922, 1269, 1269, 1269,
1703 2236, 1121, 1121, 1121, 2237, 1122, 2238, 1261, 1123, 1273,
1704 1273, 1273, 924, 2239, 1270, 1251, 938, 938, 938, 946,
1705 946, 946, 1283, 1283, 1283, 2240, 1274, 957, 957, 957,
1706 2241, 1135, 1135, 1135, 940, 1136, 2242, 948, 1137, 1284,
1708 1138, 1138, 1138, 2243, 1139, 959, 2244, 1140, 966, 966,
1709 966, 2245, 1144, 1144, 1144, 2246, 1145, 2248, 1267, 1146,
1710 1149, 1149, 1149, 2249, 1150, 2250, 968, 1151, 1285, 978,
1711 978, 978, 986, 986, 986, 2251, 996, 996, 996, 1277,
1712 1166, 1166, 1166, 1286, 1279, 803, 2252, 980, 2253, 2254,
1713 988, 1156, 1156, 1156, 998, 1157, 2255, 1167, 1158, 1161,
1714 1161, 1161, 2256, 1162, 2247, 2257, 1163, 1300, 1300, 1300,
1715 2258, 1301, 2259, 1288, 1302, 1004, 1004, 1004, 1307, 1307,
1716 1307, 2260, 2261, 1298, 1010, 1010, 1010, 2262, 1295, 1293,
1717 1017, 1017, 1017, 1006, 2263, 1308, 1311, 1311, 1311, 1025,
1719 1025, 1025, 1012, 1179, 1179, 1179, 2264, 2265, 1019, 816,
1720 816, 816, 2266, 1312, 1195, 1195, 1195, 1027, 1198, 1198,
1721 1198, 1180, 2267, 803, 1305, 2269, 2270, 818, 1330, 1330,
1722 1330, 1332, 1332, 1332, 1205, 1205, 1205, 1338, 1338, 1338,
1723 2271, 2272, 1310, 2268, 1208, 1208, 1208, 2273, 1209, 2274,
1724 1309, 1210, 2275, 2276, 1315, 847, 847, 847, 2277, 2278,
1725 1313, 1320, 1215, 1215, 1215, 2279, 1216, 2280, 2281, 1217,
1726 1316, 2282, 2283, 849, 1219, 1219, 1219, 1333, 1220, 2284,
1727 2285, 1221, 2286, 1339, 863, 863, 863, 1224, 1224, 1224,
1728 2287, 1331, 1226, 1226, 1226, 2288, 1227, 2290, 2291, 1228,
1730 2292, 2293, 865, 1229, 1229, 1229, 1342, 1356, 1356, 1356,
1731 2294, 1357, 803, 2295, 1358, 871, 871, 871, 2289, 2296,
1732 1230, 1236, 1236, 1236, 1237, 1237, 1237, 1364, 1364, 1364,
1733 1364, 1364, 1364, 873, 1330, 1330, 1330, 2297, 1243, 1243,
1734 1243, 2298, 1244, 2299, 1346, 1245, 1246, 1246, 1246, 1368,
1735 1368, 1368, 2300, 1369, 2301, 2302, 1370, 1248, 1248, 1248,
1736 1371, 1371, 1371, 1247, 1372, 2303, 1359, 1373, 1375, 1375,
1737 1375, 1253, 1253, 1253, 1249, 1378, 1378, 1378, 803, 1379,
1738 2305, 2306, 1380, 1381, 1381, 1381, 1376, 2307, 1254, 2308,
1739 1365, 2309, 2304, 1331, 1257, 1257, 1257, 1365, 1258, 2310,
1741 1382, 1259, 1260, 1260, 1260, 1384, 1384, 1384, 2311, 1385,
1742 2312, 2313, 1386, 1387, 1387, 1387, 1392, 1392, 1392, 1261,
1743 922, 922, 922, 1269, 1269, 1269, 2314, 1396, 1396, 1396,
1744 1388, 1397, 2316, 1393, 1398, 1399, 1399, 1399, 924, 2317,
1745 1270, 1273, 1273, 1273, 1402, 1402, 1402, 2318, 1403, 2319,
1746 2320, 1404, 1400, 1407, 1407, 1407, 2321, 2322, 1274, 946,
1747 946, 946, 1283, 1283, 1283, 1414, 1414, 1414, 2323, 1415,
1748 2324, 1408, 1416, 1418, 1418, 1418, 2325, 948, 2328, 1284,
1749 966, 966, 966, 2329, 2330, 1394, 1423, 1423, 1423, 2331,
1750 2332, 1419, 1425, 1425, 1425, 2423, 2423, 2423, 968, 978,
1752 978, 978, 2333, 1424, 986, 986, 986, 2334, 2335, 1426,
1753 1410, 803, 2423, 1431, 1431, 1431, 803, 980, 1433, 1433,
1754 1433, 803, 988, 996, 996, 996, 1004, 1004, 1004, 2346,
1755 1432, 1421, 1300, 1300, 1300, 1434, 1301, 803, 803, 1302,
1756 803, 998, 803, 803, 1006, 1307, 1307, 1307, 2352, 1532,
1757 1430, 2344, 1441, 1441, 1441, 803, 1442, 2336, 1427, 1443,
1758 2345, 2347, 1308, 2338, 803, 1428, 1010, 1010, 1010, 803,
1759 1017, 1017, 1017, 1311, 1311, 1311, 2337, 1439, 1446, 1446,
1760 1446, 2342, 1447, 803, 1012, 1448, 2343, 1435, 1019, 2339,
1761 1312, 1449, 1449, 1449, 1455, 1455, 1455, 816, 816, 816,
1763 1462, 1462, 1462, 1466, 1466, 1466, 1330, 1330, 1330, 1450,
1764 1530, 1456, 1467, 1467, 1467, 818, 1332, 1332, 1332, 1469,
1765 1469, 1469, 1529, 2354, 1444, 1445, 1470, 1470, 1470, 1338,
1766 1338, 1338, 1476, 1476, 1476, 1479, 1479, 1479, 863, 863,
1767 863, 1483, 1483, 1483, 1356, 1356, 1356, 803, 1357, 1528,
1768 1477, 1358, 1480, 871, 871, 871, 865, 1457, 1484, 1497,
1769 1497, 1497, 1364, 1364, 1364, 1501, 1501, 1501, 1368, 1368,
1770 1368, 873, 1369, 803, 1527, 1370, 1498, 1371, 1371, 1371,
1771 803, 1372, 803, 2348, 1373, 1375, 1375, 1375, 1378, 1378,
1772 1378, 803, 1379, 803, 2340, 1380, 1482, 803, 1523, 1495,
1774 1381, 1381, 1381, 1376, 1508, 1508, 1508, 2349, 1509, 803,
1775 2353, 1510, 1384, 1384, 1384, 803, 1385, 1382, 803, 1386,
1776 1387, 1387, 1387, 1512, 1512, 1512, 2350, 1513, 2356, 2341,
1777 1514, 1515, 1515, 1515, 1392, 1392, 1392, 1388, 1519, 1519,
1778 1519, 803, 1520, 2351, 803, 1521, 803, 2388, 1516, 2355,
1779 803, 1393, 922, 922, 922, 1396, 1396, 1396, 1518, 1397,
1780 803, 803, 1398, 1399, 1399, 1399, 803, 1524, 1524, 1524,
1781 924, 1525, 803, 2389, 1526, 1402, 1402, 1402, 2360, 1403,
1782 1400, 2357, 1404, 1407, 1407, 1407, 946, 946, 946, 1533,
1783 1533, 1533, 1414, 1414, 1414, 2358, 1415, 803, 2361, 1416,
1785 2368, 1408, 803, 1522, 948, 2359, 1534, 1418, 1418, 1418,
1786 1541, 1541, 1541, 1423, 1423, 1423, 1544, 1544, 1544, 2416,
1787 1545, 1517, 1511, 1546, 803, 1419, 803, 803, 1542, 2362,
1788 1424, 1425, 1425, 1425, 2363, 1535, 1547, 1547, 1547, 803,
1789 1548, 1507, 803, 1549, 978, 978, 978, 803, 1426, 1531,
1790 986, 986, 986, 1431, 1431, 1431, 1554, 1554, 1554, 2366,
1791 1555, 2367, 980, 1556, 1433, 1433, 1433, 2364, 988, 2370,
1792 1432, 1557, 1557, 1557, 803, 1558, 803, 2374, 1559, 2402,
1793 2376, 1434, 996, 996, 996, 1004, 1004, 1004, 1441, 1441,
1794 1441, 803, 1442, 2365, 803, 1443, 1010, 1010, 1010, 1553,
1796 998, 803, 803, 1006, 1017, 1017, 1017, 2378, 2369, 1551,
1797 803, 1446, 1446, 1446, 1012, 1447, 803, 803, 1448, 1449,
1798 1449, 1449, 1019, 1455, 1455, 1455, 1572, 1572, 1572, 2379,
1799 1573, 1506, 2382, 1574, 816, 816, 816, 1450, 803, 2372,
1800 1456, 1576, 1576, 1576, 1505, 2375, 1560, 1566, 2417, 1564,
1801 2377, 803, 818, 1579, 1579, 1579, 803, 1567, 1462, 1462,
1802 1462, 1582, 1582, 1582, 1466, 1466, 1466, 1467, 1467, 1467,
1803 1469, 1469, 1469, 1470, 1470, 1470, 1584, 1584, 1584, 1585,
1804 1585, 1585, 1476, 1476, 1476, 1479, 1479, 1479, 1590, 1590,
1805 1590, 803, 1591, 2371, 803, 1592, 803, 1575, 803, 1504,
1807 1477, 2373, 1480, 1594, 1594, 1594, 1483, 1483, 1483, 1596,
1808 1596, 1596, 1503, 1597, 803, 803, 1598, 871, 871, 871,
1809 803, 1595, 803, 1484, 1497, 1497, 1497, 1611, 1611, 1611,
1810 2410, 1612, 2383, 2380, 1613, 873, 1614, 1614, 1614, 2384,
1811 2396, 1498, 1501, 1501, 1501, 1508, 1508, 1508, 803, 1509,
1812 2404, 2381, 1510, 1512, 1512, 1512, 803, 1513, 803, 2386,
1813 1514, 1515, 1515, 1515, 2390, 2385, 1609, 1625, 1625, 1625,
1814 803, 1626, 2391, 803, 1627, 1519, 1519, 1519, 1516, 1520,
1815 803, 803, 1521, 922, 922, 922, 1524, 1524, 1524, 803,
1816 1525, 2405, 2392, 1526, 1636, 1636, 1636, 1533, 1533, 1533,
1818 2397, 924, 1639, 1639, 1639, 1502, 1640, 2387, 803, 1641,
1819 803, 1500, 1637, 2420, 1534, 1541, 1541, 1541, 1544, 1544,
1820 1544, 2412, 1545, 2393, 803, 1546, 2398, 1547, 1547, 1547,
1821 803, 1548, 803, 1542, 1549, 978, 978, 978, 986, 986,
1822 986, 1554, 1554, 1554, 803, 1555, 1630, 803, 1556, 803,
1823 1557, 1557, 1557, 980, 1558, 2394, 988, 1559, 996, 996,
1824 996, 1656, 1656, 1656, 1004, 1004, 1004, 1010, 1010, 1010,
1825 1663, 1663, 1663, 1665, 1665, 1665, 998, 2395, 1657, 1668,
1826 1668, 1668, 1006, 2413, 2400, 1012, 1652, 2420, 1664, 2403,
1827 2399, 803, 803, 1499, 1655, 1572, 1572, 1572, 803, 1573,
1829 1496, 803, 1574, 1654, 816, 816, 816, 1576, 1576, 1576,
1830 1670, 1670, 1670, 1579, 1579, 1579, 1672, 1672, 1672, 1673,
1831 1673, 1673, 818, 1582, 1582, 1582, 1662, 1494, 1660, 1584,
1832 1584, 1584, 1585, 1585, 1585, 1677, 1677, 1677, 1590, 1590,
1833 1590, 803, 1591, 2406, 1491, 1592, 1594, 1594, 1594, 1596,
1834 1596, 1596, 1678, 1597, 803, 1490, 1598, 871, 871, 871,
1835 1489, 1486, 1669, 1485, 1595, 1611, 1611, 1611, 1481, 1612,
1836 803, 1478, 1613, 2411, 803, 873, 1614, 1614, 1614, 1625,
1837 1625, 1625, 1475, 1626, 803, 1474, 1627, 1704, 1704, 1704,
1838 1636, 1636, 1636, 1711, 1711, 1711, 1639, 1639, 1639, 2407,
1840 1640, 803, 803, 1641, 803, 1705, 2414, 2401, 1637, 1473,
1841 1712, 1722, 1722, 1722, 1724, 1724, 1724, 1690, 1726, 1726,
1842 1726, 2408, 986, 986, 986, 996, 996, 996, 1656, 1656,
1843 1656, 803, 1725, 2415, 2418, 1727, 1738, 1738, 1738, 1713,
1844 988, 2409, 1472, 998, 1471, 1657, 1730, 1730, 1730, 1468,
1845 1731, 1465, 1464, 1732, 1733, 1733, 1733, 1736, 1736, 1736,
1846 1010, 1010, 1010, 2419, 1663, 1663, 1663, 1463, 1665, 1665,
1847 1665, 1734, 1668, 1668, 1668, 1737, 1461, 1460, 1012, 1459,
1848 1458, 1728, 1664, 1454, 1440, 1729, 803, 1743, 1743, 1743,
1849 1670, 1670, 1670, 1672, 1672, 1672, 1673, 1673, 1673, 1677,
1851 1677, 1677, 1749, 1749, 1749, 1744, 1750, 1438, 1437, 1751,
1852 871, 871, 871, 1770, 1770, 1770, 1678, 1775, 1775, 1775,
1853 1704, 1704, 1704, 1436, 1429, 1739, 1422, 1420, 873, 1740,
1854 1771, 1780, 1780, 1780, 1776, 1711, 1711, 1711, 1705, 1783,
1855 1783, 1783, 1417, 1784, 1413, 1412, 1785, 1411, 1781, 1791,
1856 1791, 1791, 1712, 1722, 1722, 1722, 1724, 1724, 1724, 1726,
1857 1726, 1726, 1409, 1795, 1795, 1795, 1792, 1796, 1406, 1763,
1858 1797, 1798, 1798, 1798, 1725, 1405, 1727, 996, 996, 996,
1859 1730, 1730, 1730, 1401, 1731, 1395, 1391, 1732, 1390, 1799,
1860 1733, 1733, 1733, 1389, 1383, 998, 1801, 1801, 1801, 1377,
1862 1802, 1374, 1367, 1803, 1804, 1804, 1804, 1734, 1736, 1736,
1863 1736, 1738, 1738, 1738, 1806, 1806, 1806, 1743, 1743, 1743,
1864 1366, 1805, 1814, 1814, 1814, 1363, 1737, 1749, 1749, 1749,
1865 1362, 1750, 1807, 1361, 1751, 1744, 871, 871, 871, 1815,
1866 1834, 1834, 1834, 1800, 1838, 1838, 1838, 1770, 1770, 1770,
1867 1360, 1840, 1840, 1840, 873, 1841, 1347, 1835, 1842, 1345,
1868 1344, 1839, 1343, 1341, 1771, 1775, 1775, 1775, 1846, 1846,
1869 1846, 1340, 1847, 1337, 1336, 1848, 1850, 1850, 1850, 1780,
1870 1780, 1780, 1776, 1853, 1853, 1853, 1335, 1854, 1334, 1329,
1871 1855, 1328, 1327, 1851, 1326, 1833, 1781, 1856, 1856, 1856,
1873 1783, 1783, 1783, 1325, 1784, 1324, 1323, 1785, 1791, 1791,
1874 1791, 1861, 1861, 1861, 1857, 1862, 1322, 1321, 1863, 1864,
1875 1864, 1864, 1866, 1866, 1866, 1792, 1795, 1795, 1795, 1319,
1876 1796, 1318, 1317, 1797, 1180, 1306, 1865, 1304, 1303, 1867,
1877 1798, 1798, 1798, 996, 996, 996, 1801, 1801, 1801, 1299,
1878 1802, 1297, 1296, 1803, 1804, 1804, 1804, 1294, 1799, 1292,
1879 1291, 998, 1875, 1875, 1875, 1290, 1876, 1287, 1282, 1877,
1880 1281, 1805, 1806, 1806, 1806, 1881, 1881, 1881, 1814, 1814,
1881 1814, 1884, 1884, 1884, 1280, 1885, 1278, 1276, 1886, 1275,
1882 1807, 871, 871, 871, 1272, 1815, 1834, 1834, 1834, 1905,
1884 1905, 1905, 1271, 1906, 1268, 1266, 1907, 1265, 1874, 873,
1885 1908, 1908, 1908, 1835, 1909, 1909, 1909, 1838, 1838, 1838,
1886 1912, 1912, 1912, 1264, 1913, 1263, 1262, 1914, 1840, 1840,
1887 1840, 1910, 1841, 1256, 1839, 1842, 1846, 1846, 1846, 1255,
1888 1847, 1252, 1904, 1848, 1850, 1850, 1850, 1919, 1919, 1919,
1889 1242, 1920, 1241, 1240, 1921, 1853, 1853, 1853, 1239, 1854,
1890 1911, 1851, 1855, 1856, 1856, 1856, 1923, 1923, 1923, 1238,
1891 1924, 1235, 1234, 1925, 1927, 1927, 1927, 1861, 1861, 1861,
1892 1857, 1862, 1233, 1232, 1863, 1864, 1864, 1864, 1930, 1930,
1893 1930, 1928, 1931, 1225, 1222, 1932, 1866, 1866, 1866, 1933,
1895 1933, 1933, 1865, 1934, 1218, 1214, 1935, 996, 996, 996,
1896 1875, 1875, 1875, 1867, 1876, 1212, 1211, 1877, 1945, 1945,
1897 1945, 1881, 1881, 1881, 1207, 998, 1884, 1884, 1884, 1206,
1898 1885, 1204, 1203, 1886, 1202, 1946, 1180, 1957, 1957, 1957,
1899 1201, 871, 871, 871, 1905, 1905, 1905, 1200, 1906, 1199,
1900 1197, 1907, 1196, 1191, 1958, 1908, 1908, 1908, 1942, 873,
1901 1909, 1909, 1909, 1968, 1968, 1968, 1190, 1969, 1189, 1188,
1902 1970, 1912, 1912, 1912, 1187, 1913, 1185, 1910, 1914, 1919,
1903 1919, 1919, 1184, 1920, 1183, 1182, 1921, 1923, 1923, 1923,
1904 1967, 1924, 1175, 1172, 1925, 1927, 1927, 1927, 1978, 1978,
1906 1978, 1171, 1979, 1169, 1168, 1980, 1930, 1930, 1930, 1165,
1907 1931, 1160, 1928, 1932, 1933, 1933, 1933, 1159, 1934, 1154,
1908 1152, 1935, 1996, 1996, 1996, 1999, 1999, 1999, 1945, 1945,
1909 1945, 2001, 2001, 2001, 1148, 2002, 1147, 1143, 2003, 1141,
1910 1997, 1133, 2000, 1180, 1132, 1946, 1180, 1131, 1130, 1180,
1911 2004, 2004, 2004, 2005, 2005, 2005, 1957, 1957, 1957, 2014,
1912 2014, 2014, 1128, 2015, 1126, 1125, 2016, 871, 871, 871,
1913 1968, 1968, 1968, 1958, 1969, 1124, 1120, 1970, 2027, 2027,
1914 2027, 2030, 2030, 2030, 1119, 873, 2032, 2032, 2032, 1978,
1915 1978, 1978, 1118, 1979, 1117, 2028, 1980, 1115, 2031, 2034,
1917 2034, 2034, 1114, 2033, 1996, 1996, 1996, 1999, 1999, 1999,
1918 2049, 2049, 2049, 1113, 2050, 1112, 2035, 2051, 1111, 2001,
1919 2001, 2001, 1997, 2002, 2000, 1180, 2003, 1110, 1180, 2004,
1920 2004, 2004, 2023, 2005, 2005, 2005, 1104, 1180, 1178, 1178,
1921 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1103, 1102, 1178,
1922 2068, 2068, 2068, 1101, 1178, 1178, 1178, 1180, 1178, 2014,
1923 2014, 2014, 1099, 2015, 1098, 1095, 2016, 1094, 2069, 2073,
1924 2073, 2073, 1093, 2074, 1092, 1091, 2075, 2027, 2027, 2027,
1925 2030, 2030, 2030, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
1926 1178, 1178, 1178, 1178, 2028, 1090, 1178, 2031, 2032, 2032,
1928 2032, 1178, 1178, 1178, 1180, 1178, 2077, 2077, 2077, 1089,
1929 2078, 1088, 1087, 2079, 1084, 2033, 2080, 2080, 2080, 1083,
1930 2081, 1081, 1078, 2082, 2034, 2034, 2034, 2068, 2068, 2068,
1931 1178, 1178, 2083, 2083, 2083, 1075, 2084, 1072, 1063, 2085,
1932 1061, 2035, 2049, 2049, 2049, 2069, 2050, 1057, 1055, 2051,
1933 2073, 2073, 2073, 1054, 2074, 1053, 1052, 2075, 1051, 1050,
1934 1180, 1178, 1178, 1178, 1178, 1178, 2104, 1178, 1178, 1178,
1935 1049, 1046, 1178, 1045, 1044, 1043, 1042, 1178, 1178, 1178,
1936 1180, 1178, 2077, 2077, 2077, 1041, 2078, 1040, 1039, 2079,
1937 2080, 2080, 2080, 1038, 2081, 1036, 1035, 2082, 2083, 2083,
1939 2083, 1034, 2084, 1033, 1032, 2085, 1178, 1178, 1178, 1178,
1940 1178, 1178, 1178, 1178, 1178, 1178, 2104, 1031, 1030, 1178,
1941 2137, 2137, 2137, 803, 1178, 1178, 1178, 1180, 1178, 2142,
1942 2142, 2142, 2144, 2144, 2144, 2146, 2146, 2146, 1180, 1181,
1943 2154, 2154, 2154, 2166, 2166, 2166, 2143, 1024, 1009, 2145,
1944 1008, 1003, 2147, 1178, 1178, 1002, 1001, 2155, 2137, 2137,
1945 2137, 803, 2142, 2142, 2142, 2172, 2172, 2172, 1000, 2173,
1946 982, 970, 2174, 2144, 2144, 2144, 1180, 956, 955, 2143,
1947 2175, 2175, 2175, 954, 2176, 950, 942, 2177, 937, 936,
1948 2145, 2146, 2146, 2146, 2178, 2178, 2178, 935, 2179, 929,
1950 926, 2180, 2154, 2154, 2154, 2166, 2166, 2166, 2147, 1315,
1951 2187, 2187, 2187, 921, 2188, 920, 919, 2189, 918, 2155,
1952 2172, 2172, 2172, 803, 2173, 917, 916, 2174, 2175, 2175,
1953 2175, 910, 2176, 903, 898, 2177, 2178, 2178, 2178, 897,
1954 2179, 893, 2200, 2180, 2187, 2187, 2187, 892, 2188, 891,
1955 890, 2189, 2315, 2315, 2315, 2315, 2315, 2315, 889, 2326,
1956 888, 887, 2327, 2421, 2421, 2421, 2421, 2421, 2421, 886,
1957 803, 885, 879, 803, 875, 870, 869, 868, 867, 862,
1958 861, 2422, 860, 857, 2422, 190, 190, 190, 190, 190,
1959 190, 190, 190, 190, 191, 191, 191, 191, 191, 191,
1961 191, 191, 191, 196, 196, 196, 196, 196, 196, 196,
1962 196, 196, 199, 199, 199, 199, 199, 199, 199, 199,
1963 199, 202, 202, 202, 202, 202, 202, 202, 202, 202,
1964 205, 205, 205, 205, 205, 205, 205, 205, 205, 212,
1965 212, 212, 212, 212, 212, 212, 212, 212, 220, 220,
1966 220, 220, 220, 220, 220, 220, 220, 224, 224, 224,
1967 224, 224, 224, 224, 224, 224, 236, 236, 236, 236,
1968 236, 236, 236, 236, 236, 247, 247, 247, 247, 247,
1969 247, 247, 247, 247, 255, 255, 255, 255, 255, 255,
1970 255, 255, 255, 263, 263, 263, 263, 263, 263, 263,
1972 263, 263, 269, 269, 269, 269, 269, 269, 269, 269,
1973 269, 275, 275, 275, 275, 275, 275, 275, 275, 275,
1974 281, 281, 281, 281, 281, 281, 281, 281, 281, 298,
1975 298, 298, 298, 298, 298, 298, 298, 298, 306, 306,
1976 306, 306, 306, 306, 306, 306, 306, 324, 324, 324,
1977 324, 324, 324, 324, 324, 324, 340, 340, 340, 340,
1978 340, 340, 340, 340, 340, 346, 346, 346, 346, 346,
1979 346, 346, 346, 346, 351, 351, 351, 351, 351, 351,
1980 351, 351, 351, 357, 357, 357, 357, 357, 357, 357,
1981 357, 357, 364, 364, 364, 364, 364, 364, 364, 364,
1983 364, 371, 371, 371, 371, 371, 371, 371, 371, 371,
1984 376, 376, 376, 376, 376, 376, 376, 376, 376, 384,
1985 384, 384, 384, 384, 384, 384, 384, 384, 390, 390,
1986 390, 390, 390, 390, 390, 390, 390, 397, 397, 397,
1987 397, 397, 397, 397, 397, 397, 402, 402, 402, 402,
1988 402, 402, 402, 402, 402, 408, 408, 408, 408, 408,
1989 408, 408, 408, 408, 414, 414, 414, 414, 414, 414,
1990 414, 414, 414, 421, 421, 421, 421, 421, 421, 421,
1991 421, 421, 428, 428, 428, 428, 428, 428, 428, 428,
1992 428, 436, 436, 436, 436, 436, 436, 436, 436, 436,
1994 440, 440, 440, 440, 440, 440, 440, 440, 440, 446,
1995 446, 446, 446, 446, 446, 446, 446, 446, 450, 450,
1996 450, 450, 450, 450, 450, 450, 450, 457, 457, 457,
1997 457, 457, 457, 457, 457, 457, 462, 462, 462, 462,
1998 462, 462, 462, 462, 462, 482, 482, 482, 851, 846,
1999 845, 482, 504, 504, 504, 841, 840, 839, 504, 512,
2000 512, 512, 838, 837, 835, 512, 524, 524, 524, 834,
2001 833, 832, 524, 530, 530, 530, 831, 830, 829, 530,
2002 544, 544, 544, 828, 827, 826, 544, 552, 552, 552,
2003 825, 824, 823, 552, 567, 567, 567, 822, 815, 814,
2005 567, 578, 578, 578, 813, 812, 811, 578, 583, 583,
2006 583, 810, 809, 806, 583, 591, 591, 591, 804, 803,
2007 801, 591, 598, 598, 598, 799, 796, 792, 598, 605,
2008 605, 605, 790, 789, 788, 605, 610, 610, 610, 786,
2009 785, 784, 610, 616, 616, 616, 783, 782, 780, 616,
2010 624, 624, 624, 779, 778, 777, 624, 628, 628, 628,
2011 773, 772, 770, 628, 632, 632, 632, 769, 768, 767,
2012 632, 636, 636, 636, 636, 636, 636, 636, 766, 636,
2013 482, 482, 482, 765, 763, 762, 482, 651, 761, 760,
2014 758, 651, 504, 504, 504, 757, 756, 753, 504, 678,
2016 752, 748, 747, 678, 512, 512, 512, 745, 744, 743,
2017 512, 690, 742, 739, 738, 690, 524, 524, 524, 737,
2018 736, 734, 524, 696, 733, 732, 731, 696, 530, 530,
2019 530, 730, 729, 728, 530, 702, 725, 722, 721, 702,
2020 719, 720, 718, 717, 719, 552, 552, 552, 712, 709,
2021 707, 552, 735, 706, 705, 704, 735, 567, 567, 567,
2022 703, 701, 698, 567, 746, 697, 695, 694, 746, 578,
2023 578, 578, 693, 691, 689, 578, 751, 688, 687, 686,
2024 751, 583, 583, 583, 685, 684, 681, 583, 759, 680,
2025 679, 676, 759, 591, 591, 591, 673, 672, 668, 591,
2027 764, 665, 659, 658, 764, 598, 598, 598, 655, 654,
2028 653, 598, 771, 652, 650, 649, 771, 605, 605, 605,
2029 648, 647, 646, 605, 776, 645, 640, 637, 776, 610,
2030 610, 610, 639, 634, 633, 610, 781, 631, 629, 627,
2031 781, 616, 616, 616, 625, 623, 2423, 616, 787, 620,
2032 619, 618, 787, 624, 624, 624, 617, 615, 614, 624,
2033 791, 613, 612, 611, 791, 628, 628, 628, 609, 607,
2034 606, 628, 795, 604, 603, 600, 795, 632, 632, 632,
2035 599, 597, 490, 632, 800, 2423, 592, 590, 800, 802,
2036 802, 802, 802, 802, 802, 802, 802, 802, 808, 586,
2038 585, 584, 582, 808, 482, 482, 482, 580, 579, 577,
2039 482, 817, 817, 817, 817, 573, 572, 817, 817, 504,
2040 504, 504, 571, 570, 569, 504, 848, 848, 848, 848,
2041 568, 566, 848, 848, 512, 512, 512, 561, 558, 557,
2042 512, 864, 864, 864, 864, 556, 553, 864, 864, 524,
2043 524, 524, 551, 549, 548, 524, 872, 872, 872, 872,
2044 547, 546, 872, 872, 530, 530, 530, 545, 543, 2423,
2045 530, 881, 881, 881, 881, 496, 538, 881, 881, 544,
2046 544, 544, 533, 532, 531, 544, 900, 900, 900, 900,
2047 529, 527, 900, 900, 552, 552, 552, 526, 525, 523,
2049 552, 923, 923, 923, 923, 518, 514, 923, 923, 567,
2050 567, 567, 513, 511, 510, 567, 939, 939, 939, 939,
2051 507, 506, 939, 939, 578, 578, 578, 505, 503, 498,
2052 578, 947, 947, 947, 947, 2423, 483, 947, 947, 583,
2053 583, 583, 481, 479, 473, 583, 958, 958, 958, 958,
2054 472, 473, 958, 958, 591, 591, 591, 591, 472, 591,
2055 471, 591, 967, 967, 967, 967, 470, 2423, 967, 967,
2056 598, 598, 598, 598, 2423, 598, 2423, 598, 979, 979,
2057 979, 979, 2423, 2423, 979, 979, 605, 605, 605, 2423,
2058 2423, 2423, 605, 987, 987, 987, 987, 2423, 2423, 987,
2060 987, 610, 610, 610, 610, 2423, 610, 2423, 610, 997,
2061 997, 997, 997, 2423, 2423, 997, 997, 616, 616, 616,
2062 2423, 2423, 2423, 616, 1005, 1005, 1005, 1005, 2423, 2423,
2063 1005, 1005, 624, 624, 624, 2423, 2423, 2423, 624, 1011,
2064 1011, 1011, 1011, 2423, 2423, 1011, 1011, 1018, 1018, 1018,
2065 1018, 2423, 2423, 1018, 1018, 632, 632, 632, 2423, 2423,
2066 2423, 632, 1026, 1026, 1026, 1026, 2423, 2423, 1026, 1026,
2067 802, 802, 802, 802, 802, 802, 802, 802, 802, 808,
2068 2423, 808, 2423, 2423, 808, 482, 482, 482, 2423, 2423,
2069 2423, 482, 817, 817, 817, 817, 2423, 2423, 817, 817,
2071 504, 504, 504, 504, 2423, 504, 2423, 504, 848, 848,
2072 848, 848, 2423, 2423, 848, 848, 512, 512, 512, 2423,
2073 2423, 2423, 512, 864, 864, 864, 864, 2423, 2423, 864,
2074 864, 524, 524, 524, 2423, 2423, 2423, 524, 872, 872,
2075 872, 872, 2423, 2423, 872, 872, 530, 530, 530, 2423,
2076 2423, 2423, 530, 881, 881, 881, 881, 2423, 2423, 881,
2077 881, 544, 544, 544, 2423, 2423, 2423, 544, 900, 900,
2078 900, 900, 2423, 2423, 900, 900, 552, 552, 552, 2423,
2079 2423, 2423, 552, 923, 923, 923, 923, 2423, 2423, 923,
2080 923, 567, 567, 567, 2423, 2423, 2423, 567, 939, 939,
2082 939, 939, 2423, 2423, 939, 939, 578, 578, 578, 2423,
2083 2423, 2423, 578, 947, 947, 947, 947, 2423, 2423, 947,
2084 947, 583, 583, 583, 2423, 2423, 2423, 583, 958, 958,
2085 958, 958, 2423, 2423, 958, 958, 591, 591, 591, 2423,
2086 2423, 2423, 591, 967, 967, 967, 967, 2423, 2423, 967,
2087 967, 598, 598, 598, 2423, 2423, 2423, 598, 979, 979,
2088 979, 979, 2423, 2423, 979, 979, 605, 605, 605, 2423,
2089 2423, 2423, 605, 987, 987, 987, 987, 2423, 2423, 987,
2090 987, 610, 610, 610, 2423, 2423, 2423, 610, 997, 997,
2091 997, 997, 2423, 2423, 997, 997, 616, 616, 616, 2423,
2093 2423, 2423, 616, 1005, 1005, 1005, 1005, 2423, 2423, 1005,
2094 1005, 624, 624, 624, 2423, 2423, 2423, 624, 1011, 1011,
2095 1011, 1011, 2423, 2423, 1011, 1011, 1018, 1018, 1018, 1018,
2096 2423, 2423, 1018, 1018, 632, 632, 632, 2423, 2423, 2423,
2097 632, 1026, 1026, 1026, 1026, 2423, 2423, 1026, 1026, 802,
2098 802, 802, 802, 802, 802, 802, 802, 802, 1178, 1178,
2099 1178, 1178, 1178, 1178, 1178, 1178, 1178, 482, 482, 482,
2100 2423, 2423, 2423, 482, 817, 817, 817, 817, 2423, 2423,
2101 817, 817, 504, 504, 504, 2423, 2423, 2423, 504, 848,
2102 848, 848, 848, 2423, 2423, 848, 848, 512, 512, 512,
2104 2423, 2423, 2423, 512, 864, 864, 864, 864, 2423, 2423,
2105 864, 864, 524, 524, 524, 2423, 2423, 2423, 524, 872,
2106 872, 872, 872, 2423, 2423, 872, 872, 530, 530, 530,
2107 2423, 2423, 2423, 530, 544, 544, 544, 2423, 2423, 2423,
2108 544, 900, 900, 900, 900, 2423, 2423, 900, 900, 552,
2109 552, 552, 2423, 2423, 2423, 552, 923, 923, 923, 923,
2110 2423, 2423, 923, 923, 567, 567, 567, 2423, 2423, 2423,
2111 567, 939, 939, 939, 939, 2423, 2423, 939, 939, 578,
2112 578, 578, 2423, 2423, 2423, 578, 947, 947, 947, 947,
2113 2423, 2423, 947, 947, 583, 583, 583, 2423, 2423, 2423,
2115 583, 958, 958, 958, 958, 2423, 2423, 958, 958, 591,
2116 591, 591, 2423, 2423, 2423, 591, 967, 967, 967, 967,
2117 2423, 2423, 967, 967, 598, 598, 598, 2423, 2423, 2423,
2118 598, 979, 979, 979, 979, 2423, 2423, 979, 979, 605,
2119 605, 605, 2423, 2423, 2423, 605, 987, 987, 987, 987,
2120 2423, 2423, 987, 987, 610, 610, 610, 2423, 2423, 2423,
2121 610, 997, 997, 997, 997, 2423, 2423, 997, 997, 616,
2122 616, 616, 2423, 2423, 2423, 616, 1005, 1005, 1005, 1005,
2123 2423, 2423, 1005, 1005, 624, 624, 624, 624, 2423, 624,
2124 2423, 624, 1011, 1011, 1011, 1011, 2423, 2423, 1011, 1011,
2126 1018, 1018, 1018, 1018, 2423, 2423, 1018, 1018, 632, 632,
2127 632, 632, 2423, 632, 2423, 632, 1026, 1026, 1026, 1026,
2128 2423, 2423, 1026, 1026, 802, 802, 802, 802, 802, 802,
2129 802, 802, 802, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
2130 1178, 1178, 482, 482, 482, 2423, 2423, 2423, 482, 817,
2131 817, 817, 817, 2423, 2423, 817, 817, 504, 504, 504,
2132 2423, 2423, 2423, 504, 848, 848, 848, 848, 2423, 2423,
2133 848, 848, 512, 512, 512, 2423, 2423, 2423, 512, 864,
2134 864, 864, 864, 2423, 2423, 864, 864, 524, 524, 524,
2135 2423, 2423, 2423, 524, 872, 872, 872, 872, 2423, 2423,
2137 872, 872, 530, 530, 530, 2423, 2423, 2423, 530, 544,
2138 544, 544, 2423, 2423, 2423, 544, 900, 900, 900, 900,
2139 2423, 2423, 900, 900, 552, 552, 552, 2423, 2423, 2423,
2140 552, 923, 923, 923, 923, 2423, 2423, 923, 923, 567,
2141 567, 567, 2423, 2423, 2423, 567, 939, 939, 939, 939,
2142 2423, 2423, 939, 939, 578, 578, 578, 2423, 2423, 2423,
2143 578, 947, 947, 947, 947, 2423, 2423, 947, 947, 583,
2144 583, 583, 2423, 2423, 2423, 583, 958, 958, 958, 958,
2145 2423, 2423, 958, 958, 591, 591, 591, 2423, 2423, 2423,
2146 591, 967, 967, 967, 967, 2423, 2423, 967, 967, 598,
2148 598, 598, 598, 2423, 598, 2423, 598, 979, 979, 979,
2149 979, 2423, 2423, 979, 979, 605, 605, 605, 2423, 2423,
2150 2423, 605, 987, 987, 987, 987, 2423, 2423, 987, 987,
2151 610, 610, 610, 610, 2423, 610, 2423, 610, 997, 997,
2152 997, 997, 2423, 2423, 997, 997, 616, 616, 616, 2423,
2153 2423, 2423, 616, 1005, 1005, 1005, 1005, 2423, 2423, 1005,
2154 1005, 1011, 1011, 1011, 1011, 2423, 2423, 1011, 1011, 1018,
2155 1018, 1018, 1018, 2423, 2423, 1018, 1018, 1026, 1026, 1026,
2156 1026, 2423, 2423, 1026, 1026, 802, 802, 802, 802, 802,
2157 802, 802, 802, 802, 1178, 1178, 1178, 1178, 1178, 1178,
2159 1178, 1178, 1178, 482, 482, 482, 482, 2423, 482, 2423,
2160 482, 817, 817, 817, 817, 2423, 2423, 817, 817, 504,
2161 504, 504, 2423, 2423, 2423, 504, 848, 848, 848, 848,
2162 2423, 2423, 848, 848, 512, 512, 512, 2423, 2423, 2423,
2163 512, 864, 864, 864, 864, 2423, 2423, 864, 864, 524,
2164 524, 524, 524, 2423, 524, 2423, 524, 872, 872, 872,
2165 872, 2423, 2423, 872, 872, 530, 530, 530, 2423, 2423,
2166 2423, 530, 544, 544, 544, 2423, 2423, 2423, 544, 552,
2167 552, 552, 2423, 2423, 2423, 552, 923, 923, 923, 923,
2168 2423, 2423, 923, 923, 567, 567, 567, 2423, 2423, 2423,
2170 567, 578, 578, 578, 2423, 2423, 2423, 578, 947, 947,
2171 947, 947, 2423, 2423, 947, 947, 583, 583, 583, 2423,
2172 2423, 2423, 583, 591, 591, 591, 2423, 2423, 2423, 591,
2173 967, 967, 967, 967, 2423, 2423, 967, 967, 598, 598,
2174 598, 2423, 2423, 2423, 598, 979, 979, 979, 979, 2423,
2175 2423, 979, 979, 605, 605, 605, 2423, 2423, 2423, 605,
2176 987, 987, 987, 987, 2423, 2423, 987, 987, 997, 997,
2177 997, 997, 2423, 2423, 997, 997, 616, 616, 616, 2423,
2178 2423, 2423, 616, 1005, 1005, 1005, 1005, 2423, 2423, 1005,
2179 1005, 1011, 1011, 1011, 1011, 2423, 2423, 1011, 1011, 1018,
2181 1018, 1018, 1018, 2423, 2423, 1018, 1018, 802, 802, 802,
2182 802, 802, 802, 802, 802, 802, 1178, 1178, 1178, 1178,
2183 1178, 1178, 1178, 1178, 1178, 817, 817, 817, 817, 2423,
2184 2423, 817, 817, 504, 504, 504, 2423, 2423, 2423, 504,
2185 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2053,
2186 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2053, 2099, 2099,
2187 2099, 2099, 2099, 2099, 2099, 2099, 2099, 2102, 2102, 2102,
2188 2102, 2102, 2102, 2102, 2102, 2102, 2134, 2134, 2134, 2134,
2189 2134, 2134, 2134, 2134, 2134, 2136, 2136, 2136, 2136, 2136,
2190 2136, 2136, 2136, 2136, 189, 2423, 2423, 2423, 2423, 2423,
2192 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
2193 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
2194 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
2195 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
2196 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
2197 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
2198 2423, 2423, 2423, 2423, 2423, 2423, 2423
2201 static yyconst flex_int16_t yy_chk[7868] =
2203 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2204 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2205 4, 10, 0, 5, 0, 9, 6, 288, 10, 7,
2206 8, 8, 8, 194, 11, 13, 13, 12, 14, 14,
2207 13, 13, 257, 14, 14, 195, 8, 17, 17, 194,
2208 13, 15, 15, 14, 15, 198, 15, 16, 16, 339,
2209 16, 195, 16, 18, 18, 288, 15, 19, 19, 19,
2210 339, 198, 16, 20, 20, 20, 23, 23, 23, 24,
2211 24, 24, 738, 19, 25, 25, 25, 738, 1413, 20,
2212 286, 17, 23, 257, 292, 24, 192, 192, 192, 286,
2214 25, 193, 193, 193, 197, 197, 197, 18, 21, 21,
2215 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2216 21, 21, 21, 258, 21, 21, 21, 21, 21, 26,
2217 26, 26, 27, 27, 27, 28, 28, 28, 227, 29,
2218 29, 29, 30, 30, 30, 26, 289, 292, 27, 216,
2219 221, 28, 227, 21, 21, 29, 289, 237, 30, 31,
2220 31, 31, 218, 218, 218, 216, 221, 225, 225, 225,
2221 234, 234, 234, 237, 258, 31, 21, 22, 22, 22,
2222 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2223 22, 22, 259, 22, 22, 22, 22, 22, 32, 32,
2225 32, 33, 33, 33, 34, 34, 34, 216, 35, 35,
2226 35, 36, 36, 36, 32, 228, 229, 33, 1316, 294,
2227 34, 294, 22, 22, 35, 228, 317, 36, 37, 37,
2228 37, 38, 38, 38, 39, 39, 39, 40, 40, 40,
2229 41, 41, 41, 259, 37, 22, 317, 38, 248, 254,
2230 39, 1316, 264, 40, 228, 229, 41, 42, 42, 42,
2231 245, 245, 245, 254, 248, 375, 228, 229, 264, 229,
2232 228, 230, 375, 42, 43, 43, 43, 43, 43, 43,
2233 43, 43, 43, 43, 43, 43, 43, 43, 43, 830,
2234 43, 43, 43, 43, 43, 49, 49, 49, 50, 50,
2236 50, 830, 51, 51, 51, 256, 256, 256, 45, 45,
2237 230, 49, 276, 45, 50, 363, 46, 46, 51, 43,
2238 43, 46, 230, 45, 230, 252, 363, 43, 276, 252,
2239 43, 46, 321, 252, 1177, 321, 43, 44, 44, 44,
2240 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2241 44, 44, 45, 44, 44, 44, 44, 44, 1415, 1177,
2242 46, 52, 52, 52, 53, 53, 53, 1416, 54, 54,
2243 54, 55, 55, 55, 261, 261, 261, 52, 242, 271,
2244 53, 299, 44, 44, 54, 242, 271, 55, 308, 475,
2245 44, 309, 475, 44, 242, 271, 208, 299, 366, 44,
2247 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
2248 47, 47, 47, 47, 47, 452, 47, 47, 47, 47,
2249 47, 56, 56, 56, 59, 59, 59, 60, 60, 60,
2250 367, 63, 63, 63, 64, 64, 64, 56, 208, 308,
2251 59, 314, 309, 60, 208, 47, 47, 63, 208, 366,
2252 64, 389, 452, 208, 47, 1417, 47, 314, 389, 47,
2253 270, 270, 270, 378, 47, 47, 48, 48, 48, 48,
2254 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
2255 48, 367, 48, 48, 48, 48, 48, 65, 65, 65,
2256 66, 66, 66, 67, 67, 67, 323, 68, 68, 68,
2258 69, 69, 69, 65, 1029, 331, 66, 323, 323, 67,
2259 378, 48, 48, 68, 378, 393, 69, 273, 273, 273,
2260 48, 331, 48, 417, 1029, 48, 282, 282, 282, 453,
2261 48, 48, 57, 57, 57, 57, 57, 57, 57, 57,
2262 57, 57, 57, 57, 57, 57, 57, 508, 57, 57,
2263 57, 57, 57, 70, 70, 70, 71, 71, 71, 72,
2264 72, 72, 393, 73, 73, 73, 74, 74, 74, 70,
2265 417, 347, 71, 488, 432, 72, 488, 57, 57, 73,
2266 453, 805, 74, 508, 57, 805, 290, 347, 432, 57,
2267 296, 296, 296, 1420, 291, 307, 307, 307, 57, 58,
2269 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2270 58, 58, 58, 58, 290, 58, 58, 58, 58, 58,
2271 75, 75, 75, 76, 76, 76, 77, 77, 77, 290,
2272 78, 78, 78, 79, 79, 79, 75, 492, 291, 76,
2273 494, 291, 77, 494, 58, 58, 78, 291, 326, 79,
2274 492, 58, 311, 311, 311, 326, 58, 325, 325, 325,
2275 328, 328, 328, 1422, 326, 58, 61, 61, 61, 61,
2276 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
2277 61, 466, 61, 61, 61, 61, 61, 80, 80, 80,
2278 81, 81, 81, 82, 82, 82, 466, 83, 83, 83,
2280 341, 341, 341, 80, 358, 372, 81, 342, 1427, 82,
2281 1429, 61, 61, 83, 342, 1436, 61, 344, 344, 344,
2282 358, 372, 61, 342, 352, 352, 352, 355, 355, 355,
2283 61, 62, 62, 62, 62, 62, 62, 62, 62, 62,
2284 62, 62, 62, 62, 62, 62, 1437, 62, 62, 62,
2285 62, 62, 84, 84, 84, 85, 85, 85, 86, 86,
2286 86, 839, 87, 87, 87, 365, 365, 365, 84, 385,
2287 398, 85, 497, 839, 86, 497, 62, 62, 87, 1438,
2288 1440, 62, 88, 88, 88, 385, 398, 62, 89, 89,
2289 89, 90, 90, 90, 500, 62, 353, 500, 88, 91,
2291 91, 91, 546, 353, 89, 546, 404, 90, 92, 92,
2292 92, 867, 353, 404, 1315, 91, 369, 369, 369, 377,
2293 377, 377, 404, 867, 92, 93, 93, 93, 93, 93,
2294 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
2295 1454, 93, 93, 93, 93, 93, 95, 95, 95, 96,
2296 96, 96, 97, 97, 97, 1315, 98, 98, 98, 382,
2297 382, 382, 95, 409, 422, 96, 1350, 1459, 97, 437,
2298 93, 93, 98, 93, 1350, 93, 391, 391, 391, 409,
2299 422, 93, 395, 395, 395, 437, 1460, 93, 1453, 1314,
2300 93, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2302 94, 94, 94, 94, 94, 94, 1314, 94, 94, 94,
2303 94, 94, 99, 99, 99, 100, 100, 100, 101, 101,
2304 101, 1452, 102, 102, 102, 403, 403, 403, 99, 447,
2305 458, 100, 1354, 1453, 101, 638, 94, 94, 102, 94,
2306 1354, 94, 406, 406, 406, 447, 458, 94, 415, 415,
2307 415, 638, 1452, 94, 1463, 1464, 94, 103, 103, 103,
2308 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2309 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2310 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2311 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2313 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2314 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2315 103, 103, 103, 103, 103, 103, 103, 103, 103, 105,
2316 105, 105, 106, 106, 106, 419, 419, 419, 429, 429,
2317 429, 434, 434, 434, 1468, 105, 1473, 1474, 106, 107,
2318 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2319 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2320 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2321 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2322 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2324 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2325 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2326 107, 109, 109, 109, 110, 110, 110, 441, 441, 441,
2327 444, 444, 444, 1451, 430, 1475, 1478, 109, 1481, 1451,
2328 110, 111, 111, 111, 111, 111, 111, 111, 111, 111,
2329 111, 111, 111, 111, 111, 111, 1485, 111, 111, 111,
2330 111, 111, 113, 113, 113, 114, 114, 114, 117, 117,
2331 117, 430, 118, 118, 118, 1486, 442, 495, 113, 1487,
2332 722, 114, 1488, 442, 117, 430, 111, 111, 118, 722,
2333 495, 111, 442, 451, 451, 451, 722, 111, 112, 112,
2335 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
2336 112, 112, 112, 1489, 112, 112, 112, 112, 112, 119,
2337 119, 119, 120, 120, 120, 121, 121, 121, 1490, 122,
2338 122, 122, 455, 455, 455, 119, 1491, 1492, 120, 1493,
2339 491, 121, 1494, 112, 112, 122, 491, 1496, 112, 463,
2340 463, 463, 491, 1500, 112, 115, 115, 115, 115, 115,
2341 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
2342 1502, 115, 115, 115, 115, 115, 123, 123, 123, 124,
2343 124, 124, 127, 127, 127, 1503, 128, 128, 128, 129,
2344 129, 129, 123, 1506, 1507, 124, 464, 539, 127, 1511,
2346 115, 115, 128, 464, 115, 129, 465, 465, 465, 1517,
2347 539, 115, 464, 115, 474, 474, 474, 820, 820, 820,
2348 115, 116, 116, 116, 116, 116, 116, 116, 116, 116,
2349 116, 116, 116, 116, 116, 116, 1518, 116, 116, 116,
2350 116, 116, 130, 130, 130, 131, 131, 131, 132, 132,
2351 132, 1504, 133, 133, 133, 134, 134, 134, 130, 1504,
2352 541, 131, 1523, 498, 132, 542, 116, 116, 133, 498,
2353 116, 134, 474, 541, 1527, 498, 1528, 116, 542, 116,
2354 641, 641, 641, 1529, 641, 1530, 116, 125, 125, 125,
2355 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
2357 125, 125, 1532, 125, 125, 125, 125, 125, 137, 137,
2358 137, 138, 138, 138, 139, 139, 139, 1505, 140, 140,
2359 140, 141, 141, 141, 137, 1505, 1535, 138, 1536, 501,
2360 139, 1539, 125, 125, 140, 501, 502, 141, 125, 522,
2361 1540, 501, 502, 1543, 1550, 522, 1552, 1562, 502, 1563,
2362 1565, 522, 125, 126, 126, 126, 126, 126, 126, 126,
2363 126, 126, 126, 126, 126, 126, 126, 126, 1578, 126,
2364 126, 126, 126, 126, 142, 142, 142, 143, 143, 143,
2365 144, 144, 144, 1537, 147, 147, 147, 148, 148, 148,
2366 142, 1537, 1569, 143, 1538, 1583, 144, 1586, 126, 126,
2368 147, 1587, 1538, 148, 126, 653, 653, 653, 668, 668,
2369 668, 836, 836, 836, 704, 704, 704, 1570, 126, 135,
2370 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
2371 135, 135, 135, 135, 1569, 135, 135, 135, 135, 135,
2372 151, 151, 151, 152, 152, 152, 153, 153, 153, 1593,
2373 154, 154, 154, 155, 155, 155, 151, 1599, 1600, 152,
2374 1601, 1602, 153, 1570, 135, 135, 154, 1603, 653, 155,
2375 135, 668, 1604, 135, 675, 675, 675, 704, 675, 1605,
2376 1606, 675, 1607, 1608, 135, 136, 136, 136, 136, 136,
2377 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
2379 1610, 136, 136, 136, 136, 136, 156, 156, 156, 157,
2380 157, 157, 158, 158, 158, 1615, 161, 161, 161, 162,
2381 162, 162, 156, 1227, 1616, 157, 1617, 1618, 158, 1227,
2382 136, 136, 161, 1227, 1619, 162, 136, 1227, 1620, 136,
2383 683, 683, 683, 1621, 683, 1622, 1623, 683, 1624, 1628,
2384 136, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2385 145, 145, 145, 145, 145, 145, 1629, 145, 145, 145,
2386 145, 145, 163, 163, 163, 164, 164, 164, 165, 165,
2387 165, 1631, 166, 166, 166, 167, 167, 167, 163, 1632,
2388 1633, 164, 1634, 1635, 165, 1642, 145, 145, 166, 1643,
2390 1644, 167, 145, 1043, 1043, 1043, 1645, 145, 146, 146,
2391 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
2392 146, 146, 146, 1646, 146, 146, 146, 146, 146, 168,
2393 168, 168, 171, 171, 171, 172, 172, 172, 1647, 175,
2394 175, 175, 176, 176, 176, 168, 1648, 1649, 171, 1651,
2395 1659, 172, 1671, 146, 146, 175, 1674, 1675, 176, 146,
2396 709, 709, 709, 1666, 146, 149, 149, 149, 149, 149,
2397 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
2398 1676, 149, 149, 149, 149, 149, 177, 177, 177, 178,
2399 178, 178, 179, 179, 179, 1666, 180, 180, 180, 181,
2401 181, 181, 177, 1228, 1679, 178, 1680, 1681, 179, 1228,
2402 149, 149, 180, 1228, 1682, 181, 149, 1228, 1683, 149,
2403 700, 700, 700, 709, 700, 1684, 1685, 700, 1686, 1687,
2404 149, 150, 150, 150, 150, 150, 150, 150, 150, 150,
2405 150, 150, 150, 150, 150, 150, 1688, 150, 150, 150,
2406 150, 150, 182, 182, 182, 185, 185, 185, 186, 186,
2407 186, 506, 506, 506, 1689, 651, 651, 651, 182, 1691,
2408 1692, 185, 1693, 1694, 186, 1667, 150, 150, 506, 1695,
2409 283, 284, 150, 651, 1697, 150, 1045, 1045, 1045, 1700,
2410 283, 284, 1048, 1048, 1048, 1701, 150, 159, 159, 159,
2412 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
2413 159, 159, 1667, 159, 159, 159, 159, 159, 283, 284,
2414 284, 514, 514, 514, 283, 1702, 1706, 283, 532, 532,
2415 532, 1707, 284, 283, 547, 547, 547, 1708, 514, 555,
2416 555, 555, 159, 159, 1710, 532, 1055, 1055, 1055, 1713,
2417 159, 547, 159, 1714, 159, 1715, 555, 1044, 1044, 1044,
2418 1716, 1718, 159, 160, 160, 160, 160, 160, 160, 160,
2419 160, 160, 160, 160, 160, 160, 160, 160, 1721, 160,
2420 160, 160, 160, 160, 557, 557, 557, 571, 571, 571,
2421 580, 580, 580, 585, 585, 585, 607, 607, 607, 1723,
2423 1745, 557, 1746, 1044, 571, 1740, 1747, 580, 160, 160,
2424 585, 1752, 1753, 607, 1754, 1755, 160, 1756, 160, 1757,
2425 160, 1077, 1077, 1077, 1089, 1089, 1089, 1742, 160, 169,
2426 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
2427 169, 169, 169, 169, 1740, 169, 169, 169, 169, 169,
2428 629, 629, 629, 633, 633, 633, 674, 674, 674, 678,
2429 678, 678, 652, 652, 652, 1758, 1759, 629, 1760, 1742,
2430 633, 1761, 1762, 674, 169, 169, 1741, 678, 1765, 1766,
2431 652, 716, 716, 716, 1772, 716, 1773, 1774, 716, 724,
2432 724, 724, 1777, 724, 1779, 1786, 724, 169, 170, 170,
2434 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
2435 170, 170, 170, 1741, 170, 170, 170, 170, 170, 652,
2436 682, 682, 682, 684, 684, 684, 1750, 679, 679, 679,
2437 686, 686, 686, 690, 690, 690, 1750, 682, 1787, 1750,
2438 684, 1788, 1812, 170, 170, 679, 1813, 686, 699, 699,
2439 699, 690, 727, 727, 727, 1816, 727, 1817, 1819, 727,
2440 1808, 1820, 1090, 1090, 1090, 699, 170, 173, 173, 173,
2441 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
2442 173, 173, 1818, 173, 173, 173, 173, 173, 1822, 1808,
2443 679, 1823, 691, 691, 691, 1818, 696, 696, 696, 697,
2445 697, 697, 702, 702, 702, 715, 715, 715, 1090, 1824,
2446 691, 1825, 173, 173, 696, 1826, 1809, 697, 1828, 1829,
2447 702, 1830, 715, 173, 174, 174, 174, 174, 174, 174,
2448 174, 174, 174, 174, 174, 174, 174, 174, 174, 691,
2449 174, 174, 174, 174, 174, 719, 719, 719, 720, 720,
2450 720, 723, 723, 723, 726, 726, 726, 1809, 1831, 703,
2451 703, 703, 697, 719, 1843, 1751, 720, 1844, 723, 174,
2452 174, 726, 741, 741, 741, 1751, 741, 703, 1751, 741,
2453 174, 183, 183, 183, 183, 183, 183, 183, 183, 183,
2454 183, 183, 183, 183, 183, 183, 703, 183, 183, 183,
2456 183, 183, 728, 728, 728, 735, 735, 735, 720, 1845,
2457 1849, 740, 740, 740, 736, 736, 736, 1852, 1858, 728,
2458 746, 746, 746, 735, 1810, 1860, 183, 183, 740, 742,
2459 742, 742, 736, 1192, 1192, 1192, 1868, 183, 746, 1869,
2460 750, 750, 750, 1870, 750, 1871, 742, 750, 1872, 183,
2461 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
2462 184, 184, 184, 184, 184, 1810, 184, 184, 184, 184,
2463 184, 736, 747, 747, 747, 749, 749, 749, 1796, 751,
2464 751, 751, 752, 752, 752, 754, 754, 754, 1796, 1873,
2465 747, 1882, 749, 1883, 1796, 184, 184, 751, 1887, 1878,
2467 752, 1888, 754, 755, 755, 755, 184, 755, 1889, 1890,
2468 755, 759, 759, 759, 760, 760, 760, 1797, 184, 226,
2469 761, 761, 761, 747, 1879, 1891, 226, 1797, 1821, 759,
2470 1892, 1893, 760, 1797, 1894, 226, 226, 761, 762, 762,
2471 762, 1821, 752, 763, 763, 763, 1878, 1896, 764, 764,
2472 764, 767, 767, 767, 1897, 762, 765, 765, 765, 1879,
2473 763, 1898, 1899, 226, 226, 226, 764, 1900, 767, 760,
2474 226, 1901, 1902, 226, 765, 1903, 1911, 226, 1915, 226,
2475 1916, 226, 768, 768, 768, 769, 769, 769, 1917, 770,
2476 770, 770, 771, 771, 771, 1918, 772, 772, 772, 768,
2478 1922, 763, 769, 774, 774, 774, 770, 776, 776, 776,
2479 771, 775, 775, 775, 772, 775, 765, 1926, 775, 1929,
2480 774, 777, 777, 777, 1936, 776, 778, 778, 778, 1143,
2481 1143, 1143, 768, 772, 779, 779, 779, 1937, 1938, 777,
2482 780, 780, 780, 778, 1939, 1931, 768, 770, 781, 781,
2483 781, 779, 782, 782, 782, 1931, 1940, 780, 1941, 787,
2484 787, 787, 788, 788, 788, 1949, 781, 791, 791, 791,
2485 782, 792, 792, 792, 1950, 1143, 777, 787, 1943, 1951,
2486 788, 795, 795, 795, 779, 791, 793, 793, 793, 792,
2487 794, 794, 794, 1952, 794, 1953, 1954, 794, 779, 795,
2489 796, 796, 796, 793, 797, 797, 797, 798, 798, 798,
2490 1932, 798, 1943, 1934, 798, 800, 800, 800, 796, 1955,
2491 1932, 797, 782, 1934, 1956, 788, 801, 801, 801, 816,
2492 816, 816, 1959, 800, 792, 817, 817, 817, 819, 819,
2493 819, 841, 841, 841, 801, 1960, 1962, 816, 842, 842,
2494 842, 1963, 842, 817, 1964, 842, 819, 1935, 841, 1966,
2495 796, 845, 845, 845, 847, 847, 847, 1935, 848, 848,
2496 848, 1971, 850, 850, 850, 1193, 1193, 1193, 845, 855,
2497 855, 855, 847, 1972, 1973, 819, 848, 1975, 1982, 801,
2498 850, 852, 852, 852, 1983, 852, 855, 1984, 852, 856,
2500 856, 856, 1985, 856, 1986, 1987, 856, 857, 857, 857,
2501 858, 858, 858, 859, 859, 859, 1988, 859, 1989, 850,
2502 859, 845, 1990, 1991, 857, 1993, 1994, 858, 861, 861,
2503 861, 863, 863, 863, 864, 864, 864, 866, 866, 866,
2504 869, 869, 869, 2006, 2007, 861, 871, 871, 871, 863,
2505 1998, 2008, 864, 2009, 2010, 866, 2011, 869, 872, 872,
2506 872, 874, 874, 874, 871, 876, 876, 876, 2012, 876,
2507 2013, 2017, 876, 880, 880, 880, 872, 2018, 2019, 874,
2508 881, 881, 881, 883, 883, 883, 893, 893, 893, 2020,
2509 2021, 880, 1998, 894, 894, 894, 866, 894, 881, 2022,
2511 894, 883, 2024, 893, 899, 899, 899, 2025, 874, 900,
2512 900, 900, 902, 902, 902, 2026, 907, 907, 907, 2029,
2513 907, 2036, 899, 907, 910, 910, 910, 900, 2037, 2038,
2514 902, 911, 911, 911, 2039, 911, 2040, 2041, 911, 2042,
2515 2043, 910, 914, 914, 914, 915, 915, 915, 2044, 915,
2516 2045, 2046, 915, 922, 922, 922, 923, 923, 923, 914,
2517 925, 925, 925, 930, 930, 930, 2047, 930, 2054, 2057,
2518 930, 922, 2058, 2050, 923, 2061, 902, 2051, 925, 933,
2519 933, 933, 934, 934, 934, 2063, 934, 2050, 2051, 934,
2520 938, 938, 938, 939, 939, 939, 933, 941, 941, 941,
2522 943, 943, 943, 2064, 943, 2066, 2067, 943, 938, 2070,
2523 2071, 939, 946, 946, 946, 941, 947, 947, 947, 949,
2524 949, 949, 957, 957, 957, 2048, 925, 958, 958, 958,
2525 946, 951, 951, 951, 947, 951, 2072, 949, 951, 2076,
2526 957, 960, 960, 960, 2074, 958, 2075, 2087, 941, 961,
2527 961, 961, 2078, 962, 962, 962, 2074, 962, 2075, 960,
2528 962, 963, 963, 963, 2078, 2089, 961, 964, 964, 964,
2529 2048, 964, 2091, 2093, 964, 966, 966, 966, 963, 967,
2530 967, 967, 971, 971, 971, 949, 969, 969, 969, 975,
2531 975, 975, 2098, 966, 972, 972, 972, 967, 972, 971,
2533 960, 972, 2100, 2100, 969, 2101, 975, 976, 976, 976,
2534 2103, 976, 2105, 2099, 976, 978, 978, 978, 979, 979,
2535 979, 981, 981, 981, 983, 983, 983, 2099, 983, 2106,
2536 2107, 983, 2098, 978, 2108, 2117, 979, 2119, 2121, 981,
2537 986, 986, 986, 987, 987, 987, 989, 989, 989, 990,
2538 990, 990, 969, 991, 991, 991, 2102, 991, 986, 2122,
2539 991, 987, 2079, 2116, 989, 2084, 990, 2102, 994, 994,
2540 994, 995, 995, 995, 2079, 995, 2123, 2084, 995, 996,
2541 996, 996, 2116, 2085, 981, 994, 997, 997, 997, 999,
2542 999, 999, 1001, 1001, 1001, 2085, 2124, 996, 1004, 1004,
2544 1004, 1005, 1005, 1005, 997, 989, 2126, 999, 2118, 1001,
2545 1007, 1007, 1007, 1010, 1010, 1010, 1004, 2128, 2125, 1005,
2546 1011, 1011, 1011, 1013, 1013, 1013, 2134, 2118, 1007, 2127,
2547 2135, 1010, 1014, 1014, 1014, 2136, 1014, 2125, 1011, 1014,
2548 2138, 1013, 1017, 1017, 1017, 1018, 1018, 1018, 2127, 2139,
2549 999, 1020, 1020, 1020, 1021, 1021, 1021, 2140, 1021, 2141,
2550 1017, 1021, 2148, 1018, 1025, 1025, 1025, 2149, 2150, 1020,
2551 1007, 1026, 1026, 1026, 2151, 2152, 1013, 1028, 1028, 1028,
2552 2153, 2156, 1025, 1030, 1030, 1030, 1037, 1037, 1037, 1026,
2553 1058, 1058, 1058, 2157, 2158, 1028, 1059, 1059, 1059, 2159,
2555 1059, 1030, 1030, 1059, 1037, 2160, 2161, 1058, 2162, 2163,
2556 1020, 1062, 1062, 1062, 1064, 1064, 1064, 2164, 1064, 2165,
2557 2167, 1064, 1067, 1067, 1067, 2169, 1068, 1068, 1068, 1062,
2558 1068, 2171, 2181, 1068, 1069, 1069, 1069, 1028, 1069, 1067,
2559 2182, 1069, 1073, 1073, 1073, 1074, 1074, 1074, 2183, 1074,
2560 2184, 1037, 1074, 1076, 1076, 1076, 1079, 1079, 1079, 1073,
2561 1062, 1080, 1080, 1080, 2185, 1080, 2186, 2190, 1080, 2191,
2562 2192, 1076, 2193, 1079, 1081, 1081, 1081, 1082, 1082, 1082,
2563 1085, 1085, 1085, 1096, 1096, 1096, 1097, 1097, 1097, 2179,
2564 1097, 1081, 2194, 1097, 2195, 1082, 2196, 2197, 1085, 2198,
2566 1096, 2179, 2199, 1076, 1098, 1098, 1098, 1099, 1099, 1099,
2567 1100, 1100, 1100, 1102, 1102, 1102, 1105, 1105, 1105, 2180,
2568 2200, 1098, 2202, 2203, 1099, 2204, 1082, 2205, 1100, 2206,
2569 1102, 2180, 2207, 1105, 1106, 1106, 1106, 2208, 1106, 2209,
2570 2210, 1106, 1107, 1107, 1107, 2200, 1107, 2211, 2212, 1107,
2571 1110, 1110, 1110, 1099, 1116, 1116, 1116, 1118, 1118, 1118,
2572 2213, 1121, 1121, 1121, 2214, 1121, 2215, 1110, 1121, 1124,
2573 1124, 1124, 1116, 2216, 1118, 1100, 1127, 1127, 1127, 1129,
2574 1129, 1129, 1133, 1133, 1133, 2217, 1124, 1134, 1134, 1134,
2575 2218, 1135, 1135, 1135, 1127, 1135, 2219, 1129, 1135, 1133,
2577 1138, 1138, 1138, 2220, 1138, 1134, 2221, 1138, 1142, 1142,
2578 1142, 2222, 1144, 1144, 1144, 2223, 1144, 2227, 1116, 1144,
2579 1149, 1149, 1149, 2228, 1149, 2229, 1142, 1149, 1133, 1153,
2580 1153, 1153, 1155, 1155, 1155, 2230, 1164, 1164, 1164, 1127,
2581 1166, 1166, 1166, 1134, 1129, 2224, 2231, 1153, 2232, 2233,
2582 1155, 1156, 1156, 1156, 1164, 1156, 2234, 1166, 1156, 1161,
2583 1161, 1161, 2235, 1161, 2224, 2236, 1161, 1167, 1167, 1167,
2584 2237, 1167, 2238, 1142, 1167, 1170, 1170, 1170, 1172, 1172,
2585 1172, 2239, 2240, 1164, 1173, 1173, 1173, 2241, 1155, 1153,
2586 1174, 1174, 1174, 1170, 2242, 1172, 1175, 1175, 1175, 1176,
2588 1176, 1176, 1173, 1179, 1179, 1179, 2243, 2244, 1174, 1186,
2589 1186, 1186, 2245, 1175, 1195, 1195, 1195, 1176, 1198, 1198,
2590 1198, 1179, 2246, 2247, 1170, 2248, 2249, 1186, 1200, 1200,
2591 1200, 1201, 1201, 1201, 1205, 1205, 1205, 1207, 1207, 1207,
2592 2250, 2251, 1174, 2247, 1208, 1208, 1208, 2252, 1208, 2253,
2593 1173, 1208, 2254, 2255, 1179, 1213, 1213, 1213, 2256, 2257,
2594 1176, 1186, 1215, 1215, 1215, 2258, 1215, 2259, 2260, 1215,
2595 1179, 2261, 2262, 1213, 1219, 1219, 1219, 1201, 1219, 2263,
2596 2264, 1219, 2265, 1207, 1223, 1223, 1223, 1224, 1224, 1224,
2597 2266, 1200, 1226, 1226, 1226, 2267, 1226, 2269, 2270, 1226,
2599 2271, 2272, 1223, 1229, 1229, 1229, 1213, 1230, 1230, 1230,
2600 2273, 1230, 2268, 2274, 1230, 1231, 1231, 1231, 2268, 2276,
2601 1229, 1236, 1236, 1236, 1237, 1237, 1237, 1238, 1238, 1238,
2602 1239, 1239, 1239, 1231, 1240, 1240, 1240, 2277, 1243, 1243,
2603 1243, 2279, 1243, 2281, 1223, 1243, 1246, 1246, 1246, 1247,
2604 1247, 1247, 2283, 1247, 2284, 2286, 1247, 1248, 1248, 1248,
2605 1249, 1249, 1249, 1246, 1249, 2287, 1231, 1249, 1251, 1251,
2606 1251, 1253, 1253, 1253, 1248, 1254, 1254, 1254, 2289, 1254,
2607 2290, 2291, 1254, 1255, 1255, 1255, 1251, 2292, 1253, 2293,
2608 1238, 2295, 2289, 1239, 1257, 1257, 1257, 1240, 1257, 2297,
2610 1255, 1257, 1260, 1260, 1260, 1261, 1261, 1261, 2298, 1261,
2611 2299, 2301, 1261, 1262, 1262, 1262, 1266, 1266, 1266, 1260,
2612 1267, 1267, 1267, 1269, 1269, 1269, 2303, 1270, 1270, 1270,
2613 1262, 1270, 2305, 1266, 1270, 1271, 1271, 1271, 1267, 2306,
2614 1269, 1273, 1273, 1273, 1274, 1274, 1274, 2307, 1274, 2308,
2615 2309, 1274, 1271, 1277, 1277, 1277, 2310, 2311, 1273, 1279,
2616 1279, 1279, 1283, 1283, 1283, 1284, 1284, 1284, 2312, 1284,
2617 2313, 1277, 1284, 1286, 1286, 1286, 2314, 1279, 2316, 1283,
2618 1288, 1288, 1288, 2318, 2320, 1267, 1290, 1290, 1290, 2321,
2619 2322, 1286, 1291, 1291, 1291, 1292, 1292, 1292, 1288, 1293,
2621 1293, 1293, 2323, 1290, 1295, 1295, 1295, 2324, 2325, 1291,
2622 1279, 2350, 1292, 1296, 1296, 1296, 2336, 1293, 1297, 1297,
2623 1297, 2326, 1295, 1298, 1298, 1298, 1305, 1305, 1305, 2344,
2624 1296, 1288, 1300, 1300, 1300, 1297, 1300, 2344, 2340, 1300,
2625 2327, 1298, 2337, 2341, 1305, 1307, 1307, 1307, 2350, 1411,
2626 1295, 2342, 1308, 1308, 1308, 2342, 1308, 2326, 1292, 1308,
2627 2343, 2345, 1307, 2336, 2343, 1293, 1309, 1309, 1309, 2345,
2628 1310, 1310, 1310, 1311, 1311, 1311, 2327, 1305, 1312, 1312,
2629 1312, 2340, 1312, 2352, 1309, 1312, 2341, 1298, 1310, 2337,
2630 1311, 1313, 1313, 1313, 1319, 1319, 1319, 1320, 1320, 1320,
2632 1325, 1325, 1325, 1329, 1329, 1329, 1330, 1330, 1330, 1313,
2633 1409, 1319, 1331, 1331, 1331, 1320, 1332, 1332, 1332, 1334,
2634 1334, 1334, 1406, 2352, 1309, 1310, 1335, 1335, 1335, 1338,
2635 1338, 1338, 1342, 1342, 1342, 1344, 1344, 1344, 1346, 1346,
2636 1346, 1347, 1347, 1347, 1356, 1356, 1356, 2338, 1356, 1405,
2637 1342, 1356, 1344, 1359, 1359, 1359, 1346, 1320, 1347, 1361,
2638 1361, 1361, 1364, 1364, 1364, 1365, 1365, 1365, 1368, 1368,
2639 1368, 1359, 1368, 2351, 1401, 1368, 1361, 1371, 1371, 1371,
2640 2348, 1371, 2339, 2346, 1371, 1375, 1375, 1375, 1378, 1378,
2641 1378, 2346, 1378, 2354, 2338, 1378, 1346, 2349, 1395, 1359,
2643 1381, 1381, 1381, 1375, 1382, 1382, 1382, 2347, 1382, 2353,
2644 2351, 1382, 1384, 1384, 1384, 2347, 1384, 1381, 2386, 1384,
2645 1387, 1387, 1387, 1388, 1388, 1388, 2348, 1388, 2354, 2339,
2646 1388, 1389, 1389, 1389, 1392, 1392, 1392, 1387, 1393, 1393,
2647 1393, 2358, 1393, 2349, 2387, 1393, 2355, 2386, 1389, 2353,
2648 2356, 1392, 1394, 1394, 1394, 1396, 1396, 1396, 1391, 1396,
2649 2357, 2359, 1396, 1399, 1399, 1399, 2366, 1400, 1400, 1400,
2650 1394, 1400, 2414, 2387, 1400, 1402, 1402, 1402, 2358, 1402,
2651 1399, 2355, 1402, 1407, 1407, 1407, 1410, 1410, 1410, 1412,
2652 1412, 1412, 1414, 1414, 1414, 2356, 1414, 2360, 2359, 1414,
2654 2366, 1407, 2361, 1394, 1410, 2357, 1412, 1418, 1418, 1418,
2655 1421, 1421, 1421, 1423, 1423, 1423, 1424, 1424, 1424, 2414,
2656 1424, 1390, 1383, 1424, 2364, 1418, 2365, 2368, 1421, 2360,
2657 1423, 1425, 1425, 1425, 2361, 1412, 1426, 1426, 1426, 2400,
2658 1426, 1377, 2372, 1426, 1428, 1428, 1428, 2374, 1425, 1410,
2659 1430, 1430, 1430, 1431, 1431, 1431, 1432, 1432, 1432, 2364,
2660 1432, 2365, 1428, 1432, 1433, 1433, 1433, 2362, 1430, 2368,
2661 1431, 1434, 1434, 1434, 2367, 1434, 2362, 2372, 1434, 2400,
2662 2374, 1433, 1435, 1435, 1435, 1439, 1439, 1439, 1441, 1441,
2663 1441, 2380, 1441, 2363, 2370, 1441, 1444, 1444, 1444, 1430,
2665 1435, 2415, 2363, 1439, 1445, 1445, 1445, 2376, 2367, 1428,
2666 2373, 1446, 1446, 1446, 1444, 1446, 2376, 2375, 1446, 1449,
2667 1449, 1449, 1445, 1455, 1455, 1455, 1456, 1456, 1456, 2377,
2668 1456, 1374, 2380, 1456, 1457, 1457, 1457, 1449, 2377, 2370,
2669 1455, 1458, 1458, 1458, 1373, 2373, 1435, 1444, 2415, 1439,
2670 2375, 2369, 1457, 1461, 1461, 1461, 2371, 1445, 1462, 1462,
2671 1462, 1465, 1465, 1465, 1466, 1466, 1466, 1467, 1467, 1467,
2672 1469, 1469, 1469, 1470, 1470, 1470, 1471, 1471, 1471, 1472,
2673 1472, 1472, 1476, 1476, 1476, 1479, 1479, 1479, 1480, 1480,
2674 1480, 2381, 1480, 2369, 2382, 1480, 2378, 1457, 2408, 1372,
2676 1476, 2371, 1479, 1482, 1482, 1482, 1483, 1483, 1483, 1484,
2677 1484, 1484, 1367, 1484, 2379, 2402, 1484, 1495, 1495, 1495,
2678 2383, 1482, 2384, 1483, 1497, 1497, 1497, 1498, 1498, 1498,
2679 2408, 1498, 2381, 2378, 1498, 1495, 1499, 1499, 1499, 2382,
2680 2394, 1497, 1501, 1501, 1501, 1508, 1508, 1508, 2394, 1508,
2681 2402, 2379, 1508, 1512, 1512, 1512, 2403, 1512, 2390, 2384,
2682 1512, 1515, 1515, 1515, 2388, 2383, 1495, 1516, 1516, 1516,
2683 2385, 1516, 2389, 2388, 1516, 1519, 1519, 1519, 1515, 1519,
2684 2396, 2389, 1519, 1522, 1522, 1522, 1524, 1524, 1524, 2391,
2685 1524, 2403, 2390, 1524, 1531, 1531, 1531, 1533, 1533, 1533,
2687 2395, 1522, 1534, 1534, 1534, 1366, 1534, 2385, 2395, 1534,
2688 2392, 1363, 1531, 2419, 1533, 1541, 1541, 1541, 1544, 1544,
2689 1544, 2410, 1544, 2391, 2419, 1544, 2396, 1547, 1547, 1547,
2690 2410, 1547, 2393, 1541, 1547, 1551, 1551, 1551, 1553, 1553,
2691 1553, 1554, 1554, 1554, 2397, 1554, 1522, 2398, 1554, 2401,
2692 1557, 1557, 1557, 1551, 1557, 2392, 1553, 1557, 1560, 1560,
2693 1560, 1561, 1561, 1561, 1564, 1564, 1564, 1566, 1566, 1566,
2694 1567, 1567, 1567, 1568, 1568, 1568, 1560, 2393, 1561, 1571,
2695 1571, 1571, 1564, 2411, 2398, 1566, 1551, 2418, 1567, 2401,
2696 2397, 1568, 2411, 1362, 1560, 1572, 1572, 1572, 2404, 1572,
2698 1360, 2418, 1572, 1553, 1575, 1575, 1575, 1576, 1576, 1576,
2699 1577, 1577, 1577, 1579, 1579, 1579, 1580, 1580, 1580, 1581,
2700 1581, 1581, 1575, 1582, 1582, 1582, 1566, 1355, 1564, 1584,
2701 1584, 1584, 1585, 1585, 1585, 1589, 1589, 1589, 1590, 1590,
2702 1590, 2409, 1590, 2404, 1353, 1590, 1594, 1594, 1594, 1596,
2703 1596, 1596, 1589, 1596, 2405, 1352, 1596, 1609, 1609, 1609,
2704 1351, 1349, 1575, 1348, 1594, 1611, 1611, 1611, 1345, 1611,
2705 2399, 1343, 1611, 2409, 2412, 1609, 1614, 1614, 1614, 1625,
2706 1625, 1625, 1341, 1625, 2406, 1340, 1625, 1630, 1630, 1630,
2707 1636, 1636, 1636, 1638, 1638, 1638, 1639, 1639, 1639, 2405,
2709 1639, 2413, 2416, 1639, 2407, 1630, 2412, 2399, 1636, 1339,
2710 1638, 1650, 1650, 1650, 1652, 1652, 1652, 1609, 1653, 1653,
2711 1653, 2406, 1654, 1654, 1654, 1655, 1655, 1655, 1656, 1656,
2712 1656, 2417, 1652, 2413, 2416, 1653, 1661, 1661, 1661, 1638,
2713 1654, 2407, 1337, 1655, 1336, 1656, 1657, 1657, 1657, 1333,
2714 1657, 1328, 1327, 1657, 1658, 1658, 1658, 1660, 1660, 1660,
2715 1662, 1662, 1662, 2417, 1663, 1663, 1663, 1326, 1665, 1665,
2716 1665, 1658, 1668, 1668, 1668, 1660, 1324, 1323, 1662, 1322,
2717 1321, 1654, 1663, 1318, 1306, 1655, 1665, 1669, 1669, 1669,
2718 1670, 1670, 1670, 1672, 1672, 1672, 1673, 1673, 1673, 1677,
2720 1677, 1677, 1678, 1678, 1678, 1669, 1678, 1304, 1303, 1678,
2721 1690, 1690, 1690, 1699, 1699, 1699, 1677, 1703, 1703, 1703,
2722 1704, 1704, 1704, 1299, 1294, 1662, 1289, 1287, 1690, 1665,
2723 1699, 1709, 1709, 1709, 1703, 1711, 1711, 1711, 1704, 1712,
2724 1712, 1712, 1285, 1712, 1282, 1281, 1712, 1280, 1709, 1720,
2725 1720, 1720, 1711, 1722, 1722, 1722, 1724, 1724, 1724, 1726,
2726 1726, 1726, 1278, 1727, 1727, 1727, 1720, 1727, 1276, 1690,
2727 1727, 1728, 1728, 1728, 1724, 1275, 1726, 1729, 1729, 1729,
2728 1730, 1730, 1730, 1272, 1730, 1268, 1265, 1730, 1264, 1728,
2729 1733, 1733, 1733, 1263, 1256, 1729, 1734, 1734, 1734, 1252,
2731 1734, 1250, 1242, 1734, 1735, 1735, 1735, 1733, 1736, 1736,
2732 1736, 1738, 1738, 1738, 1739, 1739, 1739, 1743, 1743, 1743,
2733 1241, 1735, 1748, 1748, 1748, 1235, 1736, 1749, 1749, 1749,
2734 1234, 1749, 1739, 1233, 1749, 1743, 1763, 1763, 1763, 1748,
2735 1764, 1764, 1764, 1729, 1767, 1767, 1767, 1770, 1770, 1770,
2736 1232, 1771, 1771, 1771, 1763, 1771, 1225, 1764, 1771, 1222,
2737 1218, 1767, 1214, 1212, 1770, 1775, 1775, 1775, 1776, 1776,
2738 1776, 1211, 1776, 1206, 1204, 1776, 1778, 1778, 1778, 1780,
2739 1780, 1780, 1775, 1781, 1781, 1781, 1203, 1781, 1202, 1199,
2740 1781, 1197, 1196, 1778, 1194, 1763, 1780, 1782, 1782, 1782,
2742 1783, 1783, 1783, 1191, 1783, 1190, 1189, 1783, 1791, 1791,
2743 1791, 1792, 1792, 1792, 1782, 1792, 1188, 1187, 1792, 1793,
2744 1793, 1793, 1794, 1794, 1794, 1791, 1795, 1795, 1795, 1185,
2745 1795, 1184, 1181, 1795, 1178, 1171, 1793, 1169, 1168, 1794,
2746 1798, 1798, 1798, 1800, 1800, 1800, 1801, 1801, 1801, 1165,
2747 1801, 1160, 1159, 1801, 1804, 1804, 1804, 1154, 1798, 1152,
2748 1148, 1800, 1805, 1805, 1805, 1147, 1805, 1141, 1132, 1805,
2749 1131, 1804, 1806, 1806, 1806, 1811, 1811, 1811, 1814, 1814,
2750 1814, 1815, 1815, 1815, 1130, 1815, 1128, 1126, 1815, 1125,
2751 1806, 1833, 1833, 1833, 1120, 1814, 1834, 1834, 1834, 1835,
2753 1835, 1835, 1119, 1835, 1117, 1115, 1835, 1114, 1800, 1833,
2754 1836, 1836, 1836, 1834, 1837, 1837, 1837, 1838, 1838, 1838,
2755 1839, 1839, 1839, 1113, 1839, 1112, 1111, 1839, 1840, 1840,
2756 1840, 1837, 1840, 1104, 1838, 1840, 1846, 1846, 1846, 1103,
2757 1846, 1101, 1833, 1846, 1850, 1850, 1850, 1851, 1851, 1851,
2758 1095, 1851, 1094, 1093, 1851, 1853, 1853, 1853, 1092, 1853,
2759 1837, 1850, 1853, 1856, 1856, 1856, 1857, 1857, 1857, 1091,
2760 1857, 1088, 1087, 1857, 1859, 1859, 1859, 1861, 1861, 1861,
2761 1856, 1861, 1084, 1083, 1861, 1864, 1864, 1864, 1865, 1865,
2762 1865, 1859, 1865, 1078, 1075, 1865, 1866, 1866, 1866, 1867,
2764 1867, 1867, 1864, 1867, 1072, 1063, 1867, 1874, 1874, 1874,
2765 1875, 1875, 1875, 1866, 1875, 1061, 1060, 1875, 1880, 1880,
2766 1880, 1881, 1881, 1881, 1057, 1874, 1884, 1884, 1884, 1056,
2767 1884, 1054, 1053, 1884, 1052, 1880, 1880, 1895, 1895, 1895,
2768 1051, 1904, 1904, 1904, 1905, 1905, 1905, 1050, 1905, 1049,
2769 1047, 1905, 1046, 1042, 1895, 1908, 1908, 1908, 1874, 1904,
2770 1909, 1909, 1909, 1910, 1910, 1910, 1041, 1910, 1040, 1039,
2771 1910, 1912, 1912, 1912, 1038, 1912, 1036, 1909, 1912, 1919,
2772 1919, 1919, 1035, 1919, 1034, 1033, 1919, 1923, 1923, 1923,
2773 1904, 1923, 1024, 1009, 1923, 1927, 1927, 1927, 1928, 1928,
2775 1928, 1008, 1928, 1003, 1002, 1928, 1930, 1930, 1930, 1000,
2776 1930, 993, 1927, 1930, 1933, 1933, 1933, 992, 1933, 982,
2777 977, 1933, 1942, 1942, 1942, 1944, 1944, 1944, 1945, 1945,
2778 1945, 1946, 1946, 1946, 974, 1946, 973, 970, 1946, 965,
2779 1942, 956, 1944, 1944, 955, 1945, 1945, 954, 950, 1946,
2780 1947, 1947, 1947, 1948, 1948, 1948, 1957, 1957, 1957, 1958,
2781 1958, 1958, 942, 1958, 937, 936, 1958, 1967, 1967, 1967,
2782 1968, 1968, 1968, 1957, 1968, 935, 929, 1968, 1974, 1974,
2783 1974, 1976, 1976, 1976, 928, 1967, 1977, 1977, 1977, 1978,
2784 1978, 1978, 927, 1978, 926, 1974, 1978, 921, 1976, 1981,
2786 1981, 1981, 920, 1977, 1996, 1996, 1996, 1999, 1999, 1999,
2787 2000, 2000, 2000, 919, 2000, 918, 1981, 2000, 917, 2001,
2788 2001, 2001, 1996, 2001, 1999, 1999, 2001, 916, 2000, 2004,
2789 2004, 2004, 1967, 2005, 2005, 2005, 906, 2001, 2002, 2002,
2790 2002, 2002, 2002, 2002, 2002, 2002, 2002, 905, 904, 2002,
2791 2023, 2023, 2023, 903, 2002, 2002, 2002, 2002, 2002, 2014,
2792 2014, 2014, 898, 2014, 897, 892, 2014, 891, 2023, 2028,
2793 2028, 2028, 890, 2028, 889, 888, 2028, 2027, 2027, 2027,
2794 2030, 2030, 2030, 2002, 2002, 2003, 2003, 2003, 2003, 2003,
2795 2003, 2003, 2003, 2003, 2027, 887, 2003, 2030, 2032, 2032,
2797 2032, 2003, 2003, 2003, 2003, 2003, 2031, 2031, 2031, 886,
2798 2031, 885, 884, 2031, 879, 2032, 2033, 2033, 2033, 875,
2799 2033, 870, 868, 2033, 2034, 2034, 2034, 2068, 2068, 2068,
2800 2003, 2003, 2035, 2035, 2035, 862, 2035, 860, 851, 2035,
2801 846, 2034, 2049, 2049, 2049, 2068, 2049, 840, 838, 2049,
2802 2073, 2073, 2073, 837, 2073, 835, 834, 2073, 833, 832,
2803 2049, 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2052,
2804 831, 829, 2052, 828, 827, 826, 825, 2052, 2052, 2052,
2805 2052, 2052, 2077, 2077, 2077, 824, 2077, 823, 822, 2077,
2806 2080, 2080, 2080, 821, 2080, 815, 814, 2080, 2083, 2083,
2808 2083, 813, 2083, 810, 809, 2083, 2052, 2052, 2053, 2053,
2809 2053, 2053, 2053, 2053, 2053, 2053, 2053, 808, 806, 2053,
2810 2104, 2104, 2104, 802, 2053, 2053, 2053, 2053, 2053, 2113,
2811 2113, 2113, 2114, 2114, 2114, 2115, 2115, 2115, 2104, 2104,
2812 2120, 2120, 2120, 2133, 2133, 2133, 2113, 799, 790, 2114,
2813 789, 786, 2115, 2053, 2053, 785, 784, 2120, 2137, 2137,
2814 2137, 2133, 2142, 2142, 2142, 2143, 2143, 2143, 783, 2143,
2815 773, 766, 2143, 2144, 2144, 2144, 2137, 758, 757, 2142,
2816 2145, 2145, 2145, 756, 2145, 753, 748, 2145, 745, 744,
2817 2144, 2146, 2146, 2146, 2147, 2147, 2147, 743, 2147, 739,
2819 737, 2147, 2154, 2154, 2154, 2166, 2166, 2166, 2146, 2137,
2820 2155, 2155, 2155, 734, 2155, 733, 732, 2155, 731, 2154,
2821 2172, 2172, 2172, 2166, 2172, 730, 729, 2172, 2175, 2175,
2822 2175, 725, 2175, 721, 718, 2175, 2178, 2178, 2178, 717,
2823 2178, 714, 2166, 2178, 2187, 2187, 2187, 713, 2187, 712,
2824 711, 2187, 2304, 2304, 2304, 2315, 2315, 2315, 710, 2315,
2825 708, 707, 2315, 2420, 2420, 2420, 2421, 2421, 2421, 706,
2826 2304, 705, 701, 2315, 698, 695, 694, 693, 692, 689,
2827 688, 2420, 687, 685, 2421, 2424, 2424, 2424, 2424, 2424,
2828 2424, 2424, 2424, 2424, 2425, 2425, 2425, 2425, 2425, 2425,
2830 2425, 2425, 2425, 2426, 2426, 2426, 2426, 2426, 2426, 2426,
2831 2426, 2426, 2427, 2427, 2427, 2427, 2427, 2427, 2427, 2427,
2832 2427, 2428, 2428, 2428, 2428, 2428, 2428, 2428, 2428, 2428,
2833 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2429, 2430,
2834 2430, 2430, 2430, 2430, 2430, 2430, 2430, 2430, 2431, 2431,
2835 2431, 2431, 2431, 2431, 2431, 2431, 2431, 2432, 2432, 2432,
2836 2432, 2432, 2432, 2432, 2432, 2432, 2433, 2433, 2433, 2433,
2837 2433, 2433, 2433, 2433, 2433, 2434, 2434, 2434, 2434, 2434,
2838 2434, 2434, 2434, 2434, 2435, 2435, 2435, 2435, 2435, 2435,
2839 2435, 2435, 2435, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
2841 2436, 2436, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437,
2842 2437, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438,
2843 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2439, 2440,
2844 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2441, 2441,
2845 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2442, 2442, 2442,
2846 2442, 2442, 2442, 2442, 2442, 2442, 2443, 2443, 2443, 2443,
2847 2443, 2443, 2443, 2443, 2443, 2444, 2444, 2444, 2444, 2444,
2848 2444, 2444, 2444, 2444, 2445, 2445, 2445, 2445, 2445, 2445,
2849 2445, 2445, 2445, 2446, 2446, 2446, 2446, 2446, 2446, 2446,
2850 2446, 2446, 2447, 2447, 2447, 2447, 2447, 2447, 2447, 2447,
2852 2447, 2448, 2448, 2448, 2448, 2448, 2448, 2448, 2448, 2448,
2853 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2450,
2854 2450, 2450, 2450, 2450, 2450, 2450, 2450, 2450, 2451, 2451,
2855 2451, 2451, 2451, 2451, 2451, 2451, 2451, 2452, 2452, 2452,
2856 2452, 2452, 2452, 2452, 2452, 2452, 2453, 2453, 2453, 2453,
2857 2453, 2453, 2453, 2453, 2453, 2454, 2454, 2454, 2454, 2454,
2858 2454, 2454, 2454, 2454, 2455, 2455, 2455, 2455, 2455, 2455,
2859 2455, 2455, 2455, 2456, 2456, 2456, 2456, 2456, 2456, 2456,
2860 2456, 2456, 2457, 2457, 2457, 2457, 2457, 2457, 2457, 2457,
2861 2457, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458, 2458,
2863 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2459, 2460,
2864 2460, 2460, 2460, 2460, 2460, 2460, 2460, 2460, 2461, 2461,
2865 2461, 2461, 2461, 2461, 2461, 2461, 2461, 2462, 2462, 2462,
2866 2462, 2462, 2462, 2462, 2462, 2462, 2463, 2463, 2463, 2463,
2867 2463, 2463, 2463, 2463, 2463, 2464, 2464, 2464, 681, 677,
2868 676, 2464, 2465, 2465, 2465, 673, 672, 671, 2465, 2466,
2869 2466, 2466, 670, 669, 667, 2466, 2467, 2467, 2467, 666,
2870 665, 664, 2467, 2468, 2468, 2468, 663, 662, 661, 2468,
2871 2469, 2469, 2469, 660, 659, 658, 2469, 2470, 2470, 2470,
2872 657, 656, 655, 2470, 2471, 2471, 2471, 654, 650, 649,
2874 2471, 2472, 2472, 2472, 647, 646, 645, 2472, 2473, 2473,
2875 2473, 644, 643, 639, 2473, 2474, 2474, 2474, 637, 636,
2876 635, 2474, 2475, 2475, 2475, 634, 630, 626, 2475, 2476,
2877 2476, 2476, 625, 622, 621, 2476, 2477, 2477, 2477, 620,
2878 619, 618, 2477, 2478, 2478, 2478, 617, 614, 613, 2478,
2879 2479, 2479, 2479, 612, 611, 608, 2479, 2480, 2480, 2480,
2880 606, 603, 602, 2480, 2481, 2481, 2481, 601, 600, 599,
2881 2481, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 596, 2482,
2882 2483, 2483, 2483, 595, 594, 593, 2483, 2484, 592, 589,
2883 588, 2484, 2485, 2485, 2485, 587, 586, 584, 2485, 2486,
2885 581, 579, 576, 2486, 2487, 2487, 2487, 575, 574, 573,
2886 2487, 2488, 572, 570, 569, 2488, 2489, 2489, 2489, 568,
2887 565, 564, 2489, 2490, 563, 562, 561, 2490, 2491, 2491,
2888 2491, 560, 559, 558, 2491, 2492, 556, 554, 553, 2492,
2889 2493, 550, 549, 548, 2493, 2494, 2494, 2494, 545, 540,
2890 538, 2494, 2495, 537, 536, 535, 2495, 2496, 2496, 2496,
2891 534, 533, 531, 2496, 2497, 528, 527, 526, 2497, 2498,
2892 2498, 2498, 525, 521, 520, 2498, 2499, 519, 518, 517,
2893 2499, 2500, 2500, 2500, 516, 515, 513, 2500, 2501, 510,
2894 509, 507, 2501, 2502, 2502, 2502, 505, 499, 496, 2502,
2896 2503, 493, 490, 489, 2503, 2504, 2504, 2504, 487, 486,
2897 485, 2504, 2505, 484, 483, 480, 2505, 2506, 2506, 2506,
2898 479, 478, 477, 2506, 2507, 476, 470, 469, 2507, 2508,
2899 2508, 2508, 467, 461, 460, 2508, 2509, 456, 449, 445,
2900 2509, 2510, 2510, 2510, 439, 435, 431, 2510, 2511, 427,
2901 426, 425, 2511, 2512, 2512, 2512, 424, 420, 416, 2512,
2902 2513, 413, 412, 411, 2513, 2514, 2514, 2514, 407, 401,
2903 400, 2514, 2515, 396, 392, 388, 2515, 2516, 2516, 2516,
2904 387, 383, 380, 2516, 2517, 379, 374, 370, 2517, 2518,
2905 2518, 2518, 2518, 2518, 2518, 2518, 2518, 2518, 2519, 362,
2907 361, 360, 356, 2519, 2520, 2520, 2520, 350, 349, 345,
2908 2520, 2521, 2521, 2521, 2521, 338, 337, 2521, 2521, 2522,
2909 2522, 2522, 336, 335, 334, 2522, 2523, 2523, 2523, 2523,
2910 333, 329, 2523, 2523, 2524, 2524, 2524, 322, 320, 319,
2911 2524, 2525, 2525, 2525, 2525, 318, 316, 2525, 2525, 2526,
2912 2526, 2526, 312, 305, 304, 2526, 2527, 2527, 2527, 2527,
2913 303, 302, 2527, 2527, 2528, 2528, 2528, 301, 297, 293,
2914 2528, 2529, 2529, 2529, 2529, 287, 285, 2529, 2529, 2530,
2915 2530, 2530, 280, 279, 278, 2530, 2531, 2531, 2531, 2531,
2916 274, 268, 2531, 2531, 2532, 2532, 2532, 267, 266, 262,
2918 2532, 2533, 2533, 2533, 2533, 253, 251, 2533, 2533, 2534,
2919 2534, 2534, 250, 246, 243, 2534, 2535, 2535, 2535, 2535,
2920 241, 240, 2535, 2535, 2536, 2536, 2536, 239, 235, 232,
2921 2536, 2537, 2537, 2537, 2537, 231, 223, 2537, 2537, 2538,
2922 2538, 2538, 219, 215, 214, 2538, 2539, 2539, 2539, 2539,
2923 213, 207, 2539, 2539, 2540, 2540, 2540, 2540, 206, 2540,
2924 204, 2540, 2541, 2541, 2541, 2541, 201, 189, 2541, 2541,
2925 2542, 2542, 2542, 2542, 0, 2542, 0, 2542, 2543, 2543,
2926 2543, 2543, 0, 0, 2543, 2543, 2544, 2544, 2544, 0,
2927 0, 0, 2544, 2545, 2545, 2545, 2545, 0, 0, 2545,
2929 2545, 2546, 2546, 2546, 2546, 0, 2546, 0, 2546, 2547,
2930 2547, 2547, 2547, 0, 0, 2547, 2547, 2548, 2548, 2548,
2931 0, 0, 0, 2548, 2549, 2549, 2549, 2549, 0, 0,
2932 2549, 2549, 2550, 2550, 2550, 0, 0, 0, 2550, 2551,
2933 2551, 2551, 2551, 0, 0, 2551, 2551, 2552, 2552, 2552,
2934 2552, 0, 0, 2552, 2552, 2553, 2553, 2553, 0, 0,
2935 0, 2553, 2554, 2554, 2554, 2554, 0, 0, 2554, 2554,
2936 2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555, 2555, 2556,
2937 0, 2556, 0, 0, 2556, 2557, 2557, 2557, 0, 0,
2938 0, 2557, 2558, 2558, 2558, 2558, 0, 0, 2558, 2558,
2940 2559, 2559, 2559, 2559, 0, 2559, 0, 2559, 2560, 2560,
2941 2560, 2560, 0, 0, 2560, 2560, 2561, 2561, 2561, 0,
2942 0, 0, 2561, 2562, 2562, 2562, 2562, 0, 0, 2562,
2943 2562, 2563, 2563, 2563, 0, 0, 0, 2563, 2564, 2564,
2944 2564, 2564, 0, 0, 2564, 2564, 2565, 2565, 2565, 0,
2945 0, 0, 2565, 2566, 2566, 2566, 2566, 0, 0, 2566,
2946 2566, 2567, 2567, 2567, 0, 0, 0, 2567, 2568, 2568,
2947 2568, 2568, 0, 0, 2568, 2568, 2569, 2569, 2569, 0,
2948 0, 0, 2569, 2570, 2570, 2570, 2570, 0, 0, 2570,
2949 2570, 2571, 2571, 2571, 0, 0, 0, 2571, 2572, 2572,
2951 2572, 2572, 0, 0, 2572, 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,
2954 2576, 2576, 0, 0, 2576, 2576, 2577, 2577, 2577, 0,
2955 0, 0, 2577, 2578, 2578, 2578, 2578, 0, 0, 2578,
2956 2578, 2579, 2579, 2579, 0, 0, 0, 2579, 2580, 2580,
2957 2580, 2580, 0, 0, 2580, 2580, 2581, 2581, 2581, 0,
2958 0, 0, 2581, 2582, 2582, 2582, 2582, 0, 0, 2582,
2959 2582, 2583, 2583, 2583, 0, 0, 0, 2583, 2584, 2584,
2960 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, 2589,
2965 0, 0, 2589, 2589, 2590, 2590, 2590, 0, 0, 0,
2966 2590, 2591, 2591, 2591, 2591, 0, 0, 2591, 2591, 2592,
2967 2592, 2592, 2592, 2592, 2592, 2592, 2592, 2592, 2593, 2593,
2968 2593, 2593, 2593, 2593, 2593, 2593, 2593, 2594, 2594, 2594,
2969 0, 0, 0, 2594, 2595, 2595, 2595, 2595, 0, 0,
2970 2595, 2595, 2596, 2596, 2596, 0, 0, 0, 2596, 2597,
2971 2597, 2597, 2597, 0, 0, 2597, 2597, 2598, 2598, 2598,
2973 0, 0, 0, 2598, 2599, 2599, 2599, 2599, 0, 0,
2974 2599, 2599, 2600, 2600, 2600, 0, 0, 0, 2600, 2601,
2975 2601, 2601, 2601, 0, 0, 2601, 2601, 2602, 2602, 2602,
2976 0, 0, 0, 2602, 2603, 2603, 2603, 0, 0, 0,
2977 2603, 2604, 2604, 2604, 2604, 0, 0, 2604, 2604, 2605,
2978 2605, 2605, 0, 0, 0, 2605, 2606, 2606, 2606, 2606,
2979 0, 0, 2606, 2606, 2607, 2607, 2607, 0, 0, 0,
2980 2607, 2608, 2608, 2608, 2608, 0, 0, 2608, 2608, 2609,
2981 2609, 2609, 0, 0, 0, 2609, 2610, 2610, 2610, 2610,
2982 0, 0, 2610, 2610, 2611, 2611, 2611, 0, 0, 0,
2984 2611, 2612, 2612, 2612, 2612, 0, 0, 2612, 2612, 2613,
2985 2613, 2613, 0, 0, 0, 2613, 2614, 2614, 2614, 2614,
2986 0, 0, 2614, 2614, 2615, 2615, 2615, 0, 0, 0,
2987 2615, 2616, 2616, 2616, 2616, 0, 0, 2616, 2616, 2617,
2988 2617, 2617, 0, 0, 0, 2617, 2618, 2618, 2618, 2618,
2989 0, 0, 2618, 2618, 2619, 2619, 2619, 0, 0, 0,
2990 2619, 2620, 2620, 2620, 2620, 0, 0, 2620, 2620, 2621,
2991 2621, 2621, 0, 0, 0, 2621, 2622, 2622, 2622, 2622,
2992 0, 0, 2622, 2622, 2623, 2623, 2623, 2623, 0, 2623,
2993 0, 2623, 2624, 2624, 2624, 2624, 0, 0, 2624, 2624,
2995 2625, 2625, 2625, 2625, 0, 0, 2625, 2625, 2626, 2626,
2996 2626, 2626, 0, 2626, 0, 2626, 2627, 2627, 2627, 2627,
2997 0, 0, 2627, 2627, 2628, 2628, 2628, 2628, 2628, 2628,
2998 2628, 2628, 2628, 2629, 2629, 2629, 2629, 2629, 2629, 2629,
2999 2629, 2629, 2630, 2630, 2630, 0, 0, 0, 2630, 2631,
3000 2631, 2631, 2631, 0, 0, 2631, 2631, 2632, 2632, 2632,
3001 0, 0, 0, 2632, 2633, 2633, 2633, 2633, 0, 0,
3002 2633, 2633, 2634, 2634, 2634, 0, 0, 0, 2634, 2635,
3003 2635, 2635, 2635, 0, 0, 2635, 2635, 2636, 2636, 2636,
3004 0, 0, 0, 2636, 2637, 2637, 2637, 2637, 0, 0,
3006 2637, 2637, 2638, 2638, 2638, 0, 0, 0, 2638, 2639,
3007 2639, 2639, 0, 0, 0, 2639, 2640, 2640, 2640, 2640,
3008 0, 0, 2640, 2640, 2641, 2641, 2641, 0, 0, 0,
3009 2641, 2642, 2642, 2642, 2642, 0, 0, 2642, 2642, 2643,
3010 2643, 2643, 0, 0, 0, 2643, 2644, 2644, 2644, 2644,
3011 0, 0, 2644, 2644, 2645, 2645, 2645, 0, 0, 0,
3012 2645, 2646, 2646, 2646, 2646, 0, 0, 2646, 2646, 2647,
3013 2647, 2647, 0, 0, 0, 2647, 2648, 2648, 2648, 2648,
3014 0, 0, 2648, 2648, 2649, 2649, 2649, 0, 0, 0,
3015 2649, 2650, 2650, 2650, 2650, 0, 0, 2650, 2650, 2651,
3017 2651, 2651, 2651, 0, 2651, 0, 2651, 2652, 2652, 2652,
3018 2652, 0, 0, 2652, 2652, 2653, 2653, 2653, 0, 0,
3019 0, 2653, 2654, 2654, 2654, 2654, 0, 0, 2654, 2654,
3020 2655, 2655, 2655, 2655, 0, 2655, 0, 2655, 2656, 2656,
3021 2656, 2656, 0, 0, 2656, 2656, 2657, 2657, 2657, 0,
3022 0, 0, 2657, 2658, 2658, 2658, 2658, 0, 0, 2658,
3023 2658, 2659, 2659, 2659, 2659, 0, 0, 2659, 2659, 2660,
3024 2660, 2660, 2660, 0, 0, 2660, 2660, 2661, 2661, 2661,
3025 2661, 0, 0, 2661, 2661, 2662, 2662, 2662, 2662, 2662,
3026 2662, 2662, 2662, 2662, 2663, 2663, 2663, 2663, 2663, 2663,
3028 2663, 2663, 2663, 2664, 2664, 2664, 2664, 0, 2664, 0,
3029 2664, 2665, 2665, 2665, 2665, 0, 0, 2665, 2665, 2666,
3030 2666, 2666, 0, 0, 0, 2666, 2667, 2667, 2667, 2667,
3031 0, 0, 2667, 2667, 2668, 2668, 2668, 0, 0, 0,
3032 2668, 2669, 2669, 2669, 2669, 0, 0, 2669, 2669, 2670,
3033 2670, 2670, 2670, 0, 2670, 0, 2670, 2671, 2671, 2671,
3034 2671, 0, 0, 2671, 2671, 2672, 2672, 2672, 0, 0,
3035 0, 2672, 2673, 2673, 2673, 0, 0, 0, 2673, 2674,
3036 2674, 2674, 0, 0, 0, 2674, 2675, 2675, 2675, 2675,
3037 0, 0, 2675, 2675, 2676, 2676, 2676, 0, 0, 0,
3039 2676, 2677, 2677, 2677, 0, 0, 0, 2677, 2678, 2678,
3040 2678, 2678, 0, 0, 2678, 2678, 2679, 2679, 2679, 0,
3041 0, 0, 2679, 2680, 2680, 2680, 0, 0, 0, 2680,
3042 2681, 2681, 2681, 2681, 0, 0, 2681, 2681, 2682, 2682,
3043 2682, 0, 0, 0, 2682, 2683, 2683, 2683, 2683, 0,
3044 0, 2683, 2683, 2684, 2684, 2684, 0, 0, 0, 2684,
3045 2685, 2685, 2685, 2685, 0, 0, 2685, 2685, 2686, 2686,
3046 2686, 2686, 0, 0, 2686, 2686, 2687, 2687, 2687, 0,
3047 0, 0, 2687, 2688, 2688, 2688, 2688, 0, 0, 2688,
3048 2688, 2689, 2689, 2689, 2689, 0, 0, 2689, 2689, 2690,
3050 2690, 2690, 2690, 0, 0, 2690, 2690, 2691, 2691, 2691,
3051 2691, 2691, 2691, 2691, 2691, 2691, 2692, 2692, 2692, 2692,
3052 2692, 2692, 2692, 2692, 2692, 2693, 2693, 2693, 2693, 0,
3053 0, 2693, 2693, 2694, 2694, 2694, 0, 0, 0, 2694,
3054 2695, 2695, 2695, 2695, 2695, 2695, 2695, 2695, 2695, 2696,
3055 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2696, 2697, 2697,
3056 2697, 2697, 2697, 2697, 2697, 2697, 2697, 2698, 2698, 2698,
3057 2698, 2698, 2698, 2698, 2698, 2698, 2699, 2699, 2699, 2699,
3058 2699, 2699, 2699, 2699, 2699, 2700, 2700, 2700, 2700, 2700,
3059 2700, 2700, 2700, 2700, 2423, 2423, 2423, 2423, 2423, 2423,
3061 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
3062 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
3063 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
3064 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
3065 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
3066 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423, 2423,
3067 2423, 2423, 2423, 2423, 2423, 2423, 2423
3070 /* Table of booleans, true if rule could match eol. */
3071 static yyconst flex_int32_t yy_rule_can_match_eol[399] =
3073 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3074 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3075 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3076 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3077 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
3078 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3079 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
3080 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3081 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3082 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3083 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3084 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3085 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
3086 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3087 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3088 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
3089 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3090 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0,
3091 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
3092 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
3094 static yy_state_type yy_last_accepting_state;
3095 static char *yy_last_accepting_cpos;
3097 extern int surf_parse__flex_debug;
3098 int surf_parse__flex_debug = 0;
3100 /* The intent behind this definition is that it'll catch
3101 * any uses of REJECT which flex missed.
3103 #define REJECT reject_used_but_not_detected
3104 #define yymore() yymore_used_but_not_detected
3105 #define YY_MORE_ADJ 0
3106 #define YY_RESTORE_YY_MORE_OFFSET
3107 char *surf_parse_text;
3108 /* Validating XML processor for src/surf/simgrid.dtd.
3109 * Generated 2011/02/14 15:04:44.
3111 * This program was generated with the FleXML XML processor generator.
3112 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3113 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3114 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
3116 * There are two, intertwined parts to this program, part A and part B.
3121 * Some parts, here collectively called "Part A", are found in the
3122 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3123 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3125 * You can redistribute, use, perform, display and/or modify "Part A"
3126 * provided the following two conditions hold:
3128 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3129 * FleXML; without even the implied warranty of MERCHANTABILITY or
3130 * FITNESS FOR A PARTICULAR PURPOSE.
3132 * 2. The program distribution conditions do not in any way affect the
3133 * distribution conditions of the FleXML system used to generate this
3134 * file or any version of FleXML derived from that system.
3136 * Notice that these are explicit rights granted to you for files
3137 * generated by the FleXML system. For your rights in connection with
3138 * the FleXML system itself please consult the GNU General Public License.
3143 * The other parts, here collectively called "Part B", and which came
3144 * from the DTD used by FleXML to generate this program, can be
3145 * distributed (or not, as the case may be) under the terms of whoever
3146 * wrote them, provided these terms respect and obey the two conditions
3147 * above under the heading "Part A".
3149 * The author of and contributors to FleXML specifically disclaim
3150 * any copyright interest in "Part B", unless "Part B" was written
3151 * by the author of or contributors to FleXML.
3155 /* Version strings. */
3156 const char rcs_surfxml_flexml_skeleton[] =
3157 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3158 const char rcs_surfxml_flexml[] =
3159 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
3162 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3169 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3170 # ifndef __STRICT_ANSI__
3172 # include <process.h>
3175 # include <unistd.h>
3178 #ifndef FLEXML_INDEXSTACKSIZE
3179 #define FLEXML_INDEXSTACKSIZE 1000
3182 /* Generated definitions. */
3183 #define FLEXML_yylineno
3184 #ifndef FLEXML_BUFFERSTACKSIZE
3185 #define FLEXML_BUFFERSTACKSIZE 1000000
3187 #define FLEXML_NEED_BUFFERLIT
3189 /* XML processor api. */
3190 /* FleXML-provided data. */
3191 int surfxml_pcdata_ix;
3192 extern char *surfxml_bufferstack;
3193 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3194 AT_surfxml_random_generator AX_surfxml_random_generator;
3195 #define A_surfxml_random_generator AX_surfxml_random_generator
3196 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3197 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3198 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3199 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3200 AT_surfxml_prop_id AX_surfxml_prop_id;
3201 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3202 AT_surfxml_host_id AX_surfxml_host_id;
3203 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3204 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3205 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3206 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3207 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3208 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3209 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3210 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3211 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3212 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3213 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3214 AT_surfxml_host_state AX_surfxml_host_state;
3215 #define A_surfxml_host_state AX_surfxml_host_state
3216 AT_surfxml_AS_id AX_surfxml_AS_id;
3217 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3218 AT_surfxml_host_power AX_surfxml_host_power;
3219 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3220 AT_surfxml_router_id AX_surfxml_router_id;
3221 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3222 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3223 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3224 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3225 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3226 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3227 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3228 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3229 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3230 AT_surfxml_trace_file AX_surfxml_trace_file;
3231 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3232 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3233 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3234 AT_surfxml_random_min AX_surfxml_random_min;
3235 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3236 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3237 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3238 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3239 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3240 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3241 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3242 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3243 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3244 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3245 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3246 AT_surfxml_argument_value AX_surfxml_argument_value;
3247 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3248 AT_surfxml_link_state AX_surfxml_link_state;
3249 #define A_surfxml_link_state AX_surfxml_link_state
3250 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3251 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3252 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3253 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3254 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3255 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3256 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3257 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3258 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3259 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3260 AT_surfxml_random_mean AX_surfxml_random_mean;
3261 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3262 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3263 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3264 AT_surfxml_link_latency AX_surfxml_link_latency;
3265 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3266 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3267 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3268 AT_surfxml_random_seed AX_surfxml_random_seed;
3269 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
3270 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3271 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3272 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3273 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3274 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3275 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3276 AT_surfxml_random_id AX_surfxml_random_id;
3277 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3278 AT_surfxml_random_max AX_surfxml_random_max;
3279 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3280 AT_surfxml_link_id AX_surfxml_link_id;
3281 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3282 AT_surfxml_process_host AX_surfxml_process_host;
3283 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3284 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3285 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3286 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3287 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3288 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3289 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3290 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3291 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3292 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3293 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3294 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3295 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3296 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
3297 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
3298 AT_surfxml_prop_value AX_surfxml_prop_value;
3299 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3300 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3301 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3302 AT_surfxml_random_radical AX_surfxml_random_radical;
3303 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
3304 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3305 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3306 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3307 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3308 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3309 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3310 AT_surfxml_process_function AX_surfxml_process_function;
3311 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3312 AT_surfxml_peer_id AX_surfxml_peer_id;
3313 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3314 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3315 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3316 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3317 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3318 AT_surfxml_host_core AX_surfxml_host_core;
3319 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3320 AT_surfxml_host_availability AX_surfxml_host_availability;
3321 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3322 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3323 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3324 AT_surfxml_route_src AX_surfxml_route_src;
3325 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3326 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3327 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3328 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3329 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3330 AT_surfxml_trace_id AX_surfxml_trace_id;
3331 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3332 AT_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy;
3333 #define A_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy
3334 AT_surfxml_peer_power AX_surfxml_peer_power;
3335 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3336 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3337 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3338 AT_surfxml_config_id AX_surfxml_config_id;
3339 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3340 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3341 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3342 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3343 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3344 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3345 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3346 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3347 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3348 AT_surfxml_AS_coordinates AX_surfxml_AS_coordinates;
3349 #define A_surfxml_AS_coordinates (surfxml_bufferstack + AX_surfxml_AS_coordinates)
3350 AT_surfxml_route_dst AX_surfxml_route_dst;
3351 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3352 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3353 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3354 AT_surfxml_platform_version AX_surfxml_platform_version;
3355 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3359 # define ENTER(state) debug_enter(state,#state)
3360 # define LEAVE debug_leave()
3361 # define SET(state) debug_set(state,#state)
3362 static void debug_enter(int, const char*);
3363 static void debug_leave(void);
3364 static void debug_set(int, const char*);
3366 # define ENTER(state) (yy_push_state(state))
3367 # define LEAVE (yy_pop_state())
3368 # define SET(state) BEGIN(state)
3371 /* Generic actions. */
3372 #define SKIP /*skip*/
3373 #define SUCCEED CLEANUP; return 0
3375 #define FAIL return fail
3376 static int fail(const char*, ...);
3378 enum {flexml_max_err_msg_size = 512};
3379 static char flexml_err_msg[flexml_max_err_msg_size];
3380 const char * surfxml_parse_err_msg()
3382 return flexml_err_msg;
3384 static void reset_surfxml_parse_err_msg()
3386 flexml_err_msg[0] = '\0';
3390 static void cleanup(void);
3391 #define CLEANUP cleanup()
3393 /* Text buffer stack handling. */
3394 char *surfxml_bufferstack = NULL;
3395 static int blimit = FLEXML_BUFFERSTACKSIZE;
3396 static int bnext = 1;
3398 static int *indexstack = NULL;
3399 static int ilimit = FLEXML_INDEXSTACKSIZE;
3400 static int inext = 1;
3402 #define BUFFERSET(P) (P = bnext)
3403 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3404 #define BUFFERDONE (BUFFERPUTC('\0'))
3406 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3408 /* after this is called, there are at least 2 slots left in the stack */
3409 static int ck_blimit()
3411 if (bnext >= blimit) {
3412 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3414 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3416 surfxml_bufferstack = temp;
3422 /* after this is called, there are at least 2 slots left in the stack */
3423 static int ck_ilimit()
3425 if (inext >= ilimit) {
3426 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3428 int *temp = (int *) realloc(indexstack, ilimit);
3436 #ifdef FLEXML_NEED_BUFFERLIT
3437 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3439 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3440 assert(s <= e); BUFFERSET(*pp);
3442 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3443 else BUFFERPUTC(*s);
3449 static void pushbuffer(int p)
3452 indexstack[inext++] = p;
3453 indexstack[inext++] = bnext;
3456 static int popbuffer(void)
3459 bnext = indexstack[--inext];
3460 return indexstack[--inext];
3463 /* General internal entities are `unput' back onto the input stream... */
3464 #define ENTITYTEXT(T) \
3465 { char *s = (T), *e = s+strlen(s);\
3466 while (--e >= s) { unput(*e); }}
3468 /* Flex standard options. */
3469 #define YY_NO_INPUT 1
3470 /* Flex user-requested options. */
3471 /* XML character classes (currently restricted to ASCII). */
3472 /* "Common syntactic structures." */
3473 /* "Names and Tokens." */
3474 /* Miscellaneous. */
3475 /* Parser states (flex `exclusive start conditions'):
3477 * PROLOG the XML prolog of the document before <?xml...>
3478 * DOCTYPE the XML prolog of the document after <?xml...>
3479 * EPILOG after the root element
3480 * INCOMMENT inside an XML comment <!--....-->
3481 * INPI inside an XML PI <?...?>
3482 * VALUE1 inside a '...'-delimited literal
3483 * VALUE2 inside a "..."-delimited literal
3484 * CDATA inside a <![CDATA[...] ]> section.
3485 * ROOT_<tag> expect root element <tag>
3486 * AL_<tag> inside the attribute list for <tag>
3487 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3488 * IMPOSSIBLE dummy to permit disabling rules; must be last
3492 const char* *surfxml_statenames=NULL;
3503 #define ROOT_surfxml_platform 9
3504 #define AL_surfxml_platform 10
3505 #define S_surfxml_platform 11
3506 #define S_surfxml_platform_1 12
3507 #define S_surfxml_platform_2 13
3508 #define S_surfxml_platform_3 14
3509 #define S_surfxml_platform_4 15
3510 #define S_surfxml_platform_5 16
3511 #define S_surfxml_platform_6 17
3512 #define S_surfxml_platform_7 18
3513 #define S_surfxml_platform_8 19
3514 #define E_surfxml_platform 20
3515 #define AL_surfxml_trace 21
3517 #define AL_surfxml_random 23
3518 #define S_surfxml_random 24
3519 #define S_surfxml_random_1 25
3520 #define S_surfxml_random_2 26
3521 #define E_surfxml_random 27
3522 #define AL_surfxml_trace_connect 28
3523 #define E_surfxml_trace_connect 29
3524 #define AL_surfxml_AS 30
3525 #define S_surfxml_AS 31
3526 #define S_surfxml_AS_1 32
3527 #define S_surfxml_AS_2 33
3528 #define S_surfxml_AS_3 34
3529 #define S_surfxml_AS_4 35
3530 #define S_surfxml_AS_5 36
3531 #define S_surfxml_AS_6 37
3532 #define S_surfxml_AS_7 38
3533 #define S_surfxml_AS_8 39
3534 #define S_surfxml_AS_9 40
3535 #define S_surfxml_AS_10 41
3536 #define S_surfxml_AS_11 42
3537 #define S_surfxml_AS_12 43
3538 #define S_surfxml_AS_13 44
3539 #define E_surfxml_AS 45
3540 #define AL_surfxml_host 46
3541 #define S_surfxml_host 47
3542 #define S_surfxml_host_1 48
3543 #define S_surfxml_host_2 49
3544 #define E_surfxml_host 50
3545 #define AL_surfxml_cluster 51
3546 #define E_surfxml_cluster 52
3547 #define AL_surfxml_peer 53
3548 #define E_surfxml_peer 54
3549 #define AL_surfxml_router 55
3550 #define E_surfxml_router 56
3551 #define AL_surfxml_link 57
3552 #define S_surfxml_link 58
3553 #define S_surfxml_link_1 59
3554 #define S_surfxml_link_2 60
3555 #define E_surfxml_link 61
3556 #define AL_surfxml_route 62
3557 #define S_surfxml_route 63
3558 #define S_surfxml_route_1 64
3559 #define S_surfxml_route_2 65
3560 #define E_surfxml_route 66
3561 #define AL_surfxml_ASroute 67
3562 #define S_surfxml_ASroute 68
3563 #define S_surfxml_ASroute_1 69
3564 #define S_surfxml_ASroute_2 70
3565 #define E_surfxml_ASroute 71
3566 #define AL_surfxml_link_ctn 72
3567 #define E_surfxml_link_ctn 73
3568 #define AL_surfxml_bypassRoute 74
3569 #define S_surfxml_bypassRoute 75
3570 #define S_surfxml_bypassRoute_1 76
3571 #define S_surfxml_bypassRoute_2 77
3572 #define E_surfxml_bypassRoute 78
3573 #define AL_surfxml_process 79
3574 #define S_surfxml_process 80
3575 #define S_surfxml_process_1 81
3576 #define S_surfxml_process_2 82
3577 #define E_surfxml_process 83
3578 #define AL_surfxml_argument 84
3579 #define E_surfxml_argument 85
3580 #define AL_surfxml_config 86
3581 #define S_surfxml_config 87
3582 #define S_surfxml_config_1 88
3583 #define S_surfxml_config_2 89
3584 #define E_surfxml_config 90
3585 #define AL_surfxml_prop 91
3586 #define E_surfxml_prop 92
3587 #define IMPOSSIBLE 93
3589 #ifndef YY_NO_UNISTD_H
3590 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3591 * down here because we want the user's section 1 to have been scanned first.
3592 * The user has a chance to override it with an option.
3594 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3595 # ifndef __STRICT_ANSI__
3597 # include <process.h>
3600 # include <unistd.h>
3604 #ifndef YY_EXTRA_TYPE
3605 #define YY_EXTRA_TYPE void *
3608 static int yy_init_globals (void );
3610 /* Accessor methods to globals.
3611 These are made visible to non-reentrant scanners for convenience. */
3613 int surf_parse_lex_destroy (void );
3615 int surf_parse_get_debug (void );
3617 void surf_parse_set_debug (int debug_flag );
3619 YY_EXTRA_TYPE surf_parse_get_extra (void );
3621 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3623 FILE *surf_parse_get_in (void );
3625 void surf_parse_set_in (FILE * in_str );
3627 FILE *surf_parse_get_out (void );
3629 void surf_parse_set_out (FILE * out_str );
3631 int surf_parse_get_leng (void );
3633 char *surf_parse_get_text (void );
3635 int surf_parse_get_lineno (void );
3637 void surf_parse_set_lineno (int line_number );
3639 /* Macros after this point can all be overridden by user definitions in
3643 #ifndef YY_SKIP_YYWRAP
3645 extern "C" int surf_parse_wrap (void );
3647 extern int surf_parse_wrap (void );
3652 static void yy_flex_strncpy (char *,yyconst char *,int );
3655 #ifdef YY_NEED_STRLEN
3656 static int yy_flex_strlen (yyconst char * );
3662 static int yyinput (void );
3664 static int input (void );
3669 static int yy_start_stack_ptr = 0;
3670 static int yy_start_stack_depth = 0;
3671 static int *yy_start_stack = NULL;
3673 static void yy_push_state (int new_state );
3675 static void yy_pop_state (void );
3677 /* Amount of stuff to slurp up with each read. */
3678 #ifndef YY_READ_BUF_SIZE
3680 /* On IA-64, the buffer size is 16k, not 8k */
3681 #define YY_READ_BUF_SIZE 16384
3683 #define YY_READ_BUF_SIZE 8192
3684 #endif /* __ia64__ */
3687 /* Copy whatever the last rule matched to the standard output. */
3689 /* This used to be an fputs(), but since the string might contain NUL's,
3690 * we now use fwrite().
3692 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3695 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3696 * is returned in "result".
3699 #define YY_INPUT(buf,result,max_size) \
3700 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3704 for ( n = 0; n < max_size && \
3705 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3706 buf[n] = (char) c; \
3708 buf[n++] = (char) c; \
3709 if ( c == EOF && ferror( surf_parse_in ) ) \
3710 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3716 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3718 if( errno != EINTR) \
3720 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3724 clearerr(surf_parse_in); \
3731 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3732 * we don't want an extra ';' after the "return" because that will cause
3733 * some compilers to complain about unreachable statements.
3736 #define yyterminate() return YY_NULL
3739 /* Number of entries by which start-condition stack grows. */
3740 #ifndef YY_START_STACK_INCR
3741 #define YY_START_STACK_INCR 25
3744 /* Report a fatal error. */
3745 #ifndef YY_FATAL_ERROR
3746 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3749 /* end tables serialization structures and prototypes */
3751 /* Default declaration of generated scanner - a define so the user can
3752 * easily add parameters.
3755 #define YY_DECL_IS_OURS 1
3757 extern int surf_parse_lex (void);
3759 #define YY_DECL int surf_parse_lex (void)
3760 #endif /* !YY_DECL */
3762 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3765 #ifndef YY_USER_ACTION
3766 #define YY_USER_ACTION
3769 /* Code executed at the end of each rule. */
3771 #define YY_BREAK break;
3774 #define YY_RULE_SETUP \
3777 /** The main scanner function which does all the work.
3781 register yy_state_type yy_current_state;
3782 register char *yy_cp, *yy_bp;
3783 register int yy_act;
3785 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3787 reset_surfxml_parse_err_msg();
3788 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3789 assert(surfxml_bufferstack);
3793 for (i = 0; i < blimit; i++) {
3794 surfxml_bufferstack[i] = '\377';
3798 surfxml_bufferstack[0] = '\0';
3799 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3805 surfxml_bufferliteral('\0', &bnext, "0.0");
3806 surfxml_bufferliteral('\0', &bnext, "2147483647");
3807 surfxml_bufferliteral('\0', &bnext, "1");
3808 surfxml_bufferliteral('\0', &bnext, "1.0");
3809 surfxml_bufferliteral('\0', &bnext, "1");
3810 surfxml_bufferliteral('\0', &bnext, "0.0");
3811 surfxml_bufferliteral('\0', &bnext, "-1.0");
3812 surfxml_bufferliteral('\0', &bnext, "-1.0");
3813 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3814 surfxml_statenames[PROLOG] = NULL;
3815 surfxml_statenames[DOCTYPE] = NULL;
3816 surfxml_statenames[EPILOG] = NULL;
3817 surfxml_statenames[INCOMMENT] = NULL;
3818 surfxml_statenames[INPI] = NULL;
3819 surfxml_statenames[VALUE1] = NULL;
3820 surfxml_statenames[VALUE2] = NULL;
3821 surfxml_statenames[CDATA] = NULL;
3822 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3823 surfxml_statenames[AL_surfxml_platform] = NULL;
3824 surfxml_statenames[S_surfxml_platform] = "platform";
3825 surfxml_statenames[S_surfxml_platform_1] = "platform";
3826 surfxml_statenames[S_surfxml_platform_2] = "platform";
3827 surfxml_statenames[S_surfxml_platform_3] = "platform";
3828 surfxml_statenames[S_surfxml_platform_4] = "platform";
3829 surfxml_statenames[S_surfxml_platform_5] = "platform";
3830 surfxml_statenames[S_surfxml_platform_6] = "platform";
3831 surfxml_statenames[S_surfxml_platform_7] = "platform";
3832 surfxml_statenames[S_surfxml_platform_8] = "platform";
3833 surfxml_statenames[E_surfxml_platform] = "platform";
3834 surfxml_statenames[AL_surfxml_trace] = NULL;
3835 surfxml_statenames[IN_trace] = "trace";
3836 surfxml_statenames[AL_surfxml_random] = NULL;
3837 surfxml_statenames[S_surfxml_random] = "random";
3838 surfxml_statenames[S_surfxml_random_1] = "random";
3839 surfxml_statenames[S_surfxml_random_2] = "random";
3840 surfxml_statenames[E_surfxml_random] = "random";
3841 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3842 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3843 surfxml_statenames[AL_surfxml_AS] = NULL;
3844 surfxml_statenames[S_surfxml_AS] = "AS";
3845 surfxml_statenames[S_surfxml_AS_1] = "AS";
3846 surfxml_statenames[S_surfxml_AS_2] = "AS";
3847 surfxml_statenames[S_surfxml_AS_3] = "AS";
3848 surfxml_statenames[S_surfxml_AS_4] = "AS";
3849 surfxml_statenames[S_surfxml_AS_5] = "AS";
3850 surfxml_statenames[S_surfxml_AS_6] = "AS";
3851 surfxml_statenames[S_surfxml_AS_7] = "AS";
3852 surfxml_statenames[S_surfxml_AS_8] = "AS";
3853 surfxml_statenames[S_surfxml_AS_9] = "AS";
3854 surfxml_statenames[S_surfxml_AS_10] = "AS";
3855 surfxml_statenames[S_surfxml_AS_11] = "AS";
3856 surfxml_statenames[S_surfxml_AS_12] = "AS";
3857 surfxml_statenames[S_surfxml_AS_13] = "AS";
3858 surfxml_statenames[E_surfxml_AS] = "AS";
3859 surfxml_statenames[AL_surfxml_host] = NULL;
3860 surfxml_statenames[S_surfxml_host] = "host";
3861 surfxml_statenames[S_surfxml_host_1] = "host";
3862 surfxml_statenames[S_surfxml_host_2] = "host";
3863 surfxml_statenames[E_surfxml_host] = "host";
3864 surfxml_statenames[AL_surfxml_cluster] = NULL;
3865 surfxml_statenames[E_surfxml_cluster] = "cluster";
3866 surfxml_statenames[AL_surfxml_peer] = NULL;
3867 surfxml_statenames[E_surfxml_peer] = "peer";
3868 surfxml_statenames[AL_surfxml_router] = NULL;
3869 surfxml_statenames[E_surfxml_router] = "router";
3870 surfxml_statenames[AL_surfxml_link] = NULL;
3871 surfxml_statenames[S_surfxml_link] = "link";
3872 surfxml_statenames[S_surfxml_link_1] = "link";
3873 surfxml_statenames[S_surfxml_link_2] = "link";
3874 surfxml_statenames[E_surfxml_link] = "link";
3875 surfxml_statenames[AL_surfxml_route] = NULL;
3876 surfxml_statenames[S_surfxml_route] = "route";
3877 surfxml_statenames[S_surfxml_route_1] = "route";
3878 surfxml_statenames[S_surfxml_route_2] = "route";
3879 surfxml_statenames[E_surfxml_route] = "route";
3880 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3881 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3882 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3883 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3884 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3885 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3886 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3887 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3888 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3889 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3890 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3891 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3892 surfxml_statenames[AL_surfxml_process] = NULL;
3893 surfxml_statenames[S_surfxml_process] = "process";
3894 surfxml_statenames[S_surfxml_process_1] = "process";
3895 surfxml_statenames[S_surfxml_process_2] = "process";
3896 surfxml_statenames[E_surfxml_process] = "process";
3897 surfxml_statenames[AL_surfxml_argument] = NULL;
3898 surfxml_statenames[E_surfxml_argument] = "argument";
3899 surfxml_statenames[AL_surfxml_config] = NULL;
3900 surfxml_statenames[S_surfxml_config] = "config";
3901 surfxml_statenames[S_surfxml_config_1] = "config";
3902 surfxml_statenames[S_surfxml_config_2] = "config";
3903 surfxml_statenames[E_surfxml_config] = "config";
3904 surfxml_statenames[AL_surfxml_prop] = NULL;
3905 surfxml_statenames[E_surfxml_prop] = "prop";
3908 /* COMMENTS and PIs: handled uniformly for efficiency. */
3919 (yy_start) = 1; /* first start state */
3921 if ( ! surf_parse_in )
3922 surf_parse_in = stdin;
3924 if ( ! surf_parse_out )
3925 surf_parse_out = stdout;
3927 if ( ! YY_CURRENT_BUFFER ) {
3928 surf_parse_ensure_buffer_stack ();
3929 YY_CURRENT_BUFFER_LVALUE =
3930 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3933 surf_parse__load_buffer_state( );
3936 while ( 1 ) /* loops until end-of-file is reached */
3938 yy_cp = (yy_c_buf_p);
3940 /* Support of surf_parse_text. */
3941 *yy_cp = (yy_hold_char);
3943 /* yy_bp points to the position in yy_ch_buf of the start of
3948 yy_current_state = (yy_start);
3952 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3953 if ( yy_accept[yy_current_state] )
3955 (yy_last_accepting_state) = yy_current_state;
3956 (yy_last_accepting_cpos) = yy_cp;
3958 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3960 yy_current_state = (int) yy_def[yy_current_state];
3961 if ( yy_current_state >= 2424 )
3962 yy_c = yy_meta[(unsigned int) yy_c];
3964 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3967 while ( yy_base[yy_current_state] != 7795 );
3970 yy_act = yy_accept[yy_current_state];
3972 { /* have to back up */
3973 yy_cp = (yy_last_accepting_cpos);
3974 yy_current_state = (yy_last_accepting_state);
3975 yy_act = yy_accept[yy_current_state];
3978 YY_DO_BEFORE_ACTION;
3980 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3983 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3984 if ( surf_parse_text[yyl] == '\n' )
3986 surf_parse_lineno++;
3990 do_action: /* This label is used only to access EOF actions. */
3993 { /* beginning of action switch */
3994 case 0: /* must back up */
3995 /* undo the effects of YY_DO_BEFORE_ACTION */
3996 *yy_cp = (yy_hold_char);
3997 yy_cp = (yy_last_accepting_cpos);
3998 yy_current_state = (yy_last_accepting_state);
3999 goto yy_find_action;
4017 /* rule 6 can match eol */
4021 case YY_STATE_EOF(INCOMMENT):
4022 FAIL("EOF in comment.");
4031 /* rule 9 can match eol */
4035 case YY_STATE_EOF(INPI):
4036 FAIL("EOF in PI (processing instruction).");
4039 /* SPACES: skipped uniformly */
4041 /* rule 10 can match eol */
4045 /* PROLOG: determine root element and process it. */
4048 /* rule 11 can match eol */
4053 /* rule 12 can match eol */
4055 FAIL("Bad declaration %s.",surf_parse_text);
4059 /* rule 13 can match eol */
4061 SET(ROOT_surfxml_platform);
4064 /* rule 14 can match eol */
4066 FAIL("Bad declaration %s.",surf_parse_text);
4070 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4072 case YY_STATE_EOF(PROLOG):
4073 case YY_STATE_EOF(DOCTYPE):
4074 FAIL("EOF in prolog.");
4077 /* RULES DERIVED FROM DTD. */
4078 /* <!-- Small DTD for SURF based tools. --> */
4080 /* rule 16 can match eol */
4082 FAIL("Starting tag <platform> is not allowed here.");
4085 /* rule 17 can match eol */
4088 AX_surfxml_platform_version = 1;
4089 ENTER(AL_surfxml_platform); pushbuffer(0);
4094 /* rule 18 can match eol */
4096 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
4099 /* rule 19 can match eol */
4101 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
4106 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4112 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4114 case ROOT_surfxml_platform: SET(EPILOG); break;
4120 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4124 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4126 case YY_STATE_EOF(AL_surfxml_platform):
4127 FAIL("EOF in attribute list of `platform' element.");
4131 /* rule 24 can match eol */
4135 ETag_surfxml_platform();
4136 popbuffer(); /* attribute */
4138 case ROOT_surfxml_platform: SET(EPILOG); break;
4143 /* rule 25 can match eol */
4145 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4149 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4151 case YY_STATE_EOF(S_surfxml_platform_8):
4152 case YY_STATE_EOF(S_surfxml_platform_1):
4153 case YY_STATE_EOF(S_surfxml_platform_3):
4154 case YY_STATE_EOF(S_surfxml_platform):
4155 case YY_STATE_EOF(S_surfxml_platform_4):
4156 case YY_STATE_EOF(S_surfxml_platform_6):
4157 case YY_STATE_EOF(E_surfxml_platform):
4158 FAIL("Premature EOF: `</platform>' expected.");
4162 /* rule 27 can match eol */
4164 FAIL("Starting tag <trace> is not allowed here.");
4167 /* rule 28 can match eol */
4170 AX_surfxml_trace_id = 0;
4171 AX_surfxml_trace_file = 0;
4172 AX_surfxml_trace_periodicity = 0;
4173 ENTER(AL_surfxml_trace); pushbuffer(0);
4178 /* rule 29 can match eol */
4180 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
4183 /* rule 30 can match eol */
4185 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
4188 /* rule 31 can match eol */
4190 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
4193 /* rule 32 can match eol */
4195 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
4198 /* rule 33 can match eol */
4200 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
4203 /* rule 34 can match eol */
4205 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
4210 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4211 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4212 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4218 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4219 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4220 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4222 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;
4223 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4224 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4225 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4226 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;
4227 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4233 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4237 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4239 case YY_STATE_EOF(AL_surfxml_trace):
4240 FAIL("EOF in attribute list of `trace' element.");
4244 /* rule 39 can match eol */
4249 ETag_surfxml_trace();
4250 surfxml_pcdata_ix = popbuffer();
4251 popbuffer(); /* attribute */
4253 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;
4254 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4255 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4256 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4257 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;
4258 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4263 /* rule 40 can match eol */
4265 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4267 case YY_STATE_EOF(IN_trace):
4268 FAIL("Premature EOF: `</trace>' expected.");
4272 /* rule 41 can match eol */
4274 FAIL("Starting tag <random> is not allowed here.");
4277 /* rule 42 can match eol */
4280 AX_surfxml_random_id = 0;
4281 AX_surfxml_random_min = 0;
4282 AX_surfxml_random_max = 0;
4283 AX_surfxml_random_mean = 0;
4284 AX_surfxml_random_std_deviation = 0;
4285 AX_surfxml_random_seed = 5;
4286 AX_surfxml_random_radical = 0;
4287 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4288 ENTER(AL_surfxml_random); pushbuffer(0);
4293 /* rule 43 can match eol */
4295 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4298 /* rule 44 can match eol */
4300 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4303 /* rule 45 can match eol */
4305 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4308 /* rule 46 can match eol */
4310 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4313 /* rule 47 can match eol */
4315 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4318 /* rule 48 can match eol */
4320 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4323 /* rule 49 can match eol */
4325 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4328 /* rule 50 can match eol */
4330 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4333 /* rule 51 can match eol */
4335 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4338 /* rule 52 can match eol */
4340 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4343 /* rule 53 can match eol */
4345 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_seed);
4348 /* rule 54 can match eol */
4350 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_seed);
4353 /* rule 55 can match eol */
4355 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_radical);
4358 /* rule 56 can match eol */
4360 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_radical);
4363 /* rule 57 can match eol */
4365 /* rule 58 can match eol */
4367 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4370 /* rule 59 can match eol */
4372 /* rule 60 can match eol */
4374 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4377 /* rule 61 can match eol */
4379 /* rule 62 can match eol */
4381 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
4384 /* rule 63 can match eol */
4386 /* rule 64 can match eol */
4388 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
4393 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4394 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4395 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4396 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4397 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4398 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4404 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4405 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4406 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4407 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4408 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4409 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4411 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4417 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4421 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4423 case YY_STATE_EOF(AL_surfxml_random):
4424 FAIL("EOF in attribute list of `random' element.");
4428 /* rule 69 can match eol */
4432 ETag_surfxml_random();
4433 popbuffer(); /* attribute */
4435 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4440 /* rule 70 can match eol */
4442 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4446 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4448 case YY_STATE_EOF(S_surfxml_random_2):
4449 case YY_STATE_EOF(S_surfxml_random):
4450 case YY_STATE_EOF(E_surfxml_random):
4451 FAIL("Premature EOF: `</random>' expected.");
4455 /* rule 72 can match eol */
4457 FAIL("Starting tag <trace_connect> is not allowed here.");
4460 /* rule 73 can match eol */
4463 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4464 AX_surfxml_trace_connect_trace = 0;
4465 AX_surfxml_trace_connect_element = 0;
4466 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4471 /* rule 74 can match eol */
4473 /* rule 75 can match eol */
4475 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4478 /* rule 76 can match eol */
4480 /* rule 77 can match eol */
4482 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4485 /* rule 78 can match eol */
4487 /* rule 79 can match eol */
4489 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4492 /* rule 80 can match eol */
4494 /* rule 81 can match eol */
4496 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4499 /* rule 82 can match eol */
4501 /* rule 83 can match eol */
4503 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4506 /* rule 84 can match eol */
4508 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4511 /* rule 85 can match eol */
4513 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4516 /* rule 86 can match eol */
4518 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4521 /* rule 87 can match eol */
4523 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4528 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4529 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4530 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4536 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4537 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4538 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4540 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;
4541 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4542 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4543 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4544 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;
4545 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4551 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4555 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4557 case YY_STATE_EOF(AL_surfxml_trace_connect):
4558 FAIL("EOF in attribute list of `trace_connect' element.");
4562 /* rule 92 can match eol */
4566 ETag_surfxml_trace_connect();
4567 popbuffer(); /* attribute */
4569 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;
4570 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4571 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4572 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4573 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;
4574 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4579 /* rule 93 can match eol */
4581 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4585 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4587 case YY_STATE_EOF(E_surfxml_trace_connect):
4588 FAIL("Premature EOF: `</trace_connect>' expected.");
4592 /* rule 95 can match eol */
4594 FAIL("Starting tag <AS> is not allowed here.");
4597 /* rule 96 can match eol */
4600 AX_surfxml_AS_id = 0;
4601 AX_surfxml_AS_routing = 0;
4602 AX_surfxml_AS_coordinates = 0;
4603 ENTER(AL_surfxml_AS); pushbuffer(0);
4608 /* rule 97 can match eol */
4610 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4613 /* rule 98 can match eol */
4615 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4618 /* rule 99 can match eol */
4620 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4623 /* rule 100 can match eol */
4625 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4628 /* rule 101 can match eol */
4630 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_coordinates);
4633 /* rule 102 can match eol */
4635 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_coordinates);
4640 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4641 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4642 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4648 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4649 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4650 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4652 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4653 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;
4659 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4663 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4665 case YY_STATE_EOF(AL_surfxml_AS):
4666 FAIL("EOF in attribute list of `AS' element.");
4670 /* rule 107 can match eol */
4675 popbuffer(); /* attribute */
4677 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4678 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;
4683 /* rule 108 can match eol */
4685 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4689 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4691 case YY_STATE_EOF(S_surfxml_AS_1):
4692 case YY_STATE_EOF(S_surfxml_AS_9):
4693 case YY_STATE_EOF(S_surfxml_AS_11):
4694 case YY_STATE_EOF(S_surfxml_AS_6):
4695 case YY_STATE_EOF(E_surfxml_AS):
4696 case YY_STATE_EOF(S_surfxml_AS_3):
4697 case YY_STATE_EOF(S_surfxml_AS_13):
4698 case YY_STATE_EOF(S_surfxml_AS_8):
4699 case YY_STATE_EOF(S_surfxml_AS):
4700 case YY_STATE_EOF(S_surfxml_AS_4):
4701 FAIL("Premature EOF: `</AS>' expected.");
4705 /* rule 110 can match eol */
4707 FAIL("Starting tag <host> is not allowed here.");
4710 /* rule 111 can match eol */
4713 AX_surfxml_host_id = 0;
4714 AX_surfxml_host_power = 0;
4715 AX_surfxml_host_core = 16;
4716 AX_surfxml_host_availability = 18;
4717 AX_surfxml_host_availability_file = 0;
4718 AX_surfxml_host_state = A_surfxml_host_state_ON;
4719 AX_surfxml_host_state_file = 0;
4720 AX_surfxml_host_coordinates = 0;
4721 ENTER(AL_surfxml_host); pushbuffer(0);
4726 /* rule 112 can match eol */
4728 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4731 /* rule 113 can match eol */
4733 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4736 /* rule 114 can match eol */
4738 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4741 /* rule 115 can match eol */
4743 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4746 /* rule 116 can match eol */
4748 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
4751 /* rule 117 can match eol */
4753 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
4756 /* rule 118 can match eol */
4758 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4761 /* rule 119 can match eol */
4763 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4766 /* rule 120 can match eol */
4768 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4771 /* rule 121 can match eol */
4773 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4776 /* rule 122 can match eol */
4778 /* rule 123 can match eol */
4780 A_surfxml_host_state = A_surfxml_host_state_ON;
4783 /* rule 124 can match eol */
4785 /* rule 125 can match eol */
4787 A_surfxml_host_state = A_surfxml_host_state_OFF;
4790 /* rule 126 can match eol */
4792 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4795 /* rule 127 can match eol */
4797 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4800 /* rule 128 can match eol */
4802 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
4805 /* rule 129 can match eol */
4807 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
4812 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4813 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4814 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4820 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4821 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4822 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4824 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4830 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4834 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4836 case YY_STATE_EOF(AL_surfxml_host):
4837 FAIL("EOF in attribute list of `host' element.");
4841 /* rule 134 can match eol */
4845 ETag_surfxml_host();
4846 popbuffer(); /* attribute */
4848 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4853 /* rule 135 can match eol */
4855 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4859 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4861 case YY_STATE_EOF(S_surfxml_host):
4862 case YY_STATE_EOF(E_surfxml_host):
4863 case YY_STATE_EOF(S_surfxml_host_2):
4864 FAIL("Premature EOF: `</host>' expected.");
4868 /* rule 137 can match eol */
4870 FAIL("Starting tag <cluster> is not allowed here.");
4873 /* rule 138 can match eol */
4876 AX_surfxml_cluster_id = 0;
4877 AX_surfxml_cluster_prefix = 0;
4878 AX_surfxml_cluster_suffix = 0;
4879 AX_surfxml_cluster_radical = 0;
4880 AX_surfxml_cluster_power = 0;
4881 AX_surfxml_cluster_core = 22;
4882 AX_surfxml_cluster_bw = 0;
4883 AX_surfxml_cluster_lat = 0;
4884 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4885 AX_surfxml_cluster_bb_bw = 0;
4886 AX_surfxml_cluster_bb_lat = 0;
4887 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4888 AX_surfxml_cluster_availability_file = 0;
4889 AX_surfxml_cluster_state_file = 0;
4890 ENTER(AL_surfxml_cluster); pushbuffer(0);
4895 /* rule 139 can match eol */
4897 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4900 /* rule 140 can match eol */
4902 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4905 /* rule 141 can match eol */
4907 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4910 /* rule 142 can match eol */
4912 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4915 /* rule 143 can match eol */
4917 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4920 /* rule 144 can match eol */
4922 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4925 /* rule 145 can match eol */
4927 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4930 /* rule 146 can match eol */
4932 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4935 /* rule 147 can match eol */
4937 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4940 /* rule 148 can match eol */
4942 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4945 /* rule 149 can match eol */
4947 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
4950 /* rule 150 can match eol */
4952 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
4955 /* rule 151 can match eol */
4957 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4960 /* rule 152 can match eol */
4962 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4965 /* rule 153 can match eol */
4967 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4970 /* rule 154 can match eol */
4972 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4975 /* rule 155 can match eol */
4977 /* rule 156 can match eol */
4979 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4982 /* rule 157 can match eol */
4984 /* rule 158 can match eol */
4986 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
4989 /* rule 159 can match eol */
4991 /* rule 160 can match eol */
4993 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
4996 /* rule 161 can match eol */
4998 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
5001 /* rule 162 can match eol */
5003 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
5006 /* rule 163 can match eol */
5008 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
5011 /* rule 164 can match eol */
5013 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
5016 /* rule 165 can match eol */
5018 /* rule 166 can match eol */
5020 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
5023 /* rule 167 can match eol */
5025 /* rule 168 can match eol */
5027 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
5030 /* rule 169 can match eol */
5032 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability_file);
5035 /* rule 170 can match eol */
5037 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability_file);
5040 /* rule 171 can match eol */
5042 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state_file);
5045 /* rule 172 can match eol */
5047 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state_file);
5052 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5053 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5054 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5055 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5056 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5057 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5058 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5059 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
5060 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
5061 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
5067 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
5068 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
5069 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
5070 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
5071 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
5072 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
5073 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
5074 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
5075 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
5076 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
5078 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5079 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;
5085 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
5089 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
5091 case YY_STATE_EOF(AL_surfxml_cluster):
5092 FAIL("EOF in attribute list of `cluster' element.");
5096 /* rule 177 can match eol */
5100 ETag_surfxml_cluster();
5101 popbuffer(); /* attribute */
5103 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5104 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;
5109 /* rule 178 can match eol */
5111 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
5115 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
5117 case YY_STATE_EOF(E_surfxml_cluster):
5118 FAIL("Premature EOF: `</cluster>' expected.");
5122 /* rule 180 can match eol */
5124 FAIL("Starting tag <peer> is not allowed here.");
5127 /* rule 181 can match eol */
5130 AX_surfxml_peer_id = 0;
5131 AX_surfxml_peer_power = 0;
5132 AX_surfxml_peer_bw_in = 0;
5133 AX_surfxml_peer_bw_out = 0;
5134 AX_surfxml_peer_lat = 0;
5135 AX_surfxml_peer_coordinates = 0;
5136 AX_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
5137 AX_surfxml_peer_availability_file = 0;
5138 AX_surfxml_peer_state_file = 0;
5139 ENTER(AL_surfxml_peer); pushbuffer(0);
5144 /* rule 182 can match eol */
5146 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
5149 /* rule 183 can match eol */
5151 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
5154 /* rule 184 can match eol */
5156 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
5159 /* rule 185 can match eol */
5161 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
5164 /* rule 186 can match eol */
5166 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
5169 /* rule 187 can match eol */
5171 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
5174 /* rule 188 can match eol */
5176 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
5179 /* rule 189 can match eol */
5181 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
5184 /* rule 190 can match eol */
5186 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
5189 /* rule 191 can match eol */
5191 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
5194 /* rule 192 can match eol */
5196 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
5199 /* rule 193 can match eol */
5201 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
5204 /* rule 194 can match eol */
5206 /* rule 195 can match eol */
5208 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_SHARED;
5211 /* rule 196 can match eol */
5213 /* rule 197 can match eol */
5215 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
5218 /* rule 198 can match eol */
5220 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability_file);
5223 /* rule 199 can match eol */
5225 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability_file);
5228 /* rule 200 can match eol */
5230 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state_file);
5233 /* rule 201 can match eol */
5235 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state_file);
5240 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5241 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5242 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5243 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5244 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5245 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
5251 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5252 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5253 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5254 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5255 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5256 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
5258 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5259 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;
5265 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
5269 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
5271 case YY_STATE_EOF(AL_surfxml_peer):
5272 FAIL("EOF in attribute list of `peer' element.");
5276 /* rule 206 can match eol */
5280 ETag_surfxml_peer();
5281 popbuffer(); /* attribute */
5283 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5284 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;
5289 /* rule 207 can match eol */
5291 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
5295 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
5297 case YY_STATE_EOF(E_surfxml_peer):
5298 FAIL("Premature EOF: `</peer>' expected.");
5302 /* rule 209 can match eol */
5304 FAIL("Starting tag <router> is not allowed here.");
5307 /* rule 210 can match eol */
5310 AX_surfxml_router_id = 0;
5311 AX_surfxml_router_coordinates = 0;
5312 ENTER(AL_surfxml_router); pushbuffer(0);
5317 /* rule 211 can match eol */
5319 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
5322 /* rule 212 can match eol */
5324 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
5327 /* rule 213 can match eol */
5329 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
5332 /* rule 214 can match eol */
5334 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
5339 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5340 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
5346 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5347 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
5349 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5355 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5359 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5361 case YY_STATE_EOF(AL_surfxml_router):
5362 FAIL("EOF in attribute list of `router' element.");
5366 /* rule 219 can match eol */
5370 ETag_surfxml_router();
5371 popbuffer(); /* attribute */
5373 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5378 /* rule 220 can match eol */
5380 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5384 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5386 case YY_STATE_EOF(E_surfxml_router):
5387 FAIL("Premature EOF: `</router>' expected.");
5391 /* rule 222 can match eol */
5393 FAIL("Starting tag <link> is not allowed here.");
5396 /* rule 223 can match eol */
5399 AX_surfxml_link_id = 0;
5400 AX_surfxml_link_bandwidth = 0;
5401 AX_surfxml_link_bandwidth_file = 0;
5402 AX_surfxml_link_latency = 24;
5403 AX_surfxml_link_latency_file = 0;
5404 AX_surfxml_link_state = A_surfxml_link_state_ON;
5405 AX_surfxml_link_state_file = 0;
5406 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5407 ENTER(AL_surfxml_link); pushbuffer(0);
5412 /* rule 224 can match eol */
5414 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5417 /* rule 225 can match eol */
5419 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5422 /* rule 226 can match eol */
5424 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5427 /* rule 227 can match eol */
5429 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5432 /* rule 228 can match eol */
5434 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5437 /* rule 229 can match eol */
5439 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5442 /* rule 230 can match eol */
5444 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5447 /* rule 231 can match eol */
5449 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5452 /* rule 232 can match eol */
5454 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5457 /* rule 233 can match eol */
5459 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5462 /* rule 234 can match eol */
5464 /* rule 235 can match eol */
5466 A_surfxml_link_state = A_surfxml_link_state_ON;
5469 /* rule 236 can match eol */
5471 /* rule 237 can match eol */
5473 A_surfxml_link_state = A_surfxml_link_state_OFF;
5476 /* rule 238 can match eol */
5478 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5481 /* rule 239 can match eol */
5483 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5486 /* rule 240 can match eol */
5488 /* rule 241 can match eol */
5490 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5493 /* rule 242 can match eol */
5495 /* rule 243 can match eol */
5497 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5500 /* rule 244 can match eol */
5502 /* rule 245 can match eol */
5504 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
5509 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5510 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5511 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5517 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5518 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5519 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5521 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5522 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5528 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5532 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5534 case YY_STATE_EOF(AL_surfxml_link):
5535 FAIL("EOF in attribute list of `link' element.");
5539 /* rule 250 can match eol */
5543 ETag_surfxml_link();
5544 popbuffer(); /* attribute */
5546 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5547 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5552 /* rule 251 can match eol */
5554 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5558 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5560 case YY_STATE_EOF(E_surfxml_link):
5561 case YY_STATE_EOF(S_surfxml_link_2):
5562 case YY_STATE_EOF(S_surfxml_link):
5563 FAIL("Premature EOF: `</link>' expected.");
5567 /* rule 253 can match eol */
5569 FAIL("Starting tag <route> is not allowed here.");
5572 /* rule 254 can match eol */
5575 AX_surfxml_route_src = 0;
5576 AX_surfxml_route_dst = 0;
5577 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5578 ENTER(AL_surfxml_route); pushbuffer(0);
5583 /* rule 255 can match eol */
5585 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5588 /* rule 256 can match eol */
5590 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5593 /* rule 257 can match eol */
5595 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5598 /* rule 258 can match eol */
5600 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5603 /* rule 259 can match eol */
5605 /* rule 260 can match eol */
5607 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5610 /* rule 261 can match eol */
5612 /* rule 262 can match eol */
5614 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
5619 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5620 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5621 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5627 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5628 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5629 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5631 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;
5637 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5641 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5643 case YY_STATE_EOF(AL_surfxml_route):
5644 FAIL("EOF in attribute list of `route' element.");
5648 /* rule 267 can match eol */
5652 ETag_surfxml_route();
5653 popbuffer(); /* attribute */
5655 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;
5660 /* rule 268 can match eol */
5662 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5666 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5668 case YY_STATE_EOF(S_surfxml_route):
5669 case YY_STATE_EOF(S_surfxml_route_2):
5670 case YY_STATE_EOF(E_surfxml_route):
5671 FAIL("Premature EOF: `</route>' expected.");
5675 /* rule 270 can match eol */
5677 FAIL("Starting tag <ASroute> is not allowed here.");
5680 /* rule 271 can match eol */
5683 AX_surfxml_ASroute_src = 0;
5684 AX_surfxml_ASroute_dst = 0;
5685 AX_surfxml_ASroute_gw_src = 0;
5686 AX_surfxml_ASroute_gw_dst = 0;
5687 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5688 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5693 /* rule 272 can match eol */
5695 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5698 /* rule 273 can match eol */
5700 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5703 /* rule 274 can match eol */
5705 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5708 /* rule 275 can match eol */
5710 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5713 /* rule 276 can match eol */
5715 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
5718 /* rule 277 can match eol */
5720 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
5723 /* rule 278 can match eol */
5725 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5728 /* rule 279 can match eol */
5730 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5733 /* rule 280 can match eol */
5735 /* rule 281 can match eol */
5737 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5740 /* rule 282 can match eol */
5742 /* rule 283 can match eol */
5744 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5749 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5750 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5751 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5752 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5753 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5759 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5760 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5761 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5762 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5763 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5765 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;
5771 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5775 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5777 case YY_STATE_EOF(AL_surfxml_ASroute):
5778 FAIL("EOF in attribute list of `ASroute' element.");
5782 /* rule 288 can match eol */
5786 ETag_surfxml_ASroute();
5787 popbuffer(); /* attribute */
5789 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;
5794 /* rule 289 can match eol */
5796 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5800 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5802 case YY_STATE_EOF(E_surfxml_ASroute):
5803 case YY_STATE_EOF(S_surfxml_ASroute):
5804 case YY_STATE_EOF(S_surfxml_ASroute_2):
5805 FAIL("Premature EOF: `</ASroute>' expected.");
5809 /* rule 291 can match eol */
5811 FAIL("Starting tag <link_ctn> is not allowed here.");
5814 /* rule 292 can match eol */
5817 AX_surfxml_link_ctn_id = 0;
5818 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5819 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
5824 /* rule 293 can match eol */
5826 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
5829 /* rule 294 can match eol */
5831 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
5834 /* rule 295 can match eol */
5836 /* rule 296 can match eol */
5838 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
5841 /* rule 297 can match eol */
5843 /* rule 298 can match eol */
5845 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
5848 /* rule 299 can match eol */
5850 /* rule 300 can match eol */
5852 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5857 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5858 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
5864 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5865 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
5867 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5868 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5869 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5875 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
5879 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
5881 case YY_STATE_EOF(AL_surfxml_link_ctn):
5882 FAIL("EOF in attribute list of `link_ctn' element.");
5886 /* rule 305 can match eol */
5890 ETag_surfxml_link_ctn();
5891 popbuffer(); /* attribute */
5893 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5894 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5895 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5900 /* rule 306 can match eol */
5902 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
5906 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
5908 case YY_STATE_EOF(E_surfxml_link_ctn):
5909 FAIL("Premature EOF: `</link_ctn>' expected.");
5913 /* rule 308 can match eol */
5915 FAIL("Starting tag <bypassRoute> is not allowed here.");
5918 /* rule 309 can match eol */
5921 AX_surfxml_bypassRoute_src = 0;
5922 AX_surfxml_bypassRoute_dst = 0;
5923 AX_surfxml_bypassRoute_gw_src = 0;
5924 AX_surfxml_bypassRoute_gw_dst = 0;
5925 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
5930 /* rule 310 can match eol */
5932 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
5935 /* rule 311 can match eol */
5937 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
5940 /* rule 312 can match eol */
5942 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
5945 /* rule 313 can match eol */
5947 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
5950 /* rule 314 can match eol */
5952 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5955 /* rule 315 can match eol */
5957 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5960 /* rule 316 can match eol */
5962 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5965 /* rule 317 can match eol */
5967 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5972 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5973 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5974 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5975 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5976 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
5982 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5983 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5984 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5985 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5986 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
5988 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;
5994 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
5998 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
6000 case YY_STATE_EOF(AL_surfxml_bypassRoute):
6001 FAIL("EOF in attribute list of `bypassRoute' element.");
6005 /* rule 322 can match eol */
6009 ETag_surfxml_bypassRoute();
6010 popbuffer(); /* attribute */
6012 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;
6017 /* rule 323 can match eol */
6019 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
6023 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
6025 case YY_STATE_EOF(S_surfxml_bypassRoute):
6026 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
6027 case YY_STATE_EOF(E_surfxml_bypassRoute):
6028 FAIL("Premature EOF: `</bypassRoute>' expected.");
6032 /* rule 325 can match eol */
6034 FAIL("Starting tag <process> is not allowed here.");
6037 /* rule 326 can match eol */
6040 AX_surfxml_process_host = 0;
6041 AX_surfxml_process_function = 0;
6042 AX_surfxml_process_start_time = 28;
6043 AX_surfxml_process_kill_time = 33;
6044 ENTER(AL_surfxml_process); pushbuffer(0);
6049 /* rule 327 can match eol */
6051 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
6054 /* rule 328 can match eol */
6056 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
6059 /* rule 329 can match eol */
6061 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
6064 /* rule 330 can match eol */
6066 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
6069 /* rule 331 can match eol */
6071 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
6074 /* rule 332 can match eol */
6076 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
6079 /* rule 333 can match eol */
6081 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
6084 /* rule 334 can match eol */
6086 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
6091 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6092 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6093 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
6099 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6100 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6101 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
6103 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;
6109 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
6113 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
6115 case YY_STATE_EOF(AL_surfxml_process):
6116 FAIL("EOF in attribute list of `process' element.");
6120 /* rule 339 can match eol */
6124 ETag_surfxml_process();
6125 popbuffer(); /* attribute */
6127 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;
6132 /* rule 340 can match eol */
6134 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
6138 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
6140 case YY_STATE_EOF(E_surfxml_process):
6141 case YY_STATE_EOF(S_surfxml_process):
6142 case YY_STATE_EOF(S_surfxml_process_2):
6143 FAIL("Premature EOF: `</process>' expected.");
6147 /* rule 342 can match eol */
6149 FAIL("Starting tag <argument> is not allowed here.");
6152 /* rule 343 can match eol */
6155 AX_surfxml_argument_value = 0;
6156 ENTER(AL_surfxml_argument); pushbuffer(0);
6161 /* rule 344 can match eol */
6163 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
6166 /* rule 345 can match eol */
6168 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
6173 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6174 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
6180 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6181 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
6183 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6189 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
6193 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
6195 case YY_STATE_EOF(AL_surfxml_argument):
6196 FAIL("EOF in attribute list of `argument' element.");
6200 /* rule 350 can match eol */
6204 ETag_surfxml_argument();
6205 popbuffer(); /* attribute */
6207 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6212 /* rule 351 can match eol */
6214 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
6218 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
6220 case YY_STATE_EOF(E_surfxml_argument):
6221 FAIL("Premature EOF: `</argument>' expected.");
6225 /* rule 353 can match eol */
6227 FAIL("Starting tag <config> is not allowed here.");
6230 /* rule 354 can match eol */
6233 AX_surfxml_config_id = 0;
6234 ENTER(AL_surfxml_config); pushbuffer(0);
6239 /* rule 355 can match eol */
6241 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
6244 /* rule 356 can match eol */
6246 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
6251 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6257 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6259 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6265 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6269 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6271 case YY_STATE_EOF(AL_surfxml_config):
6272 FAIL("EOF in attribute list of `config' element.");
6276 /* rule 361 can match eol */
6280 ETag_surfxml_config();
6281 popbuffer(); /* attribute */
6283 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
6288 /* rule 362 can match eol */
6290 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6294 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6296 case YY_STATE_EOF(S_surfxml_config):
6297 case YY_STATE_EOF(S_surfxml_config_2):
6298 case YY_STATE_EOF(E_surfxml_config):
6299 FAIL("Premature EOF: `</config>' expected.");
6302 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
6303 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
6305 /* rule 364 can match eol */
6307 FAIL("Starting tag <prop> is not allowed here.");
6310 /* rule 365 can match eol */
6313 AX_surfxml_prop_id = 0;
6314 AX_surfxml_prop_value = 0;
6315 ENTER(AL_surfxml_prop); pushbuffer(0);
6320 /* rule 366 can match eol */
6322 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
6325 /* rule 367 can match eol */
6327 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
6330 /* rule 368 can match eol */
6332 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
6335 /* rule 369 can match eol */
6337 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
6342 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6343 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6344 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
6350 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6351 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6352 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
6354 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6355 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6356 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6357 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6358 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6364 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
6368 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
6370 case YY_STATE_EOF(AL_surfxml_prop):
6371 FAIL("EOF in attribute list of `prop' element.");
6375 /* rule 374 can match eol */
6379 ETag_surfxml_prop();
6380 popbuffer(); /* attribute */
6382 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6383 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6384 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6385 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6386 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6391 /* rule 375 can match eol */
6393 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
6397 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
6399 case YY_STATE_EOF(E_surfxml_prop):
6400 FAIL("Premature EOF: `</prop>' expected.");
6403 /* EPILOG: after the root element. */
6407 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
6409 case YY_STATE_EOF(EPILOG):
6413 /* CHARACTER DATA. */
6415 /* Non-defined standard entities... */
6436 /* Character entities. */
6439 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
6443 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
6447 /* rule 385 can match eol */
6449 /* rule 386 can match eol */
6451 /* rule 387 can match eol */
6453 /* rule 388 can match eol */
6464 FAIL("Unexpected `]""]>' in character data.");
6471 case YY_STATE_EOF(VALUE1):
6472 FAIL("EOF in literal (\"'\" expected).");
6479 case YY_STATE_EOF(VALUE2):
6480 FAIL("EOF in literal (`\"' expected).");
6484 /* rule 393 can match eol */
6486 BUFFERPUTC(surf_parse_text[0]);
6490 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
6497 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
6500 BUFFERPUTC(surf_parse_text[0]);
6502 case YY_STATE_EOF(CDATA):
6503 FAIL("EOF in CDATA section.");
6506 /* Impossible rules to avoid warnings from flex(1). */
6507 /* Ideally, this should be replaced by code in flexml.pl that
6508 generates just the states not covered by other rules. */
6511 /* rule 397 can match eol */
6513 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
6520 case YY_STATE_EOF(INITIAL):
6521 case YY_STATE_EOF(ROOT_surfxml_platform):
6522 case YY_STATE_EOF(S_surfxml_platform_2):
6523 case YY_STATE_EOF(S_surfxml_platform_5):
6524 case YY_STATE_EOF(S_surfxml_platform_7):
6525 case YY_STATE_EOF(S_surfxml_random_1):
6526 case YY_STATE_EOF(S_surfxml_AS_2):
6527 case YY_STATE_EOF(S_surfxml_AS_5):
6528 case YY_STATE_EOF(S_surfxml_AS_7):
6529 case YY_STATE_EOF(S_surfxml_AS_10):
6530 case YY_STATE_EOF(S_surfxml_AS_12):
6531 case YY_STATE_EOF(S_surfxml_host_1):
6532 case YY_STATE_EOF(S_surfxml_link_1):
6533 case YY_STATE_EOF(S_surfxml_route_1):
6534 case YY_STATE_EOF(S_surfxml_ASroute_1):
6535 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
6536 case YY_STATE_EOF(S_surfxml_process_1):
6537 case YY_STATE_EOF(S_surfxml_config_1):
6538 case YY_STATE_EOF(IMPOSSIBLE):
6541 case YY_END_OF_BUFFER:
6543 /* Amount of text matched not including the EOB char. */
6544 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6546 /* Undo the effects of YY_DO_BEFORE_ACTION. */
6547 *yy_cp = (yy_hold_char);
6548 YY_RESTORE_YY_MORE_OFFSET
6550 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6552 /* We're scanning a new file or input source. It's
6553 * possible that this happened because the user
6554 * just pointed surf_parse_in at a new source and called
6555 * surf_parse_lex(). If so, then we have to assure
6556 * consistency between YY_CURRENT_BUFFER and our
6557 * globals. Here is the right place to do so, because
6558 * this is the first action (other than possibly a
6559 * back-up) that will match for the new input source.
6561 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6562 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
6563 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6566 /* Note that here we test for yy_c_buf_p "<=" to the position
6567 * of the first EOB in the buffer, since yy_c_buf_p will
6568 * already have been incremented past the NUL character
6569 * (since all states make transitions on EOB to the
6570 * end-of-buffer state). Contrast this with the test
6573 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6574 { /* This was really a NUL. */
6575 yy_state_type yy_next_state;
6577 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6579 yy_current_state = yy_get_previous_state( );
6581 /* Okay, we're now positioned to make the NUL
6582 * transition. We couldn't have
6583 * yy_get_previous_state() go ahead and do it
6584 * for us because it doesn't know how to deal
6585 * with the possibility of jamming (and we don't
6586 * want to build jamming into it because then it
6587 * will run more slowly).
6590 yy_next_state = yy_try_NUL_trans( yy_current_state );
6592 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6594 if ( yy_next_state )
6596 /* Consume the NUL. */
6597 yy_cp = ++(yy_c_buf_p);
6598 yy_current_state = yy_next_state;
6604 yy_cp = (yy_c_buf_p);
6605 goto yy_find_action;
6609 else switch ( yy_get_next_buffer( ) )
6611 case EOB_ACT_END_OF_FILE:
6613 (yy_did_buffer_switch_on_eof) = 0;
6615 if ( surf_parse_wrap( ) )
6617 /* Note: because we've taken care in
6618 * yy_get_next_buffer() to have set up
6619 * surf_parse_text, we can now set up
6620 * yy_c_buf_p so that if some total
6621 * hoser (like flex itself) wants to
6622 * call the scanner after we return the
6623 * YY_NULL, it'll still work - another
6624 * YY_NULL will get returned.
6626 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6628 yy_act = YY_STATE_EOF(YY_START);
6634 if ( ! (yy_did_buffer_switch_on_eof) )
6640 case EOB_ACT_CONTINUE_SCAN:
6642 (yytext_ptr) + yy_amount_of_matched_text;
6644 yy_current_state = yy_get_previous_state( );
6646 yy_cp = (yy_c_buf_p);
6647 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6650 case EOB_ACT_LAST_MATCH:
6652 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6654 yy_current_state = yy_get_previous_state( );
6656 yy_cp = (yy_c_buf_p);
6657 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6658 goto yy_find_action;
6665 "fatal flex scanner internal error--no action found" );
6666 } /* end of action switch */
6667 } /* end of scanning one token */
6668 } /* end of surf_parse_lex */
6670 /* yy_get_next_buffer - try to read in a new buffer
6672 * Returns a code representing an action:
6673 * EOB_ACT_LAST_MATCH -
6674 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6675 * EOB_ACT_END_OF_FILE - end of file
6677 static int yy_get_next_buffer (void)
6679 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6680 register char *source = (yytext_ptr);
6681 register int number_to_move, i;
6684 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6686 "fatal flex scanner internal error--end of buffer missed" );
6688 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6689 { /* Don't try to fill the buffer, so this is an EOF. */
6690 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6692 /* We matched a single character, the EOB, so
6693 * treat this as a final EOF.
6695 return EOB_ACT_END_OF_FILE;
6700 /* We matched some text prior to the EOB, first
6703 return EOB_ACT_LAST_MATCH;
6707 /* Try to read more data. */
6709 /* First move last chars to start of buffer. */
6710 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6712 for ( i = 0; i < number_to_move; ++i )
6713 *(dest++) = *(source++);
6715 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6716 /* don't do the read, it's not guaranteed to return an EOF,
6719 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6724 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6726 while ( num_to_read <= 0 )
6727 { /* Not enough room in the buffer - grow it. */
6729 /* just a shorter name for the current buffer */
6730 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6732 int yy_c_buf_p_offset =
6733 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6735 if ( b->yy_is_our_buffer )
6737 int new_size = b->yy_buf_size * 2;
6739 if ( new_size <= 0 )
6740 b->yy_buf_size += b->yy_buf_size / 8;
6742 b->yy_buf_size *= 2;
6744 b->yy_ch_buf = (char *)
6745 /* Include room in for 2 EOB chars. */
6746 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6749 /* Can't grow it, we don't own it. */
6752 if ( ! b->yy_ch_buf )
6754 "fatal error - scanner input buffer overflow" );
6756 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6758 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6763 if ( num_to_read > YY_READ_BUF_SIZE )
6764 num_to_read = YY_READ_BUF_SIZE;
6766 /* Read in more data. */
6767 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6768 (yy_n_chars), (size_t) num_to_read );
6770 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6773 if ( (yy_n_chars) == 0 )
6775 if ( number_to_move == YY_MORE_ADJ )
6777 ret_val = EOB_ACT_END_OF_FILE;
6778 surf_parse_restart(surf_parse_in );
6783 ret_val = EOB_ACT_LAST_MATCH;
6784 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6785 YY_BUFFER_EOF_PENDING;
6790 ret_val = EOB_ACT_CONTINUE_SCAN;
6792 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6793 /* Extend the array by 50%, plus the number we really need. */
6794 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6795 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6796 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6797 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6800 (yy_n_chars) += number_to_move;
6801 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6802 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6804 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6809 /* yy_get_previous_state - get the state just before the EOB char was reached */
6811 static yy_state_type yy_get_previous_state (void)
6813 register yy_state_type yy_current_state;
6814 register char *yy_cp;
6816 yy_current_state = (yy_start);
6818 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6820 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6821 if ( yy_accept[yy_current_state] )
6823 (yy_last_accepting_state) = yy_current_state;
6824 (yy_last_accepting_cpos) = yy_cp;
6826 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6828 yy_current_state = (int) yy_def[yy_current_state];
6829 if ( yy_current_state >= 2424 )
6830 yy_c = yy_meta[(unsigned int) yy_c];
6832 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6835 return yy_current_state;
6838 /* yy_try_NUL_trans - try to make a transition on the NUL character
6841 * next_state = yy_try_NUL_trans( current_state );
6843 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6845 register int yy_is_jam;
6846 register char *yy_cp = (yy_c_buf_p);
6848 register YY_CHAR yy_c = 1;
6849 if ( yy_accept[yy_current_state] )
6851 (yy_last_accepting_state) = yy_current_state;
6852 (yy_last_accepting_cpos) = yy_cp;
6854 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6856 yy_current_state = (int) yy_def[yy_current_state];
6857 if ( yy_current_state >= 2424 )
6858 yy_c = yy_meta[(unsigned int) yy_c];
6860 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6861 yy_is_jam = (yy_current_state == 2423);
6863 return yy_is_jam ? 0 : yy_current_state;
6868 static int yyinput (void)
6870 static int input (void)
6876 *(yy_c_buf_p) = (yy_hold_char);
6878 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6880 /* yy_c_buf_p now points to the character we want to return.
6881 * If this occurs *before* the EOB characters, then it's a
6882 * valid NUL; if not, then we've hit the end of the buffer.
6884 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6885 /* This was really a NUL. */
6886 *(yy_c_buf_p) = '\0';
6889 { /* need more input */
6890 int offset = (yy_c_buf_p) - (yytext_ptr);
6893 switch ( yy_get_next_buffer( ) )
6895 case EOB_ACT_LAST_MATCH:
6896 /* This happens because yy_g_n_b()
6897 * sees that we've accumulated a
6898 * token and flags that we need to
6899 * try matching the token before
6900 * proceeding. But for input(),
6901 * there's no matching to consider.
6902 * So convert the EOB_ACT_LAST_MATCH
6903 * to EOB_ACT_END_OF_FILE.
6906 /* Reset buffer status. */
6907 surf_parse_restart(surf_parse_in );
6911 case EOB_ACT_END_OF_FILE:
6913 if ( surf_parse_wrap( ) )
6916 if ( ! (yy_did_buffer_switch_on_eof) )
6925 case EOB_ACT_CONTINUE_SCAN:
6926 (yy_c_buf_p) = (yytext_ptr) + offset;
6932 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6933 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6934 (yy_hold_char) = *++(yy_c_buf_p);
6938 surf_parse_lineno++;
6943 #endif /* ifndef YY_NO_INPUT */
6945 /** Immediately switch to a different input stream.
6946 * @param input_file A readable stream.
6948 * @note This function does not reset the start condition to @c INITIAL .
6950 void surf_parse_restart (FILE * input_file )
6953 if ( ! YY_CURRENT_BUFFER ){
6954 surf_parse_ensure_buffer_stack ();
6955 YY_CURRENT_BUFFER_LVALUE =
6956 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6959 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6960 surf_parse__load_buffer_state( );
6963 /** Switch to a different input buffer.
6964 * @param new_buffer The new input buffer.
6967 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6970 /* TODO. We should be able to replace this entire function body
6972 * surf_parse_pop_buffer_state();
6973 * surf_parse_push_buffer_state(new_buffer);
6975 surf_parse_ensure_buffer_stack ();
6976 if ( YY_CURRENT_BUFFER == new_buffer )
6979 if ( YY_CURRENT_BUFFER )
6981 /* Flush out information for old buffer. */
6982 *(yy_c_buf_p) = (yy_hold_char);
6983 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6984 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6987 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6988 surf_parse__load_buffer_state( );
6990 /* We don't actually know whether we did this switch during
6991 * EOF (surf_parse_wrap()) processing, but the only time this flag
6992 * is looked at is after surf_parse_wrap() is called, so it's safe
6993 * to go ahead and always set it.
6995 (yy_did_buffer_switch_on_eof) = 1;
6998 static void surf_parse__load_buffer_state (void)
7000 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7001 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
7002 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
7003 (yy_hold_char) = *(yy_c_buf_p);
7006 /** Allocate and initialize an input buffer state.
7007 * @param file A readable stream.
7008 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
7010 * @return the allocated buffer state.
7012 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
7016 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7018 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
7020 b->yy_buf_size = size;
7022 /* yy_ch_buf has to be 2 characters longer than the size given because
7023 * we need to put in 2 end-of-buffer characters.
7025 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
7026 if ( ! b->yy_ch_buf )
7027 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
7029 b->yy_is_our_buffer = 1;
7031 surf_parse__init_buffer(b,file );
7036 /** Destroy the buffer.
7037 * @param b a buffer created with surf_parse__create_buffer()
7040 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
7046 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
7047 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
7049 if ( b->yy_is_our_buffer )
7050 surf_parse_free((void *) b->yy_ch_buf );
7052 surf_parse_free((void *) b );
7056 extern int isatty (int );
7057 #endif /* __cplusplus */
7059 /* Initializes or reinitializes a buffer.
7060 * This function is sometimes called more than once on the same buffer,
7061 * such as during a surf_parse_restart() or at EOF.
7063 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
7068 surf_parse__flush_buffer(b );
7070 b->yy_input_file = file;
7071 b->yy_fill_buffer = 1;
7073 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
7074 * called from surf_parse_restart() or through yy_get_next_buffer.
7075 * In that case, we don't want to reset the lineno or column.
7077 if (b != YY_CURRENT_BUFFER){
7078 b->yy_bs_lineno = 1;
7079 b->yy_bs_column = 0;
7082 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
7087 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
7088 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
7091 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
7098 /* We always need two end-of-buffer characters. The first causes
7099 * a transition to the end-of-buffer state. The second causes
7100 * a jam in that state.
7102 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
7103 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
7105 b->yy_buf_pos = &b->yy_ch_buf[0];
7108 b->yy_buffer_status = YY_BUFFER_NEW;
7110 if ( b == YY_CURRENT_BUFFER )
7111 surf_parse__load_buffer_state( );
7114 /** Pushes the new state onto the stack. The new state becomes
7115 * the current state. This function will allocate the stack
7117 * @param new_buffer The new state.
7120 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
7122 if (new_buffer == NULL)
7125 surf_parse_ensure_buffer_stack();
7127 /* This block is copied from surf_parse__switch_to_buffer. */
7128 if ( YY_CURRENT_BUFFER )
7130 /* Flush out information for old buffer. */
7131 *(yy_c_buf_p) = (yy_hold_char);
7132 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7133 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7136 /* Only push if top exists. Otherwise, replace top. */
7137 if (YY_CURRENT_BUFFER)
7138 (yy_buffer_stack_top)++;
7139 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7141 /* copied from surf_parse__switch_to_buffer. */
7142 surf_parse__load_buffer_state( );
7143 (yy_did_buffer_switch_on_eof) = 1;
7146 /** Removes and deletes the top of the stack, if present.
7147 * The next element becomes the new top.
7150 void surf_parse_pop_buffer_state (void)
7152 if (!YY_CURRENT_BUFFER)
7155 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7156 YY_CURRENT_BUFFER_LVALUE = NULL;
7157 if ((yy_buffer_stack_top) > 0)
7158 --(yy_buffer_stack_top);
7160 if (YY_CURRENT_BUFFER) {
7161 surf_parse__load_buffer_state( );
7162 (yy_did_buffer_switch_on_eof) = 1;
7166 /* Allocates the stack if it does not exist.
7167 * Guarantees space for at least one push.
7169 static void surf_parse_ensure_buffer_stack (void)
7173 if (!(yy_buffer_stack)) {
7175 /* First allocation is just for 2 elements, since we don't know if this
7176 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7177 * immediate realloc on the next call.
7180 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
7181 (num_to_alloc * sizeof(struct yy_buffer_state*)
7183 if ( ! (yy_buffer_stack) )
7184 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7186 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7188 (yy_buffer_stack_max) = num_to_alloc;
7189 (yy_buffer_stack_top) = 0;
7193 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7195 /* Increase the buffer to prepare for a possible push. */
7196 int grow_size = 8 /* arbitrary grow size */;
7198 num_to_alloc = (yy_buffer_stack_max) + grow_size;
7199 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
7201 num_to_alloc * sizeof(struct yy_buffer_state*)
7203 if ( ! (yy_buffer_stack) )
7204 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7206 /* zero only the new slots.*/
7207 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7208 (yy_buffer_stack_max) = num_to_alloc;
7212 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7213 * @param base the character buffer
7214 * @param size the size in bytes of the character buffer
7216 * @return the newly allocated buffer state object.
7218 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
7223 base[size-2] != YY_END_OF_BUFFER_CHAR ||
7224 base[size-1] != YY_END_OF_BUFFER_CHAR )
7225 /* They forgot to leave room for the EOB's. */
7228 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7230 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
7232 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7233 b->yy_buf_pos = b->yy_ch_buf = base;
7234 b->yy_is_our_buffer = 0;
7235 b->yy_input_file = 0;
7236 b->yy_n_chars = b->yy_buf_size;
7237 b->yy_is_interactive = 0;
7239 b->yy_fill_buffer = 0;
7240 b->yy_buffer_status = YY_BUFFER_NEW;
7242 surf_parse__switch_to_buffer(b );
7247 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
7248 * scan from a @e copy of @a str.
7249 * @param yystr a NUL-terminated string to scan
7251 * @return the newly allocated buffer state object.
7252 * @note If you want to scan bytes that may contain NUL values, then use
7253 * surf_parse__scan_bytes() instead.
7255 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
7258 return surf_parse__scan_bytes(yystr,strlen(yystr) );
7261 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
7262 * scan from a @e copy of @a bytes.
7263 * @param yybytes the byte buffer to scan
7264 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7266 * @return the newly allocated buffer state object.
7268 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
7275 /* Get memory for full buffer, including space for trailing EOB's. */
7276 n = _yybytes_len + 2;
7277 buf = (char *) surf_parse_alloc(n );
7279 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
7281 for ( i = 0; i < _yybytes_len; ++i )
7282 buf[i] = yybytes[i];
7284 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7286 b = surf_parse__scan_buffer(buf,n );
7288 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
7290 /* It's okay to grow etc. this buffer, and we should throw it
7291 * away when we're done.
7293 b->yy_is_our_buffer = 1;
7298 static void yy_push_state (int new_state )
7300 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
7304 (yy_start_stack_depth) += YY_START_STACK_INCR;
7305 new_size = (yy_start_stack_depth) * sizeof( int );
7307 if ( ! (yy_start_stack) )
7308 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
7311 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
7313 if ( ! (yy_start_stack) )
7314 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
7317 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
7322 static void yy_pop_state (void)
7324 if ( --(yy_start_stack_ptr) < 0 )
7325 YY_FATAL_ERROR( "start-condition stack underflow" );
7327 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
7330 #ifndef YY_EXIT_FAILURE
7331 #define YY_EXIT_FAILURE 2
7334 static void yy_fatal_error (yyconst char* msg )
7336 (void) fprintf( stderr, "%s\n", msg );
7337 exit( YY_EXIT_FAILURE );
7340 /* Redefine yyless() so it works in section 3 code. */
7346 /* Undo effects of setting up surf_parse_text. */ \
7347 int yyless_macro_arg = (n); \
7348 YY_LESS_LINENO(yyless_macro_arg);\
7349 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
7350 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
7351 (yy_hold_char) = *(yy_c_buf_p); \
7352 *(yy_c_buf_p) = '\0'; \
7353 surf_parse_leng = yyless_macro_arg; \
7357 /* Accessor methods (get/set functions) to struct members. */
7359 /** Get the current line number.
7362 int surf_parse_get_lineno (void)
7365 return surf_parse_lineno;
7368 /** Get the input stream.
7371 FILE *surf_parse_get_in (void)
7373 return surf_parse_in;
7376 /** Get the output stream.
7379 FILE *surf_parse_get_out (void)
7381 return surf_parse_out;
7384 /** Get the length of the current token.
7387 int surf_parse_get_leng (void)
7389 return surf_parse_leng;
7392 /** Get the current token.
7396 char *surf_parse_get_text (void)
7398 return surf_parse_text;
7401 /** Set the current line number.
7402 * @param line_number
7405 void surf_parse_set_lineno (int line_number )
7408 surf_parse_lineno = line_number;
7411 /** Set the input stream. This does not discard the current
7413 * @param in_str A readable stream.
7415 * @see surf_parse__switch_to_buffer
7417 void surf_parse_set_in (FILE * in_str )
7419 surf_parse_in = in_str ;
7422 void surf_parse_set_out (FILE * out_str )
7424 surf_parse_out = out_str ;
7427 int surf_parse_get_debug (void)
7429 return surf_parse__flex_debug;
7432 void surf_parse_set_debug (int bdebug )
7434 surf_parse__flex_debug = bdebug ;
7437 static int yy_init_globals (void)
7439 /* Initialization is the same as for the non-reentrant scanner.
7440 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
7443 /* We do not touch surf_parse_lineno unless the option is enabled. */
7444 surf_parse_lineno = 1;
7446 (yy_buffer_stack) = 0;
7447 (yy_buffer_stack_top) = 0;
7448 (yy_buffer_stack_max) = 0;
7449 (yy_c_buf_p) = (char *) 0;
7453 (yy_start_stack_ptr) = 0;
7454 (yy_start_stack_depth) = 0;
7455 (yy_start_stack) = NULL;
7457 /* Defined in main.c */
7459 surf_parse_in = stdin;
7460 surf_parse_out = stdout;
7462 surf_parse_in = (FILE *) 0;
7463 surf_parse_out = (FILE *) 0;
7466 /* For future reference: Set errno on error, since we are called by
7467 * surf_parse_lex_init()
7472 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
7473 int surf_parse_lex_destroy (void)
7476 /* Pop the buffer stack, destroying each element. */
7477 while(YY_CURRENT_BUFFER){
7478 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7479 YY_CURRENT_BUFFER_LVALUE = NULL;
7480 surf_parse_pop_buffer_state();
7483 /* Destroy the stack itself. */
7484 surf_parse_free((yy_buffer_stack) );
7485 (yy_buffer_stack) = NULL;
7487 /* Destroy the start condition stack. */
7488 surf_parse_free((yy_start_stack) );
7489 (yy_start_stack) = NULL;
7491 /* Reset the globals. This is important in a non-reentrant scanner so the next time
7492 * surf_parse_lex() is called, initialization will occur. */
7499 * Internal utility routines.
7503 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
7506 for ( i = 0; i < n; ++i )
7511 #ifdef YY_NEED_STRLEN
7512 static int yy_flex_strlen (yyconst char * s )
7515 for ( n = 0; s[n]; ++n )
7522 void *surf_parse_alloc (yy_size_t size )
7524 return (void *) malloc( size );
7527 void *surf_parse_realloc (void * ptr, yy_size_t size )
7529 /* The cast to (char *) in the following accommodates both
7530 * implementations that use char* generic pointers, and those
7531 * that use void* generic pointers. It works with the latter
7532 * because both ANSI C and C++ allow castless assignment from
7533 * any pointer type to void*, and deal with argument conversions
7534 * as though doing an assignment.
7536 return (void *) realloc( (char *) ptr, size );
7539 void surf_parse_free (void * ptr )
7541 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
7544 #define YYTABLES_NAME "yytables"
7546 /* Element context stack lookup. */
7547 int surfxml_element_context(int i)
7549 return (0<i && i<yy_start_stack_depth
7550 ? yy_start_stack[yy_start_stack_ptr - i]
7555 void print_yy_stack(char* fmt, ...)
7557 int i = 0; va_list ap; va_start(ap, fmt);
7558 vfprintf(stderr, fmt, ap);
7559 if (surfxml_statenames) {
7560 for (i=1; i<yy_start_stack_ptr; i++) {
7561 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
7563 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
7568 void print_surfxml_bufferstack()
7571 fputs("Buffer: ", stderr);
7572 for (i = 0; i < blimit; i++) {
7573 if ( surfxml_bufferstack[i] == '\377' ) break;
7574 putc(surfxml_bufferstack[i], stderr);
7579 static void debug_enter(int state, const char* statename) {
7580 yy_push_state(state);
7581 if (surf_parse__flex_debug) {
7582 print_yy_stack("--ENTER(%s) : ",statename);
7583 print_surfxml_bufferstack();
7587 static void debug_leave(void) {
7588 if (surf_parse__flex_debug) {
7589 print_yy_stack("--LEAVE : ");
7590 print_surfxml_bufferstack();
7595 static void debug_set(int state, const char* statename) {
7597 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
7601 static void cleanup(void)
7603 if (surfxml_statenames) {
7604 free(surfxml_statenames);
7605 surfxml_statenames = NULL;
7607 free(surfxml_bufferstack);
7608 surfxml_bufferstack = NULL;
7614 static int fail(const char* fmt, ...)
7616 int chars_left, used;
7617 va_list ap; va_start(ap, fmt);
7618 #ifdef FLEXML_yylineno
7619 used = sprintf(flexml_err_msg,
7620 "Invalid XML (XML input line %d, state %d): ",
7621 surf_parse_lineno, YY_START);
7623 used = sprintf(flexml_err_msg,
7624 "Invalid XML (state %d): ",
7627 chars_left = flexml_max_err_msg_size - used - 1;
7628 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
7631 #ifndef FLEXML_quiet_parser
7632 /* print directly to sdterr */
7633 fprintf(stderr, "%s\n", flexml_err_msg);
7634 flexml_err_msg[0] = '\0';