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