xref: /freebsd/usr.bin/lex/initscan.c (revision dd41de95a84d979615a2ef11df6850622bf6184e)
1 
2 #line 2 "<stdout>"
3 
4 #define  YY_INT_ALIGNED short int
5 
6 /* A lexical scanner generated by flex */
7 
8 #define FLEX_SCANNER
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
13 #define FLEX_BETA
14 #endif
15 
16 /* First, we deal with  platform-specific or compiler-specific issues. */
17 
18 /* begin standard C headers. */
19 #include <stdio.h>
20 #include <string.h>
21 #include <errno.h>
22 #include <stdlib.h>
23 
24 /* end standard C headers. */
25 
26 /* flex integer type definitions */
27 
28 #ifndef FLEXINT_H
29 #define FLEXINT_H
30 
31 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
32 
33 #if defined(__FreeBSD__) || \
34     (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
35 
36 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
37  * if you want the limit (max/min) macros for int types.
38  */
39 #ifndef __STDC_LIMIT_MACROS
40 #define __STDC_LIMIT_MACROS 1
41 #endif
42 
43 #include <inttypes.h>
44 typedef int8_t flex_int8_t;
45 typedef uint8_t flex_uint8_t;
46 typedef int16_t flex_int16_t;
47 typedef uint16_t flex_uint16_t;
48 typedef int32_t flex_int32_t;
49 typedef uint32_t flex_uint32_t;
50 #else
51 typedef signed char flex_int8_t;
52 typedef short int flex_int16_t;
53 typedef int flex_int32_t;
54 typedef unsigned char flex_uint8_t;
55 typedef unsigned short int flex_uint16_t;
56 typedef unsigned int flex_uint32_t;
57 
58 /* Limits of integral types. */
59 #ifndef INT8_MIN
60 #define INT8_MIN               (-128)
61 #endif
62 #ifndef INT16_MIN
63 #define INT16_MIN              (-32767-1)
64 #endif
65 #ifndef INT32_MIN
66 #define INT32_MIN              (-2147483647-1)
67 #endif
68 #ifndef INT8_MAX
69 #define INT8_MAX               (127)
70 #endif
71 #ifndef INT16_MAX
72 #define INT16_MAX              (32767)
73 #endif
74 #ifndef INT32_MAX
75 #define INT32_MAX              (2147483647)
76 #endif
77 #ifndef UINT8_MAX
78 #define UINT8_MAX              (255U)
79 #endif
80 #ifndef UINT16_MAX
81 #define UINT16_MAX             (65535U)
82 #endif
83 #ifndef UINT32_MAX
84 #define UINT32_MAX             (4294967295U)
85 #endif
86 
87 #ifndef SIZE_MAX
88 #define SIZE_MAX               (~(size_t)0)
89 #endif
90 
91 #endif /* ! C99 */
92 
93 #endif /* ! FLEXINT_H */
94 
95 /* begin standard C++ headers. */
96 
97 /* TODO: this is always defined, so inline it */
98 #define yyconst const
99 
100 #if defined(__GNUC__) && __GNUC__ >= 3
101 #define yynoreturn __attribute__((__noreturn__))
102 #else
103 #define yynoreturn
104 #endif
105 
106 /* Returned upon end-of-file. */
107 #define YY_NULL 0
108 
109 /* Promotes a possibly negative, possibly signed char to an
110  *   integer in range [0..255] for use as an array index.
111  */
112 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
113 
114 /* Enter a start condition.  This macro really ought to take a parameter,
115  * but we do it the disgusting crufty way forced on us by the ()-less
116  * definition of BEGIN.
117  */
118 #define BEGIN (yy_start) = 1 + 2 *
119 /* Translate the current start state into a value that can be later handed
120  * to BEGIN to return to the state.  The YYSTATE alias is for lex
121  * compatibility.
122  */
123 #define YY_START (((yy_start) - 1) / 2)
124 #define YYSTATE YY_START
125 /* Action number for EOF rule of a given start state. */
126 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
127 /* Special action meaning "start processing a new file". */
128 #define YY_NEW_FILE yyrestart( yyin  )
129 #define YY_END_OF_BUFFER_CHAR 0
130 
131 /* Size of default input buffer. */
132 #ifndef YY_BUF_SIZE
133 #ifdef __ia64__
134 /* On IA-64, the buffer size is 16k, not 8k.
135  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
136  * Ditto for the __ia64__ case accordingly.
137  */
138 #define YY_BUF_SIZE 32768
139 #else
140 #define YY_BUF_SIZE 16384
141 #endif /* __ia64__ */
142 #endif
143 
144 /* The state buf must be large enough to hold one state per character in the main buffer.
145  */
146 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
147 
148 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
149 #define YY_TYPEDEF_YY_BUFFER_STATE
150 typedef struct yy_buffer_state *YY_BUFFER_STATE;
151 #endif
152 
153 #ifndef YY_TYPEDEF_YY_SIZE_T
154 #define YY_TYPEDEF_YY_SIZE_T
155 typedef size_t yy_size_t;
156 #endif
157 
158 extern int yyleng;
159 
160 extern FILE *yyin, *yyout;
161 
162 #define EOB_ACT_CONTINUE_SCAN 0
163 #define EOB_ACT_END_OF_FILE 1
164 #define EOB_ACT_LAST_MATCH 2
165 
166     #define YY_LESS_LINENO(n)
167     #define YY_LINENO_REWIND_TO(ptr)
168 
169 /* Return all but the first "n" matched characters back to the input stream. */
170 #define yyless(n) \
171 	do \
172 		{ \
173 		/* Undo effects of setting up yytext. */ \
174         int yyless_macro_arg = (n); \
175         YY_LESS_LINENO(yyless_macro_arg);\
176 		*yy_cp = (yy_hold_char); \
177 		YY_RESTORE_YY_MORE_OFFSET \
178 		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
179 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
180 		} \
181 	while ( 0 )
182 #define unput(c) yyunput( c, (yytext_ptr)  )
183 
184 #ifndef YY_STRUCT_YY_BUFFER_STATE
185 #define YY_STRUCT_YY_BUFFER_STATE
186 struct yy_buffer_state
187 	{
188 	FILE *yy_input_file;
189 
190 	char *yy_ch_buf;		/* input buffer */
191 	char *yy_buf_pos;		/* current position in input buffer */
192 
193 	/* Size of input buffer in bytes, not including room for EOB
194 	 * characters.
195 	 */
196 	int yy_buf_size;
197 
198 	/* Number of characters read into yy_ch_buf, not including EOB
199 	 * characters.
200 	 */
201 	int yy_n_chars;
202 
203 	/* Whether we "own" the buffer - i.e., we know we created it,
204 	 * and can realloc() it to grow it, and should free() it to
205 	 * delete it.
206 	 */
207 	int yy_is_our_buffer;
208 
209 	/* Whether this is an "interactive" input source; if so, and
210 	 * if we're using stdio for input, then we want to use getc()
211 	 * instead of fread(), to make sure we stop fetching input after
212 	 * each newline.
213 	 */
214 	int yy_is_interactive;
215 
216 	/* Whether we're considered to be at the beginning of a line.
217 	 * If so, '^' rules will be active on the next match, otherwise
218 	 * not.
219 	 */
220 	int yy_at_bol;
221 
222     int yy_bs_lineno; /**< The line count. */
223     int yy_bs_column; /**< The column count. */
224 
225 	/* Whether to try to fill the input buffer when we reach the
226 	 * end of it.
227 	 */
228 	int yy_fill_buffer;
229 
230 	int yy_buffer_status;
231 
232 #define YY_BUFFER_NEW 0
233 #define YY_BUFFER_NORMAL 1
234 	/* When an EOF's been seen but there's still some text to process
235 	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
236 	 * shouldn't try reading from the input source any more.  We might
237 	 * still have a bunch of tokens to match, though, because of
238 	 * possible backing-up.
239 	 *
240 	 * When we actually see the EOF, we change the status to "new"
241 	 * (via yyrestart()), so that the user can continue scanning by
242 	 * just pointing yyin at a new input file.
243 	 */
244 #define YY_BUFFER_EOF_PENDING 2
245 
246 	};
247 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
248 
249 /* Stack of input buffers. */
250 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
251 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
252 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
253 
254 /* We provide macros for accessing buffer states in case in the
255  * future we want to put the buffer states in a more general
256  * "scanner state".
257  *
258  * Returns the top of the stack, or NULL.
259  */
260 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
261                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
262                           : NULL)
263 #define yy_current_buffer YY_CURRENT_BUFFER
264 /* Same as previous macro, but useful when we know that the buffer stack is not
265  * NULL or when we need an lvalue. For internal use only.
266  */
267 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
268 
269 /* yy_hold_char holds the character lost when yytext is formed. */
270 static char yy_hold_char;
271 static int yy_n_chars;		/* number of characters read into yy_ch_buf */
272 int yyleng;
273 
274 /* Points to current character in buffer. */
275 static char *yy_c_buf_p = NULL;
276 static int yy_init = 0;		/* whether we need to initialize */
277 static int yy_start = 0;	/* start state number */
278 
279 /* Flag which is used to allow yywrap()'s to do buffer switches
280  * instead of setting up a fresh yyin.  A bit of a hack ...
281  */
282 static int yy_did_buffer_switch_on_eof;
283 
284 void yyrestart ( FILE *input_file  );
285 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
286 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
287 void yy_delete_buffer ( YY_BUFFER_STATE b  );
288 void yy_flush_buffer ( YY_BUFFER_STATE b  );
289 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
290 void yypop_buffer_state ( void );
291 
292 static void yyensure_buffer_stack ( void );
293 static void yy_load_buffer_state ( void );
294 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
295 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
296 
297 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
298 YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
299 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
300 
301 void *yyalloc ( yy_size_t  );
302 void *yyrealloc ( void *, yy_size_t  );
303 void yyfree ( void *  );
304 
305 #define yy_new_buffer yy_create_buffer
306 #define yy_set_interactive(is_interactive) \
307 	{ \
308 	if ( ! YY_CURRENT_BUFFER ){ \
309         yyensure_buffer_stack (); \
310 		YY_CURRENT_BUFFER_LVALUE =    \
311             yy_create_buffer( yyin, YY_BUF_SIZE ); \
312 	} \
313 	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
314 	}
315 #define yy_set_bol(at_bol) \
316 	{ \
317 	if ( ! YY_CURRENT_BUFFER ){\
318         yyensure_buffer_stack (); \
319 		YY_CURRENT_BUFFER_LVALUE =    \
320             yy_create_buffer( yyin, YY_BUF_SIZE ); \
321 	} \
322 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
323 	}
324 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
325 
326 /* Begin user sect3 */
327 typedef flex_uint8_t YY_CHAR;
328 
329 FILE *yyin = NULL, *yyout = NULL;
330 
331 typedef int yy_state_type;
332 
333 extern int yylineno;
334 int yylineno = 1;
335 
336 extern char *yytext;
337 #ifdef yytext_ptr
338 #undef yytext_ptr
339 #endif
340 #define yytext_ptr yytext
341 
342 static yy_state_type yy_get_previous_state ( void );
343 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
344 static int yy_get_next_buffer ( void );
345 static void yynoreturn yy_fatal_error ( const char* msg  );
346 
347 /* Done after the current pattern has been matched and before the
348  * corresponding action - sets up yytext.
349  */
350 #define YY_DO_BEFORE_ACTION \
351 	(yytext_ptr) = yy_bp; \
352 	yyleng = (int) (yy_cp - yy_bp); \
353 	(yy_hold_char) = *yy_cp; \
354 	*yy_cp = '\0'; \
355 	(yy_c_buf_p) = yy_cp;
356 #define YY_NUM_RULES 253
357 #define YY_END_OF_BUFFER 254
358 /* This struct is not used in this scanner,
359    but its presence is necessary. */
360 struct yy_trans_info
361 	{
362 	flex_int32_t yy_verify;
363 	flex_int32_t yy_nxt;
364 	};
365 static const flex_int16_t yy_accept[1114] =
366     {   0,
367         0,    0,    0,    0,    0,    0,  246,  246,   40,   40,
368         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
369         0,    0,    0,    0,    0,    0,    0,    0,   21,   21,
370       239,  239,    0,    0,    0,    0,    0,    0,    0,    0,
371         0,    0,    0,    0,    0,    0,    0,    0,   21,   21,
372       250,  250,  239,  239,  254,  252,    9,   20,  252,   18,
373         1,   19,  252,  252,  252,  252,   17,  163,  148,  149,
374       163,  141,  163,  160,  161,  162,  162,  163,  163,  163,
375       162,  147,  137,  163,  163,  139,  140,  135,  136,  135,
376       134,  133,  134,  246,  247,  247,   40,   42,   40,   41,
377 
378        40,   40,   41,   41,   41,   50,   49,   51,  252,  169,
379       169,  164,  169,  165,  166,  168,  170,  218,  219,  218,
380       216,  215,  217,  171,  173,  171,  172,  171,  185,  185,
381       185,  185,  187,  189,  187,  187,  187,  187,  188,  228,
382       233,  228,  232,  231,  234,  229,  229,  229,  234,  234,
383       226,  227,  252,  130,  252,   21,   23,   21,   22,   22,
384        22,  235,  241,  235,  236,  242,  242,  242,  224,  224,
385       225,  224,  224,  224,  224,  224,  224,  224,  129,   53,
386        52,  129,  129,  129,  129,   54,  129,  129,  129,  129,
387       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
388 
389       129,  129,  129,  129,  129,  129,  129,   36,   33,   36,
390        34,   48,   45,  252,   48,   48,   44,   43,  175,  174,
391       176,  177,  178,  179,  180,  181,  182,   31,   32,   31,
392        30,   28,   29,   28,   27,   22,  250,  251,  251,  237,
393       237,  238,    9,   20,    0,   18,    1,   19,    0,    0,
394         0,   16,   10,    0,    0,    0,    0,    4,   16,    5,
395         0,    2,   17,  148,  149,    0,    0,    0,  143,    0,
396       159,  157,    0,  153,  153,    0,  243,  243,  243,    0,
397         0,  142,    0,  147,  137,    0,    0,    0,  139,  140,
398       152,  138,    0,  136,  134,  133,  131,  132,  246,  244,
399 
400       245,   40,   42,   40,   40,   37,   38,    0,   50,   49,
401        51,    0,  164,    0,  164,  167,  168,  219,  215,  173,
402         0,  183,  184,  189,  186,  228,  233,    0,    0,  221,
403       229,  229,  229,    0,  130,    0,   21,   23,   24,  235,
404       241,  240,  239,  240,    0,    0,  225,  220,    0,    0,
405        53,   52,    0,  128,    0,    0,  129,  129,  129,  129,
406       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
407       129,  129,  129,  129,  129,  129,   55,  129,  129,  129,
408       129,  129,  129,  129,  129,  129,  129,  129,    0,   35,
409        34,   48,   45,   46,   47,   31,   32,   29,   26,   25,
410 
411       250,  248,  249,  237,    0,   16,   10,    0,   14,    0,
412         0,    0,    0,    0,    4,   16,    5,    0,    6,    0,
413       144,    0,  145,    0,  158,    0,  153,  153,    0,  153,
414       153,  153,  243,  243,  155,  154,    0,  156,  138,  146,
415         0,  152,    0,  131,  132,   40,   40,    0,   39,    0,
416         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
417         0,    0,  230,  229,  229,    0,    0,  220,    0,    0,
418         0,    0,  129,  129,  129,  129,  129,  129,   65,  129,
419       129,  129,   70,  129,  129,  129,  129,  129,  129,  129,
420       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
421 
422       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
423       129,  129,  129,  129,  129,  129,  129,  129,    0,    0,
424         0,    0,   14,    0,    0,    0,    0,    0,    0,    4,
425         8,    5,    0,  153,  153,  153,  153,  153,  153,  153,
426       243,  156,    0,    0,   40,   40,    0,    0,    0,    0,
427         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
428         0,    0,    0,    0,    0,    0,    0,    0,  229,  229,
429         0,    0,   56,   57,  129,  129,  129,  129,  129,  129,
430       129,  129,  129,  129,   71,   72,  129,  129,  129,  129,
431        77,   78,  129,  129,  129,  129,  129,  129,  129,   83,
432 
433       129,  129,  129,  129,  129,  129,  129,  129,  129,   92,
434       129,  129,  129,  129,  129,  129,  129,  129,  129,    0,
435         0,    0,    0,   15,    0,    0,    0,    0,    0,    8,
436         8,    8,    0,  153,  153,  153,  153,  153,  153,  153,
437         0,    0,   40,   40,  214,    0,    0,    0,    0,    0,
438         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
439         0,    0,    0,    0,    0,    0,    0,    0,  229,  229,
440         0,    0,   58,  129,   60,  129,   62,  129,  129,  129,
441       129,   68,  129,  129,  129,   73,  129,  129,  129,  129,
442       129,  129,  129,  129,  129,  129,  129,   86,  129,  129,
443 
444       129,  129,   90,  129,  129,  129,  129,  129,  129,  129,
445       129,  129,  129,    0,    0,    0,    0,    3,    0,    0,
446         0,    8,    7,    8,    0,  153,  153,  153,    0,    0,
447        40,   40,    0,    0,    0,    0,    0,    0,    0,    0,
448         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
449         0,    0,    0,    0,    0,    0,  222,  223,  222,  223,
450       129,   61,  129,  129,  129,  129,  129,  129,  129,  125,
451       129,  129,  129,  129,  129,  129,  129,  129,  123,  129,
452        85,  129,   88,  129,   89,  129,  129,  129,  104,    0,
453       129,   94,  129,    0,   95,    0,    0,    0,    0,    0,
454 
455        12,    0,   13,    0,  151,    0,  150,    0,    0,    0,
456         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
457         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
458         0,  129,  129,  129,  129,  129,   66,  129,   69,  129,
459       129,  129,  129,  129,  129,  122,  129,   82,  129,  129,
460        87,  129,   91,  102,  124,    0,    0,    0,    0,    0,
461         0,  129,  129,    0,    0,    0,    0,    0,    0,    0,
462         0,    0,    0,  150,    0,    0,    0,    0,    0,    0,
463         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
464         0,    0,    0,    0,    0,    0,    0,    0,  129,  129,
465 
466       129,  129,  129,   67,  129,  129,  129,  129,   79,  129,
467       129,  129,  129,  129,  129,    0,    0,  113,    0,    0,
468         0,    0,    0,    0,   93,  129,    0,    0,  114,    0,
469         0,    0,    0,    0,    0,    0,    0,    0,   11,    0,
470       190,  191,  192,  193,  194,  195,  196,  197,  198,  199,
471       200,    0,    0,    0,    0,    0,    0,    0,    0,    0,
472         0,    0,    0,    0,  129,  129,  129,  129,  129,  129,
473       129,  129,  129,  129,  129,  129,   84,  129,  129,    0,
474         0,    0,    0,    0,    0,  115,    0,  103,    0,    0,
475         0,    0,    0,  116,    0,    0,    0,    0,    0,  201,
476 
477       202,  203,  204,  205,  206,  207,  208,  209,  210,  211,
478       212,    0,  129,  129,  129,  129,  129,  121,  129,  129,
479        75,  129,  129,  129,  129,  129,    0,    0,  109,    0,
480       119,  117,  110,    0,    0,    0,  120,  118,    0,    0,
481         0,    0,    0,    0,  213,  129,  129,  129,  129,  129,
482       125,   74,  129,   81,  129,  126,  129,  105,  107,    0,
483       106,  108,    0,    0,    0,    0,    0,    0,    0,  129,
484        63,  129,  129,  129,  129,   76,  129,  111,  112,   97,
485         0,    0,    0,    0,   98,  129,  129,  129,  129,  129,
486       127,   96,    0,  100,    0,  129,  129,  129,   66,  129,
487 
488        99,  101,  129,   64,  129,  129,  129,   67,  129,  129,
489        80,   59,    0
490     } ;
491 
492 static const YY_CHAR yy_ec[256] =
493     {   0,
494         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
495         4,    4,    5,    1,    1,    1,    1,    1,    1,    1,
496         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
497         1,    2,    1,    6,    7,    8,    9,    1,   10,   11,
498        12,   13,   14,   15,   16,   17,   18,   19,   19,   19,
499        19,   19,   19,   19,   20,   21,   22,   23,    1,   24,
500        25,   26,   27,    1,   28,   29,   30,   31,   32,   33,
501        34,   35,   36,   37,   38,   39,   40,   41,   42,   43,
502        44,   45,   46,   47,   48,   49,   50,   51,   52,   44,
503        53,   54,   55,   56,   57,    1,   58,   59,   60,   61,
504 
505        62,   63,   64,   65,   66,   67,   68,   69,   70,   71,
506        72,   73,   44,   74,   75,   76,   77,   78,   79,   80,
507        81,   44,   82,   83,   84,    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,
513         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
514         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
515 
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,
519         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
520         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
521         1,    1,    1,    1,    1
522     } ;
523 
524 static const YY_CHAR yy_meta[85] =
525     {   0,
526         1,    1,    2,    1,    3,    4,    1,    1,    5,    6,
527         1,    7,    8,    9,    1,   10,    1,   11,   12,   12,
528        12,   12,   13,    1,    1,    1,    1,   14,   14,   14,
529        14,   14,   14,   15,   15,   15,   15,   15,   15,   15,
530        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
531        15,   15,   16,   17,   18,    1,   19,   14,   14,   14,
532        14,   14,   14,   15,   15,   15,   15,   15,   15,   15,
533        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
534        15,   20,    1,   21
535     } ;
536 
537 static const flex_int16_t yy_base[1221] =
538     {   0,
539         0,   84,  167,  250,  171,  184,  135,  142,  220,  231,
540       196,  200,  334,    0, 3627, 3625,  211,  416,  203,  212,
541       189,  225,  266,  417,  500,    0,  207,  208,  234,  421,
542       424,  436,  583,  588,  669,    0,  294,  304,  584,  751,
543       579,  580,  417,  576,  287,  306,  241,  441,  595,  608,
544       169,  238,  440,  754, 3680, 4511,  325, 4511, 3676,    0,
545       446, 4511, 3673,  430,  827, 3661,    0, 4511,  758, 4511,
546      3650, 4511,  453, 3621, 4511, 4511, 3619, 3584,  129,  746,
547       445,  766, 4511, 3604,  198, 3582, 4511, 4511, 4511, 3600,
548         0, 3599,  214,    0, 3506, 3483,    0, 4511, 3532, 4511,
549 
550       420,  119, 3481, 3478, 3446,    0, 3526, 4511, 3520, 4511,
551       482, 3520, 3518, 4511, 3455,    0, 4511, 4511, 4511, 3504,
552      4511,  598, 4511, 4511, 4511, 3499, 4511,  754, 4511, 3477,
553       759,  180, 4511, 4511, 3467,    0, 3442,  762, 4511,    0,
554      4511, 3459, 4511, 3406, 3434,    0,  562,  167, 3393, 3370,
555      4511, 4511,  326, 4511,  420,    0, 4511, 3418, 3402, 3366,
556      3342,    0, 4511, 3368, 4511, 3317,  444, 3314, 4511,  471,
557      4511, 3354, 3271, 3337,  572,  189, 3295, 3285, 4511, 3332,
558      4511, 3307, 3303,  585,  594, 4511,  746,  734,  744,  754,
559       763,  770,    0,  755,  748,  763,  818,  789,  240,  822,
560 
561       762,  381,  802,  791,  813,  824,  577, 4511, 4511, 3302,
562       871,    0, 4511, 3302, 3250, 3231, 4511, 4511, 4511, 4511,
563      4511, 4511, 4511, 4511, 4511, 4511, 4511,    0, 4511, 3279,
564      4511, 4511, 4511, 3276, 3260, 3259,    0, 3221, 3214,    0,
565      3264, 4511,  835, 4511, 3262,    0,  903, 4511, 3257,  842,
566       817,    0,    0,  910,  914,  918,  922,    0,  814,    0,
567       457, 4511,    0,  943, 4511, 3241, 3141,  483, 4511, 3217,
568      3212, 4511,  826,  556,  903,  930, 4511,  757,    0, 3134,
569      3131, 4511, 3129,  964, 4511, 3190, 3110, 3174, 3161, 4511,
570         0, 4511,  896, 4511,    0, 3172,    0,    0,    0, 4511,
571 
572      4511,    0, 4511,  910,  913, 4511, 4511,  602,    0, 3169,
573      4511,  957, 3164, 3161, 3127, 4511,    0, 4511,  976, 4511,
574      1020, 4511, 4511, 4511, 4511,    0, 4511, 3116,    0, 4511,
575         0,  926,  930,  644, 4511,  662,    0, 4511, 4511,    0,
576      4511, 4511, 3071, 3121,  794, 3037, 4511,    0,  934,  932,
577      3117, 4511, 3091, 4511,  938,  939,    0,  940,  738,  956,
578       802, 3059,  876,  978,  933,  933,  939,  948,  964, 1030,
579       938,  958,  976,  968,    0,  996, 4511,  999, 1057, 1068,
580       981, 1079, 1077, 1080, 1074, 1068, 1070, 1120, 3062, 4511,
581      1014,    0, 4511, 4511, 4511,    0, 4511, 4511, 4511, 4511,
582 
583         0, 4511, 4511,    0, 1078,    0,    0, 1153, 4511, 3063,
584      1166, 1077, 1076, 1091,    0, 1089,    0, 1018, 4511, 1022,
585      4511, 1025, 4511, 1035, 4511, 1091, 1067, 1138, 1162, 1242,
586      1177, 1308, 1105,    0, 4511, 4511, 2954, 1198, 4511, 4511,
587      1144,    0, 1137,    0,    0, 1161, 1156, 1123, 4511, 1202,
588      1308, 1309, 1310, 1319, 3013, 1312, 1311, 1327, 1320, 1321,
589      1323, 1382, 4511, 1172, 1166, 2589, 2537,    0, 1178, 1169,
590      1169, 1298, 1315, 1324, 1330, 1321, 1330, 1323,    0, 1341,
591      1332, 1348,    0, 1346, 1350, 1348, 1361, 1350, 1367, 2573,
592      1370, 1366, 1380, 1382, 1382, 1385, 1378, 1387, 1391, 1400,
593 
594      1393, 1403, 1406, 1414, 1400, 1401, 1404, 1429, 1419, 1424,
595      1428, 1425, 1436, 1435, 1430, 1441, 1442, 1432, 1432, 1450,
596      1209, 1508, 4511, 1215, 1512, 1219, 1461, 1455, 1451,    0,
597      1143,    0, 1461, 1534, 1600, 1636,  204, 2525, 1606, 1681,
598      4511, 4511, 1453, 1463, 1591, 1442, 2524, 1599, 1604, 1600,
599      1607, 1605, 1611, 1608, 1650, 1620, 1606, 1614, 1613, 1654,
600      1663, 1652, 1661, 1666, 1682, 1664, 1693, 1694, 1655, 1674,
601      1662, 1675, 4511, 4511, 1683, 1676, 1677, 1683, 1697, 1692,
602      1731, 1711, 1702, 1718,    0,    0, 1719, 1706, 1716, 1735,
603         0,    0, 2553, 1722, 1732, 2540, 1725, 1722, 1733,    0,
604 
605      1727, 1747, 1740, 1739, 1735, 1752, 1739, 1740, 1746,    0,
606      1750, 1763, 1760, 1750, 1752, 1759, 1777, 1762, 1778, 1769,
607      1783, 1778, 2514, 4511, 1224, 1230, 1772, 1783, 1780,    0,
608      1507, 1234, 2364,  732, 2273, 1809, 1845, 1430, 1076, 1585,
609      1797, 2286, 1785, 1807, 4511, 1811, 1814, 1829, 1835, 1821,
610      1808, 1822, 1845, 1859, 1860, 1862, 1868, 1869, 1870, 1825,
611      1888, 1890, 1876, 1891, 1874, 1902, 1894, 1898, 1795, 1891,
612      1882, 1899,    0, 1887,    0, 1892,    0, 2260, 1900, 1891,
613      1909,    0, 1904, 2253, 1902,    0, 1916, 1907, 1918, 2227,
614      1912, 1909, 1924, 2201, 1908, 1918, 1922,    0, 1934, 1925,
615 
616      1931, 1947,    0, 1936, 1942, 1941, 1953, 2103, 1957, 1958,
617      1952, 2085, 1950, 1951, 1950, 1969, 1956, 2133, 1515, 1961,
618      1971, 2002, 4511, 2117, 2038, 1981, 1592, 1842, 2025, 1983,
619         0,    0, 1972, 1990, 1999, 1987, 1994, 2008, 2005, 2007,
620      2015, 2023, 2016, 2021, 2017, 2024, 2022, 2026, 2030, 2029,
621      2037, 2035, 2045, 2051, 2054, 2061,    0,    0, 4511, 4511,
622      1922,    0, 2049, 2039, 2050, 2053, 2051, 2051, 2054, 1831,
623      2073, 2064, 2077, 2073, 2081, 2082, 2072, 2085,    0, 2091,
624         0, 2074,    0, 1824,    0, 2091, 2094, 2082,    0, 2116,
625      2088,    0, 2092, 2133,    0, 1728, 2097, 2095, 1714, 1678,
626 
627      4511, 2135, 4511, 2096, 4511, 1726, 4511, 1703, 1612, 1601,
628      1514, 1500, 1477, 1377, 1373, 1333, 1274, 1203, 2133, 2128,
629      2148, 2151, 2144, 2150, 2156, 2158, 2161, 2163, 2184, 2167,
630      2164, 2157, 2151, 2159, 2158, 2173,    0, 2165,    0, 2166,
631      2182, 2173, 2179, 2178, 2186,    0, 2185,    0, 2187, 2193,
632         0, 2202,    0,    0,    0, 2204, 2187, 2201, 2224, 2200,
633      2222, 2213, 2219, 2230, 2199, 2227, 2239, 2222, 2225, 1162,
634      1158, 2228, 2278, 4511, 1112, 1109, 1081, 1063, 1057,  984,
635       976,  969,  923,  913,  910,  931,  895,  891,  887,  881,
636       874,  856,  848,  843,  840,  804,  788, 2259, 2248, 2258,
637 
638      2265, 2264, 2241,    0, 2254, 2265, 2268, 2279,    0, 2262,
639      2268, 2271, 2266, 2278, 2283, 2289, 2273, 4511, 2280, 2281,
640      2281, 2300, 2283, 2281,    0, 2303, 2307, 2292, 4511, 2302,
641      2304, 2319, 2303, 2307, 2309, 2328, 2309, 2357, 4511, 2362,
642      4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511,
643      4511,  746,  725,  597,  577,  441,  426,  420,  267,  253,
644       247,  230,  183,  181, 2317, 2338, 2342, 2330, 2336, 2343,
645      2339, 2331, 2334, 2350, 2341, 2345,    0, 2350, 2346, 2344,
646      2349, 2361, 2364, 2367, 2359, 4511, 2357,    0, 2358, 2362,
647      2379, 2383, 2375, 4511, 2388, 2375, 2382, 2377, 2389, 4511,
648 
649      4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511,
650      4511,  122, 2399, 2398, 2382, 2391, 2391,    0, 2407, 2408,
651         0, 2397, 2398, 2420, 2417, 2414, 2418, 2426, 4511, 2414,
652      4511, 4511, 4511, 2422, 2429, 2419, 4511, 4511, 2417, 2437,
653      2435, 2425, 2428, 2428, 4511, 2431, 2445, 2445, 2447, 2452,
654         0,    0, 2461,    0, 2444,    0, 2459, 4511, 4511, 2452,
655      4511, 4511, 2454, 2465, 2452, 2467, 2471, 2470, 2476, 2481,
656         0, 2468, 2465, 2465, 2485,    0, 2465, 4511, 4511, 4511,
657      2489, 2491, 2479, 2488, 4511, 2501, 2491, 2498, 2503, 2490,
658         0, 4511, 2497, 4511, 2510, 2500, 2502, 2500,    0, 2514,
659 
660      4511, 4511, 2516,    0, 2523, 2508, 2509,    0, 2528, 2531,
661         0,    0, 4511, 2593, 2614, 2635, 2656, 2677, 2698, 2719,
662      2740, 2761, 2782, 2803, 2824, 2845, 2866, 2887, 2908, 2929,
663      2950, 2971, 2992, 3013, 3025, 3044, 3055, 3074, 3095, 3108,
664      3127, 3148, 3169, 3190, 3202, 3221, 3242, 3263, 3280, 3292,
665      3311, 3332, 3353, 3374, 3395, 3408, 2553, 3423, 3444, 3463,
666      3484, 3505, 3517, 3536, 3557, 2569, 3057, 3578, 3590, 3609,
667      3630, 3651, 2558, 3663, 3684, 3705, 3726, 3747, 3768, 3789,
668      3810, 3831, 3843, 3862, 3879, 3891, 3910, 3931, 3952, 3973,
669      3994, 4007, 4022, 4043, 4062, 4083, 4104, 4125, 4146, 4167,
670 
671      4179, 4189, 4208, 4229, 4250, 2561, 4262, 4283, 4304, 4325,
672      4346, 4367, 3028, 4379, 4398, 4419, 4432, 4447, 4468, 4489
673     } ;
674 
675 static const flex_int16_t yy_def[1221] =
676     {   0,
677      1113, 1113, 1114, 1114, 1115, 1116, 1117, 1117, 1118, 1118,
678      1119, 1119, 1113,   13, 1120, 1120, 1121, 1121, 1122, 1122,
679      1123, 1123, 1124, 1124, 1113,   25, 1125, 1125, 1126, 1126,
680      1127, 1127, 1128, 1128, 1113,   35, 1129, 1129, 1130, 1130,
681      1120, 1120, 1120, 1120, 1131, 1131, 1132, 1132, 1126, 1126,
682      1133, 1133, 1134, 1134, 1113, 1113, 1113, 1113, 1113, 1135,
683      1113, 1113, 1113, 1113, 1136, 1113, 1137, 1113, 1113, 1113,
684      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1138, 1139,
685      1140, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
686      1141, 1113, 1141, 1142, 1113, 1113, 1143, 1113, 1143, 1113,
687 
688      1143, 1143, 1113, 1113, 1113, 1144, 1113, 1113, 1113, 1113,
689      1113, 1113, 1113, 1113, 1113, 1145, 1113, 1113, 1113, 1113,
690      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1139, 1113, 1113,
691      1139, 1146, 1113, 1113, 1113, 1147, 1113, 1139, 1113, 1148,
692      1113, 1148, 1113, 1149, 1113, 1150, 1150, 1150, 1113, 1113,
693      1113, 1113, 1151, 1113, 1151, 1152, 1113, 1152, 1113, 1113,
694      1113, 1153, 1113, 1153, 1113, 1113, 1154, 1113, 1113, 1113,
695      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
696      1113, 1113, 1155, 1113, 1113, 1113, 1156, 1156, 1156, 1156,
697      1156, 1156, 1156, 1156, 1156, 1156, 1156, 1157, 1156, 1156,
698 
699      1156, 1156, 1156, 1156, 1156, 1156, 1156, 1113, 1113, 1158,
700      1113, 1159, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
701      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1160, 1113, 1160,
702      1113, 1113, 1113, 1113, 1113, 1113, 1161, 1113, 1113, 1162,
703      1162, 1113, 1113, 1113, 1113, 1163, 1113, 1113, 1113, 1113,
704      1113, 1164, 1165, 1113, 1113, 1113, 1113, 1166, 1164, 1167,
705      1168, 1113, 1169, 1113, 1113, 1113, 1113, 1170, 1113, 1113,
706      1113, 1113, 1113, 1171, 1171, 1172, 1113, 1113, 1173, 1113,
707      1113, 1113, 1174, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
708      1175, 1113, 1113, 1113, 1176, 1113, 1177, 1178, 1179, 1113,
709 
710      1113, 1180, 1113, 1180, 1180, 1113, 1113, 1181, 1182, 1113,
711      1113, 1113, 1113, 1113, 1113, 1113, 1183, 1113, 1113, 1113,
712      1113, 1113, 1113, 1113, 1113, 1184, 1113, 1113, 1185, 1113,
713      1186, 1186, 1186, 1187, 1113, 1187, 1188, 1113, 1113, 1189,
714      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1190, 1113, 1113,
715      1113, 1113, 1191, 1113, 1113, 1113, 1192, 1192, 1192, 1192,
716      1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192,
717      1192, 1192, 1192, 1192, 1192, 1192, 1113, 1192, 1192, 1192,
718      1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1193, 1113,
719      1113, 1194, 1113, 1113, 1113, 1195, 1113, 1113, 1113, 1113,
720 
721      1196, 1113, 1113, 1197, 1113, 1198, 1199, 1200, 1113, 1113,
722      1113, 1113, 1113, 1113, 1201, 1198, 1202, 1203, 1113, 1203,
723      1113, 1204, 1113, 1204, 1113, 1113, 1205, 1205, 1205, 1113,
724      1205, 1205, 1113, 1206, 1113, 1113, 1207, 1113, 1113, 1113,
725      1113, 1208, 1113, 1209, 1210, 1211, 1211, 1212, 1113, 1212,
726      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
727      1213, 1213, 1113, 1214, 1214, 1113, 1215, 1216, 1113, 1113,
728      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
729      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
730      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
731 
732      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
733      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113,
734      1200, 1200, 1113, 1200, 1200, 1113, 1113, 1113, 1113, 1201,
735      1218, 1202, 1113, 1113, 1205,  432,  430,  430, 1205,  432,
736      1113, 1113, 1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213,
737      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
738      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214,
739      1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217,
740      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
741      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
742 
743      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
744      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
745      1113, 1113, 1113, 1113, 1200, 1200, 1113, 1113, 1113, 1218,
746      1218, 1218, 1113,  534,  534, 1205,  432, 1205, 1205, 1205,
747      1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213, 1213, 1213,
748      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
749      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214,
750      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
751      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
752      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
753 
754      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
755      1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1219, 1113,
756      1113, 1218, 1113, 1218, 1113, 1205, 1205, 1205, 1113, 1113,
757      1211, 1211, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
758      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
759      1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1113, 1113,
760      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
761      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
762      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
763      1217, 1217, 1217, 1113, 1217, 1113, 1113, 1113, 1113, 1219,
764 
765      1113, 1219, 1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213,
766      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
767      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
768      1213, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
769      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
770      1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113,
771      1113, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
772      1113, 1113, 1220, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
773      1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213, 1213, 1213,
774      1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1217, 1217,
775 
776      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
777      1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113,
778      1113, 1113, 1113, 1113, 1217, 1217, 1113, 1113, 1113, 1113,
779      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1220, 1113, 1220,
780      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
781      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
782      1113, 1113, 1113, 1213, 1217, 1217, 1217, 1217, 1217, 1217,
783      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
784      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217, 1113, 1113,
785      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
786 
787      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
788      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
789      1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113,
790      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
791      1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
792      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113,
793      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217,
794      1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113,
795      1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
796      1217, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
797 
798      1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
799      1217, 1217,    0, 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,
806      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
807      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
808 
809      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
810      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113
811     } ;
812 
813 static const flex_int16_t yy_nxt[4596] =
814     {   0,
815        56,   57,   58,   56,   59,   56,   56,   56,   56,   56,
816        56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
817        56,   56,   56,   56,   56,   56,   56,   60,   60,   60,
818        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
819        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
820        60,   60,   56,   56,   56,   56,   60,   60,   60,   60,
821        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
822        60,   60,   60,   60,   60,   60,   60,   60,   60,   60,
823        60,   56,   56,   56,   56,   61,   62,   56,   63,   56,
824        64,   56,   65,   56,   56,   56,   56,   56,   56,   56,
825 
826        56,   66,   56,   56,   56,   56,   56,   56,   56,   56,
827        56,   67,   67,   67,   67,   67,   67,   67,   67,   67,
828        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
829        67,   67,   67,   67,   67,   67,   56,   56,   56,   56,
830        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
831        67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
832        67,   67,   67,   67,   67,   56,   56,   56,   69,   70,
833       305,   71,   72,   89,   73,   90, 1045,   74,   75,   76,
834        76,  275,  276,   76,   77,   92,   89,   95,   90,   96,
835        78,   56,   93,   76,   95,  323,   96,  107,  108,  305,
836 
837       109,  107,  108, 1012,  109,  125,  291,  126,  127,  154,
838       154,  155,  155,  119,  125,  120,  126,  127,  333,   79,
839        80,  238,   98,  239,   99,  121,  638,   56,  100,  122,
840       122,  122,  122,   98,  323,   99,  157, 1011,  158,  105,
841       350,  130,  131,  233,  132,  234,  159,  333,   81,   76,
842        76,   82,   83,  235,   84,   72,  128,   73,   85,  427,
843        74,   75,   76,   76,  101,  128,   76,   77,  134,  350,
844       135,  102,  103,   86,  104,  101,   76,  130,  131,  292,
845       132,  136,  102,  103, 1010,  104,  160,  378,  161,  229,
846       238,  230,  239,  101,  123,  297,  209,  298,  231,  210,
847 
848       102, 1009,   79,   80,  101,   87,  209, 1008,  229,  210,
849       230,  102,  211,  211,  211,  211,  378,  231,  137,  138,
850       139, 1007,  211,  211,  211,  211,  243,  244,  335,  245,
851       336,   81,   76,   76,  110,  111,  112,  110,  113,  110,
852       110,  110,  110,  110,  110,  110,  114,  110,  114,  110,
853       110,  110,  110,  110,  110,  110,  110,  110,  110,  115,
854       110,  116,  116,  116,  116,  116,  116,  116,  116,  116,
855       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
856       116,  116,  116,  116,  116,  116,  110,  110,  110,  110,
857       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
858 
859       116,  116,  116,  116,  116,  116,  116,  116,  116,  116,
860       116,  116,  116,  116,  116,  110,  110,  110,  119,  134,
861       120,  135,  335,  157,  336,  158,  163,  383,  164,  165,
862       121,  250,  136,  159,  122,  122,  122,  122,  163,  224,
863       164,  165,  163,  233,  241,  234,  343,  247,  248,  242,
864       249,  304,  225,  235,  269,  269,  383,  270,  280,  419,
865       281,  420,  226,  282,  282,  282,  282,  227,  251,  137,
866       138,  139,  345,  160, 1006,  161,  166,  167,  168,  346,
867      1005,  304,  225,  312,  313,  423,  314,  424,  166,  167,
868       168,  226,  166,  167,  168, 1004,  227,  344,  251,  123,
869 
870       140,  140,  141,  140,  142,  143,  140,  140,  140,  144,
871       140,  140,  140,  140,  140,  140,  140,  145,  140,  140,
872       140,  140,  140,  140,  140,  140,  140,  146,  146,  146,
873       146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
874       146,  146,  146,  146,  147,  146,  146,  146,  146,  146,
875       146,  148,  149,  140,  150,  140,  146,  146,  146,  146,
876       146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
877       146,  146,  146,  147,  146,  146,  146,  146,  146,  146,
878       148,  151,  140,  152,  170,  171,  213,  172,  214,  170,
879       171,  173,  172,  332,  219,  219,  173,  157,  224,  158,
880 
881       174,  220,  220,  349,  449,  174,  450,  236,  428,  429,
882       157,  225,  158,  355,  221,  221,  319,  319,  319,  319,
883       236,  226,  356,  332,  222,  222,  227,  175,  388,  223,
884       223, 1003,  175,  349,  176,  177,  215,  178,  216,  176,
885       177,  225,  178,  355,  221,  221,  335,  160,  336,  161,
886       226, 1002,  356,  222,  222,  227,  175,  388,  223,  223,
887       160,  175,  161,  176,  335,  217,  336,  218,  176,  179,
888       180,  181,  179,  182,  183,  179,  179,  179,  179,  179,
889       179,  179,  179,  179,  179,  179,  179,  179,  184,  185,
890       179,  179,  179,  186,  179,  179,  187,  188,  189,  190,
891 
892       191,  192,  193,  194,  195,  193,  193,  196,  197,  198,
893       199,  200,  193,  201,  202,  203,  204,  205,  206,  193,
894       207,  179,  179,  179,  179,  179,  187,  188,  189,  190,
895       191,  192,  193,  194,  195,  193,  193,  196,  197,  198,
896       199,  200,  201,  202,  203,  204,  205,  206,  193,  207,
897       179,  179,  179,  213,  726,  214,  163,  362,  241,  264,
898       265,  360,  266,  242,  278,  278,  267,  284,  285,  361,
899       286,  363,  278,  278,  287,  433,  433,  278,  278, 1001,
900       278,  278,  475,  288,  358,  364,  369,  427,  370,  289,
901       359,  360,  365,  382,  371,  345,  279,  367,  372,  361,
902 
903      1000,  363,  346,  215,  279,  216,  166,  167,  168,  279,
904       963,  475,  279,  366,  358,  364,  369,  368,  370,  359,
905       376,  290,  365,  382,  371,  279,  962,  367,  372,  384,
906       377,  385,  217,  279,  218,  253,  243,  244,  279,  245,
907       268,  279,  366,  250,  386,  373,  368,  478,  268,  374,
908       376,  387,  405,  379,  254,  416,  255,  426,  255,  384,
909       377,  385,  961,  380,  255,  960,  381,  255,  256,  257,
910       959,  255,  258,  259,  386,  373,  478,  260,  958,  374,
911       251,  387,  405,  379,  254,  416,  255,  426,  255,  391,
912       391,  391,  391,  380,  255,  381,  957,  255,  256,  257,
913 
914       255,  258,  259,  956,  247,  248,  260,  249,  261,  955,
915       251,  408,  409,  954,  410,  408,  409,  953,  410,  408,
916       409,  480,  410,  408,  409,  430,  410,  443,  411,  411,
917       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
918       411,  411,  411,  411,  264,  265,  446,  266,  431,  431,
919       480,  267,  447,  952,  412,  428,  429,  443,  312,  313,
920       413,  314,  464,  414,  951,  284,  285,  950,  286,  465,
921       469,  470,  287,  471,  472,  473,  446,  949,  483,  484,
922       432,  288,  447,  412,  485,  476,  486,  289,  490,  474,
923       413,  487,  464,  414,  319,  319,  319,  319,  491,  465,
924 
925       469,  470,  477,  471,  472,  473,  481,  483,  484,  432,
926       482,  492,  499,  485,  493,  476,  486,  490,  474,  290,
927       419,  487,  420,  948,  419,  268,  420,  423,  491,  424,
928       947,  477,  391,  391,  391,  391,  481,  423,  946,  424,
929       482,  492,  499,  493,  494,  495,  268,  451,  452,  453,
930       454,  455,  455,  456,  455,  455,  455,  455,  457,  455,
931       455,  455,  458,  455,  455,  459,  455,  460,  455,  455,
932       461,  455,  488,  494,  495,  462,  489,  451,  452,  453,
933       454,  455,  455,  456,  455,  455,  455,  455,  457,  455,
934       455,  455,  458,  455,  459,  455,  460,  455,  455,  461,
935 
936       455,  496,  488,  497,  503,  489,  500,  504,  505,  506,
937       501,  945,  508,  498,  509,  502,  507,  944,  520,  428,
938       429,  527,  528,  277,  277,  449,  529,  450,  428,  429,
939       496,  531,  533,  497,  503,  943,  500,  504,  505,  506,
940       501,  508,  498,  509,  631,  502,  507,  510,  520,  511,
941       527,  528,  512,  513,  522,  523,  529,  524,  514,  515,
942       534,  531,  533,  942,  516,  517,  941,  526,  409,  518,
943       410,  525,  525,  525,  525,  543,  519,  510,  544,  511,
944       535,  535,  512,  513,  411,  411,  411,  411,  514,  515,
945       428,  429,  545,  516,  517,  539,  539,  546,  518,  542,
946 
947       542,  542,  542,  569,  449,  543,  450,  570,  544,  571,
948       572,  624,  536,  625,  936,  573,  427,  523,  935,  625,
949       526,  409,  545,  410,  632,  885,  624,  546,  625,  428,
950       429,  626,  523,  569,  524,  722,  723,  570,  724,  571,
951       572,  536,  427,  427,  573,  427,  427,  427,  427,  427,
952       427,  427,  427,  427,  427,  427,  427,  427,  427,  427,
953       427,  427,  427,  427,  427,  427,  427,  427,  427,  537,
954       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
955       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
956       537,  537,  537,  537,  428,  429,  884,  538,  427,  537,
957 
958       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
959       537,  537,  537,  537,  537,  537,  537,  537,  537,  537,
960       537,  537,  537,  427,  427,  427,  540,  540,  540,  540,
961       547,  547,  547,  547,  547,  540,  540,  540,  540,  540,
962       540,  547,  547,  547,  574,  547,  548,  549,  575,  547,
963       550,  576,  553,  558,  551,  883,  552,  577,  578,  579,
964       428,  429,  556,  557,  580,  540,  540,  540,  540,  540,
965       540,  554,  581,  574,  555,  583,  548,  549,  575,  582,
966       550,  576,  553,  558,  551,  552,  586,  577,  578,  579,
967       584,  587,  556,  557,  580,  882,  585,  588,  589,  881,
968 
969       554,  591,  581,  555, 1113,  583,  592,  593,  582,  559,
970       560,  561,  562,  594,  595,  563,  586,  596,  597,  584,
971       564,  587,  598,  599,  565,  585,  588,  566,  589,  567,
972       600,  591,  568,  601,  602,  603,  592,  593,  606,  559,
973       560,  561,  562,  594,  595,  563,  607,  596,  597,  604,
974       564,  608,  598,  599,  565,  605,  566,  609,  567,  610,
975       600,  568,  611,  601,  602,  603,  612,  614,  606,  613,
976       615,  616,  617,  618,  620,  607,  619,  621,  622,  604,
977       608,  623,  428,  429,  274,  605,  644,  609,  627,  610,
978       628,  629,  611,  633,  641,  642,  612,  614,  613,  880,
979 
980       615,  616,  617,  618,  620,  619,  621,  622,  631,  522,
981       523,  623,  524,  626,  523,  644,  524,  801,  627,  802,
982       628,  629,  879,  633,  641,  642,  525,  525,  525,  525,
983       525,  525,  525,  525,  427,  427,  878,  427,  427,  427,
984       427,  427,  427,  427,  427,  427,  427,  427,  427,  427,
985       427,  427,  427,  427,  427,  427,  427,  427,  427,  427,
986       427,  634,  634,  634,  634,  634,  634,  634,  634,  634,
987       634,  634,  634,  634,  634,  634,  634,  634,  634,  634,
988       634,  634,  634,  634,  634,  634,  428,  429,  632,  635,
989       427,  634,  634,  634,  634,  634,  634,  634,  634,  634,
990 
991       634,  634,  634,  634,  634,  634,  634,  634,  634,  634,
992       634,  634,  634,  634,  634,  427,  427,  427,  636,  636,
993       643,  547,  547,  877,  639,  639,  547,  547,  547,  547,
994       547,  648,  651,  547,  876,  547,  547,  428,  429,  646,
995       650,  647,  547,  653,  428,  429,  649,  655,  656,  657,
996       643,  658,  428,  429,  637,  637,  637,  637,  428,  429,
997       652,  648,  651,  637,  637,  637,  637,  637,  637,  646,
998       650,  647,  547,  653,  547,  649,  547,  655,  656,  657,
999       801,  658,  802,  547,  669,  547,  547,  661,  547,  652,
1000       654,  671,  659,  637,  637,  637,  637,  637,  637,  640,
1001 
1002       640,  640,  640,  660,  547,  662,  666,  663,  640,  640,
1003       640,  640,  640,  640,  669,  547,  547,  661,  670,  672,
1004       654,  671,  659,  673,  668,  875,  664,  674,  675,  665,
1005       676,  677,  678,  660,  662,  667,  666,  663,  640,  640,
1006       640,  640,  640,  640,  682,  684,  679,  670,  672,  683,
1007       685,  874,  686,  673,  668,  664,  674,  675,  665,  676,
1008       687,  677,  678,  680,  688,  667,  690,  691,  695,  681,
1009       872,  693,  694,  696,  682,  684,  697,  698,  683,  699,
1010       685,  686,  700,  701,  869,  702,  703,  704,  705,  687,
1011       706,  707,  709,  680,  688,  690,  708,  691,  695,  681,
1012 
1013       693,  694,  696,  710,  711,  713,  697,  698,  712,  699,
1014       714,  700,  716,  701,  702,  703,  715,  704,  705,  717,
1015       706,  707,  709,  719,  720,  708,  721,  727,  727,  729,
1016       547,  731,  710,  547,  711,  713,  547,  712,  732,  852,
1017       714,  757,  716,  547,  547,  715,  841,  547,  734,  717,
1018       738,  547,  719,  739,  720,  721,  737,  547,  733,  729,
1019       731,  428,  429,  728,  728,  728,  728,  547,  732,  735,
1020       757,  748,  728,  728,  728,  728,  728,  728,  734,  736,
1021       738,  547,  547,  739,  547,  740,  737,  733,  741,  742,
1022       547,  547,  547,  743,  428,  429,  547,  747,  547,  735,
1023 
1024       748,  744,  728,  728,  728,  728,  728,  728,  736,  745,
1025       547,  746,  547,  547,  753,  740,  547,  750,  741,  742,
1026       547,  749,  758,  743,  547,  751,  752,  747,  759,  754,
1027       760,  744,  761,  756,  762,  764,  755,  832,  766,  745,
1028       767,  746,  768,  771,  753,  765,  770,  750,  772,  773,
1029       775,  749,  758,  776,  751,  777,  752,  759,  779,  754,
1030       760,  761,  780,  756,  762,  764,  755,  766,  781,  782,
1031       767,  783,  768,  771,  765,  770,  784,  785,  772,  773,
1032       775,  786,  776,  787,  789,  777,  788,  779,  791,  792,
1033       793,  780,  795,  796,  547,  797,  798,  781,  799,  782,
1034 
1035       783,  803,  804,  722,  723,  784,  724,  785,  807,  547,
1036       786,  808,  547,  787,  789,  788,  547,  809,  791,  792,
1037       793,  547,  795,  796,  797,  811,  798,  547,  799,  547,
1038       547,  803,  804,  428,  429,  427,  810,  547,  547,  547,
1039       812,  808,  813,  547,  547,  547,  547,  809,  547,  814,
1040       806,  547,  547,  815,  817,  811,  819,  547,  821,  547,
1041       818,  816,  822,  805,  820,  824,  810,  547,  826,  812,
1042       823,  825,  813,  547,  828,  827,  547,  833,  814,  835,
1043       829,  836,  815,  547,  817,  830,  819,  834,  821,  818,
1044       816,  837,  822,  820,  831,  824,  838,  839,  826,  823,
1045 
1046       840,  825,  842,  843,  828,  827,  844,  833,  845,  835,
1047       829,  836,  846,  847,  849,  830,  848,  834,  850,  723,
1048       851,  837,  853,  854,  831,  838,  839,  855,  862,  840,
1049       863,  870,  842,  843,  718,  871,  844,  801,  845,  802,
1050       873,  794,  846,  847,  849,  848,  856,  857,  850,  851,
1051       547,  858,  853,  854,  859,  547,  855,  860,  862,  790,
1052       863,  870,  861,  864,  865,  871,  547,  887,  866,  873,
1053       547,  867,  547,  547,  868,  888,  856,  857,  547,  886,
1054       547,  858,  890,  547,  859,  547,  547,  860,  889,  547,
1055       892,  861,  899,  864,  865,  900,  891,  887,  866,  898,
1056 
1057       901,  867,  893,  902,  868,  888,  547,  894,  886,  895,
1058       904,  897,  890,  903,  906,  896,  778,  905,  889,  907,
1059       892,  908,  899,  909,  900,  891,  910,  911,  912,  898,
1060       901,  893,  902,  913,  914,  916,  894,  917,  895,  904,
1061       897,  918,  774,  903,  906,  896,  905,  923,  907,  928,
1062       915,  908,  909,  924,  925,  919,  910,  911,  912,  920,
1063       926,  927,  921,  913,  914,  916,  917,  929,  769,  933,
1064       934,  918,  922,  937,  930,  763,  923,  931,  928,  915,
1065       939,  547,  940,  924,  925,  919,  969,  932,  965,  920,
1066       926,  927,  921,  966,  967,  968,  970,  929,  933,  934,
1067 
1068       971,  922,  937,  972,  930,  964,  973,  931,  974,  975,
1069       976,  730,  977,  978,  979,  969,  932,  980,  965,  981,
1070       982,  983,  984,  966,  967,  968,  970,  985,  427,  986,
1071       971,  987,  988,  972,  964,  989,  973,  974,  990,  975,
1072       976,  977,  991,  978,  979,  992,  993,  980,  981,  994,
1073       982,  983,  984,  995,  996,  999,  997,  985,  986,  939,
1074       987,  940,  988, 1013,  939,  989,  940,  990, 1014, 1015,
1075      1016, 1017,  991,  998, 1018,  992,  993, 1019,  994, 1020,
1076      1021, 1022,  995,  996,  999, 1023,  997, 1024, 1025,  725,
1077      1026, 1027, 1013, 1028, 1029, 1030, 1031, 1032, 1014, 1015,
1078 
1079      1016, 1017,  998, 1033, 1018, 1034, 1035, 1019, 1020, 1021,
1080      1036, 1022, 1037, 1038, 1023, 1039, 1044, 1024, 1025, 1026,
1081      1027, 1040, 1028, 1043, 1029, 1030, 1031, 1032, 1048, 1041,
1082      1046, 1047, 1033, 1042, 1034, 1035, 1049, 1050, 1051, 1052,
1083      1036, 1053, 1037, 1038, 1054, 1039, 1044, 1055, 1056, 1057,
1084      1040, 1058, 1043, 1059, 1060, 1061, 1062, 1048, 1041, 1063,
1085      1046, 1047, 1042, 1064, 1065, 1049, 1050, 1066, 1051, 1052,
1086      1053, 1067, 1068, 1054, 1069, 1070, 1071, 1055, 1056, 1057,
1087      1072, 1058, 1073, 1059, 1060, 1061, 1062, 1074, 1075, 1063,
1088      1076, 1077, 1064, 1078, 1065, 1079, 1080, 1066, 1081, 1082,
1089 
1090      1067, 1068, 1083, 1069, 1070, 1084, 1071, 1085, 1086, 1087,
1091      1072, 1088, 1073, 1089, 1090,  718, 1091, 1074, 1075, 1076,
1092      1092, 1077, 1093, 1078, 1094, 1079, 1080, 1081, 1095, 1082,
1093      1096, 1097, 1083, 1098, 1099, 1084, 1100, 1085, 1086, 1087,
1094      1088, 1101, 1089, 1102, 1090, 1091, 1103, 1104, 1105, 1106,
1095      1092, 1107, 1093, 1094, 1108,  692, 1109, 1110, 1095, 1111,
1096      1096, 1097, 1112, 1098, 1099, 1100,  375,  375,  689,  434,
1097      1101,  434,  541, 1102,  541, 1103, 1104, 1105,  645, 1106,
1098       427, 1107,  415,  415, 1108, 1109, 1110,  415,  590, 1111,
1099       344,  343, 1112,   68,   68,   68,   68,   68,   68,   68,
1100 
1101        68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
1102        68,   68,   68,   68,   88,   88,   88,   88,   88,   88,
1103        88,   88,   88,   88,   88,   88,   88,   88,   88,   88,
1104        88,   88,   88,   88,   88,   91,   91,   91,   91,   91,
1105        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
1106        91,   91,   91,   91,   91,   91,   94,   94,   94,   94,
1107        94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
1108        94,   94,   94,   94,   94,   94,   94,   97,   97,   97,
1109        97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
1110        97,   97,   97,   97,   97,   97,   97,   97,  106,  106,
1111 
1112       106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
1113       106,  106,  106,  106,  106,  106,  106,  106,  106,   56,
1114        56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
1115        56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
1116       118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
1117       118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
1118       118,  124,  124,  124,  124,  124,  124,  124,  124,  124,
1119       124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
1120       124,  124,  129,  129,  129,  129,  129,  129,  129,  129,
1121       129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
1122 
1123       129,  129,  129,  133,  133,  133,  133,  133,  133,  133,
1124       133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
1125       133,  133,  133,  133,  153,  153,  153,  153,  153,  153,
1126       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
1127       153,  153,  153,  153,  153,  156,  156,  156,  156,  156,
1128       156,  156,  156,  156,  156,  156,  156,  156,  156,  156,
1129       156,  156,  156,  156,  156,  156,  162,  162,  162,  162,
1130       162,  162,  162,  162,  162,  162,  162,  162,  162,  162,
1131       162,  162,  162,  162,  162,  162,  162,  169,  169,  169,
1132       169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
1133 
1134       169,  169,  169,  169,  169,  169,  169,  169,  208,  208,
1135       208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
1136       208,  208,  208,  208,  208,  208,  208,  208,  208,  212,
1137       212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
1138       212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
1139       228,  228,  228,  228,  228,  228,  228,  228,  228,  228,
1140       228,  228,  228,  228,  228,  228,  228,  228,  228,  228,
1141       228,  232,  232,  232,  232,  232,  232,  232,  232,  232,
1142       232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
1143       232,  232,  237,  237,  237,  237,  237,  237,  237,  237,
1144 
1145       237,  237,  237,  237,  237,  237,  237,  237,  237,  237,
1146       237,  237,  237,  240,  240,  240,  240,  240,  240,  240,
1147       240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
1148       240,  240,  240,  240,  246,  547,  246,  438,  246,  246,
1149       455,  455,  455,  246,  252,  252,  252,  252,  252,  252,
1150       252,  252,  252,  252,  252,  252,  252,  252,  252,  252,
1151       252,  252,  252,  252,  263,  409,  263,  390,  263,  263,
1152       417,  417,  479,  263,  274,  417,  274,  274,  274,  274,
1153       274,  274,  274,  274,  274,  274,  274,  274,  274,  274,
1154       274,  274,  274,  274,  274,  277,  354,  277,  277,  277,
1155 
1156       277,  277,  277,  277,  277,  277,  277,  277,  277,  277,
1157       277,  277,  277,  277,  277,  277,  283,  283,  351,  283,
1158       348,  283,  283,  467,  466,  463,  283,  295,  315,  295,
1159       295,  295,  295,  295,  295,  295,  295,  295,  295,  295,
1160       295,  295,  295,  295,  295,  295,  295,  295,  299,  299,
1161       299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
1162       299,  299,  299,  313,  299,  315,  299,  299,  299,  302,
1163       310,  302,  302,  296,  302,  302,  302,  302,  302,  302,
1164       302,  302,  302,  302,  441,  302,  440,  302,  302,  302,
1165       309,  439,  285,  309,  309,  309,  309,  309,  309,  309,
1166 
1167       309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
1168       309,  317,  438,  317,  436,  317,  317,  435,  425,  269,
1169       317,  322,  421,  322,  322,  322,  322,  322,  322,  322,
1170       322,  322,  322,  322,  322,  322,  322,  322,  322,  322,
1171       322,  322,  325,  265,  325,  325,  325,  325,  325,  325,
1172       325,  325,  325,  325,  325,  325,  325,  325,  325,  248,
1173       325,  325,  325,  326,  244,  326,  341,  326,  403,  326,
1174       326,  326,  326,  402,  326,  326,  400,  399,  398,  326,
1175       328,  397,  328,  328,  328,  395,  328,  328,  328,  328,
1176       328,  328,  328,  328,  328,  328,  328,  328,  328,  328,
1177 
1178       328,  331,  394,  331,  393,  331,  331,  390,  354,  352,
1179       331,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1180       334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1181       334,  334,  337,  351,  337,  337,  337,  337,  337,  307,
1182       337,  337,  337,  337,  337,  337,  337,  306,  337,  330,
1183       337,  337,  337,  340,  348,  340,  347,  340,  340,  340,
1184       340,  340,  340,  340,  340,  340,  340,  340,  307,  306,
1185       341,  340,  340,  340,  342,  342,  342,  342,  342,  342,
1186       342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
1187       342,  342,  342,  342,  342,  353,  307,  353,  353,  353,
1188 
1189       353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
1190       353,  353,  353,  353,  353,  353,  357,  357,  306,  339,
1191       338,  357,  357,  389,  307,  389,  389,  389,  389,  389,
1192       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1193       389,  389,  389,  389,  392,  306,  330,  392,  392,  392,
1194       392,  392,  392,  392,  392,  392,  392,  392,  392,  329,
1195       392,  327,  392,  396,  321,  396,  396,  396,  396,  324,
1196       396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
1197       396,  396,  396,  396,  401,  401,  401,  401,  401,  401,
1198       401,  401,  401,  401,  401,  401,  401,  401,  401,  321,
1199 
1200       401,  320,  401,  401,  401,  404,  318,  404,  404,  404,
1201       316,  404,  404,  404,  404,  404,  404,  404,  404,  404,
1202       313,  315,  311,  404,  404,  404,  246,  310,  246,  308,
1203       246,  246,  307,  306,  303,  246,  406,  301,  406,  406,
1204       406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
1205       406,  406,  406,  406,  406,  406,  406,  407,  300,  407,
1206       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
1207       407,  407,  407,  407,  407,  407,  407,  407,  418,  418,
1208       418,  418,  418,  418,  418,  418,  418,  418,  418,  418,
1209       418,  418,  418,  418,  418,  418,  418,  418,  418,  263,
1210 
1211       296,  263,  294,  263,  263,  293,  285,  273,  263,  422,
1212       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1213       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1214       427,  272,  427,  427,  427,  427,  427,  427,  427,  427,
1215       427,  427,  427,  427,  427,  427,  427,  271,  427,  427,
1216       427,  274,  265,  274,  274,  274,  274,  274,  274,  274,
1217       274,  274,  274,  274,  274,  274,  274,  274,  274,  274,
1218       274,  274,  437,  262,  437,  248,  437,  437,  244, 1113,
1219       117,  437,  117,  437,  442, 1113,  442,  442,  442,  442,
1220       442,  442,  442,  442,  442,  442,  442,  442,  442,  442,
1221 
1222       442,  442,  442,  442,  442,  295, 1113,  295,  295,  295,
1223       295,  295,  295,  295,  295,  295,  295,  295,  295,  295,
1224       295,  295,  295,  295,  295,  295,  444, 1113,  444,  444,
1225       444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
1226       444,  444,  444,  444,  444,  444,  444,  445, 1113,  445,
1227       445,  445,  445,  445,  445,  445,  445,  445,  445,  445,
1228       445,  445,  445,  445,  445,  445,  445,  445,  299,  299,
1229       299,  299,  299,  299,  299,  299,  299,  299,  299,  299,
1230       299,  299,  299, 1113,  299, 1113,  299,  299,  299,  302,
1231      1113,  302,  302, 1113,  302,  302,  302,  302,  302,  302,
1232 
1233       302,  302,  302,  302, 1113,  302, 1113,  302,  302,  302,
1234       448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1235       448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1236       448,  309, 1113, 1113,  309,  309,  309,  309,  309,  309,
1237       309,  309,  309,  309,  309,  309,  309,  309,  309,  309,
1238       309,  309,  317, 1113,  317, 1113,  317,  317, 1113, 1113,
1239      1113,  317,  326, 1113,  326, 1113,  326, 1113,  326,  326,
1240       326,  326, 1113,  326,  326, 1113, 1113, 1113,  326,  328,
1241      1113,  328,  328,  328,  328,  328,  328,  328,  328,  328,
1242       328,  328,  328,  328,  328,  328,  328,  328,  328,  328,
1243 
1244       331, 1113,  331, 1113,  331,  331, 1113, 1113, 1113,  331,
1245       334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1246       334,  334,  334,  334,  334,  334,  334,  334,  334,  334,
1247       334,  337, 1113,  337,  337,  337,  337,  337, 1113,  337,
1248       337,  337,  337,  337,  337,  337, 1113,  337, 1113,  337,
1249       337,  337,  340, 1113,  340, 1113,  340,  340,  340,  340,
1250       340,  340,  340,  340,  340,  340,  340, 1113, 1113, 1113,
1251       340,  340,  340,  468, 1113,  468,  468,  468,  468,  468,
1252       468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
1253       468,  468,  468,  468,  353, 1113,  353,  353,  353,  353,
1254 
1255       353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
1256       353,  353,  353,  353,  353,  357,  357, 1113, 1113, 1113,
1257       357,  357,  389, 1113,  389,  389,  389,  389,  389,  389,
1258       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1259       389,  389,  389,  392, 1113, 1113,  392,  392,  392,  392,
1260       392,  392,  392,  392,  392,  392,  392,  392, 1113,  392,
1261      1113,  392,  396, 1113,  396,  396,  396,  396, 1113,  396,
1262       396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
1263       396,  396,  396,  401,  401,  401,  401,  401,  401,  401,
1264       401,  401,  401,  401,  401,  401,  401,  401, 1113,  401,
1265 
1266      1113,  401,  401,  401,  404, 1113,  404,  404,  404, 1113,
1267       404,  404,  404,  404,  404,  404,  404,  404,  404, 1113,
1268      1113, 1113,  404,  404,  404,  406, 1113,  406,  406,  406,
1269       406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
1270       406,  406,  406,  406,  406,  406,  407, 1113,  407,  407,
1271       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
1272       407,  407,  407,  407,  407,  407,  407,  521,  521,  521,
1273       521,  521,  521,  521,  521,  521,  521,  521,  521,  521,
1274       521,  521,  521,  521,  521,  521,  521,  521,  530, 1113,
1275       530, 1113,  530,  530, 1113, 1113, 1113,  530,  532, 1113,
1276 
1277       532, 1113,  532,  532, 1113, 1113, 1113,  532,  418,  418,
1278       418,  418,  418,  418,  418,  418,  418,  418,  418,  418,
1279       418,  418,  418,  418,  418,  418,  418,  418,  418,  422,
1280       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1281       422,  422,  422,  422,  422,  422,  422,  422,  422,  422,
1282       427, 1113,  427,  427,  427,  427,  427,  427,  427,  427,
1283       427,  427,  427,  427,  427,  427,  427, 1113,  427,  427,
1284       427,  437, 1113,  437, 1113,  437,  437, 1113, 1113, 1113,
1285       437, 1113,  437,  442, 1113,  442,  442,  442,  442,  442,
1286       442,  442,  442,  442,  442,  442,  442,  442,  442,  442,
1287 
1288       442,  442,  442,  442,  444, 1113,  444,  444,  444,  444,
1289       444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
1290       444,  444,  444,  444,  444,  445, 1113,  445,  445,  445,
1291       445,  445,  445,  445,  445,  445,  445,  445,  445,  445,
1292       445,  445,  445,  445,  445,  445,  302, 1113,  302,  302,
1293      1113,  302,  302,  302,  302,  302,  302,  302,  302,  302,
1294       302, 1113,  302, 1113,  302,  302,  302,  448,  448,  448,
1295       448,  448,  448,  448,  448,  448,  448,  448,  448,  448,
1296       448,  448,  448,  448,  448,  448,  448,  448,  331, 1113,
1297       331, 1113,  331,  331, 1113, 1113, 1113,  331,  342, 1113,
1298 
1299       342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
1300       342,  342,  342,  342,  342,  342,  342,  342,  342,  468,
1301      1113,  468,  468,  468,  468,  468,  468,  468,  468,  468,
1302       468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
1303       357,  357, 1113, 1113, 1113,  357,  357,  630, 1113,  630,
1304       630,  630,  630,  630,  630,  630,  630,  630,  630,  630,
1305       630,  630,  630,  630,  630,  630,  630,  630,  800,  800,
1306       800,  800,  800,  800,  800,  800,  800,  800,  800,  800,
1307       800,  800,  800,  800,  800,  800,  800,  800,  800,  938,
1308       938,  938,  938,  938,  938,  938,  938,  938,  938,  938,
1309 
1310       938,  938,  938,  938,  938,  938,  938,  938,  938,  938,
1311        55, 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, 1113, 1113, 1113, 1113, 1113,
1318      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1319      1113, 1113, 1113, 1113, 1113
1320 
1321     } ;
1322 
1323 static const flex_int16_t yy_chk[4596] =
1324     {   0,
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,    1,    1,    1,    1,    1,    1,
1332         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1333         1,    1,    1,    1,    2,    2,    2,    2,    2,    2,
1334         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1335 
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,    2,    2,
1341         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
1342         2,    2,    2,    2,    2,    2,    2,    2,    3,    3,
1343       102,    3,    3,    5,    3,    5, 1012,    3,    3,    3,
1344         3,   79,   79,    3,    3,    6,    6,    7,    6,    7,
1345         3,   21,    6,    3,    8,  132,    8,   11,   11,  102,
1346 
1347        11,   12,   12,  964,   12,   19,   85,   19,   19,   27,
1348        28,   27,   28,   17,   20,   17,   20,   20,  148,    3,
1349         3,   51,    9,   51,    9,   17,  537,   22,    9,   17,
1350        17,   17,   17,   10,  132,   10,   29,  963,   29,   10,
1351       176,   21,   21,   47,   21,   47,   29,  148,    3,    3,
1352         3,    4,    4,   47,    4,    4,   19,    4,    4,  537,
1353         4,    4,    4,    4,    9,   20,    4,    4,   23,  176,
1354        23,    9,    9,    4,    9,   10,    4,   22,   22,   85,
1355        22,   23,   10,   10,  962,   10,   29,  199,   29,   45,
1356        52,   45,   52,    9,   17,   93,   37,   93,   45,   37,
1357 
1358         9,  961,    4,    4,   10,    4,   38,  960,   46,   38,
1359        46,   10,   37,   37,   37,   37,  199,   46,   23,   23,
1360        23,  959,   38,   38,   38,   38,   57,   57,  153,   57,
1361       153,    4,    4,    4,   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,
1366        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1367        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1368 
1369        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
1370        13,   13,   13,   13,   13,   13,   13,   13,   18,   24,
1371        18,   24,  155,   30,  155,   30,   31,  202,   31,   31,
1372        18,   64,   24,   30,   18,   18,   18,   18,   32,   43,
1373        32,   32,   53,   48,   53,   48,  167,   61,   61,   53,
1374        61,  101,   43,   48,   73,   73,  202,   73,   81,  261,
1375        81,  261,   43,   81,   81,   81,   81,   43,   64,   24,
1376        24,   24,  170,   30,  958,   30,   31,   31,   31,  170,
1377       957,  101,   43,  111,  111,  268,  111,  268,   32,   32,
1378        32,   43,   53,   53,   53,  956,   43,  167,   64,   18,
1379 
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,   25,   25,   25,   25,   25,   25,
1387        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
1388        25,   25,   25,   25,   33,   33,   39,   33,   39,   34,
1389        34,   33,   34,  147,   41,   42,   34,   49,   44,   49,
1390 
1391        33,   41,   42,  175,  308,   34,  308,   49,  274,  274,
1392        50,   44,   50,  184,   41,   42,  122,  122,  122,  122,
1393        50,   44,  185,  147,   41,   42,   44,   33,  207,   41,
1394        42,  955,   34,  175,   33,   33,   39,   33,   39,   34,
1395        34,   44,   34,  184,   41,   42,  334,   49,  334,   49,
1396        44,  954,  185,   41,   42,   44,   33,  207,   41,   42,
1397        50,   34,   50,   33,  336,   39,  336,   39,   34,   35,
1398        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1399        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1400        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1401 
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,   35,   35,   35,   35,   35,   35,   35,
1406        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
1407        35,   35,   35,   40,  634,   40,   54,  189,   54,   69,
1408        69,  188,   69,   54,   80,   80,   69,   82,   82,  188,
1409        82,  189,  128,  128,   82,  278,  278,  131,  131,  953,
1410       138,  138,  359,   82,  187,  190,  194,  634,  195,   82,
1411       187,  188,  191,  201,  196,  345,   80,  192,  196,  188,
1412 
1413       952,  189,  345,   40,  128,   40,   54,   54,   54,  131,
1414       897,  359,  138,  191,  187,  190,  194,  192,  195,  187,
1415       198,   82,  191,  201,  196,   80,  896,  192,  196,  203,
1416       198,  204,   40,  128,   40,   65,  243,  243,  131,  243,
1417        69,  138,  191,  250,  205,  197,  192,  361,   82,  197,
1418       198,  206,  251,  200,   65,  259,   65,  273,   65,  203,
1419       198,  204,  895,  200,   65,  894,  200,   65,   65,   65,
1420       893,   65,   65,   65,  205,  197,  361,   65,  892,  197,
1421       250,  206,  251,  200,   65,  259,   65,  273,   65,  211,
1422       211,  211,  211,  200,   65,  200,  891,   65,   65,   65,
1423 
1424        65,   65,   65,  890,  247,  247,   65,  247,   65,  889,
1425       250,  254,  254,  888,  254,  255,  255,  887,  255,  256,
1426       256,  363,  256,  257,  257,  275,  257,  293,  254,  254,
1427       254,  254,  255,  255,  255,  255,  256,  256,  256,  256,
1428       257,  257,  257,  257,  264,  264,  304,  264,  276,  276,
1429       363,  264,  305,  886,  254,  275,  275,  293,  312,  312,
1430       256,  312,  332,  257,  885,  284,  284,  884,  284,  333,
1431       349,  350,  284,  355,  356,  358,  304,  883,  365,  366,
1432       276,  284,  305,  254,  367,  360,  368,  284,  371,  358,
1433       256,  369,  332,  257,  319,  319,  319,  319,  372,  333,
1434 
1435       349,  350,  360,  355,  356,  358,  364,  365,  366,  276,
1436       364,  373,  381,  367,  374,  360,  368,  371,  358,  284,
1437       418,  369,  418,  882,  420,  264,  420,  422,  372,  422,
1438       881,  360,  391,  391,  391,  391,  364,  424,  880,  424,
1439       364,  373,  381,  374,  376,  378,  284,  321,  321,  321,
1440       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1441       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1442       321,  321,  370,  376,  378,  321,  370,  321,  321,  321,
1443       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1444       321,  321,  321,  321,  321,  321,  321,  321,  321,  321,
1445 
1446       321,  379,  370,  380,  383,  370,  382,  383,  384,  385,
1447       382,  879,  386,  380,  387,  382,  385,  878,  405,  427,
1448       427,  412,  413,  433,  433,  448,  414,  448,  639,  639,
1449       379,  416,  426,  380,  383,  877,  382,  383,  384,  385,
1450       382,  386,  380,  387,  531,  382,  385,  388,  405,  388,
1451       412,  413,  388,  388,  408,  408,  414,  408,  388,  388,
1452       428,  416,  426,  876,  388,  388,  875,  411,  411,  388,
1453       411,  408,  408,  408,  408,  441,  388,  388,  443,  388,
1454       429,  429,  388,  388,  411,  411,  411,  411,  388,  388,
1455       428,  428,  446,  388,  388,  431,  431,  447,  388,  438,
1456 
1457       438,  438,  438,  464,  450,  441,  450,  465,  443,  469,
1458       470,  521,  429,  521,  871,  471,  429,  524,  870,  524,
1459       526,  526,  446,  526,  531,  818,  625,  447,  625,  431,
1460       431,  626,  626,  464,  626,  632,  632,  465,  632,  469,
1461       470,  429,  430,  430,  471,  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,  430,  430,  430,  430,
1465       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1466       430,  430,  430,  430,  430,  430,  817,  430,  430,  430,
1467 
1468       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1469       430,  430,  430,  430,  430,  430,  430,  430,  430,  430,
1470       430,  430,  430,  430,  430,  430,  432,  432,  432,  432,
1471       451,  452,  453,  457,  456,  432,  432,  432,  432,  432,
1472       432,  454,  459,  460,  472,  461,  451,  452,  473,  458,
1473       453,  474,  457,  461,  454,  816,  456,  475,  476,  477,
1474       432,  432,  459,  460,  478,  432,  432,  432,  432,  432,
1475       432,  458,  480,  472,  458,  482,  451,  452,  473,  481,
1476       453,  474,  457,  461,  454,  456,  486,  475,  476,  477,
1477       484,  487,  459,  460,  478,  815,  485,  488,  489,  814,
1478 
1479       458,  491,  480,  458,  462,  482,  492,  493,  481,  462,
1480       462,  462,  462,  494,  495,  462,  486,  496,  497,  484,
1481       462,  487,  498,  499,  462,  485,  488,  462,  489,  462,
1482       500,  491,  462,  501,  502,  503,  492,  493,  505,  462,
1483       462,  462,  462,  494,  495,  462,  506,  496,  497,  504,
1484       462,  507,  498,  499,  462,  504,  462,  508,  462,  509,
1485       500,  462,  510,  501,  502,  503,  511,  513,  505,  512,
1486       514,  515,  516,  517,  519,  506,  518,  519,  519,  504,
1487       507,  520,  638,  638,  638,  504,  546,  508,  527,  509,
1488       528,  529,  510,  533,  543,  544,  511,  513,  512,  813,
1489 
1490       514,  515,  516,  517,  519,  518,  519,  519,  631,  522,
1491       522,  520,  522,  525,  525,  546,  525,  719,  527,  719,
1492       528,  529,  812,  533,  543,  544,  522,  522,  522,  522,
1493       525,  525,  525,  525,  534,  534,  811,  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,  534,  534,
1497       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1498       534,  534,  534,  534,  534,  534,  534,  534,  631,  534,
1499       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1500 
1501       534,  534,  534,  534,  534,  534,  534,  534,  534,  534,
1502       534,  534,  534,  534,  534,  534,  534,  534,  535,  535,
1503       545,  548,  550,  810,  539,  539,  549,  552,  557,  551,
1504       554,  549,  552,  553,  809,  559,  558,  640,  640,  548,
1505       551,  548,  556,  554,  727,  727,  550,  556,  557,  558,
1506       545,  559,  535,  535,  536,  536,  536,  536,  539,  539,
1507       553,  549,  552,  536,  536,  536,  536,  536,  536,  548,
1508       551,  548,  555,  554,  562,  550,  560,  556,  557,  558,
1509       800,  559,  800,  563,  569,  561,  566,  562,  564,  553,
1510       555,  571,  560,  536,  536,  536,  536,  536,  536,  540,
1511 
1512       540,  540,  540,  561,  565,  563,  566,  564,  540,  540,
1513       540,  540,  540,  540,  569,  567,  568,  562,  570,  572,
1514       555,  571,  560,  575,  568,  808,  565,  576,  577,  565,
1515       578,  579,  580,  561,  563,  567,  566,  564,  540,  540,
1516       540,  540,  540,  540,  582,  584,  581,  570,  572,  583,
1517       587,  806,  588,  575,  568,  565,  576,  577,  565,  578,
1518       589,  579,  580,  581,  590,  567,  594,  595,  599,  581,
1519       799,  597,  598,  601,  582,  584,  602,  603,  583,  604,
1520       587,  588,  605,  606,  796,  607,  608,  609,  611,  589,
1521       612,  613,  615,  581,  590,  594,  614,  595,  599,  581,
1522 
1523       597,  598,  601,  616,  617,  619,  602,  603,  618,  604,
1524       620,  605,  621,  606,  607,  608,  620,  609,  611,  622,
1525       612,  613,  615,  627,  628,  614,  629,  636,  636,  641,
1526       651,  643,  616,  646,  617,  619,  647,  618,  644,  784,
1527       620,  669,  621,  650,  652,  620,  770,  660,  647,  622,
1528       651,  648,  627,  652,  628,  629,  650,  649,  646,  641,
1529       643,  636,  636,  637,  637,  637,  637,  653,  644,  648,
1530       669,  660,  637,  637,  637,  637,  637,  637,  647,  649,
1531       651,  654,  655,  652,  656,  653,  650,  646,  654,  655,
1532       657,  658,  659,  656,  728,  728,  665,  659,  663,  648,
1533 
1534       660,  657,  637,  637,  637,  637,  637,  637,  649,  658,
1535       661,  658,  662,  664,  665,  653,  667,  662,  654,  655,
1536       668,  661,  670,  656,  666,  663,  664,  659,  671,  666,
1537       672,  657,  674,  668,  676,  679,  667,  761,  680,  658,
1538       681,  658,  683,  687,  665,  679,  685,  662,  688,  689,
1539       691,  661,  670,  692,  663,  693,  664,  671,  695,  666,
1540       672,  674,  696,  668,  676,  679,  667,  680,  697,  699,
1541       681,  700,  683,  687,  679,  685,  701,  702,  688,  689,
1542       691,  704,  692,  705,  707,  693,  706,  695,  709,  710,
1543       711,  696,  713,  714,  733,  715,  716,  697,  717,  699,
1544 
1545       700,  720,  721,  722,  722,  701,  722,  702,  730,  736,
1546       704,  733,  734,  705,  707,  706,  737,  734,  709,  710,
1547       711,  735,  713,  714,  715,  736,  716,  739,  717,  740,
1548       738,  720,  721,  726,  726,  726,  735,  741,  743,  745,
1549       737,  733,  738,  744,  747,  742,  746,  734,  748,  739,
1550       729,  750,  749,  740,  742,  736,  744,  752,  746,  751,
1551       743,  741,  747,  725,  745,  749,  735,  753,  751,  737,
1552       748,  750,  738,  754,  753,  752,  755,  763,  739,  764,
1553       754,  765,  740,  756,  742,  755,  744,  763,  746,  743,
1554       741,  766,  747,  745,  756,  749,  767,  768,  751,  748,
1555 
1556       769,  750,  771,  772,  753,  752,  773,  763,  774,  764,
1557       754,  765,  775,  776,  778,  755,  777,  763,  780,  724,
1558       782,  766,  786,  787,  756,  767,  768,  788,  791,  769,
1559       793,  797,  771,  772,  718,  798,  773,  802,  774,  802,
1560       804,  712,  775,  776,  778,  777,  790,  790,  780,  782,
1561       820,  790,  786,  787,  790,  819,  788,  790,  791,  708,
1562       793,  797,  790,  794,  794,  798,  823,  820,  794,  804,
1563       821,  794,  824,  822,  794,  821,  790,  790,  825,  819,
1564       826,  790,  823,  827,  790,  828,  831,  790,  822,  830,
1565       825,  790,  832,  794,  794,  833,  824,  820,  794,  831,
1566 
1567       834,  794,  826,  835,  794,  821,  829,  827,  819,  828,
1568       838,  830,  823,  836,  841,  829,  694,  840,  822,  842,
1569       825,  843,  832,  844,  833,  824,  845,  847,  849,  831,
1570       834,  826,  835,  850,  852,  856,  827,  857,  828,  838,
1571       830,  858,  690,  836,  841,  829,  840,  860,  842,  865,
1572       852,  843,  844,  861,  862,  859,  845,  847,  849,  859,
1573       863,  864,  859,  850,  852,  856,  857,  866,  684,  868,
1574       869,  858,  859,  872,  867,  678,  860,  867,  865,  852,
1575       873,  898,  873,  861,  862,  859,  903,  867,  899,  859,
1576       863,  864,  859,  900,  901,  902,  905,  866,  868,  869,
1577 
1578       906,  859,  872,  907,  867,  898,  908,  867,  910,  911,
1579       912,  642,  913,  914,  915,  903,  867,  916,  899,  917,
1580       919,  920,  921,  900,  901,  902,  905,  922,  635,  923,
1581       906,  924,  926,  907,  898,  927,  908,  910,  928,  911,
1582       912,  913,  930,  914,  915,  931,  932,  916,  917,  933,
1583       919,  920,  921,  934,  935,  937,  936,  922,  923,  938,
1584       924,  938,  926,  965,  940,  927,  940,  928,  966,  967,
1585       968,  969,  930,  936,  970,  931,  932,  971,  933,  972,
1586       973,  974,  934,  935,  937,  975,  936,  976,  978,  633,
1587       979,  980,  965,  981,  982,  983,  984,  985,  966,  967,
1588 
1589       968,  969,  936,  987,  970,  989,  990,  971,  972,  973,
1590       991,  974,  992,  993,  975,  995,  999,  976,  978,  979,
1591       980,  996,  981,  998,  982,  983,  984,  985, 1015,  997,
1592      1013, 1014,  987,  997,  989,  990, 1016, 1017, 1019, 1020,
1593       991, 1022,  992,  993, 1023,  995,  999, 1024, 1025, 1026,
1594       996, 1027,  998, 1028, 1030, 1034, 1035, 1015,  997, 1036,
1595      1013, 1014,  997, 1039, 1040, 1016, 1017, 1041, 1019, 1020,
1596      1022, 1042, 1043, 1023, 1044, 1046, 1047, 1024, 1025, 1026,
1597      1048, 1027, 1049, 1028, 1030, 1034, 1035, 1050, 1053, 1036,
1598      1055, 1057, 1039, 1060, 1040, 1063, 1064, 1041, 1065, 1066,
1599 
1600      1042, 1043, 1067, 1044, 1046, 1068, 1047, 1069, 1070, 1072,
1601      1048, 1073, 1049, 1074, 1075,  623, 1077, 1050, 1053, 1055,
1602      1081, 1057, 1082, 1060, 1083, 1063, 1064, 1065, 1084, 1066,
1603      1086, 1087, 1067, 1088, 1089, 1068, 1090, 1069, 1070, 1072,
1604      1073, 1093, 1074, 1095, 1075, 1077, 1096, 1097, 1098, 1100,
1605      1081, 1103, 1082, 1083, 1105,  596, 1106, 1107, 1084, 1109,
1606      1086, 1087, 1110, 1088, 1089, 1090, 1157, 1157,  593, 1173,
1607      1093, 1173, 1206, 1095, 1206, 1096, 1097, 1098,  547, 1100,
1608       538, 1103, 1166, 1166, 1105, 1106, 1107, 1166,  490, 1109,
1609       467,  466, 1110, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1610 
1611      1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1612      1114, 1114, 1114, 1114, 1115, 1115, 1115, 1115, 1115, 1115,
1613      1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1614      1115, 1115, 1115, 1115, 1115, 1116, 1116, 1116, 1116, 1116,
1615      1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
1616      1116, 1116, 1116, 1116, 1116, 1116, 1117, 1117, 1117, 1117,
1617      1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
1618      1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118, 1118,
1619      1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
1620      1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119, 1119,
1621 
1622      1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
1623      1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1120,
1624      1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1625      1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1626      1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1627      1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1628      1121, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1629      1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1630      1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1631      1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1632 
1633      1123, 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1634      1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1635      1124, 1124, 1124, 1124, 1125, 1125, 1125, 1125, 1125, 1125,
1636      1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
1637      1125, 1125, 1125, 1125, 1125, 1126, 1126, 1126, 1126, 1126,
1638      1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126,
1639      1126, 1126, 1126, 1126, 1126, 1126, 1127, 1127, 1127, 1127,
1640      1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
1641      1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, 1128,
1642      1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
1643 
1644      1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1129, 1129,
1645      1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
1646      1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1130,
1647      1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1648      1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1649      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1650      1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1651      1131, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1652      1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1653      1132, 1132, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1654 
1655      1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1656      1133, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1657      1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1658      1134, 1134, 1134, 1134, 1135,  455, 1135,  437, 1135, 1135,
1659      1213, 1213, 1213, 1135, 1136, 1136, 1136, 1136, 1136, 1136,
1660      1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
1661      1136, 1136, 1136, 1136, 1137,  410, 1137,  389, 1137, 1137,
1662      1167, 1167,  362, 1137, 1138, 1167, 1138, 1138, 1138, 1138,
1663      1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
1664      1138, 1138, 1138, 1138, 1138, 1139,  353, 1139, 1139, 1139,
1665 
1666      1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
1667      1139, 1139, 1139, 1139, 1139, 1139, 1140, 1140,  351, 1140,
1668       346, 1140, 1140,  344,  343,  328, 1140, 1141,  315, 1141,
1669      1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
1670      1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1142, 1142,
1671      1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
1672      1142, 1142, 1142,  314, 1142,  313, 1142, 1142, 1142, 1143,
1673       310, 1143, 1143,  296, 1143, 1143, 1143, 1143, 1143, 1143,
1674      1143, 1143, 1143, 1143,  289, 1143,  288, 1143, 1143, 1143,
1675      1144,  287,  286, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1676 
1677      1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1678      1144, 1145,  283, 1145,  281, 1145, 1145,  280,  271,  270,
1679      1145, 1146,  267, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1680      1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1681      1146, 1146, 1147,  266, 1147, 1147, 1147, 1147, 1147, 1147,
1682      1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,  249,
1683      1147, 1147, 1147, 1148,  245, 1148,  241, 1148,  239, 1148,
1684      1148, 1148, 1148,  238, 1148, 1148,  236,  235,  234, 1148,
1685      1149,  230, 1149, 1149, 1149,  216, 1149, 1149, 1149, 1149,
1686      1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
1687 
1688      1149, 1150,  215, 1150,  214, 1150, 1150,  210,  183,  182,
1689      1150, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1690      1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1691      1151, 1151, 1152,  180, 1152, 1152, 1152, 1152, 1152,  178,
1692      1152, 1152, 1152, 1152, 1152, 1152, 1152,  177, 1152,  174,
1693      1152, 1152, 1152, 1153,  173, 1153,  172, 1153, 1153, 1153,
1694      1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,  168,  166,
1695       164, 1153, 1153, 1153, 1154, 1154, 1154, 1154, 1154, 1154,
1696      1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
1697      1154, 1154, 1154, 1154, 1154, 1155,  161, 1155, 1155, 1155,
1698 
1699      1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
1700      1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156,  160,  159,
1701       158, 1156, 1156, 1158,  150, 1158, 1158, 1158, 1158, 1158,
1702      1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
1703      1158, 1158, 1158, 1158, 1159,  149,  145, 1159, 1159, 1159,
1704      1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159,  144,
1705      1159,  142, 1159, 1160,  137, 1160, 1160, 1160, 1160,  135,
1706      1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
1707      1160, 1160, 1160, 1160, 1161, 1161, 1161, 1161, 1161, 1161,
1708      1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,  130,
1709 
1710      1161,  126, 1161, 1161, 1161, 1162,  120, 1162, 1162, 1162,
1711       115, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
1712       113,  112,  109, 1162, 1162, 1162, 1163,  107, 1163,  105,
1713      1163, 1163,  104,  103,   99, 1163, 1164,   96, 1164, 1164,
1714      1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1715      1164, 1164, 1164, 1164, 1164, 1164, 1164, 1165,   95, 1165,
1716      1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
1717      1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1168, 1168,
1718      1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
1719      1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1169,
1720 
1721        92, 1169,   90, 1169, 1169,   86,   84,   78, 1169, 1170,
1722      1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1723      1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1724      1171,   77, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
1725      1171, 1171, 1171, 1171, 1171, 1171, 1171,   74, 1171, 1171,
1726      1171, 1172,   71, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1727      1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1728      1172, 1172, 1174,   66, 1174,   63, 1174, 1174,   59,   55,
1729        16, 1174,   15, 1174, 1175,    0, 1175, 1175, 1175, 1175,
1730      1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175,
1731 
1732      1175, 1175, 1175, 1175, 1175, 1176,    0, 1176, 1176, 1176,
1733      1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
1734      1176, 1176, 1176, 1176, 1176, 1176, 1177,    0, 1177, 1177,
1735      1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
1736      1177, 1177, 1177, 1177, 1177, 1177, 1177, 1178,    0, 1178,
1737      1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
1738      1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1179, 1179,
1739      1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
1740      1179, 1179, 1179,    0, 1179,    0, 1179, 1179, 1179, 1180,
1741         0, 1180, 1180,    0, 1180, 1180, 1180, 1180, 1180, 1180,
1742 
1743      1180, 1180, 1180, 1180,    0, 1180,    0, 1180, 1180, 1180,
1744      1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1745      1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1746      1181, 1182,    0,    0, 1182, 1182, 1182, 1182, 1182, 1182,
1747      1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
1748      1182, 1182, 1183,    0, 1183,    0, 1183, 1183,    0,    0,
1749         0, 1183, 1184,    0, 1184,    0, 1184,    0, 1184, 1184,
1750      1184, 1184,    0, 1184, 1184,    0,    0,    0, 1184, 1185,
1751         0, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1752      1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1753 
1754      1186,    0, 1186,    0, 1186, 1186,    0,    0,    0, 1186,
1755      1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1756      1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1757      1187, 1188,    0, 1188, 1188, 1188, 1188, 1188,    0, 1188,
1758      1188, 1188, 1188, 1188, 1188, 1188,    0, 1188,    0, 1188,
1759      1188, 1188, 1189,    0, 1189,    0, 1189, 1189, 1189, 1189,
1760      1189, 1189, 1189, 1189, 1189, 1189, 1189,    0,    0,    0,
1761      1189, 1189, 1189, 1190,    0, 1190, 1190, 1190, 1190, 1190,
1762      1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190,
1763      1190, 1190, 1190, 1190, 1191,    0, 1191, 1191, 1191, 1191,
1764 
1765      1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
1766      1191, 1191, 1191, 1191, 1191, 1192, 1192,    0,    0,    0,
1767      1192, 1192, 1193,    0, 1193, 1193, 1193, 1193, 1193, 1193,
1768      1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
1769      1193, 1193, 1193, 1194,    0,    0, 1194, 1194, 1194, 1194,
1770      1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194,    0, 1194,
1771         0, 1194, 1195,    0, 1195, 1195, 1195, 1195,    0, 1195,
1772      1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
1773      1195, 1195, 1195, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
1774      1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196,    0, 1196,
1775 
1776         0, 1196, 1196, 1196, 1197,    0, 1197, 1197, 1197,    0,
1777      1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,    0,
1778         0,    0, 1197, 1197, 1197, 1198,    0, 1198, 1198, 1198,
1779      1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
1780      1198, 1198, 1198, 1198, 1198, 1198, 1199,    0, 1199, 1199,
1781      1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
1782      1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200,
1783      1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
1784      1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1201,    0,
1785      1201,    0, 1201, 1201,    0,    0,    0, 1201, 1202,    0,
1786 
1787      1202,    0, 1202, 1202,    0,    0,    0, 1202, 1203, 1203,
1788      1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
1789      1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1204,
1790      1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
1791      1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
1792      1205,    0, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1793      1205, 1205, 1205, 1205, 1205, 1205, 1205,    0, 1205, 1205,
1794      1205, 1207,    0, 1207,    0, 1207, 1207,    0,    0,    0,
1795      1207,    0, 1207, 1208,    0, 1208, 1208, 1208, 1208, 1208,
1796      1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208,
1797 
1798      1208, 1208, 1208, 1208, 1209,    0, 1209, 1209, 1209, 1209,
1799      1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1800      1209, 1209, 1209, 1209, 1209, 1210,    0, 1210, 1210, 1210,
1801      1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
1802      1210, 1210, 1210, 1210, 1210, 1210, 1211,    0, 1211, 1211,
1803         0, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
1804      1211,    0, 1211,    0, 1211, 1211, 1211, 1212, 1212, 1212,
1805      1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
1806      1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1214,    0,
1807      1214,    0, 1214, 1214,    0,    0,    0, 1214, 1215,    0,
1808 
1809      1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215,
1810      1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1216,
1811         0, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1812      1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1813      1217, 1217,    0,    0,    0, 1217, 1217, 1218,    0, 1218,
1814      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
1815      1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1219, 1219,
1816      1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
1817      1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1220,
1818      1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1819 
1820      1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
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, 1113, 1113, 1113, 1113, 1113,
1828      1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1829      1113, 1113, 1113, 1113, 1113
1830 
1831     } ;
1832 
1833 static yy_state_type yy_last_accepting_state;
1834 static char *yy_last_accepting_cpos;
1835 
1836 extern int yy_flex_debug;
1837 int yy_flex_debug = 0;
1838 
1839 /* The intent behind this definition is that it'll catch
1840  * any uses of REJECT which flex missed.
1841  */
1842 #define REJECT reject_used_but_not_detected
1843 #define yymore() yymore_used_but_not_detected
1844 #define YY_MORE_ADJ 0
1845 #define YY_RESTORE_YY_MORE_OFFSET
1846 char *yytext;
1847 #line 1 "scan.l"
1848 /* scan.l - scanner for flex input -*-C-*- */
1849 #line 4 "scan.l"
1850 /*  Copyright (c) 1990 The Regents of the University of California. */
1851 /*  All rights reserved. */
1852 
1853 /*  This code is derived from software contributed to Berkeley by */
1854 /*  Vern Paxson. */
1855 
1856 /*  The United States Government has rights in this work pursuant */
1857 /*  to contract no. DE-AC03-76SF00098 between the United States */
1858 /*  Department of Energy and the University of California. */
1859 
1860 /*  This file is part of flex. */
1861 
1862 /*  Redistribution and use in source and binary forms, with or without */
1863 /*  modification, are permitted provided that the following conditions */
1864 /*  are met: */
1865 
1866 /*  1. Redistributions of source code must retain the above copyright */
1867 /*     notice, this list of conditions and the following disclaimer. */
1868 /*  2. Redistributions in binary form must reproduce the above copyright */
1869 /*     notice, this list of conditions and the following disclaimer in the */
1870 /*     documentation and/or other materials provided with the distribution. */
1871 
1872 /*  Neither the name of the University nor the names of its contributors */
1873 /*  may be used to endorse or promote products derived from this software */
1874 /*  without specific prior written permission. */
1875 
1876 /*  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */
1877 /*  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */
1878 /*  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
1879 /*  PURPOSE. */
1880 
1881 #include "flexdef.h"
1882 #include "parse.h"
1883 extern bool tablesverify, tablesext;
1884 extern int trlcontxt; /* Set in  parse.y for each rule. */
1885 extern const char *escaped_qstart, *escaped_qend;
1886 extern int yylval;
1887 
1888 #define M4QSTART "[""["
1889 #define M4QEND "]""]"
1890 
1891 #define ESCAPED_QSTART "[" M4QEND M4QSTART "[" M4QEND M4QSTART
1892 #define ESCAPED_QEND M4QEND "]" M4QSTART M4QEND "]" M4QSTART
1893 
1894 #define ACTION_ECHO add_action( yytext )
1895 #define ACTION_IFDEF(def, should_define) \
1896 	{ \
1897 	if ( should_define ) \
1898 		action_define( def, 1 ); \
1899 	}
1900 
1901 #define ACTION_ECHO_QSTART add_action (ESCAPED_QSTART)
1902 #define ACTION_ECHO_QEND   add_action (ESCAPED_QEND)
1903 
1904 #define ACTION_M4_IFDEF(def, should_define) \
1905     do{ \
1906         if ( should_define ) \
1907             buf_m4_define( &m4defs_buf, def, NULL);\
1908         else \
1909             buf_m4_undefine( &m4defs_buf, def);\
1910     } while(0)
1911 
1912 #define MARK_END_OF_PROLOG mark_prolog();
1913 
1914 #define YY_DECL \
1915 	int flexscan(void)
1916 
1917 #define RETURNCHAR \
1918 	yylval = (unsigned char) yytext[0]; \
1919 	return CHAR;
1920 
1921 #define RETURNNAME \
1922 	if(yyleng < MAXLINE) \
1923          { \
1924 	strncpy( nmstr, yytext, sizeof(nmstr) ); \
1925 	return NAME; \
1926 	 } \
1927 	else \
1928 	 do { \
1929 	   synerr(_("Input line too long\n")); \
1930 	   FLEX_EXIT(EXIT_FAILURE);  \
1931 	 } while (0)
1932 
1933 #define PUT_BACK_STRING(str, start) \
1934 	{ size_t i = strlen( str );	\
1935 	  while ( i > start )		\
1936 	    unput((str)[--i]);		\
1937 	}
1938 
1939 #define CHECK_REJECT(str) \
1940 	if ( all_upper( str ) ) \
1941 		reject = true;
1942 
1943 #define CHECK_YYMORE(str) \
1944 	if ( all_lower( str ) ) \
1945 		yymore_used = true;
1946 
1947 #define YY_USER_INIT \
1948 	if ( getenv("POSIXLY_CORRECT") ) \
1949 		posix_compat = true;
1950 
1951 #define START_CODEBLOCK(x) do { \
1952     /* Emit the needed line directive... */\
1953     if (indented_code == false) { \
1954         linenum++; \
1955         line_directive_out(NULL, 1); \
1956     } \
1957     add_action(M4QSTART); \
1958     yy_push_state(CODEBLOCK); \
1959     if ((indented_code = x)) ACTION_ECHO; \
1960 } while(0)
1961 
1962 #define END_CODEBLOCK do { \
1963     yy_pop_state();\
1964     add_action(M4QEND); \
1965     if (!indented_code) line_directive_out(NULL, 0);\
1966 } while (0)
1967 
1968 #line 1968 "<stdout>"
1969 
1970 #line 1970 "<stdout>"
1971 
1972 #define INITIAL 0
1973 #define SECT2 1
1974 #define SECT2PROLOG 2
1975 #define SECT3 3
1976 #define CODEBLOCK 4
1977 #define PICKUPDEF 5
1978 #define SC 6
1979 #define CARETISBOL 7
1980 #define NUM 8
1981 #define QUOTE 9
1982 #define FIRSTCCL 10
1983 #define CCL 11
1984 #define ACTION 12
1985 #define RECOVER 13
1986 #define COMMENT 14
1987 #define ACTION_STRING 15
1988 #define PERCENT_BRACE_ACTION 16
1989 #define OPTION 17
1990 #define LINEDIR 18
1991 #define CODEBLOCK_MATCH_BRACE 19
1992 #define GROUP_WITH_PARAMS 20
1993 #define GROUP_MINUS_PARAMS 21
1994 #define EXTENDED_COMMENT 22
1995 #define COMMENT_DISCARD 23
1996 #define CODE_COMMENT 24
1997 #define SECT3_NOESCAPE 25
1998 #define CHARACTER_CONSTANT 26
1999 
2000 #ifndef YY_NO_UNISTD_H
2001 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2002  * down here because we want the user's section 1 to have been scanned first.
2003  * The user has a chance to override it with an option.
2004  */
2005 #include <unistd.h>
2006 #endif
2007 
2008 #ifndef YY_EXTRA_TYPE
2009 #define YY_EXTRA_TYPE void *
2010 #endif
2011 
2012 static int yy_init_globals ( void );
2013 
2014 /* Accessor methods to globals.
2015    These are made visible to non-reentrant scanners for convenience. */
2016 
2017 int yylex_destroy ( void );
2018 
2019 int yyget_debug ( void );
2020 
2021 void yyset_debug ( int debug_flag  );
2022 
2023 YY_EXTRA_TYPE yyget_extra ( void );
2024 
2025 void yyset_extra ( YY_EXTRA_TYPE user_defined  );
2026 
2027 FILE *yyget_in ( void );
2028 
2029 void yyset_in  ( FILE * _in_str  );
2030 
2031 FILE *yyget_out ( void );
2032 
2033 void yyset_out  ( FILE * _out_str  );
2034 
2035 			int yyget_leng ( void );
2036 
2037 char *yyget_text ( void );
2038 
2039 int yyget_lineno ( void );
2040 
2041 void yyset_lineno ( int _line_number  );
2042 
2043 /* Macros after this point can all be overridden by user definitions in
2044  * section 1.
2045  */
2046 
2047 #ifndef YY_SKIP_YYWRAP
2048 #ifdef __cplusplus
2049 extern "C" int yywrap ( void );
2050 #else
2051 extern int yywrap ( void );
2052 #endif
2053 #endif
2054 
2055 #ifndef YY_NO_UNPUT
2056 
2057     static void yyunput ( int c, char *buf_ptr  );
2058 
2059 #endif
2060 
2061 #ifndef yytext_ptr
2062 static void yy_flex_strncpy ( char *, const char *, int );
2063 #endif
2064 
2065 #ifdef YY_NEED_STRLEN
2066 static int yy_flex_strlen ( const char * );
2067 #endif
2068 
2069 #ifndef YY_NO_INPUT
2070 #ifdef __cplusplus
2071 static int yyinput ( void );
2072 #else
2073 static int input ( void );
2074 #endif
2075 
2076 #endif
2077 
2078         static int yy_start_stack_ptr = 0;
2079         static int yy_start_stack_depth = 0;
2080         static int *yy_start_stack = NULL;
2081 
2082     static void yy_push_state ( int _new_state );
2083 
2084     static void yy_pop_state ( void );
2085 
2086 /* Amount of stuff to slurp up with each read. */
2087 #ifndef YY_READ_BUF_SIZE
2088 #ifdef __ia64__
2089 /* On IA-64, the buffer size is 16k, not 8k */
2090 #define YY_READ_BUF_SIZE 16384
2091 #else
2092 #define YY_READ_BUF_SIZE 8192
2093 #endif /* __ia64__ */
2094 #endif
2095 
2096 /* Copy whatever the last rule matched to the standard output. */
2097 #ifndef ECHO
2098 /* This used to be an fputs(), but since the string might contain NUL's,
2099  * we now use fwrite().
2100  */
2101 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2102 #endif
2103 
2104 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2105  * is returned in "result".
2106  */
2107 #ifndef YY_INPUT
2108 #define YY_INPUT(buf,result,max_size) \
2109 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2110 		{ \
2111 		int c = '*'; \
2112 		int n; \
2113 		for ( n = 0; n < max_size && \
2114 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2115 			buf[n] = (char) c; \
2116 		if ( c == '\n' ) \
2117 			buf[n++] = (char) c; \
2118 		if ( c == EOF && ferror( yyin ) ) \
2119 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
2120 		result = n; \
2121 		} \
2122 	else \
2123 		{ \
2124 		errno=0; \
2125 		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2126 			{ \
2127 			if( errno != EINTR) \
2128 				{ \
2129 				YY_FATAL_ERROR( "input in flex scanner failed" ); \
2130 				break; \
2131 				} \
2132 			errno=0; \
2133 			clearerr(yyin); \
2134 			} \
2135 		}\
2136 \
2137 
2138 #endif
2139 
2140 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2141  * we don't want an extra ';' after the "return" because that will cause
2142  * some compilers to complain about unreachable statements.
2143  */
2144 #ifndef yyterminate
2145 #define yyterminate() return YY_NULL
2146 #endif
2147 
2148 /* Number of entries by which start-condition stack grows. */
2149 #ifndef YY_START_STACK_INCR
2150 #define YY_START_STACK_INCR 25
2151 #endif
2152 
2153 /* Report a fatal error. */
2154 #ifndef YY_FATAL_ERROR
2155 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2156 #endif
2157 
2158 /* end tables serialization structures and prototypes */
2159 
2160 /* Default declaration of generated scanner - a define so the user can
2161  * easily add parameters.
2162  */
2163 #ifndef YY_DECL
2164 #define YY_DECL_IS_OURS 1
2165 
2166 extern int yylex (void);
2167 
2168 #define YY_DECL int yylex (void)
2169 #endif /* !YY_DECL */
2170 
2171 /* Code executed at the beginning of each rule, after yytext and yyleng
2172  * have been set up.
2173  */
2174 #ifndef YY_USER_ACTION
2175 #define YY_USER_ACTION
2176 #endif
2177 
2178 /* Code executed at the end of each rule. */
2179 #ifndef YY_BREAK
2180 #define YY_BREAK /*LINTED*/break;
2181 #endif
2182 
2183 #define YY_RULE_SETUP \
2184 	if ( yyleng > 0 ) \
2185 		YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2186 				(yytext[yyleng - 1] == '\n'); \
2187 	YY_USER_ACTION
2188 
2189 /** The main scanner function which does all the work.
2190  */
2191 YY_DECL
2192 {
2193 	yy_state_type yy_current_state;
2194 	char *yy_cp, *yy_bp;
2195 	int yy_act;
2196 
2197 	if ( !(yy_init) )
2198 		{
2199 		(yy_init) = 1;
2200 
2201 #ifdef YY_USER_INIT
2202 		YY_USER_INIT;
2203 #endif
2204 
2205 		if ( ! (yy_start) )
2206 			(yy_start) = 1;	/* first start state */
2207 
2208 		if ( ! yyin )
2209 			yyin = stdin;
2210 
2211 		if ( ! yyout )
2212 			yyout = stdout;
2213 
2214 		if ( ! YY_CURRENT_BUFFER ) {
2215 			yyensure_buffer_stack ();
2216 			YY_CURRENT_BUFFER_LVALUE =
2217 				yy_create_buffer( yyin, YY_BUF_SIZE );
2218 		}
2219 
2220 		yy_load_buffer_state(  );
2221 		}
2222 
2223 	{
2224 #line 159 "scan.l"
2225 
2226 #line 161 "scan.l"
2227 	static int bracelevel, didadef, indented_code;
2228 	static int doing_rule_action = false;
2229 	static int option_sense;
2230 
2231 	int doing_codeblock = false;
2232 	int brace_depth=0, brace_start_line=0;
2233 	char nmdef[MAXLINE];
2234 
2235 
2236 #line 2236 "<stdout>"
2237 
2238 	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
2239 		{
2240 		yy_cp = (yy_c_buf_p);
2241 
2242 		/* Support of yytext. */
2243 		*yy_cp = (yy_hold_char);
2244 
2245 		/* yy_bp points to the position in yy_ch_buf of the start of
2246 		 * the current run.
2247 		 */
2248 		yy_bp = yy_cp;
2249 
2250 		yy_current_state = (yy_start);
2251 		yy_current_state += YY_AT_BOL();
2252 yy_match:
2253 		do
2254 			{
2255 			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2256 			if ( yy_accept[yy_current_state] )
2257 				{
2258 				(yy_last_accepting_state) = yy_current_state;
2259 				(yy_last_accepting_cpos) = yy_cp;
2260 				}
2261 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2262 				{
2263 				yy_current_state = (int) yy_def[yy_current_state];
2264 				if ( yy_current_state >= 1114 )
2265 					yy_c = yy_meta[yy_c];
2266 				}
2267 			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2268 			++yy_cp;
2269 			}
2270 		while ( yy_base[yy_current_state] != 4511 );
2271 
2272 yy_find_action:
2273 		yy_act = yy_accept[yy_current_state];
2274 		if ( yy_act == 0 )
2275 			{ /* have to back up */
2276 			yy_cp = (yy_last_accepting_cpos);
2277 			yy_current_state = (yy_last_accepting_state);
2278 			yy_act = yy_accept[yy_current_state];
2279 			}
2280 
2281 		YY_DO_BEFORE_ACTION;
2282 
2283 do_action:	/* This label is used only to access EOF actions. */
2284 
2285 		switch ( yy_act )
2286 	{ /* beginning of action switch */
2287 			case 0: /* must back up */
2288 			/* undo the effects of YY_DO_BEFORE_ACTION */
2289 			*yy_cp = (yy_hold_char);
2290 			yy_cp = (yy_last_accepting_cpos);
2291 			yy_current_state = (yy_last_accepting_state);
2292 			goto yy_find_action;
2293 
2294 case 1:
2295 YY_RULE_SETUP
2296 #line 171 "scan.l"
2297 START_CODEBLOCK(true);
2298 	YY_BREAK
2299 case 2:
2300 YY_RULE_SETUP
2301 #line 172 "scan.l"
2302 add_action("/*[""["); yy_push_state( COMMENT );
2303 	YY_BREAK
2304 case 3:
2305 YY_RULE_SETUP
2306 #line 173 "scan.l"
2307 yy_push_state( LINEDIR );
2308 	YY_BREAK
2309 case 4:
2310 YY_RULE_SETUP
2311 #line 174 "scan.l"
2312 return SCDECL;
2313 	YY_BREAK
2314 case 5:
2315 YY_RULE_SETUP
2316 #line 175 "scan.l"
2317 return XSCDECL;
2318 	YY_BREAK
2319 case 6:
2320 /* rule 6 can match eol */
2321 YY_RULE_SETUP
2322 #line 176 "scan.l"
2323 START_CODEBLOCK(false);
2324 	YY_BREAK
2325 case 7:
2326 /* rule 7 can match eol */
2327 YY_RULE_SETUP
2328 #line 177 "scan.l"
2329 {
2330                 brace_start_line = linenum;
2331                 ++linenum;
2332                 buf_linedir( &top_buf, infilename?infilename:"<stdin>", linenum);
2333                 brace_depth = 1;
2334                 yy_push_state(CODEBLOCK_MATCH_BRACE);
2335             }
2336 	YY_BREAK
2337 case 8:
2338 YY_RULE_SETUP
2339 #line 185 "scan.l"
2340 synerr( _("malformed '%top' directive") );
2341 	YY_BREAK
2342 case 9:
2343 YY_RULE_SETUP
2344 #line 187 "scan.l"
2345 /* discard */
2346 	YY_BREAK
2347 case 10:
2348 YY_RULE_SETUP
2349 #line 189 "scan.l"
2350 {
2351 			sectnum = 2;
2352 			bracelevel = 0;
2353 			mark_defs1();
2354 			line_directive_out(NULL, 1);
2355 			BEGIN(SECT2PROLOG);
2356 			return SECTEND;
2357 			}
2358 	YY_BREAK
2359 case 11:
2360 /* rule 11 can match eol */
2361 YY_RULE_SETUP
2362 #line 198 "scan.l"
2363 yytext_is_array = false; ++linenum;
2364 	YY_BREAK
2365 case 12:
2366 /* rule 12 can match eol */
2367 YY_RULE_SETUP
2368 #line 199 "scan.l"
2369 yytext_is_array = true; ++linenum;
2370 	YY_BREAK
2371 case 13:
2372 YY_RULE_SETUP
2373 #line 201 "scan.l"
2374 BEGIN(OPTION); return TOK_OPTION;
2375 	YY_BREAK
2376 case 14:
2377 /* rule 14 can match eol */
2378 YY_RULE_SETUP
2379 #line 203 "scan.l"
2380 ++linenum; /* ignore */
2381 	YY_BREAK
2382 case 15:
2383 /* rule 15 can match eol */
2384 YY_RULE_SETUP
2385 #line 204 "scan.l"
2386 ++linenum;	/* ignore */
2387 	YY_BREAK
2388 /* xgettext: no-c-format */
2389 case 16:
2390 /* rule 16 can match eol */
2391 YY_RULE_SETUP
2392 #line 207 "scan.l"
2393 synerr( _( "unrecognized '%' directive" ) );
2394 	YY_BREAK
2395 case 17:
2396 YY_RULE_SETUP
2397 #line 209 "scan.l"
2398 {
2399 			if(yyleng < MAXLINE)
2400         		 {
2401 			strncpy( nmstr, yytext, sizeof(nmstr) );
2402 			 }
2403 			else
2404 			 {
2405 			   synerr( _("Definition name too long\n"));
2406 			   FLEX_EXIT(EXIT_FAILURE);
2407 			 }
2408 
2409 			didadef = false;
2410 			BEGIN(PICKUPDEF);
2411 			}
2412 	YY_BREAK
2413 case 18:
2414 YY_RULE_SETUP
2415 #line 224 "scan.l"
2416 RETURNNAME;
2417 	YY_BREAK
2418 case 19:
2419 /* rule 19 can match eol */
2420 YY_RULE_SETUP
2421 #line 225 "scan.l"
2422 ++linenum; /* allows blank lines in section 1 */
2423 	YY_BREAK
2424 case 20:
2425 /* rule 20 can match eol */
2426 YY_RULE_SETUP
2427 #line 226 "scan.l"
2428 ACTION_ECHO; ++linenum; /* maybe end of comment line */
2429 	YY_BREAK
2430 
2431 /* */
2432 case 21:
2433 YY_RULE_SETUP
2434 #line 231 "scan.l"
2435 ACTION_ECHO;
2436 	YY_BREAK
2437 case 22:
2438 YY_RULE_SETUP
2439 #line 232 "scan.l"
2440 ACTION_ECHO;
2441 	YY_BREAK
2442 case 23:
2443 /* rule 23 can match eol */
2444 YY_RULE_SETUP
2445 #line 234 "scan.l"
2446 ++linenum; ACTION_ECHO;
2447 	YY_BREAK
2448 
2449 
2450 case 24:
2451 YY_RULE_SETUP
2452 #line 237 "scan.l"
2453 add_action("*/]""]"); yy_pop_state();
2454 	YY_BREAK
2455 
2456 
2457 case 25:
2458 YY_RULE_SETUP
2459 #line 240 "scan.l"
2460 ACTION_ECHO; yy_pop_state();
2461 	YY_BREAK
2462 
2463 
2464 /* This is the same as COMMENT, but is discarded rather than output. */
2465 case 26:
2466 YY_RULE_SETUP
2467 #line 245 "scan.l"
2468 yy_pop_state();
2469 	YY_BREAK
2470 case 27:
2471 YY_RULE_SETUP
2472 #line 246 "scan.l"
2473 ;
2474 	YY_BREAK
2475 case 28:
2476 YY_RULE_SETUP
2477 #line 247 "scan.l"
2478 ;
2479 	YY_BREAK
2480 case 29:
2481 /* rule 29 can match eol */
2482 YY_RULE_SETUP
2483 #line 248 "scan.l"
2484 ++linenum;
2485 	YY_BREAK
2486 
2487 
2488 case 30:
2489 YY_RULE_SETUP
2490 #line 252 "scan.l"
2491 yy_pop_state();
2492 	YY_BREAK
2493 case 31:
2494 YY_RULE_SETUP
2495 #line 253 "scan.l"
2496 ;
2497 	YY_BREAK
2498 case 32:
2499 /* rule 32 can match eol */
2500 YY_RULE_SETUP
2501 #line 254 "scan.l"
2502 ++linenum;
2503 	YY_BREAK
2504 
2505 
2506 case 33:
2507 /* rule 33 can match eol */
2508 YY_RULE_SETUP
2509 #line 258 "scan.l"
2510 yy_pop_state();
2511 	YY_BREAK
2512 case 34:
2513 YY_RULE_SETUP
2514 #line 259 "scan.l"
2515 linenum = myctoi( yytext );
2516 	YY_BREAK
2517 case 35:
2518 YY_RULE_SETUP
2519 #line 261 "scan.l"
2520 {
2521 			free(infilename);
2522 			infilename = xstrdup(yytext + 1);
2523 			infilename[strlen( infilename ) - 1] = '\0';
2524 			}
2525 	YY_BREAK
2526 case 36:
2527 YY_RULE_SETUP
2528 #line 266 "scan.l"
2529 /* ignore spurious characters */
2530 	YY_BREAK
2531 
2532 
2533 case 37:
2534 YY_RULE_SETUP
2535 #line 269 "scan.l"
2536 ACTION_ECHO_QSTART;
2537 	YY_BREAK
2538 case 38:
2539 YY_RULE_SETUP
2540 #line 270 "scan.l"
2541 ACTION_ECHO_QEND;
2542 	YY_BREAK
2543 
2544 
2545 case 39:
2546 /* rule 39 can match eol */
2547 YY_RULE_SETUP
2548 #line 274 "scan.l"
2549 ++linenum; END_CODEBLOCK;
2550 	YY_BREAK
2551 case 40:
2552 YY_RULE_SETUP
2553 #line 275 "scan.l"
2554 ACTION_ECHO;
2555 	YY_BREAK
2556 case 41:
2557 YY_RULE_SETUP
2558 #line 276 "scan.l"
2559 ACTION_ECHO;
2560 	YY_BREAK
2561 case 42:
2562 /* rule 42 can match eol */
2563 YY_RULE_SETUP
2564 #line 277 "scan.l"
2565 {
2566 			++linenum;
2567 			ACTION_ECHO;
2568 			if ( indented_code ) END_CODEBLOCK;
2569 			}
2570 	YY_BREAK
2571 
2572 
2573 case 43:
2574 YY_RULE_SETUP
2575 #line 285 "scan.l"
2576 {
2577                 if( --brace_depth == 0){
2578                     /* TODO: Matched. */
2579                     yy_pop_state();
2580                 }else
2581                     buf_strnappend(&top_buf, yytext, yyleng);
2582             }
2583 	YY_BREAK
2584 case 44:
2585 YY_RULE_SETUP
2586 #line 293 "scan.l"
2587 {
2588                 brace_depth++;
2589                 buf_strnappend(&top_buf, yytext, yyleng);
2590             }
2591 	YY_BREAK
2592 case 45:
2593 /* rule 45 can match eol */
2594 YY_RULE_SETUP
2595 #line 298 "scan.l"
2596 {
2597                 ++linenum;
2598                 buf_strnappend(&top_buf, yytext, yyleng);
2599             }
2600 	YY_BREAK
2601 case 46:
2602 YY_RULE_SETUP
2603 #line 303 "scan.l"
2604 buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart));
2605 	YY_BREAK
2606 case 47:
2607 YY_RULE_SETUP
2608 #line 304 "scan.l"
2609 buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend));
2610 	YY_BREAK
2611 case 48:
2612 YY_RULE_SETUP
2613 #line 305 "scan.l"
2614 {
2615        buf_strnappend(&top_buf, yytext, yyleng);
2616     }
2617 	YY_BREAK
2618 case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE):
2619 #line 309 "scan.l"
2620 {
2621                 linenum = brace_start_line;
2622                 synerr(_("Unmatched '{'"));
2623                 yyterminate();
2624                 }
2625 	YY_BREAK
2626 
2627 
2628 case 49:
2629 YY_RULE_SETUP
2630 #line 318 "scan.l"
2631 /* separates name and definition */
2632 	YY_BREAK
2633 case 50:
2634 YY_RULE_SETUP
2635 #line 320 "scan.l"
2636 {
2637  		        if(yyleng < MAXLINE)
2638  		         {
2639 			strncpy( nmdef, yytext, sizeof(nmdef) );
2640  		         }
2641  		        else
2642  		         {
2643  		           format_synerr( _("Definition value for {%s} too long\n"), nmstr);
2644  		           FLEX_EXIT(EXIT_FAILURE);
2645 			 }
2646 			/* Skip trailing whitespace. */
2647 			{
2648 			    size_t i = strlen( nmdef );
2649 			    while (i > 0 && (nmdef[i-1] == ' ' || nmdef[i-1] == '\t'))
2650 			       --i;
2651 			    nmdef[i] = '\0';
2652 			}
2653 
2654 			ndinstal( nmstr, nmdef );
2655 			didadef = true;
2656 			}
2657 	YY_BREAK
2658 case 51:
2659 /* rule 51 can match eol */
2660 YY_RULE_SETUP
2661 #line 342 "scan.l"
2662 {
2663 			if ( ! didadef )
2664 				synerr( _( "incomplete name definition" ) );
2665 			BEGIN(INITIAL);
2666 			++linenum;
2667 			}
2668 	YY_BREAK
2669 
2670 
2671 case 52:
2672 /* rule 52 can match eol */
2673 YY_RULE_SETUP
2674 #line 352 "scan.l"
2675 ++linenum; BEGIN(INITIAL);
2676 	YY_BREAK
2677 case 53:
2678 YY_RULE_SETUP
2679 #line 353 "scan.l"
2680 option_sense = true;
2681 	YY_BREAK
2682 case 54:
2683 YY_RULE_SETUP
2684 #line 355 "scan.l"
2685 return '=';
2686 	YY_BREAK
2687 case 55:
2688 YY_RULE_SETUP
2689 #line 357 "scan.l"
2690 option_sense = ! option_sense;
2691 	YY_BREAK
2692 case 56:
2693 YY_RULE_SETUP
2694 #line 359 "scan.l"
2695 csize = option_sense ? 128 : 256;
2696 	YY_BREAK
2697 case 57:
2698 YY_RULE_SETUP
2699 #line 360 "scan.l"
2700 csize = option_sense ? 256 : 128;
2701 	YY_BREAK
2702 case 58:
2703 YY_RULE_SETUP
2704 #line 362 "scan.l"
2705 long_align = option_sense;
2706 	YY_BREAK
2707 case 59:
2708 YY_RULE_SETUP
2709 #line 363 "scan.l"
2710 {
2711 			ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense );
2712             interactive = option_sense;
2713 			}
2714 	YY_BREAK
2715 case 60:
2716 YY_RULE_SETUP
2717 #line 367 "scan.l"
2718 yytext_is_array = option_sense;
2719 	YY_BREAK
2720 case 61:
2721 YY_RULE_SETUP
2722 #line 368 "scan.l"
2723 backing_up_report = option_sense;
2724 	YY_BREAK
2725 case 62:
2726 YY_RULE_SETUP
2727 #line 369 "scan.l"
2728 interactive = ! option_sense;
2729 	YY_BREAK
2730 case 63:
2731 YY_RULE_SETUP
2732 #line 370 "scan.l"
2733 bison_bridge_lval = option_sense;
2734 	YY_BREAK
2735 case 64:
2736 YY_RULE_SETUP
2737 #line 371 "scan.l"
2738 { if((bison_bridge_lloc = option_sense))
2739                             bison_bridge_lval = true;
2740                      }
2741 	YY_BREAK
2742 case 65:
2743 YY_RULE_SETUP
2744 #line 374 "scan.l"
2745 C_plus_plus = option_sense;
2746 	YY_BREAK
2747 case 66:
2748 YY_RULE_SETUP
2749 #line 375 "scan.l"
2750 sf_set_case_ins(!option_sense);
2751 	YY_BREAK
2752 case 67:
2753 YY_RULE_SETUP
2754 #line 376 "scan.l"
2755 sf_set_case_ins(option_sense);
2756 	YY_BREAK
2757 case 68:
2758 YY_RULE_SETUP
2759 #line 377 "scan.l"
2760 ddebug = option_sense;
2761 	YY_BREAK
2762 case 69:
2763 YY_RULE_SETUP
2764 #line 378 "scan.l"
2765 spprdflt = ! option_sense;
2766 	YY_BREAK
2767 case 70:
2768 YY_RULE_SETUP
2769 #line 379 "scan.l"
2770 useecs = option_sense;
2771 	YY_BREAK
2772 case 71:
2773 YY_RULE_SETUP
2774 #line 380 "scan.l"
2775 {
2776 			useecs = usemecs = false;
2777 			use_read = fullspd = true;
2778 			}
2779 	YY_BREAK
2780 case 72:
2781 YY_RULE_SETUP
2782 #line 384 "scan.l"
2783 {
2784 			useecs = usemecs = false;
2785 			use_read = fulltbl = true;
2786 			}
2787 	YY_BREAK
2788 case 73:
2789 YY_RULE_SETUP
2790 #line 388 "scan.l"
2791 ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
2792 	YY_BREAK
2793 case 74:
2794 YY_RULE_SETUP
2795 #line 389 "scan.l"
2796 interactive = option_sense;
2797 	YY_BREAK
2798 case 75:
2799 YY_RULE_SETUP
2800 #line 390 "scan.l"
2801 lex_compat = option_sense;
2802 	YY_BREAK
2803 case 76:
2804 YY_RULE_SETUP
2805 #line 391 "scan.l"
2806 posix_compat = option_sense;
2807 	YY_BREAK
2808 case 77:
2809 YY_RULE_SETUP
2810 #line 392 "scan.l"
2811 gen_line_dirs = option_sense;
2812 	YY_BREAK
2813 case 78:
2814 YY_RULE_SETUP
2815 #line 393 "scan.l"
2816 {
2817 			ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense);
2818             /* Override yywrap */
2819             if( option_sense == true )
2820                 do_yywrap = false;
2821 			}
2822 	YY_BREAK
2823 case 79:
2824 YY_RULE_SETUP
2825 #line 399 "scan.l"
2826 usemecs = option_sense;
2827 	YY_BREAK
2828 case 80:
2829 YY_RULE_SETUP
2830 #line 400 "scan.l"
2831 {
2832 			ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense );
2833             interactive = !option_sense;
2834 			}
2835 	YY_BREAK
2836 case 81:
2837 YY_RULE_SETUP
2838 #line 404 "scan.l"
2839 performance_report += option_sense ? 1 : -1;
2840 	YY_BREAK
2841 case 82:
2842 YY_RULE_SETUP
2843 #line 405 "scan.l"
2844 yytext_is_array = ! option_sense;
2845 	YY_BREAK
2846 case 83:
2847 YY_RULE_SETUP
2848 #line 406 "scan.l"
2849 use_read = option_sense;
2850 	YY_BREAK
2851 case 84:
2852 YY_RULE_SETUP
2853 #line 407 "scan.l"
2854 reentrant = option_sense;
2855 	YY_BREAK
2856 case 85:
2857 YY_RULE_SETUP
2858 #line 408 "scan.l"
2859 reject_really_used = option_sense;
2860 	YY_BREAK
2861 case 86:
2862 YY_RULE_SETUP
2863 #line 409 "scan.l"
2864 ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense );
2865 	YY_BREAK
2866 case 87:
2867 YY_RULE_SETUP
2868 #line 410 "scan.l"
2869 do_stdinit = option_sense;
2870 	YY_BREAK
2871 case 88:
2872 YY_RULE_SETUP
2873 #line 411 "scan.l"
2874 use_stdout = option_sense;
2875 	YY_BREAK
2876 case 89:
2877 YY_RULE_SETUP
2878 #line 412 "scan.l"
2879 ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
2880 	YY_BREAK
2881 case 90:
2882 YY_RULE_SETUP
2883 #line 413 "scan.l"
2884 ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense);
2885 	YY_BREAK
2886 case 91:
2887 YY_RULE_SETUP
2888 #line 414 "scan.l"
2889 printstats = option_sense;
2890 	YY_BREAK
2891 case 92:
2892 YY_RULE_SETUP
2893 #line 415 "scan.l"
2894 nowarn = ! option_sense;
2895 	YY_BREAK
2896 case 93:
2897 YY_RULE_SETUP
2898 #line 416 "scan.l"
2899 do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense);
2900 	YY_BREAK
2901 case 94:
2902 YY_RULE_SETUP
2903 #line 417 "scan.l"
2904 yymore_really_used = option_sense;
2905 	YY_BREAK
2906 case 95:
2907 YY_RULE_SETUP
2908 #line 418 "scan.l"
2909 do_yywrap = option_sense;
2910 	YY_BREAK
2911 case 96:
2912 YY_RULE_SETUP
2913 #line 420 "scan.l"
2914 ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense);
2915 	YY_BREAK
2916 case 97:
2917 YY_RULE_SETUP
2918 #line 421 "scan.l"
2919 ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense);
2920 	YY_BREAK
2921 case 98:
2922 YY_RULE_SETUP
2923 #line 422 "scan.l"
2924 ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense);
2925 	YY_BREAK
2926 case 99:
2927 YY_RULE_SETUP
2928 #line 424 "scan.l"
2929 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense);
2930 	YY_BREAK
2931 case 100:
2932 YY_RULE_SETUP
2933 #line 425 "scan.l"
2934 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense);
2935 	YY_BREAK
2936 case 101:
2937 YY_RULE_SETUP
2938 #line 426 "scan.l"
2939 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense);
2940 	YY_BREAK
2941 case 102:
2942 YY_RULE_SETUP
2943 #line 428 "scan.l"
2944 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense);
2945 	YY_BREAK
2946 case 103:
2947 YY_RULE_SETUP
2948 #line 429 "scan.l"
2949 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense);
2950 	YY_BREAK
2951 case 104:
2952 YY_RULE_SETUP
2953 #line 430 "scan.l"
2954 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense);
2955 	YY_BREAK
2956 case 105:
2957 YY_RULE_SETUP
2958 #line 432 "scan.l"
2959 ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense);
2960 	YY_BREAK
2961 case 106:
2962 YY_RULE_SETUP
2963 #line 433 "scan.l"
2964 ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense);
2965 	YY_BREAK
2966 case 107:
2967 YY_RULE_SETUP
2968 #line 434 "scan.l"
2969 ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense);
2970 	YY_BREAK
2971 case 108:
2972 YY_RULE_SETUP
2973 #line 435 "scan.l"
2974 ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense);
2975 	YY_BREAK
2976 case 109:
2977 YY_RULE_SETUP
2978 #line 436 "scan.l"
2979 ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense);
2980 	YY_BREAK
2981 case 110:
2982 YY_RULE_SETUP
2983 #line 437 "scan.l"
2984 ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense);
2985 	YY_BREAK
2986 case 111:
2987 YY_RULE_SETUP
2988 #line 438 "scan.l"
2989 ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense);
2990 	YY_BREAK
2991 case 112:
2992 YY_RULE_SETUP
2993 #line 439 "scan.l"
2994 ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense);
2995 	YY_BREAK
2996 case 113:
2997 YY_RULE_SETUP
2998 #line 440 "scan.l"
2999 ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense);
3000 	YY_BREAK
3001 case 114:
3002 YY_RULE_SETUP
3003 #line 441 "scan.l"
3004 ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense);
3005 	YY_BREAK
3006 case 115:
3007 YY_RULE_SETUP
3008 #line 442 "scan.l"
3009 ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense);
3010 	YY_BREAK
3011 case 116:
3012 YY_RULE_SETUP
3013 #line 443 "scan.l"
3014 ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense);
3015 	YY_BREAK
3016 case 117:
3017 YY_RULE_SETUP
3018 #line 444 "scan.l"
3019 ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense);
3020 	YY_BREAK
3021 case 118:
3022 YY_RULE_SETUP
3023 #line 445 "scan.l"
3024 ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense);
3025 	YY_BREAK
3026 case 119:
3027 YY_RULE_SETUP
3028 #line 446 "scan.l"
3029 ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense);
3030 	YY_BREAK
3031 case 120:
3032 YY_RULE_SETUP
3033 #line 447 "scan.l"
3034 ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense);
3035 	YY_BREAK
3036 case 121:
3037 YY_RULE_SETUP
3038 #line 449 "scan.l"
3039 return TOK_EXTRA_TYPE;
3040 	YY_BREAK
3041 case 122:
3042 YY_RULE_SETUP
3043 #line 450 "scan.l"
3044 return TOK_OUTFILE;
3045 	YY_BREAK
3046 case 123:
3047 YY_RULE_SETUP
3048 #line 451 "scan.l"
3049 return TOK_PREFIX;
3050 	YY_BREAK
3051 case 124:
3052 YY_RULE_SETUP
3053 #line 452 "scan.l"
3054 return TOK_YYCLASS;
3055 	YY_BREAK
3056 case 125:
3057 YY_RULE_SETUP
3058 #line 453 "scan.l"
3059 return TOK_HEADER_FILE;
3060 	YY_BREAK
3061 case 126:
3062 YY_RULE_SETUP
3063 #line 454 "scan.l"
3064 return TOK_TABLES_FILE;
3065 	YY_BREAK
3066 case 127:
3067 YY_RULE_SETUP
3068 #line 455 "scan.l"
3069 {
3070                     tablesverify = option_sense;
3071                     if(!tablesext && option_sense)
3072                         tablesext = true;
3073                     }
3074 	YY_BREAK
3075 case 128:
3076 YY_RULE_SETUP
3077 #line 462 "scan.l"
3078 {
3079 			if(yyleng-1 < MAXLINE)
3080         		 {
3081 			strncpy( nmstr, yytext + 1, sizeof(nmstr) );
3082 			 }
3083 			else
3084 			 {
3085 			   synerr( _("Option line too long\n"));
3086 			   FLEX_EXIT(EXIT_FAILURE);
3087 			 }
3088 			nmstr[strlen( nmstr ) - 1] = '\0';
3089 			return NAME;
3090 			}
3091 	YY_BREAK
3092 case 129:
3093 YY_RULE_SETUP
3094 #line 476 "scan.l"
3095 {
3096 			format_synerr( _( "unrecognized %%option: %s" ),
3097 				yytext );
3098 			BEGIN(RECOVER);
3099 			}
3100 	YY_BREAK
3101 
3102 case 130:
3103 /* rule 130 can match eol */
3104 YY_RULE_SETUP
3105 #line 483 "scan.l"
3106 ++linenum; BEGIN(INITIAL);
3107 	YY_BREAK
3108 
3109 case 131:
3110 YY_RULE_SETUP
3111 #line 487 "scan.l"
3112 ++bracelevel; yyless( 2 );	/* eat only %{ */
3113 	YY_BREAK
3114 case 132:
3115 YY_RULE_SETUP
3116 #line 488 "scan.l"
3117 --bracelevel; yyless( 2 );	/* eat only %} */
3118 	YY_BREAK
3119 case 133:
3120 YY_RULE_SETUP
3121 #line 490 "scan.l"
3122 START_CODEBLOCK(true); /* indented code in prolog */
3123 	YY_BREAK
3124 case 134:
3125 YY_RULE_SETUP
3126 #line 492 "scan.l"
3127 {
3128         /* non-indented code */
3129 		if ( bracelevel <= 0 ) {
3130             /* not in %{ ... %} */
3131             yyless( 0 );	/* put it all back */
3132             yy_set_bol( 1 );
3133             mark_prolog();
3134             BEGIN(SECT2);
3135         } else {
3136             START_CODEBLOCK(true);
3137         }
3138     }
3139 	YY_BREAK
3140 case 135:
3141 YY_RULE_SETUP
3142 #line 505 "scan.l"
3143 ACTION_ECHO;
3144 	YY_BREAK
3145 case 136:
3146 /* rule 136 can match eol */
3147 YY_RULE_SETUP
3148 #line 506 "scan.l"
3149 ++linenum; ACTION_ECHO;
3150 	YY_BREAK
3151 case YY_STATE_EOF(SECT2PROLOG):
3152 #line 508 "scan.l"
3153 {
3154 			mark_prolog();
3155 			sectnum = 0;
3156 			yyterminate(); /* to stop the parser */
3157 			}
3158 	YY_BREAK
3159 
3160 
3161 case 137:
3162 /* rule 137 can match eol */
3163 YY_RULE_SETUP
3164 #line 516 "scan.l"
3165 ++linenum; /* allow blank lines in section 2 */
3166 	YY_BREAK
3167 case 138:
3168 YY_RULE_SETUP
3169 #line 518 "scan.l"
3170 {
3171 			indented_code = false;
3172 			doing_codeblock = true;
3173 			bracelevel = 1;
3174 			BEGIN(PERCENT_BRACE_ACTION);
3175 			}
3176 	YY_BREAK
3177 case 139:
3178 YY_RULE_SETUP
3179 #line 525 "scan.l"
3180 {
3181                         /* Allow "<" to appear in (?x) patterns. */
3182                         if (!sf_skip_ws())
3183                             BEGIN(SC);
3184                         return '<';
3185                     }
3186 	YY_BREAK
3187 case 140:
3188 YY_RULE_SETUP
3189 #line 531 "scan.l"
3190 return '^';
3191 	YY_BREAK
3192 case 141:
3193 YY_RULE_SETUP
3194 #line 532 "scan.l"
3195 BEGIN(QUOTE); return '"';
3196 	YY_BREAK
3197 case 142:
3198 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3199 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3200 YY_DO_BEFORE_ACTION; /* set up yytext again */
3201 YY_RULE_SETUP
3202 #line 533 "scan.l"
3203 {
3204 			BEGIN(NUM);
3205 			if ( lex_compat || posix_compat )
3206 				return BEGIN_REPEAT_POSIX;
3207 			else
3208 				return BEGIN_REPEAT_FLEX;
3209 			}
3210 	YY_BREAK
3211 case 143:
3212 /* rule 143 can match eol */
3213 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3214 YY_LINENO_REWIND_TO(yy_bp + 1);
3215 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3216 YY_DO_BEFORE_ACTION; /* set up yytext again */
3217 YY_RULE_SETUP
3218 #line 540 "scan.l"
3219 return '$';
3220 	YY_BREAK
3221 case 144:
3222 YY_RULE_SETUP
3223 #line 542 "scan.l"
3224 {
3225 			bracelevel = 1;
3226 			BEGIN(PERCENT_BRACE_ACTION);
3227 
3228 			if ( in_rule )
3229 				{
3230 				doing_rule_action = true;
3231 				in_rule = false;
3232 				return '\n';
3233 				}
3234 			}
3235 	YY_BREAK
3236 case 145:
3237 /* rule 145 can match eol */
3238 YY_RULE_SETUP
3239 #line 553 "scan.l"
3240 {
3241                         if (sf_skip_ws()){
3242                             /* We're in the middle of a (?x: ) pattern. */
3243                             /* Push back everything starting at the "|" */
3244                             int amt = (int) (strchr (yytext, '|') - yytext);
3245                             yyless(amt);
3246                         }
3247                         else {
3248                             add_action("]""]");
3249                             continued_action = true;
3250                             ++linenum;
3251                             return '\n';
3252                         }
3253                     }
3254 	YY_BREAK
3255 case 146:
3256 YY_RULE_SETUP
3257 #line 568 "scan.l"
3258 {
3259 
3260                 if (sf_skip_ws()){
3261                     /* We're in the middle of a (?x: ) pattern. */
3262                     yy_push_state(COMMENT_DISCARD);
3263                 }
3264                 else{
3265                     yyless( yyleng - 2 );	/* put back '/', '*' */
3266                     bracelevel = 0;
3267                     continued_action = false;
3268                     BEGIN(ACTION);
3269                 }
3270 			}
3271 	YY_BREAK
3272 case 147:
3273 YY_RULE_SETUP
3274 #line 582 "scan.l"
3275 /* allow indented rules */ ;
3276 	YY_BREAK
3277 case 148:
3278 YY_RULE_SETUP
3279 #line 584 "scan.l"
3280 {
3281             if (sf_skip_ws()){
3282                 /* We're in the middle of a (?x: ) pattern. */
3283             }
3284             else{
3285                 /* This rule is separate from the one below because
3286                  * otherwise we get variable trailing context, so
3287                  * we can't build the scanner using -{f,F}.
3288                  */
3289                 bracelevel = 0;
3290                 continued_action = false;
3291                 BEGIN(ACTION);
3292 
3293                 if ( in_rule )
3294                     {
3295                     doing_rule_action = true;
3296                     in_rule = false;
3297                     return '\n';
3298                     }
3299             }
3300 			}
3301 	YY_BREAK
3302 case 149:
3303 /* rule 149 can match eol */
3304 YY_RULE_SETUP
3305 #line 606 "scan.l"
3306 {
3307             if (sf_skip_ws()){
3308                 /* We're in the middle of a (?x: ) pattern. */
3309                 ++linenum;
3310             }
3311             else{
3312                 bracelevel = 0;
3313                 continued_action = false;
3314                 BEGIN(ACTION);
3315                 unput( '\n' );	/* so <ACTION> sees it */
3316 
3317                 if ( in_rule )
3318                     {
3319                     doing_rule_action = true;
3320                     in_rule = false;
3321                     return '\n';
3322                     }
3323             }
3324 			}
3325 	YY_BREAK
3326 case 150:
3327 #line 627 "scan.l"
3328 case 151:
3329 YY_RULE_SETUP
3330 #line 627 "scan.l"
3331 return EOF_OP;
3332 	YY_BREAK
3333 case 152:
3334 YY_RULE_SETUP
3335 #line 629 "scan.l"
3336 {
3337 			sectnum = 3;
3338 			BEGIN(no_section3_escape ? SECT3_NOESCAPE : SECT3);
3339 			outn("/* Begin user sect3 */");
3340 			yyterminate(); /* to stop the parser */
3341 
3342 			}
3343 	YY_BREAK
3344 case 153:
3345 YY_RULE_SETUP
3346 #line 637 "scan.l"
3347 {
3348 			int cclval;
3349 
3350 			if(yyleng < MAXLINE)
3351         		 {
3352 			strncpy( nmstr, yytext, sizeof(nmstr) );
3353 			 }
3354 			else
3355 			 {
3356 			   synerr( _("Input line too long\n"));
3357 			   FLEX_EXIT(EXIT_FAILURE);
3358 			 }
3359 
3360 			/* Check to see if we've already encountered this
3361 			 * ccl.
3362 			 */
3363 			if (0 /* <--- This "0" effectively disables the reuse of a
3364                    * character class (purely based on its source text).
3365                    * The reason it was disabled is so yacc/bison can parse
3366                    * ccl operations, such as ccl difference and union.
3367                    */
3368                 &&  (cclval = ccllookup( nmstr )) != 0 )
3369 				{
3370 				if ( input() != ']' )
3371 					synerr( _( "bad character class" ) );
3372 
3373 				yylval = cclval;
3374 				++cclreuse;
3375 				return PREVCCL;
3376 				}
3377 			else
3378 				{
3379 				/* We fudge a bit.  We know that this ccl will
3380 				 * soon be numbered as lastccl + 1 by cclinit.
3381 				 */
3382 				cclinstal( nmstr, lastccl + 1 );
3383 
3384 				/* Push back everything but the leading bracket
3385 				 * so the ccl can be rescanned.
3386 				 */
3387 				yyless( 1 );
3388 
3389 				BEGIN(FIRSTCCL);
3390 				return '[';
3391 				}
3392 			}
3393 	YY_BREAK
3394 case 154:
3395 YY_RULE_SETUP
3396 #line 683 "scan.l"
3397 return CCL_OP_DIFF;
3398 	YY_BREAK
3399 case 155:
3400 YY_RULE_SETUP
3401 #line 684 "scan.l"
3402 return CCL_OP_UNION;
3403 	YY_BREAK
3404 /* Check for :space: at the end of the rule so we don't
3405      * wrap the expanded regex in '(' ')' -- breaking trailing
3406      * context.
3407      */
3408 case 156:
3409 /* rule 156 can match eol */
3410 YY_RULE_SETUP
3411 #line 691 "scan.l"
3412 {
3413 			char *nmdefptr;
3414             int end_is_ws, end_ch;
3415 
3416             end_ch = yytext[yyleng-1];
3417             end_is_ws = end_ch != '}' ? 1 : 0;
3418 
3419  			if(yyleng-1 < MAXLINE)
3420          		 {
3421 			strncpy( nmstr, yytext + 1, sizeof(nmstr) );
3422  			 }
3423  			else
3424  			 {
3425  			   synerr( _("Input line too long\n"));
3426  			   FLEX_EXIT(EXIT_FAILURE);
3427  			 }
3428 nmstr[yyleng - 2 - end_is_ws] = '\0';  /* chop trailing brace */
3429 
3430 			if ( (nmdefptr = ndlookup( nmstr )) == NULL )
3431 				format_synerr(
3432 					_( "undefined definition {%s}" ),
3433 						nmstr );
3434 
3435 			else
3436 				{ /* push back name surrounded by ()'s */
3437 				size_t len = strlen( nmdefptr );
3438                 if (end_is_ws)
3439                     unput(end_ch);
3440 
3441 				if ( lex_compat || nmdefptr[0] == '^' ||
3442 				     (len > 0 && nmdefptr[len - 1] == '$')
3443                      || (end_is_ws && trlcontxt && !sf_skip_ws()))
3444 					{ /* don't use ()'s after all */
3445 					PUT_BACK_STRING(nmdefptr, 0);
3446 
3447 					if ( nmdefptr[0] == '^' )
3448 						BEGIN(CARETISBOL);
3449 					}
3450 
3451 				else
3452 					{
3453 					unput(')');
3454 					PUT_BACK_STRING(nmdefptr, 0);
3455 					unput('(');
3456 					}
3457 				}
3458 			}
3459 	YY_BREAK
3460 case 157:
3461 YY_RULE_SETUP
3462 #line 739 "scan.l"
3463 {
3464                     if (sf_skip_ws())
3465                         yy_push_state(COMMENT_DISCARD);
3466                     else{
3467                         /* Push back the "*" and return "/" as usual. */
3468                         yyless(1);
3469                         return '/';
3470                     }
3471                 }
3472 	YY_BREAK
3473 case 158:
3474 YY_RULE_SETUP
3475 #line 749 "scan.l"
3476 {
3477                     if (lex_compat || posix_compat){
3478                         /* Push back the "?#" and treat it like a normal parens. */
3479                         yyless(1);
3480                         sf_push();
3481                         return '(';
3482                     }
3483                     else
3484                         yy_push_state(EXTENDED_COMMENT);
3485                 }
3486 	YY_BREAK
3487 case 159:
3488 YY_RULE_SETUP
3489 #line 759 "scan.l"
3490 {
3491                     sf_push();
3492                     if (lex_compat || posix_compat)
3493                         /* Push back the "?" and treat it like a normal parens. */
3494                         yyless(1);
3495                     else
3496                         BEGIN(GROUP_WITH_PARAMS);
3497                     return '(';
3498                 }
3499 	YY_BREAK
3500 case 160:
3501 YY_RULE_SETUP
3502 #line 768 "scan.l"
3503 sf_push(); return '(';
3504 	YY_BREAK
3505 case 161:
3506 YY_RULE_SETUP
3507 #line 769 "scan.l"
3508 {
3509                     if (_sf_top_ix > 0) {
3510                         sf_pop();
3511                         return ')';
3512                     } else
3513                         synerr(_("unbalanced parenthesis"));
3514                 }
3515 	YY_BREAK
3516 case 162:
3517 YY_RULE_SETUP
3518 #line 777 "scan.l"
3519 return (unsigned char) yytext[0];
3520 	YY_BREAK
3521 case 163:
3522 YY_RULE_SETUP
3523 #line 778 "scan.l"
3524 RETURNCHAR;
3525 	YY_BREAK
3526 
3527 
3528 case 164:
3529 /* rule 164 can match eol */
3530 YY_RULE_SETUP
3531 #line 783 "scan.l"
3532 ++linenum;	/* Allow blank lines & continuations */
3533 	YY_BREAK
3534 case 165:
3535 YY_RULE_SETUP
3536 #line 784 "scan.l"
3537 return (unsigned char) yytext[0];
3538 	YY_BREAK
3539 case 166:
3540 YY_RULE_SETUP
3541 #line 785 "scan.l"
3542 BEGIN(SECT2); return '>';
3543 	YY_BREAK
3544 case 167:
3545 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3546 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3547 YY_DO_BEFORE_ACTION; /* set up yytext again */
3548 YY_RULE_SETUP
3549 #line 786 "scan.l"
3550 BEGIN(CARETISBOL); return '>';
3551 	YY_BREAK
3552 case 168:
3553 YY_RULE_SETUP
3554 #line 787 "scan.l"
3555 RETURNNAME;
3556 	YY_BREAK
3557 case 169:
3558 YY_RULE_SETUP
3559 #line 788 "scan.l"
3560 {
3561 			format_synerr( _( "bad <start condition>: %s" ),
3562 				yytext );
3563 			}
3564 	YY_BREAK
3565 
3566 case 170:
3567 YY_RULE_SETUP
3568 #line 794 "scan.l"
3569 BEGIN(SECT2); return '^';
3570 	YY_BREAK
3571 
3572 case 171:
3573 YY_RULE_SETUP
3574 #line 798 "scan.l"
3575 RETURNCHAR;
3576 	YY_BREAK
3577 case 172:
3578 YY_RULE_SETUP
3579 #line 799 "scan.l"
3580 BEGIN(SECT2); return '"';
3581 	YY_BREAK
3582 case 173:
3583 /* rule 173 can match eol */
3584 YY_RULE_SETUP
3585 #line 801 "scan.l"
3586 {
3587 			synerr( _( "missing quote" ) );
3588 			BEGIN(SECT2);
3589 			++linenum;
3590 			return '"';
3591 			}
3592 	YY_BREAK
3593 
3594 
3595 case 174:
3596 YY_RULE_SETUP
3597 #line 810 "scan.l"
3598 BEGIN(SECT2);
3599 	YY_BREAK
3600 case 175:
3601 YY_RULE_SETUP
3602 #line 811 "scan.l"
3603 BEGIN(GROUP_MINUS_PARAMS);
3604 	YY_BREAK
3605 case 176:
3606 YY_RULE_SETUP
3607 #line 812 "scan.l"
3608 sf_set_case_ins(1);
3609 	YY_BREAK
3610 case 177:
3611 YY_RULE_SETUP
3612 #line 813 "scan.l"
3613 sf_set_dot_all(1);
3614 	YY_BREAK
3615 case 178:
3616 YY_RULE_SETUP
3617 #line 814 "scan.l"
3618 sf_set_skip_ws(1);
3619 	YY_BREAK
3620 
3621 
3622 case 179:
3623 YY_RULE_SETUP
3624 #line 817 "scan.l"
3625 BEGIN(SECT2);
3626 	YY_BREAK
3627 case 180:
3628 YY_RULE_SETUP
3629 #line 818 "scan.l"
3630 sf_set_case_ins(0);
3631 	YY_BREAK
3632 case 181:
3633 YY_RULE_SETUP
3634 #line 819 "scan.l"
3635 sf_set_dot_all(0);
3636 	YY_BREAK
3637 case 182:
3638 YY_RULE_SETUP
3639 #line 820 "scan.l"
3640 sf_set_skip_ws(0);
3641 	YY_BREAK
3642 
3643 
3644 case 183:
3645 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3646 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3647 YY_DO_BEFORE_ACTION; /* set up yytext again */
3648 YY_RULE_SETUP
3649 #line 824 "scan.l"
3650 BEGIN(CCL); return '^';
3651 	YY_BREAK
3652 case 184:
3653 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3654 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3655 YY_DO_BEFORE_ACTION; /* set up yytext again */
3656 YY_RULE_SETUP
3657 #line 825 "scan.l"
3658 return '^';
3659 	YY_BREAK
3660 case 185:
3661 YY_RULE_SETUP
3662 #line 826 "scan.l"
3663 BEGIN(CCL); RETURNCHAR;
3664 	YY_BREAK
3665 
3666 
3667 case 186:
3668 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3669 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3670 YY_DO_BEFORE_ACTION; /* set up yytext again */
3671 YY_RULE_SETUP
3672 #line 830 "scan.l"
3673 return '-';
3674 	YY_BREAK
3675 case 187:
3676 YY_RULE_SETUP
3677 #line 831 "scan.l"
3678 RETURNCHAR;
3679 	YY_BREAK
3680 case 188:
3681 YY_RULE_SETUP
3682 #line 832 "scan.l"
3683 BEGIN(SECT2); return ']';
3684 	YY_BREAK
3685 case 189:
3686 /* rule 189 can match eol */
3687 YY_RULE_SETUP
3688 #line 833 "scan.l"
3689 {
3690 			synerr( _( "bad character class" ) );
3691 			BEGIN(SECT2);
3692 			return ']';
3693 			}
3694 	YY_BREAK
3695 
3696 
3697 case 190:
3698 YY_RULE_SETUP
3699 #line 841 "scan.l"
3700 BEGIN(CCL); return CCE_ALNUM;
3701 	YY_BREAK
3702 case 191:
3703 YY_RULE_SETUP
3704 #line 842 "scan.l"
3705 BEGIN(CCL); return CCE_ALPHA;
3706 	YY_BREAK
3707 case 192:
3708 YY_RULE_SETUP
3709 #line 843 "scan.l"
3710 BEGIN(CCL); return CCE_BLANK;
3711 	YY_BREAK
3712 case 193:
3713 YY_RULE_SETUP
3714 #line 844 "scan.l"
3715 BEGIN(CCL); return CCE_CNTRL;
3716 	YY_BREAK
3717 case 194:
3718 YY_RULE_SETUP
3719 #line 845 "scan.l"
3720 BEGIN(CCL); return CCE_DIGIT;
3721 	YY_BREAK
3722 case 195:
3723 YY_RULE_SETUP
3724 #line 846 "scan.l"
3725 BEGIN(CCL); return CCE_GRAPH;
3726 	YY_BREAK
3727 case 196:
3728 YY_RULE_SETUP
3729 #line 847 "scan.l"
3730 BEGIN(CCL); return CCE_LOWER;
3731 	YY_BREAK
3732 case 197:
3733 YY_RULE_SETUP
3734 #line 848 "scan.l"
3735 BEGIN(CCL); return CCE_PRINT;
3736 	YY_BREAK
3737 case 198:
3738 YY_RULE_SETUP
3739 #line 849 "scan.l"
3740 BEGIN(CCL); return CCE_PUNCT;
3741 	YY_BREAK
3742 case 199:
3743 YY_RULE_SETUP
3744 #line 850 "scan.l"
3745 BEGIN(CCL); return CCE_SPACE;
3746 	YY_BREAK
3747 case 200:
3748 YY_RULE_SETUP
3749 #line 851 "scan.l"
3750 BEGIN(CCL); return CCE_UPPER;
3751 	YY_BREAK
3752 case 201:
3753 YY_RULE_SETUP
3754 #line 852 "scan.l"
3755 BEGIN(CCL); return CCE_XDIGIT;
3756 	YY_BREAK
3757 case 202:
3758 YY_RULE_SETUP
3759 #line 854 "scan.l"
3760 BEGIN(CCL); return CCE_NEG_ALNUM;
3761 	YY_BREAK
3762 case 203:
3763 YY_RULE_SETUP
3764 #line 855 "scan.l"
3765 BEGIN(CCL); return CCE_NEG_ALPHA;
3766 	YY_BREAK
3767 case 204:
3768 YY_RULE_SETUP
3769 #line 856 "scan.l"
3770 BEGIN(CCL); return CCE_NEG_BLANK;
3771 	YY_BREAK
3772 case 205:
3773 YY_RULE_SETUP
3774 #line 857 "scan.l"
3775 BEGIN(CCL); return CCE_NEG_CNTRL;
3776 	YY_BREAK
3777 case 206:
3778 YY_RULE_SETUP
3779 #line 858 "scan.l"
3780 BEGIN(CCL); return CCE_NEG_DIGIT;
3781 	YY_BREAK
3782 case 207:
3783 YY_RULE_SETUP
3784 #line 859 "scan.l"
3785 BEGIN(CCL); return CCE_NEG_GRAPH;
3786 	YY_BREAK
3787 case 208:
3788 YY_RULE_SETUP
3789 #line 860 "scan.l"
3790 BEGIN(CCL); return CCE_NEG_LOWER;
3791 	YY_BREAK
3792 case 209:
3793 YY_RULE_SETUP
3794 #line 861 "scan.l"
3795 BEGIN(CCL); return CCE_NEG_PRINT;
3796 	YY_BREAK
3797 case 210:
3798 YY_RULE_SETUP
3799 #line 862 "scan.l"
3800 BEGIN(CCL); return CCE_NEG_PUNCT;
3801 	YY_BREAK
3802 case 211:
3803 YY_RULE_SETUP
3804 #line 863 "scan.l"
3805 BEGIN(CCL); return CCE_NEG_SPACE;
3806 	YY_BREAK
3807 case 212:
3808 YY_RULE_SETUP
3809 #line 864 "scan.l"
3810 BEGIN(CCL); return CCE_NEG_UPPER;
3811 	YY_BREAK
3812 case 213:
3813 YY_RULE_SETUP
3814 #line 865 "scan.l"
3815 BEGIN(CCL); return CCE_NEG_XDIGIT;
3816 	YY_BREAK
3817 case 214:
3818 YY_RULE_SETUP
3819 #line 866 "scan.l"
3820 {
3821 			format_synerr(
3822 				_( "bad character class expression: %s" ),
3823 					yytext );
3824 			BEGIN(CCL); return CCE_ALNUM;
3825 			}
3826 	YY_BREAK
3827 
3828 
3829 case 215:
3830 YY_RULE_SETUP
3831 #line 875 "scan.l"
3832 {
3833 			yylval = myctoi( yytext );
3834 			return NUMBER;
3835 			}
3836 	YY_BREAK
3837 case 216:
3838 YY_RULE_SETUP
3839 #line 880 "scan.l"
3840 return ',';
3841 	YY_BREAK
3842 case 217:
3843 YY_RULE_SETUP
3844 #line 881 "scan.l"
3845 {
3846 			BEGIN(SECT2);
3847 			if ( lex_compat || posix_compat )
3848 				return END_REPEAT_POSIX;
3849 			else
3850 				return END_REPEAT_FLEX;
3851 			}
3852 	YY_BREAK
3853 case 218:
3854 YY_RULE_SETUP
3855 #line 889 "scan.l"
3856 {
3857 			synerr( _( "bad character inside {}'s" ) );
3858 			BEGIN(SECT2);
3859 			return '}';
3860 			}
3861 	YY_BREAK
3862 case 219:
3863 /* rule 219 can match eol */
3864 YY_RULE_SETUP
3865 #line 895 "scan.l"
3866 {
3867 			synerr( _( "missing }" ) );
3868 			BEGIN(SECT2);
3869 			++linenum;
3870 			return '}';
3871 			}
3872 	YY_BREAK
3873 
3874 
3875 case 220:
3876 YY_RULE_SETUP
3877 #line 905 "scan.l"
3878 bracelevel = 0;
3879 	YY_BREAK
3880 case 221:
3881 YY_RULE_SETUP
3882 #line 907 "scan.l"
3883 ACTION_ECHO; yy_push_state( CODE_COMMENT );
3884 	YY_BREAK
3885 
3886 case 222:
3887 YY_RULE_SETUP
3888 #line 910 "scan.l"
3889 {
3890             ACTION_ECHO;
3891             CHECK_REJECT(yytext);
3892         }
3893 	YY_BREAK
3894 case 223:
3895 YY_RULE_SETUP
3896 #line 914 "scan.l"
3897 {
3898             ACTION_ECHO;
3899             CHECK_YYMORE(yytext);
3900         }
3901 	YY_BREAK
3902 
3903 case 224:
3904 YY_RULE_SETUP
3905 #line 920 "scan.l"
3906 ACTION_ECHO;
3907 	YY_BREAK
3908 case 225:
3909 /* rule 225 can match eol */
3910 YY_RULE_SETUP
3911 #line 921 "scan.l"
3912 {
3913 		++linenum;
3914 		ACTION_ECHO;
3915 		if (bracelevel <= 0 || (doing_codeblock && indented_code)) {
3916             if ( doing_rule_action )
3917                 add_action( "\tYY_BREAK]""]\n" );
3918 
3919             doing_rule_action = doing_codeblock = false;
3920             BEGIN(SECT2);
3921         }
3922     }
3923 	YY_BREAK
3924 
3925 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
3926 
3927 case 226:
3928 YY_RULE_SETUP
3929 #line 937 "scan.l"
3930 ACTION_ECHO; ++bracelevel;
3931 	YY_BREAK
3932 case 227:
3933 YY_RULE_SETUP
3934 #line 938 "scan.l"
3935 ACTION_ECHO; --bracelevel;
3936 	YY_BREAK
3937 case 228:
3938 YY_RULE_SETUP
3939 #line 939 "scan.l"
3940 ACTION_ECHO;
3941 	YY_BREAK
3942 case 229:
3943 YY_RULE_SETUP
3944 #line 940 "scan.l"
3945 ACTION_ECHO;
3946 	YY_BREAK
3947 case 230:
3948 YY_RULE_SETUP
3949 #line 941 "scan.l"
3950 ACTION_ECHO; /* character constant */
3951 	YY_BREAK
3952 case 231:
3953 YY_RULE_SETUP
3954 #line 942 "scan.l"
3955 ACTION_ECHO; BEGIN(CHARACTER_CONSTANT);
3956 	YY_BREAK
3957 case 232:
3958 YY_RULE_SETUP
3959 #line 943 "scan.l"
3960 ACTION_ECHO; BEGIN(ACTION_STRING);
3961 	YY_BREAK
3962 case 233:
3963 /* rule 233 can match eol */
3964 YY_RULE_SETUP
3965 #line 944 "scan.l"
3966 {
3967                 ++linenum;
3968                 ACTION_ECHO;
3969                 if (bracelevel <= 0) {
3970                    if ( doing_rule_action )
3971                       add_action( "\tYY_BREAK]""]\n" );
3972 
3973                    doing_rule_action = false;
3974                    BEGIN(SECT2);
3975                 }
3976              }
3977 	YY_BREAK
3978 case 234:
3979 YY_RULE_SETUP
3980 #line 955 "scan.l"
3981 ACTION_ECHO;
3982 	YY_BREAK
3983 
3984 
3985 case 235:
3986 YY_RULE_SETUP
3987 #line 959 "scan.l"
3988 ACTION_ECHO;
3989 	YY_BREAK
3990 case 236:
3991 YY_RULE_SETUP
3992 #line 960 "scan.l"
3993 ACTION_ECHO; BEGIN(ACTION);
3994 	YY_BREAK
3995 
3996 
3997 case 237:
3998 YY_RULE_SETUP
3999 #line 963 "scan.l"
4000 ACTION_ECHO;
4001 	YY_BREAK
4002 case 238:
4003 YY_RULE_SETUP
4004 #line 964 "scan.l"
4005 ACTION_ECHO; BEGIN(ACTION);
4006 	YY_BREAK
4007 
4008 
4009 case 239:
4010 /* rule 239 can match eol */
4011 YY_RULE_SETUP
4012 #line 967 "scan.l"
4013 ACTION_ECHO;
4014 	YY_BREAK
4015 case 240:
4016 /* rule 240 can match eol */
4017 YY_RULE_SETUP
4018 #line 968 "scan.l"
4019 ACTION_ECHO;
4020 	YY_BREAK
4021 case 241:
4022 /* rule 241 can match eol */
4023 YY_RULE_SETUP
4024 #line 969 "scan.l"
4025 ++linenum; ACTION_ECHO; if (bracelevel <= 0) { BEGIN(SECT2); } else { BEGIN(ACTION); }
4026 	YY_BREAK
4027 case 242:
4028 YY_RULE_SETUP
4029 #line 970 "scan.l"
4030 ACTION_ECHO;
4031 	YY_BREAK
4032 
4033 case YY_STATE_EOF(COMMENT):
4034 case YY_STATE_EOF(CODE_COMMENT):
4035 case YY_STATE_EOF(COMMENT_DISCARD):
4036 case YY_STATE_EOF(ACTION):
4037 case YY_STATE_EOF(ACTION_STRING):
4038 case YY_STATE_EOF(CHARACTER_CONSTANT):
4039 #line 973 "scan.l"
4040 {
4041 			synerr( _( "EOF encountered inside an action" ) );
4042 			yyterminate();
4043 			}
4044 	YY_BREAK
4045 case YY_STATE_EOF(EXTENDED_COMMENT):
4046 case YY_STATE_EOF(GROUP_WITH_PARAMS):
4047 case YY_STATE_EOF(GROUP_MINUS_PARAMS):
4048 #line 978 "scan.l"
4049 {
4050 			synerr( _( "EOF encountered inside pattern" ) );
4051 			yyterminate();
4052 			}
4053 	YY_BREAK
4054 case 243:
4055 YY_RULE_SETUP
4056 #line 983 "scan.l"
4057 {
4058 			yylval = myesc( (unsigned char *) yytext );
4059 
4060 			if ( YY_START == FIRSTCCL )
4061 				BEGIN(CCL);
4062 
4063 			return CHAR;
4064 			}
4065 	YY_BREAK
4066 
4067 case 244:
4068 YY_RULE_SETUP
4069 #line 993 "scan.l"
4070 fputs(escaped_qstart, yyout);
4071 	YY_BREAK
4072 case 245:
4073 YY_RULE_SETUP
4074 #line 994 "scan.l"
4075 fputs(escaped_qend, yyout);
4076 	YY_BREAK
4077 case 246:
4078 /* rule 246 can match eol */
4079 YY_RULE_SETUP
4080 #line 995 "scan.l"
4081 ECHO;
4082 	YY_BREAK
4083 case 247:
4084 YY_RULE_SETUP
4085 #line 996 "scan.l"
4086 ECHO;
4087 	YY_BREAK
4088 case YY_STATE_EOF(SECT3):
4089 #line 997 "scan.l"
4090 {
4091         sectnum = 0;
4092         yyterminate();
4093     }
4094 	YY_BREAK
4095 
4096 
4097 case 248:
4098 YY_RULE_SETUP
4099 #line 1003 "scan.l"
4100 fprintf(yyout, "[""[%s]""]", escaped_qstart);
4101 	YY_BREAK
4102 case 249:
4103 YY_RULE_SETUP
4104 #line 1004 "scan.l"
4105 fprintf(yyout, "[""[%s]""]", escaped_qend);
4106 	YY_BREAK
4107 case 250:
4108 /* rule 250 can match eol */
4109 YY_RULE_SETUP
4110 #line 1005 "scan.l"
4111 ECHO;
4112 	YY_BREAK
4113 case 251:
4114 YY_RULE_SETUP
4115 #line 1006 "scan.l"
4116 ECHO;
4117 	YY_BREAK
4118 case YY_STATE_EOF(SECT3_NOESCAPE):
4119 #line 1007 "scan.l"
4120 {
4121        sectnum = 0;
4122        yyterminate();
4123     }
4124 	YY_BREAK
4125 
4126 case 252:
4127 /* rule 252 can match eol */
4128 YY_RULE_SETUP
4129 #line 1012 "scan.l"
4130 format_synerr( _( "bad character: %s" ), yytext );
4131 	YY_BREAK
4132 case 253:
4133 YY_RULE_SETUP
4134 #line 1014 "scan.l"
4135 YY_FATAL_ERROR( "flex scanner jammed" );
4136 	YY_BREAK
4137 #line 4137 "<stdout>"
4138 case YY_STATE_EOF(INITIAL):
4139 case YY_STATE_EOF(SECT2):
4140 case YY_STATE_EOF(CODEBLOCK):
4141 case YY_STATE_EOF(PICKUPDEF):
4142 case YY_STATE_EOF(SC):
4143 case YY_STATE_EOF(CARETISBOL):
4144 case YY_STATE_EOF(NUM):
4145 case YY_STATE_EOF(QUOTE):
4146 case YY_STATE_EOF(FIRSTCCL):
4147 case YY_STATE_EOF(CCL):
4148 case YY_STATE_EOF(RECOVER):
4149 case YY_STATE_EOF(PERCENT_BRACE_ACTION):
4150 case YY_STATE_EOF(OPTION):
4151 case YY_STATE_EOF(LINEDIR):
4152 	yyterminate();
4153 
4154 	case YY_END_OF_BUFFER:
4155 		{
4156 		/* Amount of text matched not including the EOB char. */
4157 		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
4158 
4159 		/* Undo the effects of YY_DO_BEFORE_ACTION. */
4160 		*yy_cp = (yy_hold_char);
4161 		YY_RESTORE_YY_MORE_OFFSET
4162 
4163 		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
4164 			{
4165 			/* We're scanning a new file or input source.  It's
4166 			 * possible that this happened because the user
4167 			 * just pointed yyin at a new source and called
4168 			 * yylex().  If so, then we have to assure
4169 			 * consistency between YY_CURRENT_BUFFER and our
4170 			 * globals.  Here is the right place to do so, because
4171 			 * this is the first action (other than possibly a
4172 			 * back-up) that will match for the new input source.
4173 			 */
4174 			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4175 			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
4176 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
4177 			}
4178 
4179 		/* Note that here we test for yy_c_buf_p "<=" to the position
4180 		 * of the first EOB in the buffer, since yy_c_buf_p will
4181 		 * already have been incremented past the NUL character
4182 		 * (since all states make transitions on EOB to the
4183 		 * end-of-buffer state).  Contrast this with the test
4184 		 * in input().
4185 		 */
4186 		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4187 			{ /* This was really a NUL. */
4188 			yy_state_type yy_next_state;
4189 
4190 			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
4191 
4192 			yy_current_state = yy_get_previous_state(  );
4193 
4194 			/* Okay, we're now positioned to make the NUL
4195 			 * transition.  We couldn't have
4196 			 * yy_get_previous_state() go ahead and do it
4197 			 * for us because it doesn't know how to deal
4198 			 * with the possibility of jamming (and we don't
4199 			 * want to build jamming into it because then it
4200 			 * will run more slowly).
4201 			 */
4202 
4203 			yy_next_state = yy_try_NUL_trans( yy_current_state );
4204 
4205 			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4206 
4207 			if ( yy_next_state )
4208 				{
4209 				/* Consume the NUL. */
4210 				yy_cp = ++(yy_c_buf_p);
4211 				yy_current_state = yy_next_state;
4212 				goto yy_match;
4213 				}
4214 
4215 			else
4216 				{
4217 				yy_cp = (yy_c_buf_p);
4218 				goto yy_find_action;
4219 				}
4220 			}
4221 
4222 		else switch ( yy_get_next_buffer(  ) )
4223 			{
4224 			case EOB_ACT_END_OF_FILE:
4225 				{
4226 				(yy_did_buffer_switch_on_eof) = 0;
4227 
4228 				if ( yywrap(  ) )
4229 					{
4230 					/* Note: because we've taken care in
4231 					 * yy_get_next_buffer() to have set up
4232 					 * yytext, we can now set up
4233 					 * yy_c_buf_p so that if some total
4234 					 * hoser (like flex itself) wants to
4235 					 * call the scanner after we return the
4236 					 * YY_NULL, it'll still work - another
4237 					 * YY_NULL will get returned.
4238 					 */
4239 					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
4240 
4241 					yy_act = YY_STATE_EOF(YY_START);
4242 					goto do_action;
4243 					}
4244 
4245 				else
4246 					{
4247 					if ( ! (yy_did_buffer_switch_on_eof) )
4248 						YY_NEW_FILE;
4249 					}
4250 				break;
4251 				}
4252 
4253 			case EOB_ACT_CONTINUE_SCAN:
4254 				(yy_c_buf_p) =
4255 					(yytext_ptr) + yy_amount_of_matched_text;
4256 
4257 				yy_current_state = yy_get_previous_state(  );
4258 
4259 				yy_cp = (yy_c_buf_p);
4260 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4261 				goto yy_match;
4262 
4263 			case EOB_ACT_LAST_MATCH:
4264 				(yy_c_buf_p) =
4265 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
4266 
4267 				yy_current_state = yy_get_previous_state(  );
4268 
4269 				yy_cp = (yy_c_buf_p);
4270 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4271 				goto yy_find_action;
4272 			}
4273 		break;
4274 		}
4275 
4276 	default:
4277 		YY_FATAL_ERROR(
4278 			"fatal flex scanner internal error--no action found" );
4279 	} /* end of action switch */
4280 		} /* end of scanning one token */
4281 	} /* end of user's declarations */
4282 } /* end of yylex */
4283 
4284 /* yy_get_next_buffer - try to read in a new buffer
4285  *
4286  * Returns a code representing an action:
4287  *	EOB_ACT_LAST_MATCH -
4288  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
4289  *	EOB_ACT_END_OF_FILE - end of file
4290  */
4291 static int yy_get_next_buffer (void)
4292 {
4293     	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
4294 	char *source = (yytext_ptr);
4295 	int number_to_move, i;
4296 	int ret_val;
4297 
4298 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4299 		YY_FATAL_ERROR(
4300 		"fatal flex scanner internal error--end of buffer missed" );
4301 
4302 	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4303 		{ /* Don't try to fill the buffer, so this is an EOF. */
4304 		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
4305 			{
4306 			/* We matched a single character, the EOB, so
4307 			 * treat this as a final EOF.
4308 			 */
4309 			return EOB_ACT_END_OF_FILE;
4310 			}
4311 
4312 		else
4313 			{
4314 			/* We matched some text prior to the EOB, first
4315 			 * process it.
4316 			 */
4317 			return EOB_ACT_LAST_MATCH;
4318 			}
4319 		}
4320 
4321 	/* Try to read more data. */
4322 
4323 	/* First move last chars to start of buffer. */
4324 	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
4325 
4326 	for ( i = 0; i < number_to_move; ++i )
4327 		*(dest++) = *(source++);
4328 
4329 	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4330 		/* don't do the read, it's not guaranteed to return an EOF,
4331 		 * just force an EOF
4332 		 */
4333 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4334 
4335 	else
4336 		{
4337 			int num_to_read =
4338 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4339 
4340 		while ( num_to_read <= 0 )
4341 			{ /* Not enough room in the buffer - grow it. */
4342 
4343 			/* just a shorter name for the current buffer */
4344 			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
4345 
4346 			int yy_c_buf_p_offset =
4347 				(int) ((yy_c_buf_p) - b->yy_ch_buf);
4348 
4349 			if ( b->yy_is_our_buffer )
4350 				{
4351 				int new_size = b->yy_buf_size * 2;
4352 
4353 				if ( new_size <= 0 )
4354 					b->yy_buf_size += b->yy_buf_size / 8;
4355 				else
4356 					b->yy_buf_size *= 2;
4357 
4358 				b->yy_ch_buf = (char *)
4359 					/* Include room in for 2 EOB chars. */
4360 					yyrealloc( (void *) b->yy_ch_buf,
4361 							 (yy_size_t) (b->yy_buf_size + 2)  );
4362 				}
4363 			else
4364 				/* Can't grow it, we don't own it. */
4365 				b->yy_ch_buf = NULL;
4366 
4367 			if ( ! b->yy_ch_buf )
4368 				YY_FATAL_ERROR(
4369 				"fatal error - scanner input buffer overflow" );
4370 
4371 			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4372 
4373 			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4374 						number_to_move - 1;
4375 
4376 			}
4377 
4378 		if ( num_to_read > YY_READ_BUF_SIZE )
4379 			num_to_read = YY_READ_BUF_SIZE;
4380 
4381 		/* Read in more data. */
4382 		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4383 			(yy_n_chars), num_to_read );
4384 
4385 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4386 		}
4387 
4388 	if ( (yy_n_chars) == 0 )
4389 		{
4390 		if ( number_to_move == YY_MORE_ADJ )
4391 			{
4392 			ret_val = EOB_ACT_END_OF_FILE;
4393 			yyrestart( yyin  );
4394 			}
4395 
4396 		else
4397 			{
4398 			ret_val = EOB_ACT_LAST_MATCH;
4399 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4400 				YY_BUFFER_EOF_PENDING;
4401 			}
4402 		}
4403 
4404 	else
4405 		ret_val = EOB_ACT_CONTINUE_SCAN;
4406 
4407 	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4408 		/* Extend the array by 50%, plus the number we really need. */
4409 		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4410 		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
4411 			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
4412 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4413 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4414 		/* "- 2" to take care of EOB's */
4415 		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
4416 	}
4417 
4418 	(yy_n_chars) += number_to_move;
4419 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
4420 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
4421 
4422 	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4423 
4424 	return ret_val;
4425 }
4426 
4427 /* yy_get_previous_state - get the state just before the EOB char was reached */
4428 
4429     static yy_state_type yy_get_previous_state (void)
4430 {
4431 	yy_state_type yy_current_state;
4432 	char *yy_cp;
4433 
4434 	yy_current_state = (yy_start);
4435 	yy_current_state += YY_AT_BOL();
4436 
4437 	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4438 		{
4439 		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4440 		if ( yy_accept[yy_current_state] )
4441 			{
4442 			(yy_last_accepting_state) = yy_current_state;
4443 			(yy_last_accepting_cpos) = yy_cp;
4444 			}
4445 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4446 			{
4447 			yy_current_state = (int) yy_def[yy_current_state];
4448 			if ( yy_current_state >= 1114 )
4449 				yy_c = yy_meta[yy_c];
4450 			}
4451 		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4452 		}
4453 
4454 	return yy_current_state;
4455 }
4456 
4457 /* yy_try_NUL_trans - try to make a transition on the NUL character
4458  *
4459  * synopsis
4460  *	next_state = yy_try_NUL_trans( current_state );
4461  */
4462     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
4463 {
4464 	int yy_is_jam;
4465     	char *yy_cp = (yy_c_buf_p);
4466 
4467 	YY_CHAR yy_c = 1;
4468 	if ( yy_accept[yy_current_state] )
4469 		{
4470 		(yy_last_accepting_state) = yy_current_state;
4471 		(yy_last_accepting_cpos) = yy_cp;
4472 		}
4473 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4474 		{
4475 		yy_current_state = (int) yy_def[yy_current_state];
4476 		if ( yy_current_state >= 1114 )
4477 			yy_c = yy_meta[yy_c];
4478 		}
4479 	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4480 	yy_is_jam = (yy_current_state == 1113);
4481 
4482 		return yy_is_jam ? 0 : yy_current_state;
4483 }
4484 
4485 #ifndef YY_NO_UNPUT
4486 
4487     static void yyunput (int c, char * yy_bp )
4488 {
4489 	char *yy_cp;
4490 
4491     yy_cp = (yy_c_buf_p);
4492 
4493 	/* undo effects of setting up yytext */
4494 	*yy_cp = (yy_hold_char);
4495 
4496 	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4497 		{ /* need to shift things up to make room */
4498 		/* +2 for EOB chars. */
4499 		int number_to_move = (yy_n_chars) + 2;
4500 		char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
4501 					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
4502 		char *source =
4503 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
4504 
4505 		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4506 			*--dest = *--source;
4507 
4508 		yy_cp += (int) (dest - source);
4509 		yy_bp += (int) (dest - source);
4510 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
4511 			(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
4512 
4513 		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4514 			YY_FATAL_ERROR( "flex scanner push-back overflow" );
4515 		}
4516 
4517 	*--yy_cp = (char) c;
4518 
4519 	(yytext_ptr) = yy_bp;
4520 	(yy_hold_char) = *yy_cp;
4521 	(yy_c_buf_p) = yy_cp;
4522 }
4523 
4524 #endif
4525 
4526 #ifndef YY_NO_INPUT
4527 #ifdef __cplusplus
4528     static int yyinput (void)
4529 #else
4530     static int input  (void)
4531 #endif
4532 
4533 {
4534 	int c;
4535 
4536 	*(yy_c_buf_p) = (yy_hold_char);
4537 
4538 	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4539 		{
4540 		/* yy_c_buf_p now points to the character we want to return.
4541 		 * If this occurs *before* the EOB characters, then it's a
4542 		 * valid NUL; if not, then we've hit the end of the buffer.
4543 		 */
4544 		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4545 			/* This was really a NUL. */
4546 			*(yy_c_buf_p) = '\0';
4547 
4548 		else
4549 			{ /* need more input */
4550 			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
4551 			++(yy_c_buf_p);
4552 
4553 			switch ( yy_get_next_buffer(  ) )
4554 				{
4555 				case EOB_ACT_LAST_MATCH:
4556 					/* This happens because yy_g_n_b()
4557 					 * sees that we've accumulated a
4558 					 * token and flags that we need to
4559 					 * try matching the token before
4560 					 * proceeding.  But for input(),
4561 					 * there's no matching to consider.
4562 					 * So convert the EOB_ACT_LAST_MATCH
4563 					 * to EOB_ACT_END_OF_FILE.
4564 					 */
4565 
4566 					/* Reset buffer status. */
4567 					yyrestart( yyin );
4568 
4569 					/*FALLTHROUGH*/
4570 
4571 				case EOB_ACT_END_OF_FILE:
4572 					{
4573 					if ( yywrap(  ) )
4574 #ifdef YY_FLEX_LEX_COMPAT
4575 						return 0;
4576 #else
4577 						return EOF;
4578 #endif
4579 
4580 					if ( ! (yy_did_buffer_switch_on_eof) )
4581 						YY_NEW_FILE;
4582 #ifdef __cplusplus
4583 					return yyinput();
4584 #else
4585 					return input();
4586 #endif
4587 					}
4588 
4589 				case EOB_ACT_CONTINUE_SCAN:
4590 					(yy_c_buf_p) = (yytext_ptr) + offset;
4591 					break;
4592 				}
4593 			}
4594 		}
4595 
4596 	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
4597 	*(yy_c_buf_p) = '\0';	/* preserve yytext */
4598 	(yy_hold_char) = *++(yy_c_buf_p);
4599 
4600 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
4601 
4602 	return c;
4603 }
4604 #endif	/* ifndef YY_NO_INPUT */
4605 
4606 /** Immediately switch to a different input stream.
4607  * @param input_file A readable stream.
4608  *
4609  * @note This function does not reset the start condition to @c INITIAL .
4610  */
4611     void yyrestart  (FILE * input_file )
4612 {
4613 
4614 	if ( ! YY_CURRENT_BUFFER ){
4615         yyensure_buffer_stack ();
4616 		YY_CURRENT_BUFFER_LVALUE =
4617             yy_create_buffer( yyin, YY_BUF_SIZE );
4618 	}
4619 
4620 	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
4621 	yy_load_buffer_state(  );
4622 }
4623 
4624 /** Switch to a different input buffer.
4625  * @param new_buffer The new input buffer.
4626  *
4627  */
4628     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
4629 {
4630 
4631 	/* TODO. We should be able to replace this entire function body
4632 	 * with
4633 	 *		yypop_buffer_state();
4634 	 *		yypush_buffer_state(new_buffer);
4635      */
4636 	yyensure_buffer_stack ();
4637 	if ( YY_CURRENT_BUFFER == new_buffer )
4638 		return;
4639 
4640 	if ( YY_CURRENT_BUFFER )
4641 		{
4642 		/* Flush out information for old buffer. */
4643 		*(yy_c_buf_p) = (yy_hold_char);
4644 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4645 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4646 		}
4647 
4648 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
4649 	yy_load_buffer_state(  );
4650 
4651 	/* We don't actually know whether we did this switch during
4652 	 * EOF (yywrap()) processing, but the only time this flag
4653 	 * is looked at is after yywrap() is called, so it's safe
4654 	 * to go ahead and always set it.
4655 	 */
4656 	(yy_did_buffer_switch_on_eof) = 1;
4657 }
4658 
4659 static void yy_load_buffer_state  (void)
4660 {
4661     	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4662 	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4663 	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4664 	(yy_hold_char) = *(yy_c_buf_p);
4665 }
4666 
4667 /** Allocate and initialize an input buffer state.
4668  * @param file A readable stream.
4669  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4670  *
4671  * @return the allocated buffer state.
4672  */
4673     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
4674 {
4675 	YY_BUFFER_STATE b;
4676 
4677 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
4678 	if ( ! b )
4679 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4680 
4681 	b->yy_buf_size = size;
4682 
4683 	/* yy_ch_buf has to be 2 characters longer than the size given because
4684 	 * we need to put in 2 end-of-buffer characters.
4685 	 */
4686 	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
4687 	if ( ! b->yy_ch_buf )
4688 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4689 
4690 	b->yy_is_our_buffer = 1;
4691 
4692 	yy_init_buffer( b, file );
4693 
4694 	return b;
4695 }
4696 
4697 /** Destroy the buffer.
4698  * @param b a buffer created with yy_create_buffer()
4699  *
4700  */
4701     void yy_delete_buffer (YY_BUFFER_STATE  b )
4702 {
4703 
4704 	if ( ! b )
4705 		return;
4706 
4707 	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4708 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4709 
4710 	if ( b->yy_is_our_buffer )
4711 		yyfree( (void *) b->yy_ch_buf  );
4712 
4713 	yyfree( (void *) b  );
4714 }
4715 
4716 /* Initializes or reinitializes a buffer.
4717  * This function is sometimes called more than once on the same buffer,
4718  * such as during a yyrestart() or at EOF.
4719  */
4720     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
4721 
4722 {
4723 	int oerrno = errno;
4724 
4725 	yy_flush_buffer( b );
4726 
4727 	b->yy_input_file = file;
4728 	b->yy_fill_buffer = 1;
4729 
4730     /* If b is the current buffer, then yy_init_buffer was _probably_
4731      * called from yyrestart() or through yy_get_next_buffer.
4732      * In that case, we don't want to reset the lineno or column.
4733      */
4734     if (b != YY_CURRENT_BUFFER){
4735         b->yy_bs_lineno = 1;
4736         b->yy_bs_column = 0;
4737     }
4738 
4739         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4740 
4741 	errno = oerrno;
4742 }
4743 
4744 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4745  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4746  *
4747  */
4748     void yy_flush_buffer (YY_BUFFER_STATE  b )
4749 {
4750     	if ( ! b )
4751 		return;
4752 
4753 	b->yy_n_chars = 0;
4754 
4755 	/* We always need two end-of-buffer characters.  The first causes
4756 	 * a transition to the end-of-buffer state.  The second causes
4757 	 * a jam in that state.
4758 	 */
4759 	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4760 	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4761 
4762 	b->yy_buf_pos = &b->yy_ch_buf[0];
4763 
4764 	b->yy_at_bol = 1;
4765 	b->yy_buffer_status = YY_BUFFER_NEW;
4766 
4767 	if ( b == YY_CURRENT_BUFFER )
4768 		yy_load_buffer_state(  );
4769 }
4770 
4771 /** Pushes the new state onto the stack. The new state becomes
4772  *  the current state. This function will allocate the stack
4773  *  if necessary.
4774  *  @param new_buffer The new state.
4775  *
4776  */
4777 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
4778 {
4779     	if (new_buffer == NULL)
4780 		return;
4781 
4782 	yyensure_buffer_stack();
4783 
4784 	/* This block is copied from yy_switch_to_buffer. */
4785 	if ( YY_CURRENT_BUFFER )
4786 		{
4787 		/* Flush out information for old buffer. */
4788 		*(yy_c_buf_p) = (yy_hold_char);
4789 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4790 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4791 		}
4792 
4793 	/* Only push if top exists. Otherwise, replace top. */
4794 	if (YY_CURRENT_BUFFER)
4795 		(yy_buffer_stack_top)++;
4796 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
4797 
4798 	/* copied from yy_switch_to_buffer. */
4799 	yy_load_buffer_state(  );
4800 	(yy_did_buffer_switch_on_eof) = 1;
4801 }
4802 
4803 /** Removes and deletes the top of the stack, if present.
4804  *  The next element becomes the new top.
4805  *
4806  */
4807 void yypop_buffer_state (void)
4808 {
4809     	if (!YY_CURRENT_BUFFER)
4810 		return;
4811 
4812 	yy_delete_buffer(YY_CURRENT_BUFFER );
4813 	YY_CURRENT_BUFFER_LVALUE = NULL;
4814 	if ((yy_buffer_stack_top) > 0)
4815 		--(yy_buffer_stack_top);
4816 
4817 	if (YY_CURRENT_BUFFER) {
4818 		yy_load_buffer_state(  );
4819 		(yy_did_buffer_switch_on_eof) = 1;
4820 	}
4821 }
4822 
4823 /* Allocates the stack if it does not exist.
4824  *  Guarantees space for at least one push.
4825  */
4826 static void yyensure_buffer_stack (void)
4827 {
4828 	yy_size_t num_to_alloc;
4829 
4830 	if (!(yy_buffer_stack)) {
4831 
4832 		/* First allocation is just for 2 elements, since we don't know if this
4833 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4834 		 * immediate realloc on the next call.
4835          */
4836       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
4837 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
4838 								(num_to_alloc * sizeof(struct yy_buffer_state*)
4839 								);
4840 		if ( ! (yy_buffer_stack) )
4841 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4842 
4843 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4844 
4845 		(yy_buffer_stack_max) = num_to_alloc;
4846 		(yy_buffer_stack_top) = 0;
4847 		return;
4848 	}
4849 
4850 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4851 
4852 		/* Increase the buffer to prepare for a possible push. */
4853 		yy_size_t grow_size = 8 /* arbitrary grow size */;
4854 
4855 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
4856 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
4857 								((yy_buffer_stack),
4858 								num_to_alloc * sizeof(struct yy_buffer_state*)
4859 								);
4860 		if ( ! (yy_buffer_stack) )
4861 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4862 
4863 		/* zero only the new slots.*/
4864 		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4865 		(yy_buffer_stack_max) = num_to_alloc;
4866 	}
4867 }
4868 
4869 /** Setup the input buffer state to scan directly from a user-specified character buffer.
4870  * @param base the character buffer
4871  * @param size the size in bytes of the character buffer
4872  *
4873  * @return the newly allocated buffer state object.
4874  */
4875 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
4876 {
4877 	YY_BUFFER_STATE b;
4878 
4879 	if ( size < 2 ||
4880 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
4881 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
4882 		/* They forgot to leave room for the EOB's. */
4883 		return NULL;
4884 
4885 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
4886 	if ( ! b )
4887 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
4888 
4889 	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
4890 	b->yy_buf_pos = b->yy_ch_buf = base;
4891 	b->yy_is_our_buffer = 0;
4892 	b->yy_input_file = NULL;
4893 	b->yy_n_chars = b->yy_buf_size;
4894 	b->yy_is_interactive = 0;
4895 	b->yy_at_bol = 1;
4896 	b->yy_fill_buffer = 0;
4897 	b->yy_buffer_status = YY_BUFFER_NEW;
4898 
4899 	yy_switch_to_buffer( b  );
4900 
4901 	return b;
4902 }
4903 
4904 /** Setup the input buffer state to scan a string. The next call to yylex() will
4905  * scan from a @e copy of @a str.
4906  * @param yystr a NUL-terminated string to scan
4907  *
4908  * @return the newly allocated buffer state object.
4909  * @note If you want to scan bytes that may contain NUL values, then use
4910  *       yy_scan_bytes() instead.
4911  */
4912 YY_BUFFER_STATE yy_scan_string (const char * yystr )
4913 {
4914 
4915 	return yy_scan_bytes( yystr, (int) strlen(yystr) );
4916 }
4917 
4918 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
4919  * scan from a @e copy of @a bytes.
4920  * @param yybytes the byte buffer to scan
4921  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
4922  *
4923  * @return the newly allocated buffer state object.
4924  */
4925 YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
4926 {
4927 	YY_BUFFER_STATE b;
4928 	char *buf;
4929 	yy_size_t n;
4930 	int i;
4931 
4932 	/* Get memory for full buffer, including space for trailing EOB's. */
4933 	n = (yy_size_t) (_yybytes_len + 2);
4934 	buf = (char *) yyalloc( n  );
4935 	if ( ! buf )
4936 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4937 
4938 	for ( i = 0; i < _yybytes_len; ++i )
4939 		buf[i] = yybytes[i];
4940 
4941 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4942 
4943 	b = yy_scan_buffer( buf, n );
4944 	if ( ! b )
4945 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4946 
4947 	/* It's okay to grow etc. this buffer, and we should throw it
4948 	 * away when we're done.
4949 	 */
4950 	b->yy_is_our_buffer = 1;
4951 
4952 	return b;
4953 }
4954 
4955     static void yy_push_state (int  _new_state )
4956 {
4957     	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
4958 		{
4959 		yy_size_t new_size;
4960 
4961 		(yy_start_stack_depth) += YY_START_STACK_INCR;
4962 		new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
4963 
4964 		if ( ! (yy_start_stack) )
4965 			(yy_start_stack) = (int *) yyalloc( new_size  );
4966 
4967 		else
4968 			(yy_start_stack) = (int *) yyrealloc(
4969 					(void *) (yy_start_stack), new_size  );
4970 
4971 		if ( ! (yy_start_stack) )
4972 			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
4973 		}
4974 
4975 	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
4976 
4977 	BEGIN(_new_state);
4978 }
4979 
4980     static void yy_pop_state  (void)
4981 {
4982     	if ( --(yy_start_stack_ptr) < 0 )
4983 		YY_FATAL_ERROR( "start-condition stack underflow" );
4984 
4985 	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4986 }
4987 
4988 #ifndef YY_EXIT_FAILURE
4989 #define YY_EXIT_FAILURE 2
4990 #endif
4991 
4992 static void yynoreturn yy_fatal_error (const char* msg )
4993 {
4994 			fprintf( stderr, "%s\n", msg );
4995 	exit( YY_EXIT_FAILURE );
4996 }
4997 
4998 /* Redefine yyless() so it works in section 3 code. */
4999 
5000 #undef yyless
5001 #define yyless(n) \
5002 	do \
5003 		{ \
5004 		/* Undo effects of setting up yytext. */ \
5005         int yyless_macro_arg = (n); \
5006         YY_LESS_LINENO(yyless_macro_arg);\
5007 		yytext[yyleng] = (yy_hold_char); \
5008 		(yy_c_buf_p) = yytext + yyless_macro_arg; \
5009 		(yy_hold_char) = *(yy_c_buf_p); \
5010 		*(yy_c_buf_p) = '\0'; \
5011 		yyleng = yyless_macro_arg; \
5012 		} \
5013 	while ( 0 )
5014 
5015 /* Accessor  methods (get/set functions) to struct members. */
5016 
5017 /** Get the current line number.
5018  *
5019  */
5020 int yyget_lineno  (void)
5021 {
5022 
5023     return yylineno;
5024 }
5025 
5026 /** Get the input stream.
5027  *
5028  */
5029 FILE *yyget_in  (void)
5030 {
5031         return yyin;
5032 }
5033 
5034 /** Get the output stream.
5035  *
5036  */
5037 FILE *yyget_out  (void)
5038 {
5039         return yyout;
5040 }
5041 
5042 /** Get the length of the current token.
5043  *
5044  */
5045 int yyget_leng  (void)
5046 {
5047         return yyleng;
5048 }
5049 
5050 /** Get the current token.
5051  *
5052  */
5053 
5054 char *yyget_text  (void)
5055 {
5056         return yytext;
5057 }
5058 
5059 /** Set the current line number.
5060  * @param _line_number line number
5061  *
5062  */
5063 void yyset_lineno (int  _line_number )
5064 {
5065 
5066     yylineno = _line_number;
5067 }
5068 
5069 /** Set the input stream. This does not discard the current
5070  * input buffer.
5071  * @param _in_str A readable stream.
5072  *
5073  * @see yy_switch_to_buffer
5074  */
5075 void yyset_in (FILE *  _in_str )
5076 {
5077         yyin = _in_str ;
5078 }
5079 
5080 void yyset_out (FILE *  _out_str )
5081 {
5082         yyout = _out_str ;
5083 }
5084 
5085 int yyget_debug  (void)
5086 {
5087         return yy_flex_debug;
5088 }
5089 
5090 void yyset_debug (int  _bdebug )
5091 {
5092         yy_flex_debug = _bdebug ;
5093 }
5094 
5095 static int yy_init_globals (void)
5096 {
5097         /* Initialization is the same as for the non-reentrant scanner.
5098      * This function is called from yylex_destroy(), so don't allocate here.
5099      */
5100 
5101     (yy_buffer_stack) = NULL;
5102     (yy_buffer_stack_top) = 0;
5103     (yy_buffer_stack_max) = 0;
5104     (yy_c_buf_p) = NULL;
5105     (yy_init) = 0;
5106     (yy_start) = 0;
5107 
5108     (yy_start_stack_ptr) = 0;
5109     (yy_start_stack_depth) = 0;
5110     (yy_start_stack) =  NULL;
5111 
5112 /* Defined in main.c */
5113 #ifdef YY_STDINIT
5114     yyin = stdin;
5115     yyout = stdout;
5116 #else
5117     yyin = NULL;
5118     yyout = NULL;
5119 #endif
5120 
5121     /* For future reference: Set errno on error, since we are called by
5122      * yylex_init()
5123      */
5124     return 0;
5125 }
5126 
5127 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
5128 int yylex_destroy  (void)
5129 {
5130 
5131     /* Pop the buffer stack, destroying each element. */
5132 	while(YY_CURRENT_BUFFER){
5133 		yy_delete_buffer( YY_CURRENT_BUFFER  );
5134 		YY_CURRENT_BUFFER_LVALUE = NULL;
5135 		yypop_buffer_state();
5136 	}
5137 
5138 	/* Destroy the stack itself. */
5139 	yyfree((yy_buffer_stack) );
5140 	(yy_buffer_stack) = NULL;
5141 
5142     /* Destroy the start condition stack. */
5143         yyfree( (yy_start_stack)  );
5144         (yy_start_stack) = NULL;
5145 
5146     /* Reset the globals. This is important in a non-reentrant scanner so the next time
5147      * yylex() is called, initialization will occur. */
5148     yy_init_globals( );
5149 
5150     return 0;
5151 }
5152 
5153 /*
5154  * Internal utility routines.
5155  */
5156 
5157 #ifndef yytext_ptr
5158 static void yy_flex_strncpy (char* s1, const char * s2, int n )
5159 {
5160 
5161 	int i;
5162 	for ( i = 0; i < n; ++i )
5163 		s1[i] = s2[i];
5164 }
5165 #endif
5166 
5167 #ifdef YY_NEED_STRLEN
5168 static int yy_flex_strlen (const char * s )
5169 {
5170 	int n;
5171 	for ( n = 0; s[n]; ++n )
5172 		;
5173 
5174 	return n;
5175 }
5176 #endif
5177 
5178 void *yyalloc (yy_size_t  size )
5179 {
5180 			return malloc(size);
5181 }
5182 
5183 void *yyrealloc  (void * ptr, yy_size_t  size )
5184 {
5185 
5186 	/* The cast to (char *) in the following accommodates both
5187 	 * implementations that use char* generic pointers, and those
5188 	 * that use void* generic pointers.  It works with the latter
5189 	 * because both ANSI C and C++ allow castless assignment from
5190 	 * any pointer type to void*, and deal with argument conversions
5191 	 * as though doing an assignment.
5192 	 */
5193 	return realloc(ptr, size);
5194 }
5195 
5196 void yyfree (void * ptr )
5197 {
5198 			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
5199 }
5200 
5201 #define YYTABLES_NAME "yytables"
5202 
5203 #line 1014 "scan.l"
5204 
5205 
5206 
5207 int yywrap(void)
5208 	{
5209 	if ( --num_input_files > 0 )
5210 		{
5211 		set_input_file( *++input_files );
5212 		return 0;
5213 		}
5214 
5215 	else
5216 		return 1;
5217 	}
5218 
5219 
5220 /* set_input_file - open the given file (if NULL, stdin) for scanning */
5221 
5222 void set_input_file( char *file )
5223 	{
5224 	if ( file && strcmp( file, "-" ) )
5225 		{
5226 		infilename = xstrdup(file);
5227 		yyin = fopen( infilename, "r" );
5228 
5229 		if ( yyin == NULL )
5230 			lerr( _( "can't open %s" ), file );
5231 		}
5232 
5233 	else
5234 		{
5235 		yyin = stdin;
5236 		infilename = xstrdup("<stdin>");
5237 		}
5238 
5239 	linenum = 1;
5240 	}
5241 
5242