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