diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2021-01-26 15:51:22 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2021-01-26 15:51:22 +0000 |
commit | acce29d3e08a763f17aee28dda0b79130a312845 (patch) | |
tree | 25d6c4cb4c67dd99e1e32b115737b78d95c50ac8 | |
parent | 6abf890c18f81cf93d9a3c83ac4531408d667a07 (diff) |
Update lexer and parser
-rw-r--r-- | src/conf_lexer.c | 3351 | ||||
-rw-r--r-- | src/conf_parser.c | 4927 | ||||
-rw-r--r-- | src/conf_parser.h | 856 |
3 files changed, 4733 insertions, 4401 deletions
diff --git a/src/conf_lexer.c b/src/conf_lexer.c index f53c524..bba4e1e 100644 --- a/src/conf_lexer.c +++ b/src/conf_lexer.c @@ -7,8 +7,8 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 39 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 4 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -83,65 +83,61 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif +#ifndef SIZE_MAX +#define SIZE_MAX (~(size_t)0) +#endif + #endif /* ! C99 */ #endif /* ! FLEXINT_H */ -#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ +/* begin standard C++ headers. */ -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST +/* TODO: this is always defined, so inline it */ #define yyconst const + +#if defined(__GNUC__) && __GNUC__ >= 3 +#define yynoreturn __attribute__((__noreturn__)) #else -#define yyconst +#define yynoreturn #endif /* Returned upon end-of-file. */ #define YY_NULL 0 -/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. +/* Promotes a possibly negative, possibly signed char to an + * integer in range [0..255] for use as an array index. */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) +#define YY_SC_TO_UI(c) ((YY_CHAR) (c)) /* Enter a start condition. This macro really ought to take a parameter, * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ #define BEGIN (yy_start) = 1 + 2 * - /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START (((yy_start) - 1) / 2) #define YYSTATE YY_START - /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) - /* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE yyrestart(yyin ) - +#define YY_NEW_FILE yyrestart( yyin ) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -158,14 +154,14 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE; typedef size_t yy_size_t; #endif -extern yy_size_t yyleng; +extern int yyleng; extern FILE *yyin, *yyout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 - + #define YY_LESS_LINENO(n) #define YY_LINENO_REWIND_TO(ptr) @@ -182,7 +178,6 @@ extern FILE *yyin, *yyout; YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) - #define unput(c) yyunput( c, (yytext_ptr) ) #ifndef YY_STRUCT_YY_BUFFER_STATE @@ -197,12 +192,12 @@ struct yy_buffer_state /* Size of input buffer in bytes, not including room for EOB * characters. */ - yy_size_t yy_buf_size; + int yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -225,7 +220,7 @@ struct yy_buffer_state int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ - + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -253,7 +248,7 @@ struct yy_buffer_state /* Stack of input buffers. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ -static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ +static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general @@ -264,7 +259,6 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ : NULL) - /* Same as previous macro, but useful when we know that the buffer stack is not * NULL or when we need an lvalue. For internal use only. */ @@ -272,11 +266,11 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; -static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ -yy_size_t yyleng; +static int yy_n_chars; /* number of characters read into yy_ch_buf */ +int yyleng; /* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; +static char *yy_c_buf_p = NULL; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ @@ -285,74 +279,71 @@ static int yy_start = 0; /* start state number */ */ static int yy_did_buffer_switch_on_eof; -void yyrestart (FILE *input_file ); -void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); -YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); -void yy_delete_buffer (YY_BUFFER_STATE b ); -void yy_flush_buffer (YY_BUFFER_STATE b ); -void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); -void yypop_buffer_state (void ); +void yyrestart ( FILE *input_file ); +void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size ); +void yy_delete_buffer ( YY_BUFFER_STATE b ); +void yy_flush_buffer ( YY_BUFFER_STATE b ); +void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); +void yypop_buffer_state ( void ); -static void yyensure_buffer_stack (void ); -static void yy_load_buffer_state (void ); -static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); +static void yyensure_buffer_stack ( void ); +static void yy_load_buffer_state ( void ); +static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); +#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) -#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) +YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); +YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); +YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len ); -YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); -YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); - -void *yyalloc (yy_size_t ); -void *yyrealloc (void *,yy_size_t ); -void yyfree (void * ); +void *yyalloc ( yy_size_t ); +void *yyrealloc ( void *, yy_size_t ); +void yyfree ( void * ); #define yy_new_buffer yy_create_buffer - #define yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer(yyin,YY_BUF_SIZE ); \ + yy_create_buffer( yyin, YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } - #define yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer(yyin,YY_BUF_SIZE ); \ + yy_create_buffer( yyin, YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } - #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) /* Begin user sect3 */ -#define yywrap() 1 +#define yywrap() (/*CONSTCOND*/1) #define YY_SKIP_YYWRAP +typedef flex_uint8_t YY_CHAR; -typedef unsigned char YY_CHAR; - -FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; +FILE *yyin = NULL, *yyout = NULL; typedef int yy_state_type; extern int yylineno; - int yylineno = 1; extern char *yytext; +#ifdef yytext_ptr +#undef yytext_ptr +#endif #define yytext_ptr yytext -static yy_state_type yy_get_previous_state (void ); -static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); -static int yy_get_next_buffer (void ); -static void yy_fatal_error (yyconst char msg[] ); +static yy_state_type yy_get_previous_state ( void ); +static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); +static int yy_get_next_buffer ( void ); +static void yynoreturn yy_fatal_error ( const char* msg ); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. @@ -360,13 +351,12 @@ static void yy_fatal_error (yyconst char msg[] ); #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ (yytext_ptr) -= (yy_more_len); \ - yyleng = (size_t) (yy_cp - (yytext_ptr)); \ + yyleng = (int) (yy_cp - (yytext_ptr)); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; - -#define YY_NUM_RULES 253 -#define YY_END_OF_BUFFER 254 +#define YY_NUM_RULES 263 +#define YY_END_OF_BUFFER 264 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -374,190 +364,195 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1629] = +static const flex_int16_t yy_accept[1681] = { 0, - 4, 4, 254, 252, 4, 3, 252, 5, 252, 252, - 6, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 4, 3, 0, 7, - 5, 251, 0, 2, 5, 6, 0, 0, 0, 0, + 4, 4, 264, 262, 4, 3, 262, 5, 262, 262, + 6, 262, 262, 262, 262, 262, 262, 262, 262, 262, + 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, + 262, 262, 262, 262, 262, 262, 4, 3, 0, 7, + 5, 261, 0, 2, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 81, 0, 245, 0, 0, 0, 0, 0, - 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 84, 0, 255, 0, 0, 0, 0, 0, + 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, - 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 232, 0, 0, 0, 0, 0, 37, 0, 0, + 0, 0, 0, 242, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, + 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 157, 0, 0, 0, 0, 0, 0, 173, - 0, 0, 176, 0, 0, 0, 0, 182, 0, 184, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 223, 0, 0, 0, 0, 0, 15, 0, - 17, 240, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 231, 30, 0, 0, 35, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, - - 0, 54, 0, 0, 0, 0, 0, 0, 0, 75, - 234, 0, 0, 0, 82, 83, 0, 0, 86, 0, - 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, - 0, 0, 0, 0, 120, 121, 0, 0, 0, 127, - 0, 0, 0, 0, 0, 0, 135, 0, 0, 146, - 0, 149, 0, 0, 0, 0, 0, 0, 0, 0, - 161, 0, 0, 0, 0, 0, 0, 177, 0, 0, + 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, + 0, 0, 0, 180, 0, 0, 183, 0, 0, 0, + 0, 189, 0, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 205, 0, 0, 0, 0, 0, 0, 0, 215, - 0, 0, 0, 0, 0, 230, 0, 226, 0, 0, - - 9, 0, 0, 0, 239, 0, 0, 21, 0, 0, - 25, 0, 0, 0, 31, 0, 0, 0, 41, 0, - 0, 44, 0, 0, 0, 0, 0, 0, 52, 0, - 55, 0, 57, 0, 0, 0, 0, 0, 0, 233, - 0, 0, 0, 0, 244, 0, 0, 88, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 233, 0, 0, + 0, 0, 0, 15, 0, 17, 250, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 241, 30, 0, 0, + 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 52, 0, 0, 55, 0, 0, 0, + 0, 0, 0, 0, 77, 244, 0, 0, 0, 85, + 86, 0, 0, 89, 0, 0, 0, 0, 0, 0, + 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, + 124, 125, 0, 0, 0, 131, 0, 0, 0, 0, + 0, 0, 0, 140, 0, 0, 151, 0, 154, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, + 0, 0, 0, 0, 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 249, 0, 0, 0, 0, 0, 228, + 0, 215, 0, 0, 0, 0, 0, 0, 0, 225, + + 0, 0, 0, 0, 0, 240, 0, 236, 0, 0, + 9, 0, 0, 0, 249, 0, 0, 21, 0, 0, + 25, 0, 0, 0, 31, 0, 0, 0, 42, 0, + 0, 45, 0, 0, 0, 0, 0, 0, 53, 0, + 56, 0, 58, 0, 0, 0, 0, 0, 0, 243, + 0, 0, 0, 0, 0, 254, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, - 0, 0, 0, 0, 0, 0, 0, 166, 0, 0, - - 0, 0, 0, 0, 178, 0, 180, 183, 192, 0, - 0, 0, 0, 0, 0, 201, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, - 0, 0, 229, 222, 225, 0, 0, 0, 11, 0, + 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, + 0, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, - 0, 0, 0, 0, 243, 0, 0, 0, 0, 0, - 0, 94, 95, 98, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 248, 0, 236, 0, - 0, 118, 227, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 144, 0, 0, 0, 0, 0, 152, 0, 0, 156, - 158, 0, 0, 0, 0, 238, 0, 167, 0, 0, - 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 206, 207, 0, 0, - 0, 211, 0, 0, 0, 217, 218, 0, 221, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, - 26, 27, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, - - 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 159, 0, 0, 0, 0, 0, 0, + 0, 0, 173, 0, 0, 0, 0, 0, 0, 185, + 0, 187, 190, 199, 0, 0, 0, 0, 0, 0, + 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 226, 0, 0, 0, 239, 232, + 235, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 0, 0, 97, 98, + + 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 0, 246, 0, 0, 0, 122, + 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, + 0, 0, 0, 0, 0, 0, 158, 0, 0, 162, + 164, 0, 0, 0, 0, 248, 171, 0, 174, 0, + 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 207, 0, 0, 0, 0, 216, 217, + 0, 0, 0, 221, 0, 0, 0, 227, 228, 0, + 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 22, 0, 26, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, + 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 0, 0, 119, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 245, 0, 0, 0, 123, + 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 160, 0, 0, 0, 237, 0, 0, 0, 170, 0, + 0, 155, 0, 0, 0, 0, 0, 166, 0, 0, + 0, 247, 0, 0, 0, 177, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 218, 219, + 0, 222, 223, 0, 229, 0, 0, 0, 0, 0, + 0, 16, 19, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 208, 209, 0, 212, 213, 0, 219, 0, 0, 0, + 0, 0, 79, 0, 0, 0, 0, 0, 252, 0, + 0, 0, 0, 0, 103, 0, 0, 0, 0, 109, + 0, 0, 0, 0, 0, 0, 257, 118, 0, 0, + 0, 0, 0, 136, 0, 0, 0, 0, 135, 0, - 0, 0, 0, 16, 19, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 77, 0, 0, 0, 0, 242, 0, - 0, 0, 0, 0, 100, 0, 0, 0, 0, 106, - 0, 0, 0, 0, 0, 0, 247, 115, 0, 0, - 0, 0, 132, 0, 0, 0, 131, 0, 139, 0, - 141, 0, 0, 0, 0, 145, 0, 0, 0, 0, + 144, 0, 146, 0, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 79, 0, 0, 241, 0, 0, 92, 0, - 0, 0, 0, 0, 105, 107, 0, 0, 0, 0, - 114, 246, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 142, 0, 148, 0, 0, - 154, 155, 159, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, + 0, 0, 251, 0, 0, 95, 0, 0, 0, 0, + 0, 108, 110, 0, 0, 0, 0, 117, 256, 0, + 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 147, 0, 153, 0, 0, 160, + 161, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 210, 0, 0, 0, 1, 0, 1, 0, 0, + 0, 0, 220, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, - 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, - 0, 104, 0, 0, 0, 111, 0, 0, 0, 123, + 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, + + 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, + 0, 0, 102, 0, 0, 107, 0, 0, 0, 114, + 0, 0, 0, 127, 0, 0, 0, 137, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, + 0, 0, 0, 0, 175, 176, 0, 179, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 150, 0, 0, 0, 0, 0, 168, + 0, 0, 0, 0, 0, 0, 211, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, + 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 66, 65, 0, - 169, 0, 172, 175, 0, 0, 0, 0, 0, 0, + 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 93, 96, 0, 106, 0, 0, 0, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 143, 0, 152, 157, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 0, 0, 0, 36, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, - 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 90, 93, 0, 103, 0, 0, 0, 112, 0, + 0, 0, 0, 0, 0, 209, 0, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 138, 0, 147, 151, 162, 0, 0, 0, 0, + 0, 39, 0, 0, 0, 44, 47, 0, 0, 0, + 60, 61, 0, 0, 0, 0, 74, 0, 0, 0, + 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, + + 0, 0, 0, 0, 129, 130, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, + 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 213, 0, 0, 0, + 10, 0, 0, 0, 0, 0, 0, 33, 0, 0, + 0, 43, 0, 54, 0, 0, 0, 0, 0, 0, + 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 113, 0, 0, 128, 0, 0, 134, 0, 139, + 0, 0, 0, 0, 0, 0, 172, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, + 206, 0, 0, 214, 230, 0, 0, 0, 18, 0, + 0, 0, 0, 0, 0, 0, 59, 62, 0, 0, + 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 38, 0, 0, 0, 43, 46, 0, 0, 0, 59, - 60, 0, 0, 0, 0, 72, 0, 0, 0, 0, - 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, - 0, 0, 0, 125, 126, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 179, 181, + 0, 0, 0, 0, 0, 0, 0, 8, 13, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, + 0, 0, 73, 80, 0, 0, 88, 0, 0, 0, + 0, 0, 112, 0, 119, 0, 0, 138, 0, 0, + 0, 0, 0, 0, 194, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 0, 23, 24, + 0, 0, 0, 0, 0, 0, 0, 0, 69, 0, + 0, 87, 0, 0, 0, 0, 111, 116, 0, 0, + 133, 0, 141, 148, 0, 0, 0, 0, 0, 0, + 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 203, 0, 0, 0, 10, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, - - 0, 53, 0, 0, 0, 0, 0, 0, 73, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, - 0, 0, 124, 0, 0, 130, 0, 134, 0, 0, - 0, 0, 0, 0, 165, 171, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 199, 0, - 0, 204, 220, 0, 0, 0, 18, 0, 0, 0, - 0, 0, 0, 0, 58, 61, 0, 0, 0, 0, - 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 8, 13, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, - 71, 78, 0, 0, 85, 0, 0, 0, 0, 0, - 109, 0, 116, 0, 0, 133, 0, 0, 0, 0, - 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 23, 24, 0, 0, - 0, 0, 0, 0, 0, 0, 67, 0, 0, 84, - 0, 0, 0, 0, 108, 113, 0, 0, 129, 0, - 136, 143, 0, 0, 0, 0, 0, 0, 0, 193, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, - 190, 191, 194, 195, 196, 197, 198, 0, 0, 0, - 0, 32, 0, 0, 0, 0, 49, 0, 0, 0, - 0, 0, 101, 102, 0, 128, 0, 0, 0, 0, - 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 91, 0, 0, 0, 164, 0, 0, - 0, 0, 0, 29, 0, 0, 0, 0, 0, 70, - 80, 0, 0, 0, 163, 185, 0, 0, 0, 0, - 0, 0, 39, 0, 0, 87, 0, 140, 0, 0, - - 200, 0, 0, 0, 0, 63, 117, 0, 0, 0, - 0, 0, 40, 0, 189, 0, 0, 34, 0, 0, - 0, 0, 0, 33, 0, 14, 186, 0 + 195, 0, 197, 198, 201, 202, 203, 204, 205, 0, + 0, 0, 0, 32, 0, 0, 0, 0, 50, 0, + 0, 0, 0, 0, 104, 105, 0, 132, 0, 0, + + 0, 0, 0, 0, 212, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 94, 0, 0, 0, 170, + 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, + 0, 72, 82, 0, 0, 0, 169, 192, 0, 0, + 0, 0, 0, 0, 40, 0, 0, 90, 0, 145, + 0, 0, 208, 0, 0, 0, 0, 64, 120, 0, + 0, 0, 0, 0, 41, 0, 196, 0, 0, 35, + 0, 0, 0, 0, 0, 34, 0, 14, 193, 0 } ; -static yyconst flex_int32_t yy_ec[256] = +static const YY_CHAR yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -589,7 +584,7 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[69] = +static const YY_CHAR yy_meta[69] = { 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -600,375 +595,385 @@ static yyconst flex_int32_t yy_meta[69] = 1, 1, 1, 1, 1, 1, 1, 1 } ; -static yyconst flex_int16_t yy_base[1634] = +static const flex_int16_t yy_base[1686] = { 0, - 0, 0, 3124, 3125, 3121, 0, 66, 0, 64, 66, + 0, 0, 3228, 3229, 3225, 0, 66, 0, 64, 66, 66, 98, 43, 146, 75, 58, 85, 76, 117, 109, 51, 154, 155, 198, 240, 53, 193, 57, 191, 284, - 324, 165, 122, 219, 123, 135, 3120, 0, 86, 3125, - 0, 3125, 128, 3125, 0, 220, 145, 164, 181, 197, - 192, 205, 211, 212, 230, 218, 237, 242, 262, 234, - 247, 228, 332, 259, 245, 237, 263, 278, 282, 293, - 330, 275, 296, 290, 338, 335, 296, 333, 334, 345, - 340, 334, 335, 349, 342, 360, 377, 372, 387, 376, - 386, 372, 367, 390, 384, 407, 388, 394, 421, 400, - - 417, 392, 401, 431, 394, 391, 409, 398, 478, 439, - 442, 442, 443, 437, 443, 450, 442, 454, 470, 462, - 473, 475, 474, 3079, 483, 485, 527, 498, 490, 498, - 512, 510, 528, 520, 520, 524, 509, 3125, 526, 534, - 517, 535, 536, 3078, 539, 540, 539, 540, 545, 554, - 558, 552, 567, 556, 578, 557, 580, 3125, 584, 573, - 569, 573, 581, 574, 588, 581, 591, 587, 598, 597, - 598, 591, 592, 603, 597, 611, 617, 620, 607, 613, - 3077, 618, 627, 175, 623, 619, 629, 628, 640, 640, - 636, 628, 635, 3125, 642, 3076, 635, 655, 638, 636, - - 641, 658, 662, 671, 672, 655, 668, 666, 682, 685, - 672, 686, 674, 687, 689, 678, 682, 697, 685, 685, - 700, 709, 3125, 696, 693, 3075, 701, 717, 704, 3125, - 712, 714, 3125, 728, 723, 719, 726, 3125, 735, 723, - 726, 732, 740, 729, 747, 741, 750, 752, 737, 749, - 751, 756, 762, 757, 757, 751, 765, 766, 777, 776, - 775, 775, 3125, 783, 782, 785, 784, 3074, 3125, 798, - 3125, 784, 800, 800, 794, 795, 3073, 791, 791, 807, - 810, 3125, 3125, 810, 797, 3125, 801, 819, 818, 3072, - 809, 817, 806, 829, 824, 823, 838, 832, 3125, 830, - - 832, 3125, 834, 836, 850, 856, 845, 855, 3071, 3125, - 843, 850, 846, 846, 3125, 3125, 3070, 861, 3069, 867, - 868, 864, 3068, 858, 873, 867, 880, 912, 890, 899, - 883, 897, 895, 901, 3125, 3125, 902, 3067, 902, 3125, - 904, 902, 908, 909, 918, 924, 938, 3066, 908, 3125, - 3065, 3125, 936, 934, 940, 943, 945, 948, 948, 968, - 3064, 954, 957, 956, 972, 967, 954, 3125, 963, 975, - 973, 960, 3094, 1006, 966, 969, 977, 3094, 3061, 991, - 992, 3125, 998, 991, 1005, 1006, 1004, 1002, 1013, 3125, - 1019, 1003, 1011, 3060, 1009, 1009, 1024, 1013, 1012, 1014, - - 1026, 1034, 1026, 1028, 3125, 1028, 1035, 3125, 1052, 1061, - 3125, 1059, 1062, 3059, 3125, 1056, 1060, 1059, 3125, 1066, - 1061, 3125, 1061, 1074, 1059, 1066, 1077, 1068, 3125, 1078, - 3125, 1084, 3058, 1074, 1071, 1068, 1080, 1079, 1092, 3125, - 1093, 1092, 1090, 1094, 1098, 1115, 1094, 3057, 3056, 1109, - 3055, 1109, 1106, 1125, 1127, 1130, 1124, 1121, 1130, 1120, - 1130, 1139, 1136, 1122, 1117, 1138, 1143, 1133, 1148, 1136, - 1158, 1163, 1153, 1155, 1171, 1168, 1178, 1172, 1167, 1166, - 3054, 1186, 1173, 1167, 1187, 1202, 1179, 1183, 1183, 3125, - 1209, 1199, 1203, 1191, 1214, 1209, 1222, 3125, 1215, 1215, - - 1234, 1223, 1235, 3053, 3125, 1239, 3052, 3125, 3125, 1236, - 1234, 1238, 3051, 1224, 1242, 3125, 1236, 1232, 1241, 1242, - 1254, 1249, 1259, 1267, 1257, 1266, 1274, 1267, 3079, 1268, - 1271, 1284, 3125, 3125, 3125, 1287, 3049, 1273, 3125, 1284, - 1278, 1281, 1288, 1281, 1286, 1290, 1283, 1282, 1289, 1285, - 1294, 1308, 1302, 1305, 1307, 3048, 3125, 1329, 3047, 1319, - 1320, 1323, 1334, 3046, 1317, 3045, 1337, 3044, 1338, 1340, - 1327, 3043, 1346, 1337, 3125, 1342, 1331, 1348, 1351, 1357, - 1355, 3125, 3125, 3125, 1361, 1353, 1369, 1362, 1366, 1383, - 1381, 1384, 1376, 1372, 1376, 1373, 3125, 1376, 1380, 1388, - - 1387, 1383, 3125, 1398, 1400, 1404, 1395, 1402, 1408, 1396, - 1394, 1409, 3042, 1403, 1419, 1412, 1411, 1434, 1425, 1440, - 3125, 1424, 1428, 1435, 1426, 3041, 3125, 1432, 1444, 3125, - 1448, 1433, 1430, 1446, 1454, 1438, 1457, 1451, 1456, 1443, - 3125, 1451, 1454, 1453, 1454, 1459, 1469, 1465, 3040, 1471, - 1512, 1480, 3039, 1480, 3038, 1483, 3125, 3125, 1493, 1498, - 1484, 3125, 1502, 1504, 1502, 3125, 1491, 1496, 3125, 1507, - 1497, 1494, 1512, 1517, 1506, 1522, 1520, 1517, 3125, 1523, - 3125, 1540, 1535, 3037, 1531, 3036, 3035, 3034, 1547, 1545, - 1546, 1546, 1557, 3033, 3125, 1542, 1550, 1556, 1561, 1556, - - 3125, 1550, 1564, 1557, 1560, 1557, 1562, 1569, 1579, 1570, - 1568, 1585, 1582, 1573, 1595, 1584, 1600, 1601, 1592, 1598, - 1610, 1614, 1603, 1613, 1618, 1609, 1619, 1615, 1614, 1622, - 1621, 3125, 1623, 1606, 3125, 3125, 1626, 1615, 3032, 1628, - 1616, 3031, 3030, 1632, 1624, 1623, 1626, 1642, 1645, 1640, - 1645, 1656, 1662, 1654, 1657, 1662, 1663, 1655, 1656, 1674, - 3125, 1671, 1655, 1667, 3125, 1661, 1673, 1669, 1666, 1679, - 1674, 1678, 1676, 1674, 1687, 1700, 1694, 1695, 1691, 3029, - 3028, 3027, 3026, 3025, 3024, 1709, 1714, 3023, 1716, 3022, - 3125, 3125, 1718, 3125, 3125, 1717, 3125, 3021, 90, 1724, - - 1708, 1716, 1715, 3125, 3125, 1725, 1726, 1719, 1715, 3020, - 1730, 1725, 1761, 1728, 1723, 1738, 1734, 3125, 1728, 1742, - 1736, 1741, 1764, 1763, 1759, 1757, 1768, 1773, 1766, 1780, - 1777, 1761, 1769, 3125, 1770, 1782, 1773, 1771, 1772, 1788, - 1784, 1786, 1786, 1783, 3125, 1783, 1789, 1812, 1796, 3125, - 1807, 3019, 1816, 1817, 1824, 1820, 1812, 3125, 1823, 1819, - 1815, 1831, 3125, 1831, 1822, 1832, 3125, 1834, 3125, 1825, - 3125, 1817, 1825, 1843, 1830, 3125, 1840, 1847, 1839, 1852, - 1837, 1845, 1856, 1860, 1874, 1867, 1862, 1878, 1879, 3018, - 1883, 1867, 1883, 1869, 1881, 1886, 1878, 1888, 1894, 1891, - - 1894, 1884, 1886, 1889, 1890, 1891, 3017, 1883, 1895, 1906, - 1917, 1920, 1918, 1915, 322, 3054, 3042, 1911, 1934, 3014, - 3013, 3008, 3125, 1931, 1934, 1932, 1929, 1926, 1928, 1923, - 1944, 1941, 1943, 1948, 3125, 1937, 1947, 1933, 1946, 1957, - 1957, 1947, 3006, 1940, 1952, 1964, 1955, 1965, 3005, 1984, - 1975, 1976, 3003, 1980, 1985, 3125, 1981, 1994, 3125, 1995, - 1977, 3002, 1978, 1987, 3125, 3125, 2015, 1983, 1983, 3000, - 3125, 3125, 1992, 1986, 1984, 2004, 2011, 2999, 1999, 2002, - 1997, 2018, 2998, 2997, 2024, 2996, 2023, 3125, 2032, 2026, - 3125, 3125, 3125, 2027, 2024, 2044, 2025, 2044, 2035, 2037, - - 2047, 2049, 2037, 2048, 2052, 2042, 2041, 2060, 2048, 2049, - 2059, 2053, 2056, 2057, 2065, 2067, 2066, 2073, 2075, 2080, - 2092, 3125, 2084, 2089, 3033, 3032, 3020, 3019, 2083, 2083, - 2098, 2100, 2083, 2093, 2092, 2096, 2097, 2102, 2101, 2097, - 2109, 2108, 2117, 2103, 2117, 2109, 3125, 2121, 2117, 2128, - 2127, 2142, 2141, 2139, 2148, 3125, 2150, 2150, 2139, 2155, - 2989, 2138, 2145, 2988, 1973, 2145, 2138, 2140, 3125, 2150, - 2149, 3125, 2161, 2166, 2165, 3125, 2156, 2164, 2173, 3125, - 2165, 2162, 2176, 2176, 1474, 2179, 1473, 2178, 2178, 2182, - 2186, 2187, 2204, 3125, 2205, 2191, 2207, 1469, 2198, 3125, - - 3125, 2213, 3125, 3125, 2206, 2214, 2210, 1174, 1168, 2200, - 2221, 881, 2204, 2220, 2223, 2224, 2225, 2226, 2225, 2226, - 2238, 2225, 2236, 2244, 2244, 2231, 2244, 2248, 2239, 2263, - 872, 3125, 2246, 2251, 2258, 3125, 2260, 2264, 2256, 2259, - 2266, 2256, 870, 2266, 2270, 2277, 2263, 2275, 2266, 3125, - 867, 3125, 2270, 2270, 2294, 2293, 2286, 2293, 2305, 2293, - 2294, 861, 3125, 2312, 3125, 2317, 2305, 2307, 3125, 2316, - 2319, 2305, 2321, 2322, 2314, 2311, 2316, 2330, 2317, 2324, - 2333, 3125, 2333, 3125, 3125, 3125, 493, 2332, 2335, 2343, - 2355, 2356, 2359, 2355, 2355, 2362, 2359, 2360, 2373, 2357, - - 2358, 2359, 2360, 2361, 2368, 2364, 2366, 2384, 2367, 3125, - 2376, 2376, 2374, 2378, 2387, 2388, 2398, 2390, 2409, 2395, - 3125, 484, 2396, 2401, 3125, 3125, 2408, 2406, 2411, 3125, - 3125, 2423, 2408, 2426, 2415, 3125, 2422, 2413, 2417, 477, - 474, 2420, 2427, 2429, 3125, 2436, 2423, 2430, 2438, 2441, - 2433, 2449, 2447, 3125, 3125, 437, 2445, 2460, 2458, 2453, - 432, 2455, 2456, 2463, 2468, 2475, 2477, 2477, 3125, 3125, - 2482, 2475, 2480, 2471, 428, 2482, 2487, 425, 415, 380, - 377, 373, 2485, 2487, 290, 3125, 2492, 2490, 2480, 3125, - 2484, 2480, 2481, 2488, 288, 2502, 259, 2512, 2513, 3125, - - 2506, 3125, 2509, 2506, 247, 2514, 2517, 2517, 3125, 2515, - 2515, 2533, 2516, 2525, 2526, 2532, 239, 2534, 2523, 3125, - 2537, 2528, 3125, 2528, 2537, 3125, 2548, 3125, 2550, 2550, - 2533, 2542, 2554, 2544, 3125, 3125, 2552, 2556, 2557, 2564, - 2577, 2564, 2575, 2573, 2574, 2575, 2576, 2577, 3125, 235, - 2587, 3125, 3125, 2590, 2591, 229, 3125, 2575, 2595, 2585, - 2582, 2598, 195, 2587, 3125, 191, 2604, 2595, 159, 2593, - 3125, 2594, 2608, 2612, 2624, 2626, 2631, 2622, 2633, 2633, - 2622, 2640, 2629, 2637, 2629, 2647, 2644, 3125, 2639, 2627, - 153, 2649, 2635, 2649, 124, 2651, 2653, 2657, 2649, 2652, - - 2653, 2663, 2666, 2669, 2673, 3125, 3125, 2673, 310, 2683, - 2671, 2690, 2677, 2696, 2695, 2690, 3125, 2679, 2695, 2687, - 3125, 3125, 2689, 2685, 3125, 117, 2692, 2692, 2690, 2692, - 3125, 2706, 114, 2703, 2696, 3125, 2705, 2701, 2716, 109, - 2725, 107, 3125, 2719, 2719, 2727, 2725, 2741, 2734, 2737, - 2738, 2739, 2740, 2738, 2739, 2750, 3125, 3125, 2755, 2743, - 2741, 2755, 2748, 2748, 2762, 2750, 3125, 2753, 2756, 3125, - 2759, 2760, 2770, 2780, 3125, 3125, 2769, 2782, 3125, 2781, - 3125, 3125, 2788, 2790, 2794, 2799, 2799, 2800, 2802, 3125, - 2782, 2783, 2784, 2785, 2786, 2793, 2799, 2797, 2803, 2799, - - 2800, 2805, 2810, 2812, 2823, 2828, 2834, 2837, 2836, 2842, - 2830, 2835, 2845, 2837, 2853, 2850, 2848, 2852, 3125, 2845, - 3125, 3125, 3125, 3125, 3125, 3125, 3125, 2854, 2860, 2846, - 2860, 3125, 2863, 100, 2865, 2858, 3125, 2853, 2858, 2874, - 2865, 2867, 3125, 3125, 2869, 3125, 2865, 2881, 2891, 2887, - 2881, 2904, 3125, 2907, 2906, 2894, 2910, 2902, 2914, 2907, - 2898, 2898, 2910, 3125, 2905, 2913, 2919, 3125, 2920, 2920, - 2921, 2926, 2925, 3125, 95, 2918, 2917, 2923, 2932, 3125, - 3125, 2930, 2941, 2951, 3125, 3125, 2951, 2943, 2943, 2960, - 2963, 2946, 3125, 2964, 2955, 3125, 2965, 3125, 2953, 2967, - - 3125, 93, 2958, 2961, 2957, 3125, 3125, 2962, 2975, 2961, - 2963, 2965, 3125, 2968, 3125, 2978, 2976, 3125, 2982, 2988, - 2984, 2993, 3004, 3125, 2990, 3125, 3125, 3125, 105, 3052, - 97, 84, 81 + 324, 233, 122, 200, 123, 135, 3224, 0, 86, 3229, + 0, 3229, 128, 3229, 0, 220, 145, 138, 157, 167, + 189, 192, 204, 211, 230, 218, 247, 246, 262, 239, + 251, 232, 332, 259, 250, 247, 281, 286, 293, 347, + 335, 285, 297, 290, 334, 332, 291, 314, 335, 353, + 343, 336, 350, 377, 362, 376, 380, 375, 390, 378, + 393, 374, 370, 394, 388, 417, 390, 397, 406, 403, + + 420, 395, 407, 437, 427, 424, 434, 443, 431, 484, + 445, 475, 476, 448, 440, 448, 465, 434, 447, 474, + 478, 486, 480, 484, 485, 3183, 492, 494, 536, 506, + 513, 527, 527, 522, 533, 538, 537, 534, 519, 3229, + 537, 542, 530, 546, 541, 3182, 548, 549, 547, 563, + 564, 571, 574, 569, 585, 572, 593, 570, 593, 3229, + 596, 584, 580, 584, 592, 584, 598, 591, 600, 594, + 604, 603, 629, 599, 599, 611, 603, 617, 632, 635, + 622, 627, 3181, 632, 639, 175, 636, 631, 640, 639, + 651, 650, 646, 638, 644, 3229, 649, 3180, 641, 661, + + 644, 685, 648, 666, 668, 690, 689, 671, 685, 683, + 681, 699, 699, 685, 699, 686, 699, 701, 690, 689, + 694, 709, 696, 694, 713, 723, 3229, 712, 725, 3179, + 735, 740, 726, 3229, 734, 737, 3229, 751, 745, 738, + 744, 3229, 751, 739, 742, 748, 755, 743, 758, 763, + 780, 764, 766, 752, 766, 769, 789, 794, 789, 784, + 785, 794, 793, 800, 799, 798, 795, 3229, 802, 799, + 802, 801, 3178, 3229, 815, 3229, 800, 816, 816, 809, + 810, 3177, 808, 812, 830, 833, 3229, 3229, 840, 831, + 3229, 835, 853, 851, 3176, 842, 846, 835, 856, 847, + + 846, 861, 852, 3229, 849, 849, 3229, 851, 853, 867, + 874, 859, 871, 3175, 3229, 858, 865, 863, 887, 3229, + 3229, 3174, 887, 3173, 899, 904, 899, 3172, 892, 907, + 897, 909, 941, 913, 918, 902, 915, 907, 915, 922, + 3229, 3229, 917, 3171, 917, 3229, 921, 937, 942, 948, + 949, 957, 962, 977, 3170, 945, 3229, 3169, 3229, 971, + 973, 961, 964, 964, 965, 965, 965, 985, 3168, 973, + 983, 993, 990, 1017, 997, 989, 3229, 1002, 1012, 1012, + 999, 3198, 1029, 1001, 1008, 1016, 3198, 1032, 3165, 1036, + 1037, 3229, 1034, 1020, 1034, 1035, 1037, 1032, 1043, 3229, + + 1049, 1036, 1048, 3164, 1050, 1050, 1067, 1054, 1053, 1056, + 1071, 1077, 1070, 1070, 3229, 1068, 1075, 3229, 1086, 1090, + 3229, 1088, 1091, 3163, 3229, 1085, 1089, 1090, 3229, 1095, + 1090, 3229, 1090, 1104, 1090, 1101, 1113, 1108, 3229, 1118, + 3229, 1125, 3162, 1115, 1112, 1110, 1125, 1122, 1129, 3229, + 1138, 1135, 1132, 1138, 1139, 1127, 1144, 1126, 3161, 3160, + 1139, 3159, 1142, 1139, 1155, 1157, 1161, 1168, 1152, 1165, + 1156, 1172, 1187, 1176, 1163, 1159, 1185, 1188, 1179, 1194, + 1192, 1180, 1193, 1196, 1183, 1188, 1188, 1208, 1205, 1211, + 1206, 1205, 1205, 3158, 1229, 1232, 1208, 1231, 1231, 1216, + + 1224, 1229, 1230, 3229, 1240, 1241, 1249, 1237, 1255, 1246, + 1262, 1248, 3229, 1254, 1254, 1274, 1264, 1280, 3157, 3229, + 1284, 3156, 3229, 3229, 1293, 1280, 1284, 3155, 1270, 1287, + 3229, 1284, 1286, 1277, 1285, 1288, 1301, 1296, 1299, 1305, + 1296, 1306, 1314, 1307, 3183, 1308, 1312, 1328, 3229, 3229, + 3229, 1329, 3153, 1319, 3229, 1330, 1326, 1329, 1335, 1331, + 1338, 1343, 1336, 1335, 1341, 1337, 1343, 1356, 1349, 1352, + 1347, 3152, 3229, 1367, 3151, 1358, 1360, 1363, 1392, 1373, + 1361, 3150, 1381, 3149, 1383, 1388, 1370, 3148, 1390, 1383, + 1394, 3229, 1400, 1389, 1406, 1409, 1414, 1413, 3229, 3229, + + 3229, 1415, 1407, 1421, 1417, 1412, 1429, 1425, 1426, 1417, + 1421, 1427, 1426, 3229, 1427, 1431, 1439, 1438, 1438, 1440, + 3229, 1455, 1458, 1462, 1453, 1460, 1454, 1468, 1457, 1454, + 1471, 3147, 1461, 1478, 1469, 1468, 1482, 1471, 1487, 3229, + 1475, 1480, 1488, 1495, 1481, 3146, 3229, 1489, 1500, 3229, + 1504, 1492, 1489, 1505, 1514, 1498, 3229, 1517, 1517, 1514, + 1501, 3229, 1510, 1517, 1516, 1516, 1519, 1527, 1523, 3145, + 1520, 1561, 1530, 3144, 1538, 1536, 3143, 1540, 3229, 3229, + 1553, 1554, 1540, 3229, 1562, 1564, 1564, 3229, 1554, 1560, + 3229, 1574, 1564, 1563, 1581, 1587, 1575, 1586, 1582, 1577, + + 3229, 1576, 3229, 1595, 1591, 3142, 1588, 3141, 3140, 3139, + 1607, 1601, 1602, 1605, 1616, 3138, 3229, 1601, 1610, 1616, + 1621, 1619, 1618, 3229, 1612, 1626, 1619, 1624, 1619, 1623, + 1631, 1641, 1632, 1631, 1631, 1649, 1650, 1635, 1657, 1647, + 1662, 1663, 1655, 1661, 1671, 1676, 1665, 1675, 1680, 1672, + 1682, 1678, 1678, 1685, 1685, 3229, 1686, 1669, 1691, 3229, + 3229, 1692, 1679, 3137, 1692, 1681, 1684, 3136, 3135, 1704, + 1697, 1698, 1695, 1709, 1710, 1709, 1714, 1721, 1728, 1718, + 1721, 3229, 1726, 1728, 1720, 1721, 1740, 3229, 1737, 1722, + 1733, 3229, 1727, 1741, 1737, 1733, 1744, 1739, 1746, 1748, + + 1747, 1762, 1769, 1761, 1760, 1760, 3134, 3133, 3132, 3131, + 3130, 3129, 1778, 1779, 1773, 3128, 1783, 3127, 3229, 3229, + 1783, 3229, 3229, 1782, 3229, 3126, 90, 1790, 1774, 1782, + 1782, 3229, 3229, 1792, 1794, 1788, 1786, 3125, 1811, 1796, + 1827, 1798, 1792, 1808, 1812, 3229, 1813, 1833, 1825, 1820, + 1839, 1836, 1828, 1826, 1831, 1838, 1844, 1836, 1851, 1848, + 1832, 1843, 3229, 1844, 1856, 1850, 1851, 1852, 1856, 1873, + 1870, 1872, 1872, 1871, 3229, 1871, 1877, 1891, 1874, 3229, + 1883, 3124, 1891, 1892, 1896, 1892, 1882, 3229, 1894, 1900, + 1892, 1888, 1911, 3229, 1901, 1907, 1898, 1910, 3229, 1915, + + 3229, 1913, 3229, 1907, 1917, 1933, 1918, 3229, 1930, 1939, + 1931, 1942, 1928, 1927, 1936, 1938, 1952, 1945, 1936, 1953, + 1952, 3123, 1957, 1941, 1957, 1946, 1958, 1964, 1956, 1969, + 1978, 1978, 1982, 1975, 1976, 1977, 1980, 1983, 3122, 1975, + 1991, 1993, 1988, 1999, 2001, 2003, 1999, 1995, 322, 3159, + 3147, 1992, 2011, 3116, 3115, 3114, 3229, 2009, 2010, 2008, + 2008, 2006, 2007, 2009, 2007, 2032, 2032, 2036, 2043, 3229, + 2032, 2041, 2029, 2043, 2052, 2052, 2043, 3112, 2036, 2042, + 2047, 2060, 2042, 2050, 3111, 2060, 2060, 2061, 3110, 2045, + 2070, 2070, 3229, 2064, 2077, 3229, 2081, 2067, 3109, 2071, + + 2082, 3229, 3229, 2095, 2081, 2080, 3107, 3229, 3229, 2091, + 3229, 2086, 2085, 2105, 2110, 2093, 3106, 2099, 2104, 2099, + 2118, 3105, 3104, 2115, 3102, 2113, 3229, 2118, 2112, 3229, + 3229, 3229, 2112, 2109, 2128, 2109, 2131, 2126, 2131, 2143, + 2148, 2135, 2145, 2151, 2142, 2141, 2159, 2146, 2147, 2157, + 2151, 2153, 2154, 2155, 2157, 2154, 2160, 2164, 2158, 2166, + 2171, 2180, 3229, 2172, 2178, 3137, 3136, 3124, 3120, 2176, + 2179, 2196, 2201, 2184, 2194, 2194, 2199, 2200, 2212, 2206, + 2205, 2200, 2210, 2210, 2219, 2205, 2218, 2210, 3229, 2216, + 2211, 2220, 2220, 2234, 2234, 2221, 2232, 2245, 3229, 2248, + + 2250, 2242, 2258, 1779, 2241, 2250, 3229, 1528, 1522, 2252, + 2244, 2245, 3229, 2256, 2254, 3229, 2266, 2270, 2268, 3229, + 2259, 2267, 2277, 3229, 2267, 2265, 2272, 3229, 2271, 1351, + 2275, 994, 2272, 2272, 2276, 2279, 2284, 2302, 3229, 2305, + 2294, 2310, 899, 2301, 3229, 3229, 2318, 3229, 3229, 2313, + 2320, 2315, 896, 894, 2306, 2326, 890, 2309, 2324, 2326, + 2327, 2328, 2330, 2327, 2329, 2334, 3229, 2335, 2324, 2333, + 2340, 2339, 2329, 2342, 2349, 2340, 2367, 888, 3229, 2350, + 2355, 2368, 2367, 3229, 2369, 2373, 2365, 2367, 2374, 2363, + 749, 2374, 2377, 2382, 2369, 2381, 2373, 3229, 3229, 486, + + 3229, 2375, 2375, 2393, 2390, 2382, 2392, 2412, 2391, 2398, + 483, 3229, 2417, 3229, 2422, 2410, 2414, 3229, 2424, 2427, + 2413, 2431, 2430, 2422, 2418, 2424, 2437, 2422, 2430, 2439, + 3229, 2438, 3229, 3229, 3229, 439, 2437, 2434, 2440, 2451, + 2455, 2462, 2457, 2459, 2467, 2464, 2465, 2480, 2465, 2466, + 2467, 2468, 2470, 2476, 2472, 3229, 2473, 2492, 2474, 3229, + 2481, 2482, 2480, 2485, 2492, 2493, 2497, 2487, 2505, 2495, + 2499, 3229, 438, 2503, 2506, 3229, 3229, 2516, 2512, 2517, + 3229, 3229, 2531, 2517, 2535, 2524, 3229, 2531, 2523, 2527, + 435, 433, 2529, 2536, 2538, 3229, 2545, 2531, 2537, 2545, + + 2549, 2541, 2555, 2556, 3229, 3229, 424, 2545, 2559, 2559, + 2557, 423, 2562, 2561, 2571, 2574, 2581, 2585, 2586, 3229, + 3229, 2591, 2584, 2589, 2581, 383, 2592, 2596, 382, 380, + 377, 290, 288, 2594, 2596, 281, 3229, 2601, 2598, 2587, + 3229, 2591, 2588, 2589, 2594, 280, 2611, 3229, 279, 2612, + 2612, 3229, 2607, 3229, 2613, 2613, 235, 2619, 2625, 2623, + 3229, 2621, 2623, 2642, 2625, 2634, 2635, 2642, 229, 2644, + 2632, 3229, 2646, 2637, 3229, 2637, 2645, 3229, 2655, 3229, + 2657, 2658, 2641, 2648, 2663, 2644, 3229, 3229, 2651, 2657, + 2661, 2671, 2682, 2672, 2681, 2679, 2682, 2684, 2685, 2686, + + 3229, 198, 2696, 3229, 3229, 2700, 2701, 195, 3229, 2684, + 2704, 2694, 2692, 2702, 193, 2694, 3229, 191, 2712, 2703, + 159, 2699, 3229, 2703, 2708, 2711, 2725, 2730, 2738, 2727, + 2741, 2739, 2731, 2749, 2738, 2746, 2738, 2757, 2754, 3229, + 2748, 2736, 157, 2758, 2744, 2757, 153, 2758, 2760, 2765, + 2757, 2758, 2762, 2763, 2765, 2770, 2777, 3229, 3229, 2780, + 268, 2788, 2779, 2796, 2783, 2804, 2804, 2799, 3229, 2788, + 2804, 2797, 3229, 3229, 2799, 2794, 3229, 117, 2801, 2801, + 2799, 2800, 3229, 2813, 114, 2810, 2804, 3229, 2813, 2807, + 2825, 109, 2825, 107, 3229, 2818, 2820, 2831, 2832, 2846, + + 2842, 2843, 2844, 2847, 2849, 2847, 2848, 2859, 3229, 3229, + 2865, 2853, 2850, 2864, 2857, 2857, 2870, 2857, 3229, 2860, + 2864, 3229, 2867, 2866, 2879, 2880, 3229, 3229, 2868, 2883, + 3229, 2885, 3229, 3229, 2895, 2895, 2902, 2905, 2905, 2908, + 2911, 3229, 2891, 2892, 2893, 2895, 2896, 2902, 2908, 2906, + 2912, 2907, 2907, 2912, 2918, 2920, 2929, 2937, 2934, 2936, + 2937, 2946, 2937, 2940, 2953, 2943, 2959, 2958, 2957, 2961, + 3229, 2954, 3229, 3229, 3229, 3229, 3229, 3229, 3229, 2963, + 2970, 2956, 2969, 3229, 2972, 100, 2974, 2967, 3229, 2961, + 2965, 2981, 2973, 2975, 3229, 3229, 2975, 3229, 2974, 2981, + + 2990, 3004, 2979, 3002, 3229, 3008, 3007, 2999, 3018, 3011, + 3023, 3016, 3007, 3008, 3020, 3229, 3014, 3022, 3028, 3229, + 3029, 3028, 3028, 3033, 3033, 3229, 95, 3026, 3023, 3032, + 3032, 3229, 3229, 3029, 3042, 3055, 3229, 3229, 3058, 3048, + 3051, 3066, 3069, 3054, 3229, 3073, 3064, 3229, 3074, 3229, + 3062, 3077, 3229, 93, 3068, 3070, 3066, 3229, 3229, 3071, + 3084, 3069, 3070, 3072, 3229, 3076, 3229, 3086, 3082, 3229, + 3091, 3088, 3083, 3094, 3108, 3229, 3097, 3229, 3229, 3229, + 105, 3159, 97, 84, 81 } ; -static yyconst flex_int16_t yy_def[1634] = +static const flex_int16_t yy_def[1686] = { 0, - 1628, 1, 1628, 1628, 1628, 1629, 1630, 1631, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1629, 1630, 1628, - 1631, 1628, 1628, 1628, 1631, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1632, 1633, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1632, 1632, 1633, 1633, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 0, 1628, 1628, - 1628, 1628, 1628 + 1680, 1, 1680, 1680, 1680, 1681, 1682, 1683, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1681, 1682, 1680, + 1683, 1680, 1680, 1680, 1683, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1684, + 1685, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1684, 1684, 1685, 1685, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 0, + 1680, 1680, 1680, 1680, 1680 } ; -static yyconst flex_int16_t yy_nxt[3194] = +static const flex_int16_t yy_nxt[3298] = { 0, 4, 5, 6, 7, 8, 4, 9, 10, 11, 11, 11, 11, 11, 4, 4, 12, 13, 14, 15, 16, @@ -978,353 +983,364 @@ static yyconst flex_int16_t yy_nxt[3194] = 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 4, 40, 40, 42, 44, 53, 45, 46, 46, 46, 46, 46, 67, - 84, 1027, 54, 103, 1025, 68, 69, 43, 40, 40, - 62, 915, 107, 916, 63, 75, 70, 41, 64, 53, + 84, 1068, 54, 103, 1066, 68, 69, 43, 40, 40, + 62, 949, 108, 950, 63, 75, 70, 41, 64, 53, - 71, 65, 76, 917, 66, 38, 67, 84, 72, 54, - 103, 73, 68, 69, 43, 47, 48, 62, 49, 107, + 71, 65, 76, 951, 66, 38, 67, 84, 72, 54, + 103, 73, 68, 69, 43, 47, 48, 62, 49, 108, 74, 63, 75, 70, 50, 64, 51, 71, 65, 76, - 81, 66, 77, 52, 1610, 72, 1591, 82, 73, 83, - 78, 1557, 47, 48, 129, 49, 79, 74, 1485, 132, - 1483, 50, 80, 51, 133, 1477, 134, 81, 1471, 77, - 52, 55, 135, 56, 82, 1445, 83, 78, 57, 58, - 85, 129, 59, 79, 89, 60, 132, 86, 90, 80, - 87, 133, 88, 134, 91, 61, 315, 316, 55, 135, - 56, 136, 126, 127, 1441, 57, 58, 85, 128, 59, - - 1420, 89, 60, 1417, 86, 90, 108, 87, 104, 88, - 109, 91, 61, 92, 93, 137, 105, 94, 136, 126, - 127, 95, 106, 138, 110, 128, 139, 96, 46, 46, - 46, 46, 46, 108, 130, 104, 1415, 109, 131, 140, - 92, 93, 137, 105, 94, 141, 142, 145, 95, 106, - 138, 110, 146, 139, 96, 97, 143, 98, 144, 99, - 147, 130, 150, 100, 151, 131, 140, 152, 160, 101, - 1408, 161, 141, 142, 145, 102, 1404, 148, 158, 146, - 1378, 162, 97, 143, 98, 144, 99, 147, 1367, 150, - 100, 151, 159, 163, 152, 160, 101, 149, 161, 164, - - 1361, 170, 102, 111, 148, 158, 112, 113, 162, 114, - 165, 171, 166, 115, 116, 117, 172, 118, 119, 159, - 163, 1457, 1458, 915, 149, 916, 164, 167, 170, 1359, - 111, 1351, 177, 112, 113, 917, 114, 165, 171, 166, - 115, 116, 117, 172, 118, 119, 120, 153, 154, 121, - 122, 178, 155, 168, 167, 173, 123, 124, 175, 177, - 156, 181, 169, 125, 176, 157, 174, 179, 182, 180, - 183, 184, 185, 120, 153, 154, 121, 122, 178, 155, - 168, 186, 173, 123, 124, 175, 187, 156, 181, 169, - 125, 176, 157, 174, 179, 182, 180, 183, 184, 185, - - 188, 189, 190, 193, 191, 195, 197, 194, 186, 192, - 196, 198, 199, 187, 1348, 203, 204, 207, 1347, 210, - 211, 1346, 215, 216, 217, 200, 218, 188, 189, 190, - 193, 191, 195, 197, 194, 201, 192, 196, 198, 199, - 205, 202, 203, 204, 207, 208, 210, 211, 212, 215, - 216, 217, 200, 218, 226, 206, 1345, 231, 209, 227, - 235, 233, 201, 236, 213, 214, 1344, 205, 202, 1341, - 228, 232, 208, 1329, 229, 212, 230, 239, 1324, 237, - 240, 226, 206, 234, 231, 241, 227, 235, 233, 238, - 236, 213, 214, 219, 242, 220, 221, 228, 232, 243, - - 222, 229, 223, 230, 239, 224, 237, 240, 244, 245, - 234, 225, 241, 247, 248, 1312, 238, 255, 1311, 256, - 219, 242, 220, 221, 257, 1298, 243, 222, 259, 223, - 258, 260, 224, 261, 1265, 244, 245, 264, 225, 265, - 247, 248, 249, 262, 255, 250, 256, 266, 267, 268, - 271, 257, 251, 252, 272, 259, 269, 258, 260, 253, - 261, 263, 273, 270, 264, 254, 265, 275, 276, 249, - 262, 277, 250, 278, 266, 267, 268, 271, 279, 251, - 252, 272, 280, 269, 281, 282, 253, 283, 263, 273, - 270, 284, 254, 285, 275, 276, 286, 287, 277, 288, - - 278, 289, 290, 291, 292, 279, 293, 294, 295, 280, - 296, 281, 282, 297, 283, 298, 299, 302, 284, 300, - 285, 303, 304, 286, 287, 305, 288, 306, 289, 290, - 291, 292, 301, 293, 294, 295, 307, 296, 308, 309, - 297, 310, 298, 299, 302, 311, 300, 313, 303, 304, - 314, 317, 305, 318, 306, 319, 321, 322, 320, 301, - 323, 324, 325, 307, 326, 308, 309, 327, 310, 329, - 330, 333, 311, 331, 313, 334, 335, 314, 317, 332, - 318, 336, 319, 321, 322, 320, 337, 323, 324, 325, - 338, 326, 339, 340, 327, 341, 329, 330, 333, 342, - - 331, 346, 334, 335, 347, 348, 343, 349, 336, 350, - 351, 344, 352, 337, 353, 354, 345, 338, 355, 339, - 340, 356, 341, 357, 358, 359, 342, 360, 346, 361, - 363, 347, 348, 343, 349, 364, 350, 351, 344, 352, - 365, 353, 354, 345, 366, 355, 367, 368, 356, 369, - 357, 358, 359, 370, 360, 371, 361, 363, 372, 373, - 375, 376, 364, 377, 374, 378, 379, 365, 380, 382, - 383, 366, 384, 367, 368, 385, 369, 386, 381, 387, - 370, 388, 371, 389, 392, 372, 373, 375, 376, 390, - 377, 393, 378, 379, 394, 380, 382, 383, 391, 384, - - 395, 396, 385, 397, 386, 381, 387, 398, 388, 399, - 389, 392, 400, 401, 402, 404, 390, 405, 393, 406, - 407, 394, 408, 409, 411, 412, 413, 395, 396, 414, - 397, 415, 416, 417, 398, 418, 399, 419, 421, 400, - 401, 402, 404, 422, 405, 423, 406, 407, 424, 408, - 409, 411, 412, 413, 425, 426, 414, 427, 415, 416, - 417, 428, 418, 429, 419, 421, 430, 431, 432, 433, - 422, 434, 423, 436, 438, 424, 440, 441, 442, 443, - 445, 425, 426, 447, 427, 435, 437, 448, 428, 449, - 429, 451, 452, 430, 431, 432, 433, 453, 434, 454, - - 436, 438, 1246, 440, 441, 442, 443, 445, 1234, 464, - 447, 1227, 435, 1217, 448, 465, 449, 466, 451, 452, - 467, 469, 1198, 470, 453, 468, 454, 455, 456, 457, - 471, 473, 474, 458, 475, 459, 464, 476, 460, 477, - 461, 478, 465, 479, 466, 485, 462, 467, 469, 463, - 470, 487, 468, 480, 455, 456, 457, 471, 473, 474, - 458, 475, 459, 488, 476, 460, 477, 461, 478, 489, - 479, 481, 485, 462, 490, 482, 463, 491, 487, 483, - 480, 492, 493, 494, 496, 497, 503, 498, 504, 505, - 488, 500, 506, 507, 508, 501, 489, 499, 481, 513, - - 502, 490, 482, 514, 491, 515, 518, 519, 492, 493, - 494, 496, 497, 503, 498, 504, 505, 520, 500, 506, - 507, 508, 501, 510, 511, 521, 513, 502, 522, 523, - 514, 524, 515, 518, 519, 525, 526, 529, 527, 512, - 530, 532, 533, 534, 520, 528, 535, 536, 537, 538, - 510, 511, 521, 539, 540, 522, 523, 542, 524, 541, - 543, 544, 525, 526, 529, 527, 512, 530, 532, 533, - 534, 545, 528, 535, 536, 537, 538, 546, 547, 548, - 539, 540, 550, 551, 542, 552, 541, 543, 544, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 545, 562, - - 564, 565, 566, 567, 546, 547, 548, 568, 571, 550, - 551, 572, 552, 573, 574, 569, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 570, 562, 564, 565, 566, - 567, 575, 576, 577, 568, 571, 580, 582, 572, 583, - 573, 574, 569, 584, 585, 586, 587, 589, 590, 591, - 588, 596, 570, 592, 594, 597, 598, 599, 575, 576, - 577, 600, 601, 580, 582, 593, 583, 602, 595, 603, - 584, 585, 586, 587, 589, 590, 591, 588, 596, 604, - 592, 594, 597, 598, 599, 607, 605, 608, 600, 601, - 609, 610, 593, 606, 602, 595, 603, 611, 612, 613, - - 614, 616, 617, 618, 620, 621, 604, 625, 619, 1195, - 626, 627, 607, 605, 608, 1194, 622, 609, 610, 623, - 606, 630, 631, 632, 611, 612, 613, 614, 616, 617, - 618, 620, 621, 633, 625, 619, 624, 626, 627, 628, - 636, 634, 629, 622, 635, 637, 623, 638, 630, 631, - 632, 639, 640, 641, 643, 645, 649, 650, 652, 646, - 633, 653, 647, 624, 654, 648, 628, 636, 634, 629, - 655, 635, 637, 656, 638, 657, 658, 659, 639, 640, - 641, 643, 645, 649, 650, 652, 646, 660, 653, 647, - 661, 654, 648, 662, 663, 664, 665, 655, 667, 668, - - 656, 669, 657, 658, 659, 670, 672, 673, 674, 675, - 678, 676, 679, 680, 660, 681, 682, 661, 683, 684, - 662, 663, 664, 665, 685, 667, 668, 686, 669, 677, - 687, 688, 670, 672, 673, 674, 675, 678, 676, 679, - 680, 689, 681, 682, 691, 683, 684, 693, 694, 695, - 701, 685, 696, 697, 686, 703, 705, 687, 688, 706, - 708, 698, 710, 711, 712, 713, 699, 714, 689, 715, - 707, 691, 716, 717, 693, 694, 695, 701, 718, 696, - 697, 719, 703, 705, 720, 721, 706, 708, 698, 710, - 711, 712, 713, 699, 714, 722, 715, 707, 725, 716, - - 717, 726, 723, 727, 728, 718, 729, 730, 719, 724, - 731, 720, 721, 732, 733, 734, 735, 736, 737, 738, - 739, 740, 722, 741, 742, 725, 743, 744, 726, 723, - 727, 728, 746, 729, 730, 747, 724, 731, 748, 749, - 732, 733, 734, 735, 736, 737, 738, 739, 740, 750, - 741, 742, 751, 743, 744, 752, 753, 754, 755, 746, - 756, 758, 747, 759, 760, 748, 749, 761, 762, 763, - 764, 765, 766, 767, 768, 769, 750, 770, 771, 751, - 772, 773, 752, 753, 754, 755, 774, 756, 758, 775, - 759, 760, 776, 777, 761, 762, 763, 764, 765, 766, - - 767, 768, 769, 779, 770, 771, 786, 772, 773, 788, - 1188, 790, 791, 774, 1178, 1176, 775, 792, 793, 776, - 777, 794, 795, 796, 797, 798, 799, 800, 801, 802, - 779, 780, 803, 786, 804, 781, 788, 782, 790, 791, - 805, 783, 784, 806, 792, 793, 807, 785, 794, 795, - 796, 797, 798, 799, 800, 801, 802, 808, 780, 803, - 809, 804, 781, 810, 782, 812, 816, 805, 783, 784, - 806, 817, 818, 807, 785, 819, 820, 822, 823, 825, - 826, 827, 828, 829, 808, 830, 831, 809, 824, 832, - 810, 833, 812, 816, 834, 835, 836, 837, 817, 818, - - 838, 839, 819, 820, 822, 823, 825, 826, 827, 828, - 829, 840, 830, 831, 841, 824, 832, 842, 833, 843, - 844, 834, 835, 836, 837, 845, 846, 838, 839, 847, - 848, 849, 850, 851, 852, 853, 854, 855, 840, 856, - 857, 841, 858, 859, 842, 860, 843, 844, 861, 863, - 864, 867, 845, 846, 868, 869, 847, 848, 849, 850, - 851, 852, 853, 854, 855, 870, 856, 857, 871, 858, - 859, 872, 860, 873, 874, 861, 863, 864, 867, 875, - 876, 868, 869, 877, 878, 879, 880, 881, 882, 883, - 884, 885, 870, 886, 887, 871, 888, 889, 872, 890, - - 873, 874, 891, 892, 893, 894, 875, 876, 895, 896, - 877, 878, 879, 880, 881, 882, 883, 884, 885, 897, - 886, 887, 898, 888, 889, 899, 890, 900, 907, 891, - 892, 893, 894, 908, 910, 895, 896, 912, 913, 918, - 919, 920, 921, 922, 923, 924, 897, 925, 929, 898, - 927, 933, 899, 934, 900, 907, 935, 936, 937, 938, - 908, 910, 939, 928, 912, 913, 918, 919, 920, 921, - 922, 923, 924, 940, 925, 929, 930, 927, 933, 941, - 934, 931, 942, 935, 936, 937, 938, 943, 944, 939, - 928, 945, 946, 932, 947, 948, 949, 950, 951, 952, - - 940, 953, 954, 930, 955, 956, 941, 957, 931, 942, - 958, 959, 960, 961, 943, 944, 962, 963, 945, 946, - 932, 947, 948, 949, 950, 951, 952, 964, 953, 954, - 965, 955, 956, 966, 957, 968, 969, 958, 959, 960, - 961, 970, 971, 962, 963, 972, 973, 974, 975, 976, - 978, 979, 980, 981, 964, 982, 983, 965, 984, 977, - 966, 985, 968, 969, 986, 987, 988, 989, 970, 971, - 990, 991, 972, 973, 974, 975, 976, 978, 979, 980, - 981, 992, 982, 983, 993, 984, 977, 994, 985, 995, - 996, 986, 987, 988, 989, 997, 998, 990, 991, 999, - - 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 992, 1009, - 1010, 993, 1011, 1012, 994, 1013, 995, 996, 1014, 1015, - 1016, 1018, 997, 998, 1019, 1020, 999, 1001, 1002, 1003, - 1004, 1005, 1006, 1007, 1008, 1021, 1009, 1010, 1022, 1011, - 1012, 1023, 1013, 1024, 1029, 1014, 1015, 1016, 1018, 1030, - 1034, 1019, 1020, 1035, 1036, 1037, 1038, 1039, 1040, 1041, - 1042, 1043, 1021, 1044, 1045, 1022, 1046, 1047, 1023, 1048, - 1024, 1029, 1049, 1050, 1051, 1053, 1030, 1034, 1054, 1055, - 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1056, - 1044, 1045, 1057, 1046, 1047, 1061, 1048, 1062, 1064, 1049, - - 1050, 1051, 1053, 1059, 1065, 1054, 1055, 1060, 1066, 1067, - 1068, 1069, 1071, 1072, 1160, 1076, 1056, 1077, 1079, 1057, - 1080, 1081, 1061, 1082, 1062, 1064, 1083, 1085, 1086, 1087, - 1059, 1065, 1073, 1088, 1060, 1066, 1067, 1068, 1069, 1071, - 1072, 1074, 1076, 1091, 1077, 1079, 1093, 1080, 1081, 1075, - 1082, 1094, 1095, 1083, 1085, 1086, 1087, 1096, 1097, 1073, - 1088, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1074, 1105, - 1091, 1106, 1107, 1093, 1108, 1109, 1075, 1110, 1094, 1095, - 1111, 1112, 1113, 1114, 1096, 1097, 1115, 1116, 1098, 1099, - 1100, 1101, 1102, 1103, 1104, 1117, 1105, 1118, 1106, 1107, - - 1119, 1108, 1109, 1120, 1110, 1121, 1122, 1111, 1112, 1113, - 1114, 1123, 1124, 1115, 1116, 1125, 1126, 1127, 1128, 1129, - 1130, 1131, 1117, 1132, 1118, 1133, 1134, 1119, 1135, 1136, - 1120, 1137, 1121, 1122, 1138, 1139, 1140, 1141, 1123, 1124, - 1142, 1143, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1144, - 1132, 1145, 1133, 1134, 1146, 1135, 1136, 1147, 1137, 1148, - 1149, 1138, 1139, 1140, 1141, 1150, 1151, 1142, 1143, 1152, - 1153, 1154, 1155, 1157, 1158, 1161, 1144, 1162, 1145, 1163, - 1164, 1146, 1165, 1166, 1147, 1167, 1148, 1149, 1168, 1169, - 1170, 1171, 1150, 1151, 1172, 1173, 1152, 1153, 1154, 1155, - - 1157, 1158, 1161, 1174, 1162, 1175, 1163, 1164, 1177, 1165, - 1166, 1179, 1167, 1180, 1181, 1168, 1169, 1170, 1171, 1182, - 1183, 1172, 1173, 1184, 1185, 1186, 1187, 1189, 1190, 1191, - 1174, 1192, 1175, 1193, 1196, 1177, 1197, 1199, 1179, 1200, - 1180, 1181, 1201, 1202, 1203, 1204, 1182, 1183, 1205, 1206, - 1184, 1185, 1186, 1187, 1189, 1190, 1191, 1207, 1192, 1208, - 1193, 1196, 1209, 1197, 1199, 1210, 1200, 1211, 1212, 1201, - 1202, 1203, 1204, 1213, 1214, 1205, 1206, 1215, 1216, 1218, - 1219, 1220, 1221, 1222, 1207, 1223, 1208, 1224, 1225, 1209, - 1226, 1228, 1210, 1229, 1211, 1212, 1230, 1231, 1232, 1233, - - 1213, 1214, 1235, 1236, 1215, 1216, 1218, 1219, 1220, 1221, - 1222, 1237, 1223, 1238, 1224, 1225, 1239, 1226, 1228, 1240, - 1229, 1241, 1242, 1230, 1231, 1232, 1233, 1244, 1245, 1235, - 1236, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1243, - 1238, 1255, 1256, 1239, 1257, 1258, 1240, 1259, 1241, 1242, - 1261, 1262, 1263, 1260, 1244, 1245, 1264, 1266, 1247, 1248, - 1249, 1250, 1251, 1252, 1253, 1254, 1243, 1267, 1255, 1256, - 1268, 1257, 1258, 1269, 1259, 1270, 1271, 1261, 1262, 1263, - 1260, 1272, 1273, 1264, 1266, 1274, 1275, 1276, 1277, 1278, - 1279, 1280, 1281, 1282, 1267, 1283, 1284, 1268, 1285, 1286, - - 1269, 1287, 1270, 1271, 1288, 1289, 1290, 1291, 1272, 1273, - 1292, 1293, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, - 1282, 1294, 1283, 1284, 1295, 1285, 1286, 1296, 1287, 1297, - 1299, 1288, 1289, 1290, 1291, 1300, 1301, 1292, 1293, 1302, - 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1294, 1313, - 1314, 1295, 1315, 1316, 1296, 1317, 1297, 1299, 1318, 1319, - 1320, 1321, 1300, 1301, 1322, 1323, 1302, 1303, 1304, 1305, - 1306, 1307, 1308, 1309, 1310, 1325, 1313, 1314, 1326, 1315, - 1316, 1327, 1317, 1328, 1330, 1318, 1319, 1320, 1321, 1331, - 1332, 1322, 1323, 1333, 1334, 1335, 1336, 1337, 1338, 1339, - - 1340, 1342, 1325, 1343, 1349, 1326, 1350, 1352, 1327, 1353, - 1328, 1330, 1354, 1355, 1356, 1357, 1331, 1332, 1358, 1360, - 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1342, 1362, - 1343, 1349, 1363, 1350, 1352, 1364, 1353, 1365, 1366, 1354, - 1355, 1356, 1357, 1368, 1369, 1358, 1360, 1370, 1371, 1372, - 1373, 1374, 1375, 1376, 1377, 1379, 1362, 1380, 1381, 1363, - 1382, 1383, 1364, 1384, 1365, 1366, 1385, 1386, 1387, 1388, - 1368, 1369, 1389, 1390, 1370, 1371, 1372, 1373, 1374, 1375, - 1376, 1377, 1379, 1391, 1380, 1381, 1392, 1382, 1383, 1393, - 1384, 1394, 1395, 1385, 1386, 1387, 1388, 1396, 1397, 1389, - - 1390, 1398, 1399, 1400, 1401, 1402, 1403, 1405, 1406, 1407, - 1391, 1409, 1410, 1392, 1411, 1412, 1393, 1413, 1394, 1395, - 1414, 1416, 1418, 1419, 1396, 1397, 1421, 1422, 1398, 1399, - 1400, 1401, 1402, 1403, 1405, 1406, 1407, 1423, 1409, 1410, - 1424, 1411, 1412, 1425, 1413, 1426, 1427, 1414, 1416, 1418, - 1419, 1428, 1430, 1421, 1422, 1431, 1432, 1429, 1433, 1434, - 1435, 1436, 1437, 1438, 1423, 1439, 1440, 1424, 1442, 1443, - 1425, 1444, 1426, 1427, 1446, 1447, 1448, 1449, 1428, 1430, - 1450, 1451, 1431, 1432, 1429, 1433, 1434, 1435, 1436, 1437, - 1438, 1452, 1439, 1440, 1453, 1442, 1443, 1454, 1444, 1455, - - 1456, 1446, 1447, 1448, 1449, 1459, 1460, 1450, 1451, 1461, - 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1452, 1470, - 1472, 1453, 1473, 1474, 1454, 1475, 1455, 1456, 1476, 1478, - 1479, 1480, 1459, 1460, 1481, 1482, 1461, 1462, 1463, 1464, - 1465, 1466, 1467, 1468, 1469, 1484, 1470, 1472, 1486, 1473, - 1474, 1487, 1475, 1488, 1489, 1476, 1478, 1479, 1480, 1490, - 1491, 1481, 1482, 1492, 1493, 1494, 1495, 1496, 1497, 1498, - 1499, 1500, 1484, 1501, 1502, 1486, 1503, 1504, 1487, 1505, - 1488, 1489, 1506, 1507, 1508, 1509, 1490, 1491, 1510, 1511, - 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1512, - - 1501, 1502, 1513, 1503, 1504, 1514, 1505, 1515, 1516, 1506, - 1507, 1508, 1509, 1517, 1518, 1510, 1511, 1519, 1520, 1521, - 1522, 1523, 1524, 1525, 1526, 1527, 1512, 1528, 1529, 1513, - 1530, 1531, 1514, 1532, 1515, 1516, 1533, 1534, 1535, 1536, - 1517, 1518, 1537, 1538, 1519, 1520, 1521, 1522, 1523, 1524, - 1525, 1526, 1527, 1539, 1528, 1529, 1540, 1530, 1531, 1541, - 1532, 1542, 1543, 1533, 1534, 1535, 1536, 1544, 1545, 1537, - 1538, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, - 1539, 1555, 1556, 1540, 1558, 1559, 1541, 1560, 1542, 1543, - 1561, 1562, 1563, 1564, 1544, 1545, 1565, 1566, 1546, 1547, - - 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1567, 1555, 1556, - 1568, 1558, 1559, 1569, 1560, 1570, 1571, 1561, 1562, 1563, - 1564, 1572, 1573, 1565, 1566, 1574, 1575, 1576, 1577, 1578, - 1579, 1580, 1581, 1582, 1567, 1583, 1584, 1568, 1585, 1586, - 1569, 1587, 1570, 1571, 1588, 1589, 1590, 1592, 1572, 1573, - 1593, 1594, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, - 1582, 1595, 1583, 1584, 1596, 1585, 1586, 1597, 1587, 1598, - 1599, 1588, 1589, 1590, 1592, 1600, 1601, 1593, 1594, 1602, - 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1611, 1595, 1612, - 1613, 1596, 1614, 1615, 1597, 1616, 1598, 1599, 1617, 1618, - - 1619, 1620, 1600, 1601, 1621, 1622, 1602, 1603, 1604, 1605, - 1606, 1607, 1608, 1609, 1611, 1623, 1612, 1613, 1624, 1614, - 1615, 1625, 1616, 1626, 1627, 1617, 1618, 1619, 1620, 1159, - 1156, 1621, 1622, 1028, 1028, 1026, 1026, 1092, 1090, 1089, - 1084, 1078, 1623, 1070, 1063, 1624, 1058, 1052, 1625, 1033, - 1626, 1627, 39, 39, 1032, 1031, 1028, 1026, 1017, 1000, - 967, 926, 914, 911, 909, 906, 905, 904, 903, 902, - 901, 866, 865, 862, 821, 815, 814, 813, 811, 789, - 787, 778, 757, 745, 709, 704, 702, 700, 692, 690, - 671, 666, 651, 644, 642, 615, 581, 579, 578, 563, - - 549, 531, 517, 516, 509, 495, 486, 484, 472, 450, - 446, 444, 439, 420, 410, 403, 362, 328, 312, 274, - 246, 37, 37, 1628, 3, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628 + 81, 66, 77, 52, 1662, 72, 1643, 82, 73, 83, + 78, 1609, 47, 48, 131, 49, 79, 74, 1537, 134, + 1535, 50, 80, 51, 135, 1529, 136, 81, 1523, 77, + 52, 55, 137, 56, 82, 138, 83, 78, 57, 58, + 85, 131, 59, 79, 89, 60, 134, 86, 90, 80, + 87, 135, 88, 136, 91, 61, 320, 321, 55, 137, + 56, 139, 138, 140, 1497, 57, 58, 85, 1493, 59, + + 1472, 89, 60, 1469, 86, 90, 109, 87, 104, 88, + 110, 91, 61, 92, 93, 132, 105, 94, 139, 133, + 140, 95, 106, 141, 111, 107, 142, 96, 46, 46, + 46, 46, 46, 109, 1467, 104, 1460, 110, 143, 1456, + 92, 93, 132, 105, 94, 144, 133, 147, 95, 106, + 141, 111, 107, 142, 96, 97, 145, 98, 146, 99, + 128, 129, 148, 100, 149, 143, 130, 152, 153, 101, + 1430, 154, 144, 162, 147, 102, 1419, 150, 160, 1509, + 1510, 163, 97, 145, 98, 146, 99, 128, 129, 148, + 100, 149, 161, 130, 152, 153, 101, 151, 154, 164, + + 162, 165, 102, 112, 150, 160, 113, 114, 163, 115, + 166, 172, 173, 116, 117, 118, 174, 119, 120, 161, + 1413, 1411, 1403, 949, 151, 950, 164, 179, 165, 1400, + 112, 1399, 180, 113, 114, 951, 115, 166, 172, 173, + 116, 117, 118, 174, 119, 120, 121, 155, 156, 122, + 123, 175, 157, 124, 179, 177, 125, 126, 170, 180, + 158, 178, 176, 127, 167, 159, 168, 171, 181, 183, + 182, 184, 185, 121, 155, 156, 122, 123, 175, 157, + 124, 169, 177, 125, 126, 170, 186, 158, 178, 176, + 127, 167, 159, 168, 171, 181, 183, 182, 184, 185, + + 187, 188, 189, 190, 191, 192, 193, 197, 169, 199, + 195, 194, 198, 186, 196, 200, 201, 205, 1398, 206, + 209, 1397, 213, 1396, 1393, 207, 214, 187, 188, 189, + 190, 191, 192, 193, 197, 202, 199, 195, 194, 198, + 208, 196, 200, 201, 205, 203, 206, 209, 210, 213, + 211, 204, 207, 214, 215, 218, 219, 220, 221, 222, + 230, 212, 202, 239, 1381, 1376, 237, 208, 240, 243, + 216, 217, 203, 244, 1364, 210, 1363, 211, 204, 1350, + 1316, 215, 218, 219, 220, 221, 222, 230, 238, 245, + 239, 235, 231, 237, 241, 240, 243, 216, 217, 223, + + 244, 224, 225, 232, 242, 236, 226, 233, 227, 234, + 246, 228, 247, 248, 249, 238, 245, 229, 235, 231, + 250, 241, 252, 253, 1297, 260, 223, 1285, 224, 225, + 232, 242, 236, 226, 233, 227, 234, 246, 228, 247, + 248, 249, 261, 264, 229, 266, 265, 250, 267, 252, + 253, 254, 260, 262, 255, 269, 270, 271, 272, 263, + 273, 256, 257, 276, 274, 277, 268, 278, 258, 261, + 264, 275, 266, 265, 259, 267, 280, 281, 254, 282, + 262, 255, 269, 270, 271, 272, 263, 273, 256, 257, + 276, 274, 277, 268, 278, 258, 283, 284, 275, 285, + + 286, 259, 287, 280, 281, 288, 282, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 283, 284, 307, 285, 286, 308, 287, + 309, 310, 288, 311, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 312, 307, 313, 314, 308, 315, 309, 310, 316, + 311, 318, 319, 306, 322, 323, 324, 326, 327, 325, + 328, 329, 330, 331, 332, 334, 335, 305, 312, 336, + 313, 314, 340, 315, 341, 337, 316, 342, 318, 319, + 306, 322, 323, 324, 326, 327, 325, 328, 329, 330, + + 331, 332, 334, 335, 338, 343, 336, 344, 345, 340, + 346, 341, 347, 348, 342, 353, 349, 354, 355, 356, + 339, 357, 358, 350, 359, 360, 361, 362, 351, 363, + 364, 338, 343, 352, 344, 345, 365, 346, 366, 347, + 348, 367, 353, 349, 354, 355, 356, 339, 357, 358, + 350, 359, 360, 361, 362, 351, 363, 364, 373, 368, + 352, 369, 374, 365, 371, 366, 375, 372, 367, 376, + 377, 378, 379, 380, 381, 382, 384, 385, 386, 387, + 383, 388, 389, 392, 393, 373, 368, 394, 369, 374, + 1278, 371, 395, 375, 372, 396, 376, 377, 378, 379, + + 380, 381, 382, 384, 385, 386, 387, 390, 388, 389, + 392, 393, 397, 398, 394, 399, 400, 391, 402, 395, + 403, 404, 396, 405, 406, 401, 407, 408, 409, 410, + 411, 412, 414, 415, 390, 416, 417, 418, 419, 397, + 398, 421, 399, 400, 391, 402, 422, 403, 404, 423, + 405, 406, 424, 407, 408, 409, 410, 411, 412, 414, + 415, 425, 416, 417, 418, 419, 426, 427, 421, 428, + 429, 431, 432, 422, 433, 434, 423, 435, 436, 424, + 437, 438, 439, 440, 441, 442, 443, 446, 425, 444, + 448, 450, 451, 426, 427, 452, 428, 429, 431, 432, + + 447, 433, 434, 445, 435, 436, 456, 437, 438, 439, + 440, 441, 442, 443, 446, 458, 444, 448, 450, 451, + 453, 454, 452, 459, 460, 462, 463, 464, 465, 1267, + 445, 1247, 475, 456, 476, 1244, 477, 1243, 478, 480, + 1237, 481, 458, 479, 482, 483, 485, 453, 454, 486, + 459, 460, 462, 463, 464, 465, 466, 467, 468, 475, + 487, 476, 469, 477, 470, 478, 480, 471, 481, 472, + 479, 482, 483, 485, 488, 473, 486, 489, 474, 490, + 491, 492, 498, 466, 467, 468, 500, 487, 501, 469, + 502, 470, 493, 503, 471, 504, 472, 505, 506, 507, + + 508, 488, 473, 510, 489, 474, 490, 491, 492, 498, + 494, 511, 512, 500, 495, 501, 518, 502, 496, 493, + 503, 513, 504, 519, 505, 506, 507, 508, 520, 521, + 510, 514, 522, 523, 528, 1227, 515, 494, 511, 512, + 516, 495, 529, 518, 530, 517, 525, 526, 513, 532, + 519, 534, 535, 536, 537, 520, 521, 538, 539, 522, + 523, 528, 527, 515, 540, 541, 542, 516, 543, 529, + 545, 530, 517, 525, 526, 544, 532, 546, 534, 535, + 536, 537, 548, 549, 538, 539, 550, 551, 552, 527, + 553, 540, 541, 542, 554, 543, 555, 545, 556, 558, + + 559, 560, 544, 557, 546, 561, 562, 563, 564, 548, + 549, 566, 567, 550, 551, 552, 568, 553, 569, 570, + 571, 554, 572, 555, 573, 556, 558, 559, 560, 574, + 557, 575, 561, 562, 563, 564, 576, 577, 566, 567, + 578, 580, 581, 568, 582, 569, 570, 571, 583, 572, + 584, 573, 585, 587, 588, 589, 574, 590, 575, 591, + 592, 593, 586, 576, 577, 594, 597, 578, 580, 581, + 599, 582, 600, 601, 602, 583, 603, 584, 606, 585, + 587, 588, 589, 607, 590, 608, 591, 592, 593, 586, + 604, 613, 594, 597, 605, 609, 614, 599, 615, 600, + + 601, 602, 611, 603, 616, 606, 617, 610, 618, 619, + 607, 620, 608, 621, 622, 625, 612, 604, 613, 623, + 626, 605, 609, 614, 627, 615, 624, 628, 629, 611, + 630, 616, 631, 617, 610, 618, 619, 632, 620, 633, + 621, 622, 625, 612, 635, 639, 623, 626, 642, 640, + 644, 627, 645, 624, 628, 629, 646, 630, 647, 631, + 641, 636, 637, 650, 632, 643, 633, 638, 651, 652, + 648, 635, 639, 649, 653, 642, 640, 644, 654, 645, + 656, 655, 657, 646, 658, 647, 659, 641, 636, 637, + 650, 660, 643, 661, 638, 651, 652, 648, 662, 664, + + 649, 653, 670, 671, 673, 654, 674, 656, 655, 657, + 675, 658, 666, 659, 676, 677, 667, 678, 660, 668, + 661, 679, 669, 680, 681, 662, 664, 682, 683, 670, + 671, 673, 684, 674, 685, 686, 687, 675, 689, 666, + 690, 676, 677, 667, 678, 691, 668, 692, 679, 669, + 680, 681, 694, 695, 682, 683, 696, 697, 698, 684, + 700, 685, 686, 687, 701, 689, 702, 690, 703, 704, + 705, 706, 691, 707, 692, 708, 699, 709, 710, 694, + 695, 711, 713, 696, 697, 698, 715, 700, 716, 717, + 722, 701, 1225, 702, 724, 703, 704, 705, 706, 726, + + 707, 728, 708, 731, 709, 710, 733, 729, 711, 713, + 718, 719, 734, 715, 723, 716, 717, 722, 730, 720, + 735, 724, 736, 737, 721, 738, 726, 739, 728, 740, + 731, 741, 742, 733, 729, 743, 744, 718, 719, 734, + 745, 746, 749, 750, 751, 730, 720, 735, 747, 736, + 737, 721, 738, 752, 739, 748, 740, 753, 741, 742, + 754, 755, 743, 744, 756, 757, 758, 745, 746, 749, + 750, 751, 759, 760, 761, 747, 762, 763, 764, 765, + 752, 766, 748, 767, 753, 768, 769, 754, 755, 770, + 772, 756, 757, 758, 773, 774, 775, 776, 777, 759, + + 760, 761, 778, 762, 763, 764, 765, 779, 766, 780, + 767, 781, 768, 769, 782, 783, 770, 772, 785, 786, + 787, 773, 774, 775, 776, 777, 788, 789, 790, 778, + 791, 792, 793, 796, 779, 797, 780, 798, 781, 794, + 795, 782, 783, 799, 800, 785, 786, 787, 801, 802, + 803, 804, 806, 788, 789, 790, 813, 791, 792, 793, + 796, 815, 797, 1209, 798, 816, 794, 795, 818, 1208, + 799, 800, 819, 820, 821, 801, 802, 803, 804, 806, + 807, 822, 823, 813, 808, 824, 809, 825, 815, 826, + 810, 811, 816, 827, 828, 818, 812, 829, 830, 819, + + 820, 821, 831, 832, 833, 834, 835, 807, 822, 823, + 836, 808, 824, 809, 825, 837, 826, 810, 811, 838, + 827, 828, 840, 812, 829, 830, 844, 845, 846, 831, + 832, 833, 834, 835, 847, 848, 850, 836, 851, 853, + 854, 855, 837, 856, 857, 858, 838, 859, 852, 840, + 860, 861, 862, 844, 845, 846, 863, 864, 865, 866, + 867, 847, 848, 850, 868, 851, 853, 854, 855, 869, + 856, 857, 858, 870, 859, 852, 871, 860, 861, 862, + 872, 873, 874, 863, 864, 865, 866, 867, 875, 876, + 877, 868, 878, 879, 880, 881, 869, 882, 883, 884, + + 870, 885, 886, 871, 887, 888, 889, 872, 873, 874, + 890, 891, 892, 894, 895, 875, 876, 877, 896, 878, + 879, 880, 881, 899, 882, 883, 884, 900, 885, 886, + 901, 887, 888, 889, 902, 903, 904, 890, 891, 892, + 894, 895, 905, 906, 907, 896, 908, 909, 910, 911, + 899, 912, 913, 914, 900, 915, 916, 901, 917, 918, + 919, 902, 903, 904, 920, 921, 922, 923, 924, 905, + 906, 907, 925, 908, 909, 910, 911, 926, 912, 913, + 914, 927, 915, 916, 928, 917, 918, 919, 929, 930, + 931, 920, 921, 922, 923, 924, 932, 939, 940, 925, + + 942, 944, 946, 947, 926, 952, 953, 954, 927, 955, + 956, 928, 957, 941, 958, 929, 930, 931, 959, 964, + 1205, 968, 969, 932, 939, 940, 970, 942, 944, 946, + 947, 961, 952, 953, 954, 971, 955, 956, 962, 957, + 941, 958, 965, 972, 963, 959, 964, 966, 968, 969, + 973, 974, 975, 970, 976, 977, 978, 979, 961, 967, + 980, 981, 971, 982, 983, 962, 984, 985, 986, 965, + 972, 963, 987, 988, 966, 989, 990, 973, 974, 975, + 991, 976, 977, 978, 979, 992, 967, 980, 981, 993, + 982, 983, 994, 984, 985, 986, 995, 996, 997, 987, + + 988, 998, 989, 990, 999, 1000, 1001, 991, 1002, 1003, + 1005, 1006, 992, 1007, 1008, 1009, 993, 1010, 1011, 994, + 1012, 1013, 1016, 995, 996, 997, 1017, 1018, 998, 1014, + 1019, 999, 1000, 1001, 1020, 1002, 1003, 1005, 1006, 1015, + 1007, 1008, 1009, 1021, 1010, 1011, 1022, 1012, 1013, 1016, + 1023, 1024, 1025, 1017, 1018, 1026, 1014, 1019, 1027, 1028, + 1029, 1020, 1030, 1031, 1032, 1033, 1015, 1034, 1035, 1036, + 1021, 1037, 1038, 1022, 1040, 1041, 1042, 1023, 1024, 1025, + 1043, 1044, 1026, 1045, 1046, 1027, 1028, 1029, 1047, 1030, + 1031, 1032, 1033, 1048, 1034, 1035, 1036, 1049, 1037, 1038, + + 1050, 1040, 1041, 1042, 1051, 1052, 1053, 1043, 1044, 1054, + 1045, 1046, 1055, 1057, 1058, 1047, 1059, 1060, 1061, 1062, + 1048, 1063, 1064, 1065, 1049, 1070, 1071, 1050, 1075, 1076, + 1077, 1051, 1052, 1053, 1078, 1079, 1054, 1080, 1081, 1055, + 1057, 1058, 1082, 1059, 1060, 1061, 1062, 1083, 1063, 1064, + 1065, 1084, 1070, 1071, 1085, 1075, 1076, 1077, 1086, 1087, + 1088, 1078, 1079, 1089, 1080, 1081, 1090, 1091, 1092, 1082, + 1093, 1095, 1096, 1097, 1083, 1098, 1099, 1100, 1084, 1102, + 1104, 1085, 1105, 1103, 1107, 1086, 1087, 1088, 1108, 1109, + 1089, 1110, 1111, 1090, 1091, 1092, 1112, 1093, 1095, 1096, + + 1097, 1113, 1098, 1099, 1100, 1115, 1102, 1104, 1116, 1105, + 1103, 1107, 1117, 1120, 1121, 1108, 1109, 1123, 1110, 1111, + 1124, 1118, 1125, 1112, 1126, 1127, 1128, 1130, 1113, 1119, + 1131, 1132, 1115, 1133, 1136, 1116, 1138, 1139, 1140, 1117, + 1120, 1121, 1141, 1142, 1123, 1143, 1144, 1124, 1118, 1125, + 1145, 1126, 1127, 1128, 1130, 1146, 1119, 1131, 1132, 1147, + 1133, 1136, 1148, 1138, 1139, 1140, 1149, 1150, 1151, 1141, + 1142, 1152, 1143, 1144, 1153, 1154, 1155, 1145, 1156, 1157, + 1158, 1159, 1146, 1160, 1161, 1162, 1147, 1163, 1164, 1148, + 1165, 1166, 1167, 1149, 1150, 1151, 1168, 1169, 1152, 1170, + + 1171, 1153, 1154, 1155, 1172, 1156, 1157, 1158, 1159, 1173, + 1160, 1161, 1162, 1174, 1163, 1164, 1175, 1165, 1166, 1167, + 1176, 1177, 1178, 1168, 1169, 1179, 1170, 1171, 1180, 1181, + 1182, 1172, 1183, 1184, 1185, 1186, 1173, 1187, 1188, 1189, + 1174, 1190, 1191, 1175, 1192, 1193, 1194, 1176, 1177, 1178, + 1195, 1196, 1179, 1197, 1198, 1180, 1181, 1182, 1199, 1183, + 1184, 1185, 1186, 1200, 1187, 1188, 1189, 1201, 1190, 1191, + 1202, 1192, 1193, 1194, 1203, 1204, 1206, 1195, 1196, 1207, + 1197, 1198, 1210, 1211, 1212, 1199, 1213, 1214, 1215, 1216, + 1200, 1217, 1218, 1219, 1201, 1220, 1221, 1202, 1222, 1223, + + 1224, 1203, 1204, 1206, 1226, 1228, 1207, 1229, 1230, 1210, + 1211, 1212, 1231, 1213, 1214, 1215, 1216, 1232, 1217, 1218, + 1219, 1233, 1220, 1221, 1234, 1222, 1223, 1224, 1235, 1236, + 1238, 1226, 1228, 1239, 1229, 1230, 1240, 1241, 1242, 1231, + 1245, 1246, 1248, 1249, 1232, 1250, 1251, 1252, 1233, 1253, + 1254, 1234, 1255, 1256, 1257, 1235, 1236, 1238, 1258, 1259, + 1239, 1260, 1261, 1240, 1241, 1242, 1262, 1245, 1246, 1248, + 1249, 1263, 1250, 1251, 1252, 1264, 1253, 1254, 1265, 1255, + 1256, 1257, 1266, 1268, 1269, 1258, 1259, 1270, 1260, 1261, + 1271, 1272, 1273, 1262, 1274, 1275, 1276, 1277, 1263, 1279, + + 1280, 1281, 1264, 1282, 1283, 1265, 1284, 1286, 1287, 1266, + 1268, 1269, 1289, 1290, 1270, 1291, 1288, 1271, 1272, 1273, + 1292, 1274, 1275, 1276, 1277, 1295, 1279, 1280, 1281, 1293, + 1282, 1283, 1296, 1284, 1286, 1287, 1298, 1299, 1300, 1289, + 1290, 1301, 1291, 1302, 1303, 1304, 1294, 1292, 1305, 1306, + 1307, 1308, 1295, 1309, 1310, 1312, 1293, 1313, 1314, 1296, + 1311, 1315, 1317, 1298, 1299, 1300, 1318, 1319, 1301, 1320, + 1302, 1303, 1304, 1294, 1321, 1305, 1306, 1307, 1308, 1322, + 1309, 1310, 1312, 1323, 1313, 1314, 1324, 1311, 1315, 1317, + 1325, 1326, 1327, 1318, 1319, 1328, 1320, 1329, 1330, 1331, + + 1332, 1321, 1333, 1334, 1335, 1336, 1322, 1337, 1338, 1339, + 1323, 1340, 1341, 1324, 1342, 1343, 1344, 1325, 1326, 1327, + 1345, 1346, 1328, 1347, 1329, 1330, 1331, 1332, 1348, 1333, + 1334, 1335, 1336, 1349, 1337, 1338, 1339, 1351, 1340, 1341, + 1352, 1342, 1343, 1344, 1353, 1354, 1355, 1345, 1346, 1356, + 1347, 1357, 1358, 1359, 1360, 1348, 1361, 1362, 1365, 1366, + 1349, 1367, 1368, 1369, 1351, 1370, 1371, 1352, 1372, 1373, + 1374, 1353, 1354, 1355, 1375, 1377, 1356, 1378, 1357, 1358, + 1359, 1360, 1379, 1361, 1362, 1365, 1366, 1380, 1367, 1368, + 1369, 1382, 1370, 1371, 1383, 1372, 1373, 1374, 1384, 1385, + + 1386, 1375, 1377, 1387, 1378, 1388, 1389, 1390, 1391, 1379, + 1392, 1394, 1395, 1401, 1380, 1402, 1404, 1405, 1382, 1406, + 1407, 1383, 1408, 1409, 1410, 1384, 1385, 1386, 1412, 1414, + 1387, 1415, 1388, 1389, 1390, 1391, 1416, 1392, 1394, 1395, + 1401, 1417, 1402, 1404, 1405, 1418, 1406, 1407, 1420, 1408, + 1409, 1410, 1421, 1422, 1423, 1412, 1414, 1424, 1415, 1425, + 1426, 1427, 1428, 1416, 1429, 1431, 1432, 1433, 1417, 1434, + 1435, 1436, 1418, 1437, 1438, 1420, 1439, 1440, 1441, 1421, + 1422, 1423, 1442, 1443, 1424, 1444, 1425, 1426, 1427, 1428, + 1445, 1429, 1431, 1432, 1433, 1446, 1434, 1435, 1436, 1447, + + 1437, 1438, 1448, 1439, 1440, 1441, 1449, 1450, 1451, 1442, + 1443, 1452, 1444, 1453, 1454, 1455, 1457, 1445, 1458, 1459, + 1461, 1462, 1446, 1463, 1466, 1464, 1447, 1465, 1468, 1448, + 1470, 1471, 1473, 1449, 1450, 1451, 1474, 1475, 1452, 1476, + 1453, 1454, 1455, 1457, 1477, 1458, 1459, 1461, 1462, 1478, + 1463, 1466, 1464, 1479, 1465, 1468, 1480, 1470, 1471, 1473, + 1482, 1483, 1481, 1474, 1475, 1484, 1476, 1485, 1486, 1487, + 1488, 1477, 1489, 1490, 1491, 1492, 1478, 1494, 1495, 1496, + 1479, 1498, 1499, 1480, 1500, 1501, 1502, 1482, 1483, 1481, + 1503, 1504, 1484, 1505, 1485, 1486, 1487, 1488, 1506, 1489, + + 1490, 1491, 1492, 1507, 1494, 1495, 1496, 1508, 1498, 1499, + 1511, 1500, 1501, 1502, 1512, 1513, 1514, 1503, 1504, 1515, + 1505, 1516, 1517, 1518, 1519, 1506, 1520, 1521, 1522, 1524, + 1507, 1525, 1526, 1527, 1508, 1528, 1530, 1511, 1531, 1532, + 1533, 1512, 1513, 1514, 1534, 1536, 1515, 1538, 1516, 1517, + 1518, 1519, 1539, 1520, 1521, 1522, 1524, 1540, 1525, 1526, + 1527, 1541, 1528, 1530, 1542, 1531, 1532, 1533, 1543, 1544, + 1545, 1534, 1536, 1546, 1538, 1547, 1548, 1549, 1550, 1539, + 1551, 1552, 1553, 1554, 1540, 1555, 1556, 1557, 1541, 1558, + 1559, 1542, 1560, 1561, 1562, 1543, 1544, 1545, 1563, 1564, + + 1546, 1565, 1547, 1548, 1549, 1550, 1566, 1551, 1552, 1553, + 1554, 1567, 1555, 1556, 1557, 1568, 1558, 1559, 1569, 1560, + 1561, 1562, 1570, 1571, 1572, 1563, 1564, 1573, 1565, 1574, + 1575, 1576, 1577, 1566, 1578, 1579, 1580, 1581, 1567, 1582, + 1583, 1584, 1568, 1585, 1586, 1569, 1587, 1588, 1589, 1570, + 1571, 1572, 1590, 1591, 1573, 1592, 1574, 1575, 1576, 1577, + 1593, 1578, 1579, 1580, 1581, 1594, 1582, 1583, 1584, 1595, + 1585, 1586, 1596, 1587, 1588, 1589, 1597, 1598, 1599, 1590, + 1591, 1600, 1592, 1601, 1602, 1603, 1604, 1593, 1605, 1606, + 1607, 1608, 1594, 1610, 1611, 1612, 1595, 1613, 1614, 1596, + + 1615, 1616, 1617, 1597, 1598, 1599, 1618, 1619, 1600, 1620, + 1601, 1602, 1603, 1604, 1623, 1605, 1606, 1607, 1608, 1624, + 1610, 1611, 1612, 1625, 1613, 1614, 1626, 1615, 1616, 1617, + 1621, 1627, 1622, 1618, 1619, 1628, 1620, 1629, 1630, 1631, + 1632, 1623, 1633, 1634, 1635, 1636, 1624, 1637, 1638, 1639, + 1625, 1640, 1641, 1626, 1642, 1644, 1645, 1621, 1627, 1622, + 1646, 1647, 1628, 1648, 1629, 1630, 1631, 1632, 1649, 1633, + 1634, 1635, 1636, 1650, 1637, 1638, 1639, 1651, 1640, 1641, + 1652, 1642, 1644, 1645, 1653, 1654, 1655, 1646, 1647, 1656, + 1648, 1657, 1658, 1659, 1660, 1649, 1661, 1663, 1664, 1665, + + 1650, 1666, 1667, 1668, 1651, 1669, 1670, 1652, 1671, 1672, + 1673, 1653, 1654, 1655, 1674, 1675, 1656, 1676, 1657, 1658, + 1659, 1660, 1677, 1661, 1663, 1664, 1665, 1678, 1666, 1667, + 1668, 1679, 1669, 1670, 1069, 1671, 1672, 1673, 1069, 1067, + 1067, 1674, 1675, 1137, 1676, 1135, 1134, 1129, 1122, 1677, + 1114, 1106, 1101, 1094, 1678, 1074, 1073, 1072, 1679, 39, + 39, 1069, 1067, 1056, 1039, 1004, 960, 948, 945, 943, + 938, 937, 936, 935, 934, 933, 898, 897, 893, 849, + 843, 842, 841, 839, 817, 814, 805, 784, 771, 732, + 727, 725, 714, 712, 693, 688, 672, 665, 663, 634, + + 598, 596, 595, 579, 565, 547, 533, 531, 524, 509, + 499, 497, 484, 461, 457, 455, 449, 430, 420, 413, + 370, 333, 317, 279, 251, 37, 37, 1680, 3, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680 } ; -static yyconst flex_int16_t yy_chk[3194] = +static const flex_int16_t yy_chk[3298] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1334,349 +1350,360 @@ static yyconst flex_int16_t yy_chk[3194] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 7, 9, 10, 13, 10, 11, 11, 11, 11, 11, 16, - 21, 1633, 13, 26, 1632, 16, 16, 9, 39, 39, - 15, 799, 28, 799, 15, 18, 16, 1631, 15, 13, + 21, 1685, 13, 26, 1684, 16, 16, 9, 39, 39, + 15, 827, 28, 827, 15, 18, 16, 1683, 15, 13, - 17, 15, 18, 799, 15, 1629, 16, 21, 17, 13, + 17, 15, 18, 827, 15, 1681, 16, 21, 17, 13, 26, 17, 16, 16, 9, 12, 12, 15, 12, 28, 17, 15, 18, 16, 12, 15, 12, 17, 15, 18, - 20, 15, 19, 12, 1602, 17, 1575, 20, 17, 20, - 19, 1534, 12, 12, 33, 12, 19, 17, 1442, 35, - 1440, 12, 19, 12, 36, 1433, 43, 20, 1426, 19, - 12, 14, 47, 14, 20, 1395, 20, 19, 14, 14, + 20, 15, 19, 12, 1654, 17, 1627, 20, 17, 20, + 19, 1586, 12, 12, 33, 12, 19, 17, 1494, 35, + 1492, 12, 19, 12, 36, 1485, 43, 20, 1478, 19, + 12, 14, 47, 14, 20, 48, 20, 19, 14, 14, 22, 33, 14, 19, 23, 14, 35, 22, 23, 19, - 22, 36, 22, 43, 23, 14, 184, 184, 14, 47, - 14, 48, 32, 32, 1391, 14, 14, 22, 32, 14, - - 1369, 23, 14, 1366, 22, 23, 29, 22, 27, 22, - 29, 23, 14, 24, 24, 49, 27, 24, 48, 32, - 32, 24, 27, 50, 29, 32, 51, 24, 46, 46, - 46, 46, 46, 29, 34, 27, 1363, 29, 34, 52, - 24, 24, 49, 27, 24, 53, 54, 56, 24, 27, - 50, 29, 57, 51, 24, 25, 55, 25, 55, 25, - 58, 34, 60, 25, 61, 34, 52, 62, 65, 25, - 1356, 66, 53, 54, 56, 25, 1350, 59, 64, 57, - 1317, 67, 25, 55, 25, 55, 25, 58, 1305, 60, - 25, 61, 64, 68, 62, 65, 25, 59, 66, 69, - - 1297, 72, 25, 30, 59, 64, 30, 30, 67, 30, - 70, 73, 70, 30, 30, 30, 74, 30, 30, 64, - 68, 1409, 1409, 915, 59, 915, 69, 70, 72, 1295, - 30, 1285, 77, 30, 30, 915, 30, 70, 73, 70, + 22, 36, 22, 43, 23, 14, 186, 186, 14, 47, + 14, 49, 48, 50, 1447, 14, 14, 22, 1443, 14, + + 1421, 23, 14, 1418, 22, 23, 29, 22, 27, 22, + 29, 23, 14, 24, 24, 34, 27, 24, 49, 34, + 50, 24, 27, 51, 29, 27, 52, 24, 46, 46, + 46, 46, 46, 29, 1415, 27, 1408, 29, 53, 1402, + 24, 24, 34, 27, 24, 54, 34, 56, 24, 27, + 51, 29, 27, 52, 24, 25, 55, 25, 55, 25, + 32, 32, 57, 25, 58, 53, 32, 60, 61, 25, + 1369, 62, 54, 65, 56, 25, 1357, 59, 64, 1461, + 1461, 66, 25, 55, 25, 55, 25, 32, 32, 57, + 25, 58, 64, 32, 60, 61, 25, 59, 62, 67, + + 65, 68, 25, 30, 59, 64, 30, 30, 66, 30, + 69, 72, 73, 30, 30, 30, 74, 30, 30, 64, + 1349, 1346, 1336, 949, 59, 949, 67, 77, 68, 1333, + 30, 1332, 78, 30, 30, 949, 30, 69, 72, 73, 30, 30, 30, 74, 30, 30, 31, 63, 63, 31, - 31, 78, 63, 71, 70, 75, 31, 31, 76, 77, - 63, 80, 71, 31, 76, 63, 75, 79, 81, 79, - 82, 83, 84, 31, 63, 63, 31, 31, 78, 63, - 71, 85, 75, 31, 31, 76, 86, 63, 80, 71, - 31, 76, 63, 75, 79, 81, 79, 82, 83, 84, - - 87, 88, 89, 91, 90, 92, 93, 91, 85, 90, - 92, 94, 95, 86, 1282, 97, 98, 100, 1281, 102, - 103, 1280, 105, 106, 107, 96, 108, 87, 88, 89, - 91, 90, 92, 93, 91, 96, 90, 92, 94, 95, - 99, 96, 97, 98, 100, 101, 102, 103, 104, 105, - 106, 107, 96, 108, 110, 99, 1279, 112, 101, 111, - 114, 113, 96, 115, 104, 104, 1278, 99, 96, 1275, - 111, 112, 101, 1261, 111, 104, 111, 117, 1256, 116, - 118, 110, 99, 113, 112, 119, 111, 114, 113, 116, - 115, 104, 104, 109, 120, 109, 109, 111, 112, 121, - - 109, 111, 109, 111, 117, 109, 116, 118, 122, 123, - 113, 109, 119, 125, 126, 1241, 116, 128, 1240, 129, - 109, 120, 109, 109, 130, 1222, 121, 109, 131, 109, - 130, 131, 109, 132, 1187, 122, 123, 134, 109, 135, - 125, 126, 127, 133, 128, 127, 129, 136, 137, 139, - 141, 130, 127, 127, 142, 131, 140, 130, 131, 127, - 132, 133, 143, 140, 134, 127, 135, 145, 146, 127, - 133, 147, 127, 148, 136, 137, 139, 141, 149, 127, - 127, 142, 150, 140, 151, 152, 127, 153, 133, 143, - 140, 154, 127, 155, 145, 146, 156, 157, 147, 159, - - 148, 160, 161, 162, 163, 149, 164, 165, 166, 150, - 167, 151, 152, 168, 153, 169, 170, 172, 154, 171, - 155, 173, 174, 156, 157, 175, 159, 176, 160, 161, - 162, 163, 171, 164, 165, 166, 177, 167, 178, 178, - 168, 179, 169, 170, 172, 180, 171, 182, 173, 174, - 183, 185, 175, 186, 176, 187, 188, 189, 187, 171, - 190, 191, 192, 177, 193, 178, 178, 195, 179, 197, - 198, 200, 180, 199, 182, 201, 202, 183, 185, 199, - 186, 203, 187, 188, 189, 187, 204, 190, 191, 192, - 205, 193, 206, 207, 195, 208, 197, 198, 200, 209, - - 199, 210, 201, 202, 211, 212, 209, 213, 203, 214, - 215, 209, 216, 204, 217, 218, 209, 205, 219, 206, - 207, 220, 208, 221, 222, 224, 209, 225, 210, 225, - 227, 211, 212, 209, 213, 228, 214, 215, 209, 216, - 229, 217, 218, 209, 231, 219, 232, 234, 220, 235, - 221, 222, 224, 236, 225, 237, 225, 227, 239, 240, - 241, 242, 228, 243, 240, 244, 245, 229, 246, 247, - 248, 231, 249, 232, 234, 250, 235, 251, 246, 252, - 236, 253, 237, 254, 256, 239, 240, 241, 242, 255, - 243, 257, 244, 245, 258, 246, 247, 248, 255, 249, - - 259, 260, 250, 261, 251, 246, 252, 262, 253, 264, - 254, 256, 265, 266, 267, 270, 255, 272, 257, 273, - 274, 258, 275, 276, 278, 279, 280, 259, 260, 281, - 261, 284, 285, 287, 262, 288, 264, 289, 291, 265, - 266, 267, 270, 292, 272, 293, 273, 274, 294, 275, - 276, 278, 279, 280, 295, 296, 281, 297, 284, 285, - 287, 298, 288, 300, 289, 291, 301, 303, 304, 305, - 292, 306, 293, 307, 308, 294, 311, 312, 313, 314, - 318, 295, 296, 320, 297, 306, 307, 321, 298, 322, - 300, 324, 325, 301, 303, 304, 305, 326, 306, 327, - - 307, 308, 1162, 311, 312, 313, 314, 318, 1151, 329, - 320, 1143, 306, 1131, 321, 330, 322, 331, 324, 325, - 332, 333, 1112, 334, 326, 332, 327, 328, 328, 328, - 337, 339, 341, 328, 342, 328, 329, 343, 328, 344, - 328, 345, 330, 346, 331, 349, 328, 332, 333, 328, - 334, 353, 332, 347, 328, 328, 328, 337, 339, 341, - 328, 342, 328, 354, 343, 328, 344, 328, 345, 355, - 346, 347, 349, 328, 356, 347, 328, 357, 353, 347, - 347, 358, 359, 360, 362, 363, 366, 364, 367, 369, - 354, 365, 370, 371, 372, 365, 355, 364, 347, 375, - - 365, 356, 347, 376, 357, 377, 380, 381, 358, 359, - 360, 362, 363, 366, 364, 367, 369, 383, 365, 370, - 371, 372, 365, 374, 374, 384, 375, 365, 385, 386, - 376, 387, 377, 380, 381, 388, 389, 392, 391, 374, - 393, 395, 396, 397, 383, 391, 398, 399, 400, 401, - 374, 374, 384, 402, 403, 385, 386, 404, 387, 403, - 406, 407, 388, 389, 392, 391, 374, 393, 395, 396, - 397, 409, 391, 398, 399, 400, 401, 410, 412, 413, - 402, 403, 416, 417, 404, 418, 403, 406, 407, 420, - 421, 423, 424, 425, 426, 427, 428, 430, 409, 432, - - 434, 435, 436, 437, 410, 412, 413, 438, 441, 416, - 417, 442, 418, 443, 444, 439, 420, 421, 423, 424, - 425, 426, 427, 428, 430, 439, 432, 434, 435, 436, - 437, 445, 446, 447, 438, 441, 450, 452, 442, 453, - 443, 444, 439, 454, 455, 456, 457, 458, 459, 460, - 457, 463, 439, 461, 462, 464, 465, 466, 445, 446, - 447, 467, 468, 450, 452, 461, 453, 469, 462, 470, - 454, 455, 456, 457, 458, 459, 460, 457, 463, 471, - 461, 462, 464, 465, 466, 473, 472, 474, 467, 468, - 475, 476, 461, 472, 469, 462, 470, 477, 478, 479, - - 480, 482, 483, 483, 484, 485, 471, 487, 483, 1109, - 488, 489, 473, 472, 474, 1108, 485, 475, 476, 486, - 472, 492, 493, 494, 477, 478, 479, 480, 482, 483, - 483, 484, 485, 495, 487, 483, 486, 488, 489, 491, - 497, 496, 491, 485, 496, 499, 486, 500, 492, 493, - 494, 501, 502, 503, 506, 510, 511, 512, 514, 510, - 495, 515, 510, 486, 517, 510, 491, 497, 496, 491, - 518, 496, 499, 519, 500, 520, 521, 522, 501, 502, - 503, 506, 510, 511, 512, 514, 510, 523, 515, 510, - 524, 517, 510, 525, 526, 527, 528, 518, 530, 531, - - 519, 532, 520, 521, 522, 536, 538, 540, 541, 542, - 544, 543, 545, 546, 523, 547, 548, 524, 549, 550, - 525, 526, 527, 528, 551, 530, 531, 552, 532, 543, - 553, 554, 536, 538, 540, 541, 542, 544, 543, 545, - 546, 555, 547, 548, 558, 549, 550, 560, 561, 562, - 565, 551, 563, 563, 552, 567, 569, 553, 554, 570, - 571, 563, 573, 574, 576, 577, 563, 578, 555, 579, - 570, 558, 580, 581, 560, 561, 562, 565, 585, 563, - 563, 586, 567, 569, 587, 588, 570, 571, 563, 573, - 574, 576, 577, 563, 578, 589, 579, 570, 591, 580, - - 581, 592, 590, 593, 594, 585, 595, 596, 586, 590, - 598, 587, 588, 599, 600, 601, 602, 604, 605, 606, - 607, 608, 589, 609, 610, 591, 611, 612, 592, 590, - 593, 594, 614, 595, 596, 615, 590, 598, 616, 617, - 599, 600, 601, 602, 604, 605, 606, 607, 608, 618, - 609, 610, 619, 611, 612, 620, 622, 623, 624, 614, - 625, 628, 615, 629, 631, 616, 617, 632, 633, 634, - 635, 636, 637, 638, 638, 639, 618, 640, 642, 619, - 643, 644, 620, 622, 623, 624, 645, 625, 628, 646, - 629, 631, 647, 648, 632, 633, 634, 635, 636, 637, - - 638, 638, 639, 650, 640, 642, 652, 643, 644, 654, - 1098, 656, 659, 645, 1087, 1085, 646, 660, 661, 647, - 648, 663, 664, 665, 667, 668, 670, 671, 672, 673, - 650, 651, 674, 652, 675, 651, 654, 651, 656, 659, - 676, 651, 651, 677, 660, 661, 678, 651, 663, 664, - 665, 667, 668, 670, 671, 672, 673, 680, 651, 674, - 682, 675, 651, 683, 651, 685, 689, 676, 651, 651, - 677, 690, 691, 678, 651, 692, 693, 696, 697, 698, - 699, 700, 702, 703, 680, 704, 705, 682, 697, 706, - 683, 707, 685, 689, 708, 709, 710, 711, 690, 691, - - 712, 713, 692, 693, 696, 697, 698, 699, 700, 702, - 703, 714, 704, 705, 715, 697, 706, 716, 707, 717, - 718, 708, 709, 710, 711, 719, 720, 712, 713, 721, - 722, 723, 724, 725, 726, 727, 728, 729, 714, 730, - 731, 715, 733, 734, 716, 737, 717, 718, 738, 740, - 741, 744, 719, 720, 745, 746, 721, 722, 723, 724, - 725, 726, 727, 728, 729, 747, 730, 731, 748, 733, - 734, 749, 737, 750, 751, 738, 740, 741, 744, 752, - 753, 745, 746, 754, 755, 756, 757, 758, 759, 760, - 762, 763, 747, 764, 766, 748, 767, 768, 749, 769, - - 750, 751, 770, 771, 772, 773, 752, 753, 774, 775, - 754, 755, 756, 757, 758, 759, 760, 762, 763, 776, - 764, 766, 777, 767, 768, 778, 769, 779, 786, 770, - 771, 772, 773, 787, 789, 774, 775, 793, 796, 800, - 801, 802, 803, 806, 807, 808, 776, 809, 812, 777, - 811, 814, 778, 815, 779, 786, 816, 817, 819, 820, - 787, 789, 821, 811, 793, 796, 800, 801, 802, 803, - 806, 807, 808, 822, 809, 812, 813, 811, 814, 823, - 815, 813, 824, 816, 817, 819, 820, 825, 826, 821, - 811, 827, 828, 813, 829, 830, 831, 832, 833, 835, - - 822, 836, 837, 813, 838, 839, 823, 840, 813, 824, - 841, 842, 843, 844, 825, 826, 846, 847, 827, 828, - 813, 829, 830, 831, 832, 833, 835, 848, 836, 837, - 849, 838, 839, 851, 840, 853, 854, 841, 842, 843, - 844, 855, 856, 846, 847, 857, 859, 860, 861, 862, - 864, 865, 866, 868, 848, 870, 872, 849, 873, 862, - 851, 874, 853, 854, 875, 877, 878, 879, 855, 856, - 880, 881, 857, 859, 860, 861, 862, 864, 865, 866, - 868, 882, 870, 872, 883, 873, 862, 884, 874, 885, - 886, 875, 877, 878, 879, 887, 888, 880, 881, 889, - - 891, 892, 893, 894, 895, 896, 897, 898, 882, 899, - 900, 883, 901, 902, 884, 903, 885, 886, 904, 905, - 906, 908, 887, 888, 909, 910, 889, 891, 892, 893, - 894, 895, 896, 897, 898, 911, 899, 900, 912, 901, - 902, 913, 903, 914, 918, 904, 905, 906, 908, 919, - 924, 909, 910, 925, 926, 927, 928, 929, 930, 931, - 932, 933, 911, 934, 936, 912, 937, 938, 913, 939, - 914, 918, 940, 941, 942, 944, 919, 924, 945, 946, - 925, 926, 927, 928, 929, 930, 931, 932, 933, 947, - 934, 936, 948, 937, 938, 951, 939, 952, 954, 940, - - 941, 942, 944, 950, 955, 945, 946, 950, 957, 958, - 960, 961, 963, 964, 1065, 968, 947, 969, 973, 948, - 974, 975, 951, 976, 952, 954, 977, 979, 980, 981, - 950, 955, 967, 982, 950, 957, 958, 960, 961, 963, - 964, 967, 968, 985, 969, 973, 987, 974, 975, 967, - 976, 989, 990, 977, 979, 980, 981, 994, 995, 967, - 982, 996, 997, 998, 999, 1000, 1001, 1002, 967, 1003, - 985, 1004, 1005, 987, 1006, 1007, 967, 1008, 989, 990, - 1009, 1010, 1011, 1012, 994, 995, 1013, 1014, 996, 997, - 998, 999, 1000, 1001, 1002, 1015, 1003, 1016, 1004, 1005, - - 1017, 1006, 1007, 1018, 1008, 1019, 1020, 1009, 1010, 1011, - 1012, 1021, 1023, 1013, 1014, 1024, 1029, 1030, 1031, 1032, - 1033, 1034, 1015, 1035, 1016, 1036, 1037, 1017, 1038, 1039, - 1018, 1040, 1019, 1020, 1041, 1042, 1043, 1044, 1021, 1023, - 1045, 1046, 1024, 1029, 1030, 1031, 1032, 1033, 1034, 1048, - 1035, 1049, 1036, 1037, 1050, 1038, 1039, 1051, 1040, 1052, - 1053, 1041, 1042, 1043, 1044, 1054, 1055, 1045, 1046, 1057, - 1058, 1059, 1060, 1062, 1063, 1066, 1048, 1067, 1049, 1068, - 1070, 1050, 1071, 1073, 1051, 1074, 1052, 1053, 1075, 1077, - 1078, 1079, 1054, 1055, 1081, 1082, 1057, 1058, 1059, 1060, - - 1062, 1063, 1066, 1083, 1067, 1084, 1068, 1070, 1086, 1071, - 1073, 1088, 1074, 1089, 1090, 1075, 1077, 1078, 1079, 1091, - 1092, 1081, 1082, 1093, 1095, 1096, 1097, 1099, 1102, 1105, - 1083, 1106, 1084, 1107, 1110, 1086, 1111, 1113, 1088, 1114, - 1089, 1090, 1115, 1116, 1117, 1118, 1091, 1092, 1119, 1120, - 1093, 1095, 1096, 1097, 1099, 1102, 1105, 1121, 1106, 1122, - 1107, 1110, 1123, 1111, 1113, 1124, 1114, 1125, 1126, 1115, - 1116, 1117, 1118, 1127, 1128, 1119, 1120, 1129, 1130, 1133, - 1134, 1135, 1137, 1138, 1121, 1139, 1122, 1140, 1141, 1123, - 1142, 1144, 1124, 1145, 1125, 1126, 1146, 1147, 1148, 1149, - - 1127, 1128, 1153, 1154, 1129, 1130, 1133, 1134, 1135, 1137, - 1138, 1154, 1139, 1155, 1140, 1141, 1156, 1142, 1144, 1157, - 1145, 1158, 1159, 1146, 1147, 1148, 1149, 1160, 1161, 1153, - 1154, 1164, 1166, 1167, 1168, 1170, 1171, 1172, 1173, 1159, - 1155, 1174, 1175, 1156, 1176, 1177, 1157, 1178, 1158, 1159, - 1179, 1180, 1181, 1178, 1160, 1161, 1183, 1188, 1164, 1166, - 1167, 1168, 1170, 1171, 1172, 1173, 1159, 1189, 1174, 1175, - 1190, 1176, 1177, 1191, 1178, 1192, 1193, 1179, 1180, 1181, - 1178, 1194, 1195, 1183, 1188, 1196, 1197, 1198, 1199, 1200, - 1201, 1202, 1203, 1204, 1189, 1205, 1206, 1190, 1207, 1208, - - 1191, 1209, 1192, 1193, 1211, 1212, 1213, 1214, 1194, 1195, - 1215, 1216, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, - 1204, 1217, 1205, 1206, 1218, 1207, 1208, 1219, 1209, 1220, - 1223, 1211, 1212, 1213, 1214, 1224, 1227, 1215, 1216, 1228, - 1229, 1232, 1233, 1234, 1235, 1237, 1238, 1239, 1217, 1242, - 1243, 1218, 1244, 1246, 1219, 1247, 1220, 1223, 1248, 1249, - 1250, 1251, 1224, 1227, 1252, 1253, 1228, 1229, 1232, 1233, - 1234, 1235, 1237, 1238, 1239, 1257, 1242, 1243, 1258, 1244, - 1246, 1259, 1247, 1260, 1262, 1248, 1249, 1250, 1251, 1263, - 1264, 1252, 1253, 1265, 1266, 1267, 1268, 1271, 1272, 1273, - - 1274, 1276, 1257, 1277, 1283, 1258, 1284, 1287, 1259, 1288, - 1260, 1262, 1289, 1291, 1292, 1293, 1263, 1264, 1294, 1296, - 1265, 1266, 1267, 1268, 1271, 1272, 1273, 1274, 1276, 1298, - 1277, 1283, 1299, 1284, 1287, 1301, 1288, 1303, 1304, 1289, - 1291, 1292, 1293, 1306, 1307, 1294, 1296, 1308, 1310, 1311, - 1312, 1313, 1314, 1315, 1316, 1318, 1298, 1319, 1321, 1299, - 1322, 1324, 1301, 1325, 1303, 1304, 1327, 1329, 1330, 1331, - 1306, 1307, 1332, 1333, 1308, 1310, 1311, 1312, 1313, 1314, - 1315, 1316, 1318, 1334, 1319, 1321, 1337, 1322, 1324, 1338, - 1325, 1339, 1340, 1327, 1329, 1330, 1331, 1341, 1342, 1332, - - 1333, 1343, 1344, 1345, 1346, 1347, 1348, 1351, 1354, 1355, - 1334, 1358, 1359, 1337, 1360, 1361, 1338, 1361, 1339, 1340, - 1362, 1364, 1367, 1368, 1341, 1342, 1370, 1372, 1343, 1344, - 1345, 1346, 1347, 1348, 1351, 1354, 1355, 1373, 1358, 1359, - 1374, 1360, 1361, 1375, 1361, 1376, 1377, 1362, 1364, 1367, - 1368, 1378, 1379, 1370, 1372, 1380, 1381, 1378, 1382, 1383, - 1384, 1385, 1386, 1387, 1373, 1389, 1390, 1374, 1392, 1393, - 1375, 1394, 1376, 1377, 1396, 1397, 1398, 1399, 1378, 1379, - 1400, 1401, 1380, 1381, 1378, 1382, 1383, 1384, 1385, 1386, - 1387, 1402, 1389, 1390, 1403, 1392, 1393, 1404, 1394, 1405, - - 1408, 1396, 1397, 1398, 1399, 1410, 1411, 1400, 1401, 1412, - 1413, 1414, 1415, 1416, 1418, 1419, 1420, 1423, 1402, 1424, - 1427, 1403, 1428, 1429, 1404, 1430, 1405, 1408, 1432, 1434, - 1435, 1437, 1410, 1411, 1438, 1439, 1412, 1413, 1414, 1415, - 1416, 1418, 1419, 1420, 1423, 1441, 1424, 1427, 1444, 1428, - 1429, 1445, 1430, 1446, 1447, 1432, 1434, 1435, 1437, 1448, - 1449, 1438, 1439, 1450, 1451, 1452, 1453, 1454, 1455, 1456, - 1459, 1460, 1441, 1461, 1462, 1444, 1463, 1464, 1445, 1465, - 1446, 1447, 1466, 1468, 1469, 1471, 1448, 1449, 1472, 1473, - 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1459, 1460, 1474, - - 1461, 1462, 1477, 1463, 1464, 1478, 1465, 1480, 1483, 1466, - 1468, 1469, 1471, 1484, 1485, 1472, 1473, 1486, 1487, 1488, - 1489, 1491, 1492, 1493, 1494, 1495, 1474, 1496, 1497, 1477, - 1498, 1499, 1478, 1500, 1480, 1483, 1501, 1502, 1503, 1504, - 1484, 1485, 1505, 1506, 1486, 1487, 1488, 1489, 1491, 1492, - 1493, 1494, 1495, 1507, 1496, 1497, 1508, 1498, 1499, 1509, - 1500, 1510, 1511, 1501, 1502, 1503, 1504, 1512, 1513, 1505, - 1506, 1514, 1515, 1516, 1517, 1518, 1520, 1528, 1529, 1530, - 1507, 1531, 1533, 1508, 1535, 1536, 1509, 1538, 1510, 1511, - 1539, 1540, 1541, 1542, 1512, 1513, 1545, 1547, 1514, 1515, - - 1516, 1517, 1518, 1520, 1528, 1529, 1530, 1548, 1531, 1533, - 1549, 1535, 1536, 1550, 1538, 1550, 1551, 1539, 1540, 1541, - 1542, 1552, 1554, 1545, 1547, 1555, 1556, 1557, 1558, 1559, - 1560, 1561, 1562, 1563, 1548, 1565, 1566, 1549, 1567, 1569, - 1550, 1570, 1550, 1551, 1571, 1572, 1573, 1576, 1552, 1554, - 1577, 1578, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, - 1563, 1579, 1565, 1566, 1582, 1567, 1569, 1583, 1570, 1584, - 1587, 1571, 1572, 1573, 1576, 1588, 1589, 1577, 1578, 1590, - 1591, 1592, 1594, 1595, 1597, 1599, 1600, 1603, 1579, 1604, - 1605, 1582, 1608, 1609, 1583, 1610, 1584, 1587, 1611, 1612, - - 1614, 1616, 1588, 1589, 1617, 1619, 1590, 1591, 1592, 1594, - 1595, 1597, 1599, 1600, 1603, 1620, 1604, 1605, 1621, 1608, - 1609, 1622, 1610, 1623, 1625, 1611, 1612, 1614, 1616, 1064, - 1061, 1617, 1619, 1028, 1027, 1026, 1025, 986, 984, 983, - 978, 970, 1620, 962, 953, 1621, 949, 943, 1622, 922, - 1623, 1625, 1630, 1630, 921, 920, 917, 916, 907, 890, - 852, 810, 798, 790, 788, 785, 784, 783, 782, 781, - 780, 743, 742, 739, 694, 688, 687, 686, 684, 655, - 653, 649, 626, 613, 572, 568, 566, 564, 559, 556, - 537, 529, 513, 507, 504, 481, 451, 449, 448, 433, - - 414, 394, 379, 378, 373, 361, 351, 348, 338, 323, - 319, 317, 309, 290, 277, 268, 226, 196, 181, 144, - 124, 37, 5, 3, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, 1628, - 1628, 1628, 1628 + 31, 75, 63, 31, 77, 76, 31, 31, 71, 78, + 63, 76, 75, 31, 70, 63, 70, 71, 79, 80, + 79, 81, 82, 31, 63, 63, 31, 31, 75, 63, + 31, 70, 76, 31, 31, 71, 83, 63, 76, 75, + 31, 70, 63, 70, 71, 79, 80, 79, 81, 82, + + 84, 85, 86, 87, 88, 89, 90, 92, 70, 93, + 91, 90, 92, 83, 91, 94, 95, 97, 1331, 98, + 100, 1330, 102, 1329, 1326, 99, 103, 84, 85, 86, + 87, 88, 89, 90, 92, 96, 93, 91, 90, 92, + 99, 91, 94, 95, 97, 96, 98, 100, 101, 102, + 101, 96, 99, 103, 104, 105, 106, 107, 108, 109, + 111, 101, 96, 115, 1312, 1307, 114, 99, 116, 118, + 104, 104, 96, 119, 1292, 101, 1291, 101, 96, 1273, + 1236, 104, 105, 106, 107, 108, 109, 111, 114, 120, + 115, 113, 112, 114, 117, 116, 118, 104, 104, 110, + + 119, 110, 110, 112, 117, 113, 110, 112, 110, 112, + 121, 110, 122, 123, 124, 114, 120, 110, 113, 112, + 125, 117, 127, 128, 1211, 130, 110, 1200, 110, 110, + 112, 117, 113, 110, 112, 110, 112, 121, 110, 122, + 123, 124, 131, 133, 110, 134, 133, 125, 135, 127, + 128, 129, 130, 132, 129, 136, 137, 138, 139, 132, + 141, 129, 129, 143, 142, 144, 135, 145, 129, 131, + 133, 142, 134, 133, 129, 135, 147, 148, 129, 149, + 132, 129, 136, 137, 138, 139, 132, 141, 129, 129, + 143, 142, 144, 135, 145, 129, 150, 151, 142, 152, + + 153, 129, 154, 147, 148, 155, 149, 156, 157, 158, + 159, 161, 162, 163, 164, 165, 166, 167, 168, 169, + 170, 171, 172, 150, 151, 174, 152, 153, 175, 154, + 176, 177, 155, 178, 156, 157, 158, 159, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 179, 174, 180, 180, 175, 181, 176, 177, 182, + 178, 184, 185, 173, 187, 188, 189, 190, 191, 189, + 192, 193, 194, 195, 197, 199, 200, 173, 179, 201, + 180, 180, 203, 181, 204, 201, 182, 205, 184, 185, + 173, 187, 188, 189, 190, 191, 189, 192, 193, 194, + + 195, 197, 199, 200, 202, 206, 201, 207, 208, 203, + 209, 204, 210, 211, 205, 213, 212, 214, 215, 216, + 202, 217, 218, 212, 219, 220, 221, 222, 212, 223, + 224, 202, 206, 212, 207, 208, 225, 209, 226, 210, + 211, 228, 213, 212, 214, 215, 216, 202, 217, 218, + 212, 219, 220, 221, 222, 212, 223, 224, 232, 229, + 212, 229, 233, 225, 231, 226, 235, 231, 228, 236, + 238, 239, 240, 241, 243, 244, 245, 246, 247, 248, + 244, 249, 250, 252, 253, 232, 229, 254, 229, 233, + 1191, 231, 255, 235, 231, 256, 236, 238, 239, 240, + + 241, 243, 244, 245, 246, 247, 248, 251, 249, 250, + 252, 253, 257, 258, 254, 259, 260, 251, 261, 255, + 262, 263, 256, 264, 265, 260, 266, 267, 269, 270, + 271, 272, 275, 277, 251, 278, 279, 280, 281, 257, + 258, 283, 259, 260, 251, 261, 284, 262, 263, 285, + 264, 265, 286, 266, 267, 269, 270, 271, 272, 275, + 277, 289, 278, 279, 280, 281, 290, 292, 283, 293, + 294, 296, 297, 284, 298, 299, 285, 300, 301, 286, + 302, 303, 305, 306, 308, 309, 310, 312, 289, 311, + 313, 316, 317, 290, 292, 318, 293, 294, 296, 297, + + 312, 298, 299, 311, 300, 301, 323, 302, 303, 305, + 306, 308, 309, 310, 312, 325, 311, 313, 316, 317, + 319, 319, 318, 326, 327, 329, 330, 331, 332, 1178, + 311, 1157, 334, 323, 335, 1154, 336, 1153, 337, 338, + 1143, 339, 325, 337, 340, 343, 345, 319, 319, 347, + 326, 327, 329, 330, 331, 332, 333, 333, 333, 334, + 348, 335, 333, 336, 333, 337, 338, 333, 339, 333, + 337, 340, 343, 345, 349, 333, 347, 350, 333, 351, + 352, 353, 356, 333, 333, 333, 360, 348, 361, 333, + 362, 333, 354, 363, 333, 364, 333, 365, 366, 367, + + 368, 349, 333, 370, 350, 333, 351, 352, 353, 356, + 354, 371, 372, 360, 354, 361, 375, 362, 354, 354, + 363, 373, 364, 376, 365, 366, 367, 368, 378, 379, + 370, 373, 380, 381, 384, 1132, 374, 354, 371, 372, + 374, 354, 385, 375, 386, 374, 383, 383, 373, 388, + 376, 390, 391, 393, 394, 378, 379, 395, 396, 380, + 381, 384, 383, 374, 397, 398, 399, 374, 401, 385, + 402, 386, 374, 383, 383, 401, 388, 403, 390, 391, + 393, 394, 405, 406, 395, 396, 407, 408, 409, 383, + 410, 397, 398, 399, 411, 401, 412, 402, 413, 414, + + 416, 417, 401, 413, 403, 419, 420, 422, 423, 405, + 406, 426, 427, 407, 408, 409, 428, 410, 430, 431, + 433, 411, 434, 412, 435, 413, 414, 416, 417, 436, + 413, 437, 419, 420, 422, 423, 438, 440, 426, 427, + 442, 444, 445, 428, 446, 430, 431, 433, 447, 434, + 448, 435, 449, 451, 452, 453, 436, 454, 437, 455, + 456, 457, 449, 438, 440, 458, 461, 442, 444, 445, + 463, 446, 464, 465, 466, 447, 467, 448, 469, 449, + 451, 452, 453, 470, 454, 471, 455, 456, 457, 449, + 468, 474, 458, 461, 468, 472, 475, 463, 476, 464, + + 465, 466, 473, 467, 477, 469, 478, 472, 479, 480, + 470, 481, 471, 482, 483, 485, 473, 468, 474, 484, + 486, 468, 472, 475, 487, 476, 484, 488, 489, 473, + 490, 477, 491, 478, 472, 479, 480, 492, 481, 493, + 482, 483, 485, 473, 495, 497, 484, 486, 499, 498, + 500, 487, 501, 484, 488, 489, 502, 490, 503, 491, + 498, 496, 496, 506, 492, 499, 493, 496, 507, 508, + 505, 495, 497, 505, 509, 499, 498, 500, 510, 501, + 511, 510, 512, 502, 514, 503, 515, 498, 496, 496, + 506, 516, 499, 517, 496, 507, 508, 505, 518, 521, + + 505, 509, 526, 527, 529, 510, 530, 511, 510, 512, + 532, 514, 525, 515, 533, 534, 525, 535, 516, 525, + 517, 536, 525, 537, 538, 518, 521, 539, 540, 526, + 527, 529, 541, 530, 542, 543, 544, 532, 546, 525, + 547, 533, 534, 525, 535, 548, 525, 552, 536, 525, + 537, 538, 554, 556, 539, 540, 557, 558, 559, 541, + 560, 542, 543, 544, 561, 546, 562, 547, 563, 564, + 565, 566, 548, 567, 552, 568, 559, 569, 570, 554, + 556, 571, 574, 557, 558, 559, 576, 560, 577, 578, + 580, 561, 1130, 562, 581, 563, 564, 565, 566, 583, + + 567, 585, 568, 587, 569, 570, 589, 586, 571, 574, + 579, 579, 590, 576, 580, 577, 578, 580, 586, 579, + 591, 581, 593, 594, 579, 595, 583, 596, 585, 597, + 587, 598, 602, 589, 586, 603, 604, 579, 579, 590, + 605, 606, 608, 609, 610, 586, 579, 591, 607, 593, + 594, 579, 595, 611, 596, 607, 597, 612, 598, 602, + 613, 615, 603, 604, 616, 617, 618, 605, 606, 608, + 609, 610, 619, 620, 622, 607, 623, 624, 625, 626, + 611, 627, 607, 628, 612, 629, 630, 613, 615, 631, + 633, 616, 617, 618, 634, 635, 636, 637, 638, 619, + + 620, 622, 639, 623, 624, 625, 626, 641, 627, 642, + 628, 643, 629, 630, 644, 645, 631, 633, 648, 649, + 651, 634, 635, 636, 637, 638, 652, 653, 654, 639, + 655, 656, 658, 660, 641, 661, 642, 663, 643, 659, + 659, 644, 645, 664, 665, 648, 649, 651, 666, 667, + 668, 669, 671, 652, 653, 654, 673, 655, 656, 658, + 660, 675, 661, 1109, 663, 676, 659, 659, 678, 1108, + 664, 665, 681, 682, 683, 666, 667, 668, 669, 671, + 672, 685, 686, 673, 672, 687, 672, 689, 675, 690, + 672, 672, 676, 692, 693, 678, 672, 694, 695, 681, + + 682, 683, 696, 697, 698, 699, 700, 672, 685, 686, + 702, 672, 687, 672, 689, 704, 690, 672, 672, 705, + 692, 693, 707, 672, 694, 695, 711, 712, 713, 696, + 697, 698, 699, 700, 714, 715, 718, 702, 719, 720, + 721, 722, 704, 723, 725, 726, 705, 727, 719, 707, + 728, 729, 730, 711, 712, 713, 731, 732, 733, 734, + 735, 714, 715, 718, 736, 719, 720, 721, 722, 737, + 723, 725, 726, 738, 727, 719, 739, 728, 729, 730, + 740, 741, 742, 731, 732, 733, 734, 735, 743, 744, + 745, 736, 746, 747, 748, 749, 737, 750, 751, 752, + + 738, 753, 754, 739, 755, 757, 758, 740, 741, 742, + 759, 762, 763, 765, 766, 743, 744, 745, 767, 746, + 747, 748, 749, 770, 750, 751, 752, 771, 753, 754, + 772, 755, 757, 758, 773, 774, 775, 759, 762, 763, + 765, 766, 776, 777, 778, 767, 779, 780, 781, 783, + 770, 784, 785, 786, 771, 787, 789, 772, 790, 791, + 793, 773, 774, 775, 794, 795, 796, 797, 798, 776, + 777, 778, 799, 779, 780, 781, 783, 800, 784, 785, + 786, 801, 787, 789, 802, 790, 791, 793, 803, 804, + 805, 794, 795, 796, 797, 798, 806, 813, 814, 799, + + 815, 817, 821, 824, 800, 828, 829, 830, 801, 831, + 834, 802, 835, 814, 836, 803, 804, 805, 837, 840, + 1104, 842, 843, 806, 813, 814, 844, 815, 817, 821, + 824, 839, 828, 829, 830, 845, 831, 834, 839, 835, + 814, 836, 841, 847, 839, 837, 840, 841, 842, 843, + 848, 849, 850, 844, 851, 852, 853, 854, 839, 841, + 855, 856, 845, 857, 858, 839, 859, 860, 861, 841, + 847, 839, 862, 864, 841, 865, 866, 848, 849, 850, + 867, 851, 852, 853, 854, 868, 841, 855, 856, 869, + 857, 858, 870, 859, 860, 861, 871, 872, 873, 862, + + 864, 874, 865, 866, 876, 877, 878, 867, 879, 881, + 883, 884, 868, 885, 886, 887, 869, 889, 890, 870, + 891, 892, 895, 871, 872, 873, 896, 897, 874, 893, + 898, 876, 877, 878, 900, 879, 881, 883, 884, 893, + 885, 886, 887, 902, 889, 890, 904, 891, 892, 895, + 905, 906, 907, 896, 897, 909, 893, 898, 910, 911, + 912, 900, 913, 914, 915, 916, 893, 917, 918, 919, + 902, 920, 921, 904, 923, 924, 925, 905, 906, 907, + 926, 927, 909, 928, 929, 910, 911, 912, 930, 913, + 914, 915, 916, 931, 917, 918, 919, 932, 920, 921, + + 933, 923, 924, 925, 934, 935, 936, 926, 927, 937, + 928, 929, 938, 940, 941, 930, 942, 943, 944, 945, + 931, 946, 947, 948, 932, 952, 953, 933, 958, 959, + 960, 934, 935, 936, 961, 962, 937, 963, 964, 938, + 940, 941, 965, 942, 943, 944, 945, 966, 946, 947, + 948, 967, 952, 953, 968, 958, 959, 960, 969, 971, + 972, 961, 962, 973, 963, 964, 974, 975, 976, 965, + 977, 979, 980, 981, 966, 982, 983, 984, 967, 986, + 987, 968, 988, 986, 990, 969, 971, 972, 991, 992, + 973, 994, 995, 974, 975, 976, 997, 977, 979, 980, + + 981, 998, 982, 983, 984, 1000, 986, 987, 1001, 988, + 986, 990, 1004, 1005, 1006, 991, 992, 1010, 994, 995, + 1012, 1004, 1013, 997, 1014, 1015, 1016, 1018, 998, 1004, + 1019, 1020, 1000, 1021, 1024, 1001, 1026, 1028, 1029, 1004, + 1005, 1006, 1033, 1034, 1010, 1035, 1036, 1012, 1004, 1013, + 1037, 1014, 1015, 1016, 1018, 1038, 1004, 1019, 1020, 1039, + 1021, 1024, 1040, 1026, 1028, 1029, 1041, 1042, 1043, 1033, + 1034, 1044, 1035, 1036, 1045, 1046, 1047, 1037, 1048, 1049, + 1050, 1051, 1038, 1052, 1053, 1054, 1039, 1055, 1056, 1040, + 1057, 1058, 1059, 1041, 1042, 1043, 1060, 1061, 1044, 1062, + + 1064, 1045, 1046, 1047, 1065, 1048, 1049, 1050, 1051, 1070, + 1052, 1053, 1054, 1071, 1055, 1056, 1072, 1057, 1058, 1059, + 1073, 1074, 1075, 1060, 1061, 1076, 1062, 1064, 1077, 1078, + 1079, 1065, 1080, 1081, 1082, 1083, 1070, 1084, 1085, 1086, + 1071, 1087, 1088, 1072, 1090, 1091, 1092, 1073, 1074, 1075, + 1093, 1094, 1076, 1095, 1096, 1077, 1078, 1079, 1097, 1080, + 1081, 1082, 1083, 1098, 1084, 1085, 1086, 1100, 1087, 1088, + 1101, 1090, 1091, 1092, 1102, 1103, 1105, 1093, 1094, 1106, + 1095, 1096, 1110, 1111, 1112, 1097, 1114, 1115, 1117, 1118, + 1098, 1119, 1121, 1122, 1100, 1123, 1125, 1101, 1126, 1127, + + 1129, 1102, 1103, 1105, 1131, 1133, 1106, 1134, 1135, 1110, + 1111, 1112, 1136, 1114, 1115, 1117, 1118, 1137, 1119, 1121, + 1122, 1138, 1123, 1125, 1140, 1126, 1127, 1129, 1141, 1142, + 1144, 1131, 1133, 1147, 1134, 1135, 1150, 1151, 1152, 1136, + 1155, 1156, 1158, 1159, 1137, 1160, 1161, 1162, 1138, 1163, + 1164, 1140, 1165, 1166, 1168, 1141, 1142, 1144, 1169, 1170, + 1147, 1171, 1172, 1150, 1151, 1152, 1173, 1155, 1156, 1158, + 1159, 1174, 1160, 1161, 1162, 1175, 1163, 1164, 1176, 1165, + 1166, 1168, 1177, 1180, 1181, 1169, 1170, 1182, 1171, 1172, + 1183, 1185, 1186, 1173, 1187, 1188, 1189, 1190, 1174, 1192, + + 1193, 1194, 1175, 1195, 1196, 1176, 1197, 1202, 1203, 1177, + 1180, 1181, 1204, 1205, 1182, 1206, 1203, 1183, 1185, 1186, + 1207, 1187, 1188, 1189, 1190, 1209, 1192, 1193, 1194, 1208, + 1195, 1196, 1210, 1197, 1202, 1203, 1213, 1215, 1216, 1204, + 1205, 1217, 1206, 1219, 1220, 1221, 1208, 1207, 1222, 1223, + 1224, 1225, 1209, 1226, 1227, 1228, 1208, 1229, 1230, 1210, + 1227, 1232, 1237, 1213, 1215, 1216, 1238, 1239, 1217, 1240, + 1219, 1220, 1221, 1208, 1241, 1222, 1223, 1224, 1225, 1242, + 1226, 1227, 1228, 1243, 1229, 1230, 1244, 1227, 1232, 1237, + 1245, 1246, 1247, 1238, 1239, 1248, 1240, 1249, 1250, 1251, + + 1252, 1241, 1253, 1254, 1255, 1257, 1242, 1258, 1259, 1261, + 1243, 1262, 1263, 1244, 1264, 1265, 1266, 1245, 1246, 1247, + 1267, 1268, 1248, 1269, 1249, 1250, 1251, 1252, 1270, 1253, + 1254, 1255, 1257, 1271, 1258, 1259, 1261, 1274, 1262, 1263, + 1275, 1264, 1265, 1266, 1278, 1279, 1280, 1267, 1268, 1283, + 1269, 1284, 1285, 1286, 1288, 1270, 1289, 1290, 1293, 1294, + 1271, 1295, 1297, 1298, 1274, 1299, 1300, 1275, 1301, 1302, + 1303, 1278, 1279, 1280, 1304, 1308, 1283, 1309, 1284, 1285, + 1286, 1288, 1310, 1289, 1290, 1293, 1294, 1311, 1295, 1297, + 1298, 1313, 1299, 1300, 1314, 1301, 1302, 1303, 1315, 1316, + + 1317, 1304, 1308, 1318, 1309, 1319, 1322, 1323, 1324, 1310, + 1325, 1327, 1328, 1334, 1311, 1335, 1338, 1339, 1313, 1340, + 1342, 1314, 1343, 1344, 1345, 1315, 1316, 1317, 1347, 1350, + 1318, 1351, 1319, 1322, 1323, 1324, 1353, 1325, 1327, 1328, + 1334, 1355, 1335, 1338, 1339, 1356, 1340, 1342, 1358, 1343, + 1344, 1345, 1359, 1360, 1362, 1347, 1350, 1363, 1351, 1364, + 1365, 1366, 1367, 1353, 1368, 1370, 1371, 1373, 1355, 1374, + 1376, 1377, 1356, 1379, 1381, 1358, 1382, 1383, 1384, 1359, + 1360, 1362, 1385, 1386, 1363, 1389, 1364, 1365, 1366, 1367, + 1390, 1368, 1370, 1371, 1373, 1391, 1374, 1376, 1377, 1392, + + 1379, 1381, 1393, 1382, 1383, 1384, 1394, 1395, 1396, 1385, + 1386, 1397, 1389, 1398, 1399, 1400, 1403, 1390, 1406, 1407, + 1410, 1411, 1391, 1412, 1414, 1413, 1392, 1413, 1416, 1393, + 1419, 1420, 1422, 1394, 1395, 1396, 1424, 1425, 1397, 1426, + 1398, 1399, 1400, 1403, 1427, 1406, 1407, 1410, 1411, 1428, + 1412, 1414, 1413, 1429, 1413, 1416, 1430, 1419, 1420, 1422, + 1431, 1432, 1430, 1424, 1425, 1433, 1426, 1434, 1435, 1436, + 1437, 1427, 1438, 1439, 1441, 1442, 1428, 1444, 1445, 1446, + 1429, 1448, 1449, 1430, 1450, 1451, 1452, 1431, 1432, 1430, + 1453, 1454, 1433, 1455, 1434, 1435, 1436, 1437, 1456, 1438, + + 1439, 1441, 1442, 1457, 1444, 1445, 1446, 1460, 1448, 1449, + 1462, 1450, 1451, 1452, 1463, 1464, 1465, 1453, 1454, 1466, + 1455, 1467, 1468, 1470, 1471, 1456, 1472, 1475, 1476, 1479, + 1457, 1480, 1481, 1482, 1460, 1484, 1486, 1462, 1487, 1489, + 1490, 1463, 1464, 1465, 1491, 1493, 1466, 1496, 1467, 1468, + 1470, 1471, 1497, 1472, 1475, 1476, 1479, 1498, 1480, 1481, + 1482, 1499, 1484, 1486, 1500, 1487, 1489, 1490, 1501, 1502, + 1503, 1491, 1493, 1504, 1496, 1505, 1506, 1507, 1508, 1497, + 1511, 1512, 1513, 1514, 1498, 1515, 1516, 1517, 1499, 1518, + 1520, 1500, 1521, 1523, 1524, 1501, 1502, 1503, 1525, 1526, + + 1504, 1529, 1505, 1506, 1507, 1508, 1530, 1511, 1512, 1513, + 1514, 1532, 1515, 1516, 1517, 1535, 1518, 1520, 1536, 1521, + 1523, 1524, 1537, 1538, 1539, 1525, 1526, 1540, 1529, 1541, + 1543, 1544, 1545, 1530, 1546, 1547, 1548, 1549, 1532, 1550, + 1551, 1552, 1535, 1553, 1554, 1536, 1555, 1556, 1557, 1537, + 1538, 1539, 1558, 1559, 1540, 1560, 1541, 1543, 1544, 1545, + 1561, 1546, 1547, 1548, 1549, 1562, 1550, 1551, 1552, 1563, + 1553, 1554, 1564, 1555, 1556, 1557, 1565, 1566, 1567, 1558, + 1559, 1568, 1560, 1569, 1570, 1572, 1580, 1561, 1581, 1582, + 1583, 1585, 1562, 1587, 1588, 1590, 1563, 1591, 1592, 1564, + + 1593, 1594, 1597, 1565, 1566, 1567, 1599, 1600, 1568, 1601, + 1569, 1570, 1572, 1580, 1603, 1581, 1582, 1583, 1585, 1604, + 1587, 1588, 1590, 1606, 1591, 1592, 1607, 1593, 1594, 1597, + 1602, 1608, 1602, 1599, 1600, 1609, 1601, 1610, 1611, 1612, + 1613, 1603, 1614, 1615, 1617, 1618, 1604, 1619, 1621, 1622, + 1606, 1623, 1624, 1607, 1625, 1628, 1629, 1602, 1608, 1602, + 1630, 1631, 1609, 1634, 1610, 1611, 1612, 1613, 1635, 1614, + 1615, 1617, 1618, 1636, 1619, 1621, 1622, 1639, 1623, 1624, + 1640, 1625, 1628, 1629, 1641, 1642, 1643, 1630, 1631, 1644, + 1634, 1646, 1647, 1649, 1651, 1635, 1652, 1655, 1656, 1657, + + 1636, 1660, 1661, 1662, 1639, 1663, 1664, 1640, 1666, 1668, + 1669, 1641, 1642, 1643, 1671, 1672, 1644, 1673, 1646, 1647, + 1649, 1651, 1674, 1652, 1655, 1656, 1657, 1675, 1660, 1661, + 1662, 1677, 1663, 1664, 1069, 1666, 1668, 1669, 1068, 1067, + 1066, 1671, 1672, 1025, 1673, 1023, 1022, 1017, 1007, 1674, + 999, 989, 985, 978, 1675, 956, 955, 954, 1677, 1682, + 1682, 951, 950, 939, 922, 882, 838, 826, 818, 816, + 812, 811, 810, 809, 808, 807, 769, 768, 764, 716, + 710, 709, 708, 706, 677, 674, 670, 646, 632, 588, + 584, 582, 575, 572, 553, 545, 528, 522, 519, 494, + + 462, 460, 459, 443, 424, 404, 389, 387, 382, 369, + 358, 355, 344, 328, 324, 322, 314, 295, 282, 273, + 230, 198, 183, 146, 126, 37, 5, 3, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, + 1680, 1680, 1680, 1680, 1680, 1680, 1680 } ; @@ -1761,7 +1788,8 @@ conf_yy_fatal_error(const char *msg) return 0; } -#line 1765 "conf_lexer.c" +#line 1792 "conf_lexer.c" +#line 1793 "conf_lexer.c" #define INITIAL 0 @@ -1777,36 +1805,36 @@ conf_yy_fatal_error(const char *msg) #define YY_EXTRA_TYPE void * #endif -static int yy_init_globals (void ); +static int yy_init_globals ( void ); /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ -int yylex_destroy (void ); +int yylex_destroy ( void ); -int yyget_debug (void ); +int yyget_debug ( void ); -void yyset_debug (int debug_flag ); +void yyset_debug ( int debug_flag ); -YY_EXTRA_TYPE yyget_extra (void ); +YY_EXTRA_TYPE yyget_extra ( void ); -void yyset_extra (YY_EXTRA_TYPE user_defined ); +void yyset_extra ( YY_EXTRA_TYPE user_defined ); -FILE *yyget_in (void ); +FILE *yyget_in ( void ); -void yyset_in (FILE * in_str ); +void yyset_in ( FILE * _in_str ); -FILE *yyget_out (void ); +FILE *yyget_out ( void ); -void yyset_out (FILE * out_str ); +void yyset_out ( FILE * _out_str ); -yy_size_t yyget_leng (void ); + int yyget_leng ( void ); -char *yyget_text (void ); +char *yyget_text ( void ); -int yyget_lineno (void ); +int yyget_lineno ( void ); -void yyset_lineno (int line_number ); +void yyset_lineno ( int _line_number ); /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1814,33 +1842,41 @@ void yyset_lineno (int line_number ); #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus -extern "C" int yywrap (void ); +extern "C" int yywrap ( void ); #else -extern int yywrap (void ); +extern int yywrap ( void ); #endif #endif +#ifndef YY_NO_UNPUT + +#endif + #ifndef yytext_ptr -static void yy_flex_strncpy (char *,yyconst char *,int ); +static void yy_flex_strncpy ( char *, const char *, int ); #endif #ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * ); +static int yy_flex_strlen ( const char * ); #endif #ifndef YY_NO_INPUT - #ifdef __cplusplus -static int yyinput (void ); +static int yyinput ( void ); #else -static int input (void ); +static int input ( void ); #endif #endif /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -1848,7 +1884,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -1859,7 +1895,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -1872,7 +1908,7 @@ static int input (void ); else \ { \ errno=0; \ - while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ @@ -1927,7 +1963,7 @@ extern int yylex (void); /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK break; +#define YY_BREAK /*LINTED*/break; #endif #define YY_RULE_SETUP \ @@ -1937,9 +1973,9 @@ extern int yylex (void); */ YY_DECL { - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; + yy_state_type yy_current_state; + char *yy_cp, *yy_bp; + int yy_act; if ( !(yy_init) ) { @@ -1961,23 +1997,23 @@ YY_DECL if ( ! YY_CURRENT_BUFFER ) { yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer(yyin,YY_BUF_SIZE ); + yy_create_buffer( yyin, YY_BUF_SIZE ); } - yy_load_buffer_state( ); + yy_load_buffer_state( ); } { #line 80 "conf_lexer.l" -#line 1974 "conf_lexer.c" +#line 2010 "conf_lexer.c" - while ( 1 ) /* loops until end-of-file is reached */ + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { (yy_more_len) = 0; if ( (yy_more_flag) ) { - (yy_more_len) = (yy_c_buf_p) - (yytext_ptr); + (yy_more_len) = (int) ((yy_c_buf_p) - (yytext_ptr)); (yy_more_flag) = 0; } yy_cp = (yy_c_buf_p); @@ -1994,7 +2030,7 @@ YY_DECL yy_match: do { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -2003,13 +2039,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1629 ) - yy_c = yy_meta[(unsigned int) yy_c]; + if ( yy_current_state >= 1681 ) + yy_c = yy_meta[yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 1628 ); + while ( yy_current_state != 1680 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2237,1113 +2273,1163 @@ YY_RULE_SETUP case 33: YY_RULE_SETUP #line 161 "conf_lexer.l" -{ return DEFAULT_SPLIT_SERVER_COUNT; } +{ return DEFAULT_MODES; } YY_BREAK case 34: YY_RULE_SETUP #line 162 "conf_lexer.l" -{ return DEFAULT_SPLIT_USER_COUNT; } +{ return DEFAULT_SPLIT_SERVER_COUNT; } YY_BREAK case 35: YY_RULE_SETUP #line 163 "conf_lexer.l" -{ return DENY; } +{ return DEFAULT_SPLIT_USER_COUNT; } YY_BREAK case 36: YY_RULE_SETUP #line 164 "conf_lexer.l" -{ return DESCRIPTION; } +{ return DENY; } YY_BREAK case 37: YY_RULE_SETUP #line 165 "conf_lexer.l" -{ return DIE; } +{ return DESCRIPTION; } YY_BREAK case 38: YY_RULE_SETUP #line 166 "conf_lexer.l" -{ return DISABLE_AUTH; } +{ return DIE; } YY_BREAK case 39: YY_RULE_SETUP #line 167 "conf_lexer.l" -{ return DISABLE_FAKE_CHANNELS; } +{ return DISABLE_AUTH; } YY_BREAK case 40: YY_RULE_SETUP #line 168 "conf_lexer.l" -{ return DISABLE_REMOTE_COMMANDS; } +{ return DISABLE_FAKE_CHANNELS; } YY_BREAK case 41: YY_RULE_SETUP #line 169 "conf_lexer.l" -{ return T_DLINE; } +{ return DISABLE_REMOTE_COMMANDS; } YY_BREAK case 42: YY_RULE_SETUP #line 170 "conf_lexer.l" -{ return DOTS_IN_IDENT; } +{ return T_DLINE; } YY_BREAK case 43: YY_RULE_SETUP #line 171 "conf_lexer.l" -{ return EGDPOOL_PATH; } +{ return DOTS_IN_IDENT; } YY_BREAK case 44: YY_RULE_SETUP #line 172 "conf_lexer.l" -{ return EMAIL; } +{ return EGDPOOL_PATH; } YY_BREAK case 45: YY_RULE_SETUP #line 173 "conf_lexer.l" -{ return ENCRYPTED; } +{ return EMAIL; } YY_BREAK case 46: YY_RULE_SETUP #line 174 "conf_lexer.l" -{ return EXCEED_LIMIT; } +{ return ENCRYPTED; } YY_BREAK case 47: YY_RULE_SETUP #line 175 "conf_lexer.l" -{ return EXEMPT; } +{ return EXCEED_LIMIT; } YY_BREAK case 48: YY_RULE_SETUP #line 176 "conf_lexer.l" -{ return T_EXTERNAL; } +{ return EXEMPT; } YY_BREAK case 49: YY_RULE_SETUP #line 177 "conf_lexer.l" -{ return FAILED_OPER_NOTICE; } +{ return T_EXTERNAL; } YY_BREAK case 50: YY_RULE_SETUP #line 178 "conf_lexer.l" -{ return T_FARCONNECT; } +{ return FAILED_OPER_NOTICE; } YY_BREAK case 51: YY_RULE_SETUP #line 179 "conf_lexer.l" -{ return T_FILE; } +{ return T_FARCONNECT; } YY_BREAK case 52: YY_RULE_SETUP #line 180 "conf_lexer.l" -{ return IRCD_FLAGS; } +{ return T_FILE; } YY_BREAK case 53: YY_RULE_SETUP #line 181 "conf_lexer.l" -{ return FLATTEN_LINKS; } +{ return IRCD_FLAGS; } YY_BREAK case 54: YY_RULE_SETUP #line 182 "conf_lexer.l" -{ return T_FULL; } +{ return FLATTEN_LINKS; } YY_BREAK case 55: YY_RULE_SETUP #line 183 "conf_lexer.l" -{ return GECOS; } +{ return T_FULL; } YY_BREAK case 56: YY_RULE_SETUP #line 184 "conf_lexer.l" -{ return GENERAL; } +{ return GECOS; } YY_BREAK case 57: YY_RULE_SETUP #line 185 "conf_lexer.l" -{ return GLINE; } +{ return GENERAL; } YY_BREAK case 58: YY_RULE_SETUP #line 186 "conf_lexer.l" -{ return GLINE_DURATION; } +{ return GLINE; } YY_BREAK case 59: YY_RULE_SETUP #line 187 "conf_lexer.l" -{ return GLINE_ENABLE; } +{ return GLINE_DURATION; } YY_BREAK case 60: YY_RULE_SETUP #line 188 "conf_lexer.l" -{ return GLINE_EXEMPT; } +{ return GLINE_ENABLE; } YY_BREAK case 61: YY_RULE_SETUP #line 189 "conf_lexer.l" -{ return GLINE_MIN_CIDR; } +{ return GLINE_EXEMPT; } YY_BREAK case 62: YY_RULE_SETUP #line 190 "conf_lexer.l" -{ return GLINE_MIN_CIDR6; } +{ return GLINE_MIN_CIDR; } YY_BREAK case 63: YY_RULE_SETUP #line 191 "conf_lexer.l" -{ return GLINE_REQUEST_DURATION; } +{ return GLINE_MIN_CIDR6; } YY_BREAK case 64: YY_RULE_SETUP #line 192 "conf_lexer.l" -{ return GLOBAL_KILL; } +{ return GLINE_REQUEST_DURATION; } YY_BREAK case 65: YY_RULE_SETUP #line 193 "conf_lexer.l" -{ return T_GLOBOPS; } +{ return GLOBAL_KILL; } YY_BREAK case 66: YY_RULE_SETUP #line 194 "conf_lexer.l" -{ return NEED_IDENT; } +{ return T_GCHANOPS; } YY_BREAK case 67: YY_RULE_SETUP #line 195 "conf_lexer.l" -{ return HAVENT_READ_CONF; } +{ return T_GLOBOPS; } YY_BREAK case 68: YY_RULE_SETUP #line 196 "conf_lexer.l" -{ return HIDDEN; } +{ return NEED_IDENT; } YY_BREAK case 69: YY_RULE_SETUP #line 197 "conf_lexer.l" -{ return HIDDEN_NAME; } +{ return HAVENT_READ_CONF; } YY_BREAK case 70: YY_RULE_SETUP #line 198 "conf_lexer.l" -{ return HIDE_IDLE_FROM_OPERS; } +{ return HIDDEN; } YY_BREAK case 71: YY_RULE_SETUP #line 199 "conf_lexer.l" -{ return HIDE_SERVER_IPS; } +{ return HIDDEN_NAME; } YY_BREAK case 72: YY_RULE_SETUP #line 200 "conf_lexer.l" -{ return HIDE_SERVERS; } +{ return HIDE_IDLE_FROM_OPERS; } YY_BREAK case 73: YY_RULE_SETUP #line 201 "conf_lexer.l" -{ return HIDE_SERVICES; } +{ return HIDE_SERVER_IPS; } YY_BREAK case 74: YY_RULE_SETUP #line 202 "conf_lexer.l" -{ return HIDE_SPOOF_IPS; } +{ return HIDE_SERVERS; } YY_BREAK case 75: YY_RULE_SETUP #line 203 "conf_lexer.l" -{ return HOST; } +{ return HIDE_SERVICES; } YY_BREAK case 76: YY_RULE_SETUP #line 204 "conf_lexer.l" -{ return HUB; } +{ return HIDE_SPOOF_IPS; } YY_BREAK case 77: YY_RULE_SETUP #line 205 "conf_lexer.l" -{ return HUB_MASK; } +{ return HOST; } YY_BREAK case 78: YY_RULE_SETUP #line 206 "conf_lexer.l" -{ return IGNORE_BOGUS_TS; } +{ return HUB; } YY_BREAK case 79: YY_RULE_SETUP #line 207 "conf_lexer.l" -{ return T_INVISIBLE; } +{ return HUB_MASK; } YY_BREAK case 80: YY_RULE_SETUP #line 208 "conf_lexer.l" -{ return INVISIBLE_ON_CONNECT; } +{ return IGNORE_BOGUS_TS; } YY_BREAK case 81: YY_RULE_SETUP #line 209 "conf_lexer.l" -{ return IP; } +{ return T_INVISIBLE; } YY_BREAK case 82: YY_RULE_SETUP #line 210 "conf_lexer.l" -{ return T_IPV4; } +{ return INVISIBLE_ON_CONNECT; } YY_BREAK case 83: YY_RULE_SETUP #line 211 "conf_lexer.l" -{ return T_IPV6; } +{ return T_INVITEONLY; } YY_BREAK case 84: YY_RULE_SETUP #line 212 "conf_lexer.l" -{ return JOIN_FLOOD_COUNT; } +{ return IP; } YY_BREAK case 85: YY_RULE_SETUP #line 213 "conf_lexer.l" -{ return JOIN_FLOOD_TIME; } +{ return T_IPV4; } YY_BREAK case 86: YY_RULE_SETUP #line 214 "conf_lexer.l" -{ return KILL; } +{ return T_IPV6; } YY_BREAK case 87: YY_RULE_SETUP #line 215 "conf_lexer.l" -{ return KILL_CHASE_TIME_LIMIT; } +{ return JOIN_FLOOD_COUNT; } YY_BREAK case 88: YY_RULE_SETUP #line 216 "conf_lexer.l" -{ return KLINE; } +{ return JOIN_FLOOD_TIME; } YY_BREAK case 89: YY_RULE_SETUP #line 217 "conf_lexer.l" -{ return KLINE_EXEMPT; } +{ return KILL; } YY_BREAK case 90: YY_RULE_SETUP #line 218 "conf_lexer.l" -{ return KNOCK_DELAY; } +{ return KILL_CHASE_TIME_LIMIT; } YY_BREAK case 91: YY_RULE_SETUP #line 219 "conf_lexer.l" -{ return KNOCK_DELAY_CHANNEL; } +{ return KLINE; } YY_BREAK case 92: YY_RULE_SETUP #line 220 "conf_lexer.l" -{ return LEAF_MASK; } +{ return KLINE_EXEMPT; } YY_BREAK case 93: YY_RULE_SETUP #line 221 "conf_lexer.l" -{ return LINKS_DELAY; } +{ return KNOCK_DELAY; } YY_BREAK case 94: YY_RULE_SETUP #line 222 "conf_lexer.l" -{ return LISTEN; } +{ return KNOCK_DELAY_CHANNEL; } YY_BREAK case 95: YY_RULE_SETUP #line 223 "conf_lexer.l" -{ return T_LOCOPS; } +{ return LEAF_MASK; } YY_BREAK case 96: YY_RULE_SETUP #line 224 "conf_lexer.l" -{ return T_LOG; } +{ return LINKS_DELAY; } YY_BREAK case 97: YY_RULE_SETUP #line 225 "conf_lexer.l" -{ return MASK; } +{ return LISTEN; } YY_BREAK case 98: YY_RULE_SETUP #line 226 "conf_lexer.l" -{ return TMASKED; } +{ return T_LOCOPS; } YY_BREAK case 99: YY_RULE_SETUP #line 227 "conf_lexer.l" -{ return MAX_ACCEPT; } +{ return T_LOG; } YY_BREAK case 100: YY_RULE_SETUP #line 228 "conf_lexer.l" -{ return MAX_BANS; } +{ return MASK; } YY_BREAK case 101: YY_RULE_SETUP #line 229 "conf_lexer.l" -{ return MAX_CHANS_PER_OPER; } +{ return TMASKED; } YY_BREAK case 102: YY_RULE_SETUP #line 230 "conf_lexer.l" -{ return MAX_CHANS_PER_USER; } +{ return MAX_ACCEPT; } YY_BREAK case 103: YY_RULE_SETUP #line 231 "conf_lexer.l" -{ return T_MAX_CLIENTS; } +{ return MAX_BANS; } YY_BREAK case 104: YY_RULE_SETUP #line 232 "conf_lexer.l" -{ return MAX_GLOBAL; } +{ return MAX_CHANS_PER_OPER; } YY_BREAK case 105: YY_RULE_SETUP #line 233 "conf_lexer.l" -{ return MAX_IDENT; } +{ return MAX_CHANS_PER_USER; } YY_BREAK case 106: YY_RULE_SETUP #line 234 "conf_lexer.l" -{ return MAX_IDLE; } +{ return T_MAX_CLIENTS; } YY_BREAK case 107: YY_RULE_SETUP #line 235 "conf_lexer.l" -{ return MAX_LOCAL; } +{ return MAX_GLOBAL; } YY_BREAK case 108: YY_RULE_SETUP #line 236 "conf_lexer.l" -{ return MAX_NICK_CHANGES; } +{ return MAX_IDENT; } YY_BREAK case 109: YY_RULE_SETUP #line 237 "conf_lexer.l" -{ return MAX_NICK_LENGTH; } +{ return MAX_IDLE; } YY_BREAK case 110: YY_RULE_SETUP #line 238 "conf_lexer.l" -{ return MAX_NICK_TIME; } +{ return MAX_LOCAL; } YY_BREAK case 111: YY_RULE_SETUP #line 239 "conf_lexer.l" -{ return MAX_NUMBER; } +{ return MAX_NICK_CHANGES; } YY_BREAK case 112: YY_RULE_SETUP #line 240 "conf_lexer.l" -{ return MAX_TARGETS; } +{ return MAX_NICK_LENGTH; } YY_BREAK case 113: YY_RULE_SETUP #line 241 "conf_lexer.l" -{ return MAX_TOPIC_LENGTH; } +{ return MAX_NICK_TIME; } YY_BREAK case 114: YY_RULE_SETUP #line 242 "conf_lexer.l" -{ return MAX_WATCH; } +{ return MAX_NUMBER; } YY_BREAK case 115: YY_RULE_SETUP #line 243 "conf_lexer.l" -{ return MIN_IDLE; } +{ return MAX_TARGETS; } YY_BREAK case 116: YY_RULE_SETUP #line 244 "conf_lexer.l" -{ return MIN_NONWILDCARD; } +{ return MAX_TOPIC_LENGTH; } YY_BREAK case 117: YY_RULE_SETUP #line 245 "conf_lexer.l" -{ return MIN_NONWILDCARD_SIMPLE; } +{ return MAX_WATCH; } YY_BREAK case 118: YY_RULE_SETUP #line 246 "conf_lexer.l" -{ return MODULE; } +{ return MIN_IDLE; } YY_BREAK case 119: YY_RULE_SETUP #line 247 "conf_lexer.l" -{ return MODULES; } +{ return MIN_NONWILDCARD; } YY_BREAK case 120: YY_RULE_SETUP #line 248 "conf_lexer.l" -{ return MOTD; } +{ return MIN_NONWILDCARD_SIMPLE; } YY_BREAK case 121: YY_RULE_SETUP #line 249 "conf_lexer.l" -{ return NAME; } +{ return T_MODERATED; } YY_BREAK case 122: YY_RULE_SETUP #line 250 "conf_lexer.l" -{ return T_NCHANGE; } +{ return MODULE; } YY_BREAK case 123: YY_RULE_SETUP #line 251 "conf_lexer.l" -{ return NEED_IDENT; } +{ return MODULES; } YY_BREAK case 124: YY_RULE_SETUP #line 252 "conf_lexer.l" -{ return NEED_PASSWORD; } +{ return MOTD; } YY_BREAK case 125: YY_RULE_SETUP #line 253 "conf_lexer.l" -{ return NETWORK_DESC; } +{ return NAME; } YY_BREAK case 126: YY_RULE_SETUP #line 254 "conf_lexer.l" -{ return NETWORK_NAME; } +{ return T_NCHANGE; } YY_BREAK case 127: YY_RULE_SETUP #line 255 "conf_lexer.l" -{ return NICK; } +{ return NEED_IDENT; } YY_BREAK case 128: YY_RULE_SETUP #line 256 "conf_lexer.l" -{ return NO_CREATE_ON_SPLIT; } +{ return NEED_PASSWORD; } YY_BREAK case 129: YY_RULE_SETUP #line 257 "conf_lexer.l" -{ return NO_JOIN_ON_SPLIT; } +{ return NETWORK_DESC; } YY_BREAK case 130: YY_RULE_SETUP #line 258 "conf_lexer.l" -{ return NO_OPER_FLOOD; } +{ return NETWORK_NAME; } YY_BREAK case 131: YY_RULE_SETUP #line 259 "conf_lexer.l" -{ return NO_TILDE; } +{ return NICK; } YY_BREAK case 132: YY_RULE_SETUP #line 260 "conf_lexer.l" -{ return T_NONONREG; } +{ return NO_CREATE_ON_SPLIT; } YY_BREAK case 133: YY_RULE_SETUP #line 261 "conf_lexer.l" -{ return NUMBER_PER_CIDR; } +{ return NO_JOIN_ON_SPLIT; } YY_BREAK case 134: YY_RULE_SETUP #line 262 "conf_lexer.l" -{ return NUMBER_PER_IP; } +{ return NO_OPER_FLOOD; } YY_BREAK case 135: YY_RULE_SETUP #line 263 "conf_lexer.l" -{ return OPERATOR; } +{ return NO_TILDE; } YY_BREAK case 136: YY_RULE_SETUP #line 264 "conf_lexer.l" -{ return OPER_ONLY_UMODES; } +{ return T_NONONREG; } YY_BREAK case 137: YY_RULE_SETUP #line 265 "conf_lexer.l" -{ return OPER_PASS_RESV; } +{ return T_NOPRIVMSGS; } YY_BREAK case 138: YY_RULE_SETUP #line 266 "conf_lexer.l" -{ return OPER_UMODES; } +{ return NUMBER_PER_CIDR; } YY_BREAK case 139: YY_RULE_SETUP #line 267 "conf_lexer.l" -{ return OPERATOR; } +{ return NUMBER_PER_IP; } YY_BREAK case 140: YY_RULE_SETUP #line 268 "conf_lexer.l" -{ return OPERS_BYPASS_CALLERID; } +{ return OPERATOR; } YY_BREAK case 141: YY_RULE_SETUP #line 269 "conf_lexer.l" -{ return T_OPERWALL; } +{ return OPER_ONLY_UMODES; } YY_BREAK case 142: YY_RULE_SETUP #line 270 "conf_lexer.l" -{ return PACE_WAIT; } +{ return OPER_PASS_RESV; } YY_BREAK case 143: YY_RULE_SETUP #line 271 "conf_lexer.l" -{ return PACE_WAIT_SIMPLE; } +{ return OPER_UMODES; } YY_BREAK case 144: YY_RULE_SETUP #line 272 "conf_lexer.l" -{ return PASSWORD; } +{ return OPERATOR; } YY_BREAK case 145: YY_RULE_SETUP #line 273 "conf_lexer.l" -{ return PASSWORD; } +{ return OPERS_BYPASS_CALLERID; } YY_BREAK case 146: YY_RULE_SETUP #line 274 "conf_lexer.l" -{ return PATH; } +{ return T_OPERWALL; } YY_BREAK case 147: YY_RULE_SETUP #line 275 "conf_lexer.l" -{ return PING_COOKIE; } +{ return PACE_WAIT; } YY_BREAK case 148: YY_RULE_SETUP #line 276 "conf_lexer.l" -{ return PING_TIME; } +{ return PACE_WAIT_SIMPLE; } YY_BREAK case 149: YY_RULE_SETUP #line 277 "conf_lexer.l" -{ return PORT; } +{ return PASSWORD; } YY_BREAK case 150: YY_RULE_SETUP #line 278 "conf_lexer.l" -{ return RESV; } +{ return PASSWORD; } YY_BREAK case 151: YY_RULE_SETUP #line 279 "conf_lexer.l" -{ return RANDOM_IDLE; } +{ return PATH; } YY_BREAK case 152: YY_RULE_SETUP #line 280 "conf_lexer.l" -{ return REASON; } +{ return PING_COOKIE; } YY_BREAK case 153: YY_RULE_SETUP #line 281 "conf_lexer.l" -{ return T_RECVQ; } +{ return PING_TIME; } YY_BREAK case 154: YY_RULE_SETUP #line 282 "conf_lexer.l" -{ return REDIRPORT; } +{ return PORT; } YY_BREAK case 155: YY_RULE_SETUP #line 283 "conf_lexer.l" -{ return REDIRSERV; } +{ return T_PRIVATE; } YY_BREAK case 156: YY_RULE_SETUP #line 284 "conf_lexer.l" -{ return REHASH; } +{ return RESV; } YY_BREAK case 157: YY_RULE_SETUP #line 285 "conf_lexer.l" -{ return T_REJ; } +{ return RANDOM_IDLE; } YY_BREAK case 158: YY_RULE_SETUP #line 286 "conf_lexer.l" -{ return REMOTE; } +{ return REASON; } YY_BREAK case 159: YY_RULE_SETUP #line 287 "conf_lexer.l" -{ return REMOTEBAN; } +{ return T_RECVQ; } YY_BREAK case 160: YY_RULE_SETUP #line 288 "conf_lexer.l" -{ return T_RESTART; } +{ return REDIRPORT; } YY_BREAK case 161: YY_RULE_SETUP #line 289 "conf_lexer.l" -{ return RESV; } +{ return REDIRSERV; } YY_BREAK case 162: YY_RULE_SETUP #line 290 "conf_lexer.l" -{ return RESV_EXEMPT; } +{ return REHASH; } YY_BREAK case 163: YY_RULE_SETUP #line 291 "conf_lexer.l" -{ return RSA_PRIVATE_KEY_FILE; } +{ return T_REJ; } YY_BREAK case 164: YY_RULE_SETUP #line 292 "conf_lexer.l" -{ return RSA_PUBLIC_KEY_FILE; } +{ return REMOTE; } YY_BREAK case 165: YY_RULE_SETUP #line 293 "conf_lexer.l" -{ return SEND_PASSWORD; } +{ return REMOTEBAN; } YY_BREAK case 166: YY_RULE_SETUP #line 294 "conf_lexer.l" -{ return SENDQ; } +{ return T_RESTART; } YY_BREAK case 167: YY_RULE_SETUP #line 295 "conf_lexer.l" -{ return T_SERVER; } +{ return RESV; } YY_BREAK case 168: YY_RULE_SETUP #line 296 "conf_lexer.l" -{ return SERVERHIDE; } +{ return RESV_EXEMPT; } YY_BREAK case 169: YY_RULE_SETUP #line 297 "conf_lexer.l" -{ return SERVERINFO; } +{ return RSA_PRIVATE_KEY_FILE; } YY_BREAK case 170: YY_RULE_SETUP #line 298 "conf_lexer.l" -{ return T_SERVICE; } +{ return RSA_PUBLIC_KEY_FILE; } YY_BREAK case 171: YY_RULE_SETUP #line 299 "conf_lexer.l" -{ return T_SERVICES_NAME; } +{ return T_SECRET; } YY_BREAK case 172: YY_RULE_SETUP #line 300 "conf_lexer.l" -{ return T_SERVNOTICE; } +{ return SEND_PASSWORD; } YY_BREAK case 173: YY_RULE_SETUP #line 301 "conf_lexer.l" -{ return T_SET; } +{ return SENDQ; } YY_BREAK case 174: YY_RULE_SETUP #line 302 "conf_lexer.l" -{ return T_SHARED; } +{ return T_SERVER; } YY_BREAK case 175: YY_RULE_SETUP #line 303 "conf_lexer.l" -{ return SHORT_MOTD; } +{ return SERVERHIDE; } YY_BREAK case 176: YY_RULE_SETUP #line 304 "conf_lexer.l" -{ return IRCD_SID; } +{ return SERVERINFO; } YY_BREAK case 177: YY_RULE_SETUP #line 305 "conf_lexer.l" -{ return T_SIZE; } +{ return T_SERVICE; } YY_BREAK case 178: YY_RULE_SETUP #line 306 "conf_lexer.l" -{ return T_SKILL; } +{ return T_SERVICES_NAME; } YY_BREAK case 179: YY_RULE_SETUP #line 307 "conf_lexer.l" -{ return T_SOFTCALLERID; } +{ return T_SERVNOTICE; } YY_BREAK case 180: YY_RULE_SETUP #line 308 "conf_lexer.l" -{ return SPOOF; } +{ return T_SET; } YY_BREAK case 181: YY_RULE_SETUP #line 309 "conf_lexer.l" -{ return SPOOF_NOTICE; } +{ return T_SHARED; } YY_BREAK case 182: YY_RULE_SETUP #line 310 "conf_lexer.l" -{ return T_SPY; } +{ return SHORT_MOTD; } YY_BREAK case 183: YY_RULE_SETUP #line 311 "conf_lexer.l" -{ return SQUIT; } +{ return IRCD_SID; } YY_BREAK case 184: YY_RULE_SETUP #line 312 "conf_lexer.l" -{ return T_SSL; } +{ return T_SIZE; } YY_BREAK case 185: YY_RULE_SETUP #line 313 "conf_lexer.l" -{ return SSL_CERTIFICATE_FILE; } +{ return T_SKILL; } YY_BREAK case 186: YY_RULE_SETUP #line 314 "conf_lexer.l" -{ return SSL_CERTIFICATE_FINGERPRINT; } +{ return T_SOFTCALLERID; } YY_BREAK case 187: YY_RULE_SETUP #line 315 "conf_lexer.l" -{ return T_SSL_CIPHER_LIST; } +{ return SPOOF; } YY_BREAK case 188: YY_RULE_SETUP #line 316 "conf_lexer.l" -{ return T_SSL_CLIENT_METHOD; } +{ return SPOOF_NOTICE; } YY_BREAK case 189: YY_RULE_SETUP #line 317 "conf_lexer.l" -{ return SSL_CONNECTION_REQUIRED; } +{ return T_SPY; } YY_BREAK case 190: YY_RULE_SETUP #line 318 "conf_lexer.l" -{ return SSL_DH_PARAM_FILE; } +{ return SQUIT; } YY_BREAK case 191: YY_RULE_SETUP #line 319 "conf_lexer.l" -{ return T_SSL_SERVER_METHOD; } +{ return T_SSL; } YY_BREAK case 192: YY_RULE_SETUP #line 320 "conf_lexer.l" -{ return T_SSLV3; } +{ return SSL_CERTIFICATE_FILE; } YY_BREAK case 193: YY_RULE_SETUP #line 321 "conf_lexer.l" -{ return STATS_E_DISABLED; } +{ return SSL_CERTIFICATE_FINGERPRINT; } YY_BREAK case 194: YY_RULE_SETUP #line 322 "conf_lexer.l" -{ return STATS_I_OPER_ONLY; } +{ return T_SSL_CIPHER_LIST; } YY_BREAK case 195: YY_RULE_SETUP #line 323 "conf_lexer.l" -{ return STATS_K_OPER_ONLY; } +{ return T_SSL_CLIENT_METHOD; } YY_BREAK case 196: YY_RULE_SETUP #line 324 "conf_lexer.l" -{ return STATS_O_OPER_ONLY; } +{ return SSL_CONNECTION_REQUIRED; } YY_BREAK case 197: YY_RULE_SETUP #line 325 "conf_lexer.l" -{ return STATS_P_OPER_ONLY; } +{ return SSL_DH_PARAM_FILE; } YY_BREAK case 198: YY_RULE_SETUP #line 326 "conf_lexer.l" -{ return STATS_U_OPER_ONLY; } +{ return T_SSL_SERVER_METHOD; } YY_BREAK case 199: YY_RULE_SETUP #line 327 "conf_lexer.l" -{ return THROTTLE_TIME; } +{ return T_SSLV3; } YY_BREAK case 200: YY_RULE_SETUP #line 328 "conf_lexer.l" -{ return TKLINE_EXPIRE_NOTICES; } +{ return STATS_E_DISABLED; } YY_BREAK case 201: YY_RULE_SETUP #line 329 "conf_lexer.l" -{ return T_TLSV1; } +{ return STATS_I_OPER_ONLY; } YY_BREAK case 202: YY_RULE_SETUP #line 330 "conf_lexer.l" -{ return TRUE_NO_OPER_FLOOD; } +{ return STATS_K_OPER_ONLY; } YY_BREAK case 203: YY_RULE_SETUP #line 331 "conf_lexer.l" -{ return TS_MAX_DELTA; } +{ return STATS_O_OPER_ONLY; } YY_BREAK case 204: YY_RULE_SETUP #line 332 "conf_lexer.l" -{ return TS_WARN_DELTA; } +{ return STATS_P_OPER_ONLY; } YY_BREAK case 205: YY_RULE_SETUP #line 333 "conf_lexer.l" -{ return TYPE; } +{ return STATS_U_OPER_ONLY; } YY_BREAK case 206: YY_RULE_SETUP #line 334 "conf_lexer.l" -{ return T_UMODES; } +{ return THROTTLE_TIME; } YY_BREAK case 207: YY_RULE_SETUP #line 335 "conf_lexer.l" -{ return T_UNAUTH; } +{ return TKLINE; } YY_BREAK case 208: YY_RULE_SETUP #line 336 "conf_lexer.l" -{ return T_UNDLINE; } +{ return TKLINE_EXPIRE_NOTICES; } YY_BREAK case 209: YY_RULE_SETUP #line 337 "conf_lexer.l" -{ return UNKLINE; } +{ return TKLINE_TIME; } YY_BREAK case 210: YY_RULE_SETUP #line 338 "conf_lexer.l" -{ return T_UNLIMITED; } +{ return T_TLSV1; } YY_BREAK case 211: YY_RULE_SETUP #line 339 "conf_lexer.l" -{ return T_UNRESV; } +{ return T_TOPICLIMIT; } YY_BREAK case 212: YY_RULE_SETUP #line 340 "conf_lexer.l" -{ return T_UNXLINE; } +{ return TRUE_NO_OPER_FLOOD; } YY_BREAK case 213: YY_RULE_SETUP #line 341 "conf_lexer.l" -{ return USE_EGD; } +{ return TS_MAX_DELTA; } YY_BREAK case 214: YY_RULE_SETUP #line 342 "conf_lexer.l" -{ return USE_LOGGING; } +{ return TS_WARN_DELTA; } YY_BREAK case 215: YY_RULE_SETUP #line 343 "conf_lexer.l" -{ return USER; } +{ return TYPE; } YY_BREAK case 216: YY_RULE_SETUP #line 344 "conf_lexer.l" -{ return VHOST; } +{ return T_UMODES; } YY_BREAK case 217: YY_RULE_SETUP #line 345 "conf_lexer.l" -{ return VHOST6; } +{ return T_UNAUTH; } YY_BREAK case 218: YY_RULE_SETUP #line 346 "conf_lexer.l" -{ return T_WALLOP; } +{ return T_UNDLINE; } YY_BREAK case 219: YY_RULE_SETUP #line 347 "conf_lexer.l" -{ return T_WALLOPS; } +{ return UNKLINE; } YY_BREAK case 220: YY_RULE_SETUP #line 348 "conf_lexer.l" -{ return WARN_NO_NLINE; } +{ return T_UNLIMITED; } YY_BREAK case 221: YY_RULE_SETUP #line 349 "conf_lexer.l" -{ return T_WEBIRC; } +{ return T_UNRESV; } YY_BREAK case 222: YY_RULE_SETUP #line 350 "conf_lexer.l" -{ return XLINE; } +{ return T_UNXLINE; } YY_BREAK case 223: YY_RULE_SETUP -#line 352 "conf_lexer.l" -{ yylval.number = 1; return TBOOL; } +#line 351 "conf_lexer.l" +{ return USE_EGD; } YY_BREAK case 224: YY_RULE_SETUP -#line 353 "conf_lexer.l" -{ yylval.number = 0; return TBOOL; } +#line 352 "conf_lexer.l" +{ return USE_LOGGING; } YY_BREAK case 225: YY_RULE_SETUP -#line 355 "conf_lexer.l" -{ return YEARS; } +#line 353 "conf_lexer.l" +{ return USER; } YY_BREAK case 226: YY_RULE_SETUP -#line 356 "conf_lexer.l" -{ return YEARS; } +#line 354 "conf_lexer.l" +{ return VHOST; } YY_BREAK case 227: YY_RULE_SETUP -#line 357 "conf_lexer.l" -{ return MONTHS; } +#line 355 "conf_lexer.l" +{ return VHOST6; } YY_BREAK case 228: YY_RULE_SETUP -#line 358 "conf_lexer.l" -{ return MONTHS; } +#line 356 "conf_lexer.l" +{ return T_WALLOP; } YY_BREAK case 229: YY_RULE_SETUP -#line 359 "conf_lexer.l" -{ return WEEKS; } +#line 357 "conf_lexer.l" +{ return T_WALLOPS; } YY_BREAK case 230: YY_RULE_SETUP -#line 360 "conf_lexer.l" -{ return WEEKS; } +#line 358 "conf_lexer.l" +{ return WARN_NO_NLINE; } YY_BREAK case 231: YY_RULE_SETUP -#line 361 "conf_lexer.l" -{ return DAYS; } +#line 359 "conf_lexer.l" +{ return T_WEBIRC; } YY_BREAK case 232: YY_RULE_SETUP -#line 362 "conf_lexer.l" -{ return DAYS; } +#line 360 "conf_lexer.l" +{ return XLINE; } YY_BREAK case 233: YY_RULE_SETUP -#line 363 "conf_lexer.l" -{ return HOURS; } +#line 362 "conf_lexer.l" +{ yylval.number = 1; return TBOOL; } YY_BREAK case 234: YY_RULE_SETUP -#line 364 "conf_lexer.l" -{ return HOURS; } +#line 363 "conf_lexer.l" +{ yylval.number = 0; return TBOOL; } YY_BREAK case 235: YY_RULE_SETUP #line 365 "conf_lexer.l" -{ return MINUTES; } +{ return YEARS; } YY_BREAK case 236: YY_RULE_SETUP #line 366 "conf_lexer.l" -{ return MINUTES; } +{ return YEARS; } YY_BREAK case 237: YY_RULE_SETUP #line 367 "conf_lexer.l" -{ return SECONDS; } +{ return MONTHS; } YY_BREAK case 238: YY_RULE_SETUP #line 368 "conf_lexer.l" -{ return SECONDS; } +{ return MONTHS; } YY_BREAK case 239: YY_RULE_SETUP -#line 370 "conf_lexer.l" -{ return BYTES; } +#line 369 "conf_lexer.l" +{ return WEEKS; } YY_BREAK case 240: YY_RULE_SETUP -#line 371 "conf_lexer.l" -{ return BYTES; } +#line 370 "conf_lexer.l" +{ return WEEKS; } YY_BREAK case 241: YY_RULE_SETUP -#line 372 "conf_lexer.l" -{ return KBYTES; } +#line 371 "conf_lexer.l" +{ return DAYS; } YY_BREAK case 242: YY_RULE_SETUP -#line 373 "conf_lexer.l" -{ return KBYTES; } +#line 372 "conf_lexer.l" +{ return DAYS; } YY_BREAK case 243: YY_RULE_SETUP -#line 374 "conf_lexer.l" -{ return KBYTES; } +#line 373 "conf_lexer.l" +{ return HOURS; } YY_BREAK case 244: YY_RULE_SETUP -#line 375 "conf_lexer.l" -{ return KBYTES; } +#line 374 "conf_lexer.l" +{ return HOURS; } YY_BREAK case 245: YY_RULE_SETUP -#line 376 "conf_lexer.l" -{ return KBYTES; } +#line 375 "conf_lexer.l" +{ return MINUTES; } YY_BREAK case 246: YY_RULE_SETUP -#line 377 "conf_lexer.l" -{ return MBYTES; } +#line 376 "conf_lexer.l" +{ return MINUTES; } YY_BREAK case 247: YY_RULE_SETUP -#line 378 "conf_lexer.l" -{ return MBYTES; } +#line 377 "conf_lexer.l" +{ return SECONDS; } YY_BREAK case 248: YY_RULE_SETUP -#line 379 "conf_lexer.l" -{ return MBYTES; } +#line 378 "conf_lexer.l" +{ return SECONDS; } YY_BREAK case 249: YY_RULE_SETUP #line 380 "conf_lexer.l" -{ return MBYTES; } +{ return BYTES; } YY_BREAK case 250: YY_RULE_SETUP #line 381 "conf_lexer.l" -{ return MBYTES; } +{ return BYTES; } YY_BREAK case 251: YY_RULE_SETUP #line 382 "conf_lexer.l" -{ return TWODOTS; } +{ return KBYTES; } YY_BREAK case 252: YY_RULE_SETUP +#line 383 "conf_lexer.l" +{ return KBYTES; } + YY_BREAK +case 253: +YY_RULE_SETUP #line 384 "conf_lexer.l" +{ return KBYTES; } + YY_BREAK +case 254: +YY_RULE_SETUP +#line 385 "conf_lexer.l" +{ return KBYTES; } + YY_BREAK +case 255: +YY_RULE_SETUP +#line 386 "conf_lexer.l" +{ return KBYTES; } + YY_BREAK +case 256: +YY_RULE_SETUP +#line 387 "conf_lexer.l" +{ return MBYTES; } + YY_BREAK +case 257: +YY_RULE_SETUP +#line 388 "conf_lexer.l" +{ return MBYTES; } + YY_BREAK +case 258: +YY_RULE_SETUP +#line 389 "conf_lexer.l" +{ return MBYTES; } + YY_BREAK +case 259: +YY_RULE_SETUP +#line 390 "conf_lexer.l" +{ return MBYTES; } + YY_BREAK +case 260: +YY_RULE_SETUP +#line 391 "conf_lexer.l" +{ return MBYTES; } + YY_BREAK +case 261: +YY_RULE_SETUP +#line 392 "conf_lexer.l" +{ return TWODOTS; } + YY_BREAK +case 262: +YY_RULE_SETUP +#line 394 "conf_lexer.l" { return yytext[0]; } YY_BREAK case YY_STATE_EOF(INITIAL): -#line 385 "conf_lexer.l" +#line 395 "conf_lexer.l" { if (ieof()) yyterminate(); } YY_BREAK -case 253: +case 263: YY_RULE_SETUP -#line 387 "conf_lexer.l" +#line 397 "conf_lexer.l" ECHO; YY_BREAK -#line 3347 "conf_lexer.c" +#line 3433 "conf_lexer.c" case YY_END_OF_BUFFER: { @@ -3420,7 +3506,7 @@ ECHO; { (yy_did_buffer_switch_on_eof) = 0; - if ( yywrap( ) ) + if ( yywrap( ) ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up @@ -3485,9 +3571,9 @@ ECHO; */ static int yy_get_next_buffer (void) { - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = (yytext_ptr); - register int number_to_move, i; + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + char *source = (yytext_ptr); + int number_to_move, i; int ret_val; if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) @@ -3516,7 +3602,7 @@ static int yy_get_next_buffer (void) /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; + number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1); for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -3529,7 +3615,7 @@ static int yy_get_next_buffer (void) else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) @@ -3543,7 +3629,7 @@ static int yy_get_next_buffer (void) if ( b->yy_is_our_buffer ) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -3552,11 +3638,12 @@ static int yy_get_next_buffer (void) b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ - yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); + yyrealloc( (void *) b->yy_ch_buf, + (yy_size_t) (b->yy_buf_size + 2) ); } else /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; + b->yy_ch_buf = NULL; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -3584,7 +3671,7 @@ static int yy_get_next_buffer (void) if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; - yyrestart(yyin ); + yyrestart( yyin ); } else @@ -3598,12 +3685,15 @@ static int yy_get_next_buffer (void) else ret_val = EOB_ACT_CONTINUE_SCAN; - if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ - yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); + int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( + (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + /* "- 2" to take care of EOB's */ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2); } (yy_n_chars) += number_to_move; @@ -3619,14 +3709,14 @@ static int yy_get_next_buffer (void) static yy_state_type yy_get_previous_state (void) { - register yy_state_type yy_current_state; - register char *yy_cp; + yy_state_type yy_current_state; + char *yy_cp; yy_current_state = (yy_start); for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) { - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -3635,10 +3725,10 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1629 ) - yy_c = yy_meta[(unsigned int) yy_c]; + if ( yy_current_state >= 1681 ) + yy_c = yy_meta[yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; } return yy_current_state; @@ -3651,10 +3741,10 @@ static int yy_get_next_buffer (void) */ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) { - register int yy_is_jam; - register char *yy_cp = (yy_c_buf_p); + int yy_is_jam; + char *yy_cp = (yy_c_buf_p); - register YY_CHAR yy_c = 1; + YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -3663,15 +3753,19 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1629 ) - yy_c = yy_meta[(unsigned int) yy_c]; + if ( yy_current_state >= 1681 ) + yy_c = yy_meta[yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1628); + yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; + yy_is_jam = (yy_current_state == 1680); return yy_is_jam ? 0 : yy_current_state; } +#ifndef YY_NO_UNPUT + +#endif + #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (void) @@ -3696,7 +3790,7 @@ static int yy_get_next_buffer (void) else { /* need more input */ - yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); + int offset = (int) ((yy_c_buf_p) - (yytext_ptr)); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -3713,14 +3807,14 @@ static int yy_get_next_buffer (void) */ /* Reset buffer status. */ - yyrestart(yyin ); + yyrestart( yyin ); /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE: { - if ( yywrap( ) ) - return EOF; + if ( yywrap( ) ) + return 0; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; @@ -3757,11 +3851,11 @@ static int yy_get_next_buffer (void) if ( ! YY_CURRENT_BUFFER ){ yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer(yyin,YY_BUF_SIZE ); + yy_create_buffer( yyin, YY_BUF_SIZE ); } - yy_init_buffer(YY_CURRENT_BUFFER,input_file ); - yy_load_buffer_state( ); + yy_init_buffer( YY_CURRENT_BUFFER, input_file ); + yy_load_buffer_state( ); } /** Switch to a different input buffer. @@ -3789,7 +3883,7 @@ static int yy_get_next_buffer (void) } YY_CURRENT_BUFFER_LVALUE = new_buffer; - yy_load_buffer_state( ); + yy_load_buffer_state( ); /* We don't actually know whether we did this switch during * EOF (yywrap()) processing, but the only time this flag @@ -3817,7 +3911,7 @@ static void yy_load_buffer_state (void) { YY_BUFFER_STATE b; - b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); + b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); @@ -3826,13 +3920,13 @@ static void yy_load_buffer_state (void) /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ - b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); + b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) ); if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_is_our_buffer = 1; - yy_init_buffer(b,file ); + yy_init_buffer( b, file ); return b; } @@ -3851,9 +3945,9 @@ static void yy_load_buffer_state (void) YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) - yyfree((void *) b->yy_ch_buf ); + yyfree( (void *) b->yy_ch_buf ); - yyfree((void *) b ); + yyfree( (void *) b ); } /* Initializes or reinitializes a buffer. @@ -3865,7 +3959,7 @@ static void yy_load_buffer_state (void) { int oerrno = errno; - yy_flush_buffer(b ); + yy_flush_buffer( b ); b->yy_input_file = file; b->yy_fill_buffer = 1; @@ -3908,7 +4002,7 @@ static void yy_load_buffer_state (void) b->yy_buffer_status = YY_BUFFER_NEW; if ( b == YY_CURRENT_BUFFER ) - yy_load_buffer_state( ); + yy_load_buffer_state( ); } /** Pushes the new state onto the stack. The new state becomes @@ -3939,7 +4033,7 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) YY_CURRENT_BUFFER_LVALUE = new_buffer; /* copied from yy_switch_to_buffer. */ - yy_load_buffer_state( ); + yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } @@ -3958,7 +4052,7 @@ void yypop_buffer_state (void) --(yy_buffer_stack_top); if (YY_CURRENT_BUFFER) { - yy_load_buffer_state( ); + yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } } @@ -3976,15 +4070,15 @@ static void yyensure_buffer_stack (void) * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); - + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - + (yy_buffer_stack_max) = num_to_alloc; (yy_buffer_stack_top) = 0; return; @@ -3993,7 +4087,7 @@ static void yyensure_buffer_stack (void) if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; + yy_size_t grow_size = 8 /* arbitrary grow size */; num_to_alloc = (yy_buffer_stack_max) + grow_size; (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc @@ -4013,7 +4107,7 @@ static void yyensure_buffer_stack (void) * @param base the character buffer * @param size the size in bytes of the character buffer * - * @return the newly allocated buffer state object. + * @return the newly allocated buffer state object. */ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) { @@ -4023,23 +4117,23 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ - return 0; + return NULL; - b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); + b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; - b->yy_input_file = 0; + b->yy_input_file = NULL; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; - yy_switch_to_buffer(b ); + yy_switch_to_buffer( b ); return b; } @@ -4052,10 +4146,10 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) * @note If you want to scan bytes that may contain NUL values, then use * yy_scan_bytes() instead. */ -YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) +YY_BUFFER_STATE yy_scan_string (const char * yystr ) { - return yy_scan_bytes(yystr,strlen(yystr) ); + return yy_scan_bytes( yystr, (int) strlen(yystr) ); } /** Setup the input buffer state to scan the given bytes. The next call to yylex() will @@ -4065,16 +4159,16 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) +YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - yy_size_t i; + int i; /* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; - buf = (char *) yyalloc(n ); + n = (yy_size_t) (_yybytes_len + 2); + buf = (char *) yyalloc( n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); @@ -4083,7 +4177,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; - b = yy_scan_buffer(buf,n ); + b = yy_scan_buffer( buf, n ); if ( ! b ) YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); @@ -4099,9 +4193,9 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len #define YY_EXIT_FAILURE 2 #endif -static void yy_fatal_error (yyconst char* msg ) +static void yynoreturn yy_fatal_error (const char* msg ) { - (void) fprintf( stderr, "%s\n", msg ); + fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } @@ -4129,7 +4223,7 @@ static void yy_fatal_error (yyconst char* msg ) */ int yyget_lineno (void) { - + return yylineno; } @@ -4152,7 +4246,7 @@ FILE *yyget_out (void) /** Get the length of the current token. * */ -yy_size_t yyget_leng (void) +int yyget_leng (void) { return yyleng; } @@ -4167,29 +4261,29 @@ char *yyget_text (void) } /** Set the current line number. - * @param line_number + * @param _line_number line number * */ -void yyset_lineno (int line_number ) +void yyset_lineno (int _line_number ) { - yylineno = line_number; + yylineno = _line_number; } /** Set the input stream. This does not discard the current * input buffer. - * @param in_str A readable stream. + * @param _in_str A readable stream. * * @see yy_switch_to_buffer */ -void yyset_in (FILE * in_str ) +void yyset_in (FILE * _in_str ) { - yyin = in_str ; + yyin = _in_str ; } -void yyset_out (FILE * out_str ) +void yyset_out (FILE * _out_str ) { - yyout = out_str ; + yyout = _out_str ; } int yyget_debug (void) @@ -4197,9 +4291,9 @@ int yyget_debug (void) return yy_flex_debug; } -void yyset_debug (int bdebug ) +void yyset_debug (int _bdebug ) { - yy_flex_debug = bdebug ; + yy_flex_debug = _bdebug ; } static int yy_init_globals (void) @@ -4208,10 +4302,10 @@ static int yy_init_globals (void) * This function is called from yylex_destroy(), so don't allocate here. */ - (yy_buffer_stack) = 0; + (yy_buffer_stack) = NULL; (yy_buffer_stack_top) = 0; (yy_buffer_stack_max) = 0; - (yy_c_buf_p) = (char *) 0; + (yy_c_buf_p) = NULL; (yy_init) = 0; (yy_start) = 0; @@ -4220,8 +4314,8 @@ static int yy_init_globals (void) yyin = stdin; yyout = stdout; #else - yyin = (FILE *) 0; - yyout = (FILE *) 0; + yyin = NULL; + yyout = NULL; #endif /* For future reference: Set errno on error, since we are called by @@ -4236,7 +4330,7 @@ int yylex_destroy (void) /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ - yy_delete_buffer(YY_CURRENT_BUFFER ); + yy_delete_buffer( YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; yypop_buffer_state(); } @@ -4257,18 +4351,19 @@ int yylex_destroy (void) */ #ifndef yytext_ptr -static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) +static void yy_flex_strncpy (char* s1, const char * s2, int n ) { - register int i; + + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif #ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * s ) +static int yy_flex_strlen (const char * s ) { - register int n; + int n; for ( n = 0; s[n]; ++n ) ; @@ -4278,11 +4373,12 @@ static int yy_flex_strlen (yyconst char * s ) void *yyalloc (yy_size_t size ) { - return (void *) malloc( size ); + return malloc(size); } void *yyrealloc (void * ptr, yy_size_t size ) { + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -4290,18 +4386,17 @@ void *yyrealloc (void * ptr, yy_size_t size ) * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ - return (void *) realloc( (char *) ptr, size ); + return realloc(ptr, size); } void yyfree (void * ptr ) { - free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ + free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" -#line 387 "conf_lexer.l" - +#line 397 "conf_lexer.l" /* C-comment ignoring routine -kre*/ @@ -4384,7 +4479,7 @@ cinclude(void) include_stack[include_stack_ptr++] = YY_CURRENT_BUFFER; conf_parser_ctx.conf_file = tmp_fbfile_in; snprintf(conffilebuf, sizeof(conffilebuf), "%s", filenamebuf); - yy_switch_to_buffer(yy_create_buffer(yyin,YY_BUF_SIZE)); + yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE)); } } diff --git a/src/conf_parser.c b/src/conf_parser.c index 3426735..85856c7 100644 --- a/src/conf_parser.c +++ b/src/conf_parser.c @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.0.2. */ +/* A Bison parser, made by GNU Bison 3.3.2. */ /* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,11 +41,14 @@ define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "3.0.2" +#define YYBISON_VERSION "3.3.2" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -61,8 +65,8 @@ -/* Copy the first part of user declarations. */ -#line 28 "conf_parser.y" /* yacc.c:339 */ +/* First part of user prologue. */ +#line 28 "conf_parser.y" /* yacc.c:337 */ #define YY_NO_UNPUT @@ -89,6 +93,7 @@ #include "numeric.h" #include "s_user.h" #include "motd.h" +#include "channel_mode.h" #ifdef HAVE_LIBCRYPTO #include <openssl/rsa.h> @@ -177,13 +182,16 @@ reset_block_state(void) } -#line 181 "conf_parser.c" /* yacc.c:339 */ - +#line 186 "conf_parser.c" /* yacc.c:337 */ # ifndef YY_NULLPTR -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULLPTR nullptr +# if defined __cplusplus +# if 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif # else -# define YY_NULLPTR 0 +# define YY_NULLPTR ((void*)0) # endif # endif @@ -231,211 +239,221 @@ extern int yydebug; CONNECTFREQ = 274, CYCLE_ON_HOST_CHANGE = 275, DEFAULT_FLOODCOUNT = 276, - DEFAULT_SPLIT_SERVER_COUNT = 277, - DEFAULT_SPLIT_USER_COUNT = 278, - DENY = 279, - DESCRIPTION = 280, - DIE = 281, - DISABLE_AUTH = 282, - DISABLE_FAKE_CHANNELS = 283, - DISABLE_REMOTE_COMMANDS = 284, - DOTS_IN_IDENT = 285, - EGDPOOL_PATH = 286, - EMAIL = 287, - ENCRYPTED = 288, - EXCEED_LIMIT = 289, - EXEMPT = 290, - FAILED_OPER_NOTICE = 291, - FLATTEN_LINKS = 292, - GECOS = 293, - GENERAL = 294, - GLINE = 295, - GLINE_DURATION = 296, - GLINE_ENABLE = 297, - GLINE_EXEMPT = 298, - GLINE_MIN_CIDR = 299, - GLINE_MIN_CIDR6 = 300, - GLINE_REQUEST_DURATION = 301, - GLOBAL_KILL = 302, - HAVENT_READ_CONF = 303, - HIDDEN = 304, - HIDDEN_NAME = 305, - HIDE_IDLE_FROM_OPERS = 306, - HIDE_SERVER_IPS = 307, - HIDE_SERVERS = 308, - HIDE_SERVICES = 309, - HIDE_SPOOF_IPS = 310, - HOST = 311, - HUB = 312, - HUB_MASK = 313, - IGNORE_BOGUS_TS = 314, - INVISIBLE_ON_CONNECT = 315, - IP = 316, - IRCD_AUTH = 317, - IRCD_FLAGS = 318, - IRCD_SID = 319, - JOIN_FLOOD_COUNT = 320, - JOIN_FLOOD_TIME = 321, - KILL = 322, - KILL_CHASE_TIME_LIMIT = 323, - KLINE = 324, - KLINE_EXEMPT = 325, - KNOCK_DELAY = 326, - KNOCK_DELAY_CHANNEL = 327, - LEAF_MASK = 328, - LINKS_DELAY = 329, - LISTEN = 330, - MASK = 331, - MAX_ACCEPT = 332, - MAX_BANS = 333, - MAX_CHANS_PER_OPER = 334, - MAX_CHANS_PER_USER = 335, - MAX_GLOBAL = 336, - MAX_IDENT = 337, - MAX_IDLE = 338, - MAX_LOCAL = 339, - MAX_NICK_CHANGES = 340, - MAX_NICK_LENGTH = 341, - MAX_NICK_TIME = 342, - MAX_NUMBER = 343, - MAX_TARGETS = 344, - MAX_TOPIC_LENGTH = 345, - MAX_WATCH = 346, - MIN_IDLE = 347, - MIN_NONWILDCARD = 348, - MIN_NONWILDCARD_SIMPLE = 349, - MODULE = 350, - MODULES = 351, - MOTD = 352, - NAME = 353, - NEED_IDENT = 354, - NEED_PASSWORD = 355, - NETWORK_DESC = 356, - NETWORK_NAME = 357, - NICK = 358, - NO_CREATE_ON_SPLIT = 359, - NO_JOIN_ON_SPLIT = 360, - NO_OPER_FLOOD = 361, - NO_TILDE = 362, - NUMBER = 363, - NUMBER_PER_CIDR = 364, - NUMBER_PER_IP = 365, - OPER_ONLY_UMODES = 366, - OPER_PASS_RESV = 367, - OPER_UMODES = 368, - OPERATOR = 369, - OPERS_BYPASS_CALLERID = 370, - PACE_WAIT = 371, - PACE_WAIT_SIMPLE = 372, - PASSWORD = 373, - PATH = 374, - PING_COOKIE = 375, - PING_TIME = 376, - PORT = 377, - QSTRING = 378, - RANDOM_IDLE = 379, - REASON = 380, - REDIRPORT = 381, - REDIRSERV = 382, - REHASH = 383, - REMOTE = 384, - REMOTEBAN = 385, - RESV = 386, - RESV_EXEMPT = 387, - RSA_PRIVATE_KEY_FILE = 388, - RSA_PUBLIC_KEY_FILE = 389, - SECONDS = 390, - MINUTES = 391, - HOURS = 392, - DAYS = 393, - WEEKS = 394, - MONTHS = 395, - YEARS = 396, - SEND_PASSWORD = 397, - SENDQ = 398, - SERVERHIDE = 399, - SERVERINFO = 400, - SHORT_MOTD = 401, - SPOOF = 402, - SPOOF_NOTICE = 403, - SQUIT = 404, - SSL_CERTIFICATE_FILE = 405, - SSL_CERTIFICATE_FINGERPRINT = 406, - SSL_CONNECTION_REQUIRED = 407, - SSL_DH_PARAM_FILE = 408, - STATS_E_DISABLED = 409, - STATS_I_OPER_ONLY = 410, - STATS_K_OPER_ONLY = 411, - STATS_O_OPER_ONLY = 412, - STATS_P_OPER_ONLY = 413, - STATS_U_OPER_ONLY = 414, - T_ALL = 415, - T_BOTS = 416, - T_CALLERID = 417, - T_CCONN = 418, - T_CLUSTER = 419, - T_DEAF = 420, - T_DEBUG = 421, - T_DLINE = 422, - T_EXTERNAL = 423, - T_FARCONNECT = 424, - T_FILE = 425, - T_FULL = 426, - T_GLOBOPS = 427, - T_INVISIBLE = 428, - T_IPV4 = 429, - T_IPV6 = 430, - T_LOCOPS = 431, - T_LOG = 432, - T_MAX_CLIENTS = 433, - T_NCHANGE = 434, - T_NONONREG = 435, - T_OPERWALL = 436, - T_RECVQ = 437, - T_REJ = 438, - T_RESTART = 439, - T_SERVER = 440, - T_SERVICE = 441, - T_SERVICES_NAME = 442, - T_SERVNOTICE = 443, - T_SET = 444, - T_SHARED = 445, - T_SIZE = 446, - T_SKILL = 447, - T_SOFTCALLERID = 448, - T_SPY = 449, - T_SSL = 450, - T_SSL_CIPHER_LIST = 451, - T_SSL_CLIENT_METHOD = 452, - T_SSL_SERVER_METHOD = 453, - T_SSLV3 = 454, - T_TLSV1 = 455, - T_UMODES = 456, - T_UNAUTH = 457, - T_UNDLINE = 458, - T_UNLIMITED = 459, - T_UNRESV = 460, - T_UNXLINE = 461, - T_WALLOP = 462, - T_WALLOPS = 463, - T_WEBIRC = 464, - TBOOL = 465, - THROTTLE_TIME = 466, - TKLINE_EXPIRE_NOTICES = 467, - TMASKED = 468, - TRUE_NO_OPER_FLOOD = 469, - TS_MAX_DELTA = 470, - TS_WARN_DELTA = 471, - TWODOTS = 472, - TYPE = 473, - UNKLINE = 474, - USE_EGD = 475, - USE_LOGGING = 476, - USER = 477, - VHOST = 478, - VHOST6 = 479, - WARN_NO_NLINE = 480, - XLINE = 481 + DEFAULT_MODES = 277, + DEFAULT_SPLIT_SERVER_COUNT = 278, + DEFAULT_SPLIT_USER_COUNT = 279, + DENY = 280, + DESCRIPTION = 281, + DIE = 282, + DISABLE_AUTH = 283, + DISABLE_FAKE_CHANNELS = 284, + DISABLE_REMOTE_COMMANDS = 285, + DOTS_IN_IDENT = 286, + EGDPOOL_PATH = 287, + EMAIL = 288, + ENCRYPTED = 289, + EXCEED_LIMIT = 290, + EXEMPT = 291, + FAILED_OPER_NOTICE = 292, + FLATTEN_LINKS = 293, + GECOS = 294, + GENERAL = 295, + GLINE = 296, + GLINE_DURATION = 297, + GLINE_ENABLE = 298, + GLINE_EXEMPT = 299, + GLINE_MIN_CIDR = 300, + GLINE_MIN_CIDR6 = 301, + GLINE_REQUEST_DURATION = 302, + GLOBAL_KILL = 303, + HAVENT_READ_CONF = 304, + HIDDEN = 305, + HIDDEN_NAME = 306, + HIDE_IDLE_FROM_OPERS = 307, + HIDE_SERVER_IPS = 308, + HIDE_SERVERS = 309, + HIDE_SERVICES = 310, + HIDE_SPOOF_IPS = 311, + HOST = 312, + HUB = 313, + HUB_MASK = 314, + IGNORE_BOGUS_TS = 315, + INVISIBLE_ON_CONNECT = 316, + IP = 317, + IRCD_AUTH = 318, + IRCD_FLAGS = 319, + IRCD_SID = 320, + JOIN_FLOOD_COUNT = 321, + JOIN_FLOOD_TIME = 322, + KILL = 323, + KILL_CHASE_TIME_LIMIT = 324, + KLINE = 325, + KLINE_EXEMPT = 326, + KNOCK_DELAY = 327, + KNOCK_DELAY_CHANNEL = 328, + LEAF_MASK = 329, + LINKS_DELAY = 330, + LISTEN = 331, + MASK = 332, + MAX_ACCEPT = 333, + MAX_BANS = 334, + MAX_CHANS_PER_OPER = 335, + MAX_CHANS_PER_USER = 336, + MAX_GLOBAL = 337, + MAX_IDENT = 338, + MAX_IDLE = 339, + MAX_LOCAL = 340, + MAX_NICK_CHANGES = 341, + MAX_NICK_LENGTH = 342, + MAX_NICK_TIME = 343, + MAX_NUMBER = 344, + MAX_TARGETS = 345, + MAX_TOPIC_LENGTH = 346, + MAX_WATCH = 347, + MIN_IDLE = 348, + MIN_NONWILDCARD = 349, + MIN_NONWILDCARD_SIMPLE = 350, + MODULE = 351, + MODULES = 352, + MOTD = 353, + NAME = 354, + NEED_IDENT = 355, + NEED_PASSWORD = 356, + NETWORK_DESC = 357, + NETWORK_NAME = 358, + NICK = 359, + NO_CREATE_ON_SPLIT = 360, + NO_JOIN_ON_SPLIT = 361, + NO_OPER_FLOOD = 362, + NO_TILDE = 363, + NUMBER = 364, + NUMBER_PER_CIDR = 365, + NUMBER_PER_IP = 366, + OPER_ONLY_UMODES = 367, + OPER_PASS_RESV = 368, + OPER_UMODES = 369, + OPERATOR = 370, + OPERS_BYPASS_CALLERID = 371, + PACE_WAIT = 372, + PACE_WAIT_SIMPLE = 373, + PASSWORD = 374, + PATH = 375, + PING_COOKIE = 376, + PING_TIME = 377, + PORT = 378, + QSTRING = 379, + RANDOM_IDLE = 380, + REASON = 381, + REDIRPORT = 382, + REDIRSERV = 383, + REHASH = 384, + REMOTE = 385, + REMOTEBAN = 386, + RESV = 387, + RESV_EXEMPT = 388, + RSA_PRIVATE_KEY_FILE = 389, + RSA_PUBLIC_KEY_FILE = 390, + SECONDS = 391, + MINUTES = 392, + HOURS = 393, + DAYS = 394, + WEEKS = 395, + MONTHS = 396, + YEARS = 397, + SEND_PASSWORD = 398, + SENDQ = 399, + SERVERHIDE = 400, + SERVERINFO = 401, + SHORT_MOTD = 402, + SPOOF = 403, + SPOOF_NOTICE = 404, + SQUIT = 405, + SSL_CERTIFICATE_FILE = 406, + SSL_CERTIFICATE_FINGERPRINT = 407, + SSL_CONNECTION_REQUIRED = 408, + SSL_DH_PARAM_FILE = 409, + STATS_E_DISABLED = 410, + STATS_I_OPER_ONLY = 411, + STATS_K_OPER_ONLY = 412, + STATS_O_OPER_ONLY = 413, + STATS_P_OPER_ONLY = 414, + STATS_U_OPER_ONLY = 415, + T_ALL = 416, + T_BOTS = 417, + T_CALLERID = 418, + T_CCONN = 419, + T_CLUSTER = 420, + T_DEAF = 421, + T_DEBUG = 422, + T_DLINE = 423, + T_EXTERNAL = 424, + T_FARCONNECT = 425, + T_FILE = 426, + T_FULL = 427, + T_GCHANOPS = 428, + T_GLOBOPS = 429, + T_INVISIBLE = 430, + T_INVITEONLY = 431, + T_IPV4 = 432, + T_IPV6 = 433, + T_LOCOPS = 434, + T_LOG = 435, + T_MAX_CLIENTS = 436, + T_MODERATED = 437, + T_NCHANGE = 438, + T_NONONREG = 439, + T_NOPRIVMSGS = 440, + T_OPERWALL = 441, + T_PRIVATE = 442, + T_RECVQ = 443, + T_REJ = 444, + T_RESTART = 445, + T_SECRET = 446, + T_SERVER = 447, + T_SERVICE = 448, + T_SERVICES_NAME = 449, + T_SERVNOTICE = 450, + T_SET = 451, + T_SHARED = 452, + T_SIZE = 453, + T_SKILL = 454, + T_SOFTCALLERID = 455, + T_SPY = 456, + T_SSL = 457, + T_SSL_CIPHER_LIST = 458, + T_SSL_CLIENT_METHOD = 459, + T_SSL_SERVER_METHOD = 460, + T_SSLV3 = 461, + T_TLSV1 = 462, + T_TOPICLIMIT = 463, + T_UMODES = 464, + T_UNAUTH = 465, + T_UNDLINE = 466, + T_UNLIMITED = 467, + T_UNRESV = 468, + T_UNXLINE = 469, + T_WALLOP = 470, + T_WALLOPS = 471, + T_WEBIRC = 472, + TBOOL = 473, + THROTTLE_TIME = 474, + TKLINE = 475, + TKLINE_EXPIRE_NOTICES = 476, + TKLINE_TIME = 477, + TMASKED = 478, + TRUE_NO_OPER_FLOOD = 479, + TS_MAX_DELTA = 480, + TS_WARN_DELTA = 481, + TWODOTS = 482, + TYPE = 483, + UNKLINE = 484, + USE_EGD = 485, + USE_LOGGING = 486, + USER = 487, + VHOST = 488, + VHOST6 = 489, + WARN_NO_NLINE = 490, + XLINE = 491 }; #endif /* Tokens. */ @@ -458,224 +476,236 @@ extern int yydebug; #define CONNECTFREQ 274 #define CYCLE_ON_HOST_CHANGE 275 #define DEFAULT_FLOODCOUNT 276 -#define DEFAULT_SPLIT_SERVER_COUNT 277 -#define DEFAULT_SPLIT_USER_COUNT 278 -#define DENY 279 -#define DESCRIPTION 280 -#define DIE 281 -#define DISABLE_AUTH 282 -#define DISABLE_FAKE_CHANNELS 283 -#define DISABLE_REMOTE_COMMANDS 284 -#define DOTS_IN_IDENT 285 -#define EGDPOOL_PATH 286 -#define EMAIL 287 -#define ENCRYPTED 288 -#define EXCEED_LIMIT 289 -#define EXEMPT 290 -#define FAILED_OPER_NOTICE 291 -#define FLATTEN_LINKS 292 -#define GECOS 293 -#define GENERAL 294 -#define GLINE 295 -#define GLINE_DURATION 296 -#define GLINE_ENABLE 297 -#define GLINE_EXEMPT 298 -#define GLINE_MIN_CIDR 299 -#define GLINE_MIN_CIDR6 300 -#define GLINE_REQUEST_DURATION 301 -#define GLOBAL_KILL 302 -#define HAVENT_READ_CONF 303 -#define HIDDEN 304 -#define HIDDEN_NAME 305 -#define HIDE_IDLE_FROM_OPERS 306 -#define HIDE_SERVER_IPS 307 -#define HIDE_SERVERS 308 -#define HIDE_SERVICES 309 -#define HIDE_SPOOF_IPS 310 -#define HOST 311 -#define HUB 312 -#define HUB_MASK 313 -#define IGNORE_BOGUS_TS 314 -#define INVISIBLE_ON_CONNECT 315 -#define IP 316 -#define IRCD_AUTH 317 -#define IRCD_FLAGS 318 -#define IRCD_SID 319 -#define JOIN_FLOOD_COUNT 320 -#define JOIN_FLOOD_TIME 321 -#define KILL 322 -#define KILL_CHASE_TIME_LIMIT 323 -#define KLINE 324 -#define KLINE_EXEMPT 325 -#define KNOCK_DELAY 326 -#define KNOCK_DELAY_CHANNEL 327 -#define LEAF_MASK 328 -#define LINKS_DELAY 329 -#define LISTEN 330 -#define MASK 331 -#define MAX_ACCEPT 332 -#define MAX_BANS 333 -#define MAX_CHANS_PER_OPER 334 -#define MAX_CHANS_PER_USER 335 -#define MAX_GLOBAL 336 -#define MAX_IDENT 337 -#define MAX_IDLE 338 -#define MAX_LOCAL 339 -#define MAX_NICK_CHANGES 340 -#define MAX_NICK_LENGTH 341 -#define MAX_NICK_TIME 342 -#define MAX_NUMBER 343 -#define MAX_TARGETS 344 -#define MAX_TOPIC_LENGTH 345 -#define MAX_WATCH 346 -#define MIN_IDLE 347 -#define MIN_NONWILDCARD 348 -#define MIN_NONWILDCARD_SIMPLE 349 -#define MODULE 350 -#define MODULES 351 -#define MOTD 352 -#define NAME 353 -#define NEED_IDENT 354 -#define NEED_PASSWORD 355 -#define NETWORK_DESC 356 -#define NETWORK_NAME 357 -#define NICK 358 -#define NO_CREATE_ON_SPLIT 359 -#define NO_JOIN_ON_SPLIT 360 -#define NO_OPER_FLOOD 361 -#define NO_TILDE 362 -#define NUMBER 363 -#define NUMBER_PER_CIDR 364 -#define NUMBER_PER_IP 365 -#define OPER_ONLY_UMODES 366 -#define OPER_PASS_RESV 367 -#define OPER_UMODES 368 -#define OPERATOR 369 -#define OPERS_BYPASS_CALLERID 370 -#define PACE_WAIT 371 -#define PACE_WAIT_SIMPLE 372 -#define PASSWORD 373 -#define PATH 374 -#define PING_COOKIE 375 -#define PING_TIME 376 -#define PORT 377 -#define QSTRING 378 -#define RANDOM_IDLE 379 -#define REASON 380 -#define REDIRPORT 381 -#define REDIRSERV 382 -#define REHASH 383 -#define REMOTE 384 -#define REMOTEBAN 385 -#define RESV 386 -#define RESV_EXEMPT 387 -#define RSA_PRIVATE_KEY_FILE 388 -#define RSA_PUBLIC_KEY_FILE 389 -#define SECONDS 390 -#define MINUTES 391 -#define HOURS 392 -#define DAYS 393 -#define WEEKS 394 -#define MONTHS 395 -#define YEARS 396 -#define SEND_PASSWORD 397 -#define SENDQ 398 -#define SERVERHIDE 399 -#define SERVERINFO 400 -#define SHORT_MOTD 401 -#define SPOOF 402 -#define SPOOF_NOTICE 403 -#define SQUIT 404 -#define SSL_CERTIFICATE_FILE 405 -#define SSL_CERTIFICATE_FINGERPRINT 406 -#define SSL_CONNECTION_REQUIRED 407 -#define SSL_DH_PARAM_FILE 408 -#define STATS_E_DISABLED 409 -#define STATS_I_OPER_ONLY 410 -#define STATS_K_OPER_ONLY 411 -#define STATS_O_OPER_ONLY 412 -#define STATS_P_OPER_ONLY 413 -#define STATS_U_OPER_ONLY 414 -#define T_ALL 415 -#define T_BOTS 416 -#define T_CALLERID 417 -#define T_CCONN 418 -#define T_CLUSTER 419 -#define T_DEAF 420 -#define T_DEBUG 421 -#define T_DLINE 422 -#define T_EXTERNAL 423 -#define T_FARCONNECT 424 -#define T_FILE 425 -#define T_FULL 426 -#define T_GLOBOPS 427 -#define T_INVISIBLE 428 -#define T_IPV4 429 -#define T_IPV6 430 -#define T_LOCOPS 431 -#define T_LOG 432 -#define T_MAX_CLIENTS 433 -#define T_NCHANGE 434 -#define T_NONONREG 435 -#define T_OPERWALL 436 -#define T_RECVQ 437 -#define T_REJ 438 -#define T_RESTART 439 -#define T_SERVER 440 -#define T_SERVICE 441 -#define T_SERVICES_NAME 442 -#define T_SERVNOTICE 443 -#define T_SET 444 -#define T_SHARED 445 -#define T_SIZE 446 -#define T_SKILL 447 -#define T_SOFTCALLERID 448 -#define T_SPY 449 -#define T_SSL 450 -#define T_SSL_CIPHER_LIST 451 -#define T_SSL_CLIENT_METHOD 452 -#define T_SSL_SERVER_METHOD 453 -#define T_SSLV3 454 -#define T_TLSV1 455 -#define T_UMODES 456 -#define T_UNAUTH 457 -#define T_UNDLINE 458 -#define T_UNLIMITED 459 -#define T_UNRESV 460 -#define T_UNXLINE 461 -#define T_WALLOP 462 -#define T_WALLOPS 463 -#define T_WEBIRC 464 -#define TBOOL 465 -#define THROTTLE_TIME 466 -#define TKLINE_EXPIRE_NOTICES 467 -#define TMASKED 468 -#define TRUE_NO_OPER_FLOOD 469 -#define TS_MAX_DELTA 470 -#define TS_WARN_DELTA 471 -#define TWODOTS 472 -#define TYPE 473 -#define UNKLINE 474 -#define USE_EGD 475 -#define USE_LOGGING 476 -#define USER 477 -#define VHOST 478 -#define VHOST6 479 -#define WARN_NO_NLINE 480 -#define XLINE 481 +#define DEFAULT_MODES 277 +#define DEFAULT_SPLIT_SERVER_COUNT 278 +#define DEFAULT_SPLIT_USER_COUNT 279 +#define DENY 280 +#define DESCRIPTION 281 +#define DIE 282 +#define DISABLE_AUTH 283 +#define DISABLE_FAKE_CHANNELS 284 +#define DISABLE_REMOTE_COMMANDS 285 +#define DOTS_IN_IDENT 286 +#define EGDPOOL_PATH 287 +#define EMAIL 288 +#define ENCRYPTED 289 +#define EXCEED_LIMIT 290 +#define EXEMPT 291 +#define FAILED_OPER_NOTICE 292 +#define FLATTEN_LINKS 293 +#define GECOS 294 +#define GENERAL 295 +#define GLINE 296 +#define GLINE_DURATION 297 +#define GLINE_ENABLE 298 +#define GLINE_EXEMPT 299 +#define GLINE_MIN_CIDR 300 +#define GLINE_MIN_CIDR6 301 +#define GLINE_REQUEST_DURATION 302 +#define GLOBAL_KILL 303 +#define HAVENT_READ_CONF 304 +#define HIDDEN 305 +#define HIDDEN_NAME 306 +#define HIDE_IDLE_FROM_OPERS 307 +#define HIDE_SERVER_IPS 308 +#define HIDE_SERVERS 309 +#define HIDE_SERVICES 310 +#define HIDE_SPOOF_IPS 311 +#define HOST 312 +#define HUB 313 +#define HUB_MASK 314 +#define IGNORE_BOGUS_TS 315 +#define INVISIBLE_ON_CONNECT 316 +#define IP 317 +#define IRCD_AUTH 318 +#define IRCD_FLAGS 319 +#define IRCD_SID 320 +#define JOIN_FLOOD_COUNT 321 +#define JOIN_FLOOD_TIME 322 +#define KILL 323 +#define KILL_CHASE_TIME_LIMIT 324 +#define KLINE 325 +#define KLINE_EXEMPT 326 +#define KNOCK_DELAY 327 +#define KNOCK_DELAY_CHANNEL 328 +#define LEAF_MASK 329 +#define LINKS_DELAY 330 +#define LISTEN 331 +#define MASK 332 +#define MAX_ACCEPT 333 +#define MAX_BANS 334 +#define MAX_CHANS_PER_OPER 335 +#define MAX_CHANS_PER_USER 336 +#define MAX_GLOBAL 337 +#define MAX_IDENT 338 +#define MAX_IDLE 339 +#define MAX_LOCAL 340 +#define MAX_NICK_CHANGES 341 +#define MAX_NICK_LENGTH 342 +#define MAX_NICK_TIME 343 +#define MAX_NUMBER 344 +#define MAX_TARGETS 345 +#define MAX_TOPIC_LENGTH 346 +#define MAX_WATCH 347 +#define MIN_IDLE 348 +#define MIN_NONWILDCARD 349 +#define MIN_NONWILDCARD_SIMPLE 350 +#define MODULE 351 +#define MODULES 352 +#define MOTD 353 +#define NAME 354 +#define NEED_IDENT 355 +#define NEED_PASSWORD 356 +#define NETWORK_DESC 357 +#define NETWORK_NAME 358 +#define NICK 359 +#define NO_CREATE_ON_SPLIT 360 +#define NO_JOIN_ON_SPLIT 361 +#define NO_OPER_FLOOD 362 +#define NO_TILDE 363 +#define NUMBER 364 +#define NUMBER_PER_CIDR 365 +#define NUMBER_PER_IP 366 +#define OPER_ONLY_UMODES 367 +#define OPER_PASS_RESV 368 +#define OPER_UMODES 369 +#define OPERATOR 370 +#define OPERS_BYPASS_CALLERID 371 +#define PACE_WAIT 372 +#define PACE_WAIT_SIMPLE 373 +#define PASSWORD 374 +#define PATH 375 +#define PING_COOKIE 376 +#define PING_TIME 377 +#define PORT 378 +#define QSTRING 379 +#define RANDOM_IDLE 380 +#define REASON 381 +#define REDIRPORT 382 +#define REDIRSERV 383 +#define REHASH 384 +#define REMOTE 385 +#define REMOTEBAN 386 +#define RESV 387 +#define RESV_EXEMPT 388 +#define RSA_PRIVATE_KEY_FILE 389 +#define RSA_PUBLIC_KEY_FILE 390 +#define SECONDS 391 +#define MINUTES 392 +#define HOURS 393 +#define DAYS 394 +#define WEEKS 395 +#define MONTHS 396 +#define YEARS 397 +#define SEND_PASSWORD 398 +#define SENDQ 399 +#define SERVERHIDE 400 +#define SERVERINFO 401 +#define SHORT_MOTD 402 +#define SPOOF 403 +#define SPOOF_NOTICE 404 +#define SQUIT 405 +#define SSL_CERTIFICATE_FILE 406 +#define SSL_CERTIFICATE_FINGERPRINT 407 +#define SSL_CONNECTION_REQUIRED 408 +#define SSL_DH_PARAM_FILE 409 +#define STATS_E_DISABLED 410 +#define STATS_I_OPER_ONLY 411 +#define STATS_K_OPER_ONLY 412 +#define STATS_O_OPER_ONLY 413 +#define STATS_P_OPER_ONLY 414 +#define STATS_U_OPER_ONLY 415 +#define T_ALL 416 +#define T_BOTS 417 +#define T_CALLERID 418 +#define T_CCONN 419 +#define T_CLUSTER 420 +#define T_DEAF 421 +#define T_DEBUG 422 +#define T_DLINE 423 +#define T_EXTERNAL 424 +#define T_FARCONNECT 425 +#define T_FILE 426 +#define T_FULL 427 +#define T_GCHANOPS 428 +#define T_GLOBOPS 429 +#define T_INVISIBLE 430 +#define T_INVITEONLY 431 +#define T_IPV4 432 +#define T_IPV6 433 +#define T_LOCOPS 434 +#define T_LOG 435 +#define T_MAX_CLIENTS 436 +#define T_MODERATED 437 +#define T_NCHANGE 438 +#define T_NONONREG 439 +#define T_NOPRIVMSGS 440 +#define T_OPERWALL 441 +#define T_PRIVATE 442 +#define T_RECVQ 443 +#define T_REJ 444 +#define T_RESTART 445 +#define T_SECRET 446 +#define T_SERVER 447 +#define T_SERVICE 448 +#define T_SERVICES_NAME 449 +#define T_SERVNOTICE 450 +#define T_SET 451 +#define T_SHARED 452 +#define T_SIZE 453 +#define T_SKILL 454 +#define T_SOFTCALLERID 455 +#define T_SPY 456 +#define T_SSL 457 +#define T_SSL_CIPHER_LIST 458 +#define T_SSL_CLIENT_METHOD 459 +#define T_SSL_SERVER_METHOD 460 +#define T_SSLV3 461 +#define T_TLSV1 462 +#define T_TOPICLIMIT 463 +#define T_UMODES 464 +#define T_UNAUTH 465 +#define T_UNDLINE 466 +#define T_UNLIMITED 467 +#define T_UNRESV 468 +#define T_UNXLINE 469 +#define T_WALLOP 470 +#define T_WALLOPS 471 +#define T_WEBIRC 472 +#define TBOOL 473 +#define THROTTLE_TIME 474 +#define TKLINE 475 +#define TKLINE_EXPIRE_NOTICES 476 +#define TKLINE_TIME 477 +#define TMASKED 478 +#define TRUE_NO_OPER_FLOOD 479 +#define TS_MAX_DELTA 480 +#define TS_WARN_DELTA 481 +#define TWODOTS 482 +#define TYPE 483 +#define UNKLINE 484 +#define USE_EGD 485 +#define USE_LOGGING 486 +#define USER 487 +#define VHOST 488 +#define VHOST6 489 +#define WARN_NO_NLINE 490 +#define XLINE 491 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE YYSTYPE; + union YYSTYPE { -#line 143 "conf_parser.y" /* yacc.c:355 */ +#line 144 "conf_parser.y" /* yacc.c:352 */ int number; char *string; -#line 678 "conf_parser.c" /* yacc.c:355 */ +#line 706 "conf_parser.c" /* yacc.c:352 */ }; + +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif @@ -687,9 +717,7 @@ int yyparse (void); #endif /* !YY_YY_CONF_PARSER_H_INCLUDED */ -/* Copy the second part of user declarations. */ -#line 693 "conf_parser.c" /* yacc.c:358 */ #ifdef short # undef short @@ -710,13 +738,13 @@ typedef signed char yytype_int8; #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else -typedef unsigned short int yytype_uint16; +typedef unsigned short yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else -typedef short int yytype_int16; +typedef short yytype_int16; #endif #ifndef YYSIZE_T @@ -728,7 +756,7 @@ typedef short int yytype_int16; # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else -# define YYSIZE_T unsigned int +# define YYSIZE_T unsigned # endif #endif @@ -764,15 +792,6 @@ typedef short int yytype_int16; # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif -#if !defined _Noreturn \ - && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) -# if defined _MSC_VER && 1200 <= _MSC_VER -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) -# endif -#endif - /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) @@ -780,7 +799,7 @@ typedef short int yytype_int16; # define YYUSE(E) /* empty */ #endif -#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ @@ -931,42 +950,42 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1227 +#define YYLAST 1332 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 233 +#define YYNTOKENS 243 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 289 +#define YYNNTS 296 /* YYNRULES -- Number of rules. */ -#define YYNRULES 653 +#define YYNRULES 674 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1278 +#define YYNSTATES 1312 -/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned - by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 481 +#define YYMAXUTOK 491 +/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, with out-of-bounds checking. */ #define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM - as returned by yylex, without out-of-bounds checking. */ + as returned by yylex. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 231, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 232, 227, - 2, 230, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 241, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 242, 237, + 2, 240, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 229, 2, 228, 2, 2, 2, 2, + 2, 2, 2, 239, 2, 238, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1002,79 +1021,82 @@ static const yytype_uint8 yytranslate[] = 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226 + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 373, 373, 374, 377, 378, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 403, 403, 404, - 408, 412, 416, 420, 424, 428, 432, 438, 438, 439, - 440, 441, 442, 449, 452, 452, 453, 453, 453, 455, - 461, 468, 470, 470, 471, 471, 472, 472, 473, 473, - 474, 474, 475, 475, 476, 476, 477, 477, 478, 478, - 479, 480, 483, 484, 486, 486, 487, 493, 501, 501, - 502, 508, 516, 558, 616, 645, 653, 668, 683, 692, - 706, 715, 743, 773, 798, 820, 842, 851, 853, 853, - 854, 854, 855, 855, 857, 866, 875, 888, 887, 905, - 905, 906, 906, 906, 908, 914, 923, 924, 924, 926, - 926, 927, 929, 936, 936, 949, 950, 952, 952, 953, - 953, 955, 963, 966, 972, 971, 977, 977, 978, 982, - 986, 990, 994, 998, 1002, 1006, 1010, 1021, 1020, 1106, - 1106, 1107, 1107, 1107, 1108, 1108, 1108, 1109, 1109, 1110, - 1111, 1111, 1113, 1119, 1125, 1131, 1142, 1148, 1154, 1165, - 1172, 1171, 1177, 1177, 1178, 1182, 1186, 1190, 1194, 1198, - 1202, 1206, 1210, 1214, 1218, 1222, 1226, 1230, 1234, 1238, - 1242, 1246, 1250, 1254, 1258, 1265, 1264, 1270, 1270, 1271, - 1275, 1279, 1283, 1287, 1291, 1295, 1299, 1303, 1307, 1311, - 1315, 1319, 1323, 1327, 1331, 1335, 1339, 1343, 1347, 1351, - 1355, 1359, 1363, 1374, 1373, 1434, 1434, 1435, 1436, 1436, - 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1445, - 1446, 1447, 1448, 1449, 1451, 1457, 1463, 1469, 1475, 1481, - 1487, 1493, 1499, 1505, 1512, 1518, 1524, 1530, 1539, 1549, - 1548, 1554, 1554, 1555, 1559, 1570, 1569, 1576, 1575, 1580, - 1580, 1581, 1585, 1589, 1595, 1595, 1596, 1596, 1596, 1596, - 1596, 1598, 1598, 1600, 1600, 1602, 1616, 1636, 1642, 1652, - 1651, 1693, 1693, 1694, 1694, 1694, 1694, 1695, 1695, 1695, - 1696, 1696, 1698, 1704, 1710, 1716, 1728, 1727, 1733, 1733, - 1734, 1738, 1742, 1746, 1750, 1754, 1758, 1762, 1766, 1770, - 1776, 1790, 1799, 1813, 1812, 1827, 1827, 1828, 1828, 1828, - 1828, 1830, 1836, 1842, 1852, 1854, 1854, 1855, 1855, 1857, - 1873, 1872, 1897, 1897, 1898, 1898, 1898, 1898, 1900, 1906, - 1926, 1925, 1931, 1931, 1932, 1936, 1940, 1944, 1948, 1952, - 1956, 1960, 1964, 1968, 1978, 1977, 1998, 1998, 1999, 1999, - 1999, 2001, 2008, 2007, 2013, 2013, 2014, 2018, 2022, 2026, - 2030, 2034, 2038, 2042, 2046, 2050, 2060, 2059, 2131, 2131, - 2132, 2132, 2132, 2133, 2133, 2134, 2135, 2135, 2135, 2136, - 2136, 2136, 2137, 2137, 2138, 2140, 2146, 2152, 2158, 2171, - 2184, 2190, 2196, 2200, 2209, 2208, 2213, 2213, 2214, 2218, - 2224, 2235, 2241, 2247, 2253, 2269, 2268, 2294, 2294, 2295, - 2295, 2295, 2297, 2317, 2327, 2326, 2353, 2353, 2354, 2354, - 2354, 2356, 2362, 2371, 2373, 2373, 2374, 2374, 2376, 2394, - 2393, 2416, 2416, 2417, 2417, 2417, 2419, 2425, 2434, 2437, - 2437, 2438, 2438, 2439, 2439, 2440, 2440, 2441, 2441, 2442, - 2442, 2443, 2444, 2445, 2445, 2446, 2446, 2447, 2447, 2448, - 2448, 2449, 2450, 2450, 2451, 2451, 2452, 2452, 2453, 2453, - 2454, 2454, 2455, 2455, 2456, 2456, 2457, 2458, 2459, 2459, - 2460, 2460, 2461, 2462, 2463, 2464, 2464, 2465, 2466, 2469, - 2474, 2480, 2486, 2492, 2498, 2503, 2508, 2513, 2518, 2523, - 2528, 2533, 2538, 2543, 2548, 2553, 2558, 2563, 2569, 2580, - 2585, 2590, 2595, 2600, 2605, 2610, 2613, 2618, 2621, 2626, - 2631, 2636, 2641, 2646, 2651, 2656, 2661, 2666, 2671, 2676, - 2685, 2690, 2695, 2701, 2700, 2705, 2705, 2706, 2709, 2712, - 2715, 2718, 2721, 2724, 2727, 2730, 2733, 2736, 2739, 2742, - 2745, 2748, 2751, 2754, 2757, 2760, 2763, 2766, 2772, 2771, - 2776, 2776, 2777, 2780, 2783, 2786, 2789, 2792, 2795, 2798, - 2801, 2804, 2807, 2810, 2813, 2816, 2819, 2822, 2825, 2828, - 2831, 2834, 2837, 2842, 2847, 2852, 2861, 2864, 2864, 2865, - 2866, 2866, 2867, 2867, 2868, 2869, 2870, 2871, 2872, 2872, - 2873, 2873, 2875, 2880, 2885, 2890, 2895, 2900, 2905, 2910, - 2915, 2920, 2925, 2930, 2938, 2941, 2941, 2942, 2942, 2943, - 2944, 2945, 2946, 2946, 2947, 2948, 2950, 2956, 2962, 2968, - 2974, 2983, 2997, 3003 + 0, 384, 384, 385, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 414, 414, 415, + 419, 423, 427, 431, 435, 439, 443, 449, 449, 450, + 451, 452, 453, 460, 463, 463, 464, 464, 464, 466, + 472, 479, 481, 481, 482, 482, 483, 483, 484, 484, + 485, 485, 486, 486, 487, 487, 488, 488, 489, 489, + 490, 491, 494, 495, 497, 497, 498, 504, 512, 512, + 513, 519, 527, 569, 627, 656, 664, 679, 694, 703, + 717, 726, 754, 784, 809, 831, 853, 862, 864, 864, + 865, 865, 866, 866, 868, 877, 886, 899, 898, 916, + 916, 917, 917, 917, 919, 925, 934, 935, 935, 937, + 937, 938, 940, 947, 947, 960, 961, 963, 963, 964, + 964, 966, 974, 977, 983, 982, 988, 988, 989, 993, + 997, 1001, 1005, 1009, 1013, 1017, 1021, 1032, 1031, 1117, + 1117, 1118, 1118, 1118, 1119, 1119, 1119, 1120, 1120, 1121, + 1122, 1122, 1124, 1130, 1136, 1142, 1153, 1159, 1165, 1176, + 1183, 1182, 1188, 1188, 1189, 1193, 1197, 1201, 1205, 1209, + 1213, 1217, 1221, 1225, 1229, 1233, 1237, 1241, 1245, 1249, + 1253, 1257, 1261, 1265, 1269, 1273, 1280, 1279, 1285, 1285, + 1286, 1290, 1294, 1298, 1302, 1306, 1310, 1314, 1318, 1322, + 1326, 1330, 1334, 1338, 1342, 1346, 1350, 1354, 1358, 1362, + 1366, 1370, 1374, 1378, 1382, 1393, 1392, 1453, 1453, 1454, + 1455, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, + 1464, 1464, 1465, 1466, 1467, 1468, 1470, 1476, 1482, 1488, + 1494, 1500, 1506, 1512, 1518, 1524, 1531, 1537, 1543, 1549, + 1558, 1568, 1567, 1573, 1573, 1574, 1578, 1589, 1588, 1595, + 1594, 1599, 1599, 1600, 1604, 1608, 1614, 1614, 1615, 1615, + 1615, 1615, 1615, 1617, 1617, 1619, 1619, 1621, 1635, 1655, + 1661, 1671, 1670, 1714, 1714, 1715, 1715, 1715, 1715, 1716, + 1716, 1716, 1717, 1718, 1718, 1720, 1726, 1732, 1738, 1744, + 1756, 1755, 1761, 1761, 1762, 1766, 1770, 1774, 1778, 1782, + 1786, 1790, 1794, 1798, 1804, 1818, 1827, 1841, 1840, 1855, + 1855, 1856, 1856, 1856, 1856, 1858, 1864, 1870, 1880, 1882, + 1882, 1883, 1883, 1885, 1901, 1900, 1925, 1925, 1926, 1926, + 1926, 1926, 1928, 1934, 1954, 1953, 1959, 1959, 1960, 1964, + 1968, 1972, 1976, 1980, 1984, 1988, 1992, 1996, 2006, 2005, + 2026, 2026, 2027, 2027, 2027, 2029, 2036, 2035, 2041, 2041, + 2042, 2046, 2050, 2054, 2058, 2062, 2066, 2070, 2074, 2078, + 2088, 2087, 2166, 2166, 2167, 2167, 2167, 2168, 2168, 2169, + 2170, 2170, 2170, 2171, 2171, 2171, 2172, 2172, 2173, 2175, + 2181, 2187, 2193, 2206, 2219, 2225, 2231, 2235, 2244, 2243, + 2248, 2248, 2249, 2253, 2259, 2270, 2276, 2282, 2288, 2304, + 2303, 2329, 2329, 2330, 2330, 2330, 2332, 2352, 2362, 2361, + 2388, 2388, 2389, 2389, 2389, 2391, 2397, 2406, 2408, 2408, + 2409, 2409, 2409, 2411, 2425, 2441, 2440, 2463, 2463, 2464, + 2464, 2464, 2466, 2472, 2481, 2484, 2484, 2485, 2485, 2486, + 2486, 2487, 2487, 2488, 2488, 2489, 2489, 2490, 2491, 2492, + 2492, 2493, 2493, 2494, 2494, 2495, 2495, 2496, 2497, 2497, + 2498, 2498, 2499, 2499, 2500, 2500, 2501, 2501, 2502, 2502, + 2503, 2503, 2504, 2505, 2506, 2506, 2507, 2507, 2508, 2509, + 2510, 2511, 2511, 2512, 2513, 2514, 2517, 2522, 2528, 2534, + 2540, 2546, 2551, 2556, 2561, 2566, 2571, 2576, 2581, 2586, + 2591, 2596, 2601, 2606, 2611, 2617, 2628, 2633, 2638, 2643, + 2648, 2653, 2658, 2661, 2666, 2669, 2674, 2679, 2684, 2689, + 2694, 2699, 2704, 2709, 2714, 2719, 2724, 2733, 2738, 2743, + 2749, 2748, 2753, 2753, 2754, 2757, 2760, 2763, 2766, 2769, + 2772, 2775, 2778, 2781, 2784, 2787, 2790, 2793, 2796, 2799, + 2802, 2805, 2808, 2811, 2814, 2817, 2823, 2822, 2827, 2827, + 2828, 2831, 2834, 2837, 2840, 2843, 2846, 2849, 2852, 2855, + 2858, 2861, 2864, 2867, 2870, 2873, 2876, 2879, 2882, 2885, + 2888, 2891, 2896, 2901, 2906, 2911, 2919, 2922, 2922, 2923, + 2924, 2924, 2925, 2925, 2926, 2927, 2928, 2929, 2930, 2930, + 2931, 2931, 2932, 2934, 2939, 2944, 2949, 2954, 2959, 2964, + 2969, 2974, 2979, 2984, 2989, 2995, 2994, 2999, 2999, 3000, + 3003, 3006, 3009, 3012, 3015, 3023, 3026, 3026, 3027, 3027, + 3028, 3029, 3030, 3031, 3031, 3032, 3033, 3035, 3041, 3047, + 3053, 3059, 3068, 3082, 3088 }; #endif @@ -1088,31 +1110,32 @@ static const char *const yytname[] = "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT", "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT", - "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY", - "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS", - "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "EGDPOOL_PATH", "EMAIL", - "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE", - "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", "GLINE_DURATION", - "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6", - "GLINE_REQUEST_DURATION", "GLOBAL_KILL", "HAVENT_READ_CONF", "HIDDEN", - "HIDDEN_NAME", "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS", "HIDE_SERVERS", - "HIDE_SERVICES", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", - "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "IRCD_AUTH", - "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "KILL", - "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KNOCK_DELAY", - "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "MASK", - "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER", - "MAX_GLOBAL", "MAX_IDENT", "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES", - "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", - "MAX_TOPIC_LENGTH", "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD", - "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "MOTD", "NAME", - "NEED_IDENT", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK", - "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE", - "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES", - "OPER_PASS_RESV", "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID", - "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE", - "PING_TIME", "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT", - "REDIRSERV", "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT", + "DEFAULT_MODES", "DEFAULT_SPLIT_SERVER_COUNT", + "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH", + "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", + "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", + "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", + "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR", + "GLINE_MIN_CIDR6", "GLINE_REQUEST_DURATION", "GLOBAL_KILL", + "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_IDLE_FROM_OPERS", + "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES", "HIDE_SPOOF_IPS", + "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", + "IP", "IRCD_AUTH", "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT", + "JOIN_FLOOD_TIME", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", + "KLINE_EXEMPT", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", + "LINKS_DELAY", "LISTEN", "MASK", "MAX_ACCEPT", "MAX_BANS", + "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", + "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH", + "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH", + "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", + "MODULE", "MODULES", "MOTD", "NAME", "NEED_IDENT", "NEED_PASSWORD", + "NETWORK_DESC", "NETWORK_NAME", "NICK", "NO_CREATE_ON_SPLIT", + "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE", "NUMBER", + "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES", "OPER_PASS_RESV", + "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID", "PACE_WAIT", + "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", + "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT", "REDIRSERV", + "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT", "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ", "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE", @@ -1121,22 +1144,24 @@ static const char *const yytname[] = "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS", "T_CALLERID", "T_CCONN", "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE", - "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS", - "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS", - "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_RESTART", - "T_SERVER", "T_SERVICE", "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET", - "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL", - "T_SSL_CIPHER_LIST", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", - "T_SSLV3", "T_TLSV1", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", + "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GCHANOPS", + "T_GLOBOPS", "T_INVISIBLE", "T_INVITEONLY", "T_IPV4", "T_IPV6", + "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS", "T_MODERATED", "T_NCHANGE", + "T_NONONREG", "T_NOPRIVMSGS", "T_OPERWALL", "T_PRIVATE", "T_RECVQ", + "T_REJ", "T_RESTART", "T_SECRET", "T_SERVER", "T_SERVICE", + "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET", "T_SHARED", "T_SIZE", + "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL", "T_SSL_CIPHER_LIST", + "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1", + "T_TOPICLIMIT", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL", - "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED", - "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE", - "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6", - "WARN_NO_NLINE", "XLINE", "';'", "'}'", "'{'", "'='", "','", "':'", - "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_", - "sizespec", "modules_entry", "modules_items", "modules_item", - "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items", - "serverinfo_item", "serverinfo_ssl_client_method", + "THROTTLE_TIME", "TKLINE", "TKLINE_EXPIRE_NOTICES", "TKLINE_TIME", + "TMASKED", "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", + "TWODOTS", "TYPE", "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", + "VHOST6", "WARN_NO_NLINE", "XLINE", "';'", "'}'", "'{'", "'='", "','", + "':'", "$accept", "conf", "conf_item", "timespec_", "timespec", + "sizespec_", "sizespec", "modules_entry", "modules_items", + "modules_item", "modules_module", "modules_path", "serverinfo_entry", + "serverinfo_items", "serverinfo_item", "serverinfo_ssl_client_method", "serverinfo_ssl_server_method", "client_method_types", "client_method_type_item", "server_method_types", "server_method_type_item", "serverinfo_ssl_certificate_file", @@ -1169,25 +1194,26 @@ static const char *const yytname[] = "listen_flags_item", "listen_items", "listen_item", "listen_port", "$@11", "port_items", "port_item", "listen_address", "listen_host", "auth_entry", "$@12", "auth_items", "auth_item", "auth_user", - "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@13", - "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv", - "auth_redir_port", "resv_entry", "$@14", "resv_items", "resv_item", - "resv_mask", "resv_reason", "resv_exempt", "service_entry", - "service_items", "service_item", "service_name", "shared_entry", "$@15", - "shared_items", "shared_item", "shared_name", "shared_user", - "shared_type", "$@16", "shared_types", "shared_type_item", - "cluster_entry", "$@17", "cluster_items", "cluster_item", "cluster_name", - "cluster_type", "$@18", "cluster_types", "cluster_type_item", - "connect_entry", "$@19", "connect_items", "connect_item", "connect_name", - "connect_host", "connect_vhost", "connect_send_password", - "connect_accept_password", "connect_ssl_certificate_fingerprint", - "connect_port", "connect_aftype", "connect_flags", "$@20", - "connect_flags_items", "connect_flags_item", "connect_encrypted", - "connect_hub_mask", "connect_leaf_mask", "connect_class", - "connect_ssl_cipher_list", "kill_entry", "$@21", "kill_items", - "kill_item", "kill_user", "kill_reason", "deny_entry", "$@22", - "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry", - "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@23", + "auth_passwd", "auth_ssl_certificate_fingerprint", "auth_class", + "auth_encrypted", "auth_flags", "$@13", "auth_flags_items", + "auth_flags_item", "auth_spoof", "auth_redir_serv", "auth_redir_port", + "resv_entry", "$@14", "resv_items", "resv_item", "resv_mask", + "resv_reason", "resv_exempt", "service_entry", "service_items", + "service_item", "service_name", "shared_entry", "$@15", "shared_items", + "shared_item", "shared_name", "shared_user", "shared_type", "$@16", + "shared_types", "shared_type_item", "cluster_entry", "$@17", + "cluster_items", "cluster_item", "cluster_name", "cluster_type", "$@18", + "cluster_types", "cluster_type_item", "connect_entry", "$@19", + "connect_items", "connect_item", "connect_name", "connect_host", + "connect_vhost", "connect_send_password", "connect_accept_password", + "connect_ssl_certificate_fingerprint", "connect_port", "connect_aftype", + "connect_flags", "$@20", "connect_flags_items", "connect_flags_item", + "connect_encrypted", "connect_hub_mask", "connect_leaf_mask", + "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@21", + "kill_items", "kill_item", "kill_user", "kill_reason", "deny_entry", + "$@22", "deny_items", "deny_item", "deny_ip", "deny_reason", + "exempt_entry", "exempt_items", "exempt_item", "exempt_ip", + "exempt_ssl_certificate_fingerprint", "gecos_entry", "$@23", "gecos_items", "gecos_item", "gecos_name", "gecos_reason", "general_entry", "general_items", "general_item", "general_max_watch", "general_cycle_on_host_change", "general_gline_enable", @@ -1213,17 +1239,18 @@ static const char *const yytname[] = "umode_oitem", "general_oper_only_umodes", "$@25", "umode_items", "umode_item", "general_min_nonwildcard", "general_min_nonwildcard_simple", "general_default_floodcount", - "channel_entry", "channel_items", "channel_item", + "general_tkline_time", "channel_entry", "channel_items", "channel_item", "channel_disable_fake_channels", "channel_knock_delay", "channel_knock_delay_channel", "channel_max_chans_per_user", "channel_max_chans_per_oper", "channel_max_bans", "channel_default_split_user_count", "channel_default_split_server_count", "channel_no_create_on_split", "channel_no_join_on_split", - "channel_jflood_count", "channel_jflood_time", "serverhide_entry", - "serverhide_items", "serverhide_item", "serverhide_flatten_links", - "serverhide_disable_remote_commands", "serverhide_hide_servers", - "serverhide_hide_services", "serverhide_hidden_name", - "serverhide_links_delay", "serverhide_hidden", + "channel_jflood_count", "channel_jflood_time", "channel_default_modes", + "$@26", "channel_default_mode_items", "channel_default_mode_item", + "serverhide_entry", "serverhide_items", "serverhide_item", + "serverhide_flatten_links", "serverhide_disable_remote_commands", + "serverhide_hide_servers", "serverhide_hide_services", + "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden", "serverhide_hide_server_ips", YY_NULLPTR }; #endif @@ -1255,15 +1282,16 @@ static const yytype_uint16 yytoknum[] = 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 59, 125, 123, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 59, 125, 123, 61, 44, 58 }; # endif -#define YYPACT_NINF -792 +#define YYPACT_NINF -761 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-792))) + (!!((Yystate) == (-761))) #define YYTABLE_NINF -124 @@ -1274,134 +1302,138 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -792, 697, -792, -191, -224, -207, -792, -792, -792, -199, - -792, -185, -792, -792, -792, -178, -792, -792, -792, -147, - -145, -792, -140, -134, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, 180, - 968, -119, -68, -60, 14, -53, 393, -46, -39, -13, - 52, -8, -1, 20, 336, 443, 43, 39, 34, 69, - -127, 16, 63, 71, 6, -792, -792, -792, -792, -792, - 75, 84, 86, 94, 97, 98, 99, 100, 104, 106, - 112, 114, 274, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, 664, 521, 19, -792, - 117, 12, -792, -792, 47, -792, 118, 126, 136, 137, - 138, 139, 140, 141, 142, 144, 150, 152, 154, 162, - 165, 166, 167, 168, 173, 174, 176, 177, 181, 182, - 185, 186, -792, 187, -792, 188, 189, 191, 194, 195, - 196, 197, 198, 200, 201, 202, 203, 206, 210, 213, - 215, 216, 217, 107, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, 324, 25, 38, 90, 219, 224, 22, -792, - -792, -792, 15, 557, 55, -792, 225, 226, 227, 229, - 230, 233, 234, 235, 5, -792, -792, -792, -792, -792, - -792, -792, -792, -792, 116, 236, 237, 239, 242, 243, - 244, 245, 246, 247, 251, 253, 258, 260, 262, 263, - 264, 265, 153, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, 61, 156, 266, 9, -792, -792, -792, 74, -792, - 268, 40, -792, -792, 59, -792, 159, 388, 389, 287, - -792, 408, 409, 308, 411, 412, 412, 412, 413, 417, - 419, 318, 320, 304, -792, 305, 310, 313, 325, -792, - 326, 327, 329, 330, 331, 332, 335, 337, 338, 339, - 340, 341, 105, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - 307, 343, 345, 348, 351, 352, 356, -792, 357, 361, - 365, 367, 368, 370, 371, 60, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, 372, 373, 17, -792, -792, -792, 483, 390, - -792, -792, 392, 394, 31, -792, -792, -792, 416, 412, - 412, 420, 427, 421, 515, 424, 412, 425, 524, 530, - 412, 534, 435, 437, 439, 412, 542, 543, 412, 544, - 545, 546, 548, 447, 407, 448, 429, 450, 412, 412, - 452, 458, 460, -186, -161, 461, 464, 466, 559, 412, - 474, 477, 412, 412, 478, 462, -792, 463, 455, 469, - -792, 472, 476, 480, 482, 488, 275, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, 489, 490, 45, - -792, -792, -792, 465, 492, 495, -792, 496, -792, 8, - -792, -792, -792, -792, -792, 571, 573, 486, -792, 501, - 499, 500, 87, -792, -792, -792, 506, 504, 507, -792, - 509, 511, 512, 513, 519, -792, 520, 257, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, 526, - 527, 531, 533, 10, -792, -792, -792, -792, 494, 541, - 550, 584, 555, 556, 558, 412, 551, -792, -792, 631, - 561, 652, 669, 672, 658, 659, 663, 665, 666, 673, - 679, 674, 110, 113, 675, 676, 565, -792, 568, 572, - -792, 24, -792, -792, -792, -792, 591, 576, -792, 575, - 682, 579, -792, 581, 580, -792, 582, 7, -792, -792, - -792, -792, 586, 587, 588, -792, 589, 590, 593, 594, - 475, 595, 596, 597, 598, 599, 604, 605, 606, -792, - -792, 701, 710, 412, 607, 726, 728, 412, 730, 731, - 412, 712, 732, 736, 412, 737, 737, 620, -792, -792, - 725, 33, 729, 639, 733, 734, 621, 735, 739, 745, - 740, 741, 742, 743, 628, -792, 744, 746, 632, -792, - 633, -792, 747, 748, 641, -792, 645, 646, 648, 649, - 650, 651, 653, 654, 655, 657, 667, 670, 677, 678, - 684, 685, 686, 687, 689, 690, 691, 695, 696, 698, - 699, 700, 727, 703, 770, 713, 715, 717, 718, 720, - 721, 738, 752, 753, 755, 756, 760, 762, 765, 767, - 768, 773, 774, 775, 776, -792, -792, 763, 681, 671, - 779, 771, 786, 801, 814, 777, -792, 829, 831, 778, - -792, -792, 832, 833, 780, 791, 781, -792, 782, 784, - -792, -792, 834, 836, 787, -792, -792, 837, 751, 783, - 852, 883, 892, 893, 807, 788, 896, 793, -792, -792, - 898, 899, 900, 797, -792, 798, 799, 800, 802, 803, - 804, 808, 809, -792, 810, 811, 815, 816, 817, 818, - 822, 823, 824, 825, 826, 827, 828, -792, -792, -210, - -792, -792, -792, -198, -792, 830, 835, -792, -792, 905, - 838, 839, -792, 840, -792, 108, 842, -792, -792, 909, - 841, 918, 843, -792, -792, -792, -792, -792, -792, -792, - -792, 412, 412, 412, 412, 412, 412, 412, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, 847, 848, - 849, -32, 850, 851, 853, 854, 855, 856, 857, 858, - 859, 860, 57, 861, 862, -792, 863, 864, 865, 866, - 867, 868, 869, 4, 870, 871, 872, 873, 874, 875, - 876, -792, 877, 878, -792, -792, 879, 880, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -184, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -157, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, 881, 882, 529, 884, 885, 886, 887, 888, - -792, 889, 890, -792, 891, 894, -21, 668, 895, -792, - -792, -792, -792, 897, 901, -792, 902, 903, 497, 904, - 906, 907, 908, 910, 805, 911, -792, 912, 913, 914, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, 110, -792, 113, -792, -792, 915, 564, - -792, -792, 916, 917, 919, -792, 13, -792, -792, -792, - -792, -792, 921, 624, 923, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -155, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - 737, 737, 737, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -146, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - 727, -792, 770, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -144, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -129, - -792, 820, 791, 924, -792, -792, -792, -792, -792, 920, - -792, -792, 922, -792, -792, -792, -792, 925, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -54, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -36, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, 53, -792, -792, 933, - -58, 926, 928, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, 58, -792, -792, -792, -32, - -792, -792, -792, -792, 4, -792, -792, -792, 529, -792, - -21, -792, -792, -792, 929, 930, 931, -792, 497, -792, - 805, -792, 564, 932, 934, 935, 422, -792, -792, 624, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, 64, -792, -792, -792, 422, -792 + -761, 695, -761, -158, -222, -219, -761, -761, -761, -199, + -761, -194, -761, -761, -761, -190, -761, -761, -761, -184, + -182, -761, -169, -151, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, 10, + 832, -137, -132, -114, 38, -107, 433, -87, -85, -68, + 55, -66, -56, -53, 313, 483, -44, 6, 34, -42, + -170, -83, -40, -37, 15, -761, -761, -761, -761, -761, + -761, -21, -20, -14, -11, 1, 47, 68, 81, 83, + 87, 95, 99, 5, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, 662, 562, + 98, -761, 110, 115, 4, -761, -761, -761, 50, -761, + 117, 119, 120, 121, 130, 132, 134, 142, 144, 145, + 146, 147, 149, 150, 152, 154, 168, 169, 170, 172, + 173, 175, 176, 179, 181, 183, -761, 184, -761, 185, + 187, 189, 190, 192, 195, 197, 201, 207, 208, 209, + 210, 212, 216, 220, 223, 229, 232, 233, 75, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, 339, 32, + 226, -23, 234, 237, 9, -761, -761, -761, 14, 495, + 203, -761, 241, 245, 246, 248, 250, 252, 255, 257, + 8, -761, -761, -761, -761, -761, -761, -761, -761, -761, + 196, 258, 259, 261, 265, 266, 267, 268, 270, 273, + 274, 275, 277, 280, 284, 286, 298, 299, 114, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, 51, 263, 302, + 7, -761, -761, -761, 204, -761, 303, 29, -761, -761, + 31, -761, 283, 322, 420, 316, -761, 318, 447, 451, + 344, 455, 460, 460, 460, 466, 467, 469, 363, 366, + 358, -761, 360, 359, 362, 364, -761, 365, 368, 370, + 371, 372, 373, 375, 380, 382, 384, 385, 388, 193, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, 392, 391, 393, + 395, 398, 400, 401, -761, 402, 403, 404, 406, 409, + 410, 411, 319, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, 413, + 416, 12, -761, -761, -761, 476, 508, 423, -761, -761, + 422, 425, 20, -761, -761, -761, 448, 460, 460, 449, + 560, 452, 563, 453, 460, 461, 564, 571, 460, 575, + 465, 471, 472, 460, 582, 583, 460, 584, 585, 588, + 589, 482, 462, 485, 468, 488, 460, 460, 492, 493, + 497, -192, -181, 500, 501, 503, 598, 460, 506, 460, + 507, 460, 460, 510, 496, -761, 499, 489, 502, -761, + 509, 512, 513, 514, 516, 519, 206, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, 520, 522, + 22, -761, -761, -761, 504, 524, 526, -761, 528, -761, + 11, -761, -761, -761, -761, -761, 608, 615, 532, -761, + 533, 535, 536, 13, -761, -761, -761, 540, 538, 539, + -761, 541, 546, 547, 548, 549, -761, 550, 227, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + 557, 556, 559, 561, 17, -761, -761, -761, -761, 525, + 579, 586, 616, 590, 591, 593, 460, 565, -761, -761, + 626, 594, 676, 694, 704, 690, 691, 692, 697, 698, + 699, 709, 700, 135, 138, 701, 702, 592, -761, 595, + 596, -761, 46, -761, -761, -761, -761, 610, 597, -761, + 599, 706, 600, -761, 602, 603, -761, 604, 24, -761, + -761, -761, -761, 609, 611, 612, -761, 235, 614, 621, + 622, 625, 260, 627, 628, 629, 630, 631, 635, 641, + 644, -761, -761, 722, 736, 460, 607, 743, 744, 460, + 754, 774, 460, 760, 776, 778, 460, 780, 780, 657, + -761, -761, 771, 3, 773, 682, 777, 779, 669, 786, + 790, 806, 792, 794, 801, 804, 696, -761, 810, 811, + 705, -761, 708, 710, -761, 815, 820, 711, -761, 712, + 713, 714, 716, 717, 718, 723, 724, 725, 726, 727, + 728, 729, 731, 738, 741, 746, 747, 748, 750, 751, + 752, 755, 758, 761, 762, 707, 763, 757, 764, 766, + 767, 768, 772, 775, 781, 782, 783, 784, 787, 788, + 789, 791, 793, 795, 796, 797, 798, 799, 800, -761, + -761, 835, 805, 770, 857, 822, 870, 873, 887, 889, + 802, -761, 890, 891, 803, -761, -761, 892, 903, 808, + 920, 809, -761, 812, 813, -761, -761, 907, 914, 814, + -761, -761, 917, 824, 816, 919, 921, 923, 928, 826, + 817, 929, 818, -761, -761, 930, 934, 935, 823, -761, + 825, 827, 828, 829, 830, 831, 833, 834, -761, 836, + 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, + 847, 848, -761, -761, -187, -761, -761, -761, -177, -761, + 849, 850, -761, -761, 937, 851, 852, -761, 853, -761, + 167, 855, -761, -761, 939, 854, 945, 856, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -172, -761, + -761, -761, -761, -761, 460, 460, 460, 460, 460, 460, + 460, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, 858, 859, 860, -33, 861, 862, 863, 864, 865, + 866, 867, 868, 869, 871, 262, 872, 874, -761, 875, + 876, 877, 878, 879, 880, 881, 16, 882, 883, 884, + 885, 886, 888, 893, -761, 894, 895, -761, -761, -761, + 896, 897, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -148, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -82, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, 898, + 899, 574, 900, 901, 902, 904, 905, 906, -761, 908, + 909, -761, 910, 911, -28, 913, 912, -761, -761, -761, + -761, 915, 918, -761, 922, 924, 387, 925, 926, 927, + 931, 932, 807, 933, -761, 936, 938, 940, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, 135, -761, 138, -761, -761, 941, 569, -761, -761, + 942, 916, 943, -761, 100, -761, -761, -761, -761, -761, + 944, 606, 947, -761, -761, 235, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -75, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + 780, 780, 780, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -39, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + 707, -761, 757, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -31, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -26, -761, 963, 920, 948, -761, -761, -761, -761, -761, + 946, -761, -761, 949, -761, -761, -761, -761, 950, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -16, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + 44, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, 52, + -761, -761, 964, -65, 953, 952, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, 65, -761, + -761, -761, -761, -33, -761, -761, -761, -761, 16, -761, + -761, -761, 574, -761, -28, -761, -761, -761, 977, 980, + 994, -761, 387, -761, 807, -761, 569, 957, 958, 959, + 336, -761, -761, 606, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, 70, -761, -761, -761, + 336, -761 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1409,202 +1441,208 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 2, 0, 1, 0, 0, 0, 223, 386, 434, 0, - 449, 0, 289, 425, 265, 0, 107, 147, 323, 0, - 0, 364, 0, 0, 340, 3, 23, 11, 4, 24, + 2, 0, 1, 0, 0, 0, 225, 390, 438, 0, + 455, 0, 291, 429, 267, 0, 107, 147, 327, 0, + 0, 368, 0, 0, 344, 3, 23, 11, 4, 24, 5, 6, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20, 22, 21, 7, 12, 25, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 99, 100, 102, 101, 621, + 0, 0, 0, 0, 0, 99, 100, 102, 101, 632, + 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 618, 630, 620, 621, 622, 623, + 619, 624, 625, 626, 627, 628, 629, 631, 0, 0, + 0, 452, 0, 0, 0, 449, 450, 451, 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 608, 620, 610, 611, 612, 613, 609, - 614, 615, 616, 617, 618, 619, 0, 0, 0, 447, - 0, 0, 445, 446, 0, 508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 586, 0, 560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 578, 0, 553, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 466, + 511, 513, 505, 506, 507, 508, 509, 504, 477, 467, + 468, 469, 470, 471, 472, 473, 474, 475, 476, 501, + 478, 479, 510, 481, 486, 487, 482, 484, 483, 495, + 496, 485, 488, 489, 490, 491, 480, 493, 512, 502, + 503, 500, 494, 492, 498, 499, 497, 514, 0, 0, + 0, 0, 0, 0, 0, 45, 46, 47, 0, 0, + 0, 666, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 657, 658, 659, 660, 661, 664, 662, 663, 665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 460, 505, 507, 499, 500, 501, - 502, 503, 498, 471, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 495, 472, 473, 504, 475, 480, - 481, 476, 478, 477, 489, 490, 479, 482, 483, 484, - 485, 474, 487, 506, 496, 497, 494, 488, 486, 492, - 493, 491, 0, 0, 0, 0, 0, 0, 0, 45, - 46, 47, 0, 0, 0, 645, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 636, 637, 638, 639, 640, - 643, 641, 642, 644, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, + 68, 69, 67, 64, 63, 70, 54, 66, 57, 58, + 59, 55, 65, 60, 61, 62, 56, 0, 0, 0, + 0, 118, 119, 120, 0, 342, 0, 0, 340, 341, + 0, 103, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 53, 68, 69, 67, 64, 63, 70, - 54, 66, 57, 58, 59, 55, 65, 60, 61, 62, - 56, 0, 0, 0, 0, 118, 119, 120, 0, 338, - 0, 0, 336, 337, 0, 103, 0, 0, 0, 0, - 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 607, 0, 0, 0, 0, 259, + 0, 617, 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 226, 227, 230, 232, 233, 234, 235, - 236, 237, 238, 239, 228, 229, 231, 240, 241, 242, - 0, 0, 0, 0, 0, 0, 0, 414, 0, 0, - 0, 0, 0, 0, 0, 0, 389, 390, 391, 392, - 393, 394, 395, 397, 396, 399, 403, 400, 401, 402, - 398, 440, 0, 0, 0, 437, 438, 439, 0, 0, - 444, 455, 0, 0, 0, 452, 453, 454, 0, 0, + 228, 229, 232, 234, 235, 236, 237, 238, 239, 240, + 241, 230, 231, 233, 242, 243, 244, 0, 0, 0, + 0, 0, 0, 0, 418, 0, 0, 0, 0, 0, + 0, 0, 0, 393, 394, 395, 396, 397, 398, 399, + 401, 400, 403, 407, 404, 405, 406, 402, 444, 0, + 0, 0, 441, 442, 443, 0, 0, 0, 448, 461, + 0, 0, 0, 458, 459, 460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 459, 0, 0, 0, - 306, 0, 0, 0, 0, 0, 0, 292, 293, 294, - 295, 300, 296, 297, 298, 299, 431, 0, 0, 0, - 428, 429, 430, 0, 0, 0, 267, 0, 277, 0, - 275, 276, 278, 279, 48, 0, 0, 0, 44, 0, - 0, 0, 0, 110, 111, 112, 0, 0, 0, 195, - 0, 0, 0, 0, 0, 170, 0, 0, 150, 151, - 152, 153, 156, 157, 158, 159, 155, 154, 160, 0, - 0, 0, 0, 0, 326, 327, 328, 329, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 635, 71, 0, + 0, 0, 0, 0, 0, 465, 0, 0, 0, 310, + 0, 0, 0, 0, 0, 0, 0, 294, 295, 296, + 302, 297, 303, 298, 299, 300, 301, 435, 0, 0, + 0, 432, 433, 434, 0, 0, 0, 269, 0, 279, + 0, 277, 278, 280, 281, 48, 0, 0, 0, 44, + 0, 0, 0, 0, 110, 111, 112, 0, 0, 0, + 196, 0, 0, 0, 0, 0, 170, 0, 0, 150, + 151, 152, 153, 156, 157, 158, 159, 155, 154, 160, + 0, 0, 0, 0, 0, 330, 331, 332, 333, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 656, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, - 372, 0, 367, 368, 369, 121, 0, 0, 117, 0, - 0, 0, 335, 0, 0, 350, 0, 0, 343, 344, - 345, 346, 0, 0, 0, 97, 0, 0, 0, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 606, - 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 225, 404, + 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, + 0, 376, 0, 371, 372, 373, 121, 0, 0, 117, + 0, 0, 0, 339, 0, 0, 354, 0, 0, 347, + 348, 349, 350, 0, 0, 0, 97, 0, 0, 0, + 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, + 0, 616, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 388, 0, 0, 0, 436, - 0, 443, 0, 0, 0, 451, 0, 0, 0, 0, + 227, 408, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 392, 0, 0, + 0, 440, 0, 0, 447, 0, 0, 0, 457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 458, 301, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 291, 0, 0, 0, - 427, 280, 0, 0, 0, 0, 0, 274, 0, 0, - 43, 113, 0, 0, 0, 109, 161, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 149, 330, - 0, 0, 0, 0, 325, 0, 0, 0, 0, 0, - 0, 0, 0, 634, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 76, 77, 0, - 75, 80, 81, 0, 79, 0, 0, 51, 370, 0, - 0, 0, 366, 0, 116, 0, 0, 334, 347, 0, - 0, 0, 0, 342, 106, 105, 104, 629, 628, 622, - 632, 27, 27, 27, 27, 27, 27, 27, 29, 28, - 633, 623, 624, 627, 626, 625, 630, 631, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 464, + 304, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 293, 0, 0, 0, 431, 282, 0, 0, 0, + 0, 0, 276, 0, 0, 43, 113, 0, 0, 0, + 109, 161, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 149, 334, 0, 0, 0, 0, 329, + 0, 0, 0, 0, 0, 0, 0, 0, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 37, 0, 0, 224, 0, 0, 0, 0, + 0, 0, 76, 77, 0, 75, 80, 81, 0, 79, + 0, 0, 51, 374, 0, 0, 0, 370, 0, 116, + 0, 0, 338, 351, 0, 0, 0, 0, 346, 106, + 105, 104, 653, 651, 654, 649, 650, 652, 0, 648, + 640, 639, 633, 643, 27, 27, 27, 27, 27, 27, + 27, 29, 28, 644, 634, 635, 638, 637, 636, 641, + 642, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 37, 0, 0, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 387, 0, 0, 435, 448, 0, 0, 450, 521, - 525, 540, 510, 605, 551, 547, 520, 512, 511, 514, - 515, 513, 528, 518, 519, 529, 517, 524, 523, 522, - 548, 509, 603, 604, 544, 588, 582, 599, 583, 584, - 585, 593, 602, 586, 596, 600, 589, 601, 594, 590, - 595, 587, 598, 592, 591, 597, 0, 581, 546, 562, - 557, 574, 558, 559, 560, 568, 577, 561, 571, 575, - 564, 576, 569, 565, 570, 563, 573, 567, 566, 572, - 0, 556, 541, 539, 542, 550, 543, 531, 537, 538, - 535, 536, 532, 533, 534, 549, 552, 516, 545, 527, - 526, 530, 0, 0, 0, 0, 0, 0, 0, 0, - 290, 0, 0, 426, 0, 0, 0, 285, 281, 284, - 266, 49, 50, 0, 0, 108, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 148, 0, 0, 0, - 324, 647, 646, 652, 650, 653, 648, 649, 651, 88, - 96, 87, 94, 95, 86, 90, 89, 83, 82, 84, - 93, 85, 72, 0, 73, 0, 91, 92, 0, 0, - 365, 122, 0, 0, 0, 134, 0, 126, 127, 129, - 128, 339, 0, 0, 0, 341, 30, 31, 32, 33, - 34, 35, 36, 254, 255, 247, 264, 263, 0, 262, - 249, 251, 258, 250, 248, 257, 244, 256, 246, 245, - 37, 37, 37, 39, 38, 252, 253, 409, 412, 413, - 423, 420, 406, 421, 418, 419, 0, 417, 422, 405, - 411, 408, 410, 424, 407, 441, 442, 456, 457, 579, - 0, 554, 0, 304, 305, 314, 311, 316, 312, 313, - 319, 315, 317, 310, 318, 0, 309, 303, 322, 321, - 320, 302, 433, 432, 288, 287, 272, 273, 271, 0, - 270, 0, 0, 0, 114, 115, 169, 165, 215, 202, - 212, 211, 200, 205, 222, 214, 220, 204, 207, 217, - 219, 216, 213, 221, 208, 210, 218, 206, 209, 0, - 198, 162, 164, 166, 167, 168, 179, 174, 191, 175, - 176, 177, 185, 194, 178, 188, 192, 181, 193, 186, - 182, 187, 180, 190, 184, 183, 189, 0, 173, 163, - 333, 331, 332, 74, 78, 371, 376, 382, 385, 378, - 384, 379, 383, 381, 377, 380, 0, 375, 130, 0, - 0, 0, 0, 125, 348, 354, 360, 363, 356, 362, - 357, 361, 359, 355, 358, 0, 353, 349, 260, 0, - 40, 41, 42, 415, 0, 580, 555, 307, 0, 268, - 0, 286, 283, 282, 0, 0, 0, 196, 0, 171, - 0, 373, 0, 0, 0, 0, 0, 124, 351, 0, - 261, 416, 308, 269, 201, 199, 203, 197, 172, 374, - 131, 133, 132, 140, 145, 144, 139, 142, 146, 143, - 138, 141, 0, 137, 352, 135, 0, 136 + 0, 0, 0, 0, 391, 0, 0, 439, 453, 454, + 0, 0, 456, 528, 532, 547, 517, 614, 558, 554, + 527, 519, 518, 521, 522, 520, 535, 525, 526, 536, + 524, 531, 530, 529, 555, 516, 612, 613, 551, 596, + 590, 607, 591, 592, 593, 601, 610, 594, 611, 604, + 608, 597, 609, 602, 598, 603, 595, 606, 600, 599, + 605, 0, 589, 553, 569, 564, 581, 565, 566, 567, + 575, 584, 568, 585, 578, 582, 571, 583, 576, 572, + 577, 570, 580, 574, 573, 579, 0, 563, 548, 546, + 549, 557, 550, 538, 544, 545, 542, 543, 539, 540, + 541, 556, 559, 523, 615, 552, 534, 533, 537, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 292, 0, + 0, 430, 0, 0, 0, 287, 283, 286, 268, 49, + 50, 0, 0, 108, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 148, 0, 0, 0, 328, 668, + 667, 673, 671, 674, 669, 670, 672, 88, 96, 87, + 94, 95, 86, 90, 89, 83, 82, 84, 93, 85, + 72, 0, 73, 0, 91, 92, 0, 0, 369, 122, + 0, 0, 0, 134, 0, 126, 127, 129, 128, 343, + 0, 0, 0, 345, 646, 0, 30, 31, 32, 33, + 34, 35, 36, 256, 257, 249, 266, 265, 0, 264, + 251, 253, 260, 252, 250, 259, 246, 258, 248, 247, + 37, 37, 37, 39, 38, 254, 255, 413, 416, 417, + 427, 424, 410, 425, 422, 423, 0, 421, 426, 409, + 415, 412, 414, 428, 411, 445, 446, 462, 463, 587, + 0, 561, 0, 308, 309, 318, 315, 320, 316, 317, + 323, 319, 321, 314, 322, 0, 313, 306, 326, 325, + 324, 307, 305, 437, 436, 290, 289, 274, 275, 273, + 0, 272, 0, 0, 0, 114, 115, 169, 165, 216, + 203, 213, 212, 201, 206, 223, 215, 221, 205, 208, + 218, 220, 217, 214, 222, 209, 211, 219, 224, 207, + 210, 0, 199, 162, 164, 166, 167, 168, 179, 174, + 191, 175, 176, 177, 185, 194, 178, 195, 188, 192, + 181, 193, 186, 182, 187, 180, 190, 184, 183, 189, + 0, 173, 163, 337, 335, 336, 74, 78, 375, 380, + 386, 389, 382, 388, 383, 387, 385, 381, 384, 0, + 379, 130, 0, 0, 0, 0, 125, 352, 358, 364, + 367, 360, 366, 361, 365, 363, 359, 362, 0, 357, + 353, 647, 262, 0, 40, 41, 42, 419, 0, 588, + 562, 311, 0, 270, 0, 288, 285, 284, 0, 0, + 0, 197, 0, 171, 0, 377, 0, 0, 0, 0, + 0, 124, 355, 0, 263, 420, 312, 271, 202, 200, + 204, 198, 172, 378, 131, 133, 132, 140, 145, 144, + 139, 142, 146, 143, 138, 141, 0, 137, 356, 135, + 0, 136 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -792, -792, -792, -443, -303, -791, -615, -792, -792, 845, - -792, -792, -792, -792, 927, -792, -792, -792, 48, -792, - 49, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, 991, -792, - -792, -792, -792, -792, -792, 618, -792, -792, -792, -792, - 795, -792, -792, -792, -792, 93, -792, -792, -792, -792, - -792, -156, -792, -792, -792, 615, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -117, -792, -792, - -792, -113, -792, -792, -792, 812, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -92, -792, -792, -792, -792, -792, - -98, -792, 688, -792, -792, -792, 23, -792, -792, -792, - -792, -792, 680, -792, -792, -792, -792, -792, -792, -792, - -82, -792, -792, -792, -792, -792, -792, 630, -792, -792, - -792, -792, -792, 936, -792, -792, -792, -792, 583, -792, - -792, -792, -792, -792, -91, -792, -792, -792, 602, -792, - -792, -792, -792, -78, -792, -792, -792, 806, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -59, - -792, -792, -792, -792, -792, -792, -792, -792, 704, -792, - -792, -792, -792, -792, 785, -792, -792, -792, -792, 1055, - -792, -792, -792, -792, 789, -792, -792, -792, -792, 1005, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - -792, -792, -792, -792, -792, 78, -792, -792, -792, 82, - -792, -792, -792, -792, -792, 1082, -792, -792, -792, -792, - -792, -792, -792, -792, -792, -792, -792, -792, -792, -792, - 941, -792, -792, -792, -792, -792, -792, -792, -792 + -761, -761, -761, -294, -310, -760, -627, -761, -761, 956, + -761, -761, -761, -761, 951, -761, -761, -761, 85, -761, + 84, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, 1054, -761, + -761, -761, -761, -761, -761, 646, -761, -761, -761, -761, + 954, -761, -761, -761, -761, 90, -761, -761, -761, -761, + -761, -160, -761, -761, -761, 633, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -145, -761, -761, + -761, -118, -761, -761, -761, 819, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -96, -761, -761, -761, -761, -761, + -104, -761, 675, -761, -761, -761, 18, -761, -761, -761, + -761, -761, 720, -761, -761, -761, -761, -761, -761, -761, + -761, -95, -761, -761, -761, -761, -761, -761, 632, -761, + -761, -761, -761, -761, 955, -761, -761, -761, -761, 613, + -761, -761, -761, -761, -761, -111, -761, -761, -761, 618, + -761, -761, -761, -761, -102, -761, -761, -761, 960, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -76, -761, -761, -761, -761, -761, -761, -761, -761, 719, + -761, -761, -761, -761, -761, 785, -761, -761, -761, -761, + 1073, -761, -761, -761, -761, -761, 821, -761, -761, -761, + -761, 1029, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, -761, -761, -761, 76, -761, -761, + -761, 80, -761, -761, -761, -761, -761, -761, 1109, -761, + -761, -761, -761, -761, -761, -761, -761, -761, -761, -761, + -761, -761, -761, -761, 139, -761, -761, 965, -761, -761, + -761, -761, -761, -761, -761, -761 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 25, 808, 809, 1063, 1064, 26, 218, 219, - 220, 221, 27, 262, 263, 264, 265, 769, 770, 773, - 774, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 28, 74, 75, 76, - 77, 78, 29, 61, 492, 493, 494, 495, 30, 284, - 285, 286, 287, 288, 1026, 1027, 1028, 1029, 1030, 1201, - 1272, 1273, 31, 62, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 735, 1177, 1178, 518, 729, - 1149, 1150, 32, 51, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 604, 1048, 1049, 33, 59, 478, 714, 1119, - 1120, 479, 480, 481, 1123, 968, 969, 482, 483, 34, - 57, 456, 457, 458, 459, 460, 461, 462, 699, 1105, - 1106, 463, 464, 465, 35, 63, 523, 524, 525, 526, - 527, 36, 291, 292, 293, 37, 69, 577, 578, 579, - 580, 581, 790, 1215, 1216, 38, 66, 561, 562, 563, - 564, 780, 1196, 1197, 39, 52, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 374, 375, 626, 1076, 1077, - 376, 377, 378, 379, 380, 40, 58, 469, 470, 471, - 472, 41, 53, 384, 385, 386, 387, 42, 111, 112, - 113, 43, 55, 394, 395, 396, 397, 44, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 426, 930, 931, 208, 424, 906, 907, - 209, 210, 211, 45, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 46, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243 + -1, 1, 25, 831, 832, 1093, 1094, 26, 224, 225, + 226, 227, 27, 268, 269, 270, 271, 784, 785, 788, + 789, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 28, 74, 75, 76, + 77, 78, 29, 61, 503, 504, 505, 506, 30, 290, + 291, 292, 293, 294, 1054, 1055, 1056, 1057, 1058, 1234, + 1306, 1307, 31, 62, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 750, 1210, 1211, 529, 744, + 1181, 1182, 32, 51, 339, 340, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 616, 1078, 1079, 33, 59, 489, 729, 1150, + 1151, 490, 491, 492, 1154, 996, 997, 493, 494, 34, + 57, 466, 467, 468, 469, 470, 471, 472, 473, 713, + 1135, 1136, 474, 475, 476, 35, 63, 534, 535, 536, + 537, 538, 36, 297, 298, 299, 37, 69, 588, 589, + 590, 591, 592, 805, 1248, 1249, 38, 66, 572, 573, + 574, 575, 795, 1229, 1230, 39, 52, 372, 373, 374, + 375, 376, 377, 378, 379, 380, 381, 382, 638, 1106, + 1107, 383, 384, 385, 386, 387, 40, 58, 480, 481, + 482, 483, 41, 53, 391, 392, 393, 394, 42, 114, + 115, 116, 117, 43, 55, 402, 403, 404, 405, 44, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 434, 956, 957, 213, 432, + 931, 932, 214, 215, 216, 217, 45, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 307, 818, 819, 46, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1612,461 +1650,489 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 833, 834, 591, 592, 593, 49, 225, 70, 573, 473, - 282, 519, 1074, 109, 1022, 109, 489, 1012, 381, 1046, - 381, 1013, 50, 215, 681, 558, 466, 682, 1116, 1014, - 54, 71, 391, 1015, 226, 289, 47, 48, 72, 473, - 282, 289, 227, 1089, 56, 520, 466, 1090, 391, 683, - 832, 60, 684, 215, 228, 229, 519, 230, 231, 232, - 573, 350, 558, 351, 474, 352, 1060, 1061, 1062, 475, - 1091, 476, 1218, 110, 1092, 110, 1219, 353, 382, 233, - 382, 1223, 64, 1227, 65, 1224, 521, 1228, 489, 67, - 520, 490, 1047, 354, 474, 68, 647, 648, 1229, 475, - 295, 476, 1230, 654, 73, 574, 315, 658, 115, 1022, - 106, 1023, 663, 116, 117, 666, 355, 216, 356, 118, - 316, 317, 559, 357, 318, 676, 677, 119, 120, 392, - 477, 521, 290, 358, 121, 522, 689, 122, 290, 692, - 693, 217, 383, 123, 383, 392, 1244, 216, 124, 125, - 467, 126, 127, 128, 244, 129, 393, 574, 359, 559, - 477, 107, 130, 490, 1117, 832, 131, 132, 319, 108, - 467, 217, 393, 1237, 1118, 133, 114, 1238, 245, -123, - 522, 70, 360, 212, 134, 491, 320, 321, 322, 323, - 213, 1239, 135, 324, 136, 1240, 137, 325, 138, 1075, - 139, 140, 361, 326, 1024, 71, 1023, 837, 838, -123, - 246, 362, 72, 141, 327, 328, 214, 247, 142, 143, - 144, 222, 145, 146, 147, 575, 329, 148, 223, 576, - 283, 1025, 752, 536, 299, 792, 716, 567, 743, 248, - 389, 1202, 560, 249, 569, 638, 296, 468, 330, 224, - 487, 250, 781, 149, 251, 252, 363, 491, 496, 644, - 283, 150, 151, 152, 153, 154, 155, 468, 571, 1220, - 1221, 1222, 281, 709, 497, 79, 447, 575, 73, 560, - 1241, 576, 582, 364, 1242, 1248, 253, 331, 634, 1249, - 498, 1275, 448, 297, 156, 1276, 80, 81, 294, 1024, - 820, 298, 82, 254, 824, 301, 255, 827, 449, 767, - 768, 831, 771, 772, 302, 724, 303, 484, 157, 158, - 499, 159, 160, 161, 304, 447, 1025, 305, 306, 307, - 308, 256, 162, 617, 309, 445, 310, 225, 450, 83, - 84, 448, 311, 538, 312, 85, 86, 388, 398, 257, - 258, 259, 87, 88, 89, 500, 399, 449, 1036, 1037, - 1038, 1039, 1040, 1041, 1042, 226, 400, 401, 402, 403, - 404, 405, 406, 227, 407, 501, 260, 261, 90, 91, - 408, 556, 409, 565, 410, 228, 229, 450, 230, 231, - 232, 502, 411, 451, 115, 412, 413, 414, 415, 116, - 117, 452, 453, 416, 417, 118, 418, 419, 503, 504, - 233, 420, 421, 119, 120, 422, 423, 425, 427, 428, - 121, 429, 454, 122, 430, 431, 432, 433, 434, 123, - 435, 436, 437, 438, 124, 125, 439, 126, 127, 128, - 440, 129, 451, 441, 244, 442, 443, 444, 130, 485, - 452, 453, 131, 132, 486, 528, 529, 530, 505, 531, - 532, 133, 1263, 533, 534, 535, 539, 540, 245, 541, - 134, 454, 542, 543, 544, 545, 546, 547, 135, 506, - 136, 548, 137, 549, 138, 737, 139, 140, 550, 1264, - 551, 1265, 552, 553, 554, 555, 566, 455, 570, 141, - 246, 1128, 313, 705, 142, 143, 144, 247, 145, 146, - 147, 583, 584, 148, 585, 1129, 586, 587, 588, 589, - 590, 594, 350, 1130, 351, 595, 352, 596, 597, 248, - 598, 599, 600, 249, 619, 650, 1266, 1131, 353, 149, - 601, 250, 1095, 602, 251, 252, 455, 150, 151, 152, - 153, 154, 155, 1267, 354, 603, 605, 606, 496, 607, - 608, 609, 610, 1096, 1132, 611, 1133, 612, 613, 614, - 615, 616, 1097, 620, 497, 621, 253, 355, 622, 356, - 156, 623, 624, 590, 357, 1245, 625, 627, 1268, 1269, - 498, 628, 1134, 254, 358, 629, 255, 630, 631, 1098, - 632, 633, 636, 637, 157, 158, 640, 159, 160, 161, - 801, 802, 803, 804, 805, 806, 807, 641, 162, 359, - 499, 256, 642, 652, 643, 1135, 646, 1136, 1099, 1100, - 649, 651, 656, 1186, 653, 655, 1101, 672, 657, 257, - 258, 259, 659, 360, 1270, 660, 1137, 661, 1271, 662, - 664, 665, 667, 668, 669, 500, 670, 671, 673, 674, - 675, 1102, 678, 361, 1138, 315, 260, 261, 679, 1139, - 680, 685, 362, 1140, 686, 501, 687, 1103, 1141, 316, - 317, 1142, 688, 318, 690, 697, 1143, 691, 694, 695, - 696, 502, 711, 1205, 718, 1187, 719, 2, 3, 698, - 1144, 4, 700, 1145, 745, 1146, 701, 748, 503, 504, - 702, 5, 703, 720, 6, 7, 1147, 363, 704, 707, - 708, 8, 712, 1148, 1188, 713, 715, 319, 721, 722, - 723, 1189, 9, 726, 727, 10, 11, 728, 1104, 730, - 1190, 731, 732, 733, 364, 320, 321, 322, 323, 734, - 736, 746, 324, 739, 754, 1206, 325, 740, 505, 12, - 747, 741, 326, 742, 13, 749, 750, 1191, 751, 1192, - 1193, 755, 14, 327, 328, 756, 885, 757, 753, 506, - 758, 759, 760, 1194, 1207, 329, 761, 765, 762, 763, - 1195, 1208, 777, 15, 16, 778, 764, 766, 775, 776, - 1209, 783, 779, 784, 785, 786, 787, 330, 788, 818, - 789, 17, 791, 794, 795, 796, 797, 798, 819, 909, - 799, 800, 810, 811, 812, 813, 814, 1210, 18, 1211, - 1212, 815, 816, 817, 822, 828, 823, 821, 825, 826, - 829, 19, 20, 1213, 830, 832, 331, 835, 836, 840, - 1214, 843, 839, 846, 1156, 851, 841, 842, 844, 854, - 855, 21, 845, 847, 848, 849, 850, 852, 858, 853, - 856, 857, 859, 860, 22, 861, 862, 863, 864, 956, - 865, 866, 867, 23, 868, 1121, 952, 24, 886, 887, - 888, 953, 889, 890, 869, 891, 892, 870, 893, 967, - 894, 954, 955, 895, 871, 872, 896, 897, 898, 957, - 899, 873, 874, 875, 876, 900, 877, 878, 879, 901, - 902, 903, 880, 881, 958, 882, 883, 884, 1231, 904, - 908, 910, 911, 912, 905, 913, 914, 959, 915, 916, - 932, 917, 933, 918, 934, 935, 919, 936, 937, 920, - 921, 922, 961, 923, 962, 964, 965, 973, 924, 974, - 976, 977, 925, 926, 927, 938, 1157, 1158, 1159, 79, - 1160, 1161, 928, 1162, 1163, 979, 1164, 929, 1165, 939, - 940, 1166, 941, 942, 1167, 1168, 1169, 943, 1170, 944, - 80, 81, 945, 1171, 946, 947, 82, 1172, 1173, 1174, - 948, 949, 950, 951, 960, 963, 980, 1175, 970, 971, - 966, 972, 1176, 978, 975, 981, 982, 983, 984, 985, - 986, 987, 988, 989, 990, 991, 992, 993, 1018, 994, - 995, 996, 1032, 83, 84, 997, 998, 999, 1000, 85, - 86, 1034, 1001, 1002, 1003, 1004, 87, 88, 89, 1005, - 1006, 1007, 1008, 1009, 1010, 1011, 1243, 1016, 1254, 1255, - 1256, 1183, 1017, 488, 1184, 300, 1020, 1021, 1019, 1031, - 1035, 1033, 90, 91, 1043, 1044, 1045, 1050, 1051, 568, - 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1065, 1066, - 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1078, 1079, 1080, - 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1093, 1094, - 725, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1203, - 1277, 1115, 738, 1258, 1124, 1257, 1122, 1250, 1125, 1126, - 1127, 1151, 1253, 1152, 1153, 1154, 706, 1155, 1179, 1180, - 1181, 1182, 1185, 1198, 618, 1232, 1252, 1199, 1204, 1200, - 1217, 1233, 1234, 744, 1235, 1247, 1246, 1236, 1274, 1260, - 793, 1261, 1262, 782, 1259, 1251, 390, 717, 446, 639, - 1226, 635, 1225, 710, 314, 537, 0, 0, 0, 0, - 0, 0, 0, 645, 0, 0, 0, 0, 0, 557, + 856, 857, 603, 604, 605, 111, 79, 288, 288, 231, + 221, 70, 484, 388, 500, 500, 70, 49, 530, 1076, + 50, 399, 1147, 477, 1104, 584, 694, 80, 81, 82, + 295, 695, 584, 477, 83, 295, 71, 696, 232, 111, + 54, 71, 697, 72, 855, 56, 233, 569, 72, 60, + 1040, 399, 569, 531, 1041, 64, 221, 65, 234, 235, + 1042, 236, 237, 238, 1043, 1064, 112, 301, 485, 1065, + 67, 84, 85, 486, 389, 487, 119, 86, 87, 47, + 48, 120, 121, 239, 88, 89, 90, 122, 68, 1119, + 501, 501, 1077, 1120, 532, 123, 124, 660, 661, 388, + 112, 1050, 108, 125, 667, 222, 126, 109, 671, 73, + 91, 92, 127, 676, 73, 250, 679, 128, 129, 400, + 130, 131, 132, 585, 133, 110, 689, 690, 296, 223, + 585, 134, 118, 296, 488, 135, 136, 702, 390, 704, + 251, 706, 707, 533, 137, 570, 401, 1278, 478, 400, + 570, 222, 218, 138, 219, 1121, 113, 302, 478, 1122, + 389, 139, 1252, 140, 1148, 141, 1253, 142, 1050, 143, + 144, 220, 252, 228, 1149, 223, 401, -123, -123, 253, + 860, 861, 145, 229, 502, 502, 230, 146, 147, 148, + 113, 149, 150, 151, 322, 287, 152, 300, 1257, 1051, + 303, 254, 1258, 304, 530, 255, 1261, 456, 323, 324, + 1262, 1263, 325, 256, 495, 1264, 257, 258, 1105, 308, + 309, 1271, 153, 457, 390, 1272, 310, 484, 507, 311, + 154, 155, 156, 157, 158, 159, 767, 289, 289, 531, + 458, 312, 397, 320, 508, 578, 547, 498, 259, 731, + 650, 739, 586, 305, 479, 758, 587, 326, 657, 586, + 724, 509, 807, 587, 479, 260, 1051, 582, 261, 160, + 459, 1090, 1091, 1092, 571, 327, 328, 329, 330, 571, + 532, 1273, 331, 485, 796, 1274, 332, 313, 486, 1275, + 487, 510, 333, 1276, 161, 262, 162, 163, 1052, 164, + 165, 166, 1282, 334, 335, 843, 1283, 1309, 314, 847, + 167, 1310, 850, 454, 231, 336, 854, 263, 264, 265, + 357, 315, 358, 316, 359, 460, 511, 317, 1053, 533, + 1254, 1255, 1256, 461, 462, 318, 360, 337, 1235, 319, + 456, 782, 783, 232, 786, 787, 512, 266, 267, 488, + 395, 233, 567, 361, 463, 396, 457, 406, 464, 407, + 408, 409, 513, 234, 235, 1052, 236, 237, 238, 602, + 410, 855, 411, 458, 412, 580, 362, 1297, 363, 514, + 515, 338, 413, 364, 414, 415, 416, 417, 239, 418, + 419, 1159, 420, 365, 421, 1053, 824, 825, 826, 827, + 828, 829, 830, 459, 1298, 1160, 1299, 593, 422, 423, + 424, 812, 425, 426, 1161, 427, 428, 813, 366, 429, + 814, 430, 815, 431, 433, 435, 816, 436, 1162, 437, + 438, 629, 439, 549, 119, 440, 516, 441, 465, 120, + 121, 442, 367, 817, 720, 122, 594, 443, 444, 445, + 446, 1300, 447, 123, 124, 1163, 448, 1164, 460, 517, + 449, 125, 368, 450, 126, 752, 461, 462, 1301, 451, + 127, 369, 452, 453, 496, 128, 129, 497, 130, 131, + 132, 539, 133, 1165, 250, 540, 541, 463, 542, 134, + 543, 464, 544, 135, 136, 545, 507, 546, 550, 551, + 576, 552, 137, 1302, 1303, 553, 554, 555, 556, 251, + 557, 138, 508, 558, 559, 560, 1166, 561, 1167, 139, + 562, 140, 370, 141, 563, 142, 564, 143, 144, 509, + 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1168, 565, 566, + 145, 252, 577, 581, 595, 146, 147, 148, 253, 149, + 150, 151, 371, 596, 152, 1169, 598, 646, 597, 510, + 599, 1170, 600, 357, 601, 358, 1171, 359, 1304, 602, + 254, 465, 1305, 1172, 255, 606, 607, 1173, 608, 360, + 153, 609, 256, 1174, 610, 257, 258, 1125, 154, 155, + 156, 157, 158, 159, 511, 611, 361, 612, 1175, 613, + 652, 1176, 614, 1177, 615, 617, 1279, 1178, 618, 1126, + 619, 620, 621, 622, 512, 623, 1179, 259, 1127, 362, + 624, 363, 625, 1180, 626, 627, 364, 160, 628, 631, + 513, 632, 653, 633, 260, 634, 365, 261, 635, 1219, + 636, 637, 639, 640, 641, 1128, 642, 514, 515, 643, + 644, 645, 161, 648, 162, 163, 649, 164, 165, 166, + 654, 366, 655, 322, 262, 656, 659, 662, 167, 663, + 664, 666, 665, 669, 1129, 1130, 1238, 323, 324, 668, + 670, 325, 1131, 673, 672, 367, 263, 264, 265, 674, + 675, 677, 678, 680, 681, 2, 3, 682, 683, 4, + 684, 1220, 685, 686, 516, 368, 688, 1132, 687, 5, + 691, 692, 6, 7, 369, 693, 266, 267, 698, 699, + 8, 700, 701, 1133, 703, 705, 326, 517, 708, 711, + 1221, 9, 733, 709, 10, 11, 710, 1222, 1239, 734, + 763, 726, 712, 760, 327, 328, 329, 330, 1223, 714, + 769, 331, 715, 716, 717, 332, 718, 909, 12, 719, + 722, 333, 723, 13, 727, 370, 728, 1240, 730, 735, + 736, 14, 334, 335, 1241, 737, 738, 741, 742, 743, + 1224, 745, 1225, 1226, 336, 1242, 746, 747, 748, 749, + 751, 1134, 15, 16, 754, 371, 755, 761, 1227, 756, + 771, 757, 768, 772, 762, 1228, 337, 934, 764, 765, + 17, 766, 770, 773, 774, 775, 776, 1243, 780, 1244, + 1245, 777, 778, 779, 781, 790, 791, 18, 798, 792, + 801, 841, 793, 79, 799, 1246, 794, 802, 800, 803, + 19, 20, 1247, 804, 806, 842, 809, 844, 810, 811, + 338, 820, 845, 846, 80, 81, 82, 1188, 821, 822, + 21, 83, 823, 848, 833, 834, 835, 836, 837, 910, + 911, 912, 838, 913, 914, 22, 915, 916, 839, 917, + 918, 840, 919, 849, 851, 852, 920, 853, 23, 855, + 921, 922, 24, 923, 858, 859, 924, 862, 84, 85, + 863, 864, 925, 865, 86, 87, 926, 927, 928, 866, + 867, 88, 89, 90, 868, 869, 870, 929, 871, 935, + 936, 937, 930, 938, 939, 872, 940, 941, 873, 942, + 943, 983, 944, 874, 875, 876, 945, 91, 92, 880, + 946, 947, 877, 948, 881, 878, 949, 879, 882, 883, + 884, 885, 950, 886, 887, 888, 951, 952, 953, 979, + 889, 890, 891, 892, 893, 894, 895, 954, 896, 1189, + 1190, 1191, 955, 1192, 1193, 897, 1194, 1195, 898, 1196, + 1197, 982, 1198, 899, 900, 901, 1199, 902, 903, 904, + 1200, 1201, 905, 1202, 984, 906, 1203, 985, 907, 908, + 933, 958, 1204, 959, 960, 961, 1205, 1206, 1207, 962, + 981, 986, 963, 987, 989, 990, 992, 1208, 964, 965, + 966, 967, 1209, 980, 968, 969, 970, 993, 971, 995, + 972, 1001, 973, 974, 975, 976, 977, 978, 1002, 988, + 991, 1004, 1005, 1007, 1011, 1008, 998, 1009, 994, 999, + 1000, 1003, 1010, 1013, 1015, 1014, 1006, 1012, 1016, 1017, + 1018, 1046, 1019, 1060, 1020, 1021, 1022, 1023, 1024, 1062, + 1025, 1026, 1265, 1027, 1028, 1029, 1030, 1031, 1032, 1033, + 1034, 1035, 1036, 1037, 1038, 1039, 1044, 1045, 1277, 1048, + 1049, 1047, 1059, 1063, 1061, 1073, 1074, 1075, 1080, 1081, + 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1288, 1089, 1095, + 1289, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1108, + 1109, 1110, 1111, 1112, 1290, 1113, 1216, 1217, 306, 1292, + 1114, 1115, 1116, 1117, 1118, 1123, 1124, 1137, 1138, 1139, + 1152, 1140, 1141, 1142, 1236, 1143, 1144, 1145, 1146, 740, + 1311, 753, 1155, 1153, 1291, 1156, 1232, 1284, 630, 1157, + 1287, 1158, 1183, 1184, 1185, 732, 759, 1286, 1186, 1187, + 1212, 1266, 1308, 1213, 1293, 1214, 651, 1215, 1218, 1231, + 499, 1237, 1285, 1233, 1250, 1267, 721, 398, 1268, 1281, + 797, 1269, 1270, 1280, 1294, 1295, 1296, 455, 1260, 725, + 1259, 808, 321, 0, 1251, 548, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 568, + 0, 0, 0, 658, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 579, 0, 0, 0, 0, 0, + 0, 0, 583, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 572 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 647 }; static const yytype_int16 yycheck[] = { - 615, 616, 305, 306, 307, 229, 1, 1, 1, 1, - 1, 1, 8, 1, 1, 1, 1, 227, 1, 51, - 1, 231, 229, 1, 210, 1, 1, 213, 49, 227, - 229, 25, 1, 231, 29, 1, 227, 228, 32, 1, - 1, 1, 37, 227, 229, 35, 1, 231, 1, 210, - 108, 229, 213, 1, 49, 50, 1, 52, 53, 54, - 1, 1, 1, 3, 56, 5, 9, 10, 11, 61, - 227, 63, 227, 61, 231, 61, 231, 17, 61, 74, - 61, 227, 229, 227, 229, 231, 76, 231, 1, 229, - 35, 76, 124, 33, 56, 229, 399, 400, 227, 61, - 227, 63, 231, 406, 98, 98, 1, 410, 1, 1, - 229, 98, 415, 6, 7, 418, 56, 95, 58, 12, - 15, 16, 98, 63, 19, 428, 429, 20, 21, 98, - 122, 76, 98, 73, 27, 125, 439, 30, 98, 442, - 443, 119, 125, 36, 125, 98, 204, 95, 41, 42, - 125, 44, 45, 46, 1, 48, 125, 98, 98, 98, - 122, 229, 55, 76, 185, 108, 59, 60, 63, 229, - 125, 119, 125, 227, 195, 68, 229, 231, 25, 170, - 125, 1, 122, 229, 77, 170, 81, 82, 83, 84, - 229, 227, 85, 88, 87, 231, 89, 92, 91, 195, - 93, 94, 142, 98, 191, 25, 98, 174, 175, 170, - 57, 151, 32, 106, 109, 110, 229, 64, 111, 112, - 113, 229, 115, 116, 117, 218, 121, 120, 229, 222, - 221, 218, 535, 228, 228, 228, 228, 228, 228, 86, - 228, 228, 218, 90, 170, 228, 230, 222, 143, 229, - 228, 98, 228, 146, 101, 102, 196, 170, 1, 228, - 221, 154, 155, 156, 157, 158, 159, 222, 228, 1060, - 1061, 1062, 229, 228, 17, 1, 1, 218, 98, 218, - 227, 222, 123, 223, 231, 227, 133, 182, 228, 231, - 33, 227, 17, 230, 187, 231, 22, 23, 229, 191, - 603, 230, 28, 150, 607, 230, 153, 610, 33, 199, - 200, 614, 199, 200, 230, 228, 230, 227, 211, 212, - 63, 214, 215, 216, 230, 1, 218, 230, 230, 230, - 230, 178, 225, 228, 230, 228, 230, 1, 63, 65, - 66, 17, 230, 227, 230, 71, 72, 230, 230, 196, - 197, 198, 78, 79, 80, 98, 230, 33, 801, 802, - 803, 804, 805, 806, 807, 29, 230, 230, 230, 230, - 230, 230, 230, 37, 230, 118, 223, 224, 104, 105, - 230, 228, 230, 227, 230, 49, 50, 63, 52, 53, - 54, 134, 230, 118, 1, 230, 230, 230, 230, 6, - 7, 126, 127, 230, 230, 12, 230, 230, 151, 152, - 74, 230, 230, 20, 21, 230, 230, 230, 230, 230, - 27, 230, 147, 30, 230, 230, 230, 230, 230, 36, - 230, 230, 230, 230, 41, 42, 230, 44, 45, 46, - 230, 48, 118, 230, 1, 230, 230, 230, 55, 230, - 126, 127, 59, 60, 230, 230, 230, 230, 201, 230, - 230, 68, 40, 230, 230, 230, 230, 230, 25, 230, - 77, 147, 230, 230, 230, 230, 230, 230, 85, 222, - 87, 230, 89, 230, 91, 228, 93, 94, 230, 67, - 230, 69, 230, 230, 230, 230, 230, 222, 230, 106, - 57, 4, 228, 228, 111, 112, 113, 64, 115, 116, - 117, 123, 123, 120, 227, 18, 108, 108, 210, 108, - 108, 108, 1, 26, 3, 108, 5, 108, 210, 86, - 210, 227, 227, 90, 227, 108, 114, 40, 17, 146, - 230, 98, 13, 230, 101, 102, 222, 154, 155, 156, - 157, 158, 159, 131, 33, 230, 230, 230, 1, 230, - 230, 230, 230, 34, 67, 230, 69, 230, 230, 230, - 230, 230, 43, 230, 17, 230, 133, 56, 230, 58, - 187, 230, 230, 108, 63, 1200, 230, 230, 166, 167, - 33, 230, 95, 150, 73, 230, 153, 230, 230, 70, - 230, 230, 230, 230, 211, 212, 123, 214, 215, 216, - 135, 136, 137, 138, 139, 140, 141, 227, 225, 98, - 63, 178, 230, 108, 230, 128, 210, 130, 99, 100, - 210, 210, 108, 69, 210, 210, 107, 230, 108, 196, - 197, 198, 108, 122, 222, 210, 149, 210, 226, 210, - 108, 108, 108, 108, 108, 98, 108, 210, 210, 230, - 210, 132, 210, 142, 167, 1, 223, 224, 210, 172, - 210, 210, 151, 176, 210, 118, 210, 148, 181, 15, - 16, 184, 123, 19, 210, 230, 189, 210, 210, 227, - 227, 134, 227, 69, 123, 131, 123, 0, 1, 230, - 203, 4, 230, 206, 210, 208, 230, 123, 151, 152, - 230, 14, 230, 227, 17, 18, 219, 196, 230, 230, - 230, 24, 230, 226, 160, 230, 230, 63, 227, 230, - 230, 167, 35, 227, 230, 38, 39, 230, 209, 230, - 176, 230, 230, 230, 223, 81, 82, 83, 84, 230, - 230, 210, 88, 227, 123, 131, 92, 230, 201, 62, - 210, 230, 98, 230, 67, 210, 210, 203, 210, 205, - 206, 210, 75, 109, 110, 123, 49, 108, 227, 222, - 108, 123, 123, 219, 160, 121, 123, 108, 123, 123, - 226, 167, 227, 96, 97, 227, 123, 123, 123, 123, - 176, 210, 230, 227, 229, 123, 227, 143, 227, 108, - 230, 114, 230, 227, 227, 227, 227, 227, 108, 49, - 227, 227, 227, 227, 227, 227, 227, 203, 131, 205, - 206, 227, 227, 227, 108, 123, 108, 230, 108, 108, - 108, 144, 145, 219, 108, 108, 182, 227, 123, 210, - 226, 230, 123, 108, 49, 227, 123, 123, 123, 227, - 227, 164, 123, 123, 123, 123, 123, 123, 227, 123, - 123, 123, 227, 227, 177, 227, 227, 227, 227, 108, - 227, 227, 227, 186, 227, 217, 123, 190, 161, 162, - 163, 210, 165, 166, 227, 168, 169, 227, 171, 108, - 173, 230, 123, 176, 227, 227, 179, 180, 181, 123, - 183, 227, 227, 227, 227, 188, 227, 227, 227, 192, - 193, 194, 227, 227, 123, 227, 227, 227, 108, 202, - 227, 161, 162, 163, 207, 165, 166, 123, 168, 169, - 227, 171, 227, 173, 227, 227, 176, 227, 227, 179, - 180, 181, 123, 183, 123, 123, 123, 123, 188, 123, - 123, 210, 192, 193, 194, 227, 161, 162, 163, 1, - 165, 166, 202, 168, 169, 123, 171, 207, 173, 227, - 227, 176, 227, 227, 179, 180, 181, 227, 183, 227, - 22, 23, 227, 188, 227, 227, 28, 192, 193, 194, - 227, 227, 227, 227, 227, 227, 123, 202, 227, 227, - 230, 227, 207, 230, 227, 123, 123, 210, 230, 123, - 227, 123, 123, 123, 227, 227, 227, 227, 123, 227, - 227, 227, 123, 65, 66, 227, 227, 227, 227, 71, - 72, 123, 227, 227, 227, 227, 78, 79, 80, 227, - 227, 227, 227, 227, 227, 227, 123, 227, 129, 129, - 129, 1013, 227, 218, 1015, 74, 227, 227, 230, 227, - 227, 230, 104, 105, 227, 227, 227, 227, 227, 284, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 492, 227, 227, 227, 227, 227, 227, 227, 227, 1026, - 1276, 227, 507, 1240, 227, 1238, 231, 1219, 227, 227, - 227, 227, 1230, 227, 227, 227, 456, 227, 227, 227, - 227, 227, 227, 227, 332, 1122, 1228, 230, 227, 230, - 227, 227, 232, 523, 232, 227, 230, 232, 1249, 227, - 577, 227, 227, 561, 1242, 1224, 111, 479, 163, 384, - 1092, 365, 1090, 469, 92, 234, -1, -1, -1, -1, - -1, -1, -1, 394, -1, -1, -1, -1, -1, 262, + 627, 628, 312, 313, 314, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 239, 1, 52, + 239, 1, 50, 1, 8, 1, 218, 22, 23, 24, + 1, 223, 1, 1, 29, 1, 26, 218, 30, 1, + 239, 26, 223, 33, 109, 239, 38, 1, 33, 239, + 237, 1, 1, 36, 241, 239, 1, 239, 50, 51, + 237, 53, 54, 55, 241, 237, 62, 237, 57, 241, + 239, 66, 67, 62, 62, 64, 1, 72, 73, 237, + 238, 6, 7, 75, 79, 80, 81, 12, 239, 237, + 77, 77, 125, 241, 77, 20, 21, 407, 408, 1, + 62, 1, 239, 28, 414, 96, 31, 239, 418, 99, + 105, 106, 37, 423, 99, 1, 426, 42, 43, 99, + 45, 46, 47, 99, 49, 239, 436, 437, 99, 120, + 99, 56, 239, 99, 123, 60, 61, 447, 126, 449, + 26, 451, 452, 126, 69, 99, 126, 212, 126, 99, + 99, 96, 239, 78, 239, 237, 152, 240, 126, 241, + 62, 86, 237, 88, 192, 90, 241, 92, 1, 94, + 95, 239, 58, 239, 202, 120, 126, 171, 171, 65, + 177, 178, 107, 239, 171, 171, 239, 112, 113, 114, + 152, 116, 117, 118, 1, 239, 121, 239, 237, 99, + 240, 87, 241, 240, 1, 91, 237, 1, 15, 16, + 241, 237, 19, 99, 237, 241, 102, 103, 202, 240, + 240, 237, 147, 17, 126, 241, 240, 1, 1, 240, + 155, 156, 157, 158, 159, 160, 546, 231, 231, 36, + 34, 240, 238, 238, 17, 238, 238, 238, 134, 238, + 238, 238, 228, 238, 232, 238, 232, 64, 238, 228, + 238, 34, 238, 232, 232, 151, 99, 238, 154, 194, + 64, 9, 10, 11, 228, 82, 83, 84, 85, 228, + 77, 237, 89, 57, 238, 241, 93, 240, 62, 237, + 64, 64, 99, 241, 219, 181, 221, 222, 198, 224, + 225, 226, 237, 110, 111, 615, 241, 237, 240, 619, + 235, 241, 622, 238, 1, 122, 626, 203, 204, 205, + 1, 240, 3, 240, 5, 119, 99, 240, 228, 126, + 1090, 1091, 1092, 127, 128, 240, 17, 144, 238, 240, + 1, 206, 207, 30, 206, 207, 119, 233, 234, 123, + 240, 38, 238, 34, 148, 240, 17, 240, 152, 240, + 240, 240, 135, 50, 51, 198, 53, 54, 55, 109, + 240, 109, 240, 34, 240, 171, 57, 41, 59, 152, + 153, 188, 240, 64, 240, 240, 240, 240, 75, 240, + 240, 4, 240, 74, 240, 228, 136, 137, 138, 139, + 140, 141, 142, 64, 68, 18, 70, 124, 240, 240, + 240, 176, 240, 240, 27, 240, 240, 182, 99, 240, + 185, 240, 187, 240, 240, 240, 191, 240, 41, 240, + 240, 238, 240, 237, 1, 240, 209, 240, 232, 6, + 7, 240, 123, 208, 238, 12, 124, 240, 240, 240, + 240, 115, 240, 20, 21, 68, 240, 70, 119, 232, + 240, 28, 143, 240, 31, 238, 127, 128, 132, 240, + 37, 152, 240, 240, 240, 42, 43, 240, 45, 46, + 47, 240, 49, 96, 1, 240, 240, 148, 240, 56, + 240, 152, 240, 60, 61, 240, 1, 240, 240, 240, + 237, 240, 69, 167, 168, 240, 240, 240, 240, 26, + 240, 78, 17, 240, 240, 240, 129, 240, 131, 86, + 240, 88, 203, 90, 240, 92, 240, 94, 95, 34, + 824, 825, 826, 827, 828, 829, 830, 150, 240, 240, + 107, 58, 240, 240, 124, 112, 113, 114, 65, 116, + 117, 118, 233, 237, 121, 168, 109, 238, 240, 64, + 109, 174, 218, 1, 109, 3, 179, 5, 232, 109, + 87, 232, 236, 186, 91, 109, 109, 190, 109, 17, + 147, 218, 99, 196, 218, 102, 103, 13, 155, 156, + 157, 158, 159, 160, 99, 237, 34, 237, 211, 240, + 124, 214, 240, 216, 240, 240, 1233, 220, 240, 35, + 240, 240, 240, 240, 119, 240, 229, 134, 44, 57, + 240, 59, 240, 236, 240, 240, 64, 194, 240, 237, + 135, 240, 124, 240, 151, 240, 74, 154, 240, 70, + 240, 240, 240, 240, 240, 71, 240, 152, 153, 240, + 240, 240, 219, 240, 221, 222, 240, 224, 225, 226, + 237, 99, 240, 1, 181, 240, 218, 218, 235, 109, + 218, 218, 109, 109, 100, 101, 70, 15, 16, 218, + 109, 19, 108, 218, 109, 123, 203, 204, 205, 218, + 218, 109, 109, 109, 109, 0, 1, 109, 109, 4, + 218, 132, 240, 218, 209, 143, 218, 133, 240, 14, + 218, 218, 17, 18, 152, 218, 233, 234, 218, 218, + 25, 218, 124, 149, 218, 218, 64, 232, 218, 240, + 161, 36, 124, 237, 39, 40, 237, 168, 132, 124, + 124, 237, 240, 218, 82, 83, 84, 85, 179, 240, + 124, 89, 240, 240, 240, 93, 240, 50, 63, 240, + 240, 99, 240, 68, 240, 203, 240, 161, 240, 237, + 237, 76, 110, 111, 168, 240, 240, 237, 240, 240, + 211, 240, 213, 214, 122, 179, 240, 240, 240, 240, + 240, 217, 97, 98, 237, 233, 240, 218, 229, 240, + 124, 240, 237, 109, 218, 236, 144, 50, 218, 218, + 115, 218, 218, 109, 124, 124, 124, 211, 109, 213, + 214, 124, 124, 124, 124, 124, 124, 132, 218, 237, + 124, 109, 237, 1, 237, 229, 240, 237, 239, 237, + 145, 146, 236, 240, 240, 109, 237, 240, 237, 237, + 188, 237, 109, 109, 22, 23, 24, 50, 237, 237, + 165, 29, 237, 109, 237, 237, 237, 237, 237, 162, + 163, 164, 237, 166, 167, 180, 169, 170, 237, 172, + 173, 237, 175, 109, 124, 109, 179, 109, 193, 109, + 183, 184, 197, 186, 237, 124, 189, 124, 66, 67, + 218, 124, 195, 124, 72, 73, 199, 200, 201, 240, + 124, 79, 80, 81, 124, 109, 124, 210, 124, 162, + 163, 164, 215, 166, 167, 124, 169, 170, 124, 172, + 173, 109, 175, 237, 124, 124, 179, 105, 106, 124, + 183, 184, 237, 186, 124, 237, 189, 237, 237, 237, + 237, 237, 195, 237, 237, 237, 199, 200, 201, 124, + 237, 237, 237, 237, 237, 237, 237, 210, 237, 162, + 163, 164, 215, 166, 167, 237, 169, 170, 237, 172, + 173, 124, 175, 237, 237, 237, 179, 237, 237, 237, + 183, 184, 237, 186, 124, 237, 189, 124, 237, 237, + 237, 237, 195, 237, 237, 237, 199, 200, 201, 237, + 240, 124, 237, 124, 124, 124, 124, 210, 237, 237, + 237, 237, 215, 218, 237, 237, 237, 124, 237, 109, + 237, 124, 237, 237, 237, 237, 237, 237, 124, 237, + 237, 124, 218, 124, 218, 124, 237, 124, 240, 237, + 237, 237, 124, 124, 124, 237, 240, 240, 124, 124, + 237, 124, 237, 124, 237, 237, 237, 237, 237, 124, + 237, 237, 109, 237, 237, 237, 237, 237, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 124, 237, + 237, 240, 237, 237, 240, 237, 237, 237, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 130, 237, 237, + 130, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 237, 237, 237, 130, 237, 1041, 1043, 74, 1274, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 227, 237, 237, 237, 1054, 237, 237, 237, 237, 503, + 1310, 518, 237, 241, 1272, 237, 240, 1253, 339, 237, + 1264, 237, 237, 237, 237, 490, 534, 1262, 237, 237, + 237, 1153, 1283, 237, 1276, 237, 391, 237, 237, 237, + 224, 237, 1258, 240, 237, 237, 466, 114, 242, 237, + 572, 242, 242, 240, 237, 237, 237, 168, 1122, 480, + 1120, 588, 93, -1, 1065, 240, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 268, + -1, -1, -1, 402, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 290, -1, -1, -1, -1, -1, + -1, -1, 297, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 291 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 372 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 234, 0, 1, 4, 14, 17, 18, 24, 35, - 38, 39, 62, 67, 75, 96, 97, 114, 131, 144, - 145, 164, 177, 186, 190, 235, 240, 245, 269, 275, - 281, 295, 315, 338, 352, 367, 374, 378, 388, 397, - 418, 424, 430, 434, 440, 496, 511, 227, 228, 229, - 229, 316, 398, 425, 229, 435, 229, 353, 419, 339, - 229, 276, 296, 368, 229, 229, 389, 229, 229, 379, - 1, 25, 32, 98, 270, 271, 272, 273, 274, 1, - 22, 23, 28, 65, 66, 71, 72, 78, 79, 80, - 104, 105, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 229, 229, 229, 1, - 61, 431, 432, 433, 229, 1, 6, 7, 12, 20, - 21, 27, 30, 36, 41, 42, 44, 45, 46, 48, - 55, 59, 60, 68, 77, 85, 87, 89, 91, 93, - 94, 106, 111, 112, 113, 115, 116, 117, 120, 146, - 154, 155, 156, 157, 158, 159, 187, 211, 212, 214, - 215, 216, 225, 441, 442, 443, 444, 445, 446, 447, - 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, - 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 482, 483, 484, 485, 489, 493, - 494, 495, 229, 229, 229, 1, 95, 119, 241, 242, - 243, 244, 229, 229, 229, 1, 29, 37, 49, 50, - 52, 53, 54, 74, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 1, 25, 57, 64, 86, 90, - 98, 101, 102, 133, 150, 153, 178, 196, 197, 198, - 223, 224, 246, 247, 248, 249, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 229, 1, 221, 282, 283, 284, 285, 286, 1, - 98, 375, 376, 377, 229, 227, 230, 230, 230, 228, - 271, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 228, 498, 1, 15, 16, 19, 63, - 81, 82, 83, 84, 88, 92, 98, 109, 110, 121, - 143, 182, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 1, 3, 5, 17, 33, 56, 58, 63, 73, 98, - 122, 142, 151, 196, 223, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 413, 414, 415, 416, - 417, 1, 61, 125, 426, 427, 428, 429, 230, 228, - 432, 1, 98, 125, 436, 437, 438, 439, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 490, 230, 486, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 228, 442, 1, 17, 33, - 63, 118, 126, 127, 147, 222, 354, 355, 356, 357, - 358, 359, 360, 364, 365, 366, 1, 125, 222, 420, - 421, 422, 423, 1, 56, 61, 63, 122, 340, 344, - 345, 346, 350, 351, 227, 230, 230, 228, 242, 1, - 76, 170, 277, 278, 279, 280, 1, 17, 33, 63, - 98, 118, 134, 151, 152, 201, 222, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 311, 1, - 35, 76, 125, 369, 370, 371, 372, 373, 230, 230, - 230, 230, 230, 230, 230, 230, 228, 513, 227, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 228, 247, 1, 98, - 218, 390, 391, 392, 393, 227, 230, 228, 283, 170, - 230, 228, 376, 1, 98, 218, 222, 380, 381, 382, - 383, 384, 123, 123, 123, 227, 108, 108, 210, 108, - 108, 237, 237, 237, 108, 108, 108, 210, 210, 227, - 227, 230, 230, 230, 335, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 228, 318, 227, - 230, 230, 230, 230, 230, 230, 410, 230, 230, 230, - 230, 230, 230, 230, 228, 400, 230, 230, 228, 427, - 123, 227, 230, 230, 228, 437, 210, 237, 237, 210, - 108, 210, 108, 210, 237, 210, 108, 108, 237, 108, - 210, 210, 210, 237, 108, 108, 237, 108, 108, 108, - 108, 210, 230, 210, 230, 210, 237, 237, 210, 210, - 210, 210, 213, 210, 213, 210, 210, 210, 123, 237, - 210, 210, 237, 237, 210, 227, 227, 230, 230, 361, - 230, 230, 230, 230, 230, 228, 355, 230, 230, 228, - 421, 227, 230, 230, 341, 230, 228, 345, 123, 123, - 227, 227, 230, 230, 228, 278, 227, 230, 230, 312, - 230, 230, 230, 230, 230, 308, 230, 228, 298, 227, - 230, 230, 230, 228, 370, 210, 210, 210, 123, 210, - 210, 210, 237, 227, 123, 210, 123, 108, 108, 123, - 123, 123, 123, 123, 123, 108, 123, 199, 200, 250, - 251, 199, 200, 252, 253, 123, 123, 227, 227, 230, - 394, 228, 391, 210, 227, 229, 123, 227, 227, 230, - 385, 230, 228, 381, 227, 227, 227, 227, 227, 227, - 227, 135, 136, 137, 138, 139, 140, 141, 236, 237, - 227, 227, 227, 227, 227, 227, 227, 227, 108, 108, - 237, 230, 108, 108, 237, 108, 108, 237, 123, 108, - 108, 237, 108, 239, 239, 227, 123, 174, 175, 123, - 210, 123, 123, 230, 123, 123, 108, 123, 123, 123, - 123, 227, 123, 123, 227, 227, 123, 123, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 49, 161, 162, 163, 165, - 166, 168, 169, 171, 173, 176, 179, 180, 181, 183, - 188, 192, 193, 194, 202, 207, 491, 492, 227, 49, - 161, 162, 163, 165, 166, 168, 169, 171, 173, 176, - 179, 180, 181, 183, 188, 192, 193, 194, 202, 207, - 487, 488, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 123, 210, 230, 123, 108, 123, 123, 123, - 227, 123, 123, 227, 123, 123, 230, 108, 348, 349, - 227, 227, 227, 123, 123, 227, 123, 210, 230, 123, - 123, 123, 123, 210, 230, 123, 227, 123, 123, 123, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 231, 227, 231, 227, 227, 123, 230, - 227, 227, 1, 98, 191, 218, 287, 288, 289, 290, - 291, 227, 123, 230, 123, 227, 236, 236, 236, 236, - 236, 236, 236, 227, 227, 227, 51, 124, 336, 337, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 9, 10, 11, 238, 239, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 8, 195, 411, 412, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 231, 227, 231, 227, 227, 13, 34, 43, 70, 99, - 100, 107, 132, 148, 209, 362, 363, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 49, 185, 195, 342, - 343, 217, 231, 347, 227, 227, 227, 227, 4, 18, - 26, 40, 67, 69, 95, 128, 130, 149, 167, 172, - 176, 181, 184, 189, 203, 206, 208, 219, 226, 313, - 314, 227, 227, 227, 227, 227, 49, 161, 162, 163, - 165, 166, 168, 169, 171, 173, 176, 179, 180, 181, - 183, 188, 192, 193, 194, 202, 207, 309, 310, 227, - 227, 227, 227, 251, 253, 227, 69, 131, 160, 167, - 176, 203, 205, 206, 219, 226, 395, 396, 227, 230, - 230, 292, 228, 288, 227, 69, 131, 160, 167, 176, - 203, 205, 206, 219, 226, 386, 387, 227, 227, 231, - 238, 238, 238, 227, 231, 492, 488, 227, 231, 227, - 231, 108, 349, 227, 232, 232, 232, 227, 231, 227, - 231, 227, 231, 123, 204, 239, 230, 227, 227, 231, - 337, 412, 363, 343, 129, 129, 129, 314, 310, 396, - 227, 227, 227, 40, 67, 69, 114, 131, 166, 167, - 222, 226, 293, 294, 387, 227, 231, 294 + 0, 244, 0, 1, 4, 14, 17, 18, 25, 36, + 39, 40, 63, 68, 76, 97, 98, 115, 132, 145, + 146, 165, 180, 193, 197, 245, 250, 255, 279, 285, + 291, 305, 325, 348, 362, 378, 385, 389, 399, 408, + 429, 435, 441, 446, 452, 509, 528, 237, 238, 239, + 239, 326, 409, 436, 239, 447, 239, 363, 430, 349, + 239, 286, 306, 379, 239, 239, 400, 239, 239, 390, + 1, 26, 33, 99, 280, 281, 282, 283, 284, 1, + 22, 23, 24, 29, 66, 67, 72, 73, 79, 80, + 81, 105, 106, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 239, 239, + 239, 1, 62, 152, 442, 443, 444, 445, 239, 1, + 6, 7, 12, 20, 21, 28, 31, 37, 42, 43, + 45, 46, 47, 49, 56, 60, 61, 69, 78, 86, + 88, 90, 92, 94, 95, 107, 112, 113, 114, 116, + 117, 118, 121, 147, 155, 156, 157, 158, 159, 160, + 194, 219, 221, 222, 224, 225, 226, 235, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 501, 505, 506, 507, 508, 239, 239, + 239, 1, 96, 120, 251, 252, 253, 254, 239, 239, + 239, 1, 30, 38, 50, 51, 53, 54, 55, 75, + 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, + 1, 26, 58, 65, 87, 91, 99, 102, 103, 134, + 151, 154, 181, 203, 204, 205, 233, 234, 256, 257, + 258, 259, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 239, 1, 231, + 292, 293, 294, 295, 296, 1, 99, 386, 387, 388, + 239, 237, 240, 240, 240, 238, 281, 525, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 238, 511, 1, 15, 16, 19, 64, 82, 83, 84, + 85, 89, 93, 99, 110, 111, 122, 144, 188, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, 342, 343, 344, 1, 3, 5, + 17, 34, 57, 59, 64, 74, 99, 123, 143, 152, + 203, 233, 410, 411, 412, 413, 414, 415, 416, 417, + 418, 419, 420, 424, 425, 426, 427, 428, 1, 62, + 126, 437, 438, 439, 440, 240, 240, 238, 443, 1, + 99, 126, 448, 449, 450, 451, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 502, 240, 498, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 238, 454, 1, 17, 34, 64, + 119, 127, 128, 148, 152, 232, 364, 365, 366, 367, + 368, 369, 370, 371, 375, 376, 377, 1, 126, 232, + 431, 432, 433, 434, 1, 57, 62, 64, 123, 350, + 354, 355, 356, 360, 361, 237, 240, 240, 238, 252, + 1, 77, 171, 287, 288, 289, 290, 1, 17, 34, + 64, 99, 119, 135, 152, 153, 209, 232, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 321, + 1, 36, 77, 126, 380, 381, 382, 383, 384, 240, + 240, 240, 240, 240, 240, 240, 240, 238, 530, 237, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 238, 257, 1, + 99, 228, 401, 402, 403, 404, 237, 240, 238, 293, + 171, 240, 238, 387, 1, 99, 228, 232, 391, 392, + 393, 394, 395, 124, 124, 124, 237, 240, 109, 109, + 218, 109, 109, 247, 247, 247, 109, 109, 109, 218, + 218, 237, 237, 240, 240, 240, 345, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 238, + 328, 237, 240, 240, 240, 240, 240, 240, 421, 240, + 240, 240, 240, 240, 240, 240, 238, 411, 240, 240, + 238, 438, 124, 124, 237, 240, 240, 238, 449, 218, + 247, 247, 218, 109, 218, 109, 218, 247, 218, 109, + 109, 247, 109, 218, 218, 218, 247, 109, 109, 247, + 109, 109, 109, 109, 218, 240, 218, 240, 218, 247, + 247, 218, 218, 218, 218, 223, 218, 223, 218, 218, + 218, 124, 247, 218, 247, 218, 247, 247, 218, 237, + 237, 240, 240, 372, 240, 240, 240, 240, 240, 240, + 238, 365, 240, 240, 238, 432, 237, 240, 240, 351, + 240, 238, 355, 124, 124, 237, 237, 240, 240, 238, + 288, 237, 240, 240, 322, 240, 240, 240, 240, 240, + 318, 240, 238, 308, 237, 240, 240, 240, 238, 381, + 218, 218, 218, 124, 218, 218, 218, 247, 237, 124, + 218, 124, 109, 109, 124, 124, 124, 124, 124, 124, + 109, 124, 206, 207, 260, 261, 206, 207, 262, 263, + 124, 124, 237, 237, 240, 405, 238, 402, 218, 237, + 239, 124, 237, 237, 240, 396, 240, 238, 392, 237, + 237, 237, 176, 182, 185, 187, 191, 208, 526, 527, + 237, 237, 237, 237, 136, 137, 138, 139, 140, 141, + 142, 246, 247, 237, 237, 237, 237, 237, 237, 237, + 237, 109, 109, 247, 240, 109, 109, 247, 109, 109, + 247, 124, 109, 109, 247, 109, 249, 249, 237, 124, + 177, 178, 124, 218, 124, 124, 240, 124, 124, 109, + 124, 124, 124, 124, 237, 124, 124, 237, 237, 237, + 124, 124, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 50, + 162, 163, 164, 166, 167, 169, 170, 172, 173, 175, + 179, 183, 184, 186, 189, 195, 199, 200, 201, 210, + 215, 503, 504, 237, 50, 162, 163, 164, 166, 167, + 169, 170, 172, 173, 175, 179, 183, 184, 186, 189, + 195, 199, 200, 201, 210, 215, 499, 500, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 124, + 218, 240, 124, 109, 124, 124, 124, 124, 237, 124, + 124, 237, 124, 124, 240, 109, 358, 359, 237, 237, + 237, 124, 124, 237, 124, 218, 240, 124, 124, 124, + 124, 218, 240, 124, 237, 124, 124, 124, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 241, 237, 241, 237, 237, 124, 240, 237, 237, + 1, 99, 198, 228, 297, 298, 299, 300, 301, 237, + 124, 240, 124, 237, 237, 241, 246, 246, 246, 246, + 246, 246, 246, 237, 237, 237, 52, 125, 346, 347, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 9, 10, 11, 248, 249, 237, 237, 237, 237, 237, + 237, 237, 237, 237, 8, 202, 422, 423, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 241, 237, 241, 237, 237, 13, 35, 44, 71, 100, + 101, 108, 133, 149, 217, 373, 374, 237, 237, 237, + 237, 237, 237, 237, 237, 237, 237, 50, 192, 202, + 352, 353, 227, 241, 357, 237, 237, 237, 237, 4, + 18, 27, 41, 68, 70, 96, 129, 131, 150, 168, + 174, 179, 186, 190, 196, 211, 214, 216, 220, 229, + 236, 323, 324, 237, 237, 237, 237, 237, 50, 162, + 163, 164, 166, 167, 169, 170, 172, 173, 175, 179, + 183, 184, 186, 189, 195, 199, 200, 201, 210, 215, + 319, 320, 237, 237, 237, 237, 261, 263, 237, 70, + 132, 161, 168, 179, 211, 213, 214, 229, 236, 406, + 407, 237, 240, 240, 302, 238, 298, 237, 70, 132, + 161, 168, 179, 211, 213, 214, 229, 236, 397, 398, + 237, 527, 237, 241, 248, 248, 248, 237, 241, 504, + 500, 237, 241, 237, 241, 109, 359, 237, 242, 242, + 242, 237, 241, 237, 241, 237, 241, 124, 212, 249, + 240, 237, 237, 241, 347, 423, 374, 353, 130, 130, + 130, 324, 320, 407, 237, 237, 237, 41, 68, 70, + 115, 132, 167, 168, 232, 236, 303, 304, 398, 237, + 241, 304 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 233, 234, 234, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, - 235, 235, 235, 235, 235, 235, 235, 236, 236, 237, - 237, 237, 237, 237, 237, 237, 237, 238, 238, 239, - 239, 239, 239, 240, 241, 241, 242, 242, 242, 243, - 244, 245, 246, 246, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 248, 249, 250, 250, 251, 251, 252, 252, - 253, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 270, - 271, 271, 271, 271, 272, 273, 274, 276, 275, 277, - 277, 278, 278, 278, 279, 280, 281, 282, 282, 283, - 283, 283, 284, 286, 285, 287, 287, 288, 288, 288, - 288, 289, 290, 290, 292, 291, 293, 293, 294, 294, - 294, 294, 294, 294, 294, 294, 294, 296, 295, 297, - 297, 298, 298, 298, 298, 298, 298, 298, 298, 298, - 298, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 308, 307, 309, 309, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 310, 310, 310, 310, 312, 311, 313, 313, 314, - 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, - 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, - 314, 314, 314, 316, 315, 317, 317, 318, 318, 318, - 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, - 318, 318, 318, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 335, - 334, 336, 336, 337, 337, 339, 338, 341, 340, 342, - 342, 343, 343, 343, 344, 344, 345, 345, 345, 345, - 345, 347, 346, 348, 348, 349, 349, 350, 351, 353, - 352, 354, 354, 355, 355, 355, 355, 355, 355, 355, - 355, 355, 356, 357, 358, 359, 361, 360, 362, 362, - 363, 363, 363, 363, 363, 363, 363, 363, 363, 363, - 364, 365, 366, 368, 367, 369, 369, 370, 370, 370, - 370, 371, 372, 373, 374, 375, 375, 376, 376, 377, - 379, 378, 380, 380, 381, 381, 381, 381, 382, 383, - 385, 384, 386, 386, 387, 387, 387, 387, 387, 387, - 387, 387, 387, 387, 389, 388, 390, 390, 391, 391, - 391, 392, 394, 393, 395, 395, 396, 396, 396, 396, - 396, 396, 396, 396, 396, 396, 398, 397, 399, 399, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 408, 410, 409, 411, 411, 412, 412, - 413, 414, 415, 416, 417, 419, 418, 420, 420, 421, - 421, 421, 422, 423, 425, 424, 426, 426, 427, 427, - 427, 428, 429, 430, 431, 431, 432, 432, 433, 435, - 434, 436, 436, 437, 437, 437, 438, 439, 440, 441, - 441, 442, 442, 442, 442, 442, 442, 442, 442, 442, - 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, - 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, - 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, - 442, 442, 442, 442, 442, 442, 442, 442, 442, 443, - 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, - 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 469, 470, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 486, 485, 487, 487, 488, 488, 488, - 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, - 488, 488, 488, 488, 488, 488, 488, 488, 490, 489, - 491, 491, 492, 492, 492, 492, 492, 492, 492, 492, - 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, - 492, 492, 492, 493, 494, 495, 496, 497, 497, 498, - 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, - 498, 498, 499, 500, 501, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 512, 513, 513, 513, - 513, 513, 513, 513, 513, 513, 514, 515, 516, 517, - 518, 519, 520, 521 + 0, 243, 244, 244, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, + 245, 245, 245, 245, 245, 245, 245, 246, 246, 247, + 247, 247, 247, 247, 247, 247, 247, 248, 248, 249, + 249, 249, 249, 250, 251, 251, 252, 252, 252, 253, + 254, 255, 256, 256, 257, 257, 257, 257, 257, 257, + 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, + 257, 257, 258, 259, 260, 260, 261, 261, 262, 262, + 263, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 280, + 281, 281, 281, 281, 282, 283, 284, 286, 285, 287, + 287, 288, 288, 288, 289, 290, 291, 292, 292, 293, + 293, 293, 294, 296, 295, 297, 297, 298, 298, 298, + 298, 299, 300, 300, 302, 301, 303, 303, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 306, 305, 307, + 307, 308, 308, 308, 308, 308, 308, 308, 308, 308, + 308, 308, 309, 310, 311, 312, 313, 314, 315, 316, + 318, 317, 319, 319, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 320, 320, 322, 321, 323, 323, + 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, + 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, + 324, 324, 324, 324, 324, 326, 325, 327, 327, 328, + 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, + 328, 328, 328, 328, 328, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, + 343, 345, 344, 346, 346, 347, 347, 349, 348, 351, + 350, 352, 352, 353, 353, 353, 354, 354, 355, 355, + 355, 355, 355, 357, 356, 358, 358, 359, 359, 360, + 361, 363, 362, 364, 364, 365, 365, 365, 365, 365, + 365, 365, 365, 365, 365, 366, 367, 368, 369, 370, + 372, 371, 373, 373, 374, 374, 374, 374, 374, 374, + 374, 374, 374, 374, 375, 376, 377, 379, 378, 380, + 380, 381, 381, 381, 381, 382, 383, 384, 385, 386, + 386, 387, 387, 388, 390, 389, 391, 391, 392, 392, + 392, 392, 393, 394, 396, 395, 397, 397, 398, 398, + 398, 398, 398, 398, 398, 398, 398, 398, 400, 399, + 401, 401, 402, 402, 402, 403, 405, 404, 406, 406, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 409, 408, 410, 410, 411, 411, 411, 411, 411, 411, + 411, 411, 411, 411, 411, 411, 411, 411, 411, 412, + 413, 414, 415, 416, 417, 418, 419, 419, 421, 420, + 422, 422, 423, 423, 424, 425, 426, 427, 428, 430, + 429, 431, 431, 432, 432, 432, 433, 434, 436, 435, + 437, 437, 438, 438, 438, 439, 440, 441, 442, 442, + 443, 443, 443, 444, 445, 447, 446, 448, 448, 449, + 449, 449, 450, 451, 452, 453, 453, 454, 454, 454, + 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, + 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, + 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, + 454, 454, 454, 454, 454, 454, 454, 454, 454, 454, + 454, 454, 454, 454, 454, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 481, 482, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, + 498, 497, 499, 499, 500, 500, 500, 500, 500, 500, + 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, + 500, 500, 500, 500, 500, 500, 502, 501, 503, 503, + 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, + 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, + 504, 504, 505, 506, 507, 508, 509, 510, 510, 511, + 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, + 511, 511, 511, 512, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 523, 525, 524, 526, 526, 527, + 527, 527, 527, 527, 527, 528, 529, 529, 530, 530, + 530, 530, 530, 530, 530, 530, 530, 531, 532, 533, + 534, 535, 536, 537, 538 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -2091,53 +2157,55 @@ static const yytype_uint8 yyr2[] = 1, 2, 4, 4, 4, 4, 4, 4, 4, 4, 0, 5, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 5, 3, 1, 3, - 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 5, 3, 1, + 3, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 6, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, - 5, 3, 1, 1, 1, 0, 6, 0, 5, 3, - 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, - 2, 0, 5, 3, 1, 1, 3, 4, 4, 0, - 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 4, 4, 4, 4, 0, 5, 3, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 4, 4, 4, 0, 6, 2, 1, 1, 1, 1, - 2, 4, 4, 4, 5, 2, 1, 1, 1, 4, - 0, 6, 2, 1, 1, 1, 1, 2, 4, 4, + 1, 1, 1, 1, 1, 2, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 0, 5, 3, 1, 1, 1, 0, 6, 0, + 5, 3, 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 2, 0, 5, 3, 1, 1, 3, 4, + 4, 0, 6, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 4, 4, 4, 4, 4, 0, 5, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 6, 2, 1, 1, 1, - 2, 4, 0, 5, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 6, 2, 1, + 1, 1, 1, 1, 4, 4, 4, 0, 6, 2, + 1, 1, 1, 1, 2, 4, 4, 4, 5, 2, + 1, 1, 1, 4, 0, 6, 2, 1, 1, 1, + 1, 2, 4, 4, 0, 5, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 6, + 2, 1, 1, 1, 2, 4, 0, 5, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 0, 5, 3, 1, 1, 1, - 4, 4, 4, 4, 4, 0, 6, 2, 1, 1, - 1, 1, 4, 4, 0, 6, 2, 1, 1, 1, - 1, 4, 4, 5, 2, 1, 1, 1, 4, 0, - 6, 2, 1, 1, 1, 1, 4, 4, 5, 2, + 0, 6, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 0, 5, + 3, 1, 1, 1, 4, 4, 4, 4, 4, 0, + 6, 2, 1, 1, 1, 1, 4, 4, 0, 6, + 2, 1, 1, 1, 1, 4, 4, 5, 2, 1, + 1, 1, 1, 4, 4, 0, 6, 2, 1, 1, + 1, 1, 4, 4, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, + 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 0, 5, 3, 1, 1, 1, 1, + 0, 5, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 5, - 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 5, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 4, 4, 4, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 5, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, - 4, 4, 4, 4 + 1, 1, 4, 4, 4, 4, 5, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 0, 5, 3, 1, 1, + 1, 1, 1, 1, 1, 5, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, + 4, 4, 4, 4, 4 }; @@ -2153,22 +2221,22 @@ static const yytype_uint8 yyr2[] = #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - YYPOPSTACK (yylen); \ - yystate = *yyssp; \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (0) +#define YYBACKUP(Token, Value) \ + do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ + while (0) /* Error token number */ #define YYTERROR 1 @@ -2208,37 +2276,37 @@ do { \ } while (0) -/*----------------------------------------. -| Print this symbol's value on YYOUTPUT. | -`----------------------------------------*/ +/*-----------------------------------. +| Print this symbol's value on YYO. | +`-----------------------------------*/ static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) { - FILE *yyo = yyoutput; - YYUSE (yyo); + FILE *yyoutput = yyo; + YYUSE (yyoutput); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); + YYPRINT (yyo, yytoknum[yytype], *yyvaluep); # endif YYUSE (yytype); } -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*---------------------------. +| Print this symbol on YYO. | +`---------------------------*/ static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) { - YYFPRINTF (yyoutput, "%s %s (", + YYFPRINTF (yyo, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); - yy_symbol_value_print (yyoutput, yytype, yyvaluep); - YYFPRINTF (yyoutput, ")"); + yy_symbol_value_print (yyo, yytype, yyvaluep); + YYFPRINTF (yyo, ")"); } /*------------------------------------------------------------------. @@ -2272,7 +2340,7 @@ do { \ static void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) { - unsigned long int yylno = yyrline[yyrule]; + unsigned long yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", @@ -2283,7 +2351,7 @@ yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yystos[yyssp[yyi + 1 - yynrhs]], - &(yyvsp[(yyi + 1) - (yynrhs)]) + &yyvsp[(yyi + 1) - (yynrhs)] ); YYFPRINTF (stderr, "\n"); } @@ -2387,7 +2455,10 @@ yytnamerr (char *yyres, const char *yystr) case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; - /* Fall through. */ + else + goto append; + + append: default: if (yyres) yyres[yyn] = *yyp; @@ -2405,7 +2476,7 @@ yytnamerr (char *yyres, const char *yystr) if (! yyres) return yystrlen (yystr); - return yystpcpy (yyres, yystr) - yyres; + return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres); } # endif @@ -2483,10 +2554,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yyarg[yycount++] = yytname[yyx]; { YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); - if (! (yysize <= yysize1 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else return 2; - yysize = yysize1; } } } @@ -2498,6 +2569,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, case N: \ yyformat = S; \ break + default: /* Avoid compiler warnings. */ YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); @@ -2509,9 +2581,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, { YYSIZE_T yysize1 = yysize + yystrlen (yyformat); - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else return 2; - yysize = yysize1; } if (*yymsg_alloc < yysize) @@ -2637,23 +2710,31 @@ yyparse (void) yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; + /*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | +| yynewstate -- push a new state, which is found in yystate. | `------------------------------------------------------------*/ - yynewstate: +yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; - yysetstate: - *yyssp = yystate; + +/*--------------------------------------------------------------------. +| yynewstate -- set current state (the top of the stack) to yystate. | +`--------------------------------------------------------------------*/ +yysetstate: + *yyssp = (yytype_int16) yystate; if (yyss + yystacksize - 1 <= yyssp) +#if !defined yyoverflow && !defined YYSTACK_RELOCATE + goto yyexhaustedlab; +#else { /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; + YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1); -#ifdef yyoverflow +# if defined yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into @@ -2669,14 +2750,10 @@ yyparse (void) &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); - yyss = yyss1; yyvs = yyvs1; } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else +# else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; @@ -2692,22 +2769,22 @@ yyparse (void) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); -# undef YYSTACK_RELOCATE +# undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif -#endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); + (unsigned long) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } +#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ YYDPRINTF ((stderr, "Entering state %d\n", yystate)); @@ -2716,11 +2793,11 @@ yyparse (void) goto yybackup; + /*-----------. | yybackup. | `-----------*/ yybackup: - /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ @@ -2793,7 +2870,7 @@ yydefault: /*-----------------------------. -| yyreduce -- Do a reduction. | +| yyreduce -- do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ @@ -2814,169 +2891,169 @@ yyreduce: switch (yyn) { case 27: -#line 403 "conf_parser.y" /* yacc.c:1646 */ +#line 414 "conf_parser.y" /* yacc.c:1652 */ { (yyval.number) = 0; } -#line 2820 "conf_parser.c" /* yacc.c:1646 */ +#line 2897 "conf_parser.c" /* yacc.c:1652 */ break; case 29: -#line 405 "conf_parser.y" /* yacc.c:1646 */ +#line 416 "conf_parser.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); } -#line 2828 "conf_parser.c" /* yacc.c:1646 */ +#line 2905 "conf_parser.c" /* yacc.c:1652 */ break; case 30: -#line 409 "conf_parser.y" /* yacc.c:1646 */ +#line 420 "conf_parser.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); } -#line 2836 "conf_parser.c" /* yacc.c:1646 */ +#line 2913 "conf_parser.c" /* yacc.c:1652 */ break; case 31: -#line 413 "conf_parser.y" /* yacc.c:1646 */ +#line 424 "conf_parser.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); } -#line 2844 "conf_parser.c" /* yacc.c:1646 */ +#line 2921 "conf_parser.c" /* yacc.c:1652 */ break; case 32: -#line 417 "conf_parser.y" /* yacc.c:1646 */ +#line 428 "conf_parser.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); } -#line 2852 "conf_parser.c" /* yacc.c:1646 */ +#line 2929 "conf_parser.c" /* yacc.c:1652 */ break; case 33: -#line 421 "conf_parser.y" /* yacc.c:1646 */ +#line 432 "conf_parser.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); } -#line 2860 "conf_parser.c" /* yacc.c:1646 */ +#line 2937 "conf_parser.c" /* yacc.c:1652 */ break; case 34: -#line 425 "conf_parser.y" /* yacc.c:1646 */ +#line 436 "conf_parser.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); } -#line 2868 "conf_parser.c" /* yacc.c:1646 */ +#line 2945 "conf_parser.c" /* yacc.c:1652 */ break; case 35: -#line 429 "conf_parser.y" /* yacc.c:1646 */ +#line 440 "conf_parser.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); } -#line 2876 "conf_parser.c" /* yacc.c:1646 */ +#line 2953 "conf_parser.c" /* yacc.c:1652 */ break; case 36: -#line 433 "conf_parser.y" /* yacc.c:1646 */ +#line 444 "conf_parser.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); } -#line 2884 "conf_parser.c" /* yacc.c:1646 */ +#line 2961 "conf_parser.c" /* yacc.c:1652 */ break; case 37: -#line 438 "conf_parser.y" /* yacc.c:1646 */ +#line 449 "conf_parser.y" /* yacc.c:1652 */ { (yyval.number) = 0; } -#line 2890 "conf_parser.c" /* yacc.c:1646 */ +#line 2967 "conf_parser.c" /* yacc.c:1652 */ break; case 39: -#line 439 "conf_parser.y" /* yacc.c:1646 */ +#line 450 "conf_parser.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); } -#line 2896 "conf_parser.c" /* yacc.c:1646 */ +#line 2973 "conf_parser.c" /* yacc.c:1652 */ break; case 40: -#line 440 "conf_parser.y" /* yacc.c:1646 */ +#line 451 "conf_parser.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); } -#line 2902 "conf_parser.c" /* yacc.c:1646 */ +#line 2979 "conf_parser.c" /* yacc.c:1652 */ break; case 41: -#line 441 "conf_parser.y" /* yacc.c:1646 */ +#line 452 "conf_parser.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); } -#line 2908 "conf_parser.c" /* yacc.c:1646 */ +#line 2985 "conf_parser.c" /* yacc.c:1652 */ break; case 42: -#line 442 "conf_parser.y" /* yacc.c:1646 */ +#line 453 "conf_parser.y" /* yacc.c:1652 */ { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); } -#line 2914 "conf_parser.c" /* yacc.c:1646 */ +#line 2991 "conf_parser.c" /* yacc.c:1652 */ break; case 49: -#line 456 "conf_parser.y" /* yacc.c:1646 */ +#line 467 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) add_conf_module(libio_basename(yylval.string)); } -#line 2923 "conf_parser.c" /* yacc.c:1646 */ +#line 3000 "conf_parser.c" /* yacc.c:1652 */ break; case 50: -#line 462 "conf_parser.y" /* yacc.c:1646 */ +#line 473 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) mod_add_path(yylval.string); } -#line 2932 "conf_parser.c" /* yacc.c:1646 */ +#line 3009 "conf_parser.c" /* yacc.c:1652 */ break; case 76: -#line 488 "conf_parser.y" /* yacc.c:1646 */ +#line 499 "conf_parser.y" /* yacc.c:1652 */ { #ifdef HAVE_LIBCRYPTO if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx) SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3); #endif } -#line 2943 "conf_parser.c" /* yacc.c:1646 */ +#line 3020 "conf_parser.c" /* yacc.c:1652 */ break; case 77: -#line 494 "conf_parser.y" /* yacc.c:1646 */ +#line 505 "conf_parser.y" /* yacc.c:1652 */ { #ifdef HAVE_LIBCRYPTO if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx) SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1); #endif } -#line 2954 "conf_parser.c" /* yacc.c:1646 */ +#line 3031 "conf_parser.c" /* yacc.c:1652 */ break; case 80: -#line 503 "conf_parser.y" /* yacc.c:1646 */ +#line 514 "conf_parser.y" /* yacc.c:1652 */ { #ifdef HAVE_LIBCRYPTO if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx) SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3); #endif } -#line 2965 "conf_parser.c" /* yacc.c:1646 */ +#line 3042 "conf_parser.c" /* yacc.c:1652 */ break; case 81: -#line 509 "conf_parser.y" /* yacc.c:1646 */ +#line 520 "conf_parser.y" /* yacc.c:1652 */ { #ifdef HAVE_LIBCRYPTO if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx) SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1); #endif } -#line 2976 "conf_parser.c" /* yacc.c:1646 */ +#line 3053 "conf_parser.c" /* yacc.c:1652 */ break; case 82: -#line 517 "conf_parser.y" /* yacc.c:1646 */ +#line 528 "conf_parser.y" /* yacc.c:1652 */ { #ifdef HAVE_LIBCRYPTO if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx) @@ -3017,11 +3094,11 @@ yyreduce: } #endif } -#line 3021 "conf_parser.c" /* yacc.c:1646 */ +#line 3098 "conf_parser.c" /* yacc.c:1652 */ break; case 83: -#line 559 "conf_parser.y" /* yacc.c:1646 */ +#line 570 "conf_parser.y" /* yacc.c:1652 */ { #ifdef HAVE_LIBCRYPTO BIO *file = NULL; @@ -3078,11 +3155,11 @@ yyreduce: } #endif } -#line 3082 "conf_parser.c" /* yacc.c:1646 */ +#line 3159 "conf_parser.c" /* yacc.c:1652 */ break; case 84: -#line 617 "conf_parser.y" /* yacc.c:1646 */ +#line 628 "conf_parser.y" /* yacc.c:1652 */ { #ifdef HAVE_LIBCRYPTO if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx) @@ -3110,22 +3187,22 @@ yyreduce: } #endif } -#line 3114 "conf_parser.c" /* yacc.c:1646 */ +#line 3191 "conf_parser.c" /* yacc.c:1652 */ break; case 85: -#line 646 "conf_parser.y" /* yacc.c:1646 */ +#line 657 "conf_parser.y" /* yacc.c:1652 */ { #ifdef HAVE_LIBCRYPTO if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx) SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string); #endif } -#line 3125 "conf_parser.c" /* yacc.c:1646 */ +#line 3202 "conf_parser.c" /* yacc.c:1652 */ break; case 86: -#line 654 "conf_parser.y" /* yacc.c:1646 */ +#line 665 "conf_parser.y" /* yacc.c:1652 */ { /* this isn't rehashable */ if (conf_parser_ctx.pass == 2 && !ServerInfo.name) @@ -3139,11 +3216,11 @@ yyreduce: } } } -#line 3143 "conf_parser.c" /* yacc.c:1646 */ +#line 3220 "conf_parser.c" /* yacc.c:1652 */ break; case 87: -#line 669 "conf_parser.y" /* yacc.c:1646 */ +#line 680 "conf_parser.y" /* yacc.c:1652 */ { /* this isn't rehashable */ if (conf_parser_ctx.pass == 2 && !ServerInfo.sid) @@ -3157,11 +3234,11 @@ yyreduce: } } } -#line 3161 "conf_parser.c" /* yacc.c:1646 */ +#line 3238 "conf_parser.c" /* yacc.c:1652 */ break; case 88: -#line 684 "conf_parser.y" /* yacc.c:1646 */ +#line 695 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) { @@ -3169,11 +3246,11 @@ yyreduce: ServerInfo.description = xstrdup(yylval.string); } } -#line 3173 "conf_parser.c" /* yacc.c:1646 */ +#line 3250 "conf_parser.c" /* yacc.c:1652 */ break; case 89: -#line 693 "conf_parser.y" /* yacc.c:1646 */ +#line 704 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) { @@ -3186,11 +3263,11 @@ yyreduce: ServerInfo.network_name = xstrdup(yylval.string); } } -#line 3190 "conf_parser.c" /* yacc.c:1646 */ +#line 3267 "conf_parser.c" /* yacc.c:1652 */ break; case 90: -#line 707 "conf_parser.y" /* yacc.c:1646 */ +#line 718 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -3198,11 +3275,11 @@ yyreduce: MyFree(ServerInfo.network_desc); ServerInfo.network_desc = xstrdup(yylval.string); } -#line 3202 "conf_parser.c" /* yacc.c:1646 */ +#line 3279 "conf_parser.c" /* yacc.c:1652 */ break; case 91: -#line 716 "conf_parser.y" /* yacc.c:1646 */ +#line 727 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2 && *yylval.string != '*') { @@ -3229,11 +3306,11 @@ yyreduce: } } } -#line 3233 "conf_parser.c" /* yacc.c:1646 */ +#line 3310 "conf_parser.c" /* yacc.c:1652 */ break; case 92: -#line 744 "conf_parser.y" /* yacc.c:1646 */ +#line 755 "conf_parser.y" /* yacc.c:1652 */ { #ifdef IPV6 if (conf_parser_ctx.pass == 2 && *yylval.string != '*') @@ -3262,11 +3339,11 @@ yyreduce: } #endif } -#line 3266 "conf_parser.c" /* yacc.c:1646 */ +#line 3343 "conf_parser.c" /* yacc.c:1652 */ break; case 93: -#line 774 "conf_parser.y" /* yacc.c:1646 */ +#line 785 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -3290,11 +3367,11 @@ yyreduce: else ServerInfo.max_clients = (yyvsp[-1].number); } -#line 3294 "conf_parser.c" /* yacc.c:1646 */ +#line 3371 "conf_parser.c" /* yacc.c:1652 */ break; case 94: -#line 799 "conf_parser.y" /* yacc.c:1646 */ +#line 810 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -3315,11 +3392,11 @@ yyreduce: else ServerInfo.max_nick_length = (yyvsp[-1].number); } -#line 3319 "conf_parser.c" /* yacc.c:1646 */ +#line 3396 "conf_parser.c" /* yacc.c:1652 */ break; case 95: -#line 821 "conf_parser.y" /* yacc.c:1646 */ +#line 832 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -3340,20 +3417,20 @@ yyreduce: else ServerInfo.max_topic_length = (yyvsp[-1].number); } -#line 3344 "conf_parser.c" /* yacc.c:1646 */ +#line 3421 "conf_parser.c" /* yacc.c:1652 */ break; case 96: -#line 843 "conf_parser.y" /* yacc.c:1646 */ +#line 854 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) ServerInfo.hub = yylval.number; } -#line 3353 "conf_parser.c" /* yacc.c:1646 */ +#line 3430 "conf_parser.c" /* yacc.c:1652 */ break; case 104: -#line 858 "conf_parser.y" /* yacc.c:1646 */ +#line 869 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -3361,11 +3438,11 @@ yyreduce: MyFree(AdminInfo.name); AdminInfo.name = xstrdup(yylval.string); } -#line 3365 "conf_parser.c" /* yacc.c:1646 */ +#line 3442 "conf_parser.c" /* yacc.c:1652 */ break; case 105: -#line 867 "conf_parser.y" /* yacc.c:1646 */ +#line 878 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -3373,11 +3450,11 @@ yyreduce: MyFree(AdminInfo.email); AdminInfo.email = xstrdup(yylval.string); } -#line 3377 "conf_parser.c" /* yacc.c:1646 */ +#line 3454 "conf_parser.c" /* yacc.c:1652 */ break; case 106: -#line 876 "conf_parser.y" /* yacc.c:1646 */ +#line 887 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -3385,20 +3462,20 @@ yyreduce: MyFree(AdminInfo.description); AdminInfo.description = xstrdup(yylval.string); } -#line 3389 "conf_parser.c" /* yacc.c:1646 */ +#line 3466 "conf_parser.c" /* yacc.c:1652 */ break; case 107: -#line 888 "conf_parser.y" /* yacc.c:1646 */ +#line 899 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) reset_block_state(); } -#line 3398 "conf_parser.c" /* yacc.c:1646 */ +#line 3475 "conf_parser.c" /* yacc.c:1652 */ break; case 108: -#line 892 "conf_parser.y" /* yacc.c:1646 */ +#line 903 "conf_parser.y" /* yacc.c:1652 */ { dlink_node *ptr = NULL; @@ -3411,47 +3488,47 @@ yyreduce: DLINK_FOREACH(ptr, block_state.mask.list.head) motd_add(ptr->data, block_state.file.buf); } -#line 3415 "conf_parser.c" /* yacc.c:1646 */ +#line 3492 "conf_parser.c" /* yacc.c:1652 */ break; case 114: -#line 909 "conf_parser.y" /* yacc.c:1646 */ +#line 920 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list); } -#line 3424 "conf_parser.c" /* yacc.c:1646 */ +#line 3501 "conf_parser.c" /* yacc.c:1652 */ break; case 115: -#line 915 "conf_parser.y" /* yacc.c:1646 */ +#line 926 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf)); } -#line 3433 "conf_parser.c" /* yacc.c:1646 */ +#line 3510 "conf_parser.c" /* yacc.c:1652 */ break; case 122: -#line 930 "conf_parser.y" /* yacc.c:1646 */ +#line 941 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) ConfigLoggingEntry.use_logging = yylval.number; } -#line 3442 "conf_parser.c" /* yacc.c:1646 */ +#line 3519 "conf_parser.c" /* yacc.c:1652 */ break; case 123: -#line 936 "conf_parser.y" /* yacc.c:1646 */ +#line 947 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) reset_block_state(); } -#line 3451 "conf_parser.c" /* yacc.c:1646 */ +#line 3528 "conf_parser.c" /* yacc.c:1652 */ break; case 124: -#line 940 "conf_parser.y" /* yacc.c:1646 */ +#line 951 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -3460,128 +3537,128 @@ yyreduce: log_set_file(block_state.type.value, block_state.size.value, block_state.file.buf); } -#line 3464 "conf_parser.c" /* yacc.c:1646 */ +#line 3541 "conf_parser.c" /* yacc.c:1652 */ break; case 131: -#line 956 "conf_parser.y" /* yacc.c:1646 */ +#line 967 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf)); } -#line 3475 "conf_parser.c" /* yacc.c:1646 */ +#line 3552 "conf_parser.c" /* yacc.c:1652 */ break; case 132: -#line 964 "conf_parser.y" /* yacc.c:1646 */ +#line 975 "conf_parser.y" /* yacc.c:1652 */ { block_state.size.value = (yyvsp[-1].number); } -#line 3483 "conf_parser.c" /* yacc.c:1646 */ +#line 3560 "conf_parser.c" /* yacc.c:1652 */ break; case 133: -#line 967 "conf_parser.y" /* yacc.c:1646 */ +#line 978 "conf_parser.y" /* yacc.c:1652 */ { block_state.size.value = 0; } -#line 3491 "conf_parser.c" /* yacc.c:1646 */ +#line 3568 "conf_parser.c" /* yacc.c:1652 */ break; case 134: -#line 972 "conf_parser.y" /* yacc.c:1646 */ +#line 983 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.type.value = 0; } -#line 3500 "conf_parser.c" /* yacc.c:1646 */ +#line 3577 "conf_parser.c" /* yacc.c:1652 */ break; case 138: -#line 979 "conf_parser.y" /* yacc.c:1646 */ +#line 990 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.type.value = LOG_TYPE_USER; } -#line 3509 "conf_parser.c" /* yacc.c:1646 */ +#line 3586 "conf_parser.c" /* yacc.c:1652 */ break; case 139: -#line 983 "conf_parser.y" /* yacc.c:1646 */ +#line 994 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.type.value = LOG_TYPE_OPER; } -#line 3518 "conf_parser.c" /* yacc.c:1646 */ +#line 3595 "conf_parser.c" /* yacc.c:1652 */ break; case 140: -#line 987 "conf_parser.y" /* yacc.c:1646 */ +#line 998 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.type.value = LOG_TYPE_GLINE; } -#line 3527 "conf_parser.c" /* yacc.c:1646 */ +#line 3604 "conf_parser.c" /* yacc.c:1652 */ break; case 141: -#line 991 "conf_parser.y" /* yacc.c:1646 */ +#line 1002 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.type.value = LOG_TYPE_XLINE; } -#line 3536 "conf_parser.c" /* yacc.c:1646 */ +#line 3613 "conf_parser.c" /* yacc.c:1652 */ break; case 142: -#line 995 "conf_parser.y" /* yacc.c:1646 */ +#line 1006 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.type.value = LOG_TYPE_RESV; } -#line 3545 "conf_parser.c" /* yacc.c:1646 */ +#line 3622 "conf_parser.c" /* yacc.c:1652 */ break; case 143: -#line 999 "conf_parser.y" /* yacc.c:1646 */ +#line 1010 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.type.value = LOG_TYPE_DLINE; } -#line 3554 "conf_parser.c" /* yacc.c:1646 */ +#line 3631 "conf_parser.c" /* yacc.c:1652 */ break; case 144: -#line 1003 "conf_parser.y" /* yacc.c:1646 */ +#line 1014 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.type.value = LOG_TYPE_KLINE; } -#line 3563 "conf_parser.c" /* yacc.c:1646 */ +#line 3640 "conf_parser.c" /* yacc.c:1652 */ break; case 145: -#line 1007 "conf_parser.y" /* yacc.c:1646 */ +#line 1018 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.type.value = LOG_TYPE_KILL; } -#line 3572 "conf_parser.c" /* yacc.c:1646 */ +#line 3649 "conf_parser.c" /* yacc.c:1652 */ break; case 146: -#line 1011 "conf_parser.y" /* yacc.c:1646 */ +#line 1022 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.type.value = LOG_TYPE_DEBUG; } -#line 3581 "conf_parser.c" /* yacc.c:1646 */ +#line 3658 "conf_parser.c" /* yacc.c:1652 */ break; case 147: -#line 1021 "conf_parser.y" /* yacc.c:1646 */ +#line 1032 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -3589,11 +3666,11 @@ yyreduce: reset_block_state(); block_state.flags.value |= CONF_FLAGS_ENCRYPTED; } -#line 3593 "conf_parser.c" /* yacc.c:1646 */ +#line 3670 "conf_parser.c" /* yacc.c:1652 */ break; case 148: -#line 1028 "conf_parser.y" /* yacc.c:1646 */ +#line 1039 "conf_parser.y" /* yacc.c:1652 */ { dlink_node *ptr = NULL; @@ -3671,38 +3748,38 @@ yyreduce: #endif /* HAVE_LIBCRYPTO */ } } -#line 3675 "conf_parser.c" /* yacc.c:1646 */ +#line 3752 "conf_parser.c" /* yacc.c:1652 */ break; case 162: -#line 1114 "conf_parser.y" /* yacc.c:1646 */ +#line 1125 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf)); } -#line 3684 "conf_parser.c" /* yacc.c:1646 */ +#line 3761 "conf_parser.c" /* yacc.c:1652 */ break; case 163: -#line 1120 "conf_parser.y" /* yacc.c:1646 */ +#line 1131 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list); } -#line 3693 "conf_parser.c" /* yacc.c:1646 */ +#line 3770 "conf_parser.c" /* yacc.c:1652 */ break; case 164: -#line 1126 "conf_parser.y" /* yacc.c:1646 */ +#line 1137 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf)); } -#line 3702 "conf_parser.c" /* yacc.c:1646 */ +#line 3779 "conf_parser.c" /* yacc.c:1652 */ break; case 165: -#line 1132 "conf_parser.y" /* yacc.c:1646 */ +#line 1143 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -3712,29 +3789,29 @@ yyreduce: else block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED; } -#line 3716 "conf_parser.c" /* yacc.c:1646 */ +#line 3793 "conf_parser.c" /* yacc.c:1652 */ break; case 166: -#line 1143 "conf_parser.y" /* yacc.c:1646 */ +#line 1154 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf)); } -#line 3725 "conf_parser.c" /* yacc.c:1646 */ +#line 3802 "conf_parser.c" /* yacc.c:1652 */ break; case 167: -#line 1149 "conf_parser.y" /* yacc.c:1646 */ +#line 1160 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf)); } -#line 3734 "conf_parser.c" /* yacc.c:1646 */ +#line 3811 "conf_parser.c" /* yacc.c:1652 */ break; case 168: -#line 1155 "conf_parser.y" /* yacc.c:1646 */ +#line 1166 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -3744,443 +3821,461 @@ yyreduce: else block_state.flags.value &= ~CONF_FLAGS_SSL; } -#line 3748 "conf_parser.c" /* yacc.c:1646 */ +#line 3825 "conf_parser.c" /* yacc.c:1652 */ break; case 169: -#line 1166 "conf_parser.y" /* yacc.c:1646 */ +#line 1177 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf)); } -#line 3757 "conf_parser.c" /* yacc.c:1646 */ +#line 3834 "conf_parser.c" /* yacc.c:1652 */ break; case 170: -#line 1172 "conf_parser.y" /* yacc.c:1646 */ +#line 1183 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value = 0; } -#line 3766 "conf_parser.c" /* yacc.c:1646 */ +#line 3843 "conf_parser.c" /* yacc.c:1652 */ break; case 174: -#line 1179 "conf_parser.y" /* yacc.c:1646 */ +#line 1190 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_BOTS; } -#line 3775 "conf_parser.c" /* yacc.c:1646 */ +#line 3852 "conf_parser.c" /* yacc.c:1652 */ break; case 175: -#line 1183 "conf_parser.y" /* yacc.c:1646 */ +#line 1194 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_CCONN; } -#line 3784 "conf_parser.c" /* yacc.c:1646 */ +#line 3861 "conf_parser.c" /* yacc.c:1652 */ break; case 176: -#line 1187 "conf_parser.y" /* yacc.c:1646 */ +#line 1198 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_DEAF; } -#line 3793 "conf_parser.c" /* yacc.c:1646 */ +#line 3870 "conf_parser.c" /* yacc.c:1652 */ break; case 177: -#line 1191 "conf_parser.y" /* yacc.c:1646 */ +#line 1202 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_DEBUG; } -#line 3802 "conf_parser.c" /* yacc.c:1646 */ +#line 3879 "conf_parser.c" /* yacc.c:1652 */ break; case 178: -#line 1195 "conf_parser.y" /* yacc.c:1646 */ +#line 1206 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_FULL; } -#line 3811 "conf_parser.c" /* yacc.c:1646 */ +#line 3888 "conf_parser.c" /* yacc.c:1652 */ break; case 179: -#line 1199 "conf_parser.y" /* yacc.c:1646 */ +#line 1210 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_HIDDEN; } -#line 3820 "conf_parser.c" /* yacc.c:1646 */ +#line 3897 "conf_parser.c" /* yacc.c:1652 */ break; case 180: -#line 1203 "conf_parser.y" /* yacc.c:1646 */ +#line 1214 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_SKILL; } -#line 3829 "conf_parser.c" /* yacc.c:1646 */ +#line 3906 "conf_parser.c" /* yacc.c:1652 */ break; case 181: -#line 1207 "conf_parser.y" /* yacc.c:1646 */ +#line 1218 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_NCHANGE; } -#line 3838 "conf_parser.c" /* yacc.c:1646 */ +#line 3915 "conf_parser.c" /* yacc.c:1652 */ break; case 182: -#line 1211 "conf_parser.y" /* yacc.c:1646 */ +#line 1222 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_REJ; } -#line 3847 "conf_parser.c" /* yacc.c:1646 */ +#line 3924 "conf_parser.c" /* yacc.c:1652 */ break; case 183: -#line 1215 "conf_parser.y" /* yacc.c:1646 */ +#line 1226 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_UNAUTH; } -#line 3856 "conf_parser.c" /* yacc.c:1646 */ +#line 3933 "conf_parser.c" /* yacc.c:1652 */ break; case 184: -#line 1219 "conf_parser.y" /* yacc.c:1646 */ +#line 1230 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_SPY; } -#line 3865 "conf_parser.c" /* yacc.c:1646 */ +#line 3942 "conf_parser.c" /* yacc.c:1652 */ break; case 185: -#line 1223 "conf_parser.y" /* yacc.c:1646 */ +#line 1234 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_EXTERNAL; } -#line 3874 "conf_parser.c" /* yacc.c:1646 */ +#line 3951 "conf_parser.c" /* yacc.c:1652 */ break; case 186: -#line 1227 "conf_parser.y" /* yacc.c:1646 */ +#line 1238 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_OPERWALL; } -#line 3883 "conf_parser.c" /* yacc.c:1646 */ +#line 3960 "conf_parser.c" /* yacc.c:1652 */ break; case 187: -#line 1231 "conf_parser.y" /* yacc.c:1646 */ +#line 1242 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_SERVNOTICE; } -#line 3892 "conf_parser.c" /* yacc.c:1646 */ +#line 3969 "conf_parser.c" /* yacc.c:1652 */ break; case 188: -#line 1235 "conf_parser.y" /* yacc.c:1646 */ +#line 1246 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_INVISIBLE; } -#line 3901 "conf_parser.c" /* yacc.c:1646 */ +#line 3978 "conf_parser.c" /* yacc.c:1652 */ break; case 189: -#line 1239 "conf_parser.y" /* yacc.c:1646 */ +#line 1250 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_WALLOP; } -#line 3910 "conf_parser.c" /* yacc.c:1646 */ +#line 3987 "conf_parser.c" /* yacc.c:1652 */ break; case 190: -#line 1243 "conf_parser.y" /* yacc.c:1646 */ +#line 1254 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_SOFTCALLERID; } -#line 3919 "conf_parser.c" /* yacc.c:1646 */ +#line 3996 "conf_parser.c" /* yacc.c:1652 */ break; case 191: -#line 1247 "conf_parser.y" /* yacc.c:1646 */ +#line 1258 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_CALLERID; } -#line 3928 "conf_parser.c" /* yacc.c:1646 */ +#line 4005 "conf_parser.c" /* yacc.c:1652 */ break; case 192: -#line 1251 "conf_parser.y" /* yacc.c:1646 */ +#line 1262 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_LOCOPS; } -#line 3937 "conf_parser.c" /* yacc.c:1646 */ +#line 4014 "conf_parser.c" /* yacc.c:1652 */ break; case 193: -#line 1255 "conf_parser.y" /* yacc.c:1646 */ +#line 1266 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_REGONLY; } -#line 3946 "conf_parser.c" /* yacc.c:1646 */ +#line 4023 "conf_parser.c" /* yacc.c:1652 */ break; case 194: -#line 1259 "conf_parser.y" /* yacc.c:1646 */ +#line 1270 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.modes.value |= UMODE_FARCONNECT; } -#line 3955 "conf_parser.c" /* yacc.c:1646 */ +#line 4032 "conf_parser.c" /* yacc.c:1652 */ break; case 195: -#line 1265 "conf_parser.y" /* yacc.c:1646 */ +#line 1274 "conf_parser.y" /* yacc.c:1652 */ + { + if (conf_parser_ctx.pass == 2) + block_state.modes.value |= UMODE_GOD; +} +#line 4041 "conf_parser.c" /* yacc.c:1652 */ + break; + + case 196: +#line 1280 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value = 0; } -#line 3964 "conf_parser.c" /* yacc.c:1646 */ +#line 4050 "conf_parser.c" /* yacc.c:1652 */ break; - case 199: -#line 1272 "conf_parser.y" /* yacc.c:1646 */ + case 200: +#line 1287 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_KILL_REMOTE; } -#line 3973 "conf_parser.c" /* yacc.c:1646 */ +#line 4059 "conf_parser.c" /* yacc.c:1652 */ break; - case 200: -#line 1276 "conf_parser.y" /* yacc.c:1646 */ + case 201: +#line 1291 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_KILL; } -#line 3982 "conf_parser.c" /* yacc.c:1646 */ +#line 4068 "conf_parser.c" /* yacc.c:1652 */ break; - case 201: -#line 1280 "conf_parser.y" /* yacc.c:1646 */ + case 202: +#line 1295 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_CONNECT_REMOTE; } -#line 3991 "conf_parser.c" /* yacc.c:1646 */ +#line 4077 "conf_parser.c" /* yacc.c:1652 */ break; - case 202: -#line 1284 "conf_parser.y" /* yacc.c:1646 */ + case 203: +#line 1299 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_CONNECT; } -#line 4000 "conf_parser.c" /* yacc.c:1646 */ +#line 4086 "conf_parser.c" /* yacc.c:1652 */ break; - case 203: -#line 1288 "conf_parser.y" /* yacc.c:1646 */ + case 204: +#line 1303 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_SQUIT_REMOTE; } -#line 4009 "conf_parser.c" /* yacc.c:1646 */ +#line 4095 "conf_parser.c" /* yacc.c:1652 */ break; - case 204: -#line 1292 "conf_parser.y" /* yacc.c:1646 */ + case 205: +#line 1307 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_SQUIT; } -#line 4018 "conf_parser.c" /* yacc.c:1646 */ +#line 4104 "conf_parser.c" /* yacc.c:1652 */ break; - case 205: -#line 1296 "conf_parser.y" /* yacc.c:1646 */ + case 206: +#line 1311 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_K; } -#line 4027 "conf_parser.c" /* yacc.c:1646 */ +#line 4113 "conf_parser.c" /* yacc.c:1652 */ break; - case 206: -#line 1300 "conf_parser.y" /* yacc.c:1646 */ + case 207: +#line 1315 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_UNKLINE; } -#line 4036 "conf_parser.c" /* yacc.c:1646 */ +#line 4122 "conf_parser.c" /* yacc.c:1652 */ break; - case 207: -#line 1304 "conf_parser.y" /* yacc.c:1646 */ + case 208: +#line 1319 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_DLINE; } -#line 4045 "conf_parser.c" /* yacc.c:1646 */ +#line 4131 "conf_parser.c" /* yacc.c:1652 */ break; - case 208: -#line 1308 "conf_parser.y" /* yacc.c:1646 */ + case 209: +#line 1323 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_UNDLINE; } -#line 4054 "conf_parser.c" /* yacc.c:1646 */ +#line 4140 "conf_parser.c" /* yacc.c:1652 */ break; - case 209: -#line 1312 "conf_parser.y" /* yacc.c:1646 */ + case 210: +#line 1327 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_XLINE; } -#line 4063 "conf_parser.c" /* yacc.c:1646 */ +#line 4149 "conf_parser.c" /* yacc.c:1652 */ break; - case 210: -#line 1316 "conf_parser.y" /* yacc.c:1646 */ + case 211: +#line 1331 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_UNXLINE; } -#line 4072 "conf_parser.c" /* yacc.c:1646 */ +#line 4158 "conf_parser.c" /* yacc.c:1652 */ break; - case 211: -#line 1320 "conf_parser.y" /* yacc.c:1646 */ + case 212: +#line 1335 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_GLINE; } -#line 4081 "conf_parser.c" /* yacc.c:1646 */ +#line 4167 "conf_parser.c" /* yacc.c:1652 */ break; - case 212: -#line 1324 "conf_parser.y" /* yacc.c:1646 */ + case 213: +#line 1339 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_DIE; } -#line 4090 "conf_parser.c" /* yacc.c:1646 */ +#line 4176 "conf_parser.c" /* yacc.c:1652 */ break; - case 213: -#line 1328 "conf_parser.y" /* yacc.c:1646 */ + case 214: +#line 1343 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_RESTART; } -#line 4099 "conf_parser.c" /* yacc.c:1646 */ +#line 4185 "conf_parser.c" /* yacc.c:1652 */ break; - case 214: -#line 1332 "conf_parser.y" /* yacc.c:1646 */ + case 215: +#line 1347 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_REHASH; } -#line 4108 "conf_parser.c" /* yacc.c:1646 */ +#line 4194 "conf_parser.c" /* yacc.c:1652 */ break; - case 215: -#line 1336 "conf_parser.y" /* yacc.c:1646 */ + case 216: +#line 1351 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_ADMIN; } -#line 4117 "conf_parser.c" /* yacc.c:1646 */ +#line 4203 "conf_parser.c" /* yacc.c:1652 */ break; - case 216: -#line 1340 "conf_parser.y" /* yacc.c:1646 */ + case 217: +#line 1355 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_OPERWALL; } -#line 4126 "conf_parser.c" /* yacc.c:1646 */ +#line 4212 "conf_parser.c" /* yacc.c:1652 */ break; - case 217: -#line 1344 "conf_parser.y" /* yacc.c:1646 */ + case 218: +#line 1359 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_GLOBOPS; } -#line 4135 "conf_parser.c" /* yacc.c:1646 */ +#line 4221 "conf_parser.c" /* yacc.c:1652 */ break; - case 218: -#line 1348 "conf_parser.y" /* yacc.c:1646 */ + case 219: +#line 1363 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_WALLOPS; } -#line 4144 "conf_parser.c" /* yacc.c:1646 */ +#line 4230 "conf_parser.c" /* yacc.c:1652 */ break; - case 219: -#line 1352 "conf_parser.y" /* yacc.c:1646 */ + case 220: +#line 1367 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_LOCOPS; } -#line 4153 "conf_parser.c" /* yacc.c:1646 */ +#line 4239 "conf_parser.c" /* yacc.c:1652 */ break; - case 220: -#line 1356 "conf_parser.y" /* yacc.c:1646 */ + case 221: +#line 1371 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_REMOTEBAN; } -#line 4162 "conf_parser.c" /* yacc.c:1646 */ +#line 4248 "conf_parser.c" /* yacc.c:1652 */ break; - case 221: -#line 1360 "conf_parser.y" /* yacc.c:1646 */ + case 222: +#line 1375 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_SET; } -#line 4171 "conf_parser.c" /* yacc.c:1646 */ +#line 4257 "conf_parser.c" /* yacc.c:1652 */ break; - case 222: -#line 1364 "conf_parser.y" /* yacc.c:1646 */ + case 223: +#line 1379 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value |= OPER_FLAG_MODULE; } -#line 4180 "conf_parser.c" /* yacc.c:1646 */ +#line 4266 "conf_parser.c" /* yacc.c:1652 */ break; - case 223: -#line 1374 "conf_parser.y" /* yacc.c:1646 */ + case 224: +#line 1383 "conf_parser.y" /* yacc.c:1652 */ + { + if (conf_parser_ctx.pass == 2) + block_state.port.value |= OPER_FLAG_TKLINE; +} +#line 4275 "conf_parser.c" /* yacc.c:1652 */ + break; + + case 225: +#line 1393 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 1) break; @@ -4193,11 +4288,11 @@ yyreduce: block_state.max_sendq.value = DEFAULT_SENDQ; block_state.max_recvq.value = DEFAULT_RECVQ; } -#line 4197 "conf_parser.c" /* yacc.c:1646 */ +#line 4292 "conf_parser.c" /* yacc.c:1652 */ break; - case 224: -#line 1386 "conf_parser.y" /* yacc.c:1646 */ + case 226: +#line 1405 "conf_parser.y" /* yacc.c:1652 */ { struct ClassItem *class = NULL; @@ -4245,129 +4340,129 @@ yyreduce: class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value; class->number_per_cidr = block_state.number_per_cidr.value; } -#line 4249 "conf_parser.c" /* yacc.c:1646 */ +#line 4344 "conf_parser.c" /* yacc.c:1652 */ break; - case 244: -#line 1452 "conf_parser.y" /* yacc.c:1646 */ + case 246: +#line 1471 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf)); } -#line 4258 "conf_parser.c" /* yacc.c:1646 */ +#line 4353 "conf_parser.c" /* yacc.c:1652 */ break; - case 245: -#line 1458 "conf_parser.y" /* yacc.c:1646 */ + case 247: +#line 1477 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) block_state.ping_freq.value = (yyvsp[-1].number); } -#line 4267 "conf_parser.c" /* yacc.c:1646 */ +#line 4362 "conf_parser.c" /* yacc.c:1652 */ break; - case 246: -#line 1464 "conf_parser.y" /* yacc.c:1646 */ + case 248: +#line 1483 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) block_state.max_perip.value = (yyvsp[-1].number); } -#line 4276 "conf_parser.c" /* yacc.c:1646 */ +#line 4371 "conf_parser.c" /* yacc.c:1652 */ break; - case 247: -#line 1470 "conf_parser.y" /* yacc.c:1646 */ + case 249: +#line 1489 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) block_state.con_freq.value = (yyvsp[-1].number); } -#line 4285 "conf_parser.c" /* yacc.c:1646 */ +#line 4380 "conf_parser.c" /* yacc.c:1652 */ break; - case 248: -#line 1476 "conf_parser.y" /* yacc.c:1646 */ + case 250: +#line 1495 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) block_state.max_total.value = (yyvsp[-1].number); } -#line 4294 "conf_parser.c" /* yacc.c:1646 */ +#line 4389 "conf_parser.c" /* yacc.c:1652 */ break; - case 249: -#line 1482 "conf_parser.y" /* yacc.c:1646 */ + case 251: +#line 1501 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) block_state.max_global.value = (yyvsp[-1].number); } -#line 4303 "conf_parser.c" /* yacc.c:1646 */ +#line 4398 "conf_parser.c" /* yacc.c:1652 */ break; - case 250: -#line 1488 "conf_parser.y" /* yacc.c:1646 */ + case 252: +#line 1507 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) block_state.max_local.value = (yyvsp[-1].number); } -#line 4312 "conf_parser.c" /* yacc.c:1646 */ +#line 4407 "conf_parser.c" /* yacc.c:1652 */ break; - case 251: -#line 1494 "conf_parser.y" /* yacc.c:1646 */ + case 253: +#line 1513 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) block_state.max_ident.value = (yyvsp[-1].number); } -#line 4321 "conf_parser.c" /* yacc.c:1646 */ +#line 4416 "conf_parser.c" /* yacc.c:1652 */ break; - case 252: -#line 1500 "conf_parser.y" /* yacc.c:1646 */ + case 254: +#line 1519 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) block_state.max_sendq.value = (yyvsp[-1].number); } -#line 4330 "conf_parser.c" /* yacc.c:1646 */ +#line 4425 "conf_parser.c" /* yacc.c:1652 */ break; - case 253: -#line 1506 "conf_parser.y" /* yacc.c:1646 */ + case 255: +#line 1525 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX) block_state.max_recvq.value = (yyvsp[-1].number); } -#line 4340 "conf_parser.c" /* yacc.c:1646 */ +#line 4435 "conf_parser.c" /* yacc.c:1652 */ break; - case 254: -#line 1513 "conf_parser.y" /* yacc.c:1646 */ + case 256: +#line 1532 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number); } -#line 4349 "conf_parser.c" /* yacc.c:1646 */ +#line 4444 "conf_parser.c" /* yacc.c:1652 */ break; - case 255: -#line 1519 "conf_parser.y" /* yacc.c:1646 */ + case 257: +#line 1538 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number); } -#line 4358 "conf_parser.c" /* yacc.c:1646 */ +#line 4453 "conf_parser.c" /* yacc.c:1652 */ break; - case 256: -#line 1525 "conf_parser.y" /* yacc.c:1646 */ + case 258: +#line 1544 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) block_state.number_per_cidr.value = (yyvsp[-1].number); } -#line 4367 "conf_parser.c" /* yacc.c:1646 */ +#line 4462 "conf_parser.c" /* yacc.c:1652 */ break; - case 257: -#line 1531 "conf_parser.y" /* yacc.c:1646 */ + case 259: +#line 1550 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 1) break; @@ -4375,11 +4470,11 @@ yyreduce: block_state.min_idle.value = (yyvsp[-1].number); block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE; } -#line 4379 "conf_parser.c" /* yacc.c:1646 */ +#line 4474 "conf_parser.c" /* yacc.c:1652 */ break; - case 258: -#line 1540 "conf_parser.y" /* yacc.c:1646 */ + case 260: +#line 1559 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 1) break; @@ -4387,88 +4482,88 @@ yyreduce: block_state.max_idle.value = (yyvsp[-1].number); block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE; } -#line 4391 "conf_parser.c" /* yacc.c:1646 */ +#line 4486 "conf_parser.c" /* yacc.c:1652 */ break; - case 259: -#line 1549 "conf_parser.y" /* yacc.c:1646 */ + case 261: +#line 1568 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE; } -#line 4400 "conf_parser.c" /* yacc.c:1646 */ +#line 4495 "conf_parser.c" /* yacc.c:1652 */ break; - case 263: -#line 1556 "conf_parser.y" /* yacc.c:1646 */ + case 265: +#line 1575 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE; } -#line 4409 "conf_parser.c" /* yacc.c:1646 */ +#line 4504 "conf_parser.c" /* yacc.c:1652 */ break; - case 264: -#line 1560 "conf_parser.y" /* yacc.c:1646 */ + case 266: +#line 1579 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 1) block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS; } -#line 4418 "conf_parser.c" /* yacc.c:1646 */ +#line 4513 "conf_parser.c" /* yacc.c:1652 */ break; - case 265: -#line 1570 "conf_parser.y" /* yacc.c:1646 */ + case 267: +#line 1589 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) reset_block_state(); } -#line 4427 "conf_parser.c" /* yacc.c:1646 */ +#line 4522 "conf_parser.c" /* yacc.c:1652 */ break; - case 267: -#line 1576 "conf_parser.y" /* yacc.c:1646 */ + case 269: +#line 1595 "conf_parser.y" /* yacc.c:1652 */ { block_state.flags.value = 0; } -#line 4435 "conf_parser.c" /* yacc.c:1646 */ +#line 4530 "conf_parser.c" /* yacc.c:1652 */ break; - case 271: -#line 1582 "conf_parser.y" /* yacc.c:1646 */ + case 273: +#line 1601 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= LISTENER_SSL; } -#line 4444 "conf_parser.c" /* yacc.c:1646 */ +#line 4539 "conf_parser.c" /* yacc.c:1652 */ break; - case 272: -#line 1586 "conf_parser.y" /* yacc.c:1646 */ + case 274: +#line 1605 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= LISTENER_HIDDEN; } -#line 4453 "conf_parser.c" /* yacc.c:1646 */ +#line 4548 "conf_parser.c" /* yacc.c:1652 */ break; - case 273: -#line 1590 "conf_parser.y" /* yacc.c:1646 */ + case 275: +#line 1609 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= LISTENER_SERVER; } -#line 4462 "conf_parser.c" /* yacc.c:1646 */ +#line 4557 "conf_parser.c" /* yacc.c:1652 */ break; - case 281: -#line 1598 "conf_parser.y" /* yacc.c:1646 */ + case 283: +#line 1617 "conf_parser.y" /* yacc.c:1652 */ { block_state.flags.value = 0; } -#line 4468 "conf_parser.c" /* yacc.c:1646 */ +#line 4563 "conf_parser.c" /* yacc.c:1652 */ break; - case 285: -#line 1603 "conf_parser.y" /* yacc.c:1646 */ + case 287: +#line 1622 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) { @@ -4483,11 +4578,11 @@ yyreduce: add_listener((yyvsp[0].number), block_state.addr.buf, block_state.flags.value); } } -#line 4487 "conf_parser.c" /* yacc.c:1646 */ +#line 4582 "conf_parser.c" /* yacc.c:1652 */ break; - case 286: -#line 1617 "conf_parser.y" /* yacc.c:1646 */ + case 288: +#line 1636 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) { @@ -4506,38 +4601,38 @@ yyreduce: add_listener(i, block_state.addr.buf, block_state.flags.value); } } -#line 4510 "conf_parser.c" /* yacc.c:1646 */ +#line 4605 "conf_parser.c" /* yacc.c:1652 */ break; - case 287: -#line 1637 "conf_parser.y" /* yacc.c:1646 */ + case 289: +#line 1656 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf)); } -#line 4519 "conf_parser.c" /* yacc.c:1646 */ +#line 4614 "conf_parser.c" /* yacc.c:1652 */ break; - case 288: -#line 1643 "conf_parser.y" /* yacc.c:1646 */ + case 290: +#line 1662 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf)); } -#line 4528 "conf_parser.c" /* yacc.c:1646 */ +#line 4623 "conf_parser.c" /* yacc.c:1652 */ break; - case 289: -#line 1652 "conf_parser.y" /* yacc.c:1646 */ + case 291: +#line 1671 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) reset_block_state(); } -#line 4537 "conf_parser.c" /* yacc.c:1646 */ +#line 4632 "conf_parser.c" /* yacc.c:1652 */ break; - case 290: -#line 1656 "conf_parser.y" /* yacc.c:1646 */ + case 292: +#line 1675 "conf_parser.y" /* yacc.c:1652 */ { dlink_node *ptr = NULL; @@ -4566,6 +4661,8 @@ yyreduce: conf->passwd = xstrdup(block_state.rpass.buf); if (block_state.name.buf[0]) conf->name = xstrdup(block_state.name.buf); + if (block_state.cert.buf[0]) + conf->certfp = xstrdup(block_state.cert.buf); conf->flags = block_state.flags.value; conf->port = block_state.port.value; @@ -4574,38 +4671,47 @@ yyreduce: add_conf_by_address(CONF_CLIENT, conf); } } -#line 4578 "conf_parser.c" /* yacc.c:1646 */ +#line 4675 "conf_parser.c" /* yacc.c:1652 */ break; - case 302: -#line 1699 "conf_parser.y" /* yacc.c:1646 */ + case 305: +#line 1721 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list); } -#line 4587 "conf_parser.c" /* yacc.c:1646 */ +#line 4684 "conf_parser.c" /* yacc.c:1652 */ break; - case 303: -#line 1705 "conf_parser.y" /* yacc.c:1646 */ + case 306: +#line 1727 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf)); } -#line 4596 "conf_parser.c" /* yacc.c:1646 */ +#line 4693 "conf_parser.c" /* yacc.c:1652 */ break; - case 304: -#line 1711 "conf_parser.y" /* yacc.c:1646 */ + case 307: +#line 1733 "conf_parser.y" /* yacc.c:1652 */ + { + if (conf_parser_ctx.pass == 2) + strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf)); +} +#line 4702 "conf_parser.c" /* yacc.c:1652 */ + break; + + case 308: +#line 1739 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf)); } -#line 4605 "conf_parser.c" /* yacc.c:1646 */ +#line 4711 "conf_parser.c" /* yacc.c:1652 */ break; - case 305: -#line 1717 "conf_parser.y" /* yacc.c:1646 */ + case 309: +#line 1745 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) { @@ -4615,110 +4721,110 @@ yyreduce: block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED; } } -#line 4619 "conf_parser.c" /* yacc.c:1646 */ +#line 4725 "conf_parser.c" /* yacc.c:1652 */ break; - case 306: -#line 1728 "conf_parser.y" /* yacc.c:1646 */ + case 310: +#line 1756 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP); } -#line 4628 "conf_parser.c" /* yacc.c:1646 */ +#line 4734 "conf_parser.c" /* yacc.c:1652 */ break; - case 310: -#line 1735 "conf_parser.y" /* yacc.c:1646 */ + case 314: +#line 1763 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE; } -#line 4637 "conf_parser.c" /* yacc.c:1646 */ +#line 4743 "conf_parser.c" /* yacc.c:1652 */ break; - case 311: -#line 1739 "conf_parser.y" /* yacc.c:1646 */ + case 315: +#line 1767 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= CONF_FLAGS_NOLIMIT; } -#line 4646 "conf_parser.c" /* yacc.c:1646 */ +#line 4752 "conf_parser.c" /* yacc.c:1652 */ break; - case 312: -#line 1743 "conf_parser.y" /* yacc.c:1646 */ + case 316: +#line 1771 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE; } -#line 4655 "conf_parser.c" /* yacc.c:1646 */ +#line 4761 "conf_parser.c" /* yacc.c:1652 */ break; - case 313: -#line 1747 "conf_parser.y" /* yacc.c:1646 */ + case 317: +#line 1775 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= CONF_FLAGS_NEED_IDENTD; } -#line 4664 "conf_parser.c" /* yacc.c:1646 */ +#line 4770 "conf_parser.c" /* yacc.c:1652 */ break; - case 314: -#line 1751 "conf_parser.y" /* yacc.c:1646 */ + case 318: +#line 1779 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= CONF_FLAGS_CAN_FLOOD; } -#line 4673 "conf_parser.c" /* yacc.c:1646 */ +#line 4779 "conf_parser.c" /* yacc.c:1652 */ break; - case 315: -#line 1755 "conf_parser.y" /* yacc.c:1646 */ + case 319: +#line 1783 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= CONF_FLAGS_NO_TILDE; } -#line 4682 "conf_parser.c" /* yacc.c:1646 */ +#line 4788 "conf_parser.c" /* yacc.c:1652 */ break; - case 316: -#line 1759 "conf_parser.y" /* yacc.c:1646 */ + case 320: +#line 1787 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE; } -#line 4691 "conf_parser.c" /* yacc.c:1646 */ +#line 4797 "conf_parser.c" /* yacc.c:1652 */ break; - case 317: -#line 1763 "conf_parser.y" /* yacc.c:1646 */ + case 321: +#line 1791 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= CONF_FLAGS_EXEMPTRESV; } -#line 4700 "conf_parser.c" /* yacc.c:1646 */ +#line 4806 "conf_parser.c" /* yacc.c:1652 */ break; - case 318: -#line 1767 "conf_parser.y" /* yacc.c:1646 */ + case 322: +#line 1795 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= CONF_FLAGS_WEBIRC; } -#line 4709 "conf_parser.c" /* yacc.c:1646 */ +#line 4815 "conf_parser.c" /* yacc.c:1652 */ break; - case 319: -#line 1771 "conf_parser.y" /* yacc.c:1646 */ + case 323: +#line 1799 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD; } -#line 4718 "conf_parser.c" /* yacc.c:1646 */ +#line 4824 "conf_parser.c" /* yacc.c:1652 */ break; - case 320: -#line 1777 "conf_parser.y" /* yacc.c:1646 */ + case 324: +#line 1805 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -4731,11 +4837,11 @@ yyreduce: else ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it."); } -#line 4735 "conf_parser.c" /* yacc.c:1646 */ +#line 4841 "conf_parser.c" /* yacc.c:1652 */ break; - case 321: -#line 1791 "conf_parser.y" /* yacc.c:1646 */ + case 325: +#line 1819 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -4743,11 +4849,11 @@ yyreduce: strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf)); block_state.flags.value |= CONF_FLAGS_REDIR; } -#line 4747 "conf_parser.c" /* yacc.c:1646 */ +#line 4853 "conf_parser.c" /* yacc.c:1652 */ break; - case 322: -#line 1800 "conf_parser.y" /* yacc.c:1646 */ + case 326: +#line 1828 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -4755,11 +4861,11 @@ yyreduce: block_state.flags.value |= CONF_FLAGS_REDIR; block_state.port.value = (yyvsp[-1].number); } -#line 4759 "conf_parser.c" /* yacc.c:1646 */ +#line 4865 "conf_parser.c" /* yacc.c:1652 */ break; - case 323: -#line 1813 "conf_parser.y" /* yacc.c:1646 */ + case 327: +#line 1841 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -4767,49 +4873,49 @@ yyreduce: reset_block_state(); strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf)); } -#line 4771 "conf_parser.c" /* yacc.c:1646 */ +#line 4877 "conf_parser.c" /* yacc.c:1652 */ break; - case 324: -#line 1820 "conf_parser.y" /* yacc.c:1646 */ + case 328: +#line 1848 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list); } -#line 4782 "conf_parser.c" /* yacc.c:1646 */ +#line 4888 "conf_parser.c" /* yacc.c:1652 */ break; - case 331: -#line 1831 "conf_parser.y" /* yacc.c:1646 */ + case 335: +#line 1859 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf)); } -#line 4791 "conf_parser.c" /* yacc.c:1646 */ +#line 4897 "conf_parser.c" /* yacc.c:1652 */ break; - case 332: -#line 1837 "conf_parser.y" /* yacc.c:1646 */ + case 336: +#line 1865 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf)); } -#line 4800 "conf_parser.c" /* yacc.c:1646 */ +#line 4906 "conf_parser.c" /* yacc.c:1652 */ break; - case 333: -#line 1843 "conf_parser.y" /* yacc.c:1646 */ + case 337: +#line 1871 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list); } -#line 4809 "conf_parser.c" /* yacc.c:1646 */ +#line 4915 "conf_parser.c" /* yacc.c:1652 */ break; - case 339: -#line 1858 "conf_parser.y" /* yacc.c:1646 */ + case 343: +#line 1886 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -4820,11 +4926,11 @@ yyreduce: conf->name = xstrdup(yylval.string); } } -#line 4824 "conf_parser.c" /* yacc.c:1646 */ +#line 4930 "conf_parser.c" /* yacc.c:1652 */ break; - case 340: -#line 1873 "conf_parser.y" /* yacc.c:1646 */ + case 344: +#line 1901 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -4836,11 +4942,11 @@ yyreduce: strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf)); block_state.flags.value = SHARED_ALL; } -#line 4840 "conf_parser.c" /* yacc.c:1646 */ +#line 4946 "conf_parser.c" /* yacc.c:1652 */ break; - case 341: -#line 1884 "conf_parser.y" /* yacc.c:1646 */ + case 345: +#line 1912 "conf_parser.y" /* yacc.c:1652 */ { struct MaskItem *conf = NULL; @@ -4853,20 +4959,20 @@ yyreduce: conf->user = xstrdup(block_state.user.buf); conf->host = xstrdup(block_state.host.buf); } -#line 4857 "conf_parser.c" /* yacc.c:1646 */ +#line 4963 "conf_parser.c" /* yacc.c:1652 */ break; - case 348: -#line 1901 "conf_parser.y" /* yacc.c:1646 */ + case 352: +#line 1929 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf)); } -#line 4866 "conf_parser.c" /* yacc.c:1646 */ +#line 4972 "conf_parser.c" /* yacc.c:1652 */ break; - case 349: -#line 1907 "conf_parser.y" /* yacc.c:1646 */ + case 353: +#line 1935 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) { @@ -4884,110 +4990,110 @@ yyreduce: split_nuh(&nuh); } } -#line 4888 "conf_parser.c" /* yacc.c:1646 */ +#line 4994 "conf_parser.c" /* yacc.c:1652 */ break; - case 350: -#line 1926 "conf_parser.y" /* yacc.c:1646 */ + case 354: +#line 1954 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value = 0; } -#line 4897 "conf_parser.c" /* yacc.c:1646 */ +#line 5003 "conf_parser.c" /* yacc.c:1652 */ break; - case 354: -#line 1933 "conf_parser.y" /* yacc.c:1646 */ + case 358: +#line 1961 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_KLINE; } -#line 4906 "conf_parser.c" /* yacc.c:1646 */ +#line 5012 "conf_parser.c" /* yacc.c:1652 */ break; - case 355: -#line 1937 "conf_parser.y" /* yacc.c:1646 */ + case 359: +#line 1965 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_UNKLINE; } -#line 4915 "conf_parser.c" /* yacc.c:1646 */ +#line 5021 "conf_parser.c" /* yacc.c:1652 */ break; - case 356: -#line 1941 "conf_parser.y" /* yacc.c:1646 */ + case 360: +#line 1969 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_DLINE; } -#line 4924 "conf_parser.c" /* yacc.c:1646 */ +#line 5030 "conf_parser.c" /* yacc.c:1652 */ break; - case 357: -#line 1945 "conf_parser.y" /* yacc.c:1646 */ + case 361: +#line 1973 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_UNDLINE; } -#line 4933 "conf_parser.c" /* yacc.c:1646 */ +#line 5039 "conf_parser.c" /* yacc.c:1652 */ break; - case 358: -#line 1949 "conf_parser.y" /* yacc.c:1646 */ + case 362: +#line 1977 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_XLINE; } -#line 4942 "conf_parser.c" /* yacc.c:1646 */ +#line 5048 "conf_parser.c" /* yacc.c:1652 */ break; - case 359: -#line 1953 "conf_parser.y" /* yacc.c:1646 */ + case 363: +#line 1981 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_UNXLINE; } -#line 4951 "conf_parser.c" /* yacc.c:1646 */ +#line 5057 "conf_parser.c" /* yacc.c:1652 */ break; - case 360: -#line 1957 "conf_parser.y" /* yacc.c:1646 */ + case 364: +#line 1985 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_RESV; } -#line 4960 "conf_parser.c" /* yacc.c:1646 */ +#line 5066 "conf_parser.c" /* yacc.c:1652 */ break; - case 361: -#line 1961 "conf_parser.y" /* yacc.c:1646 */ + case 365: +#line 1989 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_UNRESV; } -#line 4969 "conf_parser.c" /* yacc.c:1646 */ +#line 5075 "conf_parser.c" /* yacc.c:1652 */ break; - case 362: -#line 1965 "conf_parser.y" /* yacc.c:1646 */ + case 366: +#line 1993 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_LOCOPS; } -#line 4978 "conf_parser.c" /* yacc.c:1646 */ +#line 5084 "conf_parser.c" /* yacc.c:1652 */ break; - case 363: -#line 1969 "conf_parser.y" /* yacc.c:1646 */ + case 367: +#line 1997 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value = SHARED_ALL; } -#line 4987 "conf_parser.c" /* yacc.c:1646 */ +#line 5093 "conf_parser.c" /* yacc.c:1652 */ break; - case 364: -#line 1978 "conf_parser.y" /* yacc.c:1646 */ + case 368: +#line 2006 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -4997,11 +5103,11 @@ yyreduce: strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf)); block_state.flags.value = SHARED_ALL; } -#line 5001 "conf_parser.c" /* yacc.c:1646 */ +#line 5107 "conf_parser.c" /* yacc.c:1652 */ break; - case 365: -#line 1987 "conf_parser.y" /* yacc.c:1646 */ + case 369: +#line 2015 "conf_parser.y" /* yacc.c:1652 */ { struct MaskItem *conf = NULL; @@ -5012,119 +5118,119 @@ yyreduce: conf->flags = block_state.flags.value; conf->name = xstrdup(block_state.name.buf); } -#line 5016 "conf_parser.c" /* yacc.c:1646 */ +#line 5122 "conf_parser.c" /* yacc.c:1652 */ break; - case 371: -#line 2002 "conf_parser.y" /* yacc.c:1646 */ + case 375: +#line 2030 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf)); } -#line 5025 "conf_parser.c" /* yacc.c:1646 */ +#line 5131 "conf_parser.c" /* yacc.c:1652 */ break; - case 372: -#line 2008 "conf_parser.y" /* yacc.c:1646 */ + case 376: +#line 2036 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value = 0; } -#line 5034 "conf_parser.c" /* yacc.c:1646 */ +#line 5140 "conf_parser.c" /* yacc.c:1652 */ break; - case 376: -#line 2015 "conf_parser.y" /* yacc.c:1646 */ + case 380: +#line 2043 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_KLINE; } -#line 5043 "conf_parser.c" /* yacc.c:1646 */ +#line 5149 "conf_parser.c" /* yacc.c:1652 */ break; - case 377: -#line 2019 "conf_parser.y" /* yacc.c:1646 */ + case 381: +#line 2047 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_UNKLINE; } -#line 5052 "conf_parser.c" /* yacc.c:1646 */ +#line 5158 "conf_parser.c" /* yacc.c:1652 */ break; - case 378: -#line 2023 "conf_parser.y" /* yacc.c:1646 */ + case 382: +#line 2051 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_DLINE; } -#line 5061 "conf_parser.c" /* yacc.c:1646 */ +#line 5167 "conf_parser.c" /* yacc.c:1652 */ break; - case 379: -#line 2027 "conf_parser.y" /* yacc.c:1646 */ + case 383: +#line 2055 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_UNDLINE; } -#line 5070 "conf_parser.c" /* yacc.c:1646 */ +#line 5176 "conf_parser.c" /* yacc.c:1652 */ break; - case 380: -#line 2031 "conf_parser.y" /* yacc.c:1646 */ + case 384: +#line 2059 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_XLINE; } -#line 5079 "conf_parser.c" /* yacc.c:1646 */ +#line 5185 "conf_parser.c" /* yacc.c:1652 */ break; - case 381: -#line 2035 "conf_parser.y" /* yacc.c:1646 */ + case 385: +#line 2063 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_UNXLINE; } -#line 5088 "conf_parser.c" /* yacc.c:1646 */ +#line 5194 "conf_parser.c" /* yacc.c:1652 */ break; - case 382: -#line 2039 "conf_parser.y" /* yacc.c:1646 */ + case 386: +#line 2067 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_RESV; } -#line 5097 "conf_parser.c" /* yacc.c:1646 */ +#line 5203 "conf_parser.c" /* yacc.c:1652 */ break; - case 383: -#line 2043 "conf_parser.y" /* yacc.c:1646 */ + case 387: +#line 2071 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_UNRESV; } -#line 5106 "conf_parser.c" /* yacc.c:1646 */ +#line 5212 "conf_parser.c" /* yacc.c:1652 */ break; - case 384: -#line 2047 "conf_parser.y" /* yacc.c:1646 */ + case 388: +#line 2075 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= SHARED_LOCOPS; } -#line 5115 "conf_parser.c" /* yacc.c:1646 */ +#line 5221 "conf_parser.c" /* yacc.c:1652 */ break; - case 385: -#line 2051 "conf_parser.y" /* yacc.c:1646 */ + case 389: +#line 2079 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value = SHARED_ALL; } -#line 5124 "conf_parser.c" /* yacc.c:1646 */ +#line 5230 "conf_parser.c" /* yacc.c:1652 */ break; - case 386: -#line 2060 "conf_parser.y" /* yacc.c:1646 */ + case 390: +#line 2088 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) @@ -5134,11 +5240,11 @@ yyreduce: block_state.aftype.value = AF_INET; block_state.port.value = PORTNUM; } -#line 5138 "conf_parser.c" /* yacc.c:1646 */ +#line 5244 "conf_parser.c" /* yacc.c:1652 */ break; - case 387: -#line 2069 "conf_parser.y" /* yacc.c:1646 */ + case 391: +#line 2097 "conf_parser.y" /* yacc.c:1652 */ { struct MaskItem *conf = NULL; struct addrinfo hints, *res; @@ -5150,12 +5256,12 @@ yyreduce: !block_state.host.buf[0]) break; - if (!block_state.rpass.buf[0] || - !block_state.spass.buf[0]) + if ((!block_state.rpass.buf[0] || + !block_state.spass.buf[0]) && + !block_state.cert.buf[0]) break; - if (has_wildcards(block_state.name.buf) || - has_wildcards(block_state.host.buf)) + if (has_wildcards(block_state.name.buf)) break; conf = conf_make(CONF_SERVER); @@ -5165,7 +5271,10 @@ yyreduce: conf->host = xstrdup(block_state.host.buf); conf->name = xstrdup(block_state.name.buf); conf->passwd = xstrdup(block_state.rpass.buf); - conf->spasswd = xstrdup(block_state.spass.buf); + if (!block_state.spass.buf[0]) + conf->spasswd = xstrdup("certificate_auth"); + else + conf->spasswd = xstrdup(block_state.spass.buf); if (block_state.cert.buf[0]) conf->certfp = xstrdup(block_state.cert.buf); @@ -5176,6 +5285,10 @@ yyreduce: dlinkMoveList(&block_state.leaf.list, &conf->leaf_list); dlinkMoveList(&block_state.hub.list, &conf->hub_list); + /* if the host has wildcards, we can't connect */ + if (has_wildcards(block_state.host.buf)) + conf->flags &= ~CONF_FLAGS_ALLOW_AUTO_CONN; + if (block_state.bind.buf[0]) { memset(&hints, 0, sizeof(hints)); @@ -5200,38 +5313,38 @@ yyreduce: conf_add_class_to_conf(conf, block_state.class.buf); lookup_confhost(conf); } -#line 5204 "conf_parser.c" /* yacc.c:1646 */ +#line 5317 "conf_parser.c" /* yacc.c:1652 */ break; - case 405: -#line 2141 "conf_parser.y" /* yacc.c:1646 */ + case 409: +#line 2176 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf)); } -#line 5213 "conf_parser.c" /* yacc.c:1646 */ +#line 5326 "conf_parser.c" /* yacc.c:1652 */ break; - case 406: -#line 2147 "conf_parser.y" /* yacc.c:1646 */ + case 410: +#line 2182 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf)); } -#line 5222 "conf_parser.c" /* yacc.c:1646 */ +#line 5335 "conf_parser.c" /* yacc.c:1652 */ break; - case 407: -#line 2153 "conf_parser.y" /* yacc.c:1646 */ + case 411: +#line 2188 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf)); } -#line 5231 "conf_parser.c" /* yacc.c:1646 */ +#line 5344 "conf_parser.c" /* yacc.c:1652 */ break; - case 408: -#line 2159 "conf_parser.y" /* yacc.c:1646 */ + case 412: +#line 2194 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -5243,11 +5356,11 @@ yyreduce: else strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf)); } -#line 5247 "conf_parser.c" /* yacc.c:1646 */ +#line 5360 "conf_parser.c" /* yacc.c:1652 */ break; - case 409: -#line 2172 "conf_parser.y" /* yacc.c:1646 */ + case 413: +#line 2207 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass != 2) break; @@ -5259,75 +5372,75 @@ yyreduce: else strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf)); } -#line 5263 "conf_parser.c" /* yacc.c:1646 */ +#line 5376 "conf_parser.c" /* yacc.c:1652 */ break; - case 410: -#line 2185 "conf_parser.y" /* yacc.c:1646 */ + case 414: +#line 2220 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf)); } -#line 5272 "conf_parser.c" /* yacc.c:1646 */ +#line 5385 "conf_parser.c" /* yacc.c:1652 */ break; - case 411: -#line 2191 "conf_parser.y" /* yacc.c:1646 */ + case 415: +#line 2226 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.port.value = (yyvsp[-1].number); } -#line 5281 "conf_parser.c" /* yacc.c:1646 */ +#line 5394 "conf_parser.c" /* yacc.c:1652 */ break; - case 412: -#line 2197 "conf_parser.y" /* yacc.c:1646 */ + case 416: +#line 2232 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.aftype.value = AF_INET; } -#line 5290 "conf_parser.c" /* yacc.c:1646 */ +#line 5403 "conf_parser.c" /* yacc.c:1652 */ break; - case 413: -#line 2201 "conf_parser.y" /* yacc.c:1646 */ + case 417: +#line 2236 "conf_parser.y" /* yacc.c:1652 */ { #ifdef IPV6 if (conf_parser_ctx.pass == 2) block_state.aftype.value = AF_INET6; #endif } -#line 5301 "conf_parser.c" /* yacc.c:1646 */ +#line 5414 "conf_parser.c" /* yacc.c:1652 */ break; - case 414: -#line 2209 "conf_parser.y" /* yacc.c:1646 */ + case 418: +#line 2244 "conf_parser.y" /* yacc.c:1652 */ { block_state.flags.value &= CONF_FLAGS_ENCRYPTED; } -#line 5309 "conf_parser.c" /* yacc.c:1646 */ +#line 5422 "conf_parser.c" /* yacc.c:1652 */ break; - case 418: -#line 2215 "conf_parser.y" /* yacc.c:1646 */ + case 422: +#line 2250 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN; } -#line 5318 "conf_parser.c" /* yacc.c:1646 */ +#line 5431 "conf_parser.c" /* yacc.c:1652 */ break; - case 419: -#line 2219 "conf_parser.y" /* yacc.c:1646 */ + case 423: +#line 2254 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) block_state.flags.value |= CONF_FLAGS_SSL; } -#line 5327 "conf_parser.c" /* yacc.c:1646 */ +#line 5440 "conf_parser.c" /* yacc.c:1652 */ break; - case 420: -#line 2225 "conf_parser.y" /* yacc.c:1646 */ + case 424: +#line 2260 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) { @@ -5337,38 +5450,38 @@ yyreduce: block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED; } } -#line 5341 "conf_parser.c" /* yacc.c:1646 */ +#line 5454 "conf_parser.c" /* yacc.c:1652 */ break; - case 421: -#line 2236 "conf_parser.y" /* yacc.c:1646 */ + case 425: +#line 2271 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list); } -#line 5350 "conf_parser.c" /* yacc.c:1646 */ +#line 5463 "conf_parser.c" /* yacc.c:1652 */ break; - case 422: -#line 2242 "conf_parser.y" /* yacc.c:1646 */ + case 426: +#line 2277 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list); } -#line 5359 "conf_parser.c" /* yacc.c:1646 */ +#line 5472 "conf_parser.c" /* yacc.c:1652 */ break; - case 423: -#line 2248 "conf_parser.y" /* yacc.c:1646 */ + case 427: +#line 2283 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf)); } -#line 5368 "conf_parser.c" /* yacc.c:1646 */ +#line 5481 "conf_parser.c" /* yacc.c:1652 */ break; - case 424: -#line 2254 "conf_parser.y" /* yacc.c:1646 */ + case 428: +#line 2289 "conf_parser.y" /* yacc.c:1652 */ { #ifdef HAVE_LIBCRYPTO if (conf_parser_ctx.pass == 2) @@ -5378,20 +5491,20 @@ yyreduce: conf_error_report("Ignoring connect::ciphers -- no OpenSSL support"); #endif } -#line 5382 "conf_parser.c" /* yacc.c:1646 */ +#line 5495 "conf_parser.c" /* yacc.c:1652 */ break; - case 425: -#line 2269 "conf_parser.y" /* yacc.c:1646 */ + case 429: +#line 2304 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) reset_block_state(); } -#line 5391 "conf_parser.c" /* yacc.c:1646 */ +#line 5504 "conf_parser.c" /* yacc.c:1652 */ break; - case 426: -#line 2273 "conf_parser.y" /* yacc.c:1646 */ + case 430: +#line 2308 "conf_parser.y" /* yacc.c:1652 */ { struct MaskItem *conf = NULL; @@ -5412,11 +5525,11 @@ yyreduce: conf->reason = xstrdup(CONF_NOREASON); add_conf_by_address(CONF_KLINE, conf); } -#line 5416 "conf_parser.c" /* yacc.c:1646 */ +#line 5529 "conf_parser.c" /* yacc.c:1652 */ break; - case 432: -#line 2298 "conf_parser.y" /* yacc.c:1646 */ + case 436: +#line 2333 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) @@ -5435,29 +5548,29 @@ yyreduce: split_nuh(&nuh); } } -#line 5439 "conf_parser.c" /* yacc.c:1646 */ +#line 5552 "conf_parser.c" /* yacc.c:1652 */ break; - case 433: -#line 2318 "conf_parser.y" /* yacc.c:1646 */ + case 437: +#line 2353 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf)); } -#line 5448 "conf_parser.c" /* yacc.c:1646 */ +#line 5561 "conf_parser.c" /* yacc.c:1652 */ break; - case 434: -#line 2327 "conf_parser.y" /* yacc.c:1646 */ + case 438: +#line 2362 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) reset_block_state(); } -#line 5457 "conf_parser.c" /* yacc.c:1646 */ +#line 5570 "conf_parser.c" /* yacc.c:1652 */ break; - case 435: -#line 2331 "conf_parser.y" /* yacc.c:1646 */ + case 439: +#line 2366 "conf_parser.y" /* yacc.c:1652 */ { struct MaskItem *conf = NULL; @@ -5479,29 +5592,29 @@ yyreduce: add_conf_by_address(CONF_DLINE, conf); } } -#line 5483 "conf_parser.c" /* yacc.c:1646 */ +#line 5596 "conf_parser.c" /* yacc.c:1652 */ break; - case 441: -#line 2357 "conf_parser.y" /* yacc.c:1646 */ + case 445: +#line 2392 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf)); } -#line 5492 "conf_parser.c" /* yacc.c:1646 */ +#line 5605 "conf_parser.c" /* yacc.c:1652 */ break; - case 442: -#line 2363 "conf_parser.y" /* yacc.c:1646 */ + case 446: +#line 2398 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf)); } -#line 5501 "conf_parser.c" /* yacc.c:1646 */ +#line 5614 "conf_parser.c" /* yacc.c:1652 */ break; - case 448: -#line 2377 "conf_parser.y" /* yacc.c:1646 */ + case 453: +#line 2412 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) { @@ -5514,20 +5627,35 @@ yyreduce: } } } -#line 5518 "conf_parser.c" /* yacc.c:1646 */ +#line 5631 "conf_parser.c" /* yacc.c:1652 */ + break; + + case 454: +#line 2426 "conf_parser.y" /* yacc.c:1652 */ + { + if (conf_parser_ctx.pass == 2) + { + struct MaskItem *conf = conf_make(CONF_EXEMPT); + + conf->certfp = xstrdup(yylval.string); + conf->host = xstrdup(yylval.string); + add_conf_by_address(CONF_EXEMPT, conf); + } +} +#line 5646 "conf_parser.c" /* yacc.c:1652 */ break; - case 449: -#line 2394 "conf_parser.y" /* yacc.c:1646 */ + case 455: +#line 2441 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) reset_block_state(); } -#line 5527 "conf_parser.c" /* yacc.c:1646 */ +#line 5655 "conf_parser.c" /* yacc.c:1652 */ break; - case 450: -#line 2398 "conf_parser.y" /* yacc.c:1646 */ + case 456: +#line 2445 "conf_parser.y" /* yacc.c:1652 */ { struct MaskItem *conf = NULL; @@ -5545,186 +5673,186 @@ yyreduce: else conf->reason = xstrdup(CONF_NOREASON); } -#line 5549 "conf_parser.c" /* yacc.c:1646 */ +#line 5677 "conf_parser.c" /* yacc.c:1652 */ break; - case 456: -#line 2420 "conf_parser.y" /* yacc.c:1646 */ + case 462: +#line 2467 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf)); } -#line 5558 "conf_parser.c" /* yacc.c:1646 */ +#line 5686 "conf_parser.c" /* yacc.c:1652 */ break; - case 457: -#line 2426 "conf_parser.y" /* yacc.c:1646 */ + case 463: +#line 2473 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf)); } -#line 5567 "conf_parser.c" /* yacc.c:1646 */ +#line 5695 "conf_parser.c" /* yacc.c:1652 */ break; - case 509: -#line 2470 "conf_parser.y" /* yacc.c:1646 */ + case 516: +#line 2518 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.max_watch = (yyvsp[-1].number); } -#line 5575 "conf_parser.c" /* yacc.c:1646 */ +#line 5703 "conf_parser.c" /* yacc.c:1652 */ break; - case 510: -#line 2475 "conf_parser.y" /* yacc.c:1646 */ + case 517: +#line 2523 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) ConfigFileEntry.cycle_on_host_change = yylval.number; } -#line 5584 "conf_parser.c" /* yacc.c:1646 */ +#line 5712 "conf_parser.c" /* yacc.c:1652 */ break; - case 511: -#line 2481 "conf_parser.y" /* yacc.c:1646 */ + case 518: +#line 2529 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) ConfigFileEntry.glines = yylval.number; } -#line 5593 "conf_parser.c" /* yacc.c:1646 */ +#line 5721 "conf_parser.c" /* yacc.c:1652 */ break; - case 512: -#line 2487 "conf_parser.y" /* yacc.c:1646 */ + case 519: +#line 2535 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) ConfigFileEntry.gline_time = (yyvsp[-1].number); } -#line 5602 "conf_parser.c" /* yacc.c:1646 */ +#line 5730 "conf_parser.c" /* yacc.c:1652 */ break; - case 513: -#line 2493 "conf_parser.y" /* yacc.c:1646 */ + case 520: +#line 2541 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) ConfigFileEntry.gline_request_time = (yyvsp[-1].number); } -#line 5611 "conf_parser.c" /* yacc.c:1646 */ +#line 5739 "conf_parser.c" /* yacc.c:1652 */ break; - case 514: -#line 2499 "conf_parser.y" /* yacc.c:1646 */ + case 521: +#line 2547 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.gline_min_cidr = (yyvsp[-1].number); } -#line 5619 "conf_parser.c" /* yacc.c:1646 */ +#line 5747 "conf_parser.c" /* yacc.c:1652 */ break; - case 515: -#line 2504 "conf_parser.y" /* yacc.c:1646 */ + case 522: +#line 2552 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.gline_min_cidr6 = (yyvsp[-1].number); } -#line 5627 "conf_parser.c" /* yacc.c:1646 */ +#line 5755 "conf_parser.c" /* yacc.c:1652 */ break; - case 516: -#line 2509 "conf_parser.y" /* yacc.c:1646 */ + case 523: +#line 2557 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.tkline_expire_notices = yylval.number; } -#line 5635 "conf_parser.c" /* yacc.c:1646 */ +#line 5763 "conf_parser.c" /* yacc.c:1652 */ break; - case 517: -#line 2514 "conf_parser.y" /* yacc.c:1646 */ + case 524: +#line 2562 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.kill_chase_time_limit = (yyvsp[-1].number); } -#line 5643 "conf_parser.c" /* yacc.c:1646 */ +#line 5771 "conf_parser.c" /* yacc.c:1652 */ break; - case 518: -#line 2519 "conf_parser.y" /* yacc.c:1646 */ + case 525: +#line 2567 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.hide_spoof_ips = yylval.number; } -#line 5651 "conf_parser.c" /* yacc.c:1646 */ +#line 5779 "conf_parser.c" /* yacc.c:1652 */ break; - case 519: -#line 2524 "conf_parser.y" /* yacc.c:1646 */ + case 526: +#line 2572 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.ignore_bogus_ts = yylval.number; } -#line 5659 "conf_parser.c" /* yacc.c:1646 */ +#line 5787 "conf_parser.c" /* yacc.c:1652 */ break; - case 520: -#line 2529 "conf_parser.y" /* yacc.c:1646 */ + case 527: +#line 2577 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.failed_oper_notice = yylval.number; } -#line 5667 "conf_parser.c" /* yacc.c:1646 */ +#line 5795 "conf_parser.c" /* yacc.c:1652 */ break; - case 521: -#line 2534 "conf_parser.y" /* yacc.c:1646 */ + case 528: +#line 2582 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.anti_nick_flood = yylval.number; } -#line 5675 "conf_parser.c" /* yacc.c:1646 */ +#line 5803 "conf_parser.c" /* yacc.c:1652 */ break; - case 522: -#line 2539 "conf_parser.y" /* yacc.c:1646 */ + case 529: +#line 2587 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.max_nick_time = (yyvsp[-1].number); } -#line 5683 "conf_parser.c" /* yacc.c:1646 */ +#line 5811 "conf_parser.c" /* yacc.c:1652 */ break; - case 523: -#line 2544 "conf_parser.y" /* yacc.c:1646 */ + case 530: +#line 2592 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.max_nick_changes = (yyvsp[-1].number); } -#line 5691 "conf_parser.c" /* yacc.c:1646 */ +#line 5819 "conf_parser.c" /* yacc.c:1652 */ break; - case 524: -#line 2549 "conf_parser.y" /* yacc.c:1646 */ + case 531: +#line 2597 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.max_accept = (yyvsp[-1].number); } -#line 5699 "conf_parser.c" /* yacc.c:1646 */ +#line 5827 "conf_parser.c" /* yacc.c:1652 */ break; - case 525: -#line 2554 "conf_parser.y" /* yacc.c:1646 */ + case 532: +#line 2602 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[-1].number); } -#line 5707 "conf_parser.c" /* yacc.c:1646 */ +#line 5835 "conf_parser.c" /* yacc.c:1652 */ break; - case 526: -#line 2559 "conf_parser.y" /* yacc.c:1646 */ + case 533: +#line 2607 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.ts_warn_delta = (yyvsp[-1].number); } -#line 5715 "conf_parser.c" /* yacc.c:1646 */ +#line 5843 "conf_parser.c" /* yacc.c:1652 */ break; - case 527: -#line 2564 "conf_parser.y" /* yacc.c:1646 */ + case 534: +#line 2612 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) ConfigFileEntry.ts_max_delta = (yyvsp[-1].number); } -#line 5724 "conf_parser.c" /* yacc.c:1646 */ +#line 5852 "conf_parser.c" /* yacc.c:1652 */ break; - case 528: -#line 2570 "conf_parser.y" /* yacc.c:1646 */ + case 535: +#line 2618 "conf_parser.y" /* yacc.c:1652 */ { if (((yyvsp[-1].number) > 0) && conf_parser_ctx.pass == 1) { @@ -5734,171 +5862,171 @@ yyreduce: exit(0); } } -#line 5738 "conf_parser.c" /* yacc.c:1646 */ +#line 5866 "conf_parser.c" /* yacc.c:1652 */ break; - case 529: -#line 2581 "conf_parser.y" /* yacc.c:1646 */ + case 536: +#line 2629 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.invisible_on_connect = yylval.number; } -#line 5746 "conf_parser.c" /* yacc.c:1646 */ +#line 5874 "conf_parser.c" /* yacc.c:1652 */ break; - case 530: -#line 2586 "conf_parser.y" /* yacc.c:1646 */ + case 537: +#line 2634 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.warn_no_nline = yylval.number; } -#line 5754 "conf_parser.c" /* yacc.c:1646 */ +#line 5882 "conf_parser.c" /* yacc.c:1652 */ break; - case 531: -#line 2591 "conf_parser.y" /* yacc.c:1646 */ + case 538: +#line 2639 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.stats_e_disabled = yylval.number; } -#line 5762 "conf_parser.c" /* yacc.c:1646 */ +#line 5890 "conf_parser.c" /* yacc.c:1652 */ break; - case 532: -#line 2596 "conf_parser.y" /* yacc.c:1646 */ + case 539: +#line 2644 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.stats_o_oper_only = yylval.number; } -#line 5770 "conf_parser.c" /* yacc.c:1646 */ +#line 5898 "conf_parser.c" /* yacc.c:1652 */ break; - case 533: -#line 2601 "conf_parser.y" /* yacc.c:1646 */ + case 540: +#line 2649 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.stats_P_oper_only = yylval.number; } -#line 5778 "conf_parser.c" /* yacc.c:1646 */ +#line 5906 "conf_parser.c" /* yacc.c:1652 */ break; - case 534: -#line 2606 "conf_parser.y" /* yacc.c:1646 */ + case 541: +#line 2654 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.stats_u_oper_only = yylval.number; } -#line 5786 "conf_parser.c" /* yacc.c:1646 */ +#line 5914 "conf_parser.c" /* yacc.c:1652 */ break; - case 535: -#line 2611 "conf_parser.y" /* yacc.c:1646 */ + case 542: +#line 2659 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.stats_k_oper_only = 2 * yylval.number; } -#line 5794 "conf_parser.c" /* yacc.c:1646 */ +#line 5922 "conf_parser.c" /* yacc.c:1652 */ break; - case 536: -#line 2614 "conf_parser.y" /* yacc.c:1646 */ + case 543: +#line 2662 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.stats_k_oper_only = 1; } -#line 5802 "conf_parser.c" /* yacc.c:1646 */ +#line 5930 "conf_parser.c" /* yacc.c:1652 */ break; - case 537: -#line 2619 "conf_parser.y" /* yacc.c:1646 */ + case 544: +#line 2667 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.stats_i_oper_only = 2 * yylval.number; } -#line 5810 "conf_parser.c" /* yacc.c:1646 */ +#line 5938 "conf_parser.c" /* yacc.c:1652 */ break; - case 538: -#line 2622 "conf_parser.y" /* yacc.c:1646 */ + case 545: +#line 2670 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.stats_i_oper_only = 1; } -#line 5818 "conf_parser.c" /* yacc.c:1646 */ +#line 5946 "conf_parser.c" /* yacc.c:1652 */ break; - case 539: -#line 2627 "conf_parser.y" /* yacc.c:1646 */ + case 546: +#line 2675 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.pace_wait = (yyvsp[-1].number); } -#line 5826 "conf_parser.c" /* yacc.c:1646 */ +#line 5954 "conf_parser.c" /* yacc.c:1652 */ break; - case 540: -#line 2632 "conf_parser.y" /* yacc.c:1646 */ + case 547: +#line 2680 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.caller_id_wait = (yyvsp[-1].number); } -#line 5834 "conf_parser.c" /* yacc.c:1646 */ +#line 5962 "conf_parser.c" /* yacc.c:1652 */ break; - case 541: -#line 2637 "conf_parser.y" /* yacc.c:1646 */ + case 548: +#line 2685 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.opers_bypass_callerid = yylval.number; } -#line 5842 "conf_parser.c" /* yacc.c:1646 */ +#line 5970 "conf_parser.c" /* yacc.c:1652 */ break; - case 542: -#line 2642 "conf_parser.y" /* yacc.c:1646 */ + case 549: +#line 2690 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.pace_wait_simple = (yyvsp[-1].number); } -#line 5850 "conf_parser.c" /* yacc.c:1646 */ +#line 5978 "conf_parser.c" /* yacc.c:1652 */ break; - case 543: -#line 2647 "conf_parser.y" /* yacc.c:1646 */ + case 550: +#line 2695 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.short_motd = yylval.number; } -#line 5858 "conf_parser.c" /* yacc.c:1646 */ +#line 5986 "conf_parser.c" /* yacc.c:1652 */ break; - case 544: -#line 2652 "conf_parser.y" /* yacc.c:1646 */ + case 551: +#line 2700 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.no_oper_flood = yylval.number; } -#line 5866 "conf_parser.c" /* yacc.c:1646 */ +#line 5994 "conf_parser.c" /* yacc.c:1652 */ break; - case 545: -#line 2657 "conf_parser.y" /* yacc.c:1646 */ + case 552: +#line 2705 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.true_no_oper_flood = yylval.number; } -#line 5874 "conf_parser.c" /* yacc.c:1646 */ +#line 6002 "conf_parser.c" /* yacc.c:1652 */ break; - case 546: -#line 2662 "conf_parser.y" /* yacc.c:1646 */ + case 553: +#line 2710 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_pass_resv = yylval.number; } -#line 5882 "conf_parser.c" /* yacc.c:1646 */ +#line 6010 "conf_parser.c" /* yacc.c:1652 */ break; - case 547: -#line 2667 "conf_parser.y" /* yacc.c:1646 */ + case 554: +#line 2715 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.dots_in_ident = (yyvsp[-1].number); } -#line 5890 "conf_parser.c" /* yacc.c:1646 */ +#line 6018 "conf_parser.c" /* yacc.c:1652 */ break; - case 548: -#line 2672 "conf_parser.y" /* yacc.c:1646 */ + case 555: +#line 2720 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.max_targets = (yyvsp[-1].number); } -#line 5898 "conf_parser.c" /* yacc.c:1646 */ +#line 6026 "conf_parser.c" /* yacc.c:1652 */ break; - case 549: -#line 2677 "conf_parser.y" /* yacc.c:1646 */ + case 556: +#line 2725 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string)) { @@ -5906,543 +6034,623 @@ yyreduce: ConfigFileEntry.service_name = xstrdup(yylval.string); } } -#line 5910 "conf_parser.c" /* yacc.c:1646 */ +#line 6038 "conf_parser.c" /* yacc.c:1652 */ break; - case 550: -#line 2686 "conf_parser.y" /* yacc.c:1646 */ + case 557: +#line 2734 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.ping_cookie = yylval.number; } -#line 5918 "conf_parser.c" /* yacc.c:1646 */ +#line 6046 "conf_parser.c" /* yacc.c:1652 */ break; - case 551: -#line 2691 "conf_parser.y" /* yacc.c:1646 */ + case 558: +#line 2739 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.disable_auth = yylval.number; } -#line 5926 "conf_parser.c" /* yacc.c:1646 */ +#line 6054 "conf_parser.c" /* yacc.c:1652 */ break; - case 552: -#line 2696 "conf_parser.y" /* yacc.c:1646 */ + case 559: +#line 2744 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.throttle_time = (yyvsp[-1].number); } -#line 5934 "conf_parser.c" /* yacc.c:1646 */ +#line 6062 "conf_parser.c" /* yacc.c:1652 */ break; - case 553: -#line 2701 "conf_parser.y" /* yacc.c:1646 */ + case 560: +#line 2749 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes = 0; } -#line 5942 "conf_parser.c" /* yacc.c:1646 */ +#line 6070 "conf_parser.c" /* yacc.c:1652 */ break; - case 557: -#line 2707 "conf_parser.y" /* yacc.c:1646 */ + case 564: +#line 2755 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_BOTS; } -#line 5950 "conf_parser.c" /* yacc.c:1646 */ +#line 6078 "conf_parser.c" /* yacc.c:1652 */ break; - case 558: -#line 2710 "conf_parser.y" /* yacc.c:1646 */ + case 565: +#line 2758 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_CCONN; } -#line 5958 "conf_parser.c" /* yacc.c:1646 */ +#line 6086 "conf_parser.c" /* yacc.c:1652 */ break; - case 559: -#line 2713 "conf_parser.y" /* yacc.c:1646 */ + case 566: +#line 2761 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_DEAF; } -#line 5966 "conf_parser.c" /* yacc.c:1646 */ +#line 6094 "conf_parser.c" /* yacc.c:1652 */ break; - case 560: -#line 2716 "conf_parser.y" /* yacc.c:1646 */ + case 567: +#line 2764 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_DEBUG; } -#line 5974 "conf_parser.c" /* yacc.c:1646 */ +#line 6102 "conf_parser.c" /* yacc.c:1652 */ break; - case 561: -#line 2719 "conf_parser.y" /* yacc.c:1646 */ + case 568: +#line 2767 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_FULL; } -#line 5982 "conf_parser.c" /* yacc.c:1646 */ +#line 6110 "conf_parser.c" /* yacc.c:1652 */ break; - case 562: -#line 2722 "conf_parser.y" /* yacc.c:1646 */ + case 569: +#line 2770 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_HIDDEN; } -#line 5990 "conf_parser.c" /* yacc.c:1646 */ +#line 6118 "conf_parser.c" /* yacc.c:1652 */ break; - case 563: -#line 2725 "conf_parser.y" /* yacc.c:1646 */ + case 570: +#line 2773 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_SKILL; } -#line 5998 "conf_parser.c" /* yacc.c:1646 */ +#line 6126 "conf_parser.c" /* yacc.c:1652 */ break; - case 564: -#line 2728 "conf_parser.y" /* yacc.c:1646 */ + case 571: +#line 2776 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_NCHANGE; } -#line 6006 "conf_parser.c" /* yacc.c:1646 */ +#line 6134 "conf_parser.c" /* yacc.c:1652 */ break; - case 565: -#line 2731 "conf_parser.y" /* yacc.c:1646 */ + case 572: +#line 2779 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_REJ; } -#line 6014 "conf_parser.c" /* yacc.c:1646 */ +#line 6142 "conf_parser.c" /* yacc.c:1652 */ break; - case 566: -#line 2734 "conf_parser.y" /* yacc.c:1646 */ + case 573: +#line 2782 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_UNAUTH; } -#line 6022 "conf_parser.c" /* yacc.c:1646 */ +#line 6150 "conf_parser.c" /* yacc.c:1652 */ break; - case 567: -#line 2737 "conf_parser.y" /* yacc.c:1646 */ + case 574: +#line 2785 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_SPY; } -#line 6030 "conf_parser.c" /* yacc.c:1646 */ +#line 6158 "conf_parser.c" /* yacc.c:1652 */ break; - case 568: -#line 2740 "conf_parser.y" /* yacc.c:1646 */ + case 575: +#line 2788 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL; } -#line 6038 "conf_parser.c" /* yacc.c:1646 */ +#line 6166 "conf_parser.c" /* yacc.c:1652 */ break; - case 569: -#line 2743 "conf_parser.y" /* yacc.c:1646 */ + case 576: +#line 2791 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_OPERWALL; } -#line 6046 "conf_parser.c" /* yacc.c:1646 */ +#line 6174 "conf_parser.c" /* yacc.c:1652 */ break; - case 570: -#line 2746 "conf_parser.y" /* yacc.c:1646 */ + case 577: +#line 2794 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE; } -#line 6054 "conf_parser.c" /* yacc.c:1646 */ +#line 6182 "conf_parser.c" /* yacc.c:1652 */ break; - case 571: -#line 2749 "conf_parser.y" /* yacc.c:1646 */ + case 578: +#line 2797 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE; } -#line 6062 "conf_parser.c" /* yacc.c:1646 */ +#line 6190 "conf_parser.c" /* yacc.c:1652 */ break; - case 572: -#line 2752 "conf_parser.y" /* yacc.c:1646 */ + case 579: +#line 2800 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_WALLOP; } -#line 6070 "conf_parser.c" /* yacc.c:1646 */ +#line 6198 "conf_parser.c" /* yacc.c:1652 */ break; - case 573: -#line 2755 "conf_parser.y" /* yacc.c:1646 */ + case 580: +#line 2803 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID; } -#line 6078 "conf_parser.c" /* yacc.c:1646 */ +#line 6206 "conf_parser.c" /* yacc.c:1652 */ break; - case 574: -#line 2758 "conf_parser.y" /* yacc.c:1646 */ + case 581: +#line 2806 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_CALLERID; } -#line 6086 "conf_parser.c" /* yacc.c:1646 */ +#line 6214 "conf_parser.c" /* yacc.c:1652 */ break; - case 575: -#line 2761 "conf_parser.y" /* yacc.c:1646 */ + case 582: +#line 2809 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_LOCOPS; } -#line 6094 "conf_parser.c" /* yacc.c:1646 */ +#line 6222 "conf_parser.c" /* yacc.c:1652 */ break; - case 576: -#line 2764 "conf_parser.y" /* yacc.c:1646 */ + case 583: +#line 2812 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_REGONLY; } -#line 6102 "conf_parser.c" /* yacc.c:1646 */ +#line 6230 "conf_parser.c" /* yacc.c:1652 */ break; - case 577: -#line 2767 "conf_parser.y" /* yacc.c:1646 */ + case 584: +#line 2815 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT; } -#line 6110 "conf_parser.c" /* yacc.c:1646 */ +#line 6238 "conf_parser.c" /* yacc.c:1652 */ break; - case 578: -#line 2772 "conf_parser.y" /* yacc.c:1646 */ + case 585: +#line 2818 "conf_parser.y" /* yacc.c:1652 */ + { + ConfigFileEntry.oper_umodes |= UMODE_GOD; +} +#line 6246 "conf_parser.c" /* yacc.c:1652 */ + break; + + case 586: +#line 2823 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes = 0; } -#line 6118 "conf_parser.c" /* yacc.c:1646 */ +#line 6254 "conf_parser.c" /* yacc.c:1652 */ break; - case 582: -#line 2778 "conf_parser.y" /* yacc.c:1646 */ + case 590: +#line 2829 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_BOTS; } -#line 6126 "conf_parser.c" /* yacc.c:1646 */ +#line 6262 "conf_parser.c" /* yacc.c:1652 */ break; - case 583: -#line 2781 "conf_parser.y" /* yacc.c:1646 */ + case 591: +#line 2832 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_CCONN; } -#line 6134 "conf_parser.c" /* yacc.c:1646 */ +#line 6270 "conf_parser.c" /* yacc.c:1652 */ break; - case 584: -#line 2784 "conf_parser.y" /* yacc.c:1646 */ + case 592: +#line 2835 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_DEAF; } -#line 6142 "conf_parser.c" /* yacc.c:1646 */ +#line 6278 "conf_parser.c" /* yacc.c:1652 */ break; - case 585: -#line 2787 "conf_parser.y" /* yacc.c:1646 */ + case 593: +#line 2838 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG; } -#line 6150 "conf_parser.c" /* yacc.c:1646 */ +#line 6286 "conf_parser.c" /* yacc.c:1652 */ break; - case 586: -#line 2790 "conf_parser.y" /* yacc.c:1646 */ + case 594: +#line 2841 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_FULL; } -#line 6158 "conf_parser.c" /* yacc.c:1646 */ +#line 6294 "conf_parser.c" /* yacc.c:1652 */ break; - case 587: -#line 2793 "conf_parser.y" /* yacc.c:1646 */ + case 595: +#line 2844 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_SKILL; } -#line 6166 "conf_parser.c" /* yacc.c:1646 */ +#line 6302 "conf_parser.c" /* yacc.c:1652 */ break; - case 588: -#line 2796 "conf_parser.y" /* yacc.c:1646 */ + case 596: +#line 2847 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN; } -#line 6174 "conf_parser.c" /* yacc.c:1646 */ +#line 6310 "conf_parser.c" /* yacc.c:1652 */ break; - case 589: -#line 2799 "conf_parser.y" /* yacc.c:1646 */ + case 597: +#line 2850 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE; } -#line 6182 "conf_parser.c" /* yacc.c:1646 */ +#line 6318 "conf_parser.c" /* yacc.c:1652 */ break; - case 590: -#line 2802 "conf_parser.y" /* yacc.c:1646 */ + case 598: +#line 2853 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_REJ; } -#line 6190 "conf_parser.c" /* yacc.c:1646 */ +#line 6326 "conf_parser.c" /* yacc.c:1652 */ break; - case 591: -#line 2805 "conf_parser.y" /* yacc.c:1646 */ + case 599: +#line 2856 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH; } -#line 6198 "conf_parser.c" /* yacc.c:1646 */ +#line 6334 "conf_parser.c" /* yacc.c:1652 */ break; - case 592: -#line 2808 "conf_parser.y" /* yacc.c:1646 */ + case 600: +#line 2859 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_SPY; } -#line 6206 "conf_parser.c" /* yacc.c:1646 */ +#line 6342 "conf_parser.c" /* yacc.c:1652 */ break; - case 593: -#line 2811 "conf_parser.y" /* yacc.c:1646 */ + case 601: +#line 2862 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL; } -#line 6214 "conf_parser.c" /* yacc.c:1646 */ +#line 6350 "conf_parser.c" /* yacc.c:1652 */ break; - case 594: -#line 2814 "conf_parser.y" /* yacc.c:1646 */ + case 602: +#line 2865 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL; } -#line 6222 "conf_parser.c" /* yacc.c:1646 */ +#line 6358 "conf_parser.c" /* yacc.c:1652 */ break; - case 595: -#line 2817 "conf_parser.y" /* yacc.c:1646 */ + case 603: +#line 2868 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE; } -#line 6230 "conf_parser.c" /* yacc.c:1646 */ +#line 6366 "conf_parser.c" /* yacc.c:1652 */ break; - case 596: -#line 2820 "conf_parser.y" /* yacc.c:1646 */ + case 604: +#line 2871 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE; } -#line 6238 "conf_parser.c" /* yacc.c:1646 */ +#line 6374 "conf_parser.c" /* yacc.c:1652 */ break; - case 597: -#line 2823 "conf_parser.y" /* yacc.c:1646 */ + case 605: +#line 2874 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP; } -#line 6246 "conf_parser.c" /* yacc.c:1646 */ +#line 6382 "conf_parser.c" /* yacc.c:1652 */ break; - case 598: -#line 2826 "conf_parser.y" /* yacc.c:1646 */ + case 606: +#line 2877 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID; } -#line 6254 "conf_parser.c" /* yacc.c:1646 */ +#line 6390 "conf_parser.c" /* yacc.c:1652 */ break; - case 599: -#line 2829 "conf_parser.y" /* yacc.c:1646 */ + case 607: +#line 2880 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID; } -#line 6262 "conf_parser.c" /* yacc.c:1646 */ +#line 6398 "conf_parser.c" /* yacc.c:1652 */ break; - case 600: -#line 2832 "conf_parser.y" /* yacc.c:1646 */ + case 608: +#line 2883 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS; } -#line 6270 "conf_parser.c" /* yacc.c:1646 */ +#line 6406 "conf_parser.c" /* yacc.c:1652 */ break; - case 601: -#line 2835 "conf_parser.y" /* yacc.c:1646 */ + case 609: +#line 2886 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY; } -#line 6278 "conf_parser.c" /* yacc.c:1646 */ +#line 6414 "conf_parser.c" /* yacc.c:1652 */ break; - case 602: -#line 2838 "conf_parser.y" /* yacc.c:1646 */ + case 610: +#line 2889 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT; } -#line 6286 "conf_parser.c" /* yacc.c:1646 */ +#line 6422 "conf_parser.c" /* yacc.c:1652 */ break; - case 603: -#line 2843 "conf_parser.y" /* yacc.c:1646 */ + case 611: +#line 2892 "conf_parser.y" /* yacc.c:1652 */ + { + ConfigFileEntry.oper_only_umodes |= UMODE_GOD; +} +#line 6430 "conf_parser.c" /* yacc.c:1652 */ + break; + + case 612: +#line 2897 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.min_nonwildcard = (yyvsp[-1].number); } -#line 6294 "conf_parser.c" /* yacc.c:1646 */ +#line 6438 "conf_parser.c" /* yacc.c:1652 */ break; - case 604: -#line 2848 "conf_parser.y" /* yacc.c:1646 */ + case 613: +#line 2902 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.min_nonwildcard_simple = (yyvsp[-1].number); } -#line 6302 "conf_parser.c" /* yacc.c:1646 */ +#line 6446 "conf_parser.c" /* yacc.c:1652 */ break; - case 605: -#line 2853 "conf_parser.y" /* yacc.c:1646 */ + case 614: +#line 2907 "conf_parser.y" /* yacc.c:1652 */ { ConfigFileEntry.default_floodcount = (yyvsp[-1].number); } -#line 6310 "conf_parser.c" /* yacc.c:1646 */ +#line 6454 "conf_parser.c" /* yacc.c:1652 */ break; - case 622: -#line 2876 "conf_parser.y" /* yacc.c:1646 */ + case 615: +#line 2912 "conf_parser.y" /* yacc.c:1652 */ + { + ConfigFileEntry.tkline_max = (yyvsp[-1].number); +} +#line 6462 "conf_parser.c" /* yacc.c:1652 */ + break; + + case 633: +#line 2935 "conf_parser.y" /* yacc.c:1652 */ { ConfigChannel.disable_fake_channels = yylval.number; } -#line 6318 "conf_parser.c" /* yacc.c:1646 */ +#line 6470 "conf_parser.c" /* yacc.c:1652 */ break; - case 623: -#line 2881 "conf_parser.y" /* yacc.c:1646 */ + case 634: +#line 2940 "conf_parser.y" /* yacc.c:1652 */ { ConfigChannel.knock_delay = (yyvsp[-1].number); } -#line 6326 "conf_parser.c" /* yacc.c:1646 */ +#line 6478 "conf_parser.c" /* yacc.c:1652 */ break; - case 624: -#line 2886 "conf_parser.y" /* yacc.c:1646 */ + case 635: +#line 2945 "conf_parser.y" /* yacc.c:1652 */ { ConfigChannel.knock_delay_channel = (yyvsp[-1].number); } -#line 6334 "conf_parser.c" /* yacc.c:1646 */ +#line 6486 "conf_parser.c" /* yacc.c:1652 */ break; - case 625: -#line 2891 "conf_parser.y" /* yacc.c:1646 */ + case 636: +#line 2950 "conf_parser.y" /* yacc.c:1652 */ { ConfigChannel.max_chans_per_user = (yyvsp[-1].number); } -#line 6342 "conf_parser.c" /* yacc.c:1646 */ +#line 6494 "conf_parser.c" /* yacc.c:1652 */ break; - case 626: -#line 2896 "conf_parser.y" /* yacc.c:1646 */ + case 637: +#line 2955 "conf_parser.y" /* yacc.c:1652 */ { ConfigChannel.max_chans_per_oper = (yyvsp[-1].number); } -#line 6350 "conf_parser.c" /* yacc.c:1646 */ +#line 6502 "conf_parser.c" /* yacc.c:1652 */ break; - case 627: -#line 2901 "conf_parser.y" /* yacc.c:1646 */ + case 638: +#line 2960 "conf_parser.y" /* yacc.c:1652 */ { ConfigChannel.max_bans = (yyvsp[-1].number); } -#line 6358 "conf_parser.c" /* yacc.c:1646 */ +#line 6510 "conf_parser.c" /* yacc.c:1652 */ break; - case 628: -#line 2906 "conf_parser.y" /* yacc.c:1646 */ + case 639: +#line 2965 "conf_parser.y" /* yacc.c:1652 */ { ConfigChannel.default_split_user_count = (yyvsp[-1].number); } -#line 6366 "conf_parser.c" /* yacc.c:1646 */ +#line 6518 "conf_parser.c" /* yacc.c:1652 */ break; - case 629: -#line 2911 "conf_parser.y" /* yacc.c:1646 */ + case 640: +#line 2970 "conf_parser.y" /* yacc.c:1652 */ { ConfigChannel.default_split_server_count = (yyvsp[-1].number); } -#line 6374 "conf_parser.c" /* yacc.c:1646 */ +#line 6526 "conf_parser.c" /* yacc.c:1652 */ break; - case 630: -#line 2916 "conf_parser.y" /* yacc.c:1646 */ + case 641: +#line 2975 "conf_parser.y" /* yacc.c:1652 */ { ConfigChannel.no_create_on_split = yylval.number; } -#line 6382 "conf_parser.c" /* yacc.c:1646 */ +#line 6534 "conf_parser.c" /* yacc.c:1652 */ break; - case 631: -#line 2921 "conf_parser.y" /* yacc.c:1646 */ + case 642: +#line 2980 "conf_parser.y" /* yacc.c:1652 */ { ConfigChannel.no_join_on_split = yylval.number; } -#line 6390 "conf_parser.c" /* yacc.c:1646 */ +#line 6542 "conf_parser.c" /* yacc.c:1652 */ break; - case 632: -#line 2926 "conf_parser.y" /* yacc.c:1646 */ + case 643: +#line 2985 "conf_parser.y" /* yacc.c:1652 */ { GlobalSetOptions.joinfloodcount = yylval.number; } -#line 6398 "conf_parser.c" /* yacc.c:1646 */ +#line 6550 "conf_parser.c" /* yacc.c:1652 */ break; - case 633: -#line 2931 "conf_parser.y" /* yacc.c:1646 */ + case 644: +#line 2990 "conf_parser.y" /* yacc.c:1652 */ { GlobalSetOptions.joinfloodtime = (yyvsp[-1].number); } -#line 6406 "conf_parser.c" /* yacc.c:1646 */ +#line 6558 "conf_parser.c" /* yacc.c:1652 */ + break; + + case 645: +#line 2995 "conf_parser.y" /* yacc.c:1652 */ + { + ConfigChannel.default_modes = 0; +} +#line 6566 "conf_parser.c" /* yacc.c:1652 */ + break; + + case 649: +#line 3001 "conf_parser.y" /* yacc.c:1652 */ + { + ConfigChannel.default_modes |= MODE_PRIVATE; +} +#line 6574 "conf_parser.c" /* yacc.c:1652 */ break; - case 646: -#line 2951 "conf_parser.y" /* yacc.c:1646 */ + case 650: +#line 3004 "conf_parser.y" /* yacc.c:1652 */ + { + ConfigChannel.default_modes |= MODE_SECRET; +} +#line 6582 "conf_parser.c" /* yacc.c:1652 */ + break; + + case 651: +#line 3007 "conf_parser.y" /* yacc.c:1652 */ + { + ConfigChannel.default_modes |= MODE_MODERATED; +} +#line 6590 "conf_parser.c" /* yacc.c:1652 */ + break; + + case 652: +#line 3010 "conf_parser.y" /* yacc.c:1652 */ + { + ConfigChannel.default_modes |= MODE_TOPICLIMIT; +} +#line 6598 "conf_parser.c" /* yacc.c:1652 */ + break; + + case 653: +#line 3013 "conf_parser.y" /* yacc.c:1652 */ + { + ConfigChannel.default_modes |= MODE_INVITEONLY; +} +#line 6606 "conf_parser.c" /* yacc.c:1652 */ + break; + + case 654: +#line 3016 "conf_parser.y" /* yacc.c:1652 */ + { + ConfigChannel.default_modes |= MODE_NOPRIVMSGS; +} +#line 6614 "conf_parser.c" /* yacc.c:1652 */ + break; + + case 667: +#line 3036 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) ConfigServerHide.flatten_links = yylval.number; } -#line 6415 "conf_parser.c" /* yacc.c:1646 */ +#line 6623 "conf_parser.c" /* yacc.c:1652 */ break; - case 647: -#line 2957 "conf_parser.y" /* yacc.c:1646 */ + case 668: +#line 3042 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) ConfigServerHide.disable_remote_commands = yylval.number; } -#line 6424 "conf_parser.c" /* yacc.c:1646 */ +#line 6632 "conf_parser.c" /* yacc.c:1652 */ break; - case 648: -#line 2963 "conf_parser.y" /* yacc.c:1646 */ + case 669: +#line 3048 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) ConfigServerHide.hide_servers = yylval.number; } -#line 6433 "conf_parser.c" /* yacc.c:1646 */ +#line 6641 "conf_parser.c" /* yacc.c:1652 */ break; - case 649: -#line 2969 "conf_parser.y" /* yacc.c:1646 */ + case 670: +#line 3054 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) ConfigServerHide.hide_services = yylval.number; } -#line 6442 "conf_parser.c" /* yacc.c:1646 */ +#line 6650 "conf_parser.c" /* yacc.c:1652 */ break; - case 650: -#line 2975 "conf_parser.y" /* yacc.c:1646 */ + case 671: +#line 3060 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) { @@ -6450,11 +6658,11 @@ yyreduce: ConfigServerHide.hidden_name = xstrdup(yylval.string); } } -#line 6454 "conf_parser.c" /* yacc.c:1646 */ +#line 6662 "conf_parser.c" /* yacc.c:1652 */ break; - case 651: -#line 2984 "conf_parser.y" /* yacc.c:1646 */ + case 672: +#line 3069 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) { @@ -6467,29 +6675,29 @@ yyreduce: ConfigServerHide.links_delay = (yyvsp[-1].number); } } -#line 6471 "conf_parser.c" /* yacc.c:1646 */ +#line 6679 "conf_parser.c" /* yacc.c:1652 */ break; - case 652: -#line 2998 "conf_parser.y" /* yacc.c:1646 */ + case 673: +#line 3083 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) ConfigServerHide.hidden = yylval.number; } -#line 6480 "conf_parser.c" /* yacc.c:1646 */ +#line 6688 "conf_parser.c" /* yacc.c:1652 */ break; - case 653: -#line 3004 "conf_parser.y" /* yacc.c:1646 */ + case 674: +#line 3089 "conf_parser.y" /* yacc.c:1652 */ { if (conf_parser_ctx.pass == 2) ConfigServerHide.hide_server_ips = yylval.number; } -#line 6489 "conf_parser.c" /* yacc.c:1646 */ +#line 6697 "conf_parser.c" /* yacc.c:1652 */ break; -#line 6493 "conf_parser.c" /* yacc.c:1646 */ +#line 6701 "conf_parser.c" /* yacc.c:1652 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -6514,14 +6722,13 @@ yyreduce: /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTOKENS]; + { + const int yylhs = yyr1[yyn] - YYNTOKENS; + const int yyi = yypgoto[yylhs] + *yyssp; + yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp + ? yytable[yyi] + : yydefgoto[yylhs]); + } goto yynewstate; @@ -6604,12 +6811,10 @@ yyerrlab: | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (/*CONSTCOND*/ 0) - goto yyerrorlab; + /* Pacify compilers when the user code never invokes YYERROR and the + label yyerrorlab therefore never appears in user code. */ + if (0) + YYERROR; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ @@ -6671,6 +6876,7 @@ yyacceptlab: yyresult = 0; goto yyreturn; + /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ @@ -6678,6 +6884,7 @@ yyabortlab: yyresult = 1; goto yyreturn; + #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | @@ -6688,6 +6895,10 @@ yyexhaustedlab: /* Fall through. */ #endif + +/*-----------------------------------------------------. +| yyreturn -- parsing is finished, return the result. | +`-----------------------------------------------------*/ yyreturn: if (yychar != YYEMPTY) { diff --git a/src/conf_parser.h b/src/conf_parser.h index 8226c15..0643b79 100644 --- a/src/conf_parser.h +++ b/src/conf_parser.h @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.0.2. */ +/* A Bison parser, made by GNU Bison 3.3.2. */ /* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,6 +31,9 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + #ifndef YY_YY_CONF_PARSER_H_INCLUDED # define YY_YY_CONF_PARSER_H_INCLUDED /* Debug traces. */ @@ -64,211 +68,221 @@ extern int yydebug; CONNECTFREQ = 274, CYCLE_ON_HOST_CHANGE = 275, DEFAULT_FLOODCOUNT = 276, - DEFAULT_SPLIT_SERVER_COUNT = 277, - DEFAULT_SPLIT_USER_COUNT = 278, - DENY = 279, - DESCRIPTION = 280, - DIE = 281, - DISABLE_AUTH = 282, - DISABLE_FAKE_CHANNELS = 283, - DISABLE_REMOTE_COMMANDS = 284, - DOTS_IN_IDENT = 285, - EGDPOOL_PATH = 286, - EMAIL = 287, - ENCRYPTED = 288, - EXCEED_LIMIT = 289, - EXEMPT = 290, - FAILED_OPER_NOTICE = 291, - FLATTEN_LINKS = 292, - GECOS = 293, - GENERAL = 294, - GLINE = 295, - GLINE_DURATION = 296, - GLINE_ENABLE = 297, - GLINE_EXEMPT = 298, - GLINE_MIN_CIDR = 299, - GLINE_MIN_CIDR6 = 300, - GLINE_REQUEST_DURATION = 301, - GLOBAL_KILL = 302, - HAVENT_READ_CONF = 303, - HIDDEN = 304, - HIDDEN_NAME = 305, - HIDE_IDLE_FROM_OPERS = 306, - HIDE_SERVER_IPS = 307, - HIDE_SERVERS = 308, - HIDE_SERVICES = 309, - HIDE_SPOOF_IPS = 310, - HOST = 311, - HUB = 312, - HUB_MASK = 313, - IGNORE_BOGUS_TS = 314, - INVISIBLE_ON_CONNECT = 315, - IP = 316, - IRCD_AUTH = 317, - IRCD_FLAGS = 318, - IRCD_SID = 319, - JOIN_FLOOD_COUNT = 320, - JOIN_FLOOD_TIME = 321, - KILL = 322, - KILL_CHASE_TIME_LIMIT = 323, - KLINE = 324, - KLINE_EXEMPT = 325, - KNOCK_DELAY = 326, - KNOCK_DELAY_CHANNEL = 327, - LEAF_MASK = 328, - LINKS_DELAY = 329, - LISTEN = 330, - MASK = 331, - MAX_ACCEPT = 332, - MAX_BANS = 333, - MAX_CHANS_PER_OPER = 334, - MAX_CHANS_PER_USER = 335, - MAX_GLOBAL = 336, - MAX_IDENT = 337, - MAX_IDLE = 338, - MAX_LOCAL = 339, - MAX_NICK_CHANGES = 340, - MAX_NICK_LENGTH = 341, - MAX_NICK_TIME = 342, - MAX_NUMBER = 343, - MAX_TARGETS = 344, - MAX_TOPIC_LENGTH = 345, - MAX_WATCH = 346, - MIN_IDLE = 347, - MIN_NONWILDCARD = 348, - MIN_NONWILDCARD_SIMPLE = 349, - MODULE = 350, - MODULES = 351, - MOTD = 352, - NAME = 353, - NEED_IDENT = 354, - NEED_PASSWORD = 355, - NETWORK_DESC = 356, - NETWORK_NAME = 357, - NICK = 358, - NO_CREATE_ON_SPLIT = 359, - NO_JOIN_ON_SPLIT = 360, - NO_OPER_FLOOD = 361, - NO_TILDE = 362, - NUMBER = 363, - NUMBER_PER_CIDR = 364, - NUMBER_PER_IP = 365, - OPER_ONLY_UMODES = 366, - OPER_PASS_RESV = 367, - OPER_UMODES = 368, - OPERATOR = 369, - OPERS_BYPASS_CALLERID = 370, - PACE_WAIT = 371, - PACE_WAIT_SIMPLE = 372, - PASSWORD = 373, - PATH = 374, - PING_COOKIE = 375, - PING_TIME = 376, - PORT = 377, - QSTRING = 378, - RANDOM_IDLE = 379, - REASON = 380, - REDIRPORT = 381, - REDIRSERV = 382, - REHASH = 383, - REMOTE = 384, - REMOTEBAN = 385, - RESV = 386, - RESV_EXEMPT = 387, - RSA_PRIVATE_KEY_FILE = 388, - RSA_PUBLIC_KEY_FILE = 389, - SECONDS = 390, - MINUTES = 391, - HOURS = 392, - DAYS = 393, - WEEKS = 394, - MONTHS = 395, - YEARS = 396, - SEND_PASSWORD = 397, - SENDQ = 398, - SERVERHIDE = 399, - SERVERINFO = 400, - SHORT_MOTD = 401, - SPOOF = 402, - SPOOF_NOTICE = 403, - SQUIT = 404, - SSL_CERTIFICATE_FILE = 405, - SSL_CERTIFICATE_FINGERPRINT = 406, - SSL_CONNECTION_REQUIRED = 407, - SSL_DH_PARAM_FILE = 408, - STATS_E_DISABLED = 409, - STATS_I_OPER_ONLY = 410, - STATS_K_OPER_ONLY = 411, - STATS_O_OPER_ONLY = 412, - STATS_P_OPER_ONLY = 413, - STATS_U_OPER_ONLY = 414, - T_ALL = 415, - T_BOTS = 416, - T_CALLERID = 417, - T_CCONN = 418, - T_CLUSTER = 419, - T_DEAF = 420, - T_DEBUG = 421, - T_DLINE = 422, - T_EXTERNAL = 423, - T_FARCONNECT = 424, - T_FILE = 425, - T_FULL = 426, - T_GLOBOPS = 427, - T_INVISIBLE = 428, - T_IPV4 = 429, - T_IPV6 = 430, - T_LOCOPS = 431, - T_LOG = 432, - T_MAX_CLIENTS = 433, - T_NCHANGE = 434, - T_NONONREG = 435, - T_OPERWALL = 436, - T_RECVQ = 437, - T_REJ = 438, - T_RESTART = 439, - T_SERVER = 440, - T_SERVICE = 441, - T_SERVICES_NAME = 442, - T_SERVNOTICE = 443, - T_SET = 444, - T_SHARED = 445, - T_SIZE = 446, - T_SKILL = 447, - T_SOFTCALLERID = 448, - T_SPY = 449, - T_SSL = 450, - T_SSL_CIPHER_LIST = 451, - T_SSL_CLIENT_METHOD = 452, - T_SSL_SERVER_METHOD = 453, - T_SSLV3 = 454, - T_TLSV1 = 455, - T_UMODES = 456, - T_UNAUTH = 457, - T_UNDLINE = 458, - T_UNLIMITED = 459, - T_UNRESV = 460, - T_UNXLINE = 461, - T_WALLOP = 462, - T_WALLOPS = 463, - T_WEBIRC = 464, - TBOOL = 465, - THROTTLE_TIME = 466, - TKLINE_EXPIRE_NOTICES = 467, - TMASKED = 468, - TRUE_NO_OPER_FLOOD = 469, - TS_MAX_DELTA = 470, - TS_WARN_DELTA = 471, - TWODOTS = 472, - TYPE = 473, - UNKLINE = 474, - USE_EGD = 475, - USE_LOGGING = 476, - USER = 477, - VHOST = 478, - VHOST6 = 479, - WARN_NO_NLINE = 480, - XLINE = 481 + DEFAULT_MODES = 277, + DEFAULT_SPLIT_SERVER_COUNT = 278, + DEFAULT_SPLIT_USER_COUNT = 279, + DENY = 280, + DESCRIPTION = 281, + DIE = 282, + DISABLE_AUTH = 283, + DISABLE_FAKE_CHANNELS = 284, + DISABLE_REMOTE_COMMANDS = 285, + DOTS_IN_IDENT = 286, + EGDPOOL_PATH = 287, + EMAIL = 288, + ENCRYPTED = 289, + EXCEED_LIMIT = 290, + EXEMPT = 291, + FAILED_OPER_NOTICE = 292, + FLATTEN_LINKS = 293, + GECOS = 294, + GENERAL = 295, + GLINE = 296, + GLINE_DURATION = 297, + GLINE_ENABLE = 298, + GLINE_EXEMPT = 299, + GLINE_MIN_CIDR = 300, + GLINE_MIN_CIDR6 = 301, + GLINE_REQUEST_DURATION = 302, + GLOBAL_KILL = 303, + HAVENT_READ_CONF = 304, + HIDDEN = 305, + HIDDEN_NAME = 306, + HIDE_IDLE_FROM_OPERS = 307, + HIDE_SERVER_IPS = 308, + HIDE_SERVERS = 309, + HIDE_SERVICES = 310, + HIDE_SPOOF_IPS = 311, + HOST = 312, + HUB = 313, + HUB_MASK = 314, + IGNORE_BOGUS_TS = 315, + INVISIBLE_ON_CONNECT = 316, + IP = 317, + IRCD_AUTH = 318, + IRCD_FLAGS = 319, + IRCD_SID = 320, + JOIN_FLOOD_COUNT = 321, + JOIN_FLOOD_TIME = 322, + KILL = 323, + KILL_CHASE_TIME_LIMIT = 324, + KLINE = 325, + KLINE_EXEMPT = 326, + KNOCK_DELAY = 327, + KNOCK_DELAY_CHANNEL = 328, + LEAF_MASK = 329, + LINKS_DELAY = 330, + LISTEN = 331, + MASK = 332, + MAX_ACCEPT = 333, + MAX_BANS = 334, + MAX_CHANS_PER_OPER = 335, + MAX_CHANS_PER_USER = 336, + MAX_GLOBAL = 337, + MAX_IDENT = 338, + MAX_IDLE = 339, + MAX_LOCAL = 340, + MAX_NICK_CHANGES = 341, + MAX_NICK_LENGTH = 342, + MAX_NICK_TIME = 343, + MAX_NUMBER = 344, + MAX_TARGETS = 345, + MAX_TOPIC_LENGTH = 346, + MAX_WATCH = 347, + MIN_IDLE = 348, + MIN_NONWILDCARD = 349, + MIN_NONWILDCARD_SIMPLE = 350, + MODULE = 351, + MODULES = 352, + MOTD = 353, + NAME = 354, + NEED_IDENT = 355, + NEED_PASSWORD = 356, + NETWORK_DESC = 357, + NETWORK_NAME = 358, + NICK = 359, + NO_CREATE_ON_SPLIT = 360, + NO_JOIN_ON_SPLIT = 361, + NO_OPER_FLOOD = 362, + NO_TILDE = 363, + NUMBER = 364, + NUMBER_PER_CIDR = 365, + NUMBER_PER_IP = 366, + OPER_ONLY_UMODES = 367, + OPER_PASS_RESV = 368, + OPER_UMODES = 369, + OPERATOR = 370, + OPERS_BYPASS_CALLERID = 371, + PACE_WAIT = 372, + PACE_WAIT_SIMPLE = 373, + PASSWORD = 374, + PATH = 375, + PING_COOKIE = 376, + PING_TIME = 377, + PORT = 378, + QSTRING = 379, + RANDOM_IDLE = 380, + REASON = 381, + REDIRPORT = 382, + REDIRSERV = 383, + REHASH = 384, + REMOTE = 385, + REMOTEBAN = 386, + RESV = 387, + RESV_EXEMPT = 388, + RSA_PRIVATE_KEY_FILE = 389, + RSA_PUBLIC_KEY_FILE = 390, + SECONDS = 391, + MINUTES = 392, + HOURS = 393, + DAYS = 394, + WEEKS = 395, + MONTHS = 396, + YEARS = 397, + SEND_PASSWORD = 398, + SENDQ = 399, + SERVERHIDE = 400, + SERVERINFO = 401, + SHORT_MOTD = 402, + SPOOF = 403, + SPOOF_NOTICE = 404, + SQUIT = 405, + SSL_CERTIFICATE_FILE = 406, + SSL_CERTIFICATE_FINGERPRINT = 407, + SSL_CONNECTION_REQUIRED = 408, + SSL_DH_PARAM_FILE = 409, + STATS_E_DISABLED = 410, + STATS_I_OPER_ONLY = 411, + STATS_K_OPER_ONLY = 412, + STATS_O_OPER_ONLY = 413, + STATS_P_OPER_ONLY = 414, + STATS_U_OPER_ONLY = 415, + T_ALL = 416, + T_BOTS = 417, + T_CALLERID = 418, + T_CCONN = 419, + T_CLUSTER = 420, + T_DEAF = 421, + T_DEBUG = 422, + T_DLINE = 423, + T_EXTERNAL = 424, + T_FARCONNECT = 425, + T_FILE = 426, + T_FULL = 427, + T_GCHANOPS = 428, + T_GLOBOPS = 429, + T_INVISIBLE = 430, + T_INVITEONLY = 431, + T_IPV4 = 432, + T_IPV6 = 433, + T_LOCOPS = 434, + T_LOG = 435, + T_MAX_CLIENTS = 436, + T_MODERATED = 437, + T_NCHANGE = 438, + T_NONONREG = 439, + T_NOPRIVMSGS = 440, + T_OPERWALL = 441, + T_PRIVATE = 442, + T_RECVQ = 443, + T_REJ = 444, + T_RESTART = 445, + T_SECRET = 446, + T_SERVER = 447, + T_SERVICE = 448, + T_SERVICES_NAME = 449, + T_SERVNOTICE = 450, + T_SET = 451, + T_SHARED = 452, + T_SIZE = 453, + T_SKILL = 454, + T_SOFTCALLERID = 455, + T_SPY = 456, + T_SSL = 457, + T_SSL_CIPHER_LIST = 458, + T_SSL_CLIENT_METHOD = 459, + T_SSL_SERVER_METHOD = 460, + T_SSLV3 = 461, + T_TLSV1 = 462, + T_TOPICLIMIT = 463, + T_UMODES = 464, + T_UNAUTH = 465, + T_UNDLINE = 466, + T_UNLIMITED = 467, + T_UNRESV = 468, + T_UNXLINE = 469, + T_WALLOP = 470, + T_WALLOPS = 471, + T_WEBIRC = 472, + TBOOL = 473, + THROTTLE_TIME = 474, + TKLINE = 475, + TKLINE_EXPIRE_NOTICES = 476, + TKLINE_TIME = 477, + TMASKED = 478, + TRUE_NO_OPER_FLOOD = 479, + TS_MAX_DELTA = 480, + TS_WARN_DELTA = 481, + TWODOTS = 482, + TYPE = 483, + UNKLINE = 484, + USE_EGD = 485, + USE_LOGGING = 486, + USER = 487, + VHOST = 488, + VHOST6 = 489, + WARN_NO_NLINE = 490, + XLINE = 491 }; #endif /* Tokens. */ @@ -291,224 +305,236 @@ extern int yydebug; #define CONNECTFREQ 274 #define CYCLE_ON_HOST_CHANGE 275 #define DEFAULT_FLOODCOUNT 276 -#define DEFAULT_SPLIT_SERVER_COUNT 277 -#define DEFAULT_SPLIT_USER_COUNT 278 -#define DENY 279 -#define DESCRIPTION 280 -#define DIE 281 -#define DISABLE_AUTH 282 -#define DISABLE_FAKE_CHANNELS 283 -#define DISABLE_REMOTE_COMMANDS 284 -#define DOTS_IN_IDENT 285 -#define EGDPOOL_PATH 286 -#define EMAIL 287 -#define ENCRYPTED 288 -#define EXCEED_LIMIT 289 -#define EXEMPT 290 -#define FAILED_OPER_NOTICE 291 -#define FLATTEN_LINKS 292 -#define GECOS 293 -#define GENERAL 294 -#define GLINE 295 -#define GLINE_DURATION 296 -#define GLINE_ENABLE 297 -#define GLINE_EXEMPT 298 -#define GLINE_MIN_CIDR 299 -#define GLINE_MIN_CIDR6 300 -#define GLINE_REQUEST_DURATION 301 -#define GLOBAL_KILL 302 -#define HAVENT_READ_CONF 303 -#define HIDDEN 304 -#define HIDDEN_NAME 305 -#define HIDE_IDLE_FROM_OPERS 306 -#define HIDE_SERVER_IPS 307 -#define HIDE_SERVERS 308 -#define HIDE_SERVICES 309 -#define HIDE_SPOOF_IPS 310 -#define HOST 311 -#define HUB 312 -#define HUB_MASK 313 -#define IGNORE_BOGUS_TS 314 -#define INVISIBLE_ON_CONNECT 315 -#define IP 316 -#define IRCD_AUTH 317 -#define IRCD_FLAGS 318 -#define IRCD_SID 319 -#define JOIN_FLOOD_COUNT 320 -#define JOIN_FLOOD_TIME 321 -#define KILL 322 -#define KILL_CHASE_TIME_LIMIT 323 -#define KLINE 324 -#define KLINE_EXEMPT 325 -#define KNOCK_DELAY 326 -#define KNOCK_DELAY_CHANNEL 327 -#define LEAF_MASK 328 -#define LINKS_DELAY 329 -#define LISTEN 330 -#define MASK 331 -#define MAX_ACCEPT 332 -#define MAX_BANS 333 -#define MAX_CHANS_PER_OPER 334 -#define MAX_CHANS_PER_USER 335 -#define MAX_GLOBAL 336 -#define MAX_IDENT 337 -#define MAX_IDLE 338 -#define MAX_LOCAL 339 -#define MAX_NICK_CHANGES 340 -#define MAX_NICK_LENGTH 341 -#define MAX_NICK_TIME 342 -#define MAX_NUMBER 343 -#define MAX_TARGETS 344 -#define MAX_TOPIC_LENGTH 345 -#define MAX_WATCH 346 -#define MIN_IDLE 347 -#define MIN_NONWILDCARD 348 -#define MIN_NONWILDCARD_SIMPLE 349 -#define MODULE 350 -#define MODULES 351 -#define MOTD 352 -#define NAME 353 -#define NEED_IDENT 354 -#define NEED_PASSWORD 355 -#define NETWORK_DESC 356 -#define NETWORK_NAME 357 -#define NICK 358 -#define NO_CREATE_ON_SPLIT 359 -#define NO_JOIN_ON_SPLIT 360 -#define NO_OPER_FLOOD 361 -#define NO_TILDE 362 -#define NUMBER 363 -#define NUMBER_PER_CIDR 364 -#define NUMBER_PER_IP 365 -#define OPER_ONLY_UMODES 366 -#define OPER_PASS_RESV 367 -#define OPER_UMODES 368 -#define OPERATOR 369 -#define OPERS_BYPASS_CALLERID 370 -#define PACE_WAIT 371 -#define PACE_WAIT_SIMPLE 372 -#define PASSWORD 373 -#define PATH 374 -#define PING_COOKIE 375 -#define PING_TIME 376 -#define PORT 377 -#define QSTRING 378 -#define RANDOM_IDLE 379 -#define REASON 380 -#define REDIRPORT 381 -#define REDIRSERV 382 -#define REHASH 383 -#define REMOTE 384 -#define REMOTEBAN 385 -#define RESV 386 -#define RESV_EXEMPT 387 -#define RSA_PRIVATE_KEY_FILE 388 -#define RSA_PUBLIC_KEY_FILE 389 -#define SECONDS 390 -#define MINUTES 391 -#define HOURS 392 -#define DAYS 393 -#define WEEKS 394 -#define MONTHS 395 -#define YEARS 396 -#define SEND_PASSWORD 397 -#define SENDQ 398 -#define SERVERHIDE 399 -#define SERVERINFO 400 -#define SHORT_MOTD 401 -#define SPOOF 402 -#define SPOOF_NOTICE 403 -#define SQUIT 404 -#define SSL_CERTIFICATE_FILE 405 -#define SSL_CERTIFICATE_FINGERPRINT 406 -#define SSL_CONNECTION_REQUIRED 407 -#define SSL_DH_PARAM_FILE 408 -#define STATS_E_DISABLED 409 -#define STATS_I_OPER_ONLY 410 -#define STATS_K_OPER_ONLY 411 -#define STATS_O_OPER_ONLY 412 -#define STATS_P_OPER_ONLY 413 -#define STATS_U_OPER_ONLY 414 -#define T_ALL 415 -#define T_BOTS 416 -#define T_CALLERID 417 -#define T_CCONN 418 -#define T_CLUSTER 419 -#define T_DEAF 420 -#define T_DEBUG 421 -#define T_DLINE 422 -#define T_EXTERNAL 423 -#define T_FARCONNECT 424 -#define T_FILE 425 -#define T_FULL 426 -#define T_GLOBOPS 427 -#define T_INVISIBLE 428 -#define T_IPV4 429 -#define T_IPV6 430 -#define T_LOCOPS 431 -#define T_LOG 432 -#define T_MAX_CLIENTS 433 -#define T_NCHANGE 434 -#define T_NONONREG 435 -#define T_OPERWALL 436 -#define T_RECVQ 437 -#define T_REJ 438 -#define T_RESTART 439 -#define T_SERVER 440 -#define T_SERVICE 441 -#define T_SERVICES_NAME 442 -#define T_SERVNOTICE 443 -#define T_SET 444 -#define T_SHARED 445 -#define T_SIZE 446 -#define T_SKILL 447 -#define T_SOFTCALLERID 448 -#define T_SPY 449 -#define T_SSL 450 -#define T_SSL_CIPHER_LIST 451 -#define T_SSL_CLIENT_METHOD 452 -#define T_SSL_SERVER_METHOD 453 -#define T_SSLV3 454 -#define T_TLSV1 455 -#define T_UMODES 456 -#define T_UNAUTH 457 -#define T_UNDLINE 458 -#define T_UNLIMITED 459 -#define T_UNRESV 460 -#define T_UNXLINE 461 -#define T_WALLOP 462 -#define T_WALLOPS 463 -#define T_WEBIRC 464 -#define TBOOL 465 -#define THROTTLE_TIME 466 -#define TKLINE_EXPIRE_NOTICES 467 -#define TMASKED 468 -#define TRUE_NO_OPER_FLOOD 469 -#define TS_MAX_DELTA 470 -#define TS_WARN_DELTA 471 -#define TWODOTS 472 -#define TYPE 473 -#define UNKLINE 474 -#define USE_EGD 475 -#define USE_LOGGING 476 -#define USER 477 -#define VHOST 478 -#define VHOST6 479 -#define WARN_NO_NLINE 480 -#define XLINE 481 +#define DEFAULT_MODES 277 +#define DEFAULT_SPLIT_SERVER_COUNT 278 +#define DEFAULT_SPLIT_USER_COUNT 279 +#define DENY 280 +#define DESCRIPTION 281 +#define DIE 282 +#define DISABLE_AUTH 283 +#define DISABLE_FAKE_CHANNELS 284 +#define DISABLE_REMOTE_COMMANDS 285 +#define DOTS_IN_IDENT 286 +#define EGDPOOL_PATH 287 +#define EMAIL 288 +#define ENCRYPTED 289 +#define EXCEED_LIMIT 290 +#define EXEMPT 291 +#define FAILED_OPER_NOTICE 292 +#define FLATTEN_LINKS 293 +#define GECOS 294 +#define GENERAL 295 +#define GLINE 296 +#define GLINE_DURATION 297 +#define GLINE_ENABLE 298 +#define GLINE_EXEMPT 299 +#define GLINE_MIN_CIDR 300 +#define GLINE_MIN_CIDR6 301 +#define GLINE_REQUEST_DURATION 302 +#define GLOBAL_KILL 303 +#define HAVENT_READ_CONF 304 +#define HIDDEN 305 +#define HIDDEN_NAME 306 +#define HIDE_IDLE_FROM_OPERS 307 +#define HIDE_SERVER_IPS 308 +#define HIDE_SERVERS 309 +#define HIDE_SERVICES 310 +#define HIDE_SPOOF_IPS 311 +#define HOST 312 +#define HUB 313 +#define HUB_MASK 314 +#define IGNORE_BOGUS_TS 315 +#define INVISIBLE_ON_CONNECT 316 +#define IP 317 +#define IRCD_AUTH 318 +#define IRCD_FLAGS 319 +#define IRCD_SID 320 +#define JOIN_FLOOD_COUNT 321 +#define JOIN_FLOOD_TIME 322 +#define KILL 323 +#define KILL_CHASE_TIME_LIMIT 324 +#define KLINE 325 +#define KLINE_EXEMPT 326 +#define KNOCK_DELAY 327 +#define KNOCK_DELAY_CHANNEL 328 +#define LEAF_MASK 329 +#define LINKS_DELAY 330 +#define LISTEN 331 +#define MASK 332 +#define MAX_ACCEPT 333 +#define MAX_BANS 334 +#define MAX_CHANS_PER_OPER 335 +#define MAX_CHANS_PER_USER 336 +#define MAX_GLOBAL 337 +#define MAX_IDENT 338 +#define MAX_IDLE 339 +#define MAX_LOCAL 340 +#define MAX_NICK_CHANGES 341 +#define MAX_NICK_LENGTH 342 +#define MAX_NICK_TIME 343 +#define MAX_NUMBER 344 +#define MAX_TARGETS 345 +#define MAX_TOPIC_LENGTH 346 +#define MAX_WATCH 347 +#define MIN_IDLE 348 +#define MIN_NONWILDCARD 349 +#define MIN_NONWILDCARD_SIMPLE 350 +#define MODULE 351 +#define MODULES 352 +#define MOTD 353 +#define NAME 354 +#define NEED_IDENT 355 +#define NEED_PASSWORD 356 +#define NETWORK_DESC 357 +#define NETWORK_NAME 358 +#define NICK 359 +#define NO_CREATE_ON_SPLIT 360 +#define NO_JOIN_ON_SPLIT 361 +#define NO_OPER_FLOOD 362 +#define NO_TILDE 363 +#define NUMBER 364 +#define NUMBER_PER_CIDR 365 +#define NUMBER_PER_IP 366 +#define OPER_ONLY_UMODES 367 +#define OPER_PASS_RESV 368 +#define OPER_UMODES 369 +#define OPERATOR 370 +#define OPERS_BYPASS_CALLERID 371 +#define PACE_WAIT 372 +#define PACE_WAIT_SIMPLE 373 +#define PASSWORD 374 +#define PATH 375 +#define PING_COOKIE 376 +#define PING_TIME 377 +#define PORT 378 +#define QSTRING 379 +#define RANDOM_IDLE 380 +#define REASON 381 +#define REDIRPORT 382 +#define REDIRSERV 383 +#define REHASH 384 +#define REMOTE 385 +#define REMOTEBAN 386 +#define RESV 387 +#define RESV_EXEMPT 388 +#define RSA_PRIVATE_KEY_FILE 389 +#define RSA_PUBLIC_KEY_FILE 390 +#define SECONDS 391 +#define MINUTES 392 +#define HOURS 393 +#define DAYS 394 +#define WEEKS 395 +#define MONTHS 396 +#define YEARS 397 +#define SEND_PASSWORD 398 +#define SENDQ 399 +#define SERVERHIDE 400 +#define SERVERINFO 401 +#define SHORT_MOTD 402 +#define SPOOF 403 +#define SPOOF_NOTICE 404 +#define SQUIT 405 +#define SSL_CERTIFICATE_FILE 406 +#define SSL_CERTIFICATE_FINGERPRINT 407 +#define SSL_CONNECTION_REQUIRED 408 +#define SSL_DH_PARAM_FILE 409 +#define STATS_E_DISABLED 410 +#define STATS_I_OPER_ONLY 411 +#define STATS_K_OPER_ONLY 412 +#define STATS_O_OPER_ONLY 413 +#define STATS_P_OPER_ONLY 414 +#define STATS_U_OPER_ONLY 415 +#define T_ALL 416 +#define T_BOTS 417 +#define T_CALLERID 418 +#define T_CCONN 419 +#define T_CLUSTER 420 +#define T_DEAF 421 +#define T_DEBUG 422 +#define T_DLINE 423 +#define T_EXTERNAL 424 +#define T_FARCONNECT 425 +#define T_FILE 426 +#define T_FULL 427 +#define T_GCHANOPS 428 +#define T_GLOBOPS 429 +#define T_INVISIBLE 430 +#define T_INVITEONLY 431 +#define T_IPV4 432 +#define T_IPV6 433 +#define T_LOCOPS 434 +#define T_LOG 435 +#define T_MAX_CLIENTS 436 +#define T_MODERATED 437 +#define T_NCHANGE 438 +#define T_NONONREG 439 +#define T_NOPRIVMSGS 440 +#define T_OPERWALL 441 +#define T_PRIVATE 442 +#define T_RECVQ 443 +#define T_REJ 444 +#define T_RESTART 445 +#define T_SECRET 446 +#define T_SERVER 447 +#define T_SERVICE 448 +#define T_SERVICES_NAME 449 +#define T_SERVNOTICE 450 +#define T_SET 451 +#define T_SHARED 452 +#define T_SIZE 453 +#define T_SKILL 454 +#define T_SOFTCALLERID 455 +#define T_SPY 456 +#define T_SSL 457 +#define T_SSL_CIPHER_LIST 458 +#define T_SSL_CLIENT_METHOD 459 +#define T_SSL_SERVER_METHOD 460 +#define T_SSLV3 461 +#define T_TLSV1 462 +#define T_TOPICLIMIT 463 +#define T_UMODES 464 +#define T_UNAUTH 465 +#define T_UNDLINE 466 +#define T_UNLIMITED 467 +#define T_UNRESV 468 +#define T_UNXLINE 469 +#define T_WALLOP 470 +#define T_WALLOPS 471 +#define T_WEBIRC 472 +#define TBOOL 473 +#define THROTTLE_TIME 474 +#define TKLINE 475 +#define TKLINE_EXPIRE_NOTICES 476 +#define TKLINE_TIME 477 +#define TMASKED 478 +#define TRUE_NO_OPER_FLOOD 479 +#define TS_MAX_DELTA 480 +#define TS_WARN_DELTA 481 +#define TWODOTS 482 +#define TYPE 483 +#define UNKLINE 484 +#define USE_EGD 485 +#define USE_LOGGING 486 +#define USER 487 +#define VHOST 488 +#define VHOST6 489 +#define WARN_NO_NLINE 490 +#define XLINE 491 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE YYSTYPE; + union YYSTYPE { -#line 143 "conf_parser.y" /* yacc.c:1909 */ +#line 144 "conf_parser.y" /* yacc.c:1921 */ int number; char *string; -#line 511 "conf_parser.h" /* yacc.c:1909 */ +#line 535 "conf_parser.h" /* yacc.c:1921 */ }; + +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif |