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