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 390
407 #define YY_END_OF_BUFFER 391
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[2371] =
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, 391, 389, 15, 10, 10, 15,
437 15, 369, 10, 369, 5, 6, 5, 8, 9, 8,
439 385, 377, 378, 386, 383, 386, 384, 388, 377, 378,
440 388, 389, 22, 10, 22, 22, 22, 20, 22, 26,
441 10, 26, 26, 26, 389, 389, 26, 37, 10, 37,
442 37, 37, 35, 37, 37, 37, 386, 385, 59, 10,
443 59, 59, 59, 57, 59, 59, 59, 59, 63, 10,
444 63, 389, 63, 82, 10, 82, 82, 82, 80, 82,
445 82, 82, 86, 10, 86, 97, 10, 97, 97, 97,
446 95, 97, 97, 97, 101, 10, 101, 101, 389, 101,
447 101, 389, 389, 101, 389, 101, 389, 101, 124, 10,
448 124, 124, 124, 122, 124, 124, 124, 124, 124, 128,
450 10, 128, 128, 167, 10, 167, 167, 167, 165, 167,
451 167, 167, 167, 167, 167, 167, 167, 171, 10, 171,
452 196, 10, 196, 196, 196, 194, 196, 196, 196, 196,
453 196, 196, 196, 200, 10, 200, 209, 10, 209, 209,
454 209, 207, 209, 209, 213, 10, 213, 240, 10, 240,
455 240, 240, 238, 240, 240, 240, 240, 244, 10, 244,
456 244, 257, 10, 257, 257, 257, 255, 257, 257, 261,
457 10, 261, 389, 261, 278, 10, 278, 278, 278, 276,
458 278, 278, 278, 282, 10, 282, 282, 295, 10, 295,
459 295, 295, 293, 295, 295, 299, 10, 299, 312, 10,
461 312, 312, 312, 310, 312, 312, 312, 316, 10, 316,
462 316, 329, 10, 329, 329, 329, 327, 329, 329, 329,
463 329, 333, 10, 333, 389, 333, 340, 10, 340, 340,
464 340, 338, 340, 344, 10, 344, 351, 10, 351, 351,
465 351, 349, 351, 355, 10, 355, 355, 355, 364, 10,
466 364, 364, 364, 362, 364, 364, 368, 10, 368, 10,
467 0, 2, 2, 0, 4, 7, 380, 379, 0, 0,
468 0, 0, 0, 0, 0, 21, 23, 23, 0, 0,
469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 0, 0, 0, 0, 36, 38, 38, 38, 38,
472 0, 0, 0, 58, 60, 60, 60, 60, 60, 60,
473 60, 0, 0, 81, 83, 83, 83, 83, 0, 96,
474 98, 98, 98, 98, 0, 0, 0, 0, 0, 0,
475 0, 0, 0, 123, 125, 125, 125, 125, 125, 125,
476 0, 166, 168, 168, 168, 168, 168, 168, 168, 168,
477 168, 168, 168, 168, 168, 0, 195, 197, 197, 197,
478 197, 197, 197, 197, 197, 197, 0, 208, 210, 210,
479 210, 0, 239, 241, 241, 241, 241, 241, 241, 0,
480 256, 258, 258, 258, 258, 0, 0, 277, 279, 279,
481 279, 279, 279, 0, 294, 296, 296, 296, 0, 311,
483 313, 313, 313, 313, 0, 328, 330, 330, 330, 330,
484 330, 0, 0, 339, 341, 341, 0, 350, 352, 352,
485 0, 0, 363, 365, 365, 365, 0, 0, 0, 0,
486 0, 3, 0, 0, 0, 0, 0, 0, 0, 387,
487 0, 23, 0, 0, 88, 0, 0, 0, 0, 0,
488 0, 0, 0, 0, 0, 0, 0, 0, 87, 0,
489 0, 0, 0, 38, 0, 0, 38, 0, 0, 0,
490 382, 60, 0, 0, 60, 60, 60, 60, 0, 0,
491 0, 83, 83, 83, 0, 0, 98, 0, 0, 98,
492 0, 0, 88, 0, 0, 0, 0, 87, 0, 0,
494 125, 125, 125, 0, 0, 125, 125, 0, 0, 168,
495 168, 0, 0, 168, 0, 0, 168, 168, 168, 168,
496 168, 168, 168, 0, 0, 197, 197, 197, 0, 0,
497 197, 197, 197, 197, 0, 0, 210, 0, 0, 0,
498 0, 241, 0, 0, 241, 241, 241, 0, 0, 258,
499 258, 258, 0, 0, 0, 279, 279, 279, 279, 0,
500 0, 296, 0, 0, 0, 0, 313, 313, 313, 0,
501 0, 330, 330, 330, 330, 0, 0, 0, 341, 0,
502 0, 0, 0, 0, 0, 0, 0, 0, 365, 0,
503 0, 0, 14, 1, 0, 0, 375, 0, 0, 0,
505 372, 371, 0, 0, 23, 0, 0, 25, 0, 88,
506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
507 0, 0, 0, 0, 87, 0, 0, 0, 0, 38,
508 0, 30, 29, 38, 0, 0, 0, 40, 0, 60,
509 0, 44, 43, 0, 0, 60, 0, 0, 60, 0,
510 0, 62, 0, 0, 83, 83, 83, 0, 0, 85,
511 0, 98, 0, 90, 89, 98, 0, 0, 100, 0,
512 0, 0, 0, 0, 0, 0, 0, 125, 125, 125,
513 0, 105, 104, 125, 125, 0, 0, 127, 0, 168,
514 168, 168, 168, 0, 144, 143, 168, 0, 132, 131,
516 0, 0, 168, 168, 168, 168, 168, 168, 0, 0,
517 170, 0, 197, 197, 197, 197, 0, 175, 174, 0,
518 0, 197, 197, 197, 0, 0, 199, 0, 210, 0,
519 204, 203, 0, 0, 212, 0, 241, 0, 217, 216,
520 241, 241, 241, 0, 0, 243, 0, 0, 0, 0,
521 0, 258, 0, 0, 260, 0, 0, 0, 0, 279,
522 279, 0, 0, 279, 0, 0, 281, 0, 296, 0,
523 286, 285, 0, 0, 298, 0, 0, 0, 313, 313,
524 0, 0, 0, 0, 315, 0, 330, 330, 330, 330,
525 0, 0, 332, 0, 0, 341, 0, 0, 343, 0,
527 0, 348, 347, 0, 0, 354, 0, 0, 0, 359,
528 358, 365, 0, 0, 367, 0, 0, 0, 376, 370,
529 0, 0, 0, 23, 0, 0, 0, 0, 0, 0,
530 102, 214, 173, 0, 0, 356, 0, 0, 0, 0,
531 0, 172, 0, 0, 0, 0, 38, 0, 0, 60,
532 0, 48, 47, 0, 0, 0, 46, 45, 60, 0,
533 357, 83, 0, 0, 83, 0, 98, 98, 0, 99,
534 0, 0, 103, 215, 0, 0, 0, 125, 125, 0,
535 0, 125, 125, 0, 168, 168, 168, 168, 0, 0,
536 0, 146, 145, 168, 168, 168, 168, 168, 168, 0,
538 197, 197, 197, 197, 0, 183, 182, 197, 197, 197,
539 0, 210, 0, 241, 241, 241, 241, 0, 0, 250,
540 249, 0, 248, 247, 258, 0, 214, 0, 267, 266,
541 279, 279, 0, 265, 264, 279, 0, 296, 0, 0,
542 305, 304, 313, 313, 0, 303, 302, 0, 330, 0,
543 0, 330, 330, 0, 0, 341, 0, 0, 0, 365,
544 0, 0, 0, 0, 12, 0, 373, 374, 0, 23,
545 0, 0, 0, 0, 0, 0, 102, 214, 0, 173,
546 0, 0, 356, 0, 245, 28, 0, 0, 172, 27,
547 0, 0, 32, 31, 38, 0, 0, 60, 0, 50,
549 49, 60, 0, 357, 83, 0, 0, 0, 0, 0,
550 0, 98, 98, 0, 0, 103, 215, 246, 246, 245,
551 125, 125, 0, 109, 108, 0, 0, 0, 0, 125,
552 0, 168, 0, 0, 168, 168, 0, 142, 141, 0,
553 0, 168, 168, 168, 168, 168, 0, 197, 0, 0,
554 197, 197, 0, 0, 197, 197, 0, 210, 0, 241,
555 241, 241, 0, 0, 241, 0, 258, 0, 0, 279,
556 279, 279, 0, 296, 0, 313, 313, 0, 330, 0,
557 320, 319, 330, 330, 0, 0, 0, 0, 0, 0,
558 0, 0, 0, 0, 0, 0, 0, 11, 0, 23,
560 0, 0, 0, 0, 0, 346, 0, 0, 0, 41,
561 245, 201, 28, 0, 345, 0, 27, 0, 0, 38,
562 0, 0, 60, 60, 0, 83, 0, 0, 0, 0,
563 0, 0, 0, 0, 0, 77, 76, 0, 98, 98,
564 0, 0, 246, 202, 125, 125, 0, 107, 106, 0,
565 0, 0, 125, 0, 126, 168, 0, 154, 153, 0,
566 0, 168, 0, 140, 139, 0, 0, 168, 168, 168,
567 0, 0, 0, 197, 0, 179, 178, 0, 0, 197,
568 0, 177, 176, 197, 197, 0, 198, 210, 0, 241,
569 241, 241, 0, 0, 0, 241, 0, 242, 258, 0,
571 0, 0, 0, 0, 0, 279, 0, 296, 0, 0,
572 0, 0, 0, 0, 330, 330, 330, 0, 0, 0,
573 337, 336, 0, 0, 42, 0, 361, 360, 0, 366,
574 0, 0, 0, 0, 0, 0, 0, 262, 0, 0,
575 130, 346, 0, 0, 318, 41, 201, 0, 345, 129,
576 0, 317, 38, 0, 0, 39, 60, 60, 0, 0,
577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
578 0, 0, 98, 0, 0, 263, 0, 202, 125, 125,
579 0, 0, 125, 168, 0, 156, 155, 168, 0, 134,
580 133, 0, 0, 168, 168, 0, 136, 135, 0, 197,
582 0, 181, 180, 197, 197, 197, 210, 0, 241, 0,
583 0, 241, 241, 0, 0, 241, 258, 0, 259, 0,
584 0, 271, 270, 0, 269, 268, 279, 0, 296, 0,
585 0, 309, 308, 0, 307, 306, 0, 330, 330, 330,
586 0, 0, 0, 0, 42, 0, 0, 0, 17, 0,
587 19, 18, 0, 262, 334, 0, 130, 283, 16, 318,
588 0, 129, 0, 317, 38, 381, 60, 60, 0, 61,
589 0, 79, 78, 0, 0, 0, 0, 0, 0, 0,
590 0, 0, 0, 0, 98, 0, 92, 91, 263, 0,
591 125, 125, 0, 0, 0, 0, 125, 168, 168, 0,
593 138, 137, 168, 168, 0, 197, 197, 197, 197, 210,
594 0, 211, 241, 0, 223, 222, 241, 241, 0, 0,
595 0, 0, 241, 258, 284, 279, 0, 296, 0, 0,
596 0, 0, 330, 330, 0, 335, 0, 0, 353, 0,
597 0, 0, 17, 0, 334, 0, 283, 16, 0, 0,
598 38, 0, 0, 60, 0, 0, 0, 0, 0, 0,
599 0, 0, 0, 0, 0, 98, 0, 125, 125, 0,
600 115, 0, 114, 125, 168, 168, 168, 168, 0, 169,
601 197, 197, 197, 197, 210, 0, 0, 241, 241, 241,
602 0, 227, 0, 226, 241, 258, 284, 279, 0, 280,
604 0, 0, 0, 0, 0, 322, 321, 0, 0, 330,
605 0, 331, 335, 0, 0, 0, 0, 0, 24, 0,
606 0, 0, 38, 0, 0, 0, 60, 0, 0, 0,
607 0, 0, 0, 0, 0, 0, 0, 0, 98, 0,
608 125, 125, 117, 116, 0, 0, 168, 168, 168, 0,
609 0, 197, 197, 197, 0, 0, 210, 0, 219, 218,
610 241, 241, 241, 229, 228, 0, 0, 258, 279, 0,
611 0, 0, 0, 297, 0, 0, 326, 325, 0, 0,
612 0, 342, 0, 0, 0, 300, 0, 0, 0, 0,
613 0, 0, 0, 0, 60, 0, 0, 0, 0, 69,
615 0, 0, 0, 0, 68, 0, 0, 0, 301, 125,
616 0, 0, 0, 119, 118, 168, 168, 168, 0, 164,
617 163, 197, 0, 0, 197, 0, 193, 192, 0, 0,
618 241, 241, 241, 0, 231, 230, 0, 0, 0, 0,
619 0, 0, 0, 0, 0, 0, 0, 0, 324, 323,
620 0, 0, 0, 300, 0, 0, 0, 34, 33, 0,
621 0, 0, 0, 60, 0, 0, 0, 0, 0, 0,
622 0, 0, 0, 0, 94, 93, 301, 0, 0, 125,
623 0, 121, 120, 168, 168, 168, 197, 0, 185, 184,
624 197, 0, 206, 205, 241, 0, 0, 241, 0, 0,
626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
627 0, 0, 0, 0, 0, 65, 64, 0, 0, 0,
628 0, 0, 0, 0, 0, 75, 0, 0, 0, 74,
629 0, 0, 0, 111, 110, 125, 168, 168, 168, 197,
630 197, 241, 0, 225, 224, 241, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 0, 288, 0, 0, 287,
632 0, 314, 0, 0, 0, 0, 0, 0, 65, 64,
633 0, 0, 0, 0, 0, 52, 51, 0, 0, 0,
634 0, 0, 0, 0, 125, 168, 168, 0, 0, 197,
635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
638 0, 0, 0, 0, 0, 56, 0, 55, 73, 0,
639 0, 72, 0, 0, 0, 84, 125, 168, 168, 0,
640 0, 0, 197, 0, 0, 0, 0, 221, 220, 0,
641 0, 0, 254, 0, 253, 0, 275, 0, 274, 0,
642 290, 292, 289, 291, 0, 0, 0, 12, 0, 12,
643 0, 0, 0, 67, 71, 66, 70, 125, 168, 168,
644 0, 0, 0, 0, 197, 0, 0, 0, 0, 0,
645 0, 0, 0, 252, 251, 273, 272, 0, 0, 0,
646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
650 54, 53, 0, 113, 112, 0, 162, 161, 0, 0,
651 0, 0, 0, 0, 0, 0, 0, 0, 191, 190,
652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
653 0, 11, 0, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0,
659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
661 0, 148, 0, 0, 147, 0, 187, 0, 186, 0,
662 0, 233, 0, 0, 232, 0, 0, 0, 0, 0,
663 152, 0, 151, 0, 0, 0, 235, 0, 234, 0,
664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
665 0, 0, 0, 158, 0, 157, 0, 0, 0, 0,
666 0, 0, 0, 0, 160, 159, 150, 149, 189, 188,
667 237, 236, 0, 0, 0, 0, 0, 0, 0, 0,
668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
676 0, 0, 0, 0, 0, 0, 0, 0, 13, 0
679 static yyconst flex_int32_t yy_ec[256] =
681 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
682 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
683 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
684 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
685 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
686 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
687 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
688 28, 29, 30, 28, 31, 32, 33, 34, 35, 36,
689 28, 37, 38, 39, 40, 41, 42, 43, 44, 28,
690 45, 1, 46, 1, 47, 1, 48, 49, 50, 51,
692 52, 53, 54, 55, 56, 28, 57, 58, 59, 60,
693 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
694 71, 28, 1, 1, 1, 1, 1, 1, 1, 1,
695 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
696 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
697 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
698 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
699 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
700 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
701 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
703 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
704 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
705 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
706 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
707 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
711 static yyconst flex_int32_t yy_meta[72] =
713 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
714 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
715 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
716 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
717 5, 5, 5, 5, 1, 1, 5, 9, 9, 9,
718 9, 9, 9, 5, 5, 5, 5, 5, 5, 5,
719 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
723 static yyconst flex_int16_t yy_base[2646] =
725 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
726 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
727 107, 175, 75, 78, 83, 127, 130, 133, 136, 139,
728 156, 195, 198, 201, 204, 207, 224, 227, 245, 307,
729 277, 284, 369, 434, 265, 268, 271, 275, 329, 332,
730 336, 339, 499, 565, 389, 392, 631, 695, 395, 398,
731 401, 454, 457, 460, 463, 466, 519, 522, 525, 528,
732 531, 585, 588, 591, 594, 597, 651, 654, 657, 660,
733 664, 715, 718, 721, 724, 728, 745, 750, 768, 833,
734 788, 791, 794, 797, 801, 853, 856, 859, 898, 0,
736 862, 866, 969, 0, 1039, 1042, 1060, 1116, 1080, 1083,
737 1172, 1237, 1086, 1089, 1093, 1136, 1139, 1142, 1145, 1149,
738 1302, 1367, 1192, 1195, 1198, 1201, 1204, 1257, 1260, 1263,
739 1432, 1497, 1266, 1269, 1322, 1325, 1328, 1331, 1334, 1387,
740 1562, 1618, 1390, 1393, 1674, 1739, 1396, 1399, 1452, 1455,
741 1458, 1461, 1464, 1517, 1804, 1869, 1520, 1523, 1526, 1529,
742 1582, 1585, 1588, 1591, 1934, 2002, 1594, 1638, 2070, 2126,
743 1641, 1644, 1647, 1650, 1694, 1697, 1700, 1703, 2182, 2250,
744 1706, 1759, 0, 0, 6455, 7683, 7683, 95, 100, 29,
745 41, 7683, 159, 51, 7683, 7683, 6444, 7683, 7683, 6428,
747 7683, 6443, 6443, 1716, 7683, 7683, 7683, 7683, 6436, 6436,
748 6387, 84, 7683, 162, 6412, 0, 150, 7683, 6379, 7683,
749 165, 2314, 6375, 1705, 94, 6412, 6356, 7683, 230, 6397,
750 0, 218, 7683, 6360, 6359, 6357, 343, 6357, 7683, 233,
751 6382, 0, 219, 7683, 6349, 6344, 248, 6328, 7683, 342,
752 88, 111, 179, 7683, 363, 6368, 0, 401, 7683, 6329,
753 6330, 6316, 7683, 427, 406, 7683, 483, 6359, 0, 403,
754 7683, 6312, 6321, 6310, 7683, 492, 1777, 1780, 6307, 28,
755 6342, 11, 272, 428, 549, 31, 6346, 83, 7683, 550,
756 6337, 0, 412, 7683, 6288, 6289, 6298, 6282, 6276, 7683,
758 555, 287, 294, 7683, 560, 6321, 0, 468, 7683, 6267,
759 169, 6273, 6277, 6279, 151, 6278, 354, 7683, 616, 609,
760 7683, 621, 6300, 0, 477, 7683, 6251, 6244, 6251, 6260,
761 6258, 6244, 296, 7683, 624, 668, 7683, 681, 6284, 0,
762 534, 7683, 6242, 6240, 7683, 688, 745, 7683, 758, 6270,
763 0, 665, 7683, 6241, 6235, 6237, 481, 7683, 818, 414,
764 479, 7683, 823, 6264, 0, 802, 7683, 6214, 297, 7683,
765 883, 676, 6266, 6219, 7683, 888, 6254, 0, 867, 7683,
766 6208, 6203, 673, 7683, 1045, 6255, 13, 7683, 1048, 6246,
767 0, 1094, 7683, 6209, 6211, 7683, 1051, 1215, 7683, 1110,
769 6241, 0, 1150, 7683, 6195, 6186, 6190, 7683, 1166, 6241,
770 635, 7683, 1221, 6230, 0, 1210, 7683, 6182, 6187, 6187,
771 6176, 7683, 1230, 617, 6229, 435, 7683, 1286, 6218, 0,
772 1271, 7683, 6189, 7683, 1294, 1339, 7683, 1297, 6216, 0,
773 1334, 7683, 6180, 7683, 1354, 1717, 6166, 108, 7683, 1359,
774 6209, 0, 1345, 7683, 6175, 6177, 7683, 1417, 1404, 1420,
775 251, 6154, 7683, 6209, 6198, 7683, 7683, 7683, 1414, 155,
776 6151, 6148, 6146, 6192, 6149, 7683, 0, 6142, 6143, 6164,
777 6137, 6129, 413, 6134, 6138, 1227, 695, 6129, 544, 6152,
778 613, 1417, 6125, 1482, 1497, 7683, 0, 6130, 1784, 6119,
780 505, 6116, 6161, 7683, 0, 6118, 1834, 6107, 6128, 6111,
781 6119, 6105, 1547, 7683, 0, 6114, 6105, 6116, 6093, 7683,
782 0, 6097, 1841, 6090, 6132, 6115, 6081, 6086, 6090, 1293,
783 6107, 1424, 1426, 7683, 0, 6094, 694, 1844, 6072, 6092,
784 6082, 7683, 0, 6088, 6088, 1889, 6066, 1892, 6063, 6059,
785 6073, 6073, 6075, 6070, 6064, 6066, 7683, 0, 6065, 6065,
786 6050, 1897, 6040, 6036, 6056, 6053, 6038, 7683, 0, 6038,
787 1900, 6030, 7683, 0, 6033, 1954, 6026, 6041, 6040, 6029,
788 7683, 0, 6016, 6023, 6013, 6007, 6010, 7683, 0, 5999,
789 6017, 6009, 5999, 6035, 7683, 0, 5988, 1957, 5993, 7683,
791 0, 5984, 5998, 5994, 5994, 7683, 0, 5978, 5972, 5978,
792 5983, 5968, 5965, 7683, 0, 5966, 5975, 7683, 0, 1962,
793 5972, 1432, 7683, 0, 1965, 5959, 5954, 5995, 6000, 262,
794 5950, 7683, 1475, 0, 5946, 5942, 5985, 5984, 5935, 7683,
795 5947, 5929, 1903, 1968, 1492, 5935, 5926, 5920, 5922, 5916,
796 5920, 5923, 5926, 5912, 5908, 5900, 5918, 5901, 1550, 5893,
797 5907, 5906, 5892, 5900, 2025, 1728, 5531, 5562, 2029, 2032,
798 7683, 5532, 2035, 1792, 2038, 5523, 2090, 5535, 2097, 2100,
799 5520, 5521, 5528, 5528, 2103, 2147, 5512, 2150, 1983, 5509,
800 2153, 2160, 1669, 5511, 5500, 5504, 5495, 1863, 5486, 5485,
802 5494, 5481, 5492, 2156, 1991, 5490, 5470, 2202, 2205, 5478,
803 1552, 2210, 2056, 5478, 2213, 2217, 2270, 5476, 5474, 5461,
804 5442, 5439, 5442, 2273, 2279, 5438, 1047, 5419, 2282, 2231,
805 2288, 5421, 5408, 5404, 2300, 2307, 5405, 2310, 2239, 2313,
806 2320, 5409, 2328, 2339, 5400, 5387, 5383, 2347, 2350, 2354,
807 2380, 2383, 2387, 2390, 5384, 2393, 2401, 2411, 2414, 2419,
808 2423, 5391, 2434, 2453, 2443, 2465, 2446, 2468, 2472, 2475,
809 2478, 5391, 5366, 5373, 5366, 2486, 2490, 5373, 5341, 2497,
810 2500, 2505, 2509, 2523, 2526, 5346, 2532, 2535, 5338, 2553,
811 2556, 5383, 7683, 7683, 518, 5340, 7683, 5380, 5378, 5321,
813 7683, 7683, 5319, 5315, 5313, 2559, 2563, 7683, 2566, 1555,
814 5307, 5294, 5312, 5292, 5302, 5284, 5292, 5283, 5273, 498,
815 5287, 5269, 5284, 5279, 1852, 5266, 5265, 5271, 767, 2578,
816 2586, 7683, 7683, 2596, 5294, 2599, 2602, 7683, 2605, 5254,
817 2624, 7683, 7683, 2632, 2635, 2643, 2646, 2652, 5265, 2609,
818 2664, 7683, 2667, 832, 5250, 2670, 5234, 2673, 2676, 7683,
819 2688, 5230, 2679, 7683, 7683, 5224, 2695, 2698, 7683, 2701,
820 5217, 5225, 5206, 5213, 5195, 5190, 5189, 5186, 5192, 2707,
821 2710, 7683, 7683, 5174, 5185, 2720, 2726, 7683, 2729, 5177,
822 5157, 5175, 5166, 2735, 7683, 7683, 2748, 2751, 7683, 7683,
824 2759, 2762, 5146, 5149, 5152, 5144, 5140, 5128, 2770, 2773,
825 7683, 2777, 5125, 5113, 5105, 5119, 2780, 7683, 7683, 2796,
826 2799, 5092, 5099, 5100, 2807, 2810, 7683, 2814, 5098, 2817,
827 7683, 7683, 2829, 2833, 7683, 2836, 5078, 2839, 7683, 7683,
828 5085, 5088, 5090, 2848, 2855, 7683, 2858, 2861, 2867, 2879,
829 2882, 5076, 2890, 2893, 7683, 2897, 5070, 2902, 2905, 5060,
830 5055, 2920, 2923, 5065, 2931, 2934, 7683, 2938, 5062, 2941,
831 7683, 7683, 2953, 2957, 7683, 2963, 2966, 2972, 5046, 5045,
832 2984, 2987, 2995, 3002, 7683, 3005, 5035, 3008, 5053, 5032,
833 3014, 3017, 7683, 3026, 5026, 5040, 3029, 3036, 7683, 3039,
835 3048, 7683, 7683, 3058, 3061, 7683, 3066, 5039, 3070, 7683,
836 7683, 5037, 3080, 3086, 7683, 3092, 745, 3095, 7683, 7683,
837 5070, 5064, 5026, 5013, 3099, 5006, 5012, 4997, 4995, 4999,
838 1926, 2064, 1929, 5001, 5000, 2110, 4979, 4986, 4985, 4979,
839 4964, 2174, 4970, 4969, 3105, 3119, 4960, 4988, 3127, 4952,
840 3130, 7683, 7683, 3138, 3142, 3152, 7683, 7683, 4947, 3160,
841 2276, 4929, 3164, 3167, 3182, 3185, 4932, 4918, 3188, 7683,
842 4910, 4910, 2614, 3191, 4915, 4908, 4906, 4909, 4899, 3194,
843 3200, 3212, 3215, 3219, 4899, 3222, 4878, 4890, 3225, 3243,
844 3251, 7683, 7683, 3261, 4861, 4882, 4868, 4866, 4840, 3264,
846 4861, 3267, 4841, 4843, 3270, 7683, 7683, 3279, 4834, 4845,
847 3285, 4835, 3288, 4833, 4825, 4813, 3291, 3298, 3310, 7683,
848 7683, 3318, 7683, 7683, 4806, 3328, 3331, 3337, 7683, 7683,
849 4804, 4815, 3354, 7683, 7683, 4798, 3348, 4796, 3362, 3367,
850 7683, 7683, 4791, 4806, 3377, 7683, 7683, 3385, 4798, 3388,
851 3393, 4777, 4795, 3408, 4781, 3411, 3414, 3418, 4778, 3421,
852 3433, 285, 4817, 3439, 7683, 4816, 7683, 7683, 4773, 4762,
853 3443, 4755, 4759, 4745, 4756, 4746, 3446, 3452, 4749, 3458,
854 4735, 4730, 3462, 4734, 3465, 3470, 4738, 4738, 3473, 3476,
855 4715, 3480, 7683, 7683, 4722, 4738, 3490, 4705, 3495, 7683,
857 7683, 4700, 3510, 3516, 4695, 3522, 1746, 1889, 3530, 3534,
858 3542, 4696, 4701, 4677, 4672, 3548, 3551, 3554, 3557, 3561,
859 4685, 4662, 3564, 7683, 7683, 3572, 3575, 3583, 3586, 4668,
860 3594, 4661, 3597, 3601, 3609, 4645, 3620, 7683, 7683, 3628,
861 3631, 3639, 4646, 4649, 4639, 3642, 3646, 4642, 3649, 3653,
862 3661, 4629, 3667, 3670, 4623, 4623, 3679, 4614, 3685, 4622,
863 4592, 4597, 3688, 3691, 4596, 3699, 4584, 3706, 4596, 3711,
864 3714, 3719, 3725, 4589, 3732, 3737, 3740, 3744, 4578, 3751,
865 7683, 7683, 4575, 4564, 3747, 4576, 3759, 3766, 3778, 3782,
866 4563, 3785, 3791, 3803, 1390, 1344, 715, 7683, 4555, 3808,
868 3811, 4558, 4545, 4565, 4509, 3814, 4501, 4476, 4469, 3817,
869 3822, 3826, 3830, 4462, 3837, 4440, 3840, 4452, 4432, 4444,
870 4458, 3843, 4418, 4416, 3846, 3849, 4431, 4417, 586, 4415,
871 4401, 4369, 780, 4366, 3852, 7683, 7683, 3867, 4341, 3871,
872 4336, 4339, 3874, 3877, 4319, 4279, 3880, 7683, 7683, 3889,
873 4276, 4244, 4199, 3897, 7683, 4186, 3900, 7683, 7683, 3908,
874 3916, 4180, 3926, 7683, 7683, 3934, 3937, 3945, 4173, 4100,
875 3948, 3952, 3966, 4082, 3969, 7683, 7683, 3977, 3981, 4089,
876 3989, 7683, 7683, 3996, 3984, 3997, 7683, 3990, 4000, 3923,
877 4003, 3869, 4006, 3822, 3768, 3655, 4021, 7683, 3648, 4024,
879 0, 4027, 4030, 4049, 4052, 32, 4045, 33, 4067, 4070,
880 4073, 4081, 4088, 4099, 184, 244, 281, 4102, 298, 4106,
881 7683, 7683, 4121, 4124, 4127, 4130, 7683, 7683, 4143, 7683,
882 847, 1082, 744, 300, 4146, 4149, 4157, 4166, 319, 351,
883 4172, 4177, 372, 522, 4180, 4183, 4186, 633, 4189, 4192,
884 650, 4195, 673, 766, 4198, 7683, 764, 783, 4202, 4205,
885 4208, 798, 811, 836, 842, 851, 862, 859, 1017, 1024,
886 1017, 4223, 1010, 4226, 4229, 4237, 1033, 4244, 1042, 1043,
887 1131, 1633, 1092, 1098, 4247, 7683, 7683, 1099, 4255, 7683,
888 7683, 4263, 4266, 1102, 1130, 4274, 7683, 7683, 4282, 1151,
890 4285, 7683, 7683, 1145, 1150, 1156, 1160, 4293, 1174, 4296,
891 4301, 1182, 1191, 1739, 1749, 1216, 1227, 4314, 7683, 1220,
892 4317, 7683, 7683, 4326, 7683, 7683, 1244, 4334, 1258, 4337,
893 4341, 7683, 7683, 4349, 7683, 7683, 4357, 4360, 1290, 1286,
894 4363, 1293, 4367, 4370, 4378, 4389, 1345, 1471, 4393, 4396,
895 7683, 7683, 4404, 4408, 4411, 1316, 4414, 4417, 4427, 4430,
896 1347, 4433, 1355, 4436, 1364, 7683, 4439, 1365, 4442, 7683,
897 4445, 7683, 7683, 1423, 1432, 1487, 1506, 1513, 1520, 1511,
898 1534, 1547, 1576, 4453, 1552, 4462, 7683, 7683, 4457, 1548,
899 1560, 1582, 1628, 1651, 1631, 1652, 1614, 1614, 1636, 4472,
901 7683, 7683, 1650, 1661, 4480, 1658, 1664, 1656, 1670, 1674,
902 4483, 7683, 4486, 4489, 7683, 7683, 1679, 1675, 1711, 1762,
903 1745, 1771, 1739, 1749, 4504, 1752, 4507, 4513, 4516, 4519,
904 4522, 4540, 4526, 1768, 4548, 4551, 4554, 4557, 7683, 4561,
905 1807, 1808, 4567, 4580, 4583, 1765, 4586, 4589, 1773, 1774,
906 1768, 4592, 4595, 1784, 1809, 1805, 1828, 1821, 1848, 1855,
907 1851, 1875, 1863, 1876, 4604, 1852, 1854, 1884, 1897, 1957,
908 7683, 1965, 7683, 4610, 1909, 1930, 1920, 4613, 4623, 7683,
909 1916, 1918, 1932, 4631, 1926, 4634, 4638, 1943, 1940, 1941,
910 1995, 7683, 2009, 7683, 4652, 1966, 4655, 1967, 4658, 7683,
912 4663, 4666, 4677, 4681, 4684, 7683, 7683, 4692, 4696, 4704,
913 4710, 7683, 4713, 4716, 2066, 2041, 2049, 4722, 7683, 1978,
914 1991, 1993, 4725, 4729, 2026, 2193, 1985, 2020, 2031, 2031,
915 2034, 2058, 2065, 2076, 2084, 2096, 2110, 4737, 4743, 2069,
916 2051, 4747, 7683, 7683, 4750, 4761, 2054, 2080, 2105, 4756,
917 4770, 2094, 4779, 2110, 4782, 4785, 4800, 4803, 7683, 7683,
918 2112, 2118, 2118, 7683, 7683, 4811, 4814, 4822, 4825, 4829,
919 2321, 2394, 4843, 7683, 4846, 4849, 7683, 7683, 4857, 4865,
920 4875, 7683, 2277, 2227, 2268, 4878, 2129, 2131, 4881, 4884,
921 2173, 2202, 2194, 2214, 2179, 2219, 2205, 2205, 2253, 7683,
923 2273, 2259, 2261, 2267, 7683, 4894, 4899, 4902, 4913, 4917,
924 4920, 4923, 4931, 7683, 7683, 2274, 2273, 2288, 4939, 7683,
925 7683, 2292, 4947, 4950, 2294, 4959, 7683, 7683, 4967, 4970,
926 2302, 4978, 2315, 4981, 7683, 7683, 4989, 4992, 5000, 5003,
927 2331, 2333, 2335, 2339, 2340, 2341, 5011, 5014, 7683, 7683,
928 2378, 2381, 5022, 5025, 2313, 2322, 5030, 7683, 7683, 2378,
929 2374, 2387, 2377, 5041, 2385, 2407, 2425, 2410, 2401, 2419,
930 2445, 2436, 5044, 5047, 7683, 7683, 5055, 5063, 5066, 2407,
931 5074, 7683, 7683, 2411, 2425, 2413, 2433, 5082, 7683, 7683,
932 2425, 5093, 7683, 7683, 2445, 5101, 5104, 2434, 5112, 2488,
934 2506, 5120, 2508, 2540, 2472, 2482, 2517, 2489, 2511, 2538,
935 5128, 2557, 5131, 5134, 5137, 5156, 5159, 2514, 2528, 2537,
936 2547, 5162, 5165, 2546, 2548, 7683, 2555, 2562, 2563, 7683,
937 2564, 5173, 5176, 7683, 7683, 2540, 2565, 2567, 5184, 2568,
938 5187, 5192, 5195, 7683, 7683, 5205, 2596, 2606, 2605, 2616,
939 2608, 2626, 2624, 2634, 2629, 2638, 7683, 2652, 2668, 7683,
940 5210, 7683, 2686, 5213, 5216, 5225, 5245, 5291, 5238, 5256,
941 2670, 2701, 2692, 2711, 5265, 7683, 7683, 2719, 2702, 2703,
942 2733, 2711, 2713, 5281, 2690, 2698, 2708, 5285, 5273, 2701,
943 5303, 5311, 5321, 5324, 5339, 5342, 2763, 2732, 2776, 2749,
945 2782, 2753, 2783, 2757, 2790, 2798, 2797, 2798, 2808, 5350,
946 2896, 2870, 5370, 5416, 2808, 7683, 2810, 7683, 7683, 2819,
947 2823, 7683, 2837, 2838, 5360, 7683, 2802, 2803, 2796, 5390,
948 2892, 2893, 2822, 5398, 2925, 2944, 5436, 7683, 7683, 5444,
949 2957, 2986, 7683, 2871, 7683, 2878, 7683, 2883, 7683, 2903,
950 7683, 7683, 7683, 7683, 2933, 2942, 2959, 2909, 3027, 2919,
951 5363, 2931, 2934, 7683, 7683, 7683, 7683, 5407, 5410, 5452,
952 3004, 2943, 3013, 2965, 5455, 2960, 2972, 2974, 3016, 3026,
953 3026, 3070, 3029, 7683, 7683, 7683, 7683, 5461, 3065, 3054,
954 3068, 5464, 3074, 3076, 5473, 5476, 5484, 5487, 5495, 5498,
956 3052, 3072, 3083, 3072, 3081, 3092, 5506, 5509, 3085, 3096,
957 3088, 3105, 3096, 3105, 3116, 3104, 3117, 3128, 5517, 3132,
958 7683, 7683, 5520, 7683, 7683, 5529, 7683, 7683, 5537, 3172,
959 3205, 3123, 3128, 3135, 3138, 3143, 3141, 5545, 7683, 7683,
960 3147, 3144, 3150, 3163, 3171, 3180, 3183, 3194, 3201, 3199,
961 3217, 7683, 3218, 3213, 3226, 3221, 3221, 3231, 3232, 3229,
962 3250, 3251, 3253, 3270, 3272, 3273, 3273, 3279, 3280, 3277,
963 3284, 3285, 3306, 3276, 3295, 3284, 3303, 3292, 3296, 3312,
964 3306, 3305, 3322, 3313, 3334, 3321, 3337, 3331, 3332, 3349,
965 3339, 3337, 3359, 3365, 3357, 3361, 3364, 3364, 3377, 3370,
967 3402, 3400, 3391, 3420, 3395, 3426, 3403, 3435, 3425, 3416,
968 3451, 3444, 3449, 3478, 3480, 3458, 3464, 3472, 3477, 3499,
969 3476, 7683, 3500, 3479, 7683, 3483, 7683, 3484, 7683, 3515,
970 3490, 7683, 3518, 3503, 7683, 3549, 3503, 3516, 3511, 3523,
971 7683, 3546, 7683, 3554, 3557, 3567, 7683, 3580, 7683, 3582,
972 5554, 3583, 3609, 3591, 3610, 3577, 3584, 3593, 3595, 3596,
973 3611, 5557, 3654, 7683, 3658, 7683, 3669, 3668, 3672, 3675,
974 3679, 3687, 3711, 3753, 7683, 7683, 7683, 7683, 7683, 7683,
975 7683, 7683, 3705, 3756, 3770, 3842, 3712, 3845, 3704, 3844,
976 3686, 3847, 3876, 3901, 3877, 3895, 3745, 3903, 3776, 3865,
978 3911, 3943, 3913, 3924, 3906, 4001, 3925, 3962, 3946, 4075,
979 3991, 4039, 4043, 4046, 3974, 3999, 4017, 4078, 4060, 4100,
980 4120, 4151, 4096, 4146, 4022, 4196, 3874, 3954, 4098, 4199,
981 4234, 4286, 4214, 4261, 4281, 4311, 4068, 4240, 4292, 4304,
982 4123, 4203, 4313, 4402, 4328, 4329, 4476, 4479, 4217, 4254,
983 4405, 4406, 4457, 4481, 4193, 4511, 4555, 4598, 4527, 4528,
984 3996, 4047, 4552, 4601, 3771, 4305, 5565, 5568, 7683, 7683,
985 5588, 5597, 5606, 5615, 5624, 5633, 5642, 5651, 5660, 5669,
986 5678, 5687, 5696, 5705, 5714, 5723, 5732, 5741, 5750, 5759,
987 5768, 5777, 5786, 5795, 5804, 5813, 5822, 5831, 5840, 5849,
989 5858, 5867, 5876, 5885, 5894, 5903, 5912, 5921, 5930, 5939,
990 5946, 5953, 5960, 5967, 5974, 5981, 5988, 5995, 6002, 6009,
991 6016, 6023, 6030, 6037, 6044, 6051, 6058, 6065, 6074, 6081,
992 6086, 6093, 6098, 6105, 6110, 6117, 6122, 6129, 6134, 6139,
993 6146, 6151, 6158, 6163, 6170, 6175, 6182, 6187, 6194, 6199,
994 6206, 6211, 6218, 6223, 6230, 6235, 6242, 6247, 6254, 6259,
995 6266, 6271, 6278, 6283, 6292, 6298, 6305, 6313, 6320, 6328,
996 6335, 6343, 6350, 6358, 6365, 6373, 6380, 6388, 6395, 6403,
997 6410, 6418, 6425, 6433, 6440, 6448, 6456, 6464, 6472, 6480,
998 6487, 6495, 6503, 6511, 6518, 6526, 6533, 6541, 6549, 6556,
1000 6564, 6573, 6579, 6586, 6594, 6602, 6610, 6617, 6625, 6632,
1001 6640, 6647, 6655, 6662, 6670, 6677, 6685, 6692, 6700, 6707,
1002 6715, 6722, 6730, 6737, 6745, 6752, 6760, 6767, 6775, 6782,
1003 6790, 6797, 6805, 6812, 6820, 6828, 6835, 6843, 6852, 6861,
1004 6868, 6876, 6883, 6891, 6898, 6906, 6913, 6921, 6928, 6935,
1005 6943, 6950, 6958, 6965, 6973, 6980, 6988, 6995, 7003, 7010,
1006 7018, 7025, 7033, 7040, 7048, 7055, 7063, 7070, 7078, 7086,
1007 7094, 7102, 7110, 7118, 7127, 7136, 7143, 7151, 7158, 7166,
1008 7173, 7181, 7188, 7196, 7203, 7210, 7218, 7225, 7233, 7240,
1009 7248, 7255, 7263, 7270, 7278, 7285, 7293, 7301, 7309, 7316,
1011 7324, 7332, 7340, 7347, 7355, 7363, 7371, 7379, 7388, 7397,
1012 7405, 7413, 7420, 7428, 7435, 7443, 7451, 7459, 7466, 7473,
1013 7480, 7488, 7495, 7502, 7510, 7517, 7524, 7532, 7539, 7547,
1014 7554, 7562, 7570, 7577, 7585, 7593, 7601, 7610, 7619, 7628,
1015 7637, 7646, 7655, 7664, 7673
1018 static yyconst flex_int16_t yy_def[2646] =
1020 2371, 2371, 2372, 2372, 2372, 2372, 2373, 2373, 2374, 2374,
1021 2375, 2375, 2376, 2376, 2376, 2376, 2377, 2377, 2371, 2371,
1022 2378, 2378, 2379, 2379, 2379, 2379, 2379, 2379, 2371, 2371,
1023 2379, 2379, 2371, 2371, 2379, 2379, 2379, 2379, 2380, 2380,
1024 2376, 2376, 2381, 2381, 2382, 2382, 2371, 2371, 2382, 2382,
1025 2382, 2382, 2383, 2383, 2384, 2384, 2385, 2385, 2386, 2386,
1026 2386, 2386, 2371, 2371, 2386, 2386, 2386, 2386, 2371, 2371,
1027 2386, 2386, 2371, 2371, 2386, 2386, 2386, 2386, 2371, 2371,
1028 2386, 2386, 2371, 2371, 2386, 2386, 2386, 2386, 2387, 2387,
1029 2388, 2388, 2371, 2371, 2388, 2388, 2388, 2388, 2370, 99,
1031 2389, 2389, 2370, 103, 2390, 2390, 2391, 2391, 2392, 2392,
1032 2393, 2393, 2394, 2394, 2371, 2371, 2394, 2394, 2394, 2394,
1033 2395, 2395, 2396, 2396, 2371, 2371, 2396, 2396, 2396, 2396,
1034 2397, 2397, 2398, 2398, 2371, 2371, 2398, 2398, 2398, 2398,
1035 2399, 2399, 2400, 2400, 2401, 2401, 2402, 2402, 2371, 2371,
1036 2402, 2402, 2402, 2402, 2403, 2403, 2404, 2404, 2371, 2371,
1037 2404, 2404, 2404, 2404, 2405, 2405, 2406, 2406, 2407, 2407,
1038 2408, 2408, 2371, 2371, 2408, 2408, 2408, 2408, 2409, 2409,
1039 2410, 2410, 2371, 2371, 2370, 2370, 2370, 2370, 2370, 2370,
1040 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1042 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1043 2370, 2370, 2370, 2370, 2370, 2411, 2370, 2370, 2411, 2370,
1044 2370, 2370, 222, 222, 222, 224, 224, 2370, 2370, 2370,
1045 2412, 2370, 2370, 2412, 2412, 2412, 2370, 2370, 2370, 2370,
1046 2370, 2413, 2370, 2370, 2413, 2413, 2413, 2413, 2370, 2370,
1047 224, 224, 224, 2370, 2370, 2370, 2414, 2370, 2370, 2414,
1048 2414, 2414, 2370, 2370, 2370, 2370, 2370, 2370, 2415, 2370,
1049 2370, 2415, 2415, 2415, 2370, 2370, 225, 225, 225, 277,
1050 278, 278, 278, 278, 284, 285, 284, 284, 2370, 2370,
1051 2370, 2416, 2370, 2370, 2416, 2416, 2416, 2416, 2416, 2370,
1053 2370, 224, 224, 2370, 2370, 2370, 2417, 2370, 2370, 2417,
1054 2417, 2417, 2417, 2417, 2417, 2417, 2417, 2370, 2370, 2370,
1055 2370, 2370, 2370, 2418, 2370, 2370, 2418, 2418, 2418, 2418,
1056 2418, 2418, 2418, 2370, 2370, 2370, 2370, 2370, 2370, 2419,
1057 2370, 2370, 2419, 2419, 2370, 2370, 2370, 2370, 2370, 2370,
1058 2420, 2370, 2370, 2420, 2420, 2420, 2420, 2370, 2370, 224,
1059 224, 2370, 2370, 2370, 2421, 2370, 2370, 2421, 2421, 2370,
1060 2370, 224, 372, 372, 2370, 2370, 2370, 2422, 2370, 2370,
1061 2422, 2422, 2422, 2370, 2370, 372, 372, 2370, 2370, 2370,
1062 2423, 2370, 2370, 2423, 2423, 2370, 2370, 2370, 2370, 2370,
1064 2370, 2424, 2370, 2370, 2424, 2424, 2424, 2370, 2370, 372,
1065 372, 2370, 2370, 2370, 2425, 2370, 2370, 2425, 2425, 2425,
1066 2425, 2370, 2370, 224, 424, 424, 2370, 2370, 2370, 2426,
1067 2370, 2370, 2426, 2370, 2370, 2370, 2370, 2370, 2370, 2427,
1068 2370, 2370, 2427, 2370, 2370, 424, 446, 446, 2370, 2370,
1069 2370, 2428, 2370, 2370, 2428, 2428, 2370, 2370, 2370, 2370,
1070 2429, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1071 2370, 2370, 2370, 2370, 2370, 2370, 2430, 2430, 2431, 2370,
1072 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1073 2370, 2370, 2370, 2370, 2370, 2370, 2432, 2432, 2432, 2432,
1075 2370, 2433, 2370, 2370, 2434, 2434, 2434, 2434, 2434, 2434,
1076 2434, 2435, 2370, 2370, 2436, 2436, 2436, 2436, 2437, 2370,
1077 2438, 2438, 2438, 2438, 2439, 2370, 2370, 2370, 2370, 2370,
1078 2370, 2370, 2370, 2370, 2416, 2416, 2416, 2416, 2416, 2416,
1079 2440, 2370, 2441, 2441, 2441, 2441, 2441, 2441, 2441, 2441,
1080 2441, 2441, 2441, 2441, 2441, 2442, 2370, 2443, 2443, 2443,
1081 2443, 2443, 2443, 2443, 2443, 2443, 2444, 2370, 2445, 2445,
1082 2445, 2446, 2370, 2447, 2447, 2447, 2447, 2447, 2447, 2448,
1083 2370, 2449, 2449, 2449, 2449, 2450, 2370, 2370, 2451, 2451,
1084 2451, 2451, 2451, 2452, 2370, 2453, 2453, 2453, 2454, 2370,
1086 2455, 2455, 2455, 2455, 2456, 2370, 2457, 2457, 2457, 2457,
1087 2457, 2458, 2370, 2370, 2459, 2459, 2460, 2370, 2461, 2461,
1088 2462, 2370, 2370, 2463, 2463, 2463, 2464, 2465, 2370, 2465,
1089 2370, 2370, 2370, 2466, 2370, 2370, 2370, 2370, 2370, 2370,
1090 2370, 2467, 2468, 2468, 2370, 2370, 2370, 2370, 2370, 2370,
1091 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1092 2370, 2370, 2370, 2469, 2370, 2370, 2469, 2370, 2470, 2470,
1093 2370, 2471, 2370, 2370, 2471, 2471, 2471, 2471, 2472, 2472,
1094 2370, 2473, 2473, 2473, 2474, 2474, 2475, 2370, 2370, 2475,
1095 2476, 2476, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1097 2477, 2477, 2477, 2370, 2370, 2477, 2477, 2478, 2478, 2479,
1098 2479, 2370, 2370, 2479, 2370, 2370, 2479, 2479, 2479, 2479,
1099 2479, 2479, 2479, 2480, 2480, 2481, 2481, 2481, 2370, 2370,
1100 2481, 2481, 2481, 2481, 2482, 2482, 2483, 2370, 2370, 2484,
1101 2484, 2485, 2370, 2370, 2485, 2485, 2485, 2486, 2486, 2487,
1102 2487, 2487, 2488, 2488, 2370, 2489, 2489, 2489, 2489, 2490,
1103 2490, 2491, 2370, 2370, 2492, 2492, 2493, 2493, 2493, 2494,
1104 2494, 2495, 2495, 2495, 2495, 2496, 2496, 2370, 2497, 2498,
1105 2498, 2370, 2370, 2499, 2499, 2370, 2370, 2370, 2500, 2501,
1106 2501, 2502, 2370, 2370, 2502, 2370, 2370, 2503, 2370, 2370,
1108 2370, 2370, 2370, 2370, 2504, 2370, 2505, 2370, 2505, 2370,
1109 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1110 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2506,
1111 2370, 2370, 2370, 2506, 2370, 2370, 2507, 2370, 2507, 2508,
1112 2370, 2370, 2370, 2370, 2370, 2508, 2370, 2370, 2508, 2370,
1113 2509, 2370, 2509, 2370, 2510, 2510, 2510, 2370, 2511, 2370,
1114 2511, 2512, 2370, 2370, 2370, 2512, 2370, 2513, 2370, 2513,
1115 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2514, 2514, 2514,
1116 2370, 2370, 2370, 2514, 2514, 2370, 2515, 2370, 2515, 2516,
1117 2516, 2516, 2516, 2370, 2370, 2370, 2516, 2370, 2370, 2370,
1119 2370, 2370, 2516, 2516, 2516, 2516, 2516, 2516, 2370, 2517,
1120 2370, 2517, 2518, 2518, 2518, 2518, 2370, 2370, 2370, 2370,
1121 2370, 2518, 2518, 2518, 2370, 2519, 2370, 2519, 2520, 2370,
1122 2370, 2370, 2370, 2521, 2370, 2521, 2522, 2370, 2370, 2370,
1123 2522, 2522, 2522, 2370, 2523, 2370, 2523, 2370, 2370, 2370,
1124 2370, 2524, 2370, 2525, 2370, 2525, 2370, 2370, 2370, 2526,
1125 2526, 2370, 2370, 2526, 2370, 2527, 2370, 2527, 2528, 2370,
1126 2370, 2370, 2370, 2529, 2370, 2529, 2370, 2370, 2530, 2530,
1127 2370, 2370, 2370, 2531, 2370, 2531, 2532, 2532, 2532, 2532,
1128 2370, 2533, 2370, 2533, 2370, 2534, 2370, 2535, 2370, 2535,
1130 2370, 2370, 2370, 2370, 2536, 2370, 2536, 2370, 2370, 2370,
1131 2370, 2537, 2370, 2538, 2370, 2538, 2539, 2540, 2370, 2370,
1132 2370, 2370, 2370, 2541, 2542, 2370, 2370, 2370, 2370, 2370,
1133 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1134 2370, 2370, 2370, 2370, 2370, 2370, 2543, 2370, 2544, 2545,
1135 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2545, 2546,
1136 2370, 2547, 2370, 2370, 2547, 2548, 2549, 2549, 2370, 2370,
1137 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2550, 2550, 2370,
1138 2370, 2550, 2550, 2551, 2552, 2552, 2552, 2552, 2370, 2370,
1139 2370, 2370, 2370, 2552, 2552, 2552, 2552, 2552, 2552, 2553,
1141 2554, 2554, 2554, 2554, 2370, 2370, 2370, 2554, 2554, 2554,
1142 2555, 2556, 2557, 2558, 2558, 2558, 2558, 2559, 2370, 2370,
1143 2370, 2370, 2370, 2370, 2560, 2561, 2370, 2370, 2370, 2370,
1144 2562, 2562, 2370, 2370, 2370, 2562, 2563, 2564, 2565, 2370,
1145 2370, 2370, 2566, 2566, 2370, 2370, 2370, 2567, 2568, 2370,
1146 2370, 2568, 2568, 2569, 2370, 2570, 2571, 2572, 2370, 2573,
1147 2574, 2575, 2576, 2576, 2370, 2576, 2370, 2370, 2370, 2577,
1148 2578, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1149 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1150 2370, 2370, 2370, 2370, 2579, 2370, 2580, 2581, 2370, 2370,
1152 2370, 2581, 2582, 2370, 2583, 2370, 2370, 2370, 2370, 2370,
1153 2584, 2585, 2585, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1154 2586, 2586, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2586,
1155 2587, 2588, 2370, 2370, 2588, 2588, 2370, 2370, 2370, 2370,
1156 2370, 2588, 2588, 2588, 2588, 2588, 2589, 2590, 2370, 2370,
1157 2590, 2590, 2370, 2370, 2590, 2590, 2591, 2592, 2593, 2594,
1158 2594, 2594, 2370, 2370, 2594, 2595, 2596, 2597, 2370, 2598,
1159 2598, 2598, 2599, 2600, 2601, 2602, 2602, 2603, 2604, 2370,
1160 2370, 2370, 2604, 2604, 2605, 2370, 2370, 2370, 2606, 2607,
1161 2370, 2370, 2370, 2608, 2609, 2610, 2610, 2370, 2370, 2611,
1163 2612, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1164 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2613,
1165 2370, 2614, 2615, 2615, 2616, 2617, 2370, 2370, 2370, 2370,
1166 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2618, 2619, 2619,
1167 2370, 2370, 2370, 2370, 2620, 2620, 2370, 2370, 2370, 2370,
1168 2370, 2370, 2620, 2370, 2370, 2621, 2370, 2370, 2370, 2370,
1169 2370, 2621, 2370, 2370, 2370, 2370, 2370, 2621, 2621, 2621,
1170 2370, 2370, 2622, 2623, 2370, 2370, 2370, 2370, 2370, 2623,
1171 2370, 2370, 2370, 2623, 2623, 2370, 2370, 2624, 2625, 2626,
1172 2626, 2626, 2370, 2370, 2370, 2626, 2370, 2370, 2627, 2628,
1174 2370, 2370, 2370, 2370, 2370, 2629, 2630, 2631, 2632, 2370,
1175 2370, 2370, 2370, 2633, 2634, 2634, 2634, 2635, 2370, 2370,
1176 2370, 2370, 2636, 2637, 2370, 2370, 2370, 2370, 2370, 2370,
1177 2638, 2639, 2639, 2370, 2370, 2370, 2612, 2370, 2370, 2370,
1178 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1179 2370, 2370, 2613, 2370, 2370, 2370, 2615, 2615, 2616, 2370,
1180 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1181 2370, 2618, 2619, 2370, 2370, 2370, 2370, 2370, 2620, 2620,
1182 2370, 2370, 2620, 2621, 2370, 2370, 2370, 2621, 2370, 2370,
1183 2370, 2370, 2370, 2621, 2621, 2370, 2370, 2370, 2622, 2623,
1185 2370, 2370, 2370, 2623, 2623, 2623, 2624, 2625, 2626, 2370,
1186 2370, 2626, 2626, 2370, 2370, 2626, 2627, 2370, 2370, 2370,
1187 2370, 2370, 2370, 2370, 2370, 2370, 2629, 2630, 2631, 2632,
1188 2370, 2370, 2370, 2370, 2370, 2370, 2633, 2634, 2634, 2634,
1189 2635, 2370, 2636, 2637, 2370, 2638, 2639, 2639, 2370, 2370,
1190 2370, 2370, 2612, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1191 2370, 2370, 2370, 2370, 2613, 2370, 2615, 2615, 2370, 2370,
1192 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1193 2370, 2370, 2370, 2618, 2619, 2370, 2370, 2370, 2370, 2370,
1194 2620, 2620, 2370, 2370, 2370, 2370, 2620, 2621, 2621, 2370,
1196 2370, 2370, 2621, 2621, 2622, 2623, 2623, 2623, 2623, 2624,
1197 2370, 2370, 2626, 2370, 2370, 2370, 2626, 2626, 2370, 2370,
1198 2370, 2370, 2626, 2627, 2370, 2629, 2630, 2631, 2632, 2633,
1199 2370, 2370, 2634, 2634, 2635, 2370, 2636, 2370, 2370, 2638,
1200 2639, 2639, 2370, 2612, 2370, 2370, 2370, 2370, 2370, 2370,
1201 2613, 2370, 2370, 2615, 2370, 2370, 2370, 2370, 2370, 2370,
1202 2370, 2370, 2370, 2370, 2618, 2619, 2370, 2620, 2620, 2370,
1203 2370, 2370, 2370, 2620, 2621, 2621, 2621, 2621, 2370, 2370,
1204 2623, 2623, 2623, 2623, 2624, 2370, 2370, 2626, 2626, 2626,
1205 2370, 2370, 2370, 2370, 2626, 2627, 2370, 2629, 2370, 2370,
1207 2370, 2370, 2632, 2633, 2370, 2370, 2370, 2370, 2370, 2634,
1208 2370, 2370, 2370, 2636, 2638, 2639, 2639, 2370, 2370, 2370,
1209 2370, 2370, 2613, 2370, 2370, 2370, 2615, 2370, 2370, 2370,
1210 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2618, 2619, 2370,
1211 2620, 2620, 2370, 2370, 2370, 2370, 2621, 2621, 2621, 2370,
1212 2370, 2623, 2623, 2623, 2370, 2370, 2624, 2370, 2370, 2370,
1213 2626, 2626, 2626, 2370, 2370, 2370, 2370, 2627, 2629, 2370,
1214 2370, 2370, 2370, 2370, 2633, 2370, 2370, 2370, 2370, 2370,
1215 2370, 2370, 2638, 2639, 2639, 2370, 2370, 2370, 2370, 2370,
1216 2370, 2370, 2370, 2370, 2615, 2370, 2370, 2370, 2370, 2370,
1218 2370, 2370, 2370, 2370, 2370, 2618, 2370, 2370, 2370, 2620,
1219 2370, 2370, 2370, 2370, 2370, 2621, 2621, 2621, 2370, 2370,
1220 2370, 2623, 2370, 2370, 2623, 2370, 2370, 2370, 2370, 2370,
1221 2626, 2626, 2626, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1222 2370, 2370, 2370, 2370, 2370, 2370, 2633, 2370, 2370, 2370,
1223 2638, 2639, 2639, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1224 2370, 2370, 2370, 2615, 2370, 2370, 2370, 2370, 2370, 2370,
1225 2370, 2370, 2618, 2370, 2370, 2370, 2370, 2370, 2370, 2620,
1226 2370, 2370, 2370, 2621, 2621, 2621, 2623, 2370, 2370, 2370,
1227 2623, 2370, 2370, 2370, 2626, 2370, 2370, 2626, 2370, 2370,
1229 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1230 2633, 2638, 2639, 2639, 2639, 2370, 2370, 2370, 2370, 2370,
1231 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1232 2370, 2618, 2370, 2370, 2370, 2620, 2621, 2621, 2621, 2623,
1233 2623, 2626, 2370, 2370, 2370, 2626, 2370, 2370, 2370, 2370,
1234 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1235 2370, 2370, 2638, 2639, 2639, 2639, 2640, 2641, 2370, 2370,
1236 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1237 2370, 2370, 2370, 2618, 2620, 2621, 2621, 2370, 2370, 2623,
1238 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1240 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2638, 2639,
1241 2642, 2643, 2640, 2641, 2370, 2370, 2370, 2370, 2370, 2370,
1242 2370, 2370, 2370, 2370, 2370, 2370, 2620, 2621, 2621, 2370,
1243 2370, 2370, 2623, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1244 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1245 2370, 2370, 2370, 2370, 2638, 2642, 2639, 2644, 2643, 2645,
1246 2639, 2370, 2370, 2370, 2370, 2370, 2370, 2620, 2621, 2621,
1247 2370, 2370, 2370, 2370, 2623, 2370, 2370, 2370, 2370, 2370,
1248 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2638, 2644, 2370,
1249 2645, 2639, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1251 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1252 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2638, 2370,
1253 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1254 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1255 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1256 2638, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1257 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1258 2370, 2370, 2638, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1259 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1260 2370, 2370, 2370, 2638, 2370, 2370, 2370, 2370, 2370, 2370,
1262 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1263 2370, 2370, 2370, 2370, 2638, 2370, 2370, 2370, 2370, 2370,
1264 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1265 2370, 2370, 2370, 2370, 2370, 2638, 2370, 2370, 2370, 2370,
1266 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1267 2638, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1268 2370, 2638, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1269 2370, 2370, 2638, 2638, 2370, 2370, 2370, 2370, 2370, 2370,
1270 2370, 2370, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638,
1271 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638,
1273 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638,
1274 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638,
1275 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638,
1276 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638,
1277 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638,
1278 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638,
1279 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2370, 0,
1280 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1281 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1282 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1284 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1285 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1286 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1287 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1288 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1289 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1290 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1291 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1292 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1293 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1295 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1296 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1297 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1298 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1299 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1300 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1301 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1302 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1303 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1304 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1306 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1307 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1308 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1309 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
1310 2370, 2370, 2370, 2370, 2370
1313 static yyconst flex_int16_t yy_nxt[7755] =
1315 2370, 188, 189, 188, 188, 189, 188, 188, 189, 188,
1316 188, 189, 188, 193, 189, 193, 199, 190, 196, 199,
1317 190, 196, 2370, 191, 594, 197, 191, 2370, 197, 194,
1318 193, 189, 193, 461, 200, 202, 203, 200, 202, 203,
1319 204, 205, 525, 204, 205, 461, 194, 209, 210, 462,
1320 206, 202, 203, 206, 207, 464, 204, 202, 203, 482,
1321 207, 463, 204, 209, 210, 1520, 206, 189, 189, 189,
1322 485, 463, 206, 189, 189, 189, 221, 189, 221, 221,
1323 189, 221, 484, 212, 221, 189, 221, 1527, 464, 212,
1324 211, 487, 222, 1529, 530, 222, 460, 460, 460, 512,
1326 223, 460, 460, 460, 463, 2370, 211, 213, 214, 189,
1327 214, 213, 213, 213, 213, 213, 213, 213, 215, 213,
1328 213, 213, 2370, 213, 217, 213, 218, 213, 221, 189,
1329 221, 221, 189, 221, 221, 189, 221, 189, 189, 189,
1330 189, 189, 189, 489, 223, 475, 487, 224, 493, 513,
1331 224, 213, 213, 225, 464, 494, 225, 221, 189, 221,
1332 460, 460, 460, 460, 460, 460, 460, 460, 460, 495,
1333 463, 487, 513, 223, 219, 213, 214, 189, 214, 213,
1334 213, 213, 213, 213, 213, 213, 215, 213, 213, 213,
1335 512, 213, 217, 213, 218, 213, 221, 189, 221, 189,
1337 189, 189, 189, 189, 189, 221, 189, 221, 221, 189,
1338 221, 550, 223, 635, 551, 226, 636, 545, 226, 213,
1339 213, 224, 464, 464, 224, 221, 189, 221, 221, 189,
1340 221, 460, 460, 460, 460, 460, 460, 546, 463, 463,
1341 495, 227, 219, 1538, 227, 228, 229, 189, 229, 228,
1342 228, 228, 228, 228, 228, 228, 230, 228, 228, 228,
1343 629, 228, 232, 228, 233, 228, 250, 189, 250, 250,
1344 189, 250, 189, 189, 189, 630, 189, 189, 189, 202,
1345 203, 793, 251, 2370, 204, 251, 202, 203, 252, 228,
1346 228, 204, 252, 490, 237, 508, 795, 234, 541, 509,
1348 235, 237, 1539, 510, 793, 541, 236, 228, 229, 189,
1349 229, 228, 228, 228, 228, 228, 228, 228, 230, 228,
1350 228, 228, 238, 228, 232, 228, 233, 228, 1295, 238,
1351 250, 189, 250, 250, 189, 250, 1540, 250, 189, 250,
1352 250, 189, 250, 460, 460, 460, 251, 501, 513, 251,
1353 565, 228, 228, 253, 502, 495, 253, 1542, 1549, 234,
1354 584, 566, 235, 463, 460, 460, 460, 585, 236, 239,
1355 240, 189, 240, 239, 239, 239, 239, 239, 239, 239,
1356 241, 239, 239, 239, 1555, 239, 243, 239, 244, 239,
1357 264, 189, 264, 264, 189, 264, 276, 189, 276, 276,
1359 189, 276, 276, 189, 276, 464, 265, 464, 553, 265,
1360 464, 1556, 277, 239, 239, 277, 464, 519, 278, 554,
1361 555, 463, 245, 463, 246, 580, 463, 247, 460, 460,
1362 460, 1558, 463, 248, 239, 240, 189, 240, 239, 239,
1363 239, 239, 239, 239, 239, 241, 239, 239, 239, 490,
1364 239, 243, 239, 244, 239, 276, 189, 276, 189, 189,
1365 189, 189, 189, 189, 276, 189, 276, 276, 189, 276,
1366 648, 278, 464, 649, 279, 513, 482, 279, 239, 239,
1367 280, 464, 481, 280, 460, 460, 460, 245, 463, 246,
1368 580, 532, 247, 460, 460, 460, 495, 463, 248, 254,
1370 255, 189, 255, 254, 254, 254, 254, 254, 254, 254,
1371 256, 254, 254, 254, 629, 254, 258, 254, 259, 254,
1372 276, 189, 276, 276, 189, 276, 189, 189, 189, 189,
1373 189, 189, 276, 189, 276, 578, 281, 793, 464, 281,
1374 495, 1017, 282, 254, 254, 282, 579, 1035, 278, 668,
1375 260, 460, 460, 460, 463, 261, 460, 460, 460, 1036,
1376 2370, 460, 460, 460, 262, 254, 255, 189, 255, 254,
1377 254, 254, 254, 254, 254, 254, 256, 254, 254, 254,
1378 1559, 254, 258, 254, 259, 254, 276, 189, 276, 189,
1379 189, 189, 189, 189, 189, 276, 189, 276, 276, 189,
1381 276, 648, 278, 528, 658, 283, 529, 1464, 283, 254,
1382 254, 281, 533, 464, 281, 1465, 260, 460, 460, 460,
1383 556, 261, 460, 460, 460, 460, 460, 460, 612, 463,
1384 262, 266, 267, 189, 267, 266, 266, 266, 266, 266,
1385 266, 266, 268, 266, 266, 266, 605, 266, 270, 266,
1386 271, 266, 276, 189, 276, 276, 189, 276, 189, 189,
1387 189, 189, 189, 189, 613, 276, 189, 276, 284, 464,
1388 660, 284, 464, 658, 285, 266, 266, 285, 513, 567,
1389 272, 286, 460, 460, 460, 463, 273, 586, 463, 460,
1390 460, 460, 485, 1561, 274, 266, 267, 189, 267, 266,
1392 266, 266, 266, 266, 266, 266, 268, 266, 266, 266,
1393 1563, 266, 270, 266, 271, 266, 276, 189, 276, 189,
1394 189, 189, 189, 189, 189, 276, 189, 276, 1565, 276,
1395 189, 276, 286, 587, 1165, 287, 592, 495, 287, 266,
1396 266, 284, 655, 593, 272, 284, 276, 189, 276, 464,
1397 273, 276, 189, 276, 702, 656, 572, 703, 274, 460,
1398 460, 460, 288, 1165, 793, 463, 1433, 288, 289, 290,
1399 189, 290, 289, 289, 289, 289, 289, 289, 289, 291,
1400 289, 289, 289, 1162, 289, 293, 289, 294, 289, 301,
1401 189, 301, 301, 189, 301, 189, 189, 189, 189, 189,
1403 189, 1469, 301, 189, 301, 302, 464, 1548, 302, 1470,
1404 1566, 252, 289, 289, 252, 295, 1044, 296, 302, 460,
1405 460, 460, 463, 297, 460, 460, 460, 1567, 1036, 298,
1406 1568, 1574, 299, 289, 290, 189, 290, 289, 289, 289,
1407 289, 289, 289, 289, 291, 289, 289, 289, 1575, 289,
1408 293, 289, 294, 289, 301, 189, 301, 301, 189, 301,
1409 301, 189, 301, 319, 189, 319, 793, 319, 189, 319,
1410 302, 464, 1546, 303, 1576, 1577, 303, 289, 289, 320,
1411 295, 1044, 296, 320, 460, 460, 460, 463, 297, 460,
1412 460, 460, 1578, 1061, 298, 1579, 1580, 299, 304, 305,
1414 189, 305, 304, 304, 304, 304, 304, 304, 304, 306,
1415 304, 304, 304, 307, 304, 308, 304, 309, 304, 307,
1416 307, 307, 307, 307, 307, 307, 307, 307, 307, 307,
1417 307, 307, 307, 307, 307, 307, 307, 307, 307, 307,
1418 307, 307, 304, 304, 307, 310, 311, 312, 307, 307,
1419 307, 307, 307, 313, 307, 314, 307, 307, 307, 315,
1420 307, 316, 317, 307, 307, 307, 307, 307, 307, 321,
1421 322, 189, 322, 321, 321, 321, 321, 321, 321, 321,
1422 323, 321, 321, 321, 324, 321, 325, 321, 326, 321,
1423 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
1425 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
1426 324, 324, 324, 321, 321, 324, 327, 328, 329, 324,
1427 324, 324, 324, 324, 330, 324, 331, 324, 324, 324,
1428 332, 324, 324, 333, 324, 324, 324, 324, 324, 324,
1429 335, 189, 335, 335, 189, 335, 460, 460, 460, 460,
1430 460, 460, 460, 460, 460, 1581, 336, 1582, 1583, 336,
1431 337, 338, 189, 338, 337, 337, 337, 337, 337, 337,
1432 337, 339, 337, 337, 337, 1585, 337, 341, 337, 342,
1433 337, 346, 189, 346, 346, 189, 346, 359, 189, 359,
1434 359, 189, 359, 1590, 189, 189, 189, 347, 464, 1591,
1436 347, 1165, 914, 360, 337, 337, 360, 915, 1592, 343,
1437 252, 460, 460, 460, 463, 344, 337, 338, 189, 338,
1438 337, 337, 337, 337, 337, 337, 337, 339, 337, 337,
1439 337, 1547, 337, 341, 337, 342, 337, 189, 189, 189,
1440 359, 189, 359, 359, 189, 359, 359, 189, 359, 1597,
1441 359, 189, 359, 252, 464, 1598, 360, 1593, 1599, 360,
1442 337, 337, 361, 1603, 1594, 343, 361, 460, 460, 460,
1443 463, 344, 348, 349, 189, 349, 348, 348, 348, 348,
1444 348, 348, 348, 350, 348, 348, 348, 1604, 348, 352,
1445 348, 353, 348, 371, 189, 371, 371, 189, 371, 189,
1447 189, 189, 189, 189, 189, 371, 189, 371, 1606, 372,
1448 1607, 1608, 372, 1609, 464, 373, 348, 348, 373, 464,
1449 354, 372, 460, 460, 460, 1610, 599, 355, 1613, 356,
1450 463, 460, 460, 460, 1617, 463, 357, 348, 349, 189,
1451 349, 348, 348, 348, 348, 348, 348, 348, 350, 348,
1452 348, 348, 1618, 348, 352, 348, 353, 348, 371, 189,
1453 371, 371, 189, 371, 371, 189, 371, 385, 189, 385,
1454 385, 189, 385, 1623, 372, 464, 1624, 374, 652, 1625,
1455 374, 348, 348, 386, 653, 354, 386, 460, 460, 460,
1456 654, 463, 355, 1626, 356, 460, 460, 460, 460, 460,
1458 460, 357, 362, 363, 189, 363, 362, 362, 362, 362,
1459 362, 362, 362, 364, 362, 362, 362, 1628, 362, 366,
1460 362, 367, 362, 189, 189, 189, 189, 189, 189, 385,
1461 189, 385, 385, 189, 385, 385, 189, 385, 464, 373,
1462 655, 1633, 373, 464, 1634, 386, 362, 362, 386, 464,
1463 617, 387, 368, 697, 463, 460, 460, 460, 1636, 463,
1464 460, 460, 460, 1165, 1165, 463, 369, 362, 363, 189,
1465 363, 362, 362, 362, 362, 362, 362, 362, 364, 362,
1466 362, 362, 1646, 362, 366, 362, 367, 362, 385, 189,
1467 385, 397, 189, 397, 397, 189, 397, 409, 189, 409,
1469 409, 189, 409, 1432, 387, 1641, 1649, 398, 464, 793,
1470 398, 362, 362, 410, 1650, 627, 410, 368, 460, 460,
1471 460, 460, 460, 460, 463, 1431, 633, 633, 633, 1651,
1472 1654, 369, 375, 376, 189, 376, 375, 375, 375, 375,
1473 375, 375, 375, 377, 375, 375, 375, 1655, 375, 379,
1474 375, 380, 375, 189, 189, 189, 189, 189, 189, 409,
1475 189, 409, 409, 189, 409, 409, 189, 409, 661, 373,
1476 1656, 655, 373, 655, 653, 410, 375, 375, 410, 786,
1477 654, 411, 381, 634, 699, 382, 700, 633, 633, 633,
1478 1165, 797, 656, 810, 810, 810, 383, 375, 376, 189,
1480 376, 375, 375, 375, 375, 375, 375, 375, 377, 375,
1481 375, 375, 1657, 375, 379, 375, 380, 375, 409, 189,
1482 409, 423, 189, 423, 423, 189, 423, 189, 189, 189,
1483 189, 189, 189, 652, 411, 1642, 1658, 424, 1659, 653,
1484 424, 375, 375, 425, 1660, 663, 425, 381, 661, 1661,
1485 382, 825, 825, 825, 653, 811, 810, 810, 810, 1662,
1486 663, 383, 388, 389, 189, 389, 388, 388, 388, 388,
1487 388, 388, 388, 390, 388, 388, 388, 1663, 388, 392,
1488 388, 393, 388, 423, 189, 423, 423, 189, 423, 423,
1489 189, 423, 423, 189, 423, 435, 189, 435, 661, 424,
1491 891, 1664, 424, 1666, 653, 426, 388, 388, 426, 892,
1492 681, 436, 394, 811, 1667, 1668, 893, 395, 388, 389,
1493 189, 389, 388, 388, 388, 388, 388, 388, 388, 390,
1494 388, 388, 388, 1669, 388, 392, 388, 393, 388, 435,
1495 189, 435, 445, 189, 445, 445, 189, 445, 189, 189,
1496 189, 189, 189, 189, 1670, 436, 1671, 1672, 446, 1595,
1497 1673, 446, 388, 388, 252, 1674, 1596, 252, 394, 1675,
1498 810, 810, 810, 395, 399, 400, 189, 400, 399, 399,
1499 399, 399, 399, 399, 399, 401, 399, 399, 399, 1676,
1500 399, 403, 399, 404, 399, 445, 189, 445, 445, 189,
1502 445, 445, 189, 445, 445, 189, 445, 458, 189, 458,
1503 1677, 447, 1678, 1681, 447, 1682, 1683, 448, 399, 399,
1504 448, 1684, 469, 459, 405, 1685, 490, 406, 621, 831,
1505 831, 831, 871, 832, 1689, 1690, 833, 1691, 407, 399,
1506 400, 189, 400, 399, 399, 399, 399, 399, 399, 399,
1507 401, 399, 399, 399, 491, 399, 403, 399, 404, 399,
1508 458, 189, 458, 470, 481, 1619, 492, 1692, 1327, 471,
1509 493, 1693, 1620, 472, 1328, 1621, 459, 1329, 473, 1694,
1510 622, 1330, 1622, 399, 399, 665, 665, 665, 525, 405,
1511 1695, 525, 406, 841, 841, 841, 1696, 842, 526, 1698,
1513 843, 531, 666, 407, 412, 413, 189, 413, 412, 412,
1514 412, 412, 412, 412, 412, 414, 412, 412, 412, 1710,
1515 412, 416, 412, 417, 412, 527, 1165, 1165, 527, 491,
1516 1720, 528, 1721, 1722, 529, 673, 673, 673, 1723, 1727,
1517 530, 495, 688, 688, 688, 704, 704, 704, 412, 412,
1518 1728, 1729, 674, 825, 825, 825, 418, 1716, 419, 689,
1519 420, 1730, 705, 1717, 825, 825, 825, 1731, 421, 412,
1520 413, 189, 413, 412, 412, 412, 412, 412, 412, 412,
1521 414, 412, 412, 412, 1732, 412, 416, 412, 417, 412,
1522 712, 712, 712, 715, 715, 715, 1733, 1734, 729, 729,
1524 729, 738, 738, 738, 806, 806, 806, 713, 1735, 1736,
1525 716, 1331, 1737, 412, 412, 730, 1739, 1332, 739, 1740,
1526 1333, 418, 808, 419, 1334, 420, 871, 1177, 1177, 1177,
1527 1180, 1180, 1180, 421, 427, 428, 189, 428, 427, 427,
1528 427, 427, 427, 427, 427, 429, 427, 427, 427, 1741,
1529 427, 431, 427, 432, 427, 743, 743, 743, 763, 763,
1530 763, 1742, 1743, 782, 782, 782, 787, 787, 787, 806,
1531 806, 806, 744, 1744, 1747, 764, 1748, 1749, 427, 427,
1532 783, 1752, 1753, 788, 863, 863, 863, 808, 864, 1754,
1533 1757, 865, 881, 881, 881, 1761, 882, 1762, 1763, 883,
1535 1764, 433, 427, 428, 189, 428, 427, 427, 427, 427,
1536 427, 427, 427, 429, 427, 427, 427, 1765, 427, 431,
1537 427, 432, 427, 1768, 1769, 809, 665, 665, 665, 1786,
1538 836, 836, 836, 836, 836, 836, 673, 673, 673, 844,
1539 844, 844, 1787, 666, 1788, 1795, 427, 427, 838, 1796,
1540 1791, 838, 1797, 674, 1798, 1799, 845, 894, 894, 894,
1541 1165, 895, 1792, 1800, 896, 1178, 1178, 1178, 1165, 433,
1542 437, 438, 189, 438, 437, 437, 437, 437, 437, 437,
1543 437, 439, 437, 437, 437, 793, 437, 441, 437, 442,
1544 437, 847, 847, 847, 1801, 839, 1784, 1802, 850, 850,
1546 850, 850, 850, 850, 858, 858, 858, 1803, 848, 1785,
1547 1179, 1183, 1183, 1183, 437, 437, 852, 1804, 1805, 852,
1548 1809, 1810, 860, 1783, 1816, 443, 437, 438, 189, 438,
1549 437, 437, 437, 437, 437, 437, 437, 439, 437, 437,
1550 437, 1817, 437, 441, 437, 442, 437, 853, 858, 858,
1551 858, 688, 688, 688, 867, 867, 867, 704, 704, 704,
1552 1818, 867, 867, 867, 1822, 1825, 860, 1831, 689, 1832,
1553 437, 437, 869, 1833, 705, 1189, 1189, 1189, 1855, 869,
1554 1856, 443, 449, 450, 189, 450, 449, 449, 449, 449,
1555 449, 449, 449, 451, 449, 449, 449, 870, 449, 453,
1557 449, 454, 449, 886, 886, 886, 886, 886, 886, 1860,
1558 861, 712, 712, 712, 715, 715, 715, 1793, 898, 898,
1559 898, 888, 899, 1861, 888, 900, 449, 449, 713, 1794,
1560 1862, 716, 917, 917, 917, 1863, 918, 455, 1864, 919,
1561 930, 930, 930, 1865, 931, 1866, 1165, 932, 1867, 456,
1562 449, 450, 189, 450, 449, 449, 449, 449, 449, 449,
1563 449, 451, 449, 449, 449, 889, 449, 453, 449, 454,
1564 449, 901, 901, 901, 909, 909, 909, 1204, 1204, 1204,
1565 909, 909, 909, 729, 729, 729, 1852, 1165, 902, 920,
1566 920, 920, 911, 1868, 449, 449, 793, 1869, 911, 1870,
1568 730, 925, 925, 925, 1871, 455, 921, 1872, 925, 925,
1569 925, 738, 738, 738, 933, 933, 933, 456, 464, 927,
1570 1884, 933, 933, 933, 1851, 479, 927, 1853, 739, 743,
1571 743, 743, 935, 1885, 463, 480, 912, 1886, 1887, 935,
1572 938, 938, 938, 1891, 939, 1841, 744, 940, 944, 944,
1573 944, 944, 944, 944, 1842, 948, 948, 948, 928, 1895,
1574 1843, 481, 482, 483, 1898, 1905, 946, 1906, 484, 946,
1575 1907, 485, 949, 1908, 1909, 486, 1910, 487, 1916, 488,
1576 936, 950, 950, 950, 2370, 2370, 2370, 1917, 953, 953,
1577 953, 953, 953, 953, 958, 958, 958, 793, 951, 1918,
1579 1165, 2370, 2370, 2370, 2370, 947, 955, 1919, 1920, 955,
1580 1921, 959, 962, 962, 962, 2370, 2370, 2370, 1844, 2370,
1581 965, 965, 965, 1924, 965, 965, 965, 1845, 1925, 963,
1582 1926, 1927, 2370, 1846, 1913, 763, 763, 763, 967, 1928,
1583 1929, 952, 967, 1912, 973, 973, 973, 977, 977, 977,
1584 956, 960, 764, 1930, 970, 970, 970, 1931, 971, 1936,
1585 968, 972, 975, 1937, 978, 961, 973, 973, 973, 2370,
1586 2370, 2370, 964, 981, 981, 981, 983, 983, 983, 983,
1587 983, 983, 1938, 1939, 975, 1940, 2370, 991, 991, 991,
1588 982, 991, 991, 991, 985, 1941, 1942, 985, 997, 997,
1590 997, 997, 997, 997, 1946, 993, 782, 782, 782, 993,
1591 1001, 1001, 1001, 1955, 1002, 1956, 999, 1003, 979, 999,
1592 976, 1947, 1957, 783, 1004, 1004, 1004, 1004, 1004, 1004,
1593 1958, 1948, 980, 787, 787, 787, 1009, 1009, 1009, 1949,
1594 1010, 1951, 1006, 1011, 1959, 1006, 1960, 1971, 986, 1950,
1595 788, 1952, 1972, 994, 1013, 1013, 1013, 1013, 1013, 1013,
1596 806, 806, 806, 1000, 806, 806, 806, 806, 806, 806,
1597 1973, 1974, 1015, 1953, 1978, 1015, 793, 1979, 808, 1045,
1598 1045, 1045, 808, 1954, 1980, 808, 1007, 831, 831, 831,
1599 1981, 832, 1982, 1983, 833, 1985, 1046, 2370, 2370, 2370,
1601 836, 836, 836, 836, 836, 836, 836, 836, 836, 1963,
1602 850, 850, 850, 1025, 2370, 1216, 1216, 1216, 838, 1016,
1603 1986, 838, 1987, 1990, 838, 841, 841, 841, 852, 842,
1604 1997, 1998, 843, 844, 844, 844, 1051, 1051, 1051, 1999,
1605 1052, 2000, 2001, 1053, 1054, 1054, 1054, 847, 847, 847,
1606 845, 2002, 1049, 1056, 1056, 1056, 1047, 1057, 2003, 2004,
1607 1058, 1055, 2005, 2006, 848, 850, 850, 850, 850, 850,
1608 850, 1063, 1063, 1063, 858, 858, 858, 858, 858, 858,
1609 863, 863, 863, 852, 864, 2007, 852, 865, 1064, 858,
1610 858, 858, 860, 2008, 2015, 860, 867, 867, 867, 867,
1612 867, 867, 1069, 1069, 1069, 793, 2016, 860, 1080, 1080,
1613 1080, 881, 881, 881, 869, 882, 2017, 869, 883, 2018,
1614 1070, 886, 886, 886, 2019, 1081, 1060, 886, 886, 886,
1615 886, 886, 886, 2020, 2021, 1066, 894, 894, 894, 888,
1616 895, 2022, 2023, 896, 2024, 888, 2009, 2027, 888, 1089,
1617 1089, 1089, 898, 898, 898, 2028, 899, 2029, 2033, 900,
1618 901, 901, 901, 1091, 1091, 1091, 1090, 1092, 2043, 2044,
1619 1093, 909, 909, 909, 909, 909, 909, 902, 909, 909,
1620 909, 917, 917, 917, 2045, 918, 2046, 2047, 919, 911,
1621 2048, 2049, 911, 1084, 2050, 2051, 911, 920, 920, 920,
1623 1105, 1105, 1105, 2052, 1106, 2053, 2054, 1107, 925, 925,
1624 925, 925, 925, 925, 921, 925, 925, 925, 930, 930,
1625 930, 2062, 931, 2063, 2064, 932, 927, 793, 2065, 927,
1626 933, 933, 933, 927, 933, 933, 933, 933, 933, 933,
1627 938, 938, 938, 1100, 939, 2066, 2067, 940, 935, 944,
1628 944, 944, 935, 2068, 2069, 935, 944, 944, 944, 944,
1629 944, 944, 948, 948, 948, 1111, 2070, 946, 1119, 1119,
1630 1119, 2055, 1120, 2075, 946, 1121, 2084, 946, 2057, 949,
1631 950, 950, 950, 1122, 1122, 1122, 2085, 1123, 2086, 2060,
1632 1124, 953, 953, 953, 953, 953, 953, 951, 953, 953,
1634 953, 2057, 1113, 958, 958, 958, 1128, 1128, 1128, 955,
1635 1129, 2087, 955, 1130, 2090, 2058, 955, 1118, 2071, 2073,
1636 959, 962, 962, 962, 1133, 1133, 1133, 2090, 1134, 2072,
1637 2074, 1135, 965, 965, 965, 965, 965, 965, 963, 965,
1638 965, 965, 970, 970, 970, 2093, 971, 2057, 2094, 972,
1639 967, 2076, 793, 967, 973, 973, 973, 967, 973, 973,
1640 973, 2058, 2077, 1126, 973, 973, 973, 977, 977, 977,
1641 2078, 2103, 975, 1140, 1140, 1140, 975, 1141, 1165, 1166,
1642 1142, 2079, 975, 2080, 978, 981, 981, 981, 1145, 1145,
1643 1145, 2088, 1146, 2106, 2081, 1147, 983, 983, 983, 2109,
1645 2110, 1137, 982, 983, 983, 983, 983, 983, 983, 1150,
1646 1150, 1150, 2082, 2111, 985, 991, 991, 991, 991, 991,
1647 991, 985, 1139, 2083, 985, 2101, 1151, 991, 991, 991,
1648 997, 997, 997, 993, 2104, 2057, 993, 997, 997, 997,
1649 997, 997, 997, 2102, 2112, 993, 2060, 2113, 999, 1001,
1650 1001, 1001, 2105, 1002, 2115, 999, 1003, 2118, 999, 1004,
1651 1004, 1004, 1004, 1004, 1004, 2114, 1148, 1004, 1004, 1004,
1652 2090, 1009, 1009, 1009, 2120, 1010, 2090, 1006, 1011, 2121,
1653 1006, 1013, 1013, 1013, 2122, 1006, 1154, 1013, 1013, 1013,
1654 2132, 2116, 1157, 1013, 1013, 1013, 1164, 1164, 1164, 1015,
1656 806, 806, 806, 2133, 2134, 1015, 1045, 1045, 1045, 2117,
1657 2135, 1015, 2136, 2137, 1165, 1166, 2141, 2142, 808, 2143,
1658 1192, 1192, 1192, 1046, 1193, 1158, 2144, 1194, 836, 836,
1659 836, 1051, 1051, 1051, 2145, 1052, 2146, 2147, 1053, 1054,
1660 1054, 1054, 2148, 1199, 1199, 1199, 838, 1200, 2149, 2150,
1661 1201, 2152, 1161, 1056, 1056, 1056, 1055, 1057, 2157, 2158,
1662 1058, 850, 850, 850, 1171, 1063, 1063, 1063, 1206, 1206,
1663 1206, 2159, 1207, 2160, 2161, 1208, 1197, 2162, 2163, 852,
1664 2164, 2165, 1064, 1209, 1209, 1209, 858, 858, 858, 1069,
1665 1069, 1069, 1217, 1217, 1217, 1080, 1080, 1080, 2153, 2166,
1667 1210, 1223, 1223, 1223, 860, 1224, 2167, 1070, 1225, 2154,
1668 1203, 2168, 1081, 1226, 1226, 1226, 1228, 1228, 1228, 2169,
1669 886, 886, 886, 1233, 1233, 1233, 1089, 1089, 1089, 2170,
1670 1227, 2155, 2171, 1229, 1211, 2172, 793, 1179, 888, 2174,
1671 1234, 2175, 2156, 1090, 1237, 1237, 1237, 2176, 1238, 2177,
1672 2178, 1239, 1091, 1091, 1091, 2179, 1092, 2180, 2181, 1093,
1673 2173, 1230, 1240, 1240, 1240, 909, 909, 909, 1249, 1249,
1674 1249, 1105, 1105, 1105, 2182, 1106, 2183, 2184, 1107, 1241,
1675 1253, 1253, 1253, 911, 1231, 1250, 925, 925, 925, 933,
1676 933, 933, 1263, 1263, 1263, 2185, 2186, 1254, 2187, 944,
1678 944, 944, 2188, 2189, 927, 2190, 2191, 935, 2192, 1264,
1679 2193, 1119, 1119, 1119, 2195, 1120, 2196, 946, 1121, 1122,
1680 1122, 1122, 2197, 1123, 2198, 793, 1124, 2199, 1247, 953,
1681 953, 953, 1178, 1178, 1178, 2200, 2201, 1265, 1128, 1128,
1682 1128, 2202, 1129, 2194, 2203, 1130, 2204, 955, 1257, 965,
1683 965, 965, 2205, 1259, 1266, 1133, 1133, 1133, 2206, 1134,
1684 2207, 2208, 1135, 973, 973, 973, 2209, 967, 1140, 1140,
1685 1140, 2210, 1141, 2211, 2212, 1142, 2213, 1269, 1145, 1145,
1686 1145, 975, 1146, 2214, 793, 1147, 983, 983, 983, 1150,
1687 1150, 1150, 2216, 1268, 1280, 1280, 1280, 2217, 1281, 2218,
1689 2219, 1282, 2220, 2215, 985, 2221, 1151, 2222, 1273, 991,
1690 991, 991, 1287, 1287, 1287, 997, 997, 997, 1275, 1004,
1691 1004, 1004, 1292, 1292, 1292, 2223, 2224, 993, 2225, 1288,
1692 2226, 2227, 1278, 999, 1013, 1013, 1013, 1006, 2228, 1293,
1693 1164, 1164, 1164, 2229, 806, 806, 806, 1177, 1177, 1177,
1694 2230, 2231, 1015, 1178, 1178, 1178, 2232, 1285, 1165, 1180,
1695 1180, 1180, 808, 1183, 1183, 1183, 1311, 1311, 1311, 2233,
1696 1290, 1313, 1313, 1313, 1189, 1189, 1189, 1317, 1317, 1317,
1697 1289, 1192, 1192, 1192, 2234, 1193, 2235, 2237, 1194, 2238,
1698 1296, 836, 836, 836, 1294, 1301, 1199, 1199, 1199, 793,
1700 1200, 2239, 2240, 1201, 2241, 2236, 1297, 2242, 2243, 838,
1701 2244, 850, 850, 850, 2245, 2246, 1314, 1204, 1204, 1204,
1702 2247, 2248, 1318, 1206, 1206, 1206, 2249, 1207, 1312, 852,
1703 1208, 1209, 1209, 1209, 2250, 1335, 1335, 1335, 2252, 1336,
1704 2253, 1322, 1337, 858, 858, 858, 2254, 2255, 1210, 1216,
1705 1216, 1216, 1217, 1217, 1217, 1343, 1343, 1343, 1343, 1343,
1706 1343, 860, 1311, 1311, 1311, 1223, 1223, 1223, 793, 1224,
1707 1325, 2256, 1225, 1226, 1226, 1226, 1347, 1347, 1347, 2257,
1708 1348, 2251, 2258, 1349, 1228, 1228, 1228, 1350, 1350, 1350,
1709 1227, 1351, 2259, 1338, 1352, 1354, 1354, 1354, 1233, 1233,
1711 1233, 1229, 1357, 1357, 1357, 2260, 1358, 2261, 2263, 1359,
1712 1360, 1360, 1360, 1355, 2264, 1234, 2265, 1344, 2266, 2267,
1713 1312, 1237, 1237, 1237, 1344, 1238, 2268, 1361, 1239, 1240,
1714 1240, 1240, 1363, 1363, 1363, 2269, 1364, 2270, 2271, 1365,
1715 1366, 1366, 1366, 1371, 1371, 1371, 1241, 909, 909, 909,
1716 1249, 1249, 1249, 2272, 1375, 1375, 1375, 1367, 1376, 2275,
1717 1372, 1377, 1378, 1378, 1378, 911, 2276, 1250, 1253, 1253,
1718 1253, 1381, 1381, 1381, 2277, 1382, 2278, 2279, 1383, 1379,
1719 1386, 1386, 1386, 2280, 2281, 1254, 933, 933, 933, 1263,
1720 1263, 1263, 1393, 1393, 1393, 2282, 1394, 2293, 1387, 1395,
1722 1397, 1397, 1397, 1517, 935, 793, 1264, 953, 953, 953,
1723 1516, 1373, 1402, 1402, 1402, 1404, 1404, 1404, 1398, 2291,
1724 2370, 2370, 2370, 793, 793, 955, 965, 965, 965, 1403,
1725 793, 793, 1405, 973, 973, 973, 1389, 2370, 1410, 1410,
1726 1410, 1412, 1412, 1412, 967, 983, 983, 983, 991, 991,
1727 991, 975, 1280, 1280, 1280, 1411, 1281, 1400, 1413, 1282,
1728 1287, 1287, 1287, 985, 793, 2283, 993, 1420, 1420, 1420,
1729 2285, 1421, 793, 2289, 1422, 793, 2367, 1288, 1409, 997,
1730 997, 997, 1406, 1004, 1004, 1004, 1292, 1292, 1292, 793,
1731 793, 1407, 1426, 1426, 1426, 793, 1427, 999, 1418, 1428,
1733 2299, 1006, 1515, 1293, 1429, 1429, 1429, 2284, 1414, 1435,
1734 1435, 1435, 806, 806, 806, 1442, 1442, 1442, 1446, 1446,
1735 1446, 2286, 1430, 1311, 1311, 1311, 1436, 1447, 1447, 1447,
1736 808, 1313, 1313, 1313, 2301, 2287, 1423, 1424, 1449, 1449,
1737 1449, 1317, 1317, 1317, 1455, 1455, 1455, 850, 850, 850,
1738 1460, 1460, 1460, 1335, 1335, 1335, 1514, 1336, 2294, 2292,
1739 1337, 793, 1456, 793, 793, 852, 793, 1461, 858, 858,
1740 858, 1437, 1474, 1474, 1474, 1343, 1343, 1343, 1478, 1478,
1741 1478, 1347, 1347, 1347, 793, 1348, 860, 2295, 1349, 1475,
1742 1350, 1350, 1350, 793, 1351, 793, 793, 1352, 1354, 1354,
1744 1354, 1357, 1357, 1357, 1459, 1358, 2290, 2288, 1359, 1360,
1745 1360, 1360, 2296, 1472, 793, 1513, 1355, 1485, 1485, 1485,
1746 793, 1486, 793, 2302, 1487, 793, 1361, 1363, 1363, 1363,
1747 793, 1364, 793, 2329, 1365, 1366, 1366, 1366, 1489, 1489,
1748 1489, 2297, 1490, 793, 793, 1491, 1492, 1492, 1492, 1371,
1749 1371, 1371, 1367, 1496, 1496, 1496, 2311, 1497, 2300, 2298,
1750 1498, 2307, 793, 1493, 2303, 793, 1372, 909, 909, 909,
1751 1375, 1375, 1375, 793, 1376, 2309, 2305, 1377, 1378, 1378,
1752 1378, 793, 1501, 1501, 1501, 911, 1502, 2306, 1509, 1503,
1753 1381, 1381, 1381, 793, 1382, 1379, 2304, 1383, 1386, 1386,
1755 1386, 933, 933, 933, 1510, 1510, 1510, 1393, 1393, 1393,
1756 793, 1394, 2310, 2330, 1395, 793, 1387, 1499, 793, 935,
1757 793, 1511, 1397, 1397, 1397, 1518, 1518, 1518, 1402, 1402,
1758 1402, 1521, 1521, 1521, 2317, 1522, 793, 1507, 1523, 1506,
1759 1398, 793, 1505, 1519, 2313, 1403, 965, 965, 965, 1512,
1760 1404, 1404, 1404, 1524, 1524, 1524, 2308, 1525, 793, 2318,
1761 1526, 2363, 793, 1508, 967, 793, 793, 1405, 973, 973,
1762 973, 1410, 1410, 1410, 1531, 1531, 1531, 2327, 1532, 793,
1763 2319, 1533, 1412, 1412, 1412, 2312, 975, 793, 1411, 1534,
1764 1534, 1534, 2314, 1535, 793, 2315, 1536, 793, 2316, 1413,
1766 983, 983, 983, 991, 991, 991, 2325, 1420, 1420, 1420,
1767 1528, 1421, 2364, 2321, 1422, 793, 1530, 793, 985, 793,
1768 2339, 993, 997, 997, 997, 1004, 1004, 1004, 1545, 1545,
1769 1545, 1426, 1426, 1426, 2343, 1427, 1504, 1500, 1428, 793,
1770 999, 2320, 793, 1006, 1429, 1429, 1429, 1435, 1435, 1435,
1771 1550, 1550, 1550, 2322, 1551, 1495, 2326, 1552, 806, 806,
1772 806, 2331, 1430, 1537, 1436, 793, 1541, 1554, 1554, 1554,
1773 793, 2323, 1543, 1557, 1557, 1557, 808, 1544, 1442, 1442,
1774 1442, 1560, 1560, 1560, 1446, 1446, 1446, 1447, 1447, 1447,
1775 1449, 1449, 1449, 1562, 1562, 1562, 1564, 1564, 1564, 1455,
1777 1455, 1455, 2324, 1569, 1569, 1569, 1460, 1460, 1460, 1571,
1778 1571, 1571, 793, 1572, 2344, 793, 1573, 1456, 793, 1494,
1779 1553, 1570, 793, 1461, 858, 858, 858, 1474, 1474, 1474,
1780 1586, 1586, 1586, 793, 1587, 1488, 793, 1588, 1589, 1589,
1781 1589, 1484, 860, 2357, 1475, 1478, 1478, 1478, 1485, 1485,
1782 1485, 2328, 1486, 793, 1483, 1487, 1489, 1489, 1489, 793,
1783 1490, 2335, 2332, 1491, 1492, 1492, 1492, 1600, 1600, 1600,
1784 2351, 1601, 1584, 793, 1602, 1496, 1496, 1496, 1482, 1497,
1785 793, 1493, 1498, 909, 909, 909, 1501, 1501, 1501, 2333,
1786 1502, 2337, 2340, 1503, 1611, 1611, 1611, 1510, 1510, 1510,
1788 793, 911, 1614, 1614, 1614, 793, 1615, 2352, 2336, 1616,
1789 1481, 793, 1612, 2367, 1511, 1518, 1518, 1518, 1521, 1521,
1790 1521, 2338, 1522, 793, 793, 1523, 1480, 1524, 1524, 1524,
1791 793, 1525, 793, 1519, 1526, 965, 965, 965, 973, 973,
1792 973, 2334, 1531, 1531, 1531, 1605, 1532, 793, 793, 1533,
1793 1534, 1534, 1534, 967, 1535, 2341, 975, 1536, 983, 983,
1794 983, 1631, 1631, 1631, 991, 991, 991, 2342, 997, 997,
1795 997, 1638, 1638, 1638, 1479, 1477, 985, 2345, 1632, 1545,
1796 1545, 1545, 993, 2347, 2348, 1627, 999, 1476, 1473, 1639,
1797 1640, 1640, 1640, 1630, 1643, 1643, 1643, 1550, 1550, 1550,
1799 1471, 1551, 1629, 1468, 1552, 806, 806, 806, 793, 1554,
1800 1554, 1554, 1645, 1645, 1645, 1557, 1557, 1557, 1647, 1647,
1801 1647, 793, 1467, 808, 793, 793, 1637, 1635, 1648, 1648,
1802 1648, 1560, 1560, 1560, 1562, 1562, 1562, 1564, 1564, 1564,
1803 1652, 1652, 1652, 1569, 1569, 1569, 1571, 1571, 1571, 1466,
1804 1572, 1463, 1462, 1573, 858, 858, 858, 1653, 1589, 1589,
1805 1589, 1570, 1644, 1586, 1586, 1586, 2346, 1587, 2353, 2354,
1806 1588, 1458, 860, 1600, 1600, 1600, 793, 1601, 1457, 1454,
1807 1602, 1679, 1679, 1679, 1611, 1611, 1611, 1686, 1686, 1686,
1808 1614, 1614, 1614, 1453, 1615, 793, 1452, 1616, 793, 1680,
1810 793, 1451, 1612, 1450, 1687, 1697, 1697, 1697, 1699, 1699,
1811 1699, 1448, 2355, 1665, 1701, 1701, 1701, 973, 973, 973,
1812 983, 983, 983, 1631, 1631, 1631, 1700, 1708, 1708, 1708,
1813 793, 1702, 1688, 1445, 2349, 975, 2356, 2350, 985, 1444,
1814 1632, 1705, 1705, 1705, 1709, 1706, 793, 793, 1707, 1711,
1815 1711, 1711, 1713, 1713, 1713, 997, 997, 997, 1638, 1638,
1816 1638, 2358, 1640, 1640, 1640, 2359, 1443, 1712, 1643, 1643,
1817 1643, 793, 1441, 999, 793, 1703, 1639, 2361, 2362, 1704,
1818 793, 1718, 1718, 1718, 1645, 1645, 1645, 1647, 1647, 1647,
1819 1648, 1648, 1648, 1652, 1652, 1652, 1724, 1724, 1724, 1719,
1821 1725, 1440, 2365, 1726, 1439, 858, 858, 858, 2360, 1438,
1822 1653, 1745, 1745, 1745, 1750, 1750, 1750, 793, 1434, 1714,
1823 793, 1425, 1715, 860, 1679, 1679, 1679, 1419, 1746, 1417,
1824 1416, 1751, 1755, 1755, 1755, 1686, 1686, 1686, 1415, 1758,
1825 1758, 1758, 1680, 1759, 1408, 1401, 1760, 1399, 1396, 1756,
1826 1392, 2366, 1687, 1766, 1766, 1766, 1697, 1697, 1697, 1699,
1827 1699, 1699, 1391, 1738, 1701, 1701, 1701, 1770, 1770, 1770,
1828 1767, 1771, 1390, 1388, 1772, 1385, 1384, 1700, 1773, 1773,
1829 1773, 1702, 983, 983, 983, 1705, 1705, 1705, 1380, 1706,
1830 1374, 1370, 1707, 1708, 1708, 1708, 1774, 1776, 1776, 1776,
1832 985, 1777, 1369, 1368, 1778, 1779, 1779, 1779, 1362, 1356,
1833 1709, 1711, 1711, 1711, 1713, 1713, 1713, 1781, 1781, 1781,
1834 1353, 1346, 1780, 1718, 1718, 1718, 1789, 1789, 1789, 1712,
1835 1724, 1724, 1724, 1345, 1725, 1782, 1342, 1726, 858, 858,
1836 858, 1719, 1341, 1790, 1807, 1807, 1807, 1775, 1811, 1811,
1837 1811, 1745, 1745, 1745, 1340, 1339, 860, 1750, 1750, 1750,
1838 1326, 1808, 1813, 1813, 1813, 1812, 1814, 1324, 1746, 1815,
1839 1323, 1819, 1819, 1819, 1751, 1820, 1321, 1320, 1821, 1319,
1840 1823, 1823, 1823, 1755, 1755, 1755, 1826, 1826, 1826, 1316,
1841 1827, 1315, 1310, 1828, 1309, 1308, 1806, 1824, 1307, 1306,
1843 1756, 1829, 1829, 1829, 1758, 1758, 1758, 1305, 1759, 1304,
1844 1303, 1760, 1766, 1766, 1766, 1834, 1834, 1834, 1830, 1835,
1845 1302, 1300, 1836, 1837, 1837, 1837, 1839, 1839, 1839, 1767,
1846 1770, 1770, 1770, 1299, 1771, 1298, 1165, 1772, 1291, 1286,
1847 1838, 1284, 1283, 1840, 1773, 1773, 1773, 983, 983, 983,
1848 1776, 1776, 1776, 1279, 1777, 1277, 1276, 1778, 1779, 1779,
1849 1779, 1274, 1774, 1272, 1271, 985, 1848, 1848, 1848, 1270,
1850 1849, 1267, 1262, 1850, 1261, 1780, 1781, 1781, 1781, 1854,
1851 1854, 1854, 1789, 1789, 1789, 1857, 1857, 1857, 1260, 1858,
1852 1258, 1256, 1859, 1255, 1782, 858, 858, 858, 1252, 1790,
1854 1807, 1807, 1807, 1874, 1874, 1874, 1251, 1875, 1248, 1246,
1855 1876, 1847, 1245, 860, 1877, 1877, 1877, 1808, 1878, 1878,
1856 1878, 1811, 1811, 1811, 1881, 1881, 1881, 1244, 1882, 1243,
1857 1242, 1883, 1813, 1813, 1813, 1879, 1814, 1236, 1812, 1815,
1858 1819, 1819, 1819, 1235, 1820, 1873, 1232, 1821, 1823, 1823,
1859 1823, 1888, 1888, 1888, 1222, 1889, 1221, 1220, 1890, 1219,
1860 1826, 1826, 1826, 1880, 1827, 1824, 1218, 1828, 1829, 1829,
1861 1829, 1892, 1892, 1892, 1215, 1893, 1214, 1213, 1894, 1896,
1862 1896, 1896, 1834, 1834, 1834, 1830, 1835, 1212, 1205, 1836,
1863 1837, 1837, 1837, 1899, 1899, 1899, 1897, 1900, 1202, 1198,
1865 1901, 1839, 1839, 1839, 1902, 1902, 1902, 1838, 1903, 1196,
1866 1195, 1904, 983, 983, 983, 1848, 1848, 1848, 1840, 1849,
1867 1191, 1190, 1850, 1914, 1914, 1914, 1854, 1854, 1854, 1188,
1868 985, 1857, 1857, 1857, 1187, 1858, 1186, 1185, 1859, 1184,
1869 1915, 1165, 1922, 1922, 1922, 858, 858, 858, 1874, 1874,
1870 1874, 1182, 1875, 1181, 1176, 1876, 1877, 1877, 1877, 1923,
1871 1175, 1174, 1911, 860, 1878, 1878, 1878, 1933, 1933, 1933,
1872 1173, 1934, 1172, 1170, 1935, 1881, 1881, 1881, 1169, 1882,
1873 1168, 1879, 1883, 1888, 1888, 1888, 1167, 1889, 1160, 1159,
1874 1890, 1156, 1155, 1932, 1892, 1892, 1892, 1153, 1893, 1152,
1876 1149, 1894, 1896, 1896, 1896, 1943, 1943, 1943, 1144, 1944,
1877 1143, 1138, 1945, 1899, 1899, 1899, 1136, 1900, 1132, 1897,
1878 1901, 1902, 1902, 1902, 1131, 1903, 1127, 1125, 1904, 1961,
1879 1961, 1961, 1964, 1964, 1964, 1914, 1914, 1914, 1966, 1966,
1880 1966, 1117, 1967, 1116, 1115, 1968, 1114, 1962, 1112, 1965,
1881 1165, 1110, 1915, 1165, 1109, 1108, 1165, 1969, 1969, 1969,
1882 1970, 1970, 1970, 1922, 1922, 1922, 1975, 1975, 1975, 1104,
1883 1976, 1103, 1102, 1977, 858, 858, 858, 1933, 1933, 1933,
1884 1923, 1934, 1101, 1099, 1935, 1988, 1988, 1988, 1991, 1991,
1885 1991, 1098, 860, 1993, 1993, 1993, 1943, 1943, 1943, 1097,
1887 1944, 1096, 1989, 1945, 1095, 1992, 1995, 1995, 1995, 1094,
1888 1994, 1961, 1961, 1961, 1964, 1964, 1964, 2010, 2010, 2010,
1889 1088, 2011, 1087, 1996, 2012, 1086, 1966, 1966, 1966, 1962,
1890 1967, 1965, 1165, 1968, 1085, 1165, 1083, 1082, 1984, 1969,
1891 1969, 1969, 1079, 1078, 1165, 1163, 1163, 1163, 1163, 1163,
1892 1163, 1163, 1163, 1163, 1077, 1076, 1163, 1970, 1970, 1970,
1893 1075, 1163, 1163, 1163, 1165, 1163, 1975, 1975, 1975, 1074,
1894 1976, 1073, 1072, 1977, 2030, 2030, 2030, 1071, 2031, 1068,
1895 1067, 2032, 2025, 2025, 2025, 1065, 1988, 1988, 1988, 1163,
1896 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
1898 2026, 1062, 1163, 1989, 1991, 1991, 1991, 1163, 1163, 1163,
1899 1165, 1163, 2034, 2034, 2034, 1059, 2035, 1050, 1048, 2036,
1900 1043, 1992, 1993, 1993, 1993, 2037, 2037, 2037, 1042, 2038,
1901 1041, 1040, 2039, 1039, 1038, 1163, 1163, 1037, 1034, 1994,
1902 1995, 1995, 1995, 2040, 2040, 2040, 1033, 2041, 1032, 1031,
1903 2042, 2010, 2010, 2010, 1030, 2011, 1029, 1996, 2012, 1028,
1904 1027, 2025, 2025, 2025, 2092, 2092, 2092, 1026, 1024, 1165,
1905 1163, 1163, 1163, 1163, 1163, 2061, 1163, 1163, 1163, 2026,
1906 1023, 1163, 1165, 1166, 1022, 1021, 1163, 1163, 1163, 1165,
1907 1163, 2030, 2030, 2030, 1020, 2031, 1019, 1018, 2032, 2034,
1909 2034, 2034, 793, 2035, 1012, 1008, 2036, 996, 2095, 2095,
1910 2095, 2097, 2097, 2097, 1163, 1163, 1163, 1163, 1163, 1163,
1911 1163, 1163, 1163, 1163, 2061, 2096, 995, 1163, 2098, 990,
1912 989, 988, 1163, 1163, 1163, 1165, 1163, 2037, 2037, 2037,
1913 987, 2038, 969, 957, 2039, 2040, 2040, 2040, 943, 2041,
1914 942, 941, 2042, 2099, 2099, 2099, 2107, 2107, 2107, 937,
1915 1163, 1163, 2119, 2119, 2119, 2092, 2092, 2092, 929, 924,
1916 2100, 923, 922, 2108, 2095, 2095, 2095, 2123, 2123, 2123,
1917 793, 2124, 916, 1165, 2125, 2097, 2097, 2097, 2126, 2126,
1918 2126, 2096, 2127, 913, 908, 2128, 2099, 2099, 2099, 2129,
1920 2129, 2129, 2098, 2130, 907, 906, 2131, 2107, 2107, 2107,
1921 2138, 2138, 2138, 2100, 2139, 1296, 905, 2140, 2119, 2119,
1922 2119, 2123, 2123, 2123, 2108, 2124, 904, 903, 2125, 897,
1923 2126, 2126, 2126, 890, 2127, 885, 793, 2128, 2129, 2129,
1924 2129, 884, 2130, 880, 879, 2131, 2138, 2138, 2138, 878,
1925 2139, 877, 876, 2140, 2151, 2262, 2262, 2262, 2262, 2262,
1926 2262, 875, 2273, 874, 873, 2274, 2368, 2368, 2368, 2368,
1927 2368, 2368, 872, 793, 866, 862, 793, 857, 856, 855,
1928 854, 849, 846, 840, 2369, 835, 834, 2369, 186, 186,
1929 186, 186, 186, 186, 186, 186, 186, 187, 187, 187,
1931 187, 187, 187, 187, 187, 187, 192, 192, 192, 192,
1932 192, 192, 192, 192, 192, 195, 195, 195, 195, 195,
1933 195, 195, 195, 195, 198, 198, 198, 198, 198, 198,
1934 198, 198, 198, 201, 201, 201, 201, 201, 201, 201,
1935 201, 201, 208, 208, 208, 208, 208, 208, 208, 208,
1936 208, 216, 216, 216, 216, 216, 216, 216, 216, 216,
1937 220, 220, 220, 220, 220, 220, 220, 220, 220, 231,
1938 231, 231, 231, 231, 231, 231, 231, 231, 242, 242,
1939 242, 242, 242, 242, 242, 242, 242, 249, 249, 249,
1940 249, 249, 249, 249, 249, 249, 257, 257, 257, 257,
1942 257, 257, 257, 257, 257, 263, 263, 263, 263, 263,
1943 263, 263, 263, 263, 269, 269, 269, 269, 269, 269,
1944 269, 269, 269, 275, 275, 275, 275, 275, 275, 275,
1945 275, 275, 292, 292, 292, 292, 292, 292, 292, 292,
1946 292, 300, 300, 300, 300, 300, 300, 300, 300, 300,
1947 318, 318, 318, 318, 318, 318, 318, 318, 318, 334,
1948 334, 334, 334, 334, 334, 334, 334, 334, 340, 340,
1949 340, 340, 340, 340, 340, 340, 340, 345, 345, 345,
1950 345, 345, 345, 345, 345, 345, 351, 351, 351, 351,
1951 351, 351, 351, 351, 351, 358, 358, 358, 358, 358,
1953 358, 358, 358, 358, 365, 365, 365, 365, 365, 365,
1954 365, 365, 365, 370, 370, 370, 370, 370, 370, 370,
1955 370, 370, 378, 378, 378, 378, 378, 378, 378, 378,
1956 378, 384, 384, 384, 384, 384, 384, 384, 384, 384,
1957 391, 391, 391, 391, 391, 391, 391, 391, 391, 396,
1958 396, 396, 396, 396, 396, 396, 396, 396, 402, 402,
1959 402, 402, 402, 402, 402, 402, 402, 408, 408, 408,
1960 408, 408, 408, 408, 408, 408, 415, 415, 415, 415,
1961 415, 415, 415, 415, 415, 422, 422, 422, 422, 422,
1962 422, 422, 422, 422, 430, 430, 430, 430, 430, 430,
1964 430, 430, 430, 434, 434, 434, 434, 434, 434, 434,
1965 434, 434, 440, 440, 440, 440, 440, 440, 440, 440,
1966 440, 444, 444, 444, 444, 444, 444, 444, 444, 444,
1967 452, 452, 452, 452, 452, 452, 452, 452, 452, 457,
1968 457, 457, 457, 457, 457, 457, 457, 457, 477, 477,
1969 477, 830, 829, 828, 477, 497, 497, 497, 827, 826,
1970 824, 497, 505, 505, 505, 823, 822, 821, 505, 515,
1971 515, 515, 820, 819, 818, 515, 521, 521, 521, 817,
1972 816, 815, 521, 535, 535, 535, 814, 813, 812, 535,
1973 543, 543, 543, 805, 804, 803, 543, 558, 558, 558,
1975 802, 801, 800, 558, 569, 569, 569, 799, 796, 794,
1976 569, 574, 574, 574, 793, 791, 789, 574, 582, 582,
1977 582, 785, 781, 779, 582, 589, 589, 589, 778, 777,
1978 775, 589, 596, 596, 596, 774, 773, 772, 596, 601,
1979 601, 601, 771, 769, 768, 601, 607, 607, 607, 767,
1980 766, 762, 607, 615, 615, 615, 761, 759, 758, 615,
1981 619, 619, 619, 757, 756, 755, 619, 624, 624, 624,
1982 754, 752, 751, 624, 628, 628, 628, 628, 628, 628,
1983 628, 750, 628, 477, 477, 477, 749, 747, 746, 477,
1984 643, 745, 742, 741, 643, 497, 497, 497, 737, 736,
1986 734, 497, 669, 733, 732, 731, 669, 505, 505, 505,
1987 728, 727, 726, 505, 679, 725, 723, 722, 679, 515,
1988 515, 515, 721, 720, 719, 515, 685, 718, 717, 714,
1989 685, 521, 521, 521, 711, 710, 709, 521, 691, 707,
1990 706, 701, 691, 708, 698, 696, 695, 708, 543, 543,
1991 543, 694, 693, 692, 543, 724, 690, 687, 686, 724,
1992 558, 558, 558, 684, 683, 682, 558, 735, 680, 678,
1993 677, 735, 569, 569, 569, 676, 675, 672, 569, 740,
1994 671, 670, 667, 740, 574, 574, 574, 664, 662, 659,
1995 574, 748, 657, 651, 650, 748, 582, 582, 582, 647,
1997 646, 645, 582, 753, 644, 642, 641, 753, 589, 589,
1998 589, 640, 639, 638, 589, 760, 637, 632, 629, 760,
1999 596, 596, 596, 631, 626, 625, 596, 765, 623, 487,
2000 620, 765, 601, 601, 601, 618, 616, 614, 601, 770,
2001 2370, 611, 610, 770, 607, 607, 607, 609, 608, 606,
2002 607, 776, 605, 604, 603, 776, 615, 615, 615, 602,
2003 600, 598, 615, 780, 597, 595, 594, 780, 619, 619,
2004 619, 591, 590, 588, 619, 784, 485, 2370, 583, 784,
2005 624, 624, 624, 581, 577, 576, 624, 790, 575, 573,
2006 571, 790, 792, 792, 792, 792, 792, 792, 792, 792,
2008 792, 798, 570, 568, 564, 563, 798, 477, 477, 477,
2009 562, 561, 560, 477, 807, 807, 807, 807, 559, 557,
2010 807, 807, 497, 497, 497, 552, 549, 548, 497, 837,
2011 837, 837, 837, 547, 544, 837, 837, 505, 505, 505,
2012 542, 540, 539, 505, 851, 851, 851, 851, 538, 537,
2013 851, 851, 515, 515, 515, 536, 534, 2370, 515, 859,
2014 859, 859, 859, 490, 529, 859, 859, 521, 521, 521,
2015 524, 523, 522, 521, 868, 868, 868, 868, 520, 518,
2016 868, 868, 535, 535, 535, 517, 516, 514, 535, 887,
2017 887, 887, 887, 511, 507, 887, 887, 543, 543, 543,
2019 506, 504, 503, 543, 910, 910, 910, 910, 500, 499,
2020 910, 910, 558, 558, 558, 498, 496, 495, 558, 926,
2021 926, 926, 926, 2370, 489, 926, 926, 569, 569, 569,
2022 478, 476, 474, 569, 934, 934, 934, 934, 468, 467,
2023 934, 934, 574, 574, 574, 468, 467, 466, 574, 945,
2024 945, 945, 945, 465, 2370, 945, 945, 582, 582, 582,
2025 582, 2370, 582, 2370, 582, 954, 954, 954, 954, 2370,
2026 2370, 954, 954, 589, 589, 589, 589, 2370, 589, 2370,
2027 589, 966, 966, 966, 966, 2370, 2370, 966, 966, 596,
2028 596, 596, 2370, 2370, 2370, 596, 974, 974, 974, 974,
2030 2370, 2370, 974, 974, 601, 601, 601, 601, 2370, 601,
2031 2370, 601, 984, 984, 984, 984, 2370, 2370, 984, 984,
2032 607, 607, 607, 2370, 2370, 2370, 607, 992, 992, 992,
2033 992, 2370, 2370, 992, 992, 615, 615, 615, 2370, 2370,
2034 2370, 615, 998, 998, 998, 998, 2370, 2370, 998, 998,
2035 1005, 1005, 1005, 1005, 2370, 2370, 1005, 1005, 624, 624,
2036 624, 2370, 2370, 2370, 624, 1014, 1014, 1014, 1014, 2370,
2037 2370, 1014, 1014, 792, 792, 792, 792, 792, 792, 792,
2038 792, 792, 798, 2370, 798, 2370, 2370, 798, 477, 477,
2039 477, 2370, 2370, 2370, 477, 807, 807, 807, 807, 2370,
2041 2370, 807, 807, 497, 497, 497, 497, 2370, 497, 2370,
2042 497, 837, 837, 837, 837, 2370, 2370, 837, 837, 505,
2043 505, 505, 2370, 2370, 2370, 505, 851, 851, 851, 851,
2044 2370, 2370, 851, 851, 515, 515, 515, 2370, 2370, 2370,
2045 515, 859, 859, 859, 859, 2370, 2370, 859, 859, 521,
2046 521, 521, 2370, 2370, 2370, 521, 868, 868, 868, 868,
2047 2370, 2370, 868, 868, 535, 535, 535, 2370, 2370, 2370,
2048 535, 887, 887, 887, 887, 2370, 2370, 887, 887, 543,
2049 543, 543, 2370, 2370, 2370, 543, 910, 910, 910, 910,
2050 2370, 2370, 910, 910, 558, 558, 558, 2370, 2370, 2370,
2052 558, 926, 926, 926, 926, 2370, 2370, 926, 926, 569,
2053 569, 569, 2370, 2370, 2370, 569, 934, 934, 934, 934,
2054 2370, 2370, 934, 934, 574, 574, 574, 2370, 2370, 2370,
2055 574, 945, 945, 945, 945, 2370, 2370, 945, 945, 582,
2056 582, 582, 2370, 2370, 2370, 582, 954, 954, 954, 954,
2057 2370, 2370, 954, 954, 589, 589, 589, 2370, 2370, 2370,
2058 589, 966, 966, 966, 966, 2370, 2370, 966, 966, 596,
2059 596, 596, 2370, 2370, 2370, 596, 974, 974, 974, 974,
2060 2370, 2370, 974, 974, 601, 601, 601, 2370, 2370, 2370,
2061 601, 984, 984, 984, 984, 2370, 2370, 984, 984, 607,
2063 607, 607, 2370, 2370, 2370, 607, 992, 992, 992, 992,
2064 2370, 2370, 992, 992, 615, 615, 615, 2370, 2370, 2370,
2065 615, 998, 998, 998, 998, 2370, 2370, 998, 998, 1005,
2066 1005, 1005, 1005, 2370, 2370, 1005, 1005, 624, 624, 624,
2067 2370, 2370, 2370, 624, 1014, 1014, 1014, 1014, 2370, 2370,
2068 1014, 1014, 792, 792, 792, 792, 792, 792, 792, 792,
2069 792, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
2070 477, 477, 477, 2370, 2370, 2370, 477, 807, 807, 807,
2071 807, 2370, 2370, 807, 807, 497, 497, 497, 2370, 2370,
2072 2370, 497, 837, 837, 837, 837, 2370, 2370, 837, 837,
2074 505, 505, 505, 2370, 2370, 2370, 505, 851, 851, 851,
2075 851, 2370, 2370, 851, 851, 515, 515, 515, 2370, 2370,
2076 2370, 515, 859, 859, 859, 859, 2370, 2370, 859, 859,
2077 521, 521, 521, 2370, 2370, 2370, 521, 535, 535, 535,
2078 2370, 2370, 2370, 535, 887, 887, 887, 887, 2370, 2370,
2079 887, 887, 543, 543, 543, 2370, 2370, 2370, 543, 910,
2080 910, 910, 910, 2370, 2370, 910, 910, 558, 558, 558,
2081 2370, 2370, 2370, 558, 926, 926, 926, 926, 2370, 2370,
2082 926, 926, 569, 569, 569, 2370, 2370, 2370, 569, 934,
2083 934, 934, 934, 2370, 2370, 934, 934, 574, 574, 574,
2085 2370, 2370, 2370, 574, 945, 945, 945, 945, 2370, 2370,
2086 945, 945, 582, 582, 582, 2370, 2370, 2370, 582, 954,
2087 954, 954, 954, 2370, 2370, 954, 954, 589, 589, 589,
2088 2370, 2370, 2370, 589, 966, 966, 966, 966, 2370, 2370,
2089 966, 966, 596, 596, 596, 2370, 2370, 2370, 596, 974,
2090 974, 974, 974, 2370, 2370, 974, 974, 601, 601, 601,
2091 2370, 2370, 2370, 601, 984, 984, 984, 984, 2370, 2370,
2092 984, 984, 607, 607, 607, 2370, 2370, 2370, 607, 992,
2093 992, 992, 992, 2370, 2370, 992, 992, 615, 615, 615,
2094 615, 2370, 615, 2370, 615, 998, 998, 998, 998, 2370,
2096 2370, 998, 998, 1005, 1005, 1005, 1005, 2370, 2370, 1005,
2097 1005, 624, 624, 624, 624, 2370, 624, 2370, 624, 1014,
2098 1014, 1014, 1014, 2370, 2370, 1014, 1014, 792, 792, 792,
2099 792, 792, 792, 792, 792, 792, 1163, 1163, 1163, 1163,
2100 1163, 1163, 1163, 1163, 1163, 477, 477, 477, 2370, 2370,
2101 2370, 477, 807, 807, 807, 807, 2370, 2370, 807, 807,
2102 497, 497, 497, 2370, 2370, 2370, 497, 837, 837, 837,
2103 837, 2370, 2370, 837, 837, 505, 505, 505, 2370, 2370,
2104 2370, 505, 851, 851, 851, 851, 2370, 2370, 851, 851,
2105 515, 515, 515, 2370, 2370, 2370, 515, 859, 859, 859,
2107 859, 2370, 2370, 859, 859, 521, 521, 521, 2370, 2370,
2108 2370, 521, 535, 535, 535, 2370, 2370, 2370, 535, 887,
2109 887, 887, 887, 2370, 2370, 887, 887, 543, 543, 543,
2110 2370, 2370, 2370, 543, 910, 910, 910, 910, 2370, 2370,
2111 910, 910, 558, 558, 558, 2370, 2370, 2370, 558, 926,
2112 926, 926, 926, 2370, 2370, 926, 926, 569, 569, 569,
2113 2370, 2370, 2370, 569, 934, 934, 934, 934, 2370, 2370,
2114 934, 934, 574, 574, 574, 2370, 2370, 2370, 574, 945,
2115 945, 945, 945, 2370, 2370, 945, 945, 582, 582, 582,
2116 2370, 2370, 2370, 582, 954, 954, 954, 954, 2370, 2370,
2118 954, 954, 589, 589, 589, 589, 2370, 589, 2370, 589,
2119 966, 966, 966, 966, 2370, 2370, 966, 966, 596, 596,
2120 596, 2370, 2370, 2370, 596, 974, 974, 974, 974, 2370,
2121 2370, 974, 974, 601, 601, 601, 601, 2370, 601, 2370,
2122 601, 984, 984, 984, 984, 2370, 2370, 984, 984, 607,
2123 607, 607, 2370, 2370, 2370, 607, 992, 992, 992, 992,
2124 2370, 2370, 992, 992, 998, 998, 998, 998, 2370, 2370,
2125 998, 998, 1005, 1005, 1005, 1005, 2370, 2370, 1005, 1005,
2126 1014, 1014, 1014, 1014, 2370, 2370, 1014, 1014, 792, 792,
2127 792, 792, 792, 792, 792, 792, 792, 1163, 1163, 1163,
2129 1163, 1163, 1163, 1163, 1163, 1163, 477, 477, 477, 477,
2130 2370, 477, 2370, 477, 807, 807, 807, 807, 2370, 2370,
2131 807, 807, 497, 497, 497, 2370, 2370, 2370, 497, 837,
2132 837, 837, 837, 2370, 2370, 837, 837, 505, 505, 505,
2133 2370, 2370, 2370, 505, 851, 851, 851, 851, 2370, 2370,
2134 851, 851, 515, 515, 515, 515, 2370, 515, 2370, 515,
2135 859, 859, 859, 859, 2370, 2370, 859, 859, 521, 521,
2136 521, 2370, 2370, 2370, 521, 535, 535, 535, 2370, 2370,
2137 2370, 535, 543, 543, 543, 2370, 2370, 2370, 543, 910,
2138 910, 910, 910, 2370, 2370, 910, 910, 558, 558, 558,
2140 2370, 2370, 2370, 558, 569, 569, 569, 2370, 2370, 2370,
2141 569, 934, 934, 934, 934, 2370, 2370, 934, 934, 574,
2142 574, 574, 2370, 2370, 2370, 574, 582, 582, 582, 2370,
2143 2370, 2370, 582, 954, 954, 954, 954, 2370, 2370, 954,
2144 954, 589, 589, 589, 2370, 2370, 2370, 589, 966, 966,
2145 966, 966, 2370, 2370, 966, 966, 596, 596, 596, 2370,
2146 2370, 2370, 596, 974, 974, 974, 974, 2370, 2370, 974,
2147 974, 984, 984, 984, 984, 2370, 2370, 984, 984, 607,
2148 607, 607, 2370, 2370, 2370, 607, 992, 992, 992, 992,
2149 2370, 2370, 992, 992, 998, 998, 998, 998, 2370, 2370,
2151 998, 998, 1005, 1005, 1005, 1005, 2370, 2370, 1005, 1005,
2152 792, 792, 792, 792, 792, 792, 792, 792, 792, 1163,
2153 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 2013, 2013,
2154 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2014, 2014, 2014,
2155 2014, 2014, 2014, 2014, 2014, 2014, 2056, 2056, 2056, 2056,
2156 2056, 2056, 2056, 2056, 2056, 2059, 2059, 2059, 2059, 2059,
2157 2059, 2059, 2059, 2059, 2089, 2089, 2089, 2089, 2089, 2089,
2158 2089, 2089, 2089, 2091, 2091, 2091, 2091, 2091, 2091, 2091,
2159 2091, 2091, 185, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
2160 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
2162 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
2163 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
2164 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
2165 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
2166 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
2167 2370, 2370, 2370, 2370
2170 static yyconst flex_int16_t yy_chk[7755] =
2172 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
2173 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
2174 4, 10, 282, 5, 387, 9, 6, 0, 10, 7,
2175 8, 8, 8, 190, 11, 13, 13, 12, 14, 14,
2176 13, 13, 286, 14, 14, 191, 8, 17, 17, 190,
2177 13, 15, 15, 14, 15, 194, 15, 16, 16, 282,
2178 16, 191, 16, 18, 18, 1401, 15, 19, 19, 19,
2179 387, 194, 16, 20, 20, 20, 23, 23, 23, 24,
2180 24, 24, 280, 19, 25, 25, 25, 1406, 212, 20,
2181 17, 280, 23, 1408, 286, 24, 188, 188, 188, 251,
2183 25, 189, 189, 189, 212, 225, 18, 21, 21, 21,
2184 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2185 21, 21, 252, 21, 21, 21, 21, 21, 26, 26,
2186 26, 27, 27, 27, 28, 28, 28, 29, 29, 29,
2187 30, 30, 30, 225, 26, 212, 288, 27, 288, 251,
2188 28, 21, 21, 29, 217, 225, 30, 31, 31, 31,
2189 193, 193, 193, 214, 214, 214, 221, 221, 221, 448,
2190 217, 448, 252, 31, 21, 22, 22, 22, 22, 22,
2191 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2192 253, 22, 22, 22, 22, 22, 32, 32, 32, 33,
2194 33, 33, 34, 34, 34, 35, 35, 35, 36, 36,
2195 36, 315, 32, 470, 315, 33, 470, 311, 34, 22,
2196 22, 35, 232, 243, 36, 37, 37, 37, 38, 38,
2197 38, 229, 229, 229, 240, 240, 240, 311, 232, 243,
2198 253, 37, 22, 1415, 38, 39, 39, 39, 39, 39,
2199 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
2200 461, 39, 39, 39, 39, 39, 45, 45, 45, 46,
2201 46, 46, 47, 47, 47, 461, 48, 48, 48, 41,
2202 41, 630, 45, 283, 41, 46, 42, 42, 47, 39,
2203 39, 42, 48, 283, 41, 247, 630, 39, 302, 247,
2205 39, 42, 1416, 247, 1162, 303, 39, 40, 40, 40,
2206 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
2207 40, 40, 41, 40, 40, 40, 40, 40, 1162, 42,
2208 49, 49, 49, 50, 50, 50, 1417, 51, 51, 51,
2209 52, 52, 52, 250, 250, 250, 49, 237, 302, 50,
2210 333, 40, 40, 51, 237, 303, 52, 1419, 1434, 40,
2211 369, 333, 40, 237, 255, 255, 255, 369, 40, 43,
2212 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
2213 43, 43, 43, 43, 1439, 43, 43, 43, 43, 43,
2214 55, 55, 55, 56, 56, 56, 59, 59, 59, 60,
2216 60, 60, 61, 61, 61, 258, 55, 270, 317, 56,
2217 265, 1440, 59, 43, 43, 60, 293, 265, 61, 317,
2218 317, 258, 43, 270, 43, 360, 265, 43, 264, 264,
2219 264, 1443, 293, 43, 44, 44, 44, 44, 44, 44,
2220 44, 44, 44, 44, 44, 44, 44, 44, 44, 284,
2221 44, 44, 44, 44, 44, 62, 62, 62, 63, 63,
2222 63, 64, 64, 64, 65, 65, 65, 66, 66, 66,
2223 483, 62, 308, 483, 63, 360, 284, 64, 44, 44,
2224 65, 325, 426, 66, 267, 267, 267, 44, 308, 44,
2225 361, 284, 44, 276, 276, 276, 426, 325, 44, 53,
2227 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
2228 53, 53, 53, 53, 501, 53, 53, 53, 53, 53,
2229 67, 67, 67, 68, 68, 68, 69, 69, 69, 70,
2230 70, 70, 71, 71, 71, 357, 67, 795, 341, 68,
2231 361, 795, 69, 53, 53, 70, 357, 820, 71, 501,
2232 53, 290, 290, 290, 341, 53, 301, 301, 301, 820,
2233 285, 305, 305, 305, 53, 54, 54, 54, 54, 54,
2234 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
2235 1444, 54, 54, 54, 54, 54, 72, 72, 72, 73,
2236 73, 73, 74, 74, 74, 75, 75, 75, 76, 76,
2238 76, 489, 72, 285, 489, 73, 285, 1329, 74, 54,
2239 54, 75, 285, 320, 76, 1329, 54, 319, 319, 319,
2240 320, 54, 322, 322, 322, 335, 335, 335, 424, 320,
2241 54, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2242 57, 57, 57, 57, 57, 57, 411, 57, 57, 57,
2243 57, 57, 77, 77, 77, 78, 78, 78, 79, 79,
2244 79, 80, 80, 80, 424, 81, 81, 81, 77, 352,
2245 491, 78, 336, 491, 79, 57, 57, 80, 424, 336,
2246 57, 81, 338, 338, 338, 352, 57, 372, 336, 346,
2247 346, 346, 411, 1448, 57, 58, 58, 58, 58, 58,
2249 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
2250 1451, 58, 58, 58, 58, 58, 82, 82, 82, 83,
2251 83, 83, 84, 84, 84, 85, 85, 85, 1453, 86,
2252 86, 86, 82, 372, 1297, 83, 383, 372, 84, 58,
2253 58, 85, 487, 383, 58, 86, 87, 87, 87, 347,
2254 58, 88, 88, 88, 537, 487, 347, 537, 58, 349,
2255 349, 349, 87, 1433, 1017, 347, 1297, 88, 89, 89,
2256 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2257 89, 89, 89, 1017, 89, 89, 89, 89, 89, 91,
2258 91, 91, 92, 92, 92, 93, 93, 93, 94, 94,
2260 94, 1333, 95, 95, 95, 91, 366, 1433, 92, 1333,
2261 1454, 93, 89, 89, 94, 89, 829, 89, 95, 359,
2262 359, 359, 366, 89, 363, 363, 363, 1457, 829, 89,
2263 1458, 1462, 89, 90, 90, 90, 90, 90, 90, 90,
2264 90, 90, 90, 90, 90, 90, 90, 90, 1463, 90,
2265 90, 90, 90, 90, 96, 96, 96, 97, 97, 97,
2266 98, 98, 98, 101, 101, 101, 1431, 102, 102, 102,
2267 96, 379, 1431, 97, 1464, 1465, 98, 90, 90, 101,
2268 90, 854, 90, 102, 371, 371, 371, 379, 90, 376,
2269 376, 376, 1466, 854, 90, 1467, 1468, 90, 99, 99,
2271 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2272 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2273 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2274 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2275 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2276 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
2277 99, 99, 99, 99, 99, 99, 99, 99, 99, 103,
2278 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2279 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2280 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2282 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2283 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2284 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2285 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2286 105, 105, 105, 106, 106, 106, 385, 385, 385, 389,
2287 389, 389, 397, 397, 397, 1469, 105, 1470, 1471, 106,
2288 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
2289 107, 107, 107, 107, 107, 1473, 107, 107, 107, 107,
2290 107, 109, 109, 109, 110, 110, 110, 113, 113, 113,
2291 114, 114, 114, 1477, 115, 115, 115, 109, 392, 1479,
2293 110, 1432, 727, 113, 107, 107, 114, 727, 1480, 107,
2294 115, 400, 400, 400, 392, 107, 108, 108, 108, 108,
2295 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
2296 108, 1432, 108, 108, 108, 108, 108, 116, 116, 116,
2297 117, 117, 117, 118, 118, 118, 119, 119, 119, 1483,
2298 120, 120, 120, 116, 403, 1484, 117, 1481, 1488, 118,
2299 108, 108, 119, 1494, 1481, 108, 120, 409, 409, 409,
2300 403, 108, 111, 111, 111, 111, 111, 111, 111, 111,
2301 111, 111, 111, 111, 111, 111, 111, 1495, 111, 111,
2302 111, 111, 111, 123, 123, 123, 124, 124, 124, 125,
2304 125, 125, 126, 126, 126, 127, 127, 127, 1500, 123,
2305 1504, 1505, 124, 1506, 416, 125, 111, 111, 126, 398,
2306 111, 127, 413, 413, 413, 1507, 398, 111, 1509, 111,
2307 416, 423, 423, 423, 1512, 398, 111, 112, 112, 112,
2308 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
2309 112, 112, 1513, 112, 112, 112, 112, 112, 128, 128,
2310 128, 129, 129, 129, 130, 130, 130, 133, 133, 133,
2311 134, 134, 134, 1516, 128, 431, 1517, 129, 486, 1520,
2312 130, 112, 112, 133, 486, 112, 134, 428, 428, 428,
2313 486, 431, 112, 1527, 112, 435, 435, 435, 438, 438,
2315 438, 112, 121, 121, 121, 121, 121, 121, 121, 121,
2316 121, 121, 121, 121, 121, 121, 121, 1529, 121, 121,
2317 121, 121, 121, 135, 135, 135, 136, 136, 136, 137,
2318 137, 137, 138, 138, 138, 139, 139, 139, 441, 135,
2319 530, 1539, 136, 436, 1540, 137, 121, 121, 138, 453,
2320 436, 139, 121, 530, 441, 445, 445, 445, 1542, 436,
2321 450, 450, 450, 1296, 1547, 453, 121, 122, 122, 122,
2322 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
2323 122, 122, 1556, 122, 122, 122, 122, 122, 140, 140,
2324 140, 143, 143, 143, 144, 144, 144, 147, 147, 147,
2326 148, 148, 148, 1296, 140, 1547, 1561, 143, 459, 1295,
2327 144, 122, 122, 147, 1563, 459, 148, 122, 458, 458,
2328 458, 460, 460, 460, 459, 1295, 469, 469, 469, 1565,
2329 1568, 122, 131, 131, 131, 131, 131, 131, 131, 131,
2330 131, 131, 131, 131, 131, 131, 131, 1574, 131, 131,
2331 131, 131, 131, 149, 149, 149, 150, 150, 150, 151,
2332 151, 151, 152, 152, 152, 153, 153, 153, 492, 149,
2333 1575, 532, 150, 533, 492, 151, 131, 131, 152, 622,
2334 492, 153, 131, 469, 532, 131, 533, 633, 633, 633,
2335 1548, 633, 622, 645, 645, 645, 131, 132, 132, 132,
2337 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
2338 132, 132, 1576, 132, 132, 132, 132, 132, 154, 154,
2339 154, 157, 157, 157, 158, 158, 158, 159, 159, 159,
2340 160, 160, 160, 494, 154, 1548, 1577, 157, 1578, 494,
2341 158, 132, 132, 159, 1579, 494, 160, 132, 495, 1580,
2342 132, 659, 659, 659, 495, 645, 810, 810, 810, 1581,
2343 495, 132, 141, 141, 141, 141, 141, 141, 141, 141,
2344 141, 141, 141, 141, 141, 141, 141, 1582, 141, 141,
2345 141, 141, 141, 161, 161, 161, 162, 162, 162, 163,
2346 163, 163, 164, 164, 164, 167, 167, 167, 513, 161,
2348 711, 1583, 162, 1585, 513, 163, 141, 141, 164, 711,
2349 513, 167, 141, 659, 1590, 1591, 711, 141, 142, 142,
2350 142, 142, 142, 142, 142, 142, 142, 142, 142, 142,
2351 142, 142, 142, 1592, 142, 142, 142, 142, 142, 168,
2352 168, 168, 171, 171, 171, 172, 172, 172, 173, 173,
2353 173, 174, 174, 174, 1593, 168, 1594, 1595, 171, 1482,
2354 1596, 172, 142, 142, 173, 1597, 1482, 174, 142, 1598,
2355 693, 693, 693, 142, 145, 145, 145, 145, 145, 145,
2356 145, 145, 145, 145, 145, 145, 145, 145, 145, 1599,
2357 145, 145, 145, 145, 145, 175, 175, 175, 176, 176,
2359 176, 177, 177, 177, 178, 178, 178, 181, 181, 181,
2360 1603, 175, 1604, 1606, 176, 1607, 1608, 177, 145, 145,
2361 178, 1609, 204, 181, 145, 1610, 224, 145, 446, 666,
2362 666, 666, 693, 666, 1617, 1618, 666, 1619, 145, 146,
2363 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
2364 146, 146, 146, 146, 224, 146, 146, 146, 146, 146,
2365 182, 182, 182, 204, 446, 1514, 224, 1620, 1207, 204,
2366 224, 1621, 1514, 204, 1207, 1515, 182, 1207, 204, 1622,
2367 446, 1207, 1515, 146, 146, 499, 499, 499, 277, 146,
2368 1623, 278, 146, 674, 674, 674, 1624, 674, 277, 1626,
2370 674, 278, 499, 146, 155, 155, 155, 155, 155, 155,
2371 155, 155, 155, 155, 155, 155, 155, 155, 155, 1634,
2372 155, 155, 155, 155, 155, 277, 1641, 1642, 278, 278,
2373 1646, 277, 1649, 1650, 277, 507, 507, 507, 1651, 1654,
2374 277, 278, 523, 523, 523, 538, 538, 538, 155, 155,
2375 1655, 1656, 507, 825, 825, 825, 155, 1641, 155, 523,
2376 155, 1657, 538, 1642, 698, 698, 698, 1658, 155, 156,
2377 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
2378 156, 156, 156, 156, 1659, 156, 156, 156, 156, 156,
2379 546, 546, 546, 548, 548, 548, 1660, 1661, 562, 562,
2381 562, 571, 571, 571, 643, 643, 643, 546, 1662, 1663,
2382 548, 1208, 1664, 156, 156, 562, 1666, 1208, 571, 1667,
2383 1208, 156, 643, 156, 1208, 156, 698, 1031, 1031, 1031,
2384 1033, 1033, 1033, 156, 165, 165, 165, 165, 165, 165,
2385 165, 165, 165, 165, 165, 165, 165, 165, 165, 1668,
2386 165, 165, 165, 165, 165, 576, 576, 576, 598, 598,
2387 598, 1669, 1670, 620, 620, 620, 625, 625, 625, 644,
2388 644, 644, 576, 1672, 1675, 598, 1676, 1677, 165, 165,
2389 620, 1681, 1682, 625, 689, 689, 689, 644, 689, 1683,
2390 1685, 689, 705, 705, 705, 1688, 705, 1689, 1690, 705,
2392 1691, 165, 166, 166, 166, 166, 166, 166, 166, 166,
2393 166, 166, 166, 166, 166, 166, 166, 1693, 166, 166,
2394 166, 166, 166, 1696, 1698, 644, 665, 665, 665, 1720,
2395 669, 669, 669, 670, 670, 670, 673, 673, 673, 675,
2396 675, 675, 1721, 665, 1722, 1727, 166, 166, 669, 1728,
2397 1725, 670, 1729, 673, 1730, 1731, 675, 713, 713, 713,
2398 1716, 713, 1725, 1732, 713, 1032, 1032, 1032, 1717, 166,
2399 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
2400 169, 169, 169, 169, 169, 1715, 169, 169, 169, 169,
2401 169, 677, 677, 677, 1733, 670, 1716, 1734, 679, 679,
2403 679, 680, 680, 680, 685, 685, 685, 1735, 677, 1717,
2404 1032, 1036, 1036, 1036, 169, 169, 679, 1736, 1737, 680,
2405 1740, 1741, 685, 1715, 1747, 169, 170, 170, 170, 170,
2406 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
2407 170, 1748, 170, 170, 170, 170, 170, 680, 686, 686,
2408 686, 688, 688, 688, 691, 691, 691, 704, 704, 704,
2409 1749, 692, 692, 692, 1752, 1754, 686, 1761, 688, 1762,
2410 170, 170, 691, 1763, 704, 1042, 1042, 1042, 1787, 692,
2411 1788, 170, 179, 179, 179, 179, 179, 179, 179, 179,
2412 179, 179, 179, 179, 179, 179, 179, 692, 179, 179,
2414 179, 179, 179, 708, 708, 708, 709, 709, 709, 1791,
2415 686, 712, 712, 712, 715, 715, 715, 1726, 716, 716,
2416 716, 708, 716, 1792, 709, 716, 179, 179, 712, 1726,
2417 1793, 715, 730, 730, 730, 1794, 730, 179, 1795, 730,
2418 739, 739, 739, 1796, 739, 1797, 1784, 739, 1798, 179,
2419 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
2420 180, 180, 180, 180, 180, 709, 180, 180, 180, 180,
2421 180, 717, 717, 717, 724, 724, 724, 1061, 1061, 1061,
2422 725, 725, 725, 729, 729, 729, 1784, 1785, 717, 731,
2423 731, 731, 724, 1799, 180, 180, 1783, 1801, 725, 1802,
2425 729, 735, 735, 735, 1803, 180, 731, 1804, 736, 736,
2426 736, 738, 738, 738, 740, 740, 740, 180, 222, 735,
2427 1816, 741, 741, 741, 1783, 222, 736, 1785, 738, 743,
2428 743, 743, 740, 1817, 222, 222, 725, 1818, 1822, 741,
2429 744, 744, 744, 1825, 744, 1771, 743, 744, 748, 748,
2430 748, 749, 749, 749, 1771, 750, 750, 750, 736, 1831,
2431 1771, 222, 222, 222, 1833, 1841, 748, 1842, 222, 749,
2432 1843, 222, 750, 1844, 1845, 222, 1846, 222, 1855, 222,
2433 741, 751, 751, 751, 752, 752, 752, 1856, 753, 753,
2434 753, 754, 754, 754, 756, 756, 756, 1851, 751, 1860,
2436 1852, 752, 757, 757, 757, 749, 753, 1861, 1862, 754,
2437 1863, 756, 758, 758, 758, 759, 759, 759, 1772, 757,
2438 760, 760, 760, 1865, 761, 761, 761, 1772, 1866, 758,
2439 1867, 1868, 759, 1772, 1852, 763, 763, 763, 760, 1869,
2440 1870, 752, 761, 1851, 765, 765, 765, 767, 767, 767,
2441 754, 757, 763, 1871, 764, 764, 764, 1872, 764, 1880,
2442 761, 764, 765, 1884, 767, 757, 766, 766, 766, 768,
2443 768, 768, 759, 769, 769, 769, 770, 770, 770, 771,
2444 771, 771, 1885, 1886, 766, 1887, 768, 776, 776, 776,
2445 769, 777, 777, 777, 770, 1891, 1895, 771, 780, 780,
2447 780, 781, 781, 781, 1898, 776, 782, 782, 782, 777,
2448 783, 783, 783, 1905, 783, 1906, 780, 783, 768, 781,
2449 766, 1900, 1907, 782, 784, 784, 784, 785, 785, 785,
2450 1908, 1900, 768, 787, 787, 787, 788, 788, 788, 1901,
2451 788, 1903, 784, 788, 1909, 785, 1910, 1918, 771, 1901,
2452 787, 1903, 1919, 777, 790, 790, 790, 791, 791, 791,
2453 806, 806, 806, 781, 807, 807, 807, 809, 809, 809,
2454 1920, 1921, 790, 1904, 1924, 791, 1912, 1925, 806, 830,
2455 830, 830, 807, 1904, 1927, 809, 785, 831, 831, 831,
2456 1928, 831, 1929, 1931, 831, 1936, 830, 834, 834, 834,
2458 836, 836, 836, 837, 837, 837, 839, 839, 839, 1912,
2459 850, 850, 850, 809, 834, 1073, 1073, 1073, 836, 791,
2460 1937, 837, 1938, 1940, 839, 841, 841, 841, 850, 841,
2461 1947, 1948, 841, 844, 844, 844, 845, 845, 845, 1949,
2462 845, 1950, 1951, 845, 846, 846, 846, 847, 847, 847,
2463 844, 1952, 839, 848, 848, 848, 834, 848, 1953, 1954,
2464 848, 846, 1955, 1956, 847, 851, 851, 851, 853, 853,
2465 853, 856, 856, 856, 858, 858, 858, 859, 859, 859,
2466 863, 863, 863, 851, 863, 1958, 853, 863, 856, 861,
2467 861, 861, 858, 1959, 1971, 859, 867, 867, 867, 868,
2469 868, 868, 870, 870, 870, 1963, 1972, 861, 880, 880,
2470 880, 881, 881, 881, 867, 881, 1973, 868, 881, 1974,
2471 870, 886, 886, 886, 1978, 880, 853, 887, 887, 887,
2472 889, 889, 889, 1979, 1980, 861, 894, 894, 894, 886,
2473 894, 1981, 1982, 894, 1983, 887, 1963, 1985, 889, 897,
2474 897, 897, 898, 898, 898, 1986, 898, 1987, 1990, 898,
2475 901, 901, 901, 902, 902, 902, 897, 902, 1997, 1998,
2476 902, 909, 909, 909, 910, 910, 910, 901, 912, 912,
2477 912, 917, 917, 917, 1999, 917, 2000, 2001, 917, 909,
2478 2002, 2003, 910, 889, 2004, 2005, 912, 920, 920, 920,
2480 921, 921, 921, 2006, 921, 2007, 2008, 921, 925, 925,
2481 925, 926, 926, 926, 920, 928, 928, 928, 930, 930,
2482 930, 2015, 930, 2017, 2020, 930, 925, 2009, 2021, 926,
2483 933, 933, 933, 928, 934, 934, 934, 936, 936, 936,
2484 938, 938, 938, 912, 938, 2023, 2024, 938, 933, 944,
2485 944, 944, 934, 2027, 2028, 936, 945, 945, 945, 947,
2486 947, 947, 948, 948, 948, 928, 2029, 944, 949, 949,
2487 949, 2009, 949, 2033, 945, 949, 2044, 947, 2012, 948,
2488 950, 950, 950, 951, 951, 951, 2046, 951, 2048, 2012,
2489 951, 953, 953, 953, 954, 954, 954, 950, 956, 956,
2491 956, 2011, 936, 958, 958, 958, 959, 959, 959, 953,
2492 959, 2050, 954, 959, 2058, 2011, 956, 947, 2031, 2032,
2493 958, 962, 962, 962, 963, 963, 963, 2060, 963, 2031,
2494 2032, 963, 965, 965, 965, 966, 966, 966, 962, 968,
2495 968, 968, 970, 970, 970, 2062, 970, 2056, 2063, 970,
2496 965, 2035, 2055, 966, 973, 973, 973, 968, 974, 974,
2497 974, 2056, 2035, 956, 976, 976, 976, 977, 977, 977,
2498 2036, 2072, 973, 978, 978, 978, 974, 978, 2057, 2057,
2499 978, 2036, 976, 2041, 977, 981, 981, 981, 982, 982,
2500 982, 2055, 982, 2074, 2041, 982, 983, 983, 983, 2076,
2502 2077, 968, 981, 984, 984, 984, 986, 986, 986, 988,
2503 988, 988, 2042, 2078, 983, 991, 991, 991, 992, 992,
2504 992, 984, 976, 2042, 986, 2071, 988, 994, 994, 994,
2505 997, 997, 997, 991, 2073, 2059, 992, 998, 998, 998,
2506 1000, 1000, 1000, 2071, 2079, 994, 2059, 2080, 997, 1001,
2507 1001, 1001, 2073, 1001, 2081, 998, 1001, 2083, 1000, 1004,
2508 1004, 1004, 1005, 1005, 1005, 2080, 986, 1007, 1007, 1007,
2509 2089, 1009, 1009, 1009, 2090, 1009, 2091, 1004, 1009, 2093,
2510 1005, 1013, 1013, 1013, 2094, 1007, 994, 1014, 1014, 1014,
2511 2101, 2082, 1000, 1016, 1016, 1016, 1018, 1018, 1018, 1013,
2513 1025, 1025, 1025, 2102, 2103, 1014, 1045, 1045, 1045, 2082,
2514 2104, 1016, 2105, 2106, 1018, 1018, 2109, 2110, 1025, 2111,
2515 1046, 1046, 1046, 1045, 1046, 1007, 2112, 1046, 1049, 1049,
2516 1049, 1051, 1051, 1051, 2113, 1051, 2114, 2115, 1051, 1054,
2517 1054, 1054, 2116, 1055, 1055, 1055, 1049, 1055, 2117, 2118,
2518 1055, 2120, 1016, 1056, 1056, 1056, 1054, 1056, 2132, 2133,
2519 1056, 1060, 1060, 1060, 1025, 1063, 1063, 1063, 1064, 1064,
2520 1064, 2134, 1064, 2135, 2136, 1064, 1049, 2137, 2141, 1060,
2521 2142, 2143, 1063, 1065, 1065, 1065, 1066, 1066, 1066, 1069,
2522 1069, 1069, 1074, 1074, 1074, 1080, 1080, 1080, 2130, 2144,
2524 1065, 1081, 1081, 1081, 1066, 1081, 2145, 1069, 1081, 2130,
2525 1060, 2146, 1080, 1082, 1082, 1082, 1083, 1083, 1083, 2147,
2526 1084, 1084, 1084, 1086, 1086, 1086, 1089, 1089, 1089, 2148,
2527 1082, 2131, 2149, 1083, 1066, 2150, 2151, 1074, 1084, 2153,
2528 1086, 2154, 2131, 1089, 1090, 1090, 1090, 2155, 1090, 2156,
2529 2157, 1090, 1091, 1091, 1091, 2158, 1091, 2159, 2160, 1091,
2530 2151, 1083, 1094, 1094, 1094, 1100, 1100, 1100, 1102, 1102,
2531 1102, 1105, 1105, 1105, 2161, 1105, 2162, 2163, 1105, 1094,
2532 1108, 1108, 1108, 1100, 1084, 1102, 1111, 1111, 1111, 1113,
2533 1113, 1113, 1117, 1117, 1117, 2164, 2165, 1108, 2166, 1118,
2535 1118, 1118, 2167, 2168, 1111, 2169, 2170, 1113, 2171, 1117,
2536 2172, 1119, 1119, 1119, 2174, 1119, 2175, 1118, 1119, 1122,
2537 1122, 1122, 2176, 1122, 2177, 2173, 1122, 2178, 1100, 1126,
2538 1126, 1126, 1127, 1127, 1127, 2179, 2180, 1117, 1128, 1128,
2539 1128, 2181, 1128, 2173, 2182, 1128, 2183, 1126, 1111, 1137,
2540 1137, 1137, 2184, 1113, 1118, 1133, 1133, 1133, 2185, 1133,
2541 2186, 2187, 1133, 1139, 1139, 1139, 2188, 1137, 1140, 1140,
2542 1140, 2189, 1140, 2190, 2191, 1140, 2192, 1127, 1145, 1145,
2543 1145, 1139, 1145, 2193, 2194, 1145, 1148, 1148, 1148, 1150,
2544 1150, 1150, 2195, 1126, 1151, 1151, 1151, 2196, 1151, 2197,
2546 2198, 1151, 2199, 2194, 1148, 2200, 1150, 2201, 1137, 1154,
2547 1154, 1154, 1156, 1156, 1156, 1157, 1157, 1157, 1139, 1158,
2548 1158, 1158, 1160, 1160, 1160, 2202, 2203, 1154, 2204, 1156,
2549 2205, 2206, 1148, 1157, 1161, 1161, 1161, 1158, 2207, 1160,
2550 1164, 1164, 1164, 2208, 1171, 1171, 1171, 1177, 1177, 1177,
2551 2209, 2210, 1161, 1178, 1178, 1178, 2211, 1154, 1164, 1180,
2552 1180, 1180, 1171, 1183, 1183, 1183, 1185, 1185, 1185, 2212,
2553 1158, 1186, 1186, 1186, 1189, 1189, 1189, 1190, 1190, 1190,
2554 1157, 1192, 1192, 1192, 2213, 1192, 2214, 2216, 1192, 2217,
2555 1164, 1197, 1197, 1197, 1161, 1171, 1199, 1199, 1199, 2215,
2557 1199, 2218, 2219, 1199, 2220, 2215, 1164, 2221, 2223, 1197,
2558 2224, 1203, 1203, 1203, 2226, 2228, 1186, 1204, 1204, 1204,
2559 2230, 2231, 1190, 1206, 1206, 1206, 2233, 1206, 1185, 1203,
2560 1206, 1209, 1209, 1209, 2234, 1210, 1210, 1210, 2237, 1210,
2561 2238, 1197, 1210, 1211, 1211, 1211, 2239, 2240, 1209, 1216,
2562 1216, 1216, 1217, 1217, 1217, 1218, 1218, 1218, 1219, 1219,
2563 1219, 1211, 1220, 1220, 1220, 1223, 1223, 1223, 2236, 1223,
2564 1203, 2242, 1223, 1226, 1226, 1226, 1227, 1227, 1227, 2244,
2565 1227, 2236, 2245, 1227, 1228, 1228, 1228, 1229, 1229, 1229,
2566 1226, 1229, 2246, 1211, 1229, 1231, 1231, 1231, 1233, 1233,
2568 1233, 1228, 1234, 1234, 1234, 2248, 1234, 2250, 2252, 1234,
2569 1235, 1235, 1235, 1231, 2253, 1233, 2254, 1218, 2255, 2256,
2570 1219, 1237, 1237, 1237, 1220, 1237, 2257, 1235, 1237, 1240,
2571 1240, 1240, 1241, 1241, 1241, 2258, 1241, 2259, 2260, 1241,
2572 1242, 1242, 1242, 1246, 1246, 1246, 1240, 1247, 1247, 1247,
2573 1249, 1249, 1249, 2261, 1250, 1250, 1250, 1242, 1250, 2263,
2574 1246, 1250, 1251, 1251, 1251, 1247, 2265, 1249, 1253, 1253,
2575 1253, 1254, 1254, 1254, 2267, 1254, 2268, 2269, 1254, 1251,
2576 1257, 1257, 1257, 2270, 2271, 1253, 1259, 1259, 1259, 1263,
2577 1263, 1263, 1264, 1264, 1264, 2272, 1264, 2291, 1257, 1264,
2579 1266, 1266, 1266, 1399, 1259, 2291, 1263, 1268, 1268, 1268,
2580 1396, 1247, 1270, 1270, 1270, 1271, 1271, 1271, 1266, 2289,
2581 1272, 1272, 1272, 2289, 2283, 1268, 1273, 1273, 1273, 1270,
2582 2273, 2287, 1271, 1275, 1275, 1275, 1259, 1272, 1276, 1276,
2583 1276, 1277, 1277, 1277, 1273, 1278, 1278, 1278, 1285, 1285,
2584 1285, 1275, 1280, 1280, 1280, 1276, 1280, 1268, 1277, 1280,
2585 1287, 1287, 1287, 1278, 2297, 2273, 1285, 1288, 1288, 1288,
2586 2283, 1288, 2274, 2287, 1288, 2284, 2365, 1287, 1275, 1289,
2587 1289, 1289, 1272, 1290, 1290, 1290, 1292, 1292, 1292, 2285,
2588 2365, 1273, 1293, 1293, 1293, 2299, 1293, 1289, 1285, 1293,
2590 2297, 1290, 1395, 1292, 1294, 1294, 1294, 2274, 1278, 1300,
2591 1300, 1300, 1301, 1301, 1301, 1306, 1306, 1306, 1310, 1310,
2592 1310, 2284, 1294, 1311, 1311, 1311, 1300, 1312, 1312, 1312,
2593 1301, 1313, 1313, 1313, 2299, 2285, 1289, 1290, 1315, 1315,
2594 1315, 1317, 1317, 1317, 1322, 1322, 1322, 1325, 1325, 1325,
2595 1326, 1326, 1326, 1335, 1335, 1335, 1394, 1335, 2292, 2290,
2596 1335, 2286, 1322, 2290, 2288, 1325, 2292, 1326, 1338, 1338,
2597 1338, 1301, 1340, 1340, 1340, 1343, 1343, 1343, 1344, 1344,
2598 1344, 1347, 1347, 1347, 2300, 1347, 1338, 2293, 1347, 1340,
2599 1350, 1350, 1350, 2327, 1350, 2293, 2295, 1350, 1354, 1354,
2601 1354, 1357, 1357, 1357, 1325, 1357, 2288, 2286, 1357, 1360,
2602 1360, 1360, 2294, 1338, 2296, 1392, 1354, 1361, 1361, 1361,
2603 2294, 1361, 2298, 2300, 1361, 2305, 1360, 1363, 1363, 1363,
2604 2301, 1363, 2303, 2327, 1363, 1366, 1366, 1366, 1367, 1367,
2605 1367, 2295, 1367, 2304, 2307, 1367, 1368, 1368, 1368, 1371,
2606 1371, 1371, 1366, 1372, 1372, 1372, 2309, 1372, 2298, 2296,
2607 1372, 2305, 2302, 1368, 2301, 2309, 1371, 1373, 1373, 1373,
2608 1375, 1375, 1375, 2328, 1375, 2307, 2303, 1375, 1378, 1378,
2609 1378, 2308, 1379, 1379, 1379, 1373, 1379, 2304, 1390, 1379,
2610 1381, 1381, 1381, 2315, 1381, 1378, 2302, 1381, 1386, 1386,
2612 1386, 1389, 1389, 1389, 1391, 1391, 1391, 1393, 1393, 1393,
2613 2311, 1393, 2308, 2328, 1393, 2361, 1386, 1373, 2316, 1389,
2614 2306, 1391, 1397, 1397, 1397, 1400, 1400, 1400, 1402, 1402,
2615 1402, 1403, 1403, 1403, 2315, 1403, 2317, 1388, 1403, 1385,
2616 1397, 2325, 1384, 1400, 2311, 1402, 1407, 1407, 1407, 1391,
2617 1404, 1404, 1404, 1405, 1405, 1405, 2306, 1405, 2312, 2316,
2618 1405, 2361, 2313, 1389, 1407, 2314, 2362, 1404, 1409, 1409,
2619 1409, 1410, 1410, 1410, 1411, 1411, 1411, 2325, 1411, 2319,
2620 2317, 1411, 1412, 1412, 1412, 2310, 1409, 2337, 1410, 1413,
2621 1413, 1413, 2312, 1413, 2310, 2313, 1413, 2318, 2314, 1412,
2623 1414, 1414, 1414, 1418, 1418, 1418, 2323, 1420, 1420, 1420,
2624 1407, 1420, 2362, 2319, 1420, 2323, 1409, 2329, 1414, 2320,
2625 2337, 1418, 1423, 1423, 1423, 1424, 1424, 1424, 1425, 1425,
2626 1425, 1426, 1426, 1426, 2341, 1426, 1380, 1374, 1426, 2321,
2627 1423, 2318, 2341, 1424, 1429, 1429, 1429, 1435, 1435, 1435,
2628 1436, 1436, 1436, 2320, 1436, 1370, 2324, 1436, 1437, 1437,
2629 1437, 2329, 1429, 1414, 1435, 2324, 1418, 1438, 1438, 1438,
2630 2322, 2321, 1423, 1441, 1441, 1441, 1437, 1424, 1442, 1442,
2631 1442, 1445, 1445, 1445, 1446, 1446, 1446, 1447, 1447, 1447,
2632 1449, 1449, 1449, 1450, 1450, 1450, 1452, 1452, 1452, 1455,
2634 1455, 1455, 2322, 1459, 1459, 1459, 1460, 1460, 1460, 1461,
2635 1461, 1461, 2355, 1461, 2342, 2326, 1461, 1455, 2330, 1369,
2636 1437, 1459, 2342, 1460, 1472, 1472, 1472, 1474, 1474, 1474,
2637 1475, 1475, 1475, 2333, 1475, 1362, 2349, 1475, 1476, 1476,
2638 1476, 1356, 1472, 2355, 1474, 1478, 1478, 1478, 1485, 1485,
2639 1485, 2326, 1485, 2331, 1353, 1485, 1489, 1489, 1489, 2338,
2640 1489, 2333, 2330, 1489, 1492, 1492, 1492, 1493, 1493, 1493,
2641 2349, 1493, 1472, 2350, 1493, 1496, 1496, 1496, 1352, 1496,
2642 2334, 1492, 1496, 1499, 1499, 1499, 1501, 1501, 1501, 2331,
2643 1501, 2335, 2338, 1501, 1508, 1508, 1508, 1510, 1510, 1510,
2645 2335, 1499, 1511, 1511, 1511, 2332, 1511, 2350, 2334, 1511,
2646 1351, 2339, 1508, 2366, 1510, 1518, 1518, 1518, 1521, 1521,
2647 1521, 2336, 1521, 2340, 2366, 1521, 1346, 1524, 1524, 1524,
2648 2336, 1524, 2343, 1518, 1524, 1528, 1528, 1528, 1530, 1530,
2649 1530, 2332, 1531, 1531, 1531, 1499, 1531, 2345, 2346, 1531,
2650 1534, 1534, 1534, 1528, 1534, 2339, 1530, 1534, 1537, 1537,
2651 1537, 1538, 1538, 1538, 1541, 1541, 1541, 2340, 1543, 1543,
2652 1543, 1544, 1544, 1544, 1345, 1342, 1537, 2343, 1538, 1545,
2653 1545, 1545, 1541, 2345, 2346, 1528, 1543, 1341, 1339, 1544,
2654 1546, 1546, 1546, 1537, 1549, 1549, 1549, 1550, 1550, 1550,
2656 1334, 1550, 1530, 1332, 1550, 1553, 1553, 1553, 1546, 1554,
2657 1554, 1554, 1555, 1555, 1555, 1557, 1557, 1557, 1558, 1558,
2658 1558, 2344, 1331, 1553, 2351, 2352, 1543, 1541, 1559, 1559,
2659 1559, 1560, 1560, 1560, 1562, 1562, 1562, 1564, 1564, 1564,
2660 1567, 1567, 1567, 1569, 1569, 1569, 1571, 1571, 1571, 1330,
2661 1571, 1328, 1327, 1571, 1584, 1584, 1584, 1567, 1589, 1589,
2662 1589, 1569, 1553, 1586, 1586, 1586, 2344, 1586, 2351, 2352,
2663 1586, 1324, 1584, 1600, 1600, 1600, 2353, 1600, 1323, 1321,
2664 1600, 1605, 1605, 1605, 1611, 1611, 1611, 1613, 1613, 1613,
2665 1614, 1614, 1614, 1320, 1614, 2347, 1319, 1614, 2348, 1605,
2667 2354, 1318, 1611, 1316, 1613, 1625, 1625, 1625, 1627, 1627,
2668 1627, 1314, 2353, 1584, 1628, 1628, 1628, 1629, 1629, 1629,
2669 1630, 1630, 1630, 1631, 1631, 1631, 1627, 1633, 1633, 1633,
2670 2356, 1628, 1613, 1309, 2347, 1629, 2354, 2348, 1630, 1308,
2671 1631, 1632, 1632, 1632, 1633, 1632, 2359, 2360, 1632, 1635,
2672 1635, 1635, 1636, 1636, 1636, 1637, 1637, 1637, 1638, 1638,
2673 1638, 2356, 1640, 1640, 1640, 2357, 1307, 1635, 1643, 1643,
2674 1643, 2363, 1305, 1637, 2357, 1629, 1638, 2359, 2360, 1630,
2675 1640, 1644, 1644, 1644, 1645, 1645, 1645, 1647, 1647, 1647,
2676 1648, 1648, 1648, 1652, 1652, 1652, 1653, 1653, 1653, 1644,
2678 1653, 1304, 2363, 1653, 1303, 1665, 1665, 1665, 2358, 1302,
2679 1652, 1674, 1674, 1674, 1678, 1678, 1678, 2358, 1299, 1637,
2680 2364, 1291, 1640, 1665, 1679, 1679, 1679, 1286, 1674, 1284,
2681 1283, 1678, 1684, 1684, 1684, 1686, 1686, 1686, 1279, 1687,
2682 1687, 1687, 1679, 1687, 1274, 1269, 1687, 1267, 1265, 1684,
2683 1262, 2364, 1686, 1695, 1695, 1695, 1697, 1697, 1697, 1699,
2684 1699, 1699, 1261, 1665, 1701, 1701, 1701, 1702, 1702, 1702,
2685 1695, 1702, 1260, 1258, 1702, 1256, 1255, 1699, 1703, 1703,
2686 1703, 1701, 1704, 1704, 1704, 1705, 1705, 1705, 1252, 1705,
2687 1248, 1245, 1705, 1708, 1708, 1708, 1703, 1709, 1709, 1709,
2689 1704, 1709, 1244, 1243, 1709, 1710, 1710, 1710, 1236, 1232,
2690 1708, 1711, 1711, 1711, 1713, 1713, 1713, 1714, 1714, 1714,
2691 1230, 1222, 1710, 1718, 1718, 1718, 1723, 1723, 1723, 1711,
2692 1724, 1724, 1724, 1221, 1724, 1714, 1215, 1724, 1738, 1738,
2693 1738, 1718, 1214, 1723, 1739, 1739, 1739, 1704, 1742, 1742,
2694 1742, 1745, 1745, 1745, 1213, 1212, 1738, 1750, 1750, 1750,
2695 1205, 1739, 1746, 1746, 1746, 1742, 1746, 1202, 1745, 1746,
2696 1198, 1751, 1751, 1751, 1750, 1751, 1196, 1195, 1751, 1191,
2697 1753, 1753, 1753, 1755, 1755, 1755, 1756, 1756, 1756, 1188,
2698 1756, 1187, 1184, 1756, 1182, 1181, 1738, 1753, 1179, 1176,
2700 1755, 1757, 1757, 1757, 1758, 1758, 1758, 1175, 1758, 1174,
2701 1173, 1758, 1766, 1766, 1766, 1767, 1767, 1767, 1757, 1767,
2702 1172, 1170, 1767, 1768, 1768, 1768, 1769, 1769, 1769, 1766,
2703 1770, 1770, 1770, 1169, 1770, 1166, 1163, 1770, 1159, 1155,
2704 1768, 1153, 1152, 1769, 1773, 1773, 1773, 1775, 1775, 1775,
2705 1776, 1776, 1776, 1149, 1776, 1144, 1143, 1776, 1779, 1779,
2706 1779, 1138, 1773, 1136, 1132, 1775, 1780, 1780, 1780, 1131,
2707 1780, 1125, 1116, 1780, 1115, 1779, 1781, 1781, 1781, 1786,
2708 1786, 1786, 1789, 1789, 1789, 1790, 1790, 1790, 1114, 1790,
2709 1112, 1110, 1790, 1109, 1781, 1806, 1806, 1806, 1104, 1789,
2711 1807, 1807, 1807, 1808, 1808, 1808, 1103, 1808, 1101, 1099,
2712 1808, 1775, 1098, 1806, 1809, 1809, 1809, 1807, 1810, 1810,
2713 1810, 1811, 1811, 1811, 1812, 1812, 1812, 1097, 1812, 1096,
2714 1095, 1812, 1813, 1813, 1813, 1810, 1813, 1088, 1811, 1813,
2715 1819, 1819, 1819, 1087, 1819, 1806, 1085, 1819, 1823, 1823,
2716 1823, 1824, 1824, 1824, 1079, 1824, 1078, 1077, 1824, 1076,
2717 1826, 1826, 1826, 1810, 1826, 1823, 1075, 1826, 1829, 1829,
2718 1829, 1830, 1830, 1830, 1072, 1830, 1071, 1068, 1830, 1832,
2719 1832, 1832, 1834, 1834, 1834, 1829, 1834, 1067, 1062, 1834,
2720 1837, 1837, 1837, 1838, 1838, 1838, 1832, 1838, 1059, 1050,
2722 1838, 1839, 1839, 1839, 1840, 1840, 1840, 1837, 1840, 1048,
2723 1047, 1840, 1847, 1847, 1847, 1848, 1848, 1848, 1839, 1848,
2724 1044, 1043, 1848, 1853, 1853, 1853, 1854, 1854, 1854, 1041,
2725 1847, 1857, 1857, 1857, 1040, 1857, 1039, 1038, 1857, 1037,
2726 1853, 1853, 1864, 1864, 1864, 1873, 1873, 1873, 1874, 1874,
2727 1874, 1035, 1874, 1034, 1030, 1874, 1877, 1877, 1877, 1864,
2728 1029, 1028, 1847, 1873, 1878, 1878, 1878, 1879, 1879, 1879,
2729 1027, 1879, 1026, 1024, 1879, 1881, 1881, 1881, 1023, 1881,
2730 1022, 1878, 1881, 1888, 1888, 1888, 1021, 1888, 1012, 1008,
2731 1888, 996, 995, 1873, 1892, 1892, 1892, 990, 1892, 989,
2733 987, 1892, 1896, 1896, 1896, 1897, 1897, 1897, 980, 1897,
2734 979, 969, 1897, 1899, 1899, 1899, 964, 1899, 961, 1896,
2735 1899, 1902, 1902, 1902, 960, 1902, 957, 952, 1902, 1911,
2736 1911, 1911, 1913, 1913, 1913, 1914, 1914, 1914, 1915, 1915,
2737 1915, 943, 1915, 942, 941, 1915, 937, 1911, 929, 1913,
2738 1913, 924, 1914, 1914, 923, 922, 1915, 1916, 1916, 1916,
2739 1917, 1917, 1917, 1922, 1922, 1922, 1923, 1923, 1923, 916,
2740 1923, 915, 914, 1923, 1932, 1932, 1932, 1933, 1933, 1933,
2741 1922, 1933, 913, 908, 1933, 1939, 1939, 1939, 1941, 1941,
2742 1941, 907, 1932, 1942, 1942, 1942, 1943, 1943, 1943, 906,
2744 1943, 905, 1939, 1943, 904, 1941, 1946, 1946, 1946, 903,
2745 1942, 1961, 1961, 1961, 1964, 1964, 1964, 1965, 1965, 1965,
2746 893, 1965, 892, 1946, 1965, 891, 1966, 1966, 1966, 1961,
2747 1966, 1964, 1964, 1966, 890, 1965, 885, 884, 1932, 1969,
2748 1969, 1969, 879, 878, 1966, 1967, 1967, 1967, 1967, 1967,
2749 1967, 1967, 1967, 1967, 877, 876, 1967, 1970, 1970, 1970,
2750 875, 1967, 1967, 1967, 1967, 1967, 1975, 1975, 1975, 874,
2751 1975, 873, 872, 1975, 1989, 1989, 1989, 871, 1989, 866,
2752 862, 1989, 1984, 1984, 1984, 857, 1988, 1988, 1988, 1967,
2753 1967, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968, 1968,
2755 1984, 855, 1968, 1988, 1991, 1991, 1991, 1968, 1968, 1968,
2756 1968, 1968, 1992, 1992, 1992, 849, 1992, 840, 835, 1992,
2757 828, 1991, 1993, 1993, 1993, 1994, 1994, 1994, 827, 1994,
2758 826, 824, 1994, 823, 822, 1968, 1968, 821, 819, 1993,
2759 1995, 1995, 1995, 1996, 1996, 1996, 818, 1996, 817, 816,
2760 1996, 2010, 2010, 2010, 815, 2010, 814, 1995, 2010, 813,
2761 812, 2025, 2025, 2025, 2061, 2061, 2061, 811, 805, 2010,
2762 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2025,
2763 804, 2013, 2061, 2061, 803, 800, 2013, 2013, 2013, 2013,
2764 2013, 2030, 2030, 2030, 799, 2030, 798, 796, 2030, 2034,
2766 2034, 2034, 792, 2034, 789, 786, 2034, 779, 2068, 2068,
2767 2068, 2069, 2069, 2069, 2013, 2013, 2014, 2014, 2014, 2014,
2768 2014, 2014, 2014, 2014, 2014, 2068, 778, 2014, 2069, 775,
2769 774, 773, 2014, 2014, 2014, 2014, 2014, 2037, 2037, 2037,
2770 772, 2037, 762, 755, 2037, 2040, 2040, 2040, 747, 2040,
2771 746, 745, 2040, 2070, 2070, 2070, 2075, 2075, 2075, 742,
2772 2014, 2014, 2088, 2088, 2088, 2092, 2092, 2092, 737, 734,
2773 2070, 733, 732, 2075, 2095, 2095, 2095, 2096, 2096, 2096,
2774 2088, 2096, 728, 2092, 2096, 2097, 2097, 2097, 2098, 2098,
2775 2098, 2095, 2098, 726, 723, 2098, 2099, 2099, 2099, 2100,
2777 2100, 2100, 2097, 2100, 722, 721, 2100, 2107, 2107, 2107,
2778 2108, 2108, 2108, 2099, 2108, 2092, 720, 2108, 2119, 2119,
2779 2119, 2123, 2123, 2123, 2107, 2123, 719, 718, 2123, 714,
2780 2126, 2126, 2126, 710, 2126, 707, 2119, 2126, 2129, 2129,
2781 2129, 706, 2129, 703, 702, 2129, 2138, 2138, 2138, 701,
2782 2138, 700, 699, 2138, 2119, 2251, 2251, 2251, 2262, 2262,
2783 2262, 697, 2262, 696, 695, 2262, 2367, 2367, 2367, 2368,
2784 2368, 2368, 694, 2251, 690, 687, 2262, 684, 683, 682,
2785 681, 678, 676, 672, 2367, 668, 667, 2368, 2371, 2371,
2786 2371, 2371, 2371, 2371, 2371, 2371, 2371, 2372, 2372, 2372,
2788 2372, 2372, 2372, 2372, 2372, 2372, 2373, 2373, 2373, 2373,
2789 2373, 2373, 2373, 2373, 2373, 2374, 2374, 2374, 2374, 2374,
2790 2374, 2374, 2374, 2374, 2375, 2375, 2375, 2375, 2375, 2375,
2791 2375, 2375, 2375, 2376, 2376, 2376, 2376, 2376, 2376, 2376,
2792 2376, 2376, 2377, 2377, 2377, 2377, 2377, 2377, 2377, 2377,
2793 2377, 2378, 2378, 2378, 2378, 2378, 2378, 2378, 2378, 2378,
2794 2379, 2379, 2379, 2379, 2379, 2379, 2379, 2379, 2379, 2380,
2795 2380, 2380, 2380, 2380, 2380, 2380, 2380, 2380, 2381, 2381,
2796 2381, 2381, 2381, 2381, 2381, 2381, 2381, 2382, 2382, 2382,
2797 2382, 2382, 2382, 2382, 2382, 2382, 2383, 2383, 2383, 2383,
2799 2383, 2383, 2383, 2383, 2383, 2384, 2384, 2384, 2384, 2384,
2800 2384, 2384, 2384, 2384, 2385, 2385, 2385, 2385, 2385, 2385,
2801 2385, 2385, 2385, 2386, 2386, 2386, 2386, 2386, 2386, 2386,
2802 2386, 2386, 2387, 2387, 2387, 2387, 2387, 2387, 2387, 2387,
2803 2387, 2388, 2388, 2388, 2388, 2388, 2388, 2388, 2388, 2388,
2804 2389, 2389, 2389, 2389, 2389, 2389, 2389, 2389, 2389, 2390,
2805 2390, 2390, 2390, 2390, 2390, 2390, 2390, 2390, 2391, 2391,
2806 2391, 2391, 2391, 2391, 2391, 2391, 2391, 2392, 2392, 2392,
2807 2392, 2392, 2392, 2392, 2392, 2392, 2393, 2393, 2393, 2393,
2808 2393, 2393, 2393, 2393, 2393, 2394, 2394, 2394, 2394, 2394,
2810 2394, 2394, 2394, 2394, 2395, 2395, 2395, 2395, 2395, 2395,
2811 2395, 2395, 2395, 2396, 2396, 2396, 2396, 2396, 2396, 2396,
2812 2396, 2396, 2397, 2397, 2397, 2397, 2397, 2397, 2397, 2397,
2813 2397, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398, 2398,
2814 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2399, 2400,
2815 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2401, 2401,
2816 2401, 2401, 2401, 2401, 2401, 2401, 2401, 2402, 2402, 2402,
2817 2402, 2402, 2402, 2402, 2402, 2402, 2403, 2403, 2403, 2403,
2818 2403, 2403, 2403, 2403, 2403, 2404, 2404, 2404, 2404, 2404,
2819 2404, 2404, 2404, 2404, 2405, 2405, 2405, 2405, 2405, 2405,
2821 2405, 2405, 2405, 2406, 2406, 2406, 2406, 2406, 2406, 2406,
2822 2406, 2406, 2407, 2407, 2407, 2407, 2407, 2407, 2407, 2407,
2823 2407, 2408, 2408, 2408, 2408, 2408, 2408, 2408, 2408, 2408,
2824 2409, 2409, 2409, 2409, 2409, 2409, 2409, 2409, 2409, 2410,
2825 2410, 2410, 2410, 2410, 2410, 2410, 2410, 2410, 2411, 2411,
2826 2411, 664, 663, 662, 2411, 2412, 2412, 2412, 661, 660,
2827 658, 2412, 2413, 2413, 2413, 657, 656, 655, 2413, 2414,
2828 2414, 2414, 654, 653, 652, 2414, 2415, 2415, 2415, 651,
2829 650, 649, 2415, 2416, 2416, 2416, 648, 647, 646, 2416,
2830 2417, 2417, 2417, 642, 641, 639, 2417, 2418, 2418, 2418,
2832 638, 637, 636, 2418, 2419, 2419, 2419, 635, 631, 629,
2833 2419, 2420, 2420, 2420, 628, 627, 626, 2420, 2421, 2421,
2834 2421, 621, 617, 616, 2421, 2422, 2422, 2422, 613, 612,
2835 611, 2422, 2423, 2423, 2423, 610, 609, 608, 2423, 2424,
2836 2424, 2424, 605, 604, 603, 2424, 2425, 2425, 2425, 602,
2837 599, 597, 2425, 2426, 2426, 2426, 594, 593, 592, 2426,
2838 2427, 2427, 2427, 591, 590, 587, 2427, 2428, 2428, 2428,
2839 586, 585, 584, 2428, 2429, 2429, 2429, 2429, 2429, 2429,
2840 2429, 583, 2429, 2430, 2430, 2430, 580, 579, 578, 2430,
2841 2431, 577, 575, 572, 2431, 2432, 2432, 2432, 570, 567,
2843 566, 2432, 2433, 565, 564, 563, 2433, 2434, 2434, 2434,
2844 561, 560, 559, 2434, 2435, 556, 555, 554, 2435, 2436,
2845 2436, 2436, 553, 552, 551, 2436, 2437, 550, 549, 547,
2846 2437, 2438, 2438, 2438, 545, 544, 541, 2438, 2439, 540,
2847 539, 536, 2439, 2440, 531, 529, 528, 2440, 2441, 2441,
2848 2441, 527, 526, 525, 2441, 2442, 524, 522, 519, 2442,
2849 2443, 2443, 2443, 518, 517, 516, 2443, 2444, 512, 511,
2850 510, 2444, 2445, 2445, 2445, 509, 508, 506, 2445, 2446,
2851 503, 502, 500, 2446, 2447, 2447, 2447, 498, 493, 490,
2852 2447, 2448, 488, 485, 484, 2448, 2449, 2449, 2449, 482,
2854 481, 480, 2449, 2450, 479, 478, 475, 2450, 2451, 2451,
2855 2451, 474, 473, 472, 2451, 2452, 471, 465, 464, 2452,
2856 2453, 2453, 2453, 462, 456, 455, 2453, 2454, 451, 447,
2857 443, 2454, 2455, 2455, 2455, 439, 433, 429, 2455, 2456,
2858 425, 421, 420, 2456, 2457, 2457, 2457, 419, 418, 414,
2859 2457, 2458, 410, 407, 406, 2458, 2459, 2459, 2459, 405,
2860 401, 395, 2459, 2460, 394, 390, 386, 2460, 2461, 2461,
2861 2461, 382, 381, 377, 2461, 2462, 374, 373, 368, 2462,
2862 2463, 2463, 2463, 364, 356, 355, 2463, 2464, 354, 350,
2863 344, 2464, 2465, 2465, 2465, 2465, 2465, 2465, 2465, 2465,
2865 2465, 2466, 343, 339, 332, 331, 2466, 2467, 2467, 2467,
2866 330, 329, 328, 2467, 2468, 2468, 2468, 2468, 327, 323,
2867 2468, 2468, 2469, 2469, 2469, 316, 314, 313, 2469, 2470,
2868 2470, 2470, 2470, 312, 310, 2470, 2470, 2471, 2471, 2471,
2869 306, 299, 298, 2471, 2472, 2472, 2472, 2472, 297, 296,
2870 2472, 2472, 2473, 2473, 2473, 295, 291, 287, 2473, 2474,
2871 2474, 2474, 2474, 281, 279, 2474, 2474, 2475, 2475, 2475,
2872 274, 273, 272, 2475, 2476, 2476, 2476, 2476, 268, 262,
2873 2476, 2476, 2477, 2477, 2477, 261, 260, 256, 2477, 2478,
2874 2478, 2478, 2478, 248, 246, 2478, 2478, 2479, 2479, 2479,
2876 245, 241, 238, 2479, 2480, 2480, 2480, 2480, 236, 235,
2877 2480, 2480, 2481, 2481, 2481, 234, 230, 227, 2481, 2482,
2878 2482, 2482, 2482, 226, 223, 2482, 2482, 2483, 2483, 2483,
2879 219, 215, 211, 2483, 2484, 2484, 2484, 2484, 210, 209,
2880 2484, 2484, 2485, 2485, 2485, 203, 202, 200, 2485, 2486,
2881 2486, 2486, 2486, 197, 185, 2486, 2486, 2487, 2487, 2487,
2882 2487, 0, 2487, 0, 2487, 2488, 2488, 2488, 2488, 0,
2883 0, 2488, 2488, 2489, 2489, 2489, 2489, 0, 2489, 0,
2884 2489, 2490, 2490, 2490, 2490, 0, 0, 2490, 2490, 2491,
2885 2491, 2491, 0, 0, 0, 2491, 2492, 2492, 2492, 2492,
2887 0, 0, 2492, 2492, 2493, 2493, 2493, 2493, 0, 2493,
2888 0, 2493, 2494, 2494, 2494, 2494, 0, 0, 2494, 2494,
2889 2495, 2495, 2495, 0, 0, 0, 2495, 2496, 2496, 2496,
2890 2496, 0, 0, 2496, 2496, 2497, 2497, 2497, 0, 0,
2891 0, 2497, 2498, 2498, 2498, 2498, 0, 0, 2498, 2498,
2892 2499, 2499, 2499, 2499, 0, 0, 2499, 2499, 2500, 2500,
2893 2500, 0, 0, 0, 2500, 2501, 2501, 2501, 2501, 0,
2894 0, 2501, 2501, 2502, 2502, 2502, 2502, 2502, 2502, 2502,
2895 2502, 2502, 2503, 0, 2503, 0, 0, 2503, 2504, 2504,
2896 2504, 0, 0, 0, 2504, 2505, 2505, 2505, 2505, 0,
2898 0, 2505, 2505, 2506, 2506, 2506, 2506, 0, 2506, 0,
2899 2506, 2507, 2507, 2507, 2507, 0, 0, 2507, 2507, 2508,
2900 2508, 2508, 0, 0, 0, 2508, 2509, 2509, 2509, 2509,
2901 0, 0, 2509, 2509, 2510, 2510, 2510, 0, 0, 0,
2902 2510, 2511, 2511, 2511, 2511, 0, 0, 2511, 2511, 2512,
2903 2512, 2512, 0, 0, 0, 2512, 2513, 2513, 2513, 2513,
2904 0, 0, 2513, 2513, 2514, 2514, 2514, 0, 0, 0,
2905 2514, 2515, 2515, 2515, 2515, 0, 0, 2515, 2515, 2516,
2906 2516, 2516, 0, 0, 0, 2516, 2517, 2517, 2517, 2517,
2907 0, 0, 2517, 2517, 2518, 2518, 2518, 0, 0, 0,
2909 2518, 2519, 2519, 2519, 2519, 0, 0, 2519, 2519, 2520,
2910 2520, 2520, 0, 0, 0, 2520, 2521, 2521, 2521, 2521,
2911 0, 0, 2521, 2521, 2522, 2522, 2522, 0, 0, 0,
2912 2522, 2523, 2523, 2523, 2523, 0, 0, 2523, 2523, 2524,
2913 2524, 2524, 0, 0, 0, 2524, 2525, 2525, 2525, 2525,
2914 0, 0, 2525, 2525, 2526, 2526, 2526, 0, 0, 0,
2915 2526, 2527, 2527, 2527, 2527, 0, 0, 2527, 2527, 2528,
2916 2528, 2528, 0, 0, 0, 2528, 2529, 2529, 2529, 2529,
2917 0, 0, 2529, 2529, 2530, 2530, 2530, 0, 0, 0,
2918 2530, 2531, 2531, 2531, 2531, 0, 0, 2531, 2531, 2532,
2920 2532, 2532, 0, 0, 0, 2532, 2533, 2533, 2533, 2533,
2921 0, 0, 2533, 2533, 2534, 2534, 2534, 0, 0, 0,
2922 2534, 2535, 2535, 2535, 2535, 0, 0, 2535, 2535, 2536,
2923 2536, 2536, 2536, 0, 0, 2536, 2536, 2537, 2537, 2537,
2924 0, 0, 0, 2537, 2538, 2538, 2538, 2538, 0, 0,
2925 2538, 2538, 2539, 2539, 2539, 2539, 2539, 2539, 2539, 2539,
2926 2539, 2540, 2540, 2540, 2540, 2540, 2540, 2540, 2540, 2540,
2927 2541, 2541, 2541, 0, 0, 0, 2541, 2542, 2542, 2542,
2928 2542, 0, 0, 2542, 2542, 2543, 2543, 2543, 0, 0,
2929 0, 2543, 2544, 2544, 2544, 2544, 0, 0, 2544, 2544,
2931 2545, 2545, 2545, 0, 0, 0, 2545, 2546, 2546, 2546,
2932 2546, 0, 0, 2546, 2546, 2547, 2547, 2547, 0, 0,
2933 0, 2547, 2548, 2548, 2548, 2548, 0, 0, 2548, 2548,
2934 2549, 2549, 2549, 0, 0, 0, 2549, 2550, 2550, 2550,
2935 0, 0, 0, 2550, 2551, 2551, 2551, 2551, 0, 0,
2936 2551, 2551, 2552, 2552, 2552, 0, 0, 0, 2552, 2553,
2937 2553, 2553, 2553, 0, 0, 2553, 2553, 2554, 2554, 2554,
2938 0, 0, 0, 2554, 2555, 2555, 2555, 2555, 0, 0,
2939 2555, 2555, 2556, 2556, 2556, 0, 0, 0, 2556, 2557,
2940 2557, 2557, 2557, 0, 0, 2557, 2557, 2558, 2558, 2558,
2942 0, 0, 0, 2558, 2559, 2559, 2559, 2559, 0, 0,
2943 2559, 2559, 2560, 2560, 2560, 0, 0, 0, 2560, 2561,
2944 2561, 2561, 2561, 0, 0, 2561, 2561, 2562, 2562, 2562,
2945 0, 0, 0, 2562, 2563, 2563, 2563, 2563, 0, 0,
2946 2563, 2563, 2564, 2564, 2564, 0, 0, 0, 2564, 2565,
2947 2565, 2565, 2565, 0, 0, 2565, 2565, 2566, 2566, 2566,
2948 0, 0, 0, 2566, 2567, 2567, 2567, 2567, 0, 0,
2949 2567, 2567, 2568, 2568, 2568, 0, 0, 0, 2568, 2569,
2950 2569, 2569, 2569, 0, 0, 2569, 2569, 2570, 2570, 2570,
2951 2570, 0, 2570, 0, 2570, 2571, 2571, 2571, 2571, 0,
2953 0, 2571, 2571, 2572, 2572, 2572, 2572, 0, 0, 2572,
2954 2572, 2573, 2573, 2573, 2573, 0, 2573, 0, 2573, 2574,
2955 2574, 2574, 2574, 0, 0, 2574, 2574, 2575, 2575, 2575,
2956 2575, 2575, 2575, 2575, 2575, 2575, 2576, 2576, 2576, 2576,
2957 2576, 2576, 2576, 2576, 2576, 2577, 2577, 2577, 0, 0,
2958 0, 2577, 2578, 2578, 2578, 2578, 0, 0, 2578, 2578,
2959 2579, 2579, 2579, 0, 0, 0, 2579, 2580, 2580, 2580,
2960 2580, 0, 0, 2580, 2580, 2581, 2581, 2581, 0, 0,
2961 0, 2581, 2582, 2582, 2582, 2582, 0, 0, 2582, 2582,
2962 2583, 2583, 2583, 0, 0, 0, 2583, 2584, 2584, 2584,
2964 2584, 0, 0, 2584, 2584, 2585, 2585, 2585, 0, 0,
2965 0, 2585, 2586, 2586, 2586, 0, 0, 0, 2586, 2587,
2966 2587, 2587, 2587, 0, 0, 2587, 2587, 2588, 2588, 2588,
2967 0, 0, 0, 2588, 2589, 2589, 2589, 2589, 0, 0,
2968 2589, 2589, 2590, 2590, 2590, 0, 0, 0, 2590, 2591,
2969 2591, 2591, 2591, 0, 0, 2591, 2591, 2592, 2592, 2592,
2970 0, 0, 0, 2592, 2593, 2593, 2593, 2593, 0, 0,
2971 2593, 2593, 2594, 2594, 2594, 0, 0, 0, 2594, 2595,
2972 2595, 2595, 2595, 0, 0, 2595, 2595, 2596, 2596, 2596,
2973 0, 0, 0, 2596, 2597, 2597, 2597, 2597, 0, 0,
2975 2597, 2597, 2598, 2598, 2598, 2598, 0, 2598, 0, 2598,
2976 2599, 2599, 2599, 2599, 0, 0, 2599, 2599, 2600, 2600,
2977 2600, 0, 0, 0, 2600, 2601, 2601, 2601, 2601, 0,
2978 0, 2601, 2601, 2602, 2602, 2602, 2602, 0, 2602, 0,
2979 2602, 2603, 2603, 2603, 2603, 0, 0, 2603, 2603, 2604,
2980 2604, 2604, 0, 0, 0, 2604, 2605, 2605, 2605, 2605,
2981 0, 0, 2605, 2605, 2606, 2606, 2606, 2606, 0, 0,
2982 2606, 2606, 2607, 2607, 2607, 2607, 0, 0, 2607, 2607,
2983 2608, 2608, 2608, 2608, 0, 0, 2608, 2608, 2609, 2609,
2984 2609, 2609, 2609, 2609, 2609, 2609, 2609, 2610, 2610, 2610,
2986 2610, 2610, 2610, 2610, 2610, 2610, 2611, 2611, 2611, 2611,
2987 0, 2611, 0, 2611, 2612, 2612, 2612, 2612, 0, 0,
2988 2612, 2612, 2613, 2613, 2613, 0, 0, 0, 2613, 2614,
2989 2614, 2614, 2614, 0, 0, 2614, 2614, 2615, 2615, 2615,
2990 0, 0, 0, 2615, 2616, 2616, 2616, 2616, 0, 0,
2991 2616, 2616, 2617, 2617, 2617, 2617, 0, 2617, 0, 2617,
2992 2618, 2618, 2618, 2618, 0, 0, 2618, 2618, 2619, 2619,
2993 2619, 0, 0, 0, 2619, 2620, 2620, 2620, 0, 0,
2994 0, 2620, 2621, 2621, 2621, 0, 0, 0, 2621, 2622,
2995 2622, 2622, 2622, 0, 0, 2622, 2622, 2623, 2623, 2623,
2997 0, 0, 0, 2623, 2624, 2624, 2624, 0, 0, 0,
2998 2624, 2625, 2625, 2625, 2625, 0, 0, 2625, 2625, 2626,
2999 2626, 2626, 0, 0, 0, 2626, 2627, 2627, 2627, 0,
3000 0, 0, 2627, 2628, 2628, 2628, 2628, 0, 0, 2628,
3001 2628, 2629, 2629, 2629, 0, 0, 0, 2629, 2630, 2630,
3002 2630, 2630, 0, 0, 2630, 2630, 2631, 2631, 2631, 0,
3003 0, 0, 2631, 2632, 2632, 2632, 2632, 0, 0, 2632,
3004 2632, 2633, 2633, 2633, 2633, 0, 0, 2633, 2633, 2634,
3005 2634, 2634, 0, 0, 0, 2634, 2635, 2635, 2635, 2635,
3006 0, 0, 2635, 2635, 2636, 2636, 2636, 2636, 0, 0,
3008 2636, 2636, 2637, 2637, 2637, 2637, 0, 0, 2637, 2637,
3009 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2638, 2639,
3010 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2640, 2640,
3011 2640, 2640, 2640, 2640, 2640, 2640, 2640, 2641, 2641, 2641,
3012 2641, 2641, 2641, 2641, 2641, 2641, 2642, 2642, 2642, 2642,
3013 2642, 2642, 2642, 2642, 2642, 2643, 2643, 2643, 2643, 2643,
3014 2643, 2643, 2643, 2643, 2644, 2644, 2644, 2644, 2644, 2644,
3015 2644, 2644, 2644, 2645, 2645, 2645, 2645, 2645, 2645, 2645,
3016 2645, 2645, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
3017 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
3019 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
3020 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
3021 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
3022 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
3023 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370, 2370,
3024 2370, 2370, 2370, 2370
3027 /* Table of booleans, true if rule could match eol. */
3028 static yyconst flex_int32_t yy_rule_can_match_eol[391] =
3030 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
3031 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3032 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
3033 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3034 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3035 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3036 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3037 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3038 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
3039 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
3040 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
3041 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
3042 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
3043 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
3044 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0,
3045 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
3046 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0,
3047 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
3048 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
3049 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
3051 static yy_state_type yy_last_accepting_state;
3052 static char *yy_last_accepting_cpos;
3054 extern int surf_parse__flex_debug;
3055 int surf_parse__flex_debug = 0;
3057 /* The intent behind this definition is that it'll catch
3058 * any uses of REJECT which flex missed.
3060 #define REJECT reject_used_but_not_detected
3061 #define yymore() yymore_used_but_not_detected
3062 #define YY_MORE_ADJ 0
3063 #define YY_RESTORE_YY_MORE_OFFSET
3064 char *surf_parse_text;
3065 /* Validating XML processor for src/surf/simgrid.dtd.
3066 * Generated 2011/01/31 15:35:48.
3068 * This program was generated with the FleXML XML processor generator.
3069 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
3070 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3071 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
3073 * There are two, intertwined parts to this program, part A and part B.
3078 * Some parts, here collectively called "Part A", are found in the
3079 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
3080 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
3082 * You can redistribute, use, perform, display and/or modify "Part A"
3083 * provided the following two conditions hold:
3085 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
3086 * FleXML; without even the implied warranty of MERCHANTABILITY or
3087 * FITNESS FOR A PARTICULAR PURPOSE.
3089 * 2. The program distribution conditions do not in any way affect the
3090 * distribution conditions of the FleXML system used to generate this
3091 * file or any version of FleXML derived from that system.
3093 * Notice that these are explicit rights granted to you for files
3094 * generated by the FleXML system. For your rights in connection with
3095 * the FleXML system itself please consult the GNU General Public License.
3100 * The other parts, here collectively called "Part B", and which came
3101 * from the DTD used by FleXML to generate this program, can be
3102 * distributed (or not, as the case may be) under the terms of whoever
3103 * wrote them, provided these terms respect and obey the two conditions
3104 * above under the heading "Part A".
3106 * The author of and contributors to FleXML specifically disclaim
3107 * any copyright interest in "Part B", unless "Part B" was written
3108 * by the author of or contributors to FleXML.
3112 /* Version strings. */
3113 const char rcs_surfxml_flexml_skeleton[] =
3114 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
3115 const char rcs_surfxml_flexml[] =
3116 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
3119 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
3126 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3127 # ifndef __STRICT_ANSI__
3129 # include <process.h>
3132 # include <unistd.h>
3135 #ifndef FLEXML_INDEXSTACKSIZE
3136 #define FLEXML_INDEXSTACKSIZE 1000
3139 /* Generated definitions. */
3140 #define FLEXML_yylineno
3141 #ifndef FLEXML_BUFFERSTACKSIZE
3142 #define FLEXML_BUFFERSTACKSIZE 1000000
3144 #define FLEXML_NEED_BUFFERLIT
3146 /* XML processor api. */
3147 /* FleXML-provided data. */
3148 int surfxml_pcdata_ix;
3149 extern char *surfxml_bufferstack;
3150 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
3151 AT_surfxml_random_generator AX_surfxml_random_generator;
3152 #define A_surfxml_random_generator AX_surfxml_random_generator
3153 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
3154 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
3155 AT_surfxml_trace_connect_element AX_surfxml_trace_connect_element;
3156 #define A_surfxml_trace_connect_element (surfxml_bufferstack + AX_surfxml_trace_connect_element)
3157 AT_surfxml_prop_id AX_surfxml_prop_id;
3158 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
3159 AT_surfxml_host_id AX_surfxml_host_id;
3160 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
3161 AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
3162 #define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
3163 AT_surfxml_peer_lat AX_surfxml_peer_lat;
3164 #define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
3165 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
3166 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
3167 AT_surfxml_peer_availability_file AX_surfxml_peer_availability_file;
3168 #define A_surfxml_peer_availability_file (surfxml_bufferstack + AX_surfxml_peer_availability_file)
3169 AT_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction;
3170 #define A_surfxml_link_ctn_direction AX_surfxml_link_ctn_direction
3171 AT_surfxml_host_state AX_surfxml_host_state;
3172 #define A_surfxml_host_state AX_surfxml_host_state
3173 AT_surfxml_AS_id AX_surfxml_AS_id;
3174 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
3175 AT_surfxml_host_power AX_surfxml_host_power;
3176 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
3177 AT_surfxml_router_id AX_surfxml_router_id;
3178 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
3179 AT_surfxml_process_start_time AX_surfxml_process_start_time;
3180 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
3181 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
3182 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
3183 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
3184 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
3185 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
3186 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
3187 AT_surfxml_trace_file AX_surfxml_trace_file;
3188 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
3189 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
3190 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
3191 AT_surfxml_random_min AX_surfxml_random_min;
3192 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
3193 AT_surfxml_link_ctn_id AX_surfxml_link_ctn_id;
3194 #define A_surfxml_link_ctn_id (surfxml_bufferstack + AX_surfxml_link_ctn_id)
3195 AT_surfxml_peer_bw_out AX_surfxml_peer_bw_out;
3196 #define A_surfxml_peer_bw_out (surfxml_bufferstack + AX_surfxml_peer_bw_out)
3197 AT_surfxml_cluster_availability_file AX_surfxml_cluster_availability_file;
3198 #define A_surfxml_cluster_availability_file (surfxml_bufferstack + AX_surfxml_cluster_availability_file)
3199 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
3200 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
3201 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
3202 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
3203 AT_surfxml_argument_value AX_surfxml_argument_value;
3204 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
3205 AT_surfxml_link_state AX_surfxml_link_state;
3206 #define A_surfxml_link_state AX_surfxml_link_state
3207 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
3208 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
3209 AT_surfxml_AS_routing AX_surfxml_AS_routing;
3210 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
3211 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
3212 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
3213 AT_surfxml_cluster_id AX_surfxml_cluster_id;
3214 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
3215 AT_surfxml_peer_bw_in AX_surfxml_peer_bw_in;
3216 #define A_surfxml_peer_bw_in (surfxml_bufferstack + AX_surfxml_peer_bw_in)
3217 AT_surfxml_random_mean AX_surfxml_random_mean;
3218 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
3219 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
3220 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
3221 AT_surfxml_link_latency AX_surfxml_link_latency;
3222 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
3223 AT_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind;
3224 #define A_surfxml_trace_connect_kind AX_surfxml_trace_connect_kind
3225 AT_surfxml_cluster_state_file AX_surfxml_cluster_state_file;
3226 #define A_surfxml_cluster_state_file (surfxml_bufferstack + AX_surfxml_cluster_state_file)
3227 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
3228 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
3229 AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
3230 #define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
3231 AT_surfxml_random_id AX_surfxml_random_id;
3232 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
3233 AT_surfxml_random_max AX_surfxml_random_max;
3234 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
3235 AT_surfxml_link_id AX_surfxml_link_id;
3236 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
3237 AT_surfxml_process_host AX_surfxml_process_host;
3238 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
3239 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
3240 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
3241 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
3242 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
3243 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
3244 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
3245 AT_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy;
3246 #define A_surfxml_cluster_bb_sharing_policy AX_surfxml_cluster_bb_sharing_policy
3247 AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
3248 #define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
3249 AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
3250 #define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
3251 AT_surfxml_peer_state_file AX_surfxml_peer_state_file;
3252 #define A_surfxml_peer_state_file (surfxml_bufferstack + AX_surfxml_peer_state_file)
3253 AT_surfxml_prop_value AX_surfxml_prop_value;
3254 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3255 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
3256 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
3257 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3258 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3259 AT_surfxml_trace_connect_trace AX_surfxml_trace_connect_trace;
3260 #define A_surfxml_trace_connect_trace (surfxml_bufferstack + AX_surfxml_trace_connect_trace)
3261 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3262 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3263 AT_surfxml_process_function AX_surfxml_process_function;
3264 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3265 AT_surfxml_peer_id AX_surfxml_peer_id;
3266 #define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
3267 AT_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy;
3268 #define A_surfxml_cluster_sharing_policy AX_surfxml_cluster_sharing_policy
3269 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
3270 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
3271 AT_surfxml_host_core AX_surfxml_host_core;
3272 #define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
3273 AT_surfxml_host_availability AX_surfxml_host_availability;
3274 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3275 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
3276 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
3277 AT_surfxml_route_src AX_surfxml_route_src;
3278 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3279 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
3280 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
3281 AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
3282 #define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
3283 AT_surfxml_trace_id AX_surfxml_trace_id;
3284 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3285 AT_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy;
3286 #define A_surfxml_peer_sharing_policy AX_surfxml_peer_sharing_policy
3287 AT_surfxml_peer_power AX_surfxml_peer_power;
3288 #define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
3289 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3290 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3291 AT_surfxml_config_id AX_surfxml_config_id;
3292 #define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
3293 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
3294 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
3295 AT_surfxml_cluster_core AX_surfxml_cluster_core;
3296 #define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
3297 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3298 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3299 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3300 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3301 AT_surfxml_AS_coordinates AX_surfxml_AS_coordinates;
3302 #define A_surfxml_AS_coordinates (surfxml_bufferstack + AX_surfxml_AS_coordinates)
3303 AT_surfxml_route_dst AX_surfxml_route_dst;
3304 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3305 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3306 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3307 AT_surfxml_platform_version AX_surfxml_platform_version;
3308 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3312 # define ENTER(state) debug_enter(state,#state)
3313 # define LEAVE debug_leave()
3314 # define SET(state) debug_set(state,#state)
3315 static void debug_enter(int, const char*);
3316 static void debug_leave(void);
3317 static void debug_set(int, const char*);
3319 # define ENTER(state) (yy_push_state(state))
3320 # define LEAVE (yy_pop_state())
3321 # define SET(state) BEGIN(state)
3324 /* Generic actions. */
3325 #define SKIP /*skip*/
3326 #define SUCCEED CLEANUP; return 0
3328 #define FAIL return fail
3329 static int fail(const char*, ...);
3331 enum {flexml_max_err_msg_size = 512};
3332 static char flexml_err_msg[flexml_max_err_msg_size];
3333 const char * surfxml_parse_err_msg()
3335 return flexml_err_msg;
3337 static void reset_surfxml_parse_err_msg()
3339 flexml_err_msg[0] = '\0';
3343 static void cleanup(void);
3344 #define CLEANUP cleanup()
3346 /* Text buffer stack handling. */
3347 char *surfxml_bufferstack = NULL;
3348 static int blimit = FLEXML_BUFFERSTACKSIZE;
3349 static int bnext = 1;
3351 static int *indexstack = NULL;
3352 static int ilimit = FLEXML_INDEXSTACKSIZE;
3353 static int inext = 1;
3355 #define BUFFERSET(P) (P = bnext)
3356 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3357 #define BUFFERDONE (BUFFERPUTC('\0'))
3359 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3361 /* after this is called, there are at least 2 slots left in the stack */
3362 static int ck_blimit()
3364 if (bnext >= blimit) {
3365 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3367 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3369 surfxml_bufferstack = temp;
3375 /* after this is called, there are at least 2 slots left in the stack */
3376 static int ck_ilimit()
3378 if (inext >= ilimit) {
3379 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3381 int *temp = (int *) realloc(indexstack, ilimit);
3389 #ifdef FLEXML_NEED_BUFFERLIT
3390 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3392 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3393 assert(s <= e); BUFFERSET(*pp);
3395 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3396 else BUFFERPUTC(*s);
3402 static void pushbuffer(int p)
3405 indexstack[inext++] = p;
3406 indexstack[inext++] = bnext;
3409 static int popbuffer(void)
3412 bnext = indexstack[--inext];
3413 return indexstack[--inext];
3416 /* General internal entities are `unput' back onto the input stream... */
3417 #define ENTITYTEXT(T) \
3418 { char *s = (T), *e = s+strlen(s);\
3419 while (--e >= s) { unput(*e); }}
3421 /* Flex standard options. */
3422 #define YY_NO_INPUT 1
3423 /* Flex user-requested options. */
3424 /* XML character classes (currently restricted to ASCII). */
3425 /* "Common syntactic structures." */
3426 /* "Names and Tokens." */
3427 /* Miscellaneous. */
3428 /* Parser states (flex `exclusive start conditions'):
3430 * PROLOG the XML prolog of the document before <?xml...>
3431 * DOCTYPE the XML prolog of the document after <?xml...>
3432 * EPILOG after the root element
3433 * INCOMMENT inside an XML comment <!--....-->
3434 * INPI inside an XML PI <?...?>
3435 * VALUE1 inside a '...'-delimited literal
3436 * VALUE2 inside a "..."-delimited literal
3437 * CDATA inside a <![CDATA[...] ]> section.
3438 * ROOT_<tag> expect root element <tag>
3439 * AL_<tag> inside the attribute list for <tag>
3440 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3441 * IMPOSSIBLE dummy to permit disabling rules; must be last
3445 const char* *surfxml_statenames=NULL;
3456 #define ROOT_surfxml_platform 9
3457 #define AL_surfxml_platform 10
3458 #define S_surfxml_platform 11
3459 #define S_surfxml_platform_1 12
3460 #define S_surfxml_platform_2 13
3461 #define S_surfxml_platform_3 14
3462 #define S_surfxml_platform_4 15
3463 #define S_surfxml_platform_5 16
3464 #define S_surfxml_platform_6 17
3465 #define E_surfxml_platform 18
3466 #define AL_surfxml_trace 19
3468 #define AL_surfxml_random 21
3469 #define S_surfxml_random 22
3470 #define S_surfxml_random_1 23
3471 #define S_surfxml_random_2 24
3472 #define E_surfxml_random 25
3473 #define AL_surfxml_trace_connect 26
3474 #define E_surfxml_trace_connect 27
3475 #define AL_surfxml_AS 28
3476 #define S_surfxml_AS 29
3477 #define S_surfxml_AS_1 30
3478 #define S_surfxml_AS_2 31
3479 #define S_surfxml_AS_3 32
3480 #define S_surfxml_AS_4 33
3481 #define S_surfxml_AS_5 34
3482 #define S_surfxml_AS_6 35
3483 #define S_surfxml_AS_7 36
3484 #define S_surfxml_AS_8 37
3485 #define S_surfxml_AS_9 38
3486 #define S_surfxml_AS_10 39
3487 #define S_surfxml_AS_11 40
3488 #define S_surfxml_AS_12 41
3489 #define S_surfxml_AS_13 42
3490 #define E_surfxml_AS 43
3491 #define AL_surfxml_host 44
3492 #define S_surfxml_host 45
3493 #define S_surfxml_host_1 46
3494 #define S_surfxml_host_2 47
3495 #define E_surfxml_host 48
3496 #define AL_surfxml_cluster 49
3497 #define E_surfxml_cluster 50
3498 #define AL_surfxml_peer 51
3499 #define E_surfxml_peer 52
3500 #define AL_surfxml_router 53
3501 #define E_surfxml_router 54
3502 #define AL_surfxml_link 55
3503 #define S_surfxml_link 56
3504 #define S_surfxml_link_1 57
3505 #define S_surfxml_link_2 58
3506 #define E_surfxml_link 59
3507 #define AL_surfxml_route 60
3508 #define S_surfxml_route 61
3509 #define S_surfxml_route_1 62
3510 #define S_surfxml_route_2 63
3511 #define E_surfxml_route 64
3512 #define AL_surfxml_ASroute 65
3513 #define S_surfxml_ASroute 66
3514 #define S_surfxml_ASroute_1 67
3515 #define S_surfxml_ASroute_2 68
3516 #define E_surfxml_ASroute 69
3517 #define AL_surfxml_link_ctn 70
3518 #define E_surfxml_link_ctn 71
3519 #define AL_surfxml_bypassRoute 72
3520 #define S_surfxml_bypassRoute 73
3521 #define S_surfxml_bypassRoute_1 74
3522 #define S_surfxml_bypassRoute_2 75
3523 #define E_surfxml_bypassRoute 76
3524 #define AL_surfxml_process 77
3525 #define S_surfxml_process 78
3526 #define S_surfxml_process_1 79
3527 #define S_surfxml_process_2 80
3528 #define E_surfxml_process 81
3529 #define AL_surfxml_argument 82
3530 #define E_surfxml_argument 83
3531 #define AL_surfxml_config 84
3532 #define S_surfxml_config 85
3533 #define S_surfxml_config_1 86
3534 #define S_surfxml_config_2 87
3535 #define E_surfxml_config 88
3536 #define AL_surfxml_prop 89
3537 #define E_surfxml_prop 90
3538 #define IMPOSSIBLE 91
3540 #ifndef YY_NO_UNISTD_H
3541 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3542 * down here because we want the user's section 1 to have been scanned first.
3543 * The user has a chance to override it with an option.
3545 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3546 # ifndef __STRICT_ANSI__
3548 # include <process.h>
3551 # include <unistd.h>
3555 #ifndef YY_EXTRA_TYPE
3556 #define YY_EXTRA_TYPE void *
3559 static int yy_init_globals (void );
3561 /* Accessor methods to globals.
3562 These are made visible to non-reentrant scanners for convenience. */
3564 int surf_parse_lex_destroy (void );
3566 int surf_parse_get_debug (void );
3568 void surf_parse_set_debug (int debug_flag );
3570 YY_EXTRA_TYPE surf_parse_get_extra (void );
3572 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3574 FILE *surf_parse_get_in (void );
3576 void surf_parse_set_in (FILE * in_str );
3578 FILE *surf_parse_get_out (void );
3580 void surf_parse_set_out (FILE * out_str );
3582 int surf_parse_get_leng (void );
3584 char *surf_parse_get_text (void );
3586 int surf_parse_get_lineno (void );
3588 void surf_parse_set_lineno (int line_number );
3590 /* Macros after this point can all be overridden by user definitions in
3594 #ifndef YY_SKIP_YYWRAP
3596 extern "C" int surf_parse_wrap (void );
3598 extern int surf_parse_wrap (void );
3603 static void yy_flex_strncpy (char *,yyconst char *,int );
3606 #ifdef YY_NEED_STRLEN
3607 static int yy_flex_strlen (yyconst char * );
3613 static int yyinput (void );
3615 static int input (void );
3620 static int yy_start_stack_ptr = 0;
3621 static int yy_start_stack_depth = 0;
3622 static int *yy_start_stack = NULL;
3624 static void yy_push_state (int new_state );
3626 static void yy_pop_state (void );
3628 /* Amount of stuff to slurp up with each read. */
3629 #ifndef YY_READ_BUF_SIZE
3631 /* On IA-64, the buffer size is 16k, not 8k */
3632 #define YY_READ_BUF_SIZE 16384
3634 #define YY_READ_BUF_SIZE 8192
3635 #endif /* __ia64__ */
3638 /* Copy whatever the last rule matched to the standard output. */
3640 /* This used to be an fputs(), but since the string might contain NUL's,
3641 * we now use fwrite().
3643 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3646 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3647 * is returned in "result".
3650 #define YY_INPUT(buf,result,max_size) \
3651 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3655 for ( n = 0; n < max_size && \
3656 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3657 buf[n] = (char) c; \
3659 buf[n++] = (char) c; \
3660 if ( c == EOF && ferror( surf_parse_in ) ) \
3661 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3667 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3669 if( errno != EINTR) \
3671 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3675 clearerr(surf_parse_in); \
3682 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3683 * we don't want an extra ';' after the "return" because that will cause
3684 * some compilers to complain about unreachable statements.
3687 #define yyterminate() return YY_NULL
3690 /* Number of entries by which start-condition stack grows. */
3691 #ifndef YY_START_STACK_INCR
3692 #define YY_START_STACK_INCR 25
3695 /* Report a fatal error. */
3696 #ifndef YY_FATAL_ERROR
3697 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3700 /* end tables serialization structures and prototypes */
3702 /* Default declaration of generated scanner - a define so the user can
3703 * easily add parameters.
3706 #define YY_DECL_IS_OURS 1
3708 extern int surf_parse_lex (void);
3710 #define YY_DECL int surf_parse_lex (void)
3711 #endif /* !YY_DECL */
3713 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3716 #ifndef YY_USER_ACTION
3717 #define YY_USER_ACTION
3720 /* Code executed at the end of each rule. */
3722 #define YY_BREAK break;
3725 #define YY_RULE_SETUP \
3728 /** The main scanner function which does all the work.
3732 register yy_state_type yy_current_state;
3733 register char *yy_cp, *yy_bp;
3734 register int yy_act;
3736 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3738 reset_surfxml_parse_err_msg();
3739 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3740 assert(surfxml_bufferstack);
3744 for (i = 0; i < blimit; i++) {
3745 surfxml_bufferstack[i] = '\377';
3749 surfxml_bufferstack[0] = '\0';
3750 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3756 surfxml_bufferliteral('\0', &bnext, "0.0");
3757 surfxml_bufferliteral('\0', &bnext, "1");
3758 surfxml_bufferliteral('\0', &bnext, "1.0");
3759 surfxml_bufferliteral('\0', &bnext, "1");
3760 surfxml_bufferliteral('\0', &bnext, "0.0");
3761 surfxml_bufferliteral('\0', &bnext, "-1.0");
3762 surfxml_bufferliteral('\0', &bnext, "-1.0");
3763 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3764 surfxml_statenames[PROLOG] = NULL;
3765 surfxml_statenames[DOCTYPE] = NULL;
3766 surfxml_statenames[EPILOG] = NULL;
3767 surfxml_statenames[INCOMMENT] = NULL;
3768 surfxml_statenames[INPI] = NULL;
3769 surfxml_statenames[VALUE1] = NULL;
3770 surfxml_statenames[VALUE2] = NULL;
3771 surfxml_statenames[CDATA] = NULL;
3772 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3773 surfxml_statenames[AL_surfxml_platform] = NULL;
3774 surfxml_statenames[S_surfxml_platform] = "platform";
3775 surfxml_statenames[S_surfxml_platform_1] = "platform";
3776 surfxml_statenames[S_surfxml_platform_2] = "platform";
3777 surfxml_statenames[S_surfxml_platform_3] = "platform";
3778 surfxml_statenames[S_surfxml_platform_4] = "platform";
3779 surfxml_statenames[S_surfxml_platform_5] = "platform";
3780 surfxml_statenames[S_surfxml_platform_6] = "platform";
3781 surfxml_statenames[E_surfxml_platform] = "platform";
3782 surfxml_statenames[AL_surfxml_trace] = NULL;
3783 surfxml_statenames[IN_trace] = "trace";
3784 surfxml_statenames[AL_surfxml_random] = NULL;
3785 surfxml_statenames[S_surfxml_random] = "random";
3786 surfxml_statenames[S_surfxml_random_1] = "random";
3787 surfxml_statenames[S_surfxml_random_2] = "random";
3788 surfxml_statenames[E_surfxml_random] = "random";
3789 surfxml_statenames[AL_surfxml_trace_connect] = NULL;
3790 surfxml_statenames[E_surfxml_trace_connect] = "trace_connect";
3791 surfxml_statenames[AL_surfxml_AS] = NULL;
3792 surfxml_statenames[S_surfxml_AS] = "AS";
3793 surfxml_statenames[S_surfxml_AS_1] = "AS";
3794 surfxml_statenames[S_surfxml_AS_2] = "AS";
3795 surfxml_statenames[S_surfxml_AS_3] = "AS";
3796 surfxml_statenames[S_surfxml_AS_4] = "AS";
3797 surfxml_statenames[S_surfxml_AS_5] = "AS";
3798 surfxml_statenames[S_surfxml_AS_6] = "AS";
3799 surfxml_statenames[S_surfxml_AS_7] = "AS";
3800 surfxml_statenames[S_surfxml_AS_8] = "AS";
3801 surfxml_statenames[S_surfxml_AS_9] = "AS";
3802 surfxml_statenames[S_surfxml_AS_10] = "AS";
3803 surfxml_statenames[S_surfxml_AS_11] = "AS";
3804 surfxml_statenames[S_surfxml_AS_12] = "AS";
3805 surfxml_statenames[S_surfxml_AS_13] = "AS";
3806 surfxml_statenames[E_surfxml_AS] = "AS";
3807 surfxml_statenames[AL_surfxml_host] = NULL;
3808 surfxml_statenames[S_surfxml_host] = "host";
3809 surfxml_statenames[S_surfxml_host_1] = "host";
3810 surfxml_statenames[S_surfxml_host_2] = "host";
3811 surfxml_statenames[E_surfxml_host] = "host";
3812 surfxml_statenames[AL_surfxml_cluster] = NULL;
3813 surfxml_statenames[E_surfxml_cluster] = "cluster";
3814 surfxml_statenames[AL_surfxml_peer] = NULL;
3815 surfxml_statenames[E_surfxml_peer] = "peer";
3816 surfxml_statenames[AL_surfxml_router] = NULL;
3817 surfxml_statenames[E_surfxml_router] = "router";
3818 surfxml_statenames[AL_surfxml_link] = NULL;
3819 surfxml_statenames[S_surfxml_link] = "link";
3820 surfxml_statenames[S_surfxml_link_1] = "link";
3821 surfxml_statenames[S_surfxml_link_2] = "link";
3822 surfxml_statenames[E_surfxml_link] = "link";
3823 surfxml_statenames[AL_surfxml_route] = NULL;
3824 surfxml_statenames[S_surfxml_route] = "route";
3825 surfxml_statenames[S_surfxml_route_1] = "route";
3826 surfxml_statenames[S_surfxml_route_2] = "route";
3827 surfxml_statenames[E_surfxml_route] = "route";
3828 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3829 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3830 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3831 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3832 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3833 surfxml_statenames[AL_surfxml_link_ctn] = NULL;
3834 surfxml_statenames[E_surfxml_link_ctn] = "link_ctn";
3835 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3836 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3837 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3838 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3839 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3840 surfxml_statenames[AL_surfxml_process] = NULL;
3841 surfxml_statenames[S_surfxml_process] = "process";
3842 surfxml_statenames[S_surfxml_process_1] = "process";
3843 surfxml_statenames[S_surfxml_process_2] = "process";
3844 surfxml_statenames[E_surfxml_process] = "process";
3845 surfxml_statenames[AL_surfxml_argument] = NULL;
3846 surfxml_statenames[E_surfxml_argument] = "argument";
3847 surfxml_statenames[AL_surfxml_config] = NULL;
3848 surfxml_statenames[S_surfxml_config] = "config";
3849 surfxml_statenames[S_surfxml_config_1] = "config";
3850 surfxml_statenames[S_surfxml_config_2] = "config";
3851 surfxml_statenames[E_surfxml_config] = "config";
3852 surfxml_statenames[AL_surfxml_prop] = NULL;
3853 surfxml_statenames[E_surfxml_prop] = "prop";
3856 /* COMMENTS and PIs: handled uniformly for efficiency. */
3867 (yy_start) = 1; /* first start state */
3869 if ( ! surf_parse_in )
3870 surf_parse_in = stdin;
3872 if ( ! surf_parse_out )
3873 surf_parse_out = stdout;
3875 if ( ! YY_CURRENT_BUFFER ) {
3876 surf_parse_ensure_buffer_stack ();
3877 YY_CURRENT_BUFFER_LVALUE =
3878 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3881 surf_parse__load_buffer_state( );
3884 while ( 1 ) /* loops until end-of-file is reached */
3886 yy_cp = (yy_c_buf_p);
3888 /* Support of surf_parse_text. */
3889 *yy_cp = (yy_hold_char);
3891 /* yy_bp points to the position in yy_ch_buf of the start of
3896 yy_current_state = (yy_start);
3900 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3901 if ( yy_accept[yy_current_state] )
3903 (yy_last_accepting_state) = yy_current_state;
3904 (yy_last_accepting_cpos) = yy_cp;
3906 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3908 yy_current_state = (int) yy_def[yy_current_state];
3909 if ( yy_current_state >= 2371 )
3910 yy_c = yy_meta[(unsigned int) yy_c];
3912 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3915 while ( yy_base[yy_current_state] != 7683 );
3918 yy_act = yy_accept[yy_current_state];
3920 { /* have to back up */
3921 yy_cp = (yy_last_accepting_cpos);
3922 yy_current_state = (yy_last_accepting_state);
3923 yy_act = yy_accept[yy_current_state];
3926 YY_DO_BEFORE_ACTION;
3928 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3931 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3932 if ( surf_parse_text[yyl] == '\n' )
3934 surf_parse_lineno++;
3938 do_action: /* This label is used only to access EOF actions. */
3941 { /* beginning of action switch */
3942 case 0: /* must back up */
3943 /* undo the effects of YY_DO_BEFORE_ACTION */
3944 *yy_cp = (yy_hold_char);
3945 yy_cp = (yy_last_accepting_cpos);
3946 yy_current_state = (yy_last_accepting_state);
3947 goto yy_find_action;
3965 /* rule 6 can match eol */
3969 case YY_STATE_EOF(INCOMMENT):
3970 FAIL("EOF in comment.");
3979 /* rule 9 can match eol */
3983 case YY_STATE_EOF(INPI):
3984 FAIL("EOF in PI (processing instruction).");
3987 /* SPACES: skipped uniformly */
3989 /* rule 10 can match eol */
3993 /* PROLOG: determine root element and process it. */
3996 /* rule 11 can match eol */
4001 /* rule 12 can match eol */
4003 FAIL("Bad declaration %s.",surf_parse_text);
4007 /* rule 13 can match eol */
4009 SET(ROOT_surfxml_platform);
4012 /* rule 14 can match eol */
4014 FAIL("Bad declaration %s.",surf_parse_text);
4018 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
4020 case YY_STATE_EOF(PROLOG):
4021 case YY_STATE_EOF(DOCTYPE):
4022 FAIL("EOF in prolog.");
4025 /* RULES DERIVED FROM DTD. */
4026 /* <!-- Small DTD for SURF based tools. --> */
4028 /* rule 16 can match eol */
4030 FAIL("Starting tag <platform> is not allowed here.");
4033 /* rule 17 can match eol */
4036 AX_surfxml_platform_version = 1;
4037 ENTER(AL_surfxml_platform); pushbuffer(0);
4042 /* rule 18 can match eol */
4044 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
4047 /* rule 19 can match eol */
4049 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
4054 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
4060 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
4062 case ROOT_surfxml_platform: SET(EPILOG); break;
4068 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
4072 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
4074 case YY_STATE_EOF(AL_surfxml_platform):
4075 FAIL("EOF in attribute list of `platform' element.");
4079 /* rule 24 can match eol */
4083 ETag_surfxml_platform();
4084 popbuffer(); /* attribute */
4086 case ROOT_surfxml_platform: SET(EPILOG); break;
4091 /* rule 25 can match eol */
4093 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
4097 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
4099 case YY_STATE_EOF(S_surfxml_platform_2):
4100 case YY_STATE_EOF(S_surfxml_platform_1):
4101 case YY_STATE_EOF(S_surfxml_platform):
4102 case YY_STATE_EOF(S_surfxml_platform_4):
4103 case YY_STATE_EOF(S_surfxml_platform_6):
4104 case YY_STATE_EOF(E_surfxml_platform):
4105 FAIL("Premature EOF: `</platform>' expected.");
4109 /* rule 27 can match eol */
4111 FAIL("Starting tag <trace> is not allowed here.");
4114 /* rule 28 can match eol */
4117 AX_surfxml_trace_id = 0;
4118 AX_surfxml_trace_file = 0;
4119 AX_surfxml_trace_periodicity = 0;
4120 ENTER(AL_surfxml_trace); pushbuffer(0);
4125 /* rule 29 can match eol */
4127 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
4130 /* rule 30 can match eol */
4132 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
4135 /* rule 31 can match eol */
4137 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
4140 /* rule 32 can match eol */
4142 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
4145 /* rule 33 can match eol */
4147 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
4150 /* rule 34 can match eol */
4152 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
4157 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4158 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4159 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
4165 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
4166 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
4167 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
4169 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4170 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4171 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4172 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4173 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4174 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4180 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
4184 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
4186 case YY_STATE_EOF(AL_surfxml_trace):
4187 FAIL("EOF in attribute list of `trace' element.");
4191 /* rule 39 can match eol */
4196 ETag_surfxml_trace();
4197 surfxml_pcdata_ix = popbuffer();
4198 popbuffer(); /* attribute */
4200 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4201 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4202 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4203 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4204 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4205 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4210 /* rule 40 can match eol */
4212 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4214 case YY_STATE_EOF(IN_trace):
4215 FAIL("Premature EOF: `</trace>' expected.");
4219 /* rule 41 can match eol */
4221 FAIL("Starting tag <random> is not allowed here.");
4224 /* rule 42 can match eol */
4227 AX_surfxml_random_id = 0;
4228 AX_surfxml_random_min = 0;
4229 AX_surfxml_random_max = 0;
4230 AX_surfxml_random_mean = 0;
4231 AX_surfxml_random_std_deviation = 0;
4232 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4233 ENTER(AL_surfxml_random); pushbuffer(0);
4238 /* rule 43 can match eol */
4240 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4243 /* rule 44 can match eol */
4245 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4248 /* rule 45 can match eol */
4250 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4253 /* rule 46 can match eol */
4255 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4258 /* rule 47 can match eol */
4260 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4263 /* rule 48 can match eol */
4265 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4268 /* rule 49 can match eol */
4270 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4273 /* rule 50 can match eol */
4275 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4278 /* rule 51 can match eol */
4280 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4283 /* rule 52 can match eol */
4285 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4288 /* rule 53 can match eol */
4290 /* rule 54 can match eol */
4292 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4295 /* rule 55 can match eol */
4297 /* rule 56 can match eol */
4299 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4304 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4305 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4306 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4307 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4308 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4309 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4315 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4316 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4317 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4318 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4319 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4320 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4322 case S_surfxml_config: SET(E_surfxml_config); break;
4328 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4332 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4334 case YY_STATE_EOF(AL_surfxml_random):
4335 FAIL("EOF in attribute list of `random' element.");
4339 /* rule 61 can match eol */
4343 ETag_surfxml_random();
4344 popbuffer(); /* attribute */
4346 case S_surfxml_config: SET(E_surfxml_config); break;
4351 /* rule 62 can match eol */
4353 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4357 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4359 case YY_STATE_EOF(S_surfxml_random_2):
4360 case YY_STATE_EOF(S_surfxml_random):
4361 case YY_STATE_EOF(E_surfxml_random):
4362 FAIL("Premature EOF: `</random>' expected.");
4366 /* rule 64 can match eol */
4368 FAIL("Starting tag <trace_connect> is not allowed here.");
4371 /* rule 65 can match eol */
4374 AX_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4375 AX_surfxml_trace_connect_trace = 0;
4376 AX_surfxml_trace_connect_element = 0;
4377 ENTER(AL_surfxml_trace_connect); pushbuffer(0);
4382 /* rule 66 can match eol */
4384 /* rule 67 can match eol */
4386 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_HOST_AVAIL;
4389 /* rule 68 can match eol */
4391 /* rule 69 can match eol */
4393 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_POWER;
4396 /* rule 70 can match eol */
4398 /* rule 71 can match eol */
4400 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LINK_AVAIL;
4403 /* rule 72 can match eol */
4405 /* rule 73 can match eol */
4407 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_BANDWIDTH;
4410 /* rule 74 can match eol */
4412 /* rule 75 can match eol */
4414 A_surfxml_trace_connect_kind = A_surfxml_trace_connect_kind_LATENCY;
4417 /* rule 76 can match eol */
4419 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_trace);
4422 /* rule 77 can match eol */
4424 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_trace);
4427 /* rule 78 can match eol */
4429 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_connect_element);
4432 /* rule 79 can match eol */
4434 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_connect_element);
4439 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4440 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4441 LEAVE; STag_surfxml_trace_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_connect);
4447 if (!AX_surfxml_trace_connect_trace) FAIL("Required attribute `trace' not set for `trace_connect' element.");
4448 if (!AX_surfxml_trace_connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
4449 LEAVE; STag_surfxml_trace_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_connect(); popbuffer(); /* attribute */
4451 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4452 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4453 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4454 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4455 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4456 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4462 FAIL("Unexpected character `%c' in attribute list of trace_connect element.", surf_parse_text[0]);
4466 FAIL("Bad attribute `%s' in `trace_connect' element start tag.",surf_parse_text);
4468 case YY_STATE_EOF(AL_surfxml_trace_connect):
4469 FAIL("EOF in attribute list of `trace_connect' element.");
4473 /* rule 84 can match eol */
4477 ETag_surfxml_trace_connect();
4478 popbuffer(); /* attribute */
4480 case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
4481 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4482 case S_surfxml_AS_2: SET(S_surfxml_AS_3); break;
4483 case S_surfxml_AS_1: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
4484 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4485 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_13: SET(S_surfxml_AS_13); break;
4490 /* rule 85 can match eol */
4492 FAIL("Unexpected end-tag `%s': `</trace_connect>' expected.",surf_parse_text);
4496 FAIL("Unexpected character `%c': `</trace_connect>' expected.",surf_parse_text[0]);
4498 case YY_STATE_EOF(E_surfxml_trace_connect):
4499 FAIL("Premature EOF: `</trace_connect>' expected.");
4503 /* rule 87 can match eol */
4505 FAIL("Starting tag <AS> is not allowed here.");
4508 /* rule 88 can match eol */
4511 AX_surfxml_AS_id = 0;
4512 AX_surfxml_AS_routing = 0;
4513 AX_surfxml_AS_coordinates = 0;
4514 ENTER(AL_surfxml_AS); pushbuffer(0);
4519 /* rule 89 can match eol */
4521 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4524 /* rule 90 can match eol */
4526 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4529 /* rule 91 can match eol */
4531 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4534 /* rule 92 can match eol */
4536 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4539 /* rule 93 can match eol */
4541 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_coordinates);
4544 /* rule 94 can match eol */
4546 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_coordinates);
4551 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4552 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4553 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4559 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4560 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4561 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4563 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4564 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4570 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4574 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4576 case YY_STATE_EOF(AL_surfxml_AS):
4577 FAIL("EOF in attribute list of `AS' element.");
4581 /* rule 99 can match eol */
4586 popbuffer(); /* attribute */
4588 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4589 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4594 /* rule 100 can match eol */
4596 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4600 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4602 case YY_STATE_EOF(S_surfxml_AS_1):
4603 case YY_STATE_EOF(S_surfxml_AS_9):
4604 case YY_STATE_EOF(S_surfxml_AS_11):
4605 case YY_STATE_EOF(S_surfxml_AS_6):
4606 case YY_STATE_EOF(E_surfxml_AS):
4607 case YY_STATE_EOF(S_surfxml_AS_3):
4608 case YY_STATE_EOF(S_surfxml_AS_13):
4609 case YY_STATE_EOF(S_surfxml_AS_8):
4610 case YY_STATE_EOF(S_surfxml_AS):
4611 case YY_STATE_EOF(S_surfxml_AS_4):
4612 FAIL("Premature EOF: `</AS>' expected.");
4616 /* rule 102 can match eol */
4618 FAIL("Starting tag <host> is not allowed here.");
4621 /* rule 103 can match eol */
4624 AX_surfxml_host_id = 0;
4625 AX_surfxml_host_power = 0;
4626 AX_surfxml_host_core = 5;
4627 AX_surfxml_host_availability = 7;
4628 AX_surfxml_host_availability_file = 0;
4629 AX_surfxml_host_state = A_surfxml_host_state_ON;
4630 AX_surfxml_host_state_file = 0;
4631 AX_surfxml_host_coordinates = 0;
4632 ENTER(AL_surfxml_host); pushbuffer(0);
4637 /* rule 104 can match eol */
4639 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4642 /* rule 105 can match eol */
4644 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4647 /* rule 106 can match eol */
4649 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4652 /* rule 107 can match eol */
4654 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4657 /* rule 108 can match eol */
4659 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_core);
4662 /* rule 109 can match eol */
4664 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_core);
4667 /* rule 110 can match eol */
4669 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4672 /* rule 111 can match eol */
4674 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4677 /* rule 112 can match eol */
4679 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4682 /* rule 113 can match eol */
4684 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4687 /* rule 114 can match eol */
4689 /* rule 115 can match eol */
4691 A_surfxml_host_state = A_surfxml_host_state_ON;
4694 /* rule 116 can match eol */
4696 /* rule 117 can match eol */
4698 A_surfxml_host_state = A_surfxml_host_state_OFF;
4701 /* rule 118 can match eol */
4703 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4706 /* rule 119 can match eol */
4708 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4711 /* rule 120 can match eol */
4713 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_coordinates);
4716 /* rule 121 can match eol */
4718 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_coordinates);
4723 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4724 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4725 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4731 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4732 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4733 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4735 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4741 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4745 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4747 case YY_STATE_EOF(AL_surfxml_host):
4748 FAIL("EOF in attribute list of `host' element.");
4752 /* rule 126 can match eol */
4756 ETag_surfxml_host();
4757 popbuffer(); /* attribute */
4759 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4764 /* rule 127 can match eol */
4766 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4770 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4772 case YY_STATE_EOF(S_surfxml_host):
4773 case YY_STATE_EOF(E_surfxml_host):
4774 case YY_STATE_EOF(S_surfxml_host_2):
4775 FAIL("Premature EOF: `</host>' expected.");
4779 /* rule 129 can match eol */
4781 FAIL("Starting tag <cluster> is not allowed here.");
4784 /* rule 130 can match eol */
4787 AX_surfxml_cluster_id = 0;
4788 AX_surfxml_cluster_prefix = 0;
4789 AX_surfxml_cluster_suffix = 0;
4790 AX_surfxml_cluster_radical = 0;
4791 AX_surfxml_cluster_power = 0;
4792 AX_surfxml_cluster_core = 11;
4793 AX_surfxml_cluster_bw = 0;
4794 AX_surfxml_cluster_lat = 0;
4795 AX_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4796 AX_surfxml_cluster_bb_bw = 0;
4797 AX_surfxml_cluster_bb_lat = 0;
4798 AX_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4799 AX_surfxml_cluster_availability_file = 0;
4800 AX_surfxml_cluster_state_file = 0;
4801 ENTER(AL_surfxml_cluster); pushbuffer(0);
4806 /* rule 131 can match eol */
4808 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4811 /* rule 132 can match eol */
4813 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4816 /* rule 133 can match eol */
4818 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4821 /* rule 134 can match eol */
4823 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4826 /* rule 135 can match eol */
4828 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4831 /* rule 136 can match eol */
4833 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4836 /* rule 137 can match eol */
4838 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4841 /* rule 138 can match eol */
4843 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4846 /* rule 139 can match eol */
4848 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4851 /* rule 140 can match eol */
4853 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4856 /* rule 141 can match eol */
4858 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_core);
4861 /* rule 142 can match eol */
4863 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_core);
4866 /* rule 143 can match eol */
4868 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4871 /* rule 144 can match eol */
4873 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4876 /* rule 145 can match eol */
4878 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4881 /* rule 146 can match eol */
4883 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4886 /* rule 147 can match eol */
4888 /* rule 148 can match eol */
4890 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_SHARED;
4893 /* rule 149 can match eol */
4895 /* rule 150 can match eol */
4897 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FULLDUPLEX;
4900 /* rule 151 can match eol */
4902 /* rule 152 can match eol */
4904 A_surfxml_cluster_sharing_policy = A_surfxml_cluster_sharing_policy_FATPIPE;
4907 /* rule 153 can match eol */
4909 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4912 /* rule 154 can match eol */
4914 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4917 /* rule 155 can match eol */
4919 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4922 /* rule 156 can match eol */
4924 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4927 /* rule 157 can match eol */
4929 /* rule 158 can match eol */
4931 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_SHARED;
4934 /* rule 159 can match eol */
4936 /* rule 160 can match eol */
4938 A_surfxml_cluster_bb_sharing_policy = A_surfxml_cluster_bb_sharing_policy_FATPIPE;
4941 /* rule 161 can match eol */
4943 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_availability_file);
4946 /* rule 162 can match eol */
4948 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_availability_file);
4951 /* rule 163 can match eol */
4953 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_state_file);
4956 /* rule 164 can match eol */
4958 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_state_file);
4963 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4964 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4965 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4966 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4967 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4968 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4969 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4970 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4971 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4972 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4978 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4979 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4980 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4981 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4982 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4983 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4984 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4985 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4986 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4987 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4989 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4990 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
4996 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
5000 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
5002 case YY_STATE_EOF(AL_surfxml_cluster):
5003 FAIL("EOF in attribute list of `cluster' element.");
5007 /* rule 169 can match eol */
5011 ETag_surfxml_cluster();
5012 popbuffer(); /* attribute */
5014 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5015 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
5020 /* rule 170 can match eol */
5022 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
5026 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
5028 case YY_STATE_EOF(E_surfxml_cluster):
5029 FAIL("Premature EOF: `</cluster>' expected.");
5033 /* rule 172 can match eol */
5035 FAIL("Starting tag <peer> is not allowed here.");
5038 /* rule 173 can match eol */
5041 AX_surfxml_peer_id = 0;
5042 AX_surfxml_peer_power = 0;
5043 AX_surfxml_peer_bw_in = 0;
5044 AX_surfxml_peer_bw_out = 0;
5045 AX_surfxml_peer_lat = 0;
5046 AX_surfxml_peer_coordinates = 0;
5047 AX_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
5048 AX_surfxml_peer_availability_file = 0;
5049 AX_surfxml_peer_state_file = 0;
5050 ENTER(AL_surfxml_peer); pushbuffer(0);
5055 /* rule 174 can match eol */
5057 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_id);
5060 /* rule 175 can match eol */
5062 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_id);
5065 /* rule 176 can match eol */
5067 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_power);
5070 /* rule 177 can match eol */
5072 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_power);
5075 /* rule 178 can match eol */
5077 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_in);
5080 /* rule 179 can match eol */
5082 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_in);
5085 /* rule 180 can match eol */
5087 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_bw_out);
5090 /* rule 181 can match eol */
5092 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_bw_out);
5095 /* rule 182 can match eol */
5097 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_lat);
5100 /* rule 183 can match eol */
5102 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_lat);
5105 /* rule 184 can match eol */
5107 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_coordinates);
5110 /* rule 185 can match eol */
5112 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_coordinates);
5115 /* rule 186 can match eol */
5117 /* rule 187 can match eol */
5119 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_SHARED;
5122 /* rule 188 can match eol */
5124 /* rule 189 can match eol */
5126 A_surfxml_peer_sharing_policy = A_surfxml_peer_sharing_policy_FULLDUPLEX;
5129 /* rule 190 can match eol */
5131 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_availability_file);
5134 /* rule 191 can match eol */
5136 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_availability_file);
5139 /* rule 192 can match eol */
5141 ENTER(VALUE1); BUFFERSET(AX_surfxml_peer_state_file);
5144 /* rule 193 can match eol */
5146 ENTER(VALUE2); BUFFERSET(AX_surfxml_peer_state_file);
5151 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5152 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5153 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5154 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5155 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5156 LEAVE; STag_surfxml_peer();surfxml_pcdata_ix = 0; ENTER(E_surfxml_peer);
5162 if (!AX_surfxml_peer_id) FAIL("Required attribute `id' not set for `peer' element.");
5163 if (!AX_surfxml_peer_power) FAIL("Required attribute `power' not set for `peer' element.");
5164 if (!AX_surfxml_peer_bw_in) FAIL("Required attribute `bw_in' not set for `peer' element.");
5165 if (!AX_surfxml_peer_bw_out) FAIL("Required attribute `bw_out' not set for `peer' element.");
5166 if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
5167 LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
5169 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5170 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
5176 FAIL("Unexpected character `%c' in attribute list of peer element.", surf_parse_text[0]);
5180 FAIL("Bad attribute `%s' in `peer' element start tag.",surf_parse_text);
5182 case YY_STATE_EOF(AL_surfxml_peer):
5183 FAIL("EOF in attribute list of `peer' element.");
5187 /* rule 198 can match eol */
5191 ETag_surfxml_peer();
5192 popbuffer(); /* attribute */
5194 case S_surfxml_AS_2: case S_surfxml_AS: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5195 case S_surfxml_platform_4: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_4); break;
5200 /* rule 199 can match eol */
5202 FAIL("Unexpected end-tag `%s': `</peer>' expected.",surf_parse_text);
5206 FAIL("Unexpected character `%c': `</peer>' expected.",surf_parse_text[0]);
5208 case YY_STATE_EOF(E_surfxml_peer):
5209 FAIL("Premature EOF: `</peer>' expected.");
5213 /* rule 201 can match eol */
5215 FAIL("Starting tag <router> is not allowed here.");
5218 /* rule 202 can match eol */
5221 AX_surfxml_router_id = 0;
5222 AX_surfxml_router_coordinates = 0;
5223 ENTER(AL_surfxml_router); pushbuffer(0);
5228 /* rule 203 can match eol */
5230 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
5233 /* rule 204 can match eol */
5235 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
5238 /* rule 205 can match eol */
5240 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_coordinates);
5243 /* rule 206 can match eol */
5245 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_coordinates);
5250 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5251 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
5257 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
5258 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
5260 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5266 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5270 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5272 case YY_STATE_EOF(AL_surfxml_router):
5273 FAIL("EOF in attribute list of `router' element.");
5277 /* rule 211 can match eol */
5281 ETag_surfxml_router();
5282 popbuffer(); /* attribute */
5284 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5289 /* rule 212 can match eol */
5291 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5295 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5297 case YY_STATE_EOF(E_surfxml_router):
5298 FAIL("Premature EOF: `</router>' expected.");
5302 /* rule 214 can match eol */
5304 FAIL("Starting tag <link> is not allowed here.");
5307 /* rule 215 can match eol */
5310 AX_surfxml_link_id = 0;
5311 AX_surfxml_link_bandwidth = 0;
5312 AX_surfxml_link_bandwidth_file = 0;
5313 AX_surfxml_link_latency = 13;
5314 AX_surfxml_link_latency_file = 0;
5315 AX_surfxml_link_state = A_surfxml_link_state_ON;
5316 AX_surfxml_link_state_file = 0;
5317 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5318 ENTER(AL_surfxml_link); pushbuffer(0);
5323 /* rule 216 can match eol */
5325 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5328 /* rule 217 can match eol */
5330 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5333 /* rule 218 can match eol */
5335 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5338 /* rule 219 can match eol */
5340 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5343 /* rule 220 can match eol */
5345 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5348 /* rule 221 can match eol */
5350 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5353 /* rule 222 can match eol */
5355 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5358 /* rule 223 can match eol */
5360 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5363 /* rule 224 can match eol */
5365 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5368 /* rule 225 can match eol */
5370 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5373 /* rule 226 can match eol */
5375 /* rule 227 can match eol */
5377 A_surfxml_link_state = A_surfxml_link_state_ON;
5380 /* rule 228 can match eol */
5382 /* rule 229 can match eol */
5384 A_surfxml_link_state = A_surfxml_link_state_OFF;
5387 /* rule 230 can match eol */
5389 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5392 /* rule 231 can match eol */
5394 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5397 /* rule 232 can match eol */
5399 /* rule 233 can match eol */
5401 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5404 /* rule 234 can match eol */
5406 /* rule 235 can match eol */
5408 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5411 /* rule 236 can match eol */
5413 /* rule 237 can match eol */
5415 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FULLDUPLEX;
5420 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5421 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5422 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5428 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5429 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5430 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5432 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5433 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5439 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5443 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5445 case YY_STATE_EOF(AL_surfxml_link):
5446 FAIL("EOF in attribute list of `link' element.");
5450 /* rule 242 can match eol */
5454 ETag_surfxml_link();
5455 popbuffer(); /* attribute */
5457 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
5458 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
5463 /* rule 243 can match eol */
5465 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5469 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5471 case YY_STATE_EOF(E_surfxml_link):
5472 case YY_STATE_EOF(S_surfxml_link_2):
5473 case YY_STATE_EOF(S_surfxml_link):
5474 FAIL("Premature EOF: `</link>' expected.");
5478 /* rule 245 can match eol */
5480 FAIL("Starting tag <route> is not allowed here.");
5483 /* rule 246 can match eol */
5486 AX_surfxml_route_src = 0;
5487 AX_surfxml_route_dst = 0;
5488 AX_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5489 ENTER(AL_surfxml_route); pushbuffer(0);
5494 /* rule 247 can match eol */
5496 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5499 /* rule 248 can match eol */
5501 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5504 /* rule 249 can match eol */
5506 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5509 /* rule 250 can match eol */
5511 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5514 /* rule 251 can match eol */
5516 /* rule 252 can match eol */
5518 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_YES;
5521 /* rule 253 can match eol */
5523 /* rule 254 can match eol */
5525 A_surfxml_route_symmetrical = A_surfxml_route_symmetrical_NO;
5530 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5531 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5532 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5538 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5539 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5540 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5542 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;
5548 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5552 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5554 case YY_STATE_EOF(AL_surfxml_route):
5555 FAIL("EOF in attribute list of `route' element.");
5559 /* rule 259 can match eol */
5563 ETag_surfxml_route();
5564 popbuffer(); /* attribute */
5566 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;
5571 /* rule 260 can match eol */
5573 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5577 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5579 case YY_STATE_EOF(S_surfxml_route):
5580 case YY_STATE_EOF(S_surfxml_route_2):
5581 case YY_STATE_EOF(E_surfxml_route):
5582 FAIL("Premature EOF: `</route>' expected.");
5586 /* rule 262 can match eol */
5588 FAIL("Starting tag <ASroute> is not allowed here.");
5591 /* rule 263 can match eol */
5594 AX_surfxml_ASroute_src = 0;
5595 AX_surfxml_ASroute_dst = 0;
5596 AX_surfxml_ASroute_gw_src = 0;
5597 AX_surfxml_ASroute_gw_dst = 0;
5598 AX_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5599 ENTER(AL_surfxml_ASroute); pushbuffer(0);
5604 /* rule 264 can match eol */
5606 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
5609 /* rule 265 can match eol */
5611 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
5614 /* rule 266 can match eol */
5616 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
5619 /* rule 267 can match eol */
5621 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
5624 /* rule 268 can match eol */
5626 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
5629 /* rule 269 can match eol */
5631 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
5634 /* rule 270 can match eol */
5636 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5639 /* rule 271 can match eol */
5641 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
5644 /* rule 272 can match eol */
5646 /* rule 273 can match eol */
5648 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_YES;
5651 /* rule 274 can match eol */
5653 /* rule 275 can match eol */
5655 A_surfxml_ASroute_symmetrical = A_surfxml_ASroute_symmetrical_NO;
5660 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5661 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5662 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5663 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5664 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
5670 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
5671 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
5672 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
5673 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
5674 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
5676 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;
5682 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
5686 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
5688 case YY_STATE_EOF(AL_surfxml_ASroute):
5689 FAIL("EOF in attribute list of `ASroute' element.");
5693 /* rule 280 can match eol */
5697 ETag_surfxml_ASroute();
5698 popbuffer(); /* attribute */
5700 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;
5705 /* rule 281 can match eol */
5707 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
5711 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
5713 case YY_STATE_EOF(E_surfxml_ASroute):
5714 case YY_STATE_EOF(S_surfxml_ASroute):
5715 case YY_STATE_EOF(S_surfxml_ASroute_2):
5716 FAIL("Premature EOF: `</ASroute>' expected.");
5720 /* rule 283 can match eol */
5722 FAIL("Starting tag <link_ctn> is not allowed here.");
5725 /* rule 284 can match eol */
5728 AX_surfxml_link_ctn_id = 0;
5729 AX_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5730 ENTER(AL_surfxml_link_ctn); pushbuffer(0);
5735 /* rule 285 can match eol */
5737 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_ctn_id);
5740 /* rule 286 can match eol */
5742 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_ctn_id);
5745 /* rule 287 can match eol */
5747 /* rule 288 can match eol */
5749 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_UP;
5752 /* rule 289 can match eol */
5754 /* rule 290 can match eol */
5756 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_DOWN;
5759 /* rule 291 can match eol */
5761 /* rule 292 can match eol */
5763 A_surfxml_link_ctn_direction = A_surfxml_link_ctn_direction_NONE;
5768 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5769 LEAVE; STag_surfxml_link_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_ctn);
5775 if (!AX_surfxml_link_ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
5776 LEAVE; STag_surfxml_link_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_ctn(); popbuffer(); /* attribute */
5778 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5779 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5780 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5786 FAIL("Unexpected character `%c' in attribute list of link_ctn element.", surf_parse_text[0]);
5790 FAIL("Bad attribute `%s' in `link_ctn' element start tag.",surf_parse_text);
5792 case YY_STATE_EOF(AL_surfxml_link_ctn):
5793 FAIL("EOF in attribute list of `link_ctn' element.");
5797 /* rule 297 can match eol */
5801 ETag_surfxml_link_ctn();
5802 popbuffer(); /* attribute */
5804 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5805 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5806 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5811 /* rule 298 can match eol */
5813 FAIL("Unexpected end-tag `%s': `</link_ctn>' expected.",surf_parse_text);
5817 FAIL("Unexpected character `%c': `</link_ctn>' expected.",surf_parse_text[0]);
5819 case YY_STATE_EOF(E_surfxml_link_ctn):
5820 FAIL("Premature EOF: `</link_ctn>' expected.");
5824 /* rule 300 can match eol */
5826 FAIL("Starting tag <bypassRoute> is not allowed here.");
5829 /* rule 301 can match eol */
5832 AX_surfxml_bypassRoute_src = 0;
5833 AX_surfxml_bypassRoute_dst = 0;
5834 AX_surfxml_bypassRoute_gw_src = 0;
5835 AX_surfxml_bypassRoute_gw_dst = 0;
5836 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
5841 /* rule 302 can match eol */
5843 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
5846 /* rule 303 can match eol */
5848 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
5851 /* rule 304 can match eol */
5853 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
5856 /* rule 305 can match eol */
5858 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
5861 /* rule 306 can match eol */
5863 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5866 /* rule 307 can match eol */
5868 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5871 /* rule 308 can match eol */
5873 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5876 /* rule 309 can match eol */
5878 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5883 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5884 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5885 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5886 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5887 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
5893 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5894 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5895 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5896 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5897 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
5899 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
5905 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
5909 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
5911 case YY_STATE_EOF(AL_surfxml_bypassRoute):
5912 FAIL("EOF in attribute list of `bypassRoute' element.");
5916 /* rule 314 can match eol */
5920 ETag_surfxml_bypassRoute();
5921 popbuffer(); /* attribute */
5923 case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_8); break;
5928 /* rule 315 can match eol */
5930 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
5934 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
5936 case YY_STATE_EOF(S_surfxml_bypassRoute):
5937 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
5938 case YY_STATE_EOF(E_surfxml_bypassRoute):
5939 FAIL("Premature EOF: `</bypassRoute>' expected.");
5943 /* rule 317 can match eol */
5945 FAIL("Starting tag <process> is not allowed here.");
5948 /* rule 318 can match eol */
5951 AX_surfxml_process_host = 0;
5952 AX_surfxml_process_function = 0;
5953 AX_surfxml_process_start_time = 17;
5954 AX_surfxml_process_kill_time = 22;
5955 ENTER(AL_surfxml_process); pushbuffer(0);
5960 /* rule 319 can match eol */
5962 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5965 /* rule 320 can match eol */
5967 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5970 /* rule 321 can match eol */
5972 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5975 /* rule 322 can match eol */
5977 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5980 /* rule 323 can match eol */
5982 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5985 /* rule 324 can match eol */
5987 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5990 /* rule 325 can match eol */
5992 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5995 /* rule 326 can match eol */
5997 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
6002 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6003 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6004 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
6010 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
6011 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
6012 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
6014 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
6020 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
6024 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
6026 case YY_STATE_EOF(AL_surfxml_process):
6027 FAIL("EOF in attribute list of `process' element.");
6031 /* rule 331 can match eol */
6035 ETag_surfxml_process();
6036 popbuffer(); /* attribute */
6038 case S_surfxml_platform_6: case S_surfxml_platform_4: case S_surfxml_platform_5: case S_surfxml_platform_2: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
6043 /* rule 332 can match eol */
6045 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
6049 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
6051 case YY_STATE_EOF(E_surfxml_process):
6052 case YY_STATE_EOF(S_surfxml_process):
6053 case YY_STATE_EOF(S_surfxml_process_2):
6054 FAIL("Premature EOF: `</process>' expected.");
6058 /* rule 334 can match eol */
6060 FAIL("Starting tag <argument> is not allowed here.");
6063 /* rule 335 can match eol */
6066 AX_surfxml_argument_value = 0;
6067 ENTER(AL_surfxml_argument); pushbuffer(0);
6072 /* rule 336 can match eol */
6074 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
6077 /* rule 337 can match eol */
6079 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
6084 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6085 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
6091 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
6092 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
6094 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6100 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
6104 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
6106 case YY_STATE_EOF(AL_surfxml_argument):
6107 FAIL("EOF in attribute list of `argument' element.");
6111 /* rule 342 can match eol */
6115 ETag_surfxml_argument();
6116 popbuffer(); /* attribute */
6118 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6123 /* rule 343 can match eol */
6125 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
6129 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
6131 case YY_STATE_EOF(E_surfxml_argument):
6132 FAIL("Premature EOF: `</argument>' expected.");
6136 /* rule 345 can match eol */
6138 FAIL("Starting tag <config> is not allowed here.");
6141 /* rule 346 can match eol */
6144 AX_surfxml_config_id = 0;
6145 ENTER(AL_surfxml_config); pushbuffer(0);
6150 /* rule 347 can match eol */
6152 ENTER(VALUE1); BUFFERSET(AX_surfxml_config_id);
6155 /* rule 348 can match eol */
6157 ENTER(VALUE2); BUFFERSET(AX_surfxml_config_id);
6162 LEAVE; STag_surfxml_config();surfxml_pcdata_ix = 0; ENTER(S_surfxml_config);
6168 LEAVE; STag_surfxml_config(); surfxml_pcdata_ix = 0; ETag_surfxml_config(); popbuffer(); /* attribute */
6170 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
6176 FAIL("Unexpected character `%c' in attribute list of config element.", surf_parse_text[0]);
6180 FAIL("Bad attribute `%s' in `config' element start tag.",surf_parse_text);
6182 case YY_STATE_EOF(AL_surfxml_config):
6183 FAIL("EOF in attribute list of `config' element.");
6187 /* rule 353 can match eol */
6191 ETag_surfxml_config();
6192 popbuffer(); /* attribute */
6194 case S_surfxml_platform: SET(S_surfxml_platform_1); break;
6199 /* rule 354 can match eol */
6201 FAIL("Unexpected end-tag `%s': `</config>' expected.",surf_parse_text);
6205 FAIL("Unexpected character `%c': `</config>' expected.",surf_parse_text[0]);
6207 case YY_STATE_EOF(S_surfxml_config):
6208 case YY_STATE_EOF(S_surfxml_config_2):
6209 case YY_STATE_EOF(E_surfxml_config):
6210 FAIL("Premature EOF: `</config>' expected.");
6213 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
6214 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
6216 /* rule 356 can match eol */
6218 FAIL("Starting tag <prop> is not allowed here.");
6221 /* rule 357 can match eol */
6224 AX_surfxml_prop_id = 0;
6225 AX_surfxml_prop_value = 0;
6226 ENTER(AL_surfxml_prop); pushbuffer(0);
6231 /* rule 358 can match eol */
6233 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
6236 /* rule 359 can match eol */
6238 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
6241 /* rule 360 can match eol */
6243 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
6246 /* rule 361 can match eol */
6248 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
6253 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6254 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6255 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
6261 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
6262 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
6263 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
6265 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6266 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6267 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6268 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6269 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6275 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
6279 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
6281 case YY_STATE_EOF(AL_surfxml_prop):
6282 FAIL("EOF in attribute list of `prop' element.");
6286 /* rule 366 can match eol */
6290 ETag_surfxml_prop();
6291 popbuffer(); /* attribute */
6293 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
6294 case S_surfxml_config_1: case S_surfxml_config: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
6295 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
6296 case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
6297 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
6302 /* rule 367 can match eol */
6304 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
6308 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
6310 case YY_STATE_EOF(E_surfxml_prop):
6311 FAIL("Premature EOF: `</prop>' expected.");
6314 /* EPILOG: after the root element. */
6318 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
6320 case YY_STATE_EOF(EPILOG):
6324 /* CHARACTER DATA. */
6326 /* Non-defined standard entities... */
6347 /* Character entities. */
6350 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
6354 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
6358 /* rule 377 can match eol */
6360 /* rule 378 can match eol */
6362 /* rule 379 can match eol */
6364 /* rule 380 can match eol */
6375 FAIL("Unexpected `]""]>' in character data.");
6382 case YY_STATE_EOF(VALUE1):
6383 FAIL("EOF in literal (\"'\" expected).");
6390 case YY_STATE_EOF(VALUE2):
6391 FAIL("EOF in literal (`\"' expected).");
6395 /* rule 385 can match eol */
6397 BUFFERPUTC(surf_parse_text[0]);
6401 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
6408 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
6411 BUFFERPUTC(surf_parse_text[0]);
6413 case YY_STATE_EOF(CDATA):
6414 FAIL("EOF in CDATA section.");
6417 /* Impossible rules to avoid warnings from flex(1). */
6418 /* Ideally, this should be replaced by code in flexml.pl that
6419 generates just the states not covered by other rules. */
6422 /* rule 389 can match eol */
6424 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
6431 case YY_STATE_EOF(INITIAL):
6432 case YY_STATE_EOF(ROOT_surfxml_platform):
6433 case YY_STATE_EOF(S_surfxml_platform_3):
6434 case YY_STATE_EOF(S_surfxml_platform_5):
6435 case YY_STATE_EOF(S_surfxml_random_1):
6436 case YY_STATE_EOF(S_surfxml_AS_2):
6437 case YY_STATE_EOF(S_surfxml_AS_5):
6438 case YY_STATE_EOF(S_surfxml_AS_7):
6439 case YY_STATE_EOF(S_surfxml_AS_10):
6440 case YY_STATE_EOF(S_surfxml_AS_12):
6441 case YY_STATE_EOF(S_surfxml_host_1):
6442 case YY_STATE_EOF(S_surfxml_link_1):
6443 case YY_STATE_EOF(S_surfxml_route_1):
6444 case YY_STATE_EOF(S_surfxml_ASroute_1):
6445 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
6446 case YY_STATE_EOF(S_surfxml_process_1):
6447 case YY_STATE_EOF(S_surfxml_config_1):
6448 case YY_STATE_EOF(IMPOSSIBLE):
6451 case YY_END_OF_BUFFER:
6453 /* Amount of text matched not including the EOB char. */
6454 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6456 /* Undo the effects of YY_DO_BEFORE_ACTION. */
6457 *yy_cp = (yy_hold_char);
6458 YY_RESTORE_YY_MORE_OFFSET
6460 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6462 /* We're scanning a new file or input source. It's
6463 * possible that this happened because the user
6464 * just pointed surf_parse_in at a new source and called
6465 * surf_parse_lex(). If so, then we have to assure
6466 * consistency between YY_CURRENT_BUFFER and our
6467 * globals. Here is the right place to do so, because
6468 * this is the first action (other than possibly a
6469 * back-up) that will match for the new input source.
6471 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6472 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
6473 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6476 /* Note that here we test for yy_c_buf_p "<=" to the position
6477 * of the first EOB in the buffer, since yy_c_buf_p will
6478 * already have been incremented past the NUL character
6479 * (since all states make transitions on EOB to the
6480 * end-of-buffer state). Contrast this with the test
6483 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6484 { /* This was really a NUL. */
6485 yy_state_type yy_next_state;
6487 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6489 yy_current_state = yy_get_previous_state( );
6491 /* Okay, we're now positioned to make the NUL
6492 * transition. We couldn't have
6493 * yy_get_previous_state() go ahead and do it
6494 * for us because it doesn't know how to deal
6495 * with the possibility of jamming (and we don't
6496 * want to build jamming into it because then it
6497 * will run more slowly).
6500 yy_next_state = yy_try_NUL_trans( yy_current_state );
6502 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6504 if ( yy_next_state )
6506 /* Consume the NUL. */
6507 yy_cp = ++(yy_c_buf_p);
6508 yy_current_state = yy_next_state;
6514 yy_cp = (yy_c_buf_p);
6515 goto yy_find_action;
6519 else switch ( yy_get_next_buffer( ) )
6521 case EOB_ACT_END_OF_FILE:
6523 (yy_did_buffer_switch_on_eof) = 0;
6525 if ( surf_parse_wrap( ) )
6527 /* Note: because we've taken care in
6528 * yy_get_next_buffer() to have set up
6529 * surf_parse_text, we can now set up
6530 * yy_c_buf_p so that if some total
6531 * hoser (like flex itself) wants to
6532 * call the scanner after we return the
6533 * YY_NULL, it'll still work - another
6534 * YY_NULL will get returned.
6536 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6538 yy_act = YY_STATE_EOF(YY_START);
6544 if ( ! (yy_did_buffer_switch_on_eof) )
6550 case EOB_ACT_CONTINUE_SCAN:
6552 (yytext_ptr) + yy_amount_of_matched_text;
6554 yy_current_state = yy_get_previous_state( );
6556 yy_cp = (yy_c_buf_p);
6557 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6560 case EOB_ACT_LAST_MATCH:
6562 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6564 yy_current_state = yy_get_previous_state( );
6566 yy_cp = (yy_c_buf_p);
6567 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6568 goto yy_find_action;
6575 "fatal flex scanner internal error--no action found" );
6576 } /* end of action switch */
6577 } /* end of scanning one token */
6578 } /* end of surf_parse_lex */
6580 /* yy_get_next_buffer - try to read in a new buffer
6582 * Returns a code representing an action:
6583 * EOB_ACT_LAST_MATCH -
6584 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6585 * EOB_ACT_END_OF_FILE - end of file
6587 static int yy_get_next_buffer (void)
6589 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6590 register char *source = (yytext_ptr);
6591 register int number_to_move, i;
6594 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6596 "fatal flex scanner internal error--end of buffer missed" );
6598 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6599 { /* Don't try to fill the buffer, so this is an EOF. */
6600 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6602 /* We matched a single character, the EOB, so
6603 * treat this as a final EOF.
6605 return EOB_ACT_END_OF_FILE;
6610 /* We matched some text prior to the EOB, first
6613 return EOB_ACT_LAST_MATCH;
6617 /* Try to read more data. */
6619 /* First move last chars to start of buffer. */
6620 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6622 for ( i = 0; i < number_to_move; ++i )
6623 *(dest++) = *(source++);
6625 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6626 /* don't do the read, it's not guaranteed to return an EOF,
6629 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6634 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6636 while ( num_to_read <= 0 )
6637 { /* Not enough room in the buffer - grow it. */
6639 /* just a shorter name for the current buffer */
6640 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6642 int yy_c_buf_p_offset =
6643 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6645 if ( b->yy_is_our_buffer )
6647 int new_size = b->yy_buf_size * 2;
6649 if ( new_size <= 0 )
6650 b->yy_buf_size += b->yy_buf_size / 8;
6652 b->yy_buf_size *= 2;
6654 b->yy_ch_buf = (char *)
6655 /* Include room in for 2 EOB chars. */
6656 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6659 /* Can't grow it, we don't own it. */
6662 if ( ! b->yy_ch_buf )
6664 "fatal error - scanner input buffer overflow" );
6666 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6668 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6673 if ( num_to_read > YY_READ_BUF_SIZE )
6674 num_to_read = YY_READ_BUF_SIZE;
6676 /* Read in more data. */
6677 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6678 (yy_n_chars), (size_t) num_to_read );
6680 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6683 if ( (yy_n_chars) == 0 )
6685 if ( number_to_move == YY_MORE_ADJ )
6687 ret_val = EOB_ACT_END_OF_FILE;
6688 surf_parse_restart(surf_parse_in );
6693 ret_val = EOB_ACT_LAST_MATCH;
6694 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6695 YY_BUFFER_EOF_PENDING;
6700 ret_val = EOB_ACT_CONTINUE_SCAN;
6702 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6703 /* Extend the array by 50%, plus the number we really need. */
6704 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6705 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6706 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6707 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6710 (yy_n_chars) += number_to_move;
6711 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6712 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6714 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6719 /* yy_get_previous_state - get the state just before the EOB char was reached */
6721 static yy_state_type yy_get_previous_state (void)
6723 register yy_state_type yy_current_state;
6724 register char *yy_cp;
6726 yy_current_state = (yy_start);
6728 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6730 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6731 if ( yy_accept[yy_current_state] )
6733 (yy_last_accepting_state) = yy_current_state;
6734 (yy_last_accepting_cpos) = yy_cp;
6736 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6738 yy_current_state = (int) yy_def[yy_current_state];
6739 if ( yy_current_state >= 2371 )
6740 yy_c = yy_meta[(unsigned int) yy_c];
6742 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6745 return yy_current_state;
6748 /* yy_try_NUL_trans - try to make a transition on the NUL character
6751 * next_state = yy_try_NUL_trans( current_state );
6753 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6755 register int yy_is_jam;
6756 register char *yy_cp = (yy_c_buf_p);
6758 register YY_CHAR yy_c = 1;
6759 if ( yy_accept[yy_current_state] )
6761 (yy_last_accepting_state) = yy_current_state;
6762 (yy_last_accepting_cpos) = yy_cp;
6764 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6766 yy_current_state = (int) yy_def[yy_current_state];
6767 if ( yy_current_state >= 2371 )
6768 yy_c = yy_meta[(unsigned int) yy_c];
6770 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6771 yy_is_jam = (yy_current_state == 2370);
6773 return yy_is_jam ? 0 : yy_current_state;
6778 static int yyinput (void)
6780 static int input (void)
6786 *(yy_c_buf_p) = (yy_hold_char);
6788 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6790 /* yy_c_buf_p now points to the character we want to return.
6791 * If this occurs *before* the EOB characters, then it's a
6792 * valid NUL; if not, then we've hit the end of the buffer.
6794 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6795 /* This was really a NUL. */
6796 *(yy_c_buf_p) = '\0';
6799 { /* need more input */
6800 int offset = (yy_c_buf_p) - (yytext_ptr);
6803 switch ( yy_get_next_buffer( ) )
6805 case EOB_ACT_LAST_MATCH:
6806 /* This happens because yy_g_n_b()
6807 * sees that we've accumulated a
6808 * token and flags that we need to
6809 * try matching the token before
6810 * proceeding. But for input(),
6811 * there's no matching to consider.
6812 * So convert the EOB_ACT_LAST_MATCH
6813 * to EOB_ACT_END_OF_FILE.
6816 /* Reset buffer status. */
6817 surf_parse_restart(surf_parse_in );
6821 case EOB_ACT_END_OF_FILE:
6823 if ( surf_parse_wrap( ) )
6826 if ( ! (yy_did_buffer_switch_on_eof) )
6835 case EOB_ACT_CONTINUE_SCAN:
6836 (yy_c_buf_p) = (yytext_ptr) + offset;
6842 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6843 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6844 (yy_hold_char) = *++(yy_c_buf_p);
6848 surf_parse_lineno++;
6853 #endif /* ifndef YY_NO_INPUT */
6855 /** Immediately switch to a different input stream.
6856 * @param input_file A readable stream.
6858 * @note This function does not reset the start condition to @c INITIAL .
6860 void surf_parse_restart (FILE * input_file )
6863 if ( ! YY_CURRENT_BUFFER ){
6864 surf_parse_ensure_buffer_stack ();
6865 YY_CURRENT_BUFFER_LVALUE =
6866 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6869 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6870 surf_parse__load_buffer_state( );
6873 /** Switch to a different input buffer.
6874 * @param new_buffer The new input buffer.
6877 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6880 /* TODO. We should be able to replace this entire function body
6882 * surf_parse_pop_buffer_state();
6883 * surf_parse_push_buffer_state(new_buffer);
6885 surf_parse_ensure_buffer_stack ();
6886 if ( YY_CURRENT_BUFFER == new_buffer )
6889 if ( YY_CURRENT_BUFFER )
6891 /* Flush out information for old buffer. */
6892 *(yy_c_buf_p) = (yy_hold_char);
6893 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6894 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6897 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6898 surf_parse__load_buffer_state( );
6900 /* We don't actually know whether we did this switch during
6901 * EOF (surf_parse_wrap()) processing, but the only time this flag
6902 * is looked at is after surf_parse_wrap() is called, so it's safe
6903 * to go ahead and always set it.
6905 (yy_did_buffer_switch_on_eof) = 1;
6908 static void surf_parse__load_buffer_state (void)
6910 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6911 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6912 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6913 (yy_hold_char) = *(yy_c_buf_p);
6916 /** Allocate and initialize an input buffer state.
6917 * @param file A readable stream.
6918 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6920 * @return the allocated buffer state.
6922 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6926 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6928 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6930 b->yy_buf_size = size;
6932 /* yy_ch_buf has to be 2 characters longer than the size given because
6933 * we need to put in 2 end-of-buffer characters.
6935 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6936 if ( ! b->yy_ch_buf )
6937 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6939 b->yy_is_our_buffer = 1;
6941 surf_parse__init_buffer(b,file );
6946 /** Destroy the buffer.
6947 * @param b a buffer created with surf_parse__create_buffer()
6950 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6956 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6957 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6959 if ( b->yy_is_our_buffer )
6960 surf_parse_free((void *) b->yy_ch_buf );
6962 surf_parse_free((void *) b );
6966 extern int isatty (int );
6967 #endif /* __cplusplus */
6969 /* Initializes or reinitializes a buffer.
6970 * This function is sometimes called more than once on the same buffer,
6971 * such as during a surf_parse_restart() or at EOF.
6973 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6978 surf_parse__flush_buffer(b );
6980 b->yy_input_file = file;
6981 b->yy_fill_buffer = 1;
6983 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6984 * called from surf_parse_restart() or through yy_get_next_buffer.
6985 * In that case, we don't want to reset the lineno or column.
6987 if (b != YY_CURRENT_BUFFER){
6988 b->yy_bs_lineno = 1;
6989 b->yy_bs_column = 0;
6992 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6997 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6998 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
7001 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
7008 /* We always need two end-of-buffer characters. The first causes
7009 * a transition to the end-of-buffer state. The second causes
7010 * a jam in that state.
7012 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
7013 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
7015 b->yy_buf_pos = &b->yy_ch_buf[0];
7018 b->yy_buffer_status = YY_BUFFER_NEW;
7020 if ( b == YY_CURRENT_BUFFER )
7021 surf_parse__load_buffer_state( );
7024 /** Pushes the new state onto the stack. The new state becomes
7025 * the current state. This function will allocate the stack
7027 * @param new_buffer The new state.
7030 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
7032 if (new_buffer == NULL)
7035 surf_parse_ensure_buffer_stack();
7037 /* This block is copied from surf_parse__switch_to_buffer. */
7038 if ( YY_CURRENT_BUFFER )
7040 /* Flush out information for old buffer. */
7041 *(yy_c_buf_p) = (yy_hold_char);
7042 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7043 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7046 /* Only push if top exists. Otherwise, replace top. */
7047 if (YY_CURRENT_BUFFER)
7048 (yy_buffer_stack_top)++;
7049 YY_CURRENT_BUFFER_LVALUE = new_buffer;
7051 /* copied from surf_parse__switch_to_buffer. */
7052 surf_parse__load_buffer_state( );
7053 (yy_did_buffer_switch_on_eof) = 1;
7056 /** Removes and deletes the top of the stack, if present.
7057 * The next element becomes the new top.
7060 void surf_parse_pop_buffer_state (void)
7062 if (!YY_CURRENT_BUFFER)
7065 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7066 YY_CURRENT_BUFFER_LVALUE = NULL;
7067 if ((yy_buffer_stack_top) > 0)
7068 --(yy_buffer_stack_top);
7070 if (YY_CURRENT_BUFFER) {
7071 surf_parse__load_buffer_state( );
7072 (yy_did_buffer_switch_on_eof) = 1;
7076 /* Allocates the stack if it does not exist.
7077 * Guarantees space for at least one push.
7079 static void surf_parse_ensure_buffer_stack (void)
7083 if (!(yy_buffer_stack)) {
7085 /* First allocation is just for 2 elements, since we don't know if this
7086 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7087 * immediate realloc on the next call.
7090 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
7091 (num_to_alloc * sizeof(struct yy_buffer_state*)
7093 if ( ! (yy_buffer_stack) )
7094 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7096 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7098 (yy_buffer_stack_max) = num_to_alloc;
7099 (yy_buffer_stack_top) = 0;
7103 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7105 /* Increase the buffer to prepare for a possible push. */
7106 int grow_size = 8 /* arbitrary grow size */;
7108 num_to_alloc = (yy_buffer_stack_max) + grow_size;
7109 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
7111 num_to_alloc * sizeof(struct yy_buffer_state*)
7113 if ( ! (yy_buffer_stack) )
7114 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
7116 /* zero only the new slots.*/
7117 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7118 (yy_buffer_stack_max) = num_to_alloc;
7122 /** Setup the input buffer state to scan directly from a user-specified character buffer.
7123 * @param base the character buffer
7124 * @param size the size in bytes of the character buffer
7126 * @return the newly allocated buffer state object.
7128 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
7133 base[size-2] != YY_END_OF_BUFFER_CHAR ||
7134 base[size-1] != YY_END_OF_BUFFER_CHAR )
7135 /* They forgot to leave room for the EOB's. */
7138 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
7140 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
7142 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7143 b->yy_buf_pos = b->yy_ch_buf = base;
7144 b->yy_is_our_buffer = 0;
7145 b->yy_input_file = 0;
7146 b->yy_n_chars = b->yy_buf_size;
7147 b->yy_is_interactive = 0;
7149 b->yy_fill_buffer = 0;
7150 b->yy_buffer_status = YY_BUFFER_NEW;
7152 surf_parse__switch_to_buffer(b );
7157 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
7158 * scan from a @e copy of @a str.
7159 * @param yystr a NUL-terminated string to scan
7161 * @return the newly allocated buffer state object.
7162 * @note If you want to scan bytes that may contain NUL values, then use
7163 * surf_parse__scan_bytes() instead.
7165 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
7168 return surf_parse__scan_bytes(yystr,strlen(yystr) );
7171 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
7172 * scan from a @e copy of @a bytes.
7173 * @param yybytes the byte buffer to scan
7174 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7176 * @return the newly allocated buffer state object.
7178 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
7185 /* Get memory for full buffer, including space for trailing EOB's. */
7186 n = _yybytes_len + 2;
7187 buf = (char *) surf_parse_alloc(n );
7189 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
7191 for ( i = 0; i < _yybytes_len; ++i )
7192 buf[i] = yybytes[i];
7194 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7196 b = surf_parse__scan_buffer(buf,n );
7198 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
7200 /* It's okay to grow etc. this buffer, and we should throw it
7201 * away when we're done.
7203 b->yy_is_our_buffer = 1;
7208 static void yy_push_state (int new_state )
7210 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
7214 (yy_start_stack_depth) += YY_START_STACK_INCR;
7215 new_size = (yy_start_stack_depth) * sizeof( int );
7217 if ( ! (yy_start_stack) )
7218 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
7221 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
7223 if ( ! (yy_start_stack) )
7224 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
7227 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
7232 static void yy_pop_state (void)
7234 if ( --(yy_start_stack_ptr) < 0 )
7235 YY_FATAL_ERROR( "start-condition stack underflow" );
7237 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
7240 #ifndef YY_EXIT_FAILURE
7241 #define YY_EXIT_FAILURE 2
7244 static void yy_fatal_error (yyconst char* msg )
7246 (void) fprintf( stderr, "%s\n", msg );
7247 exit( YY_EXIT_FAILURE );
7250 /* Redefine yyless() so it works in section 3 code. */
7256 /* Undo effects of setting up surf_parse_text. */ \
7257 int yyless_macro_arg = (n); \
7258 YY_LESS_LINENO(yyless_macro_arg);\
7259 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
7260 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
7261 (yy_hold_char) = *(yy_c_buf_p); \
7262 *(yy_c_buf_p) = '\0'; \
7263 surf_parse_leng = yyless_macro_arg; \
7267 /* Accessor methods (get/set functions) to struct members. */
7269 /** Get the current line number.
7272 int surf_parse_get_lineno (void)
7275 return surf_parse_lineno;
7278 /** Get the input stream.
7281 FILE *surf_parse_get_in (void)
7283 return surf_parse_in;
7286 /** Get the output stream.
7289 FILE *surf_parse_get_out (void)
7291 return surf_parse_out;
7294 /** Get the length of the current token.
7297 int surf_parse_get_leng (void)
7299 return surf_parse_leng;
7302 /** Get the current token.
7306 char *surf_parse_get_text (void)
7308 return surf_parse_text;
7311 /** Set the current line number.
7312 * @param line_number
7315 void surf_parse_set_lineno (int line_number )
7318 surf_parse_lineno = line_number;
7321 /** Set the input stream. This does not discard the current
7323 * @param in_str A readable stream.
7325 * @see surf_parse__switch_to_buffer
7327 void surf_parse_set_in (FILE * in_str )
7329 surf_parse_in = in_str ;
7332 void surf_parse_set_out (FILE * out_str )
7334 surf_parse_out = out_str ;
7337 int surf_parse_get_debug (void)
7339 return surf_parse__flex_debug;
7342 void surf_parse_set_debug (int bdebug )
7344 surf_parse__flex_debug = bdebug ;
7347 static int yy_init_globals (void)
7349 /* Initialization is the same as for the non-reentrant scanner.
7350 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
7353 /* We do not touch surf_parse_lineno unless the option is enabled. */
7354 surf_parse_lineno = 1;
7356 (yy_buffer_stack) = 0;
7357 (yy_buffer_stack_top) = 0;
7358 (yy_buffer_stack_max) = 0;
7359 (yy_c_buf_p) = (char *) 0;
7363 (yy_start_stack_ptr) = 0;
7364 (yy_start_stack_depth) = 0;
7365 (yy_start_stack) = NULL;
7367 /* Defined in main.c */
7369 surf_parse_in = stdin;
7370 surf_parse_out = stdout;
7372 surf_parse_in = (FILE *) 0;
7373 surf_parse_out = (FILE *) 0;
7376 /* For future reference: Set errno on error, since we are called by
7377 * surf_parse_lex_init()
7382 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
7383 int surf_parse_lex_destroy (void)
7386 /* Pop the buffer stack, destroying each element. */
7387 while(YY_CURRENT_BUFFER){
7388 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
7389 YY_CURRENT_BUFFER_LVALUE = NULL;
7390 surf_parse_pop_buffer_state();
7393 /* Destroy the stack itself. */
7394 surf_parse_free((yy_buffer_stack) );
7395 (yy_buffer_stack) = NULL;
7397 /* Destroy the start condition stack. */
7398 surf_parse_free((yy_start_stack) );
7399 (yy_start_stack) = NULL;
7401 /* Reset the globals. This is important in a non-reentrant scanner so the next time
7402 * surf_parse_lex() is called, initialization will occur. */
7409 * Internal utility routines.
7413 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
7416 for ( i = 0; i < n; ++i )
7421 #ifdef YY_NEED_STRLEN
7422 static int yy_flex_strlen (yyconst char * s )
7425 for ( n = 0; s[n]; ++n )
7432 void *surf_parse_alloc (yy_size_t size )
7434 return (void *) malloc( size );
7437 void *surf_parse_realloc (void * ptr, yy_size_t size )
7439 /* The cast to (char *) in the following accommodates both
7440 * implementations that use char* generic pointers, and those
7441 * that use void* generic pointers. It works with the latter
7442 * because both ANSI C and C++ allow castless assignment from
7443 * any pointer type to void*, and deal with argument conversions
7444 * as though doing an assignment.
7446 return (void *) realloc( (char *) ptr, size );
7449 void surf_parse_free (void * ptr )
7451 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
7454 #define YYTABLES_NAME "yytables"
7456 /* Element context stack lookup. */
7457 int surfxml_element_context(int i)
7459 return (0<i && i<yy_start_stack_depth
7460 ? yy_start_stack[yy_start_stack_ptr - i]
7465 void print_yy_stack(char* fmt, ...)
7467 int i = 0; va_list ap; va_start(ap, fmt);
7468 vfprintf(stderr, fmt, ap);
7469 if (surfxml_statenames) {
7470 for (i=1; i<yy_start_stack_ptr; i++) {
7471 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
7473 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
7478 void print_surfxml_bufferstack()
7481 fputs("Buffer: ", stderr);
7482 for (i = 0; i < blimit; i++) {
7483 if ( surfxml_bufferstack[i] == '\377' ) break;
7484 putc(surfxml_bufferstack[i], stderr);
7489 static void debug_enter(int state, const char* statename) {
7490 yy_push_state(state);
7491 if (surf_parse__flex_debug) {
7492 print_yy_stack("--ENTER(%s) : ",statename);
7493 print_surfxml_bufferstack();
7497 static void debug_leave(void) {
7498 if (surf_parse__flex_debug) {
7499 print_yy_stack("--LEAVE : ");
7500 print_surfxml_bufferstack();
7505 static void debug_set(int state, const char* statename) {
7507 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
7511 static void cleanup(void)
7513 if (surfxml_statenames) {
7514 free(surfxml_statenames);
7515 surfxml_statenames = NULL;
7517 free(surfxml_bufferstack);
7518 surfxml_bufferstack = NULL;
7524 static int fail(const char* fmt, ...)
7526 int chars_left, used;
7527 va_list ap; va_start(ap, fmt);
7528 #ifdef FLEXML_yylineno
7529 used = sprintf(flexml_err_msg,
7530 "Invalid XML (XML input line %d, state %d): ",
7531 surf_parse_lineno, YY_START);
7533 used = sprintf(flexml_err_msg,
7534 "Invalid XML (state %d): ",
7537 chars_left = flexml_max_err_msg_size - used - 1;
7538 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
7541 #ifndef FLEXML_quiet_parser
7542 /* print directly to sdterr */
7543 fprintf(stderr, "%s\n", flexml_err_msg);
7544 flexml_err_msg[0] = '\0';