ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_parser.c
(Generate patch)

Comparing ircd-hybrid/trunk/src/conf_parser.c (file contents):
Revision 2196 by michael, Tue Jun 4 18:30:12 2013 UTC vs.
Revision 4258 by michael, Fri Jul 18 20:46:48 2014 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.7.12-4996.  */
1 > /* A Bison parser, made by GNU Bison 3.0.2.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4 <  
5 <      Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6 <  
4 >
5 >   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6 >
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
9     the Free Software Foundation, either version 3 of the License, or
10     (at your option) any later version.
11 <  
11 >
12     This program is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     GNU General Public License for more details.
16 <  
16 >
17     You should have received a copy of the GNU General Public License
18     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19  
# Line 26 | Line 26
26     special exception, which will cause the skeleton and the resulting
27     Bison output files to be licensed under the GNU General Public
28     License without this special exception.
29 <  
29 >
30     This special exception was added by the Free Software Foundation in
31     version 2.2 of Bison.  */
32  
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.7.12-4996"
47 > #define YYBISON_VERSION "3.0.2"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 62 | Line 62
62  
63  
64   /* Copy the first part of user declarations.  */
65 < /* Line 371 of yacc.c  */
66 < #line 25 "conf_parser.y"
65 > #line 28 "conf_parser.y" /* yacc.c:339  */
66  
67  
68   #define YY_NO_UNPUT
# Line 82 | Line 81
81   #include "irc_string.h"
82   #include "memory.h"
83   #include "modules.h"
84 < #include "s_serv.h"
84 > #include "server.h"
85   #include "hostmask.h"
86   #include "send.h"
87   #include "listener.h"
88   #include "resv.h"
89   #include "numeric.h"
90 < #include "s_user.h"
90 > #include "user.h"
91   #include "motd.h"
92  
93   #ifdef HAVE_LIBCRYPTO
# Line 104 | Line 103 | int yylex(void);
103  
104   static struct
105   {
106 <  struct {
106 >  struct
107 >  {
108      dlink_list list;
109    } mask,
110      leaf,
111      hub;
112  
113 <  struct {
113 >  struct
114 >  {
115      char buf[IRCD_BUFSIZE];
116    } name,
117      user,
# Line 119 | Line 120 | static struct
120      bind,
121      file,
122      ciph,
123 +    cert,
124      rpass,
125      spass,
126      class;
127  
128 <  struct {
128 >  struct
129 >  {
130      unsigned int value;
131    } flags,
132      modes,
# Line 142 | Line 145 | static struct
145      max_ident,
146      max_sendq,
147      max_recvq,
148 +    max_channels,
149      cidr_bitlen_ipv4,
150      cidr_bitlen_ipv6,
151      number_per_cidr;
# Line 177 | Line 181 | reset_block_state(void)
181   }
182  
183  
184 < /* Line 371 of yacc.c  */
181 < #line 182 "conf_parser.c"
184 > #line 185 "conf_parser.c" /* yacc.c:339  */
185  
186 < # ifndef YY_NULL
186 > # ifndef YY_NULLPTR
187   #  if defined __cplusplus && 201103L <= __cplusplus
188 < #   define YY_NULL nullptr
188 > #   define YY_NULLPTR nullptr
189   #  else
190 < #   define YY_NULL 0
190 > #   define YY_NULLPTR 0
191   #  endif
192   # endif
193  
# Line 200 | Line 203 | reset_block_state(void)
203     by #include "y.tab.h".  */
204   #ifndef YY_YY_CONF_PARSER_H_INCLUDED
205   # define YY_YY_CONF_PARSER_H_INCLUDED
206 < /* Enabling traces.  */
206 > /* Debug traces.  */
207   #ifndef YYDEBUG
208   # define YYDEBUG 0
209   #endif
# Line 208 | Line 211 | reset_block_state(void)
211   extern int yydebug;
212   #endif
213  
214 < /* Tokens.  */
214 > /* Token type.  */
215   #ifndef YYTOKENTYPE
216   # define YYTOKENTYPE
217 <   /* Put the tokens into the symbol table, so that GDB and other debuggers
218 <      know about them.  */
219 <   enum yytokentype {
220 <     ACCEPT_PASSWORD = 258,
221 <     ADMIN = 259,
222 <     AFTYPE = 260,
223 <     ANTI_NICK_FLOOD = 261,
224 <     ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
225 <     AUTOCONN = 263,
226 <     BYTES = 264,
227 <     KBYTES = 265,
228 <     MBYTES = 266,
229 <     CALLER_ID_WAIT = 267,
230 <     CAN_FLOOD = 268,
231 <     CHANNEL = 269,
232 <     CIDR_BITLEN_IPV4 = 270,
233 <     CIDR_BITLEN_IPV6 = 271,
234 <     CLASS = 272,
235 <     CONNECT = 273,
236 <     CONNECTFREQ = 274,
237 <     DEFAULT_FLOODCOUNT = 275,
238 <     DEFAULT_SPLIT_SERVER_COUNT = 276,
239 <     DEFAULT_SPLIT_USER_COUNT = 277,
240 <     DENY = 278,
241 <     DESCRIPTION = 279,
242 <     DIE = 280,
243 <     DISABLE_AUTH = 281,
244 <     DISABLE_FAKE_CHANNELS = 282,
245 <     DISABLE_REMOTE_COMMANDS = 283,
246 <     DOTS_IN_IDENT = 284,
247 <     EGDPOOL_PATH = 285,
248 <     EMAIL = 286,
249 <     ENCRYPTED = 287,
250 <     EXCEED_LIMIT = 288,
251 <     EXEMPT = 289,
252 <     FAILED_OPER_NOTICE = 290,
253 <     FLATTEN_LINKS = 291,
254 <     GECOS = 292,
255 <     GENERAL = 293,
256 <     GLINE = 294,
257 <     GLINE_DURATION = 295,
258 <     GLINE_ENABLE = 296,
259 <     GLINE_EXEMPT = 297,
260 <     GLINE_MIN_CIDR = 298,
261 <     GLINE_MIN_CIDR6 = 299,
262 <     GLINE_REQUEST_DURATION = 300,
263 <     GLOBAL_KILL = 301,
264 <     HAVENT_READ_CONF = 302,
265 <     HIDDEN = 303,
266 <     HIDDEN_NAME = 304,
267 <     HIDE_IDLE_FROM_OPERS = 305,
268 <     HIDE_SERVER_IPS = 306,
269 <     HIDE_SERVERS = 307,
270 <     HIDE_SERVICES = 308,
271 <     HIDE_SPOOF_IPS = 309,
272 <     HOST = 310,
273 <     HUB = 311,
274 <     HUB_MASK = 312,
275 <     IGNORE_BOGUS_TS = 313,
276 <     INVISIBLE_ON_CONNECT = 314,
277 <     IP = 315,
278 <     IRCD_AUTH = 316,
279 <     IRCD_FLAGS = 317,
280 <     IRCD_SID = 318,
281 <     JOIN_FLOOD_COUNT = 319,
282 <     JOIN_FLOOD_TIME = 320,
283 <     KILL = 321,
284 <     KILL_CHASE_TIME_LIMIT = 322,
285 <     KLINE = 323,
286 <     KLINE_EXEMPT = 324,
287 <     KNOCK_DELAY = 325,
288 <     KNOCK_DELAY_CHANNEL = 326,
289 <     LEAF_MASK = 327,
290 <     LINKS_DELAY = 328,
291 <     LISTEN = 329,
292 <     MASK = 330,
293 <     MAX_ACCEPT = 331,
294 <     MAX_BANS = 332,
295 <     MAX_CHANS_PER_OPER = 333,
296 <     MAX_CHANS_PER_USER = 334,
297 <     MAX_GLOBAL = 335,
298 <     MAX_IDENT = 336,
299 <     MAX_IDLE = 337,
300 <     MAX_LOCAL = 338,
301 <     MAX_NICK_CHANGES = 339,
302 <     MAX_NICK_LENGTH = 340,
303 <     MAX_NICK_TIME = 341,
304 <     MAX_NUMBER = 342,
305 <     MAX_TARGETS = 343,
306 <     MAX_TOPIC_LENGTH = 344,
307 <     MAX_WATCH = 345,
308 <     MIN_IDLE = 346,
309 <     MIN_NONWILDCARD = 347,
310 <     MIN_NONWILDCARD_SIMPLE = 348,
311 <     MODULE = 349,
312 <     MODULES = 350,
313 <     MOTD = 351,
314 <     NAME = 352,
315 <     NEED_IDENT = 353,
316 <     NEED_PASSWORD = 354,
317 <     NETWORK_DESC = 355,
318 <     NETWORK_NAME = 356,
319 <     NICK = 357,
320 <     NO_CREATE_ON_SPLIT = 358,
321 <     NO_JOIN_ON_SPLIT = 359,
322 <     NO_OPER_FLOOD = 360,
323 <     NO_TILDE = 361,
324 <     NUMBER = 362,
325 <     NUMBER_PER_CIDR = 363,
326 <     NUMBER_PER_IP = 364,
327 <     OPER_ONLY_UMODES = 365,
328 <     OPER_PASS_RESV = 366,
329 <     OPER_UMODES = 367,
330 <     OPERATOR = 368,
331 <     OPERS_BYPASS_CALLERID = 369,
332 <     PACE_WAIT = 370,
333 <     PACE_WAIT_SIMPLE = 371,
334 <     PASSWORD = 372,
335 <     PATH = 373,
336 <     PING_COOKIE = 374,
337 <     PING_TIME = 375,
338 <     PORT = 376,
339 <     QSTRING = 377,
340 <     RANDOM_IDLE = 378,
341 <     REASON = 379,
342 <     REDIRPORT = 380,
343 <     REDIRSERV = 381,
344 <     REHASH = 382,
345 <     REMOTE = 383,
346 <     REMOTEBAN = 384,
347 <     RESV = 385,
348 <     RESV_EXEMPT = 386,
349 <     RSA_PRIVATE_KEY_FILE = 387,
350 <     RSA_PUBLIC_KEY_FILE = 388,
351 <     SECONDS = 389,
352 <     MINUTES = 390,
353 <     HOURS = 391,
354 <     DAYS = 392,
355 <     WEEKS = 393,
356 <     MONTHS = 394,
357 <     YEARS = 395,
358 <     SEND_PASSWORD = 396,
359 <     SENDQ = 397,
360 <     SERVERHIDE = 398,
361 <     SERVERINFO = 399,
362 <     SHORT_MOTD = 400,
363 <     SPOOF = 401,
364 <     SPOOF_NOTICE = 402,
365 <     SQUIT = 403,
366 <     SSL_CERTIFICATE_FILE = 404,
367 <     SSL_DH_PARAM_FILE = 405,
368 <     STATS_E_DISABLED = 406,
369 <     STATS_I_OPER_ONLY = 407,
370 <     STATS_K_OPER_ONLY = 408,
371 <     STATS_O_OPER_ONLY = 409,
372 <     STATS_P_OPER_ONLY = 410,
373 <     T_ALL = 411,
374 <     T_BOTS = 412,
375 <     T_CALLERID = 413,
376 <     T_CCONN = 414,
377 <     T_CLUSTER = 415,
378 <     T_DEAF = 416,
379 <     T_DEBUG = 417,
380 <     T_DLINE = 418,
381 <     T_EXTERNAL = 419,
382 <     T_FARCONNECT = 420,
383 <     T_FILE = 421,
384 <     T_FULL = 422,
385 <     T_GLOBOPS = 423,
386 <     T_INVISIBLE = 424,
387 <     T_IPV4 = 425,
388 <     T_IPV6 = 426,
389 <     T_LOCOPS = 427,
390 <     T_LOG = 428,
391 <     T_MAX_CLIENTS = 429,
392 <     T_NCHANGE = 430,
393 <     T_NONONREG = 431,
394 <     T_OPERWALL = 432,
395 <     T_RECVQ = 433,
396 <     T_REJ = 434,
397 <     T_RESTART = 435,
398 <     T_SERVER = 436,
399 <     T_SERVICE = 437,
400 <     T_SERVICES_NAME = 438,
401 <     T_SERVNOTICE = 439,
402 <     T_SET = 440,
403 <     T_SHARED = 441,
404 <     T_SIZE = 442,
405 <     T_SKILL = 443,
406 <     T_SOFTCALLERID = 444,
407 <     T_SPY = 445,
408 <     T_SSL = 446,
409 <     T_SSL_CIPHER_LIST = 447,
410 <     T_SSL_CLIENT_METHOD = 448,
411 <     T_SSL_SERVER_METHOD = 449,
412 <     T_SSLV3 = 450,
413 <     T_TLSV1 = 451,
414 <     T_UMODES = 452,
415 <     T_UNAUTH = 453,
416 <     T_UNDLINE = 454,
417 <     T_UNLIMITED = 455,
418 <     T_UNRESV = 456,
419 <     T_UNXLINE = 457,
420 <     T_WALLOP = 458,
421 <     T_WALLOPS = 459,
422 <     T_WEBIRC = 460,
423 <     TBOOL = 461,
424 <     THROTTLE_TIME = 462,
425 <     TKLINE_EXPIRE_NOTICES = 463,
426 <     TMASKED = 464,
427 <     TRUE_NO_OPER_FLOOD = 465,
428 <     TS_MAX_DELTA = 466,
429 <     TS_WARN_DELTA = 467,
430 <     TWODOTS = 468,
431 <     TYPE = 469,
432 <     UNKLINE = 470,
433 <     USE_EGD = 471,
434 <     USE_LOGGING = 472,
435 <     USER = 473,
436 <     VHOST = 474,
437 <     VHOST6 = 475,
438 <     WARN_NO_NLINE = 476,
439 <     XLINE = 477
440 <   };
217 >  enum yytokentype
218 >  {
219 >    ACCEPT_PASSWORD = 258,
220 >    ADMIN = 259,
221 >    AFTYPE = 260,
222 >    ANTI_NICK_FLOOD = 261,
223 >    ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
224 >    AUTOCONN = 263,
225 >    BYTES = 264,
226 >    KBYTES = 265,
227 >    MBYTES = 266,
228 >    CALLER_ID_WAIT = 267,
229 >    CAN_FLOOD = 268,
230 >    CHANNEL = 269,
231 >    CIDR_BITLEN_IPV4 = 270,
232 >    CIDR_BITLEN_IPV6 = 271,
233 >    CLASS = 272,
234 >    CONNECT = 273,
235 >    CONNECTFREQ = 274,
236 >    CYCLE_ON_HOST_CHANGE = 275,
237 >    DEFAULT_FLOODCOUNT = 276,
238 >    DEFAULT_SPLIT_SERVER_COUNT = 277,
239 >    DEFAULT_SPLIT_USER_COUNT = 278,
240 >    DENY = 279,
241 >    DESCRIPTION = 280,
242 >    DIE = 281,
243 >    DISABLE_AUTH = 282,
244 >    DISABLE_FAKE_CHANNELS = 283,
245 >    DISABLE_REMOTE_COMMANDS = 284,
246 >    DOTS_IN_IDENT = 285,
247 >    EGDPOOL_PATH = 286,
248 >    EMAIL = 287,
249 >    ENCRYPTED = 288,
250 >    EXCEED_LIMIT = 289,
251 >    EXEMPT = 290,
252 >    FAILED_OPER_NOTICE = 291,
253 >    FLATTEN_LINKS = 292,
254 >    GECOS = 293,
255 >    GENERAL = 294,
256 >    GLINE = 295,
257 >    GLINE_DURATION = 296,
258 >    GLINE_ENABLE = 297,
259 >    GLINE_EXEMPT = 298,
260 >    GLINE_MIN_CIDR = 299,
261 >    GLINE_MIN_CIDR6 = 300,
262 >    GLINE_REQUEST_DURATION = 301,
263 >    GLOBAL_KILL = 302,
264 >    HAVENT_READ_CONF = 303,
265 >    HIDDEN = 304,
266 >    HIDDEN_NAME = 305,
267 >    HIDE_CHANS = 306,
268 >    HIDE_IDLE = 307,
269 >    HIDE_IDLE_FROM_OPERS = 308,
270 >    HIDE_SERVER_IPS = 309,
271 >    HIDE_SERVERS = 310,
272 >    HIDE_SERVICES = 311,
273 >    HIDE_SPOOF_IPS = 312,
274 >    HOST = 313,
275 >    HUB = 314,
276 >    HUB_MASK = 315,
277 >    IGNORE_BOGUS_TS = 316,
278 >    INVISIBLE_ON_CONNECT = 317,
279 >    INVITE_CLIENT_COUNT = 318,
280 >    INVITE_CLIENT_TIME = 319,
281 >    IP = 320,
282 >    IRCD_AUTH = 321,
283 >    IRCD_FLAGS = 322,
284 >    IRCD_SID = 323,
285 >    JOIN_FLOOD_COUNT = 324,
286 >    JOIN_FLOOD_TIME = 325,
287 >    KILL = 326,
288 >    KILL_CHASE_TIME_LIMIT = 327,
289 >    KLINE = 328,
290 >    KLINE_EXEMPT = 329,
291 >    KNOCK_CLIENT_COUNT = 330,
292 >    KNOCK_CLIENT_TIME = 331,
293 >    KNOCK_DELAY_CHANNEL = 332,
294 >    LEAF_MASK = 333,
295 >    LINKS_DELAY = 334,
296 >    LISTEN = 335,
297 >    MASK = 336,
298 >    MAX_ACCEPT = 337,
299 >    MAX_BANS = 338,
300 >    MAX_CHANNELS = 339,
301 >    MAX_GLOBAL = 340,
302 >    MAX_IDENT = 341,
303 >    MAX_IDLE = 342,
304 >    MAX_LOCAL = 343,
305 >    MAX_NICK_CHANGES = 344,
306 >    MAX_NICK_LENGTH = 345,
307 >    MAX_NICK_TIME = 346,
308 >    MAX_NUMBER = 347,
309 >    MAX_TARGETS = 348,
310 >    MAX_TOPIC_LENGTH = 349,
311 >    MAX_WATCH = 350,
312 >    MIN_IDLE = 351,
313 >    MIN_NONWILDCARD = 352,
314 >    MIN_NONWILDCARD_SIMPLE = 353,
315 >    MODULE = 354,
316 >    MODULES = 355,
317 >    MOTD = 356,
318 >    NAME = 357,
319 >    NEED_IDENT = 358,
320 >    NEED_PASSWORD = 359,
321 >    NETWORK_DESC = 360,
322 >    NETWORK_NAME = 361,
323 >    NICK = 362,
324 >    NO_CREATE_ON_SPLIT = 363,
325 >    NO_JOIN_ON_SPLIT = 364,
326 >    NO_OPER_FLOOD = 365,
327 >    NO_TILDE = 366,
328 >    NUMBER = 367,
329 >    NUMBER_PER_CIDR = 368,
330 >    NUMBER_PER_IP = 369,
331 >    OPER_ONLY_UMODES = 370,
332 >    OPER_PASS_RESV = 371,
333 >    OPER_UMODES = 372,
334 >    OPERATOR = 373,
335 >    OPERS_BYPASS_CALLERID = 374,
336 >    PACE_WAIT = 375,
337 >    PACE_WAIT_SIMPLE = 376,
338 >    PASSWORD = 377,
339 >    PATH = 378,
340 >    PING_COOKIE = 379,
341 >    PING_TIME = 380,
342 >    PORT = 381,
343 >    QSTRING = 382,
344 >    RANDOM_IDLE = 383,
345 >    REASON = 384,
346 >    REDIRPORT = 385,
347 >    REDIRSERV = 386,
348 >    REHASH = 387,
349 >    REMOTE = 388,
350 >    REMOTEBAN = 389,
351 >    RESV = 390,
352 >    RESV_EXEMPT = 391,
353 >    RSA_PRIVATE_KEY_FILE = 392,
354 >    RSA_PUBLIC_KEY_FILE = 393,
355 >    SECONDS = 394,
356 >    MINUTES = 395,
357 >    HOURS = 396,
358 >    DAYS = 397,
359 >    WEEKS = 398,
360 >    MONTHS = 399,
361 >    YEARS = 400,
362 >    SEND_PASSWORD = 401,
363 >    SENDQ = 402,
364 >    SERVERHIDE = 403,
365 >    SERVERINFO = 404,
366 >    SHORT_MOTD = 405,
367 >    SPOOF = 406,
368 >    SPOOF_NOTICE = 407,
369 >    SQUIT = 408,
370 >    SSL_CERTIFICATE_FILE = 409,
371 >    SSL_CERTIFICATE_FINGERPRINT = 410,
372 >    SSL_CONNECTION_REQUIRED = 411,
373 >    SSL_DH_ELLIPTIC_CURVE = 412,
374 >    SSL_DH_PARAM_FILE = 413,
375 >    SSL_MESSAGE_DIGEST_ALGORITHM = 414,
376 >    STATS_E_DISABLED = 415,
377 >    STATS_I_OPER_ONLY = 416,
378 >    STATS_K_OPER_ONLY = 417,
379 >    STATS_O_OPER_ONLY = 418,
380 >    STATS_P_OPER_ONLY = 419,
381 >    STATS_U_OPER_ONLY = 420,
382 >    T_ALL = 421,
383 >    T_BOTS = 422,
384 >    T_CALLERID = 423,
385 >    T_CCONN = 424,
386 >    T_CLUSTER = 425,
387 >    T_DEAF = 426,
388 >    T_DEBUG = 427,
389 >    T_DLINE = 428,
390 >    T_EXTERNAL = 429,
391 >    T_FARCONNECT = 430,
392 >    T_FILE = 431,
393 >    T_FULL = 432,
394 >    T_GLOBOPS = 433,
395 >    T_INVISIBLE = 434,
396 >    T_IPV4 = 435,
397 >    T_IPV6 = 436,
398 >    T_LOCOPS = 437,
399 >    T_LOG = 438,
400 >    T_MAX_CLIENTS = 439,
401 >    T_NCHANGE = 440,
402 >    T_NONONREG = 441,
403 >    T_RECVQ = 442,
404 >    T_REJ = 443,
405 >    T_RESTART = 444,
406 >    T_SERVER = 445,
407 >    T_SERVICE = 446,
408 >    T_SERVICES_NAME = 447,
409 >    T_SERVNOTICE = 448,
410 >    T_SET = 449,
411 >    T_SHARED = 450,
412 >    T_SIZE = 451,
413 >    T_SKILL = 452,
414 >    T_SOFTCALLERID = 453,
415 >    T_SPY = 454,
416 >    T_SSL = 455,
417 >    T_SSL_CIPHER_LIST = 456,
418 >    T_UMODES = 457,
419 >    T_UNAUTH = 458,
420 >    T_UNDLINE = 459,
421 >    T_UNLIMITED = 460,
422 >    T_UNRESV = 461,
423 >    T_UNXLINE = 462,
424 >    T_WALLOP = 463,
425 >    T_WALLOPS = 464,
426 >    T_WEBIRC = 465,
427 >    TBOOL = 466,
428 >    THROTTLE_COUNT = 467,
429 >    THROTTLE_TIME = 468,
430 >    TKLINE_EXPIRE_NOTICES = 469,
431 >    TMASKED = 470,
432 >    TRUE_NO_OPER_FLOOD = 471,
433 >    TS_MAX_DELTA = 472,
434 >    TS_WARN_DELTA = 473,
435 >    TWODOTS = 474,
436 >    TYPE = 475,
437 >    UNKLINE = 476,
438 >    USE_EGD = 477,
439 >    USE_LOGGING = 478,
440 >    USER = 479,
441 >    VHOST = 480,
442 >    VHOST6 = 481,
443 >    WARN_NO_CONNECT_BLOCK = 482,
444 >    XLINE = 483
445 >  };
446   #endif
447   /* Tokens.  */
448   #define ACCEPT_PASSWORD 258
# Line 454 | Line 462 | extern int yydebug;
462   #define CLASS 272
463   #define CONNECT 273
464   #define CONNECTFREQ 274
465 < #define DEFAULT_FLOODCOUNT 275
466 < #define DEFAULT_SPLIT_SERVER_COUNT 276
467 < #define DEFAULT_SPLIT_USER_COUNT 277
468 < #define DENY 278
469 < #define DESCRIPTION 279
470 < #define DIE 280
471 < #define DISABLE_AUTH 281
472 < #define DISABLE_FAKE_CHANNELS 282
473 < #define DISABLE_REMOTE_COMMANDS 283
474 < #define DOTS_IN_IDENT 284
475 < #define EGDPOOL_PATH 285
476 < #define EMAIL 286
477 < #define ENCRYPTED 287
478 < #define EXCEED_LIMIT 288
479 < #define EXEMPT 289
480 < #define FAILED_OPER_NOTICE 290
481 < #define FLATTEN_LINKS 291
482 < #define GECOS 292
483 < #define GENERAL 293
484 < #define GLINE 294
485 < #define GLINE_DURATION 295
486 < #define GLINE_ENABLE 296
487 < #define GLINE_EXEMPT 297
488 < #define GLINE_MIN_CIDR 298
489 < #define GLINE_MIN_CIDR6 299
490 < #define GLINE_REQUEST_DURATION 300
491 < #define GLOBAL_KILL 301
492 < #define HAVENT_READ_CONF 302
493 < #define HIDDEN 303
494 < #define HIDDEN_NAME 304
495 < #define HIDE_IDLE_FROM_OPERS 305
496 < #define HIDE_SERVER_IPS 306
497 < #define HIDE_SERVERS 307
498 < #define HIDE_SERVICES 308
499 < #define HIDE_SPOOF_IPS 309
500 < #define HOST 310
501 < #define HUB 311
502 < #define HUB_MASK 312
503 < #define IGNORE_BOGUS_TS 313
504 < #define INVISIBLE_ON_CONNECT 314
505 < #define IP 315
506 < #define IRCD_AUTH 316
507 < #define IRCD_FLAGS 317
508 < #define IRCD_SID 318
509 < #define JOIN_FLOOD_COUNT 319
510 < #define JOIN_FLOOD_TIME 320
511 < #define KILL 321
512 < #define KILL_CHASE_TIME_LIMIT 322
513 < #define KLINE 323
514 < #define KLINE_EXEMPT 324
515 < #define KNOCK_DELAY 325
516 < #define KNOCK_DELAY_CHANNEL 326
517 < #define LEAF_MASK 327
518 < #define LINKS_DELAY 328
519 < #define LISTEN 329
520 < #define MASK 330
521 < #define MAX_ACCEPT 331
522 < #define MAX_BANS 332
523 < #define MAX_CHANS_PER_OPER 333
524 < #define MAX_CHANS_PER_USER 334
525 < #define MAX_GLOBAL 335
526 < #define MAX_IDENT 336
527 < #define MAX_IDLE 337
528 < #define MAX_LOCAL 338
529 < #define MAX_NICK_CHANGES 339
530 < #define MAX_NICK_LENGTH 340
531 < #define MAX_NICK_TIME 341
532 < #define MAX_NUMBER 342
533 < #define MAX_TARGETS 343
534 < #define MAX_TOPIC_LENGTH 344
535 < #define MAX_WATCH 345
536 < #define MIN_IDLE 346
537 < #define MIN_NONWILDCARD 347
538 < #define MIN_NONWILDCARD_SIMPLE 348
539 < #define MODULE 349
540 < #define MODULES 350
541 < #define MOTD 351
542 < #define NAME 352
543 < #define NEED_IDENT 353
544 < #define NEED_PASSWORD 354
545 < #define NETWORK_DESC 355
546 < #define NETWORK_NAME 356
547 < #define NICK 357
548 < #define NO_CREATE_ON_SPLIT 358
549 < #define NO_JOIN_ON_SPLIT 359
550 < #define NO_OPER_FLOOD 360
551 < #define NO_TILDE 361
552 < #define NUMBER 362
553 < #define NUMBER_PER_CIDR 363
554 < #define NUMBER_PER_IP 364
555 < #define OPER_ONLY_UMODES 365
556 < #define OPER_PASS_RESV 366
557 < #define OPER_UMODES 367
558 < #define OPERATOR 368
559 < #define OPERS_BYPASS_CALLERID 369
560 < #define PACE_WAIT 370
561 < #define PACE_WAIT_SIMPLE 371
562 < #define PASSWORD 372
563 < #define PATH 373
564 < #define PING_COOKIE 374
565 < #define PING_TIME 375
566 < #define PORT 376
567 < #define QSTRING 377
568 < #define RANDOM_IDLE 378
569 < #define REASON 379
570 < #define REDIRPORT 380
571 < #define REDIRSERV 381
572 < #define REHASH 382
573 < #define REMOTE 383
574 < #define REMOTEBAN 384
575 < #define RESV 385
576 < #define RESV_EXEMPT 386
577 < #define RSA_PRIVATE_KEY_FILE 387
578 < #define RSA_PUBLIC_KEY_FILE 388
579 < #define SECONDS 389
580 < #define MINUTES 390
581 < #define HOURS 391
582 < #define DAYS 392
583 < #define WEEKS 393
584 < #define MONTHS 394
585 < #define YEARS 395
586 < #define SEND_PASSWORD 396
587 < #define SENDQ 397
588 < #define SERVERHIDE 398
589 < #define SERVERINFO 399
590 < #define SHORT_MOTD 400
591 < #define SPOOF 401
592 < #define SPOOF_NOTICE 402
593 < #define SQUIT 403
594 < #define SSL_CERTIFICATE_FILE 404
595 < #define SSL_DH_PARAM_FILE 405
596 < #define STATS_E_DISABLED 406
597 < #define STATS_I_OPER_ONLY 407
598 < #define STATS_K_OPER_ONLY 408
599 < #define STATS_O_OPER_ONLY 409
600 < #define STATS_P_OPER_ONLY 410
601 < #define T_ALL 411
602 < #define T_BOTS 412
603 < #define T_CALLERID 413
604 < #define T_CCONN 414
605 < #define T_CLUSTER 415
606 < #define T_DEAF 416
607 < #define T_DEBUG 417
608 < #define T_DLINE 418
609 < #define T_EXTERNAL 419
610 < #define T_FARCONNECT 420
611 < #define T_FILE 421
612 < #define T_FULL 422
613 < #define T_GLOBOPS 423
614 < #define T_INVISIBLE 424
615 < #define T_IPV4 425
616 < #define T_IPV6 426
617 < #define T_LOCOPS 427
618 < #define T_LOG 428
619 < #define T_MAX_CLIENTS 429
620 < #define T_NCHANGE 430
621 < #define T_NONONREG 431
622 < #define T_OPERWALL 432
623 < #define T_RECVQ 433
624 < #define T_REJ 434
625 < #define T_RESTART 435
626 < #define T_SERVER 436
627 < #define T_SERVICE 437
628 < #define T_SERVICES_NAME 438
629 < #define T_SERVNOTICE 439
630 < #define T_SET 440
631 < #define T_SHARED 441
632 < #define T_SIZE 442
633 < #define T_SKILL 443
634 < #define T_SOFTCALLERID 444
635 < #define T_SPY 445
636 < #define T_SSL 446
637 < #define T_SSL_CIPHER_LIST 447
638 < #define T_SSL_CLIENT_METHOD 448
639 < #define T_SSL_SERVER_METHOD 449
640 < #define T_SSLV3 450
641 < #define T_TLSV1 451
642 < #define T_UMODES 452
643 < #define T_UNAUTH 453
644 < #define T_UNDLINE 454
645 < #define T_UNLIMITED 455
646 < #define T_UNRESV 456
647 < #define T_UNXLINE 457
648 < #define T_WALLOP 458
649 < #define T_WALLOPS 459
650 < #define T_WEBIRC 460
651 < #define TBOOL 461
652 < #define THROTTLE_TIME 462
653 < #define TKLINE_EXPIRE_NOTICES 463
654 < #define TMASKED 464
655 < #define TRUE_NO_OPER_FLOOD 465
656 < #define TS_MAX_DELTA 466
657 < #define TS_WARN_DELTA 467
658 < #define TWODOTS 468
659 < #define TYPE 469
660 < #define UNKLINE 470
661 < #define USE_EGD 471
662 < #define USE_LOGGING 472
663 < #define USER 473
664 < #define VHOST 474
665 < #define VHOST6 475
666 < #define WARN_NO_NLINE 476
667 < #define XLINE 477
668 <
669 <
465 > #define CYCLE_ON_HOST_CHANGE 275
466 > #define DEFAULT_FLOODCOUNT 276
467 > #define DEFAULT_SPLIT_SERVER_COUNT 277
468 > #define DEFAULT_SPLIT_USER_COUNT 278
469 > #define DENY 279
470 > #define DESCRIPTION 280
471 > #define DIE 281
472 > #define DISABLE_AUTH 282
473 > #define DISABLE_FAKE_CHANNELS 283
474 > #define DISABLE_REMOTE_COMMANDS 284
475 > #define DOTS_IN_IDENT 285
476 > #define EGDPOOL_PATH 286
477 > #define EMAIL 287
478 > #define ENCRYPTED 288
479 > #define EXCEED_LIMIT 289
480 > #define EXEMPT 290
481 > #define FAILED_OPER_NOTICE 291
482 > #define FLATTEN_LINKS 292
483 > #define GECOS 293
484 > #define GENERAL 294
485 > #define GLINE 295
486 > #define GLINE_DURATION 296
487 > #define GLINE_ENABLE 297
488 > #define GLINE_EXEMPT 298
489 > #define GLINE_MIN_CIDR 299
490 > #define GLINE_MIN_CIDR6 300
491 > #define GLINE_REQUEST_DURATION 301
492 > #define GLOBAL_KILL 302
493 > #define HAVENT_READ_CONF 303
494 > #define HIDDEN 304
495 > #define HIDDEN_NAME 305
496 > #define HIDE_CHANS 306
497 > #define HIDE_IDLE 307
498 > #define HIDE_IDLE_FROM_OPERS 308
499 > #define HIDE_SERVER_IPS 309
500 > #define HIDE_SERVERS 310
501 > #define HIDE_SERVICES 311
502 > #define HIDE_SPOOF_IPS 312
503 > #define HOST 313
504 > #define HUB 314
505 > #define HUB_MASK 315
506 > #define IGNORE_BOGUS_TS 316
507 > #define INVISIBLE_ON_CONNECT 317
508 > #define INVITE_CLIENT_COUNT 318
509 > #define INVITE_CLIENT_TIME 319
510 > #define IP 320
511 > #define IRCD_AUTH 321
512 > #define IRCD_FLAGS 322
513 > #define IRCD_SID 323
514 > #define JOIN_FLOOD_COUNT 324
515 > #define JOIN_FLOOD_TIME 325
516 > #define KILL 326
517 > #define KILL_CHASE_TIME_LIMIT 327
518 > #define KLINE 328
519 > #define KLINE_EXEMPT 329
520 > #define KNOCK_CLIENT_COUNT 330
521 > #define KNOCK_CLIENT_TIME 331
522 > #define KNOCK_DELAY_CHANNEL 332
523 > #define LEAF_MASK 333
524 > #define LINKS_DELAY 334
525 > #define LISTEN 335
526 > #define MASK 336
527 > #define MAX_ACCEPT 337
528 > #define MAX_BANS 338
529 > #define MAX_CHANNELS 339
530 > #define MAX_GLOBAL 340
531 > #define MAX_IDENT 341
532 > #define MAX_IDLE 342
533 > #define MAX_LOCAL 343
534 > #define MAX_NICK_CHANGES 344
535 > #define MAX_NICK_LENGTH 345
536 > #define MAX_NICK_TIME 346
537 > #define MAX_NUMBER 347
538 > #define MAX_TARGETS 348
539 > #define MAX_TOPIC_LENGTH 349
540 > #define MAX_WATCH 350
541 > #define MIN_IDLE 351
542 > #define MIN_NONWILDCARD 352
543 > #define MIN_NONWILDCARD_SIMPLE 353
544 > #define MODULE 354
545 > #define MODULES 355
546 > #define MOTD 356
547 > #define NAME 357
548 > #define NEED_IDENT 358
549 > #define NEED_PASSWORD 359
550 > #define NETWORK_DESC 360
551 > #define NETWORK_NAME 361
552 > #define NICK 362
553 > #define NO_CREATE_ON_SPLIT 363
554 > #define NO_JOIN_ON_SPLIT 364
555 > #define NO_OPER_FLOOD 365
556 > #define NO_TILDE 366
557 > #define NUMBER 367
558 > #define NUMBER_PER_CIDR 368
559 > #define NUMBER_PER_IP 369
560 > #define OPER_ONLY_UMODES 370
561 > #define OPER_PASS_RESV 371
562 > #define OPER_UMODES 372
563 > #define OPERATOR 373
564 > #define OPERS_BYPASS_CALLERID 374
565 > #define PACE_WAIT 375
566 > #define PACE_WAIT_SIMPLE 376
567 > #define PASSWORD 377
568 > #define PATH 378
569 > #define PING_COOKIE 379
570 > #define PING_TIME 380
571 > #define PORT 381
572 > #define QSTRING 382
573 > #define RANDOM_IDLE 383
574 > #define REASON 384
575 > #define REDIRPORT 385
576 > #define REDIRSERV 386
577 > #define REHASH 387
578 > #define REMOTE 388
579 > #define REMOTEBAN 389
580 > #define RESV 390
581 > #define RESV_EXEMPT 391
582 > #define RSA_PRIVATE_KEY_FILE 392
583 > #define RSA_PUBLIC_KEY_FILE 393
584 > #define SECONDS 394
585 > #define MINUTES 395
586 > #define HOURS 396
587 > #define DAYS 397
588 > #define WEEKS 398
589 > #define MONTHS 399
590 > #define YEARS 400
591 > #define SEND_PASSWORD 401
592 > #define SENDQ 402
593 > #define SERVERHIDE 403
594 > #define SERVERINFO 404
595 > #define SHORT_MOTD 405
596 > #define SPOOF 406
597 > #define SPOOF_NOTICE 407
598 > #define SQUIT 408
599 > #define SSL_CERTIFICATE_FILE 409
600 > #define SSL_CERTIFICATE_FINGERPRINT 410
601 > #define SSL_CONNECTION_REQUIRED 411
602 > #define SSL_DH_ELLIPTIC_CURVE 412
603 > #define SSL_DH_PARAM_FILE 413
604 > #define SSL_MESSAGE_DIGEST_ALGORITHM 414
605 > #define STATS_E_DISABLED 415
606 > #define STATS_I_OPER_ONLY 416
607 > #define STATS_K_OPER_ONLY 417
608 > #define STATS_O_OPER_ONLY 418
609 > #define STATS_P_OPER_ONLY 419
610 > #define STATS_U_OPER_ONLY 420
611 > #define T_ALL 421
612 > #define T_BOTS 422
613 > #define T_CALLERID 423
614 > #define T_CCONN 424
615 > #define T_CLUSTER 425
616 > #define T_DEAF 426
617 > #define T_DEBUG 427
618 > #define T_DLINE 428
619 > #define T_EXTERNAL 429
620 > #define T_FARCONNECT 430
621 > #define T_FILE 431
622 > #define T_FULL 432
623 > #define T_GLOBOPS 433
624 > #define T_INVISIBLE 434
625 > #define T_IPV4 435
626 > #define T_IPV6 436
627 > #define T_LOCOPS 437
628 > #define T_LOG 438
629 > #define T_MAX_CLIENTS 439
630 > #define T_NCHANGE 440
631 > #define T_NONONREG 441
632 > #define T_RECVQ 442
633 > #define T_REJ 443
634 > #define T_RESTART 444
635 > #define T_SERVER 445
636 > #define T_SERVICE 446
637 > #define T_SERVICES_NAME 447
638 > #define T_SERVNOTICE 448
639 > #define T_SET 449
640 > #define T_SHARED 450
641 > #define T_SIZE 451
642 > #define T_SKILL 452
643 > #define T_SOFTCALLERID 453
644 > #define T_SPY 454
645 > #define T_SSL 455
646 > #define T_SSL_CIPHER_LIST 456
647 > #define T_UMODES 457
648 > #define T_UNAUTH 458
649 > #define T_UNDLINE 459
650 > #define T_UNLIMITED 460
651 > #define T_UNRESV 461
652 > #define T_UNXLINE 462
653 > #define T_WALLOP 463
654 > #define T_WALLOPS 464
655 > #define T_WEBIRC 465
656 > #define TBOOL 466
657 > #define THROTTLE_COUNT 467
658 > #define THROTTLE_TIME 468
659 > #define TKLINE_EXPIRE_NOTICES 469
660 > #define TMASKED 470
661 > #define TRUE_NO_OPER_FLOOD 471
662 > #define TS_MAX_DELTA 472
663 > #define TS_WARN_DELTA 473
664 > #define TWODOTS 474
665 > #define TYPE 475
666 > #define UNKLINE 476
667 > #define USE_EGD 477
668 > #define USE_LOGGING 478
669 > #define USER 479
670 > #define VHOST 480
671 > #define VHOST6 481
672 > #define WARN_NO_CONNECT_BLOCK 482
673 > #define XLINE 483
674  
675 + /* Value type.  */
676   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
677 < typedef union YYSTYPE
677 > typedef union YYSTYPE YYSTYPE;
678 > union YYSTYPE
679   {
680 < /* Line 387 of yacc.c  */
667 < #line 139 "conf_parser.y"
680 > #line 147 "conf_parser.y" /* yacc.c:355  */
681  
682    int number;
683    char *string;
684  
685 <
686 < /* Line 387 of yacc.c  */
674 < #line 675 "conf_parser.c"
675 < } YYSTYPE;
685 > #line 686 "conf_parser.c" /* yacc.c:355  */
686 > };
687   # define YYSTYPE_IS_TRIVIAL 1
677 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
688   # define YYSTYPE_IS_DECLARED 1
689   #endif
690  
691 +
692   extern YYSTYPE yylval;
693  
683 #ifdef YYPARSE_PARAM
684 #if defined __STDC__ || defined __cplusplus
685 int yyparse (void *YYPARSE_PARAM);
686 #else
687 int yyparse ();
688 #endif
689 #else /* ! YYPARSE_PARAM */
690 #if defined __STDC__ || defined __cplusplus
694   int yyparse (void);
692 #else
693 int yyparse ();
694 #endif
695 #endif /* ! YYPARSE_PARAM */
695  
696   #endif /* !YY_YY_CONF_PARSER_H_INCLUDED  */
697  
698   /* Copy the second part of user declarations.  */
699  
700 < /* Line 390 of yacc.c  */
702 < #line 703 "conf_parser.c"
700 > #line 701 "conf_parser.c" /* yacc.c:358  */
701  
702   #ifdef short
703   # undef short
# Line 713 | Line 711 | typedef unsigned char yytype_uint8;
711  
712   #ifdef YYTYPE_INT8
713   typedef YYTYPE_INT8 yytype_int8;
716 #elif (defined __STDC__ || defined __C99__FUNC__ \
717     || defined __cplusplus || defined _MSC_VER)
718 typedef signed char yytype_int8;
714   #else
715 < typedef short int yytype_int8;
715 > typedef signed char yytype_int8;
716   #endif
717  
718   #ifdef YYTYPE_UINT16
# Line 737 | Line 732 | typedef short int yytype_int16;
732   #  define YYSIZE_T __SIZE_TYPE__
733   # elif defined size_t
734   #  define YYSIZE_T size_t
735 < # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
741 <     || defined __cplusplus || defined _MSC_VER)
735 > # elif ! defined YYSIZE_T
736   #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
737   #  define YYSIZE_T size_t
738   # else
# Line 760 | Line 754 | typedef short int yytype_int16;
754   # endif
755   #endif
756  
757 < #ifndef __attribute__
758 < /* This feature is available in gcc versions 2.5 and later.  */
759 < # if (! defined __GNUC__ || __GNUC__ < 2 \
760 <      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
761 < #  define __attribute__(Spec) /* empty */
757 > #ifndef YY_ATTRIBUTE
758 > # if (defined __GNUC__                                               \
759 >      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
760 >     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
761 > #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
762 > # else
763 > #  define YY_ATTRIBUTE(Spec) /* empty */
764 > # endif
765 > #endif
766 >
767 > #ifndef YY_ATTRIBUTE_PURE
768 > # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
769 > #endif
770 >
771 > #ifndef YY_ATTRIBUTE_UNUSED
772 > # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
773 > #endif
774 >
775 > #if !defined _Noreturn \
776 >     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
777 > # if defined _MSC_VER && 1200 <= _MSC_VER
778 > #  define _Noreturn __declspec (noreturn)
779 > # else
780 > #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
781   # endif
782   #endif
783  
# Line 775 | Line 788 | typedef short int yytype_int16;
788   # define YYUSE(E) /* empty */
789   #endif
790  
791 <
792 < /* Identity function, used to suppress warnings about constant conditions.  */
793 < #ifndef lint
794 < # define YYID(N) (N)
791 > #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
792 > /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
793 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
794 >    _Pragma ("GCC diagnostic push") \
795 >    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
796 >    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
797 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
798 >    _Pragma ("GCC diagnostic pop")
799   #else
800 < #if (defined __STDC__ || defined __C99__FUNC__ \
784 <     || defined __cplusplus || defined _MSC_VER)
785 < static int
786 < YYID (int yyi)
787 < #else
788 < static int
789 < YYID (yyi)
790 <    int yyi;
800 > # define YY_INITIAL_VALUE(Value) Value
801   #endif
802 < {
803 <  return yyi;
804 < }
802 > #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
803 > # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
804 > # define YY_IGNORE_MAYBE_UNINITIALIZED_END
805 > #endif
806 > #ifndef YY_INITIAL_VALUE
807 > # define YY_INITIAL_VALUE(Value) /* Nothing. */
808   #endif
809  
810 +
811   #if ! defined yyoverflow || YYERROR_VERBOSE
812  
813   /* The parser invokes alloca or malloc; define the necessary symbols.  */
# Line 811 | Line 825 | YYID (yyi)
825   #    define alloca _alloca
826   #   else
827   #    define YYSTACK_ALLOC alloca
828 < #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
815 <     || defined __cplusplus || defined _MSC_VER)
828 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
829   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
830        /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
831   #     ifndef EXIT_SUCCESS
# Line 824 | Line 837 | YYID (yyi)
837   # endif
838  
839   # ifdef YYSTACK_ALLOC
840 <   /* Pacify GCC's `empty if-body' warning.  */
841 < #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
840 >   /* Pacify GCC's 'empty if-body' warning.  */
841 > #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
842   #  ifndef YYSTACK_ALLOC_MAXIMUM
843      /* The OS might guarantee only one guard page at the bottom of the stack,
844         and a page size can be as small as 4096 bytes.  So we cannot safely
# Line 841 | Line 854 | YYID (yyi)
854   #  endif
855   #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
856         && ! ((defined YYMALLOC || defined malloc) \
857 <             && (defined YYFREE || defined free)))
857 >             && (defined YYFREE || defined free)))
858   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
859   #   ifndef EXIT_SUCCESS
860   #    define EXIT_SUCCESS 0
# Line 849 | Line 862 | YYID (yyi)
862   #  endif
863   #  ifndef YYMALLOC
864   #   define YYMALLOC malloc
865 < #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
853 <     || defined __cplusplus || defined _MSC_VER)
865 > #   if ! defined malloc && ! defined EXIT_SUCCESS
866   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
867   #   endif
868   #  endif
869   #  ifndef YYFREE
870   #   define YYFREE free
871 < #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
860 <     || defined __cplusplus || defined _MSC_VER)
871 > #   if ! defined free && ! defined EXIT_SUCCESS
872   void free (void *); /* INFRINGES ON USER NAME SPACE */
873   #   endif
874   #  endif
# Line 867 | Line 878 | void free (void *); /* INFRINGES ON USER
878  
879   #if (! defined yyoverflow \
880       && (! defined __cplusplus \
881 <         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
881 >         || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
882  
883   /* A type that is properly aligned for any stack member.  */
884   union yyalloc
# Line 892 | Line 903 | union yyalloc
903     elements in the stack, and YYPTR gives the new location of the
904     stack.  Advance YYPTR to a properly aligned location for the next
905     stack.  */
906 < # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
907 <    do                                                                  \
908 <      {                                                                 \
909 <        YYSIZE_T yynewbytes;                                            \
910 <        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
911 <        Stack = &yyptr->Stack_alloc;                                    \
912 <        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
913 <        yyptr += yynewbytes / sizeof (*yyptr);                          \
914 <      }                                                                 \
915 <    while (YYID (0))
906 > # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
907 >    do                                                                  \
908 >      {                                                                 \
909 >        YYSIZE_T yynewbytes;                                            \
910 >        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
911 >        Stack = &yyptr->Stack_alloc;                                    \
912 >        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
913 >        yyptr += yynewbytes / sizeof (*yyptr);                          \
914 >      }                                                                 \
915 >    while (0)
916  
917   #endif
918  
# Line 920 | Line 931 | union yyalloc
931            for (yyi = 0; yyi < (Count); yyi++)   \
932              (Dst)[yyi] = (Src)[yyi];            \
933          }                                       \
934 <      while (YYID (0))
934 >      while (0)
935   #  endif
936   # endif
937   #endif /* !YYCOPY_NEEDED */
# Line 928 | Line 939 | union yyalloc
939   /* YYFINAL -- State number of the termination state.  */
940   #define YYFINAL  2
941   /* YYLAST -- Last index in YYTABLE.  */
942 < #define YYLAST   1225
942 > #define YYLAST   1364
943  
944   /* YYNTOKENS -- Number of terminals.  */
945 < #define YYNTOKENS  229
945 > #define YYNTOKENS  235
946   /* YYNNTS -- Number of nonterminals.  */
947 < #define YYNNTS  286
947 > #define YYNNTS  289
948   /* YYNRULES -- Number of rules.  */
949 < #define YYNRULES  644
950 < /* YYNRULES -- Number of states.  */
951 < #define YYNSTATES  1260
949 > #define YYNRULES  653
950 > /* YYNSTATES -- Number of states.  */
951 > #define YYNSTATES  1288
952  
953 < /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
953 > /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
954 >   by yylex, with out-of-bounds checking.  */
955   #define YYUNDEFTOK  2
956 < #define YYMAXUTOK   477
956 > #define YYMAXUTOK   483
957  
958 < #define YYTRANSLATE(YYX)                                                \
958 > #define YYTRANSLATE(YYX)                                                \
959    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
960  
961 < /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
961 > /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
962 >   as returned by yylex, without out-of-bounds checking.  */
963   static const yytype_uint8 yytranslate[] =
964   {
965         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
966         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
967         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
968         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
969 <       2,     2,     2,     2,   227,     2,     2,     2,     2,     2,
970 <       2,     2,     2,     2,     2,     2,     2,     2,   228,   223,
971 <       2,   226,     2,     2,     2,     2,     2,     2,     2,     2,
969 >       2,     2,     2,     2,   233,     2,     2,     2,     2,     2,
970 >       2,     2,     2,     2,     2,     2,     2,     2,   234,   229,
971 >       2,   232,     2,     2,     2,     2,     2,     2,     2,     2,
972         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
973         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
974         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
975         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
976         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
977 <       2,     2,     2,   225,     2,   224,     2,     2,     2,     2,
977 >       2,     2,     2,   231,     2,   230,     2,     2,     2,     2,
978         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
979         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
980         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 996 | Line 1009 | static const yytype_uint8 yytranslate[]
1009       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1010       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1011       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1012 <     215,   216,   217,   218,   219,   220,   221,   222
1012 >     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1013 >     225,   226,   227,   228
1014   };
1015  
1016   #if YYDEBUG
1017 < /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1004 <   YYRHS.  */
1005 < static const yytype_uint16 yyprhs[] =
1006 < {
1007 <       0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
1008 <      19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
1009 <      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
1010 <      61,    65,    69,    73,    77,    81,    85,    89,    90,    92,
1011 <      95,    99,   103,   107,   113,   116,   118,   120,   122,   125,
1012 <     130,   135,   141,   144,   146,   148,   150,   152,   154,   156,
1013 <     158,   160,   162,   164,   166,   168,   170,   172,   174,   176,
1014 <     178,   180,   183,   188,   193,   197,   199,   201,   203,   207,
1015 <     209,   211,   213,   218,   223,   228,   233,   238,   243,   248,
1016 <     253,   258,   263,   268,   273,   278,   283,   288,   294,   297,
1017 <     299,   301,   303,   305,   308,   313,   318,   323,   324,   331,
1018 <     334,   336,   338,   340,   343,   348,   353,   359,   362,   364,
1019 <     366,   368,   371,   376,   377,   384,   387,   389,   391,   393,
1020 <     395,   398,   403,   408,   413,   414,   420,   424,   426,   428,
1021 <     430,   432,   434,   436,   438,   440,   441,   448,   451,   453,
1022 <     455,   457,   459,   461,   463,   465,   467,   469,   472,   477,
1023 <     482,   487,   492,   497,   502,   503,   509,   513,   515,   517,
1024 <     519,   521,   523,   525,   527,   529,   531,   533,   535,   537,
1025 <     539,   541,   543,   545,   547,   549,   551,   553,   555,   557,
1026 <     558,   564,   568,   570,   574,   576,   580,   582,   586,   588,
1027 <     590,   592,   594,   596,   598,   600,   602,   604,   606,   608,
1028 <     610,   612,   614,   616,   618,   620,   622,   623,   630,   633,
1029 <     635,   637,   639,   641,   643,   645,   647,   649,   651,   653,
1030 <     655,   657,   659,   661,   663,   665,   667,   670,   675,   680,
1031 <     685,   690,   695,   700,   705,   710,   715,   720,   725,   730,
1032 <     735,   740,   745,   746,   752,   756,   758,   760,   762,   763,
1033 <     770,   771,   777,   781,   783,   785,   787,   789,   792,   794,
1034 <     796,   798,   800,   802,   805,   806,   812,   816,   818,   820,
1035 <     824,   829,   834,   835,   842,   845,   847,   849,   851,   853,
1036 <     855,   857,   859,   861,   863,   866,   871,   876,   881,   886,
1037 <     887,   893,   897,   899,   901,   903,   905,   907,   909,   911,
1038 <     913,   915,   917,   919,   924,   929,   934,   935,   942,   945,
1039 <     947,   949,   951,   953,   956,   961,   966,   971,   977,   980,
1040 <     982,   984,   986,   991,   992,   999,  1002,  1004,  1006,  1008,
1041 <    1010,  1013,  1018,  1023,  1024,  1030,  1034,  1036,  1038,  1040,
1042 <    1042,  1044,  1046,  1048,  1050,  1052,  1054,  1056,  1057,  1064,
1043 <    1067,  1069,  1071,  1073,  1076,  1081,  1082,  1088,  1092,  1094,
1044 <    1096,  1098,  1100,  1102,  1104,  1106,  1108,  1110,  1112,  1114,
1045 <    1115,  1122,  1125,  1127,  1129,  1131,  1133,  1135,  1137,  1139,
1046 <    1141,  1143,  1145,  1147,  1149,  1151,  1153,  1156,  1161,  1166,
1047 <    1171,  1176,  1181,  1186,  1191,  1196,  1197,  1203,  1207,  1209,
1048 <    1211,  1213,  1218,  1223,  1228,  1233,  1238,  1239,  1246,  1249,
1049 <    1251,  1253,  1255,  1257,  1262,  1267,  1268,  1275,  1278,  1280,
1050 <    1282,  1284,  1286,  1291,  1296,  1302,  1305,  1307,  1309,  1311,
1051 <    1316,  1317,  1324,  1327,  1329,  1331,  1333,  1335,  1340,  1345,
1052 <    1351,  1354,  1356,  1358,  1360,  1362,  1364,  1366,  1368,  1370,
1053 <    1372,  1374,  1376,  1378,  1380,  1382,  1384,  1386,  1388,  1390,
1054 <    1392,  1394,  1396,  1398,  1400,  1402,  1404,  1406,  1408,  1410,
1055 <    1412,  1414,  1416,  1418,  1420,  1422,  1424,  1426,  1428,  1430,
1056 <    1432,  1434,  1436,  1438,  1440,  1442,  1444,  1446,  1448,  1450,
1057 <    1452,  1457,  1462,  1467,  1472,  1477,  1482,  1487,  1492,  1497,
1058 <    1502,  1507,  1512,  1517,  1522,  1527,  1532,  1537,  1542,  1547,
1059 <    1552,  1557,  1562,  1567,  1572,  1577,  1582,  1587,  1592,  1597,
1060 <    1602,  1607,  1612,  1617,  1622,  1627,  1632,  1637,  1642,  1647,
1061 <    1652,  1657,  1662,  1667,  1672,  1673,  1679,  1683,  1685,  1687,
1062 <    1689,  1691,  1693,  1695,  1697,  1699,  1701,  1703,  1705,  1707,
1063 <    1709,  1711,  1713,  1715,  1717,  1719,  1721,  1723,  1725,  1727,
1064 <    1728,  1734,  1738,  1740,  1742,  1744,  1746,  1748,  1750,  1752,
1065 <    1754,  1756,  1758,  1760,  1762,  1764,  1766,  1768,  1770,  1772,
1066 <    1774,  1776,  1778,  1780,  1782,  1787,  1792,  1797,  1803,  1806,
1067 <    1808,  1810,  1812,  1814,  1816,  1818,  1820,  1822,  1824,  1826,
1068 <    1828,  1830,  1832,  1834,  1839,  1844,  1849,  1854,  1859,  1864,
1069 <    1869,  1874,  1879,  1884,  1889,  1894,  1900,  1903,  1905,  1907,
1070 <    1909,  1911,  1913,  1915,  1917,  1919,  1921,  1923,  1928,  1933,
1071 <    1938,  1943,  1948,  1953,  1958
1072 < };
1073 <
1074 < /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1075 < static const yytype_int16 yyrhs[] =
1076 < {
1077 <     230,     0,    -1,    -1,   230,   231,    -1,   265,    -1,   277,
1078 <      -1,   291,    -1,   489,    -1,   309,    -1,   332,    -1,   346,
1079 <      -1,   241,    -1,   504,    -1,   361,    -1,   368,    -1,   372,
1080 <      -1,   382,    -1,   391,    -1,   411,    -1,   417,    -1,   423,
1081 <      -1,   433,    -1,   427,    -1,   236,    -1,   271,    -1,     1,
1082 <     223,    -1,     1,   224,    -1,    -1,   233,    -1,   107,   232,
1083 <      -1,   107,   134,   232,    -1,   107,   135,   232,    -1,   107,
1084 <     136,   232,    -1,   107,   137,   232,    -1,   107,   138,   232,
1085 <      -1,   107,   139,   232,    -1,   107,   140,   232,    -1,    -1,
1086 <     235,    -1,   107,   234,    -1,   107,     9,   234,    -1,   107,
1087 <      10,   234,    -1,   107,    11,   234,    -1,    95,   225,   237,
1088 <     224,   223,    -1,   237,   238,    -1,   238,    -1,   239,    -1,
1089 <     240,    -1,     1,   223,    -1,    94,   226,   122,   223,    -1,
1090 <     118,   226,   122,   223,    -1,   144,   225,   242,   224,   223,
1091 <      -1,   242,   243,    -1,   243,    -1,   254,    -1,   259,    -1,
1092 <     264,    -1,   256,    -1,   257,    -1,   258,    -1,   261,    -1,
1093 <     262,    -1,   263,    -1,   252,    -1,   251,    -1,   260,    -1,
1094 <     255,    -1,   250,    -1,   244,    -1,   245,    -1,   253,    -1,
1095 <       1,   223,    -1,   193,   226,   246,   223,    -1,   194,   226,
1096 <     248,   223,    -1,   246,   227,   247,    -1,   247,    -1,   195,
1097 <      -1,   196,    -1,   248,   227,   249,    -1,   249,    -1,   195,
1098 <      -1,   196,    -1,   149,   226,   122,   223,    -1,   132,   226,
1099 <     122,   223,    -1,   150,   226,   122,   223,    -1,   192,   226,
1100 <     122,   223,    -1,    97,   226,   122,   223,    -1,    63,   226,
1101 <     122,   223,    -1,    24,   226,   122,   223,    -1,   101,   226,
1102 <     122,   223,    -1,   100,   226,   122,   223,    -1,   219,   226,
1103 <     122,   223,    -1,   220,   226,   122,   223,    -1,   174,   226,
1104 <     107,   223,    -1,    85,   226,   107,   223,    -1,    89,   226,
1105 <     107,   223,    -1,    56,   226,   206,   223,    -1,     4,   225,
1106 <     266,   224,   223,    -1,   266,   267,    -1,   267,    -1,   268,
1107 <      -1,   270,    -1,   269,    -1,     1,   223,    -1,    97,   226,
1108 <     122,   223,    -1,    31,   226,   122,   223,    -1,    24,   226,
1109 <     122,   223,    -1,    -1,    96,   272,   225,   273,   224,   223,
1110 <      -1,   273,   274,    -1,   274,    -1,   275,    -1,   276,    -1,
1111 <       1,   223,    -1,    75,   226,   122,   223,    -1,   166,   226,
1112 <     122,   223,    -1,   173,   225,   278,   224,   223,    -1,   278,
1113 <     279,    -1,   279,    -1,   280,    -1,   281,    -1,     1,   223,
1114 <      -1,   217,   226,   206,   223,    -1,    -1,   282,   166,   225,
1115 <     283,   224,   223,    -1,   283,   284,    -1,   284,    -1,   285,
1116 <      -1,   287,    -1,   286,    -1,     1,   223,    -1,    97,   226,
1117 <     122,   223,    -1,   187,   226,   235,   223,    -1,   187,   226,
1118 <     200,   223,    -1,    -1,   214,   288,   226,   289,   223,    -1,
1119 <     289,   227,   290,    -1,   290,    -1,   218,    -1,   113,    -1,
1120 <      39,    -1,   163,    -1,    68,    -1,    66,    -1,   162,    -1,
1121 <      -1,   113,   292,   225,   293,   224,   223,    -1,   293,   294,
1122 <      -1,   294,    -1,   295,    -1,   296,    -1,   297,    -1,   301,
1123 <      -1,   300,    -1,   298,    -1,   299,    -1,   305,    -1,     1,
1124 <     223,    -1,    97,   226,   122,   223,    -1,   218,   226,   122,
1125 <     223,    -1,   117,   226,   122,   223,    -1,    32,   226,   206,
1126 <     223,    -1,   133,   226,   122,   223,    -1,    17,   226,   122,
1127 <     223,    -1,    -1,   197,   302,   226,   303,   223,    -1,   303,
1128 <     227,   304,    -1,   304,    -1,   157,    -1,   159,    -1,   161,
1129 <      -1,   162,    -1,   167,    -1,    48,    -1,   188,    -1,   175,
1130 <      -1,   179,    -1,   198,    -1,   190,    -1,   164,    -1,   177,
1131 <      -1,   184,    -1,   169,    -1,   203,    -1,   189,    -1,   158,
1132 <      -1,   172,    -1,   176,    -1,   165,    -1,    -1,    62,   306,
1133 <     226,   307,   223,    -1,   307,   227,   308,    -1,   308,    -1,
1134 <      66,   228,   128,    -1,    66,    -1,    18,   228,   128,    -1,
1135 <      18,    -1,   148,   228,   128,    -1,   148,    -1,    68,    -1,
1136 <     215,    -1,   163,    -1,   199,    -1,   222,    -1,    39,    -1,
1137 <      25,    -1,   180,    -1,   127,    -1,     4,    -1,   177,    -1,
1138 <     168,    -1,   204,    -1,   172,    -1,   129,    -1,   185,    -1,
1139 <      94,    -1,    -1,    17,   310,   225,   311,   224,   223,    -1,
1140 <     311,   312,    -1,   312,    -1,   313,    -1,   323,    -1,   324,
1141 <      -1,   314,    -1,   325,    -1,   315,    -1,   316,    -1,   317,
1142 <      -1,   318,    -1,   319,    -1,   320,    -1,   321,    -1,   322,
1143 <      -1,   326,    -1,   327,    -1,   328,    -1,     1,   223,    -1,
1144 <      97,   226,   122,   223,    -1,   120,   226,   233,   223,    -1,
1145 <     109,   226,   107,   223,    -1,    19,   226,   233,   223,    -1,
1146 <      87,   226,   107,   223,    -1,    80,   226,   107,   223,    -1,
1147 <      83,   226,   107,   223,    -1,    81,   226,   107,   223,    -1,
1148 <     142,   226,   235,   223,    -1,   178,   226,   235,   223,    -1,
1149 <      15,   226,   107,   223,    -1,    16,   226,   107,   223,    -1,
1150 <     108,   226,   107,   223,    -1,    91,   226,   233,   223,    -1,
1151 <      82,   226,   233,   223,    -1,    -1,    62,   329,   226,   330,
1152 <     223,    -1,   330,   227,   331,    -1,   331,    -1,   123,    -1,
1153 <      50,    -1,    -1,    74,   333,   225,   338,   224,   223,    -1,
1154 <      -1,    62,   335,   226,   336,   223,    -1,   336,   227,   337,
1155 <      -1,   337,    -1,   191,    -1,    48,    -1,   181,    -1,   338,
1156 <     339,    -1,   339,    -1,   340,    -1,   334,    -1,   344,    -1,
1157 <     345,    -1,     1,   223,    -1,    -1,   121,   226,   342,   341,
1158 <     223,    -1,   342,   227,   343,    -1,   343,    -1,   107,    -1,
1159 <     107,   213,   107,    -1,    60,   226,   122,   223,    -1,    55,
1160 <     226,   122,   223,    -1,    -1,    61,   347,   225,   348,   224,
1161 <     223,    -1,   348,   349,    -1,   349,    -1,   350,    -1,   351,
1162 <      -1,   352,    -1,   354,    -1,   358,    -1,   359,    -1,   360,
1163 <      -1,   353,    -1,     1,   223,    -1,   218,   226,   122,   223,
1164 <      -1,   117,   226,   122,   223,    -1,    17,   226,   122,   223,
1165 <      -1,    32,   226,   206,   223,    -1,    -1,    62,   355,   226,
1166 <     356,   223,    -1,   356,   227,   357,    -1,   357,    -1,   147,
1167 <      -1,    33,    -1,    69,    -1,    98,    -1,    13,    -1,   106,
1168 <      -1,    42,    -1,   131,    -1,   205,    -1,    99,    -1,   146,
1169 <     226,   122,   223,    -1,   126,   226,   122,   223,    -1,   125,
1170 <     226,   107,   223,    -1,    -1,   130,   362,   225,   363,   224,
1171 <     223,    -1,   363,   364,    -1,   364,    -1,   365,    -1,   366,
1172 <      -1,   367,    -1,     1,   223,    -1,    75,   226,   122,   223,
1173 <      -1,   124,   226,   122,   223,    -1,    34,   226,   122,   223,
1174 <      -1,   182,   225,   369,   224,   223,    -1,   369,   370,    -1,
1175 <     370,    -1,   371,    -1,     1,    -1,    97,   226,   122,   223,
1176 <      -1,    -1,   186,   373,   225,   374,   224,   223,    -1,   374,
1177 <     375,    -1,   375,    -1,   376,    -1,   377,    -1,   378,    -1,
1178 <       1,   223,    -1,    97,   226,   122,   223,    -1,   218,   226,
1179 <     122,   223,    -1,    -1,   214,   379,   226,   380,   223,    -1,
1180 <     380,   227,   381,    -1,   381,    -1,    68,    -1,   215,    -1,
1181 <     163,    -1,   199,    -1,   222,    -1,   202,    -1,   130,    -1,
1182 <     201,    -1,   172,    -1,   156,    -1,    -1,   160,   383,   225,
1183 <     384,   224,   223,    -1,   384,   385,    -1,   385,    -1,   386,
1184 <      -1,   387,    -1,     1,   223,    -1,    97,   226,   122,   223,
1185 <      -1,    -1,   214,   388,   226,   389,   223,    -1,   389,   227,
1186 <     390,    -1,   390,    -1,    68,    -1,   215,    -1,   163,    -1,
1187 <     199,    -1,   222,    -1,   202,    -1,   130,    -1,   201,    -1,
1188 <     172,    -1,   156,    -1,    -1,    18,   392,   225,   393,   224,
1189 <     223,    -1,   393,   394,    -1,   394,    -1,   395,    -1,   396,
1190 <      -1,   397,    -1,   398,    -1,   399,    -1,   401,    -1,   400,
1191 <      -1,   410,    -1,   402,    -1,   407,    -1,   408,    -1,   409,
1192 <      -1,   406,    -1,     1,   223,    -1,    97,   226,   122,   223,
1193 <      -1,    55,   226,   122,   223,    -1,   219,   226,   122,   223,
1194 <      -1,   141,   226,   122,   223,    -1,     3,   226,   122,   223,
1195 <      -1,   121,   226,   107,   223,    -1,     5,   226,   170,   223,
1196 <      -1,     5,   226,   171,   223,    -1,    -1,    62,   403,   226,
1197 <     404,   223,    -1,   404,   227,   405,    -1,   405,    -1,     8,
1198 <      -1,   191,    -1,    32,   226,   206,   223,    -1,    57,   226,
1199 <     122,   223,    -1,    72,   226,   122,   223,    -1,    17,   226,
1200 <     122,   223,    -1,   192,   226,   122,   223,    -1,    -1,    66,
1201 <     412,   225,   413,   224,   223,    -1,   413,   414,    -1,   414,
1202 <      -1,   415,    -1,   416,    -1,     1,    -1,   218,   226,   122,
1203 <     223,    -1,   124,   226,   122,   223,    -1,    -1,    23,   418,
1204 <     225,   419,   224,   223,    -1,   419,   420,    -1,   420,    -1,
1205 <     421,    -1,   422,    -1,     1,    -1,    60,   226,   122,   223,
1206 <      -1,   124,   226,   122,   223,    -1,    34,   225,   424,   224,
1207 <     223,    -1,   424,   425,    -1,   425,    -1,   426,    -1,     1,
1208 <      -1,    60,   226,   122,   223,    -1,    -1,    37,   428,   225,
1209 <     429,   224,   223,    -1,   429,   430,    -1,   430,    -1,   431,
1210 <      -1,   432,    -1,     1,    -1,    97,   226,   122,   223,    -1,
1211 <     124,   226,   122,   223,    -1,    38,   225,   434,   224,   223,
1212 <      -1,   434,   435,    -1,   435,    -1,   444,    -1,   445,    -1,
1213 <     446,    -1,   447,    -1,   448,    -1,   449,    -1,   450,    -1,
1214 <     451,    -1,   452,    -1,   453,    -1,   443,    -1,   455,    -1,
1215 <     456,    -1,   470,    -1,   458,    -1,   460,    -1,   462,    -1,
1216 <     461,    -1,   465,    -1,   459,    -1,   466,    -1,   467,    -1,
1217 <     468,    -1,   469,    -1,   482,    -1,   471,    -1,   472,    -1,
1218 <     473,    -1,   478,    -1,   463,    -1,   464,    -1,   488,    -1,
1219 <     486,    -1,   487,    -1,   477,    -1,   454,    -1,   475,    -1,
1220 <     476,    -1,   442,    -1,   437,    -1,   438,    -1,   439,    -1,
1221 <     440,    -1,   441,    -1,   457,    -1,   436,    -1,   474,    -1,
1222 <       1,    -1,    90,   226,   107,   223,    -1,    41,   226,   206,
1223 <     223,    -1,    40,   226,   233,   223,    -1,    45,   226,   233,
1224 <     223,    -1,    43,   226,   107,   223,    -1,    44,   226,   107,
1225 <     223,    -1,   208,   226,   206,   223,    -1,    67,   226,   233,
1226 <     223,    -1,    54,   226,   206,   223,    -1,    58,   226,   206,
1227 <     223,    -1,    35,   226,   206,   223,    -1,     6,   226,   206,
1228 <     223,    -1,    86,   226,   233,   223,    -1,    84,   226,   107,
1229 <     223,    -1,    76,   226,   107,   223,    -1,     7,   226,   233,
1230 <     223,    -1,   212,   226,   233,   223,    -1,   211,   226,   233,
1231 <     223,    -1,    47,   226,   107,   223,    -1,    59,   226,   206,
1232 <     223,    -1,   221,   226,   206,   223,    -1,   151,   226,   206,
1233 <     223,    -1,   154,   226,   206,   223,    -1,   155,   226,   206,
1234 <     223,    -1,   153,   226,   206,   223,    -1,   153,   226,   209,
1235 <     223,    -1,   152,   226,   206,   223,    -1,   152,   226,   209,
1236 <     223,    -1,   115,   226,   233,   223,    -1,    12,   226,   233,
1237 <     223,    -1,   114,   226,   206,   223,    -1,   116,   226,   233,
1238 <     223,    -1,   145,   226,   206,   223,    -1,   105,   226,   206,
1239 <     223,    -1,   210,   226,   206,   223,    -1,   111,   226,   206,
1240 <     223,    -1,    29,   226,   107,   223,    -1,    88,   226,   107,
1241 <     223,    -1,   216,   226,   206,   223,    -1,    30,   226,   122,
1242 <     223,    -1,   183,   226,   122,   223,    -1,   119,   226,   206,
1243 <     223,    -1,    26,   226,   206,   223,    -1,   207,   226,   233,
1244 <     223,    -1,    -1,   112,   479,   226,   480,   223,    -1,   480,
1245 <     227,   481,    -1,   481,    -1,   157,    -1,   159,    -1,   161,
1246 <      -1,   162,    -1,   167,    -1,    48,    -1,   188,    -1,   175,
1247 <      -1,   179,    -1,   198,    -1,   190,    -1,   164,    -1,   177,
1248 <      -1,   184,    -1,   169,    -1,   203,    -1,   189,    -1,   158,
1249 <      -1,   172,    -1,   176,    -1,   165,    -1,    -1,   110,   483,
1250 <     226,   484,   223,    -1,   484,   227,   485,    -1,   485,    -1,
1251 <     157,    -1,   159,    -1,   161,    -1,   162,    -1,   167,    -1,
1252 <     188,    -1,    48,    -1,   175,    -1,   179,    -1,   198,    -1,
1253 <     190,    -1,   164,    -1,   177,    -1,   184,    -1,   169,    -1,
1254 <     203,    -1,   189,    -1,   158,    -1,   172,    -1,   176,    -1,
1255 <     165,    -1,    92,   226,   107,   223,    -1,    93,   226,   107,
1256 <     223,    -1,    20,   226,   107,   223,    -1,    14,   225,   490,
1257 <     224,   223,    -1,   490,   491,    -1,   491,    -1,   497,    -1,
1258 <     493,    -1,   494,    -1,   495,    -1,   496,    -1,   498,    -1,
1259 <     499,    -1,   500,    -1,   501,    -1,   502,    -1,   503,    -1,
1260 <     492,    -1,     1,    -1,    27,   226,   206,   223,    -1,    70,
1261 <     226,   233,   223,    -1,    71,   226,   233,   223,    -1,    79,
1262 <     226,   107,   223,    -1,    78,   226,   107,   223,    -1,    77,
1263 <     226,   107,   223,    -1,    22,   226,   107,   223,    -1,    21,
1264 <     226,   107,   223,    -1,   103,   226,   206,   223,    -1,   104,
1265 <     226,   206,   223,    -1,    64,   226,   107,   223,    -1,    65,
1266 <     226,   233,   223,    -1,   143,   225,   505,   224,   223,    -1,
1267 <     505,   506,    -1,   506,    -1,   507,    -1,   508,    -1,   509,
1268 <      -1,   510,    -1,   512,    -1,   513,    -1,   511,    -1,   514,
1269 <      -1,     1,    -1,    36,   226,   206,   223,    -1,    28,   226,
1270 <     206,   223,    -1,    52,   226,   206,   223,    -1,    53,   226,
1271 <     206,   223,    -1,    49,   226,   122,   223,    -1,    73,   226,
1272 <     233,   223,    -1,    48,   226,   206,   223,    -1,    51,   226,
1273 <     206,   223,    -1
1274 < };
1275 <
1276 < /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1017 >  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1018   static const yytype_uint16 yyrline[] =
1019   {
1020 <       0,   365,   365,   366,   369,   370,   371,   372,   373,   374,
1021 <     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1022 <     385,   386,   387,   388,   389,   390,   391,   395,   395,   396,
1023 <     400,   404,   408,   412,   416,   420,   424,   430,   430,   431,
1024 <     432,   433,   434,   441,   444,   444,   445,   445,   445,   447,
1025 <     453,   460,   462,   462,   463,   463,   464,   464,   465,   465,
1026 <     466,   466,   467,   467,   468,   468,   469,   469,   470,   470,
1027 <     471,   472,   475,   476,   478,   478,   479,   485,   493,   493,
1028 <     494,   500,   508,   550,   609,   637,   645,   660,   675,   684,
1029 <     698,   707,   735,   765,   790,   812,   834,   843,   845,   845,
1030 <     846,   846,   847,   847,   849,   858,   867,   880,   879,   897,
1031 <     897,   898,   898,   898,   900,   906,   915,   916,   916,   918,
1032 <     918,   919,   921,   928,   928,   941,   942,   944,   944,   945,
1033 <     945,   947,   955,   958,   964,   963,   969,   969,   970,   974,
1034 <     978,   982,   986,   990,   994,  1005,  1004,  1081,  1081,  1082,
1035 <    1082,  1082,  1083,  1083,  1083,  1084,  1084,  1084,  1086,  1092,
1036 <    1098,  1104,  1115,  1121,  1128,  1127,  1133,  1133,  1134,  1138,
1037 <    1142,  1146,  1150,  1154,  1158,  1162,  1166,  1170,  1174,  1178,
1038 <    1182,  1186,  1190,  1194,  1198,  1202,  1206,  1210,  1214,  1221,
1039 <    1220,  1226,  1226,  1227,  1231,  1235,  1239,  1243,  1247,  1251,
1040 <    1255,  1259,  1263,  1267,  1271,  1275,  1279,  1283,  1287,  1291,
1041 <    1295,  1299,  1303,  1307,  1311,  1315,  1326,  1325,  1386,  1386,
1042 <    1387,  1388,  1388,  1389,  1390,  1391,  1392,  1393,  1394,  1395,
1043 <    1396,  1397,  1397,  1398,  1399,  1400,  1401,  1403,  1409,  1415,
1044 <    1421,  1427,  1433,  1439,  1445,  1451,  1457,  1464,  1470,  1476,
1045 <    1482,  1491,  1501,  1500,  1506,  1506,  1507,  1511,  1522,  1521,
1046 <    1528,  1527,  1532,  1532,  1533,  1537,  1541,  1547,  1547,  1548,
1047 <    1548,  1548,  1548,  1548,  1550,  1550,  1552,  1552,  1554,  1568,
1048 <    1588,  1594,  1604,  1603,  1645,  1645,  1646,  1646,  1646,  1646,
1049 <    1647,  1647,  1647,  1648,  1648,  1650,  1656,  1662,  1668,  1680,
1050 <    1679,  1685,  1685,  1686,  1690,  1694,  1698,  1702,  1706,  1710,
1051 <    1714,  1718,  1722,  1728,  1742,  1751,  1765,  1764,  1779,  1779,
1052 <    1780,  1780,  1780,  1780,  1782,  1788,  1794,  1804,  1806,  1806,
1053 <    1807,  1807,  1809,  1825,  1824,  1849,  1849,  1850,  1850,  1850,
1054 <    1850,  1852,  1858,  1878,  1877,  1883,  1883,  1884,  1888,  1892,
1055 <    1896,  1900,  1904,  1908,  1912,  1916,  1920,  1930,  1929,  1950,
1056 <    1950,  1951,  1951,  1951,  1953,  1960,  1959,  1965,  1965,  1966,
1057 <    1970,  1974,  1978,  1982,  1986,  1990,  1994,  1998,  2002,  2012,
1058 <    2011,  2077,  2077,  2078,  2078,  2078,  2079,  2079,  2080,  2080,
1059 <    2080,  2081,  2081,  2081,  2082,  2082,  2083,  2085,  2091,  2097,
1060 <    2103,  2116,  2129,  2135,  2139,  2148,  2147,  2152,  2152,  2153,
1061 <    2157,  2163,  2174,  2180,  2186,  2192,  2208,  2207,  2233,  2233,
1062 <    2234,  2234,  2234,  2236,  2256,  2266,  2265,  2292,  2292,  2293,
1063 <    2293,  2293,  2295,  2301,  2310,  2312,  2312,  2313,  2313,  2315,
1064 <    2333,  2332,  2355,  2355,  2356,  2356,  2356,  2358,  2364,  2373,
1065 <    2376,  2376,  2377,  2377,  2378,  2378,  2379,  2379,  2380,  2380,
1066 <    2381,  2381,  2382,  2383,  2384,  2384,  2385,  2385,  2386,  2386,
1067 <    2387,  2387,  2388,  2388,  2389,  2389,  2390,  2390,  2391,  2391,
1068 <    2392,  2392,  2393,  2393,  2394,  2394,  2395,  2395,  2396,  2397,
1069 <    2398,  2398,  2399,  2399,  2400,  2401,  2402,  2403,  2403,  2404,
1070 <    2407,  2412,  2418,  2424,  2430,  2435,  2440,  2445,  2450,  2455,
1071 <    2460,  2465,  2470,  2475,  2480,  2485,  2490,  2495,  2501,  2512,
1072 <    2517,  2522,  2527,  2532,  2537,  2540,  2545,  2548,  2553,  2558,
1073 <    2563,  2568,  2573,  2578,  2583,  2588,  2593,  2598,  2603,  2608,
1074 <    2617,  2626,  2631,  2636,  2642,  2641,  2646,  2646,  2647,  2650,
1075 <    2653,  2656,  2659,  2662,  2665,  2668,  2671,  2674,  2677,  2680,
1076 <    2683,  2686,  2689,  2692,  2695,  2698,  2701,  2704,  2707,  2713,
1077 <    2712,  2717,  2717,  2718,  2721,  2724,  2727,  2730,  2733,  2736,
1078 <    2739,  2742,  2745,  2748,  2751,  2754,  2757,  2760,  2763,  2766,
1079 <    2769,  2772,  2775,  2778,  2783,  2788,  2793,  2802,  2805,  2805,
1080 <    2806,  2807,  2807,  2808,  2808,  2809,  2810,  2811,  2812,  2813,
1081 <    2813,  2814,  2814,  2816,  2821,  2826,  2831,  2836,  2841,  2846,
1082 <    2851,  2856,  2861,  2866,  2871,  2879,  2882,  2882,  2883,  2883,
1083 <    2884,  2885,  2886,  2887,  2887,  2888,  2889,  2891,  2897,  2903,
1084 <    2909,  2915,  2924,  2938,  2944
1020 >       0,   379,   379,   380,   383,   384,   385,   386,   387,   388,
1021 >     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
1022 >     399,   400,   401,   402,   403,   404,   405,   409,   409,   410,
1023 >     411,   412,   413,   414,   415,   416,   417,   420,   420,   421,
1024 >     422,   423,   424,   431,   434,   434,   435,   435,   435,   437,
1025 >     443,   450,   452,   452,   453,   454,   455,   456,   457,   458,
1026 >     459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
1027 >     469,   470,   473,   515,   573,   602,   610,   624,   652,   667,
1028 >     682,   691,   705,   714,   742,   772,   797,   819,   841,   850,
1029 >     852,   852,   853,   854,   855,   856,   858,   867,   876,   889,
1030 >     888,   906,   906,   907,   907,   907,   909,   915,   924,   925,
1031 >     925,   927,   927,   928,   930,   937,   937,   950,   951,   953,
1032 >     953,   954,   954,   956,   964,   967,   973,   972,   978,   978,
1033 >     979,   983,   987,   991,   995,   999,  1003,  1007,  1011,  1022,
1034 >    1021,  1107,  1107,  1108,  1109,  1110,  1111,  1112,  1113,  1114,
1035 >    1115,  1116,  1117,  1118,  1120,  1126,  1132,  1138,  1149,  1155,
1036 >    1161,  1172,  1179,  1178,  1184,  1184,  1185,  1189,  1193,  1197,
1037 >    1201,  1205,  1209,  1213,  1217,  1221,  1225,  1229,  1233,  1237,
1038 >    1241,  1245,  1249,  1253,  1257,  1261,  1265,  1269,  1276,  1275,
1039 >    1281,  1281,  1282,  1286,  1290,  1294,  1298,  1302,  1306,  1310,
1040 >    1314,  1318,  1322,  1326,  1330,  1334,  1338,  1342,  1346,  1350,
1041 >    1354,  1358,  1362,  1366,  1370,  1381,  1380,  1442,  1442,  1443,
1042 >    1444,  1445,  1446,  1447,  1448,  1449,  1450,  1451,  1452,  1453,
1043 >    1454,  1455,  1455,  1456,  1457,  1458,  1459,  1461,  1467,  1473,
1044 >    1479,  1485,  1491,  1497,  1503,  1509,  1515,  1521,  1528,  1534,
1045 >    1540,  1546,  1555,  1565,  1564,  1570,  1570,  1571,  1575,  1586,
1046 >    1585,  1592,  1591,  1596,  1596,  1597,  1601,  1605,  1611,  1611,
1047 >    1612,  1612,  1612,  1612,  1612,  1614,  1614,  1616,  1616,  1618,
1048 >    1632,  1650,  1656,  1666,  1665,  1707,  1707,  1708,  1709,  1710,
1049 >    1711,  1712,  1713,  1714,  1715,  1716,  1718,  1724,  1730,  1736,
1050 >    1748,  1747,  1753,  1753,  1754,  1758,  1762,  1766,  1770,  1774,
1051 >    1778,  1782,  1786,  1790,  1796,  1810,  1819,  1833,  1832,  1847,
1052 >    1847,  1848,  1848,  1848,  1848,  1850,  1856,  1862,  1872,  1874,
1053 >    1874,  1875,  1875,  1877,  1893,  1892,  1917,  1917,  1918,  1918,
1054 >    1918,  1918,  1920,  1926,  1946,  1945,  1951,  1951,  1952,  1956,
1055 >    1960,  1964,  1968,  1972,  1976,  1980,  1984,  1988,  1998,  1997,
1056 >    2018,  2018,  2019,  2019,  2019,  2021,  2028,  2027,  2033,  2033,
1057 >    2034,  2038,  2042,  2046,  2050,  2054,  2058,  2062,  2066,  2070,
1058 >    2080,  2079,  2151,  2151,  2152,  2153,  2154,  2155,  2156,  2157,
1059 >    2158,  2159,  2160,  2161,  2162,  2163,  2164,  2165,  2166,  2168,
1060 >    2174,  2180,  2186,  2199,  2212,  2218,  2224,  2228,  2237,  2236,
1061 >    2241,  2241,  2242,  2246,  2252,  2263,  2269,  2275,  2281,  2297,
1062 >    2296,  2322,  2322,  2323,  2323,  2323,  2325,  2345,  2355,  2354,
1063 >    2381,  2381,  2382,  2382,  2382,  2384,  2390,  2399,  2401,  2401,
1064 >    2402,  2402,  2404,  2422,  2421,  2444,  2444,  2445,  2445,  2445,
1065 >    2447,  2453,  2462,  2465,  2465,  2466,  2467,  2468,  2469,  2470,
1066 >    2471,  2472,  2473,  2474,  2475,  2476,  2477,  2478,  2479,  2480,
1067 >    2481,  2482,  2483,  2484,  2485,  2486,  2487,  2488,  2489,  2490,
1068 >    2491,  2492,  2493,  2494,  2495,  2496,  2497,  2498,  2499,  2500,
1069 >    2501,  2502,  2503,  2504,  2505,  2506,  2507,  2508,  2509,  2510,
1070 >    2511,  2512,  2513,  2514,  2517,  2522,  2528,  2534,  2540,  2546,
1071 >    2551,  2556,  2561,  2566,  2571,  2576,  2581,  2586,  2591,  2596,
1072 >    2601,  2606,  2611,  2617,  2628,  2633,  2638,  2643,  2648,  2653,
1073 >    2658,  2661,  2666,  2669,  2674,  2679,  2684,  2689,  2694,  2699,
1074 >    2704,  2709,  2714,  2719,  2724,  2733,  2738,  2743,  2748,  2754,
1075 >    2753,  2758,  2758,  2759,  2762,  2765,  2768,  2771,  2774,  2777,
1076 >    2780,  2783,  2786,  2789,  2792,  2795,  2798,  2801,  2804,  2807,
1077 >    2810,  2813,  2816,  2819,  2822,  2828,  2827,  2832,  2832,  2833,
1078 >    2836,  2839,  2842,  2845,  2848,  2851,  2854,  2857,  2860,  2863,
1079 >    2866,  2869,  2872,  2875,  2878,  2881,  2884,  2887,  2890,  2895,
1080 >    2900,  2905,  2914,  2917,  2917,  2918,  2919,  2920,  2921,  2922,
1081 >    2923,  2924,  2925,  2926,  2927,  2928,  2929,  2930,  2931,  2932,
1082 >    2934,  2939,  2944,  2949,  2954,  2959,  2964,  2969,  2974,  2979,
1083 >    2984,  2989,  2994,  2999,  3007,  3010,  3010,  3011,  3012,  3013,
1084 >    3014,  3015,  3016,  3017,  3018,  3019,  3021,  3027,  3033,  3039,
1085 >    3045,  3054,  3069,  3075
1086   };
1087   #endif
1088  
# Line 1353 | Line 1095 | static const char *const yytname[] =
1095    "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1096    "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1097    "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1098 <  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1099 <  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1100 <  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1101 <  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1102 <  "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE",
1103 <  "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR",
1104 <  "GLINE_MIN_CIDR6", "GLINE_REQUEST_DURATION", "GLOBAL_KILL",
1105 <  "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_IDLE_FROM_OPERS",
1098 >  "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT",
1099 >  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1100 >  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1101 >  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "EGDPOOL_PATH", "EMAIL",
1102 >  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1103 >  "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", "GLINE_DURATION",
1104 >  "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1105 >  "GLINE_REQUEST_DURATION", "GLOBAL_KILL", "HAVENT_READ_CONF", "HIDDEN",
1106 >  "HIDDEN_NAME", "HIDE_CHANS", "HIDE_IDLE", "HIDE_IDLE_FROM_OPERS",
1107    "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES", "HIDE_SPOOF_IPS",
1108    "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1109 <  "IP", "IRCD_AUTH", "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT",
1110 <  "JOIN_FLOOD_TIME", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE",
1111 <  "KLINE_EXEMPT", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1112 <  "LINKS_DELAY", "LISTEN", "MASK", "MAX_ACCEPT", "MAX_BANS",
1113 <  "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT",
1114 <  "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH",
1115 <  "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH",
1116 <  "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE",
1117 <  "MODULE", "MODULES", "MOTD", "NAME", "NEED_IDENT", "NEED_PASSWORD",
1118 <  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NO_CREATE_ON_SPLIT",
1119 <  "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE", "NUMBER",
1120 <  "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1121 <  "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID", "PACE_WAIT",
1122 <  "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME",
1123 <  "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT", "REDIRSERV",
1124 <  "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1109 >  "INVITE_CLIENT_COUNT", "INVITE_CLIENT_TIME", "IP", "IRCD_AUTH",
1110 >  "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "KILL",
1111 >  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KNOCK_CLIENT_COUNT",
1112 >  "KNOCK_CLIENT_TIME", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1113 >  "LISTEN", "MASK", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANNELS", "MAX_GLOBAL",
1114 >  "MAX_IDENT", "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES",
1115 >  "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1116 >  "MAX_TOPIC_LENGTH", "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD",
1117 >  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "MOTD", "NAME",
1118 >  "NEED_IDENT", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK",
1119 >  "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1120 >  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES",
1121 >  "OPER_PASS_RESV", "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID",
1122 >  "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1123 >  "PING_TIME", "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT",
1124 >  "REDIRSERV", "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1125    "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES",
1126    "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1127    "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1128 <  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "STATS_E_DISABLED",
1129 <  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1130 <  "STATS_P_OPER_ONLY", "T_ALL", "T_BOTS", "T_CALLERID", "T_CCONN",
1128 >  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_CERTIFICATE_FINGERPRINT",
1129 >  "SSL_CONNECTION_REQUIRED", "SSL_DH_ELLIPTIC_CURVE", "SSL_DH_PARAM_FILE",
1130 >  "SSL_MESSAGE_DIGEST_ALGORITHM", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1131 >  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY",
1132 >  "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS", "T_CALLERID", "T_CCONN",
1133    "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1134    "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS", "T_INVISIBLE", "T_IPV4",
1135    "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS", "T_NCHANGE",
1136 <  "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_RESTART", "T_SERVER",
1137 <  "T_SERVICE", "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET", "T_SHARED",
1138 <  "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1139 <  "T_SSL_CIPHER_LIST", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1140 <  "T_SSLV3", "T_TLSV1", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED",
1141 <  "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1397 <  "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1136 >  "T_NONONREG", "T_RECVQ", "T_REJ", "T_RESTART", "T_SERVER", "T_SERVICE",
1137 >  "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET", "T_SHARED", "T_SIZE",
1138 >  "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL", "T_SSL_CIPHER_LIST",
1139 >  "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV",
1140 >  "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1141 >  "THROTTLE_COUNT", "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1142    "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE",
1143    "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1144 <  "WARN_NO_NLINE", "XLINE", "';'", "'}'", "'{'", "'='", "','", "':'",
1145 <  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1146 <  "sizespec", "modules_entry", "modules_items", "modules_item",
1147 <  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1148 <  "serverinfo_item", "serverinfo_ssl_client_method",
1405 <  "serverinfo_ssl_server_method", "client_method_types",
1406 <  "client_method_type_item", "server_method_types",
1407 <  "server_method_type_item", "serverinfo_ssl_certificate_file",
1144 >  "WARN_NO_CONNECT_BLOCK", "XLINE", "';'", "'}'", "'{'", "'='", "','",
1145 >  "':'", "$accept", "conf", "conf_item", "timespec_", "timespec",
1146 >  "sizespec_", "sizespec", "modules_entry", "modules_items",
1147 >  "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1148 >  "serverinfo_items", "serverinfo_item", "serverinfo_ssl_certificate_file",
1149    "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1150 <  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1150 >  "serverinfo_ssl_cipher_list", "serverinfo_ssl_message_digest_algorithm",
1151 >  "serverinfo_ssl_dh_elliptic_curve", "serverinfo_name", "serverinfo_sid",
1152    "serverinfo_description", "serverinfo_network_name",
1153    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1154    "serverinfo_max_clients", "serverinfo_max_nick_length",
# Line 1419 | Line 1161 | static const char *const yytname[] =
1161    "logging_file_size", "logging_file_type", "$@3",
1162    "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@4",
1163    "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1164 <  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1165 <  "oper_umodes", "$@5", "oper_umodes_items", "oper_umodes_item",
1166 <  "oper_flags", "$@6", "oper_flags_items", "oper_flags_item",
1167 <  "class_entry", "$@7", "class_items", "class_item", "class_name",
1168 <  "class_ping_time", "class_number_per_ip", "class_connectfreq",
1169 <  "class_max_number", "class_max_global", "class_max_local",
1170 <  "class_max_ident", "class_sendq", "class_recvq",
1171 <  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1164 >  "oper_encrypted", "oper_rsa_public_key_file",
1165 >  "oper_ssl_certificate_fingerprint", "oper_ssl_connection_required",
1166 >  "oper_class", "oper_umodes", "$@5", "oper_umodes_items",
1167 >  "oper_umodes_item", "oper_flags", "$@6", "oper_flags_items",
1168 >  "oper_flags_item", "class_entry", "$@7", "class_items", "class_item",
1169 >  "class_name", "class_ping_time", "class_number_per_ip",
1170 >  "class_connectfreq", "class_max_channels", "class_max_number",
1171 >  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1172 >  "class_recvq", "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1173    "class_number_per_cidr", "class_min_idle", "class_max_idle",
1174    "class_flags", "$@8", "class_flags_items", "class_flags_item",
1175    "listen_entry", "$@9", "listen_flags", "$@10", "listen_flags_items",
# Line 1444 | Line 1187 | static const char *const yytname[] =
1187    "cluster_type", "$@18", "cluster_types", "cluster_type_item",
1188    "connect_entry", "$@19", "connect_items", "connect_item", "connect_name",
1189    "connect_host", "connect_vhost", "connect_send_password",
1190 <  "connect_accept_password", "connect_port", "connect_aftype",
1191 <  "connect_flags", "$@20", "connect_flags_items", "connect_flags_item",
1192 <  "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1193 <  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@21",
1194 <  "kill_items", "kill_item", "kill_user", "kill_reason", "deny_entry",
1195 <  "$@22", "deny_items", "deny_item", "deny_ip", "deny_reason",
1196 <  "exempt_entry", "exempt_items", "exempt_item", "exempt_ip",
1197 <  "gecos_entry", "$@23", "gecos_items", "gecos_item", "gecos_name",
1198 <  "gecos_reason", "general_entry", "general_items", "general_item",
1199 <  "general_max_watch", "general_gline_enable", "general_gline_duration",
1200 <  "general_gline_request_duration", "general_gline_min_cidr",
1201 <  "general_gline_min_cidr6", "general_tkline_expire_notices",
1202 <  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1203 <  "general_ignore_bogus_ts", "general_failed_oper_notice",
1204 <  "general_anti_nick_flood", "general_max_nick_time",
1205 <  "general_max_nick_changes", "general_max_accept",
1206 <  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1207 <  "general_ts_max_delta", "general_havent_read_conf",
1208 <  "general_invisible_on_connect", "general_warn_no_nline",
1209 <  "general_stats_e_disabled", "general_stats_o_oper_only",
1210 <  "general_stats_P_oper_only", "general_stats_k_oper_only",
1190 >  "connect_accept_password", "connect_ssl_certificate_fingerprint",
1191 >  "connect_port", "connect_aftype", "connect_flags", "$@20",
1192 >  "connect_flags_items", "connect_flags_item", "connect_encrypted",
1193 >  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1194 >  "connect_ssl_cipher_list", "kill_entry", "$@21", "kill_items",
1195 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@22",
1196 >  "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1197 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@23",
1198 >  "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1199 >  "general_entry", "general_items", "general_item", "general_max_watch",
1200 >  "general_cycle_on_host_change", "general_gline_enable",
1201 >  "general_gline_duration", "general_gline_request_duration",
1202 >  "general_gline_min_cidr", "general_gline_min_cidr6",
1203 >  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1204 >  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1205 >  "general_failed_oper_notice", "general_anti_nick_flood",
1206 >  "general_max_nick_time", "general_max_nick_changes",
1207 >  "general_max_accept", "general_anti_spam_exit_message_time",
1208 >  "general_ts_warn_delta", "general_ts_max_delta",
1209 >  "general_havent_read_conf", "general_invisible_on_connect",
1210 >  "general_warn_no_connect_block", "general_stats_e_disabled",
1211 >  "general_stats_o_oper_only", "general_stats_P_oper_only",
1212 >  "general_stats_u_oper_only", "general_stats_k_oper_only",
1213    "general_stats_i_oper_only", "general_pace_wait",
1214    "general_caller_id_wait", "general_opers_bypass_callerid",
1215    "general_pace_wait_simple", "general_short_motd",
1216    "general_no_oper_flood", "general_true_no_oper_flood",
1217    "general_oper_pass_resv", "general_dots_in_ident", "general_max_targets",
1218 <  "general_use_egd", "general_egdpool_path", "general_services_name",
1219 <  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1220 <  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1221 <  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1222 <  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1223 <  "general_default_floodcount", "channel_entry", "channel_items",
1224 <  "channel_item", "channel_disable_fake_channels", "channel_knock_delay",
1225 <  "channel_knock_delay_channel", "channel_max_chans_per_user",
1226 <  "channel_max_chans_per_oper", "channel_max_bans",
1218 >  "general_services_name", "general_ping_cookie", "general_disable_auth",
1219 >  "general_throttle_count", "general_throttle_time", "general_oper_umodes",
1220 >  "$@24", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1221 >  "$@25", "umode_items", "umode_item", "general_min_nonwildcard",
1222 >  "general_min_nonwildcard_simple", "general_default_floodcount",
1223 >  "channel_entry", "channel_items", "channel_item",
1224 >  "channel_disable_fake_channels", "channel_invite_client_count",
1225 >  "channel_invite_client_time", "channel_knock_client_count",
1226 >  "channel_knock_client_time", "channel_knock_delay_channel",
1227 >  "channel_max_channels", "channel_max_bans",
1228    "channel_default_split_user_count", "channel_default_split_server_count",
1229    "channel_no_create_on_split", "channel_no_join_on_split",
1230    "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
# Line 1486 | Line 1232 | static const char *const yytname[] =
1232    "serverhide_disable_remote_commands", "serverhide_hide_servers",
1233    "serverhide_hide_services", "serverhide_hidden_name",
1234    "serverhide_links_delay", "serverhide_hidden",
1235 <  "serverhide_hide_server_ips", YY_NULL
1235 >  "serverhide_hide_server_ips", YY_NULLPTR
1236   };
1237   #endif
1238  
1239   # ifdef YYPRINT
1240 < /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1241 <   token YYLEX-NUM.  */
1240 > /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1241 >   (internal) symbol number NUM (which must be that of a token).  */
1242   static const yytype_uint16 yytoknum[] =
1243   {
1244         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
# Line 1517 | Line 1263 | static const yytype_uint16 yytoknum[] =
1263       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1264       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1265       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1266 <     475,   476,   477,    59,   125,   123,    61,    44,    58
1266 >     475,   476,   477,   478,   479,   480,   481,   482,   483,    59,
1267 >     125,   123,    61,    44,    58
1268   };
1269   # endif
1270  
1271 < /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1525 < static const yytype_uint16 yyr1[] =
1526 < {
1527 <       0,   229,   230,   230,   231,   231,   231,   231,   231,   231,
1528 <     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
1529 <     231,   231,   231,   231,   231,   231,   231,   232,   232,   233,
1530 <     233,   233,   233,   233,   233,   233,   233,   234,   234,   235,
1531 <     235,   235,   235,   236,   237,   237,   238,   238,   238,   239,
1532 <     240,   241,   242,   242,   243,   243,   243,   243,   243,   243,
1533 <     243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
1534 <     243,   243,   244,   245,   246,   246,   247,   247,   248,   248,
1535 <     249,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1536 <     258,   259,   260,   261,   262,   263,   264,   265,   266,   266,
1537 <     267,   267,   267,   267,   268,   269,   270,   272,   271,   273,
1538 <     273,   274,   274,   274,   275,   276,   277,   278,   278,   279,
1539 <     279,   279,   280,   282,   281,   283,   283,   284,   284,   284,
1540 <     284,   285,   286,   286,   288,   287,   289,   289,   290,   290,
1541 <     290,   290,   290,   290,   290,   292,   291,   293,   293,   294,
1542 <     294,   294,   294,   294,   294,   294,   294,   294,   295,   296,
1543 <     297,   298,   299,   300,   302,   301,   303,   303,   304,   304,
1544 <     304,   304,   304,   304,   304,   304,   304,   304,   304,   304,
1545 <     304,   304,   304,   304,   304,   304,   304,   304,   304,   306,
1546 <     305,   307,   307,   308,   308,   308,   308,   308,   308,   308,
1547 <     308,   308,   308,   308,   308,   308,   308,   308,   308,   308,
1548 <     308,   308,   308,   308,   308,   308,   310,   309,   311,   311,
1549 <     312,   312,   312,   312,   312,   312,   312,   312,   312,   312,
1550 <     312,   312,   312,   312,   312,   312,   312,   313,   314,   315,
1551 <     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
1552 <     326,   327,   329,   328,   330,   330,   331,   331,   333,   332,
1553 <     335,   334,   336,   336,   337,   337,   337,   338,   338,   339,
1554 <     339,   339,   339,   339,   341,   340,   342,   342,   343,   343,
1555 <     344,   345,   347,   346,   348,   348,   349,   349,   349,   349,
1556 <     349,   349,   349,   349,   349,   350,   351,   352,   353,   355,
1557 <     354,   356,   356,   357,   357,   357,   357,   357,   357,   357,
1558 <     357,   357,   357,   358,   359,   360,   362,   361,   363,   363,
1559 <     364,   364,   364,   364,   365,   366,   367,   368,   369,   369,
1560 <     370,   370,   371,   373,   372,   374,   374,   375,   375,   375,
1561 <     375,   376,   377,   379,   378,   380,   380,   381,   381,   381,
1562 <     381,   381,   381,   381,   381,   381,   381,   383,   382,   384,
1563 <     384,   385,   385,   385,   386,   388,   387,   389,   389,   390,
1564 <     390,   390,   390,   390,   390,   390,   390,   390,   390,   392,
1565 <     391,   393,   393,   394,   394,   394,   394,   394,   394,   394,
1566 <     394,   394,   394,   394,   394,   394,   394,   395,   396,   397,
1567 <     398,   399,   400,   401,   401,   403,   402,   404,   404,   405,
1568 <     405,   406,   407,   408,   409,   410,   412,   411,   413,   413,
1569 <     414,   414,   414,   415,   416,   418,   417,   419,   419,   420,
1570 <     420,   420,   421,   422,   423,   424,   424,   425,   425,   426,
1571 <     428,   427,   429,   429,   430,   430,   430,   431,   432,   433,
1572 <     434,   434,   435,   435,   435,   435,   435,   435,   435,   435,
1573 <     435,   435,   435,   435,   435,   435,   435,   435,   435,   435,
1574 <     435,   435,   435,   435,   435,   435,   435,   435,   435,   435,
1575 <     435,   435,   435,   435,   435,   435,   435,   435,   435,   435,
1576 <     435,   435,   435,   435,   435,   435,   435,   435,   435,   435,
1577 <     436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
1578 <     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
1579 <     456,   457,   458,   459,   460,   460,   461,   461,   462,   463,
1580 <     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
1581 <     474,   475,   476,   477,   479,   478,   480,   480,   481,   481,
1582 <     481,   481,   481,   481,   481,   481,   481,   481,   481,   481,
1583 <     481,   481,   481,   481,   481,   481,   481,   481,   481,   483,
1584 <     482,   484,   484,   485,   485,   485,   485,   485,   485,   485,
1585 <     485,   485,   485,   485,   485,   485,   485,   485,   485,   485,
1586 <     485,   485,   485,   485,   486,   487,   488,   489,   490,   490,
1587 <     491,   491,   491,   491,   491,   491,   491,   491,   491,   491,
1588 <     491,   491,   491,   492,   493,   494,   495,   496,   497,   498,
1589 <     499,   500,   501,   502,   503,   504,   505,   505,   506,   506,
1590 <     506,   506,   506,   506,   506,   506,   506,   507,   508,   509,
1591 <     510,   511,   512,   513,   514
1592 < };
1271 > #define YYPACT_NINF -1029
1272  
1273 < /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1274 < static const yytype_uint8 yyr2[] =
1273 > #define yypact_value_is_default(Yystate) \
1274 >  (!!((Yystate) == (-1029)))
1275 >
1276 > #define YYTABLE_NINF -116
1277 >
1278 > #define yytable_value_is_error(Yytable_value) \
1279 >  0
1280 >
1281 >  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1282 >     STATE-NUM.  */
1283 > static const yytype_int16 yypact[] =
1284   {
1285 <       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1286 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1287 <       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1288 <       3,     3,     3,     3,     3,     3,     3,     0,     1,     2,
1289 <       3,     3,     3,     5,     2,     1,     1,     1,     2,     4,
1290 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1291 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1292 <       1,     2,     4,     4,     3,     1,     1,     1,     3,     1,
1293 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1294 <       4,     4,     4,     4,     4,     4,     4,     5,     2,     1,
1295 <       1,     1,     1,     2,     4,     4,     4,     0,     6,     2,
1296 <       1,     1,     1,     2,     4,     4,     5,     2,     1,     1,
1297 <       1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
1298 <       2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1299 <       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1300 <       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1301 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1302 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1303 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1304 <       5,     3,     1,     3,     1,     3,     1,     3,     1,     1,
1305 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1306 <       1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1307 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1308 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1309 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1310 <       4,     4,     0,     5,     3,     1,     1,     1,     0,     6,
1311 <       0,     5,     3,     1,     1,     1,     1,     2,     1,     1,
1312 <       1,     1,     1,     2,     0,     5,     3,     1,     1,     3,
1313 <       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
1314 <       1,     1,     1,     1,     2,     4,     4,     4,     4,     0,
1315 <       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1316 <       1,     1,     1,     4,     4,     4,     0,     6,     2,     1,
1317 <       1,     1,     1,     2,     4,     4,     4,     5,     2,     1,
1318 <       1,     1,     4,     0,     6,     2,     1,     1,     1,     1,
1319 <       2,     4,     4,     0,     5,     3,     1,     1,     1,     1,
1320 <       1,     1,     1,     1,     1,     1,     1,     0,     6,     2,
1321 <       1,     1,     1,     2,     4,     0,     5,     3,     1,     1,
1322 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1323 <       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1324 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1325 <       4,     4,     4,     4,     4,     0,     5,     3,     1,     1,
1326 <       1,     4,     4,     4,     4,     4,     0,     6,     2,     1,
1327 <       1,     1,     1,     4,     4,     0,     6,     2,     1,     1,
1328 <       1,     1,     4,     4,     5,     2,     1,     1,     1,     4,
1329 <       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1330 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1331 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1332 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1333 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1334 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1335 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1336 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1337 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1338 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1339 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1340 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1341 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1342 <       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1343 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1344 <       1,     1,     1,     1,     4,     4,     4,     5,     2,     1,
1345 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1346 <       1,     1,     1,     4,     4,     4,     4,     4,     4,     4,
1347 <       4,     4,     4,     4,     4,     5,     2,     1,     1,     1,
1348 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1349 <       4,     4,     4,     4,     4
1285 >   -1029,   664, -1029,  -192,  -221,  -211, -1029, -1029, -1029,  -208,
1286 >   -1029,  -202, -1029, -1029, -1029,  -200, -1029, -1029, -1029,  -180,
1287 >    -173, -1029,  -170,  -158, -1029, -1029, -1029, -1029, -1029, -1029,
1288 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1289 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,   260,
1290 >     727,  -155,  -149,  -135,    16,  -129,   390,  -123,  -111,  -106,
1291 >      24,   -89,   -88,   -83,   507,   436,   -78,     2,    34,   -77,
1292 >     -64,   -62,   -61,   -56,     8, -1029, -1029, -1029, -1029, -1029,
1293 >     -55,   -24,   -17,   -12,   -11,    -9,    -2,    31,    35,    56,
1294 >      72,    74,    79,    84,   104, -1029, -1029, -1029, -1029, -1029,
1295 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1296 >     692,   293,    20, -1029,   101,    15, -1029, -1029,    26, -1029,
1297 >     106,   114,   125,   126,   138,   140,   141,   154,   161,   162,
1298 >     167,   168,   171,   172,   173,   174,   176,   177,   181,   182,
1299 >     183,   184,   189,   190,   192,   198, -1029,   201, -1029,   208,
1300 >     209,   210,   211,   218,   225,   227,   228,   231,   232,   234,
1301 >     235,   236,   237,   238,   239,   243,   244,   245,    42, -1029,
1302 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1303 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1304 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1305 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1306 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,   323,    90,
1307 >     391,    45,   248,   250,    23, -1029, -1029, -1029,    17,   411,
1308 >     326, -1029,   252,   254,   257,   258,   259,   261,   267,   271,
1309 >      10, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1310 >      99,   280,   284,   287,   288,   290,   292,   295,   296,   297,
1311 >     299,   300,   302,   303,   307,   313,   314,   327,    92, -1029,
1312 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1313 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029,     7,   120,   332,
1314 >      41, -1029, -1029, -1029,    60, -1029,   333,    73, -1029, -1029,
1315 >       4, -1029,   175,   365,   431,   158, -1029,   459,   460,   363,
1316 >     463,   464,   465,   464,   467,   464,   464,   468,   472,   374,
1317 >     377,   360, -1029,   362,   367,   368,   369, -1029,   373,   378,
1318 >     379,   380,   383,   384,   387,   392,   394,   395,   396,   400,
1319 >     401,   195, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1320 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1321 >     393,   404,   408,   409,   410,   412,   413, -1029,   415,   416,
1322 >     419,   428,   434,   435,   440,   272, -1029, -1029, -1029, -1029,
1323 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1324 >   -1029, -1029,   442,   445,    27, -1029, -1029, -1029,   496,   414,
1325 >   -1029, -1029,   451,   453,    70, -1029, -1029, -1029,   381,   464,
1326 >     464,   446,   551,   473,   577,   479,   464,   481,   582,   583,
1327 >     464,   584,   486,   487,   489,   464,   593,   597,   464,   598,
1328 >     600,   601,   602,   504,   484,   506,   488,   508,   464,   464,
1329 >     510,   511,   512,  -181,  -179,   513,   515,   516,   604,   617,
1330 >     464,   521,   522,   464,   464,   523,   514, -1029,   517,   505,
1331 >     519, -1029,   520,   524,   525,   526,   528,   117, -1029, -1029,
1332 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,   529,   530,
1333 >      54, -1029, -1029, -1029,   518,   531,   534, -1029,   536, -1029,
1334 >      12, -1029, -1029, -1029, -1029, -1029,   609,   612,   538, -1029,
1335 >     540,   539,   541,    14, -1029, -1029, -1029,   543,   542,   549,
1336 >   -1029,   555,   557,   560,   561,   563, -1029,   566,   199, -1029,
1337 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1338 >     546,   568,   569,   575,    40, -1029, -1029, -1029, -1029,   537,
1339 >     559,   603,   615,   605,   607,   608,   464,   579, -1029, -1029,
1340 >     626,   611,   627,   697,   703,   693,   696,   698,   699,   700,
1341 >     701,   702,   704,   712,   705,   706,   710,   613, -1029,   614,
1342 >     606, -1029,    93, -1029, -1029, -1029, -1029,   619,   616, -1029,
1343 >      21,   713,   620, -1029,   621,   622, -1029,   630,    11, -1029,
1344 >   -1029, -1029, -1029,   623,   624,   636, -1029,   638,   640,   641,
1345 >     643,   224,   644,   647,   649,   651,   652,   654,   655,   656,
1346 >     660,   661, -1029, -1029,   729,   732,   464,   659,   736,   739,
1347 >     781,   464,   782,   783,   464,   719,   784,   786,   464,   787,
1348 >     787,   671, -1029, -1029,   777,  -113,   780,   707,   785,   788,
1349 >     678,   790,   794,   802,   796,   797,   798,   799,   709, -1029,
1350 >     801,   803,   716, -1029,   721, -1029,   807,   808,   723, -1029,
1351 >     724,   726,   730,   733,   735,   737,   738,   743,   744,   745,
1352 >     747,   748,   749,   750,   752,   753,   754,   755,   756,   757,
1353 >     758,   759,   760,   761,   762,   763,   772,   764,   689,   765,
1354 >     766,   767,   768,   769,   770,   771,   773,   774,   775,   776,
1355 >     778,   779,   789,   791,   792,   793,   795,   800,   804,   805,
1356 >   -1029, -1029,   809,   718,   731,   821,   844,   834,   841,   874,
1357 >     806, -1029,   879,   882,   810, -1029, -1029,   883,   884,   811,
1358 >     900,   812, -1029,   813,   815, -1029, -1029,   886,   887,   816,
1359 >   -1029, -1029,   888,   814,   817,   889,   890,   892,   896,   819,
1360 >     818,   899,   822, -1029, -1029,   901,   904,   905,   823, -1029,
1361 >     824,   825,   826,   827,   828,   829,   830,   831, -1029,   832,
1362 >     833,   835,   836,   837,   838,   839,   840,   842,   843,   845,
1363 >     846,   847,   848,   849,   850,   851, -1029, -1029,   909,   852,
1364 >     853, -1029,   854, -1029,   163,   856, -1029, -1029,   910,   855,
1365 >     911,   857, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1366 >     464,   464,   464,   464,   464,   464,   464, -1029, -1029, -1029,
1367 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,   859,
1368 >     860,   861,   -31,   862,   863,   864,   865,   866,   867,   868,
1369 >     869,   870,   871,   872,   334,   873,   875, -1029,   876,   877,
1370 >     878,   880,   881,   885,   891,    18,   893,   894,   895,   897,
1371 >     898,   902,   903, -1029,   906,   907, -1029, -1029,   908,   912,
1372 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1373 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1374 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1375 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1376 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029,  -177, -1029, -1029,
1377 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1378 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1379 >   -1029, -1029,  -176, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1380 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1381 >   -1029, -1029, -1029, -1029, -1029,   913,   914,   535,   915,   916,
1382 >     917,   918,   919, -1029,   920,   921, -1029,   922,   923,     1,
1383 >     934,   924, -1029, -1029, -1029, -1029,   925,   926, -1029,   927,
1384 >     929,   497,   930,   931,   932,   933,   935,   734,   936, -1029,
1385 >     937,   938,   939, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1386 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1387 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,   940,
1388 >     448, -1029, -1029,   941,   942,   943, -1029,    13, -1029, -1029,
1389 >   -1029, -1029, -1029,   944,   452,   947, -1029, -1029, -1029, -1029,
1390 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,   -44,
1391 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1392 >   -1029, -1029,   787,   787,   787, -1029, -1029, -1029, -1029, -1029,
1393 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,    -7, -1029,
1394 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1395 >   -1029, -1029,   772, -1029,   689, -1029, -1029, -1029, -1029, -1029,
1396 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029,    57, -1029, -1029,
1397 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1398 >   -1029,    66, -1029,   928,   900,   948, -1029, -1029, -1029, -1029,
1399 >   -1029,   945, -1029, -1029,   946, -1029, -1029, -1029, -1029,   949,
1400 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1401 >      96, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1402 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1403 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,   102,
1404 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1405 >   -1029, -1029, -1029, -1029, -1029, -1029,   119, -1029, -1029,   954,
1406 >     -93,   950,   952, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1407 >   -1029, -1029, -1029, -1029, -1029,   155, -1029, -1029, -1029,   -31,
1408 >   -1029, -1029, -1029, -1029,    18, -1029, -1029, -1029,   535, -1029,
1409 >       1, -1029, -1029, -1029,   970,   975,   978, -1029,   497, -1029,
1410 >     734, -1029,   448,   955,   956,   957,   425, -1029, -1029,   452,
1411 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1412 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1413 >   -1029, -1029,   156, -1029, -1029, -1029,   425, -1029
1414   };
1415  
1416 < /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1417 <   Performed when YYTABLE doesn't specify something else to do.  Zero
1418 <   means the default is an error.  */
1416 >  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1417 >     Performed when YYTABLE does not specify something else to do.  Zero
1418 >     means the default is an error.  */
1419   static const yytype_uint16 yydefact[] =
1420   {
1421 <       2,     0,     1,     0,     0,     0,   216,   379,   425,     0,
1422 <     440,     0,   282,   416,   258,     0,   107,   145,   316,     0,
1423 <       0,   357,     0,     0,   333,     3,    23,    11,     4,    24,
1421 >       2,     0,     1,     0,     0,     0,   215,   380,   428,     0,
1422 >     443,     0,   283,   419,   259,     0,    99,   139,   317,     0,
1423 >       0,   358,     0,     0,   334,     3,    23,    11,     4,    24,
1424         5,     6,     8,     9,    10,    13,    14,    15,    16,    17,
1425        18,    19,    20,    22,    21,     7,    12,    25,    26,     0,
1426         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1427         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1428 <       0,     0,     0,     0,     0,    99,   100,   102,   101,   612,
1428 >       0,     0,     0,     0,     0,    91,    92,    94,    93,   619,
1429         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1430 <       0,     0,     0,   599,   611,   601,   602,   603,   604,   600,
1431 <     605,   606,   607,   608,   609,   610,     0,     0,     0,   438,
1432 <       0,     0,   436,   437,     0,   499,     0,     0,     0,     0,
1430 >       0,     0,     0,     0,     0,   604,   618,   606,   607,   608,
1431 >     609,   610,   611,   605,   612,   613,   614,   615,   616,   617,
1432 >       0,     0,     0,   441,     0,     0,   439,   440,     0,   503,
1433         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1434         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1435 <       0,     0,   569,     0,   544,     0,     0,     0,     0,     0,
1435 >       0,     0,     0,     0,     0,     0,   575,     0,   549,     0,
1436         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1437 <       0,     0,     0,     0,   451,   497,   491,   492,   493,   494,
1438 <     495,   490,   462,   452,   453,   454,   455,   456,   457,   458,
1439 <     459,   460,   461,   487,   463,   464,   496,   466,   471,   467,
1440 <     469,   468,   481,   482,   470,   472,   473,   474,   475,   465,
1441 <     477,   478,   479,   498,   488,   489,   486,   480,   476,   484,
1442 <     485,   483,     0,     0,     0,     0,     0,     0,     0,    45,
1443 <      46,    47,     0,     0,     0,   636,     0,     0,     0,     0,
1444 <       0,     0,     0,     0,     0,   627,   628,   629,   630,   631,
1445 <     634,   632,   633,   635,     0,     0,     0,     0,     0,     0,
1437 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   454,
1438 >     500,   502,   494,   495,   496,   497,   498,   493,   465,   455,
1439 >     456,   457,   458,   459,   460,   461,   462,   463,   464,   490,
1440 >     466,   467,   499,   469,   474,   475,   470,   472,   471,   483,
1441 >     484,   473,   476,   477,   478,   479,   468,   481,   501,   491,
1442 >     492,   488,   489,   482,   480,   486,   487,   485,     0,     0,
1443 >       0,     0,     0,     0,     0,    45,    46,    47,     0,     0,
1444 >       0,   645,     0,     0,     0,     0,     0,     0,     0,     0,
1445 >       0,   636,   637,   638,   639,   640,   643,   641,   642,   644,
1446         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1447 <       0,     0,     0,    53,    68,    69,    67,    64,    63,    70,
1448 <      54,    66,    57,    58,    59,    55,    65,    60,    61,    62,
1449 <      56,     0,     0,     0,     0,   118,   119,   120,     0,   331,
1450 <       0,     0,   329,   330,     0,   103,     0,     0,     0,     0,
1451 <      98,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1700 <       0,     0,     0,     0,   598,     0,     0,     0,     0,   252,
1447 >       0,     0,     0,     0,     0,     0,     0,     0,     0,    53,
1448 >      68,    65,    63,    69,    70,    64,    54,    67,    57,    58,
1449 >      59,    55,    66,    60,    61,    62,    56,     0,     0,     0,
1450 >       0,   110,   111,   112,     0,   332,     0,     0,   330,   331,
1451 >       0,    95,     0,     0,     0,     0,    90,     0,     0,     0,
1452         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1453 <       0,     0,     0,   219,   220,   223,   225,   226,   227,   228,
1703 <     229,   230,   231,   232,   221,   222,   224,   233,   234,   235,
1704 <       0,     0,     0,     0,     0,     0,     0,   405,     0,     0,
1705 <       0,     0,     0,     0,     0,   382,   383,   384,   385,   386,
1706 <     387,   389,   388,   391,   395,   392,   393,   394,   390,   431,
1707 <       0,     0,     0,   428,   429,   430,     0,     0,   435,   446,
1708 <       0,     0,     0,   443,   444,   445,     0,     0,     0,     0,
1453 >       0,     0,   603,     0,     0,     0,     0,   253,     0,     0,
1454         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1455 +       0,     0,   218,   219,   222,   224,   225,   226,   227,   228,
1456 +     229,   230,   231,   232,   220,   221,   223,   233,   234,   235,
1457 +       0,     0,     0,     0,     0,     0,     0,   408,     0,     0,
1458 +       0,     0,     0,     0,     0,     0,   383,   384,   385,   386,
1459 +     387,   388,   389,   391,   390,   393,   397,   394,   395,   396,
1460 +     392,   434,     0,     0,     0,   431,   432,   433,     0,     0,
1461 +     438,   449,     0,     0,     0,   446,   447,   448,     0,     0,
1462         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1463         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1464         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1713       0,     0,     0,     0,   450,     0,     0,     0,   299,     0,
1714       0,     0,     0,     0,     0,   285,   286,   287,   288,   293,
1715     289,   290,   291,   292,   422,     0,     0,     0,   419,   420,
1716     421,     0,     0,     0,   260,     0,   270,     0,   268,   269,
1717     271,   272,    48,     0,     0,     0,    44,     0,     0,     0,
1718       0,   110,   111,   112,     0,     0,     0,   189,     0,     0,
1719       0,   164,     0,     0,   148,   149,   150,   151,   154,   155,
1720     153,   152,   156,     0,     0,     0,     0,     0,   319,   320,
1721     321,   322,     0,     0,     0,     0,     0,     0,     0,     0,
1722       0,   626,    71,     0,     0,     0,     0,     0,     0,     0,
1465         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1466 <       0,    52,     0,     0,   365,     0,   360,   361,   362,   121,
1467 <       0,     0,   117,     0,     0,     0,   328,     0,     0,   343,
1468 <       0,     0,   336,   337,   338,   339,     0,     0,     0,    97,
1469 <       0,     0,     0,     0,    27,     0,     0,     0,     0,     0,
1470 <       0,     0,     0,   597,   236,     0,     0,     0,     0,     0,
1466 >       0,     0,     0,     0,     0,     0,     0,   453,     0,     0,
1467 >       0,   300,     0,     0,     0,     0,     0,     0,   286,   287,
1468 >     288,   289,   294,   290,   291,   292,   293,   425,     0,     0,
1469 >       0,   422,   423,   424,     0,     0,     0,   261,     0,   271,
1470 >       0,   269,   270,   272,   273,    48,     0,     0,     0,    44,
1471 >       0,     0,     0,     0,   102,   103,   104,     0,     0,     0,
1472 >     188,     0,     0,     0,     0,     0,   162,     0,     0,   142,
1473 >     143,   144,   145,   148,   149,   150,   151,   147,   146,   152,
1474 >       0,     0,     0,     0,     0,   320,   321,   322,   323,     0,
1475 >       0,     0,     0,     0,     0,     0,     0,     0,   635,    71,
1476         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1477 <       0,     0,   218,   396,     0,     0,     0,     0,     0,     0,
1478 <       0,     0,     0,     0,     0,     0,     0,     0,   381,     0,
1479 <       0,     0,   427,     0,   434,     0,     0,     0,   442,     0,
1477 >       0,     0,     0,     0,     0,     0,     0,     0,    52,     0,
1478 >       0,   366,     0,   361,   362,   363,   113,     0,     0,   109,
1479 >       0,     0,     0,   329,     0,     0,   344,     0,     0,   337,
1480 >     338,   339,   340,     0,     0,     0,    89,     0,     0,     0,
1481 >       0,    27,     0,     0,     0,     0,     0,     0,     0,     0,
1482 >       0,     0,   602,   236,     0,     0,     0,     0,     0,     0,
1483         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1484 +       0,     0,   217,   398,     0,     0,     0,     0,     0,     0,
1485 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   382,
1486 +       0,     0,     0,   430,     0,   437,     0,     0,     0,   445,
1487         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1488         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1489         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1737       0,     0,     0,     0,     0,     0,     0,     0,   449,   294,
1738       0,     0,     0,     0,     0,     0,     0,     0,     0,   284,
1739       0,     0,     0,   418,   273,     0,     0,     0,     0,     0,
1740     267,     0,     0,    43,   113,     0,     0,     0,   109,   157,
1741       0,     0,     0,     0,     0,     0,     0,     0,     0,   147,
1742     323,     0,     0,     0,     0,   318,     0,     0,     0,     0,
1743       0,     0,     0,     0,   625,     0,     0,     0,     0,     0,
1744       0,     0,     0,     0,     0,     0,     0,     0,    76,    77,
1745       0,    75,    80,    81,     0,    79,     0,     0,    51,   363,
1746       0,     0,     0,   359,     0,   116,     0,     0,   327,   340,
1747       0,     0,     0,     0,   335,   106,   105,   104,   620,   619,
1748     613,   623,    27,    27,    27,    27,    27,    27,    27,    29,
1749      28,   624,   614,   615,   618,   617,   616,   621,   622,     0,
1490         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1751       0,     0,     0,    37,     0,     0,   217,     0,     0,     0,
1491         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1492 <       0,   380,     0,     0,   426,   439,     0,     0,   441,   511,
1493 <     515,   529,   596,   542,   536,   539,   510,   502,   501,   504,
1494 <     505,   503,   518,   508,   509,   519,   507,   514,   513,   512,
1495 <     537,   500,   594,   595,   533,   579,   573,   590,   574,   575,
1496 <     576,   584,   593,   577,   587,   591,   580,   592,   585,   581,
1497 <     586,   578,   589,   583,   582,   588,     0,   572,   535,   553,
1498 <     548,   565,   549,   550,   551,   559,   568,   552,   562,   566,
1499 <     555,   567,   560,   556,   561,   554,   564,   558,   557,   563,
1500 <       0,   547,   530,   528,   531,   541,   532,   521,   526,   527,
1501 <     524,   525,   522,   523,   540,   543,   506,   534,   517,   516,
1502 <     538,   520,     0,     0,     0,     0,     0,     0,     0,     0,
1503 <     283,     0,     0,   417,     0,     0,     0,   278,   274,   277,
1504 <     259,    49,    50,     0,     0,   108,     0,     0,     0,     0,
1505 <       0,     0,     0,     0,   146,     0,     0,     0,   317,   638,
1506 <     637,   643,   641,   644,   639,   640,   642,    88,    96,    87,
1507 <      94,    95,    86,    90,    89,    83,    82,    84,    93,    85,
1508 <      72,     0,    73,     0,    91,    92,     0,     0,   358,   122,
1509 <       0,     0,     0,   134,     0,   126,   127,   129,   128,   332,
1510 <       0,     0,     0,   334,    30,    31,    32,    33,    34,    35,
1511 <      36,   247,   248,   240,   257,   256,     0,   255,   242,   244,
1512 <     251,   243,   241,   250,   237,   249,   239,   238,    37,    37,
1513 <      37,    39,    38,   245,   246,   401,   403,   404,   414,   411,
1514 <     398,   412,   409,   410,     0,   408,   413,   397,   402,   400,
1515 <     415,   399,   432,   433,   447,   448,   570,     0,   545,     0,
1516 <     297,   298,   307,   304,   309,   305,   306,   312,   308,   310,
1517 <     303,   311,     0,   302,   296,   315,   314,   313,   295,   424,
1518 <     423,   281,   280,   265,   266,   264,     0,   263,     0,     0,
1519 <       0,   114,   115,   163,   161,   208,   196,   205,   204,   194,
1520 <     199,   215,   207,   213,   198,   201,   210,   212,   209,   206,
1521 <     214,   202,   211,   200,   203,     0,   192,   158,   160,   162,
1522 <     173,   168,   185,   169,   170,   171,   179,   188,   172,   182,
1523 <     186,   175,   187,   180,   176,   181,   174,   184,   178,   177,
1524 <     183,     0,   167,   159,   326,   324,   325,    74,    78,   364,
1525 <     369,   375,   378,   371,   377,   372,   376,   374,   370,   373,
1526 <       0,   368,   130,     0,     0,     0,     0,   125,   341,   347,
1527 <     353,   356,   349,   355,   350,   354,   352,   348,   351,     0,
1528 <     346,   342,   253,     0,    40,    41,    42,   406,     0,   571,
1529 <     546,   300,     0,   261,     0,   279,   276,   275,     0,     0,
1530 <       0,   190,     0,   165,     0,   366,     0,     0,     0,     0,
1531 <       0,   124,   344,     0,   254,   407,   301,   262,   195,   193,
1532 <     197,   191,   166,   367,   131,   133,   132,   140,   143,   142,
1533 <     139,   144,   141,   138,     0,   137,   345,   135,     0,   136
1534 < };
1535 <
1536 < /* YYDEFGOTO[NTERM-NUM].  */
1537 < static const yytype_int16 yydefgoto[] =
1538 < {
1539 <      -1,     1,    25,   799,   800,  1051,  1052,    26,   218,   219,
1540 <     220,   221,    27,   262,   263,   264,   265,   760,   761,   764,
1541 <     765,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1542 <     275,   276,   277,   278,   279,   280,    28,    74,    75,    76,
1543 <      77,    78,    29,    61,   490,   491,   492,   493,    30,   284,
1544 <     285,   286,   287,   288,  1014,  1015,  1016,  1017,  1018,  1185,
1545 <    1254,  1255,    31,    62,   503,   504,   505,   506,   507,   508,
1546 <     509,   510,   511,   726,  1161,  1162,   512,   722,  1135,  1136,
1547 <      32,    51,   332,   333,   334,   335,   336,   337,   338,   339,
1548 <     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
1549 <     598,  1036,  1037,    33,    59,   476,   707,  1106,  1107,   477,
1811 <     478,   479,  1110,   958,   959,   480,   481,    34,    57,   454,
1812 <     455,   456,   457,   458,   459,   460,   692,  1092,  1093,   461,
1813 <     462,   463,    35,    63,   517,   518,   519,   520,   521,    36,
1814 <     291,   292,   293,    37,    69,   571,   572,   573,   574,   575,
1815 <     781,  1199,  1200,    38,    66,   555,   556,   557,   558,   771,
1816 <    1180,  1181,    39,    52,   364,   365,   366,   367,   368,   369,
1817 <     370,   371,   372,   373,   620,  1064,  1065,   374,   375,   376,
1818 <     377,   378,    40,    58,   467,   468,   469,   470,    41,    53,
1819 <     382,   383,   384,   385,    42,   111,   112,   113,    43,    55,
1820 <     392,   393,   394,   395,    44,   163,   164,   165,   166,   167,
1821 <     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1822 <     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1823 <     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1824 <     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1825 <     424,   920,   921,   208,   422,   896,   897,   209,   210,   211,
1826 <      45,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1827 <     101,   102,   103,   104,   105,    46,   234,   235,   236,   237,
1828 <     238,   239,   240,   241,   242,   243
1492 >     452,   295,     0,     0,     0,     0,     0,     0,     0,     0,
1493 >       0,   285,     0,     0,     0,   421,   274,     0,     0,     0,
1494 >       0,     0,   268,     0,     0,    43,   105,     0,     0,     0,
1495 >     101,   153,     0,     0,     0,     0,     0,     0,     0,     0,
1496 >       0,     0,     0,   141,   324,     0,     0,     0,     0,   319,
1497 >       0,     0,     0,     0,     0,     0,     0,     0,   634,     0,
1498 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1499 >       0,     0,     0,     0,     0,     0,    51,   364,     0,     0,
1500 >       0,   360,     0,   108,     0,     0,   328,   341,     0,     0,
1501 >       0,     0,   336,    98,    97,    96,   629,   628,   620,   621,
1502 >      27,    27,    27,    27,    27,    27,    27,    29,    28,   622,
1503 >     632,   633,   623,   624,   625,   627,   626,   630,   631,     0,
1504 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1505 >       0,     0,     0,     0,    37,     0,     0,   216,     0,     0,
1506 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1507 >       0,     0,     0,   381,     0,     0,   429,   442,     0,     0,
1508 >     444,   516,   520,   535,   505,   601,   546,   542,   515,   507,
1509 >     506,   509,   510,   508,   523,   513,   514,   524,   512,   519,
1510 >     518,   517,   543,   504,   599,   600,   539,   585,   579,   595,
1511 >     580,   581,   582,   590,   598,   583,   592,   596,   586,   597,
1512 >     587,   591,   584,   594,   589,   588,   593,     0,   578,   541,
1513 >     558,   559,   560,   553,   571,   554,   555,   556,   566,   574,
1514 >     557,   568,   572,   562,   573,   563,   567,   561,   570,   565,
1515 >     564,   569,     0,   552,   536,   534,   537,   545,   538,   526,
1516 >     532,   533,   530,   531,   527,   528,   529,   544,   547,   548,
1517 >     511,   540,   522,   521,   525,     0,     0,     0,     0,     0,
1518 >       0,     0,     0,   284,     0,     0,   420,     0,     0,     0,
1519 >     279,   275,   278,   260,    49,    50,     0,     0,   100,     0,
1520 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   140,
1521 >       0,     0,     0,   318,   647,   646,   652,   650,   653,   648,
1522 >     649,   651,    80,    88,    79,    86,    87,    78,    82,    81,
1523 >      73,    72,    77,    74,    76,    85,    75,    83,    84,     0,
1524 >       0,   359,   114,     0,     0,     0,   126,     0,   118,   119,
1525 >     121,   120,   333,     0,     0,     0,   335,    30,    31,    32,
1526 >      33,    34,    35,    36,   248,   249,   240,   258,   257,     0,
1527 >     256,   241,   243,   245,   252,   244,   242,   251,   237,   250,
1528 >     239,   238,    37,    37,    37,    39,    38,   246,   247,   403,
1529 >     406,   407,   417,   414,   400,   415,   412,   413,     0,   411,
1530 >     416,   399,   405,   402,   404,   418,   401,   435,   436,   450,
1531 >     451,   576,     0,   550,     0,   298,   299,   308,   305,   310,
1532 >     306,   307,   313,   309,   311,   304,   312,     0,   303,   297,
1533 >     316,   315,   314,   296,   427,   426,   282,   281,   266,   267,
1534 >     265,     0,   264,     0,     0,     0,   106,   107,   161,   157,
1535 >     208,   195,   205,   204,   193,   198,   214,   207,   212,   197,
1536 >     200,   209,   211,   206,   213,   201,   203,   210,   199,   202,
1537 >       0,   191,   154,   156,   158,   159,   160,   171,   172,   173,
1538 >     166,   184,   167,   168,   169,   179,   187,   170,   181,   185,
1539 >     175,   186,   176,   180,   174,   183,   178,   177,   182,     0,
1540 >     165,   155,   327,   325,   326,   365,   370,   376,   379,   372,
1541 >     378,   373,   377,   375,   371,   374,     0,   369,   122,     0,
1542 >       0,     0,     0,   117,   342,   348,   354,   357,   350,   356,
1543 >     351,   355,   353,   349,   352,     0,   347,   343,   254,     0,
1544 >      40,    41,    42,   409,     0,   577,   551,   301,     0,   262,
1545 >       0,   280,   277,   276,     0,     0,     0,   189,     0,   163,
1546 >       0,   367,     0,     0,     0,     0,     0,   116,   345,     0,
1547 >     255,   410,   302,   263,   194,   192,   196,   190,   164,   368,
1548 >     123,   125,   124,   132,   137,   136,   131,   134,   138,   135,
1549 >     130,   133,     0,   129,   346,   127,     0,   128
1550   };
1551  
1552 < /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1553 <   STATE-NUM.  */
1833 < #define YYPACT_NINF -984
1834 < static const yytype_int16 yypact[] =
1552 >  /* YYPGOTO[NTERM-NUM].  */
1553 > static const yytype_int16 yypgoto[] =
1554   {
1555 <    -984,   637,  -984,  -186,  -182,  -165,  -984,  -984,  -984,  -148,
1556 <    -984,  -135,  -984,  -984,  -984,  -127,  -984,  -984,  -984,  -118,
1557 <     -64,  -984,   -56,   -50,  -984,  -984,  -984,  -984,  -984,  -984,
1558 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1559 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,   331,
1560 <     826,   -48,   -45,   -11,    28,    36,   366,    39,    40,    41,
1561 <      60,    46,    58,    62,   721,   334,    65,    35,    24,    72,
1562 <    -195,   -66,   -21,    66,    17,  -984,  -984,  -984,  -984,  -984,
1563 <      92,    96,    97,    99,   108,   110,   111,   118,   119,   124,
1564 <     125,   133,     5,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1565 <    -984,  -984,  -984,  -984,  -984,  -984,   657,   440,    14,  -984,
1566 <     134,    12,  -984,  -984,    29,  -984,   135,   137,   138,   143,
1567 <     145,   149,   150,   153,   155,   157,   158,   162,   163,   174,
1568 <     176,   177,   178,   182,   186,   189,   190,   192,   195,   196,
1569 <     200,   201,  -984,   203,  -984,   204,   206,   210,   211,   214,
1570 <     221,   222,   225,   235,   236,   237,   238,   239,   242,   243,
1571 <     244,   249,   253,   105,  -984,  -984,  -984,  -984,  -984,  -984,
1572 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1573 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1574 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1575 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1576 <    -984,  -984,   268,    19,   212,    16,   261,   262,    38,  -984,
1577 <    -984,  -984,   165,   472,   274,  -984,   264,   266,   270,   272,
1578 <     273,   279,   280,   281,     6,  -984,  -984,  -984,  -984,  -984,
1579 <    -984,  -984,  -984,  -984,    32,   284,   287,   288,   290,   296,
1580 <     297,   298,   299,   304,   305,   306,   307,   316,   317,   319,
1581 <     320,   321,   146,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1582 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1583 <    -984,    70,    87,   322,    10,  -984,  -984,  -984,   180,  -984,
1865 <     324,    95,  -984,  -984,   173,  -984,   232,   260,   277,   215,
1866 <    -984,   387,   444,   349,   449,   450,   450,   450,   451,   453,
1867 <     456,   359,   360,   344,  -984,   347,   346,   353,   354,  -984,
1868 <     358,   362,   364,   365,   367,   369,   371,   373,   376,   380,
1869 <     383,   384,   103,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1870 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1871 <     363,   385,   388,   390,   391,   392,   393,  -984,   402,   403,
1872 <     404,   405,   409,   410,    30,  -984,  -984,  -984,  -984,  -984,
1873 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1874 <     414,   426,     4,  -984,  -984,  -984,   463,   381,  -984,  -984,
1875 <     427,   430,    44,  -984,  -984,  -984,   386,   450,   450,   506,
1876 <     455,   555,   541,   458,   450,   459,   559,   561,   450,   563,
1877 <     474,   477,   480,   450,   581,   584,   450,   586,   587,   593,
1878 <     594,   496,   479,   500,   486,   507,   450,   450,   508,   510,
1879 <     511,  -197,  -192,   514,   515,   602,   450,   519,   521,   450,
1880 <     450,   522,   524,   503,  -984,   512,   505,   516,  -984,   517,
1881 <     525,   526,   527,   530,   231,  -984,  -984,  -984,  -984,  -984,
1882 <    -984,  -984,  -984,  -984,  -984,   533,   534,    20,  -984,  -984,
1883 <    -984,   513,   535,   537,  -984,   538,  -984,    18,  -984,  -984,
1884 <    -984,  -984,  -984,   612,   619,   523,  -984,   545,   549,   550,
1885 <      67,  -984,  -984,  -984,   556,   552,   557,  -984,   558,   560,
1886 <     562,  -984,   564,   156,  -984,  -984,  -984,  -984,  -984,  -984,
1887 <    -984,  -984,  -984,   566,   565,   567,   569,    55,  -984,  -984,
1888 <    -984,  -984,   539,   576,   579,   625,   590,   596,   597,   450,
1889 <     582,  -984,  -984,   665,   598,   670,   699,   700,   686,   687,
1890 <     689,   690,   691,   693,   709,   695,  -144,   -96,   696,   698,
1891 <     607,  -984,   610,   611,  -984,   128,  -984,  -984,  -984,  -984,
1892 <     616,   615,  -984,   620,   718,   618,  -984,   626,   624,  -984,
1893 <     628,    85,  -984,  -984,  -984,  -984,   629,   635,   636,  -984,
1894 <     638,   639,   640,   641,   487,   643,   650,   653,   655,   658,
1895 <     660,   661,   669,  -984,  -984,   753,   773,   450,   662,   786,
1896 <     788,   450,   794,   795,   450,   784,   800,   802,   450,   803,
1897 <     803,   688,  -984,  -984,   790,   -55,   792,   711,   793,   796,
1898 <     694,   797,   799,   809,   801,   804,   805,   701,  -984,   806,
1899 <     810,   702,  -984,   708,  -984,   811,   812,   712,  -984,   713,
1900 <     714,   715,   716,   717,   719,   720,   722,   723,   724,   725,
1901 <     726,   727,   728,   729,   730,   731,   732,   733,   734,   735,
1902 <     736,   737,   738,   739,   740,   520,   741,   667,   742,   743,
1903 <     744,   745,   746,   747,   748,   749,   750,   751,   752,   754,
1904 <     755,   756,   757,   758,   759,   760,   761,   762,  -984,  -984,
1905 <     819,   770,   763,   822,   815,   864,   865,   866,   767,  -984,
1906 <     869,   870,   771,  -984,  -984,   871,   873,   772,   889,   774,
1907 <    -984,   776,   777,  -984,  -984,   879,   880,   780,  -984,  -984,
1908 <     882,   807,   779,   884,   885,   886,   783,   888,   789,  -984,
1909 <    -984,   892,   893,   894,   798,  -984,   808,   813,   814,   816,
1910 <     817,   818,   820,   821,  -984,   823,   824,   825,   827,   828,
1911 <     829,   830,   831,   832,   833,   834,   835,   836,  -984,  -984,
1912 <    -183,  -984,  -984,  -984,  -177,  -984,   837,   838,  -984,  -984,
1913 <     895,   785,   839,  -984,   840,  -984,   154,   841,  -984,  -984,
1914 <     896,   842,   897,   843,  -984,  -984,  -984,  -984,  -984,  -984,
1915 <    -984,  -984,   450,   450,   450,   450,   450,   450,   450,  -984,
1916 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,   844,
1917 <     846,   847,   -42,   848,   849,   850,   851,   852,   853,   854,
1918 <     855,   856,   857,    13,   858,   859,  -984,   860,   861,   862,
1919 <     863,   867,   868,   872,     8,   874,   875,   876,   877,   878,
1920 <     881,  -984,   883,   887,  -984,  -984,   890,   891,  -984,  -984,
1921 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1922 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1923 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1924 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1925 <    -984,  -984,  -984,  -984,  -984,  -984,  -174,  -984,  -984,  -984,
1926 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1927 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1928 <    -130,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1929 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1930 <    -984,  -984,   898,   899,   502,   900,   901,   902,   903,   904,
1931 <    -984,   905,   906,  -984,   907,   908,    15,   919,   909,  -984,
1932 <    -984,  -984,  -984,   910,   911,  -984,   912,   914,   435,   915,
1933 <     916,   917,   710,   918,  -984,   920,   921,   922,  -984,  -984,
1934 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1935 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1936 <    -984,  -144,  -984,   -96,  -984,  -984,   923,   337,  -984,  -984,
1937 <     924,   925,   926,  -984,    90,  -984,  -984,  -984,  -984,  -984,
1938 <     927,   599,   930,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1939 <    -984,  -984,  -984,  -984,  -984,  -984,   -65,  -984,  -984,  -984,
1940 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,   803,   803,
1941 <     803,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1942 <    -984,  -984,  -984,  -984,   -20,  -984,  -984,  -984,  -984,  -984,
1943 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,   520,  -984,   667,
1944 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1945 <    -984,  -984,   -19,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1946 <    -984,  -984,  -984,  -984,  -984,  -984,    53,  -984,   913,   889,
1947 <     931,  -984,  -984,  -984,  -984,  -984,   928,  -984,  -984,   929,
1948 <    -984,  -984,  -984,  -984,   932,  -984,  -984,  -984,  -984,  -984,
1949 <    -984,  -984,  -984,  -984,  -984,    59,  -984,  -984,  -984,  -984,
1950 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1951 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1952 <    -984,    79,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1953 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1954 <      84,  -984,  -984,   943,   -97,   933,   935,  -984,  -984,  -984,
1955 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,   101,
1956 <    -984,  -984,  -984,   -42,  -984,  -984,  -984,  -984,     8,  -984,
1957 <    -984,  -984,   502,  -984,    15,  -984,  -984,  -984,   959,   960,
1958 <     961,  -984,   435,  -984,   710,  -984,   337,   938,   939,   940,
1959 <     378,  -984,  -984,   599,  -984,  -984,  -984,  -984,  -984,  -984,
1960 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1961 <    -984,  -984,  -984,  -984,   120,  -984,  -984,  -984,   378,  -984
1555 >   -1029, -1029, -1029,  -435,  -309, -1028,  -629, -1029, -1029,   963,
1556 >   -1029, -1029, -1029, -1029,   951, -1029, -1029, -1029, -1029, -1029,
1557 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1558 >   -1029, -1029, -1029, -1029,   953, -1029, -1029, -1029, -1029, -1029,
1559 >   -1029,   544, -1029, -1029, -1029, -1029,   958, -1029, -1029, -1029,
1560 >   -1029,     9, -1029, -1029, -1029, -1029, -1029,  -238, -1029, -1029,
1561 >   -1029,   545, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1562 >   -1029, -1029, -1029,  -138, -1029, -1029, -1029,  -178, -1029, -1029,
1563 >   -1029,   858, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1564 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1565 >   -1029,  -156, -1029, -1029, -1029, -1029, -1029,  -127, -1029,   625,
1566 >   -1029, -1029, -1029,   -18, -1029, -1029, -1029, -1029, -1029,   650,
1567 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029,  -120, -1029, -1029,
1568 >   -1029, -1029, -1029, -1029,   585, -1029, -1029, -1029, -1029, -1029,
1569 >     959, -1029, -1029, -1029, -1029,   533, -1029, -1029, -1029, -1029,
1570 >   -1029,  -134, -1029, -1029, -1029,   556, -1029, -1029, -1029, -1029,
1571 >    -122, -1029, -1029, -1029,   820, -1029, -1029, -1029, -1029, -1029,
1572 >   -1029, -1029, -1029, -1029, -1029, -1029,  -105, -1029, -1029, -1029,
1573 >   -1029, -1029, -1029, -1029, -1029,   653, -1029, -1029, -1029, -1029,
1574 >   -1029,   740, -1029, -1029, -1029, -1029,  1023, -1029, -1029, -1029,
1575 >   -1029,   960, -1029, -1029, -1029, -1029,   971, -1029, -1029, -1029,
1576 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1577 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1578 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1579 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1580 >   -1029, -1029, -1029,    36, -1029, -1029, -1029,    61, -1029, -1029,
1581 >   -1029, -1029, -1029,  1077, -1029, -1029, -1029, -1029, -1029, -1029,
1582 >   -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029,
1583 >     961, -1029, -1029, -1029, -1029, -1029, -1029, -1029, -1029
1584   };
1585  
1586 < /* YYPGOTO[NTERM-NUM].  */
1587 < static const yytype_int16 yypgoto[] =
1586 >  /* YYDEFGOTO[NTERM-NUM].  */
1587 > static const yytype_int16 yydefgoto[] =
1588   {
1589 <    -984,  -984,  -984,  -150,  -303,  -983,  -609,  -984,  -984,   937,
1590 <    -984,  -984,  -984,  -984,   764,  -984,  -984,  -984,    21,  -984,
1591 <      22,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1592 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,   949,  -984,
1593 <    -984,  -984,  -984,  -984,  -984,   540,  -984,  -984,  -984,  -984,
1594 <     765,  -984,  -984,  -984,  -984,    31,  -984,  -984,  -984,  -984,
1595 <    -984,  -234,  -984,  -984,  -984,   529,  -984,  -984,  -984,  -984,
1596 <    -984,  -984,  -984,  -984,  -984,  -196,  -984,  -984,  -984,  -193,
1597 <    -984,  -984,  -984,   703,  -984,  -984,  -984,  -984,  -984,  -984,
1598 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1599 <    -984,  -984,  -176,  -984,  -984,  -984,  -984,  -984,  -181,  -984,
1600 <     617,  -984,  -984,  -984,   -75,  -984,  -984,  -984,  -984,  -984,
1601 <     588,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -120,  -984,
1602 <    -984,  -984,  -984,  -984,  -984,   585,  -984,  -984,  -984,  -984,
1603 <    -984,   934,  -984,  -984,  -984,  -984,   467,  -984,  -984,  -984,
1604 <    -984,  -984,  -140,  -984,  -984,  -984,   548,  -984,  -984,  -984,
1605 <    -984,  -121,  -984,  -984,  -984,   778,  -984,  -984,  -984,  -984,
1606 <    -984,  -984,  -984,  -984,  -984,  -984,  -112,  -984,  -984,  -984,
1607 <    -984,  -984,  -984,  -984,  -984,   642,  -984,  -984,  -984,  -984,
1608 <    -984,   766,  -984,  -984,  -984,  -984,   996,  -984,  -984,  -984,
1609 <    -984,   775,  -984,  -984,  -984,  -984,   945,  -984,  -984,  -984,
1610 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1611 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1612 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1613 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1614 <    -984,  -984,    33,  -984,  -984,  -984,    34,  -984,  -984,  -984,
1615 <    -984,  -984,  1023,  -984,  -984,  -984,  -984,  -984,  -984,  -984,
1616 <    -984,  -984,  -984,  -984,  -984,  -984,  -984,   936,  -984,  -984,
1617 <    -984,  -984,  -984,  -984,  -984,  -984
1589 >      -1,     1,    25,   817,   818,  1075,  1076,    26,   224,   225,
1590 >     226,   227,    27,   268,   269,   270,   271,   272,   273,   274,
1591 >     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1592 >     285,   286,    28,    74,    75,    76,    77,    78,    29,    61,
1593 >     503,   504,   505,   506,    30,   290,   291,   292,   293,   294,
1594 >    1037,  1038,  1039,  1040,  1041,  1211,  1282,  1283,    31,    62,
1595 >     518,   519,   520,   521,   522,   523,   524,   525,   526,   527,
1596 >     528,   750,  1189,  1190,   529,   744,  1160,  1161,    32,    51,
1597 >     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
1598 >     351,   352,   353,   354,   355,   356,   357,   358,   359,   617,
1599 >    1059,  1060,    33,    59,   489,   729,  1131,  1132,   490,   491,
1600 >     492,  1135,   981,   982,   493,   494,    34,    57,   467,   468,
1601 >     469,   470,   471,   472,   473,   714,  1117,  1118,   474,   475,
1602 >     476,    35,    63,   534,   535,   536,   537,   538,    36,   297,
1603 >     298,   299,    37,    69,   588,   589,   590,   591,   592,   799,
1604 >    1225,  1226,    38,    66,   572,   573,   574,   575,   789,  1206,
1605 >    1207,    39,    52,   375,   376,   377,   378,   379,   380,   381,
1606 >     382,   383,   384,   385,   640,  1088,  1089,   386,   387,   388,
1607 >     389,   390,    40,    58,   480,   481,   482,   483,    41,    53,
1608 >     394,   395,   396,   397,    42,   115,   116,   117,    43,    55,
1609 >     404,   405,   406,   407,    44,   168,   169,   170,   171,   172,
1610 >     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1611 >     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1612 >     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1613 >     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1614 >     213,   436,   942,   943,   214,   434,   917,   918,   215,   216,
1615 >     217,    45,    94,    95,    96,    97,    98,    99,   100,   101,
1616 >     102,   103,   104,   105,   106,   107,   108,   109,    46,   240,
1617 >     241,   242,   243,   244,   245,   246,   247,   248,   249
1618   };
1619  
1620 < /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1621 <   positive, shift that token.  If negative, reduce the rule which
1622 <   number is the opposite.  If YYTABLE_NINF, syntax error.  */
2001 < #define YYTABLE_NINF -124
1620 >  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1621 >     positive, shift that token.  If negative, reduce the rule whose
1622 >     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1623   static const yytype_int16 yytable[] =
1624   {
1625 <     824,   825,   585,   586,   587,   379,    79,   225,  1034,   674,
1626 <     823,   282,   675,   109,   676,   379,  1062,   677,    70,   471,
1627 <     464,   464,  1048,  1049,  1050,   289,    80,    81,   295,   109,
1628 <     389,   350,    82,   351,   226,   352,   282,    47,    48,   215,
1629 <    1000,    71,   227,    49,  1001,   389,  1002,   353,    72,  1076,
1630 <    1003,   758,   759,  1077,   228,   229,   513,   230,   231,   232,
1631 <      50,   215,   354,  1103,   380,  1204,  1205,  1206,   487,    83,
1632 <      84,   552,   110,   472,   380,    85,    86,    54,   473,   233,
1633 <     474,  1035,    87,    88,    89,   355,   567,   356,   110,   514,
1634 <      56,  1010,   357,  1078,   640,   641,   289,  1079,    60,   762,
1635 <     763,   647,   358,  1228,   315,   651,   115,    64,    90,    91,
1636 <     656,   116,   117,   659,    73,   828,   829,   118,   316,   317,
1637 <     823,   290,   318,   669,   670,   119,   390,   359,   381,   552,
1638 <     515,   120,   216,   681,   121,   122,   684,   685,   381,   475,
1639 <     123,   390,   488,   465,   465,   124,   125,   244,   126,   127,
1640 <     128,   360,   129,   391,   216,  1010,   217,   494,  1202,   130,
1641 <     296,    65,  1203,   131,   132,   319,   487,   553,   391,    67,
1642 <     245,   361,   133,   495,   567,    68,  -123,   106,   217,   516,
1643 <     107,   134,   568,   320,   321,   322,   323,  1011,   496,   135,
1644 <     324,   136,   290,   137,   325,   138,  1104,   139,   140,  1063,
1645 <     326,  -123,   246,  1207,  1211,   297,  1105,  1208,  1212,   247,
1646 <     141,   327,   328,   471,   108,   142,   143,   144,   497,   145,
1647 <     146,   147,   362,   329,   148,   553,   743,   283,   631,   313,
1648 <     530,   248,   445,   489,   561,   249,   387,   466,   466,   482,
1649 <     488,   299,   709,   250,   702,   330,   251,   252,   446,   363,
1650 <     149,  1011,   283,   498,   627,   532,   150,   151,   152,   153,
1651 <     154,   114,   485,   447,   212,   213,   214,   472,   637,   445,
1652 <     568,   222,   473,   499,   474,   513,  1213,  1012,   253,   734,
1653 <    1214,   331,  1221,   223,   554,   446,  1222,   224,   155,   500,
1654 <     281,   717,   298,   448,   811,   254,   255,   294,   815,   569,
1655 <     447,   818,  1223,   570,  1013,   822,  1224,  1225,   514,   783,
1656 <     559,  1226,   156,   157,  1186,   158,   159,   160,   301,   565,
1657 <     256,   161,   302,   303,  1232,   304,   162,   611,  1233,   443,
1658 <     448,   489,    70,   475,   305,   244,   306,   307,   257,   258,
1659 <     259,  1012,   554,  1257,   308,   309,   563,  1258,   449,   515,
1660 <     310,   311,   772,   501,   576,    71,   450,   451,   245,   312,
1661 <     386,   396,    72,   397,   398,   260,   261,   115,  1013,   399,
1662 <     550,   400,   116,   117,   502,   401,   402,   452,   118,   403,
1663 <     728,   404,   577,   405,   406,   449,   119,   569,   407,   408,
1664 <     246,   570,   120,   450,   451,   121,   122,   247,   516,   578,
1665 <     409,   123,   410,   411,   412,  1170,   124,   125,   413,   126,
1666 <     127,   128,   414,   129,   452,   415,   416,  1247,   417,   248,
1667 <     130,   418,   419,   249,   131,   132,   420,   421,    73,   423,
1668 <     425,   250,   426,   133,   251,   252,   427,   428,   579,  1115,
1669 <     429,   350,   134,   351,  1248,   352,  1249,   430,   431,   453,
1670 <     135,   432,   136,  1116,   137,   698,   138,   353,   139,   140,
1671 <    1117,   433,   434,   435,   436,   437,   253,  1171,   438,   439,
1672 <     440,   141,   354,   494,  1118,   441,   142,   143,   144,   442,
1673 <     145,   146,   147,   254,   255,   148,   453,   483,   484,   495,
1674 <     522,  1250,   523,  1172,   580,   355,   524,   356,   525,   526,
1675 <    1173,  1119,   357,  1120,   496,   527,   528,   529,   256,  1174,
1676 <     533,   149,   358,   534,   535,  1082,   536,   150,   151,   152,
1677 <     153,   154,   537,   538,   539,   540,   257,   258,   259,  1121,
1678 <     541,   542,   543,   544,   497,  1083,  1175,   359,  1176,  1177,
1679 <    1251,  1252,   545,   546,  1084,   547,   548,   549,   560,   155,
1680 <     564,   581,  1178,   260,   261,   582,   583,   584,   588,  1179,
1681 <     589,   360,  1122,   590,  1123,   591,   592,   593,   875,   498,
1682 <     594,  1085,   595,   156,   157,  1229,   158,   159,   160,   596,
1683 <     597,   361,   161,  1124,   599,   633,   613,   162,   600,   499,
1684 <     601,   602,   639,   603,   584,   604,  1253,   605,  1125,   606,
1685 <    1086,  1087,   607,  1126,   634,   500,   608,  1127,  1088,   609,
1686 <     610,   614,  1128,   642,   615,  1129,   616,   617,   618,   619,
1687 <    1130,   792,   793,   794,   795,   796,   797,   798,   621,   622,
1688 <     623,   624,   362,  1089,  1131,   625,   626,     2,     3,  1132,
1689 <     629,     4,  1024,  1025,  1026,  1027,  1028,  1029,  1030,  1090,
1690 <    1133,     5,   630,   635,     6,     7,   636,  1134,   315,   363,
1691 <       8,   643,   644,   645,   646,   648,   649,  1189,   650,   501,
1692 <     652,     9,   316,   317,    10,    11,   318,   876,   877,   878,
1693 <     653,   879,   880,   654,   881,   882,   655,   883,   657,   884,
1694 <     502,   658,   885,   660,   661,   886,   887,   888,    12,   889,
1695 <     662,   663,   664,    13,   890,   665,   666,  1091,   891,   892,
1696 <     893,    14,   667,   668,   671,   899,   672,   673,   894,   319,
1697 <     678,   679,   225,   895,   680,   682,   688,   683,   686,  1190,
1698 <     687,   690,    15,    16,   711,   689,   704,   320,   321,   322,
1699 <     323,   712,   691,   693,   324,   736,   713,   739,   325,   226,
1700 <      17,   694,   695,   696,   326,  1191,   697,   227,  1140,   700,
1701 <     701,   705,  1192,   706,   708,   327,   328,    18,   714,   228,
1702 <     229,  1193,   230,   231,   232,   715,   716,   329,   720,   719,
1703 <      19,    20,   737,   721,   723,   738,   724,   745,   725,   730,
1704 <     727,   731,   747,   732,   233,   733,   740,    21,  1194,   330,
1705 <    1195,  1196,   741,   742,   746,   744,   748,   749,   750,   751,
1706 <      22,   752,   753,   754,  1197,   755,   756,   757,   766,    23,
1707 <     767,  1198,   774,    24,   900,   901,   902,    79,   903,   904,
1708 <     768,   905,   906,   769,   907,   331,   908,   770,   775,   909,
1709 <     777,   778,   910,   911,   912,   776,   913,    80,    81,   779,
1710 <     780,   914,   785,    82,   782,   915,   916,   917,   786,   787,
1711 <     809,   788,   789,   790,   791,   918,   801,  1141,  1142,  1143,
1712 <     919,  1144,  1145,   802,  1146,  1147,   803,  1148,   804,  1149,
1713 <     810,   805,  1150,   806,   807,  1151,  1152,  1153,   812,  1154,
1714 <      83,    84,   808,   813,  1155,   814,    85,    86,  1156,  1157,
1715 <    1158,   816,   817,    87,    88,    89,   819,   820,  1159,   821,
1716 <     823,   826,   827,  1160,   830,   832,   837,   831,   833,   835,
1717 <     834,   836,   946,   838,   841,   844,   839,   840,   842,    90,
1718 <      91,   845,   843,   846,   847,   848,   849,   850,   851,   852,
1719 <     853,   942,   854,   855,   945,   856,   857,   858,   859,   860,
1720 <     861,   862,   863,   864,   865,   866,   867,   868,   869,   870,
1721 <     871,   872,   873,   874,   898,   922,   923,   924,   925,   926,
1722 <     927,   928,   929,   930,   931,   932,   943,   933,   934,   935,
1723 <     936,   937,   938,   939,   940,   941,   947,   948,   949,   944,
1724 <     950,   951,   952,   954,   953,   955,   957,   960,   956,   961,
1725 <     962,   963,   964,   965,   966,   968,   969,   970,   971,   972,
1726 <     973,  1007,   974,   967,   975,   976,   977,  1006,  1020,  1022,
1727 <    1215,   978,  1167,   300,  1259,  1168,   551,  1234,  1242,  1241,
1728 <     718,   979,   729,  1237,  1216,   612,   980,   981,   784,   982,
1729 <     983,   984,   699,   985,   986,  1187,   987,   988,   989,   562,
1730 <     990,   991,   992,   993,   994,   995,   996,   997,   998,   999,
1731 <    1004,  1005,  1008,  1009,  1019,  1227,  1023,  1031,  1021,  1032,
1732 <    1033,  1038,  1039,  1040,  1041,  1042,  1043,  1044,  1045,  1046,
1733 <    1047,  1053,  1054,  1055,  1056,  1057,  1058,  1238,  1239,  1240,
1734 <    1059,  1060,  1236,  1256,   710,  1061,  1235,  1066,  1067,  1068,
1735 <    1069,  1070,   735,   773,  1071,  1243,  1072,   388,   444,   703,
1736 <    1073,  1209,  1210,  1074,  1075,   314,     0,     0,     0,     0,
1737 <       0,  1080,  1081,  1094,  1095,  1096,  1097,  1098,  1099,  1100,
1738 <    1101,  1102,  1108,  1111,  1112,  1113,  1109,  1114,  1137,  1138,
1739 <    1139,  1163,   628,  1164,  1165,  1166,  1169,  1182,   632,     0,
1740 <    1188,  1183,  1184,  1201,  1217,   486,  1218,  1219,  1231,  1230,
1741 <    1220,  1244,  1245,  1246,     0,     0,     0,   638,     0,     0,
1742 <     531,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1625 >     845,   846,   602,   288,   604,   584,   606,   607,   569,    70,
1626 >      49,   231,   584,   484,  1033,   500,   113,   113,   500,   844,
1627 >      50,   391,  1057,    54,   221,   221,  1086,   401,   391,    56,
1628 >     695,    60,   697,    71,   696,   295,   698,    47,    48,   232,
1629 >      72,   530,   288,   119,  1230,  1231,  1232,   233,   120,   121,
1630 >    1128,    64,  1101,  1103,   122,   477,  1102,  1104,    65,   234,
1631 >     235,    67,   123,   124,   236,   237,   238,   849,   850,   125,
1632 >     485,   401,   126,    68,   295,   531,   110,   486,   127,   487,
1633 >     114,   114,   111,   128,   129,   392,   130,   131,   132,   239,
1634 >     133,   477,   392,   250,   569,   501,   112,  1058,   501,   134,
1635 >     661,   662,   118,   135,   136,    79,   585,   668,   218,   570,
1636 >      73,   672,  1254,   585,   137,  1034,   677,   251,   458,   680,
1637 >     219,   532,   222,   222,   138,   220,    80,    81,   402,   690,
1638 >     691,   139,    82,   140,   459,   141,   296,   142,   488,   143,
1639 >     144,   704,   228,   229,   707,   708,   223,   223,   230,   393,
1640 >     460,   252,   145,   287,   300,   403,   393,   146,   147,   148,
1641 >     253,   149,   150,   151,  1033,   301,   152,    83,    84,   533,
1642 >     302,   303,   402,    85,    86,   296,   304,   307,  -115,    87,
1643 >      88,    89,   254,   478,   461,  1228,   255,    90,    91,  1229,
1644 >     502,  1129,   153,   502,   256,   570,   323,   257,   258,   403,
1645 >     507,  1130,   154,   155,   156,   157,   158,   159,   308,  1035,
1646 >     324,   325,    92,    93,   326,   309,   508,  -115,  1087,   478,
1647 >     310,   311,  1233,   312,   586,   289,  1234,   571,   587,   259,
1648 >     313,   586,   509,  1036,   160,   587,   580,   767,   305,   462,
1649 >     547,   801,   731,  1212,   739,   399,   260,   463,   464,   261,
1650 >     262,   263,   794,   498,   161,   162,   163,   652,   164,   165,
1651 >     166,    70,   327,   314,   289,  1034,   510,   315,   465,   167,
1652 >     758,   578,   456,   360,   495,   361,   264,   362,   479,   328,
1653 >     329,   330,   331,   332,   724,    71,  1237,   333,   316,   363,
1654 >    1238,   334,    72,   265,   360,  1239,   361,   335,   362,  1240,
1655 >     658,   511,   593,   582,   317,   364,   318,   831,   336,   337,
1656 >     363,   319,   836,   571,   479,   839,   320,   266,   267,   843,
1657 >     338,   512,   567,   790,   458,  1247,   364,   530,   549,  1248,
1658 >     365,  1249,   366,   398,   321,  1250,   601,   513,   408,   367,
1659 >     459,   466,   339,  1072,  1073,  1074,   409,   720,  1251,   576,
1660 >     368,   365,  1252,   366,   514,   515,   460,   410,   411,  1035,
1661 >     367,   531,    73,   810,   811,   812,   813,   814,   815,   816,
1662 >     412,   368,   413,   414,   369,  1047,  1048,  1049,  1050,  1051,
1663 >    1052,  1053,   340,  1036,  1258,  1285,   415,   596,  1259,  1286,
1664 >     461,   119,   484,   416,   417,   369,   120,   121,   370,   418,
1665 >     419,   516,   122,   420,   421,   422,   423,   532,   424,   425,
1666 >     123,   124,   507,   426,   427,   428,   429,   125,   371,   370,
1667 >     126,   430,   431,   517,   432,   631,   127,   372,   508,   752,
1668 >     433,   128,   129,   435,   130,   131,   132,   250,   133,   371,
1669 >     437,   438,   439,   440,   509,   462,   844,   134,   372,   485,
1670 >     441,   135,   136,   463,   464,   533,   486,   442,   487,   443,
1671 >     444,   251,   137,   445,   446,  1273,   447,   448,   449,   450,
1672 >     451,   452,   138,   373,   465,   453,   454,   455,   510,   139,
1673 >     496,   140,   497,   141,   539,   142,   540,   143,   144,   541,
1674 >     542,   543,   594,   544,   373,   252,  1274,   374,  1275,   545,
1675 >     145,  1140,   648,   546,   253,   146,   147,   148,   231,   149,
1676 >     150,   151,   550,   511,   152,  1141,   551,   488,   374,   552,
1677 >     553,  1196,   554,  1142,   555,  1215,   254,   556,   557,   558,
1678 >     255,   559,   560,   512,   561,   562,   232,  1143,   256,   563,
1679 >     153,   257,   258,  1276,   233,   564,   565,   466,  1107,   513,
1680 >     154,   155,   156,   157,   158,   159,   234,   235,   595,   566,
1681 >    1277,   236,   237,   238,   577,   581,   514,   515,  1144,  1108,
1682 >    1145,   597,   598,   259,   599,   600,   601,   603,  1109,   605,
1683 >     608,  1255,   160,  1197,   609,   610,   239,  1216,   611,   612,
1684 >     260,   613,   660,   261,   262,   263,  1146,  1278,  1279,   614,
1685 >     615,   616,   161,   162,   163,   618,   164,   165,   166,  1110,
1686 >     619,   620,   621,   516,  1198,   622,   623,   167,  1217,   624,
1687 >     264,  1199,   633,   654,   625,  1218,   626,   627,   628,  1147,
1688 >    1200,  1148,   629,   630,  1219,   517,   634,   265,  1111,  1112,
1689 >     635,   636,   637,   655,   638,   639,  1113,   641,   642,  1280,
1690 >    1149,   643,  1201,  1281,  1202,  1203,  1220,   663,  1221,  1222,
1691 >     644,   266,   267,   664,     2,     3,   645,   646,     4,  1204,
1692 >    1150,  1114,   647,  1223,   650,  1151,  1205,   651,     5,  1152,
1693 >    1224,     6,     7,   656,   665,   657,  1153,  1115,     8,   666,
1694 >     667,  1154,   669,   323,   670,   671,   673,   674,   675,     9,
1695 >     676,  1155,    10,    11,  1156,   678,  1157,   324,   325,   679,
1696 >     681,   326,   682,   683,   684,   685,   686,   687,  1158,   689,
1697 >     688,   692,   693,   694,   699,  1159,   700,   701,    79,   703,
1698 >      12,   702,   705,   706,   709,    13,   733,   712,   920,   734,
1699 >     921,   922,   763,   710,    14,  1116,   711,   726,   760,    80,
1700 >      81,   713,   715,   769,   771,    82,   716,   717,   718,   327,
1701 >     719,   722,   723,   727,    15,    16,   728,   735,   730,   736,
1702 >     761,   737,   741,   738,   742,   754,   328,   329,   330,   331,
1703 >     332,   743,    17,  1167,   333,  1168,  1169,   745,   334,   746,
1704 >      83,    84,   747,   748,   335,   749,    85,    86,   751,    18,
1705 >     755,   756,    87,    88,    89,   336,   337,   757,   768,   772,
1706 >      90,    91,    19,    20,   762,   773,   764,   338,   765,   766,
1707 >     774,   897,   770,   775,   782,   776,   777,   778,   779,   780,
1708 >     792,   781,   783,   784,    21,    92,    93,   785,   788,   339,
1709 >     795,   829,   786,   787,   830,   793,   840,    22,   833,   796,
1710 >     797,   834,   803,   804,   798,    23,   923,   924,   925,    24,
1711 >     926,   927,   800,   928,   929,   805,   930,   806,   931,   807,
1712 >     808,   932,   809,   819,   933,   934,   820,   935,   821,   340,
1713 >     822,   823,   936,   824,   825,   826,   937,   938,   939,   827,
1714 >     828,   832,   940,   835,   837,   838,   841,   941,   842,   844,
1715 >     847,  1170,  1171,  1172,   848,  1173,  1174,   851,  1175,  1176,
1716 >     855,  1177,   853,  1178,   858,   854,  1179,   856,   852,  1180,
1717 >    1181,   857,  1182,   859,   860,   861,   862,  1183,   864,   966,
1718 >     865,  1184,  1185,  1186,   868,   869,   965,  1187,   863,   898,
1719 >     899,   900,  1188,   901,   902,   866,   903,   904,   968,   905,
1720 >     867,   906,   870,   871,   907,   872,   969,   908,   909,   873,
1721 >     910,   970,   874,   967,   875,   911,   876,   877,   971,   912,
1722 >     913,   914,   878,   879,   880,   915,   881,   882,   883,   884,
1723 >     916,   885,   886,   887,   888,   889,   890,   891,   892,   893,
1724 >     894,   895,   896,   919,   944,   945,   946,   947,   948,   949,
1725 >     950,   972,   951,   952,   953,   954,   974,   955,   956,   975,
1726 >     977,   978,   980,   986,   987,   989,   992,   993,   957,   994,
1727 >     958,   959,   960,   995,   961,   990,   998,   306,  1000,   962,
1728 >     996,  1001,  1002,   963,   964,   973,  1029,  1043,  1045,   976,
1729 >    1241,   983,   984,   979,   985,   988,  1213,   740,  1287,   991,
1730 >     997,   999,  1003,  1004,  1005,  1006,  1007,  1008,  1009,  1010,
1731 >    1011,  1012,  1013,   753,  1014,  1015,  1016,  1017,  1018,  1019,
1732 >    1267,  1020,  1021,  1260,  1022,  1023,  1024,  1025,  1026,  1027,
1733 >    1028,  1253,  1031,  1032,  1030,  1042,  1046,  1044,  1054,  1055,
1734 >    1056,  1061,  1062,  1063,  1064,  1065,  1066,  1067,  1068,  1069,
1735 >    1070,  1071,  1077,  1264,  1078,  1079,  1080,  1081,  1265,  1082,
1736 >    1083,  1266,  1268,  1263,  1084,   732,  1242,   721,  1262,   759,
1737 >    1085,   802,  1090,  1091,  1092,  1284,  1093,  1094,   791,  1261,
1738 >    1269,  1095,  1096,   725,   653,  1097,  1098,  1099,   400,   457,
1739 >    1236,  1100,  1105,  1106,  1119,  1120,  1121,  1122,  1123,  1124,
1740 >    1125,  1126,  1127,  1133,  1136,  1137,  1138,  1134,  1139,  1162,
1741 >    1163,  1164,  1165,  1235,  1166,  1191,  1192,  1193,  1194,  1195,
1742 >    1208,   322,     0,  1214,  1209,  1210,  1227,  1243,     0,  1244,
1743 >    1245,  1257,  1256,  1246,  1270,  1271,  1272,   499,     0,     0,
1744 >       0,     0,     0,     0,     0,   649,     0,     0,     0,   632,
1745 >       0,   548,     0,     0,     0,     0,     0,     0,     0,     0,
1746 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   568,
1747 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1748 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1749 >       0,     0,     0,     0,     0,     0,     0,     0,   579,     0,
1750 >       0,     0,     0,     0,     0,     0,   583,     0,     0,     0,
1751         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1752         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1753         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1754         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1755 <       0,     0,     0,     0,     0,   566
1755 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1756 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1757 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1758 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1759 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1760 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1761 >       0,     0,     0,     0,   659
1762   };
1763  
2129 #define yypact_value_is_default(Yystate) \
2130  (!!((Yystate) == (-984)))
2131
2132 #define yytable_value_is_error(Yytable_value) \
2133  YYID (0)
2134
1764   static const yytype_int16 yycheck[] =
1765   {
1766 <     609,   610,   305,   306,   307,     1,     1,     1,    50,   206,
1767 <     107,     1,   209,     1,   206,     1,     8,   209,     1,     1,
1768 <       1,     1,     9,    10,    11,     1,    21,    22,   223,     1,
1769 <       1,     1,    27,     3,    28,     5,     1,   223,   224,     1,
1770 <     223,    24,    36,   225,   227,     1,   223,    17,    31,   223,
1771 <     227,   195,   196,   227,    48,    49,     1,    51,    52,    53,
1772 <     225,     1,    32,    48,    60,  1048,  1049,  1050,     1,    64,
1773 <      65,     1,    60,    55,    60,    70,    71,   225,    60,    73,
1774 <      62,   123,    77,    78,    79,    55,     1,    57,    60,    34,
1775 <     225,     1,    62,   223,   397,   398,     1,   227,   225,   195,
1776 <     196,   404,    72,   200,     1,   408,     1,   225,   103,   104,
1777 <     413,     6,     7,   416,    97,   170,   171,    12,    15,    16,
1778 <     107,    97,    19,   426,   427,    20,    97,    97,   124,     1,
1779 <      75,    26,    94,   436,    29,    30,   439,   440,   124,   121,
1780 <      35,    97,    75,   124,   124,    40,    41,     1,    43,    44,
1781 <      45,   121,    47,   124,    94,     1,   118,     1,   223,    54,
1782 <     226,   225,   227,    58,    59,    62,     1,    97,   124,   225,
1783 <      24,   141,    67,    17,     1,   225,   166,   225,   118,   124,
1784 <     225,    76,    97,    80,    81,    82,    83,    97,    32,    84,
1785 <      87,    86,    97,    88,    91,    90,   181,    92,    93,   191,
1786 <      97,   166,    56,   223,   223,   226,   191,   227,   227,    63,
1787 <     105,   108,   109,     1,   225,   110,   111,   112,    62,   114,
1788 <     115,   116,   192,   120,   119,    97,   529,   217,   224,   224,
1789 <     224,    85,     1,   166,   224,    89,   224,   218,   218,   223,
1790 <      75,   224,   224,    97,   224,   142,   100,   101,    17,   219,
1791 <     145,    97,   217,    97,   224,   223,   151,   152,   153,   154,
1792 <     155,   225,   224,    32,   225,   225,   225,    55,   224,     1,
1793 <      97,   225,    60,   117,    62,     1,   223,   187,   132,   224,
1794 <     227,   178,   223,   225,   214,    17,   227,   225,   183,   133,
1795 <     225,   224,   226,    62,   597,   149,   150,   225,   601,   214,
1796 <      32,   604,   223,   218,   214,   608,   227,   223,    34,   224,
1797 <     223,   227,   207,   208,   224,   210,   211,   212,   226,   224,
1798 <     174,   216,   226,   226,   223,   226,   221,   224,   227,   224,
1799 <      62,   166,     1,   121,   226,     1,   226,   226,   192,   193,
1800 <     194,   187,   214,   223,   226,   226,   166,   227,   117,    75,
1801 <     226,   226,   224,   197,   122,    24,   125,   126,    24,   226,
1802 <     226,   226,    31,   226,   226,   219,   220,     1,   214,   226,
1803 <     224,   226,     6,     7,   218,   226,   226,   146,    12,   226,
1804 <     224,   226,   122,   226,   226,   117,    20,   214,   226,   226,
1805 <      56,   218,    26,   125,   126,    29,    30,    63,   124,   122,
1806 <     226,    35,   226,   226,   226,    68,    40,    41,   226,    43,
1807 <      44,    45,   226,    47,   146,   226,   226,    39,   226,    85,
1808 <      54,   226,   226,    89,    58,    59,   226,   226,    97,   226,
1809 <     226,    97,   226,    67,   100,   101,   226,   226,   223,     4,
1810 <     226,     1,    76,     3,    66,     5,    68,   226,   226,   218,
1811 <      84,   226,    86,    18,    88,   224,    90,    17,    92,    93,
1812 <      25,   226,   226,   226,   226,   226,   132,   130,   226,   226,
1813 <     226,   105,    32,     1,    39,   226,   110,   111,   112,   226,
1814 <     114,   115,   116,   149,   150,   119,   218,   226,   226,    17,
1815 <     226,   113,   226,   156,   107,    55,   226,    57,   226,   226,
1816 <     163,    66,    62,    68,    32,   226,   226,   226,   174,   172,
1817 <     226,   145,    72,   226,   226,    13,   226,   151,   152,   153,
1818 <     154,   155,   226,   226,   226,   226,   192,   193,   194,    94,
1819 <     226,   226,   226,   226,    62,    33,   199,    97,   201,   202,
1820 <     162,   163,   226,   226,    42,   226,   226,   226,   226,   183,
1821 <     226,   107,   215,   219,   220,   206,   107,   107,   107,   222,
1822 <     107,   121,   127,   107,   129,   206,   206,   223,    48,    97,
1823 <     223,    69,   226,   207,   208,  1184,   210,   211,   212,   226,
1824 <     226,   141,   216,   148,   226,   122,   223,   221,   226,   117,
1825 <     226,   226,   206,   226,   107,   226,   218,   226,   163,   226,
1826 <      98,    99,   226,   168,   223,   133,   226,   172,   106,   226,
1827 <     226,   226,   177,   107,   226,   180,   226,   226,   226,   226,
1828 <     185,   134,   135,   136,   137,   138,   139,   140,   226,   226,
1829 <     226,   226,   192,   131,   199,   226,   226,     0,     1,   204,
1830 <     226,     4,   792,   793,   794,   795,   796,   797,   798,   147,
1831 <     215,    14,   226,   226,    17,    18,   226,   222,     1,   219,
1832 <      23,   206,   107,   122,   206,   206,   107,    68,   107,   197,
1833 <     107,    34,    15,    16,    37,    38,    19,   157,   158,   159,
1834 <     206,   161,   162,   206,   164,   165,   206,   167,   107,   169,
1835 <     218,   107,   172,   107,   107,   175,   176,   177,    61,   179,
1836 <     107,   107,   206,    66,   184,   226,   206,   205,   188,   189,
1837 <     190,    74,   226,   206,   206,    48,   206,   206,   198,    62,
1838 <     206,   206,     1,   203,   122,   206,   223,   206,   206,   130,
1839 <     206,   226,    95,    96,   122,   223,   223,    80,    81,    82,
1840 <      83,   122,   226,   226,    87,   206,   223,   122,    91,    28,
1841 <     113,   226,   226,   226,    97,   156,   226,    36,    48,   226,
1842 <     226,   226,   163,   226,   226,   108,   109,   130,   223,    48,
1843 <      49,   172,    51,    52,    53,   226,   226,   120,   226,   223,
1844 <     143,   144,   206,   226,   226,   206,   226,   122,   226,   223,
1845 <     226,   226,   122,   226,    73,   226,   206,   160,   199,   142,
1846 <     201,   202,   206,   206,   206,   223,   107,   107,   122,   122,
1847 <     173,   122,   122,   122,   215,   122,   107,   122,   122,   182,
1848 <     122,   222,   206,   186,   157,   158,   159,     1,   161,   162,
1849 <     223,   164,   165,   223,   167,   178,   169,   226,   223,   172,
1850 <     122,   223,   175,   176,   177,   225,   179,    21,    22,   223,
1851 <     226,   184,   223,    27,   226,   188,   189,   190,   223,   223,
1852 <     107,   223,   223,   223,   223,   198,   223,   157,   158,   159,
1853 <     203,   161,   162,   223,   164,   165,   223,   167,   223,   169,
1854 <     107,   223,   172,   223,   223,   175,   176,   177,   226,   179,
1855 <      64,    65,   223,   107,   184,   107,    70,    71,   188,   189,
1856 <     190,   107,   107,    77,    78,    79,   122,   107,   198,   107,
1857 <     107,   223,   122,   203,   122,   122,   107,   206,   122,   122,
1858 <     226,   122,   107,   122,   223,   223,   122,   122,   122,   103,
1859 <     104,   223,   122,   122,   122,   223,   223,   223,   223,   223,
1860 <     223,   122,   223,   223,   122,   223,   223,   223,   223,   223,
1861 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1862 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1863 <     223,   223,   223,   223,   223,   223,   206,   223,   223,   223,
1864 <     223,   223,   223,   223,   223,   223,   122,   122,   122,   226,
1865 <     223,   122,   122,   122,   223,   122,   107,   223,   226,   223,
1866 <     223,   122,   122,   223,   122,   226,   122,   122,   122,   226,
1867 <     122,   226,   223,   206,   122,   122,   122,   122,   122,   122,
1868 <     107,   223,  1001,    74,  1258,  1003,   262,  1203,  1224,  1222,
1869 <     490,   223,   503,  1214,  1109,   332,   223,   223,   571,   223,
1870 <     223,   223,   454,   223,   223,  1014,   223,   223,   223,   284,
1871 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1872 <     223,   223,   223,   223,   223,   122,   223,   223,   226,   223,
1873 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1874 <     223,   223,   223,   223,   223,   223,   223,   128,   128,   128,
1875 <     223,   223,  1212,  1233,   477,   223,  1208,   223,   223,   223,
1876 <     223,   223,   517,   555,   223,  1226,   223,   111,   163,   467,
1877 <     223,  1077,  1079,   223,   223,    92,    -1,    -1,    -1,    -1,
1878 <      -1,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1879 <     223,   223,   213,   223,   223,   223,   227,   223,   223,   223,
1880 <     223,   223,   364,   223,   223,   223,   223,   223,   382,    -1,
1881 <     223,   226,   226,   223,   223,   218,   228,   228,   223,   226,
1882 <     228,   223,   223,   223,    -1,    -1,    -1,   392,    -1,    -1,
1883 <     234,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1766 >     629,   630,   311,     1,   313,     1,   315,   316,     1,     1,
1767 >     231,     1,     1,     1,     1,     1,     1,     1,     1,   112,
1768 >     231,     1,    53,   231,     1,     1,     8,     1,     1,   231,
1769 >     211,   231,   211,    25,   215,     1,   215,   229,   230,    29,
1770 >      32,     1,     1,     1,  1072,  1073,  1074,    37,     6,     7,
1771 >      49,   231,   229,   229,    12,     1,   233,   233,   231,    49,
1772 >      50,   231,    20,    21,    54,    55,    56,   180,   181,    27,
1773 >      58,     1,    30,   231,     1,    35,   231,    65,    36,    67,
1774 >      65,    65,   231,    41,    42,    65,    44,    45,    46,    79,
1775 >      48,     1,    65,     1,     1,    81,   231,   128,    81,    57,
1776 >     409,   410,   231,    61,    62,     1,   102,   416,   231,   102,
1777 >     102,   420,   205,   102,    72,   102,   425,    25,     1,   428,
1778 >     231,    81,    99,    99,    82,   231,    22,    23,   102,   438,
1779 >     439,    89,    28,    91,    17,    93,   102,    95,   126,    97,
1780 >      98,   450,   231,   231,   453,   454,   123,   123,   231,   129,
1781 >      33,    59,   110,   231,   231,   129,   129,   115,   116,   117,
1782 >      68,   119,   120,   121,     1,   229,   124,    63,    64,   129,
1783 >     232,   232,   102,    69,    70,   102,   232,   232,   176,    75,
1784 >      76,    77,    90,   129,    67,   229,    94,    83,    84,   233,
1785 >     176,   190,   150,   176,   102,   102,     1,   105,   106,   129,
1786 >       1,   200,   160,   161,   162,   163,   164,   165,   232,   196,
1787 >      15,    16,   108,   109,    19,   232,    17,   176,   200,   129,
1788 >     232,   232,   229,   232,   220,   223,   233,   220,   224,   137,
1789 >     232,   220,    33,   220,   192,   224,   176,   546,   230,   122,
1790 >     230,   230,   230,   230,   230,   230,   154,   130,   131,   157,
1791 >     158,   159,   231,   230,   212,   213,   214,   230,   216,   217,
1792 >     218,     1,    67,   232,   223,   102,    67,   232,   151,   227,
1793 >     230,   230,   230,     1,   229,     3,   184,     5,   224,    84,
1794 >      85,    86,    87,    88,   230,    25,   229,    92,   232,    17,
1795 >     233,    96,    32,   201,     1,   229,     3,   102,     5,   233,
1796 >     230,   102,   127,   230,   232,    33,   232,   616,   113,   114,
1797 >      17,   232,   621,   220,   224,   624,   232,   225,   226,   628,
1798 >     125,   122,   230,   230,     1,   229,    33,     1,   229,   233,
1799 >      58,   229,    60,   232,   230,   233,   112,   138,   232,    67,
1800 >      17,   224,   147,     9,    10,    11,   232,   230,   229,   229,
1801 >      78,    58,   233,    60,   155,   156,    33,   232,   232,   196,
1802 >      67,    35,   102,   139,   140,   141,   142,   143,   144,   145,
1803 >     232,    78,   232,   232,   102,   810,   811,   812,   813,   814,
1804 >     815,   816,   187,   220,   229,   229,   232,   229,   233,   233,
1805 >      67,     1,     1,   232,   232,   102,     6,     7,   126,   232,
1806 >     232,   202,    12,   232,   232,   232,   232,    81,   232,   232,
1807 >      20,    21,     1,   232,   232,   232,   232,    27,   146,   126,
1808 >      30,   232,   232,   224,   232,   230,    36,   155,    17,   230,
1809 >     232,    41,    42,   232,    44,    45,    46,     1,    48,   146,
1810 >     232,   232,   232,   232,    33,   122,   112,    57,   155,    58,
1811 >     232,    61,    62,   130,   131,   129,    65,   232,    67,   232,
1812 >     232,    25,    72,   232,   232,    40,   232,   232,   232,   232,
1813 >     232,   232,    82,   201,   151,   232,   232,   232,    67,    89,
1814 >     232,    91,   232,    93,   232,    95,   232,    97,    98,   232,
1815 >     232,   232,   127,   232,   201,    59,    71,   225,    73,   232,
1816 >     110,     4,   230,   232,    68,   115,   116,   117,     1,   119,
1817 >     120,   121,   232,   102,   124,    18,   232,   126,   225,   232,
1818 >     232,    73,   232,    26,   232,    73,    90,   232,   232,   232,
1819 >      94,   232,   232,   122,   232,   232,    29,    40,   102,   232,
1820 >     150,   105,   106,   118,    37,   232,   232,   224,    13,   138,
1821 >     160,   161,   162,   163,   164,   165,    49,    50,   127,   232,
1822 >     135,    54,    55,    56,   232,   232,   155,   156,    71,    34,
1823 >      73,   112,   112,   137,   211,   112,   112,   112,    43,   112,
1824 >     112,  1210,   192,   135,   112,   211,    79,   135,   211,   229,
1825 >     154,   229,   211,   157,   158,   159,    99,   172,   173,   232,
1826 >     232,   232,   212,   213,   214,   232,   216,   217,   218,    74,
1827 >     232,   232,   232,   202,   166,   232,   232,   227,   166,   232,
1828 >     184,   173,   229,   127,   232,   173,   232,   232,   232,   132,
1829 >     182,   134,   232,   232,   182,   224,   232,   201,   103,   104,
1830 >     232,   232,   232,   229,   232,   232,   111,   232,   232,   224,
1831 >     153,   232,   204,   228,   206,   207,   204,   211,   206,   207,
1832 >     232,   225,   226,   112,     0,     1,   232,   232,     4,   221,
1833 >     173,   136,   232,   221,   232,   178,   228,   232,    14,   182,
1834 >     228,    17,    18,   232,   211,   232,   189,   152,    24,   112,
1835 >     211,   194,   211,     1,   112,   112,   112,   211,   211,    35,
1836 >     211,   204,    38,    39,   207,   112,   209,    15,    16,   112,
1837 >     112,    19,   112,   112,   112,   211,   232,   211,   221,   211,
1838 >     232,   211,   211,   211,   211,   228,   211,   211,     1,   112,
1839 >      66,   127,   211,   211,   211,    71,   127,   232,    49,   127,
1840 >      51,    52,   127,   229,    80,   210,   229,   229,   211,    22,
1841 >      23,   232,   232,   127,   127,    28,   232,   232,   232,    67,
1842 >     232,   232,   232,   232,   100,   101,   232,   229,   232,   229,
1843 >     211,   232,   229,   232,   232,   229,    84,    85,    86,    87,
1844 >      88,   232,   118,    49,    92,    51,    52,   232,    96,   232,
1845 >      63,    64,   232,   232,   102,   232,    69,    70,   232,   135,
1846 >     232,   232,    75,    76,    77,   113,   114,   232,   229,   112,
1847 >      83,    84,   148,   149,   211,   112,   211,   125,   211,   211,
1848 >     127,    49,   211,   127,   112,   127,   127,   127,   127,   127,
1849 >     211,   127,   127,   127,   170,   108,   109,   127,   232,   147,
1850 >     127,   112,   229,   229,   112,   229,   127,   183,   112,   229,
1851 >     229,   112,   229,   229,   232,   191,   167,   168,   169,   195,
1852 >     171,   172,   232,   174,   175,   229,   177,   229,   179,   229,
1853 >     229,   182,   229,   229,   185,   186,   229,   188,   229,   187,
1854 >     229,   229,   193,   229,   229,   229,   197,   198,   199,   229,
1855 >     229,   232,   203,   112,   112,   112,   112,   208,   112,   112,
1856 >     229,   167,   168,   169,   127,   171,   172,   127,   174,   175,
1857 >     232,   177,   127,   179,   112,   127,   182,   127,   211,   185,
1858 >     186,   127,   188,   127,   127,   127,   127,   193,   127,   211,
1859 >     127,   197,   198,   199,   127,   127,   127,   203,   229,   167,
1860 >     168,   169,   208,   171,   172,   229,   174,   175,   127,   177,
1861 >     229,   179,   229,   229,   182,   229,   112,   185,   186,   229,
1862 >     188,   127,   229,   232,   229,   193,   229,   229,   127,   197,
1863 >     198,   199,   229,   229,   229,   203,   229,   229,   229,   229,
1864 >     208,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1865 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1866 >     229,   127,   229,   229,   229,   229,   127,   229,   229,   127,
1867 >     127,   127,   112,   127,   127,   127,   127,   127,   229,   127,
1868 >     229,   229,   229,   127,   229,   211,   127,    74,   127,   229,
1869 >     211,   127,   127,   229,   229,   229,   127,   127,   127,   229,
1870 >     112,   229,   229,   232,   229,   229,  1037,   503,  1286,   232,
1871 >     232,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1872 >     229,   229,   229,   518,   229,   229,   229,   229,   229,   229,
1873 >    1248,   229,   229,  1229,   229,   229,   229,   229,   229,   229,
1874 >     229,   127,   229,   229,   232,   229,   229,   232,   229,   229,
1875 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1876 >     229,   229,   229,   133,   229,   229,   229,   229,   133,   229,
1877 >     229,   133,  1250,  1240,   229,   490,  1134,   467,  1238,   534,
1878 >     229,   588,   229,   229,   229,  1259,   229,   229,   572,  1234,
1879 >    1252,   229,   229,   480,   394,   229,   229,   229,   115,   168,
1880 >    1104,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1881 >     229,   229,   229,   219,   229,   229,   229,   233,   229,   229,
1882 >     229,   229,   229,  1102,   229,   229,   229,   229,   229,   229,
1883 >     229,    94,    -1,   229,   232,   232,   229,   229,    -1,   234,
1884 >     234,   229,   232,   234,   229,   229,   229,   224,    -1,    -1,
1885 >      -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,    -1,   341,
1886 >      -1,   240,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1887 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   268,
1888 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1889 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1890 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   290,    -1,
1891 >      -1,    -1,    -1,    -1,    -1,    -1,   297,    -1,    -1,    -1,
1892 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1893 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1894        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1895        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1896        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1897        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1898 <      -1,    -1,    -1,    -1,    -1,   291
1898 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1899 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1900 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1901 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1902 >      -1,    -1,    -1,    -1,   404
1903   };
1904  
1905 < /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1906 <   symbol of state STATE-NUM.  */
1905 >  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1906 >     symbol of state STATE-NUM.  */
1907   static const yytype_uint16 yystos[] =
1908   {
1909 <       0,   230,     0,     1,     4,    14,    17,    18,    23,    34,
1910 <      37,    38,    61,    66,    74,    95,    96,   113,   130,   143,
1911 <     144,   160,   173,   182,   186,   231,   236,   241,   265,   271,
1912 <     277,   291,   309,   332,   346,   361,   368,   372,   382,   391,
1913 <     411,   417,   423,   427,   433,   489,   504,   223,   224,   225,
1914 <     225,   310,   392,   418,   225,   428,   225,   347,   412,   333,
1915 <     225,   272,   292,   362,   225,   225,   383,   225,   225,   373,
1916 <       1,    24,    31,    97,   266,   267,   268,   269,   270,     1,
1917 <      21,    22,    27,    64,    65,    70,    71,    77,    78,    79,
1918 <     103,   104,   490,   491,   492,   493,   494,   495,   496,   497,
1919 <     498,   499,   500,   501,   502,   503,   225,   225,   225,     1,
1920 <      60,   424,   425,   426,   225,     1,     6,     7,    12,    20,
1921 <      26,    29,    30,    35,    40,    41,    43,    44,    45,    47,
1922 <      54,    58,    59,    67,    76,    84,    86,    88,    90,    92,
1923 <      93,   105,   110,   111,   112,   114,   115,   116,   119,   145,
1924 <     151,   152,   153,   154,   155,   183,   207,   208,   210,   211,
1925 <     212,   216,   221,   434,   435,   436,   437,   438,   439,   440,
1926 <     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
1927 <     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
1928 <     461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
1929 <     471,   472,   473,   474,   475,   476,   477,   478,   482,   486,
1930 <     487,   488,   225,   225,   225,     1,    94,   118,   237,   238,
1931 <     239,   240,   225,   225,   225,     1,    28,    36,    48,    49,
1932 <      51,    52,    53,    73,   505,   506,   507,   508,   509,   510,
1933 <     511,   512,   513,   514,     1,    24,    56,    63,    85,    89,
1934 <      97,   100,   101,   132,   149,   150,   174,   192,   193,   194,
1935 <     219,   220,   242,   243,   244,   245,   250,   251,   252,   253,
1936 <     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1937 <     264,   225,     1,   217,   278,   279,   280,   281,   282,     1,
1938 <      97,   369,   370,   371,   225,   223,   226,   226,   226,   224,
1939 <     267,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1940 <     226,   226,   226,   224,   491,     1,    15,    16,    19,    62,
1941 <      80,    81,    82,    83,    87,    91,    97,   108,   109,   120,
1942 <     142,   178,   311,   312,   313,   314,   315,   316,   317,   318,
1943 <     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
1944 <       1,     3,     5,    17,    32,    55,    57,    62,    72,    97,
1945 <     121,   141,   192,   219,   393,   394,   395,   396,   397,   398,
1946 <     399,   400,   401,   402,   406,   407,   408,   409,   410,     1,
1947 <      60,   124,   419,   420,   421,   422,   226,   224,   425,     1,
1948 <      97,   124,   429,   430,   431,   432,   226,   226,   226,   226,
1949 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1950 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1951 <     226,   226,   483,   226,   479,   226,   226,   226,   226,   226,
1952 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1953 <     226,   226,   226,   224,   435,     1,    17,    32,    62,   117,
1954 <     125,   126,   146,   218,   348,   349,   350,   351,   352,   353,
1955 <     354,   358,   359,   360,     1,   124,   218,   413,   414,   415,
1956 <     416,     1,    55,    60,    62,   121,   334,   338,   339,   340,
1957 <     344,   345,   223,   226,   226,   224,   238,     1,    75,   166,
1958 <     273,   274,   275,   276,     1,    17,    32,    62,    97,   117,
1959 <     133,   197,   218,   293,   294,   295,   296,   297,   298,   299,
1960 <     300,   301,   305,     1,    34,    75,   124,   363,   364,   365,
1961 <     366,   367,   226,   226,   226,   226,   226,   226,   226,   226,
1962 <     224,   506,   223,   226,   226,   226,   226,   226,   226,   226,
1963 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1964 <     224,   243,     1,    97,   214,   384,   385,   386,   387,   223,
1965 <     226,   224,   279,   166,   226,   224,   370,     1,    97,   214,
1966 <     218,   374,   375,   376,   377,   378,   122,   122,   122,   223,
1967 <     107,   107,   206,   107,   107,   233,   233,   233,   107,   107,
1968 <     107,   206,   206,   223,   223,   226,   226,   226,   329,   226,
1969 <     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1970 <     226,   224,   312,   223,   226,   226,   226,   226,   226,   226,
1971 <     403,   226,   226,   226,   226,   226,   226,   224,   394,   226,
1972 <     226,   224,   420,   122,   223,   226,   226,   224,   430,   206,
1973 <     233,   233,   107,   206,   107,   122,   206,   233,   206,   107,
1974 <     107,   233,   107,   206,   206,   206,   233,   107,   107,   233,
1975 <     107,   107,   107,   107,   206,   226,   206,   226,   206,   233,
1976 <     233,   206,   206,   206,   206,   209,   206,   209,   206,   206,
1977 <     122,   233,   206,   206,   233,   233,   206,   206,   223,   223,
1978 <     226,   226,   355,   226,   226,   226,   226,   226,   224,   349,
1979 <     226,   226,   224,   414,   223,   226,   226,   335,   226,   224,
1980 <     339,   122,   122,   223,   223,   226,   226,   224,   274,   223,
1981 <     226,   226,   306,   226,   226,   226,   302,   226,   224,   294,
1982 <     223,   226,   226,   226,   224,   364,   206,   206,   206,   122,
1983 <     206,   206,   206,   233,   223,   122,   206,   122,   107,   107,
1984 <     122,   122,   122,   122,   122,   122,   107,   122,   195,   196,
1985 <     246,   247,   195,   196,   248,   249,   122,   122,   223,   223,
1986 <     226,   388,   224,   385,   206,   223,   225,   122,   223,   223,
1987 <     226,   379,   226,   224,   375,   223,   223,   223,   223,   223,
1988 <     223,   223,   134,   135,   136,   137,   138,   139,   140,   232,
1989 <     233,   223,   223,   223,   223,   223,   223,   223,   223,   107,
1990 <     107,   233,   226,   107,   107,   233,   107,   107,   233,   122,
1991 <     107,   107,   233,   107,   235,   235,   223,   122,   170,   171,
1992 <     122,   206,   122,   122,   226,   122,   122,   107,   122,   122,
1993 <     122,   223,   122,   122,   223,   223,   122,   122,   223,   223,
1994 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1995 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
1996 <     223,   223,   223,   223,   223,    48,   157,   158,   159,   161,
1997 <     162,   164,   165,   167,   169,   172,   175,   176,   177,   179,
1998 <     184,   188,   189,   190,   198,   203,   484,   485,   223,    48,
1999 <     157,   158,   159,   161,   162,   164,   165,   167,   169,   172,
2000 <     175,   176,   177,   179,   184,   188,   189,   190,   198,   203,
2001 <     480,   481,   223,   223,   223,   223,   223,   223,   223,   223,
2002 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
2003 <     223,   223,   122,   206,   226,   122,   107,   122,   122,   122,
2004 <     223,   122,   122,   223,   122,   122,   226,   107,   342,   343,
2005 <     223,   223,   223,   122,   122,   223,   122,   206,   226,   122,
2006 <     122,   122,   226,   122,   223,   122,   122,   122,   223,   223,
2007 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
2008 <     223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
2009 <     223,   227,   223,   227,   223,   223,   122,   226,   223,   223,
2010 <       1,    97,   187,   214,   283,   284,   285,   286,   287,   223,
2011 <     122,   226,   122,   223,   232,   232,   232,   232,   232,   232,
2012 <     232,   223,   223,   223,    50,   123,   330,   331,   223,   223,
2013 <     223,   223,   223,   223,   223,   223,   223,   223,     9,    10,
2014 <      11,   234,   235,   223,   223,   223,   223,   223,   223,   223,
2015 <     223,   223,     8,   191,   404,   405,   223,   223,   223,   223,
2016 <     223,   223,   223,   223,   223,   223,   223,   227,   223,   227,
2017 <     223,   223,    13,    33,    42,    69,    98,    99,   106,   131,
2018 <     147,   205,   356,   357,   223,   223,   223,   223,   223,   223,
2019 <     223,   223,   223,    48,   181,   191,   336,   337,   213,   227,
2020 <     341,   223,   223,   223,   223,     4,    18,    25,    39,    66,
2021 <      68,    94,   127,   129,   148,   163,   168,   172,   177,   180,
2022 <     185,   199,   204,   215,   222,   307,   308,   223,   223,   223,
2023 <      48,   157,   158,   159,   161,   162,   164,   165,   167,   169,
2024 <     172,   175,   176,   177,   179,   184,   188,   189,   190,   198,
2025 <     203,   303,   304,   223,   223,   223,   223,   247,   249,   223,
2026 <      68,   130,   156,   163,   172,   199,   201,   202,   215,   222,
2027 <     389,   390,   223,   226,   226,   288,   224,   284,   223,    68,
2028 <     130,   156,   163,   172,   199,   201,   202,   215,   222,   380,
2029 <     381,   223,   223,   227,   234,   234,   234,   223,   227,   485,
2030 <     481,   223,   227,   223,   227,   107,   343,   223,   228,   228,
2031 <     228,   223,   227,   223,   227,   223,   227,   122,   200,   235,
2032 <     226,   223,   223,   227,   331,   405,   357,   337,   128,   128,
2033 <     128,   308,   304,   390,   223,   223,   223,    39,    66,    68,
2034 <     113,   162,   163,   218,   289,   290,   381,   223,   227,   290
1909 >       0,   236,     0,     1,     4,    14,    17,    18,    24,    35,
1910 >      38,    39,    66,    71,    80,   100,   101,   118,   135,   148,
1911 >     149,   170,   183,   191,   195,   237,   242,   247,   267,   273,
1912 >     279,   293,   313,   337,   351,   366,   373,   377,   387,   396,
1913 >     417,   423,   429,   433,   439,   496,   513,   229,   230,   231,
1914 >     231,   314,   397,   424,   231,   434,   231,   352,   418,   338,
1915 >     231,   274,   294,   367,   231,   231,   388,   231,   231,   378,
1916 >       1,    25,    32,   102,   268,   269,   270,   271,   272,     1,
1917 >      22,    23,    28,    63,    64,    69,    70,    75,    76,    77,
1918 >      83,    84,   108,   109,   497,   498,   499,   500,   501,   502,
1919 >     503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
1920 >     231,   231,   231,     1,    65,   430,   431,   432,   231,     1,
1921 >       6,     7,    12,    20,    21,    27,    30,    36,    41,    42,
1922 >      44,    45,    46,    48,    57,    61,    62,    72,    82,    89,
1923 >      91,    93,    95,    97,    98,   110,   115,   116,   117,   119,
1924 >     120,   121,   124,   150,   160,   161,   162,   163,   164,   165,
1925 >     192,   212,   213,   214,   216,   217,   218,   227,   440,   441,
1926 >     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
1927 >     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
1928 >     462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
1929 >     472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
1930 >     482,   483,   484,   485,   489,   493,   494,   495,   231,   231,
1931 >     231,     1,    99,   123,   243,   244,   245,   246,   231,   231,
1932 >     231,     1,    29,    37,    49,    50,    54,    55,    56,    79,
1933 >     514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
1934 >       1,    25,    59,    68,    90,    94,   102,   105,   106,   137,
1935 >     154,   157,   158,   159,   184,   201,   225,   226,   248,   249,
1936 >     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1937 >     260,   261,   262,   263,   264,   265,   266,   231,     1,   223,
1938 >     280,   281,   282,   283,   284,     1,   102,   374,   375,   376,
1939 >     231,   229,   232,   232,   232,   230,   269,   232,   232,   232,
1940 >     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1941 >     232,   230,   498,     1,    15,    16,    19,    67,    84,    85,
1942 >      86,    87,    88,    92,    96,   102,   113,   114,   125,   147,
1943 >     187,   315,   316,   317,   318,   319,   320,   321,   322,   323,
1944 >     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
1945 >       1,     3,     5,    17,    33,    58,    60,    67,    78,   102,
1946 >     126,   146,   155,   201,   225,   398,   399,   400,   401,   402,
1947 >     403,   404,   405,   406,   407,   408,   412,   413,   414,   415,
1948 >     416,     1,    65,   129,   425,   426,   427,   428,   232,   230,
1949 >     431,     1,   102,   129,   435,   436,   437,   438,   232,   232,
1950 >     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1951 >     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1952 >     232,   232,   232,   232,   490,   232,   486,   232,   232,   232,
1953 >     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1954 >     232,   232,   232,   232,   232,   232,   230,   441,     1,    17,
1955 >      33,    67,   122,   130,   131,   151,   224,   353,   354,   355,
1956 >     356,   357,   358,   359,   363,   364,   365,     1,   129,   224,
1957 >     419,   420,   421,   422,     1,    58,    65,    67,   126,   339,
1958 >     343,   344,   345,   349,   350,   229,   232,   232,   230,   244,
1959 >       1,    81,   176,   275,   276,   277,   278,     1,    17,    33,
1960 >      67,   102,   122,   138,   155,   156,   202,   224,   295,   296,
1961 >     297,   298,   299,   300,   301,   302,   303,   304,   305,   309,
1962 >       1,    35,    81,   129,   368,   369,   370,   371,   372,   232,
1963 >     232,   232,   232,   232,   232,   232,   232,   230,   515,   229,
1964 >     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1965 >     232,   232,   232,   232,   232,   232,   232,   230,   249,     1,
1966 >     102,   220,   389,   390,   391,   392,   229,   232,   230,   281,
1967 >     176,   232,   230,   375,     1,   102,   220,   224,   379,   380,
1968 >     381,   382,   383,   127,   127,   127,   229,   112,   112,   211,
1969 >     112,   112,   239,   112,   239,   112,   239,   239,   112,   112,
1970 >     211,   211,   229,   229,   232,   232,   232,   334,   232,   232,
1971 >     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1972 >     232,   230,   316,   229,   232,   232,   232,   232,   232,   232,
1973 >     409,   232,   232,   232,   232,   232,   232,   232,   230,   399,
1974 >     232,   232,   230,   426,   127,   229,   232,   232,   230,   436,
1975 >     211,   239,   239,   211,   112,   211,   112,   211,   239,   211,
1976 >     112,   112,   239,   112,   211,   211,   211,   239,   112,   112,
1977 >     239,   112,   112,   112,   112,   211,   232,   211,   232,   211,
1978 >     239,   239,   211,   211,   211,   211,   215,   211,   215,   211,
1979 >     211,   211,   127,   112,   239,   211,   211,   239,   239,   211,
1980 >     229,   229,   232,   232,   360,   232,   232,   232,   232,   232,
1981 >     230,   354,   232,   232,   230,   420,   229,   232,   232,   340,
1982 >     232,   230,   344,   127,   127,   229,   229,   232,   232,   230,
1983 >     276,   229,   232,   232,   310,   232,   232,   232,   232,   232,
1984 >     306,   232,   230,   296,   229,   232,   232,   232,   230,   369,
1985 >     211,   211,   211,   127,   211,   211,   211,   239,   229,   127,
1986 >     211,   127,   112,   112,   127,   127,   127,   127,   127,   127,
1987 >     127,   127,   112,   127,   127,   127,   229,   229,   232,   393,
1988 >     230,   390,   211,   229,   231,   127,   229,   229,   232,   384,
1989 >     232,   230,   380,   229,   229,   229,   229,   229,   229,   229,
1990 >     139,   140,   141,   142,   143,   144,   145,   238,   239,   229,
1991 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   112,
1992 >     112,   239,   232,   112,   112,   112,   239,   112,   112,   239,
1993 >     127,   112,   112,   239,   112,   241,   241,   229,   127,   180,
1994 >     181,   127,   211,   127,   127,   232,   127,   127,   112,   127,
1995 >     127,   127,   127,   229,   127,   127,   229,   229,   127,   127,
1996 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1997 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1998 >     229,   229,   229,   229,   229,   229,   229,    49,   167,   168,
1999 >     169,   171,   172,   174,   175,   177,   179,   182,   185,   186,
2000 >     188,   193,   197,   198,   199,   203,   208,   491,   492,   229,
2001 >      49,    51,    52,   167,   168,   169,   171,   172,   174,   175,
2002 >     177,   179,   182,   185,   186,   188,   193,   197,   198,   199,
2003 >     203,   208,   487,   488,   229,   229,   229,   229,   229,   229,
2004 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2005 >     229,   229,   229,   229,   229,   127,   211,   232,   127,   112,
2006 >     127,   127,   127,   229,   127,   127,   229,   127,   127,   232,
2007 >     112,   347,   348,   229,   229,   229,   127,   127,   229,   127,
2008 >     211,   232,   127,   127,   127,   127,   211,   232,   127,   229,
2009 >     127,   127,   127,   229,   229,   229,   229,   229,   229,   229,
2010 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2011 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   127,
2012 >     232,   229,   229,     1,   102,   196,   220,   285,   286,   287,
2013 >     288,   289,   229,   127,   232,   127,   229,   238,   238,   238,
2014 >     238,   238,   238,   238,   229,   229,   229,    53,   128,   335,
2015 >     336,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2016 >     229,   229,     9,    10,    11,   240,   241,   229,   229,   229,
2017 >     229,   229,   229,   229,   229,   229,     8,   200,   410,   411,
2018 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2019 >     229,   229,   233,   229,   233,   229,   229,    13,    34,    43,
2020 >      74,   103,   104,   111,   136,   152,   210,   361,   362,   229,
2021 >     229,   229,   229,   229,   229,   229,   229,   229,    49,   190,
2022 >     200,   341,   342,   219,   233,   346,   229,   229,   229,   229,
2023 >       4,    18,    26,    40,    71,    73,    99,   132,   134,   153,
2024 >     173,   178,   182,   189,   194,   204,   207,   209,   221,   228,
2025 >     311,   312,   229,   229,   229,   229,   229,    49,    51,    52,
2026 >     167,   168,   169,   171,   172,   174,   175,   177,   179,   182,
2027 >     185,   186,   188,   193,   197,   198,   199,   203,   208,   307,
2028 >     308,   229,   229,   229,   229,   229,    73,   135,   166,   173,
2029 >     182,   204,   206,   207,   221,   228,   394,   395,   229,   232,
2030 >     232,   290,   230,   286,   229,    73,   135,   166,   173,   182,
2031 >     204,   206,   207,   221,   228,   385,   386,   229,   229,   233,
2032 >     240,   240,   240,   229,   233,   492,   488,   229,   233,   229,
2033 >     233,   112,   348,   229,   234,   234,   234,   229,   233,   229,
2034 >     233,   229,   233,   127,   205,   241,   232,   229,   229,   233,
2035 >     336,   411,   362,   342,   133,   133,   133,   312,   308,   395,
2036 >     229,   229,   229,    40,    71,    73,   118,   135,   172,   173,
2037 >     224,   228,   291,   292,   386,   229,   233,   292
2038   };
2039  
2040 < #define yyerrok         (yyerrstatus = 0)
2041 < #define yyclearin       (yychar = YYEMPTY)
2042 < #define YYEMPTY         (-2)
2043 < #define YYEOF           0
2044 <
2045 < #define YYACCEPT        goto yyacceptlab
2046 < #define YYABORT         goto yyabortlab
2047 < #define YYERROR         goto yyerrorlab
2048 <
2049 <
2050 < /* Like YYERROR except do call yyerror.  This remains here temporarily
2051 <   to ease the transition to the new meaning of YYERROR, for GCC.
2052 <   Once GCC version 2 has supplanted version 1, this can go.  However,
2053 <   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
2054 <   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2055 <   discussed.  */
2056 <
2057 < #define YYFAIL          goto yyerrlab
2058 < #if defined YYFAIL
2059 <  /* This is here to suppress warnings from the GCC cpp's
2060 <     -Wunused-macros.  Normally we don't worry about that warning, but
2061 <     some users do, and we want to make it easy for users to remove
2062 <     YYFAIL uses, which will produce warnings from Bison 2.5.  */
2063 < #endif
2040 >  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
2041 > static const yytype_uint16 yyr1[] =
2042 > {
2043 >       0,   235,   236,   236,   237,   237,   237,   237,   237,   237,
2044 >     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
2045 >     237,   237,   237,   237,   237,   237,   237,   238,   238,   239,
2046 >     239,   239,   239,   239,   239,   239,   239,   240,   240,   241,
2047 >     241,   241,   241,   242,   243,   243,   244,   244,   244,   245,
2048 >     246,   247,   248,   248,   249,   249,   249,   249,   249,   249,
2049 >     249,   249,   249,   249,   249,   249,   249,   249,   249,   249,
2050 >     249,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2051 >     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2052 >     268,   268,   269,   269,   269,   269,   270,   271,   272,   274,
2053 >     273,   275,   275,   276,   276,   276,   277,   278,   279,   280,
2054 >     280,   281,   281,   281,   282,   284,   283,   285,   285,   286,
2055 >     286,   286,   286,   287,   288,   288,   290,   289,   291,   291,
2056 >     292,   292,   292,   292,   292,   292,   292,   292,   292,   294,
2057 >     293,   295,   295,   296,   296,   296,   296,   296,   296,   296,
2058 >     296,   296,   296,   296,   297,   298,   299,   300,   301,   302,
2059 >     303,   304,   306,   305,   307,   307,   308,   308,   308,   308,
2060 >     308,   308,   308,   308,   308,   308,   308,   308,   308,   308,
2061 >     308,   308,   308,   308,   308,   308,   308,   308,   310,   309,
2062 >     311,   311,   312,   312,   312,   312,   312,   312,   312,   312,
2063 >     312,   312,   312,   312,   312,   312,   312,   312,   312,   312,
2064 >     312,   312,   312,   312,   312,   314,   313,   315,   315,   316,
2065 >     316,   316,   316,   316,   316,   316,   316,   316,   316,   316,
2066 >     316,   316,   316,   316,   316,   316,   316,   317,   318,   319,
2067 >     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
2068 >     330,   331,   332,   334,   333,   335,   335,   336,   336,   338,
2069 >     337,   340,   339,   341,   341,   342,   342,   342,   343,   343,
2070 >     344,   344,   344,   344,   344,   346,   345,   347,   347,   348,
2071 >     348,   349,   350,   352,   351,   353,   353,   354,   354,   354,
2072 >     354,   354,   354,   354,   354,   354,   355,   356,   357,   358,
2073 >     360,   359,   361,   361,   362,   362,   362,   362,   362,   362,
2074 >     362,   362,   362,   362,   363,   364,   365,   367,   366,   368,
2075 >     368,   369,   369,   369,   369,   370,   371,   372,   373,   374,
2076 >     374,   375,   375,   376,   378,   377,   379,   379,   380,   380,
2077 >     380,   380,   381,   382,   384,   383,   385,   385,   386,   386,
2078 >     386,   386,   386,   386,   386,   386,   386,   386,   388,   387,
2079 >     389,   389,   390,   390,   390,   391,   393,   392,   394,   394,
2080 >     395,   395,   395,   395,   395,   395,   395,   395,   395,   395,
2081 >     397,   396,   398,   398,   399,   399,   399,   399,   399,   399,
2082 >     399,   399,   399,   399,   399,   399,   399,   399,   399,   400,
2083 >     401,   402,   403,   404,   405,   406,   407,   407,   409,   408,
2084 >     410,   410,   411,   411,   412,   413,   414,   415,   416,   418,
2085 >     417,   419,   419,   420,   420,   420,   421,   422,   424,   423,
2086 >     425,   425,   426,   426,   426,   427,   428,   429,   430,   430,
2087 >     431,   431,   432,   434,   433,   435,   435,   436,   436,   436,
2088 >     437,   438,   439,   440,   440,   441,   441,   441,   441,   441,
2089 >     441,   441,   441,   441,   441,   441,   441,   441,   441,   441,
2090 >     441,   441,   441,   441,   441,   441,   441,   441,   441,   441,
2091 >     441,   441,   441,   441,   441,   441,   441,   441,   441,   441,
2092 >     441,   441,   441,   441,   441,   441,   441,   441,   441,   441,
2093 >     441,   441,   441,   441,   442,   443,   444,   445,   446,   447,
2094 >     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
2095 >     458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
2096 >     468,   468,   469,   469,   470,   471,   472,   473,   474,   475,
2097 >     476,   477,   478,   479,   480,   481,   482,   483,   484,   486,
2098 >     485,   487,   487,   488,   488,   488,   488,   488,   488,   488,
2099 >     488,   488,   488,   488,   488,   488,   488,   488,   488,   488,
2100 >     488,   488,   488,   488,   488,   490,   489,   491,   491,   492,
2101 >     492,   492,   492,   492,   492,   492,   492,   492,   492,   492,
2102 >     492,   492,   492,   492,   492,   492,   492,   492,   492,   493,
2103 >     494,   495,   496,   497,   497,   498,   498,   498,   498,   498,
2104 >     498,   498,   498,   498,   498,   498,   498,   498,   498,   498,
2105 >     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
2106 >     509,   510,   511,   512,   513,   514,   514,   515,   515,   515,
2107 >     515,   515,   515,   515,   515,   515,   516,   517,   518,   519,
2108 >     520,   521,   522,   523
2109 > };
2110 >
2111 >  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
2112 > static const yytype_uint8 yyr2[] =
2113 > {
2114 >       0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
2115 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2116 >       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
2117 >       3,     3,     3,     3,     3,     3,     3,     0,     1,     2,
2118 >       3,     3,     3,     5,     2,     1,     1,     1,     2,     4,
2119 >       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
2120 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2121 >       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
2122 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     5,
2123 >       2,     1,     1,     1,     1,     2,     4,     4,     4,     0,
2124 >       6,     2,     1,     1,     1,     2,     4,     4,     5,     2,
2125 >       1,     1,     1,     2,     4,     0,     6,     2,     1,     1,
2126 >       1,     1,     2,     4,     4,     4,     0,     5,     3,     1,
2127 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
2128 >       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
2129 >       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
2130 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
2131 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2132 >       1,     1,     1,     1,     1,     1,     1,     1,     0,     5,
2133 >       3,     1,     3,     1,     3,     1,     3,     1,     1,     1,
2134 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2135 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
2136 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2137 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
2138 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2139 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     0,
2140 >       6,     0,     5,     3,     1,     1,     1,     1,     2,     1,
2141 >       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
2142 >       3,     4,     4,     0,     6,     2,     1,     1,     1,     1,
2143 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
2144 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2145 >       1,     1,     1,     1,     4,     4,     4,     0,     6,     2,
2146 >       1,     1,     1,     1,     2,     4,     4,     4,     5,     2,
2147 >       1,     1,     1,     4,     0,     6,     2,     1,     1,     1,
2148 >       1,     2,     4,     4,     0,     5,     3,     1,     1,     1,
2149 >       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
2150 >       2,     1,     1,     1,     2,     4,     0,     5,     3,     1,
2151 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2152 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
2153 >       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
2154 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
2155 >       3,     1,     1,     1,     4,     4,     4,     4,     4,     0,
2156 >       6,     2,     1,     1,     1,     1,     4,     4,     0,     6,
2157 >       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
2158 >       1,     1,     4,     0,     6,     2,     1,     1,     1,     1,
2159 >       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2160 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2161 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2162 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2163 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2164 >       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
2165 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2166 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2167 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2168 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
2169 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
2170 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2171 >       1,     1,     1,     1,     1,     0,     5,     3,     1,     1,
2172 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2173 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
2174 >       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2175 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2176 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2177 >       4,     4,     4,     4,     5,     2,     1,     1,     1,     1,
2178 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
2179 >       4,     4,     4,     4
2180 > };
2181 >
2182 >
2183 > #define yyerrok         (yyerrstatus = 0)
2184 > #define yyclearin       (yychar = YYEMPTY)
2185 > #define YYEMPTY         (-2)
2186 > #define YYEOF           0
2187 >
2188 > #define YYACCEPT        goto yyacceptlab
2189 > #define YYABORT         goto yyabortlab
2190 > #define YYERROR         goto yyerrorlab
2191 >
2192  
2193   #define YYRECOVERING()  (!!yyerrstatus)
2194  
# Line 2431 | Line 2205 | do
2205    else                                                          \
2206      {                                                           \
2207        yyerror (YY_("syntax error: cannot back up")); \
2208 <      YYERROR;                                                  \
2209 <    }                                                           \
2210 < while (YYID (0))
2208 >      YYERROR;                                                  \
2209 >    }                                                           \
2210 > while (0)
2211  
2212   /* Error token number */
2213 < #define YYTERROR        1
2214 < #define YYERRCODE       256
2213 > #define YYTERROR        1
2214 > #define YYERRCODE       256
2215  
2216  
2443 /* This macro is provided for backward compatibility. */
2444 #ifndef YY_LOCATION_PRINT
2445 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2446 #endif
2447
2448
2449 /* YYLEX -- calling `yylex' with the right arguments.  */
2450 #ifdef YYLEX_PARAM
2451 # define YYLEX yylex (YYLEX_PARAM)
2452 #else
2453 # define YYLEX yylex ()
2454 #endif
2217  
2218   /* Enable debugging if requested.  */
2219   #if YYDEBUG
# Line 2461 | Line 2223 | while (YYID (0))
2223   #  define YYFPRINTF fprintf
2224   # endif
2225  
2226 < # define YYDPRINTF(Args)                        \
2227 < do {                                            \
2228 <  if (yydebug)                                  \
2229 <    YYFPRINTF Args;                             \
2230 < } while (YYID (0))
2469 <
2470 < # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2471 < do {                                                                      \
2472 <  if (yydebug)                                                            \
2473 <    {                                                                     \
2474 <      YYFPRINTF (stderr, "%s ", Title);                                   \
2475 <      yy_symbol_print (stderr,                                            \
2476 <                  Type, Value); \
2477 <      YYFPRINTF (stderr, "\n");                                           \
2478 <    }                                                                     \
2479 < } while (YYID (0))
2226 > # define YYDPRINTF(Args)                        \
2227 > do {                                            \
2228 >  if (yydebug)                                  \
2229 >    YYFPRINTF Args;                             \
2230 > } while (0)
2231  
2232 + /* This macro is provided for backward compatibility. */
2233 + #ifndef YY_LOCATION_PRINT
2234 + # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2235 + #endif
2236  
2482 /*--------------------------------.
2483 | Print this symbol on YYOUTPUT.  |
2484 `--------------------------------*/
2237  
2238 < /*ARGSUSED*/
2239 < #if (defined __STDC__ || defined __C99__FUNC__ \
2240 <     || defined __cplusplus || defined _MSC_VER)
2238 > # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2239 > do {                                                                      \
2240 >  if (yydebug)                                                            \
2241 >    {                                                                     \
2242 >      YYFPRINTF (stderr, "%s ", Title);                                   \
2243 >      yy_symbol_print (stderr,                                            \
2244 >                  Type, Value); \
2245 >      YYFPRINTF (stderr, "\n");                                           \
2246 >    }                                                                     \
2247 > } while (0)
2248 >
2249 >
2250 > /*----------------------------------------.
2251 > | Print this symbol's value on YYOUTPUT.  |
2252 > `----------------------------------------*/
2253 >
2254   static void
2255   yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2491 #else
2492 static void
2493 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2494    FILE *yyoutput;
2495    int yytype;
2496    YYSTYPE const * const yyvaluep;
2497 #endif
2256   {
2257    FILE *yyo = yyoutput;
2258    YYUSE (yyo);
# Line 2503 | Line 2261 | yy_symbol_value_print (yyoutput, yytype,
2261   # ifdef YYPRINT
2262    if (yytype < YYNTOKENS)
2263      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2506 # else
2507  YYUSE (yyoutput);
2264   # endif
2265    YYUSE (yytype);
2266   }
# Line 2514 | Line 2270 | yy_symbol_value_print (yyoutput, yytype,
2270   | Print this symbol on YYOUTPUT.  |
2271   `--------------------------------*/
2272  
2517 #if (defined __STDC__ || defined __C99__FUNC__ \
2518     || defined __cplusplus || defined _MSC_VER)
2273   static void
2274   yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2521 #else
2522 static void
2523 yy_symbol_print (yyoutput, yytype, yyvaluep)
2524    FILE *yyoutput;
2525    int yytype;
2526    YYSTYPE const * const yyvaluep;
2527 #endif
2275   {
2276 <  if (yytype < YYNTOKENS)
2277 <    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2531 <  else
2532 <    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2276 >  YYFPRINTF (yyoutput, "%s %s (",
2277 >             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
2278  
2279    yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2280    YYFPRINTF (yyoutput, ")");
# Line 2540 | Line 2285 | yy_symbol_print (yyoutput, yytype, yyval
2285   | TOP (included).                                                   |
2286   `------------------------------------------------------------------*/
2287  
2543 #if (defined __STDC__ || defined __C99__FUNC__ \
2544     || defined __cplusplus || defined _MSC_VER)
2288   static void
2289   yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
2547 #else
2548 static void
2549 yy_stack_print (yybottom, yytop)
2550    yytype_int16 *yybottom;
2551    yytype_int16 *yytop;
2552 #endif
2290   {
2291    YYFPRINTF (stderr, "Stack now");
2292    for (; yybottom <= yytop; yybottom++)
# Line 2560 | Line 2297 | yy_stack_print (yybottom, yytop)
2297    YYFPRINTF (stderr, "\n");
2298   }
2299  
2300 < # define YY_STACK_PRINT(Bottom, Top)                            \
2301 < do {                                                            \
2302 <  if (yydebug)                                                  \
2303 <    yy_stack_print ((Bottom), (Top));                           \
2304 < } while (YYID (0))
2300 > # define YY_STACK_PRINT(Bottom, Top)                            \
2301 > do {                                                            \
2302 >  if (yydebug)                                                  \
2303 >    yy_stack_print ((Bottom), (Top));                           \
2304 > } while (0)
2305  
2306  
2307   /*------------------------------------------------.
2308   | Report that the YYRULE is going to be reduced.  |
2309   `------------------------------------------------*/
2310  
2574 #if (defined __STDC__ || defined __C99__FUNC__ \
2575     || defined __cplusplus || defined _MSC_VER)
2311   static void
2312 < yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2578 < #else
2579 < static void
2580 < yy_reduce_print (yyvsp, yyrule)
2581 <    YYSTYPE *yyvsp;
2582 <    int yyrule;
2583 < #endif
2312 > yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
2313   {
2314 +  unsigned long int yylno = yyrline[yyrule];
2315    int yynrhs = yyr2[yyrule];
2316    int yyi;
2587  unsigned long int yylno = yyrline[yyrule];
2317    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2318 <             yyrule - 1, yylno);
2318 >             yyrule - 1, yylno);
2319    /* The symbols being reduced.  */
2320    for (yyi = 0; yyi < yynrhs; yyi++)
2321      {
2322        YYFPRINTF (stderr, "   $%d = ", yyi + 1);
2323 <      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2324 <                       &(yyvsp[(yyi + 1) - (yynrhs)])
2325 <                                       );
2323 >      yy_symbol_print (stderr,
2324 >                       yystos[yyssp[yyi + 1 - yynrhs]],
2325 >                       &(yyvsp[(yyi + 1) - (yynrhs)])
2326 >                                              );
2327        YYFPRINTF (stderr, "\n");
2328      }
2329   }
2330  
2331 < # define YY_REDUCE_PRINT(Rule)          \
2332 < do {                                    \
2333 <  if (yydebug)                          \
2334 <    yy_reduce_print (yyvsp, Rule); \
2335 < } while (YYID (0))
2331 > # define YY_REDUCE_PRINT(Rule)          \
2332 > do {                                    \
2333 >  if (yydebug)                          \
2334 >    yy_reduce_print (yyssp, yyvsp, Rule); \
2335 > } while (0)
2336  
2337   /* Nonzero means print parse trace.  It is left uninitialized so that
2338     multiple parsers can coexist.  */
# Line 2616 | Line 2346 | int yydebug;
2346  
2347  
2348   /* YYINITDEPTH -- initial size of the parser's stacks.  */
2349 < #ifndef YYINITDEPTH
2349 > #ifndef YYINITDEPTH
2350   # define YYINITDEPTH 200
2351   #endif
2352  
# Line 2639 | Line 2369 | int yydebug;
2369   #   define yystrlen strlen
2370   #  else
2371   /* Return the length of YYSTR.  */
2642 #if (defined __STDC__ || defined __C99__FUNC__ \
2643     || defined __cplusplus || defined _MSC_VER)
2372   static YYSIZE_T
2373   yystrlen (const char *yystr)
2646 #else
2647 static YYSIZE_T
2648 yystrlen (yystr)
2649    const char *yystr;
2650 #endif
2374   {
2375    YYSIZE_T yylen;
2376    for (yylen = 0; yystr[yylen]; yylen++)
# Line 2663 | Line 2386 | yystrlen (yystr)
2386   #  else
2387   /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2388     YYDEST.  */
2666 #if (defined __STDC__ || defined __C99__FUNC__ \
2667     || defined __cplusplus || defined _MSC_VER)
2389   static char *
2390   yystpcpy (char *yydest, const char *yysrc)
2670 #else
2671 static char *
2672 yystpcpy (yydest, yysrc)
2673    char *yydest;
2674    const char *yysrc;
2675 #endif
2391   {
2392    char *yyd = yydest;
2393    const char *yys = yysrc;
# Line 2702 | Line 2417 | yytnamerr (char *yyres, const char *yyst
2417        char const *yyp = yystr;
2418  
2419        for (;;)
2420 <        switch (*++yyp)
2421 <          {
2422 <          case '\'':
2423 <          case ',':
2424 <            goto do_not_strip_quotes;
2425 <
2426 <          case '\\':
2427 <            if (*++yyp != '\\')
2428 <              goto do_not_strip_quotes;
2429 <            /* Fall through.  */
2430 <          default:
2431 <            if (yyres)
2432 <              yyres[yyn] = *yyp;
2433 <            yyn++;
2434 <            break;
2435 <
2436 <          case '"':
2437 <            if (yyres)
2438 <              yyres[yyn] = '\0';
2439 <            return yyn;
2440 <          }
2420 >        switch (*++yyp)
2421 >          {
2422 >          case '\'':
2423 >          case ',':
2424 >            goto do_not_strip_quotes;
2425 >
2426 >          case '\\':
2427 >            if (*++yyp != '\\')
2428 >              goto do_not_strip_quotes;
2429 >            /* Fall through.  */
2430 >          default:
2431 >            if (yyres)
2432 >              yyres[yyn] = *yyp;
2433 >            yyn++;
2434 >            break;
2435 >
2436 >          case '"':
2437 >            if (yyres)
2438 >              yyres[yyn] = '\0';
2439 >            return yyn;
2440 >          }
2441      do_not_strip_quotes: ;
2442      }
2443  
# Line 2745 | Line 2460 | static int
2460   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2461                  yytype_int16 *yyssp, int yytoken)
2462   {
2463 <  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2463 >  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
2464    YYSIZE_T yysize = yysize0;
2465    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2466    /* Internationalized format string. */
2467 <  const char *yyformat = YY_NULL;
2467 >  const char *yyformat = YY_NULLPTR;
2468    /* Arguments of yyformat. */
2469    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2470    /* Number of reported tokens (one for the "unexpected", one per
# Line 2757 | Line 2472 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2472    int yycount = 0;
2473  
2474    /* There are many possibilities here to consider:
2760     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2761       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2762       for details.  YYERROR is fine as it does not invoke this
2763       function.
2475       - If this state is a consistent state with a default action, then
2476         the only way this function was invoked is if the default action
2477         is an error action.  In that case, don't check for expected
# Line 2810 | Line 2521 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2521                    }
2522                  yyarg[yycount++] = yytname[yyx];
2523                  {
2524 <                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2524 >                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
2525                    if (! (yysize <= yysize1
2526                           && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2527                      return 2;
# Line 2877 | Line 2588 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2588   | Release the memory associated to this symbol.  |
2589   `-----------------------------------------------*/
2590  
2880 /*ARGSUSED*/
2881 #if (defined __STDC__ || defined __C99__FUNC__ \
2882     || defined __cplusplus || defined _MSC_VER)
2591   static void
2592   yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2885 #else
2886 static void
2887 yydestruct (yymsg, yytype, yyvaluep)
2888    const char *yymsg;
2889    int yytype;
2890    YYSTYPE *yyvaluep;
2891 #endif
2593   {
2594    YYUSE (yyvaluep);
2894
2595    if (!yymsg)
2596      yymsg = "Deleting";
2597    YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2598  
2599 +  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2600    YYUSE (yytype);
2601 +  YY_IGNORE_MAYBE_UNINITIALIZED_END
2602   }
2603  
2604  
# Line 2905 | Line 2607 | yydestruct (yymsg, yytype, yyvaluep)
2607   /* The lookahead symbol.  */
2608   int yychar;
2609  
2908
2909 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2910 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2911 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
2912 #endif
2913 #ifndef YY_INITIAL_VALUE
2914 # define YY_INITIAL_VALUE(Value) /* Nothing. */
2915 #endif
2916
2610   /* The semantic value of the lookahead symbol.  */
2611 < YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
2919 <
2611 > YYSTYPE yylval;
2612   /* Number of syntax errors so far.  */
2613   int yynerrs;
2614  
# Line 2925 | Line 2617 | int yynerrs;
2617   | yyparse.  |
2618   `----------*/
2619  
2928 #ifdef YYPARSE_PARAM
2929 #if (defined __STDC__ || defined __C99__FUNC__ \
2930     || defined __cplusplus || defined _MSC_VER)
2931 int
2932 yyparse (void *YYPARSE_PARAM)
2933 #else
2934 int
2935 yyparse (YYPARSE_PARAM)
2936    void *YYPARSE_PARAM;
2937 #endif
2938 #else /* ! YYPARSE_PARAM */
2939 #if (defined __STDC__ || defined __C99__FUNC__ \
2940     || defined __cplusplus || defined _MSC_VER)
2620   int
2621   yyparse (void)
2943 #else
2944 int
2945 yyparse ()
2946
2947 #endif
2948 #endif
2622   {
2623      int yystate;
2624      /* Number of tokens to shift before error messages enabled.  */
2625      int yyerrstatus;
2626  
2627      /* The stacks and their tools:
2628 <       `yyss': related to states.
2629 <       `yyvs': related to semantic values.
2628 >       'yyss': related to states.
2629 >       'yyvs': related to semantic values.
2630  
2631         Refer to the stacks through separate pointers, to allow yyoverflow
2632         to reallocate them elsewhere.  */
# Line 3021 | Line 2694 | yyparse ()
2694  
2695   #ifdef yyoverflow
2696        {
2697 <        /* Give user a chance to reallocate the stack.  Use copies of
2698 <           these so that the &'s don't force the real ones into
2699 <           memory.  */
2700 <        YYSTYPE *yyvs1 = yyvs;
2701 <        yytype_int16 *yyss1 = yyss;
2702 <
2703 <        /* Each stack pointer address is followed by the size of the
2704 <           data in use in that stack, in bytes.  This used to be a
2705 <           conditional around just the two extra args, but that might
2706 <           be undefined if yyoverflow is a macro.  */
2707 <        yyoverflow (YY_("memory exhausted"),
2708 <                    &yyss1, yysize * sizeof (*yyssp),
2709 <                    &yyvs1, yysize * sizeof (*yyvsp),
2710 <                    &yystacksize);
2697 >        /* Give user a chance to reallocate the stack.  Use copies of
2698 >           these so that the &'s don't force the real ones into
2699 >           memory.  */
2700 >        YYSTYPE *yyvs1 = yyvs;
2701 >        yytype_int16 *yyss1 = yyss;
2702 >
2703 >        /* Each stack pointer address is followed by the size of the
2704 >           data in use in that stack, in bytes.  This used to be a
2705 >           conditional around just the two extra args, but that might
2706 >           be undefined if yyoverflow is a macro.  */
2707 >        yyoverflow (YY_("memory exhausted"),
2708 >                    &yyss1, yysize * sizeof (*yyssp),
2709 >                    &yyvs1, yysize * sizeof (*yyvsp),
2710 >                    &yystacksize);
2711  
2712 <        yyss = yyss1;
2713 <        yyvs = yyvs1;
2712 >        yyss = yyss1;
2713 >        yyvs = yyvs1;
2714        }
2715   #else /* no yyoverflow */
2716   # ifndef YYSTACK_RELOCATE
# Line 3045 | Line 2718 | yyparse ()
2718   # else
2719        /* Extend the stack our own way.  */
2720        if (YYMAXDEPTH <= yystacksize)
2721 <        goto yyexhaustedlab;
2721 >        goto yyexhaustedlab;
2722        yystacksize *= 2;
2723        if (YYMAXDEPTH < yystacksize)
2724 <        yystacksize = YYMAXDEPTH;
2724 >        yystacksize = YYMAXDEPTH;
2725  
2726        {
2727 <        yytype_int16 *yyss1 = yyss;
2728 <        union yyalloc *yyptr =
2729 <          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2730 <        if (! yyptr)
2731 <          goto yyexhaustedlab;
2732 <        YYSTACK_RELOCATE (yyss_alloc, yyss);
2733 <        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2727 >        yytype_int16 *yyss1 = yyss;
2728 >        union yyalloc *yyptr =
2729 >          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2730 >        if (! yyptr)
2731 >          goto yyexhaustedlab;
2732 >        YYSTACK_RELOCATE (yyss_alloc, yyss);
2733 >        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
2734   #  undef YYSTACK_RELOCATE
2735 <        if (yyss1 != yyssa)
2736 <          YYSTACK_FREE (yyss1);
2735 >        if (yyss1 != yyssa)
2736 >          YYSTACK_FREE (yyss1);
2737        }
2738   # endif
2739   #endif /* no yyoverflow */
# Line 3069 | Line 2742 | yyparse ()
2742        yyvsp = yyvs + yysize - 1;
2743  
2744        YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2745 <                  (unsigned long int) yystacksize));
2745 >                  (unsigned long int) yystacksize));
2746  
2747        if (yyss + yystacksize - 1 <= yyssp)
2748 <        YYABORT;
2748 >        YYABORT;
2749      }
2750  
2751    YYDPRINTF ((stderr, "Entering state %d\n", yystate));
# Line 3101 | Line 2774 | yybackup:
2774    if (yychar == YYEMPTY)
2775      {
2776        YYDPRINTF ((stderr, "Reading a token: "));
2777 <      yychar = YYLEX;
2777 >      yychar = yylex ();
2778      }
2779  
2780    if (yychar <= YYEOF)
# Line 3166 | Line 2839 | yyreduce:
2839    yylen = yyr2[yyn];
2840  
2841    /* If YYLEN is nonzero, implement the default value of the action:
2842 <     `$$ = $1'.
2842 >     '$$ = $1'.
2843  
2844       Otherwise, the following line sets YYVAL to garbage.
2845       This behavior is undocumented and Bison
# Line 3180 | Line 2853 | yyreduce:
2853    switch (yyn)
2854      {
2855          case 27:
2856 < /* Line 1787 of yacc.c  */
3184 < #line 395 "conf_parser.y"
2856 > #line 409 "conf_parser.y" /* yacc.c:1646  */
2857      { (yyval.number) = 0; }
2858 + #line 2859 "conf_parser.c" /* yacc.c:1646  */
2859      break;
2860  
2861    case 29:
2862 < /* Line 1787 of yacc.c  */
2863 < #line 397 "conf_parser.y"
2864 <    {
3192 <                        (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3193 <                }
2862 > #line 410 "conf_parser.y" /* yacc.c:1646  */
2863 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2864 > #line 2865 "conf_parser.c" /* yacc.c:1646  */
2865      break;
2866  
2867    case 30:
2868 < /* Line 1787 of yacc.c  */
2869 < #line 401 "conf_parser.y"
2870 <    {
3200 <                        (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3201 <                }
2868 > #line 411 "conf_parser.y" /* yacc.c:1646  */
2869 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2870 > #line 2871 "conf_parser.c" /* yacc.c:1646  */
2871      break;
2872  
2873    case 31:
2874 < /* Line 1787 of yacc.c  */
2875 < #line 405 "conf_parser.y"
2876 <    {
3208 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3209 <                }
2874 > #line 412 "conf_parser.y" /* yacc.c:1646  */
2875 >    { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
2876 > #line 2877 "conf_parser.c" /* yacc.c:1646  */
2877      break;
2878  
2879    case 32:
2880 < /* Line 1787 of yacc.c  */
2881 < #line 409 "conf_parser.y"
2882 <    {
3216 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3217 <                }
2880 > #line 413 "conf_parser.y" /* yacc.c:1646  */
2881 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
2882 > #line 2883 "conf_parser.c" /* yacc.c:1646  */
2883      break;
2884  
2885    case 33:
2886 < /* Line 1787 of yacc.c  */
2887 < #line 413 "conf_parser.y"
2888 <    {
3224 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3225 <                }
2886 > #line 414 "conf_parser.y" /* yacc.c:1646  */
2887 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
2888 > #line 2889 "conf_parser.c" /* yacc.c:1646  */
2889      break;
2890  
2891    case 34:
2892 < /* Line 1787 of yacc.c  */
2893 < #line 417 "conf_parser.y"
2894 <    {
3232 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3233 <                }
2892 > #line 415 "conf_parser.y" /* yacc.c:1646  */
2893 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
2894 > #line 2895 "conf_parser.c" /* yacc.c:1646  */
2895      break;
2896  
2897    case 35:
2898 < /* Line 1787 of yacc.c  */
2899 < #line 421 "conf_parser.y"
2900 <    {
3240 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[(3) - (3)].number);
3241 <                }
2898 > #line 416 "conf_parser.y" /* yacc.c:1646  */
2899 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
2900 > #line 2901 "conf_parser.c" /* yacc.c:1646  */
2901      break;
2902  
2903    case 36:
2904 < /* Line 1787 of yacc.c  */
2905 < #line 425 "conf_parser.y"
2906 <    {
3248 <                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 365 + (yyvsp[(3) - (3)].number);
3249 <                }
2904 > #line 417 "conf_parser.y" /* yacc.c:1646  */
2905 >    { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
2906 > #line 2907 "conf_parser.c" /* yacc.c:1646  */
2907      break;
2908  
2909    case 37:
2910 < /* Line 1787 of yacc.c  */
3254 < #line 430 "conf_parser.y"
2910 > #line 420 "conf_parser.y" /* yacc.c:1646  */
2911      { (yyval.number) = 0; }
2912 + #line 2913 "conf_parser.c" /* yacc.c:1646  */
2913      break;
2914  
2915    case 39:
2916 < /* Line 1787 of yacc.c  */
2917 < #line 431 "conf_parser.y"
2918 <    { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
2916 > #line 421 "conf_parser.y" /* yacc.c:1646  */
2917 >    { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2918 > #line 2919 "conf_parser.c" /* yacc.c:1646  */
2919      break;
2920  
2921    case 40:
2922 < /* Line 1787 of yacc.c  */
2923 < #line 432 "conf_parser.y"
2924 <    { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
2922 > #line 422 "conf_parser.y" /* yacc.c:1646  */
2923 >    { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2924 > #line 2925 "conf_parser.c" /* yacc.c:1646  */
2925      break;
2926  
2927    case 41:
2928 < /* Line 1787 of yacc.c  */
2929 < #line 433 "conf_parser.y"
2930 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
2928 > #line 423 "conf_parser.y" /* yacc.c:1646  */
2929 >    { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2930 > #line 2931 "conf_parser.c" /* yacc.c:1646  */
2931      break;
2932  
2933    case 42:
2934 < /* Line 1787 of yacc.c  */
2935 < #line 434 "conf_parser.y"
2936 <    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
2934 > #line 424 "conf_parser.y" /* yacc.c:1646  */
2935 >    { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2936 > #line 2937 "conf_parser.c" /* yacc.c:1646  */
2937      break;
2938  
2939    case 49:
2940 < /* Line 1787 of yacc.c  */
3284 < #line 448 "conf_parser.y"
2940 > #line 438 "conf_parser.y" /* yacc.c:1646  */
2941      {
2942    if (conf_parser_ctx.pass == 2)
2943      add_conf_module(libio_basename(yylval.string));
2944   }
2945 + #line 2946 "conf_parser.c" /* yacc.c:1646  */
2946      break;
2947  
2948    case 50:
2949 < /* Line 1787 of yacc.c  */
3293 < #line 454 "conf_parser.y"
2949 > #line 444 "conf_parser.y" /* yacc.c:1646  */
2950      {
2951    if (conf_parser_ctx.pass == 2)
2952      mod_add_path(yylval.string);
2953   }
2954 + #line 2955 "conf_parser.c" /* yacc.c:1646  */
2955      break;
2956  
2957 <  case 76:
2958 < /* Line 1787 of yacc.c  */
3302 < #line 480 "conf_parser.y"
3303 <    {
3304 < #ifdef HAVE_LIBCRYPTO
3305 <  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3306 <    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3307 < #endif
3308 < }
3309 <    break;
3310 <
3311 <  case 77:
3312 < /* Line 1787 of yacc.c  */
3313 < #line 486 "conf_parser.y"
3314 <    {
3315 < #ifdef HAVE_LIBCRYPTO
3316 <  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3317 <    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3318 < #endif
3319 < }
3320 <    break;
3321 <
3322 <  case 80:
3323 < /* Line 1787 of yacc.c  */
3324 < #line 495 "conf_parser.y"
2957 >  case 72:
2958 > #line 474 "conf_parser.y" /* yacc.c:1646  */
2959      {
2960   #ifdef HAVE_LIBCRYPTO
2961    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3328    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3329 #endif
3330 }
3331    break;
3332
3333  case 81:
3334 /* Line 1787 of yacc.c  */
3335 #line 501 "conf_parser.y"
3336    {
3337 #ifdef HAVE_LIBCRYPTO
3338  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3339    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3340 #endif
3341 }
3342    break;
3343
3344  case 82:
3345 /* Line 1787 of yacc.c  */
3346 #line 509 "conf_parser.y"
3347    {
3348 #ifdef HAVE_LIBCRYPTO
3349  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2962    {
2963      if (!ServerInfo.rsa_private_key_file)
2964      {
# Line 3384 | Line 2996 | yyreduce:
2996    }
2997   #endif
2998   }
2999 + #line 3000 "conf_parser.c" /* yacc.c:1646  */
3000      break;
3001  
3002 <  case 83:
3003 < /* Line 1787 of yacc.c  */
3391 < #line 551 "conf_parser.y"
3002 >  case 73:
3003 > #line 516 "conf_parser.y" /* yacc.c:1646  */
3004      {
3005   #ifdef HAVE_LIBCRYPTO
3006    BIO *file = NULL;
# Line 3436 | Line 3048 | yyreduce:
3048      break;
3049    }
3050  
3051 <  /* require 2048 bit (256 byte) key */
3440 <  if (RSA_size(ServerInfo.rsa_private_key) != 256)
3051 >  if (RSA_size(ServerInfo.rsa_private_key) < 128)
3052    {
3053      RSA_free(ServerInfo.rsa_private_key);
3054      ServerInfo.rsa_private_key = NULL;
3055  
3056 <    conf_error_report("Not a 2048 bit key, ignoring");
3056 >    conf_error_report("Ignoring serverinfo::rsa_private_key_file -- need at least a 1024 bit key size");
3057    }
3058   #endif
3059   }
3060 + #line 3061 "conf_parser.c" /* yacc.c:1646  */
3061      break;
3062  
3063 <  case 84:
3064 < /* Line 1787 of yacc.c  */
3453 < #line 610 "conf_parser.y"
3063 >  case 74:
3064 > #line 574 "conf_parser.y" /* yacc.c:1646  */
3065      {
3455 /* TBD - XXX: error reporting */
3066   #ifdef HAVE_LIBCRYPTO
3067    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3068    {
# Line 3474 | Line 3084 | yyreduce:
3084          DH_free(dh);
3085        }
3086      }
3087 +    else
3088 +      conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- could not open/read Diffie-Hellman parameter file");
3089    }
3090   #endif
3091   }
3092 + #line 3093 "conf_parser.c" /* yacc.c:1646  */
3093      break;
3094  
3095 <  case 85:
3096 < /* Line 1787 of yacc.c  */
3484 < #line 638 "conf_parser.y"
3095 >  case 75:
3096 > #line 603 "conf_parser.y" /* yacc.c:1646  */
3097      {
3098   #ifdef HAVE_LIBCRYPTO
3099    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3100      SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3101   #endif
3102   }
3103 + #line 3104 "conf_parser.c" /* yacc.c:1646  */
3104      break;
3105  
3106 <  case 86:
3107 < /* Line 1787 of yacc.c  */
3108 < #line 646 "conf_parser.y"
3106 >  case 76:
3107 > #line 611 "conf_parser.y" /* yacc.c:1646  */
3108 >    {
3109 > #ifdef HAVE_LIBCRYPTO
3110 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3111 >  {
3112 >    if ((ServerInfo.message_digest_algorithm = EVP_get_digestbyname(yylval.string)) == NULL)
3113 >    {
3114 >      ServerInfo.message_digest_algorithm = EVP_sha256();
3115 >      conf_error_report("Ignoring serverinfo::ssl_message_digest_algorithm -- unknown message digest algorithm");
3116 >    }
3117 >  }
3118 > #endif
3119 > }
3120 > #line 3121 "conf_parser.c" /* yacc.c:1646  */
3121 >    break;
3122 >
3123 >  case 77:
3124 > #line 625 "conf_parser.y" /* yacc.c:1646  */
3125 >    {
3126 > #ifdef HAVE_LIBCRYPTO
3127 > #if OPENSSL_VERSION_NUMBER >= 0x1000005FL && !defined(OPENSSL_NO_ECDH)
3128 >  int nid = 0;
3129 >  EC_KEY *key = NULL;
3130 >
3131 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3132 >  {
3133 >    if ((nid = OBJ_sn2nid(yylval.string)) == 0)
3134 >    {
3135 >        conf_error_report("Ignoring serverinfo::serverinfo_ssl_dh_elliptic_curve -- unknown curve name");
3136 >        break;
3137 >    }
3138 >
3139 >    if ((key = EC_KEY_new_by_curve_name(nid)) == NULL)
3140 >    {
3141 >      conf_error_report("Ignoring serverinfo::serverinfo_ssl_dh_elliptic_curve -- could not create curve");
3142 >      break;
3143 >    }
3144 >
3145 >    SSL_CTX_set_tmp_ecdh(ServerInfo.server_ctx, key);
3146 >    EC_KEY_free(key);
3147 > }
3148 > #endif
3149 > #endif
3150 > }
3151 > #line 3152 "conf_parser.c" /* yacc.c:1646  */
3152 >    break;
3153 >
3154 >  case 78:
3155 > #line 653 "conf_parser.y" /* yacc.c:1646  */
3156      {
3157    /* this isn't rehashable */
3158    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3506 | Line 3166 | yyreduce:
3166      }
3167    }
3168   }
3169 + #line 3170 "conf_parser.c" /* yacc.c:1646  */
3170      break;
3171  
3172 <  case 87:
3173 < /* Line 1787 of yacc.c  */
3513 < #line 661 "conf_parser.y"
3172 >  case 79:
3173 > #line 668 "conf_parser.y" /* yacc.c:1646  */
3174      {
3175    /* this isn't rehashable */
3176    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3524 | Line 3184 | yyreduce:
3184      }
3185    }
3186   }
3187 + #line 3188 "conf_parser.c" /* yacc.c:1646  */
3188      break;
3189  
3190 <  case 88:
3191 < /* Line 1787 of yacc.c  */
3531 < #line 676 "conf_parser.y"
3190 >  case 80:
3191 > #line 683 "conf_parser.y" /* yacc.c:1646  */
3192      {
3193    if (conf_parser_ctx.pass == 2)
3194    {
# Line 3536 | Line 3196 | yyreduce:
3196      ServerInfo.description = xstrdup(yylval.string);
3197    }
3198   }
3199 + #line 3200 "conf_parser.c" /* yacc.c:1646  */
3200      break;
3201  
3202 <  case 89:
3203 < /* Line 1787 of yacc.c  */
3543 < #line 685 "conf_parser.y"
3202 >  case 81:
3203 > #line 692 "conf_parser.y" /* yacc.c:1646  */
3204      {
3205    if (conf_parser_ctx.pass == 2)
3206    {
3207      char *p;
3208  
3209 <    if ((p = strchr(yylval.string, ' ')) != NULL)
3210 <      p = '\0';
3209 >    if ((p = strchr(yylval.string, ' ')))
3210 >      *p = '\0';
3211  
3212      MyFree(ServerInfo.network_name);
3213      ServerInfo.network_name = xstrdup(yylval.string);
3214    }
3215   }
3216 + #line 3217 "conf_parser.c" /* yacc.c:1646  */
3217      break;
3218  
3219 <  case 90:
3220 < /* Line 1787 of yacc.c  */
3560 < #line 699 "conf_parser.y"
3219 >  case 82:
3220 > #line 706 "conf_parser.y" /* yacc.c:1646  */
3221      {
3222    if (conf_parser_ctx.pass != 2)
3223      break;
# Line 3565 | Line 3225 | yyreduce:
3225    MyFree(ServerInfo.network_desc);
3226    ServerInfo.network_desc = xstrdup(yylval.string);
3227   }
3228 + #line 3229 "conf_parser.c" /* yacc.c:1646  */
3229      break;
3230  
3231 <  case 91:
3232 < /* Line 1787 of yacc.c  */
3572 < #line 708 "conf_parser.y"
3231 >  case 83:
3232 > #line 715 "conf_parser.y" /* yacc.c:1646  */
3233      {
3234    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3235    {
# Line 3585 | Line 3245 | yyreduce:
3245        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3246      else
3247      {
3248 <      assert(res != NULL);
3248 >      assert(res);
3249  
3250        memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3251        ServerInfo.ip.ss.ss_family = res->ai_family;
# Line 3596 | Line 3256 | yyreduce:
3256      }
3257    }
3258   }
3259 + #line 3260 "conf_parser.c" /* yacc.c:1646  */
3260      break;
3261  
3262 <  case 92:
3263 < /* Line 1787 of yacc.c  */
3603 < #line 736 "conf_parser.y"
3262 >  case 84:
3263 > #line 743 "conf_parser.y" /* yacc.c:1646  */
3264      {
3265   #ifdef IPV6
3266    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3617 | Line 3277 | yyreduce:
3277        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3278      else
3279      {
3280 <      assert(res != NULL);
3280 >      assert(res);
3281  
3282        memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3283        ServerInfo.ip6.ss.ss_family = res->ai_family;
# Line 3629 | Line 3289 | yyreduce:
3289    }
3290   #endif
3291   }
3292 + #line 3293 "conf_parser.c" /* yacc.c:1646  */
3293      break;
3294  
3295 <  case 93:
3296 < /* Line 1787 of yacc.c  */
3636 < #line 766 "conf_parser.y"
3295 >  case 85:
3296 > #line 773 "conf_parser.y" /* yacc.c:1646  */
3297      {
3298    if (conf_parser_ctx.pass != 2)
3299      break;
3300  
3301 <  if ((yyvsp[(3) - (4)].number) < MAXCLIENTS_MIN)
3301 >  if ((yyvsp[-1].number) < MAXCLIENTS_MIN)
3302    {
3303 <    char buf[IRCD_BUFSIZE];
3303 >    char buf[IRCD_BUFSIZE] = "";
3304  
3305      snprintf(buf, sizeof(buf), "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3306      conf_error_report(buf);
3307      ServerInfo.max_clients = MAXCLIENTS_MIN;
3308    }
3309 <  else if ((yyvsp[(3) - (4)].number) > MAXCLIENTS_MAX)
3309 >  else if ((yyvsp[-1].number) > MAXCLIENTS_MAX)
3310    {
3311 <    char buf[IRCD_BUFSIZE];
3311 >    char buf[IRCD_BUFSIZE] = "";
3312  
3313      snprintf(buf, sizeof(buf), "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3314      conf_error_report(buf);
3315      ServerInfo.max_clients = MAXCLIENTS_MAX;
3316    }
3317    else
3318 <    ServerInfo.max_clients = (yyvsp[(3) - (4)].number);
3318 >    ServerInfo.max_clients = (yyvsp[-1].number);
3319   }
3320 + #line 3321 "conf_parser.c" /* yacc.c:1646  */
3321      break;
3322  
3323 <  case 94:
3324 < /* Line 1787 of yacc.c  */
3664 < #line 791 "conf_parser.y"
3323 >  case 86:
3324 > #line 798 "conf_parser.y" /* yacc.c:1646  */
3325      {
3326    if (conf_parser_ctx.pass != 2)
3327      break;
3328  
3329 <  if ((yyvsp[(3) - (4)].number) < 9)
3329 >  if ((yyvsp[-1].number) < 9)
3330    {
3331      conf_error_report("max_nick_length too low, setting to 9");
3332      ServerInfo.max_nick_length = 9;
3333    }
3334 <  else if ((yyvsp[(3) - (4)].number) > NICKLEN)
3334 >  else if ((yyvsp[-1].number) > NICKLEN)
3335    {
3336 <    char buf[IRCD_BUFSIZE];
3336 >    char buf[IRCD_BUFSIZE] = "";
3337  
3338      snprintf(buf, sizeof(buf), "max_nick_length too high, setting to %d", NICKLEN);
3339      conf_error_report(buf);
3340      ServerInfo.max_nick_length = NICKLEN;
3341    }
3342    else
3343 <    ServerInfo.max_nick_length = (yyvsp[(3) - (4)].number);
3343 >    ServerInfo.max_nick_length = (yyvsp[-1].number);
3344   }
3345 + #line 3346 "conf_parser.c" /* yacc.c:1646  */
3346      break;
3347  
3348 <  case 95:
3349 < /* Line 1787 of yacc.c  */
3689 < #line 813 "conf_parser.y"
3348 >  case 87:
3349 > #line 820 "conf_parser.y" /* yacc.c:1646  */
3350      {
3351    if (conf_parser_ctx.pass != 2)
3352      break;
3353  
3354 <  if ((yyvsp[(3) - (4)].number) < 80)
3354 >  if ((yyvsp[-1].number) < 80)
3355    {
3356      conf_error_report("max_topic_length too low, setting to 80");
3357      ServerInfo.max_topic_length = 80;
3358    }
3359 <  else if ((yyvsp[(3) - (4)].number) > TOPICLEN)
3359 >  else if ((yyvsp[-1].number) > TOPICLEN)
3360    {
3361 <    char buf[IRCD_BUFSIZE];
3361 >    char buf[IRCD_BUFSIZE] = "";
3362  
3363      snprintf(buf, sizeof(buf), "max_topic_length too high, setting to %d", TOPICLEN);
3364      conf_error_report(buf);
3365      ServerInfo.max_topic_length = TOPICLEN;
3366    }
3367    else
3368 <    ServerInfo.max_topic_length = (yyvsp[(3) - (4)].number);
3368 >    ServerInfo.max_topic_length = (yyvsp[-1].number);
3369   }
3370 + #line 3371 "conf_parser.c" /* yacc.c:1646  */
3371      break;
3372  
3373 <  case 96:
3374 < /* Line 1787 of yacc.c  */
3714 < #line 835 "conf_parser.y"
3373 >  case 88:
3374 > #line 842 "conf_parser.y" /* yacc.c:1646  */
3375      {
3376    if (conf_parser_ctx.pass == 2)
3377      ServerInfo.hub = yylval.number;
3378   }
3379 + #line 3380 "conf_parser.c" /* yacc.c:1646  */
3380      break;
3381  
3382 <  case 104:
3383 < /* Line 1787 of yacc.c  */
3723 < #line 850 "conf_parser.y"
3382 >  case 96:
3383 > #line 859 "conf_parser.y" /* yacc.c:1646  */
3384      {
3385    if (conf_parser_ctx.pass != 2)
3386      break;
# Line 3728 | Line 3388 | yyreduce:
3388    MyFree(AdminInfo.name);
3389    AdminInfo.name = xstrdup(yylval.string);
3390   }
3391 + #line 3392 "conf_parser.c" /* yacc.c:1646  */
3392      break;
3393  
3394 <  case 105:
3395 < /* Line 1787 of yacc.c  */
3735 < #line 859 "conf_parser.y"
3394 >  case 97:
3395 > #line 868 "conf_parser.y" /* yacc.c:1646  */
3396      {
3397    if (conf_parser_ctx.pass != 2)
3398      break;
# Line 3740 | Line 3400 | yyreduce:
3400    MyFree(AdminInfo.email);
3401    AdminInfo.email = xstrdup(yylval.string);
3402   }
3403 + #line 3404 "conf_parser.c" /* yacc.c:1646  */
3404      break;
3405  
3406 <  case 106:
3407 < /* Line 1787 of yacc.c  */
3747 < #line 868 "conf_parser.y"
3406 >  case 98:
3407 > #line 877 "conf_parser.y" /* yacc.c:1646  */
3408      {
3409    if (conf_parser_ctx.pass != 2)
3410      break;
# Line 3752 | Line 3412 | yyreduce:
3412    MyFree(AdminInfo.description);
3413    AdminInfo.description = xstrdup(yylval.string);
3414   }
3415 + #line 3416 "conf_parser.c" /* yacc.c:1646  */
3416      break;
3417  
3418 <  case 107:
3419 < /* Line 1787 of yacc.c  */
3759 < #line 880 "conf_parser.y"
3418 >  case 99:
3419 > #line 889 "conf_parser.y" /* yacc.c:1646  */
3420      {
3421    if (conf_parser_ctx.pass == 2)
3422      reset_block_state();
3423   }
3424 + #line 3425 "conf_parser.c" /* yacc.c:1646  */
3425      break;
3426  
3427 <  case 108:
3428 < /* Line 1787 of yacc.c  */
3768 < #line 884 "conf_parser.y"
3427 >  case 100:
3428 > #line 893 "conf_parser.y" /* yacc.c:1646  */
3429      {
3430    dlink_node *ptr = NULL;
3431  
# Line 3778 | Line 3438 | yyreduce:
3438    DLINK_FOREACH(ptr, block_state.mask.list.head)
3439      motd_add(ptr->data, block_state.file.buf);
3440   }
3441 + #line 3442 "conf_parser.c" /* yacc.c:1646  */
3442      break;
3443  
3444 <  case 114:
3445 < /* Line 1787 of yacc.c  */
3785 < #line 901 "conf_parser.y"
3444 >  case 106:
3445 > #line 910 "conf_parser.y" /* yacc.c:1646  */
3446      {
3447    if (conf_parser_ctx.pass == 2)
3448      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3449   }
3450 + #line 3451 "conf_parser.c" /* yacc.c:1646  */
3451      break;
3452  
3453 <  case 115:
3454 < /* Line 1787 of yacc.c  */
3794 < #line 907 "conf_parser.y"
3453 >  case 107:
3454 > #line 916 "conf_parser.y" /* yacc.c:1646  */
3455      {
3456    if (conf_parser_ctx.pass == 2)
3457      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3458   }
3459 + #line 3460 "conf_parser.c" /* yacc.c:1646  */
3460      break;
3461  
3462 <  case 122:
3463 < /* Line 1787 of yacc.c  */
3803 < #line 922 "conf_parser.y"
3462 >  case 114:
3463 > #line 931 "conf_parser.y" /* yacc.c:1646  */
3464      {
3465    if (conf_parser_ctx.pass == 2)
3466      ConfigLoggingEntry.use_logging = yylval.number;
3467   }
3468 + #line 3469 "conf_parser.c" /* yacc.c:1646  */
3469      break;
3470  
3471 <  case 123:
3472 < /* Line 1787 of yacc.c  */
3812 < #line 928 "conf_parser.y"
3471 >  case 115:
3472 > #line 937 "conf_parser.y" /* yacc.c:1646  */
3473      {
3474    if (conf_parser_ctx.pass == 2)
3475      reset_block_state();
3476   }
3477 + #line 3478 "conf_parser.c" /* yacc.c:1646  */
3478      break;
3479  
3480 <  case 124:
3481 < /* Line 1787 of yacc.c  */
3821 < #line 932 "conf_parser.y"
3480 >  case 116:
3481 > #line 941 "conf_parser.y" /* yacc.c:1646  */
3482      {
3483    if (conf_parser_ctx.pass != 2)
3484      break;
# Line 3827 | Line 3487 | yyreduce:
3487      log_set_file(block_state.type.value, block_state.size.value,
3488                   block_state.file.buf);
3489   }
3490 + #line 3491 "conf_parser.c" /* yacc.c:1646  */
3491      break;
3492  
3493 <  case 131:
3494 < /* Line 1787 of yacc.c  */
3834 < #line 948 "conf_parser.y"
3493 >  case 123:
3494 > #line 957 "conf_parser.y" /* yacc.c:1646  */
3495      {
3496    if (conf_parser_ctx.pass != 2)
3497      break;
3498  
3499    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3500   }
3501 + #line 3502 "conf_parser.c" /* yacc.c:1646  */
3502      break;
3503  
3504 <  case 132:
3505 < /* Line 1787 of yacc.c  */
3845 < #line 956 "conf_parser.y"
3504 >  case 124:
3505 > #line 965 "conf_parser.y" /* yacc.c:1646  */
3506      {
3507 <  block_state.size.value = (yyvsp[(3) - (4)].number);
3507 >  block_state.size.value = (yyvsp[-1].number);
3508   }
3509 + #line 3510 "conf_parser.c" /* yacc.c:1646  */
3510      break;
3511  
3512 <  case 133:
3513 < /* Line 1787 of yacc.c  */
3853 < #line 959 "conf_parser.y"
3512 >  case 125:
3513 > #line 968 "conf_parser.y" /* yacc.c:1646  */
3514      {
3515    block_state.size.value = 0;
3516   }
3517 + #line 3518 "conf_parser.c" /* yacc.c:1646  */
3518      break;
3519  
3520 <  case 134:
3521 < /* Line 1787 of yacc.c  */
3861 < #line 964 "conf_parser.y"
3520 >  case 126:
3521 > #line 973 "conf_parser.y" /* yacc.c:1646  */
3522      {
3523    if (conf_parser_ctx.pass == 2)
3524      block_state.type.value = 0;
3525   }
3526 + #line 3527 "conf_parser.c" /* yacc.c:1646  */
3527      break;
3528  
3529 <  case 138:
3530 < /* Line 1787 of yacc.c  */
3870 < #line 971 "conf_parser.y"
3529 >  case 130:
3530 > #line 980 "conf_parser.y" /* yacc.c:1646  */
3531      {
3532    if (conf_parser_ctx.pass == 2)
3533      block_state.type.value = LOG_TYPE_USER;
3534   }
3535 + #line 3536 "conf_parser.c" /* yacc.c:1646  */
3536      break;
3537  
3538 <  case 139:
3539 < /* Line 1787 of yacc.c  */
3879 < #line 975 "conf_parser.y"
3538 >  case 131:
3539 > #line 984 "conf_parser.y" /* yacc.c:1646  */
3540      {
3541    if (conf_parser_ctx.pass == 2)
3542      block_state.type.value = LOG_TYPE_OPER;
3543   }
3544 + #line 3545 "conf_parser.c" /* yacc.c:1646  */
3545      break;
3546  
3547 <  case 140:
3548 < /* Line 1787 of yacc.c  */
3888 < #line 979 "conf_parser.y"
3547 >  case 132:
3548 > #line 988 "conf_parser.y" /* yacc.c:1646  */
3549      {
3550    if (conf_parser_ctx.pass == 2)
3551      block_state.type.value = LOG_TYPE_GLINE;
3552   }
3553 + #line 3554 "conf_parser.c" /* yacc.c:1646  */
3554 +    break;
3555 +
3556 +  case 133:
3557 + #line 992 "conf_parser.y" /* yacc.c:1646  */
3558 +    {
3559 +  if (conf_parser_ctx.pass == 2)
3560 +    block_state.type.value = LOG_TYPE_XLINE;
3561 + }
3562 + #line 3563 "conf_parser.c" /* yacc.c:1646  */
3563      break;
3564  
3565 <  case 141:
3566 < /* Line 1787 of yacc.c  */
3567 < #line 983 "conf_parser.y"
3565 >  case 134:
3566 > #line 996 "conf_parser.y" /* yacc.c:1646  */
3567 >    {
3568 >  if (conf_parser_ctx.pass == 2)
3569 >    block_state.type.value = LOG_TYPE_RESV;
3570 > }
3571 > #line 3572 "conf_parser.c" /* yacc.c:1646  */
3572 >    break;
3573 >
3574 >  case 135:
3575 > #line 1000 "conf_parser.y" /* yacc.c:1646  */
3576      {
3577    if (conf_parser_ctx.pass == 2)
3578      block_state.type.value = LOG_TYPE_DLINE;
3579   }
3580 + #line 3581 "conf_parser.c" /* yacc.c:1646  */
3581      break;
3582  
3583 <  case 142:
3584 < /* Line 1787 of yacc.c  */
3906 < #line 987 "conf_parser.y"
3583 >  case 136:
3584 > #line 1004 "conf_parser.y" /* yacc.c:1646  */
3585      {
3586    if (conf_parser_ctx.pass == 2)
3587      block_state.type.value = LOG_TYPE_KLINE;
3588   }
3589 + #line 3590 "conf_parser.c" /* yacc.c:1646  */
3590      break;
3591  
3592 <  case 143:
3593 < /* Line 1787 of yacc.c  */
3915 < #line 991 "conf_parser.y"
3592 >  case 137:
3593 > #line 1008 "conf_parser.y" /* yacc.c:1646  */
3594      {
3595    if (conf_parser_ctx.pass == 2)
3596      block_state.type.value = LOG_TYPE_KILL;
3597   }
3598 + #line 3599 "conf_parser.c" /* yacc.c:1646  */
3599      break;
3600  
3601 <  case 144:
3602 < /* Line 1787 of yacc.c  */
3924 < #line 995 "conf_parser.y"
3601 >  case 138:
3602 > #line 1012 "conf_parser.y" /* yacc.c:1646  */
3603      {
3604    if (conf_parser_ctx.pass == 2)
3605      block_state.type.value = LOG_TYPE_DEBUG;
3606   }
3607 + #line 3608 "conf_parser.c" /* yacc.c:1646  */
3608      break;
3609  
3610 <  case 145:
3611 < /* Line 1787 of yacc.c  */
3933 < #line 1005 "conf_parser.y"
3610 >  case 139:
3611 > #line 1022 "conf_parser.y" /* yacc.c:1646  */
3612      {
3613    if (conf_parser_ctx.pass != 2)
3614      break;
# Line 3938 | Line 3616 | yyreduce:
3616    reset_block_state();
3617    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3618   }
3619 + #line 3620 "conf_parser.c" /* yacc.c:1646  */
3620      break;
3621  
3622 <  case 146:
3623 < /* Line 1787 of yacc.c  */
3945 < #line 1012 "conf_parser.y"
3622 >  case 140:
3623 > #line 1029 "conf_parser.y" /* yacc.c:1646  */
3624      {
3625    dlink_node *ptr = NULL;
3626  
# Line 3974 | Line 3652 | yyreduce:
3652      nuh.hostsize = sizeof(block_state.host.buf);
3653      split_nuh(&nuh);
3654  
3655 <    conf        = conf_make(CONF_OPER);
3656 <    conf->name  = xstrdup(block_state.name.buf);
3657 <    conf->user  = xstrdup(block_state.user.buf);
3658 <    conf->host  = xstrdup(block_state.host.buf);
3655 >    conf         = conf_make(CONF_OPER);
3656 >    conf->name   = xstrdup(block_state.name.buf);
3657 >    conf->user   = xstrdup(block_state.user.buf);
3658 >    conf->host   = xstrdup(block_state.host.buf);
3659 >
3660 >    if (block_state.cert.buf[0])
3661 >      conf->certfp = xstrdup(block_state.cert.buf);
3662  
3663      if (block_state.rpass.buf[0])
3664        conf->passwd = xstrdup(block_state.rpass.buf);
# Line 3997 | Line 3678 | yyreduce:
3678  
3679        if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3680        {
3681 <        conf_error_report("Ignoring rsa_public_key_file -- file doesn't exist");
3681 >        ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- file doesn't exist");
3682          break;
3683        }
3684  
3685        if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3686 <        conf_error_report("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3686 >        ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- key invalid; check key syntax");
3687 >      else
3688 >      {
3689 >        if (RSA_size(pkey) > 128)
3690 >          ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- key size must be 1024 or below");
3691 >        else
3692 >          conf->rsa_public_key = pkey;
3693 >      }
3694  
4007      conf->rsa_public_key = pkey;
3695        BIO_set_close(file, BIO_CLOSE);
3696        BIO_free(file);
3697      }
3698   #endif /* HAVE_LIBCRYPTO */
3699    }
3700   }
3701 + #line 3702 "conf_parser.c" /* yacc.c:1646  */
3702      break;
3703  
3704 <  case 158:
3705 < /* Line 1787 of yacc.c  */
4018 < #line 1087 "conf_parser.y"
3704 >  case 154:
3705 > #line 1121 "conf_parser.y" /* yacc.c:1646  */
3706      {
3707    if (conf_parser_ctx.pass == 2)
3708      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3709   }
3710 + #line 3711 "conf_parser.c" /* yacc.c:1646  */
3711      break;
3712  
3713 <  case 159:
3714 < /* Line 1787 of yacc.c  */
4027 < #line 1093 "conf_parser.y"
3713 >  case 155:
3714 > #line 1127 "conf_parser.y" /* yacc.c:1646  */
3715      {
3716    if (conf_parser_ctx.pass == 2)
3717      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3718   }
3719 + #line 3720 "conf_parser.c" /* yacc.c:1646  */
3720      break;
3721  
3722 <  case 160:
3723 < /* Line 1787 of yacc.c  */
4036 < #line 1099 "conf_parser.y"
3722 >  case 156:
3723 > #line 1133 "conf_parser.y" /* yacc.c:1646  */
3724      {
3725    if (conf_parser_ctx.pass == 2)
3726      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3727   }
3728 + #line 3729 "conf_parser.c" /* yacc.c:1646  */
3729      break;
3730  
3731 <  case 161:
3732 < /* Line 1787 of yacc.c  */
4045 < #line 1105 "conf_parser.y"
3731 >  case 157:
3732 > #line 1139 "conf_parser.y" /* yacc.c:1646  */
3733      {
3734    if (conf_parser_ctx.pass != 2)
3735      break;
# Line 4052 | Line 3739 | yyreduce:
3739    else
3740      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3741   }
3742 + #line 3743 "conf_parser.c" /* yacc.c:1646  */
3743      break;
3744  
3745 <  case 162:
3746 < /* Line 1787 of yacc.c  */
4059 < #line 1116 "conf_parser.y"
3745 >  case 158:
3746 > #line 1150 "conf_parser.y" /* yacc.c:1646  */
3747      {
3748    if (conf_parser_ctx.pass == 2)
3749      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3750   }
3751 + #line 3752 "conf_parser.c" /* yacc.c:1646  */
3752      break;
3753  
3754 <  case 163:
3755 < /* Line 1787 of yacc.c  */
3756 < #line 1122 "conf_parser.y"
3754 >  case 159:
3755 > #line 1156 "conf_parser.y" /* yacc.c:1646  */
3756 >    {
3757 >  if (conf_parser_ctx.pass == 2)
3758 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3759 > }
3760 > #line 3761 "conf_parser.c" /* yacc.c:1646  */
3761 >    break;
3762 >
3763 >  case 160:
3764 > #line 1162 "conf_parser.y" /* yacc.c:1646  */
3765 >    {
3766 >  if (conf_parser_ctx.pass != 2)
3767 >    break;
3768 >
3769 >  if (yylval.number)
3770 >    block_state.flags.value |= CONF_FLAGS_SSL;
3771 >  else
3772 >    block_state.flags.value &= ~CONF_FLAGS_SSL;
3773 > }
3774 > #line 3775 "conf_parser.c" /* yacc.c:1646  */
3775 >    break;
3776 >
3777 >  case 161:
3778 > #line 1173 "conf_parser.y" /* yacc.c:1646  */
3779      {
3780    if (conf_parser_ctx.pass == 2)
3781      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3782   }
3783 + #line 3784 "conf_parser.c" /* yacc.c:1646  */
3784      break;
3785  
3786 <  case 164:
3787 < /* Line 1787 of yacc.c  */
4077 < #line 1128 "conf_parser.y"
3786 >  case 162:
3787 > #line 1179 "conf_parser.y" /* yacc.c:1646  */
3788      {
3789    if (conf_parser_ctx.pass == 2)
3790      block_state.modes.value = 0;
3791   }
3792 + #line 3793 "conf_parser.c" /* yacc.c:1646  */
3793      break;
3794  
3795 <  case 168:
3796 < /* Line 1787 of yacc.c  */
4086 < #line 1135 "conf_parser.y"
3795 >  case 166:
3796 > #line 1186 "conf_parser.y" /* yacc.c:1646  */
3797      {
3798    if (conf_parser_ctx.pass == 2)
3799      block_state.modes.value |= UMODE_BOTS;
3800   }
3801 + #line 3802 "conf_parser.c" /* yacc.c:1646  */
3802      break;
3803  
3804 <  case 169:
3805 < /* Line 1787 of yacc.c  */
4095 < #line 1139 "conf_parser.y"
3804 >  case 167:
3805 > #line 1190 "conf_parser.y" /* yacc.c:1646  */
3806      {
3807    if (conf_parser_ctx.pass == 2)
3808      block_state.modes.value |= UMODE_CCONN;
3809   }
3810 + #line 3811 "conf_parser.c" /* yacc.c:1646  */
3811      break;
3812  
3813 <  case 170:
3814 < /* Line 1787 of yacc.c  */
4104 < #line 1143 "conf_parser.y"
3813 >  case 168:
3814 > #line 1194 "conf_parser.y" /* yacc.c:1646  */
3815      {
3816    if (conf_parser_ctx.pass == 2)
3817      block_state.modes.value |= UMODE_DEAF;
3818   }
3819 + #line 3820 "conf_parser.c" /* yacc.c:1646  */
3820      break;
3821  
3822 <  case 171:
3823 < /* Line 1787 of yacc.c  */
4113 < #line 1147 "conf_parser.y"
3822 >  case 169:
3823 > #line 1198 "conf_parser.y" /* yacc.c:1646  */
3824      {
3825    if (conf_parser_ctx.pass == 2)
3826      block_state.modes.value |= UMODE_DEBUG;
3827   }
3828 + #line 3829 "conf_parser.c" /* yacc.c:1646  */
3829      break;
3830  
3831 <  case 172:
3832 < /* Line 1787 of yacc.c  */
4122 < #line 1151 "conf_parser.y"
3831 >  case 170:
3832 > #line 1202 "conf_parser.y" /* yacc.c:1646  */
3833      {
3834    if (conf_parser_ctx.pass == 2)
3835      block_state.modes.value |= UMODE_FULL;
3836   }
3837 + #line 3838 "conf_parser.c" /* yacc.c:1646  */
3838      break;
3839  
3840 <  case 173:
3841 < /* Line 1787 of yacc.c  */
4131 < #line 1155 "conf_parser.y"
3840 >  case 171:
3841 > #line 1206 "conf_parser.y" /* yacc.c:1646  */
3842      {
3843    if (conf_parser_ctx.pass == 2)
3844      block_state.modes.value |= UMODE_HIDDEN;
3845   }
3846 + #line 3847 "conf_parser.c" /* yacc.c:1646  */
3847 +    break;
3848 +
3849 +  case 172:
3850 + #line 1210 "conf_parser.y" /* yacc.c:1646  */
3851 +    {
3852 +  if (conf_parser_ctx.pass == 2)
3853 +    block_state.modes.value |= UMODE_HIDECHANS;
3854 + }
3855 + #line 3856 "conf_parser.c" /* yacc.c:1646  */
3856 +    break;
3857 +
3858 +  case 173:
3859 + #line 1214 "conf_parser.y" /* yacc.c:1646  */
3860 +    {
3861 +  if (conf_parser_ctx.pass == 2)
3862 +    block_state.modes.value |= UMODE_HIDEIDLE;
3863 + }
3864 + #line 3865 "conf_parser.c" /* yacc.c:1646  */
3865      break;
3866  
3867    case 174:
3868 < /* Line 1787 of yacc.c  */
4140 < #line 1159 "conf_parser.y"
3868 > #line 1218 "conf_parser.y" /* yacc.c:1646  */
3869      {
3870    if (conf_parser_ctx.pass == 2)
3871      block_state.modes.value |= UMODE_SKILL;
3872   }
3873 + #line 3874 "conf_parser.c" /* yacc.c:1646  */
3874      break;
3875  
3876    case 175:
3877 < /* Line 1787 of yacc.c  */
4149 < #line 1163 "conf_parser.y"
3877 > #line 1222 "conf_parser.y" /* yacc.c:1646  */
3878      {
3879    if (conf_parser_ctx.pass == 2)
3880      block_state.modes.value |= UMODE_NCHANGE;
3881   }
3882 + #line 3883 "conf_parser.c" /* yacc.c:1646  */
3883      break;
3884  
3885    case 176:
3886 < /* Line 1787 of yacc.c  */
4158 < #line 1167 "conf_parser.y"
3886 > #line 1226 "conf_parser.y" /* yacc.c:1646  */
3887      {
3888    if (conf_parser_ctx.pass == 2)
3889      block_state.modes.value |= UMODE_REJ;
3890   }
3891 + #line 3892 "conf_parser.c" /* yacc.c:1646  */
3892      break;
3893  
3894    case 177:
3895 < /* Line 1787 of yacc.c  */
4167 < #line 1171 "conf_parser.y"
3895 > #line 1230 "conf_parser.y" /* yacc.c:1646  */
3896      {
3897    if (conf_parser_ctx.pass == 2)
3898      block_state.modes.value |= UMODE_UNAUTH;
3899   }
3900 + #line 3901 "conf_parser.c" /* yacc.c:1646  */
3901      break;
3902  
3903    case 178:
3904 < /* Line 1787 of yacc.c  */
4176 < #line 1175 "conf_parser.y"
3904 > #line 1234 "conf_parser.y" /* yacc.c:1646  */
3905      {
3906    if (conf_parser_ctx.pass == 2)
3907      block_state.modes.value |= UMODE_SPY;
3908   }
3909 + #line 3910 "conf_parser.c" /* yacc.c:1646  */
3910      break;
3911  
3912    case 179:
3913 < /* Line 1787 of yacc.c  */
4185 < #line 1179 "conf_parser.y"
3913 > #line 1238 "conf_parser.y" /* yacc.c:1646  */
3914      {
3915    if (conf_parser_ctx.pass == 2)
3916      block_state.modes.value |= UMODE_EXTERNAL;
3917   }
3918 + #line 3919 "conf_parser.c" /* yacc.c:1646  */
3919      break;
3920  
3921    case 180:
3922 < /* Line 1787 of yacc.c  */
4194 < #line 1183 "conf_parser.y"
3922 > #line 1242 "conf_parser.y" /* yacc.c:1646  */
3923      {
3924    if (conf_parser_ctx.pass == 2)
3925 <    block_state.modes.value |= UMODE_OPERWALL;
3925 >    block_state.modes.value |= UMODE_SERVNOTICE;
3926   }
3927 + #line 3928 "conf_parser.c" /* yacc.c:1646  */
3928      break;
3929  
3930    case 181:
3931 < /* Line 1787 of yacc.c  */
4203 < #line 1187 "conf_parser.y"
3931 > #line 1246 "conf_parser.y" /* yacc.c:1646  */
3932      {
3933    if (conf_parser_ctx.pass == 2)
3934 <    block_state.modes.value |= UMODE_SERVNOTICE;
3934 >    block_state.modes.value |= UMODE_INVISIBLE;
3935   }
3936 + #line 3937 "conf_parser.c" /* yacc.c:1646  */
3937      break;
3938  
3939    case 182:
3940 < /* Line 1787 of yacc.c  */
4212 < #line 1191 "conf_parser.y"
3940 > #line 1250 "conf_parser.y" /* yacc.c:1646  */
3941      {
3942    if (conf_parser_ctx.pass == 2)
3943 <    block_state.modes.value |= UMODE_INVISIBLE;
3943 >    block_state.modes.value |= UMODE_WALLOP;
3944   }
3945 + #line 3946 "conf_parser.c" /* yacc.c:1646  */
3946      break;
3947  
3948    case 183:
3949 < /* Line 1787 of yacc.c  */
4221 < #line 1195 "conf_parser.y"
3949 > #line 1254 "conf_parser.y" /* yacc.c:1646  */
3950      {
3951    if (conf_parser_ctx.pass == 2)
3952 <    block_state.modes.value |= UMODE_WALLOP;
3952 >    block_state.modes.value |= UMODE_SOFTCALLERID;
3953   }
3954 + #line 3955 "conf_parser.c" /* yacc.c:1646  */
3955      break;
3956  
3957    case 184:
3958 < /* Line 1787 of yacc.c  */
4230 < #line 1199 "conf_parser.y"
3958 > #line 1258 "conf_parser.y" /* yacc.c:1646  */
3959      {
3960    if (conf_parser_ctx.pass == 2)
3961 <    block_state.modes.value |= UMODE_SOFTCALLERID;
3961 >    block_state.modes.value |= UMODE_CALLERID;
3962   }
3963 + #line 3964 "conf_parser.c" /* yacc.c:1646  */
3964      break;
3965  
3966    case 185:
3967 < /* Line 1787 of yacc.c  */
4239 < #line 1203 "conf_parser.y"
3967 > #line 1262 "conf_parser.y" /* yacc.c:1646  */
3968      {
3969    if (conf_parser_ctx.pass == 2)
3970 <    block_state.modes.value |= UMODE_CALLERID;
3970 >    block_state.modes.value |= UMODE_LOCOPS;
3971   }
3972 + #line 3973 "conf_parser.c" /* yacc.c:1646  */
3973      break;
3974  
3975    case 186:
3976 < /* Line 1787 of yacc.c  */
4248 < #line 1207 "conf_parser.y"
3976 > #line 1266 "conf_parser.y" /* yacc.c:1646  */
3977      {
3978    if (conf_parser_ctx.pass == 2)
3979 <    block_state.modes.value |= UMODE_LOCOPS;
3979 >    block_state.modes.value |= UMODE_REGONLY;
3980   }
3981 + #line 3982 "conf_parser.c" /* yacc.c:1646  */
3982      break;
3983  
3984    case 187:
3985 < /* Line 1787 of yacc.c  */
4257 < #line 1211 "conf_parser.y"
3985 > #line 1270 "conf_parser.y" /* yacc.c:1646  */
3986      {
3987    if (conf_parser_ctx.pass == 2)
3988 <    block_state.modes.value |= UMODE_REGONLY;
3988 >    block_state.modes.value |= UMODE_FARCONNECT;
3989   }
3990 + #line 3991 "conf_parser.c" /* yacc.c:1646  */
3991      break;
3992  
3993    case 188:
3994 < /* Line 1787 of yacc.c  */
4266 < #line 1215 "conf_parser.y"
3994 > #line 1276 "conf_parser.y" /* yacc.c:1646  */
3995      {
3996    if (conf_parser_ctx.pass == 2)
3997 <    block_state.modes.value |= UMODE_FARCONNECT;
3997 >    block_state.port.value = 0;
3998   }
3999 + #line 4000 "conf_parser.c" /* yacc.c:1646  */
4000      break;
4001  
4002 <  case 189:
4003 < /* Line 1787 of yacc.c  */
4275 < #line 1221 "conf_parser.y"
4002 >  case 192:
4003 > #line 1283 "conf_parser.y" /* yacc.c:1646  */
4004      {
4005    if (conf_parser_ctx.pass == 2)
4006 <    block_state.port.value = 0;
4006 >    block_state.port.value |= OPER_FLAG_KILL_REMOTE;
4007   }
4008 + #line 4009 "conf_parser.c" /* yacc.c:1646  */
4009      break;
4010  
4011    case 193:
4012 < /* Line 1787 of yacc.c  */
4284 < #line 1228 "conf_parser.y"
4012 > #line 1287 "conf_parser.y" /* yacc.c:1646  */
4013      {
4014    if (conf_parser_ctx.pass == 2)
4015 <    block_state.port.value |= OPER_FLAG_KILL_REMOTE;
4015 >    block_state.port.value |= OPER_FLAG_KILL;
4016   }
4017 + #line 4018 "conf_parser.c" /* yacc.c:1646  */
4018      break;
4019  
4020    case 194:
4021 < /* Line 1787 of yacc.c  */
4293 < #line 1232 "conf_parser.y"
4021 > #line 1291 "conf_parser.y" /* yacc.c:1646  */
4022      {
4023    if (conf_parser_ctx.pass == 2)
4024 <    block_state.port.value |= OPER_FLAG_KILL;
4024 >    block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
4025   }
4026 + #line 4027 "conf_parser.c" /* yacc.c:1646  */
4027      break;
4028  
4029    case 195:
4030 < /* Line 1787 of yacc.c  */
4302 < #line 1236 "conf_parser.y"
4030 > #line 1295 "conf_parser.y" /* yacc.c:1646  */
4031      {
4032    if (conf_parser_ctx.pass == 2)
4033 <    block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
4033 >    block_state.port.value |= OPER_FLAG_CONNECT;
4034   }
4035 + #line 4036 "conf_parser.c" /* yacc.c:1646  */
4036      break;
4037  
4038    case 196:
4039 < /* Line 1787 of yacc.c  */
4311 < #line 1240 "conf_parser.y"
4039 > #line 1299 "conf_parser.y" /* yacc.c:1646  */
4040      {
4041    if (conf_parser_ctx.pass == 2)
4042 <    block_state.port.value |= OPER_FLAG_CONNECT;
4042 >    block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4043   }
4044 + #line 4045 "conf_parser.c" /* yacc.c:1646  */
4045      break;
4046  
4047    case 197:
4048 < /* Line 1787 of yacc.c  */
4320 < #line 1244 "conf_parser.y"
4048 > #line 1303 "conf_parser.y" /* yacc.c:1646  */
4049      {
4050    if (conf_parser_ctx.pass == 2)
4051 <    block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4051 >    block_state.port.value |= OPER_FLAG_SQUIT;
4052   }
4053 + #line 4054 "conf_parser.c" /* yacc.c:1646  */
4054      break;
4055  
4056    case 198:
4057 < /* Line 1787 of yacc.c  */
4329 < #line 1248 "conf_parser.y"
4057 > #line 1307 "conf_parser.y" /* yacc.c:1646  */
4058      {
4059    if (conf_parser_ctx.pass == 2)
4060 <    block_state.port.value |= OPER_FLAG_SQUIT;
4060 >    block_state.port.value |= OPER_FLAG_KLINE;
4061   }
4062 + #line 4063 "conf_parser.c" /* yacc.c:1646  */
4063      break;
4064  
4065    case 199:
4066 < /* Line 1787 of yacc.c  */
4338 < #line 1252 "conf_parser.y"
4066 > #line 1311 "conf_parser.y" /* yacc.c:1646  */
4067      {
4068    if (conf_parser_ctx.pass == 2)
4069 <    block_state.port.value |= OPER_FLAG_K;
4069 >    block_state.port.value |= OPER_FLAG_UNKLINE;
4070   }
4071 + #line 4072 "conf_parser.c" /* yacc.c:1646  */
4072      break;
4073  
4074    case 200:
4075 < /* Line 1787 of yacc.c  */
4347 < #line 1256 "conf_parser.y"
4075 > #line 1315 "conf_parser.y" /* yacc.c:1646  */
4076      {
4077    if (conf_parser_ctx.pass == 2)
4078 <    block_state.port.value |= OPER_FLAG_UNKLINE;
4078 >    block_state.port.value |= OPER_FLAG_DLINE;
4079   }
4080 + #line 4081 "conf_parser.c" /* yacc.c:1646  */
4081      break;
4082  
4083    case 201:
4084 < /* Line 1787 of yacc.c  */
4356 < #line 1260 "conf_parser.y"
4084 > #line 1319 "conf_parser.y" /* yacc.c:1646  */
4085      {
4086    if (conf_parser_ctx.pass == 2)
4087 <    block_state.port.value |= OPER_FLAG_DLINE;
4087 >    block_state.port.value |= OPER_FLAG_UNDLINE;
4088   }
4089 + #line 4090 "conf_parser.c" /* yacc.c:1646  */
4090      break;
4091  
4092    case 202:
4093 < /* Line 1787 of yacc.c  */
4365 < #line 1264 "conf_parser.y"
4093 > #line 1323 "conf_parser.y" /* yacc.c:1646  */
4094      {
4095    if (conf_parser_ctx.pass == 2)
4096 <    block_state.port.value |= OPER_FLAG_UNDLINE;
4096 >    block_state.port.value |= OPER_FLAG_XLINE;
4097   }
4098 + #line 4099 "conf_parser.c" /* yacc.c:1646  */
4099      break;
4100  
4101    case 203:
4102 < /* Line 1787 of yacc.c  */
4374 < #line 1268 "conf_parser.y"
4102 > #line 1327 "conf_parser.y" /* yacc.c:1646  */
4103      {
4104    if (conf_parser_ctx.pass == 2)
4105 <    block_state.port.value |= OPER_FLAG_X;
4105 >    block_state.port.value |= OPER_FLAG_UNXLINE;
4106   }
4107 + #line 4108 "conf_parser.c" /* yacc.c:1646  */
4108      break;
4109  
4110    case 204:
4111 < /* Line 1787 of yacc.c  */
4383 < #line 1272 "conf_parser.y"
4111 > #line 1331 "conf_parser.y" /* yacc.c:1646  */
4112      {
4113    if (conf_parser_ctx.pass == 2)
4114      block_state.port.value |= OPER_FLAG_GLINE;
4115   }
4116 + #line 4117 "conf_parser.c" /* yacc.c:1646  */
4117      break;
4118  
4119    case 205:
4120 < /* Line 1787 of yacc.c  */
4392 < #line 1276 "conf_parser.y"
4120 > #line 1335 "conf_parser.y" /* yacc.c:1646  */
4121      {
4122    if (conf_parser_ctx.pass == 2)
4123      block_state.port.value |= OPER_FLAG_DIE;
4124   }
4125 + #line 4126 "conf_parser.c" /* yacc.c:1646  */
4126      break;
4127  
4128    case 206:
4129 < /* Line 1787 of yacc.c  */
4401 < #line 1280 "conf_parser.y"
4129 > #line 1339 "conf_parser.y" /* yacc.c:1646  */
4130      {
4131    if (conf_parser_ctx.pass == 2)
4132      block_state.port.value |= OPER_FLAG_RESTART;
4133   }
4134 + #line 4135 "conf_parser.c" /* yacc.c:1646  */
4135      break;
4136  
4137    case 207:
4138 < /* Line 1787 of yacc.c  */
4410 < #line 1284 "conf_parser.y"
4138 > #line 1343 "conf_parser.y" /* yacc.c:1646  */
4139      {
4140    if (conf_parser_ctx.pass == 2)
4141      block_state.port.value |= OPER_FLAG_REHASH;
4142   }
4143 + #line 4144 "conf_parser.c" /* yacc.c:1646  */
4144      break;
4145  
4146    case 208:
4147 < /* Line 1787 of yacc.c  */
4419 < #line 1288 "conf_parser.y"
4147 > #line 1347 "conf_parser.y" /* yacc.c:1646  */
4148      {
4149    if (conf_parser_ctx.pass == 2)
4150      block_state.port.value |= OPER_FLAG_ADMIN;
4151   }
4152 + #line 4153 "conf_parser.c" /* yacc.c:1646  */
4153      break;
4154  
4155    case 209:
4156 < /* Line 1787 of yacc.c  */
4428 < #line 1292 "conf_parser.y"
4429 <    {
4430 <  if (conf_parser_ctx.pass == 2)
4431 <    block_state.port.value |= OPER_FLAG_OPERWALL;
4432 < }
4433 <    break;
4434 <
4435 <  case 210:
4436 < /* Line 1787 of yacc.c  */
4437 < #line 1296 "conf_parser.y"
4156 > #line 1351 "conf_parser.y" /* yacc.c:1646  */
4157      {
4158    if (conf_parser_ctx.pass == 2)
4159      block_state.port.value |= OPER_FLAG_GLOBOPS;
4160   }
4161 + #line 4162 "conf_parser.c" /* yacc.c:1646  */
4162      break;
4163  
4164 <  case 211:
4165 < /* Line 1787 of yacc.c  */
4446 < #line 1300 "conf_parser.y"
4164 >  case 210:
4165 > #line 1355 "conf_parser.y" /* yacc.c:1646  */
4166      {
4167    if (conf_parser_ctx.pass == 2)
4168      block_state.port.value |= OPER_FLAG_WALLOPS;
4169   }
4170 + #line 4171 "conf_parser.c" /* yacc.c:1646  */
4171      break;
4172  
4173 <  case 212:
4174 < /* Line 1787 of yacc.c  */
4455 < #line 1304 "conf_parser.y"
4173 >  case 211:
4174 > #line 1359 "conf_parser.y" /* yacc.c:1646  */
4175      {
4176    if (conf_parser_ctx.pass == 2)
4177      block_state.port.value |= OPER_FLAG_LOCOPS;
4178   }
4179 + #line 4180 "conf_parser.c" /* yacc.c:1646  */
4180      break;
4181  
4182 <  case 213:
4183 < /* Line 1787 of yacc.c  */
4464 < #line 1308 "conf_parser.y"
4182 >  case 212:
4183 > #line 1363 "conf_parser.y" /* yacc.c:1646  */
4184      {
4185    if (conf_parser_ctx.pass == 2)
4186      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4187   }
4188 + #line 4189 "conf_parser.c" /* yacc.c:1646  */
4189      break;
4190  
4191 <  case 214:
4192 < /* Line 1787 of yacc.c  */
4473 < #line 1312 "conf_parser.y"
4191 >  case 213:
4192 > #line 1367 "conf_parser.y" /* yacc.c:1646  */
4193      {
4194    if (conf_parser_ctx.pass == 2)
4195      block_state.port.value |= OPER_FLAG_SET;
4196   }
4197 + #line 4198 "conf_parser.c" /* yacc.c:1646  */
4198      break;
4199  
4200 <  case 215:
4201 < /* Line 1787 of yacc.c  */
4482 < #line 1316 "conf_parser.y"
4200 >  case 214:
4201 > #line 1371 "conf_parser.y" /* yacc.c:1646  */
4202      {
4203    if (conf_parser_ctx.pass == 2)
4204      block_state.port.value |= OPER_FLAG_MODULE;
4205   }
4206 + #line 4207 "conf_parser.c" /* yacc.c:1646  */
4207      break;
4208  
4209 <  case 216:
4210 < /* Line 1787 of yacc.c  */
4491 < #line 1326 "conf_parser.y"
4209 >  case 215:
4210 > #line 1381 "conf_parser.y" /* yacc.c:1646  */
4211      {
4212    if (conf_parser_ctx.pass != 1)
4213      break;
# Line 4501 | Line 4220 | yyreduce:
4220    block_state.max_sendq.value = DEFAULT_SENDQ;
4221    block_state.max_recvq.value = DEFAULT_RECVQ;
4222   }
4223 + #line 4224 "conf_parser.c" /* yacc.c:1646  */
4224      break;
4225  
4226 <  case 217:
4227 < /* Line 1787 of yacc.c  */
4508 < #line 1338 "conf_parser.y"
4226 >  case 216:
4227 > #line 1393 "conf_parser.y" /* yacc.c:1646  */
4228      {
4229    struct ClassItem *class = NULL;
4230  
# Line 4530 | Line 4249 | yyreduce:
4249    class->max_ident = block_state.max_ident.value;
4250    class->max_sendq = block_state.max_sendq.value;
4251    class->max_recvq = block_state.max_recvq.value;
4252 +  class->max_channels = block_state.max_channels.value;
4253  
4254    if (block_state.min_idle.value > block_state.max_idle.value)
4255    {
# Line 4553 | Line 4273 | yyreduce:
4273    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4274    class->number_per_cidr = block_state.number_per_cidr.value;
4275   }
4276 + #line 4277 "conf_parser.c" /* yacc.c:1646  */
4277      break;
4278  
4279    case 237:
4280 < /* Line 1787 of yacc.c  */
4560 < #line 1404 "conf_parser.y"
4280 > #line 1462 "conf_parser.y" /* yacc.c:1646  */
4281      {
4282    if (conf_parser_ctx.pass == 1)
4283      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4284   }
4285 + #line 4286 "conf_parser.c" /* yacc.c:1646  */
4286      break;
4287  
4288    case 238:
4289 < /* Line 1787 of yacc.c  */
4569 < #line 1410 "conf_parser.y"
4289 > #line 1468 "conf_parser.y" /* yacc.c:1646  */
4290      {
4291    if (conf_parser_ctx.pass == 1)
4292 <    block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
4292 >    block_state.ping_freq.value = (yyvsp[-1].number);
4293   }
4294 + #line 4295 "conf_parser.c" /* yacc.c:1646  */
4295      break;
4296  
4297    case 239:
4298 < /* Line 1787 of yacc.c  */
4578 < #line 1416 "conf_parser.y"
4298 > #line 1474 "conf_parser.y" /* yacc.c:1646  */
4299      {
4300    if (conf_parser_ctx.pass == 1)
4301 <    block_state.max_perip.value = (yyvsp[(3) - (4)].number);
4301 >    block_state.max_perip.value = (yyvsp[-1].number);
4302   }
4303 + #line 4304 "conf_parser.c" /* yacc.c:1646  */
4304      break;
4305  
4306    case 240:
4307 < /* Line 1787 of yacc.c  */
4587 < #line 1422 "conf_parser.y"
4307 > #line 1480 "conf_parser.y" /* yacc.c:1646  */
4308      {
4309    if (conf_parser_ctx.pass == 1)
4310 <    block_state.con_freq.value = (yyvsp[(3) - (4)].number);
4310 >    block_state.con_freq.value = (yyvsp[-1].number);
4311   }
4312 + #line 4313 "conf_parser.c" /* yacc.c:1646  */
4313      break;
4314  
4315    case 241:
4316 < /* Line 1787 of yacc.c  */
4596 < #line 1428 "conf_parser.y"
4316 > #line 1486 "conf_parser.y" /* yacc.c:1646  */
4317      {
4318    if (conf_parser_ctx.pass == 1)
4319 <    block_state.max_total.value = (yyvsp[(3) - (4)].number);
4319 >    block_state.max_channels.value = (yyvsp[-1].number);
4320   }
4321 + #line 4322 "conf_parser.c" /* yacc.c:1646  */
4322      break;
4323  
4324    case 242:
4325 < /* Line 1787 of yacc.c  */
4605 < #line 1434 "conf_parser.y"
4325 > #line 1492 "conf_parser.y" /* yacc.c:1646  */
4326      {
4327    if (conf_parser_ctx.pass == 1)
4328 <    block_state.max_global.value = (yyvsp[(3) - (4)].number);
4328 >    block_state.max_total.value = (yyvsp[-1].number);
4329   }
4330 + #line 4331 "conf_parser.c" /* yacc.c:1646  */
4331      break;
4332  
4333    case 243:
4334 < /* Line 1787 of yacc.c  */
4614 < #line 1440 "conf_parser.y"
4334 > #line 1498 "conf_parser.y" /* yacc.c:1646  */
4335      {
4336    if (conf_parser_ctx.pass == 1)
4337 <    block_state.max_local.value = (yyvsp[(3) - (4)].number);
4337 >    block_state.max_global.value = (yyvsp[-1].number);
4338   }
4339 + #line 4340 "conf_parser.c" /* yacc.c:1646  */
4340      break;
4341  
4342    case 244:
4343 < /* Line 1787 of yacc.c  */
4623 < #line 1446 "conf_parser.y"
4343 > #line 1504 "conf_parser.y" /* yacc.c:1646  */
4344      {
4345    if (conf_parser_ctx.pass == 1)
4346 <    block_state.max_ident.value = (yyvsp[(3) - (4)].number);
4346 >    block_state.max_local.value = (yyvsp[-1].number);
4347   }
4348 + #line 4349 "conf_parser.c" /* yacc.c:1646  */
4349      break;
4350  
4351    case 245:
4352 < /* Line 1787 of yacc.c  */
4632 < #line 1452 "conf_parser.y"
4352 > #line 1510 "conf_parser.y" /* yacc.c:1646  */
4353      {
4354    if (conf_parser_ctx.pass == 1)
4355 <    block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
4355 >    block_state.max_ident.value = (yyvsp[-1].number);
4356   }
4357 + #line 4358 "conf_parser.c" /* yacc.c:1646  */
4358      break;
4359  
4360    case 246:
4361 < /* Line 1787 of yacc.c  */
4641 < #line 1458 "conf_parser.y"
4361 > #line 1516 "conf_parser.y" /* yacc.c:1646  */
4362      {
4363    if (conf_parser_ctx.pass == 1)
4364 <    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4645 <      block_state.max_recvq.value = (yyvsp[(3) - (4)].number);
4364 >    block_state.max_sendq.value = (yyvsp[-1].number);
4365   }
4366 + #line 4367 "conf_parser.c" /* yacc.c:1646  */
4367      break;
4368  
4369    case 247:
4370 < /* Line 1787 of yacc.c  */
4651 < #line 1465 "conf_parser.y"
4370 > #line 1522 "conf_parser.y" /* yacc.c:1646  */
4371      {
4372    if (conf_parser_ctx.pass == 1)
4373 <    block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4373 >    if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4374 >      block_state.max_recvq.value = (yyvsp[-1].number);
4375   }
4376 + #line 4377 "conf_parser.c" /* yacc.c:1646  */
4377      break;
4378  
4379    case 248:
4380 < /* Line 1787 of yacc.c  */
4660 < #line 1471 "conf_parser.y"
4380 > #line 1529 "conf_parser.y" /* yacc.c:1646  */
4381      {
4382    if (conf_parser_ctx.pass == 1)
4383 <    block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4383 >    block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4384   }
4385 + #line 4386 "conf_parser.c" /* yacc.c:1646  */
4386      break;
4387  
4388    case 249:
4389 < /* Line 1787 of yacc.c  */
4669 < #line 1477 "conf_parser.y"
4389 > #line 1535 "conf_parser.y" /* yacc.c:1646  */
4390      {
4391    if (conf_parser_ctx.pass == 1)
4392 <    block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
4392 >    block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4393   }
4394 + #line 4395 "conf_parser.c" /* yacc.c:1646  */
4395      break;
4396  
4397    case 250:
4398 < /* Line 1787 of yacc.c  */
4399 < #line 1483 "conf_parser.y"
4398 > #line 1541 "conf_parser.y" /* yacc.c:1646  */
4399 >    {
4400 >  if (conf_parser_ctx.pass == 1)
4401 >    block_state.number_per_cidr.value = (yyvsp[-1].number);
4402 > }
4403 > #line 4404 "conf_parser.c" /* yacc.c:1646  */
4404 >    break;
4405 >
4406 >  case 251:
4407 > #line 1547 "conf_parser.y" /* yacc.c:1646  */
4408      {
4409    if (conf_parser_ctx.pass != 1)
4410      break;
4411  
4412 <  block_state.min_idle.value = (yyvsp[(3) - (4)].number);
4412 >  block_state.min_idle.value = (yyvsp[-1].number);
4413    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4414   }
4415 + #line 4416 "conf_parser.c" /* yacc.c:1646  */
4416      break;
4417  
4418 <  case 251:
4419 < /* Line 1787 of yacc.c  */
4690 < #line 1492 "conf_parser.y"
4418 >  case 252:
4419 > #line 1556 "conf_parser.y" /* yacc.c:1646  */
4420      {
4421    if (conf_parser_ctx.pass != 1)
4422      break;
4423  
4424 <  block_state.max_idle.value = (yyvsp[(3) - (4)].number);
4424 >  block_state.max_idle.value = (yyvsp[-1].number);
4425    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4426   }
4427 + #line 4428 "conf_parser.c" /* yacc.c:1646  */
4428      break;
4429  
4430 <  case 252:
4431 < /* Line 1787 of yacc.c  */
4702 < #line 1501 "conf_parser.y"
4430 >  case 253:
4431 > #line 1565 "conf_parser.y" /* yacc.c:1646  */
4432      {
4433    if (conf_parser_ctx.pass == 1)
4434      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4435   }
4436 + #line 4437 "conf_parser.c" /* yacc.c:1646  */
4437      break;
4438  
4439 <  case 256:
4440 < /* Line 1787 of yacc.c  */
4711 < #line 1508 "conf_parser.y"
4439 >  case 257:
4440 > #line 1572 "conf_parser.y" /* yacc.c:1646  */
4441      {
4442    if (conf_parser_ctx.pass == 1)
4443      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4444   }
4445 + #line 4446 "conf_parser.c" /* yacc.c:1646  */
4446      break;
4447  
4448 <  case 257:
4449 < /* Line 1787 of yacc.c  */
4720 < #line 1512 "conf_parser.y"
4448 >  case 258:
4449 > #line 1576 "conf_parser.y" /* yacc.c:1646  */
4450      {
4451    if (conf_parser_ctx.pass == 1)
4452      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4453   }
4454 + #line 4455 "conf_parser.c" /* yacc.c:1646  */
4455      break;
4456  
4457 <  case 258:
4458 < /* Line 1787 of yacc.c  */
4729 < #line 1522 "conf_parser.y"
4457 >  case 259:
4458 > #line 1586 "conf_parser.y" /* yacc.c:1646  */
4459      {
4460    if (conf_parser_ctx.pass == 2)
4461      reset_block_state();
4462   }
4463 + #line 4464 "conf_parser.c" /* yacc.c:1646  */
4464      break;
4465  
4466 <  case 260:
4467 < /* Line 1787 of yacc.c  */
4738 < #line 1528 "conf_parser.y"
4466 >  case 261:
4467 > #line 1592 "conf_parser.y" /* yacc.c:1646  */
4468      {
4469    block_state.flags.value = 0;
4470   }
4471 + #line 4472 "conf_parser.c" /* yacc.c:1646  */
4472      break;
4473  
4474 <  case 264:
4475 < /* Line 1787 of yacc.c  */
4746 < #line 1534 "conf_parser.y"
4474 >  case 265:
4475 > #line 1598 "conf_parser.y" /* yacc.c:1646  */
4476      {
4477    if (conf_parser_ctx.pass == 2)
4478      block_state.flags.value |= LISTENER_SSL;
4479   }
4480 + #line 4481 "conf_parser.c" /* yacc.c:1646  */
4481      break;
4482  
4483 <  case 265:
4484 < /* Line 1787 of yacc.c  */
4755 < #line 1538 "conf_parser.y"
4483 >  case 266:
4484 > #line 1602 "conf_parser.y" /* yacc.c:1646  */
4485      {
4486    if (conf_parser_ctx.pass == 2)
4487      block_state.flags.value |= LISTENER_HIDDEN;
4488   }
4489 + #line 4490 "conf_parser.c" /* yacc.c:1646  */
4490      break;
4491  
4492 <  case 266:
4493 < /* Line 1787 of yacc.c  */
4764 < #line 1542 "conf_parser.y"
4492 >  case 267:
4493 > #line 1606 "conf_parser.y" /* yacc.c:1646  */
4494      {
4495    if (conf_parser_ctx.pass == 2)
4496     block_state.flags.value |= LISTENER_SERVER;
4497   }
4498 + #line 4499 "conf_parser.c" /* yacc.c:1646  */
4499      break;
4500  
4501 <  case 274:
4502 < /* Line 1787 of yacc.c  */
4773 < #line 1550 "conf_parser.y"
4501 >  case 275:
4502 > #line 1614 "conf_parser.y" /* yacc.c:1646  */
4503      { block_state.flags.value = 0; }
4504 + #line 4505 "conf_parser.c" /* yacc.c:1646  */
4505      break;
4506  
4507 <  case 278:
4508 < /* Line 1787 of yacc.c  */
4779 < #line 1555 "conf_parser.y"
4507 >  case 279:
4508 > #line 1619 "conf_parser.y" /* yacc.c:1646  */
4509      {
4510    if (conf_parser_ctx.pass == 2)
4511    {
# Line 4786 | Line 4515 | yyreduce:
4515   #endif
4516        {
4517          conf_error_report("SSL not available - port closed");
4518 <        break;
4518 >        break;
4519        }
4520 <    add_listener((yyvsp[(1) - (1)].number), block_state.addr.buf, block_state.flags.value);
4520 >    add_listener((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4521    }
4522   }
4523 + #line 4524 "conf_parser.c" /* yacc.c:1646  */
4524      break;
4525  
4526 <  case 279:
4527 < /* Line 1787 of yacc.c  */
4798 < #line 1569 "conf_parser.y"
4526 >  case 280:
4527 > #line 1633 "conf_parser.y" /* yacc.c:1646  */
4528      {
4529    if (conf_parser_ctx.pass == 2)
4530    {
4802    int i;
4803
4531      if (block_state.flags.value & LISTENER_SSL)
4532   #ifdef HAVE_LIBCRYPTO
4533        if (!ServerInfo.server_ctx)
4534   #endif
4535        {
4536          conf_error_report("SSL not available - port closed");
4537 <        break;
4537 >        break;
4538        }
4539  
4540 <    for (i = (yyvsp[(1) - (3)].number); i <= (yyvsp[(3) - (3)].number); ++i)
4540 >    for (int i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4541        add_listener(i, block_state.addr.buf, block_state.flags.value);
4542    }
4543   }
4544 + #line 4545 "conf_parser.c" /* yacc.c:1646  */
4545      break;
4546  
4547 <  case 280:
4548 < /* Line 1787 of yacc.c  */
4821 < #line 1589 "conf_parser.y"
4547 >  case 281:
4548 > #line 1651 "conf_parser.y" /* yacc.c:1646  */
4549      {
4550    if (conf_parser_ctx.pass == 2)
4551      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4552   }
4553 + #line 4554 "conf_parser.c" /* yacc.c:1646  */
4554      break;
4555  
4556 <  case 281:
4557 < /* Line 1787 of yacc.c  */
4830 < #line 1595 "conf_parser.y"
4556 >  case 282:
4557 > #line 1657 "conf_parser.y" /* yacc.c:1646  */
4558      {
4559    if (conf_parser_ctx.pass == 2)
4560      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4561   }
4562 + #line 4563 "conf_parser.c" /* yacc.c:1646  */
4563      break;
4564  
4565 <  case 282:
4566 < /* Line 1787 of yacc.c  */
4839 < #line 1604 "conf_parser.y"
4565 >  case 283:
4566 > #line 1666 "conf_parser.y" /* yacc.c:1646  */
4567      {
4568    if (conf_parser_ctx.pass == 2)
4569      reset_block_state();
4570   }
4571 + #line 4572 "conf_parser.c" /* yacc.c:1646  */
4572      break;
4573  
4574 <  case 283:
4575 < /* Line 1787 of yacc.c  */
4848 < #line 1608 "conf_parser.y"
4574 >  case 284:
4575 > #line 1670 "conf_parser.y" /* yacc.c:1646  */
4576      {
4577    dlink_node *ptr = NULL;
4578  
# Line 4882 | Line 4609 | yyreduce:
4609      add_conf_by_address(CONF_CLIENT, conf);
4610    }
4611   }
4612 + #line 4613 "conf_parser.c" /* yacc.c:1646  */
4613      break;
4614  
4615 <  case 295:
4616 < /* Line 1787 of yacc.c  */
4889 < #line 1651 "conf_parser.y"
4615 >  case 296:
4616 > #line 1719 "conf_parser.y" /* yacc.c:1646  */
4617      {
4618    if (conf_parser_ctx.pass == 2)
4619      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4620   }
4621 + #line 4622 "conf_parser.c" /* yacc.c:1646  */
4622      break;
4623  
4624 <  case 296:
4625 < /* Line 1787 of yacc.c  */
4898 < #line 1657 "conf_parser.y"
4624 >  case 297:
4625 > #line 1725 "conf_parser.y" /* yacc.c:1646  */
4626      {
4627    if (conf_parser_ctx.pass == 2)
4628      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4629   }
4630 + #line 4631 "conf_parser.c" /* yacc.c:1646  */
4631      break;
4632  
4633 <  case 297:
4634 < /* Line 1787 of yacc.c  */
4907 < #line 1663 "conf_parser.y"
4633 >  case 298:
4634 > #line 1731 "conf_parser.y" /* yacc.c:1646  */
4635      {
4636    if (conf_parser_ctx.pass == 2)
4637      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4638   }
4639 + #line 4640 "conf_parser.c" /* yacc.c:1646  */
4640      break;
4641  
4642 <  case 298:
4643 < /* Line 1787 of yacc.c  */
4916 < #line 1669 "conf_parser.y"
4642 >  case 299:
4643 > #line 1737 "conf_parser.y" /* yacc.c:1646  */
4644      {
4645    if (conf_parser_ctx.pass == 2)
4646    {
# Line 4923 | Line 4650 | yyreduce:
4650        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4651    }
4652   }
4653 + #line 4654 "conf_parser.c" /* yacc.c:1646  */
4654      break;
4655  
4656 <  case 299:
4657 < /* Line 1787 of yacc.c  */
4930 < #line 1680 "conf_parser.y"
4656 >  case 300:
4657 > #line 1748 "conf_parser.y" /* yacc.c:1646  */
4658      {
4659    if (conf_parser_ctx.pass == 2)
4660      block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4661   }
4662 + #line 4663 "conf_parser.c" /* yacc.c:1646  */
4663      break;
4664  
4665 <  case 303:
4666 < /* Line 1787 of yacc.c  */
4939 < #line 1687 "conf_parser.y"
4665 >  case 304:
4666 > #line 1755 "conf_parser.y" /* yacc.c:1646  */
4667      {
4668    if (conf_parser_ctx.pass == 2)
4669      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4670   }
4671 + #line 4672 "conf_parser.c" /* yacc.c:1646  */
4672      break;
4673  
4674 <  case 304:
4675 < /* Line 1787 of yacc.c  */
4948 < #line 1691 "conf_parser.y"
4674 >  case 305:
4675 > #line 1759 "conf_parser.y" /* yacc.c:1646  */
4676      {
4677    if (conf_parser_ctx.pass == 2)
4678      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4679   }
4680 + #line 4681 "conf_parser.c" /* yacc.c:1646  */
4681      break;
4682  
4683 <  case 305:
4684 < /* Line 1787 of yacc.c  */
4957 < #line 1695 "conf_parser.y"
4683 >  case 306:
4684 > #line 1763 "conf_parser.y" /* yacc.c:1646  */
4685      {
4686    if (conf_parser_ctx.pass == 2)
4687      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4688   }
4689 + #line 4690 "conf_parser.c" /* yacc.c:1646  */
4690      break;
4691  
4692 <  case 306:
4693 < /* Line 1787 of yacc.c  */
4966 < #line 1699 "conf_parser.y"
4692 >  case 307:
4693 > #line 1767 "conf_parser.y" /* yacc.c:1646  */
4694      {
4695    if (conf_parser_ctx.pass == 2)
4696      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4697   }
4698 + #line 4699 "conf_parser.c" /* yacc.c:1646  */
4699      break;
4700  
4701 <  case 307:
4702 < /* Line 1787 of yacc.c  */
4975 < #line 1703 "conf_parser.y"
4701 >  case 308:
4702 > #line 1771 "conf_parser.y" /* yacc.c:1646  */
4703      {
4704    if (conf_parser_ctx.pass == 2)
4705      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4706   }
4707 + #line 4708 "conf_parser.c" /* yacc.c:1646  */
4708      break;
4709  
4710 <  case 308:
4711 < /* Line 1787 of yacc.c  */
4984 < #line 1707 "conf_parser.y"
4710 >  case 309:
4711 > #line 1775 "conf_parser.y" /* yacc.c:1646  */
4712      {
4713    if (conf_parser_ctx.pass == 2)
4714      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4715   }
4716 + #line 4717 "conf_parser.c" /* yacc.c:1646  */
4717      break;
4718  
4719 <  case 309:
4720 < /* Line 1787 of yacc.c  */
4993 < #line 1711 "conf_parser.y"
4719 >  case 310:
4720 > #line 1779 "conf_parser.y" /* yacc.c:1646  */
4721      {
4722    if (conf_parser_ctx.pass == 2)
4723      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4724   }
4725 + #line 4726 "conf_parser.c" /* yacc.c:1646  */
4726      break;
4727  
4728 <  case 310:
4729 < /* Line 1787 of yacc.c  */
5002 < #line 1715 "conf_parser.y"
4728 >  case 311:
4729 > #line 1783 "conf_parser.y" /* yacc.c:1646  */
4730      {
4731    if (conf_parser_ctx.pass == 2)
4732      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4733   }
4734 + #line 4735 "conf_parser.c" /* yacc.c:1646  */
4735      break;
4736  
4737 <  case 311:
4738 < /* Line 1787 of yacc.c  */
5011 < #line 1719 "conf_parser.y"
4737 >  case 312:
4738 > #line 1787 "conf_parser.y" /* yacc.c:1646  */
4739      {
4740    if (conf_parser_ctx.pass == 2)
4741      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4742   }
4743 + #line 4744 "conf_parser.c" /* yacc.c:1646  */
4744      break;
4745  
4746 <  case 312:
4747 < /* Line 1787 of yacc.c  */
5020 < #line 1723 "conf_parser.y"
4746 >  case 313:
4747 > #line 1791 "conf_parser.y" /* yacc.c:1646  */
4748      {
4749    if (conf_parser_ctx.pass == 2)
4750      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4751   }
4752 + #line 4753 "conf_parser.c" /* yacc.c:1646  */
4753      break;
4754  
4755 <  case 313:
4756 < /* Line 1787 of yacc.c  */
5029 < #line 1729 "conf_parser.y"
4755 >  case 314:
4756 > #line 1797 "conf_parser.y" /* yacc.c:1646  */
4757      {
4758    if (conf_parser_ctx.pass != 2)
4759      break;
4760  
4761 <  if (strlen(yylval.string) <= HOSTLEN && valid_hostname(yylval.string))
4761 >  if (valid_hostname(yylval.string))
4762    {
4763      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4764      block_state.flags.value |= CONF_FLAGS_SPOOF_IP;
# Line 5039 | Line 4766 | yyreduce:
4766    else
4767      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4768   }
4769 + #line 4770 "conf_parser.c" /* yacc.c:1646  */
4770      break;
4771  
4772 <  case 314:
4773 < /* Line 1787 of yacc.c  */
5046 < #line 1743 "conf_parser.y"
4772 >  case 315:
4773 > #line 1811 "conf_parser.y" /* yacc.c:1646  */
4774      {
4775    if (conf_parser_ctx.pass != 2)
4776      break;
# Line 5051 | Line 4778 | yyreduce:
4778    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4779    block_state.flags.value |= CONF_FLAGS_REDIR;
4780   }
4781 + #line 4782 "conf_parser.c" /* yacc.c:1646  */
4782      break;
4783  
4784 <  case 315:
4785 < /* Line 1787 of yacc.c  */
5058 < #line 1752 "conf_parser.y"
4784 >  case 316:
4785 > #line 1820 "conf_parser.y" /* yacc.c:1646  */
4786      {
4787    if (conf_parser_ctx.pass != 2)
4788      break;
4789  
4790    block_state.flags.value |= CONF_FLAGS_REDIR;
4791 <  block_state.port.value = (yyvsp[(3) - (4)].number);
4791 >  block_state.port.value = (yyvsp[-1].number);
4792   }
4793 + #line 4794 "conf_parser.c" /* yacc.c:1646  */
4794      break;
4795  
4796 <  case 316:
4797 < /* Line 1787 of yacc.c  */
5070 < #line 1765 "conf_parser.y"
4796 >  case 317:
4797 > #line 1833 "conf_parser.y" /* yacc.c:1646  */
4798      {
4799    if (conf_parser_ctx.pass != 2)
4800      break;
# Line 5075 | Line 4802 | yyreduce:
4802    reset_block_state();
4803    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4804   }
4805 + #line 4806 "conf_parser.c" /* yacc.c:1646  */
4806      break;
4807  
4808 <  case 317:
4809 < /* Line 1787 of yacc.c  */
5082 < #line 1772 "conf_parser.y"
4808 >  case 318:
4809 > #line 1840 "conf_parser.y" /* yacc.c:1646  */
4810      {
4811    if (conf_parser_ctx.pass != 2)
4812      break;
4813  
4814    create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4815   }
4816 + #line 4817 "conf_parser.c" /* yacc.c:1646  */
4817      break;
4818  
4819 <  case 324:
4820 < /* Line 1787 of yacc.c  */
5093 < #line 1783 "conf_parser.y"
4819 >  case 325:
4820 > #line 1851 "conf_parser.y" /* yacc.c:1646  */
4821      {
4822    if (conf_parser_ctx.pass == 2)
4823      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4824   }
4825 + #line 4826 "conf_parser.c" /* yacc.c:1646  */
4826      break;
4827  
4828 <  case 325:
4829 < /* Line 1787 of yacc.c  */
5102 < #line 1789 "conf_parser.y"
4828 >  case 326:
4829 > #line 1857 "conf_parser.y" /* yacc.c:1646  */
4830      {
4831    if (conf_parser_ctx.pass == 2)
4832      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4833   }
4834 + #line 4835 "conf_parser.c" /* yacc.c:1646  */
4835      break;
4836  
4837 <  case 326:
4838 < /* Line 1787 of yacc.c  */
5111 < #line 1795 "conf_parser.y"
4837 >  case 327:
4838 > #line 1863 "conf_parser.y" /* yacc.c:1646  */
4839      {
4840    if (conf_parser_ctx.pass == 2)
4841      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4842   }
4843 + #line 4844 "conf_parser.c" /* yacc.c:1646  */
4844      break;
4845  
4846 <  case 332:
4847 < /* Line 1787 of yacc.c  */
5120 < #line 1810 "conf_parser.y"
4846 >  case 333:
4847 > #line 1878 "conf_parser.y" /* yacc.c:1646  */
4848      {
4849    if (conf_parser_ctx.pass != 2)
4850      break;
# Line 5128 | Line 4855 | yyreduce:
4855      conf->name = xstrdup(yylval.string);
4856    }
4857   }
4858 + #line 4859 "conf_parser.c" /* yacc.c:1646  */
4859      break;
4860  
4861 <  case 333:
4862 < /* Line 1787 of yacc.c  */
5135 < #line 1825 "conf_parser.y"
4861 >  case 334:
4862 > #line 1893 "conf_parser.y" /* yacc.c:1646  */
4863      {
4864    if (conf_parser_ctx.pass != 2)
4865      break;
# Line 5144 | Line 4871 | yyreduce:
4871    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4872    block_state.flags.value = SHARED_ALL;
4873   }
4874 + #line 4875 "conf_parser.c" /* yacc.c:1646  */
4875      break;
4876  
4877 <  case 334:
4878 < /* Line 1787 of yacc.c  */
5151 < #line 1836 "conf_parser.y"
4877 >  case 335:
4878 > #line 1904 "conf_parser.y" /* yacc.c:1646  */
4879      {
4880    struct MaskItem *conf = NULL;
4881  
# Line 5161 | Line 4888 | yyreduce:
4888    conf->user = xstrdup(block_state.user.buf);
4889    conf->host = xstrdup(block_state.host.buf);
4890   }
4891 + #line 4892 "conf_parser.c" /* yacc.c:1646  */
4892      break;
4893  
4894 <  case 341:
4895 < /* Line 1787 of yacc.c  */
5168 < #line 1853 "conf_parser.y"
4894 >  case 342:
4895 > #line 1921 "conf_parser.y" /* yacc.c:1646  */
4896      {
4897    if (conf_parser_ctx.pass == 2)
4898      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4899   }
4900 + #line 4901 "conf_parser.c" /* yacc.c:1646  */
4901      break;
4902  
4903 <  case 342:
4904 < /* Line 1787 of yacc.c  */
5177 < #line 1859 "conf_parser.y"
4903 >  case 343:
4904 > #line 1927 "conf_parser.y" /* yacc.c:1646  */
4905      {
4906    if (conf_parser_ctx.pass == 2)
4907    {
# Line 5192 | Line 4919 | yyreduce:
4919      split_nuh(&nuh);
4920    }
4921   }
4922 + #line 4923 "conf_parser.c" /* yacc.c:1646  */
4923      break;
4924  
4925 <  case 343:
4926 < /* Line 1787 of yacc.c  */
5199 < #line 1878 "conf_parser.y"
4925 >  case 344:
4926 > #line 1946 "conf_parser.y" /* yacc.c:1646  */
4927      {
4928    if (conf_parser_ctx.pass == 2)
4929      block_state.flags.value = 0;
4930   }
4931 + #line 4932 "conf_parser.c" /* yacc.c:1646  */
4932      break;
4933  
4934 <  case 347:
4935 < /* Line 1787 of yacc.c  */
5208 < #line 1885 "conf_parser.y"
4934 >  case 348:
4935 > #line 1953 "conf_parser.y" /* yacc.c:1646  */
4936      {
4937    if (conf_parser_ctx.pass == 2)
4938      block_state.flags.value |= SHARED_KLINE;
4939   }
4940 + #line 4941 "conf_parser.c" /* yacc.c:1646  */
4941      break;
4942  
4943 <  case 348:
4944 < /* Line 1787 of yacc.c  */
5217 < #line 1889 "conf_parser.y"
4943 >  case 349:
4944 > #line 1957 "conf_parser.y" /* yacc.c:1646  */
4945      {
4946    if (conf_parser_ctx.pass == 2)
4947      block_state.flags.value |= SHARED_UNKLINE;
4948   }
4949 + #line 4950 "conf_parser.c" /* yacc.c:1646  */
4950      break;
4951  
4952 <  case 349:
4953 < /* Line 1787 of yacc.c  */
5226 < #line 1893 "conf_parser.y"
4952 >  case 350:
4953 > #line 1961 "conf_parser.y" /* yacc.c:1646  */
4954      {
4955    if (conf_parser_ctx.pass == 2)
4956      block_state.flags.value |= SHARED_DLINE;
4957   }
4958 + #line 4959 "conf_parser.c" /* yacc.c:1646  */
4959      break;
4960  
4961 <  case 350:
4962 < /* Line 1787 of yacc.c  */
5235 < #line 1897 "conf_parser.y"
4961 >  case 351:
4962 > #line 1965 "conf_parser.y" /* yacc.c:1646  */
4963      {
4964    if (conf_parser_ctx.pass == 2)
4965      block_state.flags.value |= SHARED_UNDLINE;
4966   }
4967 + #line 4968 "conf_parser.c" /* yacc.c:1646  */
4968      break;
4969  
4970 <  case 351:
4971 < /* Line 1787 of yacc.c  */
5244 < #line 1901 "conf_parser.y"
4970 >  case 352:
4971 > #line 1969 "conf_parser.y" /* yacc.c:1646  */
4972      {
4973    if (conf_parser_ctx.pass == 2)
4974      block_state.flags.value |= SHARED_XLINE;
4975   }
4976 + #line 4977 "conf_parser.c" /* yacc.c:1646  */
4977      break;
4978  
4979 <  case 352:
4980 < /* Line 1787 of yacc.c  */
5253 < #line 1905 "conf_parser.y"
4979 >  case 353:
4980 > #line 1973 "conf_parser.y" /* yacc.c:1646  */
4981      {
4982    if (conf_parser_ctx.pass == 2)
4983      block_state.flags.value |= SHARED_UNXLINE;
4984   }
4985 + #line 4986 "conf_parser.c" /* yacc.c:1646  */
4986      break;
4987  
4988 <  case 353:
4989 < /* Line 1787 of yacc.c  */
5262 < #line 1909 "conf_parser.y"
4988 >  case 354:
4989 > #line 1977 "conf_parser.y" /* yacc.c:1646  */
4990      {
4991    if (conf_parser_ctx.pass == 2)
4992      block_state.flags.value |= SHARED_RESV;
4993   }
4994 + #line 4995 "conf_parser.c" /* yacc.c:1646  */
4995      break;
4996  
4997 <  case 354:
4998 < /* Line 1787 of yacc.c  */
5271 < #line 1913 "conf_parser.y"
4997 >  case 355:
4998 > #line 1981 "conf_parser.y" /* yacc.c:1646  */
4999      {
5000    if (conf_parser_ctx.pass == 2)
5001      block_state.flags.value |= SHARED_UNRESV;
5002   }
5003 + #line 5004 "conf_parser.c" /* yacc.c:1646  */
5004      break;
5005  
5006 <  case 355:
5007 < /* Line 1787 of yacc.c  */
5280 < #line 1917 "conf_parser.y"
5006 >  case 356:
5007 > #line 1985 "conf_parser.y" /* yacc.c:1646  */
5008      {
5009    if (conf_parser_ctx.pass == 2)
5010      block_state.flags.value |= SHARED_LOCOPS;
5011   }
5012 + #line 5013 "conf_parser.c" /* yacc.c:1646  */
5013      break;
5014  
5015 <  case 356:
5016 < /* Line 1787 of yacc.c  */
5289 < #line 1921 "conf_parser.y"
5015 >  case 357:
5016 > #line 1989 "conf_parser.y" /* yacc.c:1646  */
5017      {
5018    if (conf_parser_ctx.pass == 2)
5019      block_state.flags.value = SHARED_ALL;
5020   }
5021 + #line 5022 "conf_parser.c" /* yacc.c:1646  */
5022      break;
5023  
5024 <  case 357:
5025 < /* Line 1787 of yacc.c  */
5298 < #line 1930 "conf_parser.y"
5024 >  case 358:
5025 > #line 1998 "conf_parser.y" /* yacc.c:1646  */
5026      {
5027    if (conf_parser_ctx.pass != 2)
5028      break;
# Line 5305 | Line 5032 | yyreduce:
5032    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5033    block_state.flags.value = SHARED_ALL;
5034   }
5035 + #line 5036 "conf_parser.c" /* yacc.c:1646  */
5036      break;
5037  
5038 <  case 358:
5039 < /* Line 1787 of yacc.c  */
5312 < #line 1939 "conf_parser.y"
5038 >  case 359:
5039 > #line 2007 "conf_parser.y" /* yacc.c:1646  */
5040      {
5041    struct MaskItem *conf = NULL;
5042  
# Line 5320 | Line 5047 | yyreduce:
5047    conf->flags = block_state.flags.value;
5048    conf->name = xstrdup(block_state.name.buf);
5049   }
5050 + #line 5051 "conf_parser.c" /* yacc.c:1646  */
5051      break;
5052  
5053 <  case 364:
5054 < /* Line 1787 of yacc.c  */
5327 < #line 1954 "conf_parser.y"
5053 >  case 365:
5054 > #line 2022 "conf_parser.y" /* yacc.c:1646  */
5055      {
5056    if (conf_parser_ctx.pass == 2)
5057      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5058   }
5059 + #line 5060 "conf_parser.c" /* yacc.c:1646  */
5060      break;
5061  
5062 <  case 365:
5063 < /* Line 1787 of yacc.c  */
5336 < #line 1960 "conf_parser.y"
5062 >  case 366:
5063 > #line 2028 "conf_parser.y" /* yacc.c:1646  */
5064      {
5065    if (conf_parser_ctx.pass == 2)
5066      block_state.flags.value = 0;
5067   }
5068 + #line 5069 "conf_parser.c" /* yacc.c:1646  */
5069      break;
5070  
5071 <  case 369:
5072 < /* Line 1787 of yacc.c  */
5345 < #line 1967 "conf_parser.y"
5071 >  case 370:
5072 > #line 2035 "conf_parser.y" /* yacc.c:1646  */
5073      {
5074    if (conf_parser_ctx.pass == 2)
5075      block_state.flags.value |= SHARED_KLINE;
5076   }
5077 + #line 5078 "conf_parser.c" /* yacc.c:1646  */
5078      break;
5079  
5080 <  case 370:
5081 < /* Line 1787 of yacc.c  */
5354 < #line 1971 "conf_parser.y"
5080 >  case 371:
5081 > #line 2039 "conf_parser.y" /* yacc.c:1646  */
5082      {
5083    if (conf_parser_ctx.pass == 2)
5084      block_state.flags.value |= SHARED_UNKLINE;
5085   }
5086 + #line 5087 "conf_parser.c" /* yacc.c:1646  */
5087      break;
5088  
5089 <  case 371:
5090 < /* Line 1787 of yacc.c  */
5363 < #line 1975 "conf_parser.y"
5089 >  case 372:
5090 > #line 2043 "conf_parser.y" /* yacc.c:1646  */
5091      {
5092    if (conf_parser_ctx.pass == 2)
5093      block_state.flags.value |= SHARED_DLINE;
5094   }
5095 + #line 5096 "conf_parser.c" /* yacc.c:1646  */
5096      break;
5097  
5098 <  case 372:
5099 < /* Line 1787 of yacc.c  */
5372 < #line 1979 "conf_parser.y"
5098 >  case 373:
5099 > #line 2047 "conf_parser.y" /* yacc.c:1646  */
5100      {
5101    if (conf_parser_ctx.pass == 2)
5102      block_state.flags.value |= SHARED_UNDLINE;
5103   }
5104 + #line 5105 "conf_parser.c" /* yacc.c:1646  */
5105      break;
5106  
5107 <  case 373:
5108 < /* Line 1787 of yacc.c  */
5381 < #line 1983 "conf_parser.y"
5107 >  case 374:
5108 > #line 2051 "conf_parser.y" /* yacc.c:1646  */
5109      {
5110    if (conf_parser_ctx.pass == 2)
5111      block_state.flags.value |= SHARED_XLINE;
5112   }
5113 + #line 5114 "conf_parser.c" /* yacc.c:1646  */
5114      break;
5115  
5116 <  case 374:
5117 < /* Line 1787 of yacc.c  */
5390 < #line 1987 "conf_parser.y"
5116 >  case 375:
5117 > #line 2055 "conf_parser.y" /* yacc.c:1646  */
5118      {
5119    if (conf_parser_ctx.pass == 2)
5120      block_state.flags.value |= SHARED_UNXLINE;
5121   }
5122 + #line 5123 "conf_parser.c" /* yacc.c:1646  */
5123      break;
5124  
5125 <  case 375:
5126 < /* Line 1787 of yacc.c  */
5399 < #line 1991 "conf_parser.y"
5125 >  case 376:
5126 > #line 2059 "conf_parser.y" /* yacc.c:1646  */
5127      {
5128    if (conf_parser_ctx.pass == 2)
5129      block_state.flags.value |= SHARED_RESV;
5130   }
5131 + #line 5132 "conf_parser.c" /* yacc.c:1646  */
5132      break;
5133  
5134 <  case 376:
5135 < /* Line 1787 of yacc.c  */
5408 < #line 1995 "conf_parser.y"
5134 >  case 377:
5135 > #line 2063 "conf_parser.y" /* yacc.c:1646  */
5136      {
5137    if (conf_parser_ctx.pass == 2)
5138      block_state.flags.value |= SHARED_UNRESV;
5139   }
5140 + #line 5141 "conf_parser.c" /* yacc.c:1646  */
5141      break;
5142  
5143 <  case 377:
5144 < /* Line 1787 of yacc.c  */
5417 < #line 1999 "conf_parser.y"
5143 >  case 378:
5144 > #line 2067 "conf_parser.y" /* yacc.c:1646  */
5145      {
5146    if (conf_parser_ctx.pass == 2)
5147      block_state.flags.value |= SHARED_LOCOPS;
5148   }
5149 + #line 5150 "conf_parser.c" /* yacc.c:1646  */
5150      break;
5151  
5152 <  case 378:
5153 < /* Line 1787 of yacc.c  */
5426 < #line 2003 "conf_parser.y"
5152 >  case 379:
5153 > #line 2071 "conf_parser.y" /* yacc.c:1646  */
5154      {
5155    if (conf_parser_ctx.pass == 2)
5156      block_state.flags.value = SHARED_ALL;
5157   }
5158 + #line 5159 "conf_parser.c" /* yacc.c:1646  */
5159      break;
5160  
5161 <  case 379:
5162 < /* Line 1787 of yacc.c  */
5435 < #line 2012 "conf_parser.y"
5161 >  case 380:
5162 > #line 2080 "conf_parser.y" /* yacc.c:1646  */
5163      {
5164  
5165    if (conf_parser_ctx.pass != 2)
5166      break;
5167  
5168    reset_block_state();
5169 +  block_state.aftype.value = AF_INET;
5170    block_state.port.value = PORTNUM;
5171   }
5172 + #line 5173 "conf_parser.c" /* yacc.c:1646  */
5173      break;
5174  
5175 <  case 380:
5176 < /* Line 1787 of yacc.c  */
5448 < #line 2020 "conf_parser.y"
5175 >  case 381:
5176 > #line 2089 "conf_parser.y" /* yacc.c:1646  */
5177      {
5178    struct MaskItem *conf = NULL;
5179    struct addrinfo hints, *res;
# Line 5473 | Line 5201 | yyreduce:
5201    conf->name = xstrdup(block_state.name.buf);
5202    conf->passwd = xstrdup(block_state.rpass.buf);
5203    conf->spasswd = xstrdup(block_state.spass.buf);
5204 <  conf->cipher_list = xstrdup(block_state.ciph.buf);
5204 >
5205 >  if (block_state.cert.buf[0])
5206 >    conf->certfp = xstrdup(block_state.cert.buf);
5207 >
5208 >  if (block_state.ciph.buf[0])
5209 >    conf->cipher_list = xstrdup(block_state.ciph.buf);
5210  
5211    dlinkMoveList(&block_state.leaf.list, &conf->leaf_list);
5212    dlinkMoveList(&block_state.hub.list, &conf->hub_list);
# Line 5490 | Line 5223 | yyreduce:
5223        ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", block_state.bind.buf);
5224      else
5225      {
5226 <      assert(res != NULL);
5226 >      assert(res);
5227  
5228        memcpy(&conf->bind, res->ai_addr, res->ai_addrlen);
5229        conf->bind.ss.ss_family = res->ai_family;
# Line 5502 | Line 5235 | yyreduce:
5235    conf_add_class_to_conf(conf, block_state.class.buf);
5236    lookup_confhost(conf);
5237   }
5238 + #line 5239 "conf_parser.c" /* yacc.c:1646  */
5239      break;
5240  
5241 <  case 397:
5242 < /* Line 1787 of yacc.c  */
5509 < #line 2086 "conf_parser.y"
5241 >  case 399:
5242 > #line 2169 "conf_parser.y" /* yacc.c:1646  */
5243      {
5244    if (conf_parser_ctx.pass == 2)
5245      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5246   }
5247 + #line 5248 "conf_parser.c" /* yacc.c:1646  */
5248      break;
5249  
5250 <  case 398:
5251 < /* Line 1787 of yacc.c  */
5518 < #line 2092 "conf_parser.y"
5250 >  case 400:
5251 > #line 2175 "conf_parser.y" /* yacc.c:1646  */
5252      {
5253    if (conf_parser_ctx.pass == 2)
5254      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5255   }
5256 + #line 5257 "conf_parser.c" /* yacc.c:1646  */
5257      break;
5258  
5259 <  case 399:
5260 < /* Line 1787 of yacc.c  */
5527 < #line 2098 "conf_parser.y"
5259 >  case 401:
5260 > #line 2181 "conf_parser.y" /* yacc.c:1646  */
5261      {
5262    if (conf_parser_ctx.pass == 2)
5263      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5264   }
5265 + #line 5266 "conf_parser.c" /* yacc.c:1646  */
5266      break;
5267  
5268 <  case 400:
5269 < /* Line 1787 of yacc.c  */
5536 < #line 2104 "conf_parser.y"
5268 >  case 402:
5269 > #line 2187 "conf_parser.y" /* yacc.c:1646  */
5270      {
5271    if (conf_parser_ctx.pass != 2)
5272      break;
5273  
5274 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5274 >  if ((yyvsp[-1].string)[0] == ':')
5275      conf_error_report("Server passwords cannot begin with a colon");
5276 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5276 >  else if (strchr((yyvsp[-1].string), ' '))
5277      conf_error_report("Server passwords cannot contain spaces");
5278    else
5279      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5280   }
5281 + #line 5282 "conf_parser.c" /* yacc.c:1646  */
5282      break;
5283  
5284 <  case 401:
5285 < /* Line 1787 of yacc.c  */
5552 < #line 2117 "conf_parser.y"
5284 >  case 403:
5285 > #line 2200 "conf_parser.y" /* yacc.c:1646  */
5286      {
5287    if (conf_parser_ctx.pass != 2)
5288      break;
5289  
5290 <  if ((yyvsp[(3) - (4)].string)[0] == ':')
5290 >  if ((yyvsp[-1].string)[0] == ':')
5291      conf_error_report("Server passwords cannot begin with a colon");
5292 <  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5292 >  else if (strchr((yyvsp[-1].string), ' '))
5293      conf_error_report("Server passwords cannot contain spaces");
5294    else
5295      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5296   }
5297 + #line 5298 "conf_parser.c" /* yacc.c:1646  */
5298      break;
5299  
5300 <  case 402:
5301 < /* Line 1787 of yacc.c  */
5568 < #line 2130 "conf_parser.y"
5300 >  case 404:
5301 > #line 2213 "conf_parser.y" /* yacc.c:1646  */
5302      {
5303    if (conf_parser_ctx.pass == 2)
5304 <    block_state.port.value = (yyvsp[(3) - (4)].number);
5304 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5305   }
5306 + #line 5307 "conf_parser.c" /* yacc.c:1646  */
5307      break;
5308  
5309 <  case 403:
5310 < /* Line 1787 of yacc.c  */
5311 < #line 2136 "conf_parser.y"
5309 >  case 405:
5310 > #line 2219 "conf_parser.y" /* yacc.c:1646  */
5311 >    {
5312 >  if (conf_parser_ctx.pass == 2)
5313 >    block_state.port.value = (yyvsp[-1].number);
5314 > }
5315 > #line 5316 "conf_parser.c" /* yacc.c:1646  */
5316 >    break;
5317 >
5318 >  case 406:
5319 > #line 2225 "conf_parser.y" /* yacc.c:1646  */
5320      {
5321    if (conf_parser_ctx.pass == 2)
5322      block_state.aftype.value = AF_INET;
5323   }
5324 + #line 5325 "conf_parser.c" /* yacc.c:1646  */
5325      break;
5326  
5327 <  case 404:
5328 < /* Line 1787 of yacc.c  */
5586 < #line 2140 "conf_parser.y"
5327 >  case 407:
5328 > #line 2229 "conf_parser.y" /* yacc.c:1646  */
5329      {
5330   #ifdef IPV6
5331    if (conf_parser_ctx.pass == 2)
5332      block_state.aftype.value = AF_INET6;
5333   #endif
5334   }
5335 + #line 5336 "conf_parser.c" /* yacc.c:1646  */
5336      break;
5337  
5338 <  case 405:
5339 < /* Line 1787 of yacc.c  */
5597 < #line 2148 "conf_parser.y"
5338 >  case 408:
5339 > #line 2237 "conf_parser.y" /* yacc.c:1646  */
5340      {
5341    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5342   }
5343 + #line 5344 "conf_parser.c" /* yacc.c:1646  */
5344      break;
5345  
5346 <  case 409:
5347 < /* Line 1787 of yacc.c  */
5605 < #line 2154 "conf_parser.y"
5346 >  case 412:
5347 > #line 2243 "conf_parser.y" /* yacc.c:1646  */
5348      {
5349    if (conf_parser_ctx.pass == 2)
5350      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5351   }
5352 + #line 5353 "conf_parser.c" /* yacc.c:1646  */
5353      break;
5354  
5355 <  case 410:
5356 < /* Line 1787 of yacc.c  */
5614 < #line 2158 "conf_parser.y"
5355 >  case 413:
5356 > #line 2247 "conf_parser.y" /* yacc.c:1646  */
5357      {
5358    if (conf_parser_ctx.pass == 2)
5359      block_state.flags.value |= CONF_FLAGS_SSL;
5360   }
5361 + #line 5362 "conf_parser.c" /* yacc.c:1646  */
5362      break;
5363  
5364 <  case 411:
5365 < /* Line 1787 of yacc.c  */
5623 < #line 2164 "conf_parser.y"
5364 >  case 414:
5365 > #line 2253 "conf_parser.y" /* yacc.c:1646  */
5366      {
5367    if (conf_parser_ctx.pass == 2)
5368    {
# Line 5630 | Line 5372 | yyreduce:
5372        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5373    }
5374   }
5375 + #line 5376 "conf_parser.c" /* yacc.c:1646  */
5376      break;
5377  
5378 <  case 412:
5379 < /* Line 1787 of yacc.c  */
5637 < #line 2175 "conf_parser.y"
5378 >  case 415:
5379 > #line 2264 "conf_parser.y" /* yacc.c:1646  */
5380      {
5381    if (conf_parser_ctx.pass == 2)
5382      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5383   }
5384 + #line 5385 "conf_parser.c" /* yacc.c:1646  */
5385      break;
5386  
5387 <  case 413:
5388 < /* Line 1787 of yacc.c  */
5646 < #line 2181 "conf_parser.y"
5387 >  case 416:
5388 > #line 2270 "conf_parser.y" /* yacc.c:1646  */
5389      {
5390    if (conf_parser_ctx.pass == 2)
5391      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5392   }
5393 + #line 5394 "conf_parser.c" /* yacc.c:1646  */
5394      break;
5395  
5396 <  case 414:
5397 < /* Line 1787 of yacc.c  */
5655 < #line 2187 "conf_parser.y"
5396 >  case 417:
5397 > #line 2276 "conf_parser.y" /* yacc.c:1646  */
5398      {
5399    if (conf_parser_ctx.pass == 2)
5400      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5401   }
5402 + #line 5403 "conf_parser.c" /* yacc.c:1646  */
5403      break;
5404  
5405 <  case 415:
5406 < /* Line 1787 of yacc.c  */
5664 < #line 2193 "conf_parser.y"
5405 >  case 418:
5406 > #line 2282 "conf_parser.y" /* yacc.c:1646  */
5407      {
5408   #ifdef HAVE_LIBCRYPTO
5409    if (conf_parser_ctx.pass == 2)
# Line 5671 | Line 5413 | yyreduce:
5413      conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5414   #endif
5415   }
5416 + #line 5417 "conf_parser.c" /* yacc.c:1646  */
5417      break;
5418  
5419 <  case 416:
5420 < /* Line 1787 of yacc.c  */
5678 < #line 2208 "conf_parser.y"
5419 >  case 419:
5420 > #line 2297 "conf_parser.y" /* yacc.c:1646  */
5421      {
5422    if (conf_parser_ctx.pass == 2)
5423      reset_block_state();
5424   }
5425 + #line 5426 "conf_parser.c" /* yacc.c:1646  */
5426      break;
5427  
5428 <  case 417:
5429 < /* Line 1787 of yacc.c  */
5687 < #line 2212 "conf_parser.y"
5428 >  case 420:
5429 > #line 2301 "conf_parser.y" /* yacc.c:1646  */
5430      {
5431    struct MaskItem *conf = NULL;
5432  
# Line 5705 | Line 5447 | yyreduce:
5447      conf->reason = xstrdup(CONF_NOREASON);
5448    add_conf_by_address(CONF_KLINE, conf);
5449   }
5450 + #line 5451 "conf_parser.c" /* yacc.c:1646  */
5451      break;
5452  
5453 <  case 423:
5454 < /* Line 1787 of yacc.c  */
5712 < #line 2237 "conf_parser.y"
5453 >  case 426:
5454 > #line 2326 "conf_parser.y" /* yacc.c:1646  */
5455      {
5456  
5457    if (conf_parser_ctx.pass == 2)
# Line 5728 | Line 5470 | yyreduce:
5470      split_nuh(&nuh);
5471    }
5472   }
5473 + #line 5474 "conf_parser.c" /* yacc.c:1646  */
5474      break;
5475  
5476 <  case 424:
5477 < /* Line 1787 of yacc.c  */
5735 < #line 2257 "conf_parser.y"
5476 >  case 427:
5477 > #line 2346 "conf_parser.y" /* yacc.c:1646  */
5478      {
5479    if (conf_parser_ctx.pass == 2)
5480      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5481   }
5482 + #line 5483 "conf_parser.c" /* yacc.c:1646  */
5483      break;
5484  
5485 <  case 425:
5486 < /* Line 1787 of yacc.c  */
5744 < #line 2266 "conf_parser.y"
5485 >  case 428:
5486 > #line 2355 "conf_parser.y" /* yacc.c:1646  */
5487      {
5488    if (conf_parser_ctx.pass == 2)
5489      reset_block_state();
5490   }
5491 + #line 5492 "conf_parser.c" /* yacc.c:1646  */
5492      break;
5493  
5494 <  case 426:
5495 < /* Line 1787 of yacc.c  */
5753 < #line 2270 "conf_parser.y"
5494 >  case 429:
5495 > #line 2359 "conf_parser.y" /* yacc.c:1646  */
5496      {
5497    struct MaskItem *conf = NULL;
5498  
# Line 5772 | Line 5514 | yyreduce:
5514      add_conf_by_address(CONF_DLINE, conf);
5515    }
5516   }
5517 + #line 5518 "conf_parser.c" /* yacc.c:1646  */
5518      break;
5519  
5520 <  case 432:
5521 < /* Line 1787 of yacc.c  */
5779 < #line 2296 "conf_parser.y"
5520 >  case 435:
5521 > #line 2385 "conf_parser.y" /* yacc.c:1646  */
5522      {
5523    if (conf_parser_ctx.pass == 2)
5524      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5525   }
5526 + #line 5527 "conf_parser.c" /* yacc.c:1646  */
5527      break;
5528  
5529 <  case 433:
5530 < /* Line 1787 of yacc.c  */
5788 < #line 2302 "conf_parser.y"
5529 >  case 436:
5530 > #line 2391 "conf_parser.y" /* yacc.c:1646  */
5531      {
5532    if (conf_parser_ctx.pass == 2)
5533      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5534   }
5535 + #line 5536 "conf_parser.c" /* yacc.c:1646  */
5536      break;
5537  
5538 <  case 439:
5539 < /* Line 1787 of yacc.c  */
5797 < #line 2316 "conf_parser.y"
5538 >  case 442:
5539 > #line 2405 "conf_parser.y" /* yacc.c:1646  */
5540      {
5541    if (conf_parser_ctx.pass == 2)
5542    {
# Line 5807 | Line 5549 | yyreduce:
5549      }
5550    }
5551   }
5552 + #line 5553 "conf_parser.c" /* yacc.c:1646  */
5553      break;
5554  
5555 <  case 440:
5556 < /* Line 1787 of yacc.c  */
5814 < #line 2333 "conf_parser.y"
5555 >  case 443:
5556 > #line 2422 "conf_parser.y" /* yacc.c:1646  */
5557      {
5558    if (conf_parser_ctx.pass == 2)
5559      reset_block_state();
5560   }
5561 + #line 5562 "conf_parser.c" /* yacc.c:1646  */
5562      break;
5563  
5564 <  case 441:
5565 < /* Line 1787 of yacc.c  */
5823 < #line 2337 "conf_parser.y"
5564 >  case 444:
5565 > #line 2426 "conf_parser.y" /* yacc.c:1646  */
5566      {
5567    struct MaskItem *conf = NULL;
5568  
# Line 5838 | Line 5580 | yyreduce:
5580    else
5581      conf->reason = xstrdup(CONF_NOREASON);
5582   }
5583 + #line 5584 "conf_parser.c" /* yacc.c:1646  */
5584      break;
5585  
5586 <  case 447:
5587 < /* Line 1787 of yacc.c  */
5845 < #line 2359 "conf_parser.y"
5586 >  case 450:
5587 > #line 2448 "conf_parser.y" /* yacc.c:1646  */
5588      {
5589    if (conf_parser_ctx.pass == 2)
5590      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5591   }
5592 + #line 5593 "conf_parser.c" /* yacc.c:1646  */
5593      break;
5594  
5595 <  case 448:
5596 < /* Line 1787 of yacc.c  */
5854 < #line 2365 "conf_parser.y"
5595 >  case 451:
5596 > #line 2454 "conf_parser.y" /* yacc.c:1646  */
5597      {
5598    if (conf_parser_ctx.pass == 2)
5599      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5600   }
5601 <    break;
5860 <
5861 <  case 500:
5862 < /* Line 1787 of yacc.c  */
5863 < #line 2408 "conf_parser.y"
5864 <    {
5865 <  ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5866 < }
5867 <    break;
5868 <
5869 <  case 501:
5870 < /* Line 1787 of yacc.c  */
5871 < #line 2413 "conf_parser.y"
5872 <    {
5873 <  if (conf_parser_ctx.pass == 2)
5874 <    ConfigFileEntry.glines = yylval.number;
5875 < }
5876 <    break;
5877 <
5878 <  case 502:
5879 < /* Line 1787 of yacc.c  */
5880 < #line 2419 "conf_parser.y"
5881 <    {
5882 <  if (conf_parser_ctx.pass == 2)
5883 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5884 < }
5885 <    break;
5886 <
5887 <  case 503:
5888 < /* Line 1787 of yacc.c  */
5889 < #line 2425 "conf_parser.y"
5890 <    {
5891 <  if (conf_parser_ctx.pass == 2)
5892 <    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5893 < }
5601 > #line 5602 "conf_parser.c" /* yacc.c:1646  */
5602      break;
5603  
5604    case 504:
5605 < /* Line 1787 of yacc.c  */
5898 < #line 2431 "conf_parser.y"
5605 > #line 2518 "conf_parser.y" /* yacc.c:1646  */
5606      {
5607 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5607 >  ConfigFileEntry.max_watch = (yyvsp[-1].number);
5608   }
5609 + #line 5610 "conf_parser.c" /* yacc.c:1646  */
5610      break;
5611  
5612    case 505:
5613 < /* Line 1787 of yacc.c  */
5906 < #line 2436 "conf_parser.y"
5613 > #line 2523 "conf_parser.y" /* yacc.c:1646  */
5614      {
5615 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5615 >  if (conf_parser_ctx.pass == 2)
5616 >    ConfigFileEntry.cycle_on_host_change = yylval.number;
5617   }
5618 + #line 5619 "conf_parser.c" /* yacc.c:1646  */
5619      break;
5620  
5621    case 506:
5622 < /* Line 1787 of yacc.c  */
5914 < #line 2441 "conf_parser.y"
5622 > #line 2529 "conf_parser.y" /* yacc.c:1646  */
5623      {
5624 <  ConfigFileEntry.tkline_expire_notices = yylval.number;
5624 >  if (conf_parser_ctx.pass == 2)
5625 >    ConfigFileEntry.glines = yylval.number;
5626   }
5627 + #line 5628 "conf_parser.c" /* yacc.c:1646  */
5628      break;
5629  
5630    case 507:
5631 < /* Line 1787 of yacc.c  */
5922 < #line 2446 "conf_parser.y"
5631 > #line 2535 "conf_parser.y" /* yacc.c:1646  */
5632      {
5633 <  ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5633 >  if (conf_parser_ctx.pass == 2)
5634 >    ConfigFileEntry.gline_time = (yyvsp[-1].number);
5635   }
5636 + #line 5637 "conf_parser.c" /* yacc.c:1646  */
5637      break;
5638  
5639    case 508:
5640 < /* Line 1787 of yacc.c  */
5930 < #line 2451 "conf_parser.y"
5640 > #line 2541 "conf_parser.y" /* yacc.c:1646  */
5641      {
5642 <  ConfigFileEntry.hide_spoof_ips = yylval.number;
5642 >  if (conf_parser_ctx.pass == 2)
5643 >    ConfigFileEntry.gline_request_time = (yyvsp[-1].number);
5644   }
5645 + #line 5646 "conf_parser.c" /* yacc.c:1646  */
5646      break;
5647  
5648    case 509:
5649 < /* Line 1787 of yacc.c  */
5938 < #line 2456 "conf_parser.y"
5649 > #line 2547 "conf_parser.y" /* yacc.c:1646  */
5650      {
5651 <  ConfigFileEntry.ignore_bogus_ts = yylval.number;
5651 >  ConfigFileEntry.gline_min_cidr = (yyvsp[-1].number);
5652   }
5653 + #line 5654 "conf_parser.c" /* yacc.c:1646  */
5654      break;
5655  
5656    case 510:
5657 < /* Line 1787 of yacc.c  */
5946 < #line 2461 "conf_parser.y"
5657 > #line 2552 "conf_parser.y" /* yacc.c:1646  */
5658      {
5659 <  ConfigFileEntry.failed_oper_notice = yylval.number;
5659 >  ConfigFileEntry.gline_min_cidr6 = (yyvsp[-1].number);
5660   }
5661 + #line 5662 "conf_parser.c" /* yacc.c:1646  */
5662      break;
5663  
5664    case 511:
5665 < /* Line 1787 of yacc.c  */
5954 < #line 2466 "conf_parser.y"
5665 > #line 2557 "conf_parser.y" /* yacc.c:1646  */
5666      {
5667 <  ConfigFileEntry.anti_nick_flood = yylval.number;
5667 >  ConfigFileEntry.tkline_expire_notices = yylval.number;
5668   }
5669 + #line 5670 "conf_parser.c" /* yacc.c:1646  */
5670      break;
5671  
5672    case 512:
5673 < /* Line 1787 of yacc.c  */
5962 < #line 2471 "conf_parser.y"
5673 > #line 2562 "conf_parser.y" /* yacc.c:1646  */
5674      {
5675 <  ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5675 >  ConfigFileEntry.kill_chase_time_limit = (yyvsp[-1].number);
5676   }
5677 + #line 5678 "conf_parser.c" /* yacc.c:1646  */
5678      break;
5679  
5680    case 513:
5681 < /* Line 1787 of yacc.c  */
5970 < #line 2476 "conf_parser.y"
5681 > #line 2567 "conf_parser.y" /* yacc.c:1646  */
5682      {
5683 <  ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5683 >  ConfigFileEntry.hide_spoof_ips = yylval.number;
5684   }
5685 + #line 5686 "conf_parser.c" /* yacc.c:1646  */
5686      break;
5687  
5688    case 514:
5689 < /* Line 1787 of yacc.c  */
5978 < #line 2481 "conf_parser.y"
5689 > #line 2572 "conf_parser.y" /* yacc.c:1646  */
5690      {
5691 <  ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5691 >  ConfigFileEntry.ignore_bogus_ts = yylval.number;
5692   }
5693 + #line 5694 "conf_parser.c" /* yacc.c:1646  */
5694      break;
5695  
5696    case 515:
5697 < /* Line 1787 of yacc.c  */
5986 < #line 2486 "conf_parser.y"
5697 > #line 2577 "conf_parser.y" /* yacc.c:1646  */
5698      {
5699 <  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5699 >  ConfigFileEntry.failed_oper_notice = yylval.number;
5700   }
5701 + #line 5702 "conf_parser.c" /* yacc.c:1646  */
5702      break;
5703  
5704    case 516:
5705 < /* Line 1787 of yacc.c  */
5994 < #line 2491 "conf_parser.y"
5705 > #line 2582 "conf_parser.y" /* yacc.c:1646  */
5706      {
5707 <  ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
5707 >  ConfigFileEntry.anti_nick_flood = yylval.number;
5708   }
5709 + #line 5710 "conf_parser.c" /* yacc.c:1646  */
5710      break;
5711  
5712    case 517:
5713 < /* Line 1787 of yacc.c  */
6002 < #line 2496 "conf_parser.y"
5713 > #line 2587 "conf_parser.y" /* yacc.c:1646  */
5714      {
5715 <  if (conf_parser_ctx.pass == 2)
6005 <    ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
5715 >  ConfigFileEntry.max_nick_time = (yyvsp[-1].number);
5716   }
5717 + #line 5718 "conf_parser.c" /* yacc.c:1646  */
5718      break;
5719  
5720    case 518:
5721 < /* Line 1787 of yacc.c  */
6011 < #line 2502 "conf_parser.y"
5721 > #line 2592 "conf_parser.y" /* yacc.c:1646  */
5722      {
5723 <  if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6014 <  {
6015 <    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
6016 <    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
6017 <    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
6018 <    exit(0);
6019 <  }
5723 >  ConfigFileEntry.max_nick_changes = (yyvsp[-1].number);
5724   }
5725 + #line 5726 "conf_parser.c" /* yacc.c:1646  */
5726      break;
5727  
5728    case 519:
5729 < /* Line 1787 of yacc.c  */
6025 < #line 2513 "conf_parser.y"
5729 > #line 2597 "conf_parser.y" /* yacc.c:1646  */
5730      {
5731 <  ConfigFileEntry.invisible_on_connect = yylval.number;
5731 >  ConfigFileEntry.max_accept = (yyvsp[-1].number);
5732   }
5733 + #line 5734 "conf_parser.c" /* yacc.c:1646  */
5734      break;
5735  
5736    case 520:
5737 < /* Line 1787 of yacc.c  */
6033 < #line 2518 "conf_parser.y"
5737 > #line 2602 "conf_parser.y" /* yacc.c:1646  */
5738      {
5739 <  ConfigFileEntry.warn_no_nline = yylval.number;
5739 >  ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[-1].number);
5740   }
5741 + #line 5742 "conf_parser.c" /* yacc.c:1646  */
5742      break;
5743  
5744    case 521:
5745 < /* Line 1787 of yacc.c  */
6041 < #line 2523 "conf_parser.y"
5745 > #line 2607 "conf_parser.y" /* yacc.c:1646  */
5746      {
5747 <  ConfigFileEntry.stats_e_disabled = yylval.number;
5747 >  ConfigFileEntry.ts_warn_delta = (yyvsp[-1].number);
5748   }
5749 + #line 5750 "conf_parser.c" /* yacc.c:1646  */
5750      break;
5751  
5752    case 522:
5753 < /* Line 1787 of yacc.c  */
6049 < #line 2528 "conf_parser.y"
5753 > #line 2612 "conf_parser.y" /* yacc.c:1646  */
5754      {
5755 <  ConfigFileEntry.stats_o_oper_only = yylval.number;
5755 >  if (conf_parser_ctx.pass == 2)
5756 >    ConfigFileEntry.ts_max_delta = (yyvsp[-1].number);
5757   }
5758 + #line 5759 "conf_parser.c" /* yacc.c:1646  */
5759      break;
5760  
5761    case 523:
5762 < /* Line 1787 of yacc.c  */
6057 < #line 2533 "conf_parser.y"
5762 > #line 2618 "conf_parser.y" /* yacc.c:1646  */
5763      {
5764 <  ConfigFileEntry.stats_P_oper_only = yylval.number;
5764 >  if (((yyvsp[-1].number) > 0) && conf_parser_ctx.pass == 1)
5765 >  {
5766 >    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
5767 >    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
5768 >    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
5769 >    exit(0);
5770 >  }
5771   }
5772 + #line 5773 "conf_parser.c" /* yacc.c:1646  */
5773      break;
5774  
5775    case 524:
5776 < /* Line 1787 of yacc.c  */
6065 < #line 2538 "conf_parser.y"
5776 > #line 2629 "conf_parser.y" /* yacc.c:1646  */
5777      {
5778 <  ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5778 >  ConfigFileEntry.invisible_on_connect = yylval.number;
5779   }
5780 + #line 5781 "conf_parser.c" /* yacc.c:1646  */
5781      break;
5782  
5783    case 525:
5784 < /* Line 1787 of yacc.c  */
6073 < #line 2541 "conf_parser.y"
5784 > #line 2634 "conf_parser.y" /* yacc.c:1646  */
5785      {
5786 <  ConfigFileEntry.stats_k_oper_only = 1;
5786 >  ConfigFileEntry.warn_no_connect_block = yylval.number;
5787   }
5788 + #line 5789 "conf_parser.c" /* yacc.c:1646  */
5789      break;
5790  
5791    case 526:
5792 < /* Line 1787 of yacc.c  */
6081 < #line 2546 "conf_parser.y"
5792 > #line 2639 "conf_parser.y" /* yacc.c:1646  */
5793      {
5794 <  ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5794 >  ConfigFileEntry.stats_e_disabled = yylval.number;
5795   }
5796 + #line 5797 "conf_parser.c" /* yacc.c:1646  */
5797      break;
5798  
5799    case 527:
5800 < /* Line 1787 of yacc.c  */
6089 < #line 2549 "conf_parser.y"
5800 > #line 2644 "conf_parser.y" /* yacc.c:1646  */
5801      {
5802 <  ConfigFileEntry.stats_i_oper_only = 1;
5802 >  ConfigFileEntry.stats_o_oper_only = yylval.number;
5803   }
5804 + #line 5805 "conf_parser.c" /* yacc.c:1646  */
5805      break;
5806  
5807    case 528:
5808 < /* Line 1787 of yacc.c  */
6097 < #line 2554 "conf_parser.y"
5808 > #line 2649 "conf_parser.y" /* yacc.c:1646  */
5809      {
5810 <  ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
5810 >  ConfigFileEntry.stats_P_oper_only = yylval.number;
5811   }
5812 + #line 5813 "conf_parser.c" /* yacc.c:1646  */
5813      break;
5814  
5815    case 529:
5816 < /* Line 1787 of yacc.c  */
6105 < #line 2559 "conf_parser.y"
5816 > #line 2654 "conf_parser.y" /* yacc.c:1646  */
5817      {
5818 <  ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
5818 >  ConfigFileEntry.stats_u_oper_only = yylval.number;
5819   }
5820 + #line 5821 "conf_parser.c" /* yacc.c:1646  */
5821      break;
5822  
5823    case 530:
5824 < /* Line 1787 of yacc.c  */
6113 < #line 2564 "conf_parser.y"
5824 > #line 2659 "conf_parser.y" /* yacc.c:1646  */
5825      {
5826 <  ConfigFileEntry.opers_bypass_callerid = yylval.number;
5826 >  ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5827   }
5828 + #line 5829 "conf_parser.c" /* yacc.c:1646  */
5829      break;
5830  
5831    case 531:
5832 < /* Line 1787 of yacc.c  */
6121 < #line 2569 "conf_parser.y"
5832 > #line 2662 "conf_parser.y" /* yacc.c:1646  */
5833      {
5834 <  ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
5834 >  ConfigFileEntry.stats_k_oper_only = 1;
5835   }
5836 + #line 5837 "conf_parser.c" /* yacc.c:1646  */
5837      break;
5838  
5839    case 532:
5840 < /* Line 1787 of yacc.c  */
6129 < #line 2574 "conf_parser.y"
5840 > #line 2667 "conf_parser.y" /* yacc.c:1646  */
5841      {
5842 <  ConfigFileEntry.short_motd = yylval.number;
5842 >  ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5843   }
5844 + #line 5845 "conf_parser.c" /* yacc.c:1646  */
5845      break;
5846  
5847    case 533:
5848 < /* Line 1787 of yacc.c  */
6137 < #line 2579 "conf_parser.y"
5848 > #line 2670 "conf_parser.y" /* yacc.c:1646  */
5849      {
5850 <  ConfigFileEntry.no_oper_flood = yylval.number;
5850 >  ConfigFileEntry.stats_i_oper_only = 1;
5851   }
5852 + #line 5853 "conf_parser.c" /* yacc.c:1646  */
5853      break;
5854  
5855    case 534:
5856 < /* Line 1787 of yacc.c  */
6145 < #line 2584 "conf_parser.y"
5856 > #line 2675 "conf_parser.y" /* yacc.c:1646  */
5857      {
5858 <  ConfigFileEntry.true_no_oper_flood = yylval.number;
5858 >  ConfigFileEntry.pace_wait = (yyvsp[-1].number);
5859   }
5860 + #line 5861 "conf_parser.c" /* yacc.c:1646  */
5861      break;
5862  
5863    case 535:
5864 < /* Line 1787 of yacc.c  */
6153 < #line 2589 "conf_parser.y"
5864 > #line 2680 "conf_parser.y" /* yacc.c:1646  */
5865      {
5866 <  ConfigFileEntry.oper_pass_resv = yylval.number;
5866 >  ConfigFileEntry.caller_id_wait = (yyvsp[-1].number);
5867   }
5868 + #line 5869 "conf_parser.c" /* yacc.c:1646  */
5869      break;
5870  
5871    case 536:
5872 < /* Line 1787 of yacc.c  */
6161 < #line 2594 "conf_parser.y"
5872 > #line 2685 "conf_parser.y" /* yacc.c:1646  */
5873      {
5874 <  ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
5874 >  ConfigFileEntry.opers_bypass_callerid = yylval.number;
5875   }
5876 + #line 5877 "conf_parser.c" /* yacc.c:1646  */
5877      break;
5878  
5879    case 537:
5880 < /* Line 1787 of yacc.c  */
6169 < #line 2599 "conf_parser.y"
5880 > #line 2690 "conf_parser.y" /* yacc.c:1646  */
5881      {
5882 <  ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
5882 >  ConfigFileEntry.pace_wait_simple = (yyvsp[-1].number);
5883   }
5884 + #line 5885 "conf_parser.c" /* yacc.c:1646  */
5885      break;
5886  
5887    case 538:
5888 < /* Line 1787 of yacc.c  */
6177 < #line 2604 "conf_parser.y"
5888 > #line 2695 "conf_parser.y" /* yacc.c:1646  */
5889      {
5890 <  ConfigFileEntry.use_egd = yylval.number;
5890 >  ConfigFileEntry.short_motd = yylval.number;
5891   }
5892 + #line 5893 "conf_parser.c" /* yacc.c:1646  */
5893      break;
5894  
5895    case 539:
5896 < /* Line 1787 of yacc.c  */
6185 < #line 2609 "conf_parser.y"
5896 > #line 2700 "conf_parser.y" /* yacc.c:1646  */
5897      {
5898 <  if (conf_parser_ctx.pass == 2)
6188 <  {
6189 <    MyFree(ConfigFileEntry.egdpool_path);
6190 <    ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
6191 <  }
5898 >  ConfigFileEntry.no_oper_flood = yylval.number;
5899   }
5900 + #line 5901 "conf_parser.c" /* yacc.c:1646  */
5901      break;
5902  
5903    case 540:
5904 < /* Line 1787 of yacc.c  */
5905 < #line 2618 "conf_parser.y"
5904 > #line 2705 "conf_parser.y" /* yacc.c:1646  */
5905 >    {
5906 >  ConfigFileEntry.true_no_oper_flood = yylval.number;
5907 > }
5908 > #line 5909 "conf_parser.c" /* yacc.c:1646  */
5909 >    break;
5910 >
5911 >  case 541:
5912 > #line 2710 "conf_parser.y" /* yacc.c:1646  */
5913 >    {
5914 >  ConfigFileEntry.oper_pass_resv = yylval.number;
5915 > }
5916 > #line 5917 "conf_parser.c" /* yacc.c:1646  */
5917 >    break;
5918 >
5919 >  case 542:
5920 > #line 2715 "conf_parser.y" /* yacc.c:1646  */
5921 >    {
5922 >  ConfigFileEntry.dots_in_ident = (yyvsp[-1].number);
5923 > }
5924 > #line 5925 "conf_parser.c" /* yacc.c:1646  */
5925 >    break;
5926 >
5927 >  case 543:
5928 > #line 2720 "conf_parser.y" /* yacc.c:1646  */
5929 >    {
5930 >  ConfigFileEntry.max_targets = (yyvsp[-1].number);
5931 > }
5932 > #line 5933 "conf_parser.c" /* yacc.c:1646  */
5933 >    break;
5934 >
5935 >  case 544:
5936 > #line 2725 "conf_parser.y" /* yacc.c:1646  */
5937      {
5938    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
5939    {
# Line 6202 | Line 5941 | yyreduce:
5941      ConfigFileEntry.service_name = xstrdup(yylval.string);
5942    }
5943   }
5944 + #line 5945 "conf_parser.c" /* yacc.c:1646  */
5945      break;
5946  
5947 <  case 541:
5948 < /* Line 1787 of yacc.c  */
6209 < #line 2627 "conf_parser.y"
5947 >  case 545:
5948 > #line 2734 "conf_parser.y" /* yacc.c:1646  */
5949      {
5950    ConfigFileEntry.ping_cookie = yylval.number;
5951   }
5952 + #line 5953 "conf_parser.c" /* yacc.c:1646  */
5953      break;
5954  
5955 <  case 542:
5956 < /* Line 1787 of yacc.c  */
6217 < #line 2632 "conf_parser.y"
5955 >  case 546:
5956 > #line 2739 "conf_parser.y" /* yacc.c:1646  */
5957      {
5958    ConfigFileEntry.disable_auth = yylval.number;
5959   }
5960 + #line 5961 "conf_parser.c" /* yacc.c:1646  */
5961      break;
5962  
5963 <  case 543:
5964 < /* Line 1787 of yacc.c  */
6225 < #line 2637 "conf_parser.y"
5963 >  case 547:
5964 > #line 2744 "conf_parser.y" /* yacc.c:1646  */
5965      {
5966 <  ConfigFileEntry.throttle_time = yylval.number;
5966 >  ConfigFileEntry.throttle_count = (yyvsp[-1].number);
5967   }
5968 + #line 5969 "conf_parser.c" /* yacc.c:1646  */
5969      break;
5970  
5971 <  case 544:
5972 < /* Line 1787 of yacc.c  */
5973 < #line 2642 "conf_parser.y"
5971 >  case 548:
5972 > #line 2749 "conf_parser.y" /* yacc.c:1646  */
5973 >    {
5974 >  ConfigFileEntry.throttle_time = (yyvsp[-1].number);
5975 > }
5976 > #line 5977 "conf_parser.c" /* yacc.c:1646  */
5977 >    break;
5978 >
5979 >  case 549:
5980 > #line 2754 "conf_parser.y" /* yacc.c:1646  */
5981      {
5982    ConfigFileEntry.oper_umodes = 0;
5983   }
5984 + #line 5985 "conf_parser.c" /* yacc.c:1646  */
5985      break;
5986  
5987 <  case 548:
5988 < /* Line 1787 of yacc.c  */
6241 < #line 2648 "conf_parser.y"
5987 >  case 553:
5988 > #line 2760 "conf_parser.y" /* yacc.c:1646  */
5989      {
5990    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
5991   }
5992 + #line 5993 "conf_parser.c" /* yacc.c:1646  */
5993      break;
5994  
5995 <  case 549:
5996 < /* Line 1787 of yacc.c  */
6249 < #line 2651 "conf_parser.y"
5995 >  case 554:
5996 > #line 2763 "conf_parser.y" /* yacc.c:1646  */
5997      {
5998    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
5999   }
6000 + #line 6001 "conf_parser.c" /* yacc.c:1646  */
6001      break;
6002  
6003 <  case 550:
6004 < /* Line 1787 of yacc.c  */
6257 < #line 2654 "conf_parser.y"
6003 >  case 555:
6004 > #line 2766 "conf_parser.y" /* yacc.c:1646  */
6005      {
6006    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6007   }
6008 + #line 6009 "conf_parser.c" /* yacc.c:1646  */
6009      break;
6010  
6011 <  case 551:
6012 < /* Line 1787 of yacc.c  */
6265 < #line 2657 "conf_parser.y"
6011 >  case 556:
6012 > #line 2769 "conf_parser.y" /* yacc.c:1646  */
6013      {
6014    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6015   }
6016 + #line 6017 "conf_parser.c" /* yacc.c:1646  */
6017      break;
6018  
6019 <  case 552:
6020 < /* Line 1787 of yacc.c  */
6273 < #line 2660 "conf_parser.y"
6019 >  case 557:
6020 > #line 2772 "conf_parser.y" /* yacc.c:1646  */
6021      {
6022    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6023   }
6024 + #line 6025 "conf_parser.c" /* yacc.c:1646  */
6025      break;
6026  
6027 <  case 553:
6028 < /* Line 1787 of yacc.c  */
6281 < #line 2663 "conf_parser.y"
6027 >  case 558:
6028 > #line 2775 "conf_parser.y" /* yacc.c:1646  */
6029      {
6030    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6031   }
6032 + #line 6033 "conf_parser.c" /* yacc.c:1646  */
6033      break;
6034  
6035 <  case 554:
6036 < /* Line 1787 of yacc.c  */
6037 < #line 2666 "conf_parser.y"
6035 >  case 559:
6036 > #line 2778 "conf_parser.y" /* yacc.c:1646  */
6037 >    {
6038 >  ConfigFileEntry.oper_umodes |= UMODE_HIDECHANS;
6039 > }
6040 > #line 6041 "conf_parser.c" /* yacc.c:1646  */
6041 >    break;
6042 >
6043 >  case 560:
6044 > #line 2781 "conf_parser.y" /* yacc.c:1646  */
6045 >    {
6046 >  ConfigFileEntry.oper_umodes |= UMODE_HIDEIDLE;
6047 > }
6048 > #line 6049 "conf_parser.c" /* yacc.c:1646  */
6049 >    break;
6050 >
6051 >  case 561:
6052 > #line 2784 "conf_parser.y" /* yacc.c:1646  */
6053      {
6054    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6055   }
6056 + #line 6057 "conf_parser.c" /* yacc.c:1646  */
6057      break;
6058  
6059 <  case 555:
6060 < /* Line 1787 of yacc.c  */
6297 < #line 2669 "conf_parser.y"
6059 >  case 562:
6060 > #line 2787 "conf_parser.y" /* yacc.c:1646  */
6061      {
6062    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6063   }
6064 + #line 6065 "conf_parser.c" /* yacc.c:1646  */
6065      break;
6066  
6067 <  case 556:
6068 < /* Line 1787 of yacc.c  */
6305 < #line 2672 "conf_parser.y"
6067 >  case 563:
6068 > #line 2790 "conf_parser.y" /* yacc.c:1646  */
6069      {
6070    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6071   }
6072 + #line 6073 "conf_parser.c" /* yacc.c:1646  */
6073      break;
6074  
6075 <  case 557:
6076 < /* Line 1787 of yacc.c  */
6313 < #line 2675 "conf_parser.y"
6075 >  case 564:
6076 > #line 2793 "conf_parser.y" /* yacc.c:1646  */
6077      {
6078    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6079   }
6080 + #line 6081 "conf_parser.c" /* yacc.c:1646  */
6081      break;
6082  
6083 <  case 558:
6084 < /* Line 1787 of yacc.c  */
6321 < #line 2678 "conf_parser.y"
6083 >  case 565:
6084 > #line 2796 "conf_parser.y" /* yacc.c:1646  */
6085      {
6086    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6087   }
6088 + #line 6089 "conf_parser.c" /* yacc.c:1646  */
6089      break;
6090  
6091 <  case 559:
6092 < /* Line 1787 of yacc.c  */
6329 < #line 2681 "conf_parser.y"
6091 >  case 566:
6092 > #line 2799 "conf_parser.y" /* yacc.c:1646  */
6093      {
6094    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6095   }
6096 + #line 6097 "conf_parser.c" /* yacc.c:1646  */
6097      break;
6098  
6099 <  case 560:
6100 < /* Line 1787 of yacc.c  */
6337 < #line 2684 "conf_parser.y"
6338 <    {
6339 <  ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6340 < }
6341 <    break;
6342 <
6343 <  case 561:
6344 < /* Line 1787 of yacc.c  */
6345 < #line 2687 "conf_parser.y"
6099 >  case 567:
6100 > #line 2802 "conf_parser.y" /* yacc.c:1646  */
6101      {
6102    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6103   }
6104 + #line 6105 "conf_parser.c" /* yacc.c:1646  */
6105      break;
6106  
6107 <  case 562:
6108 < /* Line 1787 of yacc.c  */
6353 < #line 2690 "conf_parser.y"
6107 >  case 568:
6108 > #line 2805 "conf_parser.y" /* yacc.c:1646  */
6109      {
6110    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6111   }
6112 + #line 6113 "conf_parser.c" /* yacc.c:1646  */
6113      break;
6114  
6115 <  case 563:
6116 < /* Line 1787 of yacc.c  */
6361 < #line 2693 "conf_parser.y"
6115 >  case 569:
6116 > #line 2808 "conf_parser.y" /* yacc.c:1646  */
6117      {
6118    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6119   }
6120 + #line 6121 "conf_parser.c" /* yacc.c:1646  */
6121      break;
6122  
6123 <  case 564:
6124 < /* Line 1787 of yacc.c  */
6369 < #line 2696 "conf_parser.y"
6123 >  case 570:
6124 > #line 2811 "conf_parser.y" /* yacc.c:1646  */
6125      {
6126    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6127   }
6128 + #line 6129 "conf_parser.c" /* yacc.c:1646  */
6129      break;
6130  
6131 <  case 565:
6132 < /* Line 1787 of yacc.c  */
6377 < #line 2699 "conf_parser.y"
6131 >  case 571:
6132 > #line 2814 "conf_parser.y" /* yacc.c:1646  */
6133      {
6134    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6135   }
6136 + #line 6137 "conf_parser.c" /* yacc.c:1646  */
6137      break;
6138  
6139 <  case 566:
6140 < /* Line 1787 of yacc.c  */
6385 < #line 2702 "conf_parser.y"
6139 >  case 572:
6140 > #line 2817 "conf_parser.y" /* yacc.c:1646  */
6141      {
6142    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6143   }
6144 + #line 6145 "conf_parser.c" /* yacc.c:1646  */
6145      break;
6146  
6147 <  case 567:
6148 < /* Line 1787 of yacc.c  */
6393 < #line 2705 "conf_parser.y"
6147 >  case 573:
6148 > #line 2820 "conf_parser.y" /* yacc.c:1646  */
6149      {
6150    ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6151   }
6152 + #line 6153 "conf_parser.c" /* yacc.c:1646  */
6153      break;
6154  
6155 <  case 568:
6156 < /* Line 1787 of yacc.c  */
6401 < #line 2708 "conf_parser.y"
6155 >  case 574:
6156 > #line 2823 "conf_parser.y" /* yacc.c:1646  */
6157      {
6158    ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6159   }
6160 + #line 6161 "conf_parser.c" /* yacc.c:1646  */
6161      break;
6162  
6163 <  case 569:
6164 < /* Line 1787 of yacc.c  */
6409 < #line 2713 "conf_parser.y"
6163 >  case 575:
6164 > #line 2828 "conf_parser.y" /* yacc.c:1646  */
6165      {
6166    ConfigFileEntry.oper_only_umodes = 0;
6167   }
6168 + #line 6169 "conf_parser.c" /* yacc.c:1646  */
6169      break;
6170  
6171 <  case 573:
6172 < /* Line 1787 of yacc.c  */
6417 < #line 2719 "conf_parser.y"
6171 >  case 579:
6172 > #line 2834 "conf_parser.y" /* yacc.c:1646  */
6173      {
6174    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6175   }
6176 + #line 6177 "conf_parser.c" /* yacc.c:1646  */
6177      break;
6178  
6179 <  case 574:
6180 < /* Line 1787 of yacc.c  */
6425 < #line 2722 "conf_parser.y"
6179 >  case 580:
6180 > #line 2837 "conf_parser.y" /* yacc.c:1646  */
6181      {
6182    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6183   }
6184 + #line 6185 "conf_parser.c" /* yacc.c:1646  */
6185      break;
6186  
6187 <  case 575:
6188 < /* Line 1787 of yacc.c  */
6433 < #line 2725 "conf_parser.y"
6187 >  case 581:
6188 > #line 2840 "conf_parser.y" /* yacc.c:1646  */
6189      {
6190    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6191   }
6192 + #line 6193 "conf_parser.c" /* yacc.c:1646  */
6193      break;
6194  
6195 <  case 576:
6196 < /* Line 1787 of yacc.c  */
6441 < #line 2728 "conf_parser.y"
6195 >  case 582:
6196 > #line 2843 "conf_parser.y" /* yacc.c:1646  */
6197      {
6198    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6199   }
6200 + #line 6201 "conf_parser.c" /* yacc.c:1646  */
6201      break;
6202  
6203 <  case 577:
6204 < /* Line 1787 of yacc.c  */
6205 < #line 2731 "conf_parser.y"
6450 <    {
6203 >  case 583:
6204 > #line 2846 "conf_parser.y" /* yacc.c:1646  */
6205 >    {
6206    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6207   }
6208 + #line 6209 "conf_parser.c" /* yacc.c:1646  */
6209      break;
6210  
6211 <  case 578:
6212 < /* Line 1787 of yacc.c  */
6457 < #line 2734 "conf_parser.y"
6211 >  case 584:
6212 > #line 2849 "conf_parser.y" /* yacc.c:1646  */
6213      {
6214    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6215   }
6216 + #line 6217 "conf_parser.c" /* yacc.c:1646  */
6217      break;
6218  
6219 <  case 579:
6220 < /* Line 1787 of yacc.c  */
6465 < #line 2737 "conf_parser.y"
6219 >  case 585:
6220 > #line 2852 "conf_parser.y" /* yacc.c:1646  */
6221      {
6222    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6223   }
6224 + #line 6225 "conf_parser.c" /* yacc.c:1646  */
6225      break;
6226  
6227 <  case 580:
6228 < /* Line 1787 of yacc.c  */
6473 < #line 2740 "conf_parser.y"
6227 >  case 586:
6228 > #line 2855 "conf_parser.y" /* yacc.c:1646  */
6229      {
6230    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6231   }
6232 + #line 6233 "conf_parser.c" /* yacc.c:1646  */
6233      break;
6234  
6235 <  case 581:
6236 < /* Line 1787 of yacc.c  */
6481 < #line 2743 "conf_parser.y"
6235 >  case 587:
6236 > #line 2858 "conf_parser.y" /* yacc.c:1646  */
6237      {
6238    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6239   }
6240 + #line 6241 "conf_parser.c" /* yacc.c:1646  */
6241      break;
6242  
6243 <  case 582:
6244 < /* Line 1787 of yacc.c  */
6489 < #line 2746 "conf_parser.y"
6243 >  case 588:
6244 > #line 2861 "conf_parser.y" /* yacc.c:1646  */
6245      {
6246    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6247   }
6248 + #line 6249 "conf_parser.c" /* yacc.c:1646  */
6249      break;
6250  
6251 <  case 583:
6252 < /* Line 1787 of yacc.c  */
6497 < #line 2749 "conf_parser.y"
6251 >  case 589:
6252 > #line 2864 "conf_parser.y" /* yacc.c:1646  */
6253      {
6254    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6255   }
6256 + #line 6257 "conf_parser.c" /* yacc.c:1646  */
6257      break;
6258  
6259 <  case 584:
6260 < /* Line 1787 of yacc.c  */
6505 < #line 2752 "conf_parser.y"
6259 >  case 590:
6260 > #line 2867 "conf_parser.y" /* yacc.c:1646  */
6261      {
6262    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6263   }
6264 + #line 6265 "conf_parser.c" /* yacc.c:1646  */
6265      break;
6266  
6267 <  case 585:
6268 < /* Line 1787 of yacc.c  */
6513 < #line 2755 "conf_parser.y"
6514 <    {
6515 <  ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6516 < }
6517 <    break;
6518 <
6519 <  case 586:
6520 < /* Line 1787 of yacc.c  */
6521 < #line 2758 "conf_parser.y"
6267 >  case 591:
6268 > #line 2870 "conf_parser.y" /* yacc.c:1646  */
6269      {
6270    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6271   }
6272 + #line 6273 "conf_parser.c" /* yacc.c:1646  */
6273      break;
6274  
6275 <  case 587:
6276 < /* Line 1787 of yacc.c  */
6529 < #line 2761 "conf_parser.y"
6275 >  case 592:
6276 > #line 2873 "conf_parser.y" /* yacc.c:1646  */
6277      {
6278    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6279   }
6280 + #line 6281 "conf_parser.c" /* yacc.c:1646  */
6281      break;
6282  
6283 <  case 588:
6284 < /* Line 1787 of yacc.c  */
6537 < #line 2764 "conf_parser.y"
6283 >  case 593:
6284 > #line 2876 "conf_parser.y" /* yacc.c:1646  */
6285      {
6286    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6287   }
6288 + #line 6289 "conf_parser.c" /* yacc.c:1646  */
6289      break;
6290  
6291 <  case 589:
6292 < /* Line 1787 of yacc.c  */
6545 < #line 2767 "conf_parser.y"
6291 >  case 594:
6292 > #line 2879 "conf_parser.y" /* yacc.c:1646  */
6293      {
6294    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6295   }
6296 + #line 6297 "conf_parser.c" /* yacc.c:1646  */
6297      break;
6298  
6299 <  case 590:
6300 < /* Line 1787 of yacc.c  */
6553 < #line 2770 "conf_parser.y"
6299 >  case 595:
6300 > #line 2882 "conf_parser.y" /* yacc.c:1646  */
6301      {
6302    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6303   }
6304 + #line 6305 "conf_parser.c" /* yacc.c:1646  */
6305      break;
6306  
6307 <  case 591:
6308 < /* Line 1787 of yacc.c  */
6561 < #line 2773 "conf_parser.y"
6307 >  case 596:
6308 > #line 2885 "conf_parser.y" /* yacc.c:1646  */
6309      {
6310    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6311   }
6312 + #line 6313 "conf_parser.c" /* yacc.c:1646  */
6313      break;
6314  
6315 <  case 592:
6316 < /* Line 1787 of yacc.c  */
6569 < #line 2776 "conf_parser.y"
6315 >  case 597:
6316 > #line 2888 "conf_parser.y" /* yacc.c:1646  */
6317      {
6318    ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6319   }
6320 + #line 6321 "conf_parser.c" /* yacc.c:1646  */
6321      break;
6322  
6323 <  case 593:
6324 < /* Line 1787 of yacc.c  */
6577 < #line 2779 "conf_parser.y"
6323 >  case 598:
6324 > #line 2891 "conf_parser.y" /* yacc.c:1646  */
6325      {
6326    ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6327   }
6328 + #line 6329 "conf_parser.c" /* yacc.c:1646  */
6329      break;
6330  
6331 <  case 594:
6332 < /* Line 1787 of yacc.c  */
6585 < #line 2784 "conf_parser.y"
6331 >  case 599:
6332 > #line 2896 "conf_parser.y" /* yacc.c:1646  */
6333      {
6334 <  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6334 >  ConfigFileEntry.min_nonwildcard = (yyvsp[-1].number);
6335   }
6336 + #line 6337 "conf_parser.c" /* yacc.c:1646  */
6337      break;
6338  
6339 <  case 595:
6340 < /* Line 1787 of yacc.c  */
6593 < #line 2789 "conf_parser.y"
6339 >  case 600:
6340 > #line 2901 "conf_parser.y" /* yacc.c:1646  */
6341      {
6342 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6342 >  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[-1].number);
6343   }
6344 + #line 6345 "conf_parser.c" /* yacc.c:1646  */
6345      break;
6346  
6347 <  case 596:
6348 < /* Line 1787 of yacc.c  */
6601 < #line 2794 "conf_parser.y"
6347 >  case 601:
6348 > #line 2906 "conf_parser.y" /* yacc.c:1646  */
6349      {
6350 <  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6350 >  ConfigFileEntry.default_floodcount = (yyvsp[-1].number);
6351   }
6352 + #line 6353 "conf_parser.c" /* yacc.c:1646  */
6353      break;
6354  
6355 <  case 613:
6356 < /* Line 1787 of yacc.c  */
6609 < #line 2817 "conf_parser.y"
6355 >  case 620:
6356 > #line 2935 "conf_parser.y" /* yacc.c:1646  */
6357      {
6358    ConfigChannel.disable_fake_channels = yylval.number;
6359   }
6360 + #line 6361 "conf_parser.c" /* yacc.c:1646  */
6361      break;
6362  
6363 <  case 614:
6364 < /* Line 1787 of yacc.c  */
6617 < #line 2822 "conf_parser.y"
6363 >  case 621:
6364 > #line 2940 "conf_parser.y" /* yacc.c:1646  */
6365      {
6366 <  ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6366 >  ConfigChannel.invite_client_count = (yyvsp[-1].number);
6367   }
6368 + #line 6369 "conf_parser.c" /* yacc.c:1646  */
6369      break;
6370  
6371 <  case 615:
6372 < /* Line 1787 of yacc.c  */
6625 < #line 2827 "conf_parser.y"
6371 >  case 622:
6372 > #line 2945 "conf_parser.y" /* yacc.c:1646  */
6373      {
6374 <  ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6374 >  ConfigChannel.invite_client_time = (yyvsp[-1].number);
6375   }
6376 + #line 6377 "conf_parser.c" /* yacc.c:1646  */
6377      break;
6378  
6379 <  case 616:
6380 < /* Line 1787 of yacc.c  */
6633 < #line 2832 "conf_parser.y"
6379 >  case 623:
6380 > #line 2950 "conf_parser.y" /* yacc.c:1646  */
6381      {
6382 <  ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6382 >  ConfigChannel.knock_client_count = (yyvsp[-1].number);
6383   }
6384 + #line 6385 "conf_parser.c" /* yacc.c:1646  */
6385      break;
6386  
6387 <  case 617:
6388 < /* Line 1787 of yacc.c  */
6641 < #line 2837 "conf_parser.y"
6387 >  case 624:
6388 > #line 2955 "conf_parser.y" /* yacc.c:1646  */
6389      {
6390 <  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6390 >  ConfigChannel.knock_client_time = (yyvsp[-1].number);
6391   }
6392 + #line 6393 "conf_parser.c" /* yacc.c:1646  */
6393      break;
6394  
6395 <  case 618:
6396 < /* Line 1787 of yacc.c  */
6649 < #line 2842 "conf_parser.y"
6395 >  case 625:
6396 > #line 2960 "conf_parser.y" /* yacc.c:1646  */
6397      {
6398 <  ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6398 >  ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6399   }
6400 + #line 6401 "conf_parser.c" /* yacc.c:1646  */
6401      break;
6402  
6403 <  case 619:
6404 < /* Line 1787 of yacc.c  */
6657 < #line 2847 "conf_parser.y"
6403 >  case 626:
6404 > #line 2965 "conf_parser.y" /* yacc.c:1646  */
6405      {
6406 <  ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6406 >  ConfigChannel.max_channels = (yyvsp[-1].number);
6407   }
6408 + #line 6409 "conf_parser.c" /* yacc.c:1646  */
6409      break;
6410  
6411 <  case 620:
6412 < /* Line 1787 of yacc.c  */
6665 < #line 2852 "conf_parser.y"
6411 >  case 627:
6412 > #line 2970 "conf_parser.y" /* yacc.c:1646  */
6413      {
6414 <  ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6414 >  ConfigChannel.max_bans = (yyvsp[-1].number);
6415   }
6416 + #line 6417 "conf_parser.c" /* yacc.c:1646  */
6417      break;
6418  
6419 <  case 621:
6420 < /* Line 1787 of yacc.c  */
6421 < #line 2857 "conf_parser.y"
6419 >  case 628:
6420 > #line 2975 "conf_parser.y" /* yacc.c:1646  */
6421 >    {
6422 >  ConfigChannel.default_split_user_count = (yyvsp[-1].number);
6423 > }
6424 > #line 6425 "conf_parser.c" /* yacc.c:1646  */
6425 >    break;
6426 >
6427 >  case 629:
6428 > #line 2980 "conf_parser.y" /* yacc.c:1646  */
6429 >    {
6430 >  ConfigChannel.default_split_server_count = (yyvsp[-1].number);
6431 > }
6432 > #line 6433 "conf_parser.c" /* yacc.c:1646  */
6433 >    break;
6434 >
6435 >  case 630:
6436 > #line 2985 "conf_parser.y" /* yacc.c:1646  */
6437      {
6438    ConfigChannel.no_create_on_split = yylval.number;
6439   }
6440 + #line 6441 "conf_parser.c" /* yacc.c:1646  */
6441      break;
6442  
6443 <  case 622:
6444 < /* Line 1787 of yacc.c  */
6681 < #line 2862 "conf_parser.y"
6443 >  case 631:
6444 > #line 2990 "conf_parser.y" /* yacc.c:1646  */
6445      {
6446    ConfigChannel.no_join_on_split = yylval.number;
6447   }
6448 + #line 6449 "conf_parser.c" /* yacc.c:1646  */
6449      break;
6450  
6451 <  case 623:
6452 < /* Line 1787 of yacc.c  */
6689 < #line 2867 "conf_parser.y"
6451 >  case 632:
6452 > #line 2995 "conf_parser.y" /* yacc.c:1646  */
6453      {
6454    GlobalSetOptions.joinfloodcount = yylval.number;
6455   }
6456 + #line 6457 "conf_parser.c" /* yacc.c:1646  */
6457      break;
6458  
6459 <  case 624:
6460 < /* Line 1787 of yacc.c  */
6697 < #line 2872 "conf_parser.y"
6459 >  case 633:
6460 > #line 3000 "conf_parser.y" /* yacc.c:1646  */
6461      {
6462 <  GlobalSetOptions.joinfloodtime = yylval.number;
6462 >  GlobalSetOptions.joinfloodtime = (yyvsp[-1].number);
6463   }
6464 + #line 6465 "conf_parser.c" /* yacc.c:1646  */
6465      break;
6466  
6467 <  case 637:
6468 < /* Line 1787 of yacc.c  */
6705 < #line 2892 "conf_parser.y"
6467 >  case 646:
6468 > #line 3022 "conf_parser.y" /* yacc.c:1646  */
6469      {
6470    if (conf_parser_ctx.pass == 2)
6471      ConfigServerHide.flatten_links = yylval.number;
6472   }
6473 + #line 6474 "conf_parser.c" /* yacc.c:1646  */
6474      break;
6475  
6476 <  case 638:
6477 < /* Line 1787 of yacc.c  */
6714 < #line 2898 "conf_parser.y"
6476 >  case 647:
6477 > #line 3028 "conf_parser.y" /* yacc.c:1646  */
6478      {
6479    if (conf_parser_ctx.pass == 2)
6480      ConfigServerHide.disable_remote_commands = yylval.number;
6481   }
6482 + #line 6483 "conf_parser.c" /* yacc.c:1646  */
6483      break;
6484  
6485 <  case 639:
6486 < /* Line 1787 of yacc.c  */
6723 < #line 2904 "conf_parser.y"
6485 >  case 648:
6486 > #line 3034 "conf_parser.y" /* yacc.c:1646  */
6487      {
6488    if (conf_parser_ctx.pass == 2)
6489      ConfigServerHide.hide_servers = yylval.number;
6490   }
6491 + #line 6492 "conf_parser.c" /* yacc.c:1646  */
6492      break;
6493  
6494 <  case 640:
6495 < /* Line 1787 of yacc.c  */
6732 < #line 2910 "conf_parser.y"
6494 >  case 649:
6495 > #line 3040 "conf_parser.y" /* yacc.c:1646  */
6496      {
6497    if (conf_parser_ctx.pass == 2)
6498      ConfigServerHide.hide_services = yylval.number;
6499   }
6500 + #line 6501 "conf_parser.c" /* yacc.c:1646  */
6501      break;
6502  
6503 <  case 641:
6504 < /* Line 1787 of yacc.c  */
6741 < #line 2916 "conf_parser.y"
6503 >  case 650:
6504 > #line 3046 "conf_parser.y" /* yacc.c:1646  */
6505      {
6506    if (conf_parser_ctx.pass == 2)
6507    {
# Line 6746 | Line 6509 | yyreduce:
6509      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6510    }
6511   }
6512 + #line 6513 "conf_parser.c" /* yacc.c:1646  */
6513      break;
6514  
6515 <  case 642:
6516 < /* Line 1787 of yacc.c  */
6753 < #line 2925 "conf_parser.y"
6515 >  case 651:
6516 > #line 3055 "conf_parser.y" /* yacc.c:1646  */
6517      {
6518    if (conf_parser_ctx.pass == 2)
6519    {
6520 <    if (((yyvsp[(3) - (4)].number) > 0) && ConfigServerHide.links_disabled == 1)
6520 >    if (((yyvsp[-1].number) > 0) && ConfigServerHide.links_disabled == 1)
6521      {
6522 <      eventAddIsh("write_links_file", write_links_file, NULL, (yyvsp[(3) - (4)].number));
6522 >      event_write_links_file.when = (yyvsp[-1].number);
6523 >      event_addish(&event_write_links_file, NULL);
6524        ConfigServerHide.links_disabled = 0;
6525      }
6526  
6527 <    ConfigServerHide.links_delay = (yyvsp[(3) - (4)].number);
6527 >    ConfigServerHide.links_delay = (yyvsp[-1].number);
6528    }
6529   }
6530 + #line 6531 "conf_parser.c" /* yacc.c:1646  */
6531      break;
6532  
6533 <  case 643:
6534 < /* Line 1787 of yacc.c  */
6770 < #line 2939 "conf_parser.y"
6533 >  case 652:
6534 > #line 3070 "conf_parser.y" /* yacc.c:1646  */
6535      {
6536    if (conf_parser_ctx.pass == 2)
6537      ConfigServerHide.hidden = yylval.number;
6538   }
6539 + #line 6540 "conf_parser.c" /* yacc.c:1646  */
6540      break;
6541  
6542 <  case 644:
6543 < /* Line 1787 of yacc.c  */
6779 < #line 2945 "conf_parser.y"
6542 >  case 653:
6543 > #line 3076 "conf_parser.y" /* yacc.c:1646  */
6544      {
6545    if (conf_parser_ctx.pass == 2)
6546      ConfigServerHide.hide_server_ips = yylval.number;
6547   }
6548 + #line 6549 "conf_parser.c" /* yacc.c:1646  */
6549      break;
6550  
6551  
6552 < /* Line 1787 of yacc.c  */
6788 < #line 6789 "conf_parser.c"
6552 > #line 6553 "conf_parser.c" /* yacc.c:1646  */
6553        default: break;
6554      }
6555    /* User semantic actions sometimes alter yychar, and that requires
# Line 6807 | Line 6571 | yyreduce:
6571  
6572    *++yyvsp = yyval;
6573  
6574 <  /* Now `shift' the result of the reduction.  Determine what state
6574 >  /* Now 'shift' the result of the reduction.  Determine what state
6575       that goes to, based on the state we popped back to and the rule
6576       number reduced by.  */
6577  
# Line 6822 | Line 6586 | yyreduce:
6586    goto yynewstate;
6587  
6588  
6589 < /*------------------------------------.
6590 < | yyerrlab -- here on detecting error |
6591 < `------------------------------------*/
6589 > /*--------------------------------------.
6590 > | yyerrlab -- here on detecting error.  |
6591 > `--------------------------------------*/
6592   yyerrlab:
6593    /* Make sure we have latest lookahead translation.  See comments at
6594       user semantic actions for why this is necessary.  */
# Line 6875 | Line 6639 | yyerrlab:
6639    if (yyerrstatus == 3)
6640      {
6641        /* If just tried and failed to reuse lookahead token after an
6642 <         error, discard it.  */
6642 >         error, discard it.  */
6643  
6644        if (yychar <= YYEOF)
6645 <        {
6646 <          /* Return failure if at end of input.  */
6647 <          if (yychar == YYEOF)
6648 <            YYABORT;
6649 <        }
6645 >        {
6646 >          /* Return failure if at end of input.  */
6647 >          if (yychar == YYEOF)
6648 >            YYABORT;
6649 >        }
6650        else
6651 <        {
6652 <          yydestruct ("Error: discarding",
6653 <                      yytoken, &yylval);
6654 <          yychar = YYEMPTY;
6655 <        }
6651 >        {
6652 >          yydestruct ("Error: discarding",
6653 >                      yytoken, &yylval);
6654 >          yychar = YYEMPTY;
6655 >        }
6656      }
6657  
6658    /* Else will try to reuse lookahead token after shifting the error
# Line 6907 | Line 6671 | yyerrorlab:
6671    if (/*CONSTCOND*/ 0)
6672       goto yyerrorlab;
6673  
6674 <  /* Do not reclaim the symbols of the rule which action triggered
6674 >  /* Do not reclaim the symbols of the rule whose action triggered
6675       this YYERROR.  */
6676    YYPOPSTACK (yylen);
6677    yylen = 0;
# Line 6920 | Line 6684 | yyerrorlab:
6684   | yyerrlab1 -- common code for both syntax error and YYERROR.  |
6685   `-------------------------------------------------------------*/
6686   yyerrlab1:
6687 <  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6687 >  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
6688  
6689    for (;;)
6690      {
6691        yyn = yypact[yystate];
6692        if (!yypact_value_is_default (yyn))
6693 <        {
6694 <          yyn += YYTERROR;
6695 <          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6696 <            {
6697 <              yyn = yytable[yyn];
6698 <              if (0 < yyn)
6699 <                break;
6700 <            }
6701 <        }
6693 >        {
6694 >          yyn += YYTERROR;
6695 >          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
6696 >            {
6697 >              yyn = yytable[yyn];
6698 >              if (0 < yyn)
6699 >                break;
6700 >            }
6701 >        }
6702  
6703        /* Pop the current state because it cannot handle the error token.  */
6704        if (yyssp == yyss)
6705 <        YYABORT;
6705 >        YYABORT;
6706  
6707  
6708        yydestruct ("Error: popping",
6709 <                  yystos[yystate], yyvsp);
6709 >                  yystos[yystate], yyvsp);
6710        YYPOPSTACK (1);
6711        yystate = *yyssp;
6712        YY_STACK_PRINT (yyss, yyssp);
# Line 6993 | Line 6757 | yyreturn:
6757        yydestruct ("Cleanup: discarding lookahead",
6758                    yytoken, &yylval);
6759      }
6760 <  /* Do not reclaim the symbols of the rule which action triggered
6760 >  /* Do not reclaim the symbols of the rule whose action triggered
6761       this YYABORT or YYACCEPT.  */
6762    YYPOPSTACK (yylen);
6763    YY_STACK_PRINT (yyss, yyssp);
6764    while (yyssp != yyss)
6765      {
6766        yydestruct ("Cleanup: popping",
6767 <                  yystos[*yyssp], yyvsp);
6767 >                  yystos[*yyssp], yyvsp);
6768        YYPOPSTACK (1);
6769      }
6770   #ifndef yyoverflow
# Line 7011 | Line 6775 | yyreturn:
6775    if (yymsg != yymsgbuf)
6776      YYSTACK_FREE (yymsg);
6777   #endif
6778 <  /* Make sure YYID is used.  */
7015 <  return YYID (yyresult);
6778 >  return yyresult;
6779   }
7017
7018

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)