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