2 #line 3 "src/surf/simgrid_dtd.c"
4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
8 #define yy_create_buffer surf_parse__create_buffer
9 #define yy_delete_buffer surf_parse__delete_buffer
10 #define yy_flex_debug surf_parse__flex_debug
11 #define yy_init_buffer surf_parse__init_buffer
12 #define yy_flush_buffer surf_parse__flush_buffer
13 #define yy_load_buffer_state surf_parse__load_buffer_state
14 #define yy_switch_to_buffer surf_parse__switch_to_buffer
15 #define yyin surf_parse_in
16 #define yyleng surf_parse_leng
17 #define yylex surf_parse_lex
18 #define yylineno surf_parse_lineno
19 #define yyout surf_parse_out
20 #define yyrestart surf_parse_restart
21 #define yytext surf_parse_text
22 #define yywrap surf_parse_wrap
23 #define yyalloc surf_parse_alloc
24 #define yyrealloc surf_parse_realloc
25 #define yyfree surf_parse_free
28 #define YY_FLEX_MAJOR_VERSION 2
29 #define YY_FLEX_MINOR_VERSION 5
30 #define YY_FLEX_SUBMINOR_VERSION 35
31 #if YY_FLEX_SUBMINOR_VERSION > 0
35 /* First, we deal with platform-specific or compiler-specific issues. */
37 /* begin standard C headers. */
43 /* end standard C headers. */
45 /* flex integer type definitions */
50 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 * if you want the limit (max/min) macros for int types.
57 #ifndef __STDC_LIMIT_MACROS
58 #define __STDC_LIMIT_MACROS 1
62 typedef int8_t flex_int8_t;
63 typedef uint8_t flex_uint8_t;
64 typedef int16_t flex_int16_t;
65 typedef uint16_t flex_uint16_t;
66 typedef int32_t flex_int32_t;
67 typedef uint32_t flex_uint32_t;
69 typedef signed char flex_int8_t;
70 typedef short int flex_int16_t;
71 typedef int flex_int32_t;
72 typedef unsigned char flex_uint8_t;
73 typedef unsigned short int flex_uint16_t;
74 typedef unsigned int flex_uint32_t;
76 /* Limits of integral types. */
78 #define INT8_MIN (-128)
81 #define INT16_MIN (-32767-1)
84 #define INT32_MIN (-2147483647-1)
87 #define INT8_MAX (127)
90 #define INT16_MAX (32767)
93 #define INT32_MAX (2147483647)
96 #define UINT8_MAX (255U)
99 #define UINT16_MAX (65535U)
102 #define UINT32_MAX (4294967295U)
107 #endif /* ! FLEXINT_H */
111 /* The "const" storage-class-modifier is valid. */
114 #else /* ! __cplusplus */
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
125 #define yyconst const
130 /* Returned upon end-of-file. */
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134 * integer for use as an array index. If the signed char is negative,
135 * we want to instead treat it as an 8-bit unsigned char, hence the
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140 /* Enter a start condition. This macro really ought to take a parameter,
141 * but we do it the disgusting crufty way forced on us by the ()-less
142 * definition of BEGIN.
144 #define BEGIN (yy_start) = 1 + 2 *
146 /* Translate the current start state into a value that can be later handed
147 * to BEGIN to return to the state. The YYSTATE alias is for lex
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE surf_parse_restart(surf_parse_in )
159 #define YY_END_OF_BUFFER_CHAR 0
161 /* Size of default input buffer. */
164 /* On IA-64, the buffer size is 16k, not 8k.
165 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
166 * Ditto for the __ia64__ case accordingly.
168 #define YY_BUF_SIZE 32768
170 #define YY_BUF_SIZE 16384
171 #endif /* __ia64__ */
174 /* The state buf must be large enough to hold one state per character in the main buffer.
176 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
178 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
179 #define YY_TYPEDEF_YY_BUFFER_STATE
180 typedef struct yy_buffer_state *YY_BUFFER_STATE;
183 extern int surf_parse_leng;
185 extern FILE *surf_parse_in, *surf_parse_out;
187 #define EOB_ACT_CONTINUE_SCAN 0
188 #define EOB_ACT_END_OF_FILE 1
189 #define EOB_ACT_LAST_MATCH 2
191 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
192 * access to the local variable yy_act. Since yyless() is a macro, it would break
193 * existing scanners that call yyless() from OUTSIDE surf_parse_lex.
194 * One obvious solution it to make yy_act a global. I tried that, and saw
195 * a 5% performance hit in a non-surf_parse_lineno scanner, because yy_act is
196 * normally declared as a register variable-- so it is not worth it.
198 #define YY_LESS_LINENO(n) \
201 for ( yyl = n; yyl < surf_parse_leng; ++yyl )\
202 if ( surf_parse_text[yyl] == '\n' )\
203 --surf_parse_lineno;\
206 /* Return all but the first "n" matched characters back to the input stream. */
210 /* Undo effects of setting up surf_parse_text. */ \
211 int yyless_macro_arg = (n); \
212 YY_LESS_LINENO(yyless_macro_arg);\
213 *yy_cp = (yy_hold_char); \
214 YY_RESTORE_YY_MORE_OFFSET \
215 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
216 YY_DO_BEFORE_ACTION; /* set up surf_parse_text again */ \
220 #define unput(c) yyunput( c, (yytext_ptr) )
222 #ifndef YY_TYPEDEF_YY_SIZE_T
223 #define YY_TYPEDEF_YY_SIZE_T
224 typedef size_t yy_size_t;
227 #ifndef YY_STRUCT_YY_BUFFER_STATE
228 #define YY_STRUCT_YY_BUFFER_STATE
229 struct yy_buffer_state
233 char *yy_ch_buf; /* input buffer */
234 char *yy_buf_pos; /* current position in input buffer */
236 /* Size of input buffer in bytes, not including room for EOB
239 yy_size_t yy_buf_size;
241 /* Number of characters read into yy_ch_buf, not including EOB
246 /* Whether we "own" the buffer - i.e., we know we created it,
247 * and can realloc() it to grow it, and should free() it to
250 int yy_is_our_buffer;
252 /* Whether this is an "interactive" input source; if so, and
253 * if we're using stdio for input, then we want to use getc()
254 * instead of fread(), to make sure we stop fetching input after
257 int yy_is_interactive;
259 /* Whether we're considered to be at the beginning of a line.
260 * If so, '^' rules will be active on the next match, otherwise
265 int yy_bs_lineno; /**< The line count. */
266 int yy_bs_column; /**< The column count. */
268 /* Whether to try to fill the input buffer when we reach the
273 int yy_buffer_status;
275 #define YY_BUFFER_NEW 0
276 #define YY_BUFFER_NORMAL 1
277 /* When an EOF's been seen but there's still some text to process
278 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
279 * shouldn't try reading from the input source any more. We might
280 * still have a bunch of tokens to match, though, because of
281 * possible backing-up.
283 * When we actually see the EOF, we change the status to "new"
284 * (via surf_parse_restart()), so that the user can continue scanning by
285 * just pointing surf_parse_in at a new input file.
287 #define YY_BUFFER_EOF_PENDING 2
290 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
292 /* Stack of input buffers. */
293 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
294 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
295 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
297 /* We provide macros for accessing buffer states in case in the
298 * future we want to put the buffer states in a more general
301 * Returns the top of the stack, or NULL.
303 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
304 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
307 /* Same as previous macro, but useful when we know that the buffer stack is not
308 * NULL or when we need an lvalue. For internal use only.
310 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
312 /* yy_hold_char holds the character lost when surf_parse_text is formed. */
313 static char yy_hold_char;
314 static int yy_n_chars; /* number of characters read into yy_ch_buf */
317 /* Points to current character in buffer. */
318 static char *yy_c_buf_p = (char *) 0;
319 static int yy_init = 0; /* whether we need to initialize */
320 static int yy_start = 0; /* start state number */
322 /* Flag which is used to allow surf_parse_wrap()'s to do buffer switches
323 * instead of setting up a fresh surf_parse_in. A bit of a hack ...
325 static int yy_did_buffer_switch_on_eof;
327 void surf_parse_restart (FILE *input_file );
328 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer );
329 YY_BUFFER_STATE surf_parse__create_buffer (FILE *file,int size );
330 void surf_parse__delete_buffer (YY_BUFFER_STATE b );
331 void surf_parse__flush_buffer (YY_BUFFER_STATE b );
332 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer );
333 void surf_parse_pop_buffer_state (void );
335 static void surf_parse_ensure_buffer_stack (void );
336 static void surf_parse__load_buffer_state (void );
337 static void surf_parse__init_buffer (YY_BUFFER_STATE b,FILE *file );
339 #define YY_FLUSH_BUFFER surf_parse__flush_buffer(YY_CURRENT_BUFFER )
341 YY_BUFFER_STATE surf_parse__scan_buffer (char *base,yy_size_t size );
342 YY_BUFFER_STATE surf_parse__scan_string (yyconst char *yy_str );
343 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char *bytes,int len );
345 void *surf_parse_alloc (yy_size_t );
346 void *surf_parse_realloc (void *,yy_size_t );
347 void surf_parse_free (void * );
349 #define yy_new_buffer surf_parse__create_buffer
351 #define yy_set_interactive(is_interactive) \
353 if ( ! YY_CURRENT_BUFFER ){ \
354 surf_parse_ensure_buffer_stack (); \
355 YY_CURRENT_BUFFER_LVALUE = \
356 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
358 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
361 #define yy_set_bol(at_bol) \
363 if ( ! YY_CURRENT_BUFFER ){\
364 surf_parse_ensure_buffer_stack (); \
365 YY_CURRENT_BUFFER_LVALUE = \
366 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE ); \
368 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
371 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
373 /* Begin user sect3 */
375 #define surf_parse_wrap(n) 1
376 #define YY_SKIP_YYWRAP
378 typedef unsigned char YY_CHAR;
380 FILE *surf_parse_in = (FILE *) 0, *surf_parse_out = (FILE *) 0;
382 typedef int yy_state_type;
384 extern int surf_parse_lineno;
386 int surf_parse_lineno = 1;
388 extern char *surf_parse_text;
389 #define yytext_ptr surf_parse_text
391 static yy_state_type yy_get_previous_state (void );
392 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
393 static int yy_get_next_buffer (void );
394 static void yy_fatal_error (yyconst char msg[] );
396 /* Done after the current pattern has been matched and before the
397 * corresponding action - sets up surf_parse_text.
399 #define YY_DO_BEFORE_ACTION \
400 (yytext_ptr) = yy_bp; \
401 surf_parse_leng = (size_t) (yy_cp - yy_bp); \
402 (yy_hold_char) = *yy_cp; \
404 (yy_c_buf_p) = yy_cp;
406 #define YY_NUM_RULES 324
407 #define YY_END_OF_BUFFER 325
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[1842] =
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 325, 323, 15, 10, 10, 15,
436 15, 303, 10, 303, 5, 6, 5, 8, 9, 8,
437 319, 311, 312, 320, 317, 320, 318, 322, 311, 312,
439 322, 323, 26, 10, 26, 26, 26, 24, 26, 26,
440 30, 10, 30, 323, 30, 323, 323, 30, 41, 10,
441 41, 41, 41, 39, 41, 41, 41, 320, 319, 63,
442 10, 63, 63, 63, 61, 63, 63, 63, 63, 67,
443 10, 67, 323, 67, 86, 10, 86, 86, 86, 84,
444 86, 86, 86, 90, 10, 90, 99, 10, 99, 99,
445 99, 97, 99, 99, 103, 10, 103, 103, 323, 103,
446 103, 323, 323, 103, 323, 103, 323, 103, 132, 10,
447 132, 132, 132, 130, 132, 132, 132, 132, 132, 132,
448 136, 10, 136, 136, 159, 10, 159, 159, 159, 157,
450 159, 159, 159, 159, 159, 159, 163, 10, 163, 170,
451 10, 170, 170, 170, 168, 170, 174, 10, 174, 199,
452 10, 199, 199, 199, 197, 199, 199, 199, 199, 203,
453 10, 203, 203, 212, 10, 212, 212, 212, 210, 212,
454 212, 216, 10, 216, 323, 216, 229, 10, 229, 229,
455 229, 227, 229, 229, 229, 233, 10, 233, 233, 240,
456 10, 240, 240, 240, 238, 240, 244, 10, 244, 257,
457 10, 257, 257, 257, 255, 257, 257, 257, 261, 10,
458 261, 261, 274, 10, 274, 274, 274, 272, 274, 274,
459 274, 274, 278, 10, 278, 323, 278, 285, 10, 285,
461 285, 285, 283, 285, 289, 10, 289, 298, 10, 298,
462 298, 298, 296, 298, 298, 302, 10, 302, 10, 0,
463 2, 2, 0, 4, 7, 314, 313, 0, 0, 0,
464 0, 0, 0, 0, 25, 27, 27, 27, 0, 0,
465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
466 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,
467 42, 42, 42, 42, 0, 0, 0, 62, 64, 64,
468 64, 64, 64, 64, 64, 0, 0, 85, 87, 87,
469 87, 87, 0, 98, 100, 100, 100, 0, 0, 0,
470 0, 0, 0, 131, 133, 133, 133, 133, 133, 133,
472 133, 133, 0, 158, 160, 160, 160, 160, 160, 160,
473 160, 160, 160, 0, 169, 171, 171, 0, 198, 200,
474 200, 200, 200, 200, 200, 0, 211, 213, 213, 213,
475 0, 0, 228, 230, 230, 230, 230, 0, 239, 241,
476 241, 0, 256, 258, 258, 258, 258, 0, 273, 275,
477 275, 275, 275, 275, 0, 0, 284, 286, 286, 0,
478 297, 299, 299, 299, 0, 0, 0, 0, 0, 3,
479 0, 0, 0, 0, 0, 0, 0, 321, 0, 27,
480 27, 0, 0, 92, 0, 0, 0, 0, 0, 0,
481 0, 0, 0, 0, 0, 0, 0, 0, 91, 0,
483 0, 0, 0, 0, 0, 42, 0, 0, 42, 0,
484 0, 0, 316, 64, 0, 0, 64, 64, 64, 64,
485 0, 0, 0, 87, 87, 87, 0, 0, 0, 0,
486 100, 0, 0, 92, 0, 91, 133, 0, 0, 133,
487 133, 133, 133, 133, 0, 0, 160, 0, 0, 0,
488 0, 160, 160, 160, 160, 160, 0, 0, 0, 0,
489 0, 0, 200, 0, 0, 200, 200, 200, 0, 0,
490 213, 213, 0, 0, 0, 230, 230, 230, 0, 0,
491 0, 0, 0, 0, 258, 258, 258, 0, 0, 275,
492 275, 275, 275, 0, 0, 0, 286, 0, 0, 0,
494 0, 299, 0, 0, 0, 14, 1, 0, 0, 309,
495 0, 0, 0, 306, 305, 0, 0, 27, 27, 0,
496 0, 29, 0, 92, 0, 0, 0, 0, 0, 0,
497 0, 0, 0, 0, 0, 0, 0, 0, 0, 91,
498 0, 0, 0, 0, 0, 0, 42, 0, 34, 33,
499 42, 0, 0, 0, 44, 0, 64, 0, 48, 47,
500 0, 0, 64, 0, 0, 64, 0, 0, 66, 0,
501 0, 87, 87, 87, 0, 0, 89, 0, 0, 94,
502 93, 100, 0, 0, 102, 0, 0, 0, 133, 0,
503 107, 106, 133, 133, 133, 133, 133, 0, 0, 135,
505 0, 160, 160, 0, 150, 149, 0, 140, 139, 0,
506 0, 160, 160, 160, 160, 0, 0, 162, 0, 0,
507 167, 166, 0, 0, 173, 0, 200, 0, 178, 177,
508 200, 200, 200, 0, 0, 202, 0, 0, 0, 0,
509 0, 0, 0, 215, 0, 0, 0, 0, 230, 230,
510 0, 0, 0, 0, 232, 0, 0, 237, 236, 0,
511 0, 243, 0, 0, 0, 258, 258, 0, 0, 0,
512 0, 260, 0, 275, 275, 275, 275, 0, 0, 277,
513 0, 0, 286, 0, 0, 288, 0, 0, 293, 292,
514 299, 0, 0, 301, 0, 0, 0, 310, 304, 0,
516 0, 0, 27, 27, 0, 0, 0, 0, 0, 105,
517 176, 0, 0, 290, 0, 0, 0, 104, 175, 0,
518 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,
519 0, 0, 64, 0, 52, 51, 0, 0, 0, 50,
520 49, 64, 0, 291, 87, 0, 0, 87, 0, 100,
521 0, 101, 0, 0, 133, 133, 133, 133, 133, 133,
522 0, 160, 160, 0, 152, 151, 160, 160, 160, 160,
523 0, 0, 200, 200, 200, 200, 0, 0, 209, 208,
524 0, 207, 206, 0, 175, 0, 222, 221, 230, 230,
525 0, 220, 219, 0, 0, 0, 250, 249, 258, 258,
527 0, 248, 247, 0, 275, 0, 0, 275, 275, 0,
528 0, 286, 0, 299, 0, 0, 0, 0, 12, 0,
529 307, 308, 0, 27, 27, 0, 0, 0, 0, 0,
530 105, 176, 0, 0, 0, 290, 0, 205, 32, 104,
531 175, 0, 204, 0, 0, 205, 31, 204, 31, 0,
532 36, 35, 42, 0, 0, 64, 0, 54, 53, 64,
533 0, 291, 87, 0, 0, 0, 0, 0, 0, 100,
534 0, 0, 133, 133, 133, 0, 0, 0, 0, 133,
535 133, 0, 0, 0, 160, 0, 0, 160, 160, 160,
536 0, 0, 200, 200, 200, 0, 0, 200, 0, 0,
538 0, 230, 230, 0, 0, 258, 258, 0, 275, 0,
539 265, 264, 275, 275, 0, 0, 0, 0, 0, 0,
540 0, 0, 0, 0, 0, 11, 0, 27, 27, 27,
541 0, 0, 0, 0, 0, 0, 0, 0, 46, 205,
542 165, 32, 0, 0, 204, 164, 0, 45, 31, 0,
543 42, 0, 0, 64, 64, 0, 87, 0, 0, 0,
544 0, 0, 0, 0, 0, 0, 81, 80, 0, 100,
545 0, 0, 133, 133, 133, 0, 109, 108, 0, 0,
546 0, 133, 133, 0, 134, 0, 154, 153, 0, 0,
547 0, 148, 147, 0, 0, 160, 0, 0, 0, 0,
549 200, 200, 200, 0, 0, 0, 200, 0, 201, 0,
550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
551 0, 0, 275, 275, 275, 0, 0, 0, 282, 281,
552 0, 0, 295, 294, 0, 300, 0, 0, 0, 0,
553 0, 0, 27, 27, 0, 217, 0, 0, 138, 0,
554 0, 263, 46, 165, 0, 262, 164, 137, 45, 0,
555 42, 0, 0, 43, 64, 64, 0, 0, 0, 0,
556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
557 0, 0, 218, 0, 133, 133, 133, 0, 0, 133,
558 0, 0, 0, 156, 155, 0, 142, 141, 0, 0,
560 0, 144, 143, 0, 0, 200, 0, 0, 200, 200,
561 0, 0, 200, 0, 214, 0, 0, 226, 225, 0,
562 224, 223, 0, 0, 0, 254, 253, 0, 252, 251,
563 0, 275, 275, 275, 0, 0, 0, 0, 0, 0,
564 17, 0, 19, 18, 27, 27, 0, 217, 279, 0,
565 138, 234, 16, 263, 0, 262, 137, 0, 42, 315,
566 64, 64, 0, 65, 0, 83, 82, 0, 0, 0,
567 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,
568 95, 218, 0, 133, 133, 133, 0, 0, 0, 0,
569 133, 0, 129, 128, 0, 146, 145, 0, 0, 172,
571 200, 0, 184, 183, 200, 200, 0, 0, 0, 0,
572 200, 235, 0, 0, 0, 0, 0, 275, 275, 0,
573 280, 0, 0, 0, 0, 17, 27, 27, 0, 279,
574 0, 234, 16, 0, 0, 42, 0, 0, 64, 0,
575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
576 0, 133, 133, 133, 0, 115, 0, 114, 133, 0,
577 161, 0, 0, 200, 200, 200, 0, 188, 0, 187,
578 200, 235, 0, 231, 0, 0, 0, 267, 266, 0,
579 0, 275, 0, 276, 280, 0, 0, 0, 0, 0,
580 0, 27, 0, 28, 0, 0, 0, 42, 0, 0,
582 0, 64, 0, 0, 0, 0, 0, 0, 0, 0,
583 0, 0, 0, 0, 133, 133, 133, 117, 116, 0,
584 0, 0, 180, 179, 200, 200, 200, 190, 189, 0,
585 0, 0, 242, 0, 0, 271, 270, 0, 0, 0,
586 287, 0, 0, 0, 0, 21, 20, 0, 0, 245,
587 0, 0, 0, 0, 0, 0, 0, 0, 64, 0,
588 0, 0, 0, 73, 0, 0, 0, 0, 72, 0,
589 246, 133, 133, 133, 0, 119, 118, 200, 200, 200,
590 0, 192, 191, 0, 0, 269, 268, 0, 0, 0,
591 0, 23, 22, 245, 0, 0, 0, 38, 37, 0,
593 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,
594 0, 0, 0, 246, 0, 0, 133, 133, 133, 200,
595 0, 0, 200, 0, 0, 0, 0, 0, 69, 68,
596 0, 0, 0, 0, 0, 0, 0, 0, 79, 0,
597 0, 0, 78, 0, 0, 0, 111, 110, 133, 133,
598 133, 133, 200, 0, 186, 185, 200, 0, 259, 0,
599 0, 0, 0, 0, 0, 69, 68, 0, 0, 0,
600 0, 0, 56, 55, 0, 0, 0, 0, 0, 0,
601 0, 133, 133, 133, 133, 0, 0, 0, 0, 0,
602 0, 0, 0, 0, 0, 0, 60, 0, 59, 77,
604 0, 0, 76, 0, 0, 0, 88, 133, 133, 133,
605 133, 0, 182, 181, 0, 0, 0, 0, 0, 0,
606 12, 0, 12, 0, 0, 0, 71, 75, 70, 74,
607 133, 133, 133, 133, 0, 0, 0, 0, 0, 0,
608 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
609 0, 133, 0, 0, 0, 0, 0, 0, 0, 0,
610 58, 57, 0, 113, 112, 0, 123, 122, 0, 121,
611 120, 133, 0, 127, 126, 0, 0, 0, 0, 0,
612 11, 133, 0, 0, 0, 0, 0, 133, 0, 0,
613 0, 0, 0, 133, 0, 0, 0, 0, 0, 0,
615 0, 0, 194, 0, 193, 0, 0, 125, 124, 196,
616 195, 0, 0, 0, 0, 0, 0, 0, 0, 0,
617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
618 0, 0, 0, 0, 0, 0, 0, 0, 0, 13,
622 static yyconst flex_int32_t yy_ec[256] =
624 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
625 1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
626 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
627 1, 2, 5, 6, 7, 1, 1, 8, 9, 1,
628 1, 1, 1, 1, 10, 11, 12, 13, 13, 13,
629 13, 14, 13, 13, 13, 15, 13, 16, 17, 18,
630 19, 20, 21, 1, 22, 23, 24, 25, 26, 27,
631 28, 29, 30, 28, 31, 32, 33, 34, 35, 36,
632 28, 37, 38, 39, 28, 40, 41, 28, 42, 28,
633 43, 1, 44, 1, 45, 1, 46, 47, 48, 49,
635 50, 51, 52, 53, 54, 28, 55, 56, 57, 58,
636 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
637 69, 28, 1, 1, 1, 1, 1, 1, 1, 1,
638 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
639 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
640 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
641 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
642 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
643 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
644 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
646 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
647 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
648 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
649 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
650 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
654 static yyconst flex_int32_t yy_meta[70] =
656 1, 2, 2, 2, 1, 1, 1, 1, 1, 3,
657 3, 1, 4, 4, 4, 5, 6, 1, 7, 8,
658 1, 9, 9, 9, 9, 9, 9, 5, 5, 5,
659 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
660 5, 5, 1, 1, 5, 9, 9, 9, 9, 9,
661 9, 5, 5, 5, 5, 5, 5, 5, 5, 5,
662 5, 5, 5, 5, 5, 5, 5, 5, 5
665 static yyconst flex_int16_t yy_base[2043] =
667 0, 0, 0, 3, 6, 9, 12, 29, 16, 19,
668 14, 17, 33, 36, 49, 55, 45, 61, 66, 72,
669 105, 173, 75, 78, 83, 125, 128, 132, 135, 138,
670 193, 196, 200, 203, 206, 224, 227, 230, 233, 250,
671 253, 256, 274, 334, 306, 312, 394, 457, 294, 301,
672 304, 355, 358, 361, 364, 368, 520, 584, 414, 417,
673 648, 710, 421, 424, 427, 477, 480, 484, 487, 490,
674 540, 543, 547, 550, 553, 604, 607, 611, 614, 617,
675 668, 671, 675, 678, 681, 730, 733, 737, 740, 743,
676 763, 766, 784, 0, 852, 855, 858, 861, 864, 881,
678 884, 887, 905, 0, 973, 976, 994, 1048, 1014, 1017,
679 1102, 1165, 1021, 1024, 1027, 1068, 1071, 1075, 1078, 1081,
680 1228, 1291, 1122, 1125, 1129, 1132, 1135, 1185, 1188, 1192,
681 1354, 1417, 1195, 1198, 1248, 1251, 1255, 1258, 1261, 1311,
682 1480, 1534, 1314, 1318, 1588, 1651, 1321, 1324, 1374, 1377,
683 1381, 1384, 1387, 1437, 1714, 1777, 1440, 1444, 1447, 1450,
684 1500, 1503, 1507, 1510, 1840, 1906, 1513, 1554, 1972, 2038,
685 1557, 1561, 0, 0, 4569, 6479, 6479, 95, 100, 29,
686 41, 6479, 155, 51, 6479, 6479, 4548, 6479, 6479, 4537,
687 6479, 4548, 4548, 1564, 6479, 6479, 6479, 6479, 4541, 4537,
689 4495, 241, 6479, 158, 4509, 0, 142, 6479, 4478, 4469,
690 6479, 162, 2100, 210, 388, 207, 4503, 108, 6479, 329,
691 4494, 0, 146, 6479, 4454, 4454, 4451, 369, 4453, 6479,
692 389, 4475, 0, 244, 6479, 4434, 4434, 453, 4417, 6479,
693 451, 11, 31, 4464, 6479, 513, 4455, 0, 306, 6479,
694 4417, 4417, 4408, 6479, 570, 428, 6479, 574, 4443, 0,
695 308, 6479, 4396, 4385, 6479, 577, 1564, 203, 30, 92,
696 4420, 13, 201, 228, 1561, 261, 372, 4422, 6479, 634,
697 4410, 0, 491, 6479, 4362, 189, 4381, 4358, 4352, 4352,
698 6479, 638, 109, 4393, 6479, 641, 4374, 0, 492, 6479,
700 197, 4343, 4335, 93, 4334, 4310, 6479, 701, 685, 6479,
701 705, 4354, 0, 561, 6479, 4323, 6479, 771, 1136, 6479,
702 774, 4343, 0, 562, 6479, 4316, 4308, 4310, 80, 6479,
703 890, 309, 4338, 6479, 893, 4325, 0, 625, 6479, 4281,
704 4272, 6479, 979, 492, 506, 4321, 6479, 982, 4311, 0,
705 626, 6479, 4260, 4255, 4257, 6479, 985, 682, 4306, 6479,
706 1157, 4296, 0, 758, 6479, 4266, 6479, 1160, 1199, 6479,
707 1220, 4293, 0, 1262, 6479, 4238, 4233, 4236, 6479, 1223,
708 978, 4278, 6479, 1278, 4269, 0, 1263, 6479, 4218, 4222,
709 4225, 4214, 6479, 1283, 1336, 4264, 4256, 6479, 1286, 4241,
711 0, 1325, 6479, 4214, 6479, 1341, 1326, 6479, 1347, 4238,
712 0, 1332, 6479, 4195, 4197, 6479, 1405, 1389, 1409, 746,
713 4173, 6479, 4229, 4218, 6479, 6479, 6479, 1458, 242, 4172,
714 4171, 4163, 4190, 4153, 6479, 0, 4145, 4143, 4138, 4158,
715 4132, 4122, 4133, 4126, 4126, 327, 397, 4107, 4108, 4108,
716 639, 460, 4101, 4082, 641, 4074, 703, 987, 4066, 6479,
717 0, 4071, 1564, 4054, 526, 4051, 4089, 6479, 0, 4049,
718 1631, 4038, 4058, 4045, 4045, 4031, 813, 6479, 0, 4026,
719 4016, 4027, 4003, 6479, 0, 1671, 3998, 4024, 4007, 3974,
720 1041, 4003, 1042, 6479, 0, 3994, 1674, 3974, 3968, 3968,
722 3987, 3953, 3965, 6479, 0, 3971, 1677, 1680, 3947, 3943,
723 3950, 3950, 3936, 3937, 6479, 0, 1683, 3906, 6479, 0,
724 3892, 1734, 3885, 3898, 3897, 3885, 6479, 0, 3867, 3882,
725 3866, 3873, 6479, 0, 3857, 3873, 3869, 3879, 6479, 0,
726 1737, 3843, 6479, 0, 3834, 3851, 3843, 3843, 6479, 0,
727 3830, 3823, 3829, 3837, 3822, 3818, 6479, 0, 3812, 3820,
728 6479, 0, 1740, 3806, 3800, 3839, 3847, 1380, 3792, 6479,
729 1461, 0, 3787, 3787, 3827, 3825, 3782, 6479, 3793, 3761,
730 3764, 1743, 1746, 1639, 3765, 3756, 3749, 3742, 3745, 3751,
731 3736, 3732, 3724, 3741, 3716, 3719, 3713, 3706, 1642, 3704,
733 3700, 3690, 3707, 3686, 3704, 3698, 1797, 1578, 3662, 3689,
734 1802, 1805, 6479, 3662, 1808, 1703, 1815, 3642, 1860, 3649,
735 1811, 1883, 3634, 3634, 3629, 3628, 1868, 1871, 1874, 1892,
736 3602, 1928, 1932, 1771, 3605, 1835, 3609, 1935, 1938, 3612,
737 3615, 3598, 3583, 3599, 1992, 2001, 577, 1995, 1953, 1998,
738 1962, 2004, 3590, 3582, 3578, 3579, 2007, 2016, 2059, 2026,
739 2063, 2066, 3566, 2071, 2085, 3564, 3550, 3547, 2093, 2096,
740 2099, 2104, 2107, 2129, 3551, 2126, 2132, 2135, 2138, 2163,
741 2166, 2169, 2187, 2190, 2194, 2200, 2212, 2218, 2221, 3551,
742 3533, 3540, 3532, 2225, 2230, 3540, 3526, 2233, 2244, 2252,
744 2256, 3524, 2264, 2271, 3555, 6479, 6479, 854, 3517, 6479,
745 3555, 3553, 3505, 6479, 6479, 3503, 3501, 3497, 3487, 2274,
746 2277, 6479, 2283, 1645, 3489, 3482, 3499, 3481, 3478, 3475,
747 3465, 40, 3478, 3455, 3468, 3447, 3455, 141, 3435, 1758,
748 3435, 3436, 3412, 3427, 3409, 3414, 2296, 2305, 6479, 6479,
749 2315, 3435, 2318, 2321, 6479, 2324, 3396, 2333, 6479, 6479,
750 2328, 2346, 2354, 2357, 2360, 3408, 2375, 2378, 6479, 2381,
751 327, 3405, 2384, 3403, 2387, 2390, 6479, 2402, 2409, 6479,
752 6479, 3398, 2417, 2421, 6479, 2424, 3391, 3366, 3345, 2427,
753 6479, 6479, 3338, 3339, 3329, 3340, 3332, 2443, 2447, 6479,
755 2450, 3313, 3333, 2453, 6479, 6479, 2462, 6479, 6479, 2470,
756 2473, 3311, 3317, 3319, 3308, 2481, 2484, 6479, 2488, 2491,
757 6479, 6479, 2503, 2507, 6479, 2512, 3294, 2515, 6479, 6479,
758 3300, 3302, 3301, 2526, 2531, 6479, 2534, 2537, 2541, 2555,
759 2558, 2566, 2569, 6479, 2576, 3293, 2579, 2591, 3276, 3276,
760 2599, 2602, 2610, 2613, 6479, 2617, 2620, 6479, 6479, 2632,
761 2636, 6479, 2640, 2643, 2655, 3267, 3262, 2646, 2664, 2651,
762 2672, 6479, 2679, 3257, 2682, 3274, 3254, 2685, 2691, 6479,
763 2700, 3251, 3265, 2704, 2710, 6479, 2713, 2719, 6479, 6479,
764 3250, 2732, 2738, 6479, 2741, 861, 2746, 6479, 6479, 3282,
766 3277, 3240, 3223, 3265, 2751, 3214, 3221, 3210, 3208, 1768,
767 2760, 3210, 3210, 1878, 3195, 3202, 3198, 2766, 2770, 3193,
768 3191, 3172, 3174, 3172, 3170, 3169, 3167, 2775, 2778, 3163,
769 3188, 2786, 3163, 2789, 6479, 6479, 2799, 2805, 2817, 6479,
770 6479, 3153, 2825, 2828, 3144, 2833, 2837, 2845, 2851, 3142,
771 2855, 6479, 3127, 3127, 3138, 3131, 3106, 2858, 2863, 3117,
772 2866, 2876, 2881, 2885, 6479, 6479, 2894, 2899, 2902, 2907,
773 2913, 2920, 3111, 3112, 3101, 2925, 2932, 2947, 6479, 6479,
774 2955, 6479, 6479, 2935, 2969, 2977, 6479, 6479, 3091, 3104,
775 2986, 6479, 6479, 2994, 2999, 3002, 6479, 6479, 3087, 3101,
777 3014, 6479, 6479, 3022, 3086, 3025, 3028, 3075, 3092, 3036,
778 3074, 3043, 3046, 3055, 3061, 656, 3103, 3067, 6479, 3102,
779 6479, 6479, 3057, 3052, 815, 3073, 3033, 3042, 3028, 3036,
780 2939, 3076, 3037, 3024, 3019, 3086, 3016, 3092, 3096, 3099,
781 3102, 3009, 3105, 3017, 3004, 3111, 3116, 3123, 3126, 3132,
782 6479, 6479, 3006, 3016, 3141, 2988, 3144, 6479, 6479, 2985,
783 3154, 3160, 2979, 3166, 2048, 2176, 3174, 3177, 3185, 2989,
784 2972, 2972, 2986, 2972, 2957, 3192, 3195, 3204, 3212, 2964,
785 2959, 3222, 3225, 3228, 3236, 3243, 3247, 3255, 3261, 3264,
786 3267, 3273, 2963, 2941, 2957, 3282, 3286, 2956, 3294, 3300,
788 2952, 3303, 3306, 3309, 3324, 3330, 3333, 3339, 2935, 3351,
789 6479, 6479, 2939, 2927, 3343, 2932, 3362, 3366, 3374, 3380,
790 3383, 3393, 1443, 8, 730, 6479, 2916, 3401, 2923, 2915,
791 3404, 2919, 2910, 2929, 2903, 2899, 2900, 2897, 3407, 3412,
792 3415, 3419, 2906, 2884, 3423, 3426, 2884, 3430, 3433, 2884,
793 2883, 2903, 3436, 2861, 2865, 3439, 3442, 2892, 2877, 190,
794 2872, 2871, 2857, 730, 2855, 3445, 6479, 6479, 3462, 3465,
795 2831, 2839, 2819, 2810, 2811, 3468, 6479, 6479, 3477, 2821,
796 2816, 2796, 3485, 3488, 6479, 3491, 6479, 6479, 3499, 3503,
797 3511, 6479, 6479, 3519, 3522, 3530, 3533, 3537, 3551, 3554,
799 2780, 3557, 2797, 3560, 2803, 2798, 2771, 3575, 6479, 3578,
800 2760, 3581, 3584, 3601, 3604, 3615, 3619, 3622, 3625, 3634,
801 3640, 3648, 2764, 2760, 2762, 3652, 2755, 3655, 6479, 6479,
802 3667, 3671, 6479, 6479, 3679, 6479, 878, 1016, 360, 2755,
803 3682, 3686, 2752, 2740, 3694, 3700, 2740, 2740, 3703, 2739,
804 2739, 3706, 3716, 3719, 2726, 3722, 3725, 3728, 3731, 2724,
805 2721, 2717, 3734, 6479, 2695, 2710, 3737, 3740, 3743, 2717,
806 2709, 2707, 2704, 2696, 2698, 2693, 2690, 2693, 2685, 3758,
807 3761, 3764, 3772, 2660, 2662, 2660, 2650, 1013, 1063, 2644,
808 3779, 3782, 3790, 6479, 6479, 3798, 6479, 6479, 3806, 3809,
810 3817, 6479, 6479, 3825, 3828, 2644, 3831, 3834, 2645, 2631,
811 1117, 1180, 2634, 3849, 6479, 2622, 3852, 6479, 6479, 3861,
812 6479, 6479, 3869, 3872, 3875, 6479, 6479, 3891, 6479, 6479,
813 3900, 3903, 2628, 2620, 3906, 2608, 3909, 3912, 241, 1394,
814 3921, 3936, 6479, 6479, 2614, 2599, 3931, 3944, 3950, 2586,
815 3953, 3956, 3959, 3962, 2574, 3968, 3971, 2573, 2564, 6479,
816 3974, 2563, 3977, 6479, 3980, 6479, 6479, 2600, 2571, 2583,
817 2576, 2573, 2566, 2551, 2562, 2556, 2559, 3988, 3992, 6479,
818 6479, 4000, 2519, 2522, 2517, 2512, 2538, 2557, 2528, 2543,
819 2498, 4003, 6479, 6479, 4011, 6479, 6479, 4019, 4022, 6479,
821 4025, 4028, 6479, 6479, 2488, 2467, 2495, 2497, 2472, 2472,
822 2430, 4046, 4049, 4052, 4055, 4058, 4062, 4076, 2408, 4079,
823 4082, 4085, 4088, 852, 990, 4094, 4098, 2392, 4109, 4116,
824 2376, 4119, 4122, 2380, 2377, 2348, 4128, 4131, 2346, 2356,
825 2322, 2276, 2248, 2252, 2247, 2238, 61, 198, 289, 4139,
826 383, 409, 437, 452, 553, 6479, 551, 6479, 4142, 4148,
827 6479, 4151, 4154, 549, 556, 567, 620, 6479, 655, 6479,
828 4162, 4169, 4172, 6479, 4175, 4180, 4184, 6479, 6479, 4199,
829 4202, 4210, 4213, 6479, 4217, 4220, 1074, 1098, 1122, 4223,
830 4228, 4244, 4247, 6479, 638, 676, 707, 4250, 4253, 1168,
832 1219, 700, 752, 761, 856, 881, 986, 963, 1000, 1017,
833 1021, 1067, 4262, 1045, 1029, 1104, 1103, 6479, 6479, 4268,
834 4271, 4282, 6479, 6479, 1161, 1167, 1164, 6479, 6479, 4290,
835 4293, 4301, 6479, 4304, 4308, 6479, 6479, 4323, 4326, 4334,
836 6479, 1287, 1450, 1512, 4337, 6479, 6479, 4345, 4349, 4357,
837 1222, 1226, 4363, 4367, 1238, 1256, 1282, 1319, 1294, 1345,
838 1353, 1362, 1376, 6479, 1408, 1405, 1414, 1419, 6479, 4375,
839 4381, 4384, 1419, 1422, 4387, 6479, 6479, 1421, 4395, 1448,
840 4398, 6479, 6479, 4406, 4409, 6479, 6479, 1510, 1584, 4417,
841 4429, 6479, 6479, 4420, 1455, 1456, 4437, 6479, 6479, 1500,
843 1493, 1507, 1499, 4445, 1511, 1540, 1563, 1563, 1573, 1591,
844 1606, 1596, 4448, 4451, 4455, 4463, 1568, 1559, 1562, 1577,
845 4458, 4476, 1560, 4484, 1647, 4487, 4490, 4496, 4509, 4515,
846 1596, 1613, 1605, 1663, 4518, 4521, 1660, 1661, 6479, 1662,
847 1668, 1678, 6479, 1680, 4529, 4532, 6479, 6479, 1657, 1663,
848 1680, 1705, 4540, 4544, 6479, 6479, 4552, 4558, 6479, 1734,
849 4561, 4564, 4583, 4603, 4647, 4572, 4592, 1727, 1749, 1739,
850 1759, 4623, 6479, 6479, 1770, 1771, 1791, 1815, 1794, 1797,
851 4596, 1779, 1788, 1798, 1801, 4615, 4633, 4641, 4667, 1884,
852 4675, 1947, 1880, 4695, 4739, 1852, 6479, 1854, 6479, 6479,
854 1863, 1884, 6479, 1883, 1890, 4685, 6479, 1852, 1839, 1873,
855 1878, 4715, 6479, 6479, 4723, 1931, 1986, 1931, 2073, 1940,
856 1937, 2013, 1936, 4690, 1948, 2010, 6479, 6479, 6479, 6479,
857 4731, 4750, 4759, 4762, 2009, 2005, 2015, 2025, 4768, 2058,
858 2055, 2076, 4771, 2108, 2106, 4782, 4790, 4803, 4806, 4814,
859 4821, 2055, 4832, 4835, 2080, 2098, 2085, 2104, 4843, 2123,
860 6479, 6479, 4846, 6479, 6479, 4855, 6479, 6479, 4863, 6479,
861 6479, 2094, 4871, 6479, 6479, 2116, 2118, 2121, 2122, 2164,
862 6479, 2113, 2133, 2148, 2146, 2151, 2162, 2113, 2144, 2161,
863 2151, 2184, 2191, 4880, 2191, 2212, 2200, 2230, 2231, 4883,
865 4886, 2234, 6479, 2233, 6479, 2249, 4894, 6479, 6479, 6479,
866 6479, 4902, 4905, 2232, 2241, 2292, 2345, 2296, 2351, 2250,
867 2293, 2281, 2334, 2348, 2355, 2223, 2394, 2285, 2449, 2412,
868 2476, 2352, 2414, 2482, 2500, 2492, 2331, 4913, 4916, 6479,
869 6479, 4936, 4945, 4954, 4963, 4972, 4981, 4990, 4999, 5008,
870 5017, 5026, 5035, 5044, 5053, 5062, 5071, 5080, 5089, 5098,
871 5107, 5116, 5125, 5134, 5143, 5152, 5161, 5170, 5179, 5188,
872 5197, 5206, 5215, 5224, 5233, 5242, 5251, 5258, 5265, 5272,
873 5279, 5286, 5293, 5300, 5307, 5314, 5321, 5328, 5335, 5342,
874 5349, 5356, 5363, 5372, 5377, 5382, 5387, 5392, 5397, 5402,
876 5407, 5412, 5417, 5422, 5429, 5434, 5441, 5446, 5453, 5458,
877 5465, 5470, 5477, 5482, 5489, 5494, 5503, 5509, 5516, 5524,
878 5531, 5539, 5546, 5554, 5561, 5569, 5576, 5584, 5591, 5599,
879 5606, 5614, 5622, 5629, 5637, 5645, 5653, 5661, 5669, 5677,
880 5685, 5693, 5700, 5708, 5715, 5723, 5730, 5738, 5747, 5753,
881 5760, 5768, 5776, 5784, 5791, 5799, 5806, 5814, 5821, 5829,
882 5836, 5844, 5851, 5859, 5867, 5874, 5882, 5890, 5897, 5905,
883 5913, 5920, 5928, 5935, 5943, 5950, 5958, 5965, 5973, 5982,
884 5991, 5998, 6006, 6013, 6021, 6028, 6036, 6043, 6051, 6058,
885 6065, 6073, 6081, 6089, 6097, 6104, 6112, 6120, 6127, 6135,
887 6143, 6150, 6158, 6165, 6173, 6181, 6189, 6197, 6205, 6214,
888 6223, 6230, 6238, 6245, 6253, 6260, 6268, 6275, 6283, 6290,
889 6297, 6305, 6313, 6321, 6329, 6336, 6344, 6352, 6360, 6368,
890 6376, 6384, 6392, 6399, 6407, 6415, 6424, 6433, 6442, 6451,
894 static yyconst flex_int16_t yy_def[2043] =
896 1842, 1842, 1843, 1843, 1843, 1843, 1844, 1844, 1845, 1845,
897 1846, 1846, 1847, 1847, 1847, 1847, 1848, 1848, 1842, 1842,
898 1849, 1849, 1850, 1850, 1850, 1850, 1842, 1842, 1850, 1850,
899 1850, 1850, 1842, 1842, 1850, 1850, 1842, 1842, 1850, 1850,
900 1850, 1850, 1851, 1851, 1847, 1847, 1852, 1852, 1853, 1853,
901 1842, 1842, 1853, 1853, 1853, 1853, 1854, 1854, 1855, 1855,
902 1856, 1856, 1857, 1857, 1857, 1857, 1842, 1842, 1857, 1857,
903 1857, 1857, 1842, 1842, 1857, 1857, 1842, 1842, 1857, 1857,
904 1857, 1857, 1842, 1842, 1857, 1857, 1842, 1842, 1857, 1857,
905 1857, 1857, 1841, 93, 1858, 1858, 1842, 1842, 1858, 1858,
907 1858, 1858, 1841, 103, 1859, 1859, 1860, 1860, 1861, 1861,
908 1862, 1862, 1863, 1863, 1842, 1842, 1863, 1863, 1863, 1863,
909 1864, 1864, 1865, 1865, 1842, 1842, 1865, 1865, 1865, 1865,
910 1866, 1866, 1867, 1867, 1842, 1842, 1867, 1867, 1867, 1867,
911 1868, 1868, 1869, 1869, 1870, 1870, 1871, 1871, 1842, 1842,
912 1871, 1871, 1871, 1871, 1872, 1872, 1873, 1873, 1842, 1842,
913 1873, 1873, 1873, 1873, 1874, 1874, 1875, 1875, 1876, 1876,
914 1877, 1877, 1842, 1842, 1841, 1841, 1841, 1841, 1841, 1841,
915 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
916 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
918 1841, 1841, 1841, 1841, 1841, 1878, 1841, 1841, 1878, 1878,
919 1841, 1841, 1841, 213, 213, 213, 215, 215, 1841, 1841,
920 1841, 1879, 1841, 1841, 1879, 1879, 1879, 1841, 1841, 1841,
921 1841, 1841, 1880, 1841, 1841, 1880, 1880, 1880, 1880, 1841,
922 1841, 218, 218, 218, 1841, 1841, 1841, 1881, 1841, 1841,
923 1881, 1881, 1881, 1841, 1841, 1841, 1841, 1841, 1841, 1882,
924 1841, 1841, 1882, 1882, 1841, 1841, 216, 218, 216, 267,
925 268, 268, 268, 218, 218, 275, 218, 218, 1841, 1841,
926 1841, 1883, 1841, 1841, 1883, 1883, 1883, 1883, 1883, 1883,
927 1841, 1841, 218, 218, 1841, 1841, 1841, 1884, 1841, 1841,
929 1884, 1884, 1884, 1884, 1884, 1884, 1841, 1841, 1841, 1841,
930 1841, 1841, 1885, 1841, 1841, 1885, 1841, 1841, 1841, 1841,
931 1841, 1841, 1886, 1841, 1841, 1886, 1886, 1886, 1886, 1841,
932 1841, 218, 218, 1841, 1841, 1841, 1887, 1841, 1841, 1887,
933 1887, 1841, 1841, 218, 218, 218, 1841, 1841, 1841, 1888,
934 1841, 1841, 1888, 1888, 1888, 1841, 1841, 218, 218, 1841,
935 1841, 1841, 1889, 1841, 1841, 1889, 1841, 1841, 1841, 1841,
936 1841, 1841, 1890, 1841, 1841, 1890, 1890, 1890, 1841, 1841,
937 218, 218, 1841, 1841, 1841, 1891, 1841, 1841, 1891, 1891,
938 1891, 1891, 1841, 1841, 218, 395, 218, 1841, 1841, 1841,
940 1892, 1841, 1841, 1892, 1841, 1841, 1841, 1841, 1841, 1841,
941 1893, 1841, 1841, 1893, 1893, 1841, 1841, 1841, 1841, 1894,
942 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
943 1841, 1841, 1841, 1841, 1841, 1878, 1878, 1878, 1895, 1841,
944 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
945 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
946 1879, 1879, 1879, 1879, 1841, 1896, 1841, 1841, 1880, 1880,
947 1880, 1880, 1880, 1880, 1880, 1897, 1841, 1841, 1881, 1881,
948 1881, 1881, 1898, 1841, 1882, 1882, 1882, 1899, 1841, 1841,
949 1841, 1841, 1841, 1841, 1883, 1883, 1883, 1883, 1883, 1883,
951 1883, 1883, 1900, 1841, 1884, 1884, 1884, 1884, 1884, 1884,
952 1884, 1884, 1884, 1901, 1841, 1885, 1885, 1902, 1841, 1886,
953 1886, 1886, 1886, 1886, 1886, 1903, 1841, 1887, 1887, 1887,
954 1904, 1841, 1841, 1905, 1905, 1905, 1905, 1906, 1841, 1907,
955 1907, 1908, 1841, 1909, 1909, 1909, 1909, 1910, 1841, 1911,
956 1911, 1911, 1911, 1911, 1912, 1841, 1841, 1913, 1913, 1914,
957 1841, 1915, 1915, 1915, 1916, 1917, 1841, 1917, 1841, 1841,
958 1841, 1918, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1919,
959 1919, 1920, 1920, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
960 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
962 1841, 1841, 1841, 1841, 1841, 1921, 1841, 1841, 1921, 1841,
963 1922, 1922, 1841, 1923, 1841, 1841, 1923, 1923, 1923, 1923,
964 1924, 1924, 1841, 1925, 1925, 1925, 1926, 1926, 1841, 1841,
965 1927, 1928, 1928, 1841, 1841, 1841, 1929, 1841, 1841, 1929,
966 1929, 1929, 1929, 1929, 1930, 1930, 1931, 1841, 1841, 1841,
967 1841, 1931, 1931, 1931, 1931, 1931, 1932, 1932, 1841, 1841,
968 1933, 1933, 1934, 1841, 1841, 1934, 1934, 1934, 1935, 1935,
969 1936, 1936, 1937, 1937, 1841, 1938, 1938, 1938, 1939, 1939,
970 1841, 1841, 1940, 1940, 1941, 1941, 1941, 1942, 1942, 1943,
971 1943, 1943, 1943, 1944, 1944, 1841, 1945, 1946, 1946, 1841,
973 1841, 1947, 1948, 1948, 1949, 1841, 1841, 1949, 1841, 1841,
974 1950, 1841, 1841, 1841, 1841, 1841, 1841, 1951, 1951, 1841,
975 1952, 1841, 1952, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
976 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
977 1841, 1841, 1841, 1841, 1841, 1841, 1953, 1841, 1841, 1841,
978 1953, 1841, 1841, 1954, 1841, 1954, 1955, 1841, 1841, 1841,
979 1841, 1841, 1955, 1841, 1841, 1955, 1841, 1956, 1841, 1956,
980 1841, 1957, 1957, 1957, 1841, 1958, 1841, 1958, 1841, 1841,
981 1841, 1959, 1841, 1960, 1841, 1960, 1841, 1841, 1961, 1841,
982 1841, 1841, 1961, 1961, 1961, 1961, 1961, 1841, 1962, 1841,
984 1962, 1963, 1963, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
985 1841, 1963, 1963, 1963, 1963, 1841, 1964, 1841, 1964, 1841,
986 1841, 1841, 1841, 1965, 1841, 1965, 1966, 1841, 1841, 1841,
987 1966, 1966, 1966, 1841, 1967, 1841, 1967, 1841, 1841, 1841,
988 1841, 1841, 1968, 1841, 1968, 1841, 1841, 1841, 1969, 1969,
989 1841, 1841, 1841, 1970, 1841, 1970, 1841, 1841, 1841, 1841,
990 1971, 1841, 1971, 1841, 1841, 1972, 1972, 1841, 1841, 1841,
991 1973, 1841, 1973, 1974, 1974, 1974, 1974, 1841, 1975, 1841,
992 1975, 1841, 1976, 1841, 1977, 1841, 1977, 1841, 1841, 1841,
993 1978, 1841, 1979, 1841, 1979, 1980, 1981, 1841, 1841, 1841,
995 1841, 1841, 1982, 1982, 1983, 1841, 1841, 1841, 1841, 1841,
996 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
997 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1984,
998 1841, 1985, 1986, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
999 1841, 1986, 1987, 1841, 1988, 1841, 1841, 1988, 1989, 1990,
1000 1841, 1841, 1841, 1841, 1991, 1991, 1991, 1991, 1991, 1991,
1001 1992, 1993, 1993, 1841, 1841, 1841, 1993, 1993, 1993, 1993,
1002 1994, 1995, 1996, 1996, 1996, 1996, 1997, 1841, 1841, 1841,
1003 1841, 1841, 1841, 1998, 1841, 1841, 1841, 1841, 1999, 1999,
1004 1841, 1841, 1841, 2000, 2001, 1841, 1841, 1841, 2002, 2002,
1006 1841, 1841, 1841, 2003, 2004, 1841, 1841, 2004, 2004, 2005,
1007 1841, 2006, 2007, 2008, 2009, 2010, 2011, 2011, 1841, 2011,
1008 1841, 1841, 1841, 2012, 2012, 2013, 1841, 1841, 1841, 1841,
1009 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1010 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1011 1841, 1841, 2014, 1841, 2015, 2016, 1841, 1841, 1841, 2016,
1012 2017, 1841, 2018, 1841, 1841, 1841, 1841, 1841, 2019, 2020,
1013 1841, 1841, 2021, 2021, 2021, 1841, 1841, 1841, 1841, 2021,
1014 2021, 2022, 1841, 1841, 2023, 1841, 1841, 2023, 2023, 2023,
1015 2024, 2025, 2026, 2026, 2026, 1841, 1841, 2026, 2027, 2028,
1017 1841, 2029, 2029, 2030, 2031, 2032, 2032, 2033, 2034, 1841,
1018 1841, 1841, 2034, 2034, 2035, 1841, 1841, 1841, 2036, 1841,
1019 1841, 2009, 2010, 2011, 2011, 1841, 1841, 2012, 2012, 2012,
1020 2013, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1021 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1022 2014, 1841, 2015, 2016, 2016, 2017, 2018, 1841, 1841, 1841,
1023 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 2019, 2020,
1024 1841, 1841, 2021, 2021, 2021, 1841, 1841, 1841, 1841, 1841,
1025 1841, 2021, 2021, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1026 1841, 1841, 1841, 1841, 1841, 2023, 1841, 1841, 2024, 2025,
1028 2026, 2026, 2026, 1841, 1841, 1841, 2026, 1841, 1841, 2028,
1029 1841, 1841, 1841, 1841, 1841, 2030, 2031, 1841, 1841, 1841,
1030 1841, 2033, 2034, 2034, 2034, 2035, 1841, 1841, 1841, 1841,
1031 2036, 1841, 1841, 1841, 1841, 1841, 2010, 2011, 2011, 1841,
1032 1841, 1841, 2012, 2012, 2013, 1841, 1841, 1841, 1841, 1841,
1033 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1034 2014, 1841, 1841, 1841, 2016, 2016, 2017, 1841, 1841, 1841,
1035 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 2019,
1036 1841, 1841, 1841, 1841, 2021, 2021, 2021, 1841, 1841, 2021,
1037 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1039 1841, 1841, 1841, 2024, 2025, 2026, 1841, 1841, 2026, 2026,
1040 1841, 1841, 2026, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1041 1841, 1841, 2030, 2031, 1841, 1841, 1841, 1841, 1841, 1841,
1042 2033, 2034, 2034, 2034, 2035, 1841, 2036, 2010, 2011, 2011,
1043 1841, 1841, 1841, 1841, 2012, 2012, 2013, 1841, 1841, 1841,
1044 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 2014, 1841,
1045 2016, 2016, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1046 1841, 1841, 1841, 1841, 1841, 1841, 1841, 2019, 1841, 1841,
1047 1841, 1841, 1841, 2021, 2021, 2021, 1841, 1841, 1841, 1841,
1048 2021, 1841, 1841, 1841, 1841, 1841, 1841, 2024, 1841, 1841,
1050 2026, 1841, 1841, 1841, 2026, 2026, 1841, 1841, 1841, 1841,
1051 2026, 1841, 2030, 2031, 2033, 1841, 1841, 2034, 2034, 2035,
1052 1841, 2036, 2010, 2011, 2011, 1841, 2012, 2012, 2013, 1841,
1053 1841, 1841, 1841, 1841, 1841, 2014, 1841, 1841, 2016, 1841,
1054 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 2019,
1055 1841, 2021, 2021, 2021, 1841, 1841, 1841, 1841, 2021, 1841,
1056 1841, 1841, 1841, 2026, 2026, 2026, 1841, 1841, 1841, 1841,
1057 2026, 1841, 1841, 1841, 2031, 2033, 1841, 1841, 1841, 1841,
1058 1841, 2034, 1841, 1841, 1841, 2036, 2010, 2011, 2011, 1841,
1059 1841, 2012, 1841, 1841, 1841, 1841, 1841, 2014, 1841, 1841,
1061 1841, 2016, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1062 1841, 1841, 2019, 1841, 2021, 2021, 2021, 1841, 1841, 1841,
1063 1841, 1841, 1841, 1841, 2026, 2026, 2026, 1841, 1841, 1841,
1064 1841, 1841, 1841, 2033, 1841, 1841, 1841, 1841, 1841, 1841,
1065 1841, 2010, 2011, 2011, 1841, 1841, 1841, 1841, 1841, 1841,
1066 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 2016, 1841,
1067 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 2019,
1068 1841, 2021, 2021, 2021, 1841, 1841, 1841, 2026, 2026, 2026,
1069 1841, 1841, 1841, 2033, 1841, 1841, 1841, 2010, 2011, 2011,
1070 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1072 1841, 1841, 1841, 2016, 1841, 1841, 1841, 1841, 1841, 1841,
1073 1841, 1841, 2019, 1841, 1841, 1841, 2021, 2021, 2021, 2026,
1074 1841, 1841, 2026, 2033, 2010, 2011, 2011, 2011, 1841, 1841,
1075 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1076 1841, 1841, 1841, 1841, 2019, 1841, 1841, 1841, 2021, 2021,
1077 2021, 2021, 2026, 1841, 1841, 1841, 2026, 1841, 1841, 2010,
1078 2011, 2011, 2011, 2037, 2038, 1841, 1841, 1841, 1841, 1841,
1079 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1080 2019, 2021, 2021, 2021, 2021, 1841, 1841, 1841, 1841, 2010,
1081 2011, 2039, 2040, 2037, 2038, 1841, 1841, 1841, 1841, 1841,
1083 1841, 1841, 1841, 1841, 1841, 1841, 1841, 2021, 2021, 2021,
1084 2021, 1841, 1841, 1841, 1841, 1841, 1841, 2010, 2039, 2011,
1085 2041, 2040, 2042, 2011, 1841, 1841, 1841, 1841, 1841, 1841,
1086 2021, 2021, 2021, 2021, 1841, 1841, 1841, 1841, 2010, 2041,
1087 1841, 2042, 2011, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1088 1841, 2021, 1841, 1841, 1841, 1841, 1841, 1841, 2010, 1841,
1089 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1090 1841, 2021, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 2010,
1091 1841, 2021, 1841, 1841, 1841, 1841, 2010, 2021, 1841, 1841,
1092 1841, 1841, 2010, 2021, 1841, 1841, 1841, 1841, 2010, 1841,
1094 1841, 1841, 1841, 1841, 1841, 2010, 1841, 1841, 1841, 1841,
1095 1841, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010,
1096 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010,
1097 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 2010, 1841,
1098 0, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1099 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1100 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1101 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1102 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1103 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1105 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1106 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1107 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1108 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1109 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1110 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1111 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1112 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1113 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1114 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1116 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1117 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1118 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1119 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1123 static yyconst flex_int16_t yy_nxt[6549] =
1125 1841, 178, 179, 178, 178, 179, 178, 178, 179, 178,
1126 178, 179, 178, 183, 179, 183, 189, 180, 186, 189,
1127 180, 186, 476, 181, 1841, 187, 181, 1019, 187, 184,
1128 183, 179, 183, 420, 190, 192, 193, 190, 192, 193,
1129 194, 195, 1841, 194, 195, 420, 184, 199, 200, 421,
1130 196, 192, 193, 196, 197, 423, 194, 192, 193, 442,
1131 197, 422, 194, 199, 200, 1238, 196, 179, 179, 179,
1132 477, 422, 196, 179, 179, 179, 212, 179, 212, 212,
1133 179, 212, 449, 202, 212, 179, 212, 913, 201, 202,
1134 477, 458, 213, 459, 1510, 213, 419, 419, 419, 914,
1136 213, 419, 419, 419, 201, 203, 204, 179, 204, 203,
1137 203, 203, 203, 203, 203, 203, 205, 203, 203, 203,
1138 503, 203, 207, 203, 208, 203, 212, 179, 212, 179,
1139 179, 179, 524, 179, 179, 179, 212, 179, 212, 212,
1140 179, 212, 213, 525, 449, 214, 423, 203, 203, 214,
1141 423, 510, 213, 458, 511, 213, 419, 419, 419, 419,
1142 419, 419, 422, 419, 419, 419, 422, 451, 477, 458,
1143 209, 459, 210, 203, 204, 179, 204, 203, 203, 203,
1144 203, 203, 203, 203, 205, 203, 203, 203, 920, 203,
1145 207, 203, 208, 203, 212, 179, 212, 212, 179, 212,
1147 914, 179, 179, 179, 179, 179, 179, 212, 179, 212,
1148 215, 1272, 1841, 215, 488, 203, 203, 216, 1841, 1273,
1149 216, 1841, 453, 213, 492, 212, 179, 212, 179, 179,
1150 179, 179, 179, 179, 212, 179, 212, 497, 209, 488,
1151 210, 213, 1511, 506, 217, 423, 498, 217, 423, 490,
1152 215, 212, 179, 212, 212, 179, 212, 212, 179, 212,
1153 1019, 422, 449, 507, 422, 450, 451, 215, 457, 451,
1154 218, 452, 488, 218, 219, 220, 179, 220, 219, 219,
1155 219, 219, 219, 219, 219, 221, 219, 219, 219, 455,
1156 219, 223, 219, 224, 219, 241, 179, 241, 573, 1424,
1158 434, 574, 241, 179, 241, 179, 179, 179, 192, 193,
1159 423, 242, 423, 194, 192, 193, 219, 219, 242, 194,
1160 526, 243, 491, 228, 225, 1512, 422, 226, 422, 228,
1161 419, 419, 419, 227, 219, 220, 179, 220, 219, 219,
1162 219, 219, 219, 219, 219, 221, 219, 219, 219, 229,
1163 219, 223, 219, 224, 219, 229, 179, 179, 179, 241,
1164 179, 241, 241, 179, 241, 241, 179, 241, 477, 241,
1165 179, 241, 243, 465, 920, 242, 219, 219, 242, 1019,
1166 466, 244, 590, 1841, 225, 244, 944, 226, 591, 422,
1167 419, 419, 419, 227, 230, 231, 179, 231, 230, 230,
1169 230, 230, 230, 230, 230, 232, 230, 230, 230, 453,
1170 230, 234, 230, 235, 230, 255, 179, 255, 255, 179,
1171 255, 1340, 266, 179, 266, 266, 179, 266, 266, 179,
1172 266, 256, 423, 455, 256, 454, 230, 230, 267, 483,
1173 449, 267, 592, 450, 268, 236, 1514, 237, 422, 455,
1174 238, 456, 419, 419, 419, 593, 239, 230, 231, 179,
1175 231, 230, 230, 230, 230, 230, 230, 230, 232, 230,
1176 230, 230, 1515, 230, 234, 230, 235, 230, 266, 179,
1177 266, 179, 179, 179, 1516, 179, 179, 179, 266, 179,
1178 266, 266, 179, 266, 268, 423, 423, 269, 472, 230,
1180 230, 269, 473, 531, 270, 592, 474, 270, 236, 1517,
1181 237, 422, 422, 238, 419, 419, 419, 1841, 598, 239,
1182 245, 246, 179, 246, 245, 245, 245, 245, 245, 245,
1183 245, 247, 245, 245, 245, 567, 245, 249, 245, 250,
1184 245, 266, 179, 266, 266, 179, 266, 532, 179, 179,
1185 179, 179, 179, 179, 266, 179, 266, 271, 1518, 1519,
1186 271, 532, 245, 245, 272, 423, 423, 272, 610, 251,
1187 268, 419, 419, 419, 252, 419, 419, 419, 419, 419,
1188 419, 422, 422, 253, 245, 246, 179, 246, 245, 245,
1189 245, 245, 245, 245, 245, 247, 245, 245, 245, 1525,
1191 245, 249, 245, 250, 245, 266, 179, 266, 179, 179,
1192 179, 1526, 179, 179, 179, 266, 179, 266, 266, 179,
1193 266, 268, 1527, 802, 273, 1528, 245, 245, 273, 423,
1194 423, 271, 803, 251, 271, 419, 419, 419, 252, 419,
1195 419, 419, 419, 419, 419, 422, 422, 253, 257, 258,
1196 179, 258, 257, 257, 257, 257, 257, 257, 257, 259,
1197 257, 257, 257, 1529, 257, 261, 257, 262, 257, 266,
1198 179, 266, 266, 179, 266, 706, 179, 179, 179, 179,
1199 179, 179, 266, 179, 266, 274, 601, 1550, 274, 423,
1200 257, 257, 275, 538, 590, 275, 514, 1123, 276, 602,
1202 597, 263, 419, 419, 419, 422, 419, 419, 419, 264,
1203 257, 258, 179, 258, 257, 257, 257, 257, 257, 257,
1204 257, 259, 257, 257, 257, 1551, 257, 261, 257, 262,
1205 257, 266, 179, 266, 179, 179, 179, 532, 179, 179,
1206 179, 266, 179, 266, 266, 179, 266, 276, 592, 1019,
1207 277, 1277, 257, 257, 277, 567, 1552, 274, 1559, 1278,
1208 274, 604, 423, 263, 266, 179, 266, 266, 179, 266,
1209 568, 264, 419, 419, 419, 419, 419, 419, 422, 1239,
1210 278, 1560, 1561, 278, 279, 280, 179, 280, 279, 279,
1211 279, 279, 279, 279, 279, 281, 279, 279, 279, 282,
1213 279, 283, 279, 284, 279, 282, 282, 282, 282, 282,
1214 282, 282, 282, 282, 282, 282, 282, 282, 282, 282,
1215 282, 282, 282, 282, 282, 282, 279, 279, 282, 285,
1216 282, 282, 282, 282, 282, 282, 282, 286, 282, 282,
1217 287, 282, 282, 288, 282, 282, 289, 282, 282, 290,
1218 282, 282, 282, 292, 179, 292, 292, 179, 292, 179,
1219 179, 179, 179, 179, 179, 292, 179, 292, 590, 293,
1220 1129, 1019, 293, 706, 623, 243, 1130, 896, 243, 1562,
1221 706, 293, 292, 179, 292, 292, 179, 292, 292, 179,
1222 292, 419, 419, 419, 419, 419, 419, 706, 293, 1016,
1224 1488, 294, 1563, 1338, 294, 295, 296, 179, 296, 295,
1225 295, 295, 295, 295, 295, 295, 297, 295, 295, 295,
1226 298, 295, 299, 295, 300, 295, 298, 298, 298, 298,
1227 298, 298, 298, 298, 298, 298, 298, 298, 298, 298,
1228 298, 298, 298, 298, 298, 298, 298, 295, 295, 298,
1229 298, 301, 298, 298, 298, 298, 298, 298, 302, 298,
1230 303, 298, 298, 298, 304, 298, 305, 306, 298, 298,
1231 298, 298, 298, 298, 308, 179, 308, 308, 179, 308,
1232 419, 419, 419, 419, 419, 419, 419, 419, 419, 548,
1233 309, 1564, 1565, 309, 310, 311, 179, 311, 310, 310,
1235 310, 310, 310, 310, 310, 312, 310, 310, 310, 1019,
1236 310, 314, 310, 315, 310, 318, 179, 318, 318, 179,
1237 318, 1566, 331, 179, 331, 331, 179, 331, 179, 179,
1238 179, 319, 601, 532, 319, 1019, 310, 310, 332, 1387,
1239 1567, 332, 1568, 1489, 243, 598, 1388, 316, 310, 311,
1240 179, 311, 310, 310, 310, 310, 310, 310, 310, 312,
1241 310, 310, 310, 1339, 310, 314, 310, 315, 310, 179,
1242 179, 179, 331, 179, 331, 1569, 331, 179, 331, 331,
1243 179, 331, 331, 179, 331, 243, 601, 601, 332, 1389,
1244 310, 310, 332, 706, 1571, 333, 1390, 1572, 333, 593,
1246 604, 316, 320, 321, 179, 321, 320, 320, 320, 320,
1247 320, 320, 320, 322, 320, 320, 320, 1019, 320, 324,
1248 320, 325, 320, 343, 179, 343, 343, 179, 343, 1542,
1249 179, 179, 179, 179, 179, 179, 343, 179, 343, 344,
1250 423, 1019, 344, 1407, 320, 320, 345, 518, 326, 345,
1251 1408, 1543, 344, 1573, 1574, 327, 422, 328, 419, 419,
1252 419, 419, 419, 419, 329, 320, 321, 179, 321, 320,
1253 320, 320, 320, 320, 320, 320, 322, 320, 320, 320,
1254 1544, 320, 324, 320, 325, 320, 343, 179, 343, 343,
1255 179, 343, 1555, 343, 179, 343, 357, 179, 357, 357,
1257 179, 357, 344, 423, 1556, 346, 1409, 320, 320, 346,
1258 542, 326, 358, 1410, 1578, 358, 1579, 1580, 327, 422,
1259 328, 419, 419, 419, 419, 419, 419, 329, 334, 335,
1260 179, 335, 334, 334, 334, 334, 334, 334, 334, 336,
1261 334, 334, 334, 1557, 334, 338, 334, 339, 334, 179,
1262 179, 179, 179, 179, 179, 1558, 357, 179, 357, 357,
1263 179, 357, 357, 179, 357, 345, 423, 423, 345, 1595,
1264 334, 334, 358, 1596, 1600, 358, 340, 1601, 359, 419,
1265 419, 419, 422, 422, 419, 419, 419, 419, 419, 419,
1266 341, 334, 335, 179, 335, 334, 334, 334, 334, 334,
1268 334, 334, 336, 334, 334, 334, 706, 334, 338, 334,
1269 339, 334, 357, 179, 357, 368, 179, 368, 1602, 368,
1270 179, 368, 380, 179, 380, 380, 179, 380, 359, 423,
1271 423, 369, 1588, 334, 334, 369, 423, 560, 381, 340,
1272 1603, 381, 419, 419, 419, 422, 422, 555, 419, 419,
1273 419, 1604, 422, 341, 347, 348, 179, 348, 347, 347,
1274 347, 347, 347, 347, 347, 349, 347, 347, 347, 1605,
1275 347, 351, 347, 352, 347, 179, 179, 179, 179, 179,
1276 179, 556, 380, 179, 380, 380, 179, 380, 380, 179,
1277 380, 345, 1606, 423, 345, 477, 347, 347, 381, 706,
1279 565, 381, 353, 1607, 382, 354, 419, 419, 419, 422,
1280 419, 419, 419, 1019, 708, 1608, 355, 347, 348, 179,
1281 348, 347, 347, 347, 347, 347, 347, 347, 349, 347,
1282 347, 347, 1609, 347, 351, 347, 352, 347, 380, 179,
1283 380, 394, 179, 394, 1610, 394, 179, 394, 179, 179,
1284 179, 179, 179, 179, 382, 1611, 1425, 395, 1612, 347,
1285 347, 395, 706, 1618, 396, 353, 1619, 396, 354, 1019,
1286 571, 571, 571, 571, 571, 571, 1620, 710, 1237, 355,
1287 360, 361, 179, 361, 360, 360, 360, 360, 360, 360,
1288 360, 362, 360, 360, 360, 1623, 360, 364, 360, 365,
1290 360, 394, 179, 394, 394, 179, 394, 1589, 394, 179,
1291 394, 394, 179, 394, 406, 179, 406, 395, 1629, 1630,
1292 395, 1631, 360, 360, 397, 572, 1632, 397, 1633, 706,
1293 407, 1019, 1634, 366, 360, 361, 179, 361, 360, 360,
1294 360, 360, 360, 360, 360, 362, 360, 360, 360, 1637,
1295 360, 364, 360, 365, 360, 406, 179, 406, 417, 179,
1296 417, 1638, 417, 179, 417, 607, 607, 607, 1639, 1590,
1297 428, 407, 1841, 1625, 418, 488, 360, 360, 418, 748,
1298 748, 748, 608, 749, 1640, 489, 750, 366, 370, 371,
1299 179, 371, 370, 370, 370, 370, 370, 370, 370, 372,
1301 370, 370, 370, 1019, 370, 374, 370, 375, 370, 429,
1302 490, 1641, 1642, 444, 1643, 430, 445, 1644, 1649, 431,
1303 1650, 1651, 493, 1652, 432, 491, 1653, 459, 1657, 1668,
1304 370, 370, 615, 615, 615, 1626, 376, 1669, 1670, 377,
1305 724, 724, 724, 740, 740, 740, 724, 724, 724, 616,
1306 378, 370, 371, 179, 371, 370, 370, 370, 370, 370,
1307 370, 370, 372, 370, 370, 370, 706, 370, 374, 370,
1308 375, 370, 629, 629, 629, 638, 638, 638, 648, 648,
1309 648, 650, 650, 650, 659, 659, 659, 1671, 1675, 630,
1310 1676, 1677, 639, 370, 370, 649, 1678, 1660, 651, 376,
1312 725, 660, 377, 725, 758, 758, 758, 1679, 759, 1680,
1313 1682, 760, 1683, 378, 383, 384, 179, 384, 383, 383,
1314 383, 383, 383, 383, 383, 385, 383, 383, 383, 1684,
1315 383, 387, 383, 388, 383, 664, 664, 664, 681, 681,
1316 681, 700, 700, 700, 720, 720, 720, 720, 720, 720,
1317 1685, 1696, 665, 706, 1697, 682, 383, 383, 701, 740,
1318 740, 740, 722, 1698, 389, 722, 390, 1699, 391, 1031,
1319 1031, 1031, 724, 724, 724, 1700, 392, 383, 384, 179,
1320 384, 383, 383, 383, 383, 383, 383, 383, 385, 383,
1321 383, 383, 1690, 383, 387, 383, 388, 383, 607, 607,
1323 607, 723, 1701, 753, 753, 753, 753, 753, 753, 615,
1324 615, 615, 767, 767, 767, 608, 761, 761, 761, 383,
1325 383, 755, 1702, 1703, 755, 1704, 616, 389, 1705, 390,
1326 769, 391, 787, 762, 1708, 1709, 740, 740, 740, 392,
1327 398, 399, 179, 399, 398, 398, 398, 398, 398, 398,
1328 398, 400, 398, 398, 398, 1710, 398, 402, 398, 403,
1329 398, 764, 764, 764, 1711, 1725, 756, 1726, 1727, 775,
1330 775, 775, 775, 775, 775, 629, 629, 629, 765, 1036,
1331 1036, 1036, 398, 398, 767, 767, 767, 777, 1720, 1728,
1332 777, 1729, 630, 779, 779, 779, 787, 780, 1730, 1723,
1334 781, 1731, 769, 706, 1732, 404, 398, 399, 179, 399,
1335 398, 398, 398, 398, 398, 398, 398, 400, 398, 398,
1336 398, 1733, 398, 402, 398, 403, 398, 1734, 770, 783,
1337 783, 783, 778, 783, 783, 783, 638, 638, 638, 790,
1338 790, 790, 1741, 791, 1741, 1718, 792, 785, 398, 398,
1339 706, 785, 1720, 639, 804, 804, 804, 1735, 805, 1019,
1340 1020, 806, 1744, 807, 807, 807, 1721, 808, 1736, 786,
1341 809, 404, 408, 409, 179, 409, 408, 408, 408, 408,
1342 408, 408, 408, 410, 408, 408, 408, 1739, 408, 412,
1343 408, 413, 408, 798, 798, 798, 648, 648, 648, 650,
1345 650, 650, 798, 798, 798, 810, 810, 810, 816, 816,
1346 816, 800, 1737, 649, 408, 408, 651, 816, 816, 816,
1347 800, 1720, 811, 1738, 1745, 414, 818, 820, 820, 820,
1348 1755, 821, 1723, 1756, 822, 818, 1757, 415, 408, 409,
1349 179, 409, 408, 408, 408, 408, 408, 408, 408, 410,
1350 408, 408, 408, 1758, 408, 412, 408, 413, 408, 801,
1351 659, 659, 659, 1741, 823, 823, 823, 823, 823, 823,
1352 1158, 819, 664, 664, 664, 1760, 1159, 660, 1720, 1160,
1353 408, 408, 825, 1161, 1741, 825, 828, 828, 828, 665,
1354 829, 414, 1721, 830, 834, 834, 834, 834, 834, 834,
1356 838, 838, 838, 415, 423, 840, 840, 840, 842, 842,
1357 842, 439, 836, 1761, 1762, 836, 1772, 839, 1776, 1777,
1358 422, 440, 841, 1778, 826, 1779, 844, 847, 847, 847,
1359 842, 842, 842, 1841, 1841, 1841, 851, 851, 851, 853,
1360 853, 853, 1781, 1782, 848, 441, 442, 443, 844, 837,
1361 1841, 1783, 444, 852, 1784, 445, 1785, 855, 1786, 446,
1362 1788, 447, 1789, 448, 853, 853, 853, 681, 681, 681,
1363 857, 857, 857, 1790, 858, 1791, 1792, 859, 1794, 1795,
1364 849, 706, 855, 706, 682, 1796, 1797, 845, 860, 860,
1365 860, 860, 860, 860, 850, 864, 864, 864, 1162, 1793,
1367 856, 1841, 1841, 1841, 1163, 1787, 862, 1164, 1798, 862,
1368 706, 1165, 865, 868, 868, 868, 1802, 1803, 1841, 870,
1369 870, 870, 870, 870, 870, 1804, 878, 878, 878, 1799,
1370 869, 878, 878, 878, 884, 884, 884, 872, 1805, 1810,
1371 872, 1811, 706, 863, 880, 884, 884, 884, 866, 880,
1372 706, 706, 886, 700, 700, 700, 1806, 888, 888, 888,
1373 706, 889, 867, 886, 890, 892, 892, 892, 706, 706,
1374 701, 1828, 892, 892, 892, 720, 720, 720, 720, 720,
1375 720, 1812, 1509, 894, 720, 720, 720, 1508, 1507, 873,
1376 894, 881, 1506, 722, 1816, 1830, 722, 928, 928, 928,
1378 706, 1822, 722, 1817, 706, 887, 748, 748, 748, 1505,
1379 749, 706, 706, 750, 929, 706, 1841, 1841, 1841, 753,
1380 753, 753, 753, 753, 753, 753, 753, 753, 905, 761,
1381 761, 761, 895, 1841, 758, 758, 758, 755, 759, 1838,
1382 755, 760, 1824, 755, 1823, 1818, 762, 934, 934, 934,
1383 706, 935, 1820, 706, 936, 937, 937, 937, 764, 764,
1384 764, 939, 939, 939, 706, 940, 1504, 706, 941, 932,
1385 706, 706, 938, 930, 706, 765, 767, 767, 767, 767,
1386 767, 767, 767, 767, 767, 946, 946, 946, 775, 775,
1387 775, 775, 775, 775, 769, 1825, 1503, 769, 1819, 1502,
1389 769, 1826, 947, 775, 775, 775, 777, 1821, 1827, 777,
1390 779, 779, 779, 706, 780, 1834, 1498, 781, 783, 783,
1391 783, 777, 783, 783, 783, 951, 951, 951, 790, 790,
1392 790, 706, 791, 706, 1497, 792, 785, 1496, 943, 1495,
1393 785, 1492, 1829, 952, 798, 798, 798, 949, 798, 798,
1394 798, 798, 798, 798, 804, 804, 804, 1482, 805, 1831,
1395 1832, 806, 800, 807, 807, 807, 800, 808, 706, 800,
1396 809, 810, 810, 810, 964, 964, 964, 1835, 965, 1471,
1397 1470, 966, 816, 816, 816, 816, 816, 816, 811, 816,
1398 816, 816, 820, 820, 820, 706, 821, 1838, 1469, 822,
1400 818, 706, 1468, 818, 823, 823, 823, 818, 823, 823,
1401 823, 706, 961, 823, 823, 823, 828, 828, 828, 706,
1402 829, 1467, 825, 830, 1833, 1466, 825, 834, 834, 834,
1403 1836, 825, 834, 834, 834, 834, 834, 834, 838, 838,
1404 838, 1465, 978, 978, 978, 836, 979, 1459, 1837, 980,
1405 836, 1458, 971, 836, 1457, 839, 840, 840, 840, 981,
1406 981, 981, 1456, 982, 1455, 1454, 983, 842, 842, 842,
1407 842, 842, 842, 841, 1453, 1452, 972, 842, 842, 842,
1408 847, 847, 847, 1451, 1449, 844, 1448, 1447, 844, 1446,
1409 1445, 977, 986, 986, 986, 844, 987, 848, 1444, 988,
1411 851, 851, 851, 991, 991, 991, 1443, 992, 1442, 1441,
1412 993, 853, 853, 853, 853, 853, 853, 852, 853, 853,
1413 853, 857, 857, 857, 1440, 858, 1439, 1436, 859, 855,
1414 1435, 1434, 855, 860, 860, 860, 855, 860, 860, 860,
1415 984, 860, 860, 860, 864, 864, 864, 868, 868, 868,
1416 1431, 862, 870, 870, 870, 862, 996, 996, 996, 862,
1417 997, 865, 1428, 998, 869, 1001, 1001, 1001, 1427, 1002,
1418 872, 1421, 1003, 870, 870, 870, 1419, 1418, 994, 1412,
1419 870, 870, 870, 1006, 1006, 1006, 878, 878, 878, 1411,
1420 1406, 872, 878, 878, 878, 1405, 1401, 995, 872, 1391,
1422 1007, 878, 878, 878, 880, 884, 884, 884, 1386, 1385,
1423 880, 884, 884, 884, 884, 884, 884, 1384, 1383, 880,
1424 888, 888, 888, 886, 889, 1377, 1376, 890, 1375, 886,
1425 1374, 1373, 886, 892, 892, 892, 1372, 1371, 1004, 892,
1426 892, 892, 892, 892, 892, 1370, 1369, 1018, 1018, 1018,
1427 1368, 894, 720, 720, 720, 1362, 1361, 894, 1010, 1360,
1428 894, 1032, 1032, 1032, 1013, 1019, 1020, 1040, 1040, 1040,
1429 722, 1041, 1041, 1041, 1359, 1033, 928, 928, 928, 1050,
1430 1050, 1050, 1358, 1051, 1355, 1033, 1052, 753, 753, 753,
1431 934, 934, 934, 929, 935, 1353, 1352, 936, 1350, 1015,
1433 937, 937, 937, 1349, 1346, 755, 1057, 1057, 1057, 1345,
1434 1058, 1341, 1336, 1059, 1026, 1334, 1333, 938, 939, 939,
1435 939, 1332, 940, 1316, 1313, 941, 767, 767, 767, 1062,
1436 1062, 1062, 1312, 1055, 946, 946, 946, 1311, 1064, 1064,
1437 1064, 1310, 1065, 1306, 769, 1066, 1067, 1067, 1067, 1290,
1438 1289, 947, 775, 775, 775, 1288, 951, 951, 951, 1076,
1439 1076, 1076, 1287, 1068, 1078, 1078, 1078, 798, 798, 798,
1440 777, 1286, 1285, 1061, 952, 1284, 1077, 1083, 1083, 1083,
1441 1283, 1079, 1841, 1841, 1841, 800, 964, 964, 964, 1279,
1442 965, 1276, 1275, 966, 1084, 1086, 1086, 1086, 1069, 1841,
1444 1841, 1841, 1841, 1841, 1841, 1841, 1274, 1080, 1841, 1841,
1445 1841, 1271, 1087, 1270, 816, 816, 816, 1841, 1266, 1265,
1446 1841, 823, 823, 823, 1262, 1841, 1096, 1096, 1096, 1082,
1447 1261, 1260, 818, 834, 834, 834, 842, 842, 842, 825,
1448 1031, 1031, 1031, 1097, 1085, 1258, 1256, 1089, 978, 978,
1449 978, 836, 979, 1255, 844, 980, 981, 981, 981, 1252,
1450 982, 1251, 1250, 983, 1249, 1248, 1088, 1247, 1246, 1098,
1451 1041, 1041, 1041, 1244, 1090, 1091, 1243, 1240, 986, 986,
1452 986, 1227, 987, 1092, 1101, 988, 1099, 991, 991, 991,
1453 1225, 992, 1224, 1223, 993, 853, 853, 853, 1100, 1211,
1455 860, 860, 860, 996, 996, 996, 1207, 997, 1203, 1202,
1456 998, 1201, 1183, 855, 1182, 1001, 1001, 1001, 862, 1002,
1457 1175, 1174, 1003, 870, 870, 870, 1006, 1006, 1006, 1110,
1458 1110, 1110, 1173, 1111, 1172, 1171, 1112, 878, 878, 878,
1459 1170, 872, 1157, 1007, 1117, 1117, 1117, 884, 884, 884,
1460 1155, 1154, 1104, 1105, 1152, 880, 1120, 1120, 1120, 1151,
1461 1148, 1118, 892, 892, 892, 886, 1147, 1108, 1018, 1018,
1462 1018, 1144, 1139, 1121, 720, 720, 720, 1032, 1032, 1032,
1463 894, 1138, 1137, 1115, 1136, 1135, 1019, 1036, 1036, 1036,
1464 1134, 1133, 722, 1140, 1140, 1140, 1132, 1142, 1142, 1142,
1466 1040, 1040, 1040, 1041, 1041, 1041, 1145, 1145, 1145, 1128,
1467 1119, 1143, 1140, 1140, 1140, 1127, 1124, 1149, 1149, 1149,
1468 1122, 1126, 1019, 1131, 1145, 1145, 1145, 1149, 1149, 1149,
1469 1116, 1143, 1125, 1050, 1050, 1050, 1114, 1051, 1113, 1109,
1470 1052, 1150, 753, 753, 753, 1057, 1057, 1057, 1107, 1058,
1471 1106, 1103, 1059, 1141, 1102, 767, 767, 767, 1095, 1094,
1472 755, 1062, 1062, 1062, 1093, 1081, 1146, 1064, 1064, 1064,
1473 1075, 1065, 1146, 769, 1066, 1067, 1067, 1067, 1166, 1166,
1474 1166, 1074, 1167, 1073, 1141, 1168, 775, 775, 775, 1072,
1475 1153, 1071, 1068, 1076, 1076, 1076, 1176, 1176, 1176, 1070,
1477 1177, 1063, 1060, 1178, 777, 1078, 1078, 1078, 1056, 1054,
1478 1077, 1053, 1156, 1179, 1179, 1179, 1049, 1180, 1048, 1047,
1479 1181, 1046, 1079, 1184, 1184, 1184, 1083, 1083, 1083, 1186,
1480 1186, 1186, 1045, 1187, 1169, 1044, 1188, 1189, 1189, 1189,
1481 1043, 1185, 1042, 1084, 1086, 1086, 1086, 1039, 1191, 1191,
1482 1191, 1038, 1192, 1037, 1190, 1193, 1194, 1194, 1194, 1035,
1483 1034, 1087, 1841, 1841, 1841, 1197, 1197, 1197, 816, 816,
1484 816, 1030, 1029, 1195, 823, 823, 823, 1028, 1027, 1841,
1485 1025, 1024, 1198, 1096, 1096, 1096, 818, 1204, 1204, 1204,
1486 1023, 1205, 825, 1022, 1206, 1208, 1208, 1208, 1021, 1014,
1488 1097, 842, 842, 842, 1212, 1212, 1212, 1214, 1214, 1214,
1489 853, 853, 853, 1209, 1012, 1011, 1196, 1009, 1008, 844,
1490 1005, 1213, 1200, 1000, 1215, 860, 860, 860, 855, 999,
1491 1199, 1218, 1218, 1218, 1220, 1220, 1220, 990, 989, 1217,
1492 870, 870, 870, 862, 878, 878, 878, 985, 1219, 1210,
1493 976, 1221, 1110, 1110, 1110, 975, 1111, 974, 872, 1112,
1494 973, 970, 880, 1117, 1117, 1117, 969, 1228, 1228, 1228,
1495 968, 1229, 967, 1216, 1230, 884, 884, 884, 963, 962,
1496 1118, 1120, 1120, 1120, 1232, 1232, 1232, 960, 1233, 959,
1497 958, 1234, 1226, 886, 1235, 1235, 1235, 957, 1121, 956,
1499 955, 1222, 1241, 1241, 1241, 720, 720, 720, 1253, 1253,
1500 1253, 954, 1236, 1140, 1140, 1140, 1254, 1254, 1254, 1242,
1501 1142, 1142, 1142, 722, 1145, 1145, 1145, 1257, 1257, 1257,
1502 1231, 1259, 1259, 1259, 1149, 1149, 1149, 1263, 1263, 1263,
1503 767, 767, 767, 1268, 1268, 1268, 1166, 1166, 1166, 953,
1504 1167, 950, 948, 1168, 945, 1264, 942, 933, 769, 931,
1505 1269, 927, 1245, 775, 775, 775, 1281, 1281, 1281, 1176,
1506 1176, 1176, 926, 1177, 925, 924, 1178, 1280, 1179, 1179,
1507 1179, 777, 1180, 1282, 923, 1181, 1291, 1291, 1291, 1184,
1508 1184, 1184, 1186, 1186, 1186, 1267, 1187, 922, 921, 1188,
1510 1189, 1189, 1189, 1292, 1293, 1293, 1293, 1185, 1294, 919,
1511 918, 1295, 1191, 1191, 1191, 917, 1192, 1190, 916, 1193,
1512 1194, 1194, 1194, 1296, 1296, 1296, 915, 1297, 912, 911,
1513 1298, 1299, 1299, 1299, 1197, 1197, 1197, 1195, 1301, 1301,
1514 1301, 910, 1302, 909, 908, 1303, 907, 906, 1300, 904,
1515 903, 1198, 816, 816, 816, 823, 823, 823, 1307, 1307,
1516 1307, 1204, 1204, 1204, 902, 1205, 901, 900, 1206, 899,
1517 818, 898, 897, 825, 706, 1308, 1208, 1208, 1208, 1314,
1518 1314, 1314, 1212, 1212, 1212, 1317, 1317, 1317, 891, 1318,
1519 883, 882, 1319, 877, 1209, 876, 875, 1315, 874, 1213,
1521 1304, 1309, 1214, 1214, 1214, 1320, 1320, 1320, 846, 1321,
1522 833, 832, 1322, 831, 827, 1305, 853, 853, 853, 1215,
1523 860, 860, 860, 1218, 1218, 1218, 1325, 1325, 1325, 815,
1524 1326, 814, 813, 1327, 855, 1220, 1220, 1220, 862, 812,
1525 1219, 1328, 1328, 1328, 797, 1329, 796, 795, 1330, 870,
1526 870, 870, 1221, 878, 878, 878, 1228, 1228, 1228, 794,
1527 1229, 793, 789, 1230, 788, 782, 1324, 872, 884, 884,
1528 884, 880, 1232, 1232, 1232, 774, 1233, 773, 1323, 1234,
1529 1235, 1235, 1235, 1241, 1241, 1241, 886, 1342, 1342, 1342,
1530 772, 1343, 771, 766, 1344, 720, 720, 720, 1236, 763,
1532 1242, 1348, 1348, 1348, 1351, 1351, 1351, 1354, 1354, 1354,
1533 1331, 757, 752, 722, 1335, 751, 1337, 1253, 1253, 1253,
1534 1254, 1254, 1254, 1356, 1356, 1356, 1257, 1257, 1257, 1357,
1535 1357, 1357, 1259, 1259, 1259, 1263, 1263, 1263, 1363, 1363,
1536 1363, 1268, 1268, 1268, 1365, 1365, 1365, 747, 1366, 746,
1537 745, 1367, 744, 1264, 743, 1347, 1364, 742, 1269, 775,
1538 775, 775, 1281, 1281, 1281, 1379, 1379, 1379, 741, 1380,
1539 739, 738, 1381, 1382, 1382, 1382, 737, 777, 736, 1282,
1540 1291, 1291, 1291, 1392, 1392, 1392, 735, 1393, 734, 733,
1541 1394, 1293, 1293, 1293, 732, 1294, 731, 1292, 1295, 1296,
1543 1296, 1296, 730, 1297, 729, 1378, 1298, 1299, 1299, 1299,
1544 1395, 1395, 1395, 728, 1396, 727, 726, 1397, 1301, 1301,
1545 1301, 719, 1302, 718, 1300, 1303, 816, 816, 816, 1399,
1546 1399, 1399, 1307, 1307, 1307, 1402, 1402, 1402, 717, 1403,
1547 716, 715, 1404, 714, 818, 713, 712, 1400, 709, 1308,
1548 1314, 1314, 1314, 1317, 1317, 1317, 707, 1318, 706, 704,
1549 1319, 702, 1320, 1320, 1320, 699, 1321, 697, 1315, 1322,
1550 853, 853, 853, 860, 860, 860, 1325, 1325, 1325, 696,
1551 1326, 695, 693, 1327, 692, 691, 1398, 690, 855, 689,
1552 687, 862, 1328, 1328, 1328, 686, 1329, 685, 684, 1330,
1554 680, 870, 870, 870, 1416, 1416, 1416, 878, 878, 878,
1555 884, 884, 884, 1423, 1423, 1423, 678, 677, 1413, 872,
1556 676, 1417, 1426, 1426, 1426, 880, 675, 674, 886, 672,
1557 671, 706, 720, 720, 720, 1414, 1415, 1342, 1342, 1342,
1558 670, 1343, 668, 667, 1344, 1348, 1348, 1348, 666, 663,
1559 722, 1430, 1430, 1430, 1351, 1351, 1351, 1432, 1432, 1432,
1560 1433, 1433, 1433, 1354, 1354, 1354, 1422, 662, 1420, 1356,
1561 1356, 1356, 1357, 1357, 1357, 1437, 1437, 1437, 1363, 1363,
1562 1363, 1365, 1365, 1365, 658, 1366, 656, 1429, 1367, 775,
1563 775, 775, 1438, 1379, 1379, 1379, 1364, 1380, 655, 654,
1565 1381, 1382, 1382, 1382, 1392, 1392, 1392, 777, 1393, 653,
1566 652, 1394, 1395, 1395, 1395, 647, 1396, 646, 644, 1397,
1567 1460, 1460, 1460, 1399, 1399, 1399, 1462, 1462, 1462, 1402,
1568 1402, 1402, 643, 1403, 642, 641, 1404, 640, 1461, 637,
1569 636, 1400, 635, 1463, 634, 633, 1450, 1472, 1472, 1472,
1570 1473, 1473, 1473, 860, 860, 860, 870, 870, 870, 1416,
1571 1416, 1416, 631, 1477, 1477, 1477, 628, 1478, 1474, 1464,
1572 1479, 862, 626, 625, 872, 624, 1417, 1480, 1480, 1480,
1573 1483, 1483, 1483, 1485, 1485, 1485, 884, 884, 884, 1423,
1574 1423, 1423, 622, 620, 1481, 1426, 1426, 1426, 1484, 1490,
1576 1490, 1490, 619, 618, 886, 617, 614, 706, 613, 1475,
1577 1493, 1493, 1493, 1476, 612, 609, 1491, 1430, 1430, 1430,
1578 1432, 1432, 1432, 1433, 1433, 1433, 606, 605, 1494, 1437,
1579 1437, 1437, 1499, 1499, 1499, 603, 1500, 600, 599, 1501,
1580 775, 775, 775, 1520, 1520, 1520, 1438, 1487, 1486, 1460,
1581 1460, 1460, 1462, 1462, 1462, 1522, 1522, 1522, 777, 1523,
1582 1521, 596, 1524, 1530, 1530, 1530, 595, 1461, 594, 1463,
1583 1472, 1472, 1472, 1473, 1473, 1473, 1532, 1532, 1532, 589,
1584 1531, 870, 870, 870, 588, 1477, 1477, 1477, 587, 1478,
1585 586, 1474, 1479, 585, 1533, 584, 1513, 583, 581, 872,
1587 1480, 1480, 1480, 1535, 1535, 1535, 580, 1536, 579, 578,
1588 1537, 1538, 1538, 1538, 1483, 1483, 1483, 1481, 1485, 1485,
1589 1485, 1540, 1540, 1540, 1490, 1490, 1490, 577, 1539, 1545,
1590 1545, 1545, 1484, 1546, 576, 575, 1547, 570, 567, 1541,
1591 569, 1491, 564, 563, 1534, 1548, 1548, 1548, 1493, 1493,
1592 1493, 1553, 1553, 1553, 1499, 1499, 1499, 561, 1500, 559,
1593 557, 1501, 1549, 775, 775, 775, 1494, 555, 1554, 1520,
1594 1520, 1520, 1575, 1575, 1575, 1841, 1576, 554, 553, 1577,
1595 552, 777, 551, 1522, 1522, 1522, 1521, 1523, 549, 548,
1596 1524, 1530, 1530, 1530, 1581, 1581, 1581, 547, 1582, 546,
1598 545, 1583, 1532, 1532, 1532, 870, 870, 870, 1531, 1535,
1599 1535, 1535, 543, 1536, 541, 539, 1537, 538, 537, 1570,
1600 1533, 536, 535, 872, 1538, 1538, 1538, 1585, 1585, 1585,
1601 533, 1586, 531, 530, 1587, 1540, 1540, 1540, 1545, 1545,
1602 1545, 1539, 1546, 529, 527, 1547, 1548, 1548, 1548, 526,
1603 1591, 1591, 1591, 1541, 1592, 523, 522, 1593, 1594, 1594,
1604 1594, 521, 519, 1549, 1553, 1553, 1553, 1584, 1597, 1597,
1605 1597, 517, 1598, 515, 513, 1599, 775, 775, 775, 512,
1606 509, 1554, 1614, 1614, 1614, 1615, 1615, 1615, 1575, 1575,
1607 1575, 508, 1576, 504, 777, 1577, 1621, 1621, 1621, 1581,
1609 1581, 1581, 1616, 1582, 503, 502, 1583, 870, 870, 870,
1610 1585, 1585, 1585, 1622, 1586, 501, 500, 1587, 1627, 1627,
1611 1627, 1594, 1594, 1594, 1613, 872, 499, 496, 1617, 494,
1612 1591, 1591, 1591, 488, 1592, 1628, 1019, 1593, 1597, 1597,
1613 1597, 453, 1598, 487, 486, 1599, 1635, 1635, 1635, 775,
1614 775, 775, 1614, 1614, 1614, 1624, 1615, 1615, 1615, 1621,
1615 1621, 1621, 484, 1636, 1646, 1646, 1646, 777, 1647, 482,
1616 481, 1648, 480, 1616, 478, 476, 1622, 1654, 1654, 1654,
1617 475, 1655, 471, 470, 1656, 1658, 1658, 1658, 1661, 1661,
1618 1661, 1627, 1627, 1627, 468, 1645, 467, 1663, 1663, 1663,
1620 464, 1664, 463, 1659, 1665, 1662, 1019, 462, 1628, 1019,
1621 1666, 1666, 1666, 460, 1841, 1019, 1667, 1667, 1667, 1635,
1622 1635, 1635, 1672, 1672, 1672, 438, 1673, 437, 435, 1674,
1623 775, 775, 775, 1646, 1646, 1646, 1636, 1647, 433, 427,
1624 1648, 1686, 1686, 1686, 426, 1654, 1654, 1654, 777, 1655,
1625 427, 426, 1656, 1688, 1688, 1688, 425, 424, 1687, 1658,
1626 1658, 1658, 1661, 1661, 1661, 1691, 1691, 1691, 1841, 1692,
1627 1689, 1841, 1693, 1666, 1666, 1666, 1841, 1659, 1841, 1662,
1628 1019, 1841, 1841, 1019, 1663, 1663, 1663, 1841, 1664, 1841,
1629 1841, 1665, 1681, 1667, 1667, 1667, 1841, 1706, 1706, 1706,
1631 1841, 1841, 1019, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
1632 1017, 1017, 1841, 1841, 1017, 1707, 1686, 1686, 1686, 1017,
1633 1017, 1017, 1019, 1017, 1672, 1672, 1672, 1841, 1673, 1841,
1634 1841, 1674, 1841, 1687, 1712, 1712, 1712, 1841, 1713, 1841,
1635 1841, 1714, 1688, 1688, 1688, 1017, 1017, 1017, 1017, 1017,
1636 1017, 1017, 1017, 1017, 1017, 1017, 1841, 1841, 1017, 1689,
1637 1841, 1841, 1841, 1017, 1017, 1017, 1019, 1017, 1715, 1715,
1638 1715, 1841, 1716, 1841, 1841, 1717, 1691, 1691, 1691, 1841,
1639 1692, 1841, 1841, 1693, 1841, 1841, 1706, 1706, 1706, 1017,
1640 1017, 1743, 1743, 1743, 1019, 1017, 1017, 1017, 1017, 1017,
1642 1724, 1017, 1017, 1017, 1707, 1841, 1017, 1841, 1841, 1019,
1643 1020, 1017, 1017, 1017, 1019, 1017, 1712, 1712, 1712, 1841,
1644 1713, 1841, 1841, 1714, 1715, 1715, 1715, 1841, 1716, 1841,
1645 1841, 1717, 1746, 1746, 1746, 1841, 1841, 1017, 1017, 1017,
1646 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1724, 1841, 1747,
1647 1017, 1748, 1748, 1748, 1841, 1017, 1017, 1017, 1019, 1017,
1648 1750, 1750, 1750, 1753, 1753, 1753, 1841, 1841, 1749, 1759,
1649 1759, 1759, 1743, 1743, 1743, 1841, 1841, 1751, 1841, 1841,
1650 1754, 1017, 1017, 1746, 1746, 1746, 1841, 706, 1841, 1841,
1651 1019, 1763, 1763, 1763, 1841, 1764, 1841, 1841, 1765, 1841,
1653 1747, 1841, 1841, 1752, 1748, 1748, 1748, 1766, 1766, 1766,
1654 1841, 1767, 1841, 1841, 1768, 1750, 1750, 1750, 1841, 1841,
1655 1124, 1749, 1769, 1769, 1769, 1841, 1770, 1841, 1841, 1771,
1656 1841, 1841, 1751, 1753, 1753, 1753, 1773, 1773, 1773, 1841,
1657 1774, 1841, 1841, 1775, 1759, 1759, 1759, 1763, 1763, 1763,
1658 1754, 1764, 1841, 1841, 1765, 1841, 1766, 1766, 1766, 1841,
1659 1767, 1841, 706, 1768, 1769, 1769, 1769, 1841, 1770, 1841,
1660 1841, 1771, 1773, 1773, 1773, 1841, 1774, 1841, 1841, 1775,
1661 1780, 1800, 1800, 1800, 1800, 1800, 1800, 1807, 1807, 1807,
1662 1841, 1808, 1841, 1841, 1809, 1807, 1807, 1807, 1801, 1808,
1664 1841, 1801, 1809, 1813, 1813, 1813, 1813, 1813, 1813, 1841,
1665 1814, 1841, 1841, 1815, 1839, 1839, 1839, 1839, 1839, 1839,
1666 1841, 706, 1841, 1841, 706, 1841, 1841, 1841, 1841, 1841,
1667 1841, 1841, 1840, 1841, 1841, 1840, 176, 176, 176, 176,
1668 176, 176, 176, 176, 176, 177, 177, 177, 177, 177,
1669 177, 177, 177, 177, 182, 182, 182, 182, 182, 182,
1670 182, 182, 182, 185, 185, 185, 185, 185, 185, 185,
1671 185, 185, 188, 188, 188, 188, 188, 188, 188, 188,
1672 188, 191, 191, 191, 191, 191, 191, 191, 191, 191,
1673 198, 198, 198, 198, 198, 198, 198, 198, 198, 206,
1675 206, 206, 206, 206, 206, 206, 206, 206, 211, 211,
1676 211, 211, 211, 211, 211, 211, 211, 222, 222, 222,
1677 222, 222, 222, 222, 222, 222, 233, 233, 233, 233,
1678 233, 233, 233, 233, 233, 240, 240, 240, 240, 240,
1679 240, 240, 240, 240, 248, 248, 248, 248, 248, 248,
1680 248, 248, 248, 254, 254, 254, 254, 254, 254, 254,
1681 254, 254, 260, 260, 260, 260, 260, 260, 260, 260,
1682 260, 265, 265, 265, 265, 265, 265, 265, 265, 265,
1683 291, 291, 291, 291, 291, 291, 291, 291, 291, 307,
1684 307, 307, 307, 307, 307, 307, 307, 307, 313, 313,
1686 313, 313, 313, 313, 313, 313, 313, 317, 317, 317,
1687 317, 317, 317, 317, 317, 317, 323, 323, 323, 323,
1688 323, 323, 323, 323, 323, 330, 330, 330, 330, 330,
1689 330, 330, 330, 330, 337, 337, 337, 337, 337, 337,
1690 337, 337, 337, 342, 342, 342, 342, 342, 342, 342,
1691 342, 342, 350, 350, 350, 350, 350, 350, 350, 350,
1692 350, 356, 356, 356, 356, 356, 356, 356, 356, 356,
1693 363, 363, 363, 363, 363, 363, 363, 363, 363, 367,
1694 367, 367, 367, 367, 367, 367, 367, 367, 373, 373,
1695 373, 373, 373, 373, 373, 373, 373, 379, 379, 379,
1697 379, 379, 379, 379, 379, 379, 386, 386, 386, 386,
1698 386, 386, 386, 386, 386, 393, 393, 393, 393, 393,
1699 393, 393, 393, 393, 401, 401, 401, 401, 401, 401,
1700 401, 401, 401, 405, 405, 405, 405, 405, 405, 405,
1701 405, 405, 411, 411, 411, 411, 411, 411, 411, 411,
1702 411, 416, 416, 416, 416, 416, 416, 416, 416, 416,
1703 436, 436, 436, 1841, 1841, 1841, 436, 461, 461, 461,
1704 1841, 1841, 1841, 461, 469, 469, 469, 1841, 1841, 1841,
1705 469, 479, 479, 479, 1841, 1841, 1841, 479, 485, 485,
1706 485, 1841, 1841, 1841, 485, 495, 495, 495, 1841, 1841,
1708 1841, 495, 505, 505, 505, 1841, 1841, 1841, 505, 516,
1709 516, 516, 1841, 1841, 1841, 516, 520, 520, 520, 1841,
1710 1841, 1841, 520, 528, 528, 528, 1841, 1841, 1841, 528,
1711 534, 534, 534, 1841, 1841, 1841, 534, 540, 540, 540,
1712 1841, 1841, 1841, 540, 544, 544, 544, 1841, 1841, 1841,
1713 544, 550, 550, 550, 1841, 1841, 1841, 550, 558, 558,
1714 558, 1841, 1841, 1841, 558, 562, 562, 562, 1841, 1841,
1715 1841, 562, 566, 566, 566, 566, 566, 566, 566, 1841,
1716 566, 582, 1841, 1841, 1841, 582, 611, 1841, 1841, 1841,
1717 611, 621, 1841, 1841, 1841, 621, 627, 1841, 1841, 1841,
1719 627, 632, 1841, 1841, 1841, 632, 645, 1841, 1841, 1841,
1720 645, 657, 1841, 1841, 1841, 657, 661, 1841, 1841, 1841,
1721 661, 669, 1841, 1841, 1841, 669, 673, 1841, 1841, 1841,
1722 673, 534, 534, 534, 1841, 1841, 1841, 534, 679, 1841,
1723 1841, 1841, 679, 540, 540, 540, 1841, 1841, 1841, 540,
1724 683, 1841, 1841, 1841, 683, 544, 544, 544, 1841, 1841,
1725 1841, 544, 688, 1841, 1841, 1841, 688, 550, 550, 550,
1726 1841, 1841, 1841, 550, 694, 1841, 1841, 1841, 694, 558,
1727 558, 558, 1841, 1841, 1841, 558, 698, 1841, 1841, 1841,
1728 698, 562, 562, 562, 1841, 1841, 1841, 562, 703, 1841,
1730 1841, 1841, 703, 705, 705, 705, 705, 705, 705, 705,
1731 705, 705, 711, 1841, 1841, 1841, 1841, 711, 436, 436,
1732 436, 1841, 1841, 1841, 436, 721, 721, 721, 721, 1841,
1733 1841, 721, 721, 461, 461, 461, 1841, 1841, 1841, 461,
1734 754, 754, 754, 754, 1841, 1841, 754, 754, 469, 469,
1735 469, 1841, 1841, 1841, 469, 768, 768, 768, 768, 1841,
1736 1841, 768, 768, 479, 479, 479, 1841, 1841, 1841, 479,
1737 776, 776, 776, 776, 1841, 1841, 776, 776, 485, 485,
1738 485, 1841, 1841, 1841, 485, 784, 784, 784, 784, 1841,
1739 1841, 784, 784, 495, 495, 495, 1841, 1841, 1841, 495,
1741 799, 799, 799, 799, 1841, 1841, 799, 799, 505, 505,
1742 505, 1841, 1841, 1841, 505, 817, 817, 817, 817, 1841,
1743 1841, 817, 817, 824, 824, 824, 824, 1841, 1841, 824,
1744 824, 520, 520, 520, 1841, 1841, 1841, 520, 835, 835,
1745 835, 835, 1841, 1841, 835, 835, 528, 528, 528, 528,
1746 1841, 528, 1841, 528, 843, 843, 843, 843, 1841, 1841,
1747 843, 843, 534, 534, 534, 534, 1841, 534, 1841, 534,
1748 854, 854, 854, 854, 1841, 1841, 854, 854, 861, 861,
1749 861, 861, 1841, 1841, 861, 861, 544, 544, 544, 544,
1750 1841, 544, 1841, 544, 871, 871, 871, 871, 1841, 1841,
1752 871, 871, 550, 550, 550, 1841, 1841, 1841, 550, 879,
1753 879, 879, 879, 1841, 1841, 879, 879, 558, 558, 558,
1754 1841, 1841, 1841, 558, 885, 885, 885, 885, 1841, 1841,
1755 885, 885, 562, 562, 562, 1841, 1841, 1841, 562, 893,
1756 893, 893, 893, 1841, 1841, 893, 893, 705, 705, 705,
1757 705, 705, 705, 705, 705, 705, 711, 1841, 711, 1841,
1758 1841, 711, 436, 436, 436, 1841, 1841, 1841, 436, 721,
1759 721, 721, 721, 1841, 1841, 721, 721, 461, 461, 461,
1760 461, 1841, 461, 1841, 461, 754, 754, 754, 754, 1841,
1761 1841, 754, 754, 469, 469, 469, 1841, 1841, 1841, 469,
1763 768, 768, 768, 768, 1841, 1841, 768, 768, 479, 479,
1764 479, 1841, 1841, 1841, 479, 776, 776, 776, 776, 1841,
1765 1841, 776, 776, 485, 485, 485, 1841, 1841, 1841, 485,
1766 784, 784, 784, 784, 1841, 1841, 784, 784, 495, 495,
1767 495, 1841, 1841, 1841, 495, 799, 799, 799, 799, 1841,
1768 1841, 799, 799, 505, 505, 505, 1841, 1841, 1841, 505,
1769 817, 817, 817, 817, 1841, 1841, 817, 817, 824, 824,
1770 824, 824, 1841, 1841, 824, 824, 520, 520, 520, 1841,
1771 1841, 1841, 520, 835, 835, 835, 835, 1841, 1841, 835,
1772 835, 843, 843, 843, 843, 1841, 1841, 843, 843, 534,
1774 534, 534, 1841, 1841, 1841, 534, 854, 854, 854, 854,
1775 1841, 1841, 854, 854, 861, 861, 861, 861, 1841, 1841,
1776 861, 861, 544, 544, 544, 1841, 1841, 1841, 544, 871,
1777 871, 871, 871, 1841, 1841, 871, 871, 550, 550, 550,
1778 1841, 1841, 1841, 550, 879, 879, 879, 879, 1841, 1841,
1779 879, 879, 558, 558, 558, 1841, 1841, 1841, 558, 885,
1780 885, 885, 885, 1841, 1841, 885, 885, 562, 562, 562,
1781 1841, 1841, 1841, 562, 893, 893, 893, 893, 1841, 1841,
1782 893, 893, 705, 705, 705, 705, 705, 705, 705, 705,
1783 705, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
1785 436, 436, 436, 1841, 1841, 1841, 436, 721, 721, 721,
1786 721, 1841, 1841, 721, 721, 461, 461, 461, 1841, 1841,
1787 1841, 461, 754, 754, 754, 754, 1841, 1841, 754, 754,
1788 469, 469, 469, 1841, 1841, 1841, 469, 768, 768, 768,
1789 768, 1841, 1841, 768, 768, 479, 479, 479, 1841, 1841,
1790 1841, 479, 776, 776, 776, 776, 1841, 1841, 776, 776,
1791 485, 485, 485, 1841, 1841, 1841, 485, 495, 495, 495,
1792 1841, 1841, 1841, 495, 799, 799, 799, 799, 1841, 1841,
1793 799, 799, 505, 505, 505, 505, 1841, 505, 1841, 505,
1794 817, 817, 817, 817, 1841, 1841, 817, 817, 824, 824,
1796 824, 824, 1841, 1841, 824, 824, 520, 520, 520, 1841,
1797 1841, 1841, 520, 835, 835, 835, 835, 1841, 1841, 835,
1798 835, 843, 843, 843, 843, 1841, 1841, 843, 843, 534,
1799 534, 534, 1841, 1841, 1841, 534, 854, 854, 854, 854,
1800 1841, 1841, 854, 854, 861, 861, 861, 861, 1841, 1841,
1801 861, 861, 544, 544, 544, 1841, 1841, 1841, 544, 871,
1802 871, 871, 871, 1841, 1841, 871, 871, 550, 550, 550,
1803 1841, 1841, 1841, 550, 879, 879, 879, 879, 1841, 1841,
1804 879, 879, 558, 558, 558, 558, 1841, 558, 1841, 558,
1805 885, 885, 885, 885, 1841, 1841, 885, 885, 562, 562,
1807 562, 562, 1841, 562, 1841, 562, 893, 893, 893, 893,
1808 1841, 1841, 893, 893, 705, 705, 705, 705, 705, 705,
1809 705, 705, 705, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
1810 1017, 1017, 436, 436, 436, 1841, 1841, 1841, 436, 721,
1811 721, 721, 721, 1841, 1841, 721, 721, 461, 461, 461,
1812 1841, 1841, 1841, 461, 754, 754, 754, 754, 1841, 1841,
1813 754, 754, 469, 469, 469, 1841, 1841, 1841, 469, 768,
1814 768, 768, 768, 1841, 1841, 768, 768, 479, 479, 479,
1815 1841, 1841, 1841, 479, 776, 776, 776, 776, 1841, 1841,
1816 776, 776, 485, 485, 485, 1841, 1841, 1841, 485, 495,
1818 495, 495, 1841, 1841, 1841, 495, 799, 799, 799, 799,
1819 1841, 1841, 799, 799, 505, 505, 505, 505, 1841, 505,
1820 1841, 505, 817, 817, 817, 817, 1841, 1841, 817, 817,
1821 824, 824, 824, 824, 1841, 1841, 824, 824, 520, 520,
1822 520, 1841, 1841, 1841, 520, 835, 835, 835, 835, 1841,
1823 1841, 835, 835, 843, 843, 843, 843, 1841, 1841, 843,
1824 843, 534, 534, 534, 534, 1841, 534, 1841, 534, 854,
1825 854, 854, 854, 1841, 1841, 854, 854, 861, 861, 861,
1826 861, 1841, 1841, 861, 861, 544, 544, 544, 544, 1841,
1827 544, 1841, 544, 871, 871, 871, 871, 1841, 1841, 871,
1829 871, 550, 550, 550, 1841, 1841, 1841, 550, 879, 879,
1830 879, 879, 1841, 1841, 879, 879, 885, 885, 885, 885,
1831 1841, 1841, 885, 885, 1694, 1694, 1694, 1694, 1694, 1694,
1832 1694, 1694, 1694, 1695, 1695, 1695, 1695, 1695, 1695, 1695,
1833 1695, 1695, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
1834 1719, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722, 1722,
1835 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1740, 1742,
1836 1742, 1742, 1742, 1742, 1742, 1742, 1742, 1742, 175, 1841,
1837 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1838 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1840 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1841 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1842 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1843 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
1844 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841
1847 static yyconst flex_int16_t yy_chk[6549] =
1849 0, 3, 3, 3, 4, 4, 4, 5, 5, 5,
1850 6, 6, 6, 7, 7, 7, 11, 3, 9, 12,
1851 4, 10, 242, 5, 272, 9, 6, 1124, 10, 7,
1852 8, 8, 8, 180, 11, 13, 13, 12, 14, 14,
1853 13, 13, 243, 14, 14, 181, 8, 17, 17, 180,
1854 13, 15, 15, 14, 15, 184, 15, 16, 16, 272,
1855 16, 181, 16, 18, 18, 1124, 15, 19, 19, 19,
1856 242, 184, 16, 20, 20, 20, 23, 23, 23, 24,
1857 24, 24, 269, 19, 25, 25, 25, 732, 17, 20,
1858 243, 269, 23, 269, 1447, 24, 178, 178, 178, 732,
1860 25, 179, 179, 179, 18, 21, 21, 21, 21, 21,
1861 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
1862 293, 21, 21, 21, 21, 21, 26, 26, 26, 27,
1863 27, 27, 329, 28, 28, 28, 29, 29, 29, 30,
1864 30, 30, 26, 329, 270, 27, 207, 21, 21, 28,
1865 223, 304, 29, 270, 304, 30, 183, 183, 183, 204,
1866 204, 204, 207, 212, 212, 212, 223, 218, 293, 218,
1867 21, 218, 21, 22, 22, 22, 22, 22, 22, 22,
1868 22, 22, 22, 22, 22, 22, 22, 22, 738, 22,
1869 22, 22, 22, 22, 31, 31, 31, 32, 32, 32,
1871 738, 33, 33, 33, 34, 34, 34, 35, 35, 35,
1872 31, 1160, 273, 32, 268, 22, 22, 33, 216, 1160,
1873 34, 214, 273, 35, 268, 36, 36, 36, 37, 37,
1874 37, 38, 38, 38, 39, 39, 39, 286, 22, 274,
1875 22, 36, 1448, 301, 37, 202, 286, 38, 234, 268,
1876 39, 40, 40, 40, 41, 41, 41, 42, 42, 42,
1877 1339, 202, 214, 301, 234, 214, 216, 40, 216, 214,
1878 41, 214, 276, 42, 43, 43, 43, 43, 43, 43,
1879 43, 43, 43, 43, 43, 43, 43, 43, 43, 274,
1880 43, 43, 43, 43, 43, 49, 49, 49, 429, 1339,
1882 202, 429, 50, 50, 50, 51, 51, 51, 45, 45,
1883 249, 49, 261, 45, 46, 46, 43, 43, 50, 46,
1884 332, 51, 276, 45, 43, 1449, 249, 43, 261, 46,
1885 220, 220, 220, 43, 44, 44, 44, 44, 44, 44,
1886 44, 44, 44, 44, 44, 44, 44, 44, 44, 45,
1887 44, 44, 44, 44, 44, 46, 52, 52, 52, 53,
1888 53, 53, 54, 54, 54, 55, 55, 55, 332, 56,
1889 56, 56, 52, 228, 771, 53, 44, 44, 54, 1239,
1890 228, 55, 446, 277, 44, 56, 771, 44, 446, 228,
1891 231, 231, 231, 44, 47, 47, 47, 47, 47, 47,
1893 47, 47, 47, 47, 47, 47, 47, 47, 47, 215,
1894 47, 47, 47, 47, 47, 59, 59, 59, 60, 60,
1895 60, 1239, 63, 63, 63, 64, 64, 64, 65, 65,
1896 65, 59, 256, 277, 60, 215, 47, 47, 63, 256,
1897 215, 64, 447, 215, 65, 47, 1451, 47, 256, 215,
1898 47, 215, 241, 241, 241, 447, 47, 48, 48, 48,
1899 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
1900 48, 48, 1452, 48, 48, 48, 48, 48, 66, 66,
1901 66, 67, 67, 67, 1453, 68, 68, 68, 69, 69,
1902 69, 70, 70, 70, 66, 283, 299, 67, 238, 48,
1904 48, 68, 238, 344, 69, 452, 238, 70, 48, 1454,
1905 48, 283, 299, 48, 246, 246, 246, 345, 452, 48,
1906 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
1907 57, 57, 57, 57, 57, 465, 57, 57, 57, 57,
1908 57, 71, 71, 71, 72, 72, 72, 344, 73, 73,
1909 73, 74, 74, 74, 75, 75, 75, 71, 1455, 1457,
1910 72, 345, 57, 57, 73, 314, 324, 74, 465, 57,
1911 75, 255, 255, 255, 57, 258, 258, 258, 266, 266,
1912 266, 314, 324, 57, 58, 58, 58, 58, 58, 58,
1913 58, 58, 58, 58, 58, 58, 58, 58, 58, 1464,
1915 58, 58, 58, 58, 58, 76, 76, 76, 77, 77,
1916 77, 1465, 78, 78, 78, 79, 79, 79, 80, 80,
1917 80, 76, 1466, 647, 77, 1467, 58, 58, 78, 338,
1918 351, 79, 647, 58, 80, 280, 280, 280, 58, 292,
1919 292, 292, 296, 296, 296, 338, 351, 58, 61, 61,
1920 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1921 61, 61, 61, 1469, 61, 61, 61, 61, 61, 81,
1922 81, 81, 82, 82, 82, 1016, 83, 83, 83, 84,
1923 84, 84, 85, 85, 85, 81, 455, 1495, 82, 309,
1924 61, 61, 83, 358, 451, 84, 309, 1016, 85, 455,
1926 451, 61, 308, 308, 308, 309, 311, 311, 311, 61,
1927 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
1928 62, 62, 62, 62, 62, 1496, 62, 62, 62, 62,
1929 62, 86, 86, 86, 87, 87, 87, 358, 88, 88,
1930 88, 89, 89, 89, 90, 90, 90, 86, 457, 1125,
1931 87, 1164, 62, 62, 88, 420, 1497, 89, 1502, 1164,
1932 90, 457, 364, 62, 91, 91, 91, 92, 92, 92,
1933 420, 62, 318, 318, 318, 321, 321, 321, 364, 1125,
1934 91, 1503, 1504, 92, 93, 93, 93, 93, 93, 93,
1935 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
1937 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
1938 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
1939 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
1940 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
1941 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
1942 93, 93, 93, 95, 95, 95, 96, 96, 96, 97,
1943 97, 97, 98, 98, 98, 99, 99, 99, 477, 95,
1944 1025, 1424, 96, 708, 477, 97, 1025, 708, 98, 1505,
1945 896, 99, 100, 100, 100, 101, 101, 101, 102, 102,
1946 102, 331, 331, 331, 335, 335, 335, 1237, 100, 896,
1948 1424, 101, 1506, 1237, 102, 103, 103, 103, 103, 103,
1949 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
1950 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
1951 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
1952 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
1953 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
1954 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
1955 103, 103, 103, 103, 105, 105, 105, 106, 106, 106,
1956 343, 343, 343, 348, 348, 348, 357, 357, 357, 381,
1957 105, 1507, 1508, 106, 107, 107, 107, 107, 107, 107,
1959 107, 107, 107, 107, 107, 107, 107, 107, 107, 1425,
1960 107, 107, 107, 107, 107, 109, 109, 109, 110, 110,
1961 110, 1509, 113, 113, 113, 114, 114, 114, 115, 115,
1962 115, 109, 458, 381, 110, 1238, 107, 107, 113, 1288,
1963 1510, 114, 1511, 1425, 115, 458, 1288, 107, 108, 108,
1964 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
1965 108, 108, 108, 1238, 108, 108, 108, 108, 108, 116,
1966 116, 116, 117, 117, 117, 1512, 118, 118, 118, 119,
1967 119, 119, 120, 120, 120, 116, 491, 493, 117, 1289,
1968 108, 108, 118, 1487, 1514, 119, 1289, 1515, 120, 491,
1970 493, 108, 111, 111, 111, 111, 111, 111, 111, 111,
1971 111, 111, 111, 111, 111, 111, 111, 1488, 111, 111,
1972 111, 111, 111, 123, 123, 123, 124, 124, 124, 1487,
1973 125, 125, 125, 126, 126, 126, 127, 127, 127, 123,
1974 319, 1489, 124, 1311, 111, 111, 125, 319, 111, 126,
1975 1311, 1488, 127, 1516, 1517, 111, 319, 111, 361, 361,
1976 361, 368, 368, 368, 111, 112, 112, 112, 112, 112,
1977 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
1978 1489, 112, 112, 112, 112, 112, 128, 128, 128, 129,
1979 129, 129, 1500, 130, 130, 130, 133, 133, 133, 134,
1981 134, 134, 128, 369, 1500, 129, 1312, 112, 112, 130,
1982 369, 112, 133, 1312, 1525, 134, 1526, 1527, 112, 369,
1983 112, 371, 371, 371, 380, 380, 380, 112, 121, 121,
1984 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
1985 121, 121, 121, 1501, 121, 121, 121, 121, 121, 135,
1986 135, 135, 136, 136, 136, 1501, 137, 137, 137, 138,
1987 138, 138, 139, 139, 139, 135, 374, 387, 136, 1551,
1988 121, 121, 137, 1552, 1555, 138, 121, 1556, 139, 384,
1989 384, 384, 374, 387, 394, 394, 394, 399, 399, 399,
1990 121, 122, 122, 122, 122, 122, 122, 122, 122, 122,
1992 122, 122, 122, 122, 122, 122, 1542, 122, 122, 122,
1993 122, 122, 140, 140, 140, 143, 143, 143, 1557, 144,
1994 144, 144, 147, 147, 147, 148, 148, 148, 140, 402,
1995 407, 143, 1542, 122, 122, 144, 412, 407, 147, 122,
1996 1558, 148, 406, 406, 406, 402, 407, 395, 409, 409,
1997 409, 1559, 412, 122, 131, 131, 131, 131, 131, 131,
1998 131, 131, 131, 131, 131, 131, 131, 131, 131, 1560,
1999 131, 131, 131, 131, 131, 149, 149, 149, 150, 150,
2000 150, 395, 151, 151, 151, 152, 152, 152, 153, 153,
2001 153, 149, 1561, 418, 150, 395, 131, 131, 151, 568,
2003 418, 152, 131, 1562, 153, 131, 417, 417, 417, 418,
2004 419, 419, 419, 1340, 568, 1563, 131, 132, 132, 132,
2005 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
2006 132, 132, 1565, 132, 132, 132, 132, 132, 154, 154,
2007 154, 157, 157, 157, 1566, 158, 158, 158, 159, 159,
2008 159, 160, 160, 160, 154, 1567, 1340, 157, 1568, 132,
2009 132, 158, 1123, 1573, 159, 132, 1574, 160, 132, 1543,
2010 428, 428, 428, 571, 571, 571, 1578, 571, 1123, 132,
2011 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2012 141, 141, 141, 141, 141, 1580, 141, 141, 141, 141,
2014 141, 161, 161, 161, 162, 162, 162, 1543, 163, 163,
2015 163, 164, 164, 164, 167, 167, 167, 161, 1595, 1596,
2016 162, 1600, 141, 141, 163, 428, 1601, 164, 1602, 1588,
2017 167, 1544, 1603, 141, 142, 142, 142, 142, 142, 142,
2018 142, 142, 142, 142, 142, 142, 142, 142, 142, 1605,
2019 142, 142, 142, 142, 142, 168, 168, 168, 171, 171,
2020 171, 1606, 172, 172, 172, 463, 463, 463, 1607, 1544,
2021 194, 168, 275, 1588, 171, 267, 142, 142, 172, 608,
2022 608, 608, 463, 608, 1608, 267, 608, 142, 145, 145,
2023 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2025 145, 145, 145, 1589, 145, 145, 145, 145, 145, 194,
2026 267, 1609, 1610, 275, 1611, 194, 275, 1612, 1617, 194,
2027 1618, 1618, 275, 1619, 194, 267, 1620, 267, 1623, 1631,
2028 145, 145, 471, 471, 471, 1589, 145, 1632, 1633, 145,
2029 584, 584, 584, 599, 599, 599, 724, 724, 724, 471,
2030 145, 146, 146, 146, 146, 146, 146, 146, 146, 146,
2031 146, 146, 146, 146, 146, 146, 1625, 146, 146, 146,
2032 146, 146, 486, 486, 486, 497, 497, 497, 507, 507,
2033 507, 508, 508, 508, 517, 517, 517, 1634, 1637, 486,
2034 1638, 1640, 497, 146, 146, 507, 1641, 1625, 508, 146,
2036 584, 517, 146, 599, 616, 616, 616, 1642, 616, 1644,
2037 1649, 616, 1650, 146, 155, 155, 155, 155, 155, 155,
2038 155, 155, 155, 155, 155, 155, 155, 155, 155, 1651,
2039 155, 155, 155, 155, 155, 522, 522, 522, 541, 541,
2040 541, 563, 563, 563, 582, 582, 582, 583, 583, 583,
2041 1652, 1668, 522, 1660, 1669, 541, 155, 155, 563, 740,
2042 740, 740, 582, 1670, 155, 583, 155, 1671, 155, 910,
2043 910, 910, 634, 634, 634, 1675, 155, 156, 156, 156,
2044 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
2045 156, 156, 1660, 156, 156, 156, 156, 156, 607, 607,
2047 607, 583, 1676, 611, 611, 611, 612, 612, 612, 615,
2048 615, 615, 621, 621, 621, 607, 617, 617, 617, 156,
2049 156, 611, 1677, 1678, 612, 1679, 615, 156, 1680, 156,
2050 621, 156, 634, 617, 1682, 1683, 636, 636, 636, 156,
2051 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
2052 165, 165, 165, 165, 165, 1684, 165, 165, 165, 165,
2053 165, 619, 619, 619, 1685, 1696, 612, 1698, 1701, 627,
2054 627, 627, 628, 628, 628, 629, 629, 629, 619, 914,
2055 914, 914, 165, 165, 622, 622, 622, 627, 1693, 1702,
2056 628, 1704, 629, 630, 630, 630, 636, 630, 1705, 1693,
2058 630, 1708, 622, 1690, 1709, 165, 166, 166, 166, 166,
2059 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
2060 166, 1710, 166, 166, 166, 166, 166, 1711, 622, 632,
2061 632, 632, 628, 633, 633, 633, 638, 638, 638, 639,
2062 639, 639, 1721, 639, 1723, 1690, 639, 632, 166, 166,
2063 1718, 633, 1692, 638, 649, 649, 649, 1716, 649, 1720,
2064 1720, 649, 1725, 651, 651, 651, 1692, 651, 1716, 633,
2065 651, 166, 169, 169, 169, 169, 169, 169, 169, 169,
2066 169, 169, 169, 169, 169, 169, 169, 1718, 169, 169,
2067 169, 169, 169, 645, 645, 645, 648, 648, 648, 650,
2069 650, 650, 646, 646, 646, 652, 652, 652, 657, 657,
2070 657, 645, 1717, 648, 169, 169, 650, 658, 658, 658,
2071 646, 1722, 652, 1717, 1726, 169, 657, 660, 660, 660,
2072 1735, 660, 1722, 1736, 660, 658, 1737, 169, 170, 170,
2073 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
2074 170, 170, 170, 1738, 170, 170, 170, 170, 170, 646,
2075 659, 659, 659, 1740, 661, 661, 661, 662, 662, 662,
2076 1065, 658, 664, 664, 664, 1741, 1065, 659, 1719, 1065,
2077 170, 170, 661, 1065, 1742, 662, 665, 665, 665, 664,
2078 665, 170, 1719, 665, 669, 669, 669, 670, 670, 670,
2080 671, 671, 671, 170, 213, 672, 672, 672, 673, 673,
2081 673, 213, 669, 1744, 1745, 670, 1752, 671, 1755, 1756,
2082 213, 213, 672, 1757, 662, 1758, 673, 676, 676, 676,
2083 674, 674, 674, 677, 677, 677, 678, 678, 678, 679,
2084 679, 679, 1760, 1772, 676, 213, 213, 213, 674, 670,
2085 677, 1776, 213, 678, 1777, 213, 1778, 679, 1779, 213,
2086 1782, 213, 1783, 213, 680, 680, 680, 681, 681, 681,
2087 682, 682, 682, 1784, 682, 1785, 1786, 682, 1788, 1789,
2088 677, 1787, 680, 1780, 681, 1790, 1791, 674, 683, 683,
2089 683, 684, 684, 684, 677, 685, 685, 685, 1066, 1787,
2091 680, 686, 686, 686, 1066, 1780, 683, 1066, 1792, 684,
2092 1793, 1066, 685, 687, 687, 687, 1795, 1796, 686, 688,
2093 688, 688, 689, 689, 689, 1797, 694, 694, 694, 1793,
2094 687, 695, 695, 695, 698, 698, 698, 688, 1798, 1802,
2095 689, 1804, 1826, 684, 694, 699, 699, 699, 686, 695,
2096 1799, 1814, 698, 700, 700, 700, 1799, 701, 701, 701,
2097 1815, 701, 686, 699, 701, 703, 703, 703, 1806, 1820,
2098 700, 1826, 704, 704, 704, 720, 720, 720, 721, 721,
2099 721, 1806, 1446, 703, 723, 723, 723, 1445, 1444, 689,
2100 704, 695, 1443, 720, 1814, 1828, 721, 747, 747, 747,
2102 1822, 1820, 723, 1815, 1828, 699, 748, 748, 748, 1442,
2103 748, 1816, 1821, 748, 747, 1818, 751, 751, 751, 753,
2104 753, 753, 754, 754, 754, 756, 756, 756, 723, 761,
2105 761, 761, 704, 751, 758, 758, 758, 753, 758, 1837,
2106 754, 758, 1822, 756, 1821, 1816, 761, 762, 762, 762,
2107 1837, 762, 1818, 1823, 762, 763, 763, 763, 764, 764,
2108 764, 765, 765, 765, 1817, 765, 1441, 1824, 765, 756,
2109 1819, 1832, 763, 751, 1825, 764, 767, 767, 767, 768,
2110 768, 768, 770, 770, 770, 773, 773, 773, 775, 775,
2111 775, 776, 776, 776, 767, 1823, 1440, 768, 1817, 1439,
2113 770, 1824, 773, 778, 778, 778, 775, 1819, 1825, 776,
2114 779, 779, 779, 1827, 779, 1832, 1436, 779, 783, 783,
2115 783, 778, 784, 784, 784, 786, 786, 786, 790, 790,
2116 790, 1830, 790, 1833, 1435, 790, 783, 1434, 770, 1431,
2117 784, 1428, 1827, 786, 798, 798, 798, 778, 799, 799,
2118 799, 801, 801, 801, 804, 804, 804, 1419, 804, 1829,
2119 1830, 804, 798, 807, 807, 807, 799, 807, 1829, 801,
2120 807, 810, 810, 810, 811, 811, 811, 1833, 811, 1411,
2121 1410, 811, 816, 816, 816, 817, 817, 817, 810, 819,
2122 819, 819, 820, 820, 820, 1831, 820, 1836, 1409, 820,
2124 816, 1834, 1408, 817, 823, 823, 823, 819, 824, 824,
2125 824, 1836, 801, 826, 826, 826, 828, 828, 828, 1835,
2126 828, 1407, 823, 828, 1831, 1406, 824, 834, 834, 834,
2127 1834, 826, 835, 835, 835, 837, 837, 837, 838, 838,
2128 838, 1405, 839, 839, 839, 834, 839, 1391, 1835, 839,
2129 835, 1390, 819, 837, 1389, 838, 840, 840, 840, 841,
2130 841, 841, 1388, 841, 1387, 1386, 841, 842, 842, 842,
2131 843, 843, 843, 840, 1385, 1384, 826, 845, 845, 845,
2132 847, 847, 847, 1383, 1377, 842, 1376, 1375, 843, 1374,
2133 1373, 837, 848, 848, 848, 845, 848, 847, 1372, 848,
2135 851, 851, 851, 852, 852, 852, 1371, 852, 1370, 1369,
2136 852, 853, 853, 853, 854, 854, 854, 851, 856, 856,
2137 856, 857, 857, 857, 1368, 857, 1362, 1359, 857, 853,
2138 1358, 1355, 854, 860, 860, 860, 856, 861, 861, 861,
2139 845, 863, 863, 863, 864, 864, 864, 868, 868, 868,
2140 1350, 860, 870, 870, 870, 861, 865, 865, 865, 863,
2141 865, 864, 1346, 865, 868, 869, 869, 869, 1345, 869,
2142 870, 1336, 869, 871, 871, 871, 1334, 1333, 856, 1316,
2143 873, 873, 873, 875, 875, 875, 878, 878, 878, 1313,
2144 1310, 871, 879, 879, 879, 1309, 1306, 863, 873, 1290,
2146 875, 881, 881, 881, 878, 884, 884, 884, 1287, 1286,
2147 879, 885, 885, 885, 887, 887, 887, 1285, 1284, 881,
2148 888, 888, 888, 884, 888, 1279, 1278, 888, 1277, 885,
2149 1276, 1275, 887, 892, 892, 892, 1274, 1273, 873, 893,
2150 893, 893, 895, 895, 895, 1272, 1271, 897, 897, 897,
2151 1270, 892, 905, 905, 905, 1266, 1265, 893, 881, 1262,
2152 895, 911, 911, 911, 887, 897, 897, 918, 918, 918,
2153 905, 919, 919, 919, 1261, 911, 928, 928, 928, 929,
2154 929, 929, 1260, 929, 1255, 919, 929, 932, 932, 932,
2155 934, 934, 934, 928, 934, 1251, 1250, 934, 1248, 895,
2157 937, 937, 937, 1247, 1244, 932, 938, 938, 938, 1243,
2158 938, 1240, 1227, 938, 905, 1225, 1224, 937, 939, 939,
2159 939, 1223, 939, 1211, 1207, 939, 943, 943, 943, 944,
2160 944, 944, 1206, 932, 946, 946, 946, 1205, 947, 947,
2161 947, 1203, 947, 1201, 943, 947, 948, 948, 948, 1182,
2162 1181, 946, 949, 949, 949, 1180, 951, 951, 951, 958,
2163 958, 958, 1175, 948, 959, 959, 959, 961, 961, 961,
2164 949, 1174, 1173, 943, 951, 1172, 958, 962, 962, 962,
2165 1171, 959, 963, 963, 963, 961, 964, 964, 964, 1165,
2166 964, 1163, 1162, 964, 962, 967, 967, 967, 949, 963,
2168 968, 968, 968, 969, 969, 969, 1161, 959, 970, 970,
2169 970, 1159, 967, 1158, 971, 971, 971, 968, 1155, 1154,
2170 969, 972, 972, 972, 1152, 970, 976, 976, 976, 961,
2171 1151, 1150, 971, 977, 977, 977, 984, 984, 984, 972,
2172 1031, 1031, 1031, 976, 963, 1147, 1144, 969, 978, 978,
2173 978, 977, 978, 1143, 984, 978, 981, 981, 981, 1138,
2174 981, 1137, 1136, 981, 1135, 1134, 968, 1133, 1132, 976,
2175 985, 985, 985, 1130, 970, 971, 1129, 1127, 986, 986,
2176 986, 1116, 986, 972, 985, 986, 977, 991, 991, 991,
2177 1114, 991, 1113, 1109, 991, 994, 994, 994, 984, 1101,
2179 995, 995, 995, 996, 996, 996, 1098, 996, 1095, 1094,
2180 996, 1093, 1081, 994, 1080, 1001, 1001, 1001, 995, 1001,
2181 1075, 1074, 1001, 1004, 1004, 1004, 1006, 1006, 1006, 1007,
2182 1007, 1007, 1073, 1007, 1072, 1071, 1007, 1010, 1010, 1010,
2183 1070, 1004, 1063, 1006, 1012, 1012, 1012, 1013, 1013, 1013,
2184 1060, 1056, 994, 995, 1054, 1010, 1014, 1014, 1014, 1053,
2185 1045, 1012, 1015, 1015, 1015, 1013, 1044, 1004, 1018, 1018,
2186 1018, 1042, 1037, 1014, 1026, 1026, 1026, 1032, 1032, 1032,
2187 1015, 1035, 1034, 1010, 1033, 1030, 1018, 1036, 1036, 1036,
2188 1029, 1028, 1026, 1038, 1038, 1038, 1027, 1039, 1039, 1039,
2190 1040, 1040, 1040, 1041, 1041, 1041, 1043, 1043, 1043, 1024,
2191 1013, 1039, 1046, 1046, 1046, 1023, 1018, 1047, 1047, 1047,
2192 1015, 1020, 1017, 1026, 1048, 1048, 1048, 1049, 1049, 1049,
2193 1011, 1047, 1018, 1050, 1050, 1050, 1009, 1050, 1008, 1005,
2194 1050, 1049, 1055, 1055, 1055, 1057, 1057, 1057, 1000, 1057,
2195 999, 990, 1057, 1038, 989, 1061, 1061, 1061, 975, 974,
2196 1055, 1062, 1062, 1062, 973, 960, 1043, 1064, 1064, 1064,
2197 957, 1064, 1046, 1061, 1064, 1067, 1067, 1067, 1068, 1068,
2198 1068, 956, 1068, 955, 1048, 1068, 1069, 1069, 1069, 954,
2199 1055, 953, 1067, 1076, 1076, 1076, 1077, 1077, 1077, 950,
2201 1077, 945, 942, 1077, 1069, 1078, 1078, 1078, 933, 931,
2202 1076, 930, 1061, 1079, 1079, 1079, 927, 1079, 926, 925,
2203 1079, 924, 1078, 1082, 1082, 1082, 1083, 1083, 1083, 1084,
2204 1084, 1084, 923, 1084, 1069, 922, 1084, 1085, 1085, 1085,
2205 921, 1082, 920, 1083, 1086, 1086, 1086, 917, 1087, 1087,
2206 1087, 916, 1087, 915, 1085, 1087, 1088, 1088, 1088, 913,
2207 912, 1086, 1089, 1089, 1089, 1090, 1090, 1090, 1091, 1091,
2208 1091, 909, 908, 1088, 1092, 1092, 1092, 907, 906, 1089,
2209 904, 903, 1090, 1096, 1096, 1096, 1091, 1097, 1097, 1097,
2210 902, 1097, 1092, 901, 1097, 1099, 1099, 1099, 900, 891,
2212 1096, 1100, 1100, 1100, 1102, 1102, 1102, 1103, 1103, 1103,
2213 1104, 1104, 1104, 1099, 883, 882, 1089, 877, 876, 1100,
2214 874, 1102, 1092, 867, 1103, 1105, 1105, 1105, 1104, 866,
2215 1091, 1106, 1106, 1106, 1107, 1107, 1107, 850, 849, 1105,
2216 1108, 1108, 1108, 1105, 1115, 1115, 1115, 846, 1106, 1100,
2217 833, 1107, 1110, 1110, 1110, 832, 1110, 831, 1108, 1110,
2218 827, 815, 1115, 1117, 1117, 1117, 814, 1118, 1118, 1118,
2219 813, 1118, 812, 1104, 1118, 1119, 1119, 1119, 803, 802,
2220 1117, 1120, 1120, 1120, 1121, 1121, 1121, 797, 1121, 796,
2221 795, 1121, 1115, 1119, 1122, 1122, 1122, 794, 1120, 793,
2223 789, 1108, 1128, 1128, 1128, 1131, 1131, 1131, 1139, 1139,
2224 1139, 788, 1122, 1140, 1140, 1140, 1141, 1141, 1141, 1128,
2225 1142, 1142, 1142, 1131, 1145, 1145, 1145, 1146, 1146, 1146,
2226 1119, 1148, 1148, 1148, 1149, 1149, 1149, 1153, 1153, 1153,
2227 1156, 1156, 1156, 1157, 1157, 1157, 1166, 1166, 1166, 787,
2228 1166, 782, 774, 1166, 772, 1153, 766, 757, 1156, 752,
2229 1157, 746, 1131, 1169, 1169, 1169, 1170, 1170, 1170, 1176,
2230 1176, 1176, 745, 1176, 744, 743, 1176, 1169, 1179, 1179,
2231 1179, 1169, 1179, 1170, 742, 1179, 1183, 1183, 1183, 1184,
2232 1184, 1184, 1186, 1186, 1186, 1156, 1186, 741, 739, 1186,
2234 1189, 1189, 1189, 1183, 1190, 1190, 1190, 1184, 1190, 737,
2235 736, 1190, 1191, 1191, 1191, 735, 1191, 1189, 734, 1191,
2236 1194, 1194, 1194, 1195, 1195, 1195, 733, 1195, 731, 730,
2237 1195, 1196, 1196, 1196, 1197, 1197, 1197, 1194, 1198, 1198,
2238 1198, 729, 1198, 728, 727, 1198, 726, 725, 1196, 719,
2239 718, 1197, 1199, 1199, 1199, 1200, 1200, 1200, 1202, 1202,
2240 1202, 1204, 1204, 1204, 717, 1204, 716, 713, 1204, 712,
2241 1199, 711, 709, 1200, 705, 1202, 1208, 1208, 1208, 1210,
2242 1210, 1210, 1212, 1212, 1212, 1213, 1213, 1213, 702, 1213,
2243 697, 696, 1213, 693, 1208, 692, 691, 1210, 690, 1212,
2245 1199, 1202, 1214, 1214, 1214, 1215, 1215, 1215, 675, 1215,
2246 668, 667, 1215, 666, 663, 1200, 1216, 1216, 1216, 1214,
2247 1217, 1217, 1217, 1218, 1218, 1218, 1219, 1219, 1219, 656,
2248 1219, 655, 654, 1219, 1216, 1220, 1220, 1220, 1217, 653,
2249 1218, 1221, 1221, 1221, 644, 1221, 643, 642, 1221, 1222,
2250 1222, 1222, 1220, 1226, 1226, 1226, 1228, 1228, 1228, 641,
2251 1228, 640, 637, 1228, 635, 631, 1217, 1222, 1231, 1231,
2252 1231, 1226, 1232, 1232, 1232, 626, 1232, 625, 1216, 1232,
2253 1235, 1235, 1235, 1241, 1241, 1241, 1231, 1242, 1242, 1242,
2254 624, 1242, 623, 620, 1242, 1245, 1245, 1245, 1235, 618,
2256 1241, 1246, 1246, 1246, 1249, 1249, 1249, 1252, 1252, 1252,
2257 1222, 614, 610, 1245, 1226, 609, 1231, 1253, 1253, 1253,
2258 1254, 1254, 1254, 1256, 1256, 1256, 1257, 1257, 1257, 1258,
2259 1258, 1258, 1259, 1259, 1259, 1263, 1263, 1263, 1267, 1267,
2260 1267, 1268, 1268, 1268, 1269, 1269, 1269, 606, 1269, 605,
2261 604, 1269, 603, 1263, 602, 1245, 1267, 601, 1268, 1280,
2262 1280, 1280, 1281, 1281, 1281, 1282, 1282, 1282, 600, 1282,
2263 598, 597, 1282, 1283, 1283, 1283, 596, 1280, 595, 1281,
2264 1291, 1291, 1291, 1292, 1292, 1292, 594, 1292, 593, 592,
2265 1292, 1293, 1293, 1293, 591, 1293, 590, 1291, 1293, 1296,
2267 1296, 1296, 589, 1296, 588, 1280, 1296, 1299, 1299, 1299,
2268 1300, 1300, 1300, 587, 1300, 586, 585, 1300, 1301, 1301,
2269 1301, 581, 1301, 580, 1299, 1301, 1304, 1304, 1304, 1305,
2270 1305, 1305, 1307, 1307, 1307, 1308, 1308, 1308, 579, 1308,
2271 577, 576, 1308, 575, 1304, 574, 573, 1305, 569, 1307,
2272 1314, 1314, 1314, 1317, 1317, 1317, 567, 1317, 566, 565,
2273 1317, 564, 1320, 1320, 1320, 560, 1320, 559, 1314, 1320,
2274 1323, 1323, 1323, 1324, 1324, 1324, 1325, 1325, 1325, 556,
2275 1325, 555, 554, 1325, 553, 552, 1304, 551, 1323, 548,
2276 547, 1324, 1328, 1328, 1328, 546, 1328, 545, 542, 1328,
2278 538, 1331, 1331, 1331, 1332, 1332, 1332, 1335, 1335, 1335,
2279 1337, 1337, 1337, 1338, 1338, 1338, 537, 536, 1323, 1331,
2280 535, 1332, 1341, 1341, 1341, 1335, 532, 531, 1337, 530,
2281 529, 1338, 1347, 1347, 1347, 1324, 1331, 1342, 1342, 1342,
2282 526, 1342, 525, 524, 1342, 1348, 1348, 1348, 523, 521,
2283 1347, 1349, 1349, 1349, 1351, 1351, 1351, 1352, 1352, 1352,
2284 1353, 1353, 1353, 1354, 1354, 1354, 1337, 518, 1335, 1356,
2285 1356, 1356, 1357, 1357, 1357, 1361, 1361, 1361, 1363, 1363,
2286 1363, 1365, 1365, 1365, 514, 1365, 513, 1347, 1365, 1378,
2287 1378, 1378, 1361, 1379, 1379, 1379, 1363, 1379, 512, 511,
2289 1379, 1382, 1382, 1382, 1392, 1392, 1392, 1378, 1392, 510,
2290 509, 1392, 1395, 1395, 1395, 506, 1395, 503, 502, 1395,
2291 1398, 1398, 1398, 1399, 1399, 1399, 1401, 1401, 1401, 1402,
2292 1402, 1402, 501, 1402, 500, 499, 1402, 498, 1398, 496,
2293 492, 1399, 490, 1401, 489, 488, 1378, 1412, 1412, 1412,
2294 1413, 1413, 1413, 1414, 1414, 1414, 1415, 1415, 1415, 1416,
2295 1416, 1416, 487, 1417, 1417, 1417, 483, 1417, 1413, 1401,
2296 1417, 1414, 482, 481, 1415, 480, 1416, 1418, 1418, 1418,
2297 1420, 1420, 1420, 1421, 1421, 1421, 1422, 1422, 1422, 1423,
2298 1423, 1423, 476, 475, 1418, 1426, 1426, 1426, 1420, 1427,
2300 1427, 1427, 474, 473, 1422, 472, 470, 1423, 467, 1414,
2301 1429, 1429, 1429, 1415, 466, 464, 1427, 1430, 1430, 1430,
2302 1432, 1432, 1432, 1433, 1433, 1433, 462, 459, 1429, 1437,
2303 1437, 1437, 1438, 1438, 1438, 456, 1438, 454, 453, 1438,
2304 1450, 1450, 1450, 1459, 1459, 1459, 1437, 1423, 1422, 1460,
2305 1460, 1460, 1462, 1462, 1462, 1463, 1463, 1463, 1450, 1463,
2306 1459, 450, 1463, 1471, 1471, 1471, 449, 1460, 448, 1462,
2307 1472, 1472, 1472, 1473, 1473, 1473, 1475, 1475, 1475, 445,
2308 1471, 1476, 1476, 1476, 444, 1477, 1477, 1477, 443, 1477,
2309 442, 1473, 1477, 441, 1475, 440, 1450, 439, 438, 1476,
2311 1480, 1480, 1480, 1481, 1481, 1481, 437, 1481, 434, 433,
2312 1481, 1482, 1482, 1482, 1483, 1483, 1483, 1480, 1485, 1485,
2313 1485, 1486, 1486, 1486, 1490, 1490, 1490, 432, 1482, 1491,
2314 1491, 1491, 1483, 1491, 431, 430, 1491, 424, 423, 1486,
2315 421, 1490, 415, 414, 1476, 1492, 1492, 1492, 1493, 1493,
2316 1493, 1498, 1498, 1498, 1499, 1499, 1499, 410, 1499, 404,
2317 400, 1499, 1492, 1513, 1513, 1513, 1493, 397, 1498, 1520,
2318 1520, 1520, 1521, 1521, 1521, 396, 1521, 392, 391, 1521,
2319 390, 1513, 389, 1522, 1522, 1522, 1520, 1522, 385, 382,
2320 1522, 1530, 1530, 1530, 1531, 1531, 1531, 378, 1531, 377,
2322 376, 1531, 1532, 1532, 1532, 1534, 1534, 1534, 1530, 1535,
2323 1535, 1535, 372, 1535, 366, 362, 1535, 359, 355, 1513,
2324 1532, 354, 353, 1534, 1538, 1538, 1538, 1539, 1539, 1539,
2325 349, 1539, 346, 341, 1539, 1540, 1540, 1540, 1545, 1545,
2326 1545, 1538, 1545, 340, 336, 1545, 1548, 1548, 1548, 333,
2327 1549, 1549, 1549, 1540, 1549, 328, 327, 1549, 1550, 1550,
2328 1550, 326, 322, 1548, 1553, 1553, 1553, 1534, 1554, 1554,
2329 1554, 316, 1554, 312, 306, 1554, 1570, 1570, 1570, 305,
2330 303, 1553, 1571, 1571, 1571, 1572, 1572, 1572, 1575, 1575,
2331 1575, 302, 1575, 297, 1570, 1575, 1579, 1579, 1579, 1581,
2333 1581, 1581, 1572, 1581, 294, 290, 1581, 1584, 1584, 1584,
2334 1585, 1585, 1585, 1579, 1585, 289, 288, 1585, 1590, 1590,
2335 1590, 1594, 1594, 1594, 1570, 1584, 287, 285, 1572, 281,
2336 1591, 1591, 1591, 278, 1591, 1590, 1590, 1591, 1597, 1597,
2337 1597, 271, 1597, 264, 263, 1597, 1604, 1604, 1604, 1613,
2338 1613, 1613, 1614, 1614, 1614, 1584, 1615, 1615, 1615, 1621,
2339 1621, 1621, 259, 1604, 1616, 1616, 1616, 1613, 1616, 253,
2340 252, 1616, 251, 1615, 247, 244, 1621, 1622, 1622, 1622,
2341 239, 1622, 237, 236, 1622, 1624, 1624, 1624, 1626, 1626,
2342 1626, 1627, 1627, 1627, 232, 1613, 229, 1628, 1628, 1628,
2344 227, 1628, 226, 1624, 1628, 1626, 1626, 225, 1627, 1627,
2345 1629, 1629, 1629, 221, 217, 1628, 1630, 1630, 1630, 1635,
2346 1635, 1635, 1636, 1636, 1636, 210, 1636, 209, 205, 1636,
2347 1645, 1645, 1645, 1646, 1646, 1646, 1635, 1646, 201, 200,
2348 1646, 1653, 1653, 1653, 199, 1654, 1654, 1654, 1645, 1654,
2349 193, 192, 1654, 1657, 1657, 1657, 190, 187, 1653, 1658,
2350 1658, 1658, 1661, 1661, 1661, 1662, 1662, 1662, 175, 1662,
2351 1657, 0, 1662, 1666, 1666, 1666, 0, 1658, 0, 1661,
2352 1661, 0, 0, 1662, 1663, 1663, 1663, 0, 1663, 0,
2353 0, 1663, 1645, 1667, 1667, 1667, 0, 1681, 1681, 1681,
2355 0, 0, 1663, 1664, 1664, 1664, 1664, 1664, 1664, 1664,
2356 1664, 1664, 0, 0, 1664, 1681, 1686, 1686, 1686, 1664,
2357 1664, 1664, 1664, 1664, 1672, 1672, 1672, 0, 1672, 0,
2358 0, 1672, 0, 1686, 1687, 1687, 1687, 0, 1687, 0,
2359 0, 1687, 1688, 1688, 1688, 1664, 1664, 1665, 1665, 1665,
2360 1665, 1665, 1665, 1665, 1665, 1665, 0, 0, 1665, 1688,
2361 0, 0, 0, 1665, 1665, 1665, 1665, 1665, 1689, 1689,
2362 1689, 0, 1689, 0, 0, 1689, 1691, 1691, 1691, 0,
2363 1691, 0, 0, 1691, 0, 0, 1706, 1706, 1706, 1665,
2364 1665, 1724, 1724, 1724, 1691, 1694, 1694, 1694, 1694, 1694,
2366 1694, 1694, 1694, 1694, 1706, 0, 1694, 0, 0, 1724,
2367 1724, 1694, 1694, 1694, 1694, 1694, 1712, 1712, 1712, 0,
2368 1712, 0, 0, 1712, 1715, 1715, 1715, 0, 1715, 0,
2369 0, 1715, 1731, 1731, 1731, 0, 0, 1694, 1694, 1695,
2370 1695, 1695, 1695, 1695, 1695, 1695, 1695, 1695, 0, 1731,
2371 1695, 1732, 1732, 1732, 0, 1695, 1695, 1695, 1695, 1695,
2372 1733, 1733, 1733, 1734, 1734, 1734, 0, 0, 1732, 1739,
2373 1739, 1739, 1743, 1743, 1743, 0, 0, 1733, 0, 0,
2374 1734, 1695, 1695, 1746, 1746, 1746, 0, 1739, 0, 0,
2375 1743, 1747, 1747, 1747, 0, 1747, 0, 0, 1747, 0,
2377 1746, 0, 0, 1733, 1748, 1748, 1748, 1749, 1749, 1749,
2378 0, 1749, 0, 0, 1749, 1750, 1750, 1750, 0, 0,
2379 1743, 1748, 1751, 1751, 1751, 0, 1751, 0, 0, 1751,
2380 0, 0, 1750, 1753, 1753, 1753, 1754, 1754, 1754, 0,
2381 1754, 0, 0, 1754, 1759, 1759, 1759, 1763, 1763, 1763,
2382 1753, 1763, 0, 0, 1763, 0, 1766, 1766, 1766, 0,
2383 1766, 0, 1759, 1766, 1769, 1769, 1769, 0, 1769, 0,
2384 0, 1769, 1773, 1773, 1773, 0, 1773, 0, 0, 1773,
2385 1759, 1794, 1794, 1794, 1800, 1800, 1800, 1801, 1801, 1801,
2386 0, 1801, 0, 0, 1801, 1807, 1807, 1807, 1794, 1807,
2388 0, 1800, 1807, 1812, 1812, 1812, 1813, 1813, 1813, 0,
2389 1813, 0, 0, 1813, 1838, 1838, 1838, 1839, 1839, 1839,
2390 0, 1812, 0, 0, 1813, 0, 0, 0, 0, 0,
2391 0, 0, 1838, 0, 0, 1839, 1842, 1842, 1842, 1842,
2392 1842, 1842, 1842, 1842, 1842, 1843, 1843, 1843, 1843, 1843,
2393 1843, 1843, 1843, 1843, 1844, 1844, 1844, 1844, 1844, 1844,
2394 1844, 1844, 1844, 1845, 1845, 1845, 1845, 1845, 1845, 1845,
2395 1845, 1845, 1846, 1846, 1846, 1846, 1846, 1846, 1846, 1846,
2396 1846, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847, 1847,
2397 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1848, 1849,
2399 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1849, 1850, 1850,
2400 1850, 1850, 1850, 1850, 1850, 1850, 1850, 1851, 1851, 1851,
2401 1851, 1851, 1851, 1851, 1851, 1851, 1852, 1852, 1852, 1852,
2402 1852, 1852, 1852, 1852, 1852, 1853, 1853, 1853, 1853, 1853,
2403 1853, 1853, 1853, 1853, 1854, 1854, 1854, 1854, 1854, 1854,
2404 1854, 1854, 1854, 1855, 1855, 1855, 1855, 1855, 1855, 1855,
2405 1855, 1855, 1856, 1856, 1856, 1856, 1856, 1856, 1856, 1856,
2406 1856, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857, 1857,
2407 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1858, 1859,
2408 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1860, 1860,
2410 1860, 1860, 1860, 1860, 1860, 1860, 1860, 1861, 1861, 1861,
2411 1861, 1861, 1861, 1861, 1861, 1861, 1862, 1862, 1862, 1862,
2412 1862, 1862, 1862, 1862, 1862, 1863, 1863, 1863, 1863, 1863,
2413 1863, 1863, 1863, 1863, 1864, 1864, 1864, 1864, 1864, 1864,
2414 1864, 1864, 1864, 1865, 1865, 1865, 1865, 1865, 1865, 1865,
2415 1865, 1865, 1866, 1866, 1866, 1866, 1866, 1866, 1866, 1866,
2416 1866, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867, 1867,
2417 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1868, 1869,
2418 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1869, 1870, 1870,
2419 1870, 1870, 1870, 1870, 1870, 1870, 1870, 1871, 1871, 1871,
2421 1871, 1871, 1871, 1871, 1871, 1871, 1872, 1872, 1872, 1872,
2422 1872, 1872, 1872, 1872, 1872, 1873, 1873, 1873, 1873, 1873,
2423 1873, 1873, 1873, 1873, 1874, 1874, 1874, 1874, 1874, 1874,
2424 1874, 1874, 1874, 1875, 1875, 1875, 1875, 1875, 1875, 1875,
2425 1875, 1875, 1876, 1876, 1876, 1876, 1876, 1876, 1876, 1876,
2426 1876, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877, 1877,
2427 1878, 1878, 1878, 0, 0, 0, 1878, 1879, 1879, 1879,
2428 0, 0, 0, 1879, 1880, 1880, 1880, 0, 0, 0,
2429 1880, 1881, 1881, 1881, 0, 0, 0, 1881, 1882, 1882,
2430 1882, 0, 0, 0, 1882, 1883, 1883, 1883, 0, 0,
2432 0, 1883, 1884, 1884, 1884, 0, 0, 0, 1884, 1885,
2433 1885, 1885, 0, 0, 0, 1885, 1886, 1886, 1886, 0,
2434 0, 0, 1886, 1887, 1887, 1887, 0, 0, 0, 1887,
2435 1888, 1888, 1888, 0, 0, 0, 1888, 1889, 1889, 1889,
2436 0, 0, 0, 1889, 1890, 1890, 1890, 0, 0, 0,
2437 1890, 1891, 1891, 1891, 0, 0, 0, 1891, 1892, 1892,
2438 1892, 0, 0, 0, 1892, 1893, 1893, 1893, 0, 0,
2439 0, 1893, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 0,
2440 1894, 1895, 0, 0, 0, 1895, 1896, 0, 0, 0,
2441 1896, 1897, 0, 0, 0, 1897, 1898, 0, 0, 0,
2443 1898, 1899, 0, 0, 0, 1899, 1900, 0, 0, 0,
2444 1900, 1901, 0, 0, 0, 1901, 1902, 0, 0, 0,
2445 1902, 1903, 0, 0, 0, 1903, 1904, 0, 0, 0,
2446 1904, 1905, 1905, 1905, 0, 0, 0, 1905, 1906, 0,
2447 0, 0, 1906, 1907, 1907, 1907, 0, 0, 0, 1907,
2448 1908, 0, 0, 0, 1908, 1909, 1909, 1909, 0, 0,
2449 0, 1909, 1910, 0, 0, 0, 1910, 1911, 1911, 1911,
2450 0, 0, 0, 1911, 1912, 0, 0, 0, 1912, 1913,
2451 1913, 1913, 0, 0, 0, 1913, 1914, 0, 0, 0,
2452 1914, 1915, 1915, 1915, 0, 0, 0, 1915, 1916, 0,
2454 0, 0, 1916, 1917, 1917, 1917, 1917, 1917, 1917, 1917,
2455 1917, 1917, 1918, 0, 0, 0, 0, 1918, 1919, 1919,
2456 1919, 0, 0, 0, 1919, 1920, 1920, 1920, 1920, 0,
2457 0, 1920, 1920, 1921, 1921, 1921, 0, 0, 0, 1921,
2458 1922, 1922, 1922, 1922, 0, 0, 1922, 1922, 1923, 1923,
2459 1923, 0, 0, 0, 1923, 1924, 1924, 1924, 1924, 0,
2460 0, 1924, 1924, 1925, 1925, 1925, 0, 0, 0, 1925,
2461 1926, 1926, 1926, 1926, 0, 0, 1926, 1926, 1927, 1927,
2462 1927, 0, 0, 0, 1927, 1928, 1928, 1928, 1928, 0,
2463 0, 1928, 1928, 1929, 1929, 1929, 0, 0, 0, 1929,
2465 1930, 1930, 1930, 1930, 0, 0, 1930, 1930, 1931, 1931,
2466 1931, 0, 0, 0, 1931, 1932, 1932, 1932, 1932, 0,
2467 0, 1932, 1932, 1933, 1933, 1933, 1933, 0, 0, 1933,
2468 1933, 1934, 1934, 1934, 0, 0, 0, 1934, 1935, 1935,
2469 1935, 1935, 0, 0, 1935, 1935, 1936, 1936, 1936, 1936,
2470 0, 1936, 0, 1936, 1937, 1937, 1937, 1937, 0, 0,
2471 1937, 1937, 1938, 1938, 1938, 1938, 0, 1938, 0, 1938,
2472 1939, 1939, 1939, 1939, 0, 0, 1939, 1939, 1940, 1940,
2473 1940, 1940, 0, 0, 1940, 1940, 1941, 1941, 1941, 1941,
2474 0, 1941, 0, 1941, 1942, 1942, 1942, 1942, 0, 0,
2476 1942, 1942, 1943, 1943, 1943, 0, 0, 0, 1943, 1944,
2477 1944, 1944, 1944, 0, 0, 1944, 1944, 1945, 1945, 1945,
2478 0, 0, 0, 1945, 1946, 1946, 1946, 1946, 0, 0,
2479 1946, 1946, 1947, 1947, 1947, 0, 0, 0, 1947, 1948,
2480 1948, 1948, 1948, 0, 0, 1948, 1948, 1949, 1949, 1949,
2481 1949, 1949, 1949, 1949, 1949, 1949, 1950, 0, 1950, 0,
2482 0, 1950, 1951, 1951, 1951, 0, 0, 0, 1951, 1952,
2483 1952, 1952, 1952, 0, 0, 1952, 1952, 1953, 1953, 1953,
2484 1953, 0, 1953, 0, 1953, 1954, 1954, 1954, 1954, 0,
2485 0, 1954, 1954, 1955, 1955, 1955, 0, 0, 0, 1955,
2487 1956, 1956, 1956, 1956, 0, 0, 1956, 1956, 1957, 1957,
2488 1957, 0, 0, 0, 1957, 1958, 1958, 1958, 1958, 0,
2489 0, 1958, 1958, 1959, 1959, 1959, 0, 0, 0, 1959,
2490 1960, 1960, 1960, 1960, 0, 0, 1960, 1960, 1961, 1961,
2491 1961, 0, 0, 0, 1961, 1962, 1962, 1962, 1962, 0,
2492 0, 1962, 1962, 1963, 1963, 1963, 0, 0, 0, 1963,
2493 1964, 1964, 1964, 1964, 0, 0, 1964, 1964, 1965, 1965,
2494 1965, 1965, 0, 0, 1965, 1965, 1966, 1966, 1966, 0,
2495 0, 0, 1966, 1967, 1967, 1967, 1967, 0, 0, 1967,
2496 1967, 1968, 1968, 1968, 1968, 0, 0, 1968, 1968, 1969,
2498 1969, 1969, 0, 0, 0, 1969, 1970, 1970, 1970, 1970,
2499 0, 0, 1970, 1970, 1971, 1971, 1971, 1971, 0, 0,
2500 1971, 1971, 1972, 1972, 1972, 0, 0, 0, 1972, 1973,
2501 1973, 1973, 1973, 0, 0, 1973, 1973, 1974, 1974, 1974,
2502 0, 0, 0, 1974, 1975, 1975, 1975, 1975, 0, 0,
2503 1975, 1975, 1976, 1976, 1976, 0, 0, 0, 1976, 1977,
2504 1977, 1977, 1977, 0, 0, 1977, 1977, 1978, 1978, 1978,
2505 0, 0, 0, 1978, 1979, 1979, 1979, 1979, 0, 0,
2506 1979, 1979, 1980, 1980, 1980, 1980, 1980, 1980, 1980, 1980,
2507 1980, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981, 1981,
2509 1982, 1982, 1982, 0, 0, 0, 1982, 1983, 1983, 1983,
2510 1983, 0, 0, 1983, 1983, 1984, 1984, 1984, 0, 0,
2511 0, 1984, 1985, 1985, 1985, 1985, 0, 0, 1985, 1985,
2512 1986, 1986, 1986, 0, 0, 0, 1986, 1987, 1987, 1987,
2513 1987, 0, 0, 1987, 1987, 1988, 1988, 1988, 0, 0,
2514 0, 1988, 1989, 1989, 1989, 1989, 0, 0, 1989, 1989,
2515 1990, 1990, 1990, 0, 0, 0, 1990, 1991, 1991, 1991,
2516 0, 0, 0, 1991, 1992, 1992, 1992, 1992, 0, 0,
2517 1992, 1992, 1993, 1993, 1993, 1993, 0, 1993, 0, 1993,
2518 1994, 1994, 1994, 1994, 0, 0, 1994, 1994, 1995, 1995,
2520 1995, 1995, 0, 0, 1995, 1995, 1996, 1996, 1996, 0,
2521 0, 0, 1996, 1997, 1997, 1997, 1997, 0, 0, 1997,
2522 1997, 1998, 1998, 1998, 1998, 0, 0, 1998, 1998, 1999,
2523 1999, 1999, 0, 0, 0, 1999, 2000, 2000, 2000, 2000,
2524 0, 0, 2000, 2000, 2001, 2001, 2001, 2001, 0, 0,
2525 2001, 2001, 2002, 2002, 2002, 0, 0, 0, 2002, 2003,
2526 2003, 2003, 2003, 0, 0, 2003, 2003, 2004, 2004, 2004,
2527 0, 0, 0, 2004, 2005, 2005, 2005, 2005, 0, 0,
2528 2005, 2005, 2006, 2006, 2006, 2006, 0, 2006, 0, 2006,
2529 2007, 2007, 2007, 2007, 0, 0, 2007, 2007, 2008, 2008,
2531 2008, 2008, 0, 2008, 0, 2008, 2009, 2009, 2009, 2009,
2532 0, 0, 2009, 2009, 2010, 2010, 2010, 2010, 2010, 2010,
2533 2010, 2010, 2010, 2011, 2011, 2011, 2011, 2011, 2011, 2011,
2534 2011, 2011, 2012, 2012, 2012, 0, 0, 0, 2012, 2013,
2535 2013, 2013, 2013, 0, 0, 2013, 2013, 2014, 2014, 2014,
2536 0, 0, 0, 2014, 2015, 2015, 2015, 2015, 0, 0,
2537 2015, 2015, 2016, 2016, 2016, 0, 0, 0, 2016, 2017,
2538 2017, 2017, 2017, 0, 0, 2017, 2017, 2018, 2018, 2018,
2539 0, 0, 0, 2018, 2019, 2019, 2019, 2019, 0, 0,
2540 2019, 2019, 2020, 2020, 2020, 0, 0, 0, 2020, 2021,
2542 2021, 2021, 0, 0, 0, 2021, 2022, 2022, 2022, 2022,
2543 0, 0, 2022, 2022, 2023, 2023, 2023, 2023, 0, 2023,
2544 0, 2023, 2024, 2024, 2024, 2024, 0, 0, 2024, 2024,
2545 2025, 2025, 2025, 2025, 0, 0, 2025, 2025, 2026, 2026,
2546 2026, 0, 0, 0, 2026, 2027, 2027, 2027, 2027, 0,
2547 0, 2027, 2027, 2028, 2028, 2028, 2028, 0, 0, 2028,
2548 2028, 2029, 2029, 2029, 2029, 0, 2029, 0, 2029, 2030,
2549 2030, 2030, 2030, 0, 0, 2030, 2030, 2031, 2031, 2031,
2550 2031, 0, 0, 2031, 2031, 2032, 2032, 2032, 2032, 0,
2551 2032, 0, 2032, 2033, 2033, 2033, 2033, 0, 0, 2033,
2553 2033, 2034, 2034, 2034, 0, 0, 0, 2034, 2035, 2035,
2554 2035, 2035, 0, 0, 2035, 2035, 2036, 2036, 2036, 2036,
2555 0, 0, 2036, 2036, 2037, 2037, 2037, 2037, 2037, 2037,
2556 2037, 2037, 2037, 2038, 2038, 2038, 2038, 2038, 2038, 2038,
2557 2038, 2038, 2039, 2039, 2039, 2039, 2039, 2039, 2039, 2039,
2558 2039, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040, 2040,
2559 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2041, 2042,
2560 2042, 2042, 2042, 2042, 2042, 2042, 2042, 2042, 1841, 1841,
2561 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
2562 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
2564 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
2565 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
2566 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
2567 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841,
2568 1841, 1841, 1841, 1841, 1841, 1841, 1841, 1841
2571 /* Table of booleans, true if rule could match eol. */
2572 static yyconst flex_int32_t yy_rule_can_match_eol[325] =
2574 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
2575 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0,
2576 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2577 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2578 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2579 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2580 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
2581 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2582 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1,
2583 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
2584 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
2585 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0,
2586 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2587 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1,
2588 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
2589 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
2592 static yy_state_type yy_last_accepting_state;
2593 static char *yy_last_accepting_cpos;
2595 extern int surf_parse__flex_debug;
2596 int surf_parse__flex_debug = 0;
2598 /* The intent behind this definition is that it'll catch
2599 * any uses of REJECT which flex missed.
2601 #define REJECT reject_used_but_not_detected
2602 #define yymore() yymore_used_but_not_detected
2603 #define YY_MORE_ADJ 0
2604 #define YY_RESTORE_YY_MORE_OFFSET
2605 char *surf_parse_text;
2606 /* Validating XML processor for src/surf/simgrid.dtd.
2607 * Generated 2010/09/22 15:07:51.
2609 * This program was generated with the FleXML XML processor generator.
2610 * FleXML is Copyright (C) 1999-2005 Kristoffer Rose. All rights reserved.
2611 * FleXML is Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2612 * (Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp).
2614 * There are two, intertwined parts to this program, part A and part B.
2619 * Some parts, here collectively called "Part A", are found in the
2620 * FleXML package. They are Copyright (C) 1999-2005 Kristoffer Rose
2621 * and Copyright (C) 2003-2006 Martin Quinson. All rights reserved.
2623 * You can redistribute, use, perform, display and/or modify "Part A"
2624 * provided the following two conditions hold:
2626 * 1. The program is distributed WITHOUT ANY WARRANTY from the author of
2627 * FleXML; without even the implied warranty of MERCHANTABILITY or
2628 * FITNESS FOR A PARTICULAR PURPOSE.
2630 * 2. The program distribution conditions do not in any way affect the
2631 * distribution conditions of the FleXML system used to generate this
2632 * file or any version of FleXML derived from that system.
2634 * Notice that these are explicit rights granted to you for files
2635 * generated by the FleXML system. For your rights in connection with
2636 * the FleXML system itself please consult the GNU General Public License.
2641 * The other parts, here collectively called "Part B", and which came
2642 * from the DTD used by FleXML to generate this program, can be
2643 * distributed (or not, as the case may be) under the terms of whoever
2644 * wrote them, provided these terms respect and obey the two conditions
2645 * above under the heading "Part A".
2647 * The author of and contributors to FleXML specifically disclaim
2648 * any copyright interest in "Part B", unless "Part B" was written
2649 * by the author of or contributors to FleXML.
2653 /* Version strings. */
2654 const char rcs_surfxml_flexml_skeleton[] =
2655 "$" "Id: skel,v 1.40 2007/10/11 09:57:24 mquinson Exp $";
2656 const char rcs_surfxml_flexml[] =
2657 "$" "Id: flexml.pl,v 1.62 2007/10/11 10:00:14 mquinson Exp $";
2660 #include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */
2667 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
2668 # ifndef __STRICT_ANSI__
2670 # include <process.h>
2673 # include <unistd.h>
2676 #ifndef FLEXML_INDEXSTACKSIZE
2677 #define FLEXML_INDEXSTACKSIZE 1000
2680 /* Generated definitions. */
2681 #define FLEXML_yylineno
2682 #ifndef FLEXML_BUFFERSTACKSIZE
2683 #define FLEXML_BUFFERSTACKSIZE 1000000
2685 #define FLEXML_NEED_BUFFERLIT
2687 /* XML processor api. */
2688 /* FleXML-provided data. */
2689 int surfxml_pcdata_ix;
2690 extern char *surfxml_bufferstack;
2691 #define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
2692 AT_surfxml_random_generator AX_surfxml_random_generator;
2693 #define A_surfxml_random_generator AX_surfxml_random_generator
2694 AT_surfxml_ASroute_gw_dst AX_surfxml_ASroute_gw_dst;
2695 #define A_surfxml_ASroute_gw_dst (surfxml_bufferstack + AX_surfxml_ASroute_gw_dst)
2696 AT_surfxml_prop_id AX_surfxml_prop_id;
2697 #define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
2698 AT_surfxml_host_interference_recv AX_surfxml_host_interference_recv;
2699 #define A_surfxml_host_interference_recv (surfxml_bufferstack + AX_surfxml_host_interference_recv)
2700 AT_surfxml_host_id AX_surfxml_host_id;
2701 #define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
2702 AT_surfxml_link_latency_file AX_surfxml_link_latency_file;
2703 #define A_surfxml_link_latency_file (surfxml_bufferstack + AX_surfxml_link_latency_file)
2704 AT_surfxml_host_state AX_surfxml_host_state;
2705 #define A_surfxml_host_state AX_surfxml_host_state
2706 AT_surfxml_host_interference_send_recv AX_surfxml_host_interference_send_recv;
2707 #define A_surfxml_host_interference_send_recv (surfxml_bufferstack + AX_surfxml_host_interference_send_recv)
2708 AT_surfxml_host_interference_send AX_surfxml_host_interference_send;
2709 #define A_surfxml_host_interference_send (surfxml_bufferstack + AX_surfxml_host_interference_send)
2710 AT_surfxml_AS_id AX_surfxml_AS_id;
2711 #define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
2712 AT_surfxml_host_power AX_surfxml_host_power;
2713 #define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
2714 AT_surfxml_router_id AX_surfxml_router_id;
2715 #define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
2716 AT_surfxml_process_start_time AX_surfxml_process_start_time;
2717 #define A_surfxml_process_start_time (surfxml_bufferstack + AX_surfxml_process_start_time)
2718 AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
2719 #define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
2720 AT_surfxml_platform_xmlns_c_route AX_surfxml_platform_xmlns_c_route;
2721 #define A_surfxml_platform_xmlns_c_route (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_route)
2722 AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
2723 #define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
2724 AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
2725 #define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
2726 AT_surfxml_trace_file AX_surfxml_trace_file;
2727 #define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
2728 AT_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy;
2729 #define A_surfxml_link_sharing_policy AX_surfxml_link_sharing_policy
2730 AT_surfxml_random_min AX_surfxml_random_min;
2731 #define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
2732 AT_surfxml_process_kill_time AX_surfxml_process_kill_time;
2733 #define A_surfxml_process_kill_time (surfxml_bufferstack + AX_surfxml_process_kill_time)
2734 AT_surfxml_cluster_bb_bw AX_surfxml_cluster_bb_bw;
2735 #define A_surfxml_cluster_bb_bw (surfxml_bufferstack + AX_surfxml_cluster_bb_bw)
2736 AT_surfxml_trace_c_connect_element AX_surfxml_trace_c_connect_element;
2737 #define A_surfxml_trace_c_connect_element (surfxml_bufferstack + AX_surfxml_trace_c_connect_element)
2738 AT_surfxml_argument_value AX_surfxml_argument_value;
2739 #define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
2740 AT_surfxml_link_state AX_surfxml_link_state;
2741 #define A_surfxml_link_state AX_surfxml_link_state
2742 AT_surfxml_ASroute_gw_src AX_surfxml_ASroute_gw_src;
2743 #define A_surfxml_ASroute_gw_src (surfxml_bufferstack + AX_surfxml_ASroute_gw_src)
2744 AT_surfxml_AS_routing AX_surfxml_AS_routing;
2745 #define A_surfxml_AS_routing (surfxml_bufferstack + AX_surfxml_AS_routing)
2746 AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
2747 #define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
2748 AT_surfxml_cluster_id AX_surfxml_cluster_id;
2749 #define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
2750 AT_surfxml_random_mean AX_surfxml_random_mean;
2751 #define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
2752 AT_surfxml_cluster_bb_lat AX_surfxml_cluster_bb_lat;
2753 #define A_surfxml_cluster_bb_lat (surfxml_bufferstack + AX_surfxml_cluster_bb_lat)
2754 AT_surfxml_link_latency AX_surfxml_link_latency;
2755 #define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
2756 AT_surfxml_platform_xmlns_c_link AX_surfxml_platform_xmlns_c_link;
2757 #define A_surfxml_platform_xmlns_c_link (surfxml_bufferstack + AX_surfxml_platform_xmlns_c_link)
2758 AT_surfxml_link_bandwidth_file AX_surfxml_link_bandwidth_file;
2759 #define A_surfxml_link_bandwidth_file (surfxml_bufferstack + AX_surfxml_link_bandwidth_file)
2760 AT_surfxml_host_vivaldi AX_surfxml_host_vivaldi;
2761 #define A_surfxml_host_vivaldi (surfxml_bufferstack + AX_surfxml_host_vivaldi)
2762 AT_surfxml_random_id AX_surfxml_random_id;
2763 #define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
2764 AT_surfxml_random_max AX_surfxml_random_max;
2765 #define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
2766 AT_surfxml_link_id AX_surfxml_link_id;
2767 #define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
2768 AT_surfxml_process_host AX_surfxml_process_host;
2769 #define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
2770 AT_surfxml_host_availability_file AX_surfxml_host_availability_file;
2771 #define A_surfxml_host_availability_file (surfxml_bufferstack + AX_surfxml_host_availability_file)
2772 AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
2773 #define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
2774 AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
2775 #define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
2776 AT_surfxml_prop_value AX_surfxml_prop_value;
2777 #define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
2778 AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
2779 #define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
2780 AT_surfxml_link_state_file AX_surfxml_link_state_file;
2781 #define A_surfxml_link_state_file (surfxml_bufferstack + AX_surfxml_link_state_file)
2782 AT_surfxml_cluster_power AX_surfxml_cluster_power;
2783 #define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
2784 AT_surfxml_process_function AX_surfxml_process_function;
2785 #define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
2786 AT_surfxml_host_max_outgoing_rate AX_surfxml_host_max_outgoing_rate;
2787 #define A_surfxml_host_max_outgoing_rate (surfxml_bufferstack + AX_surfxml_host_max_outgoing_rate)
2788 AT_surfxml_link_c_ctn_id AX_surfxml_link_c_ctn_id;
2789 #define A_surfxml_link_c_ctn_id (surfxml_bufferstack + AX_surfxml_link_c_ctn_id)
2790 AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
2791 #define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
2792 AT_surfxml_host_availability AX_surfxml_host_availability;
2793 #define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
2794 AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
2795 #define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
2796 AT_surfxml_route_src AX_surfxml_route_src;
2797 #define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
2798 AT_surfxml_bypassRoute_gw_dst AX_surfxml_bypassRoute_gw_dst;
2799 #define A_surfxml_bypassRoute_gw_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_dst)
2800 AT_surfxml_trace_c_connect_trace AX_surfxml_trace_c_connect_trace;
2801 #define A_surfxml_trace_c_connect_trace (surfxml_bufferstack + AX_surfxml_trace_c_connect_trace)
2802 AT_surfxml_trace_id AX_surfxml_trace_id;
2803 #define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
2804 AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
2805 #define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
2806 AT_surfxml_random_std_deviation AX_surfxml_random_std_deviation;
2807 #define A_surfxml_random_std_deviation (surfxml_bufferstack + AX_surfxml_random_std_deviation)
2808 AT_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind;
2809 #define A_surfxml_trace_c_connect_kind AX_surfxml_trace_c_connect_kind
2810 AT_surfxml_bypassRoute_gw_src AX_surfxml_bypassRoute_gw_src;
2811 #define A_surfxml_bypassRoute_gw_src (surfxml_bufferstack + AX_surfxml_bypassRoute_gw_src)
2812 AT_surfxml_host_state_file AX_surfxml_host_state_file;
2813 #define A_surfxml_host_state_file (surfxml_bufferstack + AX_surfxml_host_state_file)
2814 AT_surfxml_route_dst AX_surfxml_route_dst;
2815 #define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
2816 AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
2817 #define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
2818 AT_surfxml_platform_version AX_surfxml_platform_version;
2819 #define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
2823 # define ENTER(state) debug_enter(state,#state)
2824 # define LEAVE debug_leave()
2825 # define SET(state) debug_set(state,#state)
2826 static void debug_enter(int, const char*);
2827 static void debug_leave(void);
2828 static void debug_set(int, const char*);
2830 # define ENTER(state) (yy_push_state(state))
2831 # define LEAVE (yy_pop_state())
2832 # define SET(state) BEGIN(state)
2835 /* Generic actions. */
2836 #define SKIP /*skip*/
2837 #define SUCCEED CLEANUP; return 0
2839 #define FAIL return fail
2840 static int fail(const char*, ...);
2842 enum {flexml_max_err_msg_size = 512};
2843 static char flexml_err_msg[flexml_max_err_msg_size];
2844 const char * surfxml_parse_err_msg()
2846 return flexml_err_msg;
2848 static void reset_surfxml_parse_err_msg()
2850 flexml_err_msg[0] = '\0';
2854 static void cleanup(void);
2855 #define CLEANUP cleanup()
2857 /* Text buffer stack handling. */
2858 char *surfxml_bufferstack = NULL;
2859 static int blimit = FLEXML_BUFFERSTACKSIZE;
2860 static int bnext = 1;
2862 static int *indexstack = NULL;
2863 static int ilimit = FLEXML_INDEXSTACKSIZE;
2864 static int inext = 1;
2866 #define BUFFERSET(P) (P = bnext)
2867 #define BUFFERPUTC(C) (ck_blimit(), surfxml_bufferstack[bnext++] = (C))
2868 #define BUFFERDONE (BUFFERPUTC('\0'))
2870 #define BUFFERLITERAL(C, P) surfxml_bufferliteral(C, &(P), surf_parse_text)
2872 /* after this is called, there are at least 2 slots left in the stack */
2873 static int ck_blimit()
2875 if (bnext >= blimit) {
2876 blimit += FLEXML_BUFFERSTACKSIZE + 2;
2878 char *temp = (char *) realloc(surfxml_bufferstack, blimit);
2880 surfxml_bufferstack = temp;
2886 /* after this is called, there are at least 2 slots left in the stack */
2887 static int ck_ilimit()
2889 if (inext >= ilimit) {
2890 ilimit += FLEXML_INDEXSTACKSIZE + 2;
2892 int *temp = (int *) realloc(indexstack, ilimit);
2900 #ifdef FLEXML_NEED_BUFFERLIT
2901 static void surfxml_bufferliteral(char c, int* pp, const char* text)
2903 const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
2904 assert(s <= e); BUFFERSET(*pp);
2906 if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
2907 else BUFFERPUTC(*s);
2913 static void pushbuffer(int p)
2916 indexstack[inext++] = p;
2917 indexstack[inext++] = bnext;
2920 static int popbuffer(void)
2923 bnext = indexstack[--inext];
2924 return indexstack[--inext];
2927 /* General internal entities are `unput' back onto the input stream... */
2928 #define ENTITYTEXT(T) \
2929 { char *s = (T), *e = s+strlen(s);\
2930 while (--e >= s) { unput(*e); }}
2932 /* Flex standard options. */
2933 #define YY_NO_INPUT 1
2934 /* Flex user-requested options. */
2935 /* XML character classes (currently restricted to ASCII). */
2936 /* "Common syntactic structures." */
2937 /* "Names and Tokens." */
2938 /* Miscellaneous. */
2939 /* Parser states (flex `exclusive start conditions'):
2941 * PROLOG the XML prolog of the document before <?xml...>
2942 * DOCTYPE the XML prolog of the document after <?xml...>
2943 * EPILOG after the root element
2944 * INCOMMENT inside an XML comment <!--....-->
2945 * INPI inside an XML PI <?...?>
2946 * VALUE1 inside a '...'-delimited literal
2947 * VALUE2 inside a "..."-delimited literal
2948 * CDATA inside a <![CDATA[...] ]> section.
2949 * ROOT_<tag> expect root element <tag>
2950 * AL_<tag> inside the attribute list for <tag>
2951 * IN_<tag> inside a <tag> with element contents (ready for end tag)
2952 * IMPOSSIBLE dummy to permit disabling rules; must be last
2956 const char* *surfxml_statenames=NULL;
2967 #define ROOT_surfxml_platform 9
2968 #define AL_surfxml_platform 10
2969 #define S_surfxml_platform 11
2970 #define S_surfxml_platform_1 12
2971 #define S_surfxml_platform_2 13
2972 #define S_surfxml_platform_3 14
2973 #define S_surfxml_platform_4 15
2974 #define S_surfxml_platform_5 16
2975 #define S_surfxml_platform_6 17
2976 #define S_surfxml_platform_7 18
2977 #define S_surfxml_platform_8 19
2978 #define E_surfxml_platform 20
2979 #define AL_surfxml_trace 21
2981 #define AL_surfxml_random 23
2982 #define S_surfxml_random 24
2983 #define S_surfxml_random_1 25
2984 #define S_surfxml_random_2 26
2985 #define E_surfxml_random 27
2986 #define AL_surfxml_trace_c_connect 28
2987 #define E_surfxml_trace_c_connect 29
2988 #define AL_surfxml_AS 30
2989 #define S_surfxml_AS 31
2990 #define S_surfxml_AS_1 32
2991 #define S_surfxml_AS_2 33
2992 #define S_surfxml_AS_3 34
2993 #define S_surfxml_AS_4 35
2994 #define S_surfxml_AS_5 36
2995 #define S_surfxml_AS_6 37
2996 #define S_surfxml_AS_7 38
2997 #define S_surfxml_AS_8 39
2998 #define S_surfxml_AS_9 40
2999 #define S_surfxml_AS_10 41
3000 #define S_surfxml_AS_11 42
3001 #define S_surfxml_AS_12 43
3002 #define S_surfxml_AS_13 44
3003 #define E_surfxml_AS 45
3004 #define AL_surfxml_host 46
3005 #define S_surfxml_host 47
3006 #define S_surfxml_host_1 48
3007 #define S_surfxml_host_2 49
3008 #define E_surfxml_host 50
3009 #define AL_surfxml_cluster 51
3010 #define E_surfxml_cluster 52
3011 #define AL_surfxml_router 53
3012 #define E_surfxml_router 54
3013 #define AL_surfxml_link 55
3014 #define S_surfxml_link 56
3015 #define S_surfxml_link_1 57
3016 #define S_surfxml_link_2 58
3017 #define E_surfxml_link 59
3018 #define AL_surfxml_route 60
3019 #define S_surfxml_route 61
3020 #define S_surfxml_route_1 62
3021 #define S_surfxml_route_2 63
3022 #define E_surfxml_route 64
3023 #define AL_surfxml_ASroute 65
3024 #define S_surfxml_ASroute 66
3025 #define S_surfxml_ASroute_1 67
3026 #define S_surfxml_ASroute_2 68
3027 #define E_surfxml_ASroute 69
3028 #define AL_surfxml_link_c_ctn 70
3029 #define E_surfxml_link_c_ctn 71
3030 #define AL_surfxml_bypassRoute 72
3031 #define S_surfxml_bypassRoute 73
3032 #define S_surfxml_bypassRoute_1 74
3033 #define S_surfxml_bypassRoute_2 75
3034 #define E_surfxml_bypassRoute 76
3035 #define AL_surfxml_process 77
3036 #define S_surfxml_process 78
3037 #define S_surfxml_process_1 79
3038 #define S_surfxml_process_2 80
3039 #define E_surfxml_process 81
3040 #define AL_surfxml_argument 82
3041 #define E_surfxml_argument 83
3042 #define AL_surfxml_prop 84
3043 #define E_surfxml_prop 85
3044 #define IMPOSSIBLE 86
3046 #ifndef YY_NO_UNISTD_H
3047 /* Special case for "unistd.h", since it is non-ANSI. We include it way
3048 * down here because we want the user's section 1 to have been scanned first.
3049 * The user has a chance to override it with an option.
3051 #if defined(_XBT_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)
3052 # ifndef __STRICT_ANSI__
3054 # include <process.h>
3057 # include <unistd.h>
3061 #ifndef YY_EXTRA_TYPE
3062 #define YY_EXTRA_TYPE void *
3065 static int yy_init_globals (void );
3067 /* Accessor methods to globals.
3068 These are made visible to non-reentrant scanners for convenience. */
3070 int surf_parse_lex_destroy (void );
3072 int surf_parse_get_debug (void );
3074 void surf_parse_set_debug (int debug_flag );
3076 YY_EXTRA_TYPE surf_parse_get_extra (void );
3078 void surf_parse_set_extra (YY_EXTRA_TYPE user_defined );
3080 FILE *surf_parse_get_in (void );
3082 void surf_parse_set_in (FILE * in_str );
3084 FILE *surf_parse_get_out (void );
3086 void surf_parse_set_out (FILE * out_str );
3088 int surf_parse_get_leng (void );
3090 char *surf_parse_get_text (void );
3092 int surf_parse_get_lineno (void );
3094 void surf_parse_set_lineno (int line_number );
3096 /* Macros after this point can all be overridden by user definitions in
3100 #ifndef YY_SKIP_YYWRAP
3102 extern "C" int surf_parse_wrap (void );
3104 extern int surf_parse_wrap (void );
3109 static void yy_flex_strncpy (char *,yyconst char *,int );
3112 #ifdef YY_NEED_STRLEN
3113 static int yy_flex_strlen (yyconst char * );
3119 static int yyinput (void );
3121 static int input (void );
3126 static int yy_start_stack_ptr = 0;
3127 static int yy_start_stack_depth = 0;
3128 static int *yy_start_stack = NULL;
3130 static void yy_push_state (int new_state );
3132 static void yy_pop_state (void );
3134 /* Amount of stuff to slurp up with each read. */
3135 #ifndef YY_READ_BUF_SIZE
3137 /* On IA-64, the buffer size is 16k, not 8k */
3138 #define YY_READ_BUF_SIZE 16384
3140 #define YY_READ_BUF_SIZE 8192
3141 #endif /* __ia64__ */
3144 /* Copy whatever the last rule matched to the standard output. */
3146 /* This used to be an fputs(), but since the string might contain NUL's,
3147 * we now use fwrite().
3149 #define ECHO do { if (fwrite( surf_parse_text, surf_parse_leng, 1, surf_parse_out )) {} } while (0)
3152 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3153 * is returned in "result".
3156 #define YY_INPUT(buf,result,max_size) \
3157 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3161 for ( n = 0; n < max_size && \
3162 (c = getc( surf_parse_in )) != EOF && c != '\n'; ++n ) \
3163 buf[n] = (char) c; \
3165 buf[n++] = (char) c; \
3166 if ( c == EOF && ferror( surf_parse_in ) ) \
3167 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3173 while ( (result = fread(buf, 1, max_size, surf_parse_in))==0 && ferror(surf_parse_in)) \
3175 if( errno != EINTR) \
3177 YY_FATAL_ERROR( "input in flex scanner failed" ); \
3181 clearerr(surf_parse_in); \
3188 /* No semi-colon after return; correct usage is to write "yyterminate();" -
3189 * we don't want an extra ';' after the "return" because that will cause
3190 * some compilers to complain about unreachable statements.
3193 #define yyterminate() return YY_NULL
3196 /* Number of entries by which start-condition stack grows. */
3197 #ifndef YY_START_STACK_INCR
3198 #define YY_START_STACK_INCR 25
3201 /* Report a fatal error. */
3202 #ifndef YY_FATAL_ERROR
3203 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3206 /* end tables serialization structures and prototypes */
3208 /* Default declaration of generated scanner - a define so the user can
3209 * easily add parameters.
3212 #define YY_DECL_IS_OURS 1
3214 extern int surf_parse_lex (void);
3216 #define YY_DECL int surf_parse_lex (void)
3217 #endif /* !YY_DECL */
3219 /* Code executed at the beginning of each rule, after surf_parse_text and surf_parse_leng
3222 #ifndef YY_USER_ACTION
3223 #define YY_USER_ACTION
3226 /* Code executed at the end of each rule. */
3228 #define YY_BREAK break;
3231 #define YY_RULE_SETUP \
3234 /** The main scanner function which does all the work.
3238 register yy_state_type yy_current_state;
3239 register char *yy_cp, *yy_bp;
3240 register int yy_act;
3242 /* Bypass Flex's default INITIAL state and begin by parsing the XML prolog. */
3244 reset_surfxml_parse_err_msg();
3245 surfxml_bufferstack = (char *) malloc(FLEXML_BUFFERSTACKSIZE);
3246 assert(surfxml_bufferstack);
3250 for (i = 0; i < blimit; i++) {
3251 surfxml_bufferstack[i] = '\377';
3255 surfxml_bufferstack[0] = '\0';
3256 indexstack = (int *) malloc(FLEXML_INDEXSTACKSIZE * sizeof(int));
3262 surfxml_bufferliteral('\0', &bnext, "0.0");
3263 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3264 surfxml_bufferliteral('\0', &bnext, "http://simgrid.gforge.inria.fr/");
3265 surfxml_bufferliteral('\0', &bnext, "1.0");
3266 surfxml_bufferliteral('\0', &bnext, "1.0");
3267 surfxml_bufferliteral('\0', &bnext, "1.0");
3268 surfxml_bufferliteral('\0', &bnext, "1.0");
3269 surfxml_bufferliteral('\0', &bnext, "-1.0");
3270 surfxml_bufferliteral('\0', &bnext, "0 0 0");
3271 surfxml_bufferliteral('\0', &bnext, "0.0");
3272 surfxml_bufferliteral('\0', &bnext, "-1.0");
3273 surfxml_bufferliteral('\0', &bnext, "-1.0");
3274 if(!surfxml_statenames) {surfxml_statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));
3275 surfxml_statenames[PROLOG] = NULL;
3276 surfxml_statenames[DOCTYPE] = NULL;
3277 surfxml_statenames[EPILOG] = NULL;
3278 surfxml_statenames[INCOMMENT] = NULL;
3279 surfxml_statenames[INPI] = NULL;
3280 surfxml_statenames[VALUE1] = NULL;
3281 surfxml_statenames[VALUE2] = NULL;
3282 surfxml_statenames[CDATA] = NULL;
3283 surfxml_statenames[ROOT_surfxml_platform] = NULL;
3284 surfxml_statenames[AL_surfxml_platform] = NULL;
3285 surfxml_statenames[S_surfxml_platform] = "platform";
3286 surfxml_statenames[S_surfxml_platform_1] = "platform";
3287 surfxml_statenames[S_surfxml_platform_2] = "platform";
3288 surfxml_statenames[S_surfxml_platform_3] = "platform";
3289 surfxml_statenames[S_surfxml_platform_4] = "platform";
3290 surfxml_statenames[S_surfxml_platform_5] = "platform";
3291 surfxml_statenames[S_surfxml_platform_6] = "platform";
3292 surfxml_statenames[S_surfxml_platform_7] = "platform";
3293 surfxml_statenames[S_surfxml_platform_8] = "platform";
3294 surfxml_statenames[E_surfxml_platform] = "platform";
3295 surfxml_statenames[AL_surfxml_trace] = NULL;
3296 surfxml_statenames[IN_trace] = "trace";
3297 surfxml_statenames[AL_surfxml_random] = NULL;
3298 surfxml_statenames[S_surfxml_random] = "random";
3299 surfxml_statenames[S_surfxml_random_1] = "random";
3300 surfxml_statenames[S_surfxml_random_2] = "random";
3301 surfxml_statenames[E_surfxml_random] = "random";
3302 surfxml_statenames[AL_surfxml_trace_c_connect] = NULL;
3303 surfxml_statenames[E_surfxml_trace_c_connect] = "trace:connect";
3304 surfxml_statenames[AL_surfxml_AS] = NULL;
3305 surfxml_statenames[S_surfxml_AS] = "AS";
3306 surfxml_statenames[S_surfxml_AS_1] = "AS";
3307 surfxml_statenames[S_surfxml_AS_2] = "AS";
3308 surfxml_statenames[S_surfxml_AS_3] = "AS";
3309 surfxml_statenames[S_surfxml_AS_4] = "AS";
3310 surfxml_statenames[S_surfxml_AS_5] = "AS";
3311 surfxml_statenames[S_surfxml_AS_6] = "AS";
3312 surfxml_statenames[S_surfxml_AS_7] = "AS";
3313 surfxml_statenames[S_surfxml_AS_8] = "AS";
3314 surfxml_statenames[S_surfxml_AS_9] = "AS";
3315 surfxml_statenames[S_surfxml_AS_10] = "AS";
3316 surfxml_statenames[S_surfxml_AS_11] = "AS";
3317 surfxml_statenames[S_surfxml_AS_12] = "AS";
3318 surfxml_statenames[S_surfxml_AS_13] = "AS";
3319 surfxml_statenames[E_surfxml_AS] = "AS";
3320 surfxml_statenames[AL_surfxml_host] = NULL;
3321 surfxml_statenames[S_surfxml_host] = "host";
3322 surfxml_statenames[S_surfxml_host_1] = "host";
3323 surfxml_statenames[S_surfxml_host_2] = "host";
3324 surfxml_statenames[E_surfxml_host] = "host";
3325 surfxml_statenames[AL_surfxml_cluster] = NULL;
3326 surfxml_statenames[E_surfxml_cluster] = "cluster";
3327 surfxml_statenames[AL_surfxml_router] = NULL;
3328 surfxml_statenames[E_surfxml_router] = "router";
3329 surfxml_statenames[AL_surfxml_link] = NULL;
3330 surfxml_statenames[S_surfxml_link] = "link";
3331 surfxml_statenames[S_surfxml_link_1] = "link";
3332 surfxml_statenames[S_surfxml_link_2] = "link";
3333 surfxml_statenames[E_surfxml_link] = "link";
3334 surfxml_statenames[AL_surfxml_route] = NULL;
3335 surfxml_statenames[S_surfxml_route] = "route";
3336 surfxml_statenames[S_surfxml_route_1] = "route";
3337 surfxml_statenames[S_surfxml_route_2] = "route";
3338 surfxml_statenames[E_surfxml_route] = "route";
3339 surfxml_statenames[AL_surfxml_ASroute] = NULL;
3340 surfxml_statenames[S_surfxml_ASroute] = "ASroute";
3341 surfxml_statenames[S_surfxml_ASroute_1] = "ASroute";
3342 surfxml_statenames[S_surfxml_ASroute_2] = "ASroute";
3343 surfxml_statenames[E_surfxml_ASroute] = "ASroute";
3344 surfxml_statenames[AL_surfxml_link_c_ctn] = NULL;
3345 surfxml_statenames[E_surfxml_link_c_ctn] = "link:ctn";
3346 surfxml_statenames[AL_surfxml_bypassRoute] = NULL;
3347 surfxml_statenames[S_surfxml_bypassRoute] = "bypassRoute";
3348 surfxml_statenames[S_surfxml_bypassRoute_1] = "bypassRoute";
3349 surfxml_statenames[S_surfxml_bypassRoute_2] = "bypassRoute";
3350 surfxml_statenames[E_surfxml_bypassRoute] = "bypassRoute";
3351 surfxml_statenames[AL_surfxml_process] = NULL;
3352 surfxml_statenames[S_surfxml_process] = "process";
3353 surfxml_statenames[S_surfxml_process_1] = "process";
3354 surfxml_statenames[S_surfxml_process_2] = "process";
3355 surfxml_statenames[E_surfxml_process] = "process";
3356 surfxml_statenames[AL_surfxml_argument] = NULL;
3357 surfxml_statenames[E_surfxml_argument] = "argument";
3358 surfxml_statenames[AL_surfxml_prop] = NULL;
3359 surfxml_statenames[E_surfxml_prop] = "prop";
3362 /* COMMENTS and PIs: handled uniformly for efficiency. */
3373 (yy_start) = 1; /* first start state */
3375 if ( ! surf_parse_in )
3376 surf_parse_in = stdin;
3378 if ( ! surf_parse_out )
3379 surf_parse_out = stdout;
3381 if ( ! YY_CURRENT_BUFFER ) {
3382 surf_parse_ensure_buffer_stack ();
3383 YY_CURRENT_BUFFER_LVALUE =
3384 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
3387 surf_parse__load_buffer_state( );
3390 while ( 1 ) /* loops until end-of-file is reached */
3392 yy_cp = (yy_c_buf_p);
3394 /* Support of surf_parse_text. */
3395 *yy_cp = (yy_hold_char);
3397 /* yy_bp points to the position in yy_ch_buf of the start of
3402 yy_current_state = (yy_start);
3406 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3407 if ( yy_accept[yy_current_state] )
3409 (yy_last_accepting_state) = yy_current_state;
3410 (yy_last_accepting_cpos) = yy_cp;
3412 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3414 yy_current_state = (int) yy_def[yy_current_state];
3415 if ( yy_current_state >= 1842 )
3416 yy_c = yy_meta[(unsigned int) yy_c];
3418 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3421 while ( yy_base[yy_current_state] != 6479 );
3424 yy_act = yy_accept[yy_current_state];
3426 { /* have to back up */
3427 yy_cp = (yy_last_accepting_cpos);
3428 yy_current_state = (yy_last_accepting_state);
3429 yy_act = yy_accept[yy_current_state];
3432 YY_DO_BEFORE_ACTION;
3434 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
3437 for ( yyl = 0; yyl < surf_parse_leng; ++yyl )
3438 if ( surf_parse_text[yyl] == '\n' )
3440 surf_parse_lineno++;
3444 do_action: /* This label is used only to access EOF actions. */
3447 { /* beginning of action switch */
3448 case 0: /* must back up */
3449 /* undo the effects of YY_DO_BEFORE_ACTION */
3450 *yy_cp = (yy_hold_char);
3451 yy_cp = (yy_last_accepting_cpos);
3452 yy_current_state = (yy_last_accepting_state);
3453 goto yy_find_action;
3471 /* rule 6 can match eol */
3475 case YY_STATE_EOF(INCOMMENT):
3476 FAIL("EOF in comment.");
3485 /* rule 9 can match eol */
3489 case YY_STATE_EOF(INPI):
3490 FAIL("EOF in PI (processing instruction).");
3493 /* SPACES: skipped uniformly */
3495 /* rule 10 can match eol */
3499 /* PROLOG: determine root element and process it. */
3502 /* rule 11 can match eol */
3507 /* rule 12 can match eol */
3509 FAIL("Bad declaration %s.",surf_parse_text);
3513 /* rule 13 can match eol */
3515 SET(ROOT_surfxml_platform);
3518 /* rule 14 can match eol */
3520 FAIL("Bad declaration %s.",surf_parse_text);
3524 FAIL("Unexpected character `%c' in prolog.", surf_parse_text[0]);
3526 case YY_STATE_EOF(PROLOG):
3527 case YY_STATE_EOF(DOCTYPE):
3528 FAIL("EOF in prolog.");
3531 /* RULES DERIVED FROM DTD. */
3532 /* <!-- Small DTD for SURF based tools. --> */
3534 /* rule 16 can match eol */
3536 FAIL("Starting tag <platform> is not allowed here.");
3539 /* rule 17 can match eol */
3542 AX_surfxml_platform_version = 1;
3543 AX_surfxml_platform_xmlns_c_link = 5;
3544 AX_surfxml_platform_xmlns_c_route = 37;
3545 ENTER(AL_surfxml_platform); pushbuffer(0);
3550 /* rule 18 can match eol */
3552 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_version);
3555 /* rule 19 can match eol */
3557 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_version);
3560 /* rule 20 can match eol */
3562 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3565 /* rule 21 can match eol */
3567 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_link);
3570 /* rule 22 can match eol */
3572 ENTER(VALUE1); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3575 /* rule 23 can match eol */
3577 ENTER(VALUE2); BUFFERSET(AX_surfxml_platform_xmlns_c_route);
3582 LEAVE; STag_surfxml_platform();surfxml_pcdata_ix = 0; ENTER(S_surfxml_platform);
3588 LEAVE; STag_surfxml_platform(); surfxml_pcdata_ix = 0; ETag_surfxml_platform(); popbuffer(); /* attribute */
3590 case ROOT_surfxml_platform: SET(EPILOG); break;
3596 FAIL("Unexpected character `%c' in attribute list of platform element.", surf_parse_text[0]);
3600 FAIL("Bad attribute `%s' in `platform' element start tag.",surf_parse_text);
3602 case YY_STATE_EOF(AL_surfxml_platform):
3603 FAIL("EOF in attribute list of `platform' element.");
3607 /* rule 28 can match eol */
3611 ETag_surfxml_platform();
3612 popbuffer(); /* attribute */
3614 case ROOT_surfxml_platform: SET(EPILOG); break;
3619 /* rule 29 can match eol */
3621 FAIL("Unexpected end-tag `%s': `</platform>' expected.",surf_parse_text);
3625 FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
3627 case YY_STATE_EOF(S_surfxml_platform_8):
3628 case YY_STATE_EOF(S_surfxml_platform_1):
3629 case YY_STATE_EOF(S_surfxml_platform_3):
3630 case YY_STATE_EOF(S_surfxml_platform):
3631 case YY_STATE_EOF(S_surfxml_platform_4):
3632 case YY_STATE_EOF(S_surfxml_platform_6):
3633 case YY_STATE_EOF(E_surfxml_platform):
3634 FAIL("Premature EOF: `</platform>' expected.");
3638 /* rule 31 can match eol */
3640 FAIL("Starting tag <trace> is not allowed here.");
3643 /* rule 32 can match eol */
3646 AX_surfxml_trace_id = 0;
3647 AX_surfxml_trace_file = 0;
3648 AX_surfxml_trace_periodicity = 0;
3649 ENTER(AL_surfxml_trace); pushbuffer(0);
3654 /* rule 33 can match eol */
3656 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_id);
3659 /* rule 34 can match eol */
3661 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_id);
3664 /* rule 35 can match eol */
3666 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_file);
3669 /* rule 36 can match eol */
3671 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_file);
3674 /* rule 37 can match eol */
3676 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_periodicity);
3679 /* rule 38 can match eol */
3681 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_periodicity);
3686 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3687 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3688 LEAVE; STag_surfxml_trace();pushbuffer(surfxml_pcdata_ix); BUFFERSET(surfxml_pcdata_ix);; ENTER(IN_trace);
3694 if (!AX_surfxml_trace_id) FAIL("Required attribute `id' not set for `trace' element.");
3695 if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
3696 LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
3698 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
3699 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3705 FAIL("Unexpected character `%c' in attribute list of trace element.", surf_parse_text[0]);
3709 FAIL("Bad attribute `%s' in `trace' element start tag.",surf_parse_text);
3711 case YY_STATE_EOF(AL_surfxml_trace):
3712 FAIL("EOF in attribute list of `trace' element.");
3716 /* rule 43 can match eol */
3721 ETag_surfxml_trace();
3722 surfxml_pcdata_ix = popbuffer();
3723 popbuffer(); /* attribute */
3725 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
3726 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3731 /* rule 44 can match eol */
3733 FAIL("Unexpected end-tag `%s': `</trace>' expected.",surf_parse_text);
3735 case YY_STATE_EOF(IN_trace):
3736 FAIL("Premature EOF: `</trace>' expected.");
3740 /* rule 45 can match eol */
3742 FAIL("Starting tag <random> is not allowed here.");
3745 /* rule 46 can match eol */
3748 AX_surfxml_random_id = 0;
3749 AX_surfxml_random_min = 0;
3750 AX_surfxml_random_max = 0;
3751 AX_surfxml_random_mean = 0;
3752 AX_surfxml_random_std_deviation = 0;
3753 AX_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3754 ENTER(AL_surfxml_random); pushbuffer(0);
3759 /* rule 47 can match eol */
3761 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_id);
3764 /* rule 48 can match eol */
3766 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_id);
3769 /* rule 49 can match eol */
3771 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_min);
3774 /* rule 50 can match eol */
3776 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_min);
3779 /* rule 51 can match eol */
3781 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_max);
3784 /* rule 52 can match eol */
3786 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_max);
3789 /* rule 53 can match eol */
3791 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_mean);
3794 /* rule 54 can match eol */
3796 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_mean);
3799 /* rule 55 can match eol */
3801 ENTER(VALUE1); BUFFERSET(AX_surfxml_random_std_deviation);
3804 /* rule 56 can match eol */
3806 ENTER(VALUE2); BUFFERSET(AX_surfxml_random_std_deviation);
3809 /* rule 57 can match eol */
3811 /* rule 58 can match eol */
3813 A_surfxml_random_generator = A_surfxml_random_generator_DRAND48;
3816 /* rule 59 can match eol */
3818 /* rule 60 can match eol */
3820 A_surfxml_random_generator = A_surfxml_random_generator_RAND;
3825 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
3826 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
3827 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
3828 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
3829 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
3830 LEAVE; STag_surfxml_random();surfxml_pcdata_ix = 0; ENTER(S_surfxml_random);
3836 if (!AX_surfxml_random_id) FAIL("Required attribute `id' not set for `random' element.");
3837 if (!AX_surfxml_random_min) FAIL("Required attribute `min' not set for `random' element.");
3838 if (!AX_surfxml_random_max) FAIL("Required attribute `max' not set for `random' element.");
3839 if (!AX_surfxml_random_mean) FAIL("Required attribute `mean' not set for `random' element.");
3840 if (!AX_surfxml_random_std_deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
3841 LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
3843 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
3844 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3850 FAIL("Unexpected character `%c' in attribute list of random element.", surf_parse_text[0]);
3854 FAIL("Bad attribute `%s' in `random' element start tag.",surf_parse_text);
3856 case YY_STATE_EOF(AL_surfxml_random):
3857 FAIL("EOF in attribute list of `random' element.");
3861 /* rule 65 can match eol */
3865 ETag_surfxml_random();
3866 popbuffer(); /* attribute */
3868 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
3869 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3874 /* rule 66 can match eol */
3876 FAIL("Unexpected end-tag `%s': `</random>' expected.",surf_parse_text);
3880 FAIL("Unexpected character `%c': `</random>' expected.",surf_parse_text[0]);
3882 case YY_STATE_EOF(S_surfxml_random_2):
3883 case YY_STATE_EOF(S_surfxml_random):
3884 case YY_STATE_EOF(E_surfxml_random):
3885 FAIL("Premature EOF: `</random>' expected.");
3889 /* rule 68 can match eol */
3891 FAIL("Starting tag <trace:connect> is not allowed here.");
3894 /* rule 69 can match eol */
3897 AX_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
3898 AX_surfxml_trace_c_connect_trace = 0;
3899 AX_surfxml_trace_c_connect_element = 0;
3900 ENTER(AL_surfxml_trace_c_connect); pushbuffer(0);
3905 /* rule 70 can match eol */
3907 /* rule 71 can match eol */
3909 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_HOST_AVAIL;
3912 /* rule 72 can match eol */
3914 /* rule 73 can match eol */
3916 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_POWER;
3919 /* rule 74 can match eol */
3921 /* rule 75 can match eol */
3923 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LINK_AVAIL;
3926 /* rule 76 can match eol */
3928 /* rule 77 can match eol */
3930 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_BANDWIDTH;
3933 /* rule 78 can match eol */
3935 /* rule 79 can match eol */
3937 A_surfxml_trace_c_connect_kind = A_surfxml_trace_c_connect_kind_LATENCY;
3940 /* rule 80 can match eol */
3942 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_trace);
3945 /* rule 81 can match eol */
3947 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_trace);
3950 /* rule 82 can match eol */
3952 ENTER(VALUE1); BUFFERSET(AX_surfxml_trace_c_connect_element);
3955 /* rule 83 can match eol */
3957 ENTER(VALUE2); BUFFERSET(AX_surfxml_trace_c_connect_element);
3962 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
3963 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
3964 LEAVE; STag_surfxml_trace_c_connect();surfxml_pcdata_ix = 0; ENTER(E_surfxml_trace_c_connect);
3970 if (!AX_surfxml_trace_c_connect_trace) FAIL("Required attribute `trace' not set for `trace:connect' element.");
3971 if (!AX_surfxml_trace_c_connect_element) FAIL("Required attribute `element' not set for `trace:connect' element.");
3972 LEAVE; STag_surfxml_trace_c_connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace_c_connect(); popbuffer(); /* attribute */
3974 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
3975 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
3976 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
3982 FAIL("Unexpected character `%c' in attribute list of trace:connect element.", surf_parse_text[0]);
3986 FAIL("Bad attribute `%s' in `trace:connect' element start tag.",surf_parse_text);
3988 case YY_STATE_EOF(AL_surfxml_trace_c_connect):
3989 FAIL("EOF in attribute list of `trace:connect' element.");
3993 /* rule 88 can match eol */
3997 ETag_surfxml_trace_c_connect();
3998 popbuffer(); /* attribute */
4000 case S_surfxml_platform_5: SET(S_surfxml_platform_6); break;
4001 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4002 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4007 /* rule 89 can match eol */
4009 FAIL("Unexpected end-tag `%s': `</trace:connect>' expected.",surf_parse_text);
4013 FAIL("Unexpected character `%c': `</trace:connect>' expected.",surf_parse_text[0]);
4015 case YY_STATE_EOF(E_surfxml_trace_c_connect):
4016 FAIL("Premature EOF: `</trace:connect>' expected.");
4020 /* rule 91 can match eol */
4022 FAIL("Starting tag <AS> is not allowed here.");
4025 /* rule 92 can match eol */
4028 AX_surfxml_AS_id = 0;
4029 AX_surfxml_AS_routing = 0;
4030 ENTER(AL_surfxml_AS); pushbuffer(0);
4035 /* rule 93 can match eol */
4037 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_id);
4040 /* rule 94 can match eol */
4042 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_id);
4045 /* rule 95 can match eol */
4047 ENTER(VALUE1); BUFFERSET(AX_surfxml_AS_routing);
4050 /* rule 96 can match eol */
4052 ENTER(VALUE2); BUFFERSET(AX_surfxml_AS_routing);
4057 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4058 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4059 LEAVE; STag_surfxml_AS();surfxml_pcdata_ix = 0; ENTER(S_surfxml_AS);
4065 if (!AX_surfxml_AS_id) FAIL("Required attribute `id' not set for `AS' element.");
4066 if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
4067 LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
4069 case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
4070 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4071 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4077 FAIL("Unexpected character `%c' in attribute list of AS element.", surf_parse_text[0]);
4081 FAIL("Bad attribute `%s' in `AS' element start tag.",surf_parse_text);
4083 case YY_STATE_EOF(AL_surfxml_AS):
4084 FAIL("EOF in attribute list of `AS' element.");
4088 /* rule 101 can match eol */
4093 popbuffer(); /* attribute */
4095 case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
4096 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4097 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4102 /* rule 102 can match eol */
4104 FAIL("Unexpected end-tag `%s': `</AS>' expected.",surf_parse_text);
4108 FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
4110 case YY_STATE_EOF(S_surfxml_AS_1):
4111 case YY_STATE_EOF(S_surfxml_AS_9):
4112 case YY_STATE_EOF(S_surfxml_AS_11):
4113 case YY_STATE_EOF(S_surfxml_AS_6):
4114 case YY_STATE_EOF(E_surfxml_AS):
4115 case YY_STATE_EOF(S_surfxml_AS_3):
4116 case YY_STATE_EOF(S_surfxml_AS_13):
4117 case YY_STATE_EOF(S_surfxml_AS_8):
4118 case YY_STATE_EOF(S_surfxml_AS):
4119 case YY_STATE_EOF(S_surfxml_AS_4):
4120 FAIL("Premature EOF: `</AS>' expected.");
4124 /* rule 104 can match eol */
4126 FAIL("Starting tag <host> is not allowed here.");
4129 /* rule 105 can match eol */
4132 AX_surfxml_host_id = 0;
4133 AX_surfxml_host_power = 0;
4134 AX_surfxml_host_availability = 69;
4135 AX_surfxml_host_availability_file = 0;
4136 AX_surfxml_host_state = A_surfxml_host_state_ON;
4137 AX_surfxml_host_state_file = 0;
4138 AX_surfxml_host_interference_send = 73;
4139 AX_surfxml_host_interference_recv = 77;
4140 AX_surfxml_host_interference_send_recv = 81;
4141 AX_surfxml_host_max_outgoing_rate = 85;
4142 AX_surfxml_host_vivaldi = 90;
4143 ENTER(AL_surfxml_host); pushbuffer(0);
4148 /* rule 106 can match eol */
4150 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_id);
4153 /* rule 107 can match eol */
4155 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_id);
4158 /* rule 108 can match eol */
4160 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_power);
4163 /* rule 109 can match eol */
4165 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_power);
4168 /* rule 110 can match eol */
4170 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability);
4173 /* rule 111 can match eol */
4175 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability);
4178 /* rule 112 can match eol */
4180 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_availability_file);
4183 /* rule 113 can match eol */
4185 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_availability_file);
4188 /* rule 114 can match eol */
4190 /* rule 115 can match eol */
4192 A_surfxml_host_state = A_surfxml_host_state_ON;
4195 /* rule 116 can match eol */
4197 /* rule 117 can match eol */
4199 A_surfxml_host_state = A_surfxml_host_state_OFF;
4202 /* rule 118 can match eol */
4204 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_state_file);
4207 /* rule 119 can match eol */
4209 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_state_file);
4212 /* rule 120 can match eol */
4214 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send);
4217 /* rule 121 can match eol */
4219 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send);
4222 /* rule 122 can match eol */
4224 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_recv);
4227 /* rule 123 can match eol */
4229 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_recv);
4232 /* rule 124 can match eol */
4234 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_interference_send_recv);
4237 /* rule 125 can match eol */
4239 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_interference_send_recv);
4242 /* rule 126 can match eol */
4244 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4247 /* rule 127 can match eol */
4249 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_max_outgoing_rate);
4252 /* rule 128 can match eol */
4254 ENTER(VALUE1); BUFFERSET(AX_surfxml_host_vivaldi);
4257 /* rule 129 can match eol */
4259 ENTER(VALUE2); BUFFERSET(AX_surfxml_host_vivaldi);
4264 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4265 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4266 LEAVE; STag_surfxml_host();surfxml_pcdata_ix = 0; ENTER(S_surfxml_host);
4272 if (!AX_surfxml_host_id) FAIL("Required attribute `id' not set for `host' element.");
4273 if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
4274 LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
4276 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4277 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4283 FAIL("Unexpected character `%c' in attribute list of host element.", surf_parse_text[0]);
4287 FAIL("Bad attribute `%s' in `host' element start tag.",surf_parse_text);
4289 case YY_STATE_EOF(AL_surfxml_host):
4290 FAIL("EOF in attribute list of `host' element.");
4294 /* rule 134 can match eol */
4298 ETag_surfxml_host();
4299 popbuffer(); /* attribute */
4301 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4302 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4307 /* rule 135 can match eol */
4309 FAIL("Unexpected end-tag `%s': `</host>' expected.",surf_parse_text);
4313 FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
4315 case YY_STATE_EOF(S_surfxml_host):
4316 case YY_STATE_EOF(E_surfxml_host):
4317 case YY_STATE_EOF(S_surfxml_host_2):
4318 FAIL("Premature EOF: `</host>' expected.");
4322 /* rule 137 can match eol */
4324 FAIL("Starting tag <cluster> is not allowed here.");
4327 /* rule 138 can match eol */
4330 AX_surfxml_cluster_id = 0;
4331 AX_surfxml_cluster_prefix = 0;
4332 AX_surfxml_cluster_suffix = 0;
4333 AX_surfxml_cluster_radical = 0;
4334 AX_surfxml_cluster_power = 0;
4335 AX_surfxml_cluster_bw = 0;
4336 AX_surfxml_cluster_lat = 0;
4337 AX_surfxml_cluster_bb_bw = 0;
4338 AX_surfxml_cluster_bb_lat = 0;
4339 ENTER(AL_surfxml_cluster); pushbuffer(0);
4344 /* rule 139 can match eol */
4346 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_id);
4349 /* rule 140 can match eol */
4351 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_id);
4354 /* rule 141 can match eol */
4356 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_prefix);
4359 /* rule 142 can match eol */
4361 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_prefix);
4364 /* rule 143 can match eol */
4366 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_suffix);
4369 /* rule 144 can match eol */
4371 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_suffix);
4374 /* rule 145 can match eol */
4376 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_radical);
4379 /* rule 146 can match eol */
4381 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_radical);
4384 /* rule 147 can match eol */
4386 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_power);
4389 /* rule 148 can match eol */
4391 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_power);
4394 /* rule 149 can match eol */
4396 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bw);
4399 /* rule 150 can match eol */
4401 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bw);
4404 /* rule 151 can match eol */
4406 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_lat);
4409 /* rule 152 can match eol */
4411 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_lat);
4414 /* rule 153 can match eol */
4416 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_bw);
4419 /* rule 154 can match eol */
4421 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_bw);
4424 /* rule 155 can match eol */
4426 ENTER(VALUE1); BUFFERSET(AX_surfxml_cluster_bb_lat);
4429 /* rule 156 can match eol */
4431 ENTER(VALUE2); BUFFERSET(AX_surfxml_cluster_bb_lat);
4436 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4437 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4438 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4439 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4440 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4441 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4442 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4443 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4444 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4445 LEAVE; STag_surfxml_cluster();surfxml_pcdata_ix = 0; ENTER(E_surfxml_cluster);
4451 if (!AX_surfxml_cluster_id) FAIL("Required attribute `id' not set for `cluster' element.");
4452 if (!AX_surfxml_cluster_prefix) FAIL("Required attribute `prefix' not set for `cluster' element.");
4453 if (!AX_surfxml_cluster_suffix) FAIL("Required attribute `suffix' not set for `cluster' element.");
4454 if (!AX_surfxml_cluster_radical) FAIL("Required attribute `radical' not set for `cluster' element.");
4455 if (!AX_surfxml_cluster_power) FAIL("Required attribute `power' not set for `cluster' element.");
4456 if (!AX_surfxml_cluster_bw) FAIL("Required attribute `bw' not set for `cluster' element.");
4457 if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
4458 if (!AX_surfxml_cluster_bb_bw) FAIL("Required attribute `bb_bw' not set for `cluster' element.");
4459 if (!AX_surfxml_cluster_bb_lat) FAIL("Required attribute `bb_lat' not set for `cluster' element.");
4460 LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
4462 case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
4463 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4464 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4470 FAIL("Unexpected character `%c' in attribute list of cluster element.", surf_parse_text[0]);
4474 FAIL("Bad attribute `%s' in `cluster' element start tag.",surf_parse_text);
4476 case YY_STATE_EOF(AL_surfxml_cluster):
4477 FAIL("EOF in attribute list of `cluster' element.");
4481 /* rule 161 can match eol */
4485 ETag_surfxml_cluster();
4486 popbuffer(); /* attribute */
4488 case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
4489 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4490 case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
4495 /* rule 162 can match eol */
4497 FAIL("Unexpected end-tag `%s': `</cluster>' expected.",surf_parse_text);
4501 FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
4503 case YY_STATE_EOF(E_surfxml_cluster):
4504 FAIL("Premature EOF: `</cluster>' expected.");
4508 /* rule 164 can match eol */
4510 FAIL("Starting tag <router> is not allowed here.");
4513 /* rule 165 can match eol */
4516 AX_surfxml_router_id = 0;
4517 ENTER(AL_surfxml_router); pushbuffer(0);
4522 /* rule 166 can match eol */
4524 ENTER(VALUE1); BUFFERSET(AX_surfxml_router_id);
4527 /* rule 167 can match eol */
4529 ENTER(VALUE2); BUFFERSET(AX_surfxml_router_id);
4534 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4535 LEAVE; STag_surfxml_router();surfxml_pcdata_ix = 0; ENTER(E_surfxml_router);
4541 if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
4542 LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
4544 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4545 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4551 FAIL("Unexpected character `%c' in attribute list of router element.", surf_parse_text[0]);
4555 FAIL("Bad attribute `%s' in `router' element start tag.",surf_parse_text);
4557 case YY_STATE_EOF(AL_surfxml_router):
4558 FAIL("EOF in attribute list of `router' element.");
4562 /* rule 172 can match eol */
4566 ETag_surfxml_router();
4567 popbuffer(); /* attribute */
4569 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4570 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4575 /* rule 173 can match eol */
4577 FAIL("Unexpected end-tag `%s': `</router>' expected.",surf_parse_text);
4581 FAIL("Unexpected character `%c': `</router>' expected.",surf_parse_text[0]);
4583 case YY_STATE_EOF(E_surfxml_router):
4584 FAIL("Premature EOF: `</router>' expected.");
4588 /* rule 175 can match eol */
4590 FAIL("Starting tag <link> is not allowed here.");
4593 /* rule 176 can match eol */
4596 AX_surfxml_link_id = 0;
4597 AX_surfxml_link_bandwidth = 0;
4598 AX_surfxml_link_bandwidth_file = 0;
4599 AX_surfxml_link_latency = 96;
4600 AX_surfxml_link_latency_file = 0;
4601 AX_surfxml_link_state = A_surfxml_link_state_ON;
4602 AX_surfxml_link_state_file = 0;
4603 AX_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4604 ENTER(AL_surfxml_link); pushbuffer(0);
4609 /* rule 177 can match eol */
4611 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_id);
4614 /* rule 178 can match eol */
4616 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_id);
4619 /* rule 179 can match eol */
4621 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth);
4624 /* rule 180 can match eol */
4626 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth);
4629 /* rule 181 can match eol */
4631 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_bandwidth_file);
4634 /* rule 182 can match eol */
4636 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_bandwidth_file);
4639 /* rule 183 can match eol */
4641 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency);
4644 /* rule 184 can match eol */
4646 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency);
4649 /* rule 185 can match eol */
4651 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_latency_file);
4654 /* rule 186 can match eol */
4656 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_latency_file);
4659 /* rule 187 can match eol */
4661 /* rule 188 can match eol */
4663 A_surfxml_link_state = A_surfxml_link_state_ON;
4666 /* rule 189 can match eol */
4668 /* rule 190 can match eol */
4670 A_surfxml_link_state = A_surfxml_link_state_OFF;
4673 /* rule 191 can match eol */
4675 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_state_file);
4678 /* rule 192 can match eol */
4680 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_state_file);
4683 /* rule 193 can match eol */
4685 /* rule 194 can match eol */
4687 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_SHARED;
4690 /* rule 195 can match eol */
4692 /* rule 196 can match eol */
4694 A_surfxml_link_sharing_policy = A_surfxml_link_sharing_policy_FATPIPE;
4699 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
4700 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
4701 LEAVE; STag_surfxml_link();surfxml_pcdata_ix = 0; ENTER(S_surfxml_link);
4707 if (!AX_surfxml_link_id) FAIL("Required attribute `id' not set for `link' element.");
4708 if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
4709 LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
4711 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4712 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4713 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4719 FAIL("Unexpected character `%c' in attribute list of link element.", surf_parse_text[0]);
4723 FAIL("Bad attribute `%s' in `link' element start tag.",surf_parse_text);
4725 case YY_STATE_EOF(AL_surfxml_link):
4726 FAIL("EOF in attribute list of `link' element.");
4730 /* rule 201 can match eol */
4734 ETag_surfxml_link();
4735 popbuffer(); /* attribute */
4737 case S_surfxml_AS_11: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
4738 case S_surfxml_AS_2: case S_surfxml_AS_3: SET(S_surfxml_AS_3); break;
4739 case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
4744 /* rule 202 can match eol */
4746 FAIL("Unexpected end-tag `%s': `</link>' expected.",surf_parse_text);
4750 FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
4752 case YY_STATE_EOF(E_surfxml_link):
4753 case YY_STATE_EOF(S_surfxml_link_2):
4754 case YY_STATE_EOF(S_surfxml_link):
4755 FAIL("Premature EOF: `</link>' expected.");
4759 /* rule 204 can match eol */
4761 FAIL("Starting tag <route> is not allowed here.");
4764 /* rule 205 can match eol */
4767 AX_surfxml_route_src = 0;
4768 AX_surfxml_route_dst = 0;
4769 ENTER(AL_surfxml_route); pushbuffer(0);
4774 /* rule 206 can match eol */
4776 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_src);
4779 /* rule 207 can match eol */
4781 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_src);
4784 /* rule 208 can match eol */
4786 ENTER(VALUE1); BUFFERSET(AX_surfxml_route_dst);
4789 /* rule 209 can match eol */
4791 ENTER(VALUE2); BUFFERSET(AX_surfxml_route_dst);
4796 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
4797 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
4798 LEAVE; STag_surfxml_route();surfxml_pcdata_ix = 0; ENTER(S_surfxml_route);
4804 if (!AX_surfxml_route_src) FAIL("Required attribute `src' not set for `route' element.");
4805 if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
4806 LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
4808 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4809 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
4815 FAIL("Unexpected character `%c' in attribute list of route element.", surf_parse_text[0]);
4819 FAIL("Bad attribute `%s' in `route' element start tag.",surf_parse_text);
4821 case YY_STATE_EOF(AL_surfxml_route):
4822 FAIL("EOF in attribute list of `route' element.");
4826 /* rule 214 can match eol */
4830 ETag_surfxml_route();
4831 popbuffer(); /* attribute */
4833 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
4834 case S_surfxml_AS_12: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_13); break;
4839 /* rule 215 can match eol */
4841 FAIL("Unexpected end-tag `%s': `</route>' expected.",surf_parse_text);
4845 FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
4847 case YY_STATE_EOF(S_surfxml_route):
4848 case YY_STATE_EOF(S_surfxml_route_2):
4849 case YY_STATE_EOF(E_surfxml_route):
4850 FAIL("Premature EOF: `</route>' expected.");
4854 /* rule 217 can match eol */
4856 FAIL("Starting tag <ASroute> is not allowed here.");
4859 /* rule 218 can match eol */
4862 AX_surfxml_ASroute_src = 0;
4863 AX_surfxml_ASroute_dst = 0;
4864 AX_surfxml_ASroute_gw_src = 0;
4865 AX_surfxml_ASroute_gw_dst = 0;
4866 ENTER(AL_surfxml_ASroute); pushbuffer(0);
4871 /* rule 219 can match eol */
4873 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_src);
4876 /* rule 220 can match eol */
4878 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_src);
4881 /* rule 221 can match eol */
4883 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_dst);
4886 /* rule 222 can match eol */
4888 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_dst);
4891 /* rule 223 can match eol */
4893 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_src);
4896 /* rule 224 can match eol */
4898 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_src);
4901 /* rule 225 can match eol */
4903 ENTER(VALUE1); BUFFERSET(AX_surfxml_ASroute_gw_dst);
4906 /* rule 226 can match eol */
4908 ENTER(VALUE2); BUFFERSET(AX_surfxml_ASroute_gw_dst);
4913 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
4914 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
4915 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
4916 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
4917 LEAVE; STag_surfxml_ASroute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_ASroute);
4923 if (!AX_surfxml_ASroute_src) FAIL("Required attribute `src' not set for `ASroute' element.");
4924 if (!AX_surfxml_ASroute_dst) FAIL("Required attribute `dst' not set for `ASroute' element.");
4925 if (!AX_surfxml_ASroute_gw_src) FAIL("Required attribute `gw_src' not set for `ASroute' element.");
4926 if (!AX_surfxml_ASroute_gw_dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
4927 LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
4929 case S_surfxml_AS_1: case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_6); break;
4935 FAIL("Unexpected character `%c' in attribute list of ASroute element.", surf_parse_text[0]);
4939 FAIL("Bad attribute `%s' in `ASroute' element start tag.",surf_parse_text);
4941 case YY_STATE_EOF(AL_surfxml_ASroute):
4942 FAIL("EOF in attribute list of `ASroute' element.");
4946 /* rule 231 can match eol */
4950 ETag_surfxml_ASroute();
4951 popbuffer(); /* attribute */
4953 case S_surfxml_AS_1: case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_6); break;
4958 /* rule 232 can match eol */
4960 FAIL("Unexpected end-tag `%s': `</ASroute>' expected.",surf_parse_text);
4964 FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
4966 case YY_STATE_EOF(E_surfxml_ASroute):
4967 case YY_STATE_EOF(S_surfxml_ASroute):
4968 case YY_STATE_EOF(S_surfxml_ASroute_2):
4969 FAIL("Premature EOF: `</ASroute>' expected.");
4973 /* rule 234 can match eol */
4975 FAIL("Starting tag <link:ctn> is not allowed here.");
4978 /* rule 235 can match eol */
4981 AX_surfxml_link_c_ctn_id = 0;
4982 ENTER(AL_surfxml_link_c_ctn); pushbuffer(0);
4987 /* rule 236 can match eol */
4989 ENTER(VALUE1); BUFFERSET(AX_surfxml_link_c_ctn_id);
4992 /* rule 237 can match eol */
4994 ENTER(VALUE2); BUFFERSET(AX_surfxml_link_c_ctn_id);
4999 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5000 LEAVE; STag_surfxml_link_c_ctn();surfxml_pcdata_ix = 0; ENTER(E_surfxml_link_c_ctn);
5006 if (!AX_surfxml_link_c_ctn_id) FAIL("Required attribute `id' not set for `link:ctn' element.");
5007 LEAVE; STag_surfxml_link_c_ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link_c_ctn(); popbuffer(); /* attribute */
5009 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5010 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5011 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5017 FAIL("Unexpected character `%c' in attribute list of link:ctn element.", surf_parse_text[0]);
5021 FAIL("Bad attribute `%s' in `link:ctn' element start tag.",surf_parse_text);
5023 case YY_STATE_EOF(AL_surfxml_link_c_ctn):
5024 FAIL("EOF in attribute list of `link:ctn' element.");
5028 /* rule 242 can match eol */
5032 ETag_surfxml_link_c_ctn();
5033 popbuffer(); /* attribute */
5035 case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
5036 case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
5037 case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
5042 /* rule 243 can match eol */
5044 FAIL("Unexpected end-tag `%s': `</link:ctn>' expected.",surf_parse_text);
5048 FAIL("Unexpected character `%c': `</link:ctn>' expected.",surf_parse_text[0]);
5050 case YY_STATE_EOF(E_surfxml_link_c_ctn):
5051 FAIL("Premature EOF: `</link:ctn>' expected.");
5055 /* rule 245 can match eol */
5057 FAIL("Starting tag <bypassRoute> is not allowed here.");
5060 /* rule 246 can match eol */
5063 AX_surfxml_bypassRoute_src = 0;
5064 AX_surfxml_bypassRoute_dst = 0;
5065 AX_surfxml_bypassRoute_gw_src = 0;
5066 AX_surfxml_bypassRoute_gw_dst = 0;
5067 ENTER(AL_surfxml_bypassRoute); pushbuffer(0);
5072 /* rule 247 can match eol */
5074 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_src);
5077 /* rule 248 can match eol */
5079 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_src);
5082 /* rule 249 can match eol */
5084 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_dst);
5087 /* rule 250 can match eol */
5089 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_dst);
5092 /* rule 251 can match eol */
5094 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5097 /* rule 252 can match eol */
5099 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_src);
5102 /* rule 253 can match eol */
5104 ENTER(VALUE1); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5107 /* rule 254 can match eol */
5109 ENTER(VALUE2); BUFFERSET(AX_surfxml_bypassRoute_gw_dst);
5114 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5115 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5116 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5117 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5118 LEAVE; STag_surfxml_bypassRoute();surfxml_pcdata_ix = 0; ENTER(S_surfxml_bypassRoute);
5124 if (!AX_surfxml_bypassRoute_src) FAIL("Required attribute `src' not set for `bypassRoute' element.");
5125 if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
5126 if (!AX_surfxml_bypassRoute_gw_src) FAIL("Required attribute `gw_src' not set for `bypassRoute' element.");
5127 if (!AX_surfxml_bypassRoute_gw_dst) FAIL("Required attribute `gw_dst' not set for `bypassRoute' element.");
5128 LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
5130 case S_surfxml_AS_1: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: SET(S_surfxml_AS_8); break;
5136 FAIL("Unexpected character `%c' in attribute list of bypassRoute element.", surf_parse_text[0]);
5140 FAIL("Bad attribute `%s' in `bypassRoute' element start tag.",surf_parse_text);
5142 case YY_STATE_EOF(AL_surfxml_bypassRoute):
5143 FAIL("EOF in attribute list of `bypassRoute' element.");
5147 /* rule 259 can match eol */
5151 ETag_surfxml_bypassRoute();
5152 popbuffer(); /* attribute */
5154 case S_surfxml_AS_1: case S_surfxml_AS_7: case S_surfxml_AS_6: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_8: case S_surfxml_AS_4: SET(S_surfxml_AS_8); break;
5159 /* rule 260 can match eol */
5161 FAIL("Unexpected end-tag `%s': `</bypassRoute>' expected.",surf_parse_text);
5165 FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
5167 case YY_STATE_EOF(S_surfxml_bypassRoute):
5168 case YY_STATE_EOF(S_surfxml_bypassRoute_2):
5169 case YY_STATE_EOF(E_surfxml_bypassRoute):
5170 FAIL("Premature EOF: `</bypassRoute>' expected.");
5174 /* rule 262 can match eol */
5176 FAIL("Starting tag <process> is not allowed here.");
5179 /* rule 263 can match eol */
5182 AX_surfxml_process_host = 0;
5183 AX_surfxml_process_function = 0;
5184 AX_surfxml_process_start_time = 100;
5185 AX_surfxml_process_kill_time = 105;
5186 ENTER(AL_surfxml_process); pushbuffer(0);
5191 /* rule 264 can match eol */
5193 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_host);
5196 /* rule 265 can match eol */
5198 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_host);
5201 /* rule 266 can match eol */
5203 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_function);
5206 /* rule 267 can match eol */
5208 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_function);
5211 /* rule 268 can match eol */
5213 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_start_time);
5216 /* rule 269 can match eol */
5218 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_start_time);
5221 /* rule 270 can match eol */
5223 ENTER(VALUE1); BUFFERSET(AX_surfxml_process_kill_time);
5226 /* rule 271 can match eol */
5228 ENTER(VALUE2); BUFFERSET(AX_surfxml_process_kill_time);
5233 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5234 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5235 LEAVE; STag_surfxml_process();surfxml_pcdata_ix = 0; ENTER(S_surfxml_process);
5241 if (!AX_surfxml_process_host) FAIL("Required attribute `host' not set for `process' element.");
5242 if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
5243 LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
5245 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
5251 FAIL("Unexpected character `%c' in attribute list of process element.", surf_parse_text[0]);
5255 FAIL("Bad attribute `%s' in `process' element start tag.",surf_parse_text);
5257 case YY_STATE_EOF(AL_surfxml_process):
5258 FAIL("EOF in attribute list of `process' element.");
5262 /* rule 276 can match eol */
5266 ETag_surfxml_process();
5267 popbuffer(); /* attribute */
5269 case S_surfxml_platform_1: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_8: case S_surfxml_platform_7: case S_surfxml_platform_3: case S_surfxml_platform_4: SET(S_surfxml_platform_8); break;
5274 /* rule 277 can match eol */
5276 FAIL("Unexpected end-tag `%s': `</process>' expected.",surf_parse_text);
5280 FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
5282 case YY_STATE_EOF(E_surfxml_process):
5283 case YY_STATE_EOF(S_surfxml_process):
5284 case YY_STATE_EOF(S_surfxml_process_2):
5285 FAIL("Premature EOF: `</process>' expected.");
5289 /* rule 279 can match eol */
5291 FAIL("Starting tag <argument> is not allowed here.");
5294 /* rule 280 can match eol */
5297 AX_surfxml_argument_value = 0;
5298 ENTER(AL_surfxml_argument); pushbuffer(0);
5303 /* rule 281 can match eol */
5305 ENTER(VALUE1); BUFFERSET(AX_surfxml_argument_value);
5308 /* rule 282 can match eol */
5310 ENTER(VALUE2); BUFFERSET(AX_surfxml_argument_value);
5315 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5316 LEAVE; STag_surfxml_argument();surfxml_pcdata_ix = 0; ENTER(E_surfxml_argument);
5322 if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
5323 LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
5325 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5331 FAIL("Unexpected character `%c' in attribute list of argument element.", surf_parse_text[0]);
5335 FAIL("Bad attribute `%s' in `argument' element start tag.",surf_parse_text);
5337 case YY_STATE_EOF(AL_surfxml_argument):
5338 FAIL("EOF in attribute list of `argument' element.");
5342 /* rule 287 can match eol */
5346 ETag_surfxml_argument();
5347 popbuffer(); /* attribute */
5349 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5354 /* rule 288 can match eol */
5356 FAIL("Unexpected end-tag `%s': `</argument>' expected.",surf_parse_text);
5360 FAIL("Unexpected character `%c': `</argument>' expected.",surf_parse_text[0]);
5362 case YY_STATE_EOF(E_surfxml_argument):
5363 FAIL("Premature EOF: `</argument>' expected.");
5366 /* <!-- <!ATTLIST prop key CDATA #REQUIRED> -->
5367 * <!-- <!ATTLIST prop key CDATA #REQUIRED> --> */
5369 /* rule 290 can match eol */
5371 FAIL("Starting tag <prop> is not allowed here.");
5374 /* rule 291 can match eol */
5377 AX_surfxml_prop_id = 0;
5378 AX_surfxml_prop_value = 0;
5379 ENTER(AL_surfxml_prop); pushbuffer(0);
5384 /* rule 292 can match eol */
5386 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_id);
5389 /* rule 293 can match eol */
5391 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_id);
5394 /* rule 294 can match eol */
5396 ENTER(VALUE1); BUFFERSET(AX_surfxml_prop_value);
5399 /* rule 295 can match eol */
5401 ENTER(VALUE2); BUFFERSET(AX_surfxml_prop_value);
5406 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
5407 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
5408 LEAVE; STag_surfxml_prop();surfxml_pcdata_ix = 0; ENTER(E_surfxml_prop);
5414 if (!AX_surfxml_prop_id) FAIL("Required attribute `id' not set for `prop' element.");
5415 if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
5416 LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
5418 case S_surfxml_random_2: case S_surfxml_random: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
5419 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5420 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
5421 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
5427 FAIL("Unexpected character `%c' in attribute list of prop element.", surf_parse_text[0]);
5431 FAIL("Bad attribute `%s' in `prop' element start tag.",surf_parse_text);
5433 case YY_STATE_EOF(AL_surfxml_prop):
5434 FAIL("EOF in attribute list of `prop' element.");
5438 /* rule 300 can match eol */
5442 ETag_surfxml_prop();
5443 popbuffer(); /* attribute */
5445 case S_surfxml_random_2: case S_surfxml_random: case S_surfxml_random_1: SET(S_surfxml_random_2); break;
5446 case S_surfxml_process_1: case S_surfxml_process: case S_surfxml_process_2: SET(S_surfxml_process_2); break;
5447 case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
5448 case S_surfxml_link_1: case S_surfxml_link_2: case S_surfxml_link: SET(S_surfxml_link_2); break;
5453 /* rule 301 can match eol */
5455 FAIL("Unexpected end-tag `%s': `</prop>' expected.",surf_parse_text);
5459 FAIL("Unexpected character `%c': `</prop>' expected.",surf_parse_text[0]);
5461 case YY_STATE_EOF(E_surfxml_prop):
5462 FAIL("Premature EOF: `</prop>' expected.");
5465 /* EPILOG: after the root element. */
5469 {SET(PROLOG); yyless(0); CLEANUP; return -1;}
5471 case YY_STATE_EOF(EPILOG):
5475 /* CHARACTER DATA. */
5477 /* Non-defined standard entities... */
5498 /* Character entities. */
5501 BUFFERPUTC((unsigned char)atoi(surf_parse_text+2));
5505 BUFFERPUTC((unsigned char)strtol(surf_parse_text+3,NULL,16));
5509 /* rule 311 can match eol */
5511 /* rule 312 can match eol */
5513 /* rule 313 can match eol */
5515 /* rule 314 can match eol */
5526 FAIL("Unexpected `]""]>' in character data.");
5533 case YY_STATE_EOF(VALUE1):
5534 FAIL("EOF in literal (\"'\" expected).");
5541 case YY_STATE_EOF(VALUE2):
5542 FAIL("EOF in literal (`\"' expected).");
5546 /* rule 319 can match eol */
5548 BUFFERPUTC(surf_parse_text[0]);
5552 FAIL("Spurious `%c' in character data.",surf_parse_text[0]);
5559 /* "]""]" BUFFERPUTC(surf_parse_text[0]); BUFFERPUTC(surf_parse_text[1]); */
5562 BUFFERPUTC(surf_parse_text[0]);
5564 case YY_STATE_EOF(CDATA):
5565 FAIL("EOF in CDATA section.");
5568 /* Impossible rules to avoid warnings from flex(1). */
5569 /* Ideally, this should be replaced by code in flexml.pl that
5570 generates just the states not covered by other rules. */
5573 /* rule 323 can match eol */
5575 FAIL("Syntax error on character `%c'.", surf_parse_text[0]);
5582 case YY_STATE_EOF(INITIAL):
5583 case YY_STATE_EOF(ROOT_surfxml_platform):
5584 case YY_STATE_EOF(S_surfxml_platform_2):
5585 case YY_STATE_EOF(S_surfxml_platform_5):
5586 case YY_STATE_EOF(S_surfxml_platform_7):
5587 case YY_STATE_EOF(S_surfxml_random_1):
5588 case YY_STATE_EOF(S_surfxml_AS_2):
5589 case YY_STATE_EOF(S_surfxml_AS_5):
5590 case YY_STATE_EOF(S_surfxml_AS_7):
5591 case YY_STATE_EOF(S_surfxml_AS_10):
5592 case YY_STATE_EOF(S_surfxml_AS_12):
5593 case YY_STATE_EOF(S_surfxml_host_1):
5594 case YY_STATE_EOF(S_surfxml_link_1):
5595 case YY_STATE_EOF(S_surfxml_route_1):
5596 case YY_STATE_EOF(S_surfxml_ASroute_1):
5597 case YY_STATE_EOF(S_surfxml_bypassRoute_1):
5598 case YY_STATE_EOF(S_surfxml_process_1):
5599 case YY_STATE_EOF(IMPOSSIBLE):
5602 case YY_END_OF_BUFFER:
5604 /* Amount of text matched not including the EOB char. */
5605 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5607 /* Undo the effects of YY_DO_BEFORE_ACTION. */
5608 *yy_cp = (yy_hold_char);
5609 YY_RESTORE_YY_MORE_OFFSET
5611 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5613 /* We're scanning a new file or input source. It's
5614 * possible that this happened because the user
5615 * just pointed surf_parse_in at a new source and called
5616 * surf_parse_lex(). If so, then we have to assure
5617 * consistency between YY_CURRENT_BUFFER and our
5618 * globals. Here is the right place to do so, because
5619 * this is the first action (other than possibly a
5620 * back-up) that will match for the new input source.
5622 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5623 YY_CURRENT_BUFFER_LVALUE->yy_input_file = surf_parse_in;
5624 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5627 /* Note that here we test for yy_c_buf_p "<=" to the position
5628 * of the first EOB in the buffer, since yy_c_buf_p will
5629 * already have been incremented past the NUL character
5630 * (since all states make transitions on EOB to the
5631 * end-of-buffer state). Contrast this with the test
5634 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5635 { /* This was really a NUL. */
5636 yy_state_type yy_next_state;
5638 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5640 yy_current_state = yy_get_previous_state( );
5642 /* Okay, we're now positioned to make the NUL
5643 * transition. We couldn't have
5644 * yy_get_previous_state() go ahead and do it
5645 * for us because it doesn't know how to deal
5646 * with the possibility of jamming (and we don't
5647 * want to build jamming into it because then it
5648 * will run more slowly).
5651 yy_next_state = yy_try_NUL_trans( yy_current_state );
5653 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5655 if ( yy_next_state )
5657 /* Consume the NUL. */
5658 yy_cp = ++(yy_c_buf_p);
5659 yy_current_state = yy_next_state;
5665 yy_cp = (yy_c_buf_p);
5666 goto yy_find_action;
5670 else switch ( yy_get_next_buffer( ) )
5672 case EOB_ACT_END_OF_FILE:
5674 (yy_did_buffer_switch_on_eof) = 0;
5676 if ( surf_parse_wrap( ) )
5678 /* Note: because we've taken care in
5679 * yy_get_next_buffer() to have set up
5680 * surf_parse_text, we can now set up
5681 * yy_c_buf_p so that if some total
5682 * hoser (like flex itself) wants to
5683 * call the scanner after we return the
5684 * YY_NULL, it'll still work - another
5685 * YY_NULL will get returned.
5687 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5689 yy_act = YY_STATE_EOF(YY_START);
5695 if ( ! (yy_did_buffer_switch_on_eof) )
5701 case EOB_ACT_CONTINUE_SCAN:
5703 (yytext_ptr) + yy_amount_of_matched_text;
5705 yy_current_state = yy_get_previous_state( );
5707 yy_cp = (yy_c_buf_p);
5708 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5711 case EOB_ACT_LAST_MATCH:
5713 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
5715 yy_current_state = yy_get_previous_state( );
5717 yy_cp = (yy_c_buf_p);
5718 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5719 goto yy_find_action;
5726 "fatal flex scanner internal error--no action found" );
5727 } /* end of action switch */
5728 } /* end of scanning one token */
5729 } /* end of surf_parse_lex */
5731 /* yy_get_next_buffer - try to read in a new buffer
5733 * Returns a code representing an action:
5734 * EOB_ACT_LAST_MATCH -
5735 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5736 * EOB_ACT_END_OF_FILE - end of file
5738 static int yy_get_next_buffer (void)
5740 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
5741 register char *source = (yytext_ptr);
5742 register int number_to_move, i;
5745 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
5747 "fatal flex scanner internal error--end of buffer missed" );
5749 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
5750 { /* Don't try to fill the buffer, so this is an EOF. */
5751 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
5753 /* We matched a single character, the EOB, so
5754 * treat this as a final EOF.
5756 return EOB_ACT_END_OF_FILE;
5761 /* We matched some text prior to the EOB, first
5764 return EOB_ACT_LAST_MATCH;
5768 /* Try to read more data. */
5770 /* First move last chars to start of buffer. */
5771 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
5773 for ( i = 0; i < number_to_move; ++i )
5774 *(dest++) = *(source++);
5776 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
5777 /* don't do the read, it's not guaranteed to return an EOF,
5780 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
5785 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
5787 while ( num_to_read <= 0 )
5788 { /* Not enough room in the buffer - grow it. */
5790 /* just a shorter name for the current buffer */
5791 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
5793 int yy_c_buf_p_offset =
5794 (int) ((yy_c_buf_p) - b->yy_ch_buf);
5796 if ( b->yy_is_our_buffer )
5798 int new_size = b->yy_buf_size * 2;
5800 if ( new_size <= 0 )
5801 b->yy_buf_size += b->yy_buf_size / 8;
5803 b->yy_buf_size *= 2;
5805 b->yy_ch_buf = (char *)
5806 /* Include room in for 2 EOB chars. */
5807 surf_parse_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
5810 /* Can't grow it, we don't own it. */
5813 if ( ! b->yy_ch_buf )
5815 "fatal error - scanner input buffer overflow" );
5817 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
5819 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
5824 if ( num_to_read > YY_READ_BUF_SIZE )
5825 num_to_read = YY_READ_BUF_SIZE;
5827 /* Read in more data. */
5828 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
5829 (yy_n_chars), (size_t) num_to_read );
5831 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5834 if ( (yy_n_chars) == 0 )
5836 if ( number_to_move == YY_MORE_ADJ )
5838 ret_val = EOB_ACT_END_OF_FILE;
5839 surf_parse_restart(surf_parse_in );
5844 ret_val = EOB_ACT_LAST_MATCH;
5845 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
5846 YY_BUFFER_EOF_PENDING;
5851 ret_val = EOB_ACT_CONTINUE_SCAN;
5853 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
5854 /* Extend the array by 50%, plus the number we really need. */
5855 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
5856 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) surf_parse_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
5857 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
5858 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
5861 (yy_n_chars) += number_to_move;
5862 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
5863 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
5865 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
5870 /* yy_get_previous_state - get the state just before the EOB char was reached */
5872 static yy_state_type yy_get_previous_state (void)
5874 register yy_state_type yy_current_state;
5875 register char *yy_cp;
5877 yy_current_state = (yy_start);
5879 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
5881 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
5882 if ( yy_accept[yy_current_state] )
5884 (yy_last_accepting_state) = yy_current_state;
5885 (yy_last_accepting_cpos) = yy_cp;
5887 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5889 yy_current_state = (int) yy_def[yy_current_state];
5890 if ( yy_current_state >= 1842 )
5891 yy_c = yy_meta[(unsigned int) yy_c];
5893 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5896 return yy_current_state;
5899 /* yy_try_NUL_trans - try to make a transition on the NUL character
5902 * next_state = yy_try_NUL_trans( current_state );
5904 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
5906 register int yy_is_jam;
5907 register char *yy_cp = (yy_c_buf_p);
5909 register YY_CHAR yy_c = 1;
5910 if ( yy_accept[yy_current_state] )
5912 (yy_last_accepting_state) = yy_current_state;
5913 (yy_last_accepting_cpos) = yy_cp;
5915 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5917 yy_current_state = (int) yy_def[yy_current_state];
5918 if ( yy_current_state >= 1842 )
5919 yy_c = yy_meta[(unsigned int) yy_c];
5921 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5922 yy_is_jam = (yy_current_state == 1841);
5924 return yy_is_jam ? 0 : yy_current_state;
5929 static int yyinput (void)
5931 static int input (void)
5937 *(yy_c_buf_p) = (yy_hold_char);
5939 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
5941 /* yy_c_buf_p now points to the character we want to return.
5942 * If this occurs *before* the EOB characters, then it's a
5943 * valid NUL; if not, then we've hit the end of the buffer.
5945 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5946 /* This was really a NUL. */
5947 *(yy_c_buf_p) = '\0';
5950 { /* need more input */
5951 int offset = (yy_c_buf_p) - (yytext_ptr);
5954 switch ( yy_get_next_buffer( ) )
5956 case EOB_ACT_LAST_MATCH:
5957 /* This happens because yy_g_n_b()
5958 * sees that we've accumulated a
5959 * token and flags that we need to
5960 * try matching the token before
5961 * proceeding. But for input(),
5962 * there's no matching to consider.
5963 * So convert the EOB_ACT_LAST_MATCH
5964 * to EOB_ACT_END_OF_FILE.
5967 /* Reset buffer status. */
5968 surf_parse_restart(surf_parse_in );
5972 case EOB_ACT_END_OF_FILE:
5974 if ( surf_parse_wrap( ) )
5977 if ( ! (yy_did_buffer_switch_on_eof) )
5986 case EOB_ACT_CONTINUE_SCAN:
5987 (yy_c_buf_p) = (yytext_ptr) + offset;
5993 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
5994 *(yy_c_buf_p) = '\0'; /* preserve surf_parse_text */
5995 (yy_hold_char) = *++(yy_c_buf_p);
5999 surf_parse_lineno++;
6004 #endif /* ifndef YY_NO_INPUT */
6006 /** Immediately switch to a different input stream.
6007 * @param input_file A readable stream.
6009 * @note This function does not reset the start condition to @c INITIAL .
6011 void surf_parse_restart (FILE * input_file )
6014 if ( ! YY_CURRENT_BUFFER ){
6015 surf_parse_ensure_buffer_stack ();
6016 YY_CURRENT_BUFFER_LVALUE =
6017 surf_parse__create_buffer(surf_parse_in,YY_BUF_SIZE );
6020 surf_parse__init_buffer(YY_CURRENT_BUFFER,input_file );
6021 surf_parse__load_buffer_state( );
6024 /** Switch to a different input buffer.
6025 * @param new_buffer The new input buffer.
6028 void surf_parse__switch_to_buffer (YY_BUFFER_STATE new_buffer )
6031 /* TODO. We should be able to replace this entire function body
6033 * surf_parse_pop_buffer_state();
6034 * surf_parse_push_buffer_state(new_buffer);
6036 surf_parse_ensure_buffer_stack ();
6037 if ( YY_CURRENT_BUFFER == new_buffer )
6040 if ( YY_CURRENT_BUFFER )
6042 /* Flush out information for old buffer. */
6043 *(yy_c_buf_p) = (yy_hold_char);
6044 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6045 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6048 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6049 surf_parse__load_buffer_state( );
6051 /* We don't actually know whether we did this switch during
6052 * EOF (surf_parse_wrap()) processing, but the only time this flag
6053 * is looked at is after surf_parse_wrap() is called, so it's safe
6054 * to go ahead and always set it.
6056 (yy_did_buffer_switch_on_eof) = 1;
6059 static void surf_parse__load_buffer_state (void)
6061 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6062 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6063 surf_parse_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6064 (yy_hold_char) = *(yy_c_buf_p);
6067 /** Allocate and initialize an input buffer state.
6068 * @param file A readable stream.
6069 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6071 * @return the allocated buffer state.
6073 YY_BUFFER_STATE surf_parse__create_buffer (FILE * file, int size )
6077 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6079 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6081 b->yy_buf_size = size;
6083 /* yy_ch_buf has to be 2 characters longer than the size given because
6084 * we need to put in 2 end-of-buffer characters.
6086 b->yy_ch_buf = (char *) surf_parse_alloc(b->yy_buf_size + 2 );
6087 if ( ! b->yy_ch_buf )
6088 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__create_buffer()" );
6090 b->yy_is_our_buffer = 1;
6092 surf_parse__init_buffer(b,file );
6097 /** Destroy the buffer.
6098 * @param b a buffer created with surf_parse__create_buffer()
6101 void surf_parse__delete_buffer (YY_BUFFER_STATE b )
6107 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6108 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6110 if ( b->yy_is_our_buffer )
6111 surf_parse_free((void *) b->yy_ch_buf );
6113 surf_parse_free((void *) b );
6117 extern int isatty (int );
6118 #endif /* __cplusplus */
6120 /* Initializes or reinitializes a buffer.
6121 * This function is sometimes called more than once on the same buffer,
6122 * such as during a surf_parse_restart() or at EOF.
6124 static void surf_parse__init_buffer (YY_BUFFER_STATE b, FILE * file )
6129 surf_parse__flush_buffer(b );
6131 b->yy_input_file = file;
6132 b->yy_fill_buffer = 1;
6134 /* If b is the current buffer, then surf_parse__init_buffer was _probably_
6135 * called from surf_parse_restart() or through yy_get_next_buffer.
6136 * In that case, we don't want to reset the lineno or column.
6138 if (b != YY_CURRENT_BUFFER){
6139 b->yy_bs_lineno = 1;
6140 b->yy_bs_column = 0;
6143 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
6148 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6149 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6152 void surf_parse__flush_buffer (YY_BUFFER_STATE b )
6159 /* We always need two end-of-buffer characters. The first causes
6160 * a transition to the end-of-buffer state. The second causes
6161 * a jam in that state.
6163 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6164 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6166 b->yy_buf_pos = &b->yy_ch_buf[0];
6169 b->yy_buffer_status = YY_BUFFER_NEW;
6171 if ( b == YY_CURRENT_BUFFER )
6172 surf_parse__load_buffer_state( );
6175 /** Pushes the new state onto the stack. The new state becomes
6176 * the current state. This function will allocate the stack
6178 * @param new_buffer The new state.
6181 void surf_parse_push_buffer_state (YY_BUFFER_STATE new_buffer )
6183 if (new_buffer == NULL)
6186 surf_parse_ensure_buffer_stack();
6188 /* This block is copied from surf_parse__switch_to_buffer. */
6189 if ( YY_CURRENT_BUFFER )
6191 /* Flush out information for old buffer. */
6192 *(yy_c_buf_p) = (yy_hold_char);
6193 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6194 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6197 /* Only push if top exists. Otherwise, replace top. */
6198 if (YY_CURRENT_BUFFER)
6199 (yy_buffer_stack_top)++;
6200 YY_CURRENT_BUFFER_LVALUE = new_buffer;
6202 /* copied from surf_parse__switch_to_buffer. */
6203 surf_parse__load_buffer_state( );
6204 (yy_did_buffer_switch_on_eof) = 1;
6207 /** Removes and deletes the top of the stack, if present.
6208 * The next element becomes the new top.
6211 void surf_parse_pop_buffer_state (void)
6213 if (!YY_CURRENT_BUFFER)
6216 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6217 YY_CURRENT_BUFFER_LVALUE = NULL;
6218 if ((yy_buffer_stack_top) > 0)
6219 --(yy_buffer_stack_top);
6221 if (YY_CURRENT_BUFFER) {
6222 surf_parse__load_buffer_state( );
6223 (yy_did_buffer_switch_on_eof) = 1;
6227 /* Allocates the stack if it does not exist.
6228 * Guarantees space for at least one push.
6230 static void surf_parse_ensure_buffer_stack (void)
6234 if (!(yy_buffer_stack)) {
6236 /* First allocation is just for 2 elements, since we don't know if this
6237 * scanner will even need a stack. We use 2 instead of 1 to avoid an
6238 * immediate realloc on the next call.
6241 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_alloc
6242 (num_to_alloc * sizeof(struct yy_buffer_state*)
6244 if ( ! (yy_buffer_stack) )
6245 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6247 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6249 (yy_buffer_stack_max) = num_to_alloc;
6250 (yy_buffer_stack_top) = 0;
6254 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6256 /* Increase the buffer to prepare for a possible push. */
6257 int grow_size = 8 /* arbitrary grow size */;
6259 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6260 (yy_buffer_stack) = (struct yy_buffer_state**)surf_parse_realloc
6262 num_to_alloc * sizeof(struct yy_buffer_state*)
6264 if ( ! (yy_buffer_stack) )
6265 YY_FATAL_ERROR( "out of dynamic memory in surf_parse_ensure_buffer_stack()" );
6267 /* zero only the new slots.*/
6268 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6269 (yy_buffer_stack_max) = num_to_alloc;
6273 /** Setup the input buffer state to scan directly from a user-specified character buffer.
6274 * @param base the character buffer
6275 * @param size the size in bytes of the character buffer
6277 * @return the newly allocated buffer state object.
6279 YY_BUFFER_STATE surf_parse__scan_buffer (char * base, yy_size_t size )
6284 base[size-2] != YY_END_OF_BUFFER_CHAR ||
6285 base[size-1] != YY_END_OF_BUFFER_CHAR )
6286 /* They forgot to leave room for the EOB's. */
6289 b = (YY_BUFFER_STATE) surf_parse_alloc(sizeof( struct yy_buffer_state ) );
6291 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_buffer()" );
6293 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6294 b->yy_buf_pos = b->yy_ch_buf = base;
6295 b->yy_is_our_buffer = 0;
6296 b->yy_input_file = 0;
6297 b->yy_n_chars = b->yy_buf_size;
6298 b->yy_is_interactive = 0;
6300 b->yy_fill_buffer = 0;
6301 b->yy_buffer_status = YY_BUFFER_NEW;
6303 surf_parse__switch_to_buffer(b );
6308 /** Setup the input buffer state to scan a string. The next call to surf_parse_lex() will
6309 * scan from a @e copy of @a str.
6310 * @param yystr a NUL-terminated string to scan
6312 * @return the newly allocated buffer state object.
6313 * @note If you want to scan bytes that may contain NUL values, then use
6314 * surf_parse__scan_bytes() instead.
6316 YY_BUFFER_STATE surf_parse__scan_string (yyconst char * yystr )
6319 return surf_parse__scan_bytes(yystr,strlen(yystr) );
6322 /** Setup the input buffer state to scan the given bytes. The next call to surf_parse_lex() will
6323 * scan from a @e copy of @a bytes.
6324 * @param yybytes the byte buffer to scan
6325 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
6327 * @return the newly allocated buffer state object.
6329 YY_BUFFER_STATE surf_parse__scan_bytes (yyconst char * yybytes, int _yybytes_len )
6336 /* Get memory for full buffer, including space for trailing EOB's. */
6337 n = _yybytes_len + 2;
6338 buf = (char *) surf_parse_alloc(n );
6340 YY_FATAL_ERROR( "out of dynamic memory in surf_parse__scan_bytes()" );
6342 for ( i = 0; i < _yybytes_len; ++i )
6343 buf[i] = yybytes[i];
6345 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6347 b = surf_parse__scan_buffer(buf,n );
6349 YY_FATAL_ERROR( "bad buffer in surf_parse__scan_bytes()" );
6351 /* It's okay to grow etc. this buffer, and we should throw it
6352 * away when we're done.
6354 b->yy_is_our_buffer = 1;
6359 static void yy_push_state (int new_state )
6361 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
6365 (yy_start_stack_depth) += YY_START_STACK_INCR;
6366 new_size = (yy_start_stack_depth) * sizeof( int );
6368 if ( ! (yy_start_stack) )
6369 (yy_start_stack) = (int *) surf_parse_alloc(new_size );
6372 (yy_start_stack) = (int *) surf_parse_realloc((void *) (yy_start_stack),new_size );
6374 if ( ! (yy_start_stack) )
6375 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
6378 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
6383 static void yy_pop_state (void)
6385 if ( --(yy_start_stack_ptr) < 0 )
6386 YY_FATAL_ERROR( "start-condition stack underflow" );
6388 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
6391 #ifndef YY_EXIT_FAILURE
6392 #define YY_EXIT_FAILURE 2
6395 static void yy_fatal_error (yyconst char* msg )
6397 (void) fprintf( stderr, "%s\n", msg );
6398 exit( YY_EXIT_FAILURE );
6401 /* Redefine yyless() so it works in section 3 code. */
6407 /* Undo effects of setting up surf_parse_text. */ \
6408 int yyless_macro_arg = (n); \
6409 YY_LESS_LINENO(yyless_macro_arg);\
6410 surf_parse_text[surf_parse_leng] = (yy_hold_char); \
6411 (yy_c_buf_p) = surf_parse_text + yyless_macro_arg; \
6412 (yy_hold_char) = *(yy_c_buf_p); \
6413 *(yy_c_buf_p) = '\0'; \
6414 surf_parse_leng = yyless_macro_arg; \
6418 /* Accessor methods (get/set functions) to struct members. */
6420 /** Get the current line number.
6423 int surf_parse_get_lineno (void)
6426 return surf_parse_lineno;
6429 /** Get the input stream.
6432 FILE *surf_parse_get_in (void)
6434 return surf_parse_in;
6437 /** Get the output stream.
6440 FILE *surf_parse_get_out (void)
6442 return surf_parse_out;
6445 /** Get the length of the current token.
6448 int surf_parse_get_leng (void)
6450 return surf_parse_leng;
6453 /** Get the current token.
6457 char *surf_parse_get_text (void)
6459 return surf_parse_text;
6462 /** Set the current line number.
6463 * @param line_number
6466 void surf_parse_set_lineno (int line_number )
6469 surf_parse_lineno = line_number;
6472 /** Set the input stream. This does not discard the current
6474 * @param in_str A readable stream.
6476 * @see surf_parse__switch_to_buffer
6478 void surf_parse_set_in (FILE * in_str )
6480 surf_parse_in = in_str ;
6483 void surf_parse_set_out (FILE * out_str )
6485 surf_parse_out = out_str ;
6488 int surf_parse_get_debug (void)
6490 return surf_parse__flex_debug;
6493 void surf_parse_set_debug (int bdebug )
6495 surf_parse__flex_debug = bdebug ;
6498 static int yy_init_globals (void)
6500 /* Initialization is the same as for the non-reentrant scanner.
6501 * This function is called from surf_parse_lex_destroy(), so don't allocate here.
6504 /* We do not touch surf_parse_lineno unless the option is enabled. */
6505 surf_parse_lineno = 1;
6507 (yy_buffer_stack) = 0;
6508 (yy_buffer_stack_top) = 0;
6509 (yy_buffer_stack_max) = 0;
6510 (yy_c_buf_p) = (char *) 0;
6514 (yy_start_stack_ptr) = 0;
6515 (yy_start_stack_depth) = 0;
6516 (yy_start_stack) = NULL;
6518 /* Defined in main.c */
6520 surf_parse_in = stdin;
6521 surf_parse_out = stdout;
6523 surf_parse_in = (FILE *) 0;
6524 surf_parse_out = (FILE *) 0;
6527 /* For future reference: Set errno on error, since we are called by
6528 * surf_parse_lex_init()
6533 /* surf_parse_lex_destroy is for both reentrant and non-reentrant scanners. */
6534 int surf_parse_lex_destroy (void)
6537 /* Pop the buffer stack, destroying each element. */
6538 while(YY_CURRENT_BUFFER){
6539 surf_parse__delete_buffer(YY_CURRENT_BUFFER );
6540 YY_CURRENT_BUFFER_LVALUE = NULL;
6541 surf_parse_pop_buffer_state();
6544 /* Destroy the stack itself. */
6545 surf_parse_free((yy_buffer_stack) );
6546 (yy_buffer_stack) = NULL;
6548 /* Destroy the start condition stack. */
6549 surf_parse_free((yy_start_stack) );
6550 (yy_start_stack) = NULL;
6552 /* Reset the globals. This is important in a non-reentrant scanner so the next time
6553 * surf_parse_lex() is called, initialization will occur. */
6560 * Internal utility routines.
6564 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
6567 for ( i = 0; i < n; ++i )
6572 #ifdef YY_NEED_STRLEN
6573 static int yy_flex_strlen (yyconst char * s )
6576 for ( n = 0; s[n]; ++n )
6583 void *surf_parse_alloc (yy_size_t size )
6585 return (void *) malloc( size );
6588 void *surf_parse_realloc (void * ptr, yy_size_t size )
6590 /* The cast to (char *) in the following accommodates both
6591 * implementations that use char* generic pointers, and those
6592 * that use void* generic pointers. It works with the latter
6593 * because both ANSI C and C++ allow castless assignment from
6594 * any pointer type to void*, and deal with argument conversions
6595 * as though doing an assignment.
6597 return (void *) realloc( (char *) ptr, size );
6600 void surf_parse_free (void * ptr )
6602 free( (char *) ptr ); /* see surf_parse_realloc() for (char *) cast */
6605 #define YYTABLES_NAME "yytables"
6607 /* Element context stack lookup. */
6608 int surfxml_element_context(int i)
6610 return (0<i && i<yy_start_stack_depth
6611 ? yy_start_stack[yy_start_stack_ptr - i]
6616 void print_yy_stack(char* fmt, ...)
6618 int i = 0; va_list ap; va_start(ap, fmt);
6619 vfprintf(stderr, fmt, ap);
6620 if (surfxml_statenames) {
6621 for (i=1; i<yy_start_stack_ptr; i++) {
6622 fprintf(stderr, "%s/", surfxml_statenames[yy_start_stack[i] ]);
6624 fprintf(stderr,"%s\n", surfxml_statenames[YY_START]);
6629 void print_surfxml_bufferstack()
6632 fputs("Buffer: ", stderr);
6633 for (i = 0; i < blimit; i++) {
6634 if ( surfxml_bufferstack[i] == '\377' ) break;
6635 putc(surfxml_bufferstack[i], stderr);
6640 static void debug_enter(int state, const char* statename) {
6641 yy_push_state(state);
6642 if (surf_parse__flex_debug) {
6643 print_yy_stack("--ENTER(%s) : ",statename);
6644 print_surfxml_bufferstack();
6648 static void debug_leave(void) {
6649 if (surf_parse__flex_debug) {
6650 print_yy_stack("--LEAVE : ");
6651 print_surfxml_bufferstack();
6656 static void debug_set(int state, const char* statename) {
6658 if (surf_parse__flex_debug) print_yy_stack("--SET(%s) : ",statename);
6662 static void cleanup(void)
6664 if (surfxml_statenames) {
6665 free(surfxml_statenames);
6666 surfxml_statenames = NULL;
6668 free(surfxml_bufferstack);
6669 surfxml_bufferstack = NULL;
6675 static int fail(const char* fmt, ...)
6677 int chars_left, used;
6678 va_list ap; va_start(ap, fmt);
6679 #ifdef FLEXML_yylineno
6680 used = sprintf(flexml_err_msg,
6681 "Invalid XML (XML input line %d, state %d): ",
6682 surf_parse_lineno, YY_START);
6684 used = sprintf(flexml_err_msg,
6685 "Invalid XML (state %d): ",
6688 chars_left = flexml_max_err_msg_size - used - 1;
6689 vsnprintf(flexml_err_msg + used, chars_left, fmt, ap);
6692 #ifndef FLEXML_quiet_parser
6693 /* print directly to sdterr */
6694 fprintf(stderr, "%s\n", flexml_err_msg);
6695 flexml_err_msg[0] = '\0';