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