Coverage Report

Created: 2026-01-25 06:11

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