xref: /freebsd/contrib/unbound/util/configlexer.c (revision 0572ccaa4543b0abef8ef81e384c1d04de9f3da1)
1 #include "config.h"
2 #include "util/configyyrename.h"
3 
4 #line 3 "<stdout>"
5 
6 #define  YY_INT_ALIGNED short int
7 
8 /* A lexical scanner generated by flex */
9 
10 #define FLEX_SCANNER
11 #define YY_FLEX_MAJOR_VERSION 2
12 #define YY_FLEX_MINOR_VERSION 5
13 #define YY_FLEX_SUBMINOR_VERSION 37
14 #if YY_FLEX_SUBMINOR_VERSION > 0
15 #define FLEX_BETA
16 #endif
17 
18 /* First, we deal with  platform-specific or compiler-specific issues. */
19 
20 #if defined(__FreeBSD__)
21 #ifndef __STDC_LIMIT_MACROS
22 #define	__STDC_LIMIT_MACROS
23 #endif
24 #include <sys/cdefs.h>
25 #include <stdint.h>
26 #else
27 #define	__dead2
28 #endif
29 
30 /* begin standard C headers. */
31 #include <stdio.h>
32 #include <string.h>
33 #include <errno.h>
34 #include <stdlib.h>
35 
36 /* end standard C headers. */
37 
38 /* flex integer type definitions */
39 
40 #ifndef FLEXINT_H
41 #define FLEXINT_H
42 
43 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
44 
45 #if defined(__FreeBSD__) || \
46     (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
47 
48 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
49  * if you want the limit (max/min) macros for int types.
50  */
51 #ifndef __STDC_LIMIT_MACROS
52 #define __STDC_LIMIT_MACROS 1
53 #endif
54 
55 #include <inttypes.h>
56 typedef int8_t flex_int8_t;
57 typedef uint8_t flex_uint8_t;
58 typedef int16_t flex_int16_t;
59 typedef uint16_t flex_uint16_t;
60 typedef int32_t flex_int32_t;
61 typedef uint32_t flex_uint32_t;
62 #else
63 typedef signed char flex_int8_t;
64 typedef short int flex_int16_t;
65 typedef int flex_int32_t;
66 typedef unsigned char flex_uint8_t;
67 typedef unsigned short int flex_uint16_t;
68 typedef unsigned int flex_uint32_t;
69 
70 /* Limits of integral types. */
71 #ifndef INT8_MIN
72 #define INT8_MIN               (-128)
73 #endif
74 #ifndef INT16_MIN
75 #define INT16_MIN              (-32767-1)
76 #endif
77 #ifndef INT32_MIN
78 #define INT32_MIN              (-2147483647-1)
79 #endif
80 #ifndef INT8_MAX
81 #define INT8_MAX               (127)
82 #endif
83 #ifndef INT16_MAX
84 #define INT16_MAX              (32767)
85 #endif
86 #ifndef INT32_MAX
87 #define INT32_MAX              (2147483647)
88 #endif
89 #ifndef UINT8_MAX
90 #define UINT8_MAX              (255U)
91 #endif
92 #ifndef UINT16_MAX
93 #define UINT16_MAX             (65535U)
94 #endif
95 #ifndef UINT32_MAX
96 #define UINT32_MAX             (4294967295U)
97 #endif
98 
99 #endif /* ! C99 */
100 
101 #endif /* ! FLEXINT_H */
102 
103 #ifdef __cplusplus
104 
105 /* The "const" storage-class-modifier is valid. */
106 #define YY_USE_CONST
107 
108 #else	/* ! __cplusplus */
109 
110 /* C99 requires __STDC__ to be defined as 1. */
111 #if defined (__STDC__)
112 
113 #define YY_USE_CONST
114 
115 #endif	/* defined (__STDC__) */
116 #endif	/* ! __cplusplus */
117 
118 #ifdef YY_USE_CONST
119 #define yyconst const
120 #else
121 #define yyconst
122 #endif
123 
124 /* Returned upon end-of-file. */
125 #define YY_NULL 0
126 
127 /* Promotes a possibly negative, possibly signed char to an unsigned
128  * integer for use as an array index.  If the signed char is negative,
129  * we want to instead treat it as an 8-bit unsigned char, hence the
130  * double cast.
131  */
132 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
133 
134 /* Enter a start condition.  This macro really ought to take a parameter,
135  * but we do it the disgusting crufty way forced on us by the ()-less
136  * definition of BEGIN.
137  */
138 #define BEGIN (yy_start) = 1 + 2 *
139 
140 /* Translate the current start state into a value that can be later handed
141  * to BEGIN to return to the state.  The YYSTATE alias is for lex
142  * compatibility.
143  */
144 #define YY_START (((yy_start) - 1) / 2)
145 #define YYSTATE YY_START
146 
147 /* Action number for EOF rule of a given start state. */
148 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
149 
150 /* Special action meaning "start processing a new file". */
151 #define YY_NEW_FILE yyrestart(yyin  )
152 
153 #define YY_END_OF_BUFFER_CHAR 0
154 
155 /* Size of default input buffer. */
156 #ifndef YY_BUF_SIZE
157 #define YY_BUF_SIZE 16384
158 #endif
159 
160 /* The state buf must be large enough to hold one state per character in the main buffer.
161  */
162 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
163 
164 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
165 #define YY_TYPEDEF_YY_BUFFER_STATE
166 typedef struct yy_buffer_state *YY_BUFFER_STATE;
167 #endif
168 
169 #ifndef YY_TYPEDEF_YY_SIZE_T
170 #define YY_TYPEDEF_YY_SIZE_T
171 typedef size_t yy_size_t;
172 #endif
173 
174 extern yy_size_t yyleng;
175 
176 extern FILE *yyin, *yyout;
177 
178 #define EOB_ACT_CONTINUE_SCAN 0
179 #define EOB_ACT_END_OF_FILE 1
180 #define EOB_ACT_LAST_MATCH 2
181 
182     #define YY_LESS_LINENO(n)
183 
184 /* Return all but the first "n" matched characters back to the input stream. */
185 #define yyless(n) \
186 	do \
187 		{ \
188 		/* Undo effects of setting up yytext. */ \
189         int yyless_macro_arg = (n); \
190         YY_LESS_LINENO(yyless_macro_arg);\
191 		*yy_cp = (yy_hold_char); \
192 		YY_RESTORE_YY_MORE_OFFSET \
193 		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
194 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
195 		} \
196 	while ( 0 )
197 
198 #define unput(c) yyunput( c, (yytext_ptr)  )
199 
200 #ifndef YY_STRUCT_YY_BUFFER_STATE
201 #define YY_STRUCT_YY_BUFFER_STATE
202 struct yy_buffer_state
203 	{
204 	FILE *yy_input_file;
205 
206 	char *yy_ch_buf;		/* input buffer */
207 	char *yy_buf_pos;		/* current position in input buffer */
208 
209 	/* Size of input buffer in bytes, not including room for EOB
210 	 * characters.
211 	 */
212 	yy_size_t yy_buf_size;
213 
214 	/* Number of characters read into yy_ch_buf, not including EOB
215 	 * characters.
216 	 */
217 	yy_size_t yy_n_chars;
218 
219 	/* Whether we "own" the buffer - i.e., we know we created it,
220 	 * and can realloc() it to grow it, and should free() it to
221 	 * delete it.
222 	 */
223 	int yy_is_our_buffer;
224 
225 	/* Whether this is an "interactive" input source; if so, and
226 	 * if we're using stdio for input, then we want to use getc()
227 	 * instead of fread(), to make sure we stop fetching input after
228 	 * each newline.
229 	 */
230 	int yy_is_interactive;
231 
232 	/* Whether we're considered to be at the beginning of a line.
233 	 * If so, '^' rules will be active on the next match, otherwise
234 	 * not.
235 	 */
236 	int yy_at_bol;
237 
238     int yy_bs_lineno; /**< The line count. */
239     int yy_bs_column; /**< The column count. */
240 
241 	/* Whether to try to fill the input buffer when we reach the
242 	 * end of it.
243 	 */
244 	int yy_fill_buffer;
245 
246 	int yy_buffer_status;
247 
248 #define YY_BUFFER_NEW 0
249 #define YY_BUFFER_NORMAL 1
250 	/* When an EOF's been seen but there's still some text to process
251 	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
252 	 * shouldn't try reading from the input source any more.  We might
253 	 * still have a bunch of tokens to match, though, because of
254 	 * possible backing-up.
255 	 *
256 	 * When we actually see the EOF, we change the status to "new"
257 	 * (via yyrestart()), so that the user can continue scanning by
258 	 * just pointing yyin at a new input file.
259 	 */
260 #define YY_BUFFER_EOF_PENDING 2
261 
262 	};
263 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
264 
265 /* Stack of input buffers. */
266 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
267 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
268 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
269 
270 /* We provide macros for accessing buffer states in case in the
271  * future we want to put the buffer states in a more general
272  * "scanner state".
273  *
274  * Returns the top of the stack, or NULL.
275  */
276 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
277                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
278                           : NULL)
279 #define yy_current_buffer YY_CURRENT_BUFFER
280 
281 /* Same as previous macro, but useful when we know that the buffer stack is not
282  * NULL or when we need an lvalue. For internal use only.
283  */
284 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
285 
286 /* yy_hold_char holds the character lost when yytext is formed. */
287 static char yy_hold_char;
288 static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
289 yy_size_t yyleng;
290 
291 /* Points to current character in buffer. */
292 static char *yy_c_buf_p = (char *) 0;
293 static int yy_init = 0;		/* whether we need to initialize */
294 static int yy_start = 0;	/* start state number */
295 
296 /* Flag which is used to allow yywrap()'s to do buffer switches
297  * instead of setting up a fresh yyin.  A bit of a hack ...
298  */
299 static int yy_did_buffer_switch_on_eof;
300 
301 void yyrestart (FILE *input_file  );
302 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
303 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
304 void yy_delete_buffer (YY_BUFFER_STATE b  );
305 void yy_flush_buffer (YY_BUFFER_STATE b  );
306 void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
307 void yypop_buffer_state (void );
308 
309 static void yyensure_buffer_stack (void );
310 static void yy_load_buffer_state (void );
311 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
312 
313 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
314 
315 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
316 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
317 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
318 
319 void *yyalloc (yy_size_t  );
320 void *yyrealloc (void *,yy_size_t  );
321 void yyfree (void *  );
322 
323 #define yy_new_buffer yy_create_buffer
324 
325 #define yy_set_interactive(is_interactive) \
326 	{ \
327 	if ( ! YY_CURRENT_BUFFER ){ \
328         yyensure_buffer_stack (); \
329 		YY_CURRENT_BUFFER_LVALUE =    \
330             yy_create_buffer(yyin,YY_BUF_SIZE ); \
331 	} \
332 	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
333 	}
334 
335 #define yy_set_bol(at_bol) \
336 	{ \
337 	if ( ! YY_CURRENT_BUFFER ){\
338         yyensure_buffer_stack (); \
339 		YY_CURRENT_BUFFER_LVALUE =    \
340             yy_create_buffer(yyin,YY_BUF_SIZE ); \
341 	} \
342 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
343 	}
344 
345 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
346 
347 /* Begin user sect3 */
348 
349 typedef unsigned char YY_CHAR;
350 
351 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
352 
353 typedef int yy_state_type;
354 
355 extern int yylineno;
356 
357 int yylineno = 1;
358 
359 extern char *yytext;
360 #define yytext_ptr yytext
361 
362 static yy_state_type yy_get_previous_state (void );
363 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
364 static int yy_get_next_buffer (void );
365 static void yy_fatal_error (yyconst char msg[]  ) __dead2;
366 
367 /* Done after the current pattern has been matched and before the
368  * corresponding action - sets up yytext.
369  */
370 #define YY_DO_BEFORE_ACTION \
371 	(yytext_ptr) = yy_bp; \
372 	(yytext_ptr) -= (yy_more_len); \
373 	yyleng = (size_t) (yy_cp - (yytext_ptr)); \
374 	(yy_hold_char) = *yy_cp; \
375 	*yy_cp = '\0'; \
376 	(yy_c_buf_p) = yy_cp;
377 
378 #define YY_NUM_RULES 146
379 #define YY_END_OF_BUFFER 147
380 /* This struct is not used in this scanner,
381    but its presence is necessary. */
382 struct yy_trans_info
383 	{
384 	flex_int32_t yy_verify;
385 	flex_int32_t yy_nxt;
386 	};
387 static yyconst flex_int16_t yy_accept[1383] =
388     {   0,
389         1,    1,  128,  128,  132,  132,  136,  136,  140,  140,
390         1,    1,  147,  144,    1,  126,  126,  145,    2,  145,
391       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
392       144,  144,  144,  144,  144,  144,  144,  144,  144,  128,
393       129,  129,  130,  145,  132,  133,  133,  134,  145,  139,
394       136,  137,  137,  138,  145,  140,  141,  141,  142,  145,
395       143,  127,    2,  131,  145,  143,  144,    0,    1,    2,
396         2,    2,    2,  144,  144,  144,  144,  144,  144,  144,
397       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
398       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
399 
400       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
401       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
402       144,  128,    0,  132,    0,  139,    0,  136,  140,    0,
403       143,    0,    2,    2,  143,  144,  144,  144,  144,  144,
404       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
405       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
406       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
407       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
408       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
409       143,  144,  144,  144,  144,  144,  144,  144,  144,  144,
410 
411       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
412       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
413       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
414       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
415       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
416       144,  144,  144,  144,  144,  144,  143,  144,  144,  144,
417       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
418       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
419       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
420       144,  144,  144,  144,  144,  144,  144,   65,  144,  144,
421 
422       144,  144,  144,    6,  144,  144,  144,  144,  144,  144,
423       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
424       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
425       144,  144,  144,  144,  144,  143,  144,  144,  144,  144,
426       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
427       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
428       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
429       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
430       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
431       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
432 
433       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
434       144,  144,  144,  144,  144,  144,  144,  144,  144,  143,
435       144,  144,  144,  144,   29,  144,  144,  144,  144,  144,
436       144,   12,   13,  144,   15,   14,  144,  144,  144,  144,
437       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
438       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
439       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
440       144,  144,  144,  121,  144,  144,  144,  144,  144,    3,
441       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
442       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
443 
444       144,  144,  144,  144,  144,  144,  144,  144,  144,  143,
445       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
446       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
447       144,  144,  144,  144,  144,  144,  135,  144,  144,  144,
448       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
449        32,  144,  144,  144,  144,  144,  144,  144,  144,  144,
450        33,  144,  144,  144,  144,  144,  144,  144,  144,  144,
451       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
452       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
453       144,  144,  144,  144,  144,  144,  144,  144,   80,  135,
454 
455       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
456       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
457       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
458       144,   79,  144,  144,  144,  144,  144,  144,  144,  144,
459       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
460       144,  144,  144,  144,  144,  144,   63,  144,  144,  144,
461       144,  144,  144,  144,  144,  144,  144,  144,  144,   20,
462       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
463       144,  144,  144,  144,  144,   30,  144,  144,  144,  144,
464       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
465 
466       144,  144,  144,  144,  144,  144,   31,  144,  144,  144,
467       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
468       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
469       144,   22,  144,  144,  144,  144,  144,  144,  144,  144,
470       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
471       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
472       144,  144,   26,  144,   27,  144,  144,  144,   66,  144,
473        67,  144,   64,  144,  144,  144,  144,  144,  144,  144,
474       144,  144,  144,  144,  144,  144,  144,    5,  144,  144,
475       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
476 
477       144,   82,  144,  144,  144,  144,  144,  144,  144,  144,
478       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
479       144,  144,  144,  144,  144,   23,  144,  144,  144,  144,
480       107,  106,  144,  144,  144,  144,  144,  144,  144,  144,
481       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
482       144,   34,  144,  144,  144,  144,  144,  144,  144,  144,
483        69,   68,  144,  144,  144,  144,  144,  144,  103,  144,
484       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
485       144,  144,  144,  144,  144,  144,  144,   50,  144,  144,
486       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
487 
488        54,  144,  144,  144,  144,  144,  144,  144,  144,  144,
489       144,  144,  144,  144,  144,  144,  144,  105,  144,  144,
490       144,  144,  144,  144,  144,  144,  144,    4,  144,  144,
491       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
492       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
493       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
494       100,  144,  144,  144,  144,  144,  144,  144,  115,  101,
495       144,   21,  144,  144,  144,  144,   71,  144,   72,   70,
496       144,  144,  144,  144,  144,  144,   78,  144,  144,  144,
497       144,  144,  144,  144,  144,  144,  102,  144,  144,  144,
498 
499       144,  125,  144,  144,  144,  144,  144,  144,  144,  144,
500       144,  144,  144,   62,  144,  144,  144,  144,  144,  144,
501       144,  144,   28,  144,  144,   17,  144,  144,  144,   16,
502       144,   87,  144,  144,  144,  144,  144,  144,  144,  144,
503       144,  144,  144,  144,   41,   42,  144,  144,  144,  144,
504       144,  144,  144,  144,  144,  144,   73,  144,  144,  144,
505       144,  144,   77,  144,  144,  144,  144,  144,  144,  144,
506       144,  144,  144,  144,  144,  144,  144,   81,  144,  144,
507       144,  144,  144,  144,  144,  144,  144,  144,  144,  120,
508       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
509 
510       144,  144,  144,  144,  144,   91,  144,   95,  144,  144,
511       144,  144,   76,  144,  144,  113,  144,  144,  144,  144,
512       144,  144,  144,  144,  144,  144,  144,  144,  144,   94,
513       144,  144,  144,  144,   43,   44,  144,   49,   96,  144,
514       108,  104,  144,  144,   37,  144,   98,  144,  144,  144,
515       144,  144,    7,  144,   61,  112,  144,  144,  144,  144,
516       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
517       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
518        83,  144,  144,  122,  144,  144,  144,  144,  144,  144,
519       144,  144,  144,  144,  144,  144,   97,  144,   36,   38,
520 
521       144,  144,  144,  144,  144,   60,  144,  144,  144,  144,
522       116,   18,   19,  144,  144,  144,  144,  144,  144,   58,
523       144,  144,  144,  144,  144,  144,  144,  144,  144,  118,
524       144,  144,   35,  144,  144,  144,  144,  144,  144,   11,
525       144,  144,  144,  144,  144,  144,  144,   10,  144,  144,
526        39,  144,  124,  117,  144,  144,  144,  144,  144,  144,
527       144,  144,  144,  144,   90,   89,  144,  119,  114,  144,
528       144,  144,  144,  144,  144,  144,  144,  144,  144,   45,
529       144,  123,  144,  144,  144,  144,   40,  144,  144,  144,
530        84,   86,  144,  144,  144,   88,  144,  144,  144,  144,
531 
532       144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
533        24,  144,  144,  144,  144,  144,  144,  144,  144,  144,
534       144,  144,  144,  111,  144,  144,  144,  144,  144,  144,
535       144,   25,  144,    9,  144,  144,  109,   51,  144,  144,
536       144,   93,  144,   74,  144,  144,  144,   53,   57,   52,
537       144,   46,  144,    8,  144,  144,   92,  144,  144,  144,
538        56,  144,   47,  144,  110,  144,  144,   85,   75,   55,
539        48,  144,  144,  144,  144,   59,  144,  144,  144,  144,
540        99,    0
541     } ;
542 
543 static yyconst flex_int32_t yy_ec[256] =
544     {   0,
545         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
546         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
547         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
548         1,    2,    1,    5,    6,    1,    1,    1,    7,    1,
549         1,    1,    1,    1,    8,    1,    1,    1,    1,    1,
550         9,   10,    1,   11,    1,    1,    1,   12,    1,    1,
551         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
552         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
553         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
554         1,   13,    1,    1,    1,    1,   14,   15,   16,   17,
555 
556        18,   19,   20,   21,   22,   23,   24,   25,   26,   27,
557        28,   29,   30,   31,   32,   33,   34,   35,   36,   37,
558        38,   39,    1,    1,    1,    1,    1,    1,    1,    1,
559         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
560         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
561         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
562         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
563         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
564         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
565         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
566 
567         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
568         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
569         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
570         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
571         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
572         1,    1,    1,    1,    1
573     } ;
574 
575 static yyconst flex_int32_t yy_meta[40] =
576     {   0,
577         1,    2,    3,    4,    5,    1,    6,    1,    1,    1,
578         1,    7,    1,    1,    1,    1,    1,    1,    1,    1,
579         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
580         1,    1,    1,    1,    1,    1,    1,    1,    1
581     } ;
582 
583 static yyconst flex_int16_t yy_base[1397] =
584     {   0,
585         0,    0,   37,   40,   44,   51,   63,   75,   56,   68,
586        87,  108, 2653, 2569,   50, 2760, 2760, 2760,  129,   94,
587        70,  104,  122,   90,   92,  115,  126,   95,   84,  132,
588       135,  138,   50,  146,  148,  157,  167,  160,  151, 2566,
589      2760, 2760, 2760,   70, 2404, 2760, 2760, 2760,   42, 2139,
590      1931, 2760, 2760, 2760,  189, 1601, 2760, 2760, 2760,  195,
591      1479, 2760,  199, 2760,  203,  111,  635,  209,  120,    0,
592       220,    0,    0,  103,  141,  149,  202,  189,  182,  204,
593       206,  210,  218,  215,  217,  221,  222,  223,  225,  228,
594       235,  248,  165,  244,  247,  233,  245,  252,  246,  251,
595 
596       258,  260,  261,  262,  267,  263,  270,  271,  158,  274,
597       276,  280,  277,  278,  282,  286,  283,   49,  287,  291,
598       288,  588,  304,  558,  307,  386,  316,  354,  297,  320,
599       236,  324,  328,    0,  321,  309,  330,  323,  226,  326,
600       327,  334,  331,  337,  348,  339,  342,  344,  333,  346,
601       353,  345,  351,  355,  354,  360,  363,  371,  373,  379,
602       375,  382,  383,  381,  380,  392,  393,  399,  400,  396,
603       402,  384,  405,  385,  406,  397,  409,  410,  413,  418,
604       421,  419,  420,  417,  428,  425,  426,  438,  445,  430,
605       431,  434,  442,  446,  447,  448,  451,  454,  455,  457,
606 
607       458,  464,  461,  466,  467,  468,  473,  476,  474,  478,
608       484,  490,  475,  483,  486,  487,  491,  493,  494,  496,
609       502,  503,  504,  505,  509,  499,  510,  512,  526,  514,
610       527,  515,  519,  531,  537,  533,  541,  539,  543,  549,
611       545,  546,  547,  548,  553,  555,  561,  566,  557,  559,
612       567,  570,  568,  590,  560,  576,  577,  580,  586,  583,
613       596,  587,  595,  597,  613,  594,  611,  615,  619,  618,
614       584,  621,  622,  624,  517,  623,  628,  630,  631,  627,
615       629,  634,  649,  645,  646,  648,  647,  654,  661,  657,
616       658,  659,  662,  663,  665,  668,  672, 2760,  674,  669,
617 
618       676,  677,  679, 2760,  680,  681,  682,  683,  685,  692,
619       694,  695,  697,  698,  699,  703,  704,  705,  725,  707,
620       706,  716,  709,  734,  713,  736,  715,  728,  732,  723,
621       739,  743,  710,  744,  745,  746,  754,  752,  753,  755,
622       757,  758,  762,  766,  765,  772,  773,  777,  779,  787,
623       784,  789,  790,  781,  791,  793,  799,  800,  798,  792,
624       806,  805,  795,  808,  813,  807,  822,  815,  818,  819,
625       826,  827,  828,  830,  829,  837,  836,  835,  844,  834,
626       843,  848,  849,  850,  851,  860,  857,  858,  863,  869,
627       870,  865,  871,  874,  875,  876,  877,  878,  879,  883,
628 
629       885,  886,  894,  880,  890,  896,  902,  904,  887,  905,
630       908,  909,  910,  911,  919,  912,  921,  913,  923,  926,
631       929,  934,  925,  935, 2760,  945,  939,  941,  933,  759,
632       927, 2760, 2760,  947, 2760, 2760,  948,  949,  950,  961,
633       965,  958,  952,  960,  959,  974,  968,  978,  966,  986,
634       988,  971,  980,  982,  989,  992,  990,  994,  998,  996,
635      1004, 1007, 1006, 1008, 1010, 1011, 1013, 1015, 1016, 1022,
636      1017, 1029, 1026, 2760, 1027, 1028, 1032, 1034, 1035, 2760,
637      1036, 1039, 1037, 1040, 1041, 1047, 1043, 1050, 1048, 1051,
638      1053, 1055, 1059, 1056, 1061, 1073, 1074, 1064, 1072, 1077,
639 
640      1071, 1079, 1086, 1085, 1087, 1089, 1095, 1091, 1094, 1097,
641      1098, 1099, 1100, 1101, 1104, 1126, 1106, 1107, 1108, 1109,
642      1114, 1115, 1116, 1117, 1132, 1138, 1140, 1120, 1141, 1147,
643      1149, 1143, 1152, 1150, 1156, 1157, 2760, 1163, 1159, 1160,
644      1165, 1167, 1168, 1112, 1170, 1171, 1173, 1174, 1175, 1182,
645      2760, 1180, 1183, 1181, 1185, 1186, 1192, 1194, 1204, 1200,
646      2760, 1207, 1208, 1210, 1211, 1198, 1214, 1215, 1216, 1219,
647      1222, 1223, 1225, 1230, 1232, 1220, 1234, 1227, 1233, 1235,
648      1240, 1242, 1243, 1244, 1246, 1250, 1256, 1259, 1257, 1264,
649      1258, 1260, 1266, 1269, 1267, 1270, 1268, 1271, 2760,  175,
650 
651      1275, 1273, 1280, 1281, 1291, 1290, 1283, 1284, 1294, 1292,
652      1293, 1282, 1303, 1304, 1305, 1306, 1309, 1310, 1312, 1313,
653      1316, 1318, 1319, 1320, 1321, 1323, 1324, 1329, 1326, 1327,
654      1330, 2760, 1343, 1336, 1337, 1346, 1348, 1356, 1349, 1352,
655      1354, 1362, 1358, 1364, 1367, 1360, 1370, 1371, 1373, 1374,
656      1380, 1382, 1378, 1381, 1384, 1386, 2760, 1390, 1388, 1389,
657      1391, 1395, 1396, 1399, 1401, 1406, 1409, 1410, 1412, 2760,
658      1415, 1416, 1417, 1423, 1420, 1427, 1424, 1433, 1428, 1430,
659      1434, 1438, 1437, 1439, 1444, 2760, 1446, 1452, 1449, 1458,
660      1450, 1456, 1457, 1461, 1462, 1463, 1469, 1465, 1467, 1466,
661 
662      1470, 1472, 1473, 1476, 1474, 1478, 2760, 1496, 1477, 1481,
663      1488, 1489, 1480, 1501, 1490, 1502, 1504, 1509, 1506, 1510,
664      1512, 1511, 1513, 1514, 1517, 1520, 1522, 1528, 1534, 1535,
665      1536, 2760, 1539, 1540, 1527, 1542, 1549, 1547, 1550, 1551,
666      1552, 1553, 1554, 1562, 1555, 1556, 1558, 1563, 1559, 1564,
667      1565, 1566, 1571, 1579, 1568, 1584, 1586, 1588, 1589, 1591,
668      1590, 1597, 2760, 1596, 2760, 1598, 1599, 1607, 2760, 1605,
669      2760, 1609, 2760, 1612, 1616, 1611, 1613, 1618, 1619, 1621,
670      1622, 1624, 1627, 1628, 1629, 1631, 1630, 2760, 1636, 1632,
671      1640, 1637, 1643, 1644, 1645, 1648, 1656, 1652, 1655, 1659,
672 
673      1660, 2760, 1662, 1661, 1665, 1675, 1673, 1671, 1676, 1677,
674      1678, 1679, 1680, 1682, 1687, 1688, 1684, 1690, 1691, 1696,
675      1694, 1698, 1699, 1700, 1701, 2760, 1703, 1709, 1712, 1711,
676      2760, 2760, 1714, 1723, 1725, 1715, 1728, 1717, 1729, 1733,
677      1739, 1744, 1732, 1735, 1740, 1745, 1746, 1747, 1749, 1751,
678      1754, 2760, 1760, 1756, 1762, 1763, 1753, 1766, 1764, 1775,
679      2760, 2760, 1768, 1770, 1779, 1780, 1782, 1785, 2760, 1781,
680      1786, 1787, 1788, 1789, 1791, 1795, 1796, 1805, 1802, 1807,
681      1808, 1814, 1810, 1806, 1815, 1813, 1826, 2760, 1823, 1828,
682      1834, 1817, 1830, 1831, 1836, 1833, 1840, 1842, 1848, 1844,
683 
684      2760, 1850, 1837, 1857, 1846, 1859, 1860, 1867, 1854, 1856,
685      1863, 1864, 1865, 1870, 1872, 1874, 1877, 2760, 1878, 1880,
686      1881, 1882, 1885, 1888, 1890, 1892, 1893, 2760, 1895, 1904,
687      1901, 1903, 1906, 1902, 1908, 1911, 1912, 1913, 1915, 1916,
688      1919, 1924, 1925, 1934, 1926, 1929, 1940, 1938, 1949, 1950,
689      1939, 1957, 1942, 1955, 1946, 1953, 1961, 1960, 1967, 1963,
690      2760, 1965, 1970, 1972, 1973, 1976, 1974, 1977, 2760, 2760,
691      1983, 2760, 1984, 1987, 1988, 1989, 2760, 1991, 2760, 2760,
692      1992, 1999, 1993, 2000, 1964, 2003, 2760, 2004, 2007, 2008,
693      2012, 2013, 2014, 2016, 2015, 2017, 2760, 2018, 2019, 2020,
694 
695      2022, 2760, 2029, 2035, 2024, 2036, 2040, 2039, 2046, 2045,
696      2032, 2053, 2049, 2760, 2047, 2055, 2057, 2058, 2059, 2060,
697      2064, 2065, 2760, 2067, 2074, 2760, 2075, 2061, 2076, 2760,
698      2078, 2760, 2080, 2082, 2085, 2090, 2087, 2098, 2083, 2091,
699      2099, 2093, 2101, 2103, 2760, 2760, 2105, 2109, 2112, 2110,
700      2115, 2117, 2116, 2118, 2119, 2124, 2760, 2125, 2127, 2126,
701      2128, 2129, 2760, 2133, 2134, 2135, 2138, 2141, 2153, 2155,
702      2144, 2159, 2161, 2156, 2163, 2165, 2166, 2760, 2167, 2169,
703      2170, 2174, 2176, 2130, 2177, 2181, 2179, 2171, 2184, 2760,
704      2187, 2188, 2191, 2193, 2195, 2196, 2198, 2199, 2200, 2203,
705 
706      2204, 2206, 2209, 2210, 2213, 2760, 2211, 2760, 2216, 2226,
707      2229, 2232, 2760, 2220, 2222, 2760, 2236, 2237, 2244, 2245,
708      2247, 2252, 2248, 2238, 2255, 2240, 2256, 2262, 2263, 2760,
709      2230, 2265, 2264, 2266, 2760, 2760, 2273, 2760, 2760, 2276,
710      2760, 2760, 2277, 2279, 2760, 2281, 2760, 2288, 2284, 2271,
711      2267, 2286, 2760, 2293, 2760, 2760, 2290, 2294, 2297, 2298,
712      2300, 2302, 2305, 2306, 2307, 2308, 2309, 2310, 2312, 2314,
713      2315, 2228, 2316, 2317, 2319, 2323, 2326, 2328, 2329, 2339,
714      2760, 2327, 2340, 2760, 2347, 2342, 2335, 2331, 2348, 2352,
715      2353, 2355, 2361, 2358, 2357, 2359, 2760, 2362, 2760, 2760,
716 
717      2360, 2364, 2370, 2363, 2365, 2760, 2375, 2371, 2385, 2387,
718      2760, 2760, 2760, 2388, 2377, 2382, 2392, 2393, 2394, 2760,
719      2395, 2396, 2400, 2403, 2407, 2409, 2416, 2413, 2415, 2760,
720      2417, 2419, 2760, 2420, 2421, 2424, 2426, 2427, 2429, 2760,
721      2425, 2430, 2437, 2432, 2440, 2442, 2443, 2760, 2445, 2446,
722      2760, 2452, 2760, 2760, 2447, 2455, 2457, 2462, 2464, 2453,
723      2458, 2470, 2469, 2473, 2760, 2760, 2474, 2760, 2760, 2466,
724      2475, 2476, 2478, 2481, 2482, 2484, 2486, 2489, 2488, 2760,
725      2490, 2760, 2491, 2500, 2492, 2494, 2760, 2501, 2502, 2505,
726      2760, 2760, 2506, 2515, 2513, 2760, 2518, 2517, 2519, 2520,
727 
728      2525, 2527, 2521, 2528, 2531, 2529, 2507, 2532, 2541, 2543,
729      2760, 2545, 2542, 2546, 2550, 2553, 2554, 2555, 2556, 2558,
730      2559, 2561, 2563, 2760, 2564, 2565, 2575, 2580, 2584, 2572,
731      2586, 2760, 2587, 2760, 2590, 2591, 2760, 2760, 2592, 2594,
732      2597, 2760, 2598, 2760, 2581, 2605, 2595, 2760, 2760, 2760,
733      2607, 2760, 2608, 2760, 2610, 2611, 2760, 2613, 2615, 2617,
734      2760, 2619, 2760, 2621, 2760, 2622, 2623, 2760, 2760, 2760,
735      2760, 2625, 2627, 2633, 2628, 2760, 2630, 2635, 2636, 2639,
736      2760, 2760, 2668, 2675, 2682, 2689, 2696,   94, 2703, 2710,
737      2717, 2724, 2731, 2738, 2745, 2752
738 
739     } ;
740 
741 static yyconst flex_int16_t yy_def[1397] =
742     {   0,
743      1382,    1, 1383, 1383, 1384, 1384, 1385, 1385, 1386, 1386,
744      1387, 1387, 1382, 1388, 1382, 1382, 1382, 1382, 1389, 1388,
745      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
746      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1390,
747      1382, 1382, 1382, 1390, 1391, 1382, 1382, 1382, 1391, 1392,
748      1382, 1382, 1382, 1382, 1392, 1393, 1382, 1382, 1382, 1393,
749      1394, 1382, 1395, 1382, 1394, 1394, 1388, 1388, 1382, 1396,
750      1389, 1396, 1389, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
751      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
752      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
753 
754      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
755      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
756      1388, 1390, 1390, 1391, 1391, 1392, 1392, 1382, 1393, 1393,
757      1394, 1394, 1395, 1395, 1394, 1388, 1388, 1388, 1388, 1388,
758      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
759      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
760      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
761      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
762      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
763      1394, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
764 
765      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
766      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
767      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
768      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
769      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
770      1388, 1388, 1388, 1388, 1388, 1388, 1394, 1388, 1388, 1388,
771      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
772      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
773      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
774      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388,
775 
776      1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388,
777      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
778      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
779      1388, 1388, 1388, 1388, 1388, 1394, 1388, 1388, 1388, 1388,
780      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
781      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
782      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
783      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
784      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
785      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
786 
787      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
788      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1394,
789      1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388,
790      1388, 1382, 1382, 1388, 1382, 1382, 1388, 1388, 1388, 1388,
791      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
792      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
793      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
794      1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1382,
795      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
796      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
797 
798      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1394,
799      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
800      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
801      1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388,
802      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
803      1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
804      1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
805      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
806      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
807      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1394,
808 
809      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
810      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
811      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
812      1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
813      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
814      1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388,
815      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382,
816      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
817      1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388,
818      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
819 
820      1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388,
821      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
822      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
823      1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
824      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
825      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
826      1388, 1388, 1382, 1388, 1382, 1388, 1388, 1388, 1382, 1388,
827      1382, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
828      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388,
829      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
830 
831      1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
832      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
833      1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388,
834      1382, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
835      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
836      1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
837      1382, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388,
838      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
839      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388,
840      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
841 
842      1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
843      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388,
844      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388,
845      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
846      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
847      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
848      1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1382,
849      1388, 1382, 1388, 1388, 1388, 1388, 1382, 1388, 1382, 1382,
850      1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388,
851      1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388,
852 
853      1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
854      1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388,
855      1388, 1388, 1382, 1388, 1388, 1382, 1388, 1388, 1388, 1382,
856      1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
857      1388, 1388, 1388, 1388, 1382, 1382, 1388, 1388, 1388, 1388,
858      1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388,
859      1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
860      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388,
861      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382,
862      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
863 
864      1388, 1388, 1388, 1388, 1388, 1382, 1388, 1382, 1388, 1388,
865      1388, 1388, 1382, 1388, 1388, 1382, 1388, 1388, 1388, 1388,
866      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382,
867      1388, 1388, 1388, 1388, 1382, 1382, 1388, 1382, 1382, 1388,
868      1382, 1382, 1388, 1388, 1382, 1388, 1382, 1388, 1388, 1388,
869      1388, 1388, 1382, 1388, 1382, 1382, 1388, 1388, 1388, 1388,
870      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
871      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
872      1382, 1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388,
873      1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1382, 1382,
874 
875      1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388,
876      1382, 1382, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1382,
877      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382,
878      1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388, 1382,
879      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382, 1388, 1388,
880      1382, 1388, 1382, 1382, 1388, 1388, 1388, 1388, 1388, 1388,
881      1388, 1388, 1388, 1388, 1382, 1382, 1388, 1382, 1382, 1388,
882      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1382,
883      1388, 1382, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388,
884      1382, 1382, 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388,
885 
886      1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
887      1382, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
888      1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388, 1388, 1388,
889      1388, 1382, 1388, 1382, 1388, 1388, 1382, 1382, 1388, 1388,
890      1388, 1382, 1388, 1382, 1388, 1388, 1388, 1382, 1382, 1382,
891      1388, 1382, 1388, 1382, 1388, 1388, 1382, 1388, 1388, 1388,
892      1382, 1388, 1382, 1388, 1382, 1388, 1388, 1382, 1382, 1382,
893      1382, 1388, 1388, 1388, 1388, 1382, 1388, 1388, 1388, 1388,
894      1382,    0, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
895      1382, 1382, 1382, 1382, 1382, 1382
896 
897     } ;
898 
899 static yyconst flex_int16_t yy_nxt[2800] =
900     {   0,
901        14,   15,   16,   17,   18,   19,   18,   14,   14,   14,
902        14,   18,   20,   21,   14,   22,   23,   24,   25,   14,
903        26,   27,   28,   29,   30,   31,   32,   33,   34,   14,
904        35,   36,   37,   38,   39,   14,   14,   14,   14,   41,
905        42,   43,   41,   42,   43,  124,   46,   47,  124,   44,
906        48,   69,   44,   46,   47,   70,   49,   48,   57,   58,
907        59,   68,   68,   49,   51,   52,   53,   54,   60,   18,
908        57,   58,   59,  122,  122,   55,   51,   52,   53,   54,
909        60,   18,   68,  103,  187,   74,   75,   55,   15,   16,
910        17,   62,   63,   64,   67,   67,   68,   67,   67,   65,
911 
912        67,   94,   68,   76,   68,   67,   84,   68,   66,   15,
913        16,   17,   62,   63,   64,   68,   68,   77,  136,   86,
914        65,   69,   93,  132,   78,   70,   85,   68,   87,   66,
915        72,   79,   72,   72,   68,   72,   88,  135,   68,   80,
916        72,   73,   89,   81,   68,   90,   82,   68,   96,   83,
917        68,  100,   91,   68,   92,  101,   97,  137,   68,   95,
918        68,   68,   98,   68,  120,  108,   99,  104,  121,   68,
919        68,  102,   68,  105,  111,  109,  106,   68,  110,   68,
920       115,  138,  116,  107,  112,  177,  118,  132,  113,  114,
921       126,  119,  126,  126,   68,  126,  158,  117,  129,  129,
922 
923        72,   68,   72,   72,  131,   72,  131,  131,  141,  131,
924        67,  134,   67,   67,   68,   67,   68,  139,   68,  140,
925        67,   72,   68,   72,   72,  145,   72,   68,  142,   68,
926        68,   72,   73,   68,   68,   68,  143,   68,   68,  151,
927        68,  147,  152,  146,  144,   68,  195,   68,  132,  148,
928       154,  149,  150,  155,  153,  157,   68,   68,   68,   68,
929        68,  159,  161,   68,   68,  166,  162,  156,  165,  163,
930        68,  164,   68,   68,   68,   68,  167,  168,  171,   68,
931       173,  160,   68,   68,  174,  169,   68,  180,   68,   68,
932        68,  182,   68,  170,   68,   68,  176,  172,   68,   68,
933 
934        68,  181,  175,   68,  188,  178,  179,  122,  122,  130,
935       124,  183,  184,  124,  185,  189,  186,  126,  190,  126,
936       126,   68,  126,  129,  129,  131,  192,  131,  131,   72,
937       131,   72,   72,  132,   72,   68,  191,  193,   68,   68,
938       134,  198,   68,   68,  201,   68,   68,  199,  200,   68,
939       194,   68,  207,  196,   68,  128,   68,   68,   68,  197,
940        68,  209,  211,   68,  202,   68,   68,   68,  210,  203,
941       212,  213,   68,  208,  204,   68,  219,  218,  214,  215,
942       205,  206,  216,   68,  217,   68,  222,   68,  223,  224,
943       226,   68,   68,   68,   68,   68,   68,   68,  127,  229,
944 
945       225,  221,  227,  220,   68,   68,  231,  232,   68,   68,
946       230,   68,   68,  228,   68,  233,  235,   68,   68,  237,
947       234,   68,   68,  236,  239,   68,  238,  241,  245,   68,
948        68,   68,   68,   68,  247,  249,  248,   68,   68,  251,
949        68,  240,   68,  132,  255,  252,   68,  242,  243,  244,
950        68,  246,  254,  260,   68,  257,  250,   68,   68,   68,
951        68,  256,  259,   68,  261,  258,   68,   68,  253,   68,
952        68,  267,  266,   68,  264,  262,   68,  268,   68,   68,
953        68,  263,  271,  274,  272,   68,   68,   68,   68,  269,
954        68,  276,  265,  270,  273,   68,   68,  278,   68,   68,
955 
956       275,  277,   68,   68,  283,   68,   68,  279,   68,  287,
957       285,   68,  282,  280,   68,   68,   68,   68,  288,  281,
958       286,   68,   68,  284,   68,  298,   68,   68,  289,   68,
959       292,   68,  293,  355,  290,  294,  295,  291,   68,   68,
960       296,  297,  299,   68,  300,   68,  302,  301,  304,   68,
961       305,   68,  303,   68,  306,   68,  309,   68,   68,   68,
962        68,   68,  312,  311,  313,   68,  307,   68,  319,   68,
963       125,   68,   68,   68,  314,  308,  318,  310,   68,   68,
964        68,  315,   68,  320,  316,  324,  317,  334,   68,  132,
965       321,  322,   68,  323,  326,   68,   68,  335,   68,   68,
966 
967       123,  325,   68,  340,  327,  328,   68,   68,   68,   68,
968       336,  337,  351,  338,  329,  339,  330,  331,  332,  341,
969       344,  333,  342,   68,  343,   68,  345,   68,  348,  349,
970        68,   68,  347,   68,   68,   68,   68,  346,  354,   68,
971        68,   68,   68,   68,  361,  362,   68,   68,  353,  352,
972       350,  358,  360,  356,  357,  363,  364,   68,   68,   68,
973        68,   68,  366,  365,  359,  367,   68,  369,  370,   68,
974        68,   68,  368,   68,   68,   68,  375,   68,  374,  372,
975        68,   68,  376,  373,   68,  378,   68,  379,   68,   68,
976       371,   68,   68,   68,   68,   68,  381,   68,  382,  389,
977 
978       387,  377,  380,  383,   68,  388,   68,   68,  386,   68,
979        68,   68,  384,  385,  393,   68,   68,   68,   68,   68,
980       395,   68,   68,  405,  390,   68,  394,   68,   68,  391,
981       392,  417,  396,  406,  404,   68,  397,   68,  398,  403,
982        68,  407,  411,  399,   68,  400,   68,  408,   68,  410,
983       409,   68,  412,  401,  414,   68,   68,   68,  132,  413,
984       416,  421,  420,  402,   68,   68,   68,   68,  425,   68,
985        68,   68,  419,  415,   68,  418,  422,   68,   68,  520,
986       424,  428,  426,  423,   68,   68,  427,  430,  432,   68,
987       433,   68,  429,   68,  434,  435,   68,  437,  431,   68,
988 
989       436,   68,   68,   68,   68,   68,  441,   68,  439,  440,
990        68,   68,   68,  445,  438,  443,  442,   68,   68,   68,
991        68,  447,  446,  448,  444,   68,  451,   68,  449,  453,
992        68,   68,  450,  455,   68,  456,  454,  452,   68,   68,
993        68,   68,   68,  458,  463,  460,   68,   68,   68,   68,
994       465,  467,  459,  462,  464,   68,   68,  457,  461,  466,
995        68,   68,   68,   68,  475,  471,  470,  473,  472,   68,
996        68,  474,   68,  468,  469,   68,  479,   68,  477,  476,
997       480,   68,   68,   68,  481,  483,   68,   68,   68,   68,
998        68,   68,   68,  478,  488,   68,  482,   68,   68,   68,
999 
1000       489,  493,   68,  495,  484,  485,   68,  486,   68,  487,
1001       490,  494,  496,  492,   68,  491,   68,   68,  499,  497,
1002        68,   68,   68,   68,   68,   68,  502,  501,  504,  503,
1003       500,   68,  498,   68,  508,   68,  505,   68,  132,   68,
1004       507,   68,  506,  510,  511,   68,   68,   68,  514,  509,
1005       512,   68,  516,   68,  521,  517,  515,   68,  513,   68,
1006        68,   68,   68,  519,   68,  518,  525,  524,  526,  523,
1007        68,   68,   68,   68,  536,  533,  522,   68,   68,  527,
1008        68,  528,  534,   68,  529,  537,   68,  538,  543,  530,
1009        68,  539,   68,  540,   68,  531,  532,  535,   68,  541,
1010 
1011        68,   68,   68,  542,   68,  547,   68,  551,   68,  546,
1012        68,  552,  544,  545,  553,  550,   68,  548,   68,   68,
1013        68,  554,   68,   68,  549,   68,  555,   68,   68,   68,
1014       556,  557,  559,  561,   68,  560,  563,  562,   68,   68,
1015        68,   68,  565,  558,   68,  567,   68,   68,   68,   68,
1016       569,   68,   68,   68,  566,   68,  572,  564,  570,   68,
1017        68,  568,   68,   68,  577,   68,  578,   68,   68,  571,
1018       573,   68,  574,   68,  581,  575,   68,  583,  579,  576,
1019       586,  582,  580,   68,   68,   68,   68,  585,  584,   68,
1020       587,   68,  592,  593,  590,  588,  589,   68,   68,   68,
1021 
1022       594,   68,  597,   68,  591,  599,   68,   68,  600,  132,
1023        68,   68,   68,   68,  596,  602,   68,  595,   68,   68,
1024        68,   68,  611,  598,   68,  601,   68,   68,   68,   68,
1025       605,  603,   68,  640,  612,  618,  614,  604,   68,  619,
1026       615,  606,  617,  607,   68,  613,  625,  608,  616,  609,
1027        68,  620,   68,   68,  610,   68,  621,  624,  622,   68,
1028       627,   68,   68,  629,   68,  626,  628,  632,   68,   68,
1029       634,   68,   68,  633,  635,   68,  623,   68,  630,   68,
1030        68,  631,   68,   68,  638,   68,   68,   68,  642,  646,
1031       637,  636,   68,   68,   68,   68,  645,   68,   68,  639,
1032 
1033       644,  641,  650,  651,   68,  643,   68,  655,  649,  652,
1034        68,  647,   68,  648,  656,  653,   68,  654,  657,   68,
1035        68,  658,   68,   68,  659,  660,   68,   68,   68,  663,
1036       662,   68,   68,  665,   68,   68,  666,   68,  661,   68,
1037       667,  670,   68,  669,   68,   68,   68,   68,  664,  673,
1038       672,  668,   68,  671,   68,   68,   68,  674,   68,  678,
1039       679,  681,   68,  683,  675,  677,  684,  676,   68,   68,
1040        68,   68,   68,  682,  680,  686,   68,  690,   68,   68,
1041        68,   68,   68,   68,  685,   68,  688,   68,  698,  687,
1042       689,  692,   68,   68,   68,   68,   68,  691,  699,  693,
1043 
1044       696,  695,   68,   68,   68,   68,   68,  700,  694,  701,
1045       702,  703,  697,  706,  707,   68,   68,   68,   68,  704,
1046       705,   68,   68,  710,   68,   68,  709,  712,   68,  714,
1047        68,   68,   68,   68,  708,   68,   68,  715,   68,   68,
1048       711,   68,   68,  713,  718,  716,  717,  722,   68,   68,
1049       726,  725,  719,  723,  721,   68,  720,  728,   68,  724,
1050        68,   68,  727,  731,   68,  730,   68,  732,   68,  736,
1051        68,  737,   68,  740,   68,  735,   68,  734,  729,   68,
1052       733,  738,   68,   68,  739,   68,   68,  745,  742,  746,
1053        68,  741,   68,   68,   68,  747,   68,  748,   68,  743,
1054 
1055        68,   68,   68,   68,  744,  749,  754,   68,   68,  753,
1056       750,   68,  751,   68,  752,  755,  759,  757,   68,  756,
1057       763,   68,   68,  765,   68,  760,  758,   68,   68,   68,
1058       766,  761,   68,  767,  769,   68,   68,  764,  771,   68,
1059        68,  772,   68,  762,  773,   68,   68,  775,  768,   68,
1060        68,   68,  770,  781,  776,  777,   68,  779,   68,  782,
1061       774,   68,   68,  780,   68,  784,  783,  778,   68,   68,
1062        68,  785,  788,   68,   68,   68,  791,   68,   68,   68,
1063       787,   68,   68,  795,   68,   68,   68,  786,   68,   68,
1064        68,  132,   68,   68,  789,  800,  794,  792,  790,  793,
1065 
1066        68,   68,   68,  801,  796,  805,  798,  802,   68,  799,
1067       797,  804,  807,   68,   68,  803,   68,  808,   68,  806,
1068       809,   68,   68,   68,   68,   68,   68,  814,  816,   68,
1069       811,  815,   68,  810,   68,  818,  812,  813,  820,   68,
1070        68,  823,  824,  817,  819,  822,   68,   68,   68,  825,
1071       826,   68,   68,  828,   68,  821,  830,  827,  832,   68,
1072       831,   68,   68,   68,   68,   68,   68,   68,   68,  838,
1073        68,   68,  837,  829,   68,   68,   68,   68,   68,  846,
1074        68,  833,  834,   68,  836,  843,  839,  840,  847,  841,
1075       835,   68,  845,  849,  842,  848,   68,  844,   68,  852,
1076 
1077        68,   68,   68,   68,  856,  850,  853,  854,   68,   68,
1078        68,   68,  859,  130,  860,  858,  861,   68,  851,   68,
1079       862,   68,  855,   68,   68,   68,  857,  863,   68,  864,
1080        68,   68,  869,   68,   68,  867,   68,  871,  865,   68,
1081        68,   68,   68,   68,   68,  874,  868,  876,   68,   68,
1082       866,  873,   68,  879,  870,   68,   68,   68,  878,  883,
1083        68,  872,  875,  885,   68,  884,  877,   68,   68,  880,
1084       888,   68,   68,   68,   68,  881,  882,   68,  889,  890,
1085       892,  887,  893,   68,  886,   68,  894,   68,   68,   68,
1086        68,   68,   68,  901,   68,  898,   68,  900,  891,   68,
1087 
1088        68,  895,   68,   68,  902,  909,   68,  896,   68,  897,
1089        68,   68,   68,   68,  899,   68,  904,  906,  903,  908,
1090       907,   68,  905,   68,   68,  918,   68,   68,  914,   68,
1091       913,  910,  911,  915,  912,   68,  916,   68,  919,  917,
1092        68,   68,  920,  921,   68,   68,  927,   68,  923,  922,
1093       924,   68,   68,  925,  926,  928,   68,   68,   68,   68,
1094       930,   68,  935,   68,  929,   68,   68,  938,   68,  940,
1095       931,  932,   68,  943,   68,   68,   68,  934,   68,  936,
1096        68,  941,   68,  933,  937,  942,  939,   68,  947,  944,
1097       945,   68,   68,   68,   68,  948,  946,   68,   68,   68,
1098 
1099        68,   68,  954,   68,  955,  956,  957,   68,   68,  949,
1100       951,  950,  958,  953,   68,  952,  961,   68,   68,   68,
1101        68,  965,   68,  960,  969,   68,   68,   68,  962,   68,
1102       959,  963,  964,  968,  966,   68,  967,  970,   68,  972,
1103        68,  973,   68,   68,  971,   68,   68,  977,   68,   68,
1104       974,  979,   68,  980,   68,  981,   68,  983,   68,  982,
1105        68,  975,   68,  976,  985,  978,   68,  984,   68,   68,
1106       987,   68,   68,  988,  989,   68,   68,   68,  990,   68,
1107       991,  997,   68,  986,   68,  992,   68,  999,  993,   68,
1108        68, 1002,   68,   68,   68,  994,  995,   68,  996, 1001,
1109 
1110        68, 1004,   68, 1007,   68,   68, 1005,   68, 1003, 1000,
1111       998, 1011, 1010,   68,   68,   68,   68, 1014,   68, 1015,
1112        68, 1009, 1013,   68,   68,   68, 1006,   68,   68, 1016,
1113      1008,   68,  128, 1012, 1021, 1023,   68,   68,   68, 1018,
1114      1022,   68, 1020, 1017, 1019, 1026,   68, 1029, 1024, 1030,
1115        68,   68,   68, 1025,   68, 1028, 1031, 1033,   68, 1027,
1116      1032,   68,   68, 1034, 1035,   68, 1036,   68, 1040,   68,
1117      1038, 1037,   68,   68, 1042,   68,   68,   68, 1062,   68,
1118      1044, 1045,   68, 1046,   68,   68,   68, 1043,   68,   68,
1119      1039, 1047, 1049, 1048, 1041,   68,   68, 1052, 1050,   68,
1120 
1121        68,   68, 1057,   68,   68,   68, 1059, 1051, 1053, 1055,
1122      1056,   68,   68, 1061, 1063,   68,   68, 1054, 1058,   68,
1123        68, 1066, 1060, 1064,   68,   68,   68,   68,   68,   68,
1124        68,   68,   68, 1074,   68, 1073,   68, 1068, 1069, 1065,
1125      1070,   68, 1071, 1076,   68, 1067, 1078,   68,   68, 1072,
1126      1075,   68,   68, 1080, 1081, 1077, 1082,   68,   68,   68,
1127      1086,   68, 1079, 1083, 1085,   68, 1087,   68, 1090,   68,
1128        68,   68,   68,   68, 1094, 1084,   68,   68, 1088,   68,
1129      1092, 1089, 1091, 1093, 1097, 1095,   68,   68,   68, 1096,
1130        68, 1098,   68, 1100,   68,   68, 1102,   68, 1103,   68,
1131 
1132      1099, 1106,   68,   68, 1101,   68, 1105, 1110, 1107, 1108,
1133        68,   68, 1113,   68, 1109,   68, 1111,   68, 1112, 1104,
1134      1116,   68,   68, 1114,   68, 1117, 1115,   68,   68,   68,
1135        68,   68, 1119, 1120, 1118, 1122,   68,   68,   68,   68,
1136        68,   68,   68, 1121, 1130,   68,   68,   68, 1149, 1131,
1137        68,  127, 1128,   68, 1134, 1124,   68, 1123, 1126, 1127,
1138      1132, 1125, 1129, 1133, 1135,   68, 1136,   68,   68, 1137,
1139      1138,   68, 1139,   68, 1141,   68, 1142,   68,   68,   68,
1140      1145,   68,   68,   68, 1144, 1147,   68, 1140,   68,   68,
1141      1153,   68, 1150,   68, 1151, 1155,   68, 1143, 1156,   68,
1142 
1143        68, 1146, 1154,   68, 1158,   68, 1148,   68,   68, 1152,
1144        68,   68,   68, 1161, 1159,   68,   68, 1169,   68, 1160,
1145      1165,   68,   68,   68, 1163,   68, 1157, 1167,   68, 1170,
1146      1168, 1166,   68, 1164,   68, 1162, 1174, 1172,   68, 1173,
1147        68,   68,   68, 1171,   68, 1175, 1178, 1177,   68,   68,
1148        68, 1179,   68, 1176, 1180, 1181,   68,   68, 1192,   68,
1149        68, 1182, 1183, 1184,   68, 1185, 1222,   68,   68, 1190,
1150      1186, 1187, 1188, 1189,   68,   68,   68,   68,   68,   68,
1151      1195, 1191, 1193,   68, 1194,   68, 1196, 1197,   68,   68,
1152      1199,   68, 1200,   68, 1198, 1201,   68, 1202,   68, 1203,
1153 
1154        68, 1204,   68, 1205, 1206,   68,   68, 1207, 1208,   68,
1155        68, 1211,   68, 1212,   68, 1210, 1213,   68,   68,   68,
1156        68,   68,   68, 1209,   68, 1220,   68,   68,   68,   68,
1157      1214,   68, 1216, 1217, 1218,   68, 1221, 1215,   68,   68,
1158        68,   68, 1224,   68, 1219, 1228, 1229,   68, 1223, 1226,
1159      1230,   68,   68, 1232,   68, 1225, 1227, 1231, 1233,   68,
1160        68, 1236, 1235, 1234,   68,   68, 1240,   68, 1241,   68,
1161        68,   68,   68,   68,   68,   68,   68,   68, 1237, 1247,
1162      1238, 1248,   68,   68, 1239, 1242, 1251,   68, 1243,   68,
1163      1249, 1244, 1246, 1245,   68, 1250, 1253,   68, 1254,   68,
1164 
1165        68, 1255, 1252, 1257,   68,   68,   68,   68,   68, 1258,
1166      1259, 1256,   68, 1262, 1260,   68,  125, 1263, 1265,   68,
1167      1266,   68, 1261, 1267, 1268,   68, 1269,   68,   68,   68,
1168      1264,   68,   68,   68, 1270, 1272,   68,   68,   68,   68,
1169      1276,   68,   68, 1271,   68, 1274, 1273, 1275, 1280,   68,
1170      1277, 1282,   68, 1281,   68,   68, 1278,   68,   68,   68,
1171      1284, 1279, 1283, 1287,   68,   68, 1285,   68, 1289,   68,
1172        68, 1286, 1290, 1291,   68, 1292,   68, 1295,   68, 1288,
1173      1296,   68,   68, 1293, 1294,   68,   68,   68,   68, 1297,
1174        68, 1302, 1298,   68,   68, 1300,   68, 1299,   68, 1304,
1175 
1176        68,   68,   68,   68,   68, 1309,   68, 1301, 1312, 1303,
1177      1307, 1311,   68,   68,   68, 1313, 1305,   68,   68,   68,
1178      1308, 1310, 1314, 1317, 1306,   68, 1315,   68, 1318,   68,
1179        68,   68,   68,   68, 1319, 1320, 1324,   68, 1321,   68,
1180        68,   68, 1316,   68,   68, 1330, 1329, 1323, 1325, 1326,
1181      1322, 1328, 1332,   68,   68,   68, 1334,   68,   68, 1327,
1182      1333, 1337,   68, 1331, 1338,   68,   68,   68,   68, 1342,
1183        68,   68, 1344,   68, 1335,   68,   68,   68,  123, 1340,
1184      1336,   68, 1347, 1343,   68, 1339, 1348,   68, 1341, 1351,
1185      1346, 1349,   68,   68, 1345, 1350,   68, 1352,   68,   68,
1186 
1187      1353, 1354,   68,   68,   68, 1357,   68,   68, 1355,   68,
1188        68, 1362, 1356, 1360, 1358, 1359, 1361,   68, 1363,   68,
1189        68, 1365,   68,   68, 1364,   68, 1368,   68, 1369,   68,
1190      1370,   68, 1371,   68,   68,   68, 1373,   68, 1366,   68,
1191        68, 1374,   68, 1367, 1376,   68, 1372,   68,   68, 1377,
1192      1381,   68, 1382, 1382, 1382, 1382, 1382, 1378, 1382, 1375,
1193      1382, 1379, 1382, 1382, 1382, 1382, 1382, 1380,   40,   40,
1194        40,   40,   40,   40,   40,   45,   45,   45,   45,   45,
1195        45,   45,   50,   50,   50,   50,   50,   50,   50,   56,
1196        56,   56,   56,   56,   56,   56,   61,   61,   61,   61,
1197 
1198        61,   61,   61,   71,   71, 1382,   71,   71,   71,   71,
1199       122,  122, 1382, 1382, 1382,  122,  122,  124,  124, 1382,
1200      1382,  124, 1382,  124,  126, 1382, 1382, 1382, 1382, 1382,
1201       126,  129,  129, 1382, 1382, 1382,  129,  129,  131, 1382,
1202      1382, 1382, 1382, 1382,  131,  133,  133, 1382,  133,  133,
1203       133,  133,   72,   72, 1382,   72,   72,   72,   72,   13,
1204      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
1205      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
1206      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
1207      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382
1208 
1209     } ;
1210 
1211 static yyconst flex_int16_t yy_chk[2800] =
1212     {   0,
1213         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1214         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1215         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1216         1,    1,    1,    1,    1,    1,    1,    1,    1,    3,
1217         3,    3,    4,    4,    4,   49,    5,    5,   49,    3,
1218         5,   15,    4,    6,    6,   15,    5,    6,    9,    9,
1219         9,  118,   33,    6,    7,    7,    7,    7,    9,    7,
1220        10,   10,   10,   44,   44,    7,    8,    8,    8,    8,
1221        10,    8,   21,   33,  118,   21,   21,    8,   11,   11,
1222        11,   11,   11,   11, 1388,   20,   29,   20,   20,   11,
1223 
1224        20,   29,   24,   21,   25,   20,   24,   28,   11,   12,
1225        12,   12,   12,   12,   12,   74,   22,   22,   74,   25,
1226        12,   69,   28,   66,   22,   69,   24,   26,   26,   12,
1227        19,   22,   19,   19,   23,   19,   26,   66,   27,   23,
1228        19,   19,   27,   23,   30,   27,   23,   31,   31,   23,
1229        32,   32,   27,   75,   27,   32,   31,   75,   34,   30,
1230        35,   76,   31,   39,   39,   35,   31,   34,   39,   36,
1231       109,   32,   38,   34,   36,   35,   34,   93,   35,   37,
1232        37,   76,   37,   34,   36,  109,   38,  600,   36,   36,
1233        55,   38,   55,   55,   79,   55,   93,   37,   60,   60,
1234 
1235        63,   78,   63,   63,   65,   63,   65,   65,   79,   65,
1236        68,   63,   68,   68,   77,   68,   80,   77,   81,   78,
1237        68,   71,   82,   71,   71,   83,   71,   84,   80,   85,
1238        83,   71,   71,   86,   87,   88,   81,   89,  139,   88,
1239        90,   84,   89,   83,   82,   96,  139,   91,  131,   85,
1240        91,   86,   87,   91,   90,   92,   94,   97,   99,   95,
1241        92,   94,   95,  100,   98,   99,   95,   91,   98,   96,
1242       101,   97,  102,  103,  104,  106,  100,  101,  104,  105,
1243       106,   94,  107,  108,  106,  102,  110,  112,  111,  113,
1244       114,  114,  112,  103,  115,  117,  108,  105,  116,  119,
1245 
1246       121,  113,  107,  120,  119,  110,  111,  123,  123,  129,
1247       125,  114,  115,  125,  116,  120,  117,  127,  121,  127,
1248       127,  136,  127,  130,  130,  132,  136,  132,  132,  133,
1249       132,  133,  133,  135,  133,  138,  135,  137,  140,  141,
1250       133,  142,  137,  143,  144,  149,  142,  142,  143,  144,
1251       138,  146,  146,  140,  147,  128,  148,  152,  150,  141,
1252       145,  148,  150,  153,  145,  151,  155,  154,  149,  145,
1253       151,  152,  156,  147,  145,  157,  157,  156,  153,  154,
1254       145,  145,  154,  158,  155,  159,  160,  161,  161,  162,
1255       163,  160,  165,  164,  162,  163,  172,  174,  126,  166,
1256 
1257       162,  159,  164,  158,  166,  167,  168,  169,  170,  176,
1258       167,  168,  169,  165,  171,  170,  172,  173,  175,  174,
1259       171,  177,  178,  173,  176,  179,  175,  178,  181,  184,
1260       180,  182,  183,  181,  183,  185,  184,  186,  187,  187,
1261       185,  177,  190,  191,  190,  188,  192,  179,  180,  180,
1262       188,  182,  189,  194,  193,  191,  186,  189,  194,  195,
1263       196,  190,  193,  197,  195,  192,  198,  199,  188,  200,
1264       201,  201,  200,  203,  198,  196,  202,  202,  204,  205,
1265       206,  197,  205,  208,  206,  207,  209,  213,  208,  203,
1266       210,  210,  199,  204,  207,  214,  211,  212,  215,  216,
1267 
1268       209,  211,  212,  217,  217,  218,  219,  213,  220,  221,
1269       219,  226,  216,  214,  221,  222,  223,  224,  222,  215,
1270       220,  225,  227,  218,  228,  230,  230,  232,  223,  275,
1271       225,  233,  226,  275,  224,  227,  228,  224,  229,  231,
1272       229,  229,  231,  234,  232,  236,  233,  232,  235,  235,
1273       236,  238,  234,  237,  237,  239,  240,  241,  242,  243,
1274       244,  240,  243,  242,  243,  245,  238,  246,  247,  249,
1275       124,  250,  255,  247,  244,  239,  246,  241,  248,  251,
1276       253,  245,  252,  248,  245,  252,  245,  255,  256,  257,
1277       249,  250,  258,  251,  253,  260,  271,  256,  259,  262,
1278 
1279       122,  252,  254,  261,  254,  254,  266,  263,  261,  264,
1280       257,  258,  271,  259,  254,  260,  254,  254,  254,  262,
1281       265,  254,  263,  267,  264,  265,  266,  268,  269,  269,
1282       270,  269,  268,  272,  273,  276,  274,  267,  274,  280,
1283       277,  281,  278,  279,  280,  281,  282,   67,  273,  272,
1284       270,  278,  279,  276,  277,  282,  283,  284,  285,  287,
1285       286,  283,  285,  284,  278,  286,  288,  288,  289,  290,
1286       291,  292,  287,  289,  293,  294,  294,  295,  293,  291,
1287       296,  300,  295,  292,  297,  297,  299,  299,  301,  302,
1288       290,  303,  305,  306,  307,  308,  301,  309,  302,  310,
1289 
1290       308,  296,  300,  303,  310,  309,  311,  312,  307,  313,
1291       314,  315,  305,  306,  314,  316,  317,  318,  321,  320,
1292       316,  323,  333,  322,  311,  325,  315,  327,  322,  312,
1293       313,  333,  317,  322,  321,  330,  318,  319,  319,  320,
1294       328,  323,  327,  319,  329,  319,  324,  324,  326,  326,
1295       325,  331,  328,  319,  330,  332,  334,  335,  336,  329,
1296       332,  337,  336,  319,  338,  339,  337,  340,  341,  341,
1297       342,  430,  335,  331,  343,  334,  338,  345,  344,  430,
1298       340,  344,  342,  339,  346,  347,  343,  346,  348,  348,
1299       349,  349,  345,  354,  350,  351,  351,  353,  347,  350,
1300 
1301       352,  352,  353,  355,  360,  356,  357,  363,  355,  356,
1302       359,  357,  358,  361,  354,  359,  358,  362,  361,  366,
1303       364,  363,  362,  364,  360,  365,  365,  368,  364,  367,
1304       369,  370,  364,  369,  367,  370,  368,  366,  371,  372,
1305       373,  375,  374,  371,  376,  373,  380,  378,  377,  376,
1306       378,  380,  372,  375,  377,  381,  379,  370,  374,  379,
1307       382,  383,  384,  385,  387,  384,  383,  386,  385,  387,
1308       388,  386,  386,  381,  382,  389,  390,  392,  389,  388,
1309       390,  390,  391,  393,  391,  393,  394,  395,  396,  397,
1310       398,  399,  404,  389,  398,  400,  392,  401,  402,  409,
1311 
1312       399,  403,  405,  405,  394,  395,  403,  396,  406,  397,
1313       400,  404,  406,  402,  407,  401,  408,  410,  409,  407,
1314       411,  412,  413,  414,  416,  418,  412,  411,  414,  413,
1315       410,  415,  408,  417,  418,  419,  415,  423,  420,  431,
1316       417,  421,  416,  420,  421,  429,  422,  424,  424,  419,
1317       422,  427,  426,  428,  431,  427,  424,  426,  423,  434,
1318       437,  438,  439,  429,  443,  428,  439,  438,  440,  437,
1319       442,  445,  444,  440,  445,  442,  434,  441,  449,  441,
1320       447,  441,  443,  452,  441,  446,  446,  447,  452,  441,
1321       448,  448,  453,  449,  454,  441,  441,  444,  450,  450,
1322 
1323       451,  455,  457,  451,  456,  456,  458,  460,  460,  455,
1324       459,  461,  453,  454,  462,  459,  461,  457,  463,  462,
1325       464,  463,  465,  466,  458,  467,  464,  468,  469,  471,
1326       465,  466,  468,  470,  470,  469,  472,  471,  473,  475,
1327       476,  472,  475,  467,  477,  477,  478,  479,  481,  483,
1328       479,  482,  484,  485,  476,  487,  482,  473,  479,  486,
1329       489,  478,  488,  490,  487,  491,  488,  492,  494,  481,
1330       483,  493,  484,  495,  491,  485,  498,  493,  489,  486,
1331       496,  492,  490,  501,  499,  496,  497,  495,  494,  500,
1332       497,  502,  502,  503,  500,  498,  499,  504,  503,  505,
1333 
1334       504,  506,  507,  508,  501,  509,  509,  507,  510,  510,
1335       511,  512,  513,  514,  506,  512,  515,  505,  517,  518,
1336       519,  520,  517,  508,  544,  511,  521,  522,  523,  524,
1337       515,  513,  528,  544,  518,  524,  520,  514,  516,  525,
1338       521,  516,  523,  516,  525,  519,  528,  516,  522,  516,
1339       526,  526,  527,  529,  516,  532,  526,  527,  526,  530,
1340       530,  531,  534,  532,  533,  529,  531,  535,  535,  536,
1341       538,  539,  540,  536,  539,  538,  526,  541,  533,  542,
1342       543,  534,  545,  546,  542,  547,  548,  549,  546,  550,
1343       541,  540,  552,  554,  550,  553,  549,  555,  556,  543,
1344 
1345       548,  545,  555,  556,  557,  547,  558,  560,  554,  557,
1346       566,  552,  560,  553,  562,  558,  559,  559,  562,  562,
1347       563,  563,  564,  565,  563,  564,  567,  568,  569,  567,
1348       566,  570,  576,  569,  571,  572,  570,  573,  565,  578,
1349       571,  574,  574,  573,  575,  579,  577,  580,  568,  577,
1350       576,  572,  581,  575,  582,  583,  584,  578,  585,  582,
1351       583,  585,  586,  587,  579,  581,  588,  580,  587,  589,
1352       591,  588,  592,  586,  584,  590,  590,  594,  593,  595,
1353       597,  594,  596,  598,  589,  602,  592,  601,  604,  591,
1354       593,  596,  603,  604,  612,  607,  608,  595,  605,  597,
1355 
1356       602,  601,  606,  605,  610,  611,  609,  606,  598,  607,
1357       608,  609,  603,  612,  613,  613,  614,  615,  616,  610,
1358       611,  617,  618,  616,  619,  620,  615,  618,  621,  620,
1359       622,  623,  624,  625,  614,  626,  627,  621,  629,  630,
1360       617,  628,  631,  619,  624,  622,  623,  628,  634,  635,
1361       633,  631,  625,  629,  627,  633,  626,  635,  636,  630,
1362       637,  639,  634,  638,  640,  637,  641,  638,  638,  642,
1363       643,  643,  646,  646,  642,  641,  644,  640,  636,  645,
1364       639,  644,  647,  648,  645,  649,  650,  651,  648,  652,
1365       653,  647,  651,  654,  652,  653,  655,  654,  656,  649,
1366 
1367       659,  660,  658,  661,  650,  655,  658,  662,  663,  656,
1368       655,  664,  655,  665,  655,  659,  663,  661,  666,  660,
1369       667,  667,  668,  669,  669,  664,  662,  671,  672,  673,
1370       671,  665,  675,  672,  674,  674,  677,  668,  676,  676,
1371       679,  677,  680,  666,  678,  678,  681,  680,  673,  683,
1372       682,  684,  675,  687,  681,  682,  685,  684,  687,  688,
1373       679,  689,  691,  685,  688,  690,  689,  683,  692,  693,
1374       690,  691,  694,  694,  695,  696,  697,  698,  700,  699,
1375       693,  697,  701,  701,  702,  703,  705,  692,  704,  709,
1376       706,   61,  713,  710,  695,  706,  700,  698,  696,  699,
1377 
1378       711,  712,  715,  708,  702,  711,  704,  708,  708,  705,
1379       703,  710,  713,  714,  716,  709,  717,  714,  719,  712,
1380       715,  718,  720,  722,  721,  723,  724,  720,  722,  725,
1381       717,  721,  726,  716,  727,  724,  718,  719,  726,  735,
1382       728,  729,  730,  723,  725,  728,  729,  730,  731,  731,
1383       733,  733,  734,  735,  736,  727,  737,  734,  738,  738,
1384       737,  737,  739,  740,  741,  742,  743,  745,  746,  744,
1385       747,  749,  743,  736,  744,  748,  750,  751,  752,  752,
1386       755,  739,  740,  753,  742,  749,  745,  746,  753,  747,
1387       741,  754,  751,  755,  748,  754,  756,  750,  757,  758,
1388 
1389       758,  759,  761,  760,  762,  756,  759,  760,  764,  762,
1390       766,  767,  767,   56,  768,  766,  770,  770,  757,  768,
1391       772,  772,  761,  776,  774,  777,  764,  774,  775,  775,
1392       778,  779,  780,  780,  781,  778,  782,  782,  776,  783,
1393       784,  785,  787,  786,  790,  785,  779,  787,  789,  792,
1394       777,  784,  791,  791,  781,  793,  794,  795,  790,  795,
1395       796,  783,  786,  797,  798,  796,  789,  799,  797,  792,
1396       800,  800,  801,  804,  803,  793,  794,  805,  801,  803,
1397       805,  799,  806,  808,  798,  807,  807,  806,  809,  810,
1398       811,  812,  813,  814,  814,  811,  817,  813,  804,  815,
1399 
1400       816,  808,  818,  819,  815,  822,  821,  809,  820,  810,
1401       822,  823,  824,  825,  812,  827,  817,  819,  816,  821,
1402       820,  828,  818,  830,  829,  833,  833,  836,  828,  838,
1403       827,  823,  824,  829,  825,  834,  829,  835,  834,  830,
1404       837,  839,  835,  836,  843,  840,  841,  844,  838,  837,
1405       839,  841,  845,  839,  840,  842,  842,  846,  847,  848,
1406       844,  849,  849,  850,  843,  857,  851,  853,  854,  855,
1407       845,  846,  853,  858,  855,  856,  859,  848,  858,  850,
1408       863,  856,  864,  847,  851,  857,  854,  860,  863,  859,
1409       860,  865,  866,  870,  867,  864,  860,  868,  871,  872,
1410 
1411       873,  874,  871,  875,  872,  873,  874,  876,  877,  865,
1412       867,  866,  875,  870,  879,  868,  878,  878,  884,  880,
1413       881,  882,  883,  877,  886,  886,  882,  885,  879,  892,
1414       876,  880,  881,  885,  883,  889,  884,  887,  887,  890,
1415       890,  891,  893,  894,  889,  896,  891,  895,  895,  903,
1416       892,  897,  897,  898,  898,  899,  900,  902,  905,  900,
1417       899,  893,  902,  894,  904,  896,  909,  903,  910,  904,
1418       906,  906,  907,  907,  908,  911,  912,  913,  909,  908,
1419       909,  914,  914,  905,  915,  909,  916,  916,  910,  917,
1420       919,  920,  920,  921,  922,  911,  912,  923,  913,  919,
1421 
1422       924,  922,  925,  925,  926,  927,  923,  929,  921,  917,
1423       915,  930,  929,  931,  934,  932,  930,  933,  933,  934,
1424       935,  927,  932,  936,  937,  938,  924,  939,  940,  935,
1425       926,  941,   51,  931,  940,  942,  942,  943,  945,  937,
1426       941,  946,  939,  936,  938,  944,  944,  947,  943,  948,
1427       948,  951,  947,  943,  953,  946,  949,  950,  955,  945,
1428       949,  949,  950,  951,  952,  956,  953,  954,  957,  952,
1429       955,  954,  958,  957,  959,  960,  985,  962,  985,  959,
1430       962,  963,  963,  964,  964,  965,  967,  960,  966,  968,
1431       956,  965,  967,  966,  958,  971,  973,  973,  968,  974,
1432 
1433       975,  976,  978,  978,  981,  983,  982,  971,  973,  975,
1434       976,  982,  984,  984,  986,  986,  988,  974,  981,  989,
1435       990,  990,  983,  988,  991,  992,  993,  995,  994,  996,
1436       998,  999, 1000,  999, 1001,  998, 1005,  992,  993,  989,
1437       994, 1003,  995, 1001, 1011,  991, 1004, 1004, 1006,  996,
1438      1000, 1008, 1007, 1006, 1007, 1003, 1008, 1010, 1009, 1015,
1439      1012, 1013, 1005, 1009, 1011, 1012, 1013, 1016, 1017, 1017,
1440      1018, 1019, 1020, 1028, 1020, 1010, 1021, 1022, 1015, 1024,
1441      1019, 1016, 1018, 1019, 1024, 1021, 1025, 1027, 1029, 1022,
1442      1031, 1025, 1033, 1028, 1034, 1039, 1031, 1035, 1033, 1037,
1443 
1444      1027, 1036, 1036, 1040, 1029, 1042, 1035, 1040, 1037, 1038,
1445      1038, 1041, 1043, 1043, 1039, 1044, 1041, 1047, 1042, 1034,
1446      1048, 1048, 1050, 1044, 1049, 1049, 1047, 1051, 1053, 1052,
1447      1054, 1055, 1051, 1052, 1050, 1054, 1056, 1058, 1060, 1059,
1448      1061, 1062, 1084, 1053, 1064, 1064, 1065, 1066, 1084, 1065,
1449      1067,   50, 1061, 1068, 1068, 1056, 1071, 1055, 1059, 1060,
1450      1066, 1058, 1062, 1067, 1069, 1069, 1070, 1070, 1074, 1071,
1451      1072, 1072, 1073, 1073, 1075, 1075, 1076, 1076, 1077, 1079,
1452      1080, 1080, 1081, 1088, 1079, 1082, 1082, 1074, 1083, 1085,
1453      1087, 1087, 1085, 1086, 1086, 1089, 1089, 1077, 1091, 1091,
1454 
1455      1092, 1081, 1088, 1093, 1093, 1094, 1083, 1095, 1096, 1086,
1456      1097, 1098, 1099, 1096, 1094, 1100, 1101, 1104, 1102, 1095,
1457      1100, 1103, 1104, 1107, 1098, 1105, 1092, 1102, 1109, 1105,
1458      1103, 1101, 1114, 1099, 1115, 1097, 1111, 1109, 1110, 1110,
1459      1172, 1111, 1131, 1107, 1112, 1112, 1115, 1114, 1117, 1118,
1460      1124, 1117, 1126, 1112, 1118, 1119, 1119, 1120, 1131, 1121,
1461      1123, 1120, 1121, 1122, 1122, 1123, 1172, 1125, 1127, 1128,
1462      1124, 1125, 1126, 1127, 1128, 1129, 1133, 1132, 1134, 1151,
1463      1134, 1129, 1132, 1150, 1133, 1137, 1137, 1140, 1140, 1143,
1464      1144, 1144, 1146, 1146, 1143, 1148, 1149, 1149, 1152, 1150,
1465 
1466      1148, 1151, 1157, 1152, 1154, 1154, 1158, 1157, 1158, 1159,
1467      1160, 1161, 1161, 1162, 1162, 1160, 1163, 1163, 1164, 1165,
1468      1166, 1167, 1168, 1159, 1169, 1170, 1170, 1171, 1173, 1174,
1469      1164, 1175, 1166, 1167, 1168, 1176, 1171, 1165, 1177, 1182,
1470      1178, 1179, 1174, 1188, 1169, 1178, 1179, 1187, 1173, 1176,
1471      1180, 1180, 1183, 1183, 1186, 1175, 1177, 1182, 1185, 1185,
1472      1189, 1188, 1187, 1186, 1190, 1191, 1192, 1192, 1193, 1195,
1473      1194, 1196, 1201, 1193, 1198, 1204, 1202, 1205, 1189, 1202,
1474      1190, 1203, 1203, 1208, 1191, 1194, 1207, 1207, 1195, 1215,
1475      1204, 1196, 1201, 1198, 1216, 1205, 1209, 1209, 1210, 1210,
1476 
1477      1214, 1214, 1208, 1216, 1217, 1218, 1219, 1221, 1222, 1217,
1478      1218, 1215, 1223, 1222, 1219, 1224,   45, 1223, 1225, 1225,
1479      1226, 1226, 1221, 1227, 1228, 1228, 1229, 1229, 1227, 1231,
1480      1224, 1232, 1234, 1235, 1231, 1234, 1236, 1241, 1237, 1238,
1481      1238, 1239, 1242, 1232, 1244, 1236, 1235, 1237, 1243, 1243,
1482      1239, 1245, 1245, 1244, 1246, 1247, 1241, 1249, 1250, 1255,
1483      1247, 1242, 1246, 1252, 1252, 1260, 1249, 1256, 1256, 1257,
1484      1261, 1250, 1257, 1258, 1258, 1259, 1259, 1262, 1270, 1255,
1485      1263, 1263, 1262, 1260, 1261, 1264, 1267, 1271, 1272, 1264,
1486      1273, 1273, 1267, 1274, 1275, 1271, 1276, 1270, 1277, 1275,
1487 
1488      1279, 1278, 1281, 1283, 1285, 1281, 1286, 1272, 1285, 1274,
1489      1278, 1284, 1284, 1288, 1289, 1286, 1276, 1290, 1293, 1307,
1490      1279, 1283, 1288, 1293, 1277, 1295, 1289, 1294, 1294, 1298,
1491      1297, 1299, 1300, 1303, 1295, 1297, 1301, 1301, 1298, 1302,
1492      1304, 1306, 1290, 1305, 1308, 1307, 1306, 1300, 1302, 1303,
1493      1299, 1305, 1309, 1309, 1313, 1310, 1312, 1312, 1314, 1304,
1494      1310, 1315, 1315, 1308, 1316, 1316, 1317, 1318, 1319, 1320,
1495      1320, 1321, 1322, 1322, 1313, 1323, 1325, 1326,   40, 1318,
1496      1314,   14, 1326, 1321, 1330, 1317, 1327, 1327, 1319, 1330,
1497      1325, 1328, 1328, 1345, 1323, 1329, 1329, 1331, 1331, 1333,
1498 
1499      1333, 1335, 1335, 1336, 1339, 1340, 1340, 1347, 1336, 1341,
1500      1343, 1347, 1339, 1345, 1341, 1343, 1346, 1346, 1351, 1351,
1501      1353, 1355, 1355, 1356, 1353, 1358, 1359, 1359, 1360, 1360,
1502      1362, 1362, 1364, 1364, 1366, 1367, 1367, 1372, 1356, 1373,
1503      1375, 1372, 1377, 1358, 1374, 1374, 1366, 1378, 1379, 1375,
1504      1380, 1380,   13,    0,    0,    0,    0, 1377,    0, 1373,
1505         0, 1378,    0,    0,    0,    0,    0, 1379, 1383, 1383,
1506      1383, 1383, 1383, 1383, 1383, 1384, 1384, 1384, 1384, 1384,
1507      1384, 1384, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1386,
1508      1386, 1386, 1386, 1386, 1386, 1386, 1387, 1387, 1387, 1387,
1509 
1510      1387, 1387, 1387, 1389, 1389,    0, 1389, 1389, 1389, 1389,
1511      1390, 1390,    0,    0,    0, 1390, 1390, 1391, 1391,    0,
1512         0, 1391,    0, 1391, 1392,    0,    0,    0,    0,    0,
1513      1392, 1393, 1393,    0,    0,    0, 1393, 1393, 1394,    0,
1514         0,    0,    0,    0, 1394, 1395, 1395,    0, 1395, 1395,
1515      1395, 1395, 1396, 1396,    0, 1396, 1396, 1396, 1396, 1382,
1516      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
1517      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
1518      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
1519      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382
1520 
1521     } ;
1522 
1523 static yy_state_type yy_last_accepting_state;
1524 static char *yy_last_accepting_cpos;
1525 
1526 extern int yy_flex_debug;
1527 int yy_flex_debug = 0;
1528 
1529 /* The intent behind this definition is that it'll catch
1530  * any uses of REJECT which flex missed.
1531  */
1532 #define REJECT reject_used_but_not_detected
1533 static int yy_more_flag = 0;
1534 static int yy_more_len = 0;
1535 #define yymore() ((yy_more_flag) = 1)
1536 #define YY_MORE_ADJ (yy_more_len)
1537 #define YY_RESTORE_YY_MORE_OFFSET
1538 char *yytext;
1539 /*
1540  * configlexer.lex - lexical analyzer for unbound config file
1541  *
1542  * Copyright (c) 2001-2006, NLnet Labs. All rights reserved
1543  *
1544  * See LICENSE for the license.
1545  *
1546  */
1547 
1548 #include <ctype.h>
1549 #include <string.h>
1550 #include <strings.h>
1551 #ifdef HAVE_GLOB_H
1552 # include <glob.h>
1553 #endif
1554 
1555 #include "util/config_file.h"
1556 #include "util/configparser.h"
1557 void ub_c_error(const char *message);
1558 
1559 #if 0
1560 #define LEXOUT(s)  printf s /* used ONLY when debugging */
1561 #else
1562 #define LEXOUT(s)
1563 #endif
1564 
1565 /** avoid warning in about fwrite return value */
1566 #define ECHO ub_c_error_msg("syntax error at text: %s", yytext)
1567 
1568 /** A parser variable, this is a statement in the config file which is
1569  * of the form variable: value1 value2 ...  nargs is the number of values. */
1570 #define YDVAR(nargs, var) \
1571 	num_args=(nargs); \
1572 	LEXOUT(("v(%s%d) ", yytext, num_args)); \
1573 	if(num_args > 0) { BEGIN(val); } \
1574 	return (var);
1575 
1576 struct inc_state {
1577 	char* filename;
1578 	int line;
1579 	YY_BUFFER_STATE buffer;
1580 	struct inc_state* next;
1581 };
1582 static struct inc_state* config_include_stack = NULL;
1583 static int inc_depth = 0;
1584 static int inc_prev = 0;
1585 static int num_args = 0;
1586 
1587 void init_cfg_parse(void)
1588 {
1589 	config_include_stack = NULL;
1590 	inc_depth = 0;
1591 	inc_prev = 0;
1592 	num_args = 0;
1593 }
1594 
1595 static void config_start_include(const char* filename)
1596 {
1597 	FILE *input;
1598 	struct inc_state* s;
1599 	char* nm;
1600 	if(inc_depth++ > 100000) {
1601 		ub_c_error_msg("too many include files");
1602 		return;
1603 	}
1604 	if(strlen(filename) == 0) {
1605 		ub_c_error_msg("empty include file name");
1606 		return;
1607 	}
1608 	s = (struct inc_state*)malloc(sizeof(*s));
1609 	if(!s) {
1610 		ub_c_error_msg("include %s: malloc failure", filename);
1611 		return;
1612 	}
1613 	if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot,
1614 		strlen(cfg_parser->chroot)) == 0) {
1615 		filename += strlen(cfg_parser->chroot);
1616 	}
1617 	nm = strdup(filename);
1618 	if(!nm) {
1619 		ub_c_error_msg("include %s: strdup failure", filename);
1620 		free(s);
1621 		return;
1622 	}
1623 	input = fopen(filename, "r");
1624 	if(!input) {
1625 		ub_c_error_msg("cannot open include file '%s': %s",
1626 			filename, strerror(errno));
1627 		free(s);
1628 		free(nm);
1629 		return;
1630 	}
1631 	LEXOUT(("switch_to_include_file(%s)\n", filename));
1632 	s->filename = cfg_parser->filename;
1633 	s->line = cfg_parser->line;
1634 	s->buffer = YY_CURRENT_BUFFER;
1635 	s->next = config_include_stack;
1636 	config_include_stack = s;
1637 	cfg_parser->filename = nm;
1638 	cfg_parser->line = 1;
1639 	yy_switch_to_buffer(yy_create_buffer(input,YY_BUF_SIZE));
1640 }
1641 
1642 static void config_start_include_glob(const char* filename)
1643 {
1644 
1645 	/* check for wildcards */
1646 #ifdef HAVE_GLOB
1647 	glob_t g;
1648 	size_t i;
1649 	int r, flags;
1650 	if(!(!strchr(filename, '*') && !strchr(filename, '?') && !strchr(filename, '[') &&
1651 		!strchr(filename, '{') && !strchr(filename, '~'))) {
1652 		flags = 0
1653 #ifdef GLOB_ERR
1654 			| GLOB_ERR
1655 #endif
1656 #ifdef GLOB_NOSORT
1657 			| GLOB_NOSORT
1658 #endif
1659 #ifdef GLOB_BRACE
1660 			| GLOB_BRACE
1661 #endif
1662 #ifdef GLOB_TILDE
1663 			| GLOB_TILDE
1664 #endif
1665 		;
1666 		memset(&g, 0, sizeof(g));
1667 		r = glob(filename, flags, NULL, &g);
1668 		if(r) {
1669 			/* some error */
1670 			globfree(&g);
1671 			if(r == GLOB_NOMATCH)
1672 				return; /* no matches for pattern */
1673 			config_start_include(filename); /* let original deal with it */
1674 			return;
1675 		}
1676 		/* process files found, if any */
1677 		for(i=0; i<(size_t)g.gl_pathc; i++) {
1678 			config_start_include(g.gl_pathv[i]);
1679 		}
1680 		globfree(&g);
1681 		return;
1682 	}
1683 #endif /* HAVE_GLOB */
1684 
1685 	config_start_include(filename);
1686 }
1687 
1688 static void config_end_include(void)
1689 {
1690 	struct inc_state* s = config_include_stack;
1691 	--inc_depth;
1692 	if(!s) return;
1693 	free(cfg_parser->filename);
1694 	cfg_parser->filename = s->filename;
1695 	cfg_parser->line = s->line;
1696 	yy_delete_buffer(YY_CURRENT_BUFFER);
1697 	yy_switch_to_buffer(s->buffer);
1698 	config_include_stack = s->next;
1699 	free(s);
1700 }
1701 
1702 #ifndef yy_set_bol /* compat definition, for flex 2.4.6 */
1703 #define yy_set_bol(at_bol) \
1704         { \
1705 	        if ( ! yy_current_buffer ) \
1706 	                yy_current_buffer = yy_create_buffer(yyin,YY_BUF_SIZE ); \
1707 	        yy_current_buffer->yy_ch_buf[0] = ((at_bol)?'\n':' '); \
1708         }
1709 #endif
1710 
1711 #define YY_NO_INPUT 1
1712 #ifndef YY_NO_UNPUT
1713 #define YY_NO_UNPUT 1
1714 #endif
1715 #ifndef YY_NO_INPUT
1716 #define YY_NO_INPUT 1
1717 #endif
1718 
1719 #define INITIAL 0
1720 #define quotedstring 1
1721 #define singlequotedstr 2
1722 #define include 3
1723 #define include_quoted 4
1724 #define val 5
1725 
1726 #ifndef YY_NO_UNISTD_H
1727 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1728  * down here because we want the user's section 1 to have been scanned first.
1729  * The user has a chance to override it with an option.
1730  */
1731 #include <unistd.h>
1732 #endif
1733 
1734 #ifndef YY_EXTRA_TYPE
1735 #define YY_EXTRA_TYPE void *
1736 #endif
1737 
1738 static int yy_init_globals (void );
1739 
1740 /* Accessor methods to globals.
1741    These are made visible to non-reentrant scanners for convenience. */
1742 
1743 int yylex_destroy (void );
1744 
1745 int yyget_debug (void );
1746 
1747 void yyset_debug (int debug_flag  );
1748 
1749 YY_EXTRA_TYPE yyget_extra (void );
1750 
1751 void yyset_extra (YY_EXTRA_TYPE user_defined  );
1752 
1753 FILE *yyget_in (void );
1754 
1755 void yyset_in  (FILE * in_str  );
1756 
1757 FILE *yyget_out (void );
1758 
1759 void yyset_out  (FILE * out_str  );
1760 
1761 yy_size_t yyget_leng (void );
1762 
1763 char *yyget_text (void );
1764 
1765 int yyget_lineno (void );
1766 
1767 void yyset_lineno (int line_number  );
1768 
1769 /* Macros after this point can all be overridden by user definitions in
1770  * section 1.
1771  */
1772 
1773 #ifndef YY_SKIP_YYWRAP
1774 #ifdef __cplusplus
1775 extern "C" int yywrap (void );
1776 #else
1777 extern int yywrap (void );
1778 #endif
1779 #endif
1780 
1781 #ifndef yytext_ptr
1782 static void yy_flex_strncpy (char *,yyconst char *,int );
1783 #endif
1784 
1785 #ifdef YY_NEED_STRLEN
1786 static int yy_flex_strlen (yyconst char * );
1787 #endif
1788 
1789 #ifndef YY_NO_INPUT
1790 
1791 #ifdef __cplusplus
1792 static int yyinput (void );
1793 #else
1794 static int input (void );
1795 #endif
1796 
1797 #endif
1798 
1799 /* Amount of stuff to slurp up with each read. */
1800 #ifndef YY_READ_BUF_SIZE
1801 #define YY_READ_BUF_SIZE 8192
1802 #endif
1803 
1804 /* Copy whatever the last rule matched to the standard output. */
1805 #ifndef ECHO
1806 /* This used to be an fputs(), but since the string might contain NUL's,
1807  * we now use fwrite().
1808  */
1809 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1810 #endif
1811 
1812 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1813  * is returned in "result".
1814  */
1815 #ifndef YY_INPUT
1816 #define YY_INPUT(buf,result,max_size) \
1817 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1818 		{ \
1819 		int c = '*'; \
1820 		size_t n; \
1821 		for ( n = 0; n < max_size && \
1822 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1823 			buf[n] = (char) c; \
1824 		if ( c == '\n' ) \
1825 			buf[n++] = (char) c; \
1826 		if ( c == EOF && ferror( yyin ) ) \
1827 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
1828 		result = n; \
1829 		} \
1830 	else \
1831 		{ \
1832 		errno=0; \
1833 		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1834 			{ \
1835 			if( errno != EINTR) \
1836 				{ \
1837 				YY_FATAL_ERROR( "input in flex scanner failed" ); \
1838 				break; \
1839 				} \
1840 			errno=0; \
1841 			clearerr(yyin); \
1842 			} \
1843 		}\
1844 \
1845 
1846 #endif
1847 
1848 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1849  * we don't want an extra ';' after the "return" because that will cause
1850  * some compilers to complain about unreachable statements.
1851  */
1852 #ifndef yyterminate
1853 #define yyterminate() return YY_NULL
1854 #endif
1855 
1856 /* Number of entries by which start-condition stack grows. */
1857 #ifndef YY_START_STACK_INCR
1858 #define YY_START_STACK_INCR 25
1859 #endif
1860 
1861 /* Report a fatal error. */
1862 #ifndef YY_FATAL_ERROR
1863 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1864 #endif
1865 
1866 /* end tables serialization structures and prototypes */
1867 
1868 /* Default declaration of generated scanner - a define so the user can
1869  * easily add parameters.
1870  */
1871 #ifndef YY_DECL
1872 #define YY_DECL_IS_OURS 1
1873 
1874 extern int yylex (void);
1875 
1876 #define YY_DECL int yylex (void)
1877 #endif /* !YY_DECL */
1878 
1879 /* Code executed at the beginning of each rule, after yytext and yyleng
1880  * have been set up.
1881  */
1882 #ifndef YY_USER_ACTION
1883 #define YY_USER_ACTION
1884 #endif
1885 
1886 /* Code executed at the end of each rule. */
1887 #ifndef YY_BREAK
1888 #define YY_BREAK break;
1889 #endif
1890 
1891 #define YY_RULE_SETUP \
1892 	YY_USER_ACTION
1893 
1894 /** The main scanner function which does all the work.
1895  */
1896 YY_DECL
1897 {
1898 	yy_state_type yy_current_state;
1899 	char *yy_cp, *yy_bp;
1900 	int yy_act;
1901 
1902 	if ( !(yy_init) )
1903 		{
1904 		(yy_init) = 1;
1905 
1906 #ifdef YY_USER_INIT
1907 		YY_USER_INIT;
1908 #endif
1909 
1910 		if ( ! (yy_start) )
1911 			(yy_start) = 1;	/* first start state */
1912 
1913 		if ( ! yyin )
1914 			yyin = stdin;
1915 
1916 		if ( ! yyout )
1917 			yyout = stdout;
1918 
1919 		if ( ! YY_CURRENT_BUFFER ) {
1920 			yyensure_buffer_stack ();
1921 			YY_CURRENT_BUFFER_LVALUE =
1922 				yy_create_buffer(yyin,YY_BUF_SIZE );
1923 		}
1924 
1925 		yy_load_buffer_state( );
1926 		}
1927 
1928 	while ( 1 )		/* loops until end-of-file is reached */
1929 		{
1930 		(yy_more_len) = 0;
1931 		if ( (yy_more_flag) )
1932 			{
1933 			(yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
1934 			(yy_more_flag) = 0;
1935 			}
1936 		yy_cp = (yy_c_buf_p);
1937 
1938 		/* Support of yytext. */
1939 		*yy_cp = (yy_hold_char);
1940 
1941 		/* yy_bp points to the position in yy_ch_buf of the start of
1942 		 * the current run.
1943 		 */
1944 		yy_bp = yy_cp;
1945 
1946 		yy_current_state = (yy_start);
1947 yy_match:
1948 		do
1949 			{
1950 			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1951 			if ( yy_accept[yy_current_state] )
1952 				{
1953 				(yy_last_accepting_state) = yy_current_state;
1954 				(yy_last_accepting_cpos) = yy_cp;
1955 				}
1956 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1957 				{
1958 				yy_current_state = (int) yy_def[yy_current_state];
1959 				if ( yy_current_state >= 1383 )
1960 					yy_c = yy_meta[(unsigned int) yy_c];
1961 				}
1962 			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1963 			++yy_cp;
1964 			}
1965 		while ( yy_base[yy_current_state] != 2760 );
1966 
1967 yy_find_action:
1968 		yy_act = yy_accept[yy_current_state];
1969 		if ( yy_act == 0 )
1970 			{ /* have to back up */
1971 			yy_cp = (yy_last_accepting_cpos);
1972 			yy_current_state = (yy_last_accepting_state);
1973 			yy_act = yy_accept[yy_current_state];
1974 			}
1975 
1976 		YY_DO_BEFORE_ACTION;
1977 
1978 do_action:	/* This label is used only to access EOF actions. */
1979 
1980 		switch ( yy_act )
1981 	{ /* beginning of action switch */
1982 			case 0: /* must back up */
1983 			/* undo the effects of YY_DO_BEFORE_ACTION */
1984 			*yy_cp = (yy_hold_char);
1985 			yy_cp = (yy_last_accepting_cpos);
1986 			yy_current_state = (yy_last_accepting_state);
1987 			goto yy_find_action;
1988 
1989 case 1:
1990 YY_RULE_SETUP
1991 {
1992 	LEXOUT(("SP ")); /* ignore */ }
1993 	YY_BREAK
1994 case 2:
1995 YY_RULE_SETUP
1996 {
1997 	/* note that flex makes the longest match and '.' is any but not nl */
1998 	LEXOUT(("comment(%s) ", yytext)); /* ignore */ }
1999 	YY_BREAK
2000 case 3:
2001 YY_RULE_SETUP
2002 { YDVAR(0, VAR_SERVER) }
2003 	YY_BREAK
2004 case 4:
2005 YY_RULE_SETUP
2006 { YDVAR(1, VAR_NUM_THREADS) }
2007 	YY_BREAK
2008 case 5:
2009 YY_RULE_SETUP
2010 { YDVAR(1, VAR_VERBOSITY) }
2011 	YY_BREAK
2012 case 6:
2013 YY_RULE_SETUP
2014 { YDVAR(1, VAR_PORT) }
2015 	YY_BREAK
2016 case 7:
2017 YY_RULE_SETUP
2018 { YDVAR(1, VAR_OUTGOING_RANGE) }
2019 	YY_BREAK
2020 case 8:
2021 YY_RULE_SETUP
2022 { YDVAR(1, VAR_OUTGOING_PORT_PERMIT) }
2023 	YY_BREAK
2024 case 9:
2025 YY_RULE_SETUP
2026 { YDVAR(1, VAR_OUTGOING_PORT_AVOID) }
2027 	YY_BREAK
2028 case 10:
2029 YY_RULE_SETUP
2030 { YDVAR(1, VAR_OUTGOING_NUM_TCP) }
2031 	YY_BREAK
2032 case 11:
2033 YY_RULE_SETUP
2034 { YDVAR(1, VAR_INCOMING_NUM_TCP) }
2035 	YY_BREAK
2036 case 12:
2037 YY_RULE_SETUP
2038 { YDVAR(1, VAR_DO_IP4) }
2039 	YY_BREAK
2040 case 13:
2041 YY_RULE_SETUP
2042 { YDVAR(1, VAR_DO_IP6) }
2043 	YY_BREAK
2044 case 14:
2045 YY_RULE_SETUP
2046 { YDVAR(1, VAR_DO_UDP) }
2047 	YY_BREAK
2048 case 15:
2049 YY_RULE_SETUP
2050 { YDVAR(1, VAR_DO_TCP) }
2051 	YY_BREAK
2052 case 16:
2053 YY_RULE_SETUP
2054 { YDVAR(1, VAR_TCP_UPSTREAM) }
2055 	YY_BREAK
2056 case 17:
2057 YY_RULE_SETUP
2058 { YDVAR(1, VAR_SSL_UPSTREAM) }
2059 	YY_BREAK
2060 case 18:
2061 YY_RULE_SETUP
2062 { YDVAR(1, VAR_SSL_SERVICE_KEY) }
2063 	YY_BREAK
2064 case 19:
2065 YY_RULE_SETUP
2066 { YDVAR(1, VAR_SSL_SERVICE_PEM) }
2067 	YY_BREAK
2068 case 20:
2069 YY_RULE_SETUP
2070 { YDVAR(1, VAR_SSL_PORT) }
2071 	YY_BREAK
2072 case 21:
2073 YY_RULE_SETUP
2074 { YDVAR(1, VAR_DO_DAEMONIZE) }
2075 	YY_BREAK
2076 case 22:
2077 YY_RULE_SETUP
2078 { YDVAR(1, VAR_INTERFACE) }
2079 	YY_BREAK
2080 case 23:
2081 YY_RULE_SETUP
2082 { YDVAR(1, VAR_INTERFACE) }
2083 	YY_BREAK
2084 case 24:
2085 YY_RULE_SETUP
2086 { YDVAR(1, VAR_OUTGOING_INTERFACE) }
2087 	YY_BREAK
2088 case 25:
2089 YY_RULE_SETUP
2090 { YDVAR(1, VAR_INTERFACE_AUTOMATIC) }
2091 	YY_BREAK
2092 case 26:
2093 YY_RULE_SETUP
2094 { YDVAR(1, VAR_SO_RCVBUF) }
2095 	YY_BREAK
2096 case 27:
2097 YY_RULE_SETUP
2098 { YDVAR(1, VAR_SO_SNDBUF) }
2099 	YY_BREAK
2100 case 28:
2101 YY_RULE_SETUP
2102 { YDVAR(1, VAR_SO_REUSEPORT) }
2103 	YY_BREAK
2104 case 29:
2105 YY_RULE_SETUP
2106 { YDVAR(1, VAR_CHROOT) }
2107 	YY_BREAK
2108 case 30:
2109 YY_RULE_SETUP
2110 { YDVAR(1, VAR_USERNAME) }
2111 	YY_BREAK
2112 case 31:
2113 YY_RULE_SETUP
2114 { YDVAR(1, VAR_DIRECTORY) }
2115 	YY_BREAK
2116 case 32:
2117 YY_RULE_SETUP
2118 { YDVAR(1, VAR_LOGFILE) }
2119 	YY_BREAK
2120 case 33:
2121 YY_RULE_SETUP
2122 { YDVAR(1, VAR_PIDFILE) }
2123 	YY_BREAK
2124 case 34:
2125 YY_RULE_SETUP
2126 { YDVAR(1, VAR_ROOT_HINTS) }
2127 	YY_BREAK
2128 case 35:
2129 YY_RULE_SETUP
2130 { YDVAR(1, VAR_EDNS_BUFFER_SIZE) }
2131 	YY_BREAK
2132 case 36:
2133 YY_RULE_SETUP
2134 { YDVAR(1, VAR_MSG_BUFFER_SIZE) }
2135 	YY_BREAK
2136 case 37:
2137 YY_RULE_SETUP
2138 { YDVAR(1, VAR_MSG_CACHE_SIZE) }
2139 	YY_BREAK
2140 case 38:
2141 YY_RULE_SETUP
2142 { YDVAR(1, VAR_MSG_CACHE_SLABS) }
2143 	YY_BREAK
2144 case 39:
2145 YY_RULE_SETUP
2146 { YDVAR(1, VAR_RRSET_CACHE_SIZE) }
2147 	YY_BREAK
2148 case 40:
2149 YY_RULE_SETUP
2150 { YDVAR(1, VAR_RRSET_CACHE_SLABS) }
2151 	YY_BREAK
2152 case 41:
2153 YY_RULE_SETUP
2154 { YDVAR(1, VAR_CACHE_MAX_TTL) }
2155 	YY_BREAK
2156 case 42:
2157 YY_RULE_SETUP
2158 { YDVAR(1, VAR_CACHE_MIN_TTL) }
2159 	YY_BREAK
2160 case 43:
2161 YY_RULE_SETUP
2162 { YDVAR(1, VAR_INFRA_HOST_TTL) }
2163 	YY_BREAK
2164 case 44:
2165 YY_RULE_SETUP
2166 { YDVAR(1, VAR_INFRA_LAME_TTL) }
2167 	YY_BREAK
2168 case 45:
2169 YY_RULE_SETUP
2170 { YDVAR(1, VAR_INFRA_CACHE_SLABS) }
2171 	YY_BREAK
2172 case 46:
2173 YY_RULE_SETUP
2174 { YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) }
2175 	YY_BREAK
2176 case 47:
2177 YY_RULE_SETUP
2178 { YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) }
2179 	YY_BREAK
2180 case 48:
2181 YY_RULE_SETUP
2182 { YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) }
2183 	YY_BREAK
2184 case 49:
2185 YY_RULE_SETUP
2186 { YDVAR(1, VAR_JOSTLE_TIMEOUT) }
2187 	YY_BREAK
2188 case 50:
2189 YY_RULE_SETUP
2190 { YDVAR(1, VAR_DELAY_CLOSE) }
2191 	YY_BREAK
2192 case 51:
2193 YY_RULE_SETUP
2194 { YDVAR(1, VAR_TARGET_FETCH_POLICY) }
2195 	YY_BREAK
2196 case 52:
2197 YY_RULE_SETUP
2198 { YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) }
2199 	YY_BREAK
2200 case 53:
2201 YY_RULE_SETUP
2202 { YDVAR(1, VAR_HARDEN_LARGE_QUERIES) }
2203 	YY_BREAK
2204 case 54:
2205 YY_RULE_SETUP
2206 { YDVAR(1, VAR_HARDEN_GLUE) }
2207 	YY_BREAK
2208 case 55:
2209 YY_RULE_SETUP
2210 { YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) }
2211 	YY_BREAK
2212 case 56:
2213 YY_RULE_SETUP
2214 { YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) }
2215 	YY_BREAK
2216 case 57:
2217 YY_RULE_SETUP
2218 { YDVAR(1, VAR_HARDEN_REFERRAL_PATH) }
2219 	YY_BREAK
2220 case 58:
2221 YY_RULE_SETUP
2222 { YDVAR(1, VAR_USE_CAPS_FOR_ID) }
2223 	YY_BREAK
2224 case 59:
2225 YY_RULE_SETUP
2226 { YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) }
2227 	YY_BREAK
2228 case 60:
2229 YY_RULE_SETUP
2230 { YDVAR(1, VAR_PRIVATE_ADDRESS) }
2231 	YY_BREAK
2232 case 61:
2233 YY_RULE_SETUP
2234 { YDVAR(1, VAR_PRIVATE_DOMAIN) }
2235 	YY_BREAK
2236 case 62:
2237 YY_RULE_SETUP
2238 { YDVAR(1, VAR_PREFETCH_KEY) }
2239 	YY_BREAK
2240 case 63:
2241 YY_RULE_SETUP
2242 { YDVAR(1, VAR_PREFETCH) }
2243 	YY_BREAK
2244 case 64:
2245 YY_RULE_SETUP
2246 { YDVAR(0, VAR_STUB_ZONE) }
2247 	YY_BREAK
2248 case 65:
2249 YY_RULE_SETUP
2250 { YDVAR(1, VAR_NAME) }
2251 	YY_BREAK
2252 case 66:
2253 YY_RULE_SETUP
2254 { YDVAR(1, VAR_STUB_ADDR) }
2255 	YY_BREAK
2256 case 67:
2257 YY_RULE_SETUP
2258 { YDVAR(1, VAR_STUB_HOST) }
2259 	YY_BREAK
2260 case 68:
2261 YY_RULE_SETUP
2262 { YDVAR(1, VAR_STUB_PRIME) }
2263 	YY_BREAK
2264 case 69:
2265 YY_RULE_SETUP
2266 { YDVAR(1, VAR_STUB_FIRST) }
2267 	YY_BREAK
2268 case 70:
2269 YY_RULE_SETUP
2270 { YDVAR(0, VAR_FORWARD_ZONE) }
2271 	YY_BREAK
2272 case 71:
2273 YY_RULE_SETUP
2274 { YDVAR(1, VAR_FORWARD_ADDR) }
2275 	YY_BREAK
2276 case 72:
2277 YY_RULE_SETUP
2278 { YDVAR(1, VAR_FORWARD_HOST) }
2279 	YY_BREAK
2280 case 73:
2281 YY_RULE_SETUP
2282 { YDVAR(1, VAR_FORWARD_FIRST) }
2283 	YY_BREAK
2284 case 74:
2285 YY_RULE_SETUP
2286 { YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
2287 	YY_BREAK
2288 case 75:
2289 YY_RULE_SETUP
2290 { YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
2291 	YY_BREAK
2292 case 76:
2293 YY_RULE_SETUP
2294 { YDVAR(2, VAR_ACCESS_CONTROL) }
2295 	YY_BREAK
2296 case 77:
2297 YY_RULE_SETUP
2298 { YDVAR(1, VAR_HIDE_IDENTITY) }
2299 	YY_BREAK
2300 case 78:
2301 YY_RULE_SETUP
2302 { YDVAR(1, VAR_HIDE_VERSION) }
2303 	YY_BREAK
2304 case 79:
2305 YY_RULE_SETUP
2306 { YDVAR(1, VAR_IDENTITY) }
2307 	YY_BREAK
2308 case 80:
2309 YY_RULE_SETUP
2310 { YDVAR(1, VAR_VERSION) }
2311 	YY_BREAK
2312 case 81:
2313 YY_RULE_SETUP
2314 { YDVAR(1, VAR_MODULE_CONF) }
2315 	YY_BREAK
2316 case 82:
2317 YY_RULE_SETUP
2318 { YDVAR(1, VAR_DLV_ANCHOR) }
2319 	YY_BREAK
2320 case 83:
2321 YY_RULE_SETUP
2322 { YDVAR(1, VAR_DLV_ANCHOR_FILE) }
2323 	YY_BREAK
2324 case 84:
2325 YY_RULE_SETUP
2326 { YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
2327 	YY_BREAK
2328 case 85:
2329 YY_RULE_SETUP
2330 { YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
2331 	YY_BREAK
2332 case 86:
2333 YY_RULE_SETUP
2334 { YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
2335 	YY_BREAK
2336 case 87:
2337 YY_RULE_SETUP
2338 { YDVAR(1, VAR_TRUST_ANCHOR) }
2339 	YY_BREAK
2340 case 88:
2341 YY_RULE_SETUP
2342 { YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
2343 	YY_BREAK
2344 case 89:
2345 YY_RULE_SETUP
2346 { YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
2347 	YY_BREAK
2348 case 90:
2349 YY_RULE_SETUP
2350 { YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
2351 	YY_BREAK
2352 case 91:
2353 YY_RULE_SETUP
2354 { YDVAR(1, VAR_BOGUS_TTL) }
2355 	YY_BREAK
2356 case 92:
2357 YY_RULE_SETUP
2358 { YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
2359 	YY_BREAK
2360 case 93:
2361 YY_RULE_SETUP
2362 { YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
2363 	YY_BREAK
2364 case 94:
2365 YY_RULE_SETUP
2366 { YDVAR(1, VAR_IGNORE_CD_FLAG) }
2367 	YY_BREAK
2368 case 95:
2369 YY_RULE_SETUP
2370 { YDVAR(1, VAR_VAL_LOG_LEVEL) }
2371 	YY_BREAK
2372 case 96:
2373 YY_RULE_SETUP
2374 { YDVAR(1, VAR_KEY_CACHE_SIZE) }
2375 	YY_BREAK
2376 case 97:
2377 YY_RULE_SETUP
2378 { YDVAR(1, VAR_KEY_CACHE_SLABS) }
2379 	YY_BREAK
2380 case 98:
2381 YY_RULE_SETUP
2382 { YDVAR(1, VAR_NEG_CACHE_SIZE) }
2383 	YY_BREAK
2384 case 99:
2385 YY_RULE_SETUP
2386 {
2387 				  YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
2388 	YY_BREAK
2389 case 100:
2390 YY_RULE_SETUP
2391 { YDVAR(1, VAR_ADD_HOLDDOWN) }
2392 	YY_BREAK
2393 case 101:
2394 YY_RULE_SETUP
2395 { YDVAR(1, VAR_DEL_HOLDDOWN) }
2396 	YY_BREAK
2397 case 102:
2398 YY_RULE_SETUP
2399 { YDVAR(1, VAR_KEEP_MISSING) }
2400 	YY_BREAK
2401 case 103:
2402 YY_RULE_SETUP
2403 { YDVAR(1, VAR_USE_SYSLOG) }
2404 	YY_BREAK
2405 case 104:
2406 YY_RULE_SETUP
2407 { YDVAR(1, VAR_LOG_TIME_ASCII) }
2408 	YY_BREAK
2409 case 105:
2410 YY_RULE_SETUP
2411 { YDVAR(1, VAR_LOG_QUERIES) }
2412 	YY_BREAK
2413 case 106:
2414 YY_RULE_SETUP
2415 { YDVAR(2, VAR_LOCAL_ZONE) }
2416 	YY_BREAK
2417 case 107:
2418 YY_RULE_SETUP
2419 { YDVAR(1, VAR_LOCAL_DATA) }
2420 	YY_BREAK
2421 case 108:
2422 YY_RULE_SETUP
2423 { YDVAR(1, VAR_LOCAL_DATA_PTR) }
2424 	YY_BREAK
2425 case 109:
2426 YY_RULE_SETUP
2427 { YDVAR(1, VAR_STATISTICS_INTERVAL) }
2428 	YY_BREAK
2429 case 110:
2430 YY_RULE_SETUP
2431 { YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
2432 	YY_BREAK
2433 case 111:
2434 YY_RULE_SETUP
2435 { YDVAR(1, VAR_EXTENDED_STATISTICS) }
2436 	YY_BREAK
2437 case 112:
2438 YY_RULE_SETUP
2439 { YDVAR(0, VAR_REMOTE_CONTROL) }
2440 	YY_BREAK
2441 case 113:
2442 YY_RULE_SETUP
2443 { YDVAR(1, VAR_CONTROL_ENABLE) }
2444 	YY_BREAK
2445 case 114:
2446 YY_RULE_SETUP
2447 { YDVAR(1, VAR_CONTROL_INTERFACE) }
2448 	YY_BREAK
2449 case 115:
2450 YY_RULE_SETUP
2451 { YDVAR(1, VAR_CONTROL_PORT) }
2452 	YY_BREAK
2453 case 116:
2454 YY_RULE_SETUP
2455 { YDVAR(1, VAR_SERVER_KEY_FILE) }
2456 	YY_BREAK
2457 case 117:
2458 YY_RULE_SETUP
2459 { YDVAR(1, VAR_SERVER_CERT_FILE) }
2460 	YY_BREAK
2461 case 118:
2462 YY_RULE_SETUP
2463 { YDVAR(1, VAR_CONTROL_KEY_FILE) }
2464 	YY_BREAK
2465 case 119:
2466 YY_RULE_SETUP
2467 { YDVAR(1, VAR_CONTROL_CERT_FILE) }
2468 	YY_BREAK
2469 case 120:
2470 YY_RULE_SETUP
2471 { YDVAR(1, VAR_PYTHON_SCRIPT) }
2472 	YY_BREAK
2473 case 121:
2474 YY_RULE_SETUP
2475 { YDVAR(0, VAR_PYTHON) }
2476 	YY_BREAK
2477 case 122:
2478 YY_RULE_SETUP
2479 { YDVAR(1, VAR_DOMAIN_INSECURE) }
2480 	YY_BREAK
2481 case 123:
2482 YY_RULE_SETUP
2483 { YDVAR(1, VAR_MINIMAL_RESPONSES) }
2484 	YY_BREAK
2485 case 124:
2486 YY_RULE_SETUP
2487 { YDVAR(1, VAR_RRSET_ROUNDROBIN) }
2488 	YY_BREAK
2489 case 125:
2490 YY_RULE_SETUP
2491 { YDVAR(1, VAR_MAX_UDP_SIZE) }
2492 	YY_BREAK
2493 case 126:
2494 /* rule 126 can match eol */
2495 YY_RULE_SETUP
2496 { LEXOUT(("NL\n")); cfg_parser->line++; }
2497 	YY_BREAK
2498 /* Quoted strings. Strip leading and ending quotes */
2499 case 127:
2500 YY_RULE_SETUP
2501 { BEGIN(quotedstring); LEXOUT(("QS ")); }
2502 	YY_BREAK
2503 case YY_STATE_EOF(quotedstring):
2504 {
2505         yyerror("EOF inside quoted string");
2506 	if(--num_args == 0) { BEGIN(INITIAL); }
2507 	else		    { BEGIN(val); }
2508 }
2509 	YY_BREAK
2510 case 128:
2511 YY_RULE_SETUP
2512 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
2513 	YY_BREAK
2514 case 129:
2515 /* rule 129 can match eol */
2516 YY_RULE_SETUP
2517 { yyerror("newline inside quoted string, no end \"");
2518 			  cfg_parser->line++; BEGIN(INITIAL); }
2519 	YY_BREAK
2520 case 130:
2521 YY_RULE_SETUP
2522 {
2523         LEXOUT(("QE "));
2524 	if(--num_args == 0) { BEGIN(INITIAL); }
2525 	else		    { BEGIN(val); }
2526         yytext[yyleng - 1] = '\0';
2527 	yylval.str = strdup(yytext);
2528 	if(!yylval.str)
2529 		yyerror("out of memory");
2530         return STRING_ARG;
2531 }
2532 	YY_BREAK
2533 /* Single Quoted strings. Strip leading and ending quotes */
2534 case 131:
2535 YY_RULE_SETUP
2536 { BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
2537 	YY_BREAK
2538 case YY_STATE_EOF(singlequotedstr):
2539 {
2540         yyerror("EOF inside quoted string");
2541 	if(--num_args == 0) { BEGIN(INITIAL); }
2542 	else		    { BEGIN(val); }
2543 }
2544 	YY_BREAK
2545 case 132:
2546 YY_RULE_SETUP
2547 { LEXOUT(("STR(%s) ", yytext)); yymore(); }
2548 	YY_BREAK
2549 case 133:
2550 /* rule 133 can match eol */
2551 YY_RULE_SETUP
2552 { yyerror("newline inside quoted string, no end '");
2553 			     cfg_parser->line++; BEGIN(INITIAL); }
2554 	YY_BREAK
2555 case 134:
2556 YY_RULE_SETUP
2557 {
2558         LEXOUT(("SQE "));
2559 	if(--num_args == 0) { BEGIN(INITIAL); }
2560 	else		    { BEGIN(val); }
2561         yytext[yyleng - 1] = '\0';
2562 	yylval.str = strdup(yytext);
2563 	if(!yylval.str)
2564 		yyerror("out of memory");
2565         return STRING_ARG;
2566 }
2567 	YY_BREAK
2568 /* include: directive */
2569 case 135:
2570 YY_RULE_SETUP
2571 {
2572 	LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
2573 	YY_BREAK
2574 case YY_STATE_EOF(include):
2575 {
2576         yyerror("EOF inside include directive");
2577         BEGIN(inc_prev);
2578 }
2579 	YY_BREAK
2580 case 136:
2581 YY_RULE_SETUP
2582 { LEXOUT(("ISP ")); /* ignore */ }
2583 	YY_BREAK
2584 case 137:
2585 /* rule 137 can match eol */
2586 YY_RULE_SETUP
2587 { LEXOUT(("NL\n")); cfg_parser->line++;}
2588 	YY_BREAK
2589 case 138:
2590 YY_RULE_SETUP
2591 { LEXOUT(("IQS ")); BEGIN(include_quoted); }
2592 	YY_BREAK
2593 case 139:
2594 YY_RULE_SETUP
2595 {
2596 	LEXOUT(("Iunquotedstr(%s) ", yytext));
2597 	config_start_include_glob(yytext);
2598 	BEGIN(inc_prev);
2599 }
2600 	YY_BREAK
2601 case YY_STATE_EOF(include_quoted):
2602 {
2603         yyerror("EOF inside quoted string");
2604         BEGIN(inc_prev);
2605 }
2606 	YY_BREAK
2607 case 140:
2608 YY_RULE_SETUP
2609 { LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
2610 	YY_BREAK
2611 case 141:
2612 /* rule 141 can match eol */
2613 YY_RULE_SETUP
2614 { yyerror("newline before \" in include name");
2615 				  cfg_parser->line++; BEGIN(inc_prev); }
2616 	YY_BREAK
2617 case 142:
2618 YY_RULE_SETUP
2619 {
2620 	LEXOUT(("IQE "));
2621 	yytext[yyleng - 1] = '\0';
2622 	config_start_include_glob(yytext);
2623 	BEGIN(inc_prev);
2624 }
2625 	YY_BREAK
2626 case YY_STATE_EOF(INITIAL):
2627 case YY_STATE_EOF(val):
2628 {
2629 	LEXOUT(("LEXEOF "));
2630 	yy_set_bol(1); /* Set beginning of line, so "^" rules match.  */
2631 	if (!config_include_stack) {
2632 		yyterminate();
2633 	} else {
2634 		fclose(yyin);
2635 		config_end_include();
2636 	}
2637 }
2638 	YY_BREAK
2639 case 143:
2640 YY_RULE_SETUP
2641 { LEXOUT(("unquotedstr(%s) ", yytext));
2642 			if(--num_args == 0) { BEGIN(INITIAL); }
2643 			yylval.str = strdup(yytext); return STRING_ARG; }
2644 	YY_BREAK
2645 case 144:
2646 YY_RULE_SETUP
2647 {
2648 	ub_c_error_msg("unknown keyword '%s'", yytext);
2649 	}
2650 	YY_BREAK
2651 case 145:
2652 YY_RULE_SETUP
2653 {
2654 	ub_c_error_msg("stray '%s'", yytext);
2655 	}
2656 	YY_BREAK
2657 case 146:
2658 YY_RULE_SETUP
2659 ECHO;
2660 	YY_BREAK
2661 
2662 	case YY_END_OF_BUFFER:
2663 		{
2664 		/* Amount of text matched not including the EOB char. */
2665 		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2666 
2667 		/* Undo the effects of YY_DO_BEFORE_ACTION. */
2668 		*yy_cp = (yy_hold_char);
2669 		YY_RESTORE_YY_MORE_OFFSET
2670 
2671 		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2672 			{
2673 			/* We're scanning a new file or input source.  It's
2674 			 * possible that this happened because the user
2675 			 * just pointed yyin at a new source and called
2676 			 * yylex().  If so, then we have to assure
2677 			 * consistency between YY_CURRENT_BUFFER and our
2678 			 * globals.  Here is the right place to do so, because
2679 			 * this is the first action (other than possibly a
2680 			 * back-up) that will match for the new input source.
2681 			 */
2682 			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2683 			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2684 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2685 			}
2686 
2687 		/* Note that here we test for yy_c_buf_p "<=" to the position
2688 		 * of the first EOB in the buffer, since yy_c_buf_p will
2689 		 * already have been incremented past the NUL character
2690 		 * (since all states make transitions on EOB to the
2691 		 * end-of-buffer state).  Contrast this with the test
2692 		 * in input().
2693 		 */
2694 		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2695 			{ /* This was really a NUL. */
2696 			yy_state_type yy_next_state;
2697 
2698 			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2699 
2700 			yy_current_state = yy_get_previous_state(  );
2701 
2702 			/* Okay, we're now positioned to make the NUL
2703 			 * transition.  We couldn't have
2704 			 * yy_get_previous_state() go ahead and do it
2705 			 * for us because it doesn't know how to deal
2706 			 * with the possibility of jamming (and we don't
2707 			 * want to build jamming into it because then it
2708 			 * will run more slowly).
2709 			 */
2710 
2711 			yy_next_state = yy_try_NUL_trans( yy_current_state );
2712 
2713 			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2714 
2715 			if ( yy_next_state )
2716 				{
2717 				/* Consume the NUL. */
2718 				yy_cp = ++(yy_c_buf_p);
2719 				yy_current_state = yy_next_state;
2720 				goto yy_match;
2721 				}
2722 
2723 			else
2724 				{
2725 				yy_cp = (yy_c_buf_p);
2726 				goto yy_find_action;
2727 				}
2728 			}
2729 
2730 		else switch ( yy_get_next_buffer(  ) )
2731 			{
2732 			case EOB_ACT_END_OF_FILE:
2733 				{
2734 				(yy_did_buffer_switch_on_eof) = 0;
2735 
2736 				if ( yywrap( ) )
2737 					{
2738 					/* Note: because we've taken care in
2739 					 * yy_get_next_buffer() to have set up
2740 					 * yytext, we can now set up
2741 					 * yy_c_buf_p so that if some total
2742 					 * hoser (like flex itself) wants to
2743 					 * call the scanner after we return the
2744 					 * YY_NULL, it'll still work - another
2745 					 * YY_NULL will get returned.
2746 					 */
2747 					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2748 
2749 					yy_act = YY_STATE_EOF(YY_START);
2750 					goto do_action;
2751 					}
2752 
2753 				else
2754 					{
2755 					if ( ! (yy_did_buffer_switch_on_eof) )
2756 						YY_NEW_FILE;
2757 					}
2758 				break;
2759 				}
2760 
2761 			case EOB_ACT_CONTINUE_SCAN:
2762 				(yy_c_buf_p) =
2763 					(yytext_ptr) + yy_amount_of_matched_text;
2764 
2765 				yy_current_state = yy_get_previous_state(  );
2766 
2767 				yy_cp = (yy_c_buf_p);
2768 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2769 				goto yy_match;
2770 
2771 			case EOB_ACT_LAST_MATCH:
2772 				(yy_c_buf_p) =
2773 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2774 
2775 				yy_current_state = yy_get_previous_state(  );
2776 
2777 				yy_cp = (yy_c_buf_p);
2778 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2779 				goto yy_find_action;
2780 			}
2781 		break;
2782 		}
2783 
2784 	default:
2785 		YY_FATAL_ERROR(
2786 			"fatal flex scanner internal error--no action found" );
2787 	} /* end of action switch */
2788 		} /* end of scanning one token */
2789 } /* end of yylex */
2790 
2791 /* yy_get_next_buffer - try to read in a new buffer
2792  *
2793  * Returns a code representing an action:
2794  *	EOB_ACT_LAST_MATCH -
2795  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2796  *	EOB_ACT_END_OF_FILE - end of file
2797  */
2798 static int yy_get_next_buffer (void)
2799 {
2800     	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2801 	char *source = (yytext_ptr);
2802 	int number_to_move, i;
2803 	int ret_val;
2804 
2805 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2806 		YY_FATAL_ERROR(
2807 		"fatal flex scanner internal error--end of buffer missed" );
2808 
2809 	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2810 		{ /* Don't try to fill the buffer, so this is an EOF. */
2811 		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2812 			{
2813 			/* We matched a single character, the EOB, so
2814 			 * treat this as a final EOF.
2815 			 */
2816 			return EOB_ACT_END_OF_FILE;
2817 			}
2818 
2819 		else
2820 			{
2821 			/* We matched some text prior to the EOB, first
2822 			 * process it.
2823 			 */
2824 			return EOB_ACT_LAST_MATCH;
2825 			}
2826 		}
2827 
2828 	/* Try to read more data. */
2829 
2830 	/* First move last chars to start of buffer. */
2831 	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
2832 
2833 	for ( i = 0; i < number_to_move; ++i )
2834 		*(dest++) = *(source++);
2835 
2836 	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2837 		/* don't do the read, it's not guaranteed to return an EOF,
2838 		 * just force an EOF
2839 		 */
2840 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2841 
2842 	else
2843 		{
2844 			yy_size_t num_to_read =
2845 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2846 
2847 		while ( num_to_read <= 0 )
2848 			{ /* Not enough room in the buffer - grow it. */
2849 
2850 			/* just a shorter name for the current buffer */
2851 			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
2852 
2853 			int yy_c_buf_p_offset =
2854 				(int) ((yy_c_buf_p) - b->yy_ch_buf);
2855 
2856 			if ( b->yy_is_our_buffer )
2857 				{
2858 				yy_size_t new_size = b->yy_buf_size * 2;
2859 
2860 				if ( new_size <= 0 )
2861 					b->yy_buf_size += b->yy_buf_size / 8;
2862 				else
2863 					b->yy_buf_size *= 2;
2864 
2865 				b->yy_ch_buf = (char *)
2866 					/* Include room in for 2 EOB chars. */
2867 					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
2868 				}
2869 			else
2870 				/* Can't grow it, we don't own it. */
2871 				b->yy_ch_buf = 0;
2872 
2873 			if ( ! b->yy_ch_buf )
2874 				YY_FATAL_ERROR(
2875 				"fatal error - scanner input buffer overflow" );
2876 
2877 			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2878 
2879 			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2880 						number_to_move - 1;
2881 
2882 			}
2883 
2884 		if ( num_to_read > YY_READ_BUF_SIZE )
2885 			num_to_read = YY_READ_BUF_SIZE;
2886 
2887 		/* Read in more data. */
2888 		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2889 			(yy_n_chars), num_to_read );
2890 
2891 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2892 		}
2893 
2894 	if ( (yy_n_chars) == 0 )
2895 		{
2896 		if ( number_to_move == YY_MORE_ADJ )
2897 			{
2898 			ret_val = EOB_ACT_END_OF_FILE;
2899 			yyrestart(yyin  );
2900 			}
2901 
2902 		else
2903 			{
2904 			ret_val = EOB_ACT_LAST_MATCH;
2905 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2906 				YY_BUFFER_EOF_PENDING;
2907 			}
2908 		}
2909 
2910 	else
2911 		ret_val = EOB_ACT_CONTINUE_SCAN;
2912 
2913 	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2914 		/* Extend the array by 50%, plus the number we really need. */
2915 		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2916 		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
2917 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2918 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2919 	}
2920 
2921 	(yy_n_chars) += number_to_move;
2922 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2923 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2924 
2925 	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2926 
2927 	return ret_val;
2928 }
2929 
2930 /* yy_get_previous_state - get the state just before the EOB char was reached */
2931 
2932     static yy_state_type yy_get_previous_state (void)
2933 {
2934 	yy_state_type yy_current_state;
2935 	char *yy_cp;
2936 
2937 	yy_current_state = (yy_start);
2938 
2939 	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2940 		{
2941 		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2942 		if ( yy_accept[yy_current_state] )
2943 			{
2944 			(yy_last_accepting_state) = yy_current_state;
2945 			(yy_last_accepting_cpos) = yy_cp;
2946 			}
2947 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2948 			{
2949 			yy_current_state = (int) yy_def[yy_current_state];
2950 			if ( yy_current_state >= 1383 )
2951 				yy_c = yy_meta[(unsigned int) yy_c];
2952 			}
2953 		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2954 		}
2955 
2956 	return yy_current_state;
2957 }
2958 
2959 /* yy_try_NUL_trans - try to make a transition on the NUL character
2960  *
2961  * synopsis
2962  *	next_state = yy_try_NUL_trans( current_state );
2963  */
2964     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
2965 {
2966 	int yy_is_jam;
2967     	char *yy_cp = (yy_c_buf_p);
2968 
2969 	YY_CHAR yy_c = 1;
2970 	if ( yy_accept[yy_current_state] )
2971 		{
2972 		(yy_last_accepting_state) = yy_current_state;
2973 		(yy_last_accepting_cpos) = yy_cp;
2974 		}
2975 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2976 		{
2977 		yy_current_state = (int) yy_def[yy_current_state];
2978 		if ( yy_current_state >= 1383 )
2979 			yy_c = yy_meta[(unsigned int) yy_c];
2980 		}
2981 	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2982 	yy_is_jam = (yy_current_state == 1382);
2983 
2984 		return yy_is_jam ? 0 : yy_current_state;
2985 }
2986 
2987 #ifndef YY_NO_INPUT
2988 #ifdef __cplusplus
2989     static int yyinput (void)
2990 #else
2991     static int input  (void)
2992 #endif
2993 
2994 {
2995 	int c;
2996 
2997 	*(yy_c_buf_p) = (yy_hold_char);
2998 
2999 	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3000 		{
3001 		/* yy_c_buf_p now points to the character we want to return.
3002 		 * If this occurs *before* the EOB characters, then it's a
3003 		 * valid NUL; if not, then we've hit the end of the buffer.
3004 		 */
3005 		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3006 			/* This was really a NUL. */
3007 			*(yy_c_buf_p) = '\0';
3008 
3009 		else
3010 			{ /* need more input */
3011 			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
3012 			++(yy_c_buf_p);
3013 
3014 			switch ( yy_get_next_buffer(  ) )
3015 				{
3016 				case EOB_ACT_LAST_MATCH:
3017 					/* This happens because yy_g_n_b()
3018 					 * sees that we've accumulated a
3019 					 * token and flags that we need to
3020 					 * try matching the token before
3021 					 * proceeding.  But for input(),
3022 					 * there's no matching to consider.
3023 					 * So convert the EOB_ACT_LAST_MATCH
3024 					 * to EOB_ACT_END_OF_FILE.
3025 					 */
3026 
3027 					/* Reset buffer status. */
3028 					yyrestart(yyin );
3029 
3030 					/*FALLTHROUGH*/
3031 
3032 				case EOB_ACT_END_OF_FILE:
3033 					{
3034 					if ( yywrap( ) )
3035 						return EOF;
3036 
3037 					if ( ! (yy_did_buffer_switch_on_eof) )
3038 						YY_NEW_FILE;
3039 #ifdef __cplusplus
3040 					return yyinput();
3041 #else
3042 					return input();
3043 #endif
3044 					}
3045 
3046 				case EOB_ACT_CONTINUE_SCAN:
3047 					(yy_c_buf_p) = (yytext_ptr) + offset;
3048 					break;
3049 				}
3050 			}
3051 		}
3052 
3053 	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
3054 	*(yy_c_buf_p) = '\0';	/* preserve yytext */
3055 	(yy_hold_char) = *++(yy_c_buf_p);
3056 
3057 	return c;
3058 }
3059 #endif	/* ifndef YY_NO_INPUT */
3060 
3061 /** Immediately switch to a different input stream.
3062  * @param input_file A readable stream.
3063  *
3064  * @note This function does not reset the start condition to @c INITIAL .
3065  */
3066     void yyrestart  (FILE * input_file )
3067 {
3068 
3069 	if ( ! YY_CURRENT_BUFFER ){
3070         yyensure_buffer_stack ();
3071 		YY_CURRENT_BUFFER_LVALUE =
3072             yy_create_buffer(yyin,YY_BUF_SIZE );
3073 	}
3074 
3075 	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
3076 	yy_load_buffer_state( );
3077 }
3078 
3079 /** Switch to a different input buffer.
3080  * @param new_buffer The new input buffer.
3081  *
3082  */
3083     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
3084 {
3085 
3086 	/* TODO. We should be able to replace this entire function body
3087 	 * with
3088 	 *		yypop_buffer_state();
3089 	 *		yypush_buffer_state(new_buffer);
3090      */
3091 	yyensure_buffer_stack ();
3092 	if ( YY_CURRENT_BUFFER == new_buffer )
3093 		return;
3094 
3095 	if ( YY_CURRENT_BUFFER )
3096 		{
3097 		/* Flush out information for old buffer. */
3098 		*(yy_c_buf_p) = (yy_hold_char);
3099 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3100 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3101 		}
3102 
3103 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
3104 	yy_load_buffer_state( );
3105 
3106 	/* We don't actually know whether we did this switch during
3107 	 * EOF (yywrap()) processing, but the only time this flag
3108 	 * is looked at is after yywrap() is called, so it's safe
3109 	 * to go ahead and always set it.
3110 	 */
3111 	(yy_did_buffer_switch_on_eof) = 1;
3112 }
3113 
3114 static void yy_load_buffer_state  (void)
3115 {
3116     	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3117 	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3118 	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3119 	(yy_hold_char) = *(yy_c_buf_p);
3120 }
3121 
3122 /** Allocate and initialize an input buffer state.
3123  * @param file A readable stream.
3124  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3125  *
3126  * @return the allocated buffer state.
3127  */
3128     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
3129 {
3130 	YY_BUFFER_STATE b;
3131 
3132 	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
3133 	if ( ! b )
3134 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3135 
3136 	b->yy_buf_size = size;
3137 
3138 	/* yy_ch_buf has to be 2 characters longer than the size given because
3139 	 * we need to put in 2 end-of-buffer characters.
3140 	 */
3141 	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
3142 	if ( ! b->yy_ch_buf )
3143 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3144 
3145 	b->yy_is_our_buffer = 1;
3146 
3147 	yy_init_buffer(b,file );
3148 
3149 	return b;
3150 }
3151 
3152 /** Destroy the buffer.
3153  * @param b a buffer created with yy_create_buffer()
3154  *
3155  */
3156     void yy_delete_buffer (YY_BUFFER_STATE  b )
3157 {
3158 
3159 	if ( ! b )
3160 		return;
3161 
3162 	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3163 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3164 
3165 	if ( b->yy_is_our_buffer )
3166 		yyfree((void *) b->yy_ch_buf  );
3167 
3168 	yyfree((void *) b  );
3169 }
3170 
3171 /* Initializes or reinitializes a buffer.
3172  * This function is sometimes called more than once on the same buffer,
3173  * such as during a yyrestart() or at EOF.
3174  */
3175     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
3176 
3177 {
3178 	int oerrno = errno;
3179 
3180 	yy_flush_buffer(b );
3181 
3182 	b->yy_input_file = file;
3183 	b->yy_fill_buffer = 1;
3184 
3185     /* If b is the current buffer, then yy_init_buffer was _probably_
3186      * called from yyrestart() or through yy_get_next_buffer.
3187      * In that case, we don't want to reset the lineno or column.
3188      */
3189     if (b != YY_CURRENT_BUFFER){
3190         b->yy_bs_lineno = 1;
3191         b->yy_bs_column = 0;
3192     }
3193 
3194         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3195 
3196 	errno = oerrno;
3197 }
3198 
3199 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3200  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3201  *
3202  */
3203     void yy_flush_buffer (YY_BUFFER_STATE  b )
3204 {
3205     	if ( ! b )
3206 		return;
3207 
3208 	b->yy_n_chars = 0;
3209 
3210 	/* We always need two end-of-buffer characters.  The first causes
3211 	 * a transition to the end-of-buffer state.  The second causes
3212 	 * a jam in that state.
3213 	 */
3214 	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3215 	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3216 
3217 	b->yy_buf_pos = &b->yy_ch_buf[0];
3218 
3219 	b->yy_at_bol = 1;
3220 	b->yy_buffer_status = YY_BUFFER_NEW;
3221 
3222 	if ( b == YY_CURRENT_BUFFER )
3223 		yy_load_buffer_state( );
3224 }
3225 
3226 /** Pushes the new state onto the stack. The new state becomes
3227  *  the current state. This function will allocate the stack
3228  *  if necessary.
3229  *  @param new_buffer The new state.
3230  *
3231  */
3232 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3233 {
3234     	if (new_buffer == NULL)
3235 		return;
3236 
3237 	yyensure_buffer_stack();
3238 
3239 	/* This block is copied from yy_switch_to_buffer. */
3240 	if ( YY_CURRENT_BUFFER )
3241 		{
3242 		/* Flush out information for old buffer. */
3243 		*(yy_c_buf_p) = (yy_hold_char);
3244 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3245 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3246 		}
3247 
3248 	/* Only push if top exists. Otherwise, replace top. */
3249 	if (YY_CURRENT_BUFFER)
3250 		(yy_buffer_stack_top)++;
3251 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
3252 
3253 	/* copied from yy_switch_to_buffer. */
3254 	yy_load_buffer_state( );
3255 	(yy_did_buffer_switch_on_eof) = 1;
3256 }
3257 
3258 /** Removes and deletes the top of the stack, if present.
3259  *  The next element becomes the new top.
3260  *
3261  */
3262 void yypop_buffer_state (void)
3263 {
3264     	if (!YY_CURRENT_BUFFER)
3265 		return;
3266 
3267 	yy_delete_buffer(YY_CURRENT_BUFFER );
3268 	YY_CURRENT_BUFFER_LVALUE = NULL;
3269 	if ((yy_buffer_stack_top) > 0)
3270 		--(yy_buffer_stack_top);
3271 
3272 	if (YY_CURRENT_BUFFER) {
3273 		yy_load_buffer_state( );
3274 		(yy_did_buffer_switch_on_eof) = 1;
3275 	}
3276 }
3277 
3278 /* Allocates the stack if it does not exist.
3279  *  Guarantees space for at least one push.
3280  */
3281 static void yyensure_buffer_stack (void)
3282 {
3283 	yy_size_t num_to_alloc;
3284 
3285 	if (!(yy_buffer_stack)) {
3286 
3287 		/* First allocation is just for 2 elements, since we don't know if this
3288 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3289 		 * immediate realloc on the next call.
3290          */
3291 		num_to_alloc = 1;
3292 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3293 								(num_to_alloc * sizeof(struct yy_buffer_state*)
3294 								);
3295 		if ( ! (yy_buffer_stack) )
3296 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3297 
3298 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3299 
3300 		(yy_buffer_stack_max) = num_to_alloc;
3301 		(yy_buffer_stack_top) = 0;
3302 		return;
3303 	}
3304 
3305 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3306 
3307 		/* Increase the buffer to prepare for a possible push. */
3308 		int grow_size = 8 /* arbitrary grow size */;
3309 
3310 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
3311 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3312 								((yy_buffer_stack),
3313 								num_to_alloc * sizeof(struct yy_buffer_state*)
3314 								);
3315 		if ( ! (yy_buffer_stack) )
3316 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3317 
3318 		/* zero only the new slots.*/
3319 		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3320 		(yy_buffer_stack_max) = num_to_alloc;
3321 	}
3322 }
3323 
3324 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3325  * @param base the character buffer
3326  * @param size the size in bytes of the character buffer
3327  *
3328  * @return the newly allocated buffer state object.
3329  */
3330 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
3331 {
3332 	YY_BUFFER_STATE b;
3333 
3334 	if ( size < 2 ||
3335 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
3336 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
3337 		/* They forgot to leave room for the EOB's. */
3338 		return 0;
3339 
3340 	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
3341 	if ( ! b )
3342 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3343 
3344 	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
3345 	b->yy_buf_pos = b->yy_ch_buf = base;
3346 	b->yy_is_our_buffer = 0;
3347 	b->yy_input_file = 0;
3348 	b->yy_n_chars = b->yy_buf_size;
3349 	b->yy_is_interactive = 0;
3350 	b->yy_at_bol = 1;
3351 	b->yy_fill_buffer = 0;
3352 	b->yy_buffer_status = YY_BUFFER_NEW;
3353 
3354 	yy_switch_to_buffer(b  );
3355 
3356 	return b;
3357 }
3358 
3359 /** Setup the input buffer state to scan a string. The next call to yylex() will
3360  * scan from a @e copy of @a str.
3361  * @param yystr a NUL-terminated string to scan
3362  *
3363  * @return the newly allocated buffer state object.
3364  * @note If you want to scan bytes that may contain NUL values, then use
3365  *       yy_scan_bytes() instead.
3366  */
3367 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
3368 {
3369 
3370 	return yy_scan_bytes(yystr,strlen(yystr) );
3371 }
3372 
3373 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3374  * scan from a @e copy of @a bytes.
3375  * @param yybytes the byte buffer to scan
3376  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3377  *
3378  * @return the newly allocated buffer state object.
3379  */
3380 YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
3381 {
3382 	YY_BUFFER_STATE b;
3383 	char *buf;
3384 	yy_size_t n;
3385 	yy_size_t i;
3386 
3387 	/* Get memory for full buffer, including space for trailing EOB's. */
3388 	n = _yybytes_len + 2;
3389 	buf = (char *) yyalloc(n  );
3390 	if ( ! buf )
3391 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3392 
3393 	for ( i = 0; i < _yybytes_len; ++i )
3394 		buf[i] = yybytes[i];
3395 
3396 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3397 
3398 	b = yy_scan_buffer(buf,n );
3399 	if ( ! b )
3400 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3401 
3402 	/* It's okay to grow etc. this buffer, and we should throw it
3403 	 * away when we're done.
3404 	 */
3405 	b->yy_is_our_buffer = 1;
3406 
3407 	return b;
3408 }
3409 
3410 #ifndef YY_EXIT_FAILURE
3411 #define YY_EXIT_FAILURE 2
3412 #endif
3413 
3414 static void yy_fatal_error (yyconst char* msg )
3415 {
3416     	(void) fprintf( stderr, "%s\n", msg );
3417 	exit( YY_EXIT_FAILURE );
3418 }
3419 
3420 /* Redefine yyless() so it works in section 3 code. */
3421 
3422 #undef yyless
3423 #define yyless(n) \
3424 	do \
3425 		{ \
3426 		/* Undo effects of setting up yytext. */ \
3427         int yyless_macro_arg = (n); \
3428         YY_LESS_LINENO(yyless_macro_arg);\
3429 		yytext[yyleng] = (yy_hold_char); \
3430 		(yy_c_buf_p) = yytext + yyless_macro_arg; \
3431 		(yy_hold_char) = *(yy_c_buf_p); \
3432 		*(yy_c_buf_p) = '\0'; \
3433 		yyleng = yyless_macro_arg; \
3434 		} \
3435 	while ( 0 )
3436 
3437 /* Accessor  methods (get/set functions) to struct members. */
3438 
3439 /** Get the current line number.
3440  *
3441  */
3442 int yyget_lineno  (void)
3443 {
3444 
3445     return yylineno;
3446 }
3447 
3448 /** Get the input stream.
3449  *
3450  */
3451 FILE *yyget_in  (void)
3452 {
3453         return yyin;
3454 }
3455 
3456 /** Get the output stream.
3457  *
3458  */
3459 FILE *yyget_out  (void)
3460 {
3461         return yyout;
3462 }
3463 
3464 /** Get the length of the current token.
3465  *
3466  */
3467 yy_size_t yyget_leng  (void)
3468 {
3469         return yyleng;
3470 }
3471 
3472 /** Get the current token.
3473  *
3474  */
3475 
3476 char *yyget_text  (void)
3477 {
3478         return yytext;
3479 }
3480 
3481 /** Set the current line number.
3482  * @param line_number
3483  *
3484  */
3485 void yyset_lineno (int  line_number )
3486 {
3487 
3488     yylineno = line_number;
3489 }
3490 
3491 /** Set the input stream. This does not discard the current
3492  * input buffer.
3493  * @param in_str A readable stream.
3494  *
3495  * @see yy_switch_to_buffer
3496  */
3497 void yyset_in (FILE *  in_str )
3498 {
3499         yyin = in_str ;
3500 }
3501 
3502 void yyset_out (FILE *  out_str )
3503 {
3504         yyout = out_str ;
3505 }
3506 
3507 int yyget_debug  (void)
3508 {
3509         return yy_flex_debug;
3510 }
3511 
3512 void yyset_debug (int  bdebug )
3513 {
3514         yy_flex_debug = bdebug ;
3515 }
3516 
3517 static int yy_init_globals (void)
3518 {
3519         /* Initialization is the same as for the non-reentrant scanner.
3520      * This function is called from yylex_destroy(), so don't allocate here.
3521      */
3522 
3523     (yy_buffer_stack) = 0;
3524     (yy_buffer_stack_top) = 0;
3525     (yy_buffer_stack_max) = 0;
3526     (yy_c_buf_p) = (char *) 0;
3527     (yy_init) = 0;
3528     (yy_start) = 0;
3529 
3530 /* Defined in main.c */
3531 #ifdef YY_STDINIT
3532     yyin = stdin;
3533     yyout = stdout;
3534 #else
3535     yyin = (FILE *) 0;
3536     yyout = (FILE *) 0;
3537 #endif
3538 
3539     /* For future reference: Set errno on error, since we are called by
3540      * yylex_init()
3541      */
3542     return 0;
3543 }
3544 
3545 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
3546 int yylex_destroy  (void)
3547 {
3548 
3549     /* Pop the buffer stack, destroying each element. */
3550 	while(YY_CURRENT_BUFFER){
3551 		yy_delete_buffer(YY_CURRENT_BUFFER  );
3552 		YY_CURRENT_BUFFER_LVALUE = NULL;
3553 		yypop_buffer_state();
3554 	}
3555 
3556 	/* Destroy the stack itself. */
3557 	yyfree((yy_buffer_stack) );
3558 	(yy_buffer_stack) = NULL;
3559 
3560     /* Reset the globals. This is important in a non-reentrant scanner so the next time
3561      * yylex() is called, initialization will occur. */
3562     yy_init_globals( );
3563 
3564     return 0;
3565 }
3566 
3567 /*
3568  * Internal utility routines.
3569  */
3570 
3571 #ifndef yytext_ptr
3572 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3573 {
3574 	int i;
3575 	for ( i = 0; i < n; ++i )
3576 		s1[i] = s2[i];
3577 }
3578 #endif
3579 
3580 #ifdef YY_NEED_STRLEN
3581 static int yy_flex_strlen (yyconst char * s )
3582 {
3583 	int n;
3584 	for ( n = 0; s[n]; ++n )
3585 		;
3586 
3587 	return n;
3588 }
3589 #endif
3590 
3591 void *yyalloc (yy_size_t  size )
3592 {
3593 	return (void *) malloc( size );
3594 }
3595 
3596 void *yyrealloc  (void * ptr, yy_size_t  size )
3597 {
3598 	/* The cast to (char *) in the following accommodates both
3599 	 * implementations that use char* generic pointers, and those
3600 	 * that use void* generic pointers.  It works with the latter
3601 	 * because both ANSI C and C++ allow castless assignment from
3602 	 * any pointer type to void*, and deal with argument conversions
3603 	 * as though doing an assignment.
3604 	 */
3605 	return (void *) realloc( (char *) ptr, size );
3606 }
3607 
3608 void yyfree (void * ptr )
3609 {
3610 	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
3611 }
3612 
3613 #define YYTABLES_NAME "yytables"
3614 
3615