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