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