diff options
Diffstat (limited to 'src/conf_parser.c')
-rw-r--r-- | src/conf_parser.c | 4927 |
1 files changed, 2569 insertions, 2358 deletions
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) { |