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 1715 by michael, Mon Dec 24 15:19:32 2012 UTC vs.
Revision 2196 by michael, Tue Jun 4 18:30:12 2013 UTC

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

Diff Legend

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