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 494
407 #define YY_END_OF_BUFFER 495
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[2960] =
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
442 0, 0, 0, 0, 0, 0, 495, 493, 15, 10,
443 10, 15, 15, 473, 10, 473, 5, 6, 5, 8,
444 9, 8, 489, 481, 482, 490, 487, 490, 488, 492,
445 481, 482, 492, 493, 22, 10, 22, 22, 22, 20,
446 22, 26, 10, 26, 26, 493, 26, 493, 493, 26,
447 33, 10, 33, 33, 33, 31, 33, 37, 10, 37,
448 37, 48, 10, 48, 48, 48, 46, 48, 48, 48,
450 490, 489, 78, 10, 78, 78, 78, 76, 78, 78,
451 78, 78, 78, 82, 10, 82, 493, 82, 101, 10,
452 101, 101, 101, 99, 101, 101, 101, 105, 10, 105,
453 128, 10, 128, 128, 128, 126, 128, 128, 132, 10,
454 132, 132, 493, 132, 132, 493, 493, 132, 493, 132,
455 493, 132, 145, 10, 145, 145, 145, 143, 145, 145,
456 145, 145, 149, 10, 149, 149, 160, 10, 160, 160,
457 160, 158, 160, 160, 160, 164, 10, 164, 164, 173,
458 10, 173, 173, 173, 171, 173, 173, 177, 10, 177,
459 186, 10, 186, 186, 186, 184, 186, 186, 190, 10,
461 190, 213, 10, 213, 213, 213, 211, 213, 213, 213,
462 213, 213, 217, 10, 217, 493, 217, 258, 10, 258,
463 258, 258, 256, 258, 258, 258, 258, 258, 258, 258,
464 258, 262, 10, 262, 283, 10, 283, 283, 283, 281,
465 283, 283, 283, 283, 283, 283, 283, 287, 10, 287,
466 296, 10, 296, 296, 296, 294, 296, 296, 300, 10,
467 300, 327, 10, 327, 327, 327, 325, 327, 327, 327,
468 327, 331, 10, 331, 331, 344, 10, 344, 344, 344,
469 342, 344, 344, 348, 10, 348, 493, 348, 365, 10,
470 365, 365, 365, 363, 365, 365, 365, 369, 10, 369,
472 369, 382, 10, 382, 382, 382, 380, 382, 382, 386,
473 10, 386, 395, 10, 395, 395, 395, 393, 395, 395,
474 399, 10, 399, 399, 412, 10, 412, 412, 412, 410,
475 412, 412, 412, 416, 10, 416, 416, 433, 10, 433,
476 433, 433, 431, 433, 433, 433, 433, 433, 437, 10,
477 437, 493, 437, 444, 10, 444, 444, 444, 442, 444,
478 448, 10, 448, 455, 10, 455, 455, 455, 453, 455,
479 459, 10, 459, 459, 468, 10, 468, 468, 468, 466,
480 468, 468, 472, 10, 472, 10, 0, 2, 2, 0,
481 4, 7, 484, 483, 0, 0, 0, 0, 0, 0,
483 0, 21, 23, 23, 0, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
485 0, 0, 0, 0, 0, 0, 0, 32, 34, 34,
486 0, 47, 49, 49, 49, 49, 0, 0, 0, 77,
487 79, 79, 79, 79, 79, 79, 79, 79, 79, 0,
488 0, 100, 102, 102, 102, 102, 0, 127, 129, 129,
489 129, 0, 0, 0, 0, 0, 0, 0, 0, 0,
490 0, 0, 0, 144, 146, 146, 146, 146, 146, 0,
491 159, 161, 161, 161, 161, 0, 172, 174, 174, 174,
492 0, 185, 187, 187, 187, 0, 212, 214, 214, 214,
494 214, 214, 214, 0, 0, 257, 259, 259, 259, 259,
495 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
496 0, 282, 284, 284, 284, 284, 284, 284, 284, 284,
497 0, 295, 297, 297, 297, 0, 326, 328, 328, 328,
498 328, 328, 328, 0, 343, 345, 345, 345, 345, 0,
499 0, 364, 366, 366, 366, 366, 366, 0, 381, 383,
500 383, 383, 0, 394, 396, 396, 396, 0, 411, 413,
501 413, 413, 413, 0, 432, 434, 434, 434, 434, 434,
502 434, 0, 0, 443, 445, 445, 0, 454, 456, 456,
503 0, 467, 469, 469, 469, 0, 0, 0, 0, 0,
505 3, 0, 0, 0, 0, 0, 0, 0, 491, 0,
506 23, 0, 0, 107, 0, 0, 0, 0, 0, 0,
507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
508 0, 0, 106, 0, 0, 0, 0, 0, 34, 0,
509 0, 49, 0, 0, 49, 0, 0, 0, 486, 79,
510 0, 0, 79, 79, 79, 79, 79, 79, 0, 0,
511 0, 102, 102, 102, 0, 0, 0, 0, 129, 0,
512 0, 107, 0, 0, 0, 0, 0, 106, 0, 0,
513 0, 0, 146, 0, 0, 146, 146, 0, 0, 161,
514 0, 0, 161, 0, 0, 0, 0, 174, 0, 0,
516 187, 187, 0, 0, 214, 214, 214, 0, 0, 214,
517 214, 0, 0, 0, 0, 259, 259, 0, 0, 259,
518 0, 0, 259, 259, 259, 259, 259, 259, 259, 259,
519 0, 0, 284, 284, 284, 0, 0, 284, 284, 284,
520 0, 0, 297, 0, 0, 0, 0, 328, 0, 0,
521 328, 328, 328, 0, 0, 345, 345, 345, 0, 0,
522 0, 366, 366, 366, 366, 0, 0, 383, 0, 0,
523 0, 0, 396, 396, 0, 0, 413, 413, 413, 0,
524 0, 434, 434, 434, 434, 434, 0, 0, 0, 445,
525 0, 0, 0, 0, 0, 0, 0, 0, 469, 0,
527 0, 0, 14, 1, 0, 0, 479, 0, 0, 0,
528 476, 475, 0, 0, 23, 0, 0, 25, 0, 107,
529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
530 0, 0, 0, 0, 0, 0, 0, 0, 0, 106,
531 0, 0, 0, 0, 0, 34, 0, 0, 36, 0,
532 49, 0, 41, 40, 49, 0, 0, 0, 51, 0,
533 79, 0, 55, 54, 0, 0, 79, 0, 0, 79,
534 79, 79, 0, 0, 81, 0, 0, 102, 102, 102,
535 0, 0, 104, 0, 0, 109, 108, 129, 0, 0,
536 131, 0, 0, 0, 0, 0, 0, 0, 0, 0,
538 0, 0, 146, 0, 136, 135, 146, 146, 0, 0,
539 148, 0, 161, 0, 153, 152, 161, 0, 0, 163,
540 0, 0, 168, 167, 174, 0, 0, 176, 0, 187,
541 187, 0, 0, 189, 0, 214, 214, 214, 0, 194,
542 193, 214, 214, 0, 0, 216, 0, 0, 0, 259,
543 259, 259, 259, 0, 233, 232, 259, 0, 221, 220,
544 0, 0, 259, 259, 259, 259, 259, 259, 259, 0,
545 0, 261, 0, 284, 284, 284, 284, 0, 266, 265,
546 0, 0, 284, 284, 0, 0, 286, 0, 297, 0,
547 291, 290, 0, 0, 299, 0, 328, 0, 304, 303,
549 328, 328, 328, 0, 0, 330, 0, 0, 0, 0,
550 0, 345, 0, 0, 347, 0, 0, 0, 0, 366,
551 366, 0, 0, 366, 0, 0, 368, 0, 383, 0,
552 373, 372, 0, 0, 385, 0, 0, 0, 0, 0,
553 0, 0, 398, 0, 0, 0, 413, 413, 0, 0,
554 0, 0, 415, 0, 434, 434, 434, 434, 434, 0,
555 0, 436, 0, 0, 445, 0, 0, 447, 0, 0,
556 452, 451, 0, 0, 458, 0, 0, 463, 462, 469,
557 0, 0, 471, 0, 0, 0, 480, 474, 0, 0,
558 0, 23, 0, 0, 0, 0, 0, 0, 191, 0,
560 301, 0, 0, 264, 0, 0, 460, 0, 0, 0,
561 0, 0, 0, 0, 0, 263, 0, 0, 0, 0,
562 0, 0, 0, 49, 0, 0, 79, 0, 59, 58,
563 0, 0, 0, 57, 56, 79, 0, 0, 79, 0,
564 461, 102, 0, 0, 102, 0, 129, 0, 130, 0,
565 0, 192, 302, 0, 0, 0, 0, 0, 0, 146,
566 146, 0, 0, 0, 161, 161, 0, 0, 0, 0,
567 0, 0, 187, 0, 214, 214, 0, 0, 214, 214,
568 0, 0, 0, 259, 259, 259, 259, 0, 0, 0,
569 235, 234, 259, 259, 259, 259, 259, 259, 259, 0,
571 284, 284, 284, 284, 0, 274, 273, 284, 284, 0,
572 297, 0, 328, 328, 328, 328, 0, 0, 337, 336,
573 0, 335, 334, 345, 0, 301, 0, 354, 353, 366,
574 366, 0, 352, 351, 366, 0, 383, 0, 0, 392,
575 391, 0, 390, 389, 0, 0, 405, 404, 413, 413,
576 0, 403, 402, 0, 434, 0, 0, 434, 434, 434,
577 0, 0, 445, 0, 0, 469, 0, 0, 0, 0,
578 12, 0, 477, 478, 0, 23, 0, 0, 0, 0,
579 0, 0, 191, 0, 301, 0, 165, 0, 264, 0,
580 0, 460, 0, 332, 0, 39, 0, 0, 0, 0,
582 263, 0, 38, 0, 30, 29, 0, 0, 43, 42,
583 49, 0, 0, 79, 0, 61, 60, 79, 0, 65,
584 64, 79, 0, 461, 102, 0, 0, 0, 0, 0,
585 0, 129, 0, 0, 192, 302, 333, 0, 0, 0,
586 333, 332, 146, 0, 0, 0, 140, 139, 0, 161,
587 161, 0, 0, 170, 169, 0, 0, 183, 182, 187,
588 0, 214, 214, 0, 198, 197, 0, 0, 0, 0,
589 214, 0, 166, 0, 259, 0, 0, 259, 259, 0,
590 231, 230, 0, 0, 259, 259, 259, 259, 259, 259,
591 0, 284, 0, 0, 284, 284, 0, 0, 284, 0,
593 297, 0, 328, 328, 328, 0, 0, 328, 0, 345,
594 0, 0, 366, 366, 366, 0, 383, 0, 0, 413,
595 413, 0, 434, 0, 420, 419, 434, 434, 434, 0,
596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
597 0, 11, 0, 23, 0, 0, 0, 0, 0, 450,
598 0, 0, 165, 0, 0, 0, 53, 332, 288, 0,
599 39, 0, 449, 52, 0, 0, 0, 38, 0, 0,
600 49, 0, 0, 79, 79, 79, 0, 102, 0, 0,
601 0, 0, 0, 0, 0, 0, 0, 96, 95, 0,
602 129, 0, 0, 333, 289, 0, 0, 0, 146, 0,
604 138, 137, 0, 161, 0, 0, 0, 0, 0, 0,
605 0, 214, 214, 0, 196, 195, 0, 0, 0, 214,
606 0, 215, 166, 0, 259, 0, 243, 242, 0, 0,
607 259, 0, 229, 228, 0, 0, 259, 259, 259, 259,
608 0, 0, 0, 284, 0, 270, 269, 0, 0, 284,
609 0, 268, 267, 284, 0, 285, 297, 0, 328, 328,
610 328, 0, 0, 0, 328, 0, 329, 345, 0, 0,
611 0, 0, 0, 0, 366, 0, 383, 0, 0, 0,
612 0, 0, 0, 0, 434, 434, 434, 434, 0, 0,
613 0, 441, 440, 0, 0, 0, 465, 464, 0, 470,
615 0, 0, 0, 0, 0, 0, 0, 349, 0, 0,
616 0, 219, 450, 28, 0, 0, 0, 418, 53, 288,
617 150, 0, 449, 52, 218, 27, 417, 0, 0, 49,
618 0, 0, 50, 79, 0, 0, 79, 0, 0, 0,
619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
620 0, 0, 0, 350, 0, 0, 289, 151, 0, 0,
621 0, 0, 0, 0, 155, 154, 0, 0, 175, 0,
622 181, 180, 0, 214, 214, 0, 0, 214, 0, 259,
623 0, 245, 244, 259, 0, 223, 222, 0, 0, 259,
624 259, 259, 0, 225, 224, 0, 284, 0, 272, 271,
626 284, 284, 297, 0, 328, 0, 0, 328, 328, 0,
627 0, 328, 345, 0, 346, 0, 0, 358, 357, 0,
628 356, 355, 366, 0, 383, 0, 0, 0, 409, 408,
629 0, 407, 406, 0, 434, 434, 434, 434, 0, 0,
630 0, 0, 0, 0, 0, 17, 0, 19, 18, 0,
631 349, 438, 0, 0, 219, 28, 370, 178, 16, 418,
632 150, 0, 0, 218, 27, 417, 0, 0, 49, 485,
633 79, 0, 67, 66, 79, 0, 80, 0, 98, 97,
634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
635 0, 0, 0, 0, 350, 0, 0, 151, 0, 0,
637 142, 141, 0, 0, 157, 156, 0, 0, 214, 214,
638 0, 0, 0, 0, 214, 179, 259, 259, 0, 227,
639 226, 259, 259, 259, 0, 284, 284, 284, 297, 0,
640 298, 328, 0, 310, 309, 328, 328, 0, 0, 0,
641 0, 328, 345, 371, 366, 0, 383, 0, 0, 0,
642 0, 0, 434, 434, 434, 0, 439, 0, 0, 457,
643 0, 0, 0, 17, 0, 438, 0, 0, 370, 178,
644 16, 0, 0, 0, 0, 35, 49, 0, 0, 79,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
648 0, 0, 0, 0, 0, 0, 0, 0, 162, 0,
649 214, 214, 0, 204, 0, 203, 214, 179, 259, 259,
650 0, 0, 259, 259, 0, 260, 284, 284, 284, 297,
651 0, 0, 328, 328, 328, 0, 314, 0, 313, 328,
652 345, 371, 366, 0, 367, 0, 0, 0, 0, 0,
653 0, 422, 421, 0, 0, 434, 434, 0, 435, 439,
654 0, 0, 0, 0, 0, 24, 0, 0, 0, 0,
655 0, 49, 0, 0, 0, 79, 0, 0, 0, 0,
656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
659 0, 0, 0, 0, 0, 0, 188, 214, 214, 206,
660 205, 0, 0, 259, 259, 0, 255, 254, 259, 0,
661 0, 284, 284, 0, 0, 297, 0, 306, 305, 328,
662 328, 328, 316, 315, 0, 0, 345, 366, 0, 0,
663 0, 0, 384, 0, 0, 0, 426, 425, 0, 0,
664 0, 0, 0, 446, 0, 0, 0, 0, 387, 0,
665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
666 79, 0, 0, 0, 0, 88, 0, 0, 0, 0,
667 87, 0, 0, 0, 0, 0, 0, 0, 0, 0,
668 0, 0, 0, 0, 0, 0, 0, 388, 0, 0,
670 214, 0, 0, 0, 208, 207, 259, 259, 259, 0,
671 253, 252, 284, 0, 0, 0, 280, 279, 0, 0,
672 328, 328, 328, 0, 318, 317, 0, 0, 0, 0,
673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
674 0, 0, 424, 423, 0, 0, 0, 0, 387, 133,
675 0, 0, 0, 45, 44, 0, 0, 0, 0, 0,
676 0, 0, 0, 79, 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, 388, 134,
679 0, 0, 0, 214, 0, 210, 209, 259, 259, 259,
681 284, 0, 276, 275, 0, 293, 292, 328, 0, 0,
682 328, 0, 0, 0, 0, 0, 0, 0, 0, 0,
683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
684 0, 0, 0, 400, 133, 84, 83, 0, 0, 0,
685 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,
686 0, 0, 0, 93, 0, 0, 0, 0, 0, 111,
687 119, 0, 0, 0, 0, 0, 110, 118, 0, 0,
688 401, 134, 0, 0, 200, 199, 214, 259, 259, 259,
689 284, 328, 0, 312, 311, 328, 0, 0, 0, 0,
690 0, 0, 0, 0, 0, 0, 375, 0, 0, 374,
692 0, 397, 0, 0, 0, 0, 0, 0, 0, 0,
693 0, 0, 0, 400, 84, 83, 0, 0, 0, 0,
694 0, 0, 0, 0, 0, 63, 62, 0, 0, 0,
695 0, 0, 0, 0, 0, 0, 113, 0, 0, 0,
696 0, 112, 0, 0, 401, 0, 147, 214, 259, 259,
697 0, 0, 284, 0, 0, 0, 0, 0, 0, 0,
698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
700 0, 75, 71, 0, 0, 74, 70, 0, 92, 0,
701 0, 91, 0, 0, 0, 103, 0, 0, 0, 0,
703 0, 0, 0, 0, 214, 259, 259, 0, 0, 0,
704 284, 0, 308, 307, 0, 0, 0, 341, 0, 340,
705 0, 362, 0, 361, 0, 377, 379, 376, 378, 0,
706 414, 428, 0, 427, 0, 0, 0, 0, 12, 0,
707 12, 0, 0, 0, 0, 0, 86, 90, 85, 89,
708 125, 0, 0, 123, 124, 0, 0, 122, 214, 259,
709 259, 0, 0, 0, 0, 284, 0, 0, 0, 0,
710 339, 338, 360, 359, 0, 0, 0, 0, 0, 0,
711 0, 0, 0, 0, 0, 115, 0, 0, 114, 0,
712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
715 0, 0, 0, 0, 0, 69, 0, 68, 0, 0,
716 121, 0, 120, 0, 202, 201, 0, 251, 250, 0,
717 0, 0, 0, 0, 0, 0, 0, 0, 0, 278,
718 277, 0, 0, 0, 0, 0, 0, 0, 0, 0,
719 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 430, 429, 0, 73, 72, 0, 0, 0, 0,
722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
726 0, 0, 0, 0, 117, 116, 0, 0, 0, 0,
727 0, 0, 237, 0, 0, 236, 0, 0, 320, 0,
728 0, 319, 0, 0, 0, 0, 0, 241, 0, 240,
729 0, 322, 0, 321, 0, 0, 0, 0, 0, 0,
730 0, 0, 0, 0, 0, 0, 247, 0, 246, 0,
731 0, 0, 0, 0, 0, 249, 248, 239, 238, 324,
732 323, 0, 0, 0, 0, 0, 0, 0, 0, 0,
733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
741 0, 0, 0, 0, 0, 0, 0, 13, 0
744 static yyconst flex_int32_t yy_ec[256] =
746 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
747 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
748 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
749 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
750 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
751 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
752 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
753 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
754 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
755 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
757 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
758 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
759 73, 74, 1, 1, 1, 1, 1, 1, 1, 1,
760 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
761 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
762 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
763 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
764 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
765 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
766 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
768 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
769 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
770 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
771 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
772 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
776 static yyconst flex_int32_t yy_meta[75] =
778 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
779 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
780 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
781 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
782 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
783 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
784 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
788 static yyconst flex_int16_t yy_base[3358] =
790 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
791 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
792 108, 178, 75, 78, 83, 128, 131, 134, 138, 141,
793 158, 198, 201, 204, 208, 211, 228, 231, 234, 237,
794 240, 257, 275, 329, 295, 298, 301, 305, 308, 349,
795 352, 355, 383, 447, 360, 416, 511, 578, 407, 410,
796 413, 467, 470, 473, 477, 480, 645, 713, 531, 534,
797 781, 847, 537, 541, 544, 598, 601, 604, 608, 611,
798 665, 668, 671, 675, 678, 733, 736, 739, 743, 746,
799 801, 804, 807, 811, 814, 867, 870, 873, 877, 880,
801 897, 903, 921, 988, 941, 944, 947, 951, 1008, 1011,
802 1014, 1018, 1055, 1123, 1075, 1078, 1081, 1085, 1143, 1146,
803 1149, 1153, 1191, 1253, 1211, 1214, 1315, 1383, 1217, 1221,
804 1451, 1518, 1224, 1273, 1276, 1279, 1283, 1286, 1335, 1338,
805 1585, 0, 1341, 1345, 1659, 1726, 1348, 1403, 1793, 1850,
806 1406, 1409, 1907, 1974, 1413, 1416, 1471, 1474, 1477, 1481,
807 1538, 1541, 2041, 2108, 1544, 1548, 1679, 1682, 1685, 1689,
808 1746, 1749, 2175, 2242, 1752, 1756, 1813, 1816, 1819, 1823,
809 1870, 1873, 2309, 2366, 1876, 1880, 2423, 2490, 1927, 1930,
810 1933, 1937, 1940, 1994, 1997, 2000, 2557, 2624, 2004, 2007,
812 2061, 2064, 2067, 2071, 2074, 2128, 2691, 2758, 2131, 2134,
813 2138, 2141, 2195, 2198, 2201, 2205, 2825, 2895, 2208, 2262,
814 2965, 3022, 2265, 2268, 2272, 2275, 2329, 2332, 2335, 2339,
815 3079, 3149, 2342, 2386, 0, 0, 8051,10209,10209, 95,
816 100, 29, 41,10209, 103, 51,10209,10209, 8038,10209,
817 10209, 8027,10209, 8042, 8038, 202,10209,10209,10209,10209,
818 8036, 8036, 7989, 153,10209, 161, 8015, 0, 145,10209,
819 7981,10209, 165, 3215, 73, 2342, 315, 357, 8017, 7964,
820 10209, 168, 8007, 0, 152,10209, 7967,10209, 261, 8011,
821 31,10209, 266, 8002, 0, 245,10209, 7960, 7964, 7962,
823 421, 7965,10209, 269, 7991, 0, 340,10209, 7957, 7953,
824 271, 7955, 238,10209, 441, 163, 313, 368,10209, 503,
825 7983, 0, 401,10209, 7940, 7942, 7932,10209, 506, 548,
826 10209, 561, 7973, 0, 481,10209, 7940, 7928,10209, 571,
827 2389, 2397, 161, 571, 38, 7976, 477, 2341, 574, 907,
828 7975, 79,10209, 697, 7966, 0, 482,10209, 7918, 7928,
829 7916, 7919,10209, 703, 426, 530,10209, 706, 7955, 0,
830 546,10209, 7911, 7917, 7895,10209, 765, 559, 564,10209,
831 771, 7947, 0, 549,10209, 7912, 7914,10209, 774, 682,
832 10209, 831, 7942, 0, 615,10209, 7908, 7883,10209, 837,
834 690,10209, 840, 7935, 0, 750,10209, 7882, 7888, 7898,
835 7882, 7876,10209, 906, 825, 7931, 87,10209, 914, 7920,
836 0, 758,10209, 7869, 203, 7875, 7881, 7883, 157, 311,
837 834,10209, 972, 958,10209, 981, 7911, 0, 815,10209,
838 7858, 7856, 7863, 7869, 7871, 7856, 7848,10209, 1021, 959,
839 10209, 1038, 7895, 0, 825,10209, 7851, 7857,10209, 1044,
840 1032,10209, 1048, 7888, 0, 891,10209, 7858, 7852, 7854,
841 15,10209, 1088, 899, 597,10209, 1105, 7882, 0, 956,
842 10209, 7830, 181,10209, 1111, 1098, 7884, 7835,10209, 1114,
843 7872, 0, 1022,10209, 7824, 7819, 299,10209, 1117, 7873,
845 302,10209, 1173, 7864, 0, 1033,10209, 7826, 7828,10209,
846 1179, 1167,10209, 1182, 7859, 0, 1090,10209, 7811, 7807,
847 10209, 1241, 7860, 630,10209, 1247, 7851, 0, 1168,10209,
848 7801, 7796, 7800,10209, 1303, 7849, 785,10209, 1309, 7840,
849 0, 1225,10209, 7790, 7793, 7798, 7792, 7781,10209, 1365,
850 814, 7836, 568,10209, 1368, 7827, 0, 1226,10209, 7795,
851 10209, 1371, 1420,10209, 1376, 7823, 0, 1231,10209, 7790,
852 10209, 1433, 387, 902,10209, 1436, 7817, 0, 1287,10209,
853 7784, 7786,10209, 1440, 1482, 1444, 687, 7760,10209, 7821,
854 7810,10209,10209,10209, 1491, 254, 7757, 7748, 7746, 7794,
856 7749,10209, 0, 7742, 7743, 7763, 7735, 7727, 437, 7732,
857 7732, 7736, 372, 1243, 378, 7720, 7721, 625, 429, 7747,
858 693, 7719, 1508, 7714, 702, 1517, 1518,10209, 0, 7719,
859 7717,10209, 0, 7713, 1692, 7706, 372, 7699, 7746,10209,
860 0, 7703, 1759, 7688, 7710, 7696, 7701, 7699, 7699, 7680,
861 1776,10209, 0, 7692, 7682, 7690, 7670,10209, 0, 1883,
862 7668, 7710, 7692, 7657, 7662, 7667, 695, 7655, 7679, 7644,
863 7643, 970, 1037,10209, 0, 7649, 2448, 7658, 7635, 7637,
864 10209, 0, 7641, 2455, 7638, 7630,10209, 0, 2460, 7635,
865 7634,10209, 0, 7629, 7625, 7627,10209, 0, 7634, 758,
867 2469, 7611, 7632, 7620, 889,10209, 0, 7626, 7626, 2510,
868 7603, 2513, 7600, 7596, 7609, 7609, 7591, 7606, 7605, 7599,
869 7120,10209, 0, 7121, 7120, 7104, 2516, 7098, 7094, 7115,
870 7099,10209, 0, 7099, 2519, 7094,10209, 0, 7097, 2522,
871 7089, 7100, 7099, 7086,10209, 0, 7070, 7086, 7074, 7063,
872 7070,10209, 0, 7054, 7073, 7068, 7053, 7091,10209, 0,
873 7040, 2577, 7044,10209, 0, 7035, 7050, 7038,10209, 0,
874 7019, 7037, 7026, 7026,10209, 0, 7012, 7006, 7011, 7018,
875 7016, 6995, 6992,10209, 0, 6996, 6995,10209, 0, 2580,
876 6992,10209, 0, 2583, 6979, 6974, 7016, 7025, 1278, 6950,
878 10209, 1496, 0, 6942, 6942, 6975, 6974, 6926,10209, 6935,
879 6916, 2394, 2586, 1718, 6926, 6912, 6906, 6911, 6897, 6912,
880 6900, 6890, 6890, 6894, 6897, 6878, 6878, 6869, 6873, 6886,
881 6871, 6865, 1777, 6850, 6867, 6863, 6847, 6860, 6854, 2590,
882 2645, 6845, 2648, 1551, 6836, 6855, 2652, 2655,10209, 6820,
883 2658, 1957, 2711, 6810, 2714, 6813, 6799, 6798, 2720, 2732,
884 6782, 6773, 6781, 6780, 2723, 2781, 2784, 2024, 6762, 2787,
885 2846, 1902, 6764, 6756, 6749, 6740, 6740, 1969, 6736, 6729,
886 6723, 6721, 6711, 2790, 2092, 6725, 6719, 2793, 2796, 6703,
887 2849, 2159, 6716, 2853, 2856, 2859, 2229, 6705, 2915, 2918,
889 6703, 6702, 2923, 2926, 6696, 6682, 6694, 2929, 2296, 6692,
890 6676, 2985, 2988, 6660, 6660, 6669, 1778, 2994, 2474, 6653,
891 2997, 2541, 3000, 6652, 6648, 6642, 6629, 6628, 6624, 6621,
892 3042, 3045, 6617, 37, 6606, 3051, 2611, 3054, 6613, 6596,
893 3057, 3112, 6593, 3099, 2678, 3104, 3108, 6606, 3118, 2877,
894 6595, 6581, 6577, 3127, 3171, 3174, 3178, 3181, 3184, 3205,
895 6577, 3199, 3210, 3213, 3219, 3231, 3250, 6585, 3237, 2885,
896 3241, 3282, 3244, 3255, 3288, 3291, 3294, 3301, 3297, 3315,
897 3320, 6585, 6563, 6570, 6570, 6556, 3323, 3326, 6564, 6548,
898 3329, 3334, 3348, 2947, 3353, 3356, 3359, 2955, 6540, 3367,
900 3377, 6588,10209,10209, 1074, 6543,10209, 6585, 6568, 6517,
901 10209,10209, 6514, 6502, 6506, 3381, 3386,10209, 3392, 1577,
902 6499, 6491, 6499, 6480, 6483, 6468, 6466, 6466, 6453, 6451,
903 6446, 6436, 1114, 6449, 6428, 6429, 6442, 6424, 6425, 1710,
904 6408, 6410, 6403, 1437, 6411, 3401, 3405, 3411,10209, 3414,
905 3419, 3136,10209,10209, 3425, 6430, 3433, 3443,10209, 3446,
906 6388, 3452,10209,10209, 3465, 3468, 3477, 3483, 3488, 6397,
907 3496, 6395, 3501, 3504,10209, 3507, 1651, 6377, 3510, 6375,
908 3514, 3528,10209, 3533, 3536,10209,10209, 6369, 3547, 3552,
909 10209, 3555, 6360, 6373, 6352, 6346, 6336, 6336, 6345, 6344,
911 6323, 6322, 6335, 3559,10209,10209, 6323, 3574, 3577, 3581,
912 10209, 3584, 6329, 3596,10209,10209, 6345, 3587, 3592,10209,
913 3606, 3611,10209,10209, 3619, 3625, 3628,10209, 3631, 3637,
914 3640, 3651, 3658,10209, 3661, 6313, 6317, 3664, 3670,10209,
915 10209, 6295, 6303, 3682, 3685,10209, 3688, 6292, 6290, 6291,
916 6272, 6289, 6281, 3692,10209,10209, 3707, 3710,10209,10209,
917 3718, 3721, 6269, 6273, 6274, 6271, 6265, 6258, 6253, 3729,
918 3732,10209, 3736, 6248, 6241, 6225, 6241, 3739,10209,10209,
919 3755, 3758, 6225, 6233, 3766, 3769,10209, 3773, 6233, 3776,
920 10209,10209, 3788, 3792,10209, 3795, 6209, 3798,10209,10209,
922 6217, 6220, 6219, 3807, 3814,10209, 3817, 3820, 3826, 3838,
923 3841, 6218, 3849, 3852,10209, 3856, 6210, 3859, 3864, 6200,
924 6198, 3878, 3881, 6189, 3889, 3892,10209, 3896, 6188, 3899,
925 10209,10209, 3911, 3915,10209, 3918, 3924, 3930, 3938, 3942,
926 3950, 3956,10209, 3961, 3964, 3969, 6163, 6163, 3982, 3985,
927 3993, 3996,10209, 4000, 6146, 4003, 6165, 6162, 6142, 4006,
928 4015,10209, 4025, 6130, 6145, 4028, 4034,10209, 4037, 4040,
929 10209,10209, 4048, 4056,10209, 4059, 4063,10209,10209, 6140,
930 4071, 4078,10209, 4081, 598, 4091,10209,10209, 6175, 6173,
931 6127, 6117, 4100, 6109, 6116, 6104, 6099, 6105, 1785, 6091,
933 1844, 6087, 6086, 2034, 6081, 6080, 2100, 6069, 6072, 6074,
934 6069, 6060, 6053, 6043, 6040, 2103, 6051, 6046, 4103, 4121,
935 4106, 4112, 4130, 6046, 6074, 4138, 6042, 4143,10209,10209,
936 4151, 4158, 4169,10209,10209, 6037, 4177, 4181, 6032, 4189,
937 2167, 6018, 4195, 4198, 4208, 4213, 6011, 4115,10209, 6003,
938 5999, 2170, 2237, 6002, 5999, 5978, 5977, 5989, 5949, 5932,
939 4216, 4219, 4222, 4240, 5920, 5913, 4243, 4246, 4249, 4264,
940 4267, 4270, 5883, 4278, 5845, 5836, 4285, 4288, 4297, 4308,
941 4311, 5792, 5760, 5769, 4315, 5748, 5712, 4318, 4326, 4336,
942 10209,10209, 4344, 5679, 5696, 5678, 5663, 5675, 5629, 4347,
944 5632, 4350, 5499, 5434, 4355,10209,10209, 4368, 5437, 4371,
945 5421, 4374, 5404, 5409, 5326, 4378, 4381, 4386,10209,10209,
946 4396,10209,10209, 5319, 4404, 2304, 4407,10209,10209, 5316,
947 5320, 4416,10209,10209, 5293, 4425, 5267, 4428, 4432,10209,
948 10209, 4447,10209,10209, 4455, 4458,10209,10209, 5209, 5221,
949 4467,10209,10209, 4475, 5141, 4478, 4487, 5114, 5057, 5063,
950 4481, 5, 4496, 4503, 4506, 4509, 4514, 1077, 69, 4517,
951 10209, 133,10209,10209, 114, 132, 4527, 150, 192, 189,
952 264, 316, 2413, 353, 2418, 395, 2482, 447, 2549, 487,
953 489, 2552, 500, 2619, 588, 3131, 621, 623, 676, 700,
955 2686, 703, 4536, 4539,10209,10209, 4547, 4550,10209,10209,
956 723, 772, 4559, 755, 4562,10209,10209, 771, 4571,10209,
957 10209, 817, 4586, 2753, 824, 4589, 1866, 2191, 4598, 4601,
958 4611, 842, 852, 870, 2816, 2820, 4616, 903, 914, 919,
959 4619, 4622, 919, 4625, 4630, 4639,10209,10209, 4648, 936,
960 4651, 4654, 4657,10209,10209, 4669, 4674,10209,10209, 4688,
961 4691, 978, 968, 4696,10209,10209, 4706, 4710, 4719, 4724,
962 977, 4732, 3072, 1022, 1054, 4737, 4740, 4751, 1039, 4756,
963 10209,10209, 4764, 4769, 4777, 1079, 1106, 1104, 1106, 4782,
964 4785, 1113, 4788, 4791, 4800, 1104, 4806, 4809, 1114, 4818,
966 1125, 4824, 1138, 1134, 1167, 4827, 4830, 1179, 4838, 1168,
967 4845, 1189, 4848, 4852, 4857, 4860, 1184, 4866, 4870, 4880,
968 4885, 4889, 1206, 4899,10209,10209, 1227, 1233, 1227, 4892,
969 1249, 4913, 4916, 4924, 4931, 4936, 4944, 4939, 1344, 1337,
970 1429,10209, 1265, 4958, 4961, 1293, 1292, 1338, 1289, 4321,
971 1305, 1297, 4964, 1327, 1348, 1355, 4967, 4970, 4976, 1370,
972 4980, 1375, 4987, 4990, 1362, 1380, 1383, 4993, 1416, 4996,
973 1435, 1468, 4999, 1428, 5002, 1436, 5005, 5008, 1474, 1471,
974 1668, 1476, 1492, 1480, 1695, 1481, 5011,10209,10209, 5026,
975 5030, 1481, 1744, 5033, 5036, 1496, 1747, 1811, 5039, 5048,
977 10209,10209, 5057, 5060, 5065, 5069, 5078, 5083, 5086, 5090,
978 5098, 1501, 1523, 5104,10209,10209, 5113, 1537, 1540, 1618,
979 5121,10209, 5124, 1644, 1644, 5128,10209,10209, 5136, 5140,
980 1647, 5148,10209,10209, 5156, 5159, 5167, 1661, 1676, 1685,
981 5170, 5174, 5188, 1700, 5191,10209,10209, 5199, 5203, 1716,
982 5211,10209,10209, 1711, 5219,10209, 1722, 5222, 1723, 5225,
983 1744, 5228, 1773, 1788, 1773, 5243,10209, 1775, 5246, 1767,
984 5249, 5252, 5267, 5272, 1809, 5280, 1818, 5287, 5290, 5293,
985 5299, 5311, 5314, 5322, 1828, 1832, 1831, 1866, 5325, 1876,
986 5330,10209,10209, 5347, 5350, 5356,10209,10209, 5370,10209,
988 1926, 2186, 1950, 1886, 5374, 5377, 5392, 5395, 1881, 1911,
989 1893, 5399, 5404, 5407, 1900, 1912, 1908, 5411, 5414, 5417,
990 5420, 1927, 5423, 5426, 5429, 5432, 5435, 1942, 5439, 1956,
991 1968, 5442,10209, 1951, 5445, 5448, 1970, 5463, 5467, 5470,
992 1988, 1990, 1992, 2004, 1997, 2022, 2033, 2040, 2046, 2040,
993 5478, 5485, 5491, 5499, 2045, 2023, 5503, 5506, 5509, 5512,
994 5520, 5523, 5528, 5541,10209,10209, 5549, 5554,10209, 5557,
995 10209,10209, 5568, 2030, 2023, 2112, 2123, 2037, 2046, 2040,
996 5573,10209,10209, 2062, 5581,10209,10209, 5589, 5592, 2096,
997 2087, 2093, 5601,10209,10209, 5609, 2097, 5612,10209,10209,
999 2096, 2106, 2099, 5622, 2135, 5628, 5631, 2161, 2153, 2246,
1000 2257, 2158, 2174, 5641,10209, 2167, 5646,10209,10209, 5654,
1001 10209,10209, 2183, 5662, 2174, 5665, 5668, 5674,10209,10209,
1002 5687,10209,10209, 5696, 5700, 5705, 5708, 5718, 5726, 2190,
1003 5732, 5736, 5739, 2262, 2281, 5745, 5751,10209,10209, 5760,
1004 5763, 5766, 2221, 2222, 5769, 5773, 5779, 5782, 5785, 5788,
1005 5793, 2227, 2234, 5796, 5799, 5802, 2241, 5805, 2236,10209,
1006 5808, 5811,10209,10209, 5820, 5826,10209, 5829,10209,10209,
1007 2315, 2309, 2325, 2326, 2333, 2337, 2325, 2356, 2360, 2368,
1008 5838, 5841, 2704, 5824, 5850, 2329, 2331, 5853, 2334, 5861,
1010 10209,10209, 5869, 5872,10209,10209, 5880, 5883, 2346, 2352,
1011 2381, 2440, 2421, 2444, 2401, 5888, 2403, 2411, 5893,10209,
1012 10209, 5902, 2405, 2428, 5905, 2425, 2434, 2436, 2453, 5908,
1013 10209, 5911, 5920,10209,10209, 2470, 2465, 2503, 2525, 2506,
1014 2525, 2486, 2491, 5916, 2497, 5929, 5935, 5938, 5941, 5944,
1015 5948, 5966, 5974, 5977, 5982, 5953, 5985, 5988, 5995,10209,
1016 6003, 2553, 2596, 6007, 6014, 6010, 2485, 2481, 6017, 6022,
1017 6025, 2518, 2533, 2535, 6029,10209, 2525, 6034, 6037, 6055,
1018 2557, 2553, 2572, 2560, 2573, 2575, 2571, 2605, 2615, 2626,
1019 6048, 2606, 2611, 2609, 2610, 2605, 2626, 2626, 2662, 2672,
1021 2657, 2675, 2691, 2686, 2683, 2680, 6058, 6061,10209, 6067,
1022 2706, 2713, 2776,10209, 2793,10209, 6073, 6080, 2738, 2760,
1023 6086, 6091, 2750, 6099, 6104,10209, 2743, 2748, 6111, 2774,
1024 6117, 6125, 2800, 2805, 2807, 2863,10209, 2861,10209, 6135,
1025 2814, 6138, 2815, 6141,10209, 6144, 6147, 6155, 6162, 6166,
1026 6170,10209,10209, 6181, 6185, 6193, 6199, 6202,10209, 6205,
1027 6213, 2903, 2995, 2873, 6217,10209, 2808, 2829, 2820, 2837,
1028 2839, 6221, 6232, 2909, 2982, 6224, 2881, 2915, 2915, 2918,
1029 2939, 2922, 2932, 2931, 2938, 2953, 6242, 2925, 2937, 2943,
1030 2949, 2948, 2954, 2948, 2952, 2980, 2987, 3003, 3002, 3006,
1032 2997, 3002, 3019, 3014, 6245, 6248,10209, 3022, 6251,10209,
1033 10209, 6254, 6257, 3031, 3045, 6272,10209,10209, 3056, 6280,
1034 6286, 3044, 6294, 6298, 6303, 6312, 6317,10209,10209, 3062,
1035 3070, 3070,10209,10209, 6325, 6330, 6338, 6343, 6346, 3164,
1036 3448, 6356,10209, 6361, 6364, 6368,10209,10209, 6376, 6383,
1037 6394, 6397, 6405,10209, 3123, 3128, 3211, 3073, 6408, 3091,
1038 3095, 3141, 6412, 6415, 3156, 3162, 3189, 3172, 3190, 3299,
1039 6430, 3205, 3207, 3205, 3213,10209, 3235, 3225, 3224, 3236,
1040 10209, 6433, 3220, 3229, 3233, 3247, 3256, 3257, 3263, 3247,
1041 3256, 3268, 3282, 3291, 3292, 3298, 3280, 6436, 3312, 6439,
1043 6442, 6448, 6454, 6462,10209,10209, 3318, 3309, 3323, 6470,
1044 10209,10209, 3327, 6478, 6485, 6496,10209,10209, 6504, 6507,
1045 3317, 6515, 3331, 6518,10209,10209, 6526, 6529, 6537, 6540,
1046 3350, 3355, 3361, 3363, 3366, 3373, 6548, 6551, 6555, 3386,
1047 3401, 6563,10209,10209, 3410, 3420, 6571, 3379, 6481, 6574,
1048 3365, 3374, 6577,10209,10209, 3429, 3417, 3422, 3431, 3438,
1049 3427, 3429, 3448, 6585, 3442, 3471, 3495, 3497, 3480, 3500,
1050 3514, 3503, 6590, 3458, 3461, 3481, 3535, 3537, 3521, 3486,
1051 3479, 3485, 3508, 3555, 3557, 3547, 3511, 3520, 6593, 6596,
1052 6603, 6609, 6612, 3520, 6623,10209,10209, 3538, 3543, 3533,
1054 3557, 6631,10209,10209, 6640,10209,10209, 3563, 6648, 6651,
1055 3545, 6659, 3601, 3658, 6667, 3662, 3683, 3576, 3589, 3619,
1056 3594, 3614, 3641, 6675, 6678, 3622, 3631, 3628, 3649, 3697,
1057 6681, 6684, 6687, 6706, 6709, 6712, 6715, 3642, 3654, 3657,
1058 3660, 3669, 3680, 3690, 3705, 6718, 6721, 3717, 3717,10209,
1059 3720, 3724, 3724,10209, 3733, 6729, 3712, 3698, 3775,10209,
1060 10209, 3734, 3732, 3734, 3720, 3794,10209,10209, 3757, 3761,
1061 6732, 6736, 6739, 6748,10209,10209, 3757, 3768, 3774, 6758,
1062 3776, 6761, 6764,10209,10209, 6772, 3800, 3812, 3810, 3822,
1063 3813, 3839, 3835, 3848, 3840, 3851,10209, 3851, 3862,10209,
1065 6779,10209, 6782, 3863, 3865, 3880, 3868, 3927, 6785, 6792,
1066 6804, 6835, 6882, 6812, 6815, 6818, 3885, 3905, 3917, 3884,
1067 3904, 3921, 3928, 3909, 6823,10209,10209, 3944, 3922, 3923,
1068 3952, 3936, 3941, 6846, 3911, 3913,10209, 3915, 3935, 3927,
1069 3945,10209, 3945, 3957, 6855, 6858,10209, 3955, 3961, 3972,
1070 6861, 6865, 3964, 6873, 6902, 6893, 6911, 4027, 3995, 4038,
1071 4014, 4049, 4017, 4061, 4032, 4071, 4072, 4077, 4078, 6919,
1072 4083, 4050, 4087, 4057, 4093, 6928, 4123, 4128, 6948, 6995,
1073 4085,10209,10209, 4062, 4114,10209,10209, 4100,10209, 4144,
1074 4145,10209, 4147, 4148, 6922,10209, 4157, 4116, 4116, 4168,
1076 4167, 4128, 4129, 4177, 4135, 4141, 4122, 6968, 4256, 4266,
1077 4150, 6976,10209,10209, 6984, 4269, 4316,10209, 4199,10209,
1078 4197,10209, 4202,10209, 4204,10209,10209,10209,10209, 6941,
1079 10209,10209, 4207,10209, 4208, 4214, 4234, 4216, 4226, 4324,
1080 4230, 7006, 4241, 4231, 4244, 4235,10209,10209,10209,10209,
1081 10209, 4279, 4210,10209,10209, 4430, 4225,10209, 7015, 7018,
1082 7021, 4371, 4249, 4374, 4273, 7026, 4382, 4278, 4411, 4307,
1083 10209,10209,10209,10209, 4322, 4324, 7029, 4359, 4345, 4359,
1084 7044, 4380, 4381, 4408, 4399,10209, 4394, 4438,10209, 4397,
1085 4438, 7048, 7051, 7059, 7066, 7077, 7080, 4415, 4430, 4443,
1087 4426, 4435, 4452, 7088, 7096, 4446, 4459, 4472, 4462, 4470,
1088 4492, 4482, 4485, 7091, 4507,10209, 4499,10209, 4501, 4485,
1089 10209, 4493,10209, 7106,10209,10209, 7114,10209,10209, 7122,
1090 4519, 4530, 4518, 4543, 4544, 4546, 4552, 4548, 7130,10209,
1091 10209, 4557, 4563, 4559, 4562, 4575, 4571, 4605, 4621, 4617,
1092 10209, 4629, 4629, 4584, 4590, 4625, 4636, 4645, 4640, 4645,
1093 4654, 4655, 4654, 4661, 4661, 4666, 4676, 4678, 4676, 4690,
1094 4691,10209,10209, 4709,10209,10209, 4665, 4667, 4684, 4709,
1095 4692, 4723, 4710, 4709, 4726, 4724, 4722, 4739, 4732, 4733,
1096 4751, 4740, 4741, 4773, 4797, 4793, 4797, 4777, 4778, 4786,
1098 4786, 4809, 4806, 4839, 4831, 4829, 4866, 4852, 4842, 4875,
1099 4859, 4860, 4891, 4887,10209,10209, 4876, 4884, 4881, 4895,
1100 4918, 4897,10209, 4922, 4903,10209, 4943, 4919,10209, 4945,
1101 4924,10209, 5011, 4921, 4950, 4939, 4961,10209, 4961,10209,
1102 4992,10209, 4996,10209, 4997, 7138, 5000, 5038, 5021, 5044,
1103 5011, 5012, 5021, 5026, 7141, 5070,10209, 5074,10209, 5085,
1104 5086, 5091, 5095, 5089, 5100,10209,10209,10209,10209,10209,
1105 10209, 5116, 5128, 5165, 5167, 5115, 5146, 5220, 5244, 5109,
1106 5199, 5245, 5247, 5218, 5242, 5147, 5223, 5279, 5286, 5133,
1107 5144, 5278, 5302, 5284, 5299, 5259, 5311, 5326, 5344, 5161,
1109 5349, 5267, 5436, 5433, 5457, 5499, 5515, 5420, 5513, 5464,
1110 5544, 5355, 5371, 5479, 5521, 5323, 5518, 5580, 5607, 5529,
1111 5542, 5589, 5602, 5528, 5535, 5599, 5600, 5608, 5621, 5443,
1112 5672, 5569, 5619, 5674, 5675, 5758, 5816, 5642, 5659, 5639,
1113 5814, 5693, 5841, 5817, 5914, 5706, 5942, 5943, 5951, 5848,
1114 5859, 6002, 6027, 5954, 5597, 7149, 7152,10209,10209, 7172,
1115 7181, 7190, 7199, 7208, 7217, 7226, 7235, 7244, 7253, 7262,
1116 7271, 7280, 7289, 7298, 7307, 7316, 7325, 7334, 7343, 7352,
1117 7361, 7370, 7379, 7388, 7397, 7406, 7415, 7424, 7433, 7442,
1118 7451, 7460, 7469, 7478, 7487, 7496, 7505, 7514, 7523, 7532,
1120 7541, 7550, 7559, 7568, 7577, 7586, 7595, 7604, 7613, 7622,
1121 7631, 7640, 7647, 7654, 7661, 7668, 7675, 7682, 7689, 7696,
1122 7703, 7710, 7717, 7724, 7731, 7738, 7745, 7752, 7759, 7766,
1123 7773, 7780, 7787, 7794, 7801, 7808, 7817, 7824, 7829, 7836,
1124 7841, 7848, 7853, 7860, 7865, 7872, 7877, 7884, 7889, 7896,
1125 7901, 7908, 7913, 7920, 7925, 7932, 7937, 7944, 7949, 7956,
1126 7961, 7968, 7973, 7980, 7985, 7992, 7997, 8004, 8009, 8016,
1127 8021, 8028, 8033, 8040, 8045, 8052, 8057, 8064, 8069, 8076,
1128 8081, 8088, 8093, 8100, 8105, 8114, 8120, 8127, 8135, 8142,
1129 8150, 8157, 8165, 8172, 8180, 8187, 8195, 8202, 8210, 8217,
1131 8225, 8232, 8240, 8247, 8255, 8262, 8270, 8277, 8285, 8292,
1132 8300, 8307, 8315, 8322, 8330, 8337, 8345, 8353, 8361, 8369,
1133 8377, 8384, 8392, 8400, 8408, 8416, 8424, 8431, 8439, 8446,
1134 8454, 8462, 8469, 8477, 8486, 8492, 8499, 8507, 8515, 8523,
1135 8531, 8539, 8546, 8554, 8561, 8569, 8576, 8584, 8591, 8599,
1136 8606, 8614, 8622, 8630, 8638, 8646, 8653, 8661, 8668, 8676,
1137 8683, 8691, 8698, 8706, 8713, 8721, 8728, 8736, 8743, 8751,
1138 8758, 8766, 8774, 8781, 8789, 8796, 8804, 8811, 8819, 8827,
1139 8834, 8842, 8851, 8860, 8867, 8875, 8883, 8890, 8898, 8905,
1140 8913, 8920, 8928, 8935, 8942, 8950, 8957, 8965, 8973, 8980,
1142 8988, 8995, 9003, 9010, 9018, 9025, 9033, 9040, 9048, 9055,
1143 9063, 9070, 9078, 9085, 9093, 9100, 9108, 9116, 9123, 9131,
1144 9138, 9146, 9154, 9162, 9170, 9178, 9186, 9195, 9204, 9211,
1145 9219, 9227, 9234, 9242, 9249, 9257, 9264, 9272, 9279, 9286,
1146 9294, 9301, 9309, 9317, 9325, 9333, 9340, 9348, 9355, 9363,
1147 9370, 9378, 9385, 9393, 9400, 9408, 9415, 9423, 9431, 9439,
1148 9446, 9454, 9462, 9470, 9478, 9485, 9493, 9501, 9509, 9517,
1149 9526, 9535, 9543, 9551, 9559, 9566, 9574, 9581, 9589, 9597,
1150 9605, 9613, 9621, 9629, 9637, 9645, 9653, 9661, 9668, 9675,
1151 9683, 9690, 9697, 9705, 9712, 9719, 9727, 9734, 9742, 9749,
1153 9757, 9765, 9773, 9780, 9788, 9796, 9804, 9813, 9822, 9830,
1154 9838, 9845, 9852, 9860, 9868, 9876, 9884, 9892, 9899, 9906,
1155 9914, 9921, 9928, 9936, 9943, 9950, 9957, 9965, 9972, 9980,
1156 9988, 9996,10004,10012,10020,10028,10037,10046,10054,10062,
1157 10069,10077,10085,10093,10101,10109,10116,10123,10131,10138,
1158 10145,10154,10163,10172,10181,10190,10199
1161 static yyconst flex_int16_t yy_def[3358] =
1163 2960, 2960, 2961, 2961, 2961, 2961, 2962, 2962, 2963, 2963,
1164 2964, 2964, 2965, 2965, 2965, 2965, 2966, 2966, 2960, 2960,
1165 2967, 2967, 2968, 2968, 2968, 2968, 2960, 2960, 2968, 2968,
1166 2968, 2968, 2960, 2960, 2968, 2968, 2960, 2960, 2968, 2968,
1167 2968, 2968, 2969, 2969, 2970, 2970, 2960, 2960, 2970, 2970,
1168 2970, 2970, 2971, 2971, 2965, 2965, 2972, 2972, 2973, 2973,
1169 2960, 2960, 2973, 2973, 2973, 2973, 2974, 2974, 2975, 2975,
1170 2976, 2976, 2977, 2977, 2977, 2977, 2960, 2960, 2977, 2977,
1171 2977, 2977, 2960, 2960, 2977, 2977, 2960, 2960, 2977, 2977,
1172 2977, 2977, 2960, 2960, 2977, 2977, 2960, 2960, 2977, 2977,
1174 2977, 2977, 2978, 2978, 2979, 2979, 2960, 2960, 2979, 2979,
1175 2979, 2979, 2980, 2980, 2981, 2981, 2960, 2960, 2981, 2981,
1176 2981, 2981, 2982, 2982, 2983, 2983, 2984, 2984, 2985, 2985,
1177 2986, 2986, 2987, 2987, 2960, 2960, 2987, 2987, 2987, 2987,
1178 2959, 141, 2988, 2988, 2989, 2989, 2990, 2990, 2991, 2991,
1179 2992, 2992, 2993, 2993, 2994, 2994, 2960, 2960, 2994, 2994,
1180 2994, 2994, 2995, 2995, 2996, 2996, 2960, 2960, 2996, 2996,
1181 2996, 2996, 2997, 2997, 2998, 2998, 2960, 2960, 2998, 2998,
1182 2998, 2998, 2999, 2999, 3000, 3000, 3001, 3001, 3002, 3002,
1183 2960, 2960, 3002, 3002, 3002, 3002, 3003, 3003, 3004, 3004,
1185 2960, 2960, 3004, 3004, 3004, 3004, 3005, 3005, 3006, 3006,
1186 2960, 2960, 3006, 3006, 3006, 3006, 3007, 3007, 3008, 3008,
1187 3009, 3009, 3010, 3010, 2960, 2960, 3010, 3010, 3010, 3010,
1188 3011, 3011, 3012, 3012, 2960, 2960, 2959, 2959, 2959, 2959,
1189 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1190 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1191 2959, 2959, 2959, 2959, 2959, 2959, 2959, 3013, 2959, 2959,
1192 3013, 2959, 2959, 2959, 274, 274, 276, 274, 277, 277,
1193 2959, 2959, 2959, 3014, 2959, 2959, 3014, 2959, 2959, 278,
1194 277, 2959, 2959, 2959, 3015, 2959, 2959, 3015, 3015, 3015,
1196 2959, 2959, 2959, 2959, 2959, 3016, 2959, 2959, 3016, 3016,
1197 3016, 3016, 3016, 2959, 2959, 277, 277, 277, 2959, 2959,
1198 2959, 3017, 2959, 2959, 3017, 3017, 3017, 2959, 2959, 2959,
1199 2959, 2959, 2959, 3018, 2959, 2959, 3018, 3018, 2959, 2959,
1200 278, 277, 278, 341, 342, 342, 342, 342, 347, 349,
1201 348, 347, 2959, 2959, 2959, 3019, 2959, 2959, 3019, 3019,
1202 3019, 3019, 2959, 2959, 277, 277, 2959, 2959, 2959, 3020,
1203 2959, 2959, 3020, 3020, 3020, 2959, 2959, 277, 277, 2959,
1204 2959, 2959, 3021, 2959, 2959, 3021, 3021, 2959, 2959, 2959,
1205 2959, 2959, 2959, 3022, 2959, 2959, 3022, 3022, 2959, 2959,
1207 2959, 2959, 2959, 2959, 3023, 2959, 2959, 3023, 3023, 3023,
1208 3023, 3023, 2959, 2959, 277, 415, 415, 2959, 2959, 2959,
1209 3024, 2959, 2959, 3024, 3024, 3024, 3024, 3024, 3024, 3024,
1210 3024, 2959, 2959, 2959, 2959, 2959, 2959, 3025, 2959, 2959,
1211 3025, 3025, 3025, 3025, 3025, 3025, 3025, 2959, 2959, 2959,
1212 2959, 2959, 2959, 3026, 2959, 2959, 3026, 3026, 2959, 2959,
1213 2959, 2959, 2959, 2959, 3027, 2959, 2959, 3027, 3027, 3027,
1214 3027, 2959, 2959, 415, 277, 2959, 2959, 2959, 3028, 2959,
1215 2959, 3028, 3028, 2959, 2959, 277, 486, 486, 2959, 2959,
1216 2959, 3029, 2959, 2959, 3029, 3029, 3029, 2959, 2959, 486,
1218 486, 2959, 2959, 2959, 3030, 2959, 2959, 3030, 3030, 2959,
1219 2959, 2959, 2959, 2959, 2959, 3031, 2959, 2959, 3031, 3031,
1220 2959, 2959, 486, 486, 2959, 2959, 2959, 3032, 2959, 2959,
1221 3032, 3032, 3032, 2959, 2959, 486, 486, 2959, 2959, 2959,
1222 3033, 2959, 2959, 3033, 3033, 3033, 3033, 3033, 2959, 2959,
1223 277, 551, 551, 2959, 2959, 2959, 3034, 2959, 2959, 3034,
1224 2959, 2959, 2959, 2959, 2959, 2959, 3035, 2959, 2959, 3035,
1225 2959, 2959, 551, 277, 2959, 2959, 2959, 3036, 2959, 2959,
1226 3036, 3036, 2959, 2959, 2959, 2959, 3037, 2959, 2959, 2959,
1227 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1229 2959, 2959, 3038, 3038, 3039, 2959, 2959, 2959, 2959, 2959,
1230 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1231 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 3040, 3040,
1232 3041, 2959, 3042, 3042, 3042, 3042, 2959, 3043, 2959, 2959,
1233 3044, 3044, 3044, 3044, 3044, 3044, 3044, 3044, 3044, 3045,
1234 2959, 2959, 3046, 3046, 3046, 3046, 3047, 2959, 3048, 3048,
1235 3048, 3049, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1236 2959, 2959, 2959, 2959, 3050, 3050, 3050, 3050, 3050, 3051,
1237 2959, 3052, 3052, 3052, 3052, 3053, 2959, 3054, 3054, 3054,
1238 3055, 2959, 3056, 3056, 3056, 3057, 2959, 3058, 3058, 3058,
1240 3058, 3058, 3058, 3059, 2959, 2959, 3060, 3060, 3060, 3060,
1241 3060, 3060, 3060, 3060, 3060, 3060, 3060, 3060, 3060, 3060,
1242 3061, 2959, 3062, 3062, 3062, 3062, 3062, 3062, 3062, 3062,
1243 3063, 2959, 3064, 3064, 3064, 3065, 2959, 3066, 3066, 3066,
1244 3066, 3066, 3066, 3067, 2959, 3068, 3068, 3068, 3068, 3069,
1245 2959, 2959, 3070, 3070, 3070, 3070, 3070, 3071, 2959, 3072,
1246 3072, 3072, 3073, 2959, 3074, 3074, 3074, 3075, 2959, 3076,
1247 3076, 3076, 3076, 3077, 2959, 3078, 3078, 3078, 3078, 3078,
1248 3078, 3079, 2959, 2959, 3080, 3080, 3081, 2959, 3082, 3082,
1249 3083, 2959, 3084, 3084, 3084, 3085, 3086, 2959, 3086, 2959,
1251 2959, 2959, 3087, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1252 3088, 3089, 3089, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1253 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1254 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 3090, 3091,
1255 3091, 3092, 2959, 2959, 3092, 2959, 3093, 3093, 2959, 3094,
1256 2959, 2959, 3094, 3094, 3094, 3094, 3094, 3094, 3095, 3095,
1257 2959, 3096, 3096, 3096, 3097, 3097, 2959, 2959, 3098, 3099,
1258 3099, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1259 2959, 2959, 3100, 2959, 2959, 3100, 3100, 3101, 3101, 3102,
1260 2959, 2959, 3102, 3103, 3103, 2959, 2959, 3104, 3105, 3105,
1262 3106, 3106, 3107, 3107, 3108, 3108, 3108, 2959, 2959, 3108,
1263 3108, 3109, 3109, 2959, 2959, 3110, 3110, 2959, 2959, 3110,
1264 2959, 2959, 3110, 3110, 3110, 3110, 3110, 3110, 3110, 3110,
1265 3111, 3111, 3112, 3112, 3112, 2959, 2959, 3112, 3112, 3112,
1266 3113, 3113, 3114, 2959, 2959, 3115, 3115, 3116, 2959, 2959,
1267 3116, 3116, 3116, 3117, 3117, 3118, 3118, 3118, 3119, 3119,
1268 2959, 3120, 3120, 3120, 3120, 3121, 3121, 3122, 2959, 2959,
1269 3123, 3123, 3124, 3124, 3125, 3125, 3126, 3126, 3126, 3127,
1270 3127, 3128, 3128, 3128, 3128, 3128, 3129, 3129, 2959, 3130,
1271 3131, 3131, 2959, 2959, 3132, 3132, 2959, 2959, 3133, 3134,
1273 3134, 3135, 2959, 2959, 3135, 2959, 2959, 3136, 2959, 2959,
1274 2959, 2959, 2959, 2959, 3137, 2959, 3138, 2959, 3138, 2959,
1275 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1276 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1277 2959, 2959, 2959, 2959, 2959, 3139, 2959, 3140, 2959, 3140,
1278 3141, 2959, 2959, 2959, 3141, 2959, 2959, 3142, 2959, 3142,
1279 3143, 2959, 2959, 2959, 2959, 2959, 3143, 2959, 2959, 3143,
1280 3143, 3143, 2959, 3144, 2959, 3144, 2959, 3145, 3145, 3145,
1281 2959, 3146, 2959, 3146, 2959, 2959, 2959, 3147, 2959, 3148,
1282 2959, 3148, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1284 2959, 2959, 3149, 2959, 2959, 2959, 3149, 3149, 2959, 3150,
1285 2959, 3150, 3151, 2959, 2959, 2959, 3151, 2959, 3152, 2959,
1286 3152, 2959, 2959, 2959, 3153, 2959, 3154, 2959, 3154, 3155,
1287 3155, 2959, 3156, 2959, 3156, 3157, 3157, 3157, 2959, 2959,
1288 2959, 3157, 3157, 2959, 3158, 2959, 3158, 2959, 2959, 3159,
1289 3159, 3159, 3159, 2959, 2959, 2959, 3159, 2959, 2959, 2959,
1290 2959, 2959, 3159, 3159, 3159, 3159, 3159, 3159, 3159, 2959,
1291 3160, 2959, 3160, 3161, 3161, 3161, 3161, 2959, 2959, 2959,
1292 2959, 2959, 3161, 3161, 2959, 3162, 2959, 3162, 3163, 2959,
1293 2959, 2959, 2959, 3164, 2959, 3164, 3165, 2959, 2959, 2959,
1295 3165, 3165, 3165, 2959, 3166, 2959, 3166, 2959, 2959, 2959,
1296 2959, 3167, 2959, 3168, 2959, 3168, 2959, 2959, 2959, 3169,
1297 3169, 2959, 2959, 3169, 2959, 3170, 2959, 3170, 3171, 2959,
1298 2959, 2959, 2959, 3172, 2959, 3172, 2959, 2959, 2959, 2959,
1299 2959, 3173, 2959, 3173, 2959, 2959, 3174, 3174, 2959, 2959,
1300 2959, 3175, 2959, 3175, 3176, 3176, 3176, 3176, 3176, 2959,
1301 3177, 2959, 3177, 2959, 3178, 2959, 3179, 2959, 3179, 2959,
1302 2959, 2959, 2959, 3180, 2959, 3180, 2959, 2959, 2959, 3181,
1303 2959, 3182, 2959, 3182, 3183, 3184, 2959, 2959, 2959, 2959,
1304 2959, 3185, 3186, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1306 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1307 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1308 3187, 2959, 2959, 3188, 2959, 3189, 3190, 2959, 2959, 2959,
1309 2959, 2959, 2959, 2959, 2959, 3190, 2959, 2959, 3190, 3191,
1310 2959, 3192, 2959, 2959, 3192, 3193, 3194, 2959, 2959, 2959,
1311 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 3195,
1312 3195, 2959, 2959, 3196, 3197, 3197, 3198, 2959, 2959, 3199,
1313 2959, 2959, 3200, 3201, 3202, 3202, 2959, 2959, 3202, 3202,
1314 3203, 2959, 2959, 3204, 3204, 3204, 3204, 2959, 2959, 2959,
1315 2959, 2959, 3204, 3204, 3204, 3204, 3204, 3204, 3204, 3205,
1317 3206, 3206, 3206, 3206, 2959, 2959, 2959, 3206, 3206, 3207,
1318 3208, 3209, 3210, 3210, 3210, 3210, 3211, 2959, 2959, 2959,
1319 2959, 2959, 2959, 3212, 3213, 2959, 2959, 2959, 2959, 3214,
1320 3214, 2959, 2959, 2959, 3214, 3215, 3216, 3217, 2959, 2959,
1321 2959, 2959, 2959, 2959, 3218, 2959, 2959, 2959, 3219, 3219,
1322 2959, 2959, 2959, 3220, 3221, 2959, 2959, 3221, 3221, 3221,
1323 3222, 2959, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3229,
1324 2959, 3229, 2959, 2959, 2959, 3230, 3231, 2959, 2959, 2959,
1325 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1326 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1328 2959, 2959, 2959, 2959, 2959, 2959, 3232, 2959, 2959, 2959,
1329 3233, 2959, 3234, 3235, 2959, 2959, 2959, 3235, 2959, 2959,
1330 2959, 3235, 3236, 2959, 3237, 2959, 2959, 2959, 2959, 2959,
1331 3238, 3239, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1332 2959, 2959, 3240, 2959, 2959, 2959, 2959, 2959, 3241, 3242,
1333 3242, 3243, 2959, 2959, 2959, 3244, 2959, 2959, 2959, 3245,
1334 3246, 3247, 3247, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1335 3247, 3248, 2959, 2959, 3249, 2959, 2959, 3249, 3249, 2959,
1336 2959, 2959, 2959, 2959, 3249, 3249, 3249, 3249, 3249, 3249,
1337 3250, 3251, 2959, 2959, 3251, 3251, 2959, 2959, 3251, 3252,
1339 3253, 3254, 3255, 3255, 3255, 2959, 2959, 3255, 3256, 3257,
1340 3258, 2959, 3259, 3259, 3259, 3260, 3261, 3262, 3263, 3264,
1341 3264, 3265, 3266, 2959, 2959, 2959, 3266, 3266, 3266, 3267,
1342 2959, 2959, 2959, 3268, 3269, 2959, 2959, 3270, 3271, 3272,
1343 3272, 2959, 2959, 3273, 3274, 2959, 2959, 2959, 2959, 2959,
1344 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1345 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 3275,
1346 3276, 2959, 3277, 3278, 3278, 3278, 3279, 3280, 2959, 2959,
1347 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 3281,
1348 3282, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 3283, 2959,
1350 2959, 2959, 3284, 3285, 2959, 2959, 3286, 3287, 2959, 2959,
1351 3288, 3289, 3289, 2959, 2959, 2959, 2959, 2959, 2959, 3289,
1352 2959, 2959, 2959, 2959, 3290, 2959, 2959, 2959, 2959, 2959,
1353 3290, 2959, 2959, 2959, 2959, 2959, 3290, 3290, 3290, 3290,
1354 2959, 2959, 3291, 3292, 2959, 2959, 2959, 2959, 2959, 3292,
1355 2959, 2959, 2959, 3292, 2959, 2959, 3293, 3294, 3295, 3295,
1356 3295, 2959, 2959, 2959, 3295, 2959, 2959, 3296, 3297, 2959,
1357 2959, 2959, 2959, 2959, 3298, 3299, 3300, 3301, 3302, 2959,
1358 2959, 2959, 2959, 3303, 3304, 3304, 3304, 3304, 3305, 2959,
1359 2959, 2959, 2959, 3306, 3307, 2959, 2959, 2959, 2959, 2959,
1361 3308, 3309, 3309, 2959, 2959, 2959, 3310, 2959, 2959, 2959,
1362 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1363 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 3311, 3312,
1364 2959, 2959, 2959, 3313, 2959, 2959, 3313, 3314, 2959, 2959,
1365 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1366 3315, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1367 3316, 2959, 2959, 2959, 2959, 2959, 3317, 2959, 2959, 2959,
1368 2959, 2959, 3318, 3319, 3319, 2959, 2959, 3319, 2959, 3320,
1369 2959, 2959, 2959, 3320, 2959, 2959, 2959, 2959, 2959, 3320,
1370 3320, 3320, 2959, 2959, 2959, 3321, 3322, 2959, 2959, 2959,
1372 3322, 3322, 3323, 3324, 3325, 2959, 2959, 3325, 3325, 2959,
1373 2959, 3325, 3326, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1374 2959, 2959, 3327, 3328, 3329, 3330, 3331, 2959, 2959, 2959,
1375 2959, 2959, 2959, 3332, 3333, 3333, 3333, 3333, 3334, 2959,
1376 3335, 3336, 3337, 3338, 3338, 2959, 2959, 2959, 2959, 3339,
1377 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1378 2959, 2959, 2959, 2959, 2959, 2959, 2959, 3340, 3341, 2959,
1379 3342, 2959, 2959, 2959, 3342, 2959, 2959, 2959, 2959, 2959,
1380 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1381 3343, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1383 2959, 2959, 3344, 2959, 2959, 2959, 3345, 3346, 3347, 3347,
1384 2959, 2959, 2959, 2959, 3347, 2959, 3348, 3348, 2959, 2959,
1385 2959, 3348, 3348, 3348, 3349, 3350, 3350, 3350, 3351, 2959,
1386 2959, 3325, 2959, 2959, 2959, 3325, 3325, 2959, 2959, 2959,
1387 2959, 3325, 3326, 2959, 3327, 3328, 3329, 3330, 3331, 3332,
1388 2959, 2959, 3333, 3333, 3333, 3334, 2959, 3335, 2959, 2959,
1389 3337, 3338, 3338, 2959, 3339, 2959, 2959, 2959, 2959, 2959,
1390 2959, 2959, 2959, 2959, 2959, 2959, 3341, 2959, 2959, 3342,
1391 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1392 3343, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1394 2959, 2959, 2959, 2959, 2959, 2959, 3344, 2959, 2959, 3346,
1395 3347, 3347, 2959, 2959, 2959, 2959, 3347, 2959, 3348, 3348,
1396 2959, 2959, 3348, 3348, 2959, 2959, 3350, 3350, 3350, 3351,
1397 2959, 2959, 3325, 3325, 3325, 2959, 2959, 2959, 2959, 3325,
1398 3326, 2959, 3327, 2959, 2959, 2959, 2959, 3330, 3331, 3332,
1399 2959, 2959, 2959, 2959, 2959, 3333, 3333, 2959, 2959, 2959,
1400 3335, 3337, 3338, 3338, 2959, 2959, 2959, 2959, 2959, 2959,
1401 2959, 3341, 2959, 2959, 2959, 3342, 2959, 2959, 2959, 2959,
1402 2959, 2959, 2959, 2959, 2959, 2959, 3343, 2959, 2959, 2959,
1403 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1405 2959, 2959, 2959, 2959, 3344, 2959, 2959, 3347, 3347, 2959,
1406 2959, 2959, 2959, 3348, 3348, 2959, 2959, 2959, 3348, 2959,
1407 2959, 3350, 3350, 2959, 2959, 3351, 2959, 2959, 2959, 3325,
1408 3325, 3325, 2959, 2959, 2959, 2959, 3326, 3327, 2959, 2959,
1409 2959, 2959, 2959, 3331, 3332, 2959, 2959, 2959, 2959, 2959,
1410 2959, 2959, 2959, 2959, 3337, 3338, 3338, 2959, 2959, 2959,
1411 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1412 3342, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1413 2959, 3343, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1414 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 3344,
1416 3347, 2959, 2959, 2959, 2959, 2959, 3348, 3348, 3348, 2959,
1417 2959, 2959, 3350, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1418 3325, 3325, 3325, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1419 2959, 2959, 2959, 2959, 2959, 2959, 3331, 3332, 2959, 2959,
1420 2959, 2959, 2959, 2959, 3337, 3338, 3338, 2959, 2959, 2959,
1421 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1422 2959, 2959, 2959, 3342, 2959, 2959, 2959, 2959, 2959, 2959,
1423 2959, 2959, 3343, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1424 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1425 3344, 2959, 2959, 3347, 2959, 2959, 2959, 3348, 3348, 3348,
1427 3350, 2959, 2959, 2959, 2959, 2959, 2959, 3325, 2959, 2959,
1428 3325, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1429 2959, 2959, 2959, 3331, 3332, 2959, 2959, 2959, 2959, 3337,
1430 3338, 3338, 3338, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1431 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1432 2959, 2959, 2959, 2959, 2959, 3343, 2959, 2959, 2959, 2959,
1433 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1434 2959, 2959, 3344, 2959, 2959, 2959, 3347, 3348, 3348, 3348,
1435 3350, 3325, 2959, 2959, 2959, 3325, 2959, 2959, 2959, 2959,
1436 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1438 2959, 2959, 3332, 2959, 2959, 2959, 2959, 3337, 3338, 3338,
1439 3338, 3352, 3353, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1440 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1441 2959, 2959, 2959, 3343, 2959, 2959, 2959, 2959, 2959, 2959,
1442 2959, 2959, 2959, 2959, 2959, 2959, 2959, 3347, 3348, 3348,
1443 2959, 2959, 3350, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1444 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 3332,
1445 2959, 2959, 2959, 2959, 3337, 3338, 3354, 3355, 3352, 3353,
1446 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1447 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1449 2959, 2959, 2959, 2959, 3347, 3348, 3348, 2959, 2959, 2959,
1450 3350, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1451 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1452 2959, 2959, 2959, 2959, 2959, 3337, 3354, 3338, 3356, 3355,
1453 3357, 3338, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1454 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 3347, 3348,
1455 3348, 2959, 2959, 2959, 2959, 3350, 2959, 2959, 2959, 2959,
1456 2959, 2959, 2959, 2959, 2959, 2959, 3337, 3356, 2959, 3357,
1457 3338, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1458 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1460 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1461 2959, 2959, 2959, 3337, 2959, 2959, 2959, 2959, 2959, 2959,
1462 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1463 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1464 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 3337,
1465 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1466 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1467 2959, 2959, 2959, 3337, 2959, 2959, 2959, 2959, 2959, 2959,
1468 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1469 2959, 2959, 2959, 2959, 3337, 2959, 2959, 2959, 2959, 2959,
1471 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1472 2959, 2959, 2959, 3337, 2959, 2959, 2959, 2959, 2959, 2959,
1473 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1474 2959, 2959, 3337, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1475 2959, 2959, 2959, 2959, 2959, 3337, 2959, 2959, 2959, 2959,
1476 2959, 2959, 2959, 2959, 3337, 2959, 2959, 2959, 2959, 2959,
1477 2959, 2959, 2959, 3337, 3337, 2959, 2959, 2959, 2959, 2959,
1478 2959, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337,
1479 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337,
1480 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337,
1482 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337,
1483 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337,
1484 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337,
1485 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337,
1486 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337, 3337,
1487 3337, 3337, 3337, 3337, 3337, 3337, 3337, 2959, 0, 2959,
1488 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1489 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1490 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1491 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1493 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1494 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1495 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1496 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1497 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1498 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1499 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1500 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1501 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1502 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1504 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1505 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1506 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1507 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1508 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1509 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1510 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1511 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1512 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1513 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1515 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1516 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1517 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1518 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1519 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1520 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1521 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1522 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1523 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1524 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1526 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1527 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1528 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1529 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1530 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
1531 2959, 2959, 2959, 2959, 2959, 2959, 2959
1534 static yyconst flex_int16_t yy_nxt[10284] =
1536 2959, 240, 241, 240, 240, 241, 240, 240, 241, 240,
1537 240, 241, 240, 245, 241, 245, 251, 242, 248, 251,
1538 242, 248, 2959, 243, 2959, 249, 243, 2959, 249, 246,
1539 245, 241, 245, 587, 252, 254, 255, 252, 254, 255,
1540 256, 257, 631, 256, 257, 587, 246, 261, 262, 588,
1541 258, 254, 255, 258, 259, 590, 256, 254, 255, 620,
1542 259, 589, 256, 261, 262, 1631, 258, 241, 241, 241,
1543 742, 589, 258, 241, 241, 241, 273, 241, 273, 273,
1544 241, 273, 743, 264, 273, 241, 273, 608, 1471, 264,
1545 662, 263, 274, 1175, 623, 274, 586, 586, 586, 1176,
1547 275, 586, 586, 586, 586, 586, 586, 263, 265, 266,
1548 241, 266, 265, 265, 265, 265, 265, 265, 265, 267,
1549 265, 265, 265, 618, 265, 269, 265, 270, 265, 273,
1550 241, 273, 241, 241, 241, 241, 241, 241, 619, 273,
1551 241, 273, 273, 241, 273, 275, 624, 613, 276, 590,
1552 623, 276, 1642, 265, 265, 274, 590, 590, 274, 273,
1553 241, 273, 586, 586, 586, 589, 586, 586, 586, 586,
1554 586, 586, 589, 589, 650, 277, 1643, 271, 265, 266,
1555 241, 266, 265, 265, 265, 265, 265, 265, 265, 267,
1556 265, 265, 265, 1644, 265, 269, 265, 270, 265, 273,
1558 241, 273, 241, 241, 241, 241, 241, 241, 595, 273,
1559 241, 273, 273, 241, 273, 277, 601, 1646, 278, 714,
1560 666, 278, 715, 265, 265, 275, 651, 668, 275, 241,
1561 241, 241, 241, 241, 241, 273, 241, 273, 273, 241,
1562 273, 273, 241, 273, 1647, 279, 748, 271, 279, 590,
1563 596, 277, 709, 749, 277, 1648, 597, 280, 273, 241,
1564 273, 598, 586, 586, 586, 589, 599, 586, 586, 586,
1565 586, 586, 586, 710, 280, 281, 282, 241, 282, 281,
1566 281, 281, 281, 281, 281, 281, 283, 281, 281, 281,
1567 648, 281, 285, 281, 286, 281, 289, 241, 289, 289,
1569 241, 289, 241, 241, 241, 649, 241, 241, 241, 289,
1570 241, 289, 290, 758, 804, 290, 1649, 805, 278, 644,
1571 281, 281, 278, 645, 2959, 290, 605, 646, 287, 281,
1572 282, 241, 282, 281, 281, 281, 281, 281, 281, 281,
1573 283, 281, 281, 281, 590, 281, 285, 281, 286, 281,
1574 289, 241, 289, 289, 241, 289, 289, 241, 289, 716,
1575 589, 612, 254, 255, 756, 625, 290, 256, 2959, 291,
1576 1650, 757, 291, 717, 281, 281, 651, 301, 626, 650,
1577 619, 798, 287, 292, 293, 241, 293, 292, 292, 292,
1578 292, 292, 292, 292, 294, 292, 292, 292, 791, 292,
1580 296, 292, 297, 292, 1651, 590, 302, 618, 315, 241,
1581 315, 315, 241, 315, 241, 241, 241, 846, 254, 255,
1582 627, 589, 619, 256, 316, 637, 827, 316, 292, 292,
1583 317, 623, 638, 301, 822, 607, 298, 680, 823, 299,
1584 828, 589, 586, 586, 586, 1652, 300, 292, 293, 241,
1585 293, 292, 292, 292, 292, 292, 292, 292, 294, 292,
1586 292, 292, 302, 292, 296, 292, 297, 292, 241, 241,
1587 241, 315, 241, 315, 315, 241, 315, 832, 315, 241,
1588 315, 315, 241, 315, 317, 590, 590, 316, 2959, 651,
1589 316, 828, 292, 292, 318, 1654, 817, 318, 620, 818,
1591 298, 589, 589, 299, 586, 586, 586, 586, 586, 586,
1592 300, 303, 304, 241, 304, 303, 303, 303, 303, 303,
1593 303, 303, 305, 303, 303, 303, 608, 303, 307, 303,
1594 308, 303, 329, 241, 329, 329, 241, 329, 340, 241,
1595 340, 680, 340, 241, 340, 340, 241, 340, 330, 1655,
1596 590, 330, 590, 590, 341, 1656, 303, 303, 341, 657,
1597 1657, 342, 586, 586, 586, 309, 589, 310, 589, 589,
1598 686, 311, 586, 586, 586, 686, 312, 313, 303, 304,
1599 241, 304, 303, 303, 303, 303, 303, 303, 303, 305,
1600 303, 303, 303, 623, 303, 307, 303, 308, 303, 340,
1602 241, 340, 241, 241, 241, 241, 241, 241, 744, 340,
1603 241, 340, 340, 241, 340, 342, 607, 1003, 343, 590,
1604 670, 343, 651, 303, 303, 344, 610, 623, 344, 665,
1605 611, 623, 309, 666, 310, 589, 619, 1468, 311, 673,
1606 668, 768, 1660, 312, 313, 319, 320, 241, 320, 319,
1607 319, 319, 319, 319, 319, 319, 321, 319, 319, 319,
1608 623, 319, 323, 319, 324, 319, 340, 241, 340, 340,
1609 241, 340, 241, 241, 241, 1663, 241, 241, 241, 340,
1610 241, 340, 345, 1664, 817, 345, 590, 831, 346, 612,
1611 319, 319, 346, 691, 590, 342, 798, 325, 586, 586,
1613 586, 696, 589, 326, 586, 586, 586, 586, 586, 586,
1614 589, 799, 327, 319, 320, 241, 320, 319, 319, 319,
1615 319, 319, 319, 319, 321, 319, 319, 319, 1665, 319,
1616 323, 319, 324, 319, 340, 241, 340, 241, 241, 241,
1617 241, 241, 241, 832, 340, 241, 340, 340, 241, 340,
1618 342, 1666, 834, 347, 590, 818, 347, 876, 319, 319,
1619 345, 834, 590, 345, 831, 325, 586, 586, 586, 1667,
1620 589, 326, 586, 586, 586, 586, 586, 586, 589, 1671,
1621 327, 331, 332, 241, 332, 331, 331, 331, 331, 331,
1622 331, 331, 333, 331, 331, 331, 774, 331, 335, 331,
1624 336, 331, 340, 241, 340, 340, 241, 340, 241, 241,
1625 241, 1672, 241, 241, 241, 340, 241, 340, 348, 590,
1626 906, 348, 1674, 907, 349, 782, 331, 331, 349, 590,
1627 1675, 350, 586, 586, 586, 589, 704, 337, 586, 586,
1628 586, 586, 586, 586, 612, 589, 338, 331, 332, 241,
1629 332, 331, 331, 331, 331, 331, 331, 331, 333, 331,
1630 331, 331, 783, 331, 335, 331, 336, 331, 340, 241,
1631 340, 241, 241, 241, 241, 241, 241, 651, 340, 241,
1632 340, 340, 241, 340, 350, 705, 1676, 351, 651, 718,
1633 351, 1678, 331, 331, 348, 590, 1691, 348, 340, 241,
1635 340, 719, 720, 337, 340, 241, 340, 586, 586, 586,
1636 744, 589, 338, 791, 352, 586, 586, 586, 662, 1692,
1637 352, 353, 354, 241, 354, 353, 353, 353, 353, 353,
1638 353, 353, 355, 353, 353, 353, 1693, 353, 357, 353,
1639 358, 353, 364, 241, 364, 364, 241, 364, 241, 241,
1640 241, 914, 241, 241, 241, 915, 671, 1696, 365, 613,
1641 590, 365, 590, 590, 317, 623, 353, 353, 317, 721,
1642 731, 359, 667, 586, 586, 586, 589, 360, 589, 589,
1643 1697, 361, 586, 586, 586, 1698, 1699, 362, 353, 354,
1644 241, 354, 353, 353, 353, 353, 353, 353, 353, 355,
1646 353, 353, 353, 1704, 353, 357, 353, 358, 353, 364,
1647 241, 364, 364, 241, 364, 364, 241, 364, 832, 364,
1648 241, 364, 586, 586, 586, 365, 590, 1712, 365, 1713,
1649 1720, 366, 881, 353, 353, 366, 590, 590, 359, 586,
1650 586, 586, 589, 736, 360, 586, 586, 586, 361, 586,
1651 586, 586, 589, 589, 362, 367, 368, 241, 368, 367,
1652 367, 367, 367, 367, 367, 367, 369, 367, 367, 367,
1653 1724, 367, 371, 367, 372, 367, 377, 241, 377, 377,
1654 241, 377, 241, 241, 241, 832, 241, 241, 241, 586,
1655 586, 586, 378, 1003, 590, 378, 1003, 1285, 317, 882,
1657 367, 367, 317, 1725, 1731, 373, 586, 586, 586, 750,
1658 589, 374, 586, 586, 586, 586, 586, 586, 586, 586,
1659 586, 1639, 375, 367, 368, 241, 368, 367, 367, 367,
1660 367, 367, 367, 367, 369, 367, 367, 367, 1737, 367,
1661 371, 367, 372, 367, 377, 241, 377, 377, 241, 377,
1662 377, 241, 377, 1738, 377, 241, 377, 751, 1739, 1740,
1663 378, 623, 1744, 378, 1306, 1750, 379, 1754, 367, 367,
1664 379, 590, 590, 373, 586, 586, 586, 1307, 763, 374,
1665 586, 586, 586, 586, 586, 586, 1757, 589, 589, 1759,
1666 375, 380, 381, 241, 381, 380, 380, 380, 380, 380,
1668 380, 380, 382, 380, 380, 380, 1760, 380, 384, 380,
1669 385, 380, 389, 241, 389, 389, 241, 389, 400, 241,
1670 400, 1761, 400, 241, 400, 414, 241, 414, 390, 590,
1671 590, 390, 1765, 1768, 401, 590, 380, 380, 401, 1770,
1672 1777, 415, 586, 586, 586, 589, 589, 386, 586, 586,
1673 586, 589, 387, 380, 381, 241, 381, 380, 380, 380,
1674 380, 380, 380, 380, 382, 380, 380, 380, 1785, 380,
1675 384, 380, 385, 380, 414, 241, 414, 241, 241, 241,
1676 241, 241, 241, 1786, 414, 241, 414, 414, 241, 414,
1677 415, 590, 1787, 416, 1788, 824, 416, 1003, 380, 380,
1679 415, 1790, 825, 415, 586, 586, 586, 589, 826, 386,
1680 586, 586, 586, 1005, 387, 391, 392, 241, 392, 391,
1681 391, 391, 391, 391, 391, 391, 393, 391, 391, 391,
1682 1804, 391, 395, 391, 396, 391, 414, 241, 414, 414,
1683 241, 414, 433, 241, 433, 1808, 433, 241, 433, 449,
1684 241, 449, 417, 1809, 1812, 417, 1471, 1814, 434, 1810,
1685 391, 391, 434, 1003, 1815, 450, 586, 586, 586, 586,
1686 586, 586, 586, 586, 586, 1811, 397, 586, 586, 586,
1687 1801, 1816, 398, 391, 392, 241, 392, 391, 391, 391,
1688 391, 391, 391, 391, 393, 391, 391, 391, 1802, 391,
1690 395, 391, 396, 391, 449, 241, 449, 460, 241, 460,
1691 460, 241, 460, 1817, 473, 241, 473, 473, 241, 473,
1692 450, 1818, 1821, 461, 590, 1822, 461, 1825, 391, 391,
1693 474, 787, 1826, 474, 586, 586, 586, 586, 586, 586,
1694 589, 586, 586, 586, 397, 586, 586, 586, 1471, 1827,
1695 398, 402, 403, 241, 403, 402, 402, 402, 402, 402,
1696 402, 402, 404, 402, 402, 402, 1828, 402, 406, 402,
1697 407, 402, 241, 241, 241, 241, 241, 241, 473, 241,
1698 473, 1803, 473, 241, 473, 1830, 590, 1317, 317, 1831,
1699 1834, 317, 1837, 796, 474, 1841, 402, 402, 474, 408,
1701 1307, 409, 589, 802, 802, 802, 1842, 410, 802, 802,
1702 802, 1845, 1007, 1846, 411, 1847, 1850, 412, 402, 403,
1703 241, 403, 402, 402, 402, 402, 402, 402, 402, 404,
1704 402, 402, 402, 1854, 402, 406, 402, 407, 402, 473,
1705 241, 473, 473, 241, 473, 485, 241, 485, 1858, 485,
1706 241, 485, 1052, 1052, 1052, 475, 1053, 1874, 475, 1054,
1707 836, 486, 803, 402, 402, 486, 408, 825, 409, 836,
1708 824, 1875, 1876, 837, 410, 1877, 825, 825, 1020, 1020,
1709 1020, 411, 826, 837, 412, 418, 419, 241, 419, 418,
1710 418, 418, 418, 418, 418, 418, 420, 418, 418, 418,
1712 421, 418, 422, 418, 423, 418, 421, 421, 421, 421,
1713 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
1714 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
1715 418, 418, 421, 424, 425, 426, 421, 421, 421, 421,
1716 421, 427, 421, 421, 428, 421, 421, 421, 429, 421,
1717 430, 431, 421, 421, 421, 421, 421, 421, 421, 435,
1718 436, 241, 436, 435, 435, 435, 435, 435, 435, 435,
1719 437, 435, 435, 435, 1878, 435, 439, 435, 440, 435,
1720 241, 241, 241, 241, 241, 241, 485, 241, 485, 1843,
1721 485, 241, 485, 843, 843, 843, 487, 1844, 1879, 487,
1723 1880, 1317, 486, 1884, 435, 435, 486, 441, 442, 443,
1724 844, 1040, 1040, 1040, 1341, 444, 1848, 1890, 445, 1020,
1725 1020, 1020, 446, 1891, 1849, 447, 435, 436, 241, 436,
1726 435, 435, 435, 435, 435, 435, 435, 437, 435, 435,
1727 435, 1892, 435, 439, 435, 440, 435, 485, 241, 485,
1728 485, 241, 485, 499, 241, 499, 1897, 499, 241, 499,
1729 851, 851, 851, 488, 1901, 1855, 488, 1902, 1855, 500,
1730 1903, 435, 435, 500, 441, 442, 443, 852, 1040, 1040,
1731 1040, 1856, 444, 1021, 1811, 445, 1483, 1483, 1483, 446,
1732 1905, 1909, 447, 451, 452, 241, 452, 451, 451, 451,
1734 451, 451, 451, 451, 453, 451, 451, 451, 1910, 451,
1735 455, 451, 456, 451, 241, 241, 241, 241, 241, 241,
1736 499, 241, 499, 1911, 499, 241, 499, 1151, 836, 1912,
1737 487, 1913, 1810, 487, 1916, 825, 500, 1152, 451, 451,
1738 500, 861, 1021, 457, 1153, 1485, 1485, 1485, 1856, 458,
1739 451, 452, 241, 452, 451, 451, 451, 451, 451, 451,
1740 451, 453, 451, 451, 451, 1923, 451, 455, 451, 456,
1741 451, 499, 241, 499, 499, 241, 499, 511, 241, 511,
1742 1925, 511, 241, 511, 867, 867, 867, 501, 1679, 1935,
1743 501, 1486, 1936, 512, 1680, 451, 451, 512, 1681, 1937,
1745 457, 868, 1682, 1020, 1020, 1020, 458, 462, 463, 241,
1746 463, 462, 462, 462, 462, 462, 462, 462, 464, 462,
1747 462, 462, 1938, 462, 466, 462, 467, 462, 522, 241,
1748 522, 522, 241, 522, 241, 241, 241, 1940, 241, 241,
1749 241, 522, 241, 522, 523, 1003, 1946, 523, 1952, 1953,
1750 487, 1943, 462, 462, 487, 1954, 468, 523, 1062, 1062,
1751 1062, 1957, 1063, 469, 1958, 1064, 470, 1093, 1959, 1471,
1752 1040, 1040, 1040, 471, 462, 463, 241, 463, 462, 462,
1753 462, 462, 462, 462, 462, 464, 462, 462, 462, 1963,
1754 462, 466, 462, 467, 462, 522, 241, 522, 522, 241,
1756 522, 522, 241, 522, 1967, 535, 241, 535, 535, 241,
1757 535, 523, 1969, 1970, 524, 1945, 1971, 524, 1975, 462,
1758 462, 536, 1981, 468, 536, 1085, 1085, 1085, 1982, 1086,
1759 469, 1983, 1087, 470, 1093, 1489, 1489, 1489, 1984, 1985,
1760 471, 476, 477, 241, 477, 476, 476, 476, 476, 476,
1761 476, 476, 478, 476, 476, 476, 1986, 476, 480, 476,
1762 481, 476, 241, 241, 241, 241, 241, 241, 535, 241,
1763 535, 1987, 535, 241, 535, 535, 241, 535, 487, 1988,
1764 1989, 487, 1990, 1996, 536, 1997, 476, 476, 536, 2009,
1765 2010, 537, 482, 1104, 1104, 1104, 2015, 1105, 2016, 2017,
1767 1106, 1492, 1492, 1492, 1501, 1501, 1501, 483, 476, 477,
1768 241, 477, 476, 476, 476, 476, 476, 476, 476, 478,
1769 476, 476, 476, 2018, 476, 480, 476, 481, 476, 535,
1770 241, 535, 550, 241, 550, 550, 241, 550, 2011, 241,
1771 241, 241, 241, 241, 241, 537, 2012, 2022, 551, 2013,
1772 2023, 551, 2024, 476, 476, 552, 2026, 2014, 552, 482,
1773 1114, 1114, 1114, 2027, 1115, 2028, 2029, 1116, 1524, 1524,
1774 1524, 1535, 1535, 1535, 483, 489, 490, 241, 490, 489,
1775 489, 489, 489, 489, 489, 489, 491, 489, 489, 489,
1776 2032, 489, 493, 489, 494, 489, 550, 241, 550, 550,
1778 241, 550, 550, 241, 550, 1471, 550, 241, 550, 562,
1779 241, 562, 551, 1683, 2036, 551, 2037, 2042, 553, 1684,
1780 489, 489, 553, 1685, 2043, 563, 495, 1686, 2044, 496,
1781 1122, 1122, 1122, 2045, 1123, 2047, 1944, 1124, 1536, 1536,
1782 1536, 497, 489, 490, 241, 490, 489, 489, 489, 489,
1783 489, 489, 489, 491, 489, 489, 489, 2057, 489, 493,
1784 489, 494, 489, 562, 241, 562, 572, 241, 572, 572,
1785 241, 572, 2038, 241, 241, 241, 241, 241, 241, 563,
1786 2039, 1471, 573, 2040, 1486, 573, 2067, 489, 489, 317,
1787 2068, 2041, 317, 495, 2072, 2073, 496, 1139, 1139, 1139,
1789 1471, 1140, 2074, 2077, 1141, 1485, 1485, 1485, 497, 502,
1790 503, 241, 503, 502, 502, 502, 502, 502, 502, 502,
1791 504, 502, 502, 502, 2062, 502, 506, 502, 507, 502,
1792 572, 241, 572, 572, 241, 572, 572, 241, 572, 2081,
1793 572, 241, 572, 584, 241, 584, 573, 2063, 2082, 573,
1794 2083, 1612, 574, 2959, 502, 502, 574, 2084, 2085, 585,
1795 508, 2086, 620, 620, 2087, 509, 502, 503, 241, 503,
1796 502, 502, 502, 502, 502, 502, 502, 504, 502, 502,
1797 502, 2088, 502, 506, 502, 507, 502, 584, 241, 584,
1798 671, 2089, 621, 2090, 2104, 1016, 1016, 1016, 622, 2105,
1800 662, 2106, 2111, 585, 2112, 623, 672, 2113, 662, 624,
1801 663, 502, 502, 1018, 1483, 1483, 1483, 508, 669, 1485,
1802 1485, 1485, 509, 513, 514, 241, 514, 513, 513, 513,
1803 513, 513, 513, 513, 515, 513, 513, 513, 664, 513,
1804 517, 513, 518, 513, 665, 2114, 670, 2115, 666, 884,
1805 884, 884, 2116, 2117, 667, 668, 891, 891, 891, 2119,
1806 623, 896, 896, 896, 617, 2120, 885, 2123, 513, 513,
1807 908, 908, 908, 892, 519, 1154, 1154, 1154, 897, 1155,
1808 2124, 2127, 1156, 1653, 1653, 1653, 2128, 909, 2129, 520,
1809 513, 514, 241, 514, 513, 513, 513, 513, 513, 513,
1811 513, 515, 513, 513, 513, 2130, 513, 517, 513, 518,
1812 513, 918, 918, 918, 921, 921, 921, 936, 936, 936,
1813 944, 944, 944, 949, 949, 949, 2134, 2135, 919, 2136,
1814 2137, 922, 2138, 2139, 937, 513, 513, 945, 2140, 2141,
1815 950, 519, 1158, 1158, 1158, 2143, 1159, 2167, 2168, 1160,
1816 1489, 1489, 1489, 1492, 1492, 1492, 520, 525, 526, 241,
1817 526, 525, 525, 525, 525, 525, 525, 525, 527, 525,
1818 525, 525, 1471, 525, 529, 525, 530, 525, 969, 969,
1819 969, 993, 993, 993, 997, 997, 997, 1016, 1016, 1016,
1820 2169, 1047, 1047, 1047, 2170, 970, 2171, 2172, 994, 2177,
1822 2178, 998, 525, 525, 2163, 1018, 2179, 2180, 531, 1049,
1823 2181, 532, 1178, 1178, 1178, 1471, 1179, 2182, 2183, 1180,
1824 1658, 1658, 1658, 533, 525, 526, 241, 526, 525, 525,
1825 525, 525, 525, 525, 525, 527, 525, 525, 525, 2184,
1826 525, 529, 525, 530, 525, 1019, 1047, 1047, 1047, 843,
1827 843, 843, 2164, 1057, 1057, 1057, 1057, 1057, 1057, 851,
1828 851, 851, 2185, 2186, 1049, 2188, 844, 2189, 2190, 525,
1829 525, 1059, 2192, 2193, 1059, 531, 852, 2191, 532, 1190,
1830 1190, 1190, 2194, 1191, 1659, 2195, 1192, 1501, 1501, 1501,
1831 533, 538, 539, 241, 539, 538, 538, 538, 538, 538,
1833 538, 538, 540, 538, 538, 538, 1050, 538, 542, 538,
1834 543, 538, 1065, 1065, 1065, 1068, 1068, 1068, 2196, 2199,
1835 1060, 1073, 1073, 1073, 1081, 1081, 1081, 2092, 2093, 1066,
1836 2094, 2197, 1069, 1073, 1073, 1073, 538, 538, 2095, 1075,
1837 2198, 2096, 1083, 2200, 544, 2097, 545, 2201, 2202, 546,
1838 2203, 1075, 2204, 547, 1524, 1524, 1524, 548, 538, 539,
1839 241, 539, 538, 538, 538, 538, 538, 538, 538, 540,
1840 538, 538, 538, 2208, 538, 542, 538, 543, 538, 2209,
1841 1076, 2210, 1081, 1081, 1081, 867, 867, 867, 1089, 1089,
1842 1089, 884, 884, 884, 1109, 1109, 1109, 1109, 1109, 1109,
1844 1083, 2211, 868, 538, 538, 2214, 1091, 2215, 885, 2219,
1845 2222, 544, 1111, 545, 2223, 1111, 546, 1535, 1535, 1535,
1846 547, 1536, 1536, 1536, 548, 554, 555, 241, 555, 554,
1847 554, 554, 554, 554, 554, 554, 556, 554, 554, 554,
1848 2226, 554, 558, 554, 559, 554, 1084, 1089, 1089, 1089,
1849 891, 891, 891, 2230, 1118, 1118, 1118, 1118, 1118, 1118,
1850 896, 896, 896, 1112, 2231, 1091, 2232, 892, 2233, 2234,
1851 554, 554, 1120, 2237, 2238, 1120, 2258, 897, 1198, 1198,
1852 1198, 2259, 1199, 2260, 1092, 1200, 1230, 1230, 1230, 2261,
1853 1231, 2262, 1471, 1232, 560, 554, 555, 241, 555, 554,
1855 554, 554, 554, 554, 554, 554, 556, 554, 554, 554,
1856 2272, 554, 558, 554, 559, 554, 1126, 1126, 1126, 1126,
1857 1126, 1126, 1003, 1121, 1132, 1132, 1132, 1132, 1132, 1132,
1858 908, 908, 908, 2265, 1128, 2257, 2273, 1128, 2274, 2275,
1859 554, 554, 1134, 2266, 2276, 1134, 2267, 909, 1270, 1270,
1860 1270, 2277, 1271, 2278, 2279, 1272, 1277, 1277, 1277, 2280,
1861 1278, 2281, 2255, 1279, 560, 564, 565, 241, 565, 564,
1862 564, 564, 564, 564, 564, 564, 566, 564, 564, 564,
1863 1129, 564, 568, 564, 569, 564, 1144, 1144, 1144, 1144,
1864 1144, 1144, 1135, 2283, 2284, 918, 918, 918, 921, 921,
1866 921, 1161, 1161, 1161, 1146, 2285, 2268, 1146, 2286, 2287,
1867 564, 564, 919, 2288, 1471, 922, 2269, 2289, 1162, 2270,
1868 2290, 570, 564, 565, 241, 565, 564, 564, 564, 564,
1869 564, 564, 564, 566, 564, 564, 564, 2291, 564, 568,
1870 564, 569, 564, 1170, 1170, 1170, 1170, 1170, 1170, 2292,
1871 1147, 2256, 936, 936, 936, 1181, 1181, 1181, 1185, 1185,
1872 1185, 1172, 2293, 2294, 1172, 2295, 2296, 564, 564, 937,
1873 2297, 2298, 1182, 1723, 1723, 1723, 1187, 2299, 570, 575,
1874 576, 241, 576, 575, 575, 575, 575, 575, 575, 575,
1875 577, 575, 575, 575, 2301, 575, 579, 575, 580, 575,
1877 944, 944, 944, 2307, 1173, 1193, 1193, 1193, 2308, 1193,
1878 1193, 1193, 2309, 1185, 1185, 1185, 2313, 945, 2321, 949,
1879 949, 949, 2322, 1195, 575, 575, 2323, 1195, 1204, 1204,
1880 1204, 1187, 1661, 1661, 1661, 581, 950, 1052, 1052, 1052,
1881 2348, 1053, 1003, 2350, 1054, 2351, 1206, 1471, 582, 575,
1882 576, 241, 576, 575, 575, 575, 575, 575, 575, 575,
1883 577, 575, 575, 575, 1188, 575, 579, 575, 580, 575,
1884 1196, 2345, 1204, 1204, 1204, 1208, 1208, 1208, 1662, 1210,
1885 1210, 1210, 2959, 2959, 2959, 1213, 1213, 1213, 2331, 2346,
1886 1206, 2352, 1209, 2356, 575, 575, 1211, 2357, 2332, 2959,
1888 1218, 1218, 1218, 1215, 2333, 581, 1213, 1213, 1213, 2360,
1889 2358, 2959, 2959, 2959, 1222, 1222, 1222, 1219, 582, 590,
1890 2959, 2959, 2959, 2359, 1215, 2361, 605, 1207, 2959, 2365,
1891 1471, 1223, 1225, 1225, 1225, 589, 606, 2959, 969, 969,
1892 969, 1212, 1233, 1233, 1233, 1237, 1237, 1237, 2366, 2367,
1893 1227, 1225, 1225, 1225, 2368, 970, 1239, 1239, 1239, 2369,
1894 1235, 1220, 1238, 607, 608, 609, 2370, 1216, 2371, 1227,
1895 610, 611, 2347, 1240, 612, 613, 1221, 2372, 614, 1224,
1896 615, 616, 617, 1233, 1233, 1233, 2374, 2375, 1228, 1241,
1897 1241, 1241, 1241, 1241, 1241, 1245, 1245, 1245, 1249, 1249,
1899 1249, 1235, 2959, 2959, 2959, 2376, 2377, 1243, 2378, 2379,
1900 1243, 2380, 1246, 2381, 2382, 1250, 1251, 1251, 1251, 2959,
1901 2362, 1251, 1251, 1251, 1260, 1260, 1260, 1260, 1260, 1260,
1902 1266, 1266, 1266, 2363, 1253, 1266, 1266, 1266, 1236, 1253,
1903 2383, 2384, 1262, 2385, 2386, 1262, 2387, 2388, 1268, 993,
1904 993, 993, 1247, 1268, 1273, 1273, 1273, 1273, 1273, 1273,
1905 997, 997, 997, 1244, 2390, 2398, 994, 1248, 1281, 1281,
1906 1281, 2399, 1275, 2400, 2401, 1275, 2408, 998, 1281, 1281,
1907 1281, 2411, 1016, 1016, 1016, 2418, 1283, 1016, 1016, 1016,
1908 2419, 1263, 1254, 1016, 1016, 1016, 1283, 2420, 2421, 1269,
1910 1018, 2422, 1319, 1319, 1319, 1018, 1047, 1047, 1047, 2423,
1911 2426, 1018, 1047, 1047, 1047, 1047, 1047, 1047, 1276, 1320,
1912 1322, 1322, 1322, 2427, 1049, 2428, 2959, 2959, 2959, 1003,
1913 1049, 2434, 2436, 1049, 1057, 1057, 1057, 1323, 2429, 1471,
1914 1293, 2437, 1284, 2959, 1057, 1057, 1057, 1057, 1057, 1057,
1915 2438, 2439, 1059, 1062, 1062, 1062, 2440, 1063, 2441, 2442,
1916 1064, 2443, 1059, 2444, 1321, 1059, 1065, 1065, 1065, 1328,
1917 1328, 1328, 2334, 1329, 2431, 2445, 1330, 2430, 1331, 1331,
1918 1331, 2448, 2335, 1066, 1068, 1068, 1068, 1324, 2336, 1333,
1919 1333, 1333, 2449, 1334, 1326, 1332, 1335, 1337, 1337, 1337,
1921 2450, 1069, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073,
1922 1073, 1343, 1343, 1343, 1338, 1081, 1081, 1081, 2451, 2452,
1923 1075, 2453, 2454, 1075, 2455, 2457, 1075, 2458, 1344, 1081,
1924 1081, 1081, 2459, 1083, 1081, 1081, 1081, 1085, 1085, 1085,
1925 2460, 1086, 2461, 2462, 1087, 2463, 2464, 1083, 1089, 1089,
1926 1089, 2465, 1083, 1089, 1089, 1089, 1348, 1348, 1348, 2466,
1927 1104, 1104, 1104, 2467, 1105, 2468, 1091, 1106, 1340, 2469,
1928 2470, 1091, 2471, 2477, 1349, 1362, 1362, 1362, 1109, 1109,
1929 1109, 1346, 1109, 1109, 1109, 1109, 1109, 1109, 1118, 1118,
1930 1118, 2478, 1363, 1118, 1118, 1118, 1111, 1114, 1114, 1114,
1932 1111, 1115, 2479, 1111, 1116, 2480, 1120, 1118, 1118, 1118,
1933 2481, 1120, 1122, 1122, 1122, 2482, 1123, 2486, 2495, 1124,
1934 1368, 1368, 1368, 2496, 2497, 1120, 1126, 1126, 1126, 1126,
1935 1126, 1126, 1126, 1126, 1126, 2487, 2498, 1369, 1371, 1371,
1936 1371, 2959, 2959, 2959, 1128, 2488, 1364, 1128, 2499, 2500,
1937 1128, 2504, 1132, 1132, 1132, 1372, 2505, 2506, 2959, 1132,
1938 1132, 1132, 1132, 1132, 1132, 1377, 1377, 1377, 1367, 1373,
1939 1134, 1139, 1139, 1139, 2507, 1140, 2517, 1134, 1141, 2518,
1940 1134, 2519, 1378, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1941 1144, 1144, 2489, 1154, 1154, 1154, 2491, 1155, 2520, 1370,
1943 1156, 1146, 2490, 2521, 1146, 2522, 2492, 1146, 1388, 1388,
1944 1388, 1158, 1158, 1158, 2523, 1159, 1003, 2493, 1160, 1161,
1945 1161, 1161, 1390, 1390, 1390, 1389, 1391, 2494, 1374, 1392,
1946 1170, 1170, 1170, 1170, 1170, 1170, 1162, 1170, 1170, 1170,
1947 1178, 1178, 1178, 2524, 1179, 2528, 2529, 1180, 1172, 2530,
1948 2508, 1172, 2531, 2532, 1381, 1172, 1181, 1181, 1181, 1405,
1949 1405, 1405, 2533, 1406, 2535, 2536, 1407, 1185, 1185, 1185,
1950 1185, 1185, 1185, 1182, 1185, 1185, 1185, 1190, 1190, 1190,
1951 2537, 1191, 2538, 2539, 1192, 1187, 2540, 2541, 1187, 1193,
1952 1193, 1193, 1187, 1193, 1193, 1193, 1193, 1193, 1193, 1198,
1954 1198, 1198, 2542, 1199, 1400, 2543, 1200, 1195, 1204, 1204,
1955 1204, 1195, 2544, 2548, 1195, 1204, 1204, 1204, 1204, 1204,
1956 1204, 1208, 1208, 1208, 2549, 1410, 1206, 1418, 1418, 1418,
1957 2550, 1419, 2553, 1206, 1420, 2558, 1206, 2559, 1209, 1210,
1958 1210, 1210, 1421, 1421, 1421, 2560, 1422, 2561, 2562, 1423,
1959 1213, 1213, 1213, 1213, 1213, 1213, 1211, 1213, 1213, 1213,
1960 1218, 1218, 1218, 1412, 2563, 1427, 1427, 1427, 1215, 1428,
1961 2564, 1215, 1429, 2565, 2566, 1215, 2567, 1219, 1417, 1222,
1962 1222, 1222, 1432, 1432, 1432, 2568, 1433, 2569, 2571, 1434,
1963 1225, 1225, 1225, 1225, 1225, 1225, 1223, 1225, 1225, 1225,
1965 1230, 1230, 1230, 2572, 1231, 2573, 2574, 1232, 1227, 2581,
1966 2582, 1227, 1233, 1233, 1233, 1227, 1233, 1233, 1233, 1233,
1967 1233, 1233, 2583, 2584, 1425, 1237, 1237, 1237, 2585, 2586,
1968 1235, 1439, 1439, 1439, 1235, 1440, 2587, 1235, 1441, 1239,
1969 1239, 1239, 1238, 1442, 1442, 1442, 1003, 1443, 2588, 2589,
1970 1444, 1241, 1241, 1241, 2590, 2591, 1240, 1241, 1241, 1241,
1971 2592, 1436, 1241, 1241, 1241, 1245, 1245, 1245, 2593, 1243,
1972 1446, 1446, 1446, 2594, 1447, 1243, 2597, 1448, 2598, 1438,
1973 1243, 2599, 1246, 1249, 1249, 1249, 1451, 1451, 1451, 2575,
1974 1452, 2600, 2601, 1453, 1251, 1251, 1251, 1251, 1251, 1251,
1976 1250, 1251, 1251, 1251, 1456, 1456, 1456, 1260, 1260, 1260,
1977 2602, 2603, 1253, 2604, 2605, 1253, 1260, 1260, 1260, 1253,
1978 2606, 1457, 2607, 2611, 1445, 1262, 1260, 1260, 1260, 1266,
1979 1266, 1266, 2618, 2619, 1262, 1266, 1266, 1266, 1266, 1266,
1980 1266, 1270, 1270, 1270, 1262, 1271, 2620, 1268, 1272, 1273,
1981 1273, 1273, 2621, 1268, 2622, 2623, 1268, 1273, 1273, 1273,
1982 1273, 1273, 1273, 1454, 1277, 1277, 1277, 1275, 1278, 2624,
1983 2625, 1279, 1281, 1281, 1281, 1275, 2626, 2627, 1275, 1281,
1984 1281, 1281, 1281, 1281, 1281, 2628, 2629, 1461, 2632, 2633,
1985 1283, 1464, 1470, 1470, 1470, 2634, 2635, 1283, 2643, 2644,
1987 1283, 1016, 1016, 1016, 1319, 1319, 1319, 1047, 1047, 1047,
1988 1471, 1472, 1003, 1322, 1322, 1322, 1348, 1348, 1348, 1018,
1989 1465, 1320, 1504, 1504, 1504, 1049, 1505, 2645, 2638, 1506,
1990 1323, 1508, 1508, 1508, 1349, 1509, 2638, 2646, 1510, 1057,
1991 1057, 1057, 2639, 1467, 1328, 1328, 1328, 2641, 1329, 2647,
1992 2648, 1330, 1331, 1331, 1331, 2649, 2650, 1059, 2636, 1515,
1993 1515, 1515, 2651, 1516, 2652, 1507, 1517, 1477, 2653, 1332,
1994 1333, 1333, 1333, 2654, 1334, 2655, 2656, 1335, 1337, 1337,
1995 1337, 2657, 1519, 1519, 1519, 2658, 1520, 2659, 1513, 1521,
1996 1073, 1073, 1073, 2660, 2661, 1338, 1343, 1343, 1343, 1526,
1998 1526, 1526, 2666, 1527, 2671, 2672, 1528, 2673, 1075, 1529,
1999 1529, 1529, 2674, 1344, 1081, 1081, 1081, 1544, 1544, 1544,
2000 1362, 1362, 1362, 1546, 1546, 1546, 1530, 1547, 2675, 2676,
2001 1548, 2679, 1083, 1003, 1545, 1471, 1472, 1363, 2679, 2638,
2002 1523, 1109, 1109, 1109, 1118, 1118, 1118, 1368, 1368, 1368,
2003 1553, 1553, 1553, 2639, 1554, 2682, 2683, 1555, 2684, 1111,
2004 2685, 2688, 1120, 1531, 1369, 1126, 1126, 1126, 1371, 1371,
2005 1371, 1557, 1557, 1557, 2677, 1558, 2691, 2700, 1559, 1132,
2006 1132, 1132, 2662, 1128, 2686, 1372, 1377, 1377, 1377, 1564,
2007 1564, 1564, 2664, 1565, 2663, 2667, 1566, 1134, 1567, 1567,
2009 1567, 2703, 2687, 1378, 2665, 1549, 2708, 2668, 1552, 1569,
2010 1569, 1569, 1144, 1144, 1144, 1568, 1576, 1576, 1576, 1388,
2011 1388, 1388, 1813, 1813, 1813, 1556, 1570, 1580, 1580, 1580,
2012 1146, 1581, 2638, 1577, 1582, 2711, 1389, 1390, 1390, 1390,
2013 1561, 1391, 2669, 2641, 1392, 1583, 1583, 1583, 1170, 1170,
2014 1170, 1593, 1593, 1593, 2670, 1571, 1405, 1405, 1405, 2712,
2015 1406, 2713, 1584, 1407, 2679, 2715, 1172, 2679, 1594, 1597,
2016 1597, 1597, 1185, 1185, 1185, 1193, 1193, 1193, 1572, 1606,
2017 1606, 1606, 1204, 1204, 1204, 2716, 1598, 1418, 1418, 1418,
2018 1187, 1419, 2698, 1195, 1420, 2701, 1607, 1421, 1421, 1421,
2020 1206, 1422, 2717, 2706, 1423, 1213, 1213, 1213, 1427, 1427,
2021 1427, 2699, 1428, 1591, 2702, 1429, 2718, 1432, 1432, 1432,
2022 2719, 1433, 2707, 1215, 1434, 1608, 1225, 1225, 1225, 1233,
2023 1233, 1233, 2709, 1439, 1439, 1439, 1600, 1440, 2689, 1609,
2024 1441, 1602, 2720, 2721, 1227, 2722, 2723, 1235, 1442, 1442,
2025 1442, 2710, 1443, 2690, 2733, 1444, 1241, 1241, 1241, 1446,
2026 1446, 1446, 2734, 1447, 2735, 2736, 1448, 2737, 1451, 1451,
2027 1451, 1611, 1452, 2738, 1243, 1453, 1251, 1251, 1251, 1456,
2028 1456, 1456, 1260, 1260, 1260, 2742, 1618, 1616, 1624, 1624,
2029 1624, 2743, 1625, 2744, 1253, 1626, 1457, 1632, 1632, 1632,
2031 1262, 2745, 2746, 1619, 1266, 1266, 1266, 1273, 1273, 1273,
2032 1636, 1636, 1636, 2747, 1633, 1281, 1281, 1281, 1470, 1470,
2033 1470, 2748, 1268, 1622, 2749, 1275, 2751, 1637, 1016, 1016,
2034 1016, 1630, 2752, 1283, 2753, 2754, 1471, 1668, 1668, 1668,
2035 1504, 1504, 1504, 2755, 1505, 2756, 1018, 1506, 1047, 1047,
2036 1047, 1508, 1508, 1508, 2760, 1509, 2758, 2757, 1510, 1635,
2037 1057, 1057, 1057, 1515, 1515, 1515, 1049, 1516, 2759, 1640,
2038 1517, 1634, 1519, 1519, 1519, 2761, 1520, 1638, 1059, 1521,
2039 1645, 2762, 2763, 1669, 2764, 2765, 1641, 1073, 1073, 1073,
2040 1526, 1526, 1526, 2766, 1527, 2767, 2768, 1528, 2769, 1529,
2042 1529, 1529, 1687, 1687, 1687, 1075, 1688, 2770, 2771, 1689,
2043 2772, 1673, 1081, 1081, 1081, 1670, 1530, 1694, 1694, 1694,
2044 1694, 1694, 1694, 1658, 1658, 1658, 1544, 1544, 1544, 2773,
2045 1083, 1700, 1700, 1700, 2775, 1701, 1003, 2776, 1702, 2777,
2046 1546, 1546, 1546, 1545, 1547, 2778, 2779, 1548, 1677, 1109,
2047 1109, 1109, 1705, 1705, 1705, 1118, 1118, 1118, 1553, 1553,
2048 1553, 2774, 1554, 1690, 2780, 1555, 2781, 1111, 2782, 1706,
2049 1126, 1126, 1126, 1120, 2783, 1557, 1557, 1557, 2784, 1558,
2050 2785, 1695, 1559, 2786, 1659, 2787, 2788, 1695, 1128, 1709,
2051 1709, 1709, 1132, 1132, 1132, 2789, 1703, 1564, 1564, 1564,
2053 2790, 1565, 1707, 2791, 1566, 2792, 1710, 1567, 1567, 1567,
2054 1134, 1714, 1714, 1714, 2793, 1715, 2794, 2796, 1716, 2797,
2055 1569, 1569, 1569, 2798, 1568, 1717, 1717, 1717, 1003, 1718,
2056 2799, 2800, 1719, 1721, 1721, 1721, 1708, 1570, 1576, 1576,
2057 1576, 1726, 1726, 1726, 2801, 1727, 2802, 2795, 1728, 2803,
2058 2804, 1722, 1729, 1729, 1729, 1577, 1711, 1580, 1580, 1580,
2059 2805, 1581, 2806, 2807, 1582, 1583, 1583, 1583, 2808, 1730,
2060 1732, 1732, 1732, 2809, 1733, 2810, 2811, 1734, 1735, 1735,
2061 1735, 2812, 1584, 1741, 1741, 1741, 1170, 1170, 1170, 1593,
2062 1593, 1593, 1745, 1745, 1745, 1736, 1746, 2813, 2815, 1747,
2064 1742, 1748, 1748, 1748, 1172, 2816, 1594, 1597, 1597, 1597,
2065 1751, 1751, 1751, 2817, 1752, 2818, 1003, 1753, 1749, 1755,
2066 1755, 1755, 2819, 2820, 1598, 1193, 1193, 1193, 1606, 1606,
2067 1606, 1762, 1762, 1762, 2821, 1763, 2814, 1756, 1764, 1766,
2068 1766, 1766, 2822, 1195, 2823, 1607, 1213, 1213, 1213, 1771,
2069 1771, 1771, 1743, 1773, 1773, 1773, 2824, 1767, 2959, 2959,
2070 2959, 1225, 1225, 1225, 1215, 2825, 1772, 1233, 1233, 1233,
2071 1774, 1241, 1241, 1241, 2826, 2959, 1758, 2827, 2828, 1227,
2072 2829, 1780, 1780, 1780, 2830, 1235, 1782, 1782, 1782, 1243,
2073 1251, 1251, 1251, 1260, 1260, 1260, 2831, 1769, 1781, 2832,
2075 1624, 1624, 1624, 1783, 1625, 2834, 1003, 1626, 1253, 2835,
2076 2836, 1262, 2833, 1778, 1632, 1632, 1632, 1791, 1791, 1791,
2077 2837, 1792, 1775, 2838, 1793, 1266, 1266, 1266, 1776, 2839,
2078 2840, 1633, 1273, 1273, 1273, 2841, 1779, 1636, 1636, 1636,
2079 1799, 1799, 1799, 1268, 1789, 1796, 1796, 1796, 2842, 1797,
2080 1275, 2843, 1798, 2844, 1637, 1784, 2845, 2847, 1800, 1805,
2081 1805, 1805, 1016, 1016, 1016, 1653, 1653, 1653, 1819, 1819,
2082 1819, 1658, 1658, 1658, 2848, 2849, 1806, 1820, 1820, 1820,
2083 1018, 1661, 1661, 1661, 1794, 2850, 2851, 1795, 1823, 1823,
2084 1823, 1824, 1824, 1824, 1668, 1668, 1668, 1047, 1047, 1047,
2086 1832, 1832, 1832, 1835, 1835, 1835, 1073, 1073, 1073, 1839,
2087 1839, 1839, 1687, 1687, 1687, 1049, 1688, 2852, 1833, 1689,
2088 1836, 2853, 2854, 1807, 1075, 2856, 1840, 1081, 1081, 1081,
2089 1003, 1852, 1852, 1852, 1694, 1694, 1694, 1857, 1857, 1857,
2090 1859, 1859, 1859, 2857, 2846, 1083, 2858, 1829, 1853, 1700,
2091 1700, 1700, 2859, 1701, 2860, 2861, 1702, 1860, 1109, 1109,
2092 1109, 1862, 1862, 1862, 2862, 1838, 1705, 1705, 1705, 2863,
2093 1864, 1864, 1864, 1851, 1865, 2866, 1111, 1866, 1863, 1118,
2094 1118, 1118, 2867, 1706, 1868, 1868, 1868, 1709, 1709, 1709,
2095 2868, 1870, 1870, 1870, 2869, 1871, 2870, 1120, 1872, 1132,
2097 1132, 1132, 1869, 2871, 1710, 1714, 1714, 1714, 1003, 1715,
2098 1629, 1861, 1716, 1628, 1717, 1717, 1717, 1134, 1718, 1003,
2099 2882, 1719, 1721, 1721, 1721, 1723, 1723, 1723, 1003, 1726,
2100 1726, 1726, 1867, 1727, 1003, 1003, 1728, 1729, 1729, 1729,
2101 1722, 1881, 1881, 1881, 2872, 1882, 1873, 1003, 1883, 1732,
2102 1732, 1732, 1003, 1733, 1730, 2873, 1734, 1735, 1735, 1735,
2103 1885, 1885, 1885, 1003, 1886, 1003, 1003, 1887, 1888, 1888,
2104 1888, 1741, 1741, 1741, 1736, 1893, 1893, 1893, 2878, 1894,
2105 1003, 1627, 1895, 2874, 1003, 1889, 1003, 2892, 1742, 1170,
2106 1170, 1170, 1745, 1745, 1745, 2875, 1746, 1623, 2893, 1747,
2108 1748, 1748, 1748, 2888, 1898, 1898, 1898, 1172, 1899, 2879,
2109 2883, 1900, 1751, 1751, 1751, 2902, 1752, 1749, 1003, 1753,
2110 1755, 1755, 1755, 1193, 1193, 1193, 1906, 1906, 1906, 1762,
2111 1762, 1762, 2876, 1763, 2877, 2880, 1764, 1003, 1756, 1003,
2112 1896, 1195, 1003, 1907, 1766, 1766, 1766, 1914, 1914, 1914,
2113 1771, 1771, 1771, 1917, 1917, 1917, 2884, 1918, 2885, 2881,
2114 1919, 1003, 1767, 1003, 1003, 1915, 1003, 1772, 1773, 1773,
2115 1773, 1621, 1908, 1920, 1920, 1920, 1620, 1921, 1003, 2889,
2116 1922, 1225, 1225, 1225, 2886, 1774, 1003, 1904, 1233, 1233,
2117 1233, 1241, 1241, 1241, 1780, 1780, 1780, 1003, 1003, 1227,
2119 1928, 1928, 1928, 1003, 1929, 1003, 1235, 1930, 2887, 1243,
2120 2898, 1781, 1782, 1782, 1782, 1931, 1931, 1931, 1003, 1932,
2121 2904, 1003, 1933, 1251, 1251, 1251, 1260, 1260, 1260, 1783,
2122 1003, 1791, 1791, 1791, 1617, 1792, 2900, 1926, 1793, 2890,
2123 2896, 1253, 1003, 2894, 1262, 1003, 2891, 1924, 1266, 1266,
2124 1266, 1273, 1273, 1273, 2901, 2897, 1927, 1796, 1796, 1796,
2125 1615, 1797, 2899, 1003, 1798, 2914, 1268, 2895, 1003, 1275,
2126 1614, 1799, 1799, 1799, 1003, 1805, 1805, 1805, 1947, 1947,
2127 1947, 2915, 1948, 1613, 2918, 1949, 1610, 1605, 1934, 1800,
2128 1003, 1939, 1806, 1016, 1016, 1016, 1951, 1951, 1951, 1941,
2130 1955, 1955, 1955, 2903, 1942, 1813, 1813, 1813, 1956, 1956,
2131 1956, 1018, 1960, 1960, 1960, 1819, 1819, 1819, 1820, 1820,
2132 1820, 1961, 1961, 1961, 1823, 1823, 1823, 1824, 1824, 1824,
2133 1964, 1964, 1964, 1965, 1965, 1965, 1966, 1966, 1966, 1003,
2134 1047, 1047, 1047, 1832, 1832, 1832, 1835, 1835, 1835, 1972,
2135 1972, 1972, 1003, 1973, 2932, 1003, 1974, 1950, 1049, 1604,
2136 1603, 1833, 1003, 1836, 1976, 1976, 1976, 1962, 1839, 1839,
2137 1839, 1978, 1978, 1978, 2910, 1979, 1003, 1601, 1980, 1081,
2138 1081, 1081, 1977, 1003, 1599, 1840, 1852, 1852, 1852, 2905,
2139 1596, 1968, 1992, 1992, 1992, 2906, 1993, 1083, 1003, 1994,
2141 1995, 1995, 1995, 1853, 1857, 1857, 1857, 1998, 1998, 1998,
2142 1859, 1859, 1859, 2000, 2000, 2000, 2912, 2001, 1003, 2907,
2143 2002, 1109, 1109, 1109, 1862, 1862, 1862, 1860, 1991, 2004,
2144 2004, 2004, 1003, 2005, 1003, 2916, 2006, 1003, 2926, 1111,
2145 1003, 1863, 1864, 1864, 1864, 2927, 1865, 1003, 1003, 1866,
2146 1118, 1118, 1118, 1999, 1003, 1868, 1868, 1868, 1870, 1870,
2147 1870, 1003, 1871, 1003, 2908, 1872, 1595, 2911, 1120, 1132,
2148 1132, 1132, 2003, 1869, 1881, 1881, 1881, 2917, 1882, 2919,
2149 2909, 1883, 1885, 1885, 1885, 2922, 1886, 1134, 1003, 1887,
2150 1888, 1888, 1888, 2019, 2019, 2019, 2913, 2020, 2923, 1003,
2152 2021, 2007, 1893, 1893, 1893, 2956, 1894, 1889, 1003, 1895,
2153 1170, 1170, 1170, 1898, 1898, 1898, 1003, 1899, 1003, 1003,
2154 1900, 1003, 2008, 2030, 2030, 2030, 1003, 1003, 1172, 1906,
2155 1906, 1906, 2033, 2033, 2033, 2934, 2034, 2924, 1003, 2035,
2156 1003, 2031, 1914, 1914, 1914, 2920, 1907, 1917, 1917, 1917,
2157 2925, 1918, 2928, 2929, 1919, 1920, 1920, 1920, 1003, 1921,
2158 1915, 1003, 1922, 1225, 1225, 1225, 1233, 1233, 1233, 1241,
2159 1241, 1241, 2921, 2930, 2025, 1928, 1928, 1928, 1003, 1929,
2160 1592, 1227, 1930, 2933, 1235, 2935, 2931, 1243, 1931, 1931,
2161 1931, 1003, 1932, 1003, 1003, 1933, 2940, 1251, 1251, 1251,
2163 1590, 2051, 2051, 2051, 2942, 2049, 2959, 2959, 2959, 2959,
2164 2959, 2959, 1003, 2941, 2046, 1253, 2948, 2050, 2052, 2959,
2165 2959, 2959, 1589, 2959, 1588, 1003, 2959, 1260, 1260, 1260,
2166 2936, 2937, 2048, 1266, 1266, 1266, 2959, 2059, 2059, 2059,
2167 2061, 2061, 2061, 1587, 1586, 1262, 2064, 2064, 2064, 2944,
2168 1585, 1268, 1947, 1947, 1947, 2060, 1948, 2053, 1003, 1949,
2169 1579, 1016, 1016, 1016, 1951, 1951, 1951, 2066, 2066, 2066,
2170 1955, 1955, 1955, 2054, 1956, 1956, 1956, 1003, 2055, 1018,
2171 2069, 2069, 2069, 2070, 2070, 2070, 2071, 2071, 2071, 1960,
2172 1960, 1960, 2056, 2058, 1961, 1961, 1961, 1964, 1964, 1964,
2174 1965, 1965, 1965, 1966, 1966, 1966, 2075, 2075, 2075, 2078,
2175 2078, 2078, 1972, 1972, 1972, 1578, 1973, 1575, 2938, 1974,
2176 2065, 2959, 2959, 2959, 2076, 1574, 2079, 1976, 1976, 1976,
2177 1978, 1978, 1978, 1003, 1979, 1003, 1003, 1980, 2959, 1081,
2178 1081, 1081, 1992, 1992, 1992, 1977, 1993, 2098, 2099, 1994,
2179 2100, 1995, 1995, 1995, 1998, 1998, 1998, 1083, 2101, 1573,
2180 1003, 2102, 2000, 2000, 2000, 2103, 2001, 1003, 2946, 2002,
2181 1109, 1109, 1109, 2004, 2004, 2004, 2939, 2005, 1003, 2943,
2182 2006, 2108, 2108, 2108, 1132, 1132, 1132, 2080, 1111, 2118,
2183 2118, 2118, 1563, 1562, 2019, 2019, 2019, 2945, 2020, 2109,
2185 2091, 2021, 1134, 2121, 2121, 2121, 2125, 2125, 2125, 2030,
2186 2030, 2030, 2131, 2131, 2131, 2952, 2107, 2142, 2142, 2142,
2187 2122, 2033, 2033, 2033, 2126, 2034, 2953, 2031, 2035, 2132,
2188 2144, 2144, 2144, 1003, 1560, 2110, 2146, 2146, 2146, 1233,
2189 1233, 1233, 1241, 1241, 1241, 1251, 1251, 1251, 2145, 2051,
2190 2051, 2051, 2949, 2147, 2158, 2158, 2158, 1235, 2133, 2956,
2191 1243, 1003, 1003, 1253, 1551, 2947, 2052, 2151, 2151, 2151,
2192 1003, 2152, 2159, 1003, 2153, 2154, 2154, 2154, 2959, 2959,
2193 2959, 1550, 2150, 2959, 2959, 2959, 2160, 2160, 2160, 1266,
2194 1266, 1266, 2155, 1543, 2950, 2959, 2059, 2059, 2059, 2148,
2196 2959, 1542, 2951, 2149, 2061, 2061, 2061, 1268, 2064, 2064,
2197 2064, 2066, 2066, 2066, 2060, 2165, 2165, 2165, 2069, 2069,
2198 2069, 1003, 1003, 2070, 2070, 2070, 2071, 2071, 2071, 2156,
2199 2075, 2075, 2075, 2166, 2157, 2078, 2078, 2078, 2173, 2173,
2200 2173, 1541, 2174, 1540, 1539, 2175, 1003, 1538, 2076, 1081,
2201 1081, 1081, 2079, 2954, 1537, 2161, 2959, 2959, 2959, 1109,
2202 1109, 1109, 2108, 2108, 2108, 1534, 2162, 1083, 2206, 2206,
2203 2206, 1533, 1532, 2959, 2212, 2212, 2212, 1111, 2955, 1525,
2204 2109, 2118, 2118, 2118, 1522, 1518, 2207, 2121, 2121, 2121,
2205 1514, 2213, 2216, 2216, 2216, 1512, 2217, 1511, 1503, 2218,
2207 2220, 2220, 2220, 1502, 2122, 2125, 2125, 2125, 1500, 2187,
2208 1499, 2176, 2224, 2224, 2224, 1498, 1497, 2221, 2131, 2131,
2209 2131, 1496, 1495, 2126, 1494, 2205, 2227, 2227, 2227, 2225,
2210 2228, 1493, 1491, 2229, 1490, 2132, 2235, 2235, 2235, 2142,
2211 2142, 2142, 2144, 2144, 2144, 2146, 2146, 2146, 2239, 2239,
2212 2239, 1488, 2240, 2236, 1487, 2241, 2242, 2242, 2242, 1484,
2213 2145, 1482, 2147, 1241, 1241, 1241, 1481, 1251, 1251, 1251,
2214 1480, 2151, 2151, 2151, 2243, 2152, 1479, 1478, 2153, 1476,
2215 1475, 1243, 2154, 2154, 2154, 1253, 2246, 2246, 2246, 1474,
2216 2247, 1473, 1466, 2248, 2249, 2249, 2249, 1463, 1462, 2155,
2218 2251, 2251, 2251, 2158, 2158, 2158, 2160, 2160, 2160, 1460,
2219 1459, 2250, 1458, 1455, 2253, 2253, 2253, 2252, 2165, 2165,
2220 2165, 2159, 2263, 2263, 2263, 2959, 2959, 2959, 1450, 1449,
2221 2244, 2245, 2254, 2173, 2173, 2173, 2166, 2174, 1437, 2264,
2222 2175, 1435, 2959, 1081, 1081, 1081, 1109, 1109, 1109, 2206,
2223 2206, 2206, 2302, 2302, 2302, 2212, 2212, 2212, 2304, 2304,
2224 2304, 1083, 2305, 1431, 1111, 2306, 1430, 2207, 1426, 2303,
2225 1424, 1416, 2213, 2216, 2216, 2216, 1415, 2217, 1414, 1413,
2226 2218, 2220, 2220, 2220, 1411, 1409, 2271, 2310, 2310, 2310,
2227 1408, 2311, 1404, 1403, 2312, 2314, 2314, 2314, 2221, 2224,
2229 2224, 2224, 1402, 2282, 2316, 2316, 2316, 1401, 2317, 1399,
2230 1398, 2318, 2315, 2319, 2319, 2319, 2225, 2300, 2227, 2227,
2231 2227, 1397, 2228, 1396, 1395, 2229, 2235, 2235, 2235, 1394,
2232 2320, 2324, 2324, 2324, 1393, 2325, 1387, 1386, 2326, 2327,
2233 2327, 2327, 1385, 2236, 2329, 2329, 2329, 2239, 2239, 2239,
2234 1384, 2240, 1383, 1382, 2241, 1380, 2328, 2242, 2242, 2242,
2235 1379, 2330, 1241, 1241, 1241, 1251, 1251, 1251, 1376, 2246,
2236 2246, 2246, 1375, 2247, 1366, 2243, 2248, 2249, 2249, 2249,
2237 1243, 1365, 1361, 1253, 2339, 2339, 2339, 1360, 2340, 1359,
2238 1358, 2341, 1357, 1356, 2250, 2251, 2251, 2251, 2342, 2342,
2240 2342, 1355, 2343, 1354, 1353, 2344, 2253, 2253, 2253, 2349,
2241 2349, 2349, 2252, 2263, 2263, 2263, 2353, 2353, 2353, 1352,
2242 2354, 1351, 1350, 2355, 2254, 1347, 2338, 1345, 2337, 1342,
2243 2264, 2959, 2959, 2959, 1081, 1081, 1081, 2389, 2389, 2389,
2244 1109, 1109, 1109, 2392, 2392, 2392, 1339, 1336, 2959, 2302,
2245 2302, 2302, 1083, 1327, 1325, 2395, 2395, 2395, 1111, 2396,
2246 2393, 1318, 2397, 2304, 2304, 2304, 2303, 2305, 1316, 1315,
2247 2306, 2310, 2310, 2310, 1314, 2311, 1313, 1312, 2312, 2314,
2248 2314, 2314, 2349, 2349, 2349, 2373, 2402, 2402, 2402, 2394,
2249 2403, 2364, 1311, 2404, 1310, 1309, 2315, 2316, 2316, 2316,
2251 1308, 2317, 2391, 1305, 2318, 2319, 2319, 2319, 2405, 2405,
2252 2405, 1304, 2406, 1303, 1302, 2407, 2409, 2409, 2409, 2324,
2253 2324, 2324, 2320, 2325, 1301, 1300, 2326, 2327, 2327, 2327,
2254 2412, 2412, 2412, 2410, 2413, 1299, 1298, 2414, 2329, 2329,
2255 2329, 2415, 2415, 2415, 2328, 2416, 1297, 1296, 2417, 1241,
2256 1241, 1241, 1251, 1251, 1251, 2330, 2339, 2339, 2339, 1295,
2257 2340, 1294, 1292, 2341, 2342, 2342, 2342, 1243, 2343, 1291,
2258 1253, 2344, 2432, 2432, 2432, 2435, 2435, 2435, 2353, 2353,
2259 2353, 1290, 2354, 1289, 1288, 2355, 2446, 2446, 2446, 2433,
2260 1471, 1081, 1081, 1081, 2389, 2389, 2389, 2472, 2472, 2472,
2262 2424, 1287, 1286, 2447, 1109, 1109, 1109, 1003, 1280, 1083,
2263 2392, 2392, 2392, 2474, 2474, 2474, 1265, 2475, 1264, 2425,
2264 2476, 1259, 1111, 1258, 2395, 2395, 2395, 2393, 2396, 1257,
2265 1256, 2397, 2402, 2402, 2402, 1255, 2403, 1229, 1217, 2404,
2266 2456, 2405, 2405, 2405, 1203, 2406, 1202, 1201, 2407, 2409,
2267 2409, 2409, 2483, 2483, 2483, 2473, 2484, 1197, 1189, 2485,
2268 2412, 2412, 2412, 1184, 2413, 1183, 2410, 2414, 2415, 2415,
2269 2415, 1177, 2416, 1174, 1169, 2417, 2501, 2501, 2501, 1251,
2270 1251, 1251, 2509, 2509, 2509, 2432, 2432, 2432, 2511, 2511,
2271 2511, 1168, 2512, 1167, 2502, 2513, 1166, 1253, 1165, 2510,
2273 1471, 1164, 2433, 1471, 1163, 1157, 1471, 2514, 2514, 2514,
2274 2435, 2435, 2435, 2515, 2515, 2515, 2516, 2516, 2516, 2446,
2275 2446, 2446, 2525, 2525, 2525, 1150, 2526, 1149, 1148, 2527,
2276 1081, 1081, 1081, 2545, 2545, 2545, 2447, 2472, 2472, 2472,
2277 2546, 2546, 2546, 1143, 1142, 2503, 1138, 1137, 1083, 2474,
2278 2474, 2474, 1136, 2475, 1131, 1130, 2476, 1125, 2547, 2551,
2279 2551, 2551, 2554, 2554, 2554, 2483, 2483, 2483, 1117, 2484,
2280 1113, 1108, 2485, 2556, 2556, 2556, 2552, 1107, 1103, 2555,
2281 2501, 2501, 2501, 1251, 1251, 1251, 2509, 2509, 2509, 1102,
2282 2557, 1101, 1100, 2576, 2576, 2576, 2534, 2577, 2502, 1099,
2284 2578, 1253, 1098, 2510, 1471, 2511, 2511, 2511, 1097, 2512,
2285 1096, 1471, 2513, 2514, 2514, 2514, 2515, 2515, 2515, 2516,
2286 2516, 2516, 1095, 1471, 2525, 2525, 2525, 1094, 2526, 1088,
2287 1080, 2527, 1079, 1078, 2570, 1469, 1469, 1469, 1469, 1469,
2288 1469, 1469, 1469, 1469, 1077, 1072, 1469, 2595, 2595, 2595,
2289 1071, 1469, 1469, 1469, 1471, 1469, 2545, 2545, 2545, 2546,
2290 2546, 2546, 2551, 2551, 2551, 2596, 2608, 2608, 2608, 1070,
2291 2609, 1067, 1061, 2610, 2554, 2554, 2554, 2547, 1056, 2552,
2292 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469,
2293 1469, 2555, 1055, 1469, 2556, 2556, 2556, 1051, 1469, 1469,
2295 1469, 1471, 1469, 2612, 2612, 2612, 1046, 2613, 1045, 1044,
2296 2614, 2557, 2615, 2615, 2615, 1043, 2616, 1042, 1041, 2617,
2297 2630, 2630, 2630, 2595, 2595, 2595, 1039, 1469, 1469, 2576,
2298 2576, 2576, 1038, 2577, 1037, 1036, 2578, 1035, 2631, 1034,
2299 1033, 2596, 2630, 2630, 2630, 1032, 1031, 1471, 1469, 1469,
2300 1469, 1469, 1469, 2642, 1469, 1469, 1469, 1030, 1029, 1469,
2301 2631, 1028, 1027, 1026, 1469, 1469, 1469, 1471, 1469, 2608,
2302 2608, 2608, 1025, 2609, 1024, 1023, 2610, 2612, 2612, 2612,
2303 1022, 2613, 1015, 1014, 2614, 2615, 2615, 2615, 1013, 2616,
2304 1012, 1011, 2617, 1469, 1469, 1469, 1469, 1469, 1469, 1469,
2306 1469, 1469, 1469, 2642, 1010, 1009, 1469, 2681, 2681, 2681,
2307 1006, 1469, 1469, 1469, 1471, 1469, 2692, 2692, 2692, 2694,
2308 2694, 2694, 2696, 2696, 2696, 1471, 1472, 2704, 2704, 2704,
2309 2714, 2714, 2714, 2693, 1004, 1003, 2695, 1001, 999, 2697,
2310 1469, 1469, 996, 992, 2705, 2681, 2681, 2681, 1003, 2692,
2311 2692, 2692, 2724, 2724, 2724, 990, 2725, 989, 988, 2726,
2312 2694, 2694, 2694, 1471, 986, 985, 2693, 2727, 2727, 2727,
2313 984, 2728, 983, 982, 2729, 981, 979, 2695, 2696, 2696,
2314 2696, 2730, 2730, 2730, 978, 2731, 977, 976, 2732, 2704,
2315 2704, 2704, 2714, 2714, 2714, 2697, 1640, 2739, 2739, 2739,
2317 974, 2740, 973, 972, 2741, 968, 2705, 2724, 2724, 2724,
2318 1003, 2725, 967, 965, 2726, 2727, 2727, 2727, 964, 2728,
2319 963, 962, 2729, 2730, 2730, 2730, 961, 2731, 960, 2750,
2320 2732, 2739, 2739, 2739, 958, 2740, 957, 956, 2741, 2855,
2321 2855, 2855, 2855, 2855, 2855, 955, 2864, 953, 952, 2865,
2322 2957, 2957, 2957, 2957, 2957, 2957, 951, 1003, 948, 947,
2323 1003, 943, 942, 940, 939, 938, 935, 934, 2958, 933,
2324 932, 2958, 238, 238, 238, 238, 238, 238, 238, 238,
2325 238, 239, 239, 239, 239, 239, 239, 239, 239, 239,
2326 244, 244, 244, 244, 244, 244, 244, 244, 244, 247,
2328 247, 247, 247, 247, 247, 247, 247, 247, 250, 250,
2329 250, 250, 250, 250, 250, 250, 250, 253, 253, 253,
2330 253, 253, 253, 253, 253, 253, 260, 260, 260, 260,
2331 260, 260, 260, 260, 260, 268, 268, 268, 268, 268,
2332 268, 268, 268, 268, 272, 272, 272, 272, 272, 272,
2333 272, 272, 272, 284, 284, 284, 284, 284, 284, 284,
2334 284, 284, 288, 288, 288, 288, 288, 288, 288, 288,
2335 288, 295, 295, 295, 295, 295, 295, 295, 295, 295,
2336 306, 306, 306, 306, 306, 306, 306, 306, 306, 314,
2337 314, 314, 314, 314, 314, 314, 314, 314, 322, 322,
2339 322, 322, 322, 322, 322, 322, 322, 328, 328, 328,
2340 328, 328, 328, 328, 328, 328, 334, 334, 334, 334,
2341 334, 334, 334, 334, 334, 339, 339, 339, 339, 339,
2342 339, 339, 339, 339, 356, 356, 356, 356, 356, 356,
2343 356, 356, 356, 363, 363, 363, 363, 363, 363, 363,
2344 363, 363, 370, 370, 370, 370, 370, 370, 370, 370,
2345 370, 376, 376, 376, 376, 376, 376, 376, 376, 376,
2346 383, 383, 383, 383, 383, 383, 383, 383, 383, 388,
2347 388, 388, 388, 388, 388, 388, 388, 388, 394, 394,
2348 394, 394, 394, 394, 394, 394, 394, 399, 399, 399,
2350 399, 399, 399, 399, 399, 399, 405, 405, 405, 405,
2351 405, 405, 405, 405, 405, 413, 413, 413, 413, 413,
2352 413, 413, 413, 413, 432, 432, 432, 432, 432, 432,
2353 432, 432, 432, 438, 438, 438, 438, 438, 438, 438,
2354 438, 438, 448, 448, 448, 448, 448, 448, 448, 448,
2355 448, 454, 454, 454, 454, 454, 454, 454, 454, 454,
2356 459, 459, 459, 459, 459, 459, 459, 459, 459, 465,
2357 465, 465, 465, 465, 465, 465, 465, 465, 472, 472,
2358 472, 472, 472, 472, 472, 472, 472, 479, 479, 479,
2359 479, 479, 479, 479, 479, 479, 484, 484, 484, 484,
2361 484, 484, 484, 484, 484, 492, 492, 492, 492, 492,
2362 492, 492, 492, 492, 498, 498, 498, 498, 498, 498,
2363 498, 498, 498, 505, 505, 505, 505, 505, 505, 505,
2364 505, 505, 510, 510, 510, 510, 510, 510, 510, 510,
2365 510, 516, 516, 516, 516, 516, 516, 516, 516, 516,
2366 521, 521, 521, 521, 521, 521, 521, 521, 521, 528,
2367 528, 528, 528, 528, 528, 528, 528, 528, 534, 534,
2368 534, 534, 534, 534, 534, 534, 534, 541, 541, 541,
2369 541, 541, 541, 541, 541, 541, 549, 549, 549, 549,
2370 549, 549, 549, 549, 549, 557, 557, 557, 557, 557,
2372 557, 557, 557, 557, 561, 561, 561, 561, 561, 561,
2373 561, 561, 561, 567, 567, 567, 567, 567, 567, 567,
2374 567, 567, 571, 571, 571, 571, 571, 571, 571, 571,
2375 571, 578, 578, 578, 578, 578, 578, 578, 578, 578,
2376 583, 583, 583, 583, 583, 583, 583, 583, 583, 603,
2377 603, 603, 930, 929, 928, 603, 629, 629, 629, 927,
2378 926, 925, 629, 633, 633, 633, 924, 923, 920, 633,
2379 641, 641, 641, 917, 916, 913, 641, 653, 653, 653,
2380 911, 910, 905, 653, 659, 659, 659, 904, 902, 901,
2381 659, 675, 675, 675, 900, 898, 895, 675, 682, 682,
2383 682, 893, 890, 889, 682, 688, 688, 688, 887, 886,
2384 883, 688, 693, 693, 693, 880, 879, 878, 693, 698,
2385 698, 698, 877, 875, 874, 698, 707, 707, 707, 873,
2386 872, 871, 707, 723, 723, 723, 869, 866, 864, 723,
2387 733, 733, 733, 863, 862, 860, 733, 738, 738, 738,
2388 858, 857, 856, 738, 746, 746, 746, 855, 854, 853,
2389 746, 753, 753, 753, 850, 849, 848, 753, 760, 760,
2390 760, 845, 842, 841, 760, 765, 765, 765, 839, 838,
2391 835, 765, 770, 770, 770, 833, 830, 829, 770, 776,
2392 776, 776, 821, 820, 819, 776, 785, 785, 785, 816,
2394 815, 814, 785, 789, 789, 789, 813, 811, 810, 789,
2395 793, 793, 793, 809, 808, 807, 793, 797, 797, 797,
2396 797, 797, 797, 797, 806, 797, 603, 603, 603, 801,
2397 798, 800, 603, 812, 795, 794, 792, 812, 629, 629,
2398 629, 790, 788, 786, 629, 840, 784, 2959, 781, 840,
2399 633, 633, 633, 780, 779, 778, 633, 847, 777, 775,
2400 774, 847, 641, 641, 641, 773, 772, 771, 641, 859,
2401 769, 768, 767, 859, 653, 653, 653, 766, 764, 762,
2402 653, 865, 761, 759, 758, 865, 659, 659, 659, 755,
2403 754, 752, 659, 870, 612, 2959, 747, 870, 675, 675,
2405 675, 745, 741, 740, 675, 888, 739, 737, 735, 888,
2406 682, 682, 682, 734, 732, 730, 682, 894, 729, 728,
2407 727, 894, 688, 688, 688, 726, 725, 724, 688, 899,
2408 722, 713, 712, 899, 693, 693, 693, 711, 708, 706,
2409 693, 903, 2959, 703, 702, 903, 698, 698, 698, 701,
2410 700, 699, 698, 912, 697, 695, 694, 912, 707, 707,
2411 707, 692, 690, 689, 707, 931, 687, 685, 684, 931,
2412 723, 723, 723, 683, 681, 679, 723, 941, 678, 677,
2413 676, 941, 733, 733, 733, 674, 2959, 2959, 733, 946,
2414 661, 660, 658, 946, 738, 738, 738, 656, 655, 654,
2416 738, 954, 652, 647, 643, 954, 746, 746, 746, 642,
2417 640, 639, 746, 959, 636, 635, 634, 959, 753, 753,
2418 753, 632, 631, 630, 753, 966, 628, 623, 2959, 966,
2419 760, 760, 760, 604, 602, 600, 760, 971, 594, 593,
2420 594, 971, 765, 765, 765, 593, 592, 591, 765, 975,
2421 2959, 2959, 2959, 975, 770, 770, 770, 2959, 2959, 2959,
2422 770, 980, 2959, 2959, 2959, 980, 776, 776, 776, 2959,
2423 2959, 2959, 776, 987, 2959, 2959, 2959, 987, 785, 785,
2424 785, 2959, 2959, 2959, 785, 991, 2959, 2959, 2959, 991,
2425 789, 789, 789, 2959, 2959, 2959, 789, 995, 2959, 2959,
2427 2959, 995, 793, 793, 793, 2959, 2959, 2959, 793, 1000,
2428 2959, 2959, 2959, 1000, 1002, 1002, 1002, 1002, 1002, 1002,
2429 1002, 1002, 1002, 1008, 2959, 2959, 2959, 2959, 1008, 603,
2430 603, 603, 2959, 2959, 2959, 603, 1017, 1017, 1017, 1017,
2431 2959, 2959, 1017, 1017, 629, 629, 629, 2959, 2959, 2959,
2432 629, 1048, 1048, 1048, 1048, 2959, 2959, 1048, 1048, 633,
2433 633, 633, 2959, 2959, 2959, 633, 1058, 1058, 1058, 1058,
2434 2959, 2959, 1058, 1058, 641, 641, 641, 2959, 2959, 2959,
2435 641, 1074, 1074, 1074, 1074, 2959, 2959, 1074, 1074, 653,
2436 653, 653, 2959, 2959, 2959, 653, 1082, 1082, 1082, 1082,
2438 2959, 2959, 1082, 1082, 659, 659, 659, 2959, 2959, 2959,
2439 659, 1090, 1090, 1090, 1090, 2959, 2959, 1090, 1090, 675,
2440 675, 675, 2959, 2959, 2959, 675, 1110, 1110, 1110, 1110,
2441 2959, 2959, 1110, 1110, 682, 682, 682, 2959, 2959, 2959,
2442 682, 1119, 1119, 1119, 1119, 2959, 2959, 1119, 1119, 688,
2443 688, 688, 2959, 2959, 2959, 688, 1127, 1127, 1127, 1127,
2444 2959, 2959, 1127, 1127, 693, 693, 693, 2959, 2959, 2959,
2445 693, 1133, 1133, 1133, 1133, 2959, 2959, 1133, 1133, 698,
2446 698, 698, 2959, 2959, 2959, 698, 1145, 1145, 1145, 1145,
2447 2959, 2959, 1145, 1145, 707, 707, 707, 2959, 2959, 2959,
2449 707, 1171, 1171, 1171, 1171, 2959, 2959, 1171, 1171, 723,
2450 723, 723, 2959, 2959, 2959, 723, 1186, 1186, 1186, 1186,
2451 2959, 2959, 1186, 1186, 733, 733, 733, 2959, 2959, 2959,
2452 733, 1194, 1194, 1194, 1194, 2959, 2959, 1194, 1194, 738,
2453 738, 738, 2959, 2959, 2959, 738, 1205, 1205, 1205, 1205,
2454 2959, 2959, 1205, 1205, 746, 746, 746, 746, 2959, 746,
2455 2959, 746, 1214, 1214, 1214, 1214, 2959, 2959, 1214, 1214,
2456 753, 753, 753, 753, 2959, 753, 2959, 753, 1226, 1226,
2457 1226, 1226, 2959, 2959, 1226, 1226, 760, 760, 760, 2959,
2458 2959, 2959, 760, 1234, 1234, 1234, 1234, 2959, 2959, 1234,
2460 1234, 765, 765, 765, 765, 2959, 765, 2959, 765, 1242,
2461 1242, 1242, 1242, 2959, 2959, 1242, 1242, 770, 770, 770,
2462 770, 2959, 770, 2959, 770, 1252, 1252, 1252, 1252, 2959,
2463 2959, 1252, 1252, 776, 776, 776, 2959, 2959, 2959, 776,
2464 1261, 1261, 1261, 1261, 2959, 2959, 1261, 1261, 785, 785,
2465 785, 2959, 2959, 2959, 785, 1267, 1267, 1267, 1267, 2959,
2466 2959, 1267, 1267, 1274, 1274, 1274, 1274, 2959, 2959, 1274,
2467 1274, 793, 793, 793, 2959, 2959, 2959, 793, 1282, 1282,
2468 1282, 1282, 2959, 2959, 1282, 1282, 1002, 1002, 1002, 1002,
2469 1002, 1002, 1002, 1002, 1002, 1008, 2959, 1008, 2959, 2959,
2471 1008, 603, 603, 603, 2959, 2959, 2959, 603, 1017, 1017,
2472 1017, 1017, 2959, 2959, 1017, 1017, 629, 629, 629, 629,
2473 2959, 629, 2959, 629, 1048, 1048, 1048, 1048, 2959, 2959,
2474 1048, 1048, 633, 633, 633, 633, 2959, 633, 2959, 633,
2475 1058, 1058, 1058, 1058, 2959, 2959, 1058, 1058, 641, 641,
2476 641, 2959, 2959, 2959, 641, 1074, 1074, 1074, 1074, 2959,
2477 2959, 1074, 1074, 653, 653, 653, 2959, 2959, 2959, 653,
2478 1082, 1082, 1082, 1082, 2959, 2959, 1082, 1082, 659, 659,
2479 659, 2959, 2959, 2959, 659, 1090, 1090, 1090, 1090, 2959,
2480 2959, 1090, 1090, 675, 675, 675, 2959, 2959, 2959, 675,
2482 1110, 1110, 1110, 1110, 2959, 2959, 1110, 1110, 682, 682,
2483 682, 2959, 2959, 2959, 682, 1119, 1119, 1119, 1119, 2959,
2484 2959, 1119, 1119, 688, 688, 688, 688, 2959, 688, 2959,
2485 688, 1127, 1127, 1127, 1127, 2959, 2959, 1127, 1127, 693,
2486 693, 693, 693, 2959, 693, 2959, 693, 1133, 1133, 1133,
2487 1133, 2959, 2959, 1133, 1133, 698, 698, 698, 2959, 2959,
2488 2959, 698, 1145, 1145, 1145, 1145, 2959, 2959, 1145, 1145,
2489 707, 707, 707, 2959, 2959, 2959, 707, 1171, 1171, 1171,
2490 1171, 2959, 2959, 1171, 1171, 723, 723, 723, 2959, 2959,
2491 2959, 723, 1186, 1186, 1186, 1186, 2959, 2959, 1186, 1186,
2493 733, 733, 733, 2959, 2959, 2959, 733, 1194, 1194, 1194,
2494 1194, 2959, 2959, 1194, 1194, 738, 738, 738, 2959, 2959,
2495 2959, 738, 1205, 1205, 1205, 1205, 2959, 2959, 1205, 1205,
2496 746, 746, 746, 2959, 2959, 2959, 746, 1214, 1214, 1214,
2497 1214, 2959, 2959, 1214, 1214, 753, 753, 753, 2959, 2959,
2498 2959, 753, 1226, 1226, 1226, 1226, 2959, 2959, 1226, 1226,
2499 760, 760, 760, 2959, 2959, 2959, 760, 1234, 1234, 1234,
2500 1234, 2959, 2959, 1234, 1234, 1242, 1242, 1242, 1242, 2959,
2501 2959, 1242, 1242, 770, 770, 770, 2959, 2959, 2959, 770,
2502 1252, 1252, 1252, 1252, 2959, 2959, 1252, 1252, 776, 776,
2504 776, 2959, 2959, 2959, 776, 1261, 1261, 1261, 1261, 2959,
2505 2959, 1261, 1261, 785, 785, 785, 2959, 2959, 2959, 785,
2506 1267, 1267, 1267, 1267, 2959, 2959, 1267, 1267, 1274, 1274,
2507 1274, 1274, 2959, 2959, 1274, 1274, 793, 793, 793, 2959,
2508 2959, 2959, 793, 1282, 1282, 1282, 1282, 2959, 2959, 1282,
2509 1282, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
2510 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 603,
2511 603, 603, 2959, 2959, 2959, 603, 1017, 1017, 1017, 1017,
2512 2959, 2959, 1017, 1017, 1048, 1048, 1048, 1048, 2959, 2959,
2513 1048, 1048, 633, 633, 633, 2959, 2959, 2959, 633, 1058,
2515 1058, 1058, 1058, 2959, 2959, 1058, 1058, 641, 641, 641,
2516 2959, 2959, 2959, 641, 1074, 1074, 1074, 1074, 2959, 2959,
2517 1074, 1074, 653, 653, 653, 2959, 2959, 2959, 653, 1082,
2518 1082, 1082, 1082, 2959, 2959, 1082, 1082, 659, 659, 659,
2519 2959, 2959, 2959, 659, 675, 675, 675, 2959, 2959, 2959,
2520 675, 1110, 1110, 1110, 1110, 2959, 2959, 1110, 1110, 682,
2521 682, 682, 2959, 2959, 2959, 682, 1119, 1119, 1119, 1119,
2522 2959, 2959, 1119, 1119, 1127, 1127, 1127, 1127, 2959, 2959,
2523 1127, 1127, 693, 693, 693, 2959, 2959, 2959, 693, 1133,
2524 1133, 1133, 1133, 2959, 2959, 1133, 1133, 698, 698, 698,
2526 2959, 2959, 2959, 698, 1145, 1145, 1145, 1145, 2959, 2959,
2527 1145, 1145, 707, 707, 707, 2959, 2959, 2959, 707, 1171,
2528 1171, 1171, 1171, 2959, 2959, 1171, 1171, 723, 723, 723,
2529 2959, 2959, 2959, 723, 1186, 1186, 1186, 1186, 2959, 2959,
2530 1186, 1186, 733, 733, 733, 2959, 2959, 2959, 733, 1194,
2531 1194, 1194, 1194, 2959, 2959, 1194, 1194, 738, 738, 738,
2532 2959, 2959, 2959, 738, 1205, 1205, 1205, 1205, 2959, 2959,
2533 1205, 1205, 746, 746, 746, 2959, 2959, 2959, 746, 1214,
2534 1214, 1214, 1214, 2959, 2959, 1214, 1214, 753, 753, 753,
2535 2959, 2959, 2959, 753, 1226, 1226, 1226, 1226, 2959, 2959,
2537 1226, 1226, 760, 760, 760, 2959, 2959, 2959, 760, 1234,
2538 1234, 1234, 1234, 2959, 2959, 1234, 1234, 1242, 1242, 1242,
2539 1242, 2959, 2959, 1242, 1242, 770, 770, 770, 2959, 2959,
2540 2959, 770, 1252, 1252, 1252, 1252, 2959, 2959, 1252, 1252,
2541 776, 776, 776, 2959, 2959, 2959, 776, 1261, 1261, 1261,
2542 1261, 2959, 2959, 1261, 1261, 785, 785, 785, 785, 2959,
2543 785, 2959, 785, 1267, 1267, 1267, 1267, 2959, 2959, 1267,
2544 1267, 1274, 1274, 1274, 1274, 2959, 2959, 1274, 1274, 793,
2545 793, 793, 793, 2959, 793, 2959, 793, 1282, 1282, 1282,
2546 1282, 2959, 2959, 1282, 1282, 1002, 1002, 1002, 1002, 1002,
2548 1002, 1002, 1002, 1002, 1469, 1469, 1469, 1469, 1469, 1469,
2549 1469, 1469, 1469, 603, 603, 603, 2959, 2959, 2959, 603,
2550 1017, 1017, 1017, 1017, 2959, 2959, 1017, 1017, 1048, 1048,
2551 1048, 1048, 2959, 2959, 1048, 1048, 633, 633, 633, 2959,
2552 2959, 2959, 633, 1058, 1058, 1058, 1058, 2959, 2959, 1058,
2553 1058, 641, 641, 641, 2959, 2959, 2959, 641, 1074, 1074,
2554 1074, 1074, 2959, 2959, 1074, 1074, 653, 653, 653, 2959,
2555 2959, 2959, 653, 1082, 1082, 1082, 1082, 2959, 2959, 1082,
2556 1082, 659, 659, 659, 2959, 2959, 2959, 659, 675, 675,
2557 675, 2959, 2959, 2959, 675, 1110, 1110, 1110, 1110, 2959,
2559 2959, 1110, 1110, 682, 682, 682, 2959, 2959, 2959, 682,
2560 1119, 1119, 1119, 1119, 2959, 2959, 1119, 1119, 1127, 1127,
2561 1127, 1127, 2959, 2959, 1127, 1127, 693, 693, 693, 693,
2562 2959, 693, 2959, 693, 1133, 1133, 1133, 1133, 2959, 2959,
2563 1133, 1133, 698, 698, 698, 2959, 2959, 2959, 698, 1145,
2564 1145, 1145, 1145, 2959, 2959, 1145, 1145, 707, 707, 707,
2565 2959, 2959, 2959, 707, 1171, 1171, 1171, 1171, 2959, 2959,
2566 1171, 1171, 723, 723, 723, 2959, 2959, 2959, 723, 1186,
2567 1186, 1186, 1186, 2959, 2959, 1186, 1186, 733, 733, 733,
2568 2959, 2959, 2959, 733, 1194, 1194, 1194, 1194, 2959, 2959,
2570 1194, 1194, 738, 738, 738, 2959, 2959, 2959, 738, 1205,
2571 1205, 1205, 1205, 2959, 2959, 1205, 1205, 746, 746, 746,
2572 2959, 2959, 2959, 746, 1214, 1214, 1214, 1214, 2959, 2959,
2573 1214, 1214, 753, 753, 753, 753, 2959, 753, 2959, 753,
2574 1226, 1226, 1226, 1226, 2959, 2959, 1226, 1226, 760, 760,
2575 760, 2959, 2959, 2959, 760, 1234, 1234, 1234, 1234, 2959,
2576 2959, 1234, 1234, 1242, 1242, 1242, 1242, 2959, 2959, 1242,
2577 1242, 770, 770, 770, 770, 2959, 770, 2959, 770, 1252,
2578 1252, 1252, 1252, 2959, 2959, 1252, 1252, 776, 776, 776,
2579 2959, 2959, 2959, 776, 1261, 1261, 1261, 1261, 2959, 2959,
2581 1261, 1261, 1267, 1267, 1267, 1267, 2959, 2959, 1267, 1267,
2582 1274, 1274, 1274, 1274, 2959, 2959, 1274, 1274, 1282, 1282,
2583 1282, 1282, 2959, 2959, 1282, 1282, 1002, 1002, 1002, 1002,
2584 1002, 1002, 1002, 1002, 1002, 1469, 1469, 1469, 1469, 1469,
2585 1469, 1469, 1469, 1469, 603, 603, 603, 603, 2959, 603,
2586 2959, 603, 1017, 1017, 1017, 1017, 2959, 2959, 1017, 1017,
2587 1048, 1048, 1048, 1048, 2959, 2959, 1048, 1048, 633, 633,
2588 633, 2959, 2959, 2959, 633, 1058, 1058, 1058, 1058, 2959,
2589 2959, 1058, 1058, 641, 641, 641, 2959, 2959, 2959, 641,
2590 1074, 1074, 1074, 1074, 2959, 2959, 1074, 1074, 653, 653,
2592 653, 653, 2959, 653, 2959, 653, 1082, 1082, 1082, 1082,
2593 2959, 2959, 1082, 1082, 659, 659, 659, 659, 2959, 659,
2594 2959, 659, 675, 675, 675, 675, 2959, 675, 2959, 675,
2595 1110, 1110, 1110, 1110, 2959, 2959, 1110, 1110, 682, 682,
2596 682, 682, 2959, 682, 2959, 682, 1119, 1119, 1119, 1119,
2597 2959, 2959, 1119, 1119, 1127, 1127, 1127, 1127, 2959, 2959,
2598 1127, 1127, 1133, 1133, 1133, 1133, 2959, 2959, 1133, 1133,
2599 698, 698, 698, 2959, 2959, 2959, 698, 707, 707, 707,
2600 2959, 2959, 2959, 707, 1171, 1171, 1171, 1171, 2959, 2959,
2601 1171, 1171, 723, 723, 723, 2959, 2959, 2959, 723, 733,
2603 733, 733, 2959, 2959, 2959, 733, 1194, 1194, 1194, 1194,
2604 2959, 2959, 1194, 1194, 738, 738, 738, 2959, 2959, 2959,
2605 738, 746, 746, 746, 2959, 2959, 2959, 746, 1214, 1214,
2606 1214, 1214, 2959, 2959, 1214, 1214, 753, 753, 753, 2959,
2607 2959, 2959, 753, 1226, 1226, 1226, 1226, 2959, 2959, 1226,
2608 1226, 760, 760, 760, 2959, 2959, 2959, 760, 1234, 1234,
2609 1234, 1234, 2959, 2959, 1234, 1234, 1242, 1242, 1242, 1242,
2610 2959, 2959, 1242, 1242, 1252, 1252, 1252, 1252, 2959, 2959,
2611 1252, 1252, 776, 776, 776, 2959, 2959, 2959, 776, 1261,
2612 1261, 1261, 1261, 2959, 2959, 1261, 1261, 1267, 1267, 1267,
2614 1267, 2959, 2959, 1267, 1267, 1274, 1274, 1274, 1274, 2959,
2615 2959, 1274, 1274, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
2616 1002, 1002, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469,
2617 1469, 1017, 1017, 1017, 1017, 2959, 2959, 1017, 1017, 1048,
2618 1048, 1048, 1048, 2959, 2959, 1048, 1048, 633, 633, 633,
2619 2959, 2959, 2959, 633, 641, 641, 641, 2959, 2959, 2959,
2620 641, 1074, 1074, 1074, 1074, 2959, 2959, 1074, 1074, 1082,
2621 1082, 1082, 1082, 2959, 2959, 1082, 1082, 1110, 1110, 1110,
2622 1110, 2959, 2959, 1110, 1110, 1119, 1119, 1119, 1119, 2959,
2623 2959, 1119, 1119, 1133, 1133, 1133, 1133, 2959, 2959, 1133,
2625 1133, 698, 698, 698, 2959, 2959, 2959, 698, 707, 707,
2626 707, 2959, 2959, 2959, 707, 1171, 1171, 1171, 1171, 2959,
2627 2959, 1171, 1171, 723, 723, 723, 2959, 2959, 2959, 723,
2628 733, 733, 733, 2959, 2959, 2959, 733, 1194, 1194, 1194,
2629 1194, 2959, 2959, 1194, 1194, 738, 738, 738, 2959, 2959,
2630 2959, 738, 746, 746, 746, 2959, 2959, 2959, 746, 753,
2631 753, 753, 2959, 2959, 2959, 753, 1226, 1226, 1226, 1226,
2632 2959, 2959, 1226, 1226, 760, 760, 760, 2959, 2959, 2959,
2633 760, 1234, 1234, 1234, 1234, 2959, 2959, 1234, 1234, 1242,
2634 1242, 1242, 1242, 2959, 2959, 1242, 1242, 1252, 1252, 1252,
2636 1252, 2959, 2959, 1252, 1252, 776, 776, 776, 776, 2959,
2637 776, 2959, 776, 1261, 1261, 1261, 1261, 2959, 2959, 1261,
2638 1261, 1267, 1267, 1267, 1267, 2959, 2959, 1267, 1267, 1274,
2639 1274, 1274, 1274, 2959, 2959, 1274, 1274, 1002, 1002, 1002,
2640 1002, 1002, 1002, 1002, 1002, 1002, 1469, 1469, 1469, 1469,
2641 1469, 1469, 1469, 1469, 1469, 1017, 1017, 1017, 1017, 2959,
2642 2959, 1017, 1017, 1048, 1048, 1048, 1048, 2959, 2959, 1048,
2643 1048, 633, 633, 633, 2959, 2959, 2959, 633, 641, 641,
2644 641, 641, 2959, 641, 2959, 641, 1082, 1082, 1082, 1082,
2645 2959, 2959, 1082, 1082, 1110, 1110, 1110, 1110, 2959, 2959,
2647 1110, 1110, 1119, 1119, 1119, 1119, 2959, 2959, 1119, 1119,
2648 1133, 1133, 1133, 1133, 2959, 2959, 1133, 1133, 698, 698,
2649 698, 2959, 2959, 2959, 698, 707, 707, 707, 2959, 2959,
2650 2959, 707, 1171, 1171, 1171, 1171, 2959, 2959, 1171, 1171,
2651 723, 723, 723, 2959, 2959, 2959, 723, 733, 733, 733,
2652 2959, 2959, 2959, 733, 2579, 2579, 2579, 2579, 2579, 2579,
2653 2579, 2579, 2579, 2580, 2580, 2580, 2580, 2580, 2580, 2580,
2654 2580, 2580, 2637, 2637, 2637, 2637, 2637, 2637, 2637, 2637,
2655 2637, 2640, 2640, 2640, 2640, 2640, 2640, 2640, 2640, 2640,
2656 2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678, 2678, 2680,
2658 2680, 2680, 2680, 2680, 2680, 2680, 2680, 2680, 237, 2959,
2659 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
2660 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
2661 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
2662 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
2663 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
2664 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
2665 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
2669 static yyconst flex_int16_t yy_chk[10284] =
2671 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2672 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2673 4, 10, 0, 5, 0, 9, 6, 0, 10, 7,
2674 8, 8, 8, 242, 11, 13, 13, 12, 14, 14,
2675 13, 13, 291, 14, 14, 243, 8, 17, 17, 242,
2676 13, 15, 15, 14, 15, 246, 15, 16, 16, 345,
2677 16, 243, 16, 18, 18, 1462, 15, 19, 19, 19,
2678 471, 246, 16, 20, 20, 20, 23, 23, 23, 24,
2679 24, 24, 471, 19, 25, 25, 25, 345, 1469, 20,
2680 352, 17, 23, 934, 291, 24, 240, 240, 240, 934,
2682 25, 241, 241, 241, 245, 245, 245, 18, 21, 21,
2683 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2684 21, 21, 21, 275, 21, 21, 21, 21, 21, 26,
2685 26, 26, 27, 27, 27, 28, 28, 28, 275, 29,
2686 29, 29, 30, 30, 30, 26, 352, 417, 27, 269,
2687 417, 28, 1472, 21, 21, 29, 285, 264, 30, 31,
2688 31, 31, 266, 266, 266, 269, 273, 273, 273, 282,
2689 282, 282, 285, 264, 316, 31, 1475, 21, 22, 22,
2690 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2691 22, 22, 22, 1476, 22, 22, 22, 22, 22, 32,
2693 32, 32, 33, 33, 33, 34, 34, 34, 256, 35,
2694 35, 35, 36, 36, 36, 32, 264, 1478, 33, 429,
2695 343, 34, 429, 22, 22, 35, 316, 343, 36, 37,
2696 37, 37, 38, 38, 38, 39, 39, 39, 40, 40,
2697 40, 41, 41, 41, 1479, 37, 483, 22, 38, 296,
2698 256, 39, 425, 483, 40, 1480, 256, 41, 42, 42,
2699 42, 256, 289, 289, 289, 296, 256, 293, 293, 293,
2700 304, 304, 304, 425, 42, 43, 43, 43, 43, 43,
2701 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
2702 313, 43, 43, 43, 43, 43, 45, 45, 45, 46,
2704 46, 46, 47, 47, 47, 313, 48, 48, 48, 49,
2705 49, 49, 45, 501, 596, 46, 1481, 596, 47, 311,
2706 43, 43, 48, 311, 317, 49, 277, 311, 43, 44,
2707 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2708 44, 44, 44, 44, 307, 44, 44, 44, 44, 44,
2709 50, 50, 50, 51, 51, 51, 52, 52, 52, 430,
2710 307, 501, 55, 55, 497, 277, 50, 55, 278, 51,
2711 1482, 497, 52, 430, 44, 44, 317, 55, 277, 318,
2712 277, 637, 44, 53, 53, 53, 53, 53, 53, 53,
2713 53, 53, 53, 53, 53, 53, 53, 53, 573, 53,
2715 53, 53, 53, 53, 1484, 323, 55, 278, 59, 59,
2716 59, 60, 60, 60, 61, 61, 61, 637, 56, 56,
2717 278, 323, 278, 56, 59, 301, 615, 60, 53, 53,
2718 61, 318, 301, 56, 613, 573, 53, 365, 613, 53,
2719 615, 301, 315, 315, 315, 1486, 53, 54, 54, 54,
2720 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
2721 54, 54, 56, 54, 54, 54, 54, 54, 62, 62,
2722 62, 63, 63, 63, 64, 64, 64, 619, 65, 65,
2723 65, 66, 66, 66, 62, 335, 357, 63, 347, 365,
2724 64, 619, 54, 54, 65, 1488, 609, 66, 347, 609,
2726 54, 335, 357, 54, 320, 320, 320, 329, 329, 329,
2727 54, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2728 57, 57, 57, 57, 57, 57, 347, 57, 57, 57,
2729 57, 57, 69, 69, 69, 70, 70, 70, 73, 73,
2730 73, 366, 74, 74, 74, 75, 75, 75, 69, 1490,
2731 371, 70, 330, 384, 73, 1491, 57, 57, 74, 330,
2732 1493, 75, 332, 332, 332, 57, 371, 57, 330, 384,
2733 378, 57, 340, 340, 340, 379, 57, 57, 58, 58,
2734 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2735 58, 58, 58, 366, 58, 58, 58, 58, 58, 76,
2737 76, 76, 77, 77, 77, 78, 78, 78, 475, 79,
2738 79, 79, 80, 80, 80, 76, 553, 1285, 77, 395,
2739 344, 78, 378, 58, 58, 79, 344, 379, 80, 349,
2740 349, 553, 58, 349, 58, 395, 344, 1285, 58, 349,
2741 349, 524, 1495, 58, 58, 67, 67, 67, 67, 67,
2742 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
2743 475, 67, 67, 67, 67, 67, 81, 81, 81, 82,
2744 82, 82, 83, 83, 83, 1497, 84, 84, 84, 85,
2745 85, 85, 81, 1498, 618, 82, 390, 618, 83, 524,
2746 67, 67, 84, 390, 401, 85, 587, 67, 354, 354,
2748 354, 401, 390, 67, 364, 364, 364, 368, 368, 368,
2749 401, 587, 67, 68, 68, 68, 68, 68, 68, 68,
2750 68, 68, 68, 68, 68, 68, 68, 68, 1499, 68,
2751 68, 68, 68, 68, 86, 86, 86, 87, 87, 87,
2752 88, 88, 88, 667, 89, 89, 89, 90, 90, 90,
2753 86, 1500, 621, 87, 406, 621, 88, 667, 68, 68,
2754 89, 625, 422, 90, 625, 68, 377, 377, 377, 1502,
2755 406, 68, 381, 381, 381, 389, 389, 389, 422, 1511,
2756 68, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2757 71, 71, 71, 71, 71, 71, 537, 71, 71, 71,
2759 71, 71, 91, 91, 91, 92, 92, 92, 93, 93,
2760 93, 1512, 94, 94, 94, 95, 95, 95, 91, 439,
2761 700, 92, 1514, 700, 93, 551, 71, 71, 94, 455,
2762 1518, 95, 392, 392, 392, 439, 415, 71, 400, 400,
2763 400, 403, 403, 403, 537, 455, 71, 72, 72, 72,
2764 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
2765 72, 72, 551, 72, 72, 72, 72, 72, 96, 96,
2766 96, 97, 97, 97, 98, 98, 98, 551, 99, 99,
2767 99, 100, 100, 100, 96, 415, 1522, 97, 415, 431,
2768 98, 1525, 72, 72, 99, 466, 1532, 100, 101, 101,
2770 101, 431, 431, 72, 102, 102, 102, 414, 414, 414,
2771 474, 466, 72, 574, 101, 419, 419, 419, 350, 1533,
2772 102, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2773 103, 103, 103, 103, 103, 103, 1534, 103, 103, 103,
2774 103, 103, 105, 105, 105, 106, 106, 106, 107, 107,
2775 107, 705, 108, 108, 108, 705, 350, 1538, 105, 474,
2776 480, 106, 434, 450, 107, 574, 103, 103, 108, 434,
2777 450, 103, 350, 433, 433, 433, 480, 103, 434, 450,
2778 1539, 103, 436, 436, 436, 1540, 1543, 103, 104, 104,
2779 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
2781 104, 104, 104, 1550, 104, 104, 104, 104, 104, 109,
2782 109, 109, 110, 110, 110, 111, 111, 111, 672, 112,
2783 112, 112, 449, 449, 449, 109, 493, 1562, 110, 1563,
2784 1571, 111, 672, 104, 104, 112, 461, 506, 104, 452,
2785 452, 452, 493, 461, 104, 460, 460, 460, 104, 463,
2786 463, 463, 461, 506, 104, 113, 113, 113, 113, 113,
2787 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
2788 1574, 113, 113, 113, 113, 113, 115, 115, 115, 116,
2789 116, 116, 117, 117, 117, 673, 118, 118, 118, 473,
2790 473, 473, 115, 1005, 517, 116, 1468, 1005, 117, 673,
2792 113, 113, 118, 1575, 1579, 113, 477, 477, 477, 486,
2793 517, 113, 485, 485, 485, 490, 490, 490, 499, 499,
2794 499, 1468, 113, 114, 114, 114, 114, 114, 114, 114,
2795 114, 114, 114, 114, 114, 114, 114, 114, 1586, 114,
2796 114, 114, 114, 114, 119, 119, 119, 120, 120, 120,
2797 121, 121, 121, 1587, 122, 122, 122, 486, 1588, 1589,
2798 119, 486, 1592, 120, 1033, 1596, 121, 1599, 114, 114,
2799 122, 512, 529, 114, 503, 503, 503, 1033, 512, 114,
2800 511, 511, 511, 514, 514, 514, 1601, 512, 529, 1603,
2801 114, 123, 123, 123, 123, 123, 123, 123, 123, 123,
2803 123, 123, 123, 123, 123, 123, 1604, 123, 123, 123,
2804 123, 123, 125, 125, 125, 126, 126, 126, 129, 129,
2805 129, 1605, 130, 130, 130, 133, 133, 133, 125, 542,
2806 558, 126, 1608, 1610, 129, 568, 123, 123, 130, 1612,
2807 1617, 133, 522, 522, 522, 542, 558, 123, 526, 526,
2808 526, 568, 123, 124, 124, 124, 124, 124, 124, 124,
2809 124, 124, 124, 124, 124, 124, 124, 124, 1623, 124,
2810 124, 124, 124, 124, 134, 134, 134, 135, 135, 135,
2811 136, 136, 136, 1627, 137, 137, 137, 138, 138, 138,
2812 134, 579, 1628, 135, 1629, 614, 136, 799, 124, 124,
2814 137, 1631, 614, 138, 535, 535, 535, 579, 614, 124,
2815 539, 539, 539, 799, 124, 127, 127, 127, 127, 127,
2816 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
2817 1643, 127, 127, 127, 127, 127, 139, 139, 139, 140,
2818 140, 140, 143, 143, 143, 1646, 144, 144, 144, 147,
2819 147, 147, 139, 1647, 1649, 140, 1640, 1651, 143, 1648,
2820 127, 127, 144, 1639, 1652, 147, 550, 550, 550, 555,
2821 555, 555, 562, 562, 562, 1648, 127, 565, 565, 565,
2822 1639, 1654, 127, 128, 128, 128, 128, 128, 128, 128,
2823 128, 128, 128, 128, 128, 128, 128, 128, 1640, 128,
2825 128, 128, 128, 128, 148, 148, 148, 151, 151, 151,
2826 152, 152, 152, 1655, 155, 155, 155, 156, 156, 156,
2827 148, 1656, 1660, 151, 563, 1662, 152, 1665, 128, 128,
2828 155, 563, 1666, 156, 572, 572, 572, 576, 576, 576,
2829 563, 584, 584, 584, 128, 586, 586, 586, 1641, 1667,
2830 128, 131, 131, 131, 131, 131, 131, 131, 131, 131,
2831 131, 131, 131, 131, 131, 131, 1669, 131, 131, 131,
2832 131, 131, 157, 157, 157, 158, 158, 158, 159, 159,
2833 159, 1641, 160, 160, 160, 1671, 585, 1044, 157, 1672,
2834 1674, 158, 1676, 585, 159, 1679, 131, 131, 160, 131,
2836 1044, 131, 585, 595, 595, 595, 1680, 131, 802, 802,
2837 802, 1682, 802, 1683, 131, 1684, 1686, 131, 132, 132,
2838 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
2839 132, 132, 132, 1692, 132, 132, 132, 132, 132, 161,
2840 161, 161, 162, 162, 162, 165, 165, 165, 1696, 166,
2841 166, 166, 844, 844, 844, 161, 844, 1712, 162, 844,
2842 623, 165, 595, 132, 132, 166, 132, 623, 132, 626,
2843 627, 1713, 1718, 623, 132, 1719, 626, 627, 1020, 1020,
2844 1020, 132, 626, 627, 132, 141, 141, 141, 141, 141,
2845 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2847 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2848 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2849 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2850 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2851 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2852 141, 141, 141, 141, 141, 141, 141, 141, 141, 145,
2853 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2854 145, 145, 145, 145, 1720, 145, 145, 145, 145, 145,
2855 167, 167, 167, 168, 168, 168, 169, 169, 169, 1681,
2856 170, 170, 170, 635, 635, 635, 167, 1681, 1724, 168,
2858 1725, 1077, 169, 1731, 145, 145, 170, 145, 145, 145,
2859 635, 1040, 1040, 1040, 1077, 145, 1685, 1738, 145, 814,
2860 814, 814, 145, 1739, 1685, 145, 146, 146, 146, 146,
2861 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
2862 146, 1740, 146, 146, 146, 146, 146, 171, 171, 171,
2863 172, 172, 172, 175, 175, 175, 1744, 176, 176, 176,
2864 643, 643, 643, 171, 1750, 1693, 172, 1754, 1697, 175,
2865 1757, 146, 146, 176, 146, 146, 146, 643, 833, 833,
2866 833, 1693, 146, 814, 1697, 146, 1299, 1299, 1299, 146,
2867 1759, 1761, 146, 149, 149, 149, 149, 149, 149, 149,
2869 149, 149, 149, 149, 149, 149, 149, 149, 1763, 149,
2870 149, 149, 149, 149, 177, 177, 177, 178, 178, 178,
2871 179, 179, 179, 1764, 180, 180, 180, 917, 651, 1765,
2872 177, 1768, 1698, 178, 1770, 651, 179, 917, 149, 149,
2873 180, 651, 833, 149, 917, 1301, 1301, 1301, 1698, 149,
2874 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
2875 150, 150, 150, 150, 150, 1775, 150, 150, 150, 150,
2876 150, 181, 181, 181, 182, 182, 182, 185, 185, 185,
2877 1777, 186, 186, 186, 660, 660, 660, 181, 1527, 1785,
2878 182, 1301, 1786, 185, 1527, 150, 150, 186, 1527, 1787,
2880 150, 660, 1527, 872, 872, 872, 150, 153, 153, 153,
2881 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
2882 153, 153, 1788, 153, 153, 153, 153, 153, 189, 189,
2883 189, 190, 190, 190, 191, 191, 191, 1790, 192, 192,
2884 192, 193, 193, 193, 189, 1801, 1804, 190, 1809, 1810,
2885 191, 1801, 153, 153, 192, 1811, 153, 193, 852, 852,
2886 852, 1815, 852, 153, 1816, 852, 153, 872, 1817, 1803,
2887 878, 878, 878, 153, 154, 154, 154, 154, 154, 154,
2888 154, 154, 154, 154, 154, 154, 154, 154, 154, 1822,
2889 154, 154, 154, 154, 154, 194, 194, 194, 195, 195,
2891 195, 196, 196, 196, 1828, 199, 199, 199, 200, 200,
2892 200, 194, 1830, 1831, 195, 1803, 1834, 196, 1837, 154,
2893 154, 199, 1841, 154, 200, 868, 868, 868, 1842, 868,
2894 154, 1843, 868, 154, 878, 1304, 1304, 1304, 1844, 1845,
2895 154, 163, 163, 163, 163, 163, 163, 163, 163, 163,
2896 163, 163, 163, 163, 163, 163, 1846, 163, 163, 163,
2897 163, 163, 201, 201, 201, 202, 202, 202, 203, 203,
2898 203, 1847, 204, 204, 204, 205, 205, 205, 201, 1848,
2899 1849, 202, 1850, 1855, 203, 1856, 163, 163, 204, 1874,
2900 1875, 205, 163, 885, 885, 885, 1878, 885, 1879, 1880,
2902 885, 1307, 1307, 1307, 1316, 1316, 1316, 163, 164, 164,
2903 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
2904 164, 164, 164, 1884, 164, 164, 164, 164, 164, 206,
2905 206, 206, 209, 209, 209, 210, 210, 210, 1876, 211,
2906 211, 211, 212, 212, 212, 206, 1876, 1890, 209, 1877,
2907 1891, 210, 1892, 164, 164, 211, 1897, 1877, 212, 164,
2908 892, 892, 892, 1901, 892, 1902, 1903, 892, 1341, 1341,
2909 1341, 1352, 1352, 1352, 164, 173, 173, 173, 173, 173,
2910 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
2911 1905, 173, 173, 173, 173, 173, 213, 213, 213, 214,
2913 214, 214, 215, 215, 215, 1802, 216, 216, 216, 219,
2914 219, 219, 213, 1528, 1908, 214, 1909, 1912, 215, 1528,
2915 173, 173, 216, 1528, 1913, 219, 173, 1528, 1916, 173,
2916 897, 897, 897, 1923, 897, 1925, 1802, 897, 1353, 1353,
2917 1353, 173, 174, 174, 174, 174, 174, 174, 174, 174,
2918 174, 174, 174, 174, 174, 174, 174, 1940, 174, 174,
2919 174, 174, 174, 220, 220, 220, 223, 223, 223, 224,
2920 224, 224, 1910, 225, 225, 225, 226, 226, 226, 220,
2921 1910, 1944, 223, 1911, 1353, 224, 1953, 174, 174, 225,
2922 1954, 1911, 226, 174, 1962, 1963, 174, 909, 909, 909,
2924 1945, 909, 1967, 1969, 909, 1426, 1426, 1426, 174, 183,
2925 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
2926 183, 183, 183, 183, 1944, 183, 183, 183, 183, 183,
2927 227, 227, 227, 228, 228, 228, 229, 229, 229, 1981,
2928 230, 230, 230, 233, 233, 233, 227, 1945, 1982, 228,
2929 1983, 1426, 229, 276, 183, 183, 230, 1984, 1985, 233,
2930 183, 1986, 348, 276, 1987, 183, 184, 184, 184, 184,
2931 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
2932 184, 1988, 184, 184, 184, 184, 184, 234, 234, 234,
2933 348, 1989, 276, 1990, 1996, 812, 812, 812, 276, 1997,
2935 341, 1999, 2009, 234, 2010, 276, 348, 2011, 342, 276,
2936 341, 184, 184, 812, 1483, 1483, 1483, 184, 342, 1485,
2937 1485, 1485, 184, 187, 187, 187, 187, 187, 187, 187,
2938 187, 187, 187, 187, 187, 187, 187, 187, 341, 187,
2939 187, 187, 187, 187, 341, 2012, 342, 2013, 341, 677,
2940 677, 677, 2014, 2015, 341, 341, 684, 684, 684, 2017,
2941 342, 689, 689, 689, 342, 2018, 677, 2023, 187, 187,
2942 701, 701, 701, 684, 187, 919, 919, 919, 689, 919,
2943 2024, 2026, 919, 1487, 1487, 1487, 2027, 701, 2028, 187,
2944 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
2946 188, 188, 188, 188, 188, 2029, 188, 188, 188, 188,
2947 188, 710, 710, 710, 712, 712, 712, 727, 727, 727,
2948 735, 735, 735, 740, 740, 740, 2036, 2037, 710, 2038,
2949 2039, 712, 2040, 2041, 727, 188, 188, 735, 2042, 2043,
2950 740, 188, 922, 922, 922, 2045, 922, 2067, 2068, 922,
2951 1489, 1489, 1489, 1492, 1492, 1492, 188, 197, 197, 197,
2952 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
2953 197, 197, 2062, 197, 197, 197, 197, 197, 762, 762,
2954 762, 790, 790, 790, 794, 794, 794, 813, 813, 813,
2955 2072, 840, 840, 840, 2073, 762, 2074, 2077, 790, 2081,
2957 2082, 794, 197, 197, 2062, 813, 2083, 2084, 197, 840,
2958 2085, 197, 937, 937, 937, 2063, 937, 2086, 2087, 937,
2959 1494, 1494, 1494, 197, 198, 198, 198, 198, 198, 198,
2960 198, 198, 198, 198, 198, 198, 198, 198, 198, 2088,
2961 198, 198, 198, 198, 198, 813, 841, 841, 841, 843,
2962 843, 843, 2063, 847, 847, 847, 848, 848, 848, 851,
2963 851, 851, 2089, 2090, 841, 2092, 843, 2093, 2094, 198,
2964 198, 847, 2095, 2096, 848, 198, 851, 2094, 198, 945,
2965 945, 945, 2097, 945, 1494, 2098, 945, 1501, 1501, 1501,
2966 198, 207, 207, 207, 207, 207, 207, 207, 207, 207,
2968 207, 207, 207, 207, 207, 207, 841, 207, 207, 207,
2969 207, 207, 853, 853, 853, 855, 855, 855, 2099, 2101,
2970 848, 859, 859, 859, 865, 865, 865, 1993, 1993, 853,
2971 1993, 2100, 855, 860, 860, 860, 207, 207, 1993, 859,
2972 2100, 1993, 865, 2102, 207, 1993, 207, 2103, 2104, 207,
2973 2105, 860, 2106, 207, 1524, 1524, 1524, 207, 208, 208,
2974 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
2975 208, 208, 208, 2111, 208, 208, 208, 208, 208, 2112,
2976 860, 2113, 866, 866, 866, 867, 867, 867, 870, 870,
2977 870, 884, 884, 884, 888, 888, 888, 889, 889, 889,
2979 866, 2115, 867, 208, 208, 2119, 870, 2120, 884, 2123,
2980 2127, 208, 888, 208, 2128, 889, 208, 1535, 1535, 1535,
2981 208, 1536, 1536, 1536, 208, 217, 217, 217, 217, 217,
2982 217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
2983 2130, 217, 217, 217, 217, 217, 866, 871, 871, 871,
2984 891, 891, 891, 2133, 894, 894, 894, 895, 895, 895,
2985 896, 896, 896, 889, 2134, 871, 2135, 891, 2136, 2138,
2986 217, 217, 894, 2141, 2143, 895, 2167, 896, 950, 950,
2987 950, 2168, 950, 2169, 871, 950, 970, 970, 970, 2170,
2988 970, 2171, 2164, 970, 217, 218, 218, 218, 218, 218,
2990 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
2991 2177, 218, 218, 218, 218, 218, 899, 899, 899, 900,
2992 900, 900, 2162, 895, 903, 903, 903, 904, 904, 904,
2993 908, 908, 908, 2174, 899, 2164, 2178, 900, 2179, 2180,
2994 218, 218, 903, 2174, 2181, 904, 2174, 908, 994, 994,
2995 994, 2182, 994, 2183, 2184, 994, 998, 998, 998, 2185,
2996 998, 2186, 2162, 998, 218, 221, 221, 221, 221, 221,
2997 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
2998 900, 221, 221, 221, 221, 221, 912, 912, 912, 913,
2999 913, 913, 904, 2188, 2189, 918, 918, 918, 921, 921,
3001 921, 923, 923, 923, 912, 2190, 2175, 913, 2191, 2192,
3002 221, 221, 918, 2193, 2163, 921, 2175, 2194, 923, 2175,
3003 2195, 221, 222, 222, 222, 222, 222, 222, 222, 222,
3004 222, 222, 222, 222, 222, 222, 222, 2196, 222, 222,
3005 222, 222, 222, 931, 931, 931, 932, 932, 932, 2197,
3006 913, 2163, 936, 936, 936, 938, 938, 938, 941, 941,
3007 941, 931, 2198, 2199, 932, 2200, 2201, 222, 222, 936,
3008 2202, 2203, 938, 1573, 1573, 1573, 941, 2204, 222, 231,
3009 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
3010 231, 231, 231, 231, 2208, 231, 231, 231, 231, 231,
3012 944, 944, 944, 2214, 932, 946, 946, 946, 2215, 947,
3013 947, 947, 2219, 942, 942, 942, 2222, 944, 2230, 949,
3014 949, 949, 2231, 946, 231, 231, 2232, 947, 954, 954,
3015 954, 942, 1496, 1496, 1496, 231, 949, 1052, 1052, 1052,
3016 2258, 1052, 2255, 2260, 1052, 2261, 954, 2256, 231, 232,
3017 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
3018 232, 232, 232, 232, 942, 232, 232, 232, 232, 232,
3019 947, 2255, 955, 955, 955, 956, 956, 956, 1496, 957,
3020 957, 957, 958, 958, 958, 959, 959, 959, 2240, 2256,
3021 955, 2262, 956, 2265, 232, 232, 957, 2266, 2240, 958,
3023 962, 962, 962, 959, 2240, 232, 960, 960, 960, 2268,
3024 2267, 963, 963, 963, 964, 964, 964, 962, 232, 274,
3025 965, 965, 965, 2267, 960, 2269, 274, 955, 963, 2272,
3026 2257, 964, 966, 966, 966, 274, 274, 965, 969, 969,
3027 969, 958, 971, 971, 971, 973, 973, 973, 2273, 2274,
3028 966, 967, 967, 967, 2275, 969, 974, 974, 974, 2277,
3029 971, 963, 973, 274, 274, 274, 2278, 960, 2279, 967,
3030 274, 274, 2257, 974, 274, 274, 963, 2280, 274, 965,
3031 274, 274, 274, 972, 972, 972, 2283, 2284, 967, 975,
3032 975, 975, 976, 976, 976, 977, 977, 977, 979, 979,
3034 979, 972, 978, 978, 978, 2285, 2286, 975, 2287, 2288,
3035 976, 2289, 977, 2290, 2291, 979, 980, 980, 980, 978,
3036 2270, 981, 981, 981, 987, 987, 987, 988, 988, 988,
3037 991, 991, 991, 2270, 980, 992, 992, 992, 972, 981,
3038 2292, 2293, 987, 2294, 2295, 988, 2296, 2297, 991, 993,
3039 993, 993, 978, 992, 995, 995, 995, 996, 996, 996,
3040 997, 997, 997, 976, 2299, 2307, 993, 978, 1000, 1000,
3041 1000, 2308, 995, 2309, 2313, 996, 2321, 997, 1001, 1001,
3042 1001, 2323, 1016, 1016, 1016, 2331, 1000, 1017, 1017, 1017,
3043 2332, 988, 981, 1019, 1019, 1019, 1001, 2333, 2334, 992,
3045 1016, 2335, 1046, 1046, 1046, 1017, 1047, 1047, 1047, 2336,
3046 2340, 1019, 1048, 1048, 1048, 1050, 1050, 1050, 996, 1046,
3047 1051, 1051, 1051, 2340, 1047, 2341, 1055, 1055, 1055, 2345,
3048 1048, 2348, 2351, 1050, 1057, 1057, 1057, 1051, 2341, 2346,
3049 1019, 2352, 1001, 1055, 1058, 1058, 1058, 1060, 1060, 1060,
3050 2356, 2357, 1057, 1062, 1062, 1062, 2358, 1062, 2359, 2360,
3051 1062, 2361, 1058, 2362, 1050, 1060, 1065, 1065, 1065, 1066,
3052 1066, 1066, 2241, 1066, 2346, 2363, 1066, 2345, 1067, 1067,
3053 1067, 2365, 2241, 1065, 1068, 1068, 1068, 1055, 2241, 1069,
3054 1069, 1069, 2366, 1069, 1060, 1067, 1069, 1071, 1071, 1071,
3056 2367, 1068, 1073, 1073, 1073, 1074, 1074, 1074, 1076, 1076,
3057 1076, 1079, 1079, 1079, 1071, 1081, 1081, 1081, 2368, 2369,
3058 1073, 2370, 2371, 1074, 2372, 2374, 1076, 2375, 1079, 1082,
3059 1082, 1082, 2376, 1081, 1084, 1084, 1084, 1085, 1085, 1085,
3060 2377, 1085, 2378, 2379, 1085, 2380, 2381, 1082, 1089, 1089,
3061 1089, 2382, 1084, 1090, 1090, 1090, 1092, 1092, 1092, 2383,
3062 1104, 1104, 1104, 2384, 1104, 2385, 1089, 1104, 1076, 2386,
3063 2387, 1090, 2388, 2394, 1092, 1108, 1108, 1108, 1109, 1109,
3064 1109, 1084, 1110, 1110, 1110, 1112, 1112, 1112, 1118, 1118,
3065 1118, 2398, 1108, 1119, 1119, 1119, 1109, 1114, 1114, 1114,
3067 1110, 1114, 2399, 1112, 1114, 2400, 1118, 1121, 1121, 1121,
3068 2401, 1119, 1122, 1122, 1122, 2408, 1122, 2411, 2418, 1122,
3069 1125, 1125, 1125, 2419, 2420, 1121, 1126, 1126, 1126, 1127,
3070 1127, 1127, 1129, 1129, 1129, 2413, 2421, 1125, 1130, 1130,
3071 1130, 1131, 1131, 1131, 1126, 2413, 1112, 1127, 2422, 2423,
3072 1129, 2426, 1132, 1132, 1132, 1130, 2427, 2428, 1131, 1133,
3073 1133, 1133, 1135, 1135, 1135, 1138, 1138, 1138, 1121, 1131,
3074 1132, 1139, 1139, 1139, 2429, 1139, 2438, 1133, 1139, 2439,
3075 1135, 2440, 1138, 1144, 1144, 1144, 1145, 1145, 1145, 1147,
3076 1147, 1147, 2414, 1154, 1154, 1154, 2416, 1154, 2441, 1129,
3078 1154, 1144, 2414, 2442, 1145, 2443, 2416, 1147, 1157, 1157,
3079 1157, 1158, 1158, 1158, 2444, 1158, 2430, 2417, 1158, 1161,
3080 1161, 1161, 1162, 1162, 1162, 1157, 1162, 2417, 1135, 1162,
3081 1170, 1170, 1170, 1171, 1171, 1171, 1161, 1173, 1173, 1173,
3082 1178, 1178, 1178, 2445, 1178, 2448, 2449, 1178, 1170, 2451,
3083 2430, 1171, 2452, 2453, 1147, 1173, 1181, 1181, 1181, 1182,
3084 1182, 1182, 2455, 1182, 2457, 2458, 1182, 1185, 1185, 1185,
3085 1186, 1186, 1186, 1181, 1188, 1188, 1188, 1190, 1190, 1190,
3086 2459, 1190, 2462, 2463, 1190, 1185, 2464, 2465, 1186, 1193,
3087 1193, 1193, 1188, 1194, 1194, 1194, 1196, 1196, 1196, 1198,
3089 1198, 1198, 2466, 1198, 1173, 2469, 1198, 1193, 1204, 1204,
3090 1204, 1194, 2470, 2477, 1196, 1205, 1205, 1205, 1207, 1207,
3091 1207, 1208, 1208, 1208, 2478, 1188, 1204, 1209, 1209, 1209,
3092 2479, 1209, 2481, 1205, 1209, 2487, 1207, 2488, 1208, 1210,
3093 1210, 1210, 1211, 1211, 1211, 2489, 1211, 2490, 2491, 1211,
3094 1213, 1213, 1213, 1214, 1214, 1214, 1210, 1216, 1216, 1216,
3095 1218, 1218, 1218, 1196, 2492, 1219, 1219, 1219, 1213, 1219,
3096 2493, 1214, 1219, 2494, 2495, 1216, 2496, 1218, 1207, 1222,
3097 1222, 1222, 1223, 1223, 1223, 2498, 1223, 2499, 2504, 1223,
3098 1225, 1225, 1225, 1226, 1226, 1226, 1222, 1228, 1228, 1228,
3100 1230, 1230, 1230, 2505, 1230, 2506, 2507, 1230, 1225, 2517,
3101 2518, 1226, 1233, 1233, 1233, 1228, 1234, 1234, 1234, 1236,
3102 1236, 1236, 2519, 2520, 1216, 1237, 1237, 1237, 2521, 2522,
3103 1233, 1238, 1238, 1238, 1234, 1238, 2523, 1236, 1238, 1239,
3104 1239, 1239, 1237, 1240, 1240, 1240, 2508, 1240, 2524, 2528,
3105 1240, 1241, 1241, 1241, 2529, 2530, 1239, 1242, 1242, 1242,
3106 2531, 1228, 1244, 1244, 1244, 1245, 1245, 1245, 2532, 1241,
3107 1246, 1246, 1246, 2533, 1246, 1242, 2535, 1246, 2536, 1236,
3108 1244, 2538, 1245, 1249, 1249, 1249, 1250, 1250, 1250, 2508,
3109 1250, 2539, 2540, 1250, 1251, 1251, 1251, 1252, 1252, 1252,
3111 1249, 1254, 1254, 1254, 1256, 1256, 1256, 1260, 1260, 1260,
3112 2541, 2543, 1251, 2544, 2548, 1252, 1261, 1261, 1261, 1254,
3113 2549, 1256, 2550, 2553, 1244, 1260, 1263, 1263, 1263, 1266,
3114 1266, 1266, 2558, 2559, 1261, 1267, 1267, 1267, 1269, 1269,
3115 1269, 1270, 1270, 1270, 1263, 1270, 2560, 1266, 1270, 1273,
3116 1273, 1273, 2561, 1267, 2562, 2563, 1269, 1274, 1274, 1274,
3117 1276, 1276, 1276, 1254, 1277, 1277, 1277, 1273, 1277, 2564,
3118 2565, 1277, 1281, 1281, 1281, 1274, 2566, 2567, 1276, 1282,
3119 1282, 1282, 1284, 1284, 1284, 2568, 2569, 1263, 2571, 2572,
3120 1281, 1269, 1286, 1286, 1286, 2573, 2574, 1282, 2581, 2584,
3122 1284, 1293, 1293, 1293, 1319, 1319, 1319, 1321, 1321, 1321,
3123 1286, 1286, 2575, 1322, 1322, 1322, 1348, 1348, 1348, 1293,
3124 1276, 1319, 1320, 1320, 1320, 1321, 1320, 2585, 2577, 1320,
3125 1322, 1323, 1323, 1323, 1348, 1323, 2578, 2588, 1323, 1326,
3126 1326, 1326, 2577, 1284, 1328, 1328, 1328, 2578, 1328, 2590,
3127 2591, 1328, 1331, 1331, 1331, 2593, 2594, 1326, 2575, 1332,
3128 1332, 1332, 2597, 1332, 2598, 1321, 1332, 1293, 2599, 1331,
3129 1333, 1333, 1333, 2600, 1333, 2601, 2602, 1333, 1337, 1337,
3130 1337, 2603, 1338, 1338, 1338, 2604, 1338, 2605, 1326, 1338,
3131 1340, 1340, 1340, 2606, 2607, 1337, 1343, 1343, 1343, 1344,
3133 1344, 1344, 2611, 1344, 2619, 2621, 1344, 2623, 1340, 1345,
3134 1345, 1345, 2625, 1343, 1346, 1346, 1346, 1361, 1361, 1361,
3135 1362, 1362, 1362, 1363, 1363, 1363, 1345, 1363, 2633, 2635,
3136 1363, 2639, 1346, 2636, 1361, 2638, 2638, 1362, 2641, 2637,
3137 1340, 1364, 1364, 1364, 1367, 1367, 1367, 1368, 1368, 1368,
3138 1369, 1369, 1369, 2637, 1369, 2643, 2644, 1369, 2645, 1364,
3139 2646, 2653, 1367, 1346, 1368, 1370, 1370, 1370, 1371, 1371,
3140 1371, 1372, 1372, 1372, 2636, 1372, 2657, 2663, 1372, 1374,
3141 1374, 1374, 2609, 1370, 2652, 1371, 1377, 1377, 1377, 1378,
3142 1378, 1378, 2610, 1378, 2609, 2616, 1378, 1374, 1379, 1379,
3144 1379, 2665, 2652, 1377, 2610, 1364, 2668, 2616, 1367, 1380,
3145 1380, 1380, 1381, 1381, 1381, 1379, 1385, 1385, 1385, 1388,
3146 1388, 1388, 1650, 1650, 1650, 1370, 1380, 1389, 1389, 1389,
3147 1381, 1389, 2640, 1385, 1389, 2670, 1388, 1390, 1390, 1390,
3148 1374, 1390, 2617, 2640, 1390, 1393, 1393, 1393, 1400, 1400,
3149 1400, 1402, 1402, 1402, 2617, 1380, 1405, 1405, 1405, 2675,
3150 1405, 2676, 1393, 1405, 2678, 2679, 1400, 2680, 1402, 1408,
3151 1408, 1408, 1410, 1410, 1410, 1412, 1412, 1412, 1381, 1416,
3152 1416, 1416, 1417, 1417, 1417, 2682, 1408, 1418, 1418, 1418,
3153 1410, 1418, 2662, 1412, 1418, 2664, 1416, 1421, 1421, 1421,
3155 1417, 1421, 2683, 2667, 1421, 1425, 1425, 1425, 1427, 1427,
3156 1427, 2662, 1427, 1400, 2664, 1427, 2684, 1432, 1432, 1432,
3157 2685, 1432, 2667, 1425, 1432, 1416, 1436, 1436, 1436, 1438,
3158 1438, 1438, 2669, 1439, 1439, 1439, 1410, 1439, 2656, 1417,
3159 1439, 1412, 2687, 2688, 1436, 2690, 2691, 1438, 1442, 1442,
3160 1442, 2669, 1442, 2656, 2698, 1442, 1445, 1445, 1445, 1446,
3161 1446, 1446, 2699, 1446, 2700, 2701, 1446, 2702, 1451, 1451,
3162 1451, 1425, 1451, 2703, 1445, 1451, 1454, 1454, 1454, 1456,
3163 1456, 1456, 1461, 1461, 1461, 2706, 1438, 1436, 1457, 1457,
3164 1457, 2707, 1457, 2708, 1454, 1457, 1456, 1463, 1463, 1463,
3166 1461, 2709, 2710, 1445, 1464, 1464, 1464, 1465, 1465, 1465,
3167 1466, 1466, 1466, 2711, 1463, 1467, 1467, 1467, 1470, 1470,
3168 1470, 2712, 1464, 1454, 2713, 1465, 2715, 1466, 1477, 1477,
3169 1477, 1461, 2717, 1467, 2719, 2720, 1470, 1503, 1503, 1503,
3170 1504, 1504, 1504, 2722, 1504, 2731, 1477, 1504, 1507, 1507,
3171 1507, 1508, 1508, 1508, 2733, 1508, 2732, 2731, 1508, 1465,
3172 1513, 1513, 1513, 1515, 1515, 1515, 1507, 1515, 2732, 1470,
3173 1515, 1464, 1519, 1519, 1519, 2734, 1519, 1467, 1513, 1519,
3174 1477, 2735, 2736, 1503, 2737, 2738, 1470, 1523, 1523, 1523,
3175 1526, 1526, 1526, 2742, 1526, 2743, 2744, 1526, 2745, 1529,
3177 1529, 1529, 1530, 1530, 1530, 1523, 1530, 2746, 2747, 1530,
3178 2748, 1513, 1531, 1531, 1531, 1507, 1529, 1537, 1537, 1537,
3179 1541, 1541, 1541, 1542, 1542, 1542, 1544, 1544, 1544, 2749,
3180 1531, 1545, 1545, 1545, 2752, 1545, 2750, 2753, 1545, 2754,
3181 1546, 1546, 1546, 1544, 1546, 2755, 2756, 1546, 1523, 1549,
3182 1549, 1549, 1551, 1551, 1551, 1552, 1552, 1552, 1553, 1553,
3183 1553, 2750, 1553, 1531, 2757, 1553, 2758, 1549, 2759, 1551,
3184 1556, 1556, 1556, 1552, 2760, 1557, 1557, 1557, 2761, 1557,
3185 2762, 1537, 1557, 2763, 1541, 2764, 2765, 1542, 1556, 1560,
3186 1560, 1560, 1561, 1561, 1561, 2766, 1549, 1564, 1564, 1564,
3188 2767, 1564, 1552, 2768, 1564, 2769, 1560, 1567, 1567, 1567,
3189 1561, 1568, 1568, 1568, 2770, 1568, 2771, 2777, 1568, 2778,
3190 1569, 1569, 1569, 2779, 1567, 1570, 1570, 1570, 2774, 1570,
3191 2780, 2781, 1570, 1572, 1572, 1572, 1556, 1569, 1576, 1576,
3192 1576, 1577, 1577, 1577, 2782, 1577, 2783, 2774, 1577, 2784,
3193 2785, 1572, 1578, 1578, 1578, 1576, 1561, 1580, 1580, 1580,
3194 2786, 1580, 2787, 2788, 1580, 1583, 1583, 1583, 2789, 1578,
3195 1584, 1584, 1584, 2790, 1584, 2791, 2792, 1584, 1585, 1585,
3196 1585, 2793, 1583, 1590, 1590, 1590, 1591, 1591, 1591, 1593,
3197 1593, 1593, 1594, 1594, 1594, 1585, 1594, 2794, 2796, 1594,
3199 1590, 1595, 1595, 1595, 1591, 2797, 1593, 1597, 1597, 1597,
3200 1598, 1598, 1598, 2798, 1598, 2799, 2795, 1598, 1595, 1600,
3201 1600, 1600, 2800, 2801, 1597, 1602, 1602, 1602, 1606, 1606,
3202 1606, 1607, 1607, 1607, 2802, 1607, 2795, 1600, 1607, 1609,
3203 1609, 1609, 2803, 1602, 2804, 1606, 1611, 1611, 1611, 1613,
3204 1613, 1613, 1591, 1614, 1614, 1614, 2805, 1609, 1615, 1615,
3205 1615, 1616, 1616, 1616, 1611, 2806, 1613, 1618, 1618, 1618,
3206 1614, 1619, 1619, 1619, 2807, 1615, 1602, 2808, 2809, 1616,
3207 2810, 1620, 1620, 1620, 2811, 1618, 1621, 1621, 1621, 1619,
3208 1622, 1622, 1622, 1630, 1630, 1630, 2812, 1611, 1620, 2813,
3210 1624, 1624, 1624, 1621, 1624, 2817, 2814, 1624, 1622, 2818,
3211 2819, 1630, 2814, 1618, 1632, 1632, 1632, 1633, 1633, 1633,
3212 2820, 1633, 1615, 2821, 1633, 1634, 1634, 1634, 1616, 2822,
3213 2824, 1632, 1635, 1635, 1635, 2825, 1619, 1636, 1636, 1636,
3214 1638, 1638, 1638, 1634, 1630, 1637, 1637, 1637, 2827, 1637,
3215 1635, 2828, 1637, 2830, 1636, 1622, 2831, 2834, 1638, 1644,
3216 1644, 1644, 1645, 1645, 1645, 1653, 1653, 1653, 1657, 1657,
3217 1657, 1658, 1658, 1658, 2835, 2836, 1644, 1659, 1659, 1659,
3218 1645, 1661, 1661, 1661, 1634, 2837, 2839, 1635, 1663, 1663,
3219 1663, 1664, 1664, 1664, 1668, 1668, 1668, 1670, 1670, 1670,
3221 1673, 1673, 1673, 1675, 1675, 1675, 1677, 1677, 1677, 1678,
3222 1678, 1678, 1687, 1687, 1687, 1670, 1687, 2841, 1673, 1687,
3223 1675, 2843, 2845, 1645, 1677, 2847, 1678, 1690, 1690, 1690,
3224 2833, 1691, 1691, 1691, 1694, 1694, 1694, 1695, 1695, 1695,
3225 1699, 1699, 1699, 2848, 2833, 1690, 2849, 1670, 1691, 1700,
3226 1700, 1700, 2850, 1700, 2851, 2852, 1700, 1699, 1703, 1703,
3227 1703, 1704, 1704, 1704, 2853, 1677, 1705, 1705, 1705, 2854,
3228 1706, 1706, 1706, 1690, 1706, 2856, 1703, 1706, 1704, 1707,
3229 1707, 1707, 2858, 1705, 1708, 1708, 1708, 1709, 1709, 1709,
3230 2860, 1710, 1710, 1710, 2861, 1710, 2862, 1707, 1710, 1711,
3232 1711, 1711, 1708, 2863, 1709, 1714, 1714, 1714, 2864, 1714,
3233 1460, 1703, 1714, 1459, 1717, 1717, 1717, 1711, 1717, 2865,
3234 2880, 1717, 1721, 1721, 1721, 1723, 1723, 1723, 2880, 1726,
3235 1726, 1726, 1707, 1726, 2876, 2872, 1726, 1729, 1729, 1729,
3236 1721, 1730, 1730, 1730, 2864, 1730, 1711, 2873, 1730, 1732,
3237 1732, 1732, 2890, 1732, 1729, 2865, 1732, 1735, 1735, 1735,
3238 1736, 1736, 1736, 2891, 1736, 2877, 2886, 1736, 1737, 1737,
3239 1737, 1741, 1741, 1741, 1735, 1742, 1742, 1742, 2876, 1742,
3240 2900, 1458, 1742, 2872, 2874, 1737, 2875, 2890, 1741, 1743,
3241 1743, 1743, 1745, 1745, 1745, 2873, 1745, 1455, 2891, 1745,
3243 1748, 1748, 1748, 2886, 1749, 1749, 1749, 1743, 1749, 2877,
3244 2881, 1749, 1751, 1751, 1751, 2900, 1751, 1748, 2881, 1751,
3245 1755, 1755, 1755, 1758, 1758, 1758, 1760, 1760, 1760, 1762,
3246 1762, 1762, 2874, 1762, 2875, 2878, 1762, 2884, 1755, 2878,
3247 1743, 1758, 2887, 1760, 1766, 1766, 1766, 1769, 1769, 1769,
3248 1771, 1771, 1771, 1772, 1772, 1772, 2882, 1772, 2883, 2879,
3249 1772, 2885, 1766, 2879, 2882, 1769, 2883, 1771, 1773, 1773,
3250 1773, 1450, 1760, 1774, 1774, 1774, 1449, 1774, 2896, 2887,
3251 1774, 1776, 1776, 1776, 2884, 1773, 2902, 1758, 1778, 1778,
3252 1778, 1779, 1779, 1779, 1780, 1780, 1780, 2892, 2888, 1776,
3254 1781, 1781, 1781, 2894, 1781, 2889, 1778, 1781, 2885, 1779,
3255 2896, 1780, 1782, 1782, 1782, 1783, 1783, 1783, 2895, 1783,
3256 2902, 2893, 1783, 1784, 1784, 1784, 1789, 1789, 1789, 1782,
3257 2897, 1791, 1791, 1791, 1437, 1791, 2898, 1778, 1791, 2888,
3258 2894, 1784, 2916, 2892, 1789, 2898, 2889, 1776, 1794, 1794,
3259 1794, 1795, 1795, 1795, 2899, 2895, 1779, 1796, 1796, 1796,
3260 1435, 1796, 2897, 2899, 1796, 2912, 1794, 2893, 2901, 1795,
3261 1431, 1799, 1799, 1799, 2912, 1805, 1805, 1805, 1806, 1806,
3262 1806, 2913, 1806, 1430, 2916, 1806, 1424, 1415, 1784, 1799,
3263 2913, 1789, 1805, 1807, 1807, 1807, 1808, 1808, 1808, 1794,
3265 1812, 1812, 1812, 2901, 1795, 1813, 1813, 1813, 1814, 1814,
3266 1814, 1807, 1818, 1818, 1818, 1819, 1819, 1819, 1820, 1820,
3267 1820, 1821, 1821, 1821, 1823, 1823, 1823, 1824, 1824, 1824,
3268 1825, 1825, 1825, 1826, 1826, 1826, 1827, 1827, 1827, 2908,
3269 1829, 1829, 1829, 1832, 1832, 1832, 1835, 1835, 1835, 1836,
3270 1836, 1836, 2904, 1836, 2930, 2903, 1836, 1807, 1829, 1414,
3271 1413, 1832, 2930, 1835, 1838, 1838, 1838, 1821, 1839, 1839,
3272 1839, 1840, 1840, 1840, 2908, 1840, 2905, 1411, 1840, 1851,
3273 1851, 1851, 1838, 2910, 1409, 1839, 1852, 1852, 1852, 2903,
3274 1404, 1829, 1853, 1853, 1853, 2904, 1853, 1851, 2914, 1853,
3276 1854, 1854, 1854, 1852, 1857, 1857, 1857, 1858, 1858, 1858,
3277 1859, 1859, 1859, 1860, 1860, 1860, 2910, 1860, 2906, 2905,
3278 1860, 1861, 1861, 1861, 1862, 1862, 1862, 1859, 1851, 1863,
3279 1863, 1863, 2909, 1863, 2907, 2914, 1863, 2917, 2924, 1861,
3280 2915, 1862, 1864, 1864, 1864, 2925, 1864, 2924, 2920, 1864,
3281 1867, 1867, 1867, 1858, 2925, 1868, 1868, 1868, 1870, 1870,
3282 1870, 2921, 1870, 2911, 2906, 1870, 1403, 2909, 1867, 1873,
3283 1873, 1873, 1861, 1868, 1881, 1881, 1881, 2915, 1881, 2917,
3284 2907, 1881, 1885, 1885, 1885, 2920, 1885, 1873, 2932, 1885,
3285 1888, 1888, 1888, 1889, 1889, 1889, 2911, 1889, 2921, 2918,
3287 1889, 1867, 1893, 1893, 1893, 2955, 1893, 1888, 2922, 1893,
3288 1896, 1896, 1896, 1898, 1898, 1898, 2955, 1898, 2926, 2927,
3289 1898, 2923, 1873, 1904, 1904, 1904, 2919, 2928, 1896, 1906,
3290 1906, 1906, 1907, 1907, 1907, 2932, 1907, 2922, 2933, 1907,
3291 2929, 1904, 1914, 1914, 1914, 2918, 1906, 1917, 1917, 1917,
3292 2923, 1917, 2926, 2927, 1917, 1920, 1920, 1920, 2940, 1920,
3293 1914, 2938, 1920, 1924, 1924, 1924, 1926, 1926, 1926, 1927,
3294 1927, 1927, 2919, 2928, 1896, 1928, 1928, 1928, 2939, 1928,
3295 1401, 1924, 1928, 2931, 1926, 2933, 2929, 1927, 1931, 1931,
3296 1931, 2931, 1931, 2934, 2935, 1931, 2938, 1934, 1934, 1934,
3298 1399, 1935, 1935, 1935, 2940, 1927, 1936, 1936, 1936, 1937,
3299 1937, 1937, 2942, 2939, 1924, 1934, 2946, 1934, 1935, 1938,
3300 1938, 1938, 1398, 1936, 1397, 2946, 1937, 1939, 1939, 1939,
3301 2934, 2935, 1926, 1941, 1941, 1941, 1938, 1942, 1942, 1942,
3302 1943, 1943, 1943, 1396, 1395, 1939, 1946, 1946, 1946, 2942,
3303 1394, 1941, 1947, 1947, 1947, 1942, 1947, 1936, 1943, 1947,
3304 1387, 1950, 1950, 1950, 1951, 1951, 1951, 1952, 1952, 1952,
3305 1955, 1955, 1955, 1937, 1956, 1956, 1956, 2936, 1938, 1950,
3306 1957, 1957, 1957, 1958, 1958, 1958, 1959, 1959, 1959, 1960,
3307 1960, 1960, 1939, 1941, 1961, 1961, 1961, 1964, 1964, 1964,
3309 1965, 1965, 1965, 1966, 1966, 1966, 1968, 1968, 1968, 1971,
3310 1971, 1971, 1972, 1972, 1972, 1386, 1972, 1384, 2936, 1972,
3311 1950, 1975, 1975, 1975, 1968, 1383, 1971, 1976, 1976, 1976,
3312 1978, 1978, 1978, 2941, 1978, 2937, 2944, 1978, 1975, 1991,
3313 1991, 1991, 1992, 1992, 1992, 1976, 1992, 1994, 1994, 1992,
3314 1994, 1995, 1995, 1995, 1998, 1998, 1998, 1991, 1994, 1382,
3315 2943, 1994, 2000, 2000, 2000, 1994, 2000, 2950, 2944, 2000,
3316 2003, 2003, 2003, 2004, 2004, 2004, 2937, 2004, 2951, 2941,
3317 2004, 2007, 2007, 2007, 2008, 2008, 2008, 1975, 2003, 2016,
3318 2016, 2016, 1376, 1375, 2019, 2019, 2019, 2943, 2019, 2007,
3320 1991, 2019, 2008, 2022, 2022, 2022, 2025, 2025, 2025, 2030,
3321 2030, 2030, 2032, 2032, 2032, 2950, 2003, 2044, 2044, 2044,
3322 2022, 2033, 2033, 2033, 2025, 2033, 2951, 2030, 2033, 2032,
3323 2046, 2046, 2046, 2945, 1373, 2008, 2047, 2047, 2047, 2048,
3324 2048, 2048, 2049, 2049, 2049, 2050, 2050, 2050, 2046, 2051,
3325 2051, 2051, 2947, 2047, 2056, 2056, 2056, 2048, 2032, 2954,
3326 2049, 2947, 2948, 2050, 1366, 2945, 2051, 2052, 2052, 2052,
3327 2949, 2052, 2056, 2954, 2052, 2053, 2053, 2053, 2054, 2054,
3328 2054, 1365, 2050, 2055, 2055, 2055, 2057, 2057, 2057, 2058,
3329 2058, 2058, 2053, 1360, 2948, 2054, 2059, 2059, 2059, 2048,
3331 2055, 1359, 2949, 2049, 2061, 2061, 2061, 2058, 2064, 2064,
3332 2064, 2066, 2066, 2066, 2059, 2065, 2065, 2065, 2069, 2069,
3333 2069, 2952, 2061, 2070, 2070, 2070, 2071, 2071, 2071, 2054,
3334 2075, 2075, 2075, 2065, 2055, 2078, 2078, 2078, 2079, 2079,
3335 2079, 1358, 2079, 1357, 1356, 2079, 2953, 1355, 2075, 2091,
3336 2091, 2091, 2078, 2952, 1354, 2058, 2080, 2080, 2080, 2107,
3337 2107, 2107, 2108, 2108, 2108, 1351, 2061, 2091, 2110, 2110,
3338 2110, 1350, 1347, 2080, 2117, 2117, 2117, 2107, 2953, 1342,
3339 2108, 2118, 2118, 2118, 1339, 1336, 2110, 2121, 2121, 2121,
3340 1327, 2117, 2122, 2122, 2122, 1325, 2122, 1324, 1318, 2122,
3342 2124, 2124, 2124, 1317, 2121, 2125, 2125, 2125, 1315, 2091,
3343 1314, 2080, 2129, 2129, 2129, 1313, 1312, 2124, 2131, 2131,
3344 2131, 1311, 1310, 2125, 1309, 2107, 2132, 2132, 2132, 2129,
3345 2132, 1308, 1306, 2132, 1305, 2131, 2140, 2140, 2140, 2142,
3346 2142, 2142, 2144, 2144, 2144, 2146, 2146, 2146, 2147, 2147,
3347 2147, 1303, 2147, 2140, 1302, 2147, 2148, 2148, 2148, 1300,
3348 2144, 1298, 2146, 2149, 2149, 2149, 1297, 2150, 2150, 2150,
3349 1296, 2151, 2151, 2151, 2148, 2151, 1295, 1294, 2151, 1292,
3350 1291, 2149, 2154, 2154, 2154, 2150, 2155, 2155, 2155, 1290,
3351 2155, 1289, 1280, 2155, 2156, 2156, 2156, 1265, 1264, 2154,
3353 2157, 2157, 2157, 2158, 2158, 2158, 2160, 2160, 2160, 1259,
3354 1258, 2156, 1257, 1255, 2161, 2161, 2161, 2157, 2165, 2165,
3355 2165, 2158, 2172, 2172, 2172, 2176, 2176, 2176, 1248, 1247,
3356 2149, 2150, 2161, 2173, 2173, 2173, 2165, 2173, 1229, 2172,
3357 2173, 1224, 2176, 2187, 2187, 2187, 2205, 2205, 2205, 2206,
3358 2206, 2206, 2209, 2209, 2209, 2212, 2212, 2212, 2213, 2213,
3359 2213, 2187, 2213, 1221, 2205, 2213, 1220, 2206, 1217, 2209,
3360 1212, 1203, 2212, 2216, 2216, 2216, 1202, 2216, 1201, 1197,
3361 2216, 2220, 2220, 2220, 1189, 1184, 2176, 2221, 2221, 2221,
3362 1183, 2221, 1177, 1176, 2221, 2223, 2223, 2223, 2220, 2224,
3364 2224, 2224, 1175, 2187, 2225, 2225, 2225, 1174, 2225, 1169,
3365 1168, 2225, 2223, 2226, 2226, 2226, 2224, 2205, 2227, 2227,
3366 2227, 1167, 2227, 1166, 1165, 2227, 2235, 2235, 2235, 1164,
3367 2226, 2236, 2236, 2236, 1163, 2236, 1153, 1152, 2236, 2237,
3368 2237, 2237, 1151, 2235, 2238, 2238, 2238, 2239, 2239, 2239,
3369 1150, 2239, 1149, 1148, 2239, 1143, 2237, 2242, 2242, 2242,
3370 1142, 2238, 2244, 2244, 2244, 2245, 2245, 2245, 1137, 2246,
3371 2246, 2246, 1136, 2246, 1117, 2242, 2246, 2249, 2249, 2249,
3372 2244, 1113, 1107, 2245, 2250, 2250, 2250, 1103, 2250, 1102,
3373 1101, 2250, 1100, 1099, 2249, 2251, 2251, 2251, 2252, 2252,
3375 2252, 1098, 2252, 1097, 1096, 2252, 2253, 2253, 2253, 2259,
3376 2259, 2259, 2251, 2263, 2263, 2263, 2264, 2264, 2264, 1095,
3377 2264, 1094, 1093, 2264, 2253, 1088, 2245, 1080, 2244, 1078,
3378 2263, 2271, 2271, 2271, 2282, 2282, 2282, 2298, 2298, 2298,
3379 2300, 2300, 2300, 2301, 2301, 2301, 1072, 1070, 2271, 2302,
3380 2302, 2302, 2282, 1061, 1056, 2303, 2303, 2303, 2300, 2303,
3381 2301, 1045, 2303, 2304, 2304, 2304, 2302, 2304, 1043, 1042,
3382 2304, 2310, 2310, 2310, 1041, 2310, 1039, 1038, 2310, 2314,
3383 2314, 2314, 2349, 2349, 2349, 2282, 2315, 2315, 2315, 2301,
3384 2315, 2271, 1037, 2315, 1036, 1035, 2314, 2316, 2316, 2316,
3386 1034, 2316, 2300, 1032, 2316, 2319, 2319, 2319, 2320, 2320,
3387 2320, 1031, 2320, 1030, 1029, 2320, 2322, 2322, 2322, 2324,
3388 2324, 2324, 2319, 2324, 1028, 1027, 2324, 2327, 2327, 2327,
3389 2328, 2328, 2328, 2322, 2328, 1026, 1025, 2328, 2329, 2329,
3390 2329, 2330, 2330, 2330, 2327, 2330, 1024, 1023, 2330, 2337,
3391 2337, 2337, 2338, 2338, 2338, 2329, 2339, 2339, 2339, 1022,
3392 2339, 1021, 1015, 2339, 2342, 2342, 2342, 2337, 2342, 1014,
3393 2338, 2342, 2347, 2347, 2347, 2350, 2350, 2350, 2353, 2353,
3394 2353, 1013, 2353, 1010, 1009, 2353, 2364, 2364, 2364, 2347,
3395 2347, 2373, 2373, 2373, 2389, 2389, 2389, 2390, 2390, 2390,
3397 2337, 1008, 1006, 2364, 2391, 2391, 2391, 1002, 999, 2373,
3398 2392, 2392, 2392, 2393, 2393, 2393, 990, 2393, 989, 2338,
3399 2393, 986, 2391, 985, 2395, 2395, 2395, 2392, 2395, 984,
3400 983, 2395, 2402, 2402, 2402, 982, 2402, 968, 961, 2402,
3401 2373, 2405, 2405, 2405, 953, 2405, 952, 951, 2405, 2409,
3402 2409, 2409, 2410, 2410, 2410, 2391, 2410, 948, 943, 2410,
3403 2412, 2412, 2412, 940, 2412, 939, 2409, 2412, 2415, 2415,
3404 2415, 935, 2415, 933, 930, 2415, 2424, 2424, 2424, 2425,
3405 2425, 2425, 2431, 2431, 2431, 2432, 2432, 2432, 2433, 2433,
3406 2433, 929, 2433, 928, 2424, 2433, 927, 2425, 926, 2431,
3408 2431, 925, 2432, 2432, 924, 920, 2433, 2434, 2434, 2434,
3409 2435, 2435, 2435, 2436, 2436, 2436, 2437, 2437, 2437, 2446,
3410 2446, 2446, 2447, 2447, 2447, 916, 2447, 915, 914, 2447,
3411 2456, 2456, 2456, 2471, 2471, 2471, 2446, 2472, 2472, 2472,
3412 2473, 2473, 2473, 911, 910, 2425, 907, 906, 2456, 2474,
3413 2474, 2474, 905, 2474, 902, 901, 2474, 898, 2473, 2480,
3414 2480, 2480, 2482, 2482, 2482, 2483, 2483, 2483, 893, 2483,
3415 890, 887, 2483, 2486, 2486, 2486, 2480, 886, 883, 2482,
3416 2501, 2501, 2501, 2503, 2503, 2503, 2509, 2509, 2509, 882,
3417 2486, 881, 880, 2510, 2510, 2510, 2456, 2510, 2501, 879,
3419 2510, 2503, 877, 2509, 2509, 2511, 2511, 2511, 876, 2511,
3420 875, 2510, 2511, 2514, 2514, 2514, 2515, 2515, 2515, 2516,
3421 2516, 2516, 874, 2511, 2525, 2525, 2525, 873, 2525, 869,
3422 864, 2525, 863, 862, 2503, 2512, 2512, 2512, 2512, 2512,
3423 2512, 2512, 2512, 2512, 861, 858, 2512, 2534, 2534, 2534,
3424 857, 2512, 2512, 2512, 2512, 2512, 2545, 2545, 2545, 2546,
3425 2546, 2546, 2551, 2551, 2551, 2534, 2552, 2552, 2552, 856,
3426 2552, 854, 850, 2552, 2554, 2554, 2554, 2546, 846, 2551,
3427 2512, 2512, 2513, 2513, 2513, 2513, 2513, 2513, 2513, 2513,
3428 2513, 2554, 845, 2513, 2556, 2556, 2556, 842, 2513, 2513,
3430 2513, 2513, 2513, 2555, 2555, 2555, 839, 2555, 838, 837,
3431 2555, 2556, 2557, 2557, 2557, 836, 2557, 835, 834, 2557,
3432 2570, 2570, 2570, 2595, 2595, 2595, 832, 2513, 2513, 2576,
3433 2576, 2576, 831, 2576, 830, 829, 2576, 828, 2570, 827,
3434 826, 2595, 2630, 2630, 2630, 825, 824, 2576, 2579, 2579,
3435 2579, 2579, 2579, 2579, 2579, 2579, 2579, 823, 822, 2579,
3436 2630, 821, 820, 819, 2579, 2579, 2579, 2579, 2579, 2608,
3437 2608, 2608, 818, 2608, 817, 816, 2608, 2612, 2612, 2612,
3438 815, 2612, 811, 810, 2612, 2615, 2615, 2615, 808, 2615,
3439 807, 806, 2615, 2579, 2579, 2580, 2580, 2580, 2580, 2580,
3441 2580, 2580, 2580, 2580, 805, 804, 2580, 2642, 2642, 2642,
3442 800, 2580, 2580, 2580, 2580, 2580, 2659, 2659, 2659, 2660,
3443 2660, 2660, 2661, 2661, 2661, 2642, 2642, 2666, 2666, 2666,
3444 2677, 2677, 2677, 2659, 798, 797, 2660, 796, 795, 2661,
3445 2580, 2580, 791, 787, 2666, 2681, 2681, 2681, 2677, 2692,
3446 2692, 2692, 2693, 2693, 2693, 786, 2693, 783, 782, 2693,
3447 2694, 2694, 2694, 2681, 781, 780, 2692, 2695, 2695, 2695,
3448 779, 2695, 778, 777, 2695, 774, 773, 2694, 2696, 2696,
3449 2696, 2697, 2697, 2697, 772, 2697, 771, 768, 2697, 2704,
3450 2704, 2704, 2714, 2714, 2714, 2696, 2681, 2705, 2705, 2705,
3452 767, 2705, 766, 763, 2705, 761, 2704, 2724, 2724, 2724,
3453 2714, 2724, 758, 757, 2724, 2727, 2727, 2727, 756, 2727,
3454 755, 754, 2727, 2730, 2730, 2730, 751, 2730, 750, 2714,
3455 2730, 2739, 2739, 2739, 749, 2739, 748, 747, 2739, 2846,
3456 2846, 2846, 2855, 2855, 2855, 744, 2855, 743, 742, 2855,
3457 2956, 2956, 2956, 2957, 2957, 2957, 741, 2846, 739, 736,
3458 2855, 734, 731, 730, 729, 728, 726, 725, 2956, 724,
3459 721, 2957, 2960, 2960, 2960, 2960, 2960, 2960, 2960, 2960,
3460 2960, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2961, 2961,
3461 2962, 2962, 2962, 2962, 2962, 2962, 2962, 2962, 2962, 2963,
3463 2963, 2963, 2963, 2963, 2963, 2963, 2963, 2963, 2964, 2964,
3464 2964, 2964, 2964, 2964, 2964, 2964, 2964, 2965, 2965, 2965,
3465 2965, 2965, 2965, 2965, 2965, 2965, 2966, 2966, 2966, 2966,
3466 2966, 2966, 2966, 2966, 2966, 2967, 2967, 2967, 2967, 2967,
3467 2967, 2967, 2967, 2967, 2968, 2968, 2968, 2968, 2968, 2968,
3468 2968, 2968, 2968, 2969, 2969, 2969, 2969, 2969, 2969, 2969,
3469 2969, 2969, 2970, 2970, 2970, 2970, 2970, 2970, 2970, 2970,
3470 2970, 2971, 2971, 2971, 2971, 2971, 2971, 2971, 2971, 2971,
3471 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2973,
3472 2973, 2973, 2973, 2973, 2973, 2973, 2973, 2973, 2974, 2974,
3474 2974, 2974, 2974, 2974, 2974, 2974, 2974, 2975, 2975, 2975,
3475 2975, 2975, 2975, 2975, 2975, 2975, 2976, 2976, 2976, 2976,
3476 2976, 2976, 2976, 2976, 2976, 2977, 2977, 2977, 2977, 2977,
3477 2977, 2977, 2977, 2977, 2978, 2978, 2978, 2978, 2978, 2978,
3478 2978, 2978, 2978, 2979, 2979, 2979, 2979, 2979, 2979, 2979,
3479 2979, 2979, 2980, 2980, 2980, 2980, 2980, 2980, 2980, 2980,
3480 2980, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981, 2981,
3481 2982, 2982, 2982, 2982, 2982, 2982, 2982, 2982, 2982, 2983,
3482 2983, 2983, 2983, 2983, 2983, 2983, 2983, 2983, 2984, 2984,
3483 2984, 2984, 2984, 2984, 2984, 2984, 2984, 2985, 2985, 2985,
3485 2985, 2985, 2985, 2985, 2985, 2985, 2986, 2986, 2986, 2986,
3486 2986, 2986, 2986, 2986, 2986, 2987, 2987, 2987, 2987, 2987,
3487 2987, 2987, 2987, 2987, 2988, 2988, 2988, 2988, 2988, 2988,
3488 2988, 2988, 2988, 2989, 2989, 2989, 2989, 2989, 2989, 2989,
3489 2989, 2989, 2990, 2990, 2990, 2990, 2990, 2990, 2990, 2990,
3490 2990, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991, 2991,
3491 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2992, 2993,
3492 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2993, 2994, 2994,
3493 2994, 2994, 2994, 2994, 2994, 2994, 2994, 2995, 2995, 2995,
3494 2995, 2995, 2995, 2995, 2995, 2995, 2996, 2996, 2996, 2996,
3496 2996, 2996, 2996, 2996, 2996, 2997, 2997, 2997, 2997, 2997,
3497 2997, 2997, 2997, 2997, 2998, 2998, 2998, 2998, 2998, 2998,
3498 2998, 2998, 2998, 2999, 2999, 2999, 2999, 2999, 2999, 2999,
3499 2999, 2999, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000,
3500 3000, 3001, 3001, 3001, 3001, 3001, 3001, 3001, 3001, 3001,
3501 3002, 3002, 3002, 3002, 3002, 3002, 3002, 3002, 3002, 3003,
3502 3003, 3003, 3003, 3003, 3003, 3003, 3003, 3003, 3004, 3004,
3503 3004, 3004, 3004, 3004, 3004, 3004, 3004, 3005, 3005, 3005,
3504 3005, 3005, 3005, 3005, 3005, 3005, 3006, 3006, 3006, 3006,
3505 3006, 3006, 3006, 3006, 3006, 3007, 3007, 3007, 3007, 3007,
3507 3007, 3007, 3007, 3007, 3008, 3008, 3008, 3008, 3008, 3008,
3508 3008, 3008, 3008, 3009, 3009, 3009, 3009, 3009, 3009, 3009,
3509 3009, 3009, 3010, 3010, 3010, 3010, 3010, 3010, 3010, 3010,
3510 3010, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011, 3011,
3511 3012, 3012, 3012, 3012, 3012, 3012, 3012, 3012, 3012, 3013,
3512 3013, 3013, 720, 719, 718, 3013, 3014, 3014, 3014, 717,
3513 716, 715, 3014, 3015, 3015, 3015, 714, 713, 711, 3015,
3514 3016, 3016, 3016, 709, 708, 704, 3016, 3017, 3017, 3017,
3515 703, 702, 699, 3017, 3018, 3018, 3018, 696, 695, 694,
3516 3018, 3019, 3019, 3019, 691, 690, 686, 3019, 3020, 3020,
3518 3020, 685, 683, 680, 3020, 3021, 3021, 3021, 679, 678,
3519 676, 3021, 3022, 3022, 3022, 671, 670, 669, 3022, 3023,
3520 3023, 3023, 668, 666, 665, 3023, 3024, 3024, 3024, 664,
3521 663, 662, 3024, 3025, 3025, 3025, 661, 657, 656, 3025,
3522 3026, 3026, 3026, 655, 654, 650, 3026, 3027, 3027, 3027,
3523 649, 648, 647, 3027, 3028, 3028, 3028, 646, 645, 644,
3524 3028, 3029, 3029, 3029, 642, 639, 638, 3029, 3030, 3030,
3525 3030, 636, 634, 631, 3030, 3031, 3031, 3031, 630, 624,
3526 622, 3031, 3032, 3032, 3032, 620, 617, 616, 3032, 3033,
3527 3033, 3033, 612, 611, 610, 3033, 3034, 3034, 3034, 608,
3529 607, 606, 3034, 3035, 3035, 3035, 605, 604, 601, 3035,
3530 3036, 3036, 3036, 600, 599, 598, 3036, 3037, 3037, 3037,
3531 3037, 3037, 3037, 3037, 597, 3037, 3038, 3038, 3038, 591,
3532 590, 588, 3038, 3039, 582, 581, 577, 3039, 3040, 3040,
3533 3040, 570, 566, 560, 3040, 3041, 556, 552, 548, 3041,
3534 3042, 3042, 3042, 547, 546, 545, 3042, 3043, 544, 540,
3535 536, 3043, 3044, 3044, 3044, 533, 532, 531, 3044, 3045,
3536 527, 523, 520, 3045, 3046, 3046, 3046, 519, 515, 509,
3537 3046, 3047, 508, 504, 500, 3047, 3048, 3048, 3048, 496,
3538 495, 491, 3048, 3049, 488, 487, 482, 3049, 3050, 3050,
3540 3050, 478, 470, 469, 3050, 3051, 468, 464, 458, 3051,
3541 3052, 3052, 3052, 457, 453, 447, 3052, 3053, 446, 445,
3542 444, 3053, 3054, 3054, 3054, 443, 442, 441, 3054, 3055,
3543 437, 428, 427, 3055, 3056, 3056, 3056, 426, 424, 420,
3544 3056, 3057, 416, 412, 411, 3057, 3058, 3058, 3058, 410,
3545 409, 408, 3058, 3059, 404, 398, 397, 3059, 3060, 3060,
3546 3060, 393, 387, 386, 3060, 3061, 382, 375, 374, 3061,
3547 3062, 3062, 3062, 373, 369, 362, 3062, 3063, 361, 360,
3548 359, 3063, 3064, 3064, 3064, 355, 351, 346, 3064, 3065,
3549 338, 337, 333, 3065, 3066, 3066, 3066, 327, 326, 325,
3551 3066, 3067, 321, 312, 310, 3067, 3068, 3068, 3068, 309,
3552 305, 302, 3068, 3069, 300, 299, 298, 3069, 3070, 3070,
3553 3070, 294, 290, 287, 3070, 3071, 283, 280, 279, 3071,
3554 3072, 3072, 3072, 271, 267, 263, 3072, 3073, 262, 261,
3555 255, 3073, 3074, 3074, 3074, 254, 252, 249, 3074, 3075,
3556 237, 0, 0, 3075, 3076, 3076, 3076, 0, 0, 0,
3557 3076, 3077, 0, 0, 0, 3077, 3078, 3078, 3078, 0,
3558 0, 0, 3078, 3079, 0, 0, 0, 3079, 3080, 3080,
3559 3080, 0, 0, 0, 3080, 3081, 0, 0, 0, 3081,
3560 3082, 3082, 3082, 0, 0, 0, 3082, 3083, 0, 0,
3562 0, 3083, 3084, 3084, 3084, 0, 0, 0, 3084, 3085,
3563 0, 0, 0, 3085, 3086, 3086, 3086, 3086, 3086, 3086,
3564 3086, 3086, 3086, 3087, 0, 0, 0, 0, 3087, 3088,
3565 3088, 3088, 0, 0, 0, 3088, 3089, 3089, 3089, 3089,
3566 0, 0, 3089, 3089, 3090, 3090, 3090, 0, 0, 0,
3567 3090, 3091, 3091, 3091, 3091, 0, 0, 3091, 3091, 3092,
3568 3092, 3092, 0, 0, 0, 3092, 3093, 3093, 3093, 3093,
3569 0, 0, 3093, 3093, 3094, 3094, 3094, 0, 0, 0,
3570 3094, 3095, 3095, 3095, 3095, 0, 0, 3095, 3095, 3096,
3571 3096, 3096, 0, 0, 0, 3096, 3097, 3097, 3097, 3097,
3573 0, 0, 3097, 3097, 3098, 3098, 3098, 0, 0, 0,
3574 3098, 3099, 3099, 3099, 3099, 0, 0, 3099, 3099, 3100,
3575 3100, 3100, 0, 0, 0, 3100, 3101, 3101, 3101, 3101,
3576 0, 0, 3101, 3101, 3102, 3102, 3102, 0, 0, 0,
3577 3102, 3103, 3103, 3103, 3103, 0, 0, 3103, 3103, 3104,
3578 3104, 3104, 0, 0, 0, 3104, 3105, 3105, 3105, 3105,
3579 0, 0, 3105, 3105, 3106, 3106, 3106, 0, 0, 0,
3580 3106, 3107, 3107, 3107, 3107, 0, 0, 3107, 3107, 3108,
3581 3108, 3108, 0, 0, 0, 3108, 3109, 3109, 3109, 3109,
3582 0, 0, 3109, 3109, 3110, 3110, 3110, 0, 0, 0,
3584 3110, 3111, 3111, 3111, 3111, 0, 0, 3111, 3111, 3112,
3585 3112, 3112, 0, 0, 0, 3112, 3113, 3113, 3113, 3113,
3586 0, 0, 3113, 3113, 3114, 3114, 3114, 0, 0, 0,
3587 3114, 3115, 3115, 3115, 3115, 0, 0, 3115, 3115, 3116,
3588 3116, 3116, 0, 0, 0, 3116, 3117, 3117, 3117, 3117,
3589 0, 0, 3117, 3117, 3118, 3118, 3118, 3118, 0, 3118,
3590 0, 3118, 3119, 3119, 3119, 3119, 0, 0, 3119, 3119,
3591 3120, 3120, 3120, 3120, 0, 3120, 0, 3120, 3121, 3121,
3592 3121, 3121, 0, 0, 3121, 3121, 3122, 3122, 3122, 0,
3593 0, 0, 3122, 3123, 3123, 3123, 3123, 0, 0, 3123,
3595 3123, 3124, 3124, 3124, 3124, 0, 3124, 0, 3124, 3125,
3596 3125, 3125, 3125, 0, 0, 3125, 3125, 3126, 3126, 3126,
3597 3126, 0, 3126, 0, 3126, 3127, 3127, 3127, 3127, 0,
3598 0, 3127, 3127, 3128, 3128, 3128, 0, 0, 0, 3128,
3599 3129, 3129, 3129, 3129, 0, 0, 3129, 3129, 3130, 3130,
3600 3130, 0, 0, 0, 3130, 3131, 3131, 3131, 3131, 0,
3601 0, 3131, 3131, 3132, 3132, 3132, 3132, 0, 0, 3132,
3602 3132, 3133, 3133, 3133, 0, 0, 0, 3133, 3134, 3134,
3603 3134, 3134, 0, 0, 3134, 3134, 3135, 3135, 3135, 3135,
3604 3135, 3135, 3135, 3135, 3135, 3136, 0, 3136, 0, 0,
3606 3136, 3137, 3137, 3137, 0, 0, 0, 3137, 3138, 3138,
3607 3138, 3138, 0, 0, 3138, 3138, 3139, 3139, 3139, 3139,
3608 0, 3139, 0, 3139, 3140, 3140, 3140, 3140, 0, 0,
3609 3140, 3140, 3141, 3141, 3141, 3141, 0, 3141, 0, 3141,
3610 3142, 3142, 3142, 3142, 0, 0, 3142, 3142, 3143, 3143,
3611 3143, 0, 0, 0, 3143, 3144, 3144, 3144, 3144, 0,
3612 0, 3144, 3144, 3145, 3145, 3145, 0, 0, 0, 3145,
3613 3146, 3146, 3146, 3146, 0, 0, 3146, 3146, 3147, 3147,
3614 3147, 0, 0, 0, 3147, 3148, 3148, 3148, 3148, 0,
3615 0, 3148, 3148, 3149, 3149, 3149, 0, 0, 0, 3149,
3617 3150, 3150, 3150, 3150, 0, 0, 3150, 3150, 3151, 3151,
3618 3151, 0, 0, 0, 3151, 3152, 3152, 3152, 3152, 0,
3619 0, 3152, 3152, 3153, 3153, 3153, 3153, 0, 3153, 0,
3620 3153, 3154, 3154, 3154, 3154, 0, 0, 3154, 3154, 3155,
3621 3155, 3155, 3155, 0, 3155, 0, 3155, 3156, 3156, 3156,
3622 3156, 0, 0, 3156, 3156, 3157, 3157, 3157, 0, 0,
3623 0, 3157, 3158, 3158, 3158, 3158, 0, 0, 3158, 3158,
3624 3159, 3159, 3159, 0, 0, 0, 3159, 3160, 3160, 3160,
3625 3160, 0, 0, 3160, 3160, 3161, 3161, 3161, 0, 0,
3626 0, 3161, 3162, 3162, 3162, 3162, 0, 0, 3162, 3162,
3628 3163, 3163, 3163, 0, 0, 0, 3163, 3164, 3164, 3164,
3629 3164, 0, 0, 3164, 3164, 3165, 3165, 3165, 0, 0,
3630 0, 3165, 3166, 3166, 3166, 3166, 0, 0, 3166, 3166,
3631 3167, 3167, 3167, 0, 0, 0, 3167, 3168, 3168, 3168,
3632 3168, 0, 0, 3168, 3168, 3169, 3169, 3169, 0, 0,
3633 0, 3169, 3170, 3170, 3170, 3170, 0, 0, 3170, 3170,
3634 3171, 3171, 3171, 0, 0, 0, 3171, 3172, 3172, 3172,
3635 3172, 0, 0, 3172, 3172, 3173, 3173, 3173, 3173, 0,
3636 0, 3173, 3173, 3174, 3174, 3174, 0, 0, 0, 3174,
3637 3175, 3175, 3175, 3175, 0, 0, 3175, 3175, 3176, 3176,
3639 3176, 0, 0, 0, 3176, 3177, 3177, 3177, 3177, 0,
3640 0, 3177, 3177, 3178, 3178, 3178, 0, 0, 0, 3178,
3641 3179, 3179, 3179, 3179, 0, 0, 3179, 3179, 3180, 3180,
3642 3180, 3180, 0, 0, 3180, 3180, 3181, 3181, 3181, 0,
3643 0, 0, 3181, 3182, 3182, 3182, 3182, 0, 0, 3182,
3644 3182, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183, 3183,
3645 3184, 3184, 3184, 3184, 3184, 3184, 3184, 3184, 3184, 3185,
3646 3185, 3185, 0, 0, 0, 3185, 3186, 3186, 3186, 3186,
3647 0, 0, 3186, 3186, 3187, 3187, 3187, 3187, 0, 0,
3648 3187, 3187, 3188, 3188, 3188, 0, 0, 0, 3188, 3189,
3650 3189, 3189, 3189, 0, 0, 3189, 3189, 3190, 3190, 3190,
3651 0, 0, 0, 3190, 3191, 3191, 3191, 3191, 0, 0,
3652 3191, 3191, 3192, 3192, 3192, 0, 0, 0, 3192, 3193,
3653 3193, 3193, 3193, 0, 0, 3193, 3193, 3194, 3194, 3194,
3654 0, 0, 0, 3194, 3195, 3195, 3195, 0, 0, 0,
3655 3195, 3196, 3196, 3196, 3196, 0, 0, 3196, 3196, 3197,
3656 3197, 3197, 0, 0, 0, 3197, 3198, 3198, 3198, 3198,
3657 0, 0, 3198, 3198, 3199, 3199, 3199, 3199, 0, 0,
3658 3199, 3199, 3200, 3200, 3200, 0, 0, 0, 3200, 3201,
3659 3201, 3201, 3201, 0, 0, 3201, 3201, 3202, 3202, 3202,
3661 0, 0, 0, 3202, 3203, 3203, 3203, 3203, 0, 0,
3662 3203, 3203, 3204, 3204, 3204, 0, 0, 0, 3204, 3205,
3663 3205, 3205, 3205, 0, 0, 3205, 3205, 3206, 3206, 3206,
3664 0, 0, 0, 3206, 3207, 3207, 3207, 3207, 0, 0,
3665 3207, 3207, 3208, 3208, 3208, 0, 0, 0, 3208, 3209,
3666 3209, 3209, 3209, 0, 0, 3209, 3209, 3210, 3210, 3210,
3667 0, 0, 0, 3210, 3211, 3211, 3211, 3211, 0, 0,
3668 3211, 3211, 3212, 3212, 3212, 0, 0, 0, 3212, 3213,
3669 3213, 3213, 3213, 0, 0, 3213, 3213, 3214, 3214, 3214,
3670 0, 0, 0, 3214, 3215, 3215, 3215, 3215, 0, 0,
3672 3215, 3215, 3216, 3216, 3216, 0, 0, 0, 3216, 3217,
3673 3217, 3217, 3217, 0, 0, 3217, 3217, 3218, 3218, 3218,
3674 3218, 0, 0, 3218, 3218, 3219, 3219, 3219, 0, 0,
3675 0, 3219, 3220, 3220, 3220, 3220, 0, 0, 3220, 3220,
3676 3221, 3221, 3221, 0, 0, 0, 3221, 3222, 3222, 3222,
3677 3222, 0, 0, 3222, 3222, 3223, 3223, 3223, 3223, 0,
3678 3223, 0, 3223, 3224, 3224, 3224, 3224, 0, 0, 3224,
3679 3224, 3225, 3225, 3225, 3225, 0, 0, 3225, 3225, 3226,
3680 3226, 3226, 3226, 0, 3226, 0, 3226, 3227, 3227, 3227,
3681 3227, 0, 0, 3227, 3227, 3228, 3228, 3228, 3228, 3228,
3683 3228, 3228, 3228, 3228, 3229, 3229, 3229, 3229, 3229, 3229,
3684 3229, 3229, 3229, 3230, 3230, 3230, 0, 0, 0, 3230,
3685 3231, 3231, 3231, 3231, 0, 0, 3231, 3231, 3232, 3232,
3686 3232, 3232, 0, 0, 3232, 3232, 3233, 3233, 3233, 0,
3687 0, 0, 3233, 3234, 3234, 3234, 3234, 0, 0, 3234,
3688 3234, 3235, 3235, 3235, 0, 0, 0, 3235, 3236, 3236,
3689 3236, 3236, 0, 0, 3236, 3236, 3237, 3237, 3237, 0,
3690 0, 0, 3237, 3238, 3238, 3238, 3238, 0, 0, 3238,
3691 3238, 3239, 3239, 3239, 0, 0, 0, 3239, 3240, 3240,
3692 3240, 0, 0, 0, 3240, 3241, 3241, 3241, 3241, 0,
3694 0, 3241, 3241, 3242, 3242, 3242, 0, 0, 0, 3242,
3695 3243, 3243, 3243, 3243, 0, 0, 3243, 3243, 3244, 3244,
3696 3244, 3244, 0, 0, 3244, 3244, 3245, 3245, 3245, 3245,
3697 0, 3245, 0, 3245, 3246, 3246, 3246, 3246, 0, 0,
3698 3246, 3246, 3247, 3247, 3247, 0, 0, 0, 3247, 3248,
3699 3248, 3248, 3248, 0, 0, 3248, 3248, 3249, 3249, 3249,
3700 0, 0, 0, 3249, 3250, 3250, 3250, 3250, 0, 0,
3701 3250, 3250, 3251, 3251, 3251, 0, 0, 0, 3251, 3252,
3702 3252, 3252, 3252, 0, 0, 3252, 3252, 3253, 3253, 3253,
3703 0, 0, 0, 3253, 3254, 3254, 3254, 3254, 0, 0,
3705 3254, 3254, 3255, 3255, 3255, 0, 0, 0, 3255, 3256,
3706 3256, 3256, 3256, 0, 0, 3256, 3256, 3257, 3257, 3257,
3707 0, 0, 0, 3257, 3258, 3258, 3258, 3258, 0, 0,
3708 3258, 3258, 3259, 3259, 3259, 3259, 0, 3259, 0, 3259,
3709 3260, 3260, 3260, 3260, 0, 0, 3260, 3260, 3261, 3261,
3710 3261, 0, 0, 0, 3261, 3262, 3262, 3262, 3262, 0,
3711 0, 3262, 3262, 3263, 3263, 3263, 3263, 0, 0, 3263,
3712 3263, 3264, 3264, 3264, 3264, 0, 3264, 0, 3264, 3265,
3713 3265, 3265, 3265, 0, 0, 3265, 3265, 3266, 3266, 3266,
3714 0, 0, 0, 3266, 3267, 3267, 3267, 3267, 0, 0,
3716 3267, 3267, 3268, 3268, 3268, 3268, 0, 0, 3268, 3268,
3717 3269, 3269, 3269, 3269, 0, 0, 3269, 3269, 3270, 3270,
3718 3270, 3270, 0, 0, 3270, 3270, 3271, 3271, 3271, 3271,
3719 3271, 3271, 3271, 3271, 3271, 3272, 3272, 3272, 3272, 3272,
3720 3272, 3272, 3272, 3272, 3273, 3273, 3273, 3273, 0, 3273,
3721 0, 3273, 3274, 3274, 3274, 3274, 0, 0, 3274, 3274,
3722 3275, 3275, 3275, 3275, 0, 0, 3275, 3275, 3276, 3276,
3723 3276, 0, 0, 0, 3276, 3277, 3277, 3277, 3277, 0,
3724 0, 3277, 3277, 3278, 3278, 3278, 0, 0, 0, 3278,
3725 3279, 3279, 3279, 3279, 0, 0, 3279, 3279, 3280, 3280,
3727 3280, 3280, 0, 3280, 0, 3280, 3281, 3281, 3281, 3281,
3728 0, 0, 3281, 3281, 3282, 3282, 3282, 3282, 0, 3282,
3729 0, 3282, 3283, 3283, 3283, 3283, 0, 3283, 0, 3283,
3730 3284, 3284, 3284, 3284, 0, 0, 3284, 3284, 3285, 3285,
3731 3285, 3285, 0, 3285, 0, 3285, 3286, 3286, 3286, 3286,
3732 0, 0, 3286, 3286, 3287, 3287, 3287, 3287, 0, 0,
3733 3287, 3287, 3288, 3288, 3288, 3288, 0, 0, 3288, 3288,
3734 3289, 3289, 3289, 0, 0, 0, 3289, 3290, 3290, 3290,
3735 0, 0, 0, 3290, 3291, 3291, 3291, 3291, 0, 0,
3736 3291, 3291, 3292, 3292, 3292, 0, 0, 0, 3292, 3293,
3738 3293, 3293, 0, 0, 0, 3293, 3294, 3294, 3294, 3294,
3739 0, 0, 3294, 3294, 3295, 3295, 3295, 0, 0, 0,
3740 3295, 3296, 3296, 3296, 0, 0, 0, 3296, 3297, 3297,
3741 3297, 3297, 0, 0, 3297, 3297, 3298, 3298, 3298, 0,
3742 0, 0, 3298, 3299, 3299, 3299, 3299, 0, 0, 3299,
3743 3299, 3300, 3300, 3300, 0, 0, 0, 3300, 3301, 3301,
3744 3301, 3301, 0, 0, 3301, 3301, 3302, 3302, 3302, 3302,
3745 0, 0, 3302, 3302, 3303, 3303, 3303, 3303, 0, 0,
3746 3303, 3303, 3304, 3304, 3304, 0, 0, 0, 3304, 3305,
3747 3305, 3305, 3305, 0, 0, 3305, 3305, 3306, 3306, 3306,
3749 3306, 0, 0, 3306, 3306, 3307, 3307, 3307, 3307, 0,
3750 0, 3307, 3307, 3308, 3308, 3308, 3308, 3308, 3308, 3308,
3751 3308, 3308, 3309, 3309, 3309, 3309, 3309, 3309, 3309, 3309,
3752 3309, 3310, 3310, 3310, 3310, 0, 0, 3310, 3310, 3311,
3753 3311, 3311, 3311, 0, 0, 3311, 3311, 3312, 3312, 3312,
3754 0, 0, 0, 3312, 3313, 3313, 3313, 0, 0, 0,
3755 3313, 3314, 3314, 3314, 3314, 0, 0, 3314, 3314, 3315,
3756 3315, 3315, 3315, 0, 0, 3315, 3315, 3316, 3316, 3316,
3757 3316, 0, 0, 3316, 3316, 3317, 3317, 3317, 3317, 0,
3758 0, 3317, 3317, 3318, 3318, 3318, 3318, 0, 0, 3318,
3760 3318, 3319, 3319, 3319, 0, 0, 0, 3319, 3320, 3320,
3761 3320, 0, 0, 0, 3320, 3321, 3321, 3321, 3321, 0,
3762 0, 3321, 3321, 3322, 3322, 3322, 0, 0, 0, 3322,
3763 3323, 3323, 3323, 0, 0, 0, 3323, 3324, 3324, 3324,
3764 3324, 0, 0, 3324, 3324, 3325, 3325, 3325, 0, 0,
3765 0, 3325, 3326, 3326, 3326, 0, 0, 0, 3326, 3327,
3766 3327, 3327, 0, 0, 0, 3327, 3328, 3328, 3328, 3328,
3767 0, 0, 3328, 3328, 3329, 3329, 3329, 0, 0, 0,
3768 3329, 3330, 3330, 3330, 3330, 0, 0, 3330, 3330, 3331,
3769 3331, 3331, 3331, 0, 0, 3331, 3331, 3332, 3332, 3332,
3771 3332, 0, 0, 3332, 3332, 3333, 3333, 3333, 3333, 0,
3772 3333, 0, 3333, 3334, 3334, 3334, 3334, 0, 0, 3334,
3773 3334, 3335, 3335, 3335, 3335, 0, 0, 3335, 3335, 3336,
3774 3336, 3336, 3336, 0, 0, 3336, 3336, 3337, 3337, 3337,
3775 3337, 3337, 3337, 3337, 3337, 3337, 3338, 3338, 3338, 3338,
3776 3338, 3338, 3338, 3338, 3338, 3339, 3339, 3339, 3339, 0,
3777 0, 3339, 3339, 3340, 3340, 3340, 3340, 0, 0, 3340,
3778 3340, 3341, 3341, 3341, 0, 0, 0, 3341, 3342, 3342,
3779 3342, 3342, 0, 3342, 0, 3342, 3343, 3343, 3343, 3343,
3780 0, 0, 3343, 3343, 3344, 3344, 3344, 3344, 0, 0,
3782 3344, 3344, 3345, 3345, 3345, 3345, 0, 0, 3345, 3345,
3783 3346, 3346, 3346, 3346, 0, 0, 3346, 3346, 3347, 3347,
3784 3347, 0, 0, 0, 3347, 3348, 3348, 3348, 0, 0,
3785 0, 3348, 3349, 3349, 3349, 3349, 0, 0, 3349, 3349,
3786 3350, 3350, 3350, 0, 0, 0, 3350, 3351, 3351, 3351,
3787 0, 0, 0, 3351, 3352, 3352, 3352, 3352, 3352, 3352,
3788 3352, 3352, 3352, 3353, 3353, 3353, 3353, 3353, 3353, 3353,
3789 3353, 3353, 3354, 3354, 3354, 3354, 3354, 3354, 3354, 3354,
3790 3354, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355, 3355,
3791 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3356, 3357,
3793 3357, 3357, 3357, 3357, 3357, 3357, 3357, 3357, 2959, 2959,
3794 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
3795 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
3796 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
3797 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
3798 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
3799 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
3800 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959, 2959,
3804 /* Table of booleans, true if rule could match eol. */
3805 static yyconst flex_int32_t yy_rule_can_match_eol[495] =
3807 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3808 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3809 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3810 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3811 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3812 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3813 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
3814 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
3815 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3816 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3817 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3818 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3819 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3820 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3821 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
3822 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3823 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3824 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3825 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3826 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3827 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
3828 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3829 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3830 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
3831 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
3833 static yy_state_type yy_last_accepting_state;
3834 static char *yy_last_accepting_cpos;
3836 extern int surf_parse__flex_debug;
3837 int surf_parse__flex_debug = 0;
3839 /* The intent behind this definition is that it'll catch
3840 * any uses of REJECT which flex missed.
3842 #define REJECT reject_used_but_not_detected
3843 #define yymore() yymore_used_but_not_detected
3844 #define YY_MORE_ADJ 0
3845 #define YY_RESTORE_YY_MORE_OFFSET
3846 char *surf_parse_text;
3847 /* Validating XML processor for src/surf/simgrid.dtd.
3849 * This program was generated with the FleXML XML processor generator.
3850 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3851 * FleXML is Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3852 * (Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp).
3854 * There are two, intertwined parts to this program, part A and part B.
3859 * Some parts, here collectively called "Part A", are found in the
3860 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3861 * and Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3863 * You can redistribute, use, perform, display and/or modify "Part A"
3864 * provided the following two conditions hold:
3866 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3867 * FleXML; without even the implied warranty of MERCHANTABILITY or
3868 * FITNESS FOR A PARTICULAR PURPOSE.
3870 * 2. The program distribution conditions do not in any way affect the
3871 * distribution conditions of the FleXML system used to generate this
3872 * file or any version of FleXML derived from that system.
3874 * Notice that these are explicit rights granted to you for files
3875 * generated by the FleXML system. For your rights in connection with
3876 * the FleXML system itself please consult the GNU General Public License.
3881 * The other parts, here collectively called "Part B", and which came
3882 * from the DTD used by FleXML to generate this program, can be
3883 * distributed (or not, as the case may be) under the terms of whoever
3884 * wrote them, provided these terms respect and obey the two conditions
3885 * above under the heading "Part A".
3887 * The author of and contributors to FleXML specifically disclaim
3888 * any copyright interest in "Part B", unless "Part B" was written
3889 * by the author of or contributors to FleXML.
3893 /* Version strings. */
3894 const char rcs_surfxml_flexml_skeleton[] =
3895 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3896 const char rcs_surfxml_flexml[] =
3897 "$" "Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp $";
3900 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3907 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3908 # ifndef __STRICT_ANSI__
3910 # include <process.h>
3913 # include <unistd.h>
3916 #ifndef FLEXML_INDEXSTACKSIZE
3917 #define FLEXML_INDEXSTACKSIZE 1000
3920 /* Generated definitions. */
3921 #define FLEXML_yylineno
3922 #ifndef FLEXML_BUFFERSTACKSIZE
3923 #define FLEXML_BUFFERSTACKSIZE 1000000
3925 #define FLEXML_NEED_BUFFERLIT
3927 /* XML processor api. */
3928 /* FleXML-provided data. */
3929 int surfxml_pcdata_ix;
3930 extern char *surfxml_bufferstack;
3931 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3932 AT_surfxml_mount_name AX_surfxml_mount_name;
3933 #define A_surfxml_mount_name (surfxml_bufferstack + AX_surfxml_mount_name)
3934 short int surfxml_mount_name_isset;
3935 AT_surfxml_random_generator AX_surfxml_random_generator;
3936 #define A_surfxml_random_generator AX_surfxml_random_generator
3937 short int surfxml_random_generator_isset;
3938 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3939 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3940 short int surfxml_ASroute_gw_dst_isset;
3941 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3942 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3943 short int surfxml_trace_connect_element_isset;
3944 AT_surfxml_prop_id AX_surfxml_prop_id;
3945 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3946 short int surfxml_prop_id_isset;
3947 AT_surfxml_host_id AX_surfxml_host_id;
3948 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3949 short int surfxml_host_id_isset;
3950 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3951 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3952 short int surfxml_ASroute_symmetrical_isset;
3953 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3954 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3955 short int surfxml_peer_lat_isset;
3956 AT_surfxml_process_on_failure AX_surfxml_process_on_failure;
3957 #define A_surfxml_process_on_failure AX_surfxml_process_on_failure
3958 short int surfxml_process_on_failure_isset;
3959 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3960 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3961 short int surfxml_link_latency_file_isset;
3962 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3963 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3964 short int surfxml_peer_availability_file_isset;
3965 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3966 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3967 short int surfxml_link_ctn_direction_isset;
3968 AT_surfxml_host_state AX_surfxml_host_state;
3969 #define A_surfxml_host_state AX_surfxml_host_state
3970 short int surfxml_host_state_isset;
3971 AT_surfxml_AS_id AX_surfxml_AS_id;
3972 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3973 short int surfxml_AS_id_isset;
3974 AT_surfxml_host_power AX_surfxml_host_power;
3975 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3976 short int surfxml_host_power_isset;
3977 AT_surfxml_router_id AX_surfxml_router_id;
3978 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3979 short int surfxml_router_id_isset;
3980 AT_surfxml_storage_type_id AX_surfxml_storage_type_id;
3981 #define A_surfxml_storage_type_id (surfxml_bufferstack + AX_surfxml_storage_type_id)
3982 short int surfxml_storage_type_id_isset;
3983 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3984 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3985 short int surfxml_process_start_time_isset;
3986 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3987 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3988 short int surfxml_cluster_suffix_isset;
3989 AT_surfxml_bypassASroute_dst AX_surfxml_bypassASroute_dst;
3990 #define A_surfxml_bypassASroute_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_dst)
3991 short int surfxml_bypassASroute_dst_isset;
3992 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3993 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3994 short int surfxml_ASroute_src_isset;
3995 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3996 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3997 short int surfxml_cluster_prefix_isset;
3998 AT_surfxml_trace_file AX_surfxml_trace_file;
3999 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
4000 short int surfxml_trace_file_isset;
4001 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
4002 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
4003 short int surfxml_link_sharing_policy_isset;
4004 AT_surfxml_storage_typeId AX_surfxml_storage_typeId;
4005 #define A_surfxml_storage_typeId (surfxml_bufferstack + AX_surfxml_storage_typeId)
4006 short int surfxml_storage_typeId_isset;
4007 AT_surfxml_random_min AX_surfxml_random_min;
4008 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
4009 short int surfxml_random_min_isset;
4010 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
4011 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
4012 short int surfxml_link_ctn_id_isset;
4013 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
4014 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
4015 short int surfxml_peer_bw_out_isset;
4016 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
4017 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
4018 short int surfxml_cluster_availability_file_isset;
4019 AT_surfxml_storage_content AX_surfxml_storage_content;
4020 #define A_surfxml_storage_content (surfxml_bufferstack + AX_surfxml_storage_content)
4021 short int surfxml_storage_content_isset;
4022 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
4023 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
4024 short int surfxml_process_kill_time_isset;
4025 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
4026 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
4027 short int surfxml_cluster_bb_bw_isset;
4028 AT_surfxml_argument_value AX_surfxml_argument_value;
4029 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
4030 short int surfxml_argument_value_isset;
4031 AT_surfxml_link_state AX_surfxml_link_state;
4032 #define A_surfxml_link_state AX_surfxml_link_state
4033 short int surfxml_link_state_isset;
4034 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
4035 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
4036 short int surfxml_ASroute_gw_src_isset;
4037 AT_surfxml_AS_routing AX_surfxml_AS_routing;
4038 #define A_surfxml_AS_routing AX_surfxml_AS_routing
4039 short int surfxml_AS_routing_isset;
4040 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
4041 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
4042 short int surfxml_link_bandwidth_isset;
4043 AT_surfxml_cluster_id AX_surfxml_cluster_id;
4044 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
4045 short int surfxml_cluster_id_isset;
4046 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
4047 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
4048 short int surfxml_peer_bw_in_isset;
4049 AT_surfxml_random_mean AX_surfxml_random_mean;
4050 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
4051 short int surfxml_random_mean_isset;
4052 AT_surfxml_storage_type_size AX_surfxml_storage_type_size;
4053 #define A_surfxml_storage_type_size (surfxml_bufferstack + AX_surfxml_storage_type_size)
4054 short int surfxml_storage_type_size_isset;
4055 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
4056 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
4057 short int surfxml_cluster_bb_lat_isset;
4058 AT_surfxml_link_latency AX_surfxml_link_latency;
4059 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
4060 short int surfxml_link_latency_isset;
4061 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
4062 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
4063 short int surfxml_trace_connect_kind_isset;
4064 AT_surfxml_random_seed AX_surfxml_random_seed;
4065 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
4066 short int surfxml_random_seed_isset;
4067 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
4068 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
4069 short int surfxml_cluster_state_file_isset;
4070 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
4071 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
4072 short int surfxml_link_bandwidth_file_isset;
4073 AT_surfxml_storage_type_content AX_surfxml_storage_type_content;
4074 #define A_surfxml_storage_type_content (surfxml_bufferstack + AX_surfxml_storage_type_content)
4075 short int surfxml_storage_type_content_isset;
4076 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
4077 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
4078 short int surfxml_route_symmetrical_isset;
4079 AT_surfxml_random_id AX_surfxml_random_id;
4080 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
4081 short int surfxml_random_id_isset;
4082 AT_surfxml_mstorage_name AX_surfxml_mstorage_name;
4083 #define A_surfxml_mstorage_name (surfxml_bufferstack + AX_surfxml_mstorage_name)
4084 short int surfxml_mstorage_name_isset;
4085 AT_surfxml_random_max AX_surfxml_random_max;
4086 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
4087 short int surfxml_random_max_isset;
4088 AT_surfxml_link_id AX_surfxml_link_id;
4089 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
4090 short int surfxml_link_id_isset;
4091 AT_surfxml_process_host AX_surfxml_process_host;
4092 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
4093 short int surfxml_process_host_isset;
4094 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
4095 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
4096 short int surfxml_host_availability_file_isset;
4097 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
4098 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
4099 short int surfxml_cluster_lat_isset;
4100 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
4101 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
4102 short int surfxml_trace_periodicity_isset;
4103 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
4104 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
4105 short int surfxml_cluster_bb_sharing_policy_isset;
4106 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
4107 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
4108 short int surfxml_router_coordinates_isset;
4109 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
4110 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
4111 short int surfxml_peer_coordinates_isset;
4112 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
4113 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
4114 short int surfxml_peer_state_file_isset;
4115 AT_surfxml_bypassASroute_src AX_surfxml_bypassASroute_src;
4116 #define A_surfxml_bypassASroute_src (surfxml_bufferstack + AX_surfxml_bypassASroute_src)
4117 short int surfxml_bypassASroute_src_isset;
4118 AT_surfxml_prop_value AX_surfxml_prop_value;
4119 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
4120 short int surfxml_prop_value_isset;
4121 AT_surfxml_mstorage_typeId AX_surfxml_mstorage_typeId;
4122 #define A_surfxml_mstorage_typeId (surfxml_bufferstack + AX_surfxml_mstorage_typeId)
4123 short int surfxml_mstorage_typeId_isset;
4124 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
4125 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
4126 short int surfxml_ASroute_dst_isset;
4127 AT_surfxml_link_state_file AX_surfxml_link_state_file;
4128 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
4129 short int surfxml_link_state_file_isset;
4130 AT_surfxml_random_radical AX_surfxml_random_radical;
4131 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
4132 short int surfxml_random_radical_isset;
4133 AT_surfxml_bypassASroute_gw_src AX_surfxml_bypassASroute_gw_src;
4134 #define A_surfxml_bypassASroute_gw_src (surfxml_bufferstack + AX_surfxml_bypassASroute_gw_src)
4135 short int surfxml_bypassASroute_gw_src_isset;
4136 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
4137 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
4138 short int surfxml_trace_connect_trace_isset;
4139 AT_surfxml_mount_id AX_surfxml_mount_id;
4140 #define A_surfxml_mount_id (surfxml_bufferstack + AX_surfxml_mount_id)
4141 short int surfxml_mount_id_isset;
4142 AT_surfxml_cluster_power AX_surfxml_cluster_power;
4143 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
4144 short int surfxml_cluster_power_isset;
4145 AT_surfxml_process_function AX_surfxml_process_function;
4146 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
4147 short int surfxml_process_function_isset;
4148 AT_surfxml_peer_id AX_surfxml_peer_id;
4149 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
4150 short int surfxml_peer_id_isset;
4151 AT_surfxml_cluster_router_id AX_surfxml_cluster_router_id;
4152 #define A_surfxml_cluster_router_id (surfxml_bufferstack + AX_surfxml_cluster_router_id)
4153 short int surfxml_cluster_router_id_isset;
4154 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
4155 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
4156 short int surfxml_cluster_sharing_policy_isset;
4157 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
4158 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
4159 short int surfxml_bypassRoute_dst_isset;
4160 AT_surfxml_host_core AX_surfxml_host_core;
4161 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
4162 short int surfxml_host_core_isset;
4163 AT_surfxml_storage_type_model AX_surfxml_storage_type_model;
4164 #define A_surfxml_storage_type_model (surfxml_bufferstack + AX_surfxml_storage_type_model)
4165 short int surfxml_storage_type_model_isset;
4166 AT_surfxml_host_availability AX_surfxml_host_availability;
4167 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
4168 short int surfxml_host_availability_isset;
4169 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
4170 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
4171 short int surfxml_bypassRoute_src_isset;
4172 AT_surfxml_route_src AX_surfxml_route_src;
4173 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
4174 short int surfxml_route_src_isset;
4175 AT_surfxml_storage_id AX_surfxml_storage_id;
4176 #define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
4177 short int surfxml_storage_id_isset;
4178 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
4179 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
4180 short int surfxml_host_coordinates_isset;
4181 AT_surfxml_trace_id AX_surfxml_trace_id;
4182 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
4183 short int surfxml_trace_id_isset;
4184 AT_surfxml_peer_power AX_surfxml_peer_power;
4185 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
4186 short int surfxml_peer_power_isset;
4187 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
4188 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
4189 short int surfxml_cluster_radical_isset;
4190 AT_surfxml_config_id AX_surfxml_config_id;
4191 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
4192 short int surfxml_config_id_isset;
4193 AT_surfxml_bypassASroute_gw_dst AX_surfxml_bypassASroute_gw_dst;
4194 #define A_surfxml_bypassASroute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_gw_dst)
4195 short int surfxml_bypassASroute_gw_dst_isset;
4196 AT_surfxml_include_file AX_surfxml_include_file;
4197 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
4198 short int surfxml_include_file_isset;
4199 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
4200 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
4201 short int surfxml_random_std_deviation_isset;
4202 AT_surfxml_cluster_core AX_surfxml_cluster_core;
4203 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
4204 short int surfxml_cluster_core_isset;
4205 AT_surfxml_host_state_file AX_surfxml_host_state_file;
4206 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
4207 short int surfxml_host_state_file_isset;
4208 AT_surfxml_route_dst AX_surfxml_route_dst;
4209 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
4210 short int surfxml_route_dst_isset;
4211 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
4212 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
4213 short int surfxml_cluster_bw_isset;
4214 AT_surfxml_platform_version AX_surfxml_platform_version;
4215 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
4216 short int surfxml_platform_version_isset;
4220 # define ENTER(state) debug_enter(state,#state)
4221 # define LEAVE debug_leave()
4222 # define SET(state) debug_set(state,#state)
4223 static void debug_enter(int, const char*);
4224 static void debug_leave(void);
4225 static void debug_set(int, const char*);
4227 # define ENTER(state) (yy_push_state(state))
4228 # define LEAVE (yy_pop_state())
4229 # define SET(state) BEGIN(state)
4232 /* Generic actions. */
4233 #define SKIP /*skip*/
4234 #define SUCCEED CLEANUP; return 0
4236 #define FAIL return fail
4237 static int fail(const char*, ...);
4239 enum {flexml_max_err_msg_size = 512};
4240 static char flexml_err_msg[flexml_max_err_msg_size];
4241 const char * surfxml_parse_err_msg()
4243 return flexml_err_msg;
4245 static void reset_surfxml_parse_err_msg()
4247 flexml_err_msg[0] = '\0';
4251 static void cleanup(void);
4252 #define CLEANUP cleanup()
4254 /* Text buffer stack handling. */
4255 char *surfxml_bufferstack = NULL;
4256 static int blimit = FLEXML_BUFFERSTACKSIZE;
4257 static int bnext = 1;
4259 static int *indexstack = NULL;
4260 static int ilimit = FLEXML_INDEXSTACKSIZE;
4261 static int inext = 1;
4263 #define BUFFERSET(P) (P = bnext)
4264 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
4265 #define BUFFERDONE (BUFFERPUTC('\0'))
4267 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
4269 /* after this is called, there are at least 2 slots left in the stack */
4270 static int ck_blimit()
4272 if (bnext >= blimit) {
4273 blimit += FLEXML_BUFFERSTACKSIZE + 2;
4275 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
4277 surfxml_bufferstack = temp;
4283 /* after this is called, there are at least 2 slots left in the stack */
4284 static int ck_ilimit()
4286 if (inext >= ilimit) {
4287 ilimit += FLEXML_INDEXSTACKSIZE + 2;
4289 int *temp = (int *) realloc(indexstack, ilimit);
4297 #ifdef FLEXML_NEED_BUFFERLIT
4298 static void surfxml_bufferliteral(char c, int* pp, const char* text)
4300 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
4301 assert(s <= e); BUFFERSET(*pp);
4303 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
4304 else BUFFERPUTC(*s);
4310 static void pushbuffer(int p)
4313 indexstack[inext++] = p;
4314 indexstack[inext++] = bnext;
4317 static int popbuffer(void)
4320 bnext = indexstack[--inext];
4321 return indexstack[--inext];
4324 /* General internal entities are `unput' back onto the input stream... */
4325 #define ENTITYTEXT(T) \
4326 { char *s = (T), *e = s+strlen(s);\
4327 while (--e >= s) { unput(*e); }}
4329 /* Flex standard options. */
4330 #define YY_NO_INPUT 1
4331 /* Flex user-requested options. */
4332 /* XML character classes (currently restricted to ASCII). */
4333 /* "Common syntactic structures." */
4334 /* "Names and Tokens." */
4335 /* Miscellaneous. */
4336 /* Parser states (flex `exclusive start conditions'):
4338 * PROLOG the XML prolog of the document before <?xml...>
4339 * DOCTYPE the XML prolog of the document after <?xml...>
4340 * EPILOG after the root element
4341 * INCOMMENT inside an XML comment <!--....-->
4342 * INPI inside an XML PI <?...?>
4343 * VALUE1 inside a '...'-delimited literal
4344 * VALUE2 inside a "..."-delimited literal
4345 * CDATA inside a <![CDATA[...] ]> section.
4346 * ROOT_<tag> expect root element <tag>
4347 * AL_<tag> inside the attribute list for <tag>
4348 * IN_<tag> inside a <tag> with element contents (ready for end tag)
4349 * IMPOSSIBLE dummy to permit disabling rules; must be last
4353 const char* *surfxml_statenames=NULL;
4364 #define ROOT_surfxml_platform 9
4365 #define AL_surfxml_platform 10
4366 #define S_surfxml_platform 11
4367 #define S_surfxml_platform_1 12
4368 #define S_surfxml_platform_2 13
4369 #define S_surfxml_platform_3 14
4370 #define S_surfxml_platform_4 15
4371 #define S_surfxml_platform_5 16
4372 #define S_surfxml_platform_6 17
4373 #define S_surfxml_platform_7 18
4374 #define S_surfxml_platform_8 19
4375 #define E_surfxml_platform 20
4376 #define AL_surfxml_include 21
4377 #define S_surfxml_include 22
4378 #define S_surfxml_include_1 23
4379 #define S_surfxml_include_2 24
4380 #define E_surfxml_include 25
4381 #define AL_surfxml_trace 26
4383 #define AL_surfxml_random 28
4384 #define S_surfxml_random 29
4385 #define S_surfxml_random_1 30
4386 #define S_surfxml_random_2 31
4387 #define E_surfxml_random 32
4388 #define AL_surfxml_trace_connect 33
4389 #define E_surfxml_trace_connect 34
4390 #define AL_surfxml_AS 35
4391 #define S_surfxml_AS 36
4392 #define S_surfxml_AS_1 37
4393 #define S_surfxml_AS_2 38
4394 #define S_surfxml_AS_3 39
4395 #define S_surfxml_AS_4 40
4396 #define S_surfxml_AS_5 41
4397 #define S_surfxml_AS_6 42
4398 #define S_surfxml_AS_7 43
4399 #define S_surfxml_AS_8 44
4400 #define S_surfxml_AS_9 45
4401 #define S_surfxml_AS_10 46
4402 #define S_surfxml_AS_11 47
4403 #define S_surfxml_AS_12 48
4404 #define S_surfxml_AS_13 49
4405 #define E_surfxml_AS 50
4406 #define AL_surfxml_storage_type 51
4407 #define S_surfxml_storage_type 52
4408 #define S_surfxml_storage_type_1 53
4409 #define S_surfxml_storage_type_2 54
4410 #define E_surfxml_storage_type 55
4411 #define AL_surfxml_storage 56
4412 #define S_surfxml_storage 57
4413 #define S_surfxml_storage_1 58
4414 #define S_surfxml_storage_2 59
4415 #define E_surfxml_storage 60
4416 #define AL_surfxml_mount 61
4417 #define E_surfxml_mount 62
4418 #define AL_surfxml_mstorage 63
4419 #define E_surfxml_mstorage 64
4420 #define AL_surfxml_host 65
4421 #define S_surfxml_host 66
4422 #define S_surfxml_host_1 67
4423 #define S_surfxml_host_2 68
4424 #define E_surfxml_host 69
4425 #define AL_surfxml_cluster 70
4426 #define E_surfxml_cluster 71
4427 #define AL_surfxml_peer 72
4428 #define E_surfxml_peer 73
4429 #define AL_surfxml_router 74
4430 #define E_surfxml_router 75
4431 #define AL_surfxml_link 76
4432 #define S_surfxml_link 77
4433 #define S_surfxml_link_1 78
4434 #define S_surfxml_link_2 79
4435 #define E_surfxml_link 80
4436 #define AL_surfxml_route 81
4437 #define S_surfxml_route 82
4438 #define S_surfxml_route_1 83
4439 #define S_surfxml_route_2 84
4440 #define E_surfxml_route 85
4441 #define AL_surfxml_ASroute 86
4442 #define S_surfxml_ASroute 87
4443 #define S_surfxml_ASroute_1 88
4444 #define S_surfxml_ASroute_2 89
4445 #define E_surfxml_ASroute 90
4446 #define AL_surfxml_link_ctn 91
4447 #define E_surfxml_link_ctn 92
4448 #define AL_surfxml_bypassRoute 93
4449 #define S_surfxml_bypassRoute 94
4450 #define S_surfxml_bypassRoute_1 95
4451 #define S_surfxml_bypassRoute_2 96
4452 #define E_surfxml_bypassRoute 97
4453 #define AL_surfxml_bypassASroute 98
4454 #define S_surfxml_bypassASroute 99
4455 #define S_surfxml_bypassASroute_1 100
4456 #define S_surfxml_bypassASroute_2 101
4457 #define E_surfxml_bypassASroute 102
4458 #define AL_surfxml_process 103
4459 #define S_surfxml_process 104
4460 #define S_surfxml_process_1 105
4461 #define S_surfxml_process_2 106
4462 #define E_surfxml_process 107
4463 #define AL_surfxml_argument 108
4464 #define E_surfxml_argument 109
4465 #define AL_surfxml_config 110
4466 #define S_surfxml_config 111
4467 #define S_surfxml_config_1 112
4468 #define S_surfxml_config_2 113
4469 #define E_surfxml_config 114
4470 #define AL_surfxml_prop 115
4471 #define E_surfxml_prop 116
4472 #define IMPOSSIBLE 117
4474 #ifndef YY_NO_UNISTD_H
4475 /* Special case for "unistd.h", since it is non-ANSI. We include it way
4476 * down here because we want the user's section 1 to have been scanned first.
4477 * The user has a chance to override it with an option.
4479 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
4480 # ifndef __STRICT_ANSI__
4482 # include <process.h>
4485 # include <unistd.h>
4489 #ifndef YY_EXTRA_TYPE
4490 #define YY_EXTRA_TYPE void *
4493 static int yy_init_globals (void );
4495 /* Accessor methods to globals.
4496 These are made visible to non-reentrant scanners for convenience. */
4498 int surf_parse_lex_destroy (void );
4500 int surf_parse_get_debug (void );
4502 void surf_parse_set_debug (int debug_flag );
4504 YY_EXTRA_TYPE surf_parse_get_extra (void );
4506 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
4508 FILE *surf_parse_get_in (void );
4510 void surf_parse_set_in (FILE * in_str );
4512 FILE *surf_parse_get_out (void );
4514 void surf_parse_set_out (FILE * out_str );
4516 int surf_parse_get_leng (void );
4518 char *surf_parse_get_text (void );
4520 int surf_parse_get_lineno (void );
4522 void surf_parse_set_lineno (int line_number );
4524 /* Macros after this point can all be overridden by user definitions in
4528 #ifndef YY_SKIP_YYWRAP
4530 extern "C" int surf_parse_wrap (void );
4532 extern int surf_parse_wrap (void );
4537 static void yy_flex_strncpy (char *,yyconst char *,int );
4540 #ifdef YY_NEED_STRLEN
4541 static int yy_flex_strlen (yyconst char * );
4547 static int yyinput (void );
4549 static int input (void );
4554 static int yy_start_stack_ptr = 0;
4555 static int yy_start_stack_depth = 0;
4556 static int *yy_start_stack = NULL;
4558 static void yy_push_state (int new_state );
4560 static void yy_pop_state (void );
4562 /* Amount of stuff to slurp up with each read. */
4563 #ifndef YY_READ_BUF_SIZE
4565 /* On IA-64, the buffer size is 16k, not 8k */
4566 #define YY_READ_BUF_SIZE 16384
4568 #define YY_READ_BUF_SIZE 8192
4569 #endif /* __ia64__ */
4572 /* Copy whatever the last rule matched to the standard output. */
4574 /* This used to be an fputs(), but since the string might contain NUL's,
4575 * we now use fwrite().
4577 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
4580 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
4581 * is returned in "result".
4584 #define YY_INPUT(buf,result,max_size) \
4585 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
4589 for ( n = 0; n < max_size && \
4590 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
4591 buf[n] = (char) c; \
4593 buf[n++] = (char) c; \
4594 if ( c == EOF && ferror( surf_parse_in ) ) \
4595 YY_FATAL_ERROR( "input in flex scanner failed" ); \
4601 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
4603 if( errno != EINTR) \
4605 YY_FATAL_ERROR( "input in flex scanner failed" ); \
4609 clearerr(surf_parse_in); \
4616 /* No semi-colon after return; correct usage is to write "yyterminate();" -
4617 * we don't want an extra ';' after the "return" because that will cause
4618 * some compilers to complain about unreachable statements.
4621 #define yyterminate() return YY_NULL
4624 /* Number of entries by which start-condition stack grows. */
4625 #ifndef YY_START_STACK_INCR
4626 #define YY_START_STACK_INCR 25
4629 /* Report a fatal error. */
4630 #ifndef YY_FATAL_ERROR
4631 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4634 /* end tables serialization structures and prototypes */
4636 /* Default declaration of generated scanner - a define so the user can
4637 * easily add parameters.
4640 #define YY_DECL_IS_OURS 1
4642 extern int surf_parse_lex (void);
4644 #define YY_DECL int surf_parse_lex (void)
4645 #endif /* !YY_DECL */
4647 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
4650 #ifndef YY_USER_ACTION
4651 #define YY_USER_ACTION
4654 /* Code executed at the end of each rule. */
4656 #define YY_BREAK break;
4659 #define YY_RULE_SETUP \
4662 /** The main scanner function which does all the work.
4666 register yy_state_type yy_current_state;
4667 register char *yy_cp, *yy_bp;
4668 register int yy_act;
4670 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
4672 reset_surfxml_parse_err_msg();
4673 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
4674 assert(surfxml_bufferstack);
4678 for (i = 0; i < blimit; i++) {
4679 surfxml_bufferstack[i] = '\377';
4683 surfxml_bufferstack[0] = '\0';
4684 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
4690 surfxml_bufferliteral('\0', &bnext, "0.0");
4691 surfxml_bufferliteral('\0', &bnext, "2147483647");
4692 surfxml_bufferliteral('\0', &bnext, "1");
4693 surfxml_bufferliteral('\0', &bnext, "1.0");
4694 surfxml_bufferliteral('\0', &bnext, "1");
4695 surfxml_bufferliteral('\0', &bnext, "0.0");
4696 surfxml_bufferliteral('\0', &bnext, "-1.0");
4697 surfxml_bufferliteral('\0', &bnext, "-1.0");
4698 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
4699 surfxml_statenames[PROLOG] = NULL;
4700 surfxml_statenames[DOCTYPE] = NULL;
4701 surfxml_statenames[EPILOG] = NULL;
4702 surfxml_statenames[INCOMMENT] = NULL;
4703 surfxml_statenames[INPI] = NULL;
4704 surfxml_statenames[VALUE1] = NULL;
4705 surfxml_statenames[VALUE2] = NULL;
4706 surfxml_statenames[CDATA] = NULL;
4707 surfxml_statenames[ROOT_surfxml_platform] = NULL;
4708 surfxml_statenames[AL_surfxml_platform] = NULL;
4709 surfxml_statenames[S_surfxml_platform] = "platform";
4710 surfxml_statenames[S_surfxml_platform_1] = "platform";
4711 surfxml_statenames[S_surfxml_platform_2] = "platform";
4712 surfxml_statenames[S_surfxml_platform_3] = "platform";
4713 surfxml_statenames[S_surfxml_platform_4] = "platform";
4714 surfxml_statenames[S_surfxml_platform_5] = "platform";
4715 surfxml_statenames[S_surfxml_platform_6] = "platform";
4716 surfxml_statenames[S_surfxml_platform_7] = "platform";
4717 surfxml_statenames[S_surfxml_platform_8] = "platform";
4718 surfxml_statenames[E_surfxml_platform] = "platform";
4719 surfxml_statenames[AL_surfxml_include] = NULL;
4720 surfxml_statenames[S_surfxml_include] = "include";
4721 surfxml_statenames[S_surfxml_include_1] = "include";
4722 surfxml_statenames[S_surfxml_include_2] = "include";
4723 surfxml_statenames[E_surfxml_include] = "include";
4724 surfxml_statenames[AL_surfxml_trace] = NULL;
4725 surfxml_statenames[IN_trace] = "trace";
4726 surfxml_statenames[AL_surfxml_random] = NULL;
4727 surfxml_statenames[S_surfxml_random] = "random";
4728 surfxml_statenames[S_surfxml_random_1] = "random";
4729 surfxml_statenames[S_surfxml_random_2] = "random";
4730 surfxml_statenames[E_surfxml_random] = "random";
4731 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
4732 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
4733 surfxml_statenames[AL_surfxml_AS] = NULL;
4734 surfxml_statenames[S_surfxml_AS] = "AS";
4735 surfxml_statenames[S_surfxml_AS_1] = "AS";
4736 surfxml_statenames[S_surfxml_AS_2] = "AS";
4737 surfxml_statenames[S_surfxml_AS_3] = "AS";
4738 surfxml_statenames[S_surfxml_AS_4] = "AS";
4739 surfxml_statenames[S_surfxml_AS_5] = "AS";
4740 surfxml_statenames[S_surfxml_AS_6] = "AS";
4741 surfxml_statenames[S_surfxml_AS_7] = "AS";
4742 surfxml_statenames[S_surfxml_AS_8] = "AS";
4743 surfxml_statenames[S_surfxml_AS_9] = "AS";
4744 surfxml_statenames[S_surfxml_AS_10] = "AS";
4745 surfxml_statenames[S_surfxml_AS_11] = "AS";
4746 surfxml_statenames[S_surfxml_AS_12] = "AS";
4747 surfxml_statenames[S_surfxml_AS_13] = "AS";
4748 surfxml_statenames[E_surfxml_AS] = "AS";
4749 surfxml_statenames[AL_surfxml_storage_type] = NULL;
4750 surfxml_statenames[S_surfxml_storage_type] = "storage_type";
4751 surfxml_statenames[S_surfxml_storage_type_1] = "storage_type";
4752 surfxml_statenames[S_surfxml_storage_type_2] = "storage_type";
4753 surfxml_statenames[E_surfxml_storage_type] = "storage_type";
4754 surfxml_statenames[AL_surfxml_storage] = NULL;
4755 surfxml_statenames[S_surfxml_storage] = "storage";
4756 surfxml_statenames[S_surfxml_storage_1] = "storage";
4757 surfxml_statenames[S_surfxml_storage_2] = "storage";
4758 surfxml_statenames[E_surfxml_storage] = "storage";
4759 surfxml_statenames[AL_surfxml_mount] = NULL;
4760 surfxml_statenames[E_surfxml_mount] = "mount";
4761 surfxml_statenames[AL_surfxml_mstorage] = NULL;
4762 surfxml_statenames[E_surfxml_mstorage] = "mstorage";
4763 surfxml_statenames[AL_surfxml_host] = NULL;
4764 surfxml_statenames[S_surfxml_host] = "host";
4765 surfxml_statenames[S_surfxml_host_1] = "host";
4766 surfxml_statenames[S_surfxml_host_2] = "host";
4767 surfxml_statenames[E_surfxml_host] = "host";
4768 surfxml_statenames[AL_surfxml_cluster] = NULL;
4769 surfxml_statenames[E_surfxml_cluster] = "cluster";
4770 surfxml_statenames[AL_surfxml_peer] = NULL;
4771 surfxml_statenames[E_surfxml_peer] = "peer";
4772 surfxml_statenames[AL_surfxml_router] = NULL;
4773 surfxml_statenames[E_surfxml_router] = "router";
4774 surfxml_statenames[AL_surfxml_link] = NULL;
4775 surfxml_statenames[S_surfxml_link] = "link";
4776 surfxml_statenames[S_surfxml_link_1] = "link";
4777 surfxml_statenames[S_surfxml_link_2] = "link";
4778 surfxml_statenames[E_surfxml_link] = "link";
4779 surfxml_statenames[AL_surfxml_route] = NULL;
4780 surfxml_statenames[S_surfxml_route] = "route";
4781 surfxml_statenames[S_surfxml_route_1] = "route";
4782 surfxml_statenames[S_surfxml_route_2] = "route";
4783 surfxml_statenames[E_surfxml_route] = "route";
4784 surfxml_statenames[AL_surfxml_ASroute] = NULL;
4785 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
4786 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
4787 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
4788 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
4789 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
4790 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
4791 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
4792 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
4793 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
4794 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
4795 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
4796 surfxml_statenames[AL_surfxml_bypassASroute] = NULL;
4797 surfxml_statenames[S_surfxml_bypassASroute] = "bypassASroute";
4798 surfxml_statenames[S_surfxml_bypassASroute_1] = "bypassASroute";
4799 surfxml_statenames[S_surfxml_bypassASroute_2] = "bypassASroute";
4800 surfxml_statenames[E_surfxml_bypassASroute] = "bypassASroute";
4801 surfxml_statenames[AL_surfxml_process] = NULL;
4802 surfxml_statenames[S_surfxml_process] = "process";
4803 surfxml_statenames[S_surfxml_process_1] = "process";
4804 surfxml_statenames[S_surfxml_process_2] = "process";
4805 surfxml_statenames[E_surfxml_process] = "process";
4806 surfxml_statenames[AL_surfxml_argument] = NULL;
4807 surfxml_statenames[E_surfxml_argument] = "argument";
4808 surfxml_statenames[AL_surfxml_config] = NULL;
4809 surfxml_statenames[S_surfxml_config] = "config";
4810 surfxml_statenames[S_surfxml_config_1] = "config";
4811 surfxml_statenames[S_surfxml_config_2] = "config";
4812 surfxml_statenames[E_surfxml_config] = "config";
4813 surfxml_statenames[AL_surfxml_prop] = NULL;
4814 surfxml_statenames[E_surfxml_prop] = "prop";
4817 /* COMMENTS and PIs: handled uniformly for efficiency. */
4828 (yy_start) = 1; /* first start state */
4830 if ( ! surf_parse_in )
4831 surf_parse_in = stdin;
4833 if ( ! surf_parse_out )
4834 surf_parse_out = stdout;
4836 if ( ! YY_CURRENT_BUFFER ) {
4837 surf_parse_ensure_buffer_stack ();
4838 YY_CURRENT_BUFFER_LVALUE =
4839 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
4842 surf_parse__load_buffer_state( );
4845 while ( 1 ) /* loops until end-of-file is reached */
4847 yy_cp = (yy_c_buf_p);
4849 /* Support of surf_parse_text. */
4850 *yy_cp = (yy_hold_char);
4852 /* yy_bp points to the position in yy_ch_buf of the start of
4857 yy_current_state = (yy_start);
4861 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4862 if ( yy_accept[yy_current_state] )
4864 (yy_last_accepting_state) = yy_current_state;
4865 (yy_last_accepting_cpos) = yy_cp;
4867 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4869 yy_current_state = (int) yy_def[yy_current_state];
4870 if ( yy_current_state >= 2960 )
4871 yy_c = yy_meta[(unsigned int) yy_c];
4873 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4876 while ( yy_base[yy_current_state] != 10209 );
4879 yy_act = yy_accept[yy_current_state];
4881 { /* have to back up */
4882 yy_cp = (yy_last_accepting_cpos);
4883 yy_current_state = (yy_last_accepting_state);
4884 yy_act = yy_accept[yy_current_state];
4887 YY_DO_BEFORE_ACTION;
4889 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
4892 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
4893 if ( surf_parse_text[yyl] == '\n' )
4895 surf_parse_lineno++;
4899 do_action: /* This label is used only to access EOF actions. */
4902 { /* beginning of action switch */
4903 case 0: /* must back up */
4904 /* undo the effects of YY_DO_BEFORE_ACTION */
4905 *yy_cp = (yy_hold_char);
4906 yy_cp = (yy_last_accepting_cpos);
4907 yy_current_state = (yy_last_accepting_state);
4908 goto yy_find_action;
4926 /* rule 6 can match eol */
4930 case YY_STATE_EOF(INCOMMENT):
4931 FAIL("EOF in comment.");
4940 /* rule 9 can match eol */
4944 case YY_STATE_EOF(INPI):
4945 FAIL("EOF in PI (processing instruction).");
4948 /* SPACES: skipped uniformly */
4950 /* rule 10 can match eol */
4954 /* PROLOG: determine root element and process it. */
4957 /* rule 11 can match eol */
4962 /* rule 12 can match eol */
4964 FAIL("Bad declaration %s.",surf_parse_text);
4968 /* rule 13 can match eol */
4970 SET(ROOT_surfxml_platform);
4973 /* rule 14 can match eol */
4975 FAIL("Bad declaration %s.",surf_parse_text);
4979 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4981 case YY_STATE_EOF(PROLOG):
4982 case YY_STATE_EOF(DOCTYPE):
4983 FAIL("EOF in prolog.");
4986 /* RULES DERIVED FROM DTD. */
4987 /* <!-- Small DTD for SURF based tools. --> */
4989 /* rule 16 can match eol */
4991 FAIL("Starting tag <platform> is not allowed here.");
4994 /* rule 17 can match eol */
4997 AX_surfxml_platform_version = 1;
4998 surfxml_platform_version_isset = 0;
4999 ENTER(AL_surfxml_platform); pushbuffer(0);
5004 /* rule 18 can match eol */
5006 if (surfxml_platform_version_isset != 0) {FAIL("Multiple definition of attribute version in <surfxml_platform>");} surfxml_platform_version_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
5009 /* rule 19 can match eol */
5011 if (surfxml_platform_version_isset != 0) {FAIL("Multiple definition of attribute version in <surfxml_platform>");} surfxml_platform_version_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
5016 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
5022 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
5024 case ROOT_surfxml_platform: SET(EPILOG); break;
5030 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
5034 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
5036 case YY_STATE_EOF(AL_surfxml_platform):
5037 FAIL("EOF in attribute list of `platform' element.");
5041 /* rule 24 can match eol */
5045 ETag_surfxml_platform();
5046 popbuffer(); /* attribute */
5048 case ROOT_surfxml_platform: SET(EPILOG); break;
5053 /* rule 25 can match eol */
5055 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
5059 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
5061 case YY_STATE_EOF(S_surfxml_platform_8):
5062 case YY_STATE_EOF(S_surfxml_platform_1):
5063 case YY_STATE_EOF(S_surfxml_platform_3):
5064 case YY_STATE_EOF(S_surfxml_platform):
5065 case YY_STATE_EOF(S_surfxml_platform_4):
5066 case YY_STATE_EOF(S_surfxml_platform_6):
5067 case YY_STATE_EOF(E_surfxml_platform):
5068 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</platform>' expected.");
5072 /* rule 27 can match eol */
5074 FAIL("Starting tag <include> is not allowed here.");
5077 /* rule 28 can match eol */
5080 AX_surfxml_include_file = 0;
5081 surfxml_include_file_isset = 0;
5082 ENTER(AL_surfxml_include); pushbuffer(0);
5087 /* rule 29 can match eol */
5089 if (surfxml_include_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_include>");} surfxml_include_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
5092 /* rule 30 can match eol */
5094 if (surfxml_include_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_include>");} surfxml_include_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
5099 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
5100 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(S_surfxml_include);
5106 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
5107 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
5109 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5110 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5111 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5112 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5118 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
5122 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
5124 case YY_STATE_EOF(AL_surfxml_include):
5125 FAIL("EOF in attribute list of `include' element.");
5129 /* rule 35 can match eol */
5133 ETag_surfxml_include();
5134 popbuffer(); /* attribute */
5136 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5137 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5138 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
5139 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5144 /* rule 36 can match eol */
5146 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
5150 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
5152 case YY_STATE_EOF(E_surfxml_include):
5153 case YY_STATE_EOF(S_surfxml_include):
5154 case YY_STATE_EOF(S_surfxml_include_2):
5155 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</include>' expected.");
5159 /* rule 38 can match eol */
5161 FAIL("Starting tag <trace> is not allowed here.");
5164 /* rule 39 can match eol */
5167 AX_surfxml_trace_id = 0;
5168 surfxml_trace_id_isset = 0;
5169 AX_surfxml_trace_file = 0;
5170 surfxml_trace_file_isset = 0;
5171 AX_surfxml_trace_periodicity = 0;
5172 surfxml_trace_periodicity_isset = 0;
5173 ENTER(AL_surfxml_trace); pushbuffer(0);
5178 /* rule 40 can match eol */
5180 if (surfxml_trace_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_trace>");} surfxml_trace_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
5183 /* rule 41 can match eol */
5185 if (surfxml_trace_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_trace>");} surfxml_trace_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
5188 /* rule 42 can match eol */
5190 if (surfxml_trace_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_trace>");} surfxml_trace_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
5193 /* rule 43 can match eol */
5195 if (surfxml_trace_file_isset != 0) {FAIL("Multiple definition of attribute file in <surfxml_trace>");} surfxml_trace_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
5198 /* rule 44 can match eol */
5200 if (surfxml_trace_periodicity_isset != 0) {FAIL("Multiple definition of attribute periodicity in <surfxml_trace>");} surfxml_trace_periodicity_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
5203 /* rule 45 can match eol */
5205 if (surfxml_trace_periodicity_isset != 0) {FAIL("Multiple definition of attribute periodicity in <surfxml_trace>");} surfxml_trace_periodicity_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
5210 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
5211 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
5212 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
5218 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
5219 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
5220 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
5222 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
5223 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5224 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5225 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5226 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;
5227 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5228 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5234 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
5238 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
5240 case YY_STATE_EOF(AL_surfxml_trace):
5241 FAIL("EOF in attribute list of `trace' element.");
5245 /* rule 50 can match eol */
5250 ETag_surfxml_trace();
5251 surfxml_pcdata_ix = popbuffer();
5252 popbuffer(); /* attribute */
5254 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
5255 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5256 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5257 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5258 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;
5259 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5260 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5265 /* rule 51 can match eol */
5267 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
5269 case YY_STATE_EOF(IN_trace):
5270 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace>' expected.");
5274 /* rule 52 can match eol */
5276 FAIL("Starting tag <random> is not allowed here.");
5279 /* rule 53 can match eol */
5282 AX_surfxml_random_id = 0;
5283 surfxml_random_id_isset = 0;
5284 AX_surfxml_random_min = 0;
5285 surfxml_random_min_isset = 0;
5286 AX_surfxml_random_max = 0;
5287 surfxml_random_max_isset = 0;
5288 AX_surfxml_random_mean = 0;
5289 surfxml_random_mean_isset = 0;
5290 AX_surfxml_random_std_deviation = 0;
5291 surfxml_random_std_deviation_isset = 0;
5292 AX_surfxml_random_seed = 5;
5293 surfxml_random_seed_isset = 0;
5294 AX_surfxml_random_radical = 0;
5295 surfxml_random_radical_isset = 0;
5296 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
5297 surfxml_random_generator_isset = 0;
5298 ENTER(AL_surfxml_random); pushbuffer(0);
5303 /* rule 54 can match eol */
5305 if (surfxml_random_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_random>");} surfxml_random_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
5308 /* rule 55 can match eol */
5310 if (surfxml_random_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_random>");} surfxml_random_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
5313 /* rule 56 can match eol */
5315 if (surfxml_random_min_isset != 0) {FAIL("Multiple definition of attribute min in <surfxml_random>");} surfxml_random_min_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
5318 /* rule 57 can match eol */
5320 if (surfxml_random_min_isset != 0) {FAIL("Multiple definition of attribute min in <surfxml_random>");} surfxml_random_min_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
5323 /* rule 58 can match eol */
5325 if (surfxml_random_max_isset != 0) {FAIL("Multiple definition of attribute max in <surfxml_random>");} surfxml_random_max_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
5328 /* rule 59 can match eol */
5330 if (surfxml_random_max_isset != 0) {FAIL("Multiple definition of attribute max in <surfxml_random>");} surfxml_random_max_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
5333 /* rule 60 can match eol */
5335 if (surfxml_random_mean_isset != 0) {FAIL("Multiple definition of attribute mean in <surfxml_random>");} surfxml_random_mean_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
5338 /* rule 61 can match eol */
5340 if (surfxml_random_mean_isset != 0) {FAIL("Multiple definition of attribute mean in <surfxml_random>");} surfxml_random_mean_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
5343 /* rule 62 can match eol */
5345 if (surfxml_random_std_deviation_isset != 0) {FAIL("Multiple definition of attribute std_deviation in <surfxml_random>");} surfxml_random_std_deviation_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
5348 /* rule 63 can match eol */
5350 if (surfxml_random_std_deviation_isset != 0) {FAIL("Multiple definition of attribute std_deviation in <surfxml_random>");} surfxml_random_std_deviation_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
5353 /* rule 64 can match eol */
5355 if (surfxml_random_seed_isset != 0) {FAIL("Multiple definition of attribute seed in <surfxml_random>");} surfxml_random_seed_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_seed);
5358 /* rule 65 can match eol */
5360 if (surfxml_random_seed_isset != 0) {FAIL("Multiple definition of attribute seed in <surfxml_random>");} surfxml_random_seed_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_seed);
5363 /* rule 66 can match eol */
5365 if (surfxml_random_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_random>");} surfxml_random_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_random_radical);
5368 /* rule 67 can match eol */
5370 if (surfxml_random_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_random>");} surfxml_random_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_random_radical);
5373 /* rule 68 can match eol */
5375 /* rule 69 can match eol */
5377 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
5380 /* rule 70 can match eol */
5382 /* rule 71 can match eol */
5384 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
5387 /* rule 72 can match eol */
5389 /* rule 73 can match eol */
5391 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
5394 /* rule 74 can match eol */
5396 /* rule 75 can match eol */
5398 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
5403 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
5404 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
5405 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
5406 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
5407 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
5408 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
5414 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
5415 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
5416 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
5417 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
5418 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
5419 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
5421 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5427 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
5431 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
5433 case YY_STATE_EOF(AL_surfxml_random):
5434 FAIL("EOF in attribute list of `random' element.");
5438 /* rule 80 can match eol */
5442 ETag_surfxml_random();
5443 popbuffer(); /* attribute */
5445 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5450 /* rule 81 can match eol */
5452 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
5456 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
5458 case YY_STATE_EOF(S_surfxml_random):
5459 case YY_STATE_EOF(S_surfxml_random_2):
5460 case YY_STATE_EOF(E_surfxml_random):
5461 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</random>' expected.");
5465 /* rule 83 can match eol */
5467 FAIL("Starting tag <trace_connect> is not allowed here.");
5470 /* rule 84 can match eol */
5473 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
5474 surfxml_trace_connect_kind_isset = 0;
5475 AX_surfxml_trace_connect_trace = 0;
5476 surfxml_trace_connect_trace_isset = 0;
5477 AX_surfxml_trace_connect_element = 0;
5478 surfxml_trace_connect_element_isset = 0;
5479 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
5484 /* rule 85 can match eol */
5486 /* rule 86 can match eol */
5488 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
5491 /* rule 87 can match eol */
5493 /* rule 88 can match eol */
5495 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
5498 /* rule 89 can match eol */
5500 /* rule 90 can match eol */
5502 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
5505 /* rule 91 can match eol */
5507 /* rule 92 can match eol */
5509 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
5512 /* rule 93 can match eol */
5514 /* rule 94 can match eol */
5516 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
5519 /* rule 95 can match eol */
5521 if (surfxml_trace_connect_trace_isset != 0) {FAIL("Multiple definition of attribute trace in <surfxml_trace_connect>");} surfxml_trace_connect_trace_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
5524 /* rule 96 can match eol */
5526 if (surfxml_trace_connect_trace_isset != 0) {FAIL("Multiple definition of attribute trace in <surfxml_trace_connect>");} surfxml_trace_connect_trace_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
5529 /* rule 97 can match eol */
5531 if (surfxml_trace_connect_element_isset != 0) {FAIL("Multiple definition of attribute element in <surfxml_trace_connect>");} surfxml_trace_connect_element_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
5534 /* rule 98 can match eol */
5536 if (surfxml_trace_connect_element_isset != 0) {FAIL("Multiple definition of attribute element in <surfxml_trace_connect>");} surfxml_trace_connect_element_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
5541 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
5542 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
5543 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
5549 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
5550 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
5551 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
5553 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
5554 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5555 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5556 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5557 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;
5558 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5559 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5565 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
5569 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
5571 case YY_STATE_EOF(AL_surfxml_trace_connect):
5572 FAIL("EOF in attribute list of `trace_connect' element.");
5576 /* rule 103 can match eol */
5580 ETag_surfxml_trace_connect();
5581 popbuffer(); /* attribute */
5583 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: SET(S_surfxml_AS_8); break;
5584 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5585 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5586 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5587 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;
5588 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5589 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5594 /* rule 104 can match eol */
5596 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
5600 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
5602 case YY_STATE_EOF(E_surfxml_trace_connect):
5603 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace_connect>' expected.");
5607 /* rule 106 can match eol */
5609 FAIL("Starting tag <AS> is not allowed here.");
5612 /* rule 107 can match eol */
5615 AX_surfxml_AS_id = 0;
5616 surfxml_AS_id_isset = 0;
5617 AX_surfxml_AS_routing = A_surfxml_AS_routing_None;
5618 surfxml_AS_routing_isset = 0;
5619 ENTER(AL_surfxml_AS); pushbuffer(0);
5624 /* rule 108 can match eol */
5626 if (surfxml_AS_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_AS>");} surfxml_AS_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
5629 /* rule 109 can match eol */
5631 if (surfxml_AS_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_AS>");} surfxml_AS_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
5634 /* rule 110 can match eol */
5636 /* rule 111 can match eol */
5638 A_surfxml_AS_routing = A_surfxml_AS_routing_Full;
5641 /* rule 112 can match eol */
5643 /* rule 113 can match eol */
5645 A_surfxml_AS_routing = A_surfxml_AS_routing_Floyd;
5648 /* rule 114 can match eol */
5650 /* rule 115 can match eol */
5652 A_surfxml_AS_routing = A_surfxml_AS_routing_Dijkstra;
5655 /* rule 116 can match eol */
5657 /* rule 117 can match eol */
5659 A_surfxml_AS_routing = A_surfxml_AS_routing_DijkstraCache;
5662 /* rule 118 can match eol */
5664 /* rule 119 can match eol */
5666 A_surfxml_AS_routing = A_surfxml_AS_routing_None;
5669 /* rule 120 can match eol */
5671 /* rule 121 can match eol */
5673 A_surfxml_AS_routing = A_surfxml_AS_routing_RuleBased;
5676 /* rule 122 can match eol */
5678 /* rule 123 can match eol */
5680 A_surfxml_AS_routing = A_surfxml_AS_routing_Vivaldi;
5683 /* rule 124 can match eol */
5685 /* rule 125 can match eol */
5687 A_surfxml_AS_routing = A_surfxml_AS_routing_Cluster;
5692 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5693 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
5699 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5700 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
5702 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5703 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;
5704 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5710 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
5714 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
5716 case YY_STATE_EOF(AL_surfxml_AS):
5717 FAIL("EOF in attribute list of `AS' element.");
5721 /* rule 130 can match eol */
5726 popbuffer(); /* attribute */
5728 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5729 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;
5730 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5735 /* rule 131 can match eol */
5737 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
5741 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
5743 case YY_STATE_EOF(S_surfxml_AS_9):
5744 case YY_STATE_EOF(S_surfxml_AS_1):
5745 case YY_STATE_EOF(S_surfxml_AS_11):
5746 case YY_STATE_EOF(S_surfxml_AS_6):
5747 case YY_STATE_EOF(E_surfxml_AS):
5748 case YY_STATE_EOF(S_surfxml_AS_3):
5749 case YY_STATE_EOF(S_surfxml_AS_13):
5750 case YY_STATE_EOF(S_surfxml_AS_8):
5751 case YY_STATE_EOF(S_surfxml_AS):
5752 case YY_STATE_EOF(S_surfxml_AS_4):
5753 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</AS>' expected.");
5757 /* rule 133 can match eol */
5759 FAIL("Starting tag <storage_type> is not allowed here.");
5762 /* rule 134 can match eol */
5765 AX_surfxml_storage_type_id = 0;
5766 surfxml_storage_type_id_isset = 0;
5767 AX_surfxml_storage_type_model = 0;
5768 surfxml_storage_type_model_isset = 0;
5769 AX_surfxml_storage_type_size = 0;
5770 surfxml_storage_type_size_isset = 0;
5771 AX_surfxml_storage_type_content = 0;
5772 surfxml_storage_type_content_isset = 0;
5773 ENTER(AL_surfxml_storage_type); pushbuffer(0);
5778 /* rule 135 can match eol */
5780 if (surfxml_storage_type_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage_type>");} surfxml_storage_type_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_type_id);
5783 /* rule 136 can match eol */
5785 if (surfxml_storage_type_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage_type>");} surfxml_storage_type_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_type_id);
5788 /* rule 137 can match eol */
5790 if (surfxml_storage_type_model_isset != 0) {FAIL("Multiple definition of attribute model in <surfxml_storage_type>");} surfxml_storage_type_model_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_type_model);
5793 /* rule 138 can match eol */
5795 if (surfxml_storage_type_model_isset != 0) {FAIL("Multiple definition of attribute model in <surfxml_storage_type>");} surfxml_storage_type_model_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_type_model);
5798 /* rule 139 can match eol */
5800 if (surfxml_storage_type_size_isset != 0) {FAIL("Multiple definition of attribute size in <surfxml_storage_type>");} surfxml_storage_type_size_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_type_size);
5803 /* rule 140 can match eol */
5805 if (surfxml_storage_type_size_isset != 0) {FAIL("Multiple definition of attribute size in <surfxml_storage_type>");} surfxml_storage_type_size_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_type_size);
5808 /* rule 141 can match eol */
5810 if (surfxml_storage_type_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage_type>");} surfxml_storage_type_content_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_type_content);
5813 /* rule 142 can match eol */
5815 if (surfxml_storage_type_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage_type>");} surfxml_storage_type_content_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_type_content);
5820 if (!AX_surfxml_storage_type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
5821 if (!AX_surfxml_storage_type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
5822 if (!AX_surfxml_storage_type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
5823 LEAVE; STag_surfxml_storage_type();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage_type);
5829 if (!AX_surfxml_storage_type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
5830 if (!AX_surfxml_storage_type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
5831 if (!AX_surfxml_storage_type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
5832 LEAVE; STag_surfxml_storage_type(); surfxml_pcdata_ix = 0; ETag_surfxml_storage_type(); popbuffer(); /* attribute */
5834 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5835 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5841 FAIL("Unexpected character `%c' in attribute list of storage_type element.", surf_parse_text[0]);
5845 FAIL("Bad attribute `%s' in `storage_type' element start tag.",surf_parse_text);
5847 case YY_STATE_EOF(AL_surfxml_storage_type):
5848 FAIL("EOF in attribute list of `storage_type' element.");
5852 /* rule 147 can match eol */
5856 ETag_surfxml_storage_type();
5857 popbuffer(); /* attribute */
5859 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5860 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5865 /* rule 148 can match eol */
5867 FAIL("Unexpected end-tag `%s': `</storage_type>' expected.",surf_parse_text);
5871 FAIL("Unexpected character `%c': `</storage_type>' expected.",surf_parse_text[0]);
5873 case YY_STATE_EOF(E_surfxml_storage_type):
5874 case YY_STATE_EOF(S_surfxml_storage_type_2):
5875 case YY_STATE_EOF(S_surfxml_storage_type):
5876 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage_type>' expected.");
5880 /* rule 150 can match eol */
5882 FAIL("Starting tag <storage> is not allowed here.");
5885 /* rule 151 can match eol */
5888 AX_surfxml_storage_id = 0;
5889 surfxml_storage_id_isset = 0;
5890 AX_surfxml_storage_typeId = 0;
5891 surfxml_storage_typeId_isset = 0;
5892 AX_surfxml_storage_content = 0;
5893 surfxml_storage_content_isset = 0;
5894 ENTER(AL_surfxml_storage); pushbuffer(0);
5899 /* rule 152 can match eol */
5901 if (surfxml_storage_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage>");} surfxml_storage_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_id);
5904 /* rule 153 can match eol */
5906 if (surfxml_storage_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_storage>");} surfxml_storage_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_id);
5909 /* rule 154 can match eol */
5911 if (surfxml_storage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_storage>");} surfxml_storage_typeId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_typeId);
5914 /* rule 155 can match eol */
5916 if (surfxml_storage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_storage>");} surfxml_storage_typeId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_typeId);
5919 /* rule 156 can match eol */
5921 if (surfxml_storage_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage>");} surfxml_storage_content_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_storage_content);
5924 /* rule 157 can match eol */
5926 if (surfxml_storage_content_isset != 0) {FAIL("Multiple definition of attribute content in <surfxml_storage>");} surfxml_storage_content_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_storage_content);
5931 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5932 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
5933 LEAVE; STag_surfxml_storage();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage);
5939 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5940 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
5941 LEAVE; STag_surfxml_storage(); surfxml_pcdata_ix = 0; ETag_surfxml_storage(); popbuffer(); /* attribute */
5943 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5944 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5950 FAIL("Unexpected character `%c' in attribute list of storage element.", surf_parse_text[0]);
5954 FAIL("Bad attribute `%s' in `storage' element start tag.",surf_parse_text);
5956 case YY_STATE_EOF(AL_surfxml_storage):
5957 FAIL("EOF in attribute list of `storage' element.");
5961 /* rule 162 can match eol */
5965 ETag_surfxml_storage();
5966 popbuffer(); /* attribute */
5968 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5969 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5974 /* rule 163 can match eol */
5976 FAIL("Unexpected end-tag `%s': `</storage>' expected.",surf_parse_text);
5980 FAIL("Unexpected character `%c': `</storage>' expected.",surf_parse_text[0]);
5982 case YY_STATE_EOF(E_surfxml_storage):
5983 case YY_STATE_EOF(S_surfxml_storage):
5984 case YY_STATE_EOF(S_surfxml_storage_2):
5985 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage>' expected.");
5989 /* rule 165 can match eol */
5991 FAIL("Starting tag <mount> is not allowed here.");
5994 /* rule 166 can match eol */
5997 AX_surfxml_mount_id = 0;
5998 surfxml_mount_id_isset = 0;
5999 AX_surfxml_mount_name = 0;
6000 surfxml_mount_name_isset = 0;
6001 ENTER(AL_surfxml_mount); pushbuffer(0);
6006 /* rule 167 can match eol */
6008 if (surfxml_mount_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_mount>");} surfxml_mount_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mount_id);
6011 /* rule 168 can match eol */
6013 if (surfxml_mount_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_mount>");} surfxml_mount_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mount_id);
6016 /* rule 169 can match eol */
6018 if (surfxml_mount_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mount>");} surfxml_mount_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mount_name);
6021 /* rule 170 can match eol */
6023 if (surfxml_mount_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mount>");} surfxml_mount_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mount_name);
6028 if (!AX_surfxml_mount_id) FAIL("Required attribute `id' not set for `mount' element.");
6029 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
6030 LEAVE; STag_surfxml_mount();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mount);
6036 if (!AX_surfxml_mount_id) FAIL("Required attribute `id' not set for `mount' element.");
6037 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
6038 LEAVE; STag_surfxml_mount(); surfxml_pcdata_ix = 0; ETag_surfxml_mount(); popbuffer(); /* attribute */
6040 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6046 FAIL("Unexpected character `%c' in attribute list of mount element.", surf_parse_text[0]);
6050 FAIL("Bad attribute `%s' in `mount' element start tag.",surf_parse_text);
6052 case YY_STATE_EOF(AL_surfxml_mount):
6053 FAIL("EOF in attribute list of `mount' element.");
6057 /* rule 175 can match eol */
6061 ETag_surfxml_mount();
6062 popbuffer(); /* attribute */
6064 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6069 /* rule 176 can match eol */
6071 FAIL("Unexpected end-tag `%s': `</mount>' expected.",surf_parse_text);
6075 FAIL("Unexpected character `%c': `</mount>' expected.",surf_parse_text[0]);
6077 case YY_STATE_EOF(E_surfxml_mount):
6078 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mount>' expected.");
6082 /* rule 178 can match eol */
6084 FAIL("Starting tag <mstorage> is not allowed here.");
6087 /* rule 179 can match eol */
6090 AX_surfxml_mstorage_typeId = 0;
6091 surfxml_mstorage_typeId_isset = 0;
6092 AX_surfxml_mstorage_name = 0;
6093 surfxml_mstorage_name_isset = 0;
6094 ENTER(AL_surfxml_mstorage); pushbuffer(0);
6099 /* rule 180 can match eol */
6101 if (surfxml_mstorage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_mstorage>");} surfxml_mstorage_typeId_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mstorage_typeId);
6104 /* rule 181 can match eol */
6106 if (surfxml_mstorage_typeId_isset != 0) {FAIL("Multiple definition of attribute typeId in <surfxml_mstorage>");} surfxml_mstorage_typeId_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mstorage_typeId);
6109 /* rule 182 can match eol */
6111 if (surfxml_mstorage_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mstorage>");} surfxml_mstorage_name_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_mstorage_name);
6114 /* rule 183 can match eol */
6116 if (surfxml_mstorage_name_isset != 0) {FAIL("Multiple definition of attribute name in <surfxml_mstorage>");} surfxml_mstorage_name_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_mstorage_name);
6121 if (!AX_surfxml_mstorage_typeId) FAIL("Required attribute `typeId' not set for `mstorage' element.");
6122 if (!AX_surfxml_mstorage_name) FAIL("Required attribute `name' not set for `mstorage' element.");
6123 LEAVE; STag_surfxml_mstorage();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mstorage);
6129 if (!AX_surfxml_mstorage_typeId) FAIL("Required attribute `typeId' not set for `mstorage' element.");
6130 if (!AX_surfxml_mstorage_name) FAIL("Required attribute `name' not set for `mstorage' element.");
6131 LEAVE; STag_surfxml_mstorage(); surfxml_pcdata_ix = 0; ETag_surfxml_mstorage(); popbuffer(); /* attribute */
6133 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6139 FAIL("Unexpected character `%c' in attribute list of mstorage element.", surf_parse_text[0]);
6143 FAIL("Bad attribute `%s' in `mstorage' element start tag.",surf_parse_text);
6145 case YY_STATE_EOF(AL_surfxml_mstorage):
6146 FAIL("EOF in attribute list of `mstorage' element.");
6150 /* rule 188 can match eol */
6154 ETag_surfxml_mstorage();
6155 popbuffer(); /* attribute */
6157 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6162 /* rule 189 can match eol */
6164 FAIL("Unexpected end-tag `%s': `</mstorage>' expected.",surf_parse_text);
6168 FAIL("Unexpected character `%c': `</mstorage>' expected.",surf_parse_text[0]);
6170 case YY_STATE_EOF(E_surfxml_mstorage):
6171 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mstorage>' expected.");
6175 /* rule 191 can match eol */
6177 FAIL("Starting tag <host> is not allowed here.");
6180 /* rule 192 can match eol */
6183 AX_surfxml_host_id = 0;
6184 surfxml_host_id_isset = 0;
6185 AX_surfxml_host_power = 0;
6186 surfxml_host_power_isset = 0;
6187 AX_surfxml_host_core = 16;
6188 surfxml_host_core_isset = 0;
6189 AX_surfxml_host_availability = 18;
6190 surfxml_host_availability_isset = 0;
6191 AX_surfxml_host_availability_file = 0;
6192 surfxml_host_availability_file_isset = 0;
6193 AX_surfxml_host_state = A_surfxml_host_state_ON;
6194 surfxml_host_state_isset = 0;
6195 AX_surfxml_host_state_file = 0;
6196 surfxml_host_state_file_isset = 0;
6197 AX_surfxml_host_coordinates = 0;
6198 surfxml_host_coordinates_isset = 0;
6199 ENTER(AL_surfxml_host); pushbuffer(0);
6204 /* rule 193 can match eol */
6206 if (surfxml_host_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_host>");} surfxml_host_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
6209 /* rule 194 can match eol */
6211 if (surfxml_host_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_host>");} surfxml_host_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
6214 /* rule 195 can match eol */
6216 if (surfxml_host_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_host>");} surfxml_host_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
6219 /* rule 196 can match eol */
6221 if (surfxml_host_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_host>");} surfxml_host_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
6224 /* rule 197 can match eol */
6226 if (surfxml_host_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_host>");} surfxml_host_core_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
6229 /* rule 198 can match eol */
6231 if (surfxml_host_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_host>");} surfxml_host_core_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
6234 /* rule 199 can match eol */
6236 if (surfxml_host_availability_isset != 0) {FAIL("Multiple definition of attribute availability in <surfxml_host>");} surfxml_host_availability_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
6239 /* rule 200 can match eol */
6241 if (surfxml_host_availability_isset != 0) {FAIL("Multiple definition of attribute availability in <surfxml_host>");} surfxml_host_availability_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
6244 /* rule 201 can match eol */
6246 if (surfxml_host_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_host>");} surfxml_host_availability_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
6249 /* rule 202 can match eol */
6251 if (surfxml_host_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_host>");} surfxml_host_availability_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
6254 /* rule 203 can match eol */
6256 /* rule 204 can match eol */
6258 A_surfxml_host_state = A_surfxml_host_state_ON;
6261 /* rule 205 can match eol */
6263 /* rule 206 can match eol */
6265 A_surfxml_host_state = A_surfxml_host_state_OFF;
6268 /* rule 207 can match eol */
6270 if (surfxml_host_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_host>");} surfxml_host_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
6273 /* rule 208 can match eol */
6275 if (surfxml_host_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_host>");} surfxml_host_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
6278 /* rule 209 can match eol */
6280 if (surfxml_host_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_host>");} surfxml_host_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
6283 /* rule 210 can match eol */
6285 if (surfxml_host_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_host>");} surfxml_host_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
6290 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
6291 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
6292 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
6298 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
6299 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
6300 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
6302 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6308 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
6312 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
6314 case YY_STATE_EOF(AL_surfxml_host):
6315 FAIL("EOF in attribute list of `host' element.");
6319 /* rule 215 can match eol */
6323 ETag_surfxml_host();
6324 popbuffer(); /* attribute */
6326 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6331 /* rule 216 can match eol */
6333 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
6337 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
6339 case YY_STATE_EOF(S_surfxml_host):
6340 case YY_STATE_EOF(E_surfxml_host):
6341 case YY_STATE_EOF(S_surfxml_host_2):
6342 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host>' expected.");
6346 /* rule 218 can match eol */
6348 FAIL("Starting tag <cluster> is not allowed here.");
6351 /* rule 219 can match eol */
6354 AX_surfxml_cluster_id = 0;
6355 surfxml_cluster_id_isset = 0;
6356 AX_surfxml_cluster_prefix = 0;
6357 surfxml_cluster_prefix_isset = 0;
6358 AX_surfxml_cluster_suffix = 0;
6359 surfxml_cluster_suffix_isset = 0;
6360 AX_surfxml_cluster_radical = 0;
6361 surfxml_cluster_radical_isset = 0;
6362 AX_surfxml_cluster_power = 0;
6363 surfxml_cluster_power_isset = 0;
6364 AX_surfxml_cluster_core = 22;
6365 surfxml_cluster_core_isset = 0;
6366 AX_surfxml_cluster_bw = 0;
6367 surfxml_cluster_bw_isset = 0;
6368 AX_surfxml_cluster_lat = 0;
6369 surfxml_cluster_lat_isset = 0;
6370 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
6371 surfxml_cluster_sharing_policy_isset = 0;
6372 AX_surfxml_cluster_bb_bw = 0;
6373 surfxml_cluster_bb_bw_isset = 0;
6374 AX_surfxml_cluster_bb_lat = 0;
6375 surfxml_cluster_bb_lat_isset = 0;
6376 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
6377 surfxml_cluster_bb_sharing_policy_isset = 0;
6378 AX_surfxml_cluster_availability_file = 0;
6379 surfxml_cluster_availability_file_isset = 0;
6380 AX_surfxml_cluster_state_file = 0;
6381 surfxml_cluster_state_file_isset = 0;
6382 AX_surfxml_cluster_router_id = 0;
6383 surfxml_cluster_router_id_isset = 0;
6384 ENTER(AL_surfxml_cluster); pushbuffer(0);
6389 /* rule 220 can match eol */
6391 if (surfxml_cluster_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_cluster>");} surfxml_cluster_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
6394 /* rule 221 can match eol */
6396 if (surfxml_cluster_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_cluster>");} surfxml_cluster_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
6399 /* rule 222 can match eol */
6401 if (surfxml_cluster_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <surfxml_cluster>");} surfxml_cluster_prefix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
6404 /* rule 223 can match eol */
6406 if (surfxml_cluster_prefix_isset != 0) {FAIL("Multiple definition of attribute prefix in <surfxml_cluster>");} surfxml_cluster_prefix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
6409 /* rule 224 can match eol */
6411 if (surfxml_cluster_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <surfxml_cluster>");} surfxml_cluster_suffix_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
6414 /* rule 225 can match eol */
6416 if (surfxml_cluster_suffix_isset != 0) {FAIL("Multiple definition of attribute suffix in <surfxml_cluster>");} surfxml_cluster_suffix_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
6419 /* rule 226 can match eol */
6421 if (surfxml_cluster_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_cluster>");} surfxml_cluster_radical_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
6424 /* rule 227 can match eol */
6426 if (surfxml_cluster_radical_isset != 0) {FAIL("Multiple definition of attribute radical in <surfxml_cluster>");} surfxml_cluster_radical_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
6429 /* rule 228 can match eol */
6431 if (surfxml_cluster_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_cluster>");} surfxml_cluster_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
6434 /* rule 229 can match eol */
6436 if (surfxml_cluster_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_cluster>");} surfxml_cluster_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
6439 /* rule 230 can match eol */
6441 if (surfxml_cluster_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_cluster>");} surfxml_cluster_core_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
6444 /* rule 231 can match eol */
6446 if (surfxml_cluster_core_isset != 0) {FAIL("Multiple definition of attribute core in <surfxml_cluster>");} surfxml_cluster_core_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
6449 /* rule 232 can match eol */
6451 if (surfxml_cluster_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <surfxml_cluster>");} surfxml_cluster_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
6454 /* rule 233 can match eol */
6456 if (surfxml_cluster_bw_isset != 0) {FAIL("Multiple definition of attribute bw in <surfxml_cluster>");} surfxml_cluster_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
6459 /* rule 234 can match eol */
6461 if (surfxml_cluster_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_cluster>");} surfxml_cluster_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
6464 /* rule 235 can match eol */
6466 if (surfxml_cluster_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_cluster>");} surfxml_cluster_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
6469 /* rule 236 can match eol */
6471 /* rule 237 can match eol */
6473 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
6476 /* rule 238 can match eol */
6478 /* rule 239 can match eol */
6480 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
6483 /* rule 240 can match eol */
6485 /* rule 241 can match eol */
6487 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
6490 /* rule 242 can match eol */
6492 if (surfxml_cluster_bb_bw_isset != 0) {FAIL("Multiple definition of attribute bb_bw in <surfxml_cluster>");} surfxml_cluster_bb_bw_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
6495 /* rule 243 can match eol */
6497 if (surfxml_cluster_bb_bw_isset != 0) {FAIL("Multiple definition of attribute bb_bw in <surfxml_cluster>");} surfxml_cluster_bb_bw_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
6500 /* rule 244 can match eol */
6502 if (surfxml_cluster_bb_lat_isset != 0) {FAIL("Multiple definition of attribute bb_lat in <surfxml_cluster>");} surfxml_cluster_bb_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
6505 /* rule 245 can match eol */
6507 if (surfxml_cluster_bb_lat_isset != 0) {FAIL("Multiple definition of attribute bb_lat in <surfxml_cluster>");} surfxml_cluster_bb_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
6510 /* rule 246 can match eol */
6512 /* rule 247 can match eol */
6514 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
6517 /* rule 248 can match eol */
6519 /* rule 249 can match eol */
6521 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
6524 /* rule 250 can match eol */
6526 if (surfxml_cluster_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_cluster>");} surfxml_cluster_availability_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability_file);
6529 /* rule 251 can match eol */
6531 if (surfxml_cluster_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_cluster>");} surfxml_cluster_availability_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability_file);
6534 /* rule 252 can match eol */
6536 if (surfxml_cluster_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_cluster>");} surfxml_cluster_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state_file);
6539 /* rule 253 can match eol */
6541 if (surfxml_cluster_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_cluster>");} surfxml_cluster_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state_file);
6544 /* rule 254 can match eol */
6546 if (surfxml_cluster_router_id_isset != 0) {FAIL("Multiple definition of attribute router_id in <surfxml_cluster>");} surfxml_cluster_router_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_router_id);
6549 /* rule 255 can match eol */
6551 if (surfxml_cluster_router_id_isset != 0) {FAIL("Multiple definition of attribute router_id in <surfxml_cluster>");} surfxml_cluster_router_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_router_id);
6556 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6557 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6558 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6559 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6560 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
6561 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6562 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6563 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
6569 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6570 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6571 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6572 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6573 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
6574 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6575 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6576 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
6578 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6579 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;
6580 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6586 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
6590 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
6592 case YY_STATE_EOF(AL_surfxml_cluster):
6593 FAIL("EOF in attribute list of `cluster' element.");
6597 /* rule 260 can match eol */
6601 ETag_surfxml_cluster();
6602 popbuffer(); /* attribute */
6604 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6605 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;
6606 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6611 /* rule 261 can match eol */
6613 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
6617 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
6619 case YY_STATE_EOF(E_surfxml_cluster):
6620 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cluster>' expected.");
6624 /* rule 263 can match eol */
6626 FAIL("Starting tag <peer> is not allowed here.");
6629 /* rule 264 can match eol */
6632 AX_surfxml_peer_id = 0;
6633 surfxml_peer_id_isset = 0;
6634 AX_surfxml_peer_power = 0;
6635 surfxml_peer_power_isset = 0;
6636 AX_surfxml_peer_bw_in = 0;
6637 surfxml_peer_bw_in_isset = 0;
6638 AX_surfxml_peer_bw_out = 0;
6639 surfxml_peer_bw_out_isset = 0;
6640 AX_surfxml_peer_lat = 0;
6641 surfxml_peer_lat_isset = 0;
6642 AX_surfxml_peer_coordinates = 0;
6643 surfxml_peer_coordinates_isset = 0;
6644 AX_surfxml_peer_availability_file = 0;
6645 surfxml_peer_availability_file_isset = 0;
6646 AX_surfxml_peer_state_file = 0;
6647 surfxml_peer_state_file_isset = 0;
6648 ENTER(AL_surfxml_peer); pushbuffer(0);
6653 /* rule 265 can match eol */
6655 if (surfxml_peer_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_peer>");} surfxml_peer_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
6658 /* rule 266 can match eol */
6660 if (surfxml_peer_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_peer>");} surfxml_peer_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
6663 /* rule 267 can match eol */
6665 if (surfxml_peer_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_peer>");} surfxml_peer_power_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
6668 /* rule 268 can match eol */
6670 if (surfxml_peer_power_isset != 0) {FAIL("Multiple definition of attribute power in <surfxml_peer>");} surfxml_peer_power_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
6673 /* rule 269 can match eol */
6675 if (surfxml_peer_bw_in_isset != 0) {FAIL("Multiple definition of attribute bw_in in <surfxml_peer>");} surfxml_peer_bw_in_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
6678 /* rule 270 can match eol */
6680 if (surfxml_peer_bw_in_isset != 0) {FAIL("Multiple definition of attribute bw_in in <surfxml_peer>");} surfxml_peer_bw_in_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
6683 /* rule 271 can match eol */
6685 if (surfxml_peer_bw_out_isset != 0) {FAIL("Multiple definition of attribute bw_out in <surfxml_peer>");} surfxml_peer_bw_out_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
6688 /* rule 272 can match eol */
6690 if (surfxml_peer_bw_out_isset != 0) {FAIL("Multiple definition of attribute bw_out in <surfxml_peer>");} surfxml_peer_bw_out_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
6693 /* rule 273 can match eol */
6695 if (surfxml_peer_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_peer>");} surfxml_peer_lat_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
6698 /* rule 274 can match eol */
6700 if (surfxml_peer_lat_isset != 0) {FAIL("Multiple definition of attribute lat in <surfxml_peer>");} surfxml_peer_lat_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
6703 /* rule 275 can match eol */
6705 if (surfxml_peer_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_peer>");} surfxml_peer_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
6708 /* rule 276 can match eol */
6710 if (surfxml_peer_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_peer>");} surfxml_peer_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
6713 /* rule 277 can match eol */
6715 if (surfxml_peer_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_peer>");} surfxml_peer_availability_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability_file);
6718 /* rule 278 can match eol */
6720 if (surfxml_peer_availability_file_isset != 0) {FAIL("Multiple definition of attribute availability_file in <surfxml_peer>");} surfxml_peer_availability_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability_file);
6723 /* rule 279 can match eol */
6725 if (surfxml_peer_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_peer>");} surfxml_peer_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state_file);
6728 /* rule 280 can match eol */
6730 if (surfxml_peer_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_peer>");} surfxml_peer_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state_file);
6735 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
6736 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
6737 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
6738 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
6739 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
6740 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
6746 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
6747 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
6748 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
6749 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
6750 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
6751 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
6753 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6754 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;
6755 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6761 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
6765 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
6767 case YY_STATE_EOF(AL_surfxml_peer):
6768 FAIL("EOF in attribute list of `peer' element.");
6772 /* rule 285 can match eol */
6776 ETag_surfxml_peer();
6777 popbuffer(); /* attribute */
6779 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6780 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;
6781 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6786 /* rule 286 can match eol */
6788 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
6792 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
6794 case YY_STATE_EOF(E_surfxml_peer):
6795 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</peer>' expected.");
6799 /* rule 288 can match eol */
6801 FAIL("Starting tag <router> is not allowed here.");
6804 /* rule 289 can match eol */
6807 AX_surfxml_router_id = 0;
6808 surfxml_router_id_isset = 0;
6809 AX_surfxml_router_coordinates = 0;
6810 surfxml_router_coordinates_isset = 0;
6811 ENTER(AL_surfxml_router); pushbuffer(0);
6816 /* rule 290 can match eol */
6818 if (surfxml_router_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_router>");} surfxml_router_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
6821 /* rule 291 can match eol */
6823 if (surfxml_router_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_router>");} surfxml_router_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
6826 /* rule 292 can match eol */
6828 if (surfxml_router_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_router>");} surfxml_router_coordinates_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
6831 /* rule 293 can match eol */
6833 if (surfxml_router_coordinates_isset != 0) {FAIL("Multiple definition of attribute coordinates in <surfxml_router>");} surfxml_router_coordinates_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
6838 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
6839 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
6845 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
6846 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
6848 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6854 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
6858 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
6860 case YY_STATE_EOF(AL_surfxml_router):
6861 FAIL("EOF in attribute list of `router' element.");
6865 /* rule 298 can match eol */
6869 ETag_surfxml_router();
6870 popbuffer(); /* attribute */
6872 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6877 /* rule 299 can match eol */
6879 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
6883 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
6885 case YY_STATE_EOF(E_surfxml_router):
6886 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</router>' expected.");
6890 /* rule 301 can match eol */
6892 FAIL("Starting tag <link> is not allowed here.");
6895 /* rule 302 can match eol */
6898 AX_surfxml_link_id = 0;
6899 surfxml_link_id_isset = 0;
6900 AX_surfxml_link_bandwidth = 0;
6901 surfxml_link_bandwidth_isset = 0;
6902 AX_surfxml_link_bandwidth_file = 0;
6903 surfxml_link_bandwidth_file_isset = 0;
6904 AX_surfxml_link_latency = 24;
6905 surfxml_link_latency_isset = 0;
6906 AX_surfxml_link_latency_file = 0;
6907 surfxml_link_latency_file_isset = 0;
6908 AX_surfxml_link_state = A_surfxml_link_state_ON;
6909 surfxml_link_state_isset = 0;
6910 AX_surfxml_link_state_file = 0;
6911 surfxml_link_state_file_isset = 0;
6912 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
6913 surfxml_link_sharing_policy_isset = 0;
6914 ENTER(AL_surfxml_link); pushbuffer(0);
6919 /* rule 303 can match eol */
6921 if (surfxml_link_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link>");} surfxml_link_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
6924 /* rule 304 can match eol */
6926 if (surfxml_link_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link>");} surfxml_link_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
6929 /* rule 305 can match eol */
6931 if (surfxml_link_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <surfxml_link>");} surfxml_link_bandwidth_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
6934 /* rule 306 can match eol */
6936 if (surfxml_link_bandwidth_isset != 0) {FAIL("Multiple definition of attribute bandwidth in <surfxml_link>");} surfxml_link_bandwidth_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
6939 /* rule 307 can match eol */
6941 if (surfxml_link_bandwidth_file_isset != 0) {FAIL("Multiple definition of attribute bandwidth_file in <surfxml_link>");} surfxml_link_bandwidth_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
6944 /* rule 308 can match eol */
6946 if (surfxml_link_bandwidth_file_isset != 0) {FAIL("Multiple definition of attribute bandwidth_file in <surfxml_link>");} surfxml_link_bandwidth_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
6949 /* rule 309 can match eol */
6951 if (surfxml_link_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <surfxml_link>");} surfxml_link_latency_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
6954 /* rule 310 can match eol */
6956 if (surfxml_link_latency_isset != 0) {FAIL("Multiple definition of attribute latency in <surfxml_link>");} surfxml_link_latency_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
6959 /* rule 311 can match eol */
6961 if (surfxml_link_latency_file_isset != 0) {FAIL("Multiple definition of attribute latency_file in <surfxml_link>");} surfxml_link_latency_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
6964 /* rule 312 can match eol */
6966 if (surfxml_link_latency_file_isset != 0) {FAIL("Multiple definition of attribute latency_file in <surfxml_link>");} surfxml_link_latency_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
6969 /* rule 313 can match eol */
6971 /* rule 314 can match eol */
6973 A_surfxml_link_state = A_surfxml_link_state_ON;
6976 /* rule 315 can match eol */
6978 /* rule 316 can match eol */
6980 A_surfxml_link_state = A_surfxml_link_state_OFF;
6983 /* rule 317 can match eol */
6985 if (surfxml_link_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_link>");} surfxml_link_state_file_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
6988 /* rule 318 can match eol */
6990 if (surfxml_link_state_file_isset != 0) {FAIL("Multiple definition of attribute state_file in <surfxml_link>");} surfxml_link_state_file_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
6993 /* rule 319 can match eol */
6995 /* rule 320 can match eol */
6997 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
7000 /* rule 321 can match eol */
7002 /* rule 322 can match eol */
7004 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
7007 /* rule 323 can match eol */
7009 /* rule 324 can match eol */
7011 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
7016 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
7017 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
7018 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
7024 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
7025 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
7026 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
7028 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
7029 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
7035 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
7039 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
7041 case YY_STATE_EOF(AL_surfxml_link):
7042 FAIL("EOF in attribute list of `link' element.");
7046 /* rule 329 can match eol */
7050 ETag_surfxml_link();
7051 popbuffer(); /* attribute */
7053 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
7054 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
7059 /* rule 330 can match eol */
7061 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
7065 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
7067 case YY_STATE_EOF(E_surfxml_link):
7068 case YY_STATE_EOF(S_surfxml_link_2):
7069 case YY_STATE_EOF(S_surfxml_link):
7070 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link>' expected.");
7074 /* rule 332 can match eol */
7076 FAIL("Starting tag <route> is not allowed here.");
7079 /* rule 333 can match eol */
7082 AX_surfxml_route_src = 0;
7083 surfxml_route_src_isset = 0;
7084 AX_surfxml_route_dst = 0;
7085 surfxml_route_dst_isset = 0;
7086 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
7087 surfxml_route_symmetrical_isset = 0;
7088 ENTER(AL_surfxml_route); pushbuffer(0);
7093 /* rule 334 can match eol */
7095 if (surfxml_route_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_route>");} surfxml_route_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
7098 /* rule 335 can match eol */
7100 if (surfxml_route_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_route>");} surfxml_route_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
7103 /* rule 336 can match eol */
7105 if (surfxml_route_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_route>");} surfxml_route_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
7108 /* rule 337 can match eol */
7110 if (surfxml_route_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_route>");} surfxml_route_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
7113 /* rule 338 can match eol */
7115 /* rule 339 can match eol */
7117 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
7120 /* rule 340 can match eol */
7122 /* rule 341 can match eol */
7124 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
7129 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
7130 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
7131 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
7137 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
7138 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
7139 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
7141 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;
7147 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
7151 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
7153 case YY_STATE_EOF(AL_surfxml_route):
7154 FAIL("EOF in attribute list of `route' element.");
7158 /* rule 346 can match eol */
7162 ETag_surfxml_route();
7163 popbuffer(); /* attribute */
7165 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;
7170 /* rule 347 can match eol */
7172 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
7176 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
7178 case YY_STATE_EOF(S_surfxml_route):
7179 case YY_STATE_EOF(S_surfxml_route_2):
7180 case YY_STATE_EOF(E_surfxml_route):
7181 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</route>' expected.");
7185 /* rule 349 can match eol */
7187 FAIL("Starting tag <ASroute> is not allowed here.");
7190 /* rule 350 can match eol */
7193 AX_surfxml_ASroute_src = 0;
7194 surfxml_ASroute_src_isset = 0;
7195 AX_surfxml_ASroute_dst = 0;
7196 surfxml_ASroute_dst_isset = 0;
7197 AX_surfxml_ASroute_gw_src = 0;
7198 surfxml_ASroute_gw_src_isset = 0;
7199 AX_surfxml_ASroute_gw_dst = 0;
7200 surfxml_ASroute_gw_dst_isset = 0;
7201 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
7202 surfxml_ASroute_symmetrical_isset = 0;
7203 ENTER(AL_surfxml_ASroute); pushbuffer(0);
7208 /* rule 351 can match eol */
7210 if (surfxml_ASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_ASroute>");} surfxml_ASroute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
7213 /* rule 352 can match eol */
7215 if (surfxml_ASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_ASroute>");} surfxml_ASroute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
7218 /* rule 353 can match eol */
7220 if (surfxml_ASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_ASroute>");} surfxml_ASroute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
7223 /* rule 354 can match eol */
7225 if (surfxml_ASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_ASroute>");} surfxml_ASroute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
7228 /* rule 355 can match eol */
7230 if (surfxml_ASroute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_ASroute>");} surfxml_ASroute_gw_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
7233 /* rule 356 can match eol */
7235 if (surfxml_ASroute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_ASroute>");} surfxml_ASroute_gw_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
7238 /* rule 357 can match eol */
7240 if (surfxml_ASroute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_ASroute>");} surfxml_ASroute_gw_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
7243 /* rule 358 can match eol */
7245 if (surfxml_ASroute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_ASroute>");} surfxml_ASroute_gw_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
7248 /* rule 359 can match eol */
7250 /* rule 360 can match eol */
7252 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
7255 /* rule 361 can match eol */
7257 /* rule 362 can match eol */
7259 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
7264 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
7265 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
7266 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
7267 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
7268 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
7274 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
7275 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
7276 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
7277 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
7278 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
7280 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;
7286 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
7290 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
7292 case YY_STATE_EOF(AL_surfxml_ASroute):
7293 FAIL("EOF in attribute list of `ASroute' element.");
7297 /* rule 367 can match eol */
7301 ETag_surfxml_ASroute();
7302 popbuffer(); /* attribute */
7304 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;
7309 /* rule 368 can match eol */
7311 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
7315 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
7317 case YY_STATE_EOF(E_surfxml_ASroute):
7318 case YY_STATE_EOF(S_surfxml_ASroute):
7319 case YY_STATE_EOF(S_surfxml_ASroute_2):
7320 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</ASroute>' expected.");
7324 /* rule 370 can match eol */
7326 FAIL("Starting tag <link_ctn> is not allowed here.");
7329 /* rule 371 can match eol */
7332 AX_surfxml_link_ctn_id = 0;
7333 surfxml_link_ctn_id_isset = 0;
7334 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
7335 surfxml_link_ctn_direction_isset = 0;
7336 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
7341 /* rule 372 can match eol */
7343 if (surfxml_link_ctn_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link_ctn>");} surfxml_link_ctn_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
7346 /* rule 373 can match eol */
7348 if (surfxml_link_ctn_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_link_ctn>");} surfxml_link_ctn_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
7351 /* rule 374 can match eol */
7353 /* rule 375 can match eol */
7355 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
7358 /* rule 376 can match eol */
7360 /* rule 377 can match eol */
7362 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
7365 /* rule 378 can match eol */
7367 /* rule 379 can match eol */
7369 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
7374 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7375 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
7381 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7382 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
7384 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
7385 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7386 case S_surfxml_bypassASroute_2: case S_surfxml_bypassASroute_1: case S_surfxml_bypassASroute: SET(S_surfxml_bypassASroute_2); break;
7387 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7393 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
7397 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
7399 case YY_STATE_EOF(AL_surfxml_link_ctn):
7400 FAIL("EOF in attribute list of `link_ctn' element.");
7404 /* rule 384 can match eol */
7408 ETag_surfxml_link_ctn();
7409 popbuffer(); /* attribute */
7411 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
7412 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7413 case S_surfxml_bypassASroute_2: case S_surfxml_bypassASroute_1: case S_surfxml_bypassASroute: SET(S_surfxml_bypassASroute_2); break;
7414 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7419 /* rule 385 can match eol */
7421 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
7425 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
7427 case YY_STATE_EOF(E_surfxml_link_ctn):
7428 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link_ctn>' expected.");
7432 /* rule 387 can match eol */
7434 FAIL("Starting tag <bypassRoute> is not allowed here.");
7437 /* rule 388 can match eol */
7440 AX_surfxml_bypassRoute_src = 0;
7441 surfxml_bypassRoute_src_isset = 0;
7442 AX_surfxml_bypassRoute_dst = 0;
7443 surfxml_bypassRoute_dst_isset = 0;
7444 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
7449 /* rule 389 can match eol */
7451 if (surfxml_bypassRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassRoute>");} surfxml_bypassRoute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
7454 /* rule 390 can match eol */
7456 if (surfxml_bypassRoute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassRoute>");} surfxml_bypassRoute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
7459 /* rule 391 can match eol */
7461 if (surfxml_bypassRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
7464 /* rule 392 can match eol */
7466 if (surfxml_bypassRoute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassRoute>");} surfxml_bypassRoute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
7471 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7472 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7473 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
7479 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7480 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7481 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
7483 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;
7489 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
7493 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
7495 case YY_STATE_EOF(AL_surfxml_bypassRoute):
7496 FAIL("EOF in attribute list of `bypassRoute' element.");
7500 /* rule 397 can match eol */
7504 ETag_surfxml_bypassRoute();
7505 popbuffer(); /* attribute */
7507 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;
7512 /* rule 398 can match eol */
7514 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
7518 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
7520 case YY_STATE_EOF(S_surfxml_bypassRoute):
7521 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
7522 case YY_STATE_EOF(E_surfxml_bypassRoute):
7523 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassRoute>' expected.");
7527 /* rule 400 can match eol */
7529 FAIL("Starting tag <bypassASroute> is not allowed here.");
7532 /* rule 401 can match eol */
7535 AX_surfxml_bypassASroute_src = 0;
7536 surfxml_bypassASroute_src_isset = 0;
7537 AX_surfxml_bypassASroute_dst = 0;
7538 surfxml_bypassASroute_dst_isset = 0;
7539 AX_surfxml_bypassASroute_gw_src = 0;
7540 surfxml_bypassASroute_gw_src_isset = 0;
7541 AX_surfxml_bypassASroute_gw_dst = 0;
7542 surfxml_bypassASroute_gw_dst_isset = 0;
7543 ENTER(AL_surfxml_bypassASroute); pushbuffer(0);
7548 /* rule 402 can match eol */
7550 if (surfxml_bypassASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassASroute>");} surfxml_bypassASroute_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_src);
7553 /* rule 403 can match eol */
7555 if (surfxml_bypassASroute_src_isset != 0) {FAIL("Multiple definition of attribute src in <surfxml_bypassASroute>");} surfxml_bypassASroute_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_src);
7558 /* rule 404 can match eol */
7560 if (surfxml_bypassASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_dst);
7563 /* rule 405 can match eol */
7565 if (surfxml_bypassASroute_dst_isset != 0) {FAIL("Multiple definition of attribute dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_dst);
7568 /* rule 406 can match eol */
7570 if (surfxml_bypassASroute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw_src_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_gw_src);
7573 /* rule 407 can match eol */
7575 if (surfxml_bypassASroute_gw_src_isset != 0) {FAIL("Multiple definition of attribute gw_src in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw_src_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_gw_src);
7578 /* rule 408 can match eol */
7580 if (surfxml_bypassASroute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw_dst_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassASroute_gw_dst);
7583 /* rule 409 can match eol */
7585 if (surfxml_bypassASroute_gw_dst_isset != 0) {FAIL("Multiple definition of attribute gw_dst in <surfxml_bypassASroute>");} surfxml_bypassASroute_gw_dst_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassASroute_gw_dst);
7590 if (!AX_surfxml_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
7591 if (!AX_surfxml_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
7592 if (!AX_surfxml_bypassASroute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
7593 if (!AX_surfxml_bypassASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
7594 LEAVE; STag_surfxml_bypassASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassASroute);
7600 if (!AX_surfxml_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
7601 if (!AX_surfxml_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
7602 if (!AX_surfxml_bypassASroute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
7603 if (!AX_surfxml_bypassASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
7604 LEAVE; STag_surfxml_bypassASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassASroute(); popbuffer(); /* attribute */
7606 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;
7612 FAIL("Unexpected character `%c' in attribute list of bypassASroute element.", surf_parse_text[0]);
7616 FAIL("Bad attribute `%s' in `bypassASroute' element start tag.",surf_parse_text);
7618 case YY_STATE_EOF(AL_surfxml_bypassASroute):
7619 FAIL("EOF in attribute list of `bypassASroute' element.");
7623 /* rule 414 can match eol */
7627 ETag_surfxml_bypassASroute();
7628 popbuffer(); /* attribute */
7630 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;
7635 /* rule 415 can match eol */
7637 FAIL("Unexpected end-tag `%s': `</bypassASroute>' expected.",surf_parse_text);
7641 FAIL("Unexpected character `%c': `</bypassASroute>' expected.",surf_parse_text[0]);
7643 case YY_STATE_EOF(S_surfxml_bypassASroute_2):
7644 case YY_STATE_EOF(E_surfxml_bypassASroute):
7645 case YY_STATE_EOF(S_surfxml_bypassASroute):
7646 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassASroute>' expected.");
7650 /* rule 417 can match eol */
7652 FAIL("Starting tag <process> is not allowed here.");
7655 /* rule 418 can match eol */
7658 AX_surfxml_process_host = 0;
7659 surfxml_process_host_isset = 0;
7660 AX_surfxml_process_function = 0;
7661 surfxml_process_function_isset = 0;
7662 AX_surfxml_process_start_time = 28;
7663 surfxml_process_start_time_isset = 0;
7664 AX_surfxml_process_kill_time = 33;
7665 surfxml_process_kill_time_isset = 0;
7666 AX_surfxml_process_on_failure = A_surfxml_process_on_failure_DIE;
7667 surfxml_process_on_failure_isset = 0;
7668 ENTER(AL_surfxml_process); pushbuffer(0);
7673 /* rule 419 can match eol */
7675 if (surfxml_process_host_isset != 0) {FAIL("Multiple definition of attribute host in <surfxml_process>");} surfxml_process_host_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
7678 /* rule 420 can match eol */
7680 if (surfxml_process_host_isset != 0) {FAIL("Multiple definition of attribute host in <surfxml_process>");} surfxml_process_host_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
7683 /* rule 421 can match eol */
7685 if (surfxml_process_function_isset != 0) {FAIL("Multiple definition of attribute function in <surfxml_process>");} surfxml_process_function_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
7688 /* rule 422 can match eol */
7690 if (surfxml_process_function_isset != 0) {FAIL("Multiple definition of attribute function in <surfxml_process>");} surfxml_process_function_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
7693 /* rule 423 can match eol */
7695 if (surfxml_process_start_time_isset != 0) {FAIL("Multiple definition of attribute start_time in <surfxml_process>");} surfxml_process_start_time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
7698 /* rule 424 can match eol */
7700 if (surfxml_process_start_time_isset != 0) {FAIL("Multiple definition of attribute start_time in <surfxml_process>");} surfxml_process_start_time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
7703 /* rule 425 can match eol */
7705 if (surfxml_process_kill_time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <surfxml_process>");} surfxml_process_kill_time_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
7708 /* rule 426 can match eol */
7710 if (surfxml_process_kill_time_isset != 0) {FAIL("Multiple definition of attribute kill_time in <surfxml_process>");} surfxml_process_kill_time_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
7713 /* rule 427 can match eol */
7715 /* rule 428 can match eol */
7717 A_surfxml_process_on_failure = A_surfxml_process_on_failure_DIE;
7720 /* rule 429 can match eol */
7722 /* rule 430 can match eol */
7724 A_surfxml_process_on_failure = A_surfxml_process_on_failure_RESTART;
7729 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
7730 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
7731 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
7737 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
7738 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
7739 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
7741 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;
7747 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
7751 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
7753 case YY_STATE_EOF(AL_surfxml_process):
7754 FAIL("EOF in attribute list of `process' element.");
7758 /* rule 435 can match eol */
7762 ETag_surfxml_process();
7763 popbuffer(); /* attribute */
7765 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;
7770 /* rule 436 can match eol */
7772 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
7776 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
7778 case YY_STATE_EOF(E_surfxml_process):
7779 case YY_STATE_EOF(S_surfxml_process):
7780 case YY_STATE_EOF(S_surfxml_process_2):
7781 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</process>' expected.");
7785 /* rule 438 can match eol */
7787 FAIL("Starting tag <argument> is not allowed here.");
7790 /* rule 439 can match eol */
7793 AX_surfxml_argument_value = 0;
7794 surfxml_argument_value_isset = 0;
7795 ENTER(AL_surfxml_argument); pushbuffer(0);
7800 /* rule 440 can match eol */
7802 if (surfxml_argument_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_argument>");} surfxml_argument_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
7805 /* rule 441 can match eol */
7807 if (surfxml_argument_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_argument>");} surfxml_argument_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
7812 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7813 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
7819 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7820 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
7822 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7828 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
7832 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
7834 case YY_STATE_EOF(AL_surfxml_argument):
7835 FAIL("EOF in attribute list of `argument' element.");
7839 /* rule 446 can match eol */
7843 ETag_surfxml_argument();
7844 popbuffer(); /* attribute */
7846 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7851 /* rule 447 can match eol */
7853 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
7857 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
7859 case YY_STATE_EOF(E_surfxml_argument):
7860 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</argument>' expected.");
7864 /* rule 449 can match eol */
7866 FAIL("Starting tag <config> is not allowed here.");
7869 /* rule 450 can match eol */
7872 AX_surfxml_config_id = 0;
7873 surfxml_config_id_isset = 0;
7874 ENTER(AL_surfxml_config); pushbuffer(0);
7879 /* rule 451 can match eol */
7881 if (surfxml_config_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_config>");} surfxml_config_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
7884 /* rule 452 can match eol */
7886 if (surfxml_config_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_config>");} surfxml_config_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
7891 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
7897 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
7899 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
7905 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
7909 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
7911 case YY_STATE_EOF(AL_surfxml_config):
7912 FAIL("EOF in attribute list of `config' element.");
7916 /* rule 457 can match eol */
7920 ETag_surfxml_config();
7921 popbuffer(); /* attribute */
7923 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
7928 /* rule 458 can match eol */
7930 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
7934 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
7936 case YY_STATE_EOF(S_surfxml_config):
7937 case YY_STATE_EOF(S_surfxml_config_2):
7938 case YY_STATE_EOF(E_surfxml_config):
7939 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</config>' expected.");
7942 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
7943 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
7945 /* rule 460 can match eol */
7947 FAIL("Starting tag <prop> is not allowed here.");
7950 /* rule 461 can match eol */
7953 AX_surfxml_prop_id = 0;
7954 surfxml_prop_id_isset = 0;
7955 AX_surfxml_prop_value = 0;
7956 surfxml_prop_value_isset = 0;
7957 ENTER(AL_surfxml_prop); pushbuffer(0);
7962 /* rule 462 can match eol */
7964 if (surfxml_prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_prop>");} surfxml_prop_id_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
7967 /* rule 463 can match eol */
7969 if (surfxml_prop_id_isset != 0) {FAIL("Multiple definition of attribute id in <surfxml_prop>");} surfxml_prop_id_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
7972 /* rule 464 can match eol */
7974 if (surfxml_prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_prop>");} surfxml_prop_value_isset = 1; ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
7977 /* rule 465 can match eol */
7979 if (surfxml_prop_value_isset != 0) {FAIL("Multiple definition of attribute value in <surfxml_prop>");} surfxml_prop_value_isset = 1; ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
7984 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
7985 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
7986 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
7992 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
7993 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
7994 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
7996 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
7997 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
7998 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
7999 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
8000 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
8001 case S_surfxml_storage_type_2: case S_surfxml_storage_type: case S_surfxml_storage_type_1: SET(S_surfxml_storage_type_2); break;
8002 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
8008 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
8012 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
8014 case YY_STATE_EOF(AL_surfxml_prop):
8015 FAIL("EOF in attribute list of `prop' element.");
8019 /* rule 470 can match eol */
8023 ETag_surfxml_prop();
8024 popbuffer(); /* attribute */
8026 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
8027 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
8028 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
8029 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
8030 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
8031 case S_surfxml_storage_type_2: case S_surfxml_storage_type: case S_surfxml_storage_type_1: SET(S_surfxml_storage_type_2); break;
8032 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
8037 /* rule 471 can match eol */
8039 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
8043 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
8045 case YY_STATE_EOF(E_surfxml_prop):
8046 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</prop>' expected.");
8049 /* EPILOG: after the root element. */
8053 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
8055 case YY_STATE_EOF(EPILOG):
8059 /* CHARACTER DATA. */
8061 /* Non-defined standard entities... */
8082 /* Character entities. */
8085 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
8089 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
8093 /* rule 481 can match eol */
8095 /* rule 482 can match eol */
8097 /* rule 483 can match eol */
8099 /* rule 484 can match eol */
8110 FAIL("Unexpected `]""]>' in character data.");
8117 case YY_STATE_EOF(VALUE1):
8118 FAIL("EOF in literal (\"'\" expected).");
8125 case YY_STATE_EOF(VALUE2):
8126 FAIL("EOF in literal (`\"' expected).");
8130 /* rule 489 can match eol */
8132 BUFFERPUTC(surf_parse_text[0]);
8136 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
8143 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
8146 BUFFERPUTC(surf_parse_text[0]);
8148 case YY_STATE_EOF(CDATA):
8149 FAIL("EOF in CDATA section.");
8152 /* Impossible rules to avoid warnings from flex(1). */
8153 /* Ideally, this should be replaced by code in flexml.pl that
8154 generates just the states not covered by other rules. */
8157 /* rule 493 can match eol */
8159 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
8166 case YY_STATE_EOF(INITIAL):
8167 case YY_STATE_EOF(ROOT_surfxml_platform):
8168 case YY_STATE_EOF(S_surfxml_platform_2):
8169 case YY_STATE_EOF(S_surfxml_platform_5):
8170 case YY_STATE_EOF(S_surfxml_platform_7):
8171 case YY_STATE_EOF(S_surfxml_include_1):
8172 case YY_STATE_EOF(S_surfxml_random_1):
8173 case YY_STATE_EOF(S_surfxml_AS_2):
8174 case YY_STATE_EOF(S_surfxml_AS_5):
8175 case YY_STATE_EOF(S_surfxml_AS_7):
8176 case YY_STATE_EOF(S_surfxml_AS_10):
8177 case YY_STATE_EOF(S_surfxml_AS_12):
8178 case YY_STATE_EOF(S_surfxml_storage_type_1):
8179 case YY_STATE_EOF(S_surfxml_storage_1):
8180 case YY_STATE_EOF(S_surfxml_host_1):
8181 case YY_STATE_EOF(S_surfxml_link_1):
8182 case YY_STATE_EOF(S_surfxml_route_1):
8183 case YY_STATE_EOF(S_surfxml_ASroute_1):
8184 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
8185 case YY_STATE_EOF(S_surfxml_bypassASroute_1):
8186 case YY_STATE_EOF(S_surfxml_process_1):
8187 case YY_STATE_EOF(S_surfxml_config_1):
8188 case YY_STATE_EOF(IMPOSSIBLE):
8191 case YY_END_OF_BUFFER:
8193 /* Amount of text matched not including the EOB char. */
8194 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
8196 /* Undo the effects of YY_DO_BEFORE_ACTION. */
8197 *yy_cp = (yy_hold_char);
8198 YY_RESTORE_YY_MORE_OFFSET
8200 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
8202 /* We're scanning a new file or input source. It's
8203 * possible that this happened because the user
8204 * just pointed surf_parse_in at a new source and called
8205 * surf_parse_lex(). If so, then we have to assure
8206 * consistency between YY_CURRENT_BUFFER and our
8207 * globals. Here is the right place to do so, because
8208 * this is the first action (other than possibly a
8209 * back-up) that will match for the new input source.
8211 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
8212 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
8213 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
8216 /* Note that here we test for yy_c_buf_p "<=" to the position
8217 * of the first EOB in the buffer, since yy_c_buf_p will
8218 * already have been incremented past the NUL character
8219 * (since all states make transitions on EOB to the
8220 * end-of-buffer state). Contrast this with the test
8223 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
8224 { /* This was really a NUL. */
8225 yy_state_type yy_next_state;
8227 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
8229 yy_current_state = yy_get_previous_state( );
8231 /* Okay, we're now positioned to make the NUL
8232 * transition. We couldn't have
8233 * yy_get_previous_state() go ahead and do it
8234 * for us because it doesn't know how to deal
8235 * with the possibility of jamming (and we don't
8236 * want to build jamming into it because then it
8237 * will run more slowly).
8240 yy_next_state = yy_try_NUL_trans( yy_current_state );
8242 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
8244 if ( yy_next_state )
8246 /* Consume the NUL. */
8247 yy_cp = ++(yy_c_buf_p);
8248 yy_current_state = yy_next_state;
8254 yy_cp = (yy_c_buf_p);
8255 goto yy_find_action;
8259 else switch ( yy_get_next_buffer( ) )
8261 case EOB_ACT_END_OF_FILE:
8263 (yy_did_buffer_switch_on_eof) = 0;
8265 if ( surf_parse_wrap( ) )
8267 /* Note: because we've taken care in
8268 * yy_get_next_buffer() to have set up
8269 * surf_parse_text, we can now set up
8270 * yy_c_buf_p so that if some total
8271 * hoser (like flex itself) wants to
8272 * call the scanner after we return the
8273 * YY_NULL, it'll still work - another
8274 * YY_NULL will get returned.
8276 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
8278 yy_act = YY_STATE_EOF(YY_START);
8284 if ( ! (yy_did_buffer_switch_on_eof) )
8290 case EOB_ACT_CONTINUE_SCAN:
8292 (yytext_ptr) + yy_amount_of_matched_text;
8294 yy_current_state = yy_get_previous_state( );
8296 yy_cp = (yy_c_buf_p);
8297 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
8300 case EOB_ACT_LAST_MATCH:
8302 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
8304 yy_current_state = yy_get_previous_state( );
8306 yy_cp = (yy_c_buf_p);
8307 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
8308 goto yy_find_action;
8315 "fatal flex scanner internal error--no action found" );
8316 } /* end of action switch */
8317 } /* end of scanning one token */
8318 } /* end of surf_parse_lex */
8320 /* yy_get_next_buffer - try to read in a new buffer
8322 * Returns a code representing an action:
8323 * EOB_ACT_LAST_MATCH -
8324 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
8325 * EOB_ACT_END_OF_FILE - end of file
8327 static int yy_get_next_buffer (void)
8329 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
8330 register char *source = (yytext_ptr);
8331 register int number_to_move, i;
8334 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
8336 "fatal flex scanner internal error--end of buffer missed" );
8338 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
8339 { /* Don't try to fill the buffer, so this is an EOF. */
8340 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
8342 /* We matched a single character, the EOB, so
8343 * treat this as a final EOF.
8345 return EOB_ACT_END_OF_FILE;
8350 /* We matched some text prior to the EOB, first
8353 return EOB_ACT_LAST_MATCH;
8357 /* Try to read more data. */
8359 /* First move last chars to start of buffer. */
8360 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
8362 for ( i = 0; i < number_to_move; ++i )
8363 *(dest++) = *(source++);
8365 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
8366 /* don't do the read, it's not guaranteed to return an EOF,
8369 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
8374 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
8376 while ( num_to_read <= 0 )
8377 { /* Not enough room in the buffer - grow it. */
8379 /* just a shorter name for the current buffer */
8380 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
8382 int yy_c_buf_p_offset =
8383 (int) ((yy_c_buf_p) - b->yy_ch_buf);
8385 if ( b->yy_is_our_buffer )
8387 int new_size = b->yy_buf_size * 2;
8389 if ( new_size <= 0 )
8390 b->yy_buf_size += b->yy_buf_size / 8;
8392 b->yy_buf_size *= 2;
8394 b->yy_ch_buf = (char *)
8395 /* Include room in for 2 EOB chars. */
8396 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
8399 /* Can't grow it, we don't own it. */
8402 if ( ! b->yy_ch_buf )
8404 "fatal error - scanner input buffer overflow" );
8406 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
8408 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
8413 if ( num_to_read > YY_READ_BUF_SIZE )
8414 num_to_read = YY_READ_BUF_SIZE;
8416 /* Read in more data. */
8417 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
8418 (yy_n_chars), (size_t) num_to_read );
8420 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8423 if ( (yy_n_chars) == 0 )
8425 if ( number_to_move == YY_MORE_ADJ )
8427 ret_val = EOB_ACT_END_OF_FILE;
8428 surf_parse_restart(surf_parse_in );
8433 ret_val = EOB_ACT_LAST_MATCH;
8434 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
8435 YY_BUFFER_EOF_PENDING;
8440 ret_val = EOB_ACT_CONTINUE_SCAN;
8442 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
8443 /* Extend the array by 50%, plus the number we really need. */
8444 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
8445 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
8446 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
8447 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
8450 (yy_n_chars) += number_to_move;
8451 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
8452 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
8454 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
8459 /* yy_get_previous_state - get the state just before the EOB char was reached */
8461 static yy_state_type yy_get_previous_state (void)
8463 register yy_state_type yy_current_state;
8464 register char *yy_cp;
8466 yy_current_state = (yy_start);
8468 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
8470 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
8471 if ( yy_accept[yy_current_state] )
8473 (yy_last_accepting_state) = yy_current_state;
8474 (yy_last_accepting_cpos) = yy_cp;
8476 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
8478 yy_current_state = (int) yy_def[yy_current_state];
8479 if ( yy_current_state >= 2960 )
8480 yy_c = yy_meta[(unsigned int) yy_c];
8482 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
8485 return yy_current_state;
8488 /* yy_try_NUL_trans - try to make a transition on the NUL character
8491 * next_state = yy_try_NUL_trans( current_state );
8493 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
8495 register int yy_is_jam;
8496 register char *yy_cp = (yy_c_buf_p);
8498 register YY_CHAR yy_c = 1;
8499 if ( yy_accept[yy_current_state] )
8501 (yy_last_accepting_state) = yy_current_state;
8502 (yy_last_accepting_cpos) = yy_cp;
8504 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
8506 yy_current_state = (int) yy_def[yy_current_state];
8507 if ( yy_current_state >= 2960 )
8508 yy_c = yy_meta[(unsigned int) yy_c];
8510 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
8511 yy_is_jam = (yy_current_state == 2959);
8513 return yy_is_jam ? 0 : yy_current_state;
8518 static int yyinput (void)
8520 static int input (void)
8526 *(yy_c_buf_p) = (yy_hold_char);
8528 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
8530 /* yy_c_buf_p now points to the character we want to return.
8531 * If this occurs *before* the EOB characters, then it's a
8532 * valid NUL; if not, then we've hit the end of the buffer.
8534 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
8535 /* This was really a NUL. */
8536 *(yy_c_buf_p) = '\0';
8539 { /* need more input */
8540 int offset = (yy_c_buf_p) - (yytext_ptr);
8543 switch ( yy_get_next_buffer( ) )
8545 case EOB_ACT_LAST_MATCH:
8546 /* This happens because yy_g_n_b()
8547 * sees that we've accumulated a
8548 * token and flags that we need to
8549 * try matching the token before
8550 * proceeding. But for input(),
8551 * there's no matching to consider.
8552 * So convert the EOB_ACT_LAST_MATCH
8553 * to EOB_ACT_END_OF_FILE.
8556 /* Reset buffer status. */
8557 surf_parse_restart(surf_parse_in );
8561 case EOB_ACT_END_OF_FILE:
8563 if ( surf_parse_wrap( ) )
8566 if ( ! (yy_did_buffer_switch_on_eof) )
8575 case EOB_ACT_CONTINUE_SCAN:
8576 (yy_c_buf_p) = (yytext_ptr) + offset;
8582 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
8583 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
8584 (yy_hold_char) = *++(yy_c_buf_p);
8588 surf_parse_lineno++;
8593 #endif /* ifndef YY_NO_INPUT */
8595 /** Immediately switch to a different input stream.
8596 * @param input_file A readable stream.
8598 * @note This function does not reset the start condition to @c INITIAL .
8600 void surf_parse_restart (FILE * input_file )
8603 if ( ! YY_CURRENT_BUFFER ){
8604 surf_parse_ensure_buffer_stack ();
8605 YY_CURRENT_BUFFER_LVALUE =
8606 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
8609 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
8610 surf_parse__load_buffer_state( );
8613 /** Switch to a different input buffer.
8614 * @param new_buffer The new input buffer.
8617 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
8620 /* TODO. We should be able to replace this entire function body
8622 * surf_parse_pop_buffer_state();
8623 * surf_parse_push_buffer_state(new_buffer);
8625 surf_parse_ensure_buffer_stack ();
8626 if ( YY_CURRENT_BUFFER == new_buffer )
8629 if ( YY_CURRENT_BUFFER )
8631 /* Flush out information for old buffer. */
8632 *(yy_c_buf_p) = (yy_hold_char);
8633 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
8634 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8637 YY_CURRENT_BUFFER_LVALUE = new_buffer;
8638 surf_parse__load_buffer_state( );
8640 /* We don't actually know whether we did this switch during
8641 * EOF (surf_parse_wrap()) processing, but the only time this flag
8642 * is looked at is after surf_parse_wrap() is called, so it's safe
8643 * to go ahead and always set it.
8645 (yy_did_buffer_switch_on_eof) = 1;
8648 static void surf_parse__load_buffer_state (void)
8650 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
8651 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
8652 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
8653 (yy_hold_char) = *(yy_c_buf_p);
8656 /** Allocate and initialize an input buffer state.
8657 * @param file A readable stream.
8658 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
8660 * @return the allocated buffer state.
8662 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
8666 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
8668 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
8670 b->yy_buf_size = size;
8672 /* yy_ch_buf has to be 2 characters longer than the size given because
8673 * we need to put in 2 end-of-buffer characters.
8675 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
8676 if ( ! b->yy_ch_buf )
8677 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
8679 b->yy_is_our_buffer = 1;
8681 surf_parse__init_buffer(b,file );
8686 /** Destroy the buffer.
8687 * @param b a buffer created with surf_parse__create_buffer()
8690 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
8696 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
8697 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
8699 if ( b->yy_is_our_buffer )
8700 surf_parse_free((void *) b->yy_ch_buf );
8702 surf_parse_free((void *) b );
8706 extern int isatty (int );
8707 #endif /* __cplusplus */
8709 /* Initializes or reinitializes a buffer.
8710 * This function is sometimes called more than once on the same buffer,
8711 * such as during a surf_parse_restart() or at EOF.
8713 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
8718 surf_parse__flush_buffer(b );
8720 b->yy_input_file = file;
8721 b->yy_fill_buffer = 1;
8723 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
8724 * called from surf_parse_restart() or through yy_get_next_buffer.
8725 * In that case, we don't want to reset the lineno or column.
8727 if (b != YY_CURRENT_BUFFER){
8728 b->yy_bs_lineno = 1;
8729 b->yy_bs_column = 0;
8732 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
8737 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
8738 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
8741 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
8748 /* We always need two end-of-buffer characters. The first causes
8749 * a transition to the end-of-buffer state. The second causes
8750 * a jam in that state.
8752 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
8753 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
8755 b->yy_buf_pos = &b->yy_ch_buf[0];
8758 b->yy_buffer_status = YY_BUFFER_NEW;
8760 if ( b == YY_CURRENT_BUFFER )
8761 surf_parse__load_buffer_state( );
8764 /** Pushes the new state onto the stack. The new state becomes
8765 * the current state. This function will allocate the stack
8767 * @param new_buffer The new state.
8770 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
8772 if (new_buffer == NULL)
8775 surf_parse_ensure_buffer_stack();
8777 /* This block is copied from surf_parse__switch_to_buffer. */
8778 if ( YY_CURRENT_BUFFER )
8780 /* Flush out information for old buffer. */
8781 *(yy_c_buf_p) = (yy_hold_char);
8782 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
8783 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8786 /* Only push if top exists. Otherwise, replace top. */
8787 if (YY_CURRENT_BUFFER)
8788 (yy_buffer_stack_top)++;
8789 YY_CURRENT_BUFFER_LVALUE = new_buffer;
8791 /* copied from surf_parse__switch_to_buffer. */
8792 surf_parse__load_buffer_state( );
8793 (yy_did_buffer_switch_on_eof) = 1;
8796 /** Removes and deletes the top of the stack, if present.
8797 * The next element becomes the new top.
8800 void surf_parse_pop_buffer_state (void)
8802 if (!YY_CURRENT_BUFFER)
8805 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
8806 YY_CURRENT_BUFFER_LVALUE = NULL;
8807 if ((yy_buffer_stack_top) > 0)
8808 --(yy_buffer_stack_top);
8810 if (YY_CURRENT_BUFFER) {
8811 surf_parse__load_buffer_state( );
8812 (yy_did_buffer_switch_on_eof) = 1;
8816 /* Allocates the stack if it does not exist.
8817 * Guarantees space for at least one push.
8819 static void surf_parse_ensure_buffer_stack (void)
8823 if (!(yy_buffer_stack)) {
8825 /* First allocation is just for 2 elements, since we don't know if this
8826 * scanner will even need a stack. We use 2 instead of 1 to avoid an
8827 * immediate realloc on the next call.
8830 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
8831 (num_to_alloc * sizeof(struct yy_buffer_state*)
8833 if ( ! (yy_buffer_stack) )
8834 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
8836 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
8838 (yy_buffer_stack_max) = num_to_alloc;
8839 (yy_buffer_stack_top) = 0;
8843 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
8845 /* Increase the buffer to prepare for a possible push. */
8846 int grow_size = 8 /* arbitrary grow size */;
8848 num_to_alloc = (yy_buffer_stack_max) + grow_size;
8849 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
8851 num_to_alloc * sizeof(struct yy_buffer_state*)
8853 if ( ! (yy_buffer_stack) )
8854 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
8856 /* zero only the new slots.*/
8857 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
8858 (yy_buffer_stack_max) = num_to_alloc;
8862 /** Setup the input buffer state to scan directly from a user-specified character buffer.
8863 * @param base the character buffer
8864 * @param size the size in bytes of the character buffer
8866 * @return the newly allocated buffer state object.
8868 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
8873 base[size-2] != YY_END_OF_BUFFER_CHAR ||
8874 base[size-1] != YY_END_OF_BUFFER_CHAR )
8875 /* They forgot to leave room for the EOB's. */
8878 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
8880 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
8882 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
8883 b->yy_buf_pos = b->yy_ch_buf = base;
8884 b->yy_is_our_buffer = 0;
8885 b->yy_input_file = 0;
8886 b->yy_n_chars = b->yy_buf_size;
8887 b->yy_is_interactive = 0;
8889 b->yy_fill_buffer = 0;
8890 b->yy_buffer_status = YY_BUFFER_NEW;
8892 surf_parse__switch_to_buffer(b );
8897 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
8898 * scan from a @e copy of @a str.
8899 * @param yystr a NUL-terminated string to scan
8901 * @return the newly allocated buffer state object.
8902 * @note If you want to scan bytes that may contain NUL values, then use
8903 * surf_parse__scan_bytes() instead.
8905 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
8908 return surf_parse__scan_bytes(yystr,strlen(yystr) );
8911 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
8912 * scan from a @e copy of @a bytes.
8913 * @param yybytes the byte buffer to scan
8914 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
8916 * @return the newly allocated buffer state object.
8918 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
8925 /* Get memory for full buffer, including space for trailing EOB's. */
8926 n = _yybytes_len + 2;
8927 buf = (char *) surf_parse_alloc(n );
8929 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
8931 for ( i = 0; i < _yybytes_len; ++i )
8932 buf[i] = yybytes[i];
8934 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
8936 b = surf_parse__scan_buffer(buf,n );
8938 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
8940 /* It's okay to grow etc. this buffer, and we should throw it
8941 * away when we're done.
8943 b->yy_is_our_buffer = 1;
8948 static void yy_push_state (int new_state )
8950 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
8954 (yy_start_stack_depth) += YY_START_STACK_INCR;
8955 new_size = (yy_start_stack_depth) * sizeof( int );
8957 if ( ! (yy_start_stack) )
8958 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
8961 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
8963 if ( ! (yy_start_stack) )
8964 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
8967 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
8972 static void yy_pop_state (void)
8974 if ( --(yy_start_stack_ptr) < 0 )
8975 YY_FATAL_ERROR( "start-condition stack underflow" );
8977 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
8980 #ifndef YY_EXIT_FAILURE
8981 #define YY_EXIT_FAILURE 2
8984 static void yy_fatal_error (yyconst char* msg )
8986 (void) fprintf( stderr, "%s\n", msg );
8987 exit( YY_EXIT_FAILURE );
8990 /* Redefine yyless() so it works in section 3 code. */
8996 /* Undo effects of setting up surf_parse_text. */ \
8997 int yyless_macro_arg = (n); \
8998 YY_LESS_LINENO(yyless_macro_arg);\
8999 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
9000 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
9001 (yy_hold_char) = *(yy_c_buf_p); \
9002 *(yy_c_buf_p) = '\0'; \
9003 surf_parse_leng = yyless_macro_arg; \
9007 /* Accessor methods (get/set functions) to struct members. */
9009 /** Get the current line number.
9012 int surf_parse_get_lineno (void)
9015 return surf_parse_lineno;
9018 /** Get the input stream.
9021 FILE *surf_parse_get_in (void)
9023 return surf_parse_in;
9026 /** Get the output stream.
9029 FILE *surf_parse_get_out (void)
9031 return surf_parse_out;
9034 /** Get the length of the current token.
9037 int surf_parse_get_leng (void)
9039 return surf_parse_leng;
9042 /** Get the current token.
9046 char *surf_parse_get_text (void)
9048 return surf_parse_text;
9051 /** Set the current line number.
9052 * @param line_number
9055 void surf_parse_set_lineno (int line_number )
9058 surf_parse_lineno = line_number;
9061 /** Set the input stream. This does not discard the current
9063 * @param in_str A readable stream.
9065 * @see surf_parse__switch_to_buffer
9067 void surf_parse_set_in (FILE * in_str )
9069 surf_parse_in = in_str ;
9072 void surf_parse_set_out (FILE * out_str )
9074 surf_parse_out = out_str ;
9077 int surf_parse_get_debug (void)
9079 return surf_parse__flex_debug;
9082 void surf_parse_set_debug (int bdebug )
9084 surf_parse__flex_debug = bdebug ;
9087 static int yy_init_globals (void)
9089 /* Initialization is the same as for the non-reentrant scanner.
9090 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
9093 /* We do not touch surf_parse_lineno unless the option is enabled. */
9094 surf_parse_lineno = 1;
9096 (yy_buffer_stack) = 0;
9097 (yy_buffer_stack_top) = 0;
9098 (yy_buffer_stack_max) = 0;
9099 (yy_c_buf_p) = (char *) 0;
9103 (yy_start_stack_ptr) = 0;
9104 (yy_start_stack_depth) = 0;
9105 (yy_start_stack) = NULL;
9107 /* Defined in main.c */
9109 surf_parse_in = stdin;
9110 surf_parse_out = stdout;
9112 surf_parse_in = (FILE *) 0;
9113 surf_parse_out = (FILE *) 0;
9116 /* For future reference: Set errno on error, since we are called by
9117 * surf_parse_lex_init()
9122 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
9123 int surf_parse_lex_destroy (void)
9126 /* Pop the buffer stack, destroying each element. */
9127 while(YY_CURRENT_BUFFER){
9128 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
9129 YY_CURRENT_BUFFER_LVALUE = NULL;
9130 surf_parse_pop_buffer_state();
9133 /* Destroy the stack itself. */
9134 surf_parse_free((yy_buffer_stack) );
9135 (yy_buffer_stack) = NULL;
9137 /* Destroy the start condition stack. */
9138 surf_parse_free((yy_start_stack) );
9139 (yy_start_stack) = NULL;
9141 /* Reset the globals. This is important in a non-reentrant scanner so the next time
9142 * surf_parse_lex() is called, initialization will occur. */
9149 * Internal utility routines.
9153 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
9156 for ( i = 0; i < n; ++i )
9161 #ifdef YY_NEED_STRLEN
9162 static int yy_flex_strlen (yyconst char * s )
9165 for ( n = 0; s[n]; ++n )
9172 void *surf_parse_alloc (yy_size_t size )
9174 return (void *) malloc( size );
9177 void *surf_parse_realloc (void * ptr, yy_size_t size )
9179 /* The cast to (char *) in the following accommodates both
9180 * implementations that use char* generic pointers, and those
9181 * that use void* generic pointers. It works with the latter
9182 * because both ANSI C and C++ allow castless assignment from
9183 * any pointer type to void*, and deal with argument conversions
9184 * as though doing an assignment.
9186 return (void *) realloc( (char *) ptr, size );
9189 void surf_parse_free (void * ptr )
9191 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
9194 #define YYTABLES_NAME "yytables"
9196 /* Element context stack lookup. */
9197 int surfxml_element_context(int i)
9199 return (0<i && i<yy_start_stack_depth
9200 ? yy_start_stack[yy_start_stack_ptr - i]
9205 void print_yy_stack(char* fmt, ...)
9207 int i = 0; va_list ap; va_start(ap, fmt);
9208 vfprintf(stderr, fmt, ap);
9209 if (surfxml_statenames) {
9210 for (i=1; i<yy_start_stack_ptr; i++) {
9211 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
9213 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
9218 void print_surfxml_bufferstack()
9221 fputs("Buffer: ", stderr);
9222 for (i = 0; i < blimit; i++) {
9223 if ( surfxml_bufferstack[i] == '\377' ) break;
9224 putc(surfxml_bufferstack[i], stderr);
9229 static void debug_enter(int state, const char* statename) {
9230 yy_push_state(state);
9231 if (surf_parse__flex_debug) {
9232 print_yy_stack("--ENTER(%s) : ",statename);
9233 print_surfxml_bufferstack();
9237 static void debug_leave(void) {
9238 if (surf_parse__flex_debug) {
9239 print_yy_stack("--LEAVE : ");
9240 print_surfxml_bufferstack();
9245 static void debug_set(int state, const char* statename) {
9247 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
9251 static void cleanup(void)
9253 if (surfxml_statenames) {
9254 free(surfxml_statenames);
9255 surfxml_statenames = NULL;
9257 free(surfxml_bufferstack);
9258 surfxml_bufferstack = NULL;
9264 static int fail(const char* fmt, ...)
9266 int chars_left, used;
9267 va_list ap; va_start(ap, fmt);
9268 #ifdef FLEXML_yylineno
9269 used = sprintf(flexml_err_msg,
9270 "Invalid XML (XML input line %d, state %d): ",
9271 surf_parse_lineno, YY_START);
9273 used = sprintf(flexml_err_msg,
9274 "Invalid XML (state %d): ",
9277 chars_left = flexml_max_err_msg_size - used - 1;
9278 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
9281 #ifndef FLEXML_quiet_parser
9282 /* print directly to sdterr */
9283 fprintf(stderr, "%s\n", flexml_err_msg);
9284 flexml_err_msg[0] = '\0';