4 #define YY_INT_ALIGNED short int
6 /* A lexical scanner generated by flex */
9 #define YY_FLEX_MAJOR_VERSION 2
10 #define YY_FLEX_MINOR_VERSION 6
11 #define YY_FLEX_SUBMINOR_VERSION 4
12 #if YY_FLEX_SUBMINOR_VERSION > 0
16 /* First, we deal with platform-specific or compiler-specific issues. */
18 /* begin standard C headers. */
24 /* end standard C headers. */
26 /* flex integer type definitions */
31 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
35 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
36 * if you want the limit (max/min) macros for int types.
38 #ifndef __STDC_LIMIT_MACROS
39 #define __STDC_LIMIT_MACROS 1
43 typedef int8_t flex_int8_t;
44 typedef uint8_t flex_uint8_t;
45 typedef int16_t flex_int16_t;
46 typedef uint16_t flex_uint16_t;
47 typedef int32_t flex_int32_t;
48 typedef uint32_t flex_uint32_t;
50 typedef signed char flex_int8_t;
51 typedef short int flex_int16_t;
52 typedef int flex_int32_t;
53 typedef unsigned char flex_uint8_t;
54 typedef unsigned short int flex_uint16_t;
55 typedef unsigned int flex_uint32_t;
57 /* Limits of integral types. */
59 #define INT8_MIN (-128)
62 #define INT16_MIN (-32767-1)
65 #define INT32_MIN (-2147483647-1)
68 #define INT8_MAX (127)
71 #define INT16_MAX (32767)
74 #define INT32_MAX (2147483647)
77 #define UINT8_MAX (255U)
80 #define UINT16_MAX (65535U)
83 #define UINT32_MAX (4294967295U)
87 #define SIZE_MAX (~(size_t)0)
92 #endif /* ! FLEXINT_H */
94 /* begin standard C++ headers. */
96 /* TODO: this is always defined, so inline it */
99 #if defined(__GNUC__) && __GNUC__ >= 3
100 #define yynoreturn __attribute__((__noreturn__))
105 /* Returned upon end-of-file. */
108 /* Promotes a possibly negative, possibly signed char to an
109 * integer in range [0..255] for use as an array index.
111 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
113 /* Enter a start condition. This macro really ought to take a parameter,
114 * but we do it the disgusting crufty way forced on us by the ()-less
115 * definition of BEGIN.
117 #define BEGIN (yy_start) = 1 + 2 *
118 /* Translate the current start state into a value that can be later handed
119 * to BEGIN to return to the state. The YYSTATE alias is for lex
122 #define YY_START (((yy_start) - 1) / 2)
123 #define YYSTATE YY_START
124 /* Action number for EOF rule of a given start state. */
125 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
126 /* Special action meaning "start processing a new file". */
127 #define YY_NEW_FILE yyrestart( yyin )
128 #define YY_END_OF_BUFFER_CHAR 0
130 /* Size of default input buffer. */
133 /* On IA-64, the buffer size is 16k, not 8k.
134 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
135 * Ditto for the __ia64__ case accordingly.
137 #define YY_BUF_SIZE 32768
139 #define YY_BUF_SIZE 16384
140 #endif /* __ia64__ */
143 /* The state buf must be large enough to hold one state per character in the main buffer.
145 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
147 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
148 #define YY_TYPEDEF_YY_BUFFER_STATE
149 typedef struct yy_buffer_state *YY_BUFFER_STATE;
152 #ifndef YY_TYPEDEF_YY_SIZE_T
153 #define YY_TYPEDEF_YY_SIZE_T
154 typedef size_t yy_size_t;
159 extern FILE *yyin, *yyout;
161 #define EOB_ACT_CONTINUE_SCAN 0
162 #define EOB_ACT_END_OF_FILE 1
163 #define EOB_ACT_LAST_MATCH 2
165 #define YY_LESS_LINENO(n)
166 #define YY_LINENO_REWIND_TO(ptr)
168 /* Return all but the first "n" matched characters back to the input stream. */
172 /* Undo effects of setting up yytext. */ \
173 int yyless_macro_arg = (n); \
174 YY_LESS_LINENO(yyless_macro_arg);\
175 *yy_cp = (yy_hold_char); \
176 YY_RESTORE_YY_MORE_OFFSET \
177 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
178 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
181 #define unput(c) yyunput( c, (yytext_ptr) )
183 #ifndef YY_STRUCT_YY_BUFFER_STATE
184 #define YY_STRUCT_YY_BUFFER_STATE
185 struct yy_buffer_state
189 char *yy_ch_buf; /* input buffer */
190 char *yy_buf_pos; /* current position in input buffer */
192 /* Size of input buffer in bytes, not including room for EOB
197 /* Number of characters read into yy_ch_buf, not including EOB
202 /* Whether we "own" the buffer - i.e., we know we created it,
203 * and can realloc() it to grow it, and should free() it to
206 int yy_is_our_buffer;
208 /* Whether this is an "interactive" input source; if so, and
209 * if we're using stdio for input, then we want to use getc()
210 * instead of fread(), to make sure we stop fetching input after
213 int yy_is_interactive;
215 /* Whether we're considered to be at the beginning of a line.
216 * If so, '^' rules will be active on the next match, otherwise
221 int yy_bs_lineno; /**< The line count. */
222 int yy_bs_column; /**< The column count. */
224 /* Whether to try to fill the input buffer when we reach the
229 int yy_buffer_status;
231 #define YY_BUFFER_NEW 0
232 #define YY_BUFFER_NORMAL 1
233 /* When an EOF's been seen but there's still some text to process
234 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
235 * shouldn't try reading from the input source any more. We might
236 * still have a bunch of tokens to match, though, because of
237 * possible backing-up.
239 * When we actually see the EOF, we change the status to "new"
240 * (via yyrestart()), so that the user can continue scanning by
241 * just pointing yyin at a new input file.
243 #define YY_BUFFER_EOF_PENDING 2
246 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
248 /* Stack of input buffers. */
249 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
250 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
251 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
253 /* We provide macros for accessing buffer states in case in the
254 * future we want to put the buffer states in a more general
257 * Returns the top of the stack, or NULL.
259 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
260 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
262 /* Same as previous macro, but useful when we know that the buffer stack is not
263 * NULL or when we need an lvalue. For internal use only.
265 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
267 /* yy_hold_char holds the character lost when yytext is formed. */
268 static char yy_hold_char;
269 static int yy_n_chars; /* number of characters read into yy_ch_buf */
272 /* Points to current character in buffer. */
273 static char *yy_c_buf_p = NULL;
274 static int yy_init = 0; /* whether we need to initialize */
275 static int yy_start = 0; /* start state number */
277 /* Flag which is used to allow yywrap()'s to do buffer switches
278 * instead of setting up a fresh yyin. A bit of a hack ...
280 static int yy_did_buffer_switch_on_eof;
282 void yyrestart ( FILE *input_file );
283 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
284 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
285 void yy_delete_buffer ( YY_BUFFER_STATE b );
286 void yy_flush_buffer ( YY_BUFFER_STATE b );
287 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
288 void yypop_buffer_state ( void );
290 static void yyensure_buffer_stack ( void );
291 static void yy_load_buffer_state ( void );
292 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
293 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
295 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
296 YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
297 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
299 void *yyalloc ( yy_size_t );
300 void *yyrealloc ( void *, yy_size_t );
301 void yyfree ( void * );
303 #define yy_new_buffer yy_create_buffer
304 #define yy_set_interactive(is_interactive) \
306 if ( ! YY_CURRENT_BUFFER ){ \
307 yyensure_buffer_stack (); \
308 YY_CURRENT_BUFFER_LVALUE = \
309 yy_create_buffer( yyin, YY_BUF_SIZE ); \
311 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
313 #define yy_set_bol(at_bol) \
315 if ( ! YY_CURRENT_BUFFER ){\
316 yyensure_buffer_stack (); \
317 YY_CURRENT_BUFFER_LVALUE = \
318 yy_create_buffer( yyin, YY_BUF_SIZE ); \
320 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
322 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
324 /* Begin user sect3 */
325 typedef flex_uint8_t YY_CHAR;
327 FILE *yyin = NULL, *yyout = NULL;
329 typedef int yy_state_type;
338 #define yytext_ptr yytext
340 static yy_state_type yy_get_previous_state ( void );
341 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
342 static int yy_get_next_buffer ( void );
343 static void yynoreturn yy_fatal_error ( const char* msg );
345 /* Done after the current pattern has been matched and before the
346 * corresponding action - sets up yytext.
348 #define YY_DO_BEFORE_ACTION \
349 (yytext_ptr) = yy_bp; \
350 yyleng = (int) (yy_cp - yy_bp); \
351 (yy_hold_char) = *yy_cp; \
353 (yy_c_buf_p) = yy_cp;
354 #define YY_NUM_RULES 253
355 #define YY_END_OF_BUFFER 254
356 /* This struct is not used in this scanner,
357 but its presence is necessary. */
360 flex_int32_t yy_verify;
363 static const flex_int16_t yy_accept[1114] =
365 0, 0, 0, 0, 0, 0, 246, 246, 40, 40,
366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
367 0, 0, 0, 0, 0, 0, 0, 0, 21, 21,
368 239, 239, 0, 0, 0, 0, 0, 0, 0, 0,
369 0, 0, 0, 0, 0, 0, 0, 0, 21, 21,
370 250, 250, 239, 239, 254, 252, 9, 20, 252, 18,
371 1, 19, 252, 252, 252, 252, 17, 163, 148, 149,
372 163, 141, 163, 160, 161, 162, 162, 163, 163, 163,
373 162, 147, 137, 163, 163, 139, 140, 135, 136, 135,
374 134, 133, 134, 246, 247, 247, 40, 42, 40, 41,
376 40, 40, 41, 41, 41, 50, 49, 51, 252, 169,
377 169, 164, 169, 165, 166, 168, 170, 218, 219, 218,
378 216, 215, 217, 171, 173, 171, 172, 171, 185, 185,
379 185, 185, 187, 189, 187, 187, 187, 187, 188, 228,
380 233, 228, 232, 231, 234, 229, 229, 229, 234, 234,
381 226, 227, 252, 130, 252, 21, 23, 21, 22, 22,
382 22, 235, 241, 235, 236, 242, 242, 242, 224, 224,
383 225, 224, 224, 224, 224, 224, 224, 224, 129, 53,
384 52, 129, 129, 129, 129, 54, 129, 129, 129, 129,
385 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
387 129, 129, 129, 129, 129, 129, 129, 36, 33, 36,
388 34, 48, 45, 252, 48, 48, 44, 43, 175, 174,
389 176, 177, 178, 179, 180, 181, 182, 31, 32, 31,
390 30, 28, 29, 28, 27, 22, 250, 251, 251, 237,
391 237, 238, 9, 20, 0, 18, 1, 19, 0, 0,
392 0, 16, 10, 0, 0, 0, 0, 4, 16, 5,
393 0, 2, 17, 148, 149, 0, 0, 0, 143, 0,
394 159, 157, 0, 153, 153, 0, 243, 243, 243, 0,
395 0, 142, 0, 147, 137, 0, 0, 0, 139, 140,
396 152, 138, 0, 136, 134, 133, 131, 132, 246, 244,
398 245, 40, 42, 40, 40, 37, 38, 0, 50, 49,
399 51, 0, 164, 0, 164, 167, 168, 219, 215, 173,
400 0, 183, 184, 189, 186, 228, 233, 0, 0, 221,
401 229, 229, 229, 0, 130, 0, 21, 23, 24, 235,
402 241, 240, 239, 240, 0, 0, 225, 220, 0, 0,
403 53, 52, 0, 128, 0, 0, 129, 129, 129, 129,
404 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
405 129, 129, 129, 129, 129, 129, 55, 129, 129, 129,
406 129, 129, 129, 129, 129, 129, 129, 129, 0, 35,
407 34, 48, 45, 46, 47, 31, 32, 29, 26, 25,
409 250, 248, 249, 237, 0, 16, 10, 0, 14, 0,
410 0, 0, 0, 0, 4, 16, 5, 0, 6, 0,
411 144, 0, 145, 0, 158, 0, 153, 153, 0, 153,
412 153, 153, 243, 243, 155, 154, 0, 156, 138, 146,
413 0, 152, 0, 131, 132, 40, 40, 0, 39, 0,
414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
415 0, 0, 230, 229, 229, 0, 0, 220, 0, 0,
416 0, 0, 129, 129, 129, 129, 129, 129, 65, 129,
417 129, 129, 70, 129, 129, 129, 129, 129, 129, 129,
418 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
420 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
421 129, 129, 129, 129, 129, 129, 129, 129, 0, 0,
422 0, 0, 14, 0, 0, 0, 0, 0, 0, 4,
423 8, 5, 0, 153, 153, 153, 153, 153, 153, 153,
424 243, 156, 0, 0, 40, 40, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426 0, 0, 0, 0, 0, 0, 0, 0, 229, 229,
427 0, 0, 56, 57, 129, 129, 129, 129, 129, 129,
428 129, 129, 129, 129, 71, 72, 129, 129, 129, 129,
429 77, 78, 129, 129, 129, 129, 129, 129, 129, 83,
431 129, 129, 129, 129, 129, 129, 129, 129, 129, 92,
432 129, 129, 129, 129, 129, 129, 129, 129, 129, 0,
433 0, 0, 0, 15, 0, 0, 0, 0, 0, 8,
434 8, 8, 0, 153, 153, 153, 153, 153, 153, 153,
435 0, 0, 40, 40, 214, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
437 0, 0, 0, 0, 0, 0, 0, 0, 229, 229,
438 0, 0, 58, 129, 60, 129, 62, 129, 129, 129,
439 129, 68, 129, 129, 129, 73, 129, 129, 129, 129,
440 129, 129, 129, 129, 129, 129, 129, 86, 129, 129,
442 129, 129, 90, 129, 129, 129, 129, 129, 129, 129,
443 129, 129, 129, 0, 0, 0, 0, 3, 0, 0,
444 0, 8, 7, 8, 0, 153, 153, 153, 0, 0,
445 40, 40, 0, 0, 0, 0, 0, 0, 0, 0,
446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
447 0, 0, 0, 0, 0, 0, 222, 223, 222, 223,
448 129, 61, 129, 129, 129, 129, 129, 129, 129, 125,
449 129, 129, 129, 129, 129, 129, 129, 129, 123, 129,
450 85, 129, 88, 129, 89, 129, 129, 129, 104, 0,
451 129, 94, 129, 0, 95, 0, 0, 0, 0, 0,
453 12, 0, 13, 0, 151, 0, 150, 0, 0, 0,
454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
456 0, 129, 129, 129, 129, 129, 66, 129, 69, 129,
457 129, 129, 129, 129, 129, 122, 129, 82, 129, 129,
458 87, 129, 91, 102, 124, 0, 0, 0, 0, 0,
459 0, 129, 129, 0, 0, 0, 0, 0, 0, 0,
460 0, 0, 0, 150, 0, 0, 0, 0, 0, 0,
461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
462 0, 0, 0, 0, 0, 0, 0, 0, 129, 129,
464 129, 129, 129, 67, 129, 129, 129, 129, 79, 129,
465 129, 129, 129, 129, 129, 0, 0, 113, 0, 0,
466 0, 0, 0, 0, 93, 129, 0, 0, 114, 0,
467 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
468 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
469 200, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470 0, 0, 0, 0, 129, 129, 129, 129, 129, 129,
471 129, 129, 129, 129, 129, 129, 84, 129, 129, 0,
472 0, 0, 0, 0, 0, 115, 0, 103, 0, 0,
473 0, 0, 0, 116, 0, 0, 0, 0, 0, 201,
475 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
476 212, 0, 129, 129, 129, 129, 129, 121, 129, 129,
477 75, 129, 129, 129, 129, 129, 0, 0, 109, 0,
478 119, 117, 110, 0, 0, 0, 120, 118, 0, 0,
479 0, 0, 0, 0, 213, 129, 129, 129, 129, 129,
480 125, 74, 129, 81, 129, 126, 129, 105, 107, 0,
481 106, 108, 0, 0, 0, 0, 0, 0, 0, 129,
482 63, 129, 129, 129, 129, 76, 129, 111, 112, 97,
483 0, 0, 0, 0, 98, 129, 129, 129, 129, 129,
484 127, 96, 0, 100, 0, 129, 129, 129, 66, 129,
486 99, 101, 129, 64, 129, 129, 129, 67, 129, 129,
490 static const YY_CHAR yy_ec[256] =
492 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
493 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
494 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
495 1, 2, 1, 6, 7, 8, 9, 1, 10, 11,
496 12, 13, 14, 15, 16, 17, 18, 19, 19, 19,
497 19, 19, 19, 19, 20, 21, 22, 23, 1, 24,
498 25, 26, 27, 1, 28, 29, 30, 31, 32, 33,
499 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
500 44, 45, 46, 47, 48, 49, 50, 51, 52, 44,
501 53, 54, 55, 56, 57, 1, 58, 59, 60, 61,
503 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
504 72, 73, 44, 74, 75, 76, 77, 78, 79, 80,
505 81, 44, 82, 83, 84, 1, 1, 1, 1, 1,
506 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
507 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
509 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
510 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
511 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
512 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
514 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
515 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
516 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
517 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
518 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
522 static const YY_CHAR yy_meta[85] =
524 1, 1, 2, 1, 3, 4, 1, 1, 5, 6,
525 1, 7, 8, 9, 1, 10, 1, 11, 12, 12,
526 12, 12, 13, 1, 1, 1, 1, 14, 14, 14,
527 14, 14, 14, 15, 15, 15, 15, 15, 15, 15,
528 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
529 15, 15, 16, 17, 18, 1, 19, 14, 14, 14,
530 14, 14, 14, 15, 15, 15, 15, 15, 15, 15,
531 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
535 static const flex_int16_t yy_base[1221] =
537 0, 84, 167, 250, 171, 184, 135, 142, 220, 231,
538 196, 200, 334, 0, 3627, 3625, 211, 416, 203, 212,
539 189, 225, 266, 417, 500, 0, 207, 208, 234, 421,
540 424, 436, 583, 588, 669, 0, 294, 304, 584, 751,
541 579, 580, 417, 576, 287, 306, 241, 441, 595, 608,
542 169, 238, 440, 754, 3680, 4511, 325, 4511, 3676, 0,
543 446, 4511, 3673, 430, 827, 3661, 0, 4511, 758, 4511,
544 3650, 4511, 453, 3621, 4511, 4511, 3619, 3584, 129, 746,
545 445, 766, 4511, 3604, 198, 3582, 4511, 4511, 4511, 3600,
546 0, 3599, 214, 0, 3506, 3483, 0, 4511, 3532, 4511,
548 420, 119, 3481, 3478, 3446, 0, 3526, 4511, 3520, 4511,
549 482, 3520, 3518, 4511, 3455, 0, 4511, 4511, 4511, 3504,
550 4511, 598, 4511, 4511, 4511, 3499, 4511, 754, 4511, 3477,
551 759, 180, 4511, 4511, 3467, 0, 3442, 762, 4511, 0,
552 4511, 3459, 4511, 3406, 3434, 0, 562, 167, 3393, 3370,
553 4511, 4511, 326, 4511, 420, 0, 4511, 3418, 3402, 3366,
554 3342, 0, 4511, 3368, 4511, 3317, 444, 3314, 4511, 471,
555 4511, 3354, 3271, 3337, 572, 189, 3295, 3285, 4511, 3332,
556 4511, 3307, 3303, 585, 594, 4511, 746, 734, 744, 754,
557 763, 770, 0, 755, 748, 763, 818, 789, 240, 822,
559 762, 381, 802, 791, 813, 824, 577, 4511, 4511, 3302,
560 871, 0, 4511, 3302, 3250, 3231, 4511, 4511, 4511, 4511,
561 4511, 4511, 4511, 4511, 4511, 4511, 4511, 0, 4511, 3279,
562 4511, 4511, 4511, 3276, 3260, 3259, 0, 3221, 3214, 0,
563 3264, 4511, 835, 4511, 3262, 0, 903, 4511, 3257, 842,
564 817, 0, 0, 910, 914, 918, 922, 0, 814, 0,
565 457, 4511, 0, 943, 4511, 3241, 3141, 483, 4511, 3217,
566 3212, 4511, 826, 556, 903, 930, 4511, 757, 0, 3134,
567 3131, 4511, 3129, 964, 4511, 3190, 3110, 3174, 3161, 4511,
568 0, 4511, 896, 4511, 0, 3172, 0, 0, 0, 4511,
570 4511, 0, 4511, 910, 913, 4511, 4511, 602, 0, 3169,
571 4511, 957, 3164, 3161, 3127, 4511, 0, 4511, 976, 4511,
572 1020, 4511, 4511, 4511, 4511, 0, 4511, 3116, 0, 4511,
573 0, 926, 930, 644, 4511, 662, 0, 4511, 4511, 0,
574 4511, 4511, 3071, 3121, 794, 3037, 4511, 0, 934, 932,
575 3117, 4511, 3091, 4511, 938, 939, 0, 940, 738, 956,
576 802, 3059, 876, 978, 933, 933, 939, 948, 964, 1030,
577 938, 958, 976, 968, 0, 996, 4511, 999, 1057, 1068,
578 981, 1079, 1077, 1080, 1074, 1068, 1070, 1120, 3062, 4511,
579 1014, 0, 4511, 4511, 4511, 0, 4511, 4511, 4511, 4511,
581 0, 4511, 4511, 0, 1078, 0, 0, 1153, 4511, 3063,
582 1166, 1077, 1076, 1091, 0, 1089, 0, 1018, 4511, 1022,
583 4511, 1025, 4511, 1035, 4511, 1091, 1067, 1138, 1162, 1242,
584 1177, 1308, 1105, 0, 4511, 4511, 2954, 1198, 4511, 4511,
585 1144, 0, 1137, 0, 0, 1161, 1156, 1123, 4511, 1202,
586 1308, 1309, 1310, 1319, 3013, 1312, 1311, 1327, 1320, 1321,
587 1323, 1382, 4511, 1172, 1166, 2589, 2537, 0, 1178, 1169,
588 1169, 1298, 1315, 1324, 1330, 1321, 1330, 1323, 0, 1341,
589 1332, 1348, 0, 1346, 1350, 1348, 1361, 1350, 1367, 2573,
590 1370, 1366, 1380, 1382, 1382, 1385, 1378, 1387, 1391, 1400,
592 1393, 1403, 1406, 1414, 1400, 1401, 1404, 1429, 1419, 1424,
593 1428, 1425, 1436, 1435, 1430, 1441, 1442, 1432, 1432, 1450,
594 1209, 1508, 4511, 1215, 1512, 1219, 1461, 1455, 1451, 0,
595 1143, 0, 1461, 1534, 1600, 1636, 204, 2525, 1606, 1681,
596 4511, 4511, 1453, 1463, 1591, 1442, 2524, 1599, 1604, 1600,
597 1607, 1605, 1611, 1608, 1650, 1620, 1606, 1614, 1613, 1654,
598 1663, 1652, 1661, 1666, 1682, 1664, 1693, 1694, 1655, 1674,
599 1662, 1675, 4511, 4511, 1683, 1676, 1677, 1683, 1697, 1692,
600 1731, 1711, 1702, 1718, 0, 0, 1719, 1706, 1716, 1735,
601 0, 0, 2553, 1722, 1732, 2540, 1725, 1722, 1733, 0,
603 1727, 1747, 1740, 1739, 1735, 1752, 1739, 1740, 1746, 0,
604 1750, 1763, 1760, 1750, 1752, 1759, 1777, 1762, 1778, 1769,
605 1783, 1778, 2514, 4511, 1224, 1230, 1772, 1783, 1780, 0,
606 1507, 1234, 2364, 732, 2273, 1809, 1845, 1430, 1076, 1585,
607 1797, 2286, 1785, 1807, 4511, 1811, 1814, 1829, 1835, 1821,
608 1808, 1822, 1845, 1859, 1860, 1862, 1868, 1869, 1870, 1825,
609 1888, 1890, 1876, 1891, 1874, 1902, 1894, 1898, 1795, 1891,
610 1882, 1899, 0, 1887, 0, 1892, 0, 2260, 1900, 1891,
611 1909, 0, 1904, 2253, 1902, 0, 1916, 1907, 1918, 2227,
612 1912, 1909, 1924, 2201, 1908, 1918, 1922, 0, 1934, 1925,
614 1931, 1947, 0, 1936, 1942, 1941, 1953, 2103, 1957, 1958,
615 1952, 2085, 1950, 1951, 1950, 1969, 1956, 2133, 1515, 1961,
616 1971, 2002, 4511, 2117, 2038, 1981, 1592, 1842, 2025, 1983,
617 0, 0, 1972, 1990, 1999, 1987, 1994, 2008, 2005, 2007,
618 2015, 2023, 2016, 2021, 2017, 2024, 2022, 2026, 2030, 2029,
619 2037, 2035, 2045, 2051, 2054, 2061, 0, 0, 4511, 4511,
620 1922, 0, 2049, 2039, 2050, 2053, 2051, 2051, 2054, 1831,
621 2073, 2064, 2077, 2073, 2081, 2082, 2072, 2085, 0, 2091,
622 0, 2074, 0, 1824, 0, 2091, 2094, 2082, 0, 2116,
623 2088, 0, 2092, 2133, 0, 1728, 2097, 2095, 1714, 1678,
625 4511, 2135, 4511, 2096, 4511, 1726, 4511, 1703, 1612, 1601,
626 1514, 1500, 1477, 1377, 1373, 1333, 1274, 1203, 2133, 2128,
627 2148, 2151, 2144, 2150, 2156, 2158, 2161, 2163, 2184, 2167,
628 2164, 2157, 2151, 2159, 2158, 2173, 0, 2165, 0, 2166,
629 2182, 2173, 2179, 2178, 2186, 0, 2185, 0, 2187, 2193,
630 0, 2202, 0, 0, 0, 2204, 2187, 2201, 2224, 2200,
631 2222, 2213, 2219, 2230, 2199, 2227, 2239, 2222, 2225, 1162,
632 1158, 2228, 2278, 4511, 1112, 1109, 1081, 1063, 1057, 984,
633 976, 969, 923, 913, 910, 931, 895, 891, 887, 881,
634 874, 856, 848, 843, 840, 804, 788, 2259, 2248, 2258,
636 2265, 2264, 2241, 0, 2254, 2265, 2268, 2279, 0, 2262,
637 2268, 2271, 2266, 2278, 2283, 2289, 2273, 4511, 2280, 2281,
638 2281, 2300, 2283, 2281, 0, 2303, 2307, 2292, 4511, 2302,
639 2304, 2319, 2303, 2307, 2309, 2328, 2309, 2357, 4511, 2362,
640 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511,
641 4511, 746, 725, 597, 577, 441, 426, 420, 267, 253,
642 247, 230, 183, 181, 2317, 2338, 2342, 2330, 2336, 2343,
643 2339, 2331, 2334, 2350, 2341, 2345, 0, 2350, 2346, 2344,
644 2349, 2361, 2364, 2367, 2359, 4511, 2357, 0, 2358, 2362,
645 2379, 2383, 2375, 4511, 2388, 2375, 2382, 2377, 2389, 4511,
647 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511,
648 4511, 122, 2399, 2398, 2382, 2391, 2391, 0, 2407, 2408,
649 0, 2397, 2398, 2420, 2417, 2414, 2418, 2426, 4511, 2414,
650 4511, 4511, 4511, 2422, 2429, 2419, 4511, 4511, 2417, 2437,
651 2435, 2425, 2428, 2428, 4511, 2431, 2445, 2445, 2447, 2452,
652 0, 0, 2461, 0, 2444, 0, 2459, 4511, 4511, 2452,
653 4511, 4511, 2454, 2465, 2452, 2467, 2471, 2470, 2476, 2481,
654 0, 2468, 2465, 2465, 2485, 0, 2465, 4511, 4511, 4511,
655 2489, 2491, 2479, 2488, 4511, 2501, 2491, 2498, 2503, 2490,
656 0, 4511, 2497, 4511, 2510, 2500, 2502, 2500, 0, 2514,
658 4511, 4511, 2516, 0, 2523, 2508, 2509, 0, 2528, 2531,
659 0, 0, 4511, 2593, 2614, 2635, 2656, 2677, 2698, 2719,
660 2740, 2761, 2782, 2803, 2824, 2845, 2866, 2887, 2908, 2929,
661 2950, 2971, 2992, 3013, 3025, 3044, 3055, 3074, 3095, 3108,
662 3127, 3148, 3169, 3190, 3202, 3221, 3242, 3263, 3280, 3292,
663 3311, 3332, 3353, 3374, 3395, 3408, 2553, 3423, 3444, 3463,
664 3484, 3505, 3517, 3536, 3557, 2569, 3057, 3578, 3590, 3609,
665 3630, 3651, 2558, 3663, 3684, 3705, 3726, 3747, 3768, 3789,
666 3810, 3831, 3843, 3862, 3879, 3891, 3910, 3931, 3952, 3973,
667 3994, 4007, 4022, 4043, 4062, 4083, 4104, 4125, 4146, 4167,
669 4179, 4189, 4208, 4229, 4250, 2561, 4262, 4283, 4304, 4325,
670 4346, 4367, 3028, 4379, 4398, 4419, 4432, 4447, 4468, 4489
673 static const flex_int16_t yy_def[1221] =
675 1113, 1113, 1114, 1114, 1115, 1116, 1117, 1117, 1118, 1118,
676 1119, 1119, 1113, 13, 1120, 1120, 1121, 1121, 1122, 1122,
677 1123, 1123, 1124, 1124, 1113, 25, 1125, 1125, 1126, 1126,
678 1127, 1127, 1128, 1128, 1113, 35, 1129, 1129, 1130, 1130,
679 1120, 1120, 1120, 1120, 1131, 1131, 1132, 1132, 1126, 1126,
680 1133, 1133, 1134, 1134, 1113, 1113, 1113, 1113, 1113, 1135,
681 1113, 1113, 1113, 1113, 1136, 1113, 1137, 1113, 1113, 1113,
682 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1138, 1139,
683 1140, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
684 1141, 1113, 1141, 1142, 1113, 1113, 1143, 1113, 1143, 1113,
686 1143, 1143, 1113, 1113, 1113, 1144, 1113, 1113, 1113, 1113,
687 1113, 1113, 1113, 1113, 1113, 1145, 1113, 1113, 1113, 1113,
688 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1139, 1113, 1113,
689 1139, 1146, 1113, 1113, 1113, 1147, 1113, 1139, 1113, 1148,
690 1113, 1148, 1113, 1149, 1113, 1150, 1150, 1150, 1113, 1113,
691 1113, 1113, 1151, 1113, 1151, 1152, 1113, 1152, 1113, 1113,
692 1113, 1153, 1113, 1153, 1113, 1113, 1154, 1113, 1113, 1113,
693 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
694 1113, 1113, 1155, 1113, 1113, 1113, 1156, 1156, 1156, 1156,
695 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1157, 1156, 1156,
697 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1113, 1113, 1158,
698 1113, 1159, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
699 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1160, 1113, 1160,
700 1113, 1113, 1113, 1113, 1113, 1113, 1161, 1113, 1113, 1162,
701 1162, 1113, 1113, 1113, 1113, 1163, 1113, 1113, 1113, 1113,
702 1113, 1164, 1165, 1113, 1113, 1113, 1113, 1166, 1164, 1167,
703 1168, 1113, 1169, 1113, 1113, 1113, 1113, 1170, 1113, 1113,
704 1113, 1113, 1113, 1171, 1171, 1172, 1113, 1113, 1173, 1113,
705 1113, 1113, 1174, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
706 1175, 1113, 1113, 1113, 1176, 1113, 1177, 1178, 1179, 1113,
708 1113, 1180, 1113, 1180, 1180, 1113, 1113, 1181, 1182, 1113,
709 1113, 1113, 1113, 1113, 1113, 1113, 1183, 1113, 1113, 1113,
710 1113, 1113, 1113, 1113, 1113, 1184, 1113, 1113, 1185, 1113,
711 1186, 1186, 1186, 1187, 1113, 1187, 1188, 1113, 1113, 1189,
712 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1190, 1113, 1113,
713 1113, 1113, 1191, 1113, 1113, 1113, 1192, 1192, 1192, 1192,
714 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192,
715 1192, 1192, 1192, 1192, 1192, 1192, 1113, 1192, 1192, 1192,
716 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1193, 1113,
717 1113, 1194, 1113, 1113, 1113, 1195, 1113, 1113, 1113, 1113,
719 1196, 1113, 1113, 1197, 1113, 1198, 1199, 1200, 1113, 1113,
720 1113, 1113, 1113, 1113, 1201, 1198, 1202, 1203, 1113, 1203,
721 1113, 1204, 1113, 1204, 1113, 1113, 1205, 1205, 1205, 1113,
722 1205, 1205, 1113, 1206, 1113, 1113, 1207, 1113, 1113, 1113,
723 1113, 1208, 1113, 1209, 1210, 1211, 1211, 1212, 1113, 1212,
724 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
725 1213, 1213, 1113, 1214, 1214, 1113, 1215, 1216, 1113, 1113,
726 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
727 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
728 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
730 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
731 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113,
732 1200, 1200, 1113, 1200, 1200, 1113, 1113, 1113, 1113, 1201,
733 1218, 1202, 1113, 1113, 1205, 432, 430, 430, 1205, 432,
734 1113, 1113, 1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213,
735 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
736 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214,
737 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217,
738 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
739 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
741 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
742 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
743 1113, 1113, 1113, 1113, 1200, 1200, 1113, 1113, 1113, 1218,
744 1218, 1218, 1113, 534, 534, 1205, 432, 1205, 1205, 1205,
745 1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213, 1213, 1213,
746 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
747 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214,
748 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
749 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
750 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
752 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
753 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1219, 1113,
754 1113, 1218, 1113, 1218, 1113, 1205, 1205, 1205, 1113, 1113,
755 1211, 1211, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
756 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
757 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1113, 1113,
758 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
759 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
760 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
761 1217, 1217, 1217, 1113, 1217, 1113, 1113, 1113, 1113, 1219,
763 1113, 1219, 1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213,
764 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
765 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
766 1213, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
767 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
768 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113,
769 1113, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
770 1113, 1113, 1220, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
771 1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213, 1213, 1213,
772 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1217, 1217,
774 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
775 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113,
776 1113, 1113, 1113, 1113, 1217, 1217, 1113, 1113, 1113, 1113,
777 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1220, 1113, 1220,
778 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
779 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
780 1113, 1113, 1113, 1213, 1217, 1217, 1217, 1217, 1217, 1217,
781 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
782 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217, 1113, 1113,
783 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
785 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
786 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
787 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113,
788 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
789 1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
790 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113,
791 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217,
792 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113,
793 1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
794 1217, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
796 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
797 1217, 1217, 0, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
798 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
799 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
800 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
801 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
802 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
803 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
804 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
805 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
807 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
808 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113
811 static const flex_int16_t yy_nxt[4596] =
813 56, 57, 58, 56, 59, 56, 56, 56, 56, 56,
814 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
815 56, 56, 56, 56, 56, 56, 56, 60, 60, 60,
816 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
817 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
818 60, 60, 56, 56, 56, 56, 60, 60, 60, 60,
819 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
820 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
821 60, 56, 56, 56, 56, 61, 62, 56, 63, 56,
822 64, 56, 65, 56, 56, 56, 56, 56, 56, 56,
824 56, 66, 56, 56, 56, 56, 56, 56, 56, 56,
825 56, 67, 67, 67, 67, 67, 67, 67, 67, 67,
826 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
827 67, 67, 67, 67, 67, 67, 56, 56, 56, 56,
828 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
829 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
830 67, 67, 67, 67, 67, 56, 56, 56, 69, 70,
831 305, 71, 72, 89, 73, 90, 1045, 74, 75, 76,
832 76, 275, 276, 76, 77, 92, 89, 95, 90, 96,
833 78, 56, 93, 76, 95, 323, 96, 107, 108, 305,
835 109, 107, 108, 1012, 109, 125, 291, 126, 127, 154,
836 154, 155, 155, 119, 125, 120, 126, 127, 333, 79,
837 80, 238, 98, 239, 99, 121, 638, 56, 100, 122,
838 122, 122, 122, 98, 323, 99, 157, 1011, 158, 105,
839 350, 130, 131, 233, 132, 234, 159, 333, 81, 76,
840 76, 82, 83, 235, 84, 72, 128, 73, 85, 427,
841 74, 75, 76, 76, 101, 128, 76, 77, 134, 350,
842 135, 102, 103, 86, 104, 101, 76, 130, 131, 292,
843 132, 136, 102, 103, 1010, 104, 160, 378, 161, 229,
844 238, 230, 239, 101, 123, 297, 209, 298, 231, 210,
846 102, 1009, 79, 80, 101, 87, 209, 1008, 229, 210,
847 230, 102, 211, 211, 211, 211, 378, 231, 137, 138,
848 139, 1007, 211, 211, 211, 211, 243, 244, 335, 245,
849 336, 81, 76, 76, 110, 111, 112, 110, 113, 110,
850 110, 110, 110, 110, 110, 110, 114, 110, 114, 110,
851 110, 110, 110, 110, 110, 110, 110, 110, 110, 115,
852 110, 116, 116, 116, 116, 116, 116, 116, 116, 116,
853 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
854 116, 116, 116, 116, 116, 116, 110, 110, 110, 110,
855 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
857 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
858 116, 116, 116, 116, 116, 110, 110, 110, 119, 134,
859 120, 135, 335, 157, 336, 158, 163, 383, 164, 165,
860 121, 250, 136, 159, 122, 122, 122, 122, 163, 224,
861 164, 165, 163, 233, 241, 234, 343, 247, 248, 242,
862 249, 304, 225, 235, 269, 269, 383, 270, 280, 419,
863 281, 420, 226, 282, 282, 282, 282, 227, 251, 137,
864 138, 139, 345, 160, 1006, 161, 166, 167, 168, 346,
865 1005, 304, 225, 312, 313, 423, 314, 424, 166, 167,
866 168, 226, 166, 167, 168, 1004, 227, 344, 251, 123,
868 140, 140, 141, 140, 142, 143, 140, 140, 140, 144,
869 140, 140, 140, 140, 140, 140, 140, 145, 140, 140,
870 140, 140, 140, 140, 140, 140, 140, 146, 146, 146,
871 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
872 146, 146, 146, 146, 147, 146, 146, 146, 146, 146,
873 146, 148, 149, 140, 150, 140, 146, 146, 146, 146,
874 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
875 146, 146, 146, 147, 146, 146, 146, 146, 146, 146,
876 148, 151, 140, 152, 170, 171, 213, 172, 214, 170,
877 171, 173, 172, 332, 219, 219, 173, 157, 224, 158,
879 174, 220, 220, 349, 449, 174, 450, 236, 428, 429,
880 157, 225, 158, 355, 221, 221, 319, 319, 319, 319,
881 236, 226, 356, 332, 222, 222, 227, 175, 388, 223,
882 223, 1003, 175, 349, 176, 177, 215, 178, 216, 176,
883 177, 225, 178, 355, 221, 221, 335, 160, 336, 161,
884 226, 1002, 356, 222, 222, 227, 175, 388, 223, 223,
885 160, 175, 161, 176, 335, 217, 336, 218, 176, 179,
886 180, 181, 179, 182, 183, 179, 179, 179, 179, 179,
887 179, 179, 179, 179, 179, 179, 179, 179, 184, 185,
888 179, 179, 179, 186, 179, 179, 187, 188, 189, 190,
890 191, 192, 193, 194, 195, 193, 193, 196, 197, 198,
891 199, 200, 193, 201, 202, 203, 204, 205, 206, 193,
892 207, 179, 179, 179, 179, 179, 187, 188, 189, 190,
893 191, 192, 193, 194, 195, 193, 193, 196, 197, 198,
894 199, 200, 201, 202, 203, 204, 205, 206, 193, 207,
895 179, 179, 179, 213, 726, 214, 163, 362, 241, 264,
896 265, 360, 266, 242, 278, 278, 267, 284, 285, 361,
897 286, 363, 278, 278, 287, 433, 433, 278, 278, 1001,
898 278, 278, 475, 288, 358, 364, 369, 427, 370, 289,
899 359, 360, 365, 382, 371, 345, 279, 367, 372, 361,
901 1000, 363, 346, 215, 279, 216, 166, 167, 168, 279,
902 963, 475, 279, 366, 358, 364, 369, 368, 370, 359,
903 376, 290, 365, 382, 371, 279, 962, 367, 372, 384,
904 377, 385, 217, 279, 218, 253, 243, 244, 279, 245,
905 268, 279, 366, 250, 386, 373, 368, 478, 268, 374,
906 376, 387, 405, 379, 254, 416, 255, 426, 255, 384,
907 377, 385, 961, 380, 255, 960, 381, 255, 256, 257,
908 959, 255, 258, 259, 386, 373, 478, 260, 958, 374,
909 251, 387, 405, 379, 254, 416, 255, 426, 255, 391,
910 391, 391, 391, 380, 255, 381, 957, 255, 256, 257,
912 255, 258, 259, 956, 247, 248, 260, 249, 261, 955,
913 251, 408, 409, 954, 410, 408, 409, 953, 410, 408,
914 409, 480, 410, 408, 409, 430, 410, 443, 411, 411,
915 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
916 411, 411, 411, 411, 264, 265, 446, 266, 431, 431,
917 480, 267, 447, 952, 412, 428, 429, 443, 312, 313,
918 413, 314, 464, 414, 951, 284, 285, 950, 286, 465,
919 469, 470, 287, 471, 472, 473, 446, 949, 483, 484,
920 432, 288, 447, 412, 485, 476, 486, 289, 490, 474,
921 413, 487, 464, 414, 319, 319, 319, 319, 491, 465,
923 469, 470, 477, 471, 472, 473, 481, 483, 484, 432,
924 482, 492, 499, 485, 493, 476, 486, 490, 474, 290,
925 419, 487, 420, 948, 419, 268, 420, 423, 491, 424,
926 947, 477, 391, 391, 391, 391, 481, 423, 946, 424,
927 482, 492, 499, 493, 494, 495, 268, 451, 452, 453,
928 454, 455, 455, 456, 455, 455, 455, 455, 457, 455,
929 455, 455, 458, 455, 455, 459, 455, 460, 455, 455,
930 461, 455, 488, 494, 495, 462, 489, 451, 452, 453,
931 454, 455, 455, 456, 455, 455, 455, 455, 457, 455,
932 455, 455, 458, 455, 459, 455, 460, 455, 455, 461,
934 455, 496, 488, 497, 503, 489, 500, 504, 505, 506,
935 501, 945, 508, 498, 509, 502, 507, 944, 520, 428,
936 429, 527, 528, 277, 277, 449, 529, 450, 428, 429,
937 496, 531, 533, 497, 503, 943, 500, 504, 505, 506,
938 501, 508, 498, 509, 631, 502, 507, 510, 520, 511,
939 527, 528, 512, 513, 522, 523, 529, 524, 514, 515,
940 534, 531, 533, 942, 516, 517, 941, 526, 409, 518,
941 410, 525, 525, 525, 525, 543, 519, 510, 544, 511,
942 535, 535, 512, 513, 411, 411, 411, 411, 514, 515,
943 428, 429, 545, 516, 517, 539, 539, 546, 518, 542,
945 542, 542, 542, 569, 449, 543, 450, 570, 544, 571,
946 572, 624, 536, 625, 936, 573, 427, 523, 935, 625,
947 526, 409, 545, 410, 632, 885, 624, 546, 625, 428,
948 429, 626, 523, 569, 524, 722, 723, 570, 724, 571,
949 572, 536, 427, 427, 573, 427, 427, 427, 427, 427,
950 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
951 427, 427, 427, 427, 427, 427, 427, 427, 427, 537,
952 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
953 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
954 537, 537, 537, 537, 428, 429, 884, 538, 427, 537,
956 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
957 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
958 537, 537, 537, 427, 427, 427, 540, 540, 540, 540,
959 547, 547, 547, 547, 547, 540, 540, 540, 540, 540,
960 540, 547, 547, 547, 574, 547, 548, 549, 575, 547,
961 550, 576, 553, 558, 551, 883, 552, 577, 578, 579,
962 428, 429, 556, 557, 580, 540, 540, 540, 540, 540,
963 540, 554, 581, 574, 555, 583, 548, 549, 575, 582,
964 550, 576, 553, 558, 551, 552, 586, 577, 578, 579,
965 584, 587, 556, 557, 580, 882, 585, 588, 589, 881,
967 554, 591, 581, 555, 1113, 583, 592, 593, 582, 559,
968 560, 561, 562, 594, 595, 563, 586, 596, 597, 584,
969 564, 587, 598, 599, 565, 585, 588, 566, 589, 567,
970 600, 591, 568, 601, 602, 603, 592, 593, 606, 559,
971 560, 561, 562, 594, 595, 563, 607, 596, 597, 604,
972 564, 608, 598, 599, 565, 605, 566, 609, 567, 610,
973 600, 568, 611, 601, 602, 603, 612, 614, 606, 613,
974 615, 616, 617, 618, 620, 607, 619, 621, 622, 604,
975 608, 623, 428, 429, 274, 605, 644, 609, 627, 610,
976 628, 629, 611, 633, 641, 642, 612, 614, 613, 880,
978 615, 616, 617, 618, 620, 619, 621, 622, 631, 522,
979 523, 623, 524, 626, 523, 644, 524, 801, 627, 802,
980 628, 629, 879, 633, 641, 642, 525, 525, 525, 525,
981 525, 525, 525, 525, 427, 427, 878, 427, 427, 427,
982 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
983 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
984 427, 634, 634, 634, 634, 634, 634, 634, 634, 634,
985 634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
986 634, 634, 634, 634, 634, 634, 428, 429, 632, 635,
987 427, 634, 634, 634, 634, 634, 634, 634, 634, 634,
989 634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
990 634, 634, 634, 634, 634, 427, 427, 427, 636, 636,
991 643, 547, 547, 877, 639, 639, 547, 547, 547, 547,
992 547, 648, 651, 547, 876, 547, 547, 428, 429, 646,
993 650, 647, 547, 653, 428, 429, 649, 655, 656, 657,
994 643, 658, 428, 429, 637, 637, 637, 637, 428, 429,
995 652, 648, 651, 637, 637, 637, 637, 637, 637, 646,
996 650, 647, 547, 653, 547, 649, 547, 655, 656, 657,
997 801, 658, 802, 547, 669, 547, 547, 661, 547, 652,
998 654, 671, 659, 637, 637, 637, 637, 637, 637, 640,
1000 640, 640, 640, 660, 547, 662, 666, 663, 640, 640,
1001 640, 640, 640, 640, 669, 547, 547, 661, 670, 672,
1002 654, 671, 659, 673, 668, 875, 664, 674, 675, 665,
1003 676, 677, 678, 660, 662, 667, 666, 663, 640, 640,
1004 640, 640, 640, 640, 682, 684, 679, 670, 672, 683,
1005 685, 874, 686, 673, 668, 664, 674, 675, 665, 676,
1006 687, 677, 678, 680, 688, 667, 690, 691, 695, 681,
1007 872, 693, 694, 696, 682, 684, 697, 698, 683, 699,
1008 685, 686, 700, 701, 869, 702, 703, 704, 705, 687,
1009 706, 707, 709, 680, 688, 690, 708, 691, 695, 681,
1011 693, 694, 696, 710, 711, 713, 697, 698, 712, 699,
1012 714, 700, 716, 701, 702, 703, 715, 704, 705, 717,
1013 706, 707, 709, 719, 720, 708, 721, 727, 727, 729,
1014 547, 731, 710, 547, 711, 713, 547, 712, 732, 852,
1015 714, 757, 716, 547, 547, 715, 841, 547, 734, 717,
1016 738, 547, 719, 739, 720, 721, 737, 547, 733, 729,
1017 731, 428, 429, 728, 728, 728, 728, 547, 732, 735,
1018 757, 748, 728, 728, 728, 728, 728, 728, 734, 736,
1019 738, 547, 547, 739, 547, 740, 737, 733, 741, 742,
1020 547, 547, 547, 743, 428, 429, 547, 747, 547, 735,
1022 748, 744, 728, 728, 728, 728, 728, 728, 736, 745,
1023 547, 746, 547, 547, 753, 740, 547, 750, 741, 742,
1024 547, 749, 758, 743, 547, 751, 752, 747, 759, 754,
1025 760, 744, 761, 756, 762, 764, 755, 832, 766, 745,
1026 767, 746, 768, 771, 753, 765, 770, 750, 772, 773,
1027 775, 749, 758, 776, 751, 777, 752, 759, 779, 754,
1028 760, 761, 780, 756, 762, 764, 755, 766, 781, 782,
1029 767, 783, 768, 771, 765, 770, 784, 785, 772, 773,
1030 775, 786, 776, 787, 789, 777, 788, 779, 791, 792,
1031 793, 780, 795, 796, 547, 797, 798, 781, 799, 782,
1033 783, 803, 804, 722, 723, 784, 724, 785, 807, 547,
1034 786, 808, 547, 787, 789, 788, 547, 809, 791, 792,
1035 793, 547, 795, 796, 797, 811, 798, 547, 799, 547,
1036 547, 803, 804, 428, 429, 427, 810, 547, 547, 547,
1037 812, 808, 813, 547, 547, 547, 547, 809, 547, 814,
1038 806, 547, 547, 815, 817, 811, 819, 547, 821, 547,
1039 818, 816, 822, 805, 820, 824, 810, 547, 826, 812,
1040 823, 825, 813, 547, 828, 827, 547, 833, 814, 835,
1041 829, 836, 815, 547, 817, 830, 819, 834, 821, 818,
1042 816, 837, 822, 820, 831, 824, 838, 839, 826, 823,
1044 840, 825, 842, 843, 828, 827, 844, 833, 845, 835,
1045 829, 836, 846, 847, 849, 830, 848, 834, 850, 723,
1046 851, 837, 853, 854, 831, 838, 839, 855, 862, 840,
1047 863, 870, 842, 843, 718, 871, 844, 801, 845, 802,
1048 873, 794, 846, 847, 849, 848, 856, 857, 850, 851,
1049 547, 858, 853, 854, 859, 547, 855, 860, 862, 790,
1050 863, 870, 861, 864, 865, 871, 547, 887, 866, 873,
1051 547, 867, 547, 547, 868, 888, 856, 857, 547, 886,
1052 547, 858, 890, 547, 859, 547, 547, 860, 889, 547,
1053 892, 861, 899, 864, 865, 900, 891, 887, 866, 898,
1055 901, 867, 893, 902, 868, 888, 547, 894, 886, 895,
1056 904, 897, 890, 903, 906, 896, 778, 905, 889, 907,
1057 892, 908, 899, 909, 900, 891, 910, 911, 912, 898,
1058 901, 893, 902, 913, 914, 916, 894, 917, 895, 904,
1059 897, 918, 774, 903, 906, 896, 905, 923, 907, 928,
1060 915, 908, 909, 924, 925, 919, 910, 911, 912, 920,
1061 926, 927, 921, 913, 914, 916, 917, 929, 769, 933,
1062 934, 918, 922, 937, 930, 763, 923, 931, 928, 915,
1063 939, 547, 940, 924, 925, 919, 969, 932, 965, 920,
1064 926, 927, 921, 966, 967, 968, 970, 929, 933, 934,
1066 971, 922, 937, 972, 930, 964, 973, 931, 974, 975,
1067 976, 730, 977, 978, 979, 969, 932, 980, 965, 981,
1068 982, 983, 984, 966, 967, 968, 970, 985, 427, 986,
1069 971, 987, 988, 972, 964, 989, 973, 974, 990, 975,
1070 976, 977, 991, 978, 979, 992, 993, 980, 981, 994,
1071 982, 983, 984, 995, 996, 999, 997, 985, 986, 939,
1072 987, 940, 988, 1013, 939, 989, 940, 990, 1014, 1015,
1073 1016, 1017, 991, 998, 1018, 992, 993, 1019, 994, 1020,
1074 1021, 1022, 995, 996, 999, 1023, 997, 1024, 1025, 725,
1075 1026, 1027, 1013, 1028, 1029, 1030, 1031, 1032, 1014, 1015,
1077 1016, 1017, 998, 1033, 1018, 1034, 1035, 1019, 1020, 1021,
1078 1036, 1022, 1037, 1038, 1023, 1039, 1044, 1024, 1025, 1026,
1079 1027, 1040, 1028, 1043, 1029, 1030, 1031, 1032, 1048, 1041,
1080 1046, 1047, 1033, 1042, 1034, 1035, 1049, 1050, 1051, 1052,
1081 1036, 1053, 1037, 1038, 1054, 1039, 1044, 1055, 1056, 1057,
1082 1040, 1058, 1043, 1059, 1060, 1061, 1062, 1048, 1041, 1063,
1083 1046, 1047, 1042, 1064, 1065, 1049, 1050, 1066, 1051, 1052,
1084 1053, 1067, 1068, 1054, 1069, 1070, 1071, 1055, 1056, 1057,
1085 1072, 1058, 1073, 1059, 1060, 1061, 1062, 1074, 1075, 1063,
1086 1076, 1077, 1064, 1078, 1065, 1079, 1080, 1066, 1081, 1082,
1088 1067, 1068, 1083, 1069, 1070, 1084, 1071, 1085, 1086, 1087,
1089 1072, 1088, 1073, 1089, 1090, 718, 1091, 1074, 1075, 1076,
1090 1092, 1077, 1093, 1078, 1094, 1079, 1080, 1081, 1095, 1082,
1091 1096, 1097, 1083, 1098, 1099, 1084, 1100, 1085, 1086, 1087,
1092 1088, 1101, 1089, 1102, 1090, 1091, 1103, 1104, 1105, 1106,
1093 1092, 1107, 1093, 1094, 1108, 692, 1109, 1110, 1095, 1111,
1094 1096, 1097, 1112, 1098, 1099, 1100, 375, 375, 689, 434,
1095 1101, 434, 541, 1102, 541, 1103, 1104, 1105, 645, 1106,
1096 427, 1107, 415, 415, 1108, 1109, 1110, 415, 590, 1111,
1097 344, 343, 1112, 68, 68, 68, 68, 68, 68, 68,
1099 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
1100 68, 68, 68, 68, 88, 88, 88, 88, 88, 88,
1101 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
1102 88, 88, 88, 88, 88, 91, 91, 91, 91, 91,
1103 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
1104 91, 91, 91, 91, 91, 91, 94, 94, 94, 94,
1105 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
1106 94, 94, 94, 94, 94, 94, 94, 97, 97, 97,
1107 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1108 97, 97, 97, 97, 97, 97, 97, 97, 106, 106,
1110 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
1111 106, 106, 106, 106, 106, 106, 106, 106, 106, 56,
1112 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1113 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1114 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
1115 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
1116 118, 124, 124, 124, 124, 124, 124, 124, 124, 124,
1117 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
1118 124, 124, 129, 129, 129, 129, 129, 129, 129, 129,
1119 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
1121 129, 129, 129, 133, 133, 133, 133, 133, 133, 133,
1122 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1123 133, 133, 133, 133, 153, 153, 153, 153, 153, 153,
1124 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
1125 153, 153, 153, 153, 153, 156, 156, 156, 156, 156,
1126 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
1127 156, 156, 156, 156, 156, 156, 162, 162, 162, 162,
1128 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
1129 162, 162, 162, 162, 162, 162, 162, 169, 169, 169,
1130 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
1132 169, 169, 169, 169, 169, 169, 169, 169, 208, 208,
1133 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
1134 208, 208, 208, 208, 208, 208, 208, 208, 208, 212,
1135 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1136 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1137 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
1138 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
1139 228, 232, 232, 232, 232, 232, 232, 232, 232, 232,
1140 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
1141 232, 232, 237, 237, 237, 237, 237, 237, 237, 237,
1143 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
1144 237, 237, 237, 240, 240, 240, 240, 240, 240, 240,
1145 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
1146 240, 240, 240, 240, 246, 547, 246, 438, 246, 246,
1147 455, 455, 455, 246, 252, 252, 252, 252, 252, 252,
1148 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
1149 252, 252, 252, 252, 263, 409, 263, 390, 263, 263,
1150 417, 417, 479, 263, 274, 417, 274, 274, 274, 274,
1151 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
1152 274, 274, 274, 274, 274, 277, 354, 277, 277, 277,
1154 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
1155 277, 277, 277, 277, 277, 277, 283, 283, 351, 283,
1156 348, 283, 283, 467, 466, 463, 283, 295, 315, 295,
1157 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
1158 295, 295, 295, 295, 295, 295, 295, 295, 299, 299,
1159 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
1160 299, 299, 299, 313, 299, 315, 299, 299, 299, 302,
1161 310, 302, 302, 296, 302, 302, 302, 302, 302, 302,
1162 302, 302, 302, 302, 441, 302, 440, 302, 302, 302,
1163 309, 439, 285, 309, 309, 309, 309, 309, 309, 309,
1165 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
1166 309, 317, 438, 317, 436, 317, 317, 435, 425, 269,
1167 317, 322, 421, 322, 322, 322, 322, 322, 322, 322,
1168 322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
1169 322, 322, 325, 265, 325, 325, 325, 325, 325, 325,
1170 325, 325, 325, 325, 325, 325, 325, 325, 325, 248,
1171 325, 325, 325, 326, 244, 326, 341, 326, 403, 326,
1172 326, 326, 326, 402, 326, 326, 400, 399, 398, 326,
1173 328, 397, 328, 328, 328, 395, 328, 328, 328, 328,
1174 328, 328, 328, 328, 328, 328, 328, 328, 328, 328,
1176 328, 331, 394, 331, 393, 331, 331, 390, 354, 352,
1177 331, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1178 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1179 334, 334, 337, 351, 337, 337, 337, 337, 337, 307,
1180 337, 337, 337, 337, 337, 337, 337, 306, 337, 330,
1181 337, 337, 337, 340, 348, 340, 347, 340, 340, 340,
1182 340, 340, 340, 340, 340, 340, 340, 340, 307, 306,
1183 341, 340, 340, 340, 342, 342, 342, 342, 342, 342,
1184 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
1185 342, 342, 342, 342, 342, 353, 307, 353, 353, 353,
1187 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
1188 353, 353, 353, 353, 353, 353, 357, 357, 306, 339,
1189 338, 357, 357, 389, 307, 389, 389, 389, 389, 389,
1190 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
1191 389, 389, 389, 389, 392, 306, 330, 392, 392, 392,
1192 392, 392, 392, 392, 392, 392, 392, 392, 392, 329,
1193 392, 327, 392, 396, 321, 396, 396, 396, 396, 324,
1194 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
1195 396, 396, 396, 396, 401, 401, 401, 401, 401, 401,
1196 401, 401, 401, 401, 401, 401, 401, 401, 401, 321,
1198 401, 320, 401, 401, 401, 404, 318, 404, 404, 404,
1199 316, 404, 404, 404, 404, 404, 404, 404, 404, 404,
1200 313, 315, 311, 404, 404, 404, 246, 310, 246, 308,
1201 246, 246, 307, 306, 303, 246, 406, 301, 406, 406,
1202 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
1203 406, 406, 406, 406, 406, 406, 406, 407, 300, 407,
1204 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1205 407, 407, 407, 407, 407, 407, 407, 407, 418, 418,
1206 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
1207 418, 418, 418, 418, 418, 418, 418, 418, 418, 263,
1209 296, 263, 294, 263, 263, 293, 285, 273, 263, 422,
1210 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
1211 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
1212 427, 272, 427, 427, 427, 427, 427, 427, 427, 427,
1213 427, 427, 427, 427, 427, 427, 427, 271, 427, 427,
1214 427, 274, 265, 274, 274, 274, 274, 274, 274, 274,
1215 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
1216 274, 274, 437, 262, 437, 248, 437, 437, 244, 1113,
1217 117, 437, 117, 437, 442, 1113, 442, 442, 442, 442,
1218 442, 442, 442, 442, 442, 442, 442, 442, 442, 442,
1220 442, 442, 442, 442, 442, 295, 1113, 295, 295, 295,
1221 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
1222 295, 295, 295, 295, 295, 295, 444, 1113, 444, 444,
1223 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
1224 444, 444, 444, 444, 444, 444, 444, 445, 1113, 445,
1225 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
1226 445, 445, 445, 445, 445, 445, 445, 445, 299, 299,
1227 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
1228 299, 299, 299, 1113, 299, 1113, 299, 299, 299, 302,
1229 1113, 302, 302, 1113, 302, 302, 302, 302, 302, 302,
1231 302, 302, 302, 302, 1113, 302, 1113, 302, 302, 302,
1232 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
1233 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
1234 448, 309, 1113, 1113, 309, 309, 309, 309, 309, 309,
1235 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
1236 309, 309, 317, 1113, 317, 1113, 317, 317, 1113, 1113,
1237 1113, 317, 326, 1113, 326, 1113, 326, 1113, 326, 326,
1238 326, 326, 1113, 326, 326, 1113, 1113, 1113, 326, 328,
1239 1113, 328, 328, 328, 328, 328, 328, 328, 328, 328,
1240 328, 328, 328, 328, 328, 328, 328, 328, 328, 328,
1242 331, 1113, 331, 1113, 331, 331, 1113, 1113, 1113, 331,
1243 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1244 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1245 334, 337, 1113, 337, 337, 337, 337, 337, 1113, 337,
1246 337, 337, 337, 337, 337, 337, 1113, 337, 1113, 337,
1247 337, 337, 340, 1113, 340, 1113, 340, 340, 340, 340,
1248 340, 340, 340, 340, 340, 340, 340, 1113, 1113, 1113,
1249 340, 340, 340, 468, 1113, 468, 468, 468, 468, 468,
1250 468, 468, 468, 468, 468, 468, 468, 468, 468, 468,
1251 468, 468, 468, 468, 353, 1113, 353, 353, 353, 353,
1253 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
1254 353, 353, 353, 353, 353, 357, 357, 1113, 1113, 1113,
1255 357, 357, 389, 1113, 389, 389, 389, 389, 389, 389,
1256 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
1257 389, 389, 389, 392, 1113, 1113, 392, 392, 392, 392,
1258 392, 392, 392, 392, 392, 392, 392, 392, 1113, 392,
1259 1113, 392, 396, 1113, 396, 396, 396, 396, 1113, 396,
1260 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
1261 396, 396, 396, 401, 401, 401, 401, 401, 401, 401,
1262 401, 401, 401, 401, 401, 401, 401, 401, 1113, 401,
1264 1113, 401, 401, 401, 404, 1113, 404, 404, 404, 1113,
1265 404, 404, 404, 404, 404, 404, 404, 404, 404, 1113,
1266 1113, 1113, 404, 404, 404, 406, 1113, 406, 406, 406,
1267 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
1268 406, 406, 406, 406, 406, 406, 407, 1113, 407, 407,
1269 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1270 407, 407, 407, 407, 407, 407, 407, 521, 521, 521,
1271 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
1272 521, 521, 521, 521, 521, 521, 521, 521, 530, 1113,
1273 530, 1113, 530, 530, 1113, 1113, 1113, 530, 532, 1113,
1275 532, 1113, 532, 532, 1113, 1113, 1113, 532, 418, 418,
1276 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
1277 418, 418, 418, 418, 418, 418, 418, 418, 418, 422,
1278 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
1279 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
1280 427, 1113, 427, 427, 427, 427, 427, 427, 427, 427,
1281 427, 427, 427, 427, 427, 427, 427, 1113, 427, 427,
1282 427, 437, 1113, 437, 1113, 437, 437, 1113, 1113, 1113,
1283 437, 1113, 437, 442, 1113, 442, 442, 442, 442, 442,
1284 442, 442, 442, 442, 442, 442, 442, 442, 442, 442,
1286 442, 442, 442, 442, 444, 1113, 444, 444, 444, 444,
1287 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
1288 444, 444, 444, 444, 444, 445, 1113, 445, 445, 445,
1289 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
1290 445, 445, 445, 445, 445, 445, 302, 1113, 302, 302,
1291 1113, 302, 302, 302, 302, 302, 302, 302, 302, 302,
1292 302, 1113, 302, 1113, 302, 302, 302, 448, 448, 448,
1293 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
1294 448, 448, 448, 448, 448, 448, 448, 448, 331, 1113,
1295 331, 1113, 331, 331, 1113, 1113, 1113, 331, 342, 1113,
1297 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
1298 342, 342, 342, 342, 342, 342, 342, 342, 342, 468,
1299 1113, 468, 468, 468, 468, 468, 468, 468, 468, 468,
1300 468, 468, 468, 468, 468, 468, 468, 468, 468, 468,
1301 357, 357, 1113, 1113, 1113, 357, 357, 630, 1113, 630,
1302 630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
1303 630, 630, 630, 630, 630, 630, 630, 630, 800, 800,
1304 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
1305 800, 800, 800, 800, 800, 800, 800, 800, 800, 938,
1306 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1308 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1309 55, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1310 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1311 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1312 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1313 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1314 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1315 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1316 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1317 1113, 1113, 1113, 1113, 1113
1321 static const flex_int16_t yy_chk[4596] =
1323 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1324 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1325 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1326 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1327 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1328 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1329 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1330 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1331 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
1332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1340 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
1341 102, 3, 3, 5, 3, 5, 1012, 3, 3, 3,
1342 3, 79, 79, 3, 3, 6, 6, 7, 6, 7,
1343 3, 21, 6, 3, 8, 132, 8, 11, 11, 102,
1345 11, 12, 12, 964, 12, 19, 85, 19, 19, 27,
1346 28, 27, 28, 17, 20, 17, 20, 20, 148, 3,
1347 3, 51, 9, 51, 9, 17, 537, 22, 9, 17,
1348 17, 17, 17, 10, 132, 10, 29, 963, 29, 10,
1349 176, 21, 21, 47, 21, 47, 29, 148, 3, 3,
1350 3, 4, 4, 47, 4, 4, 19, 4, 4, 537,
1351 4, 4, 4, 4, 9, 20, 4, 4, 23, 176,
1352 23, 9, 9, 4, 9, 10, 4, 22, 22, 85,
1353 22, 23, 10, 10, 962, 10, 29, 199, 29, 45,
1354 52, 45, 52, 9, 17, 93, 37, 93, 45, 37,
1356 9, 961, 4, 4, 10, 4, 38, 960, 46, 38,
1357 46, 10, 37, 37, 37, 37, 199, 46, 23, 23,
1358 23, 959, 38, 38, 38, 38, 57, 57, 153, 57,
1359 153, 4, 4, 4, 13, 13, 13, 13, 13, 13,
1360 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1361 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1362 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1363 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1364 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1365 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1367 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1368 13, 13, 13, 13, 13, 13, 13, 13, 18, 24,
1369 18, 24, 155, 30, 155, 30, 31, 202, 31, 31,
1370 18, 64, 24, 30, 18, 18, 18, 18, 32, 43,
1371 32, 32, 53, 48, 53, 48, 167, 61, 61, 53,
1372 61, 101, 43, 48, 73, 73, 202, 73, 81, 261,
1373 81, 261, 43, 81, 81, 81, 81, 43, 64, 24,
1374 24, 24, 170, 30, 958, 30, 31, 31, 31, 170,
1375 957, 101, 43, 111, 111, 268, 111, 268, 32, 32,
1376 32, 43, 53, 53, 53, 956, 43, 167, 64, 18,
1378 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1379 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1380 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1381 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1382 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1383 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1384 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1385 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1386 25, 25, 25, 25, 33, 33, 39, 33, 39, 34,
1387 34, 33, 34, 147, 41, 42, 34, 49, 44, 49,
1389 33, 41, 42, 175, 308, 34, 308, 49, 274, 274,
1390 50, 44, 50, 184, 41, 42, 122, 122, 122, 122,
1391 50, 44, 185, 147, 41, 42, 44, 33, 207, 41,
1392 42, 955, 34, 175, 33, 33, 39, 33, 39, 34,
1393 34, 44, 34, 184, 41, 42, 334, 49, 334, 49,
1394 44, 954, 185, 41, 42, 44, 33, 207, 41, 42,
1395 50, 34, 50, 33, 336, 39, 336, 39, 34, 35,
1396 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1397 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1398 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1400 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1401 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1402 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1403 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1404 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1405 35, 35, 35, 40, 634, 40, 54, 189, 54, 69,
1406 69, 188, 69, 54, 80, 80, 69, 82, 82, 188,
1407 82, 189, 128, 128, 82, 278, 278, 131, 131, 953,
1408 138, 138, 359, 82, 187, 190, 194, 634, 195, 82,
1409 187, 188, 191, 201, 196, 345, 80, 192, 196, 188,
1411 952, 189, 345, 40, 128, 40, 54, 54, 54, 131,
1412 897, 359, 138, 191, 187, 190, 194, 192, 195, 187,
1413 198, 82, 191, 201, 196, 80, 896, 192, 196, 203,
1414 198, 204, 40, 128, 40, 65, 243, 243, 131, 243,
1415 69, 138, 191, 250, 205, 197, 192, 361, 82, 197,
1416 198, 206, 251, 200, 65, 259, 65, 273, 65, 203,
1417 198, 204, 895, 200, 65, 894, 200, 65, 65, 65,
1418 893, 65, 65, 65, 205, 197, 361, 65, 892, 197,
1419 250, 206, 251, 200, 65, 259, 65, 273, 65, 211,
1420 211, 211, 211, 200, 65, 200, 891, 65, 65, 65,
1422 65, 65, 65, 890, 247, 247, 65, 247, 65, 889,
1423 250, 254, 254, 888, 254, 255, 255, 887, 255, 256,
1424 256, 363, 256, 257, 257, 275, 257, 293, 254, 254,
1425 254, 254, 255, 255, 255, 255, 256, 256, 256, 256,
1426 257, 257, 257, 257, 264, 264, 304, 264, 276, 276,
1427 363, 264, 305, 886, 254, 275, 275, 293, 312, 312,
1428 256, 312, 332, 257, 885, 284, 284, 884, 284, 333,
1429 349, 350, 284, 355, 356, 358, 304, 883, 365, 366,
1430 276, 284, 305, 254, 367, 360, 368, 284, 371, 358,
1431 256, 369, 332, 257, 319, 319, 319, 319, 372, 333,
1433 349, 350, 360, 355, 356, 358, 364, 365, 366, 276,
1434 364, 373, 381, 367, 374, 360, 368, 371, 358, 284,
1435 418, 369, 418, 882, 420, 264, 420, 422, 372, 422,
1436 881, 360, 391, 391, 391, 391, 364, 424, 880, 424,
1437 364, 373, 381, 374, 376, 378, 284, 321, 321, 321,
1438 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1439 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1440 321, 321, 370, 376, 378, 321, 370, 321, 321, 321,
1441 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1442 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1444 321, 379, 370, 380, 383, 370, 382, 383, 384, 385,
1445 382, 879, 386, 380, 387, 382, 385, 878, 405, 427,
1446 427, 412, 413, 433, 433, 448, 414, 448, 639, 639,
1447 379, 416, 426, 380, 383, 877, 382, 383, 384, 385,
1448 382, 386, 380, 387, 531, 382, 385, 388, 405, 388,
1449 412, 413, 388, 388, 408, 408, 414, 408, 388, 388,
1450 428, 416, 426, 876, 388, 388, 875, 411, 411, 388,
1451 411, 408, 408, 408, 408, 441, 388, 388, 443, 388,
1452 429, 429, 388, 388, 411, 411, 411, 411, 388, 388,
1453 428, 428, 446, 388, 388, 431, 431, 447, 388, 438,
1455 438, 438, 438, 464, 450, 441, 450, 465, 443, 469,
1456 470, 521, 429, 521, 871, 471, 429, 524, 870, 524,
1457 526, 526, 446, 526, 531, 818, 625, 447, 625, 431,
1458 431, 626, 626, 464, 626, 632, 632, 465, 632, 469,
1459 470, 429, 430, 430, 471, 430, 430, 430, 430, 430,
1460 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1461 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1462 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1463 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1464 430, 430, 430, 430, 430, 430, 817, 430, 430, 430,
1466 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1467 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1468 430, 430, 430, 430, 430, 430, 432, 432, 432, 432,
1469 451, 452, 453, 457, 456, 432, 432, 432, 432, 432,
1470 432, 454, 459, 460, 472, 461, 451, 452, 473, 458,
1471 453, 474, 457, 461, 454, 816, 456, 475, 476, 477,
1472 432, 432, 459, 460, 478, 432, 432, 432, 432, 432,
1473 432, 458, 480, 472, 458, 482, 451, 452, 473, 481,
1474 453, 474, 457, 461, 454, 456, 486, 475, 476, 477,
1475 484, 487, 459, 460, 478, 815, 485, 488, 489, 814,
1477 458, 491, 480, 458, 462, 482, 492, 493, 481, 462,
1478 462, 462, 462, 494, 495, 462, 486, 496, 497, 484,
1479 462, 487, 498, 499, 462, 485, 488, 462, 489, 462,
1480 500, 491, 462, 501, 502, 503, 492, 493, 505, 462,
1481 462, 462, 462, 494, 495, 462, 506, 496, 497, 504,
1482 462, 507, 498, 499, 462, 504, 462, 508, 462, 509,
1483 500, 462, 510, 501, 502, 503, 511, 513, 505, 512,
1484 514, 515, 516, 517, 519, 506, 518, 519, 519, 504,
1485 507, 520, 638, 638, 638, 504, 546, 508, 527, 509,
1486 528, 529, 510, 533, 543, 544, 511, 513, 512, 813,
1488 514, 515, 516, 517, 519, 518, 519, 519, 631, 522,
1489 522, 520, 522, 525, 525, 546, 525, 719, 527, 719,
1490 528, 529, 812, 533, 543, 544, 522, 522, 522, 522,
1491 525, 525, 525, 525, 534, 534, 811, 534, 534, 534,
1492 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1493 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1494 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1495 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1496 534, 534, 534, 534, 534, 534, 534, 534, 631, 534,
1497 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1499 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1500 534, 534, 534, 534, 534, 534, 534, 534, 535, 535,
1501 545, 548, 550, 810, 539, 539, 549, 552, 557, 551,
1502 554, 549, 552, 553, 809, 559, 558, 640, 640, 548,
1503 551, 548, 556, 554, 727, 727, 550, 556, 557, 558,
1504 545, 559, 535, 535, 536, 536, 536, 536, 539, 539,
1505 553, 549, 552, 536, 536, 536, 536, 536, 536, 548,
1506 551, 548, 555, 554, 562, 550, 560, 556, 557, 558,
1507 800, 559, 800, 563, 569, 561, 566, 562, 564, 553,
1508 555, 571, 560, 536, 536, 536, 536, 536, 536, 540,
1510 540, 540, 540, 561, 565, 563, 566, 564, 540, 540,
1511 540, 540, 540, 540, 569, 567, 568, 562, 570, 572,
1512 555, 571, 560, 575, 568, 808, 565, 576, 577, 565,
1513 578, 579, 580, 561, 563, 567, 566, 564, 540, 540,
1514 540, 540, 540, 540, 582, 584, 581, 570, 572, 583,
1515 587, 806, 588, 575, 568, 565, 576, 577, 565, 578,
1516 589, 579, 580, 581, 590, 567, 594, 595, 599, 581,
1517 799, 597, 598, 601, 582, 584, 602, 603, 583, 604,
1518 587, 588, 605, 606, 796, 607, 608, 609, 611, 589,
1519 612, 613, 615, 581, 590, 594, 614, 595, 599, 581,
1521 597, 598, 601, 616, 617, 619, 602, 603, 618, 604,
1522 620, 605, 621, 606, 607, 608, 620, 609, 611, 622,
1523 612, 613, 615, 627, 628, 614, 629, 636, 636, 641,
1524 651, 643, 616, 646, 617, 619, 647, 618, 644, 784,
1525 620, 669, 621, 650, 652, 620, 770, 660, 647, 622,
1526 651, 648, 627, 652, 628, 629, 650, 649, 646, 641,
1527 643, 636, 636, 637, 637, 637, 637, 653, 644, 648,
1528 669, 660, 637, 637, 637, 637, 637, 637, 647, 649,
1529 651, 654, 655, 652, 656, 653, 650, 646, 654, 655,
1530 657, 658, 659, 656, 728, 728, 665, 659, 663, 648,
1532 660, 657, 637, 637, 637, 637, 637, 637, 649, 658,
1533 661, 658, 662, 664, 665, 653, 667, 662, 654, 655,
1534 668, 661, 670, 656, 666, 663, 664, 659, 671, 666,
1535 672, 657, 674, 668, 676, 679, 667, 761, 680, 658,
1536 681, 658, 683, 687, 665, 679, 685, 662, 688, 689,
1537 691, 661, 670, 692, 663, 693, 664, 671, 695, 666,
1538 672, 674, 696, 668, 676, 679, 667, 680, 697, 699,
1539 681, 700, 683, 687, 679, 685, 701, 702, 688, 689,
1540 691, 704, 692, 705, 707, 693, 706, 695, 709, 710,
1541 711, 696, 713, 714, 733, 715, 716, 697, 717, 699,
1543 700, 720, 721, 722, 722, 701, 722, 702, 730, 736,
1544 704, 733, 734, 705, 707, 706, 737, 734, 709, 710,
1545 711, 735, 713, 714, 715, 736, 716, 739, 717, 740,
1546 738, 720, 721, 726, 726, 726, 735, 741, 743, 745,
1547 737, 733, 738, 744, 747, 742, 746, 734, 748, 739,
1548 729, 750, 749, 740, 742, 736, 744, 752, 746, 751,
1549 743, 741, 747, 725, 745, 749, 735, 753, 751, 737,
1550 748, 750, 738, 754, 753, 752, 755, 763, 739, 764,
1551 754, 765, 740, 756, 742, 755, 744, 763, 746, 743,
1552 741, 766, 747, 745, 756, 749, 767, 768, 751, 748,
1554 769, 750, 771, 772, 753, 752, 773, 763, 774, 764,
1555 754, 765, 775, 776, 778, 755, 777, 763, 780, 724,
1556 782, 766, 786, 787, 756, 767, 768, 788, 791, 769,
1557 793, 797, 771, 772, 718, 798, 773, 802, 774, 802,
1558 804, 712, 775, 776, 778, 777, 790, 790, 780, 782,
1559 820, 790, 786, 787, 790, 819, 788, 790, 791, 708,
1560 793, 797, 790, 794, 794, 798, 823, 820, 794, 804,
1561 821, 794, 824, 822, 794, 821, 790, 790, 825, 819,
1562 826, 790, 823, 827, 790, 828, 831, 790, 822, 830,
1563 825, 790, 832, 794, 794, 833, 824, 820, 794, 831,
1565 834, 794, 826, 835, 794, 821, 829, 827, 819, 828,
1566 838, 830, 823, 836, 841, 829, 694, 840, 822, 842,
1567 825, 843, 832, 844, 833, 824, 845, 847, 849, 831,
1568 834, 826, 835, 850, 852, 856, 827, 857, 828, 838,
1569 830, 858, 690, 836, 841, 829, 840, 860, 842, 865,
1570 852, 843, 844, 861, 862, 859, 845, 847, 849, 859,
1571 863, 864, 859, 850, 852, 856, 857, 866, 684, 868,
1572 869, 858, 859, 872, 867, 678, 860, 867, 865, 852,
1573 873, 898, 873, 861, 862, 859, 903, 867, 899, 859,
1574 863, 864, 859, 900, 901, 902, 905, 866, 868, 869,
1576 906, 859, 872, 907, 867, 898, 908, 867, 910, 911,
1577 912, 642, 913, 914, 915, 903, 867, 916, 899, 917,
1578 919, 920, 921, 900, 901, 902, 905, 922, 635, 923,
1579 906, 924, 926, 907, 898, 927, 908, 910, 928, 911,
1580 912, 913, 930, 914, 915, 931, 932, 916, 917, 933,
1581 919, 920, 921, 934, 935, 937, 936, 922, 923, 938,
1582 924, 938, 926, 965, 940, 927, 940, 928, 966, 967,
1583 968, 969, 930, 936, 970, 931, 932, 971, 933, 972,
1584 973, 974, 934, 935, 937, 975, 936, 976, 978, 633,
1585 979, 980, 965, 981, 982, 983, 984, 985, 966, 967,
1587 968, 969, 936, 987, 970, 989, 990, 971, 972, 973,
1588 991, 974, 992, 993, 975, 995, 999, 976, 978, 979,
1589 980, 996, 981, 998, 982, 983, 984, 985, 1015, 997,
1590 1013, 1014, 987, 997, 989, 990, 1016, 1017, 1019, 1020,
1591 991, 1022, 992, 993, 1023, 995, 999, 1024, 1025, 1026,
1592 996, 1027, 998, 1028, 1030, 1034, 1035, 1015, 997, 1036,
1593 1013, 1014, 997, 1039, 1040, 1016, 1017, 1041, 1019, 1020,
1594 1022, 1042, 1043, 1023, 1044, 1046, 1047, 1024, 1025, 1026,
1595 1048, 1027, 1049, 1028, 1030, 1034, 1035, 1050, 1053, 1036,
1596 1055, 1057, 1039, 1060, 1040, 1063, 1064, 1041, 1065, 1066,
1598 1042, 1043, 1067, 1044, 1046, 1068, 1047, 1069, 1070, 1072,
1599 1048, 1073, 1049, 1074, 1075, 623, 1077, 1050, 1053, 1055,
1600 1081, 1057, 1082, 1060, 1083, 1063, 1064, 1065, 1084, 1066,
1601 1086, 1087, 1067, 1088, 1089, 1068, 1090, 1069, 1070, 1072,
1602 1073, 1093, 1074, 1095, 1075, 1077, 1096, 1097, 1098, 1100,
1603 1081, 1103, 1082, 1083, 1105, 596, 1106, 1107, 1084, 1109,
1604 1086, 1087, 1110, 1088, 1089, 1090, 1157, 1157, 593, 1173,
1605 1093, 1173, 1206, 1095, 1206, 1096, 1097, 1098, 547, 1100,
1606 538, 1103, 1166, 1166, 1105, 1106, 1107, 1166, 490, 1109,
1607 467, 466, 1110, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1609 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1610 1114, 1114, 1114, 1114, 1115, 1115, 1115, 1115, 1115, 1115,
1611 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1612 1115, 1115, 1115, 1115, 1115, 1116, 1116, 1116, 1116, 1116,
1613 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
1614 1116, 1116, 1116, 1116, 1116, 1116, 1117, 1117, 1117, 1117,
1615 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
1616 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118, 1118,
1617 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
1618 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119, 1119,
1620 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
1621 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1120,
1622 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1623 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1624 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1625 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1626 1121, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1627 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1628 1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1629 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1631 1123, 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1632 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1633 1124, 1124, 1124, 1124, 1125, 1125, 1125, 1125, 1125, 1125,
1634 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
1635 1125, 1125, 1125, 1125, 1125, 1126, 1126, 1126, 1126, 1126,
1636 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126,
1637 1126, 1126, 1126, 1126, 1126, 1126, 1127, 1127, 1127, 1127,
1638 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
1639 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, 1128,
1640 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
1642 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1129, 1129,
1643 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
1644 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1130,
1645 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1646 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1647 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1648 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1649 1131, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1650 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1651 1132, 1132, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1653 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1654 1133, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1655 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1656 1134, 1134, 1134, 1134, 1135, 455, 1135, 437, 1135, 1135,
1657 1213, 1213, 1213, 1135, 1136, 1136, 1136, 1136, 1136, 1136,
1658 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
1659 1136, 1136, 1136, 1136, 1137, 410, 1137, 389, 1137, 1137,
1660 1167, 1167, 362, 1137, 1138, 1167, 1138, 1138, 1138, 1138,
1661 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
1662 1138, 1138, 1138, 1138, 1138, 1139, 353, 1139, 1139, 1139,
1664 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
1665 1139, 1139, 1139, 1139, 1139, 1139, 1140, 1140, 351, 1140,
1666 346, 1140, 1140, 344, 343, 328, 1140, 1141, 315, 1141,
1667 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
1668 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1142, 1142,
1669 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
1670 1142, 1142, 1142, 314, 1142, 313, 1142, 1142, 1142, 1143,
1671 310, 1143, 1143, 296, 1143, 1143, 1143, 1143, 1143, 1143,
1672 1143, 1143, 1143, 1143, 289, 1143, 288, 1143, 1143, 1143,
1673 1144, 287, 286, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1675 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1676 1144, 1145, 283, 1145, 281, 1145, 1145, 280, 271, 270,
1677 1145, 1146, 267, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1678 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1679 1146, 1146, 1147, 266, 1147, 1147, 1147, 1147, 1147, 1147,
1680 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 249,
1681 1147, 1147, 1147, 1148, 245, 1148, 241, 1148, 239, 1148,
1682 1148, 1148, 1148, 238, 1148, 1148, 236, 235, 234, 1148,
1683 1149, 230, 1149, 1149, 1149, 216, 1149, 1149, 1149, 1149,
1684 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
1686 1149, 1150, 215, 1150, 214, 1150, 1150, 210, 183, 182,
1687 1150, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1688 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1689 1151, 1151, 1152, 180, 1152, 1152, 1152, 1152, 1152, 178,
1690 1152, 1152, 1152, 1152, 1152, 1152, 1152, 177, 1152, 174,
1691 1152, 1152, 1152, 1153, 173, 1153, 172, 1153, 1153, 1153,
1692 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 168, 166,
1693 164, 1153, 1153, 1153, 1154, 1154, 1154, 1154, 1154, 1154,
1694 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
1695 1154, 1154, 1154, 1154, 1154, 1155, 161, 1155, 1155, 1155,
1697 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
1698 1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156, 160, 159,
1699 158, 1156, 1156, 1158, 150, 1158, 1158, 1158, 1158, 1158,
1700 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
1701 1158, 1158, 1158, 1158, 1159, 149, 145, 1159, 1159, 1159,
1702 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 144,
1703 1159, 142, 1159, 1160, 137, 1160, 1160, 1160, 1160, 135,
1704 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
1705 1160, 1160, 1160, 1160, 1161, 1161, 1161, 1161, 1161, 1161,
1706 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 130,
1708 1161, 126, 1161, 1161, 1161, 1162, 120, 1162, 1162, 1162,
1709 115, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
1710 113, 112, 109, 1162, 1162, 1162, 1163, 107, 1163, 105,
1711 1163, 1163, 104, 103, 99, 1163, 1164, 96, 1164, 1164,
1712 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1713 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1165, 95, 1165,
1714 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
1715 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1168, 1168,
1716 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
1717 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1169,
1719 92, 1169, 90, 1169, 1169, 86, 84, 78, 1169, 1170,
1720 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1721 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1722 1171, 77, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
1723 1171, 1171, 1171, 1171, 1171, 1171, 1171, 74, 1171, 1171,
1724 1171, 1172, 71, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1725 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1726 1172, 1172, 1174, 66, 1174, 63, 1174, 1174, 59, 55,
1727 16, 1174, 15, 1174, 1175, 0, 1175, 1175, 1175, 1175,
1728 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175,
1730 1175, 1175, 1175, 1175, 1175, 1176, 0, 1176, 1176, 1176,
1731 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
1732 1176, 1176, 1176, 1176, 1176, 1176, 1177, 0, 1177, 1177,
1733 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
1734 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1178, 0, 1178,
1735 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
1736 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1179, 1179,
1737 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
1738 1179, 1179, 1179, 0, 1179, 0, 1179, 1179, 1179, 1180,
1739 0, 1180, 1180, 0, 1180, 1180, 1180, 1180, 1180, 1180,
1741 1180, 1180, 1180, 1180, 0, 1180, 0, 1180, 1180, 1180,
1742 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1743 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1744 1181, 1182, 0, 0, 1182, 1182, 1182, 1182, 1182, 1182,
1745 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
1746 1182, 1182, 1183, 0, 1183, 0, 1183, 1183, 0, 0,
1747 0, 1183, 1184, 0, 1184, 0, 1184, 0, 1184, 1184,
1748 1184, 1184, 0, 1184, 1184, 0, 0, 0, 1184, 1185,
1749 0, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1750 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1752 1186, 0, 1186, 0, 1186, 1186, 0, 0, 0, 1186,
1753 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1754 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1755 1187, 1188, 0, 1188, 1188, 1188, 1188, 1188, 0, 1188,
1756 1188, 1188, 1188, 1188, 1188, 1188, 0, 1188, 0, 1188,
1757 1188, 1188, 1189, 0, 1189, 0, 1189, 1189, 1189, 1189,
1758 1189, 1189, 1189, 1189, 1189, 1189, 1189, 0, 0, 0,
1759 1189, 1189, 1189, 1190, 0, 1190, 1190, 1190, 1190, 1190,
1760 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190,
1761 1190, 1190, 1190, 1190, 1191, 0, 1191, 1191, 1191, 1191,
1763 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
1764 1191, 1191, 1191, 1191, 1191, 1192, 1192, 0, 0, 0,
1765 1192, 1192, 1193, 0, 1193, 1193, 1193, 1193, 1193, 1193,
1766 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
1767 1193, 1193, 1193, 1194, 0, 0, 1194, 1194, 1194, 1194,
1768 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 0, 1194,
1769 0, 1194, 1195, 0, 1195, 1195, 1195, 1195, 0, 1195,
1770 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
1771 1195, 1195, 1195, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
1772 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 0, 1196,
1774 0, 1196, 1196, 1196, 1197, 0, 1197, 1197, 1197, 0,
1775 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 0,
1776 0, 0, 1197, 1197, 1197, 1198, 0, 1198, 1198, 1198,
1777 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
1778 1198, 1198, 1198, 1198, 1198, 1198, 1199, 0, 1199, 1199,
1779 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
1780 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200,
1781 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
1782 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1201, 0,
1783 1201, 0, 1201, 1201, 0, 0, 0, 1201, 1202, 0,
1785 1202, 0, 1202, 1202, 0, 0, 0, 1202, 1203, 1203,
1786 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
1787 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1204,
1788 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
1789 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
1790 1205, 0, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1791 1205, 1205, 1205, 1205, 1205, 1205, 1205, 0, 1205, 1205,
1792 1205, 1207, 0, 1207, 0, 1207, 1207, 0, 0, 0,
1793 1207, 0, 1207, 1208, 0, 1208, 1208, 1208, 1208, 1208,
1794 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208,
1796 1208, 1208, 1208, 1208, 1209, 0, 1209, 1209, 1209, 1209,
1797 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1798 1209, 1209, 1209, 1209, 1209, 1210, 0, 1210, 1210, 1210,
1799 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
1800 1210, 1210, 1210, 1210, 1210, 1210, 1211, 0, 1211, 1211,
1801 0, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
1802 1211, 0, 1211, 0, 1211, 1211, 1211, 1212, 1212, 1212,
1803 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
1804 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1214, 0,
1805 1214, 0, 1214, 1214, 0, 0, 0, 1214, 1215, 0,
1807 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215,
1808 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1216,
1809 0, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1810 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1811 1217, 1217, 0, 0, 0, 1217, 1217, 1218, 0, 1218,
1812 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
1813 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1219, 1219,
1814 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
1815 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1220,
1816 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1818 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1819 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1820 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1821 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1822 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1823 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1824 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1825 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1826 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1827 1113, 1113, 1113, 1113, 1113
1831 static yy_state_type yy_last_accepting_state;
1832 static char *yy_last_accepting_cpos;
1834 extern int yy_flex_debug;
1835 int yy_flex_debug = 0;
1837 /* The intent behind this definition is that it'll catch
1838 * any uses of REJECT which flex missed.
1840 #define REJECT reject_used_but_not_detected
1841 #define yymore() yymore_used_but_not_detected
1842 #define YY_MORE_ADJ 0
1843 #define YY_RESTORE_YY_MORE_OFFSET
1845 #line 1 "tests/scan.l"
1846 /* scan.l - scanner for flex input -*-C-*- */
1847 #line 4 "tests/scan.l"
1848 /* Copyright (c) 1990 The Regents of the University of California. */
1849 /* All rights reserved. */
1851 /* This code is derived from software contributed to Berkeley by */
1854 /* The United States Government has rights in this work pursuant */
1855 /* to contract no. DE-AC03-76SF00098 between the United States */
1856 /* Department of Energy and the University of California. */
1858 /* This file is part of flex. */
1860 /* Redistribution and use in source and binary forms, with or without */
1861 /* modification, are permitted provided that the following conditions */
1864 /* 1. Redistributions of source code must retain the above copyright */
1865 /* notice, this list of conditions and the following disclaimer. */
1866 /* 2. Redistributions in binary form must reproduce the above copyright */
1867 /* notice, this list of conditions and the following disclaimer in the */
1868 /* documentation and/or other materials provided with the distribution. */
1870 /* Neither the name of the University nor the names of its contributors */
1871 /* may be used to endorse or promote products derived from this software */
1872 /* without specific prior written permission. */
1874 /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */
1875 /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */
1876 /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
1879 #include "flexdef.h"
1881 extern bool tablesverify, tablesext;
1882 extern int trlcontxt; /* Set in parse.y for each rule. */
1883 extern const char *escaped_qstart, *escaped_qend;
1885 #define M4QSTART "[""["
1886 #define M4QEND "]""]"
1888 #define ESCAPED_QSTART "[" M4QEND M4QSTART "[" M4QEND M4QSTART
1889 #define ESCAPED_QEND M4QEND "]" M4QSTART M4QEND "]" M4QSTART
1891 #define ACTION_ECHO add_action( yytext )
1892 #define ACTION_IFDEF(def, should_define) \
1894 if ( should_define ) \
1895 action_define( def, 1 ); \
1898 #define ACTION_ECHO_QSTART add_action (ESCAPED_QSTART)
1899 #define ACTION_ECHO_QEND add_action (ESCAPED_QEND)
1901 #define ACTION_M4_IFDEF(def, should_define) \
1903 if ( should_define ) \
1904 buf_m4_define( &m4defs_buf, def, NULL);\
1906 buf_m4_undefine( &m4defs_buf, def);\
1909 #define MARK_END_OF_PROLOG mark_prolog();
1913 static int real_flexscan(void)
1919 #define RETURNCHAR \
1920 yylval = (unsigned char) yytext[0]; \
1923 #define RETURNNAME \
1924 if(yyleng < MAXLINE) \
1926 strncpy( nmstr, yytext, sizeof(nmstr) ); \
1928 piece_append("<PLex_Name>"); \
1929 piece_escape(yytext, strlen(yytext)); \
1930 piece_append("</PLex_Name>"); \
1937 synerr(_("Input line too long\n")); \
1938 FLEX_EXIT(EXIT_FAILURE); \
1941 #define PUT_BACK_STRING(str, start) \
1942 { size_t i = strlen( str ); \
1943 while ( i > start ) \
1944 unput((str)[--i]); \
1947 #define CHECK_REJECT(str) \
1948 if ( all_upper( str ) ) \
1951 #define CHECK_YYMORE(str) \
1952 if ( all_lower( str ) ) \
1955 #define YY_USER_INIT \
1956 if ( getenv("POSIXLY_CORRECT") ) \
1957 posix_compat = true;
1959 #define START_CODEBLOCK(x) do { \
1960 /* Emit the needed line directive... */\
1961 if (indented_code == false) { \
1963 line_directive_out(NULL, 1); \
1965 add_action(M4QSTART); \
1966 yy_push_state(CODEBLOCK); \
1967 if ((indented_code = x)) ACTION_ECHO; \
1968 piece_append("<PLex_Section1Or2_CodeBlock>"); \
1971 #define END_CODEBLOCK do { \
1973 add_action(M4QEND); \
1974 if (!indented_code) line_directive_out(NULL, 0);\
1975 piece_append("</PLex_Section1Or2_CodeBlock>"); \
1979 char piece_temp[100], *piece[10000];
1982 void piece_append(const char *str);
1983 void piece_insert(int n, const char *str);
1984 void piece_escape(const char *p, size_t n);
1985 void piece_flush(size_t n);
1988 static void markup_action(const char *text);
1989 static void markup_option(const char *name, int sense);
1991 #line 1991 "lex.yy.c"
1993 #line 1993 "lex.yy.c"
1997 #define SECT2PROLOG 2
2002 #define CARETISBOL 7
2010 #define ACTION_STRING 15
2011 #define PERCENT_BRACE_ACTION 16
2014 #define CODEBLOCK_MATCH_BRACE 19
2015 #define GROUP_WITH_PARAMS 20
2016 #define GROUP_MINUS_PARAMS 21
2017 #define EXTENDED_COMMENT 22
2018 #define COMMENT_DISCARD 23
2019 #define CODE_COMMENT 24
2020 #define SECT3_NOESCAPE 25
2021 #define CHARACTER_CONSTANT 26
2023 #ifndef YY_NO_UNISTD_H
2024 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2025 * down here because we want the user's section 1 to have been scanned first.
2026 * The user has a chance to override it with an option.
2031 #ifndef YY_EXTRA_TYPE
2032 #define YY_EXTRA_TYPE void *
2035 static int yy_init_globals ( void );
2037 /* Accessor methods to globals.
2038 These are made visible to non-reentrant scanners for convenience. */
2040 int yylex_destroy ( void );
2042 int yyget_debug ( void );
2044 void yyset_debug ( int debug_flag );
2046 YY_EXTRA_TYPE yyget_extra ( void );
2048 void yyset_extra ( YY_EXTRA_TYPE user_defined );
2050 FILE *yyget_in ( void );
2052 void yyset_in ( FILE * _in_str );
2054 FILE *yyget_out ( void );
2056 void yyset_out ( FILE * _out_str );
2058 int yyget_leng ( void );
2060 char *yyget_text ( void );
2062 int yyget_lineno ( void );
2064 void yyset_lineno ( int _line_number );
2066 /* Macros after this point can all be overridden by user definitions in
2070 #ifndef YY_SKIP_YYWRAP
2072 extern "C" int yywrap ( void );
2074 extern int yywrap ( void );
2080 static void yyunput ( int c, char *buf_ptr );
2085 static void yy_flex_strncpy ( char *, const char *, int );
2088 #ifdef YY_NEED_STRLEN
2089 static int yy_flex_strlen ( const char * );
2094 static int yyinput ( void );
2096 static int input ( void );
2101 static int yy_start_stack_ptr = 0;
2102 static int yy_start_stack_depth = 0;
2103 static int *yy_start_stack = NULL;
2105 static void yy_push_state ( int _new_state );
2107 static void yy_pop_state ( void );
2109 /* Amount of stuff to slurp up with each read. */
2110 #ifndef YY_READ_BUF_SIZE
2112 /* On IA-64, the buffer size is 16k, not 8k */
2113 #define YY_READ_BUF_SIZE 16384
2115 #define YY_READ_BUF_SIZE 8192
2116 #endif /* __ia64__ */
2119 /* Copy whatever the last rule matched to the standard output. */
2121 /* This used to be an fputs(), but since the string might contain NUL's,
2122 * we now use fwrite().
2124 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2127 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2128 * is returned in "result".
2131 #define YY_INPUT(buf,result,max_size) \
2132 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2136 for ( n = 0; n < max_size && \
2137 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2138 buf[n] = (char) c; \
2140 buf[n++] = (char) c; \
2141 if ( c == EOF && ferror( yyin ) ) \
2142 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2148 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2150 if( errno != EINTR) \
2152 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2163 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2164 * we don't want an extra ';' after the "return" because that will cause
2165 * some compilers to complain about unreachable statements.
2168 #define yyterminate() return YY_NULL
2171 /* Number of entries by which start-condition stack grows. */
2172 #ifndef YY_START_STACK_INCR
2173 #define YY_START_STACK_INCR 25
2176 /* Report a fatal error. */
2177 #ifndef YY_FATAL_ERROR
2178 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2181 /* end tables serialization structures and prototypes */
2183 /* Default declaration of generated scanner - a define so the user can
2184 * easily add parameters.
2187 #define YY_DECL_IS_OURS 1
2189 extern int yylex (void);
2191 #define YY_DECL int yylex (void)
2192 #endif /* !YY_DECL */
2194 /* Code executed at the beginning of each rule, after yytext and yyleng
2197 #ifndef YY_USER_ACTION
2198 #define YY_USER_ACTION
2201 /* Code executed at the end of each rule. */
2203 #define YY_BREAK /*LINTED*/break;
2206 #define YY_RULE_SETUP \
2208 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2209 (yytext[yyleng - 1] == '\n'); \
2212 /** The main scanner function which does all the work.
2216 yy_state_type yy_current_state;
2217 char *yy_cp, *yy_bp;
2229 (yy_start) = 1; /* first start state */
2237 if ( ! YY_CURRENT_BUFFER ) {
2238 yyensure_buffer_stack ();
2239 YY_CURRENT_BUFFER_LVALUE =
2240 yy_create_buffer( yyin, YY_BUF_SIZE );
2243 yy_load_buffer_state( );
2247 #line 184 "tests/scan.l"
2249 #line 186 "tests/scan.l"
2250 static int bracelevel, didadef, indented_code;
2251 static int doing_rule_action = false;
2252 static int option_sense;
2254 int doing_codeblock = false;
2255 int brace_depth=0, brace_start_line=0;
2256 char nmdef[MAXLINE];
2259 #line 2259 "lex.yy.c"
2261 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
2263 yy_cp = (yy_c_buf_p);
2265 /* Support of yytext. */
2266 *yy_cp = (yy_hold_char);
2268 /* yy_bp points to the position in yy_ch_buf of the start of
2273 yy_current_state = (yy_start);
2274 yy_current_state += YY_AT_BOL();
2278 int yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2279 if ( yy_accept[yy_current_state] )
2281 (yy_last_accepting_state) = yy_current_state;
2282 (yy_last_accepting_cpos) = yy_cp;
2284 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2286 yy_current_state = (int) yy_def[yy_current_state];
2287 if ( yy_current_state >= 1114 )
2288 yy_c = yy_meta[yy_c];
2290 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2293 while ( yy_base[yy_current_state] != 4511 );
2296 yy_act = yy_accept[yy_current_state];
2298 { /* have to back up */
2299 yy_cp = (yy_last_accepting_cpos);
2300 yy_current_state = (yy_last_accepting_state);
2301 yy_act = yy_accept[yy_current_state];
2304 YY_DO_BEFORE_ACTION;
2306 do_action: /* This label is used only to access EOF actions. */
2309 { /* beginning of action switch */
2310 case 0: /* must back up */
2311 /* undo the effects of YY_DO_BEFORE_ACTION */
2312 *yy_cp = (yy_hold_char);
2313 yy_cp = (yy_last_accepting_cpos);
2314 yy_current_state = (yy_last_accepting_state);
2315 goto yy_find_action;
2319 #line 196 "tests/scan.l"
2320 START_CODEBLOCK(true); piece_append("<PLex_Text>");
2324 #line 197 "tests/scan.l"
2325 add_action("/*[""["); yy_push_state( COMMENT );
2329 #line 198 "tests/scan.l"
2330 yy_push_state( LINEDIR );
2334 #line 199 "tests/scan.l"
2339 #line 200 "tests/scan.l"
2343 /* rule 6 can match eol */
2345 #line 201 "tests/scan.l"
2346 START_CODEBLOCK(false); piece_flush(strlen(yytext)); piece_append("<PLex_Text>");
2349 /* rule 7 can match eol */
2351 #line 202 "tests/scan.l"
2353 brace_start_line = linenum;
2355 buf_linedir( &top_buf, infilename?infilename:"<stdin>", linenum);
2357 yy_push_state(CODEBLOCK_MATCH_BRACE);
2362 #line 210 "tests/scan.l"
2363 synerr( _("malformed '%top' directive") );
2367 #line 212 "tests/scan.l"
2372 #line 214 "tests/scan.l"
2377 line_directive_out(NULL, 1);
2380 piece_append("</PLex_Section1>");
2382 piece_escape(yytext, strlen(yytext));
2383 piece_append("<PLex_Section2>");
2392 /* rule 11 can match eol */
2394 #line 232 "tests/scan.l"
2395 yytext_is_array = false; ++linenum; piece_append("<PLex_Section1_Options><PLex_Section1_Options_Array>"); piece_flush(strlen(yytext) - 1); piece_append("</PLex_Section1_Options_Array></PLex_Section1_Options>");
2398 /* rule 12 can match eol */
2400 #line 233 "tests/scan.l"
2401 yytext_is_array = true; ++linenum; piece_append("<PLex_Section1_Options><PLex_Section1_Options_Array value=\"true\">"); piece_flush(strlen(yytext) - 1); piece_append("</PLex_Section1_Options_Array></PLex_Section1_Options>");
2405 #line 235 "tests/scan.l"
2406 BEGIN(OPTION); return TOK_OPTION;
2409 /* rule 14 can match eol */
2411 #line 237 "tests/scan.l"
2412 ++linenum; /* ignore */
2415 /* rule 15 can match eol */
2417 #line 238 "tests/scan.l"
2418 ++linenum; /* ignore */
2420 /* xgettext: no-c-format */
2422 /* rule 16 can match eol */
2424 #line 241 "tests/scan.l"
2425 synerr( _( "unrecognized '%' directive" ) );
2429 #line 243 "tests/scan.l"
2431 if(yyleng < MAXLINE)
2433 strncpy( nmstr, yytext, sizeof(nmstr) );
2437 synerr( _("Definition name too long\n"));
2438 FLEX_EXIT(EXIT_FAILURE);
2447 #line 258 "tests/scan.l"
2451 /* rule 19 can match eol */
2453 #line 259 "tests/scan.l"
2454 ++linenum; /* allows blank lines in section 1 */
2457 /* rule 20 can match eol */
2459 #line 260 "tests/scan.l"
2460 ACTION_ECHO; ++linenum; /* maybe end of comment line */
2466 #line 265 "tests/scan.l"
2471 #line 266 "tests/scan.l"
2475 /* rule 23 can match eol */
2477 #line 268 "tests/scan.l"
2478 ++linenum; ACTION_ECHO;
2484 #line 271 "tests/scan.l"
2485 add_action("*/]""]"); yy_pop_state();
2491 #line 274 "tests/scan.l"
2492 ACTION_ECHO; yy_pop_state();
2496 /* This is the same as COMMENT, but is discarded rather than output. */
2499 #line 279 "tests/scan.l"
2504 #line 280 "tests/scan.l"
2509 #line 281 "tests/scan.l"
2513 /* rule 29 can match eol */
2515 #line 282 "tests/scan.l"
2522 #line 286 "tests/scan.l"
2527 #line 287 "tests/scan.l"
2531 /* rule 32 can match eol */
2533 #line 288 "tests/scan.l"
2539 /* rule 33 can match eol */
2541 #line 292 "tests/scan.l"
2546 #line 293 "tests/scan.l"
2547 linenum = myctoi( yytext );
2551 #line 295 "tests/scan.l"
2554 infilename = xstrdup(yytext + 1);
2555 infilename[strlen( infilename ) - 1] = '\0';
2560 #line 300 "tests/scan.l"
2561 /* ignore spurious characters */
2567 #line 303 "tests/scan.l"
2572 #line 304 "tests/scan.l"
2578 /* rule 39 can match eol */
2580 #line 308 "tests/scan.l"
2581 ++linenum; piece_append("</PLex_Text>"); piece_flush(strlen(yytext)); END_CODEBLOCK;
2585 #line 309 "tests/scan.l"
2590 #line 310 "tests/scan.l"
2594 /* rule 42 can match eol */
2596 #line 311 "tests/scan.l"
2600 if ( indented_code ) { piece_flush(strlen(yytext)); piece_append("</PLex_Text>"); END_CODEBLOCK; }
2607 #line 319 "tests/scan.l"
2609 if( --brace_depth == 0){
2610 /* TODO: Matched. */
2613 buf_strnappend(&top_buf, yytext, yyleng);
2618 #line 327 "tests/scan.l"
2621 buf_strnappend(&top_buf, yytext, yyleng);
2625 /* rule 45 can match eol */
2627 #line 332 "tests/scan.l"
2630 buf_strnappend(&top_buf, yytext, yyleng);
2635 #line 337 "tests/scan.l"
2636 buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart));
2640 #line 338 "tests/scan.l"
2641 buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend));
2645 #line 339 "tests/scan.l"
2647 buf_strnappend(&top_buf, yytext, yyleng);
2650 case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE):
2651 #line 343 "tests/scan.l"
2653 linenum = brace_start_line;
2654 synerr(_("Unmatched '{'"));
2662 #line 352 "tests/scan.l"
2663 /* separates name and definition */
2667 #line 354 "tests/scan.l"
2669 if(yyleng < MAXLINE)
2671 strncpy( nmdef, yytext, sizeof(nmdef) );
2675 format_synerr( _("Definition value for {%s} too long\n"), nmstr);
2676 FLEX_EXIT(EXIT_FAILURE);
2678 /* Skip trailing whitespace. */
2680 size_t i = strlen( nmdef );
2681 while (i > 0 && (nmdef[i-1] == ' ' || nmdef[i-1] == '\t'))
2686 ndinstal( nmstr, nmdef );
2691 /* rule 51 can match eol */
2693 #line 376 "tests/scan.l"
2696 synerr( _( "incomplete name definition" ) );
2704 /* rule 52 can match eol */
2706 #line 386 "tests/scan.l"
2707 ++linenum; BEGIN(INITIAL);
2711 #line 387 "tests/scan.l"
2712 option_sense = true;
2716 #line 389 "tests/scan.l"
2721 #line 391 "tests/scan.l"
2722 option_sense = ! option_sense;
2726 #line 393 "tests/scan.l"
2727 csize = option_sense ? 128 : 256; markup_option("SevenBit", option_sense);
2731 #line 394 "tests/scan.l"
2732 csize = option_sense ? 256 : 128; markup_option("SevenBit", !option_sense);
2736 #line 396 "tests/scan.l"
2737 long_align = option_sense; markup_option("Align", option_sense);
2741 #line 397 "tests/scan.l"
2743 ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense );
2744 interactive = option_sense;
2745 markup_option("AlwaysInteractive", option_sense);
2750 #line 402 "tests/scan.l"
2751 yytext_is_array = option_sense; markup_option("Array", option_sense);
2755 #line 403 "tests/scan.l"
2756 backing_up_report = option_sense; markup_option("Backup", option_sense);
2760 #line 404 "tests/scan.l"
2761 interactive = ! option_sense; markup_option("Interactive", !option_sense);
2765 #line 405 "tests/scan.l"
2766 bison_bridge_lval = option_sense; markup_option("BisonBridge", option_sense);
2770 #line 406 "tests/scan.l"
2771 { if((bison_bridge_lloc = option_sense))
2772 bison_bridge_lval = true;
2773 markup_option("BisonLocations", option_sense);
2778 #line 410 "tests/scan.l"
2779 C_plus_plus = option_sense; markup_option("CPlusPlus", option_sense);
2783 #line 411 "tests/scan.l"
2784 sf_set_case_ins(!option_sense); markup_option("Caseless", !option_sense);
2788 #line 412 "tests/scan.l"
2789 sf_set_case_ins(option_sense); markup_option("Caseless", option_sense);
2793 #line 413 "tests/scan.l"
2794 ddebug = option_sense; markup_option("Debug", option_sense);
2798 #line 414 "tests/scan.l"
2799 spprdflt = ! option_sense; markup_option("Default", option_sense);
2803 #line 415 "tests/scan.l"
2804 useecs = option_sense; markup_option("ECS", option_sense);
2808 #line 416 "tests/scan.l"
2810 useecs = usemecs = false;
2811 use_read = fullspd = true;
2812 markup_option("Fast", option_sense);
2817 #line 421 "tests/scan.l"
2819 useecs = usemecs = false;
2820 use_read = fulltbl = true;
2821 markup_option("Full", option_sense);
2826 #line 426 "tests/scan.l"
2827 ACTION_IFDEF("YY_NO_INPUT", ! option_sense); markup_option("Input", option_sense);
2831 #line 427 "tests/scan.l"
2832 interactive = option_sense; markup_option("Interactive", option_sense);
2836 #line 428 "tests/scan.l"
2837 lex_compat = option_sense; markup_option("LexCompat", option_sense);
2841 #line 429 "tests/scan.l"
2842 posix_compat = option_sense; markup_option("PosixCompat", option_sense);
2846 #line 430 "tests/scan.l"
2847 gen_line_dirs = option_sense; markup_option("Line", option_sense);
2851 #line 431 "tests/scan.l"
2853 ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense);
2854 /* Override yywrap */
2855 if( option_sense == true )
2857 markup_option("Main", option_sense);
2862 #line 438 "tests/scan.l"
2863 usemecs = option_sense; markup_option("MetaECS", option_sense);
2867 #line 439 "tests/scan.l"
2869 ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense );
2870 interactive = !option_sense;
2871 markup_option("NeverInteractive", option_sense);
2876 #line 444 "tests/scan.l"
2877 performance_report += option_sense ? 1 : -1; markup_option("PerfReport", option_sense);
2881 #line 445 "tests/scan.l"
2882 yytext_is_array = ! option_sense; markup_option("Array", !option_sense);
2886 #line 446 "tests/scan.l"
2887 use_read = option_sense; markup_option("Read", option_sense);
2891 #line 447 "tests/scan.l"
2892 reentrant = option_sense; markup_option("Reentrant", option_sense);
2896 #line 448 "tests/scan.l"
2897 reject_really_used = option_sense; markup_option("Reject", option_sense);
2901 #line 449 "tests/scan.l"
2902 ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense ); markup_option("Stack", option_sense);
2906 #line 450 "tests/scan.l"
2907 do_stdinit = option_sense; markup_option("StdInit", option_sense);
2911 #line 451 "tests/scan.l"
2912 use_stdout = option_sense; markup_option("StdOut", option_sense);
2916 #line 452 "tests/scan.l"
2917 ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense); markup_option("UniStd", option_sense);
2921 #line 453 "tests/scan.l"
2922 ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense); markup_option("Unput", option_sense);
2926 #line 454 "tests/scan.l"
2927 printstats = option_sense; markup_option("Verbose", option_sense);
2931 #line 455 "tests/scan.l"
2932 nowarn = ! option_sense; markup_option("Warn", option_sense);
2936 #line 456 "tests/scan.l"
2937 do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense); markup_option("YYLineNo", option_sense);
2941 #line 457 "tests/scan.l"
2942 yymore_really_used = option_sense; markup_option("YYMore", option_sense);
2946 #line 458 "tests/scan.l"
2947 do_yywrap = option_sense; markup_option("YYWrap", option_sense);
2951 #line 460 "tests/scan.l"
2952 ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense); markup_option("YYPushState", option_sense);
2956 #line 461 "tests/scan.l"
2957 ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense); markup_option("YYPopState", option_sense);
2961 #line 462 "tests/scan.l"
2962 ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense); markup_option("YYTopState", option_sense);
2966 #line 464 "tests/scan.l"
2967 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense); markup_option("YYScanBuffer", option_sense);
2971 #line 465 "tests/scan.l"
2972 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense); markup_option("YYScanBytes", option_sense);
2976 #line 466 "tests/scan.l"
2977 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense); markup_option("YYScanString", option_sense);
2981 #line 468 "tests/scan.l"
2982 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense); markup_option("YYAlloc", option_sense);
2986 #line 469 "tests/scan.l"
2987 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense); markup_option("YYRealloc", option_sense);
2991 #line 470 "tests/scan.l"
2992 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense); markup_option("YYFree", option_sense);
2996 #line 472 "tests/scan.l"
2997 ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense); markup_option("YYGetDebug", option_sense);
3001 #line 473 "tests/scan.l"
3002 ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense); markup_option("YYSetDebug", option_sense);
3006 #line 474 "tests/scan.l"
3007 ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense); markup_option("YYGetExtra", option_sense);
3011 #line 475 "tests/scan.l"
3012 ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense); markup_option("YYSetExtra", option_sense);
3016 #line 476 "tests/scan.l"
3017 ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense); markup_option("YYGetLeng", option_sense);
3021 #line 477 "tests/scan.l"
3022 ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense); markup_option("YYGetText", option_sense);
3026 #line 478 "tests/scan.l"
3027 ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense); markup_option("YYGetLineNo", option_sense);
3031 #line 479 "tests/scan.l"
3032 ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense); markup_option("YYSetLineNo", option_sense);
3036 #line 480 "tests/scan.l"
3037 ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense); markup_option("YYGetIn", option_sense);
3041 #line 481 "tests/scan.l"
3042 ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense); markup_option("YYSetIn", option_sense);
3046 #line 482 "tests/scan.l"
3047 ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense); markup_option("YYGetOut", option_sense);
3051 #line 483 "tests/scan.l"
3052 ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense); markup_option("YYSetOut", option_sense);
3056 #line 484 "tests/scan.l"
3057 ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense); markup_option("YYGetLVal", option_sense);
3061 #line 485 "tests/scan.l"
3062 ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense); markup_option("YYSetLVal", option_sense);
3066 #line 486 "tests/scan.l"
3067 ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense); markup_option("YYGetLLoc", option_sense);
3071 #line 487 "tests/scan.l"
3072 ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense); markup_option("YYSetLLoc", option_sense);
3076 #line 489 "tests/scan.l"
3077 return TOK_EXTRA_TYPE;
3081 #line 490 "tests/scan.l"
3086 #line 491 "tests/scan.l"
3091 #line 492 "tests/scan.l"
3096 #line 493 "tests/scan.l"
3097 return TOK_HEADER_FILE;
3101 #line 494 "tests/scan.l"
3102 return TOK_TABLES_FILE;
3106 #line 495 "tests/scan.l"
3108 tablesverify = option_sense;
3109 if(!tablesext && option_sense)
3111 markup_option("TablesVerify", option_sense);
3116 #line 503 "tests/scan.l"
3118 if(yyleng-1 < MAXLINE)
3120 strncpy( nmstr, yytext + 1, sizeof(nmstr) );
3124 synerr( _("Option line too long\n"));
3125 FLEX_EXIT(EXIT_FAILURE);
3127 nmstr[strlen( nmstr ) - 1] = '\0';
3130 piece_append("<PLex_String>\"<PLex_Text>");
3131 piece_escape(yytext + 1, strlen(yytext + 1) - 1);
3132 piece_append("</PLex_Text>\"</PLex_String>");
3134 return ~NAME; /* actually a misnomer */
3142 #line 526 "tests/scan.l"
3144 format_synerr( _( "unrecognized %%option: %s" ),
3151 /* rule 130 can match eol */
3153 #line 533 "tests/scan.l"
3154 ++linenum; BEGIN(INITIAL);
3159 #line 537 "tests/scan.l"
3160 ++bracelevel; yyless( 2 ); /* eat only %{ */
3164 #line 538 "tests/scan.l"
3165 --bracelevel; yyless( 2 ); /* eat only %} */
3169 #line 540 "tests/scan.l"
3170 START_CODEBLOCK(true); piece_append("<PLex_Text>"); /* indented code in prolog */
3174 #line 542 "tests/scan.l"
3176 /* non-indented code */
3177 if ( bracelevel <= 0 ) {
3178 /* not in %{ ... %} */
3179 yyless( 0 ); /* put it all back */
3184 START_CODEBLOCK(true);
3185 piece_append("<PLex_Text>");
3191 #line 556 "tests/scan.l"
3195 /* rule 136 can match eol */
3197 #line 557 "tests/scan.l"
3198 ++linenum; ACTION_ECHO;
3200 case YY_STATE_EOF(SECT2PROLOG):
3201 #line 559 "tests/scan.l"
3207 piece_append("</PLex_Section2>");
3211 yyterminate(); /* to stop the parser */
3218 /* rule 137 can match eol */
3220 #line 574 "tests/scan.l"
3221 ++linenum; /* allow blank lines in section 2 */
3225 #line 576 "tests/scan.l"
3227 indented_code = false;
3228 doing_codeblock = true;
3230 BEGIN(PERCENT_BRACE_ACTION);
3231 piece_flush(strlen(yytext) - 2);
3232 piece_append("<PLex_Section1Or2_CodeBlock>");
3234 piece_append("<PLex_Text>");
3239 #line 587 "tests/scan.l"
3241 /* Allow "<" to appear in (?x) patterns. */
3249 #line 593 "tests/scan.l"
3254 #line 594 "tests/scan.l"
3255 BEGIN(QUOTE); return '"';
3258 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3259 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3260 YY_DO_BEFORE_ACTION; /* set up yytext again */
3262 #line 595 "tests/scan.l"
3265 if ( lex_compat || posix_compat )
3266 return BEGIN_REPEAT_POSIX;
3268 return BEGIN_REPEAT_FLEX;
3272 /* rule 143 can match eol */
3273 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3274 YY_LINENO_REWIND_TO(yy_bp + 1);
3275 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3276 YY_DO_BEFORE_ACTION; /* set up yytext again */
3278 #line 602 "tests/scan.l"
3283 #line 604 "tests/scan.l"
3286 BEGIN(PERCENT_BRACE_ACTION);
3287 piece_flush(strlen(yytext) - 2);
3288 piece_append("<PLex_Section2_Rule_Action>");
3292 doing_rule_action = true;
3296 piece_escape(yytext, 2);
3298 piece_append("<PLex_Text>");
3304 #if 1 /* don't think this can really happen */
3307 piece_flush(strlen(yytext));
3308 piece_append("<PLex_Text>");
3313 /* rule 145 can match eol */
3315 #line 631 "tests/scan.l"
3318 /* We're in the middle of a (?x: ) pattern. */
3319 /* Push back everything starting at the "|" */
3320 int amt = (int) (strchr (yytext, '|') - yytext);
3325 continued_action = true;
3329 for (i = 0; yytext[i] == '\t' || yytext[i] == ' '; ++i)
3333 piece_append("<PLex_Section2_Rule_Action continued=\"true\">");
3334 piece_escape(yytext, strlen(yytext));
3335 piece_append("</PLex_Section2_Rule_Action>");
3346 #line 659 "tests/scan.l"
3350 /* We're in the middle of a (?x: ) pattern. */
3351 yy_push_state(COMMENT_DISCARD);
3354 yyless( yyleng - 2 ); /* put back '/', '*' */
3356 continued_action = false;
3363 #line 673 "tests/scan.l"
3364 /* allow indented rules */ ;
3368 #line 675 "tests/scan.l"
3371 /* We're in the middle of a (?x: ) pattern. */
3374 /* This rule is separate from the one below because
3375 * otherwise we get variable trailing context, so
3376 * we can't build the scanner using -{f,F}.
3379 continued_action = false;
3384 doing_rule_action = true;
3388 piece_escape(yytext, strlen(yytext));
3390 piece_append("<PLex_Section2_Rule_Action><PLex_Text>");
3400 /* rule 149 can match eol */
3402 #line 705 "tests/scan.l"
3405 /* We're in the middle of a (?x: ) pattern. */
3410 continued_action = false;
3415 unput( '\n' ); /* so <ACTION> sees it */
3420 doing_rule_action = true;
3424 piece_escape(yytext, strlen(yytext));
3426 piece_append("<PLex_Section2_Rule_Action><PLex_Text>");
3436 #line 738 "tests/scan.l"
3439 #line 738 "tests/scan.l"
3444 #line 740 "tests/scan.l"
3447 BEGIN(no_section3_escape ? SECT3_NOESCAPE : SECT3);
3448 outn("/* Begin user sect3 */");
3451 piece_append("</PLex_Section2>");
3452 piece_escape(yytext, strlen(yytext));
3454 piece_append("<PLex_Section3>");
3457 yyterminate(); /* to stop the parser */
3464 #line 757 "tests/scan.l"
3468 if(yyleng < MAXLINE)
3470 strncpy( nmstr, yytext, sizeof(nmstr) );
3474 synerr( _("Input line too long\n"));
3475 FLEX_EXIT(EXIT_FAILURE);
3478 /* Check to see if we've already encountered this
3481 if (0 /* <--- This "0" effectively disables the reuse of a
3482 * character class (purely based on its source text).
3483 * The reason it was disabled is so yacc/bison can parse
3484 * ccl operations, such as ccl difference and union.
3486 && (cclval = ccllookup( nmstr )) != 0 )
3488 if ( input() != ']' )
3489 synerr( _( "bad character class" ) );
3497 /* We fudge a bit. We know that this ccl will
3498 * soon be numbered as lastccl + 1 by cclinit.
3500 cclinstal( nmstr, lastccl + 1 );
3502 /* Push back everything but the leading bracket
3503 * so the ccl can be rescanned.
3514 #line 803 "tests/scan.l"
3519 #line 804 "tests/scan.l"
3520 return CCL_OP_UNION;
3522 /* Check for :space: at the end of the rule so we don't
3523 * wrap the expanded regex in '(' ')' -- breaking trailing
3527 /* rule 156 can match eol */
3529 #line 811 "tests/scan.l"
3532 int end_is_ws, end_ch;
3534 end_ch = yytext[yyleng-1];
3535 end_is_ws = end_ch != '}' ? 1 : 0;
3537 if(yyleng-1 < MAXLINE)
3539 strncpy( nmstr, yytext + 1, sizeof(nmstr) );
3543 synerr( _("Input line too long\n"));
3544 FLEX_EXIT(EXIT_FAILURE);
3546 nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */
3548 if ( (nmdefptr = ndlookup( nmstr )) == 0 )
3550 _( "undefined definition {%s}" ),
3554 { /* push back name surrounded by ()'s */
3555 size_t len = strlen( nmdefptr );
3563 if ( lex_compat || nmdefptr[0] == '^' ||
3564 (len > 0 && nmdefptr[len - 1] == '$')
3565 || (end_is_ws && trlcontxt && !sf_skip_ws()))
3566 { /* don't use ()'s after all */
3567 PUT_BACK_STRING(nmdefptr, 0);
3569 if ( nmdefptr[0] == '^' )
3576 PUT_BACK_STRING(nmdefptr, 0);
3584 #line 863 "tests/scan.l"
3587 yy_push_state(COMMENT_DISCARD);
3589 /* Push back the "*" and return "/" as usual. */
3597 #line 873 "tests/scan.l"
3599 if (lex_compat || posix_compat){
3600 /* Push back the "?#" and treat it like a normal parens. */
3606 yy_push_state(EXTENDED_COMMENT);
3611 #line 883 "tests/scan.l"
3614 if (lex_compat || posix_compat)
3615 /* Push back the "?" and treat it like a normal parens. */
3618 BEGIN(GROUP_WITH_PARAMS);
3624 #line 892 "tests/scan.l"
3625 sf_push(); return '(';
3629 #line 893 "tests/scan.l"
3631 if (_sf_top_ix > 0) {
3635 synerr(_("unbalanced parenthesis"));
3640 #line 901 "tests/scan.l"
3641 return (unsigned char) yytext[0];
3645 #line 902 "tests/scan.l"
3648 /* Nick added this rule for consistency with rest of scanner */
3649 case YY_STATE_EOF(SECT2):
3650 #line 905 "tests/scan.l"
3655 piece_append("</PLex_Section2>");
3659 yyterminate(); /* to stop the parser */
3666 /* rule 164 can match eol */
3668 #line 920 "tests/scan.l"
3669 ++linenum; /* Allow blank lines & continuations */
3673 #line 921 "tests/scan.l"
3674 return (unsigned char) yytext[0];
3678 #line 922 "tests/scan.l"
3679 BEGIN(SECT2); return '>';
3682 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3683 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3684 YY_DO_BEFORE_ACTION; /* set up yytext again */
3686 #line 923 "tests/scan.l"
3687 BEGIN(CARETISBOL); return '>';
3691 #line 924 "tests/scan.l"
3696 #line 925 "tests/scan.l"
3698 format_synerr( _( "bad <start condition>: %s" ),
3705 #line 931 "tests/scan.l"
3706 BEGIN(SECT2); return '^';
3711 #line 935 "tests/scan.l"
3716 #line 936 "tests/scan.l"
3717 BEGIN(SECT2); return '"';
3720 /* rule 173 can match eol */
3722 #line 938 "tests/scan.l"
3724 synerr( _( "missing quote" ) );
3734 #line 947 "tests/scan.l"
3739 #line 948 "tests/scan.l"
3740 BEGIN(GROUP_MINUS_PARAMS);
3744 #line 949 "tests/scan.l"
3749 #line 950 "tests/scan.l"
3754 #line 951 "tests/scan.l"
3761 #line 954 "tests/scan.l"
3766 #line 955 "tests/scan.l"
3771 #line 956 "tests/scan.l"
3776 #line 957 "tests/scan.l"
3782 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3783 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3784 YY_DO_BEFORE_ACTION; /* set up yytext again */
3786 #line 961 "tests/scan.l"
3787 BEGIN(CCL); return '^';
3790 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3791 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3792 YY_DO_BEFORE_ACTION; /* set up yytext again */
3794 #line 962 "tests/scan.l"
3799 #line 963 "tests/scan.l"
3800 BEGIN(CCL); RETURNCHAR;
3805 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3806 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3807 YY_DO_BEFORE_ACTION; /* set up yytext again */
3809 #line 967 "tests/scan.l"
3814 #line 968 "tests/scan.l"
3819 #line 969 "tests/scan.l"
3820 BEGIN(SECT2); return ']';
3823 /* rule 189 can match eol */
3825 #line 970 "tests/scan.l"
3827 synerr( _( "bad character class" ) );
3836 #line 978 "tests/scan.l"
3837 BEGIN(CCL); return CCE_ALNUM;
3841 #line 979 "tests/scan.l"
3842 BEGIN(CCL); return CCE_ALPHA;
3846 #line 980 "tests/scan.l"
3847 BEGIN(CCL); return CCE_BLANK;
3851 #line 981 "tests/scan.l"
3852 BEGIN(CCL); return CCE_CNTRL;
3856 #line 982 "tests/scan.l"
3857 BEGIN(CCL); return CCE_DIGIT;
3861 #line 983 "tests/scan.l"
3862 BEGIN(CCL); return CCE_GRAPH;
3866 #line 984 "tests/scan.l"
3867 BEGIN(CCL); return CCE_LOWER;
3871 #line 985 "tests/scan.l"
3872 BEGIN(CCL); return CCE_PRINT;
3876 #line 986 "tests/scan.l"
3877 BEGIN(CCL); return CCE_PUNCT;
3881 #line 987 "tests/scan.l"
3882 BEGIN(CCL); return CCE_SPACE;
3886 #line 988 "tests/scan.l"
3887 BEGIN(CCL); return CCE_UPPER;
3891 #line 989 "tests/scan.l"
3892 BEGIN(CCL); return CCE_XDIGIT;
3896 #line 991 "tests/scan.l"
3897 BEGIN(CCL); return CCE_NEG_ALNUM;
3901 #line 992 "tests/scan.l"
3902 BEGIN(CCL); return CCE_NEG_ALPHA;
3906 #line 993 "tests/scan.l"
3907 BEGIN(CCL); return CCE_NEG_BLANK;
3911 #line 994 "tests/scan.l"
3912 BEGIN(CCL); return CCE_NEG_CNTRL;
3916 #line 995 "tests/scan.l"
3917 BEGIN(CCL); return CCE_NEG_DIGIT;
3921 #line 996 "tests/scan.l"
3922 BEGIN(CCL); return CCE_NEG_GRAPH;
3926 #line 997 "tests/scan.l"
3927 BEGIN(CCL); return CCE_NEG_LOWER;
3931 #line 998 "tests/scan.l"
3932 BEGIN(CCL); return CCE_NEG_PRINT;
3936 #line 999 "tests/scan.l"
3937 BEGIN(CCL); return CCE_NEG_PUNCT;
3941 #line 1000 "tests/scan.l"
3942 BEGIN(CCL); return CCE_NEG_SPACE;
3946 #line 1001 "tests/scan.l"
3947 BEGIN(CCL); return CCE_NEG_UPPER;
3951 #line 1002 "tests/scan.l"
3952 BEGIN(CCL); return CCE_NEG_XDIGIT;
3956 #line 1003 "tests/scan.l"
3959 _( "bad character class expression: %s" ),
3961 BEGIN(CCL); return CCE_ALNUM;
3968 #line 1012 "tests/scan.l"
3970 yylval = myctoi( yytext );
3976 #line 1017 "tests/scan.l"
3981 #line 1018 "tests/scan.l"
3984 if ( lex_compat || posix_compat )
3985 return END_REPEAT_POSIX;
3987 return END_REPEAT_FLEX;
3992 #line 1026 "tests/scan.l"
3994 synerr( _( "bad character inside {}'s" ) );
4000 /* rule 219 can match eol */
4002 #line 1032 "tests/scan.l"
4004 synerr( _( "missing }" ) );
4014 #line 1042 "tests/scan.l"
4015 bracelevel = 0; piece_append("</PLex_Text>");
4019 #line 1044 "tests/scan.l"
4020 ACTION_ECHO; yy_push_state( CODE_COMMENT );
4025 #line 1047 "tests/scan.l"
4028 CHECK_REJECT(yytext);
4033 #line 1051 "tests/scan.l"
4036 CHECK_YYMORE(yytext);
4042 #line 1057 "tests/scan.l"
4046 /* rule 225 can match eol */
4048 #line 1058 "tests/scan.l"
4052 if (bracelevel <= 0 || (doing_codeblock && indented_code)) {
4053 if ( doing_rule_action )
4054 add_action( "\tYY_BREAK]""]\n" );
4056 piece_flush(strlen(yytext));
4057 if (doing_codeblock)
4058 piece_append("</PLex_Section1Or2_CodeBlock>");
4060 markup_action("</PLex_Section2_Rule_Action>");
4061 doing_rule_action = doing_codeblock = false;
4067 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
4071 #line 1079 "tests/scan.l"
4072 ACTION_ECHO; ++bracelevel;
4076 #line 1080 "tests/scan.l"
4077 ACTION_ECHO; --bracelevel;
4081 #line 1081 "tests/scan.l"
4086 #line 1082 "tests/scan.l"
4091 #line 1083 "tests/scan.l"
4092 ACTION_ECHO; /* character constant */
4096 #line 1084 "tests/scan.l"
4097 ACTION_ECHO; BEGIN(CHARACTER_CONSTANT);
4101 #line 1085 "tests/scan.l"
4102 ACTION_ECHO; BEGIN(ACTION_STRING);
4105 /* rule 233 can match eol */
4107 #line 1086 "tests/scan.l"
4111 if (bracelevel <= 0) {
4112 if ( doing_rule_action )
4114 add_action( "\tYY_BREAK]""]\n" );
4115 piece_flush(strlen(yytext));
4116 markup_action("</PLex_Text></PLex_Section2_Rule_Action>");
4119 doing_rule_action = false;
4126 #line 1101 "tests/scan.l"
4133 #line 1105 "tests/scan.l"
4138 #line 1106 "tests/scan.l"
4139 ACTION_ECHO; BEGIN(ACTION);
4145 #line 1109 "tests/scan.l"
4150 #line 1110 "tests/scan.l"
4151 ACTION_ECHO; BEGIN(ACTION);
4156 /* rule 239 can match eol */
4158 #line 1113 "tests/scan.l"
4162 /* rule 240 can match eol */
4164 #line 1114 "tests/scan.l"
4168 /* rule 241 can match eol */
4170 #line 1115 "tests/scan.l"
4171 ++linenum; ACTION_ECHO; if (bracelevel <= 0) { BEGIN(SECT2); piece_flush(strlen(yytext)); if (doing_rule_action) markup_action("</PLex_Text></PLex_Section2_Rule_Action>"); } else { BEGIN(ACTION); }
4175 #line 1116 "tests/scan.l"
4179 case YY_STATE_EOF(COMMENT):
4180 case YY_STATE_EOF(CODE_COMMENT):
4181 case YY_STATE_EOF(COMMENT_DISCARD):
4182 case YY_STATE_EOF(ACTION):
4183 case YY_STATE_EOF(ACTION_STRING):
4184 case YY_STATE_EOF(CHARACTER_CONSTANT):
4185 #line 1119 "tests/scan.l"
4187 synerr( _( "EOF encountered inside an action" ) );
4191 case YY_STATE_EOF(EXTENDED_COMMENT):
4192 case YY_STATE_EOF(GROUP_WITH_PARAMS):
4193 case YY_STATE_EOF(GROUP_MINUS_PARAMS):
4194 #line 1124 "tests/scan.l"
4196 synerr( _( "EOF encountered inside pattern" ) );
4202 #line 1129 "tests/scan.l"
4204 yylval = myesc( (unsigned char *) yytext );
4206 if ( YY_START == FIRSTCCL )
4215 #line 1139 "tests/scan.l"
4216 fputs(escaped_qstart, yyout);
4220 #line 1140 "tests/scan.l"
4221 fputs(escaped_qend, yyout);
4224 /* rule 246 can match eol */
4226 #line 1141 "tests/scan.l"
4231 #line 1142 "tests/scan.l"
4234 case YY_STATE_EOF(SECT3):
4235 #line 1143 "tests/scan.l"
4240 piece_append("</PLex_Section3>");
4252 #line 1156 "tests/scan.l"
4253 fprintf(yyout, "[""[%s]""]", escaped_qstart);
4257 #line 1157 "tests/scan.l"
4258 fprintf(yyout, "[""[%s]""]", escaped_qend);
4261 /* rule 250 can match eol */
4263 #line 1158 "tests/scan.l"
4268 #line 1159 "tests/scan.l"
4271 case YY_STATE_EOF(SECT3_NOESCAPE):
4272 #line 1160 "tests/scan.l"
4277 piece_append("</PLex_Section3>");
4287 /* rule 252 can match eol */
4289 #line 1172 "tests/scan.l"
4290 format_synerr( _( "bad character: %s" ), yytext );
4294 #line 1174 "tests/scan.l"
4295 YY_FATAL_ERROR( "flex scanner jammed" );
4297 #line 4297 "lex.yy.c"
4298 case YY_STATE_EOF(INITIAL):
4299 case YY_STATE_EOF(CODEBLOCK):
4300 case YY_STATE_EOF(PICKUPDEF):
4301 case YY_STATE_EOF(SC):
4302 case YY_STATE_EOF(CARETISBOL):
4303 case YY_STATE_EOF(NUM):
4304 case YY_STATE_EOF(QUOTE):
4305 case YY_STATE_EOF(FIRSTCCL):
4306 case YY_STATE_EOF(CCL):
4307 case YY_STATE_EOF(RECOVER):
4308 case YY_STATE_EOF(PERCENT_BRACE_ACTION):
4309 case YY_STATE_EOF(OPTION):
4310 case YY_STATE_EOF(LINEDIR):
4313 case YY_END_OF_BUFFER:
4315 /* Amount of text matched not including the EOB char. */
4316 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
4318 /* Undo the effects of YY_DO_BEFORE_ACTION. */
4319 *yy_cp = (yy_hold_char);
4320 YY_RESTORE_YY_MORE_OFFSET
4322 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
4324 /* We're scanning a new file or input source. It's
4325 * possible that this happened because the user
4326 * just pointed yyin at a new source and called
4327 * yylex(). If so, then we have to assure
4328 * consistency between YY_CURRENT_BUFFER and our
4329 * globals. Here is the right place to do so, because
4330 * this is the first action (other than possibly a
4331 * back-up) that will match for the new input source.
4333 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4334 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
4335 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
4338 /* Note that here we test for yy_c_buf_p "<=" to the position
4339 * of the first EOB in the buffer, since yy_c_buf_p will
4340 * already have been incremented past the NUL character
4341 * (since all states make transitions on EOB to the
4342 * end-of-buffer state). Contrast this with the test
4345 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4346 { /* This was really a NUL. */
4347 yy_state_type yy_next_state;
4349 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
4351 yy_current_state = yy_get_previous_state( );
4353 /* Okay, we're now positioned to make the NUL
4354 * transition. We couldn't have
4355 * yy_get_previous_state() go ahead and do it
4356 * for us because it doesn't know how to deal
4357 * with the possibility of jamming (and we don't
4358 * want to build jamming into it because then it
4359 * will run more slowly).
4362 yy_next_state = yy_try_NUL_trans( yy_current_state );
4364 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4366 if ( yy_next_state )
4368 /* Consume the NUL. */
4369 yy_cp = ++(yy_c_buf_p);
4370 yy_current_state = yy_next_state;
4376 yy_cp = (yy_c_buf_p);
4377 goto yy_find_action;
4381 else switch ( yy_get_next_buffer( ) )
4383 case EOB_ACT_END_OF_FILE:
4385 (yy_did_buffer_switch_on_eof) = 0;
4389 /* Note: because we've taken care in
4390 * yy_get_next_buffer() to have set up
4391 * yytext, we can now set up
4392 * yy_c_buf_p so that if some total
4393 * hoser (like flex itself) wants to
4394 * call the scanner after we return the
4395 * YY_NULL, it'll still work - another
4396 * YY_NULL will get returned.
4398 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
4400 yy_act = YY_STATE_EOF(YY_START);
4406 if ( ! (yy_did_buffer_switch_on_eof) )
4412 case EOB_ACT_CONTINUE_SCAN:
4414 (yytext_ptr) + yy_amount_of_matched_text;
4416 yy_current_state = yy_get_previous_state( );
4418 yy_cp = (yy_c_buf_p);
4419 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4422 case EOB_ACT_LAST_MATCH:
4424 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
4426 yy_current_state = yy_get_previous_state( );
4428 yy_cp = (yy_c_buf_p);
4429 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4430 goto yy_find_action;
4437 "fatal flex scanner internal error--no action found" );
4438 } /* end of action switch */
4439 } /* end of scanning one token */
4440 } /* end of user's declarations */
4441 } /* end of yylex */
4443 /* yy_get_next_buffer - try to read in a new buffer
4445 * Returns a code representing an action:
4446 * EOB_ACT_LAST_MATCH -
4447 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
4448 * EOB_ACT_END_OF_FILE - end of file
4450 static int yy_get_next_buffer (void)
4452 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
4453 char *source = (yytext_ptr);
4454 int number_to_move, i;
4457 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4459 "fatal flex scanner internal error--end of buffer missed" );
4461 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4462 { /* Don't try to fill the buffer, so this is an EOF. */
4463 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
4465 /* We matched a single character, the EOB, so
4466 * treat this as a final EOF.
4468 return EOB_ACT_END_OF_FILE;
4473 /* We matched some text prior to the EOB, first
4476 return EOB_ACT_LAST_MATCH;
4480 /* Try to read more data. */
4482 /* First move last chars to start of buffer. */
4483 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
4485 for ( i = 0; i < number_to_move; ++i )
4486 *(dest++) = *(source++);
4488 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4489 /* don't do the read, it's not guaranteed to return an EOF,
4492 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4497 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4499 while ( num_to_read <= 0 )
4500 { /* Not enough room in the buffer - grow it. */
4502 /* just a shorter name for the current buffer */
4503 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
4505 int yy_c_buf_p_offset =
4506 (int) ((yy_c_buf_p) - b->yy_ch_buf);
4508 if ( b->yy_is_our_buffer )
4510 int new_size = b->yy_buf_size * 2;
4512 if ( new_size <= 0 )
4513 b->yy_buf_size += b->yy_buf_size / 8;
4515 b->yy_buf_size *= 2;
4517 b->yy_ch_buf = (char *)
4518 /* Include room in for 2 EOB chars. */
4519 yyrealloc( (void *) b->yy_ch_buf,
4520 (yy_size_t) (b->yy_buf_size + 2) );
4523 /* Can't grow it, we don't own it. */
4524 b->yy_ch_buf = NULL;
4526 if ( ! b->yy_ch_buf )
4528 "fatal error - scanner input buffer overflow" );
4530 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4532 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4537 if ( num_to_read > YY_READ_BUF_SIZE )
4538 num_to_read = YY_READ_BUF_SIZE;
4540 /* Read in more data. */
4541 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4542 (yy_n_chars), num_to_read );
4544 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4547 if ( (yy_n_chars) == 0 )
4549 if ( number_to_move == YY_MORE_ADJ )
4551 ret_val = EOB_ACT_END_OF_FILE;
4557 ret_val = EOB_ACT_LAST_MATCH;
4558 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4559 YY_BUFFER_EOF_PENDING;
4564 ret_val = EOB_ACT_CONTINUE_SCAN;
4566 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4567 /* Extend the array by 50%, plus the number we really need. */
4568 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4569 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
4570 (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
4571 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4572 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4573 /* "- 2" to take care of EOB's */
4574 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
4577 (yy_n_chars) += number_to_move;
4578 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
4579 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
4581 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4586 /* yy_get_previous_state - get the state just before the EOB char was reached */
4588 static yy_state_type yy_get_previous_state (void)
4590 yy_state_type yy_current_state;
4593 yy_current_state = (yy_start);
4594 yy_current_state += YY_AT_BOL();
4596 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4598 int yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4599 if ( yy_accept[yy_current_state] )
4601 (yy_last_accepting_state) = yy_current_state;
4602 (yy_last_accepting_cpos) = yy_cp;
4604 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4606 yy_current_state = (int) yy_def[yy_current_state];
4607 if ( yy_current_state >= 1114 )
4608 yy_c = yy_meta[yy_c];
4610 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4613 return yy_current_state;
4616 /* yy_try_NUL_trans - try to make a transition on the NUL character
4619 * next_state = yy_try_NUL_trans( current_state );
4621 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
4624 char *yy_cp = (yy_c_buf_p);
4627 if ( yy_accept[yy_current_state] )
4629 (yy_last_accepting_state) = yy_current_state;
4630 (yy_last_accepting_cpos) = yy_cp;
4632 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4634 yy_current_state = (int) yy_def[yy_current_state];
4635 if ( yy_current_state >= 1114 )
4636 yy_c = yy_meta[yy_c];
4638 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4639 yy_is_jam = (yy_current_state == 1113);
4641 return yy_is_jam ? 0 : yy_current_state;
4646 static void yyunput (int c, char * yy_bp )
4650 yy_cp = (yy_c_buf_p);
4652 /* undo effects of setting up yytext */
4653 *yy_cp = (yy_hold_char);
4655 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4656 { /* need to shift things up to make room */
4657 /* +2 for EOB chars. */
4658 int number_to_move = (yy_n_chars) + 2;
4659 char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
4660 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
4662 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
4664 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4665 *--dest = *--source;
4667 yy_cp += (int) (dest - source);
4668 yy_bp += (int) (dest - source);
4669 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
4670 (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
4672 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4673 YY_FATAL_ERROR( "flex scanner push-back overflow" );
4676 *--yy_cp = (char) c;
4678 (yytext_ptr) = yy_bp;
4679 (yy_hold_char) = *yy_cp;
4680 (yy_c_buf_p) = yy_cp;
4687 static int yyinput (void)
4689 static int input (void)
4695 *(yy_c_buf_p) = (yy_hold_char);
4697 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4699 /* yy_c_buf_p now points to the character we want to return.
4700 * If this occurs *before* the EOB characters, then it's a
4701 * valid NUL; if not, then we've hit the end of the buffer.
4703 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4704 /* This was really a NUL. */
4705 *(yy_c_buf_p) = '\0';
4708 { /* need more input */
4709 int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
4712 switch ( yy_get_next_buffer( ) )
4714 case EOB_ACT_LAST_MATCH:
4715 /* This happens because yy_g_n_b()
4716 * sees that we've accumulated a
4717 * token and flags that we need to
4718 * try matching the token before
4719 * proceeding. But for input(),
4720 * there's no matching to consider.
4721 * So convert the EOB_ACT_LAST_MATCH
4722 * to EOB_ACT_END_OF_FILE.
4725 /* Reset buffer status. */
4730 case EOB_ACT_END_OF_FILE:
4735 if ( ! (yy_did_buffer_switch_on_eof) )
4744 case EOB_ACT_CONTINUE_SCAN:
4745 (yy_c_buf_p) = (yytext_ptr) + offset;
4751 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
4752 *(yy_c_buf_p) = '\0'; /* preserve yytext */
4753 (yy_hold_char) = *++(yy_c_buf_p);
4755 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
4759 #endif /* ifndef YY_NO_INPUT */
4761 /** Immediately switch to a different input stream.
4762 * @param input_file A readable stream.
4764 * @note This function does not reset the start condition to @c INITIAL .
4766 void yyrestart (FILE * input_file )
4769 if ( ! YY_CURRENT_BUFFER ){
4770 yyensure_buffer_stack ();
4771 YY_CURRENT_BUFFER_LVALUE =
4772 yy_create_buffer( yyin, YY_BUF_SIZE );
4775 yy_init_buffer( YY_CURRENT_BUFFER, input_file );
4776 yy_load_buffer_state( );
4779 /** Switch to a different input buffer.
4780 * @param new_buffer The new input buffer.
4783 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
4786 /* TODO. We should be able to replace this entire function body
4788 * yypop_buffer_state();
4789 * yypush_buffer_state(new_buffer);
4791 yyensure_buffer_stack ();
4792 if ( YY_CURRENT_BUFFER == new_buffer )
4795 if ( YY_CURRENT_BUFFER )
4797 /* Flush out information for old buffer. */
4798 *(yy_c_buf_p) = (yy_hold_char);
4799 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4800 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4803 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4804 yy_load_buffer_state( );
4806 /* We don't actually know whether we did this switch during
4807 * EOF (yywrap()) processing, but the only time this flag
4808 * is looked at is after yywrap() is called, so it's safe
4809 * to go ahead and always set it.
4811 (yy_did_buffer_switch_on_eof) = 1;
4814 static void yy_load_buffer_state (void)
4816 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4817 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4818 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4819 (yy_hold_char) = *(yy_c_buf_p);
4822 /** Allocate and initialize an input buffer state.
4823 * @param file A readable stream.
4824 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4826 * @return the allocated buffer state.
4828 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
4832 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
4834 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4836 b->yy_buf_size = size;
4838 /* yy_ch_buf has to be 2 characters longer than the size given because
4839 * we need to put in 2 end-of-buffer characters.
4841 b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
4842 if ( ! b->yy_ch_buf )
4843 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4845 b->yy_is_our_buffer = 1;
4847 yy_init_buffer( b, file );
4852 /** Destroy the buffer.
4853 * @param b a buffer created with yy_create_buffer()
4856 void yy_delete_buffer (YY_BUFFER_STATE b )
4862 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4863 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4865 if ( b->yy_is_our_buffer )
4866 yyfree( (void *) b->yy_ch_buf );
4868 yyfree( (void *) b );
4871 /* Initializes or reinitializes a buffer.
4872 * This function is sometimes called more than once on the same buffer,
4873 * such as during a yyrestart() or at EOF.
4875 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
4880 yy_flush_buffer( b );
4882 b->yy_input_file = file;
4883 b->yy_fill_buffer = 1;
4885 /* If b is the current buffer, then yy_init_buffer was _probably_
4886 * called from yyrestart() or through yy_get_next_buffer.
4887 * In that case, we don't want to reset the lineno or column.
4889 if (b != YY_CURRENT_BUFFER){
4890 b->yy_bs_lineno = 1;
4891 b->yy_bs_column = 0;
4894 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4899 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4900 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4903 void yy_flush_buffer (YY_BUFFER_STATE b )
4910 /* We always need two end-of-buffer characters. The first causes
4911 * a transition to the end-of-buffer state. The second causes
4912 * a jam in that state.
4914 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4915 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4917 b->yy_buf_pos = &b->yy_ch_buf[0];
4920 b->yy_buffer_status = YY_BUFFER_NEW;
4922 if ( b == YY_CURRENT_BUFFER )
4923 yy_load_buffer_state( );
4926 /** Pushes the new state onto the stack. The new state becomes
4927 * the current state. This function will allocate the stack
4929 * @param new_buffer The new state.
4932 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
4934 if (new_buffer == NULL)
4937 yyensure_buffer_stack();
4939 /* This block is copied from yy_switch_to_buffer. */
4940 if ( YY_CURRENT_BUFFER )
4942 /* Flush out information for old buffer. */
4943 *(yy_c_buf_p) = (yy_hold_char);
4944 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4945 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4948 /* Only push if top exists. Otherwise, replace top. */
4949 if (YY_CURRENT_BUFFER)
4950 (yy_buffer_stack_top)++;
4951 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4953 /* copied from yy_switch_to_buffer. */
4954 yy_load_buffer_state( );
4955 (yy_did_buffer_switch_on_eof) = 1;
4958 /** Removes and deletes the top of the stack, if present.
4959 * The next element becomes the new top.
4962 void yypop_buffer_state (void)
4964 if (!YY_CURRENT_BUFFER)
4967 yy_delete_buffer(YY_CURRENT_BUFFER );
4968 YY_CURRENT_BUFFER_LVALUE = NULL;
4969 if ((yy_buffer_stack_top) > 0)
4970 --(yy_buffer_stack_top);
4972 if (YY_CURRENT_BUFFER) {
4973 yy_load_buffer_state( );
4974 (yy_did_buffer_switch_on_eof) = 1;
4978 /* Allocates the stack if it does not exist.
4979 * Guarantees space for at least one push.
4981 static void yyensure_buffer_stack (void)
4983 yy_size_t num_to_alloc;
4985 if (!(yy_buffer_stack)) {
4987 /* First allocation is just for 2 elements, since we don't know if this
4988 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4989 * immediate realloc on the next call.
4991 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
4992 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
4993 (num_to_alloc * sizeof(struct yy_buffer_state*)
4995 if ( ! (yy_buffer_stack) )
4996 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4998 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
5000 (yy_buffer_stack_max) = num_to_alloc;
5001 (yy_buffer_stack_top) = 0;
5005 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
5007 /* Increase the buffer to prepare for a possible push. */
5008 yy_size_t grow_size = 8 /* arbitrary grow size */;
5010 num_to_alloc = (yy_buffer_stack_max) + grow_size;
5011 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
5013 num_to_alloc * sizeof(struct yy_buffer_state*)
5015 if ( ! (yy_buffer_stack) )
5016 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
5018 /* zero only the new slots.*/
5019 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
5020 (yy_buffer_stack_max) = num_to_alloc;
5024 /** Setup the input buffer state to scan directly from a user-specified character buffer.
5025 * @param base the character buffer
5026 * @param size the size in bytes of the character buffer
5028 * @return the newly allocated buffer state object.
5030 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
5035 base[size-2] != YY_END_OF_BUFFER_CHAR ||
5036 base[size-1] != YY_END_OF_BUFFER_CHAR )
5037 /* They forgot to leave room for the EOB's. */
5040 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
5042 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
5044 b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
5045 b->yy_buf_pos = b->yy_ch_buf = base;
5046 b->yy_is_our_buffer = 0;
5047 b->yy_input_file = NULL;
5048 b->yy_n_chars = b->yy_buf_size;
5049 b->yy_is_interactive = 0;
5051 b->yy_fill_buffer = 0;
5052 b->yy_buffer_status = YY_BUFFER_NEW;
5054 yy_switch_to_buffer( b );
5059 /** Setup the input buffer state to scan a string. The next call to yylex() will
5060 * scan from a @e copy of @a str.
5061 * @param yystr a NUL-terminated string to scan
5063 * @return the newly allocated buffer state object.
5064 * @note If you want to scan bytes that may contain NUL values, then use
5065 * yy_scan_bytes() instead.
5067 YY_BUFFER_STATE yy_scan_string (const char * yystr )
5070 return yy_scan_bytes( yystr, (int) strlen(yystr) );
5073 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
5074 * scan from a @e copy of @a bytes.
5075 * @param yybytes the byte buffer to scan
5076 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
5078 * @return the newly allocated buffer state object.
5080 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
5087 /* Get memory for full buffer, including space for trailing EOB's. */
5088 n = (yy_size_t) (_yybytes_len + 2);
5089 buf = (char *) yyalloc( n );
5091 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
5093 for ( i = 0; i < _yybytes_len; ++i )
5094 buf[i] = yybytes[i];
5096 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
5098 b = yy_scan_buffer( buf, n );
5100 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
5102 /* It's okay to grow etc. this buffer, and we should throw it
5103 * away when we're done.
5105 b->yy_is_our_buffer = 1;
5110 static void yy_push_state (int _new_state )
5112 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
5116 (yy_start_stack_depth) += YY_START_STACK_INCR;
5117 new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
5119 if ( ! (yy_start_stack) )
5120 (yy_start_stack) = (int *) yyalloc( new_size );
5123 (yy_start_stack) = (int *) yyrealloc(
5124 (void *) (yy_start_stack), new_size );
5126 if ( ! (yy_start_stack) )
5127 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
5130 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
5135 static void yy_pop_state (void)
5137 if ( --(yy_start_stack_ptr) < 0 )
5138 YY_FATAL_ERROR( "start-condition stack underflow" );
5140 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
5143 #ifndef YY_EXIT_FAILURE
5144 #define YY_EXIT_FAILURE 2
5147 static void yynoreturn yy_fatal_error (const char* msg )
5149 fprintf( stderr, "%s\n", msg );
5150 exit( YY_EXIT_FAILURE );
5153 /* Redefine yyless() so it works in section 3 code. */
5159 /* Undo effects of setting up yytext. */ \
5160 int yyless_macro_arg = (n); \
5161 YY_LESS_LINENO(yyless_macro_arg);\
5162 yytext[yyleng] = (yy_hold_char); \
5163 (yy_c_buf_p) = yytext + yyless_macro_arg; \
5164 (yy_hold_char) = *(yy_c_buf_p); \
5165 *(yy_c_buf_p) = '\0'; \
5166 yyleng = yyless_macro_arg; \
5170 /* Accessor methods (get/set functions) to struct members. */
5172 /** Get the current line number.
5175 int yyget_lineno (void)
5181 /** Get the input stream.
5184 FILE *yyget_in (void)
5189 /** Get the output stream.
5192 FILE *yyget_out (void)
5197 /** Get the length of the current token.
5200 int yyget_leng (void)
5205 /** Get the current token.
5209 char *yyget_text (void)
5214 /** Set the current line number.
5215 * @param _line_number line number
5218 void yyset_lineno (int _line_number )
5221 yylineno = _line_number;
5224 /** Set the input stream. This does not discard the current
5226 * @param _in_str A readable stream.
5228 * @see yy_switch_to_buffer
5230 void yyset_in (FILE * _in_str )
5235 void yyset_out (FILE * _out_str )
5240 int yyget_debug (void)
5242 return yy_flex_debug;
5245 void yyset_debug (int _bdebug )
5247 yy_flex_debug = _bdebug ;
5250 static int yy_init_globals (void)
5252 /* Initialization is the same as for the non-reentrant scanner.
5253 * This function is called from yylex_destroy(), so don't allocate here.
5256 (yy_buffer_stack) = NULL;
5257 (yy_buffer_stack_top) = 0;
5258 (yy_buffer_stack_max) = 0;
5259 (yy_c_buf_p) = NULL;
5263 (yy_start_stack_ptr) = 0;
5264 (yy_start_stack_depth) = 0;
5265 (yy_start_stack) = NULL;
5267 /* Defined in main.c */
5276 /* For future reference: Set errno on error, since we are called by
5282 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
5283 int yylex_destroy (void)
5286 /* Pop the buffer stack, destroying each element. */
5287 while(YY_CURRENT_BUFFER){
5288 yy_delete_buffer( YY_CURRENT_BUFFER );
5289 YY_CURRENT_BUFFER_LVALUE = NULL;
5290 yypop_buffer_state();
5293 /* Destroy the stack itself. */
5294 yyfree((yy_buffer_stack) );
5295 (yy_buffer_stack) = NULL;
5297 /* Destroy the start condition stack. */
5298 yyfree( (yy_start_stack) );
5299 (yy_start_stack) = NULL;
5301 /* Reset the globals. This is important in a non-reentrant scanner so the next time
5302 * yylex() is called, initialization will occur. */
5309 * Internal utility routines.
5313 static void yy_flex_strncpy (char* s1, const char * s2, int n )
5317 for ( i = 0; i < n; ++i )
5322 #ifdef YY_NEED_STRLEN
5323 static int yy_flex_strlen (const char * s )
5326 for ( n = 0; s[n]; ++n )
5333 void *yyalloc (yy_size_t size )
5335 return malloc(size);
5338 void *yyrealloc (void * ptr, yy_size_t size )
5341 /* The cast to (char *) in the following accommodates both
5342 * implementations that use char* generic pointers, and those
5343 * that use void* generic pointers. It works with the latter
5344 * because both ANSI C and C++ allow castless assignment from
5345 * any pointer type to void*, and deal with argument conversions
5346 * as though doing an assignment.
5348 return realloc(ptr, size);
5351 void yyfree (void * ptr )
5353 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
5356 #define YYTABLES_NAME "yytables"
5358 #line 1174 "tests/scan.l"
5364 if ( --num_input_files > 0 )
5366 set_input_file( *++input_files );
5375 /* set_input_file - open the given file (if NULL, stdin) for scanning */
5377 void set_input_file( char *file )
5379 if ( file && strcmp( file, "-" ) )
5381 infilename = xstrdup(file);
5382 yyin = fopen( infilename, "r" );
5385 lerr( _( "can't open %s" ), file );
5391 infilename = xstrdup("<stdin>");
5398 void piece_append(const char *str) {
5399 piece[piece1++] = strdup(str);
5402 void piece_insert(int n, const char *str) {
5403 memmove(piece + n + 1, piece + n, (piece1 - n) * sizeof(char *));
5404 piece[n] = strdup(str);
5408 void piece_escape(const char *p, size_t n) {
5410 for (i = 0; i < n; ++i)
5423 char *q = malloc(j + 1);
5425 for (i = 0; i < n; ++i)
5428 memcpy(q + j, "<", 4);
5432 memcpy(q + j, ">", 4);
5436 memcpy(q + j, "&", 5);
5444 piece[piece1++] = q;
5447 void piece_flush(size_t n) {
5448 piece_escape(yytext, n);
5455 for (i = piece0; i < piece1; ++i)
5456 j += strlen(piece[i]);
5457 char *q = malloc(j + 1);
5459 for (i = piece0; i < piece1; ++i) {
5460 int k = strlen(piece[i]);
5461 memcpy(q + j, piece[i], k);
5466 piece[piece0++] = q;
5470 int flexscan(void) {
5471 int result = real_flexscan();
5475 piece_escape(yytext, strlen(yytext));
5480 static void markup_action(const char *text) {
5481 /* append to last token text so it appears inside <PLex_Section2_Rule>..</PLex_Section2_Rule> */
5482 /* a problem here is that Rule has already been reduced (marked up), */
5483 /* because we returned a '\n' token when we detected start of action, */
5484 /* hence we need to move the closing </PLex_Section2_Rule> tag over to our right */
5485 int i = strlen(piece[--piece0]);
5486 if (i < 21 || strcmp(piece[piece0] + i - 21, "</PLex_Section2_Rule>") != 0)
5488 piece[piece0][i - 21] = 0;
5490 piece_append("</PLex_Section2_Rule>");
5494 static void markup_option(const char *name, int sense) {
5495 /* a problem here is that we couldn't apply markup when scanning the "no" */
5496 /* prefix because we didn't know what option it was, back up to include it */
5498 while (--i >= piece0 && strcmp(piece[i], "no") == 0)
5500 sprintf(piece_temp, "<PLex_Section1_Options_%s%s>", name, sense ? " value=\"true\"" : "");
5501 piece_insert(i + 1, piece_temp);
5502 piece_flush(strlen(yytext));
5503 sprintf(piece_temp, "</PLex_Section1_Options_%s>", name);
5504 piece_append(piece_temp);
5505 /* append to last token text so it appears inside <PLex_Section1_Options>..</PLex_Section1_Options> */