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 490
407 #define YY_END_OF_BUFFER 491
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[2921] =
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, 491, 489, 15, 10,
443 10, 15, 15, 469, 10, 469, 5, 6, 5, 8,
444 9, 8, 485, 477, 478, 486, 483, 486, 484, 488,
445 477, 478, 488, 489, 22, 10, 22, 22, 22, 20,
446 22, 26, 10, 26, 26, 489, 26, 489, 489, 26,
447 33, 10, 33, 33, 33, 31, 33, 37, 10, 37,
448 37, 48, 10, 48, 48, 48, 46, 48, 48, 48,
450 486, 485, 78, 10, 78, 78, 78, 76, 78, 78,
451 78, 78, 78, 82, 10, 82, 489, 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, 489, 132, 132, 489, 489, 132, 489, 132,
455 489, 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, 489, 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, 489, 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, 429, 10, 429,
476 429, 429, 427, 429, 429, 429, 429, 433, 10, 433,
477 489, 433, 440, 10, 440, 440, 440, 438, 440, 444,
478 10, 444, 451, 10, 451, 451, 451, 449, 451, 455,
479 10, 455, 455, 464, 10, 464, 464, 464, 462, 464,
480 464, 468, 10, 468, 10, 0, 2, 2, 0, 4,
481 7, 480, 479, 0, 0, 0, 0, 0, 0, 0,
483 21, 23, 23, 0, 0, 0, 0, 0, 0, 0,
484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
485 0, 0, 0, 0, 0, 0, 32, 34, 34, 0,
486 47, 49, 49, 49, 49, 0, 0, 0, 77, 79,
487 79, 79, 79, 79, 79, 79, 79, 79, 0, 0,
488 100, 102, 102, 102, 102, 0, 127, 129, 129, 129,
489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
490 0, 0, 144, 146, 146, 146, 146, 146, 0, 159,
491 161, 161, 161, 161, 0, 172, 174, 174, 174, 0,
492 185, 187, 187, 187, 0, 212, 214, 214, 214, 214,
494 214, 214, 0, 0, 257, 259, 259, 259, 259, 259,
495 259, 259, 259, 259, 259, 259, 259, 259, 259, 0,
496 282, 284, 284, 284, 284, 284, 284, 284, 284, 0,
497 295, 297, 297, 297, 0, 326, 328, 328, 328, 328,
498 328, 328, 0, 343, 345, 345, 345, 345, 0, 0,
499 364, 366, 366, 366, 366, 366, 0, 381, 383, 383,
500 383, 0, 394, 396, 396, 396, 0, 411, 413, 413,
501 413, 413, 0, 428, 430, 430, 430, 430, 430, 0,
502 0, 439, 441, 441, 0, 450, 452, 452, 0, 463,
503 465, 465, 465, 0, 0, 0, 0, 0, 3, 0,
505 0, 0, 0, 0, 0, 0, 487, 0, 23, 0,
506 0, 107, 0, 0, 0, 0, 0, 0, 0, 0,
507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
508 106, 0, 0, 0, 0, 0, 34, 0, 0, 49,
509 0, 0, 49, 0, 0, 0, 482, 79, 0, 0,
510 79, 79, 79, 79, 79, 79, 0, 0, 0, 102,
511 102, 102, 0, 0, 0, 0, 129, 0, 0, 107,
512 0, 0, 0, 0, 0, 106, 0, 0, 0, 0,
513 146, 0, 0, 146, 146, 0, 0, 161, 0, 0,
514 161, 0, 0, 0, 0, 174, 0, 0, 187, 187,
516 0, 0, 214, 214, 214, 0, 0, 214, 214, 0,
517 0, 0, 0, 259, 259, 0, 0, 259, 0, 0,
518 259, 259, 259, 259, 259, 259, 259, 259, 0, 0,
519 284, 284, 284, 0, 0, 284, 284, 284, 0, 0,
520 297, 0, 0, 0, 0, 328, 0, 0, 328, 328,
521 328, 0, 0, 345, 345, 345, 0, 0, 0, 366,
522 366, 366, 366, 0, 0, 383, 0, 0, 0, 0,
523 396, 396, 0, 0, 413, 413, 413, 0, 0, 430,
524 430, 430, 430, 0, 0, 0, 441, 0, 0, 0,
525 0, 0, 0, 0, 0, 465, 0, 0, 0, 14,
527 1, 0, 0, 475, 0, 0, 0, 472, 471, 0,
528 0, 23, 0, 0, 25, 0, 107, 0, 0, 0,
529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
530 0, 0, 0, 0, 0, 0, 106, 0, 0, 0,
531 0, 0, 34, 0, 0, 36, 0, 49, 0, 41,
532 40, 49, 0, 0, 0, 51, 0, 79, 0, 55,
533 54, 0, 0, 79, 0, 0, 79, 79, 79, 0,
534 0, 81, 0, 0, 102, 102, 102, 0, 0, 104,
535 0, 0, 109, 108, 129, 0, 0, 131, 0, 0,
536 0, 0, 0, 0, 0, 0, 0, 0, 0, 146,
538 0, 136, 135, 146, 146, 0, 0, 148, 0, 161,
539 0, 153, 152, 161, 0, 0, 163, 0, 0, 168,
540 167, 174, 0, 0, 176, 0, 187, 187, 0, 0,
541 189, 0, 214, 214, 214, 0, 194, 193, 214, 214,
542 0, 0, 216, 0, 0, 0, 259, 259, 259, 259,
543 0, 233, 232, 259, 0, 221, 220, 0, 0, 259,
544 259, 259, 259, 259, 259, 259, 0, 0, 261, 0,
545 284, 284, 284, 284, 0, 266, 265, 0, 0, 284,
546 284, 0, 0, 286, 0, 297, 0, 291, 290, 0,
547 0, 299, 0, 328, 0, 304, 303, 328, 328, 328,
549 0, 0, 330, 0, 0, 0, 0, 0, 345, 0,
550 0, 347, 0, 0, 0, 0, 366, 366, 0, 0,
551 366, 0, 0, 368, 0, 383, 0, 373, 372, 0,
552 0, 385, 0, 0, 0, 0, 0, 0, 0, 398,
553 0, 0, 0, 413, 413, 0, 0, 0, 0, 415,
554 0, 430, 430, 430, 430, 0, 0, 432, 0, 0,
555 441, 0, 0, 443, 0, 0, 448, 447, 0, 0,
556 454, 0, 0, 459, 458, 465, 0, 0, 467, 0,
557 0, 0, 476, 470, 0, 0, 0, 23, 0, 0,
558 0, 0, 0, 0, 191, 0, 301, 0, 0, 264,
560 0, 0, 456, 0, 0, 0, 0, 0, 0, 0,
561 0, 263, 0, 0, 0, 0, 0, 0, 0, 49,
562 0, 0, 79, 0, 59, 58, 0, 0, 0, 57,
563 56, 79, 0, 0, 79, 0, 457, 102, 0, 0,
564 102, 0, 129, 0, 130, 0, 0, 192, 302, 0,
565 0, 0, 0, 0, 0, 146, 146, 0, 0, 0,
566 161, 161, 0, 0, 0, 0, 0, 0, 187, 0,
567 214, 214, 0, 0, 214, 214, 0, 0, 0, 259,
568 259, 259, 259, 0, 0, 0, 235, 234, 259, 259,
569 259, 259, 259, 259, 259, 0, 284, 284, 284, 284,
571 0, 274, 273, 284, 284, 0, 297, 0, 328, 328,
572 328, 328, 0, 0, 337, 336, 0, 335, 334, 345,
573 0, 301, 0, 354, 353, 366, 366, 0, 352, 351,
574 366, 0, 383, 0, 0, 392, 391, 0, 390, 389,
575 0, 0, 405, 404, 413, 413, 0, 403, 402, 0,
576 430, 0, 0, 430, 430, 0, 0, 441, 0, 0,
577 465, 0, 0, 0, 0, 12, 0, 473, 474, 0,
578 23, 0, 0, 0, 0, 0, 0, 191, 0, 301,
579 0, 165, 0, 264, 0, 0, 456, 0, 332, 0,
580 39, 0, 0, 0, 0, 263, 0, 38, 0, 30,
582 29, 0, 0, 43, 42, 49, 0, 0, 79, 0,
583 61, 60, 79, 0, 65, 64, 79, 0, 457, 102,
584 0, 0, 0, 0, 0, 0, 129, 0, 0, 192,
585 302, 333, 0, 0, 0, 333, 332, 146, 0, 0,
586 0, 140, 139, 0, 161, 161, 0, 0, 170, 169,
587 0, 0, 183, 182, 187, 0, 214, 214, 0, 198,
588 197, 0, 0, 0, 0, 214, 0, 166, 0, 259,
589 0, 0, 259, 259, 0, 231, 230, 0, 0, 259,
590 259, 259, 259, 259, 259, 0, 284, 0, 0, 284,
591 284, 0, 0, 284, 0, 297, 0, 328, 328, 328,
593 0, 0, 328, 0, 345, 0, 0, 366, 366, 366,
594 0, 383, 0, 0, 413, 413, 0, 430, 0, 420,
595 419, 430, 430, 0, 0, 0, 0, 0, 0, 0,
596 0, 0, 0, 0, 0, 11, 0, 23, 0, 0,
597 0, 0, 0, 446, 0, 0, 165, 0, 0, 0,
598 53, 332, 288, 0, 39, 0, 445, 52, 0, 0,
599 0, 38, 0, 0, 49, 0, 0, 79, 79, 79,
600 0, 102, 0, 0, 0, 0, 0, 0, 0, 0,
601 0, 96, 95, 0, 129, 0, 0, 333, 289, 0,
602 0, 0, 146, 0, 138, 137, 0, 161, 0, 0,
604 0, 0, 0, 0, 0, 214, 214, 0, 196, 195,
605 0, 0, 0, 214, 0, 215, 166, 0, 259, 0,
606 243, 242, 0, 0, 259, 0, 229, 228, 0, 0,
607 259, 259, 259, 259, 0, 0, 0, 284, 0, 270,
608 269, 0, 0, 284, 0, 268, 267, 284, 0, 285,
609 297, 0, 328, 328, 328, 0, 0, 0, 328, 0,
610 329, 345, 0, 0, 0, 0, 0, 0, 366, 0,
611 383, 0, 0, 0, 0, 0, 0, 0, 430, 430,
612 430, 0, 0, 0, 437, 436, 0, 0, 0, 461,
613 460, 0, 466, 0, 0, 0, 0, 0, 0, 0,
615 349, 0, 0, 0, 219, 446, 28, 0, 0, 0,
616 418, 53, 288, 150, 0, 445, 52, 218, 27, 417,
617 0, 0, 49, 0, 0, 50, 79, 0, 0, 79,
618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
619 0, 0, 0, 0, 0, 0, 350, 0, 0, 289,
620 151, 0, 0, 0, 0, 0, 0, 155, 154, 0,
621 0, 175, 0, 181, 180, 0, 214, 214, 0, 0,
622 214, 0, 259, 0, 245, 244, 259, 0, 223, 222,
623 0, 0, 259, 259, 259, 0, 225, 224, 0, 284,
624 0, 272, 271, 284, 284, 297, 0, 328, 0, 0,
626 328, 328, 0, 0, 328, 345, 0, 346, 0, 0,
627 358, 357, 0, 356, 355, 366, 0, 383, 0, 0,
628 0, 409, 408, 0, 407, 406, 0, 430, 430, 430,
629 0, 0, 0, 0, 0, 0, 0, 17, 0, 19,
630 18, 0, 349, 434, 0, 0, 219, 28, 370, 178,
631 16, 418, 150, 0, 0, 218, 27, 417, 0, 0,
632 49, 481, 79, 0, 67, 66, 79, 0, 80, 0,
633 98, 97, 0, 0, 0, 0, 0, 0, 0, 0,
634 0, 0, 0, 0, 0, 0, 350, 0, 0, 151,
635 0, 0, 142, 141, 0, 0, 157, 156, 0, 0,
637 214, 214, 0, 0, 0, 0, 214, 179, 259, 259,
638 0, 227, 226, 259, 259, 259, 0, 284, 284, 284,
639 297, 0, 298, 328, 0, 310, 309, 328, 328, 0,
640 0, 0, 0, 328, 345, 371, 366, 0, 383, 0,
641 0, 0, 0, 0, 430, 430, 0, 435, 0, 0,
642 453, 0, 0, 0, 17, 0, 434, 0, 0, 370,
643 178, 16, 0, 0, 0, 0, 35, 49, 0, 0,
644 79, 0, 0, 0, 0, 0, 0, 0, 0, 0,
645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 0, 162,
648 0, 214, 214, 0, 204, 0, 203, 214, 179, 259,
649 259, 0, 0, 259, 259, 0, 260, 284, 284, 284,
650 297, 0, 0, 328, 328, 328, 0, 314, 0, 313,
651 328, 345, 371, 366, 0, 367, 0, 0, 0, 0,
652 0, 0, 422, 421, 0, 0, 430, 0, 431, 435,
653 0, 0, 0, 0, 0, 24, 0, 0, 0, 0,
654 0, 49, 0, 0, 0, 79, 0, 0, 0, 0,
655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 0, 0, 0, 0, 188, 214, 214, 206,
659 205, 0, 0, 259, 259, 0, 255, 254, 259, 0,
660 0, 284, 284, 0, 0, 297, 0, 306, 305, 328,
661 328, 328, 316, 315, 0, 0, 345, 366, 0, 0,
662 0, 0, 384, 0, 0, 0, 426, 425, 0, 0,
663 0, 442, 0, 0, 0, 0, 387, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0, 79, 0,
665 0, 0, 0, 88, 0, 0, 0, 0, 87, 0,
666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
667 0, 0, 0, 0, 0, 388, 0, 0, 214, 0,
668 0, 0, 208, 207, 259, 259, 259, 0, 253, 252,
670 284, 0, 0, 0, 280, 279, 0, 0, 328, 328,
671 328, 0, 318, 317, 0, 0, 0, 0, 0, 0,
672 0, 0, 0, 0, 0, 0, 0, 424, 423, 0,
673 0, 0, 0, 387, 133, 0, 0, 0, 45, 44,
674 0, 0, 0, 0, 0, 0, 0, 0, 79, 0,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
677 0, 0, 0, 388, 134, 0, 0, 0, 214, 0,
678 210, 209, 259, 259, 259, 284, 0, 276, 275, 0,
679 293, 292, 328, 0, 0, 328, 0, 0, 0, 0,
681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
682 0, 0, 0, 0, 400, 133, 84, 83, 0, 0,
683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
684 94, 0, 0, 0, 93, 0, 0, 0, 0, 0,
685 111, 119, 0, 0, 0, 0, 0, 110, 118, 0,
686 0, 401, 134, 0, 0, 200, 199, 214, 259, 259,
687 259, 284, 328, 0, 312, 311, 328, 0, 0, 0,
688 0, 0, 0, 0, 0, 0, 0, 375, 0, 0,
689 374, 0, 397, 0, 0, 0, 0, 0, 0, 0,
690 400, 84, 83, 0, 0, 0, 0, 0, 0, 0,
692 0, 0, 63, 62, 0, 0, 0, 0, 0, 0,
693 0, 0, 0, 113, 0, 0, 0, 0, 112, 0,
694 0, 401, 0, 147, 214, 259, 259, 0, 0, 284,
695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
697 0, 0, 0, 0, 75, 71, 0, 0, 74, 70,
698 0, 92, 0, 0, 91, 0, 0, 0, 103, 0,
699 0, 0, 0, 0, 0, 0, 0, 214, 259, 259,
700 0, 0, 0, 284, 0, 308, 307, 0, 0, 0,
701 341, 0, 340, 0, 362, 0, 361, 0, 377, 379,
703 376, 378, 0, 414, 0, 0, 0, 12, 0, 12,
704 0, 0, 0, 0, 0, 86, 90, 85, 89, 125,
705 0, 0, 123, 124, 0, 0, 122, 214, 259, 259,
706 0, 0, 0, 0, 284, 0, 0, 0, 0, 339,
707 338, 360, 359, 0, 0, 0, 0, 0, 0, 0,
708 0, 0, 115, 0, 0, 114, 0, 0, 0, 0,
709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 69, 0, 68, 0, 0, 121, 0, 120, 0, 202,
712 201, 0, 251, 250, 0, 0, 0, 0, 0, 0,
714 0, 0, 0, 0, 278, 277, 0, 0, 0, 0,
715 0, 0, 0, 11, 0, 0, 0, 0, 0, 0,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 0, 0, 73, 72, 0, 0, 0,
718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 117, 116, 0, 0, 0,
722 0, 0, 0, 237, 0, 0, 236, 0, 0, 320,
723 0, 0, 319, 0, 0, 0, 0, 0, 241, 0,
725 240, 0, 322, 0, 321, 0, 0, 0, 0, 0,
726 0, 0, 0, 0, 0, 0, 0, 247, 0, 246,
727 0, 0, 0, 0, 0, 0, 249, 248, 239, 238,
728 324, 323, 0, 0, 0, 0, 0, 0, 0, 0,
729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
732 0, 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, 13, 0
740 static yyconst flex_int32_t yy_ec[256] =
742 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
743 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
744 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
745 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
746 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
747 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
748 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
749 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
750 31, 38, 39, 40, 41, 42, 43, 44, 45, 31,
751 46, 1, 47, 1, 48, 1, 49, 50, 51, 52,
753 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
754 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
755 73, 74, 1, 1, 1, 1, 1, 1, 1, 1,
756 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
757 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
758 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
759 1, 1, 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,
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,
767 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
768 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
772 static yyconst flex_int32_t yy_meta[75] =
774 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
775 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
776 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
777 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
778 5, 5, 5, 5, 5, 1, 1, 5, 9, 9,
779 9, 9, 9, 9, 5, 5, 5, 5, 5, 5,
780 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
784 static yyconst flex_int16_t yy_base[3319] =
786 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
787 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
788 108, 178, 75, 78, 83, 128, 131, 134, 138, 141,
789 158, 198, 201, 204, 208, 211, 228, 231, 234, 237,
790 240, 257, 275, 329, 295, 298, 301, 305, 308, 349,
791 352, 355, 383, 447, 360, 416, 511, 578, 407, 410,
792 413, 467, 470, 473, 477, 480, 645, 713, 531, 534,
793 781, 847, 537, 541, 544, 598, 601, 604, 608, 611,
794 665, 668, 671, 675, 678, 733, 736, 739, 743, 746,
795 801, 804, 807, 811, 814, 867, 870, 873, 877, 880,
797 897, 903, 921, 988, 941, 944, 947, 951, 1008, 1011,
798 1014, 1018, 1055, 1123, 1075, 1078, 1081, 1085, 1143, 1146,
799 1149, 1153, 1191, 1253, 1211, 1214, 1315, 1383, 1217, 1221,
800 1451, 1518, 1224, 1273, 1276, 1279, 1283, 1286, 1335, 1338,
801 1585, 0, 1341, 1345, 1659, 1726, 1348, 1403, 1793, 1850,
802 1406, 1409, 1907, 1974, 1413, 1416, 1471, 1474, 1477, 1481,
803 1538, 1541, 2041, 2108, 1544, 1548, 1679, 1682, 1685, 1689,
804 1746, 1749, 2175, 2242, 1752, 1756, 1813, 1816, 1819, 1823,
805 1870, 1873, 2309, 2366, 1876, 1880, 2423, 2490, 1927, 1930,
806 1933, 1937, 1940, 1994, 1997, 2000, 2557, 2624, 2004, 2007,
808 2061, 2064, 2067, 2071, 2074, 2128, 2691, 2758, 2131, 2134,
809 2138, 2141, 2195, 2198, 2201, 2205, 2825, 2895, 2208, 2262,
810 2965, 3022, 2265, 2268, 2272, 2275, 2329, 2332, 2335, 2339,
811 3079, 3149, 2342, 2386, 0, 0, 7919,10220,10220, 95,
812 100, 29, 41,10220, 103, 51,10220,10220, 7908,10220,
813 10220, 7895,10220, 7910, 7910, 202,10220,10220,10220,10220,
814 7904, 7904, 7859, 153,10220, 161, 7883, 0, 145,10220,
815 7849,10220, 165, 3215, 73, 2342, 315, 357, 7889, 7832,
816 10220, 168, 7875, 0, 152,10220, 7837,10220, 261, 7879,
817 31,10220, 266, 7870, 0, 245,10220, 7832, 7832, 7830,
819 421, 7835,10220, 269, 7859, 0, 340,10220, 7825, 7825,
820 271, 7823, 238,10220, 441, 163, 313, 368,10220, 503,
821 7851, 0, 401,10220, 7810, 7810, 7800,10220, 506, 548,
822 10220, 561, 7845, 0, 481,10220, 7808, 7796,10220, 571,
823 2389, 2397, 161, 571, 38, 7846, 477, 2341, 574, 907,
824 7843, 79,10220, 697, 7834, 0, 482,10220, 7790, 7796,
825 7784, 7789,10220, 703, 426, 530,10220, 706, 7823, 0,
826 546,10220, 7779, 7789, 7763,10220, 765, 559, 564,10220,
827 771, 7807, 0, 549,10220, 7774, 7776,10220, 774, 682,
828 10220, 831, 7800, 0, 615,10220, 7770, 7745,10220, 837,
830 690,10220, 840, 7793, 0, 750,10220, 7742, 7748, 7754,
831 7742, 7736,10220, 906, 825, 7787, 87,10220, 914, 7778,
832 0, 758,10220, 7727, 203, 7729, 7739, 7741, 157, 311,
833 834,10220, 972, 958,10220, 981, 7765, 0, 815,10220,
834 7714, 7712, 7715, 7725, 7727, 7708, 7702,10220, 1021, 959,
835 10220, 1038, 7749, 0, 825,10220, 7701, 7711,10220, 1044,
836 1032,10220, 1048, 7742, 0, 891,10220, 7708, 7704, 7706,
837 15,10220, 1088, 899, 597,10220, 1105, 7730, 0, 956,
838 10220, 7682, 181,10220, 1111, 1098, 7736, 7683,10220, 1114,
839 7722, 0, 1022,10220, 7674, 7665, 299,10220, 1117, 7723,
841 302,10220, 1173, 7714, 0, 1033,10220, 7672, 7676,10220,
842 1179, 1167,10220, 1182, 7707, 0, 1090,10220, 7655, 7655,
843 10220, 1241, 7708, 630,10220, 1247, 7695, 0, 1168,10220,
844 7647, 7642, 7642,10220, 1303, 7695, 785,10220, 1309, 7686,
845 0, 1225,10220, 7632, 7637, 7642, 7626,10220, 1365, 814,
846 7681, 568,10220, 1368, 7672, 0, 1226,10220, 7638,10220,
847 1371, 1420,10220, 1376, 7666, 0, 1231,10220, 7633,10220,
848 1433, 387, 902,10220, 1436, 7660, 0, 1287,10220, 7627,
849 7629,10220, 1440, 1482, 1444, 687, 7601,10220, 7662, 7651,
850 10220,10220,10220, 1491, 254, 7598, 7597, 7595, 7162, 7121,
852 10220, 0, 7113, 7114, 7138, 7110, 7102, 437, 7111, 7111,
853 7114, 372, 1243, 378, 7102, 7102, 625, 429, 7121, 693,
854 7097, 1508, 7091, 702, 1517, 1518,10220, 0, 7089, 7091,
855 10220, 0, 7086, 1692, 7074, 372, 7070, 7113,10220, 0,
856 7070, 1759, 7058, 7076, 7062, 7065, 7062, 7062, 7046, 1776,
857 10220, 0, 7046, 7036, 7047, 7020,10220, 0, 1883, 7018,
858 7063, 7045, 7009, 7014, 7019, 695, 7002, 7030, 6994, 6982,
859 970, 1037,10220, 0, 6992, 2448, 6998, 6975, 6980,10220,
860 0, 6984, 2455, 6958, 6950,10220, 0, 2460, 6955, 6942,
861 10220, 0, 6941, 6936, 6934,10220, 0, 6945, 758, 2469,
863 6921, 6938, 6930, 889,10220, 0, 6935, 6927, 2510, 6908,
864 2513, 6905, 6899, 6916, 6906, 6888, 6903, 6902, 6895, 6896,
865 10220, 0, 6897, 6896, 6875, 2516, 6862, 6858, 6878, 6857,
866 10220, 0, 6857, 2519, 6852,10220, 0, 6847, 2522, 6836,
867 6841, 6835, 6823,10220, 0, 6813, 6811, 6796, 6790, 6788,
868 10220, 0, 6776, 6794, 6790, 6778, 6812,10220, 0, 6756,
869 2577, 6760,10220, 0, 6746, 6760, 6754,10220, 0, 6735,
870 6753, 6739, 6739,10220, 0, 6721, 6715, 6720, 6720, 6703,
871 6700,10220, 0, 6704, 6710,10220, 0, 2580, 6707,10220,
872 0, 2583, 6696, 6691, 6720, 6729, 1278, 6676,10220, 1496,
874 0, 6653, 6653, 6696, 6693, 6645,10220, 6656, 6636, 2394,
875 2586, 1718, 6631, 6621, 6614, 6615, 6608, 6619, 6607, 6590,
876 6590, 6603, 6601, 6586, 6585, 6573, 6578, 6586, 6571, 6568,
877 1777, 6559, 6569, 6566, 6548, 6561, 6548, 2590, 2645, 6547,
878 2648, 1551, 6541, 6568, 2652, 2655,10220, 6528, 2658, 1957,
879 2711, 6518, 2714, 6517, 6521, 6523, 2720, 2732, 6496, 6497,
880 6496, 6496, 2723, 2781, 2784, 2024, 6469, 2787, 2846, 1902,
881 6472, 6459, 6463, 6454, 6452, 1969, 6449, 6448, 6436, 6434,
882 6434, 2790, 2092, 6447, 6438, 2793, 2796, 6422, 2849, 2159,
883 6435, 2853, 2856, 2859, 2229, 6434, 2915, 2918, 6432, 6426,
885 2923, 2926, 6414, 6403, 6405, 2929, 2296, 6404, 6384, 2985,
886 2988, 6382, 6381, 6390, 1778, 2994, 2474, 6386, 2997, 2541,
887 3000, 6381, 6378, 6374, 6361, 6349, 6346, 6358, 3042, 3045,
888 6354, 37, 6343, 3051, 2611, 3054, 6351, 6335, 3057, 3112,
889 6330, 3099, 2678, 3104, 3108, 6342, 3118, 2877, 6337, 6316,
890 6309, 3127, 3171, 3174, 3178, 3181, 3184, 3205, 6313, 3199,
891 3210, 3213, 3219, 3231, 3250, 6321, 3237, 2885, 3241, 3282,
892 3244, 3255, 3288, 3291, 3294, 3301, 3297, 3315, 3320, 6321,
893 6296, 6299, 6292, 3323, 3326, 6301, 6282, 3329, 3334, 3348,
894 2947, 3353, 3356, 3359, 2955, 6277, 3367, 3377, 6325,10220,
896 10220, 1074, 6283,10220, 6315, 6314, 6262,10220,10220, 6256,
897 6247, 6257, 3381, 3386,10220, 3392, 1577, 6249, 6238, 6257,
898 6234, 6246, 6230, 6233, 6233, 6228, 6225, 6219, 6195, 1114,
899 6209, 6192, 6185, 6199, 6191, 6192, 1710, 6172, 6175, 6168,
900 1437, 6181, 3401, 3405, 3411,10220, 3414, 3419, 3136,10220,
901 10220, 3425, 6206, 3433, 3443,10220, 3446, 6154, 3452,10220,
902 10220, 3465, 3468, 3477, 3483, 3488, 6168, 3496, 6162, 3501,
903 3504,10220, 3507, 1651, 6160, 3510, 6158, 3514, 3528,10220,
904 3533, 3536,10220,10220, 6145, 3547, 3552,10220, 3555, 6138,
905 6150, 6130, 6133, 6120, 6117, 6132, 6127, 6107, 6105, 6106,
907 3559,10220,10220, 6097, 3574, 3577, 3581,10220, 3584, 6101,
908 3596,10220,10220, 6119, 3587, 3592,10220, 3606, 3611,10220,
909 10220, 3619, 3625, 3628,10220, 3631, 3637, 3640, 3651, 3658,
910 10220, 3661, 6086, 6085, 3664, 3670,10220,10220, 6070, 6076,
911 3682, 3685,10220, 3688, 6061, 6059, 6060, 6048, 6068, 6053,
912 3692,10220,10220, 3707, 3710,10220,10220, 3718, 3721, 6041,
913 6049, 6053, 6050, 6041, 6044, 6027, 3729, 3732,10220, 3736,
914 6016, 6012, 6003, 6015, 3739,10220,10220, 3755, 3758, 6000,
915 6011, 3766, 3769,10220, 3773, 5991, 3776,10220,10220, 3788,
916 3792,10220, 3795, 5971, 3798,10220,10220, 5978, 5982, 5984,
918 3807, 3814,10220, 3817, 3820, 3826, 3838, 3841, 5983, 3849,
919 3852,10220, 3856, 5959, 3859, 3864, 5949, 5948, 3878, 3881,
920 5956, 3889, 3892,10220, 3896, 5957, 3899,10220,10220, 3911,
921 3915,10220, 3918, 3924, 3930, 3938, 3942, 3950, 3956,10220,
922 3961, 3964, 3969, 5939, 5939, 3982, 3985, 3993, 3996,10220,
923 4000, 5929, 4003, 5948, 5920, 4006, 4015,10220, 4025, 5918,
924 5932, 4028, 4034,10220, 4037, 4040,10220,10220, 4048, 4056,
925 10220, 4059, 4063,10220,10220, 5927, 4071, 4078,10220, 4081,
926 598, 4091,10220,10220, 5961, 5960, 5921, 5911, 4100, 5903,
927 5909, 5901, 5879, 5889, 1785, 5872, 1844, 5872, 5872, 2034,
929 5883, 5881, 2100, 5869, 5875, 5865, 5859, 5849, 5832, 5825,
930 5823, 2103, 5834, 5833, 4103, 4121, 4106, 4112, 4130, 5832,
931 5853, 4138, 5819, 4143,10220,10220, 4151, 4158, 4169,10220,
932 10220, 5818, 4177, 4181, 5789, 4189, 2167, 5776, 4195, 4198,
933 4208, 4213, 5771, 4115,10220, 5762, 5759, 2170, 2237, 5740,
934 5734, 5708, 5696, 5707, 5704, 5690, 4216, 4219, 4222, 4240,
935 5682, 5687, 4243, 4246, 4249, 4264, 4267, 4270, 5686, 4278,
936 5684, 5675, 4285, 4288, 4297, 4308, 4311, 5656, 5638, 5653,
937 4315, 5626, 5637, 4318, 4326, 4336,10220,10220, 4344, 5589,
938 5611, 5580, 5583, 5579, 5544, 4347, 5547, 4350, 5506, 5413,
940 4355,10220,10220, 4368, 5419, 4371, 5338, 4374, 5337, 5341,
941 5314, 4378, 4381, 4386,10220,10220, 4396,10220,10220, 5307,
942 4404, 2304, 4407,10220,10220, 5305, 5320, 4416,10220,10220,
943 5302, 4425, 5300, 4428, 4432,10220,10220, 4447,10220,10220,
944 4455, 4458,10220,10220, 5201, 5216, 4467,10220,10220, 4475,
945 5138, 4478, 4487, 5126, 5144, 4481, 4895, 4496, 4503, 4506,
946 4509, 4514, 1077, 4918, 4517,10220, 4913,10220,10220, 4869,
947 4864, 4527, 21, 100, 110, 141, 163, 2413, 193, 2418,
948 205, 2482, 268, 2549, 308, 338, 2552, 385, 2619, 441,
949 2817, 495, 495, 508, 591, 2686, 609, 3131, 4536,10220,
951 10220, 4546, 4549,10220,10220, 627, 689, 4559, 684, 4565,
952 10220,10220, 710, 4580,10220,10220, 710, 4573, 2751, 744,
953 4588, 1866, 2191, 4597, 4600, 4615, 768, 763, 820, 2820,
954 3072, 4618, 837, 830, 853, 4621, 4624, 869, 4627, 4635,
955 4645,10220,10220, 4630, 890, 4653, 4656, 4660,10220,10220,
956 4671, 4679,10220,10220, 4690, 4693, 931, 924, 4697,10220,
957 10220, 4708, 4712, 4721, 4726, 933, 4734, 4321, 955, 978,
958 4739, 4742, 4753, 964, 4758,10220,10220, 4766, 4771, 4779,
959 971, 1023, 1049, 1051, 4784, 4787, 1089, 4790, 4793, 4802,
960 1092, 4808, 4811, 1105, 4820, 1098, 4826, 1111, 1093, 1113,
962 4829, 4832, 1133, 4840, 1124, 4847, 1156, 4850, 4854, 4859,
963 4862, 1165, 4868, 4872, 4882, 4887, 4891, 1170, 4901,10220,
964 10220, 1177, 1172, 4894, 1188, 4915, 4918, 4926, 4933, 4938,
965 4946, 4941, 1344, 1337, 1249,10220, 1218, 4960, 4963, 1240,
966 1233, 1338, 1265, 4966, 1293, 1286, 4969, 1300, 1292, 1298,
967 4972, 4978, 4982, 1329, 4989, 1363, 4992, 4995, 1356, 1370,
968 1359, 4998, 1377, 5001, 1382, 1427, 5004, 1387, 5008, 1410,
969 5011, 5014, 1460, 1450, 1668, 1454, 1469, 1457, 1695, 1460,
970 5026,10220,10220, 5034, 5037, 1454, 1744, 5040, 5043, 1459,
971 1747, 1811, 5046, 5055,10220,10220, 5064, 5067, 5071, 5074,
973 5085, 5089, 5092, 5095, 5104, 1457, 1467, 5111,10220,10220,
974 5119, 1481, 1498, 1492, 5127,10220, 5130, 1503, 1515, 5133,
975 10220,10220, 5141, 5146, 1516, 5155,10220,10220, 5163, 5166,
976 5174, 1519, 1627, 1642, 5177, 5181, 5195, 1644, 5198,10220,
977 10220, 5206, 5210, 1655, 5218,10220,10220, 1661, 5226,10220,
978 1675, 5229, 1674, 5232, 1709, 5235, 1729, 1732, 1714, 5250,
979 10220, 1734, 5253, 1724, 5256, 5259, 5274, 5279, 1752, 5287,
980 1761, 5294, 5297, 5300, 5306, 5318, 5321, 5329, 1768, 1771,
981 1778, 5332, 1804, 5337,10220,10220, 5354, 5357, 5363,10220,
982 10220, 5377,10220, 1926, 1918, 1950, 1820, 5381, 5384, 5399,
984 5402, 1822, 1854, 1837, 5406, 5411, 5414, 1861, 1894, 1888,
985 5418, 5421, 5424, 5427, 1887, 5430, 5433, 5436, 5439, 5442,
986 1893, 5446, 1905, 1919, 5449,10220, 1924, 5452, 5455, 1956,
987 5470, 5474, 5477, 1978, 1975, 1977, 1984, 1980, 1994, 1993,
988 1999, 2005, 2014, 5485, 5492, 5498, 5506, 2033, 2017, 5510,
989 5513, 5516, 5519, 5527, 5530, 5535, 5548,10220,10220, 5556,
990 5561,10220, 5564,10220,10220, 5575, 2021, 2015, 2064, 2112,
991 2024, 2033, 2030, 5580,10220,10220, 2035, 5588,10220,10220,
992 5596, 5599, 2048, 2060, 2088, 5608,10220,10220, 5616, 2090,
993 5619,10220,10220, 2083, 2093, 2089, 5629, 2102, 5635, 5638,
995 2110, 2102, 2190, 2202, 2107, 2140, 5648,10220, 2144, 5653,
996 10220,10220, 5661,10220,10220, 2164, 5669, 2156, 5672, 5675,
997 5681,10220,10220, 5694,10220,10220, 5703, 5707, 5712, 5715,
998 5725, 2166, 5733, 5739, 5744, 2238, 2284, 5747, 5752,10220,
999 10220, 5764, 5767, 5770, 2170, 2204, 5775, 5778, 5783, 5786,
1000 5794, 5797, 5800, 2213, 2220, 5803, 5806, 5809, 2222, 5812,
1001 2219,10220, 5815, 5818,10220,10220, 5826, 5833,10220, 5837,
1002 10220,10220, 2266, 2252, 2269, 2264, 2277, 2300, 2300, 2322,
1003 2317, 2332, 5845, 5848, 2704, 5831, 5857, 2293, 2293, 5860,
1004 2297, 5868,10220,10220, 5876, 5879,10220,10220, 5887, 5895,
1006 2325, 2339, 2367, 2389, 2373, 2393, 2350, 5898, 2348, 2353,
1007 5907,10220,10220, 5901, 2383, 2395, 5915, 2396, 2401, 2407,
1008 2413, 5919,10220, 5923, 5927,10220,10220, 2411, 2418, 2455,
1009 2481, 2462, 2497, 2474, 2479, 5941, 2481, 5947, 5950, 5953,
1010 5956, 5959, 5962, 5980, 5988, 5991, 5997, 6000, 6009, 6018,
1011 10220, 6021, 2553, 2596, 6024, 6028, 6031, 2468, 2465, 6043,
1012 6047, 6050, 2461, 2477, 2478, 6053,10220, 2473, 6056, 6059,
1013 6067, 2505, 2501, 2556, 2547, 2559, 2555, 2552, 2566, 2559,
1014 2570, 6076, 2551, 2561, 2604, 2556, 2571, 2606, 2606, 2611,
1015 2609, 2611, 2614, 2629, 2656, 2652, 2659, 6079, 6085,10220,
1017 6088, 2673, 2677, 2742,10220, 2740,10220, 6091, 6098, 2683,
1018 2708, 6109, 6112, 2697, 6123, 6128,10220, 2706, 2713, 6131,
1019 2715, 6137, 6149, 2748, 2746, 2748, 2804,10220, 2802,10220,
1020 6141, 2755, 6159, 2758, 6162,10220, 6165, 6168, 6176, 6183,
1021 6187, 6191,10220,10220, 6202, 6206, 6214, 6220,10220, 6223,
1022 6226, 2903, 2854, 2821, 6234,10220, 2785, 2814, 2805, 2817,
1023 2822, 6239, 6253, 2909, 2982, 6245, 2847, 2860, 2866, 2870,
1024 2887, 2906, 2915, 2915, 2918, 2936, 6263, 2883, 2896, 2892,
1025 2900, 2900, 2934, 2925, 2937, 2951, 2947, 2954, 2953, 2958,
1026 2951, 2969, 2997, 2988, 6266, 6269,10220, 2990, 6272,10220,
1028 10220, 6275, 6278, 2991, 3002, 6293,10220,10220, 3010, 6301,
1029 6307, 2998, 6315, 6319, 6324, 6333, 6338,10220,10220, 3015,
1030 3025, 3038,10220,10220, 6346, 6351, 6359, 6364, 6367, 3164,
1031 3448, 6377,10220, 6382, 6385, 6389,10220,10220, 6397, 6404,
1032 6415,10220, 3097, 3128, 3211, 3036, 6418, 3056, 3062, 3068,
1033 6421, 6424, 3085, 3091, 3176, 3103, 3107, 3299, 6434, 3119,
1034 3130, 3147, 3152,10220, 3185, 3182, 3181, 3188,10220, 6439,
1035 3182, 3191, 3182, 3200, 3214, 3216, 3229, 3220, 3229, 3233,
1036 3247, 3256, 3257, 3263, 3246, 6442, 3262, 6452, 6458, 6461,
1037 6464, 6472,10220,10220, 3293, 3279, 3293, 6480,10220,10220,
1039 3297, 6491, 6495, 6505,10220,10220, 6515, 6518, 3287, 6526,
1040 3297, 6529,10220,10220, 6537, 6540, 6548, 6551, 3329, 3330,
1041 3335, 3338, 3339, 3340, 6559, 6562, 6566,10220,10220, 3362,
1042 3371, 6574, 3333, 6581, 6584, 3330, 3331, 6593,10220,10220,
1043 3380, 3375, 3376, 3396, 3410, 3398, 3404, 3412, 6587, 3402,
1044 3429, 3446, 3435, 3419, 3438, 3453, 3442, 6601, 3407, 3409,
1045 3426, 3476, 3487, 3478, 3459, 3452, 3455, 3471, 3516, 3517,
1046 3505, 3473, 3488, 6605, 6611, 6614, 6620, 6623, 3489, 6634,
1047 10220,10220, 3490, 3486, 3474, 3498, 6642,10220,10220, 6651,
1048 10220,10220, 3507, 6659, 6662, 3491, 6670, 3571, 3601, 6678,
1050 3658, 3662, 3523, 3535, 3565, 3530, 3539, 3583, 6686, 6689,
1051 3583, 6692, 6695, 6698, 6717, 6720, 6723, 6726, 3576, 3592,
1052 3594, 3585, 3590, 3623, 3625, 3613, 6729, 6732, 3628, 3628,
1053 10220, 3645, 3648, 3650,10220, 3652, 6740, 3646, 3636, 3700,
1054 10220,10220, 3666, 3665, 3665, 3660, 3735,10220,10220, 3697,
1055 3695, 6743, 6747, 6750, 6759,10220,10220, 3693, 3694, 3696,
1056 6769, 3697, 6772, 6775,10220,10220, 6783, 3727, 3739, 3730,
1057 3755, 3747, 3758, 3751, 3762, 3768, 3780,10220, 3778, 3788,
1058 10220, 6790,10220, 6793, 3811, 6796, 6803, 6815, 6846, 6893,
1059 6823, 6826, 6829, 3800, 3827, 3830, 3798, 3821, 3839, 3840,
1061 3825, 6834,10220,10220, 3865, 3842, 3844, 3877, 3855, 3856,
1062 6857, 3838, 3840,10220, 3840, 3853, 3845, 3857,10220, 3857,
1063 3872, 6866, 6869,10220, 3870, 3877, 3896, 6872, 6876, 3889,
1064 6884, 6913, 6904, 6922, 3944, 3916, 3947, 3922, 3963, 3935,
1065 3968, 3940, 3976, 3984, 3983, 3984, 6930, 4004, 6939, 4027,
1066 4003, 6959, 7006, 3997,10220,10220, 3976, 4001,10220,10220,
1067 3983,10220, 4028, 4047,10220, 4046, 4047, 6933,10220, 4065,
1068 4028, 4025, 4080, 4078, 4040, 4037, 4087, 4044, 4046, 4027,
1069 6979, 4111, 4124, 4060, 6987,10220,10220, 6995, 4130, 4138,
1070 10220, 4122,10220, 4120,10220, 4131,10220, 4134,10220,10220,
1072 10220,10220, 6952,10220, 4168, 4188, 4185, 4142, 4276, 4147,
1073 7017, 4144, 4148, 4161, 4156,10220,10220,10220,10220,10220,
1074 4189, 4134,10220,10220, 4230, 4151,10220, 7026, 7029, 7032,
1075 4215, 4201, 4218, 4203, 7037, 4261, 4205, 4314, 4207,10220,
1076 10220,10220,10220, 7040, 4251, 4240, 4253, 7055, 4269, 4255,
1077 4269, 4271,10220, 4246, 4297,10220, 4256, 4298, 7059, 7062,
1078 7070, 7077, 7088, 7091, 4268, 4300, 4321, 4304, 4327, 4340,
1079 7099, 7107, 4325, 4333, 4346, 4346, 4360, 4374, 7102, 4383,
1080 10220, 4370,10220, 4378, 4364,10220, 4366,10220, 7117,10220,
1081 10220, 7125,10220,10220, 7133, 4394, 4416, 4386, 4406, 4406,
1083 4409, 4414, 4414, 7141,10220,10220, 4417, 4430, 4427, 4429,
1084 4435, 4436, 4482,10220, 4480, 4483, 4438, 4447, 4492, 4493,
1085 4503, 4504, 4505, 4511, 4515, 4513, 4519, 4520, 4524, 4531,
1086 4531, 4529, 4539, 4539, 4568,10220,10220, 4520, 4527, 4545,
1087 4573, 4556, 4576, 4568, 4567, 4585, 4574, 4572, 4589, 4603,
1088 4601, 4618, 4608, 4611, 4628, 4658, 4655, 4656, 4630, 4632,
1089 4634, 4639, 4654, 4649, 4683, 4676, 4667, 4698, 4682, 4680,
1090 4713, 4694, 4685, 4717, 4727,10220,10220, 4701, 4707, 4704,
1091 4723, 4744, 4719,10220, 4754, 4732,10220, 4760, 4738,10220,
1092 4767, 4745,10220, 4805, 4742, 4759, 4763, 4776,10220, 4782,
1094 10220, 4790,10220, 4792,10220, 4793, 7149, 4800, 4831, 4819,
1095 4838, 4815, 4824, 4833, 4836, 7152, 4875,10220, 4874,10220,
1096 4881, 4890, 4896, 4899, 4895, 4903,10220,10220,10220,10220,
1097 10220,10220, 4892, 4957, 5032, 5035, 4958, 4999, 4893, 5065,
1098 5090, 5106, 5126, 5142, 5096, 5107, 5003, 5131, 5186, 5203,
1099 4934, 5136, 4968, 5151, 5169, 5183, 5121, 5166, 5318, 5331,
1100 5251, 5293, 5191, 5230, 5223, 5291, 5252, 5296, 5308, 5327,
1101 5059, 5358, 5333, 5378, 5185, 5427, 4989, 5000, 5440, 5477,
1102 5483, 5528, 5442, 5443, 5535, 5542, 5272, 5552, 5522, 5587,
1103 5254, 5267, 5478, 5504, 5536, 5567, 5330, 5465, 5549, 5593,
1105 5614, 5615, 5609, 5673, 5606, 5649, 5688, 5701, 5668, 5742,
1106 5507, 5623, 5771, 5824, 5462, 5285, 7160, 7163,10220,10220,
1107 7183, 7192, 7201, 7210, 7219, 7228, 7237, 7246, 7255, 7264,
1108 7273, 7282, 7291, 7300, 7309, 7318, 7327, 7336, 7345, 7354,
1109 7363, 7372, 7381, 7390, 7399, 7408, 7417, 7426, 7435, 7444,
1110 7453, 7462, 7471, 7480, 7489, 7498, 7507, 7516, 7525, 7534,
1111 7543, 7552, 7561, 7570, 7579, 7588, 7597, 7606, 7615, 7624,
1112 7633, 7642, 7651, 7658, 7665, 7672, 7679, 7686, 7693, 7700,
1113 7707, 7714, 7721, 7728, 7735, 7742, 7749, 7756, 7763, 7770,
1114 7777, 7784, 7791, 7798, 7805, 7812, 7819, 7828, 7835, 7840,
1116 7847, 7852, 7859, 7864, 7871, 7876, 7883, 7888, 7895, 7900,
1117 7907, 7912, 7919, 7924, 7931, 7936, 7943, 7948, 7955, 7960,
1118 7967, 7972, 7979, 7984, 7991, 7996, 8003, 8008, 8015, 8020,
1119 8027, 8032, 8039, 8044, 8051, 8056, 8063, 8068, 8075, 8080,
1120 8087, 8092, 8099, 8104, 8111, 8116, 8125, 8131, 8138, 8146,
1121 8153, 8161, 8168, 8176, 8183, 8191, 8198, 8206, 8213, 8221,
1122 8228, 8236, 8243, 8251, 8258, 8266, 8273, 8281, 8288, 8296,
1123 8303, 8311, 8318, 8326, 8333, 8341, 8348, 8356, 8364, 8372,
1124 8380, 8388, 8395, 8403, 8411, 8419, 8427, 8435, 8442, 8450,
1125 8457, 8465, 8473, 8480, 8488, 8497, 8503, 8510, 8518, 8526,
1127 8534, 8542, 8550, 8557, 8565, 8572, 8580, 8587, 8595, 8602,
1128 8610, 8617, 8625, 8633, 8641, 8649, 8657, 8664, 8672, 8679,
1129 8687, 8694, 8702, 8709, 8717, 8724, 8732, 8739, 8747, 8754,
1130 8762, 8769, 8777, 8785, 8792, 8800, 8807, 8815, 8822, 8830,
1131 8838, 8845, 8853, 8862, 8871, 8878, 8886, 8894, 8901, 8909,
1132 8916, 8924, 8931, 8939, 8946, 8953, 8961, 8968, 8976, 8984,
1133 8991, 8999, 9006, 9014, 9021, 9029, 9036, 9044, 9051, 9059,
1134 9066, 9074, 9081, 9089, 9096, 9104, 9111, 9119, 9127, 9134,
1135 9142, 9149, 9157, 9165, 9173, 9181, 9189, 9197, 9206, 9215,
1136 9222, 9230, 9238, 9245, 9253, 9260, 9268, 9275, 9283, 9290,
1138 9297, 9305, 9312, 9320, 9328, 9336, 9344, 9351, 9359, 9366,
1139 9374, 9381, 9389, 9396, 9404, 9411, 9419, 9426, 9434, 9442,
1140 9450, 9457, 9465, 9473, 9481, 9489, 9496, 9504, 9512, 9520,
1141 9528, 9537, 9546, 9554, 9562, 9570, 9577, 9585, 9592, 9600,
1142 9608, 9616, 9624, 9632, 9640, 9648, 9656, 9664, 9672, 9679,
1143 9686, 9694, 9701, 9708, 9716, 9723, 9730, 9738, 9745, 9753,
1144 9760, 9768, 9776, 9784, 9791, 9799, 9807, 9815, 9824, 9833,
1145 9841, 9849, 9856, 9863, 9871, 9879, 9887, 9895, 9903, 9910,
1146 9917, 9925, 9932, 9939, 9947, 9954, 9961, 9968, 9976, 9983,
1147 9991, 9999,10007,10015,10023,10031,10039,10048,10057,10065,
1149 10073,10080,10088,10096,10104,10112,10120,10127,10134,10142,
1150 10149,10156,10165,10174,10183,10192,10201,10210
1153 static yyconst flex_int16_t yy_def[3319] =
1155 2921, 2921, 2922, 2922, 2922, 2922, 2923, 2923, 2924, 2924,
1156 2925, 2925, 2926, 2926, 2926, 2926, 2927, 2927, 2921, 2921,
1157 2928, 2928, 2929, 2929, 2929, 2929, 2921, 2921, 2929, 2929,
1158 2929, 2929, 2921, 2921, 2929, 2929, 2921, 2921, 2929, 2929,
1159 2929, 2929, 2930, 2930, 2931, 2931, 2921, 2921, 2931, 2931,
1160 2931, 2931, 2932, 2932, 2926, 2926, 2933, 2933, 2934, 2934,
1161 2921, 2921, 2934, 2934, 2934, 2934, 2935, 2935, 2936, 2936,
1162 2937, 2937, 2938, 2938, 2938, 2938, 2921, 2921, 2938, 2938,
1163 2938, 2938, 2921, 2921, 2938, 2938, 2921, 2921, 2938, 2938,
1164 2938, 2938, 2921, 2921, 2938, 2938, 2921, 2921, 2938, 2938,
1166 2938, 2938, 2939, 2939, 2940, 2940, 2921, 2921, 2940, 2940,
1167 2940, 2940, 2941, 2941, 2942, 2942, 2921, 2921, 2942, 2942,
1168 2942, 2942, 2943, 2943, 2944, 2944, 2945, 2945, 2946, 2946,
1169 2947, 2947, 2948, 2948, 2921, 2921, 2948, 2948, 2948, 2948,
1170 2920, 141, 2949, 2949, 2950, 2950, 2951, 2951, 2952, 2952,
1171 2953, 2953, 2954, 2954, 2955, 2955, 2921, 2921, 2955, 2955,
1172 2955, 2955, 2956, 2956, 2957, 2957, 2921, 2921, 2957, 2957,
1173 2957, 2957, 2958, 2958, 2959, 2959, 2921, 2921, 2959, 2959,
1174 2959, 2959, 2960, 2960, 2961, 2961, 2962, 2962, 2963, 2963,
1175 2921, 2921, 2963, 2963, 2963, 2963, 2964, 2964, 2965, 2965,
1177 2921, 2921, 2965, 2965, 2965, 2965, 2966, 2966, 2967, 2967,
1178 2921, 2921, 2967, 2967, 2967, 2967, 2968, 2968, 2969, 2969,
1179 2970, 2970, 2971, 2971, 2921, 2921, 2971, 2971, 2971, 2971,
1180 2972, 2972, 2973, 2973, 2921, 2921, 2920, 2920, 2920, 2920,
1181 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1182 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1183 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2974, 2920, 2920,
1184 2974, 2920, 2920, 2920, 274, 274, 276, 274, 277, 277,
1185 2920, 2920, 2920, 2975, 2920, 2920, 2975, 2920, 2920, 278,
1186 277, 2920, 2920, 2920, 2976, 2920, 2920, 2976, 2976, 2976,
1188 2920, 2920, 2920, 2920, 2920, 2977, 2920, 2920, 2977, 2977,
1189 2977, 2977, 2977, 2920, 2920, 277, 277, 277, 2920, 2920,
1190 2920, 2978, 2920, 2920, 2978, 2978, 2978, 2920, 2920, 2920,
1191 2920, 2920, 2920, 2979, 2920, 2920, 2979, 2979, 2920, 2920,
1192 278, 277, 278, 341, 342, 342, 342, 342, 347, 349,
1193 348, 347, 2920, 2920, 2920, 2980, 2920, 2920, 2980, 2980,
1194 2980, 2980, 2920, 2920, 277, 277, 2920, 2920, 2920, 2981,
1195 2920, 2920, 2981, 2981, 2981, 2920, 2920, 277, 277, 2920,
1196 2920, 2920, 2982, 2920, 2920, 2982, 2982, 2920, 2920, 2920,
1197 2920, 2920, 2920, 2983, 2920, 2920, 2983, 2983, 2920, 2920,
1199 2920, 2920, 2920, 2920, 2984, 2920, 2920, 2984, 2984, 2984,
1200 2984, 2984, 2920, 2920, 277, 415, 415, 2920, 2920, 2920,
1201 2985, 2920, 2920, 2985, 2985, 2985, 2985, 2985, 2985, 2985,
1202 2985, 2920, 2920, 2920, 2920, 2920, 2920, 2986, 2920, 2920,
1203 2986, 2986, 2986, 2986, 2986, 2986, 2986, 2920, 2920, 2920,
1204 2920, 2920, 2920, 2987, 2920, 2920, 2987, 2987, 2920, 2920,
1205 2920, 2920, 2920, 2920, 2988, 2920, 2920, 2988, 2988, 2988,
1206 2988, 2920, 2920, 415, 277, 2920, 2920, 2920, 2989, 2920,
1207 2920, 2989, 2989, 2920, 2920, 277, 486, 486, 2920, 2920,
1208 2920, 2990, 2920, 2920, 2990, 2990, 2990, 2920, 2920, 486,
1210 486, 2920, 2920, 2920, 2991, 2920, 2920, 2991, 2991, 2920,
1211 2920, 2920, 2920, 2920, 2920, 2992, 2920, 2920, 2992, 2992,
1212 2920, 2920, 486, 486, 2920, 2920, 2920, 2993, 2920, 2920,
1213 2993, 2993, 2993, 2920, 2920, 486, 486, 2920, 2920, 2920,
1214 2994, 2920, 2920, 2994, 2994, 2994, 2994, 2920, 2920, 277,
1215 550, 550, 2920, 2920, 2920, 2995, 2920, 2920, 2995, 2920,
1216 2920, 2920, 2920, 2920, 2920, 2996, 2920, 2920, 2996, 2920,
1217 2920, 550, 277, 2920, 2920, 2920, 2997, 2920, 2920, 2997,
1218 2997, 2920, 2920, 2920, 2920, 2998, 2920, 2920, 2920, 2920,
1219 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1221 2920, 2999, 2999, 3000, 2920, 2920, 2920, 2920, 2920, 2920,
1222 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1223 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3001, 3001, 3002,
1224 2920, 3003, 3003, 3003, 3003, 2920, 3004, 2920, 2920, 3005,
1225 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3005, 3006, 2920,
1226 2920, 3007, 3007, 3007, 3007, 3008, 2920, 3009, 3009, 3009,
1227 3010, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1228 2920, 2920, 2920, 3011, 3011, 3011, 3011, 3011, 3012, 2920,
1229 3013, 3013, 3013, 3013, 3014, 2920, 3015, 3015, 3015, 3016,
1230 2920, 3017, 3017, 3017, 3018, 2920, 3019, 3019, 3019, 3019,
1232 3019, 3019, 3020, 2920, 2920, 3021, 3021, 3021, 3021, 3021,
1233 3021, 3021, 3021, 3021, 3021, 3021, 3021, 3021, 3021, 3022,
1234 2920, 3023, 3023, 3023, 3023, 3023, 3023, 3023, 3023, 3024,
1235 2920, 3025, 3025, 3025, 3026, 2920, 3027, 3027, 3027, 3027,
1236 3027, 3027, 3028, 2920, 3029, 3029, 3029, 3029, 3030, 2920,
1237 2920, 3031, 3031, 3031, 3031, 3031, 3032, 2920, 3033, 3033,
1238 3033, 3034, 2920, 3035, 3035, 3035, 3036, 2920, 3037, 3037,
1239 3037, 3037, 3038, 2920, 3039, 3039, 3039, 3039, 3039, 3040,
1240 2920, 2920, 3041, 3041, 3042, 2920, 3043, 3043, 3044, 2920,
1241 3045, 3045, 3045, 3046, 3047, 2920, 3047, 2920, 2920, 2920,
1243 3048, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3049, 3050,
1244 3050, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1245 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1246 2920, 2920, 2920, 2920, 2920, 2920, 3051, 3052, 3052, 3053,
1247 2920, 2920, 3053, 2920, 3054, 3054, 2920, 3055, 2920, 2920,
1248 3055, 3055, 3055, 3055, 3055, 3055, 3056, 3056, 2920, 3057,
1249 3057, 3057, 3058, 3058, 2920, 2920, 3059, 3060, 3060, 2920,
1250 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1251 3061, 2920, 2920, 3061, 3061, 3062, 3062, 3063, 2920, 2920,
1252 3063, 3064, 3064, 2920, 2920, 3065, 3066, 3066, 3067, 3067,
1254 3068, 3068, 3069, 3069, 3069, 2920, 2920, 3069, 3069, 3070,
1255 3070, 2920, 2920, 3071, 3071, 2920, 2920, 3071, 2920, 2920,
1256 3071, 3071, 3071, 3071, 3071, 3071, 3071, 3071, 3072, 3072,
1257 3073, 3073, 3073, 2920, 2920, 3073, 3073, 3073, 3074, 3074,
1258 3075, 2920, 2920, 3076, 3076, 3077, 2920, 2920, 3077, 3077,
1259 3077, 3078, 3078, 3079, 3079, 3079, 3080, 3080, 2920, 3081,
1260 3081, 3081, 3081, 3082, 3082, 3083, 2920, 2920, 3084, 3084,
1261 3085, 3085, 3086, 3086, 3087, 3087, 3087, 3088, 3088, 3089,
1262 3089, 3089, 3089, 3090, 3090, 2920, 3091, 3092, 3092, 2920,
1263 2920, 3093, 3093, 2920, 2920, 3094, 3095, 3095, 3096, 2920,
1265 2920, 3096, 2920, 2920, 3097, 2920, 2920, 2920, 2920, 2920,
1266 2920, 3098, 2920, 3099, 2920, 3099, 2920, 2920, 2920, 2920,
1267 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1268 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1269 2920, 2920, 3100, 2920, 3101, 2920, 3101, 3102, 2920, 2920,
1270 2920, 3102, 2920, 2920, 3103, 2920, 3103, 3104, 2920, 2920,
1271 2920, 2920, 2920, 3104, 2920, 2920, 3104, 3104, 3104, 2920,
1272 3105, 2920, 3105, 2920, 3106, 3106, 3106, 2920, 3107, 2920,
1273 3107, 2920, 2920, 2920, 3108, 2920, 3109, 2920, 3109, 2920,
1274 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3110,
1276 2920, 2920, 2920, 3110, 3110, 2920, 3111, 2920, 3111, 3112,
1277 2920, 2920, 2920, 3112, 2920, 3113, 2920, 3113, 2920, 2920,
1278 2920, 3114, 2920, 3115, 2920, 3115, 3116, 3116, 2920, 3117,
1279 2920, 3117, 3118, 3118, 3118, 2920, 2920, 2920, 3118, 3118,
1280 2920, 3119, 2920, 3119, 2920, 2920, 3120, 3120, 3120, 3120,
1281 2920, 2920, 2920, 3120, 2920, 2920, 2920, 2920, 2920, 3120,
1282 3120, 3120, 3120, 3120, 3120, 3120, 2920, 3121, 2920, 3121,
1283 3122, 3122, 3122, 3122, 2920, 2920, 2920, 2920, 2920, 3122,
1284 3122, 2920, 3123, 2920, 3123, 3124, 2920, 2920, 2920, 2920,
1285 3125, 2920, 3125, 3126, 2920, 2920, 2920, 3126, 3126, 3126,
1287 2920, 3127, 2920, 3127, 2920, 2920, 2920, 2920, 3128, 2920,
1288 3129, 2920, 3129, 2920, 2920, 2920, 3130, 3130, 2920, 2920,
1289 3130, 2920, 3131, 2920, 3131, 3132, 2920, 2920, 2920, 2920,
1290 3133, 2920, 3133, 2920, 2920, 2920, 2920, 2920, 3134, 2920,
1291 3134, 2920, 2920, 3135, 3135, 2920, 2920, 2920, 3136, 2920,
1292 3136, 3137, 3137, 3137, 3137, 2920, 3138, 2920, 3138, 2920,
1293 3139, 2920, 3140, 2920, 3140, 2920, 2920, 2920, 2920, 3141,
1294 2920, 3141, 2920, 2920, 2920, 3142, 2920, 3143, 2920, 3143,
1295 3144, 3145, 2920, 2920, 2920, 2920, 2920, 3146, 3147, 2920,
1296 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1298 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1299 2920, 2920, 2920, 2920, 2920, 2920, 3148, 2920, 2920, 3149,
1300 2920, 3150, 3151, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1301 2920, 3151, 2920, 2920, 3151, 3152, 2920, 3153, 2920, 2920,
1302 3153, 3154, 3155, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1303 2920, 2920, 2920, 2920, 2920, 3156, 3156, 2920, 2920, 3157,
1304 3158, 3158, 3159, 2920, 2920, 3160, 2920, 2920, 3161, 3162,
1305 3163, 3163, 2920, 2920, 3163, 3163, 3164, 2920, 2920, 3165,
1306 3165, 3165, 3165, 2920, 2920, 2920, 2920, 2920, 3165, 3165,
1307 3165, 3165, 3165, 3165, 3165, 3166, 3167, 3167, 3167, 3167,
1309 2920, 2920, 2920, 3167, 3167, 3168, 3169, 3170, 3171, 3171,
1310 3171, 3171, 3172, 2920, 2920, 2920, 2920, 2920, 2920, 3173,
1311 3174, 2920, 2920, 2920, 2920, 3175, 3175, 2920, 2920, 2920,
1312 3175, 3176, 3177, 3178, 2920, 2920, 2920, 2920, 2920, 2920,
1313 3179, 2920, 2920, 2920, 3180, 3180, 2920, 2920, 2920, 3181,
1314 3182, 2920, 2920, 3182, 3182, 3183, 2920, 3184, 3185, 3186,
1315 3187, 3188, 3189, 3190, 3190, 2920, 3190, 2920, 2920, 2920,
1316 3191, 3192, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1317 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1318 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1320 2920, 3193, 2920, 2920, 2920, 3194, 2920, 3195, 3196, 2920,
1321 2920, 2920, 3196, 2920, 2920, 2920, 3196, 3197, 2920, 3198,
1322 2920, 2920, 2920, 2920, 2920, 3199, 3200, 2920, 2920, 2920,
1323 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3201, 2920, 2920,
1324 2920, 2920, 2920, 3202, 3203, 3203, 3204, 2920, 2920, 2920,
1325 3205, 2920, 2920, 2920, 3206, 3207, 3208, 3208, 2920, 2920,
1326 2920, 2920, 2920, 2920, 2920, 3208, 3209, 2920, 2920, 3210,
1327 2920, 2920, 3210, 3210, 2920, 2920, 2920, 2920, 2920, 3210,
1328 3210, 3210, 3210, 3210, 3210, 3211, 3212, 2920, 2920, 3212,
1329 3212, 2920, 2920, 3212, 3213, 3214, 3215, 3216, 3216, 3216,
1331 2920, 2920, 3216, 3217, 3218, 3219, 2920, 3220, 3220, 3220,
1332 3221, 3222, 3223, 3224, 3225, 3225, 3226, 3227, 2920, 2920,
1333 2920, 3227, 3227, 3228, 2920, 2920, 2920, 3229, 3230, 2920,
1334 2920, 3231, 3232, 3233, 3233, 2920, 2920, 3234, 3235, 2920,
1335 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1336 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1337 2920, 2920, 2920, 3236, 3237, 2920, 3238, 3239, 3239, 3239,
1338 3240, 3241, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1339 2920, 2920, 2920, 3242, 3243, 2920, 2920, 2920, 2920, 2920,
1340 2920, 2920, 3244, 2920, 2920, 2920, 3245, 3246, 2920, 2920,
1342 3247, 3248, 2920, 2920, 3249, 3250, 3250, 2920, 2920, 2920,
1343 2920, 2920, 2920, 3250, 2920, 2920, 2920, 2920, 3251, 2920,
1344 2920, 2920, 2920, 2920, 3251, 2920, 2920, 2920, 2920, 2920,
1345 3251, 3251, 3251, 3251, 2920, 2920, 3252, 3253, 2920, 2920,
1346 2920, 2920, 2920, 3253, 2920, 2920, 2920, 3253, 2920, 2920,
1347 3254, 3255, 3256, 3256, 3256, 2920, 2920, 2920, 3256, 2920,
1348 2920, 3257, 3258, 2920, 2920, 2920, 2920, 2920, 3259, 3260,
1349 3261, 3262, 3263, 2920, 2920, 2920, 2920, 3264, 3265, 3265,
1350 3265, 3266, 2920, 2920, 2920, 2920, 3267, 3268, 2920, 2920,
1351 2920, 2920, 2920, 3269, 3270, 3270, 2920, 2920, 2920, 3271,
1353 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1354 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1355 2920, 3272, 3273, 2920, 2920, 2920, 3274, 2920, 2920, 3274,
1356 3275, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1357 2920, 2920, 2920, 3276, 2920, 2920, 2920, 2920, 2920, 2920,
1358 2920, 2920, 2920, 3277, 2920, 2920, 2920, 2920, 2920, 3278,
1359 2920, 2920, 2920, 2920, 2920, 3279, 3280, 3280, 2920, 2920,
1360 3280, 2920, 3281, 2920, 2920, 2920, 3281, 2920, 2920, 2920,
1361 2920, 2920, 3281, 3281, 3281, 2920, 2920, 2920, 3282, 3283,
1362 2920, 2920, 2920, 3283, 3283, 3284, 3285, 3286, 2920, 2920,
1364 3286, 3286, 2920, 2920, 3286, 3287, 2920, 2920, 2920, 2920,
1365 2920, 2920, 2920, 2920, 2920, 3288, 3289, 3290, 3291, 3292,
1366 2920, 2920, 2920, 2920, 2920, 2920, 3293, 3294, 3294, 3294,
1367 3295, 2920, 3296, 3297, 3298, 3299, 3299, 2920, 2920, 2920,
1368 2920, 3300, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1369 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3301,
1370 3302, 2920, 3303, 2920, 2920, 2920, 3303, 2920, 2920, 2920,
1371 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1372 2920, 2920, 3304, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1373 2920, 2920, 2920, 2920, 3305, 2920, 2920, 2920, 3306, 3307,
1375 3308, 3308, 2920, 2920, 2920, 2920, 3308, 2920, 3309, 3309,
1376 2920, 2920, 2920, 3309, 3309, 3309, 3310, 3311, 3311, 3311,
1377 3312, 2920, 2920, 3286, 2920, 2920, 2920, 3286, 3286, 2920,
1378 2920, 2920, 2920, 3286, 3287, 2920, 3288, 3289, 3290, 3291,
1379 3292, 3293, 2920, 2920, 3294, 3294, 3295, 2920, 3296, 2920,
1380 2920, 3298, 3299, 3299, 2920, 3300, 2920, 2920, 2920, 2920,
1381 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3302, 2920, 2920,
1382 3303, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1383 2920, 3304, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1384 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3305, 2920, 2920,
1386 3307, 3308, 3308, 2920, 2920, 2920, 2920, 3308, 2920, 3309,
1387 3309, 2920, 2920, 3309, 3309, 2920, 2920, 3311, 3311, 3311,
1388 3312, 2920, 2920, 3286, 3286, 3286, 2920, 2920, 2920, 2920,
1389 3286, 3287, 2920, 3288, 2920, 2920, 2920, 2920, 3291, 3292,
1390 3293, 2920, 2920, 2920, 2920, 2920, 3294, 2920, 2920, 2920,
1391 3296, 3298, 3299, 3299, 2920, 2920, 2920, 2920, 2920, 2920,
1392 2920, 3302, 2920, 2920, 2920, 3303, 2920, 2920, 2920, 2920,
1393 2920, 2920, 2920, 2920, 2920, 2920, 3304, 2920, 2920, 2920,
1394 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1395 2920, 2920, 2920, 2920, 3305, 2920, 2920, 3308, 3308, 2920,
1397 2920, 2920, 2920, 3309, 3309, 2920, 2920, 2920, 3309, 2920,
1398 2920, 3311, 3311, 2920, 2920, 3312, 2920, 2920, 2920, 3286,
1399 3286, 3286, 2920, 2920, 2920, 2920, 3287, 3288, 2920, 2920,
1400 2920, 2920, 2920, 3292, 3293, 2920, 2920, 2920, 2920, 2920,
1401 2920, 2920, 3298, 3299, 3299, 2920, 2920, 2920, 2920, 2920,
1402 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3303, 2920,
1403 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3304,
1404 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1405 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3305, 3308, 2920,
1406 2920, 2920, 2920, 2920, 3309, 3309, 3309, 2920, 2920, 2920,
1408 3311, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3286, 3286,
1409 3286, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1410 2920, 2920, 2920, 2920, 3292, 3293, 2920, 2920, 2920, 3298,
1411 3299, 3299, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1412 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3303, 2920,
1413 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3304, 2920, 2920,
1414 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1415 2920, 2920, 2920, 2920, 2920, 3305, 2920, 2920, 3308, 2920,
1416 2920, 2920, 3309, 3309, 3309, 3311, 2920, 2920, 2920, 2920,
1417 2920, 2920, 3286, 2920, 2920, 3286, 2920, 2920, 2920, 2920,
1419 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3292, 3293,
1420 3298, 3299, 3299, 3299, 2920, 2920, 2920, 2920, 2920, 2920,
1421 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1422 2920, 2920, 2920, 2920, 2920, 2920, 3304, 2920, 2920, 2920,
1423 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1424 2920, 2920, 2920, 3305, 2920, 2920, 2920, 3308, 3309, 3309,
1425 3309, 3311, 3286, 2920, 2920, 2920, 3286, 2920, 2920, 2920,
1426 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1427 2920, 2920, 2920, 3293, 3298, 3299, 3299, 3299, 3313, 3314,
1428 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1430 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1431 3304, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1432 2920, 2920, 2920, 2920, 3308, 3309, 3309, 2920, 2920, 3311,
1433 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1434 2920, 2920, 2920, 2920, 2920, 2920, 3293, 3298, 3299, 3315,
1435 3316, 3313, 3314, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1436 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1437 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3308, 3309, 3309,
1438 2920, 2920, 2920, 3311, 2920, 2920, 2920, 2920, 2920, 2920,
1439 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1441 2920, 2920, 2920, 2920, 3298, 3315, 3299, 3317, 3316, 3318,
1442 3299, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1443 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3308, 3309, 3309,
1444 2920, 2920, 2920, 2920, 3311, 2920, 2920, 2920, 2920, 2920,
1445 2920, 2920, 2920, 3298, 3317, 2920, 3318, 3299, 2920, 2920,
1446 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1447 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1448 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 3298, 2920,
1449 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1450 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1452 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1453 2920, 2920, 3298, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1454 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1455 2920, 2920, 2920, 2920, 3298, 2920, 2920, 2920, 2920, 2920,
1456 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1457 2920, 2920, 2920, 2920, 2920, 3298, 2920, 2920, 2920, 2920,
1458 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1459 2920, 2920, 2920, 2920, 3298, 2920, 2920, 2920, 2920, 2920,
1460 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1461 2920, 2920, 2920, 3298, 2920, 2920, 2920, 2920, 2920, 2920,
1463 2920, 2920, 2920, 2920, 2920, 2920, 3298, 2920, 2920, 2920,
1464 2920, 2920, 2920, 2920, 2920, 3298, 2920, 2920, 2920, 2920,
1465 2920, 2920, 2920, 2920, 3298, 3298, 2920, 2920, 2920, 2920,
1466 2920, 2920, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298,
1467 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298,
1468 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298,
1469 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298,
1470 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298,
1471 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298,
1472 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298,
1474 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298,
1475 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3298, 2920, 0,
1476 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1477 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1478 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1479 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1480 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1481 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1482 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1483 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1485 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1486 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1487 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1488 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1489 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1490 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1491 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1492 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1493 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1494 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1496 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1497 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1498 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1499 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1500 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1501 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1502 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1503 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1504 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1505 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1507 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1508 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1509 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1510 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1511 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1512 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1513 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1514 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1515 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1516 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1518 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
1519 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920
1522 static yyconst flex_int16_t yy_nxt[10295] =
1524 2920, 240, 241, 240, 240, 241, 240, 240, 241, 240,
1525 240, 241, 240, 245, 241, 245, 251, 242, 248, 251,
1526 242, 248, 2920, 243, 2920, 249, 243, 2920, 249, 246,
1527 245, 241, 245, 586, 252, 254, 255, 252, 254, 255,
1528 256, 257, 630, 256, 257, 586, 246, 261, 262, 587,
1529 258, 254, 255, 258, 259, 589, 256, 254, 255, 619,
1530 259, 588, 256, 261, 262, 2920, 258, 241, 241, 241,
1531 741, 588, 258, 241, 241, 241, 273, 241, 273, 273,
1532 241, 273, 742, 264, 273, 241, 273, 607, 1640, 264,
1533 661, 263, 274, 1172, 622, 274, 585, 585, 585, 1173,
1535 275, 585, 585, 585, 585, 585, 585, 263, 265, 266,
1536 241, 266, 265, 265, 265, 265, 265, 265, 265, 267,
1537 265, 265, 265, 617, 265, 269, 265, 270, 265, 273,
1538 241, 273, 241, 241, 241, 241, 241, 241, 618, 273,
1539 241, 273, 273, 241, 273, 275, 623, 612, 276, 589,
1540 622, 276, 1641, 265, 265, 274, 589, 589, 274, 273,
1541 241, 273, 585, 585, 585, 588, 585, 585, 585, 585,
1542 585, 585, 588, 588, 649, 277, 1642, 271, 265, 266,
1543 241, 266, 265, 265, 265, 265, 265, 265, 265, 267,
1544 265, 265, 265, 1643, 265, 269, 265, 270, 265, 273,
1546 241, 273, 241, 241, 241, 241, 241, 241, 594, 273,
1547 241, 273, 273, 241, 273, 277, 600, 1644, 278, 713,
1548 665, 278, 714, 265, 265, 275, 650, 667, 275, 241,
1549 241, 241, 241, 241, 241, 273, 241, 273, 273, 241,
1550 273, 273, 241, 273, 1645, 279, 747, 271, 279, 589,
1551 595, 277, 708, 748, 277, 1646, 596, 280, 273, 241,
1552 273, 597, 585, 585, 585, 588, 598, 585, 585, 585,
1553 585, 585, 585, 709, 280, 281, 282, 241, 282, 281,
1554 281, 281, 281, 281, 281, 281, 283, 281, 281, 281,
1555 647, 281, 285, 281, 286, 281, 289, 241, 289, 289,
1557 241, 289, 241, 241, 241, 648, 241, 241, 241, 289,
1558 241, 289, 290, 757, 802, 290, 1648, 803, 278, 643,
1559 281, 281, 278, 644, 2920, 290, 604, 645, 287, 281,
1560 282, 241, 282, 281, 281, 281, 281, 281, 281, 281,
1561 283, 281, 281, 281, 589, 281, 285, 281, 286, 281,
1562 289, 241, 289, 289, 241, 289, 289, 241, 289, 715,
1563 588, 611, 254, 255, 755, 624, 290, 256, 2920, 291,
1564 1649, 756, 291, 716, 281, 281, 650, 301, 625, 649,
1565 618, 796, 287, 292, 293, 241, 293, 292, 292, 292,
1566 292, 292, 292, 292, 294, 292, 292, 292, 789, 292,
1568 296, 292, 297, 292, 1650, 589, 302, 617, 315, 241,
1569 315, 315, 241, 315, 241, 241, 241, 844, 254, 255,
1570 626, 588, 618, 256, 316, 636, 825, 316, 292, 292,
1571 317, 622, 637, 301, 820, 606, 298, 679, 821, 299,
1572 826, 588, 585, 585, 585, 1651, 300, 292, 293, 241,
1573 293, 292, 292, 292, 292, 292, 292, 292, 294, 292,
1574 292, 292, 302, 292, 296, 292, 297, 292, 241, 241,
1575 241, 315, 241, 315, 315, 241, 315, 830, 315, 241,
1576 315, 315, 241, 315, 317, 589, 589, 316, 2920, 650,
1577 316, 826, 292, 292, 318, 1654, 815, 318, 619, 816,
1579 298, 588, 588, 299, 585, 585, 585, 585, 585, 585,
1580 300, 303, 304, 241, 304, 303, 303, 303, 303, 303,
1581 303, 303, 305, 303, 303, 303, 607, 303, 307, 303,
1582 308, 303, 329, 241, 329, 329, 241, 329, 340, 241,
1583 340, 679, 340, 241, 340, 340, 241, 340, 330, 1657,
1584 589, 330, 589, 589, 341, 1658, 303, 303, 341, 656,
1585 1659, 342, 585, 585, 585, 309, 588, 310, 588, 588,
1586 685, 311, 585, 585, 585, 685, 312, 313, 303, 304,
1587 241, 304, 303, 303, 303, 303, 303, 303, 303, 305,
1588 303, 303, 303, 622, 303, 307, 303, 308, 303, 340,
1590 241, 340, 241, 241, 241, 241, 241, 241, 743, 340,
1591 241, 340, 340, 241, 340, 342, 606, 1000, 343, 589,
1592 669, 343, 650, 303, 303, 344, 609, 622, 344, 664,
1593 610, 622, 309, 665, 310, 588, 618, 1463, 311, 672,
1594 667, 767, 1660, 312, 313, 319, 320, 241, 320, 319,
1595 319, 319, 319, 319, 319, 319, 321, 319, 319, 319,
1596 622, 319, 323, 319, 324, 319, 340, 241, 340, 340,
1597 241, 340, 241, 241, 241, 1661, 241, 241, 241, 340,
1598 241, 340, 345, 1665, 815, 345, 589, 829, 346, 611,
1599 319, 319, 346, 690, 589, 342, 796, 325, 585, 585,
1601 585, 695, 588, 326, 585, 585, 585, 585, 585, 585,
1602 588, 797, 327, 319, 320, 241, 320, 319, 319, 319,
1603 319, 319, 319, 319, 321, 319, 319, 319, 1666, 319,
1604 323, 319, 324, 319, 340, 241, 340, 241, 241, 241,
1605 241, 241, 241, 830, 340, 241, 340, 340, 241, 340,
1606 342, 1668, 832, 347, 589, 816, 347, 874, 319, 319,
1607 345, 832, 589, 345, 829, 325, 585, 585, 585, 1669,
1608 588, 326, 585, 585, 585, 585, 585, 585, 588, 1670,
1609 327, 331, 332, 241, 332, 331, 331, 331, 331, 331,
1610 331, 331, 333, 331, 331, 331, 773, 331, 335, 331,
1612 336, 331, 340, 241, 340, 340, 241, 340, 241, 241,
1613 241, 1672, 241, 241, 241, 340, 241, 340, 348, 589,
1614 904, 348, 1685, 905, 349, 780, 331, 331, 349, 589,
1615 1686, 350, 585, 585, 585, 588, 703, 337, 585, 585,
1616 585, 585, 585, 585, 611, 588, 338, 331, 332, 241,
1617 332, 331, 331, 331, 331, 331, 331, 331, 333, 331,
1618 331, 331, 781, 331, 335, 331, 336, 331, 340, 241,
1619 340, 241, 241, 241, 241, 241, 241, 650, 340, 241,
1620 340, 340, 241, 340, 350, 704, 1687, 351, 650, 717,
1621 351, 1690, 331, 331, 348, 589, 1691, 348, 340, 241,
1623 340, 718, 719, 337, 340, 241, 340, 585, 585, 585,
1624 743, 588, 338, 789, 352, 585, 585, 585, 661, 1692,
1625 352, 353, 354, 241, 354, 353, 353, 353, 353, 353,
1626 353, 353, 355, 353, 353, 353, 1693, 353, 357, 353,
1627 358, 353, 364, 241, 364, 364, 241, 364, 241, 241,
1628 241, 912, 241, 241, 241, 913, 670, 1698, 365, 612,
1629 589, 365, 589, 589, 317, 622, 353, 353, 317, 720,
1630 730, 359, 666, 585, 585, 585, 588, 360, 588, 588,
1631 1706, 361, 585, 585, 585, 1707, 1714, 362, 353, 354,
1632 241, 354, 353, 353, 353, 353, 353, 353, 353, 355,
1634 353, 353, 353, 1718, 353, 357, 353, 358, 353, 364,
1635 241, 364, 364, 241, 364, 364, 241, 364, 830, 364,
1636 241, 364, 585, 585, 585, 365, 589, 1719, 365, 1725,
1637 1731, 366, 879, 353, 353, 366, 589, 589, 359, 585,
1638 585, 585, 588, 735, 360, 585, 585, 585, 361, 585,
1639 585, 585, 588, 588, 362, 367, 368, 241, 368, 367,
1640 367, 367, 367, 367, 367, 367, 369, 367, 367, 367,
1641 1732, 367, 371, 367, 372, 367, 377, 241, 377, 377,
1642 241, 377, 241, 241, 241, 830, 241, 241, 241, 585,
1643 585, 585, 378, 1000, 589, 378, 1000, 1281, 317, 880,
1645 367, 367, 317, 1733, 1734, 373, 585, 585, 585, 749,
1646 588, 374, 585, 585, 585, 585, 585, 585, 585, 585,
1647 585, 1633, 375, 367, 368, 241, 368, 367, 367, 367,
1648 367, 367, 367, 367, 369, 367, 367, 367, 1738, 367,
1649 371, 367, 372, 367, 377, 241, 377, 377, 241, 377,
1650 377, 241, 377, 1744, 377, 241, 377, 750, 1748, 1751,
1651 378, 622, 1753, 378, 1302, 1754, 379, 1755, 367, 367,
1652 379, 589, 589, 373, 585, 585, 585, 1303, 762, 374,
1653 585, 585, 585, 585, 585, 585, 1759, 588, 588, 1762,
1654 375, 380, 381, 241, 381, 380, 380, 380, 380, 380,
1656 380, 380, 382, 380, 380, 380, 1764, 380, 384, 380,
1657 385, 380, 389, 241, 389, 389, 241, 389, 400, 241,
1658 400, 1771, 400, 241, 400, 414, 241, 414, 390, 589,
1659 589, 390, 1779, 1780, 401, 589, 380, 380, 401, 1781,
1660 1783, 415, 585, 585, 585, 588, 588, 386, 585, 585,
1661 585, 588, 387, 380, 381, 241, 381, 380, 380, 380,
1662 380, 380, 380, 380, 382, 380, 380, 380, 1466, 380,
1663 384, 380, 385, 380, 414, 241, 414, 241, 241, 241,
1664 241, 241, 241, 1797, 414, 241, 414, 414, 241, 414,
1665 415, 589, 1801, 416, 1802, 822, 416, 1000, 380, 380,
1667 415, 1796, 823, 415, 585, 585, 585, 588, 824, 386,
1668 585, 585, 585, 1002, 387, 391, 392, 241, 392, 391,
1669 391, 391, 391, 391, 391, 391, 393, 391, 391, 391,
1670 1805, 391, 395, 391, 396, 391, 414, 241, 414, 414,
1671 241, 414, 433, 241, 433, 1807, 433, 241, 433, 449,
1672 241, 449, 417, 1808, 1809, 417, 1466, 1810, 434, 1803,
1673 391, 391, 434, 1000, 1811, 450, 585, 585, 585, 585,
1674 585, 585, 585, 585, 585, 1804, 397, 585, 585, 585,
1675 1794, 1814, 398, 391, 392, 241, 392, 391, 391, 391,
1676 391, 391, 391, 391, 393, 391, 391, 391, 1795, 391,
1678 395, 391, 396, 391, 449, 241, 449, 460, 241, 460,
1679 460, 241, 460, 1815, 473, 241, 473, 473, 241, 473,
1680 450, 1818, 1819, 461, 589, 1820, 461, 1821, 391, 391,
1681 474, 785, 1823, 474, 585, 585, 585, 585, 585, 585,
1682 588, 585, 585, 585, 397, 585, 585, 585, 1824, 1827,
1683 398, 402, 403, 241, 403, 402, 402, 402, 402, 402,
1684 402, 402, 404, 402, 402, 402, 1830, 402, 406, 402,
1685 407, 402, 241, 241, 241, 241, 241, 241, 473, 241,
1686 473, 1834, 473, 241, 473, 1835, 589, 1313, 317, 1838,
1687 1839, 317, 1840, 794, 474, 1843, 402, 402, 474, 408,
1689 1303, 409, 588, 800, 800, 800, 1847, 410, 800, 800,
1690 800, 1851, 1004, 1867, 411, 1868, 1869, 412, 402, 403,
1691 241, 403, 402, 402, 402, 402, 402, 402, 402, 404,
1692 402, 402, 402, 1870, 402, 406, 402, 407, 402, 473,
1693 241, 473, 473, 241, 473, 485, 241, 485, 1871, 485,
1694 241, 485, 1049, 1049, 1049, 475, 1050, 1872, 475, 1051,
1695 834, 486, 801, 402, 402, 486, 408, 823, 409, 834,
1696 822, 1873, 1877, 835, 410, 1883, 823, 823, 1017, 1017,
1697 1017, 411, 824, 835, 412, 418, 419, 241, 419, 418,
1698 418, 418, 418, 418, 418, 418, 420, 418, 418, 418,
1700 421, 418, 422, 418, 423, 418, 421, 421, 421, 421,
1701 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
1702 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
1703 418, 418, 421, 424, 425, 426, 421, 421, 421, 421,
1704 421, 427, 421, 421, 428, 421, 421, 421, 429, 421,
1705 430, 431, 421, 421, 421, 421, 421, 421, 421, 435,
1706 436, 241, 436, 435, 435, 435, 435, 435, 435, 435,
1707 437, 435, 435, 435, 1884, 435, 439, 435, 440, 435,
1708 241, 241, 241, 241, 241, 241, 485, 241, 485, 1836,
1709 485, 241, 485, 841, 841, 841, 487, 1837, 1885, 487,
1711 1890, 1313, 486, 1894, 435, 435, 486, 441, 442, 443,
1712 842, 1037, 1037, 1037, 1337, 444, 1841, 1895, 445, 1017,
1713 1017, 1017, 446, 1896, 1842, 447, 435, 436, 241, 436,
1714 435, 435, 435, 435, 435, 435, 435, 437, 435, 435,
1715 435, 1898, 435, 439, 435, 440, 435, 485, 241, 485,
1716 485, 241, 485, 499, 241, 499, 1902, 499, 241, 499,
1717 849, 849, 849, 488, 1903, 1848, 488, 1904, 1848, 500,
1718 1905, 435, 435, 500, 441, 442, 443, 850, 1037, 1037,
1719 1037, 1849, 444, 1018, 1804, 445, 1478, 1478, 1478, 446,
1720 1906, 1909, 447, 451, 452, 241, 452, 451, 451, 451,
1722 451, 451, 451, 451, 453, 451, 451, 451, 1916, 451,
1723 455, 451, 456, 451, 241, 241, 241, 241, 241, 241,
1724 499, 241, 499, 1918, 499, 241, 499, 1148, 834, 1928,
1725 487, 1929, 1803, 487, 1930, 823, 500, 1149, 451, 451,
1726 500, 859, 1018, 457, 1150, 1480, 1480, 1480, 1849, 458,
1727 451, 452, 241, 452, 451, 451, 451, 451, 451, 451,
1728 451, 453, 451, 451, 451, 1932, 451, 455, 451, 456,
1729 451, 499, 241, 499, 499, 241, 499, 511, 241, 511,
1730 1938, 511, 241, 511, 865, 865, 865, 501, 1673, 1944,
1731 501, 1481, 1945, 512, 1674, 451, 451, 512, 1675, 1946,
1733 457, 866, 1676, 1017, 1017, 1017, 458, 462, 463, 241,
1734 463, 462, 462, 462, 462, 462, 462, 462, 464, 462,
1735 462, 462, 1949, 462, 466, 462, 467, 462, 522, 241,
1736 522, 522, 241, 522, 241, 241, 241, 1466, 241, 241,
1737 241, 522, 241, 522, 523, 1000, 1950, 523, 1951, 1955,
1738 487, 1935, 462, 462, 487, 1959, 468, 523, 1059, 1059,
1739 1059, 1961, 1060, 469, 1962, 1061, 470, 1090, 1936, 1466,
1740 1037, 1037, 1037, 471, 462, 463, 241, 463, 462, 462,
1741 462, 462, 462, 462, 462, 464, 462, 462, 462, 1963,
1742 462, 466, 462, 467, 462, 522, 241, 522, 522, 241,
1744 522, 522, 241, 522, 1967, 535, 241, 535, 535, 241,
1745 535, 523, 1973, 1974, 524, 1937, 1975, 524, 1976, 462,
1746 462, 536, 1977, 468, 536, 1082, 1082, 1082, 1978, 1083,
1747 469, 1979, 1084, 470, 1090, 1484, 1484, 1484, 1980, 1981,
1748 471, 476, 477, 241, 477, 476, 476, 476, 476, 476,
1749 476, 476, 478, 476, 476, 476, 1982, 476, 480, 476,
1750 481, 476, 241, 241, 241, 241, 241, 241, 535, 241,
1751 535, 1988, 535, 241, 535, 535, 241, 535, 487, 1989,
1752 2001, 487, 2002, 2007, 536, 2008, 476, 476, 536, 2009,
1753 2003, 537, 482, 1101, 1101, 1101, 2010, 1102, 2004, 2014,
1755 1103, 1487, 1487, 1487, 1496, 1496, 1496, 483, 476, 477,
1756 241, 477, 476, 476, 476, 476, 476, 476, 476, 478,
1757 476, 476, 476, 2015, 476, 480, 476, 481, 476, 535,
1758 241, 535, 549, 241, 549, 549, 241, 549, 2005, 241,
1759 241, 241, 241, 241, 241, 537, 2006, 2016, 550, 2018,
1760 2019, 550, 2020, 476, 476, 551, 2021, 2024, 551, 482,
1761 1111, 1111, 1111, 2028, 1112, 2029, 2034, 1113, 1519, 1519,
1762 1519, 1530, 1530, 1530, 483, 489, 490, 241, 490, 489,
1763 489, 489, 489, 489, 489, 489, 491, 489, 489, 489,
1764 2035, 489, 493, 489, 494, 489, 549, 241, 549, 549,
1766 241, 549, 549, 241, 549, 2036, 549, 241, 549, 561,
1767 241, 561, 550, 1677, 2037, 550, 2030, 2039, 552, 1678,
1768 489, 489, 552, 1679, 2031, 562, 495, 1680, 2032, 496,
1769 1119, 1119, 1119, 2048, 1120, 2058, 2033, 1121, 1531, 1531,
1770 1531, 497, 489, 490, 241, 490, 489, 489, 489, 489,
1771 489, 489, 489, 491, 489, 489, 489, 1466, 489, 493,
1772 489, 494, 489, 561, 241, 561, 571, 241, 571, 571,
1773 241, 571, 2059, 241, 241, 241, 241, 241, 241, 562,
1774 2063, 2064, 572, 2065, 1481, 572, 2068, 489, 489, 317,
1775 2072, 2073, 317, 495, 2074, 2075, 496, 1136, 1136, 1136,
1777 2053, 1137, 2076, 1466, 1138, 1480, 1480, 1480, 497, 502,
1778 503, 241, 503, 502, 502, 502, 502, 502, 502, 502,
1779 504, 502, 502, 502, 2077, 502, 506, 502, 507, 502,
1780 571, 241, 571, 571, 241, 571, 571, 241, 571, 2078,
1781 571, 241, 571, 583, 241, 583, 572, 2079, 2080, 572,
1782 2054, 1607, 573, 2920, 502, 502, 573, 2081, 2095, 584,
1783 508, 2096, 619, 619, 2097, 509, 502, 503, 241, 503,
1784 502, 502, 502, 502, 502, 502, 502, 504, 502, 502,
1785 502, 2102, 502, 506, 502, 507, 502, 583, 241, 583,
1786 670, 2103, 620, 2104, 2105, 1013, 1013, 1013, 621, 2106,
1788 661, 2107, 2108, 584, 2110, 622, 671, 2111, 661, 623,
1789 662, 502, 502, 1015, 1478, 1478, 1478, 508, 668, 1480,
1790 1480, 1480, 509, 513, 514, 241, 514, 513, 513, 513,
1791 513, 513, 513, 513, 515, 513, 513, 513, 663, 513,
1792 517, 513, 518, 513, 664, 2114, 669, 2115, 665, 882,
1793 882, 882, 2118, 2119, 666, 667, 889, 889, 889, 2120,
1794 622, 894, 894, 894, 616, 2121, 883, 2125, 513, 513,
1795 906, 906, 906, 890, 519, 1151, 1151, 1151, 895, 1152,
1796 2126, 2127, 1153, 1647, 1647, 1647, 2128, 907, 2129, 520,
1797 513, 514, 241, 514, 513, 513, 513, 513, 513, 513,
1799 513, 515, 513, 513, 513, 2130, 513, 517, 513, 518,
1800 513, 916, 916, 916, 919, 919, 919, 934, 934, 934,
1801 942, 942, 942, 947, 947, 947, 2131, 2132, 917, 2134,
1802 2157, 920, 2158, 2159, 935, 513, 513, 943, 2160, 2161,
1803 948, 519, 1155, 1155, 1155, 2162, 1156, 2167, 2168, 1157,
1804 1484, 1484, 1484, 1487, 1487, 1487, 520, 525, 526, 241,
1805 526, 525, 525, 525, 525, 525, 525, 525, 527, 525,
1806 525, 525, 1466, 525, 529, 525, 530, 525, 967, 967,
1807 967, 990, 990, 990, 994, 994, 994, 1013, 1013, 1013,
1808 2169, 1044, 1044, 1044, 2170, 968, 2171, 2172, 991, 2173,
1810 2174, 995, 525, 525, 2153, 1015, 2175, 2176, 531, 1046,
1811 2178, 532, 1175, 1175, 1175, 1466, 1176, 2179, 2182, 1177,
1812 1652, 1652, 1652, 533, 525, 526, 241, 526, 525, 525,
1813 525, 525, 525, 525, 525, 527, 525, 525, 525, 2183,
1814 525, 529, 525, 530, 525, 1016, 1044, 1044, 1044, 841,
1815 841, 841, 2154, 1054, 1054, 1054, 1054, 1054, 1054, 849,
1816 849, 849, 2184, 2180, 1046, 2185, 842, 2186, 2187, 525,
1817 525, 1056, 2181, 2189, 1056, 531, 850, 2188, 532, 1187,
1818 1187, 1187, 2190, 1188, 1653, 2191, 1189, 1496, 1496, 1496,
1819 533, 538, 539, 241, 539, 538, 538, 538, 538, 538,
1821 538, 538, 540, 538, 538, 538, 1047, 538, 542, 538,
1822 543, 538, 1062, 1062, 1062, 1065, 1065, 1065, 2192, 2193,
1823 1057, 1070, 1070, 1070, 1078, 1078, 1078, 2083, 2084, 1063,
1824 2085, 2194, 1066, 1070, 1070, 1070, 538, 538, 2086, 1072,
1825 2198, 2087, 1080, 2199, 544, 2088, 545, 2200, 2201, 546,
1826 2204, 1072, 1519, 1519, 1519, 2205, 2209, 547, 538, 539,
1827 241, 539, 538, 538, 538, 538, 538, 538, 538, 540,
1828 538, 538, 538, 2212, 538, 542, 538, 543, 538, 2213,
1829 1073, 2216, 1078, 1078, 1078, 865, 865, 865, 1086, 1086,
1830 1086, 882, 882, 882, 1106, 1106, 1106, 1106, 1106, 1106,
1832 1080, 2220, 866, 538, 538, 2221, 1088, 2222, 883, 2223,
1833 2224, 544, 1108, 545, 2227, 1108, 546, 2228, 1655, 1655,
1834 1655, 1530, 1530, 1530, 547, 553, 554, 241, 554, 553,
1835 553, 553, 553, 553, 553, 553, 555, 553, 553, 553,
1836 1466, 553, 557, 553, 558, 553, 1081, 1086, 1086, 1086,
1837 889, 889, 889, 2246, 1115, 1115, 1115, 1115, 1115, 1115,
1838 894, 894, 894, 1109, 1656, 1088, 2247, 890, 2248, 2249,
1839 553, 553, 1117, 1466, 2250, 1117, 2260, 895, 1195, 1195,
1840 1195, 2261, 1196, 2245, 1089, 1197, 1227, 1227, 1227, 2262,
1841 1228, 2263, 2264, 1229, 559, 553, 554, 241, 554, 553,
1843 553, 553, 553, 553, 553, 553, 555, 553, 553, 553,
1844 2244, 553, 557, 553, 558, 553, 1123, 1123, 1123, 1123,
1845 1123, 1123, 1000, 1118, 1129, 1129, 1129, 1129, 1129, 1129,
1846 906, 906, 906, 2253, 1125, 2265, 2266, 1125, 2267, 2268,
1847 553, 553, 1131, 2254, 2269, 1131, 2255, 907, 1266, 1266,
1848 1266, 2271, 1267, 2272, 2273, 1268, 1273, 1273, 1273, 2274,
1849 1274, 2275, 2243, 1275, 559, 563, 564, 241, 564, 563,
1850 563, 563, 563, 563, 563, 563, 565, 563, 563, 563,
1851 1126, 563, 567, 563, 568, 563, 1141, 1141, 1141, 1141,
1852 1141, 1141, 1132, 2276, 2277, 916, 916, 916, 919, 919,
1854 919, 1158, 1158, 1158, 1143, 2278, 2256, 1143, 2279, 2280,
1855 563, 563, 917, 2281, 2282, 920, 2257, 2283, 1159, 2258,
1856 2284, 569, 563, 564, 241, 564, 563, 563, 563, 563,
1857 563, 563, 563, 565, 563, 563, 563, 2285, 563, 567,
1858 563, 568, 563, 1167, 1167, 1167, 1167, 1167, 1167, 2286,
1859 1144, 2287, 934, 934, 934, 1178, 1178, 1178, 1182, 1182,
1860 1182, 1169, 2289, 2295, 1169, 2296, 2297, 563, 563, 935,
1861 2301, 2309, 1179, 1531, 1531, 1531, 1184, 2310, 569, 574,
1862 575, 241, 575, 574, 574, 574, 574, 574, 574, 574,
1863 576, 574, 574, 574, 2311, 574, 578, 574, 579, 574,
1865 942, 942, 942, 2333, 1170, 1190, 1190, 1190, 2335, 1190,
1866 1190, 1190, 2336, 1182, 1182, 1182, 1000, 943, 2337, 947,
1867 947, 947, 2341, 1192, 574, 574, 2342, 1192, 1201, 1201,
1868 1201, 1184, 1662, 1662, 1662, 580, 948, 1049, 1049, 1049,
1869 2345, 1050, 2346, 2350, 1051, 2330, 1203, 1466, 581, 574,
1870 575, 241, 575, 574, 574, 574, 574, 574, 574, 574,
1871 576, 574, 574, 574, 1185, 574, 578, 574, 579, 574,
1872 1193, 2351, 1201, 1201, 1201, 1205, 1205, 1205, 1663, 1207,
1873 1207, 1207, 2920, 2920, 2920, 1210, 1210, 1210, 2319, 2331,
1874 1203, 2352, 1206, 2353, 574, 574, 1208, 2343, 2320, 2920,
1876 1215, 1215, 1215, 1212, 2321, 580, 1210, 1210, 1210, 2354,
1877 2344, 2920, 2920, 2920, 1219, 1219, 1219, 1216, 581, 589,
1878 2920, 2920, 2920, 2355, 1212, 2356, 604, 1204, 2920, 2357,
1879 1466, 1220, 1222, 1222, 1222, 588, 605, 2920, 967, 967,
1880 967, 1209, 1230, 1230, 1230, 1234, 1234, 1234, 2359, 2360,
1881 1224, 1222, 1222, 1222, 2361, 968, 1236, 1236, 1236, 2362,
1882 1232, 1217, 1235, 606, 607, 608, 2363, 1213, 2364, 1224,
1883 609, 610, 2332, 1237, 611, 612, 1218, 2365, 613, 1221,
1884 614, 615, 616, 1230, 1230, 1230, 2366, 2367, 1225, 1238,
1885 1238, 1238, 1238, 1238, 1238, 1242, 1242, 1242, 1246, 1246,
1887 1246, 1232, 2920, 2920, 2920, 2368, 2369, 1240, 2370, 2371,
1888 1240, 2372, 1243, 2373, 2375, 1247, 1248, 1248, 1248, 2920,
1889 2347, 1248, 1248, 1248, 1256, 1256, 1256, 1256, 1256, 1256,
1890 1262, 1262, 1262, 2348, 1250, 1262, 1262, 1262, 1233, 1250,
1891 2383, 2384, 1258, 2385, 2386, 1258, 2393, 2396, 1264, 990,
1892 990, 990, 1244, 1264, 1269, 1269, 1269, 1269, 1269, 1269,
1893 994, 994, 994, 1241, 2403, 2404, 991, 1245, 1277, 1277,
1894 1277, 2405, 1271, 2406, 2407, 1271, 2408, 995, 1277, 1277,
1895 1277, 1000, 1013, 1013, 1013, 2415, 1279, 1013, 1013, 1013,
1896 1466, 1259, 1251, 1013, 1013, 1013, 1279, 2417, 2418, 1265,
1898 1015, 2419, 1315, 1315, 1315, 1015, 1044, 1044, 1044, 2420,
1899 2421, 1015, 1044, 1044, 1044, 1044, 1044, 1044, 1272, 1316,
1900 1318, 1318, 1318, 2422, 1046, 2412, 2920, 2920, 2920, 2411,
1901 1046, 2423, 2424, 1046, 1054, 1054, 1054, 1319, 2425, 2426,
1902 1289, 2429, 1280, 2920, 1054, 1054, 1054, 1054, 1054, 1054,
1903 2430, 2431, 1056, 1059, 1059, 1059, 2432, 1060, 2433, 2434,
1904 1061, 2435, 1056, 2436, 1317, 1056, 1062, 1062, 1062, 1324,
1905 1324, 1324, 2322, 1325, 2438, 2439, 1326, 2440, 1327, 1327,
1906 1327, 2441, 2323, 1063, 1065, 1065, 1065, 1320, 2324, 1329,
1907 1329, 1329, 2442, 1330, 1322, 1328, 1331, 1333, 1333, 1333,
1909 2443, 1066, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070,
1910 1070, 1339, 1339, 1339, 1334, 1078, 1078, 1078, 2444, 2445,
1911 1072, 2446, 2447, 1072, 2448, 2449, 1072, 2450, 1340, 1078,
1912 1078, 1078, 2451, 1080, 1078, 1078, 1078, 1082, 1082, 1082,
1913 2452, 1083, 2458, 2459, 1084, 2460, 2461, 1080, 1086, 1086,
1914 1086, 2462, 1080, 1086, 1086, 1086, 1344, 1344, 1344, 2463,
1915 1101, 1101, 1101, 2467, 1102, 2476, 1088, 1103, 1336, 2477,
1916 2478, 1088, 2479, 2480, 1345, 1358, 1358, 1358, 1106, 1106,
1917 1106, 1342, 1106, 1106, 1106, 1106, 1106, 1106, 1115, 1115,
1918 1115, 2481, 1359, 1115, 1115, 1115, 1108, 1111, 1111, 1111,
1920 1108, 1112, 1000, 1108, 1113, 2468, 1117, 1115, 1115, 1115,
1921 2494, 1117, 1119, 1119, 1119, 2469, 1120, 2495, 2496, 1121,
1922 1364, 1364, 1364, 2497, 2498, 1117, 1123, 1123, 1123, 1123,
1923 1123, 1123, 1123, 1123, 1123, 2470, 2485, 1365, 1367, 1367,
1924 1367, 2920, 2920, 2920, 1125, 2471, 1360, 1125, 2499, 2500,
1925 1125, 2501, 1129, 1129, 1129, 1368, 2505, 2506, 2920, 1129,
1926 1129, 1129, 1129, 1129, 1129, 1373, 1373, 1373, 1363, 1369,
1927 1131, 1136, 1136, 1136, 2507, 1137, 2508, 1131, 1138, 2509,
1928 1131, 2510, 1374, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
1929 1141, 1141, 2472, 1151, 1151, 1151, 2474, 1152, 2512, 1366,
1931 1153, 1143, 2473, 2513, 1143, 2514, 2475, 1143, 1384, 1384,
1932 1384, 1155, 1155, 1155, 2515, 1156, 2516, 2517, 1157, 1158,
1933 1158, 1158, 1386, 1386, 1386, 1385, 1387, 2518, 1370, 1388,
1934 1167, 1167, 1167, 1167, 1167, 1167, 1159, 1167, 1167, 1167,
1935 1175, 1175, 1175, 2519, 1176, 2520, 2521, 1177, 1169, 2525,
1936 2526, 1169, 2527, 2530, 1377, 1169, 1178, 1178, 1178, 1401,
1937 1401, 1401, 2535, 1402, 2536, 2537, 1403, 1182, 1182, 1182,
1938 1182, 1182, 1182, 1179, 1182, 1182, 1182, 1187, 1187, 1187,
1939 2538, 1188, 2539, 2540, 1189, 1184, 2541, 2542, 1184, 1190,
1940 1190, 1190, 1184, 1190, 1190, 1190, 1190, 1190, 1190, 1195,
1942 1195, 1195, 2543, 1196, 1396, 2544, 1197, 1192, 1201, 1201,
1943 1201, 1192, 2545, 2546, 1192, 1201, 1201, 1201, 1201, 1201,
1944 1201, 1205, 1205, 1205, 2554, 1406, 1203, 1414, 1414, 1414,
1945 1000, 1415, 2555, 1203, 1416, 2556, 1203, 2557, 1206, 1207,
1946 1207, 1207, 1417, 1417, 1417, 2558, 1418, 2559, 2560, 1419,
1947 1210, 1210, 1210, 1210, 1210, 1210, 1208, 1210, 1210, 1210,
1948 1215, 1215, 1215, 1408, 2561, 1423, 1423, 1423, 1212, 1424,
1949 2562, 1212, 1425, 2548, 2563, 1212, 2564, 1216, 1413, 1219,
1950 1219, 1219, 1428, 1428, 1428, 2565, 1429, 2566, 2567, 1430,
1951 1222, 1222, 1222, 1222, 1222, 1222, 1220, 1222, 1222, 1222,
1953 1227, 1227, 1227, 2570, 1228, 2571, 2572, 1229, 1224, 2573,
1954 2574, 1224, 1230, 1230, 1230, 1224, 1230, 1230, 1230, 1230,
1955 1230, 1230, 2575, 2576, 1421, 1234, 1234, 1234, 2577, 2578,
1956 1232, 1435, 1435, 1435, 1232, 1436, 2579, 1232, 1437, 1236,
1957 1236, 1236, 1235, 1438, 1438, 1438, 2580, 1439, 2584, 2591,
1958 1440, 1238, 1238, 1238, 2592, 2593, 1237, 1238, 1238, 1238,
1959 2594, 1432, 1238, 1238, 1238, 1242, 1242, 1242, 2595, 1240,
1960 1442, 1442, 1442, 2596, 1443, 1240, 2597, 1444, 2598, 1434,
1961 1240, 2599, 1243, 1246, 1246, 1246, 1447, 1447, 1447, 2600,
1962 1448, 2601, 2602, 1449, 1248, 1248, 1248, 1248, 1248, 1248,
1964 1247, 1248, 1248, 1248, 1452, 1452, 1452, 1256, 1256, 1256,
1965 2612, 2607, 1250, 2613, 2614, 1250, 1256, 1256, 1256, 1250,
1966 2615, 1453, 2610, 1000, 1441, 1258, 1256, 1256, 1256, 1262,
1967 1262, 1262, 2607, 2616, 1258, 1262, 1262, 1262, 1262, 1262,
1968 1262, 1266, 1266, 1266, 1258, 1267, 2608, 1264, 1268, 1269,
1969 1269, 1269, 2617, 1264, 2618, 2619, 1264, 1269, 1269, 1269,
1970 1269, 1269, 1269, 1450, 1273, 1273, 1273, 1271, 1274, 2605,
1971 2620, 1275, 1277, 1277, 1277, 1271, 2621, 2622, 1271, 1277,
1972 1277, 1277, 1277, 1277, 1277, 2623, 2624, 1456, 2625, 2626,
1973 1279, 1459, 1465, 1465, 1465, 2627, 2628, 1279, 2629, 2630,
1975 1279, 1013, 1013, 1013, 1315, 1315, 1315, 1044, 1044, 1044,
1976 1466, 1467, 2635, 1318, 1318, 1318, 1344, 1344, 1344, 1015,
1977 1460, 1316, 1499, 1499, 1499, 1046, 1500, 2640, 2641, 1501,
1978 1319, 1503, 1503, 1503, 1345, 1504, 2642, 2631, 1505, 1054,
1979 1054, 1054, 2643, 1462, 1324, 1324, 1324, 2646, 1325, 2632,
1980 2633, 1326, 1327, 1327, 1327, 2646, 2636, 1056, 2649, 1510,
1981 1510, 1510, 2634, 1511, 2638, 1502, 1512, 1472, 2637, 1328,
1982 1329, 1329, 1329, 2650, 1330, 2651, 2639, 1331, 1333, 1333,
1983 1333, 2652, 1514, 1514, 1514, 2655, 1515, 1000, 1508, 1516,
1984 1070, 1070, 1070, 2607, 2653, 1334, 1339, 1339, 1339, 1521,
1986 1521, 1521, 2658, 1522, 1466, 1467, 1523, 2608, 1072, 1524,
1987 1524, 1524, 2654, 1340, 1078, 1078, 1078, 1539, 1539, 1539,
1988 1358, 1358, 1358, 1541, 1541, 1541, 1525, 1542, 2644, 2667,
1989 1543, 2670, 1080, 2675, 1540, 2678, 2665, 1359, 2656, 2668,
1990 1518, 1106, 1106, 1106, 1115, 1115, 1115, 1364, 1364, 1364,
1991 1548, 1548, 1548, 2657, 1549, 2666, 2646, 1550, 2669, 1108,
1992 2680, 2646, 1117, 1526, 1365, 1123, 1123, 1123, 1367, 1367,
1993 1367, 1552, 1552, 1552, 2681, 1553, 2682, 2683, 1554, 1129,
1994 1129, 1129, 2673, 1125, 2607, 1368, 1373, 1373, 1373, 1559,
1995 1559, 1559, 2684, 1560, 2685, 2610, 1561, 1131, 1562, 1562,
1997 1562, 2674, 2686, 1374, 2687, 1544, 2688, 2698, 1547, 1564,
1998 1564, 1564, 1141, 1141, 1141, 1563, 1571, 1571, 1571, 1384,
1999 1384, 1384, 1717, 1717, 1717, 1551, 1565, 1575, 1575, 1575,
2000 1143, 1576, 2699, 1572, 1577, 2676, 1385, 1386, 1386, 1386,
2001 1556, 1387, 2700, 2701, 1388, 1578, 1578, 1578, 1167, 1167,
2002 1167, 1588, 1588, 1588, 2677, 1566, 1401, 1401, 1401, 2702,
2003 1402, 2703, 1579, 1403, 2707, 2708, 1169, 2709, 1589, 1592,
2004 1592, 1592, 1182, 1182, 1182, 1190, 1190, 1190, 1567, 1601,
2005 1601, 1601, 1201, 1201, 1201, 2710, 1593, 1414, 1414, 1414,
2006 1184, 1415, 2711, 1192, 1416, 2712, 1602, 1417, 1417, 1417,
2008 1203, 1418, 2714, 2715, 1419, 1210, 1210, 1210, 1423, 1423,
2009 1423, 2716, 1424, 1586, 2717, 1425, 2718, 1428, 1428, 1428,
2010 2719, 1429, 2723, 1212, 1430, 1603, 1222, 1222, 1222, 1230,
2011 1230, 1230, 2720, 1435, 1435, 1435, 1595, 1436, 2724, 1604,
2012 1437, 1597, 2721, 2725, 1224, 2726, 2727, 1232, 1438, 1438,
2013 1438, 2728, 1439, 2729, 2722, 1440, 1238, 1238, 1238, 1442,
2014 1442, 1442, 2730, 1443, 2731, 2732, 1444, 2733, 1447, 1447,
2015 1447, 1606, 1448, 2734, 1240, 1449, 1248, 1248, 1248, 1452,
2016 1452, 1452, 1256, 1256, 1256, 2736, 1613, 1611, 1619, 1619,
2017 1619, 2737, 1620, 2738, 1250, 1621, 1453, 1626, 1626, 1626,
2019 1258, 1000, 2739, 1614, 1262, 1262, 1262, 1269, 1269, 1269,
2020 1630, 1630, 1630, 2740, 1627, 1277, 1277, 1277, 1465, 1465,
2021 1465, 2741, 1264, 1617, 2742, 1271, 2735, 1631, 1013, 1013,
2022 1013, 1624, 2743, 1279, 2744, 2745, 1466, 1499, 1499, 1499,
2023 2746, 1500, 2747, 2748, 1501, 2749, 1015, 1044, 1044, 1044,
2024 1503, 1503, 1503, 2750, 1504, 2751, 2752, 1505, 2753, 1629,
2025 1054, 1054, 1054, 2754, 2755, 1046, 1510, 1510, 1510, 1634,
2026 1511, 1628, 2757, 1512, 1070, 1070, 1070, 1632, 1056, 2758,
2027 1639, 1514, 1514, 1514, 2759, 1515, 1635, 1000, 1516, 1521,
2028 1521, 1521, 1072, 1522, 2760, 2761, 1523, 2762, 1524, 1524,
2030 1524, 1681, 1681, 1681, 2763, 1682, 2756, 2764, 1683, 2765,
2031 2766, 1667, 2767, 2768, 1664, 1525, 1078, 1078, 1078, 1688,
2032 1688, 1688, 1688, 1688, 1688, 1652, 1652, 1652, 1539, 1539,
2033 1539, 1106, 1106, 1106, 1080, 1671, 1694, 1694, 1694, 2769,
2034 1695, 2770, 2771, 1696, 2772, 1540, 1541, 1541, 1541, 1108,
2035 1542, 2773, 2774, 1543, 1699, 1699, 1699, 1115, 1115, 1115,
2036 2776, 1548, 1548, 1548, 2777, 1549, 2778, 1684, 1550, 2779,
2037 2780, 1700, 1123, 1123, 1123, 1117, 2781, 1000, 1697, 2782,
2038 1552, 1552, 1552, 1689, 1553, 2783, 1653, 1554, 2784, 1689,
2039 1125, 1703, 1703, 1703, 1129, 1129, 1129, 2775, 1559, 1559,
2041 1559, 2785, 1560, 2786, 1701, 1561, 2787, 2788, 1704, 1562,
2042 1562, 1562, 1131, 1708, 1708, 1708, 2789, 1709, 2790, 2791,
2043 1710, 2792, 1564, 1564, 1564, 2793, 1563, 1711, 1711, 1711,
2044 2795, 1712, 2796, 2797, 1713, 1715, 1715, 1715, 1702, 1565,
2045 1571, 1571, 1571, 1720, 1720, 1720, 1000, 1721, 2798, 2799,
2046 1722, 2800, 2794, 1716, 1723, 1723, 1723, 1572, 1705, 1575,
2047 1575, 1575, 2801, 1576, 2802, 2803, 1577, 1578, 1578, 1578,
2048 2804, 1724, 1726, 1726, 1726, 2805, 1727, 2806, 2808, 1728,
2049 1729, 1729, 1729, 2809, 1579, 1735, 1735, 1735, 1167, 1167,
2050 1167, 1588, 1588, 1588, 1739, 1739, 1739, 1730, 1740, 2810,
2052 2811, 1741, 1736, 1742, 1742, 1742, 1169, 2812, 1589, 1592,
2053 1592, 1592, 1745, 1745, 1745, 2813, 1746, 2814, 2815, 1747,
2054 1743, 1749, 1749, 1749, 1000, 2817, 1593, 1190, 1190, 1190,
2055 1601, 1601, 1601, 1756, 1756, 1756, 2818, 1757, 2807, 1750,
2056 1758, 1760, 1760, 1760, 2819, 1192, 2820, 1602, 1210, 1210,
2057 1210, 1765, 1765, 1765, 1737, 1767, 1767, 1767, 2821, 1761,
2058 2920, 2920, 2920, 1222, 1222, 1222, 1212, 2822, 1766, 1230,
2059 1230, 1230, 1768, 1238, 1238, 1238, 2823, 2920, 1752, 2824,
2060 2827, 1224, 2828, 1774, 1774, 1774, 2829, 1232, 1776, 1776,
2061 1776, 1240, 1248, 1248, 1248, 1256, 1256, 1256, 2830, 1763,
2063 1775, 2831, 1619, 1619, 1619, 1777, 1620, 2832, 2841, 1621,
2064 1250, 1000, 1000, 1258, 1000, 1772, 1626, 1626, 1626, 1784,
2065 1784, 1784, 1000, 1785, 1769, 1638, 1786, 1262, 1262, 1262,
2066 1770, 1637, 1636, 1627, 1269, 1269, 1269, 1466, 1773, 1630,
2067 1630, 1630, 1792, 1792, 1792, 1264, 1782, 1789, 1789, 1789,
2068 2833, 1790, 1271, 1000, 1791, 1625, 1631, 1778, 2834, 2835,
2069 1793, 1798, 1798, 1798, 1013, 1013, 1013, 1806, 1806, 1806,
2070 1647, 1647, 1647, 1812, 1812, 1812, 1000, 1000, 1799, 1652,
2071 1652, 1652, 1015, 1813, 1813, 1813, 1787, 1000, 2853, 1788,
2072 1655, 1655, 1655, 1816, 1816, 1816, 1817, 1817, 1817, 1662,
2074 1662, 1662, 1044, 1044, 1044, 1825, 1825, 1825, 1000, 1828,
2075 1828, 1828, 1070, 1070, 1070, 1832, 1832, 1832, 1000, 1000,
2076 1046, 2839, 1000, 1826, 2836, 1800, 1829, 1681, 1681, 1681,
2077 1072, 1682, 1833, 2855, 1683, 1078, 1078, 1078, 1845, 1845,
2078 1845, 1688, 1688, 1688, 1850, 1850, 1850, 1852, 1852, 1852,
2079 2879, 1000, 1822, 1080, 1000, 1846, 1694, 1694, 1694, 2849,
2080 1695, 2880, 2840, 1696, 1853, 1106, 1106, 1106, 1855, 1855,
2081 1855, 1831, 1699, 1699, 1699, 1857, 1857, 1857, 1000, 1858,
2082 2842, 1844, 1859, 1108, 1000, 1856, 1115, 1115, 1115, 1700,
2083 1861, 1861, 1861, 1703, 1703, 1703, 1863, 1863, 1863, 2837,
2085 1864, 2843, 2838, 1865, 1117, 1129, 1129, 1129, 1862, 1000,
2086 1704, 2873, 1708, 1708, 1708, 1000, 1709, 2844, 1854, 1710,
2087 1711, 1711, 1711, 1131, 1712, 1000, 1000, 1713, 1715, 1715,
2088 1715, 1717, 1717, 1717, 1720, 1720, 1720, 2845, 1721, 1860,
2089 1000, 1722, 1723, 1723, 1723, 1000, 1716, 1874, 1874, 1874,
2090 1000, 1875, 1866, 2846, 1876, 1000, 1726, 1726, 1726, 1724,
2091 1727, 1000, 2847, 1728, 1729, 1729, 1729, 1878, 1878, 1878,
2092 1000, 1879, 2859, 2848, 1880, 1881, 1881, 1881, 1735, 1735,
2093 1735, 1730, 1886, 1886, 1886, 1000, 1887, 2850, 1000, 1888,
2094 2854, 1623, 1882, 1622, 1618, 1736, 1167, 1167, 1167, 1739,
2096 1739, 1739, 1000, 1740, 1000, 1000, 1741, 1742, 1742, 1742,
2097 1000, 1891, 1891, 1891, 1169, 1892, 2856, 2860, 1893, 1745,
2098 1745, 1745, 1000, 1746, 1743, 2857, 1747, 1749, 1749, 1749,
2099 1190, 1190, 1190, 1899, 1899, 1899, 1756, 1756, 1756, 2858,
2100 1757, 2877, 1000, 1758, 2865, 1750, 2851, 1889, 1192, 1000,
2101 1900, 1760, 1760, 1760, 1907, 1907, 1907, 1765, 1765, 1765,
2102 1910, 1910, 1910, 2852, 1911, 2893, 1616, 1912, 1615, 1761,
2103 1000, 1000, 1908, 1000, 1766, 1767, 1767, 1767, 2894, 1901,
2104 1913, 1913, 1913, 2866, 1914, 2867, 1000, 1915, 1222, 1222,
2105 1222, 1000, 1768, 2917, 1897, 1230, 1230, 1230, 1238, 1238,
2107 1238, 1774, 1774, 1774, 1000, 2863, 1224, 1921, 1921, 1921,
2108 1000, 1922, 1000, 1232, 1923, 1000, 1240, 2869, 1775, 1776,
2109 1776, 1776, 1924, 1924, 1924, 2889, 1925, 1000, 2861, 1926,
2110 1248, 1248, 1248, 1256, 1256, 1256, 1777, 1000, 1784, 1784,
2111 1784, 2862, 1785, 2875, 1919, 1786, 1000, 2864, 1250, 1000,
2112 1000, 1258, 1000, 2868, 1917, 1262, 1262, 1262, 1269, 1269,
2113 1269, 2870, 2871, 1920, 1789, 1789, 1789, 1612, 1790, 1610,
2114 1609, 1791, 1608, 1264, 1605, 1600, 1271, 1000, 1792, 1792,
2115 1792, 2872, 1798, 1798, 1798, 1939, 1939, 1939, 2876, 1940,
2116 2899, 1599, 1941, 1598, 1596, 1927, 1793, 1000, 1931, 1799,
2118 1013, 1013, 1013, 1943, 1943, 1943, 1933, 1947, 1947, 1947,
2119 2874, 1934, 1806, 1806, 1806, 1948, 1948, 1948, 1015, 1952,
2120 1952, 1952, 1812, 1812, 1812, 1813, 1813, 1813, 1953, 1953,
2121 1953, 1816, 1816, 1816, 1817, 1817, 1817, 1956, 1956, 1956,
2122 1957, 1957, 1957, 1958, 1958, 1958, 1000, 1044, 1044, 1044,
2123 1825, 1825, 1825, 1828, 1828, 1828, 1964, 1964, 1964, 1000,
2124 1965, 1000, 1000, 1966, 1942, 1046, 1594, 2917, 1826, 1591,
2125 1829, 1968, 1968, 1968, 1954, 1832, 1832, 1832, 1970, 1970,
2126 1970, 1000, 1971, 2878, 1000, 1972, 1078, 1078, 1078, 1969,
2127 2885, 2886, 1833, 1845, 1845, 1845, 1000, 1000, 1960, 1984,
2129 1984, 1984, 1000, 1985, 1080, 2881, 1986, 1987, 1987, 1987,
2130 1846, 1850, 1850, 1850, 1990, 1990, 1990, 1852, 1852, 1852,
2131 1992, 1992, 1992, 1000, 1993, 2900, 1000, 1994, 1106, 1106,
2132 1106, 1855, 1855, 1855, 1853, 1983, 1996, 1996, 1996, 2883,
2133 1997, 1000, 2882, 1998, 2895, 2887, 1108, 1000, 1856, 1857,
2134 1857, 1857, 2888, 1858, 1000, 1000, 1859, 1115, 1115, 1115,
2135 1991, 1000, 1861, 1861, 1861, 1863, 1863, 1863, 1000, 1864,
2136 2896, 1000, 1865, 1590, 2913, 1117, 1129, 1129, 1129, 1995,
2137 1862, 1874, 1874, 1874, 2884, 1875, 1000, 2891, 1876, 1878,
2138 1878, 1878, 2897, 1879, 1131, 1587, 1880, 1881, 1881, 1881,
2140 2011, 2011, 2011, 2901, 2012, 2890, 1000, 2013, 1999, 1886,
2141 1886, 1886, 1000, 1887, 1882, 1585, 1888, 1167, 1167, 1167,
2142 1891, 1891, 1891, 2898, 1892, 1000, 1584, 1893, 1000, 2000,
2143 2022, 2022, 2022, 1000, 1000, 1169, 1899, 1899, 1899, 2025,
2144 2025, 2025, 1000, 2026, 1583, 1582, 2027, 2902, 2023, 1907,
2145 1907, 1907, 2892, 1900, 1910, 1910, 1910, 2907, 1911, 1581,
2146 1580, 1912, 1913, 1913, 1913, 2905, 1914, 1908, 1000, 1915,
2147 1222, 1222, 1222, 1230, 1230, 1230, 1238, 1238, 1238, 2903,
2148 2904, 2017, 1921, 1921, 1921, 1574, 1922, 1000, 1224, 1923,
2149 2914, 1232, 1000, 1573, 1240, 1924, 1924, 1924, 2909, 1925,
2151 2908, 1570, 1926, 1569, 1248, 1248, 1248, 1000, 2043, 2043,
2152 2043, 2910, 2041, 2920, 2920, 2920, 2920, 2920, 2920, 2911,
2153 1000, 2038, 1250, 1568, 2042, 2044, 1256, 1256, 1256, 2906,
2154 2920, 1558, 1557, 2920, 1262, 1262, 1262, 1555, 1546, 2040,
2155 2050, 2050, 2050, 1545, 1258, 2052, 2052, 2052, 2055, 2055,
2156 2055, 1538, 1264, 1939, 1939, 1939, 1537, 1940, 2051, 1536,
2157 1941, 1000, 1535, 1000, 2045, 1013, 1013, 1013, 1943, 1943,
2158 1943, 2057, 2057, 2057, 1534, 2046, 1947, 1947, 1947, 1948,
2159 1948, 1948, 1533, 1015, 2060, 2060, 2060, 2061, 2061, 2061,
2160 1000, 2047, 1532, 2912, 2049, 2062, 2062, 2062, 1952, 1952,
2162 1952, 1953, 1953, 1953, 1956, 1956, 1956, 1957, 1957, 1957,
2163 1958, 1958, 1958, 2066, 2066, 2066, 2069, 2069, 2069, 1964,
2164 1964, 1964, 2915, 1965, 2056, 1529, 1966, 2920, 2920, 2920,
2165 1528, 2067, 1527, 2070, 1968, 1968, 1968, 1520, 1970, 1970,
2166 1970, 1517, 1971, 1000, 2920, 1972, 1078, 1078, 1078, 1984,
2167 1984, 1984, 1969, 1985, 2089, 2090, 1986, 2091, 1987, 1987,
2168 1987, 1990, 1990, 1990, 1080, 2092, 1513, 1509, 2093, 1992,
2169 1992, 1992, 2094, 1993, 1507, 2916, 1994, 1106, 1106, 1106,
2170 1996, 1996, 1996, 1506, 1997, 1498, 1497, 1998, 2099, 2099,
2171 2099, 1495, 1494, 2071, 1493, 1108, 1129, 1129, 1129, 2109,
2173 2109, 2109, 2112, 2112, 2112, 1492, 2100, 2082, 2011, 2011,
2174 2011, 1491, 2012, 1490, 1131, 2013, 2116, 2116, 2116, 2113,
2175 2022, 2022, 2022, 2098, 2122, 2122, 2122, 1489, 2025, 2025,
2176 2025, 1488, 2026, 1486, 2117, 2027, 1485, 1483, 2023, 1482,
2177 1479, 2123, 2133, 2133, 2133, 1477, 1476, 2101, 2135, 2135,
2178 2135, 2137, 2137, 2137, 1230, 1230, 1230, 1238, 1238, 1238,
2179 1248, 1248, 1248, 2043, 2043, 2043, 2136, 1475, 2138, 1474,
2180 2124, 1473, 1232, 1471, 1470, 1240, 1469, 1468, 1250, 1461,
2181 2044, 2142, 2142, 2142, 1458, 2143, 1457, 1455, 2144, 2145,
2182 2145, 2145, 2920, 2920, 2920, 1454, 1451, 2141, 2148, 2148,
2184 2148, 2150, 2150, 2150, 1446, 1445, 2146, 1433, 1431, 2920,
2185 1262, 1262, 1262, 1427, 2139, 1426, 2149, 1422, 2140, 2050,
2186 2050, 2050, 2052, 2052, 2052, 2055, 2055, 2055, 1264, 2155,
2187 2155, 2155, 2057, 2057, 2057, 1420, 1412, 2051, 1411, 1410,
2188 1000, 1409, 1407, 2147, 2060, 2060, 2060, 2156, 2061, 2061,
2189 2061, 2062, 2062, 2062, 2066, 2066, 2066, 2069, 2069, 2069,
2190 2163, 2163, 2163, 1405, 2164, 1404, 1400, 2165, 2920, 2920,
2191 2920, 1399, 2067, 1398, 2070, 1397, 2151, 1078, 1078, 1078,
2192 1106, 1106, 1106, 1395, 2152, 2920, 2099, 2099, 2099, 2196,
2193 2196, 2196, 2202, 2202, 2202, 1080, 1394, 1393, 1108, 2109,
2195 2109, 2109, 1392, 1391, 2100, 1390, 1389, 2197, 1383, 2203,
2196 2112, 2112, 2112, 2206, 2206, 2206, 1382, 2207, 1381, 1380,
2197 2208, 1379, 1378, 2166, 2210, 2210, 2210, 2113, 1376, 2116,
2198 2116, 2116, 2214, 2214, 2214, 1375, 1372, 2177, 2122, 2122,
2199 2122, 2211, 2225, 2225, 2225, 1371, 2195, 2117, 1362, 2215,
2200 2217, 2217, 2217, 1361, 2218, 2123, 1357, 2219, 1356, 2226,
2201 2133, 2133, 2133, 2135, 2135, 2135, 2137, 2137, 2137, 2229,
2202 2229, 2229, 1355, 2230, 1354, 1353, 2231, 2232, 2232, 2232,
2203 1352, 2136, 1351, 2138, 1238, 1238, 1238, 1350, 1248, 1248,
2204 1248, 1349, 2142, 2142, 2142, 2233, 2143, 1348, 1347, 2144,
2206 1346, 1343, 1240, 2145, 2145, 2145, 1250, 2236, 2236, 2236,
2207 1341, 2237, 1338, 1335, 2238, 2239, 2239, 2239, 1332, 1323,
2208 2146, 2148, 2148, 2148, 2150, 2150, 2150, 2241, 2241, 2241,
2209 1321, 1314, 2240, 1312, 1311, 2155, 2155, 2155, 1310, 2149,
2210 2251, 2251, 2251, 1309, 1308, 2242, 2920, 2920, 2920, 1307,
2211 1306, 2234, 2235, 2156, 2163, 2163, 2163, 2252, 2164, 1305,
2212 1304, 2165, 1301, 2920, 1078, 1078, 1078, 1106, 1106, 1106,
2213 2196, 2196, 2196, 2290, 2290, 2290, 2202, 2202, 2202, 2292,
2214 2292, 2292, 1080, 2293, 1300, 1108, 2294, 1299, 2197, 1298,
2215 2291, 1297, 1296, 2203, 2206, 2206, 2206, 1295, 2207, 1294,
2217 1293, 2208, 2210, 2210, 2210, 1292, 1291, 2259, 2298, 2298,
2218 2298, 1290, 2299, 1288, 1287, 2300, 2302, 2302, 2302, 2211,
2219 2214, 2214, 2214, 1286, 2270, 2304, 2304, 2304, 1285, 2305,
2220 1284, 1283, 2306, 2303, 2307, 2307, 2307, 2215, 2288, 2217,
2221 2217, 2217, 1282, 2218, 1000, 1276, 2219, 2225, 2225, 2225,
2222 1261, 2308, 2312, 2312, 2312, 1260, 2313, 1255, 1254, 2314,
2223 2315, 2315, 2315, 1253, 2226, 2317, 2317, 2317, 2229, 2229,
2224 2229, 1252, 2230, 1226, 1214, 2231, 1200, 2316, 2232, 2232,
2225 2232, 1199, 2318, 1238, 1238, 1238, 1248, 1248, 1248, 1198,
2226 2236, 2236, 2236, 1194, 2237, 1186, 2233, 2238, 2239, 2239,
2228 2239, 1240, 1181, 1180, 1250, 2327, 2327, 2327, 1174, 2328,
2229 1171, 1166, 2329, 1165, 1164, 2240, 2241, 2241, 2241, 2334,
2230 2334, 2334, 2251, 2251, 2251, 2338, 2338, 2338, 1163, 2339,
2231 1162, 1161, 2340, 1160, 2242, 2920, 2920, 2920, 1154, 2252,
2232 1078, 1078, 1078, 2374, 2374, 2374, 1147, 2326, 1146, 2325,
2233 1145, 1140, 2920, 1106, 1106, 1106, 1139, 1135, 1080, 2377,
2234 2377, 2377, 2290, 2290, 2290, 2380, 2380, 2380, 1134, 2381,
2235 1133, 1108, 2382, 2292, 2292, 2292, 2378, 2293, 1128, 2291,
2236 2294, 2298, 2298, 2298, 1127, 2299, 1122, 1114, 2300, 1110,
2237 1105, 2358, 2302, 2302, 2302, 2349, 2387, 2387, 2387, 1104,
2239 2388, 1100, 1099, 2389, 1098, 2379, 2304, 2304, 2304, 2303,
2240 2305, 1097, 1096, 2306, 1095, 2376, 2307, 2307, 2307, 2390,
2241 2390, 2390, 1094, 2391, 1093, 1092, 2392, 2394, 2394, 2394,
2242 2312, 2312, 2312, 2308, 2313, 1091, 1085, 2314, 2315, 2315,
2243 2315, 2397, 2397, 2397, 2395, 2398, 1077, 1076, 2399, 2317,
2244 2317, 2317, 2400, 2400, 2400, 2316, 2401, 1075, 1074, 2402,
2245 1238, 1238, 1238, 1248, 1248, 1248, 2318, 2327, 2327, 2327,
2246 1069, 2328, 1068, 1067, 2329, 2413, 2413, 2413, 1240, 1064,
2247 1058, 1250, 2334, 2334, 2334, 2416, 2416, 2416, 2427, 2427,
2248 2427, 1053, 2414, 1466, 2338, 2338, 2338, 1052, 2339, 1048,
2250 1043, 2340, 1078, 1078, 1078, 2428, 2374, 2374, 2374, 1042,
2251 1041, 2409, 2453, 2453, 2453, 1106, 1106, 1106, 1040, 1039,
2252 1080, 2377, 2377, 2377, 2455, 2455, 2455, 1038, 2456, 1036,
2253 2410, 2457, 1035, 1108, 1034, 2380, 2380, 2380, 2378, 2381,
2254 1033, 1032, 2382, 2387, 2387, 2387, 1031, 2388, 1030, 1029,
2255 2389, 2437, 2390, 2390, 2390, 1028, 2391, 1027, 1026, 2392,
2256 2394, 2394, 2394, 2464, 2464, 2464, 2454, 2465, 1025, 1024,
2257 2466, 2397, 2397, 2397, 1023, 2398, 1022, 2395, 2399, 2400,
2258 2400, 2400, 1021, 2401, 1020, 1019, 2402, 2482, 2482, 2482,
2259 1248, 1248, 1248, 2486, 2486, 2486, 2413, 2413, 2413, 2488,
2261 2488, 2488, 1012, 2489, 1011, 2483, 2490, 1010, 1250, 1009,
2262 2487, 1466, 1008, 2414, 1466, 1007, 1006, 1466, 2491, 2491,
2263 2491, 2416, 2416, 2416, 2492, 2492, 2492, 2493, 2493, 2493,
2264 2427, 2427, 2427, 2502, 2502, 2502, 1003, 2503, 1001, 1000,
2265 2504, 1078, 1078, 1078, 2522, 2522, 2522, 2428, 2453, 2453,
2266 2453, 2523, 2523, 2523, 998, 996, 2484, 993, 989, 1080,
2267 2455, 2455, 2455, 987, 2456, 986, 985, 2457, 983, 2524,
2268 2528, 2528, 2528, 2531, 2531, 2531, 2464, 2464, 2464, 982,
2269 2465, 981, 980, 2466, 2533, 2533, 2533, 2529, 979, 977,
2270 2532, 2482, 2482, 2482, 1248, 1248, 1248, 2486, 2486, 2486,
2272 976, 2534, 975, 974, 2549, 2549, 2549, 2511, 2550, 2483,
2273 972, 2551, 1250, 971, 2487, 1466, 2488, 2488, 2488, 970,
2274 2489, 966, 1466, 2490, 2491, 2491, 2491, 2492, 2492, 2492,
2275 2493, 2493, 2493, 965, 1466, 2502, 2502, 2502, 963, 2503,
2276 962, 961, 2504, 960, 959, 2547, 1464, 1464, 1464, 1464,
2277 1464, 1464, 1464, 1464, 1464, 958, 956, 1464, 2568, 2568,
2278 2568, 955, 1464, 1464, 1464, 1466, 1464, 2522, 2522, 2522,
2279 2523, 2523, 2523, 2528, 2528, 2528, 2569, 2581, 2581, 2581,
2280 954, 2582, 953, 951, 2583, 2531, 2531, 2531, 2524, 950,
2281 2529, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464,
2283 1464, 1464, 2532, 949, 1464, 2533, 2533, 2533, 946, 1464,
2284 1464, 1464, 1466, 1464, 2585, 2585, 2585, 945, 2586, 941,
2285 940, 2587, 2534, 2588, 2588, 2588, 938, 2589, 937, 936,
2286 2590, 2603, 2603, 2603, 2568, 2568, 2568, 933, 1464, 1464,
2287 2549, 2549, 2549, 932, 2550, 931, 930, 2551, 928, 2604,
2288 927, 926, 2569, 2603, 2603, 2603, 925, 924, 1466, 1464,
2289 1464, 1464, 1464, 1464, 2611, 1464, 1464, 1464, 923, 922,
2290 1464, 2604, 921, 918, 915, 1464, 1464, 1464, 1466, 1464,
2291 2581, 2581, 2581, 914, 2582, 911, 909, 2583, 2585, 2585,
2292 2585, 908, 2586, 903, 902, 2587, 2588, 2588, 2588, 900,
2294 2589, 899, 898, 2590, 1464, 1464, 1464, 1464, 1464, 1464,
2295 1464, 1464, 1464, 1464, 2611, 896, 893, 1464, 2648, 2648,
2296 2648, 891, 1464, 1464, 1464, 1466, 1464, 2659, 2659, 2659,
2297 2661, 2661, 2661, 2663, 2663, 2663, 1466, 1467, 2671, 2671,
2298 2671, 2679, 2679, 2679, 2660, 888, 887, 2662, 885, 884,
2299 2664, 1464, 1464, 881, 878, 2672, 2648, 2648, 2648, 1000,
2300 2659, 2659, 2659, 2689, 2689, 2689, 877, 2690, 876, 875,
2301 2691, 2661, 2661, 2661, 1466, 873, 872, 2660, 2692, 2692,
2302 2692, 871, 2693, 870, 869, 2694, 867, 864, 2662, 2663,
2303 2663, 2663, 2695, 2695, 2695, 862, 2696, 861, 860, 2697,
2305 2671, 2671, 2671, 2679, 2679, 2679, 2664, 1634, 2704, 2704,
2306 2704, 858, 2705, 856, 855, 2706, 854, 2672, 2689, 2689,
2307 2689, 1000, 2690, 853, 852, 2691, 2692, 2692, 2692, 851,
2308 2693, 848, 847, 2694, 2695, 2695, 2695, 846, 2696, 843,
2309 2713, 2697, 2704, 2704, 2704, 840, 2705, 839, 837, 2706,
2310 2816, 2816, 2816, 2816, 2816, 2816, 836, 2825, 833, 831,
2311 2826, 2918, 2918, 2918, 2918, 2918, 2918, 828, 1000, 827,
2312 819, 1000, 818, 817, 814, 813, 812, 811, 809, 2919,
2313 808, 807, 2919, 238, 238, 238, 238, 238, 238, 238,
2314 238, 238, 239, 239, 239, 239, 239, 239, 239, 239,
2316 239, 244, 244, 244, 244, 244, 244, 244, 244, 244,
2317 247, 247, 247, 247, 247, 247, 247, 247, 247, 250,
2318 250, 250, 250, 250, 250, 250, 250, 250, 253, 253,
2319 253, 253, 253, 253, 253, 253, 253, 260, 260, 260,
2320 260, 260, 260, 260, 260, 260, 268, 268, 268, 268,
2321 268, 268, 268, 268, 268, 272, 272, 272, 272, 272,
2322 272, 272, 272, 272, 284, 284, 284, 284, 284, 284,
2323 284, 284, 284, 288, 288, 288, 288, 288, 288, 288,
2324 288, 288, 295, 295, 295, 295, 295, 295, 295, 295,
2325 295, 306, 306, 306, 306, 306, 306, 306, 306, 306,
2327 314, 314, 314, 314, 314, 314, 314, 314, 314, 322,
2328 322, 322, 322, 322, 322, 322, 322, 322, 328, 328,
2329 328, 328, 328, 328, 328, 328, 328, 334, 334, 334,
2330 334, 334, 334, 334, 334, 334, 339, 339, 339, 339,
2331 339, 339, 339, 339, 339, 356, 356, 356, 356, 356,
2332 356, 356, 356, 356, 363, 363, 363, 363, 363, 363,
2333 363, 363, 363, 370, 370, 370, 370, 370, 370, 370,
2334 370, 370, 376, 376, 376, 376, 376, 376, 376, 376,
2335 376, 383, 383, 383, 383, 383, 383, 383, 383, 383,
2336 388, 388, 388, 388, 388, 388, 388, 388, 388, 394,
2338 394, 394, 394, 394, 394, 394, 394, 394, 399, 399,
2339 399, 399, 399, 399, 399, 399, 399, 405, 405, 405,
2340 405, 405, 405, 405, 405, 405, 413, 413, 413, 413,
2341 413, 413, 413, 413, 413, 432, 432, 432, 432, 432,
2342 432, 432, 432, 432, 438, 438, 438, 438, 438, 438,
2343 438, 438, 438, 448, 448, 448, 448, 448, 448, 448,
2344 448, 448, 454, 454, 454, 454, 454, 454, 454, 454,
2345 454, 459, 459, 459, 459, 459, 459, 459, 459, 459,
2346 465, 465, 465, 465, 465, 465, 465, 465, 465, 472,
2347 472, 472, 472, 472, 472, 472, 472, 472, 479, 479,
2349 479, 479, 479, 479, 479, 479, 479, 484, 484, 484,
2350 484, 484, 484, 484, 484, 484, 492, 492, 492, 492,
2351 492, 492, 492, 492, 492, 498, 498, 498, 498, 498,
2352 498, 498, 498, 498, 505, 505, 505, 505, 505, 505,
2353 505, 505, 505, 510, 510, 510, 510, 510, 510, 510,
2354 510, 510, 516, 516, 516, 516, 516, 516, 516, 516,
2355 516, 521, 521, 521, 521, 521, 521, 521, 521, 521,
2356 528, 528, 528, 528, 528, 528, 528, 528, 528, 534,
2357 534, 534, 534, 534, 534, 534, 534, 534, 541, 541,
2358 541, 541, 541, 541, 541, 541, 541, 548, 548, 548,
2360 548, 548, 548, 548, 548, 548, 556, 556, 556, 556,
2361 556, 556, 556, 556, 556, 560, 560, 560, 560, 560,
2362 560, 560, 560, 560, 566, 566, 566, 566, 566, 566,
2363 566, 566, 566, 570, 570, 570, 570, 570, 570, 570,
2364 570, 570, 577, 577, 577, 577, 577, 577, 577, 577,
2365 577, 582, 582, 582, 582, 582, 582, 582, 582, 582,
2366 602, 602, 602, 806, 805, 804, 602, 628, 628, 628,
2367 799, 796, 798, 628, 632, 632, 632, 793, 792, 790,
2368 632, 640, 640, 640, 788, 786, 784, 640, 652, 652,
2369 652, 782, 2920, 779, 652, 658, 658, 658, 778, 777,
2371 776, 658, 674, 674, 674, 774, 773, 772, 674, 681,
2372 681, 681, 771, 770, 768, 681, 687, 687, 687, 767,
2373 766, 765, 687, 692, 692, 692, 763, 761, 760, 692,
2374 697, 697, 697, 758, 757, 754, 697, 706, 706, 706,
2375 753, 751, 611, 706, 722, 722, 722, 2920, 746, 744,
2376 722, 732, 732, 732, 740, 739, 738, 732, 737, 737,
2377 737, 736, 734, 733, 737, 745, 745, 745, 731, 729,
2378 728, 745, 752, 752, 752, 727, 726, 725, 752, 759,
2379 759, 759, 724, 723, 721, 759, 764, 764, 764, 712,
2380 711, 710, 764, 769, 769, 769, 707, 705, 2920, 769,
2382 775, 775, 775, 702, 701, 700, 775, 783, 783, 783,
2383 699, 698, 696, 783, 787, 787, 787, 694, 693, 691,
2384 787, 791, 791, 791, 689, 688, 686, 791, 795, 795,
2385 795, 795, 795, 795, 795, 684, 795, 602, 602, 602,
2386 683, 682, 680, 602, 810, 678, 677, 676, 810, 628,
2387 628, 628, 675, 673, 2920, 628, 838, 2920, 660, 659,
2388 838, 632, 632, 632, 657, 655, 654, 632, 845, 653,
2389 651, 646, 845, 640, 640, 640, 642, 641, 639, 640,
2390 857, 638, 635, 634, 857, 652, 652, 652, 633, 631,
2391 630, 652, 863, 629, 627, 622, 863, 658, 658, 658,
2393 2920, 603, 601, 658, 868, 599, 593, 592, 868, 674,
2394 674, 674, 593, 592, 591, 674, 886, 590, 2920, 2920,
2395 886, 681, 681, 681, 2920, 2920, 2920, 681, 892, 2920,
2396 2920, 2920, 892, 687, 687, 687, 2920, 2920, 2920, 687,
2397 897, 2920, 2920, 2920, 897, 692, 692, 692, 2920, 2920,
2398 2920, 692, 901, 2920, 2920, 2920, 901, 697, 697, 697,
2399 2920, 2920, 2920, 697, 910, 2920, 2920, 2920, 910, 706,
2400 706, 706, 2920, 2920, 2920, 706, 929, 2920, 2920, 2920,
2401 929, 722, 722, 722, 2920, 2920, 2920, 722, 939, 2920,
2402 2920, 2920, 939, 732, 732, 732, 2920, 2920, 2920, 732,
2404 944, 2920, 2920, 2920, 944, 737, 737, 737, 2920, 2920,
2405 2920, 737, 952, 2920, 2920, 2920, 952, 745, 745, 745,
2406 2920, 2920, 2920, 745, 957, 2920, 2920, 2920, 957, 752,
2407 752, 752, 2920, 2920, 2920, 752, 964, 2920, 2920, 2920,
2408 964, 759, 759, 759, 2920, 2920, 2920, 759, 969, 2920,
2409 2920, 2920, 969, 764, 764, 764, 2920, 2920, 2920, 764,
2410 973, 2920, 2920, 2920, 973, 769, 769, 769, 2920, 2920,
2411 2920, 769, 978, 2920, 2920, 2920, 978, 775, 775, 775,
2412 2920, 2920, 2920, 775, 984, 2920, 2920, 2920, 984, 783,
2413 783, 783, 2920, 2920, 2920, 783, 988, 2920, 2920, 2920,
2415 988, 787, 787, 787, 2920, 2920, 2920, 787, 992, 2920,
2416 2920, 2920, 992, 791, 791, 791, 2920, 2920, 2920, 791,
2417 997, 2920, 2920, 2920, 997, 999, 999, 999, 999, 999,
2418 999, 999, 999, 999, 1005, 2920, 2920, 2920, 2920, 1005,
2419 602, 602, 602, 2920, 2920, 2920, 602, 1014, 1014, 1014,
2420 1014, 2920, 2920, 1014, 1014, 628, 628, 628, 2920, 2920,
2421 2920, 628, 1045, 1045, 1045, 1045, 2920, 2920, 1045, 1045,
2422 632, 632, 632, 2920, 2920, 2920, 632, 1055, 1055, 1055,
2423 1055, 2920, 2920, 1055, 1055, 640, 640, 640, 2920, 2920,
2424 2920, 640, 1071, 1071, 1071, 1071, 2920, 2920, 1071, 1071,
2426 652, 652, 652, 2920, 2920, 2920, 652, 1079, 1079, 1079,
2427 1079, 2920, 2920, 1079, 1079, 658, 658, 658, 2920, 2920,
2428 2920, 658, 1087, 1087, 1087, 1087, 2920, 2920, 1087, 1087,
2429 674, 674, 674, 2920, 2920, 2920, 674, 1107, 1107, 1107,
2430 1107, 2920, 2920, 1107, 1107, 681, 681, 681, 2920, 2920,
2431 2920, 681, 1116, 1116, 1116, 1116, 2920, 2920, 1116, 1116,
2432 687, 687, 687, 2920, 2920, 2920, 687, 1124, 1124, 1124,
2433 1124, 2920, 2920, 1124, 1124, 692, 692, 692, 2920, 2920,
2434 2920, 692, 1130, 1130, 1130, 1130, 2920, 2920, 1130, 1130,
2435 697, 697, 697, 2920, 2920, 2920, 697, 1142, 1142, 1142,
2437 1142, 2920, 2920, 1142, 1142, 706, 706, 706, 2920, 2920,
2438 2920, 706, 1168, 1168, 1168, 1168, 2920, 2920, 1168, 1168,
2439 722, 722, 722, 2920, 2920, 2920, 722, 1183, 1183, 1183,
2440 1183, 2920, 2920, 1183, 1183, 732, 732, 732, 2920, 2920,
2441 2920, 732, 1191, 1191, 1191, 1191, 2920, 2920, 1191, 1191,
2442 737, 737, 737, 2920, 2920, 2920, 737, 1202, 1202, 1202,
2443 1202, 2920, 2920, 1202, 1202, 745, 745, 745, 745, 2920,
2444 745, 2920, 745, 1211, 1211, 1211, 1211, 2920, 2920, 1211,
2445 1211, 752, 752, 752, 752, 2920, 752, 2920, 752, 1223,
2446 1223, 1223, 1223, 2920, 2920, 1223, 1223, 759, 759, 759,
2448 2920, 2920, 2920, 759, 1231, 1231, 1231, 1231, 2920, 2920,
2449 1231, 1231, 764, 764, 764, 764, 2920, 764, 2920, 764,
2450 1239, 1239, 1239, 1239, 2920, 2920, 1239, 1239, 769, 769,
2451 769, 769, 2920, 769, 2920, 769, 1249, 1249, 1249, 1249,
2452 2920, 2920, 1249, 1249, 775, 775, 775, 2920, 2920, 2920,
2453 775, 1257, 1257, 1257, 1257, 2920, 2920, 1257, 1257, 783,
2454 783, 783, 2920, 2920, 2920, 783, 1263, 1263, 1263, 1263,
2455 2920, 2920, 1263, 1263, 1270, 1270, 1270, 1270, 2920, 2920,
2456 1270, 1270, 791, 791, 791, 2920, 2920, 2920, 791, 1278,
2457 1278, 1278, 1278, 2920, 2920, 1278, 1278, 999, 999, 999,
2459 999, 999, 999, 999, 999, 999, 1005, 2920, 1005, 2920,
2460 2920, 1005, 602, 602, 602, 2920, 2920, 2920, 602, 1014,
2461 1014, 1014, 1014, 2920, 2920, 1014, 1014, 628, 628, 628,
2462 628, 2920, 628, 2920, 628, 1045, 1045, 1045, 1045, 2920,
2463 2920, 1045, 1045, 632, 632, 632, 632, 2920, 632, 2920,
2464 632, 1055, 1055, 1055, 1055, 2920, 2920, 1055, 1055, 640,
2465 640, 640, 2920, 2920, 2920, 640, 1071, 1071, 1071, 1071,
2466 2920, 2920, 1071, 1071, 652, 652, 652, 2920, 2920, 2920,
2467 652, 1079, 1079, 1079, 1079, 2920, 2920, 1079, 1079, 658,
2468 658, 658, 2920, 2920, 2920, 658, 1087, 1087, 1087, 1087,
2470 2920, 2920, 1087, 1087, 674, 674, 674, 2920, 2920, 2920,
2471 674, 1107, 1107, 1107, 1107, 2920, 2920, 1107, 1107, 681,
2472 681, 681, 2920, 2920, 2920, 681, 1116, 1116, 1116, 1116,
2473 2920, 2920, 1116, 1116, 687, 687, 687, 687, 2920, 687,
2474 2920, 687, 1124, 1124, 1124, 1124, 2920, 2920, 1124, 1124,
2475 692, 692, 692, 692, 2920, 692, 2920, 692, 1130, 1130,
2476 1130, 1130, 2920, 2920, 1130, 1130, 697, 697, 697, 2920,
2477 2920, 2920, 697, 1142, 1142, 1142, 1142, 2920, 2920, 1142,
2478 1142, 706, 706, 706, 2920, 2920, 2920, 706, 1168, 1168,
2479 1168, 1168, 2920, 2920, 1168, 1168, 722, 722, 722, 2920,
2481 2920, 2920, 722, 1183, 1183, 1183, 1183, 2920, 2920, 1183,
2482 1183, 732, 732, 732, 2920, 2920, 2920, 732, 1191, 1191,
2483 1191, 1191, 2920, 2920, 1191, 1191, 737, 737, 737, 2920,
2484 2920, 2920, 737, 1202, 1202, 1202, 1202, 2920, 2920, 1202,
2485 1202, 745, 745, 745, 2920, 2920, 2920, 745, 1211, 1211,
2486 1211, 1211, 2920, 2920, 1211, 1211, 752, 752, 752, 2920,
2487 2920, 2920, 752, 1223, 1223, 1223, 1223, 2920, 2920, 1223,
2488 1223, 759, 759, 759, 2920, 2920, 2920, 759, 1231, 1231,
2489 1231, 1231, 2920, 2920, 1231, 1231, 1239, 1239, 1239, 1239,
2490 2920, 2920, 1239, 1239, 769, 769, 769, 2920, 2920, 2920,
2492 769, 1249, 1249, 1249, 1249, 2920, 2920, 1249, 1249, 775,
2493 775, 775, 2920, 2920, 2920, 775, 1257, 1257, 1257, 1257,
2494 2920, 2920, 1257, 1257, 783, 783, 783, 2920, 2920, 2920,
2495 783, 1263, 1263, 1263, 1263, 2920, 2920, 1263, 1263, 1270,
2496 1270, 1270, 1270, 2920, 2920, 1270, 1270, 791, 791, 791,
2497 2920, 2920, 2920, 791, 1278, 1278, 1278, 1278, 2920, 2920,
2498 1278, 1278, 999, 999, 999, 999, 999, 999, 999, 999,
2499 999, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464, 1464,
2500 602, 602, 602, 2920, 2920, 2920, 602, 1014, 1014, 1014,
2501 1014, 2920, 2920, 1014, 1014, 1045, 1045, 1045, 1045, 2920,
2503 2920, 1045, 1045, 632, 632, 632, 2920, 2920, 2920, 632,
2504 1055, 1055, 1055, 1055, 2920, 2920, 1055, 1055, 640, 640,
2505 640, 2920, 2920, 2920, 640, 1071, 1071, 1071, 1071, 2920,
2506 2920, 1071, 1071, 652, 652, 652, 2920, 2920, 2920, 652,
2507 1079, 1079, 1079, 1079, 2920, 2920, 1079, 1079, 658, 658,
2508 658, 2920, 2920, 2920, 658, 674, 674, 674, 2920, 2920,
2509 2920, 674, 1107, 1107, 1107, 1107, 2920, 2920, 1107, 1107,
2510 681, 681, 681, 2920, 2920, 2920, 681, 1116, 1116, 1116,
2511 1116, 2920, 2920, 1116, 1116, 1124, 1124, 1124, 1124, 2920,
2512 2920, 1124, 1124, 692, 692, 692, 2920, 2920, 2920, 692,
2514 1130, 1130, 1130, 1130, 2920, 2920, 1130, 1130, 697, 697,
2515 697, 2920, 2920, 2920, 697, 1142, 1142, 1142, 1142, 2920,
2516 2920, 1142, 1142, 706, 706, 706, 2920, 2920, 2920, 706,
2517 1168, 1168, 1168, 1168, 2920, 2920, 1168, 1168, 722, 722,
2518 722, 2920, 2920, 2920, 722, 1183, 1183, 1183, 1183, 2920,
2519 2920, 1183, 1183, 732, 732, 732, 2920, 2920, 2920, 732,
2520 1191, 1191, 1191, 1191, 2920, 2920, 1191, 1191, 737, 737,
2521 737, 2920, 2920, 2920, 737, 1202, 1202, 1202, 1202, 2920,
2522 2920, 1202, 1202, 745, 745, 745, 2920, 2920, 2920, 745,
2523 1211, 1211, 1211, 1211, 2920, 2920, 1211, 1211, 752, 752,
2525 752, 2920, 2920, 2920, 752, 1223, 1223, 1223, 1223, 2920,
2526 2920, 1223, 1223, 759, 759, 759, 2920, 2920, 2920, 759,
2527 1231, 1231, 1231, 1231, 2920, 2920, 1231, 1231, 1239, 1239,
2528 1239, 1239, 2920, 2920, 1239, 1239, 769, 769, 769, 2920,
2529 2920, 2920, 769, 1249, 1249, 1249, 1249, 2920, 2920, 1249,
2530 1249, 775, 775, 775, 2920, 2920, 2920, 775, 1257, 1257,
2531 1257, 1257, 2920, 2920, 1257, 1257, 783, 783, 783, 783,
2532 2920, 783, 2920, 783, 1263, 1263, 1263, 1263, 2920, 2920,
2533 1263, 1263, 1270, 1270, 1270, 1270, 2920, 2920, 1270, 1270,
2534 791, 791, 791, 791, 2920, 791, 2920, 791, 1278, 1278,
2536 1278, 1278, 2920, 2920, 1278, 1278, 999, 999, 999, 999,
2537 999, 999, 999, 999, 999, 1464, 1464, 1464, 1464, 1464,
2538 1464, 1464, 1464, 1464, 602, 602, 602, 2920, 2920, 2920,
2539 602, 1014, 1014, 1014, 1014, 2920, 2920, 1014, 1014, 1045,
2540 1045, 1045, 1045, 2920, 2920, 1045, 1045, 632, 632, 632,
2541 2920, 2920, 2920, 632, 1055, 1055, 1055, 1055, 2920, 2920,
2542 1055, 1055, 640, 640, 640, 2920, 2920, 2920, 640, 1071,
2543 1071, 1071, 1071, 2920, 2920, 1071, 1071, 652, 652, 652,
2544 2920, 2920, 2920, 652, 1079, 1079, 1079, 1079, 2920, 2920,
2545 1079, 1079, 658, 658, 658, 2920, 2920, 2920, 658, 674,
2547 674, 674, 2920, 2920, 2920, 674, 1107, 1107, 1107, 1107,
2548 2920, 2920, 1107, 1107, 681, 681, 681, 2920, 2920, 2920,
2549 681, 1116, 1116, 1116, 1116, 2920, 2920, 1116, 1116, 1124,
2550 1124, 1124, 1124, 2920, 2920, 1124, 1124, 692, 692, 692,
2551 692, 2920, 692, 2920, 692, 1130, 1130, 1130, 1130, 2920,
2552 2920, 1130, 1130, 697, 697, 697, 2920, 2920, 2920, 697,
2553 1142, 1142, 1142, 1142, 2920, 2920, 1142, 1142, 706, 706,
2554 706, 2920, 2920, 2920, 706, 1168, 1168, 1168, 1168, 2920,
2555 2920, 1168, 1168, 722, 722, 722, 2920, 2920, 2920, 722,
2556 1183, 1183, 1183, 1183, 2920, 2920, 1183, 1183, 732, 732,
2558 732, 2920, 2920, 2920, 732, 1191, 1191, 1191, 1191, 2920,
2559 2920, 1191, 1191, 737, 737, 737, 2920, 2920, 2920, 737,
2560 1202, 1202, 1202, 1202, 2920, 2920, 1202, 1202, 745, 745,
2561 745, 2920, 2920, 2920, 745, 1211, 1211, 1211, 1211, 2920,
2562 2920, 1211, 1211, 752, 752, 752, 752, 2920, 752, 2920,
2563 752, 1223, 1223, 1223, 1223, 2920, 2920, 1223, 1223, 759,
2564 759, 759, 2920, 2920, 2920, 759, 1231, 1231, 1231, 1231,
2565 2920, 2920, 1231, 1231, 1239, 1239, 1239, 1239, 2920, 2920,
2566 1239, 1239, 769, 769, 769, 769, 2920, 769, 2920, 769,
2567 1249, 1249, 1249, 1249, 2920, 2920, 1249, 1249, 775, 775,
2569 775, 2920, 2920, 2920, 775, 1257, 1257, 1257, 1257, 2920,
2570 2920, 1257, 1257, 1263, 1263, 1263, 1263, 2920, 2920, 1263,
2571 1263, 1270, 1270, 1270, 1270, 2920, 2920, 1270, 1270, 1278,
2572 1278, 1278, 1278, 2920, 2920, 1278, 1278, 999, 999, 999,
2573 999, 999, 999, 999, 999, 999, 1464, 1464, 1464, 1464,
2574 1464, 1464, 1464, 1464, 1464, 602, 602, 602, 602, 2920,
2575 602, 2920, 602, 1014, 1014, 1014, 1014, 2920, 2920, 1014,
2576 1014, 1045, 1045, 1045, 1045, 2920, 2920, 1045, 1045, 632,
2577 632, 632, 2920, 2920, 2920, 632, 1055, 1055, 1055, 1055,
2578 2920, 2920, 1055, 1055, 640, 640, 640, 2920, 2920, 2920,
2580 640, 1071, 1071, 1071, 1071, 2920, 2920, 1071, 1071, 652,
2581 652, 652, 652, 2920, 652, 2920, 652, 1079, 1079, 1079,
2582 1079, 2920, 2920, 1079, 1079, 658, 658, 658, 658, 2920,
2583 658, 2920, 658, 674, 674, 674, 674, 2920, 674, 2920,
2584 674, 1107, 1107, 1107, 1107, 2920, 2920, 1107, 1107, 681,
2585 681, 681, 681, 2920, 681, 2920, 681, 1116, 1116, 1116,
2586 1116, 2920, 2920, 1116, 1116, 1124, 1124, 1124, 1124, 2920,
2587 2920, 1124, 1124, 1130, 1130, 1130, 1130, 2920, 2920, 1130,
2588 1130, 697, 697, 697, 2920, 2920, 2920, 697, 706, 706,
2589 706, 2920, 2920, 2920, 706, 1168, 1168, 1168, 1168, 2920,
2591 2920, 1168, 1168, 722, 722, 722, 2920, 2920, 2920, 722,
2592 732, 732, 732, 2920, 2920, 2920, 732, 1191, 1191, 1191,
2593 1191, 2920, 2920, 1191, 1191, 737, 737, 737, 2920, 2920,
2594 2920, 737, 745, 745, 745, 2920, 2920, 2920, 745, 1211,
2595 1211, 1211, 1211, 2920, 2920, 1211, 1211, 752, 752, 752,
2596 2920, 2920, 2920, 752, 1223, 1223, 1223, 1223, 2920, 2920,
2597 1223, 1223, 759, 759, 759, 2920, 2920, 2920, 759, 1231,
2598 1231, 1231, 1231, 2920, 2920, 1231, 1231, 1239, 1239, 1239,
2599 1239, 2920, 2920, 1239, 1239, 1249, 1249, 1249, 1249, 2920,
2600 2920, 1249, 1249, 775, 775, 775, 2920, 2920, 2920, 775,
2602 1257, 1257, 1257, 1257, 2920, 2920, 1257, 1257, 1263, 1263,
2603 1263, 1263, 2920, 2920, 1263, 1263, 1270, 1270, 1270, 1270,
2604 2920, 2920, 1270, 1270, 999, 999, 999, 999, 999, 999,
2605 999, 999, 999, 1464, 1464, 1464, 1464, 1464, 1464, 1464,
2606 1464, 1464, 1014, 1014, 1014, 1014, 2920, 2920, 1014, 1014,
2607 1045, 1045, 1045, 1045, 2920, 2920, 1045, 1045, 632, 632,
2608 632, 2920, 2920, 2920, 632, 640, 640, 640, 2920, 2920,
2609 2920, 640, 1071, 1071, 1071, 1071, 2920, 2920, 1071, 1071,
2610 1079, 1079, 1079, 1079, 2920, 2920, 1079, 1079, 1107, 1107,
2611 1107, 1107, 2920, 2920, 1107, 1107, 1116, 1116, 1116, 1116,
2613 2920, 2920, 1116, 1116, 1130, 1130, 1130, 1130, 2920, 2920,
2614 1130, 1130, 697, 697, 697, 2920, 2920, 2920, 697, 706,
2615 706, 706, 2920, 2920, 2920, 706, 1168, 1168, 1168, 1168,
2616 2920, 2920, 1168, 1168, 722, 722, 722, 2920, 2920, 2920,
2617 722, 732, 732, 732, 2920, 2920, 2920, 732, 1191, 1191,
2618 1191, 1191, 2920, 2920, 1191, 1191, 737, 737, 737, 2920,
2619 2920, 2920, 737, 745, 745, 745, 2920, 2920, 2920, 745,
2620 752, 752, 752, 2920, 2920, 2920, 752, 1223, 1223, 1223,
2621 1223, 2920, 2920, 1223, 1223, 759, 759, 759, 2920, 2920,
2622 2920, 759, 1231, 1231, 1231, 1231, 2920, 2920, 1231, 1231,
2624 1239, 1239, 1239, 1239, 2920, 2920, 1239, 1239, 1249, 1249,
2625 1249, 1249, 2920, 2920, 1249, 1249, 775, 775, 775, 775,
2626 2920, 775, 2920, 775, 1257, 1257, 1257, 1257, 2920, 2920,
2627 1257, 1257, 1263, 1263, 1263, 1263, 2920, 2920, 1263, 1263,
2628 1270, 1270, 1270, 1270, 2920, 2920, 1270, 1270, 999, 999,
2629 999, 999, 999, 999, 999, 999, 999, 1464, 1464, 1464,
2630 1464, 1464, 1464, 1464, 1464, 1464, 1014, 1014, 1014, 1014,
2631 2920, 2920, 1014, 1014, 1045, 1045, 1045, 1045, 2920, 2920,
2632 1045, 1045, 632, 632, 632, 2920, 2920, 2920, 632, 640,
2633 640, 640, 640, 2920, 640, 2920, 640, 1079, 1079, 1079,
2635 1079, 2920, 2920, 1079, 1079, 1107, 1107, 1107, 1107, 2920,
2636 2920, 1107, 1107, 1116, 1116, 1116, 1116, 2920, 2920, 1116,
2637 1116, 1130, 1130, 1130, 1130, 2920, 2920, 1130, 1130, 697,
2638 697, 697, 2920, 2920, 2920, 697, 706, 706, 706, 2920,
2639 2920, 2920, 706, 1168, 1168, 1168, 1168, 2920, 2920, 1168,
2640 1168, 722, 722, 722, 2920, 2920, 2920, 722, 732, 732,
2641 732, 2920, 2920, 2920, 732, 2552, 2552, 2552, 2552, 2552,
2642 2552, 2552, 2552, 2552, 2553, 2553, 2553, 2553, 2553, 2553,
2643 2553, 2553, 2553, 2606, 2606, 2606, 2606, 2606, 2606, 2606,
2644 2606, 2606, 2609, 2609, 2609, 2609, 2609, 2609, 2609, 2609,
2646 2609, 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645, 2645,
2647 2647, 2647, 2647, 2647, 2647, 2647, 2647, 2647, 2647, 237,
2648 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
2649 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
2650 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
2651 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
2652 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
2653 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
2654 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
2655 2920, 2920, 2920, 2920
2659 static yyconst flex_int16_t yy_chk[10295] =
2661 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2662 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2663 4, 10, 0, 5, 0, 9, 6, 0, 10, 7,
2664 8, 8, 8, 242, 11, 13, 13, 12, 14, 14,
2665 13, 13, 291, 14, 14, 243, 8, 17, 17, 242,
2666 13, 15, 15, 14, 15, 246, 15, 16, 16, 345,
2667 16, 243, 16, 18, 18, 0, 15, 19, 19, 19,
2668 471, 246, 16, 20, 20, 20, 23, 23, 23, 24,
2669 24, 24, 471, 19, 25, 25, 25, 345, 1473, 20,
2670 352, 17, 23, 932, 291, 24, 240, 240, 240, 932,
2672 25, 241, 241, 241, 245, 245, 245, 18, 21, 21,
2673 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2674 21, 21, 21, 275, 21, 21, 21, 21, 21, 26,
2675 26, 26, 27, 27, 27, 28, 28, 28, 275, 29,
2676 29, 29, 30, 30, 30, 26, 352, 417, 27, 269,
2677 417, 28, 1474, 21, 21, 29, 285, 264, 30, 31,
2678 31, 31, 266, 266, 266, 269, 273, 273, 273, 282,
2679 282, 282, 285, 264, 316, 31, 1475, 21, 22, 22,
2680 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2681 22, 22, 22, 1476, 22, 22, 22, 22, 22, 32,
2683 32, 32, 33, 33, 33, 34, 34, 34, 256, 35,
2684 35, 35, 36, 36, 36, 32, 264, 1477, 33, 429,
2685 343, 34, 429, 22, 22, 35, 316, 343, 36, 37,
2686 37, 37, 38, 38, 38, 39, 39, 39, 40, 40,
2687 40, 41, 41, 41, 1479, 37, 483, 22, 38, 296,
2688 256, 39, 425, 483, 40, 1481, 256, 41, 42, 42,
2689 42, 256, 289, 289, 289, 296, 256, 293, 293, 293,
2690 304, 304, 304, 425, 42, 43, 43, 43, 43, 43,
2691 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
2692 313, 43, 43, 43, 43, 43, 45, 45, 45, 46,
2694 46, 46, 47, 47, 47, 313, 48, 48, 48, 49,
2695 49, 49, 45, 501, 595, 46, 1483, 595, 47, 311,
2696 43, 43, 48, 311, 317, 49, 277, 311, 43, 44,
2697 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2698 44, 44, 44, 44, 307, 44, 44, 44, 44, 44,
2699 50, 50, 50, 51, 51, 51, 52, 52, 52, 430,
2700 307, 501, 55, 55, 497, 277, 50, 55, 278, 51,
2701 1485, 497, 52, 430, 44, 44, 317, 55, 277, 318,
2702 277, 636, 44, 53, 53, 53, 53, 53, 53, 53,
2703 53, 53, 53, 53, 53, 53, 53, 53, 572, 53,
2705 53, 53, 53, 53, 1486, 323, 55, 278, 59, 59,
2706 59, 60, 60, 60, 61, 61, 61, 636, 56, 56,
2707 278, 323, 278, 56, 59, 301, 614, 60, 53, 53,
2708 61, 318, 301, 56, 612, 572, 53, 365, 612, 53,
2709 614, 301, 315, 315, 315, 1488, 53, 54, 54, 54,
2710 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
2711 54, 54, 56, 54, 54, 54, 54, 54, 62, 62,
2712 62, 63, 63, 63, 64, 64, 64, 618, 65, 65,
2713 65, 66, 66, 66, 62, 335, 357, 63, 347, 365,
2714 64, 618, 54, 54, 65, 1490, 608, 66, 347, 608,
2716 54, 335, 357, 54, 320, 320, 320, 329, 329, 329,
2717 54, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2718 57, 57, 57, 57, 57, 57, 347, 57, 57, 57,
2719 57, 57, 69, 69, 69, 70, 70, 70, 73, 73,
2720 73, 366, 74, 74, 74, 75, 75, 75, 69, 1492,
2721 371, 70, 330, 384, 73, 1493, 57, 57, 74, 330,
2722 1494, 75, 332, 332, 332, 57, 371, 57, 330, 384,
2723 378, 57, 340, 340, 340, 379, 57, 57, 58, 58,
2724 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2725 58, 58, 58, 366, 58, 58, 58, 58, 58, 76,
2727 76, 76, 77, 77, 77, 78, 78, 78, 475, 79,
2728 79, 79, 80, 80, 80, 76, 552, 1281, 77, 395,
2729 344, 78, 378, 58, 58, 79, 344, 379, 80, 349,
2730 349, 552, 58, 349, 58, 395, 344, 1281, 58, 349,
2731 349, 524, 1495, 58, 58, 67, 67, 67, 67, 67,
2732 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
2733 475, 67, 67, 67, 67, 67, 81, 81, 81, 82,
2734 82, 82, 83, 83, 83, 1497, 84, 84, 84, 85,
2735 85, 85, 81, 1506, 617, 82, 390, 617, 83, 524,
2736 67, 67, 84, 390, 401, 85, 586, 67, 354, 354,
2738 354, 401, 390, 67, 364, 364, 364, 368, 368, 368,
2739 401, 586, 67, 68, 68, 68, 68, 68, 68, 68,
2740 68, 68, 68, 68, 68, 68, 68, 68, 1507, 68,
2741 68, 68, 68, 68, 86, 86, 86, 87, 87, 87,
2742 88, 88, 88, 666, 89, 89, 89, 90, 90, 90,
2743 86, 1509, 620, 87, 406, 620, 88, 666, 68, 68,
2744 89, 624, 422, 90, 624, 68, 377, 377, 377, 1513,
2745 406, 68, 381, 381, 381, 389, 389, 389, 422, 1517,
2746 68, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2747 71, 71, 71, 71, 71, 71, 537, 71, 71, 71,
2749 71, 71, 91, 91, 91, 92, 92, 92, 93, 93,
2750 93, 1520, 94, 94, 94, 95, 95, 95, 91, 439,
2751 699, 92, 1527, 699, 93, 550, 71, 71, 94, 455,
2752 1528, 95, 392, 392, 392, 439, 415, 71, 400, 400,
2753 400, 403, 403, 403, 537, 455, 71, 72, 72, 72,
2754 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
2755 72, 72, 550, 72, 72, 72, 72, 72, 96, 96,
2756 96, 97, 97, 97, 98, 98, 98, 550, 99, 99,
2757 99, 100, 100, 100, 96, 415, 1529, 97, 415, 431,
2758 98, 1533, 72, 72, 99, 466, 1534, 100, 101, 101,
2760 101, 431, 431, 72, 102, 102, 102, 414, 414, 414,
2761 474, 466, 72, 573, 101, 419, 419, 419, 350, 1535,
2762 102, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2763 103, 103, 103, 103, 103, 103, 1538, 103, 103, 103,
2764 103, 103, 105, 105, 105, 106, 106, 106, 107, 107,
2765 107, 704, 108, 108, 108, 704, 350, 1545, 105, 474,
2766 480, 106, 434, 450, 107, 573, 103, 103, 108, 434,
2767 450, 103, 350, 433, 433, 433, 480, 103, 434, 450,
2768 1557, 103, 436, 436, 436, 1558, 1566, 103, 104, 104,
2769 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
2771 104, 104, 104, 1569, 104, 104, 104, 104, 104, 109,
2772 109, 109, 110, 110, 110, 111, 111, 111, 671, 112,
2773 112, 112, 449, 449, 449, 109, 493, 1570, 110, 1574,
2774 1581, 111, 671, 104, 104, 112, 461, 506, 104, 452,
2775 452, 452, 493, 461, 104, 460, 460, 460, 104, 463,
2776 463, 463, 461, 506, 104, 113, 113, 113, 113, 113,
2777 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
2778 1582, 113, 113, 113, 113, 113, 115, 115, 115, 116,
2779 116, 116, 117, 117, 117, 672, 118, 118, 118, 473,
2780 473, 473, 115, 1002, 517, 116, 1463, 1002, 117, 672,
2782 113, 113, 118, 1583, 1584, 113, 477, 477, 477, 486,
2783 517, 113, 485, 485, 485, 490, 490, 490, 499, 499,
2784 499, 1463, 113, 114, 114, 114, 114, 114, 114, 114,
2785 114, 114, 114, 114, 114, 114, 114, 114, 1587, 114,
2786 114, 114, 114, 114, 119, 119, 119, 120, 120, 120,
2787 121, 121, 121, 1591, 122, 122, 122, 486, 1594, 1596,
2788 119, 486, 1598, 120, 1030, 1599, 121, 1600, 114, 114,
2789 122, 512, 529, 114, 503, 503, 503, 1030, 512, 114,
2790 511, 511, 511, 514, 514, 514, 1603, 512, 529, 1605,
2791 114, 123, 123, 123, 123, 123, 123, 123, 123, 123,
2793 123, 123, 123, 123, 123, 123, 1607, 123, 123, 123,
2794 123, 123, 125, 125, 125, 126, 126, 126, 129, 129,
2795 129, 1612, 130, 130, 130, 133, 133, 133, 125, 542,
2796 557, 126, 1618, 1622, 129, 567, 123, 123, 130, 1623,
2797 1625, 133, 522, 522, 522, 542, 557, 123, 526, 526,
2798 526, 567, 123, 124, 124, 124, 124, 124, 124, 124,
2799 124, 124, 124, 124, 124, 124, 124, 124, 1635, 124,
2800 124, 124, 124, 124, 134, 134, 134, 135, 135, 135,
2801 136, 136, 136, 1637, 137, 137, 137, 138, 138, 138,
2802 134, 578, 1640, 135, 1641, 613, 136, 797, 124, 124,
2804 137, 1635, 613, 138, 535, 535, 535, 578, 613, 124,
2805 539, 539, 539, 797, 124, 127, 127, 127, 127, 127,
2806 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
2807 1643, 127, 127, 127, 127, 127, 139, 139, 139, 140,
2808 140, 140, 143, 143, 143, 1645, 144, 144, 144, 147,
2809 147, 147, 139, 1646, 1648, 140, 1634, 1649, 143, 1642,
2810 127, 127, 144, 1633, 1650, 147, 549, 549, 549, 554,
2811 554, 554, 561, 561, 561, 1642, 127, 564, 564, 564,
2812 1633, 1654, 127, 128, 128, 128, 128, 128, 128, 128,
2813 128, 128, 128, 128, 128, 128, 128, 128, 1634, 128,
2815 128, 128, 128, 128, 148, 148, 148, 151, 151, 151,
2816 152, 152, 152, 1656, 155, 155, 155, 156, 156, 156,
2817 148, 1659, 1660, 151, 562, 1661, 152, 1663, 128, 128,
2818 155, 562, 1665, 156, 571, 571, 571, 575, 575, 575,
2819 562, 583, 583, 583, 128, 585, 585, 585, 1666, 1668,
2820 128, 131, 131, 131, 131, 131, 131, 131, 131, 131,
2821 131, 131, 131, 131, 131, 131, 1670, 131, 131, 131,
2822 131, 131, 157, 157, 157, 158, 158, 158, 159, 159,
2823 159, 1673, 160, 160, 160, 1674, 584, 1041, 157, 1676,
2824 1677, 158, 1678, 584, 159, 1680, 131, 131, 160, 131,
2826 1041, 131, 584, 594, 594, 594, 1686, 131, 800, 800,
2827 800, 1690, 800, 1706, 131, 1707, 1712, 131, 132, 132,
2828 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
2829 132, 132, 132, 1713, 132, 132, 132, 132, 132, 161,
2830 161, 161, 162, 162, 162, 165, 165, 165, 1714, 166,
2831 166, 166, 842, 842, 842, 161, 842, 1718, 162, 842,
2832 622, 165, 594, 132, 132, 166, 132, 622, 132, 625,
2833 626, 1719, 1725, 622, 132, 1732, 625, 626, 1017, 1017,
2834 1017, 132, 625, 626, 132, 141, 141, 141, 141, 141,
2835 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2837 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2838 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2839 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2840 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2841 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2842 141, 141, 141, 141, 141, 141, 141, 141, 141, 145,
2843 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2844 145, 145, 145, 145, 1733, 145, 145, 145, 145, 145,
2845 167, 167, 167, 168, 168, 168, 169, 169, 169, 1675,
2846 170, 170, 170, 634, 634, 634, 167, 1675, 1734, 168,
2848 1738, 1074, 169, 1744, 145, 145, 170, 145, 145, 145,
2849 634, 1037, 1037, 1037, 1074, 145, 1679, 1748, 145, 812,
2850 812, 812, 145, 1751, 1679, 145, 146, 146, 146, 146,
2851 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
2852 146, 1753, 146, 146, 146, 146, 146, 171, 171, 171,
2853 172, 172, 172, 175, 175, 175, 1755, 176, 176, 176,
2854 642, 642, 642, 171, 1757, 1687, 172, 1758, 1691, 175,
2855 1759, 146, 146, 176, 146, 146, 146, 642, 831, 831,
2856 831, 1687, 146, 812, 1691, 146, 1295, 1295, 1295, 146,
2857 1762, 1764, 146, 149, 149, 149, 149, 149, 149, 149,
2859 149, 149, 149, 149, 149, 149, 149, 149, 1769, 149,
2860 149, 149, 149, 149, 177, 177, 177, 178, 178, 178,
2861 179, 179, 179, 1771, 180, 180, 180, 915, 650, 1779,
2862 177, 1780, 1692, 178, 1781, 650, 179, 915, 149, 149,
2863 180, 650, 831, 149, 915, 1297, 1297, 1297, 1692, 149,
2864 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
2865 150, 150, 150, 150, 150, 1783, 150, 150, 150, 150,
2866 150, 181, 181, 181, 182, 182, 182, 185, 185, 185,
2867 1797, 186, 186, 186, 659, 659, 659, 181, 1522, 1802,
2868 182, 1297, 1803, 185, 1522, 150, 150, 186, 1522, 1804,
2870 150, 659, 1522, 870, 870, 870, 150, 153, 153, 153,
2871 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
2872 153, 153, 1808, 153, 153, 153, 153, 153, 189, 189,
2873 189, 190, 190, 190, 191, 191, 191, 1795, 192, 192,
2874 192, 193, 193, 193, 189, 1794, 1809, 190, 1810, 1815,
2875 191, 1794, 153, 153, 192, 1821, 153, 193, 850, 850,
2876 850, 1823, 850, 153, 1824, 850, 153, 870, 1795, 1796,
2877 876, 876, 876, 153, 154, 154, 154, 154, 154, 154,
2878 154, 154, 154, 154, 154, 154, 154, 154, 154, 1827,
2879 154, 154, 154, 154, 154, 194, 194, 194, 195, 195,
2881 195, 196, 196, 196, 1830, 199, 199, 199, 200, 200,
2882 200, 194, 1834, 1835, 195, 1796, 1836, 196, 1837, 154,
2883 154, 199, 1838, 154, 200, 866, 866, 866, 1839, 866,
2884 154, 1840, 866, 154, 876, 1300, 1300, 1300, 1841, 1842,
2885 154, 163, 163, 163, 163, 163, 163, 163, 163, 163,
2886 163, 163, 163, 163, 163, 163, 1843, 163, 163, 163,
2887 163, 163, 201, 201, 201, 202, 202, 202, 203, 203,
2888 203, 1848, 204, 204, 204, 205, 205, 205, 201, 1849,
2889 1867, 202, 1868, 1871, 203, 1872, 163, 163, 204, 1873,
2890 1869, 205, 163, 883, 883, 883, 1877, 883, 1869, 1883,
2892 883, 1303, 1303, 1303, 1312, 1312, 1312, 163, 164, 164,
2893 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
2894 164, 164, 164, 1884, 164, 164, 164, 164, 164, 206,
2895 206, 206, 209, 209, 209, 210, 210, 210, 1870, 211,
2896 211, 211, 212, 212, 212, 206, 1870, 1885, 209, 1890,
2897 1894, 210, 1895, 164, 164, 211, 1896, 1898, 212, 164,
2898 890, 890, 890, 1901, 890, 1902, 1905, 890, 1337, 1337,
2899 1337, 1348, 1348, 1348, 164, 173, 173, 173, 173, 173,
2900 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
2901 1906, 173, 173, 173, 173, 173, 213, 213, 213, 214,
2903 214, 214, 215, 215, 215, 1909, 216, 216, 216, 219,
2904 219, 219, 213, 1523, 1916, 214, 1903, 1918, 215, 1523,
2905 173, 173, 216, 1523, 1903, 219, 173, 1523, 1904, 173,
2906 895, 895, 895, 1932, 895, 1945, 1904, 895, 1349, 1349,
2907 1349, 173, 174, 174, 174, 174, 174, 174, 174, 174,
2908 174, 174, 174, 174, 174, 174, 174, 1936, 174, 174,
2909 174, 174, 174, 220, 220, 220, 223, 223, 223, 224,
2910 224, 224, 1946, 225, 225, 225, 226, 226, 226, 220,
2911 1954, 1955, 223, 1959, 1349, 224, 1961, 174, 174, 225,
2912 1973, 1974, 226, 174, 1975, 1976, 174, 907, 907, 907,
2914 1936, 907, 1977, 1937, 907, 1422, 1422, 1422, 174, 183,
2915 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
2916 183, 183, 183, 183, 1978, 183, 183, 183, 183, 183,
2917 227, 227, 227, 228, 228, 228, 229, 229, 229, 1979,
2918 230, 230, 230, 233, 233, 233, 227, 1980, 1981, 228,
2919 1937, 1422, 229, 276, 183, 183, 230, 1982, 1988, 233,
2920 183, 1989, 348, 276, 1991, 183, 184, 184, 184, 184,
2921 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
2922 184, 2001, 184, 184, 184, 184, 184, 234, 234, 234,
2923 348, 2002, 276, 2003, 2004, 810, 810, 810, 276, 2005,
2925 341, 2006, 2007, 234, 2009, 276, 348, 2010, 342, 276,
2926 341, 184, 184, 810, 1478, 1478, 1478, 184, 342, 1480,
2927 1480, 1480, 184, 187, 187, 187, 187, 187, 187, 187,
2928 187, 187, 187, 187, 187, 187, 187, 187, 341, 187,
2929 187, 187, 187, 187, 341, 2015, 342, 2016, 341, 676,
2930 676, 676, 2018, 2019, 341, 341, 683, 683, 683, 2020,
2931 342, 688, 688, 688, 342, 2021, 676, 2028, 187, 187,
2932 700, 700, 700, 683, 187, 917, 917, 917, 688, 917,
2933 2029, 2030, 917, 1482, 1482, 1482, 2031, 700, 2032, 187,
2934 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
2936 188, 188, 188, 188, 188, 2033, 188, 188, 188, 188,
2937 188, 709, 709, 709, 711, 711, 711, 726, 726, 726,
2938 734, 734, 734, 739, 739, 739, 2034, 2035, 709, 2037,
2939 2058, 711, 2059, 2063, 726, 188, 188, 734, 2064, 2065,
2940 739, 188, 920, 920, 920, 2068, 920, 2072, 2073, 920,
2941 1484, 1484, 1484, 1487, 1487, 1487, 188, 197, 197, 197,
2942 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
2943 197, 197, 2053, 197, 197, 197, 197, 197, 761, 761,
2944 761, 788, 788, 788, 792, 792, 792, 811, 811, 811,
2945 2074, 838, 838, 838, 2075, 761, 2076, 2077, 788, 2078,
2947 2079, 792, 197, 197, 2053, 811, 2080, 2081, 197, 838,
2948 2083, 197, 935, 935, 935, 2054, 935, 2084, 2086, 935,
2949 1489, 1489, 1489, 197, 198, 198, 198, 198, 198, 198,
2950 198, 198, 198, 198, 198, 198, 198, 198, 198, 2087,
2951 198, 198, 198, 198, 198, 811, 839, 839, 839, 841,
2952 841, 841, 2054, 845, 845, 845, 846, 846, 846, 849,
2953 849, 849, 2088, 2085, 839, 2089, 841, 2090, 2091, 198,
2954 198, 845, 2085, 2092, 846, 198, 849, 2091, 198, 943,
2955 943, 943, 2093, 943, 1489, 2094, 943, 1496, 1496, 1496,
2956 198, 207, 207, 207, 207, 207, 207, 207, 207, 207,
2958 207, 207, 207, 207, 207, 207, 839, 207, 207, 207,
2959 207, 207, 851, 851, 851, 853, 853, 853, 2095, 2096,
2960 846, 857, 857, 857, 863, 863, 863, 1985, 1985, 851,
2961 1985, 2097, 853, 858, 858, 858, 207, 207, 1985, 857,
2962 2102, 1985, 863, 2103, 207, 1985, 207, 2104, 2106, 207,
2963 2110, 858, 1519, 1519, 1519, 2111, 2114, 207, 208, 208,
2964 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
2965 208, 208, 208, 2118, 208, 208, 208, 208, 208, 2119,
2966 858, 2121, 864, 864, 864, 865, 865, 865, 868, 868,
2967 868, 882, 882, 882, 886, 886, 886, 887, 887, 887,
2969 864, 2124, 865, 208, 208, 2125, 868, 2126, 882, 2127,
2970 2129, 208, 886, 208, 2132, 887, 208, 2134, 1491, 1491,
2971 1491, 1530, 1530, 1530, 208, 217, 217, 217, 217, 217,
2972 217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
2973 2154, 217, 217, 217, 217, 217, 864, 869, 869, 869,
2974 889, 889, 889, 2157, 892, 892, 892, 893, 893, 893,
2975 894, 894, 894, 887, 1491, 869, 2158, 889, 2159, 2160,
2976 217, 217, 892, 2153, 2161, 893, 2167, 894, 948, 948,
2977 948, 2168, 948, 2154, 869, 948, 968, 968, 968, 2169,
2978 968, 2170, 2171, 968, 217, 218, 218, 218, 218, 218,
2980 218, 218, 218, 218, 218, 218, 218, 218, 218, 218,
2981 2153, 218, 218, 218, 218, 218, 897, 897, 897, 898,
2982 898, 898, 2152, 893, 901, 901, 901, 902, 902, 902,
2983 906, 906, 906, 2164, 897, 2172, 2173, 898, 2174, 2175,
2984 218, 218, 901, 2164, 2176, 902, 2164, 906, 991, 991,
2985 991, 2178, 991, 2179, 2180, 991, 995, 995, 995, 2181,
2986 995, 2182, 2152, 995, 218, 221, 221, 221, 221, 221,
2987 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
2988 898, 221, 221, 221, 221, 221, 910, 910, 910, 911,
2989 911, 911, 902, 2183, 2184, 916, 916, 916, 919, 919,
2991 919, 921, 921, 921, 910, 2185, 2165, 911, 2186, 2187,
2992 221, 221, 916, 2188, 2189, 919, 2165, 2190, 921, 2165,
2993 2191, 221, 222, 222, 222, 222, 222, 222, 222, 222,
2994 222, 222, 222, 222, 222, 222, 222, 2192, 222, 222,
2995 222, 222, 222, 929, 929, 929, 930, 930, 930, 2193,
2996 911, 2194, 934, 934, 934, 936, 936, 936, 939, 939,
2997 939, 929, 2198, 2204, 930, 2205, 2209, 222, 222, 934,
2998 2212, 2220, 936, 1531, 1531, 1531, 939, 2221, 222, 231,
2999 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
3000 231, 231, 231, 231, 2222, 231, 231, 231, 231, 231,
3002 942, 942, 942, 2246, 930, 944, 944, 944, 2248, 945,
3003 945, 945, 2249, 940, 940, 940, 2243, 942, 2250, 947,
3004 947, 947, 2253, 944, 231, 231, 2254, 945, 952, 952,
3005 952, 940, 1498, 1498, 1498, 231, 947, 1049, 1049, 1049,
3006 2256, 1049, 2257, 2260, 1049, 2243, 952, 2244, 231, 232,
3007 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
3008 232, 232, 232, 232, 940, 232, 232, 232, 232, 232,
3009 945, 2261, 953, 953, 953, 954, 954, 954, 1498, 955,
3010 955, 955, 956, 956, 956, 957, 957, 957, 2230, 2244,
3011 953, 2262, 954, 2263, 232, 232, 955, 2255, 2230, 956,
3013 960, 960, 960, 957, 2230, 232, 958, 958, 958, 2265,
3014 2255, 961, 961, 961, 962, 962, 962, 960, 232, 274,
3015 963, 963, 963, 2266, 958, 2267, 274, 953, 961, 2268,
3016 2245, 962, 964, 964, 964, 274, 274, 963, 967, 967,
3017 967, 956, 969, 969, 969, 971, 971, 971, 2271, 2272,
3018 964, 965, 965, 965, 2273, 967, 972, 972, 972, 2274,
3019 969, 961, 971, 274, 274, 274, 2275, 958, 2276, 965,
3020 274, 274, 2245, 972, 274, 274, 961, 2277, 274, 963,
3021 274, 274, 274, 970, 970, 970, 2278, 2279, 965, 973,
3022 973, 973, 974, 974, 974, 975, 975, 975, 977, 977,
3024 977, 970, 976, 976, 976, 2280, 2281, 973, 2282, 2283,
3025 974, 2284, 975, 2285, 2287, 977, 978, 978, 978, 976,
3026 2258, 979, 979, 979, 984, 984, 984, 985, 985, 985,
3027 988, 988, 988, 2258, 978, 989, 989, 989, 970, 979,
3028 2295, 2296, 984, 2297, 2301, 985, 2309, 2311, 988, 990,
3029 990, 990, 976, 989, 992, 992, 992, 993, 993, 993,
3030 994, 994, 994, 974, 2319, 2320, 990, 976, 997, 997,
3031 997, 2321, 992, 2322, 2323, 993, 2324, 994, 998, 998,
3032 998, 2330, 1013, 1013, 1013, 2333, 997, 1014, 1014, 1014,
3033 2331, 985, 979, 1016, 1016, 1016, 998, 2336, 2337, 989,
3035 1013, 2341, 1043, 1043, 1043, 1014, 1044, 1044, 1044, 2342,
3036 2343, 1016, 1045, 1045, 1045, 1047, 1047, 1047, 993, 1043,
3037 1048, 1048, 1048, 2344, 1044, 2331, 1052, 1052, 1052, 2330,
3038 1045, 2345, 2346, 1047, 1054, 1054, 1054, 1048, 2347, 2348,
3039 1016, 2350, 998, 1052, 1055, 1055, 1055, 1057, 1057, 1057,
3040 2351, 2352, 1054, 1059, 1059, 1059, 2353, 1059, 2354, 2355,
3041 1059, 2356, 1055, 2357, 1047, 1057, 1062, 1062, 1062, 1063,
3042 1063, 1063, 2231, 1063, 2359, 2360, 1063, 2361, 1064, 1064,
3043 1064, 2362, 2231, 1062, 1065, 1065, 1065, 1052, 2231, 1066,
3044 1066, 1066, 2363, 1066, 1057, 1064, 1066, 1068, 1068, 1068,
3046 2364, 1065, 1070, 1070, 1070, 1071, 1071, 1071, 1073, 1073,
3047 1073, 1076, 1076, 1076, 1068, 1078, 1078, 1078, 2365, 2366,
3048 1070, 2367, 2368, 1071, 2369, 2370, 1073, 2371, 1076, 1079,
3049 1079, 1079, 2372, 1078, 1081, 1081, 1081, 1082, 1082, 1082,
3050 2373, 1082, 2379, 2383, 1082, 2384, 2385, 1079, 1086, 1086,
3051 1086, 2386, 1081, 1087, 1087, 1087, 1089, 1089, 1089, 2393,
3052 1101, 1101, 1101, 2396, 1101, 2403, 1086, 1101, 1073, 2404,
3053 2405, 1087, 2406, 2407, 1089, 1105, 1105, 1105, 1106, 1106,
3054 1106, 1081, 1107, 1107, 1107, 1109, 1109, 1109, 1115, 1115,
3055 1115, 2408, 1105, 1116, 1116, 1116, 1106, 1111, 1111, 1111,
3057 1107, 1111, 2411, 1109, 1111, 2398, 1115, 1118, 1118, 1118,
3058 2419, 1116, 1119, 1119, 1119, 2398, 1119, 2420, 2421, 1119,
3059 1122, 1122, 1122, 2422, 2423, 1118, 1123, 1123, 1123, 1124,
3060 1124, 1124, 1126, 1126, 1126, 2399, 2411, 1122, 1127, 1127,
3061 1127, 1128, 1128, 1128, 1123, 2399, 1109, 1124, 2424, 2425,
3062 1126, 2426, 1129, 1129, 1129, 1127, 2429, 2430, 1128, 1130,
3063 1130, 1130, 1132, 1132, 1132, 1135, 1135, 1135, 1118, 1128,
3064 1129, 1136, 1136, 1136, 2432, 1136, 2433, 1130, 1136, 2434,
3065 1132, 2436, 1135, 1141, 1141, 1141, 1142, 1142, 1142, 1144,
3066 1144, 1144, 2401, 1151, 1151, 1151, 2402, 1151, 2438, 1126,
3068 1151, 1141, 2401, 2439, 1142, 2440, 2402, 1144, 1154, 1154,
3069 1154, 1155, 1155, 1155, 2443, 1155, 2444, 2445, 1155, 1158,
3070 1158, 1158, 1159, 1159, 1159, 1154, 1159, 2446, 1132, 1159,
3071 1167, 1167, 1167, 1168, 1168, 1168, 1158, 1170, 1170, 1170,
3072 1175, 1175, 1175, 2447, 1175, 2450, 2451, 1175, 1167, 2458,
3073 2459, 1168, 2460, 2462, 1144, 1170, 1178, 1178, 1178, 1179,
3074 1179, 1179, 2468, 1179, 2469, 2470, 1179, 1182, 1182, 1182,
3075 1183, 1183, 1183, 1178, 1185, 1185, 1185, 1187, 1187, 1187,
3076 2471, 1187, 2472, 2473, 1187, 1182, 2474, 2475, 1183, 1190,
3077 1190, 1190, 1185, 1191, 1191, 1191, 1193, 1193, 1193, 1195,
3079 1195, 1195, 2476, 1195, 1170, 2477, 1195, 1190, 1201, 1201,
3080 1201, 1191, 2479, 2480, 1193, 1202, 1202, 1202, 1204, 1204,
3081 1204, 1205, 1205, 1205, 2494, 1185, 1201, 1206, 1206, 1206,
3082 2485, 1206, 2495, 1202, 1206, 2496, 1204, 2497, 1205, 1207,
3083 1207, 1207, 1208, 1208, 1208, 2498, 1208, 2499, 2500, 1208,
3084 1210, 1210, 1210, 1211, 1211, 1211, 1207, 1213, 1213, 1213,
3085 1215, 1215, 1215, 1193, 2501, 1216, 1216, 1216, 1210, 1216,
3086 2505, 1211, 1216, 2485, 2506, 1213, 2507, 1215, 1204, 1219,
3087 1219, 1219, 1220, 1220, 1220, 2508, 1220, 2509, 2510, 1220,
3088 1222, 1222, 1222, 1223, 1223, 1223, 1219, 1225, 1225, 1225,
3090 1227, 1227, 1227, 2512, 1227, 2513, 2515, 1227, 1222, 2516,
3091 2517, 1223, 1230, 1230, 1230, 1225, 1231, 1231, 1231, 1233,
3092 1233, 1233, 2518, 2520, 1213, 1234, 1234, 1234, 2521, 2525,
3093 1230, 1235, 1235, 1235, 1231, 1235, 2526, 1233, 1235, 1236,
3094 1236, 1236, 1234, 1237, 1237, 1237, 2527, 1237, 2530, 2535,
3095 1237, 1238, 1238, 1238, 2536, 2537, 1236, 1239, 1239, 1239,
3096 2538, 1225, 1241, 1241, 1241, 1242, 1242, 1242, 2539, 1238,
3097 1243, 1243, 1243, 2540, 1243, 1239, 2541, 1243, 2542, 1233,
3098 1241, 2543, 1242, 1246, 1246, 1246, 1247, 1247, 1247, 2544,
3099 1247, 2545, 2546, 1247, 1248, 1248, 1248, 1249, 1249, 1249,
3101 1246, 1251, 1251, 1251, 1253, 1253, 1253, 1256, 1256, 1256,
3102 2554, 2551, 1248, 2557, 2558, 1249, 1257, 1257, 1257, 1251,
3103 2561, 1253, 2551, 2548, 1241, 1256, 1259, 1259, 1259, 1262,
3104 1262, 1262, 2550, 2563, 1257, 1263, 1263, 1263, 1265, 1265,
3105 1265, 1266, 1266, 1266, 1259, 1266, 2550, 1262, 1266, 1269,
3106 1269, 1269, 2564, 1263, 2566, 2567, 1265, 1270, 1270, 1270,
3107 1272, 1272, 1272, 1251, 1273, 1273, 1273, 1269, 1273, 2548,
3108 2570, 1273, 1277, 1277, 1277, 1270, 2571, 2572, 1272, 1278,
3109 1278, 1278, 1280, 1280, 1280, 2573, 2574, 1259, 2575, 2576,
3110 1277, 1265, 1282, 1282, 1282, 2577, 2578, 1278, 2579, 2580,
3112 1280, 1289, 1289, 1289, 1315, 1315, 1315, 1317, 1317, 1317,
3113 1282, 1282, 2584, 1318, 1318, 1318, 1344, 1344, 1344, 1289,
3114 1272, 1315, 1316, 1316, 1316, 1317, 1316, 2592, 2594, 1316,
3115 1318, 1319, 1319, 1319, 1344, 1319, 2596, 2582, 1319, 1322,
3116 1322, 1322, 2598, 1280, 1324, 1324, 1324, 2608, 1324, 2582,
3117 2583, 1324, 1327, 1327, 1327, 2610, 2589, 1322, 2612, 1328,
3118 1328, 1328, 2583, 1328, 2590, 1317, 1328, 1289, 2589, 1327,
3119 1329, 1329, 1329, 2613, 1329, 2614, 2590, 1329, 1333, 1333,
3120 1333, 2615, 1334, 1334, 1334, 2622, 1334, 2605, 1322, 1334,
3121 1336, 1336, 1336, 2606, 2621, 1333, 1339, 1339, 1339, 1340,
3123 1340, 1340, 2626, 1340, 2607, 2607, 1340, 2606, 1336, 1341,
3124 1341, 1341, 2621, 1339, 1342, 1342, 1342, 1357, 1357, 1357,
3125 1358, 1358, 1358, 1359, 1359, 1359, 1341, 1359, 2605, 2632,
3126 1359, 2634, 1342, 2637, 1357, 2639, 2631, 1358, 2625, 2633,
3127 1336, 1360, 1360, 1360, 1363, 1363, 1363, 1364, 1364, 1364,
3128 1365, 1365, 1365, 2625, 1365, 2631, 2645, 1365, 2633, 1360,
3129 2646, 2647, 1363, 1342, 1364, 1366, 1366, 1366, 1367, 1367,
3130 1367, 1368, 1368, 1368, 2649, 1368, 2650, 2651, 1368, 1370,
3131 1370, 1370, 2636, 1366, 2609, 1367, 1373, 1373, 1373, 1374,
3132 1374, 1374, 2652, 1374, 2654, 2609, 1374, 1370, 1375, 1375,
3134 1375, 2636, 2655, 1373, 2657, 1360, 2658, 2665, 1363, 1376,
3135 1376, 1376, 1377, 1377, 1377, 1375, 1381, 1381, 1381, 1384,
3136 1384, 1384, 1568, 1568, 1568, 1366, 1376, 1385, 1385, 1385,
3137 1377, 1385, 2666, 1381, 1385, 2638, 1384, 1386, 1386, 1386,
3138 1370, 1386, 2667, 2668, 1386, 1389, 1389, 1389, 1396, 1396,
3139 1396, 1398, 1398, 1398, 2638, 1376, 1401, 1401, 1401, 2669,
3140 1401, 2670, 1389, 1401, 2673, 2674, 1396, 2675, 1398, 1404,
3141 1404, 1404, 1406, 1406, 1406, 1408, 1408, 1408, 1377, 1412,
3142 1412, 1412, 1413, 1413, 1413, 2676, 1404, 1414, 1414, 1414,
3143 1406, 1414, 2677, 1408, 1414, 2678, 1412, 1417, 1417, 1417,
3145 1413, 1417, 2680, 2682, 1417, 1421, 1421, 1421, 1423, 1423,
3146 1423, 2684, 1423, 1396, 2685, 1423, 2687, 1428, 1428, 1428,
3147 2696, 1428, 2698, 1421, 1428, 1412, 1432, 1432, 1432, 1434,
3148 1434, 1434, 2696, 1435, 1435, 1435, 1406, 1435, 2699, 1413,
3149 1435, 1408, 2697, 2700, 1432, 2701, 2702, 1434, 1438, 1438,
3150 1438, 2703, 1438, 2707, 2697, 1438, 1441, 1441, 1441, 1442,
3151 1442, 1442, 2708, 1442, 2709, 2710, 1442, 2711, 1447, 1447,
3152 1447, 1421, 1447, 2712, 1441, 1447, 1450, 1450, 1450, 1452,
3153 1452, 1452, 1456, 1456, 1456, 2715, 1434, 1432, 1453, 1453,
3154 1453, 2716, 1453, 2717, 1450, 1453, 1452, 1458, 1458, 1458,
3156 1456, 2713, 2718, 1441, 1459, 1459, 1459, 1460, 1460, 1460,
3157 1461, 1461, 1461, 2719, 1458, 1462, 1462, 1462, 1465, 1465,
3158 1465, 2720, 1459, 1450, 2721, 1460, 2713, 1461, 1472, 1472,
3159 1472, 1456, 2722, 1462, 2723, 2724, 1465, 1499, 1499, 1499,
3160 2725, 1499, 2726, 2727, 1499, 2728, 1472, 1502, 1502, 1502,
3161 1503, 1503, 1503, 2729, 1503, 2730, 2731, 1503, 2732, 1460,
3162 1508, 1508, 1508, 2733, 2734, 1502, 1510, 1510, 1510, 1465,
3163 1510, 1459, 2738, 1510, 1518, 1518, 1518, 1462, 1508, 2739,
3164 1472, 1514, 1514, 1514, 2740, 1514, 1465, 2735, 1514, 1521,
3165 1521, 1521, 1518, 1521, 2741, 2742, 1521, 2743, 1524, 1524,
3167 1524, 1525, 1525, 1525, 2744, 1525, 2735, 2745, 1525, 2746,
3168 2747, 1508, 2748, 2749, 1502, 1524, 1526, 1526, 1526, 1532,
3169 1532, 1532, 1536, 1536, 1536, 1537, 1537, 1537, 1539, 1539,
3170 1539, 1544, 1544, 1544, 1526, 1518, 1540, 1540, 1540, 2750,
3171 1540, 2751, 2752, 1540, 2753, 1539, 1541, 1541, 1541, 1544,
3172 1541, 2754, 2755, 1541, 1546, 1546, 1546, 1547, 1547, 1547,
3173 2757, 1548, 1548, 1548, 2758, 1548, 2759, 1526, 1548, 2760,
3174 2761, 1546, 1551, 1551, 1551, 1547, 2762, 2756, 1544, 2763,
3175 1552, 1552, 1552, 1532, 1552, 2764, 1536, 1552, 2765, 1537,
3176 1551, 1555, 1555, 1555, 1556, 1556, 1556, 2756, 1559, 1559,
3178 1559, 2766, 1559, 2767, 1547, 1559, 2768, 2769, 1555, 1562,
3179 1562, 1562, 1556, 1563, 1563, 1563, 2770, 1563, 2771, 2772,
3180 1563, 2773, 1564, 1564, 1564, 2774, 1562, 1565, 1565, 1565,
3181 2778, 1565, 2779, 2780, 1565, 1567, 1567, 1567, 1551, 1564,
3182 1571, 1571, 1571, 1572, 1572, 1572, 2775, 1572, 2781, 2782,
3183 1572, 2783, 2775, 1567, 1573, 1573, 1573, 1571, 1556, 1575,
3184 1575, 1575, 2785, 1575, 2786, 2788, 1575, 1578, 1578, 1578,
3185 2789, 1573, 1579, 1579, 1579, 2791, 1579, 2792, 2795, 1579,
3186 1580, 1580, 1580, 2796, 1578, 1585, 1585, 1585, 1586, 1586,
3187 1586, 1588, 1588, 1588, 1589, 1589, 1589, 1580, 1589, 2797,
3189 2798, 1589, 1585, 1590, 1590, 1590, 1586, 2800, 1588, 1592,
3190 1592, 1592, 1593, 1593, 1593, 2802, 1593, 2804, 2806, 1593,
3191 1590, 1595, 1595, 1595, 2794, 2808, 1592, 1597, 1597, 1597,
3192 1601, 1601, 1601, 1602, 1602, 1602, 2809, 1602, 2794, 1595,
3193 1602, 1604, 1604, 1604, 2810, 1597, 2811, 1601, 1606, 1606,
3194 1606, 1608, 1608, 1608, 1586, 1609, 1609, 1609, 2812, 1604,
3195 1610, 1610, 1610, 1611, 1611, 1611, 1606, 2813, 1608, 1613,
3196 1613, 1613, 1609, 1614, 1614, 1614, 2814, 1610, 1597, 2815,
3197 2817, 1611, 2819, 1615, 1615, 1615, 2821, 1613, 1616, 1616,
3198 1616, 1614, 1617, 1617, 1617, 1624, 1624, 1624, 2822, 1606,
3200 1615, 2823, 1619, 1619, 1619, 1616, 1619, 2824, 2839, 1619,
3201 1617, 2833, 2839, 1624, 2825, 1613, 1626, 1626, 1626, 1627,
3202 1627, 1627, 2826, 1627, 1610, 1471, 1627, 1628, 1628, 1628,
3203 1611, 1470, 1467, 1626, 1629, 1629, 1629, 1464, 1614, 1630,
3204 1630, 1630, 1632, 1632, 1632, 1628, 1624, 1631, 1631, 1631,
3205 2825, 1631, 1629, 2851, 1631, 1457, 1630, 1617, 2826, 2833,
3206 1632, 1638, 1638, 1638, 1639, 1639, 1639, 1644, 1644, 1644,
3207 1647, 1647, 1647, 1651, 1651, 1651, 2834, 2837, 1638, 1652,
3208 1652, 1652, 1639, 1653, 1653, 1653, 1628, 2853, 2851, 1629,
3209 1655, 1655, 1655, 1657, 1657, 1657, 1658, 1658, 1658, 1662,
3211 1662, 1662, 1664, 1664, 1664, 1667, 1667, 1667, 2877, 1669,
3212 1669, 1669, 1671, 1671, 1671, 1672, 1672, 1672, 2838, 2878,
3213 1664, 2837, 2847, 1667, 2834, 1639, 1669, 1681, 1681, 1681,
3214 1671, 1681, 1672, 2853, 1681, 1684, 1684, 1684, 1685, 1685,
3215 1685, 1688, 1688, 1688, 1689, 1689, 1689, 1693, 1693, 1693,
3216 2877, 2835, 1664, 1684, 2836, 1685, 1694, 1694, 1694, 2847,
3217 1694, 2878, 2838, 1694, 1693, 1697, 1697, 1697, 1698, 1698,
3218 1698, 1671, 1699, 1699, 1699, 1700, 1700, 1700, 2871, 1700,
3219 2840, 1684, 1700, 1697, 2840, 1698, 1701, 1701, 1701, 1699,
3220 1702, 1702, 1702, 1703, 1703, 1703, 1704, 1704, 1704, 2835,
3222 1704, 2841, 2836, 1704, 1701, 1705, 1705, 1705, 1702, 2841,
3223 1703, 2871, 1708, 1708, 1708, 2845, 1708, 2842, 1697, 1708,
3224 1711, 1711, 1711, 1705, 1711, 2842, 2846, 1711, 1715, 1715,
3225 1715, 1717, 1717, 1717, 1720, 1720, 1720, 2843, 1720, 1701,
3226 2857, 1720, 1723, 1723, 1723, 2843, 1715, 1724, 1724, 1724,
3227 2848, 1724, 1705, 2844, 1724, 2852, 1726, 1726, 1726, 1723,
3228 1726, 2844, 2845, 1726, 1729, 1729, 1729, 1730, 1730, 1730,
3229 2854, 1730, 2857, 2846, 1730, 1731, 1731, 1731, 1735, 1735,
3230 1735, 1729, 1736, 1736, 1736, 2858, 1736, 2848, 2855, 1736,
3231 2852, 1455, 1731, 1454, 1451, 1735, 1737, 1737, 1737, 1739,
3233 1739, 1739, 2856, 1739, 2875, 2849, 1739, 1742, 1742, 1742,
3234 2863, 1743, 1743, 1743, 1737, 1743, 2854, 2858, 1743, 1745,
3235 1745, 1745, 2850, 1745, 1742, 2855, 1745, 1749, 1749, 1749,
3236 1752, 1752, 1752, 1754, 1754, 1754, 1756, 1756, 1756, 2856,
3237 1756, 2875, 2865, 1756, 2863, 1749, 2849, 1737, 1752, 2864,
3238 1754, 1760, 1760, 1760, 1763, 1763, 1763, 1765, 1765, 1765,
3239 1766, 1766, 1766, 2850, 1766, 2891, 1446, 1766, 1445, 1760,
3240 2861, 2867, 1763, 2891, 1765, 1767, 1767, 1767, 2892, 1754,
3241 1768, 1768, 1768, 2864, 1768, 2865, 2892, 1768, 1770, 1770,
3242 1770, 2887, 1767, 2916, 1752, 1772, 1772, 1772, 1773, 1773,
3244 1773, 1774, 1774, 1774, 2916, 2861, 1770, 1775, 1775, 1775,
3245 2866, 1775, 2862, 1772, 1775, 2868, 1773, 2867, 1774, 1776,
3246 1776, 1776, 1777, 1777, 1777, 2887, 1777, 2869, 2859, 1777,
3247 1778, 1778, 1778, 1782, 1782, 1782, 1776, 2859, 1784, 1784,
3248 1784, 2860, 1784, 2873, 1772, 1784, 2870, 2862, 1778, 2897,
3249 2860, 1782, 2873, 2866, 1770, 1787, 1787, 1787, 1788, 1788,
3250 1788, 2868, 2869, 1773, 1789, 1789, 1789, 1433, 1789, 1431,
3251 1427, 1789, 1426, 1787, 1420, 1411, 1788, 2872, 1792, 1792,
3252 1792, 2870, 1798, 1798, 1798, 1799, 1799, 1799, 2874, 1799,
3253 2897, 1410, 1799, 1409, 1407, 1778, 1792, 2874, 1782, 1798,
3255 1800, 1800, 1800, 1801, 1801, 1801, 1787, 1805, 1805, 1805,
3256 2872, 1788, 1806, 1806, 1806, 1807, 1807, 1807, 1800, 1811,
3257 1811, 1811, 1812, 1812, 1812, 1813, 1813, 1813, 1814, 1814,
3258 1814, 1816, 1816, 1816, 1817, 1817, 1817, 1818, 1818, 1818,
3259 1819, 1819, 1819, 1820, 1820, 1820, 2876, 1822, 1822, 1822,
3260 1825, 1825, 1825, 1828, 1828, 1828, 1829, 1829, 1829, 2879,
3261 1829, 2883, 2884, 1829, 1800, 1822, 1405, 2915, 1825, 1400,
3262 1828, 1831, 1831, 1831, 1814, 1832, 1832, 1832, 1833, 1833,
3263 1833, 2915, 1833, 2876, 2898, 1833, 1844, 1844, 1844, 1831,
3264 2883, 2884, 1832, 1845, 1845, 1845, 2880, 2893, 1822, 1846,
3266 1846, 1846, 2881, 1846, 1844, 2879, 1846, 1847, 1847, 1847,
3267 1845, 1850, 1850, 1850, 1851, 1851, 1851, 1852, 1852, 1852,
3268 1853, 1853, 1853, 2894, 1853, 2898, 2911, 1853, 1854, 1854,
3269 1854, 1855, 1855, 1855, 1852, 1844, 1856, 1856, 1856, 2881,
3270 1856, 2889, 2880, 1856, 2893, 2885, 1854, 2882, 1855, 1857,
3271 1857, 1857, 2886, 1857, 2885, 2895, 1857, 1860, 1860, 1860,
3272 1851, 2886, 1861, 1861, 1861, 1863, 1863, 1863, 2899, 1863,
3273 2894, 2888, 1863, 1399, 2911, 1860, 1866, 1866, 1866, 1854,
3274 1861, 1874, 1874, 1874, 2882, 1874, 2896, 2889, 1874, 1878,
3275 1878, 1878, 2895, 1878, 1866, 1397, 1878, 1881, 1881, 1881,
3277 1882, 1882, 1882, 2899, 1882, 2888, 2890, 1882, 1860, 1886,
3278 1886, 1886, 2900, 1886, 1881, 1395, 1886, 1889, 1889, 1889,
3279 1891, 1891, 1891, 2896, 1891, 2905, 1394, 1891, 2903, 1866,
3280 1897, 1897, 1897, 2901, 2902, 1889, 1899, 1899, 1899, 1900,
3281 1900, 1900, 2912, 1900, 1393, 1392, 1900, 2900, 1897, 1907,
3282 1907, 1907, 2890, 1899, 1910, 1910, 1910, 2905, 1910, 1391,
3283 1390, 1910, 1913, 1913, 1913, 2903, 1913, 1907, 2906, 1913,
3284 1917, 1917, 1917, 1919, 1919, 1919, 1920, 1920, 1920, 2901,
3285 2902, 1889, 1921, 1921, 1921, 1383, 1921, 2909, 1917, 1921,
3286 2912, 1919, 2904, 1382, 1920, 1924, 1924, 1924, 2907, 1924,
3288 2906, 1380, 1924, 1379, 1927, 1927, 1927, 2907, 1928, 1928,
3289 1928, 2908, 1920, 1929, 1929, 1929, 1930, 1930, 1930, 2909,
3290 2908, 1917, 1927, 1378, 1927, 1928, 1931, 1931, 1931, 2904,
3291 1929, 1372, 1371, 1930, 1933, 1933, 1933, 1369, 1362, 1919,
3292 1934, 1934, 1934, 1361, 1931, 1935, 1935, 1935, 1938, 1938,
3293 1938, 1356, 1933, 1939, 1939, 1939, 1355, 1939, 1934, 1354,
3294 1939, 2910, 1353, 1935, 1929, 1942, 1942, 1942, 1943, 1943,
3295 1943, 1944, 1944, 1944, 1352, 1930, 1947, 1947, 1947, 1948,
3296 1948, 1948, 1351, 1942, 1949, 1949, 1949, 1950, 1950, 1950,
3297 2913, 1931, 1350, 2910, 1933, 1951, 1951, 1951, 1952, 1952,
3299 1952, 1953, 1953, 1953, 1956, 1956, 1956, 1957, 1957, 1957,
3300 1958, 1958, 1958, 1960, 1960, 1960, 1963, 1963, 1963, 1964,
3301 1964, 1964, 2913, 1964, 1942, 1347, 1964, 1967, 1967, 1967,
3302 1346, 1960, 1343, 1963, 1968, 1968, 1968, 1338, 1970, 1970,
3303 1970, 1335, 1970, 2914, 1967, 1970, 1983, 1983, 1983, 1984,
3304 1984, 1984, 1968, 1984, 1986, 1986, 1984, 1986, 1987, 1987,
3305 1987, 1990, 1990, 1990, 1983, 1986, 1332, 1323, 1986, 1992,
3306 1992, 1992, 1986, 1992, 1321, 2914, 1992, 1995, 1995, 1995,
3307 1996, 1996, 1996, 1320, 1996, 1314, 1313, 1996, 1999, 1999,
3308 1999, 1311, 1310, 1967, 1309, 1995, 2000, 2000, 2000, 2008,
3310 2008, 2008, 2014, 2014, 2014, 1308, 1999, 1983, 2011, 2011,
3311 2011, 1307, 2011, 1306, 2000, 2011, 2017, 2017, 2017, 2014,
3312 2022, 2022, 2022, 1995, 2024, 2024, 2024, 1305, 2025, 2025,
3313 2025, 1304, 2025, 1302, 2017, 2025, 1301, 1299, 2022, 1298,
3314 1296, 2024, 2036, 2036, 2036, 1294, 1293, 2000, 2038, 2038,
3315 2038, 2039, 2039, 2039, 2040, 2040, 2040, 2041, 2041, 2041,
3316 2042, 2042, 2042, 2043, 2043, 2043, 2038, 1292, 2039, 1291,
3317 2024, 1290, 2040, 1288, 1287, 2041, 1286, 1285, 2042, 1276,
3318 2043, 2044, 2044, 2044, 1261, 2044, 1260, 1255, 2044, 2045,
3319 2045, 2045, 2046, 2046, 2046, 1254, 1252, 2042, 2047, 2047,
3321 2047, 2048, 2048, 2048, 1245, 1244, 2045, 1226, 1221, 2046,
3322 2049, 2049, 2049, 1218, 2040, 1217, 2047, 1214, 2041, 2050,
3323 2050, 2050, 2052, 2052, 2052, 2055, 2055, 2055, 2049, 2056,
3324 2056, 2056, 2057, 2057, 2057, 1209, 1200, 2050, 1199, 1198,
3325 2052, 1194, 1186, 2046, 2060, 2060, 2060, 2056, 2061, 2061,
3326 2061, 2062, 2062, 2062, 2066, 2066, 2066, 2069, 2069, 2069,
3327 2070, 2070, 2070, 1181, 2070, 1180, 1174, 2070, 2071, 2071,
3328 2071, 1173, 2066, 1172, 2069, 1171, 2049, 2082, 2082, 2082,
3329 2098, 2098, 2098, 1166, 2052, 2071, 2099, 2099, 2099, 2101,
3330 2101, 2101, 2108, 2108, 2108, 2082, 1165, 1164, 2098, 2109,
3332 2109, 2109, 1163, 1162, 2099, 1161, 1160, 2101, 1150, 2108,
3333 2112, 2112, 2112, 2113, 2113, 2113, 1149, 2113, 1148, 1147,
3334 2113, 1146, 1145, 2071, 2115, 2115, 2115, 2112, 1140, 2116,
3335 2116, 2116, 2120, 2120, 2120, 1139, 1134, 2082, 2122, 2122,
3336 2122, 2115, 2131, 2131, 2131, 1133, 2098, 2116, 1114, 2120,
3337 2123, 2123, 2123, 1110, 2123, 2122, 1104, 2123, 1100, 2131,
3338 2133, 2133, 2133, 2135, 2135, 2135, 2137, 2137, 2137, 2138,
3339 2138, 2138, 1099, 2138, 1098, 1097, 2138, 2139, 2139, 2139,
3340 1096, 2135, 1095, 2137, 2140, 2140, 2140, 1094, 2141, 2141,
3341 2141, 1093, 2142, 2142, 2142, 2139, 2142, 1092, 1091, 2142,
3343 1090, 1085, 2140, 2145, 2145, 2145, 2141, 2146, 2146, 2146,
3344 1077, 2146, 1075, 1069, 2146, 2147, 2147, 2147, 1067, 1058,
3345 2145, 2148, 2148, 2148, 2150, 2150, 2150, 2151, 2151, 2151,
3346 1053, 1042, 2147, 1040, 1039, 2155, 2155, 2155, 1038, 2148,
3347 2162, 2162, 2162, 1036, 1035, 2151, 2166, 2166, 2166, 1034,
3348 1033, 2140, 2141, 2155, 2163, 2163, 2163, 2162, 2163, 1032,
3349 1031, 2163, 1029, 2166, 2177, 2177, 2177, 2195, 2195, 2195,
3350 2196, 2196, 2196, 2199, 2199, 2199, 2202, 2202, 2202, 2203,
3351 2203, 2203, 2177, 2203, 1028, 2195, 2203, 1027, 2196, 1026,
3352 2199, 1025, 1024, 2202, 2206, 2206, 2206, 1023, 2206, 1022,
3354 1021, 2206, 2210, 2210, 2210, 1020, 1019, 2166, 2211, 2211,
3355 2211, 1018, 2211, 1012, 1011, 2211, 2213, 2213, 2213, 2210,
3356 2214, 2214, 2214, 1010, 2177, 2215, 2215, 2215, 1007, 2215,
3357 1006, 1005, 2215, 2213, 2216, 2216, 2216, 2214, 2195, 2217,
3358 2217, 2217, 1003, 2217, 999, 996, 2217, 2225, 2225, 2225,
3359 987, 2216, 2226, 2226, 2226, 986, 2226, 983, 982, 2226,
3360 2227, 2227, 2227, 981, 2225, 2228, 2228, 2228, 2229, 2229,
3361 2229, 980, 2229, 966, 959, 2229, 951, 2227, 2232, 2232,
3362 2232, 950, 2228, 2234, 2234, 2234, 2235, 2235, 2235, 949,
3363 2236, 2236, 2236, 946, 2236, 941, 2232, 2236, 2239, 2239,
3365 2239, 2234, 938, 937, 2235, 2240, 2240, 2240, 933, 2240,
3366 931, 928, 2240, 927, 926, 2239, 2241, 2241, 2241, 2247,
3367 2247, 2247, 2251, 2251, 2251, 2252, 2252, 2252, 925, 2252,
3368 924, 923, 2252, 922, 2241, 2259, 2259, 2259, 918, 2251,
3369 2270, 2270, 2270, 2286, 2286, 2286, 914, 2235, 913, 2234,
3370 912, 909, 2259, 2288, 2288, 2288, 908, 905, 2270, 2289,
3371 2289, 2289, 2290, 2290, 2290, 2291, 2291, 2291, 904, 2291,
3372 903, 2288, 2291, 2292, 2292, 2292, 2289, 2292, 900, 2290,
3373 2292, 2298, 2298, 2298, 899, 2298, 896, 891, 2298, 888,
3374 885, 2270, 2302, 2302, 2302, 2259, 2303, 2303, 2303, 884,
3376 2303, 881, 880, 2303, 879, 2289, 2304, 2304, 2304, 2302,
3377 2304, 878, 877, 2304, 875, 2288, 2307, 2307, 2307, 2308,
3378 2308, 2308, 874, 2308, 873, 872, 2308, 2310, 2310, 2310,
3379 2312, 2312, 2312, 2307, 2312, 871, 867, 2312, 2315, 2315,
3380 2315, 2316, 2316, 2316, 2310, 2316, 862, 861, 2316, 2317,
3381 2317, 2317, 2318, 2318, 2318, 2315, 2318, 860, 859, 2318,
3382 2325, 2325, 2325, 2326, 2326, 2326, 2317, 2327, 2327, 2327,
3383 856, 2327, 855, 854, 2327, 2332, 2332, 2332, 2325, 852,
3384 848, 2326, 2334, 2334, 2334, 2335, 2335, 2335, 2349, 2349,
3385 2349, 844, 2332, 2332, 2338, 2338, 2338, 843, 2338, 840,
3387 837, 2338, 2358, 2358, 2358, 2349, 2374, 2374, 2374, 836,
3388 835, 2325, 2375, 2375, 2375, 2376, 2376, 2376, 834, 833,
3389 2358, 2377, 2377, 2377, 2378, 2378, 2378, 832, 2378, 830,
3390 2326, 2378, 829, 2376, 828, 2380, 2380, 2380, 2377, 2380,
3391 827, 826, 2380, 2387, 2387, 2387, 825, 2387, 824, 823,
3392 2387, 2358, 2390, 2390, 2390, 822, 2390, 821, 820, 2390,
3393 2394, 2394, 2394, 2395, 2395, 2395, 2376, 2395, 819, 818,
3394 2395, 2397, 2397, 2397, 817, 2397, 816, 2394, 2397, 2400,
3395 2400, 2400, 815, 2400, 814, 813, 2400, 2409, 2409, 2409,
3396 2410, 2410, 2410, 2412, 2412, 2412, 2413, 2413, 2413, 2414,
3398 2414, 2414, 809, 2414, 808, 2409, 2414, 806, 2410, 805,
3399 2412, 2412, 804, 2413, 2413, 803, 802, 2414, 2415, 2415,
3400 2415, 2416, 2416, 2416, 2417, 2417, 2417, 2418, 2418, 2418,
3401 2427, 2427, 2427, 2428, 2428, 2428, 798, 2428, 796, 795,
3402 2428, 2437, 2437, 2437, 2452, 2452, 2452, 2427, 2453, 2453,
3403 2453, 2454, 2454, 2454, 794, 793, 2410, 789, 785, 2437,
3404 2455, 2455, 2455, 784, 2455, 781, 780, 2455, 779, 2454,
3405 2461, 2461, 2461, 2463, 2463, 2463, 2464, 2464, 2464, 778,
3406 2464, 777, 776, 2464, 2467, 2467, 2467, 2461, 773, 772,
3407 2463, 2482, 2482, 2482, 2484, 2484, 2484, 2486, 2486, 2486,
3409 771, 2467, 770, 767, 2487, 2487, 2487, 2437, 2487, 2482,
3410 766, 2487, 2484, 765, 2486, 2486, 2488, 2488, 2488, 762,
3411 2488, 760, 2487, 2488, 2491, 2491, 2491, 2492, 2492, 2492,
3412 2493, 2493, 2493, 757, 2488, 2502, 2502, 2502, 756, 2502,
3413 755, 754, 2502, 753, 750, 2484, 2489, 2489, 2489, 2489,
3414 2489, 2489, 2489, 2489, 2489, 749, 748, 2489, 2511, 2511,
3415 2511, 747, 2489, 2489, 2489, 2489, 2489, 2522, 2522, 2522,
3416 2523, 2523, 2523, 2528, 2528, 2528, 2511, 2529, 2529, 2529,
3417 746, 2529, 743, 742, 2529, 2531, 2531, 2531, 2523, 741,
3418 2528, 2489, 2489, 2490, 2490, 2490, 2490, 2490, 2490, 2490,
3420 2490, 2490, 2531, 740, 2490, 2533, 2533, 2533, 738, 2490,
3421 2490, 2490, 2490, 2490, 2532, 2532, 2532, 735, 2532, 733,
3422 730, 2532, 2533, 2534, 2534, 2534, 729, 2534, 728, 727,
3423 2534, 2547, 2547, 2547, 2568, 2568, 2568, 725, 2490, 2490,
3424 2549, 2549, 2549, 724, 2549, 723, 720, 2549, 719, 2547,
3425 718, 717, 2568, 2603, 2603, 2603, 716, 715, 2549, 2552,
3426 2552, 2552, 2552, 2552, 2552, 2552, 2552, 2552, 714, 713,
3427 2552, 2603, 712, 710, 708, 2552, 2552, 2552, 2552, 2552,
3428 2581, 2581, 2581, 707, 2581, 703, 702, 2581, 2585, 2585,
3429 2585, 701, 2585, 698, 695, 2585, 2588, 2588, 2588, 694,
3431 2588, 693, 690, 2588, 2552, 2552, 2553, 2553, 2553, 2553,
3432 2553, 2553, 2553, 2553, 2553, 689, 685, 2553, 2611, 2611,
3433 2611, 684, 2553, 2553, 2553, 2553, 2553, 2628, 2628, 2628,
3434 2629, 2629, 2629, 2630, 2630, 2630, 2611, 2611, 2635, 2635,
3435 2635, 2644, 2644, 2644, 2628, 682, 679, 2629, 678, 677,
3436 2630, 2553, 2553, 675, 670, 2635, 2648, 2648, 2648, 2644,
3437 2659, 2659, 2659, 2660, 2660, 2660, 669, 2660, 668, 667,
3438 2660, 2661, 2661, 2661, 2648, 665, 664, 2659, 2662, 2662,
3439 2662, 663, 2662, 662, 661, 2662, 660, 656, 2661, 2663,
3440 2663, 2663, 2664, 2664, 2664, 655, 2664, 654, 653, 2664,
3442 2671, 2671, 2671, 2679, 2679, 2679, 2663, 2648, 2672, 2672,
3443 2672, 649, 2672, 648, 647, 2672, 646, 2671, 2689, 2689,
3444 2689, 2679, 2689, 645, 644, 2689, 2692, 2692, 2692, 643,
3445 2692, 641, 638, 2692, 2695, 2695, 2695, 637, 2695, 635,
3446 2679, 2695, 2704, 2704, 2704, 633, 2704, 630, 629, 2704,
3447 2807, 2807, 2807, 2816, 2816, 2816, 623, 2816, 621, 619,
3448 2816, 2917, 2917, 2917, 2918, 2918, 2918, 616, 2807, 615,
3449 611, 2816, 610, 609, 607, 606, 605, 604, 603, 2917,
3450 600, 599, 2918, 2921, 2921, 2921, 2921, 2921, 2921, 2921,
3451 2921, 2921, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922,
3453 2922, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923,
3454 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2924, 2925,
3455 2925, 2925, 2925, 2925, 2925, 2925, 2925, 2925, 2926, 2926,
3456 2926, 2926, 2926, 2926, 2926, 2926, 2926, 2927, 2927, 2927,
3457 2927, 2927, 2927, 2927, 2927, 2927, 2928, 2928, 2928, 2928,
3458 2928, 2928, 2928, 2928, 2928, 2929, 2929, 2929, 2929, 2929,
3459 2929, 2929, 2929, 2929, 2930, 2930, 2930, 2930, 2930, 2930,
3460 2930, 2930, 2930, 2931, 2931, 2931, 2931, 2931, 2931, 2931,
3461 2931, 2931, 2932, 2932, 2932, 2932, 2932, 2932, 2932, 2932,
3462 2932, 2933, 2933, 2933, 2933, 2933, 2933, 2933, 2933, 2933,
3464 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2935,
3465 2935, 2935, 2935, 2935, 2935, 2935, 2935, 2935, 2936, 2936,
3466 2936, 2936, 2936, 2936, 2936, 2936, 2936, 2937, 2937, 2937,
3467 2937, 2937, 2937, 2937, 2937, 2937, 2938, 2938, 2938, 2938,
3468 2938, 2938, 2938, 2938, 2938, 2939, 2939, 2939, 2939, 2939,
3469 2939, 2939, 2939, 2939, 2940, 2940, 2940, 2940, 2940, 2940,
3470 2940, 2940, 2940, 2941, 2941, 2941, 2941, 2941, 2941, 2941,
3471 2941, 2941, 2942, 2942, 2942, 2942, 2942, 2942, 2942, 2942,
3472 2942, 2943, 2943, 2943, 2943, 2943, 2943, 2943, 2943, 2943,
3473 2944, 2944, 2944, 2944, 2944, 2944, 2944, 2944, 2944, 2945,
3475 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2945, 2946, 2946,
3476 2946, 2946, 2946, 2946, 2946, 2946, 2946, 2947, 2947, 2947,
3477 2947, 2947, 2947, 2947, 2947, 2947, 2948, 2948, 2948, 2948,
3478 2948, 2948, 2948, 2948, 2948, 2949, 2949, 2949, 2949, 2949,
3479 2949, 2949, 2949, 2949, 2950, 2950, 2950, 2950, 2950, 2950,
3480 2950, 2950, 2950, 2951, 2951, 2951, 2951, 2951, 2951, 2951,
3481 2951, 2951, 2952, 2952, 2952, 2952, 2952, 2952, 2952, 2952,
3482 2952, 2953, 2953, 2953, 2953, 2953, 2953, 2953, 2953, 2953,
3483 2954, 2954, 2954, 2954, 2954, 2954, 2954, 2954, 2954, 2955,
3484 2955, 2955, 2955, 2955, 2955, 2955, 2955, 2955, 2956, 2956,
3486 2956, 2956, 2956, 2956, 2956, 2956, 2956, 2957, 2957, 2957,
3487 2957, 2957, 2957, 2957, 2957, 2957, 2958, 2958, 2958, 2958,
3488 2958, 2958, 2958, 2958, 2958, 2959, 2959, 2959, 2959, 2959,
3489 2959, 2959, 2959, 2959, 2960, 2960, 2960, 2960, 2960, 2960,
3490 2960, 2960, 2960, 2961, 2961, 2961, 2961, 2961, 2961, 2961,
3491 2961, 2961, 2962, 2962, 2962, 2962, 2962, 2962, 2962, 2962,
3492 2962, 2963, 2963, 2963, 2963, 2963, 2963, 2963, 2963, 2963,
3493 2964, 2964, 2964, 2964, 2964, 2964, 2964, 2964, 2964, 2965,
3494 2965, 2965, 2965, 2965, 2965, 2965, 2965, 2965, 2966, 2966,
3495 2966, 2966, 2966, 2966, 2966, 2966, 2966, 2967, 2967, 2967,
3497 2967, 2967, 2967, 2967, 2967, 2967, 2968, 2968, 2968, 2968,
3498 2968, 2968, 2968, 2968, 2968, 2969, 2969, 2969, 2969, 2969,
3499 2969, 2969, 2969, 2969, 2970, 2970, 2970, 2970, 2970, 2970,
3500 2970, 2970, 2970, 2971, 2971, 2971, 2971, 2971, 2971, 2971,
3501 2971, 2971, 2972, 2972, 2972, 2972, 2972, 2972, 2972, 2972,
3502 2972, 2973, 2973, 2973, 2973, 2973, 2973, 2973, 2973, 2973,
3503 2974, 2974, 2974, 598, 597, 596, 2974, 2975, 2975, 2975,
3504 590, 589, 587, 2975, 2976, 2976, 2976, 581, 580, 576,
3505 2976, 2977, 2977, 2977, 569, 565, 559, 2977, 2978, 2978,
3506 2978, 555, 551, 547, 2978, 2979, 2979, 2979, 546, 545,
3508 544, 2979, 2980, 2980, 2980, 540, 536, 533, 2980, 2981,
3509 2981, 2981, 532, 531, 527, 2981, 2982, 2982, 2982, 523,
3510 520, 519, 2982, 2983, 2983, 2983, 515, 509, 508, 2983,
3511 2984, 2984, 2984, 504, 500, 496, 2984, 2985, 2985, 2985,
3512 495, 491, 488, 2985, 2986, 2986, 2986, 487, 482, 478,
3513 2986, 2987, 2987, 2987, 470, 469, 468, 2987, 2988, 2988,
3514 2988, 464, 458, 457, 2988, 2989, 2989, 2989, 453, 447,
3515 446, 2989, 2990, 2990, 2990, 445, 444, 443, 2990, 2991,
3516 2991, 2991, 442, 441, 437, 2991, 2992, 2992, 2992, 428,
3517 427, 426, 2992, 2993, 2993, 2993, 424, 420, 416, 2993,
3519 2994, 2994, 2994, 412, 411, 410, 2994, 2995, 2995, 2995,
3520 409, 408, 404, 2995, 2996, 2996, 2996, 398, 397, 393,
3521 2996, 2997, 2997, 2997, 387, 386, 382, 2997, 2998, 2998,
3522 2998, 2998, 2998, 2998, 2998, 375, 2998, 2999, 2999, 2999,
3523 374, 373, 369, 2999, 3000, 362, 361, 360, 3000, 3001,
3524 3001, 3001, 359, 355, 351, 3001, 3002, 346, 338, 337,
3525 3002, 3003, 3003, 3003, 333, 327, 326, 3003, 3004, 325,
3526 321, 312, 3004, 3005, 3005, 3005, 310, 309, 305, 3005,
3527 3006, 302, 300, 299, 3006, 3007, 3007, 3007, 298, 294,
3528 290, 3007, 3008, 287, 283, 280, 3008, 3009, 3009, 3009,
3530 279, 271, 267, 3009, 3010, 263, 262, 261, 3010, 3011,
3531 3011, 3011, 255, 254, 252, 3011, 3012, 249, 237, 0,
3532 3012, 3013, 3013, 3013, 0, 0, 0, 3013, 3014, 0,
3533 0, 0, 3014, 3015, 3015, 3015, 0, 0, 0, 3015,
3534 3016, 0, 0, 0, 3016, 3017, 3017, 3017, 0, 0,
3535 0, 3017, 3018, 0, 0, 0, 3018, 3019, 3019, 3019,
3536 0, 0, 0, 3019, 3020, 0, 0, 0, 3020, 3021,
3537 3021, 3021, 0, 0, 0, 3021, 3022, 0, 0, 0,
3538 3022, 3023, 3023, 3023, 0, 0, 0, 3023, 3024, 0,
3539 0, 0, 3024, 3025, 3025, 3025, 0, 0, 0, 3025,
3541 3026, 0, 0, 0, 3026, 3027, 3027, 3027, 0, 0,
3542 0, 3027, 3028, 0, 0, 0, 3028, 3029, 3029, 3029,
3543 0, 0, 0, 3029, 3030, 0, 0, 0, 3030, 3031,
3544 3031, 3031, 0, 0, 0, 3031, 3032, 0, 0, 0,
3545 3032, 3033, 3033, 3033, 0, 0, 0, 3033, 3034, 0,
3546 0, 0, 3034, 3035, 3035, 3035, 0, 0, 0, 3035,
3547 3036, 0, 0, 0, 3036, 3037, 3037, 3037, 0, 0,
3548 0, 3037, 3038, 0, 0, 0, 3038, 3039, 3039, 3039,
3549 0, 0, 0, 3039, 3040, 0, 0, 0, 3040, 3041,
3550 3041, 3041, 0, 0, 0, 3041, 3042, 0, 0, 0,
3552 3042, 3043, 3043, 3043, 0, 0, 0, 3043, 3044, 0,
3553 0, 0, 3044, 3045, 3045, 3045, 0, 0, 0, 3045,
3554 3046, 0, 0, 0, 3046, 3047, 3047, 3047, 3047, 3047,
3555 3047, 3047, 3047, 3047, 3048, 0, 0, 0, 0, 3048,
3556 3049, 3049, 3049, 0, 0, 0, 3049, 3050, 3050, 3050,
3557 3050, 0, 0, 3050, 3050, 3051, 3051, 3051, 0, 0,
3558 0, 3051, 3052, 3052, 3052, 3052, 0, 0, 3052, 3052,
3559 3053, 3053, 3053, 0, 0, 0, 3053, 3054, 3054, 3054,
3560 3054, 0, 0, 3054, 3054, 3055, 3055, 3055, 0, 0,
3561 0, 3055, 3056, 3056, 3056, 3056, 0, 0, 3056, 3056,
3563 3057, 3057, 3057, 0, 0, 0, 3057, 3058, 3058, 3058,
3564 3058, 0, 0, 3058, 3058, 3059, 3059, 3059, 0, 0,
3565 0, 3059, 3060, 3060, 3060, 3060, 0, 0, 3060, 3060,
3566 3061, 3061, 3061, 0, 0, 0, 3061, 3062, 3062, 3062,
3567 3062, 0, 0, 3062, 3062, 3063, 3063, 3063, 0, 0,
3568 0, 3063, 3064, 3064, 3064, 3064, 0, 0, 3064, 3064,
3569 3065, 3065, 3065, 0, 0, 0, 3065, 3066, 3066, 3066,
3570 3066, 0, 0, 3066, 3066, 3067, 3067, 3067, 0, 0,
3571 0, 3067, 3068, 3068, 3068, 3068, 0, 0, 3068, 3068,
3572 3069, 3069, 3069, 0, 0, 0, 3069, 3070, 3070, 3070,
3574 3070, 0, 0, 3070, 3070, 3071, 3071, 3071, 0, 0,
3575 0, 3071, 3072, 3072, 3072, 3072, 0, 0, 3072, 3072,
3576 3073, 3073, 3073, 0, 0, 0, 3073, 3074, 3074, 3074,
3577 3074, 0, 0, 3074, 3074, 3075, 3075, 3075, 0, 0,
3578 0, 3075, 3076, 3076, 3076, 3076, 0, 0, 3076, 3076,
3579 3077, 3077, 3077, 0, 0, 0, 3077, 3078, 3078, 3078,
3580 3078, 0, 0, 3078, 3078, 3079, 3079, 3079, 3079, 0,
3581 3079, 0, 3079, 3080, 3080, 3080, 3080, 0, 0, 3080,
3582 3080, 3081, 3081, 3081, 3081, 0, 3081, 0, 3081, 3082,
3583 3082, 3082, 3082, 0, 0, 3082, 3082, 3083, 3083, 3083,
3585 0, 0, 0, 3083, 3084, 3084, 3084, 3084, 0, 0,
3586 3084, 3084, 3085, 3085, 3085, 3085, 0, 3085, 0, 3085,
3587 3086, 3086, 3086, 3086, 0, 0, 3086, 3086, 3087, 3087,
3588 3087, 3087, 0, 3087, 0, 3087, 3088, 3088, 3088, 3088,
3589 0, 0, 3088, 3088, 3089, 3089, 3089, 0, 0, 0,
3590 3089, 3090, 3090, 3090, 3090, 0, 0, 3090, 3090, 3091,
3591 3091, 3091, 0, 0, 0, 3091, 3092, 3092, 3092, 3092,
3592 0, 0, 3092, 3092, 3093, 3093, 3093, 3093, 0, 0,
3593 3093, 3093, 3094, 3094, 3094, 0, 0, 0, 3094, 3095,
3594 3095, 3095, 3095, 0, 0, 3095, 3095, 3096, 3096, 3096,
3596 3096, 3096, 3096, 3096, 3096, 3096, 3097, 0, 3097, 0,
3597 0, 3097, 3098, 3098, 3098, 0, 0, 0, 3098, 3099,
3598 3099, 3099, 3099, 0, 0, 3099, 3099, 3100, 3100, 3100,
3599 3100, 0, 3100, 0, 3100, 3101, 3101, 3101, 3101, 0,
3600 0, 3101, 3101, 3102, 3102, 3102, 3102, 0, 3102, 0,
3601 3102, 3103, 3103, 3103, 3103, 0, 0, 3103, 3103, 3104,
3602 3104, 3104, 0, 0, 0, 3104, 3105, 3105, 3105, 3105,
3603 0, 0, 3105, 3105, 3106, 3106, 3106, 0, 0, 0,
3604 3106, 3107, 3107, 3107, 3107, 0, 0, 3107, 3107, 3108,
3605 3108, 3108, 0, 0, 0, 3108, 3109, 3109, 3109, 3109,
3607 0, 0, 3109, 3109, 3110, 3110, 3110, 0, 0, 0,
3608 3110, 3111, 3111, 3111, 3111, 0, 0, 3111, 3111, 3112,
3609 3112, 3112, 0, 0, 0, 3112, 3113, 3113, 3113, 3113,
3610 0, 0, 3113, 3113, 3114, 3114, 3114, 3114, 0, 3114,
3611 0, 3114, 3115, 3115, 3115, 3115, 0, 0, 3115, 3115,
3612 3116, 3116, 3116, 3116, 0, 3116, 0, 3116, 3117, 3117,
3613 3117, 3117, 0, 0, 3117, 3117, 3118, 3118, 3118, 0,
3614 0, 0, 3118, 3119, 3119, 3119, 3119, 0, 0, 3119,
3615 3119, 3120, 3120, 3120, 0, 0, 0, 3120, 3121, 3121,
3616 3121, 3121, 0, 0, 3121, 3121, 3122, 3122, 3122, 0,
3618 0, 0, 3122, 3123, 3123, 3123, 3123, 0, 0, 3123,
3619 3123, 3124, 3124, 3124, 0, 0, 0, 3124, 3125, 3125,
3620 3125, 3125, 0, 0, 3125, 3125, 3126, 3126, 3126, 0,
3621 0, 0, 3126, 3127, 3127, 3127, 3127, 0, 0, 3127,
3622 3127, 3128, 3128, 3128, 0, 0, 0, 3128, 3129, 3129,
3623 3129, 3129, 0, 0, 3129, 3129, 3130, 3130, 3130, 0,
3624 0, 0, 3130, 3131, 3131, 3131, 3131, 0, 0, 3131,
3625 3131, 3132, 3132, 3132, 0, 0, 0, 3132, 3133, 3133,
3626 3133, 3133, 0, 0, 3133, 3133, 3134, 3134, 3134, 3134,
3627 0, 0, 3134, 3134, 3135, 3135, 3135, 0, 0, 0,
3629 3135, 3136, 3136, 3136, 3136, 0, 0, 3136, 3136, 3137,
3630 3137, 3137, 0, 0, 0, 3137, 3138, 3138, 3138, 3138,
3631 0, 0, 3138, 3138, 3139, 3139, 3139, 0, 0, 0,
3632 3139, 3140, 3140, 3140, 3140, 0, 0, 3140, 3140, 3141,
3633 3141, 3141, 3141, 0, 0, 3141, 3141, 3142, 3142, 3142,
3634 0, 0, 0, 3142, 3143, 3143, 3143, 3143, 0, 0,
3635 3143, 3143, 3144, 3144, 3144, 3144, 3144, 3144, 3144, 3144,
3636 3144, 3145, 3145, 3145, 3145, 3145, 3145, 3145, 3145, 3145,
3637 3146, 3146, 3146, 0, 0, 0, 3146, 3147, 3147, 3147,
3638 3147, 0, 0, 3147, 3147, 3148, 3148, 3148, 3148, 0,
3640 0, 3148, 3148, 3149, 3149, 3149, 0, 0, 0, 3149,
3641 3150, 3150, 3150, 3150, 0, 0, 3150, 3150, 3151, 3151,
3642 3151, 0, 0, 0, 3151, 3152, 3152, 3152, 3152, 0,
3643 0, 3152, 3152, 3153, 3153, 3153, 0, 0, 0, 3153,
3644 3154, 3154, 3154, 3154, 0, 0, 3154, 3154, 3155, 3155,
3645 3155, 0, 0, 0, 3155, 3156, 3156, 3156, 0, 0,
3646 0, 3156, 3157, 3157, 3157, 3157, 0, 0, 3157, 3157,
3647 3158, 3158, 3158, 0, 0, 0, 3158, 3159, 3159, 3159,
3648 3159, 0, 0, 3159, 3159, 3160, 3160, 3160, 3160, 0,
3649 0, 3160, 3160, 3161, 3161, 3161, 0, 0, 0, 3161,
3651 3162, 3162, 3162, 3162, 0, 0, 3162, 3162, 3163, 3163,
3652 3163, 0, 0, 0, 3163, 3164, 3164, 3164, 3164, 0,
3653 0, 3164, 3164, 3165, 3165, 3165, 0, 0, 0, 3165,
3654 3166, 3166, 3166, 3166, 0, 0, 3166, 3166, 3167, 3167,
3655 3167, 0, 0, 0, 3167, 3168, 3168, 3168, 3168, 0,
3656 0, 3168, 3168, 3169, 3169, 3169, 0, 0, 0, 3169,
3657 3170, 3170, 3170, 3170, 0, 0, 3170, 3170, 3171, 3171,
3658 3171, 0, 0, 0, 3171, 3172, 3172, 3172, 3172, 0,
3659 0, 3172, 3172, 3173, 3173, 3173, 0, 0, 0, 3173,
3660 3174, 3174, 3174, 3174, 0, 0, 3174, 3174, 3175, 3175,
3662 3175, 0, 0, 0, 3175, 3176, 3176, 3176, 3176, 0,
3663 0, 3176, 3176, 3177, 3177, 3177, 0, 0, 0, 3177,
3664 3178, 3178, 3178, 3178, 0, 0, 3178, 3178, 3179, 3179,
3665 3179, 3179, 0, 0, 3179, 3179, 3180, 3180, 3180, 0,
3666 0, 0, 3180, 3181, 3181, 3181, 3181, 0, 0, 3181,
3667 3181, 3182, 3182, 3182, 0, 0, 0, 3182, 3183, 3183,
3668 3183, 3183, 0, 0, 3183, 3183, 3184, 3184, 3184, 3184,
3669 0, 3184, 0, 3184, 3185, 3185, 3185, 3185, 0, 0,
3670 3185, 3185, 3186, 3186, 3186, 3186, 0, 0, 3186, 3186,
3671 3187, 3187, 3187, 3187, 0, 3187, 0, 3187, 3188, 3188,
3673 3188, 3188, 0, 0, 3188, 3188, 3189, 3189, 3189, 3189,
3674 3189, 3189, 3189, 3189, 3189, 3190, 3190, 3190, 3190, 3190,
3675 3190, 3190, 3190, 3190, 3191, 3191, 3191, 0, 0, 0,
3676 3191, 3192, 3192, 3192, 3192, 0, 0, 3192, 3192, 3193,
3677 3193, 3193, 3193, 0, 0, 3193, 3193, 3194, 3194, 3194,
3678 0, 0, 0, 3194, 3195, 3195, 3195, 3195, 0, 0,
3679 3195, 3195, 3196, 3196, 3196, 0, 0, 0, 3196, 3197,
3680 3197, 3197, 3197, 0, 0, 3197, 3197, 3198, 3198, 3198,
3681 0, 0, 0, 3198, 3199, 3199, 3199, 3199, 0, 0,
3682 3199, 3199, 3200, 3200, 3200, 0, 0, 0, 3200, 3201,
3684 3201, 3201, 0, 0, 0, 3201, 3202, 3202, 3202, 3202,
3685 0, 0, 3202, 3202, 3203, 3203, 3203, 0, 0, 0,
3686 3203, 3204, 3204, 3204, 3204, 0, 0, 3204, 3204, 3205,
3687 3205, 3205, 3205, 0, 0, 3205, 3205, 3206, 3206, 3206,
3688 3206, 0, 3206, 0, 3206, 3207, 3207, 3207, 3207, 0,
3689 0, 3207, 3207, 3208, 3208, 3208, 0, 0, 0, 3208,
3690 3209, 3209, 3209, 3209, 0, 0, 3209, 3209, 3210, 3210,
3691 3210, 0, 0, 0, 3210, 3211, 3211, 3211, 3211, 0,
3692 0, 3211, 3211, 3212, 3212, 3212, 0, 0, 0, 3212,
3693 3213, 3213, 3213, 3213, 0, 0, 3213, 3213, 3214, 3214,
3695 3214, 0, 0, 0, 3214, 3215, 3215, 3215, 3215, 0,
3696 0, 3215, 3215, 3216, 3216, 3216, 0, 0, 0, 3216,
3697 3217, 3217, 3217, 3217, 0, 0, 3217, 3217, 3218, 3218,
3698 3218, 0, 0, 0, 3218, 3219, 3219, 3219, 3219, 0,
3699 0, 3219, 3219, 3220, 3220, 3220, 3220, 0, 3220, 0,
3700 3220, 3221, 3221, 3221, 3221, 0, 0, 3221, 3221, 3222,
3701 3222, 3222, 0, 0, 0, 3222, 3223, 3223, 3223, 3223,
3702 0, 0, 3223, 3223, 3224, 3224, 3224, 3224, 0, 0,
3703 3224, 3224, 3225, 3225, 3225, 3225, 0, 3225, 0, 3225,
3704 3226, 3226, 3226, 3226, 0, 0, 3226, 3226, 3227, 3227,
3706 3227, 0, 0, 0, 3227, 3228, 3228, 3228, 3228, 0,
3707 0, 3228, 3228, 3229, 3229, 3229, 3229, 0, 0, 3229,
3708 3229, 3230, 3230, 3230, 3230, 0, 0, 3230, 3230, 3231,
3709 3231, 3231, 3231, 0, 0, 3231, 3231, 3232, 3232, 3232,
3710 3232, 3232, 3232, 3232, 3232, 3232, 3233, 3233, 3233, 3233,
3711 3233, 3233, 3233, 3233, 3233, 3234, 3234, 3234, 3234, 0,
3712 3234, 0, 3234, 3235, 3235, 3235, 3235, 0, 0, 3235,
3713 3235, 3236, 3236, 3236, 3236, 0, 0, 3236, 3236, 3237,
3714 3237, 3237, 0, 0, 0, 3237, 3238, 3238, 3238, 3238,
3715 0, 0, 3238, 3238, 3239, 3239, 3239, 0, 0, 0,
3717 3239, 3240, 3240, 3240, 3240, 0, 0, 3240, 3240, 3241,
3718 3241, 3241, 3241, 0, 3241, 0, 3241, 3242, 3242, 3242,
3719 3242, 0, 0, 3242, 3242, 3243, 3243, 3243, 3243, 0,
3720 3243, 0, 3243, 3244, 3244, 3244, 3244, 0, 3244, 0,
3721 3244, 3245, 3245, 3245, 3245, 0, 0, 3245, 3245, 3246,
3722 3246, 3246, 3246, 0, 3246, 0, 3246, 3247, 3247, 3247,
3723 3247, 0, 0, 3247, 3247, 3248, 3248, 3248, 3248, 0,
3724 0, 3248, 3248, 3249, 3249, 3249, 3249, 0, 0, 3249,
3725 3249, 3250, 3250, 3250, 0, 0, 0, 3250, 3251, 3251,
3726 3251, 0, 0, 0, 3251, 3252, 3252, 3252, 3252, 0,
3728 0, 3252, 3252, 3253, 3253, 3253, 0, 0, 0, 3253,
3729 3254, 3254, 3254, 0, 0, 0, 3254, 3255, 3255, 3255,
3730 3255, 0, 0, 3255, 3255, 3256, 3256, 3256, 0, 0,
3731 0, 3256, 3257, 3257, 3257, 0, 0, 0, 3257, 3258,
3732 3258, 3258, 3258, 0, 0, 3258, 3258, 3259, 3259, 3259,
3733 0, 0, 0, 3259, 3260, 3260, 3260, 3260, 0, 0,
3734 3260, 3260, 3261, 3261, 3261, 0, 0, 0, 3261, 3262,
3735 3262, 3262, 3262, 0, 0, 3262, 3262, 3263, 3263, 3263,
3736 3263, 0, 0, 3263, 3263, 3264, 3264, 3264, 3264, 0,
3737 0, 3264, 3264, 3265, 3265, 3265, 0, 0, 0, 3265,
3739 3266, 3266, 3266, 3266, 0, 0, 3266, 3266, 3267, 3267,
3740 3267, 3267, 0, 0, 3267, 3267, 3268, 3268, 3268, 3268,
3741 0, 0, 3268, 3268, 3269, 3269, 3269, 3269, 3269, 3269,
3742 3269, 3269, 3269, 3270, 3270, 3270, 3270, 3270, 3270, 3270,
3743 3270, 3270, 3271, 3271, 3271, 3271, 0, 0, 3271, 3271,
3744 3272, 3272, 3272, 3272, 0, 0, 3272, 3272, 3273, 3273,
3745 3273, 0, 0, 0, 3273, 3274, 3274, 3274, 0, 0,
3746 0, 3274, 3275, 3275, 3275, 3275, 0, 0, 3275, 3275,
3747 3276, 3276, 3276, 3276, 0, 0, 3276, 3276, 3277, 3277,
3748 3277, 3277, 0, 0, 3277, 3277, 3278, 3278, 3278, 3278,
3750 0, 0, 3278, 3278, 3279, 3279, 3279, 3279, 0, 0,
3751 3279, 3279, 3280, 3280, 3280, 0, 0, 0, 3280, 3281,
3752 3281, 3281, 0, 0, 0, 3281, 3282, 3282, 3282, 3282,
3753 0, 0, 3282, 3282, 3283, 3283, 3283, 0, 0, 0,
3754 3283, 3284, 3284, 3284, 0, 0, 0, 3284, 3285, 3285,
3755 3285, 3285, 0, 0, 3285, 3285, 3286, 3286, 3286, 0,
3756 0, 0, 3286, 3287, 3287, 3287, 0, 0, 0, 3287,
3757 3288, 3288, 3288, 0, 0, 0, 3288, 3289, 3289, 3289,
3758 3289, 0, 0, 3289, 3289, 3290, 3290, 3290, 0, 0,
3759 0, 3290, 3291, 3291, 3291, 3291, 0, 0, 3291, 3291,
3761 3292, 3292, 3292, 3292, 0, 0, 3292, 3292, 3293, 3293,
3762 3293, 3293, 0, 0, 3293, 3293, 3294, 3294, 3294, 3294,
3763 0, 3294, 0, 3294, 3295, 3295, 3295, 3295, 0, 0,
3764 3295, 3295, 3296, 3296, 3296, 3296, 0, 0, 3296, 3296,
3765 3297, 3297, 3297, 3297, 0, 0, 3297, 3297, 3298, 3298,
3766 3298, 3298, 3298, 3298, 3298, 3298, 3298, 3299, 3299, 3299,
3767 3299, 3299, 3299, 3299, 3299, 3299, 3300, 3300, 3300, 3300,
3768 0, 0, 3300, 3300, 3301, 3301, 3301, 3301, 0, 0,
3769 3301, 3301, 3302, 3302, 3302, 0, 0, 0, 3302, 3303,
3770 3303, 3303, 3303, 0, 3303, 0, 3303, 3304, 3304, 3304,
3772 3304, 0, 0, 3304, 3304, 3305, 3305, 3305, 3305, 0,
3773 0, 3305, 3305, 3306, 3306, 3306, 3306, 0, 0, 3306,
3774 3306, 3307, 3307, 3307, 3307, 0, 0, 3307, 3307, 3308,
3775 3308, 3308, 0, 0, 0, 3308, 3309, 3309, 3309, 0,
3776 0, 0, 3309, 3310, 3310, 3310, 3310, 0, 0, 3310,
3777 3310, 3311, 3311, 3311, 0, 0, 0, 3311, 3312, 3312,
3778 3312, 0, 0, 0, 3312, 3313, 3313, 3313, 3313, 3313,
3779 3313, 3313, 3313, 3313, 3314, 3314, 3314, 3314, 3314, 3314,
3780 3314, 3314, 3314, 3315, 3315, 3315, 3315, 3315, 3315, 3315,
3781 3315, 3315, 3316, 3316, 3316, 3316, 3316, 3316, 3316, 3316,
3783 3316, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317, 3317,
3784 3318, 3318, 3318, 3318, 3318, 3318, 3318, 3318, 3318, 2920,
3785 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
3786 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
3787 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
3788 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
3789 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
3790 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
3791 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920, 2920,
3792 2920, 2920, 2920, 2920
3796 /* Table of booleans, true if rule could match eol. */
3797 static yyconst flex_int32_t yy_rule_can_match_eol[491] =
3799 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3800 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3801 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3802 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3803 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
3804 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3805 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
3806 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
3807 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3808 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3809 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1,
3810 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3811 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3812 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3813 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
3814 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3815 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3816 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3817 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3818 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3819 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
3820 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0,
3821 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
3822 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
3823 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
3825 static yy_state_type yy_last_accepting_state;
3826 static char *yy_last_accepting_cpos;
3828 extern int surf_parse__flex_debug;
3829 int surf_parse__flex_debug = 0;
3831 /* The intent behind this definition is that it'll catch
3832 * any uses of REJECT which flex missed.
3834 #define REJECT reject_used_but_not_detected
3835 #define yymore() yymore_used_but_not_detected
3836 #define YY_MORE_ADJ 0
3837 #define YY_RESTORE_YY_MORE_OFFSET
3838 char *surf_parse_text;
3839 /* Validating XML processor for src/surf/simgrid.dtd.
3841 * This program was generated with the FleXML XML processor generator.
3842 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3843 * FleXML is Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3844 * (Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp).
3846 * There are two, intertwined parts to this program, part A and part B.
3851 * Some parts, here collectively called "Part A", are found in the
3852 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3853 * and Copyright (C) 2003-2011 Martin Quinson. All rights reserved.
3855 * You can redistribute, use, perform, display and/or modify "Part A"
3856 * provided the following two conditions hold:
3858 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3859 * FleXML; without even the implied warranty of MERCHANTABILITY or
3860 * FITNESS FOR A PARTICULAR PURPOSE.
3862 * 2. The program distribution conditions do not in any way affect the
3863 * distribution conditions of the FleXML system used to generate this
3864 * file or any version of FleXML derived from that system.
3866 * Notice that these are explicit rights granted to you for files
3867 * generated by the FleXML system. For your rights in connection with
3868 * the FleXML system itself please consult the GNU General Public License.
3873 * The other parts, here collectively called "Part B", and which came
3874 * from the DTD used by FleXML to generate this program, can be
3875 * distributed (or not, as the case may be) under the terms of whoever
3876 * wrote them, provided these terms respect and obey the two conditions
3877 * above under the heading "Part A".
3879 * The author of and contributors to FleXML specifically disclaim
3880 * any copyright interest in "Part B", unless "Part B" was written
3881 * by the author of or contributors to FleXML.
3885 /* Version strings. */
3886 const char rcs_surfxml_flexml_skeleton[] =
3887 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3888 const char rcs_surfxml_flexml[] =
3889 "$" "Id: flexml.pl,v 1.67 2011/11/01 20:49:21 mquinson Exp $";
3892 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3899 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3900 # ifndef __STRICT_ANSI__
3902 # include <process.h>
3905 # include <unistd.h>
3908 #ifndef FLEXML_INDEXSTACKSIZE
3909 #define FLEXML_INDEXSTACKSIZE 1000
3912 /* Generated definitions. */
3913 #define FLEXML_yylineno
3914 #ifndef FLEXML_BUFFERSTACKSIZE
3915 #define FLEXML_BUFFERSTACKSIZE 1000000
3917 #define FLEXML_NEED_BUFFERLIT
3919 /* XML processor api. */
3920 /* FleXML-provided data. */
3921 int surfxml_pcdata_ix;
3922 extern char *surfxml_bufferstack;
3923 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3924 AT_surfxml_mount_name AX_surfxml_mount_name;
3925 #define A_surfxml_mount_name (surfxml_bufferstack + AX_surfxml_mount_name)
3926 short int surfxml_mount_name_isset;
3927 AT_surfxml_random_generator AX_surfxml_random_generator;
3928 #define A_surfxml_random_generator AX_surfxml_random_generator
3929 short int surfxml_random_generator_isset;
3930 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3931 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3932 short int surfxml_ASroute_gw_dst_isset;
3933 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3934 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3935 short int surfxml_trace_connect_element_isset;
3936 AT_surfxml_prop_id AX_surfxml_prop_id;
3937 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3938 short int surfxml_prop_id_isset;
3939 AT_surfxml_host_id AX_surfxml_host_id;
3940 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3941 short int surfxml_host_id_isset;
3942 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3943 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3944 short int surfxml_ASroute_symmetrical_isset;
3945 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3946 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3947 short int surfxml_peer_lat_isset;
3948 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3949 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3950 short int surfxml_link_latency_file_isset;
3951 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3952 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3953 short int surfxml_peer_availability_file_isset;
3954 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3955 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3956 short int surfxml_link_ctn_direction_isset;
3957 AT_surfxml_host_state AX_surfxml_host_state;
3958 #define A_surfxml_host_state AX_surfxml_host_state
3959 short int surfxml_host_state_isset;
3960 AT_surfxml_AS_id AX_surfxml_AS_id;
3961 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3962 short int surfxml_AS_id_isset;
3963 AT_surfxml_host_power AX_surfxml_host_power;
3964 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3965 short int surfxml_host_power_isset;
3966 AT_surfxml_router_id AX_surfxml_router_id;
3967 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3968 short int surfxml_router_id_isset;
3969 AT_surfxml_storage_type_id AX_surfxml_storage_type_id;
3970 #define A_surfxml_storage_type_id (surfxml_bufferstack + AX_surfxml_storage_type_id)
3971 short int surfxml_storage_type_id_isset;
3972 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3973 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3974 short int surfxml_process_start_time_isset;
3975 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3976 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3977 short int surfxml_cluster_suffix_isset;
3978 AT_surfxml_bypassASroute_dst AX_surfxml_bypassASroute_dst;
3979 #define A_surfxml_bypassASroute_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_dst)
3980 short int surfxml_bypassASroute_dst_isset;
3981 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3982 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3983 short int surfxml_ASroute_src_isset;
3984 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3985 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3986 short int surfxml_cluster_prefix_isset;
3987 AT_surfxml_trace_file AX_surfxml_trace_file;
3988 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3989 short int surfxml_trace_file_isset;
3990 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3991 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3992 short int surfxml_link_sharing_policy_isset;
3993 AT_surfxml_storage_typeId AX_surfxml_storage_typeId;
3994 #define A_surfxml_storage_typeId (surfxml_bufferstack + AX_surfxml_storage_typeId)
3995 short int surfxml_storage_typeId_isset;
3996 AT_surfxml_random_min AX_surfxml_random_min;
3997 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3998 short int surfxml_random_min_isset;
3999 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
4000 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
4001 short int surfxml_link_ctn_id_isset;
4002 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
4003 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
4004 short int surfxml_peer_bw_out_isset;
4005 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
4006 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
4007 short int surfxml_cluster_availability_file_isset;
4008 AT_surfxml_storage_content AX_surfxml_storage_content;
4009 #define A_surfxml_storage_content (surfxml_bufferstack + AX_surfxml_storage_content)
4010 short int surfxml_storage_content_isset;
4011 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
4012 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
4013 short int surfxml_process_kill_time_isset;
4014 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
4015 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
4016 short int surfxml_cluster_bb_bw_isset;
4017 AT_surfxml_argument_value AX_surfxml_argument_value;
4018 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
4019 short int surfxml_argument_value_isset;
4020 AT_surfxml_link_state AX_surfxml_link_state;
4021 #define A_surfxml_link_state AX_surfxml_link_state
4022 short int surfxml_link_state_isset;
4023 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
4024 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
4025 short int surfxml_ASroute_gw_src_isset;
4026 AT_surfxml_AS_routing AX_surfxml_AS_routing;
4027 #define A_surfxml_AS_routing AX_surfxml_AS_routing
4028 short int surfxml_AS_routing_isset;
4029 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
4030 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
4031 short int surfxml_link_bandwidth_isset;
4032 AT_surfxml_cluster_id AX_surfxml_cluster_id;
4033 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
4034 short int surfxml_cluster_id_isset;
4035 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
4036 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
4037 short int surfxml_peer_bw_in_isset;
4038 AT_surfxml_random_mean AX_surfxml_random_mean;
4039 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
4040 short int surfxml_random_mean_isset;
4041 AT_surfxml_storage_type_size AX_surfxml_storage_type_size;
4042 #define A_surfxml_storage_type_size (surfxml_bufferstack + AX_surfxml_storage_type_size)
4043 short int surfxml_storage_type_size_isset;
4044 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
4045 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
4046 short int surfxml_cluster_bb_lat_isset;
4047 AT_surfxml_link_latency AX_surfxml_link_latency;
4048 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
4049 short int surfxml_link_latency_isset;
4050 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
4051 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
4052 short int surfxml_trace_connect_kind_isset;
4053 AT_surfxml_random_seed AX_surfxml_random_seed;
4054 #define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
4055 short int surfxml_random_seed_isset;
4056 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
4057 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
4058 short int surfxml_cluster_state_file_isset;
4059 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
4060 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
4061 short int surfxml_link_bandwidth_file_isset;
4062 AT_surfxml_storage_type_content AX_surfxml_storage_type_content;
4063 #define A_surfxml_storage_type_content (surfxml_bufferstack + AX_surfxml_storage_type_content)
4064 short int surfxml_storage_type_content_isset;
4065 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
4066 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
4067 short int surfxml_route_symmetrical_isset;
4068 AT_surfxml_random_id AX_surfxml_random_id;
4069 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
4070 short int surfxml_random_id_isset;
4071 AT_surfxml_mstorage_name AX_surfxml_mstorage_name;
4072 #define A_surfxml_mstorage_name (surfxml_bufferstack + AX_surfxml_mstorage_name)
4073 short int surfxml_mstorage_name_isset;
4074 AT_surfxml_random_max AX_surfxml_random_max;
4075 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
4076 short int surfxml_random_max_isset;
4077 AT_surfxml_link_id AX_surfxml_link_id;
4078 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
4079 short int surfxml_link_id_isset;
4080 AT_surfxml_process_host AX_surfxml_process_host;
4081 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
4082 short int surfxml_process_host_isset;
4083 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
4084 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
4085 short int surfxml_host_availability_file_isset;
4086 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
4087 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
4088 short int surfxml_cluster_lat_isset;
4089 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
4090 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
4091 short int surfxml_trace_periodicity_isset;
4092 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
4093 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
4094 short int surfxml_cluster_bb_sharing_policy_isset;
4095 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
4096 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
4097 short int surfxml_router_coordinates_isset;
4098 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
4099 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
4100 short int surfxml_peer_coordinates_isset;
4101 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
4102 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
4103 short int surfxml_peer_state_file_isset;
4104 AT_surfxml_bypassASroute_src AX_surfxml_bypassASroute_src;
4105 #define A_surfxml_bypassASroute_src (surfxml_bufferstack + AX_surfxml_bypassASroute_src)
4106 short int surfxml_bypassASroute_src_isset;
4107 AT_surfxml_prop_value AX_surfxml_prop_value;
4108 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
4109 short int surfxml_prop_value_isset;
4110 AT_surfxml_mstorage_typeId AX_surfxml_mstorage_typeId;
4111 #define A_surfxml_mstorage_typeId (surfxml_bufferstack + AX_surfxml_mstorage_typeId)
4112 short int surfxml_mstorage_typeId_isset;
4113 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
4114 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
4115 short int surfxml_ASroute_dst_isset;
4116 AT_surfxml_link_state_file AX_surfxml_link_state_file;
4117 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
4118 short int surfxml_link_state_file_isset;
4119 AT_surfxml_random_radical AX_surfxml_random_radical;
4120 #define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
4121 short int surfxml_random_radical_isset;
4122 AT_surfxml_bypassASroute_gw_src AX_surfxml_bypassASroute_gw_src;
4123 #define A_surfxml_bypassASroute_gw_src (surfxml_bufferstack + AX_surfxml_bypassASroute_gw_src)
4124 short int surfxml_bypassASroute_gw_src_isset;
4125 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
4126 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
4127 short int surfxml_trace_connect_trace_isset;
4128 AT_surfxml_mount_id AX_surfxml_mount_id;
4129 #define A_surfxml_mount_id (surfxml_bufferstack + AX_surfxml_mount_id)
4130 short int surfxml_mount_id_isset;
4131 AT_surfxml_cluster_power AX_surfxml_cluster_power;
4132 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
4133 short int surfxml_cluster_power_isset;
4134 AT_surfxml_process_function AX_surfxml_process_function;
4135 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
4136 short int surfxml_process_function_isset;
4137 AT_surfxml_peer_id AX_surfxml_peer_id;
4138 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
4139 short int surfxml_peer_id_isset;
4140 AT_surfxml_cluster_router_id AX_surfxml_cluster_router_id;
4141 #define A_surfxml_cluster_router_id (surfxml_bufferstack + AX_surfxml_cluster_router_id)
4142 short int surfxml_cluster_router_id_isset;
4143 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
4144 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
4145 short int surfxml_cluster_sharing_policy_isset;
4146 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
4147 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
4148 short int surfxml_bypassRoute_dst_isset;
4149 AT_surfxml_host_core AX_surfxml_host_core;
4150 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
4151 short int surfxml_host_core_isset;
4152 AT_surfxml_storage_type_model AX_surfxml_storage_type_model;
4153 #define A_surfxml_storage_type_model (surfxml_bufferstack + AX_surfxml_storage_type_model)
4154 short int surfxml_storage_type_model_isset;
4155 AT_surfxml_host_availability AX_surfxml_host_availability;
4156 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
4157 short int surfxml_host_availability_isset;
4158 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
4159 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
4160 short int surfxml_bypassRoute_src_isset;
4161 AT_surfxml_route_src AX_surfxml_route_src;
4162 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
4163 short int surfxml_route_src_isset;
4164 AT_surfxml_storage_id AX_surfxml_storage_id;
4165 #define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
4166 short int surfxml_storage_id_isset;
4167 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
4168 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
4169 short int surfxml_host_coordinates_isset;
4170 AT_surfxml_trace_id AX_surfxml_trace_id;
4171 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
4172 short int surfxml_trace_id_isset;
4173 AT_surfxml_peer_power AX_surfxml_peer_power;
4174 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
4175 short int surfxml_peer_power_isset;
4176 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
4177 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
4178 short int surfxml_cluster_radical_isset;
4179 AT_surfxml_config_id AX_surfxml_config_id;
4180 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
4181 short int surfxml_config_id_isset;
4182 AT_surfxml_bypassASroute_gw_dst AX_surfxml_bypassASroute_gw_dst;
4183 #define A_surfxml_bypassASroute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_gw_dst)
4184 short int surfxml_bypassASroute_gw_dst_isset;
4185 AT_surfxml_include_file AX_surfxml_include_file;
4186 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
4187 short int surfxml_include_file_isset;
4188 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
4189 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
4190 short int surfxml_random_std_deviation_isset;
4191 AT_surfxml_cluster_core AX_surfxml_cluster_core;
4192 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
4193 short int surfxml_cluster_core_isset;
4194 AT_surfxml_host_state_file AX_surfxml_host_state_file;
4195 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
4196 short int surfxml_host_state_file_isset;
4197 AT_surfxml_route_dst AX_surfxml_route_dst;
4198 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
4199 short int surfxml_route_dst_isset;
4200 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
4201 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
4202 short int surfxml_cluster_bw_isset;
4203 AT_surfxml_platform_version AX_surfxml_platform_version;
4204 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
4205 short int surfxml_platform_version_isset;
4209 # define ENTER(state) debug_enter(state,#state)
4210 # define LEAVE debug_leave()
4211 # define SET(state) debug_set(state,#state)
4212 static void debug_enter(int, const char*);
4213 static void debug_leave(void);
4214 static void debug_set(int, const char*);
4216 # define ENTER(state) (yy_push_state(state))
4217 # define LEAVE (yy_pop_state())
4218 # define SET(state) BEGIN(state)
4221 /* Generic actions. */
4222 #define SKIP /*skip*/
4223 #define SUCCEED CLEANUP; return 0
4225 #define FAIL return fail
4226 static int fail(const char*, ...);
4228 enum {flexml_max_err_msg_size = 512};
4229 static char flexml_err_msg[flexml_max_err_msg_size];
4230 const char * surfxml_parse_err_msg()
4232 return flexml_err_msg;
4234 static void reset_surfxml_parse_err_msg()
4236 flexml_err_msg[0] = '\0';
4240 static void cleanup(void);
4241 #define CLEANUP cleanup()
4243 /* Text buffer stack handling. */
4244 char *surfxml_bufferstack = NULL;
4245 static int blimit = FLEXML_BUFFERSTACKSIZE;
4246 static int bnext = 1;
4248 static int *indexstack = NULL;
4249 static int ilimit = FLEXML_INDEXSTACKSIZE;
4250 static int inext = 1;
4252 #define BUFFERSET(P) (P = bnext)
4253 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
4254 #define BUFFERDONE (BUFFERPUTC('\0'))
4256 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
4258 /* after this is called, there are at least 2 slots left in the stack */
4259 static int ck_blimit()
4261 if (bnext >= blimit) {
4262 blimit += FLEXML_BUFFERSTACKSIZE + 2;
4264 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
4266 surfxml_bufferstack = temp;
4272 /* after this is called, there are at least 2 slots left in the stack */
4273 static int ck_ilimit()
4275 if (inext >= ilimit) {
4276 ilimit += FLEXML_INDEXSTACKSIZE + 2;
4278 int *temp = (int *) realloc(indexstack, ilimit);
4286 #ifdef FLEXML_NEED_BUFFERLIT
4287 static void surfxml_bufferliteral(char c, int* pp, const char* text)
4289 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
4290 assert(s <= e); BUFFERSET(*pp);
4292 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
4293 else BUFFERPUTC(*s);
4299 static void pushbuffer(int p)
4302 indexstack[inext++] = p;
4303 indexstack[inext++] = bnext;
4306 static int popbuffer(void)
4309 bnext = indexstack[--inext];
4310 return indexstack[--inext];
4313 /* General internal entities are `unput' back onto the input stream... */
4314 #define ENTITYTEXT(T) \
4315 { char *s = (T), *e = s+strlen(s);\
4316 while (--e >= s) { unput(*e); }}
4318 /* Flex standard options. */
4319 #define YY_NO_INPUT 1
4320 /* Flex user-requested options. */
4321 /* XML character classes (currently restricted to ASCII). */
4322 /* "Common syntactic structures." */
4323 /* "Names and Tokens." */
4324 /* Miscellaneous. */
4325 /* Parser states (flex `exclusive start conditions'):
4327 * PROLOG the XML prolog of the document before <?xml...>
4328 * DOCTYPE the XML prolog of the document after <?xml...>
4329 * EPILOG after the root element
4330 * INCOMMENT inside an XML comment <!--....-->
4331 * INPI inside an XML PI <?...?>
4332 * VALUE1 inside a '...'-delimited literal
4333 * VALUE2 inside a "..."-delimited literal
4334 * CDATA inside a <![CDATA[...] ]> section.
4335 * ROOT_<tag> expect root element <tag>
4336 * AL_<tag> inside the attribute list for <tag>
4337 * IN_<tag> inside a <tag> with element contents (ready for end tag)
4338 * IMPOSSIBLE dummy to permit disabling rules; must be last
4342 const char* *surfxml_statenames=NULL;
4353 #define ROOT_surfxml_platform 9
4354 #define AL_surfxml_platform 10
4355 #define S_surfxml_platform 11
4356 #define S_surfxml_platform_1 12
4357 #define S_surfxml_platform_2 13
4358 #define S_surfxml_platform_3 14
4359 #define S_surfxml_platform_4 15
4360 #define S_surfxml_platform_5 16
4361 #define S_surfxml_platform_6 17
4362 #define S_surfxml_platform_7 18
4363 #define S_surfxml_platform_8 19
4364 #define E_surfxml_platform 20
4365 #define AL_surfxml_include 21
4366 #define S_surfxml_include 22
4367 #define S_surfxml_include_1 23
4368 #define S_surfxml_include_2 24
4369 #define E_surfxml_include 25
4370 #define AL_surfxml_trace 26
4372 #define AL_surfxml_random 28
4373 #define S_surfxml_random 29
4374 #define S_surfxml_random_1 30
4375 #define S_surfxml_random_2 31
4376 #define E_surfxml_random 32
4377 #define AL_surfxml_trace_connect 33
4378 #define E_surfxml_trace_connect 34
4379 #define AL_surfxml_AS 35
4380 #define S_surfxml_AS 36
4381 #define S_surfxml_AS_1 37
4382 #define S_surfxml_AS_2 38
4383 #define S_surfxml_AS_3 39
4384 #define S_surfxml_AS_4 40
4385 #define S_surfxml_AS_5 41
4386 #define S_surfxml_AS_6 42
4387 #define S_surfxml_AS_7 43
4388 #define S_surfxml_AS_8 44
4389 #define S_surfxml_AS_9 45
4390 #define S_surfxml_AS_10 46
4391 #define S_surfxml_AS_11 47
4392 #define S_surfxml_AS_12 48
4393 #define S_surfxml_AS_13 49
4394 #define E_surfxml_AS 50
4395 #define AL_surfxml_storage_type 51
4396 #define S_surfxml_storage_type 52
4397 #define S_surfxml_storage_type_1 53
4398 #define S_surfxml_storage_type_2 54
4399 #define E_surfxml_storage_type 55
4400 #define AL_surfxml_storage 56
4401 #define S_surfxml_storage 57
4402 #define S_surfxml_storage_1 58
4403 #define S_surfxml_storage_2 59
4404 #define E_surfxml_storage 60
4405 #define AL_surfxml_mount 61
4406 #define E_surfxml_mount 62
4407 #define AL_surfxml_mstorage 63
4408 #define E_surfxml_mstorage 64
4409 #define AL_surfxml_host 65
4410 #define S_surfxml_host 66
4411 #define S_surfxml_host_1 67
4412 #define S_surfxml_host_2 68
4413 #define E_surfxml_host 69
4414 #define AL_surfxml_cluster 70
4415 #define E_surfxml_cluster 71
4416 #define AL_surfxml_peer 72
4417 #define E_surfxml_peer 73
4418 #define AL_surfxml_router 74
4419 #define E_surfxml_router 75
4420 #define AL_surfxml_link 76
4421 #define S_surfxml_link 77
4422 #define S_surfxml_link_1 78
4423 #define S_surfxml_link_2 79
4424 #define E_surfxml_link 80
4425 #define AL_surfxml_route 81
4426 #define S_surfxml_route 82
4427 #define S_surfxml_route_1 83
4428 #define S_surfxml_route_2 84
4429 #define E_surfxml_route 85
4430 #define AL_surfxml_ASroute 86
4431 #define S_surfxml_ASroute 87
4432 #define S_surfxml_ASroute_1 88
4433 #define S_surfxml_ASroute_2 89
4434 #define E_surfxml_ASroute 90
4435 #define AL_surfxml_link_ctn 91
4436 #define E_surfxml_link_ctn 92
4437 #define AL_surfxml_bypassRoute 93
4438 #define S_surfxml_bypassRoute 94
4439 #define S_surfxml_bypassRoute_1 95
4440 #define S_surfxml_bypassRoute_2 96
4441 #define E_surfxml_bypassRoute 97
4442 #define AL_surfxml_bypassASroute 98
4443 #define S_surfxml_bypassASroute 99
4444 #define S_surfxml_bypassASroute_1 100
4445 #define S_surfxml_bypassASroute_2 101
4446 #define E_surfxml_bypassASroute 102
4447 #define AL_surfxml_process 103
4448 #define S_surfxml_process 104
4449 #define S_surfxml_process_1 105
4450 #define S_surfxml_process_2 106
4451 #define E_surfxml_process 107
4452 #define AL_surfxml_argument 108
4453 #define E_surfxml_argument 109
4454 #define AL_surfxml_config 110
4455 #define S_surfxml_config 111
4456 #define S_surfxml_config_1 112
4457 #define S_surfxml_config_2 113
4458 #define E_surfxml_config 114
4459 #define AL_surfxml_prop 115
4460 #define E_surfxml_prop 116
4461 #define IMPOSSIBLE 117
4463 #ifndef YY_NO_UNISTD_H
4464 /* Special case for "unistd.h", since it is non-ANSI. We include it way
4465 * down here because we want the user's section 1 to have been scanned first.
4466 * The user has a chance to override it with an option.
4468 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
4469 # ifndef __STRICT_ANSI__
4471 # include <process.h>
4474 # include <unistd.h>
4478 #ifndef YY_EXTRA_TYPE
4479 #define YY_EXTRA_TYPE void *
4482 static int yy_init_globals (void );
4484 /* Accessor methods to globals.
4485 These are made visible to non-reentrant scanners for convenience. */
4487 int surf_parse_lex_destroy (void );
4489 int surf_parse_get_debug (void );
4491 void surf_parse_set_debug (int debug_flag );
4493 YY_EXTRA_TYPE surf_parse_get_extra (void );
4495 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
4497 FILE *surf_parse_get_in (void );
4499 void surf_parse_set_in (FILE * in_str );
4501 FILE *surf_parse_get_out (void );
4503 void surf_parse_set_out (FILE * out_str );
4505 int surf_parse_get_leng (void );
4507 char *surf_parse_get_text (void );
4509 int surf_parse_get_lineno (void );
4511 void surf_parse_set_lineno (int line_number );
4513 /* Macros after this point can all be overridden by user definitions in
4517 #ifndef YY_SKIP_YYWRAP
4519 extern "C" int surf_parse_wrap (void );
4521 extern int surf_parse_wrap (void );
4526 static void yy_flex_strncpy (char *,yyconst char *,int );
4529 #ifdef YY_NEED_STRLEN
4530 static int yy_flex_strlen (yyconst char * );
4536 static int yyinput (void );
4538 static int input (void );
4543 static int yy_start_stack_ptr = 0;
4544 static int yy_start_stack_depth = 0;
4545 static int *yy_start_stack = NULL;
4547 static void yy_push_state (int new_state );
4549 static void yy_pop_state (void );
4551 /* Amount of stuff to slurp up with each read. */
4552 #ifndef YY_READ_BUF_SIZE
4554 /* On IA-64, the buffer size is 16k, not 8k */
4555 #define YY_READ_BUF_SIZE 16384
4557 #define YY_READ_BUF_SIZE 8192
4558 #endif /* __ia64__ */
4561 /* Copy whatever the last rule matched to the standard output. */
4563 /* This used to be an fputs(), but since the string might contain NUL's,
4564 * we now use fwrite().
4566 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
4569 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
4570 * is returned in "result".
4573 #define YY_INPUT(buf,result,max_size) \
4574 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
4578 for ( n = 0; n < max_size && \
4579 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
4580 buf[n] = (char) c; \
4582 buf[n++] = (char) c; \
4583 if ( c == EOF && ferror( surf_parse_in ) ) \
4584 YY_FATAL_ERROR( "input in flex scanner failed" ); \
4590 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
4592 if( errno != EINTR) \
4594 YY_FATAL_ERROR( "input in flex scanner failed" ); \
4598 clearerr(surf_parse_in); \
4605 /* No semi-colon after return; correct usage is to write "yyterminate();" -
4606 * we don't want an extra ';' after the "return" because that will cause
4607 * some compilers to complain about unreachable statements.
4610 #define yyterminate() return YY_NULL
4613 /* Number of entries by which start-condition stack grows. */
4614 #ifndef YY_START_STACK_INCR
4615 #define YY_START_STACK_INCR 25
4618 /* Report a fatal error. */
4619 #ifndef YY_FATAL_ERROR
4620 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4623 /* end tables serialization structures and prototypes */
4625 /* Default declaration of generated scanner - a define so the user can
4626 * easily add parameters.
4629 #define YY_DECL_IS_OURS 1
4631 extern int surf_parse_lex (void);
4633 #define YY_DECL int surf_parse_lex (void)
4634 #endif /* !YY_DECL */
4636 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
4639 #ifndef YY_USER_ACTION
4640 #define YY_USER_ACTION
4643 /* Code executed at the end of each rule. */
4645 #define YY_BREAK break;
4648 #define YY_RULE_SETUP \
4651 /** The main scanner function which does all the work.
4655 register yy_state_type yy_current_state;
4656 register char *yy_cp, *yy_bp;
4657 register int yy_act;
4659 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
4661 reset_surfxml_parse_err_msg();
4662 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
4663 assert(surfxml_bufferstack);
4667 for (i = 0; i < blimit; i++) {
4668 surfxml_bufferstack[i] = '\377';
4672 surfxml_bufferstack[0] = '\0';
4673 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
4679 surfxml_bufferliteral('\0', &bnext, "0.0");
4680 surfxml_bufferliteral('\0', &bnext, "2147483647");
4681 surfxml_bufferliteral('\0', &bnext, "1");
4682 surfxml_bufferliteral('\0', &bnext, "1.0");
4683 surfxml_bufferliteral('\0', &bnext, "1");
4684 surfxml_bufferliteral('\0', &bnext, "0.0");
4685 surfxml_bufferliteral('\0', &bnext, "-1.0");
4686 surfxml_bufferliteral('\0', &bnext, "-1.0");
4687 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
4688 surfxml_statenames[PROLOG] = NULL;
4689 surfxml_statenames[DOCTYPE] = NULL;
4690 surfxml_statenames[EPILOG] = NULL;
4691 surfxml_statenames[INCOMMENT] = NULL;
4692 surfxml_statenames[INPI] = NULL;
4693 surfxml_statenames[VALUE1] = NULL;
4694 surfxml_statenames[VALUE2] = NULL;
4695 surfxml_statenames[CDATA] = NULL;
4696 surfxml_statenames[ROOT_surfxml_platform] = NULL;
4697 surfxml_statenames[AL_surfxml_platform] = NULL;
4698 surfxml_statenames[S_surfxml_platform] = "platform";
4699 surfxml_statenames[S_surfxml_platform_1] = "platform";
4700 surfxml_statenames[S_surfxml_platform_2] = "platform";
4701 surfxml_statenames[S_surfxml_platform_3] = "platform";
4702 surfxml_statenames[S_surfxml_platform_4] = "platform";
4703 surfxml_statenames[S_surfxml_platform_5] = "platform";
4704 surfxml_statenames[S_surfxml_platform_6] = "platform";
4705 surfxml_statenames[S_surfxml_platform_7] = "platform";
4706 surfxml_statenames[S_surfxml_platform_8] = "platform";
4707 surfxml_statenames[E_surfxml_platform] = "platform";
4708 surfxml_statenames[AL_surfxml_include] = NULL;
4709 surfxml_statenames[S_surfxml_include] = "include";
4710 surfxml_statenames[S_surfxml_include_1] = "include";
4711 surfxml_statenames[S_surfxml_include_2] = "include";
4712 surfxml_statenames[E_surfxml_include] = "include";
4713 surfxml_statenames[AL_surfxml_trace] = NULL;
4714 surfxml_statenames[IN_trace] = "trace";
4715 surfxml_statenames[AL_surfxml_random] = NULL;
4716 surfxml_statenames[S_surfxml_random] = "random";
4717 surfxml_statenames[S_surfxml_random_1] = "random";
4718 surfxml_statenames[S_surfxml_random_2] = "random";
4719 surfxml_statenames[E_surfxml_random] = "random";
4720 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
4721 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
4722 surfxml_statenames[AL_surfxml_AS] = NULL;
4723 surfxml_statenames[S_surfxml_AS] = "AS";
4724 surfxml_statenames[S_surfxml_AS_1] = "AS";
4725 surfxml_statenames[S_surfxml_AS_2] = "AS";
4726 surfxml_statenames[S_surfxml_AS_3] = "AS";
4727 surfxml_statenames[S_surfxml_AS_4] = "AS";
4728 surfxml_statenames[S_surfxml_AS_5] = "AS";
4729 surfxml_statenames[S_surfxml_AS_6] = "AS";
4730 surfxml_statenames[S_surfxml_AS_7] = "AS";
4731 surfxml_statenames[S_surfxml_AS_8] = "AS";
4732 surfxml_statenames[S_surfxml_AS_9] = "AS";
4733 surfxml_statenames[S_surfxml_AS_10] = "AS";
4734 surfxml_statenames[S_surfxml_AS_11] = "AS";
4735 surfxml_statenames[S_surfxml_AS_12] = "AS";
4736 surfxml_statenames[S_surfxml_AS_13] = "AS";
4737 surfxml_statenames[E_surfxml_AS] = "AS";
4738 surfxml_statenames[AL_surfxml_storage_type] = NULL;
4739 surfxml_statenames[S_surfxml_storage_type] = "storage_type";
4740 surfxml_statenames[S_surfxml_storage_type_1] = "storage_type";
4741 surfxml_statenames[S_surfxml_storage_type_2] = "storage_type";
4742 surfxml_statenames[E_surfxml_storage_type] = "storage_type";
4743 surfxml_statenames[AL_surfxml_storage] = NULL;
4744 surfxml_statenames[S_surfxml_storage] = "storage";
4745 surfxml_statenames[S_surfxml_storage_1] = "storage";
4746 surfxml_statenames[S_surfxml_storage_2] = "storage";
4747 surfxml_statenames[E_surfxml_storage] = "storage";
4748 surfxml_statenames[AL_surfxml_mount] = NULL;
4749 surfxml_statenames[E_surfxml_mount] = "mount";
4750 surfxml_statenames[AL_surfxml_mstorage] = NULL;
4751 surfxml_statenames[E_surfxml_mstorage] = "mstorage";
4752 surfxml_statenames[AL_surfxml_host] = NULL;
4753 surfxml_statenames[S_surfxml_host] = "host";
4754 surfxml_statenames[S_surfxml_host_1] = "host";
4755 surfxml_statenames[S_surfxml_host_2] = "host";
4756 surfxml_statenames[E_surfxml_host] = "host";
4757 surfxml_statenames[AL_surfxml_cluster] = NULL;
4758 surfxml_statenames[E_surfxml_cluster] = "cluster";
4759 surfxml_statenames[AL_surfxml_peer] = NULL;
4760 surfxml_statenames[E_surfxml_peer] = "peer";
4761 surfxml_statenames[AL_surfxml_router] = NULL;
4762 surfxml_statenames[E_surfxml_router] = "router";
4763 surfxml_statenames[AL_surfxml_link] = NULL;
4764 surfxml_statenames[S_surfxml_link] = "link";
4765 surfxml_statenames[S_surfxml_link_1] = "link";
4766 surfxml_statenames[S_surfxml_link_2] = "link";
4767 surfxml_statenames[E_surfxml_link] = "link";
4768 surfxml_statenames[AL_surfxml_route] = NULL;
4769 surfxml_statenames[S_surfxml_route] = "route";
4770 surfxml_statenames[S_surfxml_route_1] = "route";
4771 surfxml_statenames[S_surfxml_route_2] = "route";
4772 surfxml_statenames[E_surfxml_route] = "route";
4773 surfxml_statenames[AL_surfxml_ASroute] = NULL;
4774 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
4775 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
4776 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
4777 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
4778 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
4779 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
4780 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
4781 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
4782 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
4783 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
4784 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
4785 surfxml_statenames[AL_surfxml_bypassASroute] = NULL;
4786 surfxml_statenames[S_surfxml_bypassASroute] = "bypassASroute";
4787 surfxml_statenames[S_surfxml_bypassASroute_1] = "bypassASroute";
4788 surfxml_statenames[S_surfxml_bypassASroute_2] = "bypassASroute";
4789 surfxml_statenames[E_surfxml_bypassASroute] = "bypassASroute";
4790 surfxml_statenames[AL_surfxml_process] = NULL;
4791 surfxml_statenames[S_surfxml_process] = "process";
4792 surfxml_statenames[S_surfxml_process_1] = "process";
4793 surfxml_statenames[S_surfxml_process_2] = "process";
4794 surfxml_statenames[E_surfxml_process] = "process";
4795 surfxml_statenames[AL_surfxml_argument] = NULL;
4796 surfxml_statenames[E_surfxml_argument] = "argument";
4797 surfxml_statenames[AL_surfxml_config] = NULL;
4798 surfxml_statenames[S_surfxml_config] = "config";
4799 surfxml_statenames[S_surfxml_config_1] = "config";
4800 surfxml_statenames[S_surfxml_config_2] = "config";
4801 surfxml_statenames[E_surfxml_config] = "config";
4802 surfxml_statenames[AL_surfxml_prop] = NULL;
4803 surfxml_statenames[E_surfxml_prop] = "prop";
4806 /* COMMENTS and PIs: handled uniformly for efficiency. */
4817 (yy_start) = 1; /* first start state */
4819 if ( ! surf_parse_in )
4820 surf_parse_in = stdin;
4822 if ( ! surf_parse_out )
4823 surf_parse_out = stdout;
4825 if ( ! YY_CURRENT_BUFFER ) {
4826 surf_parse_ensure_buffer_stack ();
4827 YY_CURRENT_BUFFER_LVALUE =
4828 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
4831 surf_parse__load_buffer_state( );
4834 while ( 1 ) /* loops until end-of-file is reached */
4836 yy_cp = (yy_c_buf_p);
4838 /* Support of surf_parse_text. */
4839 *yy_cp = (yy_hold_char);
4841 /* yy_bp points to the position in yy_ch_buf of the start of
4846 yy_current_state = (yy_start);
4850 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4851 if ( yy_accept[yy_current_state] )
4853 (yy_last_accepting_state) = yy_current_state;
4854 (yy_last_accepting_cpos) = yy_cp;
4856 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4858 yy_current_state = (int) yy_def[yy_current_state];
4859 if ( yy_current_state >= 2921 )
4860 yy_c = yy_meta[(unsigned int) yy_c];
4862 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4865 while ( yy_base[yy_current_state] != 10220 );
4868 yy_act = yy_accept[yy_current_state];
4870 { /* have to back up */
4871 yy_cp = (yy_last_accepting_cpos);
4872 yy_current_state = (yy_last_accepting_state);
4873 yy_act = yy_accept[yy_current_state];
4876 YY_DO_BEFORE_ACTION;
4878 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
4881 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
4882 if ( surf_parse_text[yyl] == '\n' )
4884 surf_parse_lineno++;
4888 do_action: /* This label is used only to access EOF actions. */
4891 { /* beginning of action switch */
4892 case 0: /* must back up */
4893 /* undo the effects of YY_DO_BEFORE_ACTION */
4894 *yy_cp = (yy_hold_char);
4895 yy_cp = (yy_last_accepting_cpos);
4896 yy_current_state = (yy_last_accepting_state);
4897 goto yy_find_action;
4915 /* rule 6 can match eol */
4919 case YY_STATE_EOF(INCOMMENT):
4920 FAIL("EOF in comment.");
4929 /* rule 9 can match eol */
4933 case YY_STATE_EOF(INPI):
4934 FAIL("EOF in PI (processing instruction).");
4937 /* SPACES: skipped uniformly */
4939 /* rule 10 can match eol */
4943 /* PROLOG: determine root element and process it. */
4946 /* rule 11 can match eol */
4951 /* rule 12 can match eol */
4953 FAIL("Bad declaration %s.",surf_parse_text);
4957 /* rule 13 can match eol */
4959 SET(ROOT_surfxml_platform);
4962 /* rule 14 can match eol */
4964 FAIL("Bad declaration %s.",surf_parse_text);
4968 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4970 case YY_STATE_EOF(PROLOG):
4971 case YY_STATE_EOF(DOCTYPE):
4972 FAIL("EOF in prolog.");
4975 /* RULES DERIVED FROM DTD. */
4976 /* <!-- Small DTD for SURF based tools. --> */
4978 /* rule 16 can match eol */
4980 FAIL("Starting tag <platform> is not allowed here.");
4983 /* rule 17 can match eol */
4986 AX_surfxml_platform_version = 1;
4987 surfxml_platform_version_isset = 0;
4988 ENTER(AL_surfxml_platform); pushbuffer(0);
4993 /* rule 18 can match eol */
4995 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);
4998 /* rule 19 can match eol */
5000 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);
5005 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
5011 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
5013 case ROOT_surfxml_platform: SET(EPILOG); break;
5019 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
5023 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
5025 case YY_STATE_EOF(AL_surfxml_platform):
5026 FAIL("EOF in attribute list of `platform' element.");
5030 /* rule 24 can match eol */
5034 ETag_surfxml_platform();
5035 popbuffer(); /* attribute */
5037 case ROOT_surfxml_platform: SET(EPILOG); break;
5042 /* rule 25 can match eol */
5044 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
5048 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
5050 case YY_STATE_EOF(S_surfxml_platform_8):
5051 case YY_STATE_EOF(S_surfxml_platform_1):
5052 case YY_STATE_EOF(S_surfxml_platform_3):
5053 case YY_STATE_EOF(S_surfxml_platform):
5054 case YY_STATE_EOF(S_surfxml_platform_4):
5055 case YY_STATE_EOF(S_surfxml_platform_6):
5056 case YY_STATE_EOF(E_surfxml_platform):
5057 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</platform>' expected.");
5061 /* rule 27 can match eol */
5063 FAIL("Starting tag <include> is not allowed here.");
5066 /* rule 28 can match eol */
5069 AX_surfxml_include_file = 0;
5070 surfxml_include_file_isset = 0;
5071 ENTER(AL_surfxml_include); pushbuffer(0);
5076 /* rule 29 can match eol */
5078 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);
5081 /* rule 30 can match eol */
5083 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);
5088 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
5089 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(S_surfxml_include);
5095 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
5096 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
5098 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5099 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5100 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;
5101 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5107 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
5111 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
5113 case YY_STATE_EOF(AL_surfxml_include):
5114 FAIL("EOF in attribute list of `include' element.");
5118 /* rule 35 can match eol */
5122 ETag_surfxml_include();
5123 popbuffer(); /* attribute */
5125 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5126 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5127 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;
5128 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5133 /* rule 36 can match eol */
5135 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
5139 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
5141 case YY_STATE_EOF(E_surfxml_include):
5142 case YY_STATE_EOF(S_surfxml_include):
5143 case YY_STATE_EOF(S_surfxml_include_2):
5144 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</include>' expected.");
5148 /* rule 38 can match eol */
5150 FAIL("Starting tag <trace> is not allowed here.");
5153 /* rule 39 can match eol */
5156 AX_surfxml_trace_id = 0;
5157 surfxml_trace_id_isset = 0;
5158 AX_surfxml_trace_file = 0;
5159 surfxml_trace_file_isset = 0;
5160 AX_surfxml_trace_periodicity = 0;
5161 surfxml_trace_periodicity_isset = 0;
5162 ENTER(AL_surfxml_trace); pushbuffer(0);
5167 /* rule 40 can match eol */
5169 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);
5172 /* rule 41 can match eol */
5174 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);
5177 /* rule 42 can match eol */
5179 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);
5182 /* rule 43 can match eol */
5184 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);
5187 /* rule 44 can match eol */
5189 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);
5192 /* rule 45 can match eol */
5194 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);
5199 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
5200 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
5201 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
5207 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
5208 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
5209 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
5211 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;
5212 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5213 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5214 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5215 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;
5216 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5217 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5223 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
5227 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
5229 case YY_STATE_EOF(AL_surfxml_trace):
5230 FAIL("EOF in attribute list of `trace' element.");
5234 /* rule 50 can match eol */
5239 ETag_surfxml_trace();
5240 surfxml_pcdata_ix = popbuffer();
5241 popbuffer(); /* attribute */
5243 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;
5244 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5245 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5246 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5247 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;
5248 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5249 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5254 /* rule 51 can match eol */
5256 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
5258 case YY_STATE_EOF(IN_trace):
5259 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace>' expected.");
5263 /* rule 52 can match eol */
5265 FAIL("Starting tag <random> is not allowed here.");
5268 /* rule 53 can match eol */
5271 AX_surfxml_random_id = 0;
5272 surfxml_random_id_isset = 0;
5273 AX_surfxml_random_min = 0;
5274 surfxml_random_min_isset = 0;
5275 AX_surfxml_random_max = 0;
5276 surfxml_random_max_isset = 0;
5277 AX_surfxml_random_mean = 0;
5278 surfxml_random_mean_isset = 0;
5279 AX_surfxml_random_std_deviation = 0;
5280 surfxml_random_std_deviation_isset = 0;
5281 AX_surfxml_random_seed = 5;
5282 surfxml_random_seed_isset = 0;
5283 AX_surfxml_random_radical = 0;
5284 surfxml_random_radical_isset = 0;
5285 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
5286 surfxml_random_generator_isset = 0;
5287 ENTER(AL_surfxml_random); pushbuffer(0);
5292 /* rule 54 can match eol */
5294 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);
5297 /* rule 55 can match eol */
5299 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);
5302 /* rule 56 can match eol */
5304 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);
5307 /* rule 57 can match eol */
5309 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);
5312 /* rule 58 can match eol */
5314 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);
5317 /* rule 59 can match eol */
5319 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);
5322 /* rule 60 can match eol */
5324 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);
5327 /* rule 61 can match eol */
5329 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);
5332 /* rule 62 can match eol */
5334 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);
5337 /* rule 63 can match eol */
5339 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);
5342 /* rule 64 can match eol */
5344 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);
5347 /* rule 65 can match eol */
5349 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);
5352 /* rule 66 can match eol */
5354 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);
5357 /* rule 67 can match eol */
5359 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);
5362 /* rule 68 can match eol */
5364 /* rule 69 can match eol */
5366 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
5369 /* rule 70 can match eol */
5371 /* rule 71 can match eol */
5373 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
5376 /* rule 72 can match eol */
5378 /* rule 73 can match eol */
5380 A_surfxml_random_generator = A_surfxml_random_generator_RNGSTREAM;
5383 /* rule 74 can match eol */
5385 /* rule 75 can match eol */
5387 A_surfxml_random_generator = A_surfxml_random_generator_NONE;
5392 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
5393 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
5394 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
5395 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
5396 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
5397 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
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; ETag_surfxml_random(); popbuffer(); /* attribute */
5410 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5416 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
5420 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
5422 case YY_STATE_EOF(AL_surfxml_random):
5423 FAIL("EOF in attribute list of `random' element.");
5427 /* rule 80 can match eol */
5431 ETag_surfxml_random();
5432 popbuffer(); /* attribute */
5434 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5439 /* rule 81 can match eol */
5441 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
5445 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
5447 case YY_STATE_EOF(S_surfxml_random):
5448 case YY_STATE_EOF(S_surfxml_random_2):
5449 case YY_STATE_EOF(E_surfxml_random):
5450 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</random>' expected.");
5454 /* rule 83 can match eol */
5456 FAIL("Starting tag <trace_connect> is not allowed here.");
5459 /* rule 84 can match eol */
5462 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
5463 surfxml_trace_connect_kind_isset = 0;
5464 AX_surfxml_trace_connect_trace = 0;
5465 surfxml_trace_connect_trace_isset = 0;
5466 AX_surfxml_trace_connect_element = 0;
5467 surfxml_trace_connect_element_isset = 0;
5468 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
5473 /* rule 85 can match eol */
5475 /* rule 86 can match eol */
5477 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
5480 /* rule 87 can match eol */
5482 /* rule 88 can match eol */
5484 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
5487 /* rule 89 can match eol */
5489 /* rule 90 can match eol */
5491 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
5494 /* rule 91 can match eol */
5496 /* rule 92 can match eol */
5498 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
5501 /* rule 93 can match eol */
5503 /* rule 94 can match eol */
5505 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
5508 /* rule 95 can match eol */
5510 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);
5513 /* rule 96 can match eol */
5515 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);
5518 /* rule 97 can match eol */
5520 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);
5523 /* rule 98 can match eol */
5525 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);
5530 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
5531 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
5532 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
5538 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
5539 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
5540 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
5542 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;
5543 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5544 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5545 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5546 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;
5547 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5548 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5554 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
5558 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
5560 case YY_STATE_EOF(AL_surfxml_trace_connect):
5561 FAIL("EOF in attribute list of `trace_connect' element.");
5565 /* rule 103 can match eol */
5569 ETag_surfxml_trace_connect();
5570 popbuffer(); /* attribute */
5572 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;
5573 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5574 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
5575 case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
5576 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;
5577 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
5578 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5583 /* rule 104 can match eol */
5585 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
5589 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
5591 case YY_STATE_EOF(E_surfxml_trace_connect):
5592 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</trace_connect>' expected.");
5596 /* rule 106 can match eol */
5598 FAIL("Starting tag <AS> is not allowed here.");
5601 /* rule 107 can match eol */
5604 AX_surfxml_AS_id = 0;
5605 surfxml_AS_id_isset = 0;
5606 AX_surfxml_AS_routing = A_surfxml_AS_routing_None;
5607 surfxml_AS_routing_isset = 0;
5608 ENTER(AL_surfxml_AS); pushbuffer(0);
5613 /* rule 108 can match eol */
5615 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);
5618 /* rule 109 can match eol */
5620 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);
5623 /* rule 110 can match eol */
5625 /* rule 111 can match eol */
5627 A_surfxml_AS_routing = A_surfxml_AS_routing_Full;
5630 /* rule 112 can match eol */
5632 /* rule 113 can match eol */
5634 A_surfxml_AS_routing = A_surfxml_AS_routing_Floyd;
5637 /* rule 114 can match eol */
5639 /* rule 115 can match eol */
5641 A_surfxml_AS_routing = A_surfxml_AS_routing_Dijkstra;
5644 /* rule 116 can match eol */
5646 /* rule 117 can match eol */
5648 A_surfxml_AS_routing = A_surfxml_AS_routing_DijkstraCache;
5651 /* rule 118 can match eol */
5653 /* rule 119 can match eol */
5655 A_surfxml_AS_routing = A_surfxml_AS_routing_None;
5658 /* rule 120 can match eol */
5660 /* rule 121 can match eol */
5662 A_surfxml_AS_routing = A_surfxml_AS_routing_RuleBased;
5665 /* rule 122 can match eol */
5667 /* rule 123 can match eol */
5669 A_surfxml_AS_routing = A_surfxml_AS_routing_Vivaldi;
5672 /* rule 124 can match eol */
5674 /* rule 125 can match eol */
5676 A_surfxml_AS_routing = A_surfxml_AS_routing_Cluster;
5681 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5682 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
5688 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
5689 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
5691 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5692 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;
5693 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5699 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
5703 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
5705 case YY_STATE_EOF(AL_surfxml_AS):
5706 FAIL("EOF in attribute list of `AS' element.");
5710 /* rule 130 can match eol */
5715 popbuffer(); /* attribute */
5717 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5718 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;
5719 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
5724 /* rule 131 can match eol */
5726 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
5730 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
5732 case YY_STATE_EOF(S_surfxml_AS_9):
5733 case YY_STATE_EOF(S_surfxml_AS_1):
5734 case YY_STATE_EOF(S_surfxml_AS_11):
5735 case YY_STATE_EOF(S_surfxml_AS_6):
5736 case YY_STATE_EOF(E_surfxml_AS):
5737 case YY_STATE_EOF(S_surfxml_AS_3):
5738 case YY_STATE_EOF(S_surfxml_AS_13):
5739 case YY_STATE_EOF(S_surfxml_AS_8):
5740 case YY_STATE_EOF(S_surfxml_AS):
5741 case YY_STATE_EOF(S_surfxml_AS_4):
5742 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</AS>' expected.");
5746 /* rule 133 can match eol */
5748 FAIL("Starting tag <storage_type> is not allowed here.");
5751 /* rule 134 can match eol */
5754 AX_surfxml_storage_type_id = 0;
5755 surfxml_storage_type_id_isset = 0;
5756 AX_surfxml_storage_type_model = 0;
5757 surfxml_storage_type_model_isset = 0;
5758 AX_surfxml_storage_type_size = 0;
5759 surfxml_storage_type_size_isset = 0;
5760 AX_surfxml_storage_type_content = 0;
5761 surfxml_storage_type_content_isset = 0;
5762 ENTER(AL_surfxml_storage_type); pushbuffer(0);
5767 /* rule 135 can match eol */
5769 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);
5772 /* rule 136 can match eol */
5774 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);
5777 /* rule 137 can match eol */
5779 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);
5782 /* rule 138 can match eol */
5784 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);
5787 /* rule 139 can match eol */
5789 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);
5792 /* rule 140 can match eol */
5794 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);
5797 /* rule 141 can match eol */
5799 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);
5802 /* rule 142 can match eol */
5804 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);
5809 if (!AX_surfxml_storage_type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
5810 if (!AX_surfxml_storage_type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
5811 if (!AX_surfxml_storage_type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
5812 LEAVE; STag_surfxml_storage_type();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage_type);
5818 if (!AX_surfxml_storage_type_id) FAIL("Required attribute `id' not set for `storage_type' element.");
5819 if (!AX_surfxml_storage_type_model) FAIL("Required attribute `model' not set for `storage_type' element.");
5820 if (!AX_surfxml_storage_type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
5821 LEAVE; STag_surfxml_storage_type(); surfxml_pcdata_ix = 0; ETag_surfxml_storage_type(); popbuffer(); /* attribute */
5823 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5824 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5830 FAIL("Unexpected character `%c' in attribute list of storage_type element.", surf_parse_text[0]);
5834 FAIL("Bad attribute `%s' in `storage_type' element start tag.",surf_parse_text);
5836 case YY_STATE_EOF(AL_surfxml_storage_type):
5837 FAIL("EOF in attribute list of `storage_type' element.");
5841 /* rule 147 can match eol */
5845 ETag_surfxml_storage_type();
5846 popbuffer(); /* attribute */
5848 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5849 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5854 /* rule 148 can match eol */
5856 FAIL("Unexpected end-tag `%s': `</storage_type>' expected.",surf_parse_text);
5860 FAIL("Unexpected character `%c': `</storage_type>' expected.",surf_parse_text[0]);
5862 case YY_STATE_EOF(E_surfxml_storage_type):
5863 case YY_STATE_EOF(S_surfxml_storage_type_2):
5864 case YY_STATE_EOF(S_surfxml_storage_type):
5865 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage_type>' expected.");
5869 /* rule 150 can match eol */
5871 FAIL("Starting tag <storage> is not allowed here.");
5874 /* rule 151 can match eol */
5877 AX_surfxml_storage_id = 0;
5878 surfxml_storage_id_isset = 0;
5879 AX_surfxml_storage_typeId = 0;
5880 surfxml_storage_typeId_isset = 0;
5881 AX_surfxml_storage_content = 0;
5882 surfxml_storage_content_isset = 0;
5883 ENTER(AL_surfxml_storage); pushbuffer(0);
5888 /* rule 152 can match eol */
5890 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);
5893 /* rule 153 can match eol */
5895 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);
5898 /* rule 154 can match eol */
5900 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);
5903 /* rule 155 can match eol */
5905 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);
5908 /* rule 156 can match eol */
5910 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);
5913 /* rule 157 can match eol */
5915 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);
5920 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5921 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
5922 LEAVE; STag_surfxml_storage();surfxml_pcdata_ix = 0; ENTER(S_surfxml_storage);
5928 if (!AX_surfxml_storage_id) FAIL("Required attribute `id' not set for `storage' element.");
5929 if (!AX_surfxml_storage_typeId) FAIL("Required attribute `typeId' not set for `storage' element.");
5930 LEAVE; STag_surfxml_storage(); surfxml_pcdata_ix = 0; ETag_surfxml_storage(); popbuffer(); /* attribute */
5932 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5933 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5939 FAIL("Unexpected character `%c' in attribute list of storage element.", surf_parse_text[0]);
5943 FAIL("Bad attribute `%s' in `storage' element start tag.",surf_parse_text);
5945 case YY_STATE_EOF(AL_surfxml_storage):
5946 FAIL("EOF in attribute list of `storage' element.");
5950 /* rule 162 can match eol */
5954 ETag_surfxml_storage();
5955 popbuffer(); /* attribute */
5957 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5958 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5963 /* rule 163 can match eol */
5965 FAIL("Unexpected end-tag `%s': `</storage>' expected.",surf_parse_text);
5969 FAIL("Unexpected character `%c': `</storage>' expected.",surf_parse_text[0]);
5971 case YY_STATE_EOF(E_surfxml_storage):
5972 case YY_STATE_EOF(S_surfxml_storage):
5973 case YY_STATE_EOF(S_surfxml_storage_2):
5974 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage>' expected.");
5978 /* rule 165 can match eol */
5980 FAIL("Starting tag <mount> is not allowed here.");
5983 /* rule 166 can match eol */
5986 AX_surfxml_mount_id = 0;
5987 surfxml_mount_id_isset = 0;
5988 AX_surfxml_mount_name = 0;
5989 surfxml_mount_name_isset = 0;
5990 ENTER(AL_surfxml_mount); pushbuffer(0);
5995 /* rule 167 can match eol */
5997 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);
6000 /* rule 168 can match eol */
6002 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);
6005 /* rule 169 can match eol */
6007 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);
6010 /* rule 170 can match eol */
6012 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);
6017 if (!AX_surfxml_mount_id) FAIL("Required attribute `id' not set for `mount' element.");
6018 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
6019 LEAVE; STag_surfxml_mount();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mount);
6025 if (!AX_surfxml_mount_id) FAIL("Required attribute `id' not set for `mount' element.");
6026 if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
6027 LEAVE; STag_surfxml_mount(); surfxml_pcdata_ix = 0; ETag_surfxml_mount(); popbuffer(); /* attribute */
6029 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6035 FAIL("Unexpected character `%c' in attribute list of mount element.", surf_parse_text[0]);
6039 FAIL("Bad attribute `%s' in `mount' element start tag.",surf_parse_text);
6041 case YY_STATE_EOF(AL_surfxml_mount):
6042 FAIL("EOF in attribute list of `mount' element.");
6046 /* rule 175 can match eol */
6050 ETag_surfxml_mount();
6051 popbuffer(); /* attribute */
6053 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6058 /* rule 176 can match eol */
6060 FAIL("Unexpected end-tag `%s': `</mount>' expected.",surf_parse_text);
6064 FAIL("Unexpected character `%c': `</mount>' expected.",surf_parse_text[0]);
6066 case YY_STATE_EOF(E_surfxml_mount):
6067 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mount>' expected.");
6071 /* rule 178 can match eol */
6073 FAIL("Starting tag <mstorage> is not allowed here.");
6076 /* rule 179 can match eol */
6079 AX_surfxml_mstorage_typeId = 0;
6080 surfxml_mstorage_typeId_isset = 0;
6081 AX_surfxml_mstorage_name = 0;
6082 surfxml_mstorage_name_isset = 0;
6083 ENTER(AL_surfxml_mstorage); pushbuffer(0);
6088 /* rule 180 can match eol */
6090 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);
6093 /* rule 181 can match eol */
6095 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);
6098 /* rule 182 can match eol */
6100 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);
6103 /* rule 183 can match eol */
6105 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);
6110 if (!AX_surfxml_mstorage_typeId) FAIL("Required attribute `typeId' not set for `mstorage' element.");
6111 if (!AX_surfxml_mstorage_name) FAIL("Required attribute `name' not set for `mstorage' element.");
6112 LEAVE; STag_surfxml_mstorage();surfxml_pcdata_ix = 0; ENTER(E_surfxml_mstorage);
6118 if (!AX_surfxml_mstorage_typeId) FAIL("Required attribute `typeId' not set for `mstorage' element.");
6119 if (!AX_surfxml_mstorage_name) FAIL("Required attribute `name' not set for `mstorage' element.");
6120 LEAVE; STag_surfxml_mstorage(); surfxml_pcdata_ix = 0; ETag_surfxml_mstorage(); popbuffer(); /* attribute */
6122 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6128 FAIL("Unexpected character `%c' in attribute list of mstorage element.", surf_parse_text[0]);
6132 FAIL("Bad attribute `%s' in `mstorage' element start tag.",surf_parse_text);
6134 case YY_STATE_EOF(AL_surfxml_mstorage):
6135 FAIL("EOF in attribute list of `mstorage' element.");
6139 /* rule 188 can match eol */
6143 ETag_surfxml_mstorage();
6144 popbuffer(); /* attribute */
6146 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6151 /* rule 189 can match eol */
6153 FAIL("Unexpected end-tag `%s': `</mstorage>' expected.",surf_parse_text);
6157 FAIL("Unexpected character `%c': `</mstorage>' expected.",surf_parse_text[0]);
6159 case YY_STATE_EOF(E_surfxml_mstorage):
6160 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</mstorage>' expected.");
6164 /* rule 191 can match eol */
6166 FAIL("Starting tag <host> is not allowed here.");
6169 /* rule 192 can match eol */
6172 AX_surfxml_host_id = 0;
6173 surfxml_host_id_isset = 0;
6174 AX_surfxml_host_power = 0;
6175 surfxml_host_power_isset = 0;
6176 AX_surfxml_host_core = 16;
6177 surfxml_host_core_isset = 0;
6178 AX_surfxml_host_availability = 18;
6179 surfxml_host_availability_isset = 0;
6180 AX_surfxml_host_availability_file = 0;
6181 surfxml_host_availability_file_isset = 0;
6182 AX_surfxml_host_state = A_surfxml_host_state_ON;
6183 surfxml_host_state_isset = 0;
6184 AX_surfxml_host_state_file = 0;
6185 surfxml_host_state_file_isset = 0;
6186 AX_surfxml_host_coordinates = 0;
6187 surfxml_host_coordinates_isset = 0;
6188 ENTER(AL_surfxml_host); pushbuffer(0);
6193 /* rule 193 can match eol */
6195 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);
6198 /* rule 194 can match eol */
6200 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);
6203 /* rule 195 can match eol */
6205 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);
6208 /* rule 196 can match eol */
6210 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);
6213 /* rule 197 can match eol */
6215 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);
6218 /* rule 198 can match eol */
6220 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);
6223 /* rule 199 can match eol */
6225 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);
6228 /* rule 200 can match eol */
6230 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);
6233 /* rule 201 can match eol */
6235 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);
6238 /* rule 202 can match eol */
6240 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);
6243 /* rule 203 can match eol */
6245 /* rule 204 can match eol */
6247 A_surfxml_host_state = A_surfxml_host_state_ON;
6250 /* rule 205 can match eol */
6252 /* rule 206 can match eol */
6254 A_surfxml_host_state = A_surfxml_host_state_OFF;
6257 /* rule 207 can match eol */
6259 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);
6262 /* rule 208 can match eol */
6264 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);
6267 /* rule 209 can match eol */
6269 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);
6272 /* rule 210 can match eol */
6274 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);
6279 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
6280 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
6281 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
6287 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
6288 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
6289 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
6291 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6297 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
6301 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
6303 case YY_STATE_EOF(AL_surfxml_host):
6304 FAIL("EOF in attribute list of `host' element.");
6308 /* rule 215 can match eol */
6312 ETag_surfxml_host();
6313 popbuffer(); /* attribute */
6315 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6320 /* rule 216 can match eol */
6322 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
6326 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
6328 case YY_STATE_EOF(S_surfxml_host):
6329 case YY_STATE_EOF(E_surfxml_host):
6330 case YY_STATE_EOF(S_surfxml_host_2):
6331 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host>' expected.");
6335 /* rule 218 can match eol */
6337 FAIL("Starting tag <cluster> is not allowed here.");
6340 /* rule 219 can match eol */
6343 AX_surfxml_cluster_id = 0;
6344 surfxml_cluster_id_isset = 0;
6345 AX_surfxml_cluster_prefix = 0;
6346 surfxml_cluster_prefix_isset = 0;
6347 AX_surfxml_cluster_suffix = 0;
6348 surfxml_cluster_suffix_isset = 0;
6349 AX_surfxml_cluster_radical = 0;
6350 surfxml_cluster_radical_isset = 0;
6351 AX_surfxml_cluster_power = 0;
6352 surfxml_cluster_power_isset = 0;
6353 AX_surfxml_cluster_core = 22;
6354 surfxml_cluster_core_isset = 0;
6355 AX_surfxml_cluster_bw = 0;
6356 surfxml_cluster_bw_isset = 0;
6357 AX_surfxml_cluster_lat = 0;
6358 surfxml_cluster_lat_isset = 0;
6359 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
6360 surfxml_cluster_sharing_policy_isset = 0;
6361 AX_surfxml_cluster_bb_bw = 0;
6362 surfxml_cluster_bb_bw_isset = 0;
6363 AX_surfxml_cluster_bb_lat = 0;
6364 surfxml_cluster_bb_lat_isset = 0;
6365 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
6366 surfxml_cluster_bb_sharing_policy_isset = 0;
6367 AX_surfxml_cluster_availability_file = 0;
6368 surfxml_cluster_availability_file_isset = 0;
6369 AX_surfxml_cluster_state_file = 0;
6370 surfxml_cluster_state_file_isset = 0;
6371 AX_surfxml_cluster_router_id = 0;
6372 surfxml_cluster_router_id_isset = 0;
6373 ENTER(AL_surfxml_cluster); pushbuffer(0);
6378 /* rule 220 can match eol */
6380 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);
6383 /* rule 221 can match eol */
6385 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);
6388 /* rule 222 can match eol */
6390 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);
6393 /* rule 223 can match eol */
6395 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);
6398 /* rule 224 can match eol */
6400 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);
6403 /* rule 225 can match eol */
6405 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);
6408 /* rule 226 can match eol */
6410 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);
6413 /* rule 227 can match eol */
6415 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);
6418 /* rule 228 can match eol */
6420 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);
6423 /* rule 229 can match eol */
6425 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);
6428 /* rule 230 can match eol */
6430 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);
6433 /* rule 231 can match eol */
6435 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);
6438 /* rule 232 can match eol */
6440 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);
6443 /* rule 233 can match eol */
6445 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);
6448 /* rule 234 can match eol */
6450 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);
6453 /* rule 235 can match eol */
6455 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);
6458 /* rule 236 can match eol */
6460 /* rule 237 can match eol */
6462 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
6465 /* rule 238 can match eol */
6467 /* rule 239 can match eol */
6469 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
6472 /* rule 240 can match eol */
6474 /* rule 241 can match eol */
6476 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
6479 /* rule 242 can match eol */
6481 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);
6484 /* rule 243 can match eol */
6486 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);
6489 /* rule 244 can match eol */
6491 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);
6494 /* rule 245 can match eol */
6496 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);
6499 /* rule 246 can match eol */
6501 /* rule 247 can match eol */
6503 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
6506 /* rule 248 can match eol */
6508 /* rule 249 can match eol */
6510 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
6513 /* rule 250 can match eol */
6515 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);
6518 /* rule 251 can match eol */
6520 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);
6523 /* rule 252 can match eol */
6525 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);
6528 /* rule 253 can match eol */
6530 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);
6533 /* rule 254 can match eol */
6535 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);
6538 /* rule 255 can match eol */
6540 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);
6545 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6546 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6547 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6548 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6549 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
6550 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6551 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6552 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
6558 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
6559 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
6560 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
6561 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
6562 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
6563 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
6564 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
6565 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
6567 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6568 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;
6569 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6575 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
6579 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
6581 case YY_STATE_EOF(AL_surfxml_cluster):
6582 FAIL("EOF in attribute list of `cluster' element.");
6586 /* rule 260 can match eol */
6590 ETag_surfxml_cluster();
6591 popbuffer(); /* attribute */
6593 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6594 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;
6595 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6600 /* rule 261 can match eol */
6602 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
6606 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
6608 case YY_STATE_EOF(E_surfxml_cluster):
6609 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cluster>' expected.");
6613 /* rule 263 can match eol */
6615 FAIL("Starting tag <peer> is not allowed here.");
6618 /* rule 264 can match eol */
6621 AX_surfxml_peer_id = 0;
6622 surfxml_peer_id_isset = 0;
6623 AX_surfxml_peer_power = 0;
6624 surfxml_peer_power_isset = 0;
6625 AX_surfxml_peer_bw_in = 0;
6626 surfxml_peer_bw_in_isset = 0;
6627 AX_surfxml_peer_bw_out = 0;
6628 surfxml_peer_bw_out_isset = 0;
6629 AX_surfxml_peer_lat = 0;
6630 surfxml_peer_lat_isset = 0;
6631 AX_surfxml_peer_coordinates = 0;
6632 surfxml_peer_coordinates_isset = 0;
6633 AX_surfxml_peer_availability_file = 0;
6634 surfxml_peer_availability_file_isset = 0;
6635 AX_surfxml_peer_state_file = 0;
6636 surfxml_peer_state_file_isset = 0;
6637 ENTER(AL_surfxml_peer); pushbuffer(0);
6642 /* rule 265 can match eol */
6644 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);
6647 /* rule 266 can match eol */
6649 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);
6652 /* rule 267 can match eol */
6654 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);
6657 /* rule 268 can match eol */
6659 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);
6662 /* rule 269 can match eol */
6664 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);
6667 /* rule 270 can match eol */
6669 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);
6672 /* rule 271 can match eol */
6674 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);
6677 /* rule 272 can match eol */
6679 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);
6682 /* rule 273 can match eol */
6684 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);
6687 /* rule 274 can match eol */
6689 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);
6692 /* rule 275 can match eol */
6694 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);
6697 /* rule 276 can match eol */
6699 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);
6702 /* rule 277 can match eol */
6704 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);
6707 /* rule 278 can match eol */
6709 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);
6712 /* rule 279 can match eol */
6714 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);
6717 /* rule 280 can match eol */
6719 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);
6724 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
6725 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
6726 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
6727 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
6728 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
6729 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
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; ETag_surfxml_peer(); popbuffer(); /* attribute */
6742 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6743 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;
6744 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6750 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
6754 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
6756 case YY_STATE_EOF(AL_surfxml_peer):
6757 FAIL("EOF in attribute list of `peer' element.");
6761 /* rule 285 can match eol */
6765 ETag_surfxml_peer();
6766 popbuffer(); /* attribute */
6768 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
6769 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;
6770 case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
6775 /* rule 286 can match eol */
6777 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
6781 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
6783 case YY_STATE_EOF(E_surfxml_peer):
6784 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</peer>' expected.");
6788 /* rule 288 can match eol */
6790 FAIL("Starting tag <router> is not allowed here.");
6793 /* rule 289 can match eol */
6796 AX_surfxml_router_id = 0;
6797 surfxml_router_id_isset = 0;
6798 AX_surfxml_router_coordinates = 0;
6799 surfxml_router_coordinates_isset = 0;
6800 ENTER(AL_surfxml_router); pushbuffer(0);
6805 /* rule 290 can match eol */
6807 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);
6810 /* rule 291 can match eol */
6812 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);
6815 /* rule 292 can match eol */
6817 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);
6820 /* rule 293 can match eol */
6822 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);
6827 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
6828 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
6834 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
6835 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
6837 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6843 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
6847 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
6849 case YY_STATE_EOF(AL_surfxml_router):
6850 FAIL("EOF in attribute list of `router' element.");
6854 /* rule 298 can match eol */
6858 ETag_surfxml_router();
6859 popbuffer(); /* attribute */
6861 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
6866 /* rule 299 can match eol */
6868 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
6872 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
6874 case YY_STATE_EOF(E_surfxml_router):
6875 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</router>' expected.");
6879 /* rule 301 can match eol */
6881 FAIL("Starting tag <link> is not allowed here.");
6884 /* rule 302 can match eol */
6887 AX_surfxml_link_id = 0;
6888 surfxml_link_id_isset = 0;
6889 AX_surfxml_link_bandwidth = 0;
6890 surfxml_link_bandwidth_isset = 0;
6891 AX_surfxml_link_bandwidth_file = 0;
6892 surfxml_link_bandwidth_file_isset = 0;
6893 AX_surfxml_link_latency = 24;
6894 surfxml_link_latency_isset = 0;
6895 AX_surfxml_link_latency_file = 0;
6896 surfxml_link_latency_file_isset = 0;
6897 AX_surfxml_link_state = A_surfxml_link_state_ON;
6898 surfxml_link_state_isset = 0;
6899 AX_surfxml_link_state_file = 0;
6900 surfxml_link_state_file_isset = 0;
6901 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
6902 surfxml_link_sharing_policy_isset = 0;
6903 ENTER(AL_surfxml_link); pushbuffer(0);
6908 /* rule 303 can match eol */
6910 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);
6913 /* rule 304 can match eol */
6915 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);
6918 /* rule 305 can match eol */
6920 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);
6923 /* rule 306 can match eol */
6925 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);
6928 /* rule 307 can match eol */
6930 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);
6933 /* rule 308 can match eol */
6935 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);
6938 /* rule 309 can match eol */
6940 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);
6943 /* rule 310 can match eol */
6945 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);
6948 /* rule 311 can match eol */
6950 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);
6953 /* rule 312 can match eol */
6955 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);
6958 /* rule 313 can match eol */
6960 /* rule 314 can match eol */
6962 A_surfxml_link_state = A_surfxml_link_state_ON;
6965 /* rule 315 can match eol */
6967 /* rule 316 can match eol */
6969 A_surfxml_link_state = A_surfxml_link_state_OFF;
6972 /* rule 317 can match eol */
6974 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);
6977 /* rule 318 can match eol */
6979 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);
6982 /* rule 319 can match eol */
6984 /* rule 320 can match eol */
6986 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
6989 /* rule 321 can match eol */
6991 /* rule 322 can match eol */
6993 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
6996 /* rule 323 can match eol */
6998 /* rule 324 can match eol */
7000 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
7005 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
7006 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
7007 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
7013 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
7014 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
7015 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
7017 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
7018 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
7024 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
7028 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
7030 case YY_STATE_EOF(AL_surfxml_link):
7031 FAIL("EOF in attribute list of `link' element.");
7035 /* rule 329 can match eol */
7039 ETag_surfxml_link();
7040 popbuffer(); /* attribute */
7042 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
7043 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
7048 /* rule 330 can match eol */
7050 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
7054 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
7056 case YY_STATE_EOF(E_surfxml_link):
7057 case YY_STATE_EOF(S_surfxml_link_2):
7058 case YY_STATE_EOF(S_surfxml_link):
7059 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link>' expected.");
7063 /* rule 332 can match eol */
7065 FAIL("Starting tag <route> is not allowed here.");
7068 /* rule 333 can match eol */
7071 AX_surfxml_route_src = 0;
7072 surfxml_route_src_isset = 0;
7073 AX_surfxml_route_dst = 0;
7074 surfxml_route_dst_isset = 0;
7075 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
7076 surfxml_route_symmetrical_isset = 0;
7077 ENTER(AL_surfxml_route); pushbuffer(0);
7082 /* rule 334 can match eol */
7084 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);
7087 /* rule 335 can match eol */
7089 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);
7092 /* rule 336 can match eol */
7094 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);
7097 /* rule 337 can match eol */
7099 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);
7102 /* rule 338 can match eol */
7104 /* rule 339 can match eol */
7106 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
7109 /* rule 340 can match eol */
7111 /* rule 341 can match eol */
7113 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
7118 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
7119 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
7120 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
7126 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
7127 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
7128 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
7130 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;
7136 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
7140 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
7142 case YY_STATE_EOF(AL_surfxml_route):
7143 FAIL("EOF in attribute list of `route' element.");
7147 /* rule 346 can match eol */
7151 ETag_surfxml_route();
7152 popbuffer(); /* attribute */
7154 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;
7159 /* rule 347 can match eol */
7161 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
7165 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
7167 case YY_STATE_EOF(S_surfxml_route):
7168 case YY_STATE_EOF(S_surfxml_route_2):
7169 case YY_STATE_EOF(E_surfxml_route):
7170 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</route>' expected.");
7174 /* rule 349 can match eol */
7176 FAIL("Starting tag <ASroute> is not allowed here.");
7179 /* rule 350 can match eol */
7182 AX_surfxml_ASroute_src = 0;
7183 surfxml_ASroute_src_isset = 0;
7184 AX_surfxml_ASroute_dst = 0;
7185 surfxml_ASroute_dst_isset = 0;
7186 AX_surfxml_ASroute_gw_src = 0;
7187 surfxml_ASroute_gw_src_isset = 0;
7188 AX_surfxml_ASroute_gw_dst = 0;
7189 surfxml_ASroute_gw_dst_isset = 0;
7190 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
7191 surfxml_ASroute_symmetrical_isset = 0;
7192 ENTER(AL_surfxml_ASroute); pushbuffer(0);
7197 /* rule 351 can match eol */
7199 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);
7202 /* rule 352 can match eol */
7204 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);
7207 /* rule 353 can match eol */
7209 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);
7212 /* rule 354 can match eol */
7214 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);
7217 /* rule 355 can match eol */
7219 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);
7222 /* rule 356 can match eol */
7224 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);
7227 /* rule 357 can match eol */
7229 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);
7232 /* rule 358 can match eol */
7234 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);
7237 /* rule 359 can match eol */
7239 /* rule 360 can match eol */
7241 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
7244 /* rule 361 can match eol */
7246 /* rule 362 can match eol */
7248 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
7253 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
7254 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
7255 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
7256 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
7257 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
7263 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
7264 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
7265 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
7266 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
7267 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
7269 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;
7275 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
7279 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
7281 case YY_STATE_EOF(AL_surfxml_ASroute):
7282 FAIL("EOF in attribute list of `ASroute' element.");
7286 /* rule 367 can match eol */
7290 ETag_surfxml_ASroute();
7291 popbuffer(); /* attribute */
7293 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;
7298 /* rule 368 can match eol */
7300 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
7304 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
7306 case YY_STATE_EOF(E_surfxml_ASroute):
7307 case YY_STATE_EOF(S_surfxml_ASroute):
7308 case YY_STATE_EOF(S_surfxml_ASroute_2):
7309 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</ASroute>' expected.");
7313 /* rule 370 can match eol */
7315 FAIL("Starting tag <link_ctn> is not allowed here.");
7318 /* rule 371 can match eol */
7321 AX_surfxml_link_ctn_id = 0;
7322 surfxml_link_ctn_id_isset = 0;
7323 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
7324 surfxml_link_ctn_direction_isset = 0;
7325 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
7330 /* rule 372 can match eol */
7332 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);
7335 /* rule 373 can match eol */
7337 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);
7340 /* rule 374 can match eol */
7342 /* rule 375 can match eol */
7344 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
7347 /* rule 376 can match eol */
7349 /* rule 377 can match eol */
7351 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
7354 /* rule 378 can match eol */
7356 /* rule 379 can match eol */
7358 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
7363 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7364 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
7370 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
7371 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
7373 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
7374 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7375 case S_surfxml_bypassASroute_2: case S_surfxml_bypassASroute_1: case S_surfxml_bypassASroute: SET(S_surfxml_bypassASroute_2); break;
7376 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7382 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
7386 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
7388 case YY_STATE_EOF(AL_surfxml_link_ctn):
7389 FAIL("EOF in attribute list of `link_ctn' element.");
7393 /* rule 384 can match eol */
7397 ETag_surfxml_link_ctn();
7398 popbuffer(); /* attribute */
7400 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
7401 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
7402 case S_surfxml_bypassASroute_2: case S_surfxml_bypassASroute_1: case S_surfxml_bypassASroute: SET(S_surfxml_bypassASroute_2); break;
7403 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
7408 /* rule 385 can match eol */
7410 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
7414 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
7416 case YY_STATE_EOF(E_surfxml_link_ctn):
7417 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link_ctn>' expected.");
7421 /* rule 387 can match eol */
7423 FAIL("Starting tag <bypassRoute> is not allowed here.");
7426 /* rule 388 can match eol */
7429 AX_surfxml_bypassRoute_src = 0;
7430 surfxml_bypassRoute_src_isset = 0;
7431 AX_surfxml_bypassRoute_dst = 0;
7432 surfxml_bypassRoute_dst_isset = 0;
7433 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
7438 /* rule 389 can match eol */
7440 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);
7443 /* rule 390 can match eol */
7445 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);
7448 /* rule 391 can match eol */
7450 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);
7453 /* rule 392 can match eol */
7455 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);
7460 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7461 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7462 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
7468 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
7469 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
7470 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
7472 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;
7478 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
7482 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
7484 case YY_STATE_EOF(AL_surfxml_bypassRoute):
7485 FAIL("EOF in attribute list of `bypassRoute' element.");
7489 /* rule 397 can match eol */
7493 ETag_surfxml_bypassRoute();
7494 popbuffer(); /* attribute */
7496 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;
7501 /* rule 398 can match eol */
7503 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
7507 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
7509 case YY_STATE_EOF(S_surfxml_bypassRoute):
7510 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
7511 case YY_STATE_EOF(E_surfxml_bypassRoute):
7512 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassRoute>' expected.");
7516 /* rule 400 can match eol */
7518 FAIL("Starting tag <bypassASroute> is not allowed here.");
7521 /* rule 401 can match eol */
7524 AX_surfxml_bypassASroute_src = 0;
7525 surfxml_bypassASroute_src_isset = 0;
7526 AX_surfxml_bypassASroute_dst = 0;
7527 surfxml_bypassASroute_dst_isset = 0;
7528 AX_surfxml_bypassASroute_gw_src = 0;
7529 surfxml_bypassASroute_gw_src_isset = 0;
7530 AX_surfxml_bypassASroute_gw_dst = 0;
7531 surfxml_bypassASroute_gw_dst_isset = 0;
7532 ENTER(AL_surfxml_bypassASroute); pushbuffer(0);
7537 /* rule 402 can match eol */
7539 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);
7542 /* rule 403 can match eol */
7544 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);
7547 /* rule 404 can match eol */
7549 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);
7552 /* rule 405 can match eol */
7554 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);
7557 /* rule 406 can match eol */
7559 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);
7562 /* rule 407 can match eol */
7564 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);
7567 /* rule 408 can match eol */
7569 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);
7572 /* rule 409 can match eol */
7574 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);
7579 if (!AX_surfxml_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
7580 if (!AX_surfxml_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
7581 if (!AX_surfxml_bypassASroute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
7582 if (!AX_surfxml_bypassASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
7583 LEAVE; STag_surfxml_bypassASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassASroute);
7589 if (!AX_surfxml_bypassASroute_src) FAIL("Required attribute `src' not set for `bypassASroute' element.");
7590 if (!AX_surfxml_bypassASroute_dst) FAIL("Required attribute `dst' not set for `bypassASroute' element.");
7591 if (!AX_surfxml_bypassASroute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassASroute' element.");
7592 if (!AX_surfxml_bypassASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
7593 LEAVE; STag_surfxml_bypassASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassASroute(); popbuffer(); /* attribute */
7595 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;
7601 FAIL("Unexpected character `%c' in attribute list of bypassASroute element.", surf_parse_text[0]);
7605 FAIL("Bad attribute `%s' in `bypassASroute' element start tag.",surf_parse_text);
7607 case YY_STATE_EOF(AL_surfxml_bypassASroute):
7608 FAIL("EOF in attribute list of `bypassASroute' element.");
7612 /* rule 414 can match eol */
7616 ETag_surfxml_bypassASroute();
7617 popbuffer(); /* attribute */
7619 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;
7624 /* rule 415 can match eol */
7626 FAIL("Unexpected end-tag `%s': `</bypassASroute>' expected.",surf_parse_text);
7630 FAIL("Unexpected character `%c': `</bypassASroute>' expected.",surf_parse_text[0]);
7632 case YY_STATE_EOF(S_surfxml_bypassASroute_2):
7633 case YY_STATE_EOF(E_surfxml_bypassASroute):
7634 case YY_STATE_EOF(S_surfxml_bypassASroute):
7635 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassASroute>' expected.");
7639 /* rule 417 can match eol */
7641 FAIL("Starting tag <process> is not allowed here.");
7644 /* rule 418 can match eol */
7647 AX_surfxml_process_host = 0;
7648 surfxml_process_host_isset = 0;
7649 AX_surfxml_process_function = 0;
7650 surfxml_process_function_isset = 0;
7651 AX_surfxml_process_start_time = 28;
7652 surfxml_process_start_time_isset = 0;
7653 AX_surfxml_process_kill_time = 33;
7654 surfxml_process_kill_time_isset = 0;
7655 ENTER(AL_surfxml_process); pushbuffer(0);
7660 /* rule 419 can match eol */
7662 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);
7665 /* rule 420 can match eol */
7667 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);
7670 /* rule 421 can match eol */
7672 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);
7675 /* rule 422 can match eol */
7677 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);
7680 /* rule 423 can match eol */
7682 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);
7685 /* rule 424 can match eol */
7687 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);
7690 /* rule 425 can match eol */
7692 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);
7695 /* rule 426 can match eol */
7697 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);
7702 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
7703 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
7704 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
7710 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
7711 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
7712 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
7714 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;
7720 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
7724 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
7726 case YY_STATE_EOF(AL_surfxml_process):
7727 FAIL("EOF in attribute list of `process' element.");
7731 /* rule 431 can match eol */
7735 ETag_surfxml_process();
7736 popbuffer(); /* attribute */
7738 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;
7743 /* rule 432 can match eol */
7745 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
7749 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
7751 case YY_STATE_EOF(E_surfxml_process):
7752 case YY_STATE_EOF(S_surfxml_process):
7753 case YY_STATE_EOF(S_surfxml_process_2):
7754 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</process>' expected.");
7758 /* rule 434 can match eol */
7760 FAIL("Starting tag <argument> is not allowed here.");
7763 /* rule 435 can match eol */
7766 AX_surfxml_argument_value = 0;
7767 surfxml_argument_value_isset = 0;
7768 ENTER(AL_surfxml_argument); pushbuffer(0);
7773 /* rule 436 can match eol */
7775 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);
7778 /* rule 437 can match eol */
7780 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);
7785 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7786 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
7792 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
7793 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
7795 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7801 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
7805 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
7807 case YY_STATE_EOF(AL_surfxml_argument):
7808 FAIL("EOF in attribute list of `argument' element.");
7812 /* rule 442 can match eol */
7816 ETag_surfxml_argument();
7817 popbuffer(); /* attribute */
7819 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7824 /* rule 443 can match eol */
7826 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
7830 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
7832 case YY_STATE_EOF(E_surfxml_argument):
7833 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</argument>' expected.");
7837 /* rule 445 can match eol */
7839 FAIL("Starting tag <config> is not allowed here.");
7842 /* rule 446 can match eol */
7845 AX_surfxml_config_id = 0;
7846 surfxml_config_id_isset = 0;
7847 ENTER(AL_surfxml_config); pushbuffer(0);
7852 /* rule 447 can match eol */
7854 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);
7857 /* rule 448 can match eol */
7859 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);
7864 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
7870 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
7872 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
7878 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
7882 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
7884 case YY_STATE_EOF(AL_surfxml_config):
7885 FAIL("EOF in attribute list of `config' element.");
7889 /* rule 453 can match eol */
7893 ETag_surfxml_config();
7894 popbuffer(); /* attribute */
7896 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
7901 /* rule 454 can match eol */
7903 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
7907 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
7909 case YY_STATE_EOF(S_surfxml_config):
7910 case YY_STATE_EOF(S_surfxml_config_2):
7911 case YY_STATE_EOF(E_surfxml_config):
7912 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</config>' expected.");
7915 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
7916 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
7918 /* rule 456 can match eol */
7920 FAIL("Starting tag <prop> is not allowed here.");
7923 /* rule 457 can match eol */
7926 AX_surfxml_prop_id = 0;
7927 surfxml_prop_id_isset = 0;
7928 AX_surfxml_prop_value = 0;
7929 surfxml_prop_value_isset = 0;
7930 ENTER(AL_surfxml_prop); pushbuffer(0);
7935 /* rule 458 can match eol */
7937 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);
7940 /* rule 459 can match eol */
7942 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);
7945 /* rule 460 can match eol */
7947 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);
7950 /* rule 461 can match eol */
7952 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);
7957 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
7958 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
7959 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
7965 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
7966 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
7967 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
7969 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
7970 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
7971 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
7972 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
7973 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
7974 case S_surfxml_storage_type_2: case S_surfxml_storage_type: case S_surfxml_storage_type_1: SET(S_surfxml_storage_type_2); break;
7975 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
7981 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
7985 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
7987 case YY_STATE_EOF(AL_surfxml_prop):
7988 FAIL("EOF in attribute list of `prop' element.");
7992 /* rule 466 can match eol */
7996 ETag_surfxml_prop();
7997 popbuffer(); /* attribute */
7999 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
8000 case S_surfxml_storage_1: case S_surfxml_storage_2: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
8001 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
8002 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
8003 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
8004 case S_surfxml_storage_type_2: case S_surfxml_storage_type: case S_surfxml_storage_type_1: SET(S_surfxml_storage_type_2); break;
8005 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
8010 /* rule 467 can match eol */
8012 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
8016 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
8018 case YY_STATE_EOF(E_surfxml_prop):
8019 if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</prop>' expected.");
8022 /* EPILOG: after the root element. */
8026 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
8028 case YY_STATE_EOF(EPILOG):
8032 /* CHARACTER DATA. */
8034 /* Non-defined standard entities... */
8055 /* Character entities. */
8058 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
8062 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
8066 /* rule 477 can match eol */
8068 /* rule 478 can match eol */
8070 /* rule 479 can match eol */
8072 /* rule 480 can match eol */
8083 FAIL("Unexpected `]""]>' in character data.");
8090 case YY_STATE_EOF(VALUE1):
8091 FAIL("EOF in literal (\"'\" expected).");
8098 case YY_STATE_EOF(VALUE2):
8099 FAIL("EOF in literal (`\"' expected).");
8103 /* rule 485 can match eol */
8105 BUFFERPUTC(surf_parse_text[0]);
8109 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
8116 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
8119 BUFFERPUTC(surf_parse_text[0]);
8121 case YY_STATE_EOF(CDATA):
8122 FAIL("EOF in CDATA section.");
8125 /* Impossible rules to avoid warnings from flex(1). */
8126 /* Ideally, this should be replaced by code in flexml.pl that
8127 generates just the states not covered by other rules. */
8130 /* rule 489 can match eol */
8132 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
8139 case YY_STATE_EOF(INITIAL):
8140 case YY_STATE_EOF(ROOT_surfxml_platform):
8141 case YY_STATE_EOF(S_surfxml_platform_2):
8142 case YY_STATE_EOF(S_surfxml_platform_5):
8143 case YY_STATE_EOF(S_surfxml_platform_7):
8144 case YY_STATE_EOF(S_surfxml_include_1):
8145 case YY_STATE_EOF(S_surfxml_random_1):
8146 case YY_STATE_EOF(S_surfxml_AS_2):
8147 case YY_STATE_EOF(S_surfxml_AS_5):
8148 case YY_STATE_EOF(S_surfxml_AS_7):
8149 case YY_STATE_EOF(S_surfxml_AS_10):
8150 case YY_STATE_EOF(S_surfxml_AS_12):
8151 case YY_STATE_EOF(S_surfxml_storage_type_1):
8152 case YY_STATE_EOF(S_surfxml_storage_1):
8153 case YY_STATE_EOF(S_surfxml_host_1):
8154 case YY_STATE_EOF(S_surfxml_link_1):
8155 case YY_STATE_EOF(S_surfxml_route_1):
8156 case YY_STATE_EOF(S_surfxml_ASroute_1):
8157 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
8158 case YY_STATE_EOF(S_surfxml_bypassASroute_1):
8159 case YY_STATE_EOF(S_surfxml_process_1):
8160 case YY_STATE_EOF(S_surfxml_config_1):
8161 case YY_STATE_EOF(IMPOSSIBLE):
8164 case YY_END_OF_BUFFER:
8166 /* Amount of text matched not including the EOB char. */
8167 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
8169 /* Undo the effects of YY_DO_BEFORE_ACTION. */
8170 *yy_cp = (yy_hold_char);
8171 YY_RESTORE_YY_MORE_OFFSET
8173 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
8175 /* We're scanning a new file or input source. It's
8176 * possible that this happened because the user
8177 * just pointed surf_parse_in at a new source and called
8178 * surf_parse_lex(). If so, then we have to assure
8179 * consistency between YY_CURRENT_BUFFER and our
8180 * globals. Here is the right place to do so, because
8181 * this is the first action (other than possibly a
8182 * back-up) that will match for the new input source.
8184 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
8185 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
8186 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
8189 /* Note that here we test for yy_c_buf_p "<=" to the position
8190 * of the first EOB in the buffer, since yy_c_buf_p will
8191 * already have been incremented past the NUL character
8192 * (since all states make transitions on EOB to the
8193 * end-of-buffer state). Contrast this with the test
8196 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
8197 { /* This was really a NUL. */
8198 yy_state_type yy_next_state;
8200 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
8202 yy_current_state = yy_get_previous_state( );
8204 /* Okay, we're now positioned to make the NUL
8205 * transition. We couldn't have
8206 * yy_get_previous_state() go ahead and do it
8207 * for us because it doesn't know how to deal
8208 * with the possibility of jamming (and we don't
8209 * want to build jamming into it because then it
8210 * will run more slowly).
8213 yy_next_state = yy_try_NUL_trans( yy_current_state );
8215 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
8217 if ( yy_next_state )
8219 /* Consume the NUL. */
8220 yy_cp = ++(yy_c_buf_p);
8221 yy_current_state = yy_next_state;
8227 yy_cp = (yy_c_buf_p);
8228 goto yy_find_action;
8232 else switch ( yy_get_next_buffer( ) )
8234 case EOB_ACT_END_OF_FILE:
8236 (yy_did_buffer_switch_on_eof) = 0;
8238 if ( surf_parse_wrap( ) )
8240 /* Note: because we've taken care in
8241 * yy_get_next_buffer() to have set up
8242 * surf_parse_text, we can now set up
8243 * yy_c_buf_p so that if some total
8244 * hoser (like flex itself) wants to
8245 * call the scanner after we return the
8246 * YY_NULL, it'll still work - another
8247 * YY_NULL will get returned.
8249 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
8251 yy_act = YY_STATE_EOF(YY_START);
8257 if ( ! (yy_did_buffer_switch_on_eof) )
8263 case EOB_ACT_CONTINUE_SCAN:
8265 (yytext_ptr) + yy_amount_of_matched_text;
8267 yy_current_state = yy_get_previous_state( );
8269 yy_cp = (yy_c_buf_p);
8270 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
8273 case EOB_ACT_LAST_MATCH:
8275 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
8277 yy_current_state = yy_get_previous_state( );
8279 yy_cp = (yy_c_buf_p);
8280 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
8281 goto yy_find_action;
8288 "fatal flex scanner internal error--no action found" );
8289 } /* end of action switch */
8290 } /* end of scanning one token */
8291 } /* end of surf_parse_lex */
8293 /* yy_get_next_buffer - try to read in a new buffer
8295 * Returns a code representing an action:
8296 * EOB_ACT_LAST_MATCH -
8297 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
8298 * EOB_ACT_END_OF_FILE - end of file
8300 static int yy_get_next_buffer (void)
8302 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
8303 register char *source = (yytext_ptr);
8304 register int number_to_move, i;
8307 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
8309 "fatal flex scanner internal error--end of buffer missed" );
8311 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
8312 { /* Don't try to fill the buffer, so this is an EOF. */
8313 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
8315 /* We matched a single character, the EOB, so
8316 * treat this as a final EOF.
8318 return EOB_ACT_END_OF_FILE;
8323 /* We matched some text prior to the EOB, first
8326 return EOB_ACT_LAST_MATCH;
8330 /* Try to read more data. */
8332 /* First move last chars to start of buffer. */
8333 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
8335 for ( i = 0; i < number_to_move; ++i )
8336 *(dest++) = *(source++);
8338 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
8339 /* don't do the read, it's not guaranteed to return an EOF,
8342 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
8347 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
8349 while ( num_to_read <= 0 )
8350 { /* Not enough room in the buffer - grow it. */
8352 /* just a shorter name for the current buffer */
8353 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
8355 int yy_c_buf_p_offset =
8356 (int) ((yy_c_buf_p) - b->yy_ch_buf);
8358 if ( b->yy_is_our_buffer )
8360 int new_size = b->yy_buf_size * 2;
8362 if ( new_size <= 0 )
8363 b->yy_buf_size += b->yy_buf_size / 8;
8365 b->yy_buf_size *= 2;
8367 b->yy_ch_buf = (char *)
8368 /* Include room in for 2 EOB chars. */
8369 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
8372 /* Can't grow it, we don't own it. */
8375 if ( ! b->yy_ch_buf )
8377 "fatal error - scanner input buffer overflow" );
8379 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
8381 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
8386 if ( num_to_read > YY_READ_BUF_SIZE )
8387 num_to_read = YY_READ_BUF_SIZE;
8389 /* Read in more data. */
8390 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
8391 (yy_n_chars), (size_t) num_to_read );
8393 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8396 if ( (yy_n_chars) == 0 )
8398 if ( number_to_move == YY_MORE_ADJ )
8400 ret_val = EOB_ACT_END_OF_FILE;
8401 surf_parse_restart(surf_parse_in );
8406 ret_val = EOB_ACT_LAST_MATCH;
8407 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
8408 YY_BUFFER_EOF_PENDING;
8413 ret_val = EOB_ACT_CONTINUE_SCAN;
8415 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
8416 /* Extend the array by 50%, plus the number we really need. */
8417 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
8418 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
8419 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
8420 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
8423 (yy_n_chars) += number_to_move;
8424 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
8425 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
8427 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
8432 /* yy_get_previous_state - get the state just before the EOB char was reached */
8434 static yy_state_type yy_get_previous_state (void)
8436 register yy_state_type yy_current_state;
8437 register char *yy_cp;
8439 yy_current_state = (yy_start);
8441 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
8443 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
8444 if ( yy_accept[yy_current_state] )
8446 (yy_last_accepting_state) = yy_current_state;
8447 (yy_last_accepting_cpos) = yy_cp;
8449 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
8451 yy_current_state = (int) yy_def[yy_current_state];
8452 if ( yy_current_state >= 2921 )
8453 yy_c = yy_meta[(unsigned int) yy_c];
8455 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
8458 return yy_current_state;
8461 /* yy_try_NUL_trans - try to make a transition on the NUL character
8464 * next_state = yy_try_NUL_trans( current_state );
8466 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
8468 register int yy_is_jam;
8469 register char *yy_cp = (yy_c_buf_p);
8471 register YY_CHAR yy_c = 1;
8472 if ( yy_accept[yy_current_state] )
8474 (yy_last_accepting_state) = yy_current_state;
8475 (yy_last_accepting_cpos) = yy_cp;
8477 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
8479 yy_current_state = (int) yy_def[yy_current_state];
8480 if ( yy_current_state >= 2921 )
8481 yy_c = yy_meta[(unsigned int) yy_c];
8483 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
8484 yy_is_jam = (yy_current_state == 2920);
8486 return yy_is_jam ? 0 : yy_current_state;
8491 static int yyinput (void)
8493 static int input (void)
8499 *(yy_c_buf_p) = (yy_hold_char);
8501 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
8503 /* yy_c_buf_p now points to the character we want to return.
8504 * If this occurs *before* the EOB characters, then it's a
8505 * valid NUL; if not, then we've hit the end of the buffer.
8507 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
8508 /* This was really a NUL. */
8509 *(yy_c_buf_p) = '\0';
8512 { /* need more input */
8513 int offset = (yy_c_buf_p) - (yytext_ptr);
8516 switch ( yy_get_next_buffer( ) )
8518 case EOB_ACT_LAST_MATCH:
8519 /* This happens because yy_g_n_b()
8520 * sees that we've accumulated a
8521 * token and flags that we need to
8522 * try matching the token before
8523 * proceeding. But for input(),
8524 * there's no matching to consider.
8525 * So convert the EOB_ACT_LAST_MATCH
8526 * to EOB_ACT_END_OF_FILE.
8529 /* Reset buffer status. */
8530 surf_parse_restart(surf_parse_in );
8534 case EOB_ACT_END_OF_FILE:
8536 if ( surf_parse_wrap( ) )
8539 if ( ! (yy_did_buffer_switch_on_eof) )
8548 case EOB_ACT_CONTINUE_SCAN:
8549 (yy_c_buf_p) = (yytext_ptr) + offset;
8555 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
8556 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
8557 (yy_hold_char) = *++(yy_c_buf_p);
8561 surf_parse_lineno++;
8566 #endif /* ifndef YY_NO_INPUT */
8568 /** Immediately switch to a different input stream.
8569 * @param input_file A readable stream.
8571 * @note This function does not reset the start condition to @c INITIAL .
8573 void surf_parse_restart (FILE * input_file )
8576 if ( ! YY_CURRENT_BUFFER ){
8577 surf_parse_ensure_buffer_stack ();
8578 YY_CURRENT_BUFFER_LVALUE =
8579 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
8582 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
8583 surf_parse__load_buffer_state( );
8586 /** Switch to a different input buffer.
8587 * @param new_buffer The new input buffer.
8590 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
8593 /* TODO. We should be able to replace this entire function body
8595 * surf_parse_pop_buffer_state();
8596 * surf_parse_push_buffer_state(new_buffer);
8598 surf_parse_ensure_buffer_stack ();
8599 if ( YY_CURRENT_BUFFER == new_buffer )
8602 if ( YY_CURRENT_BUFFER )
8604 /* Flush out information for old buffer. */
8605 *(yy_c_buf_p) = (yy_hold_char);
8606 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
8607 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8610 YY_CURRENT_BUFFER_LVALUE = new_buffer;
8611 surf_parse__load_buffer_state( );
8613 /* We don't actually know whether we did this switch during
8614 * EOF (surf_parse_wrap()) processing, but the only time this flag
8615 * is looked at is after surf_parse_wrap() is called, so it's safe
8616 * to go ahead and always set it.
8618 (yy_did_buffer_switch_on_eof) = 1;
8621 static void surf_parse__load_buffer_state (void)
8623 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
8624 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
8625 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
8626 (yy_hold_char) = *(yy_c_buf_p);
8629 /** Allocate and initialize an input buffer state.
8630 * @param file A readable stream.
8631 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
8633 * @return the allocated buffer state.
8635 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
8639 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
8641 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
8643 b->yy_buf_size = size;
8645 /* yy_ch_buf has to be 2 characters longer than the size given because
8646 * we need to put in 2 end-of-buffer characters.
8648 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
8649 if ( ! b->yy_ch_buf )
8650 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
8652 b->yy_is_our_buffer = 1;
8654 surf_parse__init_buffer(b,file );
8659 /** Destroy the buffer.
8660 * @param b a buffer created with surf_parse__create_buffer()
8663 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
8669 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
8670 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
8672 if ( b->yy_is_our_buffer )
8673 surf_parse_free((void *) b->yy_ch_buf );
8675 surf_parse_free((void *) b );
8679 extern int isatty (int );
8680 #endif /* __cplusplus */
8682 /* Initializes or reinitializes a buffer.
8683 * This function is sometimes called more than once on the same buffer,
8684 * such as during a surf_parse_restart() or at EOF.
8686 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
8691 surf_parse__flush_buffer(b );
8693 b->yy_input_file = file;
8694 b->yy_fill_buffer = 1;
8696 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
8697 * called from surf_parse_restart() or through yy_get_next_buffer.
8698 * In that case, we don't want to reset the lineno or column.
8700 if (b != YY_CURRENT_BUFFER){
8701 b->yy_bs_lineno = 1;
8702 b->yy_bs_column = 0;
8705 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
8710 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
8711 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
8714 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
8721 /* We always need two end-of-buffer characters. The first causes
8722 * a transition to the end-of-buffer state. The second causes
8723 * a jam in that state.
8725 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
8726 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
8728 b->yy_buf_pos = &b->yy_ch_buf[0];
8731 b->yy_buffer_status = YY_BUFFER_NEW;
8733 if ( b == YY_CURRENT_BUFFER )
8734 surf_parse__load_buffer_state( );
8737 /** Pushes the new state onto the stack. The new state becomes
8738 * the current state. This function will allocate the stack
8740 * @param new_buffer The new state.
8743 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
8745 if (new_buffer == NULL)
8748 surf_parse_ensure_buffer_stack();
8750 /* This block is copied from surf_parse__switch_to_buffer. */
8751 if ( YY_CURRENT_BUFFER )
8753 /* Flush out information for old buffer. */
8754 *(yy_c_buf_p) = (yy_hold_char);
8755 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
8756 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
8759 /* Only push if top exists. Otherwise, replace top. */
8760 if (YY_CURRENT_BUFFER)
8761 (yy_buffer_stack_top)++;
8762 YY_CURRENT_BUFFER_LVALUE = new_buffer;
8764 /* copied from surf_parse__switch_to_buffer. */
8765 surf_parse__load_buffer_state( );
8766 (yy_did_buffer_switch_on_eof) = 1;
8769 /** Removes and deletes the top of the stack, if present.
8770 * The next element becomes the new top.
8773 void surf_parse_pop_buffer_state (void)
8775 if (!YY_CURRENT_BUFFER)
8778 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
8779 YY_CURRENT_BUFFER_LVALUE = NULL;
8780 if ((yy_buffer_stack_top) > 0)
8781 --(yy_buffer_stack_top);
8783 if (YY_CURRENT_BUFFER) {
8784 surf_parse__load_buffer_state( );
8785 (yy_did_buffer_switch_on_eof) = 1;
8789 /* Allocates the stack if it does not exist.
8790 * Guarantees space for at least one push.
8792 static void surf_parse_ensure_buffer_stack (void)
8796 if (!(yy_buffer_stack)) {
8798 /* First allocation is just for 2 elements, since we don't know if this
8799 * scanner will even need a stack. We use 2 instead of 1 to avoid an
8800 * immediate realloc on the next call.
8803 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
8804 (num_to_alloc * sizeof(struct yy_buffer_state*)
8806 if ( ! (yy_buffer_stack) )
8807 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
8809 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
8811 (yy_buffer_stack_max) = num_to_alloc;
8812 (yy_buffer_stack_top) = 0;
8816 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
8818 /* Increase the buffer to prepare for a possible push. */
8819 int grow_size = 8 /* arbitrary grow size */;
8821 num_to_alloc = (yy_buffer_stack_max) + grow_size;
8822 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
8824 num_to_alloc * sizeof(struct yy_buffer_state*)
8826 if ( ! (yy_buffer_stack) )
8827 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
8829 /* zero only the new slots.*/
8830 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
8831 (yy_buffer_stack_max) = num_to_alloc;
8835 /** Setup the input buffer state to scan directly from a user-specified character buffer.
8836 * @param base the character buffer
8837 * @param size the size in bytes of the character buffer
8839 * @return the newly allocated buffer state object.
8841 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
8846 base[size-2] != YY_END_OF_BUFFER_CHAR ||
8847 base[size-1] != YY_END_OF_BUFFER_CHAR )
8848 /* They forgot to leave room for the EOB's. */
8851 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
8853 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
8855 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
8856 b->yy_buf_pos = b->yy_ch_buf = base;
8857 b->yy_is_our_buffer = 0;
8858 b->yy_input_file = 0;
8859 b->yy_n_chars = b->yy_buf_size;
8860 b->yy_is_interactive = 0;
8862 b->yy_fill_buffer = 0;
8863 b->yy_buffer_status = YY_BUFFER_NEW;
8865 surf_parse__switch_to_buffer(b );
8870 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
8871 * scan from a @e copy of @a str.
8872 * @param yystr a NUL-terminated string to scan
8874 * @return the newly allocated buffer state object.
8875 * @note If you want to scan bytes that may contain NUL values, then use
8876 * surf_parse__scan_bytes() instead.
8878 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
8881 return surf_parse__scan_bytes(yystr,strlen(yystr) );
8884 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
8885 * scan from a @e copy of @a bytes.
8886 * @param yybytes the byte buffer to scan
8887 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
8889 * @return the newly allocated buffer state object.
8891 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
8898 /* Get memory for full buffer, including space for trailing EOB's. */
8899 n = _yybytes_len + 2;
8900 buf = (char *) surf_parse_alloc(n );
8902 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
8904 for ( i = 0; i < _yybytes_len; ++i )
8905 buf[i] = yybytes[i];
8907 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
8909 b = surf_parse__scan_buffer(buf,n );
8911 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
8913 /* It's okay to grow etc. this buffer, and we should throw it
8914 * away when we're done.
8916 b->yy_is_our_buffer = 1;
8921 static void yy_push_state (int new_state )
8923 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
8927 (yy_start_stack_depth) += YY_START_STACK_INCR;
8928 new_size = (yy_start_stack_depth) * sizeof( int );
8930 if ( ! (yy_start_stack) )
8931 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
8934 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
8936 if ( ! (yy_start_stack) )
8937 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
8940 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
8945 static void yy_pop_state (void)
8947 if ( --(yy_start_stack_ptr) < 0 )
8948 YY_FATAL_ERROR( "start-condition stack underflow" );
8950 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
8953 #ifndef YY_EXIT_FAILURE
8954 #define YY_EXIT_FAILURE 2
8957 static void yy_fatal_error (yyconst char* msg )
8959 (void) fprintf( stderr, "%s\n", msg );
8960 exit( YY_EXIT_FAILURE );
8963 /* Redefine yyless() so it works in section 3 code. */
8969 /* Undo effects of setting up surf_parse_text. */ \
8970 int yyless_macro_arg = (n); \
8971 YY_LESS_LINENO(yyless_macro_arg);\
8972 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
8973 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
8974 (yy_hold_char) = *(yy_c_buf_p); \
8975 *(yy_c_buf_p) = '\0'; \
8976 surf_parse_leng = yyless_macro_arg; \
8980 /* Accessor methods (get/set functions) to struct members. */
8982 /** Get the current line number.
8985 int surf_parse_get_lineno (void)
8988 return surf_parse_lineno;
8991 /** Get the input stream.
8994 FILE *surf_parse_get_in (void)
8996 return surf_parse_in;
8999 /** Get the output stream.
9002 FILE *surf_parse_get_out (void)
9004 return surf_parse_out;
9007 /** Get the length of the current token.
9010 int surf_parse_get_leng (void)
9012 return surf_parse_leng;
9015 /** Get the current token.
9019 char *surf_parse_get_text (void)
9021 return surf_parse_text;
9024 /** Set the current line number.
9025 * @param line_number
9028 void surf_parse_set_lineno (int line_number )
9031 surf_parse_lineno = line_number;
9034 /** Set the input stream. This does not discard the current
9036 * @param in_str A readable stream.
9038 * @see surf_parse__switch_to_buffer
9040 void surf_parse_set_in (FILE * in_str )
9042 surf_parse_in = in_str ;
9045 void surf_parse_set_out (FILE * out_str )
9047 surf_parse_out = out_str ;
9050 int surf_parse_get_debug (void)
9052 return surf_parse__flex_debug;
9055 void surf_parse_set_debug (int bdebug )
9057 surf_parse__flex_debug = bdebug ;
9060 static int yy_init_globals (void)
9062 /* Initialization is the same as for the non-reentrant scanner.
9063 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
9066 /* We do not touch surf_parse_lineno unless the option is enabled. */
9067 surf_parse_lineno = 1;
9069 (yy_buffer_stack) = 0;
9070 (yy_buffer_stack_top) = 0;
9071 (yy_buffer_stack_max) = 0;
9072 (yy_c_buf_p) = (char *) 0;
9076 (yy_start_stack_ptr) = 0;
9077 (yy_start_stack_depth) = 0;
9078 (yy_start_stack) = NULL;
9080 /* Defined in main.c */
9082 surf_parse_in = stdin;
9083 surf_parse_out = stdout;
9085 surf_parse_in = (FILE *) 0;
9086 surf_parse_out = (FILE *) 0;
9089 /* For future reference: Set errno on error, since we are called by
9090 * surf_parse_lex_init()
9095 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
9096 int surf_parse_lex_destroy (void)
9099 /* Pop the buffer stack, destroying each element. */
9100 while(YY_CURRENT_BUFFER){
9101 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
9102 YY_CURRENT_BUFFER_LVALUE = NULL;
9103 surf_parse_pop_buffer_state();
9106 /* Destroy the stack itself. */
9107 surf_parse_free((yy_buffer_stack) );
9108 (yy_buffer_stack) = NULL;
9110 /* Destroy the start condition stack. */
9111 surf_parse_free((yy_start_stack) );
9112 (yy_start_stack) = NULL;
9114 /* Reset the globals. This is important in a non-reentrant scanner so the next time
9115 * surf_parse_lex() is called, initialization will occur. */
9122 * Internal utility routines.
9126 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
9129 for ( i = 0; i < n; ++i )
9134 #ifdef YY_NEED_STRLEN
9135 static int yy_flex_strlen (yyconst char * s )
9138 for ( n = 0; s[n]; ++n )
9145 void *surf_parse_alloc (yy_size_t size )
9147 return (void *) malloc( size );
9150 void *surf_parse_realloc (void * ptr, yy_size_t size )
9152 /* The cast to (char *) in the following accommodates both
9153 * implementations that use char* generic pointers, and those
9154 * that use void* generic pointers. It works with the latter
9155 * because both ANSI C and C++ allow castless assignment from
9156 * any pointer type to void*, and deal with argument conversions
9157 * as though doing an assignment.
9159 return (void *) realloc( (char *) ptr, size );
9162 void surf_parse_free (void * ptr )
9164 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
9167 #define YYTABLES_NAME "yytables"
9169 /* Element context stack lookup. */
9170 int surfxml_element_context(int i)
9172 return (0<i && i<yy_start_stack_depth
9173 ? yy_start_stack[yy_start_stack_ptr - i]
9178 void print_yy_stack(char* fmt, ...)
9180 int i = 0; va_list ap; va_start(ap, fmt);
9181 vfprintf(stderr, fmt, ap);
9182 if (surfxml_statenames) {
9183 for (i=1; i<yy_start_stack_ptr; i++) {
9184 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
9186 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
9191 void print_surfxml_bufferstack()
9194 fputs("Buffer: ", stderr);
9195 for (i = 0; i < blimit; i++) {
9196 if ( surfxml_bufferstack[i] == '\377' ) break;
9197 putc(surfxml_bufferstack[i], stderr);
9202 static void debug_enter(int state, const char* statename) {
9203 yy_push_state(state);
9204 if (surf_parse__flex_debug) {
9205 print_yy_stack("--ENTER(%s) : ",statename);
9206 print_surfxml_bufferstack();
9210 static void debug_leave(void) {
9211 if (surf_parse__flex_debug) {
9212 print_yy_stack("--LEAVE : ");
9213 print_surfxml_bufferstack();
9218 static void debug_set(int state, const char* statename) {
9220 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
9224 static void cleanup(void)
9226 if (surfxml_statenames) {
9227 free(surfxml_statenames);
9228 surfxml_statenames = NULL;
9230 free(surfxml_bufferstack);
9231 surfxml_bufferstack = NULL;
9237 static int fail(const char* fmt, ...)
9239 int chars_left, used;
9240 va_list ap; va_start(ap, fmt);
9241 #ifdef FLEXML_yylineno
9242 used = sprintf(flexml_err_msg,
9243 "Invalid XML (XML input line %d, state %d): ",
9244 surf_parse_lineno, YY_START);
9246 used = sprintf(flexml_err_msg,
9247 "Invalid XML (state %d): ",
9250 chars_left = flexml_max_err_msg_size - used - 1;
9251 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
9254 #ifndef FLEXML_quiet_parser
9255 /* print directly to sdterr */
9256 fprintf(stderr, "%s\n", flexml_err_msg);
9257 flexml_err_msg[0] = '\0';