Coverage Report

Created: 2025-11-01 06:07

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/selinux/checkpolicy/lex.yy.c
Line
Count
Source
1
2
#line 3 "lex.yy.c"
3
4
#define  YY_INT_ALIGNED short int
5
6
/* A lexical scanner generated by flex */
7
8
#define FLEX_SCANNER
9
#define YY_FLEX_MAJOR_VERSION 2
10
#define YY_FLEX_MINOR_VERSION 6
11
#define YY_FLEX_SUBMINOR_VERSION 4
12
#if YY_FLEX_SUBMINOR_VERSION > 0
13
#define FLEX_BETA
14
#endif
15
16
/* First, we deal with  platform-specific or compiler-specific issues. */
17
18
/* begin standard C headers. */
19
#include <stdio.h>
20
#include <string.h>
21
#include <errno.h>
22
#include <stdlib.h>
23
24
/* end standard C headers. */
25
26
/* flex integer type definitions */
27
28
#ifndef FLEXINT_H
29
#define FLEXINT_H
30
31
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
32
33
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
34
35
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
36
 * if you want the limit (max/min) macros for int types. 
37
 */
38
#ifndef __STDC_LIMIT_MACROS
39
#define __STDC_LIMIT_MACROS 1
40
#endif
41
42
#include <inttypes.h>
43
typedef int8_t flex_int8_t;
44
typedef uint8_t flex_uint8_t;
45
typedef int16_t flex_int16_t;
46
typedef uint16_t flex_uint16_t;
47
typedef int32_t flex_int32_t;
48
typedef uint32_t flex_uint32_t;
49
#else
50
typedef signed char flex_int8_t;
51
typedef short int flex_int16_t;
52
typedef int flex_int32_t;
53
typedef unsigned char flex_uint8_t; 
54
typedef unsigned short int flex_uint16_t;
55
typedef unsigned int flex_uint32_t;
56
57
/* Limits of integral types. */
58
#ifndef INT8_MIN
59
#define INT8_MIN               (-128)
60
#endif
61
#ifndef INT16_MIN
62
#define INT16_MIN              (-32767-1)
63
#endif
64
#ifndef INT32_MIN
65
#define INT32_MIN              (-2147483647-1)
66
#endif
67
#ifndef INT8_MAX
68
#define INT8_MAX               (127)
69
#endif
70
#ifndef INT16_MAX
71
#define INT16_MAX              (32767)
72
#endif
73
#ifndef INT32_MAX
74
#define INT32_MAX              (2147483647)
75
#endif
76
#ifndef UINT8_MAX
77
#define UINT8_MAX              (255U)
78
#endif
79
#ifndef UINT16_MAX
80
#define UINT16_MAX             (65535U)
81
#endif
82
#ifndef UINT32_MAX
83
#define UINT32_MAX             (4294967295U)
84
#endif
85
86
#ifndef SIZE_MAX
87
#define SIZE_MAX               (~(size_t)0)
88
#endif
89
90
#endif /* ! C99 */
91
92
#endif /* ! FLEXINT_H */
93
94
/* begin standard C++ headers. */
95
96
/* TODO: this is always defined, so inline it */
97
#define yyconst const
98
99
#if defined(__GNUC__) && __GNUC__ >= 3
100
#define yynoreturn __attribute__((__noreturn__))
101
#else
102
#define yynoreturn
103
#endif
104
105
/* Returned upon end-of-file. */
106
7.96k
#define YY_NULL 0
107
108
/* Promotes a possibly negative, possibly signed char to an
109
 *   integer in range [0..255] for use as an array index.
110
 */
111
356M
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
112
113
/* Enter a start condition.  This macro really ought to take a parameter,
114
 * but we do it the disgusting crufty way forced on us by the ()-less
115
 * definition of BEGIN.
116
 */
117
#define BEGIN (yy_start) = 1 + 2 *
118
/* Translate the current start state into a value that can be later handed
119
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
120
 * compatibility.
121
 */
122
#define YY_START (((yy_start) - 1) / 2)
123
#define YYSTATE YY_START
124
/* Action number for EOF rule of a given start state. */
125
15.9k
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
126
/* Special action meaning "start processing a new file". */
127
0
#define YY_NEW_FILE yyrestart( yyin  )
128
131k
#define YY_END_OF_BUFFER_CHAR 0
129
130
/* Size of default input buffer. */
131
#ifndef YY_BUF_SIZE
132
#ifdef __ia64__
133
/* On IA-64, the buffer size is 16k, not 8k.
134
 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
135
 * Ditto for the __ia64__ case accordingly.
136
 */
137
#define YY_BUF_SIZE 32768
138
#else
139
8.12k
#define YY_BUF_SIZE 16384
140
#endif /* __ia64__ */
141
#endif
142
143
/* The state buf must be large enough to hold one state per character in the main buffer.
144
 */
145
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
146
147
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
148
#define YY_TYPEDEF_YY_BUFFER_STATE
149
typedef struct yy_buffer_state *YY_BUFFER_STATE;
150
#endif
151
152
#ifndef YY_TYPEDEF_YY_SIZE_T
153
#define YY_TYPEDEF_YY_SIZE_T
154
typedef size_t yy_size_t;
155
#endif
156
157
extern int yyleng;
158
159
extern FILE *yyin, *yyout;
160
161
32.3k
#define EOB_ACT_CONTINUE_SCAN 0
162
15.9k
#define EOB_ACT_END_OF_FILE 1
163
41.6k
#define EOB_ACT_LAST_MATCH 2
164
    
165
    #define YY_LESS_LINENO(n)
166
    #define YY_LINENO_REWIND_TO(ptr)
167
    
168
/* Return all but the first "n" matched characters back to the input stream. */
169
#define yyless(n) \
170
1.92M
  do \
171
1.92M
    { \
172
1.92M
    /* Undo effects of setting up yytext. */ \
173
1.92M
        int yyless_macro_arg = (n); \
174
1.92M
        YY_LESS_LINENO(yyless_macro_arg);\
175
1.92M
    *yy_cp = (yy_hold_char); \
176
1.92M
    YY_RESTORE_YY_MORE_OFFSET \
177
1.92M
    (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
178
1.92M
    YY_DO_BEFORE_ACTION; /* set up yytext again */ \
179
1.92M
    } \
180
1.92M
  while ( 0 )
181
#define unput(c) yyunput( c, (yytext_ptr)  )
182
183
#ifndef YY_STRUCT_YY_BUFFER_STATE
184
#define YY_STRUCT_YY_BUFFER_STATE
185
struct yy_buffer_state
186
  {
187
  FILE *yy_input_file;
188
189
  char *yy_ch_buf;    /* input buffer */
190
  char *yy_buf_pos;   /* current position in input buffer */
191
192
  /* Size of input buffer in bytes, not including room for EOB
193
   * characters.
194
   */
195
  int yy_buf_size;
196
197
  /* Number of characters read into yy_ch_buf, not including EOB
198
   * characters.
199
   */
200
  int yy_n_chars;
201
202
  /* Whether we "own" the buffer - i.e., we know we created it,
203
   * and can realloc() it to grow it, and should free() it to
204
   * delete it.
205
   */
206
  int yy_is_our_buffer;
207
208
  /* Whether this is an "interactive" input source; if so, and
209
   * if we're using stdio for input, then we want to use getc()
210
   * instead of fread(), to make sure we stop fetching input after
211
   * each newline.
212
   */
213
  int yy_is_interactive;
214
215
  /* Whether we're considered to be at the beginning of a line.
216
   * If so, '^' rules will be active on the next match, otherwise
217
   * not.
218
   */
219
  int yy_at_bol;
220
221
    int yy_bs_lineno; /**< The line count. */
222
    int yy_bs_column; /**< The column count. */
223
224
  /* Whether to try to fill the input buffer when we reach the
225
   * end of it.
226
   */
227
  int yy_fill_buffer;
228
229
  int yy_buffer_status;
230
231
1.84M
#define YY_BUFFER_NEW 0
232
12.6k
#define YY_BUFFER_NORMAL 1
233
  /* When an EOF's been seen but there's still some text to process
234
   * then we mark the buffer as YY_EOF_PENDING, to indicate that we
235
   * shouldn't try reading from the input source any more.  We might
236
   * still have a bunch of tokens to match, though, because of
237
   * possible backing-up.
238
   *
239
   * When we actually see the EOF, we change the status to "new"
240
   * (via yyrestart()), so that the user can continue scanning by
241
   * just pointing yyin at a new input file.
242
   */
243
65.7k
#define YY_BUFFER_EOF_PENDING 2
244
245
  };
246
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
247
248
/* Stack of input buffers. */
249
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
250
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
251
static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
252
253
/* We provide macros for accessing buffer states in case in the
254
 * future we want to put the buffer states in a more general
255
 * "scanner state".
256
 *
257
 * Returns the top of the stack, or NULL.
258
 */
259
114k
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
260
114k
                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
261
114k
                          : NULL)
262
/* Same as previous macro, but useful when we know that the buffer stack is not
263
 * NULL or when we need an lvalue. For internal use only.
264
 */
265
4.30M
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
266
267
/* yy_hold_char holds the character lost when yytext is formed. */
268
static char yy_hold_char;
269
static int yy_n_chars;    /* number of characters read into yy_ch_buf */
270
int yyleng;
271
272
/* Points to current character in buffer. */
273
static char *yy_c_buf_p = NULL;
274
static int yy_init = 0;   /* whether we need to initialize */
275
static int yy_start = 0;  /* start state number */
276
277
/* Flag which is used to allow yywrap()'s to do buffer switches
278
 * instead of setting up a fresh yyin.  A bit of a hack ...
279
 */
280
static int yy_did_buffer_switch_on_eof;
281
282
void yyrestart ( FILE *input_file  );
283
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
284
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
285
void yy_delete_buffer ( YY_BUFFER_STATE b  );
286
void yy_flush_buffer ( YY_BUFFER_STATE b  );
287
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
288
void yypop_buffer_state ( void );
289
290
static void yyensure_buffer_stack ( void );
291
static void yy_load_buffer_state ( void );
292
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
293
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
294
295
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
296
YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
297
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
298
299
void *yyalloc ( yy_size_t  );
300
void *yyrealloc ( void *, yy_size_t  );
301
void yyfree ( void *  );
302
303
#define yy_new_buffer yy_create_buffer
304
#define yy_set_interactive(is_interactive) \
305
  { \
306
  if ( ! YY_CURRENT_BUFFER ){ \
307
        yyensure_buffer_stack (); \
308
    YY_CURRENT_BUFFER_LVALUE =    \
309
            yy_create_buffer( yyin, YY_BUF_SIZE ); \
310
  } \
311
  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
312
  }
313
#define yy_set_bol(at_bol) \
314
  { \
315
  if ( ! YY_CURRENT_BUFFER ){\
316
        yyensure_buffer_stack (); \
317
    YY_CURRENT_BUFFER_LVALUE =    \
318
            yy_create_buffer( yyin, YY_BUF_SIZE ); \
319
  } \
320
  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
321
  }
322
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
323
324
/* Begin user sect3 */
325
326
7.96k
#define yywrap() (/*CONSTCOND*/1)
327
#define YY_SKIP_YYWRAP
328
typedef flex_uint8_t YY_CHAR;
329
330
FILE *yyin = NULL, *yyout = NULL;
331
332
typedef int yy_state_type;
333
334
extern int yylineno;
335
int yylineno = 1;
336
337
extern char yytext[];
338
339
static yy_state_type yy_get_previous_state ( void );
340
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
341
static int yy_get_next_buffer ( void );
342
static void yynoreturn yy_fatal_error ( const char* msg  );
343
344
/* Done after the current pattern has been matched and before the
345
 * corresponding action - sets up yytext.
346
 */
347
#define YY_DO_BEFORE_ACTION \
348
18.9M
  (yytext_ptr) = yy_bp; \
349
18.9M
  yyleng = (int) (yy_cp - yy_bp); \
350
18.9M
  (yy_hold_char) = *yy_cp; \
351
18.9M
  *yy_cp = '\0'; \
352
18.9M
  if ( yyleng >= YYLMAX ) \
353
18.9M
    YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \
354
18.9M
  yy_flex_strncpy( yytext, (yytext_ptr), yyleng + 1 ); \
355
18.9M
  (yy_c_buf_p) = yy_cp;
356
#define YY_NUM_RULES 233
357
1.83M
#define YY_END_OF_BUFFER 234
358
/* This struct is not used in this scanner,
359
   but its presence is necessary. */
360
struct yy_trans_info
361
  {
362
  flex_int32_t yy_verify;
363
  flex_int32_t yy_nxt;
364
  };
365
static const flex_int16_t yy_accept[1321] =
366
    {   0,
367
        0,    0,  234,  232,  212,    1,  217,  232,  211,  232,
368
      222,  223,  231,  219,  227,  228,  197,  201,  201,  220,
369
      221,  232,  232,  200,  200,  200,  200,  200,  200,  200,
370
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
371
      200,  200,  200,  200,  226,  229,  218,  200,  200,  200,
372
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
373
      200,  200,  200,  200,  200,  200,  200,  224,  232,  225,
374
      230,  212,    1,  214,    0,    0,  211,  211,  215,  208,
375
      197,  208,  207,  201,    0,  202,  202,  202,    0,  205,
376
      213,  200,    0,  200,  200,  200,  200,  200,  200,  200,
377
378
      200,  200,  200,  200,  200,  200,  200,  200,  108,  200,
379
      200,  200,  200,  200,  200,  172,  174,  200,  200,   36,
380
      200,  200,  168,  170,  200,  200,  200,  200,  200,  200,
381
      200,   99,  200,  200,  200,  200,  150,  152,  154,  200,
382
      200,  200,  200,  200,  200,  200,  162,  164,  166,  200,
383
      200,  200,  200,  156,  158,  160,  200,  200,  200,  200,
384
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
385
      107,  200,  200,  200,  200,  200,  171,  173,  200,  200,
386
       37,  200,  200,  167,  169,  200,  200,  200,  200,  200,
387
      200,  200,  100,  200,  200,  200,  200,  149,  151,  153,
388
389
      200,  200,  200,  200,  200,  200,  200,  161,  163,  165,
390
      200,  200,  200,  200,  155,  157,  159,  200,  200,  200,
391
      216,  199,    0,  198,  211,  208,  208,  207,  207,  201,
392
      202,  202,  202,  202,  202,  202,  201,  201,    0,  205,
393
        0,  200,  200,  200,  200,  200,  200,  200,  200,  101,
394
      200,  200,  200,  200,  200,  200,  200,  200,  200,  114,
395
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
396
      200,  200,  200,  200,  200,  200,  194,  200,  200,  200,
397
      200,  200,  103,  200,  200,  200,  200,  200,  200,  200,
398
      200,  200,  200,  200,   12,  200,  200,  200,  200,  200,
399
400
      200,  200,  106,  200,  200,  102,  200,  200,  200,  200,
401
      200,  200,  200,  200,  200,  113,  200,  200,  200,  200,
402
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
403
      200,  200,  193,  200,  200,  200,  200,  200,  104,  200,
404
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
405
       13,  200,  200,  200,  200,  200,  200,  200,  105,  211,
406
      208,  208,  207,  207,  201,  202,  202,  202,  202,  202,
407
      202,  201,  201,    0,  206,  200,  200,  200,  200,  200,
408
      200,  200,  200,  200,   32,  200,  200,  200,  200,  200,
409
      200,  200,  200,  200,   38,  200,  200,  200,  200,  200,
410
411
      200,  192,  200,  200,  200,  200,  200,  200,  200,  200,
412
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
413
      200,  200,  200,  200,   14,  200,  200,  200,  200,  110,
414
      200,   30,   70,  200,  200,  200,  200,  200,   33,  200,
415
      200,  200,  200,  200,  200,  200,  200,  200,   39,  200,
416
      200,  200,  200,  200,  200,  191,  200,  200,  200,  200,
417
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
418
      200,  200,  200,  200,  200,  200,  200,  200,   15,  200,
419
      200,  200,  200,  109,  200,   31,   71,  200,  211,  208,
420
      208,  207,  207,  207,  201,  202,  202,  202,  201,  201,
421
422
        0,  206,  200,  200,  200,   40,   74,  200,  200,  200,
423
        4,  200,  200,  200,  200,  116,  200,  200,  200,  112,
424
      120,  200,  200,  200,  200,  200,  200,  200,  200,  200,
425
       62,  200,  200,  200,  200,  200,  200,  200,  200,  200,
426
      200,  200,  200,  200,   64,  200,  200,   16,  200,  200,
427
      200,  200,  200,  200,  200,  200,   22,  200,  200,   41,
428
       75,  200,  200,  200,    5,  200,  200,  200,  200,  115,
429
      200,  200,  200,  111,  200,  119,  200,  200,  200,  200,
430
      200,  200,  200,  200,   63,  200,  200,  200,  200,  200,
431
      200,  200,  200,  200,  200,  200,  200,  200,   65,  200,
432
433
      200,  200,   17,  200,  200,  200,  200,  200,  200,  200,
434
      200,   23,  200,  211,  208,  208,  207,  207,  201,  202,
435
      202,  202,  201,  201,  206,  200,  200,  200,  200,  200,
436
      200,  200,  200,    2,  200,  200,  200,  200,  200,  200,
437
      200,  200,  196,  200,  200,  117,  200,  200,  200,  200,
438
      200,  200,   96,  200,  200,  200,  200,  200,  200,  200,
439
      200,  200,  200,  200,  200,  200,  200,  200,   90,   92,
440
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
441
      200,  200,  200,    3,  200,  200,  200,  200,  200,  200,
442
      200,  200,  195,  200,  200,  118,  200,  200,  200,  200,
443
444
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
445
      200,  200,  200,  200,  200,  200,  200,   91,   93,  200,
446
      200,  200,  200,  200,  200,  200,  200,  210,  208,  208,
447
      204,  207,  201,  202,  202,  202,  201,  201,  200,  200,
448
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
449
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
450
      200,  200,  200,  200,  200,  130,  200,  200,  200,  132,
451
      200,  126,  200,   97,  200,  200,  200,  200,   34,  200,
452
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
453
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
454
455
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
456
      129,  200,  200,  200,  131,  200,  125,  200,  200,  200,
457
      200,  200,   35,  200,  200,  200,  200,  200,  200,  200,
458
      211,  208,  208,    0,  204,  201,  202,  202,  202,  201,
459
      201,  200,  200,  200,  200,  200,  200,  200,   60,  200,
460
      200,  200,  200,  200,  200,  200,  200,  148,  200,  200,
461
       10,  134,  200,  190,  200,  200,  128,  200,  200,   98,
462
      200,  200,  200,  200,  200,  200,   94,  200,  200,  200,
463
      200,  200,  200,  200,  200,  200,  200,  200,  200,   61,
464
      200,  200,  200,  200,  200,  200,  200,  200,  147,  200,
465
466
      200,   11,  133,  200,  189,  200,  200,  127,  200,  200,
467
      200,  200,  200,  200,  200,  200,   95,  200,  200,  200,
468
      200,  200,  200,  200,  200,  211,  208,  208,  203,  204,
469
      201,  202,  202,  202,  201,  201,  200,  200,  200,  200,
470
       42,  200,   78,    6,  200,  200,  200,  200,   58,   80,
471
      200,  200,  200,  200,  200,  122,  136,  200,  200,  200,
472
      200,  200,  200,  176,  200,  200,  200,  200,   24,  200,
473
      200,  200,  200,  200,  200,  200,   43,  200,   79,    7,
474
      200,  200,  200,  200,   59,   81,  200,  200,  200,  200,
475
      200,  121,  135,  200,  200,  200,  200,  200,  200,  175,
476
477
      200,  200,  200,  200,  200,  200,  200,   25,  200,  200,
478
      200,  211,  209,  208,  208,  203,  201,  202,  202,  202,
479
      201,  201,  200,  200,  200,   82,  200,   76,  200,  200,
480
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
481
      200,   72,  180,  200,  178,  200,  200,  200,  200,  200,
482
       28,  200,  200,  200,  200,   83,  200,   77,  200,  200,
483
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
484
      200,   73,  179,  200,  177,  200,  200,  200,  200,  200,
485
      200,  200,  200,   29,  200,  208,  208,  201,  202,  202,
486
      202,  201,  201,  200,  200,  200,  200,  200,  200,  200,
487
488
      200,  200,  200,  200,  200,  144,  200,  200,  200,  200,
489
      200,  200,  200,  200,  200,  200,   56,  200,   50,   48,
490
      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
491
      200,  143,  200,  200,  200,  200,  200,  200,  200,  200,
492
      200,  200,   57,   51,   49,  200,  200,  200,  208,  208,
493
      201,  202,  202,  202,  201,  201,  200,  200,  200,  200,
494
      200,  200,  184,  186,  182,  200,  200,  200,  146,  142,
495
      124,   66,  200,  200,  138,  200,  200,  200,  200,  200,
496
      200,  200,  200,  200,  183,  185,  181,  200,  200,  200,
497
      145,  141,  123,   67,  200,  200,  137,  200,  200,  200,
498
499
      200,  200,  200,  208,  208,  201,  202,  202,  202,  201,
500
      201,  200,  200,  200,  200,  200,  188,  140,  200,  200,
501
      200,  200,  200,   18,  200,   26,  200,    8,  200,  200,
502
      187,  139,  200,  200,  200,  200,  200,  200,   19,  200,
503
       27,    9,  208,  208,  201,  202,  202,  202,  201,  201,
504
      200,  200,  200,   20,  200,   86,  200,  200,  200,  200,
505
      200,  200,   21,  200,   87,  200,  200,  200,  200,  200,
506
      200,  208,  208,  201,  202,  202,  202,  201,  201,  200,
507
      200,  200,   84,   44,  200,   88,  200,   52,   46,   85,
508
       45,  200,   89,  200,   53,   47,  208,  208,  201,  202,
509
510
      202,  202,  201,  201,  200,  200,  200,   68,   54,   69,
511
       55,  201,  202,  202,  202,  201,  201,  200,  200,    0
512
    } ;
513
514
static const YY_CHAR yy_ec[256] =
515
    {   0,
516
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
517
        1,    2,    4,    1,    1,    1,    1,    1,    1,    1,
518
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
519
        1,    5,    6,    7,    8,    1,    1,    9,    1,   10,
520
       11,   12,    1,   13,   14,   15,   16,   17,   18,   19,
521
       20,   21,   21,   21,   21,   21,   21,   22,   23,    1,
522
       24,    1,   25,    1,   26,   27,   28,   29,   30,   31,
523
       32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
524
       42,   43,   44,   45,   46,   47,   48,   49,   50,   35,
525
       51,    1,   52,   53,   54,    1,   55,   56,   57,   58,
526
527
       59,   60,   61,   62,   63,   35,   64,   65,   66,   67,
528
       68,   69,   70,   71,   72,   73,   74,   75,   76,   77,
529
       78,   35,   79,   80,   81,   82,    1,    1,    1,    1,
530
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
531
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
532
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
533
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
534
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
535
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
536
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
537
538
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
539
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
540
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
541
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
542
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
543
        1,    1,    1,    1,    1
544
    } ;
545
546
static const YY_CHAR yy_meta[83] =
547
    {   0,
548
        1,    2,    3,    2,    2,    1,    4,    1,    1,    1,
549
        1,    5,    1,    6,    7,    8,    9,    9,    9,    9,
550
        9,   10,    1,    1,    5,    9,    9,    9,    9,    9,
551
        9,   11,   11,   11,   11,   11,   11,   11,   11,   11,
552
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
553
        1,    1,    1,   12,    9,    9,    9,    9,    9,    9,
554
       11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
555
       11,   11,   11,   11,   11,   11,   11,   11,    1,    1,
556
        1,    1
557
    } ;
558
559
static const flex_int16_t yy_base[1426] =
560
    {   0,
561
        0,    0, 2285,10752,   81,    0, 2259, 2266, 2207, 2250,
562
    10752,10752,    0,10752,10752,10752,    0,   75,  141, 2230,
563
    10752, 2225,    0,  190,   70,   82,  109,  136,   99,  252,
564
      146,  263,   54,  286,   83,  110,  147,  285,  309,  304,
565
      332,  335,  258,  149,10752,10752,10752,  322,  346,  360,
566
      363,  373,  384,  255,  414,  397,  417,  306,  387,  411,
567
      415,  449,  429,  475,  483,   87,  269,10752, 2156,10752,
568
    10752,   83,    0,10752,   82, 2218,    0, 2160,10752,    0,
569
        0,    0,  504,  544, 2196,  593,  514,  642, 2181, 2176,
570
    10752, 2175,    0,  691,  740,  571,  789,  311,  169,  347,
571
572
      446,  284, 2125,  364,  472,  110,  503,  326,   77,  370,
573
     2125,  453,  157,  403,  436,  343,  379,  482,  513,  462,
574
      598,  543,  481,  511,  560,  593,  523,  599,  640,  600,
575
      542,  572,  605,  641,  645,  646,  606,  621,  656,  689,
576
      690,  657,  696,  701,  702,  658,  707,  719,  738,  739,
577
      740,  744,  750,  751,  755,  756,  782,  768,  781,  783,
578
      791,  793,  795,  797, 2087,  799,  801,  226,  803,  805,
579
      807,  813, 2089,  818,  822,  823,  824,  837,  839,  844,
580
      846,  850,  851,  856,  857,  858,  862,  864,  868,  872,
581
      877,  881,  882,  888,  887,  893,  894,  895,  900,  905,
582
583
      906,  907,  915,  919,  923,  929,  933,  934,  935,  941,
584
      942,  947,  949,  954,  955,  959,  960,  961,  965,  966,
585
    10752,10752, 2140,10752, 2075,    0,    0,    0,  991, 1026,
586
     1075, 1007, 1124,    0, 1053, 1102, 1168,    0, 2113, 2092,
587
     1091, 2080, 1217, 1266, 1146, 1052, 1195, 1244,   86, 2055,
588
      321,  360,  250,  552,  148,  618,  681, 2049,  518,  988,
589
       73,  878, 2045,  819,  111, 1101,  362,  305,  340,  423,
590
      502,  449,  975, 1005,  689, 1010,  948,  249,  167,  582,
591
     1032, 1033, 2035,  612, 1013, 1050,  291,  631, 1023,  394,
592
      640, 1143, 1144, 1073, 2018,  737,  711, 1146, 2011, 1175,
593
594
      991,  787, 1994,  472,  796, 1986,  884,  532, 1024,  655,
595
      331, 1072,  825, 1951,  716, 1177, 1064, 1133,  474, 1007,
596
     1287,  992,  922, 1092, 1113, 1151,  897, 1136, 1182, 1193,
597
     1185, 1195, 1114, 1225, 1176, 1167, 1196, 1231, 1956, 1241,
598
     1253, 1242, 1263, 1277, 1234, 1280, 1279, 1283, 1284, 1287,
599
     1932, 1289, 1288, 1291, 1290, 1292, 1293, 1302, 1914, 1856,
600
        0,    0, 1317, 1337, 1351, 1362, 1373, 1389, 1400, 1411,
601
     1427, 1470,    0, 1885, 1438, 1449, 1490, 1520, 1363, 1534,
602
     1546, 1283, 1295,  197, 1858, 1300, 1857, 1356, 1302, 1380,
603
     1369, 1390, 1323, 1304, 1806, 1360, 1359, 1398, 1506, 1805,
604
605
     1407, 1776, 1162, 1432, 1397, 1429, 1439, 1435, 1449, 1542,
606
     1440, 1536, 1469, 1492, 1473, 1541, 1503, 1489, 1416, 1542,
607
     1545, 1548, 1547, 1441, 1552, 1535, 1538, 1555, 1554, 1757,
608
     1560, 1567, 1755, 1566, 1450, 1553, 1557, 1342, 1733, 1558,
609
     1559,  288, 1561, 1586, 1565, 1047, 1568, 1563, 1727, 1569,
610
     1573, 1612, 1571, 1570, 1572, 1669, 1581, 1584, 1579, 1596,
611
     1589, 1597, 1600, 1632,  818, 1604, 1605, 1606, 1607, 1612,
612
     1608, 1613, 1610, 1614, 1617, 1618, 1620, 1619, 1633, 1609,
613
     1636, 1641, 1637, 1663, 1645, 1648, 1653, 1642, 1686,    0,
614
        0, 1691, 1499,    0, 1704, 1714, 1724, 1734, 1777,    0,
615
616
     1416, 1743, 1755, 1798, 1703, 1826, 1841, 1856, 1879, 1753,
617
     1664, 1701, 1757, 1755, 1761, 1721, 1785, 1796, 1795, 1800,
618
     1801, 1897, 1856, 1838, 1828, 1863, 1877, 1890, 1897, 1891,
619
     1902, 1680, 1903, 1908, 1909, 1915, 1920, 1921, 1925, 1926,
620
     1927, 1934, 1933, 1939, 1940, 1941, 1946, 1951, 1973, 1952,
621
     1960, 1971, 1964, 1966, 1978, 1973, 1982, 2002, 1993, 1995,
622
     1999, 2000, 2005, 2006, 2007, 2012, 2013, 2017, 2019, 2023,
623
     2025, 2024, 2029, 2033, 2052, 2039, 2043, 2057, 2059, 2044,
624
     2063, 2064, 2068, 2070, 2075, 1722, 2077, 2076, 2081, 2088,
625
     2083, 2089, 2094, 2090, 2095, 2100, 2104, 2105, 2110, 2120,
626
627
     2138, 2122, 2129, 2130, 2140, 2145, 2146, 2150, 2169, 2151,
628
     2159, 2160, 2167, 2180,    0,    0, 2188, 2213, 2226, 2236,
629
     2246, 2256, 2299,    0,10752, 2277, 2320, 2225, 2348, 2363,
630
     2378, 2393, 2410, 2424, 2440, 2455, 2467, 2499, 2511, 2529,
631
     2289, 2549, 2561, 2573, 2604, 2587, 2619, 2631, 2662, 1733,
632
     2674, 2686, 2712, 2724, 2736, 2175, 1802, 2183, 1842, 2223,
633
     2242, 2247, 2490, 1884, 2262, 2336, 2275, 2400, 1720, 1826,
634
     2276, 2461, 2514, 1841, 2645, 2755, 2762, 2616, 2141, 2241,
635
     1911, 2431, 2348, 2296, 2580, 2460, 2464, 2354, 2425, 2617,
636
     2698, 2574, 2462, 2629, 2722, 2525, 2725, 2726, 2738, 2076,
637
638
     2688, 2746, 2751, 2756, 2563, 2762, 2764, 2754, 2766, 2767,
639
     2769, 2817, 2779, 2825, 2774, 2797, 2798, 2671, 2777, 2808,
640
     2837, 2843, 2851, 2823, 2827, 2833, 2835, 2892,    0,    0,
641
     2898, 1133, 2908, 2918, 2928, 2938, 2981,    0, 2959, 3002,
642
     2863, 3030, 3047, 3061, 3085, 3102, 3116, 3128, 3143, 3159,
643
     3181, 3202, 3193, 3234, 3246, 3262, 3278, 3292, 3309, 1723,
644
     3323, 3340, 3361, 3384, 3399, 3415, 3427, 3442, 3459, 3480,
645
     3497, 3512, 3214, 3524, 3538, 2868, 3550, 3565, 3582, 3596,
646
     3612, 3626, 2971, 3644, 3218, 3656, 3673, 3687, 3699, 3719,
647
     3731, 3751, 3763, 3775, 3801, 3813, 3845, 3018, 3860, 3872,
648
649
     3886, 3916, 3930, 3944, 1995, 3960, 3988, 4003, 4020, 4035,
650
     4047, 4061, 4085, 4099, 4113, 4129, 4151, 3825, 3787, 4173,
651
     4189, 4201, 4216, 3898, 3829, 4233, 4247, 4265, 4279, 4291,
652
     1062,    0,    0, 2947, 3371, 4303, 4322, 4341, 4352, 4395,
653
        0, 4373, 4416, 3907, 4444, 4459, 4476, 4490, 4506, 4531,
654
     4522, 4557, 4574, 4588, 4600, 4353, 4323, 4632, 4644, 4656,
655
     4682, 4694, 4706,  989, 4732, 4744, 4759, 4775, 4787, 4805,
656
     4819, 4833, 4849, 4385, 4864, 4880, 4892, 4908, 4920, 4935,
657
     4958, 4970, 4612, 4976, 4985, 4999, 5017, 5029, 5044, 5060,
658
     5074, 4668, 5088, 5106, 5118, 5134, 5149, 5154, 5175, 5196,
659
660
     5213, 5227, 5239, 5258,  931, 5270, 5282, 5296, 5314, 5334,
661
     5346, 5358, 5389, 5377, 4432, 5401, 5427, 5442, 4718, 5187,
662
     5413, 5454, 5470, 5492, 5517,  757,    0,    0, 2970,  660,
663
     5537, 5547, 5557, 5567, 5610,    0, 5588, 5631, 3979, 5659,
664
     5674, 5686, 5700, 5712, 5724, 5730, 5161, 5753, 5767, 5779,
665
     5791, 5600, 5805, 5744, 5823, 5835, 5847, 5861, 5878, 5892,
666
     5910, 5924, 5942, 5956, 5968, 5994, 5972, 6008, 6020, 6040,
667
     6058, 6072, 6076, 5980, 6096, 6108, 6123, 6139, 6151, 6166,
668
     5976, 6182, 5811, 6204, 6216, 6228, 6247, 6259, 5647, 6263,
669
     6275, 6292, 6323, 6335, 6347, 6361, 6379, 6391, 6407, 6439,
670
671
     6187, 6424, 6453, 6465, 6084, 6477, 6483, 6503, 6525, 6544,
672
     6568,  610,  544,    0,    0,10752, 6582, 6303, 6592, 6606,
673
     6649,    0, 6630, 6671, 4238, 6698, 6489, 6712, 6618, 6559,
674
     6724, 6728, 6755, 6767, 6779, 6686, 6732, 6791, 6805, 6823,
675
     6835, 6849, 6861, 6876, 6892, 6906, 6920, 6937, 6958, 6970,
676
     6982, 7003, 6911, 7007, 7025, 7040, 6943, 7052, 7066, 7070,
677
     7074, 7078, 7090, 7102, 7134, 7116, 7148, 7152, 7164, 7181,
678
     7202, 7222, 7234, 7248, 7260, 7272, 7278, 7292, 7306, 7318,
679
     7322, 7336, 7350, 7371, 7388,    0,    0, 7402, 7414, 7428,
680
     7440, 7483,    0, 7452, 7466, 7503, 7507, 7534, 7546, 7551,
681
682
     7555, 7519, 7572, 7584, 7603, 7511, 7617, 7621, 7633, 7656,
683
     7671, 7686, 7703, 7718, 7741, 7722, 7756, 7773, 7787, 7791,
684
     7799, 7811, 7823, 7839, 7827, 7854, 7858, 7862, 7880, 7904,
685
     7924, 7895, 7939, 7945, 7954, 7969, 7981, 8012, 8026, 7995,
686
     8000, 8050, 8070, 8038, 8082, 8086, 8100, 8114,    0,    0,
687
     8125, 8144, 8165, 8175, 8218,    0, 8187, 8203, 8091, 8244,
688
     8268, 8238, 8280, 8285, 8289, 8306, 8318, 8332, 8294, 8344,
689
     8356, 8370, 8382, 8397, 8414, 8428, 8440, 8452, 8470, 8484,
690
     8496, 8508, 8517, 8529, 8533, 8537, 8541, 8560, 8572, 8584,
691
     8545, 8596, 8616, 8630, 8642, 8657, 8673, 8685, 8689, 8703,
692
693
     8717, 8729, 8749,    0,    0, 8772, 8787, 8797, 8811, 8854,
694
        0, 8835, 8876, 8604, 8890, 8904, 8694, 8919, 8931, 8945,
695
     8962, 8977, 8761, 8989, 8823, 9007, 9022, 9034, 8786, 9051,
696
     9065, 9077, 9089, 9109, 9121, 9133, 9145, 9152, 9171, 9159,
697
     9197, 9214,    0,    0, 9182, 9225, 9235, 9245, 9288,    0,
698
     9257, 9273, 9308, 9314, 9337, 9349, 9364, 9381, 9396, 9411,
699
     9415, 9427, 9431, 9443, 9457, 9469, 9481, 9500, 9512, 9517,
700
     9524,    0,    0, 9538, 9550, 9569, 9581, 9624,    0, 9593,
701
     9607, 9644, 9673, 9685, 9697, 9711, 9650, 9723, 9728, 9742,
702
     9754, 9766, 9780, 9792, 9797, 9801,10752,10752, 3468, 3171,
703
704
     3643, 4138, 9843,    0, 9317, 9653,  476, 9822,  228, 9830,
705
      172, 4160, 4363, 4384, 5163,    0,    0, 9868, 9876,10752,
706
     9930, 9942, 9954, 9962, 9974, 9982, 9986, 9996,10004,10012,
707
    10018,10026,10034,10038,10042,10047,10054,10062,10070,10078,
708
    10086,10094,10102,10106,10112,10120,10128,10136,10144,10152,
709
    10156,10162,10170,10177,10185,10193,10201,10209,10217,10225,
710
    10233,10241,10249,10257,10265,10273,10281,10289,10297,10305,
711
    10313,10321,10329,10337,10345,10353,10361,10369,10381,10389,
712
    10397,10405,10413,10421,10429,10437,10445,10453,10461,10469,
713
    10477,10485,10493,10501,10509,10517,10525,10533,10541,10549,
714
715
    10557,10565,10573,10581,10589,10597,10605,10613,10621,10629,
716
    10637,10645,10653,10661,10669,10677,10685,10693,10701,10709,
717
    10717,10723,10726,10732,10739
718
    } ;
719
720
static const flex_int16_t yy_def[1426] =
721
    {   0,
722
     1320,    1, 1320, 1320, 1320, 1321, 1320, 1322, 1323, 1320,
723
     1320, 1320, 1324, 1320, 1320, 1320, 1325, 1326, 1326, 1327,
724
     1320, 1320, 1324, 1320,   24,   24,   24,   24,   24,   24,
725
       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
726
       30,   30,   30,   30, 1320, 1320, 1320,   24,   24,   24,
727
       24,   24,   24,   30,   30,   30,   30,   30,   30,   30,
728
       30,   30,   30,   30,   30,   30,   30, 1320, 1320, 1320,
729
     1320, 1320, 1321, 1320, 1322, 1328, 1323, 1323, 1320, 1329,
730
     1325, 1330, 1331, 1332, 1327, 1333, 1333, 1333, 1334, 1335,
731
     1320, 1336, 1337, 1338, 1338, 1338, 1338,   97,   97,   97,
732
733
     1339,   97,   95,   97,   97,   95,   97,   97,   97,   97,
734
       95,   97,   97,   97,   97,   97,   97,   97,   97,   97,
735
       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
736
       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
737
       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
738
       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
739
       97,   97,   97,   97,   95,   97,   97,   95,   97,   97,
740
       97,   97,   95,   97,   97,   97,   97,   97,   97,   97,
741
       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
742
       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
743
744
       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
745
       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
746
     1320, 1320, 1328, 1320, 1323, 1340, 1341, 1331, 1331, 1342,
747
     1343, 1343, 1343,  233, 1343, 1343,  233,  237, 1344, 1335,
748
     1320, 1337, 1345, 1345, 1345, 1346, 1345, 1345,  248,  248,
749
      248,  248,  248,  248,  248,  248,  248,  244,  248,  248,
750
      248,  248,  248,  248,  248, 1346,  248,  248,  248,  248,
751
      248,  248,  248,  248,  248,  248,  248,  248,  248,  248,
752
      248,  248,  248,  248,  248,  248,  248,  248,  248,  248,
753
      248,  248,  248,  248,  248,  248,  248,  248,  248,  248,
754
755
      248,  248,  248,  248,  248,  248,  248,  248,  248,  248,
756
      248,  248,  248,  244,  248,  248,  248,  248,  248,  248,
757
     1346,  248,  248,  248,  248,  248,  248,  248,  248,  248,
758
      248,  248,  248,  248,  248,  248,  248,  248,  248,  248,
759
      248,  248,  248,  248,  248,  248,  248,  248,  248,  248,
760
      248,  248,  248,  248,  248,  248,  248,  248,  248, 1323,
761
     1347, 1348, 1331, 1331, 1349, 1350, 1350, 1350, 1350, 1350,
762
     1350, 1350,  372, 1351, 1320, 1352, 1352, 1352, 1353, 1352,
763
     1352,  381,  381,  381,  381,  381,  381,  381,  381,  381,
764
      381,  381,  381,  381,  381,  381,  381,  381, 1353,  381,
765
766
      381,  381,  381,  381,  381,  381,  381,  381,  381, 1354,
767
      381,  381,  381,  381,  381,  381,  381,  381,  381,  381,
768
      381,  381,  381,  381,  381,  381,  381,  381,  381,  381,
769
      381,  381,  381,  381,  381,  381,  381,  381,  381,  381,
770
      381,  381,  381,  381,  381,  381,  381,  381,  381,  381,
771
      381, 1353,  381,  381,  381,  381,  381,  381,  381,  381,
772
      381,  381,  381, 1354,  381,  381,  381,  381,  381,  381,
773
      381,  381,  381,  381,  381,  381,  381,  381,  381,  381,
774
      381,  381,  381,  381,  381,  381,  381,  381, 1323, 1355,
775
     1356, 1331, 1331, 1331, 1357, 1358, 1358, 1358, 1358,  499,
776
777
     1320, 1320, 1359, 1359, 1360, 1359, 1359, 1359, 1359,  509,
778
      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
779
      509, 1360,  509,  509,  509,  509,  509,  509,  509,  509,
780
      509, 1354,  509,  509,  509,  509,  509,  509,  509,  509,
781
      509,  509,  509,  509,  509,  509,  509,  509, 1360,  509,
782
      509,  509,  509,  509,  509,  509,  509, 1360,  509,  509,
783
      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
784
      509,  509,  509,  509, 1360,  509,  509,  509,  509,  509,
785
      509,  509,  509,  509,  509, 1354,  509,  509,  509,  509,
786
      509,  509,  509,  509,  509,  509,  509,  509,  509,  509,
787
788
     1360,  509,  509,  509,  509,  509,  509,  509, 1360,  509,
789
      509,  509,  509, 1323, 1361, 1362, 1331, 1331, 1363, 1364,
790
     1364, 1364, 1364,  623, 1320, 1365, 1365, 1366, 1365, 1365,
791
     1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365,
792
     1366, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1354,
793
     1365, 1365, 1365, 1365, 1365,  655,  655,  655,  655,  655,
794
      655,  655, 1366,  655,  655, 1366,  655,  655,  655,  655,
795
      655,  655,  655,  655, 1366, 1366, 1366,  655,  655,  655,
796
      655,  655,  655,  655,  655,  655,  655,  655,  655,  655,
797
     1366,  655,  655,  655,  655,  655,  655,  655,  655, 1354,
798
799
      655,  655,  655,  655,  655,  655,  655,  655,  655,  655,
800
      655, 1366,  655, 1366,  655,  655,  655,  655,  655,  655,
801
     1366, 1366, 1366,  655,  655,  655,  655, 1323, 1367, 1368,
802
     1331, 1331, 1369, 1370, 1370, 1370, 1370,  737, 1371, 1371,
803
     1372, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
804
     1371, 1371, 1372, 1371, 1371, 1371, 1371, 1371, 1371, 1354,
805
     1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371,
806
     1371, 1371, 1372, 1371, 1371, 1372, 1371, 1371, 1371, 1371,
807
     1371, 1371, 1372, 1372, 1372, 1371, 1371, 1371, 1371, 1371,
808
     1371, 1371, 1371, 1371, 1371, 1371, 1371, 1372, 1371, 1371,
809
810
     1371, 1371, 1371, 1371, 1354, 1371, 1371, 1371, 1371, 1371,
811
     1371, 1371, 1371, 1371, 1371, 1371, 1371, 1372, 1372, 1371,
812
     1371, 1371, 1371, 1372, 1372, 1372, 1371, 1371, 1371, 1371,
813
     1323, 1373, 1374, 1320, 1331, 1375, 1376, 1376, 1376, 1376,
814
      840, 1377, 1377, 1378, 1377, 1377, 1377, 1377, 1377, 1377,
815
     1378, 1377, 1377, 1377, 1377, 1378, 1378, 1377, 1377, 1377,
816
     1377, 1377, 1377, 1354, 1377, 1377, 1377, 1377, 1377, 1377,
817
     1377, 1377, 1377, 1378, 1377, 1378, 1377, 1377, 1377, 1377,
818
     1377, 1378, 1378, 1378, 1377, 1377, 1377, 1377, 1377, 1377,
819
     1377, 1378, 1377, 1377, 1377, 1377, 1378, 1378, 1377, 1377,
820
821
     1377, 1377, 1377, 1377, 1354, 1377, 1377, 1377, 1377, 1377,
822
     1377, 1377, 1377, 1378, 1378, 1377, 1377, 1377, 1378, 1378,
823
     1378, 1377, 1377, 1377, 1377, 1379, 1380, 1381, 1320, 1331,
824
     1382, 1383, 1383, 1383, 1383,  935, 1384, 1384, 1385, 1384,
825
     1384, 1384, 1384, 1384, 1385, 1385, 1385, 1384, 1384, 1384,
826
     1384, 1385, 1385, 1385, 1384, 1384, 1384, 1384, 1384, 1384,
827
     1384, 1384, 1384, 1384, 1385, 1384, 1385, 1384, 1384, 1384,
828
     1384, 1385, 1385, 1385, 1384, 1384, 1384, 1384, 1384, 1384,
829
     1385, 1385, 1385, 1384, 1384, 1384, 1384, 1385, 1385, 1385,
830
     1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384, 1384,
831
832
     1385, 1385, 1384, 1384, 1385, 1385, 1385, 1384, 1384, 1384,
833
     1384, 1379, 1379, 1386, 1387, 1320, 1388, 1389, 1389, 1389,
834
     1389, 1021, 1390, 1390, 1391, 1390, 1391, 1390, 1391, 1391,
835
     1391, 1391, 1390, 1390, 1390, 1391, 1391, 1391, 1390, 1390,
836
     1390, 1390, 1390, 1390, 1390, 1391, 1390, 1391, 1390, 1390,
837
     1390, 1391, 1391, 1391, 1390, 1390, 1391, 1390, 1391, 1391,
838
     1391, 1391, 1390, 1390, 1390, 1391, 1391, 1391, 1390, 1390,
839
     1390, 1390, 1390, 1390, 1390, 1391, 1391, 1390, 1390, 1391,
840
     1391, 1391, 1390, 1390, 1390, 1392, 1393, 1394, 1395, 1395,
841
     1395, 1395, 1092, 1396, 1396, 1397, 1397, 1396, 1397, 1397,
842
843
     1397, 1397, 1396, 1396, 1396, 1397, 1397, 1397, 1396, 1396,
844
     1396, 1396, 1396, 1397, 1396, 1397, 1396, 1396, 1397, 1397,
845
     1397, 1396, 1397, 1396, 1397, 1397, 1397, 1397, 1396, 1396,
846
     1396, 1397, 1397, 1397, 1396, 1396, 1396, 1396, 1396, 1397,
847
     1397, 1396, 1396, 1397, 1397, 1397, 1396, 1396, 1398, 1399,
848
     1400, 1401, 1401, 1401, 1401, 1155, 1402, 1402, 1403, 1403,
849
     1402, 1403, 1403, 1403, 1403, 1402, 1402, 1402, 1403, 1403,
850
     1402, 1402, 1402, 1402, 1402, 1403, 1402, 1403, 1402, 1403,
851
     1402, 1403, 1402, 1403, 1403, 1403, 1403, 1402, 1402, 1402,
852
     1403, 1403, 1402, 1402, 1402, 1402, 1402, 1403, 1403, 1402,
853
854
     1403, 1402, 1402, 1404, 1405, 1406, 1407, 1407, 1407, 1407,
855
     1210, 1408, 1408, 1409, 1409, 1408, 1409, 1408, 1408, 1408,
856
     1408, 1408, 1409, 1408, 1409, 1408, 1409, 1408, 1409, 1408,
857
     1409, 1408, 1408, 1408, 1408, 1408, 1409, 1409, 1408, 1409,
858
     1408, 1408, 1410, 1411, 1412, 1413, 1413, 1413, 1413, 1249,
859
     1414, 1414, 1415, 1415, 1414, 1414, 1414, 1414, 1414, 1415,
860
     1415, 1415, 1415, 1414, 1414, 1414, 1414, 1414, 1415, 1415,
861
     1415, 1416, 1417, 1418, 1419, 1419, 1419, 1419, 1278, 1420,
862
     1420, 1421, 1420, 1420, 1420, 1420, 1421, 1421, 1421, 1420,
863
     1420, 1420, 1420, 1421, 1421, 1421, 1320, 1320, 1422, 1423,
864
865
     1423, 1423, 1423, 1303, 1424, 1424, 1425, 1424, 1425, 1424,
866
     1425, 1422, 1423, 1423, 1423, 1303, 1303, 1424, 1424,    0,
867
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
868
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
869
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
870
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
871
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
872
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
873
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
874
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
875
876
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
877
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
878
     1320, 1320, 1320, 1320, 1320
879
    } ;
880
881
static const flex_int16_t yy_nxt[10835] =
882
    {   0,
883
        4,    5,    6,    4,    5,    7,    8,    9,   10,   11,
884
       12,   13,   14,   15,   16,   17,   18,   19,   19,   19,
885
       19,   20,   21,   22,   23,   24,   25,   26,   27,   28,
886
       29,   30,   31,   32,   33,   33,   34,   35,   36,   37,
887
       38,   33,   39,   40,   41,   42,   43,   33,   44,   33,
888
       45,   46,   47,    4,   48,   49,   50,   51,   52,   53,
889
       54,   55,   56,   33,   57,   58,   59,   60,   61,   33,
890
       62,   63,   64,   65,   66,   33,   67,   33,   68,   69,
891
       70,   71,   72,   96,   72,   72,   82,   72,  222,   83,
892
       96,   84,   84,   84,   84,   84,   85, 1320,  378,   82,
893
894
       86,   86,   86,   86,   86,   86,   96,  103,   96,  102,
895
      245,  378,   96,  245,   96,   96,   96,  394,  104,  127,
896
       96,  105,  128,   96,  111,  382,   96,   96,   82,   86,
897
       86,   86,   86,   86,   86,   96,  378,   96,  106,  129,
898
      258,  219,  112,   96,   96,   96,   96,   96,  107,  130,
899
      398,   88,   82,   96,   96,   83,  259,   84,   84,   84,
900
       84,   84,   85,  116,  117,   82,   86,   86,   86,   86,
901
       86,   86,  108,  378,   96,   96,   96,  109,   96,  118,
902
       96,   96,   96,   96,  110,   96,   93,  131,  159,  132,
903
      245,  387,  378,  245,   82,   86,   86,   86,   86,   86,
904
905
       86,   82,  245,   92,   93,  245,   94,   94,   94,   94,
906
       94,   85,  413,  251,   82,   95,   95,   95,   95,   95,
907
       95,   96,   96,   96,   96,   96,   97,   96,   98,   96,
908
       96,   96,   96,   96,   99,  100,   96,   96,   96,   96,
909
      504,  509,   93,  101,   95,   95,   95,   95,   95,   95,
910
       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
911
       96,   96,   96,   96,   96,   96,   96,   96,  113,  113,
912
      113,  113,  113, 1320,  378,  378,  411,   96,   96,   96,
913
       96,  114,   96,  158,   96,  314,  385,   96,  115,  119,
914
       96,   96,   96,  120,   96,  412,   96,   96,   96,   96,
915
916
      315,  121,  122,  123,  124,   96,   96,   96,   96,   96,
917
       96,   96,  133,  175,  134,  125,  378,  245,  135,  176,
918
      245,   96,   96,  253,  136,  126,  137,  138,  139,  143,
919
      378,  504,  420,  144,  140,   96,  220,  145,  141,  250,
920
       96,  401,   96,  146,  245,   96,  378,  245,  142,  147,
921
      148,  149,  154,  155,  156,  566,  378,  150,   96,  245,
922
       96,   96,  245,  383,   96,  378,   96,   96,   96,  262,
923
      188,   96,  402,  189,  151,  252,  245,  152,  157,  245,
924
      245,  153,   96,  245,   96,  378,  160,  378,  161,  255,
925
       96,   96,  400,  384,  162,  163,   96,  245,   96,   96,
926
927
      245,   96,  441,  245,   96,   96,  245,   96,   96,   96,
928
      263,   96,  245,  164,  165,  245,   96,   96,   96,  378,
929
       96,  168,   96,   96,  166,  423,   96,  167,   96,   96,
930
      169,  177,  178,   96,  184,  185,  245,  170,  173,  245,
931
       96,  267,  171,   96,   96,  190,   96,   96,  378,  172,
932
       96,   96,  180,   96,  191,  174,  181,  227,   96,   92,
933
       93,  403,  268,  182,  183,   96,  198,  199,  200,  245,
934
      227,  194,  245,  195,  378,  186,  179,  196,   96,  192,
935
      265,  193,  197,  204,  187,   96,  245,  205,  405,  245,
936
       93,  206,  208,  209,  210,  245,  207,  378,  245,  378,
937
938
      215,  216,  217,  201,   96,  245,  266,  202,  245,  256,
939
      257,   96,   96,  269,  245,  245,  203,  245,  245,   96,
940
      229,  229,  229,  229,  229,  227,  435,  378,  450,  211,
941
      236,  236,  236,  236,  236, 1320,  245,  404,  227,  245,
942
      260,  261,  270,  378,  245,  212,  245,  245,  213,  245,
943
     1013,  391,  214,  271,  218,  227,  245,  378,   83,  245,
944
      230,  230,  230,  230,  230,   85,  278,  227,  227,  231,
945
      231,  231,  231,  231,  231,  245,  245,  378,  245,  245,
946
      274,  386,  227,  275,   92,   93,  284,  247,  247,  247,
947
      247,  247, 1320,  245,  438,  227,  245,  227,  231,  231,
948
949
      231,  231,  231,  231,  227,  245,  276,  378,  245,  233,
950
      233,  233,  233,  233,   85,  414, 1013,  227,  234,  234,
951
      234,  234,  234,  234,  246,  272,  245,  279,  282,  245,
952
      273,  245,  245,  245,  245,  245,  245,  378,  285,  245,
953
      277,  245,  245,  378,  283,  417,  227,  234,  234,  234,
954
      234,  234,  234,  227,  245,  388,  378,  245,  237,  237,
955
      237,  237,  237, 1320,  421,  378,  227,  238,  238,  238,
956
      238,  238,  238,  245,  245,  834,  245,  245,  245,  245,
957
      378,  245,  288,  286,  280,  424,  281,  287,  289,  245,
958
      245,  245,  245,  292,  245,  227,  238,  238,  238,  238,
959
960
      238,  238,  227,  296,   92,   93,  378,  243,  243,  243,
961
      243,  243,   85,  440,  378,  227,  244,  244,  244,  244,
962
      244,  244,  245,  245,  389,  245,  245,  290,  408,  245,
963
      295,  291,  245,  293,  245,  245,  378,  245,  245,  294,
964
      245,  378,  429,  245,  246,  244,  244,  244,  244,  244,
965
      244,  227,  245,   92,   93,  245,  243,  243,  243,  243,
966
      243,   85,  378, 1013,  227,  244,  244,  244,  244,  244,
967
      244,  245,  245,  245,  245,  245,  245,  245,  445,  428,
968
      245,  297,  299,  245,  245,  298,  245,  245,  245,  245,
969
      300,  245,  245,  246,  244,  244,  244,  244,  244,  244,
970
971
      227,  245,   92,   93,  302,  247,  247,  247,  247,  247,
972
     1320,  301,  378,  227,  245,  245,  245,  245,  245,  245,
973
      434,  378,  248,  303,  245,  249,  245,  245,  245,  245,
974
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
975
      245,  245,  246,  245,  378,  304,  245,  305,  306,  245,
976
      378,  245,  308,  311,  245,  245,  245,  245,  245,  245,
977
      245,  504,  397,  436,  309,  307,  312,  313,  316,  317,
978
      245,  321,  245,  245,  322,  245,  318,  245,  324,  245,
979
      245,  319,  245,  245,  245,  587,  245,  245,  323,  245,
980
      245,  245,  245,  245,  245,  245,  443,  245,  245,  325,
981
982
      245,  245,  326,  378,  245,  245,  328,  395,  245,  378,
983
      245,  329,  327,  245,  245,  245,  330,  245,  245,  331,
984
      245,  245,  378,  245,  245,  335,  245,  245,  245,  245,
985
      245,  245,  332,  245,  338,  334,  245,  333,  245,  245,
986
      245,  245,  245,  245,  336,   93,  337,  378,  245,  339,
987
      341,  245,  245,  340,  437,  245,  245,  342,  344,  245,
988
      458,  410,  245,  343,  345,  245,  245,  245,  245,  245,
989
      245,  245,  346,  378,  245,  245,  347,  245,  245,  348,
990
      245,  454,  245,  245,  349,  245,  351,  245,  245,  350,
991
      245,  245,  245,  245,  245,  245,  245,  245,  245,  245,
992
993
      378,  245,  245,   93,  406,  363,  352,  364,  364,  364,
994
      364,  364,  353,  378,  392,  355,  378,  378,  362,  357,
995
      354,  393,  356,  371,  371,  371,  371,  371, 1320,  358,
996
      378,  362,  378,  433,  407,  378,  359,  362,  378,  409,
997
       83,  418,  365,  365,  365,  365,  365,   85,  378,  378,
998
      362,  366,  366,  366,  366,  366,  366,  378,  378,  453,
999
      362,  415,  416,  362,  362,   92,   93,  422,  926,  371,
1000
      371,  371,  371,  371, 1320,  378,  362,  362,  451,  362,
1001
      366,  366,  366,  366,  366,  366,  362,  419,  439,  378,
1002
      504,  368,  368,  368,  368,  368,   85,  378,  378,  362,
1003
1004
      369,  369,  369,  369,  369,  369,  362,  375,  375,  375,
1005
      375,  375,  362,  362,   92,   93,  427,  378,  371,  371,
1006
      371,  371,  371, 1320,  570,  362,  362,  464,  362,  369,
1007
      369,  369,  369,  369,  369,  362,  448,  442,  378,  378,
1008
      368,  368,  368,  368,  368,   85,  399,  617,  362,  369,
1009
      369,  369,  369,  369,  369,  362,  455,  362,  378,   92,
1010
       93,  378,  380,  380,  380,  380,  380, 1320,  378,  378,
1011
      362,  378,  425,  426,  456,  430,  378,  362,  369,  369,
1012
      369,  369,  369,  369,  372,  372,  372,  372,  372, 1320,
1013
      525,  449,  378,  373,  373,  373,  373,  373,  373,  379,
1014
1015
      378,  378,  378,  459,  432,  504,  362,  378,   92,   93,
1016
      378,  380,  380,  380,  380,  380, 1320,  457,  378,  362,
1017
      378,  378,  373,  373,  373,  373,  373,  373,  362,  468,
1018
       92,   93,  446,  376,  376,  376,  376,  376,   85,  447,
1019
      460,  362,  377,  377,  377,  377,  377,  377,  379,  467,
1020
      378,  461,  462,  463,  469,  362,  378,   92,   93,  378,
1021
      380,  380,  380,  380,  380, 1320,  378,  378,  362,  381,
1022
      379,  377,  377,  377,  377,  377,  377,  362,  378,   92,
1023
       93,  465,  376,  376,  376,  376,  376,   85,  378,  470,
1024
      362,  377,  377,  377,  377,  377,  377,  379,  362,  466,
1025
1026
       92,   93,  378,  471,  378,  378,  476,  473,  378,  378,
1027
      472,  362,  378,  378,  378,  378,  378,  378,  378,  379,
1028
      377,  377,  377,  377,  377,  377,  504,  378,  508,  518,
1029
      507,  510,  474,  492,  492,  492,  492,  492,  504,  475,
1030
      477,  479,  480,  504,  485,  504,  513,  504,  483,  484,
1031
      486,  363,  478,  493,  493,  493,  493,  493,  481,  482,
1032
      452,  517,  491,  487,  488,  494,  504,  495,  495,  495,
1033
      495,  495,   85,  491,  491,  491,   92,   93,  497,  497,
1034
      497,  497,  497,   85,  491,  504,  491,  491,  520,  497,
1035
      497,  497,  497,  497, 1320,  512,  515,  491,  519,  504,
1036
1037
      491,   85,  504,  504,  491,  497,  497,  497,  497,  497,
1038
       85,  491,  504,  491,  563,  491,  497,  497,  497,  497,
1039
      497,   85,  491,  504,  491,  514,  491,  497,  497,  497,
1040
      497,  497, 1320,  504,  527,  491,  521,   90,  491,  516,
1041
      504,  504,  491,  497,  497,  497,  497,  497, 1320,  541,
1042
      504,  491,  524,  491,  502,  502,  502,  502,  502,  504,
1043
      491,  526,   92,   93,  491,  503,  503,  503,  503,  503,
1044
       85,  528,  504,  491,  546,  504,  529,  530,  504,  533,
1045
      491,  491,  504,  504,  504,  531,  499,  499,  499,  499,
1046
      499, 1320,  504,  504,  491,  500,  500,  500,  500,  500,
1047
1048
      500,  491,  505,   92,   93,  535,  503,  503,  503,  503,
1049
      503,   85,  504,  363,  491,  537,  504,  491,  540,   92,
1050
       93,  560,  536,  491,  500,  500,  500,  500,  500,  500,
1051
      491,  491,  504,   92,   93,  504,  503,  503,  503,  503,
1052
      503, 1320,  539,  505,  491,  491,  504,   92,   93,  522,
1053
      503,  503,  503,  503,  503, 1320,   93,  491,  491,   92,
1054
       93,  534,  503,  503,  503,  503,  503, 1320,  538,  542,
1055
      491,  551,  543,  505,  532,  544,  545,  547,  504,  504,
1056
      550,  504,  552,  553,  504,  504,  554,  505,  504,  506,
1057
      504,  504,  555,  556,  559,  548,  504,  504,  504,  505,
1058
1059
      504,  504,  504,  504,  504,  549,  504,   85,  504,  504,
1060
      557,  504,  504,  504,  504,  504,  504,  572,  564,  562,
1061
      558,  569,  504,  491,  504,   92,   93,  504,  561,  504,
1062
      565,  574,  504,  567,  571,  573,  491,  576,  579,  504,
1063
      504,  577,  580,  504,  581,  578,   93,  504,  504,  504,
1064
      504,  504,  504,  504,  583,  504,  504,  504,  588,  568,
1065
      504,  504,  504,  504,  585,  590,  582,  584,  592,  589,
1066
      596,  594,  595,  597,  598,  593,  504,  591,  599,  504,
1067
      504,  600,  604,  575,  504,  504,  601,  602,  504,  627,
1068
      614,  504,  627,  586,   93,  607,  504,  606,  605,  613,
1069
1070
      608,  609,  610,  611,  603,  617,  504,  618,  618,  618,
1071
      618,  618,  504,  650,  616,  616,   92,   93,  494,  612,
1072
      619,  619,  619,  619,  619,  616,  627,  616,  616,  627,
1073
      621,  621,  621,  621,  621,  616,   93,   93,  616,  634,
1074
      621,  621,  621,  621,  621,  616,  627,   93,  616,  627,
1075
      621,  621,  621,  621,  621,  864,  740,  616,  616,  625,
1076
      625,  625,  625,  625,  760,  740,  616,  616,   92,   93,
1077
      504,  626,  626,  626,  626,  626,  504,  616,  627,  616,
1078
      627,  627,  627,  627,  700,  627,  627,  616,  616,  627,
1079
      637,  636,  633,  623,  623,  623,  623,  623,  504,  635,
1080
1081
      504,  616,  624,  624,  624,  624,  624,  624,  628,  616,
1082
      638,   92,   93,  627,  626,  626,  626,  626,  626,  504,
1083
      627,  627,  616,  640,  627,  627,  627,  767,  627,  627,
1084
      616,  624,  624,  624,  624,  624,  624,  616,  740,   92,
1085
       93,  639,  626,  626,  626,  626,  626,  740,  523,  504,
1086
      616,  628,  616,  627,   92,   93,  627,  626,  626,  626,
1087
      626,  626,  740,  627,  643,  616,  627,  616,  644,   92,
1088
       93,  740,  626,  626,  626,  626,  626,  740,  740,  628,
1089
      616,  627,  630,  642,  627,  769,  782,  740,  627,  629,
1090
      616,  627,   92,   93,  628,  626,  626,  626,  626,  626,
1091
1092
      511,  504,  627,  616,  631,  627,   90,  632,  616,  628,
1093
       92,   93,  645,  774,  489,  627,  627,  646,  627,  627,
1094
      740,  616,  627,  647,  648,  627,  641,  627,  627,  740,
1095
      627,  627,  628,  627,  627,  649,  627,  627,  653,  378,
1096
      627,  651,  654,  627,  652,  655,  627,  740,  627,  627,
1097
      627,  627,  627,  627,  627,  627,  740,  378,  627,  627,
1098
      656,  627,  627,  657,  627,  627,  627,  627,  627,  627,
1099
      659,  627,  658,  660,  627,  789,  627,  627,  662,  627,
1100
      627,  378,  661,  664,  616,  627,   92,   93,  627,  627,
1101
      665,  627,  627,  663,  627,  667,  627,  616,  627,  627,
1102
1103
      669,  627,  671,  627,  668,  444,  627,  627,  670,   93,
1104
      627,  378,  674,  616,  672,   92,   93,  666,  678,  378,
1105
      627,  627,  673,  627,  627,  627,  616,  627,  627,  675,
1106
      627,  627,  627,  627,  627,  627,  431,  627,  627,  676,
1107
      627,  627,  627,  378,  627,  627,  677,  627,  627,  627,
1108
      627,  627,  627,  627,  627,  680,  905,  627,  627,  681,
1109
      378,  627,  682,  616,  627,   92,   93,  627,  627,  627,
1110
      396,  627,  627,  683,  390,  679,  616,  687,  684,  688,
1111
      378,  686,  627,  685,  627,  627,  690,  627,  627,  627,
1112
       93,  627,  627,  627,   93,  627,  627,  689,  627,  692,
1113
1114
      627,  627,  627,  627,  627,  627,  627,  241,  627,  627,
1115
      691,  627,  693,  627,  627,  627,  627,  627,  627,  627,
1116
      627,  695,  627,  627,  698,  627,  697,  694,  627,  627,
1117
      627,  696,  627,  627,   90,  627,  805,  704,  627,  653,
1118
      702,  360,  699,  701,  703,  627,  224,  627,  627,  616,
1119
      627,   92,   93,  320,  627,  627,  705,  627,  627,  310,
1120
      706,  264,  616,  712,  707,  627,  708,  709,  627,  254,
1121
      627,  627,  711,  627,  627,  627,  627,  740,  627,  627,
1122
      616,  710,   92,   93,  627,  627,  740,  627,  627,   93,
1123
      713,  241,  627,  616,  715,  627,  728,  728,  728,  728,
1124
1125
      728,  716,   90,  718,  731,  731,  731,  731,  731,  787,
1126
      714,  740,  717,  766,  720,  724,  768,   90,  719,  740,
1127
      740,  727,  225,  725,  224,  721,  726,  617,  740,  732,
1128
      732,  732,  732,  732,  722,  221,  730,  730,   92,   93,
1129
      494,  723,  733,  733,  733,  733,  733,  730,   91,  730,
1130
      730,   90,  735,  735,  735,  735,  735,  730,   79,  740,
1131
      730,  770,  735,  735,  735,  735,  735,  730,  740,  771,
1132
      730,   78,  735,  735,  735,  735,  735,  740,  740,  730,
1133
      730,   76,   74,  740, 1320,  772,  740,  740,  730,  730,
1134
       92,   93,  740,  739,  739,  739,  739,  739,  740,  730,
1135
1136
      730,  730,   92,   93,  777,  779,  775,  740, 1320,  730,
1137
      730,  740,  740,  730,  788,  737,  737,  737,  737,  737,
1138
      740,  740, 1320,  730,  738,  738,  738,  738,  738,  738,
1139
      741,  730,  740,   92,   93, 1320,  739,  739,  739,  739,
1140
      739,  740,  753, 1320,  730, 1320, 1320,  730, 1320,   92,
1141
       93, 1320,  730,  738,  738,  738,  738,  738,  738,  730,
1142
      730,   92,   93, 1320,  739,  739,  739,  739,  739, 1320,
1143
     1320, 1320,  730,  741,  730, 1320,   92,   93,  776,  739,
1144
      739,  739,  739,  739,  740, 1320, 1320,  730,  742,  730,
1145
      740,   92,   93,  740,  739,  739,  739,  739,  739,  740,
1146
1147
     1320,  741,  730, 1320,  730, 1320,   92,   93,  743,  739,
1148
      739,  739,  739,  739,  744, 1320,  741,  730,  791, 1320,
1149
      795,  730,  745,   92,   93, 1320,  739,  739,  739,  739,
1150
      739,  741, 1320,  778,  730,  730,  740,   92,   93, 1320,
1151
      739,  739,  739,  739,  739,  740,  741, 1320,  730, 1320,
1152
     1320,  730,  746,   92,   93, 1320,  739,  739,  739,  739,
1153
      739,  740, 1320,  741,  730,  747,  730,  740,   92,   93,
1154
      740,  739,  739,  739,  739,  739,  740,  741,  730,  730,
1155
       92,   93,  796,  739,  739,  739,  739,  739, 1320,  790,
1156
     1320,  730, 1320,  741,  780, 1320,  740,  740,  740,  748,
1157
1158
      740,  730, 1320,   92,   93,  740,  740,  740,  741,  740,
1159
      730,  749,   92,   93,  730,  739,  739,  739,  739,  739,
1160
      741, 1320,  730,  730,   92,   93, 1320,  739,  739,  739,
1161
      739,  739,  793, 1320,  773,  730,  794,  750, 1320,  751,
1162
      730, 1320,   92,   93, 1320,  739,  739,  739,  739,  739,
1163
      740, 1320,  741,  730,  752, 1320, 1320, 1320,  781,  740,
1164
      730,  740,   92,   93,  741,  739,  739,  739,  739,  739,
1165
      740, 1320,  730,  730,   92,   93, 1320,  739,  739,  739,
1166
      739,  739,  741, 1320,  730,  730,   92,   93,  754,  739,
1167
      739,  739,  739,  739, 1320, 1320, 1320,  730,  730,  740,
1168
1169
       92,   93,  741,  739,  739,  739,  739,  739,  740, 1320,
1170
      740,  730,  755, 1320,  741,  730,  740,   92,   93,  740,
1171
      739,  739,  739,  739,  739,  740,  741, 1320,  730,  811,
1172
      730,  756,   92,   93,  792,  739,  739,  739,  739,  739,
1173
      741,  799,  730,  730,   92,   93, 1320,  739,  739,  739,
1174
      739,  739,  740,  740, 1320,  730,  730,  741,   92,   93,
1175
      786,  740,  740,  757, 1320,  740, 1320, 1320, 1320,  730,
1176
      758,  797,  741,  730,  740,   92,   93,  783,  739,  739,
1177
      739,  739,  739, 1320,  741,  730,  730,   92,   93,  759,
1178
      739,  739,  739,  739,  739, 1320,  800,  730,  730,   92,
1179
1180
       93, 1320,  739,  739,  739,  739,  739,  740, 1320,  730,
1181
      730,   92,   93, 1320, 1320,  741,  740,  761, 1320,  762,
1182
     1320, 1320,  730,  730,  740,   92,   93,  741,  739,  739,
1183
      739,  739,  739,  740, 1320,  730,  730,   92,   93,  741,
1184
      739,  739,  739,  739,  739, 1320, 1320,  730,  730,   92,
1185
       93,  798,  739,  739,  739,  739,  739, 1320,  740,  806,
1186
      730,  740,  740,  763, 1320,  741,  730,  740,   92,   93,
1187
      740,  740,  764,  730,  740,   92,   93,  741,  801,  730,
1188
     1320,  765,  740,  740,  784, 1320,  730,  740, 1320,  741,
1189
      740,  740,  740,  803,  804, 1320,  740,  802,  740,  740,
1190
1191
      740,  740,  740,  740,  785,  740, 1320,  740,  807,  740,
1192
      740,  740,  740,  740,  740,  740,  812, 1320,  808,  740,
1193
      809, 1320,  740,  816,  740,  814,  813, 1320,  730,  810,
1194
       92,   93,  815,  740,  740,  817,  730,  774,   92,   93,
1195
     1320,  730,  740,  740,  740, 1320,  820, 1320,  730,  730,
1196
       92,   93, 1320,  740,  730,  821,   92,   93, 1320,  740,
1197
      822,  730,  730,  740,   92,   93,  823,  730,  740,  740,
1198
     1320,  740,  740, 1320,  833,  730,   92,   93,  740,  833,
1199
      740,   92,   93, 1320, 1320,  827, 1320,  833, 1320,  818,
1200
     1320, 1320,  833,  876, 1320,  819,  831, 1320,  824,  828,
1201
1202
     1320,  825, 1320, 1320, 1320, 1320,  829,  830,  728,  728,
1203
      728,  728,  728,  834,  835,  835,  835,  835,  835,  833,
1204
     1320,  826,  494, 1320,  836,  836,  836,  836,  836,  833,
1205
     1320, 1320,  833, 1320,  838,  838,  838,  838,  838,  833,
1206
     1320, 1320,  833, 1320,  838,  838,  838,  838,  838,  833,
1207
     1320, 1320,  833, 1320,  838,  838,  838,  838,  838, 1320,
1208
     1320,  833,  833,  929,  929,  929,  929,  929, 1320, 1320,
1209
      833,  833,   92,   93, 1320,  842,  842,  842,  842,  842,
1210
     1320,  833,  833,  833,   92,   93, 1016, 1016, 1016, 1016,
1211
     1016,  833,  833, 1320, 1320,  833,  882,  840,  840,  840,
1212
1213
      840,  840, 1320, 1320, 1320,  833,  841,  841,  841,  841,
1214
      841,  841,  844,  833, 1320,   92,   93, 1320,  842,  842,
1215
      842,  842,  842, 1320, 1320, 1320,  833, 1320, 1320,  833,
1216
     1320,   92,   93, 1320,  833,  841,  841,  841,  841,  841,
1217
      841,  833,  833,   92,   93, 1320,  842,  842,  842,  842,
1218
      842, 1320, 1320, 1320,  833,  844, 1320, 1320,  833,  845,
1219
       92,   93, 1320,  842,  842,  842,  842,  842, 1320, 1320,
1220
     1320,  833,  833, 1320,   92,   93, 1320,  842,  842,  842,
1221
      842,  842, 1320,  844, 1320,  833, 1320, 1320, 1320, 1320,
1222
      897,  846, 1320, 1320,  898, 1320,  833,  847,   92,   93,
1223
1224
      844,  842,  842,  842,  842,  842, 1320, 1320, 1320,  833,
1225
     1320, 1320, 1320,  833,  844,   92,   93, 1320,  842,  842,
1226
      842,  842,  842,  848, 1320, 1320,  833,  833, 1320,   92,
1227
       93, 1320,  842,  842,  842,  842,  842, 1320,  844,  833,
1228
      833,   92,   93, 1320,  842,  842,  842,  842,  842,  850,
1229
     1320,  849,  833, 1320,  833,  844,   92,   93, 1320,  842,
1230
      842,  842,  842,  842, 1320, 1320, 1320,  833, 1320,  844,
1231
      833, 1320,   92,   93, 1320,  842,  842,  842,  842,  842,
1232
     1320,  851, 1320,  833, 1320,  852,  853, 1314, 1314, 1314,
1233
     1314, 1314,  833, 1320,   92,   93,  844,  842,  842,  842,
1234
1235
      842,  842, 1320, 1320,  833,  833,   92,   93, 1320, 1320,
1236
     1320, 1320,  844,  833,  854,   92,   93,  833,  842,  842,
1237
      842,  842,  842, 1320, 1320,  833,  833,   92,   93,  833,
1238
     1320,   92,   93, 1320,  844, 1320, 1320,  856,  833, 1320,
1239
     1320,  857,  833,  884, 1320,  833,  855,   92,   93, 1320,
1240
      842,  842,  842,  842,  842,  844,  874,  833,  833,   92,
1241
       93, 1320,  842,  842,  842,  842,  842, 1320, 1320, 1320,
1242
      833, 1320,  858,  833, 1320,   92,   93, 1320,  842,  842,
1243
      842,  842,  842, 1320, 1320, 1320,  833,  844,  859,  833,
1244
     1320,   92,   93, 1320,  842,  842,  842,  842,  842,  844,
1245
1246
     1320,  860,  833,  833, 1320,   92,   93, 1320,  842,  842,
1247
      842,  842,  842, 1320, 1320,  844,  833, 1320, 1320, 1320,
1248
      833,  861,   92,   93, 1320,  842,  842,  842,  842,  842,
1249
      862,  844, 1320,  833,  833, 1320,   92,   93, 1320,  842,
1250
      842,  842,  842,  842, 1320,  844, 1320,  833,  863, 1320,
1251
     1320,  833, 1320,   92,   93, 1320,  842,  842,  842,  842,
1252
      842, 1320,  844, 1320,  833, 1320, 1320,  865,  866, 1320,
1253
     1320, 1320,  833, 1320,   92,   93,  844,  842,  842,  842,
1254
      842,  842, 1320, 1320, 1320,  833,  834,  930,  930,  930,
1255
      930,  930, 1320,  844, 1320,  833, 1320,   92,   93,  867,
1256
1257
      842,  842,  842,  842,  842, 1320, 1320, 1320,  833, 1320,
1258
      833, 1320,   92,   93,  844,  842,  842,  842,  842,  842,
1259
      868, 1320, 1320,  833, 1320, 1320,  833,  869,   92,   93,
1260
     1320,  842,  842,  842,  842,  842, 1320,  844,  833,  833,
1261
       92,   93, 1320,  842,  842,  842,  842,  842, 1320, 1320,
1262
     1320,  833,  844,  833, 1320,   92,   93, 1320,  842,  842,
1263
      842,  842,  842,  870, 1320, 1320,  833, 1320,  844,  871,
1264
      833, 1320,   92,   93, 1320,  842,  842,  842,  842,  842,
1265
      844, 1320,  494,  833, 1312, 1312, 1312, 1312, 1312, 1320,
1266
     1320,  833,  872,   92,   93,  844,  842,  842,  842,  842,
1267
1268
      842, 1320, 1320, 1320,  833, 1320, 1320, 1320,  833, 1320,
1269
       92,   93,  844,  842,  842,  842,  842,  842, 1320, 1320,
1270
     1320,  833,  873,  833, 1320,   92,   93, 1320,  842,  842,
1271
      842,  842,  842,  844, 1320,  833,  833,   92,   93, 1320,
1272
      842,  842,  842,  842,  842, 1320, 1320, 1320,  833,  833,
1273
      844,   92,   93, 1320,  842,  842,  842,  842,  842, 1320,
1274
     1320,  833,  833,   92,   93,  844,  842,  842,  842,  842,
1275
      842, 1320, 1320, 1320,  833, 1320,  833,  844,   92,   93,
1276
      875,  842,  842,  842,  842,  842, 1320, 1320, 1320,  833,
1277
     1320,  844,  877,  833, 1320,   92,   93, 1320,  842,  842,
1278
1279
      842,  842,  842,  844, 1320, 1320,  833,  833, 1320,   92,
1280
       93,  878,  842,  842,  842,  842,  842, 1320,  844, 1320,
1281
      833,  879, 1320,  833, 1320,   92,   93, 1320,  842,  842,
1282
      842,  842,  842, 1320, 1320,  844,  833,  833, 1320,   92,
1283
       93, 1320,  842,  842,  842,  842,  842, 1320, 1320,  844,
1284
      833, 1320, 1320, 1320,  880,  833, 1320,   92,   93, 1314,
1285
     1314, 1314, 1314, 1314,  881,  844, 1320,  833,  833,   92,
1286
       93, 1320,  842,  842,  842,  842,  842, 1320, 1320,  844,
1287
      833,  883, 1320, 1320,  833,  885,   92,   93, 1320,  842,
1288
      842,  842,  842,  842, 1320, 1320, 1320,  833,  833, 1320,
1289
1290
       92,   93, 1320,  842,  842,  842,  842,  842, 1320,  844,
1291
      833,  833,   92,   93, 1320,  842,  842,  842,  842,  842,
1292
     1320, 1320, 1320,  833, 1320, 1320,  844, 1320, 1320, 1320,
1293
      833,  886,   92,   93, 1320,  842,  842,  842,  842,  842,
1294
      844, 1320,  833,  833,   92,   93, 1320,  842,  842,  842,
1295
      842,  842,  844, 1320, 1320,  833, 1320, 1320, 1320,  887,
1296
     1320, 1320,  833,  888,   92,   93, 1320,  842,  842,  842,
1297
      842,  842,  844, 1320,  833,  833,   92,   93, 1320,  842,
1298
      842,  842,  842,  842,  844,  889,  833,  833,   92,   93,
1299
     1320,  842,  842,  842,  842,  842, 1320, 1320,  833,  833,
1300
1301
       92,   93, 1320, 1320,  844, 1320, 1320, 1320,  890, 1320,
1302
     1320,  833,  833,  891,   92,   93,  892,  842,  842,  842,
1303
      842,  842, 1320, 1320,  833,  833,   92,   93,  844,  842,
1304
      842,  842,  842,  842, 1320, 1320,  833,  833,   92,   93,
1305
      833,  915,   92,   93, 1320,  893, 1320, 1320, 1320,  833,
1306
     1320, 1320, 1320,  833,  844, 1320,  833,  894,   92,   93,
1307
     1320,  842,  842,  842,  842,  842,  844, 1320, 1320,  833,
1308
     1320,  833, 1320,   92,   93,  895,  842,  842,  842,  842,
1309
      842, 1320, 1320,  833,  833,   92,   93, 1320,  842,  842,
1310
      842,  842,  842, 1320,  920,  914,  833,  833,  844,   92,
1311
1312
       93, 1320,  842,  842,  842,  842,  842, 1320, 1320,  833,
1313
      833,   92,   93,  844, 1320, 1320, 1320,  896,  928, 1320,
1314
       92,   93,  833, 1320, 1320,  844,  899,  833, 1320,   92,
1315
       93,  928,  842,  842,  842,  842,  842, 1320, 1320,  844,
1316
      833,  833,  900,   92,   93, 1320,  842,  842,  842,  842,
1317
      842, 1320,  919,  901,  833,  833, 1320,   92,   93, 1320,
1318
      842,  842,  842,  842,  842, 1320, 1320, 1320,  833,  844,
1319
     1320,  833, 1320,   92,   93, 1320,  842,  842,  842,  842,
1320
      842, 1320, 1320,  844,  833, 1320, 1320,  902, 1320, 1320,
1321
     1015, 1320,   92,   93, 1320, 1320,  903,  844, 1320,  833,
1322
1323
     1320,   92,   93, 1015,  842,  842,  842,  842,  842, 1320,
1324
     1320,  904,  833,  844,  833, 1320,   92,   93, 1320,  842,
1325
      842,  842,  842,  842, 1320, 1320, 1320,  833, 1320, 1320,
1326
     1320,  833,  906,   92,   93, 1320,  842,  842,  842,  842,
1327
      842,  844, 1320, 1320,  833,  907,  833, 1320,   92,   93,
1328
     1320,  842,  842,  842,  842,  842,  844, 1320,  833,  833,
1329
       92,   93, 1320,  842,  842,  842,  842,  842, 1320,  908,
1330
     1320,  833,  833,  844,   92,   93, 1320,  842,  842,  842,
1331
      842,  842, 1320, 1320,  909,  833, 1320, 1320,  844, 1320,
1332
     1320, 1320,  910, 1320, 1320, 1320,  833, 1320,   92,   93,
1333
1334
      844,  842,  842,  842,  842,  842, 1320, 1320, 1320,  833,
1335
      833, 1320,   92,   93,  844,  842,  842,  842,  842,  842,
1336
     1320, 1320, 1320,  833,  833,  870,   92,   93, 1320,  842,
1337
      842,  842,  842,  842, 1320, 1320, 1320,  833,  844, 1320,
1338
      833,  911,   92,   93, 1320,  842,  842,  842,  842,  842,
1339
     1320, 1320,  844,  833, 1314, 1314, 1314, 1314, 1314, 1320,
1340
     1320,  912,  833, 1320,   92,   93,  844,  842,  842,  842,
1341
      842,  842, 1320, 1320,  494,  833, 1312, 1312, 1312, 1312,
1342
     1312, 1320,  844,  913,  833, 1320,   92,   93, 1320,  842,
1343
      842,  842,  842,  842, 1320, 1320, 1320,  833, 1320, 1320,
1344
1345
      833, 1320,   92,   93,  844,  842,  842,  842,  842,  842,
1346
     1320, 1320,  833,  833,   92,   93, 1320,  842,  842,  842,
1347
      842,  842, 1320, 1320, 1320,  833,  844,  833, 1320,   92,
1348
       93, 1320,  842,  842,  842,  842,  842, 1320, 1320, 1320,
1349
      833, 1320,  844,  916,  833, 1320,   92,   93, 1320, 1087,
1350
     1320,   92,   93, 1320,  844, 1320, 1320,  833,  833,  917,
1351
       92,   93, 1087,  842,  842,  842,  842,  842, 1320,  844,
1352
     1320,  833, 1320, 1320, 1320,  918,  833, 1320,   92,   93,
1353
     1320,  842,  842,  842,  842,  842, 1320,  921, 1320,  833,
1354
      833, 1320,   92,   93, 1320,  842,  842,  842,  842,  842,
1355
1356
      844,  922,  833,  833,   92,   93, 1320,  842,  842,  842,
1357
      842,  842, 1320, 1320,  928,  833, 1320,  494,  844,  931,
1358
      931,  931,  931,  931, 1320, 1320, 1320,  928, 1320, 1320,
1359
     1320, 1320,  844,  928,  928,  923,   92,   93,  933,  933,
1360
      933,  933,  933, 1320,  844,  924,  928,  928,  954,  925,
1361
     1320, 1320,  928, 1320, 1320, 1320,  928,  933,  933,  933,
1362
      933,  933, 1320,  928,  928,  928,   92,   93,  933,  933,
1363
      933,  933,  933, 1320, 1320,  928,  928,  928,  952, 1314,
1364
     1314, 1314, 1314, 1314,  928, 1320,   92,   93, 1320,  937,
1365
      937,  937,  937,  937,  928,  953,  928,  928,   92,   93,
1366
1367
     1314, 1314, 1314, 1314, 1314,  928,  928, 1320, 1320,  928,
1368
      965,  935,  935,  935,  935,  935, 1320, 1320, 1320,  928,
1369
      936,  936,  936,  936,  936,  936,  939,  928, 1320,   92,
1370
       93, 1320,  937,  937,  937,  937,  937, 1320, 1320, 1320,
1371
      928, 1320, 1320,  928, 1320,   92,   93, 1320,  928,  936,
1372
      936,  936,  936,  936,  936,  928,  928,   92,   93, 1320,
1373
      937,  937,  937,  937,  937, 1320, 1320, 1320,  928,  939,
1374
      928, 1320,   92,   93, 1320,  937,  937,  937,  937,  937,
1375
     1320, 1320, 1320,  928, 1320, 1320,  940,  928,  941,   92,
1376
       93, 1320,  937,  937,  937,  937,  937,  939, 1002, 1320,
1377
1378
      928,  928, 1320,   92,   93, 1320,  937,  937,  937,  937,
1379
      937, 1320,  939, 1320,  928,  942, 1320,  928, 1320,   92,
1380
       93, 1320,  937,  937,  937,  937,  937, 1320, 1320,  939,
1381
      928, 1320, 1320,  928, 1320,   92,   93, 1320, 1320,  943,
1382
     1320, 1320,  928,  939,   92,   93,  928,  937,  937,  937,
1383
      937,  937, 1320, 1320, 1320,  928, 1320, 1320, 1320,  939,
1384
     1320, 1320, 1320, 1320,  945, 1320,  946,  947,  928,  944,
1385
       92,   93, 1320,  937,  937,  937,  937,  937, 1320, 1320,
1386
     1320,  928, 1320, 1320,  939,  928,  948,   92,   93, 1320,
1387
      937,  937,  937,  937,  937, 1320, 1320, 1320,  928,  928,
1388
1389
     1320,   92,   93,  949,  937,  937,  937,  937,  937, 1320,
1390
      939,  928,  928,   92,   93, 1320,  937,  937,  937,  937,
1391
      937, 1320, 1320,  928,  928,   92,   93,  939, 1320, 1320,
1392
     1320, 1320,  950, 1320, 1320, 1320,  928, 1320,  973, 1320,
1393
     1320,  939, 1320,  928,  951,   92,   93, 1320,  937,  937,
1394
      937,  937,  937,  939, 1320,  928,  928,   92,   93, 1320,
1395
      937,  937,  937,  937,  937, 1320, 1320,  928,  928,   92,
1396
       93, 1320,  937,  937,  937,  937,  937, 1320, 1320,  928,
1397
      928,   92,   93, 1320, 1320,  939, 1320, 1320,  955, 1320,
1398
     1320, 1320,  928,  928,  956,   92,   93,  939,  937,  937,
1399
1400
      937,  937,  937, 1320, 1320,  928,  928,   92,   93,  939,
1401
      937,  937,  937,  937,  937, 1320, 1320,  928,  928,   92,
1402
       93, 1320,  937,  937,  937,  937,  937, 1320, 1320,  928,
1403
      928,   92,   93, 1320, 1320,  939, 1320, 1320,  981, 1320,
1404
      982,  983,  928,  928,  957,   92,   93,  939,  937,  937,
1405
      937,  937,  937, 1320, 1320,  928,  928,   92,   93,  939,
1406
      937,  937,  937,  937,  937, 1320, 1320, 1320,  928,  959,
1407
      928, 1320,   92,   93,  958,  937,  937,  937,  937,  937,
1408
     1320, 1320, 1320,  928, 1005,  939,  928, 1320,   92,   93,
1409
     1320,  937,  937,  937,  937,  937, 1320,  939,  928,  928,
1410
1411
       92,   93, 1320,  937,  937,  937,  937,  937, 1320, 1320,
1412
     1320,  928,  939, 1320,  960, 1320,  928, 1320,   92,   93,
1413
      961,  937,  937,  937,  937,  937, 1320, 1320,  939,  928,
1414
      928, 1320,   92,   93, 1320,  937,  937,  937,  937,  937,
1415
      939, 1320, 1320,  928,  928, 1320,   92,   93,  962,  937,
1416
      937,  937,  937,  937, 1320, 1320, 1320,  928,  939, 1320,
1417
      928, 1320,   92,   93, 1320,  937,  937,  937,  937,  937,
1418
     1320, 1320,  939,  928, 1320,  928, 1320,   92,   93,  963,
1419
      937,  937,  937,  937,  937, 1320,  939, 1320,  928,  964,
1420
     1320,  928, 1320,   92,   93, 1320, 1320,  966, 1320, 1320,
1421
1422
     1320, 1320,  939,  928,  928,   92,   93, 1320,  937,  937,
1423
      937,  937,  937, 1320, 1320, 1320,  928,  939,  967,  928,
1424
     1320,   92,   93, 1320,  937,  937,  937,  937,  937, 1320,
1425
     1320,  928,  928,   92,   93, 1320,  937,  937,  937,  937,
1426
      937,  968, 1320, 1320,  928,  939,  928, 1320,   92,   93,
1427
     1320,  937,  937,  937,  937,  937, 1320, 1320, 1320,  928,
1428
     1320,  939, 1320,  969, 1320, 1320, 1320, 1320,  970,  928,
1429
     1320,   92,   93,  939,  937,  937,  937,  937,  937, 1320,
1430
     1320,  928,  928,   92,   93, 1320,  971,  928,  939,   92,
1431
       93, 1320, 1320, 1320,  928, 1320,  928, 1320,   92,   93,
1432
1433
      928,  937,  937,  937,  937,  937, 1320, 1320,  972,  928,
1434
      928,  939,   92,   93,  974,  937,  937,  937,  937,  937,
1435
     1320, 1320, 1320,  928, 1320, 1320, 1320, 1320,  928,  975,
1436
       92,   93, 1320,  937,  937,  937,  937,  937,  939, 1320,
1437
      928,  928,   92,   93, 1320,  937,  937,  937,  937,  937,
1438
     1320, 1320,  939,  928, 1320,  928, 1320,   92,   93, 1320,
1439
      937,  937,  937,  937,  937, 1320, 1320, 1320,  928,  976,
1440
      939,  928, 1320,   92,   93,  977,  937,  937,  937,  937,
1441
      937, 1320,  939, 1320,  928,  928, 1320,   92,   93, 1320,
1442
      937,  937,  937,  937,  937, 1320,  978,  939,  928,  928,
1443
1444
     1320,   92,   93, 1320,  937,  937,  937,  937,  937, 1320,
1445
     1320, 1320,  928,  939, 1320, 1320, 1320,  928, 1320,   92,
1446
       93,  979,  937,  937,  937,  937,  937,  939, 1320,  928,
1447
      928,   92,   93, 1320,  937,  937,  937,  937,  937, 1320,
1448
      980,  939,  928, 1320, 1320,  928,  984,   92,   93, 1320,
1449
      937,  937,  937,  937,  937, 1320, 1320, 1320,  928,  939,
1450
      928, 1320,   92,   93,  985,  928, 1320,   92,   93, 1320,
1451
     1320,  939, 1015,  928,   92,   93, 1320, 1320,  928, 1314,
1452
     1314, 1314, 1314, 1314, 1320, 1015,  928,  939,   92,   93,
1453
      986,  937,  937,  937,  937,  937, 1320, 1320,  928,  928,
1454
1455
       92,   93, 1320,  988, 1032, 1320,  987,  928,  990,   92,
1456
       93,  928,  937,  937,  937,  937,  937, 1320, 1320,  989,
1457
      928, 1320, 1320, 1320,  928, 1320,   92,   93,  939,  937,
1458
      937,  937,  937,  937, 1320, 1320, 1320,  928,  928, 1320,
1459
       92,   93, 1006,  937,  937,  937,  937,  937, 1320,  939,
1460
      928,  928,   92,   93, 1320,  937,  937,  937,  937,  937,
1461
     1320, 1320, 1320,  928, 1320, 1320,  939, 1320,  991,  928,
1462
     1320,   92,   93, 1320,  937,  937,  937,  937,  937,  992,
1463
      939,  928,  928,   92,   93, 1320,  937,  937,  937,  937,
1464
      937, 1320,  939,  928,  928,   92,   93, 1320,  937,  937,
1465
1466
      937,  937,  937, 1320, 1320, 1320,  928,  928, 1320,   92,
1467
       93,  939,  937,  937,  937,  937,  937, 1320, 1320, 1320,
1468
      928, 1320, 1320,  939,  993,  928, 1320,   92,   93, 1320,
1469
      937,  937,  937,  937,  937,  939,  995, 1320,  928, 1320,
1470
      994, 1320, 1320, 1320, 1320,  928, 1320,   92,   93,  939,
1471
      937,  937,  937,  937,  937, 1320, 1320,  928,  928,   92,
1472
       93, 1320,  937,  937,  937,  937,  937,  939, 1320,  928,
1473
      928,   92,   93, 1320,  937,  937,  937,  937,  937, 1320,
1474
     1320,  996,  928, 1320, 1320, 1320, 1320,  939,  928, 1320,
1475
       92,   93, 1320, 1320, 1320, 1320,  997, 1320, 1320,  939,
1476
1477
      928,  928,   92,   93,  998,  937,  937,  937,  937,  937,
1478
     1320,  939,  928,  928,   92,   93, 1320,  937,  937,  937,
1479
      937,  937, 1320, 1320,  928,  928,   92,   93, 1320, 1320,
1480
     1320, 1001,  999, 1320, 1320, 1320, 1320,  928,  928, 1320,
1481
       92,   93,  939,  937,  937,  937,  937,  937, 1320, 1320,
1482
     1320,  928, 1320,  928,  939,   92,   93, 1000,  937,  937,
1483
      937,  937,  937, 1003, 1320,  928,  928,   92,   93, 1320,
1484
      937,  937,  937,  937,  937, 1320, 1320, 1320,  928, 1007,
1485
      939,  928, 1320,   92,   93, 1320,  937,  937,  937,  937,
1486
      937, 1320, 1320, 1320,  928,  939, 1320, 1320, 1320, 1320,
1487
1488
     1320, 1320, 1320,  928, 1004,   92,   93,  939,  937,  937,
1489
      937,  937,  937, 1320, 1320, 1320,  928, 1320, 1320, 1320,
1490
     1320, 1320, 1320,  939, 1320, 1008, 1320, 1320,  928, 1320,
1491
       92,   93, 1009,  937,  937,  937,  937,  937, 1320, 1320,
1492
     1320,  928, 1320, 1320, 1320,  939, 1320, 1320, 1015, 1010,
1493
     1320,  494, 1320, 1017, 1017, 1017, 1017, 1017, 1015, 1320,
1494
     1320, 1015, 1320, 1019, 1019, 1019, 1019, 1019, 1015, 1320,
1495
      939, 1015, 1320, 1019, 1019, 1019, 1019, 1019, 1015, 1320,
1496
     1320, 1015, 1320, 1019, 1019, 1019, 1019, 1019, 1320, 1011,
1497
     1015, 1015, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1015,
1498
1499
     1015,   92,   93, 1320, 1023, 1023, 1023, 1023, 1023, 1320,
1500
     1015, 1015, 1015,   92,   93, 1320, 1320, 1320, 1320, 1320,
1501
     1015, 1015, 1320, 1320, 1015, 1320, 1021, 1021, 1021, 1021,
1502
     1021, 1320, 1320, 1320, 1015, 1022, 1022, 1022, 1022, 1022,
1503
     1022, 1025, 1015, 1036,   92,   93, 1320, 1023, 1023, 1023,
1504
     1023, 1023, 1320, 1320, 1320, 1015, 1320, 1320, 1015, 1320,
1505
       92,   93, 1320, 1015, 1022, 1022, 1022, 1022, 1022, 1022,
1506
     1015, 1015,   92,   93, 1320, 1023, 1023, 1023, 1023, 1023,
1507
     1320, 1320, 1320, 1015, 1025, 1015, 1320,   92,   93, 1320,
1508
     1023, 1023, 1023, 1023, 1023, 1320, 1026, 1015, 1015,   92,
1509
1510
       93, 1067, 1023, 1023, 1023, 1023, 1023, 1320, 1320, 1320,
1511
     1015, 1015, 1025,   92,   93, 1320, 1023, 1023, 1023, 1023,
1512
     1023, 1320, 1320, 1015, 1015,   92,   93, 1027, 1023, 1023,
1513
     1023, 1023, 1023, 1028, 1320, 1015, 1015,   92,   93, 1025,
1514
     1320, 1015, 1320,   92,   93, 1320, 1320, 1320, 1015, 1029,
1515
     1320, 1320, 1320, 1025, 1015, 1015, 1320,   92,   93, 1320,
1516
     1320, 1320, 1320, 1030, 1015, 1025,   92,   93, 1015, 1023,
1517
     1023, 1023, 1023, 1023, 1320, 1320, 1320, 1015, 1015, 1031,
1518
       92,   93, 1033, 1023, 1023, 1023, 1023, 1023, 1038, 1320,
1519
     1015, 1015,   92,   93, 1320, 1023, 1023, 1023, 1023, 1023,
1520
1521
     1320, 1320, 1015, 1015,   92,   93, 1025, 1023, 1023, 1023,
1522
     1023, 1023, 1320, 1320, 1320, 1015, 1015, 1320,   92,   93,
1523
     1025, 1320, 1015, 1320,   92,   93, 1320, 1034, 1320, 1015,
1524
     1037, 1320, 1025, 1035, 1015, 1015,   92,   93, 1320, 1023,
1525
     1023, 1023, 1023, 1023, 1025, 1320, 1015, 1015,   92,   93,
1526
     1039, 1023, 1023, 1023, 1023, 1023, 1320, 1320, 1015, 1015,
1527
       92,   93, 1320, 1023, 1023, 1023, 1023, 1023, 1320, 1320,
1528
     1320, 1015, 1015, 1320,   92,   93, 1025, 1023, 1023, 1023,
1529
     1023, 1023, 1062, 1320, 1320, 1015, 1040, 1320, 1025, 1015,
1530
     1320,   92,   93, 1320, 1023, 1023, 1023, 1023, 1023, 1320,
1531
1532
     1025, 1320, 1015, 1015, 1320,   92,   93, 1320, 1023, 1023,
1533
     1023, 1023, 1023, 1320, 1025, 1320, 1015, 1320, 1320, 1320,
1534
     1320, 1015, 1041,   92,   93, 1320, 1023, 1023, 1023, 1023,
1535
     1023, 1025, 1320, 1320, 1015, 1015, 1320,   92,   93, 1042,
1536
     1023, 1023, 1023, 1023, 1023, 1025, 1320, 1320, 1015, 1320,
1537
     1320, 1044, 1320, 1015, 1043,   92,   93, 1320, 1023, 1023,
1538
     1023, 1023, 1023, 1025, 1320, 1320, 1015, 1015, 1320,   92,
1539
       93, 1045, 1023, 1023, 1023, 1023, 1023, 1025, 1320, 1015,
1540
     1015,   92,   93, 1015, 1320,   92,   93, 1015, 1320,   92,
1541
       93, 1015, 1015,   92,   93, 1025, 1015, 1320, 1320, 1320,
1542
1543
     1015, 1320, 1320, 1320, 1015, 1015, 1046,   92,   93, 1025,
1544
     1023, 1023, 1023, 1023, 1023, 1048, 1320, 1320, 1015, 1015,
1545
     1047,   92,   93, 1054, 1023, 1023, 1023, 1023, 1023, 1320,
1546
     1059, 1015, 1015,   92,   93, 1320, 1023, 1023, 1023, 1023,
1547
     1023, 1320, 1320, 1060, 1015, 1320, 1320, 1025, 1320, 1320,
1548
     1320, 1015, 1049,   92,   93, 1320, 1023, 1023, 1023, 1023,
1549
     1023, 1025, 1320, 1320, 1015, 1320, 1050, 1320, 1320, 1015,
1550
     1320,   92,   93, 1025, 1023, 1023, 1023, 1023, 1023, 1320,
1551
     1320, 1320, 1015, 1015, 1320,   92,   93, 1015, 1320,   92,
1552
       93, 1320, 1320, 1025, 1320, 1015, 1015,   92,   93, 1320,
1553
1554
     1015, 1051, 1320, 1052, 1320, 1053, 1320, 1015, 1015,   92,
1555
       93, 1025, 1023, 1023, 1023, 1023, 1023, 1320, 1320, 1015,
1556
     1015,   92,   93, 1320, 1023, 1023, 1023, 1023, 1023, 1320,
1557
     1320, 1320, 1015, 1320, 1015, 1320,   92,   93, 1055, 1023,
1558
     1023, 1023, 1023, 1023, 1080, 1320, 1320, 1015, 1320, 1025,
1559
     1015, 1320,   92,   93, 1320, 1023, 1023, 1023, 1023, 1023,
1560
     1320, 1025, 1015, 1015,   92,   93, 1320, 1023, 1023, 1023,
1561
     1023, 1023, 1320, 1056, 1320, 1015, 1057, 1015, 1320,   92,
1562
       93, 1320, 1023, 1023, 1023, 1023, 1023, 1320, 1320, 1320,
1563
     1015, 1320, 1025, 1015, 1320,   92,   93, 1320, 1015, 1320,
1564
1565
       92,   93, 1320, 1320, 1025, 1320, 1015, 1320, 1320, 1320,
1566
     1320, 1015, 1320, 1320, 1058, 1015, 1320,   92,   93, 1025,
1567
     1023, 1023, 1023, 1023, 1023, 1320, 1320, 1015, 1015,   92,
1568
       93, 1320, 1023, 1023, 1023, 1023, 1023, 1320, 1320, 1015,
1569
     1015,   92,   93, 1320, 1023, 1023, 1023, 1023, 1023, 1320,
1570
     1320, 1320, 1015, 1076, 1320, 1320, 1320, 1025, 1015, 1061,
1571
       92,   93, 1063, 1023, 1023, 1023, 1023, 1023, 1320, 1025,
1572
     1015, 1015,   92,   93, 1015, 1320,   92,   93, 1320, 1320,
1573
     1320, 1025, 1320, 1015, 1320, 1320, 1015, 1015,   92,   93,
1574
     1320, 1023, 1023, 1023, 1023, 1023, 1320, 1320, 1320, 1015,
1575
1576
     1025, 1320, 1320, 1015, 1064,   92,   93, 1320, 1023, 1023,
1577
     1023, 1023, 1023, 1320, 1087, 1320, 1015, 1065, 1320, 1090,
1578
     1090, 1090, 1090, 1090, 1320, 1320, 1320, 1087, 1025, 1320,
1579
     1066, 1069, 1320, 1320, 1015, 1068,   92,   93, 1320, 1023,
1580
     1023, 1023, 1023, 1023, 1320, 1025, 1015, 1015,   92,   93,
1581
     1320, 1023, 1023, 1023, 1023, 1023, 1087, 1320, 1015, 1015,
1582
       92,   93, 1320, 1023, 1023, 1023, 1023, 1023, 1320, 1320,
1583
     1320, 1015, 1015, 1320,   92,   93, 1025, 1023, 1023, 1023,
1584
     1023, 1023, 1320, 1320, 1320, 1015, 1320, 1320, 1025, 1070,
1585
     1015, 1320,   92,   93, 1320, 1023, 1023, 1023, 1023, 1023,
1586
1587
     1025, 1320, 1015, 1015,   92,   93, 1320, 1023, 1023, 1023,
1588
     1023, 1023, 1320, 1320, 1025, 1015, 1320, 1320, 1015, 1071,
1589
       92,   93, 1320, 1023, 1023, 1023, 1023, 1023, 1320, 1320,
1590
     1320, 1015, 1025, 1320, 1320, 1015, 1072,   92,   93, 1320,
1591
     1320, 1320, 1320, 1320, 1025, 1320, 1320, 1074, 1015, 1320,
1592
     1015, 1073,   92,   93, 1320, 1023, 1023, 1023, 1023, 1023,
1593
     1025, 1320, 1320, 1015, 1015, 1075,   92,   93, 1320, 1023,
1594
     1023, 1023, 1023, 1023, 1320, 1320, 1015, 1015,   92,   93,
1595
     1320, 1023, 1023, 1023, 1023, 1023, 1320, 1320, 1015, 1015,
1596
       92,   93, 1025, 1320, 1015, 1077,   92,   93, 1320, 1320,
1597
1598
     1087, 1015,   92,   93, 1320, 1320, 1025, 1015, 1078, 1320,
1599
     1320, 1320, 1320, 1087, 1015, 1320,   92,   93, 1025, 1023,
1600
     1023, 1023, 1023, 1023, 1320, 1320, 1320, 1015, 1320, 1320,
1601
     1320, 1097, 1320, 1320, 1320, 1081, 1015, 1079,   92,   93,
1602
     1320, 1023, 1023, 1023, 1023, 1023, 1320, 1320, 1320, 1015,
1603
     1320, 1320, 1320, 1320, 1082, 1015, 1025,   92,   93, 1320,
1604
     1023, 1023, 1023, 1023, 1023, 1320, 1320, 1320, 1015, 1320,
1605
     1087, 1320,   92,   93, 1320, 1320, 1320, 1320, 1025, 1015,
1606
     1083,   92,   93, 1087, 1023, 1023, 1023, 1023, 1023, 1320,
1607
     1320, 1320, 1015, 1087, 1320, 1100,  494, 1025, 1088, 1088,
1608
1609
     1088, 1088, 1088, 1087, 1320, 1320, 1087, 1320, 1090, 1090,
1610
     1090, 1090, 1090, 1320, 1320, 1084, 1087, 1087, 1320, 1320,
1611
     1320, 1025, 1090, 1090, 1090, 1090, 1090, 1320, 1320, 1087,
1612
     1087,   92,   93, 1320, 1320, 1087, 1320, 1320, 1085, 1320,
1613
     1320, 1087, 1087,   92,   93, 1087, 1094, 1094, 1094, 1094,
1614
     1094, 1320, 1320, 1320, 1087, 1320, 1099, 1320, 1320, 1087,
1615
     1087, 1320, 1320, 1320, 1320, 1092, 1092, 1092, 1092, 1092,
1616
     1320, 1320, 1320, 1087, 1093, 1093, 1093, 1093, 1093, 1093,
1617
     1320, 1320, 1087, 1096,   92,   93, 1320, 1094, 1094, 1094,
1618
     1094, 1094, 1320, 1320, 1320, 1087, 1320, 1087, 1320,   92,
1619
1620
       93, 1320, 1087, 1093, 1093, 1093, 1093, 1093, 1093, 1087,
1621
     1087,   92,   93, 1320, 1094, 1094, 1094, 1094, 1094, 1320,
1622
     1320, 1106, 1087, 1087, 1096,   92,   93, 1320, 1094, 1094,
1623
     1094, 1094, 1094, 1320, 1320, 1087, 1087,   92,   93, 1087,
1624
     1320,   92,   93, 1087, 1320,   92,   93, 1320, 1087, 1320,
1625
     1320, 1096, 1087, 1320, 1320, 1320, 1087, 1102, 1320, 1320,
1626
     1098, 1320, 1320, 1320, 1101, 1096, 1087, 1320,   92,   93,
1627
     1107, 1094, 1094, 1094, 1094, 1094, 1320, 1320, 1087, 1087,
1628
       92,   93, 1103, 1094, 1094, 1094, 1094, 1094, 1320, 1320,
1629
     1087, 1087,   92,   93, 1320, 1094, 1094, 1094, 1094, 1094,
1630
1631
     1320, 1320, 1087, 1087,   92,   93, 1320, 1104, 1096, 1320,
1632
     1320, 1320, 1105, 1320, 1320, 1087, 1087, 1320,   92,   93,
1633
     1096, 1094, 1094, 1094, 1094, 1094, 1320, 1320, 1320, 1087,
1634
     1320, 1320, 1096, 1320, 1087, 1108,   92,   93, 1320, 1094,
1635
     1094, 1094, 1094, 1094, 1109, 1320, 1087, 1087,   92,   93,
1636
     1320, 1094, 1094, 1094, 1094, 1094, 1110, 1320, 1096, 1087,
1637
     1087, 1320,   92,   93, 1111, 1094, 1094, 1094, 1094, 1094,
1638
     1320, 1320, 1087, 1087,   92,   93, 1096, 1094, 1094, 1094,
1639
     1094, 1094, 1320, 1320, 1320, 1087, 1320, 1087, 1096,   92,
1640
       93, 1320, 1094, 1094, 1094, 1094, 1094, 1112, 1320, 1320,
1641
1642
     1087, 1320, 1096, 1087, 1320,   92,   93, 1320, 1094, 1094,
1643
     1094, 1094, 1094, 1320, 1096, 1113, 1087, 1087, 1320,   92,
1644
       93, 1320, 1087, 1320,   92,   93, 1320, 1320, 1320, 1096,
1645
     1087, 1087, 1320,   92,   93, 1087, 1094, 1094, 1094, 1094,
1646
     1094, 1320, 1320, 1320, 1087, 1096, 1320, 1320, 1087, 1114,
1647
       92,   93, 1320, 1120, 1087, 1320,   92,   93, 1320, 1320,
1648
     1320, 1087, 1320, 1320, 1320, 1115, 1320, 1087, 1320, 1087,
1649
     1116,   92,   93, 1096, 1094, 1094, 1094, 1094, 1094, 1320,
1650
     1320, 1087, 1087,   92,   93, 1320, 1094, 1094, 1094, 1094,
1651
     1094, 1320, 1320, 1087, 1087,   92,   93, 1320, 1094, 1094,
1652
1653
     1094, 1094, 1094, 1320, 1320, 1320, 1087, 1117, 1320, 1320,
1654
     1320, 1096, 1320, 1123, 1087, 1118,   92,   93, 1087, 1320,
1655
       92,   93, 1320, 1096, 1320, 1320, 1320, 1087, 1320, 1320,
1656
     1320, 1087, 1119, 1320, 1320, 1096, 1087, 1320,   92,   93,
1657
     1121, 1094, 1094, 1094, 1094, 1094, 1320, 1320, 1320, 1087,
1658
     1122, 1087, 1320,   92,   93, 1320, 1094, 1094, 1094, 1094,
1659
     1094, 1320, 1320, 1087, 1087,   92,   93, 1320, 1094, 1094,
1660
     1094, 1094, 1094, 1320, 1320, 1320, 1087, 1087, 1096,   92,
1661
       93, 1087, 1320,   92,   93, 1087, 1320,   92,   93, 1087,
1662
     1087,   92,   93, 1096, 1087, 1320, 1320, 1320, 1087, 1320,
1663
1664
     1320, 1087, 1087,   92,   93, 1096, 1094, 1094, 1094, 1094,
1665
     1094, 1320, 1320, 1087, 1087,   92,   93, 1320, 1094, 1094,
1666
     1094, 1094, 1094, 1320, 1320, 1320, 1087, 1087, 1124,   92,
1667
       93, 1320, 1125, 1320, 1126, 1320, 1128, 1320, 1320, 1320,
1668
     1087, 1320, 1127, 1096, 1320, 1087, 1129,   92,   93, 1320,
1669
     1094, 1094, 1094, 1094, 1094, 1096, 1320, 1320, 1087, 1087,
1670
     1320,   92,   93, 1087, 1320,   92,   93, 1320, 1320, 1320,
1671
     1130, 1320, 1087, 1320, 1320, 1087, 1087,   92,   93, 1132,
1672
     1094, 1094, 1094, 1094, 1094, 1320, 1320, 1096, 1087, 1320,
1673
     1320, 1320, 1087, 1320,   92,   93, 1131, 1094, 1094, 1094,
1674
1675
     1094, 1094, 1320, 1320, 1320, 1087, 1320, 1320, 1320, 1320,
1676
     1320, 1320, 1320, 1087, 1133,   92,   93, 1096, 1094, 1094,
1677
     1094, 1094, 1094, 1320, 1134, 1320, 1087, 1320, 1320, 1320,
1678
     1320, 1135, 1320, 1087, 1096,   92,   93, 1320, 1094, 1094,
1679
     1094, 1094, 1094, 1136, 1320, 1087, 1087,   92,   93, 1320,
1680
     1094, 1094, 1094, 1094, 1094, 1096, 1320, 1320, 1087, 1087,
1681
     1137,   92,   93, 1320, 1094, 1094, 1094, 1094, 1094, 1320,
1682
     1320, 1087, 1087,   92,   93, 1096, 1094, 1094, 1094, 1094,
1683
     1094, 1320, 1320, 1087, 1087,   92,   93, 1096, 1320, 1087,
1684
     1320,   92,   93, 1320, 1320, 1320, 1087, 1320, 1138, 1320,
1685
1686
     1320, 1096, 1087, 1087, 1320,   92,   93, 1320, 1094, 1094,
1687
     1094, 1094, 1094, 1096, 1320, 1139, 1087, 1087, 1320,   92,
1688
       93, 1320, 1094, 1094, 1094, 1094, 1094, 1320, 1320, 1087,
1689
     1087,   92,   93, 1087, 1320,   92,   93, 1320, 1320, 1320,
1690
     1141, 1320, 1087, 1140, 1320, 1096, 1087, 1087, 1320,   92,
1691
       93, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1096,
1692
     1087, 1087, 1320,   92,   93, 1142, 1094, 1094, 1094, 1094,
1693
     1094, 1320, 1320, 1320, 1087, 1320, 1144, 1320, 1320, 1320,
1694
     1320, 1320, 1087, 1143,   92,   93, 1320, 1094, 1094, 1094,
1695
     1094, 1094, 1145, 1320, 1320, 1087, 1320, 1320, 1146, 1087,
1696
1697
     1320,   92,   93, 1096, 1094, 1094, 1094, 1094, 1094, 1320,
1698
     1320, 1320, 1087, 1150, 1320, 1320,  494, 1320, 1151, 1151,
1699
     1151, 1151, 1151, 1147, 1096, 1150, 1150, 1320, 1320, 1320,
1700
     1153, 1153, 1153, 1153, 1153, 1320, 1320, 1320, 1150, 1150,
1701
     1320, 1096, 1148, 1320, 1153, 1153, 1153, 1153, 1153, 1320,
1702
     1320, 1150, 1150, 1320, 1320, 1150, 1153, 1153, 1153, 1153,
1703
     1153, 1320, 1320, 1150, 1150,   92,   93, 1150, 1157, 1157,
1704
     1157, 1157, 1157, 1320, 1320, 1320, 1150, 1150, 1320,   92,
1705
       93, 1150, 1157, 1157, 1157, 1157, 1157, 1320, 1320, 1320,
1706
     1150, 1320, 1320, 1150, 1150, 1320, 1320, 1320, 1320, 1155,
1707
1708
     1155, 1155, 1155, 1155, 1320, 1159, 1320, 1150, 1156, 1156,
1709
     1156, 1156, 1156, 1156, 1150, 1320,   92,   93, 1150, 1159,
1710
       92,   93, 1150, 1320,   92,   93, 1320, 1150, 1320, 1320,
1711
     1150, 1150,   92,   93, 1320, 1150, 1150, 1156, 1156, 1156,
1712
     1156, 1156, 1156, 1150, 1320, 1150, 1160,   92,   93, 1320,
1713
     1157, 1157, 1157, 1157, 1157, 1320, 1320, 1150, 1150,   92,
1714
       93, 1165, 1150, 1320,   92,   93, 1150, 1320,   92,   93,
1715
     1150, 1320, 1320, 1320, 1161, 1150, 1320, 1162, 1320, 1150,
1716
     1163, 1320, 1320, 1150, 1164,   92,   93, 1159, 1157, 1157,
1717
     1157, 1157, 1157, 1320, 1320, 1150, 1150,   92,   93, 1320,
1718
1719
     1157, 1157, 1157, 1157, 1157, 1320, 1320, 1320, 1150, 1320,
1720
     1320, 1166, 1320, 1167, 1150, 1320,   92,   93, 1320, 1157,
1721
     1157, 1157, 1157, 1157, 1320, 1159, 1320, 1150, 1150, 1168,
1722
       92,   93, 1150, 1320,   92,   93, 1320, 1159, 1320, 1320,
1723
     1320, 1150, 1320, 1320, 1150, 1150,   92,   93, 1320, 1157,
1724
     1157, 1157, 1157, 1157, 1320, 1320, 1159, 1150, 1320, 1320,
1725
     1169, 1320, 1320, 1170, 1320, 1320, 1320, 1150, 1320,   92,
1726
       93, 1171, 1157, 1157, 1157, 1157, 1157, 1320, 1320, 1320,
1727
     1150, 1320, 1150, 1320,   92,   93, 1159, 1157, 1157, 1157,
1728
     1157, 1157, 1320, 1320, 1172, 1150, 1320, 1150, 1320,   92,
1729
1730
       93, 1320, 1157, 1157, 1157, 1157, 1157, 1320, 1320, 1159,
1731
     1150, 1320, 1320, 1320, 1150, 1173,   92,   93, 1320, 1157,
1732
     1157, 1157, 1157, 1157, 1159, 1320, 1174, 1150, 1320, 1150,
1733
     1320,   92,   93, 1150, 1320,   92,   93, 1320, 1320, 1159,
1734
     1320, 1175, 1150, 1320, 1320, 1320, 1150, 1320, 1320, 1320,
1735
     1320, 1176, 1150, 1320,   92,   93, 1159, 1157, 1157, 1157,
1736
     1157, 1157, 1320, 1320, 1320, 1150, 1178, 1150, 1320,   92,
1737
       93, 1320, 1157, 1157, 1157, 1157, 1157, 1320, 1320, 1320,
1738
     1150, 1320, 1320, 1320, 1150, 1177,   92,   93, 1320, 1157,
1739
     1157, 1157, 1157, 1157, 1159, 1320, 1320, 1150, 1150, 1320,
1740
1741
       92,   93, 1150, 1320,   92,   93, 1320, 1320, 1320, 1159,
1742
     1150, 1150,   92,   93, 1320, 1150, 1320, 1179, 1320, 1320,
1743
     1320, 1320, 1150, 1150,   92,   93, 1159, 1157, 1157, 1157,
1744
     1157, 1157, 1320, 1320, 1150, 1150,   92,   93, 1150, 1320,
1745
       92,   93, 1320, 1180, 1320, 1320, 1320, 1150, 1320, 1181,
1746
     1150, 1150,   92,   93, 1320, 1157, 1157, 1157, 1157, 1157,
1747
     1320, 1320, 1320, 1150, 1159, 1150, 1320,   92,   93, 1150,
1748
     1320,   92,   93, 1150, 1320,   92,   93, 1320, 1150, 1320,
1749
     1320, 1320, 1150, 1320, 1320, 1320, 1150, 1184, 1320, 1320,
1750
     1182, 1150, 1159,   92,   93, 1320, 1157, 1157, 1157, 1157,
1751
1752
     1157, 1320, 1320, 1320, 1150, 1320, 1150, 1183,   92,   93,
1753
     1320, 1320, 1185, 1320, 1320, 1150, 1186,   92,   93, 1150,
1754
     1157, 1157, 1157, 1157, 1157, 1320, 1320, 1320, 1150, 1320,
1755
     1320, 1320, 1187, 1159, 1320, 1150, 1320,   92,   93, 1320,
1756
     1157, 1157, 1157, 1157, 1157, 1320, 1320, 1188, 1150, 1320,
1757
     1150, 1320,   92,   93, 1320, 1320, 1150, 1159,   92,   93,
1758
     1320, 1320, 1189, 1150, 1320, 1150, 1320,   92,   93, 1150,
1759
     1157, 1157, 1157, 1157, 1157, 1320, 1320, 1159, 1150, 1190,
1760
     1150, 1320,   92,   93, 1320, 1157, 1157, 1157, 1157, 1157,
1761
     1320, 1320, 1150, 1150,   92,   93, 1320, 1157, 1157, 1157,
1762
1763
     1157, 1157, 1320, 1320, 1320, 1150, 1150, 1159,   92,   93,
1764
     1191, 1150, 1320,   92,   93, 1192, 1320, 1320, 1320, 1150,
1765
     1193, 1320, 1159, 1150, 1150,   92,   93, 1320, 1157, 1157,
1766
     1157, 1157, 1157, 1320, 1159, 1194, 1150, 1150, 1320,   92,
1767
       93, 1320, 1157, 1157, 1157, 1157, 1157, 1320, 1320, 1150,
1768
     1150,   92,   93, 1195, 1320, 1320, 1320, 1198, 1320, 1320,
1769
     1320, 1150, 1150,   92,   93, 1159, 1157, 1157, 1157, 1157,
1770
     1157, 1320, 1199, 1320, 1150, 1320, 1320, 1320, 1320, 1159,
1771
     1196, 1150, 1320,   92,   93, 1320, 1157, 1157, 1157, 1157,
1772
     1157, 1320, 1197, 1150, 1150,   92,   93, 1150, 1320,   92,
1773
1774
       93, 1320, 1205, 1159,   92,   93, 1150, 1320, 1320, 1320,
1775
     1150, 1150, 1320,   92,   93, 1205, 1157, 1157, 1157, 1157,
1776
     1157, 1320, 1200, 1159, 1150, 1150, 1320,   92,   93, 1320,
1777
     1157, 1157, 1157, 1157, 1157, 1320, 1205, 1320, 1150,  494,
1778
     1320, 1206, 1206, 1206, 1206, 1206, 1320, 1320, 1320, 1205,
1779
     1320, 1320, 1320, 1159, 1320, 1205, 1320, 1320, 1201, 1320,
1780
     1208, 1208, 1208, 1208, 1208, 1320, 1320, 1159, 1205, 1320,
1781
     1320, 1320, 1202, 1320, 1320, 1320, 1205, 1320, 1205, 1320,
1782
     1203, 1208, 1208, 1208, 1208, 1208, 1205, 1320, 1320, 1205,
1783
     1320, 1208, 1208, 1208, 1208, 1208, 1320, 1205, 1205, 1205,
1784
1785
       92,   93, 1320, 1212, 1212, 1212, 1212, 1212, 1320, 1320,
1786
     1320, 1205, 1320, 1320, 1205, 1320,   92,   93, 1205, 1212,
1787
     1212, 1212, 1212, 1212, 1320, 1320, 1320, 1205, 1205, 1205,
1788
     1320, 1320, 1320, 1320, 1210, 1210, 1210, 1210, 1210, 1320,
1789
     1214, 1320, 1205, 1211, 1211, 1211, 1211, 1211, 1211, 1205,
1790
     1320,   92,   93, 1320, 1320, 1205, 1214,   92,   93, 1320,
1791
     1320, 1320, 1205, 1320, 1320, 1320, 1320, 1217, 1205, 1320,
1792
     1320, 1205, 1211, 1211, 1211, 1211, 1211, 1211, 1320, 1205,
1793
     1215,   92,   93, 1320, 1212, 1212, 1212, 1212, 1212, 1320,
1794
     1320, 1205, 1205,   92,   93, 1320, 1205, 1216,   92,   93,
1795
1796
     1205, 1320,   92,   93, 1205, 1205, 1320,   92,   93, 1205,
1797
     1320, 1320, 1320, 1205, 1320, 1320, 1320, 1205, 1205,   92,
1798
       93, 1214, 1212, 1212, 1212, 1212, 1212, 1320, 1320, 1205,
1799
     1205,   92,   93, 1320, 1212, 1212, 1212, 1212, 1212, 1320,
1800
     1320, 1320, 1205, 1205, 1218,   92,   93, 1320, 1212, 1212,
1801
     1212, 1212, 1212, 1320, 1320, 1205, 1205,   92,   93, 1214,
1802
     1219, 1320, 1320, 1320, 1320, 1320, 1320, 1205, 1205,   92,
1803
       93, 1214, 1212, 1212, 1212, 1212, 1212, 1220, 1320, 1320,
1804
     1205, 1205, 1320,   92,   93, 1214, 1212, 1212, 1212, 1212,
1805
     1212, 1320, 1320, 1205, 1205,   92,   93, 1320, 1212, 1212,
1806
1807
     1212, 1212, 1212, 1320, 1320, 1320, 1205, 1320, 1205, 1214,
1808
       92,   93, 1320, 1212, 1212, 1212, 1212, 1212, 1320, 1320,
1809
     1320, 1205, 1320, 1214, 1221, 1205, 1222,   92,   93, 1320,
1810
     1212, 1212, 1212, 1212, 1212, 1214, 1320, 1320, 1205, 1205,
1811
     1320,   92,   93, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
1812
     1214, 1205, 1205,   92,   93, 1320, 1212, 1212, 1212, 1212,
1813
     1212, 1320, 1320, 1205, 1205,   92,   93, 1214, 1320, 1224,
1814
     1320, 1320, 1223, 1320, 1320, 1320, 1205, 1320, 1320, 1320,
1815
     1320, 1205, 1320,   92,   93, 1225, 1212, 1212, 1212, 1212,
1816
     1212, 1320, 1320, 1214, 1205, 1205, 1320,   92,   93, 1226,
1817
1818
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1205, 1205,   92,
1819
       93, 1320, 1212, 1212, 1212, 1212, 1212, 1227, 1320, 1205,
1820
     1205,   92,   93, 1214, 1320, 1320, 1320, 1320, 1205, 1320,
1821
       92,   93, 1205, 1212, 1212, 1212, 1212, 1212, 1320, 1228,
1822
     1205, 1205,   92,   93, 1205, 1320,   92,   93, 1205, 1214,
1823
       92,   93, 1205, 1205,   92,   93, 1205, 1205,   92,   93,
1824
     1320, 1205, 1320, 1320, 1320, 1205, 1320, 1320, 1320, 1205,
1825
     1214, 1205, 1229,   92,   93, 1230, 1212, 1212, 1212, 1212,
1826
     1212, 1320, 1320, 1205, 1205,   92,   93, 1231, 1212, 1212,
1827
     1212, 1212, 1212, 1320, 1320, 1205, 1205,   92,   93, 1320,
1828
1829
     1212, 1212, 1212, 1212, 1212, 1320, 1320, 1205, 1205,   92,
1830
       93, 1320, 1320, 1214, 1320, 1244, 1320,   92,   93, 1320,
1831
     1205, 1320, 1320, 1320, 1320, 1214, 1232, 1205, 1244,   92,
1832
       93, 1320, 1212, 1212, 1212, 1212, 1212, 1214, 1320, 1320,
1833
     1205, 1205, 1233,   92,   93, 1320, 1212, 1212, 1212, 1212,
1834
     1212, 1320, 1320, 1205, 1205,   92,   93, 1234, 1212, 1212,
1835
     1212, 1212, 1212, 1320, 1320, 1320, 1205, 1320, 1205, 1214,
1836
       92,   93, 1320, 1212, 1212, 1212, 1212, 1212, 1320, 1320,
1837
     1320, 1205, 1320, 1214, 1205, 1320,   92,   93, 1320, 1212,
1838
     1212, 1212, 1212, 1212, 1320, 1214, 1205, 1205,   92,   93,
1839
1840
     1205, 1320,   92,   93, 1320, 1244, 1320,   92,   93, 1205,
1841
     1214, 1320, 1235, 1205, 1205, 1236,   92,   93, 1244, 1212,
1842
     1212, 1212, 1212, 1212, 1320, 1320, 1214, 1205, 1205, 1320,
1843
       92,   93, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
1844
     1205, 1205,   92,   93, 1320, 1212, 1212, 1212, 1212, 1212,
1845
     1320, 1238, 1320, 1205, 1320, 1320, 1214, 1237, 1320, 1320,
1846
     1205, 1239,   92,   93, 1320, 1212, 1212, 1212, 1212, 1212,
1847
     1320, 1320, 1244, 1205,   92,   93, 1320, 1320, 1320, 1240,
1848
     1320, 1320, 1214, 1244, 1320, 1244,  494, 1241, 1245, 1245,
1849
     1245, 1245, 1245, 1320, 1260, 1320, 1244, 1244, 1244,   92,
1850
1851
       93, 1320, 1214, 1247, 1247, 1247, 1247, 1247, 1244, 1320,
1852
     1244, 1244, 1320, 1247, 1247, 1247, 1247, 1247, 1320, 1320,
1853
     1242, 1244, 1244, 1320, 1320, 1244, 1320, 1247, 1247, 1247,
1854
     1247, 1247, 1320, 1320, 1244, 1244,   92,   93, 1320, 1320,
1855
     1244, 1320, 1320, 1320, 1263, 1320, 1244, 1244,   92,   93,
1856
     1244, 1251, 1251, 1251, 1251, 1251, 1320, 1320, 1320, 1244,
1857
     1320, 1320, 1261, 1320, 1244, 1244, 1320, 1320, 1320, 1320,
1858
     1249, 1249, 1249, 1249, 1249, 1320, 1320, 1320, 1244, 1250,
1859
     1250, 1250, 1250, 1250, 1250, 1320, 1320, 1244, 1253,   92,
1860
       93, 1320, 1251, 1251, 1251, 1251, 1251, 1320, 1320, 1320,
1861
1862
     1244, 1244, 1320,   92,   93, 1320, 1320, 1244, 1250, 1250,
1863
     1250, 1250, 1250, 1250, 1244, 1244, 1320,   92,   93, 1254,
1864
     1251, 1251, 1251, 1251, 1251, 1320, 1320, 1320, 1244, 1253,
1865
     1244, 1320,   92,   93, 1320, 1251, 1251, 1251, 1251, 1251,
1866
     1320, 1320, 1244, 1244,   92,   93, 1255, 1251, 1251, 1251,
1867
     1251, 1251, 1320, 1320, 1320, 1244, 1244, 1253,   92,   93,
1868
     1320, 1251, 1251, 1251, 1251, 1251, 1320, 1320, 1256, 1244,
1869
     1320, 1320, 1253, 1244, 1320,   92,   93, 1320, 1251, 1251,
1870
     1251, 1251, 1251, 1320, 1253, 1320, 1244, 1258, 1244, 1257,
1871
       92,   93, 1320, 1251, 1251, 1251, 1251, 1251, 1253, 1320,
1872
1873
     1244, 1244,   92,   93, 1320, 1251, 1251, 1251, 1251, 1251,
1874
     1320, 1320, 1320, 1244, 1320, 1253, 1320, 1320, 1244, 1259,
1875
       92,   93, 1320, 1251, 1251, 1251, 1251, 1251, 1320, 1320,
1876
     1253, 1244, 1320, 1244, 1320,   92,   93, 1320, 1320, 1320,
1877
     1320, 1320, 1253, 1320, 1320, 1244, 1244,   92,   93, 1320,
1878
     1251, 1251, 1251, 1251, 1251, 1320, 1320, 1320, 1244, 1320,
1879
     1253, 1262, 1244, 1320,   92,   93, 1320, 1251, 1251, 1251,
1880
     1251, 1251, 1320, 1320, 1320, 1244, 1244, 1320,   92,   93,
1881
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1253, 1244, 1244,
1882
       92,   93, 1320, 1251, 1251, 1251, 1251, 1251, 1320, 1320,
1883
1884
     1244, 1244,   92,   93, 1253, 1251, 1251, 1251, 1251, 1251,
1885
     1320, 1320, 1320, 1244, 1320, 1320, 1320, 1320, 1320, 1320,
1886
     1244, 1264,   92,   93, 1320, 1251, 1251, 1251, 1251, 1251,
1887
     1253, 1320, 1244, 1244,   92,   93, 1320, 1251, 1251, 1251,
1888
     1251, 1251, 1253, 1320, 1244, 1244,   92,   93, 1320, 1251,
1889
     1251, 1251, 1251, 1251, 1265, 1320, 1244, 1244,   92,   93,
1890
     1320, 1320, 1253, 1244, 1320,   92,   93, 1320, 1320, 1244,
1891
     1244, 1320,   92,   93, 1253, 1267, 1244, 1320, 1320, 1320,
1892
     1320, 1266, 1244, 1244,   92,   93, 1253, 1251, 1251, 1251,
1893
     1251, 1251, 1320, 1273, 1320, 1244,  494, 1320, 1274, 1274,
1894
1895
     1274, 1274, 1274, 1268, 1320, 1320, 1273, 1269, 1244, 1320,
1896
       92,   93, 1320, 1251, 1251, 1251, 1251, 1251, 1320, 1270,
1897
     1320, 1244, 1320, 1320, 1253, 1244, 1271,   92,   93, 1320,
1898
     1251, 1251, 1251, 1251, 1251, 1273, 1273, 1320, 1244, 1320,
1899
     1320, 1276, 1276, 1276, 1276, 1276, 1273, 1320, 1320, 1273,
1900
     1253, 1276, 1276, 1276, 1276, 1276, 1273, 1320, 1320, 1273,
1901
     1320, 1276, 1276, 1276, 1276, 1276, 1320, 1253, 1273, 1273,
1902
       92,   93, 1320, 1280, 1280, 1280, 1280, 1280, 1273, 1320,
1903
     1320, 1273, 1320, 1320, 1273, 1320,   92,   93, 1273, 1280,
1904
     1280, 1280, 1280, 1280, 1320, 1320, 1320, 1273, 1273, 1273,
1905
1906
     1320, 1320, 1320, 1320, 1278, 1278, 1278, 1278, 1278, 1320,
1907
     1282, 1320, 1273, 1279, 1279, 1279, 1279, 1279, 1279, 1273,
1908
     1320,   92,   93, 1320, 1320, 1273, 1282,   92,   93, 1320,
1909
       92,   93, 1273, 1318, 1318, 1318, 1318, 1318, 1273, 1320,
1910
     1320, 1273, 1279, 1279, 1279, 1279, 1279, 1279, 1273, 1320,
1911
       92,   93, 1320, 1280, 1280, 1280, 1280, 1280, 1320, 1320,
1912
     1273, 1273,   92,   93, 1320, 1280, 1280, 1280, 1280, 1280,
1913
       92, 1320, 1320, 1273, 1283, 1273, 1320,   92,   93, 1320,
1914
     1280, 1280, 1280, 1280, 1280, 1320, 1320, 1320, 1273, 1320,
1915
     1282, 1320, 1273, 1284,   92,   93, 1320, 1280, 1280, 1280,
1916
1917
     1280, 1280, 1282, 1320, 1320, 1273, 1320, 1273, 1320,   92,
1918
       93, 1320, 1280, 1280, 1280, 1280, 1280, 1282, 1320, 1285,
1919
     1273, 1320, 1273, 1320,   92,   93, 1273, 1320,   92,   93,
1920
     1320, 1320, 1320, 1286, 1282, 1273, 1320, 1320, 1273, 1273,
1921
       92,   93, 1273, 1320,   92,   93, 1320, 1320, 1320, 1282,
1922
     1287, 1273, 1320, 1288, 1273, 1273,   92,   93, 1320, 1280,
1923
     1280, 1280, 1280, 1280, 1320, 1289, 1320, 1273, 1273, 1320,
1924
       92,   93, 1320, 1280, 1280, 1280, 1280, 1280, 1320, 1320,
1925
     1273, 1273,   92,   93, 1320, 1280, 1280, 1280, 1280, 1280,
1926
     1320, 1320, 1273, 1273,   92,   93, 1282, 1280, 1280, 1280,
1927
1928
     1280, 1280, 1320, 1320, 1320, 1273, 1320, 1320, 1290, 1320,
1929
     1282, 1273, 1320,   92,   93, 1320, 1280, 1280, 1280, 1280,
1930
     1280, 1320, 1282, 1273, 1273,   92,   93, 1291, 1273, 1320,
1931
       92,   93, 1320, 1320, 1282, 1273, 1273,   92,   93, 1320,
1932
     1320, 1273, 1320, 1320, 1320, 1320, 1320, 1292, 1273, 1298,
1933
     1320, 1320,  494, 1282, 1299, 1299, 1299, 1299, 1299, 1320,
1934
     1320, 1298, 1298, 1320, 1320, 1293, 1301, 1301, 1301, 1301,
1935
     1301, 1320, 1320, 1320, 1298, 1320, 1320, 1320, 1320, 1294,
1936
     1298, 1320, 1320, 1295, 1320, 1301, 1301, 1301, 1301, 1301,
1937
     1296, 1298, 1298, 1298, 1320, 1320, 1320, 1301, 1301, 1301,
1938
1939
     1301, 1301, 1320, 1298, 1298, 1298,   92,   93, 1320, 1305,
1940
     1305, 1305, 1305, 1305, 1320, 1320, 1320, 1298, 1298, 1320,
1941
       92,   93, 1298, 1305, 1305, 1305, 1305, 1305, 1320, 1320,
1942
     1320, 1298, 1320, 1320, 1298, 1298, 1320, 1320, 1320, 1320,
1943
     1303, 1303, 1303, 1303, 1303, 1320, 1307, 1320, 1298, 1304,
1944
     1304, 1304, 1304, 1304, 1304, 1298, 1320,   92,   93, 1320,
1945
     1307, 1298, 1320,   92,   93, 1320,   92,   93, 1298, 1318,
1946
     1318, 1318, 1318, 1318, 1298, 1320, 1320, 1298, 1304, 1304,
1947
     1304, 1304, 1304, 1304, 1298, 1320,   92,   93, 1309, 1305,
1948
     1305, 1305, 1305, 1305, 1320, 1320, 1298, 1298,   92,   93,
1949
1950
     1320, 1305, 1305, 1305, 1305, 1305,   92, 1320, 1298, 1298,
1951
       92,   93, 1320, 1305, 1305, 1305, 1305, 1305, 1320, 1320,
1952
     1320, 1298, 1298, 1320,   92,   93, 1307, 1305, 1305, 1305,
1953
     1305, 1305, 1320, 1320, 1298, 1298,   92,   93, 1307, 1298,
1954
     1308,   92,   93, 1320, 1320, 1320, 1320, 1298, 1320, 1320,
1955
     1307, 1320, 1298, 1298, 1320,   92,   93, 1320, 1305, 1305,
1956
     1305, 1305, 1305, 1320, 1307, 1298, 1298,   92,   93, 1320,
1957
     1305, 1305, 1305, 1305, 1305, 1320, 1320, 1298, 1298,   92,
1958
       93, 1320, 1305, 1305, 1305, 1305, 1305, 1320, 1320, 1320,
1959
     1298, 1298, 1320,   92,   93, 1307, 1305, 1305, 1305, 1305,
1960
1961
     1305, 1320, 1320, 1298, 1298,   92,   93, 1307, 1298, 1320,
1962
       92,   93, 1298, 1320,   92,   93, 1298, 1320, 1320, 1307,
1963
     1320, 1298, 1320, 1320, 1320, 1298, 1320, 1320, 1320, 1320,
1964
     1320, 1320, 1320, 1307, 1320,   92,   93, 1310, 1318, 1318,
1965
     1318, 1318, 1318,   92,   93, 1320, 1318, 1318, 1318, 1318,
1966
     1318, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1311, 1316,
1967
     1316, 1316, 1316, 1316, 1320, 1320, 1320, 1320, 1317, 1317,
1968
     1317, 1317, 1317, 1317, 1320,   92, 1320, 1320, 1320, 1320,
1969
     1320,   92,   93,   92, 1318, 1318, 1318, 1318, 1318,   92,
1970
       93, 1320, 1318, 1318, 1318, 1318, 1318, 1317, 1317, 1317,
1971
1972
     1317, 1317, 1317, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
1973
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
1974
     1320,   92, 1320, 1320, 1320, 1320, 1320, 1320, 1320,   92,
1975
       73,   73, 1320,   73,   73,   73,   73,   73,   73,   73,
1976
       73,   73,   75,   75, 1320, 1320,   75,   75,   75,   75,
1977
       75,   75,   75,   75,   77,   77, 1320,   77,   77,   77,
1978
       77,   77,   77,   77,   77,   77,   80, 1320, 1320, 1320,
1979
       80, 1320,   80,   80,   81, 1320, 1320,   81,   81,   81,
1980
       81,   81,   81,   81,   81,   81,   87, 1320,   87, 1320,
1981
       87,   87,   87,   87,   89,   89,  223,  223, 1320,  223,
1982
1983
      223,  223,  223,  223,  223,  223,  223,  223,  226, 1320,
1984
     1320, 1320,  226, 1320,  226,  226,  227, 1320, 1320, 1320,
1985
      227, 1320,  227,  227,  228, 1320,  228, 1320,  228,  228,
1986
      232, 1320,  232, 1320,  232,  232,  232,  232,  235, 1320,
1987
     1320, 1320,  235,  235,  235,  235,  239,  239,  240,  240,
1988
      240,  240,   92,   92, 1320,   92, 1320,   92,   92,  242,
1989
     1320, 1320,  242, 1320,  242,  242,  245,  245,  245, 1320,
1990
      245,  245,  245,  245,  246,  246,  246, 1320,  246, 1320,
1991
      246,  246,  361, 1320, 1320, 1320,  361, 1320,  361,  361,
1992
      362, 1320, 1320, 1320,  362, 1320,  362,  362,  367, 1320,
1993
1994
      367, 1320,  367,  367,  367,  367,  370, 1320, 1320, 1320,
1995
      370,  370,  370,  370,  374,  374,  378,  378,  378, 1320,
1996
      378,  378,  378,  378,  379,  379,  379, 1320,  379, 1320,
1997
      379,  379,  490, 1320, 1320, 1320,  490, 1320,  490,  490,
1998
      491, 1320, 1320, 1320,  491, 1320,  491,  491,  496, 1320,
1999
      496, 1320,  496,  496,  496,  496,  498, 1320, 1320, 1320,
2000
      498,  498,  498,  498,  501,  501,  504,  504,  504, 1320,
2001
      504,  504,  504,  504,  505,  505,  505, 1320,  505, 1320,
2002
      505,  505,   92,   92, 1320,   92, 1320,   92,   92,  615,
2003
     1320, 1320, 1320,  615, 1320,  615,  615,  616, 1320, 1320,
2004
2005
     1320,  616, 1320,  616,  616,  620, 1320,  620, 1320,  620,
2006
     1320,  620,  620,  622, 1320, 1320, 1320,  622, 1320,  622,
2007
      622,  627,  627,  627, 1320,  627, 1320,  627,  627,  628,
2008
      628,  628, 1320,  628, 1320,  628,  628,  729, 1320, 1320,
2009
     1320,  729, 1320,  729,  729,  730, 1320, 1320, 1320,  730,
2010
     1320,  730,  730,  734, 1320,  734, 1320,  734, 1320,  734,
2011
      734,  736, 1320, 1320, 1320,  736, 1320,  736,  736,  740,
2012
      740,  740, 1320,  740, 1320,  740,  740,  741,  741,  741,
2013
     1320,  741, 1320,  741,  741,  832, 1320, 1320, 1320,  832,
2014
     1320,  832,  832,  833, 1320, 1320, 1320,  833, 1320,  833,
2015
2016
      833,  837, 1320,  837, 1320,  837, 1320,  837,  837,  839,
2017
     1320, 1320, 1320,  839, 1320,  839,  839,  843,  843,  843,
2018
     1320,  843, 1320,  843,  843,  844,  844,  844, 1320,  844,
2019
     1320,  844,  844,  927, 1320, 1320, 1320,  927, 1320,  927,
2020
      927,  928, 1320, 1320, 1320,  928, 1320,  928,  928,  932,
2021
     1320,  932, 1320,  932, 1320,  932,  932,  934, 1320, 1320,
2022
     1320,  934, 1320,  934,  934,  938,  938,  938, 1320,  938,
2023
     1320,  938,  938,  939,  939,  939, 1320,  939, 1320,  939,
2024
      939, 1012, 1012, 1320, 1012, 1012, 1012, 1012, 1012, 1012,
2025
     1012, 1012, 1012, 1014, 1320, 1320, 1320, 1014, 1320, 1014,
2026
2027
     1014, 1015, 1320, 1320, 1320, 1015, 1320, 1015, 1015, 1018,
2028
     1320, 1018, 1320, 1018, 1320, 1018, 1018, 1020, 1320, 1320,
2029
     1320, 1020, 1320, 1020, 1020, 1024, 1024, 1024, 1320, 1024,
2030
     1320, 1024, 1024, 1025, 1025, 1025, 1320, 1025, 1320, 1025,
2031
     1025, 1086, 1320, 1320, 1320, 1086, 1320, 1086, 1086, 1087,
2032
     1320, 1320, 1320, 1087, 1320, 1087, 1087, 1089, 1320, 1089,
2033
     1320, 1089, 1320, 1089, 1089, 1091, 1320, 1320, 1320, 1091,
2034
     1320, 1091, 1091, 1095, 1095, 1095, 1320, 1095, 1320, 1095,
2035
     1095, 1096, 1096, 1096, 1320, 1096, 1320, 1096, 1096, 1149,
2036
     1320, 1320, 1320, 1149, 1320, 1149, 1149, 1150, 1320, 1320,
2037
2038
     1320, 1150, 1320, 1150, 1150, 1152, 1320, 1152, 1320, 1152,
2039
     1320, 1152, 1152, 1154, 1320, 1320, 1320, 1154, 1320, 1154,
2040
     1154, 1158, 1158, 1158, 1320, 1158, 1320, 1158, 1158, 1159,
2041
     1159, 1159, 1320, 1159, 1320, 1159, 1159, 1204, 1320, 1320,
2042
     1320, 1204, 1320, 1204, 1204, 1205, 1320, 1320, 1320, 1205,
2043
     1320, 1205, 1205, 1207, 1320, 1207, 1320, 1207, 1320, 1207,
2044
     1207, 1209, 1320, 1320, 1320, 1209, 1320, 1209, 1209, 1213,
2045
     1213, 1213, 1320, 1213, 1320, 1213, 1213, 1214, 1214, 1214,
2046
     1320, 1214, 1320, 1214, 1214, 1243, 1320, 1320, 1320, 1243,
2047
     1320, 1243, 1243, 1244, 1320, 1320, 1320, 1244, 1320, 1244,
2048
2049
     1244, 1246, 1320, 1246, 1320, 1246, 1320, 1246, 1246, 1248,
2050
     1320, 1320, 1320, 1248, 1320, 1248, 1248, 1252, 1252, 1252,
2051
     1320, 1252, 1320, 1252, 1252, 1253, 1253, 1253, 1320, 1253,
2052
     1320, 1253, 1253, 1272, 1320, 1320, 1320, 1272, 1320, 1272,
2053
     1272, 1273, 1320, 1320, 1320, 1273, 1320, 1273, 1273, 1275,
2054
     1320, 1275, 1320, 1275, 1320, 1275, 1275, 1277, 1320, 1320,
2055
     1320, 1277, 1320, 1277, 1277, 1281, 1281, 1281, 1320, 1281,
2056
     1320, 1281, 1281, 1282, 1282, 1282, 1320, 1282, 1320, 1282,
2057
     1282, 1297, 1320, 1320, 1320, 1297, 1320, 1297, 1297, 1298,
2058
     1320, 1320, 1320, 1298, 1320, 1298, 1298, 1300, 1320, 1300,
2059
2060
     1320, 1300, 1320, 1300, 1300, 1302, 1320, 1320, 1320, 1302,
2061
     1320, 1302, 1302, 1306, 1306, 1306, 1320, 1306, 1320, 1306,
2062
     1306, 1307, 1307, 1307, 1320, 1307, 1320, 1307, 1307, 1313,
2063
     1320, 1313, 1320, 1313, 1315, 1320, 1315, 1319, 1319, 1320,
2064
     1319, 1320, 1319, 1319,   92,   92, 1320,   92, 1320,   92,
2065
       92,    3, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
2066
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
2067
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
2068
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
2069
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
2070
2071
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
2072
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
2073
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
2074
     1320, 1320, 1320, 1320
2075
    } ;
2076
2077
static const flex_int16_t yy_chk[10835] =
2078
    {   0,
2079
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2080
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2081
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2082
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2083
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2084
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2085
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2086
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2087
        1,    1,    5,   33,   72,    5,   18,   72,   75,   18,
2088
       33,   18,   18,   18,   18,   18,   18,   75,  261,   18,
2089
2090
       18,   18,   18,   18,   18,   18,   25,   26,   25,   25,
2091
      109,  249,   35,  109,   25,   25,   66,  261,   26,   35,
2092
       26,   26,   35,   66,   29,  249,   26,   26,   18,   18,
2093
       18,   18,   18,   18,   18,   29,  265,   29,   27,   36,
2094
      106,   66,   29,   29,   29,   27,   36,   27,   27,   36,
2095
      265,   18,   19,   27,   27,   19,  106,   19,   19,   19,
2096
       19,   19,   19,   31,   31,   19,   19,   19,   19,   19,
2097
       19,   19,   28,  255,   28,   31,   37,   28,   44,   31,
2098
       28,   28,   31,   37,   28,   44, 1311,   37,   44,   37,
2099
      113,  255,  279,  113,   19,   19,   19,   19,   19,   19,
2100
2101
       19,   24,   99,   24,   24,   99,   24,   24,   24,   24,
2102
       24,   24,  279,   99,   24,   24,   24,   24,   24,   24,
2103
       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
2104
       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
2105
      384,  384, 1309,   24,   24,   24,   24,   24,   24,   24,
2106
       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
2107
       24,   24,   24,   24,   24,   24,   24,   24,   30,   30,
2108
       30,   30,   30,   30,  278,  253,  278,   30,   30,   30,
2109
       30,   30,   30,   43,   54,  168,  253,   43,   30,   32,
2110
       30,   54,   32,   32,   43,  278,   30,   30,   67,   32,
2111
2112
      168,   32,   32,   34,   34,   67,   30,   30,   30,   30,
2113
       30,   30,   38,   54,   38,   34,  287,  102,   38,   54,
2114
      102,   38,   34,  102,   38,   34,   39,   39,   39,   40,
2115
      268,  442,  287,   40,   39,   58,   67,   40,   39,   98,
2116
       40,  268,   58,   40,   98,   39,  251,   98,   39,   41,
2117
       41,   41,   42,   42,   42,  442,  311,   41,   48,  108,
2118
       48,   41,  108,  251,   42,  269,   48,   48,   41,  108,
2119
       58,   42,  269,   58,   41,  100,  116,   41,   42,  116,
2120
      100,   41,   49,  100,   49,  252,   48,  267,   48,  104,
2121
       49,   49,  267,  252,   48,   48,   50,  104,   50,   51,
2122
2123
      104,   51,  311,  110,   50,   50,  110,   51,   51,   52,
2124
      110,   52,  117,   49,   50,  117,   59,   52,   52,  290,
2125
       53,   51,   53,   59,   50,  290,   56,   50,   53,   53,
2126
       51,   55,   55,   56,   57,   57,  114,   52,   53,  114,
2127
       60,  114,   52,   55,   61,   59,   57,   60,  270,   52,
2128
       55,   61,   56,   57,   59,   53,   56,  101,   63,  101,
2129
      101,  270,  115,   56,   56,   63,   62,   62,   62,  115,
2130
      101,   61,  115,   61,  272,   57,   55,   61,   62,   60,
2131
      112,   60,   61,   63,   57,   62,  112,   63,  272,  112,
2132
     1307,   63,   64,   64,   64,  120,   63,  304,  120,  319,
2133
2134
       65,   65,   65,   62,   64,  105,  112,   62,  105,  105,
2135
      105,   64,   65,  118,  123,  118,   62,  123,  118,   65,
2136
       83,   83,   83,   83,   83,   87,  304,  271,  319,   64,
2137
       87,   87,   87,   87,   87,   87,  107,  271,   87,  107,
2138
      107,  107,  119,  259,  124,   64,  119,  124,   64,  119,
2139
     1013,  259,   64,  119,   65,   84,  127,  308,   84,  127,
2140
       84,   84,   84,   84,   84,   84,  127,   87,   84,   84,
2141
       84,   84,   84,   84,   84,  131,  122,  254,  131,  122,
2142
      122,  254,   96,  122,   96,   96,  131,   96,   96,   96,
2143
       96,   96,   96,  125,  308,   96,  125,   84,   84,   84,
2144
2145
       84,   84,   84,   84,   86,  132,  125,  280,  132,   86,
2146
       86,   86,   86,   86,   86,  280, 1012,   86,   86,   86,
2147
       86,   86,   86,   86,   96,  121,  126,  128,  130,  126,
2148
      121,  121,  128,  130,  121,  128,  130,  284,  133,  137,
2149
      126,  133,  137,  256,  130,  284,   86,   86,   86,   86,
2150
       86,   86,   86,   88,  138,  256,  288,  138,   88,   88,
2151
       88,   88,   88,   88,  288,  291,   88,   88,   88,   88,
2152
       88,   88,   88,  129,  134,  930,  129,  134,  135,  136,
2153
      310,  135,  136,  134,  129,  291,  129,  135,  136,  139,
2154
      142,  146,  139,  142,  146,   88,   88,   88,   88,   88,
2155
2156
       88,   88,   94,  146,   94,   94,  257,   94,   94,   94,
2157
       94,   94,   94,  310,  275,   94,   94,   94,   94,   94,
2158
       94,   94,  140,  141,  257,  140,  141,  140,  275,  143,
2159
      145,  141,  143,  143,  144,  145,  297,  144,  145,  144,
2160
      147,  315,  297,  147,   94,   94,   94,   94,   94,   94,
2161
       94,   95,  148,   95,   95,  148,   95,   95,   95,   95,
2162
       95,   95,  296,  926,   95,   95,   95,   95,   95,   95,
2163
       95,  149,  150,  151,  149,  150,  151,  152,  315,  296,
2164
      152,  150,  152,  153,  154,  151,  153,  154,  155,  156,
2165
      153,  155,  156,   95,   95,   95,   95,   95,   95,   95,
2166
2167
       97,  158,   97,   97,  158,   97,   97,   97,   97,   97,
2168
       97,  157,  302,   97,  159,  157,  160,  159,  157,  160,
2169
      302,  305,   97,  159,  161,   97,  162,  161,  163,  162,
2170
      164,  163,  166,  164,  167,  166,  169,  167,  170,  169,
2171
      171,  170,   97,  171,  264,  160,  172,  160,  161,  172,
2172
      313,  174,  163,  166,  174,  175,  176,  177,  175,  176,
2173
      177,  465,  264,  305,  164,  162,  167,  167,  169,  169,
2174
      178,  174,  179,  178,  174,  179,  170,  180,  176,  181,
2175
      180,  172,  181,  182,  183,  465,  182,  183,  175,  184,
2176
      185,  186,  184,  185,  186,  187,  313,  188,  187,  179,
2177
2178
      188,  189,  180,  262,  189,  190,  182,  262,  190,  307,
2179
      191,  182,  180,  191,  192,  193,  183,  192,  193,  183,
2180
      195,  194,  327,  195,  194,  189,  196,  197,  198,  196,
2181
      197,  198,  186,  199,  191,  188,  199,  187,  200,  201,
2182
      202,  200,  201,  202,  190,  905,  190,  323,  203,  191,
2183
      194,  203,  204,  192,  307,  204,  205,  195,  197,  205,
2184
      327,  277,  206,  196,  197,  206,  207,  208,  209,  207,
2185
      208,  209,  201,  277,  210,  211,  202,  210,  211,  203,
2186
      212,  323,  213,  212,  204,  213,  206,  214,  215,  205,
2187
      214,  215,  216,  217,  218,  216,  217,  218,  219,  220,
2188
2189
      273,  219,  220,  864,  273,  229,  207,  229,  229,  229,
2190
      229,  229,  211,  260,  260,  213,  301,  322,  232,  218,
2191
      212,  260,  214,  232,  232,  232,  232,  232,  232,  219,
2192
      274,  232,  320,  301,  274,  276,  220,  230,  285,  276,
2193
      230,  285,  230,  230,  230,  230,  230,  230,  289,  309,
2194
      230,  230,  230,  230,  230,  230,  230,  281,  282,  322,
2195
      232,  281,  282,  246,  235,  246,  246,  289,  831,  235,
2196
      235,  235,  235,  235,  235,  286,  246,  235,  320,  230,
2197
      230,  230,  230,  230,  230,  230,  231,  286,  309,  317,
2198
      446,  231,  231,  231,  231,  231,  231,  312,  294,  231,
2199
2200
      231,  231,  231,  231,  231,  231,  235,  241,  241,  241,
2201
      241,  241,  266,  236,  266,  266,  294,  324,  236,  236,
2202
      236,  236,  236,  236,  446,  266,  236,  333,  231,  231,
2203
      231,  231,  231,  231,  231,  233,  317,  312,  325,  333,
2204
      233,  233,  233,  233,  233,  233,  266,  732,  233,  233,
2205
      233,  233,  233,  233,  233,  236,  324,  245,  318,  245,
2206
      245,  328,  245,  245,  245,  245,  245,  245,  292,  293,
2207
      245,  298,  292,  293,  325,  298,  326,  233,  233,  233,
2208
      233,  233,  233,  233,  237,  237,  237,  237,  237,  237,
2209
      403,  318,  336,  237,  237,  237,  237,  237,  237,  245,
2210
2211
      300,  335,  316,  328,  300,  403,  247,  329,  247,  247,
2212
      331,  247,  247,  247,  247,  247,  247,  326,  330,  247,
2213
      332,  337,  237,  237,  237,  237,  237,  237,  243,  336,
2214
      243,  243,  316,  243,  243,  243,  243,  243,  243,  316,
2215
      329,  243,  243,  243,  243,  243,  243,  243,  247,  335,
2216
      334,  330,  331,  332,  337,  248,  338,  248,  248,  345,
2217
      248,  248,  248,  248,  248,  248,  340,  342,  248,  248,
2218
      243,  243,  243,  243,  243,  243,  243,  244,  341,  244,
2219
      244,  334,  244,  244,  244,  244,  244,  244,  343,  338,
2220
      244,  244,  244,  244,  244,  244,  244,  248,  321,  334,
2221
2222
      321,  321,  344,  340,  347,  346,  345,  342,  348,  349,
2223
      341,  321,  350,  353,  352,  355,  354,  356,  357,  244,
2224
      244,  244,  244,  244,  244,  244,  382,  358,  383,  394,
2225
      382,  386,  343,  363,  363,  363,  363,  363,  383,  344,
2226
      346,  348,  349,  386,  355,  389,  389,  394,  353,  354,
2227
      356,  364,  347,  364,  364,  364,  364,  364,  350,  352,
2228
      321,  393,  365,  357,  358,  365,  393,  365,  365,  365,
2229
      365,  365,  365,  366,  379,  365,  379,  379,  366,  366,
2230
      366,  366,  366,  366,  367,  438,  366,  379,  397,  367,
2231
      367,  367,  367,  367,  367,  388,  391,  367,  396,  388,
2232
2233
      368,  390,  397,  396,  365,  368,  368,  368,  368,  368,
2234
      368,  369,  391,  368,  438,  366,  369,  369,  369,  369,
2235
      369,  369,  370,  390,  369,  390,  367,  370,  370,  370,
2236
      370,  370,  370,  392,  405,  370,  398,  501,  371,  392,
2237
      405,  398,  368,  371,  371,  371,  371,  371,  371,  419,
2238
      401,  371,  401,  369,  375,  375,  375,  375,  375,  419,
2239
      376,  404,  376,  376,  370,  376,  376,  376,  376,  376,
2240
      376,  406,  406,  376,  424,  404,  407,  408,  408,  411,
2241
      371,  372,  407,  411,  424,  409,  372,  372,  372,  372,
2242
      372,  372,  409,  435,  372,  372,  372,  372,  372,  372,
2243
2244
      372,  377,  376,  377,  377,  413,  377,  377,  377,  377,
2245
      377,  377,  413,  493,  377,  415,  415,  399,  418,  399,
2246
      399,  435,  414,  372,  372,  372,  372,  372,  372,  372,
2247
      399,  378,  418,  378,  378,  414,  378,  378,  378,  378,
2248
      378,  378,  417,  377,  378,  380,  417,  380,  380,  399,
2249
      380,  380,  380,  380,  380,  380,  410,  381,  380,  381,
2250
      381,  412,  381,  381,  381,  381,  381,  381,  416,  420,
2251
      381,  427,  421,  378,  410,  422,  423,  425,  426,  412,
2252
      426,  427,  428,  429,  416,  420,  431,  380,  421,  381,
2253
      423,  422,  432,  432,  434,  425,  436,  429,  428,  381,
2254
2255
      437,  440,  441,  431,  443,  425,  448,  444,  445,  434,
2256
      432,  447,  450,  454,  453,  455,  451,  448,  440,  437,
2257
      432,  445,  459,  452,  457,  452,  452,  458,  436,  444,
2258
      441,  451,  461,  443,  447,  450,  452,  453,  457,  460,
2259
      462,  454,  458,  463,  459,  455,  464,  466,  467,  468,
2260
      469,  471,  480,  473,  461,  470,  472,  474,  466,  444,
2261
      475,  476,  478,  477,  463,  468,  460,  462,  470,  467,
2262
      474,  472,  473,  475,  476,  471,  479,  469,  477,  481,
2263
      483,  478,  480,  452,  482,  488,  479,  479,  485,  511,
2264
      489,  486,  511,  464,  532,  483,  487,  482,  481,  488,
2265
2266
      485,  486,  486,  486,  479,  492,  484,  492,  492,  492,
2267
      492,  492,  456,  532,  505,  495,  505,  505,  495,  486,
2268
      495,  495,  495,  495,  495,  496,  512,  505,  495,  512,
2269
      496,  496,  496,  496,  496,  497,  586,  760,  496,  512,
2270
      497,  497,  497,  497,  497,  498,  516,  650,  497,  516,
2271
      498,  498,  498,  498,  498,  760,  669,  495,  498,  502,
2272
      502,  502,  502,  502,  650,  669,  503,  496,  503,  503,
2273
      449,  503,  503,  503,  503,  503,  439,  497,  510,  503,
2274
      514,  510,  513,  514,  586,  513,  515,  498,  499,  515,
2275
      515,  514,  510,  499,  499,  499,  499,  499,  433,  513,
2276
2277
      430,  499,  499,  499,  499,  499,  499,  499,  503,  504,
2278
      517,  504,  504,  517,  504,  504,  504,  504,  504,  402,
2279
      519,  518,  504,  519,  518,  520,  521,  657,  520,  521,
2280
      499,  499,  499,  499,  499,  499,  499,  506,  657,  506,
2281
      506,  518,  506,  506,  506,  506,  506,  657,  400,  395,
2282
      506,  504,  507,  525,  507,  507,  525,  507,  507,  507,
2283
      507,  507,  670,  524,  524,  507,  524,  508,  525,  508,
2284
      508,  670,  508,  508,  508,  508,  508,  674,  659,  506,
2285
      508,  523,  508,  523,  523,  659,  674,  659,  526,  507,
2286
      509,  526,  509,  509,  507,  509,  509,  509,  509,  509,
2287
2288
      387,  385,  527,  509,  509,  527,  374,  509,  522,  508,
2289
      522,  522,  526,  664,  360,  528,  530,  527,  528,  530,
2290
      664,  522,  529,  528,  529,  529,  522,  531,  533,  664,
2291
      531,  533,  509,  534,  535,  530,  534,  535,  535,  359,
2292
      536,  533,  536,  536,  534,  537,  538,  681,  537,  538,
2293
      539,  540,  541,  539,  540,  541,  681,  351,  543,  542,
2294
      538,  543,  542,  539,  544,  545,  546,  544,  545,  546,
2295
      541,  547,  540,  542,  547,  681,  548,  550,  544,  548,
2296
      550,  339,  543,  546,  549,  551,  549,  549,  551,  553,
2297
      547,  554,  553,  545,  554,  550,  552,  549,  556,  552,
2298
2299
      552,  556,  554,  555,  551,  314,  555,  557,  553,  805,
2300
      557,  306,  556,  558,  555,  558,  558,  549,  559,  303,
2301
      560,  559,  555,  560,  561,  562,  558,  561,  562,  558,
2302
      563,  564,  565,  563,  564,  565,  299,  566,  567,  558,
2303
      566,  567,  568,  295,  569,  568,  558,  569,  570,  572,
2304
      571,  570,  572,  571,  573,  562,  805,  573,  574,  563,
2305
      283,  574,  563,  575,  576,  575,  575,  576,  577,  580,
2306
      263,  577,  580,  564,  258,  561,  575,  569,  566,  571,
2307
      250,  568,  578,  567,  579,  578,  573,  579,  581,  582,
2308
      700,  581,  582,  583,  242,  584,  583,  572,  584,  577,
2309
2310
      585,  588,  587,  585,  588,  587,  589,  240,  591,  589,
2311
      575,  591,  578,  590,  592,  594,  590,  592,  594,  593,
2312
      595,  580,  593,  595,  583,  596,  582,  579,  596,  597,
2313
      598,  581,  597,  598,  239,  599,  700,  591,  599,  589,
2314
      588,  225,  584,  587,  590,  600,  223,  602,  600,  601,
2315
      602,  601,  601,  173,  603,  604,  592,  603,  604,  165,
2316
      593,  111,  601,  599,  594,  605,  595,  596,  605,  103,
2317
      606,  607,  598,  606,  607,  608,  610,  679,  608,  610,
2318
      609,  597,  609,  609,  611,  612,  679,  611,  612,   92,
2319
      600,   90,  613,  609,  602,  613,  614,  614,  614,  614,
2320
2321
      614,  604,   89,  606,  617,  617,  617,  617,  617,  679,
2322
      601,  656,  605,  656,  608,  610,  658,   85,  607,  658,
2323
      656,  613,   78,  610,   76,  609,  611,  618,  658,  618,
2324
      618,  618,  618,  618,  609,   69,  628,  619,  628,  628,
2325
      619,  609,  619,  619,  619,  619,  619,  620,   22,  628,
2326
      619,   20,  620,  620,  620,  620,  620,  621,   10,  660,
2327
      620,  660,  621,  621,  621,  621,  621,  622,  660,  661,
2328
      621,    9,  622,  622,  622,  622,  622,  680,  661,  619,
2329
      622,    8,    7,  662,    3,  662,  680,  661,  626,  620,
2330
      626,  626,  662,  626,  626,  626,  626,  626,  665,  621,
2331
2332
      641,  626,  641,  641,  667,  671,  665,  665,    0,  622,
2333
      623,  667,  671,  641,  680,  623,  623,  623,  623,  623,
2334
      667,  671,    0,  623,  623,  623,  623,  623,  623,  623,
2335
      626,  627,  684,  627,  627,    0,  627,  627,  627,  627,
2336
      627,  684,  641,    0,  627,    0,    0,  666,    0,  666,
2337
      666,    0,  623,  623,  623,  623,  623,  623,  623,  629,
2338
      666,  629,  629,    0,  629,  629,  629,  629,  629,    0,
2339
        0,    0,  629,  627,  630,    0,  630,  630,  666,  630,
2340
      630,  630,  630,  630,  683,    0,    0,  630,  629,  631,
2341
      688,  631,  631,  683,  631,  631,  631,  631,  631,  688,
2342
2343
        0,  629,  631,    0,  632,    0,  632,  632,  630,  632,
2344
      632,  632,  632,  632,  631,    0,  630,  632,  683,    0,
2345
      688,  633,  632,  633,  633,    0,  633,  633,  633,  633,
2346
      633,  631,    0,  668,  633,  634,  668,  634,  634,    0,
2347
      634,  634,  634,  634,  634,  668,  632,    0,  634,    0,
2348
        0,  635,  633,  635,  635,    0,  635,  635,  635,  635,
2349
      635,  689,    0,  633,  635,  635,  636,  682,  636,  636,
2350
      689,  636,  636,  636,  636,  636,  682,  634,  637,  636,
2351
      637,  637,  689,  637,  637,  637,  637,  637,    0,  682,
2352
        0,  637,    0,  635,  672,    0,  686,  672,  693,  636,
2353
2354
      687,  663,    0,  663,  663,  686,  672,  693,  636,  687,
2355
      638,  637,  638,  638,  663,  638,  638,  638,  638,  638,
2356
      637,    0,  639,  638,  639,  639,    0,  639,  639,  639,
2357
      639,  639,  686,    0,  663,  639,  687,  638,    0,  639,
2358
      640,    0,  640,  640,    0,  640,  640,  640,  640,  640,
2359
      673,    0,  638,  640,  640,    0,    0,    0,  673,  673,
2360
      642,  696,  642,  642,  639,  642,  642,  642,  642,  642,
2361
      696,    0,  643,  642,  643,  643,    0,  643,  643,  643,
2362
      643,  643,  640,    0,  644,  643,  644,  644,  642,  644,
2363
      644,  644,  644,  644,    0,    0,    0,  644,  646,  705,
2364
2365
      646,  646,  642,  646,  646,  646,  646,  646,  705,    0,
2366
      692,  646,  644,    0,  643,  645,  685,  645,  645,  692,
2367
      645,  645,  645,  645,  645,  685,  644,    0,  645,  705,
2368
      647,  645,  647,  647,  685,  647,  647,  647,  647,  647,
2369
      646,  692,  648,  647,  648,  648,    0,  648,  648,  648,
2370
      648,  648,  678,  690,    0,  648,  675,  645,  675,  675,
2371
      678,  678,  690,  647,    0,  694,    0,    0,    0,  675,
2372
      648,  690,  647,  649,  694,  649,  649,  675,  649,  649,
2373
      649,  649,  649,    0,  648,  651,  649,  651,  651,  649,
2374
      651,  651,  651,  651,  651,    0,  694,  652,  651,  652,
2375
2376
      652,    0,  652,  652,  652,  652,  652,  718,    0,  691,
2377
      652,  691,  691,    0,    0,  649,  718,  651,    0,  652,
2378
        0,    0,  691,  653,  701,  653,  653,  651,  653,  653,
2379
      653,  653,  653,  701,    0,  654,  653,  654,  654,  652,
2380
      654,  654,  654,  654,  654,    0,    0,  655,  654,  655,
2381
      655,  691,  655,  655,  655,  655,  655,    0,  695,  701,
2382
      655,  697,  698,  654,    0,  653,  676,  695,  676,  676,
2383
      697,  698,  655,  677,  699,  677,  677,  654,  695,  676,
2384
        0,  655,  702,  699,  676,    0,  677,  703,    0,  655,
2385
      708,  702,  704,  698,  699,    0,  703,  697,  706,  708,
2386
2387
      707,  704,  709,  710,  677,  711,    0,  706,  702,  707,
2388
      715,  709,  710,  719,  711,  713,  706,    0,  703,  715,
2389
      704,    0,  719,  710,  713,  708,  707,    0,  712,  704,
2390
      712,  712,  709,  716,  717,  711,  714,  713,  714,  714,
2391
        0,  712,  716,  717,  720,    0,  715,    0,  721,  714,
2392
      721,  721,    0,  720,  722,  716,  722,  722,    0,  724,
2393
      717,  721,  723,  725,  723,  723,  720,  722,  724,  726,
2394
        0,  727,  725,    0,  741,  723,  741,  741,  726,  776,
2395
      727,  776,  776,    0,    0,  724,    0,  741,    0,  712,
2396
        0,    0,  776,  776,    0,  714,  728,    0,  721,  725,
2397
2398
        0,  722,    0,    0,    0,    0,  726,  727,  728,  728,
2399
      728,  728,  728,  731,  731,  731,  731,  731,  731,  733,
2400
        0,  723,  733,    0,  733,  733,  733,  733,  733,  734,
2401
        0,    0,  733,    0,  734,  734,  734,  734,  734,  735,
2402
        0,    0,  734,    0,  735,  735,  735,  735,  735,  736,
2403
        0,    0,  735,    0,  736,  736,  736,  736,  736,    0,
2404
        0,  733,  736,  834,  834,  834,  834,  834,    0,    0,
2405
      739,  734,  739,  739,    0,  739,  739,  739,  739,  739,
2406
        0,  735,  783,  739,  783,  783,  929,  929,  929,  929,
2407
      929,  736,  737,    0,    0,  783,  783,  737,  737,  737,
2408
2409
      737,  737,    0,    0,    0,  737,  737,  737,  737,  737,
2410
      737,  737,  739,  740,    0,  740,  740,    0,  740,  740,
2411
      740,  740,  740,    0,    0,    0,  740,    0,    0,  798,
2412
        0,  798,  798,    0,  737,  737,  737,  737,  737,  737,
2413
      737,  742,  798,  742,  742,    0,  742,  742,  742,  742,
2414
      742,    0,    0,    0,  742,  740,    0,    0,  743,  742,
2415
      743,  743,    0,  743,  743,  743,  743,  743,    0,    0,
2416
        0,  743,  744,    0,  744,  744,    0,  744,  744,  744,
2417
      744,  744,    0,  742,    0,  744,    0,    0,    0,    0,
2418
      798,  743,    0,    0,  798,    0,  745,  744,  745,  745,
2419
2420
      743,  745,  745,  745,  745,  745,    0,    0,    0,  745,
2421
        0,    0,    0,  746,  744,  746,  746,    0,  746,  746,
2422
      746,  746,  746,  745,    0,    0,  746,  747,    0,  747,
2423
      747,    0,  747,  747,  747,  747,  747,    0,  745,  748,
2424
      747,  748,  748,    0,  748,  748,  748,  748,  748,  747,
2425
        0,  746,  748,    0,  749,  746,  749,  749,    0,  749,
2426
      749,  749,  749,  749,    0,    0,    0,  749,    0,  747,
2427
      750,    0,  750,  750,    0,  750,  750,  750,  750,  750,
2428
        0,  748,    0,  750,    0,  749,  750, 1300, 1300, 1300,
2429
     1300, 1300,  751,    0,  751,  751,  749,  751,  751,  751,
2430
2431
      751,  751,    0,    0,  753,  751,  753,  753,    0,    0,
2432
        0,    0,  750,  752,  751,  752,  752,  753,  752,  752,
2433
      752,  752,  752,    0,    0,  773,  752,  773,  773,  785,
2434
        0,  785,  785,    0,  751,    0,    0,  753,  773,    0,
2435
        0,  753,  785,  785,    0,  754,  752,  754,  754,    0,
2436
      754,  754,  754,  754,  754,  752,  773,  755,  754,  755,
2437
      755,    0,  755,  755,  755,  755,  755,    0,    0,    0,
2438
      755,    0,  754,  756,    0,  756,  756,    0,  756,  756,
2439
      756,  756,  756,    0,    0,    0,  756,  754,  755,  757,
2440
        0,  757,  757,    0,  757,  757,  757,  757,  757,  755,
2441
2442
        0,  756,  757,  758,    0,  758,  758,    0,  758,  758,
2443
      758,  758,  758,    0,    0,  756,  758,    0,    0,    0,
2444
      759,  757,  759,  759,    0,  759,  759,  759,  759,  759,
2445
      758,  757,    0,  759,  761,    0,  761,  761,    0,  761,
2446
      761,  761,  761,  761,    0,  758,    0,  761,  759,    0,
2447
        0,  762,    0,  762,  762,    0,  762,  762,  762,  762,
2448
      762,    0,  759,    0,  762,    0,    0,  761,  762,    0,
2449
        0,    0,  763,    0,  763,  763,  761,  763,  763,  763,
2450
      763,  763,    0,    0,    0,  763,  835,  835,  835,  835,
2451
      835,  835,    0,  762,    0,  764,    0,  764,  764,  763,
2452
2453
      764,  764,  764,  764,  764,    0,    0,    0,  764,    0,
2454
      765,    0,  765,  765,  763,  765,  765,  765,  765,  765,
2455
      764,    0,    0,  765,    0,    0,  766,  765,  766,  766,
2456
        0,  766,  766,  766,  766,  766,    0,  764,  767,  766,
2457
      767,  767,    0,  767,  767,  767,  767,  767,    0,    0,
2458
        0,  767,  765,  768,    0,  768,  768,    0,  768,  768,
2459
      768,  768,  768,  767,    0,    0,  768,    0,  766,  768,
2460
      769,    0,  769,  769,    0,  769,  769,  769,  769,  769,
2461
      767,    0, 1299,  769, 1299, 1299, 1299, 1299, 1299,    0,
2462
        0,  770,  769,  770,  770,  768,  770,  770,  770,  770,
2463
2464
      770,    0,    0,    0,  770,    0,    0,    0,  771,    0,
2465
      771,  771,  769,  771,  771,  771,  771,  771,    0,    0,
2466
        0,  771,  771,  772,    0,  772,  772,    0,  772,  772,
2467
      772,  772,  772,  770,    0,  774,  772,  774,  774,    0,
2468
      774,  774,  774,  774,  774,    0,    0,    0,  774,  775,
2469
      771,  775,  775,    0,  775,  775,  775,  775,  775,    0,
2470
        0,  777,  775,  777,  777,  772,  777,  777,  777,  777,
2471
      777,    0,    0,    0,  777,    0,  778,  774,  778,  778,
2472
      775,  778,  778,  778,  778,  778,    0,    0,    0,  778,
2473
        0,  775,  777,  779,    0,  779,  779,    0,  779,  779,
2474
2475
      779,  779,  779,  777,    0,    0,  779,  780,    0,  780,
2476
      780,  778,  780,  780,  780,  780,  780,    0,  778,    0,
2477
      780,  780,    0,  781,    0,  781,  781,    0,  781,  781,
2478
      781,  781,  781,    0,    0,  779,  781,  782,    0,  782,
2479
      782,    0,  782,  782,  782,  782,  782,    0,    0,  780,
2480
      782,    0,    0,    0,  781,  784,    0,  784,  784, 1301,
2481
     1301, 1301, 1301, 1301,  782,  781,    0,  786,  784,  786,
2482
      786,    0,  786,  786,  786,  786,  786,    0,    0,  782,
2483
      786,  784,    0,    0,  787,  786,  787,  787,    0,  787,
2484
      787,  787,  787,  787,    0,    0,    0,  787,  788,    0,
2485
2486
      788,  788,    0,  788,  788,  788,  788,  788,    0,  786,
2487
      789,  788,  789,  789,    0,  789,  789,  789,  789,  789,
2488
        0,    0,    0,  789,    0,    0,  787,    0,    0,    0,
2489
      790,  787,  790,  790,    0,  790,  790,  790,  790,  790,
2490
      788,    0,  791,  790,  791,  791,    0,  791,  791,  791,
2491
      791,  791,  789,    0,    0,  791,    0,    0,    0,  788,
2492
        0,    0,  792,  789,  792,  792,    0,  792,  792,  792,
2493
      792,  792,  790,    0,  793,  792,  793,  793,    0,  793,
2494
      793,  793,  793,  793,  791,  790,  794,  793,  794,  794,
2495
        0,  794,  794,  794,  794,  794,    0,    0,  819,  794,
2496
2497
      819,  819,    0,    0,  792,    0,    0,    0,  791,    0,
2498
        0,  819,  795,  792,  795,  795,  793,  795,  795,  795,
2499
      795,  795,    0,    0,  796,  795,  796,  796,  794,  796,
2500
      796,  796,  796,  796,    0,    0,  818,  796,  818,  818,
2501
      825,  819,  825,  825,    0,  794,    0,    0,    0,  818,
2502
        0,    0,    0,  825,  795,    0,  797,  795,  797,  797,
2503
        0,  797,  797,  797,  797,  797,  796,    0,    0,  797,
2504
        0,  799,    0,  799,  799,  796,  799,  799,  799,  799,
2505
      799,    0,    0,  800,  799,  800,  800,    0,  800,  800,
2506
      800,  800,  800,    0,  825,  818,  800,  801,  797,  801,
2507
2508
      801,    0,  801,  801,  801,  801,  801,    0,    0,  824,
2509
      801,  824,  824,  799,    0,    0,    0,  797,  844,    0,
2510
      844,  844,  824,    0,    0,  800,  799,  802,    0,  802,
2511
      802,  844,  802,  802,  802,  802,  802,    0,    0,  801,
2512
      802,  803,  800,  803,  803,    0,  803,  803,  803,  803,
2513
      803,    0,  824,  801,  803,  804,    0,  804,  804,    0,
2514
      804,  804,  804,  804,  804,    0,    0,    0,  804,  802,
2515
        0,  806,    0,  806,  806,    0,  806,  806,  806,  806,
2516
      806,    0,    0,  803,  806,    0,    0,  802,    0,    0,
2517
      939,    0,  939,  939,    0,    0,  803,  804,    0,  807,
2518
2519
        0,  807,  807,  939,  807,  807,  807,  807,  807,    0,
2520
        0,  804,  807,  806,  808,    0,  808,  808,    0,  808,
2521
      808,  808,  808,  808,    0,    0,    0,  808,    0,    0,
2522
        0,  809,  806,  809,  809,    0,  809,  809,  809,  809,
2523
      809,  807,    0,    0,  809,  807,  810,    0,  810,  810,
2524
        0,  810,  810,  810,  810,  810,  808,    0,  811,  810,
2525
      811,  811,    0,  811,  811,  811,  811,  811,    0,  808,
2526
        0,  811,  812,  809,  812,  812,    0,  812,  812,  812,
2527
      812,  812,    0,    0,  809,  812,    0,    0,  810,    0,
2528
        0,    0,  810,    0,    0,    0,  813,    0,  813,  813,
2529
2530
      811,  813,  813,  813,  813,  813,    0,    0,    0,  813,
2531
      814,    0,  814,  814,  812,  814,  814,  814,  814,  814,
2532
        0,    0,    0,  814,  815,  812,  815,  815,    0,  815,
2533
      815,  815,  815,  815,    0,    0,    0,  815,  813,    0,
2534
      816,  813,  816,  816,    0,  816,  816,  816,  816,  816,
2535
        0,    0,  814,  816, 1302, 1302, 1302, 1302, 1302,    0,
2536
        0,  814,  817,    0,  817,  817,  815,  817,  817,  817,
2537
      817,  817,    0,    0, 1312,  817, 1312, 1312, 1312, 1312,
2538
     1312,    0,  816,  816,  820,    0,  820,  820,    0,  820,
2539
      820,  820,  820,  820,    0,    0,    0,  820,    0,    0,
2540
2541
      821,    0,  821,  821,  817,  821,  821,  821,  821,  821,
2542
        0,    0,  822,  821,  822,  822,    0,  822,  822,  822,
2543
      822,  822,    0,    0,    0,  822,  820,  823,    0,  823,
2544
      823,    0,  823,  823,  823,  823,  823,    0,    0,    0,
2545
      823,    0,  821,  820,  826,    0,  826,  826,    0, 1025,
2546
        0, 1025, 1025,    0,  822,    0,    0,  826,  827,  821,
2547
      827,  827, 1025,  827,  827,  827,  827,  827,    0,  823,
2548
        0,  827,    0,    0,    0,  822,  828,    0,  828,  828,
2549
        0,  828,  828,  828,  828,  828,    0,  826,    0,  828,
2550
      829,    0,  829,  829,    0,  829,  829,  829,  829,  829,
2551
2552
      827,  827,  830,  829,  830,  830,    0,  830,  830,  830,
2553
      830,  830,    0,    0,  836,  830,    0,  836,  828,  836,
2554
      836,  836,  836,  836,    0,    0,    0,  836,    0,    0,
2555
        0,    0,  829,  837,  857,  828,  857,  857,  837,  837,
2556
      837,  837,  837,    0,  830,  829,  837,  857,  857,  830,
2557
        0,    0,  838,    0,    0,    0,  836,  838,  838,  838,
2558
      838,  838,    0,  839,  856,  838,  856,  856,  839,  839,
2559
      839,  839,  839,    0,    0,  837,  839,  856,  856, 1313,
2560
     1313, 1313, 1313, 1313,  842,    0,  842,  842,    0,  842,
2561
      842,  842,  842,  842,  838,  856,  874,  842,  874,  874,
2562
2563
     1314, 1314, 1314, 1314, 1314,  839,  840,    0,    0,  874,
2564
      874,  840,  840,  840,  840,  840,    0,    0,    0,  840,
2565
      840,  840,  840,  840,  840,  840,  842,  843,    0,  843,
2566
      843,    0,  843,  843,  843,  843,  843,    0,    0,    0,
2567
      843,    0,    0,  915,    0,  915,  915,    0,  840,  840,
2568
      840,  840,  840,  840,  840,  845,  915,  845,  845,    0,
2569
      845,  845,  845,  845,  845,    0,    0,    0,  845,  843,
2570
      846,    0,  846,  846,    0,  846,  846,  846,  846,  846,
2571
        0,    0,    0,  846,    0,    0,  845,  847,  846,  847,
2572
      847,    0,  847,  847,  847,  847,  847,  845,  915,    0,
2573
2574
      847,  848,    0,  848,  848,    0,  848,  848,  848,  848,
2575
      848,    0,  846,    0,  848,  847,    0,  849,    0,  849,
2576
      849,    0,  849,  849,  849,  849,  849,    0,    0,  847,
2577
      849,    0,    0,  851,    0,  851,  851,    0,    0,  848,
2578
        0,    0,  850,  848,  850,  850,  851,  850,  850,  850,
2579
      850,  850,    0,    0,    0,  850,    0,    0,    0,  849,
2580
        0,    0,    0,    0,  851,    0,  851,  851,  852,  850,
2581
      852,  852,    0,  852,  852,  852,  852,  852,    0,    0,
2582
        0,  852,    0,    0,  850,  853,  852,  853,  853,    0,
2583
      853,  853,  853,  853,  853,    0,    0,    0,  853,  854,
2584
2585
        0,  854,  854,  853,  854,  854,  854,  854,  854,    0,
2586
      852,  855,  854,  855,  855,    0,  855,  855,  855,  855,
2587
      855,    0,    0,  883,  855,  883,  883,  853,    0,    0,
2588
        0,    0,  854,    0,    0,    0,  883,    0,  883,    0,
2589
        0,  854,    0,  858,  855,  858,  858,    0,  858,  858,
2590
      858,  858,  858,  855,    0,  859,  858,  859,  859,    0,
2591
      859,  859,  859,  859,  859,    0,    0,  860,  859,  860,
2592
      860,    0,  860,  860,  860,  860,  860,    0,    0,  892,
2593
      860,  892,  892,    0,    0,  858,    0,    0,  859,    0,
2594
        0,    0,  892,  861,  860,  861,  861,  859,  861,  861,
2595
2596
      861,  861,  861,    0,    0,  862,  861,  862,  862,  860,
2597
      862,  862,  862,  862,  862,    0,    0,  863,  862,  863,
2598
      863,    0,  863,  863,  863,  863,  863,    0,    0,  919,
2599
      863,  919,  919,    0,    0,  861,    0,    0,  892,    0,
2600
      892,  892,  919,  865,  863,  865,  865,  862,  865,  865,
2601
      865,  865,  865,    0,    0,  866,  865,  866,  866,  863,
2602
      866,  866,  866,  866,  866,    0,    0,    0,  866,  866,
2603
      867,    0,  867,  867,  865,  867,  867,  867,  867,  867,
2604
        0,    0,    0,  867,  919,  865,  868,    0,  868,  868,
2605
        0,  868,  868,  868,  868,  868,    0,  866,  869,  868,
2606
2607
      869,  869,    0,  869,  869,  869,  869,  869,    0,    0,
2608
        0,  869,  867,    0,  868,    0,  870,    0,  870,  870,
2609
      869,  870,  870,  870,  870,  870,    0,    0,  868,  870,
2610
      871,    0,  871,  871,    0,  871,  871,  871,  871,  871,
2611
      869,    0,    0,  871,  872,    0,  872,  872,  871,  872,
2612
      872,  872,  872,  872,    0,    0,    0,  872,  870,    0,
2613
      873,    0,  873,  873,    0,  873,  873,  873,  873,  873,
2614
        0,    0,  871,  873,    0,  875,    0,  875,  875,  872,
2615
      875,  875,  875,  875,  875,    0,  872,    0,  875,  873,
2616
        0,  876,    0,  876,  876,    0,    0,  875,    0,    0,
2617
2618
        0,    0,  873,  877,  876,  877,  877,    0,  877,  877,
2619
      877,  877,  877,    0,    0,    0,  877,  875,  876,  878,
2620
        0,  878,  878,    0,  878,  878,  878,  878,  878,    0,
2621
        0,  879,  878,  879,  879,    0,  879,  879,  879,  879,
2622
      879,  878,    0,    0,  879,  877,  880,    0,  880,  880,
2623
        0,  880,  880,  880,  880,  880,    0,    0,    0,  880,
2624
        0,  878,    0,  879,    0,    0,    0,    0,  880,  881,
2625
        0,  881,  881,  879,  881,  881,  881,  881,  881,    0,
2626
        0,  882,  881,  882,  882,    0,  881,  884,  880,  884,
2627
      884,    0,    0,    0,  882,    0,  885,    0,  885,  885,
2628
2629
      884,  885,  885,  885,  885,  885,    0,    0,  882,  885,
2630
      886,  881,  886,  886,  884,  886,  886,  886,  886,  886,
2631
        0,    0,    0,  886,    0,    0,    0,    0,  887,  885,
2632
      887,  887,    0,  887,  887,  887,  887,  887,  885,    0,
2633
      888,  887,  888,  888,    0,  888,  888,  888,  888,  888,
2634
        0,    0,  886,  888,    0,  889,    0,  889,  889,    0,
2635
      889,  889,  889,  889,  889,    0,    0,    0,  889,  886,
2636
      887,  890,    0,  890,  890,  887,  890,  890,  890,  890,
2637
      890,    0,  888,    0,  890,  891,    0,  891,  891,    0,
2638
      891,  891,  891,  891,  891,    0,  888,  889,  891,  893,
2639
2640
        0,  893,  893,    0,  893,  893,  893,  893,  893,    0,
2641
        0,    0,  893,  890,    0,    0,    0,  894,    0,  894,
2642
      894,  889,  894,  894,  894,  894,  894,  891,    0,  895,
2643
      894,  895,  895,    0,  895,  895,  895,  895,  895,    0,
2644
      891,  893,  895,    0,    0,  896,  893,  896,  896,    0,
2645
      896,  896,  896,  896,  896,    0,    0,    0,  896,  894,
2646
      897,    0,  897,  897,  894,  898,    0,  898,  898,    0,
2647
        0,  895,  947,  897,  947,  947,    0,    0,  898, 1315,
2648
     1315, 1315, 1315, 1315,    0,  947,  899,  896,  899,  899,
2649
      895,  899,  899,  899,  899,  899,    0,    0,  920,  899,
2650
2651
      920,  920,    0,  897,  947,    0,  896,  900,  898,  900,
2652
      900,  920,  900,  900,  900,  900,  900,    0,    0,  897,
2653
      900,    0,    0,    0,  901,    0,  901,  901,  899,  901,
2654
      901,  901,  901,  901,    0,    0,    0,  901,  902,    0,
2655
      902,  902,  920,  902,  902,  902,  902,  902,    0,  900,
2656
      903,  902,  903,  903,    0,  903,  903,  903,  903,  903,
2657
        0,    0,    0,  903,    0,    0,  901,    0,  900,  904,
2658
        0,  904,  904,    0,  904,  904,  904,  904,  904,  901,
2659
      902,  906,  904,  906,  906,    0,  906,  906,  906,  906,
2660
      906,    0,  903,  907,  906,  907,  907,    0,  907,  907,
2661
2662
      907,  907,  907,    0,    0,    0,  907,  908,    0,  908,
2663
      908,  904,  908,  908,  908,  908,  908,    0,    0,    0,
2664
      908,    0,    0,  906,  904,  909,    0,  909,  909,    0,
2665
      909,  909,  909,  909,  909,  907,  907,    0,  909,    0,
2666
      906,    0,    0,    0,    0,  910,    0,  910,  910,  908,
2667
      910,  910,  910,  910,  910,    0,    0,  911,  910,  911,
2668
      911,    0,  911,  911,  911,  911,  911,  909,    0,  912,
2669
      911,  912,  912,    0,  912,  912,  912,  912,  912,    0,
2670
        0,  909,  912,    0,    0,    0,    0,  910,  914,    0,
2671
      914,  914,    0,    0,    0,    0,  910,    0,    0,  911,
2672
2673
      913,  914,  913,  913,  911,  913,  913,  913,  913,  913,
2674
        0,  912,  916,  913,  916,  916,    0,  916,  916,  916,
2675
      916,  916,    0,    0,  921,  916,  921,  921,    0,    0,
2676
        0,  914,  912,    0,    0,    0,    0,  921,  917,    0,
2677
      917,  917,  913,  917,  917,  917,  917,  917,    0,    0,
2678
        0,  917,    0,  918,  916,  918,  918,  913,  918,  918,
2679
      918,  918,  918,  916,    0,  922,  918,  922,  922,    0,
2680
      922,  922,  922,  922,  922,    0,    0,    0,  922,  921,
2681
      917,  923,    0,  923,  923,    0,  923,  923,  923,  923,
2682
      923,    0,    0,    0,  923,  918,    0,    0,    0,    0,
2683
2684
        0,    0,    0,  924,  918,  924,  924,  922,  924,  924,
2685
      924,  924,  924,    0,    0,    0,  924,    0,    0,    0,
2686
        0,    0,    0,  923,    0,  922,    0,    0,  925,    0,
2687
      925,  925,  923,  925,  925,  925,  925,  925,    0,    0,
2688
        0,  925,    0,    0,    0,  924,    0,    0,  931,  924,
2689
        0,  931,    0,  931,  931,  931,  931,  931,  932,    0,
2690
        0,  931,    0,  932,  932,  932,  932,  932,  933,    0,
2691
      925,  932,    0,  933,  933,  933,  933,  933,  934,    0,
2692
        0,  933,    0,  934,  934,  934,  934,  934,    0,  925,
2693
      931,  934,    0,    0,    0,    0,    0,    0,    0,  937,
2694
2695
      932,  937,  937,    0,  937,  937,  937,  937,  937,    0,
2696
      933,  952,  937,  952,  952,    0,    0,    0,    0,    0,
2697
      934,  935,    0,    0,  952,    0,  935,  935,  935,  935,
2698
      935,    0,    0,    0,  935,  935,  935,  935,  935,  935,
2699
      935,  937,  938,  952,  938,  938,    0,  938,  938,  938,
2700
      938,  938,    0,    0,    0,  938,    0,    0,  989,    0,
2701
      989,  989,    0,  935,  935,  935,  935,  935,  935,  935,
2702
      940,  989,  940,  940,    0,  940,  940,  940,  940,  940,
2703
        0,    0,    0,  940,  938,  941,    0,  941,  941,    0,
2704
      941,  941,  941,  941,  941,    0,  940,  942,  941,  942,
2705
2706
      942,  989,  942,  942,  942,  942,  942,    0,    0,    0,
2707
      942,  943,  940,  943,  943,    0,  943,  943,  943,  943,
2708
      943,    0,    0,  944,  943,  944,  944,  941,  944,  944,
2709
      944,  944,  944,  942,    0,  945,  944,  945,  945,  942,
2710
        0,  946,    0,  946,  946,    0,    0,    0,  945,  945,
2711
        0,    0,    0,  943,  946,  954,    0,  954,  954,    0,
2712
        0,    0,    0,  945,  948,  944,  948,  948,  954,  948,
2713
      948,  948,  948,  948,    0,    0,    0,  948,  949,  946,
2714
      949,  949,  948,  949,  949,  949,  949,  949,  954,    0,
2715
      950,  949,  950,  950,    0,  950,  950,  950,  950,  950,
2716
2717
        0,    0,  951,  950,  951,  951,  948,  951,  951,  951,
2718
      951,  951,    0,    0,    0,  951,  953,    0,  953,  953,
2719
      949,    0,  983,    0,  983,  983,    0,  950,    0,  953,
2720
      953,    0,  950,  951,  955,  983,  955,  955,    0,  955,
2721
      955,  955,  955,  955,  951,    0,  956,  955,  956,  956,
2722
      955,  956,  956,  956,  956,  956,    0,    0,  957,  956,
2723
      957,  957,    0,  957,  957,  957,  957,  957,    0,    0,
2724
        0,  957,  958,    0,  958,  958,  955,  958,  958,  958,
2725
      958,  958,  983,    0,    0,  958,  958,    0,  956,  959,
2726
        0,  959,  959,    0,  959,  959,  959,  959,  959,    0,
2727
2728
      957,    0,  959,  960,    0,  960,  960,    0,  960,  960,
2729
      960,  960,  960,    0,  958,    0,  960,    0,    0,    0,
2730
        0,  961,  959,  961,  961,    0,  961,  961,  961,  961,
2731
      961,  959,    0,    0,  961,  962,    0,  962,  962,  960,
2732
      962,  962,  962,  962,  962,  960,    0,    0,  962,    0,
2733
        0,  962,    0,  963,  961,  963,  963,    0,  963,  963,
2734
      963,  963,  963,  961,    0,    0,  963,  964,    0,  964,
2735
      964,  963,  964,  964,  964,  964,  964,  962,    0,  965,
2736
      964,  965,  965,  967,    0,  967,  967,  981,    0,  981,
2737
      981,  974,  965,  974,  974,  963,  967,    0,    0,    0,
2738
2739
      981,    0,    0,    0,  974,  966,  965,  966,  966,  964,
2740
      966,  966,  966,  966,  966,  967,    0,    0,  966,  968,
2741
      966,  968,  968,  974,  968,  968,  968,  968,  968,    0,
2742
      981,  969,  968,  969,  969,    0,  969,  969,  969,  969,
2743
      969,    0,    0,  981,  969,    0,    0,  966,    0,    0,
2744
        0,  970,  968,  970,  970,    0,  970,  970,  970,  970,
2745
      970,  968,    0,    0,  970,    0,  970,    0,    0,  971,
2746
        0,  971,  971,  969,  971,  971,  971,  971,  971,    0,
2747
        0,    0,  971,  972,    0,  972,  972,  973,    0,  973,
2748
      973,    0,    0,  970,    0, 1005,  972, 1005, 1005,    0,
2749
2750
      973,  971,    0,  972,    0,  973,    0,  975, 1005,  975,
2751
      975,  971,  975,  975,  975,  975,  975,    0,    0,  976,
2752
      975,  976,  976,    0,  976,  976,  976,  976,  976,    0,
2753
        0,    0,  976,    0,  977,    0,  977,  977,  975,  977,
2754
      977,  977,  977,  977, 1005,    0,    0,  977,    0,  975,
2755
      978,    0,  978,  978,    0,  978,  978,  978,  978,  978,
2756
        0,  976,  979,  978,  979,  979,    0,  979,  979,  979,
2757
      979,  979,    0,  976,    0,  979,  977,  980,    0,  980,
2758
      980,    0,  980,  980,  980,  980,  980,    0,    0,    0,
2759
      980,    0,  978,  982,    0,  982,  982,    0, 1001,    0,
2760
2761
     1001, 1001,    0,    0,  979,    0,  982,    0,    0,    0,
2762
        0, 1001,    0,    0,  978,  984,    0,  984,  984,  980,
2763
      984,  984,  984,  984,  984,    0,    0,  985,  984,  985,
2764
      985,    0,  985,  985,  985,  985,  985,    0,    0,  986,
2765
      985,  986,  986,    0,  986,  986,  986,  986,  986,    0,
2766
        0,    0,  986, 1001,    0,    0,    0,  984,  987,  982,
2767
      987,  987,  984,  987,  987,  987,  987,  987,    0,  985,
2768
      988,  987,  988,  988,  990,    0,  990,  990,    0,    0,
2769
        0,  986,    0,  988,    0,    0,  991,  990,  991,  991,
2770
        0,  991,  991,  991,  991,  991,    0,    0,    0,  991,
2771
2772
      987,    0,    0,  992,  986,  992,  992,    0,  992,  992,
2773
      992,  992,  992,    0, 1018,    0,  992,  987,    0, 1018,
2774
     1018, 1018, 1018, 1018,    0,    0,    0, 1018,  991,    0,
2775
      988,  991,    0,    0,  993,  990,  993,  993,    0,  993,
2776
      993,  993,  993,  993,    0,  992,  994,  993,  994,  994,
2777
        0,  994,  994,  994,  994,  994, 1018,    0,  995,  994,
2778
      995,  995,    0,  995,  995,  995,  995,  995,    0,    0,
2779
        0,  995,  996,    0,  996,  996,  993,  996,  996,  996,
2780
      996,  996,    0,    0,    0,  996,    0,    0,  994,  994,
2781
      997,    0,  997,  997,    0,  997,  997,  997,  997,  997,
2782
2783
      995,    0,  998,  997,  998,  998,    0,  998,  998,  998,
2784
      998,  998,    0,    0,  996,  998,    0,    0,  999,  995,
2785
      999,  999,    0,  999,  999,  999,  999,  999,    0,    0,
2786
        0,  999,  997,    0,    0, 1002,  996, 1002, 1002,    0,
2787
        0,    0,    0,    0,  998,    0,    0,  998, 1002,    0,
2788
     1000,  997, 1000, 1000,    0, 1000, 1000, 1000, 1000, 1000,
2789
      999,    0,    0, 1000, 1003,  999, 1003, 1003,    0, 1003,
2790
     1003, 1003, 1003, 1003,    0,    0, 1004, 1003, 1004, 1004,
2791
        0, 1004, 1004, 1004, 1004, 1004,    0,    0, 1006, 1004,
2792
     1006, 1006, 1000,    0, 1007, 1002, 1007, 1007,    0,    0,
2793
2794
     1027, 1006, 1027, 1027,    0,    0, 1003, 1007, 1003,    0,
2795
        0,    0,    0, 1027, 1008,    0, 1008, 1008, 1004, 1008,
2796
     1008, 1008, 1008, 1008,    0,    0,    0, 1008,    0,    0,
2797
        0, 1027,    0,    0,    0, 1006, 1009, 1004, 1009, 1009,
2798
        0, 1009, 1009, 1009, 1009, 1009,    0,    0,    0, 1009,
2799
        0,    0,    0,    0, 1007, 1010, 1008, 1010, 1010,    0,
2800
     1010, 1010, 1010, 1010, 1010,    0,    0,    0, 1010,    0,
2801
     1030,    0, 1030, 1030,    0,    0,    0,    0, 1009, 1011,
2802
     1009, 1011, 1011, 1030, 1011, 1011, 1011, 1011, 1011,    0,
2803
        0,    0, 1011, 1017,    0, 1030, 1017, 1010, 1017, 1017,
2804
2805
     1017, 1017, 1017, 1019,    0,    0, 1017,    0, 1019, 1019,
2806
     1019, 1019, 1019,    0,    0, 1010, 1019, 1020,    0,    0,
2807
        0, 1011, 1020, 1020, 1020, 1020, 1020,    0,    0, 1029,
2808
     1020, 1029, 1029,    0,    0, 1017,    0,    0, 1011,    0,
2809
        0, 1023, 1029, 1023, 1023, 1019, 1023, 1023, 1023, 1023,
2810
     1023,    0,    0,    0, 1023,    0, 1029,    0,    0, 1020,
2811
     1021,    0,    0,    0,    0, 1021, 1021, 1021, 1021, 1021,
2812
        0,    0,    0, 1021, 1021, 1021, 1021, 1021, 1021, 1021,
2813
        0,    0, 1024, 1023, 1024, 1024,    0, 1024, 1024, 1024,
2814
     1024, 1024,    0,    0,    0, 1024,    0, 1036,    0, 1036,
2815
2816
     1036,    0, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1026,
2817
     1036, 1026, 1026,    0, 1026, 1026, 1026, 1026, 1026,    0,
2818
        0, 1036, 1026, 1028, 1024, 1028, 1028,    0, 1028, 1028,
2819
     1028, 1028, 1028,    0,    0, 1031, 1028, 1031, 1031, 1032,
2820
        0, 1032, 1032, 1037,    0, 1037, 1037,    0, 1031,    0,
2821
        0, 1026, 1032,    0,    0,    0, 1037, 1032,    0,    0,
2822
     1028,    0,    0,    0, 1031, 1028, 1033,    0, 1033, 1033,
2823
     1037, 1033, 1033, 1033, 1033, 1033,    0,    0, 1034, 1033,
2824
     1034, 1034, 1033, 1034, 1034, 1034, 1034, 1034,    0,    0,
2825
     1035, 1034, 1035, 1035,    0, 1035, 1035, 1035, 1035, 1035,
2826
2827
        0,    0, 1038, 1035, 1038, 1038,    0, 1034, 1033,    0,
2828
        0,    0, 1035,    0,    0, 1038, 1039,    0, 1039, 1039,
2829
     1034, 1039, 1039, 1039, 1039, 1039,    0,    0,    0, 1039,
2830
        0,    0, 1035,    0, 1040, 1038, 1040, 1040,    0, 1040,
2831
     1040, 1040, 1040, 1040, 1039,    0, 1041, 1040, 1041, 1041,
2832
        0, 1041, 1041, 1041, 1041, 1041, 1040,    0, 1039, 1041,
2833
     1042,    0, 1042, 1042, 1041, 1042, 1042, 1042, 1042, 1042,
2834
        0,    0, 1043, 1042, 1043, 1043, 1040, 1043, 1043, 1043,
2835
     1043, 1043,    0,    0,    0, 1043,    0, 1044, 1041, 1044,
2836
     1044,    0, 1044, 1044, 1044, 1044, 1044, 1042,    0,    0,
2837
2838
     1044,    0, 1042, 1045,    0, 1045, 1045,    0, 1045, 1045,
2839
     1045, 1045, 1045,    0, 1043, 1044, 1045, 1046,    0, 1046,
2840
     1046,    0, 1053,    0, 1053, 1053,    0,    0,    0, 1044,
2841
     1046, 1047,    0, 1047, 1047, 1053, 1047, 1047, 1047, 1047,
2842
     1047,    0,    0,    0, 1047, 1045,    0,    0, 1048, 1046,
2843
     1048, 1048,    0, 1053, 1057,    0, 1057, 1057,    0,    0,
2844
        0, 1048,    0,    0,    0, 1047,    0, 1057,    0, 1049,
2845
     1048, 1049, 1049, 1047, 1049, 1049, 1049, 1049, 1049,    0,
2846
        0, 1050, 1049, 1050, 1050,    0, 1050, 1050, 1050, 1050,
2847
     1050,    0,    0, 1051, 1050, 1051, 1051,    0, 1051, 1051,
2848
2849
     1051, 1051, 1051,    0,    0,    0, 1051, 1049,    0,    0,
2850
        0, 1049,    0, 1057, 1052, 1050, 1052, 1052, 1054,    0,
2851
     1054, 1054,    0, 1050,    0,    0,    0, 1052,    0,    0,
2852
        0, 1054, 1052,    0,    0, 1051, 1055,    0, 1055, 1055,
2853
     1054, 1055, 1055, 1055, 1055, 1055,    0,    0,    0, 1055,
2854
     1055, 1056,    0, 1056, 1056,    0, 1056, 1056, 1056, 1056,
2855
     1056,    0,    0, 1058, 1056, 1058, 1058,    0, 1058, 1058,
2856
     1058, 1058, 1058,    0,    0,    0, 1058, 1059, 1055, 1059,
2857
     1059, 1060,    0, 1060, 1060, 1061,    0, 1061, 1061, 1062,
2858
     1059, 1062, 1062, 1056, 1060,    0,    0,    0, 1061,    0,
2859
2860
        0, 1063, 1062, 1063, 1063, 1058, 1063, 1063, 1063, 1063,
2861
     1063,    0,    0, 1064, 1063, 1064, 1064,    0, 1064, 1064,
2862
     1064, 1064, 1064,    0,    0,    0, 1064, 1066, 1058, 1066,
2863
     1066,    0, 1059,    0, 1060,    0, 1062,    0,    0,    0,
2864
     1066,    0, 1061, 1063,    0, 1065, 1063, 1065, 1065,    0,
2865
     1065, 1065, 1065, 1065, 1065, 1064,    0,    0, 1065, 1067,
2866
        0, 1067, 1067, 1068,    0, 1068, 1068,    0,    0,    0,
2867
     1064,    0, 1067,    0,    0, 1069, 1068, 1069, 1069, 1066,
2868
     1069, 1069, 1069, 1069, 1069,    0,    0, 1065, 1069,    0,
2869
        0,    0, 1070,    0, 1070, 1070, 1065, 1070, 1070, 1070,
2870
2871
     1070, 1070,    0,    0,    0, 1070,    0,    0,    0,    0,
2872
        0,    0,    0, 1071, 1067, 1071, 1071, 1069, 1071, 1071,
2873
     1071, 1071, 1071,    0, 1068,    0, 1071,    0,    0,    0,
2874
        0, 1069,    0, 1072, 1070, 1072, 1072,    0, 1072, 1072,
2875
     1072, 1072, 1072, 1070,    0, 1073, 1072, 1073, 1073,    0,
2876
     1073, 1073, 1073, 1073, 1073, 1071,    0,    0, 1073, 1074,
2877
     1071, 1074, 1074,    0, 1074, 1074, 1074, 1074, 1074,    0,
2878
        0, 1075, 1074, 1075, 1075, 1072, 1075, 1075, 1075, 1075,
2879
     1075,    0,    0, 1076, 1075, 1076, 1076, 1073,    0, 1077,
2880
        0, 1077, 1077,    0,    0,    0, 1076,    0, 1072,    0,
2881
2882
        0, 1074, 1077, 1078,    0, 1078, 1078,    0, 1078, 1078,
2883
     1078, 1078, 1078, 1075,    0, 1074, 1078, 1079,    0, 1079,
2884
     1079,    0, 1079, 1079, 1079, 1079, 1079,    0,    0, 1080,
2885
     1079, 1080, 1080, 1081,    0, 1081, 1081,    0,    0,    0,
2886
     1077,    0, 1080, 1076,    0, 1078, 1081, 1082,    0, 1082,
2887
     1082,    0,    0,    0,    0,    0,    0,    0,    0, 1079,
2888
     1082, 1083,    0, 1083, 1083, 1078, 1083, 1083, 1083, 1083,
2889
     1083,    0,    0,    0, 1083,    0, 1080,    0,    0,    0,
2890
        0,    0, 1084, 1079, 1084, 1084,    0, 1084, 1084, 1084,
2891
     1084, 1084, 1081,    0,    0, 1084,    0,    0, 1082, 1085,
2892
2893
        0, 1085, 1085, 1083, 1085, 1085, 1085, 1085, 1085,    0,
2894
        0,    0, 1085, 1088,    0,    0, 1088,    0, 1088, 1088,
2895
     1088, 1088, 1088, 1083, 1084, 1089, 1088,    0,    0,    0,
2896
     1089, 1089, 1089, 1089, 1089,    0,    0,    0, 1089, 1090,
2897
        0, 1085, 1085,    0, 1090, 1090, 1090, 1090, 1090,    0,
2898
        0, 1091, 1090,    0,    0, 1088, 1091, 1091, 1091, 1091,
2899
     1091,    0,    0, 1094, 1091, 1094, 1094, 1089, 1094, 1094,
2900
     1094, 1094, 1094,    0,    0,    0, 1094, 1095,    0, 1095,
2901
     1095, 1090, 1095, 1095, 1095, 1095, 1095,    0,    0,    0,
2902
     1095,    0,    0, 1091, 1092,    0,    0,    0,    0, 1092,
2903
2904
     1092, 1092, 1092, 1092,    0, 1094,    0, 1092, 1092, 1092,
2905
     1092, 1092, 1092, 1092, 1096,    0, 1096, 1096, 1097, 1095,
2906
     1097, 1097, 1106,    0, 1106, 1106,    0, 1096,    0,    0,
2907
     1102, 1097, 1102, 1102,    0, 1106, 1092, 1092, 1092, 1092,
2908
     1092, 1092, 1092, 1102,    0, 1098, 1097, 1098, 1098,    0,
2909
     1098, 1098, 1098, 1098, 1098,    0,    0, 1099, 1098, 1099,
2910
     1099, 1102, 1100,    0, 1100, 1100, 1101,    0, 1101, 1101,
2911
     1099,    0,    0,    0, 1098, 1100,    0, 1099,    0, 1101,
2912
     1100,    0,    0, 1103, 1101, 1103, 1103, 1098, 1103, 1103,
2913
     1103, 1103, 1103,    0,    0, 1104, 1103, 1104, 1104,    0,
2914
2915
     1104, 1104, 1104, 1104, 1104,    0,    0,    0, 1104,    0,
2916
        0, 1103,    0, 1104, 1105,    0, 1105, 1105,    0, 1105,
2917
     1105, 1105, 1105, 1105,    0, 1103,    0, 1105, 1107, 1105,
2918
     1107, 1107, 1108,    0, 1108, 1108,    0, 1104,    0,    0,
2919
        0, 1107,    0,    0, 1109, 1108, 1109, 1109,    0, 1109,
2920
     1109, 1109, 1109, 1109,    0,    0, 1105, 1109,    0,    0,
2921
     1107,    0,    0, 1108,    0,    0,    0, 1110,    0, 1110,
2922
     1110, 1109, 1110, 1110, 1110, 1110, 1110,    0,    0,    0,
2923
     1110,    0, 1111,    0, 1111, 1111, 1109, 1111, 1111, 1111,
2924
     1111, 1111,    0,    0, 1110, 1111,    0, 1112,    0, 1112,
2925
2926
     1112,    0, 1112, 1112, 1112, 1112, 1112,    0,    0, 1110,
2927
     1112,    0,    0,    0, 1113, 1111, 1113, 1113,    0, 1113,
2928
     1113, 1113, 1113, 1113, 1111,    0, 1112, 1113,    0, 1114,
2929
        0, 1114, 1114, 1116,    0, 1116, 1116,    0,    0, 1112,
2930
        0, 1113, 1114,    0,    0,    0, 1116,    0,    0,    0,
2931
        0, 1114, 1115,    0, 1115, 1115, 1113, 1115, 1115, 1115,
2932
     1115, 1115,    0,    0,    0, 1115, 1116, 1117,    0, 1117,
2933
     1117,    0, 1117, 1117, 1117, 1117, 1117,    0,    0,    0,
2934
     1117,    0,    0,    0, 1118, 1115, 1118, 1118,    0, 1118,
2935
     1118, 1118, 1118, 1118, 1115,    0,    0, 1118, 1119,    0,
2936
2937
     1119, 1119, 1120,    0, 1120, 1120,    0,    0,    0, 1117,
2938
     1121, 1119, 1121, 1121,    0, 1120,    0, 1118,    0,    0,
2939
        0,    0, 1122, 1121, 1122, 1122, 1118, 1122, 1122, 1122,
2940
     1122, 1122,    0,    0, 1123, 1122, 1123, 1123, 1125,    0,
2941
     1125, 1125,    0, 1121,    0,    0,    0, 1123,    0, 1122,
2942
     1124, 1125, 1124, 1124,    0, 1124, 1124, 1124, 1124, 1124,
2943
        0,    0,    0, 1124, 1122, 1126,    0, 1126, 1126, 1127,
2944
        0, 1127, 1127, 1128,    0, 1128, 1128,    0, 1126,    0,
2945
        0,    0, 1127,    0,    0,    0, 1128, 1125,    0,    0,
2946
     1123, 1129, 1124, 1129, 1129,    0, 1129, 1129, 1129, 1129,
2947
2948
     1129,    0,    0,    0, 1129,    0, 1132, 1124, 1132, 1132,
2949
        0,    0, 1126,    0,    0, 1130, 1127, 1130, 1130, 1132,
2950
     1130, 1130, 1130, 1130, 1130,    0,    0,    0, 1130,    0,
2951
        0,    0, 1128, 1129,    0, 1131,    0, 1131, 1131,    0,
2952
     1131, 1131, 1131, 1131, 1131,    0,    0, 1129, 1131,    0,
2953
     1133,    0, 1133, 1133,    0,    0, 1134, 1130, 1134, 1134,
2954
        0,    0, 1130, 1133,    0, 1135,    0, 1135, 1135, 1134,
2955
     1135, 1135, 1135, 1135, 1135,    0,    0, 1131, 1135, 1131,
2956
     1136,    0, 1136, 1136,    0, 1136, 1136, 1136, 1136, 1136,
2957
        0,    0, 1137, 1136, 1137, 1137,    0, 1137, 1137, 1137,
2958
2959
     1137, 1137,    0,    0,    0, 1137, 1140, 1135, 1140, 1140,
2960
     1133, 1141,    0, 1141, 1141, 1134,    0,    0,    0, 1140,
2961
     1135,    0, 1136, 1138, 1141, 1138, 1138,    0, 1138, 1138,
2962
     1138, 1138, 1138,    0, 1137, 1136, 1138, 1139,    0, 1139,
2963
     1139,    0, 1139, 1139, 1139, 1139, 1139,    0,    0, 1144,
2964
     1139, 1144, 1144, 1137,    0,    0,    0, 1140,    0,    0,
2965
        0, 1142, 1144, 1142, 1142, 1138, 1142, 1142, 1142, 1142,
2966
     1142,    0, 1141,    0, 1142,    0,    0,    0,    0, 1139,
2967
     1138, 1143,    0, 1143, 1143,    0, 1143, 1143, 1143, 1143,
2968
     1143,    0, 1139, 1145, 1143, 1145, 1145, 1146,    0, 1146,
2969
2970
     1146,    0, 1159, 1142, 1159, 1159, 1145,    0,    0,    0,
2971
     1146, 1147,    0, 1147, 1147, 1159, 1147, 1147, 1147, 1147,
2972
     1147,    0, 1142, 1143, 1147, 1148,    0, 1148, 1148,    0,
2973
     1148, 1148, 1148, 1148, 1148,    0, 1151,    0, 1148, 1151,
2974
        0, 1151, 1151, 1151, 1151, 1151,    0,    0,    0, 1151,
2975
        0,    0,    0, 1147,    0, 1152,    0,    0, 1146,    0,
2976
     1152, 1152, 1152, 1152, 1152,    0,    0, 1148, 1152,    0,
2977
        0,    0, 1147,    0,    0,    0, 1153,    0, 1151,    0,
2978
     1148, 1153, 1153, 1153, 1153, 1153, 1154,    0,    0, 1153,
2979
        0, 1154, 1154, 1154, 1154, 1154,    0, 1152, 1157, 1154,
2980
2981
     1157, 1157,    0, 1157, 1157, 1157, 1157, 1157,    0,    0,
2982
        0, 1157,    0,    0, 1158,    0, 1158, 1158, 1153, 1158,
2983
     1158, 1158, 1158, 1158,    0,    0,    0, 1158, 1154, 1155,
2984
        0,    0,    0,    0, 1155, 1155, 1155, 1155, 1155,    0,
2985
     1157,    0, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1162,
2986
        0, 1162, 1162,    0,    0, 1160, 1158, 1160, 1160,    0,
2987
        0,    0, 1162,    0,    0,    0,    0, 1162, 1160,    0,
2988
        0, 1155, 1155, 1155, 1155, 1155, 1155, 1155,    0, 1161,
2989
     1160, 1161, 1161,    0, 1161, 1161, 1161, 1161, 1161,    0,
2990
        0, 1163, 1161, 1163, 1163,    0, 1164, 1161, 1164, 1164,
2991
2992
     1165,    0, 1165, 1165, 1163, 1169,    0, 1169, 1169, 1164,
2993
        0,    0,    0, 1165,    0,    0,    0, 1166, 1169, 1166,
2994
     1166, 1161, 1166, 1166, 1166, 1166, 1166,    0,    0, 1167,
2995
     1166, 1167, 1167,    0, 1167, 1167, 1167, 1167, 1167,    0,
2996
        0,    0, 1167, 1168, 1166, 1168, 1168,    0, 1168, 1168,
2997
     1168, 1168, 1168,    0,    0, 1170, 1168, 1170, 1170, 1166,
2998
     1167,    0,    0,    0,    0,    0,    0, 1171, 1170, 1171,
2999
     1171, 1167, 1171, 1171, 1171, 1171, 1171, 1168,    0,    0,
3000
     1171, 1172,    0, 1172, 1172, 1168, 1172, 1172, 1172, 1172,
3001
     1172,    0,    0, 1173, 1172, 1173, 1173,    0, 1173, 1173,
3002
3003
     1173, 1173, 1173,    0,    0,    0, 1173,    0, 1174, 1171,
3004
     1174, 1174,    0, 1174, 1174, 1174, 1174, 1174,    0,    0,
3005
        0, 1174,    0, 1172, 1173, 1175, 1174, 1175, 1175,    0,
3006
     1175, 1175, 1175, 1175, 1175, 1173,    0,    0, 1175, 1176,
3007
        0, 1176, 1176,    0,    0,    0,    0,    0,    0,    0,
3008
     1174, 1177, 1176, 1177, 1177,    0, 1177, 1177, 1177, 1177,
3009
     1177,    0,    0, 1178, 1177, 1178, 1178, 1175,    0, 1177,
3010
        0,    0, 1176,    0,    0,    0, 1178,    0,    0,    0,
3011
        0, 1179,    0, 1179, 1179, 1178, 1179, 1179, 1179, 1179,
3012
     1179,    0,    0, 1177, 1179, 1180,    0, 1180, 1180, 1179,
3013
3014
        0,    0,    0,    0,    0,    0,    0, 1181, 1180, 1181,
3015
     1181,    0, 1181, 1181, 1181, 1181, 1181, 1180,    0, 1182,
3016
     1181, 1182, 1182, 1179,    0,    0,    0,    0, 1183,    0,
3017
     1183, 1183, 1182, 1183, 1183, 1183, 1183, 1183,    0, 1181,
3018
     1184, 1183, 1184, 1184, 1185,    0, 1185, 1185, 1186, 1181,
3019
     1186, 1186, 1187, 1184, 1187, 1187, 1191, 1185, 1191, 1191,
3020
        0, 1186,    0,    0,    0, 1187,    0,    0,    0, 1191,
3021
     1183, 1188, 1182, 1188, 1188, 1183, 1188, 1188, 1188, 1188,
3022
     1188,    0,    0, 1189, 1188, 1189, 1189, 1184, 1189, 1189,
3023
     1189, 1189, 1189,    0,    0, 1190, 1189, 1190, 1190,    0,
3024
3025
     1190, 1190, 1190, 1190, 1190,    0,    0, 1192, 1190, 1192,
3026
     1192,    0,    0, 1188,    0, 1214,    0, 1214, 1214,    0,
3027
     1192,    0,    0,    0,    0, 1189, 1188, 1193, 1214, 1193,
3028
     1193,    0, 1193, 1193, 1193, 1193, 1193, 1190,    0,    0,
3029
     1193, 1194, 1189, 1194, 1194,    0, 1194, 1194, 1194, 1194,
3030
     1194,    0,    0, 1195, 1194, 1195, 1195, 1190, 1195, 1195,
3031
     1195, 1195, 1195,    0,    0,    0, 1195,    0, 1196, 1193,
3032
     1196, 1196,    0, 1196, 1196, 1196, 1196, 1196,    0,    0,
3033
        0, 1196,    0, 1194, 1197,    0, 1197, 1197,    0, 1197,
3034
     1197, 1197, 1197, 1197,    0, 1195, 1198, 1197, 1198, 1198,
3035
3036
     1199,    0, 1199, 1199,    0, 1217,    0, 1217, 1217, 1198,
3037
     1196,    0, 1195, 1199, 1200, 1196, 1200, 1200, 1217, 1200,
3038
     1200, 1200, 1200, 1200,    0,    0, 1197, 1200, 1201,    0,
3039
     1201, 1201,    0,    0,    0,    0,    0,    0,    0,    0,
3040
     1202, 1201, 1202, 1202,    0, 1202, 1202, 1202, 1202, 1202,
3041
        0, 1199,    0, 1202,    0,    0, 1200, 1198,    0,    0,
3042
     1203, 1200, 1203, 1203,    0, 1203, 1203, 1203, 1203, 1203,
3043
        0,    0, 1223, 1203, 1223, 1223,    0,    0,    0, 1201,
3044
        0,    0, 1202, 1206,    0, 1223, 1206, 1202, 1206, 1206,
3045
     1206, 1206, 1206,    0, 1223,    0, 1206, 1229, 1207, 1229,
3046
3047
     1229,    0, 1203, 1207, 1207, 1207, 1207, 1207, 1208,    0,
3048
     1229, 1207,    0, 1208, 1208, 1208, 1208, 1208,    0,    0,
3049
     1203, 1208, 1209,    0,    0, 1206,    0, 1209, 1209, 1209,
3050
     1209, 1209,    0,    0, 1225, 1209, 1225, 1225,    0,    0,
3051
     1207,    0,    0,    0, 1229,    0, 1212, 1225, 1212, 1212,
3052
     1208, 1212, 1212, 1212, 1212, 1212,    0,    0,    0, 1212,
3053
        0,    0, 1225,    0, 1209, 1210,    0,    0,    0,    0,
3054
     1210, 1210, 1210, 1210, 1210,    0,    0,    0, 1210, 1210,
3055
     1210, 1210, 1210, 1210, 1210,    0,    0, 1213, 1212, 1213,
3056
     1213,    0, 1213, 1213, 1213, 1213, 1213,    0,    0,    0,
3057
3058
     1213, 1215,    0, 1215, 1215,    0,    0, 1210, 1210, 1210,
3059
     1210, 1210, 1210, 1210, 1215, 1216,    0, 1216, 1216, 1215,
3060
     1216, 1216, 1216, 1216, 1216,    0,    0,    0, 1216, 1213,
3061
     1218,    0, 1218, 1218,    0, 1218, 1218, 1218, 1218, 1218,
3062
        0,    0, 1219, 1218, 1219, 1219, 1216, 1219, 1219, 1219,
3063
     1219, 1219,    0,    0,    0, 1219, 1220, 1216, 1220, 1220,
3064
        0, 1220, 1220, 1220, 1220, 1220,    0,    0, 1219, 1220,
3065
        0,    0, 1218, 1221,    0, 1221, 1221,    0, 1221, 1221,
3066
     1221, 1221, 1221,    0, 1219,    0, 1221, 1221, 1222, 1220,
3067
     1222, 1222,    0, 1222, 1222, 1222, 1222, 1222, 1220,    0,
3068
3069
     1224, 1222, 1224, 1224,    0, 1224, 1224, 1224, 1224, 1224,
3070
        0,    0,    0, 1224,    0, 1221,    0,    0, 1226, 1222,
3071
     1226, 1226,    0, 1226, 1226, 1226, 1226, 1226,    0,    0,
3072
     1222, 1226,    0, 1227,    0, 1227, 1227,    0,    0,    0,
3073
        0,    0, 1224,    0,    0, 1228, 1227, 1228, 1228,    0,
3074
     1228, 1228, 1228, 1228, 1228,    0,    0,    0, 1228,    0,
3075
     1226, 1227, 1230,    0, 1230, 1230,    0, 1230, 1230, 1230,
3076
     1230, 1230,    0,    0,    0, 1230, 1231,    0, 1231, 1231,
3077
        0,    0,    0,    0,    0,    0,    0, 1228, 1232, 1231,
3078
     1232, 1232,    0, 1232, 1232, 1232, 1232, 1232,    0,    0,
3079
3080
     1233, 1232, 1233, 1233, 1230, 1233, 1233, 1233, 1233, 1233,
3081
        0,    0,    0, 1233,    0,    0,    0,    0,    0,    0,
3082
     1234, 1230, 1234, 1234,    0, 1234, 1234, 1234, 1234, 1234,
3083
     1232,    0, 1235, 1234, 1235, 1235,    0, 1235, 1235, 1235,
3084
     1235, 1235, 1233,    0, 1236, 1235, 1236, 1236,    0, 1236,
3085
     1236, 1236, 1236, 1236, 1233,    0, 1237, 1236, 1237, 1237,
3086
        0,    0, 1234, 1238,    0, 1238, 1238,    0,    0, 1237,
3087
     1240,    0, 1240, 1240, 1235, 1235, 1238,    0,    0,    0,
3088
        0, 1234, 1239, 1240, 1239, 1239, 1236, 1239, 1239, 1239,
3089
     1239, 1239,    0, 1245,    0, 1239, 1245,    0, 1245, 1245,
3090
3091
     1245, 1245, 1245, 1236,    0,    0, 1245, 1237, 1241,    0,
3092
     1241, 1241,    0, 1241, 1241, 1241, 1241, 1241,    0, 1238,
3093
        0, 1241,    0,    0, 1239, 1242, 1240, 1242, 1242,    0,
3094
     1242, 1242, 1242, 1242, 1242, 1245, 1246,    0, 1242,    0,
3095
        0, 1246, 1246, 1246, 1246, 1246, 1247,    0,    0, 1246,
3096
     1241, 1247, 1247, 1247, 1247, 1247, 1248,    0,    0, 1247,
3097
        0, 1248, 1248, 1248, 1248, 1248,    0, 1242, 1251, 1248,
3098
     1251, 1251,    0, 1251, 1251, 1251, 1251, 1251, 1246,    0,
3099
        0, 1251,    0,    0, 1252,    0, 1252, 1252, 1247, 1252,
3100
     1252, 1252, 1252, 1252,    0,    0,    0, 1252, 1248, 1249,
3101
3102
        0,    0,    0,    0, 1249, 1249, 1249, 1249, 1249,    0,
3103
     1251,    0, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1253,
3104
        0, 1253, 1253,    0,    0, 1254, 1252, 1254, 1254,    0,
3105
     1305, 1305, 1253, 1305, 1305, 1305, 1305, 1305, 1254,    0,
3106
        0, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1255,    0,
3107
     1255, 1255,    0, 1255, 1255, 1255, 1255, 1255,    0,    0,
3108
     1256, 1255, 1256, 1256,    0, 1256, 1256, 1256, 1256, 1256,
3109
     1305,    0,    0, 1256, 1255, 1257,    0, 1257, 1257,    0,
3110
     1257, 1257, 1257, 1257, 1257,    0,    0,    0, 1257,    0,
3111
     1255,    0, 1258, 1257, 1258, 1258,    0, 1258, 1258, 1258,
3112
3113
     1258, 1258, 1256,    0,    0, 1258,    0, 1259,    0, 1259,
3114
     1259,    0, 1259, 1259, 1259, 1259, 1259, 1257,    0, 1258,
3115
     1259,    0, 1260,    0, 1260, 1260, 1261,    0, 1261, 1261,
3116
        0,    0,    0, 1259, 1258, 1260,    0,    0, 1262, 1261,
3117
     1262, 1262, 1263,    0, 1263, 1263,    0,    0,    0, 1259,
3118
     1260, 1262,    0, 1261, 1264, 1263, 1264, 1264,    0, 1264,
3119
     1264, 1264, 1264, 1264,    0, 1262,    0, 1264, 1265,    0,
3120
     1265, 1265,    0, 1265, 1265, 1265, 1265, 1265,    0,    0,
3121
     1266, 1265, 1266, 1266,    0, 1266, 1266, 1266, 1266, 1266,
3122
        0,    0, 1267, 1266, 1267, 1267, 1264, 1267, 1267, 1267,
3123
3124
     1267, 1267,    0,    0,    0, 1267,    0,    0, 1264,    0,
3125
     1265, 1268,    0, 1268, 1268,    0, 1268, 1268, 1268, 1268,
3126
     1268,    0, 1266, 1269, 1268, 1269, 1269, 1266, 1270,    0,
3127
     1270, 1270,    0,    0, 1267, 1271, 1269, 1271, 1271,    0,
3128
        0, 1270,    0,    0,    0,    0,    0, 1267, 1271, 1274,
3129
        0,    0, 1274, 1268, 1274, 1274, 1274, 1274, 1274,    0,
3130
        0, 1275, 1274,    0,    0, 1268, 1275, 1275, 1275, 1275,
3131
     1275,    0,    0,    0, 1275,    0,    0,    0,    0, 1269,
3132
     1276,    0,    0, 1270,    0, 1276, 1276, 1276, 1276, 1276,
3133
     1271, 1274, 1277, 1276,    0,    0,    0, 1277, 1277, 1277,
3134
3135
     1277, 1277,    0, 1275, 1280, 1277, 1280, 1280,    0, 1280,
3136
     1280, 1280, 1280, 1280,    0,    0,    0, 1280, 1281,    0,
3137
     1281, 1281, 1276, 1281, 1281, 1281, 1281, 1281,    0,    0,
3138
        0, 1281,    0,    0, 1277, 1278,    0,    0,    0,    0,
3139
     1278, 1278, 1278, 1278, 1278,    0, 1280,    0, 1278, 1278,
3140
     1278, 1278, 1278, 1278, 1278, 1282,    0, 1282, 1282,    0,
3141
     1281, 1287,    0, 1287, 1287,    0, 1306, 1306, 1282, 1306,
3142
     1306, 1306, 1306, 1306, 1287,    0,    0, 1278, 1278, 1278,
3143
     1278, 1278, 1278, 1278, 1283,    0, 1283, 1283, 1287, 1283,
3144
     1283, 1283, 1283, 1283,    0,    0, 1284, 1283, 1284, 1284,
3145
3146
        0, 1284, 1284, 1284, 1284, 1284, 1306,    0, 1285, 1284,
3147
     1285, 1285,    0, 1285, 1285, 1285, 1285, 1285,    0,    0,
3148
        0, 1285, 1286,    0, 1286, 1286, 1283, 1286, 1286, 1286,
3149
     1286, 1286,    0,    0, 1288, 1286, 1288, 1288, 1284, 1289,
3150
     1285, 1289, 1289,    0,    0,    0,    0, 1288,    0,    0,
3151
     1285,    0, 1289, 1290,    0, 1290, 1290,    0, 1290, 1290,
3152
     1290, 1290, 1290,    0, 1286, 1291, 1290, 1291, 1291,    0,
3153
     1291, 1291, 1291, 1291, 1291,    0,    0, 1292, 1291, 1292,
3154
     1292,    0, 1292, 1292, 1292, 1292, 1292,    0,    0,    0,
3155
     1292, 1293,    0, 1293, 1293, 1290, 1293, 1293, 1293, 1293,
3156
3157
     1293,    0,    0, 1294, 1293, 1294, 1294, 1291, 1295,    0,
3158
     1295, 1295, 1296,    0, 1296, 1296, 1294,    0,    0, 1292,
3159
        0, 1295,    0,    0,    0, 1296,    0,    0,    0,    0,
3160
        0,    0,    0, 1293,    0, 1308, 1308, 1292, 1308, 1308,
3161
     1308, 1308, 1308, 1310, 1310,    0, 1310, 1310, 1310, 1310,
3162
     1310,    0,    0,    0,    0,    0,    0,    0, 1294, 1303,
3163
     1303, 1303, 1303, 1303,    0,    0,    0,    0, 1303, 1303,
3164
     1303, 1303, 1303, 1303,    0, 1308,    0,    0,    0,    0,
3165
        0, 1318, 1318, 1310, 1318, 1318, 1318, 1318, 1318, 1319,
3166
     1319,    0, 1319, 1319, 1319, 1319, 1319, 1303, 1303, 1303,
3167
3168
     1303, 1303, 1303,    0,    0,    0,    0,    0,    0,    0,
3169
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
3170
        0, 1318,    0,    0,    0,    0,    0,    0,    0, 1319,
3171
     1321, 1321,    0, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
3172
     1321, 1321, 1322, 1322,    0,    0, 1322, 1322, 1322, 1322,
3173
     1322, 1322, 1322, 1322, 1323, 1323,    0, 1323, 1323, 1323,
3174
     1323, 1323, 1323, 1323, 1323, 1323, 1324,    0,    0,    0,
3175
     1324,    0, 1324, 1324, 1325,    0,    0, 1325, 1325, 1325,
3176
     1325, 1325, 1325, 1325, 1325, 1325, 1326,    0, 1326,    0,
3177
     1326, 1326, 1326, 1326, 1327, 1327, 1328, 1328,    0, 1328,
3178
3179
     1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1329,    0,
3180
        0,    0, 1329,    0, 1329, 1329, 1330,    0,    0,    0,
3181
     1330,    0, 1330, 1330, 1331,    0, 1331,    0, 1331, 1331,
3182
     1332,    0, 1332,    0, 1332, 1332, 1332, 1332, 1333,    0,
3183
        0,    0, 1333, 1333, 1333, 1333, 1334, 1334, 1335, 1335,
3184
     1335, 1335, 1336, 1336,    0, 1336,    0, 1336, 1336, 1337,
3185
        0,    0, 1337,    0, 1337, 1337, 1338, 1338, 1338,    0,
3186
     1338, 1338, 1338, 1338, 1339, 1339, 1339,    0, 1339,    0,
3187
     1339, 1339, 1340,    0,    0,    0, 1340,    0, 1340, 1340,
3188
     1341,    0,    0,    0, 1341,    0, 1341, 1341, 1342,    0,
3189
3190
     1342,    0, 1342, 1342, 1342, 1342, 1343,    0,    0,    0,
3191
     1343, 1343, 1343, 1343, 1344, 1344, 1345, 1345, 1345,    0,
3192
     1345, 1345, 1345, 1345, 1346, 1346, 1346,    0, 1346,    0,
3193
     1346, 1346, 1347,    0,    0,    0, 1347,    0, 1347, 1347,
3194
     1348,    0,    0,    0, 1348,    0, 1348, 1348, 1349,    0,
3195
     1349,    0, 1349, 1349, 1349, 1349, 1350,    0,    0,    0,
3196
     1350, 1350, 1350, 1350, 1351, 1351, 1352, 1352, 1352,    0,
3197
     1352, 1352, 1352, 1352, 1353, 1353, 1353,    0, 1353,    0,
3198
     1353, 1353, 1354, 1354,    0, 1354,    0, 1354, 1354, 1355,
3199
        0,    0,    0, 1355,    0, 1355, 1355, 1356,    0,    0,
3200
3201
        0, 1356,    0, 1356, 1356, 1357,    0, 1357,    0, 1357,
3202
        0, 1357, 1357, 1358,    0,    0,    0, 1358,    0, 1358,
3203
     1358, 1359, 1359, 1359,    0, 1359,    0, 1359, 1359, 1360,
3204
     1360, 1360,    0, 1360,    0, 1360, 1360, 1361,    0,    0,
3205
        0, 1361,    0, 1361, 1361, 1362,    0,    0,    0, 1362,
3206
        0, 1362, 1362, 1363,    0, 1363,    0, 1363,    0, 1363,
3207
     1363, 1364,    0,    0,    0, 1364,    0, 1364, 1364, 1365,
3208
     1365, 1365,    0, 1365,    0, 1365, 1365, 1366, 1366, 1366,
3209
        0, 1366,    0, 1366, 1366, 1367,    0,    0,    0, 1367,
3210
        0, 1367, 1367, 1368,    0,    0,    0, 1368,    0, 1368,
3211
3212
     1368, 1369,    0, 1369,    0, 1369,    0, 1369, 1369, 1370,
3213
        0,    0,    0, 1370,    0, 1370, 1370, 1371, 1371, 1371,
3214
        0, 1371,    0, 1371, 1371, 1372, 1372, 1372,    0, 1372,
3215
        0, 1372, 1372, 1373,    0,    0,    0, 1373,    0, 1373,
3216
     1373, 1374,    0,    0,    0, 1374,    0, 1374, 1374, 1375,
3217
        0, 1375,    0, 1375,    0, 1375, 1375, 1376,    0,    0,
3218
        0, 1376,    0, 1376, 1376, 1377, 1377, 1377,    0, 1377,
3219
        0, 1377, 1377, 1378, 1378, 1378,    0, 1378,    0, 1378,
3220
     1378, 1379, 1379,    0, 1379, 1379, 1379, 1379, 1379, 1379,
3221
     1379, 1379, 1379, 1380,    0,    0,    0, 1380,    0, 1380,
3222
3223
     1380, 1381,    0,    0,    0, 1381,    0, 1381, 1381, 1382,
3224
        0, 1382,    0, 1382,    0, 1382, 1382, 1383,    0,    0,
3225
        0, 1383,    0, 1383, 1383, 1384, 1384, 1384,    0, 1384,
3226
        0, 1384, 1384, 1385, 1385, 1385,    0, 1385,    0, 1385,
3227
     1385, 1386,    0,    0,    0, 1386,    0, 1386, 1386, 1387,
3228
        0,    0,    0, 1387,    0, 1387, 1387, 1388,    0, 1388,
3229
        0, 1388,    0, 1388, 1388, 1389,    0,    0,    0, 1389,
3230
        0, 1389, 1389, 1390, 1390, 1390,    0, 1390,    0, 1390,
3231
     1390, 1391, 1391, 1391,    0, 1391,    0, 1391, 1391, 1392,
3232
        0,    0,    0, 1392,    0, 1392, 1392, 1393,    0,    0,
3233
3234
        0, 1393,    0, 1393, 1393, 1394,    0, 1394,    0, 1394,
3235
        0, 1394, 1394, 1395,    0,    0,    0, 1395,    0, 1395,
3236
     1395, 1396, 1396, 1396,    0, 1396,    0, 1396, 1396, 1397,
3237
     1397, 1397,    0, 1397,    0, 1397, 1397, 1398,    0,    0,
3238
        0, 1398,    0, 1398, 1398, 1399,    0,    0,    0, 1399,
3239
        0, 1399, 1399, 1400,    0, 1400,    0, 1400,    0, 1400,
3240
     1400, 1401,    0,    0,    0, 1401,    0, 1401, 1401, 1402,
3241
     1402, 1402,    0, 1402,    0, 1402, 1402, 1403, 1403, 1403,
3242
        0, 1403,    0, 1403, 1403, 1404,    0,    0,    0, 1404,
3243
        0, 1404, 1404, 1405,    0,    0,    0, 1405,    0, 1405,
3244
3245
     1405, 1406,    0, 1406,    0, 1406,    0, 1406, 1406, 1407,
3246
        0,    0,    0, 1407,    0, 1407, 1407, 1408, 1408, 1408,
3247
        0, 1408,    0, 1408, 1408, 1409, 1409, 1409,    0, 1409,
3248
        0, 1409, 1409, 1410,    0,    0,    0, 1410,    0, 1410,
3249
     1410, 1411,    0,    0,    0, 1411,    0, 1411, 1411, 1412,
3250
        0, 1412,    0, 1412,    0, 1412, 1412, 1413,    0,    0,
3251
        0, 1413,    0, 1413, 1413, 1414, 1414, 1414,    0, 1414,
3252
        0, 1414, 1414, 1415, 1415, 1415,    0, 1415,    0, 1415,
3253
     1415, 1416,    0,    0,    0, 1416,    0, 1416, 1416, 1417,
3254
        0,    0,    0, 1417,    0, 1417, 1417, 1418,    0, 1418,
3255
3256
        0, 1418,    0, 1418, 1418, 1419,    0,    0,    0, 1419,
3257
        0, 1419, 1419, 1420, 1420, 1420,    0, 1420,    0, 1420,
3258
     1420, 1421, 1421, 1421,    0, 1421,    0, 1421, 1421, 1422,
3259
        0, 1422,    0, 1422, 1423,    0, 1423, 1424, 1424,    0,
3260
     1424,    0, 1424, 1424, 1425, 1425,    0, 1425,    0, 1425,
3261
     1425, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
3262
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
3263
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
3264
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
3265
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
3266
3267
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
3268
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
3269
     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
3270
     1320, 1320, 1320, 1320
3271
    } ;
3272
3273
static yy_state_type yy_last_accepting_state;
3274
static char *yy_last_accepting_cpos;
3275
3276
extern int yy_flex_debug;
3277
int yy_flex_debug = 0;
3278
3279
/* The intent behind this definition is that it'll catch
3280
 * any uses of REJECT which flex missed.
3281
 */
3282
#define REJECT reject_used_but_not_detected
3283
#define yymore() yymore_used_but_not_detected
3284
5.58M
#define YY_MORE_ADJ 0
3285
#define YY_RESTORE_YY_MORE_OFFSET
3286
#ifndef YYLMAX
3287
18.9M
#define YYLMAX 8192
3288
#endif
3289
3290
char yytext[YYLMAX];
3291
char *yytext_ptr;
3292
#line 1 "policy_scan.l"
3293
/* 
3294
 * Author : Stephen Smalley, <stephen.smalley.work@gmail.com>
3295
 */
3296
/* Updated: David Caplan, <dac@tresys.com>
3297
 *
3298
 *  Added conditional policy language extensions
3299
 *
3300
 *          Jason Tang    <jtang@tresys.com>
3301
 *
3302
 *  Added support for binary policy modules
3303
 *
3304
 * Copyright (C) 2003-5 Tresys Technology, LLC
3305
 * Copyright (C) 2017 Mellanox Technologies Inc.
3306
 *  This program is free software; you can redistribute it and/or modify
3307
 *    it under the terms of the GNU General Public License as published by
3308
 *  the Free Software Foundation, version 2.
3309
 */
3310
/* FLASK */
3311
#line 24 "policy_scan.l"
3312
#include <sys/types.h>
3313
#include <ctype.h>
3314
#include <limits.h>
3315
#include <stdint.h>
3316
#include <string.h>
3317
3318
typedef int (* require_func_t)(void);
3319
3320
#ifdef ANDROID
3321
#include "policy_parse.h"
3322
#else
3323
#include "y.tab.h"
3324
#endif
3325
3326
static char linebuf[2][255];
3327
static unsigned int lno = 0;
3328
int werror = 0;
3329
int yyerror(const char *msg);
3330
int yywarn(const char *msg);
3331
3332
#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
3333
/*
3334
 * Version that does not exit, like yy_fatal_error(),
3335
 * since fuzz targets must not call exit().
3336
 */
3337
#include <setjmp.h>
3338
extern jmp_buf fuzzing_pre_parse_stack_state;
3339
void yyfatal(const char *msg)
3340
6
{
3341
6
  yyerror(msg);
3342
6
  longjmp(fuzzing_pre_parse_stack_state, 1);
3343
6
}
3344
6
#define YY_FATAL_ERROR(msg) yyfatal(msg)
3345
#endif
3346
3347
void set_source_file(const char *name);
3348
static void set_source_line_and_file(const char *line);
3349
3350
char source_file[PATH_MAX];
3351
unsigned long source_lineno = 1;
3352
3353
unsigned long policydb_lineno = 1;
3354
3355
unsigned int policydb_errors = 0;
3356
#line 3357 "lex.yy.c"
3357
#define YY_NO_INPUT 1
3358
#line 3359 "lex.yy.c"
3359
3360
#define INITIAL 0
3361
3362
#ifndef YY_NO_UNISTD_H
3363
/* Special case for "unistd.h", since it is non-ANSI. We include it way
3364
 * down here because we want the user's section 1 to have been scanned first.
3365
 * The user has a chance to override it with an option.
3366
 */
3367
#include <unistd.h>
3368
#endif
3369
3370
#ifndef YY_EXTRA_TYPE
3371
#define YY_EXTRA_TYPE void *
3372
#endif
3373
3374
static int yy_init_globals ( void );
3375
3376
/* Accessor methods to globals.
3377
   These are made visible to non-reentrant scanners for convenience. */
3378
3379
int yylex_destroy ( void );
3380
3381
int yyget_debug ( void );
3382
3383
void yyset_debug ( int debug_flag  );
3384
3385
YY_EXTRA_TYPE yyget_extra ( void );
3386
3387
void yyset_extra ( YY_EXTRA_TYPE user_defined  );
3388
3389
FILE *yyget_in ( void );
3390
3391
void yyset_in  ( FILE * _in_str  );
3392
3393
FILE *yyget_out ( void );
3394
3395
void yyset_out  ( FILE * _out_str  );
3396
3397
      int yyget_leng ( void );
3398
3399
char *yyget_text ( void );
3400
3401
int yyget_lineno ( void );
3402
3403
void yyset_lineno ( int _line_number  );
3404
3405
/* Macros after this point can all be overridden by user definitions in
3406
 * section 1.
3407
 */
3408
3409
#ifndef YY_SKIP_YYWRAP
3410
#ifdef __cplusplus
3411
extern "C" int yywrap ( void );
3412
#else
3413
extern int yywrap ( void );
3414
#endif
3415
#endif
3416
3417
#ifndef YY_NO_UNPUT
3418
    
3419
#endif
3420
3421
#ifndef yytext_ptr
3422
static void yy_flex_strncpy ( char *, const char *, int );
3423
#endif
3424
3425
#ifdef YY_NEED_STRLEN
3426
static int yy_flex_strlen ( const char * );
3427
#endif
3428
3429
#ifndef YY_NO_INPUT
3430
#ifdef __cplusplus
3431
static int yyinput ( void );
3432
#else
3433
static int input ( void );
3434
#endif
3435
3436
#endif
3437
3438
/* Amount of stuff to slurp up with each read. */
3439
#ifndef YY_READ_BUF_SIZE
3440
#ifdef __ia64__
3441
/* On IA-64, the buffer size is 16k, not 8k */
3442
#define YY_READ_BUF_SIZE 16384
3443
#else
3444
54.0k
#define YY_READ_BUF_SIZE 8192
3445
#endif /* __ia64__ */
3446
#endif
3447
3448
/* Copy whatever the last rule matched to the standard output. */
3449
#ifndef ECHO
3450
/* This used to be an fputs(), but since the string might contain NUL's,
3451
 * we now use fwrite().
3452
 */
3453
0
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
3454
#endif
3455
3456
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
3457
 * is returned in "result".
3458
 */
3459
#ifndef YY_INPUT
3460
#define YY_INPUT(buf,result,max_size) \
3461
27.0k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3462
27.0k
    { \
3463
0
    int c = '*'; \
3464
0
    int n; \
3465
0
    for ( n = 0; n < max_size && \
3466
0
           (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
3467
0
      buf[n] = (char) c; \
3468
0
    if ( c == '\n' ) \
3469
0
      buf[n++] = (char) c; \
3470
0
    if ( c == EOF && ferror( yyin ) ) \
3471
0
      YY_FATAL_ERROR( "input in flex scanner failed" ); \
3472
0
    result = n; \
3473
0
    } \
3474
27.0k
  else \
3475
27.0k
    { \
3476
27.0k
    errno=0; \
3477
27.0k
    while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
3478
27.0k
      { \
3479
0
      if( errno != EINTR) \
3480
0
        { \
3481
0
        YY_FATAL_ERROR( "input in flex scanner failed" ); \
3482
0
        break; \
3483
0
        } \
3484
0
      errno=0; \
3485
0
      clearerr(yyin); \
3486
0
      } \
3487
27.0k
    }\
3488
\
3489
3490
#endif
3491
3492
/* No semi-colon after return; correct usage is to write "yyterminate();" -
3493
 * we don't want an extra ';' after the "return" because that will cause
3494
 * some compilers to complain about unreachable statements.
3495
 */
3496
#ifndef yyterminate
3497
7.96k
#define yyterminate() return YY_NULL
3498
#endif
3499
3500
/* Number of entries by which start-condition stack grows. */
3501
#ifndef YY_START_STACK_INCR
3502
#define YY_START_STACK_INCR 25
3503
#endif
3504
3505
/* Report a fatal error. */
3506
#ifndef YY_FATAL_ERROR
3507
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3508
#endif
3509
3510
/* end tables serialization structures and prototypes */
3511
3512
/* Default declaration of generated scanner - a define so the user can
3513
 * easily add parameters.
3514
 */
3515
#ifndef YY_DECL
3516
#define YY_DECL_IS_OURS 1
3517
3518
extern int yylex (void);
3519
3520
#define YY_DECL int yylex (void)
3521
#endif /* !YY_DECL */
3522
3523
/* Code executed at the beginning of each rule, after yytext and yyleng
3524
 * have been set up.
3525
 */
3526
#ifndef YY_USER_ACTION
3527
#define YY_USER_ACTION
3528
#endif
3529
3530
/* Code executed at the end of each rule. */
3531
#ifndef YY_BREAK
3532
3.03M
#define YY_BREAK /*LINTED*/break;
3533
#endif
3534
3535
#define YY_RULE_SETUP \
3536
  YY_USER_ACTION
3537
3538
/** The main scanner function which does all the work.
3539
 */
3540
YY_DECL
3541
12.2M
{
3542
12.2M
  yy_state_type yy_current_state;
3543
12.2M
  char *yy_cp, *yy_bp;
3544
12.2M
  int yy_act;
3545
    
3546
12.2M
  if ( !(yy_init) )
3547
8.12k
    {
3548
8.12k
    (yy_init) = 1;
3549
3550
#ifdef YY_USER_INIT
3551
    YY_USER_INIT;
3552
#endif
3553
3554
8.12k
    if ( ! (yy_start) )
3555
8.12k
      (yy_start) = 1; /* first start state */
3556
3557
8.12k
    if ( ! yyin )
3558
0
      yyin = stdin;
3559
3560
8.12k
    if ( ! yyout )
3561
8.12k
      yyout = stdout;
3562
3563
8.12k
    if ( ! YY_CURRENT_BUFFER ) {
3564
8.12k
      yyensure_buffer_stack ();
3565
8.12k
      YY_CURRENT_BUFFER_LVALUE =
3566
8.12k
        yy_create_buffer( yyin, YY_BUF_SIZE );
3567
8.12k
    }
3568
3569
8.12k
    yy_load_buffer_state(  );
3570
8.12k
    }
3571
3572
12.2M
  {
3573
12.2M
#line 78 "policy_scan.l"
3574
3575
12.2M
#line 3576 "lex.yy.c"
3576
3577
15.2M
  while ( /*CONSTCOND*/1 )    /* loops until end-of-file is reached */
3578
15.2M
    {
3579
15.2M
    yy_cp = (yy_c_buf_p);
3580
3581
    /* Support of yytext. */
3582
15.2M
    *yy_cp = (yy_hold_char);
3583
3584
    /* yy_bp points to the position in yy_ch_buf of the start of
3585
     * the current run.
3586
     */
3587
15.2M
    yy_bp = yy_cp;
3588
3589
15.2M
    yy_current_state = (yy_start);
3590
17.0M
yy_match:
3591
17.0M
    do
3592
80.6M
      {
3593
80.6M
      YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
3594
80.6M
      if ( yy_accept[yy_current_state] )
3595
65.1M
        {
3596
65.1M
        (yy_last_accepting_state) = yy_current_state;
3597
65.1M
        (yy_last_accepting_cpos) = yy_cp;
3598
65.1M
        }
3599
147M
      while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3600
67.2M
        {
3601
67.2M
        yy_current_state = (int) yy_def[yy_current_state];
3602
67.2M
        if ( yy_current_state >= 1321 )
3603
52.6M
          yy_c = yy_meta[yy_c];
3604
67.2M
        }
3605
80.6M
      yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3606
80.6M
      ++yy_cp;
3607
80.6M
      }
3608
80.6M
    while ( yy_base[yy_current_state] != 10752 );
3609
3610
17.0M
yy_find_action:
3611
17.0M
    yy_act = yy_accept[yy_current_state];
3612
17.0M
    if ( yy_act == 0 )
3613
10.2M
      { /* have to back up */
3614
10.2M
      yy_cp = (yy_last_accepting_cpos);
3615
10.2M
      yy_current_state = (yy_last_accepting_state);
3616
10.2M
      yy_act = yy_accept[yy_current_state];
3617
10.2M
      }
3618
3619
17.0M
    YY_DO_BEFORE_ACTION;
3620
3621
17.0M
do_action:  /* This label is used only to access EOF actions. */
3622
3623
17.0M
    switch ( yy_act )
3624
17.0M
  { /* beginning of action switch */
3625
0
      case 0: /* must back up */
3626
      /* undo the effects of YY_DO_BEFORE_ACTION */
3627
0
      *yy_cp = (yy_hold_char);
3628
0
      yy_cp = (yy_last_accepting_cpos);
3629
0
      yy_current_state = (yy_last_accepting_state);
3630
0
      goto yy_find_action;
3631
3632
1.92M
case 1:
3633
/* rule 1 can match eol */
3634
1.92M
YY_RULE_SETUP
3635
1.92M
#line 79 "policy_scan.l"
3636
1.92M
{
3637
#if defined(__GNUC__) && __GNUC__ >= 8
3638
#pragma GCC diagnostic push
3639
#pragma GCC diagnostic ignored "-Wstringop-truncation"
3640
#endif
3641
1.92M
          strncpy(linebuf[lno], yytext+1, 255);
3642
#if defined(__GNUC__) && __GNUC__ >= 8
3643
#pragma GCC diagnostic pop
3644
#endif
3645
1.92M
          linebuf[lno][254] = 0;
3646
1.92M
          lno = 1 - lno;
3647
1.92M
          policydb_lineno++;
3648
1.92M
          if (source_lineno == ULONG_MAX)
3649
0
              yywarn("source line number overflow");
3650
1.92M
          else
3651
1.92M
              source_lineno++;
3652
1.92M
          yyless(1);
3653
1.92M
        }
3654
1.92M
  YY_BREAK
3655
0
case 2:
3656
0
#line 98 "policy_scan.l"
3657
538
case 3:
3658
538
YY_RULE_SETUP
3659
538
#line 98 "policy_scan.l"
3660
538
{ return(COMMON); }
3661
0
  YY_BREAK
3662
11
case 4:
3663
11
#line 100 "policy_scan.l"
3664
35.3k
case 5:
3665
35.3k
YY_RULE_SETUP
3666
35.3k
#line 100 "policy_scan.l"
3667
35.3k
{ return(CLASS); }
3668
0
  YY_BREAK
3669
0
case 6:
3670
0
#line 102 "policy_scan.l"
3671
1.57k
case 7:
3672
1.57k
YY_RULE_SETUP
3673
1.57k
#line 102 "policy_scan.l"
3674
1.57k
{ return(CONSTRAIN); }
3675
0
  YY_BREAK
3676
0
case 8:
3677
0
#line 104 "policy_scan.l"
3678
46.5k
case 9:
3679
46.5k
YY_RULE_SETUP
3680
46.5k
#line 104 "policy_scan.l"
3681
46.5k
{ return(VALIDATETRANS); }
3682
0
  YY_BREAK
3683
0
case 10:
3684
0
#line 106 "policy_scan.l"
3685
5
case 11:
3686
5
YY_RULE_SETUP
3687
5
#line 106 "policy_scan.l"
3688
5
{ return(INHERITS); }
3689
0
  YY_BREAK
3690
53
case 12:
3691
53
#line 108 "policy_scan.l"
3692
23.1k
case 13:
3693
23.1k
YY_RULE_SETUP
3694
23.1k
#line 108 "policy_scan.l"
3695
23.1k
{ return(SID); }
3696
0
  YY_BREAK
3697
18
case 14:
3698
18
#line 110 "policy_scan.l"
3699
237k
case 15:
3700
237k
YY_RULE_SETUP
3701
237k
#line 110 "policy_scan.l"
3702
237k
{ return(ROLE); }
3703
0
  YY_BREAK
3704
10
case 16:
3705
10
#line 112 "policy_scan.l"
3706
35.7k
case 17:
3707
35.7k
YY_RULE_SETUP
3708
35.7k
#line 112 "policy_scan.l"
3709
35.7k
{ return(ROLES); }
3710
0
  YY_BREAK
3711
0
case 18:
3712
0
#line 114 "policy_scan.l"
3713
480
case 19:
3714
480
YY_RULE_SETUP
3715
480
#line 114 "policy_scan.l"
3716
480
{ return(ROLEATTRIBUTE);}
3717
0
  YY_BREAK
3718
0
case 20:
3719
0
#line 116 "policy_scan.l"
3720
2.81k
case 21:
3721
2.81k
YY_RULE_SETUP
3722
2.81k
#line 116 "policy_scan.l"
3723
2.81k
{ return(ATTRIBUTE_ROLE);}
3724
0
  YY_BREAK
3725
1
case 22:
3726
1
#line 118 "policy_scan.l"
3727
11.4k
case 23:
3728
11.4k
YY_RULE_SETUP
3729
11.4k
#line 118 "policy_scan.l"
3730
11.4k
{ return(TYPES); }
3731
0
  YY_BREAK
3732
0
case 24:
3733
0
#line 120 "policy_scan.l"
3734
332
case 25:
3735
332
YY_RULE_SETUP
3736
332
#line 120 "policy_scan.l"
3737
332
{ return(TYPEALIAS); }
3738
0
  YY_BREAK
3739
0
case 26:
3740
0
#line 122 "policy_scan.l"
3741
384
case 27:
3742
384
YY_RULE_SETUP
3743
384
#line 122 "policy_scan.l"
3744
384
{ return(TYPEATTRIBUTE); }
3745
0
  YY_BREAK
3746
0
case 28:
3747
0
#line 124 "policy_scan.l"
3748
1.89k
case 29:
3749
1.89k
YY_RULE_SETUP
3750
1.89k
#line 124 "policy_scan.l"
3751
1.89k
{ return(TYPEBOUNDS); }
3752
0
  YY_BREAK
3753
72
case 30:
3754
72
#line 126 "policy_scan.l"
3755
12.6k
case 31:
3756
12.6k
YY_RULE_SETUP
3757
12.6k
#line 126 "policy_scan.l"
3758
12.6k
{ return(TYPE); }
3759
0
  YY_BREAK
3760
74
case 32:
3761
74
#line 128 "policy_scan.l"
3762
13.2k
case 33:
3763
13.2k
YY_RULE_SETUP
3764
13.2k
#line 128 "policy_scan.l"
3765
13.2k
{ return(BOOL); }
3766
0
  YY_BREAK
3767
0
case 34:
3768
0
#line 130 "policy_scan.l"
3769
161
case 35:
3770
161
YY_RULE_SETUP
3771
161
#line 130 "policy_scan.l"
3772
161
{ return(TUNABLE); }
3773
0
  YY_BREAK
3774
906
case 36:
3775
906
#line 132 "policy_scan.l"
3776
13.3k
case 37:
3777
13.3k
YY_RULE_SETUP
3778
13.3k
#line 132 "policy_scan.l"
3779
13.3k
{ return(IF); }
3780
0
  YY_BREAK
3781
1
case 38:
3782
1
#line 134 "policy_scan.l"
3783
2.44k
case 39:
3784
2.44k
YY_RULE_SETUP
3785
2.44k
#line 134 "policy_scan.l"
3786
2.44k
{ return(ELSE); }
3787
0
  YY_BREAK
3788
1
case 40:
3789
1
#line 136 "policy_scan.l"
3790
540
case 41:
3791
540
YY_RULE_SETUP
3792
540
#line 136 "policy_scan.l"
3793
540
{ return(ALIAS); }
3794
0
  YY_BREAK
3795
0
case 42:
3796
0
#line 138 "policy_scan.l"
3797
8.08k
case 43:
3798
8.08k
YY_RULE_SETUP
3799
8.08k
#line 138 "policy_scan.l"
3800
8.08k
{ return(ATTRIBUTE); }
3801
0
  YY_BREAK
3802
0
case 44:
3803
0
#line 140 "policy_scan.l"
3804
202
case 45:
3805
202
YY_RULE_SETUP
3806
202
#line 140 "policy_scan.l"
3807
202
{ return(EXPANDATTRIBUTE); }
3808
0
  YY_BREAK
3809
0
case 46:
3810
0
#line 142 "policy_scan.l"
3811
13.1k
case 47:
3812
13.1k
YY_RULE_SETUP
3813
13.1k
#line 142 "policy_scan.l"
3814
13.1k
{ return(TYPE_TRANSITION); }
3815
0
  YY_BREAK
3816
0
case 48:
3817
0
#line 144 "policy_scan.l"
3818
225
case 49:
3819
225
YY_RULE_SETUP
3820
225
#line 144 "policy_scan.l"
3821
225
{ return(TYPE_MEMBER); }
3822
0
  YY_BREAK
3823
0
case 50:
3824
0
#line 146 "policy_scan.l"
3825
6.81k
case 51:
3826
6.81k
YY_RULE_SETUP
3827
6.81k
#line 146 "policy_scan.l"
3828
6.81k
{ return(TYPE_CHANGE); }
3829
0
  YY_BREAK
3830
0
case 52:
3831
0
#line 148 "policy_scan.l"
3832
7.11k
case 53:
3833
7.11k
YY_RULE_SETUP
3834
7.11k
#line 148 "policy_scan.l"
3835
7.11k
{ return(ROLE_TRANSITION); }
3836
0
  YY_BREAK
3837
0
case 54:
3838
0
#line 150 "policy_scan.l"
3839
1.31k
case 55:
3840
1.31k
YY_RULE_SETUP
3841
1.31k
#line 150 "policy_scan.l"
3842
1.31k
{ return(RANGE_TRANSITION); }
3843
0
  YY_BREAK
3844
0
case 56:
3845
0
#line 152 "policy_scan.l"
3846
4.21k
case 57:
3847
4.21k
YY_RULE_SETUP
3848
4.21k
#line 152 "policy_scan.l"
3849
4.21k
{ return(SENSITIVITY); }
3850
0
  YY_BREAK
3851
0
case 58:
3852
0
#line 154 "policy_scan.l"
3853
3.31k
case 59:
3854
3.31k
YY_RULE_SETUP
3855
3.31k
#line 154 "policy_scan.l"
3856
3.31k
{ return(DOMINANCE); }
3857
0
  YY_BREAK
3858
0
case 60:
3859
0
#line 156 "policy_scan.l"
3860
3.64k
case 61:
3861
3.64k
YY_RULE_SETUP
3862
3.64k
#line 156 "policy_scan.l"
3863
3.64k
{ return(CATEGORY); }
3864
0
  YY_BREAK
3865
0
case 62:
3866
0
#line 158 "policy_scan.l"
3867
20.3k
case 63:
3868
20.3k
YY_RULE_SETUP
3869
20.3k
#line 158 "policy_scan.l"
3870
20.3k
{ return(LEVEL); }
3871
0
  YY_BREAK
3872
0
case 64:
3873
0
#line 160 "policy_scan.l"
3874
16.7k
case 65:
3875
16.7k
YY_RULE_SETUP
3876
16.7k
#line 160 "policy_scan.l"
3877
16.7k
{ return(RANGE); }
3878
0
  YY_BREAK
3879
0
case 66:
3880
0
#line 162 "policy_scan.l"
3881
32.7k
case 67:
3882
32.7k
YY_RULE_SETUP
3883
32.7k
#line 162 "policy_scan.l"
3884
32.7k
{ return(MLSCONSTRAIN); }
3885
0
  YY_BREAK
3886
0
case 68:
3887
0
#line 164 "policy_scan.l"
3888
132
case 69:
3889
132
YY_RULE_SETUP
3890
132
#line 164 "policy_scan.l"
3891
132
{ return(MLSVALIDATETRANS); }
3892
0
  YY_BREAK
3893
11
case 70:
3894
11
#line 166 "policy_scan.l"
3895
38.0k
case 71:
3896
38.0k
YY_RULE_SETUP
3897
38.0k
#line 166 "policy_scan.l"
3898
38.0k
{ return(USER); }
3899
0
  YY_BREAK
3900
0
case 72:
3901
0
#line 168 "policy_scan.l"
3902
3.26k
case 73:
3903
3.26k
YY_RULE_SETUP
3904
3.26k
#line 168 "policy_scan.l"
3905
3.26k
{ return(NEVERALLOW); }
3906
0
  YY_BREAK
3907
177
case 74:
3908
177
#line 170 "policy_scan.l"
3909
24.7k
case 75:
3910
24.7k
YY_RULE_SETUP
3911
24.7k
#line 170 "policy_scan.l"
3912
24.7k
{ return(ALLOW); }
3913
0
  YY_BREAK
3914
0
case 76:
3915
0
#line 172 "policy_scan.l"
3916
3.23k
case 77:
3917
3.23k
YY_RULE_SETUP
3918
3.23k
#line 172 "policy_scan.l"
3919
3.23k
{ return(AUDITALLOW); }
3920
0
  YY_BREAK
3921
0
case 78:
3922
0
#line 174 "policy_scan.l"
3923
214
case 79:
3924
214
YY_RULE_SETUP
3925
214
#line 174 "policy_scan.l"
3926
214
{ return(AUDITDENY); }
3927
0
  YY_BREAK
3928
0
case 80:
3929
0
#line 176 "policy_scan.l"
3930
10.9k
case 81:
3931
10.9k
YY_RULE_SETUP
3932
10.9k
#line 176 "policy_scan.l"
3933
10.9k
{ return(DONTAUDIT); }
3934
0
  YY_BREAK
3935
0
case 82:
3936
0
#line 178 "policy_scan.l"
3937
17.7k
case 83:
3938
17.7k
YY_RULE_SETUP
3939
17.7k
#line 178 "policy_scan.l"
3940
17.7k
{ return(ALLOWXPERM); }
3941
0
  YY_BREAK
3942
0
case 84:
3943
0
#line 180 "policy_scan.l"
3944
781
case 85:
3945
781
YY_RULE_SETUP
3946
781
#line 180 "policy_scan.l"
3947
781
{ return(AUDITALLOWXPERM); }
3948
0
  YY_BREAK
3949
0
case 86:
3950
0
#line 182 "policy_scan.l"
3951
6.76k
case 87:
3952
6.76k
YY_RULE_SETUP
3953
6.76k
#line 182 "policy_scan.l"
3954
6.76k
{ return(DONTAUDITXPERM); }
3955
0
  YY_BREAK
3956
0
case 88:
3957
0
#line 184 "policy_scan.l"
3958
1.37k
case 89:
3959
1.37k
YY_RULE_SETUP
3960
1.37k
#line 184 "policy_scan.l"
3961
1.37k
{ return(NEVERALLOWXPERM); }
3962
0
  YY_BREAK
3963
0
case 90:
3964
0
#line 186 "policy_scan.l"
3965
4.38k
case 91:
3966
4.38k
YY_RULE_SETUP
3967
4.38k
#line 186 "policy_scan.l"
3968
4.38k
{ return(SOURCE); }
3969
0
  YY_BREAK
3970
0
case 92:
3971
0
#line 188 "policy_scan.l"
3972
585
case 93:
3973
585
YY_RULE_SETUP
3974
585
#line 188 "policy_scan.l"
3975
585
{ return(TARGET); }
3976
0
  YY_BREAK
3977
0
case 94:
3978
0
#line 190 "policy_scan.l"
3979
23.3k
case 95:
3980
23.3k
YY_RULE_SETUP
3981
23.3k
#line 190 "policy_scan.l"
3982
23.3k
{ return(SAMEUSER);}
3983
0
  YY_BREAK
3984
136
case 96:
3985
136
YY_RULE_SETUP
3986
136
#line 191 "policy_scan.l"
3987
136
{ return(MODULE); }
3988
0
  YY_BREAK
3989
25.6k
case 97:
3990
25.6k
YY_RULE_SETUP
3991
25.6k
#line 192 "policy_scan.l"
3992
25.6k
{ return(REQUIRE); }
3993
0
  YY_BREAK
3994
141k
case 98:
3995
141k
YY_RULE_SETUP
3996
141k
#line 193 "policy_scan.l"
3997
141k
{ return(OPTIONAL); }
3998
0
  YY_BREAK
3999
66
case 99:
4000
66
#line 195 "policy_scan.l"
4001
34.3k
case 100:
4002
34.3k
YY_RULE_SETUP
4003
34.3k
#line 195 "policy_scan.l"
4004
34.3k
{ return(OR);}
4005
0
  YY_BREAK
4006
18
case 101:
4007
18
#line 197 "policy_scan.l"
4008
45.4k
case 102:
4009
45.4k
YY_RULE_SETUP
4010
45.4k
#line 197 "policy_scan.l"
4011
45.4k
{ return(AND);}
4012
0
  YY_BREAK
4013
66
case 103:
4014
66
#line 199 "policy_scan.l"
4015
380
case 104:
4016
380
YY_RULE_SETUP
4017
380
#line 199 "policy_scan.l"
4018
380
{ return(NOT);}
4019
0
  YY_BREAK
4020
3.39k
case 105:
4021
3.39k
#line 201 "policy_scan.l"
4022
3.42k
case 106:
4023
3.42k
YY_RULE_SETUP
4024
3.42k
#line 201 "policy_scan.l"
4025
3.42k
{ return(XOR); }
4026
0
  YY_BREAK
4027
124k
case 107:
4028
124k
#line 203 "policy_scan.l"
4029
128k
case 108:
4030
128k
YY_RULE_SETUP
4031
128k
#line 203 "policy_scan.l"
4032
128k
{ return(EQUALS);}
4033
0
  YY_BREAK
4034
191
case 109:
4035
191
#line 205 "policy_scan.l"
4036
192
case 110:
4037
192
YY_RULE_SETUP
4038
192
#line 205 "policy_scan.l"
4039
192
{ return(CTRUE); } 
4040
0
  YY_BREAK
4041
115
case 111:
4042
115
#line 207 "policy_scan.l"
4043
115
case 112:
4044
115
YY_RULE_SETUP
4045
115
#line 207 "policy_scan.l"
4046
115
{ return(CFALSE); } 
4047
0
  YY_BREAK
4048
3.70k
case 113:
4049
3.70k
#line 209 "policy_scan.l"
4050
3.70k
case 114:
4051
3.70k
YY_RULE_SETUP
4052
3.70k
#line 209 "policy_scan.l"
4053
3.70k
{ return(DOM);}
4054
0
  YY_BREAK
4055
675
case 115:
4056
675
#line 211 "policy_scan.l"
4057
675
case 116:
4058
675
YY_RULE_SETUP
4059
675
#line 211 "policy_scan.l"
4060
675
{ return(DOMBY);}
4061
0
  YY_BREAK
4062
0
case 117:
4063
0
#line 213 "policy_scan.l"
4064
3.54k
case 118:
4065
3.54k
YY_RULE_SETUP
4066
3.54k
#line 213 "policy_scan.l"
4067
3.54k
{ return(INCOMP);}
4068
0
  YY_BREAK
4069
1
case 119:
4070
1
#line 215 "policy_scan.l"
4071
1
case 120:
4072
1
YY_RULE_SETUP
4073
1
#line 215 "policy_scan.l"
4074
1
{ return(FSCON);}
4075
0
  YY_BREAK
4076
474
case 121:
4077
474
#line 217 "policy_scan.l"
4078
474
case 122:
4079
474
YY_RULE_SETUP
4080
474
#line 217 "policy_scan.l"
4081
474
{ return(IBPKEYCON);}
4082
0
  YY_BREAK
4083
85
case 123:
4084
85
#line 219 "policy_scan.l"
4085
85
case 124:
4086
85
YY_RULE_SETUP
4087
85
#line 219 "policy_scan.l"
4088
85
{ return(IBENDPORTCON);}
4089
0
  YY_BREAK
4090
63
case 125:
4091
63
#line 221 "policy_scan.l"
4092
63
case 126:
4093
63
YY_RULE_SETUP
4094
63
#line 221 "policy_scan.l"
4095
63
{ return(PORTCON);}
4096
0
  YY_BREAK
4097
698
case 127:
4098
698
#line 223 "policy_scan.l"
4099
698
case 128:
4100
698
YY_RULE_SETUP
4101
698
#line 223 "policy_scan.l"
4102
698
{ return(NETIFCON);}
4103
0
  YY_BREAK
4104
1.73k
case 129:
4105
1.73k
#line 225 "policy_scan.l"
4106
1.73k
case 130:
4107
1.73k
YY_RULE_SETUP
4108
1.73k
#line 225 "policy_scan.l"
4109
1.73k
{ return(NODECON);}
4110
0
  YY_BREAK
4111
45
case 131:
4112
45
#line 227 "policy_scan.l"
4113
45
case 132:
4114
45
YY_RULE_SETUP
4115
45
#line 227 "policy_scan.l"
4116
45
{ return(PIRQCON);}
4117
0
  YY_BREAK
4118
696
case 133:
4119
696
#line 229 "policy_scan.l"
4120
696
case 134:
4121
696
YY_RULE_SETUP
4122
696
#line 229 "policy_scan.l"
4123
696
{ return(IOMEMCON);}
4124
0
  YY_BREAK
4125
97
case 135:
4126
97
#line 231 "policy_scan.l"
4127
97
case 136:
4128
97
YY_RULE_SETUP
4129
97
#line 231 "policy_scan.l"
4130
97
{ return(IOPORTCON);}
4131
0
  YY_BREAK
4132
104
case 137:
4133
104
#line 233 "policy_scan.l"
4134
104
case 138:
4135
104
YY_RULE_SETUP
4136
104
#line 233 "policy_scan.l"
4137
104
{ return(PCIDEVICECON);}
4138
0
  YY_BREAK
4139
73
case 139:
4140
73
#line 235 "policy_scan.l"
4141
73
case 140:
4142
73
YY_RULE_SETUP
4143
73
#line 235 "policy_scan.l"
4144
73
{ return(DEVICETREECON);}
4145
0
  YY_BREAK
4146
102
case 141:
4147
102
#line 237 "policy_scan.l"
4148
102
case 142:
4149
102
YY_RULE_SETUP
4150
102
#line 237 "policy_scan.l"
4151
102
{ return(FSUSEXATTR);}
4152
0
  YY_BREAK
4153
12
case 143:
4154
12
#line 239 "policy_scan.l"
4155
12
case 144:
4156
12
YY_RULE_SETUP
4157
12
#line 239 "policy_scan.l"
4158
12
{ return(FSUSETASK);}
4159
0
  YY_BREAK
4160
31
case 145:
4161
31
#line 241 "policy_scan.l"
4162
31
case 146:
4163
31
YY_RULE_SETUP
4164
31
#line 241 "policy_scan.l"
4165
31
{ return(FSUSETRANS);}
4166
0
  YY_BREAK
4167
1.07k
case 147:
4168
1.07k
#line 243 "policy_scan.l"
4169
1.07k
case 148:
4170
1.07k
YY_RULE_SETUP
4171
1.07k
#line 243 "policy_scan.l"
4172
1.07k
{ return(GENFSCON);}
4173
0
  YY_BREAK
4174
8.17k
case 149:
4175
8.17k
#line 245 "policy_scan.l"
4176
13.2k
case 150:
4177
13.2k
YY_RULE_SETUP
4178
13.2k
#line 245 "policy_scan.l"
4179
13.2k
{ return(R1); }
4180
0
  YY_BREAK
4181
10.2k
case 151:
4182
10.2k
#line 247 "policy_scan.l"
4183
25.9k
case 152:
4184
25.9k
YY_RULE_SETUP
4185
25.9k
#line 247 "policy_scan.l"
4186
25.9k
{ return(R2); }
4187
0
  YY_BREAK
4188
1.64k
case 153:
4189
1.64k
#line 249 "policy_scan.l"
4190
10.0k
case 154:
4191
10.0k
YY_RULE_SETUP
4192
10.0k
#line 249 "policy_scan.l"
4193
10.0k
{ return(R3); }
4194
0
  YY_BREAK
4195
451
case 155:
4196
451
#line 251 "policy_scan.l"
4197
931
case 156:
4198
931
YY_RULE_SETUP
4199
931
#line 251 "policy_scan.l"
4200
931
{ return(U1); }
4201
0
  YY_BREAK
4202
545
case 157:
4203
545
#line 253 "policy_scan.l"
4204
1.77k
case 158:
4205
1.77k
YY_RULE_SETUP
4206
1.77k
#line 253 "policy_scan.l"
4207
1.77k
{ return(U2); }
4208
0
  YY_BREAK
4209
499
case 159:
4210
499
#line 255 "policy_scan.l"
4211
1.20k
case 160:
4212
1.20k
YY_RULE_SETUP
4213
1.20k
#line 255 "policy_scan.l"
4214
1.20k
{ return(U3); }
4215
0
  YY_BREAK
4216
37.1k
case 161:
4217
37.1k
#line 257 "policy_scan.l"
4218
37.3k
case 162:
4219
37.3k
YY_RULE_SETUP
4220
37.3k
#line 257 "policy_scan.l"
4221
37.3k
{ return(T1); }
4222
0
  YY_BREAK
4223
35.2k
case 163:
4224
35.2k
#line 259 "policy_scan.l"
4225
35.9k
case 164:
4226
35.9k
YY_RULE_SETUP
4227
35.9k
#line 259 "policy_scan.l"
4228
35.9k
{ return(T2); }
4229
0
  YY_BREAK
4230
234
case 165:
4231
234
#line 261 "policy_scan.l"
4232
718
case 166:
4233
718
YY_RULE_SETUP
4234
718
#line 261 "policy_scan.l"
4235
718
{ return(T3); }
4236
0
  YY_BREAK
4237
18.5k
case 167:
4238
18.5k
#line 263 "policy_scan.l"
4239
19.7k
case 168:
4240
19.7k
YY_RULE_SETUP
4241
19.7k
#line 263 "policy_scan.l"
4242
19.7k
{ return(L1); }
4243
0
  YY_BREAK
4244
24.1k
case 169:
4245
24.1k
#line 265 "policy_scan.l"
4246
28.3k
case 170:
4247
28.3k
YY_RULE_SETUP
4248
28.3k
#line 265 "policy_scan.l"
4249
28.3k
{ return(L2); }
4250
0
  YY_BREAK
4251
19.6k
case 171:
4252
19.6k
#line 267 "policy_scan.l"
4253
27.0k
case 172:
4254
27.0k
YY_RULE_SETUP
4255
27.0k
#line 267 "policy_scan.l"
4256
27.0k
{ return(H1); }
4257
0
  YY_BREAK
4258
16.8k
case 173:
4259
16.8k
#line 269 "policy_scan.l"
4260
17.4k
case 174:
4261
17.4k
YY_RULE_SETUP
4262
17.4k
#line 269 "policy_scan.l"
4263
17.4k
{ return(H2); }
4264
0
  YY_BREAK
4265
885
case 175:
4266
885
#line 271 "policy_scan.l"
4267
885
case 176:
4268
885
YY_RULE_SETUP
4269
885
#line 271 "policy_scan.l"
4270
885
{ return(POLICYCAP); }
4271
0
  YY_BREAK
4272
741
case 177:
4273
741
#line 273 "policy_scan.l"
4274
741
case 178:
4275
741
YY_RULE_SETUP
4276
741
#line 273 "policy_scan.l"
4277
741
{ return(PERMISSIVE); }
4278
0
  YY_BREAK
4279
41
case 179:
4280
41
#line 275 "policy_scan.l"
4281
41
case 180:
4282
41
YY_RULE_SETUP
4283
41
#line 275 "policy_scan.l"
4284
41
{ return(NEVERAUDIT); }
4285
0
  YY_BREAK
4286
1.18k
case 181:
4287
1.18k
#line 277 "policy_scan.l"
4288
1.18k
case 182:
4289
1.18k
YY_RULE_SETUP
4290
1.18k
#line 277 "policy_scan.l"
4291
1.18k
{ return(DEFAULT_USER); }
4292
0
  YY_BREAK
4293
3.08k
case 183:
4294
3.08k
#line 279 "policy_scan.l"
4295
3.08k
case 184:
4296
3.08k
YY_RULE_SETUP
4297
3.08k
#line 279 "policy_scan.l"
4298
3.08k
{ return(DEFAULT_ROLE); }
4299
0
  YY_BREAK
4300
420
case 185:
4301
420
#line 281 "policy_scan.l"
4302
420
case 186:
4303
420
YY_RULE_SETUP
4304
420
#line 281 "policy_scan.l"
4305
420
{ return(DEFAULT_TYPE); }
4306
0
  YY_BREAK
4307
39
case 187:
4308
39
#line 283 "policy_scan.l"
4309
39
case 188:
4310
39
YY_RULE_SETUP
4311
39
#line 283 "policy_scan.l"
4312
39
{ return(DEFAULT_RANGE); }
4313
0
  YY_BREAK
4314
1
case 189:
4315
1
#line 285 "policy_scan.l"
4316
1
case 190:
4317
1
YY_RULE_SETUP
4318
1
#line 285 "policy_scan.l"
4319
1
{ return(LOW_HIGH); }
4320
0
  YY_BREAK
4321
2
case 191:
4322
2
#line 287 "policy_scan.l"
4323
2
case 192:
4324
2
YY_RULE_SETUP
4325
2
#line 287 "policy_scan.l"
4326
2
{ return(HIGH); }
4327
0
  YY_BREAK
4328
1
case 193:
4329
1
#line 289 "policy_scan.l"
4330
2
case 194:
4331
2
YY_RULE_SETUP
4332
2
#line 289 "policy_scan.l"
4333
2
{ return(LOW); }
4334
0
  YY_BREAK
4335
33
case 195:
4336
33
#line 291 "policy_scan.l"
4337
33
case 196:
4338
33
YY_RULE_SETUP
4339
33
#line 291 "policy_scan.l"
4340
33
{ return(GLBLUB); }
4341
0
  YY_BREAK
4342
716
case 197:
4343
716
YY_RULE_SETUP
4344
716
#line 292 "policy_scan.l"
4345
716
{ return(PATH); }
4346
0
  YY_BREAK
4347
427
case 198:
4348
427
YY_RULE_SETUP
4349
427
#line 293 "policy_scan.l"
4350
427
{ return(QPATH); }
4351
0
  YY_BREAK
4352
8.85k
case 199:
4353
8.85k
YY_RULE_SETUP
4354
8.85k
#line 294 "policy_scan.l"
4355
8.85k
{ return(FILENAME); }
4356
0
  YY_BREAK
4357
1.88M
case 200:
4358
1.88M
YY_RULE_SETUP
4359
1.88M
#line 295 "policy_scan.l"
4360
1.88M
{ return(IDENTIFIER); }
4361
0
  YY_BREAK
4362
29.5k
case 201:
4363
29.5k
YY_RULE_SETUP
4364
29.5k
#line 296 "policy_scan.l"
4365
29.5k
{ return(NUMBER); }
4366
0
  YY_BREAK
4367
757
case 202:
4368
757
YY_RULE_SETUP
4369
757
#line 297 "policy_scan.l"
4370
757
{ return(FILESYSTEM); }
4371
0
  YY_BREAK
4372
74
case 203:
4373
74
YY_RULE_SETUP
4374
74
#line 298 "policy_scan.l"
4375
74
{ return(IPV4_CIDR); }
4376
0
  YY_BREAK
4377
196
case 204:
4378
196
YY_RULE_SETUP
4379
196
#line 299 "policy_scan.l"
4380
196
{ return(IPV4_ADDR); }
4381
0
  YY_BREAK
4382
1.05k
case 205:
4383
1.05k
YY_RULE_SETUP
4384
1.05k
#line 300 "policy_scan.l"
4385
1.05k
{ return(IPV6_ADDR); }
4386
0
  YY_BREAK
4387
1.26k
case 206:
4388
1.26k
YY_RULE_SETUP
4389
1.26k
#line 301 "policy_scan.l"
4390
1.26k
{ return(IPV6_CIDR); }
4391
0
  YY_BREAK
4392
6
case 207:
4393
6
YY_RULE_SETUP
4394
6
#line 302 "policy_scan.l"
4395
6
{ return(VERSION_IDENTIFIER); }
4396
0
  YY_BREAK
4397
84
case 208:
4398
84
YY_RULE_SETUP
4399
84
#line 303 "policy_scan.l"
4400
84
{ return(NETIFNAME); }
4401
0
  YY_BREAK
4402
0
case 209:
4403
0
YY_RULE_SETUP
4404
0
#line 304 "policy_scan.l"
4405
0
{ set_source_line_and_file(yytext+6); }
4406
0
  YY_BREAK
4407
0
case 210:
4408
0
YY_RULE_SETUP
4409
0
#line 305 "policy_scan.l"
4410
0
{
4411
0
          errno = 0;
4412
0
          source_lineno = strtoul(yytext+6, NULL, 10) - 1;
4413
0
          if (errno) {
4414
0
            yywarn("source line number too big");
4415
0
          }
4416
0
        }
4417
0
  YY_BREAK
4418
172k
case 211:
4419
172k
YY_RULE_SETUP
4420
172k
#line 312 "policy_scan.l"
4421
172k
{ /* delete comments */ }
4422
172k
  YY_BREAK
4423
934k
case 212:
4424
934k
YY_RULE_SETUP
4425
934k
#line 313 "policy_scan.l"
4426
934k
{ /* delete whitespace */ }
4427
934k
  YY_BREAK
4428
5.22k
case 213:
4429
5.22k
YY_RULE_SETUP
4430
5.22k
#line 314 "policy_scan.l"
4431
5.22k
{ return(EQUALS); }
4432
0
  YY_BREAK
4433
15.0k
case 214:
4434
15.0k
YY_RULE_SETUP
4435
15.0k
#line 315 "policy_scan.l"
4436
15.0k
{ return (NOTEQUAL); }
4437
0
  YY_BREAK
4438
375
case 215:
4439
375
YY_RULE_SETUP
4440
375
#line 316 "policy_scan.l"
4441
375
{ return (AND); }
4442
0
  YY_BREAK
4443
77
case 216:
4444
77
YY_RULE_SETUP
4445
77
#line 317 "policy_scan.l"
4446
77
{ return (OR); }
4447
0
  YY_BREAK
4448
2.06M
case 217:
4449
2.06M
YY_RULE_SETUP
4450
2.06M
#line 318 "policy_scan.l"
4451
2.06M
{ return (NOT); }
4452
0
  YY_BREAK
4453
207k
case 218:
4454
207k
YY_RULE_SETUP
4455
207k
#line 319 "policy_scan.l"
4456
207k
{ return (XOR); }
4457
0
  YY_BREAK
4458
468k
case 219:
4459
468k
#line 321 "policy_scan.l"
4460
602k
case 220:
4461
602k
#line 322 "policy_scan.l"
4462
5.96M
case 221:
4463
5.96M
#line 323 "policy_scan.l"
4464
5.97M
case 222:
4465
5.97M
#line 324 "policy_scan.l"
4466
5.98M
case 223:
4467
5.98M
#line 325 "policy_scan.l"
4468
6.27M
case 224:
4469
6.27M
#line 326 "policy_scan.l"
4470
6.52M
case 225:
4471
6.52M
#line 327 "policy_scan.l"
4472
6.52M
case 226:
4473
6.52M
#line 328 "policy_scan.l"
4474
6.57M
case 227:
4475
6.57M
#line 329 "policy_scan.l"
4476
6.57M
case 228:
4477
6.57M
#line 330 "policy_scan.l"
4478
6.57M
case 229:
4479
6.57M
#line 331 "policy_scan.l"
4480
6.65M
case 230:
4481
6.65M
#line 332 "policy_scan.l"
4482
6.65M
case 231:
4483
6.65M
YY_RULE_SETUP
4484
6.65M
#line 332 "policy_scan.l"
4485
6.65M
{ return(yytext[0]); } 
4486
0
  YY_BREAK
4487
202
case 232:
4488
202
YY_RULE_SETUP
4489
202
#line 333 "policy_scan.l"
4490
202
{ yyerror("unrecognized character");
4491
/* Available since bison 3.6, avoids duplicate error message */
4492
#ifdef YYerror
4493
          return YYerror;
4494
#else
4495
202
          return INVALID_CHAR;
4496
6.65M
#endif
4497
6.65M
        }
4498
0
  YY_BREAK
4499
0
case 233:
4500
0
YY_RULE_SETUP
4501
0
#line 341 "policy_scan.l"
4502
0
ECHO;
4503
0
  YY_BREAK
4504
0
#line 4505 "lex.yy.c"
4505
7.96k
case YY_STATE_EOF(INITIAL):
4506
7.96k
  yyterminate();
4507
4508
1.82M
  case YY_END_OF_BUFFER:
4509
1.82M
    {
4510
    /* Amount of text matched not including the EOB char. */
4511
1.82M
    int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
4512
4513
    /* Undo the effects of YY_DO_BEFORE_ACTION. */
4514
1.82M
    *yy_cp = (yy_hold_char);
4515
1.82M
    YY_RESTORE_YY_MORE_OFFSET
4516
4517
1.82M
    if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
4518
12.6k
      {
4519
      /* We're scanning a new file or input source.  It's
4520
       * possible that this happened because the user
4521
       * just pointed yyin at a new source and called
4522
       * yylex().  If so, then we have to assure
4523
       * consistency between YY_CURRENT_BUFFER and our
4524
       * globals.  Here is the right place to do so, because
4525
       * this is the first action (other than possibly a
4526
       * back-up) that will match for the new input source.
4527
       */
4528
12.6k
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4529
12.6k
      YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
4530
12.6k
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
4531
12.6k
      }
4532
4533
    /* Note that here we test for yy_c_buf_p "<=" to the position
4534
     * of the first EOB in the buffer, since yy_c_buf_p will
4535
     * already have been incremented past the NUL character
4536
     * (since all states make transitions on EOB to the
4537
     * end-of-buffer state).  Contrast this with the test
4538
     * in input().
4539
     */
4540
1.82M
    if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4541
1.77M
      { /* This was really a NUL. */
4542
1.77M
      yy_state_type yy_next_state;
4543
4544
1.77M
      (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
4545
4546
1.77M
      yy_current_state = yy_get_previous_state(  );
4547
4548
      /* Okay, we're now positioned to make the NUL
4549
       * transition.  We couldn't have
4550
       * yy_get_previous_state() go ahead and do it
4551
       * for us because it doesn't know how to deal
4552
       * with the possibility of jamming (and we don't
4553
       * want to build jamming into it because then it
4554
       * will run more slowly).
4555
       */
4556
4557
1.77M
      yy_next_state = yy_try_NUL_trans( yy_current_state );
4558
4559
1.77M
      yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4560
4561
1.77M
      if ( yy_next_state )
4562
1.77M
        {
4563
        /* Consume the NUL. */
4564
1.77M
        yy_cp = ++(yy_c_buf_p);
4565
1.77M
        yy_current_state = yy_next_state;
4566
1.77M
        goto yy_match;
4567
1.77M
        }
4568
4569
113
      else
4570
113
        {
4571
113
        yy_cp = (yy_c_buf_p);
4572
113
        goto yy_find_action;
4573
113
        }
4574
1.77M
      }
4575
4576
44.9k
    else switch ( yy_get_next_buffer(  ) )
4577
44.9k
      {
4578
7.96k
      case EOB_ACT_END_OF_FILE:
4579
7.96k
        {
4580
7.96k
        (yy_did_buffer_switch_on_eof) = 0;
4581
4582
7.96k
        if ( yywrap(  ) )
4583
7.96k
          {
4584
          /* Note: because we've taken care in
4585
           * yy_get_next_buffer() to have set up
4586
           * yytext, we can now set up
4587
           * yy_c_buf_p so that if some total
4588
           * hoser (like flex itself) wants to
4589
           * call the scanner after we return the
4590
           * YY_NULL, it'll still work - another
4591
           * YY_NULL will get returned.
4592
           */
4593
7.96k
          (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
4594
4595
7.96k
          yy_act = YY_STATE_EOF(YY_START);
4596
7.96k
          goto do_action;
4597
7.96k
          }
4598
4599
0
        else
4600
0
          {
4601
0
          if ( ! (yy_did_buffer_switch_on_eof) )
4602
0
            YY_NEW_FILE;
4603
0
          }
4604
0
        break;
4605
7.96k
        }
4606
4607
16.1k
      case EOB_ACT_CONTINUE_SCAN:
4608
16.1k
        (yy_c_buf_p) =
4609
16.1k
          (yytext_ptr) + yy_amount_of_matched_text;
4610
4611
16.1k
        yy_current_state = yy_get_previous_state(  );
4612
4613
16.1k
        yy_cp = (yy_c_buf_p);
4614
16.1k
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4615
16.1k
        goto yy_match;
4616
4617
20.8k
      case EOB_ACT_LAST_MATCH:
4618
20.8k
        (yy_c_buf_p) =
4619
20.8k
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
4620
4621
20.8k
        yy_current_state = yy_get_previous_state(  );
4622
4623
20.8k
        yy_cp = (yy_c_buf_p);
4624
20.8k
        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4625
20.8k
        goto yy_find_action;
4626
44.9k
      }
4627
0
    break;
4628
1.82M
    }
4629
4630
0
  default:
4631
0
    YY_FATAL_ERROR(
4632
17.0M
      "fatal flex scanner internal error--no action found" );
4633
17.0M
  } /* end of action switch */
4634
17.0M
    } /* end of scanning one token */
4635
12.2M
  } /* end of user's declarations */
4636
12.2M
} /* end of yylex */
4637
4638
/* yy_get_next_buffer - try to read in a new buffer
4639
 *
4640
 * Returns a code representing an action:
4641
 *  EOB_ACT_LAST_MATCH -
4642
 *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
4643
 *  EOB_ACT_END_OF_FILE - end of file
4644
 */
4645
static int yy_get_next_buffer (void)
4646
44.9k
{
4647
44.9k
      char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
4648
44.9k
  char *source = (yytext_ptr);
4649
44.9k
  int number_to_move, i;
4650
44.9k
  int ret_val;
4651
4652
44.9k
  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4653
0
    YY_FATAL_ERROR(
4654
44.9k
    "fatal flex scanner internal error--end of buffer missed" );
4655
4656
44.9k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4657
0
    { /* Don't try to fill the buffer, so this is an EOF. */
4658
0
    if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
4659
0
      {
4660
      /* We matched a single character, the EOB, so
4661
       * treat this as a final EOF.
4662
       */
4663
0
      return EOB_ACT_END_OF_FILE;
4664
0
      }
4665
4666
0
    else
4667
0
      {
4668
      /* We matched some text prior to the EOB, first
4669
       * process it.
4670
       */
4671
0
      return EOB_ACT_LAST_MATCH;
4672
0
      }
4673
0
    }
4674
4675
  /* Try to read more data. */
4676
4677
  /* First move last chars to start of buffer. */
4678
44.9k
  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
4679
4680
2.46M
  for ( i = 0; i < number_to_move; ++i )
4681
2.42M
    *(dest++) = *(source++);
4682
4683
44.9k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4684
    /* don't do the read, it's not guaranteed to return an EOF,
4685
     * just force an EOF
4686
     */
4687
17.8k
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4688
4689
27.0k
  else
4690
27.0k
    {
4691
27.0k
      int num_to_read =
4692
27.0k
      YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4693
4694
27.0k
    while ( num_to_read <= 0 )
4695
0
      { /* Not enough room in the buffer - grow it. */
4696
4697
      /* just a shorter name for the current buffer */
4698
0
      YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
4699
4700
0
      int yy_c_buf_p_offset =
4701
0
        (int) ((yy_c_buf_p) - b->yy_ch_buf);
4702
4703
0
      if ( b->yy_is_our_buffer )
4704
0
        {
4705
0
        int new_size = b->yy_buf_size * 2;
4706
4707
0
        if ( new_size <= 0 )
4708
0
          b->yy_buf_size += b->yy_buf_size / 8;
4709
0
        else
4710
0
          b->yy_buf_size *= 2;
4711
4712
0
        b->yy_ch_buf = (char *)
4713
          /* Include room in for 2 EOB chars. */
4714
0
          yyrealloc( (void *) b->yy_ch_buf,
4715
0
               (yy_size_t) (b->yy_buf_size + 2)  );
4716
0
        }
4717
0
      else
4718
        /* Can't grow it, we don't own it. */
4719
0
        b->yy_ch_buf = NULL;
4720
4721
0
      if ( ! b->yy_ch_buf )
4722
0
        YY_FATAL_ERROR(
4723
0
        "fatal error - scanner input buffer overflow" );
4724
4725
0
      (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4726
4727
0
      num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4728
0
            number_to_move - 1;
4729
4730
0
      }
4731
4732
27.0k
    if ( num_to_read > YY_READ_BUF_SIZE )
4733
27.0k
      num_to_read = YY_READ_BUF_SIZE;
4734
4735
    /* Read in more data. */
4736
27.0k
    YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4737
27.0k
      (yy_n_chars), num_to_read );
4738
4739
27.0k
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4740
27.0k
    }
4741
4742
44.9k
  if ( (yy_n_chars) == 0 )
4743
28.7k
    {
4744
28.7k
    if ( number_to_move == YY_MORE_ADJ )
4745
7.96k
      {
4746
7.96k
      ret_val = EOB_ACT_END_OF_FILE;
4747
7.96k
      yyrestart( yyin  );
4748
7.96k
      }
4749
4750
20.8k
    else
4751
20.8k
      {
4752
20.8k
      ret_val = EOB_ACT_LAST_MATCH;
4753
20.8k
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4754
20.8k
        YY_BUFFER_EOF_PENDING;
4755
20.8k
      }
4756
28.7k
    }
4757
4758
16.1k
  else
4759
16.1k
    ret_val = EOB_ACT_CONTINUE_SCAN;
4760
4761
44.9k
  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4762
    /* Extend the array by 50%, plus the number we really need. */
4763
0
    int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4764
0
    YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
4765
0
      (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
4766
0
    if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4767
0
      YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4768
    /* "- 2" to take care of EOB's */
4769
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
4770
0
  }
4771
4772
44.9k
  (yy_n_chars) += number_to_move;
4773
44.9k
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
4774
44.9k
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
4775
4776
44.9k
  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4777
4778
44.9k
  return ret_val;
4779
44.9k
}
4780
4781
/* yy_get_previous_state - get the state just before the EOB char was reached */
4782
4783
    static yy_state_type yy_get_previous_state (void)
4784
1.81M
{
4785
1.81M
  yy_state_type yy_current_state;
4786
1.81M
  char *yy_cp;
4787
    
4788
1.81M
  yy_current_state = (yy_start);
4789
4790
340M
  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4791
338M
    {
4792
338M
    YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4793
338M
    if ( yy_accept[yy_current_state] )
4794
329M
      {
4795
329M
      (yy_last_accepting_state) = yy_current_state;
4796
329M
      (yy_last_accepting_cpos) = yy_cp;
4797
329M
      }
4798
676M
    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4799
337M
      {
4800
337M
      yy_current_state = (int) yy_def[yy_current_state];
4801
337M
      if ( yy_current_state >= 1321 )
4802
337M
        yy_c = yy_meta[yy_c];
4803
337M
      }
4804
338M
    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4805
338M
    }
4806
4807
1.81M
  return yy_current_state;
4808
1.81M
}
4809
4810
/* yy_try_NUL_trans - try to make a transition on the NUL character
4811
 *
4812
 * synopsis
4813
 *  next_state = yy_try_NUL_trans( current_state );
4814
 */
4815
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
4816
1.77M
{
4817
1.77M
  int yy_is_jam;
4818
1.77M
      char *yy_cp = (yy_c_buf_p);
4819
4820
1.77M
  YY_CHAR yy_c = 1;
4821
1.77M
  if ( yy_accept[yy_current_state] )
4822
1.77M
    {
4823
1.77M
    (yy_last_accepting_state) = yy_current_state;
4824
1.77M
    (yy_last_accepting_cpos) = yy_cp;
4825
1.77M
    }
4826
3.55M
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4827
1.77M
    {
4828
1.77M
    yy_current_state = (int) yy_def[yy_current_state];
4829
1.77M
    if ( yy_current_state >= 1321 )
4830
1.77M
      yy_c = yy_meta[yy_c];
4831
1.77M
    }
4832
1.77M
  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4833
1.77M
  yy_is_jam = (yy_current_state == 1320);
4834
4835
1.77M
    return yy_is_jam ? 0 : yy_current_state;
4836
1.77M
}
4837
4838
#ifndef YY_NO_UNPUT
4839
4840
#endif
4841
4842
#ifndef YY_NO_INPUT
4843
#ifdef __cplusplus
4844
    static int yyinput (void)
4845
#else
4846
    static int input  (void)
4847
#endif
4848
4849
{
4850
  int c;
4851
    
4852
  *(yy_c_buf_p) = (yy_hold_char);
4853
4854
  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4855
    {
4856
    /* yy_c_buf_p now points to the character we want to return.
4857
     * If this occurs *before* the EOB characters, then it's a
4858
     * valid NUL; if not, then we've hit the end of the buffer.
4859
     */
4860
    if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4861
      /* This was really a NUL. */
4862
      *(yy_c_buf_p) = '\0';
4863
4864
    else
4865
      { /* need more input */
4866
      int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
4867
      ++(yy_c_buf_p);
4868
4869
      switch ( yy_get_next_buffer(  ) )
4870
        {
4871
        case EOB_ACT_LAST_MATCH:
4872
          /* This happens because yy_g_n_b()
4873
           * sees that we've accumulated a
4874
           * token and flags that we need to
4875
           * try matching the token before
4876
           * proceeding.  But for input(),
4877
           * there's no matching to consider.
4878
           * So convert the EOB_ACT_LAST_MATCH
4879
           * to EOB_ACT_END_OF_FILE.
4880
           */
4881
4882
          /* Reset buffer status. */
4883
          yyrestart( yyin );
4884
4885
          /*FALLTHROUGH*/
4886
4887
        case EOB_ACT_END_OF_FILE:
4888
          {
4889
          if ( yywrap(  ) )
4890
            return 0;
4891
4892
          if ( ! (yy_did_buffer_switch_on_eof) )
4893
            YY_NEW_FILE;
4894
#ifdef __cplusplus
4895
          return yyinput();
4896
#else
4897
          return input();
4898
#endif
4899
          }
4900
4901
        case EOB_ACT_CONTINUE_SCAN:
4902
          (yy_c_buf_p) = (yytext_ptr) + offset;
4903
          break;
4904
        }
4905
      }
4906
    }
4907
4908
  c = *(unsigned char *) (yy_c_buf_p);  /* cast for 8-bit char's */
4909
  *(yy_c_buf_p) = '\0'; /* preserve yytext */
4910
  (yy_hold_char) = *++(yy_c_buf_p);
4911
4912
  return c;
4913
}
4914
#endif  /* ifndef YY_NO_INPUT */
4915
4916
/** Immediately switch to a different input stream.
4917
 * @param input_file A readable stream.
4918
 * 
4919
 * @note This function does not reset the start condition to @c INITIAL .
4920
 */
4921
    void yyrestart  (FILE * input_file )
4922
12.4k
{
4923
    
4924
12.4k
  if ( ! YY_CURRENT_BUFFER ){
4925
0
        yyensure_buffer_stack ();
4926
0
    YY_CURRENT_BUFFER_LVALUE =
4927
0
            yy_create_buffer( yyin, YY_BUF_SIZE );
4928
0
  }
4929
4930
12.4k
  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
4931
12.4k
  yy_load_buffer_state(  );
4932
12.4k
}
4933
4934
/** Switch to a different input buffer.
4935
 * @param new_buffer The new input buffer.
4936
 * 
4937
 */
4938
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
4939
0
{
4940
    
4941
  /* TODO. We should be able to replace this entire function body
4942
   * with
4943
   *    yypop_buffer_state();
4944
   *    yypush_buffer_state(new_buffer);
4945
     */
4946
0
  yyensure_buffer_stack ();
4947
0
  if ( YY_CURRENT_BUFFER == new_buffer )
4948
0
    return;
4949
4950
0
  if ( YY_CURRENT_BUFFER )
4951
0
    {
4952
    /* Flush out information for old buffer. */
4953
0
    *(yy_c_buf_p) = (yy_hold_char);
4954
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4955
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4956
0
    }
4957
4958
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
4959
0
  yy_load_buffer_state(  );
4960
4961
  /* We don't actually know whether we did this switch during
4962
   * EOF (yywrap()) processing, but the only time this flag
4963
   * is looked at is after yywrap() is called, so it's safe
4964
   * to go ahead and always set it.
4965
   */
4966
0
  (yy_did_buffer_switch_on_eof) = 1;
4967
0
}
4968
4969
static void yy_load_buffer_state  (void)
4970
33.0k
{
4971
33.0k
      (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4972
33.0k
  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4973
33.0k
  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4974
33.0k
  (yy_hold_char) = *(yy_c_buf_p);
4975
33.0k
}
4976
4977
/** Allocate and initialize an input buffer state.
4978
 * @param file A readable stream.
4979
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4980
 * 
4981
 * @return the allocated buffer state.
4982
 */
4983
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
4984
8.12k
{
4985
8.12k
  YY_BUFFER_STATE b;
4986
    
4987
8.12k
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
4988
8.12k
  if ( ! b )
4989
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4990
4991
8.12k
  b->yy_buf_size = size;
4992
4993
  /* yy_ch_buf has to be 2 characters longer than the size given because
4994
   * we need to put in 2 end-of-buffer characters.
4995
   */
4996
8.12k
  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
4997
8.12k
  if ( ! b->yy_ch_buf )
4998
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4999
5000
8.12k
  b->yy_is_our_buffer = 1;
5001
5002
8.12k
  yy_init_buffer( b, file );
5003
5004
8.12k
  return b;
5005
8.12k
}
5006
5007
/** Destroy the buffer.
5008
 * @param b a buffer created with yy_create_buffer()
5009
 * 
5010
 */
5011
    void yy_delete_buffer (YY_BUFFER_STATE  b )
5012
8.12k
{
5013
    
5014
8.12k
  if ( ! b )
5015
0
    return;
5016
5017
8.12k
  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
5018
8.12k
    YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
5019
5020
8.12k
  if ( b->yy_is_our_buffer )
5021
8.12k
    yyfree( (void *) b->yy_ch_buf  );
5022
5023
8.12k
  yyfree( (void *) b  );
5024
8.12k
}
5025
5026
/* Initializes or reinitializes a buffer.
5027
 * This function is sometimes called more than once on the same buffer,
5028
 * such as during a yyrestart() or at EOF.
5029
 */
5030
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
5031
5032
20.5k
{
5033
20.5k
  int oerrno = errno;
5034
    
5035
20.5k
  yy_flush_buffer( b );
5036
5037
20.5k
  b->yy_input_file = file;
5038
20.5k
  b->yy_fill_buffer = 1;
5039
5040
    /* If b is the current buffer, then yy_init_buffer was _probably_
5041
     * called from yyrestart() or through yy_get_next_buffer.
5042
     * In that case, we don't want to reset the lineno or column.
5043
     */
5044
20.5k
    if (b != YY_CURRENT_BUFFER){
5045
8.12k
        b->yy_bs_lineno = 1;
5046
8.12k
        b->yy_bs_column = 0;
5047
8.12k
    }
5048
5049
20.5k
        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
5050
    
5051
20.5k
  errno = oerrno;
5052
20.5k
}
5053
5054
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
5055
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
5056
 * 
5057
 */
5058
    void yy_flush_buffer (YY_BUFFER_STATE  b )
5059
20.5k
{
5060
20.5k
      if ( ! b )
5061
0
    return;
5062
5063
20.5k
  b->yy_n_chars = 0;
5064
5065
  /* We always need two end-of-buffer characters.  The first causes
5066
   * a transition to the end-of-buffer state.  The second causes
5067
   * a jam in that state.
5068
   */
5069
20.5k
  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
5070
20.5k
  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
5071
5072
20.5k
  b->yy_buf_pos = &b->yy_ch_buf[0];
5073
5074
20.5k
  b->yy_at_bol = 1;
5075
20.5k
  b->yy_buffer_status = YY_BUFFER_NEW;
5076
5077
20.5k
  if ( b == YY_CURRENT_BUFFER )
5078
12.4k
    yy_load_buffer_state(  );
5079
20.5k
}
5080
5081
/** Pushes the new state onto the stack. The new state becomes
5082
 *  the current state. This function will allocate the stack
5083
 *  if necessary.
5084
 *  @param new_buffer The new state.
5085
 *  
5086
 */
5087
void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
5088
0
{
5089
0
      if (new_buffer == NULL)
5090
0
    return;
5091
5092
0
  yyensure_buffer_stack();
5093
5094
  /* This block is copied from yy_switch_to_buffer. */
5095
0
  if ( YY_CURRENT_BUFFER )
5096
0
    {
5097
    /* Flush out information for old buffer. */
5098
0
    *(yy_c_buf_p) = (yy_hold_char);
5099
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
5100
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5101
0
    }
5102
5103
  /* Only push if top exists. Otherwise, replace top. */
5104
0
  if (YY_CURRENT_BUFFER)
5105
0
    (yy_buffer_stack_top)++;
5106
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
5107
5108
  /* copied from yy_switch_to_buffer. */
5109
0
  yy_load_buffer_state(  );
5110
0
  (yy_did_buffer_switch_on_eof) = 1;
5111
0
}
5112
5113
/** Removes and deletes the top of the stack, if present.
5114
 *  The next element becomes the new top.
5115
 *  
5116
 */
5117
void yypop_buffer_state (void)
5118
8.12k
{
5119
8.12k
      if (!YY_CURRENT_BUFFER)
5120
8.12k
    return;
5121
5122
0
  yy_delete_buffer(YY_CURRENT_BUFFER );
5123
0
  YY_CURRENT_BUFFER_LVALUE = NULL;
5124
0
  if ((yy_buffer_stack_top) > 0)
5125
0
    --(yy_buffer_stack_top);
5126
5127
0
  if (YY_CURRENT_BUFFER) {
5128
0
    yy_load_buffer_state(  );
5129
0
    (yy_did_buffer_switch_on_eof) = 1;
5130
0
  }
5131
0
}
5132
5133
/* Allocates the stack if it does not exist.
5134
 *  Guarantees space for at least one push.
5135
 */
5136
static void yyensure_buffer_stack (void)
5137
8.12k
{
5138
8.12k
  yy_size_t num_to_alloc;
5139
    
5140
8.12k
  if (!(yy_buffer_stack)) {
5141
5142
    /* First allocation is just for 2 elements, since we don't know if this
5143
     * scanner will even need a stack. We use 2 instead of 1 to avoid an
5144
     * immediate realloc on the next call.
5145
         */
5146
8.12k
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
5147
8.12k
    (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
5148
8.12k
                (num_to_alloc * sizeof(struct yy_buffer_state*)
5149
8.12k
                );
5150
8.12k
    if ( ! (yy_buffer_stack) )
5151
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
5152
5153
8.12k
    memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
5154
5155
8.12k
    (yy_buffer_stack_max) = num_to_alloc;
5156
8.12k
    (yy_buffer_stack_top) = 0;
5157
8.12k
    return;
5158
8.12k
  }
5159
5160
0
  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
5161
5162
    /* Increase the buffer to prepare for a possible push. */
5163
0
    yy_size_t grow_size = 8 /* arbitrary grow size */;
5164
5165
0
    num_to_alloc = (yy_buffer_stack_max) + grow_size;
5166
0
    (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
5167
0
                ((yy_buffer_stack),
5168
0
                num_to_alloc * sizeof(struct yy_buffer_state*)
5169
0
                );
5170
0
    if ( ! (yy_buffer_stack) )
5171
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
5172
5173
    /* zero only the new slots.*/
5174
0
    memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
5175
0
    (yy_buffer_stack_max) = num_to_alloc;
5176
0
  }
5177
0
}
5178
5179
/** Setup the input buffer state to scan directly from a user-specified character buffer.
5180
 * @param base the character buffer
5181
 * @param size the size in bytes of the character buffer
5182
 * 
5183
 * @return the newly allocated buffer state object.
5184
 */
5185
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
5186
0
{
5187
0
  YY_BUFFER_STATE b;
5188
    
5189
0
  if ( size < 2 ||
5190
0
       base[size-2] != YY_END_OF_BUFFER_CHAR ||
5191
0
       base[size-1] != YY_END_OF_BUFFER_CHAR )
5192
    /* They forgot to leave room for the EOB's. */
5193
0
    return NULL;
5194
5195
0
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
5196
0
  if ( ! b )
5197
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
5198
5199
0
  b->yy_buf_size = (int) (size - 2);  /* "- 2" to take care of EOB's */
5200
0
  b->yy_buf_pos = b->yy_ch_buf = base;
5201
0
  b->yy_is_our_buffer = 0;
5202
0
  b->yy_input_file = NULL;
5203
0
  b->yy_n_chars = b->yy_buf_size;
5204
0
  b->yy_is_interactive = 0;
5205
0
  b->yy_at_bol = 1;
5206
0
  b->yy_fill_buffer = 0;
5207
0
  b->yy_buffer_status = YY_BUFFER_NEW;
5208
5209
0
  yy_switch_to_buffer( b  );
5210
5211
0
  return b;
5212
0
}
5213
5214
/** Setup the input buffer state to scan a string. The next call to yylex() will
5215
 * scan from a @e copy of @a str.
5216
 * @param yystr a NUL-terminated string to scan
5217
 * 
5218
 * @return the newly allocated buffer state object.
5219
 * @note If you want to scan bytes that may contain NUL values, then use
5220
 *       yy_scan_bytes() instead.
5221
 */
5222
YY_BUFFER_STATE yy_scan_string (const char * yystr )
5223
0
{
5224
    
5225
0
  return yy_scan_bytes( yystr, (int) strlen(yystr) );
5226
0
}
5227
5228
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
5229
 * scan from a @e copy of @a bytes.
5230
 * @param yybytes the byte buffer to scan
5231
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
5232
 * 
5233
 * @return the newly allocated buffer state object.
5234
 */
5235
YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
5236
0
{
5237
0
  YY_BUFFER_STATE b;
5238
0
  char *buf;
5239
0
  yy_size_t n;
5240
0
  int i;
5241
    
5242
  /* Get memory for full buffer, including space for trailing EOB's. */
5243
0
  n = (yy_size_t) (_yybytes_len + 2);
5244
0
  buf = (char *) yyalloc( n  );
5245
0
  if ( ! buf )
5246
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
5247
5248
0
  for ( i = 0; i < _yybytes_len; ++i )
5249
0
    buf[i] = yybytes[i];
5250
5251
0
  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
5252
5253
0
  b = yy_scan_buffer( buf, n );
5254
0
  if ( ! b )
5255
0
    YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
5256
5257
  /* It's okay to grow etc. this buffer, and we should throw it
5258
   * away when we're done.
5259
   */
5260
0
  b->yy_is_our_buffer = 1;
5261
5262
0
  return b;
5263
0
}
5264
5265
#ifndef YY_EXIT_FAILURE
5266
#define YY_EXIT_FAILURE 2
5267
#endif
5268
5269
static void yynoreturn yy_fatal_error (const char* msg )
5270
0
{
5271
0
      fprintf( stderr, "%s\n", msg );
5272
0
  exit( YY_EXIT_FAILURE );
5273
0
}
5274
5275
/* Redefine yyless() so it works in section 3 code. */
5276
5277
#undef yyless
5278
#define yyless(n) \
5279
  do \
5280
    { \
5281
    /* Undo effects of setting up yytext. */ \
5282
        int yyless_macro_arg = (n); \
5283
        YY_LESS_LINENO(yyless_macro_arg);\
5284
    yytext[yyleng] = (yy_hold_char); \
5285
    (yy_c_buf_p) = yytext + yyless_macro_arg; \
5286
    (yy_hold_char) = *(yy_c_buf_p); \
5287
    *(yy_c_buf_p) = '\0'; \
5288
    yyleng = yyless_macro_arg; \
5289
    } \
5290
  while ( 0 )
5291
5292
/* Accessor  methods (get/set functions) to struct members. */
5293
5294
/** Get the current line number.
5295
 * 
5296
 */
5297
int yyget_lineno  (void)
5298
0
{
5299
    
5300
0
    return yylineno;
5301
0
}
5302
5303
/** Get the input stream.
5304
 * 
5305
 */
5306
FILE *yyget_in  (void)
5307
0
{
5308
0
        return yyin;
5309
0
}
5310
5311
/** Get the output stream.
5312
 * 
5313
 */
5314
FILE *yyget_out  (void)
5315
0
{
5316
0
        return yyout;
5317
0
}
5318
5319
/** Get the length of the current token.
5320
 * 
5321
 */
5322
int yyget_leng  (void)
5323
0
{
5324
0
        return yyleng;
5325
0
}
5326
5327
/** Get the current token.
5328
 * 
5329
 */
5330
5331
char *yyget_text  (void)
5332
0
{
5333
0
        return yytext;
5334
0
}
5335
5336
/** Set the current line number.
5337
 * @param _line_number line number
5338
 * 
5339
 */
5340
void yyset_lineno (int  _line_number )
5341
0
{
5342
    
5343
0
    yylineno = _line_number;
5344
0
}
5345
5346
/** Set the input stream. This does not discard the current
5347
 * input buffer.
5348
 * @param _in_str A readable stream.
5349
 * 
5350
 * @see yy_switch_to_buffer
5351
 */
5352
void yyset_in (FILE *  _in_str )
5353
0
{
5354
0
        yyin = _in_str ;
5355
0
}
5356
5357
void yyset_out (FILE *  _out_str )
5358
0
{
5359
0
        yyout = _out_str ;
5360
0
}
5361
5362
int yyget_debug  (void)
5363
0
{
5364
0
        return yy_flex_debug;
5365
0
}
5366
5367
void yyset_debug (int  _bdebug )
5368
0
{
5369
0
        yy_flex_debug = _bdebug ;
5370
0
}
5371
5372
static int yy_init_globals (void)
5373
8.12k
{
5374
        /* Initialization is the same as for the non-reentrant scanner.
5375
     * This function is called from yylex_destroy(), so don't allocate here.
5376
     */
5377
5378
8.12k
    (yy_buffer_stack) = NULL;
5379
8.12k
    (yy_buffer_stack_top) = 0;
5380
8.12k
    (yy_buffer_stack_max) = 0;
5381
8.12k
    (yy_c_buf_p) = NULL;
5382
8.12k
    (yy_init) = 0;
5383
8.12k
    (yy_start) = 0;
5384
5385
/* Defined in main.c */
5386
#ifdef YY_STDINIT
5387
    yyin = stdin;
5388
    yyout = stdout;
5389
#else
5390
8.12k
    yyin = NULL;
5391
8.12k
    yyout = NULL;
5392
8.12k
#endif
5393
5394
    /* For future reference: Set errno on error, since we are called by
5395
     * yylex_init()
5396
     */
5397
8.12k
    return 0;
5398
8.12k
}
5399
5400
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
5401
int yylex_destroy  (void)
5402
8.12k
{
5403
    
5404
    /* Pop the buffer stack, destroying each element. */
5405
16.2k
  while(YY_CURRENT_BUFFER){
5406
8.12k
    yy_delete_buffer( YY_CURRENT_BUFFER  );
5407
8.12k
    YY_CURRENT_BUFFER_LVALUE = NULL;
5408
8.12k
    yypop_buffer_state();
5409
8.12k
  }
5410
5411
  /* Destroy the stack itself. */
5412
8.12k
  yyfree((yy_buffer_stack) );
5413
8.12k
  (yy_buffer_stack) = NULL;
5414
5415
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
5416
     * yylex() is called, initialization will occur. */
5417
8.12k
    yy_init_globals( );
5418
5419
8.12k
    return 0;
5420
8.12k
}
5421
5422
/*
5423
 * Internal utility routines.
5424
 */
5425
5426
#ifndef yytext_ptr
5427
static void yy_flex_strncpy (char* s1, const char * s2, int n )
5428
18.9M
{
5429
    
5430
18.9M
  int i;
5431
450M
  for ( i = 0; i < n; ++i )
5432
431M
    s1[i] = s2[i];
5433
18.9M
}
5434
#endif
5435
5436
#ifdef YY_NEED_STRLEN
5437
static int yy_flex_strlen (const char * s )
5438
{
5439
  int n;
5440
  for ( n = 0; s[n]; ++n )
5441
    ;
5442
5443
  return n;
5444
}
5445
#endif
5446
5447
void *yyalloc (yy_size_t  size )
5448
24.3k
{
5449
24.3k
      return malloc(size);
5450
24.3k
}
5451
5452
void *yyrealloc  (void * ptr, yy_size_t  size )
5453
0
{
5454
    
5455
  /* The cast to (char *) in the following accommodates both
5456
   * implementations that use char* generic pointers, and those
5457
   * that use void* generic pointers.  It works with the latter
5458
   * because both ANSI C and C++ allow castless assignment from
5459
   * any pointer type to void*, and deal with argument conversions
5460
   * as though doing an assignment.
5461
   */
5462
0
  return realloc(ptr, size);
5463
0
}
5464
5465
void yyfree (void * ptr )
5466
24.3k
{
5467
24.3k
      free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
5468
24.3k
}
5469
5470
#define YYTABLES_NAME "yytables"
5471
5472
#line 341 "policy_scan.l"
5473
5474
int yyerror(const char *msg)
5475
28.1k
{
5476
#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
5477
  const char *token;
5478
  char buf[8];
5479
5480
  if (isprint((unsigned char)yytext[0])) {
5481
    token = yytext;
5482
  } else {
5483
    snprintf(buf, sizeof(buf), "%#x", yytext[0]);
5484
    token = buf;
5485
  }
5486
5487
  if (source_file[0])
5488
    fprintf(stderr, "%s:%lu:",
5489
      source_file, source_lineno);
5490
  else
5491
    fprintf(stderr, "(unknown source)::");
5492
  fprintf(stderr, "ERROR '%s' at token '%s' on line %lu:\n%s\n%s\n",
5493
      msg,
5494
      token,
5495
      policydb_lineno,
5496
      linebuf[0], linebuf[1]);
5497
#else
5498
28.1k
  (void)msg;
5499
28.1k
#endif
5500
5501
28.1k
  policydb_errors++;
5502
28.1k
  return -1;
5503
28.1k
}
5504
5505
int yywarn(const char *msg)
5506
2.96k
{
5507
2.96k
  if (werror)
5508
0
    return yyerror(msg);
5509
5510
#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
5511
  if (source_file[0])
5512
    fprintf(stderr, "%s:%lu:",
5513
      source_file, source_lineno);
5514
  else
5515
    fprintf(stderr, "(unknown source)::");
5516
  fprintf(stderr, "WARNING '%s' at token '%s' on line %lu:\n%s\n%s\n",
5517
      msg,
5518
      yytext,
5519
      policydb_lineno,
5520
      linebuf[0], linebuf[1]);
5521
#endif
5522
5523
2.96k
  return 0;
5524
2.96k
}
5525
5526
void set_source_file(const char *name)
5527
12.6k
{
5528
12.6k
  source_lineno = 1;
5529
12.6k
  strncpy(source_file, name, sizeof(source_file)-1); 
5530
12.6k
  source_file[sizeof(source_file)-1] = '\0';
5531
12.6k
  if (strlen(source_file) && source_file[strlen(source_file)-1] == '"')
5532
0
    source_file[strlen(source_file)-1] = '\0';
5533
12.6k
}
5534
5535
void set_source_line_and_file(const char *line)
5536
0
{
5537
0
  char *name;
5538
0
  unsigned long lineno;
5539
0
  errno = 0;
5540
0
  lineno = strtoul(line, &name, 10) - 1;
5541
0
  if (errno) {
5542
0
    yywarn("source line number too big");
5543
0
  }
5544
0
  set_source_file(name + 2 /* skip a space and a quote */ );
5545
5546
  /*
5547
   * set_source_file sets source_lineno to 1.
5548
   * Assign source_lineno after calling set_source_file.
5549
   */
5550
0
  source_lineno = lineno;
5551
0
}
5552