i3
|
00001 #line 2 "src/cfgparse.yy.c" 00002 00003 #line 4 "src/cfgparse.yy.c" 00004 00005 #define YY_INT_ALIGNED short int 00006 00007 /* A lexical scanner generated by flex */ 00008 00009 #define FLEX_SCANNER 00010 #define YY_FLEX_MAJOR_VERSION 2 00011 #define YY_FLEX_MINOR_VERSION 5 00012 #define YY_FLEX_SUBMINOR_VERSION 35 00013 #if YY_FLEX_SUBMINOR_VERSION > 0 00014 #define FLEX_BETA 00015 #endif 00016 00017 /* First, we deal with platform-specific or compiler-specific issues. */ 00018 00019 /* begin standard C headers. */ 00020 #include <stdio.h> 00021 #include <string.h> 00022 #include <errno.h> 00023 #include <stdlib.h> 00024 00025 /* end standard C headers. */ 00026 00027 /* flex integer type definitions */ 00028 00029 #ifndef FLEXINT_H 00030 #define FLEXINT_H 00031 00032 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 00033 00034 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 00035 00036 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 00037 * if you want the limit (max/min) macros for int types. 00038 */ 00039 #ifndef __STDC_LIMIT_MACROS 00040 #define __STDC_LIMIT_MACROS 1 00041 #endif 00042 00043 #include <inttypes.h> 00044 typedef int8_t flex_int8_t; 00045 typedef uint8_t flex_uint8_t; 00046 typedef int16_t flex_int16_t; 00047 typedef uint16_t flex_uint16_t; 00048 typedef int32_t flex_int32_t; 00049 typedef uint32_t flex_uint32_t; 00050 #else 00051 typedef signed char flex_int8_t; 00052 typedef short int flex_int16_t; 00053 typedef int flex_int32_t; 00054 typedef unsigned char flex_uint8_t; 00055 typedef unsigned short int flex_uint16_t; 00056 typedef unsigned int flex_uint32_t; 00057 #endif /* ! C99 */ 00058 00059 /* Limits of integral types. */ 00060 #ifndef INT8_MIN 00061 #define INT8_MIN (-128) 00062 #endif 00063 #ifndef INT16_MIN 00064 #define INT16_MIN (-32767-1) 00065 #endif 00066 #ifndef INT32_MIN 00067 #define INT32_MIN (-2147483647-1) 00068 #endif 00069 #ifndef INT8_MAX 00070 #define INT8_MAX (127) 00071 #endif 00072 #ifndef INT16_MAX 00073 #define INT16_MAX (32767) 00074 #endif 00075 #ifndef INT32_MAX 00076 #define INT32_MAX (2147483647) 00077 #endif 00078 #ifndef UINT8_MAX 00079 #define UINT8_MAX (255U) 00080 #endif 00081 #ifndef UINT16_MAX 00082 #define UINT16_MAX (65535U) 00083 #endif 00084 #ifndef UINT32_MAX 00085 #define UINT32_MAX (4294967295U) 00086 #endif 00087 00088 #endif /* ! FLEXINT_H */ 00089 00090 #ifdef __cplusplus 00091 00092 /* The "const" storage-class-modifier is valid. */ 00093 #define YY_USE_CONST 00094 00095 #else /* ! __cplusplus */ 00096 00097 /* C99 requires __STDC__ to be defined as 1. */ 00098 #if defined (__STDC__) 00099 00100 #define YY_USE_CONST 00101 00102 #endif /* defined (__STDC__) */ 00103 #endif /* ! __cplusplus */ 00104 00105 #ifdef YY_USE_CONST 00106 #define yyconst const 00107 #else 00108 #define yyconst 00109 #endif 00110 00111 /* Returned upon end-of-file. */ 00112 #define YY_NULL 0 00113 00114 /* Promotes a possibly negative, possibly signed char to an unsigned 00115 * integer for use as an array index. If the signed char is negative, 00116 * we want to instead treat it as an 8-bit unsigned char, hence the 00117 * double cast. 00118 */ 00119 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 00120 00121 /* Enter a start condition. This macro really ought to take a parameter, 00122 * but we do it the disgusting crufty way forced on us by the ()-less 00123 * definition of BEGIN. 00124 */ 00125 #define BEGIN (yy_start) = 1 + 2 * 00126 00127 /* Translate the current start state into a value that can be later handed 00128 * to BEGIN to return to the state. The YYSTATE alias is for lex 00129 * compatibility. 00130 */ 00131 #define YY_START (((yy_start) - 1) / 2) 00132 #define YYSTATE YY_START 00133 00134 /* Action number for EOF rule of a given start state. */ 00135 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 00136 00137 /* Special action meaning "start processing a new file". */ 00138 #define YY_NEW_FILE yyrestart(yyin ) 00139 00140 #define YY_END_OF_BUFFER_CHAR 0 00141 00142 /* Size of default input buffer. */ 00143 #ifndef YY_BUF_SIZE 00144 #define YY_BUF_SIZE 16384 00145 #endif 00146 00147 /* The state buf must be large enough to hold one state per character in the main buffer. 00148 */ 00149 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 00150 00151 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 00152 #define YY_TYPEDEF_YY_BUFFER_STATE 00153 typedef struct yy_buffer_state *YY_BUFFER_STATE; 00154 #endif 00155 00156 extern int yyleng; 00157 00158 extern FILE *yyin, *yyout; 00159 00160 #define EOB_ACT_CONTINUE_SCAN 0 00161 #define EOB_ACT_END_OF_FILE 1 00162 #define EOB_ACT_LAST_MATCH 2 00163 00164 #define YY_LESS_LINENO(n) 00165 00166 /* Return all but the first "n" matched characters back to the input stream. */ 00167 #define yyless(n) \ 00168 do \ 00169 { \ 00170 /* Undo effects of setting up yytext. */ \ 00171 int yyless_macro_arg = (n); \ 00172 YY_LESS_LINENO(yyless_macro_arg);\ 00173 *yy_cp = (yy_hold_char); \ 00174 YY_RESTORE_YY_MORE_OFFSET \ 00175 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 00176 YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 00177 } \ 00178 while ( 0 ) 00179 00180 #define unput(c) yyunput( c, (yytext_ptr) ) 00181 00182 #ifndef YY_TYPEDEF_YY_SIZE_T 00183 #define YY_TYPEDEF_YY_SIZE_T 00184 typedef size_t yy_size_t; 00185 #endif 00186 00187 #ifndef YY_STRUCT_YY_BUFFER_STATE 00188 #define YY_STRUCT_YY_BUFFER_STATE 00189 struct yy_buffer_state 00190 { 00191 FILE *yy_input_file; 00192 00193 char *yy_ch_buf; /* input buffer */ 00194 char *yy_buf_pos; /* current position in input buffer */ 00195 00196 /* Size of input buffer in bytes, not including room for EOB 00197 * characters. 00198 */ 00199 yy_size_t yy_buf_size; 00200 00201 /* Number of characters read into yy_ch_buf, not including EOB 00202 * characters. 00203 */ 00204 int yy_n_chars; 00205 00206 /* Whether we "own" the buffer - i.e., we know we created it, 00207 * and can realloc() it to grow it, and should free() it to 00208 * delete it. 00209 */ 00210 int yy_is_our_buffer; 00211 00212 /* Whether this is an "interactive" input source; if so, and 00213 * if we're using stdio for input, then we want to use getc() 00214 * instead of fread(), to make sure we stop fetching input after 00215 * each newline. 00216 */ 00217 int yy_is_interactive; 00218 00219 /* Whether we're considered to be at the beginning of a line. 00220 * If so, '^' rules will be active on the next match, otherwise 00221 * not. 00222 */ 00223 int yy_at_bol; 00224 00225 int yy_bs_lineno; 00226 int yy_bs_column; 00228 /* Whether to try to fill the input buffer when we reach the 00229 * end of it. 00230 */ 00231 int yy_fill_buffer; 00232 00233 int yy_buffer_status; 00234 00235 #define YY_BUFFER_NEW 0 00236 #define YY_BUFFER_NORMAL 1 00237 /* When an EOF's been seen but there's still some text to process 00238 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 00239 * shouldn't try reading from the input source any more. We might 00240 * still have a bunch of tokens to match, though, because of 00241 * possible backing-up. 00242 * 00243 * When we actually see the EOF, we change the status to "new" 00244 * (via yyrestart()), so that the user can continue scanning by 00245 * just pointing yyin at a new input file. 00246 */ 00247 #define YY_BUFFER_EOF_PENDING 2 00248 00249 }; 00250 #endif /* !YY_STRUCT_YY_BUFFER_STATE */ 00251 00252 /* Stack of input buffers. */ 00253 static size_t yy_buffer_stack_top = 0; 00254 static size_t yy_buffer_stack_max = 0; 00255 static YY_BUFFER_STATE * yy_buffer_stack = 0; 00257 /* We provide macros for accessing buffer states in case in the 00258 * future we want to put the buffer states in a more general 00259 * "scanner state". 00260 * 00261 * Returns the top of the stack, or NULL. 00262 */ 00263 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 00264 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 00265 : NULL) 00266 00267 /* Same as previous macro, but useful when we know that the buffer stack is not 00268 * NULL or when we need an lvalue. For internal use only. 00269 */ 00270 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 00271 00272 /* yy_hold_char holds the character lost when yytext is formed. */ 00273 static char yy_hold_char; 00274 static int yy_n_chars; /* number of characters read into yy_ch_buf */ 00275 int yyleng; 00276 00277 /* Points to current character in buffer. */ 00278 static char *yy_c_buf_p = (char *) 0; 00279 static int yy_init = 0; /* whether we need to initialize */ 00280 static int yy_start = 0; /* start state number */ 00281 00282 /* Flag which is used to allow yywrap()'s to do buffer switches 00283 * instead of setting up a fresh yyin. A bit of a hack ... 00284 */ 00285 static int yy_did_buffer_switch_on_eof; 00286 00287 void yyrestart (FILE *input_file ); 00288 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); 00289 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); 00290 void yy_delete_buffer (YY_BUFFER_STATE b ); 00291 void yy_flush_buffer (YY_BUFFER_STATE b ); 00292 void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); 00293 void yypop_buffer_state (void ); 00294 00295 static void yyensure_buffer_stack (void ); 00296 static void yy_load_buffer_state (void ); 00297 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); 00298 00299 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) 00300 00301 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); 00302 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); 00303 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); 00304 00305 void *yyalloc (yy_size_t ); 00306 void *yyrealloc (void *,yy_size_t ); 00307 void yyfree (void * ); 00308 00309 #define yy_new_buffer yy_create_buffer 00310 00311 #define yy_set_interactive(is_interactive) \ 00312 { \ 00313 if ( ! YY_CURRENT_BUFFER ){ \ 00314 yyensure_buffer_stack (); \ 00315 YY_CURRENT_BUFFER_LVALUE = \ 00316 yy_create_buffer(yyin,YY_BUF_SIZE ); \ 00317 } \ 00318 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 00319 } 00320 00321 #define yy_set_bol(at_bol) \ 00322 { \ 00323 if ( ! YY_CURRENT_BUFFER ){\ 00324 yyensure_buffer_stack (); \ 00325 YY_CURRENT_BUFFER_LVALUE = \ 00326 yy_create_buffer(yyin,YY_BUF_SIZE ); \ 00327 } \ 00328 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 00329 } 00330 00331 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 00332 00333 /* Begin user sect3 */ 00334 00335 typedef unsigned char YY_CHAR; 00336 00337 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; 00338 00339 typedef int yy_state_type; 00340 00341 extern int yylineno; 00342 00343 int yylineno = 1; 00344 00345 extern char *yytext; 00346 #define yytext_ptr yytext 00347 00348 static yy_state_type yy_get_previous_state (void ); 00349 static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); 00350 static int yy_get_next_buffer (void ); 00351 static void yy_fatal_error (yyconst char msg[] ); 00352 00353 /* Done after the current pattern has been matched and before the 00354 * corresponding action - sets up yytext. 00355 */ 00356 #define YY_DO_BEFORE_ACTION \ 00357 (yytext_ptr) = yy_bp; \ 00358 yyleng = (size_t) (yy_cp - yy_bp); \ 00359 (yy_hold_char) = *yy_cp; \ 00360 *yy_cp = '\0'; \ 00361 (yy_c_buf_p) = yy_cp; 00362 00363 #define YY_NUM_RULES 120 00364 #define YY_END_OF_BUFFER 121 00365 /* This struct is not used in this scanner, 00366 but its presence is necessary. */ 00367 struct yy_trans_info 00368 { 00369 flex_int32_t yy_verify; 00370 flex_int32_t yy_nxt; 00371 }; 00372 static yyconst flex_int16_t yy_acclist[4249] = 00373 { 0, 00374 33, 33, 8193,16385, 121, 119, 120, 114, 119, 120, 00375 111, 120, 119, 120, 119, 120, 43, 119, 120, 43, 00376 119, 120, 118, 119, 120, 118, 119, 120, 118, 119, 00377 120, 118, 119, 120, 118, 119, 120, 118, 119, 120, 00378 118, 119, 120, 118, 119, 120, 118, 119, 120, 118, 00379 119, 120, 118, 119, 120, 118, 119, 120, 118, 119, 00380 120, 118, 119, 120, 118, 119, 120, 118, 119, 120, 00381 118, 119, 120, 118, 119, 120, 118, 119, 120, 114, 00382 119, 120, 37, 119, 120, 35, 119, 120, 35, 114, 00383 119, 120, 35, 119, 120, 35, 119, 120, 35, 43, 00384 00385 119, 120, 35, 43, 119, 120, 35, 118, 119, 120, 00386 35, 118, 119, 120, 35, 118, 119, 120, 35, 118, 00387 119, 120, 35, 118, 119, 120, 35, 118, 119, 120, 00388 35, 118, 119, 120, 35, 118, 119, 120, 35, 118, 00389 119, 120, 35, 118, 119, 120, 35, 118, 119, 120, 00390 35, 118, 119, 120, 35, 118, 119, 120, 35, 118, 00391 119, 120, 35, 118, 119, 120, 35, 118, 119, 120, 00392 35, 118, 119, 120, 35, 118, 119, 120, 35, 118, 00393 119, 120, 35, 114, 119, 120, 35, 37, 119, 120, 00394 119, 120, 112, 114, 119, 120, 43, 117, 119, 120, 00395 00396 43, 117, 119, 120, 117, 118, 119, 120, 117, 118, 00397 119, 120, 117, 118, 119, 120, 117, 118, 119, 120, 00398 117, 118, 119, 120, 117, 118, 119, 120, 117, 118, 00399 119, 120, 117, 118, 119, 120, 117, 118, 119, 120, 00400 117, 118, 119, 120, 117, 118, 119, 120, 117, 118, 00401 119, 120, 117, 118, 119, 120, 117, 118, 119, 120, 00402 117, 118, 119, 120, 117, 118, 119, 120, 117, 118, 00403 119, 120, 117, 118, 119, 120, 117, 118, 119, 120, 00404 117, 119, 120, 112, 114, 119, 120, 116, 119, 120, 00405 111, 116, 120, 116, 119, 120, 43, 116, 119, 120, 00406 00407 43, 116, 119, 120, 116, 118, 119, 120, 116, 118, 00408 119, 120, 116, 118, 119, 120, 116, 118, 119, 120, 00409 116, 118, 119, 120, 116, 118, 119, 120, 116, 118, 00410 119, 120, 116, 118, 119, 120, 116, 118, 119, 120, 00411 116, 118, 119, 120, 116, 118, 119, 120, 116, 118, 00412 119, 120, 116, 118, 119, 120, 116, 118, 119, 120, 00413 116, 118, 119, 120, 116, 118, 119, 120, 116, 118, 00414 119, 120, 116, 118, 119, 120, 116, 118, 119, 120, 00415 32, 119, 120, 37, 116, 119, 120, 40, 114, 119, 00416 120, 119, 120, 40, 114, 119, 120, 119, 120, 37, 00417 00418 119, 120, 113, 114, 119, 120, 36, 119, 120, 36, 00419 43, 119, 120, 36, 43, 119, 120, 36, 118, 119, 00420 120, 36, 118, 119, 120, 36, 118, 119, 120, 36, 00421 118, 119, 120, 36, 118, 119, 120, 36, 118, 119, 00422 120, 36, 118, 119, 120, 36, 118, 119, 120, 36, 00423 118, 119, 120, 36, 118, 119, 120, 36, 118, 119, 00424 120, 36, 118, 119, 120, 36, 118, 119, 120, 36, 00425 118, 119, 120, 36, 118, 119, 120, 36, 118, 119, 00426 120, 36, 118, 119, 120, 36, 118, 119, 120, 36, 00427 118, 119, 120, 113, 114, 119, 120, 31, 119, 120, 00428 00429 33, 114, 119, 120, 33, 114, 119, 120, 120, 120, 00430 8193, 120,16385, 8193, 111, 120, 120, 2, 120, 30, 00431 120, 30, 120, 30, 120, 30, 120, 30, 120, 30, 00432 120, 30, 120, 30, 120, 30, 120, 30, 120, 3, 00433 120, 4, 120, 2, 120, 5, 120, 30, 120, 30, 00434 120, 30, 120, 30, 120, 30, 120, 30, 120, 30, 00435 120, 30, 120, 30, 120, 30, 120, 20, 120, 21, 00436 120, 2, 120, 22, 120, 120, 42, 120, 42, 120, 00437 42, 120, 114, 111, 43, 118, 118, 118, 118, 118, 00438 118, 118, 118, 118, 118, 118, 118, 118, 107, 118, 00439 00440 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 00441 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 00442 114, 37, 37, 35, 35, 114, 35, 35, 43, 35, 00443 35, 118, 35, 118, 35, 118, 35, 118, 35, 118, 00444 35, 118, 35, 118, 35, 118, 35, 118, 35, 118, 00445 35, 118, 35, 118, 35, 118, 35, 107, 118, 35, 00446 118, 35, 118, 35, 118, 35, 118, 35, 118, 35, 00447 118, 35, 118, 35, 118, 35, 118, 35, 118, 35, 00448 118, 35, 118, 35, 118, 35, 118, 35, 118, 35, 00449 118, 35, 118, 35, 118, 35, 118, 35, 118, 35, 00450 00451 114, 35, 37, 35, 37, 112, 114, 43, 117, 117, 00452 117, 117, 118, 117, 118, 117, 118, 117, 118, 117, 00453 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 00454 118, 117, 118, 117, 118, 117, 118, 107, 117, 118, 00455 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 00456 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 00457 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 00458 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 00459 112, 114, 116, 111, 116, 43, 116, 116, 116, 118, 00460 116, 118, 116, 118, 116, 118, 116, 118, 116, 118, 00461 00462 116, 118, 116, 118, 116, 118, 116, 118, 116, 118, 00463 116, 118, 116, 118, 107, 116, 118, 116, 118, 116, 00464 118, 116, 118, 116, 118, 116, 118, 116, 118, 116, 00465 118, 116, 118, 116, 118, 116, 118, 116, 118, 116, 00466 118, 116, 118, 116, 118, 116, 118, 116, 118, 116, 00467 118, 116, 118, 116, 118, 116, 118, 37, 116, 40, 00468 114, 40, 114, 38, 37, 38, 113, 114, 36, 36, 00469 43, 36, 36, 118, 36, 118, 36, 118, 36, 118, 00470 36, 118, 36, 118, 36, 118, 36, 118, 36, 118, 00471 36, 118, 36, 118, 36, 118, 36, 118, 36, 107, 00472 00473 118, 36, 118, 36, 118, 36, 118, 36, 118, 36, 00474 118, 36, 118, 36, 118, 36, 118, 36, 118, 36, 00475 118, 36, 118, 36, 118, 36, 118, 36, 118, 36, 00476 118, 36, 118, 36, 118, 36, 118, 36, 118, 36, 00477 118, 113, 114, 33, 114, 33, 114, 8193,16385, 8193, 00478 8193, 111, 2, 30, 30, 30, 30, 30, 30, 30, 00479 30, 30, 30, 30, 2, 5, 5, 30, 30, 30, 00480 30, 30, 30, 30, 30, 30, 30, 2, 22, 22, 00481 29, 115, 118, 118, 44, 118, 118, 118, 118, 118, 00482 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 00483 00484 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 00485 118, 55, 118, 118, 118, 118, 118, 118, 118, 118, 00486 118, 35, 115, 35, 35, 118, 35, 118, 35, 44, 00487 118, 35, 118, 35, 118, 35, 118, 35, 118, 35, 00488 118, 35, 118, 35, 118, 35, 118, 35, 118, 35, 00489 118, 35, 118, 35, 118, 35, 118, 35, 118, 35, 00490 118, 35, 118, 35, 118, 35, 118, 35, 118, 35, 00491 118, 35, 118, 35, 118, 35, 118, 35, 118, 35, 00492 118, 35, 55, 118, 35, 118, 35, 118, 35, 118, 00493 35, 118, 35, 118, 35, 118, 35, 118, 35, 118, 00494 00495 34, 115, 117, 117, 118, 117, 118, 44, 117, 118, 00496 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 00497 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 00498 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 00499 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 00500 117, 118, 117, 118, 117, 118, 117, 118, 117, 118, 00501 55, 117, 118, 117, 118, 117, 118, 117, 118, 117, 00502 118, 117, 118, 117, 118, 117, 118, 117, 118, 116, 00503 116, 118, 116, 118, 44, 116, 118, 116, 118, 116, 00504 118, 116, 118, 116, 118, 116, 118, 116, 118, 116, 00505 00506 118, 116, 118, 116, 118, 116, 118, 116, 118, 116, 00507 118, 116, 118, 116, 118, 116, 118, 116, 118, 116, 00508 118, 116, 118, 116, 118, 116, 118, 116, 118, 116, 00509 118, 116, 118, 116, 118, 116, 118, 55, 116, 118, 00510 116, 118, 116, 118, 116, 118, 116, 118, 116, 118, 00511 116, 118, 116, 118, 116, 118, 39, 36, 36, 118, 00512 36, 118, 36, 44, 118, 36, 118, 36, 118, 36, 00513 118, 36, 118, 36, 118, 36, 118, 36, 118, 36, 00514 118, 36, 118, 36, 118, 36, 118, 36, 118, 36, 00515 118, 36, 118, 36, 118, 36, 118, 36, 118, 36, 00516 00517 118, 36, 118, 36, 118, 36, 118, 36, 118, 36, 00518 118, 36, 118, 36, 118, 36, 55, 118, 36, 118, 00519 36, 118, 36, 118, 36, 118, 36, 118, 36, 118, 00520 36, 118, 36, 118, 30, 30, 30, 30, 30, 30, 00521 30, 30, 30, 30, 30, 30, 30, 14, 30, 30, 00522 30, 30, 30, 30, 30, 118, 62, 118, 118, 46, 00523 118, 118, 118, 83, 118, 118, 102, 118, 118, 85, 00524 118, 118, 118, 53, 118, 118, 118, 118, 118, 118, 00525 95, 96, 97, 98, 99, 45, 118, 67, 118, 118, 00526 118, 118, 118, 84, 118, 55, 55, 118, 118, 118, 00527 00528 118, 118, 118, 118, 118, 118, 35, 35, 118, 35, 00529 62, 118, 35, 35, 118, 35, 46, 118, 35, 118, 00530 35, 118, 35, 83, 118, 35, 118, 35, 35, 102, 00531 118, 35, 118, 35, 85, 118, 35, 118, 35, 118, 00532 35, 53, 118, 35, 118, 35, 35, 118, 35, 118, 00533 35, 118, 35, 35, 35, 118, 35, 95, 35, 96, 00534 35, 97, 35, 98, 35, 99, 35, 45, 118, 35, 00535 35, 67, 118, 35, 118, 35, 118, 35, 118, 35, 00536 118, 35, 84, 118, 35, 55, 35, 55, 118, 35, 00537 118, 35, 118, 35, 118, 35, 118, 35, 118, 35, 00538 00539 118, 35, 118, 35, 118, 117, 117, 118, 62, 117, 00540 118, 117, 117, 118, 46, 117, 118, 117, 118, 117, 00541 118, 83, 117, 118, 117, 118, 117, 102, 117, 118, 00542 117, 118, 85, 117, 118, 117, 118, 117, 118, 53, 00543 117, 118, 117, 118, 117, 117, 118, 117, 118, 117, 00544 118, 117, 117, 118, 95, 117, 96, 117, 97, 117, 00545 98, 117, 99, 117, 45, 117, 118, 117, 67, 117, 00546 118, 117, 118, 117, 118, 117, 118, 117, 118, 84, 00547 117, 118, 55, 117, 55, 117, 118, 117, 118, 117, 00548 118, 117, 118, 117, 118, 117, 118, 117, 118, 117, 00549 00550 118, 117, 118, 116, 116, 118, 62, 116, 118, 116, 00551 116, 118, 46, 116, 118, 116, 118, 116, 118, 83, 00552 116, 118, 116, 118, 116, 102, 116, 118, 116, 118, 00553 85, 116, 118, 116, 118, 116, 118, 53, 116, 118, 00554 116, 118, 116, 116, 118, 116, 118, 116, 118, 116, 00555 116, 116, 118, 95, 116, 96, 116, 97, 116, 98, 00556 116, 99, 116, 45, 116, 118, 116, 67, 116, 118, 00557 116, 118, 116, 118, 116, 118, 116, 118, 84, 116, 00558 118, 55, 116, 55, 116, 118, 116, 118, 116, 118, 00559 116, 118, 116, 118, 116, 118, 116, 118, 116, 118, 00560 00561 116, 118, 39, 36, 36, 118, 36, 62, 118, 36, 00562 36, 118, 36, 46, 118, 36, 118, 36, 118, 36, 00563 83, 118, 36, 118, 36, 36, 102, 118, 36, 118, 00564 36, 85, 118, 36, 118, 36, 118, 36, 53, 118, 00565 36, 118, 36, 36, 118, 36, 118, 36, 118, 36, 00566 36, 36, 118, 36, 95, 36, 96, 36, 97, 36, 00567 98, 36, 99, 36, 45, 118, 36, 36, 67, 118, 00568 36, 118, 36, 118, 36, 118, 36, 118, 36, 84, 00569 118, 36, 55, 36, 55, 118, 36, 118, 36, 118, 00570 36, 118, 36, 118, 36, 118, 36, 118, 36, 118, 00571 00572 36, 118, 30, 16, 30, 9, 30, 30, 30, 30, 00573 30, 30, 30, 30, 11, 30, 10, 30, 30, 30, 00574 30, 30, 30, 30, 30, 118, 118, 118, 118, 118, 00575 104, 118, 118, 118, 118, 118, 118, 118, 118, 118, 00576 118, 118, 118, 118, 118, 118, 103, 118, 118, 118, 00577 118, 110, 118, 118, 118, 118, 35, 35, 118, 35, 00578 35, 35, 118, 35, 118, 35, 118, 35, 118, 35, 00579 104, 118, 35, 118, 35, 118, 35, 35, 35, 118, 00580 35, 35, 118, 35, 118, 35, 118, 35, 35, 118, 00581 35, 118, 35, 118, 35, 35, 35, 118, 35, 35, 00582 00583 35, 35, 118, 35, 118, 35, 118, 35, 118, 35, 00584 103, 118, 35, 118, 35, 118, 35, 118, 35, 110, 00585 118, 35, 118, 35, 118, 35, 118, 117, 117, 118, 00586 117, 117, 117, 118, 117, 118, 117, 118, 117, 118, 00587 104, 117, 118, 117, 118, 117, 118, 117, 117, 117, 00588 118, 117, 117, 118, 117, 118, 117, 118, 117, 117, 00589 118, 117, 118, 117, 118, 117, 117, 118, 117, 117, 00590 117, 117, 118, 117, 118, 117, 118, 117, 118, 103, 00591 117, 118, 117, 118, 117, 118, 117, 118, 110, 117, 00592 118, 117, 118, 117, 118, 117, 118, 116, 116, 118, 00593 00594 116, 116, 116, 118, 116, 118, 116, 118, 116, 118, 00595 104, 116, 118, 116, 118, 116, 118, 116, 116, 116, 00596 118, 116, 116, 118, 116, 118, 116, 118, 116, 116, 00597 118, 116, 118, 116, 118, 116, 116, 116, 118, 116, 00598 116, 116, 116, 118, 116, 118, 116, 118, 116, 118, 00599 103, 116, 118, 116, 118, 116, 118, 116, 118, 110, 00600 116, 118, 116, 118, 116, 118, 116, 118, 36, 36, 00601 118, 36, 36, 36, 118, 36, 118, 36, 118, 36, 00602 118, 36, 104, 118, 36, 118, 36, 118, 36, 36, 00603 36, 118, 36, 36, 118, 36, 118, 36, 118, 36, 00604 00605 36, 118, 36, 118, 36, 118, 36, 36, 36, 118, 00606 36, 36, 36, 36, 118, 36, 118, 36, 118, 36, 00607 118, 36, 103, 118, 36, 118, 36, 118, 36, 118, 00608 36, 110, 118, 36, 118, 36, 118, 36, 118, 30, 00609 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 00610 30, 30, 30, 68, 54, 118, 118, 118, 118, 118, 00611 118, 118, 118, 108, 118, 118, 118, 75, 118, 118, 00612 66, 118, 51, 118, 118, 118, 118, 81, 118, 118, 00613 118, 118, 118, 35, 68, 35, 54, 118, 35, 35, 00614 35, 35, 118, 35, 118, 35, 118, 35, 118, 35, 00615 00616 118, 35, 118, 35, 118, 35, 108, 35, 35, 118, 00617 35, 35, 118, 35, 35, 35, 35, 118, 35, 75, 00618 118, 35, 118, 35, 35, 35, 35, 35, 35, 35, 00619 66, 118, 35, 51, 118, 35, 35, 118, 35, 35, 00620 118, 35, 118, 35, 81, 118, 35, 118, 35, 118, 00621 35, 118, 35, 118, 68, 117, 54, 117, 118, 117, 00622 117, 117, 117, 118, 117, 118, 117, 118, 117, 118, 00623 117, 118, 117, 118, 117, 118, 108, 117, 117, 117, 00624 118, 117, 117, 118, 117, 117, 117, 117, 118, 75, 00625 117, 118, 117, 118, 117, 117, 117, 117, 117, 66, 00626 00627 117, 118, 51, 117, 118, 117, 117, 118, 117, 118, 00628 117, 118, 81, 117, 118, 117, 118, 117, 118, 117, 00629 118, 117, 118, 68, 116, 54, 116, 118, 116, 116, 00630 116, 116, 118, 116, 118, 116, 118, 116, 118, 116, 00631 118, 116, 118, 116, 118, 108, 116, 116, 116, 118, 00632 116, 116, 118, 116, 116, 116, 116, 118, 75, 116, 00633 118, 116, 118, 116, 116, 116, 116, 116, 116, 66, 00634 116, 118, 51, 116, 118, 116, 116, 118, 116, 116, 00635 118, 116, 118, 81, 116, 118, 116, 118, 116, 118, 00636 116, 118, 116, 118, 36, 68, 36, 54, 118, 36, 00637 00638 36, 36, 36, 118, 36, 118, 36, 118, 36, 118, 00639 36, 118, 36, 118, 36, 118, 36, 108, 36, 36, 00640 118, 36, 36, 118, 36, 36, 36, 36, 118, 36, 00641 75, 118, 36, 118, 36, 36, 36, 36, 36, 36, 00642 36, 66, 118, 36, 51, 118, 36, 36, 118, 36, 00643 36, 118, 36, 118, 36, 81, 118, 36, 118, 36, 00644 118, 36, 118, 36, 118, 19, 30, 6, 30, 30, 00645 30, 30, 30, 30, 13, 30, 30, 30, 30, 30, 00646 30, 30, 118, 118, 118, 118, 48, 118, 118, 101, 00647 118, 78, 118, 118, 118, 118, 118, 80, 118, 118, 00648 00649 118, 118, 118, 35, 35, 35, 35, 118, 35, 118, 00650 35, 118, 35, 118, 35, 48, 118, 35, 35, 118, 00651 35, 101, 118, 35, 35, 78, 118, 35, 35, 118, 00652 35, 35, 35, 35, 35, 118, 35, 118, 35, 35, 00653 35, 35, 35, 35, 35, 35, 118, 35, 35, 80, 00654 118, 35, 118, 35, 118, 35, 118, 35, 35, 118, 00655 117, 117, 117, 117, 118, 117, 118, 117, 118, 117, 00656 118, 48, 117, 118, 117, 117, 118, 101, 117, 118, 00657 117, 78, 117, 118, 117, 117, 118, 117, 117, 117, 00658 117, 117, 118, 117, 118, 117, 117, 117, 117, 117, 00659 00660 117, 117, 118, 80, 117, 118, 117, 118, 117, 118, 00661 117, 118, 117, 117, 118, 116, 116, 116, 116, 118, 00662 116, 118, 116, 118, 116, 118, 48, 116, 118, 116, 00663 116, 118, 101, 116, 118, 116, 78, 116, 118, 116, 00664 116, 118, 116, 116, 116, 116, 116, 118, 116, 118, 00665 116, 116, 116, 116, 116, 116, 116, 116, 118, 116, 00666 80, 116, 118, 116, 118, 116, 118, 116, 118, 116, 00667 116, 118, 36, 36, 36, 36, 118, 36, 118, 36, 00668 118, 36, 118, 36, 48, 118, 36, 36, 118, 36, 00669 101, 118, 36, 36, 78, 118, 36, 36, 118, 36, 00670 00671 36, 36, 36, 36, 118, 36, 118, 36, 36, 36, 00672 36, 36, 36, 36, 36, 118, 36, 36, 80, 118, 00673 36, 118, 36, 118, 36, 118, 36, 36, 118, 30, 00674 18, 30, 30, 30, 30, 30, 30, 118, 118, 118, 00675 47, 118, 118, 118, 118, 109, 118, 118, 105, 118, 00676 79, 118, 52, 118, 61, 118, 118, 35, 35, 35, 00677 35, 118, 35, 118, 35, 118, 35, 47, 118, 35, 00678 35, 35, 35, 118, 35, 118, 35, 118, 35, 109, 00679 35, 35, 35, 118, 35, 35, 35, 35, 35, 118, 00680 35, 105, 118, 35, 35, 35, 35, 35, 35, 35, 00681 00682 35, 35, 35, 79, 118, 35, 52, 118, 35, 61, 00683 118, 35, 35, 118, 117, 117, 117, 117, 118, 117, 00684 118, 117, 118, 47, 117, 118, 117, 117, 117, 117, 00685 118, 117, 118, 117, 118, 109, 117, 117, 117, 117, 00686 118, 117, 117, 117, 117, 117, 118, 105, 117, 118, 00687 117, 117, 117, 117, 117, 117, 117, 79, 117, 118, 00688 52, 117, 118, 61, 117, 118, 117, 117, 118, 116, 00689 116, 116, 116, 118, 116, 118, 116, 118, 47, 116, 00690 118, 116, 116, 116, 116, 118, 116, 118, 116, 118, 00691 109, 116, 116, 116, 116, 118, 116, 116, 116, 116, 00692 00693 116, 118, 105, 116, 118, 116, 116, 116, 116, 116, 00694 116, 116, 116, 116, 79, 116, 118, 52, 116, 118, 00695 61, 116, 118, 116, 116, 118, 36, 36, 36, 36, 00696 118, 36, 118, 36, 118, 36, 47, 118, 36, 36, 00697 36, 36, 118, 36, 118, 36, 118, 36, 109, 36, 00698 36, 36, 118, 36, 36, 36, 36, 36, 118, 36, 00699 105, 118, 36, 36, 36, 36, 36, 36, 36, 36, 00700 36, 36, 79, 118, 36, 52, 118, 36, 61, 118, 00701 36, 36, 118, 12, 30, 30, 30, 30, 30, 118, 00702 118, 118, 118, 118, 118, 118, 118, 65, 50, 118, 00703 00704 35, 35, 35, 35, 118, 35, 118, 35, 118, 35, 00705 35, 35, 35, 35, 118, 35, 118, 35, 118, 35, 00706 118, 35, 35, 35, 35, 35, 35, 35, 35, 118, 00707 35, 35, 35, 35, 35, 65, 35, 35, 35, 35, 00708 35, 35, 50, 118, 117, 117, 117, 117, 118, 117, 00709 118, 117, 118, 117, 117, 117, 117, 117, 118, 117, 00710 118, 117, 118, 117, 118, 117, 117, 117, 117, 117, 00711 117, 117, 117, 118, 117, 117, 117, 65, 117, 117, 00712 117, 117, 117, 50, 117, 118, 116, 116, 116, 116, 00713 118, 116, 118, 116, 118, 116, 116, 116, 116, 116, 00714 00715 118, 116, 118, 116, 118, 116, 118, 116, 116, 116, 00716 116, 116, 116, 116, 116, 118, 116, 116, 116, 116, 00717 65, 116, 116, 116, 116, 116, 116, 50, 116, 118, 00718 36, 36, 36, 36, 118, 36, 118, 36, 118, 36, 00719 36, 36, 36, 36, 118, 36, 118, 36, 118, 36, 00720 118, 36, 36, 36, 36, 36, 36, 36, 36, 118, 00721 36, 36, 36, 36, 36, 65, 36, 36, 36, 36, 00722 36, 36, 50, 118, 30, 30, 30, 94, 118, 118, 00723 94, 118, 118, 118, 118, 118, 77, 60, 118, 56, 00724 57, 64, 35, 35, 35, 94, 35, 118, 35, 118, 00725 00726 35, 94, 118, 35, 35, 35, 35, 35, 118, 35, 00727 118, 35, 118, 35, 118, 35, 35, 35, 35, 35, 00728 35, 35, 77, 35, 60, 118, 35, 56, 35, 57, 00729 35, 35, 35, 64, 35, 35, 35, 35, 35, 117, 00730 117, 94, 117, 117, 118, 117, 118, 94, 117, 118, 00731 117, 117, 117, 117, 117, 118, 117, 118, 117, 118, 00732 117, 118, 117, 117, 117, 117, 117, 117, 77, 117, 00733 60, 117, 118, 57, 117, 117, 117, 64, 117, 117, 00734 117, 117, 117, 116, 116, 94, 116, 116, 118, 116, 00735 118, 94, 116, 118, 116, 116, 116, 116, 116, 118, 00736 00737 116, 118, 116, 118, 116, 118, 116, 116, 116, 116, 00738 116, 116, 77, 116, 60, 116, 118, 56, 116, 57, 00739 116, 116, 116, 64, 116, 116, 116, 116, 116, 116, 00740 36, 36, 36, 94, 36, 118, 36, 118, 36, 94, 00741 118, 36, 36, 36, 36, 36, 118, 36, 118, 36, 00742 118, 36, 118, 36, 36, 36, 36, 36, 36, 36, 00743 77, 36, 60, 118, 36, 56, 36, 57, 36, 36, 00744 36, 64, 36, 36, 36, 36, 36, 23, 30, 24, 00745 30, 92, 92, 118, 118, 118, 118, 118, 118, 86, 00746 100, 82, 106, 35, 92, 35, 35, 92, 118, 35, 00747 00748 118, 35, 35, 35, 35, 35, 118, 35, 118, 35, 00749 118, 35, 118, 35, 35, 86, 35, 35, 35, 35, 00750 35, 35, 100, 35, 35, 35, 82, 35, 106, 35, 00751 35, 35, 92, 117, 117, 92, 117, 118, 117, 118, 00752 117, 117, 117, 117, 117, 118, 117, 118, 117, 118, 00753 117, 118, 117, 86, 117, 117, 117, 117, 117, 117, 00754 100, 117, 117, 117, 106, 117, 117, 117, 117, 92, 00755 116, 116, 92, 116, 118, 116, 118, 116, 116, 116, 00756 116, 116, 118, 116, 118, 116, 118, 116, 118, 116, 00757 86, 116, 116, 116, 116, 116, 116, 100, 116, 116, 00758 00759 116, 82, 116, 106, 116, 116, 116, 116, 36, 92, 00760 36, 36, 92, 118, 36, 118, 36, 36, 36, 36, 00761 36, 118, 36, 118, 36, 118, 36, 118, 36, 36, 00762 86, 36, 36, 36, 36, 36, 36, 100, 36, 36, 00763 36, 82, 36, 106, 36, 36, 36, 8, 7, 118, 00764 118, 118, 118, 118, 35, 35, 118, 35, 35, 35, 00765 35, 35, 118, 35, 118, 35, 118, 35, 118, 35, 00766 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 00767 117, 117, 118, 117, 117, 117, 117, 117, 118, 117, 00768 118, 117, 118, 117, 118, 117, 117, 117, 117, 117, 00769 00770 117, 117, 117, 117, 117, 117, 116, 116, 118, 116, 00771 116, 116, 116, 116, 118, 116, 118, 116, 118, 116, 00772 118, 116, 116, 116, 116, 116, 116, 116, 116, 116, 00773 116, 116, 36, 36, 118, 36, 36, 36, 36, 36, 00774 118, 36, 118, 36, 118, 36, 118, 36, 36, 36, 00775 36, 36, 36, 36, 36, 36, 36, 36, 93, 93, 00776 118, 91, 118, 118, 118, 91, 118, 58, 73, 35, 00777 93, 35, 93, 118, 35, 35, 35, 35, 91, 35, 00778 118, 35, 118, 35, 118, 35, 91, 118, 35, 35, 00779 35, 35, 35, 35, 35, 35, 58, 35, 35, 73, 00780 00781 35, 93, 117, 93, 117, 118, 117, 117, 117, 91, 00782 117, 117, 118, 117, 118, 117, 118, 91, 117, 118, 00783 117, 117, 117, 117, 117, 117, 117, 58, 117, 117, 00784 73, 117, 117, 93, 116, 93, 116, 118, 116, 116, 00785 116, 91, 116, 116, 118, 116, 118, 116, 118, 91, 00786 116, 118, 116, 116, 116, 116, 116, 116, 116, 58, 00787 116, 116, 73, 116, 116, 36, 93, 36, 93, 118, 00788 36, 36, 36, 36, 91, 36, 118, 36, 118, 36, 00789 118, 36, 91, 118, 36, 36, 36, 36, 36, 36, 00790 36, 36, 58, 36, 36, 73, 36, 88, 118, 88, 00791 00792 118, 118, 71, 35, 35, 88, 35, 35, 118, 35, 00793 88, 118, 35, 118, 35, 35, 35, 35, 35, 71, 00794 35, 35, 35, 35, 117, 88, 117, 117, 117, 118, 00795 88, 117, 118, 117, 118, 117, 117, 117, 117, 71, 00796 117, 117, 117, 117, 117, 116, 88, 116, 116, 116, 00797 118, 88, 116, 118, 116, 118, 116, 116, 116, 116, 00798 71, 116, 116, 116, 116, 116, 36, 36, 88, 36, 00799 36, 118, 36, 88, 118, 36, 118, 36, 36, 36, 00800 36, 36, 71, 36, 36, 36, 36, 15, 118, 118, 00801 35, 35, 35, 35, 118, 35, 118, 35, 35, 35, 00802 00803 35, 35, 35, 35, 35, 117, 117, 117, 117, 118, 00804 117, 118, 117, 117, 117, 117, 117, 117, 117, 117, 00805 116, 116, 116, 116, 118, 116, 118, 116, 116, 116, 00806 116, 116, 116, 116, 116, 36, 36, 36, 36, 118, 00807 36, 118, 36, 36, 36, 36, 36, 36, 36, 36, 00808 41, 90, 118, 90, 118, 76, 63, 35, 35, 35, 00809 90, 35, 118, 35, 90, 118, 35, 35, 35, 35, 00810 35, 76, 35, 35, 35, 63, 117, 117, 90, 117, 00811 117, 118, 90, 117, 118, 117, 117, 117, 117, 76, 00812 117, 117, 117, 63, 117, 116, 116, 90, 116, 116, 00813 00814 118, 90, 116, 118, 116, 116, 116, 116, 76, 116, 00815 116, 116, 63, 116, 36, 36, 36, 90, 36, 118, 00816 36, 90, 118, 36, 36, 36, 36, 36, 76, 36, 00817 36, 36, 63, 26, 28, 87, 87, 118, 49, 35, 00818 87, 35, 35, 87, 118, 35, 35, 49, 35, 35, 00819 35, 35, 87, 117, 117, 87, 117, 118, 117, 49, 00820 117, 117, 117, 117, 117, 87, 116, 116, 87, 116, 00821 118, 116, 49, 116, 116, 116, 116, 116, 36, 87, 00822 36, 36, 87, 118, 36, 36, 49, 36, 36, 36, 00823 36, 17, 25, 35, 35, 35, 35, 35, 35, 117, 00824 00825 117, 117, 117, 117, 117, 116, 116, 116, 116, 116, 00826 116, 36, 36, 36, 36, 36, 36, 27, 59, 69, 00827 35, 35, 59, 35, 69, 35, 35, 35, 117, 59, 00828 117, 69, 117, 117, 117, 117, 116, 59, 116, 69, 00829 116, 116, 116, 116, 36, 36, 59, 36, 69, 36, 00830 36, 36, 70, 35, 35, 70, 35, 35, 117, 70, 00831 117, 117, 117, 116, 70, 116, 116, 116, 36, 36, 00832 70, 36, 36, 35, 35, 35, 117, 117, 117, 116, 00833 116, 116, 36, 36, 36, 35, 35, 35, 117, 117, 00834 117, 116, 116, 116, 36, 36, 36, 89, 74, 35, 00835 00836 89, 35, 74, 35, 89, 117, 74, 117, 117, 89, 00837 116, 74, 116, 116, 36, 89, 36, 74, 36, 35, 00838 117, 116, 36, 35, 117, 116, 36, 35, 117, 116, 00839 36, 35, 117, 116, 36, 35, 117, 116, 36, 72, 00840 35, 72, 72, 117, 72, 116, 36, 72 00841 } ; 00842 00843 static yyconst flex_int16_t yy_accept[2890] = 00844 { 0, 00845 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00846 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 00847 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 00848 5, 5, 5, 5, 5, 6, 8, 11, 13, 15, 00849 17, 20, 23, 26, 29, 32, 35, 38, 41, 44, 00850 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 00851 77, 80, 83, 86, 89, 93, 96, 99, 103, 107, 00852 111, 115, 119, 123, 127, 131, 135, 139, 143, 147, 00853 151, 155, 159, 163, 167, 171, 175, 179, 183, 187, 00854 191, 193, 197, 201, 205, 209, 213, 217, 221, 225, 00855 00856 229, 233, 237, 241, 245, 249, 253, 257, 261, 265, 00857 269, 273, 277, 281, 284, 288, 291, 294, 297, 301, 00858 305, 309, 313, 317, 321, 325, 329, 333, 337, 341, 00859 345, 349, 353, 357, 361, 365, 369, 373, 377, 381, 00860 384, 388, 392, 394, 398, 400, 403, 407, 410, 414, 00861 418, 422, 426, 430, 434, 438, 442, 446, 450, 454, 00862 458, 462, 466, 470, 474, 478, 482, 486, 490, 494, 00863 498, 501, 505, 509, 510, 511, 514, 517, 518, 520, 00864 522, 524, 526, 528, 530, 532, 534, 536, 538, 540, 00865 542, 544, 546, 548, 550, 552, 554, 556, 558, 560, 00866 00867 562, 564, 566, 568, 570, 572, 574, 576, 577, 579, 00868 581, 583, 584, 585, 585, 586, 586, 587, 588, 589, 00869 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 00870 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 00871 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 00872 621, 622, 623, 624, 625, 627, 628, 630, 631, 633, 00873 635, 637, 639, 641, 643, 645, 647, 649, 651, 653, 00874 655, 657, 660, 662, 664, 666, 668, 670, 672, 674, 00875 676, 678, 680, 682, 684, 686, 688, 690, 692, 694, 00876 696, 698, 700, 702, 704, 706, 706, 708, 710, 711, 00877 00878 712, 714, 716, 718, 720, 722, 724, 726, 728, 730, 00879 732, 734, 736, 738, 741, 743, 745, 747, 749, 751, 00880 753, 755, 757, 759, 761, 763, 765, 767, 769, 771, 00881 773, 775, 777, 779, 781, 783, 784, 786, 788, 789, 00882 791, 793, 795, 797, 799, 801, 803, 805, 807, 809, 00883 811, 813, 815, 818, 820, 822, 824, 826, 828, 830, 00884 832, 834, 836, 838, 840, 842, 844, 846, 848, 850, 00885 852, 854, 856, 858, 860, 862, 862, 862, 864, 865, 00886 867, 869, 870, 872, 873, 875, 877, 879, 881, 883, 00887 885, 887, 889, 891, 893, 895, 897, 899, 902, 904, 00888 00889 906, 908, 910, 912, 914, 916, 918, 920, 922, 924, 00890 926, 928, 930, 932, 934, 936, 938, 940, 942, 944, 00891 946, 948, 950, 951, 951, 953, 954, 955, 956, 957, 00892 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 00893 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 00894 978, 979, 980, 981, 982, 982, 983, 983, 984, 985, 00895 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 00896 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 00897 1007, 1008, 1009, 1010, 1011, 1012, 1014, 1015, 1016, 1017, 00898 1018, 1019, 1020, 1021, 1022, 1024, 1025, 1027, 1029, 1032, 00899 00900 1034, 1036, 1038, 1040, 1042, 1044, 1046, 1048, 1050, 1052, 00901 1054, 1056, 1058, 1060, 1062, 1064, 1066, 1068, 1070, 1072, 00902 1074, 1076, 1078, 1080, 1082, 1085, 1087, 1089, 1091, 1093, 00903 1095, 1097, 1099, 1101, 1103, 1104, 1106, 1108, 1111, 1113, 00904 1115, 1117, 1119, 1121, 1123, 1125, 1127, 1129, 1131, 1133, 00905 1135, 1137, 1139, 1141, 1143, 1145, 1147, 1149, 1151, 1153, 00906 1155, 1157, 1159, 1161, 1164, 1166, 1168, 1170, 1172, 1174, 00907 1176, 1178, 1180, 1181, 1183, 1185, 1188, 1190, 1192, 1194, 00908 1196, 1198, 1200, 1202, 1204, 1206, 1208, 1210, 1212, 1214, 00909 1216, 1218, 1220, 1222, 1224, 1226, 1228, 1230, 1232, 1234, 00910 00911 1236, 1238, 1241, 1243, 1245, 1247, 1249, 1251, 1253, 1255, 00912 1257, 1258, 1259, 1261, 1263, 1266, 1268, 1270, 1272, 1274, 00913 1276, 1278, 1280, 1282, 1284, 1286, 1288, 1290, 1292, 1294, 00914 1296, 1298, 1300, 1302, 1304, 1306, 1308, 1310, 1312, 1314, 00915 1316, 1319, 1321, 1323, 1325, 1327, 1329, 1331, 1333, 1335, 00916 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 00917 1346, 1347, 1348, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 00918 1356, 1356, 1357, 1359, 1359, 1360, 1362, 1363, 1364, 1366, 00919 1367, 1367, 1369, 1370, 1372, 1373, 1374, 1376, 1377, 1377, 00920 1378, 1379, 1380, 1380, 1380, 1381, 1382, 1383, 1384, 1385, 00921 00922 1386, 1388, 1388, 1390, 1391, 1392, 1393, 1394, 1396, 1397, 00923 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 00924 1410, 1413, 1414, 1416, 1419, 1421, 1423, 1426, 1428, 1429, 00925 1432, 1434, 1437, 1439, 1441, 1444, 1446, 1447, 1449, 1451, 00926 1453, 1454, 1455, 1457, 1459, 1461, 1463, 1465, 1467, 1470, 00927 1471, 1474, 1476, 1478, 1480, 1482, 1485, 1487, 1490, 1492, 00928 1494, 1496, 1498, 1500, 1502, 1504, 1506, 1507, 1509, 1512, 00929 1513, 1515, 1518, 1520, 1522, 1525, 1527, 1528, 1531, 1533, 00930 1536, 1538, 1540, 1543, 1545, 1546, 1548, 1550, 1552, 1553, 00931 1555, 1557, 1559, 1561, 1563, 1565, 1568, 1569, 1572, 1574, 00932 00933 1576, 1578, 1580, 1583, 1585, 1588, 1590, 1592, 1594, 1596, 00934 1598, 1600, 1602, 1604, 1605, 1607, 1610, 1611, 1613, 1616, 00935 1618, 1620, 1623, 1625, 1626, 1629, 1631, 1634, 1636, 1638, 00936 1641, 1643, 1644, 1646, 1648, 1650, 1651, 1652, 1654, 1656, 00937 1658, 1660, 1662, 1664, 1667, 1668, 1671, 1673, 1675, 1677, 00938 1679, 1682, 1684, 1687, 1689, 1691, 1693, 1695, 1697, 1699, 00939 1701, 1703, 1704, 1705, 1707, 1710, 1711, 1713, 1716, 1718, 00940 1720, 1723, 1725, 1726, 1729, 1731, 1734, 1736, 1738, 1741, 00941 1743, 1744, 1746, 1748, 1750, 1751, 1752, 1754, 1756, 1758, 00942 1760, 1762, 1764, 1767, 1768, 1771, 1773, 1775, 1777, 1779, 00943 00944 1782, 1784, 1787, 1789, 1791, 1793, 1795, 1797, 1799, 1801, 00945 1803, 1804, 1806, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 00946 1815, 1817, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 00947 1826, 1826, 1827, 1827, 1827, 1828, 1829, 1830, 1831, 1833, 00948 1834, 1835, 1835, 1835, 1836, 1836, 1837, 1838, 1839, 1839, 00949 1840, 1841, 1842, 1842, 1842, 1843, 1843, 1843, 1843, 1844, 00950 1845, 1846, 1847, 1849, 1850, 1851, 1852, 1854, 1855, 1856, 00951 1857, 1858, 1860, 1861, 1862, 1864, 1866, 1868, 1870, 1873, 00952 1875, 1877, 1878, 1879, 1881, 1882, 1884, 1886, 1888, 1889, 00953 1891, 1893, 1895, 1896, 1897, 1899, 1900, 1901, 1902, 1904, 00954 00955 1906, 1908, 1910, 1913, 1915, 1917, 1919, 1922, 1924, 1926, 00956 1928, 1929, 1931, 1932, 1933, 1935, 1937, 1939, 1941, 1944, 00957 1946, 1948, 1949, 1950, 1952, 1953, 1955, 1957, 1959, 1960, 00958 1962, 1964, 1966, 1967, 1969, 1970, 1971, 1972, 1974, 1976, 00959 1978, 1980, 1983, 1985, 1987, 1989, 1992, 1994, 1996, 1998, 00960 1999, 2001, 2002, 2003, 2005, 2007, 2009, 2011, 2014, 2016, 00961 2018, 2019, 2020, 2022, 2023, 2025, 2027, 2029, 2030, 2032, 00962 2034, 2036, 2037, 2038, 2040, 2041, 2042, 2043, 2045, 2047, 00963 2049, 2051, 2054, 2056, 2058, 2060, 2063, 2065, 2067, 2069, 00964 2070, 2072, 2073, 2074, 2076, 2078, 2080, 2082, 2085, 2087, 00965 00966 2089, 2090, 2091, 2093, 2094, 2096, 2098, 2100, 2101, 2103, 00967 2105, 2107, 2108, 2109, 2111, 2112, 2113, 2114, 2116, 2118, 00968 2120, 2122, 2125, 2127, 2129, 2131, 2134, 2136, 2138, 2140, 00969 2141, 2142, 2143, 2144, 2145, 2145, 2146, 2147, 2148, 2149, 00970 2150, 2151, 2152, 2153, 2154, 2154, 2155, 2157, 2157, 2157, 00971 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2165, 00972 2166, 2166, 2167, 2167, 2167, 2167, 2168, 2170, 2171, 2171, 00973 2171, 2171, 2171, 2171, 2171, 2173, 2175, 2175, 2176, 2176, 00974 2177, 2178, 2180, 2181, 2182, 2183, 2184, 2186, 2189, 2190, 00975 2191, 2192, 2194, 2196, 2198, 2200, 2202, 2204, 2206, 2208, 00976 00977 2209, 2211, 2212, 2214, 2215, 2216, 2217, 2219, 2222, 2224, 00978 2225, 2226, 2227, 2228, 2229, 2230, 2233, 2236, 2237, 2239, 00979 2240, 2242, 2244, 2247, 2249, 2251, 2253, 2255, 2257, 2260, 00980 2261, 2262, 2263, 2265, 2267, 2269, 2271, 2273, 2275, 2277, 00981 2279, 2280, 2282, 2283, 2285, 2286, 2287, 2288, 2290, 2293, 00982 2295, 2296, 2297, 2298, 2299, 2300, 2303, 2306, 2307, 2309, 00983 2311, 2313, 2316, 2318, 2320, 2322, 2324, 2326, 2329, 2330, 00984 2331, 2332, 2334, 2336, 2338, 2340, 2342, 2344, 2346, 2348, 00985 2349, 2351, 2352, 2354, 2355, 2356, 2357, 2359, 2362, 2364, 00986 2365, 2366, 2367, 2368, 2369, 2370, 2373, 2376, 2377, 2379, 00987 00988 2380, 2382, 2384, 2387, 2389, 2391, 2393, 2395, 2397, 2400, 00989 2401, 2402, 2403, 2405, 2407, 2409, 2411, 2413, 2415, 2417, 00990 2419, 2420, 2422, 2423, 2425, 2426, 2427, 2428, 2430, 2433, 00991 2435, 2436, 2437, 2438, 2439, 2440, 2441, 2444, 2447, 2448, 00992 2450, 2451, 2453, 2455, 2458, 2460, 2462, 2464, 2466, 2468, 00993 2470, 2471, 2472, 2473, 2473, 2474, 2475, 2477, 2478, 2479, 00994 2480, 2481, 2482, 2483, 2483, 2483, 2483, 2483, 2484, 2485, 00995 2486, 2487, 2489, 2489, 2490, 2492, 2492, 2494, 2494, 2495, 00996 2495, 2495, 2495, 2495, 2496, 2497, 2497, 2497, 2497, 2497, 00997 2497, 2497, 2497, 2498, 2498, 2500, 2501, 2502, 2503, 2503, 00998 00999 2504, 2505, 2506, 2507, 2509, 2511, 2513, 2515, 2518, 2519, 01000 2521, 2524, 2525, 2528, 2529, 2531, 2532, 2533, 2534, 2535, 01001 2537, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2548, 01002 2549, 2552, 2554, 2556, 2558, 2559, 2561, 2562, 2563, 2564, 01003 2566, 2568, 2570, 2572, 2575, 2576, 2578, 2581, 2582, 2585, 01004 2586, 2588, 2589, 2590, 2591, 2592, 2594, 2596, 2597, 2598, 01005 2599, 2600, 2601, 2602, 2604, 2607, 2609, 2611, 2613, 2614, 01006 2616, 2617, 2618, 2619, 2621, 2623, 2625, 2627, 2630, 2631, 01007 2633, 2636, 2637, 2640, 2641, 2643, 2644, 2645, 2646, 2647, 01008 2649, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2660, 01009 01010 2661, 2664, 2666, 2668, 2670, 2671, 2673, 2674, 2675, 2676, 01011 2678, 2680, 2682, 2684, 2687, 2688, 2690, 2693, 2694, 2697, 01012 2698, 2700, 2701, 2702, 2703, 2704, 2706, 2708, 2709, 2710, 01013 2711, 2712, 2713, 2714, 2715, 2717, 2718, 2721, 2723, 2725, 01014 2727, 2728, 2730, 2731, 2731, 2731, 2731, 2733, 2734, 2734, 01015 2735, 2736, 2737, 2738, 2738, 2738, 2738, 2738, 2738, 2739, 01016 2740, 2741, 2743, 2743, 2743, 2743, 2744, 2745, 2746, 2747, 01017 2747, 2747, 2748, 2748, 2748, 2748, 2748, 2749, 2751, 2751, 01018 2751, 2751, 2751, 2751, 2751, 2751, 2751, 2751, 2753, 2755, 01019 2757, 2757, 2758, 2759, 2760, 2761, 2763, 2765, 2767, 2770, 01020 01021 2771, 2772, 2773, 2775, 2777, 2779, 2781, 2782, 2783, 2785, 01022 2786, 2787, 2788, 2789, 2791, 2794, 2795, 2796, 2797, 2798, 01023 2799, 2800, 2801, 2802, 2803, 2806, 2809, 2812, 2813, 2815, 01024 2816, 2817, 2818, 2820, 2822, 2824, 2827, 2828, 2829, 2830, 01025 2832, 2834, 2836, 2838, 2839, 2840, 2842, 2843, 2844, 2845, 01026 2846, 2848, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, 01027 2861, 2864, 2867, 2868, 2870, 2871, 2872, 2873, 2875, 2877, 01028 2879, 2882, 2883, 2884, 2885, 2887, 2889, 2891, 2893, 2894, 01029 2895, 2897, 2898, 2899, 2900, 2901, 2903, 2906, 2907, 2908, 01030 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2918, 2921, 2924, 01031 01032 2925, 2927, 2928, 2929, 2930, 2932, 2934, 2936, 2939, 2940, 01033 2941, 2942, 2944, 2946, 2948, 2950, 2951, 2952, 2954, 2955, 01034 2956, 2957, 2958, 2960, 2963, 2964, 2965, 2966, 2967, 2968, 01035 2969, 2970, 2971, 2972, 2975, 2978, 2981, 2982, 2984, 2986, 01036 2986, 2986, 2986, 2987, 2987, 2988, 2988, 2989, 2990, 2990, 01037 2990, 2990, 2990, 2990, 2991, 2992, 2993, 2993, 2993, 2993, 01038 2993, 2994, 2995, 2996, 2997, 2997, 2997, 2997, 2997, 2997, 01039 2997, 2997, 2998, 2998, 2998, 2998, 2998, 2999, 2999, 2999, 01040 2999, 2999, 2999, 3001, 3002, 3003, 3004, 3006, 3008, 3010, 01041 3011, 3012, 3013, 3014, 3016, 3018, 3020, 3022, 3023, 3024, 01042 01043 3025, 3026, 3027, 3028, 3029, 3031, 3032, 3033, 3034, 3035, 01044 3037, 3038, 3039, 3040, 3041, 3042, 3045, 3046, 3047, 3048, 01045 3050, 3052, 3054, 3055, 3056, 3057, 3058, 3060, 3062, 3064, 01046 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3075, 3076, 01047 3077, 3078, 3080, 3081, 3082, 3083, 3084, 3087, 3088, 3089, 01048 3090, 3092, 3094, 3096, 3097, 3098, 3099, 3100, 3102, 3104, 01049 3106, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3117, 01050 3118, 3119, 3120, 3121, 3123, 3124, 3125, 3126, 3127, 3128, 01051 3131, 3132, 3133, 3134, 3136, 3138, 3140, 3141, 3142, 3143, 01052 3144, 3146, 3148, 3150, 3152, 3153, 3154, 3155, 3156, 3157, 01053 01054 3158, 3159, 3161, 3162, 3163, 3164, 3165, 3167, 3168, 3169, 01055 3170, 3171, 3172, 3175, 3175, 3175, 3175, 3176, 3176, 3177, 01056 3177, 3177, 3178, 3178, 3178, 3178, 3178, 3179, 3180, 3181, 01057 3183, 3183, 3183, 3183, 3183, 3184, 3185, 3186, 3187, 3187, 01058 3187, 3187, 3187, 3187, 3187, 3188, 3190, 3191, 3192, 3192, 01059 3192, 3193, 3193, 3193, 3193, 3193, 3193, 3194, 3195, 3197, 01060 3199, 3201, 3204, 3205, 3206, 3207, 3208, 3210, 3212, 3214, 01061 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3224, 3227, 3229, 01062 3231, 3232, 3233, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 01063 3242, 3244, 3246, 3248, 3251, 3252, 3253, 3254, 3255, 3257, 01064 01065 3259, 3261, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3271, 01066 3274, 3276, 3277, 3278, 3280, 3281, 3282, 3283, 3284, 3285, 01067 3286, 3288, 3290, 3292, 3295, 3296, 3297, 3298, 3299, 3301, 01068 3303, 3305, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3315, 01069 3318, 3320, 3322, 3323, 3324, 3326, 3327, 3328, 3329, 3330, 01070 3331, 3332, 3333, 3335, 3337, 3339, 3342, 3343, 3344, 3345, 01071 3346, 3348, 3350, 3352, 3354, 3355, 3356, 3357, 3358, 3359, 01072 3360, 3362, 3365, 3367, 3369, 3370, 3371, 3373, 3374, 3375, 01073 3376, 3377, 3378, 3378, 3378, 3378, 3378, 3378, 3380, 3380, 01074 3380, 3382, 3382, 3382, 3383, 3383, 3385, 3386, 3386, 3386, 01075 01076 3386, 3386, 3387, 3388, 3389, 3390, 3390, 3391, 3391, 3391, 01077 3391, 3391, 3391, 3392, 3392, 3392, 3393, 3394, 3394, 3394, 01078 3394, 3396, 3397, 3400, 3402, 3403, 3404, 3405, 3406, 3408, 01079 3410, 3412, 3414, 3415, 3417, 3418, 3419, 3420, 3421, 3422, 01080 3424, 3425, 3426, 3428, 3430, 3431, 3432, 3433, 3435, 3436, 01081 3439, 3441, 3442, 3443, 3444, 3445, 3447, 3449, 3451, 3453, 01082 3454, 3456, 3457, 3458, 3459, 3460, 3461, 3463, 3464, 3465, 01083 3467, 3468, 3469, 3470, 3472, 3473, 3476, 3478, 3479, 3480, 01084 3481, 3482, 3484, 3486, 3488, 3490, 3491, 3493, 3494, 3495, 01085 3496, 3497, 3498, 3500, 3501, 3502, 3504, 3506, 3507, 3508, 01086 01087 3509, 3511, 3512, 3515, 3517, 3518, 3519, 3520, 3521, 3523, 01088 3525, 3527, 3529, 3530, 3532, 3533, 3534, 3535, 3536, 3537, 01089 3539, 3540, 3541, 3543, 3545, 3546, 3547, 3548, 3549, 3549, 01090 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3550, 3551, 3551, 01091 3551, 3551, 3551, 3552, 3553, 3554, 3555, 3555, 3555, 3555, 01092 3555, 3555, 3555, 3555, 3555, 3555, 3555, 3555, 3556, 3558, 01093 3559, 3560, 3561, 3562, 3564, 3566, 3568, 3570, 3571, 3572, 01094 3573, 3574, 3575, 3576, 3577, 3578, 3579, 3580, 3581, 3582, 01095 3584, 3585, 3586, 3587, 3588, 3590, 3592, 3594, 3596, 3597, 01096 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 01097 01098 3608, 3610, 3611, 3612, 3613, 3614, 3616, 3618, 3620, 3622, 01099 3623, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 01100 3633, 3634, 3636, 3637, 3638, 3639, 3640, 3642, 3644, 3646, 01101 3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657, 01102 3658, 3659, 3659, 3659, 3659, 3659, 3659, 3659, 3659, 3660, 01103 3662, 3662, 3662, 3662, 3663, 3664, 3665, 3666, 3668, 3668, 01104 3668, 3668, 3668, 3668, 3668, 3668, 3669, 3669, 3670, 3670, 01105 3672, 3675, 3676, 3677, 3678, 3680, 3682, 3684, 3686, 3689, 01106 3690, 3691, 3692, 3693, 3694, 3695, 3696, 3698, 3699, 3701, 01107 3702, 3704, 3707, 3708, 3709, 3710, 3712, 3714, 3716, 3718, 01108 01109 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, 3730, 3731, 01110 3733, 3734, 3736, 3739, 3740, 3741, 3742, 3744, 3746, 3748, 01111 3750, 3753, 3754, 3755, 3756, 3757, 3758, 3759, 3760, 3762, 01112 3763, 3765, 3766, 3768, 3771, 3772, 3773, 3774, 3776, 3778, 01113 3780, 3782, 3785, 3786, 3787, 3788, 3789, 3790, 3791, 3792, 01114 3794, 3795, 3797, 3798, 3798, 3798, 3798, 3798, 3798, 3798, 01115 3798, 3798, 3799, 3799, 3800, 3802, 3803, 3803, 3803, 3803, 01116 3803, 3804, 3804, 3804, 3804, 3804, 3805, 3807, 3808, 3810, 01117 3813, 3815, 3816, 3817, 3818, 3819, 3821, 3822, 3823, 3824, 01118 3825, 3826, 3828, 3829, 3831, 3834, 3836, 3837, 3838, 3839, 01119 01120 3840, 3842, 3843, 3844, 3845, 3846, 3847, 3849, 3850, 3852, 01121 3855, 3857, 3858, 3859, 3860, 3861, 3863, 3864, 3865, 3866, 01122 3867, 3868, 3870, 3871, 3873, 3876, 3878, 3879, 3880, 3881, 01123 3882, 3884, 3885, 3886, 3887, 3888, 3889, 3889, 3889, 3889, 01124 3889, 3889, 3889, 3889, 3889, 3889, 3890, 3891, 3891, 3891, 01125 3891, 3891, 3891, 3891, 3891, 3891, 3892, 3893, 3894, 3896, 01126 3898, 3899, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3907, 01127 3908, 3909, 3911, 3913, 3914, 3915, 3916, 3917, 3918, 3919, 01128 3920, 3921, 3922, 3923, 3924, 3926, 3928, 3929, 3930, 3931, 01129 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3941, 3943, 01130 01131 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 3951, 3951, 01132 3951, 3951, 3951, 3952, 3952, 3952, 3953, 3954, 3956, 3956, 01133 3956, 3956, 3956, 3957, 3957, 3957, 3958, 3959, 3960, 3962, 01134 3964, 3967, 3968, 3969, 3970, 3971, 3973, 3974, 3975, 3977, 01135 3978, 3979, 3981, 3983, 3986, 3987, 3988, 3989, 3990, 3992, 01136 3993, 3994, 3996, 3997, 3998, 4000, 4002, 4005, 4006, 4007, 01137 4008, 4009, 4011, 4012, 4013, 4015, 4016, 4017, 4019, 4021, 01138 4024, 4025, 4026, 4027, 4028, 4030, 4031, 4032, 4034, 4034, 01139 4035, 4035, 4035, 4036, 4037, 4037, 4039, 4039, 4040, 4040, 01140 4040, 4040, 4040, 4042, 4043, 4046, 4047, 4049, 4050, 4051, 01141 01142 4052, 4053, 4055, 4056, 4059, 4060, 4062, 4063, 4064, 4065, 01143 4066, 4068, 4069, 4072, 4073, 4075, 4076, 4077, 4078, 4079, 01144 4081, 4082, 4085, 4086, 4088, 4089, 4090, 4091, 4092, 4093, 01145 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4094, 4095, 4096, 01146 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 01147 4107, 4108, 4109, 4110, 4111, 4112, 4113, 4114, 4115, 4116, 01148 4117, 4118, 4119, 4119, 4120, 4121, 4121, 4121, 4121, 4122, 01149 4124, 4126, 4127, 4128, 4129, 4130, 4132, 4134, 4135, 4136, 01150 4137, 4138, 4140, 4142, 4143, 4144, 4145, 4146, 4148, 4150, 01151 4151, 4152, 4153, 4153, 4154, 4154, 4154, 4155, 4157, 4158, 01152 01153 4159, 4160, 4162, 4163, 4164, 4165, 4167, 4168, 4169, 4170, 01154 4172, 4173, 4174, 4174, 4174, 4174, 4175, 4176, 4177, 4178, 01155 4179, 4180, 4181, 4182, 4183, 4184, 4185, 4186, 4186, 4186, 01156 4186, 4187, 4188, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 01157 4196, 4197, 4198, 4199, 4200, 4200, 4202, 4204, 4205, 4207, 01158 4209, 4210, 4212, 4214, 4215, 4217, 4219, 4220, 4220, 4221, 01159 4222, 4223, 4224, 4224, 4225, 4226, 4227, 4228, 4228, 4229, 01160 4230, 4231, 4232, 4232, 4233, 4234, 4235, 4236, 4236, 4237, 01161 4238, 4239, 4240, 4241, 4243, 4245, 4247, 4249, 4249 01162 } ; 01163 01164 static yyconst flex_int32_t yy_ec[256] = 01165 { 0, 01166 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 01167 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 01168 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01169 1, 2, 1, 5, 6, 1, 1, 1, 1, 1, 01170 1, 1, 1, 1, 7, 1, 1, 8, 9, 10, 01171 11, 12, 13, 8, 8, 8, 8, 1, 1, 1, 01172 1, 1, 1, 1, 14, 15, 16, 17, 18, 19, 01173 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 01174 23, 30, 31, 32, 33, 34, 35, 36, 37, 38, 01175 39, 1, 40, 1, 41, 1, 42, 43, 44, 45, 01176 01177 46, 47, 48, 49, 50, 23, 51, 52, 53, 54, 01178 55, 56, 23, 57, 58, 59, 60, 61, 62, 63, 01179 64, 65, 66, 1, 67, 1, 1, 1, 1, 1, 01180 1, 1, 1, 68, 1, 1, 1, 1, 1, 1, 01181 1, 1, 1, 1, 1, 69, 1, 1, 1, 1, 01182 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01183 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01184 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01185 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01186 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01187 01188 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01189 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01190 1, 1, 1, 1, 1, 70, 1, 1, 1, 1, 01191 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01192 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01193 1, 1, 1, 1, 1 01194 } ; 01195 01196 static yyconst flex_int32_t yy_meta[71] = 01197 { 0, 01198 1, 2, 3, 1, 4, 1, 5, 6, 6, 6, 01199 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 01200 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 01201 8, 8, 8, 8, 8, 8, 8, 8, 2, 1, 01202 9, 7, 7, 7, 7, 7, 7, 8, 8, 8, 01203 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 01204 8, 8, 8, 8, 8, 1, 1, 1, 1, 1 01205 } ; 01206 01207 static yyconst flex_int16_t yy_base[2936] = 01208 { 0, 01209 0, 69, 75, 144, 1635, 146, 152, 221, 227, 296, 01210 297, 298, 1611, 299, 368, 301, 1569, 304, 1605, 306, 01211 69, 221, 438, 307, 493, 0, 300, 303, 547, 317, 01212 323, 334, 327, 347, 1600,11319, 1596,11319, 1574, 0, 01213 521, 562, 485, 543, 551, 293, 278, 492, 0, 300, 01214 582, 315, 495, 549, 493, 508, 570, 594, 606, 493, 01215 595, 351, 0, 0, 1561, 1545, 144, 649, 655, 711, 01216 781, 655, 656, 711, 712, 659, 713, 838, 686, 782, 01217 783, 716, 784, 854, 857, 855, 873, 785, 354, 0, 01218 0, 1535, 680, 916, 965, 1018, 1061, 912, 907, 928, 01219 01220 929, 957, 1104, 989, 990, 1029, 1067, 1051, 1116, 1148, 01221 1194, 896, 1156, 0, 580, 0, 0, 1504, 806, 939, 01222 1253, 1323, 1253, 1093, 848, 1163, 786, 1095, 1380, 1254, 01223 1182, 1324, 1139, 1260, 1325, 1336, 1396, 1397, 1398,11319, 01224 632, 511, 1429, 673, 0, 1446, 1484, 0, 833, 1458, 01225 1508, 1562, 1481, 1399, 1462, 1480, 871, 1536, 1599, 1537, 01226 1539, 1583, 1257, 1568, 1617, 1636, 1634, 1647, 1659, 627, 01227 11319, 1483, 640,11319, 1472, 360,11319, 1471, 1450, 0, 01228 594, 627, 644, 643, 701, 965, 715, 538, 718,11319, 01229 11319, 645, 0, 720, 709, 729, 802, 837, 860, 908, 01230 01231 938, 954, 980,11319,11319, 857, 0, 0,11319, 1447, 01232 1430, 1427,11319, 1422, 991, 919, 0, 980, 987, 1006, 01233 1012, 1179, 1026, 1020, 986, 1016, 1027, 1198, 1028, 0, 01234 1037, 1036, 1074, 1083, 1095, 1052, 1193, 1069, 1101, 1107, 01235 1120, 1158, 1129, 1150, 1152, 1201, 1211, 1257, 1262, 1261, 01236 906, 0, 0, 0, 1401, 616, 1469, 1219, 1327, 1374, 01237 1592, 1661, 1538, 1334, 1652, 1678, 1691, 1701, 1702, 1718, 01238 1728, 1512, 1732, 1742, 1739, 1648, 1749, 1755, 1766, 1787, 01239 1784, 1793, 1814, 1789, 1788, 1800, 1830, 1811, 1833, 1840, 01240 1844, 1863, 988, 0, 0, 1357, 1359, 1534, 0, 1223, 01241 01242 1845, 1885, 1856, 1889, 1897, 1888, 1930, 1935, 1949, 1957, 01243 1963, 2007, 1896, 1956, 1989, 1998, 2014, 2031, 2058, 2056, 01244 2063, 2057, 2067, 2096, 2104, 2105, 2127, 2128, 2153, 2156, 01245 2106, 2160, 2164, 2182, 1050, 0, 0, 2219, 1275, 1956, 01246 2193, 2220, 2211, 2223, 1998, 2232, 2233, 2250, 2267, 2266, 01247 2285, 2281, 2282, 2306, 2312, 2330, 2308, 2323, 2341, 2339, 01248 2335, 2357, 2370, 2373, 2368, 2383, 2384, 2402, 2400, 2397, 01249 2418, 2424, 2439, 1396, 852, 1291, 1282, 1181, 0, 0, 01250 1307, 0, 2474, 1322, 2448, 2449, 2478, 2479, 2481, 2480, 01251 2490, 2497, 2519, 2531, 2529, 2548, 2538, 2541, 2572, 2575, 01252 01253 2571, 2582, 2586, 2605, 2615, 2616, 2621, 2637, 2638, 2632, 01254 2639, 2648, 2670, 2664, 2683, 2687, 2689, 2688, 1102, 1296, 01255 1140, 362,11319, 1289,11319, 1281, 0, 1276, 1333, 1338, 01256 1349, 1373, 1407, 1430, 1459, 1376, 1453, 1228, 0, 0, 01257 1480, 1482, 1479, 1500, 1561, 1484, 1541, 1585, 1588, 1588, 01258 1233, 0, 0, 0, 1568,11319, 1601, 1593, 1671, 2745, 01259 1615, 1681, 1703, 1838, 1877, 1849, 1723, 1751, 1762, 1899, 01260 1905, 1816, 1878, 1911, 1910, 1299, 1963, 2750, 1239, 1915, 01261 1983, 1982, 1994, 2025, 2029, 2815, 1926, 1977, 2054, 2041, 01262 2058, 2054, 2098, 2101, 0, 2099, 2682, 2750, 2885, 2752, 01263 01264 2751, 2753, 2815, 2817, 2818, 2685, 2819, 2822, 2885, 2887, 01265 2889, 2866, 2892, 2890, 2934, 2936, 2989, 2922, 2943, 2966, 01266 2991, 2982, 2995, 3007, 3065, 3037, 3039, 3071, 3038, 3076, 01267 3080, 2945, 3095,11319, 2143, 3102, 3115, 3174, 3171, 3166, 01268 3186, 3215, 3222, 3220, 3242, 3111, 3244, 3269, 3257, 3277, 01269 3306, 3271, 3285, 3318, 3313, 3369, 3344, 3353, 3370, 3375, 01270 3391, 3402, 3404, 3463, 3458, 3462, 3464, 3471, 3468, 3509, 01271 3518, 3520, 2148, 3008, 3400, 3579, 3552, 3579, 3581, 3582, 01272 3584, 3586, 3217, 3619, 3256, 3637, 3630, 3642, 3313, 3643, 01273 3646, 3659, 3660, 3713, 3692, 3690, 3715, 3716, 3729, 3732, 01274 01275 3725, 3791, 3766, 3793, 3796, 3764, 3798, 3812, 3850, 3805, 01276 1275, 2153, 3396, 3851, 3906, 3852, 3906, 3907, 3908, 3910, 01277 3913, 3600, 3854, 3653, 3945, 3912, 3966, 3967, 3969, 3970, 01278 3972, 3984, 4037, 4011, 4014, 4016, 4043, 4021, 4048, 4053, 01279 4111, 4054, 4086, 4111, 4113, 4115, 4142, 4154, 4161, 2164, 01280 2161, 2135, 2193, 2216, 2216, 2212, 2223, 2233, 2254, 2267, 01281 2301, 2266, 0, 2314, 2290, 2318, 2393, 2343, 2403, 2376, 01282 2418, 2457, 0, 2815, 2819, 2760, 2448, 2470, 0, 2544, 01283 2757, 0, 2549, 1207, 2575, 2581, 0, 2470, 2614, 2618, 01284 2751, 2504, 2816, 2819, 2530,11319,11319,11319,11319,11319, 01285 01286 1197, 3158, 0, 2602, 2818, 2950, 2694, 0, 0, 4212, 01287 2951, 2967, 2752, 2878, 2892, 2893, 3008, 3037, 2948, 4186, 01288 4064, 3063, 4213, 4217, 4216, 4215, 4120, 4242, 3103, 4248, 01289 4254, 4269, 4263, 4275, 4279, 4294, 3080, 4293, 4304, 4306, 01290 3105, 3131, 4323, 0, 0, 0, 0, 0, 4310, 3187, 01291 4325, 4328, 4335, 4350, 4341, 4352, 0, 4406, 4406, 4379, 01292 4409, 4382, 4421, 4383, 4436, 4435, 2994, 4462, 4456, 3289, 01293 4473, 4496, 4508, 4514, 4515, 4530, 3185, 4548, 4563, 4567, 01294 4557, 4594, 4578, 4613, 3155, 4618, 4618, 4636, 3161, 4643, 01295 0, 0, 0, 0, 0, 4655, 4125, 4652, 4662, 4673, 01296 01297 4685, 4702, 4703, 4753, 4823, 4711, 4743, 4755, 4758, 4764, 01298 4765, 4813, 4815, 3016, 4420, 4447, 3462, 4836, 4863, 4866, 01299 4873, 4629, 4884, 3799, 4696, 4887, 4834, 4767, 4888, 4889, 01300 4914, 3218, 4911, 4921, 4930, 3237, 3274, 4940, 0, 0, 01301 0, 0, 0, 4943, 4460, 4945, 4952, 4955, 4967, 4961, 01302 4977, 3156, 5027, 5027, 5000, 5030, 5004, 5039, 5033, 5056, 01303 5057, 1231, 3155, 5088, 5078, 3493, 5090, 5102, 5103, 5121, 01304 5099, 5117, 3883, 5140, 5143, 5142, 5155, 5158, 5144, 5177, 01305 3298, 5182, 5187, 5156, 3311, 3395, 5193, 0, 0, 0, 01306 0, 0, 5199, 4551, 5188, 5204, 5220, 5234, 5236, 5237, 01307 01308 5290, 5360, 5243, 5247, 5259, 5285, 5286, 5289, 5292, 5332, 01309 3409, 0, 0, 3425, 3452, 3209, 3505, 1186, 3521, 3520, 01310 0, 0, 3584, 3656, 3249, 3660, 3717, 3717, 3733, 1202, 01311 3799, 3809, 3825, 4273, 3913, 4332, 3915, 3940, 0, 3964, 01312 3972, 3443, 3500, 4057, 3525, 3694, 1145, 1113, 3698, 4077, 01313 3735, 4104, 4118, 4131, 1106, 4151, 4163, 3783, 4219, 4321, 01314 1064, 4341, 0, 5303, 3858, 4355, 0, 3977, 4364, 4424, 01315 4477, 5361, 4481, 4561, 5363, 5362, 5392, 5395, 5301, 5411, 01316 5422, 3986, 4096, 5424, 4127, 5302, 5438, 5440, 4176, 5441, 01317 5453, 5451, 4488, 4506, 5470, 4518, 4548, 4497, 5472, 5484, 01318 01319 5486, 5488, 5499, 5526, 5515, 5525, 5509, 5539, 5528, 5542, 01320 4552, 5550, 4573, 4707, 5563, 5566, 5574, 5580, 5596, 5602, 01321 5613, 4550, 4600, 5615, 4625, 5638, 5644, 5655, 4659, 5651, 01322 5673, 5677, 4685, 5684, 4698, 4722, 4678, 5684, 5692, 5701, 01323 5719, 5734, 5748, 5757, 5738, 5756, 5781, 5785, 5789, 4760, 01324 5782, 4763, 5033, 5809, 5826, 5827, 5836, 5812, 5843, 5867, 01325 4705, 4748, 5849, 4774, 5865, 5870, 5882, 4831, 5891, 5892, 01326 5876, 4811, 4816, 5894, 4887, 4948, 4832, 5915, 5929, 5931, 01327 5933, 5934, 5952, 5963, 5964, 5973, 5985, 5975, 5982, 4954, 01328 6006, 4970, 5198, 6008, 6012, 6029, 6030, 6031, 6033, 6054, 01329 01330 4895, 4908, 6063, 4928, 6056, 6075, 6077, 4970, 6079, 6106, 01331 6081, 4988, 5036, 6100, 5043, 5208, 5023, 6118, 6122, 6116, 01332 6123, 6125, 6164, 6162, 6147, 6141, 6171, 6174, 6176, 5214, 01333 5281, 5092, 5286, 5349, 5353, 5363, 5366, 5370, 5109, 5367, 01334 5133, 5214, 5400, 5409, 5488,11319, 0, 5306, 5438, 5467, 01335 5473, 5488, 5538, 5552, 5547, 6236, 5549,11319, 5557, 5577, 01336 5594, 5610, 5566, 5825, 5644, 5648, 0, 5587, 5609, 5634, 01337 5680, 5646, 5685, 5691, 0, 0, 5713, 5700, 5732, 5735, 01338 5760, 0, 5775, 5779, 1057, 5852, 0, 6178, 5881, 5902, 01339 5934, 6209, 6180, 6236, 6238, 6240, 6306, 6247, 0, 5901, 01340 01341 6306, 5967, 6307, 5974, 6238, 6032, 6308, 6309, 6310, 5987, 01342 5996, 6027, 6173, 6236, 6238, 6341, 6355, 6132, 6356, 6242, 01343 6367, 6368, 6357, 6371, 6378, 6382, 6389, 0, 6400, 6195, 01344 6249, 6250, 6418, 6419, 6420, 6425, 6462, 6519, 6401, 0, 01345 6243, 6455, 6284, 6517, 6306, 6448, 6310, 6518, 6519, 6523, 01346 6323, 6321, 6352, 6430, 6432, 6524, 6525, 6349, 6565, 6566, 01347 6579, 6583, 6608, 6617, 6620, 6627, 0, 6542, 6364, 6418, 01348 6423, 6630, 6629, 6633, 6643, 6642, 6695, 6695, 0, 6451, 01349 6696, 6465, 6699, 6475, 6693, 6464, 6700, 6701, 6744, 6493, 01350 6522, 6523, 6566, 6574, 6578, 6702, 6717, 6674, 6755, 6705, 01351 01352 6754, 6756, 6758, 6759, 6770, 6781, 6771, 0, 6793, 6758, 01353 6770, 6770, 6810, 6797, 6814, 6816, 6815, 6868, 6868, 0, 01354 6718, 6869, 6815, 6872, 6806, 6866, 6844, 6873, 6874, 6917, 01355 6811, 6868, 6870, 6868, 6877, 6894, 6927, 6928, 6880, 6930, 01356 6921, 6941, 6952, 6942, 6943, 6946, 6968, 6973, 0, 0, 01357 6926, 1055, 1024, 6938, 6929, 6962, 0, 1002, 6969, 6982, 01358 6967, 6978, 967, 6973, 6974, 6980, 6993, 6980, 6986, 6998, 01359 6999, 0, 7010, 7018, 0, 6995, 950, 6985, 7001, 7003, 01360 7008, 7000, 7009, 7010, 7020, 7024, 7028, 7022, 7034, 7045, 01361 7043, 7029, 938, 7042, 0, 7047, 7046, 7047, 7043, 7052, 01362 01363 7041, 7048, 7059, 7069, 7090, 7092, 7102, 7071, 7108, 7139, 01364 7093, 7057, 7125, 7055, 7142, 7081, 7094, 7075, 7114, 7151, 01365 7156, 7106, 7109, 7117, 7141, 7155, 7159, 7147, 7173, 7163, 01366 7174, 7189, 7203, 7204, 7164, 7216, 7167, 7180, 7187, 7226, 01367 7237, 7229, 7256, 7259, 7275, 7322, 7269, 7198, 7306, 7199, 01368 7303, 7208, 7229, 7230, 7250, 7275, 7324, 7261, 7266, 7260, 01369 7274, 7287, 7298, 7345, 7357, 7363, 7364, 7365, 7303, 7385, 01370 7324, 7333, 7332, 7388, 7386, 7404, 7413, 7411, 7425, 7451, 01371 7429, 7413, 7455, 7412, 7466, 7421, 7428, 7354, 7389, 7467, 01372 7473, 7451, 7476, 7470, 7410, 7448, 7461, 7471, 7496, 7470, 01373 01374 7499, 7514, 7518, 7525, 7494, 7539, 7492, 7514, 7489, 7543, 01375 7544, 7560, 7566, 7565, 7576, 7599, 7578, 7520, 7583, 7528, 01376 7615, 7576, 7583, 7523, 7581, 7608, 7629, 7593, 7603, 7601, 01377 7623, 7634, 7635, 7606, 7642, 7631, 7646, 7671, 7664, 7673, 01378 7625, 7685, 7643, 7648, 7646, 7671, 0, 7656, 7670, 7676, 01379 914, 7656, 7672, 7675, 7697, 7686, 7696, 7691, 7689, 7708, 01380 7699, 0, 7714, 7703, 7711, 7719, 7714, 7716,11319, 7720, 01381 7720, 893, 7724, 7734, 7727, 7727, 7737, 0, 7739, 7741, 01382 7738, 7732, 7734, 7739, 7741, 7741, 7748, 0, 0, 0, 01383 7749, 7742, 7749, 7767, 7759, 7775, 7786, 7796, 7770, 7782, 01384 01385 7767, 7799, 7805, 7817, 7821, 0, 7777, 7795, 7820, 7789, 01386 7800, 7822, 7824, 7843, 7844, 7822, 7836, 7835, 7832, 7837, 01387 7845, 7844, 7846, 7854, 7867, 7870, 7876, 7855, 7881, 7857, 01388 7881, 7875, 7903, 7905, 7912, 7921, 7894, 7883, 7886, 7949, 01389 7945, 7928, 0, 7886, 7908, 7971, 7927, 7930, 7926, 7926, 01390 7972, 7974, 7965, 7951, 7970, 7973, 7978, 7977, 7977, 7995, 01391 8005, 8022, 7993, 8024, 7995, 8014, 8022, 8038, 8040, 8051, 01392 8017, 8029, 8022, 8056, 8065, 8067, 8084, 0, 8047, 8043, 01393 8077, 8069, 8076, 8070, 8075, 8086, 8090, 8098, 8105, 8100, 01394 8097, 8099, 8105, 8105, 8106, 8113, 8128, 8131, 8132, 8120, 01395 01396 8141, 8118, 8127, 8130, 8155, 8174, 8158, 8179, 8147, 8137, 01397 8168, 8185, 8189, 8206, 0, 8139, 8188, 8201, 8154, 8188, 01398 8183, 8186, 8212, 8224, 8201, 8222, 8220, 8217, 8218, 8224, 01399 8223, 8224, 8231, 8245, 8247, 8251, 8230, 8272, 0, 8250, 01400 8243, 8246, 8260, 8253, 8256, 8253, 892, 8269, 8271, 8270, 01401 8273, 8270, 8272, 8287, 8274, 8277, 8295, 8296, 8294, 8296, 01402 8301, 8304, 8302, 8304, 8298, 8292, 8306, 8310, 8304, 8307, 01403 8303, 8317, 8311, 8314, 8322, 8334,11319, 8319, 8329, 8325, 01404 8336, 8335, 890, 8343, 8330, 8334, 8353, 8358, 8374, 8360, 01405 8361, 8363, 8363, 8393, 8398, 8403, 8399, 8371, 8365, 8401, 01406 01407 8405, 8398, 8380, 8397, 8430, 8402, 8404, 8413, 8407, 0, 01408 8404, 8424, 8424, 8438, 8437, 8453, 8446, 8436, 8438, 8459, 01409 8471, 8474, 8463, 8468, 8466, 8467, 8492, 8494, 8520, 8522, 01410 8441, 8456, 8474, 8491, 8484, 8510, 8488, 8529, 8493, 8507, 01411 8514, 0, 8510, 8512, 8515, 8535, 8551, 8522, 8531, 8534, 01412 8572, 8563, 8575, 8555, 8557, 8579, 8580, 8605, 8615, 8616, 01413 8619, 8545, 8572, 8589, 8591, 8591, 8586, 8609, 8631, 8616, 01414 8618, 8627, 8596, 0, 8625, 8624, 8630, 8632, 8639, 8654, 01415 8652, 8639, 8646, 8666, 8678, 8671, 8670, 8674, 8675, 8677, 01416 8693, 8710, 8717, 8720, 8672, 8669, 8691, 8694, 8690, 8709, 01417 01418 8710, 8744, 8715, 8716, 8724, 8735, 0, 8718, 8734, 8729, 01419 8735, 8738, 8751, 8739, 8751, 8745, 879, 8751, 8765, 8759, 01420 8754, 8765, 8761, 8763, 8780, 8768,11319, 8783, 8771, 0, 01421 8779, 8773, 8779, 8791, 8788, 8780, 8787, 8799, 8797, 8790, 01422 8795, 8796, 8796, 8801,11319, 0,11319,11319, 8801, 8814, 01423 11319, 8811, 8822, 8809, 8825, 8841, 8827, 8815, 0, 8835, 01424 8839, 8853, 8836, 8836, 8846, 8844, 8864, 8877, 8880, 8898, 01425 8854, 8851, 8870, 8877, 8876, 8881, 0, 8899, 0, 0, 01426 8887, 8879, 0, 8896, 8910, 8894, 8911, 8940, 8914, 8902, 01427 0, 8939, 8911, 8947, 8922, 8914, 8923, 8940, 8965, 8962, 01428 01429 8975, 8990, 8946, 8930, 8959, 8973, 8979, 8981, 0, 9001, 01430 0, 8987, 8964, 0, 8994, 9011, 9008, 9027, 9012, 9000, 01431 0, 9042, 9041, 9046, 9011, 9006, 9016, 9015, 9051, 9064, 01432 9067, 9086, 9024, 9018, 9022, 9039, 9049, 9055, 0, 9068, 01433 0, 0, 9067, 9082, 0, 9084, 9091, 9081, 9097, 9105, 01434 9099, 9092, 0, 9120, 9127, 9113, 9102, 9096, 9111, 9127, 01435 9137, 9150, 9153, 9172, 9124, 9140, 9150, 9152, 9151, 9154, 01436 0, 9154, 0, 0, 9158, 9170, 0, 9166, 9183, 9167, 01437 9183, 9198, 9181, 9180, 9183, 9202, 9197, 0, 9194, 9199, 01438 0, 9204, 9198,11319, 9214, 0, 9216, 9215, 9206, 9222, 01439 01440 9216, 9219, 9213, 9230, 9222, 9229,11319, 9235, 9221, 876, 01441 9239, 9241,11319, 9239, 9229,11319,11319, 9232, 9254, 9255, 01442 0, 9254, 9264, 9276, 9253, 9246, 9263, 9255, 9288, 9281, 01443 9277, 9302, 9271, 0, 9288, 9249, 825, 9299, 9299, 0, 01444 9300, 9296, 0, 0, 9299, 9311, 9320, 0, 9317, 9328, 01445 9343, 9320, 9306, 9329, 9322, 9357, 9366, 9356, 9365, 9336, 01446 0, 9349, 9325, 823, 9376, 9382, 0, 9381, 9337, 0, 01447 9371, 9388, 9392, 0, 9393, 9401, 9403, 9394, 9389, 9411, 01448 9405, 9424, 9419, 9438, 9443, 9410, 0, 9418, 9402, 820, 01449 9426, 9432, 0, 9438, 9430, 0, 0, 9434, 9457, 9459, 01450 01451 0, 9457, 9465, 9478, 9458, 9450, 9467, 9463, 9490, 9491, 01452 9509, 9512, 9473, 0, 9485, 9474, 815, 9500, 9500, 0, 01453 9498, 9489, 0, 0, 9496, 9513, 9521,11319, 9523,11319, 01454 9510, 9514, 9523, 9520, 9521, 9528, 9541, 9543, 9534, 9543, 01455 9534, 9536, 9539, 9553, 9540, 9543, 9549, 9556, 9549, 9546, 01456 9556, 9553, 768, 9567, 9555, 9560, 9555, 9576, 9598, 9567, 01457 9580, 9568, 9572, 9608, 9611, 9613, 9620, 9578, 9589, 9587, 01458 9602, 9615, 9614, 761, 9605, 9615, 9619, 9617, 9639, 9650, 01459 9629, 9642, 9636, 9640, 9662, 9679, 9690, 9683, 9648, 9660, 01460 9654, 9652, 9664, 9661, 729, 9680, 9668, 9673, 9676, 9703, 01461 01462 9714, 9692, 9706, 9701, 9707, 9732, 9729, 9743, 9731, 9714, 01463 9710, 9736, 9734, 9744, 9742, 724, 9737, 9745, 9748, 9743, 01464 9741, 9770, 9761, 9770, 9762, 9766, 9787, 9788, 9786, 9799, 01465 9796, 9789, 9793, 9791, 9801, 9802, 719, 9796, 9801, 9805, 01466 9803, 9816, 9813, 9818, 9817, 9828, 9826, 732,11319, 0, 01467 9828, 9840, 9830,11319, 9835, 9847, 9835, 0, 9836, 9850, 01468 655, 9841, 9859, 9858, 9858,11319, 9852,11319, 9853, 0, 01469 9864, 9856, 9870, 9858, 0, 9895, 9877, 9898, 9888, 9892, 01470 9881, 654, 9895, 9889, 9895, 9899, 0, 9898, 0, 9904, 01471 0, 9911, 9905, 9904, 9903, 0, 9930, 9947, 9946, 9948, 01472 01473 9910, 9946, 653, 9924, 9953, 9950, 9964, 0, 9929, 0, 01474 9958, 0, 9994, 9959, 9973, 9957, 0, 9995,10007,10011, 01475 9998, 9987, 9975, 645, 9997, 9996,10010,10011, 0,10004, 01476 0,10007, 0,10025,10013,10026,10020, 0,10051,10060, 01477 10041,10062,10028,10045, 644,10040,10052,10062,10062, 0, 01478 10058, 0,10060,10072,10063,10076,10067,10067,10086,10081, 01479 10074, 613,10093,10081, 603,10098,10105,10098,10098,10107, 01480 11319,10108,10096, 600,10097,10099, 598,10109,10128,10121, 01481 10150,10123,10116,10107,10131, 0,10128,10107, 591,10119, 01482 10120, 590,10140,10162,10170,10179,10162,10160,10149,10170, 01483 01484 0,10169,10158, 567,10166,10173, 560,10189,10194,10206, 01485 10220,10209,10202,10188,10217, 0,10214,10186, 559,10204, 01486 10207, 546,10225,10235,10231,10247,10236,10233,10237,10244, 01487 0,10256,10243, 517,10246,11319,10252,10266,10270,10258, 01488 10272,10274,10267,10270,10279,10271,10282,10269,10286,10280, 01489 10280,10284,10288,10290,10283,10290,10296,10305,10312,10331, 01490 10297,10305,10302,10302,10310,10316,10328,10315,10325,10327, 01491 10338,10345,10368,10327,10342,10335,10336,10340,10344,10363, 01492 10338,10353,10360,10370,10387,10386,10359,10375,10377,10382, 01493 10389,10392,10404,10391,10397,10398,10409,10413,10435,10401, 01494 01495 10412,10406,10410,10415,10420,10431,10424,10432,10435,10446, 01496 10450,10447,11319,10451,10443,11319,10454, 0,10451,10445, 01497 10443,10449,11319,10454,10468,11319,10467,10460, 0,10494, 01498 10493,10467,10461,10461,10466, 0,10473,10486, 0,10487, 01499 10486, 0,10503,10507,10502,10496,10494,10500, 0,10506, 01500 10524, 0,10524,10518, 0,10545,10528,10524,10519,10522, 01501 10536, 0,10546,10549, 0,10551,10546, 0,10563,10561, 01502 10557,10558,10556,10564, 0,10569,10567, 0,10566,11319, 01503 10566,10570,11319,11319,10585, 0,10573,11319,10571,10582, 01504 10575,10594, 0,10603,10604,10594, 0,10592,10597,10594, 01505 01506 10614, 0,10617,10621,10606, 0,10604,10614,10608,10624, 01507 0,10627,10641,10615, 0,10613,10631,10626,10644, 0, 01508 10653,10658,10646, 0,10645,10655,10648,10666,11319,11319, 01509 10667,10670,10662,10669,10663,10676,10670,10680,10671,10681, 01510 10675,10688,10683,10693,10684,10694,10691,10703,10698,10707, 01511 10699,10710,10703,10715,10709,10719,10712,10718,10714,10726, 01512 10720,11319,10714,11319,11319,10728,10720, 500,10720, 0, 01513 0,10734,10728, 494,10729, 0, 0,10735,10732, 474, 01514 10733, 0, 0,10747,10739, 317,10740, 0, 0,10754, 01515 10748, 306,10753,11319,10762,10767,10762, 0,10768,10773, 01516 01517 10768, 0,10773,10779,10772, 0,10779,10784,10778, 0, 01518 10783,10790,10772,10789,10783,10777,10795,10789,10783,10802, 01519 10796,10790,10809,10803,10797,10816,10809,10821,10815,10823, 01520 10827,10820,10832,10834,10827,10839,10841,10834,10847,10847, 01521 10843,10849,11319,11319, 301, 0, 0, 281, 0, 0, 01522 275, 0, 0, 185, 0, 0, 33,10852,10853,10856, 01523 10857,10859,10854,10855,10857,10858,10861,10860,10861,10865, 01524 10866,10868,10869,10870,10873,10875,10876,10890,10893,10894, 01525 10898,10899,11319, 0, 0, 0, 0,11319,10948,10957, 01526 10966,10975,10978,10986,10995,11004,11013,11022,11031,11035, 01527 01528 11039,11048,11057,11066,11070,11073,11078,11087,11090,11098, 01529 11107,11111,11118,11121,11129,11138,11147,11156,11165,11174, 01530 11183,11192,11201,11210,11219,11228,11237,11246,11255,11264, 01531 11273,11282,11291,11300,11309 01532 } ; 01533 01534 static yyconst flex_int16_t yy_def[2936] = 01535 { 0, 01536 2888, 1, 2888, 3, 1, 1, 2888, 7, 2888, 9, 01537 1, 1, 1, 1, 2888, 15, 1, 1, 1, 1, 01538 2889, 2890, 2888, 23, 23, 25, 25, 25, 25, 29, 01539 2889, 2889, 2891, 2891, 2888, 2888, 2888, 2888, 2888, 2892, 01540 2888, 2888, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 01541 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 2893, 01542 2893, 2888, 2894, 2895, 2895, 2895, 2896, 2895, 2895, 2897, 01543 2897, 71, 71, 71, 71, 71, 71, 71, 71, 71, 01544 71, 71, 71, 71, 71, 71, 71, 71, 2895, 2898, 01545 2899, 2888, 2900, 2900, 2901, 2901, 2901, 97, 97, 97, 01546 01547 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 01548 97, 111, 111, 2900, 2888, 2902, 2902, 2902, 2902, 2902, 01549 2903, 2903, 122, 122, 122, 122, 122, 122, 122, 122, 01550 122, 122, 122, 122, 122, 122, 122, 122, 122, 2888, 01551 2904, 2888, 2888, 2888, 2905, 2894, 2888, 2906, 2906, 2906, 01552 2907, 2907, 152, 152, 152, 152, 152, 152, 152, 152, 01553 152, 152, 152, 152, 152, 152, 152, 152, 152, 2888, 01554 2888, 2888, 2888, 2888, 2888, 2908, 2888, 2888, 2888, 2909, 01555 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2888, 01556 2888, 2888, 2910, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 01557 01558 2909, 2909, 2909, 2888, 2888, 2888, 2911, 2912, 2888, 2888, 01559 2888, 2888, 2888, 2913, 2888, 2888, 2914, 2914, 2914, 2914, 01560 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 01561 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 01562 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 01563 2888, 2894, 2894, 2895, 2895, 2915, 2895, 2895, 71, 71, 01564 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 01565 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 01566 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 01567 71, 71, 2895, 2898, 2898, 2899, 2888, 2900, 2900, 2900, 01568 01569 111, 111, 97, 97, 97, 111, 97, 97, 97, 111, 01570 97, 97, 312, 312, 312, 312, 312, 111, 111, 111, 01571 312, 97, 97, 97, 97, 97, 111, 111, 111, 312, 01572 97, 312, 312, 312, 2888, 2902, 2902, 2902, 2902, 122, 01573 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 01574 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 01575 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 01576 122, 122, 122, 2904, 2888, 2888, 2888, 2888, 2905, 146, 01577 2888, 2906, 2906, 2906, 152, 152, 152, 152, 152, 152, 01578 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 01579 01580 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 01581 152, 152, 152, 152, 152, 152, 152, 152, 2888, 2888, 01582 2888, 2908, 2888, 2888, 2888, 2888, 2909, 2909, 2909, 2909, 01583 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2888, 2910, 2910, 01584 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 01585 2888, 2911, 2911, 2912, 2888, 2888, 2888, 2914, 2914, 2916, 01586 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 01587 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 01588 2914, 2914, 2914, 2914, 2914, 2917, 2914, 2914, 2914, 2914, 01589 2914, 2914, 2914, 2914, 2895, 2895, 71, 71, 2918, 71, 01590 01591 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 01592 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 01593 71, 71, 71, 71, 2919, 71, 71, 71, 71, 71, 01594 71, 71, 71, 2888, 2900, 111, 97, 2920, 97, 97, 01595 111, 111, 97, 97, 111, 312, 111, 111, 97, 312, 01596 111, 97, 97, 97, 97, 111, 111, 111, 111, 111, 01597 111, 97, 97, 2921, 97, 312, 312, 312, 97, 97, 01598 97, 97, 2902, 122, 122, 2922, 122, 122, 122, 122, 01599 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 01600 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 01601 01602 122, 2923, 122, 122, 122, 122, 122, 122, 122, 122, 01603 2888, 2906, 152, 152, 2924, 152, 152, 152, 152, 152, 01604 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 01605 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 01606 2925, 152, 152, 152, 152, 152, 152, 152, 152, 2909, 01607 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 01608 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2888, 01609 2888, 2914, 2914, 2888, 2914, 2914, 2914, 2914, 2914, 2914, 01610 2888, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2888, 2914, 01611 2914, 2914, 2888, 2888, 2914, 2888, 2888, 2888, 2888, 2888, 01612 01613 2914, 2888, 2914, 2914, 2914, 2914, 2914, 2914, 2926, 2917, 01614 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2895, 71, 01615 71, 2895, 71, 71, 71, 71, 71, 71, 2895, 71, 01616 71, 71, 71, 71, 71, 71, 2895, 71, 71, 71, 01617 2895, 2895, 71, 2895, 2895, 2895, 2895, 2895, 71, 2895, 01618 71, 71, 71, 71, 71, 71, 2927, 2919, 71, 71, 01619 71, 71, 71, 71, 71, 71, 2900, 97, 97, 2900, 01620 97, 312, 312, 312, 312, 312, 2900, 312, 312, 312, 01621 97, 97, 97, 111, 2900, 111, 312, 111, 2900, 111, 01622 2900, 2900, 2900, 2900, 2900, 111, 2900, 111, 111, 111, 01623 01624 111, 111, 111, 2928, 2921, 97, 97, 111, 111, 111, 01625 111, 97, 97, 2902, 122, 122, 2902, 122, 122, 122, 01626 122, 122, 122, 2902, 122, 122, 122, 122, 122, 122, 01627 122, 2902, 122, 122, 122, 2902, 2902, 122, 2902, 2902, 01628 2902, 2902, 2902, 122, 2902, 122, 122, 122, 122, 122, 01629 122, 2929, 2923, 122, 122, 122, 122, 122, 122, 122, 01630 122, 2888, 2906, 152, 152, 2906, 152, 152, 152, 152, 01631 152, 152, 2906, 152, 152, 152, 152, 152, 152, 152, 01632 2906, 152, 152, 152, 2906, 2906, 152, 2906, 2906, 2906, 01633 2906, 2906, 152, 2906, 152, 152, 152, 152, 152, 152, 01634 01635 2930, 2925, 152, 152, 152, 152, 152, 152, 152, 152, 01636 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 01637 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2909, 2888, 01638 2888, 2914, 2888, 2888, 2914, 2914, 2914, 2914, 2914, 2914, 01639 2914, 2888, 2888, 2914, 2888, 2914, 2914, 2914, 2888, 2914, 01640 2914, 2914, 2888, 2888, 2914, 2888, 2888, 2888, 2914, 2914, 01641 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 01642 2895, 71, 2895, 2895, 71, 71, 71, 71, 71, 71, 01643 71, 2895, 2895, 71, 2895, 71, 71, 71, 2895, 71, 01644 71, 71, 2895, 2895, 71, 2895, 2895, 2895, 71, 71, 01645 01646 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 01647 2900, 312, 2900, 2900, 97, 312, 97, 97, 97, 97, 01648 97, 2900, 2900, 97, 2900, 111, 111, 111, 2900, 97, 01649 111, 312, 2900, 312, 2900, 2900, 2900, 97, 97, 97, 01650 312, 312, 111, 111, 312, 312, 312, 312, 312, 2902, 01651 122, 2902, 2902, 122, 122, 122, 122, 122, 122, 122, 01652 2902, 2902, 122, 2902, 122, 122, 122, 2902, 122, 122, 01653 122, 2902, 2902, 122, 2902, 2902, 2902, 122, 122, 122, 01654 122, 122, 122, 122, 122, 122, 122, 122, 122, 2906, 01655 152, 2906, 2906, 152, 152, 152, 152, 152, 152, 152, 01656 01657 2906, 2906, 152, 2906, 152, 152, 152, 2906, 152, 152, 01658 152, 2906, 2906, 152, 2906, 2906, 2906, 152, 152, 152, 01659 152, 152, 152, 152, 152, 152, 152, 152, 152, 2909, 01660 2909, 2909, 2909, 2909, 2888, 2909, 2909, 2909, 2909, 2909, 01661 2909, 2909, 2909, 2909, 2888, 2888, 2914, 2888, 2888, 2888, 01662 2914, 2914, 2914, 2914, 2914, 2931, 2914, 2888, 2888, 2914, 01663 2888, 2914, 2888, 2888, 2888, 2914, 2914, 2914, 2888, 2888, 01664 2888, 2888, 2888, 2888, 2914, 2914, 2888, 2914, 2888, 2914, 01665 2914, 2914, 2914, 2914, 2914, 2914, 2895, 71, 2895, 2895, 01666 2895, 71, 71, 71, 71, 71, 2932, 71, 2895, 2895, 01667 01668 71, 2895, 71, 2895, 2895, 2895, 71, 71, 71, 2895, 01669 2895, 2895, 2895, 2895, 2895, 71, 71, 2895, 71, 2895, 01670 71, 71, 71, 71, 71, 71, 71, 2900, 312, 2900, 01671 2900, 2900, 312, 312, 312, 312, 312, 2933, 97, 2900, 01672 2900, 97, 2900, 312, 2900, 2900, 2900, 312, 312, 312, 01673 2900, 2900, 2900, 2900, 2900, 312, 312, 2900, 97, 97, 01674 312, 312, 111, 111, 111, 111, 2902, 122, 2902, 2902, 01675 2902, 122, 122, 122, 122, 122, 2934, 122, 2902, 2902, 01676 122, 2902, 122, 2902, 2902, 2902, 122, 122, 122, 2902, 01677 2902, 2902, 2902, 2902, 2902, 122, 122, 2902, 122, 2902, 01678 01679 122, 122, 122, 122, 122, 122, 122, 2906, 152, 2906, 01680 2906, 2906, 152, 152, 152, 152, 152, 2935, 152, 2906, 01681 2906, 152, 2906, 152, 2906, 2906, 2906, 152, 152, 152, 01682 2906, 2906, 2906, 2906, 2906, 2906, 152, 152, 2906, 152, 01683 2906, 152, 152, 152, 152, 152, 152, 152, 2909, 2909, 01684 2909, 2909, 2909, 2888, 2909, 2909, 2909, 2909, 2909, 2909, 01685 2909, 2909, 2909, 2888, 2888, 2888, 2888, 2914, 2914, 2914, 01686 2914, 2914, 2888, 2914, 2914, 2888, 2914, 2888, 2914, 2888, 01687 2888, 2888, 2888, 2914, 2914, 2888, 2888, 2888, 2888, 2888, 01688 2888, 2888, 2914, 2888, 2914, 2914, 2914, 2914, 2888, 2914, 01689 01690 2895, 2895, 2895, 71, 71, 71, 71, 71, 2895, 71, 01691 71, 2895, 71, 2895, 71, 2895, 2895, 2895, 2895, 71, 01692 71, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 71, 2895, 01693 71, 71, 71, 71, 2895, 71, 2900, 2900, 2900, 111, 01694 97, 111, 111, 111, 2900, 111, 111, 2900, 111, 2900, 01695 111, 2900, 2900, 2900, 2900, 97, 111, 2900, 2900, 2900, 01696 2900, 2900, 2900, 111, 111, 111, 97, 97, 2900, 312, 01697 2902, 2902, 2902, 122, 122, 122, 122, 122, 2902, 122, 01698 122, 2902, 122, 2902, 122, 2902, 2902, 2902, 2902, 122, 01699 122, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 122, 2902, 01700 01701 122, 122, 122, 122, 2902, 122, 2906, 2906, 2906, 152, 01702 152, 152, 152, 152, 2906, 152, 152, 2906, 152, 2906, 01703 152, 2906, 2906, 2906, 2906, 152, 152, 2906, 2906, 2906, 01704 2906, 2906, 2906, 2906, 152, 2906, 152, 152, 152, 152, 01705 2906, 152, 2909, 2888, 2888, 2888, 2909, 2909, 2888, 2909, 01706 2909, 2909, 2909, 2888, 2888, 2888, 2888, 2888, 2914, 2914, 01707 2914, 2914, 2888, 2888, 2888, 2914, 2914, 2914, 2888, 2888, 01708 2888, 2914, 2888, 2888, 2888, 2888, 2914, 2914, 2888, 2888, 01709 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2914, 2914, 2914, 01710 2888, 2914, 2895, 2895, 2895, 71, 71, 71, 71, 2895, 01711 01712 2895, 2895, 71, 71, 71, 2895, 2895, 2895, 71, 2895, 01713 2895, 2895, 2895, 71, 71, 2895, 2895, 2895, 2895, 2895, 01714 2895, 2895, 2895, 2895, 71, 71, 71, 2895, 71, 2900, 01715 2900, 2900, 312, 312, 312, 312, 2900, 2900, 2900, 111, 01716 97, 312, 2900, 2900, 2900, 312, 2900, 2900, 2900, 2900, 01717 111, 111, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 111, 01718 111, 111, 2900, 111, 2902, 2902, 2902, 122, 122, 122, 01719 122, 2902, 2902, 2902, 122, 122, 122, 2902, 2902, 2902, 01720 122, 2902, 2902, 2902, 2902, 122, 122, 2902, 2902, 2902, 01721 2902, 2902, 2902, 2902, 2902, 2902, 122, 122, 122, 2902, 01722 01723 122, 2906, 2906, 2906, 152, 152, 152, 152, 2906, 2906, 01724 2906, 152, 152, 152, 2906, 2906, 2906, 152, 2906, 2906, 01725 2906, 2906, 152, 152, 2906, 2906, 2906, 2906, 2906, 2906, 01726 2906, 2906, 2906, 152, 152, 152, 2906, 152, 2909, 2888, 01727 2888, 2888, 2909, 2888, 2909, 2888, 2909, 2909, 2888, 2888, 01728 2888, 2888, 2888, 2914, 2914, 2914, 2888, 2888, 2888, 2888, 01729 2914, 2914, 2914, 2914, 2888, 2888, 2888, 2888, 2888, 2888, 01730 2888, 2914, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 01731 2888, 2888, 2914, 2895, 2895, 2895, 71, 71, 71, 2895, 01732 2895, 2895, 2895, 71, 71, 71, 71, 2895, 2895, 2895, 01733 01734 2895, 2895, 2895, 2895, 71, 2895, 2895, 2895, 2895, 2895, 01735 2895, 2895, 2895, 2895, 2895, 71, 2900, 2900, 2900, 111, 01736 1446, 97, 2900, 2900, 2900, 2900, 312, 312, 1446, 1446, 01737 2900, 2900, 2900, 2900, 2900, 2900, 2900, 97, 2900, 2900, 01738 2900, 2900, 2900, 2900, 2900, 2900, 97, 2902, 2902, 2902, 01739 122, 122, 122, 2902, 2902, 2902, 2902, 122, 122, 122, 01740 122, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 122, 2902, 01741 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 122, 01742 2906, 2906, 2906, 152, 152, 152, 2906, 2906, 2906, 2906, 01743 152, 152, 152, 152, 2906, 2906, 2906, 2906, 2906, 2906, 01744 01745 2906, 152, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 01746 2906, 2906, 152, 2888, 2888, 2888, 2909, 2888, 2909, 2888, 01747 2888, 2909, 2888, 2888, 2888, 2888, 2888, 2914, 2914, 2914, 01748 2888, 2888, 2888, 2888, 2914, 2914, 2914, 2914, 2888, 2888, 01749 2888, 2888, 2888, 2888, 2888, 2914, 2888, 2888, 2888, 2888, 01750 2888, 2888, 2888, 2888, 2888, 2888, 2895, 2895, 2895, 71, 01751 71, 71, 2895, 2895, 2895, 2895, 71, 71, 71, 71, 01752 2895, 2895, 2895, 2895, 2895, 2895, 2895, 71, 2895, 2895, 01753 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2900, 2900, 01754 2900, 97, 97, 97, 2900, 2900, 2900, 2900, 97, 1446, 01755 01756 97, 111, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 111, 01757 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2902, 2902, 01758 2902, 122, 122, 122, 2902, 2902, 2902, 2902, 122, 122, 01759 122, 122, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 122, 01760 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 01761 2906, 2906, 2906, 152, 152, 152, 2906, 2906, 2906, 2906, 01762 152, 152, 152, 152, 2906, 2906, 2906, 2906, 2906, 2906, 01763 2906, 152, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 01764 2906, 2906, 2888, 2888, 2888, 2888, 2888, 2909, 2888, 2888, 01765 2909, 2888, 2888, 2888, 2888, 2914, 2914, 2888, 2888, 2888, 01766 01767 2888, 2914, 2914, 2914, 2914, 2888, 2888, 2888, 2888, 2888, 01768 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 01769 2895, 2895, 71, 71, 2895, 2895, 2895, 2895, 71, 71, 01770 71, 71, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 01771 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2900, 2900, 111, 01772 111, 2900, 2900, 2900, 2900, 111, 111, 312, 312, 2900, 01773 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 01774 2900, 2900, 2900, 2902, 2902, 122, 122, 2902, 2902, 2902, 01775 2902, 122, 122, 122, 122, 2902, 2902, 2902, 2902, 2902, 01776 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 01777 01778 2906, 2906, 152, 152, 2906, 2906, 2906, 2906, 152, 152, 01779 152, 152, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 01780 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2888, 2888, 2888, 01781 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2914, 2888, 2888, 01782 2888, 2888, 2914, 2914, 2914, 2914, 2888, 2888, 2888, 2888, 01783 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2895, 71, 2895, 01784 2895, 2895, 2895, 71, 71, 71, 71, 2895, 2895, 2895, 01785 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2900, 312, 01786 2900, 2900, 2900, 2900, 312, 111, 1446, 97, 2900, 2900, 01787 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2902, 01788 01789 122, 2902, 2902, 2902, 2902, 122, 122, 122, 122, 2902, 01790 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 01791 2906, 152, 2906, 2906, 2906, 2906, 152, 152, 152, 152, 01792 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 01793 2906, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2914, 01794 2888, 2888, 2888, 2888, 2914, 2914, 2914, 2914, 2888, 2888, 01795 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2895, 01796 71, 2895, 2895, 2895, 2895, 71, 71, 71, 71, 2895, 01797 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 01798 2900, 97, 2900, 2900, 2900, 2900, 97, 97, 97, 97, 01799 01800 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 01801 2900, 2902, 122, 2902, 2902, 2902, 2902, 122, 122, 122, 01802 122, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 01803 2902, 2902, 2906, 152, 2906, 2906, 2906, 2906, 152, 152, 01804 152, 152, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 01805 2906, 2906, 2906, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 01806 2888, 2888, 2888, 2914, 2914, 2914, 2888, 2888, 2888, 2888, 01807 2888, 2888, 2888, 2888, 2888, 2895, 2895, 2895, 71, 71, 01808 71, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 01809 2900, 2900, 2900, 1446, 1446, 111, 2900, 2900, 2900, 2900, 01810 01811 2900, 2900, 2900, 2900, 2900, 2902, 2902, 2902, 122, 122, 01812 122, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 2902, 01813 2906, 2906, 2906, 152, 152, 152, 2906, 2906, 2906, 2906, 01814 2906, 2906, 2906, 2906, 2906, 2888, 2888, 2888, 2888, 2888, 01815 2888, 2888, 2888, 2888, 2888, 2914, 2914, 2888, 2888, 2888, 01816 2888, 2888, 2888, 2888, 2888, 2895, 2895, 2895, 71, 71, 01817 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2900, 2900, 01818 2900, 312, 312, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 01819 2900, 2902, 2902, 2902, 122, 122, 2902, 2902, 2902, 2902, 01820 2902, 2902, 2902, 2902, 2906, 2906, 2906, 152, 152, 2906, 01821 01822 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2888, 2888, 2888, 01823 2888, 2888, 2888, 2888, 2888, 2888, 2914, 2914, 2888, 2888, 01824 2888, 2888, 2888, 2888, 2888, 2888, 2895, 2895, 2895, 71, 01825 71, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2895, 2900, 01826 2900, 2900, 312, 312, 2900, 2900, 2900, 2900, 2900, 2900, 01827 2900, 2900, 2902, 2902, 2902, 122, 122, 2902, 2902, 2902, 01828 2902, 2902, 2902, 2902, 2902, 2906, 2906, 2906, 152, 152, 01829 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2906, 2888, 2888, 01830 2888, 2888, 2888, 2888, 2888, 2914, 2888, 2888, 2888, 2888, 01831 2888, 2888, 2895, 2895, 71, 2895, 2895, 2895, 2895, 2895, 01832 01833 2895, 2900, 2900, 312, 2900, 2900, 2900, 2900, 2900, 2900, 01834 2902, 2902, 122, 2902, 2902, 2902, 2902, 2902, 2902, 2906, 01835 2906, 152, 2906, 2906, 2906, 2906, 2906, 2906, 2888, 2888, 01836 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2895, 2895, 2895, 01837 2895, 2895, 2895, 2900, 2900, 2900, 2900, 2900, 2900, 2902, 01838 2902, 2902, 2902, 2902, 2902, 2906, 2906, 2906, 2906, 2906, 01839 2906, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2895, 2895, 01840 2895, 2895, 2895, 2895, 2900, 2900, 2900, 2900, 2900, 2900, 01841 2902, 2902, 2902, 2902, 2902, 2902, 2906, 2906, 2906, 2906, 01842 2906, 2906, 2888, 2888, 2888, 2888, 2895, 2895, 2895, 2895, 01843 01844 2900, 2900, 2900, 2900, 2902, 2902, 2902, 2902, 2906, 2906, 01845 2906, 2906, 2888, 2888, 2888, 2895, 2895, 2895, 2900, 2900, 01846 2900, 2902, 2902, 2902, 2906, 2906, 2906, 2888, 2888, 2888, 01847 2895, 2895, 2895, 2900, 2900, 2900, 2902, 2902, 2902, 2906, 01848 2906, 2906, 2888, 2888, 2888, 2895, 2895, 2895, 2900, 2900, 01849 2900, 2902, 2902, 2902, 2906, 2906, 2906, 2888, 2895, 2900, 01850 2902, 2906, 2888, 2895, 2900, 2902, 2906, 2888, 2895, 2900, 01851 2902, 2906, 2888, 2895, 2900, 2902, 2906, 2888, 2895, 2900, 01852 2902, 2906, 2888, 2895, 2900, 2902, 2906, 0, 2888, 2888, 01853 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 01854 01855 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 01856 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 01857 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 01858 2888, 2888, 2888, 2888, 2888 01859 } ; 01860 01861 static yyconst flex_int16_t yy_nxt[11390] = 01862 { 0, 01863 36, 37, 38, 39, 40, 36, 36, 41, 42, 41, 01864 41, 41, 41, 43, 44, 45, 46, 47, 48, 49, 01865 50, 51, 49, 49, 52, 53, 54, 55, 56, 57, 01866 58, 59, 49, 60, 61, 49, 49, 49, 36, 36, 01867 36, 43, 44, 45, 46, 47, 48, 49, 50, 51, 01868 49, 52, 53, 54, 55, 56, 57, 58, 59, 49, 01869 60, 61, 49, 49, 49, 36, 36, 36, 36, 36, 01870 62, 38, 175, 2862, 63, 64, 65, 38, 66, 67, 01871 64, 64, 68, 69, 68, 68, 68, 68, 70, 71, 01872 72, 73, 74, 75, 76, 77, 78, 76, 76, 79, 01873 01874 80, 81, 82, 83, 84, 85, 86, 76, 87, 88, 01875 76, 76, 76, 64, 64, 64, 70, 71, 72, 73, 01876 74, 75, 76, 77, 78, 76, 79, 80, 81, 82, 01877 83, 84, 85, 86, 76, 87, 88, 76, 76, 76, 01878 64, 64, 64, 64, 64, 89, 214, 62, 254, 90, 01879 91, 63, 36, 92, 38, 39, 40, 36, 36, 93, 01880 94, 93, 93, 93, 93, 95, 96, 97, 98, 99, 01881 100, 101, 102, 103, 101, 101, 104, 105, 106, 107, 01882 108, 109, 110, 111, 101, 112, 113, 101, 101, 101, 01883 36, 36, 114, 95, 96, 97, 98, 99, 100, 101, 01884 01885 102, 103, 101, 104, 105, 106, 107, 108, 109, 110, 01886 111, 101, 112, 113, 101, 101, 101, 36, 36, 36, 01887 36, 36, 115, 177, 178, 2861, 63, 116, 37, 117, 01888 118, 40, 116, 116, 119, 120, 119, 119, 119, 119, 01889 121, 122, 123, 124, 125, 126, 127, 128, 129, 127, 01890 127, 130, 131, 132, 133, 134, 135, 136, 137, 127, 01891 138, 139, 127, 127, 127, 140, 116, 116, 121, 122, 01892 123, 124, 125, 126, 127, 128, 129, 127, 130, 131, 01893 132, 133, 134, 135, 136, 137, 127, 138, 139, 127, 01894 127, 127, 116, 116, 116, 116, 116, 62, 142, 144, 01895 01896 62, 141, 170, 63, 146, 62, 63, 173, 192, 63, 01897 225, 63, 193, 226, 196, 2860, 180, 196, 206, 180, 01898 180, 2859, 207, 180, 179, 38, 175, 229, 208, 38, 01899 210, 197, 234, 211, 197, 179, 38, 175, 225, 208, 01900 226, 2858, 196, 171, 180, 196, 2812, 180, 180, 38, 01901 210, 180, 251, 211, 229, 293, 252, 2808, 197, 294, 01902 234, 197, 423, 424, 423, 424, 143, 143, 36, 147, 01903 38, 39, 40, 36, 148, 149, 150, 149, 149, 149, 01904 149, 151, 152, 153, 154, 155, 156, 157, 158, 159, 01905 157, 157, 160, 161, 162, 163, 164, 165, 166, 167, 01906 01907 157, 168, 169, 157, 157, 157, 36, 36, 148, 151, 01908 152, 153, 154, 155, 156, 157, 158, 159, 157, 160, 01909 161, 162, 163, 164, 165, 166, 167, 157, 168, 169, 01910 157, 157, 157, 36, 36, 36, 36, 36, 174, 179, 01911 38, 175, 174, 174, 174, 174, 174, 174, 174, 174, 01912 174, 180, 180, 181, 180, 180, 182, 180, 180, 180, 01913 180, 180, 180, 183, 180, 184, 185, 180, 186, 187, 01914 180, 188, 189, 180, 180, 180, 174, 174, 174, 180, 01915 180, 181, 180, 180, 182, 180, 180, 180, 180, 180, 01916 183, 180, 184, 185, 180, 186, 187, 180, 188, 189, 01917 01918 180, 180, 180, 190, 191, 174, 174, 174, 180, 194, 01919 248, 180, 375, 195, 2804, 218, 227, 219, 180, 228, 01920 180, 180, 235, 180, 180, 238, 180, 180, 215, 215, 01921 215, 215, 215, 215, 2800, 239, 180, 194, 248, 180, 01922 2796, 195, 218, 227, 219, 180, 228, 180, 180, 235, 01923 180, 180, 238, 180, 180, 436, 220, 2606, 174, 174, 01924 198, 199, 239, 180, 221, 200, 236, 180, 201, 215, 01925 215, 215, 215, 215, 215, 222, 237, 202, 223, 203, 01926 376, 335, 224, 436, 220, 252, 2596, 240, 198, 199, 01927 216, 180, 221, 200, 236, 180, 201, 241, 230, 2593, 01928 01929 2583, 231, 222, 237, 202, 223, 203, 2580, 232, 224, 01930 233, 242, 204, 205, 243, 240, 249, 216, 214, 245, 01931 495, 428, 250, 246, 241, 244, 230, 247, 419, 231, 01932 2570, 2567, 252, 253, 336, 232, 253, 233, 2557, 242, 01933 2554, 421, 243, 2544, 249, 252, 438, 245, 428, 250, 01934 439, 246, 244, 2544, 429, 247, 257, 257, 257, 257, 01935 257, 257, 257, 257, 257, 257, 257, 257, 259, 259, 01936 253, 430, 259, 267, 378, 431, 259, 259, 252, 264, 01937 259, 429, 265, 258, 2529, 2514, 266, 298, 298, 298, 01938 298, 298, 298, 2499, 2484, 2469, 259, 259, 430, 259, 01939 01940 259, 267, 431, 276, 259, 259, 264, 259, 259, 265, 01941 258, 254, 254, 266, 254, 254, 254, 254, 254, 254, 01942 254, 254, 254, 254, 259, 259, 259, 259, 432, 259, 01943 442, 276, 259, 259, 259, 259, 269, 259, 2460, 270, 01944 271, 260, 376, 261, 435, 437, 268, 441, 280, 254, 01945 254, 254, 259, 259, 259, 432, 443, 259, 442, 2449, 01946 259, 259, 259, 269, 2428, 259, 270, 271, 260, 2407, 01947 261, 435, 437, 268, 441, 280, 254, 254, 254, 254, 01948 254, 254, 254, 443, 254, 254, 254, 254, 254, 254, 01949 254, 254, 254, 254, 262, 259, 259, 259, 259, 340, 01950 01951 278, 2386, 263, 259, 259, 259, 291, 340, 2365, 277, 01952 279, 281, 292, 338, 338, 338, 338, 338, 338, 254, 01953 254, 254, 262, 259, 259, 259, 259, 340, 278, 444, 01954 263, 259, 259, 259, 291, 340, 277, 279, 281, 292, 01955 383, 383, 383, 383, 383, 383, 254, 254, 254, 254, 01956 254, 259, 445, 375, 272, 2334, 444, 273, 451, 259, 01957 2313, 340, 452, 2292, 274, 2271, 275, 259, 287, 340, 01958 259, 282, 288, 446, 284, 259, 289, 285, 259, 259, 01959 445, 283, 272, 349, 385, 273, 259, 259, 286, 340, 01960 290, 274, 385, 275, 259, 259, 287, 340, 259, 282, 01961 01962 288, 446, 284, 259, 289, 285, 259, 251, 283, 301, 01963 349, 252, 385, 332, 259, 286, 2250, 301, 290, 2086, 01964 385, 376, 259, 298, 298, 298, 298, 298, 298, 309, 01965 1956, 301, 1921, 1767, 301, 447, 301, 301, 301, 301, 01966 457, 332, 310, 301, 300, 301, 338, 338, 338, 338, 01967 338, 338, 311, 301, 1746, 312, 301, 309, 301, 301, 01968 301, 301, 447, 301, 448, 301, 301, 339, 457, 310, 01969 301, 300, 299, 299, 299, 299, 299, 299, 1586, 311, 01970 301, 301, 312, 301, 313, 449, 301, 301, 301, 293, 01971 1570, 448, 433, 294, 339, 302, 434, 303, 215, 215, 01972 01973 215, 215, 215, 215, 467, 299, 318, 1554, 301, 450, 01974 458, 313, 449, 301, 301, 301, 301, 319, 459, 433, 01975 301, 301, 302, 434, 303, 299, 299, 299, 299, 299, 01976 299, 304, 467, 468, 318, 460, 450, 458, 461, 305, 01977 301, 301, 1549, 301, 319, 459, 320, 301, 301, 466, 01978 464, 335, 465, 301, 469, 252, 321, 473, 299, 304, 01979 301, 468, 460, 474, 1545, 461, 475, 305, 299, 299, 01980 299, 299, 299, 299, 320, 301, 466, 464, 323, 465, 01981 301, 469, 301, 321, 473, 306, 479, 301, 307, 476, 01982 474, 301, 308, 475, 301, 1544, 477, 1399, 301, 322, 01983 01984 482, 299, 301, 419, 1177, 323, 340, 252, 340, 301, 01985 348, 478, 306, 479, 340, 307, 340, 476, 301, 308, 01986 314, 301, 352, 315, 477, 301, 322, 482, 301, 483, 01987 316, 301, 317, 324, 340, 301, 340, 484, 348, 478, 01988 301, 421, 340, 325, 340, 252, 1171, 301, 314, 352, 01989 487, 315, 340, 1164, 485, 301, 483, 316, 301, 317, 01990 340, 324, 301, 488, 484, 326, 489, 301, 327, 301, 01991 325, 361, 301, 301, 301, 301, 340, 333, 487, 328, 01992 340, 485, 378, 334, 340, 1163, 252, 350, 340, 486, 01993 351, 488, 462, 326, 489, 340, 327, 301, 361, 301, 01994 01995 463, 301, 301, 340, 340, 333, 328, 329, 1145, 358, 01996 334, 330, 340, 470, 350, 331, 486, 351, 301, 480, 01997 462, 301, 481, 340, 471, 301, 1135, 472, 463, 438, 01998 490, 340, 862, 439, 451, 329, 358, 956, 452, 330, 01999 496, 470, 491, 331, 535, 301, 480, 945, 301, 481, 02000 376, 471, 301, 336, 472, 336, 336, 490, 336, 336, 02001 336, 336, 336, 336, 336, 336, 340, 340, 496, 491, 02002 385, 357, 535, 340, 340, 340, 862, 345, 385, 702, 02003 346, 340, 426, 341, 347, 342, 492, 362, 493, 406, 02004 494, 423, 336, 336, 340, 340, 573, 420, 385, 357, 02005 02006 650, 340, 340, 340, 345, 693, 385, 346, 381, 340, 02007 341, 347, 342, 492, 362, 493, 406, 494, 336, 336, 02008 336, 336, 336, 336, 573, 336, 336, 650, 336, 336, 02009 336, 336, 336, 336, 336, 336, 343, 340, 340, 694, 02010 259, 359, 363, 612, 344, 340, 340, 501, 259, 340, 02011 611, 360, 364, 365, 652, 502, 366, 340, 377, 651, 02012 297, 534, 336, 336, 343, 340, 340, 367, 259, 359, 02013 363, 612, 344, 340, 340, 501, 259, 340, 360, 364, 02014 653, 365, 652, 502, 366, 340, 651, 259, 336, 336, 02015 336, 336, 336, 340, 367, 259, 353, 253, 336, 354, 02016 02017 253, 340, 255, 654, 497, 658, 355, 653, 356, 368, 02018 340, 340, 385, 369, 371, 259, 393, 370, 340, 372, 02019 385, 340, 655, 259, 353, 373, 456, 354, 212, 340, 02020 654, 497, 658, 355, 253, 356, 455, 368, 340, 340, 02021 385, 369, 371, 656, 393, 370, 340, 372, 385, 213, 02022 655, 426, 373, 380, 380, 380, 380, 380, 380, 380, 02023 380, 380, 380, 380, 380, 383, 383, 383, 383, 383, 02024 383, 656, 657, 425, 213, 385, 257, 257, 257, 257, 02025 257, 257, 659, 385, 420, 381, 384, 380, 380, 380, 02026 380, 380, 380, 385, 385, 660, 377, 394, 661, 665, 02027 02028 657, 385, 385, 385, 395, 390, 337, 396, 391, 659, 02029 662, 385, 392, 384, 382, 382, 382, 382, 382, 382, 02030 382, 385, 385, 660, 394, 259, 661, 665, 663, 385, 02031 385, 395, 390, 259, 396, 391, 297, 662, 386, 392, 02032 387, 298, 298, 298, 298, 298, 298, 213, 382, 385, 02033 385, 259, 385, 259, 402, 663, 666, 385, 385, 259, 02034 385, 259, 255, 397, 500, 386, 403, 387, 382, 382, 02035 382, 382, 382, 382, 382, 388, 213, 385, 385, 259, 02036 385, 385, 402, 389, 666, 385, 385, 259, 385, 385, 02037 397, 500, 664, 403, 670, 407, 385, 212, 667, 2888, 02038 02039 404, 668, 382, 388, 385, 259, 172, 669, 171, 385, 02040 405, 389, 385, 259, 672, 398, 145, 385, 399, 664, 02041 385, 670, 407, 498, 385, 400, 667, 401, 404, 668, 02042 385, 676, 385, 259, 408, 669, 671, 405, 385, 91, 02043 385, 259, 672, 398, 409, 2888, 399, 413, 385, 385, 02044 498, 414, 400, 410, 401, 415, 411, 385, 385, 676, 02045 385, 516, 408, 671, 416, 259, 385, 412, 385, 259, 02046 2888, 409, 385, 259, 259, 413, 503, 385, 504, 414, 02047 417, 410, 259, 415, 411, 385, 418, 2888, 385, 516, 02048 499, 259, 416, 259, 412, 2888, 385, 259, 673, 259, 02049 02050 385, 259, 259, 503, 259, 504, 2888, 505, 417, 506, 02051 259, 677, 259, 418, 259, 259, 2888, 499, 507, 259, 02052 678, 2888, 259, 259, 2888, 673, 2888, 259, 2888, 508, 02053 2888, 259, 259, 509, 505, 2888, 683, 506, 677, 259, 02054 259, 259, 259, 259, 510, 259, 507, 511, 678, 259, 02055 259, 259, 259, 259, 515, 259, 508, 512, 513, 259, 02056 259, 509, 259, 259, 683, 517, 684, 259, 259, 259, 02057 259, 510, 514, 259, 511, 685, 259, 259, 2888, 259, 02058 259, 259, 515, 259, 512, 513, 2888, 259, 259, 518, 02059 259, 259, 519, 517, 684, 520, 259, 259, 259, 514, 02060 02061 259, 259, 259, 685, 259, 259, 259, 259, 259, 526, 02062 259, 2888, 522, 527, 259, 259, 518, 2888, 521, 519, 02063 525, 259, 520, 523, 259, 259, 2888, 259, 259, 259, 02064 259, 688, 259, 259, 259, 259, 259, 526, 259, 522, 02065 529, 527, 259, 259, 528, 521, 259, 525, 524, 259, 02066 523, 259, 259, 259, 259, 259, 689, 259, 301, 688, 02067 259, 259, 301, 259, 530, 259, 301, 529, 679, 531, 02068 532, 259, 528, 682, 259, 524, 259, 2888, 2888, 259, 02069 301, 259, 259, 301, 259, 259, 301, 537, 2888, 259, 02070 301, 530, 533, 259, 301, 679, 531, 532, 301, 690, 02071 02072 682, 540, 301, 2888, 259, 301, 301, 301, 680, 541, 02073 301, 301, 259, 301, 537, 536, 301, 681, 538, 533, 02074 301, 301, 301, 539, 301, 551, 301, 690, 301, 540, 02075 301, 686, 703, 301, 301, 680, 687, 541, 691, 301, 02076 301, 692, 536, 301, 711, 538, 2888, 301, 301, 301, 02077 539, 301, 551, 2888, 542, 301, 543, 301, 686, 301, 02078 703, 301, 301, 687, 544, 691, 301, 545, 692, 340, 02079 301, 301, 711, 301, 546, 2888, 301, 340, 301, 2888, 02080 301, 542, 301, 543, 301, 301, 301, 301, 301, 301, 02081 547, 544, 712, 301, 301, 545, 695, 340, 301, 301, 02082 02083 301, 2888, 546, 301, 301, 340, 301, 301, 704, 301, 02084 705, 578, 301, 301, 301, 552, 2888, 547, 301, 579, 02085 712, 301, 548, 695, 301, 2888, 706, 301, 553, 554, 02086 2888, 301, 301, 549, 301, 704, 550, 705, 301, 578, 02087 301, 301, 552, 301, 555, 301, 2888, 579, 301, 2888, 02088 548, 301, 301, 706, 301, 553, 707, 554, 301, 708, 02089 549, 301, 2888, 550, 2888, 301, 714, 301, 713, 301, 02090 301, 301, 555, 301, 556, 301, 301, 301, 301, 301, 02091 301, 301, 715, 707, 301, 716, 708, 2888, 560, 558, 02092 557, 301, 559, 714, 301, 561, 713, 301, 301, 301, 02093 02094 2888, 301, 556, 301, 2888, 301, 301, 301, 301, 715, 02095 2888, 301, 716, 2888, 717, 560, 558, 557, 301, 559, 02096 301, 301, 561, 301, 718, 301, 562, 301, 301, 301, 02097 301, 301, 301, 301, 719, 301, 564, 569, 563, 2888, 02098 301, 566, 717, 2888, 301, 301, 2888, 301, 565, 301, 02099 301, 718, 913, 562, 301, 301, 301, 301, 301, 301, 02100 301, 719, 301, 564, 569, 563, 301, 567, 301, 566, 02101 301, 301, 301, 301, 301, 301, 565, 301, 767, 301, 02102 913, 2888, 301, 814, 2888, 568, 301, 2888, 863, 570, 02103 571, 911, 912, 301, 301, 567, 2888, 301, 301, 301, 02104 02105 2888, 2888, 301, 301, 2888, 767, 340, 301, 301, 301, 02106 814, 572, 568, 301, 340, 863, 570, 571, 911, 912, 02107 301, 914, 2888, 574, 340, 301, 338, 338, 338, 338, 02108 338, 338, 340, 340, 340, 301, 340, 915, 572, 916, 02109 576, 340, 340, 917, 340, 340, 340, 919, 914, 577, 02110 574, 575, 340, 340, 340, 2888, 580, 2888, 581, 918, 02111 340, 340, 582, 340, 340, 915, 916, 576, 583, 340, 02112 917, 340, 340, 340, 340, 919, 577, 920, 575, 340, 02113 340, 340, 340, 580, 584, 581, 918, 340, 340, 582, 02114 921, 340, 2888, 585, 340, 340, 583, 923, 340, 340, 02115 02116 586, 2888, 340, 340, 920, 2888, 340, 340, 340, 2888, 02117 589, 587, 584, 925, 588, 340, 340, 921, 922, 340, 02118 585, 593, 340, 340, 923, 340, 340, 340, 586, 340, 02119 340, 340, 590, 340, 340, 924, 340, 589, 587, 594, 02120 925, 588, 591, 340, 340, 592, 922, 340, 340, 593, 02121 926, 340, 340, 340, 340, 340, 340, 340, 2888, 590, 02122 340, 340, 340, 924, 340, 596, 598, 594, 597, 591, 02123 340, 340, 340, 592, 928, 595, 340, 926, 340, 340, 02124 340, 340, 340, 340, 340, 599, 340, 2888, 340, 340, 02125 340, 340, 596, 598, 340, 597, 340, 604, 340, 602, 02126 02127 600, 928, 595, 930, 603, 340, 340, 601, 927, 340, 02128 340, 340, 599, 340, 340, 340, 605, 340, 340, 340, 02129 929, 340, 340, 340, 340, 604, 602, 600, 607, 606, 02130 930, 340, 603, 340, 601, 931, 927, 340, 340, 340, 02131 2888, 340, 2888, 340, 605, 340, 340, 608, 929, 340, 02132 609, 340, 340, 2888, 2888, 607, 606, 2888, 2888, 340, 02133 340, 385, 385, 931, 2888, 340, 2888, 340, 610, 385, 02134 385, 2888, 2888, 340, 608, 2888, 932, 609, 939, 613, 02135 340, 383, 383, 383, 383, 383, 383, 948, 340, 385, 02136 385, 385, 385, 617, 385, 610, 940, 385, 385, 385, 02137 02138 385, 618, 385, 385, 932, 939, 613, 616, 615, 614, 02139 385, 385, 2888, 2888, 619, 948, 620, 952, 385, 385, 02140 385, 617, 385, 940, 2888, 2888, 621, 385, 385, 618, 02141 385, 385, 385, 2888, 616, 615, 614, 622, 385, 385, 02142 385, 619, 385, 620, 385, 952, 385, 955, 623, 2888, 02143 385, 385, 385, 621, 385, 2888, 624, 2888, 2888, 385, 02144 385, 385, 385, 625, 2888, 622, 2888, 628, 385, 385, 02145 385, 2888, 385, 941, 626, 955, 623, 627, 385, 385, 02146 385, 944, 385, 624, 385, 385, 631, 385, 385, 385, 02147 385, 625, 385, 385, 628, 632, 385, 385, 629, 385, 02148 02149 941, 626, 633, 385, 627, 630, 946, 385, 944, 2888, 02150 2888, 947, 385, 385, 631, 959, 385, 2888, 385, 2888, 02151 385, 385, 2888, 632, 385, 629, 385, 385, 385, 385, 02152 633, 385, 630, 946, 385, 385, 385, 385, 947, 634, 02153 2888, 635, 385, 959, 636, 385, 385, 637, 949, 638, 02154 385, 385, 385, 385, 385, 950, 385, 385, 385, 385, 02155 642, 643, 385, 641, 385, 385, 634, 639, 635, 385, 02156 385, 636, 640, 385, 637, 949, 638, 385, 385, 385, 02157 385, 385, 950, 385, 644, 385, 385, 385, 642, 643, 02158 641, 385, 2888, 645, 639, 259, 385, 385, 731, 640, 02159 02160 385, 385, 385, 720, 385, 385, 259, 962, 385, 385, 02161 385, 385, 644, 385, 646, 648, 647, 649, 2888, 385, 02162 645, 2888, 2888, 259, 385, 2888, 731, 2888, 385, 385, 02163 385, 720, 385, 2888, 259, 962, 385, 385, 385, 2888, 02164 2888, 646, 648, 647, 649, 674, 674, 2888, 674, 674, 02165 674, 674, 674, 674, 674, 674, 674, 674, 696, 697, 02166 698, 699, 700, 259, 259, 259, 259, 701, 724, 965, 02167 726, 259, 259, 259, 259, 937, 2888, 721, 942, 2888, 02168 951, 725, 943, 674, 674, 674, 2888, 2888, 2888, 2888, 02169 938, 259, 259, 259, 259, 701, 724, 965, 726, 259, 02170 02171 259, 259, 259, 937, 721, 2888, 942, 951, 725, 943, 02172 674, 674, 674, 674, 674, 709, 709, 938, 709, 709, 02173 709, 709, 709, 709, 709, 709, 709, 709, 259, 2888, 02174 259, 259, 259, 933, 732, 733, 259, 935, 259, 259, 02175 259, 2888, 730, 259, 2888, 727, 953, 934, 728, 954, 02176 960, 936, 2888, 709, 709, 709, 259, 729, 259, 259, 02177 259, 933, 732, 733, 259, 935, 259, 259, 259, 730, 02178 2888, 259, 727, 953, 934, 728, 954, 960, 936, 259, 02179 709, 709, 709, 709, 709, 722, 722, 738, 722, 722, 02180 722, 722, 722, 722, 722, 722, 722, 722, 259, 966, 02181 02182 259, 2888, 259, 259, 736, 259, 259, 259, 259, 967, 02183 259, 259, 2888, 259, 968, 738, 2888, 734, 735, 739, 02184 2888, 740, 2888, 722, 722, 722, 259, 966, 259, 737, 02185 259, 259, 736, 259, 259, 259, 259, 967, 259, 259, 02186 741, 259, 968, 259, 734, 735, 739, 259, 740, 259, 02187 722, 722, 722, 722, 722, 259, 259, 259, 259, 2888, 02188 751, 765, 750, 259, 259, 971, 259, 2888, 2888, 743, 02189 2888, 259, 2888, 2888, 742, 259, 2888, 259, 961, 259, 02190 2888, 2888, 963, 259, 259, 259, 259, 259, 751, 765, 02191 964, 752, 259, 971, 259, 259, 743, 744, 745, 746, 02192 02193 747, 748, 259, 259, 259, 961, 749, 259, 259, 963, 02194 259, 1011, 259, 2888, 754, 259, 259, 964, 752, 753, 02195 259, 340, 2888, 259, 2888, 2888, 755, 2888, 259, 815, 02196 259, 259, 259, 1050, 749, 969, 259, 756, 259, 1011, 02197 259, 754, 2888, 2888, 259, 2888, 753, 2888, 259, 340, 02198 259, 259, 259, 755, 760, 759, 259, 815, 259, 259, 02199 259, 1050, 969, 762, 756, 757, 757, 970, 757, 757, 02200 757, 757, 757, 757, 757, 757, 757, 757, 259, 259, 02201 259, 973, 760, 759, 259, 761, 259, 259, 259, 259, 02202 762, 2888, 259, 259, 970, 974, 2888, 259, 2888, 2888, 02203 02204 763, 259, 2888, 757, 757, 757, 2888, 2888, 259, 973, 02205 2888, 764, 259, 761, 989, 301, 259, 259, 766, 301, 02206 259, 259, 974, 768, 982, 259, 780, 763, 983, 259, 02207 757, 757, 757, 757, 757, 993, 259, 301, 764, 301, 02208 301, 989, 769, 301, 259, 766, 301, 301, 2888, 2888, 02209 2888, 768, 982, 2888, 780, 983, 2888, 709, 336, 2888, 02210 709, 994, 993, 2888, 301, 2888, 301, 301, 2888, 769, 02211 2888, 2888, 1090, 301, 674, 674, 957, 674, 674, 674, 02212 674, 770, 770, 770, 770, 770, 770, 772, 994, 1029, 02213 301, 1033, 958, 301, 709, 301, 773, 301, 301, 301, 02214 02215 1090, 2888, 301, 774, 957, 997, 1022, 301, 2888, 2888, 02216 1023, 2888, 674, 674, 770, 772, 1029, 301, 1033, 958, 02217 301, 998, 301, 773, 301, 301, 1133, 301, 301, 301, 02218 826, 774, 301, 997, 1022, 301, 301, 1023, 340, 674, 02219 674, 674, 674, 674, 778, 775, 301, 301, 998, 301, 02220 2888, 301, 1068, 776, 1133, 779, 301, 781, 826, 301, 02221 301, 301, 777, 301, 301, 301, 340, 1072, 1140, 828, 02222 2888, 778, 775, 301, 301, 2888, 301, 340, 301, 1068, 02223 776, 301, 301, 779, 301, 781, 301, 301, 783, 301, 02224 301, 301, 784, 301, 1072, 301, 1140, 828, 787, 2888, 02225 02226 2888, 782, 301, 301, 1073, 340, 301, 1013, 301, 301, 02227 301, 301, 301, 2888, 301, 783, 788, 785, 301, 301, 02228 784, 1014, 301, 301, 693, 787, 340, 786, 782, 301, 02229 301, 1073, 1108, 301, 833, 1013, 301, 301, 2888, 301, 02230 301, 1112, 301, 788, 301, 301, 790, 301, 1014, 301, 02231 2888, 301, 2888, 2888, 340, 786, 2888, 301, 789, 1108, 02232 2888, 301, 833, 2888, 301, 301, 301, 301, 1112, 301, 02233 798, 301, 301, 790, 301, 2888, 301, 791, 792, 793, 02234 794, 795, 301, 301, 797, 301, 796, 301, 301, 301, 02235 301, 301, 301, 301, 301, 799, 301, 2888, 798, 2888, 02236 02237 2888, 2888, 301, 800, 301, 2888, 2888, 2888, 301, 385, 02238 301, 301, 301, 340, 796, 301, 301, 864, 301, 301, 02239 301, 340, 799, 801, 301, 1113, 301, 816, 301, 301, 02240 800, 301, 301, 802, 803, 301, 301, 385, 1130, 2888, 02241 301, 340, 2888, 2888, 2888, 864, 2888, 2888, 2888, 340, 02242 801, 2888, 1113, 301, 816, 301, 301, 1131, 301, 1158, 02243 802, 803, 301, 709, 709, 1130, 709, 709, 709, 709, 02244 804, 804, 804, 804, 804, 804, 806, 807, 808, 301, 02245 1052, 2888, 301, 1132, 1131, 301, 301, 1158, 301, 301, 02246 301, 301, 810, 301, 1053, 301, 809, 301, 2888, 301, 02247 02248 301, 709, 709, 804, 806, 807, 808, 301, 1052, 301, 02249 1132, 1092, 301, 1159, 301, 301, 301, 301, 301, 810, 02250 301, 1053, 301, 809, 301, 1093, 301, 301, 709, 709, 02251 709, 709, 709, 301, 812, 2888, 301, 1134, 1161, 1092, 02252 811, 1159, 301, 813, 301, 301, 2888, 301, 1136, 301, 02253 1137, 301, 1093, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 02254 301, 2888, 812, 301, 1134, 340, 1161, 811, 819, 301, 02255 813, 301, 301, 340, 301, 1136, 301, 1137, 301, 817, 02256 674, 336, 817, 674, 817, 817, 817, 817, 817, 817, 02257 817, 817, 340, 340, 340, 340, 819, 340, 821, 340, 02258 02259 340, 340, 340, 340, 2888, 340, 2888, 340, 2888, 820, 02260 825, 1138, 822, 875, 2888, 823, 2888, 674, 817, 817, 02261 340, 385, 340, 340, 824, 340, 821, 340, 340, 2888, 02262 340, 340, 340, 340, 827, 340, 820, 825, 1138, 822, 02263 340, 875, 823, 340, 817, 817, 817, 817, 817, 385, 02264 340, 340, 2888, 2888, 2888, 340, 340, 831, 340, 340, 02265 340, 830, 827, 340, 340, 836, 877, 340, 340, 829, 02266 834, 340, 340, 340, 385, 2888, 2888, 835, 340, 340, 02267 340, 340, 832, 340, 340, 831, 340, 340, 830, 1139, 02268 1141, 340, 340, 838, 877, 340, 829, 834, 2888, 837, 02269 02270 340, 340, 385, 340, 835, 340, 2888, 846, 340, 340, 02271 2888, 340, 2888, 340, 2888, 1162, 1139, 1141, 2888, 1165, 02272 838, 839, 840, 841, 842, 843, 340, 2888, 340, 340, 02273 844, 340, 845, 340, 340, 846, 340, 340, 340, 340, 02274 847, 340, 340, 1162, 848, 340, 340, 1165, 1142, 1143, 02275 340, 2888, 1167, 340, 340, 851, 340, 340, 844, 1144, 02276 2888, 849, 340, 850, 340, 340, 340, 847, 2888, 2888, 02277 340, 848, 2888, 340, 340, 1142, 1143, 340, 340, 340, 02278 1167, 340, 851, 2888, 854, 340, 1144, 340, 849, 857, 02279 850, 852, 709, 336, 852, 709, 852, 852, 852, 852, 02280 02281 852, 852, 852, 852, 1174, 340, 340, 340, 855, 340, 02282 856, 340, 854, 340, 340, 340, 857, 340, 340, 340, 02283 1061, 2888, 858, 1146, 1062, 340, 340, 2888, 861, 709, 02284 852, 852, 1174, 340, 340, 1147, 855, 340, 856, 340, 02285 2888, 2888, 340, 859, 2888, 340, 340, 340, 1061, 858, 02286 1146, 1062, 1148, 340, 340, 861, 852, 852, 852, 852, 02287 852, 340, 1147, 340, 385, 385, 860, 385, 868, 876, 02288 859, 340, 385, 385, 1182, 385, 2888, 2888, 865, 1148, 02289 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 02290 2888, 340, 385, 385, 860, 385, 868, 876, 2888, 340, 02291 02292 385, 385, 1182, 385, 1101, 865, 674, 674, 1102, 674, 02293 674, 674, 866, 866, 866, 866, 866, 866, 866, 385, 02294 385, 385, 2888, 385, 870, 385, 385, 385, 385, 385, 02295 2888, 385, 1101, 385, 385, 1102, 869, 874, 871, 2888, 02296 1151, 872, 1154, 879, 674, 674, 866, 385, 385, 385, 02297 873, 385, 870, 385, 385, 385, 385, 385, 385, 385, 02298 2888, 385, 385, 869, 874, 871, 385, 1151, 872, 1154, 02299 879, 674, 674, 674, 674, 674, 1155, 878, 885, 385, 02300 385, 880, 385, 385, 2888, 385, 385, 385, 882, 2888, 02301 385, 385, 1184, 385, 385, 1156, 883, 385, 2888, 1157, 02302 02303 2888, 884, 1199, 1155, 878, 385, 881, 385, 385, 880, 02304 385, 385, 886, 385, 2888, 385, 882, 887, 385, 385, 02305 1184, 385, 1156, 883, 385, 385, 1157, 385, 884, 385, 02306 1199, 895, 385, 385, 385, 385, 2888, 385, 2888, 2888, 02307 2888, 896, 385, 2888, 887, 888, 889, 890, 891, 892, 02308 385, 894, 385, 898, 893, 385, 385, 385, 385, 895, 02309 385, 385, 385, 385, 385, 385, 385, 385, 896, 385, 02310 385, 897, 903, 2888, 385, 385, 2888, 259, 385, 899, 02311 898, 1160, 893, 900, 385, 259, 385, 2888, 2888, 385, 02312 2888, 2888, 385, 2888, 385, 385, 2888, 385, 897, 385, 02313 02314 903, 904, 385, 385, 1166, 259, 899, 385, 1160, 1200, 02315 900, 709, 709, 259, 709, 709, 709, 901, 901, 901, 02316 901, 901, 901, 901, 385, 905, 385, 385, 385, 904, 02317 1168, 1166, 385, 259, 385, 385, 385, 1200, 906, 907, 02318 1202, 259, 2888, 1036, 2888, 1169, 2888, 2888, 2888, 709, 02319 709, 901, 385, 905, 385, 385, 385, 1168, 1170, 1037, 02320 385, 259, 385, 385, 385, 906, 907, 385, 1202, 259, 02321 909, 1036, 1169, 908, 385, 385, 709, 709, 709, 709, 02322 709, 1172, 385, 385, 910, 1170, 1037, 1173, 2888, 2888, 02323 2888, 385, 2888, 2888, 2888, 385, 2888, 1206, 909, 259, 02324 02325 908, 2888, 385, 385, 2888, 972, 2888, 259, 1172, 2888, 02326 385, 910, 709, 709, 1173, 709, 709, 709, 709, 709, 02327 709, 709, 709, 709, 709, 1206, 259, 259, 259, 259, 02328 259, 975, 977, 972, 259, 259, 259, 259, 259, 2888, 02329 2888, 980, 2888, 1175, 2888, 976, 979, 978, 2888, 2888, 02330 709, 709, 709, 2888, 259, 259, 259, 259, 259, 975, 02331 977, 259, 259, 259, 259, 259, 259, 259, 980, 259, 02332 1175, 981, 976, 979, 978, 259, 259, 709, 709, 709, 02333 709, 709, 259, 259, 259, 2888, 984, 2888, 259, 259, 02334 259, 259, 259, 2888, 986, 259, 259, 259, 981, 1149, 02335 02336 259, 2888, 1150, 259, 259, 987, 259, 259, 2888, 985, 02337 259, 988, 259, 984, 259, 259, 259, 259, 259, 992, 02338 259, 986, 2888, 259, 259, 259, 1149, 259, 259, 1150, 02339 990, 259, 987, 991, 259, 259, 259, 2888, 259, 988, 02340 995, 999, 259, 259, 259, 259, 259, 992, 259, 259, 02341 996, 259, 1176, 259, 1002, 259, 259, 990, 1152, 259, 02342 991, 1153, 259, 259, 259, 259, 259, 1000, 995, 999, 02343 1178, 259, 259, 259, 259, 2888, 259, 259, 1001, 1176, 02344 2888, 1183, 1002, 2888, 259, 1152, 2888, 2888, 1153, 2888, 02345 259, 259, 259, 259, 1000, 259, 259, 1178, 1185, 259, 02346 02347 259, 259, 1004, 1006, 1008, 1001, 757, 757, 1183, 757, 02348 757, 757, 757, 757, 757, 757, 757, 757, 757, 259, 02349 259, 2888, 259, 259, 259, 1185, 1005, 259, 259, 1004, 02350 259, 1006, 1008, 340, 259, 2888, 2888, 1003, 1007, 1051, 02351 2888, 340, 259, 2888, 757, 757, 757, 259, 259, 259, 02352 259, 2888, 1186, 2888, 1005, 259, 259, 259, 259, 2888, 02353 340, 340, 259, 1009, 1003, 1010, 1007, 1051, 340, 340, 02354 259, 757, 757, 757, 757, 757, 259, 259, 1076, 1186, 02355 301, 1012, 2888, 301, 259, 259, 301, 301, 340, 301, 02356 1009, 1015, 1010, 301, 1077, 2888, 340, 301, 2888, 2888, 02357 02358 301, 1187, 2888, 2888, 301, 1016, 1076, 301, 1189, 1012, 02359 301, 1017, 2888, 301, 301, 1210, 301, 2888, 1215, 1015, 02360 301, 1077, 301, 301, 301, 301, 1018, 301, 1187, 301, 02361 301, 301, 1016, 1211, 301, 1189, 2888, 301, 1019, 1017, 02362 1020, 301, 1210, 301, 301, 301, 1215, 2888, 1213, 301, 02363 2888, 301, 301, 1018, 2888, 2888, 301, 301, 301, 1021, 02364 1211, 301, 2888, 301, 301, 1019, 1240, 1020, 301, 1116, 02365 301, 301, 1214, 301, 301, 1213, 1228, 301, 301, 2888, 02366 2888, 301, 301, 301, 301, 1117, 1021, 1190, 1026, 301, 02367 1191, 301, 301, 301, 1240, 1024, 301, 1116, 2888, 1214, 02368 02369 1230, 301, 301, 1228, 301, 301, 301, 1025, 301, 301, 02370 301, 301, 1117, 1241, 1190, 1026, 301, 1191, 301, 301, 02371 301, 301, 1024, 301, 1027, 301, 301, 1230, 2888, 301, 02372 1028, 301, 301, 301, 301, 301, 301, 2888, 1243, 301, 02373 2888, 1241, 340, 2888, 301, 301, 2888, 1031, 301, 1032, 02374 340, 1027, 301, 301, 301, 1030, 301, 301, 1028, 301, 02375 1034, 301, 301, 301, 301, 301, 1243, 301, 301, 301, 02376 340, 301, 301, 301, 1031, 1038, 301, 1032, 340, 301, 02377 1247, 301, 1030, 301, 301, 301, 301, 2888, 1034, 2888, 02378 301, 2888, 301, 301, 301, 1035, 301, 301, 301, 1255, 02379 02380 301, 301, 301, 1038, 301, 1039, 301, 301, 1247, 340, 02381 2888, 301, 1251, 1040, 301, 1041, 301, 340, 301, 301, 02382 301, 1279, 301, 301, 301, 2888, 301, 1255, 1253, 2888, 02383 301, 2888, 1039, 1231, 301, 301, 1232, 340, 301, 1251, 02384 1040, 2888, 1042, 1041, 301, 340, 1254, 301, 301, 1279, 02385 2888, 301, 301, 709, 709, 1253, 709, 709, 709, 709, 02386 1231, 1280, 301, 1232, 2888, 301, 1043, 301, 301, 1042, 02387 301, 301, 1044, 1254, 301, 301, 301, 301, 301, 1045, 02388 340, 1046, 301, 2888, 1267, 301, 1047, 1282, 340, 1280, 02389 1269, 709, 709, 1043, 301, 2888, 301, 301, 1065, 301, 02390 02391 1044, 301, 2888, 301, 301, 301, 301, 1045, 340, 1046, 02392 301, 1267, 2888, 301, 1047, 1282, 340, 1269, 709, 709, 02393 709, 709, 709, 709, 709, 1065, 709, 709, 709, 709, 02394 804, 804, 804, 804, 804, 804, 2888, 301, 1290, 301, 02395 1048, 2888, 301, 1291, 301, 1049, 301, 340, 2888, 340, 02396 2888, 2888, 1286, 1295, 1054, 340, 2888, 340, 2888, 2888, 02397 2888, 709, 709, 804, 301, 1290, 301, 1048, 1055, 301, 02398 1291, 301, 1049, 301, 1064, 340, 340, 340, 1056, 340, 02399 1286, 1295, 1054, 340, 340, 340, 340, 340, 709, 709, 02400 709, 709, 709, 1057, 340, 1055, 1058, 340, 2888, 1059, 02401 02402 340, 340, 340, 2888, 340, 340, 1056, 340, 340, 340, 02403 340, 1320, 340, 1060, 340, 340, 2888, 1293, 1066, 1063, 02404 1057, 1321, 340, 1058, 340, 340, 1059, 340, 340, 340, 02405 340, 1067, 340, 340, 340, 340, 340, 340, 340, 1320, 02406 1060, 1323, 340, 1071, 1293, 1066, 1063, 2888, 1069, 1321, 02407 1070, 340, 340, 340, 2888, 340, 340, 1074, 340, 1067, 02408 340, 340, 340, 340, 340, 1078, 340, 2888, 340, 1323, 02409 340, 1071, 1294, 340, 1081, 1069, 340, 1070, 1308, 340, 02410 340, 340, 340, 1075, 340, 1074, 340, 1079, 340, 340, 02411 340, 1327, 340, 1078, 340, 1080, 340, 1310, 340, 1294, 02412 02413 2888, 340, 1081, 2888, 340, 1308, 2888, 2888, 340, 2888, 02414 340, 2888, 2888, 340, 1079, 1331, 340, 340, 340, 1327, 02415 2888, 340, 1080, 1083, 1310, 1085, 340, 852, 709, 336, 02416 852, 709, 852, 852, 852, 852, 852, 852, 852, 852, 02417 340, 340, 1331, 340, 1336, 340, 340, 1084, 340, 340, 02418 1083, 340, 340, 1085, 1087, 2888, 1086, 2888, 1082, 1270, 02419 340, 2888, 1271, 1332, 2888, 709, 852, 852, 340, 340, 02420 340, 340, 1336, 1334, 340, 1084, 340, 340, 340, 340, 02421 340, 2888, 1087, 1088, 1086, 1082, 1270, 1089, 340, 1271, 02422 1332, 385, 852, 852, 852, 852, 852, 340, 340, 385, 02423 02424 1334, 385, 2888, 385, 2888, 340, 340, 1091, 1094, 385, 02425 1088, 385, 385, 1351, 1089, 385, 385, 1096, 2888, 385, 02426 385, 2888, 1095, 385, 385, 2888, 1358, 385, 2888, 385, 02427 385, 385, 1097, 1098, 385, 1091, 1094, 385, 385, 385, 02428 385, 1351, 385, 385, 385, 1096, 1100, 1099, 385, 1095, 02429 1360, 385, 385, 385, 1358, 385, 385, 385, 385, 1097, 02430 1098, 385, 385, 385, 385, 385, 385, 2888, 385, 1111, 02431 385, 385, 2888, 1100, 1099, 1103, 385, 385, 1360, 385, 02432 2888, 385, 1104, 385, 385, 385, 1105, 2888, 1106, 385, 02433 385, 385, 385, 385, 1107, 385, 385, 1111, 385, 385, 02434 02435 385, 385, 1103, 385, 385, 385, 385, 385, 385, 385, 02436 1114, 2888, 385, 1105, 385, 1106, 1110, 1118, 385, 1109, 02437 385, 2888, 1107, 385, 1311, 385, 385, 1312, 385, 385, 02438 2888, 385, 1335, 385, 385, 1361, 385, 385, 1114, 1115, 02439 385, 385, 385, 1110, 1349, 1118, 1109, 385, 385, 1121, 02440 385, 1311, 1119, 385, 1312, 385, 385, 385, 385, 1335, 02441 385, 385, 1120, 1361, 385, 2888, 2888, 2888, 385, 385, 02442 1123, 1349, 385, 2888, 1122, 385, 1124, 1121, 385, 1119, 02443 385, 2888, 2888, 385, 385, 385, 385, 2888, 385, 1120, 02444 709, 709, 385, 709, 709, 709, 385, 1123, 385, 385, 02445 02446 385, 1122, 385, 1126, 1124, 385, 1125, 385, 385, 1179, 02447 1127, 2888, 1350, 385, 259, 259, 2888, 1352, 2888, 1128, 02448 1180, 1365, 259, 1203, 1181, 2888, 385, 385, 709, 709, 02449 385, 1126, 2888, 385, 1125, 385, 2888, 2888, 1127, 1350, 02450 2888, 385, 259, 259, 1352, 385, 1128, 2888, 1180, 1365, 02451 259, 1203, 1181, 385, 2888, 709, 709, 709, 709, 709, 02452 709, 709, 1129, 709, 709, 709, 901, 901, 901, 901, 02453 901, 901, 901, 385, 259, 259, 259, 2888, 2888, 1353, 02454 1354, 385, 259, 259, 259, 2888, 2888, 1188, 1193, 1129, 02455 1192, 1194, 2888, 1355, 1356, 1357, 1359, 2888, 709, 709, 02456 02457 901, 2888, 259, 259, 259, 259, 1353, 1354, 259, 2888, 02458 259, 259, 259, 259, 1188, 1193, 259, 1192, 1194, 1195, 02459 1355, 1356, 1357, 1359, 259, 709, 709, 709, 709, 709, 02460 1362, 1196, 259, 259, 2888, 259, 259, 259, 2888, 2888, 02461 1363, 259, 1197, 259, 259, 259, 1195, 2888, 1201, 1198, 02462 2888, 259, 259, 259, 259, 2888, 1366, 1362, 1196, 259, 02463 259, 259, 259, 259, 259, 259, 259, 1363, 1207, 1197, 02464 1208, 259, 259, 259, 259, 1201, 1198, 1209, 1204, 259, 02465 1205, 259, 259, 259, 1366, 259, 1367, 259, 1368, 259, 02466 259, 259, 259, 259, 259, 1207, 1216, 259, 1208, 259, 02467 02468 259, 259, 259, 2888, 1209, 259, 1369, 259, 2888, 259, 02469 1212, 259, 259, 259, 1367, 1217, 1368, 1219, 1364, 259, 02470 259, 259, 259, 1216, 2888, 259, 1218, 259, 259, 259, 02471 259, 1223, 1220, 259, 1369, 259, 259, 259, 259, 259, 02472 259, 259, 1217, 1221, 1219, 1364, 259, 1222, 259, 259, 02473 259, 1224, 259, 2888, 1225, 259, 259, 1370, 259, 1223, 02474 259, 2888, 1226, 259, 259, 301, 259, 259, 1371, 259, 02475 1227, 1221, 1372, 1375, 259, 1222, 1229, 259, 1224, 301, 02476 259, 301, 1225, 259, 1380, 1370, 1376, 301, 259, 1226, 02477 1233, 259, 1234, 301, 301, 1235, 1371, 1227, 301, 1372, 02478 02479 1375, 1236, 1385, 1229, 301, 301, 301, 301, 1377, 301, 02480 2888, 301, 1380, 1376, 301, 2888, 1237, 1233, 1378, 1234, 02481 301, 301, 1235, 301, 1386, 301, 301, 301, 1236, 301, 02482 1385, 301, 301, 1238, 301, 1377, 1379, 301, 301, 1242, 02483 1239, 2888, 301, 1237, 301, 1378, 301, 301, 2888, 1387, 02484 301, 301, 1386, 301, 301, 301, 301, 301, 2888, 1244, 02485 1238, 301, 2888, 1379, 301, 301, 1242, 1239, 301, 301, 02486 1383, 301, 301, 301, 1384, 301, 301, 1387, 1248, 301, 02487 1389, 2888, 301, 301, 1245, 301, 301, 1244, 2888, 301, 02488 1249, 2888, 301, 301, 301, 1246, 301, 1383, 1388, 301, 02489 02490 301, 1384, 301, 1250, 301, 1248, 301, 1389, 1256, 301, 02491 301, 301, 1390, 301, 301, 301, 301, 1391, 1249, 301, 02492 301, 2888, 301, 1257, 1252, 301, 1388, 301, 301, 1392, 02493 1250, 1393, 301, 301, 301, 1256, 2888, 301, 301, 1390, 02494 301, 1258, 301, 301, 1391, 301, 301, 2888, 1259, 301, 02495 1257, 1395, 301, 301, 1179, 301, 1394, 1392, 1393, 301, 02496 301, 301, 301, 301, 1263, 1260, 2888, 301, 2888, 1261, 02497 301, 301, 301, 1262, 301, 1259, 2888, 301, 301, 1395, 02498 2888, 301, 301, 1394, 2888, 301, 1396, 301, 1397, 301, 02499 301, 1263, 1398, 1260, 301, 340, 1264, 1261, 301, 301, 02500 02501 301, 1262, 301, 340, 301, 2888, 301, 301, 1268, 301, 02502 301, 301, 301, 1396, 301, 301, 1397, 1266, 301, 1265, 02503 1398, 2888, 340, 340, 1264, 340, 2888, 2888, 301, 2888, 02504 340, 340, 301, 340, 301, 1268, 1272, 301, 301, 340, 02505 340, 301, 301, 1381, 1266, 301, 1265, 340, 340, 340, 02506 340, 2888, 1273, 340, 1275, 1274, 340, 340, 340, 2888, 02507 1382, 340, 340, 1272, 340, 1400, 2888, 340, 340, 2888, 02508 340, 1381, 1276, 1281, 1277, 340, 340, 340, 340, 1273, 02509 340, 1275, 1274, 340, 340, 340, 1283, 1382, 340, 340, 02510 340, 340, 340, 1400, 1278, 340, 1401, 340, 340, 1276, 02511 02512 1281, 1277, 1289, 340, 340, 340, 340, 340, 340, 1288, 02513 1284, 340, 340, 340, 1283, 340, 340, 340, 1287, 340, 02514 1402, 1278, 1285, 340, 1401, 340, 2888, 2888, 340, 1289, 02515 1412, 340, 340, 340, 1292, 340, 340, 1288, 2888, 1296, 02516 340, 340, 340, 340, 340, 1287, 340, 340, 1402, 2888, 02517 340, 2888, 340, 1403, 340, 340, 340, 1412, 1300, 2888, 02518 1297, 2888, 1299, 2888, 340, 340, 1296, 2888, 2888, 1301, 02519 340, 1298, 340, 1302, 340, 340, 340, 340, 340, 1303, 02520 340, 1403, 340, 340, 340, 340, 340, 1297, 340, 1299, 02521 1304, 1414, 1416, 340, 340, 340, 340, 1301, 340, 2888, 02522 02523 1305, 1302, 1422, 340, 340, 340, 340, 1303, 2888, 1306, 02524 1307, 1423, 340, 340, 340, 2888, 340, 1304, 1414, 385, 02525 1416, 385, 340, 340, 340, 385, 340, 385, 1305, 385, 02526 1422, 340, 1309, 385, 340, 1313, 1306, 1307, 1314, 1423, 02527 2888, 1315, 385, 385, 385, 1424, 385, 385, 2888, 385, 02528 385, 385, 385, 385, 385, 385, 1316, 385, 1419, 1309, 02529 2888, 385, 1313, 2888, 1318, 1314, 1317, 385, 1315, 385, 02530 385, 385, 385, 1424, 385, 385, 385, 1324, 385, 385, 02531 385, 1319, 385, 1316, 385, 1419, 2888, 1322, 385, 2888, 02532 385, 1318, 385, 1317, 385, 385, 385, 385, 385, 2888, 02533 02534 385, 2888, 385, 385, 385, 1324, 1328, 1330, 1319, 2888, 02535 2888, 2888, 385, 385, 1322, 1325, 385, 1326, 385, 385, 02536 385, 385, 385, 1329, 385, 2888, 385, 385, 385, 385, 02537 385, 385, 2888, 1328, 1330, 385, 385, 385, 385, 385, 02538 1333, 385, 1337, 385, 385, 2888, 385, 385, 1428, 385, 02539 2888, 1329, 1340, 1338, 385, 385, 1339, 385, 2888, 385, 02540 385, 2888, 385, 385, 385, 385, 385, 385, 385, 1337, 02541 1341, 385, 385, 1345, 385, 385, 1428, 385, 1344, 1340, 02542 1338, 1342, 385, 385, 385, 1343, 1346, 385, 385, 385, 02543 385, 259, 385, 259, 2888, 385, 385, 385, 1405, 259, 02544 02545 1345, 259, 2888, 385, 1348, 385, 1344, 1425, 1347, 1342, 02546 1437, 385, 385, 1343, 1346, 385, 2888, 385, 2888, 259, 02547 385, 259, 259, 385, 1404, 385, 1405, 259, 2888, 259, 02548 259, 1348, 2888, 2888, 1425, 1347, 1373, 1373, 1437, 1373, 02549 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 259, 02550 259, 259, 1404, 259, 1407, 1406, 1417, 259, 259, 259, 02551 259, 259, 2888, 1426, 1427, 1408, 1430, 1438, 259, 1439, 02552 2888, 1411, 1448, 1418, 1373, 1373, 1373, 259, 2888, 259, 02553 2888, 259, 1407, 1406, 1417, 259, 2888, 259, 259, 259, 02554 1426, 1427, 1408, 1430, 2888, 1438, 259, 1439, 1411, 1448, 02555 02556 1418, 1373, 1373, 1373, 1373, 1373, 1409, 1409, 1450, 1409, 02557 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 259, 02558 259, 259, 259, 259, 1452, 1421, 2888, 259, 259, 259, 02559 259, 259, 2888, 1415, 1420, 1450, 1455, 1413, 1458, 1459, 02560 2888, 2888, 2888, 2888, 1409, 1409, 1409, 259, 259, 259, 02561 259, 259, 1452, 1421, 259, 259, 259, 259, 259, 259, 02562 1415, 1420, 259, 1455, 1413, 1463, 1458, 1459, 259, 259, 02563 259, 1409, 1409, 1409, 1409, 1409, 259, 259, 259, 1471, 02564 259, 259, 259, 1431, 1433, 2888, 1460, 1429, 259, 259, 02565 259, 1434, 259, 1463, 1432, 259, 259, 259, 259, 259, 02566 02567 2888, 2888, 1436, 259, 259, 259, 259, 1471, 259, 259, 02568 259, 1431, 1433, 1460, 1429, 301, 259, 259, 2888, 1434, 02569 259, 1432, 1435, 259, 2888, 1447, 301, 259, 301, 301, 02570 1436, 259, 301, 1440, 301, 301, 1472, 1441, 259, 1442, 02571 301, 1443, 1473, 301, 301, 301, 301, 301, 301, 301, 02572 2888, 301, 1447, 301, 301, 301, 301, 1461, 1462, 301, 02573 2888, 1440, 301, 301, 1472, 1441, 1453, 1442, 301, 1443, 02574 1473, 301, 301, 301, 301, 301, 301, 301, 301, 301, 02575 1482, 301, 301, 1454, 1461, 1462, 1449, 1444, 301, 1484, 02576 1489, 301, 2888, 1486, 1453, 2888, 2888, 2888, 2888, 2888, 02577 02578 2888, 2888, 2888, 2888, 2888, 301, 301, 1482, 1492, 301, 02579 1454, 2888, 2888, 1449, 1444, 301, 1484, 1489, 301, 1373, 02580 1373, 1486, 1373, 1373, 1373, 1373, 1445, 1445, 1445, 1445, 02581 1445, 1445, 301, 301, 301, 2888, 1492, 1493, 1457, 301, 02582 301, 1494, 2888, 1451, 1456, 301, 301, 301, 301, 301, 02583 301, 301, 301, 301, 301, 340, 2888, 1373, 1373, 1445, 02584 301, 301, 301, 340, 2888, 1493, 1457, 301, 301, 1494, 02585 1451, 1456, 301, 301, 301, 301, 301, 301, 301, 301, 02586 301, 301, 1465, 340, 1373, 1373, 1373, 1373, 1373, 301, 02587 301, 340, 301, 301, 301, 2888, 1464, 301, 301, 2888, 02588 02589 1495, 1496, 2888, 2888, 1497, 1466, 2888, 2888, 301, 301, 02590 1465, 2888, 301, 2888, 2888, 2888, 301, 301, 2888, 301, 02591 301, 1467, 301, 1464, 301, 301, 301, 1495, 1496, 301, 02592 1468, 1497, 1466, 301, 301, 301, 301, 301, 301, 301, 02593 1470, 301, 340, 340, 301, 1474, 340, 1475, 301, 1467, 02594 340, 340, 1476, 301, 340, 340, 340, 301, 1468, 1477, 02595 1469, 301, 301, 340, 340, 301, 301, 1478, 1470, 301, 02596 340, 340, 301, 1474, 340, 1475, 301, 2888, 340, 340, 02597 1476, 2888, 340, 340, 340, 2888, 2888, 1477, 2888, 2888, 02598 1498, 340, 340, 2888, 1478, 1479, 1373, 336, 1479, 1373, 02599 02600 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 340, 340, 02601 2888, 1487, 340, 340, 340, 340, 340, 340, 1498, 1481, 02602 340, 340, 340, 340, 2888, 1485, 1490, 1483, 1488, 1500, 02603 340, 2888, 2888, 1373, 1479, 1479, 340, 340, 340, 1487, 02604 340, 340, 340, 340, 340, 340, 1481, 1518, 340, 340, 02605 340, 340, 1485, 1490, 1483, 1488, 1500, 340, 340, 1491, 02606 1479, 1479, 1479, 1479, 1479, 340, 340, 340, 340, 340, 02607 1501, 340, 1503, 1507, 1518, 340, 340, 340, 2888, 340, 02608 340, 2888, 1502, 1504, 1506, 340, 1499, 1491, 1508, 1509, 02609 2888, 340, 340, 340, 340, 340, 340, 340, 1501, 340, 02610 02611 1503, 1507, 340, 340, 340, 340, 385, 340, 340, 1502, 02612 385, 1504, 1506, 1499, 385, 1511, 1508, 1509, 385, 340, 02613 340, 1505, 340, 385, 1522, 1510, 1528, 385, 385, 385, 02614 340, 385, 1513, 1512, 385, 385, 385, 385, 385, 1520, 02615 1514, 2888, 385, 1511, 2888, 2888, 385, 2888, 2888, 2888, 02616 2888, 385, 1522, 1510, 1528, 385, 385, 385, 2888, 385, 02617 1513, 1512, 2888, 385, 385, 385, 1520, 1514, 1373, 1373, 02618 1525, 1373, 1373, 1373, 1515, 1515, 1515, 1515, 1515, 1515, 02619 1515, 385, 385, 1529, 1523, 385, 385, 385, 1530, 385, 02620 385, 2888, 1517, 385, 385, 385, 1534, 1525, 1521, 1526, 02621 02622 1519, 1524, 1531, 2888, 1532, 2888, 1373, 1373, 1515, 385, 02623 385, 1529, 1523, 385, 385, 385, 1530, 385, 385, 1517, 02624 1533, 385, 385, 385, 1534, 1521, 1526, 1519, 1524, 1531, 02625 385, 1532, 1527, 1373, 1373, 1373, 1373, 1373, 385, 2888, 02626 385, 385, 2888, 385, 2888, 1536, 1547, 1533, 385, 385, 02627 2888, 385, 2888, 1543, 385, 385, 1539, 1537, 385, 1540, 02628 1527, 1535, 385, 385, 385, 385, 385, 385, 385, 385, 02629 1546, 385, 1536, 385, 1547, 1548, 385, 385, 1538, 385, 02630 1543, 385, 385, 385, 1539, 1537, 1542, 1540, 1535, 385, 02631 385, 385, 385, 385, 385, 385, 1550, 1546, 1551, 2888, 02632 02633 1552, 385, 1553, 1548, 1555, 1538, 1556, 1557, 1541, 385, 02634 1558, 2888, 1559, 1560, 1542, 1561, 1562, 385, 1569, 1571, 02635 1572, 1575, 385, 1550, 1563, 1576, 1551, 1552, 1564, 1553, 02636 1573, 1555, 1566, 1556, 1557, 1574, 1567, 1578, 1558, 1559, 02637 1560, 1577, 1565, 1561, 1562, 1569, 1571, 1579, 1572, 1575, 02638 1568, 1580, 1563, 1576, 1581, 1582, 1564, 1573, 1583, 1584, 02639 1566, 1585, 1574, 1587, 1567, 1578, 1588, 1592, 1577, 1565, 02640 1589, 1590, 1591, 1593, 1579, 1594, 1595, 1568, 1580, 2888, 02641 1606, 1581, 259, 1582, 259, 2888, 1583, 1584, 1585, 1608, 02642 259, 1587, 259, 2888, 1588, 1592, 1612, 1589, 1590, 1591, 02643 02644 1593, 1596, 1594, 259, 1595, 259, 259, 1606, 1610, 1598, 02645 259, 259, 259, 259, 259, 259, 1608, 1597, 259, 1599, 02646 259, 1611, 1600, 259, 1612, 2888, 1601, 2888, 1596, 1616, 02647 1613, 259, 1617, 259, 259, 1610, 2888, 1598, 259, 259, 02648 1602, 259, 259, 259, 1597, 2888, 259, 1599, 1611, 1618, 02649 1600, 259, 259, 1603, 1601, 259, 1616, 1604, 1613, 1617, 02650 259, 1609, 1619, 259, 259, 1607, 259, 1602, 1620, 259, 02651 2888, 1605, 259, 1615, 259, 1621, 1618, 259, 2888, 1622, 02652 259, 1603, 1614, 259, 1624, 1604, 259, 259, 259, 1609, 02653 1619, 259, 259, 1628, 259, 259, 1620, 259, 1605, 1630, 02654 02655 259, 1615, 259, 1621, 1632, 259, 1622, 1631, 1625, 1614, 02656 259, 2888, 1624, 1623, 259, 259, 259, 259, 2888, 2888, 02657 1628, 1643, 259, 259, 259, 259, 1630, 1626, 1627, 259, 02658 259, 1629, 1632, 1645, 1631, 1647, 1625, 259, 259, 301, 02659 2888, 2888, 301, 301, 259, 259, 1635, 301, 1643, 2888, 02660 301, 1649, 259, 259, 1626, 1627, 1648, 259, 1633, 1629, 02661 1645, 301, 1647, 2888, 1634, 259, 1650, 301, 301, 301, 02662 301, 301, 301, 1636, 1635, 301, 301, 301, 301, 1649, 02663 301, 1655, 301, 1648, 1653, 1633, 301, 1656, 301, 1637, 02664 301, 1634, 2888, 1638, 1650, 301, 2888, 301, 1654, 301, 02665 02666 301, 1636, 301, 1657, 301, 301, 1651, 1639, 301, 1655, 02667 301, 1653, 2888, 2888, 301, 1656, 301, 1637, 301, 301, 02668 301, 1638, 1646, 301, 301, 1654, 301, 301, 2888, 301, 02669 1658, 1657, 1663, 1651, 1639, 301, 1640, 301, 2888, 301, 02670 1641, 1652, 2888, 301, 301, 301, 1644, 301, 301, 1667, 02671 1646, 301, 301, 2888, 1642, 301, 1665, 1658, 301, 1663, 02672 1666, 2888, 301, 301, 1640, 301, 301, 301, 1641, 1652, 02673 301, 301, 2888, 301, 301, 1684, 301, 1667, 301, 2888, 02674 301, 1642, 1660, 1665, 301, 1659, 301, 1666, 1661, 1662, 02675 301, 301, 301, 2888, 301, 301, 301, 2888, 301, 340, 02676 02677 1664, 340, 301, 1684, 301, 1685, 301, 340, 301, 340, 02678 1660, 301, 301, 1669, 301, 1661, 1662, 340, 301, 301, 02679 1668, 1670, 301, 301, 340, 340, 340, 340, 1664, 340, 02680 1671, 1691, 340, 1685, 340, 340, 1678, 340, 301, 1672, 02681 1669, 301, 340, 1673, 2888, 340, 1680, 1668, 1682, 1670, 02682 340, 2888, 340, 340, 340, 1683, 2888, 1674, 1671, 1691, 02683 340, 1692, 340, 1678, 340, 1675, 2888, 1672, 340, 1676, 02684 340, 1673, 340, 1680, 1688, 1682, 340, 1693, 340, 340, 02685 340, 2888, 1683, 1677, 1674, 1681, 340, 340, 340, 1692, 02686 1687, 1696, 340, 1675, 340, 1679, 340, 1676, 1686, 1689, 02687 02688 340, 1688, 1690, 1694, 340, 1693, 1704, 340, 340, 340, 02689 1677, 2888, 340, 1681, 340, 340, 340, 340, 1687, 1696, 02690 340, 2888, 340, 1700, 1702, 1686, 1689, 340, 2888, 1690, 02691 1694, 340, 2888, 1697, 1704, 340, 1695, 340, 340, 340, 02692 340, 1703, 1698, 1715, 1721, 340, 340, 2888, 340, 1699, 02693 1700, 1702, 340, 2888, 1701, 340, 385, 385, 2888, 340, 02694 340, 1697, 1717, 340, 385, 385, 340, 340, 1703, 1698, 02695 1715, 1706, 1721, 385, 340, 1705, 1699, 1707, 385, 385, 02696 340, 385, 1701, 1708, 385, 385, 385, 385, 340, 1717, 02697 1709, 385, 385, 385, 1710, 2888, 385, 1722, 1706, 385, 02698 02699 2888, 385, 1705, 1719, 385, 1707, 385, 385, 1711, 385, 02700 1720, 1708, 385, 1712, 385, 385, 1725, 1713, 1709, 385, 02701 385, 385, 1710, 1716, 385, 1722, 1726, 385, 385, 385, 02702 1719, 1714, 385, 1727, 1718, 1711, 385, 1720, 1731, 1723, 02703 385, 1712, 385, 1725, 1728, 1713, 1724, 1729, 385, 385, 02704 385, 1730, 1733, 1726, 1737, 385, 385, 385, 1714, 385, 02705 1727, 1741, 1718, 385, 385, 1731, 1723, 385, 2888, 1739, 02706 385, 1743, 1728, 1747, 1724, 1729, 1740, 385, 385, 1730, 02707 1733, 1737, 1732, 385, 385, 385, 385, 385, 1735, 1741, 02708 1734, 385, 385, 1748, 385, 385, 1739, 1736, 385, 1743, 02709 02710 1738, 1747, 1742, 1740, 1744, 385, 385, 2888, 1745, 1749, 02711 1750, 1752, 385, 385, 385, 1735, 1751, 1753, 1734, 1754, 02712 385, 1748, 385, 1755, 1736, 1756, 385, 1757, 1738, 1742, 02713 1758, 1744, 1761, 1766, 385, 1745, 1749, 1759, 1750, 1752, 02714 1760, 1762, 1763, 1751, 1753, 1764, 1754, 1765, 1768, 1769, 02715 1772, 1755, 1756, 1770, 1771, 1757, 1773, 1758, 1774, 1783, 02716 1761, 1766, 1775, 1776, 1759, 1777, 1778, 1760, 1762, 1763, 02717 1779, 1780, 1764, 1781, 1765, 1768, 1782, 1769, 1772, 1784, 02718 1770, 1771, 1785, 259, 1773, 1786, 1774, 1783, 259, 1775, 02719 1776, 259, 1777, 1778, 1791, 1790, 259, 1779, 1780, 259, 02720 02721 1781, 1788, 2888, 1782, 1798, 1787, 1784, 259, 1799, 259, 02722 1785, 259, 1786, 1801, 2888, 1802, 259, 259, 1794, 259, 02723 2888, 1791, 1789, 1790, 259, 1792, 259, 259, 1793, 1788, 02724 259, 1798, 1787, 259, 259, 259, 1799, 259, 259, 1806, 02725 1801, 259, 259, 1802, 1795, 259, 1794, 1796, 1803, 1789, 02726 1797, 1804, 1792, 1807, 259, 1793, 1805, 259, 259, 1808, 02727 1800, 259, 259, 1809, 259, 259, 259, 1806, 1810, 259, 02728 259, 1795, 1811, 1812, 1796, 1803, 1813, 1797, 1804, 1814, 02729 259, 1807, 1815, 259, 1805, 259, 1808, 1817, 259, 259, 02730 1809, 259, 259, 259, 259, 1810, 1818, 259, 1816, 1811, 02731 02732 1812, 1819, 259, 1813, 2888, 2888, 1814, 1823, 259, 1815, 02733 1824, 259, 1825, 1831, 1817, 1826, 259, 259, 301, 259, 02734 1821, 1832, 259, 2888, 1818, 259, 1816, 301, 1819, 301, 02735 259, 301, 301, 1820, 301, 1823, 301, 1824, 1822, 1825, 02736 1831, 301, 1826, 301, 2888, 1835, 301, 301, 1821, 1832, 02737 301, 1834, 1836, 1837, 1829, 301, 301, 1830, 301, 301, 02738 1820, 301, 1827, 2888, 301, 1822, 301, 2888, 301, 301, 02739 301, 301, 1828, 1835, 301, 1840, 301, 301, 1834, 1836, 02740 1837, 1829, 1839, 2888, 1830, 1838, 301, 301, 2888, 301, 02741 1827, 301, 2888, 301, 301, 301, 301, 301, 301, 1828, 02742 02743 301, 1841, 1840, 301, 1842, 1843, 1844, 1845, 301, 2888, 02744 1839, 1833, 301, 1838, 301, 301, 301, 301, 301, 301, 02745 1846, 301, 301, 301, 301, 1848, 301, 301, 1841, 1849, 02746 340, 1842, 1843, 1844, 1845, 301, 301, 301, 340, 301, 02747 301, 1847, 1854, 301, 301, 301, 301, 1846, 1850, 1855, 02748 301, 340, 1848, 340, 301, 1852, 1863, 1849, 340, 340, 02749 2888, 340, 2888, 301, 340, 301, 340, 301, 1851, 1847, 02750 1854, 301, 340, 301, 1862, 1850, 1855, 1853, 1858, 340, 02751 340, 340, 1856, 1852, 1863, 1857, 340, 340, 340, 340, 02752 340, 1866, 340, 1865, 1859, 1851, 1867, 340, 340, 1869, 02753 02754 340, 1862, 1868, 340, 1853, 340, 1858, 340, 340, 1856, 02755 1860, 340, 1857, 1861, 340, 1870, 340, 1864, 340, 1866, 02756 1865, 1859, 1871, 1867, 1872, 340, 340, 1869, 1873, 1868, 02757 1874, 340, 1875, 340, 1876, 340, 1877, 1860, 1878, 340, 02758 1861, 340, 1882, 1870, 340, 340, 2888, 1879, 1881, 340, 02759 1871, 1872, 340, 340, 340, 1873, 1883, 1874, 1880, 1875, 02760 1887, 1876, 340, 1877, 1888, 1878, 1895, 2888, 385, 340, 02761 1882, 385, 340, 340, 1879, 1881, 385, 340, 1898, 385, 02762 340, 340, 340, 1883, 1886, 1884, 1880, 385, 1887, 1885, 02763 340, 1888, 385, 1895, 1889, 385, 385, 1890, 1891, 385, 02764 02765 385, 1896, 385, 1899, 385, 1898, 385, 385, 2888, 1900, 02766 385, 1886, 1884, 1901, 385, 385, 1892, 1885, 1903, 385, 02767 385, 1889, 385, 385, 1890, 1902, 1891, 385, 385, 1896, 02768 385, 1899, 1893, 385, 385, 1894, 1900, 385, 385, 1904, 02769 1901, 1897, 385, 1892, 1905, 385, 1903, 385, 1906, 1907, 02770 385, 1908, 1909, 1902, 1910, 385, 1911, 1912, 385, 1893, 02771 385, 385, 1894, 1914, 385, 385, 385, 1904, 385, 2888, 02772 1915, 1905, 385, 385, 1916, 1906, 1907, 1917, 1908, 1909, 02773 1918, 1910, 1919, 1911, 1912, 385, 385, 1920, 385, 1913, 02774 1925, 1914, 385, 385, 385, 1922, 385, 1915, 1923, 1924, 02775 02776 385, 1916, 1926, 1927, 1928, 1917, 1929, 1918, 1930, 1919, 02777 1931, 1932, 1933, 385, 1920, 1934, 1935, 1913, 1925, 1936, 02778 1937, 385, 1922, 1938, 1944, 1923, 1924, 1939, 1940, 1926, 02779 1927, 1941, 1928, 1929, 1942, 1930, 1943, 1945, 1931, 1932, 02780 1933, 1946, 1947, 1934, 1935, 1948, 1949, 1936, 1937, 1950, 02781 1952, 1938, 1944, 1951, 1939, 1940, 1953, 1954, 1941, 1955, 02782 1957, 1942, 1958, 1943, 1945, 1959, 259, 2888, 1946, 1947, 02783 1960, 259, 1948, 1949, 259, 1963, 1964, 1950, 1952, 259, 02784 1951, 1965, 1966, 1953, 2888, 1954, 1955, 259, 1957, 1958, 02785 1961, 2888, 1959, 2888, 259, 259, 2888, 1976, 1960, 259, 02786 02787 1971, 1972, 259, 1963, 1964, 1962, 259, 259, 1967, 1965, 02788 1966, 259, 259, 1968, 259, 259, 259, 1961, 1970, 259, 02789 259, 1969, 1982, 259, 259, 1976, 1973, 1971, 1972, 1974, 02790 1975, 1977, 1962, 1979, 259, 1980, 1967, 1981, 1983, 259, 02791 259, 1968, 259, 259, 259, 1984, 1970, 259, 259, 1969, 02792 1982, 259, 259, 1973, 1978, 1985, 1974, 1975, 1977, 1986, 02793 1979, 1987, 1980, 1989, 1981, 1983, 259, 2888, 1990, 1991, 02794 2003, 259, 301, 1984, 259, 2888, 1992, 2888, 1995, 259, 02795 301, 1978, 1985, 1996, 1997, 301, 1998, 1986, 1987, 301, 02796 2888, 1989, 2004, 1988, 259, 1990, 1991, 2003, 301, 2005, 02797 02798 301, 301, 259, 1993, 1992, 1994, 1995, 1999, 301, 2000, 02799 2888, 1996, 1997, 301, 1998, 2006, 2007, 301, 301, 2004, 02800 301, 301, 2009, 301, 2011, 301, 2005, 2008, 301, 2013, 02801 1993, 2012, 1994, 2015, 301, 1999, 301, 2000, 2001, 2019, 02802 301, 2002, 2006, 2007, 2014, 301, 2016, 301, 301, 2009, 02803 301, 2011, 301, 2010, 301, 2008, 301, 2013, 2012, 2017, 02804 301, 2015, 301, 2020, 301, 2021, 2001, 2019, 301, 2002, 02805 2025, 2014, 2026, 2016, 2033, 301, 340, 2888, 301, 301, 02806 2010, 301, 301, 301, 340, 340, 2017, 301, 340, 2022, 02807 2020, 2018, 2021, 340, 2888, 2023, 340, 2027, 2025, 2028, 02808 02809 2026, 2033, 301, 2038, 340, 301, 2024, 2888, 2034, 301, 02810 2888, 2044, 340, 340, 2035, 2036, 340, 2022, 340, 2888, 02811 2029, 340, 2023, 2037, 340, 2027, 340, 2028, 340, 340, 02812 2030, 2038, 340, 2024, 2031, 2034, 340, 340, 2032, 2044, 02813 340, 2035, 2036, 2039, 340, 2046, 340, 2041, 2029, 2042, 02814 2037, 2043, 340, 2048, 340, 2040, 340, 340, 2030, 2045, 02815 340, 2047, 2031, 2049, 340, 340, 2032, 340, 340, 2051, 02816 2039, 2052, 340, 2046, 2041, 340, 2042, 2053, 2043, 385, 02817 340, 2048, 2040, 2054, 385, 2057, 2045, 385, 2047, 2058, 02818 2049, 385, 385, 2059, 2050, 340, 2060, 2051, 2052, 385, 02819 02820 2888, 2065, 2056, 340, 2053, 2066, 385, 385, 2061, 2888, 02821 2055, 2054, 385, 2057, 385, 385, 2067, 2058, 2068, 385, 02822 385, 2059, 2069, 385, 2060, 2062, 2070, 385, 2065, 2056, 02823 385, 385, 2066, 385, 385, 2063, 2061, 2055, 385, 2064, 02824 2888, 385, 385, 2067, 2071, 2068, 2073, 2074, 2075, 2069, 02825 2076, 385, 2077, 2062, 2070, 2078, 2080, 385, 385, 385, 02826 2079, 385, 2081, 2063, 385, 385, 385, 2064, 2072, 385, 02827 2083, 2071, 385, 2073, 2074, 2075, 2084, 2085, 2076, 2077, 02828 2087, 2088, 2091, 2078, 2080, 385, 2089, 2079, 2090, 2081, 02829 2092, 2082, 385, 385, 2093, 2072, 2094, 2083, 2095, 2096, 02830 02831 385, 2097, 2098, 2084, 2085, 2099, 2100, 2087, 2101, 2088, 02832 2091, 2102, 2103, 2089, 2104, 2090, 2105, 2092, 2106, 2888, 02833 2107, 2093, 2108, 2109, 2094, 2095, 2110, 2096, 2097, 2098, 02834 2111, 2112, 2099, 2100, 2113, 2115, 2101, 2114, 2102, 2103, 02835 2116, 2104, 2117, 2121, 2105, 2122, 2106, 2107, 259, 2108, 02836 2109, 2123, 259, 2110, 2118, 2119, 259, 2111, 2112, 2125, 02837 259, 2128, 2113, 2115, 2114, 2120, 259, 2116, 2126, 2124, 02838 2117, 2121, 2122, 2127, 259, 2133, 259, 259, 2888, 2123, 02839 259, 2134, 2118, 2119, 259, 259, 2125, 2129, 259, 2128, 02840 259, 2888, 2120, 259, 259, 2126, 2124, 2135, 259, 2140, 02841 02842 2127, 259, 259, 2133, 2136, 259, 2137, 2131, 2134, 2130, 02843 2138, 259, 259, 259, 2129, 2132, 2888, 2139, 259, 259, 02844 259, 259, 2141, 2142, 2135, 2143, 259, 2140, 2144, 259, 02845 2148, 2136, 2149, 2137, 2131, 301, 2130, 2138, 301, 259, 02846 259, 2151, 301, 2132, 2139, 2152, 2153, 259, 259, 2141, 02847 2154, 2142, 2143, 2145, 2146, 2150, 2144, 2155, 2148, 2149, 02848 2161, 2888, 301, 301, 2147, 301, 301, 2160, 2151, 301, 02849 301, 301, 2152, 2153, 301, 2888, 301, 2154, 301, 2888, 02850 301, 2145, 2146, 2150, 2167, 2155, 2162, 2161, 2156, 301, 02851 301, 2147, 301, 301, 2157, 2160, 301, 301, 301, 301, 02852 02853 2163, 301, 2158, 301, 301, 301, 301, 2159, 301, 2164, 02854 2165, 301, 2167, 2162, 301, 2156, 301, 2166, 301, 301, 02855 2168, 2157, 301, 301, 2169, 2170, 301, 2163, 2174, 2158, 02856 2175, 301, 2181, 301, 2178, 2159, 2164, 2165, 2179, 301, 02857 2171, 2172, 301, 2180, 2166, 2186, 301, 2168, 2187, 2188, 02858 301, 2173, 2169, 2170, 340, 340, 2174, 2175, 2176, 340, 02859 2181, 2178, 340, 340, 340, 2179, 2189, 340, 2171, 2172, 02860 2180, 2177, 340, 2186, 2182, 2187, 2188, 340, 2173, 2190, 02861 340, 340, 340, 340, 2191, 340, 2176, 340, 340, 340, 02862 340, 340, 340, 2189, 2184, 340, 2183, 2192, 2177, 340, 02863 02864 340, 2182, 2193, 2185, 2195, 340, 2190, 340, 340, 340, 02865 2194, 2191, 2196, 340, 2197, 2201, 340, 340, 2198, 2199, 02866 2888, 2184, 2202, 2183, 2192, 2205, 385, 340, 2206, 2200, 02867 2193, 2185, 2195, 385, 385, 340, 2203, 2194, 2207, 2196, 02868 385, 385, 2197, 2201, 2208, 2213, 2198, 2199, 385, 2202, 02869 385, 2888, 2205, 2888, 385, 2206, 2200, 2204, 385, 2888, 02870 2209, 385, 385, 385, 2203, 2207, 385, 385, 385, 385, 02871 2214, 385, 2208, 2213, 385, 385, 385, 2215, 385, 2216, 02872 2211, 2217, 2210, 2218, 2204, 385, 385, 2209, 2219, 2212, 02873 2220, 385, 2221, 385, 385, 385, 2222, 2214, 2223, 385, 02874 02875 2224, 2228, 385, 385, 2215, 2229, 2216, 2211, 2217, 2210, 02876 2218, 2225, 2226, 385, 2230, 2219, 2231, 2212, 2220, 2221, 02877 2232, 385, 2227, 2233, 2222, 2223, 2234, 2235, 2224, 2228, 02878 2236, 2237, 2229, 2238, 2239, 2888, 2240, 2241, 2243, 2225, 02879 2226, 2230, 2242, 2244, 2231, 2245, 2247, 2232, 2246, 2227, 02880 2233, 2248, 2251, 2234, 2235, 2249, 2252, 2236, 2253, 2237, 02881 2254, 2238, 2239, 2240, 2255, 2241, 2243, 2256, 2257, 2242, 02882 2244, 2258, 2260, 2245, 2247, 2246, 2261, 259, 2262, 2248, 02883 2251, 2263, 2249, 2270, 2252, 259, 2253, 2254, 2268, 259, 02884 259, 2255, 2266, 2259, 259, 2256, 2257, 259, 259, 2258, 02885 02886 2260, 259, 259, 2261, 2269, 259, 2262, 2264, 2263, 259, 02887 2270, 2265, 2272, 259, 2273, 259, 2268, 259, 259, 2274, 02888 2266, 2259, 259, 259, 2277, 259, 259, 2275, 2267, 259, 02889 259, 2276, 2269, 2278, 2279, 2264, 2282, 259, 2265, 2281, 02890 2272, 301, 2273, 259, 2283, 301, 2888, 2274, 2284, 301, 02891 2888, 259, 2277, 2289, 2275, 2267, 301, 2888, 2276, 2291, 02892 2280, 2278, 2279, 2282, 301, 2290, 2888, 2281, 2296, 301, 02893 301, 2287, 2283, 301, 301, 2284, 2285, 301, 301, 301, 02894 301, 2289, 301, 301, 301, 301, 2291, 301, 2280, 2293, 02895 2888, 2288, 301, 2290, 301, 2296, 2286, 2294, 301, 2287, 02896 02897 2295, 2298, 301, 2297, 2285, 2299, 301, 301, 301, 301, 02898 2300, 301, 301, 2302, 340, 301, 340, 2293, 2288, 2303, 02899 2301, 301, 340, 2286, 340, 2294, 2304, 2310, 2295, 2298, 02900 2297, 2305, 340, 2299, 2311, 2888, 2312, 340, 2300, 2314, 02901 340, 2302, 340, 2306, 340, 340, 2303, 2315, 2301, 2307, 02902 340, 340, 340, 2308, 2304, 2310, 340, 2316, 2305, 340, 02903 340, 2317, 2311, 2312, 340, 340, 2318, 2314, 340, 2309, 02904 2319, 2306, 2320, 340, 2321, 2315, 2307, 2323, 385, 340, 02905 2324, 2308, 2325, 2888, 340, 2316, 385, 340, 2317, 2326, 02906 2331, 385, 340, 2318, 2888, 2322, 2309, 2888, 2319, 385, 02907 02908 2320, 2332, 2321, 385, 385, 2323, 385, 2324, 2333, 2327, 02909 2325, 385, 385, 2335, 385, 2336, 2326, 2337, 2331, 385, 02910 2338, 2328, 385, 2322, 2329, 385, 2340, 385, 2339, 2332, 02911 385, 385, 385, 385, 2341, 2333, 2342, 2327, 2330, 385, 02912 385, 2335, 2343, 2336, 2344, 2337, 2345, 2338, 2328, 2346, 02913 385, 2347, 2329, 385, 2340, 2339, 2348, 2349, 385, 2350, 02914 2352, 385, 2341, 2351, 2342, 2330, 2353, 2354, 2355, 2343, 02915 2356, 2344, 2357, 2345, 2358, 2359, 2346, 2360, 2347, 2361, 02916 2362, 2363, 2364, 2348, 2366, 2349, 2367, 2350, 2352, 2368, 02917 2351, 2369, 2370, 2353, 2354, 2355, 2372, 2373, 2356, 2357, 02918 02919 2374, 2358, 2359, 2375, 2380, 2360, 2361, 2362, 2363, 2364, 02920 2381, 259, 2366, 2367, 2371, 2888, 2368, 2382, 2369, 259, 02921 2370, 259, 2387, 2372, 259, 2373, 259, 2374, 2377, 259, 02922 2375, 2380, 259, 259, 259, 2888, 2383, 2376, 2381, 259, 02923 2384, 259, 2371, 2385, 2382, 2378, 2388, 259, 2389, 259, 02924 2387, 2379, 259, 2390, 259, 2391, 2377, 259, 2393, 2394, 02925 259, 259, 259, 2383, 2376, 301, 2392, 2384, 2395, 259, 02926 2385, 2396, 2378, 2388, 2401, 2389, 301, 301, 2379, 301, 02927 2390, 2402, 2888, 2391, 2403, 2393, 2404, 2394, 301, 2405, 02928 2406, 2397, 301, 301, 2392, 2395, 2398, 2408, 2396, 2409, 02929 02930 301, 2401, 2410, 301, 301, 301, 301, 301, 301, 2402, 02931 301, 2403, 2411, 2404, 2400, 301, 2405, 2406, 2397, 2412, 02932 301, 2414, 2399, 2415, 2398, 2408, 2409, 340, 301, 2410, 02933 2413, 2423, 301, 2416, 301, 340, 301, 301, 2417, 2411, 02934 2422, 2400, 340, 2888, 340, 340, 2419, 2412, 2414, 2399, 02935 340, 2415, 340, 340, 2429, 340, 340, 2433, 2413, 2423, 02936 2416, 2418, 2421, 340, 340, 2417, 2424, 2422, 2425, 2426, 02937 340, 2427, 340, 340, 2419, 2420, 2430, 2431, 340, 2432, 02938 340, 340, 2429, 385, 340, 2433, 2434, 2436, 2418, 2421, 02939 2435, 385, 340, 2424, 2437, 2425, 2426, 2438, 2427, 385, 02940 02941 385, 385, 2420, 2430, 2431, 2440, 2432, 385, 385, 385, 02942 2444, 385, 385, 2450, 2434, 2436, 2439, 2435, 2441, 385, 02943 385, 2437, 2443, 2445, 2438, 2446, 2447, 385, 385, 385, 02944 2442, 2448, 2451, 2440, 2452, 385, 385, 385, 2444, 2453, 02945 385, 2450, 2454, 2439, 2455, 2441, 2456, 2457, 385, 2443, 02946 2445, 2458, 2446, 2447, 2459, 2461, 2462, 2442, 2448, 2451, 02947 2463, 2452, 2464, 2465, 2888, 2466, 2453, 2467, 2468, 2454, 02948 2470, 2455, 2471, 2456, 2457, 2472, 2473, 259, 2458, 2474, 02949 2475, 2459, 2461, 2476, 2462, 259, 2477, 2463, 2478, 2464, 02950 259, 2465, 2466, 2480, 2467, 2888, 2468, 2470, 259, 2483, 02951 02952 2471, 259, 2486, 2472, 2473, 259, 2474, 2475, 259, 259, 02953 2476, 259, 2487, 259, 2477, 2478, 259, 2488, 259, 259, 02954 2492, 2480, 2479, 2482, 2485, 2489, 259, 2483, 2481, 259, 02955 2486, 2490, 2491, 2493, 2888, 301, 259, 259, 301, 259, 02956 2487, 2497, 301, 2888, 259, 2488, 2888, 259, 2492, 2479, 02957 2482, 2485, 2489, 2500, 301, 2481, 2504, 2494, 2490, 2491, 02958 2493, 301, 301, 2495, 2498, 301, 2501, 2502, 2497, 301, 02959 301, 301, 301, 301, 301, 301, 2496, 301, 301, 301, 02960 2500, 301, 2503, 2504, 2494, 2505, 2506, 2508, 301, 2507, 02961 2888, 2495, 2498, 2513, 2501, 2502, 2888, 301, 301, 301, 02962 02963 301, 301, 301, 2496, 301, 301, 301, 340, 340, 2516, 02964 2503, 340, 2505, 2506, 2508, 340, 340, 2507, 2512, 340, 02965 340, 2513, 2509, 2510, 340, 2888, 2515, 2517, 340, 2518, 02966 2888, 2519, 340, 2888, 2520, 340, 340, 2516, 385, 340, 02967 2521, 2511, 2522, 340, 340, 2512, 385, 340, 340, 2509, 02968 2523, 2510, 340, 2515, 385, 2517, 340, 2518, 2519, 2527, 02969 340, 2520, 385, 2528, 385, 2531, 385, 2521, 2511, 2530, 02970 2522, 2526, 385, 385, 385, 385, 2525, 2523, 2524, 2532, 02971 2533, 385, 385, 385, 2888, 2534, 2527, 2535, 2536, 2538, 02972 385, 2528, 385, 2531, 2537, 2539, 2530, 2540, 2526, 2541, 02973 02974 385, 385, 2542, 385, 2525, 2524, 2543, 2532, 2533, 385, 02975 2545, 385, 2534, 2546, 2535, 2547, 2536, 2538, 2548, 2549, 02976 2551, 2537, 2539, 2550, 2540, 2552, 2558, 2541, 2553, 2555, 02977 2542, 2556, 2563, 2543, 259, 2888, 2561, 2562, 2545, 2566, 02978 2546, 259, 259, 2547, 2564, 2565, 2548, 2549, 2551, 259, 02979 2550, 2568, 2569, 2552, 2558, 2553, 2555, 2571, 2556, 2563, 02980 2559, 2557, 259, 259, 2561, 2562, 2566, 2560, 2888, 259, 02981 259, 259, 2564, 2565, 2576, 2574, 301, 259, 2568, 2569, 02982 301, 2575, 2888, 2577, 301, 2571, 2578, 2559, 301, 2888, 02983 2579, 259, 301, 2888, 2572, 2560, 2573, 2888, 2581, 259, 02984 02985 301, 2576, 301, 2574, 301, 2582, 2584, 340, 301, 2575, 02986 2570, 2577, 301, 2589, 2578, 340, 301, 2579, 2592, 340, 02987 301, 2572, 2587, 2588, 2573, 2581, 2585, 340, 301, 301, 02988 2590, 2591, 2582, 340, 2584, 340, 2594, 2586, 2888, 2595, 02989 2589, 340, 2597, 340, 385, 2592, 2583, 340, 385, 2600, 02990 2587, 2588, 385, 2585, 2601, 340, 385, 2603, 2590, 2591, 02991 385, 340, 2602, 2594, 2599, 2586, 2595, 2598, 385, 340, 02992 2597, 2596, 385, 2604, 2888, 2605, 385, 2600, 2607, 2608, 02993 385, 2609, 2601, 2610, 385, 2603, 2611, 2612, 385, 2602, 02994 2613, 2615, 2599, 2614, 2598, 2616, 385, 2617, 2618, 2888, 02995 02996 2619, 2604, 2605, 2620, 2625, 2607, 2608, 2621, 2622, 2609, 02997 2623, 2610, 2624, 2611, 2626, 2612, 2627, 2628, 2613, 2615, 02998 2614, 2629, 2633, 2616, 2617, 259, 2618, 2619, 2632, 2634, 02999 2635, 2620, 2625, 259, 2621, 2622, 2636, 2623, 2630, 2624, 03000 2637, 2626, 2638, 2627, 259, 2628, 2639, 2631, 2641, 2629, 03001 2633, 2640, 259, 259, 2642, 2632, 2634, 2635, 2645, 2646, 03002 301, 259, 2647, 2636, 2648, 2630, 2649, 2637, 2650, 2652, 03003 2638, 2643, 259, 2639, 301, 2631, 2641, 2651, 2640, 2653, 03004 259, 2654, 2642, 301, 2644, 2645, 2655, 2646, 301, 2647, 03005 2658, 2648, 2659, 2649, 301, 2650, 2652, 301, 2643, 340, 03006 03007 340, 301, 2657, 2888, 2660, 2651, 2653, 340, 340, 2654, 03008 2661, 301, 2644, 2656, 2655, 2662, 2663, 2658, 2664, 2667, 03009 2659, 301, 2665, 2666, 301, 2668, 385, 340, 340, 2672, 03010 2657, 2660, 2671, 2673, 385, 340, 340, 2661, 2674, 2669, 03011 2656, 2675, 2662, 2663, 2676, 2677, 2664, 2667, 385, 2665, 03012 2666, 2670, 2680, 2668, 385, 2678, 385, 2672, 2679, 2671, 03013 2673, 2681, 385, 2682, 2683, 2674, 2669, 2684, 2675, 2685, 03014 2686, 2676, 2687, 2677, 2688, 2689, 385, 2690, 2691, 2670, 03015 2680, 2692, 2678, 2693, 385, 2679, 2694, 2888, 2696, 2681, 03016 2697, 2682, 2683, 2698, 2699, 2684, 2685, 2700, 2686, 2701, 03017 03018 2687, 2688, 2689, 2702, 2690, 2691, 259, 259, 2888, 2692, 03019 2695, 2693, 2703, 2694, 259, 259, 2696, 2697, 301, 2704, 03020 2698, 2699, 301, 2705, 2700, 2706, 2707, 2701, 2708, 301, 03021 2709, 2702, 301, 301, 259, 259, 301, 2710, 2695, 2703, 03022 2711, 340, 259, 259, 2712, 2714, 301, 2704, 2715, 340, 03023 301, 2705, 2706, 2707, 2716, 2708, 301, 2709, 340, 301, 03024 301, 2713, 2719, 301, 2717, 2710, 340, 2720, 2711, 340, 03025 2718, 2712, 2721, 2714, 385, 2715, 385, 340, 2723, 2722, 03026 2728, 2716, 385, 2730, 385, 2731, 340, 2724, 2725, 2713, 03027 2719, 2717, 2726, 2727, 340, 2720, 2729, 2718, 2732, 2721, 03028 03029 2733, 2734, 385, 2735, 385, 2736, 2723, 2722, 2728, 2737, 03030 385, 2730, 385, 2731, 2724, 2725, 2738, 259, 2741, 2726, 03031 2727, 2739, 2740, 2729, 2742, 259, 2732, 2733, 2734, 2743, 03032 2744, 2735, 2736, 2745, 2746, 2747, 301, 2737, 2748, 2749, 03033 2750, 2888, 2751, 2752, 2738, 259, 2741, 301, 2739, 2740, 03034 301, 2742, 2753, 259, 340, 2888, 2754, 2743, 2744, 2755, 03035 2745, 2746, 340, 2747, 301, 2748, 2756, 2749, 2750, 2751, 03036 2752, 385, 2888, 2757, 301, 2758, 2759, 301, 2760, 385, 03037 2753, 2761, 340, 2754, 2762, 2763, 2765, 2755, 2764, 2766, 03038 340, 2767, 2888, 2768, 2756, 2769, 2888, 2770, 2771, 385, 03039 03040 2757, 2772, 2758, 2773, 2759, 2760, 2774, 385, 2775, 2761, 03041 2776, 2777, 2762, 2763, 2765, 2764, 2766, 2778, 2779, 2767, 03042 2768, 2780, 2781, 2769, 2770, 2782, 2771, 2783, 2772, 2784, 03043 2785, 2773, 2786, 2774, 2787, 2789, 2775, 2776, 2788, 2777, 03044 2790, 2791, 2888, 2792, 2778, 2793, 2779, 2794, 2780, 2795, 03045 2781, 2797, 2782, 2798, 2802, 2783, 2784, 2799, 2785, 2786, 03046 2801, 2803, 2787, 2789, 2805, 2788, 2806, 2790, 2807, 2791, 03047 2792, 2809, 2793, 2810, 2813, 2794, 2795, 2811, 2797, 2814, 03048 2815, 2798, 2802, 2816, 2799, 2817, 2818, 2801, 2803, 2819, 03049 2820, 2805, 2821, 2822, 2806, 2807, 2823, 2824, 2809, 2825, 03050 03051 2826, 2810, 2813, 2827, 2811, 2828, 2829, 2814, 2815, 2830, 03052 2831, 2816, 2832, 2817, 2818, 2833, 2834, 2819, 2820, 2835, 03053 2821, 2822, 2836, 2837, 2823, 2824, 2838, 2825, 2826, 2839, 03054 2840, 2827, 2828, 2841, 2829, 2842, 2830, 2831, 2843, 2845, 03055 2832, 2844, 2833, 2834, 2846, 2888, 2847, 2835, 2848, 2836, 03056 2837, 2849, 2888, 2850, 2838, 2851, 2839, 2840, 2852, 2888, 03057 2853, 2841, 2842, 2854, 2855, 2857, 2843, 2845, 2844, 2856, 03058 2863, 2864, 2846, 2847, 2865, 2866, 2848, 2867, 2888, 2849, 03059 2850, 2868, 2869, 2851, 2870, 2871, 2852, 2853, 2872, 2873, 03060 2874, 2854, 2855, 2857, 2875, 2876, 2856, 2877, 2863, 2864, 03061 03062 2878, 2879, 2865, 2866, 2880, 2867, 2881, 2882, 2868, 2869, 03063 2883, 2870, 2871, 2884, 2885, 2872, 2873, 2874, 2886, 2887, 03064 2888, 2875, 2876, 2888, 2877, 2888, 2888, 2878, 2879, 2888, 03065 2888, 2880, 2888, 2881, 2882, 2888, 2888, 2888, 2883, 2888, 03066 2888, 2884, 2885, 2888, 2888, 2888, 2886, 2887, 174, 174, 03067 174, 174, 174, 174, 174, 174, 174, 176, 176, 176, 03068 176, 176, 176, 176, 176, 176, 209, 209, 209, 209, 03069 209, 209, 209, 209, 209, 214, 214, 214, 2888, 214, 03070 214, 214, 214, 214, 217, 217, 253, 253, 2888, 253, 03071 253, 253, 253, 253, 253, 254, 254, 2888, 254, 254, 03072 03073 254, 254, 254, 254, 256, 256, 256, 256, 256, 256, 03074 256, 256, 256, 259, 259, 2888, 259, 259, 259, 259, 03075 259, 259, 295, 295, 2888, 295, 295, 295, 295, 295, 03076 295, 296, 296, 296, 2888, 296, 296, 296, 296, 296, 03077 299, 299, 299, 299, 301, 301, 301, 301, 336, 2888, 03078 336, 2888, 336, 336, 336, 336, 336, 340, 2888, 340, 03079 2888, 340, 340, 340, 340, 340, 374, 374, 374, 374, 03080 374, 374, 374, 374, 374, 379, 379, 382, 382, 382, 03081 382, 382, 385, 385, 385, 385, 385, 422, 422, 422, 03082 422, 422, 422, 422, 422, 422, 427, 427, 440, 440, 03083 03084 2888, 440, 440, 440, 440, 440, 440, 453, 453, 2888, 03085 453, 453, 453, 453, 453, 453, 454, 454, 214, 214, 03086 214, 214, 214, 214, 214, 214, 214, 217, 217, 256, 03087 256, 256, 256, 256, 256, 256, 256, 256, 675, 675, 03088 2888, 675, 675, 675, 675, 675, 675, 710, 710, 2888, 03089 710, 710, 710, 710, 710, 710, 723, 723, 2888, 723, 03090 723, 723, 723, 723, 723, 758, 758, 2888, 758, 758, 03091 758, 758, 758, 758, 771, 771, 2888, 771, 771, 771, 03092 771, 771, 771, 805, 805, 2888, 805, 805, 805, 805, 03093 805, 805, 818, 818, 818, 818, 818, 818, 818, 818, 03094 03095 818, 853, 853, 853, 853, 853, 853, 853, 853, 853, 03096 867, 867, 2888, 867, 867, 867, 867, 867, 867, 902, 03097 902, 2888, 902, 902, 902, 902, 902, 902, 709, 709, 03098 2888, 709, 709, 709, 709, 709, 709, 757, 757, 2888, 03099 757, 757, 757, 757, 757, 757, 804, 804, 2888, 804, 03100 804, 804, 804, 804, 804, 852, 852, 852, 852, 852, 03101 852, 852, 852, 852, 901, 901, 2888, 901, 901, 901, 03102 901, 901, 901, 1374, 1374, 2888, 1374, 1374, 1374, 1374, 03103 1374, 1374, 1410, 1410, 2888, 1410, 1410, 1410, 1410, 1410, 03104 1410, 1446, 1446, 2888, 1446, 1446, 1446, 1446, 1446, 1446, 03105 03106 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1516, 03107 1516, 2888, 1516, 1516, 1516, 1516, 1516, 1516, 35, 2888, 03108 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 03109 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 03110 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 03111 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 03112 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 03113 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 03114 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888 03115 } ; 03116 03117 static yyconst flex_int16_t yy_chk[11390] = 03118 { 0, 03119 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 03120 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 03121 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 03122 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 03123 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 03124 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 03125 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 03126 2, 21, 21, 2857, 2, 3, 3, 3, 3, 3, 03127 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 03128 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 03129 03130 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 03131 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 03132 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 03133 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 03134 3, 3, 3, 3, 3, 4, 67, 6, 67, 4, 03135 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 03136 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 03137 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 03138 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 03139 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 03140 03141 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 03142 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 03143 7, 7, 8, 22, 22, 2854, 8, 9, 9, 9, 03144 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 03145 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 03146 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 03147 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 03148 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 03149 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 03150 9, 9, 9, 9, 9, 9, 9, 10, 11, 12, 03151 03152 14, 10, 16, 12, 14, 18, 16, 20, 24, 18, 03153 46, 20, 24, 47, 27, 2851, 27, 28, 30, 28, 03154 27, 2848, 30, 28, 31, 31, 31, 50, 31, 33, 03155 33, 27, 52, 33, 28, 32, 32, 32, 46, 32, 03156 47, 2845, 27, 18, 27, 28, 2792, 28, 27, 34, 03157 34, 28, 62, 34, 50, 89, 62, 2786, 27, 89, 03158 52, 28, 176, 176, 422, 422, 11, 12, 15, 15, 03159 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 03160 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 03161 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 03162 03163 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 03164 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 03165 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 03166 15, 15, 15, 15, 15, 15, 15, 15, 23, 23, 03167 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 03168 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 03169 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 03170 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 03171 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 03172 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 03173 03174 23, 23, 23, 23, 23, 23, 23, 23, 25, 25, 03175 60, 25, 142, 25, 2780, 43, 48, 43, 25, 48, 03176 25, 25, 53, 25, 25, 55, 25, 25, 41, 41, 03177 41, 41, 41, 41, 2774, 56, 25, 25, 60, 25, 03178 2768, 25, 43, 48, 43, 25, 48, 25, 25, 53, 03179 25, 25, 55, 25, 25, 188, 44, 2534, 25, 25, 03180 29, 29, 56, 29, 44, 29, 54, 29, 29, 42, 03181 42, 42, 42, 42, 42, 45, 54, 29, 45, 29, 03182 142, 115, 45, 188, 44, 115, 2522, 57, 29, 29, 03183 42, 29, 44, 29, 54, 29, 29, 57, 51, 2519, 03184 03185 2507, 51, 45, 54, 29, 45, 29, 2504, 51, 45, 03186 51, 58, 29, 29, 58, 57, 61, 42, 256, 59, 03187 256, 181, 61, 59, 57, 58, 51, 59, 170, 51, 03188 2492, 2489, 170, 141, 141, 51, 141, 51, 2477, 58, 03189 2474, 173, 58, 2465, 61, 173, 192, 59, 181, 61, 03190 192, 59, 58, 2462, 182, 59, 68, 68, 68, 68, 03191 68, 68, 69, 69, 69, 69, 69, 69, 72, 73, 03192 141, 183, 76, 73, 144, 184, 72, 73, 144, 72, 03193 76, 182, 72, 69, 2445, 2424, 72, 93, 93, 93, 03194 93, 93, 93, 2403, 2382, 2361, 72, 73, 183, 79, 03195 03196 76, 73, 184, 79, 72, 73, 72, 79, 76, 72, 03197 69, 70, 70, 72, 70, 70, 70, 70, 70, 70, 03198 70, 70, 70, 70, 74, 75, 77, 79, 185, 82, 03199 195, 79, 74, 75, 77, 79, 75, 82, 2348, 75, 03200 77, 70, 144, 70, 187, 189, 74, 194, 82, 70, 03201 70, 70, 74, 75, 77, 185, 196, 82, 195, 2337, 03202 74, 75, 77, 75, 2316, 82, 75, 77, 70, 2295, 03203 70, 187, 189, 74, 194, 82, 70, 70, 70, 70, 03204 70, 71, 71, 196, 71, 71, 71, 71, 71, 71, 03205 71, 71, 71, 71, 71, 80, 81, 83, 88, 127, 03206 03207 81, 2274, 71, 80, 81, 83, 88, 127, 2253, 80, 03208 81, 83, 88, 119, 119, 119, 119, 119, 119, 71, 03209 71, 71, 71, 80, 81, 83, 88, 127, 81, 197, 03210 71, 80, 81, 83, 88, 127, 80, 81, 83, 88, 03211 149, 149, 149, 149, 149, 149, 71, 71, 71, 71, 03212 71, 78, 198, 375, 78, 2217, 197, 78, 206, 78, 03213 2190, 125, 206, 2164, 78, 2137, 78, 84, 86, 125, 03214 85, 84, 86, 199, 85, 84, 86, 85, 85, 78, 03215 198, 84, 78, 125, 157, 78, 87, 78, 85, 125, 03216 87, 78, 157, 78, 87, 84, 86, 125, 85, 84, 03217 03218 86, 199, 85, 84, 86, 85, 85, 251, 84, 112, 03219 125, 251, 157, 112, 87, 85, 2110, 112, 87, 1917, 03220 157, 375, 87, 94, 94, 94, 94, 94, 94, 98, 03221 1783, 99, 1747, 1572, 99, 200, 98, 112, 99, 98, 03222 216, 112, 99, 98, 94, 112, 120, 120, 120, 120, 03223 120, 120, 100, 101, 1551, 100, 101, 98, 99, 100, 03224 101, 99, 200, 98, 201, 99, 98, 120, 216, 99, 03225 98, 94, 95, 95, 95, 95, 95, 95, 1393, 100, 03226 101, 102, 100, 101, 102, 202, 100, 101, 102, 293, 03227 1377, 201, 186, 293, 120, 95, 186, 95, 215, 215, 03228 03229 215, 215, 215, 215, 225, 95, 104, 1363, 102, 203, 03230 218, 102, 202, 104, 105, 102, 104, 105, 219, 186, 03231 104, 105, 95, 186, 95, 96, 96, 96, 96, 96, 03232 96, 96, 225, 226, 104, 220, 203, 218, 221, 96, 03233 104, 105, 1358, 104, 105, 219, 106, 104, 105, 224, 03234 223, 335, 223, 106, 227, 335, 106, 229, 96, 96, 03235 106, 226, 220, 231, 1353, 221, 232, 96, 97, 97, 03236 97, 97, 97, 97, 106, 108, 224, 223, 108, 223, 03237 106, 227, 108, 106, 229, 97, 236, 106, 97, 233, 03238 231, 107, 97, 232, 107, 1352, 234, 1185, 107, 107, 03239 03240 238, 97, 108, 419, 961, 108, 124, 419, 128, 108, 03241 124, 235, 97, 236, 124, 97, 128, 233, 107, 97, 03242 103, 107, 128, 103, 234, 107, 107, 238, 103, 239, 03243 103, 103, 103, 109, 124, 103, 128, 240, 124, 235, 03244 109, 421, 124, 109, 128, 421, 955, 109, 103, 128, 03245 243, 103, 133, 948, 241, 103, 239, 103, 103, 103, 03246 133, 109, 103, 244, 240, 110, 245, 109, 110, 113, 03247 109, 133, 110, 113, 109, 110, 126, 113, 243, 110, 03248 133, 241, 378, 113, 126, 947, 378, 126, 133, 242, 03249 126, 244, 222, 110, 245, 131, 110, 113, 133, 110, 03250 03251 222, 113, 110, 131, 126, 113, 110, 111, 930, 131, 03252 113, 111, 126, 228, 126, 111, 242, 126, 111, 237, 03253 222, 111, 237, 131, 228, 111, 918, 228, 222, 438, 03254 246, 131, 862, 438, 451, 111, 131, 701, 451, 111, 03255 258, 228, 247, 111, 300, 111, 237, 684, 111, 237, 03256 378, 228, 111, 121, 228, 121, 121, 246, 121, 121, 03257 121, 121, 121, 121, 121, 121, 123, 130, 258, 247, 03258 163, 130, 300, 134, 123, 130, 611, 123, 163, 479, 03259 123, 134, 426, 121, 123, 121, 248, 134, 249, 163, 03260 250, 424, 121, 121, 123, 130, 339, 420, 163, 130, 03261 03262 428, 134, 123, 130, 123, 476, 163, 123, 381, 134, 03263 121, 123, 121, 248, 134, 249, 163, 250, 121, 121, 03264 121, 121, 121, 122, 339, 122, 122, 428, 122, 122, 03265 122, 122, 122, 122, 122, 122, 122, 132, 135, 476, 03266 259, 132, 135, 384, 122, 132, 135, 264, 259, 136, 03267 377, 132, 135, 136, 430, 264, 136, 136, 376, 429, 03268 297, 296, 122, 122, 122, 132, 135, 136, 259, 132, 03269 135, 384, 122, 132, 135, 264, 259, 136, 132, 135, 03270 431, 136, 430, 264, 136, 136, 429, 260, 122, 122, 03271 122, 122, 122, 129, 136, 260, 129, 374, 374, 129, 03272 03273 374, 129, 255, 432, 260, 436, 129, 431, 129, 137, 03274 138, 139, 154, 137, 138, 260, 154, 137, 138, 139, 03275 154, 129, 433, 260, 129, 139, 214, 129, 212, 129, 03276 432, 260, 436, 129, 374, 129, 211, 137, 138, 139, 03277 154, 137, 138, 434, 154, 137, 138, 139, 154, 210, 03278 433, 179, 139, 146, 146, 146, 146, 146, 146, 146, 03279 146, 146, 146, 146, 146, 150, 150, 150, 150, 150, 03280 150, 434, 435, 178, 175, 155, 257, 257, 257, 257, 03281 257, 257, 437, 155, 172, 147, 150, 146, 146, 146, 03282 146, 146, 146, 156, 153, 441, 143, 155, 442, 446, 03283 03284 435, 156, 153, 155, 156, 153, 118, 156, 153, 437, 03285 443, 155, 153, 150, 151, 151, 151, 151, 151, 151, 03286 151, 156, 153, 441, 155, 272, 442, 446, 444, 156, 03287 153, 156, 153, 272, 156, 153, 92, 443, 151, 153, 03288 151, 298, 298, 298, 298, 298, 298, 66, 151, 158, 03289 160, 263, 161, 272, 160, 444, 447, 158, 160, 263, 03290 161, 272, 65, 158, 263, 151, 161, 151, 152, 152, 03291 152, 152, 152, 152, 152, 152, 39, 158, 160, 263, 03292 161, 164, 160, 152, 447, 158, 160, 263, 161, 164, 03293 158, 263, 445, 161, 455, 164, 162, 37, 448, 35, 03294 03295 162, 449, 152, 152, 162, 261, 19, 450, 17, 164, 03296 162, 152, 159, 261, 458, 159, 13, 164, 159, 445, 03297 159, 455, 164, 261, 162, 159, 448, 159, 162, 449, 03298 165, 461, 162, 261, 165, 450, 457, 162, 165, 5, 03299 159, 261, 458, 159, 165, 0, 159, 167, 159, 166, 03300 261, 167, 159, 166, 159, 167, 166, 166, 165, 461, 03301 168, 276, 165, 457, 168, 265, 165, 166, 168, 276, 03302 0, 165, 169, 265, 262, 167, 265, 166, 265, 167, 03303 169, 166, 262, 167, 166, 166, 169, 0, 168, 276, 03304 262, 266, 168, 265, 166, 0, 168, 276, 459, 266, 03305 03306 169, 265, 262, 265, 267, 265, 0, 266, 169, 267, 03307 262, 462, 267, 169, 268, 269, 0, 262, 268, 266, 03308 463, 0, 268, 269, 0, 459, 0, 266, 0, 269, 03309 0, 270, 267, 270, 266, 0, 467, 267, 462, 270, 03310 267, 271, 268, 269, 270, 273, 268, 270, 463, 271, 03311 268, 269, 275, 273, 275, 274, 269, 271, 273, 270, 03312 275, 270, 277, 274, 467, 277, 468, 270, 278, 271, 03313 277, 270, 274, 273, 270, 469, 278, 271, 0, 279, 03314 275, 273, 275, 274, 271, 273, 0, 279, 275, 278, 03315 277, 274, 279, 277, 468, 279, 278, 281, 277, 274, 03316 03317 280, 285, 284, 469, 278, 281, 282, 279, 280, 285, 03318 284, 0, 281, 286, 282, 279, 278, 0, 280, 279, 03319 284, 286, 279, 282, 288, 281, 0, 283, 280, 285, 03320 284, 472, 288, 281, 282, 283, 280, 285, 284, 281, 03321 288, 286, 282, 287, 287, 280, 289, 284, 283, 286, 03322 282, 287, 288, 290, 289, 283, 472, 291, 301, 472, 03323 288, 290, 301, 283, 289, 291, 301, 288, 464, 290, 03324 291, 287, 287, 466, 289, 283, 292, 0, 0, 287, 03325 303, 290, 289, 303, 292, 291, 301, 303, 0, 290, 03326 301, 289, 292, 291, 301, 464, 290, 291, 302, 473, 03327 03328 466, 306, 302, 0, 292, 306, 302, 303, 465, 306, 03329 303, 313, 292, 304, 303, 302, 304, 465, 304, 292, 03330 304, 305, 313, 305, 305, 313, 302, 473, 305, 306, 03331 302, 470, 480, 306, 302, 465, 471, 306, 474, 313, 03332 304, 475, 302, 304, 487, 304, 0, 304, 305, 313, 03333 305, 305, 313, 0, 307, 305, 307, 307, 470, 308, 03334 480, 307, 308, 471, 308, 474, 308, 309, 475, 340, 03335 310, 314, 487, 309, 310, 0, 309, 340, 310, 0, 03336 309, 307, 314, 307, 307, 314, 308, 311, 307, 308, 03337 311, 308, 488, 308, 311, 309, 477, 340, 310, 314, 03338 03339 309, 0, 310, 309, 315, 340, 310, 309, 481, 314, 03340 482, 345, 314, 316, 311, 315, 0, 311, 315, 345, 03341 488, 311, 312, 477, 316, 0, 483, 316, 316, 317, 03342 0, 312, 315, 312, 312, 481, 312, 482, 312, 345, 03343 317, 316, 315, 317, 318, 315, 0, 345, 318, 0, 03344 312, 316, 318, 483, 316, 316, 484, 317, 312, 485, 03345 312, 312, 0, 312, 0, 312, 490, 317, 489, 320, 03346 317, 319, 318, 320, 319, 319, 318, 320, 321, 319, 03347 318, 322, 491, 484, 322, 492, 485, 0, 322, 321, 03348 320, 323, 321, 490, 323, 323, 489, 320, 323, 319, 03349 03350 0, 320, 319, 319, 0, 320, 321, 319, 322, 491, 03351 0, 322, 492, 0, 493, 322, 321, 320, 323, 321, 03352 324, 323, 323, 324, 494, 323, 324, 324, 325, 326, 03353 331, 325, 326, 331, 496, 325, 326, 331, 325, 0, 03354 327, 328, 493, 0, 327, 328, 0, 324, 327, 328, 03355 324, 494, 652, 324, 324, 325, 326, 331, 325, 326, 03356 331, 496, 325, 326, 331, 325, 329, 329, 327, 328, 03357 329, 330, 327, 328, 329, 332, 327, 328, 535, 333, 03358 652, 0, 330, 573, 0, 330, 332, 0, 612, 332, 03359 333, 650, 651, 333, 329, 329, 0, 334, 329, 330, 03360 03361 0, 0, 329, 332, 0, 535, 341, 333, 334, 330, 03362 573, 334, 330, 332, 341, 612, 332, 333, 650, 651, 03363 333, 653, 0, 341, 343, 334, 338, 338, 338, 338, 03364 338, 338, 343, 342, 341, 334, 344, 654, 334, 655, 03365 343, 342, 341, 656, 344, 346, 347, 658, 653, 344, 03366 341, 342, 343, 346, 347, 0, 346, 0, 346, 657, 03367 343, 342, 347, 348, 344, 654, 655, 343, 348, 342, 03368 656, 348, 344, 346, 347, 658, 344, 659, 342, 350, 03369 349, 346, 347, 346, 349, 346, 657, 350, 349, 347, 03370 660, 348, 0, 350, 352, 353, 348, 662, 351, 348, 03371 03372 351, 0, 352, 353, 659, 0, 351, 350, 349, 0, 03373 352, 351, 349, 665, 351, 350, 349, 660, 661, 354, 03374 350, 357, 352, 353, 662, 355, 351, 354, 351, 357, 03375 352, 353, 354, 355, 351, 664, 358, 352, 351, 358, 03376 665, 351, 355, 356, 358, 356, 661, 354, 361, 357, 03377 666, 356, 360, 355, 359, 354, 361, 357, 0, 354, 03378 360, 355, 359, 664, 358, 360, 361, 358, 360, 355, 03379 362, 356, 358, 356, 668, 359, 361, 666, 362, 356, 03380 360, 365, 359, 363, 361, 362, 364, 0, 360, 365, 03381 359, 363, 360, 361, 364, 360, 366, 367, 362, 365, 03382 03383 363, 668, 359, 670, 366, 367, 362, 364, 667, 365, 03384 370, 363, 362, 369, 364, 368, 368, 365, 370, 363, 03385 669, 369, 364, 368, 366, 367, 365, 363, 370, 369, 03386 670, 371, 366, 367, 364, 671, 667, 372, 370, 371, 03387 0, 369, 0, 368, 368, 372, 370, 371, 669, 369, 03388 372, 368, 373, 0, 0, 370, 369, 0, 0, 371, 03389 373, 385, 386, 671, 0, 372, 0, 371, 373, 385, 03390 386, 0, 0, 372, 371, 0, 672, 372, 677, 386, 03391 373, 383, 383, 383, 383, 383, 383, 688, 373, 385, 03392 386, 387, 388, 390, 389, 373, 678, 385, 386, 387, 03393 03394 388, 390, 389, 391, 672, 677, 386, 389, 388, 387, 03395 392, 391, 0, 0, 391, 688, 391, 692, 392, 387, 03396 388, 390, 389, 678, 0, 0, 392, 387, 388, 390, 03397 389, 391, 393, 0, 389, 388, 387, 393, 392, 391, 03398 393, 391, 395, 391, 394, 692, 392, 695, 394, 0, 03399 395, 397, 394, 392, 398, 0, 395, 0, 0, 397, 03400 393, 396, 398, 396, 0, 393, 0, 397, 393, 396, 03401 395, 0, 394, 680, 396, 695, 394, 396, 395, 397, 03402 394, 683, 398, 395, 401, 399, 401, 397, 400, 396, 03403 398, 396, 401, 399, 397, 402, 400, 396, 399, 403, 03404 03405 680, 396, 403, 402, 396, 400, 685, 403, 683, 0, 03406 0, 686, 401, 399, 401, 704, 400, 0, 404, 0, 03407 401, 399, 0, 402, 400, 399, 404, 403, 405, 406, 03408 403, 402, 400, 685, 407, 403, 405, 406, 686, 404, 03409 0, 405, 407, 704, 405, 410, 404, 406, 689, 407, 03410 408, 409, 411, 410, 404, 690, 405, 406, 408, 409, 03411 411, 412, 407, 410, 405, 406, 404, 408, 405, 412, 03412 407, 405, 409, 410, 406, 689, 407, 414, 408, 409, 03413 411, 410, 690, 413, 413, 414, 408, 409, 411, 412, 03414 410, 413, 0, 414, 408, 497, 415, 412, 506, 409, 03415 03416 416, 418, 417, 497, 415, 414, 506, 707, 416, 418, 03417 417, 413, 413, 414, 415, 417, 416, 418, 0, 413, 03418 414, 0, 0, 497, 415, 0, 506, 0, 416, 418, 03419 417, 497, 415, 0, 506, 707, 416, 418, 417, 0, 03420 0, 415, 417, 416, 418, 460, 460, 0, 460, 460, 03421 460, 460, 460, 460, 460, 460, 460, 460, 478, 478, 03422 478, 478, 478, 498, 501, 500, 502, 478, 500, 713, 03423 502, 498, 501, 500, 502, 676, 0, 498, 681, 0, 03424 691, 501, 681, 460, 460, 460, 0, 0, 0, 0, 03425 676, 498, 501, 500, 502, 478, 500, 713, 502, 498, 03426 03427 501, 500, 502, 676, 498, 0, 681, 691, 501, 681, 03428 460, 460, 460, 460, 460, 486, 486, 676, 486, 486, 03429 486, 486, 486, 486, 486, 486, 486, 486, 503, 0, 03430 504, 505, 507, 674, 507, 508, 503, 675, 504, 505, 03431 507, 0, 505, 508, 0, 503, 693, 674, 504, 694, 03432 705, 675, 0, 486, 486, 486, 503, 504, 504, 505, 03433 507, 674, 507, 508, 503, 675, 504, 505, 507, 505, 03434 0, 508, 503, 693, 674, 504, 694, 705, 675, 512, 03435 486, 486, 486, 486, 486, 499, 499, 512, 499, 499, 03436 499, 499, 499, 499, 499, 499, 499, 499, 509, 714, 03437 03438 510, 0, 511, 514, 511, 513, 509, 512, 510, 715, 03439 511, 514, 0, 513, 716, 512, 0, 509, 510, 513, 03440 0, 514, 0, 499, 499, 499, 509, 714, 510, 511, 03441 511, 514, 511, 513, 509, 518, 510, 715, 511, 514, 03442 515, 513, 716, 518, 509, 510, 513, 515, 514, 516, 03443 499, 499, 499, 499, 499, 515, 519, 516, 532, 0, 03444 519, 532, 518, 518, 519, 719, 532, 0, 0, 516, 03445 0, 518, 0, 0, 515, 515, 0, 516, 706, 520, 03446 0, 0, 711, 515, 519, 516, 532, 520, 519, 532, 03447 712, 520, 519, 719, 532, 522, 516, 517, 517, 517, 03448 03449 517, 517, 517, 522, 521, 706, 517, 520, 523, 711, 03450 517, 767, 521, 0, 522, 520, 523, 712, 520, 521, 03451 524, 574, 0, 522, 0, 0, 523, 0, 524, 574, 03452 517, 522, 521, 814, 517, 717, 523, 524, 517, 767, 03453 521, 522, 0, 0, 523, 0, 521, 0, 524, 574, 03454 526, 529, 527, 523, 527, 526, 524, 574, 526, 529, 03455 527, 814, 717, 529, 524, 525, 525, 718, 525, 525, 03456 525, 525, 525, 525, 525, 525, 525, 525, 526, 529, 03457 527, 722, 527, 526, 528, 528, 526, 529, 527, 530, 03458 529, 0, 528, 531, 718, 722, 0, 530, 0, 0, 03459 03460 530, 531, 0, 525, 525, 525, 0, 0, 533, 722, 03461 0, 531, 528, 528, 737, 536, 533, 530, 533, 536, 03462 528, 531, 722, 536, 729, 530, 546, 530, 729, 531, 03463 525, 525, 525, 525, 525, 741, 533, 546, 531, 537, 03464 546, 737, 537, 536, 533, 533, 537, 536, 0, 0, 03465 0, 536, 729, 0, 546, 729, 0, 852, 852, 0, 03466 852, 742, 741, 0, 546, 0, 537, 546, 0, 537, 03467 0, 0, 863, 537, 538, 538, 702, 538, 538, 538, 03468 538, 538, 538, 538, 538, 538, 538, 539, 742, 785, 03469 540, 789, 702, 540, 852, 539, 540, 540, 539, 541, 03470 03471 863, 0, 539, 541, 702, 750, 777, 541, 0, 0, 03472 777, 0, 538, 538, 538, 539, 785, 540, 789, 702, 03473 540, 750, 539, 540, 540, 539, 916, 541, 542, 539, 03474 583, 541, 542, 750, 777, 541, 542, 777, 583, 538, 03475 538, 538, 538, 538, 544, 542, 543, 544, 750, 543, 03476 0, 544, 832, 543, 916, 545, 542, 547, 583, 545, 03477 542, 547, 543, 545, 542, 547, 583, 836, 925, 585, 03478 0, 544, 542, 543, 544, 0, 543, 585, 544, 832, 03479 543, 549, 548, 545, 549, 547, 548, 545, 549, 547, 03480 548, 545, 550, 547, 836, 552, 925, 585, 552, 0, 03481 03482 0, 548, 552, 550, 837, 585, 550, 770, 549, 553, 03483 548, 549, 553, 0, 548, 549, 553, 550, 548, 551, 03484 550, 770, 552, 551, 554, 552, 589, 551, 548, 552, 03485 550, 837, 881, 550, 589, 770, 553, 555, 0, 553, 03486 555, 885, 554, 553, 555, 554, 555, 551, 770, 554, 03487 0, 551, 0, 0, 589, 551, 0, 557, 554, 881, 03488 0, 557, 589, 0, 555, 557, 558, 555, 885, 554, 03489 558, 555, 554, 555, 558, 0, 554, 556, 556, 556, 03490 556, 556, 556, 559, 557, 557, 556, 559, 560, 557, 03491 556, 559, 560, 557, 558, 559, 560, 0, 558, 0, 03492 03493 0, 0, 558, 560, 561, 0, 0, 0, 561, 613, 03494 556, 559, 561, 575, 556, 559, 560, 613, 556, 559, 03495 560, 575, 559, 561, 560, 886, 562, 575, 563, 562, 03496 560, 563, 561, 562, 563, 563, 561, 613, 911, 0, 03497 561, 575, 0, 0, 0, 613, 0, 0, 0, 575, 03498 561, 0, 886, 562, 575, 563, 562, 914, 563, 942, 03499 562, 563, 563, 564, 564, 911, 564, 564, 564, 564, 03500 564, 564, 564, 564, 564, 564, 565, 566, 567, 567, 03501 817, 0, 565, 915, 914, 565, 568, 942, 566, 565, 03502 567, 566, 569, 567, 817, 569, 568, 568, 0, 569, 03503 03504 568, 564, 564, 564, 565, 566, 567, 567, 817, 565, 03505 915, 866, 565, 943, 568, 566, 565, 567, 566, 569, 03506 567, 817, 569, 568, 568, 866, 569, 568, 564, 564, 03507 564, 564, 564, 570, 571, 0, 570, 917, 945, 866, 03508 570, 943, 571, 572, 572, 571, 0, 572, 919, 571, 03509 920, 572, 866, 0, 0, 0, 0, 0, 0, 0, 03510 570, 0, 571, 570, 917, 577, 945, 570, 577, 571, 03511 572, 572, 571, 577, 572, 919, 571, 920, 572, 576, 03512 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, 03513 576, 576, 578, 577, 579, 580, 577, 581, 579, 582, 03514 03515 578, 577, 579, 580, 0, 581, 0, 582, 0, 578, 03516 582, 923, 580, 622, 0, 581, 0, 576, 576, 576, 03517 578, 622, 579, 580, 581, 581, 579, 582, 578, 0, 03518 579, 580, 584, 581, 584, 582, 578, 582, 923, 580, 03519 584, 622, 581, 587, 576, 576, 576, 576, 576, 622, 03520 586, 587, 0, 0, 0, 588, 590, 588, 586, 591, 03521 584, 587, 584, 588, 590, 592, 624, 591, 584, 586, 03522 590, 587, 592, 593, 624, 0, 0, 591, 586, 587, 03523 592, 593, 588, 588, 590, 588, 586, 591, 587, 924, 03524 926, 588, 590, 593, 624, 591, 586, 590, 0, 592, 03525 03526 592, 593, 624, 596, 591, 595, 0, 596, 592, 593, 03527 0, 596, 0, 595, 0, 946, 924, 926, 0, 949, 03528 593, 594, 594, 594, 594, 594, 594, 0, 597, 598, 03529 594, 596, 595, 595, 594, 596, 597, 598, 601, 596, 03530 597, 595, 599, 946, 598, 600, 601, 949, 927, 928, 03531 599, 0, 951, 600, 594, 601, 597, 598, 594, 929, 03532 0, 599, 594, 600, 597, 598, 601, 597, 0, 0, 03533 599, 598, 0, 600, 601, 927, 928, 606, 599, 603, 03534 951, 600, 601, 0, 603, 606, 929, 603, 599, 606, 03535 600, 602, 602, 602, 602, 602, 602, 602, 602, 602, 03536 03537 602, 602, 602, 602, 958, 606, 604, 603, 604, 605, 03538 605, 607, 603, 606, 604, 603, 606, 605, 610, 607, 03539 824, 0, 607, 931, 824, 608, 610, 0, 610, 602, 03540 602, 602, 958, 608, 604, 932, 604, 605, 605, 607, 03541 0, 0, 604, 608, 0, 605, 610, 607, 824, 607, 03542 931, 824, 933, 608, 610, 610, 602, 602, 602, 602, 03543 602, 608, 932, 609, 614, 616, 609, 623, 616, 623, 03544 608, 609, 614, 616, 965, 623, 0, 0, 614, 933, 03545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 03546 0, 609, 614, 616, 609, 623, 616, 623, 0, 609, 03547 03548 614, 616, 965, 623, 873, 614, 615, 615, 873, 615, 03549 615, 615, 615, 615, 615, 615, 615, 615, 615, 617, 03550 618, 619, 0, 620, 618, 626, 621, 617, 618, 619, 03551 0, 620, 873, 626, 621, 873, 617, 621, 619, 0, 03552 935, 620, 937, 626, 615, 615, 615, 617, 618, 619, 03553 620, 620, 618, 626, 621, 617, 618, 619, 625, 620, 03554 0, 626, 621, 617, 621, 619, 625, 935, 620, 937, 03555 626, 615, 615, 615, 615, 615, 938, 625, 631, 627, 03556 628, 627, 629, 630, 0, 631, 625, 627, 628, 0, 03557 629, 630, 968, 631, 625, 940, 629, 632, 0, 941, 03558 03559 0, 630, 982, 938, 625, 632, 627, 627, 628, 627, 03560 629, 630, 631, 631, 0, 627, 628, 632, 629, 630, 03561 968, 631, 940, 629, 634, 632, 941, 635, 630, 636, 03562 982, 635, 634, 632, 638, 635, 0, 636, 0, 0, 03563 0, 636, 638, 0, 632, 633, 633, 633, 633, 633, 03564 633, 634, 634, 638, 633, 635, 637, 636, 633, 635, 03565 634, 639, 638, 635, 637, 636, 640, 642, 636, 639, 03566 638, 637, 642, 0, 640, 642, 0, 721, 633, 639, 03567 638, 944, 633, 640, 637, 721, 633, 0, 0, 639, 03568 0, 0, 637, 0, 640, 642, 0, 639, 637, 643, 03569 03570 642, 643, 640, 642, 950, 721, 639, 643, 944, 983, 03571 640, 641, 641, 721, 641, 641, 641, 641, 641, 641, 03572 641, 641, 641, 641, 644, 644, 645, 643, 646, 643, 03573 952, 950, 644, 727, 645, 643, 646, 983, 645, 646, 03574 985, 727, 0, 797, 0, 953, 0, 0, 0, 641, 03575 641, 641, 644, 644, 645, 647, 646, 952, 954, 797, 03576 644, 727, 645, 647, 646, 645, 646, 648, 985, 727, 03577 648, 797, 953, 647, 649, 648, 641, 641, 641, 641, 03578 641, 956, 649, 647, 649, 954, 797, 957, 0, 0, 03579 0, 647, 0, 0, 0, 648, 0, 989, 648, 720, 03580 03581 647, 0, 649, 648, 0, 720, 0, 720, 956, 0, 03582 649, 649, 710, 710, 957, 710, 710, 710, 710, 710, 03583 710, 710, 710, 710, 710, 989, 723, 720, 726, 725, 03584 724, 723, 724, 720, 723, 720, 726, 725, 724, 0, 03585 0, 726, 0, 959, 0, 723, 725, 724, 0, 0, 03586 710, 710, 710, 0, 723, 728, 726, 725, 724, 723, 03587 724, 730, 723, 728, 726, 725, 724, 731, 726, 730, 03588 959, 728, 723, 725, 724, 731, 733, 710, 710, 710, 03589 710, 710, 732, 728, 733, 0, 731, 0, 734, 730, 03590 732, 728, 735, 0, 733, 731, 734, 730, 728, 934, 03591 03592 735, 0, 934, 731, 733, 734, 738, 736, 0, 732, 03593 732, 736, 733, 731, 738, 736, 734, 739, 732, 740, 03594 735, 733, 0, 749, 734, 739, 934, 740, 735, 934, 03595 738, 749, 734, 739, 738, 736, 743, 0, 751, 736, 03596 743, 752, 738, 736, 743, 739, 751, 740, 753, 752, 03597 749, 749, 960, 739, 755, 740, 753, 738, 936, 749, 03598 739, 936, 755, 754, 743, 756, 751, 753, 743, 752, 03599 962, 754, 743, 756, 751, 0, 753, 752, 754, 960, 03600 0, 966, 755, 0, 753, 936, 0, 0, 936, 0, 03601 755, 754, 760, 756, 753, 762, 764, 962, 969, 754, 03602 03603 760, 756, 760, 762, 764, 754, 758, 758, 966, 758, 03604 758, 758, 758, 758, 758, 758, 758, 758, 758, 759, 03605 760, 0, 761, 762, 764, 969, 761, 759, 760, 760, 03606 761, 762, 764, 815, 763, 0, 0, 759, 763, 815, 03607 0, 815, 763, 0, 758, 758, 758, 759, 766, 765, 03608 761, 0, 970, 0, 761, 759, 766, 765, 761, 0, 03609 816, 815, 763, 765, 759, 766, 763, 815, 816, 815, 03610 763, 758, 758, 758, 758, 758, 766, 765, 845, 970, 03611 769, 768, 0, 769, 766, 765, 768, 769, 816, 768, 03612 765, 771, 766, 768, 845, 0, 816, 771, 0, 0, 03613 03614 771, 971, 0, 0, 771, 771, 845, 769, 973, 768, 03615 769, 772, 0, 768, 769, 993, 768, 0, 998, 771, 03616 768, 845, 772, 773, 771, 772, 772, 771, 971, 774, 03617 775, 771, 771, 994, 773, 973, 0, 773, 773, 772, 03618 774, 775, 993, 774, 775, 776, 998, 0, 996, 772, 03619 0, 773, 772, 772, 0, 0, 776, 774, 775, 776, 03620 994, 773, 0, 778, 773, 773, 1022, 774, 775, 894, 03621 774, 775, 997, 776, 778, 996, 1011, 778, 779, 0, 03622 0, 781, 780, 776, 781, 894, 776, 974, 781, 779, 03623 974, 778, 779, 780, 1022, 779, 780, 894, 0, 997, 03624 03625 1013, 778, 783, 1011, 778, 783, 779, 780, 781, 783, 03626 780, 781, 894, 1023, 974, 781, 779, 974, 782, 779, 03627 780, 782, 779, 780, 782, 782, 784, 1013, 0, 783, 03628 784, 786, 783, 787, 784, 786, 783, 0, 1025, 786, 03629 0, 1023, 822, 0, 787, 782, 0, 787, 782, 788, 03630 822, 782, 782, 788, 784, 786, 790, 788, 784, 786, 03631 790, 787, 784, 786, 790, 798, 1025, 786, 796, 798, 03632 822, 787, 796, 798, 787, 799, 796, 788, 822, 799, 03633 1029, 788, 786, 799, 790, 788, 800, 0, 790, 0, 03634 800, 0, 790, 798, 800, 796, 796, 798, 801, 1037, 03635 03636 796, 798, 801, 799, 796, 800, 801, 799, 1029, 825, 03637 0, 799, 1033, 801, 800, 802, 803, 825, 800, 802, 03638 803, 1061, 800, 802, 803, 0, 801, 1037, 1035, 0, 03639 801, 0, 800, 1014, 801, 806, 1014, 825, 806, 1033, 03640 801, 0, 806, 802, 803, 825, 1036, 802, 803, 1061, 03641 0, 802, 803, 804, 804, 1035, 804, 804, 804, 804, 03642 1014, 1062, 806, 1014, 0, 806, 807, 807, 808, 806, 03643 807, 809, 808, 1036, 807, 809, 808, 810, 811, 809, 03644 828, 810, 811, 0, 1050, 810, 811, 1064, 828, 1062, 03645 1052, 804, 804, 807, 807, 0, 808, 807, 828, 809, 03646 03647 808, 807, 0, 809, 808, 810, 811, 809, 828, 810, 03648 811, 1050, 0, 810, 811, 1064, 828, 1052, 804, 804, 03649 804, 804, 804, 805, 805, 828, 805, 805, 805, 805, 03650 805, 805, 805, 805, 805, 805, 0, 812, 1072, 813, 03651 812, 0, 813, 1073, 812, 813, 813, 827, 0, 818, 03652 0, 0, 1068, 1077, 818, 827, 0, 818, 0, 0, 03653 0, 805, 805, 805, 812, 1072, 813, 812, 818, 813, 03654 1073, 812, 813, 813, 827, 827, 819, 818, 819, 820, 03655 1068, 1077, 818, 827, 819, 818, 821, 820, 805, 805, 03656 805, 805, 805, 819, 821, 818, 820, 823, 0, 821, 03657 03658 826, 829, 830, 0, 819, 823, 819, 820, 826, 829, 03659 830, 1101, 819, 823, 821, 820, 0, 1075, 829, 826, 03660 819, 1102, 821, 820, 833, 823, 821, 831, 826, 829, 03661 830, 831, 833, 823, 834, 831, 826, 829, 830, 1101, 03662 823, 1104, 834, 835, 1075, 829, 826, 0, 833, 1102, 03663 834, 835, 833, 838, 0, 831, 844, 838, 846, 831, 03664 833, 838, 834, 831, 844, 847, 846, 0, 848, 1104, 03665 834, 835, 1076, 847, 850, 833, 848, 834, 1090, 835, 03666 849, 838, 850, 844, 844, 838, 846, 848, 849, 838, 03667 851, 1108, 844, 847, 846, 849, 848, 1092, 851, 1076, 03668 03669 0, 847, 850, 0, 848, 1090, 0, 0, 849, 0, 03670 850, 0, 0, 855, 848, 1112, 849, 857, 851, 1108, 03671 0, 855, 849, 855, 1092, 857, 851, 853, 853, 853, 03672 853, 853, 853, 853, 853, 853, 853, 853, 853, 853, 03673 854, 855, 1112, 856, 1117, 857, 859, 856, 854, 855, 03674 855, 856, 858, 857, 859, 0, 858, 0, 854, 1053, 03675 858, 0, 1053, 1113, 0, 853, 853, 853, 854, 860, 03676 861, 856, 1117, 1115, 859, 856, 854, 860, 861, 856, 03677 858, 0, 859, 860, 858, 854, 1053, 861, 858, 1053, 03678 1113, 865, 853, 853, 853, 853, 853, 860, 861, 865, 03679 03680 1115, 864, 0, 867, 0, 860, 861, 864, 867, 864, 03681 860, 867, 871, 1132, 861, 868, 869, 868, 0, 865, 03682 871, 0, 867, 868, 869, 0, 1139, 865, 0, 864, 03683 872, 867, 868, 869, 870, 864, 867, 864, 872, 867, 03684 871, 1132, 870, 868, 869, 868, 872, 870, 871, 867, 03685 1141, 868, 869, 874, 1139, 876, 875, 879, 872, 868, 03686 869, 874, 870, 876, 875, 879, 872, 0, 877, 884, 03687 870, 878, 0, 872, 870, 875, 877, 884, 1141, 878, 03688 0, 874, 876, 876, 875, 879, 877, 0, 878, 874, 03689 880, 876, 875, 879, 880, 882, 877, 884, 880, 878, 03690 03691 883, 895, 875, 882, 877, 884, 887, 878, 883, 895, 03692 887, 0, 893, 877, 887, 878, 883, 896, 880, 882, 03693 893, 0, 880, 882, 1093, 896, 880, 1093, 883, 895, 03694 0, 882, 1116, 897, 887, 1142, 883, 895, 887, 893, 03695 893, 897, 887, 883, 1130, 896, 882, 898, 893, 899, 03696 900, 1093, 897, 896, 1093, 898, 903, 899, 900, 1116, 03697 904, 897, 898, 1142, 903, 0, 0, 0, 904, 897, 03698 904, 1130, 905, 0, 903, 898, 905, 899, 900, 897, 03699 905, 0, 0, 898, 903, 899, 900, 0, 904, 898, 03700 901, 901, 903, 901, 901, 901, 904, 904, 906, 907, 03701 03702 905, 903, 908, 907, 905, 909, 906, 907, 905, 964, 03703 908, 0, 1131, 909, 979, 986, 0, 1133, 0, 909, 03704 964, 1148, 979, 986, 964, 0, 906, 907, 901, 901, 03705 908, 907, 0, 909, 906, 907, 0, 0, 908, 1131, 03706 0, 909, 979, 986, 1133, 910, 909, 0, 964, 1148, 03707 979, 986, 964, 910, 0, 901, 901, 901, 901, 901, 03708 902, 902, 910, 902, 902, 902, 902, 902, 902, 902, 03709 902, 902, 902, 910, 972, 976, 975, 0, 0, 1134, 03710 1135, 910, 972, 976, 975, 0, 0, 972, 976, 910, 03711 975, 976, 0, 1136, 1137, 1138, 1140, 0, 902, 902, 03712 03713 902, 0, 972, 976, 975, 977, 1134, 1135, 978, 0, 03714 972, 976, 975, 977, 972, 976, 978, 975, 976, 977, 03715 1136, 1137, 1138, 1140, 980, 902, 902, 902, 902, 902, 03716 1143, 978, 980, 977, 0, 981, 978, 984, 0, 0, 03717 1144, 977, 980, 981, 978, 984, 977, 0, 984, 981, 03718 0, 987, 980, 988, 990, 0, 1149, 1143, 978, 987, 03719 980, 988, 990, 981, 992, 984, 991, 1144, 990, 980, 03720 991, 981, 992, 984, 991, 984, 981, 992, 987, 987, 03721 988, 988, 990, 995, 1149, 999, 1150, 987, 1151, 988, 03722 990, 995, 992, 999, 991, 990, 999, 1000, 991, 1001, 03723 03724 992, 1002, 991, 0, 992, 1000, 1152, 1001, 0, 1002, 03725 995, 995, 1003, 999, 1150, 1000, 1151, 1002, 1145, 995, 03726 1003, 999, 1007, 999, 0, 1000, 1001, 1001, 1005, 1002, 03727 1007, 1005, 1004, 1000, 1152, 1001, 1005, 1002, 1006, 1004, 03728 1003, 1009, 1000, 1004, 1002, 1145, 1006, 1004, 1003, 1009, 03729 1007, 1006, 1008, 0, 1008, 1010, 1005, 1153, 1007, 1005, 03730 1008, 0, 1009, 1010, 1005, 1012, 1006, 1004, 1154, 1009, 03731 1010, 1004, 1155, 1157, 1006, 1004, 1012, 1009, 1006, 1012, 03732 1008, 1016, 1008, 1010, 1163, 1153, 1159, 1015, 1008, 1009, 03733 1015, 1010, 1016, 1012, 1015, 1016, 1154, 1010, 1017, 1155, 03734 03735 1157, 1017, 1168, 1012, 1018, 1017, 1012, 1018, 1160, 1016, 03736 0, 1018, 1163, 1159, 1015, 0, 1018, 1015, 1161, 1016, 03737 1019, 1015, 1016, 1019, 1169, 1017, 1020, 1019, 1017, 1020, 03738 1168, 1018, 1017, 1020, 1018, 1160, 1162, 1021, 1018, 1024, 03739 1021, 0, 1024, 1018, 1021, 1161, 1024, 1019, 0, 1170, 03740 1019, 1026, 1169, 1020, 1019, 1026, 1020, 1027, 0, 1026, 03741 1020, 1027, 0, 1162, 1021, 1027, 1024, 1021, 1028, 1024, 03742 1165, 1021, 1028, 1024, 1166, 1030, 1028, 1170, 1030, 1026, 03743 1172, 0, 1030, 1026, 1027, 1027, 1031, 1026, 0, 1027, 03744 1031, 0, 1032, 1027, 1031, 1028, 1028, 1165, 1171, 1034, 03745 03746 1028, 1166, 1030, 1032, 1028, 1030, 1032, 1172, 1038, 1030, 03747 1034, 1038, 1173, 1034, 1031, 1038, 1039, 1174, 1031, 1039, 03748 1032, 0, 1031, 1039, 1034, 1040, 1171, 1034, 1040, 1177, 03749 1032, 1178, 1040, 1032, 1041, 1038, 0, 1034, 1038, 1173, 03750 1034, 1040, 1038, 1039, 1174, 1041, 1039, 0, 1041, 1042, 03751 1039, 1180, 1040, 1045, 1043, 1040, 1179, 1177, 1178, 1040, 03752 1042, 1043, 1041, 1042, 1045, 1043, 0, 1045, 0, 1043, 03753 1044, 1046, 1041, 1044, 1044, 1041, 0, 1042, 1044, 1180, 03754 0, 1045, 1046, 1179, 0, 1046, 1181, 1042, 1183, 1043, 03755 1042, 1045, 1184, 1043, 1045, 1051, 1047, 1043, 1044, 1046, 03756 03757 1048, 1044, 1044, 1051, 1049, 0, 1044, 1047, 1051, 1046, 03758 1047, 1048, 1046, 1181, 1048, 1049, 1183, 1049, 1049, 1048, 03759 1184, 0, 1054, 1051, 1047, 1058, 0, 0, 1048, 0, 03760 1054, 1051, 1049, 1058, 1047, 1051, 1054, 1047, 1048, 1055, 03761 1056, 1048, 1049, 1164, 1049, 1049, 1048, 1055, 1056, 1057, 03762 1054, 0, 1055, 1058, 1056, 1055, 1059, 1057, 1054, 0, 03763 1164, 1058, 1063, 1054, 1059, 1186, 0, 1055, 1056, 0, 03764 1063, 1164, 1057, 1063, 1059, 1055, 1056, 1057, 1065, 1055, 03765 1060, 1056, 1055, 1066, 1059, 1057, 1065, 1164, 1060, 1071, 03766 1063, 1066, 1059, 1186, 1060, 1067, 1189, 1071, 1063, 1057, 03767 03768 1063, 1059, 1071, 1067, 1069, 1070, 1065, 1074, 1060, 1070, 03769 1066, 1066, 1069, 1070, 1065, 1074, 1060, 1071, 1069, 1066, 03770 1190, 1060, 1067, 1067, 1189, 1071, 0, 0, 1078, 1071, 03771 1200, 1067, 1069, 1070, 1074, 1074, 1078, 1070, 0, 1078, 03772 1069, 1070, 1079, 1074, 1080, 1069, 1081, 1082, 1190, 0, 03773 1079, 0, 1080, 1191, 1081, 1082, 1078, 1200, 1083, 0, 03774 1079, 0, 1081, 0, 1078, 1083, 1078, 0, 0, 1083, 03775 1079, 1080, 1080, 1083, 1081, 1082, 1084, 1085, 1079, 1084, 03776 1080, 1191, 1081, 1082, 1084, 1085, 1086, 1079, 1088, 1081, 03777 1085, 1202, 1204, 1083, 1086, 1089, 1088, 1083, 1087, 0, 03778 03779 1087, 1083, 1210, 1089, 1084, 1085, 1087, 1084, 0, 1088, 03780 1089, 1211, 1084, 1085, 1086, 0, 1088, 1085, 1202, 1091, 03781 1204, 1094, 1086, 1089, 1088, 1095, 1087, 1091, 1087, 1094, 03782 1210, 1089, 1091, 1095, 1087, 1094, 1088, 1089, 1095, 1211, 03783 0, 1095, 1096, 1097, 1098, 1212, 1099, 1091, 0, 1094, 03784 1096, 1097, 1098, 1095, 1099, 1091, 1096, 1094, 1206, 1091, 03785 0, 1095, 1094, 0, 1099, 1095, 1097, 1100, 1095, 1105, 03786 1096, 1097, 1098, 1212, 1099, 1100, 1103, 1105, 1096, 1097, 03787 1098, 1100, 1099, 1096, 1103, 1206, 0, 1103, 1106, 0, 03788 1107, 1099, 1109, 1097, 1111, 1100, 1106, 1105, 1107, 0, 03789 03790 1109, 0, 1111, 1100, 1103, 1105, 1109, 1111, 1100, 0, 03791 0, 0, 1103, 1114, 1103, 1106, 1106, 1107, 1107, 1110, 03792 1109, 1114, 1111, 1110, 1106, 0, 1107, 1110, 1109, 1120, 03793 1111, 1118, 0, 1109, 1111, 1119, 1121, 1120, 1122, 1118, 03794 1114, 1114, 1118, 1119, 1121, 0, 1122, 1110, 1218, 1114, 03795 0, 1110, 1121, 1119, 1126, 1110, 1120, 1120, 0, 1118, 03796 1125, 0, 1126, 1119, 1121, 1120, 1122, 1118, 1125, 1118, 03797 1123, 1119, 1121, 1125, 1122, 1124, 1218, 1123, 1124, 1121, 03798 1119, 1123, 1126, 1124, 1127, 1123, 1127, 1128, 1125, 1129, 03799 1126, 1188, 1127, 1193, 0, 1128, 1125, 1129, 1193, 1188, 03800 03801 1125, 1193, 0, 1124, 1129, 1123, 1124, 1213, 1128, 1123, 03802 1230, 1124, 1127, 1123, 1127, 1128, 0, 1129, 0, 1188, 03803 1127, 1193, 1192, 1128, 1192, 1129, 1193, 1188, 0, 1193, 03804 1192, 1129, 0, 0, 1213, 1128, 1156, 1156, 1230, 1156, 03805 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1194, 03806 1192, 1195, 1192, 1196, 1195, 1194, 1205, 1194, 1192, 1195, 03807 1198, 1196, 0, 1214, 1215, 1196, 1220, 1231, 1198, 1232, 03808 0, 1198, 1241, 1205, 1156, 1156, 1156, 1194, 0, 1195, 03809 0, 1196, 1195, 1194, 1205, 1194, 0, 1195, 1198, 1196, 03810 1214, 1215, 1196, 1220, 0, 1231, 1198, 1232, 1198, 1241, 03811 03812 1205, 1156, 1156, 1156, 1156, 1156, 1197, 1197, 1243, 1197, 03813 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1201, 03814 1203, 1207, 1208, 1209, 1245, 1209, 0, 1201, 1203, 1207, 03815 1208, 1209, 0, 1203, 1207, 1243, 1247, 1201, 1251, 1252, 03816 0, 0, 0, 0, 1197, 1197, 1197, 1201, 1203, 1207, 03817 1208, 1209, 1245, 1209, 1216, 1201, 1203, 1207, 1208, 1209, 03818 1203, 1207, 1216, 1247, 1201, 1258, 1251, 1252, 1217, 1219, 03819 1223, 1197, 1197, 1197, 1197, 1197, 1217, 1219, 1223, 1269, 03820 1221, 1222, 1216, 1221, 1224, 0, 1253, 1219, 1221, 1222, 03821 1216, 1225, 1224, 1258, 1222, 1226, 1217, 1219, 1223, 1225, 03822 03823 0, 0, 1227, 1226, 1217, 1219, 1223, 1269, 1221, 1222, 03824 1227, 1221, 1224, 1253, 1219, 1229, 1221, 1222, 0, 1225, 03825 1224, 1222, 1226, 1226, 0, 1239, 1229, 1225, 1239, 1229, 03826 1227, 1226, 1239, 1233, 1234, 1235, 1270, 1234, 1227, 1235, 03827 1236, 1236, 1271, 1229, 1233, 1234, 1235, 1233, 1234, 1235, 03828 0, 1236, 1239, 1229, 1236, 1239, 1229, 1254, 1255, 1239, 03829 0, 1233, 1234, 1235, 1270, 1234, 1246, 1235, 1236, 1236, 03830 1271, 1233, 1234, 1235, 1233, 1234, 1235, 1237, 1236, 1242, 03831 1280, 1236, 1242, 1246, 1254, 1255, 1242, 1237, 1237, 1282, 03832 1286, 1237, 0, 1284, 1246, 0, 0, 0, 0, 0, 03833 03834 0, 0, 0, 0, 0, 1237, 1242, 1280, 1290, 1242, 03835 1246, 0, 0, 1242, 1237, 1237, 1282, 1286, 1237, 1238, 03836 1238, 1284, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 03837 1238, 1238, 1244, 1248, 1249, 0, 1290, 1291, 1250, 1256, 03838 1257, 1292, 0, 1244, 1248, 1249, 1244, 1248, 1249, 1250, 03839 1256, 1257, 1250, 1256, 1257, 1268, 0, 1238, 1238, 1238, 03840 1244, 1248, 1249, 1268, 0, 1291, 1250, 1256, 1257, 1292, 03841 1244, 1248, 1249, 1244, 1248, 1249, 1250, 1256, 1257, 1250, 03842 1256, 1257, 1260, 1268, 1238, 1238, 1238, 1238, 1238, 1259, 03843 1260, 1268, 1259, 1260, 1261, 0, 1259, 1260, 1262, 0, 03844 03845 1293, 1294, 0, 0, 1295, 1261, 0, 0, 1261, 1262, 03846 1260, 0, 1262, 0, 0, 0, 1259, 1260, 0, 1259, 03847 1260, 1263, 1261, 1259, 1260, 1263, 1262, 1293, 1294, 1263, 03848 1264, 1295, 1261, 1265, 1264, 1261, 1262, 1265, 1264, 1262, 03849 1266, 1265, 1273, 1272, 1266, 1272, 1274, 1273, 1266, 1263, 03850 1273, 1272, 1274, 1263, 1274, 1276, 1275, 1263, 1264, 1275, 03851 1265, 1265, 1264, 1276, 1275, 1265, 1264, 1276, 1266, 1265, 03852 1273, 1272, 1266, 1272, 1274, 1273, 1266, 0, 1273, 1272, 03853 1274, 0, 1274, 1276, 1275, 0, 0, 1275, 0, 0, 03854 1298, 1276, 1275, 0, 1276, 1277, 1277, 1277, 1277, 1277, 03855 03856 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1278, 1281, 03857 0, 1285, 1283, 1287, 1288, 1296, 1278, 1281, 1298, 1278, 03858 1283, 1287, 1288, 1296, 0, 1283, 1287, 1281, 1285, 1300, 03859 1297, 0, 0, 1277, 1277, 1277, 1278, 1281, 1297, 1285, 03860 1283, 1287, 1288, 1296, 1278, 1281, 1278, 1321, 1283, 1287, 03861 1288, 1296, 1283, 1287, 1281, 1285, 1300, 1289, 1297, 1289, 03862 1277, 1277, 1277, 1277, 1277, 1289, 1297, 1301, 1299, 1302, 03863 1301, 1303, 1304, 1310, 1321, 1301, 1299, 1302, 0, 1303, 03864 1304, 0, 1302, 1305, 1307, 1289, 1299, 1289, 1311, 1312, 03865 0, 1305, 1307, 1289, 1306, 1301, 1299, 1302, 1301, 1303, 03866 03867 1304, 1310, 1306, 1301, 1299, 1302, 1309, 1303, 1304, 1302, 03868 1314, 1305, 1307, 1299, 1309, 1314, 1311, 1312, 1314, 1305, 03869 1307, 1306, 1306, 1313, 1325, 1313, 1331, 1315, 1317, 1316, 03870 1306, 1313, 1316, 1315, 1309, 1315, 1317, 1316, 1314, 1323, 03871 1317, 0, 1309, 1314, 0, 0, 1314, 0, 0, 0, 03872 0, 1313, 1325, 1313, 1331, 1315, 1317, 1316, 0, 1313, 03873 1316, 1315, 0, 1315, 1317, 1316, 1323, 1317, 1318, 1318, 03874 1327, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 1318, 03875 1318, 1319, 1322, 1332, 1326, 1324, 1328, 1329, 1333, 1319, 03876 1322, 0, 1319, 1324, 1328, 1329, 1339, 1327, 1324, 1328, 03877 03878 1322, 1326, 1334, 0, 1335, 0, 1318, 1318, 1318, 1319, 03879 1322, 1332, 1326, 1324, 1328, 1329, 1333, 1319, 1322, 1319, 03880 1336, 1324, 1328, 1329, 1339, 1324, 1328, 1322, 1326, 1334, 03881 1330, 1335, 1330, 1318, 1318, 1318, 1318, 1318, 1330, 0, 03882 1337, 1338, 0, 1340, 0, 1341, 1355, 1336, 1337, 1338, 03883 0, 1340, 0, 1351, 1342, 1344, 1345, 1342, 1330, 1346, 03884 1330, 1340, 1342, 1344, 1345, 1343, 1330, 1346, 1337, 1338, 03885 1354, 1340, 1341, 1343, 1355, 1356, 1337, 1338, 1343, 1340, 03886 1351, 1347, 1342, 1344, 1345, 1342, 1348, 1346, 1340, 1347, 03887 1342, 1344, 1345, 1343, 1348, 1346, 1359, 1354, 1360, 0, 03888 03889 1361, 1343, 1362, 1356, 1364, 1343, 1365, 1366, 1347, 1347, 03890 1367, 0, 1368, 1369, 1348, 1370, 1371, 1347, 1376, 1378, 03891 1379, 1382, 1348, 1359, 1373, 1383, 1360, 1361, 1373, 1362, 03892 1380, 1364, 1374, 1365, 1366, 1381, 1374, 1385, 1367, 1368, 03893 1369, 1384, 1373, 1370, 1371, 1376, 1378, 1386, 1379, 1382, 03894 1374, 1387, 1373, 1383, 1388, 1389, 1373, 1380, 1390, 1391, 03895 1374, 1392, 1381, 1394, 1374, 1385, 1396, 1400, 1384, 1373, 03896 1397, 1398, 1399, 1401, 1386, 1402, 1403, 1374, 1387, 0, 03897 1412, 1388, 1404, 1389, 1408, 0, 1390, 1391, 1392, 1414, 03898 1404, 1394, 1408, 0, 1396, 1400, 1418, 1397, 1398, 1399, 03899 03900 1401, 1404, 1402, 1405, 1403, 1406, 1411, 1412, 1416, 1406, 03901 1404, 1405, 1408, 1406, 1411, 1407, 1414, 1405, 1404, 1407, 03902 1408, 1417, 1409, 1407, 1418, 0, 1409, 0, 1404, 1422, 03903 1419, 1405, 1423, 1406, 1411, 1416, 0, 1406, 1413, 1405, 03904 1409, 1406, 1411, 1407, 1405, 0, 1413, 1407, 1417, 1424, 03905 1409, 1407, 1410, 1410, 1409, 1415, 1422, 1410, 1419, 1423, 03906 1410, 1415, 1425, 1415, 1420, 1413, 1413, 1409, 1426, 1421, 03907 0, 1410, 1420, 1421, 1413, 1427, 1424, 1421, 0, 1428, 03908 1410, 1410, 1420, 1415, 1430, 1410, 1429, 1431, 1410, 1415, 03909 1425, 1415, 1420, 1435, 1429, 1431, 1426, 1421, 1410, 1437, 03910 03911 1420, 1421, 1432, 1427, 1439, 1421, 1428, 1438, 1432, 1420, 03912 1432, 0, 1430, 1429, 1429, 1431, 1433, 1434, 0, 0, 03913 1435, 1448, 1429, 1431, 1433, 1434, 1437, 1433, 1434, 1436, 03914 1432, 1436, 1439, 1450, 1438, 1452, 1432, 1436, 1432, 1440, 03915 0, 0, 1442, 1440, 1433, 1434, 1442, 1440, 1448, 0, 03916 1442, 1454, 1433, 1434, 1433, 1434, 1453, 1436, 1440, 1436, 03917 1450, 1441, 1452, 0, 1441, 1436, 1455, 1440, 1441, 1443, 03918 1442, 1440, 1444, 1443, 1442, 1440, 1444, 1443, 1442, 1454, 03919 1444, 1460, 1447, 1453, 1458, 1440, 1447, 1461, 1441, 1445, 03920 1447, 1441, 0, 1445, 1455, 1441, 0, 1443, 1459, 1456, 03921 03922 1444, 1443, 1456, 1462, 1444, 1443, 1456, 1445, 1444, 1460, 03923 1447, 1458, 0, 0, 1447, 1461, 1451, 1445, 1447, 1449, 03924 1451, 1445, 1451, 1449, 1451, 1459, 1456, 1449, 0, 1456, 03925 1463, 1462, 1469, 1456, 1445, 1446, 1446, 1457, 0, 1446, 03926 1446, 1457, 0, 1446, 1451, 1457, 1449, 1449, 1451, 1473, 03927 1451, 1449, 1451, 0, 1446, 1449, 1471, 1463, 1464, 1469, 03928 1472, 0, 1464, 1446, 1446, 1457, 1464, 1446, 1446, 1457, 03929 1465, 1446, 0, 1457, 1465, 1488, 1466, 1473, 1465, 0, 03930 1466, 1446, 1466, 1471, 1466, 1464, 1464, 1472, 1467, 1468, 03931 1464, 1467, 1468, 0, 1464, 1467, 1468, 0, 1465, 1475, 03932 03933 1470, 1474, 1465, 1488, 1466, 1489, 1465, 1475, 1466, 1474, 03934 1466, 1470, 1466, 1475, 1470, 1467, 1468, 1476, 1467, 1468, 03935 1474, 1476, 1467, 1468, 1478, 1476, 1477, 1475, 1470, 1474, 03936 1477, 1495, 1478, 1489, 1477, 1475, 1482, 1474, 1470, 1479, 03937 1475, 1470, 1481, 1479, 0, 1476, 1484, 1474, 1486, 1476, 03938 1481, 0, 1478, 1476, 1477, 1487, 0, 1479, 1477, 1495, 03939 1478, 1496, 1477, 1482, 1480, 1480, 0, 1479, 1483, 1480, 03940 1481, 1479, 1480, 1484, 1492, 1486, 1483, 1497, 1481, 1485, 03941 1490, 0, 1487, 1480, 1479, 1485, 1491, 1485, 1490, 1496, 03942 1491, 1500, 1480, 1480, 1491, 1483, 1483, 1480, 1490, 1493, 03943 03944 1480, 1492, 1494, 1498, 1483, 1497, 1509, 1485, 1490, 1499, 03945 1480, 0, 1501, 1485, 1491, 1485, 1490, 1499, 1491, 1500, 03946 1501, 0, 1491, 1505, 1507, 1490, 1493, 1502, 0, 1494, 03947 1498, 1503, 0, 1502, 1509, 1502, 1499, 1499, 1504, 1503, 03948 1501, 1508, 1503, 1518, 1524, 1499, 1504, 0, 1501, 1504, 03949 1505, 1507, 1506, 0, 1506, 1502, 1510, 1511, 0, 1503, 03950 1506, 1502, 1520, 1502, 1510, 1511, 1504, 1503, 1508, 1503, 03951 1518, 1511, 1524, 1512, 1504, 1510, 1504, 1512, 1514, 1513, 03952 1506, 1512, 1506, 1513, 1510, 1511, 1514, 1513, 1506, 1520, 03953 1515, 1517, 1510, 1511, 1515, 0, 1519, 1525, 1511, 1517, 03954 03955 0, 1512, 1510, 1522, 1519, 1512, 1514, 1513, 1515, 1512, 03956 1523, 1513, 1516, 1516, 1514, 1513, 1528, 1516, 1515, 1517, 03957 1516, 1526, 1515, 1519, 1519, 1525, 1529, 1517, 1521, 1526, 03958 1522, 1516, 1519, 1530, 1521, 1515, 1521, 1523, 1534, 1526, 03959 1516, 1516, 1527, 1528, 1531, 1516, 1527, 1532, 1516, 1526, 03960 1527, 1533, 1536, 1529, 1541, 1535, 1521, 1526, 1516, 1537, 03961 1530, 1545, 1521, 1535, 1521, 1534, 1526, 1537, 0, 1543, 03962 1527, 1548, 1531, 1552, 1527, 1532, 1544, 1539, 1527, 1533, 03963 1536, 1541, 1535, 1535, 1538, 1539, 1540, 1537, 1539, 1545, 03964 1538, 1535, 1538, 1553, 1540, 1537, 1543, 1540, 1542, 1548, 03965 03966 1542, 1552, 1546, 1544, 1549, 1539, 1542, 0, 1550, 1554, 03967 1555, 1557, 1538, 1539, 1540, 1539, 1556, 1558, 1538, 1559, 03968 1538, 1553, 1540, 1560, 1540, 1561, 1542, 1563, 1542, 1546, 03969 1564, 1549, 1566, 1571, 1542, 1550, 1554, 1565, 1555, 1557, 03970 1565, 1567, 1568, 1556, 1558, 1568, 1559, 1570, 1573, 1574, 03971 1577, 1560, 1561, 1575, 1576, 1563, 1579, 1564, 1580, 1592, 03972 1566, 1571, 1581, 1582, 1565, 1583, 1584, 1565, 1567, 1568, 03973 1585, 1586, 1568, 1587, 1570, 1573, 1591, 1574, 1577, 1593, 03974 1575, 1576, 1594, 1599, 1579, 1595, 1580, 1592, 1596, 1581, 03975 1582, 1599, 1583, 1584, 1601, 1600, 1596, 1585, 1586, 1597, 03976 03977 1587, 1597, 0, 1591, 1607, 1596, 1593, 1597, 1608, 1598, 03978 1594, 1599, 1595, 1610, 0, 1611, 1596, 1598, 1603, 1599, 03979 0, 1601, 1598, 1600, 1596, 1602, 1603, 1597, 1602, 1597, 03980 1604, 1607, 1596, 1609, 1605, 1597, 1608, 1598, 1604, 1616, 03981 1610, 1609, 1605, 1611, 1604, 1598, 1603, 1605, 1612, 1598, 03982 1605, 1613, 1602, 1617, 1603, 1602, 1614, 1615, 1604, 1618, 03983 1609, 1609, 1605, 1619, 1614, 1615, 1604, 1616, 1620, 1609, 03984 1605, 1604, 1621, 1622, 1605, 1612, 1623, 1605, 1613, 1624, 03985 1625, 1617, 1628, 1626, 1614, 1615, 1618, 1630, 1625, 1627, 03986 1619, 1626, 1614, 1615, 1629, 1620, 1631, 1627, 1629, 1621, 03987 03988 1622, 1632, 1629, 1623, 0, 0, 1624, 1637, 1625, 1628, 03989 1638, 1626, 1639, 1644, 1630, 1639, 1625, 1627, 1633, 1626, 03990 1634, 1645, 1629, 0, 1631, 1627, 1629, 1635, 1632, 1633, 03991 1629, 1634, 1633, 1633, 1634, 1637, 1636, 1638, 1635, 1639, 03992 1644, 1635, 1639, 1642, 0, 1648, 1633, 1636, 1634, 1645, 03993 1636, 1647, 1649, 1650, 1642, 1635, 1633, 1642, 1634, 1633, 03994 1633, 1634, 1640, 0, 1636, 1635, 1640, 0, 1635, 1641, 03995 1640, 1642, 1641, 1648, 1636, 1654, 1641, 1636, 1647, 1649, 03996 1650, 1642, 1653, 0, 1642, 1651, 1646, 1652, 0, 1651, 03997 1640, 1652, 0, 1651, 1640, 1652, 1641, 1646, 1640, 1641, 03998 03999 1646, 1655, 1654, 1641, 1656, 1657, 1658, 1659, 1660, 0, 04000 1653, 1646, 1660, 1651, 1646, 1652, 1660, 1651, 1661, 1652, 04001 1663, 1651, 1661, 1652, 1646, 1665, 1661, 1646, 1655, 1666, 04002 1671, 1656, 1657, 1658, 1659, 1662, 1660, 1664, 1671, 1662, 04003 1660, 1664, 1672, 1662, 1660, 1664, 1661, 1663, 1667, 1673, 04004 1661, 1668, 1665, 1669, 1661, 1669, 1680, 1666, 1671, 1668, 04005 0, 1669, 0, 1662, 1670, 1664, 1671, 1662, 1668, 1664, 04006 1672, 1662, 1670, 1664, 1679, 1667, 1673, 1670, 1675, 1668, 04007 1676, 1669, 1674, 1669, 1680, 1674, 1675, 1668, 1676, 1669, 04008 1681, 1683, 1670, 1682, 1676, 1668, 1684, 1677, 1681, 1686, 04009 04010 1670, 1679, 1685, 1687, 1670, 1677, 1675, 1686, 1676, 1674, 04011 1677, 1687, 1674, 1677, 1675, 1688, 1676, 1681, 1681, 1683, 04012 1682, 1676, 1689, 1684, 1690, 1677, 1681, 1686, 1691, 1685, 04013 1692, 1687, 1693, 1677, 1694, 1686, 1695, 1677, 1696, 1687, 04014 1677, 1697, 1703, 1688, 1698, 1699, 0, 1700, 1702, 1697, 04015 1689, 1690, 1698, 1699, 1701, 1691, 1704, 1692, 1701, 1693, 04016 1709, 1694, 1701, 1695, 1710, 1696, 1716, 0, 1705, 1697, 04017 1703, 1707, 1698, 1699, 1700, 1702, 1705, 1697, 1719, 1707, 04018 1698, 1699, 1701, 1704, 1707, 1705, 1701, 1706, 1709, 1706, 04019 1701, 1710, 1708, 1716, 1711, 1706, 1705, 1711, 1712, 1707, 04020 04021 1708, 1717, 1713, 1720, 1705, 1719, 1712, 1707, 0, 1721, 04022 1713, 1707, 1705, 1722, 1718, 1706, 1713, 1706, 1725, 1714, 04023 1708, 1711, 1718, 1706, 1711, 1723, 1712, 1714, 1708, 1717, 04024 1713, 1720, 1714, 1723, 1712, 1714, 1721, 1724, 1713, 1726, 04025 1722, 1718, 1718, 1713, 1727, 1724, 1725, 1714, 1728, 1729, 04026 1718, 1730, 1731, 1723, 1732, 1714, 1733, 1737, 1734, 1714, 04027 1735, 1723, 1714, 1740, 1736, 1724, 1734, 1726, 1735, 0, 04028 1741, 1727, 1736, 1724, 1742, 1728, 1729, 1743, 1730, 1731, 04029 1744, 1732, 1745, 1733, 1737, 1738, 1734, 1746, 1735, 1738, 04030 1751, 1740, 1736, 1738, 1734, 1748, 1735, 1741, 1749, 1750, 04031 04032 1736, 1742, 1752, 1753, 1754, 1743, 1755, 1744, 1756, 1745, 04033 1757, 1758, 1759, 1738, 1746, 1760, 1761, 1738, 1751, 1762, 04034 1763, 1738, 1748, 1764, 1770, 1749, 1750, 1765, 1766, 1752, 04035 1753, 1767, 1754, 1755, 1768, 1756, 1769, 1771, 1757, 1758, 04036 1759, 1772, 1773, 1760, 1761, 1774, 1775, 1762, 1763, 1776, 04037 1779, 1764, 1770, 1778, 1765, 1766, 1780, 1781, 1767, 1782, 04038 1784, 1768, 1785, 1769, 1771, 1786, 1787, 0, 1772, 1773, 04039 1787, 1788, 1774, 1775, 1787, 1790, 1791, 1776, 1779, 1788, 04040 1778, 1792, 1793, 1780, 0, 1781, 1782, 1789, 1784, 1785, 04041 1788, 0, 1786, 0, 1787, 1789, 0, 1803, 1787, 1788, 04042 04043 1798, 1799, 1787, 1790, 1791, 1789, 1794, 1788, 1794, 1792, 04044 1793, 1795, 1797, 1795, 1794, 1789, 1796, 1788, 1797, 1795, 04045 1797, 1796, 1809, 1789, 1796, 1803, 1800, 1798, 1799, 1801, 04046 1802, 1804, 1789, 1806, 1794, 1807, 1794, 1808, 1811, 1795, 04047 1797, 1795, 1794, 1805, 1796, 1812, 1797, 1795, 1797, 1796, 04048 1809, 1805, 1796, 1800, 1805, 1813, 1801, 1802, 1804, 1814, 04049 1806, 1815, 1807, 1817, 1808, 1811, 1816, 0, 1818, 1819, 04050 1831, 1805, 1820, 1812, 1816, 0, 1820, 0, 1823, 1805, 04051 1820, 1805, 1813, 1824, 1825, 1821, 1826, 1814, 1815, 1821, 04052 0, 1817, 1832, 1816, 1816, 1818, 1819, 1831, 1822, 1833, 04053 04054 1820, 1822, 1816, 1821, 1820, 1822, 1823, 1827, 1820, 1828, 04055 0, 1824, 1825, 1821, 1826, 1834, 1835, 1821, 1827, 1832, 04056 1828, 1827, 1837, 1828, 1839, 1822, 1833, 1836, 1822, 1841, 04057 1821, 1840, 1822, 1844, 1829, 1827, 1830, 1828, 1829, 1848, 04058 1830, 1830, 1834, 1835, 1843, 1827, 1845, 1828, 1827, 1837, 04059 1828, 1839, 1829, 1838, 1830, 1836, 1838, 1841, 1840, 1846, 04060 1838, 1844, 1829, 1849, 1830, 1850, 1829, 1848, 1830, 1830, 04061 1854, 1843, 1855, 1845, 1862, 1847, 1852, 0, 1847, 1829, 04062 1838, 1830, 1847, 1838, 1852, 1851, 1846, 1838, 1853, 1851, 04063 1849, 1847, 1850, 1851, 0, 1852, 1853, 1856, 1854, 1857, 04064 04065 1855, 1862, 1847, 1867, 1852, 1847, 1853, 0, 1863, 1847, 04066 0, 1873, 1852, 1851, 1864, 1865, 1853, 1851, 1858, 0, 04067 1858, 1851, 1852, 1866, 1853, 1856, 1858, 1857, 1859, 1860, 04068 1859, 1867, 1861, 1853, 1860, 1863, 1859, 1860, 1861, 1873, 04069 1861, 1864, 1865, 1868, 1869, 1876, 1858, 1870, 1858, 1871, 04070 1866, 1872, 1869, 1878, 1858, 1869, 1859, 1860, 1859, 1875, 04071 1861, 1877, 1860, 1879, 1859, 1860, 1861, 1880, 1861, 1881, 04072 1868, 1882, 1869, 1876, 1870, 1880, 1871, 1883, 1872, 1884, 04073 1869, 1878, 1869, 1884, 1886, 1887, 1875, 1884, 1877, 1888, 04074 1879, 1885, 1886, 1889, 1880, 1880, 1890, 1881, 1882, 1885, 04075 04076 0, 1895, 1886, 1880, 1883, 1896, 1891, 1884, 1891, 0, 04077 1885, 1884, 1886, 1887, 1891, 1884, 1897, 1888, 1898, 1885, 04078 1886, 1889, 1899, 1892, 1890, 1892, 1900, 1885, 1895, 1886, 04079 1893, 1892, 1896, 1894, 1891, 1893, 1891, 1885, 1893, 1894, 04080 0, 1894, 1891, 1897, 1901, 1898, 1903, 1904, 1905, 1899, 04081 1906, 1892, 1908, 1892, 1900, 1909, 1911, 1902, 1893, 1892, 04082 1910, 1894, 1912, 1893, 1913, 1902, 1893, 1894, 1902, 1894, 04083 1914, 1901, 1913, 1903, 1904, 1905, 1915, 1916, 1906, 1908, 04084 1918, 1919, 1922, 1909, 1911, 1902, 1920, 1910, 1921, 1912, 04085 1923, 1913, 1913, 1902, 1924, 1902, 1925, 1914, 1926, 1928, 04086 04087 1913, 1929, 1931, 1915, 1916, 1932, 1933, 1918, 1934, 1919, 04088 1922, 1935, 1936, 1920, 1937, 1921, 1938, 1923, 1939, 0, 04089 1940, 1924, 1941, 1942, 1925, 1926, 1943, 1928, 1929, 1931, 04090 1944, 1949, 1932, 1933, 1950, 1953, 1934, 1952, 1935, 1936, 04091 1954, 1937, 1955, 1957, 1938, 1958, 1939, 1940, 1960, 1941, 04092 1942, 1960, 1961, 1943, 1956, 1956, 1960, 1944, 1949, 1963, 04093 1961, 1966, 1950, 1953, 1952, 1956, 1962, 1954, 1964, 1961, 04094 1955, 1957, 1958, 1965, 1962, 1971, 1960, 1967, 0, 1960, 04095 1961, 1972, 1956, 1956, 1960, 1967, 1963, 1967, 1961, 1966, 04096 1968, 0, 1956, 1969, 1962, 1964, 1961, 1973, 1968, 1982, 04097 04098 1965, 1969, 1962, 1971, 1974, 1967, 1975, 1969, 1972, 1968, 04099 1976, 1970, 1978, 1967, 1967, 1970, 0, 1981, 1968, 1970, 04100 1978, 1969, 1984, 1985, 1973, 1986, 1968, 1982, 1987, 1969, 04101 1989, 1974, 1990, 1975, 1969, 1993, 1968, 1976, 1993, 1970, 04102 1978, 1993, 1993, 1970, 1981, 1995, 1996, 1970, 1978, 1984, 04103 1997, 1985, 1986, 1988, 1988, 1992, 1987, 1998, 1989, 1990, 04104 2004, 0, 1993, 1992, 1988, 1993, 1992, 2003, 1993, 1993, 04105 1992, 1994, 1995, 1996, 1994, 0, 2000, 1997, 1994, 0, 04106 2000, 1988, 1988, 1992, 2013, 1998, 2005, 2004, 1999, 1999, 04107 1992, 1988, 1999, 1992, 2000, 2003, 1999, 1992, 1994, 2001, 04108 04109 2006, 1994, 2001, 2002, 2000, 1994, 2001, 2002, 2000, 2007, 04110 2008, 2002, 2013, 2005, 2010, 1999, 1999, 2012, 2010, 1999, 04111 2015, 2000, 2010, 1999, 2016, 2017, 2001, 2006, 2019, 2001, 04112 2020, 2002, 2028, 2001, 2025, 2002, 2007, 2008, 2026, 2002, 04113 2018, 2018, 2010, 2027, 2012, 2033, 2010, 2015, 2034, 2035, 04114 2010, 2018, 2016, 2017, 2023, 2022, 2019, 2020, 2022, 2024, 04115 2028, 2025, 2023, 2022, 2029, 2026, 2036, 2024, 2018, 2018, 04116 2027, 2023, 2029, 2033, 2029, 2034, 2035, 2030, 2018, 2037, 04117 2031, 2040, 2023, 2022, 2038, 2030, 2022, 2024, 2031, 2040, 04118 2023, 2022, 2029, 2036, 2031, 2024, 2030, 2043, 2023, 2032, 04119 04120 2029, 2029, 2044, 2032, 2047, 2030, 2037, 2032, 2031, 2040, 04121 2046, 2038, 2048, 2030, 2049, 2051, 2031, 2040, 2050, 2050, 04122 0, 2031, 2052, 2030, 2043, 2057, 2056, 2032, 2058, 2050, 04123 2044, 2032, 2047, 2054, 2056, 2032, 2054, 2046, 2059, 2048, 04124 2055, 2054, 2049, 2051, 2060, 2065, 2050, 2050, 2055, 2052, 04125 2061, 0, 2057, 0, 2056, 2058, 2050, 2055, 2061, 0, 04126 2061, 2054, 2056, 2062, 2054, 2059, 2063, 2072, 2055, 2054, 04127 2066, 2062, 2060, 2065, 2063, 2072, 2055, 2067, 2061, 2068, 04128 2063, 2069, 2062, 2070, 2055, 2064, 2061, 2061, 2075, 2064, 04129 2076, 2062, 2078, 2064, 2063, 2072, 2079, 2066, 2080, 2062, 04130 04131 2081, 2083, 2063, 2072, 2067, 2084, 2068, 2063, 2069, 2062, 04132 2070, 2082, 2082, 2064, 2085, 2075, 2086, 2064, 2076, 2078, 04133 2087, 2064, 2082, 2089, 2079, 2080, 2090, 2092, 2081, 2083, 04134 2093, 2095, 2084, 2097, 2098, 0, 2099, 2100, 2102, 2082, 04135 2082, 2085, 2101, 2103, 2086, 2104, 2106, 2087, 2105, 2082, 04136 2089, 2108, 2111, 2090, 2092, 2109, 2112, 2093, 2114, 2095, 04137 2115, 2097, 2098, 2099, 2118, 2100, 2102, 2119, 2120, 2101, 04138 2103, 2122, 2125, 2104, 2106, 2105, 2126, 2123, 2127, 2108, 04139 2111, 2128, 2109, 2136, 2112, 2123, 2114, 2115, 2133, 2124, 04140 2131, 2118, 2131, 2124, 2130, 2119, 2120, 2124, 2131, 2122, 04141 04142 2125, 2129, 2130, 2126, 2135, 2123, 2127, 2129, 2128, 2129, 04143 2136, 2130, 2138, 2123, 2139, 2132, 2133, 2124, 2131, 2141, 04144 2131, 2124, 2130, 2132, 2146, 2124, 2131, 2142, 2132, 2129, 04145 2130, 2145, 2135, 2147, 2149, 2129, 2153, 2129, 2130, 2152, 04146 2138, 2150, 2139, 2132, 2154, 2150, 0, 2141, 2155, 2150, 04147 0, 2132, 2146, 2160, 2142, 2132, 2151, 0, 2145, 2163, 04148 2151, 2147, 2149, 2153, 2151, 2162, 0, 2152, 2169, 2150, 04149 2156, 2158, 2154, 2150, 2156, 2155, 2156, 2150, 2156, 2157, 04150 2159, 2160, 2158, 2157, 2151, 2158, 2163, 2157, 2151, 2165, 04151 0, 2159, 2151, 2162, 2159, 2169, 2157, 2166, 2156, 2158, 04152 04153 2168, 2172, 2156, 2171, 2156, 2173, 2156, 2157, 2159, 2158, 04154 2175, 2157, 2158, 2178, 2176, 2157, 2177, 2165, 2159, 2179, 04155 2177, 2159, 2176, 2157, 2177, 2166, 2180, 2186, 2168, 2172, 04156 2171, 2181, 2183, 2173, 2188, 0, 2189, 2182, 2175, 2191, 04157 2183, 2178, 2176, 2182, 2177, 2182, 2179, 2192, 2177, 2183, 04158 2176, 2184, 2177, 2184, 2180, 2186, 2185, 2194, 2181, 2184, 04159 2183, 2195, 2188, 2189, 2185, 2182, 2198, 2191, 2183, 2185, 04160 2199, 2182, 2200, 2182, 2202, 2192, 2183, 2205, 2203, 2184, 04161 2206, 2184, 2207, 0, 2185, 2194, 2203, 2184, 2195, 2208, 04162 2213, 2204, 2185, 2198, 0, 2204, 2185, 0, 2199, 2204, 04163 04164 2200, 2215, 2202, 2209, 2210, 2205, 2203, 2206, 2216, 2209, 04165 2207, 2209, 2210, 2218, 2203, 2219, 2208, 2221, 2213, 2204, 04166 2222, 2210, 2211, 2204, 2211, 2212, 2226, 2204, 2225, 2215, 04167 2211, 2209, 2210, 2212, 2227, 2216, 2229, 2209, 2212, 2209, 04168 2210, 2218, 2231, 2219, 2232, 2221, 2233, 2222, 2210, 2234, 04169 2211, 2235, 2211, 2212, 2226, 2225, 2236, 2237, 2211, 2238, 04170 2240, 2212, 2227, 2239, 2229, 2212, 2241, 2242, 2243, 2231, 04171 2244, 2232, 2245, 2233, 2246, 2247, 2234, 2248, 2235, 2249, 04172 2250, 2251, 2252, 2236, 2254, 2237, 2255, 2238, 2240, 2256, 04173 2239, 2257, 2258, 2241, 2242, 2243, 2260, 2261, 2244, 2245, 04174 04175 2262, 2246, 2247, 2263, 2268, 2248, 2249, 2250, 2251, 2252, 04176 2269, 2259, 2254, 2255, 2259, 0, 2256, 2270, 2257, 2259, 04177 2258, 2264, 2275, 2260, 2265, 2261, 2266, 2262, 2265, 2264, 04178 2263, 2268, 2265, 2267, 2266, 0, 2271, 2264, 2269, 2259, 04179 2272, 2267, 2259, 2273, 2270, 2266, 2276, 2259, 2277, 2264, 04180 2275, 2267, 2265, 2278, 2266, 2279, 2265, 2264, 2281, 2282, 04181 2265, 2267, 2266, 2271, 2264, 2280, 2280, 2272, 2283, 2267, 04182 2273, 2284, 2266, 2276, 2289, 2277, 2280, 2285, 2267, 2280, 04183 2278, 2290, 0, 2279, 2291, 2281, 2292, 2282, 2285, 2293, 04184 2294, 2285, 2286, 2280, 2280, 2283, 2286, 2296, 2284, 2297, 04185 04186 2286, 2289, 2298, 2280, 2287, 2285, 2280, 2288, 2287, 2290, 04187 2288, 2291, 2299, 2292, 2288, 2285, 2293, 2294, 2285, 2300, 04188 2286, 2302, 2287, 2303, 2286, 2296, 2297, 2301, 2286, 2298, 04189 2301, 2311, 2287, 2304, 2288, 2301, 2287, 2288, 2305, 2299, 04190 2310, 2288, 2307, 0, 2309, 2306, 2307, 2300, 2302, 2287, 04191 2307, 2303, 2309, 2306, 2317, 2301, 2308, 2321, 2301, 2311, 04192 2304, 2306, 2309, 2301, 2308, 2305, 2312, 2310, 2313, 2314, 04193 2307, 2315, 2309, 2306, 2307, 2308, 2318, 2319, 2307, 2320, 04194 2309, 2306, 2317, 2322, 2308, 2321, 2322, 2324, 2306, 2309, 04195 2323, 2322, 2308, 2312, 2325, 2313, 2314, 2326, 2315, 2329, 04196 04197 2327, 2328, 2308, 2318, 2319, 2328, 2320, 2329, 2327, 2328, 04198 2332, 2322, 2330, 2338, 2322, 2324, 2327, 2323, 2329, 2322, 04199 2330, 2325, 2331, 2333, 2326, 2334, 2335, 2329, 2327, 2328, 04200 2330, 2336, 2339, 2328, 2340, 2329, 2327, 2328, 2332, 2341, 04201 2330, 2338, 2342, 2327, 2343, 2329, 2344, 2345, 2330, 2331, 04202 2333, 2346, 2334, 2335, 2347, 2351, 2352, 2330, 2336, 2339, 04203 2353, 2340, 2355, 2356, 0, 2357, 2341, 2359, 2360, 2342, 04204 2362, 2343, 2363, 2344, 2345, 2364, 2365, 2371, 2346, 2367, 04205 2369, 2347, 2351, 2372, 2352, 2371, 2373, 2353, 2374, 2355, 04206 2377, 2356, 2357, 2377, 2359, 0, 2360, 2362, 2377, 2381, 04207 04208 2363, 2379, 2384, 2364, 2365, 2371, 2367, 2369, 2376, 2379, 04209 2372, 2378, 2385, 2371, 2373, 2374, 2376, 2386, 2377, 2378, 04210 2394, 2377, 2376, 2380, 2383, 2388, 2377, 2381, 2378, 2379, 04211 2384, 2390, 2393, 2395, 0, 2392, 2376, 2379, 2392, 2378, 04212 2385, 2401, 2392, 0, 2376, 2386, 0, 2378, 2394, 2376, 04213 2380, 2383, 2388, 2404, 2397, 2378, 2409, 2397, 2390, 2393, 04214 2395, 2397, 2392, 2398, 2402, 2392, 2405, 2406, 2401, 2392, 04215 2399, 2398, 2400, 2399, 2398, 2400, 2399, 2399, 2398, 2400, 04216 2404, 2397, 2407, 2409, 2397, 2411, 2414, 2416, 2397, 2415, 04217 0, 2398, 2402, 2423, 2405, 2406, 0, 2399, 2398, 2400, 04218 04219 2399, 2398, 2400, 2399, 2399, 2398, 2400, 2413, 2418, 2426, 04220 2407, 2421, 2411, 2414, 2416, 2413, 2418, 2415, 2422, 2421, 04221 2419, 2423, 2418, 2419, 2420, 0, 2425, 2427, 2419, 2428, 04222 0, 2430, 2420, 0, 2432, 2413, 2418, 2426, 2434, 2421, 04223 2435, 2420, 2436, 2413, 2418, 2422, 2434, 2421, 2419, 2418, 04224 2437, 2419, 2420, 2425, 2441, 2427, 2419, 2428, 2430, 2443, 04225 2420, 2432, 2441, 2444, 2439, 2447, 2434, 2435, 2420, 2446, 04226 2436, 2441, 2439, 2440, 2434, 2442, 2440, 2437, 2439, 2448, 04227 2449, 2440, 2441, 2442, 0, 2451, 2443, 2453, 2454, 2456, 04228 2441, 2444, 2439, 2447, 2455, 2457, 2446, 2458, 2441, 2459, 04229 04230 2439, 2440, 2460, 2442, 2440, 2439, 2461, 2448, 2449, 2440, 04231 2463, 2442, 2451, 2464, 2453, 2466, 2454, 2456, 2467, 2468, 04232 2470, 2455, 2457, 2469, 2458, 2472, 2478, 2459, 2473, 2475, 04233 2460, 2476, 2484, 2461, 2480, 0, 2482, 2483, 2463, 2488, 04234 2464, 2479, 2480, 2466, 2485, 2487, 2467, 2468, 2470, 2479, 04235 2469, 2490, 2491, 2472, 2478, 2473, 2475, 2493, 2476, 2484, 04236 2479, 2480, 2480, 2481, 2482, 2483, 2488, 2481, 0, 2479, 04237 2480, 2481, 2485, 2487, 2499, 2497, 2494, 2479, 2490, 2491, 04238 2494, 2498, 0, 2500, 2495, 2493, 2502, 2479, 2495, 0, 04239 2503, 2481, 2496, 0, 2494, 2481, 2496, 0, 2505, 2481, 04240 04241 2496, 2499, 2495, 2497, 2494, 2506, 2508, 2509, 2494, 2498, 04242 2495, 2500, 2495, 2514, 2502, 2509, 2495, 2503, 2518, 2510, 04243 2496, 2494, 2512, 2513, 2496, 2505, 2509, 2510, 2496, 2495, 04244 2515, 2517, 2506, 2511, 2508, 2509, 2520, 2511, 0, 2521, 04245 2514, 2511, 2523, 2509, 2525, 2518, 2510, 2510, 2524, 2527, 04246 2512, 2513, 2525, 2509, 2528, 2510, 2524, 2530, 2515, 2517, 04247 2526, 2511, 2529, 2520, 2526, 2511, 2521, 2524, 2526, 2511, 04248 2523, 2525, 2525, 2532, 0, 2533, 2524, 2527, 2535, 2537, 04249 2525, 2538, 2528, 2539, 2524, 2530, 2540, 2541, 2526, 2529, 04250 2542, 2544, 2526, 2543, 2524, 2545, 2526, 2546, 2547, 0, 04251 04252 2548, 2532, 2533, 2549, 2554, 2535, 2537, 2550, 2551, 2538, 04253 2552, 2539, 2553, 2540, 2555, 2541, 2556, 2557, 2542, 2544, 04254 2543, 2558, 2562, 2545, 2546, 2559, 2547, 2548, 2561, 2563, 04255 2564, 2549, 2554, 2559, 2550, 2551, 2565, 2552, 2559, 2553, 04256 2566, 2555, 2567, 2556, 2560, 2557, 2568, 2560, 2570, 2558, 04257 2562, 2569, 2560, 2559, 2571, 2561, 2563, 2564, 2574, 2575, 04258 2572, 2559, 2576, 2565, 2577, 2559, 2578, 2566, 2579, 2581, 04259 2567, 2572, 2560, 2568, 2572, 2560, 2570, 2580, 2569, 2582, 04260 2560, 2583, 2571, 2573, 2573, 2574, 2584, 2575, 2572, 2576, 04261 2587, 2577, 2588, 2578, 2573, 2579, 2581, 2573, 2572, 2586, 04262 04263 2585, 2572, 2586, 0, 2589, 2580, 2582, 2586, 2585, 2583, 04264 2590, 2573, 2573, 2585, 2584, 2591, 2592, 2587, 2593, 2596, 04265 2588, 2573, 2594, 2595, 2573, 2597, 2598, 2586, 2585, 2601, 04266 2586, 2589, 2600, 2602, 2598, 2586, 2585, 2590, 2603, 2598, 04267 2585, 2604, 2591, 2592, 2605, 2606, 2593, 2596, 2599, 2594, 04268 2595, 2599, 2609, 2597, 2598, 2607, 2599, 2601, 2608, 2600, 04269 2602, 2610, 2598, 2611, 2612, 2603, 2598, 2614, 2604, 2615, 04270 2617, 2605, 2619, 2606, 2620, 2621, 2599, 2622, 2624, 2599, 04271 2609, 2625, 2607, 2627, 2599, 2608, 2628, 0, 2632, 2610, 04272 2633, 2611, 2612, 2634, 2635, 2614, 2615, 2637, 2617, 2638, 04273 04274 2619, 2620, 2621, 2640, 2622, 2624, 2631, 2630, 0, 2625, 04275 2630, 2627, 2641, 2628, 2631, 2630, 2632, 2633, 2643, 2643, 04276 2634, 2635, 2644, 2645, 2637, 2646, 2647, 2638, 2648, 2643, 04277 2650, 2640, 2643, 2644, 2631, 2630, 2644, 2651, 2630, 2641, 04278 2653, 2657, 2631, 2630, 2654, 2658, 2643, 2643, 2659, 2657, 04279 2644, 2645, 2646, 2647, 2660, 2648, 2643, 2650, 2656, 2643, 04280 2644, 2656, 2664, 2644, 2661, 2651, 2656, 2666, 2653, 2657, 04281 2663, 2654, 2667, 2658, 2670, 2659, 2669, 2657, 2671, 2669, 04282 2677, 2660, 2670, 2681, 2669, 2682, 2656, 2672, 2673, 2656, 04283 2664, 2661, 2674, 2676, 2656, 2666, 2679, 2663, 2685, 2667, 04284 04285 2687, 2689, 2670, 2690, 2669, 2691, 2671, 2669, 2677, 2692, 04286 2670, 2681, 2669, 2682, 2672, 2673, 2694, 2695, 2699, 2674, 04287 2676, 2696, 2698, 2679, 2700, 2695, 2685, 2687, 2689, 2701, 04288 2703, 2690, 2691, 2705, 2707, 2708, 2704, 2692, 2709, 2710, 04289 2712, 0, 2714, 2716, 2694, 2695, 2699, 2704, 2696, 2698, 04290 2704, 2700, 2717, 2695, 2713, 0, 2718, 2701, 2703, 2719, 04291 2705, 2707, 2713, 2708, 2704, 2709, 2721, 2710, 2712, 2714, 04292 2716, 2722, 0, 2723, 2704, 2725, 2726, 2704, 2727, 2722, 04293 2717, 2728, 2713, 2718, 2731, 2732, 2734, 2719, 2733, 2735, 04294 2713, 2736, 0, 2737, 2721, 2738, 0, 2739, 2740, 2722, 04295 04296 2723, 2741, 2725, 2742, 2726, 2727, 2743, 2722, 2744, 2728, 04297 2745, 2746, 2731, 2732, 2734, 2733, 2735, 2747, 2748, 2736, 04298 2737, 2749, 2750, 2738, 2739, 2751, 2740, 2752, 2741, 2753, 04299 2754, 2742, 2755, 2743, 2756, 2758, 2744, 2745, 2757, 2746, 04300 2759, 2760, 0, 2761, 2747, 2763, 2748, 2766, 2749, 2767, 04301 2750, 2769, 2751, 2772, 2778, 2752, 2753, 2773, 2754, 2755, 04302 2775, 2779, 2756, 2758, 2781, 2757, 2784, 2759, 2785, 2760, 04303 2761, 2787, 2763, 2790, 2793, 2766, 2767, 2791, 2769, 2795, 04304 2796, 2772, 2778, 2797, 2773, 2799, 2800, 2775, 2779, 2801, 04305 2803, 2781, 2804, 2805, 2784, 2785, 2807, 2808, 2787, 2809, 04306 04307 2811, 2790, 2793, 2812, 2791, 2813, 2814, 2795, 2796, 2815, 04308 2816, 2797, 2817, 2799, 2800, 2818, 2819, 2801, 2803, 2820, 04309 2804, 2805, 2821, 2822, 2807, 2808, 2823, 2809, 2811, 2824, 04310 2825, 2812, 2813, 2826, 2814, 2827, 2815, 2816, 2828, 2830, 04311 2817, 2829, 2818, 2819, 2831, 0, 2832, 2820, 2833, 2821, 04312 2822, 2834, 0, 2835, 2823, 2836, 2824, 2825, 2837, 0, 04313 2838, 2826, 2827, 2839, 2840, 2842, 2828, 2830, 2829, 2841, 04314 2858, 2859, 2831, 2832, 2860, 2861, 2833, 2862, 0, 2834, 04315 2835, 2863, 2864, 2836, 2865, 2866, 2837, 2838, 2867, 2868, 04316 2869, 2839, 2840, 2842, 2870, 2871, 2841, 2872, 2858, 2859, 04317 04318 2873, 2874, 2860, 2861, 2875, 2862, 2876, 2877, 2863, 2864, 04319 2878, 2865, 2866, 2879, 2880, 2867, 2868, 2869, 2881, 2882, 04320 0, 2870, 2871, 0, 2872, 0, 0, 2873, 2874, 0, 04321 0, 2875, 0, 2876, 2877, 0, 0, 0, 2878, 0, 04322 0, 2879, 2880, 0, 0, 0, 2881, 2882, 2889, 2889, 04323 2889, 2889, 2889, 2889, 2889, 2889, 2889, 2890, 2890, 2890, 04324 2890, 2890, 2890, 2890, 2890, 2890, 2891, 2891, 2891, 2891, 04325 2891, 2891, 2891, 2891, 2891, 2892, 2892, 2892, 0, 2892, 04326 2892, 2892, 2892, 2892, 2893, 2893, 2894, 2894, 0, 2894, 04327 2894, 2894, 2894, 2894, 2894, 2895, 2895, 0, 2895, 2895, 04328 04329 2895, 2895, 2895, 2895, 2896, 2896, 2896, 2896, 2896, 2896, 04330 2896, 2896, 2896, 2897, 2897, 0, 2897, 2897, 2897, 2897, 04331 2897, 2897, 2898, 2898, 0, 2898, 2898, 2898, 2898, 2898, 04332 2898, 2899, 2899, 2899, 0, 2899, 2899, 2899, 2899, 2899, 04333 2900, 2900, 2900, 2900, 2901, 2901, 2901, 2901, 2902, 0, 04334 2902, 0, 2902, 2902, 2902, 2902, 2902, 2903, 0, 2903, 04335 0, 2903, 2903, 2903, 2903, 2903, 2904, 2904, 2904, 2904, 04336 2904, 2904, 2904, 2904, 2904, 2905, 2905, 2906, 2906, 2906, 04337 2906, 2906, 2907, 2907, 2907, 2907, 2907, 2908, 2908, 2908, 04338 2908, 2908, 2908, 2908, 2908, 2908, 2909, 2909, 2910, 2910, 04339 04340 0, 2910, 2910, 2910, 2910, 2910, 2910, 2911, 2911, 0, 04341 2911, 2911, 2911, 2911, 2911, 2911, 2912, 2912, 2913, 2913, 04342 2913, 2913, 2913, 2913, 2913, 2913, 2913, 2914, 2914, 2915, 04343 2915, 2915, 2915, 2915, 2915, 2915, 2915, 2915, 2916, 2916, 04344 0, 2916, 2916, 2916, 2916, 2916, 2916, 2917, 2917, 0, 04345 2917, 2917, 2917, 2917, 2917, 2917, 2918, 2918, 0, 2918, 04346 2918, 2918, 2918, 2918, 2918, 2919, 2919, 0, 2919, 2919, 04347 2919, 2919, 2919, 2919, 2920, 2920, 0, 2920, 2920, 2920, 04348 2920, 2920, 2920, 2921, 2921, 0, 2921, 2921, 2921, 2921, 04349 2921, 2921, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 2922, 04350 04351 2922, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 2923, 04352 2924, 2924, 0, 2924, 2924, 2924, 2924, 2924, 2924, 2925, 04353 2925, 0, 2925, 2925, 2925, 2925, 2925, 2925, 2926, 2926, 04354 0, 2926, 2926, 2926, 2926, 2926, 2926, 2927, 2927, 0, 04355 2927, 2927, 2927, 2927, 2927, 2927, 2928, 2928, 0, 2928, 04356 2928, 2928, 2928, 2928, 2928, 2929, 2929, 2929, 2929, 2929, 04357 2929, 2929, 2929, 2929, 2930, 2930, 0, 2930, 2930, 2930, 04358 2930, 2930, 2930, 2931, 2931, 0, 2931, 2931, 2931, 2931, 04359 2931, 2931, 2932, 2932, 0, 2932, 2932, 2932, 2932, 2932, 04360 2932, 2933, 2933, 0, 2933, 2933, 2933, 2933, 2933, 2933, 04361 04362 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2934, 2935, 04363 2935, 0, 2935, 2935, 2935, 2935, 2935, 2935, 2888, 2888, 04364 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 04365 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 04366 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 04367 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 04368 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 04369 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 04370 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888 04371 } ; 04372 04373 extern int yy_flex_debug; 04374 int yy_flex_debug = 0; 04375 04376 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0; 04377 static char *yy_full_match; 04378 static int yy_lp; 04379 static int yy_looking_for_trail_begin = 0; 04380 static int yy_full_lp; 04381 static int *yy_full_state; 04382 #define YY_TRAILING_MASK 0x2000 04383 #define YY_TRAILING_HEAD_MASK 0x4000 04384 #define REJECT \ 04385 { \ 04386 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \ 04387 yy_cp = (yy_full_match); /* restore poss. backed-over text */ \ 04388 (yy_lp) = (yy_full_lp); /* restore orig. accepting pos. */ \ 04389 (yy_state_ptr) = (yy_full_state); /* restore orig. state */ \ 04390 yy_current_state = *(yy_state_ptr); /* restore curr. state */ \ 04391 ++(yy_lp); \ 04392 goto find_rule; \ 04393 } 04394 04395 #define yymore() yymore_used_but_not_detected 04396 #define YY_MORE_ADJ 0 04397 #define YY_RESTORE_YY_MORE_OFFSET 04398 char *yytext; 04399 #line 1 "src/cfgparse.l" 04400 /* 04401 * vim:ts=4:sw=4:expandtab 04402 * 04403 */ 04404 #define YY_NO_INPUT 1 04405 #line 11 "src/cfgparse.l" 04406 #include <stdio.h> 04407 #include <string.h> 04408 #include <stdint.h> 04409 #include <xcb/xcb.h> 04410 04411 #include "log.h" 04412 #include "data.h" 04413 #include "config.h" 04414 #include "util.h" 04415 #include "libi3.h" 04416 04417 #include "cfgparse.tab.h" 04418 04419 int yycolumn = 1; 04420 04421 #define YY_DECL int yylex (struct context *context) 04422 04423 #define YY_USER_ACTION { \ 04424 context->first_column = yycolumn; \ 04425 context->last_column = yycolumn+yyleng-1; \ 04426 yycolumn += yyleng; \ 04427 } 04428 04429 /* macro to first eat whitespace, then expect a string */ 04430 #define WS_STRING do { \ 04431 yy_push_state(WANT_STRING); \ 04432 yy_push_state(EAT_WHITESPACE); \ 04433 } while (0) 04434 04435 #define BAR_DOUBLE_COLOR do { \ 04436 yy_push_state(BAR_COLOR); \ 04437 yy_push_state(BAR_COLOR); \ 04438 } while (0) 04439 04440 04441 04442 04443 04444 04445 04446 04447 04448 04449 04450 04451 04452 04453 04454 04455 04456 #line 4457 "src/cfgparse.yy.c" 04457 04458 #define INITIAL 0 04459 #define WANT_STRING 1 04460 #define WANT_QSTRING 2 04461 #define BINDSYM_COND 3 04462 #define ASSIGN_COND 4 04463 #define ASSIGN_TARGET_COND 5 04464 #define COLOR_COND 6 04465 #define OUTPUT_COND 7 04466 #define FOR_WINDOW_COND 8 04467 #define EAT_WHITESPACE 9 04468 #define BUFFER_LINE 10 04469 #define BAR 11 04470 #define BAR_MODE 12 04471 #define BAR_POSITION 13 04472 #define BAR_COLORS 14 04473 #define BAR_COLOR 15 04474 #define EXEC 16 04475 04476 #ifndef YY_NO_UNISTD_H 04477 /* Special case for "unistd.h", since it is non-ANSI. We include it way 04478 * down here because we want the user's section 1 to have been scanned first. 04479 * The user has a chance to override it with an option. 04480 */ 04481 #include <unistd.h> 04482 #endif 04483 04484 #ifndef YY_EXTRA_TYPE 04485 #define YY_EXTRA_TYPE void * 04486 #endif 04487 04488 static int yy_init_globals (void ); 04489 04490 /* Accessor methods to globals. 04491 These are made visible to non-reentrant scanners for convenience. */ 04492 04493 int yylex_destroy (void ); 04494 04495 int yyget_debug (void ); 04496 04497 void yyset_debug (int debug_flag ); 04498 04499 YY_EXTRA_TYPE yyget_extra (void ); 04500 04501 void yyset_extra (YY_EXTRA_TYPE user_defined ); 04502 04503 FILE *yyget_in (void ); 04504 04505 void yyset_in (FILE * in_str ); 04506 04507 FILE *yyget_out (void ); 04508 04509 void yyset_out (FILE * out_str ); 04510 04511 int yyget_leng (void ); 04512 04513 char *yyget_text (void ); 04514 04515 int yyget_lineno (void ); 04516 04517 void yyset_lineno (int line_number ); 04518 04519 /* Macros after this point can all be overridden by user definitions in 04520 * section 1. 04521 */ 04522 04523 #ifndef YY_SKIP_YYWRAP 04524 #ifdef __cplusplus 04525 extern "C" int yywrap (void ); 04526 #else 04527 extern int yywrap (void ); 04528 #endif 04529 #endif 04530 04531 #ifndef yytext_ptr 04532 static void yy_flex_strncpy (char *,yyconst char *,int ); 04533 #endif 04534 04535 #ifdef YY_NEED_STRLEN 04536 static int yy_flex_strlen (yyconst char * ); 04537 #endif 04538 04539 #ifndef YY_NO_INPUT 04540 04541 #ifdef __cplusplus 04542 static int yyinput (void ); 04543 #else 04544 static int input (void ); 04545 #endif 04546 04547 #endif 04548 04549 static int yy_start_stack_ptr = 0; 04550 static int yy_start_stack_depth = 0; 04551 static int *yy_start_stack = NULL; 04552 04553 static void yy_push_state (int new_state ); 04554 04555 static void yy_pop_state (void ); 04556 04557 /* Amount of stuff to slurp up with each read. */ 04558 #ifndef YY_READ_BUF_SIZE 04559 #define YY_READ_BUF_SIZE 8192 04560 #endif 04561 04562 /* Copy whatever the last rule matched to the standard output. */ 04563 #ifndef ECHO 04564 /* This used to be an fputs(), but since the string might contain NUL's, 04565 * we now use fwrite(). 04566 */ 04567 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) 04568 #endif 04569 04570 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 04571 * is returned in "result". 04572 */ 04573 #ifndef YY_INPUT 04574 #define YY_INPUT(buf,result,max_size) \ 04575 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 04576 { \ 04577 int c = '*'; \ 04578 unsigned n; \ 04579 for ( n = 0; n < max_size && \ 04580 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 04581 buf[n] = (char) c; \ 04582 if ( c == '\n' ) \ 04583 buf[n++] = (char) c; \ 04584 if ( c == EOF && ferror( yyin ) ) \ 04585 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 04586 result = n; \ 04587 } \ 04588 else \ 04589 { \ 04590 errno=0; \ 04591 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ 04592 { \ 04593 if( errno != EINTR) \ 04594 { \ 04595 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 04596 break; \ 04597 } \ 04598 errno=0; \ 04599 clearerr(yyin); \ 04600 } \ 04601 }\ 04602 \ 04603 04604 #endif 04605 04606 /* No semi-colon after return; correct usage is to write "yyterminate();" - 04607 * we don't want an extra ';' after the "return" because that will cause 04608 * some compilers to complain about unreachable statements. 04609 */ 04610 #ifndef yyterminate 04611 #define yyterminate() return YY_NULL 04612 #endif 04613 04614 /* Number of entries by which start-condition stack grows. */ 04615 #ifndef YY_START_STACK_INCR 04616 #define YY_START_STACK_INCR 25 04617 #endif 04618 04619 /* Report a fatal error. */ 04620 #ifndef YY_FATAL_ERROR 04621 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 04622 #endif 04623 04624 /* end tables serialization structures and prototypes */ 04625 04626 /* Default declaration of generated scanner - a define so the user can 04627 * easily add parameters. 04628 */ 04629 #ifndef YY_DECL 04630 #define YY_DECL_IS_OURS 1 04631 04632 extern int yylex (void); 04633 04634 #define YY_DECL int yylex (void) 04635 #endif /* !YY_DECL */ 04636 04637 /* Code executed at the beginning of each rule, after yytext and yyleng 04638 * have been set up. 04639 */ 04640 #ifndef YY_USER_ACTION 04641 #define YY_USER_ACTION 04642 #endif 04643 04644 /* Code executed at the end of each rule. */ 04645 #ifndef YY_BREAK 04646 #define YY_BREAK break; 04647 #endif 04648 04649 #define YY_RULE_SETUP \ 04650 if ( yyleng > 0 ) \ 04651 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ 04652 (yytext[yyleng - 1] == '\n'); \ 04653 YY_USER_ACTION 04654 04657 YY_DECL 04658 { 04659 register yy_state_type yy_current_state; 04660 register char *yy_cp, *yy_bp; 04661 register int yy_act; 04662 04663 #line 68 "src/cfgparse.l" 04664 04665 04666 { 04667 /* This is called when a new line is lexed. We only want the 04668 * first line to match to go into state BUFFER_LINE */ 04669 if (context->line_number == 0) { 04670 context->line_number = 1; 04671 BEGIN(INITIAL); 04672 yy_push_state(BUFFER_LINE); 04673 } 04674 } 04675 04676 #line 4677 "src/cfgparse.yy.c" 04677 04678 if ( !(yy_init) ) 04679 { 04680 (yy_init) = 1; 04681 04682 #ifdef YY_USER_INIT 04683 YY_USER_INIT; 04684 #endif 04685 04686 /* Create the reject buffer large enough to save one state per allowed character. */ 04687 if ( ! (yy_state_buf) ) 04688 (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE ); 04689 if ( ! (yy_state_buf) ) 04690 YY_FATAL_ERROR( "out of dynamic memory in yylex()" ); 04691 04692 if ( ! (yy_start) ) 04693 (yy_start) = 1; /* first start state */ 04694 04695 if ( ! yyin ) 04696 yyin = stdin; 04697 04698 if ( ! yyout ) 04699 yyout = stdout; 04700 04701 if ( ! YY_CURRENT_BUFFER ) { 04702 yyensure_buffer_stack (); 04703 YY_CURRENT_BUFFER_LVALUE = 04704 yy_create_buffer(yyin,YY_BUF_SIZE ); 04705 } 04706 04707 yy_load_buffer_state( ); 04708 } 04709 04710 while ( 1 ) /* loops until end-of-file is reached */ 04711 { 04712 yy_cp = (yy_c_buf_p); 04713 04714 /* Support of yytext. */ 04715 *yy_cp = (yy_hold_char); 04716 04717 /* yy_bp points to the position in yy_ch_buf of the start of 04718 * the current run. 04719 */ 04720 yy_bp = yy_cp; 04721 04722 yy_current_state = (yy_start); 04723 yy_current_state += YY_AT_BOL(); 04724 04725 (yy_state_ptr) = (yy_state_buf); 04726 *(yy_state_ptr)++ = yy_current_state; 04727 04728 yy_match: 04729 do 04730 { 04731 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 04732 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 04733 { 04734 yy_current_state = (int) yy_def[yy_current_state]; 04735 if ( yy_current_state >= 2889 ) 04736 yy_c = yy_meta[(unsigned int) yy_c]; 04737 } 04738 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 04739 *(yy_state_ptr)++ = yy_current_state; 04740 ++yy_cp; 04741 } 04742 while ( yy_base[yy_current_state] != 11319 ); 04743 04744 yy_find_action: 04745 yy_current_state = *--(yy_state_ptr); 04746 (yy_lp) = yy_accept[yy_current_state]; 04747 find_rule: /* we branch to this label when backing up */ 04748 for ( ; ; ) /* until we find what rule we matched */ 04749 { 04750 if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] ) 04751 { 04752 yy_act = yy_acclist[(yy_lp)]; 04753 if ( yy_act & YY_TRAILING_HEAD_MASK || 04754 (yy_looking_for_trail_begin) ) 04755 { 04756 if ( yy_act == (yy_looking_for_trail_begin) ) 04757 { 04758 (yy_looking_for_trail_begin) = 0; 04759 yy_act &= ~YY_TRAILING_HEAD_MASK; 04760 break; 04761 } 04762 } 04763 else if ( yy_act & YY_TRAILING_MASK ) 04764 { 04765 (yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK; 04766 (yy_looking_for_trail_begin) |= YY_TRAILING_HEAD_MASK; 04767 } 04768 else 04769 { 04770 (yy_full_match) = yy_cp; 04771 (yy_full_state) = (yy_state_ptr); 04772 (yy_full_lp) = (yy_lp); 04773 break; 04774 } 04775 ++(yy_lp); 04776 goto find_rule; 04777 } 04778 --yy_cp; 04779 yy_current_state = *--(yy_state_ptr); 04780 (yy_lp) = yy_accept[yy_current_state]; 04781 } 04782 04783 YY_DO_BEFORE_ACTION; 04784 04785 do_action: /* This label is used only to access EOF actions. */ 04786 04787 switch ( yy_act ) 04788 { /* beginning of action switch */ 04789 case 1: 04790 /* rule 1 can match eol */ 04791 YY_RULE_SETUP 04792 #line 80 "src/cfgparse.l" 04793 { 04794 /* save whole line */ 04795 context->line_copy = sstrdup(yytext); 04796 04797 yyless(0); 04798 yy_pop_state(); 04799 yy_set_bol(true); 04800 yycolumn = 1; 04801 } 04802 YY_BREAK 04803 /* This part of the lexer handles the bar {} blocks */ 04804 case 2: 04805 YY_RULE_SETUP 04806 #line 91 "src/cfgparse.l" 04807 { /* ignore whitespace */ ; } 04808 YY_BREAK 04809 case 3: 04810 YY_RULE_SETUP 04811 #line 92 "src/cfgparse.l" 04812 { return '{'; } 04813 YY_BREAK 04814 case 4: 04815 YY_RULE_SETUP 04816 #line 93 "src/cfgparse.l" 04817 { yy_pop_state(); return '}'; } 04818 YY_BREAK 04819 case 5: 04820 YY_RULE_SETUP 04821 #line 94 "src/cfgparse.l" 04822 { return TOKCOMMENT; } 04823 YY_BREAK 04824 case 6: 04825 YY_RULE_SETUP 04826 #line 95 "src/cfgparse.l" 04827 { WS_STRING; return TOK_BAR_OUTPUT; } 04828 YY_BREAK 04829 case 7: 04830 YY_RULE_SETUP 04831 #line 96 "src/cfgparse.l" 04832 { WS_STRING; return TOK_BAR_TRAY_OUTPUT; } 04833 YY_BREAK 04834 case 8: 04835 YY_RULE_SETUP 04836 #line 97 "src/cfgparse.l" 04837 { WS_STRING; return TOK_BAR_SOCKET_PATH; } 04838 YY_BREAK 04839 case 9: 04840 YY_RULE_SETUP 04841 #line 98 "src/cfgparse.l" 04842 { yy_push_state(BAR_MODE); return TOK_BAR_MODE; } 04843 YY_BREAK 04844 case 10: 04845 YY_RULE_SETUP 04846 #line 99 "src/cfgparse.l" 04847 { yy_pop_state(); return TOK_BAR_HIDE; } 04848 YY_BREAK 04849 case 11: 04850 YY_RULE_SETUP 04851 #line 100 "src/cfgparse.l" 04852 { yy_pop_state(); return TOK_BAR_DOCK; } 04853 YY_BREAK 04854 case 12: 04855 YY_RULE_SETUP 04856 #line 101 "src/cfgparse.l" 04857 { yy_push_state(BAR_POSITION); return TOK_BAR_POSITION; } 04858 YY_BREAK 04859 case 13: 04860 YY_RULE_SETUP 04861 #line 102 "src/cfgparse.l" 04862 { yy_pop_state(); return TOK_BAR_BOTTOM; } 04863 YY_BREAK 04864 case 14: 04865 YY_RULE_SETUP 04866 #line 103 "src/cfgparse.l" 04867 { yy_pop_state(); return TOK_BAR_TOP; } 04868 YY_BREAK 04869 case 15: 04870 YY_RULE_SETUP 04871 #line 104 "src/cfgparse.l" 04872 { WS_STRING; return TOK_BAR_STATUS_COMMAND; } 04873 YY_BREAK 04874 case 16: 04875 YY_RULE_SETUP 04876 #line 105 "src/cfgparse.l" 04877 { WS_STRING; return TOK_BAR_FONT; } 04878 YY_BREAK 04879 case 17: 04880 YY_RULE_SETUP 04881 #line 106 "src/cfgparse.l" 04882 { return TOK_BAR_WORKSPACE_BUTTONS; } 04883 YY_BREAK 04884 case 18: 04885 YY_RULE_SETUP 04886 #line 107 "src/cfgparse.l" 04887 { return TOK_BAR_VERBOSE; } 04888 YY_BREAK 04889 case 19: 04890 YY_RULE_SETUP 04891 #line 108 "src/cfgparse.l" 04892 { yy_push_state(BAR_COLORS); return TOK_BAR_COLORS; } 04893 YY_BREAK 04894 case 20: 04895 YY_RULE_SETUP 04896 #line 109 "src/cfgparse.l" 04897 { return '{'; } 04898 YY_BREAK 04899 case 21: 04900 YY_RULE_SETUP 04901 #line 110 "src/cfgparse.l" 04902 { yy_pop_state(); return '}'; } 04903 YY_BREAK 04904 case 22: 04905 YY_RULE_SETUP 04906 #line 111 "src/cfgparse.l" 04907 { return TOKCOMMENT; } 04908 YY_BREAK 04909 case 23: 04910 YY_RULE_SETUP 04911 #line 112 "src/cfgparse.l" 04912 { yy_push_state(BAR_COLOR); return TOK_BAR_COLOR_BACKGROUND; } 04913 YY_BREAK 04914 case 24: 04915 YY_RULE_SETUP 04916 #line 113 "src/cfgparse.l" 04917 { yy_push_state(BAR_COLOR); return TOK_BAR_COLOR_STATUSLINE; } 04918 YY_BREAK 04919 case 25: 04920 YY_RULE_SETUP 04921 #line 114 "src/cfgparse.l" 04922 { BAR_DOUBLE_COLOR; return TOK_BAR_COLOR_FOCUSED_WORKSPACE; } 04923 YY_BREAK 04924 case 26: 04925 YY_RULE_SETUP 04926 #line 115 "src/cfgparse.l" 04927 { BAR_DOUBLE_COLOR; return TOK_BAR_COLOR_ACTIVE_WORKSPACE; } 04928 YY_BREAK 04929 case 27: 04930 YY_RULE_SETUP 04931 #line 116 "src/cfgparse.l" 04932 { BAR_DOUBLE_COLOR; return TOK_BAR_COLOR_INACTIVE_WORKSPACE; } 04933 YY_BREAK 04934 case 28: 04935 YY_RULE_SETUP 04936 #line 117 "src/cfgparse.l" 04937 { BAR_DOUBLE_COLOR; return TOK_BAR_COLOR_URGENT_WORKSPACE; } 04938 YY_BREAK 04939 case 29: 04940 YY_RULE_SETUP 04941 #line 118 "src/cfgparse.l" 04942 { yy_pop_state(); yylval.string = sstrdup(yytext); return HEXCOLOR; } 04943 YY_BREAK 04944 case 30: 04945 YY_RULE_SETUP 04946 #line 119 "src/cfgparse.l" 04947 { yylval.string = sstrdup(yytext); return WORD; } 04948 YY_BREAK 04949 case 31: 04950 YY_RULE_SETUP 04951 #line 123 "src/cfgparse.l" 04952 { yy_pop_state(); return ']'; } 04953 YY_BREAK 04954 case 32: 04955 YY_RULE_SETUP 04956 #line 124 "src/cfgparse.l" 04957 { 04958 /* this is the case for the new assign syntax 04959 * that uses criteria */ 04960 yy_pop_state(); 04961 yy_push_state(FOR_WINDOW_COND); 04962 /* afterwards we will be in ASSIGN_TARGET_COND */ 04963 return '['; 04964 } 04965 YY_BREAK 04966 case 33: 04967 YY_RULE_SETUP 04968 #line 132 "src/cfgparse.l" 04969 { yy_pop_state(); } 04970 YY_BREAK 04971 case 34: 04972 /* rule 34 can match eol */ 04973 YY_RULE_SETUP 04974 #line 133 "src/cfgparse.l" 04975 { 04976 yy_pop_state(); 04977 /* strip quotes */ 04978 char *copy = sstrdup(yytext+1); 04979 copy[strlen(copy)-1] = '\0'; 04980 yylval.string = copy; 04981 return STR; 04982 } 04983 YY_BREAK 04984 case 35: 04985 YY_RULE_SETUP 04986 #line 141 "src/cfgparse.l" 04987 { yy_pop_state(); yylval.string = sstrdup(yytext); return STR; } 04988 YY_BREAK 04989 case 36: 04990 YY_RULE_SETUP 04991 #line 142 "src/cfgparse.l" 04992 { yy_pop_state(); yylval.string = sstrdup(yytext); return OUTPUT; } 04993 YY_BREAK 04994 case 37: 04995 YY_RULE_SETUP 04996 #line 143 "src/cfgparse.l" 04997 { return TOKCOMMENT; } 04998 YY_BREAK 04999 case 38: 05000 YY_RULE_SETUP 05001 #line 144 "src/cfgparse.l" 05002 { yy_pop_state(); yylval.string = sstrdup(yytext); return HEXCOLOR; } 05003 YY_BREAK 05004 case 39: 05005 YY_RULE_SETUP 05006 #line 145 "src/cfgparse.l" 05007 { BEGIN(WANT_STRING); } 05008 YY_BREAK 05009 case 40: 05010 YY_RULE_SETUP 05011 #line 146 "src/cfgparse.l" 05012 { BEGIN(WANT_STRING); } 05013 YY_BREAK 05014 case 41: 05015 YY_RULE_SETUP 05016 #line 147 "src/cfgparse.l" 05017 { printf("no startup id\n"); yy_pop_state(); return TOK_NO_STARTUP_ID; } 05018 YY_BREAK 05019 case 42: 05020 YY_RULE_SETUP 05021 #line 148 "src/cfgparse.l" 05022 { printf("anything else: *%s*\n", yytext); yyless(0); yy_pop_state(); yy_pop_state(); } 05023 YY_BREAK 05024 case 43: 05025 YY_RULE_SETUP 05026 #line 149 "src/cfgparse.l" 05027 { yylval.number = atoi(yytext); return NUMBER; } 05028 YY_BREAK 05029 case 44: 05030 YY_RULE_SETUP 05031 #line 150 "src/cfgparse.l" 05032 { yy_push_state(BAR); return TOK_BAR; } 05033 YY_BREAK 05034 case 45: 05035 YY_RULE_SETUP 05036 #line 151 "src/cfgparse.l" 05037 { return TOKMODE; } 05038 YY_BREAK 05039 case 46: 05040 YY_RULE_SETUP 05041 #line 152 "src/cfgparse.l" 05042 { yy_push_state(WANT_STRING); yy_push_state(EAT_WHITESPACE); yy_push_state(EAT_WHITESPACE); return TOKBINDCODE; } 05043 YY_BREAK 05044 case 47: 05045 YY_RULE_SETUP 05046 #line 153 "src/cfgparse.l" 05047 { yy_push_state(WANT_STRING); yy_push_state(EAT_WHITESPACE); yy_push_state(EAT_WHITESPACE); return TOKBINDCODE; } 05048 YY_BREAK 05049 case 48: 05050 YY_RULE_SETUP 05051 #line 154 "src/cfgparse.l" 05052 { yy_push_state(BINDSYM_COND); yy_push_state(EAT_WHITESPACE); return TOKBINDSYM; } 05053 YY_BREAK 05054 case 49: 05055 YY_RULE_SETUP 05056 #line 155 "src/cfgparse.l" 05057 { return TOKFLOATING_MODIFIER; } 05058 YY_BREAK 05059 case 50: 05060 YY_RULE_SETUP 05061 #line 156 "src/cfgparse.l" 05062 { return TOKWORKSPACE; } 05063 YY_BREAK 05064 case 51: 05065 YY_RULE_SETUP 05066 #line 157 "src/cfgparse.l" 05067 { yy_push_state(OUTPUT_COND); yy_push_state(EAT_WHITESPACE); return TOKOUTPUT; } 05068 YY_BREAK 05069 case 52: 05070 YY_RULE_SETUP 05071 #line 158 "src/cfgparse.l" 05072 { WS_STRING; return TOKTERMINAL; } 05073 YY_BREAK 05074 case 53: 05075 YY_RULE_SETUP 05076 #line 159 "src/cfgparse.l" 05077 { WS_STRING; return TOKFONT; } 05078 YY_BREAK 05079 case 54: 05080 YY_RULE_SETUP 05081 #line 160 "src/cfgparse.l" 05082 { yy_push_state(ASSIGN_TARGET_COND); yy_push_state(ASSIGN_COND); return TOKASSIGN; } 05083 YY_BREAK 05084 case 55: 05085 YY_RULE_SETUP 05086 #line 161 "src/cfgparse.l" 05087 { return TOKCOMMENT; } 05088 YY_BREAK 05089 case 56: 05090 YY_RULE_SETUP 05091 #line 162 "src/cfgparse.l" 05092 { WS_STRING; return TOKIPCSOCKET; } 05093 YY_BREAK 05094 case 57: 05095 YY_RULE_SETUP 05096 #line 163 "src/cfgparse.l" 05097 { WS_STRING; return TOKIPCSOCKET; } 05098 YY_BREAK 05099 case 58: 05100 YY_RULE_SETUP 05101 #line 164 "src/cfgparse.l" 05102 { WS_STRING; return TOKRESTARTSTATE; } 05103 YY_BREAK 05104 case 59: 05105 YY_RULE_SETUP 05106 #line 165 "src/cfgparse.l" 05107 { return TOK_ORIENTATION; } 05108 YY_BREAK 05109 case 60: 05110 YY_RULE_SETUP 05111 #line 166 "src/cfgparse.l" 05112 { return TOK_HORIZ; } 05113 YY_BREAK 05114 case 61: 05115 YY_RULE_SETUP 05116 #line 167 "src/cfgparse.l" 05117 { return TOK_VERT; } 05118 YY_BREAK 05119 case 62: 05120 YY_RULE_SETUP 05121 #line 168 "src/cfgparse.l" 05122 { return TOK_AUTO; } 05123 YY_BREAK 05124 case 63: 05125 YY_RULE_SETUP 05126 #line 169 "src/cfgparse.l" 05127 { return TOK_WORKSPACE_LAYOUT; } 05128 YY_BREAK 05129 case 64: 05130 YY_RULE_SETUP 05131 #line 170 "src/cfgparse.l" 05132 { return TOKNEWWINDOW; } 05133 YY_BREAK 05134 case 65: 05135 YY_RULE_SETUP 05136 #line 171 "src/cfgparse.l" 05137 { return TOKNEWFLOAT; } 05138 YY_BREAK 05139 case 66: 05140 YY_RULE_SETUP 05141 #line 172 "src/cfgparse.l" 05142 { return TOK_NORMAL; } 05143 YY_BREAK 05144 case 67: 05145 YY_RULE_SETUP 05146 #line 173 "src/cfgparse.l" 05147 { return TOK_NONE; } 05148 YY_BREAK 05149 case 68: 05150 YY_RULE_SETUP 05151 #line 174 "src/cfgparse.l" 05152 { return TOK_1PIXEL; } 05153 YY_BREAK 05154 case 69: 05155 YY_RULE_SETUP 05156 #line 175 "src/cfgparse.l" 05157 { return TOKFOCUSFOLLOWSMOUSE; } 05158 YY_BREAK 05159 case 70: 05160 YY_RULE_SETUP 05161 #line 176 "src/cfgparse.l" 05162 { return TOK_FORCE_FOCUS_WRAPPING; } 05163 YY_BREAK 05164 case 71: 05165 YY_RULE_SETUP 05166 #line 177 "src/cfgparse.l" 05167 { return TOK_FORCE_XINERAMA; } 05168 YY_BREAK 05169 case 72: 05170 YY_RULE_SETUP 05171 #line 178 "src/cfgparse.l" 05172 { return TOK_WORKSPACE_AUTO_BAF; } 05173 YY_BREAK 05174 case 73: 05175 YY_RULE_SETUP 05176 #line 179 "src/cfgparse.l" 05177 { return TOKWORKSPACEBAR; } 05178 YY_BREAK 05179 case 74: 05180 YY_RULE_SETUP 05181 #line 180 "src/cfgparse.l" 05182 { return TOK_POPUP_DURING_FULLSCREEN; } 05183 YY_BREAK 05184 case 75: 05185 YY_RULE_SETUP 05186 #line 181 "src/cfgparse.l" 05187 { return TOK_IGNORE; } 05188 YY_BREAK 05189 case 76: 05190 YY_RULE_SETUP 05191 #line 182 "src/cfgparse.l" 05192 { return TOK_LEAVE_FULLSCREEN; } 05193 YY_BREAK 05194 case 77: 05195 YY_RULE_SETUP 05196 #line 183 "src/cfgparse.l" 05197 { 05198 /* Example: for_window [class="urxvt"] border none 05199 * 05200 * First, we wait for the ']' that finishes a match (FOR_WINDOW_COND) 05201 * Then, we require a whitespace (EAT_WHITESPACE) 05202 * And the rest of the line is parsed as a string 05203 */ 05204 yy_push_state(WANT_STRING); 05205 yy_push_state(EAT_WHITESPACE); 05206 yy_push_state(FOR_WINDOW_COND); 05207 return TOK_FOR_WINDOW; 05208 } 05209 YY_BREAK 05210 case 78: 05211 YY_RULE_SETUP 05212 #line 195 "src/cfgparse.l" 05213 { /* yylval.number = MODE_DEFAULT; */return TOK_DEFAULT; } 05214 YY_BREAK 05215 case 79: 05216 YY_RULE_SETUP 05217 #line 196 "src/cfgparse.l" 05218 { /* yylval.number = MODE_STACK; */return TOK_STACKING; } 05219 YY_BREAK 05220 case 80: 05221 YY_RULE_SETUP 05222 #line 197 "src/cfgparse.l" 05223 { return TOK_STACKING; } 05224 YY_BREAK 05225 case 81: 05226 YY_RULE_SETUP 05227 #line 198 "src/cfgparse.l" 05228 { /* yylval.number = MODE_TABBED; */return TOK_TABBED; } 05229 YY_BREAK 05230 case 82: 05231 YY_RULE_SETUP 05232 #line 199 "src/cfgparse.l" 05233 { return TOKSTACKLIMIT; } 05234 YY_BREAK 05235 case 83: 05236 YY_RULE_SETUP 05237 #line 200 "src/cfgparse.l" 05238 { /* yylval.number = STACK_LIMIT_COLS; */return TOKSTACKLIMIT; } 05239 YY_BREAK 05240 case 84: 05241 YY_RULE_SETUP 05242 #line 201 "src/cfgparse.l" 05243 { /* yylval.number = STACK_LIMIT_ROWS; */return TOKSTACKLIMIT; } 05244 YY_BREAK 05245 case 85: 05246 YY_RULE_SETUP 05247 #line 202 "src/cfgparse.l" 05248 { WS_STRING; yy_push_state(EXEC); yy_push_state(EAT_WHITESPACE); return TOKEXEC; } 05249 YY_BREAK 05250 case 86: 05251 YY_RULE_SETUP 05252 #line 203 "src/cfgparse.l" 05253 { WS_STRING; yy_push_state(EXEC); yy_push_state(EAT_WHITESPACE); return TOKEXEC_ALWAYS; } 05254 YY_BREAK 05255 case 87: 05256 YY_RULE_SETUP 05257 #line 204 "src/cfgparse.l" 05258 { yy_push_state(COLOR_COND); yylval.single_color = &config.client.background; return TOKSINGLECOLOR; } 05259 YY_BREAK 05260 case 88: 05261 YY_RULE_SETUP 05262 #line 205 "src/cfgparse.l" 05263 { yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yylval.color = &config.client.focused; return TOKCOLOR; } 05264 YY_BREAK 05265 case 89: 05266 YY_RULE_SETUP 05267 #line 206 "src/cfgparse.l" 05268 { yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yylval.color = &config.client.focused_inactive; return TOKCOLOR; } 05269 YY_BREAK 05270 case 90: 05271 YY_RULE_SETUP 05272 #line 207 "src/cfgparse.l" 05273 { yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yylval.color = &config.client.unfocused; return TOKCOLOR; } 05274 YY_BREAK 05275 case 91: 05276 YY_RULE_SETUP 05277 #line 208 "src/cfgparse.l" 05278 { yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yy_push_state(COLOR_COND); yylval.color = &config.client.urgent; return TOKCOLOR; } 05279 YY_BREAK 05280 case 92: 05281 YY_RULE_SETUP 05282 #line 209 "src/cfgparse.l" 05283 { yy_push_state(COLOR_COND); yylval.color = &config.bar.focused; return TOKCOLOR; } 05284 YY_BREAK 05285 case 93: 05286 YY_RULE_SETUP 05287 #line 210 "src/cfgparse.l" 05288 { yy_push_state(COLOR_COND); yylval.color = &config.bar.unfocused; return TOKCOLOR; } 05289 YY_BREAK 05290 case 94: 05291 YY_RULE_SETUP 05292 #line 211 "src/cfgparse.l" 05293 { yy_push_state(COLOR_COND); yylval.color = &config.bar.urgent; return TOKCOLOR; } 05294 YY_BREAK 05295 case 95: 05296 YY_RULE_SETUP 05297 #line 212 "src/cfgparse.l" 05298 { yylval.number = BIND_MOD1; return MODIFIER; } 05299 YY_BREAK 05300 case 96: 05301 YY_RULE_SETUP 05302 #line 213 "src/cfgparse.l" 05303 { yylval.number = BIND_MOD2; return MODIFIER; } 05304 YY_BREAK 05305 case 97: 05306 YY_RULE_SETUP 05307 #line 214 "src/cfgparse.l" 05308 { yylval.number = BIND_MOD3; return MODIFIER; } 05309 YY_BREAK 05310 case 98: 05311 YY_RULE_SETUP 05312 #line 215 "src/cfgparse.l" 05313 { yylval.number = BIND_MOD4; return MODIFIER; } 05314 YY_BREAK 05315 case 99: 05316 YY_RULE_SETUP 05317 #line 216 "src/cfgparse.l" 05318 { yylval.number = BIND_MOD5; return MODIFIER; } 05319 YY_BREAK 05320 case 100: 05321 YY_RULE_SETUP 05322 #line 217 "src/cfgparse.l" 05323 { yylval.number = BIND_MODE_SWITCH; return MODIFIER; } 05324 YY_BREAK 05325 case 101: 05326 YY_RULE_SETUP 05327 #line 218 "src/cfgparse.l" 05328 { return TOKCONTROL; } 05329 YY_BREAK 05330 case 102: 05331 YY_RULE_SETUP 05332 #line 219 "src/cfgparse.l" 05333 { return TOKCONTROL; } 05334 YY_BREAK 05335 case 103: 05336 YY_RULE_SETUP 05337 #line 220 "src/cfgparse.l" 05338 { return TOKSHIFT; } 05339 YY_BREAK 05340 case 104: 05341 YY_RULE_SETUP 05342 #line 222 "src/cfgparse.l" 05343 { yy_push_state(WANT_QSTRING); return TOK_CLASS; } 05344 YY_BREAK 05345 case 105: 05346 YY_RULE_SETUP 05347 #line 223 "src/cfgparse.l" 05348 { yy_push_state(WANT_QSTRING); return TOK_INSTANCE; } 05349 YY_BREAK 05350 case 106: 05351 YY_RULE_SETUP 05352 #line 224 "src/cfgparse.l" 05353 { yy_push_state(WANT_QSTRING); return TOK_WINDOW_ROLE; } 05354 YY_BREAK 05355 case 107: 05356 YY_RULE_SETUP 05357 #line 225 "src/cfgparse.l" 05358 { yy_push_state(WANT_QSTRING); return TOK_ID; } 05359 YY_BREAK 05360 case 108: 05361 YY_RULE_SETUP 05362 #line 226 "src/cfgparse.l" 05363 { yy_push_state(WANT_QSTRING); return TOK_CON_ID; } 05364 YY_BREAK 05365 case 109: 05366 YY_RULE_SETUP 05367 #line 227 "src/cfgparse.l" 05368 { yy_push_state(WANT_QSTRING); return TOK_MARK; } 05369 YY_BREAK 05370 case 110: 05371 YY_RULE_SETUP 05372 #line 228 "src/cfgparse.l" 05373 { yy_push_state(WANT_QSTRING); return TOK_TITLE; } 05374 YY_BREAK 05375 case 111: 05376 /* rule 111 can match eol */ 05377 YY_RULE_SETUP 05378 #line 230 "src/cfgparse.l" 05379 { 05380 FREE(context->line_copy); 05381 context->line_number++; 05382 yy_push_state(BUFFER_LINE); 05383 } 05384 YY_BREAK 05385 case 112: 05386 YY_RULE_SETUP 05387 #line 235 "src/cfgparse.l" 05388 { yy_pop_state(); yy_push_state(WANT_STRING); } 05389 YY_BREAK 05390 case 113: 05391 YY_RULE_SETUP 05392 #line 236 "src/cfgparse.l" 05393 { yy_pop_state(); yy_push_state(WANT_STRING); } 05394 YY_BREAK 05395 case 114: 05396 YY_RULE_SETUP 05397 #line 237 "src/cfgparse.l" 05398 { /* ignore whitespace */ ; } 05399 YY_BREAK 05400 case 115: 05401 /* rule 115 can match eol */ 05402 YY_RULE_SETUP 05403 #line 238 "src/cfgparse.l" 05404 { 05405 /* if ASSIGN_COND then */ 05406 if (yy_start_stack_ptr > 0) 05407 yy_pop_state(); 05408 /* yylval will be the string, but without quotes */ 05409 char *copy = sstrdup(yytext+1); 05410 copy[strlen(copy)-1] = '\0'; 05411 yylval.string = copy; 05412 return QUOTEDSTRING; 05413 } 05414 YY_BREAK 05415 case 116: 05416 /* rule 116 can match eol */ 05417 YY_RULE_SETUP 05418 #line 248 "src/cfgparse.l" 05419 { BEGIN(ASSIGN_TARGET_COND); yylval.string = sstrdup(yytext); return STR_NG; } 05420 YY_BREAK 05421 case 117: 05422 YY_RULE_SETUP 05423 #line 249 "src/cfgparse.l" 05424 { yylval.string = sstrdup(yytext); return WORD; } 05425 YY_BREAK 05426 case 118: 05427 YY_RULE_SETUP 05428 #line 250 "src/cfgparse.l" 05429 { yylval.string = sstrdup(yytext); return WORD; } 05430 YY_BREAK 05431 case 119: 05432 YY_RULE_SETUP 05433 #line 251 "src/cfgparse.l" 05434 { return (int)yytext[0]; } 05435 YY_BREAK 05436 case YY_STATE_EOF(INITIAL): 05437 case YY_STATE_EOF(WANT_STRING): 05438 case YY_STATE_EOF(WANT_QSTRING): 05439 case YY_STATE_EOF(BINDSYM_COND): 05440 case YY_STATE_EOF(ASSIGN_COND): 05441 case YY_STATE_EOF(ASSIGN_TARGET_COND): 05442 case YY_STATE_EOF(COLOR_COND): 05443 case YY_STATE_EOF(OUTPUT_COND): 05444 case YY_STATE_EOF(FOR_WINDOW_COND): 05445 case YY_STATE_EOF(EAT_WHITESPACE): 05446 case YY_STATE_EOF(BUFFER_LINE): 05447 case YY_STATE_EOF(BAR): 05448 case YY_STATE_EOF(BAR_MODE): 05449 case YY_STATE_EOF(BAR_POSITION): 05450 case YY_STATE_EOF(BAR_COLORS): 05451 case YY_STATE_EOF(BAR_COLOR): 05452 case YY_STATE_EOF(EXEC): 05453 #line 253 "src/cfgparse.l" 05454 { 05455 while (yy_start_stack_ptr > 0) 05456 yy_pop_state(); 05457 yyterminate(); 05458 } 05459 YY_BREAK 05460 case 120: 05461 YY_RULE_SETUP 05462 #line 259 "src/cfgparse.l" 05463 ECHO; 05464 YY_BREAK 05465 #line 5466 "src/cfgparse.yy.c" 05466 05467 case YY_END_OF_BUFFER: 05468 { 05469 /* Amount of text matched not including the EOB char. */ 05470 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 05471 05472 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 05473 *yy_cp = (yy_hold_char); 05474 YY_RESTORE_YY_MORE_OFFSET 05475 05476 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 05477 { 05478 /* We're scanning a new file or input source. It's 05479 * possible that this happened because the user 05480 * just pointed yyin at a new source and called 05481 * yylex(). If so, then we have to assure 05482 * consistency between YY_CURRENT_BUFFER and our 05483 * globals. Here is the right place to do so, because 05484 * this is the first action (other than possibly a 05485 * back-up) that will match for the new input source. 05486 */ 05487 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 05488 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 05489 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 05490 } 05491 05492 /* Note that here we test for yy_c_buf_p "<=" to the position 05493 * of the first EOB in the buffer, since yy_c_buf_p will 05494 * already have been incremented past the NUL character 05495 * (since all states make transitions on EOB to the 05496 * end-of-buffer state). Contrast this with the test 05497 * in input(). 05498 */ 05499 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 05500 { /* This was really a NUL. */ 05501 yy_state_type yy_next_state; 05502 05503 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 05504 05505 yy_current_state = yy_get_previous_state( ); 05506 05507 /* Okay, we're now positioned to make the NUL 05508 * transition. We couldn't have 05509 * yy_get_previous_state() go ahead and do it 05510 * for us because it doesn't know how to deal 05511 * with the possibility of jamming (and we don't 05512 * want to build jamming into it because then it 05513 * will run more slowly). 05514 */ 05515 05516 yy_next_state = yy_try_NUL_trans( yy_current_state ); 05517 05518 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 05519 05520 if ( yy_next_state ) 05521 { 05522 /* Consume the NUL. */ 05523 yy_cp = ++(yy_c_buf_p); 05524 yy_current_state = yy_next_state; 05525 goto yy_match; 05526 } 05527 05528 else 05529 { 05530 yy_cp = (yy_c_buf_p); 05531 goto yy_find_action; 05532 } 05533 } 05534 05535 else switch ( yy_get_next_buffer( ) ) 05536 { 05537 case EOB_ACT_END_OF_FILE: 05538 { 05539 (yy_did_buffer_switch_on_eof) = 0; 05540 05541 if ( yywrap( ) ) 05542 { 05543 /* Note: because we've taken care in 05544 * yy_get_next_buffer() to have set up 05545 * yytext, we can now set up 05546 * yy_c_buf_p so that if some total 05547 * hoser (like flex itself) wants to 05548 * call the scanner after we return the 05549 * YY_NULL, it'll still work - another 05550 * YY_NULL will get returned. 05551 */ 05552 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 05553 05554 yy_act = YY_STATE_EOF(YY_START); 05555 goto do_action; 05556 } 05557 05558 else 05559 { 05560 if ( ! (yy_did_buffer_switch_on_eof) ) 05561 YY_NEW_FILE; 05562 } 05563 break; 05564 } 05565 05566 case EOB_ACT_CONTINUE_SCAN: 05567 (yy_c_buf_p) = 05568 (yytext_ptr) + yy_amount_of_matched_text; 05569 05570 yy_current_state = yy_get_previous_state( ); 05571 05572 yy_cp = (yy_c_buf_p); 05573 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 05574 goto yy_match; 05575 05576 case EOB_ACT_LAST_MATCH: 05577 (yy_c_buf_p) = 05578 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 05579 05580 yy_current_state = yy_get_previous_state( ); 05581 05582 yy_cp = (yy_c_buf_p); 05583 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 05584 goto yy_find_action; 05585 } 05586 break; 05587 } 05588 05589 default: 05590 YY_FATAL_ERROR( 05591 "fatal flex scanner internal error--no action found" ); 05592 } /* end of action switch */ 05593 } /* end of scanning one token */ 05594 } /* end of yylex */ 05595 05596 /* yy_get_next_buffer - try to read in a new buffer 05597 * 05598 * Returns a code representing an action: 05599 * EOB_ACT_LAST_MATCH - 05600 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 05601 * EOB_ACT_END_OF_FILE - end of file 05602 */ 05603 static int yy_get_next_buffer (void) 05604 { 05605 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 05606 register char *source = (yytext_ptr); 05607 register int number_to_move, i; 05608 int ret_val; 05609 05610 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 05611 YY_FATAL_ERROR( 05612 "fatal flex scanner internal error--end of buffer missed" ); 05613 05614 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 05615 { /* Don't try to fill the buffer, so this is an EOF. */ 05616 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 05617 { 05618 /* We matched a single character, the EOB, so 05619 * treat this as a final EOF. 05620 */ 05621 return EOB_ACT_END_OF_FILE; 05622 } 05623 05624 else 05625 { 05626 /* We matched some text prior to the EOB, first 05627 * process it. 05628 */ 05629 return EOB_ACT_LAST_MATCH; 05630 } 05631 } 05632 05633 /* Try to read more data. */ 05634 05635 /* First move last chars to start of buffer. */ 05636 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; 05637 05638 for ( i = 0; i < number_to_move; ++i ) 05639 *(dest++) = *(source++); 05640 05641 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 05642 /* don't do the read, it's not guaranteed to return an EOF, 05643 * just force an EOF 05644 */ 05645 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 05646 05647 else 05648 { 05649 int num_to_read = 05650 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 05651 05652 while ( num_to_read <= 0 ) 05653 { /* Not enough room in the buffer - grow it. */ 05654 05655 YY_FATAL_ERROR( 05656 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); 05657 05658 } 05659 05660 if ( num_to_read > YY_READ_BUF_SIZE ) 05661 num_to_read = YY_READ_BUF_SIZE; 05662 05663 /* Read in more data. */ 05664 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 05665 (yy_n_chars), (size_t) num_to_read ); 05666 05667 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 05668 } 05669 05670 if ( (yy_n_chars) == 0 ) 05671 { 05672 if ( number_to_move == YY_MORE_ADJ ) 05673 { 05674 ret_val = EOB_ACT_END_OF_FILE; 05675 yyrestart(yyin ); 05676 } 05677 05678 else 05679 { 05680 ret_val = EOB_ACT_LAST_MATCH; 05681 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 05682 YY_BUFFER_EOF_PENDING; 05683 } 05684 } 05685 05686 else 05687 ret_val = EOB_ACT_CONTINUE_SCAN; 05688 05689 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 05690 /* Extend the array by 50%, plus the number we really need. */ 05691 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 05692 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); 05693 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 05694 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 05695 } 05696 05697 (yy_n_chars) += number_to_move; 05698 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 05699 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 05700 05701 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 05702 05703 return ret_val; 05704 } 05705 05706 /* yy_get_previous_state - get the state just before the EOB char was reached */ 05707 05708 static yy_state_type yy_get_previous_state (void) 05709 { 05710 register yy_state_type yy_current_state; 05711 register char *yy_cp; 05712 05713 yy_current_state = (yy_start); 05714 yy_current_state += YY_AT_BOL(); 05715 05716 (yy_state_ptr) = (yy_state_buf); 05717 *(yy_state_ptr)++ = yy_current_state; 05718 05719 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 05720 { 05721 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 05722 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 05723 { 05724 yy_current_state = (int) yy_def[yy_current_state]; 05725 if ( yy_current_state >= 2889 ) 05726 yy_c = yy_meta[(unsigned int) yy_c]; 05727 } 05728 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 05729 *(yy_state_ptr)++ = yy_current_state; 05730 } 05731 05732 return yy_current_state; 05733 } 05734 05735 /* yy_try_NUL_trans - try to make a transition on the NUL character 05736 * 05737 * synopsis 05738 * next_state = yy_try_NUL_trans( current_state ); 05739 */ 05740 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 05741 { 05742 register int yy_is_jam; 05743 05744 register YY_CHAR yy_c = 1; 05745 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 05746 { 05747 yy_current_state = (int) yy_def[yy_current_state]; 05748 if ( yy_current_state >= 2889 ) 05749 yy_c = yy_meta[(unsigned int) yy_c]; 05750 } 05751 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 05752 yy_is_jam = (yy_current_state == 2888); 05753 if ( ! yy_is_jam ) 05754 *(yy_state_ptr)++ = yy_current_state; 05755 05756 return yy_is_jam ? 0 : yy_current_state; 05757 } 05758 05759 #ifndef YY_NO_INPUT 05760 #ifdef __cplusplus 05761 static int yyinput (void) 05762 #else 05763 static int input (void) 05764 #endif 05765 05766 { 05767 int c; 05768 05769 *(yy_c_buf_p) = (yy_hold_char); 05770 05771 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 05772 { 05773 /* yy_c_buf_p now points to the character we want to return. 05774 * If this occurs *before* the EOB characters, then it's a 05775 * valid NUL; if not, then we've hit the end of the buffer. 05776 */ 05777 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 05778 /* This was really a NUL. */ 05779 *(yy_c_buf_p) = '\0'; 05780 05781 else 05782 { /* need more input */ 05783 int offset = (yy_c_buf_p) - (yytext_ptr); 05784 ++(yy_c_buf_p); 05785 05786 switch ( yy_get_next_buffer( ) ) 05787 { 05788 case EOB_ACT_LAST_MATCH: 05789 /* This happens because yy_g_n_b() 05790 * sees that we've accumulated a 05791 * token and flags that we need to 05792 * try matching the token before 05793 * proceeding. But for input(), 05794 * there's no matching to consider. 05795 * So convert the EOB_ACT_LAST_MATCH 05796 * to EOB_ACT_END_OF_FILE. 05797 */ 05798 05799 /* Reset buffer status. */ 05800 yyrestart(yyin ); 05801 05802 /*FALLTHROUGH*/ 05803 05804 case EOB_ACT_END_OF_FILE: 05805 { 05806 if ( yywrap( ) ) 05807 return EOF; 05808 05809 if ( ! (yy_did_buffer_switch_on_eof) ) 05810 YY_NEW_FILE; 05811 #ifdef __cplusplus 05812 return yyinput(); 05813 #else 05814 return input(); 05815 #endif 05816 } 05817 05818 case EOB_ACT_CONTINUE_SCAN: 05819 (yy_c_buf_p) = (yytext_ptr) + offset; 05820 break; 05821 } 05822 } 05823 } 05824 05825 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 05826 *(yy_c_buf_p) = '\0'; /* preserve yytext */ 05827 (yy_hold_char) = *++(yy_c_buf_p); 05828 05829 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); 05830 05831 return c; 05832 } 05833 #endif /* ifndef YY_NO_INPUT */ 05834 05840 void yyrestart (FILE * input_file ) 05841 { 05842 05843 if ( ! YY_CURRENT_BUFFER ){ 05844 yyensure_buffer_stack (); 05845 YY_CURRENT_BUFFER_LVALUE = 05846 yy_create_buffer(yyin,YY_BUF_SIZE ); 05847 } 05848 05849 yy_init_buffer(YY_CURRENT_BUFFER,input_file ); 05850 yy_load_buffer_state( ); 05851 } 05852 05857 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) 05858 { 05859 05860 /* TODO. We should be able to replace this entire function body 05861 * with 05862 * yypop_buffer_state(); 05863 * yypush_buffer_state(new_buffer); 05864 */ 05865 yyensure_buffer_stack (); 05866 if ( YY_CURRENT_BUFFER == new_buffer ) 05867 return; 05868 05869 if ( YY_CURRENT_BUFFER ) 05870 { 05871 /* Flush out information for old buffer. */ 05872 *(yy_c_buf_p) = (yy_hold_char); 05873 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 05874 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 05875 } 05876 05877 YY_CURRENT_BUFFER_LVALUE = new_buffer; 05878 yy_load_buffer_state( ); 05879 05880 /* We don't actually know whether we did this switch during 05881 * EOF (yywrap()) processing, but the only time this flag 05882 * is looked at is after yywrap() is called, so it's safe 05883 * to go ahead and always set it. 05884 */ 05885 (yy_did_buffer_switch_on_eof) = 1; 05886 } 05887 05888 static void yy_load_buffer_state (void) 05889 { 05890 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 05891 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 05892 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 05893 (yy_hold_char) = *(yy_c_buf_p); 05894 } 05895 05902 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) 05903 { 05904 YY_BUFFER_STATE b; 05905 05906 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 05907 if ( ! b ) 05908 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 05909 05910 b->yy_buf_size = size; 05911 05912 /* yy_ch_buf has to be 2 characters longer than the size given because 05913 * we need to put in 2 end-of-buffer characters. 05914 */ 05915 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); 05916 if ( ! b->yy_ch_buf ) 05917 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 05918 05919 b->yy_is_our_buffer = 1; 05920 05921 yy_init_buffer(b,file ); 05922 05923 return b; 05924 } 05925 05930 void yy_delete_buffer (YY_BUFFER_STATE b ) 05931 { 05932 05933 if ( ! b ) 05934 return; 05935 05936 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 05937 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 05938 05939 if ( b->yy_is_our_buffer ) 05940 yyfree((void *) b->yy_ch_buf ); 05941 05942 yyfree((void *) b ); 05943 } 05944 05945 #ifndef __cplusplus 05946 extern int isatty (int ); 05947 #endif /* __cplusplus */ 05948 05949 /* Initializes or reinitializes a buffer. 05950 * This function is sometimes called more than once on the same buffer, 05951 * such as during a yyrestart() or at EOF. 05952 */ 05953 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) 05954 05955 { 05956 int oerrno = errno; 05957 05958 yy_flush_buffer(b ); 05959 05960 b->yy_input_file = file; 05961 b->yy_fill_buffer = 1; 05962 05963 /* If b is the current buffer, then yy_init_buffer was _probably_ 05964 * called from yyrestart() or through yy_get_next_buffer. 05965 * In that case, we don't want to reset the lineno or column. 05966 */ 05967 if (b != YY_CURRENT_BUFFER){ 05968 b->yy_bs_lineno = 1; 05969 b->yy_bs_column = 0; 05970 } 05971 05972 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 05973 05974 errno = oerrno; 05975 } 05976 05981 void yy_flush_buffer (YY_BUFFER_STATE b ) 05982 { 05983 if ( ! b ) 05984 return; 05985 05986 b->yy_n_chars = 0; 05987 05988 /* We always need two end-of-buffer characters. The first causes 05989 * a transition to the end-of-buffer state. The second causes 05990 * a jam in that state. 05991 */ 05992 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 05993 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 05994 05995 b->yy_buf_pos = &b->yy_ch_buf[0]; 05996 05997 b->yy_at_bol = 1; 05998 b->yy_buffer_status = YY_BUFFER_NEW; 05999 06000 if ( b == YY_CURRENT_BUFFER ) 06001 yy_load_buffer_state( ); 06002 } 06003 06010 void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) 06011 { 06012 if (new_buffer == NULL) 06013 return; 06014 06015 yyensure_buffer_stack(); 06016 06017 /* This block is copied from yy_switch_to_buffer. */ 06018 if ( YY_CURRENT_BUFFER ) 06019 { 06020 /* Flush out information for old buffer. */ 06021 *(yy_c_buf_p) = (yy_hold_char); 06022 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 06023 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 06024 } 06025 06026 /* Only push if top exists. Otherwise, replace top. */ 06027 if (YY_CURRENT_BUFFER) 06028 (yy_buffer_stack_top)++; 06029 YY_CURRENT_BUFFER_LVALUE = new_buffer; 06030 06031 /* copied from yy_switch_to_buffer. */ 06032 yy_load_buffer_state( ); 06033 (yy_did_buffer_switch_on_eof) = 1; 06034 } 06035 06040 void yypop_buffer_state (void) 06041 { 06042 if (!YY_CURRENT_BUFFER) 06043 return; 06044 06045 yy_delete_buffer(YY_CURRENT_BUFFER ); 06046 YY_CURRENT_BUFFER_LVALUE = NULL; 06047 if ((yy_buffer_stack_top) > 0) 06048 --(yy_buffer_stack_top); 06049 06050 if (YY_CURRENT_BUFFER) { 06051 yy_load_buffer_state( ); 06052 (yy_did_buffer_switch_on_eof) = 1; 06053 } 06054 } 06055 06056 /* Allocates the stack if it does not exist. 06057 * Guarantees space for at least one push. 06058 */ 06059 static void yyensure_buffer_stack (void) 06060 { 06061 int num_to_alloc; 06062 06063 if (!(yy_buffer_stack)) { 06064 06065 /* First allocation is just for 2 elements, since we don't know if this 06066 * scanner will even need a stack. We use 2 instead of 1 to avoid an 06067 * immediate realloc on the next call. 06068 */ 06069 num_to_alloc = 1; 06070 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc 06071 (num_to_alloc * sizeof(struct yy_buffer_state*) 06072 ); 06073 if ( ! (yy_buffer_stack) ) 06074 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 06075 06076 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 06077 06078 (yy_buffer_stack_max) = num_to_alloc; 06079 (yy_buffer_stack_top) = 0; 06080 return; 06081 } 06082 06083 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 06084 06085 /* Increase the buffer to prepare for a possible push. */ 06086 int grow_size = 8 /* arbitrary grow size */; 06087 06088 num_to_alloc = (yy_buffer_stack_max) + grow_size; 06089 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc 06090 ((yy_buffer_stack), 06091 num_to_alloc * sizeof(struct yy_buffer_state*) 06092 ); 06093 if ( ! (yy_buffer_stack) ) 06094 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 06095 06096 /* zero only the new slots.*/ 06097 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 06098 (yy_buffer_stack_max) = num_to_alloc; 06099 } 06100 } 06101 06108 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) 06109 { 06110 YY_BUFFER_STATE b; 06111 06112 if ( size < 2 || 06113 base[size-2] != YY_END_OF_BUFFER_CHAR || 06114 base[size-1] != YY_END_OF_BUFFER_CHAR ) 06115 /* They forgot to leave room for the EOB's. */ 06116 return 0; 06117 06118 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 06119 if ( ! b ) 06120 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 06121 06122 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 06123 b->yy_buf_pos = b->yy_ch_buf = base; 06124 b->yy_is_our_buffer = 0; 06125 b->yy_input_file = 0; 06126 b->yy_n_chars = b->yy_buf_size; 06127 b->yy_is_interactive = 0; 06128 b->yy_at_bol = 1; 06129 b->yy_fill_buffer = 0; 06130 b->yy_buffer_status = YY_BUFFER_NEW; 06131 06132 yy_switch_to_buffer(b ); 06133 06134 return b; 06135 } 06136 06145 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) 06146 { 06147 06148 return yy_scan_bytes(yystr,strlen(yystr) ); 06149 } 06150 06158 YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) 06159 { 06160 YY_BUFFER_STATE b; 06161 char *buf; 06162 yy_size_t n; 06163 int i; 06164 06165 /* Get memory for full buffer, including space for trailing EOB's. */ 06166 n = _yybytes_len + 2; 06167 buf = (char *) yyalloc(n ); 06168 if ( ! buf ) 06169 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 06170 06171 for ( i = 0; i < _yybytes_len; ++i ) 06172 buf[i] = yybytes[i]; 06173 06174 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 06175 06176 b = yy_scan_buffer(buf,n ); 06177 if ( ! b ) 06178 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 06179 06180 /* It's okay to grow etc. this buffer, and we should throw it 06181 * away when we're done. 06182 */ 06183 b->yy_is_our_buffer = 1; 06184 06185 return b; 06186 } 06187 06188 static void yy_push_state (int new_state ) 06189 { 06190 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) ) 06191 { 06192 yy_size_t new_size; 06193 06194 (yy_start_stack_depth) += YY_START_STACK_INCR; 06195 new_size = (yy_start_stack_depth) * sizeof( int ); 06196 06197 if ( ! (yy_start_stack) ) 06198 (yy_start_stack) = (int *) yyalloc(new_size ); 06199 06200 else 06201 (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size ); 06202 06203 if ( ! (yy_start_stack) ) 06204 YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); 06205 } 06206 06207 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START; 06208 06209 BEGIN(new_state); 06210 } 06211 06212 static void yy_pop_state (void) 06213 { 06214 if ( --(yy_start_stack_ptr) < 0 ) 06215 YY_FATAL_ERROR( "start-condition stack underflow" ); 06216 06217 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]); 06218 } 06219 06220 #ifndef YY_EXIT_FAILURE 06221 #define YY_EXIT_FAILURE 2 06222 #endif 06223 06224 static void yy_fatal_error (yyconst char* msg ) 06225 { 06226 (void) fprintf( stderr, "%s\n", msg ); 06227 exit( YY_EXIT_FAILURE ); 06228 } 06229 06230 /* Redefine yyless() so it works in section 3 code. */ 06231 06232 #undef yyless 06233 #define yyless(n) \ 06234 do \ 06235 { \ 06236 /* Undo effects of setting up yytext. */ \ 06237 int yyless_macro_arg = (n); \ 06238 YY_LESS_LINENO(yyless_macro_arg);\ 06239 yytext[yyleng] = (yy_hold_char); \ 06240 (yy_c_buf_p) = yytext + yyless_macro_arg; \ 06241 (yy_hold_char) = *(yy_c_buf_p); \ 06242 *(yy_c_buf_p) = '\0'; \ 06243 yyleng = yyless_macro_arg; \ 06244 } \ 06245 while ( 0 ) 06246 06247 /* Accessor methods (get/set functions) to struct members. */ 06248 06252 int yyget_lineno (void) 06253 { 06254 06255 return yylineno; 06256 } 06257 06261 FILE *yyget_in (void) 06262 { 06263 return yyin; 06264 } 06265 06269 FILE *yyget_out (void) 06270 { 06271 return yyout; 06272 } 06273 06277 int yyget_leng (void) 06278 { 06279 return yyleng; 06280 } 06281 06286 char *yyget_text (void) 06287 { 06288 return yytext; 06289 } 06290 06295 void yyset_lineno (int line_number ) 06296 { 06297 06298 yylineno = line_number; 06299 } 06300 06307 void yyset_in (FILE * in_str ) 06308 { 06309 yyin = in_str ; 06310 } 06311 06312 void yyset_out (FILE * out_str ) 06313 { 06314 yyout = out_str ; 06315 } 06316 06317 int yyget_debug (void) 06318 { 06319 return yy_flex_debug; 06320 } 06321 06322 void yyset_debug (int bdebug ) 06323 { 06324 yy_flex_debug = bdebug ; 06325 } 06326 06327 static int yy_init_globals (void) 06328 { 06329 /* Initialization is the same as for the non-reentrant scanner. 06330 * This function is called from yylex_destroy(), so don't allocate here. 06331 */ 06332 06333 (yy_buffer_stack) = 0; 06334 (yy_buffer_stack_top) = 0; 06335 (yy_buffer_stack_max) = 0; 06336 (yy_c_buf_p) = (char *) 0; 06337 (yy_init) = 0; 06338 (yy_start) = 0; 06339 06340 (yy_start_stack_ptr) = 0; 06341 (yy_start_stack_depth) = 0; 06342 (yy_start_stack) = NULL; 06343 06344 (yy_state_buf) = 0; 06345 (yy_state_ptr) = 0; 06346 (yy_full_match) = 0; 06347 (yy_lp) = 0; 06348 06349 /* Defined in main.c */ 06350 #ifdef YY_STDINIT 06351 yyin = stdin; 06352 yyout = stdout; 06353 #else 06354 yyin = (FILE *) 0; 06355 yyout = (FILE *) 0; 06356 #endif 06357 06358 /* For future reference: Set errno on error, since we are called by 06359 * yylex_init() 06360 */ 06361 return 0; 06362 } 06363 06364 /* yylex_destroy is for both reentrant and non-reentrant scanners. */ 06365 int yylex_destroy (void) 06366 { 06367 06368 /* Pop the buffer stack, destroying each element. */ 06369 while(YY_CURRENT_BUFFER){ 06370 yy_delete_buffer(YY_CURRENT_BUFFER ); 06371 YY_CURRENT_BUFFER_LVALUE = NULL; 06372 yypop_buffer_state(); 06373 } 06374 06375 /* Destroy the stack itself. */ 06376 yyfree((yy_buffer_stack) ); 06377 (yy_buffer_stack) = NULL; 06378 06379 /* Destroy the start condition stack. */ 06380 yyfree((yy_start_stack) ); 06381 (yy_start_stack) = NULL; 06382 06383 yyfree ( (yy_state_buf) ); 06384 (yy_state_buf) = NULL; 06385 06386 /* Reset the globals. This is important in a non-reentrant scanner so the next time 06387 * yylex() is called, initialization will occur. */ 06388 yy_init_globals( ); 06389 06390 return 0; 06391 } 06392 06393 /* 06394 * Internal utility routines. 06395 */ 06396 06397 #ifndef yytext_ptr 06398 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) 06399 { 06400 register int i; 06401 for ( i = 0; i < n; ++i ) 06402 s1[i] = s2[i]; 06403 } 06404 #endif 06405 06406 #ifdef YY_NEED_STRLEN 06407 static int yy_flex_strlen (yyconst char * s ) 06408 { 06409 register int n; 06410 for ( n = 0; s[n]; ++n ) 06411 ; 06412 06413 return n; 06414 } 06415 #endif 06416 06417 void *yyalloc (yy_size_t size ) 06418 { 06419 return (void *) malloc( size ); 06420 } 06421 06422 void *yyrealloc (void * ptr, yy_size_t size ) 06423 { 06424 /* The cast to (char *) in the following accommodates both 06425 * implementations that use char* generic pointers, and those 06426 * that use void* generic pointers. It works with the latter 06427 * because both ANSI C and C++ allow castless assignment from 06428 * any pointer type to void*, and deal with argument conversions 06429 * as though doing an assignment. 06430 */ 06431 return (void *) realloc( (char *) ptr, size ); 06432 } 06433 06434 void yyfree (void * ptr ) 06435 { 06436 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ 06437 } 06438 06439 #define YYTABLES_NAME "yytables" 06440 06441 #line 259 "src/cfgparse.l" 06442 06443 06444