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 1858 by michael, Thu Apr 25 15:00:52 2013 UTC vs.
Revision 2283 by michael, Tue Jun 18 19:13:20 2013 UTC

# Line 89 | Line 89
89   #include "resv.h"
90   #include "numeric.h"
91   #include "s_user.h"
92 + #include "motd.h"
93  
94   #ifdef HAVE_LIBCRYPTO
95   #include <openssl/rsa.h>
# Line 118 | Line 119 | static struct
119      bind,
120      file,
121      ciph,
122 +    cert,
123      rpass,
124      spass,
125      class;
# Line 177 | Line 179 | reset_block_state(void)
179  
180  
181   /* Line 371 of yacc.c  */
182 < #line 181 "conf_parser.c"
182 > #line 183 "conf_parser.c"
183  
184   # ifndef YY_NULL
185   #  if defined __cplusplus && 201103L <= __cplusplus
# Line 230 | Line 232 | extern int yydebug;
232       CLASS = 272,
233       CONNECT = 273,
234       CONNECTFREQ = 274,
235 <     DEFAULT_FLOODCOUNT = 275,
236 <     DEFAULT_SPLIT_SERVER_COUNT = 276,
237 <     DEFAULT_SPLIT_USER_COUNT = 277,
238 <     DENY = 278,
239 <     DESCRIPTION = 279,
240 <     DIE = 280,
241 <     DISABLE_AUTH = 281,
242 <     DISABLE_FAKE_CHANNELS = 282,
243 <     DISABLE_REMOTE_COMMANDS = 283,
244 <     DOTS_IN_IDENT = 284,
245 <     EGDPOOL_PATH = 285,
246 <     EMAIL = 286,
247 <     ENCRYPTED = 287,
248 <     EXCEED_LIMIT = 288,
249 <     EXEMPT = 289,
250 <     FAILED_OPER_NOTICE = 290,
251 <     IRCD_FLAGS = 291,
235 >     CYCLE_ON_HOST_CHANGE = 275,
236 >     DEFAULT_FLOODCOUNT = 276,
237 >     DEFAULT_SPLIT_SERVER_COUNT = 277,
238 >     DEFAULT_SPLIT_USER_COUNT = 278,
239 >     DENY = 279,
240 >     DESCRIPTION = 280,
241 >     DIE = 281,
242 >     DISABLE_AUTH = 282,
243 >     DISABLE_FAKE_CHANNELS = 283,
244 >     DISABLE_REMOTE_COMMANDS = 284,
245 >     DOTS_IN_IDENT = 285,
246 >     EGDPOOL_PATH = 286,
247 >     EMAIL = 287,
248 >     ENCRYPTED = 288,
249 >     EXCEED_LIMIT = 289,
250 >     EXEMPT = 290,
251 >     FAILED_OPER_NOTICE = 291,
252       FLATTEN_LINKS = 292,
253       GECOS = 293,
254       GENERAL = 294,
# Line 254 | Line 256 | extern int yydebug;
256       GLINE_DURATION = 296,
257       GLINE_ENABLE = 297,
258       GLINE_EXEMPT = 298,
259 <     GLINE_REQUEST_DURATION = 299,
260 <     GLINE_MIN_CIDR = 300,
261 <     GLINE_MIN_CIDR6 = 301,
259 >     GLINE_MIN_CIDR = 299,
260 >     GLINE_MIN_CIDR6 = 300,
261 >     GLINE_REQUEST_DURATION = 301,
262       GLOBAL_KILL = 302,
263 <     IRCD_AUTH = 303,
264 <     NEED_IDENT = 304,
265 <     HAVENT_READ_CONF = 305,
266 <     HIDDEN = 306,
267 <     HIDDEN_NAME = 307,
268 <     HIDE_SERVER_IPS = 308,
269 <     HIDE_SERVERS = 309,
270 <     HIDE_SERVICES = 310,
271 <     HIDE_SPOOF_IPS = 311,
272 <     HOST = 312,
273 <     HUB = 313,
274 <     HUB_MASK = 314,
275 <     IGNORE_BOGUS_TS = 315,
276 <     INVISIBLE_ON_CONNECT = 316,
277 <     IP = 317,
278 <     KILL = 318,
279 <     KILL_CHASE_TIME_LIMIT = 319,
280 <     KLINE = 320,
281 <     KLINE_EXEMPT = 321,
282 <     KNOCK_DELAY = 322,
283 <     KNOCK_DELAY_CHANNEL = 323,
284 <     LEAF_MASK = 324,
285 <     LINKS_DELAY = 325,
286 <     LISTEN = 326,
287 <     T_LOG = 327,
288 <     MASK = 328,
289 <     MAX_ACCEPT = 329,
290 <     MAX_BANS = 330,
291 <     MAX_CHANS_PER_OPER = 331,
292 <     MAX_CHANS_PER_USER = 332,
293 <     MAX_GLOBAL = 333,
294 <     MAX_IDENT = 334,
295 <     MAX_LOCAL = 335,
296 <     MAX_NICK_CHANGES = 336,
297 <     MAX_NICK_LENGTH = 337,
298 <     MAX_NICK_TIME = 338,
299 <     MAX_NUMBER = 339,
300 <     MAX_TARGETS = 340,
301 <     MAX_TOPIC_LENGTH = 341,
302 <     MAX_WATCH = 342,
303 <     MIN_NONWILDCARD = 343,
304 <     MIN_NONWILDCARD_SIMPLE = 344,
305 <     MIN_IDLE = 345,
306 <     MAX_IDLE = 346,
307 <     RANDOM_IDLE = 347,
308 <     HIDE_IDLE_FROM_OPERS = 348,
309 <     MODULE = 349,
310 <     MODULES = 350,
311 <     NAME = 351,
312 <     NEED_PASSWORD = 352,
313 <     NETWORK_DESC = 353,
314 <     NETWORK_NAME = 354,
315 <     NICK = 355,
316 <     NICK_CHANGES = 356,
317 <     NO_CREATE_ON_SPLIT = 357,
318 <     NO_JOIN_ON_SPLIT = 358,
319 <     NO_OPER_FLOOD = 359,
320 <     NO_TILDE = 360,
321 <     NUMBER = 361,
322 <     NUMBER_PER_CIDR = 362,
323 <     NUMBER_PER_IP = 363,
324 <     OPERATOR = 364,
325 <     OPERS_BYPASS_CALLERID = 365,
263 >     HAVENT_READ_CONF = 303,
264 >     HIDDEN = 304,
265 >     HIDDEN_NAME = 305,
266 >     HIDE_IDLE_FROM_OPERS = 306,
267 >     HIDE_SERVER_IPS = 307,
268 >     HIDE_SERVERS = 308,
269 >     HIDE_SERVICES = 309,
270 >     HIDE_SPOOF_IPS = 310,
271 >     HOST = 311,
272 >     HUB = 312,
273 >     HUB_MASK = 313,
274 >     IGNORE_BOGUS_TS = 314,
275 >     INVISIBLE_ON_CONNECT = 315,
276 >     IP = 316,
277 >     IRCD_AUTH = 317,
278 >     IRCD_FLAGS = 318,
279 >     IRCD_SID = 319,
280 >     JOIN_FLOOD_COUNT = 320,
281 >     JOIN_FLOOD_TIME = 321,
282 >     KILL = 322,
283 >     KILL_CHASE_TIME_LIMIT = 323,
284 >     KLINE = 324,
285 >     KLINE_EXEMPT = 325,
286 >     KNOCK_DELAY = 326,
287 >     KNOCK_DELAY_CHANNEL = 327,
288 >     LEAF_MASK = 328,
289 >     LINKS_DELAY = 329,
290 >     LISTEN = 330,
291 >     MASK = 331,
292 >     MAX_ACCEPT = 332,
293 >     MAX_BANS = 333,
294 >     MAX_CHANS_PER_OPER = 334,
295 >     MAX_CHANS_PER_USER = 335,
296 >     MAX_GLOBAL = 336,
297 >     MAX_IDENT = 337,
298 >     MAX_IDLE = 338,
299 >     MAX_LOCAL = 339,
300 >     MAX_NICK_CHANGES = 340,
301 >     MAX_NICK_LENGTH = 341,
302 >     MAX_NICK_TIME = 342,
303 >     MAX_NUMBER = 343,
304 >     MAX_TARGETS = 344,
305 >     MAX_TOPIC_LENGTH = 345,
306 >     MAX_WATCH = 346,
307 >     MIN_IDLE = 347,
308 >     MIN_NONWILDCARD = 348,
309 >     MIN_NONWILDCARD_SIMPLE = 349,
310 >     MODULE = 350,
311 >     MODULES = 351,
312 >     MOTD = 352,
313 >     NAME = 353,
314 >     NEED_IDENT = 354,
315 >     NEED_PASSWORD = 355,
316 >     NETWORK_DESC = 356,
317 >     NETWORK_NAME = 357,
318 >     NICK = 358,
319 >     NO_CREATE_ON_SPLIT = 359,
320 >     NO_JOIN_ON_SPLIT = 360,
321 >     NO_OPER_FLOOD = 361,
322 >     NO_TILDE = 362,
323 >     NUMBER = 363,
324 >     NUMBER_PER_CIDR = 364,
325 >     NUMBER_PER_IP = 365,
326       OPER_ONLY_UMODES = 366,
327       OPER_PASS_RESV = 367,
328 <     OPER_SPY_T = 368,
329 <     OPER_UMODES = 369,
330 <     JOIN_FLOOD_COUNT = 370,
331 <     JOIN_FLOOD_TIME = 371,
332 <     PACE_WAIT = 372,
333 <     PACE_WAIT_SIMPLE = 373,
334 <     PASSWORD = 374,
335 <     PATH = 375,
336 <     PING_COOKIE = 376,
337 <     PING_TIME = 377,
338 <     PORT = 378,
339 <     QSTRING = 379,
340 <     QUIET_ON_BAN = 380,
341 <     REASON = 381,
342 <     REDIRPORT = 382,
343 <     REDIRSERV = 383,
344 <     REGEX_T = 384,
345 <     REHASH = 385,
346 <     REMOTE = 386,
347 <     REMOTEBAN = 387,
328 >     OPER_UMODES = 368,
329 >     OPERATOR = 369,
330 >     OPERS_BYPASS_CALLERID = 370,
331 >     PACE_WAIT = 371,
332 >     PACE_WAIT_SIMPLE = 372,
333 >     PASSWORD = 373,
334 >     PATH = 374,
335 >     PING_COOKIE = 375,
336 >     PING_TIME = 376,
337 >     PORT = 377,
338 >     QSTRING = 378,
339 >     RANDOM_IDLE = 379,
340 >     REASON = 380,
341 >     REDIRPORT = 381,
342 >     REDIRSERV = 382,
343 >     REHASH = 383,
344 >     REMOTE = 384,
345 >     REMOTEBAN = 385,
346 >     RESV = 386,
347 >     RESV_EXEMPT = 387,
348       RSA_PRIVATE_KEY_FILE = 388,
349       RSA_PUBLIC_KEY_FILE = 389,
350 <     SSL_CERTIFICATE_FILE = 390,
351 <     SSL_DH_PARAM_FILE = 391,
352 <     T_SSL_CLIENT_METHOD = 392,
353 <     T_SSL_SERVER_METHOD = 393,
354 <     T_SSLV3 = 394,
355 <     T_TLSV1 = 395,
356 <     RESV = 396,
357 <     RESV_EXEMPT = 397,
358 <     SECONDS = 398,
359 <     MINUTES = 399,
360 <     HOURS = 400,
361 <     DAYS = 401,
362 <     WEEKS = 402,
363 <     MONTHS = 403,
364 <     YEARS = 404,
365 <     SENDQ = 405,
366 <     SEND_PASSWORD = 406,
367 <     SERVERHIDE = 407,
368 <     SERVERINFO = 408,
369 <     IRCD_SID = 409,
370 <     TKLINE_EXPIRE_NOTICES = 410,
371 <     T_SHARED = 411,
372 <     T_CLUSTER = 412,
373 <     TYPE = 413,
374 <     SHORT_MOTD = 414,
375 <     SPOOF = 415,
376 <     SPOOF_NOTICE = 416,
377 <     STATS_E_DISABLED = 417,
378 <     STATS_I_OPER_ONLY = 418,
379 <     STATS_K_OPER_ONLY = 419,
380 <     STATS_O_OPER_ONLY = 420,
381 <     STATS_P_OPER_ONLY = 421,
382 <     TBOOL = 422,
383 <     TMASKED = 423,
384 <     TS_MAX_DELTA = 424,
385 <     TS_WARN_DELTA = 425,
386 <     TWODOTS = 426,
387 <     T_ALL = 427,
388 <     T_BOTS = 428,
389 <     T_SOFTCALLERID = 429,
390 <     T_CALLERID = 430,
391 <     T_CCONN = 431,
392 <     T_CCONN_FULL = 432,
393 <     T_SSL_CIPHER_LIST = 433,
394 <     T_DEAF = 434,
395 <     T_DEBUG = 435,
396 <     T_DLINE = 436,
397 <     T_EXTERNAL = 437,
398 <     T_FULL = 438,
399 <     T_INVISIBLE = 439,
400 <     T_IPV4 = 440,
401 <     T_IPV6 = 441,
402 <     T_LOCOPS = 442,
403 <     T_MAX_CLIENTS = 443,
404 <     T_NCHANGE = 444,
405 <     T_NONONREG = 445,
406 <     T_OPERWALL = 446,
407 <     T_RECVQ = 447,
408 <     T_REJ = 448,
409 <     T_SERVER = 449,
410 <     T_SERVNOTICE = 450,
411 <     T_SET = 451,
412 <     T_SKILL = 452,
413 <     T_SPY = 453,
414 <     T_SSL = 454,
415 <     T_UMODES = 455,
416 <     T_UNAUTH = 456,
417 <     T_UNDLINE = 457,
418 <     T_UNLIMITED = 458,
419 <     T_UNRESV = 459,
420 <     T_UNXLINE = 460,
421 <     T_GLOBOPS = 461,
350 >     SECONDS = 390,
351 >     MINUTES = 391,
352 >     HOURS = 392,
353 >     DAYS = 393,
354 >     WEEKS = 394,
355 >     MONTHS = 395,
356 >     YEARS = 396,
357 >     SEND_PASSWORD = 397,
358 >     SENDQ = 398,
359 >     SERVERHIDE = 399,
360 >     SERVERINFO = 400,
361 >     SHORT_MOTD = 401,
362 >     SPOOF = 402,
363 >     SPOOF_NOTICE = 403,
364 >     SQUIT = 404,
365 >     SSL_CERTIFICATE_FILE = 405,
366 >     SSL_CERTIFICATE_FINGERPRINT = 406,
367 >     SSL_CONNECTION_REQUIRED = 407,
368 >     SSL_DH_PARAM_FILE = 408,
369 >     STATS_E_DISABLED = 409,
370 >     STATS_I_OPER_ONLY = 410,
371 >     STATS_K_OPER_ONLY = 411,
372 >     STATS_O_OPER_ONLY = 412,
373 >     STATS_P_OPER_ONLY = 413,
374 >     STATS_U_OPER_ONLY = 414,
375 >     T_ALL = 415,
376 >     T_BOTS = 416,
377 >     T_CALLERID = 417,
378 >     T_CCONN = 418,
379 >     T_CLUSTER = 419,
380 >     T_DEAF = 420,
381 >     T_DEBUG = 421,
382 >     T_DLINE = 422,
383 >     T_EXTERNAL = 423,
384 >     T_FARCONNECT = 424,
385 >     T_FILE = 425,
386 >     T_FULL = 426,
387 >     T_GLOBOPS = 427,
388 >     T_INVISIBLE = 428,
389 >     T_IPV4 = 429,
390 >     T_IPV6 = 430,
391 >     T_LOCOPS = 431,
392 >     T_LOG = 432,
393 >     T_MAX_CLIENTS = 433,
394 >     T_NCHANGE = 434,
395 >     T_NONONREG = 435,
396 >     T_OPERWALL = 436,
397 >     T_RECVQ = 437,
398 >     T_REJ = 438,
399 >     T_RESTART = 439,
400 >     T_SERVER = 440,
401 >     T_SERVICE = 441,
402 >     T_SERVICES_NAME = 442,
403 >     T_SERVNOTICE = 443,
404 >     T_SET = 444,
405 >     T_SHARED = 445,
406 >     T_SIZE = 446,
407 >     T_SKILL = 447,
408 >     T_SOFTCALLERID = 448,
409 >     T_SPY = 449,
410 >     T_SSL = 450,
411 >     T_SSL_CIPHER_LIST = 451,
412 >     T_SSL_CLIENT_METHOD = 452,
413 >     T_SSL_SERVER_METHOD = 453,
414 >     T_SSLV3 = 454,
415 >     T_TLSV1 = 455,
416 >     T_UMODES = 456,
417 >     T_UNAUTH = 457,
418 >     T_UNDLINE = 458,
419 >     T_UNLIMITED = 459,
420 >     T_UNRESV = 460,
421 >     T_UNXLINE = 461,
422       T_WALLOP = 462,
423 <     T_WEBIRC = 463,
424 <     T_RESTART = 464,
425 <     T_SERVICE = 465,
426 <     T_SERVICES_NAME = 466,
427 <     THROTTLE_TIME = 467,
428 <     TRUE_NO_OPER_FLOOD = 468,
429 <     UNKLINE = 469,
430 <     USER = 470,
431 <     USE_EGD = 471,
432 <     USE_LOGGING = 472,
433 <     VHOST = 473,
434 <     VHOST6 = 474,
435 <     XLINE = 475,
436 <     WARN_NO_NLINE = 476,
437 <     T_SIZE = 477,
438 <     T_FILE = 478
423 >     T_WALLOPS = 463,
424 >     T_WEBIRC = 464,
425 >     TBOOL = 465,
426 >     THROTTLE_TIME = 466,
427 >     TKLINE_EXPIRE_NOTICES = 467,
428 >     TMASKED = 468,
429 >     TRUE_NO_OPER_FLOOD = 469,
430 >     TS_MAX_DELTA = 470,
431 >     TS_WARN_DELTA = 471,
432 >     TWODOTS = 472,
433 >     TYPE = 473,
434 >     UNKLINE = 474,
435 >     USE_EGD = 475,
436 >     USE_LOGGING = 476,
437 >     USER = 477,
438 >     VHOST = 478,
439 >     VHOST6 = 479,
440 >     WARN_NO_NLINE = 480,
441 >     XLINE = 481
442     };
443   #endif
444   /* Tokens.  */
# Line 454 | Line 459 | extern int yydebug;
459   #define CLASS 272
460   #define CONNECT 273
461   #define CONNECTFREQ 274
462 < #define DEFAULT_FLOODCOUNT 275
463 < #define DEFAULT_SPLIT_SERVER_COUNT 276
464 < #define DEFAULT_SPLIT_USER_COUNT 277
465 < #define DENY 278
466 < #define DESCRIPTION 279
467 < #define DIE 280
468 < #define DISABLE_AUTH 281
469 < #define DISABLE_FAKE_CHANNELS 282
470 < #define DISABLE_REMOTE_COMMANDS 283
471 < #define DOTS_IN_IDENT 284
472 < #define EGDPOOL_PATH 285
473 < #define EMAIL 286
474 < #define ENCRYPTED 287
475 < #define EXCEED_LIMIT 288
476 < #define EXEMPT 289
477 < #define FAILED_OPER_NOTICE 290
478 < #define IRCD_FLAGS 291
462 > #define CYCLE_ON_HOST_CHANGE 275
463 > #define DEFAULT_FLOODCOUNT 276
464 > #define DEFAULT_SPLIT_SERVER_COUNT 277
465 > #define DEFAULT_SPLIT_USER_COUNT 278
466 > #define DENY 279
467 > #define DESCRIPTION 280
468 > #define DIE 281
469 > #define DISABLE_AUTH 282
470 > #define DISABLE_FAKE_CHANNELS 283
471 > #define DISABLE_REMOTE_COMMANDS 284
472 > #define DOTS_IN_IDENT 285
473 > #define EGDPOOL_PATH 286
474 > #define EMAIL 287
475 > #define ENCRYPTED 288
476 > #define EXCEED_LIMIT 289
477 > #define EXEMPT 290
478 > #define FAILED_OPER_NOTICE 291
479   #define FLATTEN_LINKS 292
480   #define GECOS 293
481   #define GENERAL 294
# Line 478 | Line 483 | extern int yydebug;
483   #define GLINE_DURATION 296
484   #define GLINE_ENABLE 297
485   #define GLINE_EXEMPT 298
486 < #define GLINE_REQUEST_DURATION 299
487 < #define GLINE_MIN_CIDR 300
488 < #define GLINE_MIN_CIDR6 301
486 > #define GLINE_MIN_CIDR 299
487 > #define GLINE_MIN_CIDR6 300
488 > #define GLINE_REQUEST_DURATION 301
489   #define GLOBAL_KILL 302
490 < #define IRCD_AUTH 303
491 < #define NEED_IDENT 304
492 < #define HAVENT_READ_CONF 305
493 < #define HIDDEN 306
494 < #define HIDDEN_NAME 307
495 < #define HIDE_SERVER_IPS 308
496 < #define HIDE_SERVERS 309
497 < #define HIDE_SERVICES 310
498 < #define HIDE_SPOOF_IPS 311
499 < #define HOST 312
500 < #define HUB 313
501 < #define HUB_MASK 314
502 < #define IGNORE_BOGUS_TS 315
503 < #define INVISIBLE_ON_CONNECT 316
504 < #define IP 317
505 < #define KILL 318
506 < #define KILL_CHASE_TIME_LIMIT 319
507 < #define KLINE 320
508 < #define KLINE_EXEMPT 321
509 < #define KNOCK_DELAY 322
510 < #define KNOCK_DELAY_CHANNEL 323
511 < #define LEAF_MASK 324
512 < #define LINKS_DELAY 325
513 < #define LISTEN 326
514 < #define T_LOG 327
515 < #define MASK 328
516 < #define MAX_ACCEPT 329
517 < #define MAX_BANS 330
518 < #define MAX_CHANS_PER_OPER 331
519 < #define MAX_CHANS_PER_USER 332
520 < #define MAX_GLOBAL 333
521 < #define MAX_IDENT 334
522 < #define MAX_LOCAL 335
523 < #define MAX_NICK_CHANGES 336
524 < #define MAX_NICK_LENGTH 337
525 < #define MAX_NICK_TIME 338
526 < #define MAX_NUMBER 339
527 < #define MAX_TARGETS 340
528 < #define MAX_TOPIC_LENGTH 341
529 < #define MAX_WATCH 342
530 < #define MIN_NONWILDCARD 343
531 < #define MIN_NONWILDCARD_SIMPLE 344
532 < #define MIN_IDLE 345
533 < #define MAX_IDLE 346
534 < #define RANDOM_IDLE 347
535 < #define HIDE_IDLE_FROM_OPERS 348
536 < #define MODULE 349
537 < #define MODULES 350
538 < #define NAME 351
539 < #define NEED_PASSWORD 352
540 < #define NETWORK_DESC 353
541 < #define NETWORK_NAME 354
542 < #define NICK 355
543 < #define NICK_CHANGES 356
544 < #define NO_CREATE_ON_SPLIT 357
545 < #define NO_JOIN_ON_SPLIT 358
546 < #define NO_OPER_FLOOD 359
547 < #define NO_TILDE 360
548 < #define NUMBER 361
549 < #define NUMBER_PER_CIDR 362
550 < #define NUMBER_PER_IP 363
551 < #define OPERATOR 364
552 < #define OPERS_BYPASS_CALLERID 365
490 > #define HAVENT_READ_CONF 303
491 > #define HIDDEN 304
492 > #define HIDDEN_NAME 305
493 > #define HIDE_IDLE_FROM_OPERS 306
494 > #define HIDE_SERVER_IPS 307
495 > #define HIDE_SERVERS 308
496 > #define HIDE_SERVICES 309
497 > #define HIDE_SPOOF_IPS 310
498 > #define HOST 311
499 > #define HUB 312
500 > #define HUB_MASK 313
501 > #define IGNORE_BOGUS_TS 314
502 > #define INVISIBLE_ON_CONNECT 315
503 > #define IP 316
504 > #define IRCD_AUTH 317
505 > #define IRCD_FLAGS 318
506 > #define IRCD_SID 319
507 > #define JOIN_FLOOD_COUNT 320
508 > #define JOIN_FLOOD_TIME 321
509 > #define KILL 322
510 > #define KILL_CHASE_TIME_LIMIT 323
511 > #define KLINE 324
512 > #define KLINE_EXEMPT 325
513 > #define KNOCK_DELAY 326
514 > #define KNOCK_DELAY_CHANNEL 327
515 > #define LEAF_MASK 328
516 > #define LINKS_DELAY 329
517 > #define LISTEN 330
518 > #define MASK 331
519 > #define MAX_ACCEPT 332
520 > #define MAX_BANS 333
521 > #define MAX_CHANS_PER_OPER 334
522 > #define MAX_CHANS_PER_USER 335
523 > #define MAX_GLOBAL 336
524 > #define MAX_IDENT 337
525 > #define MAX_IDLE 338
526 > #define MAX_LOCAL 339
527 > #define MAX_NICK_CHANGES 340
528 > #define MAX_NICK_LENGTH 341
529 > #define MAX_NICK_TIME 342
530 > #define MAX_NUMBER 343
531 > #define MAX_TARGETS 344
532 > #define MAX_TOPIC_LENGTH 345
533 > #define MAX_WATCH 346
534 > #define MIN_IDLE 347
535 > #define MIN_NONWILDCARD 348
536 > #define MIN_NONWILDCARD_SIMPLE 349
537 > #define MODULE 350
538 > #define MODULES 351
539 > #define MOTD 352
540 > #define NAME 353
541 > #define NEED_IDENT 354
542 > #define NEED_PASSWORD 355
543 > #define NETWORK_DESC 356
544 > #define NETWORK_NAME 357
545 > #define NICK 358
546 > #define NO_CREATE_ON_SPLIT 359
547 > #define NO_JOIN_ON_SPLIT 360
548 > #define NO_OPER_FLOOD 361
549 > #define NO_TILDE 362
550 > #define NUMBER 363
551 > #define NUMBER_PER_CIDR 364
552 > #define NUMBER_PER_IP 365
553   #define OPER_ONLY_UMODES 366
554   #define OPER_PASS_RESV 367
555 < #define OPER_SPY_T 368
556 < #define OPER_UMODES 369
557 < #define JOIN_FLOOD_COUNT 370
558 < #define JOIN_FLOOD_TIME 371
559 < #define PACE_WAIT 372
560 < #define PACE_WAIT_SIMPLE 373
561 < #define PASSWORD 374
562 < #define PATH 375
563 < #define PING_COOKIE 376
564 < #define PING_TIME 377
565 < #define PORT 378
566 < #define QSTRING 379
567 < #define QUIET_ON_BAN 380
568 < #define REASON 381
569 < #define REDIRPORT 382
570 < #define REDIRSERV 383
571 < #define REGEX_T 384
572 < #define REHASH 385
573 < #define REMOTE 386
574 < #define REMOTEBAN 387
555 > #define OPER_UMODES 368
556 > #define OPERATOR 369
557 > #define OPERS_BYPASS_CALLERID 370
558 > #define PACE_WAIT 371
559 > #define PACE_WAIT_SIMPLE 372
560 > #define PASSWORD 373
561 > #define PATH 374
562 > #define PING_COOKIE 375
563 > #define PING_TIME 376
564 > #define PORT 377
565 > #define QSTRING 378
566 > #define RANDOM_IDLE 379
567 > #define REASON 380
568 > #define REDIRPORT 381
569 > #define REDIRSERV 382
570 > #define REHASH 383
571 > #define REMOTE 384
572 > #define REMOTEBAN 385
573 > #define RESV 386
574 > #define RESV_EXEMPT 387
575   #define RSA_PRIVATE_KEY_FILE 388
576   #define RSA_PUBLIC_KEY_FILE 389
577 < #define SSL_CERTIFICATE_FILE 390
578 < #define SSL_DH_PARAM_FILE 391
579 < #define T_SSL_CLIENT_METHOD 392
580 < #define T_SSL_SERVER_METHOD 393
581 < #define T_SSLV3 394
582 < #define T_TLSV1 395
583 < #define RESV 396
584 < #define RESV_EXEMPT 397
585 < #define SECONDS 398
586 < #define MINUTES 399
587 < #define HOURS 400
588 < #define DAYS 401
589 < #define WEEKS 402
590 < #define MONTHS 403
591 < #define YEARS 404
592 < #define SENDQ 405
593 < #define SEND_PASSWORD 406
594 < #define SERVERHIDE 407
595 < #define SERVERINFO 408
596 < #define IRCD_SID 409
597 < #define TKLINE_EXPIRE_NOTICES 410
598 < #define T_SHARED 411
599 < #define T_CLUSTER 412
600 < #define TYPE 413
601 < #define SHORT_MOTD 414
602 < #define SPOOF 415
603 < #define SPOOF_NOTICE 416
604 < #define STATS_E_DISABLED 417
605 < #define STATS_I_OPER_ONLY 418
606 < #define STATS_K_OPER_ONLY 419
607 < #define STATS_O_OPER_ONLY 420
608 < #define STATS_P_OPER_ONLY 421
609 < #define TBOOL 422
610 < #define TMASKED 423
611 < #define TS_MAX_DELTA 424
612 < #define TS_WARN_DELTA 425
613 < #define TWODOTS 426
614 < #define T_ALL 427
615 < #define T_BOTS 428
616 < #define T_SOFTCALLERID 429
617 < #define T_CALLERID 430
618 < #define T_CCONN 431
619 < #define T_CCONN_FULL 432
620 < #define T_SSL_CIPHER_LIST 433
621 < #define T_DEAF 434
622 < #define T_DEBUG 435
623 < #define T_DLINE 436
624 < #define T_EXTERNAL 437
625 < #define T_FULL 438
626 < #define T_INVISIBLE 439
627 < #define T_IPV4 440
628 < #define T_IPV6 441
629 < #define T_LOCOPS 442
630 < #define T_MAX_CLIENTS 443
631 < #define T_NCHANGE 444
632 < #define T_NONONREG 445
633 < #define T_OPERWALL 446
634 < #define T_RECVQ 447
635 < #define T_REJ 448
636 < #define T_SERVER 449
637 < #define T_SERVNOTICE 450
638 < #define T_SET 451
639 < #define T_SKILL 452
640 < #define T_SPY 453
641 < #define T_SSL 454
642 < #define T_UMODES 455
643 < #define T_UNAUTH 456
644 < #define T_UNDLINE 457
645 < #define T_UNLIMITED 458
646 < #define T_UNRESV 459
647 < #define T_UNXLINE 460
648 < #define T_GLOBOPS 461
577 > #define SECONDS 390
578 > #define MINUTES 391
579 > #define HOURS 392
580 > #define DAYS 393
581 > #define WEEKS 394
582 > #define MONTHS 395
583 > #define YEARS 396
584 > #define SEND_PASSWORD 397
585 > #define SENDQ 398
586 > #define SERVERHIDE 399
587 > #define SERVERINFO 400
588 > #define SHORT_MOTD 401
589 > #define SPOOF 402
590 > #define SPOOF_NOTICE 403
591 > #define SQUIT 404
592 > #define SSL_CERTIFICATE_FILE 405
593 > #define SSL_CERTIFICATE_FINGERPRINT 406
594 > #define SSL_CONNECTION_REQUIRED 407
595 > #define SSL_DH_PARAM_FILE 408
596 > #define STATS_E_DISABLED 409
597 > #define STATS_I_OPER_ONLY 410
598 > #define STATS_K_OPER_ONLY 411
599 > #define STATS_O_OPER_ONLY 412
600 > #define STATS_P_OPER_ONLY 413
601 > #define STATS_U_OPER_ONLY 414
602 > #define T_ALL 415
603 > #define T_BOTS 416
604 > #define T_CALLERID 417
605 > #define T_CCONN 418
606 > #define T_CLUSTER 419
607 > #define T_DEAF 420
608 > #define T_DEBUG 421
609 > #define T_DLINE 422
610 > #define T_EXTERNAL 423
611 > #define T_FARCONNECT 424
612 > #define T_FILE 425
613 > #define T_FULL 426
614 > #define T_GLOBOPS 427
615 > #define T_INVISIBLE 428
616 > #define T_IPV4 429
617 > #define T_IPV6 430
618 > #define T_LOCOPS 431
619 > #define T_LOG 432
620 > #define T_MAX_CLIENTS 433
621 > #define T_NCHANGE 434
622 > #define T_NONONREG 435
623 > #define T_OPERWALL 436
624 > #define T_RECVQ 437
625 > #define T_REJ 438
626 > #define T_RESTART 439
627 > #define T_SERVER 440
628 > #define T_SERVICE 441
629 > #define T_SERVICES_NAME 442
630 > #define T_SERVNOTICE 443
631 > #define T_SET 444
632 > #define T_SHARED 445
633 > #define T_SIZE 446
634 > #define T_SKILL 447
635 > #define T_SOFTCALLERID 448
636 > #define T_SPY 449
637 > #define T_SSL 450
638 > #define T_SSL_CIPHER_LIST 451
639 > #define T_SSL_CLIENT_METHOD 452
640 > #define T_SSL_SERVER_METHOD 453
641 > #define T_SSLV3 454
642 > #define T_TLSV1 455
643 > #define T_UMODES 456
644 > #define T_UNAUTH 457
645 > #define T_UNDLINE 458
646 > #define T_UNLIMITED 459
647 > #define T_UNRESV 460
648 > #define T_UNXLINE 461
649   #define T_WALLOP 462
650 < #define T_WEBIRC 463
651 < #define T_RESTART 464
652 < #define T_SERVICE 465
653 < #define T_SERVICES_NAME 466
654 < #define THROTTLE_TIME 467
655 < #define TRUE_NO_OPER_FLOOD 468
656 < #define UNKLINE 469
657 < #define USER 470
658 < #define USE_EGD 471
659 < #define USE_LOGGING 472
660 < #define VHOST 473
661 < #define VHOST6 474
662 < #define XLINE 475
663 < #define WARN_NO_NLINE 476
664 < #define T_SIZE 477
665 < #define T_FILE 478
650 > #define T_WALLOPS 463
651 > #define T_WEBIRC 464
652 > #define TBOOL 465
653 > #define THROTTLE_TIME 466
654 > #define TKLINE_EXPIRE_NOTICES 467
655 > #define TMASKED 468
656 > #define TRUE_NO_OPER_FLOOD 469
657 > #define TS_MAX_DELTA 470
658 > #define TS_WARN_DELTA 471
659 > #define TWODOTS 472
660 > #define TYPE 473
661 > #define UNKLINE 474
662 > #define USE_EGD 475
663 > #define USE_LOGGING 476
664 > #define USER 477
665 > #define VHOST 478
666 > #define VHOST6 479
667 > #define WARN_NO_NLINE 480
668 > #define XLINE 481
669  
670  
671  
# Line 665 | Line 673 | extern int yydebug;
673   typedef union YYSTYPE
674   {
675   /* Line 387 of yacc.c  */
676 < #line 138 "conf_parser.y"
676 > #line 140 "conf_parser.y"
677  
678    int number;
679    char *string;
680  
681  
682   /* Line 387 of yacc.c  */
683 < #line 676 "conf_parser.c"
683 > #line 684 "conf_parser.c"
684   } YYSTYPE;
685   # define YYSTYPE_IS_TRIVIAL 1
686   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# Line 700 | Line 708 | int yyparse ();
708   /* Copy the second part of user declarations.  */
709  
710   /* Line 390 of yacc.c  */
711 < #line 704 "conf_parser.c"
711 > #line 712 "conf_parser.c"
712  
713   #ifdef short
714   # undef short
# Line 929 | Line 937 | union yyalloc
937   /* YYFINAL -- State number of the termination state.  */
938   #define YYFINAL  2
939   /* YYLAST -- Last index in YYTABLE.  */
940 < #define YYLAST   1293
940 > #define YYLAST   1274
941  
942   /* YYNTOKENS -- Number of terminals.  */
943 < #define YYNTOKENS  229
943 > #define YYNTOKENS  233
944   /* YYNNTS -- Number of nonterminals.  */
945 < #define YYNNTS  289
945 > #define YYNNTS  291
946   /* YYNRULES -- Number of rules.  */
947 < #define YYNRULES  643
947 > #define YYNRULES  654
948   /* YYNRULES -- Number of states.  */
949 < #define YYNSTATES  1256
949 > #define YYNSTATES  1285
950  
951   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
952   #define YYUNDEFTOK  2
953 < #define YYMAXUTOK   478
953 > #define YYMAXUTOK   481
954  
955   #define YYTRANSLATE(YYX)                                                \
956    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 954 | Line 962 | static const yytype_uint8 yytranslate[]
962         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
963         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
964         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
965 <       2,     2,     2,     2,   228,     2,     2,     2,     2,     2,
966 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   224,
967 <       2,   227,     2,     2,     2,     2,     2,     2,     2,     2,
965 >       2,     2,     2,     2,   231,     2,     2,     2,     2,     2,
966 >       2,     2,     2,     2,     2,     2,     2,     2,   232,   227,
967 >       2,   230,     2,     2,     2,     2,     2,     2,     2,     2,
968         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
969         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
970         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
971         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
972         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
973 <       2,     2,     2,   226,     2,   225,     2,     2,     2,     2,
973 >       2,     2,     2,   229,     2,   228,     2,     2,     2,     2,
974         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
975         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
976         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 997 | Line 1005 | static const yytype_uint8 yytranslate[]
1005       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1006       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1007       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1008 <     215,   216,   217,   218,   219,   220,   221,   222,   223
1008 >     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1009 >     225,   226
1010   };
1011  
1012   #if YYDEBUG
# Line 1007 | Line 1016 | static const yytype_uint16 yyprhs[] =
1016   {
1017         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
1018        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
1019 <      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
1020 <      63,    67,    71,    75,    79,    83,    87,    88,    90,    93,
1021 <      97,   101,   105,   111,   114,   116,   118,   120,   123,   128,
1022 <     133,   139,   142,   144,   146,   148,   150,   152,   154,   156,
1019 >      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
1020 >      61,    65,    69,    73,    77,    81,    85,    89,    90,    92,
1021 >      95,    99,   103,   107,   113,   116,   118,   120,   122,   125,
1022 >     130,   135,   141,   144,   146,   148,   150,   152,   154,   156,
1023       158,   160,   162,   164,   166,   168,   170,   172,   174,   176,
1024 <     178,   181,   186,   191,   195,   197,   199,   201,   205,   207,
1025 <     209,   211,   216,   221,   226,   231,   236,   241,   246,   251,
1026 <     256,   261,   266,   271,   276,   281,   286,   292,   295,   297,
1027 <     299,   301,   303,   306,   311,   316,   321,   327,   330,   332,
1028 <     334,   336,   339,   344,   345,   352,   355,   357,   359,   361,
1029 <     363,   366,   371,   376,   381,   382,   388,   392,   394,   396,
1030 <     398,   400,   402,   404,   406,   408,   409,   416,   419,   421,
1031 <     423,   425,   427,   429,   431,   433,   435,   437,   440,   445,
1032 <     450,   455,   460,   465,   470,   471,   477,   481,   483,   485,
1033 <     487,   489,   491,   493,   495,   497,   499,   501,   503,   505,
1034 <     507,   509,   511,   513,   515,   517,   519,   521,   523,   525,
1035 <     526,   532,   536,   538,   540,   542,   544,   546,   548,   550,
1036 <     552,   554,   556,   558,   560,   562,   564,   566,   568,   570,
1037 <     572,   574,   576,   577,   584,   587,   589,   591,   593,   595,
1038 <     597,   599,   601,   603,   605,   607,   609,   611,   613,   615,
1039 <     617,   619,   621,   624,   629,   634,   639,   644,   649,   654,
1040 <     659,   664,   669,   674,   679,   684,   689,   694,   699,   700,
1041 <     706,   710,   712,   714,   716,   717,   724,   725,   731,   735,
1042 <     737,   739,   741,   743,   746,   748,   750,   752,   754,   756,
1043 <     759,   760,   766,   770,   772,   774,   778,   783,   788,   789,
1044 <     796,   799,   801,   803,   805,   807,   809,   811,   813,   815,
1045 <     817,   820,   825,   830,   835,   840,   841,   847,   851,   853,
1046 <     855,   857,   859,   861,   863,   865,   867,   869,   871,   873,
1047 <     878,   883,   888,   889,   896,   899,   901,   903,   905,   907,
1048 <     910,   915,   920,   925,   931,   934,   936,   938,   940,   945,
1049 <     946,   953,   956,   958,   960,   962,   964,   967,   972,   977,
1050 <     978,   984,   988,   990,   992,   994,   996,   998,  1000,  1002,
1051 <    1004,  1006,  1008,  1010,  1011,  1018,  1021,  1023,  1025,  1027,
1052 <    1030,  1035,  1036,  1042,  1046,  1048,  1050,  1052,  1054,  1056,
1053 <    1058,  1060,  1062,  1064,  1066,  1068,  1069,  1076,  1079,  1081,
1054 <    1083,  1085,  1087,  1089,  1091,  1093,  1095,  1097,  1099,  1101,
1055 <    1103,  1105,  1107,  1110,  1115,  1120,  1125,  1130,  1135,  1140,
1056 <    1145,  1150,  1151,  1157,  1161,  1163,  1165,  1167,  1172,  1177,
1057 <    1182,  1187,  1192,  1193,  1200,  1201,  1207,  1211,  1213,  1215,
1058 <    1218,  1220,  1222,  1224,  1226,  1228,  1233,  1238,  1239,  1246,
1059 <    1249,  1251,  1253,  1255,  1257,  1262,  1267,  1273,  1276,  1278,
1060 <    1280,  1282,  1287,  1288,  1295,  1296,  1302,  1306,  1308,  1310,
1061 <    1313,  1315,  1317,  1319,  1321,  1323,  1328,  1333,  1339,  1342,
1062 <    1344,  1346,  1348,  1350,  1352,  1354,  1356,  1358,  1360,  1362,
1063 <    1364,  1366,  1368,  1370,  1372,  1374,  1376,  1378,  1380,  1382,
1064 <    1384,  1386,  1388,  1390,  1392,  1394,  1396,  1398,  1400,  1402,
1065 <    1404,  1406,  1408,  1410,  1412,  1414,  1416,  1418,  1420,  1422,
1066 <    1424,  1426,  1428,  1430,  1432,  1434,  1436,  1438,  1440,  1442,
1067 <    1447,  1452,  1457,  1462,  1467,  1472,  1477,  1482,  1487,  1492,
1068 <    1497,  1502,  1507,  1512,  1517,  1522,  1527,  1532,  1537,  1542,
1069 <    1547,  1552,  1557,  1562,  1567,  1572,  1577,  1582,  1587,  1592,
1070 <    1597,  1602,  1607,  1612,  1617,  1622,  1627,  1632,  1637,  1642,
1071 <    1647,  1652,  1657,  1662,  1667,  1668,  1674,  1678,  1680,  1682,
1072 <    1684,  1686,  1688,  1690,  1692,  1694,  1696,  1698,  1700,  1702,
1073 <    1704,  1706,  1708,  1710,  1712,  1714,  1716,  1718,  1720,  1721,
1074 <    1727,  1731,  1733,  1735,  1737,  1739,  1741,  1743,  1745,  1747,
1075 <    1749,  1751,  1753,  1755,  1757,  1759,  1761,  1763,  1765,  1767,
1076 <    1769,  1771,  1773,  1775,  1780,  1785,  1790,  1796,  1799,  1801,
1077 <    1803,  1805,  1807,  1809,  1811,  1813,  1815,  1817,  1819,  1821,
1078 <    1823,  1825,  1827,  1829,  1834,  1839,  1844,  1849,  1854,  1859,
1079 <    1864,  1869,  1874,  1879,  1884,  1889,  1894,  1900,  1903,  1905,
1080 <    1907,  1909,  1911,  1913,  1915,  1917,  1919,  1921,  1926,  1931,
1081 <    1936,  1941,  1946,  1951
1024 >     178,   180,   183,   188,   193,   197,   199,   201,   203,   207,
1025 >     209,   211,   213,   218,   223,   228,   233,   238,   243,   248,
1026 >     253,   258,   263,   268,   273,   278,   283,   288,   294,   297,
1027 >     299,   301,   303,   305,   308,   313,   318,   323,   324,   331,
1028 >     334,   336,   338,   340,   343,   348,   353,   359,   362,   364,
1029 >     366,   368,   371,   376,   377,   384,   387,   389,   391,   393,
1030 >     395,   398,   403,   408,   413,   414,   420,   424,   426,   428,
1031 >     430,   432,   434,   436,   438,   440,   441,   448,   451,   453,
1032 >     455,   457,   459,   461,   463,   465,   467,   469,   471,   473,
1033 >     476,   481,   486,   491,   496,   501,   506,   511,   516,   517,
1034 >     523,   527,   529,   531,   533,   535,   537,   539,   541,   543,
1035 >     545,   547,   549,   551,   553,   555,   557,   559,   561,   563,
1036 >     565,   567,   569,   571,   572,   578,   582,   584,   588,   590,
1037 >     594,   596,   600,   602,   604,   606,   608,   610,   612,   614,
1038 >     616,   618,   620,   622,   624,   626,   628,   630,   632,   634,
1039 >     636,   637,   644,   647,   649,   651,   653,   655,   657,   659,
1040 >     661,   663,   665,   667,   669,   671,   673,   675,   677,   679,
1041 >     681,   684,   689,   694,   699,   704,   709,   714,   719,   724,
1042 >     729,   734,   739,   744,   749,   754,   759,   760,   766,   770,
1043 >     772,   774,   776,   777,   784,   785,   791,   795,   797,   799,
1044 >     801,   803,   806,   808,   810,   812,   814,   816,   819,   820,
1045 >     826,   830,   832,   834,   838,   843,   848,   849,   856,   859,
1046 >     861,   863,   865,   867,   869,   871,   873,   875,   877,   880,
1047 >     885,   890,   895,   900,   901,   907,   911,   913,   915,   917,
1048 >     919,   921,   923,   925,   927,   929,   931,   933,   938,   943,
1049 >     948,   949,   956,   959,   961,   963,   965,   967,   970,   975,
1050 >     980,   985,   991,   994,   996,   998,  1000,  1005,  1006,  1013,
1051 >    1016,  1018,  1020,  1022,  1024,  1027,  1032,  1037,  1038,  1044,
1052 >    1048,  1050,  1052,  1054,  1056,  1058,  1060,  1062,  1064,  1066,
1053 >    1068,  1070,  1071,  1078,  1081,  1083,  1085,  1087,  1090,  1095,
1054 >    1096,  1102,  1106,  1108,  1110,  1112,  1114,  1116,  1118,  1120,
1055 >    1122,  1124,  1126,  1128,  1129,  1136,  1139,  1141,  1143,  1145,
1056 >    1147,  1149,  1151,  1153,  1155,  1157,  1159,  1161,  1163,  1165,
1057 >    1167,  1169,  1172,  1177,  1182,  1187,  1192,  1197,  1202,  1207,
1058 >    1212,  1217,  1218,  1224,  1228,  1230,  1232,  1234,  1239,  1244,
1059 >    1249,  1254,  1259,  1260,  1267,  1270,  1272,  1274,  1276,  1278,
1060 >    1283,  1288,  1289,  1296,  1299,  1301,  1303,  1305,  1307,  1312,
1061 >    1317,  1323,  1326,  1328,  1330,  1332,  1337,  1338,  1345,  1348,
1062 >    1350,  1352,  1354,  1356,  1361,  1366,  1372,  1375,  1377,  1379,
1063 >    1381,  1383,  1385,  1387,  1389,  1391,  1393,  1395,  1397,  1399,
1064 >    1401,  1403,  1405,  1407,  1409,  1411,  1413,  1415,  1417,  1419,
1065 >    1421,  1423,  1425,  1427,  1429,  1431,  1433,  1435,  1437,  1439,
1066 >    1441,  1443,  1445,  1447,  1449,  1451,  1453,  1455,  1457,  1459,
1067 >    1461,  1463,  1465,  1467,  1469,  1471,  1473,  1475,  1477,  1482,
1068 >    1487,  1492,  1497,  1502,  1507,  1512,  1517,  1522,  1527,  1532,
1069 >    1537,  1542,  1547,  1552,  1557,  1562,  1567,  1572,  1577,  1582,
1070 >    1587,  1592,  1597,  1602,  1607,  1612,  1617,  1622,  1627,  1632,
1071 >    1637,  1642,  1647,  1652,  1657,  1662,  1667,  1672,  1677,  1682,
1072 >    1687,  1692,  1697,  1702,  1707,  1708,  1714,  1718,  1720,  1722,
1073 >    1724,  1726,  1728,  1730,  1732,  1734,  1736,  1738,  1740,  1742,
1074 >    1744,  1746,  1748,  1750,  1752,  1754,  1756,  1758,  1760,  1762,
1075 >    1763,  1769,  1773,  1775,  1777,  1779,  1781,  1783,  1785,  1787,
1076 >    1789,  1791,  1793,  1795,  1797,  1799,  1801,  1803,  1805,  1807,
1077 >    1809,  1811,  1813,  1815,  1817,  1822,  1827,  1832,  1838,  1841,
1078 >    1843,  1845,  1847,  1849,  1851,  1853,  1855,  1857,  1859,  1861,
1079 >    1863,  1865,  1867,  1869,  1874,  1879,  1884,  1889,  1894,  1899,
1080 >    1904,  1909,  1914,  1919,  1924,  1929,  1935,  1938,  1940,  1942,
1081 >    1944,  1946,  1948,  1950,  1952,  1954,  1956,  1958,  1963,  1968,
1082 >    1973,  1978,  1983,  1988,  1993
1083   };
1084  
1085   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1086   static const yytype_int16 yyrhs[] =
1087   {
1088 <     230,     0,    -1,    -1,   230,   231,    -1,   265,    -1,   271,
1089 <      -1,   285,    -1,   492,    -1,   303,    -1,   326,    -1,   340,
1090 <      -1,   241,    -1,   508,    -1,   355,    -1,   362,    -1,   366,
1091 <      -1,   376,    -1,   385,    -1,   405,    -1,   415,    -1,   421,
1092 <      -1,   435,    -1,   425,    -1,   236,    -1,     1,   224,    -1,
1093 <       1,   225,    -1,    -1,   233,    -1,   106,   232,    -1,   106,
1094 <     143,   232,    -1,   106,   144,   232,    -1,   106,   145,   232,
1095 <      -1,   106,   146,   232,    -1,   106,   147,   232,    -1,   106,
1096 <     148,   232,    -1,   106,   149,   232,    -1,    -1,   235,    -1,
1097 <     106,   234,    -1,   106,     9,   234,    -1,   106,    10,   234,
1098 <      -1,   106,    11,   234,    -1,    95,   226,   237,   225,   224,
1099 <      -1,   237,   238,    -1,   238,    -1,   239,    -1,   240,    -1,
1100 <       1,   224,    -1,    94,   227,   124,   224,    -1,   120,   227,
1101 <     124,   224,    -1,   153,   226,   242,   225,   224,    -1,   242,
1102 <     243,    -1,   243,    -1,   254,    -1,   259,    -1,   264,    -1,
1103 <     256,    -1,   257,    -1,   258,    -1,   261,    -1,   262,    -1,
1104 <     263,    -1,   252,    -1,   251,    -1,   260,    -1,   255,    -1,
1105 <     250,    -1,   244,    -1,   245,    -1,   253,    -1,     1,   224,
1106 <      -1,   137,   227,   246,   224,    -1,   138,   227,   248,   224,
1107 <      -1,   246,   228,   247,    -1,   247,    -1,   139,    -1,   140,
1108 <      -1,   248,   228,   249,    -1,   249,    -1,   139,    -1,   140,
1109 <      -1,   135,   227,   124,   224,    -1,   133,   227,   124,   224,
1110 <      -1,   136,   227,   124,   224,    -1,   178,   227,   124,   224,
1111 <      -1,    96,   227,   124,   224,    -1,   154,   227,   124,   224,
1112 <      -1,    24,   227,   124,   224,    -1,    99,   227,   124,   224,
1113 <      -1,    98,   227,   124,   224,    -1,   218,   227,   124,   224,
1114 <      -1,   219,   227,   124,   224,    -1,   188,   227,   106,   224,
1115 <      -1,    82,   227,   106,   224,    -1,    86,   227,   106,   224,
1116 <      -1,    58,   227,   167,   224,    -1,     4,   226,   266,   225,
1117 <     224,    -1,   266,   267,    -1,   267,    -1,   268,    -1,   270,
1118 <      -1,   269,    -1,     1,   224,    -1,    96,   227,   124,   224,
1119 <      -1,    31,   227,   124,   224,    -1,    24,   227,   124,   224,
1120 <      -1,    72,   226,   272,   225,   224,    -1,   272,   273,    -1,
1121 <     273,    -1,   274,    -1,   275,    -1,     1,   224,    -1,   217,
1122 <     227,   167,   224,    -1,    -1,   276,   223,   226,   277,   225,
1123 <     224,    -1,   277,   278,    -1,   278,    -1,   279,    -1,   281,
1124 <      -1,   280,    -1,     1,   224,    -1,    96,   227,   124,   224,
1125 <      -1,   222,   227,   235,   224,    -1,   222,   227,   203,   224,
1126 <      -1,    -1,   158,   282,   227,   283,   224,    -1,   283,   228,
1127 <     284,    -1,   284,    -1,   215,    -1,   109,    -1,    40,    -1,
1128 <     181,    -1,    65,    -1,    63,    -1,   180,    -1,    -1,   109,
1129 <     286,   226,   287,   225,   224,    -1,   287,   288,    -1,   288,
1130 <      -1,   289,    -1,   290,    -1,   291,    -1,   295,    -1,   294,
1131 <      -1,   292,    -1,   293,    -1,   299,    -1,     1,   224,    -1,
1132 <      96,   227,   124,   224,    -1,   215,   227,   124,   224,    -1,
1133 <     119,   227,   124,   224,    -1,    32,   227,   167,   224,    -1,
1134 <     134,   227,   124,   224,    -1,    17,   227,   124,   224,    -1,
1135 <      -1,   200,   296,   227,   297,   224,    -1,   297,   228,   298,
1136 <      -1,   298,    -1,   173,    -1,   176,    -1,   177,    -1,   179,
1137 <      -1,   180,    -1,   183,    -1,    51,    -1,   197,    -1,   189,
1138 <      -1,   193,    -1,   201,    -1,   198,    -1,   182,    -1,   191,
1139 <      -1,   195,    -1,   184,    -1,   207,    -1,   174,    -1,   175,
1140 <      -1,   187,    -1,   190,    -1,    -1,    36,   300,   227,   301,
1141 <     224,    -1,   301,   228,   302,    -1,   302,    -1,    47,    -1,
1142 <     131,    -1,    65,    -1,   214,    -1,   181,    -1,   202,    -1,
1143 <     220,    -1,    40,    -1,    25,    -1,   209,    -1,   130,    -1,
1144 <       4,    -1,   101,    -1,   191,    -1,   206,    -1,   113,    -1,
1145 <     132,    -1,   196,    -1,    94,    -1,    -1,    17,   304,   226,
1146 <     305,   225,   224,    -1,   305,   306,    -1,   306,    -1,   307,
1147 <      -1,   317,    -1,   318,    -1,   308,    -1,   319,    -1,   309,
1148 <      -1,   310,    -1,   311,    -1,   312,    -1,   313,    -1,   314,
1149 <      -1,   315,    -1,   316,    -1,   320,    -1,   321,    -1,   322,
1150 <      -1,     1,   224,    -1,    96,   227,   124,   224,    -1,   122,
1151 <     227,   233,   224,    -1,   108,   227,   106,   224,    -1,    19,
1152 <     227,   233,   224,    -1,    84,   227,   106,   224,    -1,    78,
1153 <     227,   106,   224,    -1,    80,   227,   106,   224,    -1,    79,
1154 <     227,   106,   224,    -1,   150,   227,   235,   224,    -1,   192,
1155 <     227,   235,   224,    -1,    15,   227,   106,   224,    -1,    16,
1156 <     227,   106,   224,    -1,   107,   227,   106,   224,    -1,    90,
1157 <     227,   233,   224,    -1,    91,   227,   233,   224,    -1,    -1,
1158 <      36,   323,   227,   324,   224,    -1,   324,   228,   325,    -1,
1159 <     325,    -1,    92,    -1,    93,    -1,    -1,    71,   327,   226,
1160 <     332,   225,   224,    -1,    -1,    36,   329,   227,   330,   224,
1161 <      -1,   330,   228,   331,    -1,   331,    -1,   199,    -1,    51,
1162 <      -1,   194,    -1,   332,   333,    -1,   333,    -1,   334,    -1,
1163 <     328,    -1,   338,    -1,   339,    -1,     1,   224,    -1,    -1,
1164 <     123,   227,   336,   335,   224,    -1,   336,   228,   337,    -1,
1165 <     337,    -1,   106,    -1,   106,   171,   106,    -1,    62,   227,
1166 <     124,   224,    -1,    57,   227,   124,   224,    -1,    -1,    48,
1167 <     341,   226,   342,   225,   224,    -1,   342,   343,    -1,   343,
1168 <      -1,   344,    -1,   345,    -1,   346,    -1,   348,    -1,   352,
1169 <      -1,   353,    -1,   354,    -1,   347,    -1,     1,   224,    -1,
1170 <     215,   227,   124,   224,    -1,   119,   227,   124,   224,    -1,
1171 <      17,   227,   124,   224,    -1,    32,   227,   167,   224,    -1,
1172 <      -1,    36,   349,   227,   350,   224,    -1,   350,   228,   351,
1173 <      -1,   351,    -1,   161,    -1,    33,    -1,    66,    -1,    49,
1174 <      -1,    13,    -1,   105,    -1,    43,    -1,   142,    -1,   208,
1175 <      -1,    97,    -1,   160,   227,   124,   224,    -1,   128,   227,
1176 <     124,   224,    -1,   127,   227,   106,   224,    -1,    -1,   141,
1177 <     356,   226,   357,   225,   224,    -1,   357,   358,    -1,   358,
1178 <      -1,   359,    -1,   360,    -1,   361,    -1,     1,   224,    -1,
1179 <      73,   227,   124,   224,    -1,   126,   227,   124,   224,    -1,
1180 <      34,   227,   124,   224,    -1,   210,   226,   363,   225,   224,
1181 <      -1,   363,   364,    -1,   364,    -1,   365,    -1,     1,    -1,
1182 <      96,   227,   124,   224,    -1,    -1,   156,   367,   226,   368,
1183 <     225,   224,    -1,   368,   369,    -1,   369,    -1,   370,    -1,
1184 <     371,    -1,   372,    -1,     1,   224,    -1,    96,   227,   124,
1185 <     224,    -1,   215,   227,   124,   224,    -1,    -1,   158,   373,
1186 <     227,   374,   224,    -1,   374,   228,   375,    -1,   375,    -1,
1187 <      65,    -1,   214,    -1,   181,    -1,   202,    -1,   220,    -1,
1188 <     205,    -1,   141,    -1,   204,    -1,   187,    -1,   172,    -1,
1189 <      -1,   157,   377,   226,   378,   225,   224,    -1,   378,   379,
1190 <      -1,   379,    -1,   380,    -1,   381,    -1,     1,   224,    -1,
1191 <      96,   227,   124,   224,    -1,    -1,   158,   382,   227,   383,
1192 <     224,    -1,   383,   228,   384,    -1,   384,    -1,    65,    -1,
1193 <     214,    -1,   181,    -1,   202,    -1,   220,    -1,   205,    -1,
1194 <     141,    -1,   204,    -1,   187,    -1,   172,    -1,    -1,    18,
1195 <     386,   226,   387,   225,   224,    -1,   387,   388,    -1,   388,
1196 <      -1,   389,    -1,   390,    -1,   391,    -1,   392,    -1,   393,
1197 <      -1,   395,    -1,   394,    -1,   404,    -1,   396,    -1,   401,
1198 <      -1,   402,    -1,   403,    -1,   400,    -1,     1,   224,    -1,
1199 <      96,   227,   124,   224,    -1,    57,   227,   124,   224,    -1,
1200 <     218,   227,   124,   224,    -1,   151,   227,   124,   224,    -1,
1201 <       3,   227,   124,   224,    -1,   123,   227,   106,   224,    -1,
1202 <       5,   227,   185,   224,    -1,     5,   227,   186,   224,    -1,
1203 <      -1,    36,   397,   227,   398,   224,    -1,   398,   228,   399,
1204 <      -1,   399,    -1,     8,    -1,   199,    -1,    32,   227,   167,
1205 <     224,    -1,    59,   227,   124,   224,    -1,    69,   227,   124,
1206 <     224,    -1,    17,   227,   124,   224,    -1,   178,   227,   124,
1207 <     224,    -1,    -1,    63,   406,   226,   411,   225,   224,    -1,
1208 <      -1,   158,   408,   227,   409,   224,    -1,   409,   228,   410,
1209 <      -1,   410,    -1,   129,    -1,   411,   412,    -1,   412,    -1,
1210 <     413,    -1,   414,    -1,   407,    -1,     1,    -1,   215,   227,
1211 <     124,   224,    -1,   126,   227,   124,   224,    -1,    -1,    23,
1212 <     416,   226,   417,   225,   224,    -1,   417,   418,    -1,   418,
1213 <      -1,   419,    -1,   420,    -1,     1,    -1,    62,   227,   124,
1214 <     224,    -1,   126,   227,   124,   224,    -1,    34,   226,   422,
1215 <     225,   224,    -1,   422,   423,    -1,   423,    -1,   424,    -1,
1216 <       1,    -1,    62,   227,   124,   224,    -1,    -1,    38,   426,
1217 <     226,   431,   225,   224,    -1,    -1,   158,   428,   227,   429,
1218 <     224,    -1,   429,   228,   430,    -1,   430,    -1,   129,    -1,
1219 <     431,   432,    -1,   432,    -1,   433,    -1,   434,    -1,   427,
1220 <      -1,     1,    -1,    96,   227,   124,   224,    -1,   126,   227,
1221 <     124,   224,    -1,    39,   226,   436,   225,   224,    -1,   436,
1222 <     437,    -1,   437,    -1,   446,    -1,   447,    -1,   449,    -1,
1223 <     450,    -1,   451,    -1,   452,    -1,   453,    -1,   454,    -1,
1224 <     455,    -1,   456,    -1,   445,    -1,   458,    -1,   459,    -1,
1225 <     473,    -1,   461,    -1,   463,    -1,   465,    -1,   464,    -1,
1226 <     468,    -1,   462,    -1,   469,    -1,   470,    -1,   471,    -1,
1227 <     472,    -1,   485,    -1,   474,    -1,   475,    -1,   476,    -1,
1228 <     481,    -1,   466,    -1,   467,    -1,   491,    -1,   489,    -1,
1229 <     490,    -1,   448,    -1,   480,    -1,   457,    -1,   478,    -1,
1230 <     479,    -1,   444,    -1,   439,    -1,   440,    -1,   441,    -1,
1231 <     442,    -1,   443,    -1,   460,    -1,   438,    -1,   477,    -1,
1232 <       1,    -1,    87,   227,   106,   224,    -1,    42,   227,   167,
1233 <     224,    -1,    41,   227,   233,   224,    -1,    44,   227,   233,
1234 <     224,    -1,    45,   227,   106,   224,    -1,    46,   227,   106,
1235 <     224,    -1,   155,   227,   167,   224,    -1,    64,   227,   233,
1236 <     224,    -1,    56,   227,   167,   224,    -1,    60,   227,   167,
1237 <     224,    -1,    28,   227,   167,   224,    -1,    35,   227,   167,
1238 <     224,    -1,     6,   227,   167,   224,    -1,    83,   227,   233,
1239 <     224,    -1,    81,   227,   106,   224,    -1,    74,   227,   106,
1240 <     224,    -1,     7,   227,   233,   224,    -1,   170,   227,   233,
1241 <     224,    -1,   169,   227,   233,   224,    -1,    50,   227,   106,
1242 <     224,    -1,    61,   227,   167,   224,    -1,   221,   227,   167,
1243 <     224,    -1,   162,   227,   167,   224,    -1,   165,   227,   167,
1244 <     224,    -1,   166,   227,   167,   224,    -1,   164,   227,   167,
1245 <     224,    -1,   164,   227,   168,   224,    -1,   163,   227,   167,
1246 <     224,    -1,   163,   227,   168,   224,    -1,   117,   227,   233,
1247 <     224,    -1,    12,   227,   233,   224,    -1,   110,   227,   167,
1248 <     224,    -1,   118,   227,   233,   224,    -1,   159,   227,   167,
1249 <     224,    -1,   104,   227,   167,   224,    -1,   213,   227,   167,
1250 <     224,    -1,   112,   227,   167,   224,    -1,    29,   227,   106,
1251 <     224,    -1,    85,   227,   106,   224,    -1,   216,   227,   167,
1252 <     224,    -1,    30,   227,   124,   224,    -1,   211,   227,   124,
1253 <     224,    -1,   121,   227,   167,   224,    -1,    26,   227,   167,
1254 <     224,    -1,   212,   227,   233,   224,    -1,    -1,   114,   482,
1255 <     227,   483,   224,    -1,   483,   228,   484,    -1,   484,    -1,
1256 <     173,    -1,   176,    -1,   177,    -1,   179,    -1,   180,    -1,
1257 <     183,    -1,    51,    -1,   197,    -1,   189,    -1,   193,    -1,
1258 <     201,    -1,   198,    -1,   182,    -1,   191,    -1,   195,    -1,
1259 <     184,    -1,   207,    -1,   174,    -1,   175,    -1,   187,    -1,
1260 <      -1,   111,   486,   227,   487,   224,    -1,   487,   228,   488,
1261 <      -1,   488,    -1,   173,    -1,   176,    -1,   177,    -1,   179,
1262 <      -1,   180,    -1,   183,    -1,   197,    -1,    51,    -1,   189,
1263 <      -1,   193,    -1,   201,    -1,   198,    -1,   182,    -1,   191,
1264 <      -1,   195,    -1,   184,    -1,   207,    -1,   174,    -1,   175,
1265 <      -1,   187,    -1,   190,    -1,    88,   227,   106,   224,    -1,
1266 <      89,   227,   106,   224,    -1,    20,   227,   106,   224,    -1,
1267 <      14,   226,   493,   225,   224,    -1,   493,   494,    -1,   494,
1268 <      -1,   501,    -1,   496,    -1,   497,    -1,   498,    -1,   499,
1269 <      -1,   500,    -1,   502,    -1,   503,    -1,   504,    -1,   505,
1270 <      -1,   506,    -1,   507,    -1,   495,    -1,     1,    -1,    27,
1271 <     227,   167,   224,    -1,    67,   227,   233,   224,    -1,    68,
1272 <     227,   233,   224,    -1,    77,   227,   106,   224,    -1,    76,
1273 <     227,   106,   224,    -1,   125,   227,   167,   224,    -1,    75,
1274 <     227,   106,   224,    -1,    22,   227,   106,   224,    -1,    21,
1275 <     227,   106,   224,    -1,   102,   227,   167,   224,    -1,   103,
1276 <     227,   167,   224,    -1,   115,   227,   106,   224,    -1,   116,
1277 <     227,   233,   224,    -1,   152,   226,   509,   225,   224,    -1,
1278 <     509,   510,    -1,   510,    -1,   511,    -1,   512,    -1,   513,
1279 <      -1,   515,    -1,   516,    -1,   514,    -1,   517,    -1,     1,
1280 <      -1,    37,   227,   167,   224,    -1,    54,   227,   167,   224,
1281 <      -1,    55,   227,   167,   224,    -1,    52,   227,   124,   224,
1282 <      -1,    70,   227,   233,   224,    -1,    51,   227,   167,   224,
1283 <      -1,    53,   227,   167,   224,    -1
1088 >     234,     0,    -1,    -1,   234,   235,    -1,   269,    -1,   281,
1089 >      -1,   295,    -1,   498,    -1,   315,    -1,   338,    -1,   352,
1090 >      -1,   245,    -1,   513,    -1,   367,    -1,   374,    -1,   378,
1091 >      -1,   388,    -1,   397,    -1,   418,    -1,   424,    -1,   430,
1092 >      -1,   440,    -1,   434,    -1,   240,    -1,   275,    -1,     1,
1093 >     227,    -1,     1,   228,    -1,    -1,   237,    -1,   108,   236,
1094 >      -1,   108,   135,   236,    -1,   108,   136,   236,    -1,   108,
1095 >     137,   236,    -1,   108,   138,   236,    -1,   108,   139,   236,
1096 >      -1,   108,   140,   236,    -1,   108,   141,   236,    -1,    -1,
1097 >     239,    -1,   108,   238,    -1,   108,     9,   238,    -1,   108,
1098 >      10,   238,    -1,   108,    11,   238,    -1,    96,   229,   241,
1099 >     228,   227,    -1,   241,   242,    -1,   242,    -1,   243,    -1,
1100 >     244,    -1,     1,   227,    -1,    95,   230,   123,   227,    -1,
1101 >     119,   230,   123,   227,    -1,   145,   229,   246,   228,   227,
1102 >      -1,   246,   247,    -1,   247,    -1,   258,    -1,   263,    -1,
1103 >     268,    -1,   260,    -1,   261,    -1,   262,    -1,   265,    -1,
1104 >     266,    -1,   267,    -1,   256,    -1,   255,    -1,   264,    -1,
1105 >     259,    -1,   254,    -1,   248,    -1,   249,    -1,   257,    -1,
1106 >       1,   227,    -1,   197,   230,   250,   227,    -1,   198,   230,
1107 >     252,   227,    -1,   250,   231,   251,    -1,   251,    -1,   199,
1108 >      -1,   200,    -1,   252,   231,   253,    -1,   253,    -1,   199,
1109 >      -1,   200,    -1,   150,   230,   123,   227,    -1,   133,   230,
1110 >     123,   227,    -1,   153,   230,   123,   227,    -1,   196,   230,
1111 >     123,   227,    -1,    98,   230,   123,   227,    -1,    64,   230,
1112 >     123,   227,    -1,    25,   230,   123,   227,    -1,   102,   230,
1113 >     123,   227,    -1,   101,   230,   123,   227,    -1,   223,   230,
1114 >     123,   227,    -1,   224,   230,   123,   227,    -1,   178,   230,
1115 >     108,   227,    -1,    86,   230,   108,   227,    -1,    90,   230,
1116 >     108,   227,    -1,    57,   230,   210,   227,    -1,     4,   229,
1117 >     270,   228,   227,    -1,   270,   271,    -1,   271,    -1,   272,
1118 >      -1,   274,    -1,   273,    -1,     1,   227,    -1,    98,   230,
1119 >     123,   227,    -1,    32,   230,   123,   227,    -1,    25,   230,
1120 >     123,   227,    -1,    -1,    97,   276,   229,   277,   228,   227,
1121 >      -1,   277,   278,    -1,   278,    -1,   279,    -1,   280,    -1,
1122 >       1,   227,    -1,    76,   230,   123,   227,    -1,   170,   230,
1123 >     123,   227,    -1,   177,   229,   282,   228,   227,    -1,   282,
1124 >     283,    -1,   283,    -1,   284,    -1,   285,    -1,     1,   227,
1125 >      -1,   221,   230,   210,   227,    -1,    -1,   286,   170,   229,
1126 >     287,   228,   227,    -1,   287,   288,    -1,   288,    -1,   289,
1127 >      -1,   291,    -1,   290,    -1,     1,   227,    -1,    98,   230,
1128 >     123,   227,    -1,   191,   230,   239,   227,    -1,   191,   230,
1129 >     204,   227,    -1,    -1,   218,   292,   230,   293,   227,    -1,
1130 >     293,   231,   294,    -1,   294,    -1,   222,    -1,   114,    -1,
1131 >      40,    -1,   167,    -1,    69,    -1,    67,    -1,   166,    -1,
1132 >      -1,   114,   296,   229,   297,   228,   227,    -1,   297,   298,
1133 >      -1,   298,    -1,   299,    -1,   300,    -1,   301,    -1,   307,
1134 >      -1,   306,    -1,   302,    -1,   303,    -1,   304,    -1,   305,
1135 >      -1,   311,    -1,     1,   227,    -1,    98,   230,   123,   227,
1136 >      -1,   222,   230,   123,   227,    -1,   118,   230,   123,   227,
1137 >      -1,    33,   230,   210,   227,    -1,   134,   230,   123,   227,
1138 >      -1,   151,   230,   123,   227,    -1,   152,   230,   210,   227,
1139 >      -1,    17,   230,   123,   227,    -1,    -1,   201,   308,   230,
1140 >     309,   227,    -1,   309,   231,   310,    -1,   310,    -1,   161,
1141 >      -1,   163,    -1,   165,    -1,   166,    -1,   171,    -1,    49,
1142 >      -1,   192,    -1,   179,    -1,   183,    -1,   202,    -1,   194,
1143 >      -1,   168,    -1,   181,    -1,   188,    -1,   173,    -1,   207,
1144 >      -1,   193,    -1,   162,    -1,   176,    -1,   180,    -1,   169,
1145 >      -1,    -1,    63,   312,   230,   313,   227,    -1,   313,   231,
1146 >     314,    -1,   314,    -1,    67,   232,   129,    -1,    67,    -1,
1147 >      18,   232,   129,    -1,    18,    -1,   149,   232,   129,    -1,
1148 >     149,    -1,    69,    -1,   219,    -1,   167,    -1,   203,    -1,
1149 >     226,    -1,    40,    -1,    26,    -1,   184,    -1,   128,    -1,
1150 >       4,    -1,   181,    -1,   172,    -1,   208,    -1,   176,    -1,
1151 >     130,    -1,   189,    -1,    95,    -1,    -1,    17,   316,   229,
1152 >     317,   228,   227,    -1,   317,   318,    -1,   318,    -1,   319,
1153 >      -1,   329,    -1,   330,    -1,   320,    -1,   331,    -1,   321,
1154 >      -1,   322,    -1,   323,    -1,   324,    -1,   325,    -1,   326,
1155 >      -1,   327,    -1,   328,    -1,   332,    -1,   333,    -1,   334,
1156 >      -1,     1,   227,    -1,    98,   230,   123,   227,    -1,   121,
1157 >     230,   237,   227,    -1,   110,   230,   108,   227,    -1,    19,
1158 >     230,   237,   227,    -1,    88,   230,   108,   227,    -1,    81,
1159 >     230,   108,   227,    -1,    84,   230,   108,   227,    -1,    82,
1160 >     230,   108,   227,    -1,   143,   230,   239,   227,    -1,   182,
1161 >     230,   239,   227,    -1,    15,   230,   108,   227,    -1,    16,
1162 >     230,   108,   227,    -1,   109,   230,   108,   227,    -1,    92,
1163 >     230,   237,   227,    -1,    83,   230,   237,   227,    -1,    -1,
1164 >      63,   335,   230,   336,   227,    -1,   336,   231,   337,    -1,
1165 >     337,    -1,   124,    -1,    51,    -1,    -1,    75,   339,   229,
1166 >     344,   228,   227,    -1,    -1,    63,   341,   230,   342,   227,
1167 >      -1,   342,   231,   343,    -1,   343,    -1,   195,    -1,    49,
1168 >      -1,   185,    -1,   344,   345,    -1,   345,    -1,   346,    -1,
1169 >     340,    -1,   350,    -1,   351,    -1,     1,   227,    -1,    -1,
1170 >     122,   230,   348,   347,   227,    -1,   348,   231,   349,    -1,
1171 >     349,    -1,   108,    -1,   108,   217,   108,    -1,    61,   230,
1172 >     123,   227,    -1,    56,   230,   123,   227,    -1,    -1,    62,
1173 >     353,   229,   354,   228,   227,    -1,   354,   355,    -1,   355,
1174 >      -1,   356,    -1,   357,    -1,   358,    -1,   360,    -1,   364,
1175 >      -1,   365,    -1,   366,    -1,   359,    -1,     1,   227,    -1,
1176 >     222,   230,   123,   227,    -1,   118,   230,   123,   227,    -1,
1177 >      17,   230,   123,   227,    -1,    33,   230,   210,   227,    -1,
1178 >      -1,    63,   361,   230,   362,   227,    -1,   362,   231,   363,
1179 >      -1,   363,    -1,   148,    -1,    34,    -1,    70,    -1,    99,
1180 >      -1,    13,    -1,   107,    -1,    43,    -1,   132,    -1,   209,
1181 >      -1,   100,    -1,   147,   230,   123,   227,    -1,   127,   230,
1182 >     123,   227,    -1,   126,   230,   108,   227,    -1,    -1,   131,
1183 >     368,   229,   369,   228,   227,    -1,   369,   370,    -1,   370,
1184 >      -1,   371,    -1,   372,    -1,   373,    -1,     1,   227,    -1,
1185 >      76,   230,   123,   227,    -1,   125,   230,   123,   227,    -1,
1186 >      35,   230,   123,   227,    -1,   186,   229,   375,   228,   227,
1187 >      -1,   375,   376,    -1,   376,    -1,   377,    -1,     1,    -1,
1188 >      98,   230,   123,   227,    -1,    -1,   190,   379,   229,   380,
1189 >     228,   227,    -1,   380,   381,    -1,   381,    -1,   382,    -1,
1190 >     383,    -1,   384,    -1,     1,   227,    -1,    98,   230,   123,
1191 >     227,    -1,   222,   230,   123,   227,    -1,    -1,   218,   385,
1192 >     230,   386,   227,    -1,   386,   231,   387,    -1,   387,    -1,
1193 >      69,    -1,   219,    -1,   167,    -1,   203,    -1,   226,    -1,
1194 >     206,    -1,   131,    -1,   205,    -1,   176,    -1,   160,    -1,
1195 >      -1,   164,   389,   229,   390,   228,   227,    -1,   390,   391,
1196 >      -1,   391,    -1,   392,    -1,   393,    -1,     1,   227,    -1,
1197 >      98,   230,   123,   227,    -1,    -1,   218,   394,   230,   395,
1198 >     227,    -1,   395,   231,   396,    -1,   396,    -1,    69,    -1,
1199 >     219,    -1,   167,    -1,   203,    -1,   226,    -1,   206,    -1,
1200 >     131,    -1,   205,    -1,   176,    -1,   160,    -1,    -1,    18,
1201 >     398,   229,   399,   228,   227,    -1,   399,   400,    -1,   400,
1202 >      -1,   401,    -1,   402,    -1,   403,    -1,   404,    -1,   405,
1203 >      -1,   406,    -1,   408,    -1,   407,    -1,   417,    -1,   409,
1204 >      -1,   414,    -1,   415,    -1,   416,    -1,   413,    -1,     1,
1205 >     227,    -1,    98,   230,   123,   227,    -1,    56,   230,   123,
1206 >     227,    -1,   223,   230,   123,   227,    -1,   142,   230,   123,
1207 >     227,    -1,     3,   230,   123,   227,    -1,   151,   230,   123,
1208 >     227,    -1,   122,   230,   108,   227,    -1,     5,   230,   174,
1209 >     227,    -1,     5,   230,   175,   227,    -1,    -1,    63,   410,
1210 >     230,   411,   227,    -1,   411,   231,   412,    -1,   412,    -1,
1211 >       8,    -1,   195,    -1,    33,   230,   210,   227,    -1,    58,
1212 >     230,   123,   227,    -1,    73,   230,   123,   227,    -1,    17,
1213 >     230,   123,   227,    -1,   196,   230,   123,   227,    -1,    -1,
1214 >      67,   419,   229,   420,   228,   227,    -1,   420,   421,    -1,
1215 >     421,    -1,   422,    -1,   423,    -1,     1,    -1,   222,   230,
1216 >     123,   227,    -1,   125,   230,   123,   227,    -1,    -1,    24,
1217 >     425,   229,   426,   228,   227,    -1,   426,   427,    -1,   427,
1218 >      -1,   428,    -1,   429,    -1,     1,    -1,    61,   230,   123,
1219 >     227,    -1,   125,   230,   123,   227,    -1,    35,   229,   431,
1220 >     228,   227,    -1,   431,   432,    -1,   432,    -1,   433,    -1,
1221 >       1,    -1,    61,   230,   123,   227,    -1,    -1,    38,   435,
1222 >     229,   436,   228,   227,    -1,   436,   437,    -1,   437,    -1,
1223 >     438,    -1,   439,    -1,     1,    -1,    98,   230,   123,   227,
1224 >      -1,   125,   230,   123,   227,    -1,    39,   229,   441,   228,
1225 >     227,    -1,   441,   442,    -1,   442,    -1,   452,    -1,   453,
1226 >      -1,   454,    -1,   455,    -1,   456,    -1,   457,    -1,   458,
1227 >      -1,   459,    -1,   460,    -1,   461,    -1,   451,    -1,   463,
1228 >      -1,   464,    -1,   479,    -1,   466,    -1,   469,    -1,   471,
1229 >      -1,   470,    -1,   474,    -1,   467,    -1,   468,    -1,   475,
1230 >      -1,   476,    -1,   477,    -1,   478,    -1,   491,    -1,   480,
1231 >      -1,   481,    -1,   482,    -1,   487,    -1,   472,    -1,   473,
1232 >      -1,   497,    -1,   495,    -1,   496,    -1,   486,    -1,   462,
1233 >      -1,   484,    -1,   485,    -1,   450,    -1,   445,    -1,   446,
1234 >      -1,   447,    -1,   448,    -1,   449,    -1,   465,    -1,   443,
1235 >      -1,   483,    -1,   444,    -1,     1,    -1,    91,   230,   108,
1236 >     227,    -1,    20,   230,   210,   227,    -1,    42,   230,   210,
1237 >     227,    -1,    41,   230,   237,   227,    -1,    46,   230,   237,
1238 >     227,    -1,    44,   230,   108,   227,    -1,    45,   230,   108,
1239 >     227,    -1,   212,   230,   210,   227,    -1,    68,   230,   237,
1240 >     227,    -1,    55,   230,   210,   227,    -1,    59,   230,   210,
1241 >     227,    -1,    36,   230,   210,   227,    -1,     6,   230,   210,
1242 >     227,    -1,    87,   230,   237,   227,    -1,    85,   230,   108,
1243 >     227,    -1,    77,   230,   108,   227,    -1,     7,   230,   237,
1244 >     227,    -1,   216,   230,   237,   227,    -1,   215,   230,   237,
1245 >     227,    -1,    48,   230,   108,   227,    -1,    60,   230,   210,
1246 >     227,    -1,   225,   230,   210,   227,    -1,   154,   230,   210,
1247 >     227,    -1,   157,   230,   210,   227,    -1,   158,   230,   210,
1248 >     227,    -1,   159,   230,   210,   227,    -1,   156,   230,   210,
1249 >     227,    -1,   156,   230,   213,   227,    -1,   155,   230,   210,
1250 >     227,    -1,   155,   230,   213,   227,    -1,   116,   230,   237,
1251 >     227,    -1,    12,   230,   237,   227,    -1,   115,   230,   210,
1252 >     227,    -1,   117,   230,   237,   227,    -1,   146,   230,   210,
1253 >     227,    -1,   106,   230,   210,   227,    -1,   214,   230,   210,
1254 >     227,    -1,   112,   230,   210,   227,    -1,    30,   230,   108,
1255 >     227,    -1,    89,   230,   108,   227,    -1,   220,   230,   210,
1256 >     227,    -1,    31,   230,   123,   227,    -1,   187,   230,   123,
1257 >     227,    -1,   120,   230,   210,   227,    -1,    27,   230,   210,
1258 >     227,    -1,   211,   230,   237,   227,    -1,    -1,   113,   488,
1259 >     230,   489,   227,    -1,   489,   231,   490,    -1,   490,    -1,
1260 >     161,    -1,   163,    -1,   165,    -1,   166,    -1,   171,    -1,
1261 >      49,    -1,   192,    -1,   179,    -1,   183,    -1,   202,    -1,
1262 >     194,    -1,   168,    -1,   181,    -1,   188,    -1,   173,    -1,
1263 >     207,    -1,   193,    -1,   162,    -1,   176,    -1,   180,    -1,
1264 >     169,    -1,    -1,   111,   492,   230,   493,   227,    -1,   493,
1265 >     231,   494,    -1,   494,    -1,   161,    -1,   163,    -1,   165,
1266 >      -1,   166,    -1,   171,    -1,   192,    -1,    49,    -1,   179,
1267 >      -1,   183,    -1,   202,    -1,   194,    -1,   168,    -1,   181,
1268 >      -1,   188,    -1,   173,    -1,   207,    -1,   193,    -1,   162,
1269 >      -1,   176,    -1,   180,    -1,   169,    -1,    93,   230,   108,
1270 >     227,    -1,    94,   230,   108,   227,    -1,    21,   230,   108,
1271 >     227,    -1,    14,   229,   499,   228,   227,    -1,   499,   500,
1272 >      -1,   500,    -1,   506,    -1,   502,    -1,   503,    -1,   504,
1273 >      -1,   505,    -1,   507,    -1,   508,    -1,   509,    -1,   510,
1274 >      -1,   511,    -1,   512,    -1,   501,    -1,     1,    -1,    28,
1275 >     230,   210,   227,    -1,    71,   230,   237,   227,    -1,    72,
1276 >     230,   237,   227,    -1,    80,   230,   108,   227,    -1,    79,
1277 >     230,   108,   227,    -1,    78,   230,   108,   227,    -1,    23,
1278 >     230,   108,   227,    -1,    22,   230,   108,   227,    -1,   104,
1279 >     230,   210,   227,    -1,   105,   230,   210,   227,    -1,    65,
1280 >     230,   108,   227,    -1,    66,   230,   237,   227,    -1,   144,
1281 >     229,   514,   228,   227,    -1,   514,   515,    -1,   515,    -1,
1282 >     516,    -1,   517,    -1,   518,    -1,   519,    -1,   521,    -1,
1283 >     522,    -1,   520,    -1,   523,    -1,     1,    -1,    37,   230,
1284 >     210,   227,    -1,    29,   230,   210,   227,    -1,    53,   230,
1285 >     210,   227,    -1,    54,   230,   210,   227,    -1,    50,   230,
1286 >     123,   227,    -1,    74,   230,   237,   227,    -1,    49,   230,
1287 >     210,   227,    -1,    52,   230,   210,   227,    -1
1288   };
1289  
1290   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1291   static const yytype_uint16 yyrline[] =
1292   {
1293 <       0,   365,   365,   366,   369,   370,   371,   372,   373,   374,
1294 <     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1295 <     385,   386,   387,   388,   389,   390,   394,   394,   395,   399,
1296 <     403,   407,   411,   415,   419,   423,   429,   429,   430,   431,
1297 <     432,   433,   440,   443,   443,   444,   444,   444,   446,   452,
1298 <     459,   461,   461,   462,   462,   463,   463,   464,   464,   465,
1299 <     465,   466,   466,   467,   467,   468,   468,   469,   469,   470,
1300 <     471,   474,   475,   477,   477,   478,   484,   492,   492,   493,
1301 <     499,   507,   549,   608,   636,   644,   659,   674,   683,   697,
1302 <     706,   734,   764,   789,   811,   833,   842,   844,   844,   845,
1303 <     845,   846,   846,   848,   857,   866,   878,   879,   879,   881,
1304 <     881,   882,   884,   891,   891,   904,   905,   907,   907,   908,
1305 <     908,   910,   918,   921,   927,   926,   932,   932,   933,   937,
1306 <     941,   945,   949,   953,   957,   968,   967,  1044,  1044,  1045,
1307 <    1045,  1045,  1046,  1046,  1046,  1047,  1047,  1047,  1049,  1055,
1308 <    1061,  1067,  1078,  1084,  1091,  1090,  1096,  1096,  1097,  1101,
1309 <    1105,  1109,  1113,  1117,  1121,  1125,  1129,  1133,  1137,  1141,
1310 <    1145,  1149,  1153,  1157,  1161,  1165,  1169,  1173,  1177,  1184,
1311 <    1183,  1189,  1189,  1190,  1194,  1198,  1202,  1206,  1210,  1214,
1312 <    1218,  1222,  1226,  1230,  1234,  1238,  1242,  1246,  1250,  1254,
1313 <    1258,  1262,  1273,  1272,  1333,  1333,  1334,  1335,  1335,  1336,
1314 <    1337,  1338,  1339,  1340,  1341,  1342,  1343,  1344,  1344,  1345,
1315 <    1346,  1347,  1348,  1350,  1356,  1362,  1368,  1374,  1380,  1386,
1316 <    1392,  1398,  1404,  1411,  1417,  1423,  1429,  1438,  1448,  1447,
1317 <    1453,  1453,  1454,  1458,  1469,  1468,  1475,  1474,  1479,  1479,
1318 <    1480,  1484,  1488,  1494,  1494,  1495,  1495,  1495,  1495,  1495,
1319 <    1497,  1497,  1499,  1499,  1501,  1515,  1535,  1541,  1551,  1550,
1320 <    1592,  1592,  1593,  1593,  1593,  1593,  1594,  1594,  1594,  1595,
1321 <    1595,  1597,  1603,  1609,  1615,  1627,  1626,  1632,  1632,  1633,
1322 <    1637,  1641,  1645,  1649,  1653,  1657,  1661,  1665,  1669,  1675,
1323 <    1689,  1698,  1712,  1711,  1726,  1726,  1727,  1727,  1727,  1727,
1324 <    1729,  1735,  1741,  1751,  1753,  1753,  1754,  1754,  1756,  1772,
1325 <    1771,  1796,  1796,  1797,  1797,  1797,  1797,  1799,  1805,  1825,
1326 <    1824,  1830,  1830,  1831,  1835,  1839,  1843,  1847,  1851,  1855,
1327 <    1859,  1863,  1867,  1877,  1876,  1897,  1897,  1898,  1898,  1898,
1328 <    1900,  1907,  1906,  1912,  1912,  1913,  1917,  1921,  1925,  1929,
1329 <    1933,  1937,  1941,  1945,  1949,  1959,  1958,  2024,  2024,  2025,
1330 <    2025,  2025,  2026,  2026,  2027,  2027,  2027,  2028,  2028,  2028,
1331 <    2029,  2029,  2030,  2032,  2038,  2044,  2050,  2063,  2076,  2082,
1332 <    2086,  2095,  2094,  2099,  2099,  2100,  2104,  2110,  2121,  2127,
1333 <    2133,  2139,  2155,  2154,  2217,  2216,  2222,  2222,  2223,  2229,
1334 <    2229,  2230,  2230,  2230,  2230,  2232,  2252,  2262,  2261,  2288,
1335 <    2288,  2289,  2289,  2289,  2291,  2297,  2306,  2308,  2308,  2309,
1336 <    2309,  2311,  2329,  2328,  2374,  2373,  2379,  2379,  2380,  2386,
1337 <    2386,  2387,  2387,  2387,  2387,  2389,  2395,  2404,  2407,  2407,
1338 <    2408,  2408,  2409,  2409,  2410,  2410,  2411,  2411,  2412,  2412,
1339 <    2413,  2414,  2415,  2415,  2416,  2416,  2417,  2417,  2418,  2418,
1340 <    2419,  2419,  2420,  2420,  2421,  2421,  2422,  2422,  2423,  2423,
1341 <    2424,  2424,  2425,  2425,  2426,  2427,  2427,  2428,  2429,  2430,
1342 <    2430,  2431,  2431,  2432,  2433,  2434,  2435,  2435,  2436,  2439,
1343 <    2444,  2450,  2456,  2462,  2467,  2472,  2477,  2482,  2487,  2492,
1344 <    2497,  2502,  2507,  2512,  2517,  2522,  2527,  2532,  2538,  2549,
1345 <    2554,  2559,  2564,  2569,  2574,  2577,  2582,  2585,  2590,  2595,
1346 <    2600,  2605,  2610,  2615,  2620,  2625,  2630,  2635,  2640,  2645,
1347 <    2654,  2663,  2668,  2673,  2679,  2678,  2683,  2683,  2684,  2687,
1348 <    2690,  2693,  2696,  2699,  2702,  2705,  2708,  2711,  2714,  2717,
1349 <    2720,  2723,  2726,  2729,  2732,  2735,  2738,  2741,  2747,  2746,
1350 <    2751,  2751,  2752,  2755,  2758,  2761,  2764,  2767,  2770,  2773,
1351 <    2776,  2779,  2782,  2785,  2788,  2791,  2794,  2797,  2800,  2803,
1352 <    2806,  2809,  2812,  2817,  2822,  2827,  2836,  2839,  2839,  2840,
1353 <    2841,  2841,  2842,  2842,  2843,  2843,  2844,  2845,  2846,  2847,
1354 <    2847,  2848,  2848,  2850,  2855,  2860,  2865,  2870,  2875,  2880,
1355 <    2885,  2890,  2895,  2900,  2905,  2910,  2918,  2921,  2921,  2922,
1356 <    2922,  2923,  2924,  2925,  2925,  2926,  2927,  2929,  2935,  2941,
1357 <    2947,  2956,  2970,  2976
1293 >       0,   370,   370,   371,   374,   375,   376,   377,   378,   379,
1294 >     380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
1295 >     390,   391,   392,   393,   394,   395,   396,   400,   400,   401,
1296 >     405,   409,   413,   417,   421,   425,   429,   435,   435,   436,
1297 >     437,   438,   439,   446,   449,   449,   450,   450,   450,   452,
1298 >     458,   465,   467,   467,   468,   468,   469,   469,   470,   470,
1299 >     471,   471,   472,   472,   473,   473,   474,   474,   475,   475,
1300 >     476,   477,   480,   481,   483,   483,   484,   490,   498,   498,
1301 >     499,   505,   513,   555,   614,   642,   650,   665,   680,   689,
1302 >     703,   712,   740,   770,   795,   817,   839,   848,   850,   850,
1303 >     851,   851,   852,   852,   854,   863,   872,   885,   884,   902,
1304 >     902,   903,   903,   903,   905,   911,   920,   921,   921,   923,
1305 >     923,   924,   926,   933,   933,   946,   947,   949,   949,   950,
1306 >     950,   952,   960,   963,   969,   968,   974,   974,   975,   979,
1307 >     983,   987,   991,   995,   999,  1010,  1009,  1089,  1089,  1090,
1308 >    1090,  1090,  1091,  1091,  1091,  1092,  1092,  1093,  1094,  1094,
1309 >    1096,  1102,  1108,  1114,  1125,  1131,  1137,  1148,  1155,  1154,
1310 >    1160,  1160,  1161,  1165,  1169,  1173,  1177,  1181,  1185,  1189,
1311 >    1193,  1197,  1201,  1205,  1209,  1213,  1217,  1221,  1225,  1229,
1312 >    1233,  1237,  1241,  1248,  1247,  1253,  1253,  1254,  1258,  1262,
1313 >    1266,  1270,  1274,  1278,  1282,  1286,  1290,  1294,  1298,  1302,
1314 >    1306,  1310,  1314,  1318,  1322,  1326,  1330,  1334,  1338,  1342,
1315 >    1353,  1352,  1413,  1413,  1414,  1415,  1415,  1416,  1417,  1418,
1316 >    1419,  1420,  1421,  1422,  1423,  1424,  1424,  1425,  1426,  1427,
1317 >    1428,  1430,  1436,  1442,  1448,  1454,  1460,  1466,  1472,  1478,
1318 >    1484,  1491,  1497,  1503,  1509,  1518,  1528,  1527,  1533,  1533,
1319 >    1534,  1538,  1549,  1548,  1555,  1554,  1559,  1559,  1560,  1564,
1320 >    1568,  1574,  1574,  1575,  1575,  1575,  1575,  1575,  1577,  1577,
1321 >    1579,  1579,  1581,  1595,  1615,  1621,  1631,  1630,  1672,  1672,
1322 >    1673,  1673,  1673,  1673,  1674,  1674,  1674,  1675,  1675,  1677,
1323 >    1683,  1689,  1695,  1707,  1706,  1712,  1712,  1713,  1717,  1721,
1324 >    1725,  1729,  1733,  1737,  1741,  1745,  1749,  1755,  1769,  1778,
1325 >    1792,  1791,  1806,  1806,  1807,  1807,  1807,  1807,  1809,  1815,
1326 >    1821,  1831,  1833,  1833,  1834,  1834,  1836,  1852,  1851,  1876,
1327 >    1876,  1877,  1877,  1877,  1877,  1879,  1885,  1905,  1904,  1910,
1328 >    1910,  1911,  1915,  1919,  1923,  1927,  1931,  1935,  1939,  1943,
1329 >    1947,  1957,  1956,  1977,  1977,  1978,  1978,  1978,  1980,  1987,
1330 >    1986,  1992,  1992,  1993,  1997,  2001,  2005,  2009,  2013,  2017,
1331 >    2021,  2025,  2029,  2039,  2038,  2109,  2109,  2110,  2110,  2110,
1332 >    2111,  2111,  2112,  2113,  2113,  2113,  2114,  2114,  2114,  2115,
1333 >    2115,  2116,  2118,  2124,  2130,  2136,  2149,  2162,  2168,  2174,
1334 >    2178,  2187,  2186,  2191,  2191,  2192,  2196,  2202,  2213,  2219,
1335 >    2225,  2231,  2247,  2246,  2272,  2272,  2273,  2273,  2273,  2275,
1336 >    2295,  2305,  2304,  2331,  2331,  2332,  2332,  2332,  2334,  2340,
1337 >    2349,  2351,  2351,  2352,  2352,  2354,  2372,  2371,  2394,  2394,
1338 >    2395,  2395,  2395,  2397,  2403,  2412,  2415,  2415,  2416,  2416,
1339 >    2417,  2417,  2418,  2418,  2419,  2419,  2420,  2420,  2421,  2422,
1340 >    2423,  2423,  2424,  2424,  2425,  2425,  2426,  2426,  2427,  2428,
1341 >    2428,  2429,  2429,  2430,  2430,  2431,  2431,  2432,  2432,  2433,
1342 >    2433,  2434,  2434,  2435,  2435,  2436,  2437,  2438,  2438,  2439,
1343 >    2439,  2440,  2441,  2442,  2443,  2443,  2444,  2445,  2448,  2453,
1344 >    2459,  2465,  2471,  2477,  2482,  2487,  2492,  2497,  2502,  2507,
1345 >    2512,  2517,  2522,  2527,  2532,  2537,  2542,  2548,  2559,  2564,
1346 >    2569,  2574,  2579,  2584,  2589,  2592,  2597,  2600,  2605,  2610,
1347 >    2615,  2620,  2625,  2630,  2635,  2640,  2645,  2650,  2655,  2660,
1348 >    2669,  2678,  2683,  2688,  2694,  2693,  2698,  2698,  2699,  2702,
1349 >    2705,  2708,  2711,  2714,  2717,  2720,  2723,  2726,  2729,  2732,
1350 >    2735,  2738,  2741,  2744,  2747,  2750,  2753,  2756,  2759,  2765,
1351 >    2764,  2769,  2769,  2770,  2773,  2776,  2779,  2782,  2785,  2788,
1352 >    2791,  2794,  2797,  2800,  2803,  2806,  2809,  2812,  2815,  2818,
1353 >    2821,  2824,  2827,  2830,  2835,  2840,  2845,  2854,  2857,  2857,
1354 >    2858,  2859,  2859,  2860,  2860,  2861,  2862,  2863,  2864,  2865,
1355 >    2865,  2866,  2866,  2868,  2873,  2878,  2883,  2888,  2893,  2898,
1356 >    2903,  2908,  2913,  2918,  2923,  2931,  2934,  2934,  2935,  2935,
1357 >    2936,  2937,  2938,  2939,  2939,  2940,  2941,  2943,  2949,  2955,
1358 >    2961,  2967,  2976,  2990,  2996
1359   };
1360   #endif
1361  
# Line 1353 | Line 1368 | static const char *const yytname[] =
1368    "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1369    "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1370    "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1371 <  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1372 <  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1373 <  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1374 <  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1375 <  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1376 <  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1377 <  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1378 <  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1379 <  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES",
1380 <  "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS",
1381 <  "INVISIBLE_ON_CONNECT", "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE",
1382 <  "KLINE_EXEMPT", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1383 <  "LINKS_DELAY", "LISTEN", "T_LOG", "MASK", "MAX_ACCEPT", "MAX_BANS",
1384 <  "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT",
1385 <  "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH", "MAX_NICK_TIME",
1386 <  "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH", "MAX_WATCH",
1387 <  "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MIN_IDLE", "MAX_IDLE",
1388 <  "RANDOM_IDLE", "HIDE_IDLE_FROM_OPERS", "MODULE", "MODULES", "NAME",
1389 <  "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1371 >  "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT",
1372 >  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1373 >  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1374 >  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "EGDPOOL_PATH", "EMAIL",
1375 >  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1376 >  "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", "GLINE_DURATION",
1377 >  "GLINE_ENABLE", "GLINE_EXEMPT", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1378 >  "GLINE_REQUEST_DURATION", "GLOBAL_KILL", "HAVENT_READ_CONF", "HIDDEN",
1379 >  "HIDDEN_NAME", "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS", "HIDE_SERVERS",
1380 >  "HIDE_SERVICES", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1381 >  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "IRCD_AUTH",
1382 >  "IRCD_FLAGS", "IRCD_SID", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "KILL",
1383 >  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KNOCK_DELAY",
1384 >  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "MASK",
1385 >  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER",
1386 >  "MAX_GLOBAL", "MAX_IDENT", "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES",
1387 >  "MAX_NICK_LENGTH", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1388 >  "MAX_TOPIC_LENGTH", "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD",
1389 >  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "MOTD", "NAME",
1390 >  "NEED_IDENT", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK",
1391    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1392 <  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR",
1393 <  "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1378 <  "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1392 >  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES",
1393 >  "OPER_PASS_RESV", "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID",
1394    "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1395 <  "PING_TIME", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT",
1396 <  "REDIRSERV", "REGEX_T", "REHASH", "REMOTE", "REMOTEBAN",
1397 <  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE",
1398 <  "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1399 <  "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1400 <  "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SENDQ", "SEND_PASSWORD",
1401 <  "SERVERHIDE", "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1402 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1403 <  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1404 <  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1405 <  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1406 <  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1407 <  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1408 <  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1409 <  "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1410 <  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1411 <  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1412 <  "T_GLOBOPS", "T_WALLOP", "T_WEBIRC", "T_RESTART", "T_SERVICE",
1413 <  "T_SERVICES_NAME", "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE",
1414 <  "USER", "USE_EGD", "USE_LOGGING", "VHOST", "VHOST6", "XLINE",
1415 <  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1395 >  "PING_TIME", "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT",
1396 >  "REDIRSERV", "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1397 >  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES",
1398 >  "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1399 >  "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1400 >  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_CERTIFICATE_FINGERPRINT",
1401 >  "SSL_CONNECTION_REQUIRED", "SSL_DH_PARAM_FILE", "STATS_E_DISABLED",
1402 >  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1403 >  "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS",
1404 >  "T_CALLERID", "T_CCONN", "T_CLUSTER", "T_DEAF", "T_DEBUG", "T_DLINE",
1405 >  "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS",
1406 >  "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_MAX_CLIENTS",
1407 >  "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_RESTART",
1408 >  "T_SERVER", "T_SERVICE", "T_SERVICES_NAME", "T_SERVNOTICE", "T_SET",
1409 >  "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1410 >  "T_SSL_CIPHER_LIST", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1411 >  "T_SSLV3", "T_TLSV1", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED",
1412 >  "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS", "T_WEBIRC", "TBOOL",
1413 >  "THROTTLE_TIME", "TKLINE_EXPIRE_NOTICES", "TMASKED",
1414 >  "TRUE_NO_OPER_FLOOD", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "TYPE",
1415 >  "UNKLINE", "USE_EGD", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1416 >  "WARN_NO_NLINE", "XLINE", "';'", "'}'", "'{'", "'='", "','", "':'",
1417    "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1418    "sizespec", "modules_entry", "modules_items", "modules_item",
1419    "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
# Line 1412 | Line 1428 | static const char *const yytname[] =
1428    "serverinfo_max_clients", "serverinfo_max_nick_length",
1429    "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1430    "admin_items", "admin_item", "admin_name", "admin_email",
1431 <  "admin_description", "logging_entry", "logging_items", "logging_item",
1432 <  "logging_use_logging", "logging_file_entry", "$@1", "logging_file_items",
1433 <  "logging_file_item", "logging_file_name", "logging_file_size",
1434 <  "logging_file_type", "$@2", "logging_file_type_items",
1435 <  "logging_file_type_item", "oper_entry", "$@3", "oper_items", "oper_item",
1436 <  "oper_name", "oper_user", "oper_password", "oper_encrypted",
1437 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@4",
1438 <  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@5",
1439 <  "oper_flags_items", "oper_flags_item", "class_entry", "$@6",
1440 <  "class_items", "class_item", "class_name", "class_ping_time",
1441 <  "class_number_per_ip", "class_connectfreq", "class_max_number",
1442 <  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1443 <  "class_recvq", "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1431 >  "admin_description", "motd_entry", "$@1", "motd_items", "motd_item",
1432 >  "motd_mask", "motd_file", "logging_entry", "logging_items",
1433 >  "logging_item", "logging_use_logging", "logging_file_entry", "$@2",
1434 >  "logging_file_items", "logging_file_item", "logging_file_name",
1435 >  "logging_file_size", "logging_file_type", "$@3",
1436 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@4",
1437 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1438 >  "oper_encrypted", "oper_rsa_public_key_file",
1439 >  "oper_ssl_certificate_fingerprint", "oper_ssl_connection_required",
1440 >  "oper_class", "oper_umodes", "$@5", "oper_umodes_items",
1441 >  "oper_umodes_item", "oper_flags", "$@6", "oper_flags_items",
1442 >  "oper_flags_item", "class_entry", "$@7", "class_items", "class_item",
1443 >  "class_name", "class_ping_time", "class_number_per_ip",
1444 >  "class_connectfreq", "class_max_number", "class_max_global",
1445 >  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1446 >  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1447    "class_number_per_cidr", "class_min_idle", "class_max_idle",
1448 <  "class_flags", "$@7", "class_flags_items", "class_flags_item",
1449 <  "listen_entry", "$@8", "listen_flags", "$@9", "listen_flags_items",
1448 >  "class_flags", "$@8", "class_flags_items", "class_flags_item",
1449 >  "listen_entry", "$@9", "listen_flags", "$@10", "listen_flags_items",
1450    "listen_flags_item", "listen_items", "listen_item", "listen_port",
1451 <  "$@10", "port_items", "port_item", "listen_address", "listen_host",
1452 <  "auth_entry", "$@11", "auth_items", "auth_item", "auth_user",
1453 <  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@12",
1451 >  "$@11", "port_items", "port_item", "listen_address", "listen_host",
1452 >  "auth_entry", "$@12", "auth_items", "auth_item", "auth_user",
1453 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@13",
1454    "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1455 <  "auth_redir_port", "resv_entry", "$@13", "resv_items", "resv_item",
1455 >  "auth_redir_port", "resv_entry", "$@14", "resv_items", "resv_item",
1456    "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1457 <  "service_items", "service_item", "service_name", "shared_entry", "$@14",
1457 >  "service_items", "service_item", "service_name", "shared_entry", "$@15",
1458    "shared_items", "shared_item", "shared_name", "shared_user",
1459 <  "shared_type", "$@15", "shared_types", "shared_type_item",
1460 <  "cluster_entry", "$@16", "cluster_items", "cluster_item", "cluster_name",
1461 <  "cluster_type", "$@17", "cluster_types", "cluster_type_item",
1462 <  "connect_entry", "$@18", "connect_items", "connect_item", "connect_name",
1459 >  "shared_type", "$@16", "shared_types", "shared_type_item",
1460 >  "cluster_entry", "$@17", "cluster_items", "cluster_item", "cluster_name",
1461 >  "cluster_type", "$@18", "cluster_types", "cluster_type_item",
1462 >  "connect_entry", "$@19", "connect_items", "connect_item", "connect_name",
1463    "connect_host", "connect_vhost", "connect_send_password",
1464 <  "connect_accept_password", "connect_port", "connect_aftype",
1465 <  "connect_flags", "$@19", "connect_flags_items", "connect_flags_item",
1466 <  "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1467 <  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@20",
1468 <  "kill_type", "$@21", "kill_type_items", "kill_type_item", "kill_items",
1464 >  "connect_accept_password", "connect_ssl_certificate_fingerprint",
1465 >  "connect_port", "connect_aftype", "connect_flags", "$@20",
1466 >  "connect_flags_items", "connect_flags_item", "connect_encrypted",
1467 >  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1468 >  "connect_ssl_cipher_list", "kill_entry", "$@21", "kill_items",
1469    "kill_item", "kill_user", "kill_reason", "deny_entry", "$@22",
1470    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1471    "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@23",
1453  "gecos_flags", "$@24", "gecos_flags_items", "gecos_flags_item",
1472    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1473    "general_entry", "general_items", "general_item", "general_max_watch",
1474 <  "general_gline_enable", "general_gline_duration",
1475 <  "general_gline_request_duration", "general_gline_min_cidr",
1476 <  "general_gline_min_cidr6", "general_tkline_expire_notices",
1477 <  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1478 <  "general_ignore_bogus_ts", "general_disable_remote_commands",
1474 >  "general_cycle_on_host_change", "general_gline_enable",
1475 >  "general_gline_duration", "general_gline_request_duration",
1476 >  "general_gline_min_cidr", "general_gline_min_cidr6",
1477 >  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1478 >  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1479    "general_failed_oper_notice", "general_anti_nick_flood",
1480    "general_max_nick_time", "general_max_nick_changes",
1481    "general_max_accept", "general_anti_spam_exit_message_time",
# Line 1465 | Line 1483 | static const char *const yytname[] =
1483    "general_havent_read_conf", "general_invisible_on_connect",
1484    "general_warn_no_nline", "general_stats_e_disabled",
1485    "general_stats_o_oper_only", "general_stats_P_oper_only",
1486 <  "general_stats_k_oper_only", "general_stats_i_oper_only",
1487 <  "general_pace_wait", "general_caller_id_wait",
1488 <  "general_opers_bypass_callerid", "general_pace_wait_simple",
1489 <  "general_short_motd", "general_no_oper_flood",
1490 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1491 <  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1492 <  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1493 <  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1494 <  "$@25", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1495 <  "$@26", "umode_items", "umode_item", "general_min_nonwildcard",
1496 <  "general_min_nonwildcard_simple", "general_default_floodcount",
1497 <  "channel_entry", "channel_items", "channel_item",
1498 <  "channel_disable_fake_channels", "channel_knock_delay",
1486 >  "general_stats_u_oper_only", "general_stats_k_oper_only",
1487 >  "general_stats_i_oper_only", "general_pace_wait",
1488 >  "general_caller_id_wait", "general_opers_bypass_callerid",
1489 >  "general_pace_wait_simple", "general_short_motd",
1490 >  "general_no_oper_flood", "general_true_no_oper_flood",
1491 >  "general_oper_pass_resv", "general_dots_in_ident", "general_max_targets",
1492 >  "general_use_egd", "general_egdpool_path", "general_services_name",
1493 >  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1494 >  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1495 >  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1496 >  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1497 >  "general_default_floodcount", "channel_entry", "channel_items",
1498 >  "channel_item", "channel_disable_fake_channels", "channel_knock_delay",
1499    "channel_knock_delay_channel", "channel_max_chans_per_user",
1500 <  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1500 >  "channel_max_chans_per_oper", "channel_max_bans",
1501    "channel_default_split_user_count", "channel_default_split_server_count",
1502    "channel_no_create_on_split", "channel_no_join_on_split",
1503    "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1504    "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1505 <  "serverhide_hide_servers", "serverhide_hide_services",
1506 <  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1505 >  "serverhide_disable_remote_commands", "serverhide_hide_servers",
1506 >  "serverhide_hide_services", "serverhide_hidden_name",
1507 >  "serverhide_links_delay", "serverhide_hidden",
1508    "serverhide_hide_server_ips", YY_NULL
1509   };
1510   #endif
# Line 1517 | Line 1536 | static const yytype_uint16 yytoknum[] =
1536       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1537       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1538       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1539 <     475,   476,   477,   478,    59,   125,   123,    61,    44
1539 >     475,   476,   477,   478,   479,   480,   481,    59,   125,   123,
1540 >      61,    44,    58
1541   };
1542   # endif
1543  
1544   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1545   static const yytype_uint16 yyr1[] =
1546   {
1547 <       0,   229,   230,   230,   231,   231,   231,   231,   231,   231,
1548 <     231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
1549 <     231,   231,   231,   231,   231,   231,   232,   232,   233,   233,
1550 <     233,   233,   233,   233,   233,   233,   234,   234,   235,   235,
1551 <     235,   235,   236,   237,   237,   238,   238,   238,   239,   240,
1552 <     241,   242,   242,   243,   243,   243,   243,   243,   243,   243,
1553 <     243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
1554 <     243,   244,   245,   246,   246,   247,   247,   248,   248,   249,
1555 <     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1556 <     259,   260,   261,   262,   263,   264,   265,   266,   266,   267,
1557 <     267,   267,   267,   268,   269,   270,   271,   272,   272,   273,
1558 <     273,   273,   274,   276,   275,   277,   277,   278,   278,   278,
1559 <     278,   279,   280,   280,   282,   281,   283,   283,   284,   284,
1560 <     284,   284,   284,   284,   284,   286,   285,   287,   287,   288,
1561 <     288,   288,   288,   288,   288,   288,   288,   288,   289,   290,
1542 <     291,   292,   293,   294,   296,   295,   297,   297,   298,   298,
1547 >       0,   233,   234,   234,   235,   235,   235,   235,   235,   235,
1548 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
1549 >     235,   235,   235,   235,   235,   235,   235,   236,   236,   237,
1550 >     237,   237,   237,   237,   237,   237,   237,   238,   238,   239,
1551 >     239,   239,   239,   240,   241,   241,   242,   242,   242,   243,
1552 >     244,   245,   246,   246,   247,   247,   247,   247,   247,   247,
1553 >     247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
1554 >     247,   247,   248,   249,   250,   250,   251,   251,   252,   252,
1555 >     253,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1556 >     262,   263,   264,   265,   266,   267,   268,   269,   270,   270,
1557 >     271,   271,   271,   271,   272,   273,   274,   276,   275,   277,
1558 >     277,   278,   278,   278,   279,   280,   281,   282,   282,   283,
1559 >     283,   283,   284,   286,   285,   287,   287,   288,   288,   288,
1560 >     288,   289,   290,   290,   292,   291,   293,   293,   294,   294,
1561 >     294,   294,   294,   294,   294,   296,   295,   297,   297,   298,
1562       298,   298,   298,   298,   298,   298,   298,   298,   298,   298,
1563 <     298,   298,   298,   298,   298,   298,   298,   298,   298,   300,
1564 <     299,   301,   301,   302,   302,   302,   302,   302,   302,   302,
1565 <     302,   302,   302,   302,   302,   302,   302,   302,   302,   302,
1566 <     302,   302,   304,   303,   305,   305,   306,   306,   306,   306,
1567 <     306,   306,   306,   306,   306,   306,   306,   306,   306,   306,
1568 <     306,   306,   306,   307,   308,   309,   310,   311,   312,   313,
1569 <     314,   315,   316,   317,   318,   319,   320,   321,   323,   322,
1570 <     324,   324,   325,   325,   327,   326,   329,   328,   330,   330,
1571 <     331,   331,   331,   332,   332,   333,   333,   333,   333,   333,
1572 <     335,   334,   336,   336,   337,   337,   338,   339,   341,   340,
1573 <     342,   342,   343,   343,   343,   343,   343,   343,   343,   343,
1574 <     343,   344,   345,   346,   347,   349,   348,   350,   350,   351,
1575 <     351,   351,   351,   351,   351,   351,   351,   351,   351,   352,
1576 <     353,   354,   356,   355,   357,   357,   358,   358,   358,   358,
1577 <     359,   360,   361,   362,   363,   363,   364,   364,   365,   367,
1578 <     366,   368,   368,   369,   369,   369,   369,   370,   371,   373,
1579 <     372,   374,   374,   375,   375,   375,   375,   375,   375,   375,
1580 <     375,   375,   375,   377,   376,   378,   378,   379,   379,   379,
1581 <     380,   382,   381,   383,   383,   384,   384,   384,   384,   384,
1582 <     384,   384,   384,   384,   384,   386,   385,   387,   387,   388,
1583 <     388,   388,   388,   388,   388,   388,   388,   388,   388,   388,
1584 <     388,   388,   388,   389,   390,   391,   392,   393,   394,   395,
1585 <     395,   397,   396,   398,   398,   399,   399,   400,   401,   402,
1586 <     403,   404,   406,   405,   408,   407,   409,   409,   410,   411,
1587 <     411,   412,   412,   412,   412,   413,   414,   416,   415,   417,
1588 <     417,   418,   418,   418,   419,   420,   421,   422,   422,   423,
1589 <     423,   424,   426,   425,   428,   427,   429,   429,   430,   431,
1590 <     431,   432,   432,   432,   432,   433,   434,   435,   436,   436,
1591 <     437,   437,   437,   437,   437,   437,   437,   437,   437,   437,
1592 <     437,   437,   437,   437,   437,   437,   437,   437,   437,   437,
1593 <     437,   437,   437,   437,   437,   437,   437,   437,   437,   437,
1594 <     437,   437,   437,   437,   437,   437,   437,   437,   437,   437,
1595 <     437,   437,   437,   437,   437,   437,   437,   437,   437,   438,
1596 <     439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
1597 <     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
1598 <     459,   460,   461,   462,   463,   463,   464,   464,   465,   466,
1599 <     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
1600 <     477,   478,   479,   480,   482,   481,   483,   483,   484,   484,
1601 <     484,   484,   484,   484,   484,   484,   484,   484,   484,   484,
1602 <     484,   484,   484,   484,   484,   484,   484,   484,   486,   485,
1603 <     487,   487,   488,   488,   488,   488,   488,   488,   488,   488,
1604 <     488,   488,   488,   488,   488,   488,   488,   488,   488,   488,
1605 <     488,   488,   488,   489,   490,   491,   492,   493,   493,   494,
1563 >     299,   300,   301,   302,   303,   304,   305,   306,   308,   307,
1564 >     309,   309,   310,   310,   310,   310,   310,   310,   310,   310,
1565 >     310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
1566 >     310,   310,   310,   312,   311,   313,   313,   314,   314,   314,
1567 >     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
1568 >     314,   314,   314,   314,   314,   314,   314,   314,   314,   314,
1569 >     316,   315,   317,   317,   318,   318,   318,   318,   318,   318,
1570 >     318,   318,   318,   318,   318,   318,   318,   318,   318,   318,
1571 >     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
1572 >     328,   329,   330,   331,   332,   333,   335,   334,   336,   336,
1573 >     337,   337,   339,   338,   341,   340,   342,   342,   343,   343,
1574 >     343,   344,   344,   345,   345,   345,   345,   345,   347,   346,
1575 >     348,   348,   349,   349,   350,   351,   353,   352,   354,   354,
1576 >     355,   355,   355,   355,   355,   355,   355,   355,   355,   356,
1577 >     357,   358,   359,   361,   360,   362,   362,   363,   363,   363,
1578 >     363,   363,   363,   363,   363,   363,   363,   364,   365,   366,
1579 >     368,   367,   369,   369,   370,   370,   370,   370,   371,   372,
1580 >     373,   374,   375,   375,   376,   376,   377,   379,   378,   380,
1581 >     380,   381,   381,   381,   381,   382,   383,   385,   384,   386,
1582 >     386,   387,   387,   387,   387,   387,   387,   387,   387,   387,
1583 >     387,   389,   388,   390,   390,   391,   391,   391,   392,   394,
1584 >     393,   395,   395,   396,   396,   396,   396,   396,   396,   396,
1585 >     396,   396,   396,   398,   397,   399,   399,   400,   400,   400,
1586 >     400,   400,   400,   400,   400,   400,   400,   400,   400,   400,
1587 >     400,   400,   401,   402,   403,   404,   405,   406,   407,   408,
1588 >     408,   410,   409,   411,   411,   412,   412,   413,   414,   415,
1589 >     416,   417,   419,   418,   420,   420,   421,   421,   421,   422,
1590 >     423,   425,   424,   426,   426,   427,   427,   427,   428,   429,
1591 >     430,   431,   431,   432,   432,   433,   435,   434,   436,   436,
1592 >     437,   437,   437,   438,   439,   440,   441,   441,   442,   442,
1593 >     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
1594 >     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
1595 >     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
1596 >     442,   442,   442,   442,   442,   442,   442,   442,   442,   442,
1597 >     442,   442,   442,   442,   442,   442,   442,   442,   443,   444,
1598 >     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1599 >     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1600 >     465,   466,   467,   468,   469,   469,   470,   470,   471,   472,
1601 >     473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
1602 >     483,   484,   485,   486,   488,   487,   489,   489,   490,   490,
1603 >     490,   490,   490,   490,   490,   490,   490,   490,   490,   490,
1604 >     490,   490,   490,   490,   490,   490,   490,   490,   490,   492,
1605 >     491,   493,   493,   494,   494,   494,   494,   494,   494,   494,
1606       494,   494,   494,   494,   494,   494,   494,   494,   494,   494,
1607 <     494,   494,   494,   495,   496,   497,   498,   499,   500,   501,
1608 <     502,   503,   504,   505,   506,   507,   508,   509,   509,   510,
1609 <     510,   510,   510,   510,   510,   510,   510,   511,   512,   513,
1610 <     514,   515,   516,   517
1607 >     494,   494,   494,   494,   495,   496,   497,   498,   499,   499,
1608 >     500,   500,   500,   500,   500,   500,   500,   500,   500,   500,
1609 >     500,   500,   500,   501,   502,   503,   504,   505,   506,   507,
1610 >     508,   509,   510,   511,   512,   513,   514,   514,   515,   515,
1611 >     515,   515,   515,   515,   515,   515,   515,   516,   517,   518,
1612 >     519,   520,   521,   522,   523
1613   };
1614  
1615   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1596 | Line 1617 | static const yytype_uint8 yyr2[] =
1617   {
1618         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1619         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1620 <       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1621 <       3,     3,     3,     3,     3,     3,     0,     1,     2,     3,
1622 <       3,     3,     5,     2,     1,     1,     1,     2,     4,     4,
1623 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1620 >       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1621 >       3,     3,     3,     3,     3,     3,     3,     0,     1,     2,
1622 >       3,     3,     3,     5,     2,     1,     1,     1,     2,     4,
1623 >       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1624         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1625 <       2,     4,     4,     3,     1,     1,     1,     3,     1,     1,
1626 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1627 <       4,     4,     4,     4,     4,     4,     5,     2,     1,     1,
1628 <       1,     1,     2,     4,     4,     4,     5,     2,     1,     1,
1625 >       1,     2,     4,     4,     3,     1,     1,     1,     3,     1,
1626 >       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1627 >       4,     4,     4,     4,     4,     4,     4,     5,     2,     1,
1628 >       1,     1,     1,     2,     4,     4,     4,     0,     6,     2,
1629 >       1,     1,     1,     2,     4,     4,     5,     2,     1,     1,
1630         1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
1631         2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1632         1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1633 <       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1634 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1633 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1634 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1635 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1636         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1637 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1638 <       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1637 >       1,     1,     1,     0,     5,     3,     1,     3,     1,     3,
1638 >       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1639         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1640 <       1,     1,     0,     6,     2,     1,     1,     1,     1,     1,
1640 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1641         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1642 <       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
1643 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1644 <       3,     1,     1,     1,     0,     6,     0,     5,     3,     1,
1645 <       1,     1,     1,     2,     1,     1,     1,     1,     1,     2,
1646 <       0,     5,     3,     1,     1,     3,     4,     4,     0,     6,
1647 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1648 <       2,     4,     4,     4,     4,     0,     5,     3,     1,     1,
1649 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
1650 <       4,     4,     0,     6,     2,     1,     1,     1,     1,     2,
1651 <       4,     4,     4,     5,     2,     1,     1,     1,     4,     0,
1652 <       6,     2,     1,     1,     1,     1,     2,     4,     4,     0,
1642 >       2,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1643 >       4,     4,     4,     4,     4,     4,     0,     5,     3,     1,
1644 >       1,     1,     0,     6,     0,     5,     3,     1,     1,     1,
1645 >       1,     2,     1,     1,     1,     1,     1,     2,     0,     5,
1646 >       3,     1,     1,     3,     4,     4,     0,     6,     2,     1,
1647 >       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1648 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     1,
1649 >       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1650 >       0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
1651 >       4,     5,     2,     1,     1,     1,     4,     0,     6,     2,
1652 >       1,     1,     1,     1,     2,     4,     4,     0,     5,     3,
1653 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1654 >       1,     0,     6,     2,     1,     1,     1,     2,     4,     0,
1655         5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1656 <       1,     1,     1,     0,     6,     2,     1,     1,     1,     2,
1632 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1633 <       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1656 >       1,     1,     1,     0,     6,     2,     1,     1,     1,     1,
1657         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1658 <       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
1658 >       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
1659         4,     0,     5,     3,     1,     1,     1,     4,     4,     4,
1660 <       4,     4,     0,     6,     0,     5,     3,     1,     1,     2,
1661 <       1,     1,     1,     1,     1,     4,     4,     0,     6,     2,
1662 <       1,     1,     1,     1,     4,     4,     5,     2,     1,     1,
1663 <       1,     4,     0,     6,     0,     5,     3,     1,     1,     2,
1641 <       1,     1,     1,     1,     1,     4,     4,     5,     2,     1,
1660 >       4,     4,     0,     6,     2,     1,     1,     1,     1,     4,
1661 >       4,     0,     6,     2,     1,     1,     1,     1,     4,     4,
1662 >       5,     2,     1,     1,     1,     4,     0,     6,     2,     1,
1663 >       1,     1,     1,     4,     4,     5,     2,     1,     1,     1,
1664         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1665         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1666         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1667         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1668 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
1668 >       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1669         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1670         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1671         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1672         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1673         4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1674         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1675 <       1,     1,     1,     1,     1,     1,     1,     1,     0,     5,
1676 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1675 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1676 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1677         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1678 <       1,     1,     1,     4,     4,     4,     5,     2,     1,     1,
1678 >       1,     1,     1,     1,     4,     4,     4,     5,     2,     1,
1679         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1680         1,     1,     1,     4,     4,     4,     4,     4,     4,     4,
1681 <       4,     4,     4,     4,     4,     4,     5,     2,     1,     1,
1681 >       4,     4,     4,     4,     4,     5,     2,     1,     1,     1,
1682         1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1683 <       4,     4,     4,     4
1683 >       4,     4,     4,     4,     4
1684   };
1685  
1686   /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
# Line 1666 | Line 1688 | static const yytype_uint8 yyr2[] =
1688     means the default is an error.  */
1689   static const yytype_uint16 yydefact[] =
1690   {
1691 <       2,     0,     1,     0,     0,     0,   202,   365,   417,     0,
1692 <     432,     0,   268,   402,   244,     0,     0,   135,   302,     0,
1693 <       0,   319,   343,     0,     3,    23,    11,     4,     5,     6,
1694 <       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1695 <      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1691 >       2,     0,     1,     0,     0,     0,   220,   383,   431,     0,
1692 >     446,     0,   286,   422,   262,     0,   107,   145,   320,     0,
1693 >       0,   361,     0,     0,   337,     3,    23,    11,     4,    24,
1694 >       5,     6,     8,     9,    10,    13,    14,    15,    16,    17,
1695 >      18,    19,    20,    22,    21,     7,    12,    25,    26,     0,
1696         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1697         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1698 <       0,     0,    98,    99,   101,   100,   612,     0,     0,     0,
1698 >       0,     0,     0,     0,     0,    99,   100,   102,   101,   622,
1699         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1700 <       0,   598,   611,   600,   601,   602,   603,   604,   599,   605,
1701 <     606,   607,   608,   609,   610,     0,     0,     0,   430,     0,
1702 <       0,   428,   429,     0,   498,     0,     0,     0,     0,     0,
1700 >       0,     0,     0,   609,   621,   611,   612,   613,   614,   610,
1701 >     615,   616,   617,   618,   619,   620,     0,     0,     0,   444,
1702 >       0,     0,   442,   443,     0,   507,     0,     0,     0,     0,
1703         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1704         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1705 <       0,     0,     0,   568,     0,   544,     0,     0,     0,     0,
1705 >       0,     0,     0,   579,     0,   554,     0,     0,     0,     0,
1706         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1707 <       0,     0,     0,     0,   449,   496,   490,   491,   492,   493,
1708 <     494,   489,   460,   450,   451,   484,   452,   453,   454,   455,
1709 <     456,   457,   458,   459,   486,   461,   462,   495,   464,   469,
1710 <     465,   467,   466,   479,   480,   468,   470,   471,   472,   473,
1711 <     463,   475,   476,   477,   497,   487,   488,   485,   478,   474,
1712 <     482,   483,   481,     0,     0,     0,     0,     0,     0,   108,
1713 <     109,   110,     0,     0,     0,     0,     0,    44,    45,    46,
1714 <       0,     0,   636,     0,     0,     0,     0,     0,     0,     0,
1715 <       0,   628,   629,   630,   631,   634,   632,   633,   635,     0,
1707 >       0,     0,     0,     0,     0,     0,   457,   504,   506,   498,
1708 >     499,   500,   501,   502,   497,   468,   458,   459,   460,   461,
1709 >     462,   463,   464,   465,   466,   467,   494,   469,   470,   503,
1710 >     472,   477,   478,   473,   475,   474,   488,   489,   476,   479,
1711 >     480,   481,   482,   471,   484,   485,   486,   505,   495,   496,
1712 >     493,   487,   483,   491,   492,   490,     0,     0,     0,     0,
1713 >       0,     0,     0,    45,    46,    47,     0,     0,     0,   646,
1714 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   637,
1715 >     638,   639,   640,   641,   644,   642,   643,   645,     0,     0,
1716         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1717 <       0,     0,     0,     0,     0,     0,     0,     0,    52,    67,
1718 <      68,    66,    63,    62,    69,    53,    65,    56,    57,    58,
1719 <      54,    64,    59,    60,    61,    55,     0,     0,   317,     0,
1720 <       0,   315,   316,   102,     0,     0,     0,     0,    97,     0,
1717 >       0,     0,     0,     0,     0,     0,     0,    53,    68,    69,
1718 >      67,    64,    63,    70,    54,    66,    57,    58,    59,    55,
1719 >      65,    60,    61,    62,    56,     0,     0,     0,     0,   118,
1720 >     119,   120,     0,   335,     0,     0,   333,   334,     0,   103,
1721 >       0,     0,     0,     0,    98,     0,     0,     0,     0,     0,
1722 >       0,     0,     0,     0,     0,     0,     0,     0,   608,     0,
1723 >       0,     0,     0,   256,     0,     0,     0,     0,     0,     0,
1724 >       0,     0,     0,     0,     0,     0,     0,   223,   224,   227,
1725 >     229,   230,   231,   232,   233,   234,   235,   236,   225,   226,
1726 >     228,   237,   238,   239,     0,     0,     0,     0,     0,     0,
1727 >       0,   411,     0,     0,     0,     0,     0,     0,     0,     0,
1728 >     386,   387,   388,   389,   390,   391,   392,   394,   393,   396,
1729 >     400,   397,   398,   399,   395,   437,     0,     0,     0,   434,
1730 >     435,   436,     0,     0,   441,   452,     0,     0,     0,   449,
1731 >     450,   451,     0,     0,     0,     0,     0,     0,     0,     0,
1732         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1700       0,     0,     0,   597,     0,     0,     0,     0,   238,     0,
1733         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1702       0,     0,   205,   206,   209,   211,   212,   213,   214,   215,
1703     216,   217,   218,   207,   208,   210,   219,   220,   221,     0,
1704       0,     0,     0,     0,   391,     0,     0,     0,     0,     0,
1705       0,     0,     0,     0,   368,   369,   370,   371,   372,   373,
1706     375,   374,   377,   381,   378,   379,   380,   376,   423,     0,
1707       0,     0,   420,   421,   422,     0,     0,   427,   444,     0,
1708       0,   434,   443,     0,   440,   441,   442,     0,     0,     0,
1734         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1735         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1736 +       0,     0,   456,     0,     0,     0,   303,     0,     0,     0,
1737 +       0,     0,     0,   289,   290,   291,   292,   297,   293,   294,
1738 +     295,   296,   428,     0,     0,     0,   425,   426,   427,     0,
1739 +       0,     0,   264,     0,   274,     0,   272,   273,   275,   276,
1740 +      48,     0,     0,     0,    44,     0,     0,     0,     0,   110,
1741 +     111,   112,     0,     0,     0,   193,     0,     0,     0,     0,
1742 +       0,   168,     0,     0,   148,   149,   150,   151,   154,   155,
1743 +     156,   157,   153,   152,   158,     0,     0,     0,     0,     0,
1744 +     323,   324,   325,   326,     0,     0,     0,     0,     0,     0,
1745 +       0,     0,     0,   636,    71,     0,     0,     0,     0,     0,
1746         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1747 +       0,     0,     0,    52,     0,     0,   369,     0,   364,   365,
1748 +     366,   121,     0,     0,   117,     0,     0,     0,   332,     0,
1749 +       0,   347,     0,     0,   340,   341,   342,   343,     0,     0,
1750 +       0,    97,     0,     0,     0,     0,    27,     0,     0,     0,
1751 +       0,     0,     0,     0,     0,   607,   240,     0,     0,     0,
1752         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1753 <       0,     0,     0,     0,     0,     0,   448,     0,     0,     0,
1714 <     285,     0,     0,     0,     0,     0,     0,   271,   272,   273,
1715 <     274,   279,   275,   276,   277,   278,   414,     0,   404,     0,
1716 <     413,     0,   410,   411,   412,     0,   246,     0,     0,     0,
1717 <     256,     0,   254,   255,   257,   258,   111,     0,     0,   107,
1718 <       0,    47,     0,     0,     0,    43,     0,     0,     0,   179,
1719 <       0,     0,     0,   154,     0,     0,   138,   139,   140,   141,
1720 <     144,   145,   143,   142,   146,     0,     0,     0,     0,     0,
1721 <     305,   306,   307,   308,     0,     0,     0,     0,     0,     0,
1722 <       0,     0,   627,    70,     0,     0,     0,     0,     0,     0,
1753 >       0,     0,     0,     0,   222,   401,     0,     0,     0,     0,
1754         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1755 <       0,     0,    51,     0,     0,   329,     0,     0,   322,   323,
1756 <     324,   325,     0,     0,   351,     0,   346,   347,   348,     0,
1726 <       0,   314,     0,     0,     0,    96,     0,     0,     0,    26,
1755 >       0,   385,     0,     0,     0,   433,     0,   440,     0,     0,
1756 >       0,   448,     0,     0,     0,     0,     0,     0,     0,     0,
1757         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1728     596,   222,     0,     0,     0,     0,     0,     0,     0,     0,
1729       0,     0,     0,     0,     0,     0,     0,     0,     0,   204,
1730     382,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1731       0,     0,     0,     0,     0,   367,     0,     0,     0,   419,
1732       0,   426,     0,     0,     0,     0,   439,     0,     0,     0,
1758         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1759         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1760         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1761 +       0,     0,     0,   455,   298,     0,     0,     0,     0,     0,
1762 +       0,     0,     0,     0,   288,     0,     0,     0,   424,   277,
1763 +       0,     0,     0,     0,     0,   271,     0,     0,    43,   113,
1764 +       0,     0,     0,   109,   159,     0,     0,     0,     0,     0,
1765 +       0,     0,     0,     0,     0,     0,   147,   327,     0,     0,
1766 +       0,     0,   322,     0,     0,     0,     0,     0,     0,     0,
1767 +       0,   635,     0,     0,     0,     0,     0,     0,     0,     0,
1768 +       0,     0,     0,     0,     0,    76,    77,     0,    75,    80,
1769 +      81,     0,    79,     0,     0,    51,   367,     0,     0,     0,
1770 +     363,     0,   116,     0,     0,   331,   344,     0,     0,     0,
1771 +       0,   339,   106,   105,   104,   630,   629,   623,   633,    27,
1772 +      27,    27,    27,    27,    27,    27,    29,    28,   634,   624,
1773 +     625,   628,   627,   626,   631,   632,     0,     0,     0,     0,
1774         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1775 <       0,     0,     0,     0,     0,     0,     0,   447,   280,     0,
1776 <       0,     0,     0,     0,     0,     0,     0,     0,   270,     0,
1777 <       0,     0,     0,   409,   259,     0,     0,     0,     0,     0,
1778 <     253,     0,   106,     0,     0,     0,    42,   147,     0,     0,
1779 <       0,     0,     0,     0,     0,     0,     0,   137,   309,     0,
1780 <       0,     0,     0,   304,     0,     0,     0,     0,     0,     0,
1781 <       0,   626,     0,     0,     0,     0,     0,     0,     0,     0,
1782 <       0,     0,    75,    76,     0,    74,    79,    80,     0,    78,
1783 <       0,     0,     0,     0,     0,    50,   326,     0,     0,     0,
1784 <       0,   321,   349,     0,     0,     0,   345,     0,   313,   105,
1785 <     104,   103,   621,   620,   613,    26,    26,    26,    26,    26,
1786 <      26,    26,    28,    27,   614,   615,   619,   617,   616,   622,
1787 <     623,   624,   625,   618,     0,     0,     0,     0,     0,     0,
1788 <       0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
1789 <       0,   203,     0,     0,     0,     0,     0,     0,     0,     0,
1790 <       0,     0,     0,     0,     0,     0,   366,     0,     0,   418,
1791 <     431,     0,     0,     0,   433,   511,   515,   529,   595,   542,
1792 <     509,   536,   539,   510,   501,   500,   502,   503,   504,   518,
1793 <     507,   508,   519,   506,   514,   513,   512,   537,   499,   593,
1794 <     594,   533,   530,   579,   572,   589,   590,   573,   574,   575,
1795 <     576,   584,   577,   587,   591,   580,   592,   585,   581,   586,
1796 <     578,   583,   582,   588,     0,   571,   535,   554,   548,   565,
1797 <     566,   549,   550,   551,   552,   560,   553,   563,   567,   556,
1798 <     561,   557,   562,   555,   559,   558,   564,     0,   547,   528,
1799 <     531,   541,   505,   532,   521,   526,   527,   524,   525,   522,
1800 <     523,   517,   516,   540,   543,   534,   538,   520,     0,     0,
1801 <       0,     0,     0,     0,     0,     0,   269,     0,     0,     0,
1802 <     403,     0,     0,     0,   264,   260,   263,   245,   112,     0,
1803 <       0,   124,     0,     0,   116,   117,   119,   118,    48,    49,
1804 <       0,     0,     0,     0,     0,     0,     0,     0,   136,     0,
1805 <       0,     0,   303,   637,   642,   640,   643,   638,   639,   641,
1806 <      87,    95,    93,    94,    85,    89,    88,    82,    81,    83,
1807 <      71,     0,    72,     0,    86,    84,    92,    90,    91,     0,
1808 <       0,     0,   320,     0,     0,   344,   318,    29,    30,    31,
1809 <      32,    33,    34,    35,   233,   234,   226,   242,   243,     0,
1810 <     241,   228,   230,   229,   227,   236,   237,   223,   235,   225,
1811 <     224,    36,    36,    36,    38,    37,   231,   232,   387,   389,
1812 <     390,   400,   397,   395,   396,     0,   394,   384,   398,   399,
1813 <     383,   388,   386,   401,   385,   424,   425,   445,   446,   438,
1814 <       0,   437,   569,     0,   545,     0,   283,   284,   293,   290,
1815 <     295,   292,   291,   298,   294,   296,   289,   297,     0,   288,
1816 <     282,   301,   300,   299,   281,   416,   408,     0,   407,   415,
1817 <     251,   252,   250,     0,   249,   267,   266,     0,     0,     0,
1818 <     120,     0,     0,     0,     0,   115,   153,   151,   194,   191,
1819 <     190,   183,   185,   201,   195,   198,   193,   184,   199,   187,
1782 <     196,   200,   188,   197,   192,   186,   189,     0,   182,   148,
1783 <     150,   152,   164,   158,   175,   176,   159,   160,   161,   162,
1784 <     170,   163,   173,   177,   166,   178,   171,   167,   172,   165,
1785 <     169,   168,   174,     0,   157,   149,   312,   310,   311,    73,
1786 <      77,   327,   333,   339,   342,   335,   341,   336,   340,   338,
1787 <     334,   337,     0,   332,   328,   350,   355,   361,   364,   357,
1788 <     363,   358,   362,   360,   356,   359,     0,   354,   239,     0,
1789 <      39,    40,    41,   392,     0,   435,     0,   570,   546,   286,
1790 <       0,   405,     0,   247,     0,   265,   262,   261,     0,     0,
1791 <       0,     0,   114,   180,     0,   155,     0,   330,     0,   352,
1792 <       0,   240,   393,   436,   287,   406,   248,   121,   130,   133,
1793 <     132,   129,   134,   131,   128,     0,   127,   123,   122,   181,
1794 <     156,   331,   353,   125,     0,   126
1775 >      37,     0,     0,   221,     0,     0,     0,     0,     0,     0,
1776 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   384,
1777 >       0,     0,   432,   445,     0,     0,   447,   520,   524,   539,
1778 >     509,   606,   552,   546,   549,   519,   511,   510,   513,   514,
1779 >     512,   527,   517,   518,   528,   516,   523,   522,   521,   547,
1780 >     508,   604,   605,   543,   589,   583,   600,   584,   585,   586,
1781 >     594,   603,   587,   597,   601,   590,   602,   595,   591,   596,
1782 >     588,   599,   593,   592,   598,     0,   582,   545,   563,   558,
1783 >     575,   559,   560,   561,   569,   578,   562,   572,   576,   565,
1784 >     577,   570,   566,   571,   564,   574,   568,   567,   573,     0,
1785 >     557,   540,   538,   541,   551,   542,   530,   536,   537,   534,
1786 >     535,   531,   532,   533,   550,   553,   515,   544,   526,   525,
1787 >     548,   529,     0,     0,     0,     0,     0,     0,     0,     0,
1788 >     287,     0,     0,   423,     0,     0,     0,   282,   278,   281,
1789 >     263,    49,    50,     0,     0,   108,     0,     0,     0,     0,
1790 >       0,     0,     0,     0,     0,     0,   146,     0,     0,     0,
1791 >     321,   648,   647,   653,   651,   654,   649,   650,   652,    88,
1792 >      96,    87,    94,    95,    86,    90,    89,    83,    82,    84,
1793 >      93,    85,    72,     0,    73,     0,    91,    92,     0,     0,
1794 >     362,   122,     0,     0,     0,   134,     0,   126,   127,   129,
1795 >     128,   336,     0,     0,     0,   338,    30,    31,    32,    33,
1796 >      34,    35,    36,   251,   252,   244,   261,   260,     0,   259,
1797 >     246,   248,   255,   247,   245,   254,   241,   253,   243,   242,
1798 >      37,    37,    37,    39,    38,   249,   250,   406,   409,   410,
1799 >     420,   417,   403,   418,   415,   416,     0,   414,   419,   402,
1800 >     408,   405,   407,   421,   404,   438,   439,   453,   454,   580,
1801 >       0,   555,     0,   301,   302,   311,   308,   313,   309,   310,
1802 >     316,   312,   314,   307,   315,     0,   306,   300,   319,   318,
1803 >     317,   299,   430,   429,   285,   284,   269,   270,   268,     0,
1804 >     267,     0,     0,     0,   114,   115,   167,   163,   212,   200,
1805 >     209,   208,   198,   203,   219,   211,   217,   202,   205,   214,
1806 >     216,   213,   210,   218,   206,   215,   204,   207,     0,   196,
1807 >     160,   162,   164,   165,   166,   177,   172,   189,   173,   174,
1808 >     175,   183,   192,   176,   186,   190,   179,   191,   184,   180,
1809 >     185,   178,   188,   182,   181,   187,     0,   171,   161,   330,
1810 >     328,   329,    74,    78,   368,   373,   379,   382,   375,   381,
1811 >     376,   380,   378,   374,   377,     0,   372,   130,     0,     0,
1812 >       0,     0,   125,   345,   351,   357,   360,   353,   359,   354,
1813 >     358,   356,   352,   355,     0,   350,   346,   257,     0,    40,
1814 >      41,    42,   412,     0,   581,   556,   304,     0,   265,     0,
1815 >     283,   280,   279,     0,     0,     0,   194,     0,   169,     0,
1816 >     370,     0,     0,     0,     0,     0,   124,   348,     0,   258,
1817 >     413,   305,   266,   199,   197,   201,   195,   170,   371,   131,
1818 >     133,   132,   140,   143,   142,   139,   144,   141,   138,     0,
1819 >     137,   349,   135,     0,   136
1820   };
1821  
1822   /* YYDEFGOTO[NTERM-NUM].  */
1823   static const yytype_int16 yydefgoto[] =
1824   {
1825 <      -1,     1,    24,   792,   793,  1044,  1045,    25,   226,   227,
1826 <     228,   229,    26,   267,   268,   269,   270,   754,   755,   758,
1827 <     759,   271,   272,   273,   274,   275,   276,   277,   278,   279,
1828 <     280,   281,   282,   283,   284,   285,    27,    71,    72,    73,
1829 <      74,    75,    28,   218,   219,   220,   221,   222,   963,   964,
1830 <     965,   966,   967,  1112,  1245,  1246,    29,    60,   505,   506,
1831 <     507,   508,   509,   510,   511,   512,   513,   724,  1163,  1164,
1832 <     514,   720,  1137,  1138,    30,    49,   331,   332,   333,   334,
1833 <     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1834 <     345,   346,   347,   348,   595,  1029,  1030,    31,    57,   480,
1835 <     705,  1103,  1104,   481,   482,   483,  1109,   955,   956,   484,
1836 <     485,    32,    55,   456,   457,   458,   459,   460,   461,   462,
1837 <     691,  1088,  1089,   463,   464,   465,    33,    61,   519,   520,
1838 <     521,   522,   523,    34,   290,   291,   292,    35,    64,   557,
1839 <     558,   559,   560,   561,   768,  1182,  1183,    36,    65,   565,
1840 <     566,   567,   568,   774,  1196,  1197,    37,    50,   363,   364,
1841 <     365,   366,   367,   368,   369,   370,   371,   372,   615,  1055,
1842 <    1056,   373,   374,   375,   376,   377,    38,    56,   470,   700,
1843 <    1097,  1098,   471,   472,   473,   474,    39,    51,   381,   382,
1844 <     383,   384,    40,   110,   111,   112,    41,    53,   392,   634,
1845 <    1070,  1071,   393,   394,   395,   396,    42,   163,   164,   165,
1846 <     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1847 <     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1848 <     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1849 <     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1850 <     206,   207,   208,   427,   917,   918,   209,   425,   894,   895,
1851 <     210,   211,   212,    43,    90,    91,    92,    93,    94,    95,
1852 <      96,    97,    98,    99,   100,   101,   102,   103,   104,    44,
1853 <     240,   241,   242,   243,   244,   245,   246,   247,   248
1825 >      -1,     1,    25,   816,   817,  1073,  1074,    26,   222,   223,
1826 >     224,   225,    27,   266,   267,   268,   269,   777,   778,   781,
1827 >     782,   270,   271,   272,   273,   274,   275,   276,   277,   278,
1828 >     279,   280,   281,   282,   283,   284,    28,    74,    75,    76,
1829 >      77,    78,    29,    61,   498,   499,   500,   501,    30,   288,
1830 >     289,   290,   291,   292,  1036,  1037,  1038,  1039,  1040,  1210,
1831 >    1279,  1280,    31,    62,   513,   514,   515,   516,   517,   518,
1832 >     519,   520,   521,   522,   523,   743,  1186,  1187,   524,   737,
1833 >    1158,  1159,    32,    51,   336,   337,   338,   339,   340,   341,
1834 >     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
1835 >     352,   353,   610,  1058,  1059,    33,    59,   484,   722,  1129,
1836 >    1130,   485,   486,   487,  1133,   978,   979,   488,   489,    34,
1837 >      57,   462,   463,   464,   465,   466,   467,   468,   707,  1115,
1838 >    1116,   469,   470,   471,    35,    63,   529,   530,   531,   532,
1839 >     533,    36,   295,   296,   297,    37,    69,   583,   584,   585,
1840 >     586,   587,   798,  1224,  1225,    38,    66,   567,   568,   569,
1841 >     570,   788,  1205,  1206,    39,    52,   369,   370,   371,   372,
1842 >     373,   374,   375,   376,   377,   378,   379,   632,  1086,  1087,
1843 >     380,   381,   382,   383,   384,    40,    58,   475,   476,   477,
1844 >     478,    41,    53,   388,   389,   390,   391,    42,   111,   112,
1845 >     113,    43,    55,   398,   399,   400,   401,    44,   165,   166,
1846 >     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1847 >     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1848 >     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1849 >     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1850 >     207,   208,   209,   210,   211,   431,   939,   940,   212,   429,
1851 >     915,   916,   213,   214,   215,    45,    92,    93,    94,    95,
1852 >      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1853 >      46,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1854 >     247
1855   };
1856  
1857   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1858     STATE-NUM.  */
1859 < #define YYPACT_NINF -985
1859 > #define YYPACT_NINF -755
1860   static const yytype_int16 yypact[] =
1861   {
1862 <    -985,   599,  -985,  -196,  -221,  -213,  -985,  -985,  -985,  -188,
1863 <    -985,  -185,  -985,  -985,  -985,  -182,  -141,  -985,  -985,  -132,
1864 <    -119,  -985,  -985,  -112,  -985,  -985,  -985,  -985,  -985,  -985,
1865 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1866 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,   348,   839,  -104,
1867 <     -99,   -91,    31,   -84,   347,   -75,   -59,   -56,    72,   266,
1868 <     -37,    -9,   425,   389,    -1,    45,    15,  -191,   -44,    37,
1869 <      56,    16,  -985,  -985,  -985,  -985,  -985,    75,    77,    85,
1870 <     120,   124,   125,   131,   135,   136,   144,   154,   156,   157,
1871 <     241,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1872 <    -985,  -985,  -985,  -985,  -985,   565,   529,    26,  -985,   158,
1873 <      13,  -985,  -985,    17,  -985,   160,   169,   171,   173,   175,
1874 <     177,   178,   179,   183,   185,   188,   189,   191,   192,   193,
1875 <     195,   196,   197,   198,   200,   204,   206,   211,   213,   215,
1876 <     216,   218,   219,  -985,   226,  -985,   228,   229,   233,   236,
1877 <     242,   243,   245,   247,   254,   257,   259,   262,   265,   270,
1878 <     273,   274,   276,    36,  -985,  -985,  -985,  -985,  -985,  -985,
1879 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1880 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1881 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1882 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1883 <    -985,  -985,  -985,   363,    62,   271,    57,   277,    20,  -985,
1884 <    -985,  -985,    67,   105,   278,   281,    51,  -985,  -985,  -985,
1885 <     333,    82,  -985,   288,   291,   292,   294,   301,   302,   304,
1886 <     269,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,   116,
1887 <     318,   320,   322,   324,   325,   326,   329,   335,   337,   342,
1888 <     343,   344,   345,   346,   349,   352,   355,    78,  -985,  -985,
1889 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1890 <    -985,  -985,  -985,  -985,  -985,  -985,    38,     8,  -985,   356,
1891 <      53,  -985,  -985,  -985,   162,   246,   369,   225,  -985,   390,
1892 <     392,   132,   468,   468,   481,   491,   496,   283,   418,   499,
1893 <     468,   439,   385,  -985,   386,   387,   388,   391,  -985,   394,
1894 <     397,   399,   400,   401,   402,   403,   404,   405,   407,   408,
1895 <     412,   143,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1896 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,   395,
1897 <     419,   421,   423,   426,  -985,   427,   430,   431,   432,   436,
1898 <     437,   438,   440,   223,  -985,  -985,  -985,  -985,  -985,  -985,
1899 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,   441,
1900 <     442,     6,  -985,  -985,  -985,   488,   451,  -985,  -985,   449,
1901 <     450,  -985,  -985,    35,  -985,  -985,  -985,   511,   468,   468,
1902 <     573,   515,   518,   580,   564,   522,   468,   523,   468,   586,
1903 <     589,   590,   530,   531,   533,   468,   596,   598,   468,   603,
1904 <     604,   605,   607,   538,   547,   490,   551,   493,   468,   468,
1905 <     554,   555,   556,   558,  -117,     5,   559,   560,   468,   468,
1906 <     608,   468,   561,   562,   566,   507,  -985,   512,   514,   516,
1907 <    -985,   517,   519,   521,   526,   527,    59,  -985,  -985,  -985,
1908 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,   536,  -985,   539,
1909 <    -985,    54,  -985,  -985,  -985,   513,  -985,   543,   544,   546,
1910 <    -985,    10,  -985,  -985,  -985,  -985,  -985,   567,   525,  -985,
1911 <     524,  -985,   614,   615,   553,  -985,   557,   552,   563,  -985,
1912 <     568,   574,   577,  -985,   581,    73,  -985,  -985,  -985,  -985,
1913 <    -985,  -985,  -985,  -985,  -985,   569,   588,   592,   595,    11,
1914 <    -985,  -985,  -985,  -985,   575,   578,   660,   618,   620,   621,
1915 <     468,   570,  -985,  -985,   665,   624,   711,   717,   709,   713,
1916 <     714,   720,   722,   724,   -70,    64,   728,   730,   749,   732,
1917 <     734,   638,  -985,   639,   637,  -985,   640,    60,  -985,  -985,
1918 <    -985,  -985,   641,   642,  -985,    86,  -985,  -985,  -985,   744,
1919 <     646,  -985,   647,   649,   653,  -985,   654,   655,   656,   393,
1920 <     657,   658,   659,   661,   662,   663,   664,   667,   668,   669,
1921 <    -985,  -985,   770,   783,   468,   671,   788,   789,   790,   791,
1922 <     468,   468,   775,   794,   795,   468,   796,   796,   679,  -985,
1923 <    -985,   780,    24,   781,   741,   682,   786,   787,   793,   797,
1924 <     806,   798,   799,   800,   689,  -985,   801,   802,   694,  -985,
1925 <     695,  -985,   803,   804,   693,   705,  -985,   706,   707,   708,
1926 <     710,   712,   715,   716,   719,   721,   723,   725,   726,   727,
1927 <     729,   733,   735,   736,   737,   738,   739,   742,   743,   745,
1928 <     746,   747,   748,   750,   751,   585,   752,   652,   753,   754,
1929 <     755,   756,   757,   758,   759,   760,   761,   762,   763,   764,
1930 <     765,   766,   767,   768,   769,   771,   772,  -985,  -985,   809,
1931 <     777,   731,   811,   831,   814,   822,   824,   773,  -985,   828,
1932 <     774,   832,   776,  -985,  -985,   778,   841,   844,   867,   779,
1933 <    -985,   782,  -985,     7,   784,   785,  -985,  -985,   870,   835,
1934 <     792,   874,   875,   880,   805,   883,   807,  -985,  -985,   886,
1935 <     887,   888,   810,  -985,   812,   813,   815,   816,   817,   818,
1936 <     819,  -985,   820,   821,   823,   825,   826,   827,   829,   830,
1937 <     833,   834,  -985,  -985,  -209,  -985,  -985,  -985,  -202,  -985,
1938 <     836,   837,   838,   840,   842,  -985,  -985,   889,   808,   890,
1939 <     843,  -985,  -985,   891,   845,   846,  -985,   847,  -985,  -985,
1940 <    -985,  -985,  -985,  -985,  -985,   468,   468,   468,   468,   468,
1941 <     468,   468,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1942 <    -985,  -985,  -985,  -985,   849,   850,   851,   222,   852,   853,
1943 <     854,   855,   856,   857,   858,   859,   860,   861,    14,   862,
1944 <     863,  -985,   864,   865,   866,   868,   869,    -2,   871,   872,
1945 <     873,   876,   877,   878,   879,   881,  -985,   882,   884,  -985,
1946 <    -985,   885,   892,   893,  -985,  -985,  -985,  -985,  -985,  -985,
1947 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1948 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1949 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1950 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1951 <    -985,  -985,  -985,  -985,  -194,  -985,  -985,  -985,  -985,  -985,
1952 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1953 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -193,  -985,  -985,
1954 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1955 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,   894,   895,
1956 <     312,   896,   897,   898,   899,   900,  -985,   901,   904,   902,
1957 <    -985,   -31,   903,   905,   920,   906,  -985,  -985,  -985,   907,
1958 <     908,  -985,   909,    88,  -985,  -985,  -985,  -985,  -985,  -985,
1959 <     913,   914,   510,   915,   916,   917,   623,   918,  -985,   919,
1960 <     921,   922,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1961 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1962 <    -985,   -70,  -985,    64,  -985,  -985,  -985,  -985,  -985,   923,
1963 <     479,   924,  -985,   925,   670,  -985,  -985,  -985,  -985,  -985,
1964 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -175,
1965 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1966 <    -985,   796,   796,   796,  -985,  -985,  -985,  -985,  -985,  -985,
1967 <    -985,  -985,  -985,  -985,  -985,   -98,  -985,  -985,  -985,  -985,
1968 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1969 <     -43,  -985,  -985,   585,  -985,   652,  -985,  -985,  -985,  -985,
1970 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,   -34,  -985,
1971 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,    30,  -985,  -985,
1972 <    -985,  -985,  -985,    63,  -985,  -985,  -985,   910,   867,   926,
1973 <    -985,   928,   927,  -102,   929,  -985,  -985,  -985,  -985,  -985,
1974 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1975 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,   102,  -985,  -985,
1976 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1977 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1978 <    -985,  -985,  -985,   103,  -985,  -985,  -985,  -985,  -985,  -985,
1979 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1980 <    -985,  -985,   108,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1981 <    -985,  -985,  -985,  -985,  -985,  -985,   113,  -985,  -985,   222,
1982 <    -985,  -985,  -985,  -985,    -2,  -985,   893,  -985,  -985,  -985,
1983 <     312,  -985,   904,  -985,   -31,  -985,  -985,  -985,   931,   374,
1984 <     932,   933,  -985,  -985,   510,  -985,   623,  -985,   479,  -985,
1985 <     670,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1986 <    -985,  -985,  -985,  -985,  -985,   114,  -985,  -985,  -985,  -985,
1987 <    -985,  -985,  -985,  -985,   374,  -985
1862 >    -755,   716,  -755,  -198,  -223,  -208,  -755,  -755,  -755,  -186,
1863 >    -755,  -184,  -755,  -755,  -755,  -179,  -755,  -755,  -755,  -168,
1864 >    -154,  -755,  -146,  -123,  -755,  -755,  -755,  -755,  -755,  -755,
1865 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1866 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   282,
1867 >     923,   -84,   -59,   -46,   130,   -45,   414,   -39,   -26,   -19,
1868 >      79,   -18,   -11,    21,   503,   408,    40,    39,    53,    41,
1869 >     -14,    -1,    64,    66,     7,  -755,  -755,  -755,  -755,  -755,
1870 >      81,    82,    96,   100,   102,   104,   105,   117,   119,   121,
1871 >     127,   128,    13,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1872 >    -755,  -755,  -755,  -755,  -755,  -755,   706,   577,    61,  -755,
1873 >     131,    10,  -755,  -755,    36,  -755,   132,   133,   135,   139,
1874 >     141,   142,   143,   144,   146,   148,   151,   153,   157,   158,
1875 >     160,   162,   164,   165,   166,   168,   170,   180,   182,   183,
1876 >     187,   188,   189,  -755,   192,  -755,   193,   195,   197,   198,
1877 >     199,   200,   201,   202,   206,   207,   208,   209,   212,   213,
1878 >     216,   217,   219,   221,   222,   108,  -755,  -755,  -755,  -755,
1879 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1880 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1881 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1882 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1883 >    -755,  -755,  -755,  -755,  -755,  -755,   353,     8,   292,    29,
1884 >     223,   227,    24,  -755,  -755,  -755,    22,   546,    47,  -755,
1885 >     231,   236,   237,   240,   246,   248,   251,   253,    15,  -755,
1886 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,    60,   254,
1887 >     255,   257,   259,   260,   262,   263,   265,   266,   272,   288,
1888 >     291,   293,   294,   303,   305,   306,     9,  -755,  -755,  -755,
1889 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1890 >    -755,  -755,  -755,  -755,  -755,     4,    65,   307,    19,  -755,
1891 >    -755,  -755,   155,  -755,   308,    23,  -755,  -755,    62,  -755,
1892 >     215,   352,   365,   270,  -755,   252,   431,   333,   436,   437,
1893 >     437,   437,   438,   440,   443,   349,   355,   335,  -755,   339,
1894 >     337,   344,   346,  -755,   351,   354,   357,   359,   360,   362,
1895 >     366,   367,   368,   369,   370,   372,   258,  -755,  -755,  -755,
1896 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1897 >    -755,  -755,  -755,  -755,   356,   373,   377,   378,   381,   382,
1898 >     383,  -755,   384,   385,   386,   387,   388,   390,   391,   326,
1899 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1900 >    -755,  -755,  -755,  -755,  -755,  -755,   392,   393,    69,  -755,
1901 >    -755,  -755,   462,   397,  -755,  -755,   406,   407,    48,  -755,
1902 >    -755,  -755,   417,   437,   437,   428,   487,   432,   533,   520,
1903 >     435,   437,   439,   538,   539,   437,   540,   441,   445,   446,
1904 >     437,   545,   549,   437,   550,   551,   552,   553,   452,   433,
1905 >     455,   442,   456,   437,   437,   457,   458,   459,    58,    95,
1906 >     460,   461,   464,   554,   437,   466,   468,   437,   437,   469,
1907 >     471,   463,  -755,   465,   453,   454,  -755,   472,   473,   474,
1908 >     476,   480,   163,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1909 >    -755,  -755,  -755,   481,   482,    50,  -755,  -755,  -755,   467,
1910 >     484,   485,  -755,   488,  -755,    25,  -755,  -755,  -755,  -755,
1911 >    -755,   559,   562,   496,  -755,   497,   499,   501,    18,  -755,
1912 >    -755,  -755,   508,   506,   507,  -755,   509,   511,   512,   514,
1913 >     515,  -755,   516,    14,  -755,  -755,  -755,  -755,  -755,  -755,
1914 >    -755,  -755,  -755,  -755,  -755,   521,   519,   523,   526,    11,
1915 >    -755,  -755,  -755,  -755,   477,   478,   479,   563,   483,   528,
1916 >     547,   437,   531,  -755,  -755,   572,   555,   603,   651,   652,
1917 >     638,   639,   641,   643,   644,   647,   663,   649,   -99,   -42,
1918 >     653,   654,   548,  -755,   557,   544,  -755,    73,  -755,  -755,
1919 >    -755,  -755,   569,   558,  -755,   564,   657,   570,  -755,   574,
1920 >     556,  -755,   566,    27,  -755,  -755,  -755,  -755,   575,   576,
1921 >     578,  -755,   579,   580,   582,   583,   267,   584,   587,   590,
1922 >     591,   592,   593,   597,   605,  -755,  -755,   673,   674,   437,
1923 >     604,   734,   736,   437,   737,   738,   437,   727,   747,   749,
1924 >     437,   751,   751,   636,  -755,  -755,   750,   129,   752,   667,
1925 >     755,   758,   640,   762,   764,   781,   767,   769,   771,   775,
1926 >     672,  -755,   777,   778,   676,  -755,   677,  -755,   790,   793,
1927 >     693,  -755,   694,   696,   701,   704,   705,   708,   709,   710,
1928 >     714,   715,   717,   722,   723,   725,   728,   729,   730,   731,
1929 >     732,   733,   735,   739,   740,   741,   742,   743,   744,   660,
1930 >     745,   703,   748,   753,   754,   756,   757,   759,   760,   770,
1931 >     772,   773,   780,   782,   783,   784,   785,   788,   789,   791,
1932 >     792,   794,   795,  -755,  -755,   807,   763,   713,   810,   853,
1933 >     841,   842,   851,   796,  -755,   854,   855,   797,  -755,  -755,
1934 >     856,   859,   761,   868,   798,  -755,   799,   802,  -755,  -755,
1935 >     862,   873,   803,  -755,  -755,   875,   804,   774,   882,   885,
1936 >     894,   897,   821,   805,   909,   806,  -755,  -755,   911,   913,
1937 >     914,   811,  -755,   812,   813,   814,   815,   816,   817,   818,
1938 >     819,  -755,   820,   822,   823,   824,   825,   826,   827,   828,
1939 >     829,   830,   831,   832,   833,  -755,  -755,  -209,  -755,  -755,
1940 >    -755,  -189,  -755,   834,   835,  -755,  -755,   925,   836,   837,
1941 >    -755,   838,  -755,    26,   840,  -755,  -755,   940,   839,   945,
1942 >     843,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   437,
1943 >     437,   437,   437,   437,   437,   437,  -755,  -755,  -755,  -755,
1944 >    -755,  -755,  -755,  -755,  -755,  -755,   844,   845,   846,   -34,
1945 >     847,   848,   849,   850,   852,   857,   858,   860,   861,   863,
1946 >     289,   864,   865,  -755,   866,   867,   869,   870,   871,   872,
1947 >     874,     5,   876,   877,   878,   879,   880,   881,   883,  -755,
1948 >     884,   886,  -755,  -755,   887,   888,  -755,  -755,  -755,  -755,
1949 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1950 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1951 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1952 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1953 >    -755,  -755,  -755,  -755,  -755,  -174,  -755,  -755,  -755,  -755,
1954 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1955 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -172,
1956 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1957 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1958 >    -755,  -755,   889,   890,   245,   891,   892,   893,   895,   896,
1959 >    -755,   898,   899,  -755,   900,   901,   -16,   904,   902,  -755,
1960 >    -755,  -755,  -755,   903,   905,  -755,   907,   908,   524,   910,
1961 >     912,   915,   916,   917,   746,   918,  -755,   919,   920,   921,
1962 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1963 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1964 >    -755,  -755,  -755,   -99,  -755,   -42,  -755,  -755,   922,   632,
1965 >    -755,  -755,   924,   906,   926,  -755,    57,  -755,  -755,  -755,
1966 >    -755,  -755,   927,   787,   928,  -755,  -755,  -755,  -755,  -755,
1967 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -171,  -755,
1968 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1969 >     751,   751,   751,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1970 >    -755,  -755,  -755,  -755,  -755,  -755,  -155,  -755,  -755,  -755,
1971 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1972 >     660,  -755,   703,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1973 >    -755,  -755,  -755,  -755,  -755,   -50,  -755,  -755,  -755,  -755,
1974 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -49,
1975 >    -755,   970,   868,   930,  -755,  -755,  -755,  -755,  -755,   929,
1976 >    -755,  -755,   931,  -755,  -755,  -755,  -755,   932,  -755,  -755,
1977 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -23,  -755,
1978 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1979 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1980 >    -755,  -755,  -755,  -755,  -755,  -755,   -15,  -755,  -755,  -755,
1981 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1982 >    -755,  -755,  -755,  -755,  -755,     0,  -755,  -755,   957,  -101,
1983 >     935,   933,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1984 >    -755,  -755,  -755,  -755,    30,  -755,  -755,  -755,   -34,  -755,
1985 >    -755,  -755,  -755,     5,  -755,  -755,  -755,   245,  -755,   -16,
1986 >    -755,  -755,  -755,   952,   953,   954,  -755,   524,  -755,   746,
1987 >    -755,   632,   939,   941,   942,   297,  -755,  -755,   787,  -755,
1988 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1989 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,    55,
1990 >    -755,  -755,  -755,   297,  -755
1991   };
1992  
1993   /* YYPGOTO[NTERM-NUM].  */
1994   static const yytype_int16 yypgoto[] =
1995   {
1996 <    -985,  -985,  -985,  -195,  -300,  -984,  -606,  -985,  -985,   934,
1997 <    -985,  -985,  -985,  -985,   848,  -985,  -985,  -985,    19,  -985,
1998 <      18,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
1999 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,   946,  -985,
2000 <    -985,  -985,  -985,  -985,   912,  -985,  -985,  -985,  -985,    55,
2001 <    -985,  -985,  -985,  -985,  -985,  -231,  -985,  -985,  -985,   520,
2002 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -200,
2003 <    -985,  -985,  -985,  -197,  -985,  -985,  -985,   697,  -985,  -985,
2004 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
2005 <    -985,  -985,  -985,  -985,  -985,  -985,  -170,  -985,  -985,  -985,
2006 <    -985,  -985,  -190,  -985,   549,  -985,  -985,  -985,   -62,  -985,
2007 <    -985,  -985,  -985,  -985,   582,  -985,  -985,  -985,  -985,  -985,
2008 <    -985,  -985,  -162,  -985,  -985,  -985,  -985,  -985,  -985,   537,
2009 <    -985,  -985,  -985,  -985,  -985,   911,  -985,  -985,  -985,  -985,
2010 <     498,  -985,  -985,  -985,  -985,  -985,  -169,  -985,  -985,  -985,
2011 <     500,  -985,  -985,  -985,  -985,  -167,  -985,  -985,  -985,   930,
2012 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
2013 <    -136,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
2014 <    -985,  -143,  -985,   627,  -985,  -985,  -985,  -985,  -985,   718,
2015 <    -985,  -985,  -985,  -985,   984,  -985,  -985,  -985,  -985,  -985,
2016 <    -985,   -96,  -985,   740,  -985,  -985,  -985,  -985,   941,  -985,
2017 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
2018 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
2019 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
2020 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
2021 <    -985,  -985,  -985,  -985,  -985,    32,  -985,  -985,  -985,    39,
2022 <    -985,  -985,  -985,  -985,  -985,  1021,  -985,  -985,  -985,  -985,
2023 <    -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,  -985,
2024 <    -985,   935,  -985,  -985,  -985,  -985,  -985,  -985,  -985
1996 >    -755,  -755,  -755,  -298,  -307,  -754,  -621,  -755,  -755,   936,
1997 >    -755,  -755,  -755,  -755,   934,  -755,  -755,  -755,    63,  -755,
1998 >      70,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
1999 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  1015,  -755,
2000 >    -755,  -755,  -755,  -755,  -755,   602,  -755,  -755,  -755,  -755,
2001 >     937,  -755,  -755,  -755,  -755,    76,  -755,  -755,  -755,  -755,
2002 >    -755,  -181,  -755,  -755,  -755,   596,  -755,  -755,  -755,  -755,
2003 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -125,  -755,  -755,
2004 >    -755,  -118,  -755,  -755,  -755,   938,  -755,  -755,  -755,  -755,
2005 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
2006 >    -755,  -755,  -755,  -755,   -97,  -755,  -755,  -755,  -755,  -755,
2007 >     -98,  -755,   655,  -755,  -755,  -755,     6,  -755,  -755,  -755,
2008 >    -755,  -755,   688,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
2009 >     -85,  -755,  -755,  -755,  -755,  -755,  -755,   624,  -755,  -755,
2010 >    -755,  -755,  -755,   943,  -755,  -755,  -755,  -755,   588,  -755,
2011 >    -755,  -755,  -755,  -755,   -96,  -755,  -755,  -755,   600,  -755,
2012 >    -755,  -755,  -755,   -92,  -755,  -755,  -755,   801,  -755,  -755,
2013 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   -61,
2014 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,   698,  -755,
2015 >    -755,  -755,  -755,  -755,   786,  -755,  -755,  -755,  -755,  1064,
2016 >    -755,  -755,  -755,  -755,   779,  -755,  -755,  -755,  -755,  1011,
2017 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
2018 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
2019 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
2020 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
2021 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,    77,  -755,  -755,
2022 >    -755,    78,  -755,  -755,  -755,  -755,  -755,  1088,  -755,  -755,
2023 >    -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
2024 >    -755,  -755,   944,  -755,  -755,  -755,  -755,  -755,  -755,  -755,
2025 >    -755
2026   };
2027  
2028   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2029     positive, shift that token.  If negative, reduce the rule which
2030     number is the opposite.  If YYTABLE_NINF, syntax error.  */
2031 < #define YYTABLE_NINF -114
2031 > #define YYTABLE_NINF -124
2032   static const yytype_int16 yytable[] =
2033   {
2034 <     819,   820,   580,   581,   818,    47,  1053,   378,   959,   562,
2035 <     588,   475,   515,    48,   108,  1000,   288,    67,   388,  1001,
2036 <    1100,   216,  1002,  1041,  1042,  1043,  1003,   378,    45,    46,
2037 <    1072,  1074,   108,   293,  1073,  1075,   388,   114,    52,   553,
2038 <      68,    54,   115,   116,    58,   516,   476,    69,   117,  1198,
2039 <     674,   675,   223,  1199,   288,   466,   118,  1200,  1201,  1202,
2040 <     447,   553,   119,   466,   120,   121,   122,   477,   379,   752,
2041 <     753,   123,   478,   216,   496,   109,   448,   124,   125,   249,
2042 <     126,   127,   128,   515,   517,    59,   129,   562,   379,   959,
2043 <     497,   449,   130,   109,    62,   450,   131,   132,   638,   639,
2044 <     133,  1220,   250,   960,   563,   498,   646,    63,   648,   499,
2045 <     134,   289,    70,   389,    66,   655,   516,   135,   658,   136,
2046 <     818,   137,   105,   138,   139,   140,  1203,   106,   668,   669,
2047 <    1204,   389,   380,   479,   554,   107,   251,   518,   680,   681,
2048 <     141,   683,   113,   390,   314,   224,   142,   143,   144,   289,
2049 <     145,   213,   380,   146,   147,   517,   554,   148,   315,   316,
2050 <     252,   390,   317,  1101,   253,   961,   564,   214,  1102,   500,
2051 <     215,   225,   676,   677,   254,   391,   255,   256,   451,   318,
2052 <     467,  1205,   563,   294,   960,  1206,   452,   453,   467,   230,
2053 <    1209,   149,   501,   391,  1210,   150,   555,  1054,   151,   152,
2054 <     153,   154,   155,   756,   757,   156,   157,   502,   518,   823,
2055 <     824,   257,   468,   258,   259,   260,   261,   231,   555,   454,
2056 <     468,   319,   320,   321,   349,   286,   350,   322,   351,   962,
2057 <     740,   628,   262,   323,   324,   709,   732,   217,   386,   325,
2058 <     352,   297,    76,  -113,   564,   488,   961,   158,   159,   160,
2059 <     326,   327,   161,   556,  1211,   353,   263,   162,  1212,   354,
2060 <     635,   445,    77,    78,   295,   328,   264,   223,    79,   469,
2061 <     232,   287,   475,   503,   455,   556,   494,   469,   570,   702,
2062 <     355,   486,   356,   296,   697,   770,   572,  1213,   504,   217,
2063 <     490,  1214,   357,   329,   806,  -113,   265,   266,   726,   578,
2064 <     812,   813,   299,   551,   300,   817,   233,   476,    80,    81,
2065 <     962,   775,   301,  1114,  1027,  1028,    82,    83,    84,   358,
2066 <     234,   235,   236,   237,   238,  1078,  1223,  1225,   477,   491,
2067 <    1224,  1226,  1227,   478,   496,   330,  1228,  1229,  1253,   239,
2068 <     533,  1230,  1254,    85,    86,  1079,   359,   302,   114,    67,
2069 <     497,   303,   304,   115,   116,  1080,    87,    88,   305,   117,
2070 <     224,  1081,   306,   307,   447,   498,    89,   118,   608,   499,
2071 <     573,   308,    68,   119,   360,   120,   121,   122,  1082,    69,
2072 <     448,   309,   123,   310,   311,   385,   225,   397,   124,   125,
2073 <     249,   126,   127,   128,   479,   449,   398,   129,   399,   450,
2074 <     400,   361,   401,   130,   402,   403,   404,   131,   132,  1083,
2075 <     405,   133,   406,   250,  1238,   407,   408,  1084,   409,   410,
2076 <     411,   134,   412,   413,   414,   415,   232,   416,   135,   500,
2077 <     136,   417,   137,   418,   138,   139,   140,  1239,   419,  1240,
2078 <     420,   362,   421,   422,    70,   423,   424,   251,   624,   575,
2079 <     585,   141,   501,   426,  1085,   428,   429,   142,   143,   144,
2080 <     430,   145,   233,   431,   146,   147,   312,   502,   148,   432,
2081 <     433,   252,   434,  1086,   435,   253,   234,   235,   236,   237,
2082 <     238,   436,   451,  1241,   437,   254,   438,   255,   256,   439,
2083 <     452,   453,   440,   574,   531,   239,   576,   441,   577,   579,
2084 <     442,   443,   149,   444,   487,   492,   150,  1221,   493,   151,
2085 <     152,   153,   154,   155,  1118,   524,   156,   157,   525,   526,
2086 <    1087,   527,   257,   454,   258,   259,   260,   261,   528,   529,
2087 <     349,   530,   350,   503,   351,  1119,   785,   786,   787,   788,
2088 <     789,   790,   791,   262,  1172,   534,   352,   535,   504,   536,
2089 <    1120,   537,   538,   539,  1242,  1243,   540,  1121,   158,   159,
2090 <     160,   353,   541,   161,   542,   354,   314,   263,   162,   543,
2091 <     544,   545,   546,   547,   579,  1122,   548,   264,   455,   549,
2092 <     315,   316,   550,   569,   317,   586,   355,   582,   356,  1244,
2093 <    1017,  1018,  1019,  1020,  1021,  1022,  1023,   583,   357,     2,
2094 <       3,   318,   584,     4,  1123,   587,   589,   265,   266,   590,
2095 <     591,  1124,   630,     5,   592,   593,     6,     7,   594,   610,
2096 <    1173,   596,     8,  1125,   597,   358,   598,   599,   600,   601,
2097 <     602,   603,   604,     9,   605,   606,   873,    10,    11,   607,
2098 <    1126,  1127,  1128,   319,   320,   321,   611,    12,   612,   322,
2099 <     613,  1174,   359,   614,   616,   323,   324,   617,   618,   619,
2100 <    1175,   325,    13,   620,   621,   622,  1176,   623,   626,   627,
2101 <      14,    15,   326,   327,  1142,   631,   632,   633,   637,   640,
2102 <     360,  1177,   641,  1178,  1179,   642,   643,   328,   644,   645,
2103 <     647,  1129,   649,  1180,    16,   650,   651,   652,   653,  1181,
2104 <     654,  1130,   656,   897,   657,   663,  1131,   361,    17,   659,
2105 <     660,   661,  1132,   662,   664,   329,  1133,   665,   666,  1134,
2106 <     667,   670,   671,   672,  1135,   673,   678,   679,   684,   685,
2107 <    1136,   687,   682,   686,   711,  1186,   688,   704,   714,   715,
2108 <      18,   689,   734,   690,   692,   735,   693,   362,   694,   712,
2109 <     713,    19,    20,   695,   696,    21,    22,   330,   874,   875,
2110 <     876,   877,   878,   699,   879,   880,   701,   881,   882,   883,
2111 <     706,   707,   884,   708,   885,   886,   887,   716,   888,   718,
2112 <     889,   717,   890,   891,   736,   737,   892,   738,   739,   742,
2113 <     719,   743,   893,   728,   741,   721,  1143,  1144,  1145,  1146,
2114 <    1147,   722,  1148,  1149,   723,  1150,  1151,  1152,   725,    23,
2115 <    1153,  1187,  1154,  1155,  1156,   729,  1157,   744,  1158,   730,
2116 <    1159,  1160,   731,   745,  1161,   898,   899,   900,   901,   902,
2117 <    1162,   903,   904,   746,   905,   906,   907,   747,   748,   908,
2118 <      76,   909,  1188,   910,   749,   911,   750,   912,   751,   913,
2119 <     914,  1189,   760,   915,   761,   762,   763,  1190,   764,   916,
2120 <      77,    78,   765,   766,   767,   772,    79,   769,   777,   773,
2121 <     778,   779,  1191,   780,  1192,  1193,   804,   781,   782,   783,
2122 <     784,   794,   795,   796,  1194,   797,   798,   799,   800,   805,
2123 <    1195,   801,   802,   803,   808,   809,   810,   811,   807,   814,
2124 <     815,   816,   818,   821,   822,   825,    80,    81,   826,   827,
2125 <     828,   829,   832,   836,    82,    83,    84,   830,   839,   840,
2126 <     843,   831,   833,   834,   835,   837,   838,   841,   842,   844,
2127 <     845,   846,   847,   938,   848,   941,   849,   942,   943,   850,
2128 <     851,    85,    86,   852,   939,   853,   944,   854,   945,   855,
2129 <     856,   857,   947,   858,    87,    88,   949,   859,   940,   860,
2130 <     861,   862,   863,   864,    89,   952,   865,   866,   953,   867,
2131 <     868,   869,   870,   954,   871,   872,   896,   919,   920,   921,
2132 <     922,   923,   924,   925,   926,   927,   928,   929,   930,   931,
2133 <     932,   933,   934,   935,   970,   936,   937,   946,   973,   974,
2134 <     950,   948,   971,   957,   975,   951,   958,   977,   968,   969,
2135 <     979,   980,   981,  1009,  1011,  1013,  1215,   298,  1115,   972,
2136 <    1169,  1170,  1069,  1255,  1236,   727,  1250,  1249,   609,  1231,
2137 <     710,   978,   976,  1096,   982,  1010,   983,   984,   698,   985,
2138 <     986,   987,   988,   989,   990,   991,  1216,   992,  1234,   993,
2139 <     994,   995,  1218,   996,   997,   771,   733,   998,   999,  1251,
2140 <    1004,  1005,  1006,  1252,  1007,   776,  1008,  1012,  1232,  1235,
2141 <    1015,  1016,  1014,  1024,  1025,  1026,  1031,  1032,  1033,  1034,
2142 <    1035,  1036,  1037,  1038,  1039,  1040,  1046,  1047,  1048,  1049,
2143 <    1050,  1107,  1051,  1052,   387,  1057,  1058,  1059,   703,   629,
2144 <    1060,  1061,  1062,  1063,   446,  1064,  1065,  1208,  1066,  1067,
2145 <    1233,   313,  1207,     0,     0,   552,  1068,     0,  1076,  1077,
2146 <    1090,  1091,  1092,  1093,  1094,  1095,  1099,  1105,     0,  1106,
2147 <     489,  1110,     0,   636,  1108,  1111,  1113,  1116,  1117,  1139,
2148 <    1140,  1141,  1165,  1166,     0,  1167,  1168,  1171,  1184,  1185,
2149 <    1217,     0,     0,  1222,  1219,  1237,  1247,  1248,     0,     0,
2150 <     495,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2151 <       0,     0,     0,     0,     0,   532,     0,     0,     0,     0,
2152 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2123 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2124 <       0,   571,     0,     0,     0,     0,     0,     0,     0,     0,
2125 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2034 >     841,   842,   597,   598,   599,   564,    49,   840,    70,   472,
2035 >     248,   109,   525,  1084,    79,   502,   229,  1056,  1022,   495,
2036 >     286,    50,  1023,   495,   293,   219,   479,  1032,   579,    47,
2037 >      48,   503,    71,  1126,   249,    80,    81,   395,  1024,    72,
2038 >     286,    82,  1025,    54,   230,    56,   526,   504,   525,   395,
2039 >      60,   472,   231,  1099,   293,  1101,  1227,  1100,  1032,  1102,
2040 >    1228,    64,   385,   579,   232,   233,   250,   234,   235,   236,
2041 >     385,   110,  1232,   251,   564,    65,  1233,   505,    83,    84,
2042 >     219,   480,   526,    67,    85,    86,   481,   527,   482,   237,
2043 >    1057,    87,    88,    89,   496,   252,   653,   654,   496,   253,
2044 >     775,   776,   565,  1253,   661,    73,    68,   254,   665,   115,
2045 >     255,   256,   506,   670,   116,   117,   673,    90,    91,   220,
2046 >     118,   294,   386,   527,  1033,   580,   683,   684,   119,   120,
2047 >     386,   109,   507,   473,   396,   121,   528,   696,   122,   123,
2048 >     699,   700,   257,   221,   124,   106,   396,   483,   508,   125,
2049 >     126,   294,   127,   128,   129,  1033,   130,   779,   780,   258,
2050 >     580,   397,   259,   131,   453,   509,   510,   132,   133,  1127,
2051 >     107,   565,   528,   397,   220,   473,   134,  1236,  1238,  1128,
2052 >     454,  1237,  1239,   108,   114,   135,   387,   260,   497,  -123,
2053 >     216,   110,   497,   136,   387,   137,   455,   138,   221,   139,
2054 >    1085,   140,   141,   217,  1246,   261,   262,   263,  1247,  -123,
2055 >     218,   226,  1248,   299,   142,   511,  1249,  1034,   227,   143,
2056 >     144,   145,   566,   146,   147,   148,   456,  1250,   149,   300,
2057 >     474,  1251,   264,   265,   760,   303,   512,   562,   393,   751,
2058 >     287,   317,   745,   542,  1035,   581,   732,   573,  1034,   582,
2059 >     228,   577,   493,   724,   150,   800,   490,  1257,  1105,   319,
2060 >     287,  1258,   151,   152,   153,   154,   155,   156,   688,   285,
2061 >     298,   689,   474,   320,   321,  1035,   650,   322,   717,  1106,
2062 >     581,   457,  1282,    70,   582,  1211,  1283,   544,  1107,   458,
2063 >     459,   566,   571,   479,   301,   157,   302,   644,  1070,  1071,
2064 >    1072,   789,   828,   845,   846,   690,   832,    71,   691,   835,
2065 >     460,   305,   306,   839,    72,  1108,  1229,  1230,  1231,   158,
2066 >     159,   323,   160,   161,   162,   575,   307,   354,   163,   355,
2067 >     308,   356,   309,   164,   310,   311,   451,  1272,   588,   324,
2068 >     325,   326,   327,   357,  1109,  1110,   328,   312,   480,   313,
2069 >     329,   314,  1111,   481,   453,   482,   330,   315,   316,   358,
2070 >     592,   392,   402,   403,  1273,   404,  1274,   331,   332,   405,
2071 >     454,   406,   407,   408,   409,   596,   410,  1112,   411,   333,
2072 >      73,   412,   359,   413,   360,   461,   455,   414,   415,   361,
2073 >     416,   713,   417,  1113,   418,   419,   420,   840,   421,   362,
2074 >     422,   334,   809,   810,   811,   812,   813,   814,   815,   248,
2075 >     423,  1275,   424,   425,   483,   115,   456,   426,   427,   428,
2076 >     116,   117,   430,   432,   363,   433,   118,   434,   435,   436,
2077 >     437,   438,   439,   249,   119,   120,   440,   441,   442,   443,
2078 >     335,   121,   444,   445,   122,   123,   446,   447,   364,   448,
2079 >     124,   449,   450,   491,  1114,   125,   126,   492,   127,   128,
2080 >     129,   534,   130,  1276,  1277,   250,   535,   536,   365,   131,
2081 >     537,   457,   251,   132,   133,   589,   538,   366,   539,   458,
2082 >     459,   540,   134,   541,   545,   546,   623,   547,   590,   548,
2083 >     549,   135,   550,   551,   252,   552,   553,   591,   253,   136,
2084 >     460,   137,   554,   138,   229,   139,   254,   140,   141,   255,
2085 >     256,  1046,  1047,  1048,  1049,  1050,  1051,  1052,   555,  1278,
2086 >     142,   556,   367,   557,   558,   143,   144,   145,  1138,   146,
2087 >     147,   148,   230,   559,   149,   560,   561,   572,   576,   593,
2088 >     231,   257,  1139,   594,   595,   596,   600,   502,   601,   368,
2089 >    1140,   602,   232,   233,   640,   234,   235,   236,   258,   603,
2090 >     150,   259,   605,   503,  1141,   604,   606,   607,   151,   152,
2091 >     153,   154,   155,   156,   608,   461,   609,   237,   354,   504,
2092 >     355,   611,   356,   625,   612,   646,   260,   613,  1254,   614,
2093 >     615,  1142,   616,  1143,   357,   656,   617,   618,   619,   620,
2094 >     621,   157,   622,   626,   261,   262,   263,   627,   628,   505,
2095 >     358,   629,   630,   631,   633,   634,   635,   636,   637,  1144,
2096 >     638,   639,   642,   643,   647,   158,   159,   652,   160,   161,
2097 >     162,   264,   265,   359,   163,   360,   648,   649,   655,   164,
2098 >     361,   658,   657,   659,   506,   660,   663,   664,   666,   662,
2099 >     362,   667,  1145,   671,  1146,   668,   669,   672,   674,   675,
2100 >     676,   677,   678,   679,   507,   680,   682,   685,   686,   687,
2101 >     692,   693,   681,  1147,   694,   363,   697,   695,   698,   701,
2102 >     508,   702,   726,   705,   706,   727,   756,   753,   754,   755,
2103 >     703,  1148,   704,   757,   719,   762,  1149,   509,   510,   364,
2104 >    1150,  1195,   708,   709,   710,  1151,   711,   319,  1152,   894,
2105 >     712,   715,   716,  1153,   720,   721,     2,     3,   723,   365,
2106 >       4,   320,   321,   728,   729,   322,   764,  1154,   366,   730,
2107 >       5,   731,  1155,     6,     7,   734,   735,   736,   758,   738,
2108 >       8,   739,   740,  1156,   741,   742,   744,   511,   747,   748,
2109 >    1157,     9,   918,   749,    10,    11,   750,   759,   761,   765,
2110 >     766,   767,   768,  1196,   769,   763,   770,   771,   512,   323,
2111 >     772,   773,   774,   367,   787,   785,   783,   784,    12,   791,
2112 >     794,   826,   827,    13,   786,   792,   797,   324,   325,   326,
2113 >     327,    14,  1197,   793,   328,  1165,   799,   795,   329,  1198,
2114 >     368,   796,   802,   803,   330,   804,   805,   806,  1199,   807,
2115 >     808,   818,    15,    16,   819,   331,   332,   820,   821,   822,
2116 >     823,   895,   896,   897,   824,   898,   899,   333,   900,   901,
2117 >      17,   902,   825,   903,   829,  1200,   904,  1201,  1202,   905,
2118 >     906,   907,   830,   908,   831,   833,   834,    18,   909,   334,
2119 >     836,  1203,   910,   911,   912,   837,  1214,   838,  1204,   840,
2120 >      19,    20,   913,   843,   919,   920,   921,   914,   922,   923,
2121 >     851,   924,   925,   844,   926,   847,   927,   848,   849,   928,
2122 >      21,   850,   929,   930,   931,   852,   932,   853,   335,   854,
2123 >     855,   933,   856,    22,   857,   934,   935,   936,   858,   859,
2124 >     860,   861,    23,   862,   863,   937,    24,  1166,  1167,  1168,
2125 >     938,  1169,  1170,   864,  1171,  1172,   865,  1173,  1215,  1174,
2126 >     866,   867,  1175,   868,    79,  1176,  1177,  1178,   869,  1179,
2127 >     962,   870,   871,   965,  1180,   872,   873,   874,  1181,  1182,
2128 >    1183,   875,   876,   964,   877,    80,    81,  1216,  1184,   878,
2129 >     879,    82,   880,  1185,  1217,   881,   882,   883,   884,   885,
2130 >     886,   966,   887,  1218,   967,   968,   888,   889,   890,   891,
2131 >     892,   893,   917,   963,   969,   941,   977,   971,   972,   974,
2132 >     942,   943,   975,   944,   945,   983,   946,   947,    83,    84,
2133 >    1219,   976,  1220,  1221,    85,    86,   984,   948,   986,   949,
2134 >     950,    87,    88,    89,   988,   989,  1222,   951,   990,   952,
2135 >     953,   954,   955,  1223,   987,   956,   957,   991,   958,   959,
2136 >     992,   960,   961,   970,   973,   980,   981,    90,    91,   982,
2137 >     985,   993,   995,   996,   997,   994,   998,   999,  1000,  1001,
2138 >    1002,  1003,  1004,  1005,  1006,  1007,  1008,  1009,  1028,  1010,
2139 >    1011,  1012,  1013,  1014,  1015,  1016,  1017,  1018,  1019,  1020,
2140 >    1021,  1026,  1027,  1042,  1030,  1031,  1029,  1041,  1044,  1043,
2141 >    1045,  1053,  1054,  1055,  1060,  1061,  1062,  1063,  1240,  1064,
2142 >    1252,  1263,  1264,  1265,  1065,  1066,  1192,  1067,  1068,   304,
2143 >    1069,  1075,  1076,  1077,  1078,  1193,  1079,  1080,  1081,  1082,
2144 >     733,  1083,  1284,  1088,  1089,  1090,  1091,  1092,  1093,   746,
2145 >    1094,  1095,  1212,  1096,  1097,  1098,  1103,  1104,  1117,  1118,
2146 >    1119,  1131,  1120,  1121,  1267,  1122,  1123,  1124,  1125,  1266,
2147 >    1134,  1259,  1135,  1132,  1136,  1137,  1208,  1160,  1241,  1161,
2148 >     725,  1262,  1162,  1163,  1164,  1188,  1189,  1190,  1191,  1194,
2149 >     714,  1207,  1261,   752,  1213,  1226,  1209,  1242,   494,  1268,
2150 >    1256,  1243,  1281,  1244,  1245,  1255,  1269,   790,  1270,  1271,
2151 >     641,   801,  1260,   718,   645,   394,   452,   651,  1234,  1235,
2152 >     318,     0,   543,     0,     0,     0,     0,     0,     0,     0,
2153         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2154 +     563,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2155         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2156 +       0,     0,     0,     0,     0,   574,     0,     0,     0,     0,
2157 +       0,     0,     0,     0,     0,     0,     0,     0,   578,     0,
2158         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2159         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2160         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2161 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2132 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2133 <       0,     0,     0,   625
2161 >       0,     0,     0,     0,   624
2162   };
2163  
2164   #define yypact_value_is_default(Yystate) \
2165 <  (!!((Yystate) == (-985)))
2165 >  (!!((Yystate) == (-755)))
2166  
2167   #define yytable_value_is_error(Yytable_value) \
2168    YYID (0)
2169  
2170   static const yytype_int16 yycheck[] =
2171   {
2172 <     606,   607,   302,   303,   106,   226,     8,     1,     1,     1,
2173 <     310,     1,     1,   226,     1,   224,     1,     1,     1,   228,
2174 <      51,     1,   224,     9,    10,    11,   228,     1,   224,   225,
2175 <     224,   224,     1,   224,   228,   228,     1,     1,   226,     1,
2176 <      24,   226,     6,     7,   226,    34,    36,    31,    12,   224,
2177 <     167,   168,     1,   228,     1,     1,    20,  1041,  1042,  1043,
2178 <       1,     1,    26,     1,    28,    29,    30,    57,    62,   139,
2179 <     140,    35,    62,     1,     1,    62,    17,    41,    42,     1,
2180 <      44,    45,    46,     1,    73,   226,    50,     1,    62,     1,
2181 <      17,    32,    56,    62,   226,    36,    60,    61,   398,   399,
2182 <      64,   203,    24,    96,    96,    32,   406,   226,   408,    36,
2183 <      74,    96,    96,    96,   226,   415,    34,    81,   418,    83,
2184 <     106,    85,   226,    87,    88,    89,   224,   226,   428,   429,
2185 <     228,    96,   126,   123,    96,   226,    58,   126,   438,   439,
2186 <     104,   441,   226,   126,     1,    94,   110,   111,   112,    96,
2187 <     114,   226,   126,   117,   118,    73,    96,   121,    15,    16,
2188 <      82,   126,    19,   194,    86,   158,   158,   226,   199,    96,
2189 <     226,   120,   167,   168,    96,   158,    98,    99,   119,    36,
2190 <     126,   224,    96,   227,    96,   228,   127,   128,   126,   226,
2191 <     224,   155,   119,   158,   228,   159,   158,   199,   162,   163,
2192 <     164,   165,   166,   139,   140,   169,   170,   134,   126,   185,
2193 <     186,   133,   158,   135,   136,   137,   138,   226,   158,   160,
2194 <     158,    78,    79,    80,     1,   226,     3,    84,     5,   222,
2195 <     530,   225,   154,    90,    91,   225,   225,   217,   225,    96,
2196 <      17,   225,     1,   223,   158,   225,   158,   211,   212,   213,
2197 <     107,   108,   216,   215,   224,    32,   178,   221,   228,    36,
2198 <     225,   225,    21,    22,   227,   122,   188,     1,    27,   215,
2199 <       1,   226,     1,   200,   215,   215,   225,   215,   225,   225,
2200 <      57,   224,    59,   227,   225,   225,   124,   224,   215,   217,
2201 <     223,   228,    69,   150,   594,   223,   218,   219,   225,   167,
2202 <     600,   601,   227,   225,   227,   605,    37,    36,    67,    68,
2203 <     222,   225,   227,   225,    92,    93,    75,    76,    77,    96,
2204 <      51,    52,    53,    54,    55,    13,   224,   224,    57,   224,
2205 <     228,   228,   224,    62,     1,   192,   228,   224,   224,    70,
2206 <     224,   228,   228,   102,   103,    33,   123,   227,     1,     1,
2207 <      17,   227,   227,     6,     7,    43,   115,   116,   227,    12,
2208 <      94,    49,   227,   227,     1,    32,   125,    20,   225,    36,
2209 <     124,   227,    24,    26,   151,    28,    29,    30,    66,    31,
2210 <      17,   227,    35,   227,   227,   227,   120,   227,    41,    42,
2211 <       1,    44,    45,    46,   123,    32,   227,    50,   227,    36,
2212 <     227,   178,   227,    56,   227,   227,   227,    60,    61,    97,
2213 <     227,    64,   227,    24,    40,   227,   227,   105,   227,   227,
2214 <     227,    74,   227,   227,   227,   227,     1,   227,    81,    96,
2215 <      83,   227,    85,   227,    87,    88,    89,    63,   227,    65,
2216 <     227,   218,   227,   227,    96,   227,   227,    58,   225,   224,
2217 <     167,   104,   119,   227,   142,   227,   227,   110,   111,   112,
2218 <     227,   114,    37,   227,   117,   118,   225,   134,   121,   227,
2219 <     227,    82,   227,   161,   227,    86,    51,    52,    53,    54,
2220 <      55,   227,   119,   109,   227,    96,   227,    98,    99,   227,
2221 <     127,   128,   227,   124,   225,    70,   106,   227,   106,   106,
2222 <     227,   227,   155,   227,   227,   227,   159,  1113,   227,   162,
2223 <     163,   164,   165,   166,     4,   227,   169,   170,   227,   227,
2224 <     208,   227,   133,   160,   135,   136,   137,   138,   227,   227,
2225 <       1,   227,     3,   200,     5,    25,   143,   144,   145,   146,
2226 <     147,   148,   149,   154,    65,   227,    17,   227,   215,   227,
2227 <      40,   227,   227,   227,   180,   181,   227,    47,   211,   212,
2228 <     213,    32,   227,   216,   227,    36,     1,   178,   221,   227,
2229 <     227,   227,   227,   227,   106,    65,   227,   188,   215,   227,
2230 <      15,    16,   227,   227,    19,   167,    57,   106,    59,   215,
2231 <     785,   786,   787,   788,   789,   790,   791,   106,    69,     0,
2232 <       1,    36,   106,     4,    94,   106,   167,   218,   219,   224,
2233 <     224,   101,   124,    14,   227,   227,    17,    18,   227,   224,
2234 <     141,   227,    23,   113,   227,    96,   227,   227,   227,   227,
2235 <     227,   227,   227,    34,   227,   227,    51,    38,    39,   227,
2236 <     130,   131,   132,    78,    79,    80,   227,    48,   227,    84,
2237 <     227,   172,   123,   227,   227,    90,    91,   227,   227,   227,
2238 <     181,    96,    63,   227,   227,   227,   187,   227,   227,   227,
2239 <      71,    72,   107,   108,    51,   224,   227,   227,   167,   106,
2240 <     151,   202,   167,   204,   205,   167,   106,   122,   124,   167,
2241 <     167,   181,   106,   214,    95,   106,   106,   167,   167,   220,
2242 <     167,   191,   106,    51,   106,   167,   196,   178,   109,   106,
2243 <     106,   106,   202,   106,   167,   150,   206,   227,   167,   209,
2244 <     227,   167,   167,   167,   214,   167,   167,   167,   167,   167,
2245 <     220,   224,   124,   167,   167,    65,   224,   224,   124,   124,
2246 <     141,   227,   167,   227,   227,   167,   227,   218,   227,   224,
2247 <     226,   152,   153,   227,   227,   156,   157,   192,   173,   174,
2248 <     175,   176,   177,   227,   179,   180,   227,   182,   183,   184,
2249 <     227,   227,   187,   227,   189,   190,   191,   224,   193,   227,
2250 <     195,   224,   197,   198,   124,   167,   201,   167,   167,   124,
2251 <     227,   167,   207,   224,   224,   227,   173,   174,   175,   176,
2252 <     177,   227,   179,   180,   227,   182,   183,   184,   227,   210,
2253 <     187,   141,   189,   190,   191,   227,   193,   106,   195,   227,
2254 <     197,   198,   227,   106,   201,   173,   174,   175,   176,   177,
2255 <     207,   179,   180,   124,   182,   183,   184,   124,   124,   187,
2256 <       1,   189,   172,   191,   124,   193,   124,   195,   124,   197,
2257 <     198,   181,   124,   201,   124,   106,   124,   187,   124,   207,
2258 <      21,    22,   224,   224,   227,   224,    27,   227,   124,   227,
2259 <     224,   224,   202,   224,   204,   205,   106,   224,   224,   224,
2260 <     224,   224,   224,   224,   214,   224,   224,   224,   224,   106,
2261 <     220,   224,   224,   224,   106,   106,   106,   106,   227,   124,
2262 <     106,   106,   106,   224,   124,   124,    67,    68,   167,   227,
2263 <     124,   124,   106,   224,    75,    76,    77,   124,   224,   224,
2264 <     227,   124,   124,   124,   124,   124,   124,   124,   124,   224,
2265 <     224,   224,   224,   124,   224,   124,   224,   106,   124,   224,
2266 <     224,   102,   103,   224,   167,   224,   124,   224,   124,   224,
2267 <     224,   224,   124,   224,   115,   116,   124,   224,   227,   224,
2268 <     224,   224,   224,   224,   125,   124,   224,   224,   124,   224,
2269 <     224,   224,   224,   106,   224,   224,   224,   224,   224,   224,
2270 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2271 <     224,   224,   224,   224,   124,   224,   224,   224,   124,   124,
2272 <     224,   227,   167,   224,   124,   227,   224,   124,   224,   224,
2273 <     124,   124,   124,   124,   124,   124,   106,    71,   963,   227,
2274 <    1001,  1003,   129,  1254,  1214,   505,  1226,  1224,   331,  1199,
2275 <     481,   224,   227,   129,   224,   227,   224,   224,   456,   224,
2276 <     224,   224,   224,   224,   224,   224,  1108,   224,  1210,   224,
2277 <     224,   224,   124,   224,   224,   557,   519,   224,   224,  1228,
2278 <     224,   224,   224,  1230,   224,   565,   224,   224,  1204,  1212,
2279 <     224,   224,   227,   224,   224,   224,   224,   224,   224,   224,
2280 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2281 <     224,   171,   224,   224,   110,   224,   224,   224,   471,   381,
2282 <     224,   224,   224,   224,   163,   224,   224,  1075,   224,   224,
2283 <    1206,    90,  1073,    -1,    -1,   267,   224,    -1,   224,   224,
2284 <     224,   224,   224,   224,   224,   224,   224,   224,    -1,   224,
2285 <     218,   224,    -1,   393,   228,   227,   227,   224,   224,   224,
2286 <     224,   224,   224,   224,    -1,   224,   224,   224,   224,   224,
2287 <     224,    -1,    -1,   224,   227,   224,   224,   224,    -1,    -1,
2288 <     226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2289 <      -1,    -1,    -1,    -1,    -1,   240,    -1,    -1,    -1,    -1,
2290 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2263 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2264 <      -1,   290,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2265 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2266 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2267 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2172 >     621,   622,   309,   310,   311,     1,   229,   108,     1,     1,
2173 >       1,     1,     1,     8,     1,     1,     1,    51,   227,     1,
2174 >       1,   229,   231,     1,     1,     1,     1,     1,     1,   227,
2175 >     228,    17,    25,    49,    25,    22,    23,     1,   227,    32,
2176 >       1,    28,   231,   229,    29,   229,    35,    33,     1,     1,
2177 >     229,     1,    37,   227,     1,   227,   227,   231,     1,   231,
2178 >     231,   229,     1,     1,    49,    50,    57,    52,    53,    54,
2179 >       1,    61,   227,    64,     1,   229,   231,    63,    65,    66,
2180 >       1,    56,    35,   229,    71,    72,    61,    76,    63,    74,
2181 >     124,    78,    79,    80,    76,    86,   403,   404,    76,    90,
2182 >     199,   200,    98,   204,   411,    98,   229,    98,   415,     1,
2183 >     101,   102,    98,   420,     6,     7,   423,   104,   105,    95,
2184 >      12,    98,    61,    76,    98,    98,   433,   434,    20,    21,
2185 >      61,     1,   118,   125,    98,    27,   125,   444,    30,    31,
2186 >     447,   448,   133,   119,    36,   229,    98,   122,   134,    41,
2187 >      42,    98,    44,    45,    46,    98,    48,   199,   200,   150,
2188 >      98,   125,   153,    55,     1,   151,   152,    59,    60,   185,
2189 >     229,    98,   125,   125,    95,   125,    68,   227,   227,   195,
2190 >      17,   231,   231,   229,   229,    77,   125,   178,   170,   170,
2191 >     229,    61,   170,    85,   125,    87,    33,    89,   119,    91,
2192 >     195,    93,    94,   229,   227,   196,   197,   198,   231,   170,
2193 >     229,   229,   227,   227,   106,   201,   231,   191,   229,   111,
2194 >     112,   113,   218,   115,   116,   117,    63,   227,   120,   230,
2195 >     222,   231,   223,   224,   541,   228,   222,   228,   228,   228,
2196 >     221,   228,   228,   228,   218,   218,   228,   228,   191,   222,
2197 >     229,   228,   228,   228,   146,   228,   227,   227,    13,     1,
2198 >     221,   231,   154,   155,   156,   157,   158,   159,   210,   229,
2199 >     229,   213,   222,    15,    16,   218,   228,    19,   228,    34,
2200 >     218,   118,   227,     1,   222,   228,   231,   227,    43,   126,
2201 >     127,   218,   227,     1,   230,   187,   230,   228,     9,    10,
2202 >      11,   228,   609,   174,   175,   210,   613,    25,   213,   616,
2203 >     147,   230,   230,   620,    32,    70,  1070,  1071,  1072,   211,
2204 >     212,    63,   214,   215,   216,   170,   230,     1,   220,     3,
2205 >     230,     5,   230,   225,   230,   230,   228,    40,   123,    81,
2206 >      82,    83,    84,    17,    99,   100,    88,   230,    56,   230,
2207 >      92,   230,   107,    61,     1,    63,    98,   230,   230,    33,
2208 >     108,   230,   230,   230,    67,   230,    69,   109,   110,   230,
2209 >      17,   230,   230,   230,   230,   108,   230,   132,   230,   121,
2210 >      98,   230,    56,   230,    58,   222,    33,   230,   230,    63,
2211 >     230,   228,   230,   148,   230,   230,   230,   108,   230,    73,
2212 >     230,   143,   135,   136,   137,   138,   139,   140,   141,     1,
2213 >     230,   114,   230,   230,   122,     1,    63,   230,   230,   230,
2214 >       6,     7,   230,   230,    98,   230,    12,   230,   230,   230,
2215 >     230,   230,   230,    25,    20,    21,   230,   230,   230,   230,
2216 >     182,    27,   230,   230,    30,    31,   230,   230,   122,   230,
2217 >      36,   230,   230,   230,   209,    41,    42,   230,    44,    45,
2218 >      46,   230,    48,   166,   167,    57,   230,   230,   142,    55,
2219 >     230,   118,    64,    59,    60,   123,   230,   151,   230,   126,
2220 >     127,   230,    68,   230,   230,   230,   228,   230,   123,   230,
2221 >     230,    77,   230,   230,    86,   230,   230,   227,    90,    85,
2222 >     147,    87,   230,    89,     1,    91,    98,    93,    94,   101,
2223 >     102,   809,   810,   811,   812,   813,   814,   815,   230,   222,
2224 >     106,   230,   196,   230,   230,   111,   112,   113,     4,   115,
2225 >     116,   117,    29,   230,   120,   230,   230,   230,   230,   108,
2226 >      37,   133,    18,   210,   108,   108,   108,     1,   108,   223,
2227 >      26,   108,    49,    50,   228,    52,    53,    54,   150,   210,
2228 >     146,   153,   227,    17,    40,   210,   227,   230,   154,   155,
2229 >     156,   157,   158,   159,   230,   222,   230,    74,     1,    33,
2230 >       3,   230,     5,   227,   230,   123,   178,   230,  1209,   230,
2231 >     230,    67,   230,    69,    17,   108,   230,   230,   230,   230,
2232 >     230,   187,   230,   230,   196,   197,   198,   230,   230,    63,
2233 >      33,   230,   230,   230,   230,   230,   230,   230,   230,    95,
2234 >     230,   230,   230,   230,   227,   211,   212,   210,   214,   215,
2235 >     216,   223,   224,    56,   220,    58,   230,   230,   210,   225,
2236 >      63,   108,   210,   123,    98,   210,   108,   108,   108,   210,
2237 >      73,   210,   128,   108,   130,   210,   210,   108,   108,   108,
2238 >     108,   108,   210,   230,   118,   210,   210,   210,   210,   210,
2239 >     210,   210,   230,   149,   210,    98,   210,   123,   210,   210,
2240 >     134,   210,   123,   230,   230,   123,   123,   210,   210,   210,
2241 >     227,   167,   227,   210,   227,   123,   172,   151,   152,   122,
2242 >     176,    69,   230,   230,   230,   181,   230,     1,   184,    49,
2243 >     230,   230,   230,   189,   230,   230,     0,     1,   230,   142,
2244 >       4,    15,    16,   227,   227,    19,   123,   203,   151,   230,
2245 >      14,   230,   208,    17,    18,   227,   230,   230,   210,   230,
2246 >      24,   230,   230,   219,   230,   230,   230,   201,   227,   230,
2247 >     226,    35,    49,   230,    38,    39,   230,   210,   227,   108,
2248 >     108,   123,   123,   131,   123,   210,   123,   123,   222,    63,
2249 >     123,   108,   123,   196,   230,   227,   123,   123,    62,   210,
2250 >     123,   108,   108,    67,   227,   227,   230,    81,    82,    83,
2251 >      84,    75,   160,   229,    88,    49,   230,   227,    92,   167,
2252 >     223,   227,   227,   227,    98,   227,   227,   227,   176,   227,
2253 >     227,   227,    96,    97,   227,   109,   110,   227,   227,   227,
2254 >     227,   161,   162,   163,   227,   165,   166,   121,   168,   169,
2255 >     114,   171,   227,   173,   230,   203,   176,   205,   206,   179,
2256 >     180,   181,   108,   183,   108,   108,   108,   131,   188,   143,
2257 >     123,   219,   192,   193,   194,   108,    69,   108,   226,   108,
2258 >     144,   145,   202,   227,   161,   162,   163,   207,   165,   166,
2259 >     230,   168,   169,   123,   171,   123,   173,   210,   123,   176,
2260 >     164,   123,   179,   180,   181,   123,   183,   123,   182,   108,
2261 >     123,   188,   123,   177,   123,   192,   193,   194,   123,   227,
2262 >     123,   123,   186,   227,   227,   202,   190,   161,   162,   163,
2263 >     207,   165,   166,   123,   168,   169,   123,   171,   131,   173,
2264 >     227,   227,   176,   227,     1,   179,   180,   181,   227,   183,
2265 >     123,   227,   227,   123,   188,   227,   227,   227,   192,   193,
2266 >     194,   227,   227,   230,   227,    22,    23,   160,   202,   227,
2267 >     227,    28,   227,   207,   167,   227,   227,   227,   227,   227,
2268 >     227,   108,   227,   176,   123,   123,   227,   227,   227,   227,
2269 >     227,   227,   227,   210,   123,   227,   108,   123,   123,   123,
2270 >     227,   227,   123,   227,   227,   123,   227,   227,    65,    66,
2271 >     203,   230,   205,   206,    71,    72,   123,   227,   123,   227,
2272 >     227,    78,    79,    80,   230,   123,   219,   227,   123,   227,
2273 >     227,   227,   227,   226,   210,   227,   227,   123,   227,   227,
2274 >     123,   227,   227,   227,   227,   227,   227,   104,   105,   227,
2275 >     227,   210,   123,   227,   123,   230,   123,   123,   227,   227,
2276 >     227,   227,   227,   227,   227,   227,   227,   227,   123,   227,
2277 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2278 >     227,   227,   227,   123,   227,   227,   230,   227,   123,   230,
2279 >     227,   227,   227,   227,   227,   227,   227,   227,   108,   227,
2280 >     123,   129,   129,   129,   227,   227,  1023,   227,   227,    74,
2281 >     227,   227,   227,   227,   227,  1025,   227,   227,   227,   227,
2282 >     498,   227,  1283,   227,   227,   227,   227,   227,   227,   513,
2283 >     227,   227,  1036,   227,   227,   227,   227,   227,   227,   227,
2284 >     227,   217,   227,   227,  1249,   227,   227,   227,   227,  1247,
2285 >     227,  1228,   227,   231,   227,   227,   230,   227,  1132,   227,
2286 >     485,  1239,   227,   227,   227,   227,   227,   227,   227,   227,
2287 >     462,   227,  1237,   529,   227,   227,   230,   227,   222,  1251,
2288 >     227,   232,  1258,   232,   232,   230,   227,   567,   227,   227,
2289 >     369,   583,  1233,   475,   388,   111,   165,   398,  1100,  1102,
2290 >      92,    -1,   238,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2291        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2292 +     266,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2293        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2294 +      -1,    -1,    -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,
2295 +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   295,    -1,
2296        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2297        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2298        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2299 <      -1,    -1,    -1,   363
2299 >      -1,    -1,    -1,    -1,   336
2300   };
2301  
2302   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2303     symbol of state STATE-NUM.  */
2304   static const yytype_uint16 yystos[] =
2305   {
2306 <       0,   230,     0,     1,     4,    14,    17,    18,    23,    34,
2307 <      38,    39,    48,    63,    71,    72,    95,   109,   141,   152,
2308 <     153,   156,   157,   210,   231,   236,   241,   265,   271,   285,
2309 <     303,   326,   340,   355,   362,   366,   376,   385,   405,   415,
2310 <     421,   425,   435,   492,   508,   224,   225,   226,   226,   304,
2311 <     386,   416,   226,   426,   226,   341,   406,   327,   226,   226,
2312 <     286,   356,   226,   226,   367,   377,   226,     1,    24,    31,
2313 <      96,   266,   267,   268,   269,   270,     1,    21,    22,    27,
2314 <      67,    68,    75,    76,    77,   102,   103,   115,   116,   125,
2315 <     493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
2316 <     503,   504,   505,   506,   507,   226,   226,   226,     1,    62,
2317 <     422,   423,   424,   226,     1,     6,     7,    12,    20,    26,
2318 <      28,    29,    30,    35,    41,    42,    44,    45,    46,    50,
2319 <      56,    60,    61,    64,    74,    81,    83,    85,    87,    88,
2320 <      89,   104,   110,   111,   112,   114,   117,   118,   121,   155,
2321 <     159,   162,   163,   164,   165,   166,   169,   170,   211,   212,
2322 <     213,   216,   221,   436,   437,   438,   439,   440,   441,   442,
2323 <     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
2324 <     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
2325 <     463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
2326 <     473,   474,   475,   476,   477,   478,   479,   480,   481,   485,
2327 <     489,   490,   491,   226,   226,   226,     1,   217,   272,   273,
2328 <     274,   275,   276,     1,    94,   120,   237,   238,   239,   240,
2329 <     226,   226,     1,    37,    51,    52,    53,    54,    55,    70,
2330 <     509,   510,   511,   512,   513,   514,   515,   516,   517,     1,
2331 <      24,    58,    82,    86,    96,    98,    99,   133,   135,   136,
2332 <     137,   138,   154,   178,   188,   218,   219,   242,   243,   244,
2333 <     245,   250,   251,   252,   253,   254,   255,   256,   257,   258,
2334 <     259,   260,   261,   262,   263,   264,   226,   226,     1,    96,
2335 <     363,   364,   365,   224,   227,   227,   227,   225,   267,   227,
2306 >       0,   234,     0,     1,     4,    14,    17,    18,    24,    35,
2307 >      38,    39,    62,    67,    75,    96,    97,   114,   131,   144,
2308 >     145,   164,   177,   186,   190,   235,   240,   245,   269,   275,
2309 >     281,   295,   315,   338,   352,   367,   374,   378,   388,   397,
2310 >     418,   424,   430,   434,   440,   498,   513,   227,   228,   229,
2311 >     229,   316,   398,   425,   229,   435,   229,   353,   419,   339,
2312 >     229,   276,   296,   368,   229,   229,   389,   229,   229,   379,
2313 >       1,    25,    32,    98,   270,   271,   272,   273,   274,     1,
2314 >      22,    23,    28,    65,    66,    71,    72,    78,    79,    80,
2315 >     104,   105,   499,   500,   501,   502,   503,   504,   505,   506,
2316 >     507,   508,   509,   510,   511,   512,   229,   229,   229,     1,
2317 >      61,   431,   432,   433,   229,     1,     6,     7,    12,    20,
2318 >      21,    27,    30,    31,    36,    41,    42,    44,    45,    46,
2319 >      48,    55,    59,    60,    68,    77,    85,    87,    89,    91,
2320 >      93,    94,   106,   111,   112,   113,   115,   116,   117,   120,
2321 >     146,   154,   155,   156,   157,   158,   159,   187,   211,   212,
2322 >     214,   215,   216,   220,   225,   441,   442,   443,   444,   445,
2323 >     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
2324 >     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
2325 >     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
2326 >     476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
2327 >     486,   487,   491,   495,   496,   497,   229,   229,   229,     1,
2328 >      95,   119,   241,   242,   243,   244,   229,   229,   229,     1,
2329 >      29,    37,    49,    50,    52,    53,    54,    74,   514,   515,
2330 >     516,   517,   518,   519,   520,   521,   522,   523,     1,    25,
2331 >      57,    64,    86,    90,    98,   101,   102,   133,   150,   153,
2332 >     178,   196,   197,   198,   223,   224,   246,   247,   248,   249,
2333 >     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
2334 >     264,   265,   266,   267,   268,   229,     1,   221,   282,   283,
2335 >     284,   285,   286,     1,    98,   375,   376,   377,   229,   227,
2336 >     230,   230,   230,   228,   271,   230,   230,   230,   230,   230,
2337 >     230,   230,   230,   230,   230,   230,   230,   228,   500,     1,
2338 >      15,    16,    19,    63,    81,    82,    83,    84,    88,    92,
2339 >      98,   109,   110,   121,   143,   182,   317,   318,   319,   320,
2340 >     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
2341 >     331,   332,   333,   334,     1,     3,     5,    17,    33,    56,
2342 >      58,    63,    73,    98,   122,   142,   151,   196,   223,   399,
2343 >     400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
2344 >     413,   414,   415,   416,   417,     1,    61,   125,   426,   427,
2345 >     428,   429,   230,   228,   432,     1,    98,   125,   436,   437,
2346 >     438,   439,   230,   230,   230,   230,   230,   230,   230,   230,
2347 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
2348 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   492,
2349 >     230,   488,   230,   230,   230,   230,   230,   230,   230,   230,
2350 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
2351 >     230,   228,   442,     1,    17,    33,    63,   118,   126,   127,
2352 >     147,   222,   354,   355,   356,   357,   358,   359,   360,   364,
2353 >     365,   366,     1,   125,   222,   420,   421,   422,   423,     1,
2354 >      56,    61,    63,   122,   340,   344,   345,   346,   350,   351,
2355 >     227,   230,   230,   228,   242,     1,    76,   170,   277,   278,
2356 >     279,   280,     1,    17,    33,    63,    98,   118,   134,   151,
2357 >     152,   201,   222,   297,   298,   299,   300,   301,   302,   303,
2358 >     304,   305,   306,   307,   311,     1,    35,    76,   125,   369,
2359 >     370,   371,   372,   373,   230,   230,   230,   230,   230,   230,
2360 >     230,   230,   228,   515,   227,   230,   230,   230,   230,   230,
2361 >     230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
2362 >     230,   230,   228,   247,     1,    98,   218,   390,   391,   392,
2363 >     393,   227,   230,   228,   283,   170,   230,   228,   376,     1,
2364 >      98,   218,   222,   380,   381,   382,   383,   384,   123,   123,
2365 >     123,   227,   108,   108,   210,   108,   108,   237,   237,   237,
2366 >     108,   108,   108,   210,   210,   227,   227,   230,   230,   230,
2367 >     335,   230,   230,   230,   230,   230,   230,   230,   230,   230,
2368 >     230,   230,   230,   228,   318,   227,   230,   230,   230,   230,
2369 >     230,   230,   410,   230,   230,   230,   230,   230,   230,   230,
2370 >     228,   400,   230,   230,   228,   427,   123,   227,   230,   230,
2371 >     228,   437,   210,   237,   237,   210,   108,   210,   108,   123,
2372 >     210,   237,   210,   108,   108,   237,   108,   210,   210,   210,
2373 >     237,   108,   108,   237,   108,   108,   108,   108,   210,   230,
2374 >     210,   230,   210,   237,   237,   210,   210,   210,   210,   213,
2375 >     210,   213,   210,   210,   210,   123,   237,   210,   210,   237,
2376 >     237,   210,   210,   227,   227,   230,   230,   361,   230,   230,
2377 >     230,   230,   230,   228,   355,   230,   230,   228,   421,   227,
2378 >     230,   230,   341,   230,   228,   345,   123,   123,   227,   227,
2379 >     230,   230,   228,   278,   227,   230,   230,   312,   230,   230,
2380 >     230,   230,   230,   308,   230,   228,   298,   227,   230,   230,
2381 >     230,   228,   370,   210,   210,   210,   123,   210,   210,   210,
2382 >     237,   227,   123,   210,   123,   108,   108,   123,   123,   123,
2383 >     123,   123,   123,   108,   123,   199,   200,   250,   251,   199,
2384 >     200,   252,   253,   123,   123,   227,   227,   230,   394,   228,
2385 >     391,   210,   227,   229,   123,   227,   227,   230,   385,   230,
2386 >     228,   381,   227,   227,   227,   227,   227,   227,   227,   135,
2387 >     136,   137,   138,   139,   140,   141,   236,   237,   227,   227,
2388 >     227,   227,   227,   227,   227,   227,   108,   108,   237,   230,
2389 >     108,   108,   237,   108,   108,   237,   123,   108,   108,   237,
2390 >     108,   239,   239,   227,   123,   174,   175,   123,   210,   123,
2391 >     123,   230,   123,   123,   108,   123,   123,   123,   123,   227,
2392 >     123,   123,   227,   227,   123,   123,   227,   227,   227,   227,
2393 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2394 >     227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2395 >     227,   227,   227,   227,    49,   161,   162,   163,   165,   166,
2396 >     168,   169,   171,   173,   176,   179,   180,   181,   183,   188,
2397 >     192,   193,   194,   202,   207,   493,   494,   227,    49,   161,
2398 >     162,   163,   165,   166,   168,   169,   171,   173,   176,   179,
2399 >     180,   181,   183,   188,   192,   193,   194,   202,   207,   489,
2400 >     490,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2401       227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2402 <     227,   227,   225,   494,     1,    15,    16,    19,    36,    78,
2403 <      79,    80,    84,    90,    91,    96,   107,   108,   122,   150,
2404 <     192,   305,   306,   307,   308,   309,   310,   311,   312,   313,
2405 <     314,   315,   316,   317,   318,   319,   320,   321,   322,     1,
2315 <       3,     5,    17,    32,    36,    57,    59,    69,    96,   123,
2316 <     151,   178,   218,   387,   388,   389,   390,   391,   392,   393,
2317 <     394,   395,   396,   400,   401,   402,   403,   404,     1,    62,
2318 <     126,   417,   418,   419,   420,   227,   225,   423,     1,    96,
2319 <     126,   158,   427,   431,   432,   433,   434,   227,   227,   227,
2402 >     227,   227,   123,   210,   230,   123,   108,   123,   123,   123,
2403 >     227,   123,   123,   227,   123,   123,   230,   108,   348,   349,
2404 >     227,   227,   227,   123,   123,   227,   123,   210,   230,   123,
2405 >     123,   123,   123,   210,   230,   123,   227,   123,   123,   123,
2406       227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2407       227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2408 <     227,   227,   227,   227,   227,   486,   227,   482,   227,   227,
2408 >     227,   227,   227,   231,   227,   231,   227,   227,   123,   230,
2409 >     227,   227,     1,    98,   191,   218,   287,   288,   289,   290,
2410 >     291,   227,   123,   230,   123,   227,   236,   236,   236,   236,
2411 >     236,   236,   236,   227,   227,   227,    51,   124,   336,   337,
2412       227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2413 <     227,   227,   227,   227,   227,   225,   437,     1,    17,    32,
2414 <      36,   119,   127,   128,   160,   215,   342,   343,   344,   345,
2326 <     346,   347,   348,   352,   353,   354,     1,   126,   158,   215,
2327 <     407,   411,   412,   413,   414,     1,    36,    57,    62,   123,
2328 <     328,   332,   333,   334,   338,   339,   224,   227,   225,   273,
2329 <     223,   224,   227,   227,   225,   238,     1,    17,    32,    36,
2330 <      96,   119,   134,   200,   215,   287,   288,   289,   290,   291,
2331 <     292,   293,   294,   295,   299,     1,    34,    73,   126,   357,
2332 <     358,   359,   360,   361,   227,   227,   227,   227,   227,   227,
2333 <     227,   225,   510,   224,   227,   227,   227,   227,   227,   227,
2413 >       9,    10,    11,   238,   239,   227,   227,   227,   227,   227,
2414 >     227,   227,   227,   227,     8,   195,   411,   412,   227,   227,
2415       227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
2416 <     227,   225,   243,     1,    96,   158,   215,   368,   369,   370,
2417 <     371,   372,     1,    96,   158,   378,   379,   380,   381,   227,
2418 <     225,   364,   124,   124,   124,   224,   106,   106,   167,   106,
2419 <     233,   233,   106,   106,   106,   167,   167,   106,   233,   167,
2420 <     224,   224,   227,   227,   227,   323,   227,   227,   227,   227,
2421 <     227,   227,   227,   227,   227,   227,   227,   227,   225,   306,
2422 <     224,   227,   227,   227,   227,   397,   227,   227,   227,   227,
2423 <     227,   227,   227,   227,   225,   388,   227,   227,   225,   418,
2424 <     124,   224,   227,   227,   428,   225,   432,   167,   233,   233,
2425 <     106,   167,   167,   106,   124,   167,   233,   167,   233,   106,
2426 <     106,   106,   167,   167,   167,   233,   106,   106,   233,   106,
2427 <     106,   106,   106,   167,   167,   227,   167,   227,   233,   233,
2428 <     167,   167,   167,   167,   167,   168,   167,   168,   167,   167,
2429 <     233,   233,   124,   233,   167,   167,   167,   224,   224,   227,
2430 <     227,   349,   227,   227,   227,   227,   227,   225,   343,   227,
2431 <     408,   227,   225,   412,   224,   329,   227,   227,   227,   225,
2432 <     333,   167,   224,   226,   124,   124,   224,   224,   227,   227,
2433 <     300,   227,   227,   227,   296,   227,   225,   288,   224,   227,
2434 <     227,   227,   225,   358,   167,   167,   124,   167,   167,   167,
2354 <     233,   224,   124,   167,   106,   106,   124,   124,   124,   124,
2355 <     124,   124,   139,   140,   246,   247,   139,   140,   248,   249,
2356 <     124,   124,   106,   124,   124,   224,   224,   227,   373,   227,
2357 <     225,   369,   224,   227,   382,   225,   379,   124,   224,   224,
2358 <     224,   224,   224,   224,   224,   143,   144,   145,   146,   147,
2359 <     148,   149,   232,   233,   224,   224,   224,   224,   224,   224,
2360 <     224,   224,   224,   224,   106,   106,   233,   227,   106,   106,
2361 <     106,   106,   233,   233,   124,   106,   106,   233,   106,   235,
2362 <     235,   224,   124,   185,   186,   124,   167,   227,   124,   124,
2363 <     124,   124,   106,   124,   124,   124,   224,   124,   124,   224,
2364 <     224,   124,   124,   227,   224,   224,   224,   224,   224,   224,
2365 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2366 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2367 <     224,   224,   224,    51,   173,   174,   175,   176,   177,   179,
2368 <     180,   182,   183,   184,   187,   189,   190,   191,   193,   195,
2369 <     197,   198,   201,   207,   487,   488,   224,    51,   173,   174,
2370 <     175,   176,   177,   179,   180,   182,   183,   184,   187,   189,
2371 <     191,   193,   195,   197,   198,   201,   207,   483,   484,   224,
2372 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2373 <     224,   224,   224,   224,   224,   224,   224,   224,   124,   167,
2374 <     227,   124,   106,   124,   124,   124,   224,   124,   227,   124,
2375 <     224,   227,   124,   124,   106,   336,   337,   224,   224,     1,
2376 <      96,   158,   222,   277,   278,   279,   280,   281,   224,   224,
2377 <     124,   167,   227,   124,   124,   124,   227,   124,   224,   124,
2378 <     124,   124,   224,   224,   224,   224,   224,   224,   224,   224,
2379 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2380 <     224,   228,   224,   228,   224,   224,   224,   224,   224,   124,
2381 <     227,   124,   224,   124,   227,   224,   224,   232,   232,   232,
2382 <     232,   232,   232,   232,   224,   224,   224,    92,    93,   324,
2383 <     325,   224,   224,   224,   224,   224,   224,   224,   224,   224,
2384 <     224,     9,    10,    11,   234,   235,   224,   224,   224,   224,
2385 <     224,   224,   224,     8,   199,   398,   399,   224,   224,   224,
2386 <     224,   224,   224,   224,   224,   224,   224,   224,   224,   129,
2387 <     429,   430,   224,   228,   224,   228,   224,   224,    13,    33,
2388 <      43,    49,    66,    97,   105,   142,   161,   208,   350,   351,
2389 <     224,   224,   224,   224,   224,   224,   129,   409,   410,   224,
2390 <      51,   194,   199,   330,   331,   224,   224,   171,   228,   335,
2391 <     224,   227,   282,   227,   225,   278,   224,   224,     4,    25,
2392 <      40,    47,    65,    94,   101,   113,   130,   131,   132,   181,
2393 <     191,   196,   202,   206,   209,   214,   220,   301,   302,   224,
2394 <     224,   224,    51,   173,   174,   175,   176,   177,   179,   180,
2395 <     182,   183,   184,   187,   189,   190,   191,   193,   195,   197,
2396 <     198,   201,   207,   297,   298,   224,   224,   224,   224,   247,
2397 <     249,   224,    65,   141,   172,   181,   187,   202,   204,   205,
2398 <     214,   220,   374,   375,   224,   224,    65,   141,   172,   181,
2399 <     187,   202,   204,   205,   214,   220,   383,   384,   224,   228,
2400 <     234,   234,   234,   224,   228,   224,   228,   488,   484,   224,
2401 <     228,   224,   228,   224,   228,   106,   337,   224,   124,   227,
2402 <     203,   235,   224,   224,   228,   224,   228,   224,   228,   224,
2403 <     228,   325,   399,   430,   351,   410,   331,   224,    40,    63,
2404 <      65,   109,   180,   181,   215,   283,   284,   224,   224,   302,
2405 <     298,   375,   384,   224,   228,   284
2416 >     231,   227,   231,   227,   227,    13,    34,    43,    70,    99,
2417 >     100,   107,   132,   148,   209,   362,   363,   227,   227,   227,
2418 >     227,   227,   227,   227,   227,   227,    49,   185,   195,   342,
2419 >     343,   217,   231,   347,   227,   227,   227,   227,     4,    18,
2420 >      26,    40,    67,    69,    95,   128,   130,   149,   167,   172,
2421 >     176,   181,   184,   189,   203,   208,   219,   226,   313,   314,
2422 >     227,   227,   227,   227,   227,    49,   161,   162,   163,   165,
2423 >     166,   168,   169,   171,   173,   176,   179,   180,   181,   183,
2424 >     188,   192,   193,   194,   202,   207,   309,   310,   227,   227,
2425 >     227,   227,   251,   253,   227,    69,   131,   160,   167,   176,
2426 >     203,   205,   206,   219,   226,   395,   396,   227,   230,   230,
2427 >     292,   228,   288,   227,    69,   131,   160,   167,   176,   203,
2428 >     205,   206,   219,   226,   386,   387,   227,   227,   231,   238,
2429 >     238,   238,   227,   231,   494,   490,   227,   231,   227,   231,
2430 >     108,   349,   227,   232,   232,   232,   227,   231,   227,   231,
2431 >     227,   231,   123,   204,   239,   230,   227,   227,   231,   337,
2432 >     412,   363,   343,   129,   129,   129,   314,   310,   396,   227,
2433 >     227,   227,    40,    67,    69,   114,   166,   167,   222,   293,
2434 >     294,   387,   227,   231,   294
2435   };
2436  
2437   #define yyerrok         (yyerrstatus = 0)
# Line 3193 | Line 3222 | yyreduce:
3222    YY_REDUCE_PRINT (yyn);
3223    switch (yyn)
3224      {
3225 <        case 26:
3225 >        case 27:
3226   /* Line 1787 of yacc.c  */
3227 < #line 394 "conf_parser.y"
3227 > #line 400 "conf_parser.y"
3228      { (yyval.number) = 0; }
3229      break;
3230  
3231 <  case 28:
3231 >  case 29:
3232   /* Line 1787 of yacc.c  */
3233 < #line 396 "conf_parser.y"
3233 > #line 402 "conf_parser.y"
3234      {
3235                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3236                  }
3237      break;
3238  
3239 <  case 29:
3239 >  case 30:
3240   /* Line 1787 of yacc.c  */
3241 < #line 400 "conf_parser.y"
3241 > #line 406 "conf_parser.y"
3242      {
3243                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3244                  }
3245      break;
3246  
3247 <  case 30:
3247 >  case 31:
3248   /* Line 1787 of yacc.c  */
3249 < #line 404 "conf_parser.y"
3249 > #line 410 "conf_parser.y"
3250      {
3251                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3252                  }
3253      break;
3254  
3255 <  case 31:
3255 >  case 32:
3256   /* Line 1787 of yacc.c  */
3257 < #line 408 "conf_parser.y"
3257 > #line 414 "conf_parser.y"
3258      {
3259                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3260                  }
3261      break;
3262  
3263 <  case 32:
3263 >  case 33:
3264   /* Line 1787 of yacc.c  */
3265 < #line 412 "conf_parser.y"
3265 > #line 418 "conf_parser.y"
3266      {
3267                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3268                  }
3269      break;
3270  
3271 <  case 33:
3271 >  case 34:
3272   /* Line 1787 of yacc.c  */
3273 < #line 416 "conf_parser.y"
3273 > #line 422 "conf_parser.y"
3274      {
3275                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3276                  }
3277      break;
3278  
3279 <  case 34:
3279 >  case 35:
3280   /* Line 1787 of yacc.c  */
3281 < #line 420 "conf_parser.y"
3281 > #line 426 "conf_parser.y"
3282      {
3283                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[(3) - (3)].number);
3284                  }
3285      break;
3286  
3287 <  case 35:
3287 >  case 36:
3288   /* Line 1787 of yacc.c  */
3289 < #line 424 "conf_parser.y"
3289 > #line 430 "conf_parser.y"
3290      {
3291                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 365 + (yyvsp[(3) - (3)].number);
3292                  }
3293      break;
3294  
3295 <  case 36:
3295 >  case 37:
3296   /* Line 1787 of yacc.c  */
3297 < #line 429 "conf_parser.y"
3297 > #line 435 "conf_parser.y"
3298      { (yyval.number) = 0; }
3299      break;
3300  
3301 <  case 38:
3301 >  case 39:
3302   /* Line 1787 of yacc.c  */
3303 < #line 430 "conf_parser.y"
3303 > #line 436 "conf_parser.y"
3304      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3305      break;
3306  
3307 <  case 39:
3307 >  case 40:
3308   /* Line 1787 of yacc.c  */
3309 < #line 431 "conf_parser.y"
3309 > #line 437 "conf_parser.y"
3310      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3311      break;
3312  
3313 <  case 40:
3313 >  case 41:
3314   /* Line 1787 of yacc.c  */
3315 < #line 432 "conf_parser.y"
3315 > #line 438 "conf_parser.y"
3316      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3317      break;
3318  
3319 <  case 41:
3319 >  case 42:
3320   /* Line 1787 of yacc.c  */
3321 < #line 433 "conf_parser.y"
3321 > #line 439 "conf_parser.y"
3322      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3323      break;
3324  
3325 <  case 48:
3325 >  case 49:
3326   /* Line 1787 of yacc.c  */
3327 < #line 447 "conf_parser.y"
3327 > #line 453 "conf_parser.y"
3328      {
3329    if (conf_parser_ctx.pass == 2)
3330      add_conf_module(libio_basename(yylval.string));
3331   }
3332      break;
3333  
3334 <  case 49:
3334 >  case 50:
3335   /* Line 1787 of yacc.c  */
3336 < #line 453 "conf_parser.y"
3336 > #line 459 "conf_parser.y"
3337      {
3338    if (conf_parser_ctx.pass == 2)
3339      mod_add_path(yylval.string);
3340   }
3341      break;
3342  
3343 <  case 75:
3343 >  case 76:
3344   /* Line 1787 of yacc.c  */
3345 < #line 479 "conf_parser.y"
3345 > #line 485 "conf_parser.y"
3346      {
3347   #ifdef HAVE_LIBCRYPTO
3348    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 3322 | Line 3351 | yyreduce:
3351   }
3352      break;
3353  
3354 <  case 76:
3354 >  case 77:
3355   /* Line 1787 of yacc.c  */
3356 < #line 485 "conf_parser.y"
3356 > #line 491 "conf_parser.y"
3357      {
3358   #ifdef HAVE_LIBCRYPTO
3359    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 3333 | Line 3362 | yyreduce:
3362   }
3363      break;
3364  
3365 <  case 79:
3365 >  case 80:
3366   /* Line 1787 of yacc.c  */
3367 < #line 494 "conf_parser.y"
3367 > #line 500 "conf_parser.y"
3368      {
3369   #ifdef HAVE_LIBCRYPTO
3370    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3344 | Line 3373 | yyreduce:
3373   }
3374      break;
3375  
3376 <  case 80:
3376 >  case 81:
3377   /* Line 1787 of yacc.c  */
3378 < #line 500 "conf_parser.y"
3378 > #line 506 "conf_parser.y"
3379      {
3380   #ifdef HAVE_LIBCRYPTO
3381    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3355 | Line 3384 | yyreduce:
3384   }
3385      break;
3386  
3387 <  case 81:
3387 >  case 82:
3388   /* Line 1787 of yacc.c  */
3389 < #line 508 "conf_parser.y"
3389 > #line 514 "conf_parser.y"
3390      {
3391   #ifdef HAVE_LIBCRYPTO
3392    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3400 | Line 3429 | yyreduce:
3429   }
3430      break;
3431  
3432 <  case 82:
3432 >  case 83:
3433   /* Line 1787 of yacc.c  */
3434 < #line 550 "conf_parser.y"
3434 > #line 556 "conf_parser.y"
3435      {
3436   #ifdef HAVE_LIBCRYPTO
3437 <  if (conf_parser_ctx.pass == 1)
3409 <  {
3410 <    BIO *file;
3437 >  BIO *file = NULL;
3438  
3439 <    if (ServerInfo.rsa_private_key)
3440 <    {
3414 <      RSA_free(ServerInfo.rsa_private_key);
3415 <      ServerInfo.rsa_private_key = NULL;
3416 <    }
3439 >  if (conf_parser_ctx.pass != 1)
3440 >    break;
3441  
3442 <    if (ServerInfo.rsa_private_key_file)
3443 <    {
3444 <      MyFree(ServerInfo.rsa_private_key_file);
3445 <      ServerInfo.rsa_private_key_file = NULL;
3446 <    }
3442 >  if (ServerInfo.rsa_private_key)
3443 >  {
3444 >    RSA_free(ServerInfo.rsa_private_key);
3445 >    ServerInfo.rsa_private_key = NULL;
3446 >  }
3447  
3448 <    ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3448 >  if (ServerInfo.rsa_private_key_file)
3449 >  {
3450 >    MyFree(ServerInfo.rsa_private_key_file);
3451 >    ServerInfo.rsa_private_key_file = NULL;
3452 >  }
3453  
3454 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3427 <    {
3428 <      conf_error_report("File open failed, ignoring");
3429 <      break;
3430 <    }
3454 >  ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3455  
3456 <    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3456 >  if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3457 >  {
3458 >    conf_error_report("File open failed, ignoring");
3459 >    break;
3460 >  }
3461  
3462 <    BIO_set_close(file, BIO_CLOSE);
3435 <    BIO_free(file);
3462 >  ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3463  
3464 <    if (ServerInfo.rsa_private_key == NULL)
3465 <    {
3439 <      conf_error_report("Couldn't extract key, ignoring");
3440 <      break;
3441 <    }
3464 >  BIO_set_close(file, BIO_CLOSE);
3465 >  BIO_free(file);
3466  
3467 <    if (!RSA_check_key(ServerInfo.rsa_private_key))
3468 <    {
3469 <      RSA_free(ServerInfo.rsa_private_key);
3470 <      ServerInfo.rsa_private_key = NULL;
3467 >  if (ServerInfo.rsa_private_key == NULL)
3468 >  {
3469 >    conf_error_report("Couldn't extract key, ignoring");
3470 >    break;
3471 >  }
3472  
3473 <      conf_error_report("Invalid key, ignoring");
3474 <      break;
3475 <    }
3473 >  if (!RSA_check_key(ServerInfo.rsa_private_key))
3474 >  {
3475 >    RSA_free(ServerInfo.rsa_private_key);
3476 >    ServerInfo.rsa_private_key = NULL;
3477  
3478 <    /* require 2048 bit (256 byte) key */
3479 <    if (RSA_size(ServerInfo.rsa_private_key) != 256)
3480 <    {
3455 <      RSA_free(ServerInfo.rsa_private_key);
3456 <      ServerInfo.rsa_private_key = NULL;
3478 >    conf_error_report("Invalid key, ignoring");
3479 >    break;
3480 >  }
3481  
3482 <      conf_error_report("Not a 2048 bit key, ignoring");
3483 <    }
3482 >  /* require 2048 bit (256 byte) key */
3483 >  if (RSA_size(ServerInfo.rsa_private_key) != 256)
3484 >  {
3485 >    RSA_free(ServerInfo.rsa_private_key);
3486 >    ServerInfo.rsa_private_key = NULL;
3487 >
3488 >    conf_error_report("Not a 2048 bit key, ignoring");
3489    }
3490   #endif
3491   }
3492      break;
3493  
3494 <  case 83:
3494 >  case 84:
3495   /* Line 1787 of yacc.c  */
3496 < #line 609 "conf_parser.y"
3496 > #line 615 "conf_parser.y"
3497      {
3498   /* TBD - XXX: error reporting */
3499   #ifdef HAVE_LIBCRYPTO
# Line 3493 | Line 3522 | yyreduce:
3522   }
3523      break;
3524  
3525 <  case 84:
3525 >  case 85:
3526   /* Line 1787 of yacc.c  */
3527 < #line 637 "conf_parser.y"
3527 > #line 643 "conf_parser.y"
3528      {
3529   #ifdef HAVE_LIBCRYPTO
3530    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3504 | Line 3533 | yyreduce:
3533   }
3534      break;
3535  
3536 <  case 85:
3536 >  case 86:
3537   /* Line 1787 of yacc.c  */
3538 < #line 645 "conf_parser.y"
3538 > #line 651 "conf_parser.y"
3539      {
3540    /* this isn't rehashable */
3541    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3522 | Line 3551 | yyreduce:
3551   }
3552      break;
3553  
3554 <  case 86:
3554 >  case 87:
3555   /* Line 1787 of yacc.c  */
3556 < #line 660 "conf_parser.y"
3556 > #line 666 "conf_parser.y"
3557      {
3558    /* this isn't rehashable */
3559    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3540 | Line 3569 | yyreduce:
3569   }
3570      break;
3571  
3572 <  case 87:
3572 >  case 88:
3573   /* Line 1787 of yacc.c  */
3574 < #line 675 "conf_parser.y"
3574 > #line 681 "conf_parser.y"
3575      {
3576    if (conf_parser_ctx.pass == 2)
3577    {
# Line 3552 | Line 3581 | yyreduce:
3581   }
3582      break;
3583  
3584 <  case 88:
3584 >  case 89:
3585   /* Line 1787 of yacc.c  */
3586 < #line 684 "conf_parser.y"
3586 > #line 690 "conf_parser.y"
3587      {
3588    if (conf_parser_ctx.pass == 2)
3589    {
# Line 3569 | Line 3598 | yyreduce:
3598   }
3599      break;
3600  
3601 <  case 89:
3601 >  case 90:
3602   /* Line 1787 of yacc.c  */
3603 < #line 698 "conf_parser.y"
3603 > #line 704 "conf_parser.y"
3604      {
3605 <  if (conf_parser_ctx.pass == 2)
3606 <  {
3607 <    MyFree(ServerInfo.network_desc);
3608 <    ServerInfo.network_desc = xstrdup(yylval.string);
3609 <  }
3605 >  if (conf_parser_ctx.pass != 2)
3606 >    break;
3607 >
3608 >  MyFree(ServerInfo.network_desc);
3609 >  ServerInfo.network_desc = xstrdup(yylval.string);
3610   }
3611      break;
3612  
3613 <  case 90:
3613 >  case 91:
3614   /* Line 1787 of yacc.c  */
3615 < #line 707 "conf_parser.y"
3615 > #line 713 "conf_parser.y"
3616      {
3617    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3618    {
# Line 3612 | Line 3641 | yyreduce:
3641   }
3642      break;
3643  
3644 <  case 91:
3644 >  case 92:
3645   /* Line 1787 of yacc.c  */
3646 < #line 735 "conf_parser.y"
3646 > #line 741 "conf_parser.y"
3647      {
3648   #ifdef IPV6
3649    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3645 | Line 3674 | yyreduce:
3674   }
3675      break;
3676  
3677 <  case 92:
3677 >  case 93:
3678   /* Line 1787 of yacc.c  */
3679 < #line 765 "conf_parser.y"
3679 > #line 771 "conf_parser.y"
3680      {
3681    if (conf_parser_ctx.pass != 2)
3682      break;
# Line 3673 | Line 3702 | yyreduce:
3702   }
3703      break;
3704  
3705 <  case 93:
3705 >  case 94:
3706   /* Line 1787 of yacc.c  */
3707 < #line 790 "conf_parser.y"
3707 > #line 796 "conf_parser.y"
3708      {
3709    if (conf_parser_ctx.pass != 2)
3710      break;
# Line 3698 | Line 3727 | yyreduce:
3727   }
3728      break;
3729  
3730 <  case 94:
3730 >  case 95:
3731   /* Line 1787 of yacc.c  */
3732 < #line 812 "conf_parser.y"
3732 > #line 818 "conf_parser.y"
3733      {
3734    if (conf_parser_ctx.pass != 2)
3735      break;
# Line 3723 | Line 3752 | yyreduce:
3752   }
3753      break;
3754  
3755 <  case 95:
3755 >  case 96:
3756   /* Line 1787 of yacc.c  */
3757 < #line 834 "conf_parser.y"
3757 > #line 840 "conf_parser.y"
3758      {
3759    if (conf_parser_ctx.pass == 2)
3760      ServerInfo.hub = yylval.number;
3761   }
3762      break;
3763  
3764 <  case 103:
3764 >  case 104:
3765 > /* Line 1787 of yacc.c  */
3766 > #line 855 "conf_parser.y"
3767 >    {
3768 >  if (conf_parser_ctx.pass != 2)
3769 >    break;
3770 >
3771 >  MyFree(AdminInfo.name);
3772 >  AdminInfo.name = xstrdup(yylval.string);
3773 > }
3774 >    break;
3775 >
3776 >  case 105:
3777 > /* Line 1787 of yacc.c  */
3778 > #line 864 "conf_parser.y"
3779 >    {
3780 >  if (conf_parser_ctx.pass != 2)
3781 >    break;
3782 >
3783 >  MyFree(AdminInfo.email);
3784 >  AdminInfo.email = xstrdup(yylval.string);
3785 > }
3786 >    break;
3787 >
3788 >  case 106:
3789   /* Line 1787 of yacc.c  */
3790 < #line 849 "conf_parser.y"
3790 > #line 873 "conf_parser.y"
3791 >    {
3792 >  if (conf_parser_ctx.pass != 2)
3793 >    break;
3794 >
3795 >  MyFree(AdminInfo.description);
3796 >  AdminInfo.description = xstrdup(yylval.string);
3797 > }
3798 >    break;
3799 >
3800 >  case 107:
3801 > /* Line 1787 of yacc.c  */
3802 > #line 885 "conf_parser.y"
3803      {
3804    if (conf_parser_ctx.pass == 2)
3805 <  {
3741 <    MyFree(AdminInfo.name);
3742 <    AdminInfo.name = xstrdup(yylval.string);
3743 <  }
3805 >    reset_block_state();
3806   }
3807      break;
3808  
3809 <  case 104:
3809 >  case 108:
3810 > /* Line 1787 of yacc.c  */
3811 > #line 889 "conf_parser.y"
3812 >    {
3813 >  dlink_node *ptr = NULL;
3814 >
3815 >  if (conf_parser_ctx.pass != 2)
3816 >    break;
3817 >
3818 >  if (!block_state.file.buf[0])
3819 >    break;
3820 >
3821 >  DLINK_FOREACH(ptr, block_state.mask.list.head)
3822 >    motd_add(ptr->data, block_state.file.buf);
3823 > }
3824 >    break;
3825 >
3826 >  case 114:
3827   /* Line 1787 of yacc.c  */
3828 < #line 858 "conf_parser.y"
3828 > #line 906 "conf_parser.y"
3829      {
3830    if (conf_parser_ctx.pass == 2)
3831 <  {
3753 <    MyFree(AdminInfo.email);
3754 <    AdminInfo.email = xstrdup(yylval.string);
3755 <  }
3831 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3832   }
3833      break;
3834  
3835 <  case 105:
3835 >  case 115:
3836   /* Line 1787 of yacc.c  */
3837 < #line 867 "conf_parser.y"
3837 > #line 912 "conf_parser.y"
3838      {
3839    if (conf_parser_ctx.pass == 2)
3840 <  {
3765 <    MyFree(AdminInfo.description);
3766 <    AdminInfo.description = xstrdup(yylval.string);
3767 <  }
3840 >    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3841   }
3842      break;
3843  
3844 <  case 112:
3844 >  case 122:
3845   /* Line 1787 of yacc.c  */
3846 < #line 885 "conf_parser.y"
3846 > #line 927 "conf_parser.y"
3847      {
3848    if (conf_parser_ctx.pass == 2)
3849      ConfigLoggingEntry.use_logging = yylval.number;
3850   }
3851      break;
3852  
3853 <  case 113:
3853 >  case 123:
3854   /* Line 1787 of yacc.c  */
3855 < #line 891 "conf_parser.y"
3855 > #line 933 "conf_parser.y"
3856      {
3857    if (conf_parser_ctx.pass == 2)
3858      reset_block_state();
3859   }
3860      break;
3861  
3862 <  case 114:
3862 >  case 124:
3863   /* Line 1787 of yacc.c  */
3864 < #line 895 "conf_parser.y"
3864 > #line 937 "conf_parser.y"
3865      {
3866    if (conf_parser_ctx.pass != 2)
3867      break;
# Line 3799 | Line 3872 | yyreduce:
3872   }
3873      break;
3874  
3875 <  case 121:
3875 >  case 131:
3876   /* Line 1787 of yacc.c  */
3877 < #line 911 "conf_parser.y"
3877 > #line 953 "conf_parser.y"
3878      {
3879    if (conf_parser_ctx.pass != 2)
3880      break;
# Line 3810 | Line 3883 | yyreduce:
3883   }
3884      break;
3885  
3886 <  case 122:
3886 >  case 132:
3887   /* Line 1787 of yacc.c  */
3888 < #line 919 "conf_parser.y"
3888 > #line 961 "conf_parser.y"
3889      {
3890    block_state.size.value = (yyvsp[(3) - (4)].number);
3891   }
3892      break;
3893  
3894 <  case 123:
3894 >  case 133:
3895   /* Line 1787 of yacc.c  */
3896 < #line 922 "conf_parser.y"
3896 > #line 964 "conf_parser.y"
3897      {
3898    block_state.size.value = 0;
3899   }
3900      break;
3901  
3902 <  case 124:
3902 >  case 134:
3903   /* Line 1787 of yacc.c  */
3904 < #line 927 "conf_parser.y"
3904 > #line 969 "conf_parser.y"
3905      {
3906    if (conf_parser_ctx.pass == 2)
3907      block_state.type.value = 0;
3908   }
3909      break;
3910  
3911 <  case 128:
3911 >  case 138:
3912   /* Line 1787 of yacc.c  */
3913 < #line 934 "conf_parser.y"
3913 > #line 976 "conf_parser.y"
3914      {
3915    if (conf_parser_ctx.pass == 2)
3916      block_state.type.value = LOG_TYPE_USER;
3917   }
3918      break;
3919  
3920 <  case 129:
3920 >  case 139:
3921   /* Line 1787 of yacc.c  */
3922 < #line 938 "conf_parser.y"
3922 > #line 980 "conf_parser.y"
3923      {
3924    if (conf_parser_ctx.pass == 2)
3925      block_state.type.value = LOG_TYPE_OPER;
3926   }
3927      break;
3928  
3929 <  case 130:
3929 >  case 140:
3930   /* Line 1787 of yacc.c  */
3931 < #line 942 "conf_parser.y"
3931 > #line 984 "conf_parser.y"
3932      {
3933    if (conf_parser_ctx.pass == 2)
3934      block_state.type.value = LOG_TYPE_GLINE;
3935   }
3936      break;
3937  
3938 <  case 131:
3938 >  case 141:
3939   /* Line 1787 of yacc.c  */
3940 < #line 946 "conf_parser.y"
3940 > #line 988 "conf_parser.y"
3941      {
3942    if (conf_parser_ctx.pass == 2)
3943      block_state.type.value = LOG_TYPE_DLINE;
3944   }
3945      break;
3946  
3947 <  case 132:
3947 >  case 142:
3948   /* Line 1787 of yacc.c  */
3949 < #line 950 "conf_parser.y"
3949 > #line 992 "conf_parser.y"
3950      {
3951    if (conf_parser_ctx.pass == 2)
3952      block_state.type.value = LOG_TYPE_KLINE;
3953   }
3954      break;
3955  
3956 <  case 133:
3956 >  case 143:
3957   /* Line 1787 of yacc.c  */
3958 < #line 954 "conf_parser.y"
3958 > #line 996 "conf_parser.y"
3959      {
3960    if (conf_parser_ctx.pass == 2)
3961      block_state.type.value = LOG_TYPE_KILL;
3962   }
3963      break;
3964  
3965 <  case 134:
3965 >  case 144:
3966   /* Line 1787 of yacc.c  */
3967 < #line 958 "conf_parser.y"
3967 > #line 1000 "conf_parser.y"
3968      {
3969    if (conf_parser_ctx.pass == 2)
3970      block_state.type.value = LOG_TYPE_DEBUG;
3971   }
3972      break;
3973  
3974 <  case 135:
3974 >  case 145:
3975   /* Line 1787 of yacc.c  */
3976 < #line 968 "conf_parser.y"
3976 > #line 1010 "conf_parser.y"
3977      {
3978    if (conf_parser_ctx.pass != 2)
3979      break;
# Line 3910 | Line 3983 | yyreduce:
3983   }
3984      break;
3985  
3986 <  case 136:
3986 >  case 146:
3987   /* Line 1787 of yacc.c  */
3988 < #line 975 "conf_parser.y"
3988 > #line 1017 "conf_parser.y"
3989      {
3990    dlink_node *ptr = NULL;
3991  
# Line 3922 | Line 3995 | yyreduce:
3995    if (!block_state.name.buf[0])
3996      break;
3997   #ifdef HAVE_LIBCRYPTO
3998 <  if (!(block_state.file.buf[0] ||
3999 <        block_state.rpass.buf[0]))
3998 >  if (!block_state.file.buf[0] &&
3999 >      !block_state.rpass.buf[0])
4000      break;
4001   #else
4002    if (!block_state.rpass.buf[0])
# Line 3944 | Line 4017 | yyreduce:
4017      nuh.hostsize = sizeof(block_state.host.buf);
4018      split_nuh(&nuh);
4019  
4020 <    conf        = conf_make(CONF_OPER);
4021 <    conf->name  = xstrdup(block_state.name.buf);
4022 <    conf->user  = xstrdup(block_state.user.buf);
4023 <    conf->host  = xstrdup(block_state.host.buf);
4020 >    conf         = conf_make(CONF_OPER);
4021 >    conf->name   = xstrdup(block_state.name.buf);
4022 >    conf->user   = xstrdup(block_state.user.buf);
4023 >    conf->host   = xstrdup(block_state.host.buf);
4024 >
4025 >    if (block_state.cert.buf[0])
4026 >      conf->certfp = xstrdup(block_state.cert.buf);
4027  
4028      if (block_state.rpass.buf[0])
4029        conf->passwd = xstrdup(block_state.rpass.buf);
# Line 3983 | Line 4059 | yyreduce:
4059   }
4060      break;
4061  
4062 <  case 148:
4062 >  case 160:
4063   /* Line 1787 of yacc.c  */
4064 < #line 1050 "conf_parser.y"
4064 > #line 1097 "conf_parser.y"
4065      {
4066    if (conf_parser_ctx.pass == 2)
4067      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4068   }
4069      break;
4070  
4071 <  case 149:
4071 >  case 161:
4072   /* Line 1787 of yacc.c  */
4073 < #line 1056 "conf_parser.y"
4073 > #line 1103 "conf_parser.y"
4074      {
4075    if (conf_parser_ctx.pass == 2)
4076      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4077   }
4078      break;
4079  
4080 <  case 150:
4080 >  case 162:
4081   /* Line 1787 of yacc.c  */
4082 < #line 1062 "conf_parser.y"
4082 > #line 1109 "conf_parser.y"
4083      {
4084    if (conf_parser_ctx.pass == 2)
4085      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4086   }
4087      break;
4088  
4089 <  case 151:
4089 >  case 163:
4090   /* Line 1787 of yacc.c  */
4091 < #line 1068 "conf_parser.y"
4091 > #line 1115 "conf_parser.y"
4092      {
4093 <  if (conf_parser_ctx.pass == 2)
4094 <  {
4095 <    if (yylval.number)
4096 <      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
4097 <    else
4098 <      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4099 <  }
4093 >  if (conf_parser_ctx.pass != 2)
4094 >    break;
4095 >
4096 >  if (yylval.number)
4097 >    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
4098 >  else
4099 >    block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4100   }
4101      break;
4102  
4103 <  case 152:
4103 >  case 164:
4104   /* Line 1787 of yacc.c  */
4105 < #line 1079 "conf_parser.y"
4105 > #line 1126 "conf_parser.y"
4106      {
4107    if (conf_parser_ctx.pass == 2)
4108      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
4109   }
4110      break;
4111  
4112 <  case 153:
4112 >  case 165:
4113   /* Line 1787 of yacc.c  */
4114 < #line 1085 "conf_parser.y"
4114 > #line 1132 "conf_parser.y"
4115      {
4116    if (conf_parser_ctx.pass == 2)
4117 <    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4117 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
4118   }
4119      break;
4120  
4121 <  case 154:
4121 >  case 166:
4122   /* Line 1787 of yacc.c  */
4123 < #line 1091 "conf_parser.y"
4123 > #line 1138 "conf_parser.y"
4124 >    {
4125 >  if (conf_parser_ctx.pass != 2)
4126 >    break;
4127 >
4128 >  if (yylval.number)
4129 >    block_state.flags.value |= CONF_FLAGS_SSL;
4130 >  else
4131 >    block_state.flags.value &= ~CONF_FLAGS_SSL;
4132 > }
4133 >    break;
4134 >
4135 >  case 167:
4136 > /* Line 1787 of yacc.c  */
4137 > #line 1149 "conf_parser.y"
4138      {
4139    if (conf_parser_ctx.pass == 2)
4140 <    block_state.modes.value = 0;
4140 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4141   }
4142      break;
4143  
4144 <  case 158:
4144 >  case 168:
4145   /* Line 1787 of yacc.c  */
4146 < #line 1098 "conf_parser.y"
4146 > #line 1155 "conf_parser.y"
4147      {
4148    if (conf_parser_ctx.pass == 2)
4149 <    block_state.modes.value |= UMODE_BOTS;
4149 >    block_state.modes.value = 0;
4150   }
4151      break;
4152  
4153 <  case 159:
4153 >  case 172:
4154   /* Line 1787 of yacc.c  */
4155 < #line 1102 "conf_parser.y"
4155 > #line 1162 "conf_parser.y"
4156      {
4157    if (conf_parser_ctx.pass == 2)
4158 <    block_state.modes.value |= UMODE_CCONN;
4158 >    block_state.modes.value |= UMODE_BOTS;
4159   }
4160      break;
4161  
4162 <  case 160:
4162 >  case 173:
4163   /* Line 1787 of yacc.c  */
4164 < #line 1106 "conf_parser.y"
4164 > #line 1166 "conf_parser.y"
4165      {
4166    if (conf_parser_ctx.pass == 2)
4167 <    block_state.modes.value |= UMODE_CCONN_FULL;
4167 >    block_state.modes.value |= UMODE_CCONN;
4168   }
4169      break;
4170  
4171 <  case 161:
4171 >  case 174:
4172   /* Line 1787 of yacc.c  */
4173 < #line 1110 "conf_parser.y"
4173 > #line 1170 "conf_parser.y"
4174      {
4175    if (conf_parser_ctx.pass == 2)
4176      block_state.modes.value |= UMODE_DEAF;
4177   }
4178      break;
4179  
4180 <  case 162:
4180 >  case 175:
4181   /* Line 1787 of yacc.c  */
4182 < #line 1114 "conf_parser.y"
4182 > #line 1174 "conf_parser.y"
4183      {
4184    if (conf_parser_ctx.pass == 2)
4185      block_state.modes.value |= UMODE_DEBUG;
4186   }
4187      break;
4188  
4189 <  case 163:
4189 >  case 176:
4190   /* Line 1787 of yacc.c  */
4191 < #line 1118 "conf_parser.y"
4191 > #line 1178 "conf_parser.y"
4192      {
4193    if (conf_parser_ctx.pass == 2)
4194      block_state.modes.value |= UMODE_FULL;
4195   }
4196      break;
4197  
4198 <  case 164:
4198 >  case 177:
4199   /* Line 1787 of yacc.c  */
4200 < #line 1122 "conf_parser.y"
4200 > #line 1182 "conf_parser.y"
4201      {
4202    if (conf_parser_ctx.pass == 2)
4203      block_state.modes.value |= UMODE_HIDDEN;
4204   }
4205      break;
4206  
4207 <  case 165:
4207 >  case 178:
4208   /* Line 1787 of yacc.c  */
4209 < #line 1126 "conf_parser.y"
4209 > #line 1186 "conf_parser.y"
4210      {
4211    if (conf_parser_ctx.pass == 2)
4212      block_state.modes.value |= UMODE_SKILL;
4213   }
4214      break;
4215  
4216 <  case 166:
4216 >  case 179:
4217   /* Line 1787 of yacc.c  */
4218 < #line 1130 "conf_parser.y"
4218 > #line 1190 "conf_parser.y"
4219      {
4220    if (conf_parser_ctx.pass == 2)
4221      block_state.modes.value |= UMODE_NCHANGE;
4222   }
4223      break;
4224  
4225 <  case 167:
4225 >  case 180:
4226   /* Line 1787 of yacc.c  */
4227 < #line 1134 "conf_parser.y"
4227 > #line 1194 "conf_parser.y"
4228      {
4229    if (conf_parser_ctx.pass == 2)
4230      block_state.modes.value |= UMODE_REJ;
4231   }
4232      break;
4233  
4234 <  case 168:
4234 >  case 181:
4235   /* Line 1787 of yacc.c  */
4236 < #line 1138 "conf_parser.y"
4236 > #line 1198 "conf_parser.y"
4237      {
4238    if (conf_parser_ctx.pass == 2)
4239      block_state.modes.value |= UMODE_UNAUTH;
4240   }
4241      break;
4242  
4243 <  case 169:
4243 >  case 182:
4244   /* Line 1787 of yacc.c  */
4245 < #line 1142 "conf_parser.y"
4245 > #line 1202 "conf_parser.y"
4246      {
4247    if (conf_parser_ctx.pass == 2)
4248      block_state.modes.value |= UMODE_SPY;
4249   }
4250      break;
4251  
4252 <  case 170:
4252 >  case 183:
4253   /* Line 1787 of yacc.c  */
4254 < #line 1146 "conf_parser.y"
4254 > #line 1206 "conf_parser.y"
4255      {
4256    if (conf_parser_ctx.pass == 2)
4257      block_state.modes.value |= UMODE_EXTERNAL;
4258   }
4259      break;
4260  
4261 <  case 171:
4261 >  case 184:
4262   /* Line 1787 of yacc.c  */
4263 < #line 1150 "conf_parser.y"
4263 > #line 1210 "conf_parser.y"
4264      {
4265    if (conf_parser_ctx.pass == 2)
4266      block_state.modes.value |= UMODE_OPERWALL;
4267   }
4268      break;
4269  
4270 <  case 172:
4270 >  case 185:
4271   /* Line 1787 of yacc.c  */
4272 < #line 1154 "conf_parser.y"
4272 > #line 1214 "conf_parser.y"
4273      {
4274    if (conf_parser_ctx.pass == 2)
4275      block_state.modes.value |= UMODE_SERVNOTICE;
4276   }
4277      break;
4278  
4279 <  case 173:
4279 >  case 186:
4280   /* Line 1787 of yacc.c  */
4281 < #line 1158 "conf_parser.y"
4281 > #line 1218 "conf_parser.y"
4282      {
4283    if (conf_parser_ctx.pass == 2)
4284      block_state.modes.value |= UMODE_INVISIBLE;
4285   }
4286      break;
4287  
4288 <  case 174:
4288 >  case 187:
4289   /* Line 1787 of yacc.c  */
4290 < #line 1162 "conf_parser.y"
4290 > #line 1222 "conf_parser.y"
4291      {
4292    if (conf_parser_ctx.pass == 2)
4293      block_state.modes.value |= UMODE_WALLOP;
4294   }
4295      break;
4296  
4297 <  case 175:
4297 >  case 188:
4298   /* Line 1787 of yacc.c  */
4299 < #line 1166 "conf_parser.y"
4299 > #line 1226 "conf_parser.y"
4300      {
4301    if (conf_parser_ctx.pass == 2)
4302      block_state.modes.value |= UMODE_SOFTCALLERID;
4303   }
4304      break;
4305  
4306 <  case 176:
4306 >  case 189:
4307   /* Line 1787 of yacc.c  */
4308 < #line 1170 "conf_parser.y"
4308 > #line 1230 "conf_parser.y"
4309      {
4310    if (conf_parser_ctx.pass == 2)
4311      block_state.modes.value |= UMODE_CALLERID;
4312   }
4313      break;
4314  
4315 <  case 177:
4315 >  case 190:
4316   /* Line 1787 of yacc.c  */
4317 < #line 1174 "conf_parser.y"
4317 > #line 1234 "conf_parser.y"
4318      {
4319    if (conf_parser_ctx.pass == 2)
4320      block_state.modes.value |= UMODE_LOCOPS;
4321   }
4322      break;
4323  
4324 <  case 178:
4324 >  case 191:
4325   /* Line 1787 of yacc.c  */
4326 < #line 1178 "conf_parser.y"
4326 > #line 1238 "conf_parser.y"
4327      {
4328    if (conf_parser_ctx.pass == 2)
4329      block_state.modes.value |= UMODE_REGONLY;
4330   }
4331      break;
4332  
4333 <  case 179:
4333 >  case 192:
4334 > /* Line 1787 of yacc.c  */
4335 > #line 1242 "conf_parser.y"
4336 >    {
4337 >  if (conf_parser_ctx.pass == 2)
4338 >    block_state.modes.value |= UMODE_FARCONNECT;
4339 > }
4340 >    break;
4341 >
4342 >  case 193:
4343   /* Line 1787 of yacc.c  */
4344 < #line 1184 "conf_parser.y"
4344 > #line 1248 "conf_parser.y"
4345      {
4346    if (conf_parser_ctx.pass == 2)
4347      block_state.port.value = 0;
4348   }
4349      break;
4350  
4351 <  case 183:
4351 >  case 197:
4352   /* Line 1787 of yacc.c  */
4353 < #line 1191 "conf_parser.y"
4353 > #line 1255 "conf_parser.y"
4354      {
4355    if (conf_parser_ctx.pass == 2)
4356 <    block_state.port.value |= OPER_FLAG_GLOBAL_KILL;
4356 >    block_state.port.value |= OPER_FLAG_KILL_REMOTE;
4357   }
4358      break;
4359  
4360 <  case 184:
4360 >  case 198:
4361 > /* Line 1787 of yacc.c  */
4362 > #line 1259 "conf_parser.y"
4363 >    {
4364 >  if (conf_parser_ctx.pass == 2)
4365 >    block_state.port.value |= OPER_FLAG_KILL;
4366 > }
4367 >    break;
4368 >
4369 >  case 199:
4370   /* Line 1787 of yacc.c  */
4371 < #line 1195 "conf_parser.y"
4371 > #line 1263 "conf_parser.y"
4372      {
4373    if (conf_parser_ctx.pass == 2)
4374 <    block_state.port.value |= OPER_FLAG_REMOTE;
4374 >    block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
4375   }
4376      break;
4377  
4378 <  case 185:
4378 >  case 200:
4379 > /* Line 1787 of yacc.c  */
4380 > #line 1267 "conf_parser.y"
4381 >    {
4382 >  if (conf_parser_ctx.pass == 2)
4383 >    block_state.port.value |= OPER_FLAG_CONNECT;
4384 > }
4385 >    break;
4386 >
4387 >  case 201:
4388 > /* Line 1787 of yacc.c  */
4389 > #line 1271 "conf_parser.y"
4390 >    {
4391 >  if (conf_parser_ctx.pass == 2)
4392 >    block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4393 > }
4394 >    break;
4395 >
4396 >  case 202:
4397   /* Line 1787 of yacc.c  */
4398 < #line 1199 "conf_parser.y"
4398 > #line 1275 "conf_parser.y"
4399 >    {
4400 >  if (conf_parser_ctx.pass == 2)
4401 >    block_state.port.value |= OPER_FLAG_SQUIT;
4402 > }
4403 >    break;
4404 >
4405 >  case 203:
4406 > /* Line 1787 of yacc.c  */
4407 > #line 1279 "conf_parser.y"
4408      {
4409    if (conf_parser_ctx.pass == 2)
4410      block_state.port.value |= OPER_FLAG_K;
4411   }
4412      break;
4413  
4414 <  case 186:
4414 >  case 204:
4415   /* Line 1787 of yacc.c  */
4416 < #line 1203 "conf_parser.y"
4416 > #line 1283 "conf_parser.y"
4417      {
4418    if (conf_parser_ctx.pass == 2)
4419      block_state.port.value |= OPER_FLAG_UNKLINE;
4420   }
4421      break;
4422  
4423 <  case 187:
4423 >  case 205:
4424   /* Line 1787 of yacc.c  */
4425 < #line 1207 "conf_parser.y"
4425 > #line 1287 "conf_parser.y"
4426      {
4427    if (conf_parser_ctx.pass == 2)
4428      block_state.port.value |= OPER_FLAG_DLINE;
4429   }
4430      break;
4431  
4432 <  case 188:
4432 >  case 206:
4433   /* Line 1787 of yacc.c  */
4434 < #line 1211 "conf_parser.y"
4434 > #line 1291 "conf_parser.y"
4435      {
4436    if (conf_parser_ctx.pass == 2)
4437      block_state.port.value |= OPER_FLAG_UNDLINE;
4438   }
4439      break;
4440  
4441 <  case 189:
4441 >  case 207:
4442   /* Line 1787 of yacc.c  */
4443 < #line 1215 "conf_parser.y"
4443 > #line 1295 "conf_parser.y"
4444      {
4445    if (conf_parser_ctx.pass == 2)
4446      block_state.port.value |= OPER_FLAG_X;
4447   }
4448      break;
4449  
4450 <  case 190:
4450 >  case 208:
4451   /* Line 1787 of yacc.c  */
4452 < #line 1219 "conf_parser.y"
4452 > #line 1299 "conf_parser.y"
4453      {
4454    if (conf_parser_ctx.pass == 2)
4455      block_state.port.value |= OPER_FLAG_GLINE;
4456   }
4457      break;
4458  
4459 <  case 191:
4459 >  case 209:
4460   /* Line 1787 of yacc.c  */
4461 < #line 1223 "conf_parser.y"
4461 > #line 1303 "conf_parser.y"
4462      {
4463    if (conf_parser_ctx.pass == 2)
4464      block_state.port.value |= OPER_FLAG_DIE;
4465   }
4466      break;
4467  
4468 <  case 192:
4468 >  case 210:
4469   /* Line 1787 of yacc.c  */
4470 < #line 1227 "conf_parser.y"
4470 > #line 1307 "conf_parser.y"
4471      {
4472    if (conf_parser_ctx.pass == 2)
4473      block_state.port.value |= OPER_FLAG_RESTART;
4474   }
4475      break;
4476  
4477 <  case 193:
4477 >  case 211:
4478   /* Line 1787 of yacc.c  */
4479 < #line 1231 "conf_parser.y"
4479 > #line 1311 "conf_parser.y"
4480      {
4481    if (conf_parser_ctx.pass == 2)
4482      block_state.port.value |= OPER_FLAG_REHASH;
4483   }
4484      break;
4485  
4486 <  case 194:
4486 >  case 212:
4487   /* Line 1787 of yacc.c  */
4488 < #line 1235 "conf_parser.y"
4488 > #line 1315 "conf_parser.y"
4489      {
4490    if (conf_parser_ctx.pass == 2)
4491      block_state.port.value |= OPER_FLAG_ADMIN;
4492   }
4493      break;
4494  
4495 <  case 195:
4495 >  case 213:
4496   /* Line 1787 of yacc.c  */
4497 < #line 1239 "conf_parser.y"
4497 > #line 1319 "conf_parser.y"
4498      {
4499    if (conf_parser_ctx.pass == 2)
4500 <    block_state.port.value |= OPER_FLAG_N;
4500 >    block_state.port.value |= OPER_FLAG_OPERWALL;
4501   }
4502      break;
4503  
4504 <  case 196:
4504 >  case 214:
4505   /* Line 1787 of yacc.c  */
4506 < #line 1243 "conf_parser.y"
4506 > #line 1323 "conf_parser.y"
4507      {
4508    if (conf_parser_ctx.pass == 2)
4509 <    block_state.port.value |= OPER_FLAG_OPERWALL;
4509 >    block_state.port.value |= OPER_FLAG_GLOBOPS;
4510   }
4511      break;
4512  
4513 <  case 197:
4513 >  case 215:
4514   /* Line 1787 of yacc.c  */
4515 < #line 1247 "conf_parser.y"
4515 > #line 1327 "conf_parser.y"
4516      {
4517    if (conf_parser_ctx.pass == 2)
4518 <    block_state.port.value |= OPER_FLAG_GLOBOPS;
4518 >    block_state.port.value |= OPER_FLAG_WALLOPS;
4519   }
4520      break;
4521  
4522 <  case 198:
4522 >  case 216:
4523   /* Line 1787 of yacc.c  */
4524 < #line 1251 "conf_parser.y"
4524 > #line 1331 "conf_parser.y"
4525      {
4526    if (conf_parser_ctx.pass == 2)
4527 <    block_state.port.value |= OPER_FLAG_OPER_SPY;
4527 >    block_state.port.value |= OPER_FLAG_LOCOPS;
4528   }
4529      break;
4530  
4531 <  case 199:
4531 >  case 217:
4532   /* Line 1787 of yacc.c  */
4533 < #line 1255 "conf_parser.y"
4533 > #line 1335 "conf_parser.y"
4534      {
4535    if (conf_parser_ctx.pass == 2)
4536      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4537   }
4538      break;
4539  
4540 <  case 200:
4540 >  case 218:
4541   /* Line 1787 of yacc.c  */
4542 < #line 1259 "conf_parser.y"
4542 > #line 1339 "conf_parser.y"
4543      {
4544    if (conf_parser_ctx.pass == 2)
4545      block_state.port.value |= OPER_FLAG_SET;
4546   }
4547      break;
4548  
4549 <  case 201:
4549 >  case 219:
4550   /* Line 1787 of yacc.c  */
4551 < #line 1263 "conf_parser.y"
4551 > #line 1343 "conf_parser.y"
4552      {
4553    if (conf_parser_ctx.pass == 2)
4554      block_state.port.value |= OPER_FLAG_MODULE;
4555   }
4556      break;
4557  
4558 <  case 202:
4558 >  case 220:
4559   /* Line 1787 of yacc.c  */
4560 < #line 1273 "conf_parser.y"
4560 > #line 1353 "conf_parser.y"
4561      {
4562    if (conf_parser_ctx.pass != 1)
4563      break;
# Line 4437 | Line 4572 | yyreduce:
4572   }
4573      break;
4574  
4575 <  case 203:
4575 >  case 221:
4576   /* Line 1787 of yacc.c  */
4577 < #line 1285 "conf_parser.y"
4577 > #line 1365 "conf_parser.y"
4578      {
4579    struct ClassItem *class = NULL;
4580  
# Line 4489 | Line 4624 | yyreduce:
4624   }
4625      break;
4626  
4627 <  case 223:
4627 >  case 241:
4628   /* Line 1787 of yacc.c  */
4629 < #line 1351 "conf_parser.y"
4629 > #line 1431 "conf_parser.y"
4630      {
4631    if (conf_parser_ctx.pass == 1)
4632      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4633   }
4634      break;
4635  
4636 <  case 224:
4636 >  case 242:
4637   /* Line 1787 of yacc.c  */
4638 < #line 1357 "conf_parser.y"
4638 > #line 1437 "conf_parser.y"
4639      {
4640    if (conf_parser_ctx.pass == 1)
4641      block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
4642   }
4643      break;
4644  
4645 <  case 225:
4645 >  case 243:
4646   /* Line 1787 of yacc.c  */
4647 < #line 1363 "conf_parser.y"
4647 > #line 1443 "conf_parser.y"
4648      {
4649    if (conf_parser_ctx.pass == 1)
4650      block_state.max_perip.value = (yyvsp[(3) - (4)].number);
4651   }
4652      break;
4653  
4654 <  case 226:
4654 >  case 244:
4655   /* Line 1787 of yacc.c  */
4656 < #line 1369 "conf_parser.y"
4656 > #line 1449 "conf_parser.y"
4657      {
4658    if (conf_parser_ctx.pass == 1)
4659      block_state.con_freq.value = (yyvsp[(3) - (4)].number);
4660   }
4661      break;
4662  
4663 <  case 227:
4663 >  case 245:
4664   /* Line 1787 of yacc.c  */
4665 < #line 1375 "conf_parser.y"
4665 > #line 1455 "conf_parser.y"
4666      {
4667    if (conf_parser_ctx.pass == 1)
4668      block_state.max_total.value = (yyvsp[(3) - (4)].number);
4669   }
4670      break;
4671  
4672 <  case 228:
4672 >  case 246:
4673   /* Line 1787 of yacc.c  */
4674 < #line 1381 "conf_parser.y"
4674 > #line 1461 "conf_parser.y"
4675      {
4676    if (conf_parser_ctx.pass == 1)
4677      block_state.max_global.value = (yyvsp[(3) - (4)].number);
4678   }
4679      break;
4680  
4681 <  case 229:
4681 >  case 247:
4682   /* Line 1787 of yacc.c  */
4683 < #line 1387 "conf_parser.y"
4683 > #line 1467 "conf_parser.y"
4684      {
4685    if (conf_parser_ctx.pass == 1)
4686      block_state.max_local.value = (yyvsp[(3) - (4)].number);
4687   }
4688      break;
4689  
4690 <  case 230:
4690 >  case 248:
4691   /* Line 1787 of yacc.c  */
4692 < #line 1393 "conf_parser.y"
4692 > #line 1473 "conf_parser.y"
4693      {
4694    if (conf_parser_ctx.pass == 1)
4695      block_state.max_ident.value = (yyvsp[(3) - (4)].number);
4696   }
4697      break;
4698  
4699 <  case 231:
4699 >  case 249:
4700   /* Line 1787 of yacc.c  */
4701 < #line 1399 "conf_parser.y"
4701 > #line 1479 "conf_parser.y"
4702      {
4703    if (conf_parser_ctx.pass == 1)
4704      block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
4705   }
4706      break;
4707  
4708 <  case 232:
4708 >  case 250:
4709   /* Line 1787 of yacc.c  */
4710 < #line 1405 "conf_parser.y"
4710 > #line 1485 "conf_parser.y"
4711      {
4712    if (conf_parser_ctx.pass == 1)
4713      if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
# Line 4580 | Line 4715 | yyreduce:
4715   }
4716      break;
4717  
4718 <  case 233:
4718 >  case 251:
4719   /* Line 1787 of yacc.c  */
4720 < #line 1412 "conf_parser.y"
4720 > #line 1492 "conf_parser.y"
4721      {
4722    if (conf_parser_ctx.pass == 1)
4723      block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4724   }
4725      break;
4726  
4727 <  case 234:
4727 >  case 252:
4728   /* Line 1787 of yacc.c  */
4729 < #line 1418 "conf_parser.y"
4729 > #line 1498 "conf_parser.y"
4730      {
4731    if (conf_parser_ctx.pass == 1)
4732      block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4733   }
4734      break;
4735  
4736 <  case 235:
4736 >  case 253:
4737   /* Line 1787 of yacc.c  */
4738 < #line 1424 "conf_parser.y"
4738 > #line 1504 "conf_parser.y"
4739      {
4740    if (conf_parser_ctx.pass == 1)
4741      block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
4742   }
4743      break;
4744  
4745 <  case 236:
4745 >  case 254:
4746   /* Line 1787 of yacc.c  */
4747 < #line 1430 "conf_parser.y"
4747 > #line 1510 "conf_parser.y"
4748      {
4749    if (conf_parser_ctx.pass != 1)
4750      break;
# Line 4619 | Line 4754 | yyreduce:
4754   }
4755      break;
4756  
4757 <  case 237:
4757 >  case 255:
4758   /* Line 1787 of yacc.c  */
4759 < #line 1439 "conf_parser.y"
4759 > #line 1519 "conf_parser.y"
4760      {
4761    if (conf_parser_ctx.pass != 1)
4762      break;
# Line 4631 | Line 4766 | yyreduce:
4766   }
4767      break;
4768  
4769 <  case 238:
4769 >  case 256:
4770   /* Line 1787 of yacc.c  */
4771 < #line 1448 "conf_parser.y"
4771 > #line 1528 "conf_parser.y"
4772      {
4773    if (conf_parser_ctx.pass == 1)
4774      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4775   }
4776      break;
4777  
4778 <  case 242:
4778 >  case 260:
4779   /* Line 1787 of yacc.c  */
4780 < #line 1455 "conf_parser.y"
4780 > #line 1535 "conf_parser.y"
4781      {
4782    if (conf_parser_ctx.pass == 1)
4783      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4784   }
4785      break;
4786  
4787 <  case 243:
4787 >  case 261:
4788   /* Line 1787 of yacc.c  */
4789 < #line 1459 "conf_parser.y"
4789 > #line 1539 "conf_parser.y"
4790      {
4791    if (conf_parser_ctx.pass == 1)
4792      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4793   }
4794      break;
4795  
4796 <  case 244:
4796 >  case 262:
4797   /* Line 1787 of yacc.c  */
4798 < #line 1469 "conf_parser.y"
4798 > #line 1549 "conf_parser.y"
4799      {
4800    if (conf_parser_ctx.pass == 2)
4801      reset_block_state();
4802   }
4803      break;
4804  
4805 <  case 246:
4805 >  case 264:
4806   /* Line 1787 of yacc.c  */
4807 < #line 1475 "conf_parser.y"
4807 > #line 1555 "conf_parser.y"
4808      {
4809    block_state.flags.value = 0;
4810   }
4811      break;
4812  
4813 <  case 250:
4813 >  case 268:
4814   /* Line 1787 of yacc.c  */
4815 < #line 1481 "conf_parser.y"
4815 > #line 1561 "conf_parser.y"
4816      {
4817    if (conf_parser_ctx.pass == 2)
4818      block_state.flags.value |= LISTENER_SSL;
4819   }
4820      break;
4821  
4822 <  case 251:
4822 >  case 269:
4823   /* Line 1787 of yacc.c  */
4824 < #line 1485 "conf_parser.y"
4824 > #line 1565 "conf_parser.y"
4825      {
4826    if (conf_parser_ctx.pass == 2)
4827      block_state.flags.value |= LISTENER_HIDDEN;
4828   }
4829      break;
4830  
4831 <  case 252:
4831 >  case 270:
4832   /* Line 1787 of yacc.c  */
4833 < #line 1489 "conf_parser.y"
4833 > #line 1569 "conf_parser.y"
4834      {
4835    if (conf_parser_ctx.pass == 2)
4836     block_state.flags.value |= LISTENER_SERVER;
4837   }
4838      break;
4839  
4840 <  case 260:
4840 >  case 278:
4841   /* Line 1787 of yacc.c  */
4842 < #line 1497 "conf_parser.y"
4842 > #line 1577 "conf_parser.y"
4843      { block_state.flags.value = 0; }
4844      break;
4845  
4846 <  case 264:
4846 >  case 282:
4847   /* Line 1787 of yacc.c  */
4848 < #line 1502 "conf_parser.y"
4848 > #line 1582 "conf_parser.y"
4849      {
4850    if (conf_parser_ctx.pass == 2)
4851    {
# Line 4727 | Line 4862 | yyreduce:
4862   }
4863      break;
4864  
4865 <  case 265:
4865 >  case 283:
4866   /* Line 1787 of yacc.c  */
4867 < #line 1516 "conf_parser.y"
4867 > #line 1596 "conf_parser.y"
4868      {
4869    if (conf_parser_ctx.pass == 2)
4870    {
# Line 4750 | Line 4885 | yyreduce:
4885   }
4886      break;
4887  
4888 <  case 266:
4888 >  case 284:
4889   /* Line 1787 of yacc.c  */
4890 < #line 1536 "conf_parser.y"
4890 > #line 1616 "conf_parser.y"
4891      {
4892    if (conf_parser_ctx.pass == 2)
4893      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4894   }
4895      break;
4896  
4897 <  case 267:
4897 >  case 285:
4898   /* Line 1787 of yacc.c  */
4899 < #line 1542 "conf_parser.y"
4899 > #line 1622 "conf_parser.y"
4900      {
4901    if (conf_parser_ctx.pass == 2)
4902      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4903   }
4904      break;
4905  
4906 <  case 268:
4906 >  case 286:
4907   /* Line 1787 of yacc.c  */
4908 < #line 1551 "conf_parser.y"
4908 > #line 1631 "conf_parser.y"
4909      {
4910    if (conf_parser_ctx.pass == 2)
4911      reset_block_state();
4912   }
4913      break;
4914  
4915 <  case 269:
4915 >  case 287:
4916   /* Line 1787 of yacc.c  */
4917 < #line 1555 "conf_parser.y"
4917 > #line 1635 "conf_parser.y"
4918      {
4919    dlink_node *ptr = NULL;
4920  
# Line 4801 | Line 4936 | yyreduce:
4936      split_nuh(&nuh);
4937  
4938      conf        = conf_make(CONF_CLIENT);
4939 <    conf->user  = xstrdup(collapse(block_state.user.buf));
4940 <    conf->host  = xstrdup(collapse(block_state.host.buf));
4939 >    conf->user  = xstrdup(block_state.user.buf);
4940 >    conf->host  = xstrdup(block_state.host.buf);
4941  
4942      if (block_state.rpass.buf[0])
4943        conf->passwd = xstrdup(block_state.rpass.buf);
4944      if (block_state.name.buf[0])
4945 <      conf->passwd = xstrdup(block_state.name.buf);
4945 >      conf->name = xstrdup(block_state.name.buf);
4946  
4947      conf->flags = block_state.flags.value;
4948      conf->port  = block_state.port.value;
# Line 4818 | Line 4953 | yyreduce:
4953   }
4954      break;
4955  
4956 <  case 281:
4956 >  case 299:
4957   /* Line 1787 of yacc.c  */
4958 < #line 1598 "conf_parser.y"
4958 > #line 1678 "conf_parser.y"
4959      {
4960    if (conf_parser_ctx.pass == 2)
4961      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4962   }
4963      break;
4964  
4965 <  case 282:
4965 >  case 300:
4966   /* Line 1787 of yacc.c  */
4967 < #line 1604 "conf_parser.y"
4967 > #line 1684 "conf_parser.y"
4968      {
4969    if (conf_parser_ctx.pass == 2)
4970      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4971   }
4972      break;
4973  
4974 <  case 283:
4974 >  case 301:
4975   /* Line 1787 of yacc.c  */
4976 < #line 1610 "conf_parser.y"
4976 > #line 1690 "conf_parser.y"
4977      {
4978    if (conf_parser_ctx.pass == 2)
4979      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4980   }
4981      break;
4982  
4983 <  case 284:
4983 >  case 302:
4984   /* Line 1787 of yacc.c  */
4985 < #line 1616 "conf_parser.y"
4985 > #line 1696 "conf_parser.y"
4986      {
4987    if (conf_parser_ctx.pass == 2)
4988    {
# Line 4859 | Line 4994 | yyreduce:
4994   }
4995      break;
4996  
4997 <  case 285:
4997 >  case 303:
4998   /* Line 1787 of yacc.c  */
4999 < #line 1627 "conf_parser.y"
4999 > #line 1707 "conf_parser.y"
5000      {
5001    if (conf_parser_ctx.pass == 2)
5002 <    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5002 >    block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
5003   }
5004      break;
5005  
5006 <  case 289:
5006 >  case 307:
5007   /* Line 1787 of yacc.c  */
5008 < #line 1634 "conf_parser.y"
5008 > #line 1714 "conf_parser.y"
5009      {
5010    if (conf_parser_ctx.pass == 2)
5011      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
5012   }
5013      break;
5014  
5015 <  case 290:
5015 >  case 308:
5016   /* Line 1787 of yacc.c  */
5017 < #line 1638 "conf_parser.y"
5017 > #line 1718 "conf_parser.y"
5018      {
5019    if (conf_parser_ctx.pass == 2)
5020      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
5021   }
5022      break;
5023  
5024 <  case 291:
5024 >  case 309:
5025   /* Line 1787 of yacc.c  */
5026 < #line 1642 "conf_parser.y"
5026 > #line 1722 "conf_parser.y"
5027      {
5028    if (conf_parser_ctx.pass == 2)
5029      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
5030   }
5031      break;
5032  
5033 <  case 292:
5033 >  case 310:
5034   /* Line 1787 of yacc.c  */
5035 < #line 1646 "conf_parser.y"
5035 > #line 1726 "conf_parser.y"
5036      {
5037    if (conf_parser_ctx.pass == 2)
5038      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
5039   }
5040      break;
5041  
5042 <  case 293:
5042 >  case 311:
5043   /* Line 1787 of yacc.c  */
5044 < #line 1650 "conf_parser.y"
5044 > #line 1730 "conf_parser.y"
5045      {
5046    if (conf_parser_ctx.pass == 2)
5047      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
5048   }
5049      break;
5050  
5051 <  case 294:
5051 >  case 312:
5052   /* Line 1787 of yacc.c  */
5053 < #line 1654 "conf_parser.y"
5053 > #line 1734 "conf_parser.y"
5054      {
5055    if (conf_parser_ctx.pass == 2)
5056      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
5057   }
5058      break;
5059  
5060 <  case 295:
5060 >  case 313:
5061   /* Line 1787 of yacc.c  */
5062 < #line 1658 "conf_parser.y"
5062 > #line 1738 "conf_parser.y"
5063      {
5064    if (conf_parser_ctx.pass == 2)
5065      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
5066   }
5067      break;
5068  
5069 <  case 296:
5069 >  case 314:
5070   /* Line 1787 of yacc.c  */
5071 < #line 1662 "conf_parser.y"
5071 > #line 1742 "conf_parser.y"
5072      {
5073    if (conf_parser_ctx.pass == 2)
5074      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
5075   }
5076      break;
5077  
5078 <  case 297:
5078 >  case 315:
5079   /* Line 1787 of yacc.c  */
5080 < #line 1666 "conf_parser.y"
5080 > #line 1746 "conf_parser.y"
5081      {
5082    if (conf_parser_ctx.pass == 2)
5083      block_state.flags.value |= CONF_FLAGS_WEBIRC;
5084   }
5085      break;
5086  
5087 <  case 298:
5087 >  case 316:
5088   /* Line 1787 of yacc.c  */
5089 < #line 1670 "conf_parser.y"
5089 > #line 1750 "conf_parser.y"
5090      {
5091    if (conf_parser_ctx.pass == 2)
5092      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
5093   }
5094      break;
5095  
5096 <  case 299:
5096 >  case 317:
5097   /* Line 1787 of yacc.c  */
5098 < #line 1676 "conf_parser.y"
5098 > #line 1756 "conf_parser.y"
5099      {
5100    if (conf_parser_ctx.pass != 2)
5101      break;
# Line 4975 | Line 5110 | yyreduce:
5110   }
5111      break;
5112  
5113 <  case 300:
5113 >  case 318:
5114   /* Line 1787 of yacc.c  */
5115 < #line 1690 "conf_parser.y"
5115 > #line 1770 "conf_parser.y"
5116      {
5117    if (conf_parser_ctx.pass != 2)
5118      break;
# Line 4987 | Line 5122 | yyreduce:
5122   }
5123      break;
5124  
5125 <  case 301:
5125 >  case 319:
5126   /* Line 1787 of yacc.c  */
5127 < #line 1699 "conf_parser.y"
5127 > #line 1779 "conf_parser.y"
5128      {
5129    if (conf_parser_ctx.pass != 2)
5130      break;
# Line 4999 | Line 5134 | yyreduce:
5134   }
5135      break;
5136  
5137 <  case 302:
5137 >  case 320:
5138   /* Line 1787 of yacc.c  */
5139 < #line 1712 "conf_parser.y"
5139 > #line 1792 "conf_parser.y"
5140      {
5141    if (conf_parser_ctx.pass != 2)
5142      break;
# Line 5011 | Line 5146 | yyreduce:
5146   }
5147      break;
5148  
5149 <  case 303:
5149 >  case 321:
5150   /* Line 1787 of yacc.c  */
5151 < #line 1719 "conf_parser.y"
5151 > #line 1799 "conf_parser.y"
5152      {
5153    if (conf_parser_ctx.pass != 2)
5154      break;
# Line 5022 | Line 5157 | yyreduce:
5157   }
5158      break;
5159  
5160 <  case 310:
5160 >  case 328:
5161   /* Line 1787 of yacc.c  */
5162 < #line 1730 "conf_parser.y"
5162 > #line 1810 "conf_parser.y"
5163      {
5164    if (conf_parser_ctx.pass == 2)
5165      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5166   }
5167      break;
5168  
5169 <  case 311:
5169 >  case 329:
5170   /* Line 1787 of yacc.c  */
5171 < #line 1736 "conf_parser.y"
5171 > #line 1816 "conf_parser.y"
5172      {
5173    if (conf_parser_ctx.pass == 2)
5174      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5175   }
5176      break;
5177  
5178 <  case 312:
5178 >  case 330:
5179   /* Line 1787 of yacc.c  */
5180 < #line 1742 "conf_parser.y"
5180 > #line 1822 "conf_parser.y"
5181      {
5182    if (conf_parser_ctx.pass == 2)
5183      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
5184   }
5185      break;
5186  
5187 <  case 318:
5187 >  case 336:
5188   /* Line 1787 of yacc.c  */
5189 < #line 1757 "conf_parser.y"
5189 > #line 1837 "conf_parser.y"
5190      {
5191 <  if (conf_parser_ctx.pass == 2)
5191 >  if (conf_parser_ctx.pass != 2)
5192 >    break;
5193 >
5194 >  if (valid_servname(yylval.string))
5195    {
5196 <    if (valid_servname(yylval.string))
5197 <    {
5060 <      struct MaskItem *conf = conf_make(CONF_SERVICE);
5061 <      conf->name = xstrdup(yylval.string);
5062 <    }
5196 >    struct MaskItem *conf = conf_make(CONF_SERVICE);
5197 >    conf->name = xstrdup(yylval.string);
5198    }
5199   }
5200      break;
5201  
5202 <  case 319:
5202 >  case 337:
5203   /* Line 1787 of yacc.c  */
5204 < #line 1772 "conf_parser.y"
5204 > #line 1852 "conf_parser.y"
5205      {
5206    if (conf_parser_ctx.pass != 2)
5207      break;
# Line 5080 | Line 5215 | yyreduce:
5215   }
5216      break;
5217  
5218 <  case 320:
5218 >  case 338:
5219   /* Line 1787 of yacc.c  */
5220 < #line 1783 "conf_parser.y"
5220 > #line 1863 "conf_parser.y"
5221      {
5222    struct MaskItem *conf = NULL;
5223  
# Line 5093 | Line 5228 | yyreduce:
5228    conf->flags = block_state.flags.value;
5229    conf->name = xstrdup(block_state.name.buf);
5230    conf->user = xstrdup(block_state.user.buf);
5231 <  conf->user = xstrdup(block_state.host.buf);
5231 >  conf->host = xstrdup(block_state.host.buf);
5232   }
5233      break;
5234  
5235 <  case 327:
5235 >  case 345:
5236   /* Line 1787 of yacc.c  */
5237 < #line 1800 "conf_parser.y"
5237 > #line 1880 "conf_parser.y"
5238      {
5239    if (conf_parser_ctx.pass == 2)
5240      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5241   }
5242      break;
5243  
5244 <  case 328:
5244 >  case 346:
5245   /* Line 1787 of yacc.c  */
5246 < #line 1806 "conf_parser.y"
5246 > #line 1886 "conf_parser.y"
5247      {
5248    if (conf_parser_ctx.pass == 2)
5249    {
# Line 5128 | Line 5263 | yyreduce:
5263   }
5264      break;
5265  
5266 <  case 329:
5266 >  case 347:
5267   /* Line 1787 of yacc.c  */
5268 < #line 1825 "conf_parser.y"
5268 > #line 1905 "conf_parser.y"
5269      {
5270    if (conf_parser_ctx.pass == 2)
5271      block_state.flags.value = 0;
5272   }
5273      break;
5274  
5275 <  case 333:
5275 >  case 351:
5276   /* Line 1787 of yacc.c  */
5277 < #line 1832 "conf_parser.y"
5277 > #line 1912 "conf_parser.y"
5278      {
5279    if (conf_parser_ctx.pass == 2)
5280      block_state.flags.value |= SHARED_KLINE;
5281   }
5282      break;
5283  
5284 <  case 334:
5284 >  case 352:
5285   /* Line 1787 of yacc.c  */
5286 < #line 1836 "conf_parser.y"
5286 > #line 1916 "conf_parser.y"
5287      {
5288    if (conf_parser_ctx.pass == 2)
5289      block_state.flags.value |= SHARED_UNKLINE;
5290   }
5291      break;
5292  
5293 <  case 335:
5293 >  case 353:
5294   /* Line 1787 of yacc.c  */
5295 < #line 1840 "conf_parser.y"
5295 > #line 1920 "conf_parser.y"
5296      {
5297    if (conf_parser_ctx.pass == 2)
5298      block_state.flags.value |= SHARED_DLINE;
5299   }
5300      break;
5301  
5302 <  case 336:
5302 >  case 354:
5303   /* Line 1787 of yacc.c  */
5304 < #line 1844 "conf_parser.y"
5304 > #line 1924 "conf_parser.y"
5305      {
5306    if (conf_parser_ctx.pass == 2)
5307      block_state.flags.value |= SHARED_UNDLINE;
5308   }
5309      break;
5310  
5311 <  case 337:
5311 >  case 355:
5312   /* Line 1787 of yacc.c  */
5313 < #line 1848 "conf_parser.y"
5313 > #line 1928 "conf_parser.y"
5314      {
5315    if (conf_parser_ctx.pass == 2)
5316      block_state.flags.value |= SHARED_XLINE;
5317   }
5318      break;
5319  
5320 <  case 338:
5320 >  case 356:
5321   /* Line 1787 of yacc.c  */
5322 < #line 1852 "conf_parser.y"
5322 > #line 1932 "conf_parser.y"
5323      {
5324    if (conf_parser_ctx.pass == 2)
5325      block_state.flags.value |= SHARED_UNXLINE;
5326   }
5327      break;
5328  
5329 <  case 339:
5329 >  case 357:
5330   /* Line 1787 of yacc.c  */
5331 < #line 1856 "conf_parser.y"
5331 > #line 1936 "conf_parser.y"
5332      {
5333    if (conf_parser_ctx.pass == 2)
5334      block_state.flags.value |= SHARED_RESV;
5335   }
5336      break;
5337  
5338 <  case 340:
5338 >  case 358:
5339   /* Line 1787 of yacc.c  */
5340 < #line 1860 "conf_parser.y"
5340 > #line 1940 "conf_parser.y"
5341      {
5342    if (conf_parser_ctx.pass == 2)
5343      block_state.flags.value |= SHARED_UNRESV;
5344   }
5345      break;
5346  
5347 <  case 341:
5347 >  case 359:
5348   /* Line 1787 of yacc.c  */
5349 < #line 1864 "conf_parser.y"
5349 > #line 1944 "conf_parser.y"
5350      {
5351    if (conf_parser_ctx.pass == 2)
5352      block_state.flags.value |= SHARED_LOCOPS;
5353   }
5354      break;
5355  
5356 <  case 342:
5356 >  case 360:
5357   /* Line 1787 of yacc.c  */
5358 < #line 1868 "conf_parser.y"
5358 > #line 1948 "conf_parser.y"
5359      {
5360    if (conf_parser_ctx.pass == 2)
5361      block_state.flags.value = SHARED_ALL;
5362   }
5363      break;
5364  
5365 <  case 343:
5365 >  case 361:
5366   /* Line 1787 of yacc.c  */
5367 < #line 1877 "conf_parser.y"
5367 > #line 1957 "conf_parser.y"
5368      {
5369    if (conf_parser_ctx.pass != 2)
5370      break;
# Line 5241 | Line 5376 | yyreduce:
5376   }
5377      break;
5378  
5379 <  case 344:
5379 >  case 362:
5380   /* Line 1787 of yacc.c  */
5381 < #line 1886 "conf_parser.y"
5381 > #line 1966 "conf_parser.y"
5382      {
5383    struct MaskItem *conf = NULL;
5384  
# Line 5256 | Line 5391 | yyreduce:
5391   }
5392      break;
5393  
5394 <  case 350:
5394 >  case 368:
5395   /* Line 1787 of yacc.c  */
5396 < #line 1901 "conf_parser.y"
5396 > #line 1981 "conf_parser.y"
5397      {
5398    if (conf_parser_ctx.pass == 2)
5399      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5400   }
5401      break;
5402  
5403 <  case 351:
5403 >  case 369:
5404   /* Line 1787 of yacc.c  */
5405 < #line 1907 "conf_parser.y"
5405 > #line 1987 "conf_parser.y"
5406      {
5407    if (conf_parser_ctx.pass == 2)
5408      block_state.flags.value = 0;
5409   }
5410      break;
5411  
5412 <  case 355:
5412 >  case 373:
5413   /* Line 1787 of yacc.c  */
5414 < #line 1914 "conf_parser.y"
5414 > #line 1994 "conf_parser.y"
5415      {
5416    if (conf_parser_ctx.pass == 2)
5417      block_state.flags.value |= SHARED_KLINE;
5418   }
5419      break;
5420  
5421 <  case 356:
5421 >  case 374:
5422   /* Line 1787 of yacc.c  */
5423 < #line 1918 "conf_parser.y"
5423 > #line 1998 "conf_parser.y"
5424      {
5425    if (conf_parser_ctx.pass == 2)
5426      block_state.flags.value |= SHARED_UNKLINE;
5427   }
5428      break;
5429  
5430 <  case 357:
5430 >  case 375:
5431   /* Line 1787 of yacc.c  */
5432 < #line 1922 "conf_parser.y"
5432 > #line 2002 "conf_parser.y"
5433      {
5434    if (conf_parser_ctx.pass == 2)
5435      block_state.flags.value |= SHARED_DLINE;
5436   }
5437      break;
5438  
5439 <  case 358:
5439 >  case 376:
5440   /* Line 1787 of yacc.c  */
5441 < #line 1926 "conf_parser.y"
5441 > #line 2006 "conf_parser.y"
5442      {
5443    if (conf_parser_ctx.pass == 2)
5444      block_state.flags.value |= SHARED_UNDLINE;
5445   }
5446      break;
5447  
5448 <  case 359:
5448 >  case 377:
5449   /* Line 1787 of yacc.c  */
5450 < #line 1930 "conf_parser.y"
5450 > #line 2010 "conf_parser.y"
5451      {
5452    if (conf_parser_ctx.pass == 2)
5453      block_state.flags.value |= SHARED_XLINE;
5454   }
5455      break;
5456  
5457 <  case 360:
5457 >  case 378:
5458   /* Line 1787 of yacc.c  */
5459 < #line 1934 "conf_parser.y"
5459 > #line 2014 "conf_parser.y"
5460      {
5461    if (conf_parser_ctx.pass == 2)
5462      block_state.flags.value |= SHARED_UNXLINE;
5463   }
5464      break;
5465  
5466 <  case 361:
5466 >  case 379:
5467   /* Line 1787 of yacc.c  */
5468 < #line 1938 "conf_parser.y"
5468 > #line 2018 "conf_parser.y"
5469      {
5470    if (conf_parser_ctx.pass == 2)
5471      block_state.flags.value |= SHARED_RESV;
5472   }
5473      break;
5474  
5475 <  case 362:
5475 >  case 380:
5476   /* Line 1787 of yacc.c  */
5477 < #line 1942 "conf_parser.y"
5477 > #line 2022 "conf_parser.y"
5478      {
5479    if (conf_parser_ctx.pass == 2)
5480      block_state.flags.value |= SHARED_UNRESV;
5481   }
5482      break;
5483  
5484 <  case 363:
5484 >  case 381:
5485   /* Line 1787 of yacc.c  */
5486 < #line 1946 "conf_parser.y"
5486 > #line 2026 "conf_parser.y"
5487      {
5488    if (conf_parser_ctx.pass == 2)
5489      block_state.flags.value |= SHARED_LOCOPS;
5490   }
5491      break;
5492  
5493 <  case 364:
5493 >  case 382:
5494   /* Line 1787 of yacc.c  */
5495 < #line 1950 "conf_parser.y"
5495 > #line 2030 "conf_parser.y"
5496      {
5497    if (conf_parser_ctx.pass == 2)
5498      block_state.flags.value = SHARED_ALL;
5499   }
5500      break;
5501  
5502 <  case 365:
5502 >  case 383:
5503   /* Line 1787 of yacc.c  */
5504 < #line 1959 "conf_parser.y"
5504 > #line 2039 "conf_parser.y"
5505      {
5506  
5507    if (conf_parser_ctx.pass != 2)
# Line 5377 | Line 5512 | yyreduce:
5512   }
5513      break;
5514  
5515 <  case 366:
5515 >  case 384:
5516   /* Line 1787 of yacc.c  */
5517 < #line 1967 "conf_parser.y"
5517 > #line 2047 "conf_parser.y"
5518      {
5519    struct MaskItem *conf = NULL;
5520    struct addrinfo hints, *res;
# Line 5391 | Line 5526 | yyreduce:
5526        !block_state.host.buf[0])
5527      break;
5528  
5529 <  if (!(block_state.rpass.buf[0] ||
5530 <        block_state.spass.buf[0]))
5529 >  if (!block_state.rpass.buf[0] ||
5530 >      !block_state.spass.buf[0])
5531      break;
5532  
5533    if (has_wildcards(block_state.name.buf) ||
# Line 5407 | Line 5542 | yyreduce:
5542    conf->name = xstrdup(block_state.name.buf);
5543    conf->passwd = xstrdup(block_state.rpass.buf);
5544    conf->spasswd = xstrdup(block_state.spass.buf);
5545 <  conf->cipher_list = xstrdup(block_state.ciph.buf);
5545 >
5546 >  if (block_state.cert.buf[0])
5547 >    conf->certfp = xstrdup(block_state.cert.buf);
5548 >
5549 >  if (block_state.ciph.buf[0])
5550 >    conf->cipher_list = xstrdup(block_state.ciph.buf);
5551  
5552    dlinkMoveList(&block_state.leaf.list, &conf->leaf_list);
5553    dlinkMoveList(&block_state.hub.list, &conf->hub_list);
# Line 5438 | Line 5578 | yyreduce:
5578   }
5579      break;
5580  
5581 <  case 383:
5581 >  case 402:
5582   /* Line 1787 of yacc.c  */
5583 < #line 2033 "conf_parser.y"
5583 > #line 2119 "conf_parser.y"
5584      {
5585    if (conf_parser_ctx.pass == 2)
5586      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5587   }
5588      break;
5589  
5590 <  case 384:
5590 >  case 403:
5591   /* Line 1787 of yacc.c  */
5592 < #line 2039 "conf_parser.y"
5592 > #line 2125 "conf_parser.y"
5593      {
5594    if (conf_parser_ctx.pass == 2)
5595      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5596   }
5597      break;
5598  
5599 <  case 385:
5599 >  case 404:
5600   /* Line 1787 of yacc.c  */
5601 < #line 2045 "conf_parser.y"
5601 > #line 2131 "conf_parser.y"
5602      {
5603    if (conf_parser_ctx.pass == 2)
5604      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5605   }
5606      break;
5607  
5608 <  case 386:
5608 >  case 405:
5609   /* Line 1787 of yacc.c  */
5610 < #line 2051 "conf_parser.y"
5610 > #line 2137 "conf_parser.y"
5611      {
5612    if (conf_parser_ctx.pass != 2)
5613      break;
# Line 5481 | Line 5621 | yyreduce:
5621   }
5622      break;
5623  
5624 <  case 387:
5624 >  case 406:
5625   /* Line 1787 of yacc.c  */
5626 < #line 2064 "conf_parser.y"
5626 > #line 2150 "conf_parser.y"
5627      {
5628    if (conf_parser_ctx.pass != 2)
5629      break;
# Line 5497 | Line 5637 | yyreduce:
5637   }
5638      break;
5639  
5640 <  case 388:
5640 >  case 407:
5641 > /* Line 1787 of yacc.c  */
5642 > #line 2163 "conf_parser.y"
5643 >    {
5644 >  if (conf_parser_ctx.pass == 2)
5645 >    strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5646 > }
5647 >    break;
5648 >
5649 >  case 408:
5650   /* Line 1787 of yacc.c  */
5651 < #line 2077 "conf_parser.y"
5651 > #line 2169 "conf_parser.y"
5652      {
5653    if (conf_parser_ctx.pass == 2)
5654      block_state.port.value = (yyvsp[(3) - (4)].number);
5655   }
5656      break;
5657  
5658 <  case 389:
5658 >  case 409:
5659   /* Line 1787 of yacc.c  */
5660 < #line 2083 "conf_parser.y"
5660 > #line 2175 "conf_parser.y"
5661      {
5662    if (conf_parser_ctx.pass == 2)
5663      block_state.aftype.value = AF_INET;
5664   }
5665      break;
5666  
5667 <  case 390:
5667 >  case 410:
5668   /* Line 1787 of yacc.c  */
5669 < #line 2087 "conf_parser.y"
5669 > #line 2179 "conf_parser.y"
5670      {
5671   #ifdef IPV6
5672    if (conf_parser_ctx.pass == 2)
# Line 5526 | Line 5675 | yyreduce:
5675   }
5676      break;
5677  
5678 <  case 391:
5678 >  case 411:
5679   /* Line 1787 of yacc.c  */
5680 < #line 2095 "conf_parser.y"
5680 > #line 2187 "conf_parser.y"
5681      {
5682    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5683   }
5684      break;
5685  
5686 <  case 395:
5686 >  case 415:
5687   /* Line 1787 of yacc.c  */
5688 < #line 2101 "conf_parser.y"
5688 > #line 2193 "conf_parser.y"
5689      {
5690    if (conf_parser_ctx.pass == 2)
5691      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5692   }
5693      break;
5694  
5695 <  case 396:
5695 >  case 416:
5696   /* Line 1787 of yacc.c  */
5697 < #line 2105 "conf_parser.y"
5697 > #line 2197 "conf_parser.y"
5698      {
5699    if (conf_parser_ctx.pass == 2)
5700      block_state.flags.value |= CONF_FLAGS_SSL;
5701   }
5702      break;
5703  
5704 <  case 397:
5704 >  case 417:
5705   /* Line 1787 of yacc.c  */
5706 < #line 2111 "conf_parser.y"
5706 > #line 2203 "conf_parser.y"
5707      {
5708    if (conf_parser_ctx.pass == 2)
5709    {
# Line 5566 | Line 5715 | yyreduce:
5715   }
5716      break;
5717  
5718 <  case 398:
5718 >  case 418:
5719   /* Line 1787 of yacc.c  */
5720 < #line 2122 "conf_parser.y"
5720 > #line 2214 "conf_parser.y"
5721      {
5722    if (conf_parser_ctx.pass == 2)
5723      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5724   }
5725      break;
5726  
5727 <  case 399:
5727 >  case 419:
5728   /* Line 1787 of yacc.c  */
5729 < #line 2128 "conf_parser.y"
5729 > #line 2220 "conf_parser.y"
5730      {
5731    if (conf_parser_ctx.pass == 2)
5732      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5733   }
5734      break;
5735  
5736 <  case 400:
5736 >  case 420:
5737   /* Line 1787 of yacc.c  */
5738 < #line 2134 "conf_parser.y"
5738 > #line 2226 "conf_parser.y"
5739      {
5740    if (conf_parser_ctx.pass == 2)
5741      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5742   }
5743      break;
5744  
5745 <  case 401:
5745 >  case 421:
5746   /* Line 1787 of yacc.c  */
5747 < #line 2140 "conf_parser.y"
5747 > #line 2232 "conf_parser.y"
5748      {
5749   #ifdef HAVE_LIBCRYPTO
5750    if (conf_parser_ctx.pass == 2)
# Line 5607 | Line 5756 | yyreduce:
5756   }
5757      break;
5758  
5759 <  case 402:
5759 >  case 422:
5760   /* Line 1787 of yacc.c  */
5761 < #line 2155 "conf_parser.y"
5761 > #line 2247 "conf_parser.y"
5762      {
5763    if (conf_parser_ctx.pass == 2)
5764      reset_block_state();
5765   }
5766      break;
5767  
5768 <  case 403:
5768 >  case 423:
5769   /* Line 1787 of yacc.c  */
5770 < #line 2159 "conf_parser.y"
5770 > #line 2251 "conf_parser.y"
5771      {
5772    struct MaskItem *conf = NULL;
5773  
# Line 5629 | Line 5778 | yyreduce:
5778        !block_state.host.buf[0])
5779      break;
5780  
5781 +  conf = conf_make(CONF_KLINE);
5782 +  conf->user = xstrdup(block_state.user.buf);
5783 +  conf->host = xstrdup(block_state.host.buf);
5784  
5785 <  if (block_state.port.value == 1)
5786 <  {
5635 < #ifdef HAVE_LIBPCRE
5636 <    void *exp_user = NULL;
5637 <    void *exp_host = NULL;
5638 <    const char *errptr = NULL;
5639 <
5640 <    if (!(exp_user = ircd_pcre_compile(block_state.user.buf, &errptr)) ||
5641 <        !(exp_host = ircd_pcre_compile(block_state.host.buf, &errptr)))
5642 <    {
5643 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5644 <           errptr);
5645 <      break;
5646 <    }
5647 <
5648 <    conf = conf_make(CONF_RKLINE);
5649 <    conf->regexuser = exp_user;
5650 <    conf->regexhost = exp_host;
5651 <
5652 <    conf->user = xstrdup(block_state.user.buf);
5653 <    conf->host = xstrdup(block_state.host.buf);
5654 <
5655 <    if (block_state.rpass.buf[0])
5656 <      conf->reason = xstrdup(block_state.rpass.buf);
5657 <    else
5658 <      conf->reason = xstrdup(CONF_NOREASON);
5659 < #else
5660 <    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5661 <    break;
5662 < #endif
5663 <  }
5785 >  if (block_state.rpass.buf[0])
5786 >    conf->reason = xstrdup(block_state.rpass.buf);
5787    else
5788 <  {
5789 <    conf = conf_make(CONF_KLINE);
5667 <
5668 <    conf->user = xstrdup(block_state.user.buf);
5669 <    conf->host = xstrdup(block_state.host.buf);
5670 <
5671 <    if (block_state.rpass.buf[0])
5672 <      conf->reason = xstrdup(block_state.rpass.buf);
5673 <    else
5674 <      conf->reason = xstrdup(CONF_NOREASON);
5675 <    add_conf_by_address(CONF_KLINE, conf);
5676 <  }
5677 < }
5678 <    break;
5679 <
5680 <  case 404:
5681 < /* Line 1787 of yacc.c  */
5682 < #line 2217 "conf_parser.y"
5683 <    {
5684 <  if (conf_parser_ctx.pass == 2)
5685 <    block_state.port.value = 0;
5686 < }
5687 <    break;
5688 <
5689 <  case 408:
5690 < /* Line 1787 of yacc.c  */
5691 < #line 2224 "conf_parser.y"
5692 <    {
5693 <  if (conf_parser_ctx.pass == 2)
5694 <    block_state.port.value = 1;
5788 >    conf->reason = xstrdup(CONF_NOREASON);
5789 >  add_conf_by_address(CONF_KLINE, conf);
5790   }
5791      break;
5792  
5793 <  case 415:
5793 >  case 429:
5794   /* Line 1787 of yacc.c  */
5795 < #line 2233 "conf_parser.y"
5795 > #line 2276 "conf_parser.y"
5796      {
5797  
5798    if (conf_parser_ctx.pass == 2)
# Line 5718 | Line 5813 | yyreduce:
5813   }
5814      break;
5815  
5816 <  case 416:
5816 >  case 430:
5817   /* Line 1787 of yacc.c  */
5818 < #line 2253 "conf_parser.y"
5818 > #line 2296 "conf_parser.y"
5819      {
5820    if (conf_parser_ctx.pass == 2)
5821      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5822   }
5823      break;
5824  
5825 <  case 417:
5825 >  case 431:
5826   /* Line 1787 of yacc.c  */
5827 < #line 2262 "conf_parser.y"
5827 > #line 2305 "conf_parser.y"
5828      {
5829    if (conf_parser_ctx.pass == 2)
5830      reset_block_state();
5831   }
5832      break;
5833  
5834 <  case 418:
5834 >  case 432:
5835   /* Line 1787 of yacc.c  */
5836 < #line 2266 "conf_parser.y"
5836 > #line 2309 "conf_parser.y"
5837      {
5838    struct MaskItem *conf = NULL;
5839  
# Line 5762 | Line 5857 | yyreduce:
5857   }
5858      break;
5859  
5860 <  case 424:
5860 >  case 438:
5861   /* Line 1787 of yacc.c  */
5862 < #line 2292 "conf_parser.y"
5862 > #line 2335 "conf_parser.y"
5863      {
5864    if (conf_parser_ctx.pass == 2)
5865      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5866   }
5867      break;
5868  
5869 <  case 425:
5869 >  case 439:
5870   /* Line 1787 of yacc.c  */
5871 < #line 2298 "conf_parser.y"
5871 > #line 2341 "conf_parser.y"
5872      {
5873    if (conf_parser_ctx.pass == 2)
5874      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5875   }
5876      break;
5877  
5878 <  case 431:
5878 >  case 445:
5879   /* Line 1787 of yacc.c  */
5880 < #line 2312 "conf_parser.y"
5880 > #line 2355 "conf_parser.y"
5881      {
5882    if (conf_parser_ctx.pass == 2)
5883    {
# Line 5797 | Line 5892 | yyreduce:
5892   }
5893      break;
5894  
5895 <  case 432:
5895 >  case 446:
5896   /* Line 1787 of yacc.c  */
5897 < #line 2329 "conf_parser.y"
5897 > #line 2372 "conf_parser.y"
5898      {
5899    if (conf_parser_ctx.pass == 2)
5900      reset_block_state();
5901   }
5902      break;
5903  
5904 <  case 433:
5904 >  case 447:
5905   /* Line 1787 of yacc.c  */
5906 < #line 2333 "conf_parser.y"
5906 > #line 2376 "conf_parser.y"
5907      {
5908    struct MaskItem *conf = NULL;
5909  
# Line 5818 | Line 5913 | yyreduce:
5913    if (!block_state.name.buf[0])
5914      break;
5915  
5916 <  if (block_state.port.value == 1)
5822 <  {
5823 < #ifdef HAVE_LIBPCRE
5824 <    void *exp_p = NULL;
5825 <    const char *errptr = NULL;
5826 <
5827 <    if (!(exp_p = ircd_pcre_compile(block_state.name.buf, &errptr)))
5828 <    {
5829 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5830 <           errptr);
5831 <      break;
5832 <    }
5833 <
5834 <    conf = conf_make(CONF_RXLINE);
5835 <    conf->regexuser = exp_p;
5836 < #else
5837 <    conf_error_report("Failed to add regular expression based X-Line: no PCRE support");
5838 <    break;
5839 < #endif
5840 <  }
5841 <  else
5842 <    conf = conf_make(CONF_XLINE);
5843 <
5916 >  conf = conf_make(CONF_XLINE);
5917    conf->name = xstrdup(block_state.name.buf);
5918  
5919    if (block_state.rpass.buf[0])
# Line 5850 | Line 5923 | yyreduce:
5923   }
5924      break;
5925  
5926 <  case 434:
5926 >  case 453:
5927   /* Line 1787 of yacc.c  */
5928 < #line 2374 "conf_parser.y"
5928 > #line 2398 "conf_parser.y"
5929      {
5930    if (conf_parser_ctx.pass == 2)
5931 <    block_state.port.value = 0;
5931 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5932   }
5933      break;
5934  
5935 <  case 438:
5935 >  case 454:
5936   /* Line 1787 of yacc.c  */
5937 < #line 2381 "conf_parser.y"
5937 > #line 2404 "conf_parser.y"
5938      {
5939    if (conf_parser_ctx.pass == 2)
5940 <    block_state.port.value = 1;
5940 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5941   }
5942      break;
5943  
5944 <  case 445:
5944 >  case 508:
5945   /* Line 1787 of yacc.c  */
5946 < #line 2390 "conf_parser.y"
5946 > #line 2449 "conf_parser.y"
5947      {
5948 <  if (conf_parser_ctx.pass == 2)
5876 <    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5948 >  ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5949   }
5950      break;
5951  
5952 <  case 446:
5952 >  case 509:
5953   /* Line 1787 of yacc.c  */
5954 < #line 2396 "conf_parser.y"
5954 > #line 2454 "conf_parser.y"
5955      {
5956    if (conf_parser_ctx.pass == 2)
5957 <    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5886 < }
5887 <    break;
5888 <
5889 <  case 499:
5890 < /* Line 1787 of yacc.c  */
5891 < #line 2440 "conf_parser.y"
5892 <    {
5893 <  ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5957 >    ConfigFileEntry.cycle_on_host_change = yylval.number;
5958   }
5959      break;
5960  
5961 <  case 500:
5961 >  case 510:
5962   /* Line 1787 of yacc.c  */
5963 < #line 2445 "conf_parser.y"
5963 > #line 2460 "conf_parser.y"
5964      {
5965    if (conf_parser_ctx.pass == 2)
5966      ConfigFileEntry.glines = yylval.number;
5967   }
5968      break;
5969  
5970 <  case 501:
5970 >  case 511:
5971   /* Line 1787 of yacc.c  */
5972 < #line 2451 "conf_parser.y"
5972 > #line 2466 "conf_parser.y"
5973      {
5974    if (conf_parser_ctx.pass == 2)
5975      ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5976   }
5977      break;
5978  
5979 <  case 502:
5979 >  case 512:
5980   /* Line 1787 of yacc.c  */
5981 < #line 2457 "conf_parser.y"
5981 > #line 2472 "conf_parser.y"
5982      {
5983    if (conf_parser_ctx.pass == 2)
5984      ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5985   }
5986      break;
5987  
5988 <  case 503:
5988 >  case 513:
5989   /* Line 1787 of yacc.c  */
5990 < #line 2463 "conf_parser.y"
5990 > #line 2478 "conf_parser.y"
5991      {
5992    ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5993   }
5994      break;
5995  
5996 <  case 504:
5996 >  case 514:
5997   /* Line 1787 of yacc.c  */
5998 < #line 2468 "conf_parser.y"
5998 > #line 2483 "conf_parser.y"
5999      {
6000    ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
6001   }
6002      break;
6003  
6004 <  case 505:
6004 >  case 515:
6005   /* Line 1787 of yacc.c  */
6006 < #line 2473 "conf_parser.y"
6006 > #line 2488 "conf_parser.y"
6007      {
6008    ConfigFileEntry.tkline_expire_notices = yylval.number;
6009   }
6010      break;
6011  
6012 <  case 506:
6012 >  case 516:
6013   /* Line 1787 of yacc.c  */
6014 < #line 2478 "conf_parser.y"
6014 > #line 2493 "conf_parser.y"
6015      {
6016    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
6017   }
6018      break;
6019  
6020 <  case 507:
6020 >  case 517:
6021   /* Line 1787 of yacc.c  */
6022 < #line 2483 "conf_parser.y"
6022 > #line 2498 "conf_parser.y"
6023      {
6024    ConfigFileEntry.hide_spoof_ips = yylval.number;
6025   }
6026      break;
6027  
6028 <  case 508:
6028 >  case 518:
6029   /* Line 1787 of yacc.c  */
6030 < #line 2488 "conf_parser.y"
6030 > #line 2503 "conf_parser.y"
6031      {
6032    ConfigFileEntry.ignore_bogus_ts = yylval.number;
6033   }
6034      break;
6035  
6036 <  case 509:
5973 < /* Line 1787 of yacc.c  */
5974 < #line 2493 "conf_parser.y"
5975 <    {
5976 <  ConfigFileEntry.disable_remote = yylval.number;
5977 < }
5978 <    break;
5979 <
5980 <  case 510:
6036 >  case 519:
6037   /* Line 1787 of yacc.c  */
6038 < #line 2498 "conf_parser.y"
6038 > #line 2508 "conf_parser.y"
6039      {
6040    ConfigFileEntry.failed_oper_notice = yylval.number;
6041   }
6042      break;
6043  
6044 <  case 511:
6044 >  case 520:
6045   /* Line 1787 of yacc.c  */
6046 < #line 2503 "conf_parser.y"
6046 > #line 2513 "conf_parser.y"
6047      {
6048    ConfigFileEntry.anti_nick_flood = yylval.number;
6049   }
6050      break;
6051  
6052 <  case 512:
6052 >  case 521:
6053   /* Line 1787 of yacc.c  */
6054 < #line 2508 "conf_parser.y"
6054 > #line 2518 "conf_parser.y"
6055      {
6056    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
6057   }
6058      break;
6059  
6060 <  case 513:
6060 >  case 522:
6061   /* Line 1787 of yacc.c  */
6062 < #line 2513 "conf_parser.y"
6062 > #line 2523 "conf_parser.y"
6063      {
6064    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6065   }
6066      break;
6067  
6068 <  case 514:
6068 >  case 523:
6069   /* Line 1787 of yacc.c  */
6070 < #line 2518 "conf_parser.y"
6070 > #line 2528 "conf_parser.y"
6071      {
6072    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6073   }
6074      break;
6075  
6076 <  case 515:
6076 >  case 524:
6077   /* Line 1787 of yacc.c  */
6078 < #line 2523 "conf_parser.y"
6078 > #line 2533 "conf_parser.y"
6079      {
6080    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6081   }
6082      break;
6083  
6084 <  case 516:
6084 >  case 525:
6085   /* Line 1787 of yacc.c  */
6086 < #line 2528 "conf_parser.y"
6086 > #line 2538 "conf_parser.y"
6087      {
6088    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6089   }
6090      break;
6091  
6092 <  case 517:
6092 >  case 526:
6093   /* Line 1787 of yacc.c  */
6094 < #line 2533 "conf_parser.y"
6094 > #line 2543 "conf_parser.y"
6095      {
6096    if (conf_parser_ctx.pass == 2)
6097      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6098   }
6099      break;
6100  
6101 <  case 518:
6101 >  case 527:
6102   /* Line 1787 of yacc.c  */
6103 < #line 2539 "conf_parser.y"
6103 > #line 2549 "conf_parser.y"
6104      {
6105    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6106    {
# Line 6056 | Line 6112 | yyreduce:
6112   }
6113      break;
6114  
6115 <  case 519:
6115 >  case 528:
6116   /* Line 1787 of yacc.c  */
6117 < #line 2550 "conf_parser.y"
6117 > #line 2560 "conf_parser.y"
6118      {
6119    ConfigFileEntry.invisible_on_connect = yylval.number;
6120   }
6121      break;
6122  
6123 <  case 520:
6123 >  case 529:
6124   /* Line 1787 of yacc.c  */
6125 < #line 2555 "conf_parser.y"
6125 > #line 2565 "conf_parser.y"
6126      {
6127    ConfigFileEntry.warn_no_nline = yylval.number;
6128   }
6129      break;
6130  
6131 <  case 521:
6131 >  case 530:
6132   /* Line 1787 of yacc.c  */
6133 < #line 2560 "conf_parser.y"
6133 > #line 2570 "conf_parser.y"
6134      {
6135    ConfigFileEntry.stats_e_disabled = yylval.number;
6136   }
6137      break;
6138  
6139 <  case 522:
6139 >  case 531:
6140   /* Line 1787 of yacc.c  */
6141 < #line 2565 "conf_parser.y"
6141 > #line 2575 "conf_parser.y"
6142      {
6143    ConfigFileEntry.stats_o_oper_only = yylval.number;
6144   }
6145      break;
6146  
6147 <  case 523:
6147 >  case 532:
6148   /* Line 1787 of yacc.c  */
6149 < #line 2570 "conf_parser.y"
6149 > #line 2580 "conf_parser.y"
6150      {
6151    ConfigFileEntry.stats_P_oper_only = yylval.number;
6152   }
6153      break;
6154  
6155 <  case 524:
6155 >  case 533:
6156   /* Line 1787 of yacc.c  */
6157 < #line 2575 "conf_parser.y"
6157 > #line 2585 "conf_parser.y"
6158 >    {
6159 >  ConfigFileEntry.stats_u_oper_only = yylval.number;
6160 > }
6161 >    break;
6162 >
6163 >  case 534:
6164 > /* Line 1787 of yacc.c  */
6165 > #line 2590 "conf_parser.y"
6166      {
6167    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6168   }
6169      break;
6170  
6171 <  case 525:
6171 >  case 535:
6172   /* Line 1787 of yacc.c  */
6173 < #line 2578 "conf_parser.y"
6173 > #line 2593 "conf_parser.y"
6174      {
6175    ConfigFileEntry.stats_k_oper_only = 1;
6176   }
6177      break;
6178  
6179 <  case 526:
6179 >  case 536:
6180   /* Line 1787 of yacc.c  */
6181 < #line 2583 "conf_parser.y"
6181 > #line 2598 "conf_parser.y"
6182      {
6183    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6184   }
6185      break;
6186  
6187 <  case 527:
6187 >  case 537:
6188   /* Line 1787 of yacc.c  */
6189 < #line 2586 "conf_parser.y"
6189 > #line 2601 "conf_parser.y"
6190      {
6191    ConfigFileEntry.stats_i_oper_only = 1;
6192   }
6193      break;
6194  
6195 <  case 528:
6195 >  case 538:
6196   /* Line 1787 of yacc.c  */
6197 < #line 2591 "conf_parser.y"
6197 > #line 2606 "conf_parser.y"
6198      {
6199    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6200   }
6201      break;
6202  
6203 <  case 529:
6203 >  case 539:
6204   /* Line 1787 of yacc.c  */
6205 < #line 2596 "conf_parser.y"
6205 > #line 2611 "conf_parser.y"
6206      {
6207    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6208   }
6209      break;
6210  
6211 <  case 530:
6211 >  case 540:
6212   /* Line 1787 of yacc.c  */
6213 < #line 2601 "conf_parser.y"
6213 > #line 2616 "conf_parser.y"
6214      {
6215    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6216   }
6217      break;
6218  
6219 <  case 531:
6219 >  case 541:
6220   /* Line 1787 of yacc.c  */
6221 < #line 2606 "conf_parser.y"
6221 > #line 2621 "conf_parser.y"
6222      {
6223    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6224   }
6225      break;
6226  
6227 <  case 532:
6227 >  case 542:
6228   /* Line 1787 of yacc.c  */
6229 < #line 2611 "conf_parser.y"
6229 > #line 2626 "conf_parser.y"
6230      {
6231    ConfigFileEntry.short_motd = yylval.number;
6232   }
6233      break;
6234  
6235 <  case 533:
6235 >  case 543:
6236   /* Line 1787 of yacc.c  */
6237 < #line 2616 "conf_parser.y"
6237 > #line 2631 "conf_parser.y"
6238      {
6239    ConfigFileEntry.no_oper_flood = yylval.number;
6240   }
6241      break;
6242  
6243 <  case 534:
6243 >  case 544:
6244   /* Line 1787 of yacc.c  */
6245 < #line 2621 "conf_parser.y"
6245 > #line 2636 "conf_parser.y"
6246      {
6247    ConfigFileEntry.true_no_oper_flood = yylval.number;
6248   }
6249      break;
6250  
6251 <  case 535:
6251 >  case 545:
6252   /* Line 1787 of yacc.c  */
6253 < #line 2626 "conf_parser.y"
6253 > #line 2641 "conf_parser.y"
6254      {
6255    ConfigFileEntry.oper_pass_resv = yylval.number;
6256   }
6257      break;
6258  
6259 <  case 536:
6259 >  case 546:
6260   /* Line 1787 of yacc.c  */
6261 < #line 2631 "conf_parser.y"
6261 > #line 2646 "conf_parser.y"
6262      {
6263    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6264   }
6265      break;
6266  
6267 <  case 537:
6267 >  case 547:
6268   /* Line 1787 of yacc.c  */
6269 < #line 2636 "conf_parser.y"
6269 > #line 2651 "conf_parser.y"
6270      {
6271    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6272   }
6273      break;
6274  
6275 <  case 538:
6275 >  case 548:
6276   /* Line 1787 of yacc.c  */
6277 < #line 2641 "conf_parser.y"
6277 > #line 2656 "conf_parser.y"
6278      {
6279    ConfigFileEntry.use_egd = yylval.number;
6280   }
6281      break;
6282  
6283 <  case 539:
6283 >  case 549:
6284   /* Line 1787 of yacc.c  */
6285 < #line 2646 "conf_parser.y"
6285 > #line 2661 "conf_parser.y"
6286      {
6287    if (conf_parser_ctx.pass == 2)
6288    {
# Line 6228 | Line 6292 | yyreduce:
6292   }
6293      break;
6294  
6295 <  case 540:
6295 >  case 550:
6296   /* Line 1787 of yacc.c  */
6297 < #line 2655 "conf_parser.y"
6297 > #line 2670 "conf_parser.y"
6298      {
6299    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6300    {
# Line 6240 | Line 6304 | yyreduce:
6304   }
6305      break;
6306  
6307 <  case 541:
6307 >  case 551:
6308   /* Line 1787 of yacc.c  */
6309 < #line 2664 "conf_parser.y"
6309 > #line 2679 "conf_parser.y"
6310      {
6311    ConfigFileEntry.ping_cookie = yylval.number;
6312   }
6313      break;
6314  
6315 <  case 542:
6315 >  case 552:
6316   /* Line 1787 of yacc.c  */
6317 < #line 2669 "conf_parser.y"
6317 > #line 2684 "conf_parser.y"
6318      {
6319    ConfigFileEntry.disable_auth = yylval.number;
6320   }
6321      break;
6322  
6323 <  case 543:
6323 >  case 553:
6324   /* Line 1787 of yacc.c  */
6325 < #line 2674 "conf_parser.y"
6325 > #line 2689 "conf_parser.y"
6326      {
6327    ConfigFileEntry.throttle_time = yylval.number;
6328   }
6329      break;
6330  
6331 <  case 544:
6331 >  case 554:
6332   /* Line 1787 of yacc.c  */
6333 < #line 2679 "conf_parser.y"
6333 > #line 2694 "conf_parser.y"
6334      {
6335    ConfigFileEntry.oper_umodes = 0;
6336   }
6337      break;
6338  
6339 <  case 548:
6339 >  case 558:
6340   /* Line 1787 of yacc.c  */
6341 < #line 2685 "conf_parser.y"
6341 > #line 2700 "conf_parser.y"
6342      {
6343    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6344   }
6345      break;
6346  
6347 <  case 549:
6347 >  case 559:
6348   /* Line 1787 of yacc.c  */
6349 < #line 2688 "conf_parser.y"
6349 > #line 2703 "conf_parser.y"
6350      {
6351    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6352   }
6353      break;
6354  
6355 <  case 550:
6292 < /* Line 1787 of yacc.c  */
6293 < #line 2691 "conf_parser.y"
6294 <    {
6295 <  ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6296 < }
6297 <    break;
6298 <
6299 <  case 551:
6355 >  case 560:
6356   /* Line 1787 of yacc.c  */
6357 < #line 2694 "conf_parser.y"
6357 > #line 2706 "conf_parser.y"
6358      {
6359    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6360   }
6361      break;
6362  
6363 <  case 552:
6363 >  case 561:
6364   /* Line 1787 of yacc.c  */
6365 < #line 2697 "conf_parser.y"
6365 > #line 2709 "conf_parser.y"
6366      {
6367    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6368   }
6369      break;
6370  
6371 <  case 553:
6371 >  case 562:
6372   /* Line 1787 of yacc.c  */
6373 < #line 2700 "conf_parser.y"
6373 > #line 2712 "conf_parser.y"
6374      {
6375    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6376   }
6377      break;
6378  
6379 <  case 554:
6379 >  case 563:
6380   /* Line 1787 of yacc.c  */
6381 < #line 2703 "conf_parser.y"
6381 > #line 2715 "conf_parser.y"
6382      {
6383    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6384   }
6385      break;
6386  
6387 <  case 555:
6387 >  case 564:
6388   /* Line 1787 of yacc.c  */
6389 < #line 2706 "conf_parser.y"
6389 > #line 2718 "conf_parser.y"
6390      {
6391    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6392   }
6393      break;
6394  
6395 <  case 556:
6395 >  case 565:
6396   /* Line 1787 of yacc.c  */
6397 < #line 2709 "conf_parser.y"
6397 > #line 2721 "conf_parser.y"
6398      {
6399    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6400   }
6401      break;
6402  
6403 <  case 557:
6403 >  case 566:
6404   /* Line 1787 of yacc.c  */
6405 < #line 2712 "conf_parser.y"
6405 > #line 2724 "conf_parser.y"
6406      {
6407    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6408   }
6409      break;
6410  
6411 <  case 558:
6411 >  case 567:
6412   /* Line 1787 of yacc.c  */
6413 < #line 2715 "conf_parser.y"
6413 > #line 2727 "conf_parser.y"
6414      {
6415    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6416   }
6417      break;
6418  
6419 <  case 559:
6419 >  case 568:
6420   /* Line 1787 of yacc.c  */
6421 < #line 2718 "conf_parser.y"
6421 > #line 2730 "conf_parser.y"
6422      {
6423    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6424   }
6425      break;
6426  
6427 <  case 560:
6427 >  case 569:
6428   /* Line 1787 of yacc.c  */
6429 < #line 2721 "conf_parser.y"
6429 > #line 2733 "conf_parser.y"
6430      {
6431    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6432   }
6433      break;
6434  
6435 <  case 561:
6435 >  case 570:
6436   /* Line 1787 of yacc.c  */
6437 < #line 2724 "conf_parser.y"
6437 > #line 2736 "conf_parser.y"
6438      {
6439    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6440   }
6441      break;
6442  
6443 <  case 562:
6443 >  case 571:
6444   /* Line 1787 of yacc.c  */
6445 < #line 2727 "conf_parser.y"
6445 > #line 2739 "conf_parser.y"
6446      {
6447    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6448   }
6449      break;
6450  
6451 <  case 563:
6451 >  case 572:
6452   /* Line 1787 of yacc.c  */
6453 < #line 2730 "conf_parser.y"
6453 > #line 2742 "conf_parser.y"
6454      {
6455    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6456   }
6457      break;
6458  
6459 <  case 564:
6459 >  case 573:
6460   /* Line 1787 of yacc.c  */
6461 < #line 2733 "conf_parser.y"
6461 > #line 2745 "conf_parser.y"
6462      {
6463    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6464   }
6465      break;
6466  
6467 <  case 565:
6467 >  case 574:
6468   /* Line 1787 of yacc.c  */
6469 < #line 2736 "conf_parser.y"
6469 > #line 2748 "conf_parser.y"
6470      {
6471    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6472   }
6473      break;
6474  
6475 <  case 566:
6475 >  case 575:
6476   /* Line 1787 of yacc.c  */
6477 < #line 2739 "conf_parser.y"
6477 > #line 2751 "conf_parser.y"
6478      {
6479    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6480   }
6481      break;
6482  
6483 <  case 567:
6483 >  case 576:
6484   /* Line 1787 of yacc.c  */
6485 < #line 2742 "conf_parser.y"
6485 > #line 2754 "conf_parser.y"
6486      {
6487    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6488   }
6489      break;
6490  
6491 <  case 568:
6491 >  case 577:
6492   /* Line 1787 of yacc.c  */
6493 < #line 2747 "conf_parser.y"
6493 > #line 2757 "conf_parser.y"
6494      {
6495 <  ConfigFileEntry.oper_only_umodes = 0;
6495 >  ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6496   }
6497      break;
6498  
6499 <  case 572:
6499 >  case 578:
6500   /* Line 1787 of yacc.c  */
6501 < #line 2753 "conf_parser.y"
6501 > #line 2760 "conf_parser.y"
6502      {
6503 <  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6503 >  ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6504   }
6505      break;
6506  
6507 <  case 573:
6507 >  case 579:
6508   /* Line 1787 of yacc.c  */
6509 < #line 2756 "conf_parser.y"
6509 > #line 2765 "conf_parser.y"
6510      {
6511 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6511 >  ConfigFileEntry.oper_only_umodes = 0;
6512   }
6513      break;
6514  
6515 <  case 574:
6515 >  case 583:
6516   /* Line 1787 of yacc.c  */
6517 < #line 2759 "conf_parser.y"
6517 > #line 2771 "conf_parser.y"
6518      {
6519 <  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6519 >  ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6520   }
6521      break;
6522  
6523 <  case 575:
6523 >  case 584:
6524 > /* Line 1787 of yacc.c  */
6525 > #line 2774 "conf_parser.y"
6526 >    {
6527 >  ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6528 > }
6529 >    break;
6530 >
6531 >  case 585:
6532   /* Line 1787 of yacc.c  */
6533 < #line 2762 "conf_parser.y"
6533 > #line 2777 "conf_parser.y"
6534      {
6535    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6536   }
6537      break;
6538  
6539 <  case 576:
6539 >  case 586:
6540   /* Line 1787 of yacc.c  */
6541 < #line 2765 "conf_parser.y"
6541 > #line 2780 "conf_parser.y"
6542      {
6543    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6544   }
6545      break;
6546  
6547 <  case 577:
6547 >  case 587:
6548   /* Line 1787 of yacc.c  */
6549 < #line 2768 "conf_parser.y"
6549 > #line 2783 "conf_parser.y"
6550      {
6551    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6552   }
6553      break;
6554  
6555 <  case 578:
6555 >  case 588:
6556   /* Line 1787 of yacc.c  */
6557 < #line 2771 "conf_parser.y"
6557 > #line 2786 "conf_parser.y"
6558      {
6559    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6560   }
6561      break;
6562  
6563 <  case 579:
6563 >  case 589:
6564   /* Line 1787 of yacc.c  */
6565 < #line 2774 "conf_parser.y"
6565 > #line 2789 "conf_parser.y"
6566      {
6567    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6568   }
6569      break;
6570  
6571 <  case 580:
6571 >  case 590:
6572   /* Line 1787 of yacc.c  */
6573 < #line 2777 "conf_parser.y"
6573 > #line 2792 "conf_parser.y"
6574      {
6575    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6576   }
6577      break;
6578  
6579 <  case 581:
6579 >  case 591:
6580   /* Line 1787 of yacc.c  */
6581 < #line 2780 "conf_parser.y"
6581 > #line 2795 "conf_parser.y"
6582      {
6583    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6584   }
6585      break;
6586  
6587 <  case 582:
6587 >  case 592:
6588   /* Line 1787 of yacc.c  */
6589 < #line 2783 "conf_parser.y"
6589 > #line 2798 "conf_parser.y"
6590      {
6591    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6592   }
6593      break;
6594  
6595 <  case 583:
6595 >  case 593:
6596   /* Line 1787 of yacc.c  */
6597 < #line 2786 "conf_parser.y"
6597 > #line 2801 "conf_parser.y"
6598      {
6599    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6600   }
6601      break;
6602  
6603 <  case 584:
6603 >  case 594:
6604   /* Line 1787 of yacc.c  */
6605 < #line 2789 "conf_parser.y"
6605 > #line 2804 "conf_parser.y"
6606      {
6607    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6608   }
6609      break;
6610  
6611 <  case 585:
6611 >  case 595:
6612   /* Line 1787 of yacc.c  */
6613 < #line 2792 "conf_parser.y"
6613 > #line 2807 "conf_parser.y"
6614      {
6615    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6616   }
6617      break;
6618  
6619 <  case 586:
6619 >  case 596:
6620   /* Line 1787 of yacc.c  */
6621 < #line 2795 "conf_parser.y"
6621 > #line 2810 "conf_parser.y"
6622      {
6623    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6624   }
6625      break;
6626  
6627 <  case 587:
6627 >  case 597:
6628   /* Line 1787 of yacc.c  */
6629 < #line 2798 "conf_parser.y"
6629 > #line 2813 "conf_parser.y"
6630      {
6631    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6632   }
6633      break;
6634  
6635 <  case 588:
6635 >  case 598:
6636   /* Line 1787 of yacc.c  */
6637 < #line 2801 "conf_parser.y"
6637 > #line 2816 "conf_parser.y"
6638      {
6639    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6640   }
6641      break;
6642  
6643 <  case 589:
6643 >  case 599:
6644   /* Line 1787 of yacc.c  */
6645 < #line 2804 "conf_parser.y"
6645 > #line 2819 "conf_parser.y"
6646      {
6647    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6648   }
6649      break;
6650  
6651 <  case 590:
6651 >  case 600:
6652   /* Line 1787 of yacc.c  */
6653 < #line 2807 "conf_parser.y"
6653 > #line 2822 "conf_parser.y"
6654      {
6655    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6656   }
6657      break;
6658  
6659 <  case 591:
6659 >  case 601:
6660   /* Line 1787 of yacc.c  */
6661 < #line 2810 "conf_parser.y"
6661 > #line 2825 "conf_parser.y"
6662      {
6663    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6664   }
6665      break;
6666  
6667 <  case 592:
6667 >  case 602:
6668   /* Line 1787 of yacc.c  */
6669 < #line 2813 "conf_parser.y"
6669 > #line 2828 "conf_parser.y"
6670      {
6671    ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6672   }
6673      break;
6674  
6675 <  case 593:
6675 >  case 603:
6676   /* Line 1787 of yacc.c  */
6677 < #line 2818 "conf_parser.y"
6677 > #line 2831 "conf_parser.y"
6678 >    {
6679 >  ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6680 > }
6681 >    break;
6682 >
6683 >  case 604:
6684 > /* Line 1787 of yacc.c  */
6685 > #line 2836 "conf_parser.y"
6686      {
6687    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6688   }
6689      break;
6690  
6691 <  case 594:
6691 >  case 605:
6692   /* Line 1787 of yacc.c  */
6693 < #line 2823 "conf_parser.y"
6693 > #line 2841 "conf_parser.y"
6694      {
6695    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6696   }
6697      break;
6698  
6699 <  case 595:
6699 >  case 606:
6700   /* Line 1787 of yacc.c  */
6701 < #line 2828 "conf_parser.y"
6701 > #line 2846 "conf_parser.y"
6702      {
6703    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6704   }
6705      break;
6706  
6707 <  case 613:
6707 >  case 623:
6708   /* Line 1787 of yacc.c  */
6709 < #line 2851 "conf_parser.y"
6709 > #line 2869 "conf_parser.y"
6710      {
6711    ConfigChannel.disable_fake_channels = yylval.number;
6712   }
6713      break;
6714  
6715 <  case 614:
6715 >  case 624:
6716   /* Line 1787 of yacc.c  */
6717 < #line 2856 "conf_parser.y"
6717 > #line 2874 "conf_parser.y"
6718      {
6719    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6720   }
6721      break;
6722  
6723 <  case 615:
6723 >  case 625:
6724   /* Line 1787 of yacc.c  */
6725 < #line 2861 "conf_parser.y"
6725 > #line 2879 "conf_parser.y"
6726      {
6727    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6728   }
6729      break;
6730  
6731 <  case 616:
6731 >  case 626:
6732   /* Line 1787 of yacc.c  */
6733 < #line 2866 "conf_parser.y"
6733 > #line 2884 "conf_parser.y"
6734      {
6735    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6736   }
6737      break;
6738  
6739 <  case 617:
6739 >  case 627:
6740   /* Line 1787 of yacc.c  */
6741 < #line 2871 "conf_parser.y"
6741 > #line 2889 "conf_parser.y"
6742      {
6743    ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6744   }
6745      break;
6746  
6747 <  case 618:
6676 < /* Line 1787 of yacc.c  */
6677 < #line 2876 "conf_parser.y"
6678 <    {
6679 <  ConfigChannel.quiet_on_ban = yylval.number;
6680 < }
6681 <    break;
6682 <
6683 <  case 619:
6747 >  case 628:
6748   /* Line 1787 of yacc.c  */
6749 < #line 2881 "conf_parser.y"
6749 > #line 2894 "conf_parser.y"
6750      {
6751    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6752   }
6753      break;
6754  
6755 <  case 620:
6755 >  case 629:
6756   /* Line 1787 of yacc.c  */
6757 < #line 2886 "conf_parser.y"
6757 > #line 2899 "conf_parser.y"
6758      {
6759    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6760   }
6761      break;
6762  
6763 <  case 621:
6763 >  case 630:
6764   /* Line 1787 of yacc.c  */
6765 < #line 2891 "conf_parser.y"
6765 > #line 2904 "conf_parser.y"
6766      {
6767    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6768   }
6769      break;
6770  
6771 <  case 622:
6771 >  case 631:
6772   /* Line 1787 of yacc.c  */
6773 < #line 2896 "conf_parser.y"
6773 > #line 2909 "conf_parser.y"
6774      {
6775    ConfigChannel.no_create_on_split = yylval.number;
6776   }
6777      break;
6778  
6779 <  case 623:
6779 >  case 632:
6780   /* Line 1787 of yacc.c  */
6781 < #line 2901 "conf_parser.y"
6781 > #line 2914 "conf_parser.y"
6782      {
6783    ConfigChannel.no_join_on_split = yylval.number;
6784   }
6785      break;
6786  
6787 <  case 624:
6787 >  case 633:
6788   /* Line 1787 of yacc.c  */
6789 < #line 2906 "conf_parser.y"
6789 > #line 2919 "conf_parser.y"
6790      {
6791    GlobalSetOptions.joinfloodcount = yylval.number;
6792   }
6793      break;
6794  
6795 <  case 625:
6795 >  case 634:
6796   /* Line 1787 of yacc.c  */
6797 < #line 2911 "conf_parser.y"
6797 > #line 2924 "conf_parser.y"
6798      {
6799    GlobalSetOptions.joinfloodtime = yylval.number;
6800   }
6801      break;
6802  
6803 <  case 637:
6803 >  case 647:
6804   /* Line 1787 of yacc.c  */
6805 < #line 2930 "conf_parser.y"
6805 > #line 2944 "conf_parser.y"
6806      {
6807    if (conf_parser_ctx.pass == 2)
6808      ConfigServerHide.flatten_links = yylval.number;
6809   }
6810      break;
6811  
6812 <  case 638:
6812 >  case 648:
6813 > /* Line 1787 of yacc.c  */
6814 > #line 2950 "conf_parser.y"
6815 >    {
6816 >  if (conf_parser_ctx.pass == 2)
6817 >    ConfigServerHide.disable_remote_commands = yylval.number;
6818 > }
6819 >    break;
6820 >
6821 >  case 649:
6822   /* Line 1787 of yacc.c  */
6823 < #line 2936 "conf_parser.y"
6823 > #line 2956 "conf_parser.y"
6824      {
6825    if (conf_parser_ctx.pass == 2)
6826      ConfigServerHide.hide_servers = yylval.number;
6827   }
6828      break;
6829  
6830 <  case 639:
6830 >  case 650:
6831   /* Line 1787 of yacc.c  */
6832 < #line 2942 "conf_parser.y"
6832 > #line 2962 "conf_parser.y"
6833      {
6834    if (conf_parser_ctx.pass == 2)
6835      ConfigServerHide.hide_services = yylval.number;
6836   }
6837      break;
6838  
6839 <  case 640:
6839 >  case 651:
6840   /* Line 1787 of yacc.c  */
6841 < #line 2948 "conf_parser.y"
6841 > #line 2968 "conf_parser.y"
6842      {
6843    if (conf_parser_ctx.pass == 2)
6844    {
# Line 6775 | Line 6848 | yyreduce:
6848   }
6849      break;
6850  
6851 <  case 641:
6851 >  case 652:
6852   /* Line 1787 of yacc.c  */
6853 < #line 2957 "conf_parser.y"
6853 > #line 2977 "conf_parser.y"
6854      {
6855    if (conf_parser_ctx.pass == 2)
6856    {
# Line 6792 | Line 6865 | yyreduce:
6865   }
6866      break;
6867  
6868 <  case 642:
6868 >  case 653:
6869   /* Line 1787 of yacc.c  */
6870 < #line 2971 "conf_parser.y"
6870 > #line 2991 "conf_parser.y"
6871      {
6872    if (conf_parser_ctx.pass == 2)
6873      ConfigServerHide.hidden = yylval.number;
6874   }
6875      break;
6876  
6877 <  case 643:
6877 >  case 654:
6878   /* Line 1787 of yacc.c  */
6879 < #line 2977 "conf_parser.y"
6879 > #line 2997 "conf_parser.y"
6880      {
6881    if (conf_parser_ctx.pass == 2)
6882      ConfigServerHide.hide_server_ips = yylval.number;
# Line 6812 | Line 6885 | yyreduce:
6885  
6886  
6887   /* Line 1787 of yacc.c  */
6888 < #line 6816 "conf_parser.c"
6888 > #line 6889 "conf_parser.c"
6889        default: break;
6890      }
6891    /* User semantic actions sometimes alter yychar, and that requires

Diff Legend

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