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 6162 by michael, Thu Jun 18 10:56:46 2015 UTC vs.
Revision 7668 by michael, Wed Jul 20 17:09:49 2016 UTC

# Line 65 | Line 65
65   #line 28 "conf_parser.y" /* yacc.c:339  */
66  
67  
68 #include <sys/types.h>
69 #include <string.h>
70
68   #include "config.h"
69   #include "stdinc.h"
70   #include "ircd.h"
71   #include "list.h"
72   #include "conf.h"
73   #include "conf_class.h"
74 + #include "conf_cluster.h"
75 + #include "conf_gecos.h"
76   #include "conf_pseudo.h"
77 + #include "conf_resv.h"
78 + #include "conf_service.h"
79 + #include "conf_shared.h"
80   #include "event.h"
81   #include "id.h"
82   #include "log.h"
81 #include "client.h"     /* for UMODE_ALL only */
83   #include "irc_string.h"
84   #include "memory.h"
85   #include "modules.h"
86   #include "server.h"
87   #include "hostmask.h"
87 #include "send.h"
88   #include "listener.h"
89 #include "resv.h"
90 #include "numeric.h"
89   #include "user.h"
90   #include "motd.h"
91  
94 #ifdef HAVE_LIBCRYPTO
95 #include <openssl/rsa.h>
96 #include <openssl/bio.h>
97 #include <openssl/pem.h>
98 #include <openssl/dh.h>
99 #endif
100
101 #include "rsa.h"
102
92   int yylex(void);
93  
94   static struct
# Line 148 | Line 137 | static struct
137      max_total,
138      max_global,
139      max_local,
151    max_ident,
140      max_sendq,
141      max_recvq,
142      max_channels,
# Line 164 | Line 152 | reset_block_state(void)
152  
153    DLINK_FOREACH_SAFE(node, node_next, block_state.mask.list.head)
154    {
155 <    MyFree(node->data);
155 >    xfree(node->data);
156      dlinkDelete(node, &block_state.mask.list);
157      free_dlink_node(node);
158    }
159  
160    DLINK_FOREACH_SAFE(node, node_next, block_state.leaf.list.head)
161    {
162 <    MyFree(node->data);
162 >    xfree(node->data);
163      dlinkDelete(node, &block_state.leaf.list);
164      free_dlink_node(node);
165    }
166  
167    DLINK_FOREACH_SAFE(node, node_next, block_state.hub.list.head)
168    {
169 <    MyFree(node->data);
169 >    xfree(node->data);
170      dlinkDelete(node, &block_state.hub.list);
171      free_dlink_node(node);
172    }
# Line 187 | Line 175 | reset_block_state(void)
175   }
176  
177  
178 < #line 191 "conf_parser.c" /* yacc.c:339  */
178 > #line 179 "conf_parser.c" /* yacc.c:339  */
179  
180   # ifndef YY_NULLPTR
181   #  if defined __cplusplus && 201103L <= __cplusplus
# Line 236 | Line 224 | extern int yydebug;
224      CALLER_ID_WAIT = 269,
225      CAN_FLOOD = 270,
226      CHANNEL = 271,
227 <    CIDR_BITLEN_IPV4 = 272,
228 <    CIDR_BITLEN_IPV6 = 273,
229 <    CLASS = 274,
230 <    CONNECT = 275,
231 <    CONNECTFREQ = 276,
232 <    CYCLE_ON_HOST_CHANGE = 277,
233 <    DEFAULT_FLOODCOUNT = 278,
234 <    DEFAULT_JOIN_FLOOD_COUNT = 279,
235 <    DEFAULT_JOIN_FLOOD_TIME = 280,
236 <    DEFAULT_MAX_CLIENTS = 281,
237 <    DEFAULT_SPLIT_SERVER_COUNT = 282,
238 <    DEFAULT_SPLIT_USER_COUNT = 283,
227 >    CHECK_CACHE = 272,
228 >    CIDR_BITLEN_IPV4 = 273,
229 >    CIDR_BITLEN_IPV6 = 274,
230 >    CLASS = 275,
231 >    CLOSE = 276,
232 >    CONNECT = 277,
233 >    CONNECTFREQ = 278,
234 >    CYCLE_ON_HOST_CHANGE = 279,
235 >    DEFAULT_FLOODCOUNT = 280,
236 >    DEFAULT_JOIN_FLOOD_COUNT = 281,
237 >    DEFAULT_JOIN_FLOOD_TIME = 282,
238 >    DEFAULT_MAX_CLIENTS = 283,
239      DENY = 284,
240      DESCRIPTION = 285,
241      DIE = 286,
# Line 263 | Line 251 | extern int yydebug;
251      EXEMPT = 296,
252      FAILED_OPER_NOTICE = 297,
253      FLATTEN_LINKS = 298,
254 <    GECOS = 299,
255 <    GENERAL = 300,
256 <    HIDDEN = 301,
257 <    HIDDEN_NAME = 302,
258 <    HIDE_CHANS = 303,
259 <    HIDE_IDLE = 304,
260 <    HIDE_IDLE_FROM_OPERS = 305,
261 <    HIDE_SERVER_IPS = 306,
262 <    HIDE_SERVERS = 307,
263 <    HIDE_SERVICES = 308,
264 <    HOST = 309,
265 <    HUB = 310,
266 <    HUB_MASK = 311,
267 <    IGNORE_BOGUS_TS = 312,
268 <    INVISIBLE_ON_CONNECT = 313,
269 <    INVITE_CLIENT_COUNT = 314,
270 <    INVITE_CLIENT_TIME = 315,
271 <    IP = 316,
272 <    IRCD_AUTH = 317,
273 <    IRCD_FLAGS = 318,
274 <    IRCD_SID = 319,
275 <    KILL = 320,
276 <    KILL_CHASE_TIME_LIMIT = 321,
277 <    KLINE = 322,
278 <    KLINE_EXEMPT = 323,
279 <    KLINE_MIN_CIDR = 324,
280 <    KLINE_MIN_CIDR6 = 325,
281 <    KNOCK_CLIENT_COUNT = 326,
282 <    KNOCK_CLIENT_TIME = 327,
283 <    KNOCK_DELAY_CHANNEL = 328,
284 <    LEAF_MASK = 329,
285 <    LINKS_DELAY = 330,
286 <    LISTEN = 331,
287 <    MASK = 332,
288 <    MAX_ACCEPT = 333,
289 <    MAX_BANS = 334,
290 <    MAX_CHANNELS = 335,
291 <    MAX_GLOBAL = 336,
292 <    MAX_IDENT = 337,
293 <    MAX_IDLE = 338,
294 <    MAX_LOCAL = 339,
295 <    MAX_NICK_CHANGES = 340,
296 <    MAX_NICK_LENGTH = 341,
297 <    MAX_NICK_TIME = 342,
298 <    MAX_NUMBER = 343,
299 <    MAX_TARGETS = 344,
300 <    MAX_TOPIC_LENGTH = 345,
301 <    MAX_WATCH = 346,
302 <    MIN_IDLE = 347,
303 <    MIN_NONWILDCARD = 348,
304 <    MIN_NONWILDCARD_SIMPLE = 349,
305 <    MODULE = 350,
306 <    MODULES = 351,
307 <    MOTD = 352,
308 <    NAME = 353,
309 <    NEED_IDENT = 354,
310 <    NEED_PASSWORD = 355,
311 <    NETWORK_DESC = 356,
312 <    NETWORK_NAME = 357,
313 <    NICK = 358,
314 <    NO_CREATE_ON_SPLIT = 359,
315 <    NO_JOIN_ON_SPLIT = 360,
316 <    NO_OPER_FLOOD = 361,
317 <    NO_TILDE = 362,
318 <    NUMBER = 363,
319 <    NUMBER_PER_CIDR = 364,
320 <    NUMBER_PER_IP = 365,
321 <    OPER_ONLY_UMODES = 366,
322 <    OPER_PASS_RESV = 367,
323 <    OPER_UMODES = 368,
324 <    OPERATOR = 369,
325 <    OPERS_BYPASS_CALLERID = 370,
326 <    PACE_WAIT = 371,
327 <    PACE_WAIT_SIMPLE = 372,
328 <    PASSWORD = 373,
329 <    PATH = 374,
330 <    PING_COOKIE = 375,
331 <    PING_TIME = 376,
332 <    PORT = 377,
333 <    QSTRING = 378,
334 <    RANDOM_IDLE = 379,
335 <    REASON = 380,
336 <    REDIRPORT = 381,
337 <    REDIRSERV = 382,
338 <    REHASH = 383,
339 <    REMOTE = 384,
340 <    REMOTEBAN = 385,
341 <    RESV = 386,
342 <    RESV_EXEMPT = 387,
343 <    RSA_PRIVATE_KEY_FILE = 388,
344 <    RSA_PUBLIC_KEY_FILE = 389,
345 <    SECONDS = 390,
346 <    MINUTES = 391,
347 <    HOURS = 392,
348 <    DAYS = 393,
349 <    WEEKS = 394,
350 <    MONTHS = 395,
351 <    YEARS = 396,
352 <    SEND_PASSWORD = 397,
353 <    SENDQ = 398,
354 <    SERVERHIDE = 399,
355 <    SERVERINFO = 400,
356 <    SHORT_MOTD = 401,
357 <    SPOOF = 402,
358 <    SPOOF_NOTICE = 403,
359 <    SQUIT = 404,
360 <    SSL_CERTIFICATE_FILE = 405,
361 <    SSL_CERTIFICATE_FINGERPRINT = 406,
362 <    SSL_CONNECTION_REQUIRED = 407,
363 <    SSL_DH_ELLIPTIC_CURVE = 408,
364 <    SSL_DH_PARAM_FILE = 409,
365 <    SSL_MESSAGE_DIGEST_ALGORITHM = 410,
366 <    STATS_E_DISABLED = 411,
367 <    STATS_I_OPER_ONLY = 412,
368 <    STATS_K_OPER_ONLY = 413,
369 <    STATS_M_OPER_ONLY = 414,
370 <    STATS_O_OPER_ONLY = 415,
371 <    STATS_P_OPER_ONLY = 416,
372 <    STATS_U_OPER_ONLY = 417,
373 <    T_ALL = 418,
374 <    T_BOTS = 419,
375 <    T_CALLERID = 420,
376 <    T_CCONN = 421,
377 <    T_COMMAND = 422,
378 <    T_CLUSTER = 423,
379 <    T_DEAF = 424,
380 <    T_DEBUG = 425,
381 <    T_DLINE = 426,
382 <    T_EXTERNAL = 427,
383 <    T_FARCONNECT = 428,
384 <    T_FILE = 429,
385 <    T_FULL = 430,
386 <    T_GLOBOPS = 431,
387 <    T_INVISIBLE = 432,
388 <    T_IPV4 = 433,
389 <    T_IPV6 = 434,
390 <    T_LOCOPS = 435,
391 <    T_LOG = 436,
392 <    T_NCHANGE = 437,
393 <    T_NONONREG = 438,
394 <    T_OPME = 439,
395 <    T_PREPEND = 440,
396 <    T_PSEUDO = 441,
397 <    T_RECVQ = 442,
398 <    T_REJ = 443,
399 <    T_RESTART = 444,
400 <    T_SERVER = 445,
401 <    T_SERVICE = 446,
402 <    T_SERVNOTICE = 447,
403 <    T_SET = 448,
404 <    T_SHARED = 449,
405 <    T_SIZE = 450,
406 <    T_SKILL = 451,
407 <    T_SOFTCALLERID = 452,
408 <    T_SPY = 453,
409 <    T_SSL = 454,
410 <    T_SSL_CIPHER_LIST = 455,
411 <    T_TARGET = 456,
412 <    T_UMODES = 457,
413 <    T_UNAUTH = 458,
414 <    T_UNDLINE = 459,
415 <    T_UNLIMITED = 460,
416 <    T_UNRESV = 461,
417 <    T_UNXLINE = 462,
418 <    T_WALLOP = 463,
419 <    T_WALLOPS = 464,
420 <    T_WEBIRC = 465,
421 <    TBOOL = 466,
422 <    THROTTLE_COUNT = 467,
423 <    THROTTLE_TIME = 468,
424 <    TKLINE_EXPIRE_NOTICES = 469,
425 <    TMASKED = 470,
426 <    TS_MAX_DELTA = 471,
427 <    TS_WARN_DELTA = 472,
428 <    TWODOTS = 473,
429 <    TYPE = 474,
430 <    UNKLINE = 475,
431 <    USE_LOGGING = 476,
432 <    USER = 477,
433 <    VHOST = 478,
434 <    VHOST6 = 479,
435 <    WARN_NO_CONNECT_BLOCK = 480,
436 <    WHOIS = 481,
437 <    XLINE = 482,
438 <    XLINE_EXEMPT = 483
254 >    FLATTEN_LINKS_DELAY = 299,
255 >    FLATTEN_LINKS_FILE = 300,
256 >    GECOS = 301,
257 >    GENERAL = 302,
258 >    HIDDEN = 303,
259 >    HIDDEN_NAME = 304,
260 >    HIDE_CHANS = 305,
261 >    HIDE_IDLE = 306,
262 >    HIDE_IDLE_FROM_OPERS = 307,
263 >    HIDE_SERVER_IPS = 308,
264 >    HIDE_SERVERS = 309,
265 >    HIDE_SERVICES = 310,
266 >    HOST = 311,
267 >    HUB = 312,
268 >    HUB_MASK = 313,
269 >    IGNORE_BOGUS_TS = 314,
270 >    INVISIBLE_ON_CONNECT = 315,
271 >    INVITE_CLIENT_COUNT = 316,
272 >    INVITE_CLIENT_TIME = 317,
273 >    INVITE_DELAY_CHANNEL = 318,
274 >    IP = 319,
275 >    IRCD_AUTH = 320,
276 >    IRCD_FLAGS = 321,
277 >    IRCD_SID = 322,
278 >    JOIN = 323,
279 >    KILL = 324,
280 >    KILL_CHASE_TIME_LIMIT = 325,
281 >    KLINE = 326,
282 >    KLINE_EXEMPT = 327,
283 >    KLINE_MIN_CIDR = 328,
284 >    KLINE_MIN_CIDR6 = 329,
285 >    KNOCK_CLIENT_COUNT = 330,
286 >    KNOCK_CLIENT_TIME = 331,
287 >    KNOCK_DELAY_CHANNEL = 332,
288 >    LEAF_MASK = 333,
289 >    LIBGEOIP_DATABASE_OPTIONS = 334,
290 >    LIBGEOIP_IPV4_DATABASE_FILE = 335,
291 >    LIBGEOIP_IPV6_DATABASE_FILE = 336,
292 >    LISTEN = 337,
293 >    MASK = 338,
294 >    MAX_ACCEPT = 339,
295 >    MAX_BANS = 340,
296 >    MAX_CHANNELS = 341,
297 >    MAX_GLOBAL = 342,
298 >    MAX_IDLE = 343,
299 >    MAX_LOCAL = 344,
300 >    MAX_NICK_CHANGES = 345,
301 >    MAX_NICK_LENGTH = 346,
302 >    MAX_NICK_TIME = 347,
303 >    MAX_NUMBER = 348,
304 >    MAX_TARGETS = 349,
305 >    MAX_TOPIC_LENGTH = 350,
306 >    MAX_WATCH = 351,
307 >    MEMORY_CACHE = 352,
308 >    MIN_IDLE = 353,
309 >    MIN_NONWILDCARD = 354,
310 >    MIN_NONWILDCARD_SIMPLE = 355,
311 >    MMAP_CACHE = 356,
312 >    MODULE = 357,
313 >    MODULES = 358,
314 >    MOTD = 359,
315 >    NAME = 360,
316 >    NEED_IDENT = 361,
317 >    NEED_PASSWORD = 362,
318 >    NETWORK_DESC = 363,
319 >    NETWORK_NAME = 364,
320 >    NICK = 365,
321 >    NO_OPER_FLOOD = 366,
322 >    NO_TILDE = 367,
323 >    NUMBER = 368,
324 >    NUMBER_PER_CIDR = 369,
325 >    NUMBER_PER_IP = 370,
326 >    OPER_ONLY_UMODES = 371,
327 >    OPER_UMODES = 372,
328 >    OPERATOR = 373,
329 >    OPERS_BYPASS_CALLERID = 374,
330 >    PACE_WAIT = 375,
331 >    PACE_WAIT_SIMPLE = 376,
332 >    PASSWORD = 377,
333 >    PATH = 378,
334 >    PING_COOKIE = 379,
335 >    PING_TIME = 380,
336 >    PORT = 381,
337 >    QSTRING = 382,
338 >    RANDOM_IDLE = 383,
339 >    REASON = 384,
340 >    REDIRPORT = 385,
341 >    REDIRSERV = 386,
342 >    REHASH = 387,
343 >    REMOTE = 388,
344 >    REMOTEBAN = 389,
345 >    RESV = 390,
346 >    RESV_EXEMPT = 391,
347 >    RSA_PRIVATE_KEY_FILE = 392,
348 >    SECONDS = 393,
349 >    MINUTES = 394,
350 >    HOURS = 395,
351 >    DAYS = 396,
352 >    WEEKS = 397,
353 >    MONTHS = 398,
354 >    YEARS = 399,
355 >    SEND_PASSWORD = 400,
356 >    SENDQ = 401,
357 >    SERVERHIDE = 402,
358 >    SERVERINFO = 403,
359 >    SHORT_MOTD = 404,
360 >    SPOOF = 405,
361 >    SPOOF_NOTICE = 406,
362 >    SQUIT = 407,
363 >    SSL_CERTIFICATE_FILE = 408,
364 >    SSL_CERTIFICATE_FINGERPRINT = 409,
365 >    SSL_CONNECTION_REQUIRED = 410,
366 >    SSL_DH_ELLIPTIC_CURVE = 411,
367 >    SSL_DH_PARAM_FILE = 412,
368 >    SSL_MESSAGE_DIGEST_ALGORITHM = 413,
369 >    STANDARD = 414,
370 >    STATS_E_DISABLED = 415,
371 >    STATS_I_OPER_ONLY = 416,
372 >    STATS_K_OPER_ONLY = 417,
373 >    STATS_M_OPER_ONLY = 418,
374 >    STATS_O_OPER_ONLY = 419,
375 >    STATS_P_OPER_ONLY = 420,
376 >    STATS_U_OPER_ONLY = 421,
377 >    T_ALL = 422,
378 >    T_BOTS = 423,
379 >    T_CALLERID = 424,
380 >    T_CCONN = 425,
381 >    T_COMMAND = 426,
382 >    T_CLUSTER = 427,
383 >    T_DEAF = 428,
384 >    T_DEBUG = 429,
385 >    T_DLINE = 430,
386 >    T_EXTERNAL = 431,
387 >    T_FARCONNECT = 432,
388 >    T_FILE = 433,
389 >    T_FULL = 434,
390 >    T_GLOBOPS = 435,
391 >    T_INVISIBLE = 436,
392 >    T_IPV4 = 437,
393 >    T_IPV6 = 438,
394 >    T_LOCOPS = 439,
395 >    T_LOG = 440,
396 >    T_NCHANGE = 441,
397 >    T_NONONREG = 442,
398 >    T_OPME = 443,
399 >    T_PREPEND = 444,
400 >    T_PSEUDO = 445,
401 >    T_RECVQ = 446,
402 >    T_REJ = 447,
403 >    T_RESTART = 448,
404 >    T_SERVER = 449,
405 >    T_SERVICE = 450,
406 >    T_SERVNOTICE = 451,
407 >    T_SET = 452,
408 >    T_SHARED = 453,
409 >    T_SIZE = 454,
410 >    T_SKILL = 455,
411 >    T_SOFTCALLERID = 456,
412 >    T_SPY = 457,
413 >    T_SSL = 458,
414 >    T_SSL_CIPHER_LIST = 459,
415 >    T_TARGET = 460,
416 >    T_UMODES = 461,
417 >    T_UNAUTH = 462,
418 >    T_UNDLINE = 463,
419 >    T_UNLIMITED = 464,
420 >    T_UNRESV = 465,
421 >    T_UNXLINE = 466,
422 >    T_WALLOP = 467,
423 >    T_WALLOPS = 468,
424 >    T_WEBIRC = 469,
425 >    TBOOL = 470,
426 >    THROTTLE_COUNT = 471,
427 >    THROTTLE_TIME = 472,
428 >    TKLINE_EXPIRE_NOTICES = 473,
429 >    TMASKED = 474,
430 >    TS_MAX_DELTA = 475,
431 >    TS_WARN_DELTA = 476,
432 >    TWODOTS = 477,
433 >    TYPE = 478,
434 >    UNKLINE = 479,
435 >    USE_LOGGING = 480,
436 >    USER = 481,
437 >    VHOST = 482,
438 >    VHOST6 = 483,
439 >    WARN_NO_CONNECT_BLOCK = 484,
440 >    WHOIS = 485,
441 >    WHOWAS_HISTORY_LENGTH = 486,
442 >    XLINE = 487,
443 >    XLINE_EXEMPT = 488
444    };
445   #endif
446   /* Tokens.  */
# Line 465 | Line 458 | extern int yydebug;
458   #define CALLER_ID_WAIT 269
459   #define CAN_FLOOD 270
460   #define CHANNEL 271
461 < #define CIDR_BITLEN_IPV4 272
462 < #define CIDR_BITLEN_IPV6 273
463 < #define CLASS 274
464 < #define CONNECT 275
465 < #define CONNECTFREQ 276
466 < #define CYCLE_ON_HOST_CHANGE 277
467 < #define DEFAULT_FLOODCOUNT 278
468 < #define DEFAULT_JOIN_FLOOD_COUNT 279
469 < #define DEFAULT_JOIN_FLOOD_TIME 280
470 < #define DEFAULT_MAX_CLIENTS 281
471 < #define DEFAULT_SPLIT_SERVER_COUNT 282
472 < #define DEFAULT_SPLIT_USER_COUNT 283
461 > #define CHECK_CACHE 272
462 > #define CIDR_BITLEN_IPV4 273
463 > #define CIDR_BITLEN_IPV6 274
464 > #define CLASS 275
465 > #define CLOSE 276
466 > #define CONNECT 277
467 > #define CONNECTFREQ 278
468 > #define CYCLE_ON_HOST_CHANGE 279
469 > #define DEFAULT_FLOODCOUNT 280
470 > #define DEFAULT_JOIN_FLOOD_COUNT 281
471 > #define DEFAULT_JOIN_FLOOD_TIME 282
472 > #define DEFAULT_MAX_CLIENTS 283
473   #define DENY 284
474   #define DESCRIPTION 285
475   #define DIE 286
# Line 492 | Line 485 | extern int yydebug;
485   #define EXEMPT 296
486   #define FAILED_OPER_NOTICE 297
487   #define FLATTEN_LINKS 298
488 < #define GECOS 299
489 < #define GENERAL 300
490 < #define HIDDEN 301
491 < #define HIDDEN_NAME 302
492 < #define HIDE_CHANS 303
493 < #define HIDE_IDLE 304
494 < #define HIDE_IDLE_FROM_OPERS 305
495 < #define HIDE_SERVER_IPS 306
496 < #define HIDE_SERVERS 307
497 < #define HIDE_SERVICES 308
498 < #define HOST 309
499 < #define HUB 310
500 < #define HUB_MASK 311
501 < #define IGNORE_BOGUS_TS 312
502 < #define INVISIBLE_ON_CONNECT 313
503 < #define INVITE_CLIENT_COUNT 314
504 < #define INVITE_CLIENT_TIME 315
505 < #define IP 316
506 < #define IRCD_AUTH 317
507 < #define IRCD_FLAGS 318
508 < #define IRCD_SID 319
509 < #define KILL 320
510 < #define KILL_CHASE_TIME_LIMIT 321
511 < #define KLINE 322
512 < #define KLINE_EXEMPT 323
513 < #define KLINE_MIN_CIDR 324
514 < #define KLINE_MIN_CIDR6 325
515 < #define KNOCK_CLIENT_COUNT 326
516 < #define KNOCK_CLIENT_TIME 327
517 < #define KNOCK_DELAY_CHANNEL 328
518 < #define LEAF_MASK 329
519 < #define LINKS_DELAY 330
520 < #define LISTEN 331
521 < #define MASK 332
522 < #define MAX_ACCEPT 333
523 < #define MAX_BANS 334
524 < #define MAX_CHANNELS 335
525 < #define MAX_GLOBAL 336
526 < #define MAX_IDENT 337
527 < #define MAX_IDLE 338
528 < #define MAX_LOCAL 339
529 < #define MAX_NICK_CHANGES 340
530 < #define MAX_NICK_LENGTH 341
531 < #define MAX_NICK_TIME 342
532 < #define MAX_NUMBER 343
533 < #define MAX_TARGETS 344
534 < #define MAX_TOPIC_LENGTH 345
535 < #define MAX_WATCH 346
536 < #define MIN_IDLE 347
537 < #define MIN_NONWILDCARD 348
538 < #define MIN_NONWILDCARD_SIMPLE 349
539 < #define MODULE 350
540 < #define MODULES 351
541 < #define MOTD 352
542 < #define NAME 353
543 < #define NEED_IDENT 354
544 < #define NEED_PASSWORD 355
545 < #define NETWORK_DESC 356
546 < #define NETWORK_NAME 357
547 < #define NICK 358
548 < #define NO_CREATE_ON_SPLIT 359
549 < #define NO_JOIN_ON_SPLIT 360
550 < #define NO_OPER_FLOOD 361
551 < #define NO_TILDE 362
552 < #define NUMBER 363
553 < #define NUMBER_PER_CIDR 364
554 < #define NUMBER_PER_IP 365
555 < #define OPER_ONLY_UMODES 366
556 < #define OPER_PASS_RESV 367
557 < #define OPER_UMODES 368
558 < #define OPERATOR 369
559 < #define OPERS_BYPASS_CALLERID 370
560 < #define PACE_WAIT 371
561 < #define PACE_WAIT_SIMPLE 372
562 < #define PASSWORD 373
563 < #define PATH 374
564 < #define PING_COOKIE 375
565 < #define PING_TIME 376
566 < #define PORT 377
567 < #define QSTRING 378
568 < #define RANDOM_IDLE 379
569 < #define REASON 380
570 < #define REDIRPORT 381
571 < #define REDIRSERV 382
572 < #define REHASH 383
573 < #define REMOTE 384
574 < #define REMOTEBAN 385
575 < #define RESV 386
576 < #define RESV_EXEMPT 387
577 < #define RSA_PRIVATE_KEY_FILE 388
578 < #define RSA_PUBLIC_KEY_FILE 389
579 < #define SECONDS 390
580 < #define MINUTES 391
581 < #define HOURS 392
582 < #define DAYS 393
583 < #define WEEKS 394
584 < #define MONTHS 395
585 < #define YEARS 396
586 < #define SEND_PASSWORD 397
587 < #define SENDQ 398
588 < #define SERVERHIDE 399
589 < #define SERVERINFO 400
590 < #define SHORT_MOTD 401
591 < #define SPOOF 402
592 < #define SPOOF_NOTICE 403
593 < #define SQUIT 404
594 < #define SSL_CERTIFICATE_FILE 405
595 < #define SSL_CERTIFICATE_FINGERPRINT 406
596 < #define SSL_CONNECTION_REQUIRED 407
597 < #define SSL_DH_ELLIPTIC_CURVE 408
598 < #define SSL_DH_PARAM_FILE 409
599 < #define SSL_MESSAGE_DIGEST_ALGORITHM 410
600 < #define STATS_E_DISABLED 411
601 < #define STATS_I_OPER_ONLY 412
602 < #define STATS_K_OPER_ONLY 413
603 < #define STATS_M_OPER_ONLY 414
604 < #define STATS_O_OPER_ONLY 415
605 < #define STATS_P_OPER_ONLY 416
606 < #define STATS_U_OPER_ONLY 417
607 < #define T_ALL 418
608 < #define T_BOTS 419
609 < #define T_CALLERID 420
610 < #define T_CCONN 421
611 < #define T_COMMAND 422
612 < #define T_CLUSTER 423
613 < #define T_DEAF 424
614 < #define T_DEBUG 425
615 < #define T_DLINE 426
616 < #define T_EXTERNAL 427
617 < #define T_FARCONNECT 428
618 < #define T_FILE 429
619 < #define T_FULL 430
620 < #define T_GLOBOPS 431
621 < #define T_INVISIBLE 432
622 < #define T_IPV4 433
623 < #define T_IPV6 434
624 < #define T_LOCOPS 435
625 < #define T_LOG 436
626 < #define T_NCHANGE 437
627 < #define T_NONONREG 438
628 < #define T_OPME 439
629 < #define T_PREPEND 440
630 < #define T_PSEUDO 441
631 < #define T_RECVQ 442
632 < #define T_REJ 443
633 < #define T_RESTART 444
634 < #define T_SERVER 445
635 < #define T_SERVICE 446
636 < #define T_SERVNOTICE 447
637 < #define T_SET 448
638 < #define T_SHARED 449
639 < #define T_SIZE 450
640 < #define T_SKILL 451
641 < #define T_SOFTCALLERID 452
642 < #define T_SPY 453
643 < #define T_SSL 454
644 < #define T_SSL_CIPHER_LIST 455
645 < #define T_TARGET 456
646 < #define T_UMODES 457
647 < #define T_UNAUTH 458
648 < #define T_UNDLINE 459
649 < #define T_UNLIMITED 460
650 < #define T_UNRESV 461
651 < #define T_UNXLINE 462
652 < #define T_WALLOP 463
653 < #define T_WALLOPS 464
654 < #define T_WEBIRC 465
655 < #define TBOOL 466
656 < #define THROTTLE_COUNT 467
657 < #define THROTTLE_TIME 468
658 < #define TKLINE_EXPIRE_NOTICES 469
659 < #define TMASKED 470
660 < #define TS_MAX_DELTA 471
661 < #define TS_WARN_DELTA 472
662 < #define TWODOTS 473
663 < #define TYPE 474
664 < #define UNKLINE 475
665 < #define USE_LOGGING 476
666 < #define USER 477
667 < #define VHOST 478
668 < #define VHOST6 479
669 < #define WARN_NO_CONNECT_BLOCK 480
670 < #define WHOIS 481
671 < #define XLINE 482
672 < #define XLINE_EXEMPT 483
488 > #define FLATTEN_LINKS_DELAY 299
489 > #define FLATTEN_LINKS_FILE 300
490 > #define GECOS 301
491 > #define GENERAL 302
492 > #define HIDDEN 303
493 > #define HIDDEN_NAME 304
494 > #define HIDE_CHANS 305
495 > #define HIDE_IDLE 306
496 > #define HIDE_IDLE_FROM_OPERS 307
497 > #define HIDE_SERVER_IPS 308
498 > #define HIDE_SERVERS 309
499 > #define HIDE_SERVICES 310
500 > #define HOST 311
501 > #define HUB 312
502 > #define HUB_MASK 313
503 > #define IGNORE_BOGUS_TS 314
504 > #define INVISIBLE_ON_CONNECT 315
505 > #define INVITE_CLIENT_COUNT 316
506 > #define INVITE_CLIENT_TIME 317
507 > #define INVITE_DELAY_CHANNEL 318
508 > #define IP 319
509 > #define IRCD_AUTH 320
510 > #define IRCD_FLAGS 321
511 > #define IRCD_SID 322
512 > #define JOIN 323
513 > #define KILL 324
514 > #define KILL_CHASE_TIME_LIMIT 325
515 > #define KLINE 326
516 > #define KLINE_EXEMPT 327
517 > #define KLINE_MIN_CIDR 328
518 > #define KLINE_MIN_CIDR6 329
519 > #define KNOCK_CLIENT_COUNT 330
520 > #define KNOCK_CLIENT_TIME 331
521 > #define KNOCK_DELAY_CHANNEL 332
522 > #define LEAF_MASK 333
523 > #define LIBGEOIP_DATABASE_OPTIONS 334
524 > #define LIBGEOIP_IPV4_DATABASE_FILE 335
525 > #define LIBGEOIP_IPV6_DATABASE_FILE 336
526 > #define LISTEN 337
527 > #define MASK 338
528 > #define MAX_ACCEPT 339
529 > #define MAX_BANS 340
530 > #define MAX_CHANNELS 341
531 > #define MAX_GLOBAL 342
532 > #define MAX_IDLE 343
533 > #define MAX_LOCAL 344
534 > #define MAX_NICK_CHANGES 345
535 > #define MAX_NICK_LENGTH 346
536 > #define MAX_NICK_TIME 347
537 > #define MAX_NUMBER 348
538 > #define MAX_TARGETS 349
539 > #define MAX_TOPIC_LENGTH 350
540 > #define MAX_WATCH 351
541 > #define MEMORY_CACHE 352
542 > #define MIN_IDLE 353
543 > #define MIN_NONWILDCARD 354
544 > #define MIN_NONWILDCARD_SIMPLE 355
545 > #define MMAP_CACHE 356
546 > #define MODULE 357
547 > #define MODULES 358
548 > #define MOTD 359
549 > #define NAME 360
550 > #define NEED_IDENT 361
551 > #define NEED_PASSWORD 362
552 > #define NETWORK_DESC 363
553 > #define NETWORK_NAME 364
554 > #define NICK 365
555 > #define NO_OPER_FLOOD 366
556 > #define NO_TILDE 367
557 > #define NUMBER 368
558 > #define NUMBER_PER_CIDR 369
559 > #define NUMBER_PER_IP 370
560 > #define OPER_ONLY_UMODES 371
561 > #define OPER_UMODES 372
562 > #define OPERATOR 373
563 > #define OPERS_BYPASS_CALLERID 374
564 > #define PACE_WAIT 375
565 > #define PACE_WAIT_SIMPLE 376
566 > #define PASSWORD 377
567 > #define PATH 378
568 > #define PING_COOKIE 379
569 > #define PING_TIME 380
570 > #define PORT 381
571 > #define QSTRING 382
572 > #define RANDOM_IDLE 383
573 > #define REASON 384
574 > #define REDIRPORT 385
575 > #define REDIRSERV 386
576 > #define REHASH 387
577 > #define REMOTE 388
578 > #define REMOTEBAN 389
579 > #define RESV 390
580 > #define RESV_EXEMPT 391
581 > #define RSA_PRIVATE_KEY_FILE 392
582 > #define SECONDS 393
583 > #define MINUTES 394
584 > #define HOURS 395
585 > #define DAYS 396
586 > #define WEEKS 397
587 > #define MONTHS 398
588 > #define YEARS 399
589 > #define SEND_PASSWORD 400
590 > #define SENDQ 401
591 > #define SERVERHIDE 402
592 > #define SERVERINFO 403
593 > #define SHORT_MOTD 404
594 > #define SPOOF 405
595 > #define SPOOF_NOTICE 406
596 > #define SQUIT 407
597 > #define SSL_CERTIFICATE_FILE 408
598 > #define SSL_CERTIFICATE_FINGERPRINT 409
599 > #define SSL_CONNECTION_REQUIRED 410
600 > #define SSL_DH_ELLIPTIC_CURVE 411
601 > #define SSL_DH_PARAM_FILE 412
602 > #define SSL_MESSAGE_DIGEST_ALGORITHM 413
603 > #define STANDARD 414
604 > #define STATS_E_DISABLED 415
605 > #define STATS_I_OPER_ONLY 416
606 > #define STATS_K_OPER_ONLY 417
607 > #define STATS_M_OPER_ONLY 418
608 > #define STATS_O_OPER_ONLY 419
609 > #define STATS_P_OPER_ONLY 420
610 > #define STATS_U_OPER_ONLY 421
611 > #define T_ALL 422
612 > #define T_BOTS 423
613 > #define T_CALLERID 424
614 > #define T_CCONN 425
615 > #define T_COMMAND 426
616 > #define T_CLUSTER 427
617 > #define T_DEAF 428
618 > #define T_DEBUG 429
619 > #define T_DLINE 430
620 > #define T_EXTERNAL 431
621 > #define T_FARCONNECT 432
622 > #define T_FILE 433
623 > #define T_FULL 434
624 > #define T_GLOBOPS 435
625 > #define T_INVISIBLE 436
626 > #define T_IPV4 437
627 > #define T_IPV6 438
628 > #define T_LOCOPS 439
629 > #define T_LOG 440
630 > #define T_NCHANGE 441
631 > #define T_NONONREG 442
632 > #define T_OPME 443
633 > #define T_PREPEND 444
634 > #define T_PSEUDO 445
635 > #define T_RECVQ 446
636 > #define T_REJ 447
637 > #define T_RESTART 448
638 > #define T_SERVER 449
639 > #define T_SERVICE 450
640 > #define T_SERVNOTICE 451
641 > #define T_SET 452
642 > #define T_SHARED 453
643 > #define T_SIZE 454
644 > #define T_SKILL 455
645 > #define T_SOFTCALLERID 456
646 > #define T_SPY 457
647 > #define T_SSL 458
648 > #define T_SSL_CIPHER_LIST 459
649 > #define T_TARGET 460
650 > #define T_UMODES 461
651 > #define T_UNAUTH 462
652 > #define T_UNDLINE 463
653 > #define T_UNLIMITED 464
654 > #define T_UNRESV 465
655 > #define T_UNXLINE 466
656 > #define T_WALLOP 467
657 > #define T_WALLOPS 468
658 > #define T_WEBIRC 469
659 > #define TBOOL 470
660 > #define THROTTLE_COUNT 471
661 > #define THROTTLE_TIME 472
662 > #define TKLINE_EXPIRE_NOTICES 473
663 > #define TMASKED 474
664 > #define TS_MAX_DELTA 475
665 > #define TS_WARN_DELTA 476
666 > #define TWODOTS 477
667 > #define TYPE 478
668 > #define UNKLINE 479
669 > #define USE_LOGGING 480
670 > #define USER 481
671 > #define VHOST 482
672 > #define VHOST6 483
673 > #define WARN_NO_CONNECT_BLOCK 484
674 > #define WHOIS 485
675 > #define WHOWAS_HISTORY_LENGTH 486
676 > #define XLINE 487
677 > #define XLINE_EXEMPT 488
678  
679   /* Value type.  */
680   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
681  
682   union YYSTYPE
683   {
684 < #line 153 "conf_parser.y" /* yacc.c:355  */
684 > #line 141 "conf_parser.y" /* yacc.c:355  */
685  
686    int number;
687    char *string;
688  
689 < #line 692 "conf_parser.c" /* yacc.c:355  */
689 > #line 690 "conf_parser.c" /* yacc.c:355  */
690   };
691  
692   typedef union YYSTYPE YYSTYPE;
# Line 705 | Line 703 | int yyparse (void);
703  
704   /* Copy the second part of user declarations.  */
705  
706 < #line 709 "conf_parser.c" /* yacc.c:358  */
706 > #line 707 "conf_parser.c" /* yacc.c:358  */
707  
708   #ifdef short
709   # undef short
# Line 947 | Line 945 | union yyalloc
945   /* YYFINAL -- State number of the termination state.  */
946   #define YYFINAL  2
947   /* YYLAST -- Last index in YYTABLE.  */
948 < #define YYLAST   1381
948 > #define YYLAST   1274
949  
950   /* YYNTOKENS -- Number of terminals.  */
951 < #define YYNTOKENS  235
951 > #define YYNTOKENS  240
952   /* YYNNTS -- Number of nonterminals.  */
953 < #define YYNNTS  296
953 > #define YYNNTS  298
954   /* YYNRULES -- Number of rules.  */
955 < #define YYNRULES  664
955 > #define YYNRULES  675
956   /* YYNSTATES -- Number of states.  */
957 < #define YYNSTATES  1313
957 > #define YYNSTATES  1327
958  
959   /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
960     by yylex, with out-of-bounds checking.  */
961   #define YYUNDEFTOK  2
962 < #define YYMAXUTOK   483
962 > #define YYMAXUTOK   488
963  
964   #define YYTRANSLATE(YYX)                                                \
965    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 974 | Line 972 | static const yytype_uint8 yytranslate[]
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,   233,     2,     2,     2,     2,     2,
976 <       2,     2,     2,     2,     2,     2,     2,     2,   234,   229,
977 <       2,   232,     2,     2,     2,     2,     2,     2,     2,     2,
975 >       2,     2,     2,     2,   238,     2,     2,     2,     2,     2,
976 >       2,     2,     2,     2,     2,     2,     2,     2,   239,   234,
977 >       2,   237,     2,     2,     2,     2,     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,
981         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
982         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
983 <       2,     2,     2,   231,     2,   230,     2,     2,     2,     2,
983 >       2,     2,     2,   236,     2,   235,     2,     2,     2,     2,
984         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
985         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
986         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1018 | Line 1016 | static const yytype_uint8 yytranslate[]
1016       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1017       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1018       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1019 <     225,   226,   227,   228
1019 >     225,   226,   227,   228,   229,   230,   231,   232,   233
1020   };
1021  
1022   #if YYDEBUG
1023    /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1024   static const yytype_uint16 yyrline[] =
1025   {
1026 <       0,   385,   385,   386,   389,   390,   391,   392,   393,   394,
1027 <     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1028 <     405,   406,   407,   408,   409,   410,   411,   412,   416,   416,
1029 <     417,   418,   419,   420,   421,   422,   423,   424,   427,   427,
1030 <     428,   429,   430,   431,   438,   441,   441,   442,   442,   442,
1031 <     444,   450,   457,   459,   459,   460,   461,   462,   463,   464,
1032 <     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1033 <     475,   476,   477,   480,   520,   578,   607,   615,   629,   657,
1034 <     672,   687,   697,   711,   720,   748,   776,   801,   823,   845,
1035 <     854,   856,   856,   857,   858,   859,   860,   862,   871,   880,
1036 <     893,   892,   910,   910,   911,   911,   911,   913,   919,   929,
1037 <     928,   947,   947,   948,   948,   948,   948,   948,   950,   956,
1038 <     962,   968,   989,   990,   990,   992,   992,   993,   995,  1002,
1039 <    1002,  1015,  1016,  1018,  1018,  1019,  1019,  1021,  1029,  1032,
1040 <    1038,  1037,  1043,  1043,  1044,  1048,  1052,  1056,  1060,  1064,
1041 <    1068,  1072,  1083,  1082,  1171,  1171,  1172,  1173,  1174,  1175,
1042 <    1176,  1177,  1178,  1179,  1180,  1181,  1182,  1183,  1185,  1191,
1043 <    1197,  1203,  1209,  1220,  1226,  1232,  1243,  1250,  1249,  1255,
1044 <    1255,  1256,  1260,  1264,  1268,  1272,  1276,  1280,  1284,  1288,
1045 <    1292,  1296,  1300,  1304,  1308,  1312,  1316,  1320,  1324,  1328,
1046 <    1332,  1336,  1340,  1347,  1346,  1352,  1352,  1353,  1357,  1361,
1047 <    1365,  1369,  1373,  1377,  1381,  1385,  1389,  1393,  1397,  1401,
1048 <    1405,  1409,  1413,  1417,  1421,  1425,  1429,  1433,  1437,  1441,
1049 <    1452,  1451,  1508,  1508,  1509,  1510,  1511,  1512,  1513,  1514,
1050 <    1515,  1516,  1517,  1518,  1519,  1520,  1521,  1521,  1522,  1523,
1051 <    1524,  1525,  1527,  1533,  1539,  1545,  1551,  1557,  1563,  1569,
1052 <    1575,  1581,  1587,  1594,  1600,  1606,  1612,  1621,  1631,  1630,
1053 <    1636,  1636,  1637,  1641,  1652,  1651,  1658,  1657,  1662,  1662,
1054 <    1663,  1667,  1671,  1677,  1677,  1678,  1678,  1678,  1678,  1678,
1055 <    1680,  1680,  1682,  1682,  1684,  1697,  1714,  1720,  1730,  1729,
1056 <    1771,  1771,  1772,  1773,  1774,  1775,  1776,  1777,  1778,  1779,
1057 <    1780,  1782,  1788,  1794,  1800,  1812,  1811,  1817,  1817,  1818,
1058 <    1822,  1826,  1830,  1834,  1838,  1842,  1846,  1850,  1854,  1860,
1059 <    1874,  1883,  1897,  1896,  1911,  1911,  1912,  1912,  1912,  1912,
1060 <    1914,  1920,  1926,  1936,  1938,  1938,  1939,  1939,  1941,  1957,
1061 <    1956,  1981,  1981,  1982,  1982,  1982,  1982,  1984,  1990,  2010,
1062 <    2009,  2015,  2015,  2016,  2020,  2024,  2028,  2032,  2036,  2040,
1063 <    2044,  2048,  2052,  2062,  2061,  2082,  2082,  2083,  2083,  2083,
1064 <    2085,  2092,  2091,  2097,  2097,  2098,  2102,  2106,  2110,  2114,
1065 <    2118,  2122,  2126,  2130,  2134,  2144,  2143,  2215,  2215,  2216,
1066 <    2217,  2218,  2219,  2220,  2221,  2222,  2223,  2224,  2225,  2226,
1067 <    2227,  2228,  2229,  2230,  2232,  2238,  2244,  2250,  2263,  2276,
1068 <    2282,  2288,  2292,  2299,  2298,  2303,  2303,  2304,  2308,  2314,
1069 <    2325,  2331,  2337,  2343,  2359,  2358,  2384,  2384,  2385,  2385,
1070 <    2385,  2387,  2407,  2417,  2416,  2443,  2443,  2444,  2444,  2444,
1071 <    2446,  2452,  2461,  2463,  2463,  2464,  2464,  2466,  2484,  2483,
1072 <    2506,  2506,  2507,  2507,  2507,  2509,  2515,  2524,  2527,  2527,
1073 <    2528,  2529,  2530,  2531,  2532,  2533,  2534,  2535,  2536,  2537,
1074 <    2538,  2539,  2540,  2541,  2542,  2543,  2544,  2545,  2546,  2547,
1075 <    2548,  2549,  2550,  2551,  2552,  2553,  2554,  2555,  2556,  2557,
1076 <    2558,  2559,  2560,  2561,  2562,  2563,  2564,  2565,  2566,  2567,
1077 <    2568,  2569,  2570,  2571,  2572,  2573,  2574,  2577,  2582,  2587,
1078 <    2592,  2598,  2603,  2608,  2613,  2618,  2623,  2628,  2633,  2638,
1079 <    2643,  2648,  2653,  2658,  2663,  2668,  2674,  2679,  2684,  2689,
1080 <    2694,  2699,  2704,  2709,  2712,  2717,  2720,  2725,  2730,  2735,
1081 <    2740,  2745,  2750,  2755,  2760,  2765,  2770,  2775,  2780,  2785,
1082 <    2791,  2790,  2795,  2795,  2796,  2799,  2802,  2805,  2808,  2811,
1083 <    2814,  2817,  2820,  2823,  2826,  2829,  2832,  2835,  2838,  2841,
1084 <    2844,  2847,  2850,  2853,  2856,  2859,  2865,  2864,  2869,  2869,
1085 <    2870,  2873,  2876,  2879,  2882,  2885,  2888,  2891,  2894,  2897,
1086 <    2900,  2903,  2906,  2909,  2912,  2915,  2918,  2921,  2924,  2927,
1087 <    2932,  2937,  2942,  2951,  2954,  2954,  2955,  2956,  2957,  2958,
1088 <    2959,  2960,  2961,  2962,  2963,  2964,  2965,  2966,  2967,  2968,
1089 <    2969,  2971,  2976,  2981,  2986,  2991,  2996,  3001,  3006,  3011,
1090 <    3016,  3021,  3026,  3031,  3036,  3044,  3047,  3047,  3048,  3049,
1091 <    3050,  3051,  3052,  3053,  3054,  3055,  3056,  3058,  3064,  3070,
1092 <    3076,  3082,  3091,  3106,  3112
1026 >       0,   378,   378,   379,   382,   383,   384,   385,   386,   387,
1027 >     388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
1028 >     398,   399,   400,   401,   402,   403,   404,   405,   409,   409,
1029 >     410,   411,   412,   413,   414,   415,   416,   417,   420,   420,
1030 >     421,   422,   423,   424,   431,   433,   433,   434,   434,   434,
1031 >     436,   442,   452,   454,   454,   455,   456,   457,   458,   459,
1032 >     460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
1033 >     470,   471,   472,   473,   474,   475,   478,   487,   496,   505,
1034 >     514,   523,   533,   532,   538,   538,   539,   545,   551,   557,
1035 >     565,   580,   595,   610,   625,   635,   649,   658,   686,   714,
1036 >     739,   761,   783,   793,   795,   795,   796,   797,   798,   799,
1037 >     801,   810,   819,   833,   832,   850,   850,   851,   851,   851,
1038 >     853,   859,   870,   869,   888,   888,   889,   889,   889,   889,
1039 >     889,   891,   897,   903,   909,   931,   932,   932,   934,   934,
1040 >     935,   937,   944,   944,   957,   958,   960,   960,   961,   961,
1041 >     963,   971,   974,   980,   979,   985,   985,   986,   990,   994,
1042 >     998,  1002,  1006,  1010,  1014,  1025,  1024,  1085,  1085,  1086,
1043 >    1087,  1088,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,
1044 >    1098,  1104,  1110,  1116,  1122,  1133,  1139,  1150,  1157,  1156,
1045 >    1162,  1162,  1163,  1167,  1171,  1175,  1179,  1183,  1187,  1191,
1046 >    1195,  1199,  1203,  1207,  1211,  1215,  1219,  1223,  1227,  1231,
1047 >    1235,  1239,  1243,  1247,  1254,  1253,  1259,  1259,  1260,  1264,
1048 >    1268,  1272,  1276,  1280,  1284,  1288,  1292,  1296,  1300,  1304,
1049 >    1308,  1312,  1316,  1320,  1324,  1328,  1332,  1336,  1340,  1344,
1050 >    1348,  1352,  1356,  1360,  1364,  1368,  1372,  1383,  1382,  1438,
1051 >    1438,  1439,  1440,  1441,  1442,  1443,  1444,  1445,  1446,  1447,
1052 >    1448,  1449,  1450,  1451,  1452,  1453,  1454,  1455,  1457,  1463,
1053 >    1469,  1475,  1481,  1487,  1493,  1499,  1505,  1511,  1518,  1524,
1054 >    1530,  1536,  1545,  1555,  1554,  1560,  1560,  1561,  1565,  1576,
1055 >    1575,  1582,  1581,  1586,  1586,  1587,  1591,  1595,  1601,  1601,
1056 >    1602,  1602,  1602,  1602,  1602,  1604,  1604,  1606,  1606,  1608,
1057 >    1621,  1638,  1644,  1655,  1654,  1700,  1700,  1701,  1702,  1703,
1058 >    1704,  1705,  1706,  1707,  1708,  1709,  1711,  1717,  1723,  1729,
1059 >    1741,  1740,  1746,  1746,  1747,  1751,  1755,  1759,  1763,  1767,
1060 >    1771,  1775,  1779,  1783,  1789,  1803,  1812,  1826,  1825,  1840,
1061 >    1840,  1841,  1841,  1841,  1841,  1843,  1849,  1855,  1865,  1867,
1062 >    1867,  1868,  1868,  1870,  1887,  1886,  1909,  1909,  1910,  1910,
1063 >    1910,  1910,  1912,  1918,  1938,  1937,  1943,  1943,  1944,  1948,
1064 >    1952,  1956,  1960,  1964,  1968,  1972,  1976,  1980,  1991,  1990,
1065 >    2009,  2009,  2010,  2010,  2010,  2012,  2019,  2018,  2024,  2024,
1066 >    2025,  2029,  2033,  2037,  2041,  2045,  2049,  2053,  2057,  2061,
1067 >    2072,  2071,  2143,  2143,  2144,  2145,  2146,  2147,  2148,  2149,
1068 >    2150,  2151,  2152,  2153,  2154,  2155,  2156,  2157,  2158,  2160,
1069 >    2166,  2172,  2178,  2191,  2204,  2210,  2216,  2220,  2227,  2226,
1070 >    2231,  2231,  2232,  2236,  2242,  2253,  2259,  2265,  2271,  2287,
1071 >    2286,  2312,  2312,  2313,  2313,  2313,  2315,  2335,  2346,  2345,
1072 >    2372,  2372,  2373,  2373,  2373,  2375,  2381,  2391,  2393,  2393,
1073 >    2394,  2394,  2396,  2414,  2413,  2434,  2434,  2435,  2435,  2435,
1074 >    2437,  2443,  2453,  2455,  2455,  2456,  2457,  2458,  2459,  2460,
1075 >    2461,  2462,  2463,  2464,  2465,  2466,  2467,  2468,  2469,  2470,
1076 >    2471,  2472,  2473,  2474,  2475,  2476,  2477,  2478,  2479,  2480,
1077 >    2481,  2482,  2483,  2484,  2485,  2486,  2487,  2488,  2489,  2490,
1078 >    2491,  2492,  2493,  2494,  2495,  2496,  2497,  2498,  2499,  2500,
1079 >    2501,  2502,  2505,  2510,  2515,  2520,  2525,  2531,  2536,  2541,
1080 >    2546,  2551,  2556,  2561,  2566,  2571,  2576,  2581,  2586,  2591,
1081 >    2596,  2601,  2607,  2612,  2617,  2622,  2627,  2632,  2637,  2642,
1082 >    2645,  2650,  2653,  2658,  2663,  2668,  2673,  2678,  2683,  2688,
1083 >    2693,  2698,  2703,  2708,  2713,  2719,  2718,  2723,  2723,  2724,
1084 >    2727,  2730,  2733,  2736,  2739,  2742,  2745,  2748,  2751,  2754,
1085 >    2757,  2760,  2763,  2766,  2769,  2772,  2775,  2778,  2781,  2784,
1086 >    2787,  2793,  2792,  2797,  2797,  2798,  2801,  2804,  2807,  2810,
1087 >    2813,  2816,  2819,  2822,  2825,  2828,  2831,  2834,  2837,  2840,
1088 >    2843,  2846,  2849,  2852,  2855,  2860,  2865,  2870,  2879,  2881,
1089 >    2881,  2882,  2883,  2884,  2885,  2886,  2887,  2888,  2889,  2890,
1090 >    2891,  2892,  2893,  2895,  2900,  2905,  2910,  2915,  2920,  2925,
1091 >    2930,  2935,  2940,  2945,  2954,  2956,  2956,  2957,  2958,  2959,
1092 >    2960,  2961,  2962,  2963,  2964,  2965,  2966,  2968,  2974,  2990,
1093 >    2999,  3005,  3011,  3017,  3026,  3032
1094   };
1095   #endif
1096  
# Line 1103 | Line 1102 | static const char *const yytname[] =
1102    "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1103    "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN",
1104    "AWAY_COUNT", "AWAY_TIME", "BYTES", "KBYTES", "MBYTES", "CALLER_ID_WAIT",
1105 <  "CAN_FLOOD", "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS",
1106 <  "CONNECT", "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT",
1107 <  "DEFAULT_JOIN_FLOOD_COUNT", "DEFAULT_JOIN_FLOOD_TIME",
1108 <  "DEFAULT_MAX_CLIENTS", "DEFAULT_SPLIT_SERVER_COUNT",
1109 <  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1110 <  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DLINE_MIN_CIDR",
1111 <  "DLINE_MIN_CIDR6", "DOTS_IN_IDENT", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT",
1112 <  "EXEMPT", "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "GECOS", "GENERAL",
1113 <  "HIDDEN", "HIDDEN_NAME", "HIDE_CHANS", "HIDE_IDLE",
1114 <  "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS", "HIDE_SERVERS",
1115 <  "HIDE_SERVICES", "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS",
1116 <  "INVISIBLE_ON_CONNECT", "INVITE_CLIENT_COUNT", "INVITE_CLIENT_TIME",
1117 <  "IP", "IRCD_AUTH", "IRCD_FLAGS", "IRCD_SID", "KILL",
1118 <  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_MIN_CIDR",
1119 <  "KLINE_MIN_CIDR6", "KNOCK_CLIENT_COUNT", "KNOCK_CLIENT_TIME",
1120 <  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "MASK",
1121 <  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANNELS", "MAX_GLOBAL", "MAX_IDENT",
1122 <  "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH",
1123 <  "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH",
1124 <  "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE",
1105 >  "CAN_FLOOD", "CHANNEL", "CHECK_CACHE", "CIDR_BITLEN_IPV4",
1106 >  "CIDR_BITLEN_IPV6", "CLASS", "CLOSE", "CONNECT", "CONNECTFREQ",
1107 >  "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT", "DEFAULT_JOIN_FLOOD_COUNT",
1108 >  "DEFAULT_JOIN_FLOOD_TIME", "DEFAULT_MAX_CLIENTS", "DENY", "DESCRIPTION",
1109 >  "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1110 >  "DISABLE_REMOTE_COMMANDS", "DLINE_MIN_CIDR", "DLINE_MIN_CIDR6",
1111 >  "DOTS_IN_IDENT", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1112 >  "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "FLATTEN_LINKS_DELAY",
1113 >  "FLATTEN_LINKS_FILE", "GECOS", "GENERAL", "HIDDEN", "HIDDEN_NAME",
1114 >  "HIDE_CHANS", "HIDE_IDLE", "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS",
1115 >  "HIDE_SERVERS", "HIDE_SERVICES", "HOST", "HUB", "HUB_MASK",
1116 >  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "INVITE_CLIENT_COUNT",
1117 >  "INVITE_CLIENT_TIME", "INVITE_DELAY_CHANNEL", "IP", "IRCD_AUTH",
1118 >  "IRCD_FLAGS", "IRCD_SID", "JOIN", "KILL", "KILL_CHASE_TIME_LIMIT",
1119 >  "KLINE", "KLINE_EXEMPT", "KLINE_MIN_CIDR", "KLINE_MIN_CIDR6",
1120 >  "KNOCK_CLIENT_COUNT", "KNOCK_CLIENT_TIME", "KNOCK_DELAY_CHANNEL",
1121 >  "LEAF_MASK", "LIBGEOIP_DATABASE_OPTIONS", "LIBGEOIP_IPV4_DATABASE_FILE",
1122 >  "LIBGEOIP_IPV6_DATABASE_FILE", "LISTEN", "MASK", "MAX_ACCEPT",
1123 >  "MAX_BANS", "MAX_CHANNELS", "MAX_GLOBAL", "MAX_IDLE", "MAX_LOCAL",
1124 >  "MAX_NICK_CHANGES", "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER",
1125 >  "MAX_TARGETS", "MAX_TOPIC_LENGTH", "MAX_WATCH", "MEMORY_CACHE",
1126 >  "MIN_IDLE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MMAP_CACHE",
1127    "MODULE", "MODULES", "MOTD", "NAME", "NEED_IDENT", "NEED_PASSWORD",
1128 <  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NO_CREATE_ON_SPLIT",
1129 <  "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE", "NUMBER",
1129 <  "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1128 >  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NO_OPER_FLOOD", "NO_TILDE",
1129 >  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES",
1130    "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID", "PACE_WAIT",
1131    "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME",
1132    "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT", "REDIRSERV",
1133    "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1134 <  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES",
1135 <  "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1136 <  "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1137 <  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_CERTIFICATE_FINGERPRINT",
1138 <  "SSL_CONNECTION_REQUIRED", "SSL_DH_ELLIPTIC_CURVE", "SSL_DH_PARAM_FILE",
1139 <  "SSL_MESSAGE_DIGEST_ALGORITHM", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1140 <  "STATS_K_OPER_ONLY", "STATS_M_OPER_ONLY", "STATS_O_OPER_ONLY",
1141 <  "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS",
1142 <  "T_CALLERID", "T_CCONN", "T_COMMAND", "T_CLUSTER", "T_DEAF", "T_DEBUG",
1143 <  "T_DLINE", "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS",
1144 <  "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_NCHANGE",
1145 <  "T_NONONREG", "T_OPME", "T_PREPEND", "T_PSEUDO", "T_RECVQ", "T_REJ",
1146 <  "T_RESTART", "T_SERVER", "T_SERVICE", "T_SERVNOTICE", "T_SET",
1134 >  "RSA_PRIVATE_KEY_FILE", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1135 >  "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ", "SERVERHIDE", "SERVERINFO",
1136 >  "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE", "SQUIT", "SSL_CERTIFICATE_FILE",
1137 >  "SSL_CERTIFICATE_FINGERPRINT", "SSL_CONNECTION_REQUIRED",
1138 >  "SSL_DH_ELLIPTIC_CURVE", "SSL_DH_PARAM_FILE",
1139 >  "SSL_MESSAGE_DIGEST_ALGORITHM", "STANDARD", "STATS_E_DISABLED",
1140 >  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_M_OPER_ONLY",
1141 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL",
1142 >  "T_BOTS", "T_CALLERID", "T_CCONN", "T_COMMAND", "T_CLUSTER", "T_DEAF",
1143 >  "T_DEBUG", "T_DLINE", "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL",
1144 >  "T_GLOBOPS", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG",
1145 >  "T_NCHANGE", "T_NONONREG", "T_OPME", "T_PREPEND", "T_PSEUDO", "T_RECVQ",
1146 >  "T_REJ", "T_RESTART", "T_SERVER", "T_SERVICE", "T_SERVNOTICE", "T_SET",
1147    "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1148    "T_SSL_CIPHER_LIST", "T_TARGET", "T_UMODES", "T_UNAUTH", "T_UNDLINE",
1149    "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS",
1150    "T_WEBIRC", "TBOOL", "THROTTLE_COUNT", "THROTTLE_TIME",
1151    "TKLINE_EXPIRE_NOTICES", "TMASKED", "TS_MAX_DELTA", "TS_WARN_DELTA",
1152    "TWODOTS", "TYPE", "UNKLINE", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1153 <  "WARN_NO_CONNECT_BLOCK", "WHOIS", "XLINE", "XLINE_EXEMPT", "';'", "'}'",
1154 <  "'{'", "'='", "','", "':'", "$accept", "conf", "conf_item", "timespec_",
1155 <  "timespec", "sizespec_", "sizespec", "modules_entry", "modules_items",
1156 <  "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1157 <  "serverinfo_items", "serverinfo_item", "serverinfo_ssl_certificate_file",
1153 >  "WARN_NO_CONNECT_BLOCK", "WHOIS", "WHOWAS_HISTORY_LENGTH", "XLINE",
1154 >  "XLINE_EXEMPT", "';'", "'}'", "'{'", "'='", "','", "':'", "$accept",
1155 >  "conf", "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1156 >  "modules_entry", "modules_items", "modules_item", "modules_module",
1157 >  "modules_path", "serverinfo_entry", "serverinfo_items",
1158 >  "serverinfo_item", "serverinfo_ssl_certificate_file",
1159    "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1160    "serverinfo_ssl_cipher_list", "serverinfo_ssl_message_digest_algorithm",
1161 <  "serverinfo_ssl_dh_elliptic_curve", "serverinfo_name", "serverinfo_sid",
1162 <  "serverinfo_description", "serverinfo_network_name",
1161 >  "serverinfo_ssl_dh_elliptic_curve",
1162 >  "serverinfo_libgeoip_database_options", "$@1", "options_items",
1163 >  "options_item", "serverinfo_libgeoip_ipv4_database_file",
1164 >  "serverinfo_libgeoip_ipv6_database_file", "serverinfo_name",
1165 >  "serverinfo_sid", "serverinfo_description", "serverinfo_network_name",
1166    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1167    "serverinfo_default_max_clients", "serverinfo_max_nick_length",
1168    "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1169    "admin_items", "admin_item", "admin_name", "admin_email",
1170 <  "admin_description", "motd_entry", "$@1", "motd_items", "motd_item",
1171 <  "motd_mask", "motd_file", "pseudo_entry", "$@2", "pseudo_items",
1170 >  "admin_description", "motd_entry", "$@2", "motd_items", "motd_item",
1171 >  "motd_mask", "motd_file", "pseudo_entry", "$@3", "pseudo_items",
1172    "pseudo_item", "pseudo_command", "pseudo_name", "pseudo_prepend",
1173    "pseudo_target", "logging_entry", "logging_items", "logging_item",
1174 <  "logging_use_logging", "logging_file_entry", "$@3", "logging_file_items",
1174 >  "logging_use_logging", "logging_file_entry", "$@4", "logging_file_items",
1175    "logging_file_item", "logging_file_name", "logging_file_size",
1176 <  "logging_file_type", "$@4", "logging_file_type_items",
1177 <  "logging_file_type_item", "oper_entry", "$@5", "oper_items", "oper_item",
1176 >  "logging_file_type", "$@5", "logging_file_type_items",
1177 >  "logging_file_type_item", "oper_entry", "$@6", "oper_items", "oper_item",
1178    "oper_name", "oper_user", "oper_password", "oper_whois",
1179 <  "oper_encrypted", "oper_rsa_public_key_file",
1180 <  "oper_ssl_certificate_fingerprint", "oper_ssl_connection_required",
1181 <  "oper_class", "oper_umodes", "$@6", "oper_umodes_items",
1182 <  "oper_umodes_item", "oper_flags", "$@7", "oper_flags_items",
1183 <  "oper_flags_item", "class_entry", "$@8", "class_items", "class_item",
1184 <  "class_name", "class_ping_time", "class_number_per_ip",
1185 <  "class_connectfreq", "class_max_channels", "class_max_number",
1182 <  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1179 >  "oper_encrypted", "oper_ssl_certificate_fingerprint",
1180 >  "oper_ssl_connection_required", "oper_class", "oper_umodes", "$@7",
1181 >  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@8",
1182 >  "oper_flags_items", "oper_flags_item", "class_entry", "$@9",
1183 >  "class_items", "class_item", "class_name", "class_ping_time",
1184 >  "class_number_per_ip", "class_connectfreq", "class_max_channels",
1185 >  "class_max_number", "class_max_global", "class_max_local", "class_sendq",
1186    "class_recvq", "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1187    "class_number_per_cidr", "class_min_idle", "class_max_idle",
1188 <  "class_flags", "$@9", "class_flags_items", "class_flags_item",
1189 <  "listen_entry", "$@10", "listen_flags", "$@11", "listen_flags_items",
1188 >  "class_flags", "$@10", "class_flags_items", "class_flags_item",
1189 >  "listen_entry", "$@11", "listen_flags", "$@12", "listen_flags_items",
1190    "listen_flags_item", "listen_items", "listen_item", "listen_port",
1191 <  "$@12", "port_items", "port_item", "listen_address", "listen_host",
1192 <  "auth_entry", "$@13", "auth_items", "auth_item", "auth_user",
1193 <  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@14",
1191 >  "$@13", "port_items", "port_item", "listen_address", "listen_host",
1192 >  "auth_entry", "$@14", "auth_items", "auth_item", "auth_user",
1193 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@15",
1194    "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1195 <  "auth_redir_port", "resv_entry", "$@15", "resv_items", "resv_item",
1195 >  "auth_redir_port", "resv_entry", "$@16", "resv_items", "resv_item",
1196    "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1197 <  "service_items", "service_item", "service_name", "shared_entry", "$@16",
1197 >  "service_items", "service_item", "service_name", "shared_entry", "$@17",
1198    "shared_items", "shared_item", "shared_name", "shared_user",
1199 <  "shared_type", "$@17", "shared_types", "shared_type_item",
1200 <  "cluster_entry", "$@18", "cluster_items", "cluster_item", "cluster_name",
1201 <  "cluster_type", "$@19", "cluster_types", "cluster_type_item",
1202 <  "connect_entry", "$@20", "connect_items", "connect_item", "connect_name",
1199 >  "shared_type", "$@18", "shared_types", "shared_type_item",
1200 >  "cluster_entry", "$@19", "cluster_items", "cluster_item", "cluster_name",
1201 >  "cluster_type", "$@20", "cluster_types", "cluster_type_item",
1202 >  "connect_entry", "$@21", "connect_items", "connect_item", "connect_name",
1203    "connect_host", "connect_vhost", "connect_send_password",
1204    "connect_accept_password", "connect_ssl_certificate_fingerprint",
1205 <  "connect_port", "connect_aftype", "connect_flags", "$@21",
1205 >  "connect_port", "connect_aftype", "connect_flags", "$@22",
1206    "connect_flags_items", "connect_flags_item", "connect_encrypted",
1207    "connect_hub_mask", "connect_leaf_mask", "connect_class",
1208 <  "connect_ssl_cipher_list", "kill_entry", "$@22", "kill_items",
1209 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@23",
1208 >  "connect_ssl_cipher_list", "kill_entry", "$@23", "kill_items",
1209 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@24",
1210    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1211 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@24",
1211 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@25",
1212    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1213    "general_entry", "general_items", "general_item", "general_away_count",
1214 <  "general_away_time", "general_max_watch", "general_cycle_on_host_change",
1214 >  "general_away_time", "general_max_watch",
1215 >  "general_whowas_history_length", "general_cycle_on_host_change",
1216    "general_dline_min_cidr", "general_dline_min_cidr6",
1217    "general_kline_min_cidr", "general_kline_min_cidr6",
1218    "general_tkline_expire_notices", "general_kill_chase_time_limit",
# Line 1223 | Line 1227 | static const char *const yytname[] =
1227    "general_stats_k_oper_only", "general_stats_i_oper_only",
1228    "general_pace_wait", "general_caller_id_wait",
1229    "general_opers_bypass_callerid", "general_pace_wait_simple",
1230 <  "general_short_motd", "general_no_oper_flood", "general_oper_pass_resv",
1231 <  "general_dots_in_ident", "general_max_targets", "general_ping_cookie",
1232 <  "general_disable_auth", "general_throttle_count",
1233 <  "general_throttle_time", "general_oper_umodes", "$@25", "umode_oitems",
1234 <  "umode_oitem", "general_oper_only_umodes", "$@26", "umode_items",
1231 <  "umode_item", "general_min_nonwildcard",
1230 >  "general_short_motd", "general_no_oper_flood", "general_dots_in_ident",
1231 >  "general_max_targets", "general_ping_cookie", "general_disable_auth",
1232 >  "general_throttle_count", "general_throttle_time", "general_oper_umodes",
1233 >  "$@26", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1234 >  "$@27", "umode_items", "umode_item", "general_min_nonwildcard",
1235    "general_min_nonwildcard_simple", "general_default_floodcount",
1236    "channel_entry", "channel_items", "channel_item",
1237    "channel_disable_fake_channels", "channel_invite_client_count",
1238 <  "channel_invite_client_time", "channel_knock_client_count",
1239 <  "channel_knock_client_time", "channel_knock_delay_channel",
1240 <  "channel_max_channels", "channel_max_bans",
1241 <  "channel_default_split_user_count", "channel_default_split_server_count",
1242 <  "channel_no_create_on_split", "channel_no_join_on_split",
1243 <  "channel_default_join_flood_count", "channel_default_join_flood_time",
1244 <  "serverhide_entry", "serverhide_items", "serverhide_item",
1245 <  "serverhide_flatten_links", "serverhide_disable_remote_commands",
1246 <  "serverhide_hide_servers", "serverhide_hide_services",
1247 <  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1245 <  "serverhide_hide_server_ips", YY_NULLPTR
1238 >  "channel_invite_client_time", "channel_invite_delay_channel",
1239 >  "channel_knock_client_count", "channel_knock_client_time",
1240 >  "channel_knock_delay_channel", "channel_max_channels",
1241 >  "channel_max_bans", "channel_default_join_flood_count",
1242 >  "channel_default_join_flood_time", "serverhide_entry",
1243 >  "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1244 >  "serverhide_flatten_links_delay", "serverhide_flatten_links_file",
1245 >  "serverhide_disable_remote_commands", "serverhide_hide_servers",
1246 >  "serverhide_hide_services", "serverhide_hidden_name",
1247 >  "serverhide_hidden", "serverhide_hide_server_ips", YY_NULLPTR
1248   };
1249   #endif
1250  
# Line 1273 | Line 1275 | static const yytype_uint16 yytoknum[] =
1275       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1276       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1277       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1278 <     475,   476,   477,   478,   479,   480,   481,   482,   483,    59,
1279 <     125,   123,    61,    44,    58
1278 >     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1279 >     485,   486,   487,   488,    59,   125,   123,    61,    44,    58
1280   };
1281   # endif
1282  
1283 < #define YYPACT_NINF -739
1283 > #define YYPACT_NINF -728
1284  
1285   #define yypact_value_is_default(Yystate) \
1286 <  (!!((Yystate) == (-739)))
1286 >  (!!((Yystate) == (-728)))
1287  
1288 < #define YYTABLE_NINF -130
1288 > #define YYTABLE_NINF -143
1289  
1290   #define yytable_value_is_error(Yytable_value) \
1291    0
# Line 1292 | Line 1294 | static const yytype_uint16 yytoknum[] =
1294       STATE-NUM.  */
1295   static const yytype_int16 yypact[] =
1296   {
1297 <    -739,   690,  -739,  -204,  -227,  -225,  -739,  -739,  -739,  -212,
1298 <    -739,  -183,  -739,  -739,  -739,  -172,  -739,  -739,  -739,  -171,
1299 <    -159,  -739,  -145,  -739,  -142,  -739,  -739,  -739,  -739,  -739,
1300 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1301 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1302 <    -739,   322,   939,  -134,  -105,   -70,    21,   -69,   390,   -61,
1303 <     -55,   -49,    40,   -47,   -34,   -31,   669,   530,   -28,   106,
1304 <     -23,    11,   -15,   -14,     6,    27,    52,    31,  -739,  -739,
1305 <    -739,  -739,  -739,    54,    62,    90,    96,   103,   114,   117,
1306 <     118,   121,   131,   132,   144,   145,   148,   171,  -739,  -739,
1307 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1308 <    -739,  -739,  -739,   680,   523,    14,  -739,   152,    69,  -739,
1309 <    -739,    19,  -739,   153,   155,   156,   157,   161,   162,   175,
1310 <     176,   177,   179,   182,   183,   184,   185,   186,   187,   189,
1311 <     191,   192,   196,   199,   201,   202,   203,   204,  -739,   207,
1312 <    -739,   208,   209,   210,   211,   213,   218,   220,   222,   223,
1313 <     226,   230,   233,   234,   239,   241,   246,   248,   250,     7,
1314 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1315 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1316 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1317 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1318 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,   343,    26,   329,
1319 <     -11,   253,   254,    39,  -739,  -739,  -739,    33,   312,    22,
1320 <    -739,   255,   260,   261,   263,   265,   266,   268,   272,     4,
1321 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,    -2,
1322 <     276,   277,   279,   280,   281,   283,   285,   286,   287,   288,
1323 <     289,   290,   291,   293,   295,   298,   300,   124,  -739,  -739,
1324 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1325 <    -739,  -739,  -739,  -739,  -739,  -739,    10,    44,   305,    67,
1326 <    -739,  -739,  -739,   137,   173,  -739,   308,    89,  -739,  -739,
1327 <      17,  -739,   215,   282,   353,    76,  -739,   206,   433,   435,
1328 <     437,   342,   446,   433,   447,   433,   433,   449,   450,   348,
1329 <     350,   174,  -739,   335,   341,   346,   349,  -739,   352,   355,
1330 <     356,   357,   358,   359,   363,   367,   368,   369,   373,   377,
1331 <     378,   172,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1332 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1333 <     345,   379,   380,   381,   382,   386,   387,  -739,   391,   394,
1334 <     395,   397,   398,   402,   403,   244,  -739,  -739,  -739,  -739,
1335 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1336 <    -739,  -739,   404,   405,    32,  -739,  -739,  -739,   457,   393,
1337 <    -739,  -739,   406,   408,    80,  -739,  -739,  -739,   371,   433,
1338 <     533,   433,   433,   432,   538,   436,   541,   542,   543,   442,
1339 <     443,   444,   433,   548,   550,   551,   552,   433,   554,   556,
1340 <     559,   563,   481,   441,   482,   455,   485,   433,   433,   488,
1341 <     489,   491,  -187,  -180,   494,   496,   497,   500,   605,   433,
1342 <     503,   433,   433,   506,   495,  -739,   498,   486,   493,  -739,
1343 <     501,   504,   505,   507,   508,    65,  -739,  -739,  -739,  -739,
1344 <    -739,  -739,  -739,  -739,  -739,  -739,   509,   510,    86,  -739,
1345 <    -739,  -739,   499,   513,   515,  -739,   516,  -739,    79,  -739,
1346 <    -739,  -739,  -739,  -739,   603,   606,   520,  -739,   521,   519,
1347 <     524,    35,  -739,  -739,  -739,   528,   526,   527,  -739,   539,
1348 <     544,   545,   547,   549,  -739,   553,   560,   227,  -739,  -739,
1349 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1350 <     536,   561,   565,   566,    61,  -739,  -739,  -739,  -739,   562,
1351 <     564,   569,   609,   571,   572,   573,   433,   577,  -739,  -739,
1352 <     666,   615,   580,   665,   701,   703,   691,   692,   693,   694,
1353 <     696,   697,   702,   706,   707,   708,   709,   595,  -739,   607,
1354 <     608,  -739,    87,  -739,  -739,  -739,  -739,   626,   610,  -739,
1355 <     612,   616,   614,   617,   618,   619,   135,  -739,  -739,  -739,
1356 <    -739,  -739,   718,   623,  -739,   624,   622,  -739,   625,    82,
1357 <    -739,  -739,  -739,  -739,   627,   631,   632,  -739,   633,   431,
1358 <     634,   635,   636,   637,   639,   640,   641,   643,   644,   645,
1359 <     646,   648,   649,  -739,  -739,   736,   739,   433,   647,   740,
1360 <     747,   751,   433,   772,   774,   433,   760,   780,   781,   433,
1361 <     784,   784,   668,  -739,  -739,   776,  -133,   777,   684,   779,
1362 <     782,   675,   785,   787,   803,   789,   791,   792,   793,   704,
1363 <    -739,   797,   798,   712,  -739,   714,  -739,   799,   800,   719,
1364 <    -739,   720,   722,   723,   724,   727,   728,   732,   733,   742,
1365 <     744,   745,   746,   748,   749,   754,   755,   756,   757,   758,
1366 <     759,   761,   763,   764,   765,   767,   762,   768,   630,   771,
1367 <     778,   786,   788,   794,   795,   796,   801,   802,   804,   805,
1368 <     806,   807,   808,   809,   810,   811,   812,   813,   816,  -739,
1369 <    -739,   824,   725,   698,   845,   817,   846,   853,   857,   818,
1370 <    -739,   866,   868,   819,  -739,  -739,   878,   880,   773,   896,
1371 <     820,  -739,   821,   822,  -739,  -739,   883,   885,   823,  -739,
1372 <    -739,   886,   815,   790,   890,   891,   893,   897,   835,   825,
1373 <     898,   904,   826,  -739,  -739,   905,   906,   909,   827,  -739,
1374 <     829,   830,   831,   832,   833,   834,   836,   837,  -739,   838,
1375 <     839,   840,   841,   842,   843,   844,   847,   848,   849,   850,
1376 <     851,   852,   854,   855,   856,   858,  -739,  -739,   930,   859,
1377 <     860,  -739,   861,  -739,    77,  -739,   931,   941,   951,   952,
1378 <     863,  -739,   864,  -739,  -739,   959,   862,   963,   867,  -739,
1379 <    -739,  -739,  -739,  -739,   433,   433,   433,   433,   433,   433,
1380 <     433,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1381 <    -739,  -739,  -739,  -739,  -739,  -739,   869,   870,   871,   -13,
1382 <     872,   873,   874,   875,   876,   877,   879,   881,   882,   884,
1383 <     887,    41,   888,   889,  -739,   892,   894,   895,   899,   900,
1384 <     901,   902,    -5,   903,   907,   908,   910,   911,   912,   913,
1385 <    -739,   914,   915,  -739,  -739,   916,   917,  -739,  -739,  -739,
1386 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1387 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1388 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1389 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1390 <    -739,  -739,  -739,  -162,  -739,  -739,  -739,  -739,  -739,  -739,
1391 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1392 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -138,  -739,
1393 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1394 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1395 <     918,   919,   476,   920,   921,   922,   923,   924,  -739,   925,
1396 <     926,  -739,   927,   928,    68,   940,   929,  -739,  -739,  -739,
1397 <    -739,   932,   934,  -739,   935,   936,   468,   937,   938,   942,
1398 <     943,   944,   721,   945,   946,  -739,   947,   948,   949,  -739,
1399 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1400 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1401 <    -739,  -739,  -739,  -739,  -739,   950,   462,  -739,  -739,   953,
1402 <     865,   954,  -739,    73,  -739,  -739,  -739,  -739,   955,   956,
1403 <     958,   960,  -739,  -739,   961,   775,   962,  -739,  -739,  -739,
1404 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1405 <     -92,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1406 <    -739,  -739,  -739,   784,   784,   784,  -739,  -739,  -739,  -739,
1407 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,   -81,
1408 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1409 <    -739,  -739,  -739,   762,  -739,   630,  -739,  -739,  -739,  -739,
1410 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,   -73,  -739,
1411 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1412 <    -739,  -739,   -52,  -739,   980,   896,   964,  -739,  -739,  -739,
1413 <    -739,  -739,   965,  -739,   966,  -739,  -739,  -739,  -739,   967,
1414 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1415 <    -739,   -27,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1416 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1417 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1418 <     -16,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1419 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,    56,  -739,
1420 <    -739,   972,   -50,   970,   968,  -739,  -739,  -739,  -739,  -739,
1421 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1422 <    -739,   108,  -739,  -739,  -739,   -13,  -739,  -739,  -739,  -739,
1423 <      -5,  -739,  -739,  -739,   476,  -739,    68,  -739,  -739,  -739,
1424 <     978,   983,   985,  -739,   468,  -739,   721,  -739,   462,   969,
1425 <     974,   975,   267,  -739,  -739,   775,  -739,  -739,  -739,  -739,
1426 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1427 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,   110,  -739,  -739,
1428 <    -739,   267,  -739
1297 >    -728,   669,  -728,  -191,  -226,  -219,  -728,  -728,  -728,  -216,
1298 >    -728,  -214,  -728,  -728,  -728,  -208,  -728,  -728,  -728,  -195,
1299 >    -187,  -728,  -177,  -728,  -167,  -728,  -728,  -728,  -728,  -728,
1300 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1301 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1302 >    -728,    37,   762,  -165,  -162,  -160,     2,  -154,   390,  -152,
1303 >    -139,  -127,   287,  -124,  -113,  -106,   934,   438,   -80,    35,
1304 >     -75,    17,   -68,   -48,   -44,   -43,   -37,    10,  -728,  -728,
1305 >    -728,  -728,  -728,   -29,   -15,    47,    53,    66,    67,    80,
1306 >      86,    87,   106,   112,   171,  -728,  -728,  -728,  -728,  -728,
1307 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,   705,   573,    30,
1308 >    -728,   114,    24,  -728,  -728,    28,  -728,   117,   122,   124,
1309 >     125,   128,   133,   134,   136,   137,   142,   143,   147,   149,
1310 >     151,   156,   158,   161,   164,   165,   166,   168,   170,   175,
1311 >     180,   182,  -728,  -728,   183,   187,   191,   193,   194,   198,
1312 >     199,   200,   203,   204,   205,   206,   207,   208,   214,   215,
1313 >     216,   217,   222,    54,  -728,  -728,  -728,  -728,  -728,  -728,
1314 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1315 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1316 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1317 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1318 >    -728,   522,    51,   352,   -23,   224,   225,    41,  -728,  -728,
1319 >    -728,    12,   343,   309,  -728,   230,   232,   233,   234,   235,
1320 >     236,   238,   239,   240,   293,  -728,  -728,  -728,  -728,  -728,
1321 >    -728,  -728,  -728,  -728,  -728,    98,   242,   244,   246,   250,
1322 >    -728,   251,   255,   262,   263,   265,   266,   267,   271,   275,
1323 >     276,   278,   279,   283,   284,   285,    26,  -728,  -728,  -728,
1324 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1325 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,    50,   153,
1326 >     288,    57,  -728,  -728,  -728,   100,    91,  -728,   289,    15,
1327 >    -728,  -728,    72,  -728,   138,   256,   296,   223,  -728,   411,
1328 >     417,   316,   419,   417,   417,   421,   417,   417,   423,   424,
1329 >     304,  -728,   306,   307,   308,   311,  -728,   321,   325,   326,
1330 >     327,   328,   329,   331,   333,   334,   335,   349,   350,   220,
1331 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1332 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,   355,   353,   360,
1333 >     361,   362,   364,   365,  -728,   366,   377,   378,   379,   383,
1334 >     386,   388,   186,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1335 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   389,
1336 >     391,    23,  -728,  -728,  -728,   414,   393,  -728,  -728,   395,
1337 >     397,    31,  -728,  -728,  -728,   415,   417,   524,   417,   417,
1338 >     426,   527,   428,   532,   533,   534,   433,   435,   439,   417,
1339 >     542,   543,   547,   548,   417,   549,   550,   554,   555,   456,
1340 >     437,   440,   460,   417,   417,   461,   464,   465,  -196,  -185,
1341 >     467,   468,   469,   471,   574,   417,   475,   417,   417,   477,
1342 >     580,   462,  -728,   463,   457,   458,  -728,   470,   472,   474,
1343 >     480,   482,    79,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1344 >    -728,  -728,  -728,   483,   485,    76,  -728,  -728,  -728,   466,
1345 >     488,   489,  -728,   492,  -728,     6,  -728,  -728,  -728,  -728,
1346 >    -728,   575,   577,   478,  -728,   497,   495,   496,    46,  -728,
1347 >    -728,  -728,   501,   499,   500,  -728,   502,   504,   507,   508,
1348 >    -728,   509,   510,   146,  -728,  -728,  -728,  -728,  -728,  -728,
1349 >    -728,  -728,  -728,  -728,  -728,   515,   513,   516,   518,   140,
1350 >    -728,  -728,  -728,  -728,   486,   490,   417,   581,   537,   587,
1351 >     544,   545,   553,   528,  -728,  -728,   645,   634,   559,   637,
1352 >     530,   638,   642,   662,   663,   652,   654,   657,   659,   670,
1353 >     672,   674,   675,   678,   679,   680,   556,  -728,   562,   571,
1354 >    -728,    44,  -728,  -728,  -728,  -728,   594,   578,  -728,   579,
1355 >     584,   576,   585,   589,   590,   150,  -728,  -728,  -728,  -728,
1356 >    -728,   684,   595,  -728,   597,   591,  -728,   596,    14,  -728,
1357 >    -728,  -728,  -728,   598,   600,   601,  -728,   602,   863,   606,
1358 >     608,   609,   610,   611,   612,   615,   616,   618,   619,  -728,
1359 >    -728,   701,   742,   417,   621,   743,   750,   417,   757,   759,
1360 >     417,   747,   764,   767,   417,   768,   768,   641,  -728,  -728,
1361 >     755,   -79,   756,   671,   758,   760,   653,   770,   771,   776,
1362 >     780,   783,   785,   787,   661,  -728,   788,   790,   686,  -728,
1363 >     688,  -728,   796,   798,   693,  -728,   695,   696,   697,   702,
1364 >     703,   704,   706,   711,   714,   717,   721,   722,   724,   728,
1365 >     729,   730,   733,   737,   738,   752,   761,   765,   766,   774,
1366 >     775,   773,   692,   777,   778,   779,   781,   782,   789,   791,
1367 >     792,   793,   794,   795,   797,   799,   800,   801,   802,   803,
1368 >     804,   805,   806,   807,  -728,  -728,   839,   676,   666,   854,
1369 >     813,   857,   864,   865,   808,  -728,   866,   871,   809,  -728,
1370 >    -728,   887,   890,   753,   906,   810,  -728,   811,   812,  -728,
1371 >    -728,   893,   894,   814,  -728,  -728,   895,   815,   816,   897,
1372 >     905,   920,   834,   817,   923,   924,   818,  -728,  -728,   928,
1373 >     929,   930,   824,  -728,   825,   826,   827,   828,   829,   830,
1374 >     831,   832,   833,  -728,   835,   836,   837,   838,   219,   840,
1375 >     841,   842,   843,   844,   845,   846,   847,   848,   849,   850,
1376 >     851,   852,   853,   855,  -728,  -728,   941,   856,   858,  -728,
1377 >     860,  -728,     3,  -728,   946,   961,   963,   964,   861,  -728,
1378 >     862,  -728,  -728,   970,   867,   971,   868,  -728,  -728,  -728,
1379 >    -728,  -728,   417,   417,   417,   417,   417,   417,   417,  -728,
1380 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1381 >    -728,   869,   872,   873,   -26,   874,   875,   876,   877,   878,
1382 >     879,   880,   881,   882,   883,   345,   884,   885,  -728,   886,
1383 >     888,   889,   891,   892,   896,   898,     4,   899,   900,   901,
1384 >     902,   903,   904,   907,  -728,   908,   909,  -728,  -728,   910,
1385 >     911,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1386 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1387 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1388 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1389 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -201,  -728,  -728,
1390 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1391 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1392 >    -728,  -199,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1393 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1394 >    -728,  -728,  -728,  -728,   912,   913,   552,   914,   915,   916,
1395 >     917,   918,  -728,   919,   921,  -728,   922,   925,   -27,   932,
1396 >     926,  -728,  -728,  -728,  -728,   927,   931,  -728,   933,   935,
1397 >     425,   936,   937,   938,   939,   732,   940,   942,  -728,   943,
1398 >     944,   945,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1399 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1400 >    -188,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1401 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,   947,   546,  -728,
1402 >    -728,   948,   949,   950,  -728,    64,  -728,  -728,  -728,  -728,
1403 >     951,   954,   955,   956,  -728,  -728,   957,   786,   958,  -728,
1404 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1405 >    -728,  -728,  -181,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1406 >    -728,  -728,  -728,  -728,   768,   768,   768,  -728,  -728,  -728,
1407 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1408 >    -153,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1409 >    -728,  -728,  -728,  -728,   773,  -728,   692,  -728,  -728,  -728,
1410 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   -76,
1411 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1412 >    -728,  -728,  -728,   -46,  -728,   986,   906,   959,  -728,  -728,
1413 >    -728,  -728,  -728,  -728,   960,  -728,   962,   965,  -728,  -728,
1414 >     966,   967,  -728,  -728,   968,  -728,  -728,  -728,  -728,  -728,
1415 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,   -39,  -728,  -728,
1416 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1417 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1418 >    -728,  -728,  -728,  -728,  -728,    -7,  -728,  -728,  -728,  -728,
1419 >    -728,  -728,  -728,   219,  -728,  -728,  -728,  -728,  -728,  -728,
1420 >    -728,  -728,  -728,  -728,  -728,    59,  -728,  -728,   973,   -99,
1421 >     972,   969,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1422 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,    95,  -728,
1423 >    -728,  -728,   -26,  -728,  -728,  -728,  -728,     4,  -728,  -728,
1424 >    -728,   552,  -728,   -27,  -728,  -728,  -728,   988,   989,   994,
1425 >     993,   996,   998,  -728,   425,  -728,   732,  -728,  -728,   546,
1426 >     974,   976,   977,   259,  -728,  -728,   786,  -728,  -728,  -728,
1427 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1428 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1429 >    -728,   126,  -728,  -728,  -728,   259,  -728
1430   };
1431  
1432    /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
# Line 1431 | Line 1434 | static const yytype_int16 yypact[] =
1434       means the default is an error.  */
1435   static const yytype_uint16 yydefact[] =
1436   {
1437 <       2,     0,     1,     0,     0,     0,   230,   395,   443,     0,
1438 <     458,     0,   298,   434,   274,     0,   100,   152,   332,     0,
1439 <       0,   373,     0,   109,     0,   349,     3,    23,    11,     4,
1437 >       2,     0,     1,     0,     0,     0,   247,   410,   458,     0,
1438 >     473,     0,   313,   449,   289,     0,   113,   165,   347,     0,
1439 >       0,   388,     0,   122,     0,   364,     3,    23,    11,     4,
1440        24,    25,     5,     6,     8,     9,    10,    13,    14,    15,
1441        16,    17,    18,    19,    20,    22,    21,     7,    12,    26,
1442        27,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1443         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1444 <       0,     0,     0,     0,     0,     0,     0,     0,    92,    93,
1445 <      95,    94,   630,     0,     0,     0,     0,     0,     0,     0,
1446 <       0,     0,     0,     0,     0,     0,     0,     0,   615,   629,
1447 <     617,   618,   619,   620,   621,   622,   616,   623,   624,   625,
1448 <     626,   627,   628,     0,     0,     0,   456,     0,     0,   454,
1446 <     455,     0,   516,     0,     0,     0,     0,     0,     0,     0,
1444 >       0,     0,     0,     0,     0,     0,     0,     0,   105,   106,
1445 >     108,   107,   642,     0,     0,     0,     0,     0,     0,     0,
1446 >       0,     0,     0,     0,     0,   630,   641,   632,   633,   634,
1447 >     635,   636,   637,   638,   631,   639,   640,     0,     0,     0,
1448 >     471,     0,     0,   469,   470,     0,   531,     0,     0,     0,
1449         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1448       0,     0,     0,     0,     0,     0,     0,     0,   586,     0,
1449     560,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1450         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1451 <     469,   470,   471,   514,   515,   509,   510,   511,   512,   508,
1452 <     481,   472,   473,   474,   475,   476,   477,   478,   479,   480,
1453 <     482,   483,   513,   487,   488,   489,   490,   486,   485,   491,
1454 <     499,   500,   492,   493,   494,   495,   484,   497,   506,   507,
1455 <     504,   505,   498,   496,   502,   503,   501,     0,     0,     0,
1456 <       0,     0,     0,     0,    46,    47,    48,     0,     0,     0,
1457 <     656,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1458 <     647,   648,   649,   650,   651,   654,   652,   653,   655,     0,
1451 >       0,     0,   601,   575,     0,     0,     0,     0,     0,     0,
1452         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1453 <       0,     0,     0,     0,     0,     0,     0,     0,    54,    69,
1454 <      66,    64,    70,    71,    65,    55,    68,    58,    59,    60,
1455 <      56,    67,    61,    62,    63,    57,     0,     0,     0,     0,
1456 <     124,   125,   126,     0,     0,   347,     0,     0,   345,   346,
1457 <       0,    96,     0,     0,     0,     0,    91,     0,     0,     0,
1453 >       0,     0,     0,     0,   484,   485,   486,   529,   493,   530,
1454 >     524,   525,   526,   527,   523,   497,   487,   488,   489,   490,
1455 >     491,   492,   494,   495,   496,   498,   499,   528,   503,   504,
1456 >     505,   506,   502,   501,   507,   514,   515,   508,   509,   510,
1457 >     500,   512,   521,   522,   519,   520,   513,   511,   517,   518,
1458 >     516,     0,     0,     0,     0,     0,     0,     0,    46,    47,
1459 >      48,     0,     0,     0,   666,     0,     0,     0,     0,     0,
1460 >       0,     0,     0,     0,     0,   656,   657,   658,   659,   660,
1461 >     661,   662,   664,   663,   665,     0,     0,     0,     0,     0,
1462 >      82,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1463 >       0,     0,     0,     0,     0,     0,     0,    54,    69,    66,
1464 >      64,    70,    71,    65,    72,    73,    74,    55,    68,    58,
1465 >      59,    60,    56,    67,    61,    62,    63,    57,     0,     0,
1466 >       0,     0,   137,   138,   139,     0,     0,   362,     0,     0,
1467 >     360,   361,     0,   109,     0,     0,     0,     0,   104,     0,
1468         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1469 <       0,     0,   614,     0,     0,     0,     0,   268,     0,     0,
1469 >       0,   629,     0,     0,     0,     0,   283,     0,     0,     0,
1470         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1471 <       0,     0,   233,   234,   237,   239,   240,   241,   242,   243,
1472 <     244,   245,   246,   247,   235,   236,   238,   248,   249,   250,
1473 <       0,     0,     0,     0,     0,     0,     0,   423,     0,     0,
1474 <       0,     0,     0,     0,     0,     0,   398,   399,   400,   401,
1475 <     402,   403,   404,   406,   405,   408,   412,   409,   410,   411,
1476 <     407,   449,     0,     0,     0,   446,   447,   448,     0,     0,
1477 <     453,   464,     0,     0,     0,   461,   462,   463,     0,     0,
1471 >     250,   251,   254,   256,   257,   258,   259,   260,   261,   262,
1472 >     263,   252,   253,   255,   264,   265,   266,     0,     0,     0,
1473 >       0,     0,     0,     0,   438,     0,     0,     0,     0,     0,
1474 >       0,     0,     0,   413,   414,   415,   416,   417,   418,   419,
1475 >     421,   420,   423,   427,   424,   425,   426,   422,   464,     0,
1476 >       0,     0,   461,   462,   463,     0,     0,   468,   479,     0,
1477 >       0,     0,   476,   477,   478,     0,     0,     0,     0,     0,
1478         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1479         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1480         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1481         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1482 <       0,     0,     0,     0,     0,   468,     0,     0,     0,   315,
1483 <       0,     0,     0,     0,     0,     0,   301,   302,   303,   304,
1484 <     309,   305,   306,   307,   308,   440,     0,     0,     0,   437,
1485 <     438,   439,     0,     0,     0,   276,     0,   286,     0,   284,
1486 <     285,   287,   288,    49,     0,     0,     0,    45,     0,     0,
1487 <       0,     0,   103,   104,   105,     0,     0,     0,   203,     0,
1488 <       0,     0,     0,     0,   177,     0,     0,     0,   155,   156,
1489 <     157,   158,   159,   162,   163,   164,   165,   161,   160,   166,
1490 <       0,     0,     0,     0,     0,   335,   336,   337,   338,     0,
1491 <       0,     0,     0,     0,     0,     0,     0,     0,   646,    72,
1482 >       0,     0,   483,     0,     0,     0,   330,     0,     0,     0,
1483 >       0,     0,     0,   316,   317,   318,   319,   324,   320,   321,
1484 >     322,   323,   455,     0,     0,     0,   452,   453,   454,     0,
1485 >       0,     0,   291,     0,   301,     0,   299,   300,   302,   303,
1486 >      49,     0,     0,     0,    45,     0,     0,     0,     0,   116,
1487 >     117,   118,     0,     0,     0,   214,     0,     0,     0,     0,
1488 >     188,     0,     0,     0,   168,   169,   170,   171,   172,   175,
1489 >     176,   177,   174,   173,   178,     0,     0,     0,     0,     0,
1490 >     350,   351,   352,   353,     0,     0,     0,     0,     0,     0,
1491 >       0,     0,     0,     0,   655,    75,     0,     0,     0,     0,
1492         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1493 <       0,     0,     0,     0,     0,     0,     0,     0,    53,     0,
1494 <       0,   381,     0,   376,   377,   378,   127,     0,     0,   123,
1495 <       0,     0,     0,     0,     0,     0,     0,   112,   113,   115,
1496 <     114,   116,     0,     0,   344,     0,     0,   359,     0,     0,
1497 <     352,   353,   354,   355,     0,     0,     0,    90,     0,    28,
1493 >       0,     0,     0,     0,     0,     0,     0,    53,     0,     0,
1494 >     396,     0,   391,   392,   393,   140,     0,     0,   136,     0,
1495 >       0,     0,     0,     0,     0,     0,   125,   126,   128,   127,
1496 >     129,     0,     0,   359,     0,     0,   374,     0,     0,   367,
1497 >     368,   369,   370,     0,     0,     0,   103,     0,    28,     0,
1498 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   628,
1499 >     267,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1500 >       0,     0,     0,     0,     0,     0,     0,     0,   249,   428,
1501         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1502 <       0,     0,     0,   613,   251,     0,     0,     0,     0,     0,
1502 >       0,     0,     0,     0,     0,   412,     0,     0,     0,   460,
1503 >       0,   467,     0,     0,     0,   475,     0,     0,     0,     0,
1504         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1498       0,     0,     0,   232,   413,     0,     0,     0,     0,     0,
1505         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1500     397,     0,     0,     0,   445,     0,   452,     0,     0,     0,
1501     460,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1506         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1507         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1508 +       0,     0,     0,     0,   482,   325,     0,     0,     0,     0,
1509 +       0,     0,     0,     0,     0,   315,     0,     0,     0,   451,
1510 +     304,     0,     0,     0,     0,     0,   298,     0,     0,    44,
1511 +     119,     0,     0,     0,   115,   179,     0,     0,     0,     0,
1512 +       0,     0,     0,     0,     0,     0,     0,   167,   354,     0,
1513 +       0,     0,     0,   349,     0,     0,     0,     0,     0,     0,
1514 +       0,     0,     0,   654,     0,     0,     0,     0,     0,     0,
1515         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1516 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   467,
1517 <     310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1518 <     300,     0,     0,     0,   436,   289,     0,     0,     0,     0,
1519 <       0,   283,     0,     0,    44,   106,     0,     0,     0,   102,
1520 <     167,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1521 <       0,     0,     0,   154,   339,     0,     0,     0,     0,   334,
1522 <       0,     0,     0,     0,     0,     0,     0,     0,   645,     0,
1516 >       0,     0,     0,     0,    52,   394,     0,     0,     0,   390,
1517 >       0,   135,     0,   130,     0,     0,     0,     0,     0,   124,
1518 >       0,   358,   371,     0,     0,     0,     0,   366,   112,   111,
1519 >     110,   652,    28,    28,    28,    28,    28,    28,    28,    30,
1520 >      29,   653,   643,   644,   645,   646,   647,   648,   649,   651,
1521 >     650,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1522 >       0,     0,     0,     0,     0,    38,     0,     0,   248,     0,
1523         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1524 <       0,     0,     0,     0,     0,     0,    52,   379,     0,     0,
1525 <       0,   375,     0,   122,     0,   117,     0,     0,     0,     0,
1526 <       0,   111,     0,   343,   356,     0,     0,     0,     0,   351,
1527 <      99,    98,    97,   643,    28,    28,    28,    28,    28,    28,
1528 <      28,    30,    29,   644,   640,   639,   631,   632,   633,   634,
1529 <     635,   636,   638,   637,   641,   642,     0,     0,     0,     0,
1530 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1531 <       0,    38,     0,     0,   231,     0,     0,     0,     0,     0,
1532 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1533 <     396,     0,     0,   444,   457,     0,     0,   459,   529,   533,
1534 <     517,   518,   548,   520,   612,   557,   521,   522,   554,   528,
1535 <     527,   536,   526,   523,   524,   532,   531,   530,   555,   519,
1536 <     610,   611,   552,   596,   590,   606,   591,   592,   593,   601,
1537 <     609,   594,   603,   607,   597,   608,   598,   602,   595,   605,
1538 <     600,   599,   604,     0,   589,   553,   569,   570,   571,   564,
1539 <     582,   565,   566,   567,   577,   585,   568,   579,   583,   573,
1540 <     584,   574,   578,   572,   581,   576,   575,   580,     0,   563,
1541 <     549,   547,   550,   556,   551,   538,   545,   546,   543,   544,
1542 <     539,   540,   541,   542,   558,   559,   525,   535,   534,   537,
1543 <       0,     0,     0,     0,     0,     0,     0,     0,   299,     0,
1544 <       0,   435,     0,     0,     0,   294,   290,   293,   275,    50,
1545 <      51,     0,     0,   101,     0,     0,     0,     0,     0,     0,
1546 <       0,     0,     0,     0,     0,   153,     0,     0,     0,   333,
1547 <     658,   657,   663,   661,   664,   659,   660,   662,    86,    81,
1548 <      89,    80,    87,    88,    79,    83,    82,    74,    73,    78,
1549 <      75,    77,    76,    84,    85,     0,     0,   374,   128,     0,
1550 <       0,     0,   140,     0,   132,   133,   135,   134,     0,     0,
1551 <       0,     0,   110,   348,     0,     0,     0,   350,    31,    32,
1552 <      33,    34,    35,    36,    37,   263,   264,   255,   273,   272,
1553 <       0,   271,   256,   258,   260,   267,   259,   257,   266,   252,
1554 <     265,   254,   253,    38,    38,    38,    40,    39,   261,   262,
1555 <     418,   421,   422,   432,   429,   415,   430,   427,   428,     0,
1556 <     426,   431,   414,   420,   417,   419,   433,   416,   450,   451,
1557 <     465,   466,   587,     0,   561,     0,   313,   314,   324,   320,
1558 <     321,   323,   328,   325,   326,   319,   327,   322,     0,   318,
1559 <     312,   331,   330,   329,   311,   442,   441,   297,   296,   281,
1560 <     282,   280,     0,   279,     0,     0,     0,   107,   108,   176,
1561 <     172,   222,   210,   219,   208,   213,   228,   221,   226,   212,
1562 <     215,   223,   225,   229,   220,   227,   216,   218,   224,   214,
1563 <     217,     0,   206,   168,   170,   173,   174,   175,   186,   187,
1564 <     188,   181,   199,   182,   183,   184,   194,   202,   185,   196,
1565 <     200,   190,   201,   191,   195,   189,   198,   193,   192,   197,
1566 <       0,   180,   169,   171,   342,   340,   341,   380,   385,   391,
1567 <     394,   387,   393,   388,   392,   390,   386,   389,     0,   384,
1568 <     136,     0,     0,     0,     0,   131,   119,   118,   120,   121,
1569 <     357,   363,   369,   372,   365,   371,   366,   370,   368,   364,
1559 <     367,     0,   362,   358,   269,     0,    41,    42,    43,   424,
1560 <       0,   588,   562,   316,     0,   277,     0,   295,   292,   291,
1561 <       0,     0,     0,   204,     0,   178,     0,   382,     0,     0,
1562 <       0,     0,     0,   130,   360,     0,   270,   425,   317,   278,
1563 <     209,   207,   211,   205,   179,   383,   137,   139,   138,   150,
1564 <     149,   145,   147,   151,   148,   144,   146,     0,   143,   361,
1565 <     141,     0,   142
1524 >       0,     0,     0,     0,   411,     0,     0,   459,   472,     0,
1525 >       0,   474,   545,   549,   532,   533,   564,   536,   627,   572,
1526 >     537,   538,   569,   544,   543,   552,   542,   539,   540,   548,
1527 >     547,   546,   570,   534,   625,   626,   568,   611,   605,   621,
1528 >     606,   607,   608,   616,   624,   609,   618,   622,   612,   623,
1529 >     613,   617,   610,   620,   615,   614,   619,     0,   604,   584,
1530 >     585,   586,   579,   597,   580,   581,   582,   592,   600,   583,
1531 >     594,   598,   588,   599,   589,   593,   587,   596,   591,   590,
1532 >     595,     0,   578,   565,   563,   566,   571,   567,   554,   561,
1533 >     562,   559,   560,   555,   556,   557,   558,   573,   574,   541,
1534 >     551,   550,   553,   535,     0,     0,     0,     0,     0,     0,
1535 >       0,     0,   314,     0,     0,   450,     0,     0,     0,   309,
1536 >     305,   308,   290,    50,    51,     0,     0,   114,     0,     0,
1537 >       0,     0,     0,     0,     0,     0,     0,     0,   166,     0,
1538 >       0,     0,   348,   670,   667,   668,   669,   674,   673,   675,
1539 >     671,   672,    99,    94,   102,    93,    89,    87,    88,    86,
1540 >       0,    85,    90,    91,   100,   101,    92,    96,    95,    77,
1541 >      76,    81,    78,    80,    79,    97,    98,     0,     0,   389,
1542 >     141,     0,     0,     0,   153,     0,   145,   146,   148,   147,
1543 >       0,     0,     0,     0,   123,   363,     0,     0,     0,   365,
1544 >      31,    32,    33,    34,    35,    36,    37,   278,   279,   271,
1545 >     288,   287,     0,   286,   272,   274,   282,   275,   273,   281,
1546 >     268,   280,   270,   269,    38,    38,    38,    40,    39,   276,
1547 >     277,   433,   436,   437,   447,   444,   430,   445,   442,   443,
1548 >       0,   441,   446,   429,   435,   432,   434,   448,   431,   465,
1549 >     466,   480,   481,   602,     0,   576,     0,   328,   329,   339,
1550 >     335,   336,   338,   343,   340,   341,   334,   342,   337,     0,
1551 >     333,   327,   346,   345,   344,   326,   457,   456,   312,   311,
1552 >     296,   297,   295,     0,   294,     0,     0,     0,   120,   121,
1553 >     187,   184,   234,   246,   221,   230,     0,   219,   224,   240,
1554 >       0,   233,   238,   244,   223,   226,   235,   237,   241,   231,
1555 >     239,   227,   245,   229,   236,   225,   228,     0,   217,   180,
1556 >     182,   185,   186,   197,   198,   199,   192,   210,   193,   194,
1557 >     195,   205,   213,   196,   207,   211,   201,   212,   202,   206,
1558 >     200,   209,   204,   203,   208,     0,   191,   181,   183,   357,
1559 >     355,   356,    83,     0,   395,   400,   406,   409,   402,   408,
1560 >     403,   407,   405,   401,   404,     0,   399,   149,     0,     0,
1561 >       0,     0,   144,   132,   131,   133,   134,   372,   378,   384,
1562 >     387,   380,   386,   381,   385,   383,   379,   382,     0,   377,
1563 >     373,   284,     0,    41,    42,    43,   439,     0,   603,   577,
1564 >     331,     0,   292,     0,   310,   307,   306,     0,     0,     0,
1565 >       0,     0,     0,   215,     0,   189,     0,    84,   397,     0,
1566 >       0,     0,     0,     0,   143,   375,     0,   285,   440,   332,
1567 >     293,   220,   243,   218,   242,   232,   222,   216,   190,   398,
1568 >     150,   152,   151,   163,   162,   158,   160,   164,   161,   157,
1569 >     159,     0,   156,   376,   154,     0,   155
1570   };
1571  
1572    /* YYPGOTO[NTERM-NUM].  */
1573   static const yytype_int16 yypgoto[] =
1574   {
1575 <    -739,  -739,  -739,  -457,  -306,  -738,  -640,  -739,  -739,   957,
1576 <    -739,  -739,  -739,  -739,   971,  -739,  -739,  -739,  -739,  -739,
1577 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1578 <    -739,  -739,  -739,  -739,  1032,  -739,  -739,  -739,  -739,  -739,
1579 <    -739,   621,  -739,  -739,  -739,  -739,  -739,   529,  -739,  -739,
1580 <    -739,  -739,  -739,  -739,   933,  -739,  -739,  -739,  -739,    66,
1581 <    -739,  -739,  -739,  -739,  -739,  -191,  -739,  -739,  -739,   642,
1582 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1583 <    -739,  -739,  -151,  -739,  -739,  -739,  -148,  -739,  -739,  -739,
1584 <     828,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1585 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1586 <    -128,  -739,  -739,  -739,  -739,  -739,  -132,  -739,   650,  -739,
1587 <    -739,  -739,   -22,  -739,  -739,  -739,  -739,  -739,   670,  -739,
1588 <    -739,  -739,  -739,  -739,  -739,  -739,  -104,  -739,  -739,  -739,
1589 <    -739,  -739,  -739,   654,  -739,  -739,  -739,  -739,  -739,   973,
1590 <    -739,  -739,  -739,  -739,   582,  -739,  -739,  -739,  -739,  -739,
1591 <    -117,  -739,  -739,  -739,   598,  -739,  -739,  -739,  -739,   -95,
1592 <    -739,  -739,  -739,   976,  -739,  -739,  -739,  -739,  -739,  -739,
1593 <    -739,  -739,  -739,  -739,  -739,   -68,  -739,  -739,  -739,  -739,
1594 <    -739,  -739,  -739,  -739,   716,  -739,  -739,  -739,  -739,  -739,
1595 <     814,  -739,  -739,  -739,  -739,  1077,  -739,  -739,  -739,  -739,
1596 <     977,  -739,  -739,  -739,  -739,  1027,  -739,  -739,  -739,  -739,
1597 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1598 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1599 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1600 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1601 <      81,  -739,  -739,  -739,    84,  -739,  -739,  -739,  -739,  -739,
1602 <    1108,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1603 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,   979,  -739,  -739,
1604 <    -739,  -739,  -739,  -739,  -739,  -739
1575 >    -728,  -728,  -728,  -243,  -308,  -727,  -635,  -728,  -728,   978,
1576 >    -728,  -728,  -728,  -728,   952,  -728,  -728,  -728,  -728,  -728,
1577 >    -728,  -728,  -728,  -728,  -122,  -728,  -728,  -728,  -728,  -728,
1578 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1579 >    1028,  -728,  -728,  -728,  -728,  -728,  -728,   660,  -728,  -728,
1580 >    -728,  -728,  -728,   572,  -728,  -728,  -728,  -728,  -728,  -728,
1581 >     953,  -728,  -728,  -728,  -728,    84,  -728,  -728,  -728,  -728,
1582 >    -728,  -163,  -728,  -728,  -728,   627,  -728,  -728,  -728,  -728,
1583 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -126,  -728,  -728,
1584 >    -728,  -121,  -728,  -728,  -728,   859,  -728,  -728,  -728,  -728,
1585 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1586 >    -728,  -728,  -728,  -728,   -96,  -728,  -728,  -728,  -728,  -728,
1587 >    -105,  -728,   690,  -728,  -728,  -728,    27,  -728,  -728,  -728,
1588 >    -728,  -728,   718,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1589 >     -87,  -728,  -728,  -728,  -728,  -728,  -728,   665,  -728,  -728,
1590 >    -728,  -728,  -728,   975,  -728,  -728,  -728,  -728,   599,  -728,
1591 >    -728,  -728,  -728,  -728,  -100,  -728,  -728,  -728,   629,  -728,
1592 >    -728,  -728,  -728,   -77,  -728,  -728,  -728,   870,  -728,  -728,
1593 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   -65,
1594 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   739,  -728,
1595 >    -728,  -728,  -728,  -728,   822,  -728,  -728,  -728,  -728,  1103,
1596 >    -728,  -728,  -728,  -728,   819,  -728,  -728,  -728,  -728,  1053,
1597 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1598 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1599 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1600 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
1601 >    -728,  -728,  -728,  -728,    93,  -728,  -728,  -728,    97,  -728,
1602 >    -728,  -728,  -728,  -728,  1123,  -728,  -728,  -728,  -728,  -728,
1603 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   990,  -728,
1604 >    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728
1605   };
1606  
1607    /* YYDEFGOTO[NTERM-NUM].  */
1608   static const yytype_int16 yydefgoto[] =
1609   {
1610 <      -1,     1,    26,   831,   832,  1096,  1097,    27,   223,   224,
1611 <     225,   226,    28,   267,   268,   269,   270,   271,   272,   273,
1612 <     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
1613 <     284,   285,    29,    77,    78,    79,    80,    81,    30,    63,
1614 <     501,   502,   503,   504,    31,    70,   586,   587,   588,   589,
1615 <     590,   591,    32,   289,   290,   291,   292,   293,  1053,  1054,
1616 <    1055,  1056,  1057,  1233,  1307,  1308,    33,    64,   517,   518,
1617 <     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
1618 <     759,  1210,  1211,   529,   753,  1181,  1182,    34,    53,   341,
1619 <     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
1620 <     352,   353,   354,   355,   356,   357,   358,   359,   628,  1080,
1621 <    1081,    35,    61,   487,   738,  1152,  1153,   488,   489,   490,
1622 <    1156,   996,   997,   491,   492,    36,    59,   465,   466,   467,
1623 <     468,   469,   470,   471,   723,  1138,  1139,   472,   473,   474,
1624 <      37,    65,   534,   535,   536,   537,   538,    38,   297,   298,
1625 <     299,    39,    72,   599,   600,   601,   602,   603,   816,  1251,
1626 <    1252,    40,    68,   572,   573,   574,   575,   799,  1228,  1229,
1627 <      41,    54,   375,   376,   377,   378,   379,   380,   381,   382,
1628 <     383,   384,   385,   651,  1109,  1110,   386,   387,   388,   389,
1629 <     390,    42,    60,   478,   479,   480,   481,    43,    55,   394,
1630 <     395,   396,   397,    44,   118,   119,   120,    45,    57,   404,
1631 <     405,   406,   407,    46,   169,   170,   171,   172,   173,   174,
1610 >      -1,     1,    26,   829,   830,  1097,  1098,    27,   217,   218,
1611 >     219,   220,    28,   266,   267,   268,   269,   270,   271,   272,
1612 >     273,   274,   550,  1030,  1031,   275,   276,   277,   278,   279,
1613 >     280,   281,   282,   283,   284,   285,   286,   287,    29,    77,
1614 >      78,    79,    80,    81,    30,    63,   498,   499,   500,   501,
1615 >      31,    70,   585,   586,   587,   588,   589,   590,    32,   291,
1616 >     292,   293,   294,   295,  1055,  1056,  1057,  1058,  1059,  1240,
1617 >    1321,  1322,    33,    64,   513,   514,   515,   516,   517,   518,
1618 >     519,   520,   521,   522,   523,   753,  1215,  1216,   524,   748,
1619 >    1187,  1188,    34,    53,   339,   340,   341,   342,   343,   344,
1620 >     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1621 >     355,   356,   624,  1082,  1083,    35,    61,   484,   733,  1153,
1622 >    1154,   485,   486,   487,  1157,   990,   991,   488,   489,    36,
1623 >      59,   462,   463,   464,   465,   466,   467,   468,   718,  1139,
1624 >    1140,   469,   470,   471,    37,    65,   529,   530,   531,   532,
1625 >     533,    38,   299,   300,   301,    39,    72,   598,   599,   600,
1626 >     601,   602,   814,  1258,  1259,    40,    68,   571,   572,   573,
1627 >     574,   797,  1235,  1236,    41,    54,   372,   373,   374,   375,
1628 >     376,   377,   378,   379,   380,   381,   382,   646,  1110,  1111,
1629 >     383,   384,   385,   386,   387,    42,    60,   475,   476,   477,
1630 >     478,    43,    55,   391,   392,   393,   394,    44,   112,   113,
1631 >     114,    45,    57,   401,   402,   403,   404,    46,   163,   164,
1632 >     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1633       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1634       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1635       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1636 <     205,   206,   207,   208,   209,   210,   211,   212,   435,   958,
1637 <     959,   213,   433,   933,   934,   214,   215,   216,    47,    97,
1638 <      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1639 <     108,   109,   110,   111,   112,    48,   239,   240,   241,   242,
1635 <     243,   244,   245,   246,   247,   248
1636 >     205,   206,   431,   951,   952,   207,   430,   927,   928,   208,
1637 >     209,   210,    47,    94,    95,    96,    97,    98,    99,   100,
1638 >     101,   102,   103,   104,   105,   106,    48,   234,   235,   236,
1639 >     237,   238,   239,   240,   241,   242,   243,   244
1640   };
1641  
1642    /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
# Line 1640 | Line 1644 | static const yytype_int16 yydefgoto[] =
1644       number is the opposite.  If YYTABLE_NINF, syntax error.  */
1645   static const yytype_int16 yytable[] =
1646   {
1647 <     862,   863,   610,  1107,    51,   230,    52,   615,   122,   617,
1648 <     618,   569,   295,   123,   124,   391,   125,   126,   595,    56,
1649 <     401,   127,   116,   530,   705,    49,    50,   475,   706,   128,
1650 <     129,   707,    73,   391,   498,   708,   498,  1078,   231,   130,
1651 <     220,   220,   131,   132,   133,   866,   867,   232,    58,   134,
1652 <     233,   234,  1093,  1094,  1095,   235,   236,   237,   861,    62,
1653 <      66,    74,   530,   531,   135,   136,   456,  1122,   287,    75,
1654 <     116,  1123,    67,   137,  1049,   392,   138,   139,  1049,   238,
1655 <     482,   401,   117,   595,   457,   140,    69,   475,   569,    71,
1656 <     295,  1124,   141,   392,   142,  1125,   143,   113,   144,   532,
1657 <     145,   146,   531,   672,   458,   674,   675,   287,   570,   296,
1658 <     499,  1079,   499,   147,  1149,   596,   685,   402,   148,   149,
1659 <     150,   690,   151,   152,   153,   249,   114,   154,   459,    76,
1660 <     117,   700,   701,   483,   221,   221,   581,  1254,   532,   393,
1661 <     484,  1255,   485,   714,   403,   716,   717,   533,  1259,   861,
1662 <     250,   476,  1260,   155,   251,  1280,  1263,   393,   222,   222,
1663 <    1264,   115,   121,   156,   157,   158,   159,   160,   161,   162,
1664 <     217,  1050,    82,   323,   581,  1050,   218,  1265,   402,   252,
1665 <     596,  1266,   219,   460,   227,   570,   533,   296,   253,   324,
1666 <     325,   461,   462,   326,  1108,    83,    84,   228,    85,    86,
1667 <     229,   486,  1273,   286,    87,   403,  1274,   500,   294,   500,
1668 <     254,   476,   463,  1275,   255,   301,   300,  1276,   493,   163,
1669 <     164,   165,   256,   166,   167,   257,   258,   549,   505,   571,
1670 <      88,    89,   168,   582,   547,   327,   597,   454,   302,   598,
1671 <     777,  -129,    90,    91,    92,   360,   506,   361,   477,   362,
1672 <      93,    94,   328,   329,   330,   331,   332,   259,  1150,   303,
1673 <     333,   305,   663,   363,   334,   748,   507,  1151,  1051,   496,
1674 <     335,   582,  1051,   576,   260,    95,    96,   261,   262,   263,
1675 <    -129,   336,   337,   364,   304,  1277,   307,   464,   288,  1278,
1676 <     508,   768,  1052,   338,   308,   729,  1052,   578,   365,   399,
1677 <     366,   597,   583,  1234,   598,   607,   571,   367,   477,   740,
1678 <     669,   580,   818,   505,   608,   339,   733,   800,   368,   593,
1679 <     584,   848,   309,    73,   264,   509,   853,   288,   310,   856,
1680 <     482,   506,  1299,   860,  1300,   311,   585,  1284,   604,  1310,
1681 <     583,  1285,   369,  1311,   456,   510,   312,   265,   266,   313,
1682 <     314,   507,    74,   315,   567,  1256,  1257,  1258,   584,   340,
1683 <      75,   511,   457,   316,   317,   810,   370,  1068,  1069,  1070,
1684 <    1071,  1072,  1073,  1074,   585,   508,   318,   319,   512,   513,
1685 <     320,  1301,   458,   483,   398,   408,   371,   409,   410,   411,
1686 <     484,   122,   485,   412,   413,   372,   123,   124,  1302,   125,
1687 <     126,   321,   642,   623,   127,   605,   459,   414,   415,   416,
1688 <     509,   417,   128,   129,   418,   419,   420,   421,   422,   423,
1689 <      76,   424,   130,   425,   426,   131,   132,   133,   427,   514,
1690 <     510,   428,   134,   429,   430,   431,   432,  1303,  1304,   434,
1691 <     436,   437,   438,   439,   373,   440,   511,   135,   136,   515,
1692 <     441,   486,   442,   516,   443,   444,   137,   762,   445,   138,
1693 <     139,   460,   446,   512,   513,   447,   448,   374,   140,   461,
1694 <     462,   449,  1161,   450,   659,   141,   606,   142,   451,   143,
1695 <     452,   144,   453,   145,   146,   494,   495,   539,  1162,  1305,
1696 <     463,  1128,   540,   541,  1306,   542,   147,   543,   544,  1163,
1697 <     545,   148,   149,   150,   546,   151,   152,   153,   550,   551,
1698 <     154,   552,   553,   554,   514,   555,  1129,   556,   557,   558,
1699 <     559,   560,   561,   562,   360,   563,   361,   564,   362,  1218,
1700 <     565,   249,   566,  1164,   515,  1165,   155,   577,   516,   609,
1701 <     592,   609,   363,   611,  1130,   612,   156,   157,   158,   159,
1702 <     160,   161,   162,   613,   614,   616,   250,   619,   620,   621,
1703 <     251,   622,   364,  1166,   624,   464,   824,   825,   826,   827,
1704 <     828,   829,   830,   625,   644,  1131,  1132,   365,   626,   366,
1705 <     665,   627,   671,  1133,   629,   252,   367,   630,   631,   632,
1706 <     633,   634,  1281,  1219,   253,   635,  1167,   368,  1168,   636,
1707 <     637,   638,   163,   164,   165,   639,   166,   167,  1134,   640,
1708 <     641,   645,   646,   647,   648,   168,   254,  1169,   649,   650,
1709 <     255,   369,   666,   652,  1135,  1220,   653,   654,   256,   655,
1710 <     656,   257,   258,  1221,   657,   658,   661,   662,   667,  1170,
1711 <     668,   673,  1222,   676,  1171,   370,   677,   678,  1172,   679,
1712 <     680,   681,  1173,   682,   683,   684,   686,  1174,   687,   688,
1713 <     689,  1175,   691,   259,   692,   371,  1223,   693,  1224,  1225,
1714 <     230,   694,  1176,   696,   372,  1177,   936,  1178,   937,   938,
1715 <     260,   323,  1226,   261,   262,   263,  1136,   698,  1179,  1227,
1716 <       2,     3,   695,   697,     4,  1180,   699,   324,   325,   702,
1717 <     703,   326,   704,   231,  1137,   709,     5,   710,   711,     6,
1718 <       7,   712,   232,   713,   715,   233,   234,   718,   721,     8,
1719 <     235,   236,   237,   373,   719,   722,   742,   720,   735,   743,
1720 <     264,     9,   773,   724,    10,    11,   725,   726,   780,   727,
1721 <     728,   731,   732,   327,   238,   736,   374,   737,   739,   744,
1722 <     745,   746,    12,   265,   266,    13,   747,   750,   751,   752,
1723 <     328,   329,   330,   331,   332,   764,    14,  1188,   333,  1189,
1724 <    1190,   754,   334,   770,   779,   771,   755,   756,   335,   757,
1725 <     772,   758,   774,   775,   776,   760,    15,    16,   782,   336,
1726 <     337,   781,   761,   765,   939,   940,   941,   766,   767,   942,
1727 <     943,   338,   944,   945,    17,   946,   778,   947,   913,   783,
1728 <     948,   784,   949,   950,   785,   786,   787,   788,   951,   789,
1729 <     790,    18,   952,   339,   796,   791,   953,   954,   955,   792,
1730 <     793,   794,   795,   956,    19,    20,   797,   802,   957,   803,
1731 <     798,   812,  1241,   804,   846,   805,   806,   847,   850,   807,
1732 <     808,   809,   813,   814,   815,   851,   820,   817,    21,   852,
1733 <     821,   822,   823,   833,   834,   835,   836,   340,   837,   838,
1734 <     839,    22,   840,   841,   842,   843,    23,   844,   845,   849,
1735 <     854,    24,   855,   857,    25,  1191,  1192,  1193,   858,   859,
1736 <    1194,  1195,   861,  1196,  1197,   869,  1198,   864,  1199,   865,
1737 <     868,  1200,   870,  1201,  1202,   871,  1242,   872,   873,  1203,
1738 <     874,   875,   876,  1204,   877,   878,   879,  1205,  1206,  1207,
1739 <     881,   882,   885,   886,  1208,   984,   914,   915,   916,  1209,
1740 <     982,   917,   918,   880,   919,   920,   981,   921,  1243,   922,
1741 <      82,   883,   923,   884,   924,   925,  1244,   980,   887,   888,
1742 <     926,   889,   890,   891,   927,  1245,   892,   893,   928,   929,
1743 <     930,   894,   895,    83,    84,   931,    85,    86,   983,   985,
1744 <     932,   896,    87,   897,   898,   899,   986,   900,   901,  1246,
1745 <     987,  1247,  1248,   902,   903,   904,   905,   906,   907,   989,
1746 <     908,   990,   909,   910,   911,  1249,   912,   935,    88,    89,
1747 <     960,   992,  1250,   993,   995,   994,  1001,   961,  1002,  1004,
1748 <      90,    91,    92,  1007,  1008,   962,  1009,   963,    93,    94,
1749 <    1010,  1013,  1006,   964,   965,   966,  1005,  1014,  1016,  1017,
1750 <     967,   968,  1018,   969,   970,   971,   972,   973,   974,   975,
1751 <     976,   977,   978,    95,    96,   979,  1011,   988,   991,   998,
1752 <     999,  1000,  1003,  1045,  1058,  1015,  1019,  1012,  1020,  1021,
1753 <    1022,  1023,  1024,  1025,  1059,  1026,  1027,  1028,  1029,  1030,
1754 <    1031,  1032,  1033,  1034,  1060,  1061,  1035,  1036,  1037,  1038,
1755 <    1039,  1040,  1064,  1041,  1042,  1043,  1066,  1044,  1267,  1047,
1756 <    1048,  1046,  1062,  1063,  1065,  1279,  1067,  1231,  1075,  1076,
1757 <    1077,  1082,  1083,  1084,  1085,  1086,  1087,  1290,  1088,   306,
1758 <    1089,  1090,  1291,  1091,  1292,   811,  1092,  1098,  1099,  1235,
1759 <    1312,  1100,   749,  1101,  1102,  1294,  1293,  1286,  1103,  1104,
1760 <    1105,  1106,  1111,  1268,  1289,   730,  1112,  1113,   741,  1114,
1761 <    1115,  1116,  1117,  1118,  1119,  1120,  1121,  1126,  1127,  1140,
1762 <    1141,  1142,  1143,  1144,  1145,  1146,  1147,  1148,  1154,   763,
1763 <    1288,  1157,  1155,  1158,  1159,  1160,  1183,  1184,  1309,   643,
1764 <     801,  1185,  1186,  1187,  1212,  1213,  1214,  1215,  1216,  1217,
1765 <     497,   819,  1230,  1295,  1236,  1237,  1232,  1238,   769,  1239,
1766 <    1240,  1253,  1287,  1269,   734,   400,   455,  1283,  1296,  1270,
1767 <    1271,  1272,  1282,  1297,  1298,   322,  1262,  1261,   664,     0,
1768 <       0,     0,     0,     0,     0,     0,     0,     0,   548,     0,
1769 <       0,     0,   579,     0,     0,     0,     0,     0,     0,     0,
1766 <       0,     0,     0,     0,     0,     0,     0,     0,   568,     0,
1767 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1768 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1647 >     856,   857,   609,   110,  1051,   612,   613,   479,   615,   616,
1648 >      51,    73,  1108,   495,   855,   594,   297,    52,   297,   699,
1649 >      56,  1150,    58,   700,   388,   110,  1080,   245,    62,   398,
1650 >     701,   388,   398,  1123,   702,  1125,   289,  1124,    73,  1126,
1651 >      74,    66,   214,    49,    50,   568,  1222,   495,    75,    67,
1652 >    1223,   568,   472,  1261,   246,   116,   247,  1262,   289,    69,
1653 >     117,   118,   480,   119,   120,  1051,   111,    74,   121,    71,
1654 >     481,   107,   482,   594,   108,    75,   109,   472,   122,   123,
1655 >     453,  1266,   115,   248,   211,  1267,   124,   389,   111,   125,
1656 >     126,   127,   580,   249,   389,   496,   128,   212,   667,   454,
1657 >     669,   670,  1081,   860,   861,   250,   251,   252,  1052,   213,
1658 >    1291,   680,   221,   129,   130,    76,   685,   253,   455,   595,
1659 >     298,   254,   298,   222,   131,   694,   695,   132,   133,   496,
1660 >     223,   255,   483,   399,   256,   257,   399,   708,   134,   710,
1661 >     711,   525,    76,   215,   135,   456,   136,   502,   137,   569,
1662 >     138,   580,   390,   139,   140,   569,   288,   400,  1270,   390,
1663 >     400,   296,  1271,   258,   216,   141,   503,  1151,   302,  1052,
1664 >     142,   143,    82,   144,   145,   146,  1152,   595,   147,   259,
1665 >     473,   526,   260,   261,   262,   504,   303,   357,  1272,   358,
1666 >     497,   359,  1273,   304,   305,  1283,   581,    83,    84,  1284,
1667 >     306,   457,  1053,   148,    85,   473,   360,  1109,   309,   458,
1668 >     459,   490,   505,  -142,   149,   150,   151,   152,   153,   154,
1669 >     155,   322,   310,   527,   497,   361,  1054,  1285,   766,   460,
1670 >     263,  1286,    86,    87,    88,  -142,  1026,   596,   323,   324,
1671 >     597,   735,   362,   325,   363,   307,    89,    90,    91,   816,
1672 >     592,   506,   364,   264,   265,   581,    92,    93,   658,   396,
1673 >     290,   566,   582,  1053,   365,   603,   664,   570,   507,   528,
1674 >     156,   157,   158,   570,   159,   160,   493,   474,   579,   798,
1675 >     583,   743,   290,   161,   311,   162,   326,  1054,   214,   451,
1676 >     312,   366,   577,  1288,   224,   596,   584,  1289,   597,  1241,
1677 >     508,   509,   474,   313,   314,   461,   327,   328,   329,   330,
1678 >     525,   728,   367,   331,   724,   843,  1027,   315,   332,   847,
1679 >    1028,   582,   850,   316,   317,   333,   854,   225,  1313,  1295,
1680 >    1314,   368,   545,  1296,   334,   335,   226,   227,   228,   583,
1681 >     369,   229,   230,   318,   502,   336,   231,   232,   233,   319,
1682 >     526,   395,   510,   479,   405,   584,  1094,  1095,  1096,   406,
1683 >    1324,   407,   408,   503,  1325,   409,   337,  1263,  1264,  1265,
1684 >     410,   411,   511,   412,   413,   762,   512,  1315,  1029,   414,
1685 >     415,   756,   504,   604,   416,   808,   417,   575,   418,   215,
1686 >     370,   116,   527,   419,  1316,   420,   117,   118,   421,   119,
1687 >     120,   422,   423,   424,   121,   425,   320,   426,   480,   505,
1688 >     216,   338,   427,   371,   122,   123,   481,   428,   482,   429,
1689 >     432,   654,   124,   605,   433,   125,   126,   127,   434,  1162,
1690 >     435,   436,   128,  1317,  1318,   437,   438,   439,   528,   245,
1691 >     440,   441,   442,   443,   444,   445,  1163,  1164,   506,   129,
1692 >     130,   446,   447,   448,   449,   637,  1165,   606,   855,   450,
1693 >     131,   491,   492,   132,   133,   507,   246,   534,   247,   535,
1694 >     536,   537,   538,   539,   134,   540,   541,   542,   483,   546,
1695 >     135,   547,   136,   548,   137,  1319,   138,   549,   551,   139,
1696 >     140,  1320,   552,  1166,  1167,   248,  1168,   508,   509,   553,
1697 >     554,   141,   555,   556,   557,   249,   142,   143,   558,   144,
1698 >     145,   146,   559,   560,   147,   561,   562,   250,   251,   252,
1699 >     563,   564,   565,   453,   607,   576,   591,  1169,   543,   253,
1700 >     608,   610,   611,   254,   614,  1170,   617,   618,   619,   148,
1701 >     620,   660,   454,   255,   621,   622,   256,   257,   623,   510,
1702 >     149,   150,   151,   152,   153,   154,   155,  1171,   625,  1172,
1703 >    1173,   455,   626,   627,   628,   629,   630,  1129,   631,   511,
1704 >     632,   633,   634,   512,   357,   258,   358,  1174,   359,  1070,
1705 >    1071,  1072,  1073,  1074,  1075,  1076,   635,   636,   456,   639,
1706 >     640,   259,  1130,   360,   260,   261,   262,   641,   642,   643,
1707 >    1175,   644,   645,   647,  1292,  1176,   156,   157,   158,  1177,
1708 >     159,   160,   361,  1178,   648,   649,   650,  1225,  1179,   161,
1709 >     651,   162,  1180,   652,  1131,   653,   656,   661,   657,   362,
1710 >     666,   363,   662,  1181,   663,  1182,  1183,   668,  1184,   364,
1711 >     672,   671,   263,   673,   457,   674,   675,   676,   677,  1185,
1712 >     678,   365,   458,   459,   679,   681,   682,  1186,  1132,  1133,
1713 >     683,   684,   686,   687,  1134,   264,   265,   688,   689,     2,
1714 >       3,   690,   460,     4,   691,   693,   696,   692,   366,   697,
1715 >     698,  1226,   703,   704,   705,     5,   706,   707,  1135,     6,
1716 >     709,     7,   712,   713,   716,   717,   714,   715,     8,   367,
1717 >     730,   764,   737,  1136,   738,   765,   322,   719,   767,   720,
1718 >       9,   721,   739,  1227,   769,    10,    11,   722,   368,   723,
1719 >     726,  1228,   727,   323,   324,   731,   732,   369,   325,   734,
1720 >    1229,   740,   741,   742,    12,   745,   746,   747,    13,   749,
1721 >     929,   750,   930,   931,   751,   752,   754,   755,   461,   758,
1722 >     759,    14,   768,   760,  1230,   761,  1231,  1232,   774,   770,
1723 >     771,   775,   773,    82,   777,   779,  1137,   778,   772,   780,
1724 >    1233,   326,    15,    16,   776,   781,   782,   370,  1234,   783,
1725 >    1193,   784,  1194,  1195,   785,  1138,   786,    17,    83,    84,
1726 >     794,   327,   328,   329,   330,    85,   795,   787,   331,   788,
1727 >     371,   789,   790,   332,    18,   791,   792,   793,   796,   800,
1728 >     333,   810,   801,   804,   841,   802,    19,    20,   803,   334,
1729 >     335,   907,   805,    86,    87,    88,   806,   807,   813,   811,
1730 >     336,   812,   818,   815,   819,   820,   821,    89,    90,    91,
1731 >     831,    21,   832,   833,   834,   835,   836,    92,    93,   837,
1732 >     838,   337,   839,   840,    22,   842,   845,  1248,   844,    23,
1733 >     932,   933,   934,   846,    24,   935,   936,    25,   937,   938,
1734 >     848,   939,   849,   940,   851,   858,   941,   852,   942,   943,
1735 >     853,   855,   859,   862,   944,   864,   863,   865,   945,   869,
1736 >     866,   975,   946,   947,   948,   874,   338,   867,   868,   949,
1737 >    1196,  1197,  1198,   976,   950,  1199,  1200,   870,  1201,  1202,
1738 >     871,  1203,   872,  1204,   873,   875,  1205,   876,  1206,  1207,
1739 >     877,  1249,   878,   879,  1208,   880,   978,   881,  1209,   882,
1740 >     883,   884,  1210,  1211,  1212,   224,   885,   886,   887,  1213,
1741 >     888,   908,   909,   910,  1214,   889,   911,   912,   890,   913,
1742 >     914,   891,   915,  1250,   916,   892,   893,   917,   894,   918,
1743 >     919,  1251,   895,   896,   897,   920,   974,   898,   225,   921,
1744 >    1252,   899,   900,   922,   923,   924,   608,   226,   227,   228,
1745 >     925,   977,   229,   230,   979,   926,   901,   231,   232,   233,
1746 >     988,   980,   981,   983,  1253,   902,  1254,  1255,   984,   903,
1747 >     904,   822,   823,   824,   825,   826,   827,   828,   905,   906,
1748 >    1256,   953,   954,   955,   986,   956,   957,   987,  1257,   989,
1749 >     995,   996,   998,   958,  1001,   959,   960,   961,   962,   963,
1750 >     999,   964,  1002,   965,   966,   967,   968,   969,   970,   971,
1751 >     972,   973,   982,   985,   992,   993,   994,  1003,   997,  1004,
1752 >    1006,  1007,  1008,  1000,  1005,  1009,  1010,  1011,  1012,  1013,
1753 >    1014,  1015,  1016,  1017,  1018,  1019,  1020,  1021,  1047,  1022,
1754 >    1023,  1024,  1025,  1060,  1032,  1033,  1034,  1035,  1036,  1037,
1755 >    1038,  1039,  1040,  1041,  1042,  1043,  1044,  1045,  1061,  1046,
1756 >    1062,  1063,  1049,  1048,  1050,  1064,  1065,  1066,  1068,  1274,
1757 >    1290,  1287,  1069,  1077,  1067,   308,  1078,  1079,  1084,  1085,
1758 >    1086,  1087,  1088,  1089,  1090,  1091,  1092,  1093,  1099,  1100,
1759 >    1101,  1301,  1102,  1103,  1302,  1104,  1105,  1303,  1304,  1305,
1760 >    1106,  1306,  1107,  1112,  1113,  1114,  1115,  1116,  1117,  1242,
1761 >     757,  1118,  1119,  1120,  1121,  1122,  1127,  1128,  1141,  1142,
1762 >    1143,  1144,  1145,  1146,  1155,  1147,  1148,   809,   744,  1149,
1763 >    1308,  1158,  1326,  1307,  1156,  1159,  1297,  1160,  1300,  1161,
1764 >    1189,  1190,  1191,  1192,  1217,   736,  1218,  1219,  1220,  1221,
1765 >     725,  1224,  1237,  1275,  1299,  1243,  1238,  1239,  1244,  1245,
1766 >    1246,  1247,  1260,  1276,   763,   494,  1323,   817,   638,  1277,
1767 >     799,  1278,  1298,  1294,  1279,  1280,  1281,  1282,  1310,  1293,
1768 >    1311,  1312,  1309,   659,   729,   397,   452,   321,   567,  1269,
1769 >     665,  1268,     0,     0,   544,     0,     0,     0,     0,     0,
1770         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1771 <     594,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1771 >       0,     0,   655,     0,   578,     0,     0,     0,     0,     0,
1772         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1773         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1774 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1774 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1775 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1776 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1777 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1778 <       0,   660,     0,     0,     0,     0,     0,     0,     0,     0,
1779 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1780 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1781 <       0,   670
1774 >       0,     0,     0,     0,   593
1775   };
1776  
1777   static const yytype_int16 yycheck[] =
1778   {
1779 <     640,   641,   308,     8,   231,     1,   231,   313,     1,   315,
1780 <     316,     1,     1,     6,     7,     1,     9,    10,     1,   231,
1781 <       1,    14,     1,     1,   211,   229,   230,     1,   215,    22,
1782 <      23,   211,     1,     1,     1,   215,     1,    50,    34,    32,
1783 <       1,     1,    35,    36,    37,   178,   179,    43,   231,    42,
1784 <      46,    47,    11,    12,    13,    51,    52,    53,   108,   231,
1785 <     231,    30,     1,    41,    57,    58,     1,   229,     1,    38,
1786 <       1,   233,   231,    66,     1,    61,    69,    70,     1,    75,
1787 <       1,     1,    61,     1,    19,    78,   231,     1,     1,   231,
1788 <       1,   229,    85,    61,    87,   233,    89,   231,    91,    77,
1789 <      93,    94,    41,   409,    39,   411,   412,     1,    98,    98,
1790 <      77,   124,    77,   106,    46,    98,   422,    98,   111,   112,
1791 <     113,   427,   115,   116,   117,     1,   231,   120,    63,    98,
1792 <      61,   437,   438,    54,    95,    95,     1,   229,    77,   125,
1793 <      61,   233,    63,   449,   125,   451,   452,   125,   229,   108,
1794 <      26,   125,   233,   146,    30,   205,   229,   125,   119,   119,
1795 <     233,   231,   231,   156,   157,   158,   159,   160,   161,   162,
1796 <     231,    98,     1,     1,     1,    98,   231,   229,    98,    55,
1797 <      98,   233,   231,   118,   231,    98,   125,    98,    64,    17,
1798 <      18,   126,   127,    21,   199,    24,    25,   231,    27,    28,
1799 <     231,   122,   229,   231,    33,   125,   233,   174,   231,   174,
1800 <      86,   125,   147,   229,    90,   229,   231,   233,   229,   212,
1801 <     213,   214,    98,   216,   217,   101,   102,   229,     1,   219,
1802 <      59,    60,   225,    98,   230,    63,   219,   230,   232,   222,
1803 <     546,   174,    71,    72,    73,     1,    19,     3,   222,     5,
1804 <      79,    80,    80,    81,    82,    83,    84,   133,   190,   232,
1805 <      88,   230,   230,    19,    92,   230,    39,   199,   195,   230,
1806 <      98,    98,   195,   229,   150,   104,   105,   153,   154,   155,
1807 <     174,   109,   110,    39,   232,   229,   232,   222,   221,   233,
1808 <      63,   230,   219,   121,   232,   230,   219,   230,    54,   230,
1809 <      56,   219,   167,   230,   222,   229,   219,    63,   222,   230,
1810 <     230,   174,   230,     1,   108,   143,   230,   230,    74,   230,
1811 <     185,   627,   232,     1,   200,    98,   632,   221,   232,   635,
1812 <       1,    19,    65,   639,    67,   232,   201,   229,   123,   229,
1813 <     167,   233,    98,   233,     1,   118,   232,   223,   224,   232,
1814 <     232,    39,    30,   232,   230,  1093,  1094,  1095,   185,   187,
1815 <      38,   134,    19,   232,   232,   230,   122,   824,   825,   826,
1816 <     827,   828,   829,   830,   201,    63,   232,   232,   151,   152,
1817 <     232,   114,    39,    54,   232,   232,   142,   232,   232,   232,
1818 <      61,     1,    63,   232,   232,   151,     6,     7,   131,     9,
1819 <      10,   230,   230,   229,    14,   123,    63,   232,   232,   232,
1820 <      98,   232,    22,    23,   232,   232,   232,   232,   232,   232,
1821 <      98,   232,    32,   232,   232,    35,    36,    37,   232,   202,
1822 <     118,   232,    42,   232,   232,   232,   232,   170,   171,   232,
1823 <     232,   232,   232,   232,   200,   232,   134,    57,    58,   222,
1824 <     232,   122,   232,   226,   232,   232,    66,   230,   232,    69,
1825 <      70,   118,   232,   151,   152,   232,   232,   223,    78,   126,
1826 <     127,   232,     4,   232,   230,    85,   123,    87,   232,    89,
1827 <     232,    91,   232,    93,    94,   232,   232,   232,    20,   222,
1828 <     147,    15,   232,   232,   227,   232,   106,   232,   232,    31,
1829 <     232,   111,   112,   113,   232,   115,   116,   117,   232,   232,
1830 <     120,   232,   232,   232,   202,   232,    40,   232,   232,   232,
1831 <     232,   232,   232,   232,     1,   232,     3,   232,     5,    67,
1832 <     232,     1,   232,    65,   222,    67,   146,   232,   226,   108,
1833 <     232,   108,    19,   108,    68,   108,   156,   157,   158,   159,
1834 <     160,   161,   162,   211,   108,   108,    26,   108,   108,   211,
1835 <      30,   211,    39,    95,   229,   222,   135,   136,   137,   138,
1836 <     139,   140,   141,   232,   229,    99,   100,    54,   232,    56,
1837 <     123,   232,   211,   107,   232,    55,    63,   232,   232,   232,
1838 <     232,   232,  1232,   131,    64,   232,   128,    74,   130,   232,
1839 <     232,   232,   212,   213,   214,   232,   216,   217,   132,   232,
1840 <     232,   232,   232,   232,   232,   225,    86,   149,   232,   232,
1841 <      90,    98,   229,   232,   148,   163,   232,   232,    98,   232,
1842 <     232,   101,   102,   171,   232,   232,   232,   232,   232,   171,
1843 <     232,   108,   180,   211,   176,   122,   108,   211,   180,   108,
1844 <     108,   108,   184,   211,   211,   211,   108,   189,   108,   108,
1845 <     108,   193,   108,   133,   108,   142,   204,   108,   206,   207,
1846 <       1,   108,   204,   232,   151,   207,    46,   209,    48,    49,
1847 <     150,     1,   220,   153,   154,   155,   210,   232,   220,   227,
1848 <       0,     1,   211,   211,     4,   227,   211,    17,    18,   211,
1849 <     211,    21,   211,    34,   228,   211,    16,   211,   211,    19,
1850 <      20,   211,    43,   108,   211,    46,    47,   211,   232,    29,
1851 <      51,    52,    53,   200,   229,   232,   123,   229,   229,   123,
1852 <     200,    41,   123,   232,    44,    45,   232,   232,   123,   232,
1853 <     232,   232,   232,    63,    75,   232,   223,   232,   232,   229,
1854 <     229,   232,    62,   223,   224,    65,   232,   229,   232,   232,
1855 <      80,    81,    82,    83,    84,   229,    76,    46,    88,    48,
1856 <      49,   232,    92,   211,   108,   211,   232,   232,    98,   232,
1857 <     211,   232,   211,   211,   211,   232,    96,    97,   123,   109,
1858 <     110,   211,   232,   232,   164,   165,   166,   232,   232,   169,
1859 <     170,   121,   172,   173,   114,   175,   229,   177,    46,   108,
1860 <     180,   108,   182,   183,   123,   123,   123,   123,   188,   123,
1861 <     123,   131,   192,   143,   229,   123,   196,   197,   198,   123,
1862 <     123,   123,   123,   203,   144,   145,   229,   211,   208,   229,
1863 <     232,   123,    67,   231,   108,   229,   232,   108,   108,   232,
1864 <     232,   232,   229,   229,   232,   108,   229,   232,   168,   108,
1865 <     229,   229,   229,   229,   229,   229,   229,   187,   229,   229,
1866 <     229,   181,   229,   229,   229,   229,   186,   229,   229,   232,
1867 <     108,   191,   108,   123,   194,   164,   165,   166,   108,   108,
1868 <     169,   170,   108,   172,   173,   211,   175,   229,   177,   123,
1869 <     123,   180,   123,   182,   183,   123,   131,   232,   123,   188,
1870 <     123,   108,   123,   192,   123,   123,   123,   196,   197,   198,
1871 <     123,   123,   123,   123,   203,   108,   164,   165,   166,   208,
1872 <     232,   169,   170,   229,   172,   173,   211,   175,   163,   177,
1873 <       1,   229,   180,   229,   182,   183,   171,   123,   229,   229,
1874 <     188,   229,   229,   229,   192,   180,   229,   229,   196,   197,
1875 <     198,   229,   229,    24,    25,   203,    27,    28,   123,   123,
1876 <     208,   229,    33,   229,   229,   229,   123,   229,   229,   204,
1877 <     123,   206,   207,   229,   229,   229,   229,   229,   229,   123,
1878 <     229,   123,   229,   229,   229,   220,   229,   229,    59,    60,
1879 <     229,   123,   227,   123,   108,   232,   123,   229,   123,   123,
1880 <      71,    72,    73,   123,   123,   229,   123,   229,    79,    80,
1881 <     123,   123,   232,   229,   229,   229,   211,   123,   123,   123,
1882 <     229,   229,   123,   229,   229,   229,   229,   229,   229,   229,
1883 <     229,   229,   229,   104,   105,   229,   211,   229,   229,   229,
1884 <     229,   229,   229,   123,   123,   229,   229,   232,   229,   229,
1885 <     229,   229,   229,   229,   123,   229,   229,   229,   229,   229,
1886 <     229,   229,   229,   229,   123,   123,   229,   229,   229,   229,
1887 <     229,   229,   123,   229,   229,   229,   123,   229,   108,   229,
1888 <     229,   232,   229,   229,   232,   123,   229,   232,   229,   229,
1889 <     229,   229,   229,   229,   229,   229,   229,   129,   229,    77,
1890 <     229,   229,   129,   229,   129,   586,   229,   229,   229,  1053,
1891 <    1311,   229,   501,   229,   229,  1276,  1274,  1255,   229,   229,
1892 <     229,   229,   229,  1155,  1266,   465,   229,   229,   488,   229,
1893 <     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1894 <     229,   229,   229,   229,   229,   229,   229,   229,   218,   517,
1895 <    1264,   229,   233,   229,   229,   229,   229,   229,  1285,   341,
1896 <     572,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1897 <     223,   599,   229,  1278,   229,   229,   232,   229,   534,   229,
1898 <     229,   229,  1260,   229,   478,   118,   169,   229,   229,   234,
1899 <     234,   234,   232,   229,   229,    97,  1125,  1123,   394,    -1,
1900 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   239,    -1,
1901 <      -1,    -1,   289,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1909 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   267,    -1,
1910 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1911 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1912 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1913 <     297,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1914 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1915 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1779 >     635,   636,   310,     1,     1,   313,   314,     1,   316,   317,
1780 >     236,     1,     8,     1,   113,     1,     1,   236,     1,   215,
1781 >     236,    48,   236,   219,     1,     1,    52,     1,   236,     1,
1782 >     215,     1,     1,   234,   219,   234,     1,   238,     1,   238,
1783 >      30,   236,     1,   234,   235,     1,   234,     1,    38,   236,
1784 >     238,     1,     1,   234,    28,     1,    30,   238,     1,   236,
1785 >       6,     7,    56,     9,    10,     1,    64,    30,    14,   236,
1786 >      64,   236,    66,     1,   236,    38,   236,     1,    24,    25,
1787 >       1,   234,   236,    57,   236,   238,    32,    64,    64,    35,
1788 >      36,    37,     1,    67,    64,    83,    42,   236,   406,    20,
1789 >     408,   409,   128,   182,   183,    79,    80,    81,   105,   236,
1790 >     209,   419,   236,    59,    60,   105,   424,    91,    39,   105,
1791 >     105,    95,   105,   236,    70,   433,   434,    73,    74,    83,
1792 >     236,   105,   126,   105,   108,   109,   105,   445,    84,   447,
1793 >     448,     1,   105,   102,    90,    66,    92,     1,    94,   105,
1794 >      96,     1,   129,    99,   100,   105,   236,   129,   234,   129,
1795 >     129,   236,   238,   137,   123,   111,    20,   194,   236,   105,
1796 >     116,   117,     1,   119,   120,   121,   203,   105,   124,   153,
1797 >     129,    41,   156,   157,   158,    39,   234,     1,   234,     3,
1798 >     178,     5,   238,   237,   237,   234,   105,    26,    27,   238,
1799 >     237,   122,   199,   149,    33,   129,    20,   203,   237,   130,
1800 >     131,   234,    66,   178,   160,   161,   162,   163,   164,   165,
1801 >     166,     1,   237,    83,   178,    39,   223,   234,   536,   150,
1802 >     204,   238,    61,    62,    63,   178,    17,   223,    18,    19,
1803 >     226,   235,    56,    23,    58,   235,    75,    76,    77,   235,
1804 >     235,   105,    66,   227,   228,   105,    85,    86,   235,   235,
1805 >     225,   235,   171,   199,    78,   127,   235,   223,   122,   129,
1806 >     216,   217,   218,   223,   220,   221,   235,   226,   178,   235,
1807 >     189,   235,   225,   229,   237,   231,    66,   223,     1,   235,
1808 >     237,   105,   235,   234,     1,   223,   205,   238,   226,   235,
1809 >     154,   155,   226,   237,   237,   226,    86,    87,    88,    89,
1810 >       1,   235,   126,    93,   235,   623,    97,   237,    98,   627,
1811 >     101,   171,   630,   237,   237,   105,   634,    34,    69,   234,
1812 >      71,   145,   234,   238,   114,   115,    43,    44,    45,   189,
1813 >     154,    48,    49,   237,     1,   125,    53,    54,    55,   237,
1814 >      41,   237,   206,     1,   237,   205,    11,    12,    13,   237,
1815 >     234,   237,   237,    20,   238,   237,   146,  1094,  1095,  1096,
1816 >     237,   237,   226,   237,   237,   235,   230,   118,   159,   237,
1817 >     237,   235,    39,   127,   237,   235,   237,   234,   237,   102,
1818 >     204,     1,    83,   237,   135,   237,     6,     7,   237,     9,
1819 >      10,   237,   237,   237,    14,   237,   235,   237,    56,    66,
1820 >     123,   191,   237,   227,    24,    25,    64,   237,    66,   237,
1821 >     237,   235,    32,   127,   237,    35,    36,    37,   237,     4,
1822 >     237,   237,    42,   174,   175,   237,   237,   237,   129,     1,
1823 >     237,   237,   237,   237,   237,   237,    21,    22,   105,    59,
1824 >      60,   237,   237,   237,   237,   235,    31,   234,   113,   237,
1825 >      70,   237,   237,    73,    74,   122,    28,   237,    30,   237,
1826 >     237,   237,   237,   237,    84,   237,   237,   237,   126,   237,
1827 >      90,   237,    92,   237,    94,   226,    96,   237,   237,    99,
1828 >     100,   232,   237,    68,    69,    57,    71,   154,   155,   237,
1829 >     237,   111,   237,   237,   237,    67,   116,   117,   237,   119,
1830 >     120,   121,   237,   237,   124,   237,   237,    79,    80,    81,
1831 >     237,   237,   237,     1,   113,   237,   237,   102,   235,    91,
1832 >     113,   215,   113,    95,   113,   110,   113,   113,   234,   149,
1833 >     234,   127,    20,   105,   237,   237,   108,   109,   237,   206,
1834 >     160,   161,   162,   163,   164,   165,   166,   132,   237,   134,
1835 >     135,    39,   237,   237,   237,   237,   237,    15,   237,   226,
1836 >     237,   237,   237,   230,     1,   137,     3,   152,     5,   822,
1837 >     823,   824,   825,   826,   827,   828,   237,   237,    66,   234,
1838 >     237,   153,    40,    20,   156,   157,   158,   237,   237,   237,
1839 >     175,   237,   237,   237,  1239,   180,   216,   217,   218,   184,
1840 >     220,   221,    39,   188,   237,   237,   237,    71,   193,   229,
1841 >     237,   231,   197,   237,    72,   237,   237,   234,   237,    56,
1842 >     215,    58,   237,   208,   237,   210,   211,   113,   213,    66,
1843 >     113,   215,   204,   215,   122,   113,   113,   113,   215,   224,
1844 >     215,    78,   130,   131,   215,   113,   113,   232,   106,   107,
1845 >     113,   113,   113,   113,   112,   227,   228,   113,   113,     0,
1846 >       1,   215,   150,     4,   237,   215,   215,   237,   105,   215,
1847 >     215,   135,   215,   215,   215,    16,   215,   113,   136,    20,
1848 >     215,    22,   215,   113,   237,   237,   234,   234,    29,   126,
1849 >     234,   215,   127,   151,   127,   215,     1,   237,   127,   237,
1850 >      41,   237,   234,   167,   127,    46,    47,   237,   145,   237,
1851 >     237,   175,   237,    18,    19,   237,   237,   154,    23,   237,
1852 >     184,   234,   237,   237,    65,   234,   237,   237,    69,   237,
1853 >      48,   237,    50,    51,   237,   237,   237,   237,   226,   234,
1854 >     237,    82,   215,   237,   208,   237,   210,   211,   113,   215,
1855 >     215,   127,   234,     1,   127,   127,   214,   237,   215,   127,
1856 >     224,    66,   103,   104,   215,   113,   113,   204,   232,   127,
1857 >      48,   127,    50,    51,   127,   233,   127,   118,    26,    27,
1858 >     234,    86,    87,    88,    89,    33,   234,   127,    93,   127,
1859 >     227,   127,   127,    98,   135,   127,   127,   127,   237,   215,
1860 >     105,   127,   234,   237,   113,   236,   147,   148,   234,   114,
1861 >     115,    48,   237,    61,    62,    63,   237,   237,   237,   234,
1862 >     125,   234,   234,   237,   234,   234,   234,    75,    76,    77,
1863 >     234,   172,   234,   234,   234,   234,   234,    85,    86,   234,
1864 >     234,   146,   234,   234,   185,   113,   113,    71,   237,   190,
1865 >     168,   169,   170,   113,   195,   173,   174,   198,   176,   177,
1866 >     113,   179,   113,   181,   127,   234,   184,   113,   186,   187,
1867 >     113,   113,   127,   127,   192,   127,   215,   127,   196,   113,
1868 >     237,   215,   200,   201,   202,   234,   191,   127,   127,   207,
1869 >     168,   169,   170,   237,   212,   173,   174,   127,   176,   177,
1870 >     127,   179,   127,   181,   127,   127,   184,   127,   186,   187,
1871 >     234,   135,   234,   127,   192,   127,   113,   234,   196,   234,
1872 >     234,   234,   200,   201,   202,     1,   234,   234,   234,   207,
1873 >     234,   168,   169,   170,   212,   234,   173,   174,   234,   176,
1874 >     177,   234,   179,   167,   181,   234,   234,   184,   234,   186,
1875 >     187,   175,   234,   234,   234,   192,   127,   234,    34,   196,
1876 >     184,   234,   234,   200,   201,   202,   113,    43,    44,    45,
1877 >     207,   127,    48,    49,   127,   212,   234,    53,    54,    55,
1878 >     237,   127,   127,   127,   208,   234,   210,   211,   127,   234,
1879 >     234,   138,   139,   140,   141,   142,   143,   144,   234,   234,
1880 >     224,   234,   234,   234,   127,   234,   234,   127,   232,   113,
1881 >     127,   127,   127,   234,   127,   234,   234,   234,   234,   234,
1882 >     215,   234,   127,   234,   234,   234,   234,   234,   234,   234,
1883 >     234,   234,   234,   234,   234,   234,   234,   127,   234,   215,
1884 >     127,   127,   234,   237,   237,   127,   127,   127,   234,   234,
1885 >     234,   234,   234,   234,   234,   234,   234,   234,   127,   234,
1886 >     234,   234,   234,   127,   234,   234,   234,   234,   234,   234,
1887 >     234,   234,   234,   234,   234,   234,   234,   234,   127,   234,
1888 >     127,   127,   234,   237,   234,   234,   234,   127,   127,   113,
1889 >     127,  1223,   234,   234,   237,    77,   234,   234,   234,   234,
1890 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1891 >     234,   133,   234,   234,   135,   234,   234,   133,   135,   133,
1892 >     234,   133,   234,   234,   234,   234,   234,   234,   234,  1055,
1893 >     513,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1894 >     234,   234,   234,   234,   222,   234,   234,   585,   498,   234,
1895 >    1286,   234,  1325,  1284,   238,   234,  1262,   234,  1273,   234,
1896 >     234,   234,   234,   234,   234,   485,   234,   234,   234,   234,
1897 >     462,   234,   234,  1156,  1271,   234,   237,   237,   234,   234,
1898 >     234,   234,   234,   234,   529,   217,  1296,   598,   339,   239,
1899 >     571,   239,  1267,   234,   239,   239,   239,   239,   234,   237,
1900 >     234,   234,  1289,   391,   475,   112,   163,    94,   266,  1126,
1901 >     401,  1124,    -1,    -1,   234,    -1,    -1,    -1,    -1,    -1,
1902        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1903 +      -1,    -1,   372,    -1,   291,    -1,    -1,    -1,    -1,    -1,
1904        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1905        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1906 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1920 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1921 <      -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1922 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1923 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1924 <      -1,   404
1906 >      -1,    -1,    -1,    -1,   299
1907   };
1908  
1909    /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1910       symbol of state STATE-NUM.  */
1911   static const yytype_uint16 yystos[] =
1912   {
1913 <       0,   236,     0,     1,     4,    16,    19,    20,    29,    41,
1914 <      44,    45,    62,    65,    76,    96,    97,   114,   131,   144,
1915 <     145,   168,   181,   186,   191,   194,   237,   242,   247,   267,
1916 <     273,   279,   287,   301,   322,   346,   360,   375,   382,   386,
1917 <     396,   405,   426,   432,   438,   442,   448,   503,   520,   229,
1918 <     230,   231,   231,   323,   406,   433,   231,   443,   231,   361,
1919 <     427,   347,   231,   274,   302,   376,   231,   231,   397,   231,
1920 <     280,   231,   387,     1,    30,    38,    98,   268,   269,   270,
1921 <     271,   272,     1,    24,    25,    27,    28,    33,    59,    60,
1922 <      71,    72,    73,    79,    80,   104,   105,   504,   505,   506,
1923 <     507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
1924 <     517,   518,   519,   231,   231,   231,     1,    61,   439,   440,
1925 <     441,   231,     1,     6,     7,     9,    10,    14,    22,    23,
1926 <      32,    35,    36,    37,    42,    57,    58,    66,    69,    70,
1927 <      78,    85,    87,    89,    91,    93,    94,   106,   111,   112,
1928 <     113,   115,   116,   117,   120,   146,   156,   157,   158,   159,
1929 <     160,   161,   162,   212,   213,   214,   216,   217,   225,   449,
1930 <     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
1931 <     460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
1932 <     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
1933 <     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1934 <     490,   491,   492,   496,   500,   501,   502,   231,   231,   231,
1935 <       1,    95,   119,   243,   244,   245,   246,   231,   231,   231,
1936 <       1,    34,    43,    46,    47,    51,    52,    53,    75,   521,
1937 <     522,   523,   524,   525,   526,   527,   528,   529,   530,     1,
1938 <      26,    30,    55,    64,    86,    90,    98,   101,   102,   133,
1939 <     150,   153,   154,   155,   200,   223,   224,   248,   249,   250,
1940 <     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1941 <     261,   262,   263,   264,   265,   266,   231,     1,   221,   288,
1942 <     289,   290,   291,   292,   231,     1,    98,   383,   384,   385,
1943 <     231,   229,   232,   232,   232,   230,   269,   232,   232,   232,
1944 <     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1945 <     232,   230,   505,     1,    17,    18,    21,    63,    80,    81,
1946 <      82,    83,    84,    88,    92,    98,   109,   110,   121,   143,
1947 <     187,   324,   325,   326,   327,   328,   329,   330,   331,   332,
1948 <     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
1949 <       1,     3,     5,    19,    39,    54,    56,    63,    74,    98,
1950 <     122,   142,   151,   200,   223,   407,   408,   409,   410,   411,
1951 <     412,   413,   414,   415,   416,   417,   421,   422,   423,   424,
1952 <     425,     1,    61,   125,   434,   435,   436,   437,   232,   230,
1953 <     440,     1,    98,   125,   444,   445,   446,   447,   232,   232,
1954 <     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1955 <     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1956 <     232,   232,   232,   497,   232,   493,   232,   232,   232,   232,
1957 <     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1958 <     232,   232,   232,   232,   230,   450,     1,    19,    39,    63,
1959 <     118,   126,   127,   147,   222,   362,   363,   364,   365,   366,
1960 <     367,   368,   372,   373,   374,     1,   125,   222,   428,   429,
1961 <     430,   431,     1,    54,    61,    63,   122,   348,   352,   353,
1962 <     354,   358,   359,   229,   232,   232,   230,   244,     1,    77,
1963 <     174,   275,   276,   277,   278,     1,    19,    39,    63,    98,
1964 <     118,   134,   151,   152,   202,   222,   226,   303,   304,   305,
1965 <     306,   307,   308,   309,   310,   311,   312,   313,   314,   318,
1966 <       1,    41,    77,   125,   377,   378,   379,   380,   381,   232,
1967 <     232,   232,   232,   232,   232,   232,   232,   230,   522,   229,
1968 <     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1969 <     232,   232,   232,   232,   232,   232,   232,   230,   249,     1,
1970 <      98,   219,   398,   399,   400,   401,   229,   232,   230,   289,
1971 <     174,     1,    98,   167,   185,   201,   281,   282,   283,   284,
1972 <     285,   286,   232,   230,   384,     1,    98,   219,   222,   388,
1973 <     389,   390,   391,   392,   123,   123,   123,   229,   108,   108,
1974 <     239,   108,   108,   211,   108,   239,   108,   239,   239,   108,
1975 <     108,   211,   211,   229,   229,   232,   232,   232,   343,   232,
1976 <     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1977 <     232,   232,   230,   325,   229,   232,   232,   232,   232,   232,
1978 <     232,   418,   232,   232,   232,   232,   232,   232,   232,   230,
1979 <     408,   232,   232,   230,   435,   123,   229,   232,   232,   230,
1980 <     445,   211,   239,   108,   239,   239,   211,   108,   211,   108,
1981 <     108,   108,   211,   211,   211,   239,   108,   108,   108,   108,
1982 <     239,   108,   108,   108,   108,   211,   232,   211,   232,   211,
1983 <     239,   239,   211,   211,   211,   211,   215,   211,   215,   211,
1984 <     211,   211,   211,   108,   239,   211,   239,   239,   211,   229,
1985 <     229,   232,   232,   369,   232,   232,   232,   232,   232,   230,
1986 <     363,   232,   232,   230,   429,   229,   232,   232,   349,   232,
1987 <     230,   353,   123,   123,   229,   229,   232,   232,   230,   276,
1988 <     229,   232,   232,   319,   232,   232,   232,   232,   232,   315,
1989 <     232,   232,   230,   304,   229,   232,   232,   232,   230,   378,
1990 <     211,   211,   211,   123,   211,   211,   211,   239,   229,   108,
1991 <     123,   211,   123,   108,   108,   123,   123,   123,   123,   123,
1992 <     123,   123,   123,   123,   123,   123,   229,   229,   232,   402,
1993 <     230,   399,   211,   229,   231,   229,   232,   232,   232,   232,
1994 <     230,   282,   123,   229,   229,   232,   393,   232,   230,   389,
1995 <     229,   229,   229,   229,   135,   136,   137,   138,   139,   140,
1996 <     141,   238,   239,   229,   229,   229,   229,   229,   229,   229,
1997 <     229,   229,   229,   229,   229,   229,   108,   108,   239,   232,
1998 <     108,   108,   108,   239,   108,   108,   239,   123,   108,   108,
1999 <     239,   108,   241,   241,   229,   123,   178,   179,   123,   211,
2000 <     123,   123,   232,   123,   123,   108,   123,   123,   123,   123,
2001 <     229,   123,   123,   229,   229,   123,   123,   229,   229,   229,
2002 <     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2003 <     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2004 <     229,   229,   229,    46,   164,   165,   166,   169,   170,   172,
2005 <     173,   175,   177,   180,   182,   183,   188,   192,   196,   197,
2006 <     198,   203,   208,   498,   499,   229,    46,    48,    49,   164,
2007 <     165,   166,   169,   170,   172,   173,   175,   177,   180,   182,
2008 <     183,   188,   192,   196,   197,   198,   203,   208,   494,   495,
2009 <     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2010 <     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2011 <     123,   211,   232,   123,   108,   123,   123,   123,   229,   123,
2012 <     123,   229,   123,   123,   232,   108,   356,   357,   229,   229,
2013 <     229,   123,   123,   229,   123,   211,   232,   123,   123,   123,
2014 <     123,   211,   232,   123,   123,   229,   123,   123,   123,   229,
2015 <     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2016 <     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2017 <     229,   229,   229,   229,   229,   123,   232,   229,   229,     1,
2018 <      98,   195,   219,   293,   294,   295,   296,   297,   123,   123,
2019 <     123,   123,   229,   229,   123,   232,   123,   229,   238,   238,
2020 <     238,   238,   238,   238,   238,   229,   229,   229,    50,   124,
2021 <     344,   345,   229,   229,   229,   229,   229,   229,   229,   229,
2022 <     229,   229,   229,    11,    12,    13,   240,   241,   229,   229,
2023 <     229,   229,   229,   229,   229,   229,   229,     8,   199,   419,
2024 <     420,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2025 <     229,   229,   229,   233,   229,   233,   229,   229,    15,    40,
2026 <      68,    99,   100,   107,   132,   148,   210,   228,   370,   371,
2027 <     229,   229,   229,   229,   229,   229,   229,   229,   229,    46,
2028 <     190,   199,   350,   351,   218,   233,   355,   229,   229,   229,
2029 <     229,     4,    20,    31,    65,    67,    95,   128,   130,   149,
2030 <     171,   176,   180,   184,   189,   193,   204,   207,   209,   220,
2031 <     227,   320,   321,   229,   229,   229,   229,   229,    46,    48,
2032 <      49,   164,   165,   166,   169,   170,   172,   173,   175,   177,
2033 <     180,   182,   183,   188,   192,   196,   197,   198,   203,   208,
2034 <     316,   317,   229,   229,   229,   229,   229,   229,    67,   131,
2035 <     163,   171,   180,   204,   206,   207,   220,   227,   403,   404,
2036 <     229,   232,   232,   298,   230,   294,   229,   229,   229,   229,
2037 <     229,    67,   131,   163,   171,   180,   204,   206,   207,   220,
2038 <     227,   394,   395,   229,   229,   233,   240,   240,   240,   229,
2039 <     233,   499,   495,   229,   233,   229,   233,   108,   357,   229,
2040 <     234,   234,   234,   229,   233,   229,   233,   229,   233,   123,
2041 <     205,   241,   232,   229,   229,   233,   345,   420,   371,   351,
2042 <     129,   129,   129,   321,   317,   404,   229,   229,   229,    65,
2043 <      67,   114,   131,   170,   171,   222,   227,   299,   300,   395,
2044 <     229,   233,   300
1913 >       0,   241,     0,     1,     4,    16,    20,    22,    29,    41,
1914 >      46,    47,    65,    69,    82,   103,   104,   118,   135,   147,
1915 >     148,   172,   185,   190,   195,   198,   242,   247,   252,   278,
1916 >     284,   290,   298,   312,   332,   355,   369,   384,   391,   395,
1917 >     405,   414,   435,   441,   447,   451,   457,   512,   526,   234,
1918 >     235,   236,   236,   333,   415,   442,   236,   452,   236,   370,
1919 >     436,   356,   236,   285,   313,   385,   236,   236,   406,   236,
1920 >     291,   236,   396,     1,    30,    38,   105,   279,   280,   281,
1921 >     282,   283,     1,    26,    27,    33,    61,    62,    63,    75,
1922 >      76,    77,    85,    86,   513,   514,   515,   516,   517,   518,
1923 >     519,   520,   521,   522,   523,   524,   525,   236,   236,   236,
1924 >       1,    64,   448,   449,   450,   236,     1,     6,     7,     9,
1925 >      10,    14,    24,    25,    32,    35,    36,    37,    42,    59,
1926 >      60,    70,    73,    74,    84,    90,    92,    94,    96,    99,
1927 >     100,   111,   116,   117,   119,   120,   121,   124,   149,   160,
1928 >     161,   162,   163,   164,   165,   166,   216,   217,   218,   220,
1929 >     221,   229,   231,   458,   459,   460,   461,   462,   463,   464,
1930 >     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1931 >     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1932 >     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1933 >     495,   496,   497,   498,   499,   500,   501,   505,   509,   510,
1934 >     511,   236,   236,   236,     1,   102,   123,   248,   249,   250,
1935 >     251,   236,   236,   236,     1,    34,    43,    44,    45,    48,
1936 >      49,    53,    54,    55,   527,   528,   529,   530,   531,   532,
1937 >     533,   534,   535,   536,   537,     1,    28,    30,    57,    67,
1938 >      79,    80,    81,    91,    95,   105,   108,   109,   137,   153,
1939 >     156,   157,   158,   204,   227,   228,   253,   254,   255,   256,
1940 >     257,   258,   259,   260,   261,   265,   266,   267,   268,   269,
1941 >     270,   271,   272,   273,   274,   275,   276,   277,   236,     1,
1942 >     225,   299,   300,   301,   302,   303,   236,     1,   105,   392,
1943 >     393,   394,   236,   234,   237,   237,   237,   235,   280,   237,
1944 >     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1945 >     235,   514,     1,    18,    19,    23,    66,    86,    87,    88,
1946 >      89,    93,    98,   105,   114,   115,   125,   146,   191,   334,
1947 >     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1948 >     345,   346,   347,   348,   349,   350,   351,     1,     3,     5,
1949 >      20,    39,    56,    58,    66,    78,   105,   126,   145,   154,
1950 >     204,   227,   416,   417,   418,   419,   420,   421,   422,   423,
1951 >     424,   425,   426,   430,   431,   432,   433,   434,     1,    64,
1952 >     129,   443,   444,   445,   446,   237,   235,   449,     1,   105,
1953 >     129,   453,   454,   455,   456,   237,   237,   237,   237,   237,
1954 >     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1955 >     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1956 >     506,   502,   237,   237,   237,   237,   237,   237,   237,   237,
1957 >     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1958 >     237,   235,   459,     1,    20,    39,    66,   122,   130,   131,
1959 >     150,   226,   371,   372,   373,   374,   375,   376,   377,   381,
1960 >     382,   383,     1,   129,   226,   437,   438,   439,   440,     1,
1961 >      56,    64,    66,   126,   357,   361,   362,   363,   367,   368,
1962 >     234,   237,   237,   235,   249,     1,    83,   178,   286,   287,
1963 >     288,   289,     1,    20,    39,    66,   105,   122,   154,   155,
1964 >     206,   226,   230,   314,   315,   316,   317,   318,   319,   320,
1965 >     321,   322,   323,   324,   328,     1,    41,    83,   129,   386,
1966 >     387,   388,   389,   390,   237,   237,   237,   237,   237,   237,
1967 >     237,   237,   237,   235,   528,   234,   237,   237,   237,   237,
1968 >     262,   237,   237,   237,   237,   237,   237,   237,   237,   237,
1969 >     237,   237,   237,   237,   237,   237,   235,   254,     1,   105,
1970 >     223,   407,   408,   409,   410,   234,   237,   235,   300,   178,
1971 >       1,   105,   171,   189,   205,   292,   293,   294,   295,   296,
1972 >     297,   237,   235,   393,     1,   105,   223,   226,   397,   398,
1973 >     399,   400,   401,   127,   127,   127,   234,   113,   113,   244,
1974 >     215,   113,   244,   244,   113,   244,   244,   113,   113,   234,
1975 >     234,   237,   237,   237,   352,   237,   237,   237,   237,   237,
1976 >     237,   237,   237,   237,   237,   237,   237,   235,   335,   234,
1977 >     237,   237,   237,   237,   237,   237,   427,   237,   237,   237,
1978 >     237,   237,   237,   237,   235,   417,   237,   237,   235,   444,
1979 >     127,   234,   237,   237,   235,   454,   215,   244,   113,   244,
1980 >     244,   215,   113,   215,   113,   113,   113,   215,   215,   215,
1981 >     244,   113,   113,   113,   113,   244,   113,   113,   113,   113,
1982 >     215,   237,   237,   215,   244,   244,   215,   215,   215,   215,
1983 >     219,   215,   219,   215,   215,   215,   215,   113,   244,   215,
1984 >     244,   244,   215,   113,   234,   234,   237,   237,   378,   237,
1985 >     237,   237,   237,   237,   235,   372,   237,   237,   235,   438,
1986 >     234,   237,   237,   358,   237,   235,   362,   127,   127,   234,
1987 >     234,   237,   237,   235,   287,   234,   237,   237,   329,   237,
1988 >     237,   237,   237,   325,   237,   237,   235,   315,   234,   237,
1989 >     237,   237,   235,   387,   215,   215,   244,   127,   215,   127,
1990 >     215,   215,   215,   234,   113,   127,   215,   127,   237,   127,
1991 >     127,   113,   113,   127,   127,   127,   127,   127,   127,   127,
1992 >     127,   127,   127,   127,   234,   234,   237,   411,   235,   408,
1993 >     215,   234,   236,   234,   237,   237,   237,   237,   235,   293,
1994 >     127,   234,   234,   237,   402,   237,   235,   398,   234,   234,
1995 >     234,   234,   138,   139,   140,   141,   142,   143,   144,   243,
1996 >     244,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1997 >     234,   113,   113,   244,   237,   113,   113,   244,   113,   113,
1998 >     244,   127,   113,   113,   244,   113,   246,   246,   234,   127,
1999 >     182,   183,   127,   215,   127,   127,   237,   127,   127,   113,
2000 >     127,   127,   127,   127,   234,   127,   127,   234,   234,   127,
2001 >     127,   234,   234,   234,   234,   234,   234,   234,   234,   234,
2002 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
2003 >     234,   234,   234,   234,   234,   234,   234,    48,   168,   169,
2004 >     170,   173,   174,   176,   177,   179,   181,   184,   186,   187,
2005 >     192,   196,   200,   201,   202,   207,   212,   507,   508,    48,
2006 >      50,    51,   168,   169,   170,   173,   174,   176,   177,   179,
2007 >     181,   184,   186,   187,   192,   196,   200,   201,   202,   207,
2008 >     212,   503,   504,   234,   234,   234,   234,   234,   234,   234,
2009 >     234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
2010 >     234,   234,   234,   234,   127,   215,   237,   127,   113,   127,
2011 >     127,   127,   234,   127,   127,   234,   127,   127,   237,   113,
2012 >     365,   366,   234,   234,   234,   127,   127,   234,   127,   215,
2013 >     237,   127,   127,   127,   215,   237,   127,   127,   234,   127,
2014 >     127,   127,   234,   234,   234,   234,   234,   234,   234,   234,
2015 >     234,   234,   234,   234,   234,   234,    17,    97,   101,   159,
2016 >     263,   264,   234,   234,   234,   234,   234,   234,   234,   234,
2017 >     234,   234,   234,   234,   234,   234,   234,   127,   237,   234,
2018 >     234,     1,   105,   199,   223,   304,   305,   306,   307,   308,
2019 >     127,   127,   127,   127,   234,   234,   127,   237,   127,   234,
2020 >     243,   243,   243,   243,   243,   243,   243,   234,   234,   234,
2021 >      52,   128,   353,   354,   234,   234,   234,   234,   234,   234,
2022 >     234,   234,   234,   234,    11,    12,    13,   245,   246,   234,
2023 >     234,   234,   234,   234,   234,   234,   234,   234,     8,   203,
2024 >     428,   429,   234,   234,   234,   234,   234,   234,   234,   234,
2025 >     234,   234,   234,   234,   238,   234,   238,   234,   234,    15,
2026 >      40,    72,   106,   107,   112,   136,   151,   214,   233,   379,
2027 >     380,   234,   234,   234,   234,   234,   234,   234,   234,   234,
2028 >      48,   194,   203,   359,   360,   222,   238,   364,   234,   234,
2029 >     234,   234,     4,    21,    22,    31,    68,    69,    71,   102,
2030 >     110,   132,   134,   135,   152,   175,   180,   184,   188,   193,
2031 >     197,   208,   210,   211,   213,   224,   232,   330,   331,   234,
2032 >     234,   234,   234,    48,    50,    51,   168,   169,   170,   173,
2033 >     174,   176,   177,   179,   181,   184,   186,   187,   192,   196,
2034 >     200,   201,   202,   207,   212,   326,   327,   234,   234,   234,
2035 >     234,   234,   234,   238,   234,    71,   135,   167,   175,   184,
2036 >     208,   210,   211,   224,   232,   412,   413,   234,   237,   237,
2037 >     309,   235,   305,   234,   234,   234,   234,   234,    71,   135,
2038 >     167,   175,   184,   208,   210,   211,   224,   232,   403,   404,
2039 >     234,   234,   238,   245,   245,   245,   234,   238,   508,   504,
2040 >     234,   238,   234,   238,   113,   366,   234,   239,   239,   239,
2041 >     239,   239,   239,   234,   238,   234,   238,   264,   234,   238,
2042 >     127,   209,   246,   237,   234,   234,   238,   354,   429,   380,
2043 >     360,   133,   135,   133,   135,   133,   133,   331,   327,   413,
2044 >     234,   234,   234,    69,    71,   118,   135,   174,   175,   226,
2045 >     232,   310,   311,   404,   234,   238,   311
2046   };
2047  
2048    /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
2049   static const yytype_uint16 yyr1[] =
2050   {
2051 <       0,   235,   236,   236,   237,   237,   237,   237,   237,   237,
2052 <     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
2053 <     237,   237,   237,   237,   237,   237,   237,   237,   238,   238,
2054 <     239,   239,   239,   239,   239,   239,   239,   239,   240,   240,
2055 <     241,   241,   241,   241,   242,   243,   243,   244,   244,   244,
2056 <     245,   246,   247,   248,   248,   249,   249,   249,   249,   249,
2057 <     249,   249,   249,   249,   249,   249,   249,   249,   249,   249,
2058 <     249,   249,   249,   250,   251,   252,   253,   254,   255,   256,
2059 <     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
2060 <     267,   268,   268,   269,   269,   269,   269,   270,   271,   272,
2061 <     274,   273,   275,   275,   276,   276,   276,   277,   278,   280,
2062 <     279,   281,   281,   282,   282,   282,   282,   282,   283,   284,
2063 <     285,   286,   287,   288,   288,   289,   289,   289,   290,   292,
2064 <     291,   293,   293,   294,   294,   294,   294,   295,   296,   296,
2065 <     298,   297,   299,   299,   300,   300,   300,   300,   300,   300,
2066 <     300,   300,   302,   301,   303,   303,   304,   304,   304,   304,
2067 <     304,   304,   304,   304,   304,   304,   304,   304,   305,   306,
2068 <     307,   308,   309,   310,   311,   312,   313,   315,   314,   316,
2069 <     316,   317,   317,   317,   317,   317,   317,   317,   317,   317,
2070 <     317,   317,   317,   317,   317,   317,   317,   317,   317,   317,
2071 <     317,   317,   317,   319,   318,   320,   320,   321,   321,   321,
2072 <     321,   321,   321,   321,   321,   321,   321,   321,   321,   321,
2073 <     321,   321,   321,   321,   321,   321,   321,   321,   321,   321,
2074 <     323,   322,   324,   324,   325,   325,   325,   325,   325,   325,
2075 <     325,   325,   325,   325,   325,   325,   325,   325,   325,   325,
2076 <     325,   325,   326,   327,   328,   329,   330,   331,   332,   333,
2077 <     334,   335,   336,   337,   338,   339,   340,   341,   343,   342,
2078 <     344,   344,   345,   345,   347,   346,   349,   348,   350,   350,
2079 <     351,   351,   351,   352,   352,   353,   353,   353,   353,   353,
2080 <     355,   354,   356,   356,   357,   357,   358,   359,   361,   360,
2081 <     362,   362,   363,   363,   363,   363,   363,   363,   363,   363,
2082 <     363,   364,   365,   366,   367,   369,   368,   370,   370,   371,
2083 <     371,   371,   371,   371,   371,   371,   371,   371,   371,   372,
2084 <     373,   374,   376,   375,   377,   377,   378,   378,   378,   378,
2085 <     379,   380,   381,   382,   383,   383,   384,   384,   385,   387,
2086 <     386,   388,   388,   389,   389,   389,   389,   390,   391,   393,
2087 <     392,   394,   394,   395,   395,   395,   395,   395,   395,   395,
2088 <     395,   395,   395,   397,   396,   398,   398,   399,   399,   399,
2089 <     400,   402,   401,   403,   403,   404,   404,   404,   404,   404,
2090 <     404,   404,   404,   404,   404,   406,   405,   407,   407,   408,
2091 <     408,   408,   408,   408,   408,   408,   408,   408,   408,   408,
2092 <     408,   408,   408,   408,   409,   410,   411,   412,   413,   414,
2093 <     415,   416,   416,   418,   417,   419,   419,   420,   420,   421,
2094 <     422,   423,   424,   425,   427,   426,   428,   428,   429,   429,
2095 <     429,   430,   431,   433,   432,   434,   434,   435,   435,   435,
2096 <     436,   437,   438,   439,   439,   440,   440,   441,   443,   442,
2097 <     444,   444,   445,   445,   445,   446,   447,   448,   449,   449,
2098 <     450,   450,   450,   450,   450,   450,   450,   450,   450,   450,
2099 <     450,   450,   450,   450,   450,   450,   450,   450,   450,   450,
2100 <     450,   450,   450,   450,   450,   450,   450,   450,   450,   450,
2101 <     450,   450,   450,   450,   450,   450,   450,   450,   450,   450,
2102 <     450,   450,   450,   450,   450,   450,   450,   451,   452,   453,
2103 <     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
2104 <     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
2105 <     474,   475,   476,   477,   477,   478,   478,   479,   480,   481,
2106 <     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
2107 <     493,   492,   494,   494,   495,   495,   495,   495,   495,   495,
2108 <     495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
2109 <     495,   495,   495,   495,   495,   495,   497,   496,   498,   498,
2110 <     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
2111 <     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
2112 <     500,   501,   502,   503,   504,   504,   505,   505,   505,   505,
2113 <     505,   505,   505,   505,   505,   505,   505,   505,   505,   505,
2114 <     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
2115 <     515,   516,   517,   518,   519,   520,   521,   521,   522,   522,
2116 <     522,   522,   522,   522,   522,   522,   522,   523,   524,   525,
2117 <     526,   527,   528,   529,   530
2051 >       0,   240,   241,   241,   242,   242,   242,   242,   242,   242,
2052 >     242,   242,   242,   242,   242,   242,   242,   242,   242,   242,
2053 >     242,   242,   242,   242,   242,   242,   242,   242,   243,   243,
2054 >     244,   244,   244,   244,   244,   244,   244,   244,   245,   245,
2055 >     246,   246,   246,   246,   247,   248,   248,   249,   249,   249,
2056 >     250,   251,   252,   253,   253,   254,   254,   254,   254,   254,
2057 >     254,   254,   254,   254,   254,   254,   254,   254,   254,   254,
2058 >     254,   254,   254,   254,   254,   254,   255,   256,   257,   258,
2059 >     259,   260,   262,   261,   263,   263,   264,   264,   264,   264,
2060 >     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
2061 >     275,   276,   277,   278,   279,   279,   280,   280,   280,   280,
2062 >     281,   282,   283,   285,   284,   286,   286,   287,   287,   287,
2063 >     288,   289,   291,   290,   292,   292,   293,   293,   293,   293,
2064 >     293,   294,   295,   296,   297,   298,   299,   299,   300,   300,
2065 >     300,   301,   303,   302,   304,   304,   305,   305,   305,   305,
2066 >     306,   307,   307,   309,   308,   310,   310,   311,   311,   311,
2067 >     311,   311,   311,   311,   311,   313,   312,   314,   314,   315,
2068 >     315,   315,   315,   315,   315,   315,   315,   315,   315,   315,
2069 >     316,   317,   318,   319,   320,   321,   322,   323,   325,   324,
2070 >     326,   326,   327,   327,   327,   327,   327,   327,   327,   327,
2071 >     327,   327,   327,   327,   327,   327,   327,   327,   327,   327,
2072 >     327,   327,   327,   327,   329,   328,   330,   330,   331,   331,
2073 >     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
2074 >     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
2075 >     331,   331,   331,   331,   331,   331,   331,   333,   332,   334,
2076 >     334,   335,   335,   335,   335,   335,   335,   335,   335,   335,
2077 >     335,   335,   335,   335,   335,   335,   335,   335,   336,   337,
2078 >     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
2079 >     348,   349,   350,   352,   351,   353,   353,   354,   354,   356,
2080 >     355,   358,   357,   359,   359,   360,   360,   360,   361,   361,
2081 >     362,   362,   362,   362,   362,   364,   363,   365,   365,   366,
2082 >     366,   367,   368,   370,   369,   371,   371,   372,   372,   372,
2083 >     372,   372,   372,   372,   372,   372,   373,   374,   375,   376,
2084 >     378,   377,   379,   379,   380,   380,   380,   380,   380,   380,
2085 >     380,   380,   380,   380,   381,   382,   383,   385,   384,   386,
2086 >     386,   387,   387,   387,   387,   388,   389,   390,   391,   392,
2087 >     392,   393,   393,   394,   396,   395,   397,   397,   398,   398,
2088 >     398,   398,   399,   400,   402,   401,   403,   403,   404,   404,
2089 >     404,   404,   404,   404,   404,   404,   404,   404,   406,   405,
2090 >     407,   407,   408,   408,   408,   409,   411,   410,   412,   412,
2091 >     413,   413,   413,   413,   413,   413,   413,   413,   413,   413,
2092 >     415,   414,   416,   416,   417,   417,   417,   417,   417,   417,
2093 >     417,   417,   417,   417,   417,   417,   417,   417,   417,   418,
2094 >     419,   420,   421,   422,   423,   424,   425,   425,   427,   426,
2095 >     428,   428,   429,   429,   430,   431,   432,   433,   434,   436,
2096 >     435,   437,   437,   438,   438,   438,   439,   440,   442,   441,
2097 >     443,   443,   444,   444,   444,   445,   446,   447,   448,   448,
2098 >     449,   449,   450,   452,   451,   453,   453,   454,   454,   454,
2099 >     455,   456,   457,   458,   458,   459,   459,   459,   459,   459,
2100 >     459,   459,   459,   459,   459,   459,   459,   459,   459,   459,
2101 >     459,   459,   459,   459,   459,   459,   459,   459,   459,   459,
2102 >     459,   459,   459,   459,   459,   459,   459,   459,   459,   459,
2103 >     459,   459,   459,   459,   459,   459,   459,   459,   459,   459,
2104 >     459,   459,   460,   461,   462,   463,   464,   465,   466,   467,
2105 >     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
2106 >     478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
2107 >     487,   488,   488,   489,   490,   491,   492,   493,   494,   495,
2108 >     496,   497,   498,   499,   500,   502,   501,   503,   503,   504,
2109 >     504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
2110 >     504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
2111 >     504,   506,   505,   507,   507,   508,   508,   508,   508,   508,
2112 >     508,   508,   508,   508,   508,   508,   508,   508,   508,   508,
2113 >     508,   508,   508,   508,   508,   509,   510,   511,   512,   513,
2114 >     513,   514,   514,   514,   514,   514,   514,   514,   514,   514,
2115 >     514,   514,   514,   515,   516,   517,   518,   519,   520,   521,
2116 >     522,   523,   524,   525,   526,   527,   527,   528,   528,   528,
2117 >     528,   528,   528,   528,   528,   528,   528,   529,   530,   531,
2118 >     532,   533,   534,   535,   536,   537
2119   };
2120  
2121    /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
# Line 2144 | Line 2128 | static const yytype_uint8 yyr2[] =
2128         2,     3,     3,     3,     5,     2,     1,     1,     1,     2,
2129         4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2130         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2131 <       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
2131 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
2132 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
2133         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2134 <       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2135 <       0,     6,     2,     1,     1,     1,     2,     4,     4,     0,
2136 <       6,     2,     1,     1,     1,     1,     1,     2,     4,     4,
2137 <       4,     4,     5,     2,     1,     1,     1,     2,     4,     0,
2138 <       6,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2139 <       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2140 <       1,     1,     0,     6,     2,     1,     1,     1,     1,     1,
2141 <       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
2142 <       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
2134 >       4,     4,     4,     5,     2,     1,     1,     1,     1,     2,
2135 >       4,     4,     4,     0,     6,     2,     1,     1,     1,     2,
2136 >       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
2137 >       2,     4,     4,     4,     4,     5,     2,     1,     1,     1,
2138 >       2,     4,     0,     6,     2,     1,     1,     1,     1,     2,
2139 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     1,
2140 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
2141 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
2142 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
2143 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2144         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2145 +       1,     1,     1,     1,     0,     5,     3,     1,     3,     1,
2146 +       3,     1,     3,     1,     1,     1,     1,     1,     1,     1,
2147 +       1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
2148 +       1,     1,     3,     3,     1,     1,     1,     0,     6,     2,
2149         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2150 <       1,     1,     1,     0,     5,     3,     1,     3,     1,     3,
2151 <       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
2150 >       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
2151 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2152 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     0,
2153 >       6,     0,     5,     3,     1,     1,     1,     1,     2,     1,
2154 >       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
2155 >       3,     4,     4,     0,     6,     2,     1,     1,     1,     1,
2156 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
2157 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2158 >       1,     1,     1,     1,     4,     4,     4,     0,     6,     2,
2159 >       1,     1,     1,     1,     2,     4,     4,     4,     5,     2,
2160 >       1,     1,     1,     4,     0,     6,     2,     1,     1,     1,
2161 >       1,     2,     4,     4,     0,     5,     3,     1,     1,     1,
2162 >       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
2163 >       2,     1,     1,     1,     2,     4,     0,     5,     3,     1,
2164         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2165         0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
2166 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2165 <       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
2166 >       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
2167         4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
2168 <       3,     1,     1,     1,     0,     6,     0,     5,     3,     1,
2169 <       1,     1,     1,     2,     1,     1,     1,     1,     1,     2,
2169 <       0,     5,     3,     1,     1,     3,     4,     4,     0,     6,
2170 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2171 <       2,     4,     4,     4,     4,     0,     5,     3,     1,     1,
2172 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
2173 <       4,     4,     0,     6,     2,     1,     1,     1,     1,     2,
2174 <       4,     4,     4,     5,     2,     1,     1,     1,     4,     0,
2175 <       6,     2,     1,     1,     1,     1,     2,     4,     4,     0,
2176 <       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
2177 <       1,     1,     1,     0,     6,     2,     1,     1,     1,     2,
2178 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
2179 <       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
2180 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2181 <       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
2182 <       4,     4,     4,     0,     5,     3,     1,     1,     1,     4,
2183 <       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
2184 <       1,     4,     4,     0,     6,     2,     1,     1,     1,     1,
2185 <       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
2168 >       3,     1,     1,     1,     4,     4,     4,     4,     4,     0,
2169 >       6,     2,     1,     1,     1,     1,     4,     4,     0,     6,
2170         2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
2171 +       1,     1,     4,     0,     6,     2,     1,     1,     1,     1,
2172 +       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2173         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2174         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2175         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2176         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2177 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
2177 >       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
2178         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2179         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2180         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2181 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2196 <       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2181 >       4,     4,     4,     4,     4,     0,     5,     3,     1,     1,
2182         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2198       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
2183         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2184 +       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
2185         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2186 <       4,     4,     4,     5,     2,     1,     1,     1,     1,     1,
2186 >       1,     1,     1,     1,     1,     4,     4,     4,     5,     2,
2187         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2188 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2189 <       4,     4,     4,     4,     4,     5,     2,     1,     1,     1,
2188 >       1,     1,     1,     4,     4,     4,     4,     4,     4,     4,
2189 >       4,     4,     4,     4,     5,     2,     1,     1,     1,     1,
2190         1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
2191 <       4,     4,     4,     4,     4
2191 >       4,     4,     4,     4,     4,     4
2192   };
2193  
2194  
# Line 2880 | Line 2865 | yyreduce:
2865    switch (yyn)
2866      {
2867          case 28:
2868 < #line 416 "conf_parser.y" /* yacc.c:1646  */
2868 > #line 409 "conf_parser.y" /* yacc.c:1646  */
2869      { (yyval.number) = 0; }
2870 < #line 2886 "conf_parser.c" /* yacc.c:1646  */
2870 > #line 2871 "conf_parser.c" /* yacc.c:1646  */
2871      break;
2872  
2873    case 30:
2874 < #line 417 "conf_parser.y" /* yacc.c:1646  */
2874 > #line 410 "conf_parser.y" /* yacc.c:1646  */
2875      { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2876 < #line 2892 "conf_parser.c" /* yacc.c:1646  */
2876 > #line 2877 "conf_parser.c" /* yacc.c:1646  */
2877      break;
2878  
2879    case 31:
2880 < #line 418 "conf_parser.y" /* yacc.c:1646  */
2880 > #line 411 "conf_parser.y" /* yacc.c:1646  */
2881      { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2882 < #line 2898 "conf_parser.c" /* yacc.c:1646  */
2882 > #line 2883 "conf_parser.c" /* yacc.c:1646  */
2883      break;
2884  
2885    case 32:
2886 < #line 419 "conf_parser.y" /* yacc.c:1646  */
2886 > #line 412 "conf_parser.y" /* yacc.c:1646  */
2887      { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
2888 < #line 2904 "conf_parser.c" /* yacc.c:1646  */
2888 > #line 2889 "conf_parser.c" /* yacc.c:1646  */
2889      break;
2890  
2891    case 33:
2892 < #line 420 "conf_parser.y" /* yacc.c:1646  */
2892 > #line 413 "conf_parser.y" /* yacc.c:1646  */
2893      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
2894 < #line 2910 "conf_parser.c" /* yacc.c:1646  */
2894 > #line 2895 "conf_parser.c" /* yacc.c:1646  */
2895      break;
2896  
2897    case 34:
2898 < #line 421 "conf_parser.y" /* yacc.c:1646  */
2898 > #line 414 "conf_parser.y" /* yacc.c:1646  */
2899      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
2900 < #line 2916 "conf_parser.c" /* yacc.c:1646  */
2900 > #line 2901 "conf_parser.c" /* yacc.c:1646  */
2901      break;
2902  
2903    case 35:
2904 < #line 422 "conf_parser.y" /* yacc.c:1646  */
2904 > #line 415 "conf_parser.y" /* yacc.c:1646  */
2905      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
2906 < #line 2922 "conf_parser.c" /* yacc.c:1646  */
2906 > #line 2907 "conf_parser.c" /* yacc.c:1646  */
2907      break;
2908  
2909    case 36:
2910 < #line 423 "conf_parser.y" /* yacc.c:1646  */
2910 > #line 416 "conf_parser.y" /* yacc.c:1646  */
2911      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
2912 < #line 2928 "conf_parser.c" /* yacc.c:1646  */
2912 > #line 2913 "conf_parser.c" /* yacc.c:1646  */
2913      break;
2914  
2915    case 37:
2916 < #line 424 "conf_parser.y" /* yacc.c:1646  */
2916 > #line 417 "conf_parser.y" /* yacc.c:1646  */
2917      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
2918 < #line 2934 "conf_parser.c" /* yacc.c:1646  */
2918 > #line 2919 "conf_parser.c" /* yacc.c:1646  */
2919      break;
2920  
2921    case 38:
2922 < #line 427 "conf_parser.y" /* yacc.c:1646  */
2922 > #line 420 "conf_parser.y" /* yacc.c:1646  */
2923      { (yyval.number) = 0; }
2924 < #line 2940 "conf_parser.c" /* yacc.c:1646  */
2924 > #line 2925 "conf_parser.c" /* yacc.c:1646  */
2925      break;
2926  
2927    case 40:
2928 < #line 428 "conf_parser.y" /* yacc.c:1646  */
2928 > #line 421 "conf_parser.y" /* yacc.c:1646  */
2929      { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2930 < #line 2946 "conf_parser.c" /* yacc.c:1646  */
2930 > #line 2931 "conf_parser.c" /* yacc.c:1646  */
2931      break;
2932  
2933    case 41:
2934 < #line 429 "conf_parser.y" /* yacc.c:1646  */
2934 > #line 422 "conf_parser.y" /* yacc.c:1646  */
2935      { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2936 < #line 2952 "conf_parser.c" /* yacc.c:1646  */
2936 > #line 2937 "conf_parser.c" /* yacc.c:1646  */
2937      break;
2938  
2939    case 42:
2940 < #line 430 "conf_parser.y" /* yacc.c:1646  */
2940 > #line 423 "conf_parser.y" /* yacc.c:1646  */
2941      { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2942 < #line 2958 "conf_parser.c" /* yacc.c:1646  */
2942 > #line 2943 "conf_parser.c" /* yacc.c:1646  */
2943      break;
2944  
2945    case 43:
2946 < #line 431 "conf_parser.y" /* yacc.c:1646  */
2946 > #line 424 "conf_parser.y" /* yacc.c:1646  */
2947      { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2948 < #line 2964 "conf_parser.c" /* yacc.c:1646  */
2948 > #line 2949 "conf_parser.c" /* yacc.c:1646  */
2949      break;
2950  
2951    case 50:
2952 < #line 445 "conf_parser.y" /* yacc.c:1646  */
2952 > #line 437 "conf_parser.y" /* yacc.c:1646  */
2953      {
2954    if (conf_parser_ctx.pass == 2)
2955      add_conf_module(libio_basename(yylval.string));
2956   }
2957 < #line 2973 "conf_parser.c" /* yacc.c:1646  */
2957 > #line 2958 "conf_parser.c" /* yacc.c:1646  */
2958      break;
2959  
2960    case 51:
2961 < #line 451 "conf_parser.y" /* yacc.c:1646  */
2961 > #line 443 "conf_parser.y" /* yacc.c:1646  */
2962      {
2963    if (conf_parser_ctx.pass == 2)
2964      mod_add_path(yylval.string);
2965   }
2966 < #line 2982 "conf_parser.c" /* yacc.c:1646  */
2966 > #line 2967 "conf_parser.c" /* yacc.c:1646  */
2967      break;
2968  
2969 <  case 73:
2970 < #line 481 "conf_parser.y" /* yacc.c:1646  */
2969 >  case 76:
2970 > #line 479 "conf_parser.y" /* yacc.c:1646  */
2971      {
2987 #ifdef HAVE_LIBCRYPTO
2972    if (conf_parser_ctx.pass == 2)
2973    {
2974 <    if (!ConfigServerInfo.rsa_private_key_file)
2975 <    {
2992 <      conf_error_report("No rsa_private_key_file specified, SSL disabled");
2993 <      break;
2994 <    }
2995 <
2996 <    if (SSL_CTX_use_certificate_chain_file(ConfigServerInfo.server_ctx, yylval.string) <= 0 ||
2997 <        SSL_CTX_use_certificate_chain_file(ConfigServerInfo.client_ctx, yylval.string) <= 0)
2998 <    {
2999 <      report_crypto_errors();
3000 <      conf_error_report("Could not open/read certificate file");
3001 <      break;
3002 <    }
3003 <
3004 <    if (SSL_CTX_use_PrivateKey_file(ConfigServerInfo.server_ctx, ConfigServerInfo.rsa_private_key_file,
3005 <                                    SSL_FILETYPE_PEM) <= 0 ||
3006 <        SSL_CTX_use_PrivateKey_file(ConfigServerInfo.client_ctx, ConfigServerInfo.rsa_private_key_file,
3007 <                                    SSL_FILETYPE_PEM) <= 0)
3008 <    {
3009 <      report_crypto_errors();
3010 <      conf_error_report("Could not read RSA private key");
3011 <      break;
3012 <    }
3013 <
3014 <    if (!SSL_CTX_check_private_key(ConfigServerInfo.server_ctx) ||
3015 <        !SSL_CTX_check_private_key(ConfigServerInfo.client_ctx))
3016 <    {
3017 <      report_crypto_errors();
3018 <      conf_error_report("Could not read RSA private key");
3019 <      break;
3020 <    }
2974 >    xfree(ConfigServerInfo.ssl_certificate_file);
2975 >    ConfigServerInfo.ssl_certificate_file = xstrdup(yylval.string);
2976    }
3022 #endif
2977   }
2978 < #line 3025 "conf_parser.c" /* yacc.c:1646  */
2978 > #line 2979 "conf_parser.c" /* yacc.c:1646  */
2979      break;
2980  
2981 <  case 74:
2982 < #line 521 "conf_parser.y" /* yacc.c:1646  */
2981 >  case 77:
2982 > #line 488 "conf_parser.y" /* yacc.c:1646  */
2983      {
2984 < #ifdef HAVE_LIBCRYPTO
3031 <  BIO *file = NULL;
3032 <
3033 <  if (conf_parser_ctx.pass != 1)
3034 <    break;
3035 <
3036 <  if (ConfigServerInfo.rsa_private_key)
2984 >  if (conf_parser_ctx.pass == 2)
2985    {
2986 <    RSA_free(ConfigServerInfo.rsa_private_key);
2987 <    ConfigServerInfo.rsa_private_key = NULL;
2986 >    xfree(ConfigServerInfo.rsa_private_key_file);
2987 >    ConfigServerInfo.rsa_private_key_file = xstrdup(yylval.string);
2988    }
2989 + }
2990 + #line 2991 "conf_parser.c" /* yacc.c:1646  */
2991 +    break;
2992  
2993 <  if (ConfigServerInfo.rsa_private_key_file)
2993 >  case 78:
2994 > #line 497 "conf_parser.y" /* yacc.c:1646  */
2995 >    {
2996 >  if (conf_parser_ctx.pass == 2)
2997    {
2998 <    MyFree(ConfigServerInfo.rsa_private_key_file);
2999 <    ConfigServerInfo.rsa_private_key_file = NULL;
2998 >    xfree(ConfigServerInfo.ssl_dh_param_file);
2999 >    ConfigServerInfo.ssl_dh_param_file = xstrdup(yylval.string);
3000    }
3001 <
3002 <  ConfigServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3049 <
3050 <  if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3051 <  {
3052 <    conf_error_report("File open failed, ignoring");
3001 > }
3002 > #line 3003 "conf_parser.c" /* yacc.c:1646  */
3003      break;
3054  }
3055
3056  ConfigServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3004  
3005 <  BIO_set_close(file, BIO_CLOSE);
3006 <  BIO_free(file);
3007 <
3008 <  if (ConfigServerInfo.rsa_private_key == NULL)
3005 >  case 79:
3006 > #line 506 "conf_parser.y" /* yacc.c:1646  */
3007 >    {
3008 >  if (conf_parser_ctx.pass == 2)
3009    {
3010 <    conf_error_report("Couldn't extract key, ignoring");
3011 <    break;
3010 >    xfree(ConfigServerInfo.ssl_cipher_list);
3011 >    ConfigServerInfo.ssl_cipher_list = xstrdup(yylval.string);
3012    }
3013 <
3014 <  if (!RSA_check_key(ConfigServerInfo.rsa_private_key))
3068 <  {
3069 <    RSA_free(ConfigServerInfo.rsa_private_key);
3070 <    ConfigServerInfo.rsa_private_key = NULL;
3071 <
3072 <    conf_error_report("Invalid key, ignoring");
3013 > }
3014 > #line 3015 "conf_parser.c" /* yacc.c:1646  */
3015      break;
3074  }
3016  
3017 <  if (RSA_size(ConfigServerInfo.rsa_private_key) < 128)
3017 >  case 80:
3018 > #line 515 "conf_parser.y" /* yacc.c:1646  */
3019 >    {
3020 >  if (conf_parser_ctx.pass == 2)
3021    {
3022 <    RSA_free(ConfigServerInfo.rsa_private_key);
3023 <    ConfigServerInfo.rsa_private_key = NULL;
3080 <
3081 <    conf_error_report("Ignoring serverinfo::rsa_private_key_file -- need at least a 1024 bit key size");
3022 >    xfree(ConfigServerInfo.ssl_message_digest_algorithm);
3023 >    ConfigServerInfo.ssl_message_digest_algorithm = xstrdup(yylval.string);
3024    }
3083 #endif
3025   }
3026 < #line 3086 "conf_parser.c" /* yacc.c:1646  */
3026 > #line 3027 "conf_parser.c" /* yacc.c:1646  */
3027      break;
3028  
3029 <  case 75:
3030 < #line 579 "conf_parser.y" /* yacc.c:1646  */
3029 >  case 81:
3030 > #line 524 "conf_parser.y" /* yacc.c:1646  */
3031      {
3091 #ifdef HAVE_LIBCRYPTO
3032    if (conf_parser_ctx.pass == 2)
3033    {
3034 <    BIO *file = BIO_new_file(yylval.string, "r");
3034 >    xfree(ConfigServerInfo.ssl_dh_elliptic_curve);
3035 >    ConfigServerInfo.ssl_dh_elliptic_curve = xstrdup(yylval.string);
3036 >  }
3037 > }
3038 > #line 3039 "conf_parser.c" /* yacc.c:1646  */
3039 >    break;
3040  
3041 <    if (file)
3041 >  case 82:
3042 > #line 533 "conf_parser.y" /* yacc.c:1646  */
3043      {
3044 <      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3044 >  if (conf_parser_ctx.pass == 1)
3045 >    ConfigServerInfo.libgeoip_database_options = 0;
3046 > }
3047 > #line 3048 "conf_parser.c" /* yacc.c:1646  */
3048 >    break;
3049  
3050 <      BIO_free(file);
3050 >  case 86:
3051 > #line 540 "conf_parser.y" /* yacc.c:1646  */
3052 >    {
3053 > #ifdef HAVE_LIBGEOIP
3054 >  if (conf_parser_ctx.pass == 1)
3055 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_STANDARD;
3056 > #endif
3057 > }
3058 > #line 3059 "conf_parser.c" /* yacc.c:1646  */
3059 >    break;
3060  
3061 <      if (dh)
3062 <      {
3063 <        if (DH_size(dh) < 128)
3064 <          conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3065 <        else
3066 <          SSL_CTX_set_tmp_dh(ConfigServerInfo.server_ctx, dh);
3061 >  case 87:
3062 > #line 546 "conf_parser.y" /* yacc.c:1646  */
3063 >    {
3064 > #ifdef HAVE_LIBGEOIP
3065 >  if (conf_parser_ctx.pass == 1)
3066 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_MEMORY_CACHE;
3067 > #endif
3068 > }
3069 > #line 3070 "conf_parser.c" /* yacc.c:1646  */
3070 >    break;
3071  
3072 <        DH_free(dh);
3073 <      }
3074 <    }
3075 <    else
3076 <      conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- could not open/read Diffie-Hellman parameter file");
3077 <  }
3072 >  case 88:
3073 > #line 552 "conf_parser.y" /* yacc.c:1646  */
3074 >    {
3075 > #ifdef HAVE_LIBGEOIP
3076 >  if (conf_parser_ctx.pass == 1)
3077 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_MMAP_CACHE;
3078   #endif
3079   }
3080 < #line 3118 "conf_parser.c" /* yacc.c:1646  */
3080 > #line 3081 "conf_parser.c" /* yacc.c:1646  */
3081      break;
3082  
3083 <  case 76:
3084 < #line 608 "conf_parser.y" /* yacc.c:1646  */
3083 >  case 89:
3084 > #line 558 "conf_parser.y" /* yacc.c:1646  */
3085      {
3086 < #ifdef HAVE_LIBCRYPTO
3087 <  if (conf_parser_ctx.pass == 2)
3088 <    SSL_CTX_set_cipher_list(ConfigServerInfo.server_ctx, yylval.string);
3086 > #ifdef HAVE_LIBGEOIP
3087 >  if (conf_parser_ctx.pass == 1)
3088 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_CHECK_CACHE;
3089   #endif
3090   }
3091 < #line 3129 "conf_parser.c" /* yacc.c:1646  */
3091 > #line 3092 "conf_parser.c" /* yacc.c:1646  */
3092      break;
3093  
3094 <  case 77:
3095 < #line 616 "conf_parser.y" /* yacc.c:1646  */
3094 >  case 90:
3095 > #line 566 "conf_parser.y" /* yacc.c:1646  */
3096      {
3134 #ifdef HAVE_LIBCRYPTO
3097    if (conf_parser_ctx.pass == 2)
3098    {
3099 <    if ((ConfigServerInfo.message_digest_algorithm = EVP_get_digestbyname(yylval.string)) == NULL)
3100 <    {
3101 <      ConfigServerInfo.message_digest_algorithm = EVP_sha256();
3102 <      conf_error_report("Ignoring serverinfo::ssl_message_digest_algorithm -- unknown message digest algorithm");
3103 <    }
3104 <  }
3099 >    xfree(ConfigServerInfo.libgeoip_ipv4_database_file);
3100 >    ConfigServerInfo.libgeoip_ipv4_database_file = xstrdup(yylval.string);
3101 >
3102 > #ifdef HAVE_LIBGEOIP
3103 >    if (GeoIPv4_ctx)
3104 >      GeoIP_delete(GeoIPv4_ctx);
3105 >    GeoIPv4_ctx = GeoIP_open(yylval.string, ConfigServerInfo.libgeoip_database_options);
3106   #endif
3107 +  }
3108   }
3109 < #line 3146 "conf_parser.c" /* yacc.c:1646  */
3109 > #line 3110 "conf_parser.c" /* yacc.c:1646  */
3110      break;
3111  
3112 <  case 78:
3113 < #line 630 "conf_parser.y" /* yacc.c:1646  */
3112 >  case 91:
3113 > #line 581 "conf_parser.y" /* yacc.c:1646  */
3114      {
3151 #ifdef HAVE_LIBCRYPTO
3152 #if OPENSSL_VERSION_NUMBER >= 0x009080FFL && !defined(OPENSSL_NO_ECDH)
3153  int nid = 0;
3154  EC_KEY *key = NULL;
3155
3115    if (conf_parser_ctx.pass == 2)
3116    {
3117 <    if ((nid = OBJ_sn2nid(yylval.string)) == 0)
3118 <    {
3160 <        conf_error_report("Ignoring serverinfo::ssl_dh_elliptic_curve -- unknown curve name");
3161 <        break;
3162 <    }
3117 >    xfree(ConfigServerInfo.libgeoip_ipv6_database_file);
3118 >    ConfigServerInfo.libgeoip_ipv6_database_file = xstrdup(yylval.string);
3119  
3120 <    if ((key = EC_KEY_new_by_curve_name(nid)) == NULL)
3121 <    {
3122 <      conf_error_report("Ignoring serverinfo::ssl_dh_elliptic_curve -- could not create curve");
3123 <      break;
3168 <    }
3169 <
3170 <    SSL_CTX_set_tmp_ecdh(ConfigServerInfo.server_ctx, key);
3171 <    EC_KEY_free(key);
3172 < }
3173 < #endif
3120 > #ifdef HAVE_LIBGEOIP
3121 >    if (GeoIPv6_ctx)
3122 >      GeoIP_delete(GeoIPv6_ctx);
3123 >    GeoIPv6_ctx = GeoIP_open(yylval.string, ConfigServerInfo.libgeoip_database_options);
3124   #endif
3125 +  }
3126   }
3127 < #line 3177 "conf_parser.c" /* yacc.c:1646  */
3127 > #line 3128 "conf_parser.c" /* yacc.c:1646  */
3128      break;
3129  
3130 <  case 79:
3131 < #line 658 "conf_parser.y" /* yacc.c:1646  */
3130 >  case 92:
3131 > #line 596 "conf_parser.y" /* yacc.c:1646  */
3132      {
3133 <  /* this isn't rehashable */
3133 >  /* This isn't rehashable */
3134    if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.name)
3135    {
3136      if (valid_servname(yylval.string))
# Line 3187 | Line 3138 | yyreduce:
3138      else
3139      {
3140        conf_error_report("Ignoring serverinfo::name -- invalid name. Aborting.");
3141 <      exit(0);
3141 >      exit(EXIT_FAILURE);
3142      }
3143    }
3144   }
3145 < #line 3195 "conf_parser.c" /* yacc.c:1646  */
3145 > #line 3146 "conf_parser.c" /* yacc.c:1646  */
3146      break;
3147  
3148 <  case 80:
3149 < #line 673 "conf_parser.y" /* yacc.c:1646  */
3148 >  case 93:
3149 > #line 611 "conf_parser.y" /* yacc.c:1646  */
3150      {
3151 <  /* this isn't rehashable */
3151 >  /* This isn't rehashable */
3152    if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.sid)
3153    {
3154      if (valid_sid(yylval.string))
# Line 3205 | Line 3156 | yyreduce:
3156      else
3157      {
3158        conf_error_report("Ignoring serverinfo::sid -- invalid SID. Aborting.");
3159 <      exit(0);
3159 >      exit(EXIT_FAILURE);
3160      }
3161    }
3162   }
3163 < #line 3213 "conf_parser.c" /* yacc.c:1646  */
3163 > #line 3164 "conf_parser.c" /* yacc.c:1646  */
3164      break;
3165  
3166 <  case 81:
3167 < #line 688 "conf_parser.y" /* yacc.c:1646  */
3166 >  case 94:
3167 > #line 626 "conf_parser.y" /* yacc.c:1646  */
3168      {
3169    if (conf_parser_ctx.pass == 2)
3170    {
3171 <    MyFree(ConfigServerInfo.description);
3171 >    xfree(ConfigServerInfo.description);
3172      ConfigServerInfo.description = xstrdup(yylval.string);
3173      strlcpy(me.info, ConfigServerInfo.description, sizeof(me.info));
3174    }
3175   }
3176 < #line 3226 "conf_parser.c" /* yacc.c:1646  */
3176 > #line 3177 "conf_parser.c" /* yacc.c:1646  */
3177      break;
3178  
3179 <  case 82:
3180 < #line 698 "conf_parser.y" /* yacc.c:1646  */
3179 >  case 95:
3180 > #line 636 "conf_parser.y" /* yacc.c:1646  */
3181      {
3182    if (conf_parser_ctx.pass == 2)
3183    {
# Line 3235 | Line 3186 | yyreduce:
3186      if ((p = strchr(yylval.string, ' ')))
3187        *p = '\0';
3188  
3189 <    MyFree(ConfigServerInfo.network_name);
3189 >    xfree(ConfigServerInfo.network_name);
3190      ConfigServerInfo.network_name = xstrdup(yylval.string);
3191    }
3192   }
3193 < #line 3243 "conf_parser.c" /* yacc.c:1646  */
3193 > #line 3194 "conf_parser.c" /* yacc.c:1646  */
3194      break;
3195  
3196 <  case 83:
3197 < #line 712 "conf_parser.y" /* yacc.c:1646  */
3196 >  case 96:
3197 > #line 650 "conf_parser.y" /* yacc.c:1646  */
3198      {
3199    if (conf_parser_ctx.pass != 2)
3200      break;
3201  
3202 <  MyFree(ConfigServerInfo.network_desc);
3202 >  xfree(ConfigServerInfo.network_desc);
3203    ConfigServerInfo.network_desc = xstrdup(yylval.string);
3204   }
3205 < #line 3255 "conf_parser.c" /* yacc.c:1646  */
3205 > #line 3206 "conf_parser.c" /* yacc.c:1646  */
3206      break;
3207  
3208 <  case 84:
3209 < #line 721 "conf_parser.y" /* yacc.c:1646  */
3208 >  case 97:
3209 > #line 659 "conf_parser.y" /* yacc.c:1646  */
3210      {
3211    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3212    {
# Line 3282 | Line 3233 | yyreduce:
3233      }
3234    }
3235   }
3236 < #line 3286 "conf_parser.c" /* yacc.c:1646  */
3236 > #line 3237 "conf_parser.c" /* yacc.c:1646  */
3237      break;
3238  
3239 <  case 85:
3240 < #line 749 "conf_parser.y" /* yacc.c:1646  */
3239 >  case 98:
3240 > #line 687 "conf_parser.y" /* yacc.c:1646  */
3241      {
3242    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3243    {
# Line 3313 | Line 3264 | yyreduce:
3264      }
3265    }
3266   }
3267 < #line 3317 "conf_parser.c" /* yacc.c:1646  */
3267 > #line 3268 "conf_parser.c" /* yacc.c:1646  */
3268      break;
3269  
3270 <  case 86:
3271 < #line 777 "conf_parser.y" /* yacc.c:1646  */
3270 >  case 99:
3271 > #line 715 "conf_parser.y" /* yacc.c:1646  */
3272      {
3273    if (conf_parser_ctx.pass != 2)
3274      break;
# Line 3341 | Line 3292 | yyreduce:
3292    else
3293      ConfigServerInfo.default_max_clients = (yyvsp[-1].number);
3294   }
3295 < #line 3345 "conf_parser.c" /* yacc.c:1646  */
3295 > #line 3296 "conf_parser.c" /* yacc.c:1646  */
3296      break;
3297  
3298 <  case 87:
3299 < #line 802 "conf_parser.y" /* yacc.c:1646  */
3298 >  case 100:
3299 > #line 740 "conf_parser.y" /* yacc.c:1646  */
3300      {
3301    if (conf_parser_ctx.pass != 2)
3302      break;
# Line 3366 | Line 3317 | yyreduce:
3317    else
3318      ConfigServerInfo.max_nick_length = (yyvsp[-1].number);
3319   }
3320 < #line 3370 "conf_parser.c" /* yacc.c:1646  */
3320 > #line 3321 "conf_parser.c" /* yacc.c:1646  */
3321      break;
3322  
3323 <  case 88:
3324 < #line 824 "conf_parser.y" /* yacc.c:1646  */
3323 >  case 101:
3324 > #line 762 "conf_parser.y" /* yacc.c:1646  */
3325      {
3326    if (conf_parser_ctx.pass != 2)
3327      break;
# Line 3391 | Line 3342 | yyreduce:
3342    else
3343      ConfigServerInfo.max_topic_length = (yyvsp[-1].number);
3344   }
3345 < #line 3395 "conf_parser.c" /* yacc.c:1646  */
3345 > #line 3346 "conf_parser.c" /* yacc.c:1646  */
3346      break;
3347  
3348 <  case 89:
3349 < #line 846 "conf_parser.y" /* yacc.c:1646  */
3348 >  case 102:
3349 > #line 784 "conf_parser.y" /* yacc.c:1646  */
3350      {
3351    if (conf_parser_ctx.pass == 2)
3352      ConfigServerInfo.hub = yylval.number;
3353   }
3354 < #line 3404 "conf_parser.c" /* yacc.c:1646  */
3354 > #line 3355 "conf_parser.c" /* yacc.c:1646  */
3355      break;
3356  
3357 <  case 97:
3358 < #line 863 "conf_parser.y" /* yacc.c:1646  */
3357 >  case 110:
3358 > #line 802 "conf_parser.y" /* yacc.c:1646  */
3359      {
3360    if (conf_parser_ctx.pass != 2)
3361      break;
3362  
3363 <  MyFree(ConfigAdminInfo.name);
3363 >  xfree(ConfigAdminInfo.name);
3364    ConfigAdminInfo.name = xstrdup(yylval.string);
3365   }
3366 < #line 3416 "conf_parser.c" /* yacc.c:1646  */
3366 > #line 3367 "conf_parser.c" /* yacc.c:1646  */
3367      break;
3368  
3369 <  case 98:
3370 < #line 872 "conf_parser.y" /* yacc.c:1646  */
3369 >  case 111:
3370 > #line 811 "conf_parser.y" /* yacc.c:1646  */
3371      {
3372    if (conf_parser_ctx.pass != 2)
3373      break;
3374  
3375 <  MyFree(ConfigAdminInfo.email);
3375 >  xfree(ConfigAdminInfo.email);
3376    ConfigAdminInfo.email = xstrdup(yylval.string);
3377   }
3378 < #line 3428 "conf_parser.c" /* yacc.c:1646  */
3378 > #line 3379 "conf_parser.c" /* yacc.c:1646  */
3379      break;
3380  
3381 <  case 99:
3382 < #line 881 "conf_parser.y" /* yacc.c:1646  */
3381 >  case 112:
3382 > #line 820 "conf_parser.y" /* yacc.c:1646  */
3383      {
3384    if (conf_parser_ctx.pass != 2)
3385      break;
3386  
3387 <  MyFree(ConfigAdminInfo.description);
3387 >  xfree(ConfigAdminInfo.description);
3388    ConfigAdminInfo.description = xstrdup(yylval.string);
3389   }
3390 < #line 3440 "conf_parser.c" /* yacc.c:1646  */
3390 > #line 3391 "conf_parser.c" /* yacc.c:1646  */
3391      break;
3392  
3393 <  case 100:
3394 < #line 893 "conf_parser.y" /* yacc.c:1646  */
3393 >  case 113:
3394 > #line 833 "conf_parser.y" /* yacc.c:1646  */
3395      {
3396    if (conf_parser_ctx.pass == 2)
3397      reset_block_state();
3398   }
3399 < #line 3449 "conf_parser.c" /* yacc.c:1646  */
3399 > #line 3400 "conf_parser.c" /* yacc.c:1646  */
3400      break;
3401  
3402 <  case 101:
3403 < #line 897 "conf_parser.y" /* yacc.c:1646  */
3402 >  case 114:
3403 > #line 837 "conf_parser.y" /* yacc.c:1646  */
3404      {
3405    dlink_node *node = NULL;
3406  
# Line 3462 | Line 3413 | yyreduce:
3413    DLINK_FOREACH(node, block_state.mask.list.head)
3414      motd_add(node->data, block_state.file.buf);
3415   }
3416 < #line 3466 "conf_parser.c" /* yacc.c:1646  */
3416 > #line 3417 "conf_parser.c" /* yacc.c:1646  */
3417      break;
3418  
3419 <  case 107:
3420 < #line 914 "conf_parser.y" /* yacc.c:1646  */
3419 >  case 120:
3420 > #line 854 "conf_parser.y" /* yacc.c:1646  */
3421      {
3422    if (conf_parser_ctx.pass == 2)
3423      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3424   }
3425 < #line 3475 "conf_parser.c" /* yacc.c:1646  */
3425 > #line 3426 "conf_parser.c" /* yacc.c:1646  */
3426      break;
3427  
3428 <  case 108:
3429 < #line 920 "conf_parser.y" /* yacc.c:1646  */
3428 >  case 121:
3429 > #line 860 "conf_parser.y" /* yacc.c:1646  */
3430      {
3431    if (conf_parser_ctx.pass == 2)
3432      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3433   }
3434 < #line 3484 "conf_parser.c" /* yacc.c:1646  */
3434 > #line 3435 "conf_parser.c" /* yacc.c:1646  */
3435      break;
3436  
3437 <  case 109:
3438 < #line 929 "conf_parser.y" /* yacc.c:1646  */
3437 >  case 122:
3438 > #line 870 "conf_parser.y" /* yacc.c:1646  */
3439      {
3440    if (conf_parser_ctx.pass == 2)
3441      reset_block_state();
3442   }
3443 < #line 3493 "conf_parser.c" /* yacc.c:1646  */
3443 > #line 3444 "conf_parser.c" /* yacc.c:1646  */
3444      break;
3445  
3446 <  case 110:
3447 < #line 933 "conf_parser.y" /* yacc.c:1646  */
3446 >  case 123:
3447 > #line 874 "conf_parser.y" /* yacc.c:1646  */
3448      {
3449    if (conf_parser_ctx.pass != 2)
3450      break;
# Line 3507 | Line 3458 | yyreduce:
3458    pseudo_register(block_state.name.buf, block_state.nick.buf, block_state.host.buf,
3459                    block_state.prepend.buf, block_state.command.buf);
3460   }
3461 < #line 3511 "conf_parser.c" /* yacc.c:1646  */
3461 > #line 3462 "conf_parser.c" /* yacc.c:1646  */
3462      break;
3463  
3464 <  case 118:
3465 < #line 951 "conf_parser.y" /* yacc.c:1646  */
3464 >  case 131:
3465 > #line 892 "conf_parser.y" /* yacc.c:1646  */
3466      {
3467    if (conf_parser_ctx.pass == 2)
3468      strlcpy(block_state.command.buf, yylval.string, sizeof(block_state.command.buf));
3469   }
3470 < #line 3520 "conf_parser.c" /* yacc.c:1646  */
3470 > #line 3471 "conf_parser.c" /* yacc.c:1646  */
3471      break;
3472  
3473 <  case 119:
3474 < #line 957 "conf_parser.y" /* yacc.c:1646  */
3473 >  case 132:
3474 > #line 898 "conf_parser.y" /* yacc.c:1646  */
3475      {
3476    if (conf_parser_ctx.pass == 2)
3477      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3478   }
3479 < #line 3529 "conf_parser.c" /* yacc.c:1646  */
3479 > #line 3480 "conf_parser.c" /* yacc.c:1646  */
3480      break;
3481  
3482 <  case 120:
3483 < #line 963 "conf_parser.y" /* yacc.c:1646  */
3482 >  case 133:
3483 > #line 904 "conf_parser.y" /* yacc.c:1646  */
3484      {
3485    if (conf_parser_ctx.pass == 2)
3486      strlcpy(block_state.prepend.buf, yylval.string, sizeof(block_state.prepend.buf));
3487   }
3488 < #line 3538 "conf_parser.c" /* yacc.c:1646  */
3488 > #line 3489 "conf_parser.c" /* yacc.c:1646  */
3489      break;
3490  
3491 <  case 121:
3492 < #line 969 "conf_parser.y" /* yacc.c:1646  */
3491 >  case 134:
3492 > #line 910 "conf_parser.y" /* yacc.c:1646  */
3493      {
3494    if (conf_parser_ctx.pass == 2)
3495    {
# Line 3555 | Line 3506 | yyreduce:
3506      split_nuh(&nuh);
3507    }
3508   }
3509 < #line 3559 "conf_parser.c" /* yacc.c:1646  */
3509 > #line 3510 "conf_parser.c" /* yacc.c:1646  */
3510      break;
3511  
3512 <  case 128:
3513 < #line 996 "conf_parser.y" /* yacc.c:1646  */
3512 >  case 141:
3513 > #line 938 "conf_parser.y" /* yacc.c:1646  */
3514      {
3515    if (conf_parser_ctx.pass == 2)
3516      ConfigLog.use_logging = yylval.number;
3517   }
3518 < #line 3568 "conf_parser.c" /* yacc.c:1646  */
3518 > #line 3519 "conf_parser.c" /* yacc.c:1646  */
3519      break;
3520  
3521 <  case 129:
3522 < #line 1002 "conf_parser.y" /* yacc.c:1646  */
3521 >  case 142:
3522 > #line 944 "conf_parser.y" /* yacc.c:1646  */
3523      {
3524    if (conf_parser_ctx.pass == 2)
3525      reset_block_state();
3526   }
3527 < #line 3577 "conf_parser.c" /* yacc.c:1646  */
3527 > #line 3528 "conf_parser.c" /* yacc.c:1646  */
3528      break;
3529  
3530 <  case 130:
3531 < #line 1006 "conf_parser.y" /* yacc.c:1646  */
3530 >  case 143:
3531 > #line 948 "conf_parser.y" /* yacc.c:1646  */
3532      {
3533    if (conf_parser_ctx.pass != 2)
3534      break;
# Line 3586 | Line 3537 | yyreduce:
3537      log_set_file(block_state.type.value, block_state.size.value,
3538                   block_state.file.buf);
3539   }
3540 < #line 3590 "conf_parser.c" /* yacc.c:1646  */
3540 > #line 3541 "conf_parser.c" /* yacc.c:1646  */
3541      break;
3542  
3543 <  case 137:
3544 < #line 1022 "conf_parser.y" /* yacc.c:1646  */
3543 >  case 150:
3544 > #line 964 "conf_parser.y" /* yacc.c:1646  */
3545      {
3546    if (conf_parser_ctx.pass != 2)
3547      break;
3548  
3549    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3550   }
3551 < #line 3601 "conf_parser.c" /* yacc.c:1646  */
3551 > #line 3552 "conf_parser.c" /* yacc.c:1646  */
3552      break;
3553  
3554 <  case 138:
3555 < #line 1030 "conf_parser.y" /* yacc.c:1646  */
3554 >  case 151:
3555 > #line 972 "conf_parser.y" /* yacc.c:1646  */
3556      {
3557    block_state.size.value = (yyvsp[-1].number);
3558   }
3559 < #line 3609 "conf_parser.c" /* yacc.c:1646  */
3559 > #line 3560 "conf_parser.c" /* yacc.c:1646  */
3560      break;
3561  
3562 <  case 139:
3563 < #line 1033 "conf_parser.y" /* yacc.c:1646  */
3562 >  case 152:
3563 > #line 975 "conf_parser.y" /* yacc.c:1646  */
3564      {
3565    block_state.size.value = 0;
3566   }
3567 < #line 3617 "conf_parser.c" /* yacc.c:1646  */
3567 > #line 3568 "conf_parser.c" /* yacc.c:1646  */
3568      break;
3569  
3570 <  case 140:
3571 < #line 1038 "conf_parser.y" /* yacc.c:1646  */
3570 >  case 153:
3571 > #line 980 "conf_parser.y" /* yacc.c:1646  */
3572      {
3573    if (conf_parser_ctx.pass == 2)
3574      block_state.type.value = 0;
3575   }
3576 < #line 3626 "conf_parser.c" /* yacc.c:1646  */
3576 > #line 3577 "conf_parser.c" /* yacc.c:1646  */
3577      break;
3578  
3579 <  case 144:
3580 < #line 1045 "conf_parser.y" /* yacc.c:1646  */
3579 >  case 157:
3580 > #line 987 "conf_parser.y" /* yacc.c:1646  */
3581      {
3582    if (conf_parser_ctx.pass == 2)
3583      block_state.type.value = LOG_TYPE_USER;
3584   }
3585 < #line 3635 "conf_parser.c" /* yacc.c:1646  */
3585 > #line 3586 "conf_parser.c" /* yacc.c:1646  */
3586      break;
3587  
3588 <  case 145:
3589 < #line 1049 "conf_parser.y" /* yacc.c:1646  */
3588 >  case 158:
3589 > #line 991 "conf_parser.y" /* yacc.c:1646  */
3590      {
3591    if (conf_parser_ctx.pass == 2)
3592      block_state.type.value = LOG_TYPE_OPER;
3593   }
3594 < #line 3644 "conf_parser.c" /* yacc.c:1646  */
3594 > #line 3595 "conf_parser.c" /* yacc.c:1646  */
3595      break;
3596  
3597 <  case 146:
3598 < #line 1053 "conf_parser.y" /* yacc.c:1646  */
3597 >  case 159:
3598 > #line 995 "conf_parser.y" /* yacc.c:1646  */
3599      {
3600    if (conf_parser_ctx.pass == 2)
3601      block_state.type.value = LOG_TYPE_XLINE;
3602   }
3603 < #line 3653 "conf_parser.c" /* yacc.c:1646  */
3603 > #line 3604 "conf_parser.c" /* yacc.c:1646  */
3604      break;
3605  
3606 <  case 147:
3607 < #line 1057 "conf_parser.y" /* yacc.c:1646  */
3606 >  case 160:
3607 > #line 999 "conf_parser.y" /* yacc.c:1646  */
3608      {
3609    if (conf_parser_ctx.pass == 2)
3610      block_state.type.value = LOG_TYPE_RESV;
3611   }
3612 < #line 3662 "conf_parser.c" /* yacc.c:1646  */
3612 > #line 3613 "conf_parser.c" /* yacc.c:1646  */
3613      break;
3614  
3615 <  case 148:
3616 < #line 1061 "conf_parser.y" /* yacc.c:1646  */
3615 >  case 161:
3616 > #line 1003 "conf_parser.y" /* yacc.c:1646  */
3617      {
3618    if (conf_parser_ctx.pass == 2)
3619      block_state.type.value = LOG_TYPE_DLINE;
3620   }
3621 < #line 3671 "conf_parser.c" /* yacc.c:1646  */
3621 > #line 3622 "conf_parser.c" /* yacc.c:1646  */
3622      break;
3623  
3624 <  case 149:
3625 < #line 1065 "conf_parser.y" /* yacc.c:1646  */
3624 >  case 162:
3625 > #line 1007 "conf_parser.y" /* yacc.c:1646  */
3626      {
3627    if (conf_parser_ctx.pass == 2)
3628      block_state.type.value = LOG_TYPE_KLINE;
3629   }
3630 < #line 3680 "conf_parser.c" /* yacc.c:1646  */
3630 > #line 3631 "conf_parser.c" /* yacc.c:1646  */
3631      break;
3632  
3633 <  case 150:
3634 < #line 1069 "conf_parser.y" /* yacc.c:1646  */
3633 >  case 163:
3634 > #line 1011 "conf_parser.y" /* yacc.c:1646  */
3635      {
3636    if (conf_parser_ctx.pass == 2)
3637      block_state.type.value = LOG_TYPE_KILL;
3638   }
3639 < #line 3689 "conf_parser.c" /* yacc.c:1646  */
3639 > #line 3640 "conf_parser.c" /* yacc.c:1646  */
3640      break;
3641  
3642 <  case 151:
3643 < #line 1073 "conf_parser.y" /* yacc.c:1646  */
3642 >  case 164:
3643 > #line 1015 "conf_parser.y" /* yacc.c:1646  */
3644      {
3645    if (conf_parser_ctx.pass == 2)
3646      block_state.type.value = LOG_TYPE_DEBUG;
3647   }
3648 < #line 3698 "conf_parser.c" /* yacc.c:1646  */
3648 > #line 3649 "conf_parser.c" /* yacc.c:1646  */
3649      break;
3650  
3651 <  case 152:
3652 < #line 1083 "conf_parser.y" /* yacc.c:1646  */
3651 >  case 165:
3652 > #line 1025 "conf_parser.y" /* yacc.c:1646  */
3653      {
3654    if (conf_parser_ctx.pass != 2)
3655      break;
# Line 3706 | Line 3657 | yyreduce:
3657    reset_block_state();
3658    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3659   }
3660 < #line 3710 "conf_parser.c" /* yacc.c:1646  */
3660 > #line 3661 "conf_parser.c" /* yacc.c:1646  */
3661      break;
3662  
3663 <  case 153:
3664 < #line 1090 "conf_parser.y" /* yacc.c:1646  */
3663 >  case 166:
3664 > #line 1032 "conf_parser.y" /* yacc.c:1646  */
3665      {
3666    dlink_node *node = NULL;
3667  
# Line 3719 | Line 3670 | yyreduce:
3670  
3671    if (!block_state.name.buf[0])
3672      break;
3673 < #ifdef HAVE_LIBCRYPTO
3723 <  if (!block_state.file.buf[0] &&
3724 <      !block_state.rpass.buf[0])
3725 <    break;
3726 < #else
3673 >
3674    if (!block_state.rpass.buf[0])
3675      break;
3729 #endif
3676  
3677    DLINK_FOREACH(node, block_state.mask.list.head)
3678    {
3679      struct MaskItem *conf = NULL;
3680      struct split_nuh_item nuh;
3681 +    char *s = node->data;
3682 +
3683 +    if (EmptyString(s))
3684 +      continue;
3685  
3686 <    nuh.nuhmask  = node->data;
3686 >    nuh.nuhmask  = s;
3687      nuh.nickptr  = NULL;
3688      nuh.userptr  = block_state.user.buf;
3689      nuh.hostptr  = block_state.host.buf;
# Line 3762 | Line 3712 | yyreduce:
3712      conf->htype = parse_netmask(conf->host, &conf->addr, &conf->bits);
3713  
3714      conf_add_class_to_conf(conf, block_state.class.buf);
3765
3766 #ifdef HAVE_LIBCRYPTO
3767    if (block_state.file.buf[0])
3768    {
3769      BIO *file = NULL;
3770      RSA *pkey = NULL;
3771
3772      if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3773      {
3774        ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- file doesn't exist");
3775        break;
3776      }
3777
3778      if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3779        ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- key invalid; check key syntax");
3780      else
3781      {
3782        if (RSA_size(pkey) > 128)
3783          ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- key size must be 1024 or below");
3784        else
3785          conf->rsa_public_key = pkey;
3786      }
3787
3788      BIO_set_close(file, BIO_CLOSE);
3789      BIO_free(file);
3790    }
3791 #endif /* HAVE_LIBCRYPTO */
3715    }
3716   }
3717 < #line 3795 "conf_parser.c" /* yacc.c:1646  */
3717 > #line 3718 "conf_parser.c" /* yacc.c:1646  */
3718      break;
3719  
3720 <  case 168:
3721 < #line 1186 "conf_parser.y" /* yacc.c:1646  */
3720 >  case 180:
3721 > #line 1099 "conf_parser.y" /* yacc.c:1646  */
3722      {
3723    if (conf_parser_ctx.pass == 2)
3724      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3725   }
3726 < #line 3804 "conf_parser.c" /* yacc.c:1646  */
3726 > #line 3727 "conf_parser.c" /* yacc.c:1646  */
3727      break;
3728  
3729 <  case 169:
3730 < #line 1192 "conf_parser.y" /* yacc.c:1646  */
3729 >  case 181:
3730 > #line 1105 "conf_parser.y" /* yacc.c:1646  */
3731      {
3732    if (conf_parser_ctx.pass == 2)
3733      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3734   }
3735 < #line 3813 "conf_parser.c" /* yacc.c:1646  */
3735 > #line 3736 "conf_parser.c" /* yacc.c:1646  */
3736      break;
3737  
3738 <  case 170:
3739 < #line 1198 "conf_parser.y" /* yacc.c:1646  */
3738 >  case 182:
3739 > #line 1111 "conf_parser.y" /* yacc.c:1646  */
3740      {
3741    if (conf_parser_ctx.pass == 2)
3742      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3743   }
3744 < #line 3822 "conf_parser.c" /* yacc.c:1646  */
3744 > #line 3745 "conf_parser.c" /* yacc.c:1646  */
3745      break;
3746  
3747 <  case 171:
3748 < #line 1204 "conf_parser.y" /* yacc.c:1646  */
3747 >  case 183:
3748 > #line 1117 "conf_parser.y" /* yacc.c:1646  */
3749      {
3750    if (conf_parser_ctx.pass == 2)
3751      strlcpy(block_state.whois.buf, yylval.string, sizeof(block_state.whois.buf));
3752   }
3753 < #line 3831 "conf_parser.c" /* yacc.c:1646  */
3753 > #line 3754 "conf_parser.c" /* yacc.c:1646  */
3754      break;
3755  
3756 <  case 172:
3757 < #line 1210 "conf_parser.y" /* yacc.c:1646  */
3756 >  case 184:
3757 > #line 1123 "conf_parser.y" /* yacc.c:1646  */
3758      {
3759    if (conf_parser_ctx.pass != 2)
3760      break;
# Line 3841 | Line 3764 | yyreduce:
3764    else
3765      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3766   }
3767 < #line 3845 "conf_parser.c" /* yacc.c:1646  */
3845 <    break;
3846 <
3847 <  case 173:
3848 < #line 1221 "conf_parser.y" /* yacc.c:1646  */
3849 <    {
3850 <  if (conf_parser_ctx.pass == 2)
3851 <    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3852 < }
3853 < #line 3854 "conf_parser.c" /* yacc.c:1646  */
3767 > #line 3768 "conf_parser.c" /* yacc.c:1646  */
3768      break;
3769  
3770 <  case 174:
3771 < #line 1227 "conf_parser.y" /* yacc.c:1646  */
3770 >  case 185:
3771 > #line 1134 "conf_parser.y" /* yacc.c:1646  */
3772      {
3773    if (conf_parser_ctx.pass == 2)
3774      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3775   }
3776 < #line 3863 "conf_parser.c" /* yacc.c:1646  */
3776 > #line 3777 "conf_parser.c" /* yacc.c:1646  */
3777      break;
3778  
3779 <  case 175:
3780 < #line 1233 "conf_parser.y" /* yacc.c:1646  */
3779 >  case 186:
3780 > #line 1140 "conf_parser.y" /* yacc.c:1646  */
3781      {
3782    if (conf_parser_ctx.pass != 2)
3783      break;
# Line 3873 | Line 3787 | yyreduce:
3787    else
3788      block_state.flags.value &= ~CONF_FLAGS_SSL;
3789   }
3790 < #line 3877 "conf_parser.c" /* yacc.c:1646  */
3790 > #line 3791 "conf_parser.c" /* yacc.c:1646  */
3791      break;
3792  
3793 <  case 176:
3794 < #line 1244 "conf_parser.y" /* yacc.c:1646  */
3793 >  case 187:
3794 > #line 1151 "conf_parser.y" /* yacc.c:1646  */
3795      {
3796    if (conf_parser_ctx.pass == 2)
3797      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3798   }
3799 < #line 3886 "conf_parser.c" /* yacc.c:1646  */
3799 > #line 3800 "conf_parser.c" /* yacc.c:1646  */
3800      break;
3801  
3802 <  case 177:
3803 < #line 1250 "conf_parser.y" /* yacc.c:1646  */
3802 >  case 188:
3803 > #line 1157 "conf_parser.y" /* yacc.c:1646  */
3804      {
3805    if (conf_parser_ctx.pass == 2)
3806      block_state.modes.value = 0;
3807   }
3808 < #line 3895 "conf_parser.c" /* yacc.c:1646  */
3808 > #line 3809 "conf_parser.c" /* yacc.c:1646  */
3809      break;
3810  
3811 <  case 181:
3812 < #line 1257 "conf_parser.y" /* yacc.c:1646  */
3811 >  case 192:
3812 > #line 1164 "conf_parser.y" /* yacc.c:1646  */
3813      {
3814    if (conf_parser_ctx.pass == 2)
3815      block_state.modes.value |= UMODE_BOTS;
3816   }
3817 < #line 3904 "conf_parser.c" /* yacc.c:1646  */
3817 > #line 3818 "conf_parser.c" /* yacc.c:1646  */
3818      break;
3819  
3820 <  case 182:
3821 < #line 1261 "conf_parser.y" /* yacc.c:1646  */
3820 >  case 193:
3821 > #line 1168 "conf_parser.y" /* yacc.c:1646  */
3822      {
3823    if (conf_parser_ctx.pass == 2)
3824      block_state.modes.value |= UMODE_CCONN;
3825   }
3826 < #line 3913 "conf_parser.c" /* yacc.c:1646  */
3826 > #line 3827 "conf_parser.c" /* yacc.c:1646  */
3827      break;
3828  
3829 <  case 183:
3830 < #line 1265 "conf_parser.y" /* yacc.c:1646  */
3829 >  case 194:
3830 > #line 1172 "conf_parser.y" /* yacc.c:1646  */
3831      {
3832    if (conf_parser_ctx.pass == 2)
3833      block_state.modes.value |= UMODE_DEAF;
3834   }
3835 < #line 3922 "conf_parser.c" /* yacc.c:1646  */
3835 > #line 3836 "conf_parser.c" /* yacc.c:1646  */
3836      break;
3837  
3838 <  case 184:
3839 < #line 1269 "conf_parser.y" /* yacc.c:1646  */
3838 >  case 195:
3839 > #line 1176 "conf_parser.y" /* yacc.c:1646  */
3840      {
3841    if (conf_parser_ctx.pass == 2)
3842      block_state.modes.value |= UMODE_DEBUG;
3843   }
3844 < #line 3931 "conf_parser.c" /* yacc.c:1646  */
3844 > #line 3845 "conf_parser.c" /* yacc.c:1646  */
3845      break;
3846  
3847 <  case 185:
3848 < #line 1273 "conf_parser.y" /* yacc.c:1646  */
3847 >  case 196:
3848 > #line 1180 "conf_parser.y" /* yacc.c:1646  */
3849      {
3850    if (conf_parser_ctx.pass == 2)
3851      block_state.modes.value |= UMODE_FULL;
3852   }
3853 < #line 3940 "conf_parser.c" /* yacc.c:1646  */
3853 > #line 3854 "conf_parser.c" /* yacc.c:1646  */
3854      break;
3855  
3856 <  case 186:
3857 < #line 1277 "conf_parser.y" /* yacc.c:1646  */
3856 >  case 197:
3857 > #line 1184 "conf_parser.y" /* yacc.c:1646  */
3858      {
3859    if (conf_parser_ctx.pass == 2)
3860      block_state.modes.value |= UMODE_HIDDEN;
3861   }
3862 < #line 3949 "conf_parser.c" /* yacc.c:1646  */
3862 > #line 3863 "conf_parser.c" /* yacc.c:1646  */
3863      break;
3864  
3865 <  case 187:
3866 < #line 1281 "conf_parser.y" /* yacc.c:1646  */
3865 >  case 198:
3866 > #line 1188 "conf_parser.y" /* yacc.c:1646  */
3867      {
3868    if (conf_parser_ctx.pass == 2)
3869      block_state.modes.value |= UMODE_HIDECHANS;
3870   }
3871 < #line 3958 "conf_parser.c" /* yacc.c:1646  */
3871 > #line 3872 "conf_parser.c" /* yacc.c:1646  */
3872      break;
3873  
3874 <  case 188:
3875 < #line 1285 "conf_parser.y" /* yacc.c:1646  */
3874 >  case 199:
3875 > #line 1192 "conf_parser.y" /* yacc.c:1646  */
3876      {
3877    if (conf_parser_ctx.pass == 2)
3878      block_state.modes.value |= UMODE_HIDEIDLE;
3879   }
3880 < #line 3967 "conf_parser.c" /* yacc.c:1646  */
3880 > #line 3881 "conf_parser.c" /* yacc.c:1646  */
3881      break;
3882  
3883 <  case 189:
3884 < #line 1289 "conf_parser.y" /* yacc.c:1646  */
3883 >  case 200:
3884 > #line 1196 "conf_parser.y" /* yacc.c:1646  */
3885      {
3886    if (conf_parser_ctx.pass == 2)
3887      block_state.modes.value |= UMODE_SKILL;
3888   }
3889 < #line 3976 "conf_parser.c" /* yacc.c:1646  */
3889 > #line 3890 "conf_parser.c" /* yacc.c:1646  */
3890      break;
3891  
3892 <  case 190:
3893 < #line 1293 "conf_parser.y" /* yacc.c:1646  */
3892 >  case 201:
3893 > #line 1200 "conf_parser.y" /* yacc.c:1646  */
3894      {
3895    if (conf_parser_ctx.pass == 2)
3896      block_state.modes.value |= UMODE_NCHANGE;
3897   }
3898 < #line 3985 "conf_parser.c" /* yacc.c:1646  */
3898 > #line 3899 "conf_parser.c" /* yacc.c:1646  */
3899      break;
3900  
3901 <  case 191:
3902 < #line 1297 "conf_parser.y" /* yacc.c:1646  */
3901 >  case 202:
3902 > #line 1204 "conf_parser.y" /* yacc.c:1646  */
3903      {
3904    if (conf_parser_ctx.pass == 2)
3905      block_state.modes.value |= UMODE_REJ;
3906   }
3907 < #line 3994 "conf_parser.c" /* yacc.c:1646  */
3907 > #line 3908 "conf_parser.c" /* yacc.c:1646  */
3908      break;
3909  
3910 <  case 192:
3911 < #line 1301 "conf_parser.y" /* yacc.c:1646  */
3910 >  case 203:
3911 > #line 1208 "conf_parser.y" /* yacc.c:1646  */
3912      {
3913    if (conf_parser_ctx.pass == 2)
3914      block_state.modes.value |= UMODE_UNAUTH;
3915   }
3916 < #line 4003 "conf_parser.c" /* yacc.c:1646  */
3916 > #line 3917 "conf_parser.c" /* yacc.c:1646  */
3917      break;
3918  
3919 <  case 193:
3920 < #line 1305 "conf_parser.y" /* yacc.c:1646  */
3919 >  case 204:
3920 > #line 1212 "conf_parser.y" /* yacc.c:1646  */
3921      {
3922    if (conf_parser_ctx.pass == 2)
3923      block_state.modes.value |= UMODE_SPY;
3924   }
3925 < #line 4012 "conf_parser.c" /* yacc.c:1646  */
3925 > #line 3926 "conf_parser.c" /* yacc.c:1646  */
3926      break;
3927  
3928 <  case 194:
3929 < #line 1309 "conf_parser.y" /* yacc.c:1646  */
3928 >  case 205:
3929 > #line 1216 "conf_parser.y" /* yacc.c:1646  */
3930      {
3931    if (conf_parser_ctx.pass == 2)
3932      block_state.modes.value |= UMODE_EXTERNAL;
3933   }
3934 < #line 4021 "conf_parser.c" /* yacc.c:1646  */
3934 > #line 3935 "conf_parser.c" /* yacc.c:1646  */
3935      break;
3936  
3937 <  case 195:
3938 < #line 1313 "conf_parser.y" /* yacc.c:1646  */
3937 >  case 206:
3938 > #line 1220 "conf_parser.y" /* yacc.c:1646  */
3939      {
3940    if (conf_parser_ctx.pass == 2)
3941      block_state.modes.value |= UMODE_SERVNOTICE;
3942   }
3943 < #line 4030 "conf_parser.c" /* yacc.c:1646  */
3943 > #line 3944 "conf_parser.c" /* yacc.c:1646  */
3944      break;
3945  
3946 <  case 196:
3947 < #line 1317 "conf_parser.y" /* yacc.c:1646  */
3946 >  case 207:
3947 > #line 1224 "conf_parser.y" /* yacc.c:1646  */
3948      {
3949    if (conf_parser_ctx.pass == 2)
3950      block_state.modes.value |= UMODE_INVISIBLE;
3951   }
3952 < #line 4039 "conf_parser.c" /* yacc.c:1646  */
3952 > #line 3953 "conf_parser.c" /* yacc.c:1646  */
3953      break;
3954  
3955 <  case 197:
3956 < #line 1321 "conf_parser.y" /* yacc.c:1646  */
3955 >  case 208:
3956 > #line 1228 "conf_parser.y" /* yacc.c:1646  */
3957      {
3958    if (conf_parser_ctx.pass == 2)
3959      block_state.modes.value |= UMODE_WALLOP;
3960   }
3961 < #line 4048 "conf_parser.c" /* yacc.c:1646  */
3961 > #line 3962 "conf_parser.c" /* yacc.c:1646  */
3962      break;
3963  
3964 <  case 198:
3965 < #line 1325 "conf_parser.y" /* yacc.c:1646  */
3964 >  case 209:
3965 > #line 1232 "conf_parser.y" /* yacc.c:1646  */
3966      {
3967    if (conf_parser_ctx.pass == 2)
3968      block_state.modes.value |= UMODE_SOFTCALLERID;
3969   }
3970 < #line 4057 "conf_parser.c" /* yacc.c:1646  */
3970 > #line 3971 "conf_parser.c" /* yacc.c:1646  */
3971      break;
3972  
3973 <  case 199:
3974 < #line 1329 "conf_parser.y" /* yacc.c:1646  */
3973 >  case 210:
3974 > #line 1236 "conf_parser.y" /* yacc.c:1646  */
3975      {
3976    if (conf_parser_ctx.pass == 2)
3977      block_state.modes.value |= UMODE_CALLERID;
3978   }
3979 < #line 4066 "conf_parser.c" /* yacc.c:1646  */
3979 > #line 3980 "conf_parser.c" /* yacc.c:1646  */
3980      break;
3981  
3982 <  case 200:
3983 < #line 1333 "conf_parser.y" /* yacc.c:1646  */
3982 >  case 211:
3983 > #line 1240 "conf_parser.y" /* yacc.c:1646  */
3984      {
3985    if (conf_parser_ctx.pass == 2)
3986      block_state.modes.value |= UMODE_LOCOPS;
3987   }
3988 < #line 4075 "conf_parser.c" /* yacc.c:1646  */
3988 > #line 3989 "conf_parser.c" /* yacc.c:1646  */
3989      break;
3990  
3991 <  case 201:
3992 < #line 1337 "conf_parser.y" /* yacc.c:1646  */
3991 >  case 212:
3992 > #line 1244 "conf_parser.y" /* yacc.c:1646  */
3993      {
3994    if (conf_parser_ctx.pass == 2)
3995      block_state.modes.value |= UMODE_REGONLY;
3996   }
3997 < #line 4084 "conf_parser.c" /* yacc.c:1646  */
3997 > #line 3998 "conf_parser.c" /* yacc.c:1646  */
3998      break;
3999  
4000 <  case 202:
4001 < #line 1341 "conf_parser.y" /* yacc.c:1646  */
4000 >  case 213:
4001 > #line 1248 "conf_parser.y" /* yacc.c:1646  */
4002      {
4003    if (conf_parser_ctx.pass == 2)
4004      block_state.modes.value |= UMODE_FARCONNECT;
4005   }
4006 < #line 4093 "conf_parser.c" /* yacc.c:1646  */
4006 > #line 4007 "conf_parser.c" /* yacc.c:1646  */
4007      break;
4008  
4009 <  case 203:
4010 < #line 1347 "conf_parser.y" /* yacc.c:1646  */
4009 >  case 214:
4010 > #line 1254 "conf_parser.y" /* yacc.c:1646  */
4011      {
4012    if (conf_parser_ctx.pass == 2)
4013      block_state.port.value = 0;
4014   }
4015 < #line 4102 "conf_parser.c" /* yacc.c:1646  */
4015 > #line 4016 "conf_parser.c" /* yacc.c:1646  */
4016      break;
4017  
4018 <  case 207:
4019 < #line 1354 "conf_parser.y" /* yacc.c:1646  */
4018 >  case 218:
4019 > #line 1261 "conf_parser.y" /* yacc.c:1646  */
4020      {
4021    if (conf_parser_ctx.pass == 2)
4022      block_state.port.value |= OPER_FLAG_KILL_REMOTE;
4023   }
4024 < #line 4111 "conf_parser.c" /* yacc.c:1646  */
4024 > #line 4025 "conf_parser.c" /* yacc.c:1646  */
4025      break;
4026  
4027 <  case 208:
4028 < #line 1358 "conf_parser.y" /* yacc.c:1646  */
4027 >  case 219:
4028 > #line 1265 "conf_parser.y" /* yacc.c:1646  */
4029      {
4030    if (conf_parser_ctx.pass == 2)
4031      block_state.port.value |= OPER_FLAG_KILL;
4032   }
4033 < #line 4120 "conf_parser.c" /* yacc.c:1646  */
4033 > #line 4034 "conf_parser.c" /* yacc.c:1646  */
4034      break;
4035  
4036 <  case 209:
4037 < #line 1362 "conf_parser.y" /* yacc.c:1646  */
4036 >  case 220:
4037 > #line 1269 "conf_parser.y" /* yacc.c:1646  */
4038      {
4039    if (conf_parser_ctx.pass == 2)
4040      block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
4041   }
4042 < #line 4129 "conf_parser.c" /* yacc.c:1646  */
4042 > #line 4043 "conf_parser.c" /* yacc.c:1646  */
4043      break;
4044  
4045 <  case 210:
4046 < #line 1366 "conf_parser.y" /* yacc.c:1646  */
4045 >  case 221:
4046 > #line 1273 "conf_parser.y" /* yacc.c:1646  */
4047      {
4048    if (conf_parser_ctx.pass == 2)
4049      block_state.port.value |= OPER_FLAG_CONNECT;
4050   }
4051 < #line 4138 "conf_parser.c" /* yacc.c:1646  */
4051 > #line 4052 "conf_parser.c" /* yacc.c:1646  */
4052      break;
4053  
4054 <  case 211:
4055 < #line 1370 "conf_parser.y" /* yacc.c:1646  */
4054 >  case 222:
4055 > #line 1277 "conf_parser.y" /* yacc.c:1646  */
4056      {
4057    if (conf_parser_ctx.pass == 2)
4058      block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4059   }
4060 < #line 4147 "conf_parser.c" /* yacc.c:1646  */
4060 > #line 4061 "conf_parser.c" /* yacc.c:1646  */
4061      break;
4062  
4063 <  case 212:
4064 < #line 1374 "conf_parser.y" /* yacc.c:1646  */
4063 >  case 223:
4064 > #line 1281 "conf_parser.y" /* yacc.c:1646  */
4065      {
4066    if (conf_parser_ctx.pass == 2)
4067      block_state.port.value |= OPER_FLAG_SQUIT;
4068   }
4069 < #line 4156 "conf_parser.c" /* yacc.c:1646  */
4069 > #line 4070 "conf_parser.c" /* yacc.c:1646  */
4070      break;
4071  
4072 <  case 213:
4073 < #line 1378 "conf_parser.y" /* yacc.c:1646  */
4072 >  case 224:
4073 > #line 1285 "conf_parser.y" /* yacc.c:1646  */
4074      {
4075    if (conf_parser_ctx.pass == 2)
4076      block_state.port.value |= OPER_FLAG_KLINE;
4077   }
4078 < #line 4165 "conf_parser.c" /* yacc.c:1646  */
4078 > #line 4079 "conf_parser.c" /* yacc.c:1646  */
4079      break;
4080  
4081 <  case 214:
4082 < #line 1382 "conf_parser.y" /* yacc.c:1646  */
4081 >  case 225:
4082 > #line 1289 "conf_parser.y" /* yacc.c:1646  */
4083      {
4084    if (conf_parser_ctx.pass == 2)
4085      block_state.port.value |= OPER_FLAG_UNKLINE;
4086   }
4087 < #line 4174 "conf_parser.c" /* yacc.c:1646  */
4087 > #line 4088 "conf_parser.c" /* yacc.c:1646  */
4088      break;
4089  
4090 <  case 215:
4091 < #line 1386 "conf_parser.y" /* yacc.c:1646  */
4090 >  case 226:
4091 > #line 1293 "conf_parser.y" /* yacc.c:1646  */
4092      {
4093    if (conf_parser_ctx.pass == 2)
4094      block_state.port.value |= OPER_FLAG_DLINE;
4095   }
4096 < #line 4183 "conf_parser.c" /* yacc.c:1646  */
4096 > #line 4097 "conf_parser.c" /* yacc.c:1646  */
4097      break;
4098  
4099 <  case 216:
4100 < #line 1390 "conf_parser.y" /* yacc.c:1646  */
4099 >  case 227:
4100 > #line 1297 "conf_parser.y" /* yacc.c:1646  */
4101      {
4102    if (conf_parser_ctx.pass == 2)
4103      block_state.port.value |= OPER_FLAG_UNDLINE;
4104   }
4105 < #line 4192 "conf_parser.c" /* yacc.c:1646  */
4105 > #line 4106 "conf_parser.c" /* yacc.c:1646  */
4106      break;
4107  
4108 <  case 217:
4109 < #line 1394 "conf_parser.y" /* yacc.c:1646  */
4108 >  case 228:
4109 > #line 1301 "conf_parser.y" /* yacc.c:1646  */
4110      {
4111    if (conf_parser_ctx.pass == 2)
4112      block_state.port.value |= OPER_FLAG_XLINE;
4113   }
4114 < #line 4201 "conf_parser.c" /* yacc.c:1646  */
4114 > #line 4115 "conf_parser.c" /* yacc.c:1646  */
4115      break;
4116  
4117 <  case 218:
4118 < #line 1398 "conf_parser.y" /* yacc.c:1646  */
4117 >  case 229:
4118 > #line 1305 "conf_parser.y" /* yacc.c:1646  */
4119      {
4120    if (conf_parser_ctx.pass == 2)
4121      block_state.port.value |= OPER_FLAG_UNXLINE;
4122   }
4123 < #line 4210 "conf_parser.c" /* yacc.c:1646  */
4123 > #line 4124 "conf_parser.c" /* yacc.c:1646  */
4124      break;
4125  
4126 <  case 219:
4127 < #line 1402 "conf_parser.y" /* yacc.c:1646  */
4126 >  case 230:
4127 > #line 1309 "conf_parser.y" /* yacc.c:1646  */
4128      {
4129    if (conf_parser_ctx.pass == 2)
4130      block_state.port.value |= OPER_FLAG_DIE;
4131   }
4132 < #line 4219 "conf_parser.c" /* yacc.c:1646  */
4132 > #line 4133 "conf_parser.c" /* yacc.c:1646  */
4133      break;
4134  
4135 <  case 220:
4136 < #line 1406 "conf_parser.y" /* yacc.c:1646  */
4135 >  case 231:
4136 > #line 1313 "conf_parser.y" /* yacc.c:1646  */
4137      {
4138    if (conf_parser_ctx.pass == 2)
4139      block_state.port.value |= OPER_FLAG_RESTART;
4140   }
4141 < #line 4228 "conf_parser.c" /* yacc.c:1646  */
4141 > #line 4142 "conf_parser.c" /* yacc.c:1646  */
4142      break;
4143  
4144 <  case 221:
4145 < #line 1410 "conf_parser.y" /* yacc.c:1646  */
4144 >  case 232:
4145 > #line 1317 "conf_parser.y" /* yacc.c:1646  */
4146 >    {
4147 >  if (conf_parser_ctx.pass == 2)
4148 >    block_state.port.value |= OPER_FLAG_REHASH_REMOTE;
4149 > }
4150 > #line 4151 "conf_parser.c" /* yacc.c:1646  */
4151 >    break;
4152 >
4153 >  case 233:
4154 > #line 1321 "conf_parser.y" /* yacc.c:1646  */
4155      {
4156    if (conf_parser_ctx.pass == 2)
4157      block_state.port.value |= OPER_FLAG_REHASH;
4158   }
4159 < #line 4237 "conf_parser.c" /* yacc.c:1646  */
4159 > #line 4160 "conf_parser.c" /* yacc.c:1646  */
4160      break;
4161  
4162 <  case 222:
4163 < #line 1414 "conf_parser.y" /* yacc.c:1646  */
4162 >  case 234:
4163 > #line 1325 "conf_parser.y" /* yacc.c:1646  */
4164      {
4165    if (conf_parser_ctx.pass == 2)
4166      block_state.port.value |= OPER_FLAG_ADMIN;
4167   }
4168 < #line 4246 "conf_parser.c" /* yacc.c:1646  */
4168 > #line 4169 "conf_parser.c" /* yacc.c:1646  */
4169      break;
4170  
4171 <  case 223:
4172 < #line 1418 "conf_parser.y" /* yacc.c:1646  */
4171 >  case 235:
4172 > #line 1329 "conf_parser.y" /* yacc.c:1646  */
4173      {
4174    if (conf_parser_ctx.pass == 2)
4175      block_state.port.value |= OPER_FLAG_GLOBOPS;
4176   }
4177 < #line 4255 "conf_parser.c" /* yacc.c:1646  */
4177 > #line 4178 "conf_parser.c" /* yacc.c:1646  */
4178      break;
4179  
4180 <  case 224:
4181 < #line 1422 "conf_parser.y" /* yacc.c:1646  */
4180 >  case 236:
4181 > #line 1333 "conf_parser.y" /* yacc.c:1646  */
4182      {
4183    if (conf_parser_ctx.pass == 2)
4184      block_state.port.value |= OPER_FLAG_WALLOPS;
4185   }
4186 < #line 4264 "conf_parser.c" /* yacc.c:1646  */
4186 > #line 4187 "conf_parser.c" /* yacc.c:1646  */
4187      break;
4188  
4189 <  case 225:
4190 < #line 1426 "conf_parser.y" /* yacc.c:1646  */
4189 >  case 237:
4190 > #line 1337 "conf_parser.y" /* yacc.c:1646  */
4191      {
4192    if (conf_parser_ctx.pass == 2)
4193      block_state.port.value |= OPER_FLAG_LOCOPS;
4194   }
4195 < #line 4273 "conf_parser.c" /* yacc.c:1646  */
4195 > #line 4196 "conf_parser.c" /* yacc.c:1646  */
4196      break;
4197  
4198 <  case 226:
4199 < #line 1430 "conf_parser.y" /* yacc.c:1646  */
4198 >  case 238:
4199 > #line 1341 "conf_parser.y" /* yacc.c:1646  */
4200      {
4201    if (conf_parser_ctx.pass == 2)
4202      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4203   }
4204 < #line 4282 "conf_parser.c" /* yacc.c:1646  */
4204 > #line 4205 "conf_parser.c" /* yacc.c:1646  */
4205      break;
4206  
4207 <  case 227:
4208 < #line 1434 "conf_parser.y" /* yacc.c:1646  */
4207 >  case 239:
4208 > #line 1345 "conf_parser.y" /* yacc.c:1646  */
4209      {
4210    if (conf_parser_ctx.pass == 2)
4211      block_state.port.value |= OPER_FLAG_SET;
4212   }
4213 < #line 4291 "conf_parser.c" /* yacc.c:1646  */
4213 > #line 4214 "conf_parser.c" /* yacc.c:1646  */
4214      break;
4215  
4216 <  case 228:
4217 < #line 1438 "conf_parser.y" /* yacc.c:1646  */
4216 >  case 240:
4217 > #line 1349 "conf_parser.y" /* yacc.c:1646  */
4218      {
4219    if (conf_parser_ctx.pass == 2)
4220      block_state.port.value |= OPER_FLAG_MODULE;
4221   }
4222 < #line 4300 "conf_parser.c" /* yacc.c:1646  */
4222 > #line 4223 "conf_parser.c" /* yacc.c:1646  */
4223      break;
4224  
4225 <  case 229:
4226 < #line 1442 "conf_parser.y" /* yacc.c:1646  */
4225 >  case 241:
4226 > #line 1353 "conf_parser.y" /* yacc.c:1646  */
4227      {
4228    if (conf_parser_ctx.pass == 2)
4229      block_state.port.value |= OPER_FLAG_OPME;
4230   }
4231 < #line 4309 "conf_parser.c" /* yacc.c:1646  */
4231 > #line 4232 "conf_parser.c" /* yacc.c:1646  */
4232      break;
4233  
4234 <  case 230:
4235 < #line 1452 "conf_parser.y" /* yacc.c:1646  */
4234 >  case 242:
4235 > #line 1357 "conf_parser.y" /* yacc.c:1646  */
4236 >    {
4237 >  if (conf_parser_ctx.pass == 2)
4238 >    block_state.port.value |= OPER_FLAG_NICK_RESV;
4239 > }
4240 > #line 4241 "conf_parser.c" /* yacc.c:1646  */
4241 >    break;
4242 >
4243 >  case 243:
4244 > #line 1361 "conf_parser.y" /* yacc.c:1646  */
4245 >    {
4246 >  if (conf_parser_ctx.pass == 2)
4247 >    block_state.port.value |= OPER_FLAG_JOIN_RESV;
4248 > }
4249 > #line 4250 "conf_parser.c" /* yacc.c:1646  */
4250 >    break;
4251 >
4252 >  case 244:
4253 > #line 1365 "conf_parser.y" /* yacc.c:1646  */
4254 >    {
4255 >  if (conf_parser_ctx.pass == 2)
4256 >    block_state.port.value |= OPER_FLAG_RESV;
4257 > }
4258 > #line 4259 "conf_parser.c" /* yacc.c:1646  */
4259 >    break;
4260 >
4261 >  case 245:
4262 > #line 1369 "conf_parser.y" /* yacc.c:1646  */
4263 >    {
4264 >  if (conf_parser_ctx.pass == 2)
4265 >    block_state.port.value |= OPER_FLAG_UNRESV;
4266 > }
4267 > #line 4268 "conf_parser.c" /* yacc.c:1646  */
4268 >    break;
4269 >
4270 >  case 246:
4271 > #line 1373 "conf_parser.y" /* yacc.c:1646  */
4272 >    {
4273 >  if (conf_parser_ctx.pass == 2)
4274 >    block_state.port.value |= OPER_FLAG_CLOSE;
4275 > }
4276 > #line 4277 "conf_parser.c" /* yacc.c:1646  */
4277 >    break;
4278 >
4279 >  case 247:
4280 > #line 1383 "conf_parser.y" /* yacc.c:1646  */
4281      {
4282    if (conf_parser_ctx.pass != 1)
4283      break;
# Line 4322 | Line 4290 | yyreduce:
4290    block_state.max_sendq.value = DEFAULT_SENDQ;
4291    block_state.max_recvq.value = DEFAULT_RECVQ;
4292   }
4293 < #line 4326 "conf_parser.c" /* yacc.c:1646  */
4293 > #line 4294 "conf_parser.c" /* yacc.c:1646  */
4294      break;
4295  
4296 <  case 231:
4297 < #line 1464 "conf_parser.y" /* yacc.c:1646  */
4296 >  case 248:
4297 > #line 1395 "conf_parser.y" /* yacc.c:1646  */
4298      {
4299    struct ClassItem *class = NULL;
4300  
# Line 4340 | Line 4308 | yyreduce:
4308      class = class_make();
4309  
4310    class->active = 1;
4311 <  MyFree(class->name);
4311 >  xfree(class->name);
4312    class->name = xstrdup(block_state.class.buf);
4313    class->ping_freq = block_state.ping_freq.value;
4314    class->max_perip = block_state.max_perip.value;
# Line 4348 | Line 4316 | yyreduce:
4316    class->max_total = block_state.max_total.value;
4317    class->max_global = block_state.max_global.value;
4318    class->max_local = block_state.max_local.value;
4351  class->max_ident = block_state.max_ident.value;
4319    class->max_sendq = block_state.max_sendq.value;
4320    class->max_recvq = block_state.max_recvq.value;
4321    class->max_channels = block_state.max_channels.value;
# Line 4370 | Line 4337 | yyreduce:
4337    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4338    class->number_per_cidr = block_state.number_per_cidr.value;
4339   }
4340 < #line 4374 "conf_parser.c" /* yacc.c:1646  */
4340 > #line 4341 "conf_parser.c" /* yacc.c:1646  */
4341      break;
4342  
4343 <  case 252:
4344 < #line 1528 "conf_parser.y" /* yacc.c:1646  */
4343 >  case 268:
4344 > #line 1458 "conf_parser.y" /* yacc.c:1646  */
4345      {
4346    if (conf_parser_ctx.pass == 1)
4347      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4348   }
4349 < #line 4383 "conf_parser.c" /* yacc.c:1646  */
4349 > #line 4350 "conf_parser.c" /* yacc.c:1646  */
4350      break;
4351  
4352 <  case 253:
4353 < #line 1534 "conf_parser.y" /* yacc.c:1646  */
4352 >  case 269:
4353 > #line 1464 "conf_parser.y" /* yacc.c:1646  */
4354      {
4355    if (conf_parser_ctx.pass == 1)
4356      block_state.ping_freq.value = (yyvsp[-1].number);
4357   }
4358 < #line 4392 "conf_parser.c" /* yacc.c:1646  */
4358 > #line 4359 "conf_parser.c" /* yacc.c:1646  */
4359      break;
4360  
4361 <  case 254:
4362 < #line 1540 "conf_parser.y" /* yacc.c:1646  */
4361 >  case 270:
4362 > #line 1470 "conf_parser.y" /* yacc.c:1646  */
4363      {
4364    if (conf_parser_ctx.pass == 1)
4365      block_state.max_perip.value = (yyvsp[-1].number);
4366   }
4367 < #line 4401 "conf_parser.c" /* yacc.c:1646  */
4367 > #line 4368 "conf_parser.c" /* yacc.c:1646  */
4368      break;
4369  
4370 <  case 255:
4371 < #line 1546 "conf_parser.y" /* yacc.c:1646  */
4370 >  case 271:
4371 > #line 1476 "conf_parser.y" /* yacc.c:1646  */
4372      {
4373    if (conf_parser_ctx.pass == 1)
4374      block_state.con_freq.value = (yyvsp[-1].number);
4375   }
4376 < #line 4410 "conf_parser.c" /* yacc.c:1646  */
4376 > #line 4377 "conf_parser.c" /* yacc.c:1646  */
4377      break;
4378  
4379 <  case 256:
4380 < #line 1552 "conf_parser.y" /* yacc.c:1646  */
4379 >  case 272:
4380 > #line 1482 "conf_parser.y" /* yacc.c:1646  */
4381      {
4382    if (conf_parser_ctx.pass == 1)
4383      block_state.max_channels.value = (yyvsp[-1].number);
4384   }
4385 < #line 4419 "conf_parser.c" /* yacc.c:1646  */
4385 > #line 4386 "conf_parser.c" /* yacc.c:1646  */
4386      break;
4387  
4388 <  case 257:
4389 < #line 1558 "conf_parser.y" /* yacc.c:1646  */
4388 >  case 273:
4389 > #line 1488 "conf_parser.y" /* yacc.c:1646  */
4390      {
4391    if (conf_parser_ctx.pass == 1)
4392      block_state.max_total.value = (yyvsp[-1].number);
4393   }
4394 < #line 4428 "conf_parser.c" /* yacc.c:1646  */
4394 > #line 4395 "conf_parser.c" /* yacc.c:1646  */
4395      break;
4396  
4397 <  case 258:
4398 < #line 1564 "conf_parser.y" /* yacc.c:1646  */
4397 >  case 274:
4398 > #line 1494 "conf_parser.y" /* yacc.c:1646  */
4399      {
4400    if (conf_parser_ctx.pass == 1)
4401      block_state.max_global.value = (yyvsp[-1].number);
4402   }
4403 < #line 4437 "conf_parser.c" /* yacc.c:1646  */
4403 > #line 4404 "conf_parser.c" /* yacc.c:1646  */
4404      break;
4405  
4406 <  case 259:
4407 < #line 1570 "conf_parser.y" /* yacc.c:1646  */
4406 >  case 275:
4407 > #line 1500 "conf_parser.y" /* yacc.c:1646  */
4408      {
4409    if (conf_parser_ctx.pass == 1)
4410      block_state.max_local.value = (yyvsp[-1].number);
4411   }
4412 < #line 4446 "conf_parser.c" /* yacc.c:1646  */
4412 > #line 4413 "conf_parser.c" /* yacc.c:1646  */
4413      break;
4414  
4415 <  case 260:
4416 < #line 1576 "conf_parser.y" /* yacc.c:1646  */
4450 <    {
4451 <  if (conf_parser_ctx.pass == 1)
4452 <    block_state.max_ident.value = (yyvsp[-1].number);
4453 < }
4454 < #line 4455 "conf_parser.c" /* yacc.c:1646  */
4455 <    break;
4456 <
4457 <  case 261:
4458 < #line 1582 "conf_parser.y" /* yacc.c:1646  */
4415 >  case 276:
4416 > #line 1506 "conf_parser.y" /* yacc.c:1646  */
4417      {
4418    if (conf_parser_ctx.pass == 1)
4419      block_state.max_sendq.value = (yyvsp[-1].number);
4420   }
4421 < #line 4464 "conf_parser.c" /* yacc.c:1646  */
4421 > #line 4422 "conf_parser.c" /* yacc.c:1646  */
4422      break;
4423  
4424 <  case 262:
4425 < #line 1588 "conf_parser.y" /* yacc.c:1646  */
4424 >  case 277:
4425 > #line 1512 "conf_parser.y" /* yacc.c:1646  */
4426      {
4427    if (conf_parser_ctx.pass == 1)
4428      if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4429        block_state.max_recvq.value = (yyvsp[-1].number);
4430   }
4431 < #line 4474 "conf_parser.c" /* yacc.c:1646  */
4431 > #line 4432 "conf_parser.c" /* yacc.c:1646  */
4432      break;
4433  
4434 <  case 263:
4435 < #line 1595 "conf_parser.y" /* yacc.c:1646  */
4434 >  case 278:
4435 > #line 1519 "conf_parser.y" /* yacc.c:1646  */
4436      {
4437    if (conf_parser_ctx.pass == 1)
4438      block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4439   }
4440 < #line 4483 "conf_parser.c" /* yacc.c:1646  */
4440 > #line 4441 "conf_parser.c" /* yacc.c:1646  */
4441      break;
4442  
4443 <  case 264:
4444 < #line 1601 "conf_parser.y" /* yacc.c:1646  */
4443 >  case 279:
4444 > #line 1525 "conf_parser.y" /* yacc.c:1646  */
4445      {
4446    if (conf_parser_ctx.pass == 1)
4447      block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4448   }
4449 < #line 4492 "conf_parser.c" /* yacc.c:1646  */
4449 > #line 4450 "conf_parser.c" /* yacc.c:1646  */
4450      break;
4451  
4452 <  case 265:
4453 < #line 1607 "conf_parser.y" /* yacc.c:1646  */
4452 >  case 280:
4453 > #line 1531 "conf_parser.y" /* yacc.c:1646  */
4454      {
4455    if (conf_parser_ctx.pass == 1)
4456      block_state.number_per_cidr.value = (yyvsp[-1].number);
4457   }
4458 < #line 4501 "conf_parser.c" /* yacc.c:1646  */
4458 > #line 4459 "conf_parser.c" /* yacc.c:1646  */
4459      break;
4460  
4461 <  case 266:
4462 < #line 1613 "conf_parser.y" /* yacc.c:1646  */
4461 >  case 281:
4462 > #line 1537 "conf_parser.y" /* yacc.c:1646  */
4463      {
4464    if (conf_parser_ctx.pass != 1)
4465      break;
# Line 4509 | Line 4467 | yyreduce:
4467    block_state.min_idle.value = (yyvsp[-1].number);
4468    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4469   }
4470 < #line 4513 "conf_parser.c" /* yacc.c:1646  */
4470 > #line 4471 "conf_parser.c" /* yacc.c:1646  */
4471      break;
4472  
4473 <  case 267:
4474 < #line 1622 "conf_parser.y" /* yacc.c:1646  */
4473 >  case 282:
4474 > #line 1546 "conf_parser.y" /* yacc.c:1646  */
4475      {
4476    if (conf_parser_ctx.pass != 1)
4477      break;
# Line 4521 | Line 4479 | yyreduce:
4479    block_state.max_idle.value = (yyvsp[-1].number);
4480    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4481   }
4482 < #line 4525 "conf_parser.c" /* yacc.c:1646  */
4482 > #line 4483 "conf_parser.c" /* yacc.c:1646  */
4483      break;
4484  
4485 <  case 268:
4486 < #line 1631 "conf_parser.y" /* yacc.c:1646  */
4485 >  case 283:
4486 > #line 1555 "conf_parser.y" /* yacc.c:1646  */
4487      {
4488    if (conf_parser_ctx.pass == 1)
4489      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4490   }
4491 < #line 4534 "conf_parser.c" /* yacc.c:1646  */
4491 > #line 4492 "conf_parser.c" /* yacc.c:1646  */
4492      break;
4493  
4494 <  case 272:
4495 < #line 1638 "conf_parser.y" /* yacc.c:1646  */
4494 >  case 287:
4495 > #line 1562 "conf_parser.y" /* yacc.c:1646  */
4496      {
4497    if (conf_parser_ctx.pass == 1)
4498      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4499   }
4500 < #line 4543 "conf_parser.c" /* yacc.c:1646  */
4500 > #line 4501 "conf_parser.c" /* yacc.c:1646  */
4501      break;
4502  
4503 <  case 273:
4504 < #line 1642 "conf_parser.y" /* yacc.c:1646  */
4503 >  case 288:
4504 > #line 1566 "conf_parser.y" /* yacc.c:1646  */
4505      {
4506    if (conf_parser_ctx.pass == 1)
4507      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4508   }
4509 < #line 4552 "conf_parser.c" /* yacc.c:1646  */
4509 > #line 4510 "conf_parser.c" /* yacc.c:1646  */
4510      break;
4511  
4512 <  case 274:
4513 < #line 1652 "conf_parser.y" /* yacc.c:1646  */
4512 >  case 289:
4513 > #line 1576 "conf_parser.y" /* yacc.c:1646  */
4514      {
4515    if (conf_parser_ctx.pass == 2)
4516      reset_block_state();
4517   }
4518 < #line 4561 "conf_parser.c" /* yacc.c:1646  */
4518 > #line 4519 "conf_parser.c" /* yacc.c:1646  */
4519      break;
4520  
4521 <  case 276:
4522 < #line 1658 "conf_parser.y" /* yacc.c:1646  */
4521 >  case 291:
4522 > #line 1582 "conf_parser.y" /* yacc.c:1646  */
4523      {
4524    block_state.flags.value = 0;
4525   }
4526 < #line 4569 "conf_parser.c" /* yacc.c:1646  */
4526 > #line 4527 "conf_parser.c" /* yacc.c:1646  */
4527      break;
4528  
4529 <  case 280:
4530 < #line 1664 "conf_parser.y" /* yacc.c:1646  */
4529 >  case 295:
4530 > #line 1588 "conf_parser.y" /* yacc.c:1646  */
4531      {
4532    if (conf_parser_ctx.pass == 2)
4533      block_state.flags.value |= LISTENER_SSL;
4534   }
4535 < #line 4578 "conf_parser.c" /* yacc.c:1646  */
4535 > #line 4536 "conf_parser.c" /* yacc.c:1646  */
4536      break;
4537  
4538 <  case 281:
4539 < #line 1668 "conf_parser.y" /* yacc.c:1646  */
4538 >  case 296:
4539 > #line 1592 "conf_parser.y" /* yacc.c:1646  */
4540      {
4541    if (conf_parser_ctx.pass == 2)
4542      block_state.flags.value |= LISTENER_HIDDEN;
4543   }
4544 < #line 4587 "conf_parser.c" /* yacc.c:1646  */
4544 > #line 4545 "conf_parser.c" /* yacc.c:1646  */
4545      break;
4546  
4547 <  case 282:
4548 < #line 1672 "conf_parser.y" /* yacc.c:1646  */
4547 >  case 297:
4548 > #line 1596 "conf_parser.y" /* yacc.c:1646  */
4549      {
4550    if (conf_parser_ctx.pass == 2)
4551     block_state.flags.value |= LISTENER_SERVER;
4552   }
4553 < #line 4596 "conf_parser.c" /* yacc.c:1646  */
4553 > #line 4554 "conf_parser.c" /* yacc.c:1646  */
4554      break;
4555  
4556 <  case 290:
4557 < #line 1680 "conf_parser.y" /* yacc.c:1646  */
4556 >  case 305:
4557 > #line 1604 "conf_parser.y" /* yacc.c:1646  */
4558      { block_state.flags.value = 0; }
4559 < #line 4602 "conf_parser.c" /* yacc.c:1646  */
4559 > #line 4560 "conf_parser.c" /* yacc.c:1646  */
4560      break;
4561  
4562 <  case 294:
4563 < #line 1685 "conf_parser.y" /* yacc.c:1646  */
4562 >  case 309:
4563 > #line 1609 "conf_parser.y" /* yacc.c:1646  */
4564      {
4565    if (conf_parser_ctx.pass == 2)
4566    {
4567 < #ifndef HAVE_LIBCRYPTO
4567 > #ifndef HAVE_TLS
4568      if (block_state.flags.value & LISTENER_SSL)
4569      {
4570 <      conf_error_report("SSL not available - port closed");
4570 >      conf_error_report("TLS not available - port closed");
4571        break;
4572      }
4573   #endif
4574 <    add_listener((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4574 >    listener_add((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4575    }
4576   }
4577 < #line 4620 "conf_parser.c" /* yacc.c:1646  */
4577 > #line 4578 "conf_parser.c" /* yacc.c:1646  */
4578      break;
4579  
4580 <  case 295:
4581 < #line 1698 "conf_parser.y" /* yacc.c:1646  */
4580 >  case 310:
4581 > #line 1622 "conf_parser.y" /* yacc.c:1646  */
4582      {
4583    if (conf_parser_ctx.pass == 2)
4584    {
4585 < #ifndef HAVE_LIBCRYPTO
4585 > #ifndef HAVE_TLS
4586      if (block_state.flags.value & LISTENER_SSL)
4587      {
4588 <      conf_error_report("SSL not available - port closed");
4588 >      conf_error_report("TLS not available - port closed");
4589        break;
4590      }
4591   #endif
4592  
4593      for (int i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4594 <      add_listener(i, block_state.addr.buf, block_state.flags.value);
4594 >      listener_add(i, block_state.addr.buf, block_state.flags.value);
4595    }
4596   }
4597 < #line 4640 "conf_parser.c" /* yacc.c:1646  */
4597 > #line 4598 "conf_parser.c" /* yacc.c:1646  */
4598      break;
4599  
4600 <  case 296:
4601 < #line 1715 "conf_parser.y" /* yacc.c:1646  */
4600 >  case 311:
4601 > #line 1639 "conf_parser.y" /* yacc.c:1646  */
4602      {
4603    if (conf_parser_ctx.pass == 2)
4604      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4605   }
4606 < #line 4649 "conf_parser.c" /* yacc.c:1646  */
4606 > #line 4607 "conf_parser.c" /* yacc.c:1646  */
4607      break;
4608  
4609 <  case 297:
4610 < #line 1721 "conf_parser.y" /* yacc.c:1646  */
4609 >  case 312:
4610 > #line 1645 "conf_parser.y" /* yacc.c:1646  */
4611      {
4612    if (conf_parser_ctx.pass == 2)
4613      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4614   }
4615 < #line 4658 "conf_parser.c" /* yacc.c:1646  */
4615 > #line 4616 "conf_parser.c" /* yacc.c:1646  */
4616      break;
4617  
4618 <  case 298:
4619 < #line 1730 "conf_parser.y" /* yacc.c:1646  */
4618 >  case 313:
4619 > #line 1655 "conf_parser.y" /* yacc.c:1646  */
4620      {
4621    if (conf_parser_ctx.pass == 2)
4622      reset_block_state();
4623   }
4624 < #line 4667 "conf_parser.c" /* yacc.c:1646  */
4624 > #line 4625 "conf_parser.c" /* yacc.c:1646  */
4625      break;
4626  
4627 <  case 299:
4628 < #line 1734 "conf_parser.y" /* yacc.c:1646  */
4627 >  case 314:
4628 > #line 1659 "conf_parser.y" /* yacc.c:1646  */
4629      {
4630    dlink_node *node = NULL;
4631  
# Line 4678 | Line 4636 | yyreduce:
4636    {
4637      struct MaskItem *conf = NULL;
4638      struct split_nuh_item nuh;
4639 +    char *s = node->data;
4640 +
4641 +    if (EmptyString(s))
4642 +      continue;
4643  
4644 <    nuh.nuhmask  = node->data;
4644 >    nuh.nuhmask  = s;
4645      nuh.nickptr  = NULL;
4646      nuh.userptr  = block_state.user.buf;
4647      nuh.hostptr  = block_state.host.buf;
# Line 4704 | Line 4666 | yyreduce:
4666      add_conf_by_address(CONF_CLIENT, conf);
4667    }
4668   }
4669 < #line 4708 "conf_parser.c" /* yacc.c:1646  */
4669 > #line 4670 "conf_parser.c" /* yacc.c:1646  */
4670      break;
4671  
4672 <  case 311:
4673 < #line 1783 "conf_parser.y" /* yacc.c:1646  */
4672 >  case 326:
4673 > #line 1712 "conf_parser.y" /* yacc.c:1646  */
4674      {
4675    if (conf_parser_ctx.pass == 2)
4676      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4677   }
4678 < #line 4717 "conf_parser.c" /* yacc.c:1646  */
4678 > #line 4679 "conf_parser.c" /* yacc.c:1646  */
4679      break;
4680  
4681 <  case 312:
4682 < #line 1789 "conf_parser.y" /* yacc.c:1646  */
4681 >  case 327:
4682 > #line 1718 "conf_parser.y" /* yacc.c:1646  */
4683      {
4684    if (conf_parser_ctx.pass == 2)
4685      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4686   }
4687 < #line 4726 "conf_parser.c" /* yacc.c:1646  */
4687 > #line 4688 "conf_parser.c" /* yacc.c:1646  */
4688      break;
4689  
4690 <  case 313:
4691 < #line 1795 "conf_parser.y" /* yacc.c:1646  */
4690 >  case 328:
4691 > #line 1724 "conf_parser.y" /* yacc.c:1646  */
4692      {
4693    if (conf_parser_ctx.pass == 2)
4694      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4695   }
4696 < #line 4735 "conf_parser.c" /* yacc.c:1646  */
4696 > #line 4697 "conf_parser.c" /* yacc.c:1646  */
4697      break;
4698  
4699 <  case 314:
4700 < #line 1801 "conf_parser.y" /* yacc.c:1646  */
4699 >  case 329:
4700 > #line 1730 "conf_parser.y" /* yacc.c:1646  */
4701      {
4702    if (conf_parser_ctx.pass == 2)
4703    {
# Line 4745 | Line 4707 | yyreduce:
4707        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4708    }
4709   }
4710 < #line 4749 "conf_parser.c" /* yacc.c:1646  */
4710 > #line 4711 "conf_parser.c" /* yacc.c:1646  */
4711      break;
4712  
4713 <  case 315:
4714 < #line 1812 "conf_parser.y" /* yacc.c:1646  */
4713 >  case 330:
4714 > #line 1741 "conf_parser.y" /* yacc.c:1646  */
4715      {
4716    if (conf_parser_ctx.pass == 2)
4717      block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4718   }
4719 < #line 4758 "conf_parser.c" /* yacc.c:1646  */
4719 > #line 4720 "conf_parser.c" /* yacc.c:1646  */
4720      break;
4721  
4722 <  case 319:
4723 < #line 1819 "conf_parser.y" /* yacc.c:1646  */
4722 >  case 334:
4723 > #line 1748 "conf_parser.y" /* yacc.c:1646  */
4724      {
4725    if (conf_parser_ctx.pass == 2)
4726      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4727   }
4728 < #line 4767 "conf_parser.c" /* yacc.c:1646  */
4728 > #line 4729 "conf_parser.c" /* yacc.c:1646  */
4729      break;
4730  
4731 <  case 320:
4732 < #line 1823 "conf_parser.y" /* yacc.c:1646  */
4731 >  case 335:
4732 > #line 1752 "conf_parser.y" /* yacc.c:1646  */
4733      {
4734    if (conf_parser_ctx.pass == 2)
4735      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4736   }
4737 < #line 4776 "conf_parser.c" /* yacc.c:1646  */
4737 > #line 4738 "conf_parser.c" /* yacc.c:1646  */
4738      break;
4739  
4740 <  case 321:
4741 < #line 1827 "conf_parser.y" /* yacc.c:1646  */
4740 >  case 336:
4741 > #line 1756 "conf_parser.y" /* yacc.c:1646  */
4742      {
4743    if (conf_parser_ctx.pass == 2)
4744      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4745   }
4746 < #line 4785 "conf_parser.c" /* yacc.c:1646  */
4746 > #line 4747 "conf_parser.c" /* yacc.c:1646  */
4747      break;
4748  
4749 <  case 322:
4750 < #line 1831 "conf_parser.y" /* yacc.c:1646  */
4749 >  case 337:
4750 > #line 1760 "conf_parser.y" /* yacc.c:1646  */
4751      {
4752    if (conf_parser_ctx.pass == 2)
4753      block_state.flags.value |= CONF_FLAGS_EXEMPTXLINE;
4754   }
4755 < #line 4794 "conf_parser.c" /* yacc.c:1646  */
4755 > #line 4756 "conf_parser.c" /* yacc.c:1646  */
4756      break;
4757  
4758 <  case 323:
4759 < #line 1835 "conf_parser.y" /* yacc.c:1646  */
4758 >  case 338:
4759 > #line 1764 "conf_parser.y" /* yacc.c:1646  */
4760      {
4761    if (conf_parser_ctx.pass == 2)
4762      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4763   }
4764 < #line 4803 "conf_parser.c" /* yacc.c:1646  */
4764 > #line 4765 "conf_parser.c" /* yacc.c:1646  */
4765      break;
4766  
4767 <  case 324:
4768 < #line 1839 "conf_parser.y" /* yacc.c:1646  */
4767 >  case 339:
4768 > #line 1768 "conf_parser.y" /* yacc.c:1646  */
4769      {
4770    if (conf_parser_ctx.pass == 2)
4771      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4772   }
4773 < #line 4812 "conf_parser.c" /* yacc.c:1646  */
4773 > #line 4774 "conf_parser.c" /* yacc.c:1646  */
4774      break;
4775  
4776 <  case 325:
4777 < #line 1843 "conf_parser.y" /* yacc.c:1646  */
4776 >  case 340:
4777 > #line 1772 "conf_parser.y" /* yacc.c:1646  */
4778      {
4779    if (conf_parser_ctx.pass == 2)
4780      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4781   }
4782 < #line 4821 "conf_parser.c" /* yacc.c:1646  */
4782 > #line 4783 "conf_parser.c" /* yacc.c:1646  */
4783      break;
4784  
4785 <  case 326:
4786 < #line 1847 "conf_parser.y" /* yacc.c:1646  */
4785 >  case 341:
4786 > #line 1776 "conf_parser.y" /* yacc.c:1646  */
4787      {
4788    if (conf_parser_ctx.pass == 2)
4789      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4790   }
4791 < #line 4830 "conf_parser.c" /* yacc.c:1646  */
4791 > #line 4792 "conf_parser.c" /* yacc.c:1646  */
4792      break;
4793  
4794 <  case 327:
4795 < #line 1851 "conf_parser.y" /* yacc.c:1646  */
4794 >  case 342:
4795 > #line 1780 "conf_parser.y" /* yacc.c:1646  */
4796      {
4797    if (conf_parser_ctx.pass == 2)
4798      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4799   }
4800 < #line 4839 "conf_parser.c" /* yacc.c:1646  */
4800 > #line 4801 "conf_parser.c" /* yacc.c:1646  */
4801      break;
4802  
4803 <  case 328:
4804 < #line 1855 "conf_parser.y" /* yacc.c:1646  */
4803 >  case 343:
4804 > #line 1784 "conf_parser.y" /* yacc.c:1646  */
4805      {
4806    if (conf_parser_ctx.pass == 2)
4807      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4808   }
4809 < #line 4848 "conf_parser.c" /* yacc.c:1646  */
4809 > #line 4810 "conf_parser.c" /* yacc.c:1646  */
4810      break;
4811  
4812 <  case 329:
4813 < #line 1861 "conf_parser.y" /* yacc.c:1646  */
4812 >  case 344:
4813 > #line 1790 "conf_parser.y" /* yacc.c:1646  */
4814      {
4815    if (conf_parser_ctx.pass != 2)
4816      break;
# Line 4861 | Line 4823 | yyreduce:
4823    else
4824      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4825   }
4826 < #line 4865 "conf_parser.c" /* yacc.c:1646  */
4826 > #line 4827 "conf_parser.c" /* yacc.c:1646  */
4827      break;
4828  
4829 <  case 330:
4830 < #line 1875 "conf_parser.y" /* yacc.c:1646  */
4829 >  case 345:
4830 > #line 1804 "conf_parser.y" /* yacc.c:1646  */
4831      {
4832    if (conf_parser_ctx.pass != 2)
4833      break;
# Line 4873 | Line 4835 | yyreduce:
4835    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4836    block_state.flags.value |= CONF_FLAGS_REDIR;
4837   }
4838 < #line 4877 "conf_parser.c" /* yacc.c:1646  */
4838 > #line 4839 "conf_parser.c" /* yacc.c:1646  */
4839      break;
4840  
4841 <  case 331:
4842 < #line 1884 "conf_parser.y" /* yacc.c:1646  */
4841 >  case 346:
4842 > #line 1813 "conf_parser.y" /* yacc.c:1646  */
4843      {
4844    if (conf_parser_ctx.pass != 2)
4845      break;
# Line 4885 | Line 4847 | yyreduce:
4847    block_state.flags.value |= CONF_FLAGS_REDIR;
4848    block_state.port.value = (yyvsp[-1].number);
4849   }
4850 < #line 4889 "conf_parser.c" /* yacc.c:1646  */
4850 > #line 4851 "conf_parser.c" /* yacc.c:1646  */
4851      break;
4852  
4853 <  case 332:
4854 < #line 1897 "conf_parser.y" /* yacc.c:1646  */
4853 >  case 347:
4854 > #line 1826 "conf_parser.y" /* yacc.c:1646  */
4855      {
4856    if (conf_parser_ctx.pass != 2)
4857      break;
# Line 4897 | Line 4859 | yyreduce:
4859    reset_block_state();
4860    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4861   }
4862 < #line 4901 "conf_parser.c" /* yacc.c:1646  */
4862 > #line 4863 "conf_parser.c" /* yacc.c:1646  */
4863      break;
4864  
4865 <  case 333:
4866 < #line 1904 "conf_parser.y" /* yacc.c:1646  */
4865 >  case 348:
4866 > #line 1833 "conf_parser.y" /* yacc.c:1646  */
4867      {
4868    if (conf_parser_ctx.pass != 2)
4869      break;
4870  
4871 <  create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4871 >  resv_make(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4872   }
4873 < #line 4912 "conf_parser.c" /* yacc.c:1646  */
4873 > #line 4874 "conf_parser.c" /* yacc.c:1646  */
4874      break;
4875  
4876 <  case 340:
4877 < #line 1915 "conf_parser.y" /* yacc.c:1646  */
4876 >  case 355:
4877 > #line 1844 "conf_parser.y" /* yacc.c:1646  */
4878      {
4879    if (conf_parser_ctx.pass == 2)
4880      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4881   }
4882 < #line 4921 "conf_parser.c" /* yacc.c:1646  */
4882 > #line 4883 "conf_parser.c" /* yacc.c:1646  */
4883      break;
4884  
4885 <  case 341:
4886 < #line 1921 "conf_parser.y" /* yacc.c:1646  */
4885 >  case 356:
4886 > #line 1850 "conf_parser.y" /* yacc.c:1646  */
4887      {
4888    if (conf_parser_ctx.pass == 2)
4889      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4890   }
4891 < #line 4930 "conf_parser.c" /* yacc.c:1646  */
4891 > #line 4892 "conf_parser.c" /* yacc.c:1646  */
4892      break;
4893  
4894 <  case 342:
4895 < #line 1927 "conf_parser.y" /* yacc.c:1646  */
4894 >  case 357:
4895 > #line 1856 "conf_parser.y" /* yacc.c:1646  */
4896      {
4897    if (conf_parser_ctx.pass == 2)
4898      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4899   }
4900 < #line 4939 "conf_parser.c" /* yacc.c:1646  */
4900 > #line 4901 "conf_parser.c" /* yacc.c:1646  */
4901      break;
4902  
4903 <  case 348:
4904 < #line 1942 "conf_parser.y" /* yacc.c:1646  */
4903 >  case 363:
4904 > #line 1871 "conf_parser.y" /* yacc.c:1646  */
4905      {
4906    if (conf_parser_ctx.pass != 2)
4907      break;
4908  
4909    if (valid_servname(yylval.string))
4910    {
4911 <    struct MaskItem *conf = conf_make(CONF_SERVICE);
4912 <    conf->name = xstrdup(yylval.string);
4911 >    struct ServiceItem *service = service_make();
4912 >    service->name = xstrdup(yylval.string);
4913    }
4914   }
4915 < #line 4954 "conf_parser.c" /* yacc.c:1646  */
4915 > #line 4916 "conf_parser.c" /* yacc.c:1646  */
4916      break;
4917  
4918 <  case 349:
4919 < #line 1957 "conf_parser.y" /* yacc.c:1646  */
4918 >  case 364:
4919 > #line 1887 "conf_parser.y" /* yacc.c:1646  */
4920      {
4921    if (conf_parser_ctx.pass != 2)
4922      break;
# Line 4966 | Line 4928 | yyreduce:
4928    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4929    block_state.flags.value = SHARED_ALL;
4930   }
4931 < #line 4970 "conf_parser.c" /* yacc.c:1646  */
4931 > #line 4932 "conf_parser.c" /* yacc.c:1646  */
4932      break;
4933  
4934 <  case 350:
4935 < #line 1968 "conf_parser.y" /* yacc.c:1646  */
4934 >  case 365:
4935 > #line 1898 "conf_parser.y" /* yacc.c:1646  */
4936      {
4975  struct MaskItem *conf = NULL;
4976
4937    if (conf_parser_ctx.pass != 2)
4938      break;
4939  
4940 <  conf = conf_make(CONF_ULINE);
4941 <  conf->flags = block_state.flags.value;
4942 <  conf->name = xstrdup(block_state.name.buf);
4943 <  conf->user = xstrdup(block_state.user.buf);
4944 <  conf->host = xstrdup(block_state.host.buf);
4940 >  struct SharedItem *shared = shared_make();
4941 >  shared->type = block_state.flags.value;
4942 >  shared->server = xstrdup(block_state.name.buf);
4943 >  shared->user = xstrdup(block_state.user.buf);
4944 >  shared->host = xstrdup(block_state.host.buf);
4945   }
4946 < #line 4987 "conf_parser.c" /* yacc.c:1646  */
4946 > #line 4947 "conf_parser.c" /* yacc.c:1646  */
4947      break;
4948  
4949 <  case 357:
4950 < #line 1985 "conf_parser.y" /* yacc.c:1646  */
4949 >  case 372:
4950 > #line 1913 "conf_parser.y" /* yacc.c:1646  */
4951      {
4952    if (conf_parser_ctx.pass == 2)
4953      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4954   }
4955 < #line 4996 "conf_parser.c" /* yacc.c:1646  */
4955 > #line 4956 "conf_parser.c" /* yacc.c:1646  */
4956      break;
4957  
4958 <  case 358:
4959 < #line 1991 "conf_parser.y" /* yacc.c:1646  */
4958 >  case 373:
4959 > #line 1919 "conf_parser.y" /* yacc.c:1646  */
4960      {
4961    if (conf_parser_ctx.pass == 2)
4962    {
# Line 5014 | Line 4974 | yyreduce:
4974      split_nuh(&nuh);
4975    }
4976   }
4977 < #line 5018 "conf_parser.c" /* yacc.c:1646  */
4977 > #line 4978 "conf_parser.c" /* yacc.c:1646  */
4978      break;
4979  
4980 <  case 359:
4981 < #line 2010 "conf_parser.y" /* yacc.c:1646  */
4980 >  case 374:
4981 > #line 1938 "conf_parser.y" /* yacc.c:1646  */
4982      {
4983    if (conf_parser_ctx.pass == 2)
4984      block_state.flags.value = 0;
4985   }
4986 < #line 5027 "conf_parser.c" /* yacc.c:1646  */
4986 > #line 4987 "conf_parser.c" /* yacc.c:1646  */
4987      break;
4988  
4989 <  case 363:
4990 < #line 2017 "conf_parser.y" /* yacc.c:1646  */
4989 >  case 378:
4990 > #line 1945 "conf_parser.y" /* yacc.c:1646  */
4991      {
4992    if (conf_parser_ctx.pass == 2)
4993      block_state.flags.value |= SHARED_KLINE;
4994   }
4995 < #line 5036 "conf_parser.c" /* yacc.c:1646  */
4995 > #line 4996 "conf_parser.c" /* yacc.c:1646  */
4996      break;
4997  
4998 <  case 364:
4999 < #line 2021 "conf_parser.y" /* yacc.c:1646  */
4998 >  case 379:
4999 > #line 1949 "conf_parser.y" /* yacc.c:1646  */
5000      {
5001    if (conf_parser_ctx.pass == 2)
5002      block_state.flags.value |= SHARED_UNKLINE;
5003   }
5004 < #line 5045 "conf_parser.c" /* yacc.c:1646  */
5004 > #line 5005 "conf_parser.c" /* yacc.c:1646  */
5005      break;
5006  
5007 <  case 365:
5008 < #line 2025 "conf_parser.y" /* yacc.c:1646  */
5007 >  case 380:
5008 > #line 1953 "conf_parser.y" /* yacc.c:1646  */
5009      {
5010    if (conf_parser_ctx.pass == 2)
5011      block_state.flags.value |= SHARED_DLINE;
5012   }
5013 < #line 5054 "conf_parser.c" /* yacc.c:1646  */
5013 > #line 5014 "conf_parser.c" /* yacc.c:1646  */
5014      break;
5015  
5016 <  case 366:
5017 < #line 2029 "conf_parser.y" /* yacc.c:1646  */
5016 >  case 381:
5017 > #line 1957 "conf_parser.y" /* yacc.c:1646  */
5018      {
5019    if (conf_parser_ctx.pass == 2)
5020      block_state.flags.value |= SHARED_UNDLINE;
5021   }
5022 < #line 5063 "conf_parser.c" /* yacc.c:1646  */
5022 > #line 5023 "conf_parser.c" /* yacc.c:1646  */
5023      break;
5024  
5025 <  case 367:
5026 < #line 2033 "conf_parser.y" /* yacc.c:1646  */
5025 >  case 382:
5026 > #line 1961 "conf_parser.y" /* yacc.c:1646  */
5027      {
5028    if (conf_parser_ctx.pass == 2)
5029      block_state.flags.value |= SHARED_XLINE;
5030   }
5031 < #line 5072 "conf_parser.c" /* yacc.c:1646  */
5031 > #line 5032 "conf_parser.c" /* yacc.c:1646  */
5032      break;
5033  
5034 <  case 368:
5035 < #line 2037 "conf_parser.y" /* yacc.c:1646  */
5034 >  case 383:
5035 > #line 1965 "conf_parser.y" /* yacc.c:1646  */
5036      {
5037    if (conf_parser_ctx.pass == 2)
5038      block_state.flags.value |= SHARED_UNXLINE;
5039   }
5040 < #line 5081 "conf_parser.c" /* yacc.c:1646  */
5040 > #line 5041 "conf_parser.c" /* yacc.c:1646  */
5041      break;
5042  
5043 <  case 369:
5044 < #line 2041 "conf_parser.y" /* yacc.c:1646  */
5043 >  case 384:
5044 > #line 1969 "conf_parser.y" /* yacc.c:1646  */
5045      {
5046    if (conf_parser_ctx.pass == 2)
5047      block_state.flags.value |= SHARED_RESV;
5048   }
5049 < #line 5090 "conf_parser.c" /* yacc.c:1646  */
5049 > #line 5050 "conf_parser.c" /* yacc.c:1646  */
5050      break;
5051  
5052 <  case 370:
5053 < #line 2045 "conf_parser.y" /* yacc.c:1646  */
5052 >  case 385:
5053 > #line 1973 "conf_parser.y" /* yacc.c:1646  */
5054      {
5055    if (conf_parser_ctx.pass == 2)
5056      block_state.flags.value |= SHARED_UNRESV;
5057   }
5058 < #line 5099 "conf_parser.c" /* yacc.c:1646  */
5058 > #line 5059 "conf_parser.c" /* yacc.c:1646  */
5059      break;
5060  
5061 <  case 371:
5062 < #line 2049 "conf_parser.y" /* yacc.c:1646  */
5061 >  case 386:
5062 > #line 1977 "conf_parser.y" /* yacc.c:1646  */
5063      {
5064    if (conf_parser_ctx.pass == 2)
5065      block_state.flags.value |= SHARED_LOCOPS;
5066   }
5067 < #line 5108 "conf_parser.c" /* yacc.c:1646  */
5067 > #line 5068 "conf_parser.c" /* yacc.c:1646  */
5068      break;
5069  
5070 <  case 372:
5071 < #line 2053 "conf_parser.y" /* yacc.c:1646  */
5070 >  case 387:
5071 > #line 1981 "conf_parser.y" /* yacc.c:1646  */
5072      {
5073    if (conf_parser_ctx.pass == 2)
5074      block_state.flags.value = SHARED_ALL;
5075   }
5076 < #line 5117 "conf_parser.c" /* yacc.c:1646  */
5076 > #line 5077 "conf_parser.c" /* yacc.c:1646  */
5077      break;
5078  
5079 <  case 373:
5080 < #line 2062 "conf_parser.y" /* yacc.c:1646  */
5079 >  case 388:
5080 > #line 1991 "conf_parser.y" /* yacc.c:1646  */
5081      {
5082    if (conf_parser_ctx.pass != 2)
5083      break;
# Line 5125 | Line 5085 | yyreduce:
5085    reset_block_state();
5086  
5087    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5088 <  block_state.flags.value = SHARED_ALL;
5088 >  block_state.flags.value = CLUSTER_ALL;
5089   }
5090 < #line 5131 "conf_parser.c" /* yacc.c:1646  */
5090 > #line 5091 "conf_parser.c" /* yacc.c:1646  */
5091      break;
5092  
5093 <  case 374:
5094 < #line 2071 "conf_parser.y" /* yacc.c:1646  */
5093 >  case 389:
5094 > #line 2000 "conf_parser.y" /* yacc.c:1646  */
5095      {
5136  struct MaskItem *conf = NULL;
5137
5096    if (conf_parser_ctx.pass != 2)
5097      break;
5098  
5099 <  conf = conf_make(CONF_CLUSTER);
5100 <  conf->flags = block_state.flags.value;
5101 <  conf->name = xstrdup(block_state.name.buf);
5099 >  struct ClusterItem *cluster = cluster_make();
5100 >  cluster->type = block_state.flags.value;
5101 >  cluster->server = xstrdup(block_state.name.buf);
5102   }
5103 < #line 5146 "conf_parser.c" /* yacc.c:1646  */
5103 > #line 5104 "conf_parser.c" /* yacc.c:1646  */
5104      break;
5105  
5106 <  case 380:
5107 < #line 2086 "conf_parser.y" /* yacc.c:1646  */
5106 >  case 395:
5107 > #line 2013 "conf_parser.y" /* yacc.c:1646  */
5108      {
5109    if (conf_parser_ctx.pass == 2)
5110      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5111   }
5112 < #line 5155 "conf_parser.c" /* yacc.c:1646  */
5112 > #line 5113 "conf_parser.c" /* yacc.c:1646  */
5113      break;
5114  
5115 <  case 381:
5116 < #line 2092 "conf_parser.y" /* yacc.c:1646  */
5115 >  case 396:
5116 > #line 2019 "conf_parser.y" /* yacc.c:1646  */
5117      {
5118    if (conf_parser_ctx.pass == 2)
5119      block_state.flags.value = 0;
5120   }
5121 < #line 5164 "conf_parser.c" /* yacc.c:1646  */
5121 > #line 5122 "conf_parser.c" /* yacc.c:1646  */
5122      break;
5123  
5124 <  case 385:
5125 < #line 2099 "conf_parser.y" /* yacc.c:1646  */
5124 >  case 400:
5125 > #line 2026 "conf_parser.y" /* yacc.c:1646  */
5126      {
5127    if (conf_parser_ctx.pass == 2)
5128 <    block_state.flags.value |= SHARED_KLINE;
5128 >    block_state.flags.value |= CLUSTER_KLINE;
5129   }
5130 < #line 5173 "conf_parser.c" /* yacc.c:1646  */
5130 > #line 5131 "conf_parser.c" /* yacc.c:1646  */
5131      break;
5132  
5133 <  case 386:
5134 < #line 2103 "conf_parser.y" /* yacc.c:1646  */
5133 >  case 401:
5134 > #line 2030 "conf_parser.y" /* yacc.c:1646  */
5135      {
5136    if (conf_parser_ctx.pass == 2)
5137 <    block_state.flags.value |= SHARED_UNKLINE;
5137 >    block_state.flags.value |= CLUSTER_UNKLINE;
5138   }
5139 < #line 5182 "conf_parser.c" /* yacc.c:1646  */
5139 > #line 5140 "conf_parser.c" /* yacc.c:1646  */
5140      break;
5141  
5142 <  case 387:
5143 < #line 2107 "conf_parser.y" /* yacc.c:1646  */
5142 >  case 402:
5143 > #line 2034 "conf_parser.y" /* yacc.c:1646  */
5144      {
5145    if (conf_parser_ctx.pass == 2)
5146 <    block_state.flags.value |= SHARED_DLINE;
5146 >    block_state.flags.value |= CLUSTER_DLINE;
5147   }
5148 < #line 5191 "conf_parser.c" /* yacc.c:1646  */
5148 > #line 5149 "conf_parser.c" /* yacc.c:1646  */
5149      break;
5150  
5151 <  case 388:
5152 < #line 2111 "conf_parser.y" /* yacc.c:1646  */
5151 >  case 403:
5152 > #line 2038 "conf_parser.y" /* yacc.c:1646  */
5153      {
5154    if (conf_parser_ctx.pass == 2)
5155 <    block_state.flags.value |= SHARED_UNDLINE;
5155 >    block_state.flags.value |= CLUSTER_UNDLINE;
5156   }
5157 < #line 5200 "conf_parser.c" /* yacc.c:1646  */
5157 > #line 5158 "conf_parser.c" /* yacc.c:1646  */
5158      break;
5159  
5160 <  case 389:
5161 < #line 2115 "conf_parser.y" /* yacc.c:1646  */
5160 >  case 404:
5161 > #line 2042 "conf_parser.y" /* yacc.c:1646  */
5162      {
5163    if (conf_parser_ctx.pass == 2)
5164 <    block_state.flags.value |= SHARED_XLINE;
5164 >    block_state.flags.value |= CLUSTER_XLINE;
5165   }
5166 < #line 5209 "conf_parser.c" /* yacc.c:1646  */
5166 > #line 5167 "conf_parser.c" /* yacc.c:1646  */
5167      break;
5168  
5169 <  case 390:
5170 < #line 2119 "conf_parser.y" /* yacc.c:1646  */
5169 >  case 405:
5170 > #line 2046 "conf_parser.y" /* yacc.c:1646  */
5171      {
5172    if (conf_parser_ctx.pass == 2)
5173 <    block_state.flags.value |= SHARED_UNXLINE;
5173 >    block_state.flags.value |= CLUSTER_UNXLINE;
5174   }
5175 < #line 5218 "conf_parser.c" /* yacc.c:1646  */
5175 > #line 5176 "conf_parser.c" /* yacc.c:1646  */
5176      break;
5177  
5178 <  case 391:
5179 < #line 2123 "conf_parser.y" /* yacc.c:1646  */
5178 >  case 406:
5179 > #line 2050 "conf_parser.y" /* yacc.c:1646  */
5180      {
5181    if (conf_parser_ctx.pass == 2)
5182 <    block_state.flags.value |= SHARED_RESV;
5182 >    block_state.flags.value |= CLUSTER_RESV;
5183   }
5184 < #line 5227 "conf_parser.c" /* yacc.c:1646  */
5184 > #line 5185 "conf_parser.c" /* yacc.c:1646  */
5185      break;
5186  
5187 <  case 392:
5188 < #line 2127 "conf_parser.y" /* yacc.c:1646  */
5187 >  case 407:
5188 > #line 2054 "conf_parser.y" /* yacc.c:1646  */
5189      {
5190    if (conf_parser_ctx.pass == 2)
5191 <    block_state.flags.value |= SHARED_UNRESV;
5191 >    block_state.flags.value |= CLUSTER_UNRESV;
5192   }
5193 < #line 5236 "conf_parser.c" /* yacc.c:1646  */
5193 > #line 5194 "conf_parser.c" /* yacc.c:1646  */
5194      break;
5195  
5196 <  case 393:
5197 < #line 2131 "conf_parser.y" /* yacc.c:1646  */
5196 >  case 408:
5197 > #line 2058 "conf_parser.y" /* yacc.c:1646  */
5198      {
5199    if (conf_parser_ctx.pass == 2)
5200 <    block_state.flags.value |= SHARED_LOCOPS;
5200 >    block_state.flags.value |= CLUSTER_LOCOPS;
5201   }
5202 < #line 5245 "conf_parser.c" /* yacc.c:1646  */
5202 > #line 5203 "conf_parser.c" /* yacc.c:1646  */
5203      break;
5204  
5205 <  case 394:
5206 < #line 2135 "conf_parser.y" /* yacc.c:1646  */
5205 >  case 409:
5206 > #line 2062 "conf_parser.y" /* yacc.c:1646  */
5207      {
5208    if (conf_parser_ctx.pass == 2)
5209 <    block_state.flags.value = SHARED_ALL;
5209 >    block_state.flags.value = CLUSTER_ALL;
5210   }
5211 < #line 5254 "conf_parser.c" /* yacc.c:1646  */
5211 > #line 5212 "conf_parser.c" /* yacc.c:1646  */
5212      break;
5213  
5214 <  case 395:
5215 < #line 2144 "conf_parser.y" /* yacc.c:1646  */
5214 >  case 410:
5215 > #line 2072 "conf_parser.y" /* yacc.c:1646  */
5216      {
5217  
5218    if (conf_parser_ctx.pass != 2)
# Line 5264 | Line 5222 | yyreduce:
5222    block_state.aftype.value = AF_INET;
5223    block_state.port.value = PORTNUM;
5224   }
5225 < #line 5268 "conf_parser.c" /* yacc.c:1646  */
5225 > #line 5226 "conf_parser.c" /* yacc.c:1646  */
5226      break;
5227  
5228 <  case 396:
5229 < #line 2153 "conf_parser.y" /* yacc.c:1646  */
5228 >  case 411:
5229 > #line 2081 "conf_parser.y" /* yacc.c:1646  */
5230      {
5231    struct MaskItem *conf = NULL;
5232    struct addrinfo hints, *res;
# Line 5330 | Line 5288 | yyreduce:
5288    conf_add_class_to_conf(conf, block_state.class.buf);
5289    lookup_confhost(conf);
5290   }
5291 < #line 5334 "conf_parser.c" /* yacc.c:1646  */
5291 > #line 5292 "conf_parser.c" /* yacc.c:1646  */
5292      break;
5293  
5294 <  case 414:
5295 < #line 2233 "conf_parser.y" /* yacc.c:1646  */
5294 >  case 429:
5295 > #line 2161 "conf_parser.y" /* yacc.c:1646  */
5296      {
5297    if (conf_parser_ctx.pass == 2)
5298      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5299   }
5300 < #line 5343 "conf_parser.c" /* yacc.c:1646  */
5300 > #line 5301 "conf_parser.c" /* yacc.c:1646  */
5301      break;
5302  
5303 <  case 415:
5304 < #line 2239 "conf_parser.y" /* yacc.c:1646  */
5303 >  case 430:
5304 > #line 2167 "conf_parser.y" /* yacc.c:1646  */
5305      {
5306    if (conf_parser_ctx.pass == 2)
5307      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5308   }
5309 < #line 5352 "conf_parser.c" /* yacc.c:1646  */
5309 > #line 5310 "conf_parser.c" /* yacc.c:1646  */
5310      break;
5311  
5312 <  case 416:
5313 < #line 2245 "conf_parser.y" /* yacc.c:1646  */
5312 >  case 431:
5313 > #line 2173 "conf_parser.y" /* yacc.c:1646  */
5314      {
5315    if (conf_parser_ctx.pass == 2)
5316      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5317   }
5318 < #line 5361 "conf_parser.c" /* yacc.c:1646  */
5318 > #line 5319 "conf_parser.c" /* yacc.c:1646  */
5319      break;
5320  
5321 <  case 417:
5322 < #line 2251 "conf_parser.y" /* yacc.c:1646  */
5321 >  case 432:
5322 > #line 2179 "conf_parser.y" /* yacc.c:1646  */
5323      {
5324    if (conf_parser_ctx.pass != 2)
5325      break;
# Line 5373 | Line 5331 | yyreduce:
5331    else
5332      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5333   }
5334 < #line 5377 "conf_parser.c" /* yacc.c:1646  */
5334 > #line 5335 "conf_parser.c" /* yacc.c:1646  */
5335      break;
5336  
5337 <  case 418:
5338 < #line 2264 "conf_parser.y" /* yacc.c:1646  */
5337 >  case 433:
5338 > #line 2192 "conf_parser.y" /* yacc.c:1646  */
5339      {
5340    if (conf_parser_ctx.pass != 2)
5341      break;
# Line 5389 | Line 5347 | yyreduce:
5347    else
5348      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5349   }
5350 < #line 5393 "conf_parser.c" /* yacc.c:1646  */
5350 > #line 5351 "conf_parser.c" /* yacc.c:1646  */
5351      break;
5352  
5353 <  case 419:
5354 < #line 2277 "conf_parser.y" /* yacc.c:1646  */
5353 >  case 434:
5354 > #line 2205 "conf_parser.y" /* yacc.c:1646  */
5355      {
5356    if (conf_parser_ctx.pass == 2)
5357      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5358   }
5359 < #line 5402 "conf_parser.c" /* yacc.c:1646  */
5359 > #line 5360 "conf_parser.c" /* yacc.c:1646  */
5360      break;
5361  
5362 <  case 420:
5363 < #line 2283 "conf_parser.y" /* yacc.c:1646  */
5362 >  case 435:
5363 > #line 2211 "conf_parser.y" /* yacc.c:1646  */
5364      {
5365    if (conf_parser_ctx.pass == 2)
5366      block_state.port.value = (yyvsp[-1].number);
5367   }
5368 < #line 5411 "conf_parser.c" /* yacc.c:1646  */
5368 > #line 5369 "conf_parser.c" /* yacc.c:1646  */
5369      break;
5370  
5371 <  case 421:
5372 < #line 2289 "conf_parser.y" /* yacc.c:1646  */
5371 >  case 436:
5372 > #line 2217 "conf_parser.y" /* yacc.c:1646  */
5373      {
5374    if (conf_parser_ctx.pass == 2)
5375      block_state.aftype.value = AF_INET;
5376   }
5377 < #line 5420 "conf_parser.c" /* yacc.c:1646  */
5377 > #line 5378 "conf_parser.c" /* yacc.c:1646  */
5378      break;
5379  
5380 <  case 422:
5381 < #line 2293 "conf_parser.y" /* yacc.c:1646  */
5380 >  case 437:
5381 > #line 2221 "conf_parser.y" /* yacc.c:1646  */
5382      {
5383    if (conf_parser_ctx.pass == 2)
5384      block_state.aftype.value = AF_INET6;
5385   }
5386 < #line 5429 "conf_parser.c" /* yacc.c:1646  */
5386 > #line 5387 "conf_parser.c" /* yacc.c:1646  */
5387      break;
5388  
5389 <  case 423:
5390 < #line 2299 "conf_parser.y" /* yacc.c:1646  */
5389 >  case 438:
5390 > #line 2227 "conf_parser.y" /* yacc.c:1646  */
5391      {
5392    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5393   }
5394 < #line 5437 "conf_parser.c" /* yacc.c:1646  */
5394 > #line 5395 "conf_parser.c" /* yacc.c:1646  */
5395      break;
5396  
5397 <  case 427:
5398 < #line 2305 "conf_parser.y" /* yacc.c:1646  */
5397 >  case 442:
5398 > #line 2233 "conf_parser.y" /* yacc.c:1646  */
5399      {
5400    if (conf_parser_ctx.pass == 2)
5401      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5402   }
5403 < #line 5446 "conf_parser.c" /* yacc.c:1646  */
5403 > #line 5404 "conf_parser.c" /* yacc.c:1646  */
5404      break;
5405  
5406 <  case 428:
5407 < #line 2309 "conf_parser.y" /* yacc.c:1646  */
5406 >  case 443:
5407 > #line 2237 "conf_parser.y" /* yacc.c:1646  */
5408      {
5409    if (conf_parser_ctx.pass == 2)
5410      block_state.flags.value |= CONF_FLAGS_SSL;
5411   }
5412 < #line 5455 "conf_parser.c" /* yacc.c:1646  */
5412 > #line 5413 "conf_parser.c" /* yacc.c:1646  */
5413      break;
5414  
5415 <  case 429:
5416 < #line 2315 "conf_parser.y" /* yacc.c:1646  */
5415 >  case 444:
5416 > #line 2243 "conf_parser.y" /* yacc.c:1646  */
5417      {
5418    if (conf_parser_ctx.pass == 2)
5419    {
# Line 5465 | Line 5423 | yyreduce:
5423        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5424    }
5425   }
5426 < #line 5469 "conf_parser.c" /* yacc.c:1646  */
5426 > #line 5427 "conf_parser.c" /* yacc.c:1646  */
5427      break;
5428  
5429 <  case 430:
5430 < #line 2326 "conf_parser.y" /* yacc.c:1646  */
5429 >  case 445:
5430 > #line 2254 "conf_parser.y" /* yacc.c:1646  */
5431      {
5432    if (conf_parser_ctx.pass == 2)
5433      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5434   }
5435 < #line 5478 "conf_parser.c" /* yacc.c:1646  */
5435 > #line 5436 "conf_parser.c" /* yacc.c:1646  */
5436      break;
5437  
5438 <  case 431:
5439 < #line 2332 "conf_parser.y" /* yacc.c:1646  */
5438 >  case 446:
5439 > #line 2260 "conf_parser.y" /* yacc.c:1646  */
5440      {
5441    if (conf_parser_ctx.pass == 2)
5442      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5443   }
5444 < #line 5487 "conf_parser.c" /* yacc.c:1646  */
5444 > #line 5445 "conf_parser.c" /* yacc.c:1646  */
5445      break;
5446  
5447 <  case 432:
5448 < #line 2338 "conf_parser.y" /* yacc.c:1646  */
5447 >  case 447:
5448 > #line 2266 "conf_parser.y" /* yacc.c:1646  */
5449      {
5450    if (conf_parser_ctx.pass == 2)
5451      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5452   }
5453 < #line 5496 "conf_parser.c" /* yacc.c:1646  */
5453 > #line 5454 "conf_parser.c" /* yacc.c:1646  */
5454      break;
5455  
5456 <  case 433:
5457 < #line 2344 "conf_parser.y" /* yacc.c:1646  */
5456 >  case 448:
5457 > #line 2272 "conf_parser.y" /* yacc.c:1646  */
5458      {
5459 < #ifdef HAVE_LIBCRYPTO
5459 > #ifdef HAVE_TLS
5460    if (conf_parser_ctx.pass == 2)
5461      strlcpy(block_state.ciph.buf, yylval.string, sizeof(block_state.ciph.buf));
5462   #else
5463    if (conf_parser_ctx.pass == 2)
5464 <    conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5464 >    conf_error_report("Ignoring connect::ciphers -- no TLS support");
5465   #endif
5466   }
5467 < #line 5510 "conf_parser.c" /* yacc.c:1646  */
5467 > #line 5468 "conf_parser.c" /* yacc.c:1646  */
5468      break;
5469  
5470 <  case 434:
5471 < #line 2359 "conf_parser.y" /* yacc.c:1646  */
5470 >  case 449:
5471 > #line 2287 "conf_parser.y" /* yacc.c:1646  */
5472      {
5473    if (conf_parser_ctx.pass == 2)
5474      reset_block_state();
5475   }
5476 < #line 5519 "conf_parser.c" /* yacc.c:1646  */
5476 > #line 5477 "conf_parser.c" /* yacc.c:1646  */
5477      break;
5478  
5479 <  case 435:
5480 < #line 2363 "conf_parser.y" /* yacc.c:1646  */
5479 >  case 450:
5480 > #line 2291 "conf_parser.y" /* yacc.c:1646  */
5481      {
5482    struct MaskItem *conf = NULL;
5483  
# Line 5540 | Line 5498 | yyreduce:
5498      conf->reason = xstrdup(CONF_NOREASON);
5499    add_conf_by_address(CONF_KLINE, conf);
5500   }
5501 < #line 5544 "conf_parser.c" /* yacc.c:1646  */
5501 > #line 5502 "conf_parser.c" /* yacc.c:1646  */
5502      break;
5503  
5504 <  case 441:
5505 < #line 2388 "conf_parser.y" /* yacc.c:1646  */
5504 >  case 456:
5505 > #line 2316 "conf_parser.y" /* yacc.c:1646  */
5506      {
5507  
5508    if (conf_parser_ctx.pass == 2)
# Line 5563 | Line 5521 | yyreduce:
5521      split_nuh(&nuh);
5522    }
5523   }
5524 < #line 5567 "conf_parser.c" /* yacc.c:1646  */
5524 > #line 5525 "conf_parser.c" /* yacc.c:1646  */
5525      break;
5526  
5527 <  case 442:
5528 < #line 2408 "conf_parser.y" /* yacc.c:1646  */
5527 >  case 457:
5528 > #line 2336 "conf_parser.y" /* yacc.c:1646  */
5529      {
5530    if (conf_parser_ctx.pass == 2)
5531      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5532   }
5533 < #line 5576 "conf_parser.c" /* yacc.c:1646  */
5533 > #line 5534 "conf_parser.c" /* yacc.c:1646  */
5534      break;
5535  
5536 <  case 443:
5537 < #line 2417 "conf_parser.y" /* yacc.c:1646  */
5536 >  case 458:
5537 > #line 2346 "conf_parser.y" /* yacc.c:1646  */
5538      {
5539    if (conf_parser_ctx.pass == 2)
5540      reset_block_state();
5541   }
5542 < #line 5585 "conf_parser.c" /* yacc.c:1646  */
5542 > #line 5543 "conf_parser.c" /* yacc.c:1646  */
5543      break;
5544  
5545 <  case 444:
5546 < #line 2421 "conf_parser.y" /* yacc.c:1646  */
5545 >  case 459:
5546 > #line 2350 "conf_parser.y" /* yacc.c:1646  */
5547      {
5548    struct MaskItem *conf = NULL;
5549  
# Line 5607 | Line 5565 | yyreduce:
5565      add_conf_by_address(CONF_DLINE, conf);
5566    }
5567   }
5568 < #line 5611 "conf_parser.c" /* yacc.c:1646  */
5568 > #line 5569 "conf_parser.c" /* yacc.c:1646  */
5569      break;
5570  
5571 <  case 450:
5572 < #line 2447 "conf_parser.y" /* yacc.c:1646  */
5571 >  case 465:
5572 > #line 2376 "conf_parser.y" /* yacc.c:1646  */
5573      {
5574    if (conf_parser_ctx.pass == 2)
5575      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5576   }
5577 < #line 5620 "conf_parser.c" /* yacc.c:1646  */
5577 > #line 5578 "conf_parser.c" /* yacc.c:1646  */
5578      break;
5579  
5580 <  case 451:
5581 < #line 2453 "conf_parser.y" /* yacc.c:1646  */
5580 >  case 466:
5581 > #line 2382 "conf_parser.y" /* yacc.c:1646  */
5582      {
5583    if (conf_parser_ctx.pass == 2)
5584      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5585   }
5586 < #line 5629 "conf_parser.c" /* yacc.c:1646  */
5586 > #line 5587 "conf_parser.c" /* yacc.c:1646  */
5587      break;
5588  
5589 <  case 457:
5590 < #line 2467 "conf_parser.y" /* yacc.c:1646  */
5589 >  case 472:
5590 > #line 2397 "conf_parser.y" /* yacc.c:1646  */
5591      {
5592    if (conf_parser_ctx.pass == 2)
5593    {
5594 <    if (yylval.string[0] && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5594 >    if (*yylval.string && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5595      {
5596        struct MaskItem *conf = conf_make(CONF_EXEMPT);
5597        conf->host = xstrdup(yylval.string);
# Line 5642 | Line 5600 | yyreduce:
5600      }
5601    }
5602   }
5603 < #line 5646 "conf_parser.c" /* yacc.c:1646  */
5603 > #line 5604 "conf_parser.c" /* yacc.c:1646  */
5604      break;
5605  
5606 <  case 458:
5607 < #line 2484 "conf_parser.y" /* yacc.c:1646  */
5606 >  case 473:
5607 > #line 2414 "conf_parser.y" /* yacc.c:1646  */
5608      {
5609    if (conf_parser_ctx.pass == 2)
5610      reset_block_state();
5611   }
5612 < #line 5655 "conf_parser.c" /* yacc.c:1646  */
5612 > #line 5613 "conf_parser.c" /* yacc.c:1646  */
5613      break;
5614  
5615 <  case 459:
5616 < #line 2488 "conf_parser.y" /* yacc.c:1646  */
5615 >  case 474:
5616 > #line 2418 "conf_parser.y" /* yacc.c:1646  */
5617      {
5660  struct MaskItem *conf = NULL;
5661
5618    if (conf_parser_ctx.pass != 2)
5619      break;
5620  
5621    if (!block_state.name.buf[0])
5622      break;
5623  
5624 <  conf = conf_make(CONF_XLINE);
5625 <  conf->name = xstrdup(block_state.name.buf);
5624 >  struct GecosItem *gecos = gecos_make();
5625 >  gecos->mask = xstrdup(block_state.name.buf);
5626  
5627    if (block_state.rpass.buf[0])
5628 <    conf->reason = xstrdup(block_state.rpass.buf);
5628 >    gecos->reason = xstrdup(block_state.rpass.buf);
5629    else
5630 <    conf->reason = xstrdup(CONF_NOREASON);
5630 >    gecos->reason = xstrdup(CONF_NOREASON);
5631   }
5632 < #line 5677 "conf_parser.c" /* yacc.c:1646  */
5632 > #line 5633 "conf_parser.c" /* yacc.c:1646  */
5633      break;
5634  
5635 <  case 465:
5636 < #line 2510 "conf_parser.y" /* yacc.c:1646  */
5635 >  case 480:
5636 > #line 2438 "conf_parser.y" /* yacc.c:1646  */
5637      {
5638    if (conf_parser_ctx.pass == 2)
5639      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5640   }
5641 < #line 5686 "conf_parser.c" /* yacc.c:1646  */
5641 > #line 5642 "conf_parser.c" /* yacc.c:1646  */
5642      break;
5643  
5644 <  case 466:
5645 < #line 2516 "conf_parser.y" /* yacc.c:1646  */
5644 >  case 481:
5645 > #line 2444 "conf_parser.y" /* yacc.c:1646  */
5646      {
5647    if (conf_parser_ctx.pass == 2)
5648      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5649   }
5650 < #line 5695 "conf_parser.c" /* yacc.c:1646  */
5650 > #line 5651 "conf_parser.c" /* yacc.c:1646  */
5651      break;
5652  
5653 <  case 517:
5654 < #line 2578 "conf_parser.y" /* yacc.c:1646  */
5653 >  case 532:
5654 > #line 2506 "conf_parser.y" /* yacc.c:1646  */
5655      {
5656    ConfigGeneral.away_count = (yyvsp[-1].number);
5657   }
5658 < #line 5703 "conf_parser.c" /* yacc.c:1646  */
5658 > #line 5659 "conf_parser.c" /* yacc.c:1646  */
5659      break;
5660  
5661 <  case 518:
5662 < #line 2583 "conf_parser.y" /* yacc.c:1646  */
5661 >  case 533:
5662 > #line 2511 "conf_parser.y" /* yacc.c:1646  */
5663      {
5664    ConfigGeneral.away_time = (yyvsp[-1].number);
5665   }
5666 < #line 5711 "conf_parser.c" /* yacc.c:1646  */
5666 > #line 5667 "conf_parser.c" /* yacc.c:1646  */
5667      break;
5668  
5669 <  case 519:
5670 < #line 2588 "conf_parser.y" /* yacc.c:1646  */
5669 >  case 534:
5670 > #line 2516 "conf_parser.y" /* yacc.c:1646  */
5671      {
5672    ConfigGeneral.max_watch = (yyvsp[-1].number);
5673   }
5674 < #line 5719 "conf_parser.c" /* yacc.c:1646  */
5674 > #line 5675 "conf_parser.c" /* yacc.c:1646  */
5675      break;
5676  
5677 <  case 520:
5678 < #line 2593 "conf_parser.y" /* yacc.c:1646  */
5677 >  case 535:
5678 > #line 2521 "conf_parser.y" /* yacc.c:1646  */
5679 >    {
5680 >  ConfigGeneral.whowas_history_length = (yyvsp[-1].number);
5681 > }
5682 > #line 5683 "conf_parser.c" /* yacc.c:1646  */
5683 >    break;
5684 >
5685 >  case 536:
5686 > #line 2526 "conf_parser.y" /* yacc.c:1646  */
5687      {
5688    if (conf_parser_ctx.pass == 2)
5689      ConfigGeneral.cycle_on_host_change = yylval.number;
5690   }
5691 < #line 5728 "conf_parser.c" /* yacc.c:1646  */
5691 > #line 5692 "conf_parser.c" /* yacc.c:1646  */
5692      break;
5693  
5694 <  case 521:
5695 < #line 2599 "conf_parser.y" /* yacc.c:1646  */
5694 >  case 537:
5695 > #line 2532 "conf_parser.y" /* yacc.c:1646  */
5696      {
5697    ConfigGeneral.dline_min_cidr = (yyvsp[-1].number);
5698   }
5699 < #line 5736 "conf_parser.c" /* yacc.c:1646  */
5699 > #line 5700 "conf_parser.c" /* yacc.c:1646  */
5700      break;
5701  
5702 <  case 522:
5703 < #line 2604 "conf_parser.y" /* yacc.c:1646  */
5702 >  case 538:
5703 > #line 2537 "conf_parser.y" /* yacc.c:1646  */
5704      {
5705    ConfigGeneral.dline_min_cidr6 = (yyvsp[-1].number);
5706   }
5707 < #line 5744 "conf_parser.c" /* yacc.c:1646  */
5707 > #line 5708 "conf_parser.c" /* yacc.c:1646  */
5708      break;
5709  
5710 <  case 523:
5711 < #line 2609 "conf_parser.y" /* yacc.c:1646  */
5710 >  case 539:
5711 > #line 2542 "conf_parser.y" /* yacc.c:1646  */
5712      {
5713    ConfigGeneral.kline_min_cidr = (yyvsp[-1].number);
5714   }
5715 < #line 5752 "conf_parser.c" /* yacc.c:1646  */
5715 > #line 5716 "conf_parser.c" /* yacc.c:1646  */
5716      break;
5717  
5718 <  case 524:
5719 < #line 2614 "conf_parser.y" /* yacc.c:1646  */
5718 >  case 540:
5719 > #line 2547 "conf_parser.y" /* yacc.c:1646  */
5720      {
5721    ConfigGeneral.kline_min_cidr6 = (yyvsp[-1].number);
5722   }
5723 < #line 5760 "conf_parser.c" /* yacc.c:1646  */
5723 > #line 5724 "conf_parser.c" /* yacc.c:1646  */
5724      break;
5725  
5726 <  case 525:
5727 < #line 2619 "conf_parser.y" /* yacc.c:1646  */
5726 >  case 541:
5727 > #line 2552 "conf_parser.y" /* yacc.c:1646  */
5728      {
5729    ConfigGeneral.tkline_expire_notices = yylval.number;
5730   }
5731 < #line 5768 "conf_parser.c" /* yacc.c:1646  */
5731 > #line 5732 "conf_parser.c" /* yacc.c:1646  */
5732      break;
5733  
5734 <  case 526:
5735 < #line 2624 "conf_parser.y" /* yacc.c:1646  */
5734 >  case 542:
5735 > #line 2557 "conf_parser.y" /* yacc.c:1646  */
5736      {
5737    ConfigGeneral.kill_chase_time_limit = (yyvsp[-1].number);
5738   }
5739 < #line 5776 "conf_parser.c" /* yacc.c:1646  */
5739 > #line 5740 "conf_parser.c" /* yacc.c:1646  */
5740      break;
5741  
5742 <  case 527:
5743 < #line 2629 "conf_parser.y" /* yacc.c:1646  */
5742 >  case 543:
5743 > #line 2562 "conf_parser.y" /* yacc.c:1646  */
5744      {
5745    ConfigGeneral.ignore_bogus_ts = yylval.number;
5746   }
5747 < #line 5784 "conf_parser.c" /* yacc.c:1646  */
5747 > #line 5748 "conf_parser.c" /* yacc.c:1646  */
5748      break;
5749  
5750 <  case 528:
5751 < #line 2634 "conf_parser.y" /* yacc.c:1646  */
5750 >  case 544:
5751 > #line 2567 "conf_parser.y" /* yacc.c:1646  */
5752      {
5753    ConfigGeneral.failed_oper_notice = yylval.number;
5754   }
5755 < #line 5792 "conf_parser.c" /* yacc.c:1646  */
5755 > #line 5756 "conf_parser.c" /* yacc.c:1646  */
5756      break;
5757  
5758 <  case 529:
5759 < #line 2639 "conf_parser.y" /* yacc.c:1646  */
5758 >  case 545:
5759 > #line 2572 "conf_parser.y" /* yacc.c:1646  */
5760      {
5761    ConfigGeneral.anti_nick_flood = yylval.number;
5762   }
5763 < #line 5800 "conf_parser.c" /* yacc.c:1646  */
5763 > #line 5764 "conf_parser.c" /* yacc.c:1646  */
5764      break;
5765  
5766 <  case 530:
5767 < #line 2644 "conf_parser.y" /* yacc.c:1646  */
5766 >  case 546:
5767 > #line 2577 "conf_parser.y" /* yacc.c:1646  */
5768      {
5769    ConfigGeneral.max_nick_time = (yyvsp[-1].number);
5770   }
5771 < #line 5808 "conf_parser.c" /* yacc.c:1646  */
5771 > #line 5772 "conf_parser.c" /* yacc.c:1646  */
5772      break;
5773  
5774 <  case 531:
5775 < #line 2649 "conf_parser.y" /* yacc.c:1646  */
5774 >  case 547:
5775 > #line 2582 "conf_parser.y" /* yacc.c:1646  */
5776      {
5777    ConfigGeneral.max_nick_changes = (yyvsp[-1].number);
5778   }
5779 < #line 5816 "conf_parser.c" /* yacc.c:1646  */
5779 > #line 5780 "conf_parser.c" /* yacc.c:1646  */
5780      break;
5781  
5782 <  case 532:
5783 < #line 2654 "conf_parser.y" /* yacc.c:1646  */
5782 >  case 548:
5783 > #line 2587 "conf_parser.y" /* yacc.c:1646  */
5784      {
5785    ConfigGeneral.max_accept = (yyvsp[-1].number);
5786   }
5787 < #line 5824 "conf_parser.c" /* yacc.c:1646  */
5787 > #line 5788 "conf_parser.c" /* yacc.c:1646  */
5788      break;
5789  
5790 <  case 533:
5791 < #line 2659 "conf_parser.y" /* yacc.c:1646  */
5790 >  case 549:
5791 > #line 2592 "conf_parser.y" /* yacc.c:1646  */
5792      {
5793    ConfigGeneral.anti_spam_exit_message_time = (yyvsp[-1].number);
5794   }
5795 < #line 5832 "conf_parser.c" /* yacc.c:1646  */
5795 > #line 5796 "conf_parser.c" /* yacc.c:1646  */
5796      break;
5797  
5798 <  case 534:
5799 < #line 2664 "conf_parser.y" /* yacc.c:1646  */
5798 >  case 550:
5799 > #line 2597 "conf_parser.y" /* yacc.c:1646  */
5800      {
5801    ConfigGeneral.ts_warn_delta = (yyvsp[-1].number);
5802   }
5803 < #line 5840 "conf_parser.c" /* yacc.c:1646  */
5803 > #line 5804 "conf_parser.c" /* yacc.c:1646  */
5804      break;
5805  
5806 <  case 535:
5807 < #line 2669 "conf_parser.y" /* yacc.c:1646  */
5806 >  case 551:
5807 > #line 2602 "conf_parser.y" /* yacc.c:1646  */
5808      {
5809    if (conf_parser_ctx.pass == 2)
5810      ConfigGeneral.ts_max_delta = (yyvsp[-1].number);
5811   }
5812 < #line 5849 "conf_parser.c" /* yacc.c:1646  */
5812 > #line 5813 "conf_parser.c" /* yacc.c:1646  */
5813      break;
5814  
5815 <  case 536:
5816 < #line 2675 "conf_parser.y" /* yacc.c:1646  */
5815 >  case 552:
5816 > #line 2608 "conf_parser.y" /* yacc.c:1646  */
5817      {
5818    ConfigGeneral.invisible_on_connect = yylval.number;
5819   }
5820 < #line 5857 "conf_parser.c" /* yacc.c:1646  */
5820 > #line 5821 "conf_parser.c" /* yacc.c:1646  */
5821      break;
5822  
5823 <  case 537:
5824 < #line 2680 "conf_parser.y" /* yacc.c:1646  */
5823 >  case 553:
5824 > #line 2613 "conf_parser.y" /* yacc.c:1646  */
5825      {
5826    ConfigGeneral.warn_no_connect_block = yylval.number;
5827   }
5828 < #line 5865 "conf_parser.c" /* yacc.c:1646  */
5828 > #line 5829 "conf_parser.c" /* yacc.c:1646  */
5829      break;
5830  
5831 <  case 538:
5832 < #line 2685 "conf_parser.y" /* yacc.c:1646  */
5831 >  case 554:
5832 > #line 2618 "conf_parser.y" /* yacc.c:1646  */
5833      {
5834    ConfigGeneral.stats_e_disabled = yylval.number;
5835   }
5836 < #line 5873 "conf_parser.c" /* yacc.c:1646  */
5836 > #line 5837 "conf_parser.c" /* yacc.c:1646  */
5837      break;
5838  
5839 <  case 539:
5840 < #line 2690 "conf_parser.y" /* yacc.c:1646  */
5839 >  case 555:
5840 > #line 2623 "conf_parser.y" /* yacc.c:1646  */
5841      {
5842    ConfigGeneral.stats_m_oper_only = yylval.number;
5843   }
5844 < #line 5881 "conf_parser.c" /* yacc.c:1646  */
5844 > #line 5845 "conf_parser.c" /* yacc.c:1646  */
5845      break;
5846  
5847 <  case 540:
5848 < #line 2695 "conf_parser.y" /* yacc.c:1646  */
5847 >  case 556:
5848 > #line 2628 "conf_parser.y" /* yacc.c:1646  */
5849      {
5850    ConfigGeneral.stats_o_oper_only = yylval.number;
5851   }
5852 < #line 5889 "conf_parser.c" /* yacc.c:1646  */
5852 > #line 5853 "conf_parser.c" /* yacc.c:1646  */
5853      break;
5854  
5855 <  case 541:
5856 < #line 2700 "conf_parser.y" /* yacc.c:1646  */
5855 >  case 557:
5856 > #line 2633 "conf_parser.y" /* yacc.c:1646  */
5857      {
5858    ConfigGeneral.stats_P_oper_only = yylval.number;
5859   }
5860 < #line 5897 "conf_parser.c" /* yacc.c:1646  */
5860 > #line 5861 "conf_parser.c" /* yacc.c:1646  */
5861      break;
5862  
5863 <  case 542:
5864 < #line 2705 "conf_parser.y" /* yacc.c:1646  */
5863 >  case 558:
5864 > #line 2638 "conf_parser.y" /* yacc.c:1646  */
5865      {
5866    ConfigGeneral.stats_u_oper_only = yylval.number;
5867   }
5868 < #line 5905 "conf_parser.c" /* yacc.c:1646  */
5868 > #line 5869 "conf_parser.c" /* yacc.c:1646  */
5869      break;
5870  
5871 <  case 543:
5872 < #line 2710 "conf_parser.y" /* yacc.c:1646  */
5871 >  case 559:
5872 > #line 2643 "conf_parser.y" /* yacc.c:1646  */
5873      {
5874    ConfigGeneral.stats_k_oper_only = 2 * yylval.number;
5875   }
5876 < #line 5913 "conf_parser.c" /* yacc.c:1646  */
5876 > #line 5877 "conf_parser.c" /* yacc.c:1646  */
5877      break;
5878  
5879 <  case 544:
5880 < #line 2713 "conf_parser.y" /* yacc.c:1646  */
5879 >  case 560:
5880 > #line 2646 "conf_parser.y" /* yacc.c:1646  */
5881      {
5882    ConfigGeneral.stats_k_oper_only = 1;
5883   }
5884 < #line 5921 "conf_parser.c" /* yacc.c:1646  */
5884 > #line 5885 "conf_parser.c" /* yacc.c:1646  */
5885      break;
5886  
5887 <  case 545:
5888 < #line 2718 "conf_parser.y" /* yacc.c:1646  */
5887 >  case 561:
5888 > #line 2651 "conf_parser.y" /* yacc.c:1646  */
5889      {
5890    ConfigGeneral.stats_i_oper_only = 2 * yylval.number;
5891   }
5892 < #line 5929 "conf_parser.c" /* yacc.c:1646  */
5892 > #line 5893 "conf_parser.c" /* yacc.c:1646  */
5893      break;
5894  
5895 <  case 546:
5896 < #line 2721 "conf_parser.y" /* yacc.c:1646  */
5895 >  case 562:
5896 > #line 2654 "conf_parser.y" /* yacc.c:1646  */
5897      {
5898    ConfigGeneral.stats_i_oper_only = 1;
5899   }
5900 < #line 5937 "conf_parser.c" /* yacc.c:1646  */
5900 > #line 5901 "conf_parser.c" /* yacc.c:1646  */
5901      break;
5902  
5903 <  case 547:
5904 < #line 2726 "conf_parser.y" /* yacc.c:1646  */
5903 >  case 563:
5904 > #line 2659 "conf_parser.y" /* yacc.c:1646  */
5905      {
5906    ConfigGeneral.pace_wait = (yyvsp[-1].number);
5907   }
5908 < #line 5945 "conf_parser.c" /* yacc.c:1646  */
5908 > #line 5909 "conf_parser.c" /* yacc.c:1646  */
5909      break;
5910  
5911 <  case 548:
5912 < #line 2731 "conf_parser.y" /* yacc.c:1646  */
5911 >  case 564:
5912 > #line 2664 "conf_parser.y" /* yacc.c:1646  */
5913      {
5914    ConfigGeneral.caller_id_wait = (yyvsp[-1].number);
5915   }
5916 < #line 5953 "conf_parser.c" /* yacc.c:1646  */
5916 > #line 5917 "conf_parser.c" /* yacc.c:1646  */
5917      break;
5918  
5919 <  case 549:
5920 < #line 2736 "conf_parser.y" /* yacc.c:1646  */
5919 >  case 565:
5920 > #line 2669 "conf_parser.y" /* yacc.c:1646  */
5921      {
5922    ConfigGeneral.opers_bypass_callerid = yylval.number;
5923   }
5924 < #line 5961 "conf_parser.c" /* yacc.c:1646  */
5924 > #line 5925 "conf_parser.c" /* yacc.c:1646  */
5925      break;
5926  
5927 <  case 550:
5928 < #line 2741 "conf_parser.y" /* yacc.c:1646  */
5927 >  case 566:
5928 > #line 2674 "conf_parser.y" /* yacc.c:1646  */
5929      {
5930    ConfigGeneral.pace_wait_simple = (yyvsp[-1].number);
5931   }
5932 < #line 5969 "conf_parser.c" /* yacc.c:1646  */
5932 > #line 5933 "conf_parser.c" /* yacc.c:1646  */
5933      break;
5934  
5935 <  case 551:
5936 < #line 2746 "conf_parser.y" /* yacc.c:1646  */
5935 >  case 567:
5936 > #line 2679 "conf_parser.y" /* yacc.c:1646  */
5937      {
5938    ConfigGeneral.short_motd = yylval.number;
5939   }
5940 < #line 5977 "conf_parser.c" /* yacc.c:1646  */
5940 > #line 5941 "conf_parser.c" /* yacc.c:1646  */
5941      break;
5942  
5943 <  case 552:
5944 < #line 2751 "conf_parser.y" /* yacc.c:1646  */
5943 >  case 568:
5944 > #line 2684 "conf_parser.y" /* yacc.c:1646  */
5945      {
5946    ConfigGeneral.no_oper_flood = yylval.number;
5947   }
5948 < #line 5985 "conf_parser.c" /* yacc.c:1646  */
5948 > #line 5949 "conf_parser.c" /* yacc.c:1646  */
5949      break;
5950  
5951 <  case 553:
5952 < #line 2756 "conf_parser.y" /* yacc.c:1646  */
5989 <    {
5990 <  ConfigGeneral.oper_pass_resv = yylval.number;
5991 < }
5992 < #line 5993 "conf_parser.c" /* yacc.c:1646  */
5993 <    break;
5994 <
5995 <  case 554:
5996 < #line 2761 "conf_parser.y" /* yacc.c:1646  */
5951 >  case 569:
5952 > #line 2689 "conf_parser.y" /* yacc.c:1646  */
5953      {
5954    ConfigGeneral.dots_in_ident = (yyvsp[-1].number);
5955   }
5956 < #line 6001 "conf_parser.c" /* yacc.c:1646  */
5956 > #line 5957 "conf_parser.c" /* yacc.c:1646  */
5957      break;
5958  
5959 <  case 555:
5960 < #line 2766 "conf_parser.y" /* yacc.c:1646  */
5959 >  case 570:
5960 > #line 2694 "conf_parser.y" /* yacc.c:1646  */
5961      {
5962    ConfigGeneral.max_targets = (yyvsp[-1].number);
5963   }
5964 < #line 6009 "conf_parser.c" /* yacc.c:1646  */
5964 > #line 5965 "conf_parser.c" /* yacc.c:1646  */
5965      break;
5966  
5967 <  case 556:
5968 < #line 2771 "conf_parser.y" /* yacc.c:1646  */
5967 >  case 571:
5968 > #line 2699 "conf_parser.y" /* yacc.c:1646  */
5969      {
5970    ConfigGeneral.ping_cookie = yylval.number;
5971   }
5972 < #line 6017 "conf_parser.c" /* yacc.c:1646  */
5972 > #line 5973 "conf_parser.c" /* yacc.c:1646  */
5973      break;
5974  
5975 <  case 557:
5976 < #line 2776 "conf_parser.y" /* yacc.c:1646  */
5975 >  case 572:
5976 > #line 2704 "conf_parser.y" /* yacc.c:1646  */
5977      {
5978    ConfigGeneral.disable_auth = yylval.number;
5979   }
5980 < #line 6025 "conf_parser.c" /* yacc.c:1646  */
5980 > #line 5981 "conf_parser.c" /* yacc.c:1646  */
5981      break;
5982  
5983 <  case 558:
5984 < #line 2781 "conf_parser.y" /* yacc.c:1646  */
5983 >  case 573:
5984 > #line 2709 "conf_parser.y" /* yacc.c:1646  */
5985      {
5986    ConfigGeneral.throttle_count = (yyvsp[-1].number);
5987   }
5988 < #line 6033 "conf_parser.c" /* yacc.c:1646  */
5988 > #line 5989 "conf_parser.c" /* yacc.c:1646  */
5989      break;
5990  
5991 <  case 559:
5992 < #line 2786 "conf_parser.y" /* yacc.c:1646  */
5991 >  case 574:
5992 > #line 2714 "conf_parser.y" /* yacc.c:1646  */
5993      {
5994    ConfigGeneral.throttle_time = (yyvsp[-1].number);
5995   }
5996 < #line 6041 "conf_parser.c" /* yacc.c:1646  */
5996 > #line 5997 "conf_parser.c" /* yacc.c:1646  */
5997      break;
5998  
5999 <  case 560:
6000 < #line 2791 "conf_parser.y" /* yacc.c:1646  */
5999 >  case 575:
6000 > #line 2719 "conf_parser.y" /* yacc.c:1646  */
6001      {
6002    ConfigGeneral.oper_umodes = 0;
6003   }
6004 < #line 6049 "conf_parser.c" /* yacc.c:1646  */
6004 > #line 6005 "conf_parser.c" /* yacc.c:1646  */
6005      break;
6006  
6007 <  case 564:
6008 < #line 2797 "conf_parser.y" /* yacc.c:1646  */
6007 >  case 579:
6008 > #line 2725 "conf_parser.y" /* yacc.c:1646  */
6009      {
6010    ConfigGeneral.oper_umodes |= UMODE_BOTS;
6011   }
6012 < #line 6057 "conf_parser.c" /* yacc.c:1646  */
6012 > #line 6013 "conf_parser.c" /* yacc.c:1646  */
6013      break;
6014  
6015 <  case 565:
6016 < #line 2800 "conf_parser.y" /* yacc.c:1646  */
6015 >  case 580:
6016 > #line 2728 "conf_parser.y" /* yacc.c:1646  */
6017      {
6018    ConfigGeneral.oper_umodes |= UMODE_CCONN;
6019   }
6020 < #line 6065 "conf_parser.c" /* yacc.c:1646  */
6020 > #line 6021 "conf_parser.c" /* yacc.c:1646  */
6021      break;
6022  
6023 <  case 566:
6024 < #line 2803 "conf_parser.y" /* yacc.c:1646  */
6023 >  case 581:
6024 > #line 2731 "conf_parser.y" /* yacc.c:1646  */
6025      {
6026    ConfigGeneral.oper_umodes |= UMODE_DEAF;
6027   }
6028 < #line 6073 "conf_parser.c" /* yacc.c:1646  */
6028 > #line 6029 "conf_parser.c" /* yacc.c:1646  */
6029      break;
6030  
6031 <  case 567:
6032 < #line 2806 "conf_parser.y" /* yacc.c:1646  */
6031 >  case 582:
6032 > #line 2734 "conf_parser.y" /* yacc.c:1646  */
6033      {
6034    ConfigGeneral.oper_umodes |= UMODE_DEBUG;
6035   }
6036 < #line 6081 "conf_parser.c" /* yacc.c:1646  */
6036 > #line 6037 "conf_parser.c" /* yacc.c:1646  */
6037      break;
6038  
6039 <  case 568:
6040 < #line 2809 "conf_parser.y" /* yacc.c:1646  */
6039 >  case 583:
6040 > #line 2737 "conf_parser.y" /* yacc.c:1646  */
6041      {
6042    ConfigGeneral.oper_umodes |= UMODE_FULL;
6043   }
6044 < #line 6089 "conf_parser.c" /* yacc.c:1646  */
6044 > #line 6045 "conf_parser.c" /* yacc.c:1646  */
6045      break;
6046  
6047 <  case 569:
6048 < #line 2812 "conf_parser.y" /* yacc.c:1646  */
6047 >  case 584:
6048 > #line 2740 "conf_parser.y" /* yacc.c:1646  */
6049      {
6050    ConfigGeneral.oper_umodes |= UMODE_HIDDEN;
6051   }
6052 < #line 6097 "conf_parser.c" /* yacc.c:1646  */
6052 > #line 6053 "conf_parser.c" /* yacc.c:1646  */
6053      break;
6054  
6055 <  case 570:
6056 < #line 2815 "conf_parser.y" /* yacc.c:1646  */
6055 >  case 585:
6056 > #line 2743 "conf_parser.y" /* yacc.c:1646  */
6057      {
6058    ConfigGeneral.oper_umodes |= UMODE_HIDECHANS;
6059   }
6060 < #line 6105 "conf_parser.c" /* yacc.c:1646  */
6060 > #line 6061 "conf_parser.c" /* yacc.c:1646  */
6061      break;
6062  
6063 <  case 571:
6064 < #line 2818 "conf_parser.y" /* yacc.c:1646  */
6063 >  case 586:
6064 > #line 2746 "conf_parser.y" /* yacc.c:1646  */
6065      {
6066    ConfigGeneral.oper_umodes |= UMODE_HIDEIDLE;
6067   }
6068 < #line 6113 "conf_parser.c" /* yacc.c:1646  */
6068 > #line 6069 "conf_parser.c" /* yacc.c:1646  */
6069      break;
6070  
6071 <  case 572:
6072 < #line 2821 "conf_parser.y" /* yacc.c:1646  */
6071 >  case 587:
6072 > #line 2749 "conf_parser.y" /* yacc.c:1646  */
6073      {
6074    ConfigGeneral.oper_umodes |= UMODE_SKILL;
6075   }
6076 < #line 6121 "conf_parser.c" /* yacc.c:1646  */
6076 > #line 6077 "conf_parser.c" /* yacc.c:1646  */
6077      break;
6078  
6079 <  case 573:
6080 < #line 2824 "conf_parser.y" /* yacc.c:1646  */
6079 >  case 588:
6080 > #line 2752 "conf_parser.y" /* yacc.c:1646  */
6081      {
6082    ConfigGeneral.oper_umodes |= UMODE_NCHANGE;
6083   }
6084 < #line 6129 "conf_parser.c" /* yacc.c:1646  */
6084 > #line 6085 "conf_parser.c" /* yacc.c:1646  */
6085      break;
6086  
6087 <  case 574:
6088 < #line 2827 "conf_parser.y" /* yacc.c:1646  */
6087 >  case 589:
6088 > #line 2755 "conf_parser.y" /* yacc.c:1646  */
6089      {
6090    ConfigGeneral.oper_umodes |= UMODE_REJ;
6091   }
6092 < #line 6137 "conf_parser.c" /* yacc.c:1646  */
6092 > #line 6093 "conf_parser.c" /* yacc.c:1646  */
6093      break;
6094  
6095 <  case 575:
6096 < #line 2830 "conf_parser.y" /* yacc.c:1646  */
6095 >  case 590:
6096 > #line 2758 "conf_parser.y" /* yacc.c:1646  */
6097      {
6098    ConfigGeneral.oper_umodes |= UMODE_UNAUTH;
6099   }
6100 < #line 6145 "conf_parser.c" /* yacc.c:1646  */
6100 > #line 6101 "conf_parser.c" /* yacc.c:1646  */
6101      break;
6102  
6103 <  case 576:
6104 < #line 2833 "conf_parser.y" /* yacc.c:1646  */
6103 >  case 591:
6104 > #line 2761 "conf_parser.y" /* yacc.c:1646  */
6105      {
6106    ConfigGeneral.oper_umodes |= UMODE_SPY;
6107   }
6108 < #line 6153 "conf_parser.c" /* yacc.c:1646  */
6108 > #line 6109 "conf_parser.c" /* yacc.c:1646  */
6109      break;
6110  
6111 <  case 577:
6112 < #line 2836 "conf_parser.y" /* yacc.c:1646  */
6111 >  case 592:
6112 > #line 2764 "conf_parser.y" /* yacc.c:1646  */
6113      {
6114    ConfigGeneral.oper_umodes |= UMODE_EXTERNAL;
6115   }
6116 < #line 6161 "conf_parser.c" /* yacc.c:1646  */
6116 > #line 6117 "conf_parser.c" /* yacc.c:1646  */
6117      break;
6118  
6119 <  case 578:
6120 < #line 2839 "conf_parser.y" /* yacc.c:1646  */
6119 >  case 593:
6120 > #line 2767 "conf_parser.y" /* yacc.c:1646  */
6121      {
6122    ConfigGeneral.oper_umodes |= UMODE_SERVNOTICE;
6123   }
6124 < #line 6169 "conf_parser.c" /* yacc.c:1646  */
6124 > #line 6125 "conf_parser.c" /* yacc.c:1646  */
6125      break;
6126  
6127 <  case 579:
6128 < #line 2842 "conf_parser.y" /* yacc.c:1646  */
6127 >  case 594:
6128 > #line 2770 "conf_parser.y" /* yacc.c:1646  */
6129      {
6130    ConfigGeneral.oper_umodes |= UMODE_INVISIBLE;
6131   }
6132 < #line 6177 "conf_parser.c" /* yacc.c:1646  */
6132 > #line 6133 "conf_parser.c" /* yacc.c:1646  */
6133      break;
6134  
6135 <  case 580:
6136 < #line 2845 "conf_parser.y" /* yacc.c:1646  */
6135 >  case 595:
6136 > #line 2773 "conf_parser.y" /* yacc.c:1646  */
6137      {
6138    ConfigGeneral.oper_umodes |= UMODE_WALLOP;
6139   }
6140 < #line 6185 "conf_parser.c" /* yacc.c:1646  */
6140 > #line 6141 "conf_parser.c" /* yacc.c:1646  */
6141      break;
6142  
6143 <  case 581:
6144 < #line 2848 "conf_parser.y" /* yacc.c:1646  */
6143 >  case 596:
6144 > #line 2776 "conf_parser.y" /* yacc.c:1646  */
6145      {
6146    ConfigGeneral.oper_umodes |= UMODE_SOFTCALLERID;
6147   }
6148 < #line 6193 "conf_parser.c" /* yacc.c:1646  */
6148 > #line 6149 "conf_parser.c" /* yacc.c:1646  */
6149      break;
6150  
6151 <  case 582:
6152 < #line 2851 "conf_parser.y" /* yacc.c:1646  */
6151 >  case 597:
6152 > #line 2779 "conf_parser.y" /* yacc.c:1646  */
6153      {
6154    ConfigGeneral.oper_umodes |= UMODE_CALLERID;
6155   }
6156 < #line 6201 "conf_parser.c" /* yacc.c:1646  */
6156 > #line 6157 "conf_parser.c" /* yacc.c:1646  */
6157      break;
6158  
6159 <  case 583:
6160 < #line 2854 "conf_parser.y" /* yacc.c:1646  */
6159 >  case 598:
6160 > #line 2782 "conf_parser.y" /* yacc.c:1646  */
6161      {
6162    ConfigGeneral.oper_umodes |= UMODE_LOCOPS;
6163   }
6164 < #line 6209 "conf_parser.c" /* yacc.c:1646  */
6164 > #line 6165 "conf_parser.c" /* yacc.c:1646  */
6165      break;
6166  
6167 <  case 584:
6168 < #line 2857 "conf_parser.y" /* yacc.c:1646  */
6167 >  case 599:
6168 > #line 2785 "conf_parser.y" /* yacc.c:1646  */
6169      {
6170    ConfigGeneral.oper_umodes |= UMODE_REGONLY;
6171   }
6172 < #line 6217 "conf_parser.c" /* yacc.c:1646  */
6172 > #line 6173 "conf_parser.c" /* yacc.c:1646  */
6173      break;
6174  
6175 <  case 585:
6176 < #line 2860 "conf_parser.y" /* yacc.c:1646  */
6175 >  case 600:
6176 > #line 2788 "conf_parser.y" /* yacc.c:1646  */
6177      {
6178    ConfigGeneral.oper_umodes |= UMODE_FARCONNECT;
6179   }
6180 < #line 6225 "conf_parser.c" /* yacc.c:1646  */
6180 > #line 6181 "conf_parser.c" /* yacc.c:1646  */
6181      break;
6182  
6183 <  case 586:
6184 < #line 2865 "conf_parser.y" /* yacc.c:1646  */
6183 >  case 601:
6184 > #line 2793 "conf_parser.y" /* yacc.c:1646  */
6185      {
6186    ConfigGeneral.oper_only_umodes = 0;
6187   }
6188 < #line 6233 "conf_parser.c" /* yacc.c:1646  */
6188 > #line 6189 "conf_parser.c" /* yacc.c:1646  */
6189      break;
6190  
6191 <  case 590:
6192 < #line 2871 "conf_parser.y" /* yacc.c:1646  */
6191 >  case 605:
6192 > #line 2799 "conf_parser.y" /* yacc.c:1646  */
6193      {
6194    ConfigGeneral.oper_only_umodes |= UMODE_BOTS;
6195   }
6196 < #line 6241 "conf_parser.c" /* yacc.c:1646  */
6196 > #line 6197 "conf_parser.c" /* yacc.c:1646  */
6197      break;
6198  
6199 <  case 591:
6200 < #line 2874 "conf_parser.y" /* yacc.c:1646  */
6199 >  case 606:
6200 > #line 2802 "conf_parser.y" /* yacc.c:1646  */
6201      {
6202    ConfigGeneral.oper_only_umodes |= UMODE_CCONN;
6203   }
6204 < #line 6249 "conf_parser.c" /* yacc.c:1646  */
6204 > #line 6205 "conf_parser.c" /* yacc.c:1646  */
6205      break;
6206  
6207 <  case 592:
6208 < #line 2877 "conf_parser.y" /* yacc.c:1646  */
6207 >  case 607:
6208 > #line 2805 "conf_parser.y" /* yacc.c:1646  */
6209      {
6210    ConfigGeneral.oper_only_umodes |= UMODE_DEAF;
6211   }
6212 < #line 6257 "conf_parser.c" /* yacc.c:1646  */
6212 > #line 6213 "conf_parser.c" /* yacc.c:1646  */
6213      break;
6214  
6215 <  case 593:
6216 < #line 2880 "conf_parser.y" /* yacc.c:1646  */
6215 >  case 608:
6216 > #line 2808 "conf_parser.y" /* yacc.c:1646  */
6217      {
6218    ConfigGeneral.oper_only_umodes |= UMODE_DEBUG;
6219   }
6220 < #line 6265 "conf_parser.c" /* yacc.c:1646  */
6220 > #line 6221 "conf_parser.c" /* yacc.c:1646  */
6221      break;
6222  
6223 <  case 594:
6224 < #line 2883 "conf_parser.y" /* yacc.c:1646  */
6223 >  case 609:
6224 > #line 2811 "conf_parser.y" /* yacc.c:1646  */
6225      {
6226    ConfigGeneral.oper_only_umodes |= UMODE_FULL;
6227   }
6228 < #line 6273 "conf_parser.c" /* yacc.c:1646  */
6228 > #line 6229 "conf_parser.c" /* yacc.c:1646  */
6229      break;
6230  
6231 <  case 595:
6232 < #line 2886 "conf_parser.y" /* yacc.c:1646  */
6231 >  case 610:
6232 > #line 2814 "conf_parser.y" /* yacc.c:1646  */
6233      {
6234    ConfigGeneral.oper_only_umodes |= UMODE_SKILL;
6235   }
6236 < #line 6281 "conf_parser.c" /* yacc.c:1646  */
6236 > #line 6237 "conf_parser.c" /* yacc.c:1646  */
6237      break;
6238  
6239 <  case 596:
6240 < #line 2889 "conf_parser.y" /* yacc.c:1646  */
6239 >  case 611:
6240 > #line 2817 "conf_parser.y" /* yacc.c:1646  */
6241      {
6242    ConfigGeneral.oper_only_umodes |= UMODE_HIDDEN;
6243   }
6244 < #line 6289 "conf_parser.c" /* yacc.c:1646  */
6244 > #line 6245 "conf_parser.c" /* yacc.c:1646  */
6245      break;
6246  
6247 <  case 597:
6248 < #line 2892 "conf_parser.y" /* yacc.c:1646  */
6247 >  case 612:
6248 > #line 2820 "conf_parser.y" /* yacc.c:1646  */
6249      {
6250    ConfigGeneral.oper_only_umodes |= UMODE_NCHANGE;
6251   }
6252 < #line 6297 "conf_parser.c" /* yacc.c:1646  */
6252 > #line 6253 "conf_parser.c" /* yacc.c:1646  */
6253      break;
6254  
6255 <  case 598:
6256 < #line 2895 "conf_parser.y" /* yacc.c:1646  */
6255 >  case 613:
6256 > #line 2823 "conf_parser.y" /* yacc.c:1646  */
6257      {
6258    ConfigGeneral.oper_only_umodes |= UMODE_REJ;
6259   }
6260 < #line 6305 "conf_parser.c" /* yacc.c:1646  */
6260 > #line 6261 "conf_parser.c" /* yacc.c:1646  */
6261      break;
6262  
6263 <  case 599:
6264 < #line 2898 "conf_parser.y" /* yacc.c:1646  */
6263 >  case 614:
6264 > #line 2826 "conf_parser.y" /* yacc.c:1646  */
6265      {
6266    ConfigGeneral.oper_only_umodes |= UMODE_UNAUTH;
6267   }
6268 < #line 6313 "conf_parser.c" /* yacc.c:1646  */
6268 > #line 6269 "conf_parser.c" /* yacc.c:1646  */
6269      break;
6270  
6271 <  case 600:
6272 < #line 2901 "conf_parser.y" /* yacc.c:1646  */
6271 >  case 615:
6272 > #line 2829 "conf_parser.y" /* yacc.c:1646  */
6273      {
6274    ConfigGeneral.oper_only_umodes |= UMODE_SPY;
6275   }
6276 < #line 6321 "conf_parser.c" /* yacc.c:1646  */
6276 > #line 6277 "conf_parser.c" /* yacc.c:1646  */
6277      break;
6278  
6279 <  case 601:
6280 < #line 2904 "conf_parser.y" /* yacc.c:1646  */
6279 >  case 616:
6280 > #line 2832 "conf_parser.y" /* yacc.c:1646  */
6281      {
6282    ConfigGeneral.oper_only_umodes |= UMODE_EXTERNAL;
6283   }
6284 < #line 6329 "conf_parser.c" /* yacc.c:1646  */
6284 > #line 6285 "conf_parser.c" /* yacc.c:1646  */
6285      break;
6286  
6287 <  case 602:
6288 < #line 2907 "conf_parser.y" /* yacc.c:1646  */
6287 >  case 617:
6288 > #line 2835 "conf_parser.y" /* yacc.c:1646  */
6289      {
6290    ConfigGeneral.oper_only_umodes |= UMODE_SERVNOTICE;
6291   }
6292 < #line 6337 "conf_parser.c" /* yacc.c:1646  */
6292 > #line 6293 "conf_parser.c" /* yacc.c:1646  */
6293      break;
6294  
6295 <  case 603:
6296 < #line 2910 "conf_parser.y" /* yacc.c:1646  */
6295 >  case 618:
6296 > #line 2838 "conf_parser.y" /* yacc.c:1646  */
6297      {
6298    ConfigGeneral.oper_only_umodes |= UMODE_INVISIBLE;
6299   }
6300 < #line 6345 "conf_parser.c" /* yacc.c:1646  */
6300 > #line 6301 "conf_parser.c" /* yacc.c:1646  */
6301      break;
6302  
6303 <  case 604:
6304 < #line 2913 "conf_parser.y" /* yacc.c:1646  */
6303 >  case 619:
6304 > #line 2841 "conf_parser.y" /* yacc.c:1646  */
6305      {
6306    ConfigGeneral.oper_only_umodes |= UMODE_WALLOP;
6307   }
6308 < #line 6353 "conf_parser.c" /* yacc.c:1646  */
6308 > #line 6309 "conf_parser.c" /* yacc.c:1646  */
6309      break;
6310  
6311 <  case 605:
6312 < #line 2916 "conf_parser.y" /* yacc.c:1646  */
6311 >  case 620:
6312 > #line 2844 "conf_parser.y" /* yacc.c:1646  */
6313      {
6314    ConfigGeneral.oper_only_umodes |= UMODE_SOFTCALLERID;
6315   }
6316 < #line 6361 "conf_parser.c" /* yacc.c:1646  */
6316 > #line 6317 "conf_parser.c" /* yacc.c:1646  */
6317      break;
6318  
6319 <  case 606:
6320 < #line 2919 "conf_parser.y" /* yacc.c:1646  */
6319 >  case 621:
6320 > #line 2847 "conf_parser.y" /* yacc.c:1646  */
6321      {
6322    ConfigGeneral.oper_only_umodes |= UMODE_CALLERID;
6323   }
6324 < #line 6369 "conf_parser.c" /* yacc.c:1646  */
6324 > #line 6325 "conf_parser.c" /* yacc.c:1646  */
6325      break;
6326  
6327 <  case 607:
6328 < #line 2922 "conf_parser.y" /* yacc.c:1646  */
6327 >  case 622:
6328 > #line 2850 "conf_parser.y" /* yacc.c:1646  */
6329      {
6330    ConfigGeneral.oper_only_umodes |= UMODE_LOCOPS;
6331   }
6332 < #line 6377 "conf_parser.c" /* yacc.c:1646  */
6332 > #line 6333 "conf_parser.c" /* yacc.c:1646  */
6333      break;
6334  
6335 <  case 608:
6336 < #line 2925 "conf_parser.y" /* yacc.c:1646  */
6335 >  case 623:
6336 > #line 2853 "conf_parser.y" /* yacc.c:1646  */
6337      {
6338    ConfigGeneral.oper_only_umodes |= UMODE_REGONLY;
6339   }
6340 < #line 6385 "conf_parser.c" /* yacc.c:1646  */
6340 > #line 6341 "conf_parser.c" /* yacc.c:1646  */
6341      break;
6342  
6343 <  case 609:
6344 < #line 2928 "conf_parser.y" /* yacc.c:1646  */
6343 >  case 624:
6344 > #line 2856 "conf_parser.y" /* yacc.c:1646  */
6345      {
6346    ConfigGeneral.oper_only_umodes |= UMODE_FARCONNECT;
6347   }
6348 < #line 6393 "conf_parser.c" /* yacc.c:1646  */
6348 > #line 6349 "conf_parser.c" /* yacc.c:1646  */
6349      break;
6350  
6351 <  case 610:
6352 < #line 2933 "conf_parser.y" /* yacc.c:1646  */
6351 >  case 625:
6352 > #line 2861 "conf_parser.y" /* yacc.c:1646  */
6353      {
6354    ConfigGeneral.min_nonwildcard = (yyvsp[-1].number);
6355   }
6356 < #line 6401 "conf_parser.c" /* yacc.c:1646  */
6356 > #line 6357 "conf_parser.c" /* yacc.c:1646  */
6357      break;
6358  
6359 <  case 611:
6360 < #line 2938 "conf_parser.y" /* yacc.c:1646  */
6359 >  case 626:
6360 > #line 2866 "conf_parser.y" /* yacc.c:1646  */
6361      {
6362    ConfigGeneral.min_nonwildcard_simple = (yyvsp[-1].number);
6363   }
6364 < #line 6409 "conf_parser.c" /* yacc.c:1646  */
6364 > #line 6365 "conf_parser.c" /* yacc.c:1646  */
6365      break;
6366  
6367 <  case 612:
6368 < #line 2943 "conf_parser.y" /* yacc.c:1646  */
6367 >  case 627:
6368 > #line 2871 "conf_parser.y" /* yacc.c:1646  */
6369      {
6370    ConfigGeneral.default_floodcount = (yyvsp[-1].number);
6371   }
6372 < #line 6417 "conf_parser.c" /* yacc.c:1646  */
6372 > #line 6373 "conf_parser.c" /* yacc.c:1646  */
6373      break;
6374  
6375 <  case 631:
6376 < #line 2972 "conf_parser.y" /* yacc.c:1646  */
6375 >  case 643:
6376 > #line 2896 "conf_parser.y" /* yacc.c:1646  */
6377      {
6378    ConfigChannel.disable_fake_channels = yylval.number;
6379   }
6380 < #line 6425 "conf_parser.c" /* yacc.c:1646  */
6380 > #line 6381 "conf_parser.c" /* yacc.c:1646  */
6381      break;
6382  
6383 <  case 632:
6384 < #line 2977 "conf_parser.y" /* yacc.c:1646  */
6383 >  case 644:
6384 > #line 2901 "conf_parser.y" /* yacc.c:1646  */
6385      {
6386    ConfigChannel.invite_client_count = (yyvsp[-1].number);
6387   }
6388 < #line 6433 "conf_parser.c" /* yacc.c:1646  */
6388 > #line 6389 "conf_parser.c" /* yacc.c:1646  */
6389      break;
6390  
6391 <  case 633:
6392 < #line 2982 "conf_parser.y" /* yacc.c:1646  */
6391 >  case 645:
6392 > #line 2906 "conf_parser.y" /* yacc.c:1646  */
6393      {
6394    ConfigChannel.invite_client_time = (yyvsp[-1].number);
6395   }
6396 < #line 6441 "conf_parser.c" /* yacc.c:1646  */
6396 > #line 6397 "conf_parser.c" /* yacc.c:1646  */
6397      break;
6398  
6399 <  case 634:
6400 < #line 2987 "conf_parser.y" /* yacc.c:1646  */
6399 >  case 646:
6400 > #line 2911 "conf_parser.y" /* yacc.c:1646  */
6401 >    {
6402 >  ConfigChannel.invite_delay_channel = (yyvsp[-1].number);
6403 > }
6404 > #line 6405 "conf_parser.c" /* yacc.c:1646  */
6405 >    break;
6406 >
6407 >  case 647:
6408 > #line 2916 "conf_parser.y" /* yacc.c:1646  */
6409      {
6410    ConfigChannel.knock_client_count = (yyvsp[-1].number);
6411   }
6412 < #line 6449 "conf_parser.c" /* yacc.c:1646  */
6412 > #line 6413 "conf_parser.c" /* yacc.c:1646  */
6413      break;
6414  
6415 <  case 635:
6416 < #line 2992 "conf_parser.y" /* yacc.c:1646  */
6415 >  case 648:
6416 > #line 2921 "conf_parser.y" /* yacc.c:1646  */
6417      {
6418    ConfigChannel.knock_client_time = (yyvsp[-1].number);
6419   }
6420 < #line 6457 "conf_parser.c" /* yacc.c:1646  */
6420 > #line 6421 "conf_parser.c" /* yacc.c:1646  */
6421      break;
6422  
6423 <  case 636:
6424 < #line 2997 "conf_parser.y" /* yacc.c:1646  */
6423 >  case 649:
6424 > #line 2926 "conf_parser.y" /* yacc.c:1646  */
6425      {
6426    ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6427   }
6428 < #line 6465 "conf_parser.c" /* yacc.c:1646  */
6428 > #line 6429 "conf_parser.c" /* yacc.c:1646  */
6429      break;
6430  
6431 <  case 637:
6432 < #line 3002 "conf_parser.y" /* yacc.c:1646  */
6431 >  case 650:
6432 > #line 2931 "conf_parser.y" /* yacc.c:1646  */
6433      {
6434    ConfigChannel.max_channels = (yyvsp[-1].number);
6435   }
6436 < #line 6473 "conf_parser.c" /* yacc.c:1646  */
6436 > #line 6437 "conf_parser.c" /* yacc.c:1646  */
6437      break;
6438  
6439 <  case 638:
6440 < #line 3007 "conf_parser.y" /* yacc.c:1646  */
6439 >  case 651:
6440 > #line 2936 "conf_parser.y" /* yacc.c:1646  */
6441      {
6442    ConfigChannel.max_bans = (yyvsp[-1].number);
6443   }
6444 < #line 6481 "conf_parser.c" /* yacc.c:1646  */
6444 > #line 6445 "conf_parser.c" /* yacc.c:1646  */
6445      break;
6446  
6447 <  case 639:
6448 < #line 3012 "conf_parser.y" /* yacc.c:1646  */
6447 >  case 652:
6448 > #line 2941 "conf_parser.y" /* yacc.c:1646  */
6449      {
6450 <  ConfigChannel.default_split_user_count = (yyvsp[-1].number);
6450 >  ConfigChannel.default_join_flood_count = yylval.number;
6451   }
6452 < #line 6489 "conf_parser.c" /* yacc.c:1646  */
6452 > #line 6453 "conf_parser.c" /* yacc.c:1646  */
6453      break;
6454  
6455 <  case 640:
6456 < #line 3017 "conf_parser.y" /* yacc.c:1646  */
6455 >  case 653:
6456 > #line 2946 "conf_parser.y" /* yacc.c:1646  */
6457      {
6458 <  ConfigChannel.default_split_server_count = (yyvsp[-1].number);
6458 >  ConfigChannel.default_join_flood_time = (yyvsp[-1].number);
6459   }
6460 < #line 6497 "conf_parser.c" /* yacc.c:1646  */
6460 > #line 6461 "conf_parser.c" /* yacc.c:1646  */
6461      break;
6462  
6463 <  case 641:
6464 < #line 3022 "conf_parser.y" /* yacc.c:1646  */
6463 >  case 667:
6464 > #line 2969 "conf_parser.y" /* yacc.c:1646  */
6465      {
6466 <  ConfigChannel.no_create_on_split = yylval.number;
6466 >  if (conf_parser_ctx.pass == 2)
6467 >    ConfigServerHide.flatten_links = yylval.number;
6468   }
6469 < #line 6505 "conf_parser.c" /* yacc.c:1646  */
6469 > #line 6470 "conf_parser.c" /* yacc.c:1646  */
6470      break;
6471  
6472 <  case 642:
6473 < #line 3027 "conf_parser.y" /* yacc.c:1646  */
6472 >  case 668:
6473 > #line 2975 "conf_parser.y" /* yacc.c:1646  */
6474      {
6475 <  ConfigChannel.no_join_on_split = yylval.number;
6476 < }
6477 < #line 6513 "conf_parser.c" /* yacc.c:1646  */
6513 <    break;
6514 <
6515 <  case 643:
6516 < #line 3032 "conf_parser.y" /* yacc.c:1646  */
6475 >  if (conf_parser_ctx.pass == 2)
6476 >  {
6477 >    if ((yyvsp[-1].number) > 0)
6478      {
6479 <  ConfigChannel.default_join_flood_count = yylval.number;
6480 < }
6481 < #line 6521 "conf_parser.c" /* yacc.c:1646  */
6482 <    break;
6479 >      event_write_links_file.when = (yyvsp[-1].number);
6480 >      event_add(&event_write_links_file, NULL);
6481 >    }
6482 >    else
6483 >     event_delete(&event_write_links_file);
6484  
6485 <  case 644:
6486 < #line 3037 "conf_parser.y" /* yacc.c:1646  */
6525 <    {
6526 <  ConfigChannel.default_join_flood_time = (yyvsp[-1].number);
6485 >    ConfigServerHide.flatten_links_delay = (yyvsp[-1].number);
6486 >  }
6487   }
6488 < #line 6529 "conf_parser.c" /* yacc.c:1646  */
6488 > #line 6489 "conf_parser.c" /* yacc.c:1646  */
6489      break;
6490  
6491 <  case 657:
6492 < #line 3059 "conf_parser.y" /* yacc.c:1646  */
6491 >  case 669:
6492 > #line 2991 "conf_parser.y" /* yacc.c:1646  */
6493      {
6494    if (conf_parser_ctx.pass == 2)
6495 <    ConfigServerHide.flatten_links = yylval.number;
6495 >  {
6496 >    xfree(ConfigServerHide.flatten_links_file);
6497 >    ConfigServerHide.flatten_links_file = xstrdup(yylval.string);
6498 >  }
6499   }
6500 < #line 6538 "conf_parser.c" /* yacc.c:1646  */
6500 > #line 6501 "conf_parser.c" /* yacc.c:1646  */
6501      break;
6502  
6503 <  case 658:
6504 < #line 3065 "conf_parser.y" /* yacc.c:1646  */
6503 >  case 670:
6504 > #line 3000 "conf_parser.y" /* yacc.c:1646  */
6505      {
6506    if (conf_parser_ctx.pass == 2)
6507      ConfigServerHide.disable_remote_commands = yylval.number;
6508   }
6509 < #line 6547 "conf_parser.c" /* yacc.c:1646  */
6509 > #line 6510 "conf_parser.c" /* yacc.c:1646  */
6510      break;
6511  
6512 <  case 659:
6513 < #line 3071 "conf_parser.y" /* yacc.c:1646  */
6512 >  case 671:
6513 > #line 3006 "conf_parser.y" /* yacc.c:1646  */
6514      {
6515    if (conf_parser_ctx.pass == 2)
6516      ConfigServerHide.hide_servers = yylval.number;
6517   }
6518 < #line 6556 "conf_parser.c" /* yacc.c:1646  */
6518 > #line 6519 "conf_parser.c" /* yacc.c:1646  */
6519      break;
6520  
6521 <  case 660:
6522 < #line 3077 "conf_parser.y" /* yacc.c:1646  */
6521 >  case 672:
6522 > #line 3012 "conf_parser.y" /* yacc.c:1646  */
6523      {
6524    if (conf_parser_ctx.pass == 2)
6525      ConfigServerHide.hide_services = yylval.number;
6526   }
6527 < #line 6565 "conf_parser.c" /* yacc.c:1646  */
6527 > #line 6528 "conf_parser.c" /* yacc.c:1646  */
6528      break;
6529  
6530 <  case 661:
6531 < #line 3083 "conf_parser.y" /* yacc.c:1646  */
6530 >  case 673:
6531 > #line 3018 "conf_parser.y" /* yacc.c:1646  */
6532      {
6533    if (conf_parser_ctx.pass == 2)
6534    {
6535 <    MyFree(ConfigServerHide.hidden_name);
6535 >    xfree(ConfigServerHide.hidden_name);
6536      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6537    }
6538   }
6539 < #line 6577 "conf_parser.c" /* yacc.c:1646  */
6539 > #line 6540 "conf_parser.c" /* yacc.c:1646  */
6540      break;
6541  
6542 <  case 662:
6543 < #line 3092 "conf_parser.y" /* yacc.c:1646  */
6581 <    {
6582 <  if (conf_parser_ctx.pass == 2)
6583 <  {
6584 <    if (((yyvsp[-1].number) > 0) && ConfigServerHide.links_disabled == 1)
6585 <    {
6586 <      event_write_links_file.when = (yyvsp[-1].number);
6587 <      event_addish(&event_write_links_file, NULL);
6588 <      ConfigServerHide.links_disabled = 0;
6589 <    }
6590 <
6591 <    ConfigServerHide.links_delay = (yyvsp[-1].number);
6592 <  }
6593 < }
6594 < #line 6595 "conf_parser.c" /* yacc.c:1646  */
6595 <    break;
6596 <
6597 <  case 663:
6598 < #line 3107 "conf_parser.y" /* yacc.c:1646  */
6542 >  case 674:
6543 > #line 3027 "conf_parser.y" /* yacc.c:1646  */
6544      {
6545    if (conf_parser_ctx.pass == 2)
6546      ConfigServerHide.hidden = yylval.number;
6547   }
6548 < #line 6604 "conf_parser.c" /* yacc.c:1646  */
6548 > #line 6549 "conf_parser.c" /* yacc.c:1646  */
6549      break;
6550  
6551 <  case 664:
6552 < #line 3113 "conf_parser.y" /* yacc.c:1646  */
6551 >  case 675:
6552 > #line 3033 "conf_parser.y" /* yacc.c:1646  */
6553      {
6554    if (conf_parser_ctx.pass == 2)
6555      ConfigServerHide.hide_server_ips = yylval.number;
6556   }
6557 < #line 6613 "conf_parser.c" /* yacc.c:1646  */
6557 > #line 6558 "conf_parser.c" /* yacc.c:1646  */
6558      break;
6559  
6560  
6561 < #line 6617 "conf_parser.c" /* yacc.c:1646  */
6561 > #line 6562 "conf_parser.c" /* yacc.c:1646  */
6562        default: break;
6563      }
6564    /* User semantic actions sometimes alter yychar, and that requires

Comparing ircd-hybrid/trunk/src/conf_parser.c (property svn:keywords):
Revision 6162 by michael, Thu Jun 18 10:56:46 2015 UTC vs.
Revision 7668 by michael, Wed Jul 20 17:09:49 2016 UTC

# Line 1 | Line 1
1 < Id Revision
1 > Id

Diff Legend

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