2 #line 3 "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 353
407 #define YY_END_OF_BUFFER 354
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[2036] =
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, 354, 352, 15, 10, 10, 15, 15, 332,
433 10, 332, 5, 6, 5, 8, 9, 8, 348, 340,
434 341, 349, 346, 349, 347, 351, 340, 341, 351, 352,
435 26, 10, 26, 26, 26, 24, 26, 26, 30, 10,
436 30, 30, 352, 352, 30, 37, 10, 37, 37, 37,
437 35, 37, 41, 10, 41, 54, 10, 54, 54, 54,
439 52, 54, 54, 54, 54, 349, 348, 76, 10, 76,
440 76, 76, 74, 76, 76, 76, 76, 80, 10, 80,
441 352, 80, 99, 10, 99, 99, 99, 97, 99, 99,
442 99, 103, 10, 103, 116, 10, 116, 116, 116, 114,
443 116, 116, 116, 116, 120, 10, 120, 127, 10, 127,
444 127, 127, 125, 127, 352, 352, 131, 10, 131, 158,
445 10, 158, 158, 158, 156, 158, 158, 158, 158, 158,
446 162, 10, 162, 162, 171, 10, 171, 171, 171, 169,
447 171, 171, 175, 10, 175, 198, 10, 198, 198, 198,
448 196, 198, 198, 198, 198, 198, 198, 202, 10, 202,
450 209, 10, 209, 209, 209, 207, 209, 213, 10, 213,
451 238, 10, 238, 238, 238, 236, 238, 238, 238, 238,
452 242, 10, 242, 242, 261, 10, 261, 261, 261, 259,
453 261, 261, 261, 352, 265, 10, 265, 265, 288, 10,
454 288, 288, 288, 286, 288, 288, 288, 288, 292, 10,
455 292, 292, 299, 10, 299, 299, 299, 297, 299, 303,
456 10, 303, 316, 10, 316, 316, 316, 314, 316, 316,
457 316, 316, 320, 10, 320, 352, 320, 327, 10, 327,
458 327, 327, 325, 327, 331, 10, 331, 10, 0, 2,
459 2, 0, 4, 7, 343, 342, 0, 0, 0, 0,
461 0, 0, 0, 25, 27, 27, 27, 0, 0, 0,
462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
464 36, 38, 38, 0, 53, 55, 55, 55, 55, 55,
465 0, 0, 0, 75, 77, 77, 77, 77, 77, 77,
466 77, 0, 0, 98, 100, 100, 100, 100, 0, 115,
467 117, 117, 117, 117, 117, 0, 126, 128, 128, 0,
468 157, 159, 159, 159, 159, 159, 159, 159, 0, 170,
469 172, 172, 172, 0, 197, 199, 199, 199, 199, 199,
470 199, 199, 199, 199, 0, 208, 210, 210, 0, 237,
472 239, 239, 239, 239, 239, 239, 0, 260, 262, 262,
473 262, 262, 262, 0, 0, 287, 289, 289, 289, 289,
474 289, 0, 298, 300, 300, 0, 315, 317, 317, 317,
475 317, 317, 0, 0, 326, 328, 328, 0, 0, 0,
476 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
477 350, 0, 27, 27, 0, 0, 0, 0, 0, 0,
478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
480 0, 38, 0, 0, 55, 0, 0, 55, 55, 0,
481 0, 0, 345, 77, 0, 0, 77, 77, 77, 77,
483 0, 0, 0, 100, 100, 100, 0, 0, 0, 0,
484 117, 117, 117, 0, 0, 128, 0, 0, 159, 0,
485 0, 159, 159, 159, 159, 0, 0, 0, 0, 172,
486 0, 0, 199, 0, 0, 0, 0, 199, 199, 199,
487 199, 199, 0, 0, 0, 0, 0, 0, 239, 0,
488 0, 239, 239, 239, 0, 0, 262, 262, 262, 262,
489 0, 0, 0, 289, 289, 289, 289, 0, 0, 0,
490 0, 0, 0, 317, 317, 317, 317, 0, 0, 0,
491 328, 0, 0, 0, 14, 1, 0, 0, 338, 0,
492 0, 0, 335, 334, 0, 0, 27, 27, 0, 0,
494 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495 0, 0, 105, 0, 0, 0, 0, 0, 0, 0,
496 104, 0, 0, 0, 0, 0, 0, 38, 0, 0,
497 40, 0, 55, 0, 45, 44, 55, 55, 0, 0,
498 0, 57, 0, 77, 0, 61, 60, 0, 0, 77,
499 0, 0, 77, 0, 0, 79, 0, 0, 100, 100,
500 100, 0, 0, 102, 0, 0, 107, 106, 117, 117,
501 117, 0, 0, 119, 0, 128, 0, 0, 130, 0,
502 159, 0, 135, 134, 159, 159, 159, 159, 0, 0,
503 161, 0, 0, 166, 165, 172, 0, 0, 174, 0,
505 199, 199, 0, 189, 188, 0, 179, 178, 0, 0,
506 199, 199, 199, 199, 0, 0, 201, 0, 0, 206,
507 205, 0, 0, 212, 0, 239, 0, 217, 216, 239,
508 239, 239, 0, 0, 241, 0, 262, 0, 0, 0,
509 0, 262, 0, 0, 0, 264, 0, 289, 0, 0,
510 289, 0, 0, 0, 0, 291, 0, 0, 296, 295,
511 0, 0, 302, 0, 317, 317, 317, 317, 0, 0,
512 319, 0, 0, 328, 0, 0, 330, 0, 0, 0,
513 339, 333, 0, 0, 0, 27, 27, 0, 0, 0,
514 0, 133, 0, 215, 0, 0, 163, 0, 0, 105,
516 0, 0, 0, 132, 214, 0, 0, 104, 0, 0,
517 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,
518 55, 0, 0, 77, 0, 65, 64, 0, 0, 0,
519 63, 62, 77, 0, 164, 100, 0, 0, 100, 0,
520 117, 117, 117, 0, 128, 0, 159, 159, 159, 159,
521 159, 0, 172, 0, 199, 199, 0, 191, 190, 199,
522 199, 199, 199, 0, 0, 239, 239, 239, 239, 0,
523 262, 0, 248, 247, 0, 246, 245, 262, 214, 0,
524 289, 0, 271, 270, 289, 0, 269, 268, 0, 0,
525 317, 0, 0, 317, 317, 0, 0, 328, 0, 0,
527 0, 0, 12, 0, 336, 337, 0, 27, 27, 0,
528 0, 0, 0, 133, 0, 215, 0, 0, 0, 163,
529 0, 267, 43, 0, 0, 132, 214, 0, 267, 42,
530 0, 266, 0, 266, 42, 0, 34, 33, 0, 0,
531 47, 46, 55, 55, 0, 0, 77, 0, 67, 66,
532 77, 0, 164, 100, 0, 0, 0, 0, 0, 0,
533 117, 117, 117, 0, 118, 128, 0, 159, 159, 159,
534 0, 0, 0, 0, 159, 0, 0, 0, 0, 0,
535 0, 199, 0, 0, 199, 199, 199, 0, 0, 239,
536 239, 239, 0, 0, 239, 0, 262, 262, 0, 0,
538 289, 289, 0, 0, 317, 0, 307, 306, 317, 317,
539 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
540 27, 27, 27, 0, 0, 0, 0, 0, 0, 0,
541 0, 59, 267, 0, 204, 43, 0, 0, 0, 58,
542 203, 42, 0, 266, 0, 0, 0, 0, 55, 55,
543 0, 0, 77, 77, 0, 100, 0, 0, 0, 0,
544 0, 0, 0, 0, 0, 94, 93, 0, 0, 0,
545 117, 0, 0, 0, 0, 0, 159, 159, 159, 0,
546 137, 136, 0, 0, 0, 159, 0, 160, 0, 168,
547 167, 0, 173, 0, 193, 192, 0, 0, 0, 187,
549 186, 0, 0, 199, 0, 0, 0, 0, 239, 239,
550 239, 0, 0, 0, 239, 0, 240, 0, 0, 262,
551 0, 0, 0, 0, 289, 0, 0, 317, 317, 317,
552 0, 0, 0, 324, 323, 0, 0, 0, 0, 0,
553 0, 0, 27, 27, 0, 0, 177, 122, 32, 0,
554 0, 305, 59, 0, 204, 0, 176, 121, 58, 203,
555 304, 0, 31, 0, 0, 55, 55, 0, 0, 56,
556 77, 77, 0, 0, 0, 0, 0, 0, 0, 0,
557 0, 0, 0, 0, 0, 0, 0, 109, 108, 0,
558 0, 0, 111, 110, 0, 124, 123, 0, 159, 159,
560 159, 0, 0, 159, 0, 195, 194, 0, 181, 180,
561 0, 0, 0, 183, 182, 0, 0, 239, 0, 0,
562 239, 239, 0, 0, 239, 0, 0, 0, 262, 0,
563 0, 0, 0, 0, 289, 0, 290, 0, 317, 317,
564 317, 0, 0, 0, 0, 0, 0, 17, 0, 19,
565 18, 27, 27, 0, 321, 177, 122, 32, 293, 16,
566 305, 0, 0, 176, 121, 304, 0, 31, 0, 0,
567 55, 0, 0, 344, 77, 77, 0, 78, 0, 96,
568 95, 0, 0, 0, 0, 0, 0, 0, 0, 0,
569 0, 0, 0, 113, 112, 0, 159, 159, 159, 0,
571 0, 0, 0, 159, 0, 185, 184, 0, 0, 211,
572 239, 0, 223, 222, 239, 239, 0, 0, 0, 0,
573 239, 0, 0, 0, 0, 262, 294, 0, 0, 0,
574 0, 0, 289, 0, 0, 0, 317, 317, 0, 322,
575 0, 0, 0, 0, 17, 27, 27, 0, 321, 293,
576 16, 0, 0, 0, 0, 0, 39, 55, 0, 51,
577 50, 0, 0, 77, 0, 0, 0, 0, 0, 0,
578 0, 0, 0, 0, 0, 0, 129, 159, 159, 159,
579 0, 143, 0, 142, 159, 0, 200, 0, 0, 239,
580 239, 239, 0, 227, 0, 226, 239, 0, 0, 0,
582 0, 0, 0, 0, 0, 294, 0, 0, 0, 0,
583 0, 0, 0, 289, 0, 0, 309, 308, 0, 0,
584 317, 0, 318, 322, 0, 0, 0, 0, 0, 0,
585 27, 0, 28, 0, 0, 0, 0, 55, 0, 0,
586 0, 77, 0, 0, 0, 0, 0, 0, 0, 0,
587 0, 0, 0, 159, 159, 159, 145, 144, 0, 0,
588 0, 219, 218, 239, 239, 239, 229, 228, 0, 0,
589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
590 0, 0, 0, 0, 0, 0, 289, 289, 0, 301,
591 0, 313, 312, 0, 0, 0, 329, 0, 0, 0,
593 0, 21, 20, 0, 0, 244, 0, 243, 0, 0,
594 0, 0, 0, 0, 0, 77, 0, 0, 0, 0,
595 86, 0, 0, 0, 0, 85, 0, 159, 159, 159,
596 0, 147, 146, 239, 239, 239, 0, 231, 230, 0,
597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
598 0, 0, 0, 0, 0, 0, 289, 289, 0, 311,
599 310, 0, 0, 0, 0, 23, 22, 244, 0, 243,
600 0, 0, 49, 48, 0, 0, 0, 0, 77, 0,
601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
602 159, 159, 159, 239, 0, 0, 239, 0, 0, 0,
604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
605 0, 0, 0, 0, 289, 289, 0, 0, 0, 0,
606 82, 81, 0, 0, 0, 0, 0, 0, 0, 0,
607 92, 0, 0, 0, 91, 0, 0, 0, 139, 138,
608 159, 159, 159, 159, 239, 0, 225, 224, 239, 0,
609 0, 0, 0, 0, 0, 258, 0, 257, 0, 0,
610 263, 0, 0, 0, 0, 0, 0, 0, 0, 289,
611 0, 0, 289, 0, 0, 0, 0, 0, 0, 82,
612 81, 0, 0, 0, 0, 0, 69, 68, 0, 0,
613 0, 0, 0, 0, 0, 159, 159, 159, 159, 0,
615 0, 0, 0, 0, 0, 0, 0, 0, 0, 256,
616 255, 0, 0, 0, 0, 0, 0, 0, 275, 274,
617 289, 0, 273, 272, 289, 0, 0, 0, 0, 0,
618 0, 0, 73, 0, 72, 90, 0, 0, 89, 0,
619 0, 0, 101, 159, 159, 159, 159, 0, 221, 220,
620 0, 0, 0, 0, 0, 252, 0, 0, 251, 0,
621 0, 283, 0, 0, 282, 289, 289, 0, 0, 0,
622 12, 0, 12, 0, 0, 0, 84, 88, 83, 87,
623 159, 159, 159, 159, 0, 0, 0, 0, 254, 250,
624 253, 249, 285, 281, 284, 280, 289, 289, 0, 0,
626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
627 0, 159, 0, 0, 0, 0, 0, 0, 289, 289,
628 0, 0, 71, 70, 0, 141, 140, 0, 151, 150,
629 0, 149, 148, 159, 0, 155, 154, 0, 0, 0,
630 0, 289, 289, 0, 11, 159, 0, 0, 0, 0,
631 289, 289, 0, 159, 0, 0, 0, 0, 289, 289,
632 0, 159, 0, 0, 0, 0, 289, 289, 0, 0,
633 0, 0, 233, 0, 232, 289, 289, 0, 0, 153,
634 152, 235, 234, 289, 289, 0, 289, 289, 0, 289,
635 289, 0, 0, 289, 289, 0, 0, 289, 289, 0,
637 0, 289, 289, 0, 0, 0, 0, 0, 0, 0,
638 0, 0, 279, 278, 0, 277, 276, 0, 0, 0,
639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
643 static yyconst flex_int32_t yy_ec[256] =
645 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
646 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
647 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
648 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
649 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
650 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
651 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
652 28, 29, 30, 28, 31, 32, 33, 34, 35, 36,
653 28, 37, 38, 39, 28, 40, 41, 28, 42, 28,
654 43, 1, 44, 1, 45, 1, 46, 47, 48, 49,
656 50, 51, 52, 53, 54, 28, 55, 56, 57, 58,
657 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
658 69, 28, 1, 1, 1, 1, 1, 1, 1, 1,
659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
660 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
661 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
662 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
664 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
665 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
667 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
668 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
669 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
670 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
671 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
675 static yyconst flex_int32_t yy_meta[70] =
677 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
678 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
679 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
680 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
681 5, 5, 1, 1, 5, 9, 9, 9, 9, 9,
682 9, 5, 5, 5, 5, 5, 5, 5, 5, 5,
683 5, 5, 5, 5, 5, 5, 5, 5, 5
686 static yyconst flex_int16_t yy_base[2269] =
688 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
689 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
690 105, 173, 75, 78, 83, 125, 128, 132, 135, 138,
691 193, 196, 200, 203, 206, 224, 242, 293, 262, 265,
692 344, 408, 271, 273, 472, 535, 269, 316, 320, 323,
693 364, 367, 371, 374, 598, 662, 428, 431, 726, 789,
694 435, 438, 852, 915, 492, 495, 499, 502, 505, 555,
695 978, 1041, 558, 562, 565, 568, 618, 621, 625, 628,
696 1104, 1170, 631, 682, 1236, 0, 685, 689, 1305, 1359,
697 692, 695, 1413, 1476, 746, 749, 753, 756, 759, 809,
699 812, 816, 1539, 1602, 819, 822, 872, 875, 879, 882,
700 885, 935, 1665, 1728, 938, 942, 945, 948, 998, 1001,
701 1005, 1008, 1791, 1845, 1011, 1061, 1899, 1962, 1064, 1068,
702 1071, 1074, 1124, 1127, 1131, 1134, 2025, 2091, 1137, 1190,
703 0, 0, 5045, 7142, 7142, 95, 100, 29, 41, 7142,
704 155, 51, 7142, 7142, 5032, 7142, 7142, 5020, 7142, 5032,
705 5031, 1149, 7142, 7142, 7142, 7142, 5023, 5022, 4972, 210,
706 7142, 158, 4991, 0, 142, 7142, 4957, 4941, 7142, 162,
707 2153, 2213, 160, 4978, 176, 7142, 165, 4969, 0, 149,
708 7142, 4926, 7142, 230, 378, 7142, 326, 4945, 0, 208,
710 7142, 4910, 4913, 4910, 4887, 379, 4895, 7142, 329, 4918,
711 0, 214, 7142, 4866, 4866, 238, 4840, 7142, 377, 11,
712 31, 4888, 7142, 399, 4878, 0, 439, 7142, 4839, 4836,
713 4815, 7142, 403, 442, 7142, 462, 4856, 0, 440, 7142,
714 4825, 4807, 4821, 4801, 7142, 467, 506, 7142, 528, 4844,
715 0, 507, 7142, 4800, 521, 4796, 7142, 591, 4821, 7142,
716 648, 4812, 0, 570, 7142, 4764, 34, 4779, 4764, 4758,
717 7142, 652, 177, 4808, 7142, 655, 4786, 0, 576, 7142,
718 4745, 4744, 7142, 712, 697, 7142, 717, 4766, 0, 639,
719 7142, 211, 4735, 4737, 93, 4735, 4708, 7142, 720, 760,
721 7142, 780, 4749, 0, 640, 7142, 4715, 7142, 842, 826,
722 7142, 902, 4743, 0, 886, 7142, 4715, 4708, 4709, 80,
723 7142, 906, 522, 4742, 7142, 909, 4731, 0, 893, 7142,
724 4698, 4681, 26, 304, 7142, 965, 330, 4731, 7142, 968,
725 4721, 0, 952, 7142, 4685, 4663, 4667, 4658, 7142, 972,
726 507, 4703, 7142, 1157, 4693, 0, 956, 7142, 4659, 7142,
727 1160, 1013, 7142, 1163, 4685, 0, 1012, 7142, 4629, 4634,
728 4634, 4623, 7142, 1194, 1108, 4669, 4664, 7142, 1200, 4655,
729 0, 1015, 7142, 4619, 7142, 1213, 1076, 1216, 433, 4596,
730 7142, 4652, 4633, 7142, 7142, 7142, 1314, 283, 4588, 4579,
732 4577, 4620, 4580, 7142, 0, 4571, 4574, 4569, 4565, 4570,
733 4565, 4564, 4562, 4548, 4, 166, 4551, 4537, 4538, 4528,
734 4527, 4514, 720, 4517, 4503, 38, 782, 4499, 783, 4494,
735 7142, 0, 4498, 4492, 7142, 0, 4485, 1328, 4478, 4481,
736 329, 4470, 4496, 7142, 0, 4457, 1331, 4445, 4462, 4444,
737 4452, 4437, 89, 7142, 0, 4437, 4428, 4438, 4405, 7142,
738 0, 1334, 4417, 4416, 4412, 4399, 7142, 0, 4388, 4400,
739 7142, 0, 4403, 1337, 4376, 4371, 4370, 4386, 4378, 7142,
740 0, 1381, 4369, 4358, 7142, 0, 4368, 1385, 1388, 4337,
741 4332, 4344, 4344, 4340, 4335, 7142, 0, 1391, 4318, 7142,
743 0, 4316, 1433, 4309, 4325, 4317, 4305, 7142, 0, 4291,
744 4289, 4294, 4277, 4275, 4260, 7142, 0, 4257, 4246, 4246,
745 4256, 4241, 7142, 0, 1436, 4245, 7142, 0, 4234, 4228,
746 4232, 4240, 4222, 4212, 7142, 0, 4213, 4222, 4242, 4251,
747 815, 4202, 7142, 1208, 0, 4188, 4187, 4227, 4219, 4176,
748 7142, 4171, 4153, 4156, 1439, 1442, 4157, 4143, 4141, 4139,
749 4152, 4140, 4151, 4136, 4136, 4127, 4120, 4137, 4113, 4115,
750 4097, 4101, 4096, 4088, 4083, 4100, 4082, 4075, 4081, 4051,
751 4063, 4046, 1445, 1497, 4044, 1502, 1224, 4034, 4036, 4051,
752 1505, 1508, 7142, 4024, 1512, 1559, 1570, 4011, 1573, 4023,
754 1576, 1635, 4007, 4004, 4007, 4007, 1622, 1627, 1630, 1591,
755 4002, 3994, 3996, 1690, 1700, 3997, 1693, 1696, 3986, 1703,
756 1650, 3989, 3992, 3979, 3960, 1749, 1755, 1759, 1764, 3957,
757 1813, 1816, 401, 1819, 1777, 1822, 1865, 1825, 3971, 3968,
758 3956, 3932, 1873, 1877, 1919, 1881, 1924, 1927, 3933, 1932,
759 1985, 3923, 3906, 3902, 1937, 1994, 3911, 1997, 2000, 3906,
760 3904, 2047, 2054, 3900, 2005, 3907, 2051, 2057, 2060, 2069,
761 2080, 2112, 2118, 3897, 3878, 3880, 3864, 2121, 2124, 3868,
762 3850, 2127, 2146, 3894, 7142, 7142, 373, 3841, 7142, 3879,
763 3877, 3820, 7142, 7142, 3818, 3816, 3821, 3810, 2149, 2157,
765 7142, 2176, 3807, 3807, 3818, 3803, 3794, 3793, 3779, 261,
766 3793, 3776, 1340, 3783, 3766, 3775, 3759, 3767, 3771, 3748,
767 1394, 3762, 376, 3745, 3751, 3738, 3753, 2152, 2180, 2185,
768 7142, 2190, 2217, 2224, 7142, 7142, 2237, 2241, 3774, 2245,
769 2248, 7142, 2251, 3732, 2276, 7142, 7142, 2284, 2289, 2297,
770 2303, 2306, 3743, 2315, 2321, 7142, 2324, 407, 3741, 2327,
771 3739, 2330, 2334, 7142, 2345, 2349, 7142, 7142, 3730, 3735,
772 3727, 2357, 2360, 7142, 2364, 3722, 2367, 2370, 7142, 2390,
773 3719, 2393, 7142, 7142, 3711, 3706, 3702, 3711, 2401, 2404,
774 7142, 2409, 2413, 7142, 7142, 3710, 2423, 2428, 7142, 2431,
776 3686, 3697, 2435, 7142, 7142, 2451, 7142, 7142, 2443, 2461,
777 3667, 3633, 3637, 3630, 2471, 2474, 7142, 2477, 2480, 7142,
778 7142, 2496, 2499, 7142, 2502, 3611, 2505, 7142, 7142, 3614,
779 3617, 3619, 2521, 2524, 7142, 2527, 3598, 2530, 2534, 2549,
780 2552, 3605, 3598, 2560, 2567, 7142, 2570, 3593, 2573, 2580,
781 3602, 2591, 2594, 2602, 2605, 7142, 2609, 2612, 7142, 7142,
782 2624, 2628, 7142, 2634, 3573, 2637, 3591, 3556, 2643, 2647,
783 7142, 2655, 3554, 3559, 2658, 2662, 7142, 2666, 734, 2669,
784 7142, 7142, 3590, 3585, 3550, 3540, 3572, 2677, 3529, 3521,
785 3537, 1468, 3516, 2160, 3529, 3528, 1471, 3505, 3513, 1531,
787 3511, 3496, 3512, 1534, 2691, 3498, 3505, 1658, 3493, 3492,
788 3490, 3467, 3481, 3479, 2681, 2699, 2707, 2713, 2717, 3475,
789 3459, 3499, 2726, 3474, 2731, 7142, 7142, 2740, 2745, 2758,
790 7142, 7142, 3468, 2753, 1721, 3455, 2766, 2773, 2784, 2787,
791 3444, 3460, 3437, 2790, 3450, 2793, 3448, 3442, 3426, 2796,
792 2802, 2814, 2820, 2824, 2827, 2834, 2846, 7142, 7142, 2838,
793 2856, 2860, 2863, 2866, 2869, 3428, 3432, 3418, 2889, 2892,
794 3416, 2898, 7142, 7142, 2907, 7142, 7142, 3409, 2916, 2919,
795 3405, 2934, 7142, 7142, 3398, 2942, 7142, 7142, 2950, 2953,
796 3406, 2923, 2956, 3388, 3406, 2964, 3392, 2972, 2975, 181,
798 3428, 2978, 7142, 3426, 7142, 7142, 3386, 3381, 528, 2983,
799 3381, 3379, 3380, 1785, 3374, 1828, 3371, 3359, 3348, 1892,
800 3352, 2986, 2990, 3352, 3353, 1956, 2008, 3342, 2997, 3007,
801 3334, 3013, 3345, 3016, 3022, 3033, 7142, 7142, 3043, 3047,
802 7142, 7142, 3332, 3335, 3315, 3062, 3289, 3065, 7142, 7142,
803 3284, 3077, 2018, 3284, 3081, 1067, 1121, 3058, 3089, 3097,
804 3100, 3103, 3107, 3111, 7142, 3121, 3125, 3283, 3279, 3260,
805 3130, 3135, 3148, 3151, 3271, 3159, 3162, 3166, 3174, 3180,
806 3183, 3193, 3198, 3201, 3211, 3216, 3219, 3222, 3225, 3271,
807 3250, 3265, 3229, 3237, 3263, 3247, 3250, 3254, 3252, 3257,
809 3260, 3278, 3281, 3286, 3240, 3289, 7142, 7142, 3242, 3230,
810 3301, 3237, 3306, 3309, 3324, 1430, 430, 501, 7142, 3216,
811 3330, 3333, 3336, 3339, 3218, 3212, 3218, 3220, 3204, 3204,
812 3202, 3343, 3354, 3198, 3358, 3361, 3199, 3182, 3184, 3364,
813 3367, 3370, 3173, 3373, 3177, 3166, 3163, 3376, 3161, 3148,
814 3184, 3380, 3139, 3139, 3386, 3389, 3169, 3155, 260, 3153,
815 3158, 3139, 492, 3138, 3401, 7142, 7142, 3410, 3413, 3418,
816 3431, 3434, 3438, 3452, 3455, 3463, 3104, 3094, 3096, 3466,
817 7142, 7142, 3475, 3111, 3108, 3088, 3483, 7142, 3486, 7142,
818 7142, 3494, 7142, 3498, 7142, 7142, 3506, 3513, 3524, 7142,
820 7142, 3532, 3535, 3543, 3546, 3550, 3564, 3567, 3071, 3570,
821 3085, 3573, 3086, 3085, 3064, 3588, 7142, 3591, 3594, 3602,
822 3052, 3614, 3609, 3629, 3620, 3623, 3638, 3038, 3037, 3035,
823 3642, 3030, 3645, 7142, 7142, 3657, 1011, 1186, 576, 3029,
824 3661, 3664, 3672, 3679, 3686, 3012, 3690, 3693, 3697, 3015,
825 3015, 3700, 3706, 3005, 3709, 2999, 3712, 3715, 3718, 3721,
826 3724, 2992, 3729, 2996, 3732, 3000, 3735, 3009, 3738, 7142,
827 2981, 2995, 3743, 3747, 3753, 2999, 2993, 2991, 2993, 2981,
828 2987, 2969, 2966, 2970, 2956, 3765, 3768, 7142, 7142, 3776,
829 3784, 3794, 7142, 7142, 3802, 7142, 7142, 3812, 2940, 2922,
831 2912, 613, 674, 2913, 3815, 7142, 7142, 3824, 7142, 7142,
832 3832, 3835, 3843, 7142, 7142, 3851, 3854, 2911, 3857, 3860,
833 2912, 2901, 677, 741, 2894, 3875, 866, 919, 3883, 2891,
834 3886, 3889, 929, 992, 3897, 3901, 7142, 3905, 3908, 2891,
835 2878, 3915, 2866, 3926, 3920, 758, 722, 3930, 3935, 7142,
836 7142, 3945, 3948, 3954, 3957, 3968, 3973, 3977, 3983, 3986,
837 3989, 2872, 2859, 3992, 3995, 3999, 2859, 4002, 2856, 4005,
838 2841, 4011, 4014, 7142, 4024, 2839, 4029, 7142, 4032, 7142,
839 7142, 2874, 2858, 2864, 2857, 2861, 2858, 2842, 2851, 2843,
840 2835, 4042, 4048, 7142, 7142, 4056, 2779, 2726, 2724, 2731,
842 2747, 2718, 2695, 2646, 4061, 7142, 7142, 4069, 4075, 7142,
843 4078, 4081, 7142, 7142, 2570, 62, 308, 388, 369, 491,
844 475, 545, 857, 548, 1056, 4089, 4096, 4100, 574, 1065,
845 586, 1172, 4103, 4108, 4111, 4115, 4123, 587, 4129, 4132,
846 4135, 4141, 756, 986, 4148, 4154, 4160, 4165, 4168, 4172,
847 4178, 614, 632, 661, 729, 4184, 7142, 767, 4187, 7142,
848 7142, 4203, 4209, 785, 807, 823, 846, 854, 894, 902,
849 917, 960, 985, 1002, 4217, 4221, 7142, 993, 1021, 1022,
850 1077, 7142, 1085, 7142, 4224, 4227, 7142, 4230, 4236, 1081,
851 1087, 1090, 1145, 7142, 1160, 7142, 4248, 1160, 1161, 1174,
853 1185, 1174, 1203, 4251, 4254, 4262, 4269, 1205, 1194, 1209,
854 1295, 1307, 1320, 4274, 4277, 4281, 7142, 7142, 4292, 4296,
855 4305, 4310, 7142, 4313, 4316, 1355, 1332, 1392, 4324, 4329,
856 4337, 4342, 7142, 1297, 1304, 1301, 1307, 4345, 4348, 1544,
857 1561, 1299, 1351, 1377, 1377, 1383, 1400, 1378, 1387, 1405,
858 1431, 1445, 4356, 1389, 1411, 1411, 7142, 7142, 4363, 4366,
859 4375, 7142, 7142, 1410, 1418, 1438, 7142, 7142, 4383, 4386,
860 1465, 1464, 1477, 1481, 1483, 1488, 4394, 1557, 1593, 4402,
861 1489, 1488, 1493, 1527, 1527, 1531, 4405, 4408, 4413, 7142,
862 4417, 7142, 7142, 4426, 4432, 4440, 7142, 1598, 1570, 1630,
864 4444, 7142, 7142, 4452, 4455, 4470, 1523, 4473, 1536, 4476,
865 4479, 1550, 1579, 1599, 1618, 1583, 1618, 1617, 1616, 1623,
866 7142, 1639, 1647, 1648, 1651, 7142, 4487, 4490, 1656, 1667,
867 4494, 7142, 7142, 1659, 4502, 1669, 4508, 7142, 7142, 1681,
868 1685, 1700, 1690, 1708, 1728, 1721, 1734, 1729, 1739, 4516,
869 1739, 1748, 1759, 1753, 1771, 1787, 4520, 4523, 4541, 7142,
870 7142, 1822, 1820, 4529, 4549, 7142, 7142, 4526, 1773, 4557,
871 1775, 4560, 7142, 7142, 1821, 1827, 1848, 1839, 4570, 1843,
872 1869, 1886, 1876, 1876, 1902, 1916, 1910, 4573, 4576, 4579,
873 1886, 1883, 1886, 1899, 4588, 4594, 1884, 1925, 1930, 1927,
875 1948, 1958, 1951, 1984, 1954, 1984, 1957, 4602, 1988, 1997,
876 2007, 2017, 2026, 2031, 4606, 4609, 2056, 4612, 4615, 4635,
877 4643, 4646, 2032, 2050, 2044, 2054, 4654, 4657, 2052, 2055,
878 7142, 2057, 2061, 2087, 7142, 2088, 4665, 4668, 7142, 7142,
879 2079, 2086, 2087, 2093, 4676, 4680, 7142, 7142, 4688, 2115,
880 2108, 2118, 2120, 2112, 2142, 7142, 2162, 7142, 2161, 4694,
881 7142, 2148, 2141, 2156, 2160, 2156, 2166, 4697, 4700, 4708,
882 4715, 4719, 4728, 2178, 4733, 4736, 4756, 4795, 4839, 4746,
883 4764, 2170, 2191, 2177, 2194, 4768, 7142, 7142, 2205, 2180,
884 2182, 2214, 2192, 2197, 4785, 2175, 2184, 2177, 2178, 4789,
886 4776, 4807, 4815, 2220, 2232, 2252, 2236, 2238, 2261, 7142,
887 7142, 2246, 2249, 2275, 2257, 2259, 2280, 4825, 7142, 7142,
888 4833, 4859, 7142, 7142, 4851, 2294, 4869, 2337, 2293, 4905,
889 4949, 2276, 7142, 2280, 7142, 7142, 2305, 2314, 7142, 2312,
890 2330, 4877, 7142, 2290, 2276, 2296, 2325, 4882, 7142, 7142,
891 4890, 2351, 2371, 2370, 2373, 7142, 2372, 2374, 7142, 2379,
892 2380, 7142, 2379, 2391, 7142, 4899, 4917, 2430, 2436, 2438,
893 2395, 2476, 2405, 4925, 2403, 2405, 7142, 7142, 7142, 7142,
894 4928, 4940, 4969, 4972, 2401, 2407, 2418, 2420, 7142, 7142,
895 7142, 7142, 7142, 7142, 7142, 7142, 4975, 4980, 4983, 2455,
897 2445, 2459, 4993, 2463, 2462, 4998, 4931, 5002, 5006, 5016,
898 5020, 2426, 5028, 5035, 2453, 2471, 2456, 2488, 5046, 5049,
899 5052, 2492, 7142, 7142, 5055, 7142, 7142, 5067, 7142, 7142,
900 5075, 7142, 7142, 2463, 5083, 7142, 7142, 2479, 2480, 2482,
901 2483, 5093, 5096, 2515, 7142, 2473, 2509, 2519, 2516, 2522,
902 5099, 5102, 2540, 2484, 2523, 2540, 2530, 2554, 5105, 5123,
903 2581, 5126, 2555, 2582, 2565, 2590, 5129, 5132, 2597, 5135,
904 5158, 2596, 7142, 2610, 7142, 5166, 5169, 2622, 5187, 7142,
905 7142, 7142, 7142, 5195, 5198, 5201, 5204, 5207, 5216, 5230,
906 5235, 2613, 2614, 5242, 5249, 2633, 2668, 5253, 5256, 2679,
908 2693, 5260, 5274, 2686, 2719, 5279, 5285, 5301, 5304, 2704,
909 2752, 5312, 7142, 7142, 5321, 7142, 7142, 2671, 2711, 2732,
910 2760, 2632, 2800, 2763, 2805, 2781, 2812, 2831, 2836, 2692,
911 2799, 5329, 5332, 7142, 7142, 5352, 5361, 5370, 5379, 5388,
912 5397, 5406, 5415, 5424, 5433, 5442, 5451, 5460, 5469, 5478,
913 5487, 5496, 5505, 5514, 5523, 5532, 5541, 5550, 5559, 5568,
914 5577, 5586, 5595, 5604, 5613, 5622, 5631, 5640, 5649, 5658,
915 5667, 5676, 5685, 5694, 5701, 5708, 5715, 5722, 5729, 5736,
916 5743, 5750, 5757, 5764, 5771, 5778, 5785, 5792, 5799, 5806,
917 5813, 5822, 5827, 5832, 5837, 5842, 5847, 5852, 5857, 5862,
919 5867, 5874, 5879, 5886, 5891, 5898, 5903, 5910, 5915, 5922,
920 5927, 5934, 5939, 5946, 5951, 5958, 5963, 5972, 5978, 5985,
921 5993, 6000, 6008, 6015, 6023, 6030, 6038, 6045, 6053, 6060,
922 6068, 6075, 6083, 6090, 6098, 6105, 6113, 6120, 6128, 6136,
923 6143, 6151, 6158, 6166, 6173, 6181, 6189, 6196, 6204, 6211,
924 6219, 6228, 6234, 6241, 6249, 6257, 6265, 6273, 6281, 6288,
925 6296, 6303, 6311, 6318, 6326, 6333, 6341, 6348, 6356, 6363,
926 6371, 6378, 6386, 6394, 6401, 6409, 6416, 6424, 6431, 6439,
927 6447, 6454, 6462, 6469, 6477, 6486, 6495, 6502, 6510, 6518,
928 6525, 6533, 6540, 6548, 6555, 6563, 6570, 6578, 6585, 6593,
930 6600, 6608, 6616, 6624, 6632, 6640, 6648, 6655, 6663, 6670,
931 6678, 6685, 6693, 6701, 6708, 6716, 6724, 6732, 6741, 6750,
932 6757, 6765, 6773, 6780, 6788, 6795, 6803, 6810, 6818, 6826,
933 6834, 6842, 6849, 6857, 6865, 6873, 6881, 6889, 6896, 6904,
934 6912, 6920, 6928, 6936, 6944, 6951, 6959, 6967, 6976, 6985,
935 6993, 7001, 7009, 7016, 7024, 7031, 7039, 7047, 7055, 7063,
936 7071, 7078, 7087, 7096, 7105, 7114, 7123, 7132
939 static yyconst flex_int16_t yy_def[2269] =
941 2036, 2036, 2037, 2037, 2037, 2037, 2038, 2038, 2039, 2039,
942 2040, 2040, 2041, 2041, 2041, 2041, 2042, 2042, 2036, 2036,
943 2043, 2043, 2044, 2044, 2044, 2044, 2036, 2036, 2044, 2044,
944 2036, 2036, 2044, 2044, 2044, 2044, 2045, 2045, 2046, 2046,
945 2047, 2047, 2041, 2041, 2048, 2048, 2049, 2049, 2036, 2036,
946 2049, 2049, 2049, 2049, 2050, 2050, 2051, 2051, 2052, 2052,
947 2053, 2053, 2054, 2054, 2036, 2036, 2036, 2036, 2055, 2055,
948 2056, 2056, 2057, 2057, 2036, 2036, 2057, 2057, 2057, 2057,
949 2058, 2058, 2059, 2059, 2035, 85, 2060, 2060, 2061, 2061,
950 2062, 2062, 2063, 2063, 2064, 2064, 2036, 2036, 2064, 2064,
952 2064, 2064, 2065, 2065, 2036, 2036, 2036, 2036, 2066, 2066,
953 2066, 2066, 2067, 2067, 2068, 2068, 2036, 2036, 2068, 2068,
954 2068, 2068, 2069, 2069, 2070, 2070, 2071, 2071, 2072, 2072,
955 2036, 2036, 2072, 2072, 2072, 2072, 2073, 2073, 2074, 2074,
956 2036, 2036, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
957 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
958 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
959 2035, 2035, 2035, 2075, 2035, 2035, 2075, 2075, 2035, 2035,
960 2035, 2035, 181, 182, 182, 2035, 2035, 2035, 2076, 2035,
961 2035, 2076, 2035, 2035, 2035, 2035, 2035, 2035, 2077, 2035,
963 2035, 2077, 2077, 2077, 2077, 2035, 2035, 2035, 2035, 2035,
964 2078, 2035, 2035, 2078, 2078, 2078, 2078, 2035, 2035, 185,
965 185, 185, 2035, 2035, 2035, 2079, 2035, 2035, 2079, 2079,
966 2079, 2035, 2035, 2035, 2035, 2035, 2035, 2080, 2035, 2035,
967 2080, 2080, 2080, 2080, 2035, 2035, 2035, 2035, 2035, 2035,
968 2081, 2035, 2035, 2081, 185, 255, 2035, 2035, 185, 2035,
969 2035, 2035, 2082, 2035, 2035, 2082, 2082, 2082, 2082, 2082,
970 2035, 2035, 185, 185, 2035, 2035, 2035, 2083, 2035, 2035,
971 2083, 2083, 2035, 2035, 2035, 2035, 2035, 2035, 2084, 2035,
972 2035, 2084, 2084, 2084, 2084, 2084, 2084, 2035, 2035, 2035,
974 2035, 2035, 2035, 2085, 2035, 2035, 2085, 2035, 2035, 2035,
975 2035, 2035, 2035, 2086, 2035, 2035, 2086, 2086, 2086, 2086,
976 2035, 2035, 185, 185, 2035, 2035, 2035, 2087, 2035, 2035,
977 2087, 2087, 2087, 185, 2035, 2035, 185, 185, 2035, 2035,
978 2035, 2088, 2035, 2035, 2088, 2088, 2088, 2088, 2035, 2035,
979 185, 185, 2035, 2035, 2035, 2089, 2035, 2035, 2089, 2035,
980 2035, 2035, 2035, 2035, 2035, 2090, 2035, 2035, 2090, 2090,
981 2090, 2090, 2035, 2035, 185, 375, 185, 2035, 2035, 2035,
982 2091, 2035, 2035, 2091, 2035, 2035, 2035, 2035, 2092, 2035,
983 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
985 2035, 2035, 2035, 2035, 2075, 2075, 2075, 2093, 2035, 2035,
986 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
987 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
988 2035, 2076, 2076, 2094, 2035, 2077, 2077, 2077, 2077, 2077,
989 2035, 2095, 2035, 2035, 2078, 2078, 2078, 2078, 2078, 2078,
990 2078, 2096, 2035, 2035, 2079, 2079, 2079, 2079, 2097, 2035,
991 2080, 2080, 2080, 2080, 2080, 2098, 2035, 2081, 2081, 2099,
992 2035, 2082, 2082, 2082, 2082, 2082, 2082, 2082, 2100, 2035,
993 2083, 2083, 2083, 2101, 2035, 2102, 2102, 2102, 2102, 2102,
994 2102, 2102, 2102, 2102, 2103, 2035, 2104, 2104, 2105, 2035,
996 2106, 2106, 2106, 2106, 2106, 2106, 2107, 2035, 2108, 2108,
997 2108, 2108, 2108, 2035, 2109, 2035, 2110, 2110, 2110, 2110,
998 2110, 2111, 2035, 2112, 2112, 2113, 2035, 2114, 2114, 2114,
999 2114, 2114, 2115, 2035, 2035, 2116, 2116, 2117, 2118, 2035,
1000 2118, 2035, 2035, 2035, 2119, 2035, 2035, 2035, 2035, 2035,
1001 2035, 2035, 2120, 2120, 2121, 2121, 2035, 2035, 2035, 2035,
1002 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1003 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1004 2035, 2122, 2123, 2123, 2124, 2035, 2035, 2124, 2124, 2035,
1005 2125, 2125, 2035, 2126, 2035, 2035, 2126, 2126, 2126, 2126,
1007 2127, 2127, 2035, 2128, 2128, 2128, 2129, 2129, 2035, 2035,
1008 2130, 2130, 2130, 2131, 2131, 2132, 2133, 2133, 2134, 2035,
1009 2035, 2134, 2134, 2134, 2134, 2135, 2135, 2035, 2035, 2136,
1010 2137, 2137, 2138, 2035, 2035, 2035, 2035, 2138, 2138, 2138,
1011 2138, 2138, 2139, 2139, 2035, 2035, 2140, 2140, 2141, 2035,
1012 2035, 2141, 2141, 2141, 2142, 2142, 2143, 2143, 2143, 2143,
1013 2035, 2144, 2144, 2145, 2145, 2145, 2145, 2146, 2146, 2035,
1014 2035, 2147, 2147, 2148, 2148, 2148, 2148, 2149, 2149, 2035,
1015 2150, 2151, 2151, 2152, 2035, 2035, 2152, 2035, 2035, 2153,
1016 2035, 2035, 2035, 2035, 2035, 2035, 2154, 2154, 2035, 2155,
1018 2035, 2155, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1019 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1020 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2156, 2035, 2157,
1021 2035, 2157, 2158, 2035, 2035, 2035, 2158, 2158, 2035, 2035,
1022 2159, 2035, 2159, 2160, 2035, 2035, 2035, 2035, 2035, 2160,
1023 2035, 2035, 2160, 2035, 2161, 2035, 2161, 2035, 2162, 2162,
1024 2162, 2035, 2163, 2035, 2163, 2035, 2035, 2035, 2164, 2164,
1025 2164, 2035, 2165, 2035, 2165, 2166, 2035, 2167, 2035, 2167,
1026 2168, 2035, 2035, 2035, 2168, 2168, 2168, 2168, 2035, 2169,
1027 2035, 2169, 2035, 2035, 2035, 2170, 2035, 2171, 2035, 2171,
1029 2172, 2172, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1030 2172, 2172, 2172, 2172, 2035, 2173, 2035, 2173, 2035, 2035,
1031 2035, 2035, 2174, 2035, 2174, 2175, 2035, 2035, 2035, 2175,
1032 2175, 2175, 2035, 2176, 2035, 2176, 2177, 2035, 2035, 2035,
1033 2035, 2177, 2035, 2035, 2178, 2035, 2178, 2179, 2035, 2035,
1034 2179, 2035, 2035, 2035, 2180, 2035, 2180, 2035, 2035, 2035,
1035 2035, 2181, 2035, 2181, 2182, 2182, 2182, 2182, 2035, 2183,
1036 2035, 2183, 2035, 2184, 2035, 2185, 2035, 2185, 2186, 2187,
1037 2035, 2035, 2035, 2035, 2035, 2188, 2188, 2189, 2035, 2035,
1038 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1040 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1041 2035, 2035, 2035, 2035, 2035, 2035, 2190, 2035, 2035, 2191,
1042 2191, 2035, 2192, 2193, 2035, 2035, 2035, 2035, 2035, 2035,
1043 2035, 2035, 2193, 2194, 2035, 2195, 2035, 2035, 2195, 2196,
1044 2197, 2197, 2197, 2198, 2199, 2200, 2201, 2201, 2201, 2201,
1045 2201, 2202, 2203, 2204, 2205, 2205, 2035, 2035, 2035, 2205,
1046 2205, 2205, 2205, 2206, 2207, 2208, 2208, 2208, 2208, 2209,
1047 2210, 2035, 2035, 2035, 2035, 2035, 2035, 2210, 2035, 2211,
1048 2212, 2035, 2035, 2035, 2212, 2035, 2035, 2035, 2213, 2214,
1049 2215, 2035, 2035, 2215, 2215, 2216, 2035, 2217, 2218, 2219,
1051 2220, 2220, 2035, 2220, 2035, 2035, 2035, 2221, 2221, 2222,
1052 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1053 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1054 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2223, 2035,
1055 2035, 2035, 2224, 2224, 2035, 2225, 2226, 2035, 2035, 2035,
1056 2226, 2227, 2035, 2228, 2035, 2035, 2035, 2035, 2035, 2229,
1057 2230, 2230, 2230, 2035, 2035, 2231, 2232, 2233, 2233, 2233,
1058 2035, 2035, 2035, 2035, 2233, 2234, 2035, 2035, 2235, 2035,
1059 2035, 2236, 2035, 2035, 2236, 2236, 2236, 2237, 2238, 2239,
1060 2239, 2239, 2035, 2035, 2239, 2240, 2241, 2241, 2035, 2242,
1062 2243, 2243, 2244, 2245, 2246, 2035, 2035, 2035, 2246, 2246,
1063 2247, 2035, 2035, 2035, 2248, 2249, 2250, 2250, 2035, 2035,
1064 2251, 2251, 2251, 2252, 2035, 2035, 2035, 2035, 2035, 2035,
1065 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1066 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2253, 2254, 2254,
1067 2035, 2255, 2256, 2256, 2257, 2258, 2035, 2035, 2035, 2035,
1068 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2259, 2035, 2035,
1069 2260, 2035, 2035, 2035, 2035, 2261, 2262, 2262, 2262, 2035,
1070 2035, 2035, 2035, 2035, 2035, 2262, 2035, 2035, 2035, 2035,
1071 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1073 2035, 2035, 2035, 2236, 2035, 2035, 2237, 2238, 2239, 2239,
1074 2239, 2035, 2035, 2035, 2239, 2035, 2035, 2035, 2035, 2241,
1075 2035, 2242, 2035, 2035, 2243, 2244, 2245, 2246, 2246, 2246,
1076 2247, 2035, 2035, 2035, 2035, 2248, 2249, 2250, 2250, 2035,
1077 2035, 2035, 2251, 2251, 2252, 2035, 2035, 2035, 2035, 2035,
1078 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1079 2035, 2035, 2035, 2035, 2253, 2254, 2254, 2035, 2035, 2035,
1080 2256, 2256, 2257, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1081 2035, 2035, 2035, 2035, 2035, 2259, 2035, 2035, 2035, 2035,
1082 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2261, 2262, 2262,
1084 2262, 2035, 2035, 2262, 2035, 2035, 2035, 2035, 2035, 2035,
1085 2035, 2035, 2035, 2035, 2035, 2237, 2238, 2239, 2035, 2035,
1086 2239, 2239, 2035, 2035, 2239, 2035, 2035, 2035, 2241, 2035,
1087 2242, 2035, 2035, 2035, 2243, 2035, 2035, 2245, 2246, 2246,
1088 2246, 2247, 2035, 2248, 2249, 2250, 2250, 2035, 2035, 2035,
1089 2035, 2251, 2251, 2252, 2035, 2035, 2035, 2035, 2035, 2035,
1090 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2253,
1091 2254, 2035, 2035, 2035, 2256, 2256, 2035, 2035, 2035, 2035,
1092 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1093 2035, 2259, 2035, 2035, 2035, 2261, 2262, 2262, 2262, 2035,
1095 2035, 2035, 2035, 2262, 2035, 2035, 2035, 2237, 2035, 2035,
1096 2239, 2035, 2035, 2035, 2239, 2239, 2035, 2035, 2035, 2035,
1097 2239, 2035, 2035, 2035, 2035, 2241, 2035, 2242, 2035, 2035,
1098 2035, 2035, 2243, 2245, 2035, 2035, 2246, 2246, 2247, 2035,
1099 2248, 2249, 2250, 2250, 2035, 2251, 2251, 2252, 2035, 2035,
1100 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2254, 2035, 2035,
1101 2035, 2035, 2035, 2256, 2035, 2035, 2035, 2035, 2035, 2035,
1102 2035, 2035, 2035, 2035, 2259, 2035, 2035, 2262, 2262, 2262,
1103 2035, 2035, 2035, 2035, 2262, 2035, 2035, 2035, 2035, 2239,
1104 2239, 2239, 2035, 2035, 2035, 2035, 2239, 2035, 2035, 2035,
1106 2035, 2035, 2035, 2035, 2035, 2035, 2242, 2035, 2035, 2035,
1107 2035, 2035, 2035, 2243, 2245, 2035, 2035, 2035, 2035, 2035,
1108 2246, 2035, 2035, 2035, 2248, 2249, 2250, 2250, 2035, 2035,
1109 2251, 2035, 2035, 2035, 2035, 2035, 2035, 2254, 2035, 2035,
1110 2035, 2256, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1111 2035, 2035, 2259, 2262, 2262, 2262, 2035, 2035, 2035, 2035,
1112 2035, 2035, 2035, 2239, 2239, 2239, 2035, 2035, 2035, 2035,
1113 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2242,
1114 2035, 2035, 2035, 2035, 2035, 2035, 2243, 2243, 2035, 2035,
1115 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2249, 2250, 2250,
1117 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1118 2035, 2035, 2035, 2035, 2035, 2256, 2035, 2035, 2035, 2035,
1119 2035, 2035, 2035, 2035, 2035, 2035, 2259, 2262, 2262, 2262,
1120 2035, 2035, 2035, 2239, 2239, 2239, 2035, 2035, 2035, 2035,
1121 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2242,
1122 2035, 2035, 2035, 2035, 2035, 2035, 2243, 2243, 2035, 2035,
1123 2035, 2249, 2250, 2250, 2035, 2035, 2035, 2035, 2035, 2035,
1124 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2256, 2035,
1125 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2259, 2035, 2035,
1126 2262, 2262, 2262, 2239, 2035, 2035, 2239, 2035, 2035, 2035,
1128 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2242, 2035, 2035,
1129 2035, 2035, 2035, 2035, 2243, 2243, 2249, 2250, 2250, 2250,
1130 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1131 2035, 2035, 2035, 2035, 2035, 2035, 2259, 2035, 2035, 2035,
1132 2262, 2262, 2262, 2262, 2239, 2035, 2035, 2035, 2239, 2035,
1133 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1134 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2243,
1135 2035, 2035, 2243, 2249, 2250, 2250, 2250, 2263, 2264, 2035,
1136 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1137 2035, 2035, 2035, 2035, 2259, 2262, 2262, 2262, 2262, 2035,
1139 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1140 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1141 2243, 2035, 2035, 2035, 2243, 2249, 2250, 2265, 2266, 2263,
1142 2264, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1143 2035, 2035, 2035, 2262, 2262, 2262, 2262, 2035, 2035, 2035,
1144 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1145 2035, 2035, 2035, 2035, 2035, 2243, 2243, 2249, 2265, 2250,
1146 2267, 2266, 2268, 2250, 2035, 2035, 2035, 2035, 2035, 2035,
1147 2262, 2262, 2262, 2262, 2035, 2035, 2035, 2035, 2035, 2035,
1148 2035, 2035, 2035, 2035, 2035, 2035, 2243, 2243, 2249, 2267,
1150 2035, 2268, 2250, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1151 2035, 2262, 2035, 2035, 2035, 2035, 2035, 2035, 2243, 2243,
1152 2249, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1153 2035, 2035, 2035, 2262, 2035, 2035, 2035, 2035, 2035, 2035,
1154 2035, 2243, 2243, 2249, 2035, 2262, 2035, 2035, 2035, 2035,
1155 2243, 2243, 2249, 2262, 2035, 2035, 2035, 2035, 2243, 2243,
1156 2249, 2262, 2035, 2035, 2035, 2035, 2243, 2243, 2249, 2035,
1157 2035, 2035, 2035, 2035, 2035, 2243, 2243, 2249, 2035, 2035,
1158 2035, 2035, 2035, 2243, 2243, 2249, 2243, 2243, 2249, 2243,
1159 2243, 2249, 2249, 2243, 2243, 2249, 2249, 2243, 2243, 2249,
1161 2249, 2243, 2243, 2249, 2249, 2035, 2035, 2035, 2035, 2249,
1162 2249, 2035, 2035, 2035, 2035, 2035, 2035, 2249, 2249, 2249,
1163 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249,
1164 2249, 2249, 2249, 2035, 0, 2035, 2035, 2035, 2035, 2035,
1165 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1166 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1167 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1168 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1169 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1170 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1172 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1173 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1174 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1175 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1176 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1177 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1178 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1179 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1180 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1181 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1183 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1184 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1185 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1186 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1187 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1188 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1189 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035
1192 static yyconst flex_int16_t yy_nxt[7212] =
1194 2035, 146, 147, 146, 146, 147, 146, 146, 147, 146,
1195 146, 147, 146, 151, 147, 151, 157, 148, 154, 157,
1196 148, 154, 452, 149, 2035, 155, 149, 2035, 155, 152,
1197 151, 147, 151, 389, 158, 160, 161, 158, 160, 161,
1198 162, 163, 2035, 162, 163, 389, 152, 167, 168, 390,
1199 164, 160, 161, 164, 165, 392, 162, 160, 161, 563,
1200 165, 391, 162, 167, 168, 564, 164, 147, 147, 147,
1201 453, 391, 164, 147, 147, 147, 180, 147, 180, 180,
1202 147, 180, 474, 170, 180, 147, 180, 512, 169, 170,
1203 453, 475, 181, 563, 513, 181, 388, 388, 388, 577,
1205 182, 388, 388, 388, 169, 171, 172, 147, 172, 171,
1206 171, 171, 171, 171, 171, 171, 173, 171, 171, 171,
1207 1492, 171, 175, 171, 176, 171, 180, 147, 180, 147,
1208 147, 147, 505, 147, 147, 147, 180, 147, 180, 180,
1209 147, 180, 182, 506, 563, 183, 392, 171, 171, 183,
1210 603, 491, 181, 392, 492, 181, 388, 388, 388, 388,
1211 388, 388, 391, 388, 388, 388, 388, 388, 388, 391,
1212 177, 2035, 178, 171, 172, 147, 172, 171, 171, 171,
1213 171, 171, 171, 171, 173, 171, 171, 171, 479, 171,
1214 175, 171, 176, 171, 147, 147, 147, 147, 147, 147,
1216 685, 180, 147, 180, 180, 147, 180, 180, 147, 180,
1217 184, 565, 392, 184, 392, 171, 171, 182, 392, 426,
1218 182, 427, 1116, 185, 566, 180, 147, 180, 391, 428,
1219 391, 388, 388, 388, 391, 426, 453, 429, 177, 430,
1220 178, 185, 186, 187, 147, 187, 186, 186, 186, 186,
1221 186, 186, 186, 188, 186, 186, 186, 487, 186, 190,
1222 186, 191, 186, 194, 147, 194, 194, 147, 194, 403,
1223 219, 147, 219, 160, 161, 160, 161, 488, 162, 195,
1224 162, 1278, 195, 448, 186, 186, 220, 449, 206, 1279,
1225 206, 450, 192, 186, 187, 147, 187, 186, 186, 186,
1227 186, 186, 186, 186, 188, 186, 186, 186, 896, 186,
1228 190, 186, 191, 186, 207, 2035, 207, 219, 147, 219,
1229 897, 147, 147, 147, 147, 147, 147, 388, 388, 388,
1230 388, 388, 388, 220, 1493, 186, 186, 221, 540, 546,
1231 221, 515, 547, 192, 196, 197, 147, 197, 196, 196,
1232 196, 196, 196, 196, 196, 198, 196, 196, 196, 514,
1233 196, 200, 196, 201, 196, 219, 147, 219, 219, 147,
1234 219, 590, 219, 147, 219, 219, 147, 219, 388, 388,
1235 388, 220, 392, 441, 220, 514, 196, 196, 222, 434,
1236 442, 222, 685, 1494, 202, 1495, 879, 203, 391, 391,
1238 388, 388, 388, 204, 388, 388, 388, 205, 196, 197,
1239 147, 197, 196, 196, 196, 196, 196, 196, 196, 198,
1240 196, 196, 196, 910, 196, 200, 196, 201, 196, 233,
1241 147, 233, 233, 147, 233, 897, 246, 147, 246, 246,
1242 147, 246, 540, 392, 392, 234, 392, 801, 234, 1003,
1243 196, 196, 247, 459, 910, 247, 802, 541, 202, 391,
1244 391, 203, 391, 388, 388, 388, 935, 204, 388, 388,
1245 388, 205, 208, 209, 147, 209, 208, 208, 208, 208,
1246 208, 208, 208, 210, 208, 208, 208, 1238, 208, 212,
1247 208, 213, 208, 147, 147, 147, 147, 147, 147, 1496,
1249 147, 147, 147, 147, 147, 147, 258, 147, 258, 255,
1250 392, 392, 255, 1283, 208, 208, 256, 466, 522, 256,
1251 1003, 1284, 259, 214, 1497, 215, 391, 391, 216, 388,
1252 388, 388, 2035, 507, 217, 208, 209, 147, 209, 208,
1253 208, 208, 208, 208, 208, 208, 210, 208, 208, 208,
1254 1239, 208, 212, 208, 213, 208, 258, 147, 258, 272,
1255 147, 272, 514, 272, 147, 272, 147, 147, 147, 147,
1256 147, 147, 259, 412, 392, 273, 414, 208, 208, 273,
1257 392, 453, 221, 1122, 1498, 221, 214, 1501, 215, 1123,
1258 391, 216, 388, 388, 388, 1003, 391, 217, 223, 224,
1260 147, 224, 223, 223, 223, 223, 223, 223, 223, 225,
1261 223, 223, 223, 1508, 223, 227, 223, 228, 223, 272,
1262 147, 272, 272, 147, 272, 1511, 272, 147, 272, 272,
1263 147, 272, 284, 147, 284, 273, 1521, 1347, 273, 1400,
1264 223, 223, 274, 392, 392, 274, 1401, 229, 285, 388,
1265 388, 388, 230, 388, 388, 388, 388, 388, 388, 391,
1266 391, 231, 223, 224, 147, 224, 223, 223, 223, 223,
1267 223, 223, 223, 225, 223, 223, 223, 1534, 223, 227,
1268 223, 228, 223, 284, 147, 284, 299, 147, 299, 1535,
1269 299, 147, 299, 309, 147, 309, 309, 147, 309, 285,
1271 1402, 392, 300, 1417, 223, 223, 300, 1403, 484, 310,
1272 1418, 229, 310, 388, 388, 388, 230, 391, 388, 388,
1273 388, 388, 388, 388, 1536, 231, 235, 236, 147, 236,
1274 235, 235, 235, 235, 235, 235, 235, 237, 235, 235,
1275 235, 1003, 235, 239, 235, 240, 235, 322, 147, 322,
1276 322, 147, 322, 685, 147, 147, 147, 147, 147, 147,
1277 322, 147, 322, 323, 392, 573, 323, 1419, 235, 235,
1278 221, 495, 1000, 221, 1420, 1003, 323, 1003, 574, 241,
1279 391, 388, 388, 388, 1444, 242, 1537, 243, 244, 235,
1280 236, 147, 236, 235, 235, 235, 235, 235, 235, 235,
1282 237, 235, 235, 235, 1527, 235, 239, 235, 240, 235,
1283 322, 147, 322, 322, 147, 322, 1443, 322, 147, 322,
1284 147, 147, 147, 147, 147, 147, 323, 565, 573, 324,
1285 392, 235, 235, 324, 685, 1538, 334, 499, 1542, 334,
1286 578, 580, 241, 388, 388, 388, 391, 1543, 242, 687,
1287 243, 244, 248, 249, 147, 249, 248, 248, 248, 248,
1288 248, 248, 248, 250, 248, 248, 248, 1544, 248, 252,
1289 248, 253, 248, 147, 147, 147, 147, 147, 147, 1545,
1290 336, 147, 336, 336, 147, 336, 336, 147, 336, 334,
1291 392, 1499, 334, 1500, 248, 248, 337, 392, 1546, 337,
1293 1422, 1423, 338, 388, 388, 388, 391, 388, 388, 388,
1294 388, 388, 388, 391, 254, 248, 249, 147, 249, 248,
1295 248, 248, 248, 248, 248, 248, 250, 248, 248, 248,
1296 1547, 248, 252, 248, 253, 248, 336, 147, 336, 350,
1297 147, 350, 1548, 350, 147, 350, 147, 147, 147, 147,
1298 147, 147, 338, 1424, 1425, 351, 392, 248, 248, 351,
1299 392, 1549, 334, 1429, 1430, 334, 388, 388, 388, 388,
1300 388, 388, 391, 388, 388, 388, 391, 254, 260, 261,
1301 147, 261, 260, 260, 260, 260, 260, 260, 260, 262,
1302 260, 260, 260, 1550, 260, 264, 260, 265, 260, 350,
1304 147, 350, 350, 147, 350, 1003, 350, 147, 350, 350,
1305 147, 350, 361, 147, 361, 351, 392, 392, 351, 392,
1306 260, 260, 352, 266, 526, 352, 1431, 1432, 362, 1551,
1307 685, 267, 391, 391, 268, 391, 1345, 269, 1552, 1528,
1308 270, 260, 261, 147, 261, 260, 260, 260, 260, 260,
1309 260, 260, 262, 260, 260, 260, 1554, 260, 264, 260,
1310 265, 260, 361, 147, 361, 374, 147, 374, 1555, 374,
1311 147, 374, 147, 147, 147, 147, 147, 147, 362, 1556,
1312 392, 375, 1557, 260, 260, 375, 266, 538, 376, 1157,
1313 1502, 376, 1503, 1558, 267, 1158, 391, 268, 1159, 1509,
1315 269, 1510, 1160, 270, 275, 276, 147, 276, 275, 275,
1316 275, 275, 275, 275, 275, 277, 275, 275, 275, 533,
1317 275, 279, 275, 280, 275, 374, 147, 374, 374, 147,
1318 374, 1564, 374, 147, 374, 374, 147, 374, 386, 147,
1319 386, 375, 1565, 1161, 375, 1566, 275, 275, 377, 1162,
1320 1567, 377, 1163, 534, 387, 397, 1164, 281, 388, 388,
1321 388, 388, 388, 388, 388, 388, 388, 453, 1568, 282,
1322 275, 276, 147, 276, 275, 275, 275, 275, 275, 275,
1323 275, 277, 275, 275, 275, 1571, 275, 279, 275, 280,
1324 275, 386, 147, 386, 398, 388, 388, 388, 1572, 1573,
1326 399, 388, 388, 388, 400, 1003, 1512, 387, 1513, 401,
1327 1574, 1575, 275, 275, 388, 388, 388, 388, 388, 388,
1328 544, 544, 544, 281, 689, 734, 734, 734, 1576, 735,
1329 1581, 1582, 736, 1346, 1583, 282, 286, 287, 147, 287,
1330 286, 286, 286, 286, 286, 286, 286, 288, 286, 286,
1331 286, 289, 286, 290, 286, 291, 286, 289, 289, 289,
1332 289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
1333 289, 289, 289, 289, 289, 289, 289, 289, 286, 286,
1334 289, 289, 292, 289, 289, 289, 289, 289, 289, 293,
1335 289, 294, 289, 289, 289, 295, 289, 296, 297, 289,
1337 289, 289, 289, 289, 289, 301, 302, 147, 302, 301,
1338 301, 301, 301, 301, 301, 301, 303, 301, 301, 301,
1339 1584, 301, 305, 301, 306, 301, 544, 544, 544, 586,
1340 586, 586, 595, 595, 595, 609, 609, 609, 620, 620,
1341 620, 900, 900, 900, 1585, 1586, 587, 301, 301, 596,
1342 1606, 1003, 610, 1607, 1608, 621, 1609, 1616, 307, 301,
1343 302, 147, 302, 301, 301, 301, 301, 301, 301, 301,
1344 303, 301, 301, 301, 685, 301, 305, 301, 306, 301,
1345 1617, 545, 628, 628, 628, 1599, 634, 634, 634, 636,
1346 636, 636, 645, 645, 645, 908, 908, 908, 1618, 629,
1348 1619, 301, 301, 635, 1620, 1621, 637, 1622, 1623, 646,
1349 1598, 1003, 307, 311, 312, 147, 312, 311, 311, 311,
1350 311, 311, 311, 311, 313, 311, 311, 311, 1624, 311,
1351 315, 311, 316, 311, 650, 650, 650, 670, 670, 670,
1352 699, 699, 699, 699, 699, 699, 729, 729, 729, 685,
1353 1600, 651, 1625, 1626, 671, 311, 311, 1628, 701, 317,
1354 1629, 701, 1630, 1634, 731, 1237, 318, 1635, 319, 1014,
1355 1014, 1014, 1020, 1020, 1020, 320, 311, 312, 147, 312,
1356 311, 311, 311, 311, 311, 311, 311, 313, 311, 311,
1357 311, 1636, 311, 315, 311, 316, 311, 702, 729, 729,
1359 729, 1640, 1641, 586, 586, 586, 740, 740, 740, 740,
1360 740, 740, 1642, 595, 595, 595, 731, 1643, 311, 311,
1361 587, 1644, 317, 1645, 742, 1651, 1652, 742, 1653, 318,
1362 596, 319, 900, 900, 900, 1026, 1026, 1026, 320, 325,
1363 326, 147, 326, 325, 325, 325, 325, 325, 325, 325,
1364 327, 325, 325, 325, 732, 325, 329, 325, 330, 325,
1365 745, 745, 745, 1654, 746, 1655, 1656, 747, 1612, 743,
1366 1669, 748, 748, 748, 751, 751, 751, 754, 754, 754,
1367 1613, 325, 325, 1671, 331, 1614, 1675, 332, 749, 1003,
1368 1646, 752, 766, 766, 766, 756, 767, 1615, 1647, 768,
1370 1676, 333, 325, 326, 147, 326, 325, 325, 325, 325,
1371 325, 325, 325, 327, 325, 325, 325, 685, 325, 329,
1372 325, 330, 325, 762, 762, 762, 1648, 1663, 762, 762,
1373 762, 609, 609, 609, 1649, 1677, 754, 754, 754, 1678,
1374 1679, 764, 1680, 1662, 325, 325, 764, 331, 610, 1003,
1375 332, 782, 782, 782, 756, 783, 1681, 1682, 784, 908,
1376 908, 908, 1683, 1684, 333, 339, 340, 147, 340, 339,
1377 339, 339, 339, 339, 339, 339, 341, 339, 339, 339,
1378 757, 339, 343, 339, 344, 339, 1685, 1664, 765, 1686,
1379 1687, 772, 772, 772, 777, 777, 777, 777, 777, 777,
1381 1692, 772, 772, 772, 620, 620, 620, 339, 339, 774,
1382 345, 1693, 779, 346, 1694, 779, 1697, 1698, 347, 774,
1383 1699, 621, 1053, 1053, 1053, 1700, 1701, 348, 339, 340,
1384 147, 340, 339, 339, 339, 339, 339, 339, 339, 341,
1385 339, 339, 339, 1702, 339, 343, 339, 344, 339, 775,
1386 789, 789, 789, 1703, 780, 1704, 789, 789, 789, 1705,
1387 628, 628, 628, 1706, 1707, 793, 793, 793, 791, 794,
1388 339, 339, 795, 345, 791, 1709, 346, 629, 803, 803,
1389 803, 347, 804, 1710, 1711, 805, 1014, 1014, 1014, 1712,
1390 348, 353, 354, 147, 354, 353, 353, 353, 353, 353,
1392 353, 353, 355, 353, 353, 353, 1713, 353, 357, 353,
1393 358, 353, 1714, 792, 797, 797, 797, 797, 797, 797,
1394 634, 634, 634, 636, 636, 636, 809, 809, 809, 1016,
1395 1016, 1016, 799, 353, 353, 799, 1721, 635, 1722, 1003,
1396 637, 685, 1723, 810, 359, 353, 354, 147, 354, 353,
1397 353, 353, 353, 353, 353, 353, 355, 353, 353, 353,
1398 1724, 353, 357, 353, 358, 353, 806, 806, 806, 1725,
1399 807, 1718, 1726, 808, 815, 815, 815, 800, 815, 815,
1400 815, 1729, 819, 819, 819, 1717, 820, 353, 353, 821,
1401 1730, 1731, 817, 1020, 1020, 1020, 817, 1732, 359, 363,
1403 364, 147, 364, 363, 363, 363, 363, 363, 363, 363,
1404 365, 363, 363, 363, 1733, 363, 367, 363, 368, 363,
1405 645, 645, 645, 1734, 1735, 822, 822, 822, 822, 822,
1406 822, 1736, 818, 650, 650, 650, 1741, 646, 833, 833,
1407 833, 363, 363, 824, 1742, 1743, 824, 1744, 1745, 369,
1408 651, 370, 1749, 371, 1750, 1751, 835, 1026, 1026, 1026,
1409 1752, 372, 363, 364, 147, 364, 363, 363, 363, 363,
1410 363, 363, 363, 365, 363, 363, 363, 1753, 363, 367,
1411 363, 368, 363, 1754, 1755, 825, 827, 827, 827, 1756,
1412 828, 1757, 1758, 829, 1759, 833, 833, 833, 838, 838,
1414 838, 840, 840, 840, 363, 363, 849, 849, 849, 1027,
1415 1027, 1027, 369, 835, 370, 839, 371, 1762, 841, 1053,
1416 1053, 1053, 1763, 850, 372, 378, 379, 147, 379, 378,
1417 378, 378, 378, 378, 378, 378, 380, 378, 378, 378,
1418 1764, 378, 382, 378, 383, 378, 1765, 836, 844, 844,
1419 844, 1766, 852, 852, 852, 844, 844, 844, 854, 854,
1420 854, 854, 854, 854, 1767, 1782, 846, 378, 378, 853,
1421 670, 670, 670, 846, 1783, 685, 856, 1784, 1785, 856,
1422 1789, 858, 858, 858, 1790, 859, 1791, 671, 860, 1792,
1423 384, 378, 379, 147, 379, 378, 378, 378, 378, 378,
1425 378, 378, 380, 378, 378, 378, 1774, 378, 382, 378,
1426 383, 378, 847, 861, 861, 861, 1793, 1794, 857, 861,
1427 861, 861, 869, 869, 869, 869, 869, 869, 875, 875,
1428 875, 863, 1796, 378, 378, 1797, 1798, 863, 1799, 1804,
1429 871, 1805, 1806, 871, 1807, 1808, 877, 875, 875, 875,
1430 699, 699, 699, 915, 915, 915, 384, 392, 699, 699,
1431 699, 1016, 1016, 1016, 408, 877, 1809, 1810, 701, 1811,
1432 916, 864, 1812, 391, 1813, 1017, 701, 699, 699, 699,
1433 1814, 729, 729, 729, 1815, 872, 729, 729, 729, 1816,
1434 1817, 729, 729, 729, 1832, 701, 1833, 685, 409, 731,
1436 410, 1834, 1835, 411, 731, 412, 413, 878, 414, 731,
1437 1836, 1837, 415, 1838, 416, 417, 418, 392, 918, 918,
1438 918, 888, 1839, 1840, 408, 734, 734, 734, 1841, 735,
1439 1844, 1845, 736, 391, 1846, 919, 1826, 917, 2035, 2035,
1440 2035, 1847, 2035, 2035, 2035, 1854, 740, 740, 740, 740,
1441 740, 740, 740, 740, 740, 2035, 1855, 1856, 409, 2035,
1442 419, 1857, 1858, 420, 742, 421, 413, 742, 422, 1859,
1443 742, 1860, 415, 1861, 423, 424, 425, 745, 745, 745,
1444 1862, 746, 1863, 1864, 747, 748, 748, 748, 1865, 1875,
1445 925, 925, 925, 1876, 926, 920, 923, 927, 928, 928,
1447 928, 1870, 749, 921, 751, 751, 751, 930, 930, 930,
1448 1877, 931, 1873, 685, 932, 929, 754, 754, 754, 1878,
1449 1879, 752, 754, 754, 754, 754, 754, 754, 937, 937,
1450 937, 762, 762, 762, 756, 762, 762, 762, 1880, 1881,
1451 756, 1882, 1870, 756, 1883, 938, 762, 762, 762, 764,
1452 766, 766, 766, 764, 767, 1868, 1871, 768, 772, 772,
1453 772, 772, 772, 772, 764, 772, 772, 772, 777, 777,
1454 777, 777, 777, 777, 1884, 1889, 774, 1885, 1890, 774,
1455 1891, 934, 1892, 774, 1893, 1894, 779, 1895, 1886, 779,
1456 940, 777, 777, 777, 782, 782, 782, 1887, 783, 1896,
1458 1901, 784, 789, 789, 789, 789, 789, 789, 1888, 779,
1459 789, 789, 789, 1901, 793, 793, 793, 1904, 794, 1905,
1460 791, 795, 1915, 791, 797, 797, 797, 944, 791, 797,
1461 797, 797, 797, 797, 797, 1916, 803, 803, 803, 1917,
1462 804, 1870, 799, 805, 809, 809, 809, 799, 1918, 685,
1463 799, 946, 806, 806, 806, 1871, 807, 1003, 1004, 808,
1464 1901, 810, 957, 957, 957, 1922, 958, 1901, 1923, 959,
1465 1924, 952, 815, 815, 815, 815, 815, 815, 815, 815,
1466 815, 819, 819, 819, 1870, 820, 1899, 1934, 821, 954,
1467 817, 1938, 1939, 817, 1940, 1873, 817, 822, 822, 822,
1469 822, 822, 822, 822, 822, 822, 827, 827, 827, 1941,
1470 828, 1945, 1946, 829, 1947, 824, 1948, 1949, 824, 1950,
1471 1954, 824, 833, 833, 833, 833, 833, 833, 833, 833,
1472 833, 838, 838, 838, 685, 972, 972, 972, 1955, 973,
1473 835, 964, 974, 835, 1956, 1957, 835, 1958, 839, 1962,
1474 840, 840, 840, 975, 975, 975, 1953, 976, 1963, 685,
1475 977, 844, 844, 844, 1964, 1965, 965, 841, 844, 844,
1476 844, 844, 844, 844, 849, 849, 849, 1961, 1966, 846,
1477 1972, 982, 982, 982, 970, 983, 846, 1973, 984, 846,
1478 1974, 850, 852, 852, 852, 986, 986, 986, 1975, 987,
1480 685, 1982, 988, 854, 854, 854, 854, 854, 854, 853,
1481 854, 854, 854, 858, 858, 858, 685, 859, 1983, 1969,
1482 860, 856, 1978, 1491, 856, 861, 861, 861, 856, 861,
1483 861, 861, 685, 685, 980, 861, 861, 861, 992, 992,
1484 992, 685, 2024, 863, 869, 869, 869, 863, 869, 869,
1485 869, 685, 685, 863, 1986, 993, 869, 869, 869, 875,
1486 875, 875, 871, 875, 875, 875, 871, 875, 875, 875,
1487 1002, 1002, 1002, 989, 871, 1996, 1997, 877, 699, 699,
1488 699, 877, 915, 915, 915, 877, 2000, 685, 1003, 1004,
1489 685, 990, 1027, 1027, 1027, 1485, 701, 2032, 685, 916,
1491 1036, 1036, 1036, 1484, 1037, 685, 1017, 1038, 729, 729,
1492 729, 685, 685, 996, 918, 918, 918, 999, 1040, 1040,
1493 1040, 2001, 1041, 685, 2020, 1042, 731, 740, 740, 740,
1494 685, 919, 925, 925, 925, 2004, 926, 2010, 685, 927,
1495 1010, 928, 928, 928, 1483, 742, 1048, 1048, 1048, 2005,
1496 1049, 685, 1482, 1050, 754, 754, 754, 1481, 929, 930,
1497 930, 930, 1039, 931, 2021, 2018, 932, 937, 937, 937,
1498 2011, 685, 756, 1046, 1055, 1055, 1055, 1480, 1056, 685,
1499 2022, 1057, 685, 1479, 938, 1058, 1058, 1058, 762, 762,
1500 762, 1064, 1064, 1064, 777, 777, 777, 1071, 1071, 1071,
1502 685, 1052, 1059, 1073, 1073, 1073, 764, 2032, 2023, 1065,
1503 2025, 2026, 779, 2019, 1072, 789, 789, 789, 685, 685,
1504 1074, 1077, 1077, 1077, 685, 797, 797, 797, 1080, 1080,
1505 1080, 685, 1478, 791, 1060, 2035, 2035, 2035, 1078, 1083,
1506 1083, 1083, 1067, 799, 2028, 1081, 1075, 957, 957, 957,
1507 685, 958, 2035, 2027, 959, 685, 1084, 2035, 2035, 2035,
1508 1474, 2035, 2035, 2035, 2035, 2035, 2035, 815, 815, 815,
1509 822, 822, 822, 1473, 2035, 2029, 1472, 1076, 2035, 2030,
1510 1471, 2035, 1470, 1079, 2031, 817, 1469, 1468, 824, 1467,
1511 1093, 1093, 1093, 833, 833, 833, 1466, 1082, 1465, 972,
1513 972, 972, 1464, 973, 1458, 1086, 974, 1094, 975, 975,
1514 975, 835, 976, 1455, 1454, 977, 1453, 1027, 1027, 1027,
1515 844, 844, 844, 1085, 992, 992, 992, 1452, 1088, 1440,
1516 1087, 1099, 1089, 1095, 1438, 982, 982, 982, 846, 983,
1517 1437, 993, 984, 986, 986, 986, 1096, 987, 1427, 1421,
1518 988, 854, 854, 854, 861, 861, 861, 1106, 1106, 1106,
1519 1416, 1107, 1415, 1411, 1108, 869, 869, 869, 1404, 856,
1520 1399, 1398, 863, 1113, 1113, 1113, 875, 875, 875, 1002,
1521 1002, 1002, 1100, 871, 699, 699, 699, 1133, 1133, 1133,
1522 1114, 1136, 1136, 1136, 877, 1397, 1391, 1003, 1133, 1133,
1524 1133, 1134, 701, 1390, 1389, 1137, 1388, 1104, 1142, 1142,
1525 1142, 1111, 1134, 1103, 1144, 1144, 1144, 1144, 1144, 1144,
1526 1387, 1386, 1137, 1142, 1142, 1142, 1385, 1117, 1145, 1384,
1527 1383, 1145, 1382, 1124, 1036, 1036, 1036, 1147, 1037, 1115,
1528 1376, 1038, 1375, 1118, 729, 729, 729, 1135, 1040, 1040,
1529 1040, 1374, 1041, 1371, 1369, 1042, 1367, 1363, 1141, 1058,
1530 1058, 1058, 731, 740, 740, 740, 1048, 1048, 1048, 1362,
1531 1049, 1360, 1359, 1050, 1135, 1355, 1059, 1141, 754, 754,
1532 754, 742, 1055, 1055, 1055, 1348, 1056, 1343, 1341, 1057,
1533 1165, 1165, 1165, 1340, 1166, 1339, 756, 1167, 762, 762,
1535 762, 1169, 1169, 1169, 2035, 2035, 2035, 1148, 1172, 1172,
1536 1172, 1152, 1064, 1064, 1064, 1330, 764, 1325, 1170, 1324,
1537 1323, 2035, 1174, 1174, 1174, 1173, 777, 777, 777, 1322,
1538 1065, 1071, 1071, 1071, 1318, 1155, 1180, 1180, 1180, 1175,
1539 1181, 1304, 1303, 1182, 779, 1302, 1168, 1301, 1072, 1073,
1540 1073, 1073, 1183, 1183, 1183, 1300, 1184, 1299, 1171, 1185,
1541 1187, 1187, 1187, 1077, 1077, 1077, 1074, 1189, 1189, 1189,
1542 1176, 1190, 1285, 1282, 1191, 1192, 1192, 1192, 1188, 1281,
1543 1078, 1080, 1080, 1080, 1194, 1194, 1194, 1280, 1195, 1277,
1544 1276, 1196, 1272, 1193, 1197, 1197, 1197, 1271, 1081, 1083,
1546 1083, 1083, 1199, 1199, 1199, 1268, 1200, 1267, 1266, 1201,
1547 1264, 1198, 1202, 1202, 1202, 1263, 1084, 2035, 2035, 2035,
1548 1205, 1205, 1205, 815, 815, 815, 822, 822, 822, 1203,
1549 1093, 1093, 1093, 1262, 2035, 1261, 1258, 1206, 1212, 1212,
1550 1212, 817, 1213, 1257, 824, 1214, 1256, 1094, 1216, 1216,
1551 1216, 1218, 1218, 1218, 1254, 2035, 2035, 2035, 844, 844,
1552 844, 1223, 1223, 1223, 1252, 1251, 1217, 1250, 1219, 1249,
1553 1248, 1204, 2035, 1247, 1208, 1246, 846, 1240, 1224, 2035,
1554 2035, 2035, 854, 854, 854, 1207, 1232, 861, 861, 861,
1555 1106, 1106, 1106, 1230, 1107, 1229, 2035, 1108, 1228, 1221,
1557 856, 1227, 869, 869, 869, 863, 1222, 1113, 1113, 1113,
1558 1233, 1233, 1233, 1215, 1234, 1220, 1211, 1235, 1210, 1209,
1559 871, 1186, 1225, 1179, 1114, 875, 875, 875, 1178, 1177,
1560 1226, 1241, 1241, 1241, 2035, 2035, 2035, 2035, 2035, 2035,
1561 699, 699, 699, 877, 1253, 1253, 1253, 1156, 1242, 1154,
1562 1231, 2035, 1153, 1151, 2035, 1133, 1133, 1133, 701, 1255,
1563 1255, 1255, 1136, 1136, 1136, 1259, 1259, 1259, 1260, 1260,
1564 1260, 1142, 1142, 1142, 1144, 1144, 1144, 729, 729, 729,
1565 1236, 1269, 1269, 1269, 1150, 1149, 1243, 754, 754, 754,
1566 1274, 1274, 1274, 1146, 1244, 731, 1143, 1245, 1140, 1270,
1568 1139, 1138, 1165, 1165, 1165, 756, 1166, 1275, 1132, 1167,
1569 1131, 762, 762, 762, 1169, 1169, 1169, 1130, 1129, 1287,
1570 1287, 1287, 1128, 1288, 1265, 1286, 1289, 1127, 1126, 764,
1571 1125, 1170, 1290, 1290, 1290, 1172, 1172, 1172, 1121, 1292,
1572 1292, 1292, 1273, 1293, 1120, 1119, 1294, 1003, 1112, 1291,
1573 1110, 1109, 1173, 1174, 1174, 1174, 1295, 1295, 1295, 1105,
1574 1296, 1102, 1101, 1297, 777, 777, 777, 1180, 1180, 1180,
1575 1175, 1181, 1098, 1097, 1182, 1092, 1183, 1183, 1183, 1091,
1576 1184, 1090, 779, 1185, 1187, 1187, 1187, 1189, 1189, 1189,
1577 1070, 1190, 1069, 1068, 1191, 1192, 1192, 1192, 1066, 1194,
1579 1194, 1194, 1188, 1195, 1063, 1062, 1196, 1197, 1197, 1197,
1580 1298, 1061, 1054, 1193, 1305, 1305, 1305, 1051, 1306, 1047,
1581 1045, 1307, 1044, 1043, 1198, 1199, 1199, 1199, 1035, 1200,
1582 1034, 1033, 1201, 1202, 1202, 1202, 1308, 1308, 1308, 1032,
1583 1309, 1031, 1030, 1310, 1311, 1311, 1311, 1205, 1205, 1205,
1584 1203, 1313, 1313, 1313, 1029, 1314, 1028, 1025, 1315, 1024,
1585 1023, 1312, 1022, 1021, 1206, 815, 815, 815, 822, 822,
1586 822, 1319, 1319, 1319, 1212, 1212, 1212, 1019, 1213, 1018,
1587 1015, 1214, 1013, 817, 1012, 1011, 824, 1009, 1320, 1216,
1588 1216, 1216, 1218, 1218, 1218, 1326, 1326, 1326, 1008, 1327,
1590 1007, 1006, 1328, 2035, 2035, 2035, 1005, 1217, 998, 1219,
1591 1223, 1223, 1223, 1316, 1321, 844, 844, 844, 997, 995,
1592 2035, 2035, 2035, 2035, 1336, 1336, 1336, 1224, 1317, 1331,
1593 1332, 1332, 1332, 846, 1333, 994, 991, 1334, 2035, 861,
1594 861, 861, 1337, 869, 869, 869, 1233, 1233, 1233, 985,
1595 1234, 981, 979, 1235, 978, 1329, 971, 863, 875, 875,
1596 875, 871, 1241, 1241, 1241, 1349, 1349, 1349, 969, 1350,
1597 968, 967, 1351, 2035, 2035, 2035, 877, 966, 1335, 1242,
1598 2035, 2035, 2035, 963, 962, 1338, 961, 699, 699, 699,
1599 2035, 1356, 1356, 1356, 1357, 1357, 1357, 2035, 1358, 1358,
1601 1358, 1361, 1361, 1361, 1342, 701, 1344, 1253, 1253, 1253,
1602 1255, 1255, 1255, 1364, 1364, 1364, 1365, 1365, 1365, 1259,
1603 1259, 1259, 1260, 1260, 1260, 1366, 1366, 1366, 960, 1352,
1604 1368, 1368, 1368, 729, 729, 729, 1372, 1372, 1372, 1269,
1605 1269, 1269, 956, 1353, 1377, 1377, 1377, 1354, 1274, 1274,
1606 1274, 731, 955, 1373, 1379, 1379, 1379, 1270, 1380, 953,
1607 951, 1381, 1378, 950, 949, 1275, 762, 762, 762, 1287,
1608 1287, 1287, 948, 1288, 947, 945, 1289, 1290, 1290, 1290,
1609 943, 1370, 942, 941, 764, 1393, 1393, 1393, 939, 1394,
1610 936, 933, 1395, 924, 1291, 1292, 1292, 1292, 922, 1293,
1612 914, 913, 1294, 1295, 1295, 1295, 912, 1296, 911, 909,
1613 1297, 907, 1392, 777, 777, 777, 1305, 1305, 1305, 906,
1614 1306, 905, 904, 1307, 903, 1308, 1308, 1308, 902, 1309,
1615 901, 779, 1310, 1311, 1311, 1311, 1405, 1405, 1405, 899,
1616 1406, 898, 895, 1407, 1313, 1313, 1313, 894, 1314, 893,
1617 1312, 1315, 815, 815, 815, 1409, 1409, 1409, 1319, 1319,
1618 1319, 1412, 1412, 1412, 1396, 1413, 892, 891, 1414, 890,
1619 817, 889, 887, 1410, 886, 1320, 1326, 1326, 1326, 885,
1620 1327, 884, 883, 1328, 2035, 2035, 2035, 844, 844, 844,
1621 1332, 1332, 1332, 882, 1333, 881, 880, 1334, 2035, 2035,
1623 2035, 2035, 1336, 1336, 1336, 846, 861, 861, 861, 1435,
1624 1435, 1435, 1408, 685, 874, 2035, 869, 869, 869, 873,
1625 1337, 1442, 1442, 1442, 863, 868, 1436, 875, 875, 875,
1626 1426, 1445, 1445, 1445, 871, 867, 1349, 1349, 1349, 685,
1627 1350, 866, 1428, 1351, 865, 877, 2035, 2035, 2035, 2035,
1628 2035, 2035, 851, 848, 1433, 699, 699, 699, 1449, 1449,
1629 1449, 843, 842, 2035, 837, 832, 2035, 831, 1434, 1356,
1630 1356, 1356, 830, 701, 1357, 1357, 1357, 1439, 1358, 1358,
1631 1358, 826, 814, 1441, 1450, 1450, 1450, 1451, 1451, 1451,
1632 1361, 1361, 1361, 1364, 1364, 1364, 1365, 1365, 1365, 1446,
1634 1366, 1366, 1366, 1368, 1368, 1368, 1456, 1456, 1456, 813,
1635 1448, 1447, 1372, 1372, 1372, 1459, 1459, 1459, 812, 1460,
1636 811, 796, 1461, 788, 1457, 1462, 1462, 1462, 787, 1373,
1637 1377, 1377, 1377, 1379, 1379, 1379, 786, 1380, 785, 781,
1638 1381, 776, 1463, 762, 762, 762, 771, 770, 1378, 1393,
1639 1393, 1393, 769, 1394, 761, 760, 1395, 1476, 1476, 1476,
1640 759, 764, 1405, 1405, 1405, 758, 1406, 753, 750, 1407,
1641 1486, 1486, 1486, 744, 739, 1477, 1409, 1409, 1409, 1488,
1642 1488, 1488, 1412, 1412, 1412, 738, 1413, 737, 1487, 1414,
1643 1504, 1504, 1504, 733, 1410, 728, 1489, 1506, 1506, 1506,
1645 1475, 844, 844, 844, 2035, 2035, 2035, 1505, 727, 861,
1646 861, 861, 1435, 1435, 1435, 726, 1516, 1516, 1516, 846,
1647 1517, 2035, 1490, 1518, 1519, 1519, 1519, 863, 725, 1436,
1648 1522, 1522, 1522, 1524, 1524, 1524, 875, 875, 875, 724,
1649 723, 1520, 1442, 1442, 1442, 722, 721, 1514, 1523, 1445,
1650 1445, 1445, 720, 719, 877, 1529, 1529, 1529, 718, 717,
1651 685, 2035, 2035, 2035, 1507, 1515, 1532, 1532, 1532, 1449,
1652 1449, 1449, 1530, 1450, 1450, 1450, 716, 715, 2035, 1451,
1653 1451, 1451, 714, 713, 1533, 1456, 1456, 1456, 1459, 1459,
1654 1459, 712, 1460, 711, 710, 1461, 709, 708, 1525, 707,
1656 1526, 706, 705, 1457, 1462, 1462, 1462, 704, 703, 1531,
1657 1539, 1539, 1539, 698, 1540, 697, 696, 1541, 762, 762,
1658 762, 1463, 1476, 1476, 1476, 1559, 1559, 1559, 1486, 1486,
1659 1486, 1488, 1488, 1488, 695, 694, 764, 1561, 1561, 1561,
1660 1477, 1562, 1560, 693, 1563, 692, 1487, 691, 1489, 1569,
1661 1569, 1569, 1504, 1504, 1504, 1577, 1577, 1577, 688, 1578,
1662 686, 685, 1579, 1506, 1506, 1506, 1570, 683, 681, 1505,
1663 844, 844, 844, 680, 1553, 2035, 2035, 2035, 1589, 1589,
1664 1589, 679, 1516, 1516, 1516, 677, 1517, 676, 846, 1518,
1665 675, 674, 2035, 1519, 1519, 1519, 1590, 1591, 1591, 1591,
1667 673, 1592, 669, 667, 1593, 666, 1594, 1594, 1594, 665,
1668 1520, 1522, 1522, 1522, 1524, 1524, 1524, 1596, 1596, 1596,
1669 664, 663, 1587, 1595, 1580, 1529, 1529, 1529, 661, 1523,
1670 1601, 1601, 1601, 660, 1602, 1597, 1588, 1603, 1604, 1604,
1671 1604, 659, 1530, 1532, 1532, 1532, 1610, 1610, 1610, 1539,
1672 1539, 1539, 658, 1540, 657, 1605, 1541, 762, 762, 762,
1673 656, 1533, 654, 1611, 1559, 1559, 1559, 1631, 1631, 1631,
1674 653, 1632, 652, 649, 1633, 764, 1561, 1561, 1561, 648,
1675 1562, 1560, 644, 1563, 1569, 1569, 1569, 1637, 1637, 1637,
1676 642, 1638, 641, 640, 1639, 1577, 1577, 1577, 639, 1578,
1678 638, 1570, 1579, 844, 844, 844, 2035, 2035, 2035, 2035,
1679 2035, 2035, 633, 1627, 1589, 1589, 1589, 632, 1591, 1591,
1680 1591, 846, 1592, 2035, 630, 1593, 2035, 1594, 1594, 1594,
1681 627, 625, 1590, 1659, 1659, 1659, 624, 1660, 623, 622,
1682 1661, 1596, 1596, 1596, 1595, 1601, 1601, 1601, 619, 1602,
1683 618, 616, 1603, 1604, 1604, 1604, 1665, 1665, 1665, 1597,
1684 1666, 615, 613, 1667, 612, 1650, 611, 1657, 608, 1658,
1685 1605, 1668, 1668, 1668, 1670, 1670, 1670, 1610, 1610, 1610,
1686 1672, 1672, 1672, 606, 1673, 605, 604, 1674, 762, 762,
1687 762, 1689, 1689, 1689, 1611, 1631, 1631, 1631, 602, 1632,
1689 600, 599, 1633, 1695, 1695, 1695, 764, 598, 1690, 1637,
1690 1637, 1637, 597, 1638, 594, 593, 1639, 844, 844, 844,
1691 1696, 2035, 2035, 2035, 2035, 2035, 2035, 1668, 1668, 1668,
1692 1719, 1719, 1719, 592, 1691, 846, 1688, 589, 2035, 588,
1693 585, 2035, 1659, 1659, 1659, 584, 1660, 1720, 1003, 1661,
1694 1665, 1665, 1665, 582, 1666, 581, 579, 1667, 1670, 1670,
1695 1670, 1672, 1672, 1672, 576, 1673, 575, 572, 1674, 1708,
1696 1716, 1727, 1727, 1727, 762, 762, 762, 1689, 1689, 1689,
1697 1738, 1738, 1738, 1715, 1739, 571, 570, 1740, 1728, 1695,
1698 1695, 1695, 764, 569, 1690, 1746, 1746, 1746, 568, 1747,
1700 567, 562, 1748, 1760, 1760, 1760, 1696, 1768, 1768, 1768,
1701 1771, 1771, 1771, 1775, 1775, 1775, 1719, 1719, 1719, 561,
1702 1737, 1761, 560, 559, 1769, 558, 557, 1772, 556, 554,
1703 1776, 1003, 553, 1720, 1003, 552, 1777, 1777, 1777, 551,
1704 1778, 550, 549, 1779, 1780, 1780, 1780, 1781, 1781, 1781,
1705 1770, 548, 543, 1773, 1003, 1727, 1727, 1727, 1786, 1786,
1706 1786, 540, 1787, 542, 537, 1788, 762, 762, 762, 1738,
1707 1738, 1738, 1728, 1739, 535, 533, 1740, 1800, 1800, 1800,
1708 2035, 1746, 1746, 1746, 764, 1747, 532, 531, 1748, 1802,
1709 1802, 1802, 530, 529, 1801, 1760, 1760, 1760, 1768, 1768,
1711 1768, 1818, 1818, 1818, 527, 1819, 1803, 525, 1820, 2035,
1712 2035, 2035, 523, 1761, 522, 1769, 1771, 1771, 1771, 521,
1713 1822, 1822, 1822, 520, 1823, 519, 2035, 1824, 1795, 2035,
1714 2035, 2035, 518, 1772, 1775, 1775, 1775, 1827, 1827, 1827,
1715 516, 1828, 515, 511, 1829, 510, 2035, 1780, 1780, 1780,
1716 508, 1776, 1003, 507, 504, 1003, 503, 1777, 1777, 1777,
1717 502, 1778, 500, 498, 1779, 1781, 1781, 1781, 496, 1786,
1718 1786, 1786, 494, 1787, 1821, 1003, 1788, 1848, 1848, 1848,
1719 493, 1849, 490, 489, 1850, 485, 1842, 1842, 1842, 483,
1720 1800, 1800, 1800, 482, 1825, 1001, 1001, 1001, 1001, 1001,
1722 1001, 1001, 1001, 1001, 1843, 480, 1001, 1801, 1802, 1802,
1723 1802, 1001, 1001, 1001, 1003, 1001, 1851, 1851, 1851, 479,
1724 1852, 478, 477, 1853, 476, 1803, 1818, 1818, 1818, 473,
1725 1819, 471, 470, 1820, 2035, 2035, 2035, 1001, 1001, 1001,
1726 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 421, 469,
1727 1001, 2035, 2035, 2035, 2035, 1001, 1001, 1001, 1003, 1001,
1728 1822, 1822, 1822, 467, 1823, 465, 464, 1824, 463, 2035,
1729 1827, 1827, 1827, 462, 1828, 460, 458, 1829, 1842, 1842,
1730 1842, 1001, 1001, 1848, 1848, 1848, 1866, 1849, 1003, 457,
1731 1850, 1851, 1851, 1851, 456, 1852, 1843, 454, 1853, 452,
1733 2035, 2035, 2035, 451, 1867, 1001, 1001, 1001, 1001, 1001,
1734 1874, 1001, 1001, 1001, 447, 446, 1001, 2035, 2035, 2035,
1735 2035, 1001, 1001, 1001, 1003, 1001, 1903, 1903, 1903, 1906,
1736 1906, 1906, 1925, 1925, 1925, 2035, 1926, 444, 443, 1927,
1737 440, 1908, 1908, 1908, 1003, 1004, 1907, 1001, 1001, 1001,
1738 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1874, 1909, 439,
1739 1001, 438, 1897, 437, 435, 1001, 1001, 1001, 1003, 1001,
1740 1910, 1910, 1910, 1913, 1913, 1913, 2035, 2035, 2035, 433,
1741 1898, 2035, 2035, 2035, 1921, 1921, 1921, 1911, 431, 2035,
1742 1914, 1001, 1001, 2035, 1903, 1903, 1903, 407, 2035, 1906,
1744 1906, 1906, 685, 1908, 1908, 1908, 406, 1928, 1928, 1928,
1745 404, 1929, 1003, 1912, 1930, 402, 1907, 1910, 1910, 1910,
1746 1909, 1931, 1931, 1931, 396, 1932, 395, 1919, 1933, 1913,
1747 1913, 1913, 1920, 396, 1911, 395, 1935, 1935, 1935, 394,
1748 1936, 393, 1117, 1937, 2035, 2035, 1914, 2035, 2035, 2035,
1749 2035, 2035, 2035, 1921, 1921, 1921, 1925, 1925, 1925, 2035,
1750 1926, 2035, 2035, 1927, 2035, 2035, 2035, 2035, 1928, 1928,
1751 1928, 685, 1929, 2035, 2035, 1930, 1931, 1931, 1931, 2035,
1752 1932, 2035, 2035, 1933, 1935, 1935, 1935, 2035, 1936, 1944,
1753 1942, 1937, 2035, 1943, 2035, 2035, 2035, 2035, 2035, 2035,
1755 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1756 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1757 2035, 2035, 2035, 2035, 2035, 2035, 2035, 1970, 1970, 1970,
1758 2035, 2035, 2035, 2035, 2035, 2035, 1970, 1970, 1970, 2035,
1759 2035, 2035, 2035, 2035, 1971, 2035, 2035, 2035, 2035, 2035,
1760 2035, 1951, 2035, 1971, 1952, 2035, 2035, 1967, 2035, 1979,
1761 1979, 1979, 1959, 1980, 2035, 1960, 1981, 2035, 2035, 2035,
1762 2035, 2035, 2035, 2035, 2035, 1968, 2035, 2035, 1976, 2035,
1763 2035, 1977, 2035, 2035, 2035, 2035, 2035, 2035, 1979, 1979,
1764 1979, 2035, 1980, 2035, 2035, 1981, 2035, 2035, 2035, 2035,
1766 2035, 2035, 1989, 1989, 1989, 2035, 2035, 2035, 2035, 2035,
1767 2035, 2035, 2035, 2035, 2035, 2035, 2035, 1989, 1989, 1989,
1768 685, 1992, 2035, 2035, 1993, 2035, 2035, 1984, 2035, 2035,
1769 1985, 2035, 2035, 2035, 2035, 685, 2035, 2035, 2035, 1987,
1770 2035, 2035, 1988, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1771 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1772 2035, 2006, 2006, 2006, 2035, 2035, 1990, 2035, 1991, 2035,
1773 2035, 2035, 2035, 2035, 2035, 2008, 2008, 2008, 2007, 1994,
1774 2006, 2006, 2006, 2035, 1995, 2035, 2012, 2012, 2012, 2035,
1775 2013, 2035, 2009, 2014, 2035, 2035, 1999, 2007, 2035, 1998,
1777 2035, 2002, 2008, 2008, 2008, 2015, 2015, 2015, 2035, 2016,
1778 2035, 2035, 2017, 2012, 2012, 2012, 2035, 2013, 2035, 2009,
1779 2014, 2003, 2015, 2015, 2015, 2035, 2016, 2035, 2035, 2017,
1780 2033, 2033, 2033, 2033, 2033, 2033, 2035, 2035, 2035, 2035,
1781 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2034, 2035,
1782 2035, 2034, 144, 144, 144, 144, 144, 144, 144, 144,
1783 144, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1784 150, 150, 150, 150, 150, 150, 150, 150, 150, 153,
1785 153, 153, 153, 153, 153, 153, 153, 153, 156, 156,
1786 156, 156, 156, 156, 156, 156, 156, 159, 159, 159,
1788 159, 159, 159, 159, 159, 159, 166, 166, 166, 166,
1789 166, 166, 166, 166, 166, 174, 174, 174, 174, 174,
1790 174, 174, 174, 174, 179, 179, 179, 179, 179, 179,
1791 179, 179, 179, 189, 189, 189, 189, 189, 189, 189,
1792 189, 189, 193, 193, 193, 193, 193, 193, 193, 193,
1793 193, 199, 199, 199, 199, 199, 199, 199, 199, 199,
1794 211, 211, 211, 211, 211, 211, 211, 211, 211, 218,
1795 218, 218, 218, 218, 218, 218, 218, 218, 226, 226,
1796 226, 226, 226, 226, 226, 226, 226, 232, 232, 232,
1797 232, 232, 232, 232, 232, 232, 238, 238, 238, 238,
1799 238, 238, 238, 238, 238, 245, 245, 245, 245, 245,
1800 245, 245, 245, 245, 251, 251, 251, 251, 251, 251,
1801 251, 251, 251, 257, 257, 257, 257, 257, 257, 257,
1802 257, 257, 263, 263, 263, 263, 263, 263, 263, 263,
1803 263, 271, 271, 271, 271, 271, 271, 271, 271, 271,
1804 278, 278, 278, 278, 278, 278, 278, 278, 278, 283,
1805 283, 283, 283, 283, 283, 283, 283, 283, 298, 298,
1806 298, 298, 298, 298, 298, 298, 298, 304, 304, 304,
1807 304, 304, 304, 304, 304, 304, 308, 308, 308, 308,
1808 308, 308, 308, 308, 308, 314, 314, 314, 314, 314,
1810 314, 314, 314, 314, 321, 321, 321, 321, 321, 321,
1811 321, 321, 321, 328, 328, 328, 328, 328, 328, 328,
1812 328, 328, 335, 335, 335, 335, 335, 335, 335, 335,
1813 335, 342, 342, 342, 342, 342, 342, 342, 342, 342,
1814 349, 349, 349, 349, 349, 349, 349, 349, 349, 356,
1815 356, 356, 356, 356, 356, 356, 356, 356, 360, 360,
1816 360, 360, 360, 360, 360, 360, 360, 366, 366, 366,
1817 366, 366, 366, 366, 366, 366, 373, 373, 373, 373,
1818 373, 373, 373, 373, 373, 381, 381, 381, 381, 381,
1819 381, 381, 381, 381, 385, 385, 385, 385, 385, 385,
1821 385, 385, 385, 405, 405, 405, 2035, 2035, 2035, 405,
1822 432, 432, 432, 2035, 2035, 2035, 432, 436, 436, 436,
1823 2035, 2035, 2035, 436, 445, 445, 445, 2035, 2035, 2035,
1824 445, 455, 455, 455, 2035, 2035, 2035, 455, 461, 461,
1825 461, 2035, 2035, 2035, 461, 468, 468, 468, 2035, 2035,
1826 2035, 468, 472, 472, 472, 2035, 2035, 2035, 472, 481,
1827 481, 481, 2035, 2035, 2035, 481, 486, 486, 486, 2035,
1828 2035, 2035, 486, 497, 497, 497, 2035, 2035, 2035, 497,
1829 501, 501, 501, 2035, 2035, 2035, 501, 509, 509, 509,
1830 2035, 2035, 2035, 509, 517, 517, 517, 2035, 2035, 2035,
1832 517, 524, 524, 524, 2035, 2035, 2035, 524, 528, 528,
1833 528, 2035, 2035, 2035, 528, 536, 536, 536, 2035, 2035,
1834 2035, 536, 539, 539, 539, 539, 539, 539, 539, 2035,
1835 539, 555, 2035, 2035, 2035, 555, 583, 2035, 2035, 2035,
1836 583, 591, 2035, 2035, 2035, 591, 601, 2035, 2035, 2035,
1837 601, 607, 2035, 2035, 2035, 607, 614, 2035, 2035, 2035,
1838 614, 617, 2035, 2035, 2035, 617, 626, 2035, 2035, 2035,
1839 626, 631, 2035, 2035, 2035, 631, 486, 486, 486, 2035,
1840 2035, 2035, 486, 643, 2035, 2035, 2035, 643, 497, 497,
1841 497, 2035, 2035, 2035, 497, 647, 2035, 2035, 2035, 647,
1843 501, 501, 501, 2035, 2035, 2035, 501, 655, 2035, 2035,
1844 2035, 655, 509, 509, 509, 2035, 2035, 2035, 509, 662,
1845 2035, 2035, 2035, 662, 517, 517, 517, 2035, 2035, 2035,
1846 517, 668, 2035, 2035, 2035, 668, 524, 524, 524, 2035,
1847 2035, 2035, 524, 672, 2035, 2035, 2035, 672, 528, 528,
1848 528, 2035, 2035, 2035, 528, 678, 2035, 2035, 2035, 678,
1849 536, 536, 536, 2035, 2035, 2035, 536, 682, 2035, 2035,
1850 2035, 682, 684, 684, 684, 684, 684, 684, 684, 684,
1851 684, 690, 2035, 2035, 2035, 2035, 690, 405, 405, 405,
1852 2035, 2035, 2035, 405, 700, 700, 700, 700, 2035, 2035,
1854 700, 700, 432, 432, 432, 2035, 2035, 2035, 432, 730,
1855 730, 730, 730, 2035, 2035, 730, 730, 436, 436, 436,
1856 2035, 2035, 2035, 436, 741, 741, 741, 741, 2035, 2035,
1857 741, 741, 445, 445, 445, 2035, 2035, 2035, 445, 755,
1858 755, 755, 755, 2035, 2035, 755, 755, 455, 455, 455,
1859 2035, 2035, 2035, 455, 763, 763, 763, 763, 2035, 2035,
1860 763, 763, 461, 461, 461, 2035, 2035, 2035, 461, 773,
1861 773, 773, 773, 2035, 2035, 773, 773, 468, 468, 468,
1862 2035, 2035, 2035, 468, 778, 778, 778, 778, 2035, 2035,
1863 778, 778, 472, 472, 472, 2035, 2035, 2035, 472, 790,
1865 790, 790, 790, 2035, 2035, 790, 790, 481, 481, 481,
1866 2035, 2035, 2035, 481, 798, 798, 798, 798, 2035, 2035,
1867 798, 798, 486, 486, 486, 2035, 2035, 2035, 486, 816,
1868 816, 816, 816, 2035, 2035, 816, 816, 823, 823, 823,
1869 823, 2035, 2035, 823, 823, 501, 501, 501, 2035, 2035,
1870 2035, 501, 834, 834, 834, 834, 2035, 2035, 834, 834,
1871 509, 509, 509, 2035, 2035, 2035, 509, 845, 845, 845,
1872 845, 2035, 2035, 845, 845, 517, 517, 517, 2035, 2035,
1873 2035, 517, 855, 855, 855, 855, 2035, 2035, 855, 855,
1874 862, 862, 862, 862, 2035, 2035, 862, 862, 528, 528,
1876 528, 2035, 2035, 2035, 528, 870, 870, 870, 870, 2035,
1877 2035, 870, 870, 536, 536, 536, 2035, 2035, 2035, 536,
1878 876, 876, 876, 876, 2035, 2035, 876, 876, 684, 684,
1879 684, 684, 684, 684, 684, 684, 684, 690, 2035, 690,
1880 2035, 2035, 690, 405, 405, 405, 2035, 2035, 2035, 405,
1881 700, 700, 700, 700, 2035, 2035, 700, 700, 432, 432,
1882 432, 432, 2035, 432, 2035, 432, 730, 730, 730, 730,
1883 2035, 2035, 730, 730, 436, 436, 436, 436, 2035, 436,
1884 2035, 436, 741, 741, 741, 741, 2035, 2035, 741, 741,
1885 445, 445, 445, 2035, 2035, 2035, 445, 755, 755, 755,
1887 755, 2035, 2035, 755, 755, 455, 455, 455, 2035, 2035,
1888 2035, 455, 763, 763, 763, 763, 2035, 2035, 763, 763,
1889 461, 461, 461, 2035, 2035, 2035, 461, 773, 773, 773,
1890 773, 2035, 2035, 773, 773, 468, 468, 468, 2035, 2035,
1891 2035, 468, 778, 778, 778, 778, 2035, 2035, 778, 778,
1892 472, 472, 472, 2035, 2035, 2035, 472, 790, 790, 790,
1893 790, 2035, 2035, 790, 790, 481, 481, 481, 2035, 2035,
1894 2035, 481, 798, 798, 798, 798, 2035, 2035, 798, 798,
1895 486, 486, 486, 2035, 2035, 2035, 486, 816, 816, 816,
1896 816, 2035, 2035, 816, 816, 823, 823, 823, 823, 2035,
1898 2035, 823, 823, 501, 501, 501, 2035, 2035, 2035, 501,
1899 834, 834, 834, 834, 2035, 2035, 834, 834, 509, 509,
1900 509, 2035, 2035, 2035, 509, 845, 845, 845, 845, 2035,
1901 2035, 845, 845, 517, 517, 517, 2035, 2035, 2035, 517,
1902 855, 855, 855, 855, 2035, 2035, 855, 855, 862, 862,
1903 862, 862, 2035, 2035, 862, 862, 528, 528, 528, 2035,
1904 2035, 2035, 528, 870, 870, 870, 870, 2035, 2035, 870,
1905 870, 536, 536, 536, 2035, 2035, 2035, 536, 876, 876,
1906 876, 876, 2035, 2035, 876, 876, 684, 684, 684, 684,
1907 684, 684, 684, 684, 684, 1001, 1001, 1001, 1001, 1001,
1909 1001, 1001, 1001, 1001, 405, 405, 405, 2035, 2035, 2035,
1910 405, 700, 700, 700, 700, 2035, 2035, 700, 700, 730,
1911 730, 730, 730, 2035, 2035, 730, 730, 436, 436, 436,
1912 2035, 2035, 2035, 436, 741, 741, 741, 741, 2035, 2035,
1913 741, 741, 445, 445, 445, 2035, 2035, 2035, 445, 755,
1914 755, 755, 755, 2035, 2035, 755, 755, 455, 455, 455,
1915 2035, 2035, 2035, 455, 763, 763, 763, 763, 2035, 2035,
1916 763, 763, 461, 461, 461, 2035, 2035, 2035, 461, 773,
1917 773, 773, 773, 2035, 2035, 773, 773, 468, 468, 468,
1918 2035, 2035, 2035, 468, 778, 778, 778, 778, 2035, 2035,
1920 778, 778, 472, 472, 472, 2035, 2035, 2035, 472, 790,
1921 790, 790, 790, 2035, 2035, 790, 790, 481, 481, 481,
1922 481, 2035, 481, 2035, 481, 798, 798, 798, 798, 2035,
1923 2035, 798, 798, 486, 486, 486, 486, 2035, 486, 2035,
1924 486, 816, 816, 816, 816, 2035, 2035, 816, 816, 823,
1925 823, 823, 823, 2035, 2035, 823, 823, 501, 501, 501,
1926 2035, 2035, 2035, 501, 834, 834, 834, 834, 2035, 2035,
1927 834, 834, 509, 509, 509, 2035, 2035, 2035, 509, 845,
1928 845, 845, 845, 2035, 2035, 845, 845, 517, 517, 517,
1929 2035, 2035, 2035, 517, 855, 855, 855, 855, 2035, 2035,
1931 855, 855, 862, 862, 862, 862, 2035, 2035, 862, 862,
1932 528, 528, 528, 2035, 2035, 2035, 528, 870, 870, 870,
1933 870, 2035, 2035, 870, 870, 536, 536, 536, 536, 2035,
1934 536, 2035, 536, 876, 876, 876, 876, 2035, 2035, 876,
1935 876, 684, 684, 684, 684, 684, 684, 684, 684, 684,
1936 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 405,
1937 405, 405, 2035, 2035, 2035, 405, 700, 700, 700, 700,
1938 2035, 2035, 700, 700, 730, 730, 730, 730, 2035, 2035,
1939 730, 730, 436, 436, 436, 2035, 2035, 2035, 436, 741,
1940 741, 741, 741, 2035, 2035, 741, 741, 445, 445, 445,
1942 2035, 2035, 2035, 445, 755, 755, 755, 755, 2035, 2035,
1943 755, 755, 455, 455, 455, 2035, 2035, 2035, 455, 763,
1944 763, 763, 763, 2035, 2035, 763, 763, 461, 461, 461,
1945 461, 2035, 461, 2035, 461, 468, 468, 468, 468, 2035,
1946 468, 2035, 468, 778, 778, 778, 778, 2035, 2035, 778,
1947 778, 472, 472, 472, 2035, 2035, 2035, 472, 790, 790,
1948 790, 790, 2035, 2035, 790, 790, 798, 798, 798, 798,
1949 2035, 2035, 798, 798, 486, 486, 486, 486, 2035, 486,
1950 2035, 486, 816, 816, 816, 816, 2035, 2035, 816, 816,
1951 823, 823, 823, 823, 2035, 2035, 823, 823, 501, 501,
1953 501, 2035, 2035, 2035, 501, 834, 834, 834, 834, 2035,
1954 2035, 834, 834, 509, 509, 509, 509, 2035, 509, 2035,
1955 509, 845, 845, 845, 845, 2035, 2035, 845, 845, 517,
1956 517, 517, 517, 2035, 517, 2035, 517, 855, 855, 855,
1957 855, 2035, 2035, 855, 855, 862, 862, 862, 862, 2035,
1958 2035, 862, 862, 528, 528, 528, 2035, 2035, 2035, 528,
1959 870, 870, 870, 870, 2035, 2035, 870, 870, 876, 876,
1960 876, 876, 2035, 2035, 876, 876, 684, 684, 684, 684,
1961 684, 684, 684, 684, 684, 1001, 1001, 1001, 1001, 1001,
1962 1001, 1001, 1001, 1001, 405, 405, 405, 405, 2035, 405,
1964 2035, 405, 700, 700, 700, 700, 2035, 2035, 700, 700,
1965 730, 730, 730, 730, 2035, 2035, 730, 730, 436, 436,
1966 436, 2035, 2035, 2035, 436, 741, 741, 741, 741, 2035,
1967 2035, 741, 741, 445, 445, 445, 2035, 2035, 2035, 445,
1968 755, 755, 755, 755, 2035, 2035, 755, 755, 455, 455,
1969 455, 455, 2035, 455, 2035, 455, 763, 763, 763, 763,
1970 2035, 2035, 763, 763, 461, 461, 461, 461, 2035, 461,
1971 2035, 461, 778, 778, 778, 778, 2035, 2035, 778, 778,
1972 472, 472, 472, 2035, 2035, 2035, 472, 1830, 1830, 1830,
1973 1830, 1830, 1830, 1830, 1830, 1830, 1831, 1831, 1831, 1831,
1975 1831, 1831, 1831, 1831, 1831, 1869, 1869, 1869, 1869, 1869,
1976 1869, 1869, 1869, 1869, 1872, 1872, 1872, 1872, 1872, 1872,
1977 1872, 1872, 1872, 1900, 1900, 1900, 1900, 1900, 1900, 1900,
1978 1900, 1900, 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1902,
1979 1902, 143, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1980 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1981 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1982 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1983 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1984 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1986 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
1990 static yyconst flex_int16_t yy_chk[7212] =
1992 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1993 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1994 4, 10, 220, 5, 0, 9, 6, 0, 10, 7,
1995 8, 8, 8, 148, 11, 13, 13, 12, 14, 14,
1996 13, 13, 221, 14, 14, 149, 8, 17, 17, 148,
1997 13, 15, 15, 14, 15, 152, 15, 16, 16, 415,
1998 16, 149, 16, 18, 18, 415, 15, 19, 19, 19,
1999 220, 152, 16, 20, 20, 20, 23, 23, 23, 24,
2000 24, 24, 267, 19, 25, 25, 25, 333, 17, 20,
2001 221, 267, 23, 426, 333, 24, 146, 146, 146, 426,
2003 25, 147, 147, 147, 18, 21, 21, 21, 21, 21,
2004 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
2005 1416, 21, 21, 21, 21, 21, 26, 26, 26, 27,
2006 27, 27, 320, 28, 28, 28, 29, 29, 29, 30,
2007 30, 30, 26, 320, 453, 27, 175, 21, 21, 28,
2008 453, 295, 29, 190, 295, 30, 151, 151, 151, 172,
2009 172, 172, 175, 180, 180, 180, 187, 187, 187, 190,
2010 21, 183, 21, 22, 22, 22, 22, 22, 22, 22,
2011 22, 22, 22, 22, 22, 22, 22, 22, 273, 22,
2012 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
2014 1000, 33, 33, 33, 34, 34, 34, 35, 35, 35,
2015 31, 416, 200, 32, 170, 22, 22, 33, 212, 183,
2016 34, 183, 1000, 35, 416, 36, 36, 36, 200, 185,
2017 170, 194, 194, 194, 212, 185, 273, 185, 22, 185,
2018 22, 36, 37, 37, 37, 37, 37, 37, 37, 37,
2019 37, 37, 37, 37, 37, 37, 37, 292, 37, 37,
2020 37, 37, 37, 39, 39, 39, 40, 40, 40, 170,
2021 47, 47, 47, 43, 43, 44, 44, 292, 43, 39,
2022 44, 1159, 40, 216, 37, 37, 47, 216, 43, 1159,
2023 44, 216, 37, 38, 38, 38, 38, 38, 38, 38,
2025 38, 38, 38, 38, 38, 38, 38, 38, 710, 38,
2026 38, 38, 38, 38, 43, 334, 44, 48, 48, 48,
2027 710, 49, 49, 49, 50, 50, 50, 197, 197, 197,
2028 209, 209, 209, 48, 1417, 38, 38, 49, 441, 398,
2029 50, 337, 398, 38, 41, 41, 41, 41, 41, 41,
2030 41, 41, 41, 41, 41, 41, 41, 41, 41, 334,
2031 41, 41, 41, 41, 41, 51, 51, 51, 52, 52,
2032 52, 441, 53, 53, 53, 54, 54, 54, 219, 219,
2033 219, 51, 195, 206, 52, 337, 41, 41, 53, 195,
2034 206, 54, 687, 1418, 41, 1419, 687, 41, 195, 206,
2036 224, 224, 224, 41, 233, 233, 233, 41, 42, 42,
2037 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
2038 42, 42, 42, 723, 42, 42, 42, 42, 42, 57,
2039 57, 57, 58, 58, 58, 723, 61, 61, 61, 62,
2040 62, 62, 389, 227, 239, 57, 234, 633, 58, 1117,
2041 42, 42, 61, 234, 758, 62, 633, 389, 42, 227,
2042 239, 42, 234, 236, 236, 236, 758, 42, 246, 246,
2043 246, 42, 45, 45, 45, 45, 45, 45, 45, 45,
2044 45, 45, 45, 45, 45, 45, 45, 1117, 45, 45,
2045 45, 45, 45, 65, 65, 65, 66, 66, 66, 1420,
2047 67, 67, 67, 68, 68, 68, 69, 69, 69, 65,
2048 247, 252, 66, 1163, 45, 45, 67, 247, 351, 68,
2049 1118, 1163, 69, 45, 1421, 45, 247, 252, 45, 249,
2050 249, 249, 255, 323, 45, 46, 46, 46, 46, 46,
2051 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
2052 1118, 46, 46, 46, 46, 46, 70, 70, 70, 73,
2053 73, 73, 351, 74, 74, 74, 75, 75, 75, 76,
2054 76, 76, 70, 255, 264, 73, 255, 46, 46, 74,
2055 279, 323, 75, 1009, 1422, 76, 46, 1424, 46, 1009,
2056 264, 46, 258, 258, 258, 1239, 279, 46, 55, 55,
2058 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
2059 55, 55, 55, 1429, 55, 55, 55, 55, 55, 77,
2060 77, 77, 78, 78, 78, 1431, 79, 79, 79, 80,
2061 80, 80, 83, 83, 83, 77, 1438, 1239, 78, 1302,
2062 55, 55, 79, 290, 305, 80, 1302, 55, 83, 261,
2063 261, 261, 55, 272, 272, 272, 276, 276, 276, 290,
2064 305, 55, 56, 56, 56, 56, 56, 56, 56, 56,
2065 56, 56, 56, 56, 56, 56, 56, 1452, 56, 56,
2066 56, 56, 56, 84, 84, 84, 87, 87, 87, 1453,
2067 88, 88, 88, 91, 91, 91, 92, 92, 92, 84,
2069 1303, 285, 87, 1323, 56, 56, 88, 1303, 285, 91,
2070 1323, 56, 92, 284, 284, 284, 56, 285, 287, 287,
2071 287, 299, 299, 299, 1454, 56, 59, 59, 59, 59,
2072 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
2073 59, 1347, 59, 59, 59, 59, 59, 95, 95, 95,
2074 96, 96, 96, 879, 97, 97, 97, 98, 98, 98,
2075 99, 99, 99, 95, 300, 423, 96, 1324, 59, 59,
2076 97, 300, 879, 98, 1324, 1443, 99, 1346, 423, 59,
2077 300, 302, 302, 302, 1347, 59, 1455, 59, 59, 60,
2078 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
2080 60, 60, 60, 60, 1443, 60, 60, 60, 60, 60,
2081 100, 100, 100, 101, 101, 101, 1346, 102, 102, 102,
2082 105, 105, 105, 106, 106, 106, 100, 427, 429, 101,
2083 310, 60, 60, 102, 541, 1458, 105, 310, 1464, 106,
2084 427, 429, 60, 309, 309, 309, 310, 1465, 60, 541,
2085 60, 60, 63, 63, 63, 63, 63, 63, 63, 63,
2086 63, 63, 63, 63, 63, 63, 63, 1466, 63, 63,
2087 63, 63, 63, 107, 107, 107, 108, 108, 108, 1467,
2088 109, 109, 109, 110, 110, 110, 111, 111, 111, 107,
2089 315, 1423, 108, 1423, 63, 63, 109, 329, 1468, 110,
2091 1327, 1327, 111, 312, 312, 312, 315, 322, 322, 322,
2092 326, 326, 326, 329, 63, 64, 64, 64, 64, 64,
2093 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
2094 1469, 64, 64, 64, 64, 64, 112, 112, 112, 115,
2095 115, 115, 1470, 116, 116, 116, 117, 117, 117, 118,
2096 118, 118, 112, 1328, 1328, 115, 343, 64, 64, 116,
2097 357, 1471, 117, 1333, 1333, 118, 336, 336, 336, 340,
2098 340, 340, 343, 350, 350, 350, 357, 64, 71, 71,
2099 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
2100 71, 71, 71, 1472, 71, 71, 71, 71, 71, 119,
2102 119, 119, 120, 120, 120, 1444, 121, 121, 121, 122,
2103 122, 122, 125, 125, 125, 119, 367, 362, 120, 382,
2104 71, 71, 121, 71, 362, 122, 1334, 1334, 125, 1473,
2105 1237, 71, 367, 362, 71, 382, 1237, 71, 1474, 1444,
2106 71, 72, 72, 72, 72, 72, 72, 72, 72, 72,
2107 72, 72, 72, 72, 72, 72, 1478, 72, 72, 72,
2108 72, 72, 126, 126, 126, 129, 129, 129, 1479, 130,
2109 130, 130, 131, 131, 131, 132, 132, 132, 126, 1480,
2110 387, 129, 1481, 72, 72, 130, 72, 387, 131, 1056,
2111 1425, 132, 1425, 1483, 72, 1056, 387, 72, 1056, 1430,
2113 72, 1430, 1056, 72, 81, 81, 81, 81, 81, 81,
2114 81, 81, 81, 81, 81, 81, 81, 81, 81, 375,
2115 81, 81, 81, 81, 81, 133, 133, 133, 134, 134,
2116 134, 1490, 135, 135, 135, 136, 136, 136, 139, 139,
2117 139, 133, 1491, 1057, 134, 1492, 81, 81, 135, 1057,
2118 1493, 136, 1057, 375, 139, 162, 1057, 81, 354, 354,
2119 354, 361, 361, 361, 364, 364, 364, 375, 1495, 81,
2120 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
2121 82, 82, 82, 82, 82, 1498, 82, 82, 82, 82,
2122 82, 140, 140, 140, 162, 374, 374, 374, 1499, 1500,
2124 162, 379, 379, 379, 162, 1238, 1432, 140, 1432, 162,
2125 1501, 1502, 82, 82, 386, 386, 386, 388, 388, 388,
2126 544, 544, 544, 82, 544, 587, 587, 587, 1503, 587,
2127 1508, 1509, 587, 1238, 1510, 82, 85, 85, 85, 85,
2128 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2129 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2130 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2131 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2132 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2133 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
2135 85, 85, 85, 85, 85, 89, 89, 89, 89, 89,
2136 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
2137 1511, 89, 89, 89, 89, 89, 397, 397, 397, 438,
2138 438, 438, 447, 447, 447, 462, 462, 462, 474, 474,
2139 474, 713, 713, 713, 1512, 1513, 438, 89, 89, 447,
2140 1534, 1527, 462, 1535, 1536, 474, 1537, 1542, 89, 90,
2141 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
2142 90, 90, 90, 90, 1526, 90, 90, 90, 90, 90,
2143 1543, 397, 482, 482, 482, 1527, 488, 488, 488, 489,
2144 489, 489, 498, 498, 498, 721, 721, 721, 1544, 482,
2146 1545, 90, 90, 488, 1546, 1547, 489, 1548, 1549, 498,
2147 1526, 1528, 90, 93, 93, 93, 93, 93, 93, 93,
2148 93, 93, 93, 93, 93, 93, 93, 93, 1550, 93,
2149 93, 93, 93, 93, 503, 503, 503, 525, 525, 525,
2150 555, 555, 555, 556, 556, 556, 583, 583, 583, 1116,
2151 1528, 503, 1551, 1552, 525, 93, 93, 1554, 555, 93,
2152 1555, 556, 1556, 1564, 583, 1116, 93, 1565, 93, 892,
2153 892, 892, 897, 897, 897, 93, 94, 94, 94, 94,
2154 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
2155 94, 1566, 94, 94, 94, 94, 94, 556, 584, 584,
2157 584, 1571, 1572, 586, 586, 586, 591, 591, 591, 592,
2158 592, 592, 1573, 595, 595, 595, 584, 1574, 94, 94,
2159 586, 1575, 94, 1576, 591, 1581, 1582, 592, 1583, 94,
2160 595, 94, 900, 900, 900, 904, 904, 904, 94, 103,
2161 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
2162 103, 103, 103, 103, 584, 103, 103, 103, 103, 103,
2163 596, 596, 596, 1584, 596, 1585, 1586, 596, 1540, 592,
2164 1607, 597, 597, 597, 599, 599, 599, 601, 601, 601,
2165 1540, 103, 103, 1609, 103, 1541, 1612, 103, 597, 1599,
2166 1578, 599, 610, 610, 610, 601, 610, 1541, 1578, 610,
2168 1613, 103, 104, 104, 104, 104, 104, 104, 104, 104,
2169 104, 104, 104, 104, 104, 104, 104, 1598, 104, 104,
2170 104, 104, 104, 607, 607, 607, 1579, 1599, 608, 608,
2171 608, 609, 609, 609, 1579, 1614, 602, 602, 602, 1615,
2172 1616, 607, 1617, 1598, 104, 104, 608, 104, 609, 1600,
2173 104, 621, 621, 621, 602, 621, 1618, 1619, 621, 908,
2174 908, 908, 1620, 1622, 104, 113, 113, 113, 113, 113,
2175 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
2176 602, 113, 113, 113, 113, 113, 1623, 1600, 608, 1624,
2177 1625, 614, 614, 614, 617, 617, 617, 618, 618, 618,
2179 1629, 615, 615, 615, 620, 620, 620, 113, 113, 614,
2180 113, 1630, 617, 113, 1634, 618, 1636, 1640, 113, 615,
2181 1641, 620, 935, 935, 935, 1642, 1643, 113, 114, 114,
2182 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
2183 114, 114, 114, 1644, 114, 114, 114, 114, 114, 615,
2184 626, 626, 626, 1645, 618, 1646, 627, 627, 627, 1647,
2185 628, 628, 628, 1648, 1649, 629, 629, 629, 626, 629,
2186 114, 114, 629, 114, 627, 1651, 114, 628, 635, 635,
2187 635, 114, 635, 1652, 1653, 635, 1014, 1014, 1014, 1654,
2188 114, 123, 123, 123, 123, 123, 123, 123, 123, 123,
2190 123, 123, 123, 123, 123, 123, 1655, 123, 123, 123,
2191 123, 123, 1656, 627, 631, 631, 631, 632, 632, 632,
2192 634, 634, 634, 636, 636, 636, 638, 638, 638, 1016,
2193 1016, 1016, 631, 123, 123, 632, 1669, 634, 1671, 1663,
2194 636, 1662, 1675, 638, 123, 124, 124, 124, 124, 124,
2195 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
2196 1676, 124, 124, 124, 124, 124, 637, 637, 637, 1677,
2197 637, 1663, 1678, 637, 643, 643, 643, 632, 644, 644,
2198 644, 1680, 646, 646, 646, 1662, 646, 124, 124, 646,
2199 1681, 1682, 643, 1020, 1020, 1020, 644, 1683, 124, 127,
2201 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
2202 127, 127, 127, 127, 1684, 127, 127, 127, 127, 127,
2203 645, 645, 645, 1685, 1686, 647, 647, 647, 648, 648,
2204 648, 1687, 644, 650, 650, 650, 1691, 645, 655, 655,
2205 655, 127, 127, 647, 1692, 1692, 648, 1693, 1694, 127,
2206 650, 127, 1697, 127, 1698, 1699, 655, 1026, 1026, 1026,
2207 1700, 127, 128, 128, 128, 128, 128, 128, 128, 128,
2208 128, 128, 128, 128, 128, 128, 128, 1701, 128, 128,
2209 128, 128, 128, 1702, 1703, 648, 651, 651, 651, 1704,
2210 651, 1705, 1706, 651, 1707, 656, 656, 656, 658, 658,
2212 658, 659, 659, 659, 128, 128, 665, 665, 665, 1027,
2213 1027, 1027, 128, 656, 128, 658, 128, 1709, 659, 1053,
2214 1053, 1053, 1710, 665, 128, 137, 137, 137, 137, 137,
2215 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
2216 1711, 137, 137, 137, 137, 137, 1712, 656, 662, 662,
2217 662, 1713, 667, 667, 667, 663, 663, 663, 668, 668,
2218 668, 669, 669, 669, 1714, 1723, 662, 137, 137, 667,
2219 670, 670, 670, 663, 1724, 1717, 668, 1725, 1726, 669,
2220 1729, 671, 671, 671, 1730, 671, 1732, 670, 671, 1733,
2221 137, 138, 138, 138, 138, 138, 138, 138, 138, 138,
2223 138, 138, 138, 138, 138, 138, 1717, 138, 138, 138,
2224 138, 138, 663, 672, 672, 672, 1734, 1736, 669, 673,
2225 673, 673, 678, 678, 678, 679, 679, 679, 682, 682,
2226 682, 672, 1741, 138, 138, 1742, 1743, 673, 1744, 1750,
2227 678, 1751, 1752, 679, 1753, 1754, 682, 683, 683, 683,
2228 699, 699, 699, 728, 728, 728, 138, 181, 700, 700,
2229 700, 894, 894, 894, 181, 683, 1755, 1757, 699, 1759,
2230 728, 673, 1762, 181, 1763, 894, 700, 702, 702, 702,
2231 1764, 729, 729, 729, 1765, 679, 730, 730, 730, 1766,
2232 1767, 732, 732, 732, 1782, 702, 1783, 1774, 181, 729,
2234 181, 1784, 1785, 181, 730, 181, 181, 683, 181, 732,
2235 1789, 1790, 181, 1791, 181, 181, 181, 182, 733, 733,
2236 733, 702, 1792, 1793, 182, 734, 734, 734, 1794, 734,
2237 1796, 1797, 734, 182, 1798, 733, 1774, 732, 737, 737,
2238 737, 1799, 738, 738, 738, 1804, 740, 740, 740, 741,
2239 741, 741, 743, 743, 743, 737, 1805, 1806, 182, 738,
2240 182, 1807, 1808, 182, 740, 182, 182, 741, 182, 1809,
2241 743, 1812, 182, 1813, 182, 182, 182, 745, 745, 745,
2242 1814, 745, 1815, 1816, 745, 748, 748, 748, 1817, 1832,
2243 749, 749, 749, 1834, 749, 737, 743, 749, 750, 750,
2245 750, 1829, 748, 738, 751, 751, 751, 752, 752, 752,
2246 1837, 752, 1829, 1826, 752, 750, 754, 754, 754, 1838,
2247 1840, 751, 755, 755, 755, 757, 757, 757, 760, 760,
2248 760, 762, 762, 762, 754, 763, 763, 763, 1841, 1844,
2249 755, 1845, 1828, 757, 1846, 760, 765, 765, 765, 762,
2250 766, 766, 766, 763, 766, 1826, 1828, 766, 772, 772,
2251 772, 773, 773, 773, 765, 775, 775, 775, 777, 777,
2252 777, 778, 778, 778, 1847, 1854, 772, 1852, 1855, 773,
2253 1857, 757, 1858, 775, 1860, 1861, 777, 1863, 1852, 778,
2254 765, 780, 780, 780, 782, 782, 782, 1853, 782, 1864,
2256 1871, 782, 789, 789, 789, 790, 790, 790, 1853, 780,
2257 792, 792, 792, 1873, 793, 793, 793, 1875, 793, 1876,
2258 789, 793, 1885, 790, 797, 797, 797, 775, 792, 798,
2259 798, 798, 800, 800, 800, 1886, 803, 803, 803, 1887,
2260 803, 1869, 797, 803, 809, 809, 809, 798, 1888, 1868,
2261 800, 780, 806, 806, 806, 1869, 806, 1870, 1870, 806,
2262 1900, 809, 810, 810, 810, 1901, 810, 1902, 1904, 810,
2263 1905, 792, 815, 815, 815, 816, 816, 816, 818, 818,
2264 818, 819, 819, 819, 1872, 819, 1868, 1912, 819, 800,
2265 815, 1915, 1916, 816, 1917, 1872, 818, 822, 822, 822,
2267 823, 823, 823, 825, 825, 825, 827, 827, 827, 1918,
2268 827, 1922, 1934, 827, 1938, 822, 1939, 1940, 823, 1941,
2269 1946, 825, 833, 833, 833, 834, 834, 834, 836, 836,
2270 836, 838, 838, 838, 1944, 839, 839, 839, 1947, 839,
2271 833, 818, 839, 834, 1948, 1949, 836, 1950, 838, 1954,
2272 840, 840, 840, 841, 841, 841, 1944, 841, 1955, 1953,
2273 841, 844, 844, 844, 1956, 1957, 825, 840, 845, 845,
2274 845, 847, 847, 847, 849, 849, 849, 1953, 1958, 844,
2275 1963, 850, 850, 850, 836, 850, 845, 1964, 850, 847,
2276 1965, 849, 852, 852, 852, 853, 853, 853, 1966, 853,
2278 1961, 1972, 853, 854, 854, 854, 855, 855, 855, 852,
2279 857, 857, 857, 858, 858, 858, 1969, 858, 1974, 1961,
2280 858, 854, 1969, 1415, 855, 861, 861, 861, 857, 862,
2281 862, 862, 1992, 1993, 847, 864, 864, 864, 866, 866,
2282 866, 1978, 2022, 861, 869, 869, 869, 862, 870, 870,
2283 870, 2022, 1996, 864, 1978, 866, 872, 872, 872, 875,
2284 875, 875, 869, 876, 876, 876, 870, 878, 878, 878,
2285 880, 880, 880, 857, 872, 1992, 1993, 875, 888, 888,
2286 888, 876, 915, 915, 915, 878, 1996, 1997, 880, 880,
2287 2018, 864, 905, 905, 905, 1404, 888, 2030, 2000, 915,
2289 916, 916, 916, 1403, 916, 2004, 905, 916, 917, 917,
2290 917, 2030, 2001, 872, 918, 918, 918, 878, 919, 919,
2291 919, 1997, 919, 2010, 2018, 919, 917, 923, 923, 923,
2292 2019, 918, 925, 925, 925, 2000, 925, 2004, 2005, 925,
2293 888, 928, 928, 928, 1402, 923, 929, 929, 929, 2001,
2294 929, 2020, 1401, 929, 934, 934, 934, 1400, 928, 930,
2295 930, 930, 917, 930, 2019, 2010, 930, 937, 937, 937,
2296 2005, 2011, 934, 923, 938, 938, 938, 1399, 938, 2021,
2297 2020, 938, 2024, 1398, 937, 939, 939, 939, 940, 940,
2298 940, 944, 944, 944, 946, 946, 946, 950, 950, 950,
2300 2026, 934, 939, 951, 951, 951, 940, 2031, 2021, 944,
2301 2023, 2024, 946, 2011, 950, 952, 952, 952, 2031, 2023,
2302 951, 953, 953, 953, 2025, 954, 954, 954, 955, 955,
2303 955, 2027, 1397, 952, 940, 956, 956, 956, 953, 960,
2304 960, 960, 946, 954, 2026, 955, 951, 957, 957, 957,
2305 2028, 957, 956, 2025, 957, 2029, 960, 961, 961, 961,
2306 1391, 962, 962, 962, 963, 963, 963, 964, 964, 964,
2307 965, 965, 965, 1390, 961, 2027, 1389, 952, 962, 2028,
2308 1388, 963, 1387, 954, 2029, 964, 1386, 1385, 965, 1384,
2309 969, 969, 969, 970, 970, 970, 1383, 956, 1382, 972,
2311 972, 972, 1376, 972, 1371, 962, 972, 969, 975, 975,
2312 975, 970, 975, 1369, 1367, 975, 1363, 979, 979, 979,
2313 980, 980, 980, 961, 992, 992, 992, 1362, 964, 1343,
2314 963, 979, 965, 969, 1341, 982, 982, 982, 980, 982,
2315 1340, 992, 982, 986, 986, 986, 970, 986, 1330, 1325,
2316 986, 989, 989, 989, 990, 990, 990, 993, 993, 993,
2317 1322, 993, 1321, 1318, 993, 996, 996, 996, 1304, 989,
2318 1301, 1300, 990, 998, 998, 998, 999, 999, 999, 1002,
2319 1002, 1002, 980, 996, 1010, 1010, 1010, 1022, 1022, 1022,
2320 998, 1023, 1023, 1023, 999, 1299, 1285, 1002, 1029, 1029,
2322 1029, 1022, 1010, 1284, 1283, 1023, 1282, 990, 1030, 1030,
2323 1030, 996, 1029, 989, 1032, 1032, 1032, 1034, 1034, 1034,
2324 1281, 1280, 1030, 1035, 1035, 1035, 1279, 1002, 1032, 1278,
2325 1277, 1034, 1276, 1010, 1036, 1036, 1036, 1035, 1036, 999,
2326 1272, 1036, 1271, 1002, 1039, 1039, 1039, 1022, 1040, 1040,
2327 1040, 1268, 1040, 1266, 1264, 1040, 1262, 1256, 1029, 1058,
2328 1058, 1058, 1039, 1046, 1046, 1046, 1048, 1048, 1048, 1254,
2329 1048, 1251, 1250, 1048, 1032, 1246, 1058, 1034, 1052, 1052,
2330 1052, 1046, 1055, 1055, 1055, 1240, 1055, 1232, 1230, 1055,
2331 1059, 1059, 1059, 1229, 1059, 1228, 1052, 1059, 1060, 1060,
2333 1060, 1061, 1061, 1061, 1062, 1062, 1062, 1039, 1063, 1063,
2334 1063, 1046, 1064, 1064, 1064, 1221, 1060, 1215, 1061, 1214,
2335 1213, 1062, 1066, 1066, 1066, 1063, 1067, 1067, 1067, 1211,
2336 1064, 1071, 1071, 1071, 1209, 1052, 1072, 1072, 1072, 1066,
2337 1072, 1186, 1185, 1072, 1067, 1184, 1060, 1179, 1071, 1073,
2338 1073, 1073, 1074, 1074, 1074, 1178, 1074, 1177, 1062, 1074,
2339 1076, 1076, 1076, 1077, 1077, 1077, 1073, 1078, 1078, 1078,
2340 1067, 1078, 1164, 1162, 1078, 1079, 1079, 1079, 1076, 1161,
2341 1077, 1080, 1080, 1080, 1081, 1081, 1081, 1160, 1081, 1158,
2342 1157, 1081, 1154, 1079, 1082, 1082, 1082, 1153, 1080, 1083,
2344 1083, 1083, 1084, 1084, 1084, 1151, 1084, 1150, 1149, 1084,
2345 1147, 1082, 1085, 1085, 1085, 1146, 1083, 1086, 1086, 1086,
2346 1087, 1087, 1087, 1088, 1088, 1088, 1089, 1089, 1089, 1085,
2347 1093, 1093, 1093, 1145, 1086, 1143, 1139, 1087, 1094, 1094,
2348 1094, 1088, 1094, 1138, 1089, 1094, 1137, 1093, 1096, 1096,
2349 1096, 1097, 1097, 1097, 1134, 1098, 1098, 1098, 1100, 1100,
2350 1100, 1101, 1101, 1101, 1131, 1130, 1096, 1129, 1097, 1128,
2351 1127, 1086, 1098, 1126, 1089, 1125, 1100, 1120, 1101, 1102,
2352 1102, 1102, 1103, 1103, 1103, 1088, 1112, 1104, 1104, 1104,
2353 1106, 1106, 1106, 1110, 1106, 1109, 1102, 1106, 1105, 1099,
2355 1103, 1104, 1111, 1111, 1111, 1104, 1100, 1113, 1113, 1113,
2356 1114, 1114, 1114, 1095, 1114, 1098, 1092, 1114, 1091, 1090,
2357 1111, 1075, 1102, 1070, 1113, 1115, 1115, 1115, 1069, 1068,
2358 1103, 1121, 1121, 1121, 1122, 1122, 1122, 1123, 1123, 1123,
2359 1124, 1124, 1124, 1115, 1132, 1132, 1132, 1054, 1121, 1051,
2360 1111, 1122, 1047, 1045, 1123, 1133, 1133, 1133, 1124, 1135,
2361 1135, 1135, 1136, 1136, 1136, 1140, 1140, 1140, 1141, 1141,
2362 1141, 1142, 1142, 1142, 1144, 1144, 1144, 1148, 1148, 1148,
2363 1115, 1152, 1152, 1152, 1044, 1043, 1122, 1155, 1155, 1155,
2364 1156, 1156, 1156, 1033, 1123, 1148, 1031, 1124, 1028, 1152,
2366 1025, 1024, 1165, 1165, 1165, 1155, 1165, 1156, 1021, 1165,
2367 1019, 1168, 1168, 1168, 1169, 1169, 1169, 1018, 1017, 1170,
2368 1170, 1170, 1015, 1170, 1148, 1168, 1170, 1013, 1012, 1168,
2369 1011, 1169, 1171, 1171, 1171, 1172, 1172, 1172, 1008, 1173,
2370 1173, 1173, 1155, 1173, 1007, 1004, 1173, 1001, 997, 1171,
2371 995, 994, 1172, 1174, 1174, 1174, 1175, 1175, 1175, 991,
2372 1175, 985, 981, 1175, 1176, 1176, 1176, 1180, 1180, 1180,
2373 1174, 1180, 978, 971, 1180, 968, 1183, 1183, 1183, 967,
2374 1183, 966, 1176, 1183, 1187, 1187, 1187, 1189, 1189, 1189,
2375 949, 1189, 948, 947, 1189, 1192, 1192, 1192, 945, 1194,
2377 1194, 1194, 1187, 1194, 943, 942, 1194, 1197, 1197, 1197,
2378 1176, 941, 936, 1192, 1198, 1198, 1198, 933, 1198, 924,
2379 922, 1198, 921, 920, 1197, 1199, 1199, 1199, 914, 1199,
2380 913, 912, 1199, 1202, 1202, 1202, 1203, 1203, 1203, 911,
2381 1203, 910, 909, 1203, 1204, 1204, 1204, 1205, 1205, 1205,
2382 1202, 1206, 1206, 1206, 907, 1206, 906, 903, 1206, 902,
2383 901, 1204, 899, 898, 1205, 1207, 1207, 1207, 1208, 1208,
2384 1208, 1210, 1210, 1210, 1212, 1212, 1212, 896, 1212, 895,
2385 893, 1212, 891, 1207, 890, 889, 1208, 887, 1210, 1216,
2386 1216, 1216, 1218, 1218, 1218, 1219, 1219, 1219, 886, 1219,
2388 885, 884, 1219, 1220, 1220, 1220, 883, 1216, 874, 1218,
2389 1223, 1223, 1223, 1207, 1210, 1222, 1222, 1222, 873, 868,
2390 1220, 1225, 1225, 1225, 1226, 1226, 1226, 1223, 1208, 1222,
2391 1224, 1224, 1224, 1222, 1224, 867, 865, 1224, 1225, 1227,
2392 1227, 1227, 1226, 1231, 1231, 1231, 1233, 1233, 1233, 851,
2393 1233, 848, 843, 1233, 842, 1220, 837, 1227, 1236, 1236,
2394 1236, 1231, 1241, 1241, 1241, 1242, 1242, 1242, 832, 1242,
2395 831, 830, 1242, 1243, 1243, 1243, 1236, 826, 1225, 1241,
2396 1244, 1244, 1244, 814, 813, 1227, 812, 1245, 1245, 1245,
2397 1243, 1247, 1247, 1247, 1248, 1248, 1248, 1244, 1249, 1249,
2399 1249, 1252, 1252, 1252, 1231, 1245, 1236, 1253, 1253, 1253,
2400 1255, 1255, 1255, 1257, 1257, 1257, 1258, 1258, 1258, 1259,
2401 1259, 1259, 1260, 1260, 1260, 1261, 1261, 1261, 811, 1243,
2402 1263, 1263, 1263, 1265, 1265, 1265, 1267, 1267, 1267, 1269,
2403 1269, 1269, 802, 1244, 1273, 1273, 1273, 1245, 1274, 1274,
2404 1274, 1265, 801, 1267, 1275, 1275, 1275, 1269, 1275, 796,
2405 788, 1275, 1273, 787, 786, 1274, 1286, 1286, 1286, 1287,
2406 1287, 1287, 785, 1287, 781, 776, 1287, 1290, 1290, 1290,
2407 771, 1265, 770, 769, 1286, 1291, 1291, 1291, 761, 1291,
2408 759, 753, 1291, 744, 1290, 1292, 1292, 1292, 739, 1292,
2410 727, 726, 1292, 1295, 1295, 1295, 725, 1295, 724, 722,
2411 1295, 720, 1286, 1298, 1298, 1298, 1305, 1305, 1305, 719,
2412 1305, 718, 717, 1305, 716, 1308, 1308, 1308, 715, 1308,
2413 714, 1298, 1308, 1311, 1311, 1311, 1312, 1312, 1312, 712,
2414 1312, 711, 709, 1312, 1313, 1313, 1313, 708, 1313, 707,
2415 1311, 1313, 1316, 1316, 1316, 1317, 1317, 1317, 1319, 1319,
2416 1319, 1320, 1320, 1320, 1298, 1320, 706, 705, 1320, 704,
2417 1316, 703, 698, 1317, 697, 1319, 1326, 1326, 1326, 696,
2418 1326, 695, 692, 1326, 1329, 1329, 1329, 1331, 1331, 1331,
2419 1332, 1332, 1332, 691, 1332, 690, 688, 1332, 1335, 1335,
2421 1335, 1329, 1336, 1336, 1336, 1331, 1338, 1338, 1338, 1339,
2422 1339, 1339, 1316, 684, 681, 1335, 1342, 1342, 1342, 680,
2423 1336, 1345, 1345, 1345, 1338, 677, 1339, 1344, 1344, 1344,
2424 1329, 1348, 1348, 1348, 1342, 676, 1349, 1349, 1349, 1345,
2425 1349, 675, 1331, 1349, 674, 1344, 1352, 1352, 1352, 1353,
2426 1353, 1353, 666, 664, 1335, 1354, 1354, 1354, 1355, 1355,
2427 1355, 661, 660, 1352, 657, 654, 1353, 653, 1338, 1356,
2428 1356, 1356, 652, 1354, 1357, 1357, 1357, 1342, 1358, 1358,
2429 1358, 649, 642, 1344, 1359, 1359, 1359, 1360, 1360, 1360,
2430 1361, 1361, 1361, 1364, 1364, 1364, 1365, 1365, 1365, 1352,
2432 1366, 1366, 1366, 1368, 1368, 1368, 1370, 1370, 1370, 641,
2433 1354, 1353, 1372, 1372, 1372, 1373, 1373, 1373, 640, 1373,
2434 639, 630, 1373, 625, 1370, 1375, 1375, 1375, 624, 1372,
2435 1377, 1377, 1377, 1379, 1379, 1379, 623, 1379, 622, 619,
2436 1379, 616, 1375, 1392, 1392, 1392, 613, 612, 1377, 1393,
2437 1393, 1393, 611, 1393, 606, 605, 1393, 1396, 1396, 1396,
2438 604, 1392, 1405, 1405, 1405, 603, 1405, 600, 598, 1405,
2439 1408, 1408, 1408, 594, 590, 1396, 1409, 1409, 1409, 1411,
2440 1411, 1411, 1412, 1412, 1412, 589, 1412, 588, 1408, 1412,
2441 1426, 1426, 1426, 585, 1409, 582, 1411, 1427, 1427, 1427,
2443 1392, 1428, 1428, 1428, 1433, 1433, 1433, 1426, 581, 1434,
2444 1434, 1434, 1435, 1435, 1435, 580, 1436, 1436, 1436, 1428,
2445 1436, 1433, 1411, 1436, 1437, 1437, 1437, 1434, 579, 1435,
2446 1439, 1439, 1439, 1440, 1440, 1440, 1441, 1441, 1441, 578,
2447 577, 1437, 1442, 1442, 1442, 576, 575, 1433, 1439, 1445,
2448 1445, 1445, 574, 573, 1441, 1446, 1446, 1446, 572, 571,
2449 1442, 1447, 1447, 1447, 1428, 1434, 1448, 1448, 1448, 1449,
2450 1449, 1449, 1446, 1450, 1450, 1450, 570, 569, 1447, 1451,
2451 1451, 1451, 568, 567, 1448, 1456, 1456, 1456, 1459, 1459,
2452 1459, 566, 1459, 565, 564, 1459, 563, 562, 1441, 561,
2454 1442, 560, 559, 1456, 1462, 1462, 1462, 558, 557, 1447,
2455 1463, 1463, 1463, 554, 1463, 553, 552, 1463, 1475, 1475,
2456 1475, 1462, 1476, 1476, 1476, 1485, 1485, 1485, 1486, 1486,
2457 1486, 1488, 1488, 1488, 550, 549, 1475, 1489, 1489, 1489,
2458 1476, 1489, 1485, 548, 1489, 547, 1486, 546, 1488, 1497,
2459 1497, 1497, 1504, 1504, 1504, 1505, 1505, 1505, 542, 1505,
2460 540, 539, 1505, 1506, 1506, 1506, 1497, 538, 537, 1504,
2461 1507, 1507, 1507, 534, 1475, 1514, 1514, 1514, 1515, 1515,
2462 1515, 533, 1516, 1516, 1516, 532, 1516, 531, 1507, 1516,
2463 530, 529, 1514, 1519, 1519, 1519, 1515, 1520, 1520, 1520,
2465 526, 1520, 522, 521, 1520, 520, 1521, 1521, 1521, 519,
2466 1519, 1522, 1522, 1522, 1524, 1524, 1524, 1525, 1525, 1525,
2467 518, 515, 1514, 1521, 1507, 1529, 1529, 1529, 514, 1522,
2468 1530, 1530, 1530, 513, 1530, 1525, 1514, 1530, 1531, 1531,
2469 1531, 512, 1529, 1532, 1532, 1532, 1538, 1538, 1538, 1539,
2470 1539, 1539, 511, 1539, 510, 1531, 1539, 1553, 1553, 1553,
2471 507, 1532, 506, 1538, 1559, 1559, 1559, 1560, 1560, 1560,
2472 505, 1560, 504, 502, 1560, 1553, 1561, 1561, 1561, 499,
2473 1561, 1559, 495, 1561, 1569, 1569, 1569, 1570, 1570, 1570,
2474 494, 1570, 493, 492, 1570, 1577, 1577, 1577, 491, 1577,
2476 490, 1569, 1577, 1580, 1580, 1580, 1587, 1587, 1587, 1588,
2477 1588, 1588, 487, 1553, 1589, 1589, 1589, 484, 1591, 1591,
2478 1591, 1580, 1591, 1587, 483, 1591, 1588, 1594, 1594, 1594,
2479 479, 478, 1589, 1595, 1595, 1595, 477, 1595, 476, 475,
2480 1595, 1596, 1596, 1596, 1594, 1601, 1601, 1601, 473, 1601,
2481 470, 469, 1601, 1604, 1604, 1604, 1605, 1605, 1605, 1596,
2482 1605, 466, 465, 1605, 464, 1580, 463, 1587, 459, 1588,
2483 1604, 1606, 1606, 1606, 1608, 1608, 1608, 1610, 1610, 1610,
2484 1611, 1611, 1611, 458, 1611, 457, 456, 1611, 1627, 1627,
2485 1627, 1628, 1628, 1628, 1610, 1631, 1631, 1631, 452, 1631,
2487 451, 450, 1631, 1635, 1635, 1635, 1627, 449, 1628, 1637,
2488 1637, 1637, 448, 1637, 446, 443, 1637, 1650, 1650, 1650,
2489 1635, 1657, 1657, 1657, 1658, 1658, 1658, 1668, 1668, 1668,
2490 1664, 1664, 1664, 442, 1628, 1650, 1627, 440, 1657, 439,
2491 437, 1658, 1659, 1659, 1659, 434, 1659, 1664, 1664, 1659,
2492 1665, 1665, 1665, 433, 1665, 430, 428, 1665, 1670, 1670,
2493 1670, 1672, 1672, 1672, 425, 1672, 424, 422, 1672, 1650,
2494 1658, 1679, 1679, 1679, 1688, 1688, 1688, 1689, 1689, 1689,
2495 1690, 1690, 1690, 1657, 1690, 421, 420, 1690, 1679, 1695,
2496 1695, 1695, 1688, 419, 1689, 1696, 1696, 1696, 418, 1696,
2498 417, 414, 1696, 1708, 1708, 1708, 1695, 1715, 1715, 1715,
2499 1716, 1716, 1716, 1718, 1718, 1718, 1719, 1719, 1719, 413,
2500 1688, 1708, 412, 411, 1715, 410, 409, 1716, 408, 407,
2501 1718, 1718, 406, 1719, 1719, 403, 1720, 1720, 1720, 402,
2502 1720, 401, 400, 1720, 1721, 1721, 1721, 1722, 1722, 1722,
2503 1715, 399, 393, 1716, 1720, 1727, 1727, 1727, 1728, 1728,
2504 1728, 392, 1728, 390, 384, 1728, 1737, 1737, 1737, 1738,
2505 1738, 1738, 1727, 1738, 380, 377, 1738, 1745, 1745, 1745,
2506 376, 1746, 1746, 1746, 1737, 1746, 372, 371, 1746, 1749,
2507 1749, 1749, 370, 369, 1745, 1760, 1760, 1760, 1768, 1768,
2509 1768, 1769, 1769, 1769, 365, 1769, 1749, 359, 1769, 1770,
2510 1770, 1770, 355, 1760, 352, 1768, 1771, 1771, 1771, 348,
2511 1772, 1772, 1772, 347, 1772, 346, 1770, 1772, 1737, 1773,
2512 1773, 1773, 345, 1771, 1775, 1775, 1775, 1776, 1776, 1776,
2513 341, 1776, 338, 332, 1776, 331, 1773, 1780, 1780, 1780,
2514 327, 1775, 1775, 324, 319, 1776, 318, 1777, 1777, 1777,
2515 317, 1777, 313, 307, 1777, 1781, 1781, 1781, 303, 1786,
2516 1786, 1786, 297, 1786, 1770, 1777, 1786, 1801, 1801, 1801,
2517 296, 1801, 294, 293, 1801, 288, 1795, 1795, 1795, 282,
2518 1800, 1800, 1800, 281, 1773, 1778, 1778, 1778, 1778, 1778,
2520 1778, 1778, 1778, 1778, 1795, 277, 1778, 1800, 1802, 1802,
2521 1802, 1778, 1778, 1778, 1778, 1778, 1803, 1803, 1803, 274,
2522 1803, 270, 269, 1803, 268, 1802, 1818, 1818, 1818, 266,
2523 1818, 262, 259, 1818, 1821, 1821, 1821, 1778, 1778, 1779,
2524 1779, 1779, 1779, 1779, 1779, 1779, 1779, 1779, 256, 254,
2525 1779, 1821, 1825, 1825, 1825, 1779, 1779, 1779, 1779, 1779,
2526 1822, 1822, 1822, 250, 1822, 244, 243, 1822, 242, 1825,
2527 1827, 1827, 1827, 241, 1827, 237, 231, 1827, 1842, 1842,
2528 1842, 1779, 1779, 1848, 1848, 1848, 1821, 1848, 1827, 230,
2529 1848, 1851, 1851, 1851, 229, 1851, 1842, 225, 1851, 222,
2531 1866, 1866, 1866, 217, 1825, 1830, 1830, 1830, 1830, 1830,
2532 1830, 1830, 1830, 1830, 215, 214, 1830, 1866, 1867, 1867,
2533 1867, 1830, 1830, 1830, 1830, 1830, 1874, 1874, 1874, 1881,
2534 1881, 1881, 1907, 1907, 1907, 1867, 1907, 210, 207, 1907,
2535 205, 1882, 1882, 1882, 1874, 1874, 1881, 1830, 1830, 1831,
2536 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1831, 1882, 204,
2537 1831, 203, 1866, 202, 198, 1831, 1831, 1831, 1831, 1831,
2538 1883, 1883, 1883, 1884, 1884, 1884, 1897, 1897, 1897, 192,
2539 1867, 1898, 1898, 1898, 1899, 1899, 1899, 1883, 188, 184,
2540 1884, 1831, 1831, 1897, 1903, 1903, 1903, 178, 1898, 1906,
2542 1906, 1906, 1899, 1908, 1908, 1908, 177, 1909, 1909, 1909,
2543 173, 1909, 1903, 1883, 1909, 169, 1906, 1910, 1910, 1910,
2544 1908, 1911, 1911, 1911, 168, 1911, 167, 1897, 1911, 1913,
2545 1913, 1913, 1898, 161, 1910, 160, 1914, 1914, 1914, 158,
2546 1914, 155, 1903, 1914, 143, 0, 1913, 1919, 1919, 1919,
2547 1920, 1920, 1920, 1921, 1921, 1921, 1925, 1925, 1925, 0,
2548 1925, 0, 0, 1925, 1919, 0, 0, 1920, 1928, 1928,
2549 1928, 1921, 1928, 0, 0, 1928, 1931, 1931, 1931, 0,
2550 1931, 0, 0, 1931, 1935, 1935, 1935, 0, 1935, 1921,
2551 1919, 1935, 0, 1920, 1942, 1942, 1942, 1943, 1943, 1943,
2553 1951, 1951, 1951, 1952, 1952, 1952, 1959, 1959, 1959, 0,
2554 0, 1942, 0, 0, 1943, 0, 0, 1951, 0, 0,
2555 1952, 0, 0, 1959, 1960, 1960, 1960, 1962, 1962, 1962,
2556 1967, 1967, 1967, 1968, 1968, 1968, 1970, 1970, 1970, 0,
2557 0, 1960, 0, 0, 1962, 0, 0, 1967, 0, 0,
2558 1968, 1942, 0, 1970, 1943, 0, 0, 1959, 0, 1971,
2559 1971, 1971, 1951, 1971, 0, 1952, 1971, 1976, 1976, 1976,
2560 1977, 1977, 1977, 0, 0, 1960, 0, 0, 1967, 0,
2561 0, 1968, 0, 0, 1976, 0, 0, 1977, 1979, 1979,
2562 1979, 0, 1979, 0, 0, 1979, 1984, 1984, 1984, 1985,
2564 1985, 1985, 1986, 1986, 1986, 1987, 1987, 1987, 1988, 1988,
2565 1988, 0, 0, 1984, 0, 0, 1985, 1989, 1989, 1989,
2566 1986, 1989, 1987, 0, 1989, 1988, 0, 1976, 0, 0,
2567 1977, 1990, 1990, 1990, 0, 1989, 1991, 1991, 1991, 1984,
2568 0, 0, 1985, 1994, 1994, 1994, 0, 0, 1990, 0,
2569 1995, 1995, 1995, 1991, 1998, 1998, 1998, 1999, 1999, 1999,
2570 1994, 2002, 2002, 2002, 0, 0, 1987, 1995, 1988, 0,
2571 0, 1998, 0, 0, 1999, 2003, 2003, 2003, 2002, 1990,
2572 2006, 2006, 2006, 0, 1991, 0, 2007, 2007, 2007, 0,
2573 2007, 0, 2003, 2007, 0, 0, 1995, 2006, 0, 1994,
2575 0, 1998, 2008, 2008, 2008, 2009, 2009, 2009, 0, 2009,
2576 0, 0, 2009, 2012, 2012, 2012, 0, 2012, 0, 2008,
2577 2012, 1999, 2015, 2015, 2015, 0, 2015, 0, 0, 2015,
2578 2032, 2032, 2032, 2033, 2033, 2033, 0, 0, 0, 0,
2579 0, 0, 0, 0, 0, 0, 0, 0, 2032, 0,
2580 0, 2033, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036,
2581 2036, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037, 2037,
2582 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2038, 2039,
2583 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2040, 2040,
2584 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2041, 2041, 2041,
2586 2041, 2041, 2041, 2041, 2041, 2041, 2042, 2042, 2042, 2042,
2587 2042, 2042, 2042, 2042, 2042, 2043, 2043, 2043, 2043, 2043,
2588 2043, 2043, 2043, 2043, 2044, 2044, 2044, 2044, 2044, 2044,
2589 2044, 2044, 2044, 2045, 2045, 2045, 2045, 2045, 2045, 2045,
2590 2045, 2045, 2046, 2046, 2046, 2046, 2046, 2046, 2046, 2046,
2591 2046, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047, 2047,
2592 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2049,
2593 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2049, 2050, 2050,
2594 2050, 2050, 2050, 2050, 2050, 2050, 2050, 2051, 2051, 2051,
2595 2051, 2051, 2051, 2051, 2051, 2051, 2052, 2052, 2052, 2052,
2597 2052, 2052, 2052, 2052, 2052, 2053, 2053, 2053, 2053, 2053,
2598 2053, 2053, 2053, 2053, 2054, 2054, 2054, 2054, 2054, 2054,
2599 2054, 2054, 2054, 2055, 2055, 2055, 2055, 2055, 2055, 2055,
2600 2055, 2055, 2056, 2056, 2056, 2056, 2056, 2056, 2056, 2056,
2601 2056, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057, 2057,
2602 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2058, 2059,
2603 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2060, 2060,
2604 2060, 2060, 2060, 2060, 2060, 2060, 2060, 2061, 2061, 2061,
2605 2061, 2061, 2061, 2061, 2061, 2061, 2062, 2062, 2062, 2062,
2606 2062, 2062, 2062, 2062, 2062, 2063, 2063, 2063, 2063, 2063,
2608 2063, 2063, 2063, 2063, 2064, 2064, 2064, 2064, 2064, 2064,
2609 2064, 2064, 2064, 2065, 2065, 2065, 2065, 2065, 2065, 2065,
2610 2065, 2065, 2066, 2066, 2066, 2066, 2066, 2066, 2066, 2066,
2611 2066, 2067, 2067, 2067, 2067, 2067, 2067, 2067, 2067, 2067,
2612 2068, 2068, 2068, 2068, 2068, 2068, 2068, 2068, 2068, 2069,
2613 2069, 2069, 2069, 2069, 2069, 2069, 2069, 2069, 2070, 2070,
2614 2070, 2070, 2070, 2070, 2070, 2070, 2070, 2071, 2071, 2071,
2615 2071, 2071, 2071, 2071, 2071, 2071, 2072, 2072, 2072, 2072,
2616 2072, 2072, 2072, 2072, 2072, 2073, 2073, 2073, 2073, 2073,
2617 2073, 2073, 2073, 2073, 2074, 2074, 2074, 2074, 2074, 2074,
2619 2074, 2074, 2074, 2075, 2075, 2075, 0, 0, 0, 2075,
2620 2076, 2076, 2076, 0, 0, 0, 2076, 2077, 2077, 2077,
2621 0, 0, 0, 2077, 2078, 2078, 2078, 0, 0, 0,
2622 2078, 2079, 2079, 2079, 0, 0, 0, 2079, 2080, 2080,
2623 2080, 0, 0, 0, 2080, 2081, 2081, 2081, 0, 0,
2624 0, 2081, 2082, 2082, 2082, 0, 0, 0, 2082, 2083,
2625 2083, 2083, 0, 0, 0, 2083, 2084, 2084, 2084, 0,
2626 0, 0, 2084, 2085, 2085, 2085, 0, 0, 0, 2085,
2627 2086, 2086, 2086, 0, 0, 0, 2086, 2087, 2087, 2087,
2628 0, 0, 0, 2087, 2088, 2088, 2088, 0, 0, 0,
2630 2088, 2089, 2089, 2089, 0, 0, 0, 2089, 2090, 2090,
2631 2090, 0, 0, 0, 2090, 2091, 2091, 2091, 0, 0,
2632 0, 2091, 2092, 2092, 2092, 2092, 2092, 2092, 2092, 0,
2633 2092, 2093, 0, 0, 0, 2093, 2094, 0, 0, 0,
2634 2094, 2095, 0, 0, 0, 2095, 2096, 0, 0, 0,
2635 2096, 2097, 0, 0, 0, 2097, 2098, 0, 0, 0,
2636 2098, 2099, 0, 0, 0, 2099, 2100, 0, 0, 0,
2637 2100, 2101, 0, 0, 0, 2101, 2102, 2102, 2102, 0,
2638 0, 0, 2102, 2103, 0, 0, 0, 2103, 2104, 2104,
2639 2104, 0, 0, 0, 2104, 2105, 0, 0, 0, 2105,
2641 2106, 2106, 2106, 0, 0, 0, 2106, 2107, 0, 0,
2642 0, 2107, 2108, 2108, 2108, 0, 0, 0, 2108, 2109,
2643 0, 0, 0, 2109, 2110, 2110, 2110, 0, 0, 0,
2644 2110, 2111, 0, 0, 0, 2111, 2112, 2112, 2112, 0,
2645 0, 0, 2112, 2113, 0, 0, 0, 2113, 2114, 2114,
2646 2114, 0, 0, 0, 2114, 2115, 0, 0, 0, 2115,
2647 2116, 2116, 2116, 0, 0, 0, 2116, 2117, 0, 0,
2648 0, 2117, 2118, 2118, 2118, 2118, 2118, 2118, 2118, 2118,
2649 2118, 2119, 0, 0, 0, 0, 2119, 2120, 2120, 2120,
2650 0, 0, 0, 2120, 2121, 2121, 2121, 2121, 0, 0,
2652 2121, 2121, 2122, 2122, 2122, 0, 0, 0, 2122, 2123,
2653 2123, 2123, 2123, 0, 0, 2123, 2123, 2124, 2124, 2124,
2654 0, 0, 0, 2124, 2125, 2125, 2125, 2125, 0, 0,
2655 2125, 2125, 2126, 2126, 2126, 0, 0, 0, 2126, 2127,
2656 2127, 2127, 2127, 0, 0, 2127, 2127, 2128, 2128, 2128,
2657 0, 0, 0, 2128, 2129, 2129, 2129, 2129, 0, 0,
2658 2129, 2129, 2130, 2130, 2130, 0, 0, 0, 2130, 2131,
2659 2131, 2131, 2131, 0, 0, 2131, 2131, 2132, 2132, 2132,
2660 0, 0, 0, 2132, 2133, 2133, 2133, 2133, 0, 0,
2661 2133, 2133, 2134, 2134, 2134, 0, 0, 0, 2134, 2135,
2663 2135, 2135, 2135, 0, 0, 2135, 2135, 2136, 2136, 2136,
2664 0, 0, 0, 2136, 2137, 2137, 2137, 2137, 0, 0,
2665 2137, 2137, 2138, 2138, 2138, 0, 0, 0, 2138, 2139,
2666 2139, 2139, 2139, 0, 0, 2139, 2139, 2140, 2140, 2140,
2667 2140, 0, 0, 2140, 2140, 2141, 2141, 2141, 0, 0,
2668 0, 2141, 2142, 2142, 2142, 2142, 0, 0, 2142, 2142,
2669 2143, 2143, 2143, 0, 0, 0, 2143, 2144, 2144, 2144,
2670 2144, 0, 0, 2144, 2144, 2145, 2145, 2145, 0, 0,
2671 0, 2145, 2146, 2146, 2146, 2146, 0, 0, 2146, 2146,
2672 2147, 2147, 2147, 2147, 0, 0, 2147, 2147, 2148, 2148,
2674 2148, 0, 0, 0, 2148, 2149, 2149, 2149, 2149, 0,
2675 0, 2149, 2149, 2150, 2150, 2150, 0, 0, 0, 2150,
2676 2151, 2151, 2151, 2151, 0, 0, 2151, 2151, 2152, 2152,
2677 2152, 2152, 2152, 2152, 2152, 2152, 2152, 2153, 0, 2153,
2678 0, 0, 2153, 2154, 2154, 2154, 0, 0, 0, 2154,
2679 2155, 2155, 2155, 2155, 0, 0, 2155, 2155, 2156, 2156,
2680 2156, 2156, 0, 2156, 0, 2156, 2157, 2157, 2157, 2157,
2681 0, 0, 2157, 2157, 2158, 2158, 2158, 2158, 0, 2158,
2682 0, 2158, 2159, 2159, 2159, 2159, 0, 0, 2159, 2159,
2683 2160, 2160, 2160, 0, 0, 0, 2160, 2161, 2161, 2161,
2685 2161, 0, 0, 2161, 2161, 2162, 2162, 2162, 0, 0,
2686 0, 2162, 2163, 2163, 2163, 2163, 0, 0, 2163, 2163,
2687 2164, 2164, 2164, 0, 0, 0, 2164, 2165, 2165, 2165,
2688 2165, 0, 0, 2165, 2165, 2166, 2166, 2166, 0, 0,
2689 0, 2166, 2167, 2167, 2167, 2167, 0, 0, 2167, 2167,
2690 2168, 2168, 2168, 0, 0, 0, 2168, 2169, 2169, 2169,
2691 2169, 0, 0, 2169, 2169, 2170, 2170, 2170, 0, 0,
2692 0, 2170, 2171, 2171, 2171, 2171, 0, 0, 2171, 2171,
2693 2172, 2172, 2172, 0, 0, 0, 2172, 2173, 2173, 2173,
2694 2173, 0, 0, 2173, 2173, 2174, 2174, 2174, 2174, 0,
2696 0, 2174, 2174, 2175, 2175, 2175, 0, 0, 0, 2175,
2697 2176, 2176, 2176, 2176, 0, 0, 2176, 2176, 2177, 2177,
2698 2177, 0, 0, 0, 2177, 2178, 2178, 2178, 2178, 0,
2699 0, 2178, 2178, 2179, 2179, 2179, 0, 0, 0, 2179,
2700 2180, 2180, 2180, 2180, 0, 0, 2180, 2180, 2181, 2181,
2701 2181, 2181, 0, 0, 2181, 2181, 2182, 2182, 2182, 0,
2702 0, 0, 2182, 2183, 2183, 2183, 2183, 0, 0, 2183,
2703 2183, 2184, 2184, 2184, 0, 0, 0, 2184, 2185, 2185,
2704 2185, 2185, 0, 0, 2185, 2185, 2186, 2186, 2186, 2186,
2705 2186, 2186, 2186, 2186, 2186, 2187, 2187, 2187, 2187, 2187,
2707 2187, 2187, 2187, 2187, 2188, 2188, 2188, 0, 0, 0,
2708 2188, 2189, 2189, 2189, 2189, 0, 0, 2189, 2189, 2190,
2709 2190, 2190, 2190, 0, 0, 2190, 2190, 2191, 2191, 2191,
2710 0, 0, 0, 2191, 2192, 2192, 2192, 2192, 0, 0,
2711 2192, 2192, 2193, 2193, 2193, 0, 0, 0, 2193, 2194,
2712 2194, 2194, 2194, 0, 0, 2194, 2194, 2195, 2195, 2195,
2713 0, 0, 0, 2195, 2196, 2196, 2196, 2196, 0, 0,
2714 2196, 2196, 2197, 2197, 2197, 0, 0, 0, 2197, 2198,
2715 2198, 2198, 2198, 0, 0, 2198, 2198, 2199, 2199, 2199,
2716 0, 0, 0, 2199, 2200, 2200, 2200, 2200, 0, 0,
2718 2200, 2200, 2201, 2201, 2201, 0, 0, 0, 2201, 2202,
2719 2202, 2202, 2202, 0, 0, 2202, 2202, 2203, 2203, 2203,
2720 2203, 0, 2203, 0, 2203, 2204, 2204, 2204, 2204, 0,
2721 0, 2204, 2204, 2205, 2205, 2205, 2205, 0, 2205, 0,
2722 2205, 2206, 2206, 2206, 2206, 0, 0, 2206, 2206, 2207,
2723 2207, 2207, 2207, 0, 0, 2207, 2207, 2208, 2208, 2208,
2724 0, 0, 0, 2208, 2209, 2209, 2209, 2209, 0, 0,
2725 2209, 2209, 2210, 2210, 2210, 0, 0, 0, 2210, 2211,
2726 2211, 2211, 2211, 0, 0, 2211, 2211, 2212, 2212, 2212,
2727 0, 0, 0, 2212, 2213, 2213, 2213, 2213, 0, 0,
2729 2213, 2213, 2214, 2214, 2214, 2214, 0, 0, 2214, 2214,
2730 2215, 2215, 2215, 0, 0, 0, 2215, 2216, 2216, 2216,
2731 2216, 0, 0, 2216, 2216, 2217, 2217, 2217, 2217, 0,
2732 2217, 0, 2217, 2218, 2218, 2218, 2218, 0, 0, 2218,
2733 2218, 2219, 2219, 2219, 2219, 2219, 2219, 2219, 2219, 2219,
2734 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2220, 2221,
2735 2221, 2221, 0, 0, 0, 2221, 2222, 2222, 2222, 2222,
2736 0, 0, 2222, 2222, 2223, 2223, 2223, 2223, 0, 0,
2737 2223, 2223, 2224, 2224, 2224, 0, 0, 0, 2224, 2225,
2738 2225, 2225, 2225, 0, 0, 2225, 2225, 2226, 2226, 2226,
2740 0, 0, 0, 2226, 2227, 2227, 2227, 2227, 0, 0,
2741 2227, 2227, 2228, 2228, 2228, 0, 0, 0, 2228, 2229,
2742 2229, 2229, 2229, 0, 0, 2229, 2229, 2230, 2230, 2230,
2743 2230, 0, 2230, 0, 2230, 2231, 2231, 2231, 2231, 0,
2744 2231, 0, 2231, 2232, 2232, 2232, 2232, 0, 0, 2232,
2745 2232, 2233, 2233, 2233, 0, 0, 0, 2233, 2234, 2234,
2746 2234, 2234, 0, 0, 2234, 2234, 2235, 2235, 2235, 2235,
2747 0, 0, 2235, 2235, 2236, 2236, 2236, 2236, 0, 2236,
2748 0, 2236, 2237, 2237, 2237, 2237, 0, 0, 2237, 2237,
2749 2238, 2238, 2238, 2238, 0, 0, 2238, 2238, 2239, 2239,
2751 2239, 0, 0, 0, 2239, 2240, 2240, 2240, 2240, 0,
2752 0, 2240, 2240, 2241, 2241, 2241, 2241, 0, 2241, 0,
2753 2241, 2242, 2242, 2242, 2242, 0, 0, 2242, 2242, 2243,
2754 2243, 2243, 2243, 0, 2243, 0, 2243, 2244, 2244, 2244,
2755 2244, 0, 0, 2244, 2244, 2245, 2245, 2245, 2245, 0,
2756 0, 2245, 2245, 2246, 2246, 2246, 0, 0, 0, 2246,
2757 2247, 2247, 2247, 2247, 0, 0, 2247, 2247, 2248, 2248,
2758 2248, 2248, 0, 0, 2248, 2248, 2249, 2249, 2249, 2249,
2759 2249, 2249, 2249, 2249, 2249, 2250, 2250, 2250, 2250, 2250,
2760 2250, 2250, 2250, 2250, 2251, 2251, 2251, 2251, 0, 2251,
2762 0, 2251, 2252, 2252, 2252, 2252, 0, 0, 2252, 2252,
2763 2253, 2253, 2253, 2253, 0, 0, 2253, 2253, 2254, 2254,
2764 2254, 0, 0, 0, 2254, 2255, 2255, 2255, 2255, 0,
2765 0, 2255, 2255, 2256, 2256, 2256, 0, 0, 0, 2256,
2766 2257, 2257, 2257, 2257, 0, 0, 2257, 2257, 2258, 2258,
2767 2258, 2258, 0, 2258, 0, 2258, 2259, 2259, 2259, 2259,
2768 0, 0, 2259, 2259, 2260, 2260, 2260, 2260, 0, 2260,
2769 0, 2260, 2261, 2261, 2261, 2261, 0, 0, 2261, 2261,
2770 2262, 2262, 2262, 0, 0, 0, 2262, 2263, 2263, 2263,
2771 2263, 2263, 2263, 2263, 2263, 2263, 2264, 2264, 2264, 2264,
2773 2264, 2264, 2264, 2264, 2264, 2265, 2265, 2265, 2265, 2265,
2774 2265, 2265, 2265, 2265, 2266, 2266, 2266, 2266, 2266, 2266,
2775 2266, 2266, 2266, 2267, 2267, 2267, 2267, 2267, 2267, 2267,
2776 2267, 2267, 2268, 2268, 2268, 2268, 2268, 2268, 2268, 2268,
2777 2268, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
2778 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
2779 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
2780 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
2781 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
2782 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
2784 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035, 2035,
2788 /* Table of booleans, true if rule could match eol. */
2789 static yyconst flex_int32_t yy_rule_can_match_eol[354] =
2791 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2792 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2793 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1,
2794 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2795 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2796 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2797 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
2798 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
2799 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1,
2800 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
2801 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1,
2802 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
2803 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
2804 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2805 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0,
2806 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
2807 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2808 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, };
2810 static yy_state_type yy_last_accepting_state;
2811 static char *yy_last_accepting_cpos;
2813 extern int surf_parse__flex_debug;
2814 int surf_parse__flex_debug = 0;
2816 /* The intent behind this definition is that it'll catch
2817 * any uses of REJECT which flex missed.
2819 #define REJECT reject_used_but_not_detected
2820 #define yymore() yymore_used_but_not_detected
2821 #define YY_MORE_ADJ 0
2822 #define YY_RESTORE_YY_MORE_OFFSET
2823 char *surf_parse_text;
2824 /* Validating XML processor for surf/simgrid.dtd.
2825 * Generated 2009/08/26 17:00:32.
2827 * This program was generated with the FleXML XML processor generator.
2828 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2829 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2830 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
2832 * There are two, intertwined parts to this program, part A and part B.
2837 * Some parts, here collectively called "Part A", are found in the
2838 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2839 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2841 * You can redistribute, use, perform, display and/or modify "Part A"
2842 * provided the following two conditions hold:
2844 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2845 * FleXML; without even the implied warranty of MERCHANTABILITY or
2846 * FITNESS FOR A PARTICULAR PURPOSE.
2848 * 2. The program distribution conditions do not in any way affect the
2849 * distribution conditions of the FleXML system used to generate this
2850 * file or any version of FleXML derived from that system.
2852 * Notice that these are explicit rights granted to you for files
2853 * generated by the FleXML system. For your rights in connection with
2854 * the FleXML system itself please consult the GNU General Public License.
2859 * The other parts, here collectively called "Part B", and which came
2860 * from the DTD used by FleXML to generate this program, can be
2861 * distributed (or not, as the case may be) under the terms of whoever
2862 * wrote them, provided these terms respect and obey the two conditions
2863 * above under the heading "Part A".
2865 * The author of and contributors to FleXML specifically disclaim
2866 * any copyright interest in "Part B", unless "Part B" was written
2867 * by the author of or contributors to FleXML.
2871 /* Version strings. */
2872 const char rcs_surfxml_flexml_skeleton[] =
2873 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2874 const char rcs_surfxml_flexml[] =
2875 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
2878 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2885 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2886 # ifndef __STRICT_ANSI__
2888 # include <process.h>
2891 # include <unistd.h>
2894 #ifndef FLEXML_INDEXSTACKSIZE
2895 #define FLEXML_INDEXSTACKSIZE 1000
2898 /* Generated definitions. */
2899 #define FLEXML_yylineno
2900 #ifndef FLEXML_BUFFERSTACKSIZE
2901 #define FLEXML_BUFFERSTACKSIZE 1000000
2903 #define FLEXML_NEED_BUFFERLIT
2905 /* XML processor api. */
2906 /* FleXML-provided data. */
2907 int surfxml_pcdata_ix;
2908 extern char *surfxml_bufferstack;
2909 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2910 AT_surfxml_random_generator AX_surfxml_random_generator;
2911 #define A_surfxml_random_generator AX_surfxml_random_generator
2912 AT_surfxml_prop_id AX_surfxml_prop_id;
2913 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2914 AT_surfxml_host_interference_recv AX_surfxml_host_interference_recv;
2915 #define A_surfxml_host_interference_recv (surfxml_bufferstack + AX_surfxml_host_interference_recv)
2916 AT_surfxml_host_id AX_surfxml_host_id;
2917 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2918 AT_surfxml_set_id AX_surfxml_set_id;
2919 #define A_surfxml_set_id (surfxml_bufferstack + AX_surfxml_set_id)
2920 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2921 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2922 AT_surfxml_host_state AX_surfxml_host_state;
2923 #define A_surfxml_host_state AX_surfxml_host_state
2924 AT_surfxml_host_interference_send_recv AX_surfxml_host_interference_send_recv;
2925 #define A_surfxml_host_interference_send_recv (surfxml_bufferstack + AX_surfxml_host_interference_send_recv)
2926 AT_surfxml_host_interference_send AX_surfxml_host_interference_send;
2927 #define A_surfxml_host_interference_send (surfxml_bufferstack + AX_surfxml_host_interference_send)
2928 AT_surfxml_set_suffix AX_surfxml_set_suffix;
2929 #define A_surfxml_set_suffix (surfxml_bufferstack + AX_surfxml_set_suffix)
2930 AT_surfxml_route_impact_on_dst AX_surfxml_route_impact_on_dst;
2931 #define A_surfxml_route_impact_on_dst (surfxml_bufferstack + AX_surfxml_route_impact_on_dst)
2932 AT_surfxml_host_power AX_surfxml_host_power;
2933 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2934 AT_surfxml_router_id AX_surfxml_router_id;
2935 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2936 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2937 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2938 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2939 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2940 AT_surfxml_platform_xmlns_c_route AX_surfxml_platform_xmlns_c_route;
2941 #define A_surfxml_platform_xmlns_c_route (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_route)
2942 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2943 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2944 AT_surfxml_trace_file AX_surfxml_trace_file;
2945 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2946 AT_surfxml_route_action AX_surfxml_route_action;
2947 #define A_surfxml_route_action AX_surfxml_route_action
2948 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2949 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2950 AT_surfxml_random_min AX_surfxml_random_min;
2951 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2952 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2953 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2954 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2955 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2956 AT_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element;
2957 #define A_surfxml_trace_c_connect_element (surfxml_bufferstack + AX_surfxml_trace_c_connect_element)
2958 AT_surfxml_argument_value AX_surfxml_argument_value;
2959 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2960 AT_surfxml_link_state AX_surfxml_link_state;
2961 #define A_surfxml_link_state AX_surfxml_link_state
2962 AT_surfxml_route_impact_on_src AX_surfxml_route_impact_on_src;
2963 #define A_surfxml_route_impact_on_src (surfxml_bufferstack + AX_surfxml_route_impact_on_src)
2964 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2965 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2966 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2967 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2968 AT_surfxml_random_mean AX_surfxml_random_mean;
2969 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2970 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2971 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2972 AT_surfxml_link_latency AX_surfxml_link_latency;
2973 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2974 AT_surfxml_platform_xmlns_c_link AX_surfxml_platform_xmlns_c_link;
2975 #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link)
2976 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2977 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2978 AT_surfxml_random_id AX_surfxml_random_id;
2979 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2980 AT_surfxml_set_radical AX_surfxml_set_radical;
2981 #define A_surfxml_set_radical (surfxml_bufferstack + AX_surfxml_set_radical)
2982 AT_surfxml_random_max AX_surfxml_random_max;
2983 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2984 AT_surfxml_link_id AX_surfxml_link_id;
2985 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2986 AT_surfxml_process_host AX_surfxml_process_host;
2987 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2988 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2989 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2990 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2991 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2992 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2993 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2994 AT_surfxml_foreach_set_id AX_surfxml_foreach_set_id;
2995 #define A_surfxml_foreach_set_id (surfxml_bufferstack + AX_surfxml_foreach_set_id)
2996 AT_surfxml_route_impact_on_dst_with_other_send AX_surfxml_route_impact_on_dst_with_other_send;
2997 #define A_surfxml_route_impact_on_dst_with_other_send (surfxml_bufferstack + AX_surfxml_route_impact_on_dst_with_other_send)
2998 AT_surfxml_prop_value AX_surfxml_prop_value;
2999 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
3000 AT_surfxml_route_impact_on_src_with_other_recv AX_surfxml_route_impact_on_src_with_other_recv;
3001 #define A_surfxml_route_impact_on_src_with_other_recv (surfxml_bufferstack + AX_surfxml_route_impact_on_src_with_other_recv)
3002 AT_surfxml_trace_timestep AX_surfxml_trace_timestep;
3003 #define A_surfxml_trace_timestep (surfxml_bufferstack + AX_surfxml_trace_timestep)
3004 AT_surfxml_link_state_file AX_surfxml_link_state_file;
3005 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
3006 AT_surfxml_set_prefix AX_surfxml_set_prefix;
3007 #define A_surfxml_set_prefix (surfxml_bufferstack + AX_surfxml_set_prefix)
3008 AT_surfxml_cluster_power AX_surfxml_cluster_power;
3009 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
3010 AT_surfxml_process_function AX_surfxml_process_function;
3011 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
3012 AT_surfxml_host_max_outgoing_rate AX_surfxml_host_max_outgoing_rate;
3013 #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate)
3014 AT_surfxml_link_c_ctn_id AX_surfxml_link_c_ctn_id;
3015 #define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id)
3016 AT_surfxml_host_availability AX_surfxml_host_availability;
3017 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
3018 AT_surfxml_route_src AX_surfxml_route_src;
3019 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
3020 AT_surfxml_route_c_multi_src AX_surfxml_route_c_multi_src;
3021 #define A_surfxml_route_c_multi_src (surfxml_bufferstack + AX_surfxml_route_c_multi_src)
3022 AT_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action;
3023 #define A_surfxml_route_c_multi_action AX_surfxml_route_c_multi_action
3024 AT_surfxml_trace_c_connect_trace AX_surfxml_trace_c_connect_trace;
3025 #define A_surfxml_trace_c_connect_trace (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace)
3026 AT_surfxml_trace_id AX_surfxml_trace_id;
3027 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
3028 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
3029 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
3030 AT_surfxml_include_file AX_surfxml_include_file;
3031 #define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
3032 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
3033 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
3034 AT_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind;
3035 #define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind
3036 AT_surfxml_route_c_multi_dst AX_surfxml_route_c_multi_dst;
3037 #define A_surfxml_route_c_multi_dst (surfxml_bufferstack + AX_surfxml_route_c_multi_dst)
3038 AT_surfxml_host_state_file AX_surfxml_host_state_file;
3039 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
3040 AT_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric;
3041 #define A_surfxml_route_c_multi_symmetric AX_surfxml_route_c_multi_symmetric
3042 AT_surfxml_route_dst AX_surfxml_route_dst;
3043 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
3044 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
3045 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
3046 AT_surfxml_platform_version AX_surfxml_platform_version;
3047 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
3051 # define ENTER(state) debug_enter(state,#state)
3052 # define LEAVE debug_leave()
3053 # define SET(state) debug_set(state,#state)
3054 static void debug_enter(int, const char*);
3055 static void debug_leave(void);
3056 static void debug_set(int, const char*);
3058 # define ENTER(state) (yy_push_state(state))
3059 # define LEAVE (yy_pop_state())
3060 # define SET(state) BEGIN(state)
3063 /* Generic actions. */
3064 #define SKIP /*skip*/
3065 #define SUCCEED CLEANUP; return 0
3067 #define FAIL return fail
3068 static int fail(const char*, ...);
3070 enum {flexml_max_err_msg_size = 512};
3071 static char flexml_err_msg[flexml_max_err_msg_size];
3072 const char * surfxml_parse_err_msg()
3074 return flexml_err_msg;
3076 static void reset_surfxml_parse_err_msg()
3078 flexml_err_msg[0] = '\0';
3082 static void cleanup(void);
3083 #define CLEANUP cleanup()
3085 /* Text buffer stack handling. */
3086 char *surfxml_bufferstack = NULL;
3087 static int blimit = FLEXML_BUFFERSTACKSIZE;
3088 static int bnext = 1;
3090 static int *indexstack = NULL;
3091 static int ilimit = FLEXML_INDEXSTACKSIZE;
3092 static int inext = 1;
3094 #define BUFFERSET(P) (P = bnext)
3095 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
3096 #define BUFFERDONE (BUFFERPUTC('\0'))
3098 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
3100 /* after this is called, there are at least 2 slots left in the stack */
3101 static int ck_blimit()
3103 if (bnext >= blimit) {
3104 blimit += FLEXML_BUFFERSTACKSIZE + 2;
3106 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
3108 surfxml_bufferstack = temp;
3114 /* after this is called, there are at least 2 slots left in the stack */
3115 static int ck_ilimit()
3117 if (inext >= ilimit) {
3118 ilimit += FLEXML_INDEXSTACKSIZE + 2;
3120 int *temp = (int *) realloc(indexstack, ilimit);
3128 #ifdef FLEXML_NEED_BUFFERLIT
3129 static void surfxml_bufferliteral(char c, int* pp, const char* text)
3131 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
3132 assert(s <= e); BUFFERSET(*pp);
3134 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
3135 else BUFFERPUTC(*s);
3141 static void pushbuffer(int p)
3144 indexstack[inext++] = p;
3145 indexstack[inext++] = bnext;
3148 static int popbuffer(void)
3151 bnext = indexstack[--inext];
3152 return indexstack[--inext];
3155 /* General internal entities are `unput' back onto the input stream... */
3156 #define ENTITYTEXT(T) \
3157 { char *s = (T), *e = s+strlen(s);\
3158 while (--e >= s) { unput(*e); }}
3160 /* Flex standard options. */
3161 #define YY_NO_INPUT 1
3162 /* Flex user-requested options. */
3163 /* XML character classes (currently restricted to ASCII). */
3164 /* "Common syntactic structures." */
3165 /* "Names and Tokens." */
3166 /* Miscellaneous. */
3167 /* Parser states (flex `exclusive start conditions'):
3169 * PROLOG the XML prolog of the document before <?xml...>
3170 * DOCTYPE the XML prolog of the document after <?xml...>
3171 * EPILOG after the root element
3172 * INCOMMENT inside an XML comment <!--....-->
3173 * INPI inside an XML PI <?...?>
3174 * VALUE1 inside a '...'-delimited literal
3175 * VALUE2 inside a "..."-delimited literal
3176 * CDATA inside a <![CDATA[...] ]> section.
3177 * ROOT_<tag> expect root element <tag>
3178 * AL_<tag> inside the attribute list for <tag>
3179 * IN_<tag> inside a <tag> with element contents (ready for end tag)
3180 * IMPOSSIBLE dummy to permit disabling rules; must be last
3184 const char* *surfxml_statenames=NULL;
3195 #define ROOT_surfxml_platform 9
3196 #define AL_surfxml_platform 10
3197 #define S_surfxml_platform 11
3198 #define S_surfxml_platform_1 12
3199 #define S_surfxml_platform_2 13
3200 #define S_surfxml_platform_3 14
3201 #define S_surfxml_platform_4 15
3202 #define S_surfxml_platform_5 16
3203 #define E_surfxml_platform 17
3204 #define AL_surfxml_include 18
3205 #define E_surfxml_include 19
3206 #define AL_surfxml_trace 20
3208 #define AL_surfxml_random 22
3209 #define S_surfxml_random 23
3210 #define S_surfxml_random_1 24
3211 #define S_surfxml_random_2 25
3212 #define E_surfxml_random 26
3213 #define AL_surfxml_trace_c_connect 27
3214 #define E_surfxml_trace_c_connect 28
3215 #define AL_surfxml_set 29
3216 #define E_surfxml_set 30
3217 #define AL_surfxml_foreach 31
3218 #define S_surfxml_foreach 32
3219 #define S_surfxml_foreach_1 33
3220 #define E_surfxml_foreach 34
3221 #define AL_surfxml_host 35
3222 #define S_surfxml_host 36
3223 #define S_surfxml_host_1 37
3224 #define S_surfxml_host_2 38
3225 #define E_surfxml_host 39
3226 #define AL_surfxml_prop 40
3227 #define E_surfxml_prop 41
3228 #define AL_surfxml_cluster 42
3229 #define E_surfxml_cluster 43
3230 #define AL_surfxml_router 44
3231 #define E_surfxml_router 45
3232 #define AL_surfxml_link 46
3233 #define S_surfxml_link 47
3234 #define S_surfxml_link_1 48
3235 #define S_surfxml_link_2 49
3236 #define E_surfxml_link 50
3237 #define AL_surfxml_route_c_multi 51
3238 #define S_surfxml_route_c_multi 52
3239 #define S_surfxml_route_c_multi_1 53
3240 #define S_surfxml_route_c_multi_2 54
3241 #define E_surfxml_route_c_multi 55
3242 #define AL_surfxml_route 56
3243 #define S_surfxml_route 57
3244 #define S_surfxml_route_1 58
3245 #define S_surfxml_route_2 59
3246 #define E_surfxml_route 60
3247 #define AL_surfxml_link_c_ctn 61
3248 #define E_surfxml_link_c_ctn 62
3249 #define AL_surfxml_process 63
3250 #define S_surfxml_process 64
3251 #define S_surfxml_process_1 65
3252 #define S_surfxml_process_2 66
3253 #define E_surfxml_process 67
3254 #define AL_surfxml_argument 68
3255 #define E_surfxml_argument 69
3256 #define IMPOSSIBLE 70
3258 #ifndef YY_NO_UNISTD_H
3259 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3260 * down here because we want the user's section 1 to have been scanned first.
3261 * The user has a chance to override it with an option.
3263 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3264 # ifndef __STRICT_ANSI__
3266 # include <process.h>
3269 # include <unistd.h>
3273 #ifndef YY_EXTRA_TYPE
3274 #define YY_EXTRA_TYPE void *
3277 static int yy_init_globals (void );
3279 /* Accessor methods to globals.
3280 These are made visible to non-reentrant scanners for convenience. */
3282 int surf_parse_lex_destroy (void );
3284 int surf_parse_get_debug (void );
3286 void surf_parse_set_debug (int debug_flag );
3288 YY_EXTRA_TYPE surf_parse_get_extra (void );
3290 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3292 FILE *surf_parse_get_in (void );
3294 void surf_parse_set_in (FILE * in_str );
3296 FILE *surf_parse_get_out (void );
3298 void surf_parse_set_out (FILE * out_str );
3300 int surf_parse_get_leng (void );
3302 char *surf_parse_get_text (void );
3304 int surf_parse_get_lineno (void );
3306 void surf_parse_set_lineno (int line_number );
3308 /* Macros after this point can all be overridden by user definitions in
3312 #ifndef YY_SKIP_YYWRAP
3314 extern "C" int surf_parse_wrap (void );
3316 extern int surf_parse_wrap (void );
3321 static void yy_flex_strncpy (char *,yyconst char *,int );
3324 #ifdef YY_NEED_STRLEN
3325 static int yy_flex_strlen (yyconst char * );
3331 static int yyinput (void );
3333 static int input (void );
3338 static int yy_start_stack_ptr = 0;
3339 static int yy_start_stack_depth = 0;
3340 static int *yy_start_stack = NULL;
3342 static void yy_push_state (int new_state );
3344 static void yy_pop_state (void );
3346 /* Amount of stuff to slurp up with each read. */
3347 #ifndef YY_READ_BUF_SIZE
3349 /* On IA-64, the buffer size is 16k, not 8k */
3350 #define YY_READ_BUF_SIZE 16384
3352 #define YY_READ_BUF_SIZE 8192
3353 #endif /* __ia64__ */
3356 /* Copy whatever the last rule matched to the standard output. */
3358 /* This used to be an fputs(), but since the string might contain NUL's,
3359 * we now use fwrite().
3361 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3364 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3365 * is returned in "result".
3368 #define YY_INPUT(buf,result,max_size) \
3369 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3373 for ( n = 0; n < max_size && \
3374 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3375 buf[n] = (char) c; \
3377 buf[n++] = (char) c; \
3378 if ( c == EOF && ferror( surf_parse_in ) ) \
3379 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3385 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3387 if( errno != EINTR) \
3389 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3393 clearerr(surf_parse_in); \
3400 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3401 * we don't want an extra ';' after the "return" because that will cause
3402 * some compilers to complain about unreachable statements.
3405 #define yyterminate() return YY_NULL
3408 /* Number of entries by which start-condition stack grows. */
3409 #ifndef YY_START_STACK_INCR
3410 #define YY_START_STACK_INCR 25
3413 /* Report a fatal error. */
3414 #ifndef YY_FATAL_ERROR
3415 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3418 /* end tables serialization structures and prototypes */
3420 /* Default declaration of generated scanner - a define so the user can
3421 * easily add parameters.
3424 #define YY_DECL_IS_OURS 1
3426 extern int surf_parse_lex (void);
3428 #define YY_DECL int surf_parse_lex (void)
3429 #endif /* !YY_DECL */
3431 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3434 #ifndef YY_USER_ACTION
3435 #define YY_USER_ACTION
3438 /* Code executed at the end of each rule. */
3440 #define YY_BREAK break;
3443 #define YY_RULE_SETUP \
3446 /** The main scanner function which does all the work.
3450 register yy_state_type yy_current_state;
3451 register char *yy_cp, *yy_bp;
3452 register int yy_act;
3454 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3456 reset_surfxml_parse_err_msg();
3457 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3458 assert(surfxml_bufferstack);
3462 for (i = 0; i < blimit; i++) {
3463 surfxml_bufferstack[i] = '\377';
3467 surfxml_bufferstack[0] = '\0';
3468 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3474 surfxml_bufferliteral('\0', &bnext, "0.0");
3475 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3476 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3477 surfxml_bufferliteral('\0', &bnext, "10.0");
3478 surfxml_bufferliteral('\0', &bnext, "1.0");
3479 surfxml_bufferliteral('\0', &bnext, "1.0");
3480 surfxml_bufferliteral('\0', &bnext, "1.0");
3481 surfxml_bufferliteral('\0', &bnext, "1.0");
3482 surfxml_bufferliteral('\0', &bnext, "-1.0");
3483 surfxml_bufferliteral('\0', &bnext, "0.0");
3484 surfxml_bufferliteral('\0', &bnext, "0.0");
3485 surfxml_bufferliteral('\0', &bnext, "0.0");
3486 surfxml_bufferliteral('\0', &bnext, "0.0");
3487 surfxml_bufferliteral('\0', &bnext, "0.0");
3488 surfxml_bufferliteral('\0', &bnext, "-1.0");
3489 surfxml_bufferliteral('\0', &bnext, "-1.0");
3490 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3491 surfxml_statenames[PROLOG] = NULL;
3492 surfxml_statenames[DOCTYPE] = NULL;
3493 surfxml_statenames[EPILOG] = NULL;
3494 surfxml_statenames[INCOMMENT] = NULL;
3495 surfxml_statenames[INPI] = NULL;
3496 surfxml_statenames[VALUE1] = NULL;
3497 surfxml_statenames[VALUE2] = NULL;
3498 surfxml_statenames[CDATA] = NULL;
3499 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3500 surfxml_statenames[AL_surfxml_platform] = NULL;
3501 surfxml_statenames[S_surfxml_platform] = "platform";
3502 surfxml_statenames[S_surfxml_platform_1] = "platform";
3503 surfxml_statenames[S_surfxml_platform_2] = "platform";
3504 surfxml_statenames[S_surfxml_platform_3] = "platform";
3505 surfxml_statenames[S_surfxml_platform_4] = "platform";
3506 surfxml_statenames[S_surfxml_platform_5] = "platform";
3507 surfxml_statenames[E_surfxml_platform] = "platform";
3508 surfxml_statenames[AL_surfxml_include] = NULL;
3509 surfxml_statenames[E_surfxml_include] = "include";
3510 surfxml_statenames[AL_surfxml_trace] = NULL;
3511 surfxml_statenames[IN_trace] = "trace";
3512 surfxml_statenames[AL_surfxml_random] = NULL;
3513 surfxml_statenames[S_surfxml_random] = "random";
3514 surfxml_statenames[S_surfxml_random_1] = "random";
3515 surfxml_statenames[S_surfxml_random_2] = "random";
3516 surfxml_statenames[E_surfxml_random] = "random";
3517 surfxml_statenames[AL_surfxml_trace_c_connect] = NULL;
3518 surfxml_statenames[E_surfxml_trace_c_connect] = "trace:connect";
3519 surfxml_statenames[AL_surfxml_set] = NULL;
3520 surfxml_statenames[E_surfxml_set] = "set";
3521 surfxml_statenames[AL_surfxml_foreach] = NULL;
3522 surfxml_statenames[S_surfxml_foreach] = "foreach";
3523 surfxml_statenames[S_surfxml_foreach_1] = "foreach";
3524 surfxml_statenames[E_surfxml_foreach] = "foreach";
3525 surfxml_statenames[AL_surfxml_host] = NULL;
3526 surfxml_statenames[S_surfxml_host] = "host";
3527 surfxml_statenames[S_surfxml_host_1] = "host";
3528 surfxml_statenames[S_surfxml_host_2] = "host";
3529 surfxml_statenames[E_surfxml_host] = "host";
3530 surfxml_statenames[AL_surfxml_prop] = NULL;
3531 surfxml_statenames[E_surfxml_prop] = "prop";
3532 surfxml_statenames[AL_surfxml_cluster] = NULL;
3533 surfxml_statenames[E_surfxml_cluster] = "cluster";
3534 surfxml_statenames[AL_surfxml_router] = NULL;
3535 surfxml_statenames[E_surfxml_router] = "router";
3536 surfxml_statenames[AL_surfxml_link] = NULL;
3537 surfxml_statenames[S_surfxml_link] = "link";
3538 surfxml_statenames[S_surfxml_link_1] = "link";
3539 surfxml_statenames[S_surfxml_link_2] = "link";
3540 surfxml_statenames[E_surfxml_link] = "link";
3541 surfxml_statenames[AL_surfxml_route_c_multi] = NULL;
3542 surfxml_statenames[S_surfxml_route_c_multi] = "route:multi";
3543 surfxml_statenames[S_surfxml_route_c_multi_1] = "route:multi";
3544 surfxml_statenames[S_surfxml_route_c_multi_2] = "route:multi";
3545 surfxml_statenames[E_surfxml_route_c_multi] = "route:multi";
3546 surfxml_statenames[AL_surfxml_route] = NULL;
3547 surfxml_statenames[S_surfxml_route] = "route";
3548 surfxml_statenames[S_surfxml_route_1] = "route";
3549 surfxml_statenames[S_surfxml_route_2] = "route";
3550 surfxml_statenames[E_surfxml_route] = "route";
3551 surfxml_statenames[AL_surfxml_link_c_ctn] = NULL;
3552 surfxml_statenames[E_surfxml_link_c_ctn] = "link:ctn";
3553 surfxml_statenames[AL_surfxml_process] = NULL;
3554 surfxml_statenames[S_surfxml_process] = "process";
3555 surfxml_statenames[S_surfxml_process_1] = "process";
3556 surfxml_statenames[S_surfxml_process_2] = "process";
3557 surfxml_statenames[E_surfxml_process] = "process";
3558 surfxml_statenames[AL_surfxml_argument] = NULL;
3559 surfxml_statenames[E_surfxml_argument] = "argument";
3562 /* COMMENTS and PIs: handled uniformly for efficiency. */
3573 (yy_start) = 1; /* first start state */
3575 if ( ! surf_parse_in )
3576 surf_parse_in = stdin;
3578 if ( ! surf_parse_out )
3579 surf_parse_out = stdout;
3581 if ( ! YY_CURRENT_BUFFER ) {
3582 surf_parse_ensure_buffer_stack ();
3583 YY_CURRENT_BUFFER_LVALUE =
3584 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3587 surf_parse__load_buffer_state( );
3590 while ( 1 ) /* loops until end-of-file is reached */
3592 yy_cp = (yy_c_buf_p);
3594 /* Support of surf_parse_text. */
3595 *yy_cp = (yy_hold_char);
3597 /* yy_bp points to the position in yy_ch_buf of the start of
3602 yy_current_state = (yy_start);
3606 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3607 if ( yy_accept[yy_current_state] )
3609 (yy_last_accepting_state) = yy_current_state;
3610 (yy_last_accepting_cpos) = yy_cp;
3612 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3614 yy_current_state = (int) yy_def[yy_current_state];
3615 if ( yy_current_state >= 2036 )
3616 yy_c = yy_meta[(unsigned int) yy_c];
3618 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3621 while ( yy_base[yy_current_state] != 7142 );
3624 yy_act = yy_accept[yy_current_state];
3626 { /* have to back up */
3627 yy_cp = (yy_last_accepting_cpos);
3628 yy_current_state = (yy_last_accepting_state);
3629 yy_act = yy_accept[yy_current_state];
3632 YY_DO_BEFORE_ACTION;
3634 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3637 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3638 if ( surf_parse_text[yyl] == '\n' )
3640 surf_parse_lineno++;
3644 do_action: /* This label is used only to access EOF actions. */
3647 { /* beginning of action switch */
3648 case 0: /* must back up */
3649 /* undo the effects of YY_DO_BEFORE_ACTION */
3650 *yy_cp = (yy_hold_char);
3651 yy_cp = (yy_last_accepting_cpos);
3652 yy_current_state = (yy_last_accepting_state);
3653 goto yy_find_action;
3671 /* rule 6 can match eol */
3675 case YY_STATE_EOF(INCOMMENT):
3676 FAIL("EOF in comment.");
3685 /* rule 9 can match eol */
3689 case YY_STATE_EOF(INPI):
3690 FAIL("EOF in PI (processing instruction).");
3693 /* SPACES: skipped uniformly */
3695 /* rule 10 can match eol */
3699 /* PROLOG: determine root element and process it. */
3702 /* rule 11 can match eol */
3707 /* rule 12 can match eol */
3709 FAIL("Bad declaration %s.",surf_parse_text);
3713 /* rule 13 can match eol */
3715 SET(ROOT_surfxml_platform);
3718 /* rule 14 can match eol */
3720 FAIL("Bad declaration %s.",surf_parse_text);
3724 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3726 case YY_STATE_EOF(PROLOG):
3727 case YY_STATE_EOF(DOCTYPE):
3728 FAIL("EOF in prolog.");
3731 /* RULES DERIVED FROM DTD. */
3732 /* <!-- Small DTD for SURF based tools. --> */
3734 /* rule 16 can match eol */
3736 FAIL("Starting tag <platform> is not allowed here.");
3739 /* rule 17 can match eol */
3742 AX_surfxml_platform_version = 1;
3743 AX_surfxml_platform_xmlns_c_link = 5;
3744 AX_surfxml_platform_xmlns_c_route = 37;
3745 ENTER(AL_surfxml_platform); pushbuffer(0);
3750 /* rule 18 can match eol */
3752 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3755 /* rule 19 can match eol */
3757 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3760 /* rule 20 can match eol */
3762 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3765 /* rule 21 can match eol */
3767 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3770 /* rule 22 can match eol */
3772 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3775 /* rule 23 can match eol */
3777 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3782 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
3788 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
3790 case ROOT_surfxml_platform: SET(EPILOG); break;
3796 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
3800 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
3802 case YY_STATE_EOF(AL_surfxml_platform):
3803 FAIL("EOF in attribute list of `platform' element.");
3807 /* rule 28 can match eol */
3811 ETag_surfxml_platform();
3812 popbuffer(); /* attribute */
3814 case ROOT_surfxml_platform: SET(EPILOG); break;
3819 /* rule 29 can match eol */
3821 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
3825 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
3827 case YY_STATE_EOF(S_surfxml_platform_5):
3828 case YY_STATE_EOF(S_surfxml_platform_1):
3829 case YY_STATE_EOF(S_surfxml_platform_3):
3830 case YY_STATE_EOF(S_surfxml_platform):
3831 case YY_STATE_EOF(E_surfxml_platform):
3832 FAIL("Premature EOF: `</platform>' expected.");
3836 /* rule 31 can match eol */
3838 FAIL("Starting tag <include> is not allowed here.");
3841 /* rule 32 can match eol */
3844 AX_surfxml_include_file = 0;
3845 ENTER(AL_surfxml_include); pushbuffer(0);
3850 /* rule 33 can match eol */
3852 ENTER(VALUE1); BUFFERSET(AX_surfxml_include_file);
3855 /* rule 34 can match eol */
3857 ENTER(VALUE2); BUFFERSET(AX_surfxml_include_file);
3862 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
3863 LEAVE; STag_surfxml_include();surfxml_pcdata_ix = 0; ENTER(E_surfxml_include);
3869 if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
3870 LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
3872 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
3873 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3879 FAIL("Unexpected character `%c' in attribute list of include element.", surf_parse_text[0]);
3883 FAIL("Bad attribute `%s' in `include' element start tag.",surf_parse_text);
3885 case YY_STATE_EOF(AL_surfxml_include):
3886 FAIL("EOF in attribute list of `include' element.");
3890 /* rule 39 can match eol */
3894 ETag_surfxml_include();
3895 popbuffer(); /* attribute */
3897 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
3898 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3903 /* rule 40 can match eol */
3905 FAIL("Unexpected end-tag `%s': `</include>' expected.",surf_parse_text);
3909 FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
3911 case YY_STATE_EOF(E_surfxml_include):
3912 FAIL("Premature EOF: `</include>' expected.");
3916 /* rule 42 can match eol */
3918 FAIL("Starting tag <trace> is not allowed here.");
3921 /* rule 43 can match eol */
3924 AX_surfxml_trace_id = 0;
3925 AX_surfxml_trace_file = 0;
3926 AX_surfxml_trace_periodicity = 0;
3927 AX_surfxml_trace_timestep = 69;
3928 ENTER(AL_surfxml_trace); pushbuffer(0);
3933 /* rule 44 can match eol */
3935 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
3938 /* rule 45 can match eol */
3940 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
3943 /* rule 46 can match eol */
3945 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
3948 /* rule 47 can match eol */
3950 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
3953 /* rule 48 can match eol */
3955 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
3958 /* rule 49 can match eol */
3960 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
3963 /* rule 50 can match eol */
3965 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_timestep);
3968 /* rule 51 can match eol */
3970 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_timestep);
3975 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3976 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3977 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
3983 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3984 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3985 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
3987 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
3993 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
3997 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
3999 case YY_STATE_EOF(AL_surfxml_trace):
4000 FAIL("EOF in attribute list of `trace' element.");
4004 /* rule 56 can match eol */
4009 ETag_surfxml_trace();
4010 surfxml_pcdata_ix = popbuffer();
4011 popbuffer(); /* attribute */
4013 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4018 /* rule 57 can match eol */
4020 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
4022 case YY_STATE_EOF(IN_trace):
4023 FAIL("Premature EOF: `</trace>' expected.");
4027 /* rule 58 can match eol */
4029 FAIL("Starting tag <random> is not allowed here.");
4032 /* rule 59 can match eol */
4035 AX_surfxml_random_id = 0;
4036 AX_surfxml_random_min = 0;
4037 AX_surfxml_random_max = 0;
4038 AX_surfxml_random_mean = 0;
4039 AX_surfxml_random_std_deviation = 0;
4040 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4041 ENTER(AL_surfxml_random); pushbuffer(0);
4046 /* rule 60 can match eol */
4048 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
4051 /* rule 61 can match eol */
4053 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
4056 /* rule 62 can match eol */
4058 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
4061 /* rule 63 can match eol */
4063 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
4066 /* rule 64 can match eol */
4068 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
4071 /* rule 65 can match eol */
4073 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
4076 /* rule 66 can match eol */
4078 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
4081 /* rule 67 can match eol */
4083 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
4086 /* rule 68 can match eol */
4088 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
4091 /* rule 69 can match eol */
4093 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
4096 /* rule 70 can match eol */
4098 /* rule 71 can match eol */
4100 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
4103 /* rule 72 can match eol */
4105 /* rule 73 can match eol */
4107 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
4112 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4113 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4114 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4115 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4116 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4117 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
4123 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
4124 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
4125 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
4126 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
4127 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
4128 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
4130 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4136 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
4140 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
4142 case YY_STATE_EOF(AL_surfxml_random):
4143 FAIL("EOF in attribute list of `random' element.");
4147 /* rule 78 can match eol */
4151 ETag_surfxml_random();
4152 popbuffer(); /* attribute */
4154 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4159 /* rule 79 can match eol */
4161 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
4165 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
4167 case YY_STATE_EOF(S_surfxml_random_2):
4168 case YY_STATE_EOF(S_surfxml_random):
4169 case YY_STATE_EOF(E_surfxml_random):
4170 FAIL("Premature EOF: `</random>' expected.");
4174 /* rule 81 can match eol */
4176 FAIL("Starting tag <trace:connect> is not allowed here.");
4179 /* rule 82 can match eol */
4182 AX_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4183 AX_surfxml_trace_c_connect_trace = 0;
4184 AX_surfxml_trace_c_connect_element = 0;
4185 ENTER(AL_surfxml_trace_c_connect); pushbuffer(0);
4190 /* rule 83 can match eol */
4192 /* rule 84 can match eol */
4194 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
4197 /* rule 85 can match eol */
4199 /* rule 86 can match eol */
4201 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_POWER;
4204 /* rule 87 can match eol */
4206 /* rule 88 can match eol */
4208 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LINK_AVAIL;
4211 /* rule 89 can match eol */
4213 /* rule 90 can match eol */
4215 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_BANDWIDTH;
4218 /* rule 91 can match eol */
4220 /* rule 92 can match eol */
4222 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LATENCY;
4225 /* rule 93 can match eol */
4227 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_trace);
4230 /* rule 94 can match eol */
4232 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_trace);
4235 /* rule 95 can match eol */
4237 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_element);
4240 /* rule 96 can match eol */
4242 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_element);
4247 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
4248 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
4249 LEAVE; STag_surfxml_trace_c_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_c_connect);
4255 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
4256 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
4257 LEAVE; STag_surfxml_trace_c_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_c_connect(); popbuffer(); /* attribute */
4259 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
4260 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4266 FAIL("Unexpected character `%c' in attribute list of trace:connect element.", surf_parse_text[0]);
4270 FAIL("Bad attribute `%s' in `trace:connect' element start tag.",surf_parse_text);
4272 case YY_STATE_EOF(AL_surfxml_trace_c_connect):
4273 FAIL("EOF in attribute list of `trace:connect' element.");
4277 /* rule 101 can match eol */
4281 ETag_surfxml_trace_c_connect();
4282 popbuffer(); /* attribute */
4284 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
4285 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4290 /* rule 102 can match eol */
4292 FAIL("Unexpected end-tag `%s': `</trace:connect>' expected.",surf_parse_text);
4296 FAIL("Unexpected character `%c': `</trace:connect>' expected.",surf_parse_text[0]);
4298 case YY_STATE_EOF(E_surfxml_trace_c_connect):
4299 FAIL("Premature EOF: `</trace:connect>' expected.");
4303 /* rule 104 can match eol */
4305 FAIL("Starting tag <set> is not allowed here.");
4308 /* rule 105 can match eol */
4311 AX_surfxml_set_id = 0;
4312 AX_surfxml_set_prefix = 0;
4313 AX_surfxml_set_suffix = 0;
4314 AX_surfxml_set_radical = 0;
4315 ENTER(AL_surfxml_set); pushbuffer(0);
4320 /* rule 106 can match eol */
4322 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_id);
4325 /* rule 107 can match eol */
4327 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_id);
4330 /* rule 108 can match eol */
4332 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_prefix);
4335 /* rule 109 can match eol */
4337 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_prefix);
4340 /* rule 110 can match eol */
4342 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_suffix);
4345 /* rule 111 can match eol */
4347 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_suffix);
4350 /* rule 112 can match eol */
4352 ENTER(VALUE1); BUFFERSET(AX_surfxml_set_radical);
4355 /* rule 113 can match eol */
4357 ENTER(VALUE2); BUFFERSET(AX_surfxml_set_radical);
4362 if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element.");
4363 if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element.");
4364 if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element.");
4365 if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element.");
4366 LEAVE; STag_surfxml_set();surfxml_pcdata_ix = 0; ENTER(E_surfxml_set);
4372 if (!AX_surfxml_set_id) FAIL("Required attribute `id' not set for `set' element.");
4373 if (!AX_surfxml_set_prefix) FAIL("Required attribute `prefix' not set for `set' element.");
4374 if (!AX_surfxml_set_suffix) FAIL("Required attribute `suffix' not set for `set' element.");
4375 if (!AX_surfxml_set_radical) FAIL("Required attribute `radical' not set for `set' element.");
4376 LEAVE; STag_surfxml_set(); surfxml_pcdata_ix = 0; ETag_surfxml_set(); popbuffer(); /* attribute */
4378 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4384 FAIL("Unexpected character `%c' in attribute list of set element.", surf_parse_text[0]);
4388 FAIL("Bad attribute `%s' in `set' element start tag.",surf_parse_text);
4390 case YY_STATE_EOF(AL_surfxml_set):
4391 FAIL("EOF in attribute list of `set' element.");
4395 /* rule 118 can match eol */
4400 popbuffer(); /* attribute */
4402 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4407 /* rule 119 can match eol */
4409 FAIL("Unexpected end-tag `%s': `</set>' expected.",surf_parse_text);
4413 FAIL("Unexpected character `%c': `</set>' expected.",surf_parse_text[0]);
4415 case YY_STATE_EOF(E_surfxml_set):
4416 FAIL("Premature EOF: `</set>' expected.");
4420 /* rule 121 can match eol */
4422 FAIL("Starting tag <foreach> is not allowed here.");
4425 /* rule 122 can match eol */
4428 AX_surfxml_foreach_set_id = 0;
4429 ENTER(AL_surfxml_foreach); pushbuffer(0);
4434 /* rule 123 can match eol */
4436 ENTER(VALUE1); BUFFERSET(AX_surfxml_foreach_set_id);
4439 /* rule 124 can match eol */
4441 ENTER(VALUE2); BUFFERSET(AX_surfxml_foreach_set_id);
4446 if (!AX_surfxml_foreach_set_id) FAIL("Required attribute `set_id' not set for `foreach' element.");
4447 LEAVE; STag_surfxml_foreach();surfxml_pcdata_ix = 0; ENTER(S_surfxml_foreach);
4452 FAIL("`foreach' element cannot be empty.");
4456 FAIL("Unexpected character `%c' in attribute list of foreach element.", surf_parse_text[0]);
4460 FAIL("Bad attribute `%s' in `foreach' element start tag.",surf_parse_text);
4462 case YY_STATE_EOF(AL_surfxml_foreach):
4463 FAIL("EOF in attribute list of `foreach' element.");
4467 /* rule 129 can match eol */
4471 ETag_surfxml_foreach();
4472 popbuffer(); /* attribute */
4474 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4479 /* rule 130 can match eol */
4481 FAIL("Unexpected end-tag `%s': `</foreach>' expected.",surf_parse_text);
4485 FAIL("Unexpected character `%c': `</foreach>' expected.",surf_parse_text[0]);
4487 case YY_STATE_EOF(E_surfxml_foreach):
4488 FAIL("Premature EOF: `</foreach>' expected.");
4492 /* rule 132 can match eol */
4494 FAIL("Starting tag <host> is not allowed here.");
4497 /* rule 133 can match eol */
4500 AX_surfxml_host_id = 0;
4501 AX_surfxml_host_power = 0;
4502 AX_surfxml_host_availability = 74;
4503 AX_surfxml_host_availability_file = 0;
4504 AX_surfxml_host_state = A_surfxml_host_state_ON;
4505 AX_surfxml_host_state_file = 0;
4506 AX_surfxml_host_interference_send = 78;
4507 AX_surfxml_host_interference_recv = 82;
4508 AX_surfxml_host_interference_send_recv = 86;
4509 AX_surfxml_host_max_outgoing_rate = 90;
4510 ENTER(AL_surfxml_host); pushbuffer(0);
4515 /* rule 134 can match eol */
4517 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4520 /* rule 135 can match eol */
4522 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4525 /* rule 136 can match eol */
4527 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4530 /* rule 137 can match eol */
4532 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4535 /* rule 138 can match eol */
4537 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4540 /* rule 139 can match eol */
4542 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4545 /* rule 140 can match eol */
4547 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4550 /* rule 141 can match eol */
4552 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4555 /* rule 142 can match eol */
4557 /* rule 143 can match eol */
4559 A_surfxml_host_state = A_surfxml_host_state_ON;
4562 /* rule 144 can match eol */
4564 /* rule 145 can match eol */
4566 A_surfxml_host_state = A_surfxml_host_state_OFF;
4569 /* rule 146 can match eol */
4571 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4574 /* rule 147 can match eol */
4576 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4579 /* rule 148 can match eol */
4581 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send);
4584 /* rule 149 can match eol */
4586 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send);
4589 /* rule 150 can match eol */
4591 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_recv);
4594 /* rule 151 can match eol */
4596 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_recv);
4599 /* rule 152 can match eol */
4601 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send_recv);
4604 /* rule 153 can match eol */
4606 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send_recv);
4609 /* rule 154 can match eol */
4611 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4614 /* rule 155 can match eol */
4616 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4621 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4622 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4623 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4629 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4630 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4631 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4633 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4634 case S_surfxml_foreach: SET(S_surfxml_foreach_1); break;
4640 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4644 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4646 case YY_STATE_EOF(AL_surfxml_host):
4647 FAIL("EOF in attribute list of `host' element.");
4651 /* rule 160 can match eol */
4655 ETag_surfxml_host();
4656 popbuffer(); /* attribute */
4658 case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
4659 case S_surfxml_foreach: SET(S_surfxml_foreach_1); break;
4664 /* rule 161 can match eol */
4666 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4670 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4672 case YY_STATE_EOF(S_surfxml_host):
4673 case YY_STATE_EOF(E_surfxml_host):
4674 case YY_STATE_EOF(S_surfxml_host_2):
4675 FAIL("Premature EOF: `</host>' expected.");
4679 /* rule 163 can match eol */
4681 FAIL("Starting tag <prop> is not allowed here.");
4684 /* rule 164 can match eol */
4687 AX_surfxml_prop_id = 0;
4688 AX_surfxml_prop_value = 0;
4689 ENTER(AL_surfxml_prop); pushbuffer(0);
4694 /* rule 165 can match eol */
4696 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
4699 /* rule 166 can match eol */
4701 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
4704 /* rule 167 can match eol */
4706 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
4709 /* rule 168 can match eol */
4711 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
4716 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
4717 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
4718 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
4724 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
4725 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
4726 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
4728 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
4729 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
4730 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
4731 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
4737 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
4741 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
4743 case YY_STATE_EOF(AL_surfxml_prop):
4744 FAIL("EOF in attribute list of `prop' element.");
4748 /* rule 173 can match eol */
4752 ETag_surfxml_prop();
4753 popbuffer(); /* attribute */
4755 case S_surfxml_random: case S_surfxml_random_2: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
4756 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
4757 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
4758 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
4763 /* rule 174 can match eol */
4765 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
4769 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
4771 case YY_STATE_EOF(E_surfxml_prop):
4772 FAIL("Premature EOF: `</prop>' expected.");
4776 /* rule 176 can match eol */
4778 FAIL("Starting tag <cluster> is not allowed here.");
4781 /* rule 177 can match eol */
4784 AX_surfxml_cluster_id = 0;
4785 AX_surfxml_cluster_prefix = 0;
4786 AX_surfxml_cluster_suffix = 0;
4787 AX_surfxml_cluster_radical = 0;
4788 AX_surfxml_cluster_power = 0;
4789 AX_surfxml_cluster_bw = 0;
4790 AX_surfxml_cluster_lat = 0;
4791 AX_surfxml_cluster_bb_bw = 0;
4792 AX_surfxml_cluster_bb_lat = 0;
4793 ENTER(AL_surfxml_cluster); pushbuffer(0);
4798 /* rule 178 can match eol */
4800 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4803 /* rule 179 can match eol */
4805 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4808 /* rule 180 can match eol */
4810 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4813 /* rule 181 can match eol */
4815 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4818 /* rule 182 can match eol */
4820 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4823 /* rule 183 can match eol */
4825 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4828 /* rule 184 can match eol */
4830 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4833 /* rule 185 can match eol */
4835 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4838 /* rule 186 can match eol */
4840 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4843 /* rule 187 can match eol */
4845 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4848 /* rule 188 can match eol */
4850 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4853 /* rule 189 can match eol */
4855 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4858 /* rule 190 can match eol */
4860 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4863 /* rule 191 can match eol */
4865 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4868 /* rule 192 can match eol */
4870 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4873 /* rule 193 can match eol */
4875 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4878 /* rule 194 can match eol */
4880 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4883 /* rule 195 can match eol */
4885 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4890 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4891 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4892 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4893 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4894 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4895 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4896 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4897 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4898 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4899 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4905 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4906 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4907 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4908 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4909 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4910 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4911 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4912 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4913 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4914 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4916 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4922 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4926 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4928 case YY_STATE_EOF(AL_surfxml_cluster):
4929 FAIL("EOF in attribute list of `cluster' element.");
4933 /* rule 200 can match eol */
4937 ETag_surfxml_cluster();
4938 popbuffer(); /* attribute */
4940 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
4945 /* rule 201 can match eol */
4947 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4951 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4953 case YY_STATE_EOF(E_surfxml_cluster):
4954 FAIL("Premature EOF: `</cluster>' expected.");
4958 /* rule 203 can match eol */
4960 FAIL("Starting tag <router> is not allowed here.");
4963 /* rule 204 can match eol */
4966 AX_surfxml_router_id = 0;
4967 ENTER(AL_surfxml_router); pushbuffer(0);
4972 /* rule 205 can match eol */
4974 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
4977 /* rule 206 can match eol */
4979 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
4984 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4985 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
4991 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4992 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
4994 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5000 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
5004 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
5006 case YY_STATE_EOF(AL_surfxml_router):
5007 FAIL("EOF in attribute list of `router' element.");
5011 /* rule 211 can match eol */
5015 ETag_surfxml_router();
5016 popbuffer(); /* attribute */
5018 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5023 /* rule 212 can match eol */
5025 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
5029 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
5031 case YY_STATE_EOF(E_surfxml_router):
5032 FAIL("Premature EOF: `</router>' expected.");
5036 /* rule 214 can match eol */
5038 FAIL("Starting tag <link> is not allowed here.");
5041 /* rule 215 can match eol */
5044 AX_surfxml_link_id = 0;
5045 AX_surfxml_link_bandwidth = 0;
5046 AX_surfxml_link_bandwidth_file = 0;
5047 AX_surfxml_link_latency = 95;
5048 AX_surfxml_link_latency_file = 0;
5049 AX_surfxml_link_state = A_surfxml_link_state_ON;
5050 AX_surfxml_link_state_file = 0;
5051 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5052 ENTER(AL_surfxml_link); pushbuffer(0);
5057 /* rule 216 can match eol */
5059 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
5062 /* rule 217 can match eol */
5064 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
5067 /* rule 218 can match eol */
5069 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
5072 /* rule 219 can match eol */
5074 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
5077 /* rule 220 can match eol */
5079 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
5082 /* rule 221 can match eol */
5084 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
5087 /* rule 222 can match eol */
5089 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
5092 /* rule 223 can match eol */
5094 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
5097 /* rule 224 can match eol */
5099 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
5102 /* rule 225 can match eol */
5104 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
5107 /* rule 226 can match eol */
5109 /* rule 227 can match eol */
5111 A_surfxml_link_state = A_surfxml_link_state_ON;
5114 /* rule 228 can match eol */
5116 /* rule 229 can match eol */
5118 A_surfxml_link_state = A_surfxml_link_state_OFF;
5121 /* rule 230 can match eol */
5123 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
5126 /* rule 231 can match eol */
5128 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
5131 /* rule 232 can match eol */
5133 /* rule 233 can match eol */
5135 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
5138 /* rule 234 can match eol */
5140 /* rule 235 can match eol */
5142 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
5147 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5148 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5149 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
5155 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
5156 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
5157 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
5159 case S_surfxml_foreach: case S_surfxml_foreach_1: SET(E_surfxml_foreach); break;
5160 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5166 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
5170 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
5172 case YY_STATE_EOF(AL_surfxml_link):
5173 FAIL("EOF in attribute list of `link' element.");
5177 /* rule 240 can match eol */
5181 ETag_surfxml_link();
5182 popbuffer(); /* attribute */
5184 case S_surfxml_foreach: case S_surfxml_foreach_1: SET(E_surfxml_foreach); break;
5185 case S_surfxml_platform_2: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_3); break;
5190 /* rule 241 can match eol */
5192 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
5196 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
5198 case YY_STATE_EOF(S_surfxml_link_2):
5199 case YY_STATE_EOF(E_surfxml_link):
5200 case YY_STATE_EOF(S_surfxml_link):
5201 FAIL("Premature EOF: `</link>' expected.");
5205 /* rule 243 can match eol */
5207 FAIL("Starting tag <route:multi> is not allowed here.");
5210 /* rule 244 can match eol */
5213 AX_surfxml_route_c_multi_src = 0;
5214 AX_surfxml_route_c_multi_dst = 0;
5215 AX_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND;
5216 AX_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES;
5217 ENTER(AL_surfxml_route_c_multi); pushbuffer(0);
5222 /* rule 245 can match eol */
5224 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_src);
5227 /* rule 246 can match eol */
5229 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_src);
5232 /* rule 247 can match eol */
5234 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_c_multi_dst);
5237 /* rule 248 can match eol */
5239 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_c_multi_dst);
5242 /* rule 249 can match eol */
5244 /* rule 250 can match eol */
5246 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_POSTPEND;
5249 /* rule 251 can match eol */
5251 /* rule 252 can match eol */
5253 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_PREPEND;
5256 /* rule 253 can match eol */
5258 /* rule 254 can match eol */
5260 A_surfxml_route_c_multi_action = A_surfxml_route_c_multi_action_OVERRIDE;
5263 /* rule 255 can match eol */
5265 /* rule 256 can match eol */
5267 A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_YES;
5270 /* rule 257 can match eol */
5272 /* rule 258 can match eol */
5274 A_surfxml_route_c_multi_symmetric = A_surfxml_route_c_multi_symmetric_NO;
5279 if (!AX_surfxml_route_c_multi_src) FAIL("Required attribute `src' not set for `route:multi' element.");
5280 if (!AX_surfxml_route_c_multi_dst) FAIL("Required attribute `dst' not set for `route:multi' element.");
5281 LEAVE; STag_surfxml_route_c_multi();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route_c_multi);
5286 FAIL("`route:multi' element cannot be empty.");
5290 FAIL("Unexpected character `%c' in attribute list of route:multi element.", surf_parse_text[0]);
5294 FAIL("Bad attribute `%s' in `route:multi' element start tag.",surf_parse_text);
5296 case YY_STATE_EOF(AL_surfxml_route_c_multi):
5297 FAIL("EOF in attribute list of `route:multi' element.");
5301 /* rule 263 can match eol */
5305 ETag_surfxml_route_c_multi();
5306 popbuffer(); /* attribute */
5308 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5313 /* rule 264 can match eol */
5315 FAIL("Unexpected end-tag `%s': `</route:multi>' expected.",surf_parse_text);
5319 FAIL("Unexpected character `%c': `</route:multi>' expected.",surf_parse_text[0]);
5321 case YY_STATE_EOF(S_surfxml_route_c_multi_2):
5322 case YY_STATE_EOF(E_surfxml_route_c_multi):
5323 FAIL("Premature EOF: `</route:multi>' expected.");
5327 /* rule 266 can match eol */
5329 FAIL("Starting tag <route> is not allowed here.");
5332 /* rule 267 can match eol */
5335 AX_surfxml_route_src = 0;
5336 AX_surfxml_route_dst = 0;
5337 AX_surfxml_route_impact_on_src = 99;
5338 AX_surfxml_route_impact_on_dst = 103;
5339 AX_surfxml_route_impact_on_src_with_other_recv = 107;
5340 AX_surfxml_route_impact_on_dst_with_other_send = 111;
5341 AX_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5342 ENTER(AL_surfxml_route); pushbuffer(0);
5347 /* rule 268 can match eol */
5349 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
5352 /* rule 269 can match eol */
5354 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
5357 /* rule 270 can match eol */
5359 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
5362 /* rule 271 can match eol */
5364 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
5367 /* rule 272 can match eol */
5369 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src);
5372 /* rule 273 can match eol */
5374 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src);
5377 /* rule 274 can match eol */
5379 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst);
5382 /* rule 275 can match eol */
5384 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst);
5387 /* rule 276 can match eol */
5389 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5392 /* rule 277 can match eol */
5394 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_src_with_other_recv);
5397 /* rule 278 can match eol */
5399 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5402 /* rule 279 can match eol */
5404 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_impact_on_dst_with_other_send);
5407 /* rule 280 can match eol */
5409 /* rule 281 can match eol */
5411 A_surfxml_route_action = A_surfxml_route_action_POSTPEND;
5414 /* rule 282 can match eol */
5416 /* rule 283 can match eol */
5418 A_surfxml_route_action = A_surfxml_route_action_PREPEND;
5421 /* rule 284 can match eol */
5423 /* rule 285 can match eol */
5425 A_surfxml_route_action = A_surfxml_route_action_OVERRIDE;
5430 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5431 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5432 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
5438 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
5439 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
5440 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
5442 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5448 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
5452 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
5454 case YY_STATE_EOF(AL_surfxml_route):
5455 FAIL("EOF in attribute list of `route' element.");
5459 /* rule 290 can match eol */
5463 ETag_surfxml_route();
5464 popbuffer(); /* attribute */
5466 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5471 /* rule 291 can match eol */
5473 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
5477 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
5479 case YY_STATE_EOF(S_surfxml_route):
5480 case YY_STATE_EOF(S_surfxml_route_2):
5481 case YY_STATE_EOF(E_surfxml_route):
5482 FAIL("Premature EOF: `</route>' expected.");
5486 /* rule 293 can match eol */
5488 FAIL("Starting tag <link:ctn> is not allowed here.");
5491 /* rule 294 can match eol */
5494 AX_surfxml_link_c_ctn_id = 0;
5495 ENTER(AL_surfxml_link_c_ctn); pushbuffer(0);
5500 /* rule 295 can match eol */
5502 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_c_ctn_id);
5505 /* rule 296 can match eol */
5507 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_c_ctn_id);
5512 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5513 LEAVE; STag_surfxml_link_c_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_c_ctn);
5519 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5520 LEAVE; STag_surfxml_link_c_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_c_ctn(); popbuffer(); /* attribute */
5522 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5523 case S_surfxml_route_c_multi_2: case S_surfxml_route_c_multi_1: case S_surfxml_route_c_multi: SET(S_surfxml_route_c_multi_2); break;
5529 FAIL("Unexpected character `%c' in attribute list of link:ctn element.", surf_parse_text[0]);
5533 FAIL("Bad attribute `%s' in `link:ctn' element start tag.",surf_parse_text);
5535 case YY_STATE_EOF(AL_surfxml_link_c_ctn):
5536 FAIL("EOF in attribute list of `link:ctn' element.");
5540 /* rule 301 can match eol */
5544 ETag_surfxml_link_c_ctn();
5545 popbuffer(); /* attribute */
5547 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5548 case S_surfxml_route_c_multi_2: case S_surfxml_route_c_multi_1: case S_surfxml_route_c_multi: SET(S_surfxml_route_c_multi_2); break;
5553 /* rule 302 can match eol */
5555 FAIL("Unexpected end-tag `%s': `</link:ctn>' expected.",surf_parse_text);
5559 FAIL("Unexpected character `%c': `</link:ctn>' expected.",surf_parse_text[0]);
5561 case YY_STATE_EOF(E_surfxml_link_c_ctn):
5562 FAIL("Premature EOF: `</link:ctn>' expected.");
5566 /* rule 304 can match eol */
5568 FAIL("Starting tag <process> is not allowed here.");
5571 /* rule 305 can match eol */
5574 AX_surfxml_process_host = 0;
5575 AX_surfxml_process_function = 0;
5576 AX_surfxml_process_start_time = 115;
5577 AX_surfxml_process_kill_time = 120;
5578 ENTER(AL_surfxml_process); pushbuffer(0);
5583 /* rule 306 can match eol */
5585 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5588 /* rule 307 can match eol */
5590 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5593 /* rule 308 can match eol */
5595 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5598 /* rule 309 can match eol */
5600 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5603 /* rule 310 can match eol */
5605 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5608 /* rule 311 can match eol */
5610 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5613 /* rule 312 can match eol */
5615 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5618 /* rule 313 can match eol */
5620 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5625 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5626 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5627 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5633 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5634 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5635 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5637 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5643 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5647 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5649 case YY_STATE_EOF(AL_surfxml_process):
5650 FAIL("EOF in attribute list of `process' element.");
5654 /* rule 318 can match eol */
5658 ETag_surfxml_process();
5659 popbuffer(); /* attribute */
5661 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_5); break;
5666 /* rule 319 can match eol */
5668 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5672 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5674 case YY_STATE_EOF(S_surfxml_process):
5675 case YY_STATE_EOF(E_surfxml_process):
5676 case YY_STATE_EOF(S_surfxml_process_2):
5677 FAIL("Premature EOF: `</process>' expected.");
5681 /* rule 321 can match eol */
5683 FAIL("Starting tag <argument> is not allowed here.");
5686 /* rule 322 can match eol */
5689 AX_surfxml_argument_value = 0;
5690 ENTER(AL_surfxml_argument); pushbuffer(0);
5695 /* rule 323 can match eol */
5697 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5700 /* rule 324 can match eol */
5702 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5707 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5708 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5714 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5715 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5717 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5723 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5727 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5729 case YY_STATE_EOF(AL_surfxml_argument):
5730 FAIL("EOF in attribute list of `argument' element.");
5734 /* rule 329 can match eol */
5738 ETag_surfxml_argument();
5739 popbuffer(); /* attribute */
5741 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5746 /* rule 330 can match eol */
5748 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5752 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5754 case YY_STATE_EOF(E_surfxml_argument):
5755 FAIL("Premature EOF: `</argument>' expected.");
5758 /* EPILOG: after the root element. */
5762 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
5764 case YY_STATE_EOF(EPILOG):
5768 /* CHARACTER DATA. */
5770 /* Non-defined standard entities... */
5791 /* Character entities. */
5794 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
5798 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
5802 /* rule 340 can match eol */
5804 /* rule 341 can match eol */
5806 /* rule 342 can match eol */
5808 /* rule 343 can match eol */
5819 FAIL("Unexpected `]""]>' in character data.");
5826 case YY_STATE_EOF(VALUE1):
5827 FAIL("EOF in literal (\"'\" expected).");
5834 case YY_STATE_EOF(VALUE2):
5835 FAIL("EOF in literal (`\"' expected).");
5839 /* rule 348 can match eol */
5841 BUFFERPUTC(surf_parse_text[0]);
5845 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
5852 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5855 BUFFERPUTC(surf_parse_text[0]);
5857 case YY_STATE_EOF(CDATA):
5858 FAIL("EOF in CDATA section.");
5861 /* Impossible rules to avoid warnings from flex(1). */
5862 /* Ideally, this should be replaced by code in flexml.pl that
5863 generates just the states not covered by other rules. */
5866 /* rule 352 can match eol */
5868 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5875 case YY_STATE_EOF(INITIAL):
5876 case YY_STATE_EOF(ROOT_surfxml_platform):
5877 case YY_STATE_EOF(S_surfxml_platform_2):
5878 case YY_STATE_EOF(S_surfxml_platform_4):
5879 case YY_STATE_EOF(S_surfxml_random_1):
5880 case YY_STATE_EOF(S_surfxml_foreach):
5881 case YY_STATE_EOF(S_surfxml_foreach_1):
5882 case YY_STATE_EOF(S_surfxml_host_1):
5883 case YY_STATE_EOF(S_surfxml_link_1):
5884 case YY_STATE_EOF(S_surfxml_route_c_multi):
5885 case YY_STATE_EOF(S_surfxml_route_c_multi_1):
5886 case YY_STATE_EOF(S_surfxml_route_1):
5887 case YY_STATE_EOF(S_surfxml_process_1):
5888 case YY_STATE_EOF(IMPOSSIBLE):
5891 case YY_END_OF_BUFFER:
5893 /* Amount of text matched not including the EOB char. */
5894 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5896 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5897 *yy_cp = (yy_hold_char);
5898 YY_RESTORE_YY_MORE_OFFSET
5900 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5902 /* We're scanning a new file or input source. It's
5903 * possible that this happened because the user
5904 * just pointed surf_parse_in at a new source and called
5905 * surf_parse_lex(). If so, then we have to assure
5906 * consistency between YY_CURRENT_BUFFER and our
5907 * globals. Here is the right place to do so, because
5908 * this is the first action (other than possibly a
5909 * back-up) that will match for the new input source.
5911 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5912 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5913 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5916 /* Note that here we test for yy_c_buf_p "<=" to the position
5917 * of the first EOB in the buffer, since yy_c_buf_p will
5918 * already have been incremented past the NUL character
5919 * (since all states make transitions on EOB to the
5920 * end-of-buffer state). Contrast this with the test
5923 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5924 { /* This was really a NUL. */
5925 yy_state_type yy_next_state;
5927 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5929 yy_current_state = yy_get_previous_state( );
5931 /* Okay, we're now positioned to make the NUL
5932 * transition. We couldn't have
5933 * yy_get_previous_state() go ahead and do it
5934 * for us because it doesn't know how to deal
5935 * with the possibility of jamming (and we don't
5936 * want to build jamming into it because then it
5937 * will run more slowly).
5940 yy_next_state = yy_try_NUL_trans( yy_current_state );
5942 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5944 if ( yy_next_state )
5946 /* Consume the NUL. */
5947 yy_cp = ++(yy_c_buf_p);
5948 yy_current_state = yy_next_state;
5954 yy_cp = (yy_c_buf_p);
5955 goto yy_find_action;
5959 else switch ( yy_get_next_buffer( ) )
5961 case EOB_ACT_END_OF_FILE:
5963 (yy_did_buffer_switch_on_eof) = 0;
5965 if ( surf_parse_wrap( ) )
5967 /* Note: because we've taken care in
5968 * yy_get_next_buffer() to have set up
5969 * surf_parse_text, we can now set up
5970 * yy_c_buf_p so that if some total
5971 * hoser (like flex itself) wants to
5972 * call the scanner after we return the
5973 * YY_NULL, it'll still work - another
5974 * YY_NULL will get returned.
5976 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5978 yy_act = YY_STATE_EOF(YY_START);
5984 if ( ! (yy_did_buffer_switch_on_eof) )
5990 case EOB_ACT_CONTINUE_SCAN:
5992 (yytext_ptr) + yy_amount_of_matched_text;
5994 yy_current_state = yy_get_previous_state( );
5996 yy_cp = (yy_c_buf_p);
5997 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6000 case EOB_ACT_LAST_MATCH:
6002 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6004 yy_current_state = yy_get_previous_state( );
6006 yy_cp = (yy_c_buf_p);
6007 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6008 goto yy_find_action;
6015 "fatal flex scanner internal error--no action found" );
6016 } /* end of action switch */
6017 } /* end of scanning one token */
6018 } /* end of surf_parse_lex */
6020 /* yy_get_next_buffer - try to read in a new buffer
6022 * Returns a code representing an action:
6023 * EOB_ACT_LAST_MATCH -
6024 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6025 * EOB_ACT_END_OF_FILE - end of file
6027 static int yy_get_next_buffer (void)
6029 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6030 register char *source = (yytext_ptr);
6031 register int number_to_move, i;
6034 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6036 "fatal flex scanner internal error--end of buffer missed" );
6038 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6039 { /* Don't try to fill the buffer, so this is an EOF. */
6040 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6042 /* We matched a single character, the EOB, so
6043 * treat this as a final EOF.
6045 return EOB_ACT_END_OF_FILE;
6050 /* We matched some text prior to the EOB, first
6053 return EOB_ACT_LAST_MATCH;
6057 /* Try to read more data. */
6059 /* First move last chars to start of buffer. */
6060 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6062 for ( i = 0; i < number_to_move; ++i )
6063 *(dest++) = *(source++);
6065 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6066 /* don't do the read, it's not guaranteed to return an EOF,
6069 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6074 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6076 while ( num_to_read <= 0 )
6077 { /* Not enough room in the buffer - grow it. */
6079 /* just a shorter name for the current buffer */
6080 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
6082 int yy_c_buf_p_offset =
6083 (int) ((yy_c_buf_p) - b->yy_ch_buf);
6085 if ( b->yy_is_our_buffer )
6087 int new_size = b->yy_buf_size * 2;
6089 if ( new_size <= 0 )
6090 b->yy_buf_size += b->yy_buf_size / 8;
6092 b->yy_buf_size *= 2;
6094 b->yy_ch_buf = (char *)
6095 /* Include room in for 2 EOB chars. */
6096 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
6099 /* Can't grow it, we don't own it. */
6102 if ( ! b->yy_ch_buf )
6104 "fatal error - scanner input buffer overflow" );
6106 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6108 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6113 if ( num_to_read > YY_READ_BUF_SIZE )
6114 num_to_read = YY_READ_BUF_SIZE;
6116 /* Read in more data. */
6117 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6118 (yy_n_chars), (size_t) num_to_read );
6120 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6123 if ( (yy_n_chars) == 0 )
6125 if ( number_to_move == YY_MORE_ADJ )
6127 ret_val = EOB_ACT_END_OF_FILE;
6128 surf_parse_restart(surf_parse_in );
6133 ret_val = EOB_ACT_LAST_MATCH;
6134 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6135 YY_BUFFER_EOF_PENDING;
6140 ret_val = EOB_ACT_CONTINUE_SCAN;
6142 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6143 /* Extend the array by 50%, plus the number we really need. */
6144 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6145 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6146 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6147 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6150 (yy_n_chars) += number_to_move;
6151 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6152 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6154 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6159 /* yy_get_previous_state - get the state just before the EOB char was reached */
6161 static yy_state_type yy_get_previous_state (void)
6163 register yy_state_type yy_current_state;
6164 register char *yy_cp;
6166 yy_current_state = (yy_start);
6168 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6170 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6171 if ( yy_accept[yy_current_state] )
6173 (yy_last_accepting_state) = yy_current_state;
6174 (yy_last_accepting_cpos) = yy_cp;
6176 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6178 yy_current_state = (int) yy_def[yy_current_state];
6179 if ( yy_current_state >= 2036 )
6180 yy_c = yy_meta[(unsigned int) yy_c];
6182 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6185 return yy_current_state;
6188 /* yy_try_NUL_trans - try to make a transition on the NUL character
6191 * next_state = yy_try_NUL_trans( current_state );
6193 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6195 register int yy_is_jam;
6196 register char *yy_cp = (yy_c_buf_p);
6198 register YY_CHAR yy_c = 1;
6199 if ( yy_accept[yy_current_state] )
6201 (yy_last_accepting_state) = yy_current_state;
6202 (yy_last_accepting_cpos) = yy_cp;
6204 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6206 yy_current_state = (int) yy_def[yy_current_state];
6207 if ( yy_current_state >= 2036 )
6208 yy_c = yy_meta[(unsigned int) yy_c];
6210 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6211 yy_is_jam = (yy_current_state == 2035);
6213 return yy_is_jam ? 0 : yy_current_state;
6218 static int yyinput (void)
6220 static int input (void)
6226 *(yy_c_buf_p) = (yy_hold_char);
6228 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6230 /* yy_c_buf_p now points to the character we want to return.
6231 * If this occurs *before* the EOB characters, then it's a
6232 * valid NUL; if not, then we've hit the end of the buffer.
6234 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6235 /* This was really a NUL. */
6236 *(yy_c_buf_p) = '\0';
6239 { /* need more input */
6240 int offset = (yy_c_buf_p) - (yytext_ptr);
6243 switch ( yy_get_next_buffer( ) )
6245 case EOB_ACT_LAST_MATCH:
6246 /* This happens because yy_g_n_b()
6247 * sees that we've accumulated a
6248 * token and flags that we need to
6249 * try matching the token before
6250 * proceeding. But for input(),
6251 * there's no matching to consider.
6252 * So convert the EOB_ACT_LAST_MATCH
6253 * to EOB_ACT_END_OF_FILE.
6256 /* Reset buffer status. */
6257 surf_parse_restart(surf_parse_in );
6261 case EOB_ACT_END_OF_FILE:
6263 if ( surf_parse_wrap( ) )
6266 if ( ! (yy_did_buffer_switch_on_eof) )
6275 case EOB_ACT_CONTINUE_SCAN:
6276 (yy_c_buf_p) = (yytext_ptr) + offset;
6282 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6283 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
6284 (yy_hold_char) = *++(yy_c_buf_p);
6288 surf_parse_lineno++;
6293 #endif /* ifndef YY_NO_INPUT */
6295 /** Immediately switch to a different input stream.
6296 * @param input_file A readable stream.
6298 * @note This function does not reset the start condition to @c INITIAL .
6300 void surf_parse_restart (FILE * input_file )
6303 if ( ! YY_CURRENT_BUFFER ){
6304 surf_parse_ensure_buffer_stack ();
6305 YY_CURRENT_BUFFER_LVALUE =
6306 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6309 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6310 surf_parse__load_buffer_state( );
6313 /** Switch to a different input buffer.
6314 * @param new_buffer The new input buffer.
6317 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6320 /* TODO. We should be able to replace this entire function body
6322 * surf_parse_pop_buffer_state();
6323 * surf_parse_push_buffer_state(new_buffer);
6325 surf_parse_ensure_buffer_stack ();
6326 if ( YY_CURRENT_BUFFER == new_buffer )
6329 if ( YY_CURRENT_BUFFER )
6331 /* Flush out information for old buffer. */
6332 *(yy_c_buf_p) = (yy_hold_char);
6333 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6334 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6337 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6338 surf_parse__load_buffer_state( );
6340 /* We don't actually know whether we did this switch during
6341 * EOF (surf_parse_wrap()) processing, but the only time this flag
6342 * is looked at is after surf_parse_wrap() is called, so it's safe
6343 * to go ahead and always set it.
6345 (yy_did_buffer_switch_on_eof) = 1;
6348 static void surf_parse__load_buffer_state (void)
6350 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6351 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6352 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6353 (yy_hold_char) = *(yy_c_buf_p);
6356 /** Allocate and initialize an input buffer state.
6357 * @param file A readable stream.
6358 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6360 * @return the allocated buffer state.
6362 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6366 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6368 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6370 b->yy_buf_size = size;
6372 /* yy_ch_buf has to be 2 characters longer than the size given because
6373 * we need to put in 2 end-of-buffer characters.
6375 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6376 if ( ! b->yy_ch_buf )
6377 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6379 b->yy_is_our_buffer = 1;
6381 surf_parse__init_buffer(b,file );
6386 /** Destroy the buffer.
6387 * @param b a buffer created with surf_parse__create_buffer()
6390 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6396 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6397 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6399 if ( b->yy_is_our_buffer )
6400 surf_parse_free((void *) b->yy_ch_buf );
6402 surf_parse_free((void *) b );
6406 extern int isatty (int );
6407 #endif /* __cplusplus */
6409 /* Initializes or reinitializes a buffer.
6410 * This function is sometimes called more than once on the same buffer,
6411 * such as during a surf_parse_restart() or at EOF.
6413 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6418 surf_parse__flush_buffer(b );
6420 b->yy_input_file = file;
6421 b->yy_fill_buffer = 1;
6423 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6424 * called from surf_parse_restart() or through yy_get_next_buffer.
6425 * In that case, we don't want to reset the lineno or column.
6427 if (b != YY_CURRENT_BUFFER){
6428 b->yy_bs_lineno = 1;
6429 b->yy_bs_column = 0;
6432 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6437 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6438 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6441 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6448 /* We always need two end-of-buffer characters. The first causes
6449 * a transition to the end-of-buffer state. The second causes
6450 * a jam in that state.
6452 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6453 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6455 b->yy_buf_pos = &b->yy_ch_buf[0];
6458 b->yy_buffer_status = YY_BUFFER_NEW;
6460 if ( b == YY_CURRENT_BUFFER )
6461 surf_parse__load_buffer_state( );
6464 /** Pushes the new state onto the stack. The new state becomes
6465 * the current state. This function will allocate the stack
6467 * @param new_buffer The new state.
6470 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6472 if (new_buffer == NULL)
6475 surf_parse_ensure_buffer_stack();
6477 /* This block is copied from surf_parse__switch_to_buffer. */
6478 if ( YY_CURRENT_BUFFER )
6480 /* Flush out information for old buffer. */
6481 *(yy_c_buf_p) = (yy_hold_char);
6482 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6483 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6486 /* Only push if top exists. Otherwise, replace top. */
6487 if (YY_CURRENT_BUFFER)
6488 (yy_buffer_stack_top)++;
6489 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6491 /* copied from surf_parse__switch_to_buffer. */
6492 surf_parse__load_buffer_state( );
6493 (yy_did_buffer_switch_on_eof) = 1;
6496 /** Removes and deletes the top of the stack, if present.
6497 * The next element becomes the new top.
6500 void surf_parse_pop_buffer_state (void)
6502 if (!YY_CURRENT_BUFFER)
6505 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6506 YY_CURRENT_BUFFER_LVALUE = NULL;
6507 if ((yy_buffer_stack_top) > 0)
6508 --(yy_buffer_stack_top);
6510 if (YY_CURRENT_BUFFER) {
6511 surf_parse__load_buffer_state( );
6512 (yy_did_buffer_switch_on_eof) = 1;
6516 /* Allocates the stack if it does not exist.
6517 * Guarantees space for at least one push.
6519 static void surf_parse_ensure_buffer_stack (void)
6523 if (!(yy_buffer_stack)) {
6525 /* First allocation is just for 2 elements, since we don't know if this
6526 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6527 * immediate realloc on the next call.
6530 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6531 (num_to_alloc * sizeof(struct yy_buffer_state*)
6533 if ( ! (yy_buffer_stack) )
6534 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6536 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6538 (yy_buffer_stack_max) = num_to_alloc;
6539 (yy_buffer_stack_top) = 0;
6543 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6545 /* Increase the buffer to prepare for a possible push. */
6546 int grow_size = 8 /* arbitrary grow size */;
6548 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6549 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
6551 num_to_alloc * sizeof(struct yy_buffer_state*)
6553 if ( ! (yy_buffer_stack) )
6554 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6556 /* zero only the new slots.*/
6557 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6558 (yy_buffer_stack_max) = num_to_alloc;
6562 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6563 * @param base the character buffer
6564 * @param size the size in bytes of the character buffer
6566 * @return the newly allocated buffer state object.
6568 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
6573 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6574 base[size-1] != YY_END_OF_BUFFER_CHAR )
6575 /* They forgot to leave room for the EOB's. */
6578 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6580 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
6582 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6583 b->yy_buf_pos = b->yy_ch_buf = base;
6584 b->yy_is_our_buffer = 0;
6585 b->yy_input_file = 0;
6586 b->yy_n_chars = b->yy_buf_size;
6587 b->yy_is_interactive = 0;
6589 b->yy_fill_buffer = 0;
6590 b->yy_buffer_status = YY_BUFFER_NEW;
6592 surf_parse__switch_to_buffer(b );
6597 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6598 * scan from a @e copy of @a str.
6599 * @param yystr a NUL-terminated string to scan
6601 * @return the newly allocated buffer state object.
6602 * @note If you want to scan bytes that may contain NUL values, then use
6603 * surf_parse__scan_bytes() instead.
6605 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
6608 return surf_parse__scan_bytes(yystr,strlen(yystr) );
6611 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6612 * scan from a @e copy of @a bytes.
6613 * @param yybytes the byte buffer to scan
6614 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
6616 * @return the newly allocated buffer state object.
6618 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
6625 /* Get memory for full buffer, including space for trailing EOB's. */
6626 n = _yybytes_len + 2;
6627 buf = (char *) surf_parse_alloc(n );
6629 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
6631 for ( i = 0; i < _yybytes_len; ++i )
6632 buf[i] = yybytes[i];
6634 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6636 b = surf_parse__scan_buffer(buf,n );
6638 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
6640 /* It's okay to grow etc. this buffer, and we should throw it
6641 * away when we're done.
6643 b->yy_is_our_buffer = 1;
6648 static void yy_push_state (int new_state )
6650 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
6654 (yy_start_stack_depth) += YY_START_STACK_INCR;
6655 new_size = (yy_start_stack_depth) * sizeof( int );
6657 if ( ! (yy_start_stack) )
6658 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
6661 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
6663 if ( ! (yy_start_stack) )
6664 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
6667 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6672 static void yy_pop_state (void)
6674 if ( --(yy_start_stack_ptr) < 0 )
6675 YY_FATAL_ERROR( "start-condition stack underflow" );
6677 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6680 #ifndef YY_EXIT_FAILURE
6681 #define YY_EXIT_FAILURE 2
6684 static void yy_fatal_error (yyconst char* msg )
6686 (void) fprintf( stderr, "%s\n", msg );
6687 exit( YY_EXIT_FAILURE );
6690 /* Redefine yyless() so it works in section 3 code. */
6696 /* Undo effects of setting up surf_parse_text. */ \
6697 int yyless_macro_arg = (n); \
6698 YY_LESS_LINENO(yyless_macro_arg);\
6699 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6700 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6701 (yy_hold_char) = *(yy_c_buf_p); \
6702 *(yy_c_buf_p) = '\0'; \
6703 surf_parse_leng = yyless_macro_arg; \
6707 /* Accessor methods (get/set functions) to struct members. */
6709 /** Get the current line number.
6712 int surf_parse_get_lineno (void)
6715 return surf_parse_lineno;
6718 /** Get the input stream.
6721 FILE *surf_parse_get_in (void)
6723 return surf_parse_in;
6726 /** Get the output stream.
6729 FILE *surf_parse_get_out (void)
6731 return surf_parse_out;
6734 /** Get the length of the current token.
6737 int surf_parse_get_leng (void)
6739 return surf_parse_leng;
6742 /** Get the current token.
6746 char *surf_parse_get_text (void)
6748 return surf_parse_text;
6751 /** Set the current line number.
6752 * @param line_number
6755 void surf_parse_set_lineno (int line_number )
6758 surf_parse_lineno = line_number;
6761 /** Set the input stream. This does not discard the current
6763 * @param in_str A readable stream.
6765 * @see surf_parse__switch_to_buffer
6767 void surf_parse_set_in (FILE * in_str )
6769 surf_parse_in = in_str ;
6772 void surf_parse_set_out (FILE * out_str )
6774 surf_parse_out = out_str ;
6777 int surf_parse_get_debug (void)
6779 return surf_parse__flex_debug;
6782 void surf_parse_set_debug (int bdebug )
6784 surf_parse__flex_debug = bdebug ;
6787 static int yy_init_globals (void)
6789 /* Initialization is the same as for the non-reentrant scanner.
6790 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6793 /* We do not touch surf_parse_lineno unless the option is enabled. */
6794 surf_parse_lineno = 1;
6796 (yy_buffer_stack) = 0;
6797 (yy_buffer_stack_top) = 0;
6798 (yy_buffer_stack_max) = 0;
6799 (yy_c_buf_p) = (char *) 0;
6803 (yy_start_stack_ptr) = 0;
6804 (yy_start_stack_depth) = 0;
6805 (yy_start_stack) = NULL;
6807 /* Defined in main.c */
6809 surf_parse_in = stdin;
6810 surf_parse_out = stdout;
6812 surf_parse_in = (FILE *) 0;
6813 surf_parse_out = (FILE *) 0;
6816 /* For future reference: Set errno on error, since we are called by
6817 * surf_parse_lex_init()
6822 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6823 int surf_parse_lex_destroy (void)
6826 /* Pop the buffer stack, destroying each element. */
6827 while(YY_CURRENT_BUFFER){
6828 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6829 YY_CURRENT_BUFFER_LVALUE = NULL;
6830 surf_parse_pop_buffer_state();
6833 /* Destroy the stack itself. */
6834 surf_parse_free((yy_buffer_stack) );
6835 (yy_buffer_stack) = NULL;
6837 /* Destroy the start condition stack. */
6838 surf_parse_free((yy_start_stack) );
6839 (yy_start_stack) = NULL;
6841 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6842 * surf_parse_lex() is called, initialization will occur. */
6849 * Internal utility routines.
6853 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
6856 for ( i = 0; i < n; ++i )
6861 #ifdef YY_NEED_STRLEN
6862 static int yy_flex_strlen (yyconst char * s )
6865 for ( n = 0; s[n]; ++n )
6872 void *surf_parse_alloc (yy_size_t size )
6874 return (void *) malloc( size );
6877 void *surf_parse_realloc (void * ptr, yy_size_t size )
6879 /* The cast to (char *) in the following accommodates both
6880 * implementations that use char* generic pointers, and those
6881 * that use void* generic pointers. It works with the latter
6882 * because both ANSI C and C++ allow castless assignment from
6883 * any pointer type to void*, and deal with argument conversions
6884 * as though doing an assignment.
6886 return (void *) realloc( (char *) ptr, size );
6889 void surf_parse_free (void * ptr )
6891 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
6894 #define YYTABLES_NAME "yytables"
6896 /* Element context stack lookup. */
6897 int surfxml_element_context(int i)
6899 return (0<i && i<yy_start_stack_depth
6900 ? yy_start_stack[yy_start_stack_ptr - i]
6905 void print_yy_stack(char* fmt, ...)
6907 int i = 0; va_list ap; va_start(ap, fmt);
6908 vfprintf(stderr, fmt, ap);
6909 if (surfxml_statenames) {
6910 for (i=1; i<yy_start_stack_ptr; i++) {
6911 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
6913 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
6918 void print_surfxml_bufferstack()
6921 fputs("Buffer: ", stderr);
6922 for (i = 0; i < blimit; i++) {
6923 if ( surfxml_bufferstack[i] == '\377' ) break;
6924 putc(surfxml_bufferstack[i], stderr);
6929 static void debug_enter(int state, const char* statename) {
6930 yy_push_state(state);
6931 if (surf_parse__flex_debug) {
6932 print_yy_stack("--ENTER(%s) : ",statename);
6933 print_surfxml_bufferstack();
6937 static void debug_leave(void) {
6938 if (surf_parse__flex_debug) {
6939 print_yy_stack("--LEAVE : ");
6940 print_surfxml_bufferstack();
6945 static void debug_set(int state, const char* statename) {
6947 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
6951 static void cleanup(void)
6953 if (surfxml_statenames) {
6954 free(surfxml_statenames);
6955 surfxml_statenames = NULL;
6957 free(surfxml_bufferstack);
6958 surfxml_bufferstack = NULL;
6964 static int fail(const char* fmt, ...)
6966 int chars_left, used;
6967 va_list ap; va_start(ap, fmt);
6968 #ifdef FLEXML_yylineno
6969 used = sprintf(flexml_err_msg,
6970 "Invalid XML (XML input line %d, state %d): ",
6971 surf_parse_lineno, YY_START);
6973 used = sprintf(flexml_err_msg,
6974 "Invalid XML (state %d): ",
6977 chars_left = flexml_max_err_msg_size - used - 1;
6978 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
6981 #ifndef FLEXML_quiet_parser
6982 /* print directly to sdterr */
6983 fprintf(stderr, "%s\n", flexml_err_msg);
6984 flexml_err_msg[0] = '\0';