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