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-8/src/ircd_parser.c (file contents), Revision 1264 by michael, Tue Jan 17 12:30:57 2012 UTC vs.
ircd-hybrid-8/src/conf_parser.c (file contents), Revision 1324 by michael, Fri Mar 30 21:40:38 2012 UTC

# Line 66 | Line 66
66   /* Copy the first part of user declarations.  */
67  
68   /* Line 268 of yacc.c  */
69 < #line 25 "ircd_parser.y"
69 > #line 25 "conf_parser.y"
70  
71  
72   #define YY_NO_UNPUT
# Line 77 | Line 77
77   #include "stdinc.h"
78   #include "ircd.h"
79   #include "list.h"
80 < #include "s_conf.h"
80 > #include "conf.h"
81   #include "event.h"
82 < #include "s_log.h"
82 > #include "log.h"
83   #include "client.h"     /* for UMODE_ALL only */
84   #include "irc_string.h"
85   #include "sprintf_irc.h"
# Line 97 | Line 97
97   #include <openssl/rsa.h>
98   #include <openssl/bio.h>
99   #include <openssl/pem.h>
100 + #include <openssl/dh.h>
101   #endif
102  
103   static char *class_name = NULL;
# Line 175 | Line 176 | unhook_hub_leaf_confs(void)
176  
177  
178   /* Line 268 of yacc.c  */
179 < #line 179 "ircd_parser.c"
179 > #line 180 "conf_parser.c"
180  
181   /* Enabling traces.  */
182   #ifndef YYDEBUG
# Line 223 | Line 224 | unhook_hub_leaf_confs(void)
224       CHANNEL = 276,
225       CIDR_BITLEN_IPV4 = 277,
226       CIDR_BITLEN_IPV6 = 278,
227 <     CIPHER_PREFERENCE = 279,
228 <     CLASS = 280,
229 <     COMPRESSED = 281,
230 <     COMPRESSION_LEVEL = 282,
231 <     CONNECT = 283,
232 <     CONNECTFREQ = 284,
233 <     CRYPTLINK = 285,
234 <     DEFAULT_CIPHER_PREFERENCE = 286,
235 <     DEFAULT_FLOODCOUNT = 287,
236 <     DEFAULT_SPLIT_SERVER_COUNT = 288,
237 <     DEFAULT_SPLIT_USER_COUNT = 289,
238 <     DENY = 290,
239 <     DESCRIPTION = 291,
240 <     DIE = 292,
241 <     DISABLE_AUTH = 293,
242 <     DISABLE_FAKE_CHANNELS = 294,
243 <     DISABLE_HIDDEN = 295,
244 <     DISABLE_LOCAL_CHANNELS = 296,
245 <     DISABLE_REMOTE_COMMANDS = 297,
246 <     DOTS_IN_IDENT = 298,
247 <     DURATION = 299,
248 <     EGDPOOL_PATH = 300,
249 <     EMAIL = 301,
250 <     ENABLE = 302,
251 <     ENCRYPTED = 303,
252 <     EXCEED_LIMIT = 304,
253 <     EXEMPT = 305,
254 <     FAILED_OPER_NOTICE = 306,
255 <     IRCD_FLAGS = 307,
256 <     FLATTEN_LINKS = 308,
257 <     GECOS = 309,
258 <     GENERAL = 310,
259 <     GLINE = 311,
260 <     GLINES = 312,
261 <     GLINE_EXEMPT = 313,
262 <     GLINE_TIME = 314,
263 <     GLINE_MIN_CIDR = 315,
264 <     GLINE_MIN_CIDR6 = 316,
265 <     GLOBAL_KILL = 317,
266 <     IRCD_AUTH = 318,
267 <     NEED_IDENT = 319,
268 <     HAVENT_READ_CONF = 320,
269 <     HIDDEN = 321,
270 <     HIDDEN_ADMIN = 322,
271 <     HIDDEN_NAME = 323,
272 <     HIDDEN_OPER = 324,
273 <     HIDE_SERVER_IPS = 325,
274 <     HIDE_SERVERS = 326,
275 <     HIDE_SPOOF_IPS = 327,
276 <     HOST = 328,
277 <     HUB = 329,
278 <     HUB_MASK = 330,
279 <     IGNORE_BOGUS_TS = 331,
280 <     INVISIBLE_ON_CONNECT = 332,
281 <     IP = 333,
282 <     KILL = 334,
283 <     KILL_CHASE_TIME_LIMIT = 335,
284 <     KLINE = 336,
285 <     KLINE_EXEMPT = 337,
286 <     KLINE_REASON = 338,
287 <     KLINE_WITH_REASON = 339,
288 <     KNOCK_DELAY = 340,
289 <     KNOCK_DELAY_CHANNEL = 341,
290 <     LEAF_MASK = 342,
291 <     LINKS_DELAY = 343,
292 <     LISTEN = 344,
293 <     T_LOG = 345,
294 <     MAX_ACCEPT = 346,
295 <     MAX_BANS = 347,
296 <     MAX_CHANS_PER_USER = 348,
297 <     MAX_GLOBAL = 349,
298 <     MAX_IDENT = 350,
299 <     MAX_LOCAL = 351,
300 <     MAX_NICK_CHANGES = 352,
301 <     MAX_NICK_TIME = 353,
302 <     MAX_NUMBER = 354,
303 <     MAX_TARGETS = 355,
304 <     MAX_WATCH = 356,
305 <     MESSAGE_LOCALE = 357,
306 <     MIN_NONWILDCARD = 358,
307 <     MIN_NONWILDCARD_SIMPLE = 359,
308 <     MODULE = 360,
309 <     MODULES = 361,
310 <     NAME = 362,
311 <     NEED_PASSWORD = 363,
312 <     NETWORK_DESC = 364,
313 <     NETWORK_NAME = 365,
314 <     NICK = 366,
315 <     NICK_CHANGES = 367,
316 <     NO_CREATE_ON_SPLIT = 368,
317 <     NO_JOIN_ON_SPLIT = 369,
318 <     NO_OPER_FLOOD = 370,
319 <     NO_TILDE = 371,
320 <     NUMBER = 372,
321 <     NUMBER_PER_IDENT = 373,
322 <     NUMBER_PER_CIDR = 374,
323 <     NUMBER_PER_IP = 375,
324 <     NUMBER_PER_IP_GLOBAL = 376,
325 <     OPERATOR = 377,
326 <     OPERS_BYPASS_CALLERID = 378,
327 <     OPER_ONLY_UMODES = 379,
328 <     OPER_PASS_RESV = 380,
329 <     OPER_SPY_T = 381,
330 <     OPER_UMODES = 382,
331 <     JOIN_FLOOD_COUNT = 383,
332 <     JOIN_FLOOD_TIME = 384,
333 <     PACE_WAIT = 385,
334 <     PACE_WAIT_SIMPLE = 386,
335 <     PASSWORD = 387,
336 <     PATH = 388,
337 <     PING_COOKIE = 389,
338 <     PING_TIME = 390,
339 <     PING_WARNING = 391,
340 <     PORT = 392,
341 <     QSTRING = 393,
342 <     QUIET_ON_BAN = 394,
343 <     REASON = 395,
344 <     REDIRPORT = 396,
345 <     REDIRSERV = 397,
346 <     REGEX_T = 398,
347 <     REHASH = 399,
348 <     TREJECT_HOLD_TIME = 400,
349 <     REMOTE = 401,
350 <     REMOTEBAN = 402,
351 <     RESTRICT_CHANNELS = 403,
352 <     RESTRICTED = 404,
353 <     RSA_PRIVATE_KEY_FILE = 405,
354 <     RSA_PUBLIC_KEY_FILE = 406,
355 <     SSL_CERTIFICATE_FILE = 407,
356 <     T_SSL_CONNECTION_METHOD = 408,
357 <     T_SSLV3 = 409,
358 <     T_TLSV1 = 410,
359 <     RESV = 411,
360 <     RESV_EXEMPT = 412,
361 <     SECONDS = 413,
362 <     MINUTES = 414,
363 <     HOURS = 415,
364 <     DAYS = 416,
365 <     WEEKS = 417,
366 <     SENDQ = 418,
367 <     SEND_PASSWORD = 419,
368 <     SERVERHIDE = 420,
369 <     SERVERINFO = 421,
370 <     SERVLINK_PATH = 422,
371 <     IRCD_SID = 423,
372 <     TKLINE_EXPIRE_NOTICES = 424,
373 <     T_SHARED = 425,
374 <     T_CLUSTER = 426,
375 <     TYPE = 427,
376 <     SHORT_MOTD = 428,
377 <     SILENT = 429,
378 <     SPOOF = 430,
379 <     SPOOF_NOTICE = 431,
380 <     STATS_E_DISABLED = 432,
381 <     STATS_I_OPER_ONLY = 433,
382 <     STATS_K_OPER_ONLY = 434,
383 <     STATS_O_OPER_ONLY = 435,
384 <     STATS_P_OPER_ONLY = 436,
385 <     TBOOL = 437,
386 <     TMASKED = 438,
387 <     T_REJECT = 439,
388 <     TS_MAX_DELTA = 440,
389 <     TS_WARN_DELTA = 441,
390 <     TWODOTS = 442,
391 <     T_ALL = 443,
392 <     T_BOTS = 444,
393 <     T_SOFTCALLERID = 445,
394 <     T_CALLERID = 446,
395 <     T_CCONN = 447,
396 <     T_CCONN_FULL = 448,
397 <     T_CLIENT_FLOOD = 449,
398 <     T_DEAF = 450,
399 <     T_DEBUG = 451,
400 <     T_DLINE = 452,
401 <     T_DRONE = 453,
402 <     T_EXTERNAL = 454,
403 <     T_FULL = 455,
404 <     T_INVISIBLE = 456,
405 <     T_IPV4 = 457,
406 <     T_IPV6 = 458,
407 <     T_LOCOPS = 459,
408 <     T_MAX_CLIENTS = 460,
409 <     T_NCHANGE = 461,
410 <     T_OPERWALL = 462,
411 <     T_REJ = 463,
412 <     T_SERVER = 464,
413 <     T_SERVNOTICE = 465,
414 <     T_SKILL = 466,
415 <     T_SPY = 467,
416 <     T_SSL = 468,
417 <     T_UMODES = 469,
418 <     T_UNAUTH = 470,
419 <     T_UNLIMITED = 471,
420 <     T_UNRESV = 472,
421 <     T_UNXLINE = 473,
422 <     T_GLOBOPS = 474,
423 <     T_WALLOP = 475,
424 <     T_RESTART = 476,
425 <     T_SERVICE = 477,
426 <     T_SERVICES_NAME = 478,
427 <     T_TIMESTAMP = 479,
428 <     THROTTLE_TIME = 480,
429 <     TOPICBURST = 481,
430 <     TRUE_NO_OPER_FLOOD = 482,
431 <     TKLINE = 483,
432 <     TXLINE = 484,
433 <     TRESV = 485,
434 <     UNKLINE = 486,
435 <     USER = 487,
436 <     USE_EGD = 488,
437 <     USE_EXCEPT = 489,
438 <     USE_INVEX = 490,
439 <     USE_KNOCK = 491,
440 <     USE_LOGGING = 492,
441 <     USE_WHOIS_ACTUALLY = 493,
442 <     VHOST = 494,
443 <     VHOST6 = 495,
443 <     XLINE = 496,
444 <     WARN = 497,
445 <     WARN_NO_NLINE = 498,
446 <     T_SIZE = 499,
447 <     T_FILE = 500
227 >     CLASS = 279,
228 >     CONNECT = 280,
229 >     CONNECTFREQ = 281,
230 >     DEFAULT_FLOODCOUNT = 282,
231 >     DEFAULT_SPLIT_SERVER_COUNT = 283,
232 >     DEFAULT_SPLIT_USER_COUNT = 284,
233 >     DENY = 285,
234 >     DESCRIPTION = 286,
235 >     DIE = 287,
236 >     DISABLE_AUTH = 288,
237 >     DISABLE_FAKE_CHANNELS = 289,
238 >     DISABLE_HIDDEN = 290,
239 >     DISABLE_LOCAL_CHANNELS = 291,
240 >     DISABLE_REMOTE_COMMANDS = 292,
241 >     DOTS_IN_IDENT = 293,
242 >     DURATION = 294,
243 >     EGDPOOL_PATH = 295,
244 >     EMAIL = 296,
245 >     ENABLE = 297,
246 >     ENCRYPTED = 298,
247 >     EXCEED_LIMIT = 299,
248 >     EXEMPT = 300,
249 >     FAILED_OPER_NOTICE = 301,
250 >     IRCD_FLAGS = 302,
251 >     FLATTEN_LINKS = 303,
252 >     GECOS = 304,
253 >     GENERAL = 305,
254 >     GLINE = 306,
255 >     GLINES = 307,
256 >     GLINE_EXEMPT = 308,
257 >     GLINE_TIME = 309,
258 >     GLINE_MIN_CIDR = 310,
259 >     GLINE_MIN_CIDR6 = 311,
260 >     GLOBAL_KILL = 312,
261 >     IRCD_AUTH = 313,
262 >     NEED_IDENT = 314,
263 >     HAVENT_READ_CONF = 315,
264 >     HIDDEN = 316,
265 >     HIDDEN_NAME = 317,
266 >     HIDE_SERVER_IPS = 318,
267 >     HIDE_SERVERS = 319,
268 >     HIDE_SPOOF_IPS = 320,
269 >     HOST = 321,
270 >     HUB = 322,
271 >     HUB_MASK = 323,
272 >     IGNORE_BOGUS_TS = 324,
273 >     INVISIBLE_ON_CONNECT = 325,
274 >     IP = 326,
275 >     KILL = 327,
276 >     KILL_CHASE_TIME_LIMIT = 328,
277 >     KLINE = 329,
278 >     KLINE_EXEMPT = 330,
279 >     KLINE_REASON = 331,
280 >     KLINE_WITH_REASON = 332,
281 >     KNOCK_DELAY = 333,
282 >     KNOCK_DELAY_CHANNEL = 334,
283 >     LEAF_MASK = 335,
284 >     LINKS_DELAY = 336,
285 >     LISTEN = 337,
286 >     T_LOG = 338,
287 >     MAX_ACCEPT = 339,
288 >     MAX_BANS = 340,
289 >     MAX_CHANS_PER_USER = 341,
290 >     MAX_GLOBAL = 342,
291 >     MAX_IDENT = 343,
292 >     MAX_LOCAL = 344,
293 >     MAX_NICK_CHANGES = 345,
294 >     MAX_NICK_TIME = 346,
295 >     MAX_NUMBER = 347,
296 >     MAX_TARGETS = 348,
297 >     MAX_WATCH = 349,
298 >     MESSAGE_LOCALE = 350,
299 >     MIN_NONWILDCARD = 351,
300 >     MIN_NONWILDCARD_SIMPLE = 352,
301 >     MODULE = 353,
302 >     MODULES = 354,
303 >     NAME = 355,
304 >     NEED_PASSWORD = 356,
305 >     NETWORK_DESC = 357,
306 >     NETWORK_NAME = 358,
307 >     NICK = 359,
308 >     NICK_CHANGES = 360,
309 >     NO_CREATE_ON_SPLIT = 361,
310 >     NO_JOIN_ON_SPLIT = 362,
311 >     NO_OPER_FLOOD = 363,
312 >     NO_TILDE = 364,
313 >     NUMBER = 365,
314 >     NUMBER_PER_IDENT = 366,
315 >     NUMBER_PER_CIDR = 367,
316 >     NUMBER_PER_IP = 368,
317 >     NUMBER_PER_IP_GLOBAL = 369,
318 >     OPERATOR = 370,
319 >     OPERS_BYPASS_CALLERID = 371,
320 >     OPER_ONLY_UMODES = 372,
321 >     OPER_PASS_RESV = 373,
322 >     OPER_SPY_T = 374,
323 >     OPER_UMODES = 375,
324 >     JOIN_FLOOD_COUNT = 376,
325 >     JOIN_FLOOD_TIME = 377,
326 >     PACE_WAIT = 378,
327 >     PACE_WAIT_SIMPLE = 379,
328 >     PASSWORD = 380,
329 >     PATH = 381,
330 >     PING_COOKIE = 382,
331 >     PING_TIME = 383,
332 >     PING_WARNING = 384,
333 >     PORT = 385,
334 >     QSTRING = 386,
335 >     QUIET_ON_BAN = 387,
336 >     REASON = 388,
337 >     REDIRPORT = 389,
338 >     REDIRSERV = 390,
339 >     REGEX_T = 391,
340 >     REHASH = 392,
341 >     TREJECT_HOLD_TIME = 393,
342 >     REMOTE = 394,
343 >     REMOTEBAN = 395,
344 >     RESTRICT_CHANNELS = 396,
345 >     RESTRICTED = 397,
346 >     RSA_PRIVATE_KEY_FILE = 398,
347 >     RSA_PUBLIC_KEY_FILE = 399,
348 >     SSL_CERTIFICATE_FILE = 400,
349 >     SSL_DH_PARAM_FILE = 401,
350 >     T_SSL_CLIENT_METHOD = 402,
351 >     T_SSL_SERVER_METHOD = 403,
352 >     T_SSLV3 = 404,
353 >     T_TLSV1 = 405,
354 >     RESV = 406,
355 >     RESV_EXEMPT = 407,
356 >     SECONDS = 408,
357 >     MINUTES = 409,
358 >     HOURS = 410,
359 >     DAYS = 411,
360 >     WEEKS = 412,
361 >     SENDQ = 413,
362 >     SEND_PASSWORD = 414,
363 >     SERVERHIDE = 415,
364 >     SERVERINFO = 416,
365 >     IRCD_SID = 417,
366 >     TKLINE_EXPIRE_NOTICES = 418,
367 >     T_SHARED = 419,
368 >     T_CLUSTER = 420,
369 >     TYPE = 421,
370 >     SHORT_MOTD = 422,
371 >     SILENT = 423,
372 >     SPOOF = 424,
373 >     SPOOF_NOTICE = 425,
374 >     STATS_E_DISABLED = 426,
375 >     STATS_I_OPER_ONLY = 427,
376 >     STATS_K_OPER_ONLY = 428,
377 >     STATS_O_OPER_ONLY = 429,
378 >     STATS_P_OPER_ONLY = 430,
379 >     TBOOL = 431,
380 >     TMASKED = 432,
381 >     T_REJECT = 433,
382 >     TS_MAX_DELTA = 434,
383 >     TS_WARN_DELTA = 435,
384 >     TWODOTS = 436,
385 >     T_ALL = 437,
386 >     T_BOTS = 438,
387 >     T_SOFTCALLERID = 439,
388 >     T_CALLERID = 440,
389 >     T_CCONN = 441,
390 >     T_CCONN_FULL = 442,
391 >     T_SSL_CIPHER_LIST = 443,
392 >     T_CLIENT_FLOOD = 444,
393 >     T_DEAF = 445,
394 >     T_DEBUG = 446,
395 >     T_DLINE = 447,
396 >     T_DRONE = 448,
397 >     T_EXTERNAL = 449,
398 >     T_FULL = 450,
399 >     T_INVISIBLE = 451,
400 >     T_IPV4 = 452,
401 >     T_IPV6 = 453,
402 >     T_LOCOPS = 454,
403 >     T_MAX_CLIENTS = 455,
404 >     T_NCHANGE = 456,
405 >     T_OPERWALL = 457,
406 >     T_REJ = 458,
407 >     T_SERVER = 459,
408 >     T_SERVNOTICE = 460,
409 >     T_SKILL = 461,
410 >     T_SPY = 462,
411 >     T_SSL = 463,
412 >     T_UMODES = 464,
413 >     T_UNAUTH = 465,
414 >     T_UNDLINE = 466,
415 >     T_UNLIMITED = 467,
416 >     T_UNRESV = 468,
417 >     T_UNXLINE = 469,
418 >     T_GLOBOPS = 470,
419 >     T_WALLOP = 471,
420 >     T_RESTART = 472,
421 >     T_SERVICE = 473,
422 >     T_SERVICES_NAME = 474,
423 >     THROTTLE_TIME = 475,
424 >     TOPICBURST = 476,
425 >     TRUE_NO_OPER_FLOOD = 477,
426 >     TKLINE = 478,
427 >     TXLINE = 479,
428 >     TRESV = 480,
429 >     UNKLINE = 481,
430 >     USER = 482,
431 >     USE_EGD = 483,
432 >     USE_EXCEPT = 484,
433 >     USE_INVEX = 485,
434 >     USE_KNOCK = 486,
435 >     USE_LOGGING = 487,
436 >     USE_WHOIS_ACTUALLY = 488,
437 >     VHOST = 489,
438 >     VHOST6 = 490,
439 >     XLINE = 491,
440 >     WARN = 492,
441 >     WARN_NO_NLINE = 493,
442 >     T_SIZE = 494,
443 >     T_FILE = 495
444     };
445   #endif
446   /* Tokens.  */
# Line 469 | Line 465 | unhook_hub_leaf_confs(void)
465   #define CHANNEL 276
466   #define CIDR_BITLEN_IPV4 277
467   #define CIDR_BITLEN_IPV6 278
468 < #define CIPHER_PREFERENCE 279
469 < #define CLASS 280
470 < #define COMPRESSED 281
471 < #define COMPRESSION_LEVEL 282
472 < #define CONNECT 283
473 < #define CONNECTFREQ 284
474 < #define CRYPTLINK 285
475 < #define DEFAULT_CIPHER_PREFERENCE 286
476 < #define DEFAULT_FLOODCOUNT 287
477 < #define DEFAULT_SPLIT_SERVER_COUNT 288
478 < #define DEFAULT_SPLIT_USER_COUNT 289
479 < #define DENY 290
480 < #define DESCRIPTION 291
481 < #define DIE 292
482 < #define DISABLE_AUTH 293
483 < #define DISABLE_FAKE_CHANNELS 294
484 < #define DISABLE_HIDDEN 295
485 < #define DISABLE_LOCAL_CHANNELS 296
486 < #define DISABLE_REMOTE_COMMANDS 297
487 < #define DOTS_IN_IDENT 298
488 < #define DURATION 299
489 < #define EGDPOOL_PATH 300
490 < #define EMAIL 301
491 < #define ENABLE 302
492 < #define ENCRYPTED 303
493 < #define EXCEED_LIMIT 304
494 < #define EXEMPT 305
495 < #define FAILED_OPER_NOTICE 306
496 < #define IRCD_FLAGS 307
497 < #define FLATTEN_LINKS 308
498 < #define GECOS 309
499 < #define GENERAL 310
500 < #define GLINE 311
501 < #define GLINES 312
502 < #define GLINE_EXEMPT 313
503 < #define GLINE_TIME 314
504 < #define GLINE_MIN_CIDR 315
505 < #define GLINE_MIN_CIDR6 316
506 < #define GLOBAL_KILL 317
507 < #define IRCD_AUTH 318
508 < #define NEED_IDENT 319
509 < #define HAVENT_READ_CONF 320
510 < #define HIDDEN 321
511 < #define HIDDEN_ADMIN 322
512 < #define HIDDEN_NAME 323
513 < #define HIDDEN_OPER 324
514 < #define HIDE_SERVER_IPS 325
515 < #define HIDE_SERVERS 326
516 < #define HIDE_SPOOF_IPS 327
517 < #define HOST 328
518 < #define HUB 329
519 < #define HUB_MASK 330
520 < #define IGNORE_BOGUS_TS 331
521 < #define INVISIBLE_ON_CONNECT 332
522 < #define IP 333
523 < #define KILL 334
524 < #define KILL_CHASE_TIME_LIMIT 335
525 < #define KLINE 336
526 < #define KLINE_EXEMPT 337
527 < #define KLINE_REASON 338
528 < #define KLINE_WITH_REASON 339
529 < #define KNOCK_DELAY 340
530 < #define KNOCK_DELAY_CHANNEL 341
531 < #define LEAF_MASK 342
532 < #define LINKS_DELAY 343
533 < #define LISTEN 344
534 < #define T_LOG 345
535 < #define MAX_ACCEPT 346
536 < #define MAX_BANS 347
537 < #define MAX_CHANS_PER_USER 348
538 < #define MAX_GLOBAL 349
539 < #define MAX_IDENT 350
540 < #define MAX_LOCAL 351
541 < #define MAX_NICK_CHANGES 352
542 < #define MAX_NICK_TIME 353
543 < #define MAX_NUMBER 354
544 < #define MAX_TARGETS 355
545 < #define MAX_WATCH 356
546 < #define MESSAGE_LOCALE 357
547 < #define MIN_NONWILDCARD 358
548 < #define MIN_NONWILDCARD_SIMPLE 359
549 < #define MODULE 360
550 < #define MODULES 361
551 < #define NAME 362
552 < #define NEED_PASSWORD 363
553 < #define NETWORK_DESC 364
554 < #define NETWORK_NAME 365
555 < #define NICK 366
556 < #define NICK_CHANGES 367
557 < #define NO_CREATE_ON_SPLIT 368
558 < #define NO_JOIN_ON_SPLIT 369
559 < #define NO_OPER_FLOOD 370
560 < #define NO_TILDE 371
561 < #define NUMBER 372
562 < #define NUMBER_PER_IDENT 373
563 < #define NUMBER_PER_CIDR 374
564 < #define NUMBER_PER_IP 375
565 < #define NUMBER_PER_IP_GLOBAL 376
566 < #define OPERATOR 377
567 < #define OPERS_BYPASS_CALLERID 378
568 < #define OPER_ONLY_UMODES 379
569 < #define OPER_PASS_RESV 380
570 < #define OPER_SPY_T 381
571 < #define OPER_UMODES 382
572 < #define JOIN_FLOOD_COUNT 383
573 < #define JOIN_FLOOD_TIME 384
574 < #define PACE_WAIT 385
575 < #define PACE_WAIT_SIMPLE 386
576 < #define PASSWORD 387
577 < #define PATH 388
578 < #define PING_COOKIE 389
579 < #define PING_TIME 390
580 < #define PING_WARNING 391
581 < #define PORT 392
582 < #define QSTRING 393
583 < #define QUIET_ON_BAN 394
584 < #define REASON 395
585 < #define REDIRPORT 396
586 < #define REDIRSERV 397
587 < #define REGEX_T 398
588 < #define REHASH 399
589 < #define TREJECT_HOLD_TIME 400
590 < #define REMOTE 401
591 < #define REMOTEBAN 402
592 < #define RESTRICT_CHANNELS 403
593 < #define RESTRICTED 404
594 < #define RSA_PRIVATE_KEY_FILE 405
595 < #define RSA_PUBLIC_KEY_FILE 406
596 < #define SSL_CERTIFICATE_FILE 407
597 < #define T_SSL_CONNECTION_METHOD 408
598 < #define T_SSLV3 409
599 < #define T_TLSV1 410
600 < #define RESV 411
601 < #define RESV_EXEMPT 412
602 < #define SECONDS 413
603 < #define MINUTES 414
604 < #define HOURS 415
605 < #define DAYS 416
606 < #define WEEKS 417
607 < #define SENDQ 418
608 < #define SEND_PASSWORD 419
609 < #define SERVERHIDE 420
610 < #define SERVERINFO 421
611 < #define SERVLINK_PATH 422
612 < #define IRCD_SID 423
613 < #define TKLINE_EXPIRE_NOTICES 424
614 < #define T_SHARED 425
615 < #define T_CLUSTER 426
616 < #define TYPE 427
617 < #define SHORT_MOTD 428
618 < #define SILENT 429
619 < #define SPOOF 430
620 < #define SPOOF_NOTICE 431
621 < #define STATS_E_DISABLED 432
622 < #define STATS_I_OPER_ONLY 433
623 < #define STATS_K_OPER_ONLY 434
624 < #define STATS_O_OPER_ONLY 435
625 < #define STATS_P_OPER_ONLY 436
626 < #define TBOOL 437
627 < #define TMASKED 438
628 < #define T_REJECT 439
629 < #define TS_MAX_DELTA 440
630 < #define TS_WARN_DELTA 441
631 < #define TWODOTS 442
632 < #define T_ALL 443
633 < #define T_BOTS 444
634 < #define T_SOFTCALLERID 445
635 < #define T_CALLERID 446
636 < #define T_CCONN 447
637 < #define T_CCONN_FULL 448
638 < #define T_CLIENT_FLOOD 449
639 < #define T_DEAF 450
640 < #define T_DEBUG 451
641 < #define T_DLINE 452
642 < #define T_DRONE 453
643 < #define T_EXTERNAL 454
644 < #define T_FULL 455
645 < #define T_INVISIBLE 456
646 < #define T_IPV4 457
647 < #define T_IPV6 458
648 < #define T_LOCOPS 459
649 < #define T_MAX_CLIENTS 460
650 < #define T_NCHANGE 461
651 < #define T_OPERWALL 462
652 < #define T_REJ 463
653 < #define T_SERVER 464
654 < #define T_SERVNOTICE 465
655 < #define T_SKILL 466
656 < #define T_SPY 467
657 < #define T_SSL 468
658 < #define T_UMODES 469
659 < #define T_UNAUTH 470
660 < #define T_UNLIMITED 471
661 < #define T_UNRESV 472
662 < #define T_UNXLINE 473
663 < #define T_GLOBOPS 474
664 < #define T_WALLOP 475
665 < #define T_RESTART 476
666 < #define T_SERVICE 477
667 < #define T_SERVICES_NAME 478
668 < #define T_TIMESTAMP 479
669 < #define THROTTLE_TIME 480
670 < #define TOPICBURST 481
671 < #define TRUE_NO_OPER_FLOOD 482
672 < #define TKLINE 483
673 < #define TXLINE 484
674 < #define TRESV 485
675 < #define UNKLINE 486
676 < #define USER 487
677 < #define USE_EGD 488
678 < #define USE_EXCEPT 489
679 < #define USE_INVEX 490
680 < #define USE_KNOCK 491
681 < #define USE_LOGGING 492
682 < #define USE_WHOIS_ACTUALLY 493
683 < #define VHOST 494
684 < #define VHOST6 495
689 < #define XLINE 496
690 < #define WARN 497
691 < #define WARN_NO_NLINE 498
692 < #define T_SIZE 499
693 < #define T_FILE 500
468 > #define CLASS 279
469 > #define CONNECT 280
470 > #define CONNECTFREQ 281
471 > #define DEFAULT_FLOODCOUNT 282
472 > #define DEFAULT_SPLIT_SERVER_COUNT 283
473 > #define DEFAULT_SPLIT_USER_COUNT 284
474 > #define DENY 285
475 > #define DESCRIPTION 286
476 > #define DIE 287
477 > #define DISABLE_AUTH 288
478 > #define DISABLE_FAKE_CHANNELS 289
479 > #define DISABLE_HIDDEN 290
480 > #define DISABLE_LOCAL_CHANNELS 291
481 > #define DISABLE_REMOTE_COMMANDS 292
482 > #define DOTS_IN_IDENT 293
483 > #define DURATION 294
484 > #define EGDPOOL_PATH 295
485 > #define EMAIL 296
486 > #define ENABLE 297
487 > #define ENCRYPTED 298
488 > #define EXCEED_LIMIT 299
489 > #define EXEMPT 300
490 > #define FAILED_OPER_NOTICE 301
491 > #define IRCD_FLAGS 302
492 > #define FLATTEN_LINKS 303
493 > #define GECOS 304
494 > #define GENERAL 305
495 > #define GLINE 306
496 > #define GLINES 307
497 > #define GLINE_EXEMPT 308
498 > #define GLINE_TIME 309
499 > #define GLINE_MIN_CIDR 310
500 > #define GLINE_MIN_CIDR6 311
501 > #define GLOBAL_KILL 312
502 > #define IRCD_AUTH 313
503 > #define NEED_IDENT 314
504 > #define HAVENT_READ_CONF 315
505 > #define HIDDEN 316
506 > #define HIDDEN_NAME 317
507 > #define HIDE_SERVER_IPS 318
508 > #define HIDE_SERVERS 319
509 > #define HIDE_SPOOF_IPS 320
510 > #define HOST 321
511 > #define HUB 322
512 > #define HUB_MASK 323
513 > #define IGNORE_BOGUS_TS 324
514 > #define INVISIBLE_ON_CONNECT 325
515 > #define IP 326
516 > #define KILL 327
517 > #define KILL_CHASE_TIME_LIMIT 328
518 > #define KLINE 329
519 > #define KLINE_EXEMPT 330
520 > #define KLINE_REASON 331
521 > #define KLINE_WITH_REASON 332
522 > #define KNOCK_DELAY 333
523 > #define KNOCK_DELAY_CHANNEL 334
524 > #define LEAF_MASK 335
525 > #define LINKS_DELAY 336
526 > #define LISTEN 337
527 > #define T_LOG 338
528 > #define MAX_ACCEPT 339
529 > #define MAX_BANS 340
530 > #define MAX_CHANS_PER_USER 341
531 > #define MAX_GLOBAL 342
532 > #define MAX_IDENT 343
533 > #define MAX_LOCAL 344
534 > #define MAX_NICK_CHANGES 345
535 > #define MAX_NICK_TIME 346
536 > #define MAX_NUMBER 347
537 > #define MAX_TARGETS 348
538 > #define MAX_WATCH 349
539 > #define MESSAGE_LOCALE 350
540 > #define MIN_NONWILDCARD 351
541 > #define MIN_NONWILDCARD_SIMPLE 352
542 > #define MODULE 353
543 > #define MODULES 354
544 > #define NAME 355
545 > #define NEED_PASSWORD 356
546 > #define NETWORK_DESC 357
547 > #define NETWORK_NAME 358
548 > #define NICK 359
549 > #define NICK_CHANGES 360
550 > #define NO_CREATE_ON_SPLIT 361
551 > #define NO_JOIN_ON_SPLIT 362
552 > #define NO_OPER_FLOOD 363
553 > #define NO_TILDE 364
554 > #define NUMBER 365
555 > #define NUMBER_PER_IDENT 366
556 > #define NUMBER_PER_CIDR 367
557 > #define NUMBER_PER_IP 368
558 > #define NUMBER_PER_IP_GLOBAL 369
559 > #define OPERATOR 370
560 > #define OPERS_BYPASS_CALLERID 371
561 > #define OPER_ONLY_UMODES 372
562 > #define OPER_PASS_RESV 373
563 > #define OPER_SPY_T 374
564 > #define OPER_UMODES 375
565 > #define JOIN_FLOOD_COUNT 376
566 > #define JOIN_FLOOD_TIME 377
567 > #define PACE_WAIT 378
568 > #define PACE_WAIT_SIMPLE 379
569 > #define PASSWORD 380
570 > #define PATH 381
571 > #define PING_COOKIE 382
572 > #define PING_TIME 383
573 > #define PING_WARNING 384
574 > #define PORT 385
575 > #define QSTRING 386
576 > #define QUIET_ON_BAN 387
577 > #define REASON 388
578 > #define REDIRPORT 389
579 > #define REDIRSERV 390
580 > #define REGEX_T 391
581 > #define REHASH 392
582 > #define TREJECT_HOLD_TIME 393
583 > #define REMOTE 394
584 > #define REMOTEBAN 395
585 > #define RESTRICT_CHANNELS 396
586 > #define RESTRICTED 397
587 > #define RSA_PRIVATE_KEY_FILE 398
588 > #define RSA_PUBLIC_KEY_FILE 399
589 > #define SSL_CERTIFICATE_FILE 400
590 > #define SSL_DH_PARAM_FILE 401
591 > #define T_SSL_CLIENT_METHOD 402
592 > #define T_SSL_SERVER_METHOD 403
593 > #define T_SSLV3 404
594 > #define T_TLSV1 405
595 > #define RESV 406
596 > #define RESV_EXEMPT 407
597 > #define SECONDS 408
598 > #define MINUTES 409
599 > #define HOURS 410
600 > #define DAYS 411
601 > #define WEEKS 412
602 > #define SENDQ 413
603 > #define SEND_PASSWORD 414
604 > #define SERVERHIDE 415
605 > #define SERVERINFO 416
606 > #define IRCD_SID 417
607 > #define TKLINE_EXPIRE_NOTICES 418
608 > #define T_SHARED 419
609 > #define T_CLUSTER 420
610 > #define TYPE 421
611 > #define SHORT_MOTD 422
612 > #define SILENT 423
613 > #define SPOOF 424
614 > #define SPOOF_NOTICE 425
615 > #define STATS_E_DISABLED 426
616 > #define STATS_I_OPER_ONLY 427
617 > #define STATS_K_OPER_ONLY 428
618 > #define STATS_O_OPER_ONLY 429
619 > #define STATS_P_OPER_ONLY 430
620 > #define TBOOL 431
621 > #define TMASKED 432
622 > #define T_REJECT 433
623 > #define TS_MAX_DELTA 434
624 > #define TS_WARN_DELTA 435
625 > #define TWODOTS 436
626 > #define T_ALL 437
627 > #define T_BOTS 438
628 > #define T_SOFTCALLERID 439
629 > #define T_CALLERID 440
630 > #define T_CCONN 441
631 > #define T_CCONN_FULL 442
632 > #define T_SSL_CIPHER_LIST 443
633 > #define T_CLIENT_FLOOD 444
634 > #define T_DEAF 445
635 > #define T_DEBUG 446
636 > #define T_DLINE 447
637 > #define T_DRONE 448
638 > #define T_EXTERNAL 449
639 > #define T_FULL 450
640 > #define T_INVISIBLE 451
641 > #define T_IPV4 452
642 > #define T_IPV6 453
643 > #define T_LOCOPS 454
644 > #define T_MAX_CLIENTS 455
645 > #define T_NCHANGE 456
646 > #define T_OPERWALL 457
647 > #define T_REJ 458
648 > #define T_SERVER 459
649 > #define T_SERVNOTICE 460
650 > #define T_SKILL 461
651 > #define T_SPY 462
652 > #define T_SSL 463
653 > #define T_UMODES 464
654 > #define T_UNAUTH 465
655 > #define T_UNDLINE 466
656 > #define T_UNLIMITED 467
657 > #define T_UNRESV 468
658 > #define T_UNXLINE 469
659 > #define T_GLOBOPS 470
660 > #define T_WALLOP 471
661 > #define T_RESTART 472
662 > #define T_SERVICE 473
663 > #define T_SERVICES_NAME 474
664 > #define THROTTLE_TIME 475
665 > #define TOPICBURST 476
666 > #define TRUE_NO_OPER_FLOOD 477
667 > #define TKLINE 478
668 > #define TXLINE 479
669 > #define TRESV 480
670 > #define UNKLINE 481
671 > #define USER 482
672 > #define USE_EGD 483
673 > #define USE_EXCEPT 484
674 > #define USE_INVEX 485
675 > #define USE_KNOCK 486
676 > #define USE_LOGGING 487
677 > #define USE_WHOIS_ACTUALLY 488
678 > #define VHOST 489
679 > #define VHOST6 490
680 > #define XLINE 491
681 > #define WARN 492
682 > #define WARN_NO_NLINE 493
683 > #define T_SIZE 494
684 > #define T_FILE 495
685  
686  
687  
# Line 700 | Line 691 | typedef union YYSTYPE
691   {
692  
693   /* Line 293 of yacc.c  */
694 < #line 132 "ircd_parser.y"
694 > #line 133 "conf_parser.y"
695  
696    int number;
697    char *string;
# Line 708 | Line 699 | typedef union YYSTYPE
699  
700  
701   /* Line 293 of yacc.c  */
702 < #line 712 "ircd_parser.c"
702 > #line 703 "conf_parser.c"
703   } YYSTYPE;
704   # define YYSTYPE_IS_TRIVIAL 1
705   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# Line 720 | Line 711 | typedef union YYSTYPE
711  
712  
713   /* Line 343 of yacc.c  */
714 < #line 724 "ircd_parser.c"
714 > #line 715 "conf_parser.c"
715  
716   #ifdef short
717   # undef short
# Line 939 | Line 930 | union yyalloc
930   /* YYFINAL -- State number of the termination state.  */
931   #define YYFINAL  2
932   /* YYLAST -- Last index in YYTABLE.  */
933 < #define YYLAST   1233
933 > #define YYLAST   1267
934  
935   /* YYNTOKENS -- Number of terminals.  */
936 < #define YYNTOKENS  251
936 > #define YYNTOKENS  246
937   /* YYNNTS -- Number of nonterminals.  */
938 < #define YYNNTS  312
938 > #define YYNNTS  305
939   /* YYNRULES -- Number of rules.  */
940 < #define YYNRULES  678
940 > #define YYNRULES  668
941   /* YYNRULES -- Number of states.  */
942 < #define YYNSTATES  1326
942 > #define YYNSTATES  1311
943  
944   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
945   #define YYUNDEFTOK  2
946 < #define YYMAXUTOK   500
946 > #define YYMAXUTOK   495
947  
948   #define YYTRANSLATE(YYX)                                                \
949    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 964 | Line 955 | static const yytype_uint8 yytranslate[]
955         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
956         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
957         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
958 <       2,     2,     2,     2,   250,     2,     2,     2,     2,     2,
959 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   246,
960 <       2,   249,     2,     2,     2,     2,     2,     2,     2,     2,
958 >       2,     2,     2,     2,   245,     2,     2,     2,     2,     2,
959 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   241,
960 >       2,   244,     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,     2,     2,     2,     2,     2,     2,     2,
965         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
966 <       2,     2,     2,   248,     2,   247,     2,     2,     2,     2,
966 >       2,     2,     2,   243,     2,   242,     2,     2,     2,     2,
967         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
968         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
969         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1009 | Line 1000 | static const yytype_uint8 yytranslate[]
1000       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1001       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1002       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1003 <     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1013 <     245
1003 >     235,   236,   237,   238,   239,   240
1004   };
1005  
1006   #if YYDEBUG
# Line 1024 | Line 1014 | static const yytype_uint16 yyprhs[] =
1014        61,    65,    69,    73,    77,    81,    82,    84,    87,    91,
1015        95,    99,   105,   108,   110,   112,   114,   117,   122,   127,
1016       133,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1017 <     154,   156,   158,   160,   162,   165,   166,   172,   176,   178,
1018 <     180,   182,   187,   192,   197,   202,   207,   212,   217,   222,
1019 <     227,   232,   237,   243,   246,   248,   250,   252,   254,   257,
1020 <     262,   267,   272,   278,   281,   283,   285,   287,   289,   292,
1021 <     297,   302,   303,   310,   313,   315,   317,   319,   321,   324,
1022 <     329,   334,   339,   340,   346,   350,   352,   354,   356,   358,
1023 <     360,   362,   364,   366,   367,   375,   376,   378,   381,   383,
1024 <     385,   387,   389,   391,   393,   395,   397,   399,   402,   407,
1025 <     409,   414,   419,   424,   429,   434,   435,   441,   445,   447,
1026 <     449,   451,   453,   455,   457,   459,   461,   463,   465,   467,
1027 <     469,   471,   473,   475,   477,   479,   481,   483,   485,   486,
1028 <     492,   496,   498,   500,   502,   504,   506,   508,   510,   512,
1029 <     514,   516,   518,   520,   522,   524,   526,   528,   530,   532,
1030 <     534,   535,   543,   544,   546,   549,   551,   553,   555,   557,
1031 <     559,   561,   563,   565,   567,   569,   571,   573,   575,   577,
1032 <     580,   585,   587,   592,   597,   602,   607,   612,   617,   622,
1033 <     627,   632,   637,   642,   647,   648,   655,   656,   662,   666,
1034 <     668,   670,   672,   674,   677,   679,   681,   683,   685,   687,
1035 <     690,   691,   697,   701,   703,   705,   709,   714,   719,   720,
1036 <     727,   730,   732,   734,   736,   738,   740,   742,   744,   746,
1037 <     748,   751,   756,   761,   766,   771,   772,   778,   782,   784,
1038 <     786,   788,   790,   792,   794,   796,   798,   800,   802,   807,
1039 <     812,   817,   818,   825,   828,   830,   832,   834,   836,   839,
1040 <     844,   849,   854,   860,   863,   865,   867,   869,   874,   875,
1041 <     882,   885,   887,   889,   891,   893,   896,   901,   906,   907,
1042 <     913,   917,   919,   921,   923,   925,   927,   929,   931,   933,
1043 <     935,   937,   939,   941,   942,   949,   952,   954,   956,   958,
1044 <     961,   966,   967,   973,   977,   979,   981,   983,   985,   987,
1045 <     989,   991,   993,   995,   997,   999,  1001,  1002,  1010,  1011,
1046 <    1013,  1016,  1018,  1020,  1022,  1024,  1026,  1028,  1030,  1032,
1047 <    1034,  1036,  1038,  1040,  1042,  1044,  1046,  1049,  1054,  1056,
1048 <    1061,  1066,  1071,  1076,  1081,  1086,  1091,  1092,  1098,  1102,
1049 <    1104,  1106,  1108,  1110,  1112,  1114,  1119,  1124,  1129,  1134,
1050 <    1139,  1144,  1145,  1152,  1153,  1159,  1163,  1165,  1167,  1170,
1051 <    1172,  1174,  1176,  1178,  1180,  1185,  1190,  1191,  1198,  1201,
1052 <    1203,  1205,  1207,  1209,  1214,  1219,  1225,  1228,  1230,  1232,
1053 <    1234,  1239,  1240,  1247,  1248,  1254,  1258,  1260,  1262,  1265,
1054 <    1267,  1269,  1271,  1273,  1275,  1280,  1285,  1291,  1294,  1296,
1055 <    1298,  1300,  1302,  1304,  1306,  1308,  1310,  1312,  1314,  1316,
1056 <    1318,  1320,  1322,  1324,  1326,  1328,  1330,  1332,  1334,  1336,
1057 <    1338,  1340,  1342,  1344,  1346,  1348,  1350,  1352,  1354,  1356,
1058 <    1358,  1360,  1362,  1364,  1366,  1368,  1370,  1372,  1374,  1376,
1059 <    1378,  1380,  1382,  1384,  1386,  1388,  1390,  1392,  1394,  1396,
1060 <    1398,  1400,  1402,  1404,  1406,  1411,  1416,  1421,  1426,  1431,
1061 <    1436,  1441,  1446,  1451,  1456,  1461,  1466,  1471,  1476,  1481,
1062 <    1486,  1491,  1496,  1501,  1506,  1511,  1516,  1521,  1526,  1531,
1063 <    1536,  1541,  1546,  1551,  1556,  1561,  1566,  1571,  1576,  1581,
1064 <    1586,  1591,  1596,  1601,  1606,  1611,  1616,  1621,  1626,  1631,
1065 <    1636,  1641,  1646,  1651,  1656,  1657,  1663,  1667,  1669,  1671,
1066 <    1673,  1675,  1677,  1679,  1681,  1683,  1685,  1687,  1689,  1691,
1067 <    1693,  1695,  1697,  1699,  1701,  1703,  1705,  1707,  1708,  1714,
1068 <    1718,  1720,  1722,  1724,  1726,  1728,  1730,  1732,  1734,  1736,
1069 <    1738,  1740,  1742,  1744,  1746,  1748,  1750,  1752,  1754,  1756,
1070 <    1758,  1763,  1768,  1773,  1778,  1779,  1786,  1789,  1791,  1793,
1071 <    1795,  1797,  1799,  1801,  1803,  1805,  1810,  1815,  1816,  1822,
1072 <    1826,  1828,  1830,  1832,  1837,  1842,  1843,  1849,  1853,  1855,
1073 <    1857,  1859,  1865,  1868,  1870,  1872,  1874,  1876,  1878,  1880,
1074 <    1882,  1884,  1886,  1888,  1890,  1892,  1894,  1896,  1898,  1900,
1075 <    1902,  1904,  1906,  1908,  1913,  1918,  1923,  1928,  1933,  1938,
1076 <    1943,  1948,  1953,  1958,  1963,  1968,  1973,  1978,  1983,  1988,
1077 <    1993,  1998,  2004,  2007,  2009,  2011,  2013,  2015,  2017,  2019,
1088 <    2021,  2023,  2025,  2030,  2035,  2040,  2045,  2050,  2055
1017 >     154,   156,   158,   160,   162,   164,   166,   168,   171,   176,
1018 >     181,   185,   187,   189,   191,   195,   197,   199,   201,   206,
1019 >     211,   216,   221,   226,   231,   236,   241,   246,   251,   256,
1020 >     261,   266,   272,   275,   277,   279,   281,   283,   286,   291,
1021 >     296,   301,   307,   310,   312,   314,   316,   319,   324,   325,
1022 >     332,   335,   337,   339,   341,   343,   346,   351,   356,   361,
1023 >     362,   368,   372,   374,   376,   378,   380,   382,   384,   386,
1024 >     388,   389,   396,   399,   401,   403,   405,   407,   409,   411,
1025 >     413,   415,   417,   420,   425,   430,   435,   440,   445,   450,
1026 >     451,   457,   461,   463,   465,   467,   469,   471,   473,   475,
1027 >     477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
1028 >     497,   499,   501,   503,   504,   510,   514,   516,   518,   520,
1029 >     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
1030 >     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
1031 >     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
1032 >     587,   589,   591,   594,   599,   604,   609,   614,   619,   624,
1033 >     629,   634,   639,   644,   649,   654,   659,   660,   667,   668,
1034 >     674,   678,   680,   682,   684,   686,   689,   691,   693,   695,
1035 >     697,   699,   702,   703,   709,   713,   715,   717,   721,   726,
1036 >     731,   732,   739,   742,   744,   746,   748,   750,   752,   754,
1037 >     756,   758,   760,   763,   768,   773,   778,   783,   784,   790,
1038 >     794,   796,   798,   800,   802,   804,   806,   808,   810,   812,
1039 >     814,   819,   824,   829,   830,   837,   840,   842,   844,   846,
1040 >     848,   851,   856,   861,   866,   872,   875,   877,   879,   881,
1041 >     886,   887,   894,   897,   899,   901,   903,   905,   908,   913,
1042 >     918,   919,   925,   929,   931,   933,   935,   937,   939,   941,
1043 >     943,   945,   947,   949,   951,   952,   959,   962,   964,   966,
1044 >     968,   971,   976,   977,   983,   987,   989,   991,   993,   995,
1045 >     997,   999,  1001,  1003,  1005,  1007,  1009,  1010,  1017,  1020,
1046 >    1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,
1047 >    1042,  1044,  1046,  1048,  1051,  1056,  1061,  1066,  1071,  1076,
1048 >    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1110,
1049 >    1112,  1117,  1122,  1127,  1132,  1137,  1138,  1145,  1146,  1152,
1050 >    1156,  1158,  1160,  1163,  1165,  1167,  1169,  1171,  1173,  1178,
1051 >    1183,  1184,  1191,  1194,  1196,  1198,  1200,  1202,  1207,  1212,
1052 >    1218,  1221,  1223,  1225,  1227,  1232,  1233,  1240,  1241,  1247,
1053 >    1251,  1253,  1255,  1258,  1260,  1262,  1264,  1266,  1268,  1273,
1054 >    1278,  1284,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1055 >    1303,  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,  1321,
1056 >    1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
1057 >    1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1361,
1058 >    1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,
1059 >    1383,  1385,  1387,  1389,  1391,  1393,  1398,  1403,  1408,  1413,
1060 >    1418,  1423,  1428,  1433,  1438,  1443,  1448,  1453,  1458,  1463,
1061 >    1468,  1473,  1478,  1483,  1488,  1493,  1498,  1503,  1508,  1513,
1062 >    1518,  1523,  1528,  1533,  1538,  1543,  1548,  1553,  1558,  1563,
1063 >    1568,  1573,  1578,  1583,  1588,  1593,  1598,  1603,  1608,  1613,
1064 >    1618,  1623,  1628,  1629,  1635,  1639,  1641,  1643,  1645,  1647,
1065 >    1649,  1651,  1653,  1655,  1657,  1659,  1661,  1663,  1665,  1667,
1066 >    1669,  1671,  1673,  1675,  1677,  1679,  1681,  1682,  1688,  1692,
1067 >    1694,  1696,  1698,  1700,  1702,  1704,  1706,  1708,  1710,  1712,
1068 >    1714,  1716,  1718,  1720,  1722,  1724,  1726,  1728,  1730,  1732,
1069 >    1734,  1739,  1744,  1749,  1754,  1755,  1762,  1765,  1767,  1769,
1070 >    1771,  1773,  1775,  1777,  1779,  1781,  1786,  1791,  1792,  1798,
1071 >    1802,  1804,  1806,  1808,  1813,  1818,  1819,  1825,  1829,  1831,
1072 >    1833,  1835,  1841,  1844,  1846,  1848,  1850,  1852,  1854,  1856,
1073 >    1858,  1860,  1862,  1864,  1866,  1868,  1870,  1872,  1874,  1876,
1074 >    1878,  1880,  1882,  1884,  1889,  1894,  1899,  1904,  1909,  1914,
1075 >    1919,  1924,  1929,  1934,  1939,  1944,  1949,  1954,  1959,  1964,
1076 >    1969,  1974,  1980,  1983,  1985,  1987,  1989,  1991,  1993,  1995,
1077 >    1997,  1999,  2001,  2006,  2011,  2016,  2021,  2026,  2031
1078   };
1079  
1080   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1081   static const yytype_int16 yyrhs[] =
1082   {
1083 <     252,     0,    -1,    -1,   252,   253,    -1,   281,    -1,   287,
1084 <      -1,   302,    -1,   532,    -1,   322,    -1,   341,    -1,   355,
1085 <      -1,   263,    -1,   553,    -1,   370,    -1,   377,    -1,   381,
1086 <      -1,   391,    -1,   400,    -1,   423,    -1,   433,    -1,   439,
1087 <      -1,   453,    -1,   516,    -1,   443,    -1,   258,    -1,     1,
1088 <     246,    -1,     1,   247,    -1,    -1,   255,    -1,   117,   254,
1089 <      -1,   117,   158,   254,    -1,   117,   159,   254,    -1,   117,
1090 <     160,   254,    -1,   117,   161,   254,    -1,   117,   162,   254,
1091 <      -1,    -1,   257,    -1,   117,   256,    -1,   117,    14,   256,
1092 <      -1,   117,    15,   256,    -1,   117,    16,   256,    -1,   106,
1093 <     248,   259,   247,   246,    -1,   259,   260,    -1,   260,    -1,
1094 <     261,    -1,   262,    -1,     1,   246,    -1,   105,   249,   138,
1095 <     246,    -1,   133,   249,   138,   246,    -1,   166,   248,   264,
1096 <     247,   246,    -1,   264,   265,    -1,   265,    -1,   272,    -1,
1097 <     277,    -1,   280,    -1,   274,    -1,   275,    -1,   276,    -1,
1098 <     279,    -1,   271,    -1,   278,    -1,   273,    -1,   270,    -1,
1099 <     266,    -1,     1,   246,    -1,    -1,   153,   267,   249,   268,
1100 <     246,    -1,   268,   250,   269,    -1,   269,    -1,   154,    -1,
1101 <     155,    -1,   152,   249,   138,   246,    -1,   150,   249,   138,
1102 <     246,    -1,   107,   249,   138,   246,    -1,   168,   249,   138,
1103 <     246,    -1,    36,   249,   138,   246,    -1,   110,   249,   138,
1104 <     246,    -1,   109,   249,   138,   246,    -1,   239,   249,   138,
1105 <     246,    -1,   240,   249,   138,   246,    -1,   205,   249,   117,
1106 <     246,    -1,    74,   249,   182,   246,    -1,     5,   248,   282,
1107 <     247,   246,    -1,   282,   283,    -1,   283,    -1,   284,    -1,
1108 <     286,    -1,   285,    -1,     1,   246,    -1,   107,   249,   138,
1109 <     246,    -1,    46,   249,   138,   246,    -1,    36,   249,   138,
1110 <     246,    -1,    90,   248,   288,   247,   246,    -1,   288,   289,
1111 <      -1,   289,    -1,   290,    -1,   291,    -1,   292,    -1,     1,
1112 <     246,    -1,   237,   249,   182,   246,    -1,   224,   249,   182,
1113 <     246,    -1,    -1,   293,   245,   248,   294,   247,   246,    -1,
1114 <     294,   295,    -1,   295,    -1,   296,    -1,   298,    -1,   297,
1115 <      -1,     1,   246,    -1,   107,   249,   138,   246,    -1,   244,
1116 <     249,   257,   246,    -1,   244,   249,   216,   246,    -1,    -1,
1117 <     172,   299,   249,   300,   246,    -1,   300,   250,   301,    -1,
1118 <     301,    -1,   232,    -1,   122,    -1,    56,    -1,   197,    -1,
1119 <      81,    -1,    79,    -1,   196,    -1,    -1,   122,   303,   304,
1120 <     248,   305,   247,   246,    -1,    -1,   308,    -1,   305,   306,
1121 <      -1,   306,    -1,   307,    -1,   309,    -1,   310,    -1,   314,
1122 <      -1,   313,    -1,   311,    -1,   312,    -1,   318,    -1,     1,
1123 <     246,    -1,   107,   249,   138,   246,    -1,   138,    -1,   232,
1124 <     249,   138,   246,    -1,   132,   249,   138,   246,    -1,    48,
1125 <     249,   182,   246,    -1,   151,   249,   138,   246,    -1,    25,
1126 <     249,   138,   246,    -1,    -1,   214,   315,   249,   316,   246,
1127 <      -1,   316,   250,   317,    -1,   317,    -1,   189,    -1,   192,
1128 <      -1,   193,    -1,   195,    -1,   196,    -1,   200,    -1,   211,
1129 <      -1,   206,    -1,   208,    -1,   215,    -1,   212,    -1,   199,
1130 <      -1,   207,    -1,   210,    -1,   201,    -1,   220,    -1,   190,
1131 <      -1,   191,    -1,   204,    -1,    -1,    52,   319,   249,   320,
1132 <     246,    -1,   320,   250,   321,    -1,   321,    -1,    62,    -1,
1133 <     146,    -1,    81,    -1,   231,    -1,   241,    -1,    56,    -1,
1134 <      37,    -1,   221,    -1,   144,    -1,     5,    -1,    67,    -1,
1135 <     112,    -1,   207,    -1,   219,    -1,   126,    -1,    69,    -1,
1136 <     147,    -1,   105,    -1,    -1,    25,   323,   324,   248,   325,
1137 <     247,   246,    -1,    -1,   328,    -1,   325,   326,    -1,   326,
1138 <      -1,   327,    -1,   338,    -1,   339,    -1,   329,    -1,   330,
1139 <      -1,   340,    -1,   331,    -1,   332,    -1,   333,    -1,   334,
1140 <      -1,   335,    -1,   336,    -1,   337,    -1,     1,   246,    -1,
1141 <     107,   249,   138,   246,    -1,   138,    -1,   135,   249,   255,
1142 <     246,    -1,   136,   249,   255,   246,    -1,   120,   249,   117,
1143 <     246,    -1,    29,   249,   255,   246,    -1,    99,   249,   117,
1144 <     246,    -1,    94,   249,   117,   246,    -1,    96,   249,   117,
1145 <     246,    -1,    95,   249,   117,   246,    -1,   163,   249,   257,
1146 <     246,    -1,    22,   249,   117,   246,    -1,    23,   249,   117,
1147 <     246,    -1,   119,   249,   117,   246,    -1,    -1,    89,   342,
1148 <     248,   347,   247,   246,    -1,    -1,    52,   344,   249,   345,
1149 <     246,    -1,   345,   250,   346,    -1,   346,    -1,   213,    -1,
1150 <      66,    -1,   209,    -1,   347,   348,    -1,   348,    -1,   349,
1151 <      -1,   343,    -1,   353,    -1,   354,    -1,     1,   246,    -1,
1152 <      -1,   137,   249,   351,   350,   246,    -1,   351,   250,   352,
1153 <      -1,   352,    -1,   117,    -1,   117,   187,   117,    -1,    78,
1154 <     249,   138,   246,    -1,    73,   249,   138,   246,    -1,    -1,
1155 <      63,   356,   248,   357,   247,   246,    -1,   357,   358,    -1,
1156 <     358,    -1,   359,    -1,   360,    -1,   361,    -1,   363,    -1,
1157 <     367,    -1,   368,    -1,   369,    -1,   362,    -1,     1,   246,
1158 <      -1,   232,   249,   138,   246,    -1,   132,   249,   138,   246,
1159 <      -1,    25,   249,   138,   246,    -1,    48,   249,   182,   246,
1160 <      -1,    -1,    52,   364,   249,   365,   246,    -1,   365,   250,
1161 <     366,    -1,   366,    -1,   176,    -1,    49,    -1,    82,    -1,
1162 <      64,    -1,    20,    -1,   116,    -1,    58,    -1,   157,    -1,
1163 <     108,    -1,   175,   249,   138,   246,    -1,   142,   249,   138,
1164 <     246,    -1,   141,   249,   117,   246,    -1,    -1,   156,   371,
1165 <     248,   372,   247,   246,    -1,   372,   373,    -1,   373,    -1,
1166 <     374,    -1,   375,    -1,   376,    -1,     1,   246,    -1,   140,
1167 <     249,   138,   246,    -1,    21,   249,   138,   246,    -1,   111,
1168 <     249,   138,   246,    -1,   222,   248,   378,   247,   246,    -1,
1169 <     378,   379,    -1,   379,    -1,   380,    -1,     1,    -1,   107,
1170 <     249,   138,   246,    -1,    -1,   170,   382,   248,   383,   247,
1171 <     246,    -1,   383,   384,    -1,   384,    -1,   385,    -1,   386,
1172 <      -1,   387,    -1,     1,   246,    -1,   107,   249,   138,   246,
1173 <      -1,   232,   249,   138,   246,    -1,    -1,   172,   388,   249,
1174 <     389,   246,    -1,   389,   250,   390,    -1,   390,    -1,    81,
1175 <      -1,   228,    -1,   231,    -1,   241,    -1,   229,    -1,   218,
1176 <      -1,   156,    -1,   230,    -1,   217,    -1,   204,    -1,   188,
1177 <      -1,    -1,   171,   392,   248,   393,   247,   246,    -1,   393,
1178 <     394,    -1,   394,    -1,   395,    -1,   396,    -1,     1,   246,
1179 <      -1,   107,   249,   138,   246,    -1,    -1,   172,   397,   249,
1180 <     398,   246,    -1,   398,   250,   399,    -1,   399,    -1,    81,
1181 <      -1,   228,    -1,   231,    -1,   241,    -1,   229,    -1,   218,
1182 <      -1,   156,    -1,   230,    -1,   217,    -1,   204,    -1,   188,
1183 <      -1,    -1,    28,   401,   402,   248,   403,   247,   246,    -1,
1184 <      -1,   406,    -1,   403,   404,    -1,   404,    -1,   405,    -1,
1185 <     407,    -1,   408,    -1,   409,    -1,   410,    -1,   412,    -1,
1186 <     411,    -1,   413,    -1,   419,    -1,   420,    -1,   421,    -1,
1187 <     418,    -1,   417,    -1,   422,    -1,     1,   246,    -1,   107,
1188 <     249,   138,   246,    -1,   138,    -1,    73,   249,   138,   246,
1189 <      -1,   239,   249,   138,   246,    -1,   164,   249,   138,   246,
1190 <      -1,     3,   249,   138,   246,    -1,   137,   249,   117,   246,
1191 <      -1,     6,   249,   202,   246,    -1,     6,   249,   203,   246,
1192 <      -1,    -1,    52,   414,   249,   415,   246,    -1,   415,   250,
1193 <     416,    -1,   416,    -1,    26,    -1,    30,    -1,    10,    -1,
1194 <      12,    -1,   226,    -1,   151,   249,   138,   246,    -1,    48,
1195 <     249,   182,   246,    -1,    75,   249,   138,   246,    -1,    87,
1196 <     249,   138,   246,    -1,    25,   249,   138,   246,    -1,    24,
1197 <     249,   138,   246,    -1,    -1,    79,   424,   248,   429,   247,
1198 <     246,    -1,    -1,   172,   426,   249,   427,   246,    -1,   427,
1199 <     250,   428,    -1,   428,    -1,   143,    -1,   429,   430,    -1,
1200 <     430,    -1,   431,    -1,   432,    -1,   425,    -1,     1,    -1,
1201 <     232,   249,   138,   246,    -1,   140,   249,   138,   246,    -1,
1202 <      -1,    35,   434,   248,   435,   247,   246,    -1,   435,   436,
1203 <      -1,   436,    -1,   437,    -1,   438,    -1,     1,    -1,    78,
1204 <     249,   138,   246,    -1,   140,   249,   138,   246,    -1,    50,
1205 <     248,   440,   247,   246,    -1,   440,   441,    -1,   441,    -1,
1206 <     442,    -1,     1,    -1,    78,   249,   138,   246,    -1,    -1,
1207 <      54,   444,   248,   449,   247,   246,    -1,    -1,   172,   446,
1208 <     249,   447,   246,    -1,   447,   250,   448,    -1,   448,    -1,
1209 <     143,    -1,   449,   450,    -1,   450,    -1,   451,    -1,   452,
1210 <      -1,   445,    -1,     1,    -1,   107,   249,   138,   246,    -1,
1211 <     140,   249,   138,   246,    -1,    55,   248,   454,   247,   246,
1212 <      -1,   454,   455,    -1,   455,    -1,   463,    -1,   464,    -1,
1213 <     466,    -1,   467,    -1,   468,    -1,   469,    -1,   470,    -1,
1214 <     471,    -1,   472,    -1,   473,    -1,   462,    -1,   475,    -1,
1215 <     476,    -1,   477,    -1,   478,    -1,   493,    -1,   480,    -1,
1216 <     482,    -1,   484,    -1,   483,    -1,   487,    -1,   481,    -1,
1217 <     488,    -1,   489,    -1,   490,    -1,   491,    -1,   492,    -1,
1218 <     508,    -1,   494,    -1,   498,    -1,   499,    -1,   504,    -1,
1219 <     485,    -1,   486,    -1,   514,    -1,   512,    -1,   513,    -1,
1220 <     495,    -1,   465,    -1,   496,    -1,   497,    -1,   515,    -1,
1221 <     503,    -1,   474,    -1,   501,    -1,   502,    -1,   461,    -1,
1222 <     457,    -1,   458,    -1,   459,    -1,   460,    -1,   479,    -1,
1223 <     456,    -1,   500,    -1,     1,    -1,   101,   249,   117,   246,
1224 <      -1,    60,   249,   117,   246,    -1,    61,   249,   117,   246,
1225 <      -1,   238,   249,   182,   246,    -1,   145,   249,   255,   246,
1226 <      -1,   169,   249,   182,   246,    -1,    80,   249,   255,   246,
1227 <      -1,    72,   249,   182,   246,    -1,    76,   249,   182,   246,
1228 <      -1,    42,   249,   182,   246,    -1,    51,   249,   182,   246,
1229 <      -1,     8,   249,   182,   246,    -1,    98,   249,   255,   246,
1230 <      -1,    97,   249,   117,   246,    -1,    91,   249,   117,   246,
1231 <      -1,     9,   249,   255,   246,    -1,   186,   249,   255,   246,
1232 <      -1,   185,   249,   255,   246,    -1,    65,   249,   117,   246,
1233 <      -1,    84,   249,   182,   246,    -1,    83,   249,   138,   246,
1234 <      -1,    77,   249,   182,   246,    -1,   243,   249,   182,   246,
1235 <      -1,   177,   249,   182,   246,    -1,   180,   249,   182,   246,
1236 <      -1,   181,   249,   182,   246,    -1,   179,   249,   182,   246,
1237 <      -1,   179,   249,   183,   246,    -1,   178,   249,   182,   246,
1238 <      -1,   178,   249,   183,   246,    -1,   130,   249,   255,   246,
1239 <      -1,    19,   249,   255,   246,    -1,   123,   249,   182,   246,
1240 <      -1,   131,   249,   255,   246,    -1,   173,   249,   182,   246,
1241 <      -1,   115,   249,   182,   246,    -1,   227,   249,   182,   246,
1242 <      -1,   125,   249,   182,   246,    -1,   102,   249,   138,   246,
1243 <      -1,    43,   249,   117,   246,    -1,   100,   249,   117,   246,
1244 <      -1,   167,   249,   138,   246,    -1,    31,   249,   138,   246,
1245 <      -1,    27,   249,   117,   246,    -1,   233,   249,   182,   246,
1246 <      -1,    45,   249,   138,   246,    -1,   223,   249,   138,   246,
1247 <      -1,   134,   249,   182,   246,    -1,    38,   249,   182,   246,
1248 <      -1,   225,   249,   255,   246,    -1,    -1,   127,   505,   249,
1249 <     506,   246,    -1,   506,   250,   507,    -1,   507,    -1,   189,
1250 <      -1,   192,    -1,   193,    -1,   195,    -1,   196,    -1,   200,
1251 <      -1,   211,    -1,   206,    -1,   208,    -1,   215,    -1,   212,
1252 <      -1,   199,    -1,   207,    -1,   210,    -1,   201,    -1,   220,
1253 <      -1,   190,    -1,   191,    -1,   204,    -1,    -1,   124,   509,
1254 <     249,   510,   246,    -1,   510,   250,   511,    -1,   511,    -1,
1255 <     189,    -1,   192,    -1,   193,    -1,   195,    -1,   196,    -1,
1256 <     200,    -1,   211,    -1,   206,    -1,   208,    -1,   215,    -1,
1257 <     212,    -1,   199,    -1,   207,    -1,   210,    -1,   201,    -1,
1258 <     220,    -1,   190,    -1,   191,    -1,   204,    -1,   103,   249,
1259 <     117,   246,    -1,   104,   249,   117,   246,    -1,    32,   249,
1260 <     117,   246,    -1,   194,   249,   257,   246,    -1,    -1,    57,
1261 <     517,   248,   518,   247,   246,    -1,   518,   519,    -1,   519,
1262 <      -1,   520,    -1,   521,    -1,   522,    -1,   526,    -1,   527,
1263 <      -1,   528,    -1,     1,    -1,    47,   249,   182,   246,    -1,
1264 <      44,   249,   255,   246,    -1,    -1,    90,   523,   249,   524,
1265 <     246,    -1,   524,   250,   525,    -1,   525,    -1,   184,    -1,
1266 <      11,    -1,   232,   249,   138,   246,    -1,   107,   249,   138,
1267 <     246,    -1,    -1,     4,   529,   249,   530,   246,    -1,   530,
1268 <     250,   531,    -1,   531,    -1,   184,    -1,    11,    -1,    21,
1269 <     248,   533,   247,   246,    -1,   533,   534,    -1,   534,    -1,
1270 <     537,    -1,   538,    -1,   539,    -1,   540,    -1,   545,    -1,
1271 <     541,    -1,   542,    -1,   543,    -1,   544,    -1,   546,    -1,
1272 <     547,    -1,   548,    -1,   536,    -1,   549,    -1,   550,    -1,
1273 <     551,    -1,   552,    -1,   535,    -1,     1,    -1,    39,   249,
1274 <     182,   246,    -1,   148,   249,   182,   246,    -1,    41,   249,
1275 <     182,   246,    -1,   234,   249,   182,   246,    -1,   235,   249,
1276 <     182,   246,    -1,   236,   249,   182,   246,    -1,    85,   249,
1277 <     255,   246,    -1,    86,   249,   255,   246,    -1,    93,   249,
1278 <     117,   246,    -1,   139,   249,   182,   246,    -1,    92,   249,
1279 <     117,   246,    -1,    34,   249,   117,   246,    -1,    33,   249,
1280 <     117,   246,    -1,   113,   249,   182,   246,    -1,   114,   249,
1281 <     182,   246,    -1,    13,   249,   182,   246,    -1,   128,   249,
1282 <     117,   246,    -1,   129,   249,   255,   246,    -1,   165,   248,
1283 <     554,   247,   246,    -1,   554,   555,    -1,   555,    -1,   556,
1284 <      -1,   557,    -1,   559,    -1,   561,    -1,   560,    -1,   558,
1285 <      -1,   562,    -1,     1,    -1,    53,   249,   182,   246,    -1,
1286 <      71,   249,   182,   246,    -1,    68,   249,   138,   246,    -1,
1298 <      88,   249,   255,   246,    -1,    66,   249,   182,   246,    -1,
1299 <      40,   249,   182,   246,    -1,    70,   249,   182,   246,    -1
1083 >     247,     0,    -1,    -1,   247,   248,    -1,   280,    -1,   286,
1084 >      -1,   300,    -1,   520,    -1,   318,    -1,   335,    -1,   349,
1085 >      -1,   258,    -1,   541,    -1,   364,    -1,   371,    -1,   375,
1086 >      -1,   385,    -1,   394,    -1,   414,    -1,   424,    -1,   430,
1087 >      -1,   444,    -1,   504,    -1,   434,    -1,   253,    -1,     1,
1088 >     241,    -1,     1,   242,    -1,    -1,   250,    -1,   110,   249,
1089 >      -1,   110,   153,   249,    -1,   110,   154,   249,    -1,   110,
1090 >     155,   249,    -1,   110,   156,   249,    -1,   110,   157,   249,
1091 >      -1,    -1,   252,    -1,   110,   251,    -1,   110,    14,   251,
1092 >      -1,   110,    15,   251,    -1,   110,    16,   251,    -1,    99,
1093 >     243,   254,   242,   241,    -1,   254,   255,    -1,   255,    -1,
1094 >     256,    -1,   257,    -1,     1,   241,    -1,    98,   244,   131,
1095 >     241,    -1,   126,   244,   131,   241,    -1,   161,   243,   259,
1096 >     242,   241,    -1,   259,   260,    -1,   260,    -1,   271,    -1,
1097 >     276,    -1,   279,    -1,   273,    -1,   274,    -1,   275,    -1,
1098 >     278,    -1,   269,    -1,   268,    -1,   277,    -1,   272,    -1,
1099 >     267,    -1,   261,    -1,   262,    -1,   270,    -1,     1,   241,
1100 >      -1,   147,   244,   263,   241,    -1,   148,   244,   265,   241,
1101 >      -1,   263,   245,   264,    -1,   264,    -1,   149,    -1,   150,
1102 >      -1,   265,   245,   266,    -1,   266,    -1,   149,    -1,   150,
1103 >      -1,   145,   244,   131,   241,    -1,   143,   244,   131,   241,
1104 >      -1,   146,   244,   131,   241,    -1,   188,   244,   131,   241,
1105 >      -1,   100,   244,   131,   241,    -1,   162,   244,   131,   241,
1106 >      -1,    31,   244,   131,   241,    -1,   103,   244,   131,   241,
1107 >      -1,   102,   244,   131,   241,    -1,   234,   244,   131,   241,
1108 >      -1,   235,   244,   131,   241,    -1,   200,   244,   110,   241,
1109 >      -1,    67,   244,   176,   241,    -1,     5,   243,   281,   242,
1110 >     241,    -1,   281,   282,    -1,   282,    -1,   283,    -1,   285,
1111 >      -1,   284,    -1,     1,   241,    -1,   100,   244,   131,   241,
1112 >      -1,    41,   244,   131,   241,    -1,    31,   244,   131,   241,
1113 >      -1,    83,   243,   287,   242,   241,    -1,   287,   288,    -1,
1114 >     288,    -1,   289,    -1,   290,    -1,     1,   241,    -1,   232,
1115 >     244,   176,   241,    -1,    -1,   291,   240,   243,   292,   242,
1116 >     241,    -1,   292,   293,    -1,   293,    -1,   294,    -1,   296,
1117 >      -1,   295,    -1,     1,   241,    -1,   100,   244,   131,   241,
1118 >      -1,   239,   244,   252,   241,    -1,   239,   244,   212,   241,
1119 >      -1,    -1,   166,   297,   244,   298,   241,    -1,   298,   245,
1120 >     299,    -1,   299,    -1,   227,    -1,   115,    -1,    51,    -1,
1121 >     192,    -1,    74,    -1,    72,    -1,   191,    -1,    -1,   115,
1122 >     301,   243,   302,   242,   241,    -1,   302,   303,    -1,   303,
1123 >      -1,   304,    -1,   305,    -1,   306,    -1,   310,    -1,   309,
1124 >      -1,   307,    -1,   308,    -1,   314,    -1,     1,   241,    -1,
1125 >     100,   244,   131,   241,    -1,   227,   244,   131,   241,    -1,
1126 >     125,   244,   131,   241,    -1,    43,   244,   176,   241,    -1,
1127 >     144,   244,   131,   241,    -1,    24,   244,   131,   241,    -1,
1128 >      -1,   209,   311,   244,   312,   241,    -1,   312,   245,   313,
1129 >      -1,   313,    -1,   183,    -1,   186,    -1,   187,    -1,   190,
1130 >      -1,   191,    -1,   195,    -1,    61,    -1,   206,    -1,   201,
1131 >      -1,   203,    -1,   210,    -1,   207,    -1,   194,    -1,   202,
1132 >      -1,   205,    -1,   196,    -1,   216,    -1,   184,    -1,   185,
1133 >      -1,   199,    -1,    -1,    47,   315,   244,   316,   241,    -1,
1134 >     316,   245,   317,    -1,   317,    -1,    57,    -1,   139,    -1,
1135 >      74,    -1,   226,    -1,   192,    -1,   211,    -1,   236,    -1,
1136 >      51,    -1,    32,    -1,   217,    -1,   137,    -1,     5,    -1,
1137 >     105,    -1,   202,    -1,   215,    -1,   119,    -1,   140,    -1,
1138 >      98,    -1,    -1,    24,   319,   243,   320,   242,   241,    -1,
1139 >     320,   321,    -1,   321,    -1,   322,    -1,   332,    -1,   333,
1140 >      -1,   323,    -1,   324,    -1,   334,    -1,   325,    -1,   326,
1141 >      -1,   327,    -1,   328,    -1,   329,    -1,   330,    -1,   331,
1142 >      -1,     1,   241,    -1,   100,   244,   131,   241,    -1,   128,
1143 >     244,   250,   241,    -1,   129,   244,   250,   241,    -1,   113,
1144 >     244,   110,   241,    -1,    26,   244,   250,   241,    -1,    92,
1145 >     244,   110,   241,    -1,    87,   244,   110,   241,    -1,    89,
1146 >     244,   110,   241,    -1,    88,   244,   110,   241,    -1,   158,
1147 >     244,   252,   241,    -1,    22,   244,   110,   241,    -1,    23,
1148 >     244,   110,   241,    -1,   112,   244,   110,   241,    -1,    -1,
1149 >      82,   336,   243,   341,   242,   241,    -1,    -1,    47,   338,
1150 >     244,   339,   241,    -1,   339,   245,   340,    -1,   340,    -1,
1151 >     208,    -1,    61,    -1,   204,    -1,   341,   342,    -1,   342,
1152 >      -1,   343,    -1,   337,    -1,   347,    -1,   348,    -1,     1,
1153 >     241,    -1,    -1,   130,   244,   345,   344,   241,    -1,   345,
1154 >     245,   346,    -1,   346,    -1,   110,    -1,   110,   181,   110,
1155 >      -1,    71,   244,   131,   241,    -1,    66,   244,   131,   241,
1156 >      -1,    -1,    58,   350,   243,   351,   242,   241,    -1,   351,
1157 >     352,    -1,   352,    -1,   353,    -1,   354,    -1,   355,    -1,
1158 >     357,    -1,   361,    -1,   362,    -1,   363,    -1,   356,    -1,
1159 >       1,   241,    -1,   227,   244,   131,   241,    -1,   125,   244,
1160 >     131,   241,    -1,    24,   244,   131,   241,    -1,    43,   244,
1161 >     176,   241,    -1,    -1,    47,   358,   244,   359,   241,    -1,
1162 >     359,   245,   360,    -1,   360,    -1,   170,    -1,    44,    -1,
1163 >      75,    -1,    59,    -1,    20,    -1,   109,    -1,    53,    -1,
1164 >     152,    -1,   101,    -1,   169,   244,   131,   241,    -1,   135,
1165 >     244,   131,   241,    -1,   134,   244,   110,   241,    -1,    -1,
1166 >     151,   365,   243,   366,   242,   241,    -1,   366,   367,    -1,
1167 >     367,    -1,   368,    -1,   369,    -1,   370,    -1,     1,   241,
1168 >      -1,   133,   244,   131,   241,    -1,    21,   244,   131,   241,
1169 >      -1,   104,   244,   131,   241,    -1,   218,   243,   372,   242,
1170 >     241,    -1,   372,   373,    -1,   373,    -1,   374,    -1,     1,
1171 >      -1,   100,   244,   131,   241,    -1,    -1,   164,   376,   243,
1172 >     377,   242,   241,    -1,   377,   378,    -1,   378,    -1,   379,
1173 >      -1,   380,    -1,   381,    -1,     1,   241,    -1,   100,   244,
1174 >     131,   241,    -1,   227,   244,   131,   241,    -1,    -1,   166,
1175 >     382,   244,   383,   241,    -1,   383,   245,   384,    -1,   384,
1176 >      -1,    74,    -1,   226,    -1,   192,    -1,   211,    -1,   236,
1177 >      -1,   214,    -1,   151,    -1,   213,    -1,   199,    -1,   182,
1178 >      -1,    -1,   165,   386,   243,   387,   242,   241,    -1,   387,
1179 >     388,    -1,   388,    -1,   389,    -1,   390,    -1,     1,   241,
1180 >      -1,   100,   244,   131,   241,    -1,    -1,   166,   391,   244,
1181 >     392,   241,    -1,   392,   245,   393,    -1,   393,    -1,    74,
1182 >      -1,   226,    -1,   192,    -1,   211,    -1,   236,    -1,   214,
1183 >      -1,   151,    -1,   213,    -1,   199,    -1,   182,    -1,    -1,
1184 >      25,   395,   243,   396,   242,   241,    -1,   396,   397,    -1,
1185 >     397,    -1,   398,    -1,   399,    -1,   400,    -1,   401,    -1,
1186 >     402,    -1,   404,    -1,   403,    -1,   413,    -1,   405,    -1,
1187 >     410,    -1,   411,    -1,   412,    -1,   409,    -1,     1,   241,
1188 >      -1,   100,   244,   131,   241,    -1,    66,   244,   131,   241,
1189 >      -1,   234,   244,   131,   241,    -1,   159,   244,   131,   241,
1190 >      -1,     3,   244,   131,   241,    -1,   130,   244,   110,   241,
1191 >      -1,     6,   244,   197,   241,    -1,     6,   244,   198,   241,
1192 >      -1,    -1,    47,   406,   244,   407,   241,    -1,   407,   245,
1193 >     408,    -1,   408,    -1,    10,    -1,    12,    -1,   221,    -1,
1194 >     208,    -1,    43,   244,   176,   241,    -1,    68,   244,   131,
1195 >     241,    -1,    80,   244,   131,   241,    -1,    24,   244,   131,
1196 >     241,    -1,   188,   244,   131,   241,    -1,    -1,    72,   415,
1197 >     243,   420,   242,   241,    -1,    -1,   166,   417,   244,   418,
1198 >     241,    -1,   418,   245,   419,    -1,   419,    -1,   136,    -1,
1199 >     420,   421,    -1,   421,    -1,   422,    -1,   423,    -1,   416,
1200 >      -1,     1,    -1,   227,   244,   131,   241,    -1,   133,   244,
1201 >     131,   241,    -1,    -1,    30,   425,   243,   426,   242,   241,
1202 >      -1,   426,   427,    -1,   427,    -1,   428,    -1,   429,    -1,
1203 >       1,    -1,    71,   244,   131,   241,    -1,   133,   244,   131,
1204 >     241,    -1,    45,   243,   431,   242,   241,    -1,   431,   432,
1205 >      -1,   432,    -1,   433,    -1,     1,    -1,    71,   244,   131,
1206 >     241,    -1,    -1,    49,   435,   243,   440,   242,   241,    -1,
1207 >      -1,   166,   437,   244,   438,   241,    -1,   438,   245,   439,
1208 >      -1,   439,    -1,   136,    -1,   440,   441,    -1,   441,    -1,
1209 >     442,    -1,   443,    -1,   436,    -1,     1,    -1,   100,   244,
1210 >     131,   241,    -1,   133,   244,   131,   241,    -1,    50,   243,
1211 >     445,   242,   241,    -1,   445,   446,    -1,   446,    -1,   454,
1212 >      -1,   455,    -1,   457,    -1,   458,    -1,   459,    -1,   460,
1213 >      -1,   461,    -1,   462,    -1,   463,    -1,   464,    -1,   453,
1214 >      -1,   466,    -1,   467,    -1,   468,    -1,   469,    -1,   484,
1215 >      -1,   471,    -1,   473,    -1,   475,    -1,   474,    -1,   478,
1216 >      -1,   472,    -1,   479,    -1,   480,    -1,   481,    -1,   482,
1217 >      -1,   483,    -1,   496,    -1,   485,    -1,   486,    -1,   487,
1218 >      -1,   492,    -1,   476,    -1,   477,    -1,   502,    -1,   500,
1219 >      -1,   501,    -1,   456,    -1,   503,    -1,   491,    -1,   465,
1220 >      -1,   489,    -1,   490,    -1,   452,    -1,   448,    -1,   449,
1221 >      -1,   450,    -1,   451,    -1,   470,    -1,   447,    -1,   488,
1222 >      -1,     1,    -1,    94,   244,   110,   241,    -1,    55,   244,
1223 >     110,   241,    -1,    56,   244,   110,   241,    -1,   233,   244,
1224 >     176,   241,    -1,   138,   244,   250,   241,    -1,   163,   244,
1225 >     176,   241,    -1,    73,   244,   250,   241,    -1,    65,   244,
1226 >     176,   241,    -1,    69,   244,   176,   241,    -1,    37,   244,
1227 >     176,   241,    -1,    46,   244,   176,   241,    -1,     8,   244,
1228 >     176,   241,    -1,    91,   244,   250,   241,    -1,    90,   244,
1229 >     110,   241,    -1,    84,   244,   110,   241,    -1,     9,   244,
1230 >     250,   241,    -1,   180,   244,   250,   241,    -1,   179,   244,
1231 >     250,   241,    -1,    60,   244,   110,   241,    -1,    77,   244,
1232 >     176,   241,    -1,    76,   244,   131,   241,    -1,    70,   244,
1233 >     176,   241,    -1,   238,   244,   176,   241,    -1,   171,   244,
1234 >     176,   241,    -1,   174,   244,   176,   241,    -1,   175,   244,
1235 >     176,   241,    -1,   173,   244,   176,   241,    -1,   173,   244,
1236 >     177,   241,    -1,   172,   244,   176,   241,    -1,   172,   244,
1237 >     177,   241,    -1,   123,   244,   250,   241,    -1,    19,   244,
1238 >     250,   241,    -1,   116,   244,   176,   241,    -1,   124,   244,
1239 >     250,   241,    -1,   167,   244,   176,   241,    -1,   108,   244,
1240 >     176,   241,    -1,   222,   244,   176,   241,    -1,   118,   244,
1241 >     176,   241,    -1,    95,   244,   131,   241,    -1,    38,   244,
1242 >     110,   241,    -1,    93,   244,   110,   241,    -1,   228,   244,
1243 >     176,   241,    -1,    40,   244,   131,   241,    -1,   219,   244,
1244 >     131,   241,    -1,   127,   244,   176,   241,    -1,    33,   244,
1245 >     176,   241,    -1,   220,   244,   250,   241,    -1,    -1,   120,
1246 >     493,   244,   494,   241,    -1,   494,   245,   495,    -1,   495,
1247 >      -1,   183,    -1,   186,    -1,   187,    -1,   190,    -1,   191,
1248 >      -1,   195,    -1,    61,    -1,   206,    -1,   201,    -1,   203,
1249 >      -1,   210,    -1,   207,    -1,   194,    -1,   202,    -1,   205,
1250 >      -1,   196,    -1,   216,    -1,   184,    -1,   185,    -1,   199,
1251 >      -1,    -1,   117,   497,   244,   498,   241,    -1,   498,   245,
1252 >     499,    -1,   499,    -1,   183,    -1,   186,    -1,   187,    -1,
1253 >     190,    -1,   191,    -1,   195,    -1,   206,    -1,    61,    -1,
1254 >     201,    -1,   203,    -1,   210,    -1,   207,    -1,   194,    -1,
1255 >     202,    -1,   205,    -1,   196,    -1,   216,    -1,   184,    -1,
1256 >     185,    -1,   199,    -1,    96,   244,   110,   241,    -1,    97,
1257 >     244,   110,   241,    -1,    27,   244,   110,   241,    -1,   189,
1258 >     244,   252,   241,    -1,    -1,    52,   505,   243,   506,   242,
1259 >     241,    -1,   506,   507,    -1,   507,    -1,   508,    -1,   509,
1260 >      -1,   510,    -1,   514,    -1,   515,    -1,   516,    -1,     1,
1261 >      -1,    42,   244,   176,   241,    -1,    39,   244,   250,   241,
1262 >      -1,    -1,    83,   511,   244,   512,   241,    -1,   512,   245,
1263 >     513,    -1,   513,    -1,   178,    -1,    11,    -1,   227,   244,
1264 >     131,   241,    -1,   100,   244,   131,   241,    -1,    -1,     4,
1265 >     517,   244,   518,   241,    -1,   518,   245,   519,    -1,   519,
1266 >      -1,   178,    -1,    11,    -1,    21,   243,   521,   242,   241,
1267 >      -1,   521,   522,    -1,   522,    -1,   525,    -1,   526,    -1,
1268 >     527,    -1,   528,    -1,   533,    -1,   529,    -1,   530,    -1,
1269 >     531,    -1,   532,    -1,   534,    -1,   535,    -1,   536,    -1,
1270 >     524,    -1,   537,    -1,   538,    -1,   539,    -1,   540,    -1,
1271 >     523,    -1,     1,    -1,    34,   244,   176,   241,    -1,   141,
1272 >     244,   176,   241,    -1,    36,   244,   176,   241,    -1,   229,
1273 >     244,   176,   241,    -1,   230,   244,   176,   241,    -1,   231,
1274 >     244,   176,   241,    -1,    78,   244,   250,   241,    -1,    79,
1275 >     244,   250,   241,    -1,    86,   244,   110,   241,    -1,   132,
1276 >     244,   176,   241,    -1,    85,   244,   110,   241,    -1,    29,
1277 >     244,   110,   241,    -1,    28,   244,   110,   241,    -1,   106,
1278 >     244,   176,   241,    -1,   107,   244,   176,   241,    -1,    13,
1279 >     244,   176,   241,    -1,   121,   244,   110,   241,    -1,   122,
1280 >     244,   250,   241,    -1,   160,   243,   542,   242,   241,    -1,
1281 >     542,   543,    -1,   543,    -1,   544,    -1,   545,    -1,   547,
1282 >      -1,   549,    -1,   548,    -1,   546,    -1,   550,    -1,     1,
1283 >      -1,    48,   244,   176,   241,    -1,    64,   244,   176,   241,
1284 >      -1,    62,   244,   131,   241,    -1,    81,   244,   250,   241,
1285 >      -1,    61,   244,   176,   241,    -1,    35,   244,   176,   241,
1286 >      -1,    63,   244,   176,   241,    -1
1287   };
1288  
1289   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1290   static const yytype_uint16 yyrline[] =
1291   {
1292 <       0,   381,   381,   382,   385,   386,   387,   388,   389,   390,
1293 <     391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
1294 <     401,   402,   403,   404,   405,   406,   407,   411,   411,   412,
1295 <     416,   420,   424,   428,   432,   438,   438,   439,   440,   441,
1296 <     442,   449,   452,   452,   453,   453,   453,   455,   461,   468,
1297 <     470,   470,   471,   471,   472,   472,   473,   473,   474,   475,
1298 <     475,   476,   476,   477,   478,   482,   481,   500,   500,   501,
1299 <     507,   515,   549,   609,   624,   639,   648,   662,   671,   699,
1300 <     729,   752,   761,   763,   763,   764,   764,   765,   765,   767,
1301 <     776,   785,   797,   798,   798,   800,   800,   800,   801,   803,
1302 <     809,   816,   816,   826,   827,   829,   829,   830,   830,   832,
1303 <     837,   840,   846,   845,   851,   851,   852,   856,   860,   864,
1304 <     868,   872,   876,   887,   886,   980,   980,   981,   981,   982,
1305 <     982,   982,   983,   983,   983,   984,   984,   984,   986,   998,
1306 <    1010,  1044,  1056,  1067,  1109,  1119,  1118,  1124,  1124,  1125,
1307 <    1129,  1133,  1137,  1141,  1145,  1149,  1153,  1157,  1161,  1165,
1308 <    1169,  1173,  1177,  1181,  1185,  1189,  1193,  1197,  1204,  1203,
1309 <    1209,  1209,  1210,  1214,  1218,  1222,  1226,  1230,  1234,  1238,
1310 <    1242,  1246,  1250,  1254,  1258,  1262,  1266,  1270,  1274,  1278,
1311 <    1289,  1288,  1338,  1338,  1340,  1340,  1341,  1342,  1342,  1343,
1312 <    1344,  1345,  1346,  1347,  1348,  1349,  1350,  1351,  1352,  1353,
1313 <    1355,  1364,  1373,  1379,  1385,  1391,  1397,  1403,  1409,  1415,
1314 <    1421,  1427,  1433,  1439,  1449,  1448,  1465,  1464,  1469,  1469,
1315 <    1470,  1474,  1478,  1486,  1486,  1487,  1487,  1487,  1487,  1487,
1316 <    1489,  1489,  1491,  1491,  1493,  1507,  1527,  1536,  1549,  1548,
1317 <    1617,  1617,  1618,  1618,  1618,  1618,  1619,  1619,  1619,  1620,
1318 <    1620,  1622,  1659,  1672,  1681,  1693,  1692,  1696,  1696,  1697,
1319 <    1701,  1705,  1709,  1713,  1717,  1721,  1725,  1729,  1736,  1755,
1320 <    1765,  1779,  1778,  1794,  1794,  1795,  1795,  1795,  1795,  1797,
1321 <    1806,  1821,  1834,  1836,  1836,  1837,  1837,  1839,  1855,  1854,
1322 <    1870,  1870,  1871,  1871,  1871,  1871,  1873,  1882,  1905,  1904,
1323 <    1910,  1910,  1911,  1915,  1919,  1923,  1927,  1931,  1935,  1939,
1324 <    1943,  1947,  1951,  1961,  1960,  1977,  1977,  1978,  1978,  1978,
1325 <    1980,  1987,  1986,  1992,  1992,  1993,  1997,  2001,  2005,  2009,
1326 <    2013,  2017,  2021,  2025,  2029,  2033,  2043,  2042,  2185,  2185,
1327 <    2186,  2186,  2187,  2187,  2187,  2188,  2188,  2189,  2189,  2190,
1328 <    2190,  2190,  2191,  2191,  2192,  2192,  2193,  2195,  2207,  2219,
1329 <    2228,  2254,  2272,  2290,  2296,  2300,  2309,  2308,  2312,  2312,
1330 <    2313,  2323,  2327,  2331,  2335,  2341,  2382,  2393,  2406,  2419,
1331 <    2428,  2464,  2463,  2527,  2526,  2530,  2530,  2531,  2537,  2537,
1332 <    2538,  2538,  2538,  2538,  2540,  2559,  2569,  2568,  2591,  2591,
1333 <    2592,  2592,  2592,  2594,  2600,  2609,  2611,  2611,  2612,  2612,
1334 <    2614,  2633,  2632,  2680,  2679,  2683,  2683,  2684,  2690,  2690,
1335 <    2691,  2691,  2691,  2691,  2693,  2699,  2708,  2711,  2711,  2712,
1336 <    2712,  2713,  2713,  2714,  2714,  2715,  2715,  2716,  2716,  2717,
1337 <    2717,  2718,  2718,  2719,  2719,  2720,  2720,  2721,  2721,  2722,
1338 <    2722,  2723,  2723,  2724,  2724,  2725,  2726,  2726,  2727,  2727,
1339 <    2728,  2728,  2729,  2729,  2730,  2730,  2731,  2731,  2732,  2733,
1340 <    2733,  2734,  2734,  2735,  2736,  2737,  2737,  2738,  2738,  2739,
1341 <    2739,  2740,  2740,  2741,  2744,  2749,  2754,  2759,  2764,  2769,
1342 <    2774,  2779,  2784,  2789,  2794,  2799,  2804,  2809,  2814,  2819,
1343 <    2824,  2829,  2835,  2846,  2851,  2860,  2865,  2870,  2875,  2880,
1344 <    2885,  2888,  2893,  2896,  2901,  2906,  2911,  2916,  2921,  2926,
1345 <    2931,  2936,  2941,  2952,  2957,  2962,  2971,  3003,  3021,  3026,
1346 <    3035,  3044,  3049,  3054,  3060,  3059,  3064,  3064,  3065,  3068,
1347 <    3071,  3074,  3077,  3080,  3083,  3086,  3089,  3092,  3095,  3098,
1348 <    3101,  3104,  3107,  3110,  3113,  3116,  3119,  3125,  3124,  3129,
1349 <    3129,  3130,  3133,  3136,  3139,  3142,  3145,  3148,  3151,  3154,
1350 <    3157,  3160,  3163,  3166,  3169,  3172,  3175,  3178,  3181,  3184,
1351 <    3189,  3194,  3199,  3204,  3214,  3213,  3237,  3237,  3238,  3239,
1352 <    3240,  3241,  3242,  3243,  3244,  3246,  3252,  3259,  3258,  3263,
1353 <    3263,  3264,  3268,  3274,  3308,  3318,  3317,  3367,  3367,  3368,
1354 <    3372,  3381,  3384,  3384,  3385,  3385,  3386,  3386,  3387,  3387,
1355 <    3388,  3388,  3389,  3389,  3390,  3391,  3391,  3392,  3392,  3393,
1356 <    3393,  3394,  3394,  3396,  3401,  3406,  3411,  3416,  3421,  3426,
1357 <    3431,  3436,  3441,  3446,  3451,  3456,  3461,  3466,  3471,  3476,
1358 <    3481,  3489,  3492,  3492,  3493,  3493,  3494,  3495,  3496,  3496,
1372 <    3497,  3498,  3500,  3506,  3512,  3521,  3535,  3541,  3547
1292 >       0,   377,   377,   378,   381,   382,   383,   384,   385,   386,
1293 >     387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
1294 >     397,   398,   399,   400,   401,   402,   403,   407,   407,   408,
1295 >     412,   416,   420,   424,   428,   434,   434,   435,   436,   437,
1296 >     438,   445,   448,   448,   449,   449,   449,   451,   457,   464,
1297 >     466,   466,   467,   467,   468,   468,   469,   469,   470,   470,
1298 >     471,   471,   472,   472,   473,   473,   474,   475,   478,   479,
1299 >     481,   481,   482,   488,   496,   496,   497,   503,   511,   550,
1300 >     609,   633,   641,   656,   671,   680,   694,   703,   731,   761,
1301 >     784,   793,   795,   795,   796,   796,   797,   797,   799,   808,
1302 >     817,   829,   830,   830,   832,   832,   833,   835,   842,   842,
1303 >     852,   853,   855,   855,   856,   856,   858,   863,   866,   872,
1304 >     871,   877,   877,   878,   882,   886,   890,   894,   898,   902,
1305 >     913,   912,  1010,  1010,  1011,  1011,  1011,  1012,  1012,  1012,
1306 >    1013,  1013,  1013,  1015,  1027,  1064,  1076,  1087,  1129,  1139,
1307 >    1138,  1144,  1144,  1145,  1149,  1153,  1157,  1161,  1165,  1169,
1308 >    1173,  1177,  1181,  1185,  1189,  1193,  1197,  1201,  1205,  1209,
1309 >    1213,  1217,  1221,  1228,  1227,  1233,  1233,  1234,  1238,  1242,
1310 >    1246,  1250,  1254,  1258,  1262,  1266,  1270,  1274,  1278,  1282,
1311 >    1286,  1290,  1294,  1298,  1302,  1313,  1312,  1362,  1362,  1363,
1312 >    1364,  1364,  1365,  1366,  1367,  1368,  1369,  1370,  1371,  1372,
1313 >    1373,  1374,  1375,  1377,  1386,  1392,  1398,  1404,  1410,  1416,
1314 >    1422,  1428,  1434,  1440,  1446,  1452,  1462,  1461,  1478,  1477,
1315 >    1482,  1482,  1483,  1487,  1491,  1499,  1499,  1500,  1500,  1500,
1316 >    1500,  1500,  1502,  1502,  1504,  1504,  1506,  1520,  1540,  1549,
1317 >    1562,  1561,  1630,  1630,  1631,  1631,  1631,  1631,  1632,  1632,
1318 >    1632,  1633,  1633,  1635,  1672,  1685,  1694,  1706,  1705,  1709,
1319 >    1709,  1710,  1714,  1718,  1722,  1726,  1730,  1734,  1738,  1742,
1320 >    1749,  1768,  1778,  1792,  1791,  1807,  1807,  1808,  1808,  1808,
1321 >    1808,  1810,  1819,  1834,  1847,  1849,  1849,  1850,  1850,  1852,
1322 >    1868,  1867,  1883,  1883,  1884,  1884,  1884,  1884,  1886,  1895,
1323 >    1918,  1917,  1923,  1923,  1924,  1928,  1932,  1936,  1940,  1944,
1324 >    1948,  1952,  1956,  1960,  1970,  1969,  1986,  1986,  1987,  1987,
1325 >    1987,  1989,  1996,  1995,  2001,  2001,  2002,  2006,  2010,  2014,
1326 >    2018,  2022,  2026,  2030,  2034,  2038,  2048,  2047,  2176,  2176,
1327 >    2177,  2177,  2177,  2178,  2178,  2179,  2179,  2179,  2180,  2180,
1328 >    2180,  2181,  2181,  2182,  2184,  2196,  2205,  2231,  2249,  2267,
1329 >    2273,  2277,  2286,  2285,  2289,  2289,  2290,  2294,  2298,  2302,
1330 >    2308,  2319,  2332,  2345,  2354,  2373,  2372,  2436,  2435,  2439,
1331 >    2439,  2440,  2446,  2446,  2447,  2447,  2447,  2447,  2449,  2468,
1332 >    2478,  2477,  2500,  2500,  2501,  2501,  2501,  2503,  2509,  2518,
1333 >    2520,  2520,  2521,  2521,  2523,  2542,  2541,  2589,  2588,  2592,
1334 >    2592,  2593,  2599,  2599,  2600,  2600,  2600,  2600,  2602,  2608,
1335 >    2617,  2620,  2620,  2621,  2621,  2622,  2622,  2623,  2623,  2624,
1336 >    2624,  2625,  2625,  2626,  2626,  2627,  2627,  2628,  2628,  2629,
1337 >    2629,  2630,  2630,  2631,  2631,  2632,  2632,  2633,  2633,  2634,
1338 >    2635,  2635,  2636,  2636,  2637,  2637,  2638,  2638,  2639,  2639,
1339 >    2640,  2641,  2642,  2642,  2643,  2644,  2645,  2645,  2646,  2646,
1340 >    2647,  2647,  2648,  2648,  2649,  2652,  2657,  2662,  2667,  2672,
1341 >    2677,  2682,  2687,  2692,  2697,  2702,  2707,  2712,  2717,  2722,
1342 >    2727,  2732,  2737,  2743,  2754,  2759,  2768,  2773,  2778,  2783,
1343 >    2788,  2793,  2796,  2801,  2804,  2809,  2814,  2819,  2824,  2829,
1344 >    2834,  2839,  2844,  2849,  2860,  2865,  2870,  2875,  2884,  2893,
1345 >    2898,  2903,  2909,  2908,  2913,  2913,  2914,  2917,  2920,  2923,
1346 >    2926,  2929,  2932,  2935,  2938,  2941,  2944,  2947,  2950,  2953,
1347 >    2956,  2959,  2962,  2965,  2968,  2971,  2977,  2976,  2981,  2981,
1348 >    2982,  2985,  2988,  2991,  2994,  2997,  3000,  3003,  3006,  3009,
1349 >    3012,  3015,  3018,  3021,  3024,  3027,  3030,  3033,  3036,  3039,
1350 >    3044,  3049,  3054,  3059,  3069,  3068,  3092,  3092,  3093,  3094,
1351 >    3095,  3096,  3097,  3098,  3099,  3101,  3107,  3114,  3113,  3118,
1352 >    3118,  3119,  3123,  3129,  3163,  3173,  3172,  3222,  3222,  3223,
1353 >    3227,  3236,  3239,  3239,  3240,  3240,  3241,  3241,  3242,  3242,
1354 >    3243,  3243,  3244,  3244,  3245,  3246,  3246,  3247,  3247,  3248,
1355 >    3248,  3249,  3249,  3251,  3256,  3261,  3266,  3271,  3276,  3281,
1356 >    3286,  3291,  3296,  3301,  3306,  3311,  3316,  3321,  3326,  3331,
1357 >    3336,  3344,  3347,  3347,  3348,  3348,  3349,  3350,  3351,  3351,
1358 >    3352,  3353,  3355,  3361,  3367,  3376,  3390,  3396,  3402
1359   };
1360   #endif
1361  
# Line 1382 | Line 1368 | static const char *const yytname[] =
1368    "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1369    "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1370    "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1371 <  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE", "CLASS",
1372 <  "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ", "CRYPTLINK",
1373 <  "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1374 <  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1375 <  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1376 <  "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1377 <  "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL", "ENABLE",
1378 <  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1379 <  "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL", "GLINE", "GLINES",
1380 <  "GLINE_EXEMPT", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1395 <  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1396 <  "HIDDEN_ADMIN", "HIDDEN_NAME", "HIDDEN_OPER", "HIDE_SERVER_IPS",
1371 >  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1372 >  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1373 >  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1374 >  "DISABLE_FAKE_CHANNELS", "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS",
1375 >  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH",
1376 >  "EMAIL", "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1377 >  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1378 >  "GLINE", "GLINES", "GLINE_EXEMPT", "GLINE_TIME", "GLINE_MIN_CIDR",
1379 >  "GLINE_MIN_CIDR6", "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT",
1380 >  "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_SERVER_IPS",
1381    "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1382    "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1383    "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
# Line 1413 | Line 1397 | static const char *const yytname[] =
1397    "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1398    "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1399    "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1400 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1401 <  "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1402 <  "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1403 <  "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1404 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1405 <  "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1406 <  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1407 <  "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1408 <  "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1409 <  "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE",
1410 <  "T_DRONE", "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6",
1411 <  "T_LOCOPS", "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ",
1412 <  "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1413 <  "T_UNAUTH", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS",
1414 <  "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME", "T_TIMESTAMP",
1415 <  "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1416 <  "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1417 <  "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1418 <  "XLINE", "WARN", "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'",
1419 <  "'{'", "'='", "','", "$accept", "conf", "conf_item", "timespec_",
1420 <  "timespec", "sizespec_", "sizespec", "modules_entry", "modules_items",
1421 <  "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1422 <  "serverinfo_items", "serverinfo_item",
1423 <  "serverinfo_ssl_connection_method", "$@1", "method_types",
1424 <  "method_type_item", "serverinfo_ssl_certificate_file",
1425 <  "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1400 >  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE",
1401 >  "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1",
1402 >  "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1403 >  "SENDQ", "SEND_PASSWORD", "SERVERHIDE", "SERVERINFO", "IRCD_SID",
1404 >  "TKLINE_EXPIRE_NOTICES", "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD",
1405 >  "SILENT", "SPOOF", "SPOOF_NOTICE", "STATS_E_DISABLED",
1406 >  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1407 >  "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "T_REJECT", "TS_MAX_DELTA",
1408 >  "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS", "T_SOFTCALLERID",
1409 >  "T_CALLERID", "T_CCONN", "T_CCONN_FULL", "T_SSL_CIPHER_LIST",
1410 >  "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE", "T_DRONE",
1411 >  "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1412 >  "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ", "T_SERVER",
1413 >  "T_SERVNOTICE", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES", "T_UNAUTH",
1414 >  "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS",
1415 >  "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME", "THROTTLE_TIME",
1416 >  "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE", "TRESV",
1417 >  "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX", "USE_KNOCK",
1418 >  "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE", "WARN",
1419 >  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1420 >  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1421 >  "sizespec", "modules_entry", "modules_items", "modules_item",
1422 >  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1423 >  "serverinfo_item", "serverinfo_ssl_client_method",
1424 >  "serverinfo_ssl_server_method", "client_method_types",
1425 >  "client_method_type_item", "server_method_types",
1426 >  "server_method_type_item", "serverinfo_ssl_certificate_file",
1427 >  "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1428 >  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1429    "serverinfo_description", "serverinfo_network_name",
1430    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1431    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1432    "admin_item", "admin_name", "admin_email", "admin_description",
1433    "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1434 <  "logging_timestamp", "logging_file_entry", "$@2", "logging_file_items",
1435 <  "logging_file_item", "logging_file_name", "logging_file_size",
1436 <  "logging_file_type", "$@3", "logging_file_type_items",
1437 <  "logging_file_type_item", "oper_entry", "$@4", "oper_name_b",
1438 <  "oper_items", "oper_item", "oper_name", "oper_name_t", "oper_user",
1439 <  "oper_password", "oper_encrypted", "oper_rsa_public_key_file",
1440 <  "oper_class", "oper_umodes", "$@5", "oper_umodes_items",
1441 <  "oper_umodes_item", "oper_flags", "$@6", "oper_flags_items",
1442 <  "oper_flags_item", "class_entry", "$@7", "class_name_b", "class_items",
1443 <  "class_item", "class_name", "class_name_t", "class_ping_time",
1444 <  "class_ping_warning", "class_number_per_ip", "class_connectfreq",
1445 <  "class_max_number", "class_max_global", "class_max_local",
1446 <  "class_max_ident", "class_sendq", "class_cidr_bitlen_ipv4",
1447 <  "class_cidr_bitlen_ipv6", "class_number_per_cidr", "listen_entry", "$@8",
1448 <  "listen_flags", "$@9", "listen_flags_items", "listen_flags_item",
1449 <  "listen_items", "listen_item", "listen_port", "$@10", "port_items",
1450 <  "port_item", "listen_address", "listen_host", "auth_entry", "$@11",
1451 <  "auth_items", "auth_item", "auth_user", "auth_passwd", "auth_class",
1452 <  "auth_encrypted", "auth_flags", "$@12", "auth_flags_items",
1453 <  "auth_flags_item", "auth_spoof", "auth_redir_serv", "auth_redir_port",
1454 <  "resv_entry", "$@13", "resv_items", "resv_item", "resv_creason",
1455 <  "resv_channel", "resv_nick", "service_entry", "service_items",
1456 <  "service_item", "service_name", "shared_entry", "$@14", "shared_items",
1457 <  "shared_item", "shared_name", "shared_user", "shared_type", "$@15",
1458 <  "shared_types", "shared_type_item", "cluster_entry", "$@16",
1459 <  "cluster_items", "cluster_item", "cluster_name", "cluster_type", "$@17",
1460 <  "cluster_types", "cluster_type_item", "connect_entry", "$@18",
1461 <  "connect_name_b", "connect_items", "connect_item", "connect_name",
1462 <  "connect_name_t", "connect_host", "connect_vhost",
1463 <  "connect_send_password", "connect_accept_password", "connect_port",
1464 <  "connect_aftype", "connect_flags", "$@19", "connect_flags_items",
1465 <  "connect_flags_item", "connect_rsa_public_key_file", "connect_encrypted",
1466 <  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1467 <  "connect_cipher_preference", "kill_entry", "$@20", "kill_type", "$@21",
1468 <  "kill_type_items", "kill_type_item", "kill_items", "kill_item",
1469 <  "kill_user", "kill_reason", "deny_entry", "$@22", "deny_items",
1470 <  "deny_item", "deny_ip", "deny_reason", "exempt_entry", "exempt_items",
1471 <  "exempt_item", "exempt_ip", "gecos_entry", "$@23", "gecos_flags", "$@24",
1472 <  "gecos_flags_items", "gecos_flags_item", "gecos_items", "gecos_item",
1473 <  "gecos_name", "gecos_reason", "general_entry", "general_items",
1474 <  "general_item", "general_max_watch", "general_gline_min_cidr",
1475 <  "general_gline_min_cidr6", "general_use_whois_actually",
1476 <  "general_reject_hold_time", "general_tkline_expire_notices",
1477 <  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1478 <  "general_ignore_bogus_ts", "general_disable_remote_commands",
1479 <  "general_failed_oper_notice", "general_anti_nick_flood",
1480 <  "general_max_nick_time", "general_max_nick_changes",
1481 <  "general_max_accept", "general_anti_spam_exit_message_time",
1482 <  "general_ts_warn_delta", "general_ts_max_delta",
1483 <  "general_havent_read_conf", "general_kline_with_reason",
1484 <  "general_kline_reason", "general_invisible_on_connect",
1485 <  "general_warn_no_nline", "general_stats_e_disabled",
1486 <  "general_stats_o_oper_only", "general_stats_P_oper_only",
1487 <  "general_stats_k_oper_only", "general_stats_i_oper_only",
1488 <  "general_pace_wait", "general_caller_id_wait",
1489 <  "general_opers_bypass_callerid", "general_pace_wait_simple",
1490 <  "general_short_motd", "general_no_oper_flood",
1491 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1492 <  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1493 <  "general_servlink_path", "general_default_cipher_preference",
1494 <  "general_compression_level", "general_use_egd", "general_egdpool_path",
1508 <  "general_services_name", "general_ping_cookie", "general_disable_auth",
1509 <  "general_throttle_time", "general_oper_umodes", "$@25", "umode_oitems",
1510 <  "umode_oitem", "general_oper_only_umodes", "$@26", "umode_items",
1511 <  "umode_item", "general_min_nonwildcard",
1434 >  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1435 >  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1436 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1437 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1438 >  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1439 >  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1440 >  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1441 >  "class_entry", "$@6", "class_items", "class_item", "class_name",
1442 >  "class_ping_time", "class_ping_warning", "class_number_per_ip",
1443 >  "class_connectfreq", "class_max_number", "class_max_global",
1444 >  "class_max_local", "class_max_ident", "class_sendq",
1445 >  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1446 >  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1447 >  "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1448 >  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1449 >  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1450 >  "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1451 >  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1452 >  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1453 >  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1454 >  "service_entry", "service_items", "service_item", "service_name",
1455 >  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1456 >  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1457 >  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1458 >  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1459 >  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1460 >  "connect_host", "connect_vhost", "connect_send_password",
1461 >  "connect_accept_password", "connect_port", "connect_aftype",
1462 >  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1463 >  "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1464 >  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1465 >  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1466 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1467 >  "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1468 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1469 >  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1470 >  "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1471 >  "general_entry", "general_items", "general_item", "general_max_watch",
1472 >  "general_gline_min_cidr", "general_gline_min_cidr6",
1473 >  "general_use_whois_actually", "general_reject_hold_time",
1474 >  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1475 >  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1476 >  "general_disable_remote_commands", "general_failed_oper_notice",
1477 >  "general_anti_nick_flood", "general_max_nick_time",
1478 >  "general_max_nick_changes", "general_max_accept",
1479 >  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1480 >  "general_ts_max_delta", "general_havent_read_conf",
1481 >  "general_kline_with_reason", "general_kline_reason",
1482 >  "general_invisible_on_connect", "general_warn_no_nline",
1483 >  "general_stats_e_disabled", "general_stats_o_oper_only",
1484 >  "general_stats_P_oper_only", "general_stats_k_oper_only",
1485 >  "general_stats_i_oper_only", "general_pace_wait",
1486 >  "general_caller_id_wait", "general_opers_bypass_callerid",
1487 >  "general_pace_wait_simple", "general_short_motd",
1488 >  "general_no_oper_flood", "general_true_no_oper_flood",
1489 >  "general_oper_pass_resv", "general_message_locale",
1490 >  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1491 >  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1492 >  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1493 >  "$@24", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1494 >  "$@25", "umode_items", "umode_item", "general_min_nonwildcard",
1495    "general_min_nonwildcard_simple", "general_default_floodcount",
1496 <  "general_client_flood", "gline_entry", "$@27", "gline_items",
1497 <  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@28",
1496 >  "general_client_flood", "gline_entry", "$@26", "gline_items",
1497 >  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@27",
1498    "gline_logging_types", "gline_logging_type_item", "gline_user",
1499 <  "gline_server", "gline_action", "$@29", "gdeny_types", "gdeny_type_item",
1499 >  "gline_server", "gline_action", "$@28", "gdeny_types", "gdeny_type_item",
1500    "channel_entry", "channel_items", "channel_item",
1501    "channel_disable_fake_channels", "channel_restrict_channels",
1502    "channel_disable_local_channels", "channel_use_except",
# Line 1559 | Line 1542 | static const yytype_uint16 yytoknum[] =
1542       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1543       475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1544       485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1545 <     495,   496,   497,   498,   499,   500,    59,   125,   123,    61,
1563 <      44
1545 >     495,    59,   125,   123,    61,    44
1546   };
1547   # endif
1548  
1549   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1550   static const yytype_uint16 yyr1[] =
1551   {
1552 <       0,   251,   252,   252,   253,   253,   253,   253,   253,   253,
1553 <     253,   253,   253,   253,   253,   253,   253,   253,   253,   253,
1554 <     253,   253,   253,   253,   253,   253,   253,   254,   254,   255,
1555 <     255,   255,   255,   255,   255,   256,   256,   257,   257,   257,
1556 <     257,   258,   259,   259,   260,   260,   260,   261,   262,   263,
1557 <     264,   264,   265,   265,   265,   265,   265,   265,   265,   265,
1558 <     265,   265,   265,   265,   265,   267,   266,   268,   268,   269,
1552 >       0,   246,   247,   247,   248,   248,   248,   248,   248,   248,
1553 >     248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
1554 >     248,   248,   248,   248,   248,   248,   248,   249,   249,   250,
1555 >     250,   250,   250,   250,   250,   251,   251,   252,   252,   252,
1556 >     252,   253,   254,   254,   255,   255,   255,   256,   257,   258,
1557 >     259,   259,   260,   260,   260,   260,   260,   260,   260,   260,
1558 >     260,   260,   260,   260,   260,   260,   260,   260,   261,   262,
1559 >     263,   263,   264,   264,   265,   265,   266,   266,   267,   268,
1560       269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
1561 <     279,   280,   281,   282,   282,   283,   283,   283,   283,   284,
1562 <     285,   286,   287,   288,   288,   289,   289,   289,   289,   290,
1563 <     291,   293,   292,   294,   294,   295,   295,   295,   295,   296,
1564 <     297,   297,   299,   298,   300,   300,   301,   301,   301,   301,
1565 <     301,   301,   301,   303,   302,   304,   304,   305,   305,   306,
1566 <     306,   306,   306,   306,   306,   306,   306,   306,   307,   308,
1567 <     309,   310,   311,   312,   313,   315,   314,   316,   316,   317,
1561 >     279,   280,   281,   281,   282,   282,   282,   282,   283,   284,
1562 >     285,   286,   287,   287,   288,   288,   288,   289,   291,   290,
1563 >     292,   292,   293,   293,   293,   293,   294,   295,   295,   297,
1564 >     296,   298,   298,   299,   299,   299,   299,   299,   299,   299,
1565 >     301,   300,   302,   302,   303,   303,   303,   303,   303,   303,
1566 >     303,   303,   303,   304,   305,   306,   307,   308,   309,   311,
1567 >     310,   312,   312,   313,   313,   313,   313,   313,   313,   313,
1568 >     313,   313,   313,   313,   313,   313,   313,   313,   313,   313,
1569 >     313,   313,   313,   315,   314,   316,   316,   317,   317,   317,
1570       317,   317,   317,   317,   317,   317,   317,   317,   317,   317,
1571 <     317,   317,   317,   317,   317,   317,   317,   317,   319,   318,
1587 <     320,   320,   321,   321,   321,   321,   321,   321,   321,   321,
1571 >     317,   317,   317,   317,   317,   319,   318,   320,   320,   321,
1572       321,   321,   321,   321,   321,   321,   321,   321,   321,   321,
1573 <     323,   322,   324,   324,   325,   325,   326,   326,   326,   326,
1574 <     326,   326,   326,   326,   326,   326,   326,   326,   326,   326,
1575 <     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
1576 <     337,   338,   339,   340,   342,   341,   344,   343,   345,   345,
1577 <     346,   346,   346,   347,   347,   348,   348,   348,   348,   348,
1578 <     350,   349,   351,   351,   352,   352,   353,   354,   356,   355,
1579 <     357,   357,   358,   358,   358,   358,   358,   358,   358,   358,
1580 <     358,   359,   360,   361,   362,   364,   363,   365,   365,   366,
1581 <     366,   366,   366,   366,   366,   366,   366,   366,   367,   368,
1582 <     369,   371,   370,   372,   372,   373,   373,   373,   373,   374,
1583 <     375,   376,   377,   378,   378,   379,   379,   380,   382,   381,
1584 <     383,   383,   384,   384,   384,   384,   385,   386,   388,   387,
1585 <     389,   389,   390,   390,   390,   390,   390,   390,   390,   390,
1586 <     390,   390,   390,   392,   391,   393,   393,   394,   394,   394,
1587 <     395,   397,   396,   398,   398,   399,   399,   399,   399,   399,
1588 <     399,   399,   399,   399,   399,   399,   401,   400,   402,   402,
1589 <     403,   403,   404,   404,   404,   404,   404,   404,   404,   404,
1590 <     404,   404,   404,   404,   404,   404,   404,   405,   406,   407,
1591 <     408,   409,   410,   411,   412,   412,   414,   413,   415,   415,
1592 <     416,   416,   416,   416,   416,   417,   418,   419,   420,   421,
1593 <     422,   424,   423,   426,   425,   427,   427,   428,   429,   429,
1594 <     430,   430,   430,   430,   431,   432,   434,   433,   435,   435,
1595 <     436,   436,   436,   437,   438,   439,   440,   440,   441,   441,
1596 <     442,   444,   443,   446,   445,   447,   447,   448,   449,   449,
1597 <     450,   450,   450,   450,   451,   452,   453,   454,   454,   455,
1598 <     455,   455,   455,   455,   455,   455,   455,   455,   455,   455,
1599 <     455,   455,   455,   455,   455,   455,   455,   455,   455,   455,
1600 <     455,   455,   455,   455,   455,   455,   455,   455,   455,   455,
1601 <     455,   455,   455,   455,   455,   455,   455,   455,   455,   455,
1618 <     455,   455,   455,   455,   455,   455,   455,   455,   455,   455,
1619 <     455,   455,   455,   455,   456,   457,   458,   459,   460,   461,
1573 >     321,   321,   321,   322,   323,   324,   325,   326,   327,   328,
1574 >     329,   330,   331,   332,   333,   334,   336,   335,   338,   337,
1575 >     339,   339,   340,   340,   340,   341,   341,   342,   342,   342,
1576 >     342,   342,   344,   343,   345,   345,   346,   346,   347,   348,
1577 >     350,   349,   351,   351,   352,   352,   352,   352,   352,   352,
1578 >     352,   352,   352,   353,   354,   355,   356,   358,   357,   359,
1579 >     359,   360,   360,   360,   360,   360,   360,   360,   360,   360,
1580 >     361,   362,   363,   365,   364,   366,   366,   367,   367,   367,
1581 >     367,   368,   369,   370,   371,   372,   372,   373,   373,   374,
1582 >     376,   375,   377,   377,   378,   378,   378,   378,   379,   380,
1583 >     382,   381,   383,   383,   384,   384,   384,   384,   384,   384,
1584 >     384,   384,   384,   384,   386,   385,   387,   387,   388,   388,
1585 >     388,   389,   391,   390,   392,   392,   393,   393,   393,   393,
1586 >     393,   393,   393,   393,   393,   393,   395,   394,   396,   396,
1587 >     397,   397,   397,   397,   397,   397,   397,   397,   397,   397,
1588 >     397,   397,   397,   397,   398,   399,   400,   401,   402,   403,
1589 >     404,   404,   406,   405,   407,   407,   408,   408,   408,   408,
1590 >     409,   410,   411,   412,   413,   415,   414,   417,   416,   418,
1591 >     418,   419,   420,   420,   421,   421,   421,   421,   422,   423,
1592 >     425,   424,   426,   426,   427,   427,   427,   428,   429,   430,
1593 >     431,   431,   432,   432,   433,   435,   434,   437,   436,   438,
1594 >     438,   439,   440,   440,   441,   441,   441,   441,   442,   443,
1595 >     444,   445,   445,   446,   446,   446,   446,   446,   446,   446,
1596 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1597 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1598 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1599 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1600 >     446,   446,   446,   446,   446,   447,   448,   449,   450,   451,
1601 >     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
1602       462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
1603 <     472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
1604 <     482,   482,   483,   483,   484,   485,   486,   487,   488,   489,
1605 <     490,   491,   492,   493,   494,   495,   496,   497,   498,   499,
1603 >     472,   473,   473,   474,   474,   475,   476,   477,   478,   479,
1604 >     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1605 >     490,   491,   493,   492,   494,   494,   495,   495,   495,   495,
1606 >     495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
1607 >     495,   495,   495,   495,   495,   495,   497,   496,   498,   498,
1608 >     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
1609 >     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
1610       500,   501,   502,   503,   505,   504,   506,   506,   507,   507,
1611 <     507,   507,   507,   507,   507,   507,   507,   507,   507,   507,
1612 <     507,   507,   507,   507,   507,   507,   507,   509,   508,   510,
1613 <     510,   511,   511,   511,   511,   511,   511,   511,   511,   511,
1614 <     511,   511,   511,   511,   511,   511,   511,   511,   511,   511,
1615 <     512,   513,   514,   515,   517,   516,   518,   518,   519,   519,
1616 <     519,   519,   519,   519,   519,   520,   521,   523,   522,   524,
1617 <     524,   525,   525,   526,   527,   529,   528,   530,   530,   531,
1618 <     531,   532,   533,   533,   534,   534,   534,   534,   534,   534,
1633 <     534,   534,   534,   534,   534,   534,   534,   534,   534,   534,
1634 <     534,   534,   534,   535,   536,   537,   538,   539,   540,   541,
1635 <     542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
1636 <     552,   553,   554,   554,   555,   555,   555,   555,   555,   555,
1637 <     555,   555,   556,   557,   558,   559,   560,   561,   562
1611 >     507,   507,   507,   507,   507,   508,   509,   511,   510,   512,
1612 >     512,   513,   513,   514,   515,   517,   516,   518,   518,   519,
1613 >     519,   520,   521,   521,   522,   522,   522,   522,   522,   522,
1614 >     522,   522,   522,   522,   522,   522,   522,   522,   522,   522,
1615 >     522,   522,   522,   523,   524,   525,   526,   527,   528,   529,
1616 >     530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
1617 >     540,   541,   542,   542,   543,   543,   543,   543,   543,   543,
1618 >     543,   543,   544,   545,   546,   547,   548,   549,   550
1619   };
1620  
1621   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1646 | Line 1627 | static const yytype_uint8 yyr2[] =
1627         3,     3,     3,     3,     3,     0,     1,     2,     3,     3,
1628         3,     5,     2,     1,     1,     1,     2,     4,     4,     5,
1629         2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1630 <       1,     1,     1,     1,     2,     0,     5,     3,     1,     1,
1631 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1632 <       4,     4,     5,     2,     1,     1,     1,     1,     2,     4,
1633 <       4,     4,     5,     2,     1,     1,     1,     1,     2,     4,
1634 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1635 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1636 <       1,     1,     1,     0,     7,     0,     1,     2,     1,     1,
1637 <       1,     1,     1,     1,     1,     1,     1,     2,     4,     1,
1638 <       4,     4,     4,     4,     4,     0,     5,     3,     1,     1,
1630 >       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1631 >       3,     1,     1,     1,     3,     1,     1,     1,     4,     4,
1632 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1633 >       4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1634 >       4,     5,     2,     1,     1,     1,     2,     4,     0,     6,
1635 >       2,     1,     1,     1,     1,     2,     4,     4,     4,     0,
1636 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1637 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1638 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     0,
1639 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1640         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1641 <       1,     1,     1,     1,     1,     1,     1,     1,     0,     5,
1660 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1641 >       1,     1,     1,     0,     5,     3,     1,     1,     1,     1,
1642         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1643 <       0,     7,     0,     1,     2,     1,     1,     1,     1,     1,
1644 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1645 <       4,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1646 <       4,     4,     4,     4,     0,     6,     0,     5,     3,     1,
1647 <       1,     1,     1,     2,     1,     1,     1,     1,     1,     2,
1648 <       0,     5,     3,     1,     1,     3,     4,     4,     0,     6,
1649 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1650 <       2,     4,     4,     4,     4,     0,     5,     3,     1,     1,
1670 <       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1671 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1672 <       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
1673 <       2,     1,     1,     1,     1,     2,     4,     4,     0,     5,
1674 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1675 <       1,     1,     1,     0,     6,     2,     1,     1,     1,     2,
1676 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1677 <       1,     1,     1,     1,     1,     1,     0,     7,     0,     1,
1678 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1679 <       1,     1,     1,     1,     1,     1,     2,     4,     1,     4,
1680 <       4,     4,     4,     4,     4,     4,     0,     5,     3,     1,
1681 <       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1682 <       4,     0,     6,     0,     5,     3,     1,     1,     2,     1,
1683 <       1,     1,     1,     1,     4,     4,     0,     6,     2,     1,
1684 <       1,     1,     1,     4,     4,     5,     2,     1,     1,     1,
1685 <       4,     0,     6,     0,     5,     3,     1,     1,     2,     1,
1686 <       1,     1,     1,     1,     4,     4,     5,     2,     1,     1,
1643 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1644 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1645 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
1646 >       4,     4,     4,     4,     4,     4,     0,     6,     0,     5,
1647 >       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1648 >       1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
1649 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1650 >       1,     1,     2,     4,     4,     4,     4,     0,     5,     3,
1651         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1652 +       4,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1653 +       2,     4,     4,     4,     5,     2,     1,     1,     1,     4,
1654 +       0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
1655 +       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
1656 +       1,     1,     1,     1,     0,     6,     2,     1,     1,     1,
1657 +       2,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1658 +       1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1659 +       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1660 +       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1661 +       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1662 +       4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1663 +       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1664 +       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1665 +       2,     1,     1,     1,     4,     0,     6,     0,     5,     3,
1666 +       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1667 +       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1668         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1669         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1670         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1671         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1672 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1672 >       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1673         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1674         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1675         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1676         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1677 <       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1677 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1678         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1679 <       1,     1,     1,     1,     1,     1,     1,     0,     5,     3,
1679 >       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1680         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1681         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1682         4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
# Line 1715 | Line 1695 | static const yytype_uint8 yyr2[] =
1695     means the default is an error.  */
1696   static const yytype_uint16 yydefact[] =
1697   {
1698 <       2,     0,     1,     0,     0,     0,   190,   346,   406,     0,
1699 <     421,     0,   594,   248,   391,   224,     0,     0,   123,   281,
1700 <       0,     0,   298,   323,     0,     3,    24,    11,     4,     5,
1698 >       2,     0,     1,     0,     0,     0,   195,   346,   400,     0,
1699 >     415,     0,   584,   250,   385,   226,     0,     0,   130,   283,
1700 >       0,     0,   300,   324,     0,     3,    24,    11,     4,     5,
1701         6,     8,     9,    10,    13,    14,    15,    16,    17,    18,
1702        19,    20,    23,    21,    22,     7,    12,    25,    26,     0,
1723       0,   192,   348,     0,     0,     0,     0,     0,     0,     0,
1724       0,     0,     0,   125,     0,     0,     0,     0,     0,     0,
1725       0,     0,     0,     0,     0,    84,    85,    87,    86,   642,
1703         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1704 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   623,
1705 <     641,   636,   624,   625,   626,   627,   629,   630,   631,   632,
1706 <     628,   633,   634,   635,   637,   638,   639,   640,   211,     0,
1707 <     193,   368,     0,   349,     0,   419,     0,     0,   417,   418,
1708 <       0,   493,     0,     0,     0,     0,     0,     0,     0,     0,
1704 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1705 >       0,     0,     0,     0,     0,    93,    94,    96,    95,   632,
1706 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1707 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   613,
1708 >     631,   626,   614,   615,   616,   617,   619,   620,   621,   622,
1709 >     618,   623,   624,   625,   627,   628,   629,   630,     0,     0,
1710 >       0,   413,     0,     0,   411,   412,     0,   484,     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 <       0,     0,   567,     0,   544,     0,     0,     0,     0,     0,
1713 >       0,     0,     0,     0,     0,     0,   556,     0,   532,     0,
1714         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1736       0,     0,     0,     0,     0,     0,     0,   438,   491,   486,
1737     487,   488,   489,   485,   449,   439,   440,   477,   441,   442,
1738     443,   444,   445,   446,   447,   448,   482,   450,   451,   452,
1739     453,   490,   455,   460,   456,   458,   457,   471,   472,   459,
1740     461,   462,   463,   464,   465,   454,   467,   476,   478,   479,
1741     468,   469,   492,   483,   484,   481,   470,   466,   474,   475,
1742     473,   480,     0,     0,     0,     0,     0,     0,     0,     0,
1743      94,    95,    96,    97,     0,     0,     0,     0,     0,    43,
1744      44,    45,   139,     0,   126,     0,   671,     0,     0,     0,
1745       0,     0,     0,     0,     0,   663,   664,   665,   669,   666,
1746     668,   667,   670,     0,     0,     0,     0,     0,     0,     0,
1747       0,    65,     0,     0,     0,     0,     0,    51,    63,    62,
1748      59,    52,    61,    55,    56,    57,    53,    60,    58,    54,
1749       0,     0,   296,     0,     0,   294,   295,    88,     0,     0,
1750       0,     0,    83,     0,     0,     0,     0,     0,     0,     0,
1715         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1716 <       0,     0,   622,     0,     0,   412,     0,     0,     0,   409,
1717 <     410,   411,     0,     0,   416,   433,     0,     0,   423,   432,
1718 <       0,   429,   430,   431,     0,     0,     0,     0,     0,     0,
1716 >     432,   482,   477,   478,   479,   480,   476,   443,   433,   434,
1717 >     470,   435,   436,   437,   438,   439,   440,   441,   442,   473,
1718 >     444,   445,   446,   447,   481,   449,   454,   450,   452,   451,
1719 >     465,   466,   453,   455,   456,   457,   458,   459,   448,   461,
1720 >     462,   463,   483,   474,   475,   472,   464,   460,   468,   469,
1721 >     467,   471,     0,     0,     0,     0,     0,     0,     0,   103,
1722 >     104,   105,     0,     0,     0,     0,     0,    43,    44,    45,
1723 >       0,     0,   661,     0,     0,     0,     0,     0,     0,     0,
1724 >       0,   653,   654,   655,   659,   656,   658,   657,   660,     0,
1725         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1726 +       0,     0,     0,     0,     0,     0,    51,    64,    65,    63,
1727 +      60,    59,    66,    52,    62,    55,    56,    57,    53,    61,
1728 +      58,    54,     0,     0,   298,     0,     0,   296,   297,    97,
1729 +       0,     0,     0,     0,    92,     0,     0,     0,     0,     0,
1730         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1731 +       0,     0,     0,     0,   612,     0,     0,     0,     0,     0,
1732         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1733 +     198,   199,   202,   203,   205,   206,   207,   208,   209,   210,
1734 +     211,   200,   201,   204,     0,     0,     0,     0,     0,   372,
1735 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   349,
1736 +     350,   351,   352,   353,   354,   356,   355,   358,   362,   359,
1737 +     360,   361,   357,   406,     0,     0,     0,   403,   404,   405,
1738 +       0,     0,   410,   427,     0,     0,   417,   426,     0,   423,
1739 +     424,   425,     0,     0,     0,     0,     0,     0,     0,     0,
1740         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1759       0,     0,     0,     0,     0,     0,     0,     0,     0,   437,
1760     604,   615,     0,     0,   607,     0,     0,     0,   597,   598,
1761     599,   600,   601,   602,   603,     0,     0,     0,   265,     0,
1762       0,     0,     0,     0,     0,   251,   252,   253,   254,   259,
1763     255,   256,   257,   258,   403,     0,   393,     0,   402,     0,
1764     399,   400,   401,     0,   226,     0,     0,     0,   236,     0,
1765     234,   235,   237,   238,    98,     0,     0,     0,    93,     0,
1766      46,     0,     0,     0,    42,     0,     0,     0,     0,     0,
1767       0,   284,   285,   286,   287,     0,     0,     0,     0,     0,
1768       0,     0,     0,   662,    64,     0,     0,     0,     0,     0,
1769       0,     0,     0,     0,     0,     0,     0,     0,    50,     0,
1770       0,   308,     0,     0,   301,   302,   303,   304,     0,     0,
1771     331,     0,   326,   327,   328,     0,     0,   293,     0,     0,
1772       0,    82,     0,     0,     0,     0,     0,    27,     0,     0,
1741         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1774       0,   621,     0,     0,     0,     0,     0,     0,     0,     0,
1775       0,     0,     0,     0,     0,     0,     0,   195,   196,   199,
1776     200,   202,   203,   204,   205,   206,   207,   208,   197,   198,
1777     201,     0,     0,     0,     0,     0,     0,   376,     0,     0,
1778       0,     0,     0,     0,     0,     0,     0,   351,   352,   353,
1779     354,   355,   356,   358,   357,   359,   364,   363,   360,   361,
1780     362,   365,     0,     0,     0,   408,     0,   415,     0,     0,
1781       0,     0,   428,     0,     0,     0,     0,     0,     0,     0,
1742         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1743         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1744 +       0,     0,     0,     0,   431,   594,   605,     0,     0,   597,
1745 +       0,     0,     0,   587,   588,   589,   590,   591,   592,   593,
1746 +       0,     0,     0,   267,     0,     0,     0,     0,     0,     0,
1747 +     253,   254,   255,   256,   261,   257,   258,   259,   260,   397,
1748 +       0,   387,     0,   396,     0,   393,   394,   395,     0,   228,
1749 +       0,     0,     0,   238,     0,   236,   237,   239,   240,   106,
1750 +       0,     0,   102,     0,    46,     0,     0,     0,    42,     0,
1751 +       0,     0,   173,     0,     0,     0,   149,     0,     0,   133,
1752 +     134,   135,   136,   139,   140,   138,   137,   141,     0,     0,
1753 +       0,     0,     0,   286,   287,   288,   289,     0,     0,     0,
1754 +       0,     0,     0,     0,     0,   652,    67,     0,     0,     0,
1755         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1756 +       0,     0,     0,    50,     0,     0,   310,     0,     0,   303,
1757 +     304,   305,   306,     0,     0,   332,     0,   327,   328,   329,
1758 +       0,     0,   295,     0,     0,     0,    91,     0,     0,     0,
1759 +       0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
1760 +       0,     0,     0,     0,     0,     0,   611,   212,     0,     0,
1761         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1762 <       0,     0,    35,     0,     0,     0,     0,     0,     0,     0,
1763 <     436,     0,     0,     0,     0,     0,     0,     0,   596,   260,
1764 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   250,
1789 <       0,     0,     0,     0,   398,   239,     0,     0,     0,     0,
1790 <       0,   233,     0,     0,    92,     0,     0,     0,    41,     0,
1791 <       0,     0,   168,     0,     0,     0,   145,     0,     0,   128,
1792 <     129,   130,   131,   134,   135,   133,   132,   136,   288,     0,
1793 <       0,     0,     0,   283,     0,     0,     0,     0,     0,     0,
1794 <       0,   661,     0,     0,     0,     0,     0,     0,     0,     0,
1795 <       0,     0,     0,     0,    49,   305,     0,     0,     0,     0,
1796 <     300,   329,     0,     0,     0,   325,     0,   292,    91,    90,
1797 <      89,   658,   655,   654,   643,   645,    27,    27,    27,    27,
1798 <      27,    29,    28,   649,   650,   653,   651,   656,   657,   659,
1799 <     660,   652,   644,   646,   647,   648,   209,     0,     0,     0,
1762 >       0,     0,   197,   363,     0,     0,     0,     0,     0,     0,
1763 >       0,     0,     0,     0,     0,     0,     0,     0,   348,     0,
1764 >       0,     0,   402,     0,   409,     0,     0,     0,     0,   422,
1765         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1801       0,   194,   366,     0,     0,     0,     0,     0,     0,     0,
1802       0,     0,     0,     0,     0,     0,     0,     0,   350,     0,
1803       0,   407,   420,     0,     0,     0,   422,   505,   509,   525,
1804     537,   536,   592,   542,   503,   533,   539,   504,   495,   496,
1805     512,   501,   502,   515,   500,   514,   513,   508,   507,   506,
1806     534,   494,   532,   590,   591,   529,   526,   571,   587,   588,
1807     572,   573,   574,   575,   582,   576,   585,   589,   578,   583,
1808     579,   584,   577,   581,   580,   586,     0,   570,   531,   548,
1809     564,   565,   549,   550,   551,   552,   559,   553,   562,   566,
1810     555,   560,   556,   561,   554,   558,   557,   563,     0,   547,
1811     524,   527,   541,   498,   535,   499,   528,   517,   522,   523,
1812     520,   521,   518,   519,   511,   510,    35,    35,    35,    37,
1813      36,   593,   540,   543,   530,   538,   497,   516,     0,     0,
1814       0,     0,     0,     0,   595,     0,     0,     0,     0,     0,
1815       0,     0,     0,   249,     0,     0,     0,   392,     0,     0,
1816       0,   244,   240,   243,   225,   100,    99,     0,     0,   112,
1817       0,     0,   104,   105,   107,   106,    47,    48,   137,     0,
1818       0,     0,     0,     0,     0,     0,     0,     0,   127,     0,
1819       0,     0,   282,   677,   672,   676,   674,   678,   673,   675,
1820      75,    81,    73,    77,    76,    72,    71,    69,    70,     0,
1821      68,    74,    80,    78,    79,     0,     0,     0,   299,     0,
1822       0,   324,   297,    30,    31,    32,    33,    34,     0,     0,
1766         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1767 <       0,   191,     0,     0,     0,     0,     0,     0,     0,     0,
1768 <       0,     0,     0,     0,     0,     0,     0,   347,   413,   414,
1769 <     434,   435,   427,     0,   426,   568,     0,   545,     0,    38,
1770 <      39,    40,   620,   619,     0,   618,   606,   605,   612,   611,
1771 <       0,   610,   614,   613,   263,   264,   273,   270,   275,   272,
1772 <     271,   277,   274,   276,   269,     0,   268,   262,   280,   279,
1773 <     278,   261,   405,   397,     0,   396,   404,   231,   232,   230,
1774 <       0,   229,   247,   246,     0,     0,     0,   108,     0,     0,
1775 <       0,     0,   103,     0,     0,     0,     0,     0,     0,     0,
1776 <       0,   124,   290,   291,   289,    66,     0,   306,   312,   318,
1777 <     322,   321,   320,   317,   313,   316,   319,   314,   315,     0,
1778 <     311,   307,   330,   335,   341,   345,   344,   343,   340,   336,
1779 <     339,   342,   337,   338,     0,   334,   221,   222,   215,   217,
1780 <     219,   218,   216,   210,   223,   214,   212,   213,   220,   372,
1781 <     374,   375,   390,   389,   386,   382,   383,   380,   381,   384,
1782 <       0,   379,   369,   387,   388,   367,   373,   385,   371,   370,
1783 <     424,     0,   569,   546,   616,     0,   608,     0,   266,     0,
1784 <     394,     0,   227,     0,   245,   242,   241,     0,     0,     0,
1785 <       0,   102,   144,   142,   181,   178,   177,   172,   182,   187,
1786 <     174,   189,   183,   186,   180,   173,   188,   184,   185,   179,
1787 <     175,   176,     0,   171,   138,   141,   143,   149,   165,   166,
1788 <     150,   151,   152,   153,   160,   154,   163,   167,   156,   161,
1789 <     157,   162,   155,   159,   158,   164,     0,   148,   140,    67,
1790 <     309,     0,   332,     0,   377,     0,   425,   617,   609,   267,
1791 <     395,   228,   109,   118,   121,   120,   117,   122,   119,   116,
1792 <       0,   115,   111,   110,   169,     0,   146,     0,   310,   333,
1793 <     378,   113,     0,   170,   147,   114
1767 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1768 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1769 >       0,     0,     0,     0,     0,     0,    35,     0,     0,     0,
1770 >       0,     0,     0,     0,   430,     0,     0,     0,     0,     0,
1771 >       0,     0,   586,   262,     0,     0,     0,     0,     0,     0,
1772 >       0,     0,     0,   252,     0,     0,     0,     0,   392,   241,
1773 >       0,     0,     0,     0,     0,   235,     0,   101,     0,     0,
1774 >       0,    41,   142,     0,     0,     0,     0,     0,     0,     0,
1775 >       0,     0,   132,   290,     0,     0,     0,     0,   285,     0,
1776 >       0,     0,     0,     0,     0,     0,   651,     0,     0,     0,
1777 >       0,     0,     0,     0,     0,    72,    73,     0,    71,    76,
1778 >      77,     0,    75,     0,     0,     0,     0,     0,    49,   307,
1779 >       0,     0,     0,     0,   302,   330,     0,     0,     0,   326,
1780 >       0,   294,   100,    99,    98,   648,   645,   644,   633,   635,
1781 >      27,    27,    27,    27,    27,    29,    28,   639,   640,   643,
1782 >     641,   646,   647,   649,   650,   642,   634,   636,   637,   638,
1783 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1784 >       0,     0,     0,   196,     0,     0,     0,     0,     0,     0,
1785 >       0,     0,     0,     0,     0,     0,     0,     0,   347,     0,
1786 >       0,   401,   414,     0,     0,     0,   416,   496,   500,   516,
1787 >     582,   530,   494,   524,   527,   495,   486,   487,   503,   492,
1788 >     493,   506,   491,   505,   504,   499,   498,   497,   525,   485,
1789 >     523,   580,   581,   520,   517,   567,   560,   577,   578,   561,
1790 >     562,   563,   564,   572,   565,   575,   579,   568,   573,   569,
1791 >     574,   566,   571,   570,   576,     0,   559,   522,   542,   536,
1792 >     553,   554,   537,   538,   539,   540,   548,   541,   551,   555,
1793 >     544,   549,   545,   550,   543,   547,   546,   552,     0,   535,
1794 >     515,   518,   529,   489,   490,   519,   508,   513,   514,   511,
1795 >     512,   509,   510,   502,   501,    35,    35,    35,    37,    36,
1796 >     583,   528,   531,   521,   526,   488,   507,     0,     0,     0,
1797 >       0,     0,     0,   585,     0,     0,     0,     0,     0,     0,
1798 >       0,     0,   251,     0,     0,     0,   386,     0,     0,     0,
1799 >     246,   242,   245,   227,   107,     0,     0,   119,     0,     0,
1800 >     111,   112,   114,   113,    47,    48,     0,     0,     0,     0,
1801 >       0,     0,     0,     0,   131,     0,     0,     0,   284,   667,
1802 >     662,   666,   664,   668,   663,   665,    84,    90,    82,    86,
1803 >      85,    79,    78,    80,    68,     0,    69,     0,    83,    81,
1804 >      89,    87,    88,     0,     0,     0,   301,     0,     0,   325,
1805 >     299,    30,    31,    32,    33,    34,   223,   224,   217,   219,
1806 >     221,   220,   218,   213,   225,   216,   214,   215,   222,   368,
1807 >     370,   371,   383,   380,   376,   377,   379,   378,     0,   375,
1808 >     365,   381,   382,   364,   369,   367,   384,   366,   407,   408,
1809 >     428,   429,   421,     0,   420,   557,     0,   533,     0,    38,
1810 >      39,    40,   610,   609,     0,   608,   596,   595,   602,   601,
1811 >       0,   600,   604,   603,   265,   266,   275,   272,   277,   274,
1812 >     273,   279,   276,   278,   271,     0,   270,   264,   282,   281,
1813 >     280,   263,   399,   391,     0,   390,   398,   233,   234,   232,
1814 >       0,   231,   249,   248,     0,     0,     0,   115,     0,     0,
1815 >       0,     0,   110,   148,   146,   188,   185,   184,   177,   179,
1816 >     194,   189,   192,   187,   178,   193,   181,   190,   182,   191,
1817 >     186,   180,   183,     0,   176,   143,   145,   147,   159,   153,
1818 >     170,   171,   154,   155,   156,   157,   165,   158,   168,   172,
1819 >     161,   166,   162,   167,   160,   164,   163,   169,     0,   152,
1820 >     144,   292,   293,   291,    70,    74,   308,   314,   320,   323,
1821 >     316,   322,   317,   321,   319,   315,   318,     0,   313,   309,
1822 >     331,   336,   342,   345,   338,   344,   339,   343,   341,   337,
1823 >     340,     0,   335,   373,     0,   418,     0,   558,   534,   606,
1824 >       0,   598,     0,   268,     0,   388,     0,   229,     0,   247,
1825 >     244,   243,     0,     0,     0,     0,   109,   174,     0,   150,
1826 >       0,   311,     0,   333,     0,   374,   419,   607,   599,   269,
1827 >     389,   230,   116,   125,   128,   127,   124,   129,   126,   123,
1828 >       0,   122,   118,   117,   175,   151,   312,   334,   120,     0,
1829 >     121
1830   };
1831  
1832   /* YYDEFGOTO[NTERM-NUM].  */
1833   static const yytype_int16 yydefgoto[] =
1834   {
1835 <      -1,     1,    25,   801,   802,   949,   950,    26,   258,   259,
1836 <     260,   261,    27,   296,   297,   298,   512,  1029,  1030,   299,
1837 <     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
1838 <      28,    74,    75,    76,    77,    78,    29,   249,   250,   251,
1839 <     252,   253,   254,   991,   992,   993,   994,   995,  1139,  1310,
1840 <    1311,    30,    63,   263,   738,   739,   740,   264,   741,   742,
1841 <     743,   744,   745,   746,  1005,  1286,  1287,   747,  1001,  1262,
1842 <    1263,    31,    51,   119,   576,   577,   578,   120,   579,   580,
1843 <     581,   582,   583,   584,   585,   586,   587,   588,   589,   590,
1844 <      32,    60,   468,   716,  1130,  1131,   469,   470,   471,  1136,
1845 <     982,   983,   472,   473,    33,    58,   444,   445,   446,   447,
1846 <     448,   449,   450,   702,  1115,  1116,   451,   452,   453,    34,
1847 <      64,   490,   491,   492,   493,   494,    35,   314,   315,   316,
1848 <      36,    67,   523,   524,   525,   526,   527,   777,  1169,  1170,
1849 <      37,    68,   531,   532,   533,   534,   783,  1184,  1185,    38,
1850 <      52,   122,   606,   607,   608,   123,   609,   610,   611,   612,
1851 <     613,   614,   615,   838,  1210,  1211,   616,   617,   618,   619,
1852 <     620,   621,    39,    59,   458,   711,  1124,  1125,   459,   460,
1853 <     461,   462,    40,    53,   348,   349,   350,   351,    41,   127,
1854 <     128,   129,    42,    55,   359,   630,  1083,  1084,   360,   361,
1855 <     362,   363,    43,   186,   187,   188,   189,   190,   191,   192,
1856 <     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1857 <     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1858 <     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1859 <     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1860 <     233,   234,   235,   236,   396,   928,   929,   237,   394,   906,
1861 <     907,   238,   239,   240,   241,    44,    57,   427,   428,   429,
1862 <     430,   431,   694,  1100,  1101,   432,   433,   434,   691,  1094,
1863 <    1095,    45,    98,    99,   100,   101,   102,   103,   104,   105,
1864 <     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1865 <     116,   117,    46,   274,   275,   276,   277,   278,   279,   280,
1887 <     281,   282
1835 >      -1,     1,    25,   835,   836,   978,   979,    26,   246,   247,
1836 >     248,   249,    27,   285,   286,   287,   288,   797,   798,   801,
1837 >     802,   289,   290,   291,   292,   293,   294,   295,   296,   297,
1838 >     298,   299,   300,   301,    28,    74,    75,    76,    77,    78,
1839 >      29,   238,   239,   240,   241,   242,  1019,  1020,  1021,  1022,
1840 >    1023,  1169,  1300,  1301,    30,    63,   538,   539,   540,   541,
1841 >     542,   543,   544,   545,   546,   769,  1218,  1219,   547,   765,
1842 >    1193,  1194,    31,    51,   349,   350,   351,   352,   353,   354,
1843 >     355,   356,   357,   358,   359,   360,   361,   362,   363,    32,
1844 >      60,   513,   750,  1160,  1161,   514,   515,   516,  1166,  1011,
1845 >    1012,   517,   518,    33,    58,   489,   490,   491,   492,   493,
1846 >     494,   495,   736,  1145,  1146,   496,   497,   498,    34,    64,
1847 >     552,   553,   554,   555,   556,    35,   306,   307,   308,    36,
1848 >      67,   588,   589,   590,   591,   592,   811,  1237,  1238,    37,
1849 >      68,   596,   597,   598,   599,   817,  1251,  1252,    38,    52,
1850 >     378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
1851 >     648,  1098,  1099,   388,   389,   390,   391,   392,    39,    59,
1852 >     503,   745,  1154,  1155,   504,   505,   506,   507,    40,    53,
1853 >     396,   397,   398,   399,    41,   123,   124,   125,    42,    55,
1854 >     407,   667,  1113,  1114,   408,   409,   410,   411,    43,   179,
1855 >     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1856 >     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1857 >     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1858 >     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1859 >     220,   221,   222,   223,   224,   225,   226,   442,   958,   959,
1860 >     227,   440,   935,   936,   228,   229,   230,   231,    44,    57,
1861 >     472,   473,   474,   475,   476,   728,  1130,  1131,   477,   478,
1862 >     479,   725,  1124,  1125,    45,    98,    99,   100,   101,   102,
1863 >     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1864 >     113,   114,   115,   116,   117,    46,   260,   261,   262,   263,
1865 >     264,   265,   266,   267,   268
1866   };
1867  
1868   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1869     STATE-NUM.  */
1870 < #define YYPACT_NINF -920
1870 > #define YYPACT_NINF -560
1871   static const yytype_int16 yypact[] =
1872   {
1873 <    -920,   681,  -920,  -169,  -242,  -239,  -920,  -920,  -920,  -237,
1874 <    -920,  -229,  -920,  -920,  -920,  -920,  -218,  -207,  -920,  -920,
1875 <    -190,  -188,  -920,  -920,  -185,  -920,  -920,  -920,  -920,  -920,
1876 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1877 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,   339,
1878 <     604,   -72,   -53,  -158,    25,  -156,   393,  -149,  -122,  -116,
1879 <    -108,    66,    31,    10,   -95,   351,   353,   -86,   -81,    16,
1880 <     -76,   -77,   -63,   -55,    15,  -920,  -920,  -920,  -920,  -920,
1881 <     -49,   -40,   -17,    -8,    -6,    -3,    18,    52,    63,    70,
1882 <      76,    89,   101,   107,   125,   143,   144,   148,   111,  -920,
1883 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1884 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,    34,
1885 <    -920,  -920,    37,  -920,   219,  -920,   149,    33,  -920,  -920,
1886 <     211,  -920,   150,   151,   157,   158,   160,   162,   164,   165,
1887 <     166,   167,   181,   183,   193,   194,   196,   198,   199,   200,
1888 <     202,   215,   217,   223,   226,   229,   230,   232,   233,   236,
1889 <     237,   238,  -920,   239,  -920,   240,   249,   250,   253,   258,
1890 <     260,   261,   262,   263,   264,   270,   273,   276,   279,   281,
1891 <     286,   287,   288,   290,   291,   293,     4,  -920,  -920,  -920,
1892 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1893 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1894 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1895 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1896 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1897 <    -920,  -920,   436,   409,   141,   377,    12,   295,   305,    32,
1898 <    -920,  -920,  -920,  -920,    65,   120,   306,   307,    13,  -920,
1899 <    -920,  -920,  -920,   142,  -920,    96,  -920,   308,   310,   312,
1900 <     314,   316,   318,   319,    90,  -920,  -920,  -920,  -920,  -920,
1901 <    -920,  -920,  -920,   159,   320,   326,   328,   332,   333,   336,
1902 <     337,  -920,   341,   342,   346,   348,   156,  -920,  -920,  -920,
1903 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1904 <       3,    61,  -920,   349,     2,  -920,  -920,  -920,   114,   330,
1905 <     450,   182,  -920,   292,   482,   483,   420,   422,   489,   489,
1906 <     490,   492,   428,   429,   495,   489,   431,   432,   437,   439,
1907 <     440,   378,  -920,   655,   528,  -920,   374,   376,    88,  -920,
1908 <    -920,  -920,   491,   381,  -920,  -920,   379,   384,  -920,  -920,
1909 <      47,  -920,  -920,  -920,   448,   489,   489,   517,   502,   525,
1910 <     462,   465,   531,   511,   468,   534,   535,   537,   473,   475,
1911 <     476,   489,   521,   478,   544,   545,   489,   546,   547,   529,
1912 <     549,   552,   488,   493,   423,   494,   434,   489,   489,   498,
1913 <     489,   550,   503,   505,   509,    35,   140,   512,   513,   489,
1914 <     489,   576,   560,   489,   518,   519,   522,   523,   453,  -920,
1915 <    -920,  -920,   454,   458,  -920,   459,   461,     6,  -920,  -920,
1916 <    -920,  -920,  -920,  -920,  -920,   466,   470,   471,  -920,   474,
1917 <     477,   479,   481,   496,    73,  -920,  -920,  -920,  -920,  -920,
1918 <    -920,  -920,  -920,  -920,  -920,   506,  -920,   507,  -920,    23,
1919 <    -920,  -920,  -920,   469,  -920,   508,   510,   514,  -920,    42,
1920 <    -920,  -920,  -920,  -920,  -920,   532,   540,   501,  -920,   463,
1921 <    -920,   586,   587,   515,  -920,   301,   520,   516,   524,   536,
1922 <      36,  -920,  -920,  -920,  -920,   555,   557,   558,   589,   559,
1923 <     582,   489,   526,  -920,  -920,   638,   595,   640,   642,   643,
1924 <     646,   648,   543,   651,   625,   659,   660,   553,  -920,   554,
1925 <     556,  -920,   561,    44,  -920,  -920,  -920,  -920,   563,   562,
1926 <    -920,   115,  -920,  -920,  -920,   663,   566,  -920,   567,   568,
1927 <     569,  -920,   570,   573,   575,   578,   579,   387,   580,   581,
1928 <     583,   584,   585,   588,   596,   597,   598,   599,   602,   607,
1929 <     608,  -920,   609,   610,   615,   616,   617,   619,   620,   621,
1930 <     622,   623,   635,   636,   641,   647,   179,  -920,  -920,  -920,
1931 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1932 <    -920,   611,   652,   656,   657,   664,   668,  -920,   672,   673,
1933 <     675,   679,   683,   684,   688,   689,   220,  -920,  -920,  -920,
1934 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1935 <    -920,  -920,   666,   669,   612,  -920,   628,  -920,   690,   694,
1936 <     696,   654,  -920,   658,   702,   703,   707,   708,   710,   714,
1937 <     718,   721,   722,   723,   724,   726,   727,   728,   729,   730,
1938 <     731,   732,   733,   734,   735,   736,   737,   738,   739,   740,
1939 <     741,   742,   743,   687,   744,   719,   745,   746,   747,   748,
1940 <     749,   750,   752,   753,   754,   755,   756,   757,   758,   760,
1941 <     761,   762,   354,   763,   764,   765,   766,   767,   768,   769,
1942 <    -920,   716,   489,   653,   770,   695,   798,   771,  -920,  -920,
1943 <     859,   674,   772,   867,   685,   878,   880,   882,   776,  -920,
1944 <     885,   775,   887,   780,  -920,  -920,   778,   890,   891,   705,
1945 <     784,  -920,   785,   786,  -920,    99,   787,   788,  -920,   789,
1946 <     790,   791,  -920,   792,   793,   794,  -920,   795,   209,  -920,
1947 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,   898,
1948 <     899,   900,   799,  -920,   800,   801,   802,   803,   804,   805,
1949 <     806,  -920,   807,   808,   809,   810,   811,   812,   813,   225,
1950 <     814,   815,   816,   817,  -920,  -920,   926,   818,   927,   820,
1951 <    -920,  -920,   930,   821,   823,  -920,   825,  -920,  -920,  -920,
1952 <    -920,  -920,  -920,  -920,  -920,  -920,   489,   489,   489,   489,
1953 <     489,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1954 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,   955,   956,   489,
1955 <     957,   958,   959,   960,   940,   962,   963,   489,   489,   576,
1956 <     835,  -920,  -920,   944,   185,   945,   946,   699,   836,   948,
1957 <     949,   950,   951,   973,   953,   954,   961,   847,  -920,   848,
1958 <     849,  -920,  -920,   850,   851,   964,  -920,  -920,  -920,  -920,
1959 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1960 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1961 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1962 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1963 <    -920,  -920,  -920,  -920,  -920,  -920,  -225,  -920,  -920,  -920,
1964 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1965 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -206,  -920,
1966 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1967 <    -920,  -920,  -920,  -920,  -920,  -920,   576,   576,   576,  -920,
1968 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,     7,   852,
1969 <     854,     9,   855,   856,  -920,   857,   858,   759,   860,   862,
1970 <     863,   864,   865,  -920,   866,   970,   868,  -920,   -44,   869,
1971 <     870,   918,   639,  -920,  -920,  -920,  -920,   871,   872,  -920,
1972 <     873,    92,  -920,  -920,  -920,  -920,  -920,  -920,  -920,   980,
1973 <     937,   874,   982,   986,   987,   877,   989,   883,  -920,   884,
1974 <     886,   888,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1975 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -194,
1976 <    -920,  -920,  -920,  -920,  -920,   889,   565,   892,  -920,   893,
1977 <     632,  -920,  -920,  -920,  -920,  -920,  -920,  -920,   894,   895,
1978 <     896,   897,   901,   902,   903,   904,   905,   906,   907,   908,
1979 <     909,  -920,   910,   911,   912,   913,   914,   915,   129,   916,
1980 <     917,   919,   920,   921,   922,   923,   924,  -920,  -920,  -920,
1981 <    -920,  -920,  -920,  -178,  -920,  -920,   687,  -920,   719,  -920,
1982 <    -920,  -920,  -920,  -920,  -171,  -920,  -920,  -920,  -920,  -920,
1983 <    -113,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1984 <    -920,  -920,  -920,  -920,  -920,    38,  -920,  -920,  -920,  -920,
1985 <    -920,  -920,  -920,  -920,    46,  -920,  -920,  -920,  -920,  -920,
1986 <      54,  -920,  -920,  -920,  1011,   705,   925,  -920,   993,   928,
1987 <    -102,   929,  -920,   932,   933,   527,   934,   935,   936,   751,
1988 <     938,  -920,  -920,  -920,  -920,  -920,   225,  -920,  -920,  -920,
1989 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,    71,
1990 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1991 <    -920,  -920,  -920,  -920,    98,  -920,  -920,  -920,  -920,  -920,
1992 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1993 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1994 <     117,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1995 <    -920,   964,  -920,  -920,  -920,     7,  -920,     9,  -920,   759,
1996 <    -920,   970,  -920,   -44,  -920,  -920,  -920,   939,   132,   941,
1997 <     942,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1998 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
1999 <    -920,  -920,   126,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
2000 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
2001 <    -920,  -920,  -920,  -920,  -920,  -920,   131,  -920,  -920,  -920,
2002 <    -920,   565,  -920,   632,  -920,   129,  -920,  -920,  -920,  -920,
2003 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
2004 <     136,  -920,  -920,  -920,  -920,   527,  -920,   751,  -920,  -920,
2027 <    -920,  -920,   132,  -920,  -920,  -920
1873 >    -560,   667,  -560,  -206,  -223,  -221,  -560,  -560,  -560,  -218,
1874 >    -560,  -191,  -560,  -560,  -560,  -560,  -189,  -183,  -560,  -560,
1875 >    -154,  -136,  -560,  -560,  -133,  -560,  -560,  -560,  -560,  -560,
1876 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1877 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,    42,
1878 >     544,  -115,  -109,   -80,    32,   -72,   375,   -70,   -53,   -51,
1879 >     -33,    60,    87,   -20,   -18,   324,   334,    -5,    -3,    20,
1880 >     -89,    17,    35,    51,     9,  -560,  -560,  -560,  -560,  -560,
1881 >      61,    63,    73,    79,    96,   111,   117,   125,   131,   136,
1882 >     137,   152,   154,   156,   159,   162,   170,   175,   180,  -560,
1883 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1884 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   709,   461,
1885 >      98,  -560,   195,    10,  -560,  -560,   266,  -560,   198,   199,
1886 >     202,   203,   206,   213,   214,   216,   217,   219,   229,   230,
1887 >     231,   232,   242,   243,   246,   250,   253,   256,   257,   259,
1888 >     261,   263,   265,   268,   275,   276,  -560,   277,  -560,   281,
1889 >     282,   284,   287,   291,   293,   295,   296,   299,   300,   307,
1890 >     314,   315,   316,   318,   319,   321,   322,   323,   327,   110,
1891 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1892 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1893 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1894 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1895 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1896 >    -560,  -560,     2,   509,    16,   326,    57,   330,    36,  -560,
1897 >    -560,  -560,     7,    77,   331,   332,    28,  -560,  -560,  -560,
1898 >     279,   211,  -560,   335,   338,   339,   341,   342,   343,   344,
1899 >       3,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   200,
1900 >     345,   346,   348,   349,   352,   355,   356,   357,   358,   360,
1901 >     362,   363,   365,   366,   367,    74,  -560,  -560,  -560,  -560,
1902 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1903 >    -560,  -560,   197,     6,  -560,   368,    46,  -560,  -560,  -560,
1904 >     140,   173,   392,   329,  -560,   438,   328,   505,   441,   445,
1905 >     514,   514,   515,   516,   451,   452,   521,   514,   456,   457,
1906 >     459,   460,   462,   396,  -560,   398,   397,   401,   402,   403,
1907 >     404,   408,   409,   410,   411,   412,   413,   415,   416,     4,
1908 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1909 >    -560,  -560,  -560,  -560,   399,   417,   418,   419,   420,  -560,
1910 >     425,   426,   429,   430,   431,   433,   435,   436,   290,  -560,
1911 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1912 >    -560,  -560,  -560,  -560,   439,   440,    11,  -560,  -560,  -560,
1913 >     511,   446,  -560,  -560,   442,   449,  -560,  -560,    12,  -560,
1914 >    -560,  -560,   522,   514,   514,   590,   525,   526,   593,   573,
1915 >     532,   597,   599,   601,   546,   550,   551,   514,   598,   552,
1916 >     624,   627,   514,   628,   630,   610,   636,   637,   572,   575,
1917 >     508,   577,   510,   514,   514,   579,   514,   580,   583,   584,
1918 >    -105,   -99,   585,   586,   514,   514,   653,   633,   514,   589,
1919 >     592,   594,   595,   528,  -560,  -560,  -560,   533,   534,  -560,
1920 >     535,   536,    14,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1921 >     540,   539,   541,  -560,   543,   545,   547,   548,   549,    33,
1922 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1923 >     555,  -560,   556,  -560,    22,  -560,  -560,  -560,   553,  -560,
1924 >     558,   559,   560,  -560,     8,  -560,  -560,  -560,  -560,  -560,
1925 >     596,   554,  -560,   212,  -560,   645,   657,   564,  -560,   565,
1926 >     563,   566,  -560,   567,   568,   569,  -560,   570,    15,  -560,
1927 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   574,   576,
1928 >     581,   582,    27,  -560,  -560,  -560,  -560,   608,   614,   632,
1929 >     685,   641,   643,   514,   588,  -560,  -560,   692,   648,   699,
1930 >     702,   703,   704,   705,   708,   -63,   -49,   710,   711,   730,
1931 >     712,   713,   604,  -560,   611,   607,  -560,   612,    97,  -560,
1932 >    -560,  -560,  -560,   619,   617,  -560,    30,  -560,  -560,  -560,
1933 >     724,   622,  -560,   631,   634,   635,  -560,   654,   656,   660,
1934 >     664,   665,   272,   676,   677,   681,   684,   693,   695,   696,
1935 >     698,   701,   706,   707,   714,   715,  -560,  -560,   761,   764,
1936 >     514,   767,   768,   776,   779,   763,   823,   828,   514,   514,
1937 >     653,   716,  -560,  -560,   809,   -75,   812,   770,   700,   818,
1938 >     819,   820,   821,   843,   827,   829,   830,   718,  -560,   831,
1939 >     832,   723,  -560,   726,  -560,   834,   835,   728,   727,  -560,
1940 >     729,   732,   733,   734,   735,   736,   737,   739,   740,   741,
1941 >     742,   743,   744,   745,   746,   747,   748,   749,   750,   751,
1942 >     752,   753,   754,   755,   756,   757,   758,   759,   663,   760,
1943 >     697,   762,   765,   766,   769,   771,   772,   773,   774,   775,
1944 >     777,   778,   780,   782,   783,   784,    54,   785,   786,   787,
1945 >     788,   789,   790,   791,  -560,   792,   514,   793,   794,   871,
1946 >     873,   796,  -560,  -560,   874,   833,   795,   877,   844,   880,
1947 >     886,   889,   800,  -560,   902,   798,   903,   802,  -560,  -560,
1948 >     801,   904,   913,   936,   806,  -560,   807,  -560,   194,   808,
1949 >     810,  -560,  -560,   919,   876,   811,   922,   923,   925,   813,
1950 >     927,   822,  -560,  -560,   928,   929,   930,   824,  -560,   825,
1951 >     826,   836,   837,   838,   839,   840,  -560,   841,   842,   845,
1952 >     846,   847,   848,   849,   850,  -560,  -560,  -199,  -560,  -560,
1953 >    -560,  -196,  -560,   851,   852,   853,   854,   855,  -560,  -560,
1954 >     931,   856,   933,   857,  -560,  -560,   937,   858,   860,  -560,
1955 >     862,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1956 >     514,   514,   514,   514,   514,  -560,  -560,  -560,  -560,  -560,
1957 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1958 >     863,   864,   865,   866,   867,   868,   869,   872,   875,   878,
1959 >     879,   881,   882,  -560,   883,   884,   885,   887,   888,   141,
1960 >     890,   891,   892,   893,   894,   895,   896,   897,  -560,   898,
1961 >     899,  -560,  -560,   900,   901,   934,  -560,  -560,  -560,  -560,
1962 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1963 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1964 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1965 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1966 >    -560,  -560,  -560,  -560,  -560,  -182,  -560,  -560,  -560,  -560,
1967 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1968 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   -30,  -560,
1969 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1970 >    -560,  -560,  -560,  -560,  -560,   653,   653,   653,  -560,  -560,
1971 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,    13,   905,   906,
1972 >      21,   907,   908,  -560,   909,   910,   870,   911,   912,   914,
1973 >     915,   916,  -560,   917,   935,   918,  -560,   -47,   920,   921,
1974 >     940,   924,  -560,  -560,  -560,   926,   932,  -560,   938,    89,
1975 >    -560,  -560,  -560,  -560,  -560,  -560,   939,   942,   479,   943,
1976 >     944,   945,   725,   946,  -560,   947,   948,   949,  -560,  -560,
1977 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1978 >    -560,  -560,  -560,  -560,  -560,   -63,  -560,   -49,  -560,  -560,
1979 >    -560,  -560,  -560,   950,   507,   951,  -560,   952,   531,  -560,
1980 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1981 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1982 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,    -6,  -560,
1983 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1984 >    -560,  -560,  -560,    65,  -560,  -560,   663,  -560,   697,  -560,
1985 >    -560,  -560,  -560,  -560,   100,  -560,  -560,  -560,  -560,  -560,
1986 >     101,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1987 >    -560,  -560,  -560,  -560,  -560,   106,  -560,  -560,  -560,  -560,
1988 >    -560,  -560,  -560,  -560,   109,  -560,  -560,  -560,  -560,  -560,
1989 >     112,  -560,  -560,  -560,   959,   936,   953,  -560,   941,   954,
1990 >     -91,   955,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1991 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1992 >    -560,  -560,  -560,   123,  -560,  -560,  -560,  -560,  -560,  -560,
1993 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1994 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   126,  -560,
1995 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1996 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,   133,  -560,  -560,
1997 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1998 >    -560,   148,  -560,  -560,   141,  -560,   934,  -560,  -560,  -560,
1999 >      13,  -560,    21,  -560,   870,  -560,   935,  -560,   -47,  -560,
2000 >    -560,  -560,   956,   262,   958,   960,  -560,  -560,   479,  -560,
2001 >     725,  -560,   507,  -560,   531,  -560,  -560,  -560,  -560,  -560,
2002 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2003 >     150,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   262,
2004 >    -560
2005   };
2006  
2007   /* YYPGOTO[NTERM-NUM].  */
2008   static const yytype_int16 yypgoto[] =
2009   {
2010 <    -920,  -920,  -920,  -466,  -327,  -919,  -411,  -920,  -920,   634,
2011 <    -920,  -920,  -920,  -920,   837,  -920,  -920,  -920,   -20,  -920,
2012 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
2013 <    -920,  -920,  1063,  -920,  -920,  -920,  -920,  -920,   943,  -920,
2014 <    -920,  -920,  -920,  -920,   153,  -920,  -920,  -920,  -920,  -920,
2015 <    -177,  -920,  -920,  -920,  -920,   408,  -920,  -920,  -920,  -920,
2016 <    -920,  -920,  -920,  -920,  -920,  -920,  -153,  -920,  -920,  -920,
2017 <    -143,  -920,  -920,  -920,  -920,   600,  -920,  -920,  -920,  -920,
2018 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
2019 <    -920,  -920,  -920,  -920,  -920,   -60,  -920,   717,  -920,  -920,
2020 <    -920,    39,  -920,  -920,  -920,  -920,  -920,   773,  -920,  -920,
2021 <    -920,  -920,  -920,  -920,  -920,   -46,  -920,  -920,  -920,  -920,
2022 <    -920,  -920,   700,  -920,  -920,  -920,  -920,  -920,   875,  -920,
2023 <    -920,  -920,  -920,   670,  -920,  -920,  -920,  -920,  -920,  -100,
2024 <    -920,  -920,  -920,   665,  -920,  -920,  -920,  -920,   -99,  -920,
2025 <    -920,  -920,  -920,   591,  -920,  -920,  -920,  -920,  -920,  -920,
2026 <    -920,  -920,  -920,  -920,  -920,   -97,  -920,  -920,  -920,  -920,
2027 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,   -36,  -920,   774,
2028 <    -920,  -920,  -920,  -920,  -920,   853,  -920,  -920,  -920,  -920,
2029 <    1072,  -920,  -920,  -920,  -920,  -920,  -920,   -21,  -920,   842,
2030 <    -920,  -920,  -920,  -920,  1017,  -920,  -920,  -920,  -920,  -920,
2031 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
2032 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
2033 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
2034 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
2035 <    -920,  -920,  -920,  -920,  -920,  -920,   116,  -920,  -920,  -920,
2036 <     119,  -920,  -920,  -920,  -920,  -920,  -920,  -920,   779,  -920,
2037 <    -920,  -920,  -920,  -920,   -19,  -920,  -920,  -920,  -920,  -920,
2038 <     -18,  -920,  -920,  1111,  -920,  -920,  -920,  -920,  -920,  -920,
2039 <    -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,  -920,
2040 <    -920,  -920,  -920,  -920,   947,  -920,  -920,  -920,  -920,  -920,
2064 <    -920,  -920
2010 >    -560,  -560,  -560,  -316,  -319,  -559,  -456,  -560,  -560,   957,
2011 >    -560,  -560,  -560,  -560,   799,  -560,  -560,  -560,    18,  -560,
2012 >      19,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2013 >    -560,  -560,  -560,  -560,  -560,  -560,  1000,  -560,  -560,  -560,
2014 >    -560,  -560,   859,  -560,  -560,  -560,  -560,    56,  -560,  -560,
2015 >    -560,  -560,  -560,  -224,  -560,  -560,  -560,   561,  -560,  -560,
2016 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -169,  -560,  -560,
2017 >    -560,  -166,  -560,  -560,  -560,   781,  -560,  -560,  -560,  -560,
2018 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2019 >    -560,  -560,  -560,  -560,  -153,  -560,   600,  -560,  -560,  -560,
2020 >     -48,  -560,  -560,  -560,  -560,  -560,   629,  -560,  -560,  -560,
2021 >    -560,  -560,  -560,  -560,  -137,  -560,  -560,  -560,  -560,  -560,
2022 >    -560,   591,  -560,  -560,  -560,  -560,  -560,   961,  -560,  -560,
2023 >    -560,  -560,   557,  -560,  -560,  -560,  -560,  -560,  -138,  -560,
2024 >    -560,  -560,   578,  -560,  -560,  -560,  -560,  -130,  -560,  -560,
2025 >    -560,   797,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2026 >    -560,  -560,   -94,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2027 >    -560,  -560,  -560,  -103,  -560,   661,  -560,  -560,  -560,  -560,
2028 >    -560,   804,  -560,  -560,  -560,  -560,  1041,  -560,  -560,  -560,
2029 >    -560,  -560,  -560,   -90,  -560,   803,  -560,  -560,  -560,  -560,
2030 >     989,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2031 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2032 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2033 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2034 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,    52,
2035 >    -560,  -560,  -560,    55,  -560,  -560,  -560,  -560,  -560,  -560,
2036 >    -560,   738,  -560,  -560,  -560,  -560,  -560,   -85,  -560,  -560,
2037 >    -560,  -560,  -560,   -88,  -560,  -560,  1075,  -560,  -560,  -560,
2038 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2039 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,   962,  -560,  -560,
2040 >    -560,  -560,  -560,  -560,  -560
2041   };
2042  
2043   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2044     positive, shift that token.  If negative, reduce the rule which
2045     number is the opposite.  If YYTABLE_NINF, syntax error.  */
2046 < #define YYTABLE_NINF -102
2046 > #define YYTABLE_NINF -109
2047   static const yytype_int16 yytable[] =
2048   {
2049 <     683,   548,   549,   312,   519,   131,    49,   420,   555,    50,
2050 <     421,    54,   132,   133,   255,   682,    70,   312,  1092,    56,
2051 <    1098,  1085,  1127,   134,   454,  1086,   125,  1089,  1090,  1091,
2052 <      61,   135,   255,   246,   125,   136,   137,   486,   634,   635,
2053 <    1087,    62,   138,   463,  1088,   519,   139,   140,   355,   141,
2054 <     422,    71,  1155,   423,   650,   142,  1156,   487,    65,   655,
2055 <      66,    72,   528,    69,   143,   144,   118,   246,  1220,   145,
2056 <     666,   667,  1221,   669,   435,  1224,   146,    47,    48,  1225,
2057 <     147,   148,   680,   681,   149,   121,   685,   150,   151,   345,
2058 <     124,   266,   130,   987,   464,   152,   424,   486,   436,   242,
2059 <     987,   153,   154,   126,   155,   156,   157,   158,   159,   313,
2060 <     520,   126,    79,   425,  1239,   465,   528,   487,   256,   160,
2061 <     466,   437,    73,   313,    80,   438,   243,   161,   162,   163,
2062 <     267,   164,   244,  1226,   165,   166,   256,  1227,   167,  1205,
2063 <     245,  1206,   454,   268,    81,    82,   257,   488,   262,   168,
2064 <      83,   520,    84,   265,   356,  1207,   269,   283,   270,  1208,
2065 <     271,   272,   310,   455,   257,  1128,   346,   311,   529,  1129,
2066 <     317,   169,   318,   170,   760,   521,   489,   171,   273,   467,
2067 <     562,   172,   173,   174,   175,   176,   319,   357,  1303,   177,
2068 <     178,  1093,   284,  1099,   320,   456,    85,    86,   179,   988,
2069 <     323,   563,   564,    87,    88,   439,   988,   488,   565,   324,
2070 <     729,  1304,   355,  1305,   440,   441,   521,   674,   675,   358,
2071 <     345,   591,   529,   592,    89,    90,   593,   180,   347,   181,
2072 <     285,   182,   325,   530,   730,   522,   489,   183,   426,    91,
2073 <      92,   326,   184,   327,   594,   595,   328,   185,   442,   536,
2074 <      93,   418,   538,   697,  1306,   457,   247,   731,   474,    94,
2075 <     483,   732,   321,   286,   989,   287,   288,   329,   596,   248,
2076 <     713,   989,   597,   566,   567,   568,   522,  -101,   569,   477,
2077 <     353,   455,   343,   752,  1228,   344,   570,   530,  1229,   720,
2078 <     247,   779,  1230,   598,   631,   599,  1231,   346,   571,   572,
2079 <    1232,   330,   729,   248,  1233,   443,   289,   600,   290,   291,
2080 <     479,  -101,   331,   456,   573,   574,   733,  1290,   356,   332,
2081 <     708,  1291,   676,   677,   292,   333,   730,   601,  1307,  1308,
2082 <    1043,  1044,  1045,  1046,  1047,   624,   990,   502,   334,  1141,
2083 <      70,   734,   575,   990,  1292,    95,    96,    97,  1293,   731,
2084 <     335,   357,   266,   732,   283,  1209,   336,   602,   341,   347,
2085 <     735,   293,   784,  1294,  1309,   959,   480,  1295,   946,   947,
2086 <     948,   603,  1314,   457,   337,    71,  1315,  1316,   463,  1027,
2087 <    1028,  1317,  1321,   358,   604,    72,  1322,  1063,  1064,   284,
2088 <     485,   267,   338,   339,   131,   294,   295,   340,   352,   364,
2089 <     365,   132,   133,   517,   268,   504,   366,   367,   733,   368,
2090 <     435,   369,   134,   370,   371,   372,   373,   269,  1060,   270,
2091 <     135,   271,   272,   736,   136,   137,   830,   285,   541,   464,
2092 <     374,   138,   375,   734,   436,   139,   140,   420,   141,   273,
2093 <     421,   737,   376,   377,   142,   378,    73,   379,   380,   381,
2094 <     465,   382,   735,   143,   144,   466,  1007,   437,   145,   605,
2095 <     286,   438,   287,   288,   383,   146,   384,   847,   539,   147,
2096 <     148,   682,   385,   149,   542,   386,   150,   151,   387,   388,
2097 <     422,   389,   390,   423,   152,   391,   392,   393,   395,   397,
2098 <     153,   154,  1050,   155,   156,   157,   158,   159,   398,   399,
2099 <    1058,  1059,   400,   289,   547,   290,   291,   401,   160,   402,
2100 <     403,   404,   405,   406,   467,   736,   161,   162,   163,   407,
2101 <     164,   292,   408,   165,   166,   409,   424,   167,   410,   591,
2102 <     411,   592,  1244,   737,   593,   412,   413,   414,   168,   415,
2103 <     416,   439,   417,   425,   475,   796,   797,   798,   799,   800,
2104 <     440,   441,   594,   595,   476,   481,   482,   495,   293,   496,
2105 <     169,   497,   170,   498,  1245,   499,   171,   500,   501,   505,
2106 <     172,   173,   174,   175,   176,   506,   596,   507,   177,   178,
2107 <     597,   508,   509,  1246,   442,   510,   511,   179,   540,  1247,
2108 <     513,   514,   294,   295,  1248,   515,  1249,   516,   535,   543,
2109 <     544,   598,   545,   599,   546,    79,   547,   550,  1250,   551,
2110 <     552,   553,   554,   556,   557,   600,   180,    80,   181,   558,
2111 <     182,   559,   560,   622,   561,   623,   183,   627,   628,   626,
2112 <     633,   184,  1251,   629,   636,   601,   185,    81,    82,  1252,
2113 <     637,   443,   638,    83,   639,    84,  1158,   640,   641,   642,
2114 <     643,   644,   645,  1253,   646,   647,   562,   648,   649,   651,
2115 <     652,   653,   654,   656,   657,   602,   659,   658,   426,   660,
2116 <     661,  1254,   663,  1255,  1256,   662,   664,   563,   564,   603,
2117 <     668,     2,     3,   665,   565,   671,     4,   672,   670,    85,
2118 <      86,   673,   604,   682,   678,   679,    87,    88,   684,   690,
2119 <     686,   687,     5,   692,   688,   689,     6,   693,   695,     7,
2120 <     696,   725,   699,  1173,   722,   715,     8,    89,    90,   700,
2121 <     701,  1159,   723,   703,   726,   727,   704,   757,   705,  1240,
2122 <     706,     9,    91,    92,  1257,    10,    11,   754,    12,   755,
2123 <     756,   758,   771,    93,    13,   707,  1258,   724,  1259,   566,
2124 <     567,   568,    94,  1160,   569,   710,   712,   717,  1260,   718,
2125 <      14,   728,   570,   719,   759,   749,   748,   605,  1261,  1161,
2126 <      15,    16,   761,   750,   571,   572,   762,   763,   764,  1106,
2127 <     765,   766,  1162,  1163,   767,   751,   768,    17,  1174,   770,
2128 <     573,   574,   769,  1164,  1165,  1166,  1167,   772,   773,   774,
2129 <     775,   786,   969,    18,   849,   776,  1168,   850,  1107,   781,
2130 <     778,   782,   787,   788,   789,   790,   791,  1108,   575,   792,
2131 <    1175,   793,   981,  1109,   794,   795,   803,   804,   853,   805,
2132 <     806,   807,   854,   962,   808,   960,  1176,    19,    95,    96,
2133 <      97,  1110,   809,   810,   811,   812,    20,    21,   813,  1177,
2134 <    1178,    22,    23,   814,   815,   816,   966,   832,   851,   817,
2135 <    1179,  1180,  1181,  1182,   818,   819,   820,  1111,   821,   822,
2136 <     823,   824,   825,  1183,   852,  1112,   887,   888,   889,   890,
2137 <     891,  1067,   892,   893,   826,   827,   894,   895,   896,  1135,
2138 <     828,   897,   484,   898,   899,   900,   829,   901,   902,   903,
2139 <     856,   833,   904,    24,   857,   834,   835,   905,   909,   910,
2140 <     911,   912,   913,   836,   914,   915,  1113,   837,   916,   917,
2141 <     918,   839,   840,   919,   841,   920,   921,   922,   842,   923,
2142 <     924,   925,   843,   844,   926,  1114,   963,   845,   846,   927,
2143 <    1267,  1268,  1269,  1270,  1271,   855,  1272,  1273,   858,   859,
2144 <    1274,  1275,  1276,   860,   861,  1277,   862,  1278,  1279,  1280,
2145 <     863,  1281,  1282,  1283,   864,   958,  1284,   865,   866,   867,
2146 <     868,  1285,   869,   870,   871,   872,   873,   874,   875,   876,
2147 <     877,   878,   879,   880,   881,   882,   883,   884,   885,   886,
2148 <     908,   930,   931,   932,   933,   934,   935,   965,   936,   937,
2149 <     938,   939,   940,   941,   942,   968,   943,   944,   945,   951,
2150 <     952,   953,   954,   955,   956,   957,   970,   964,   971,   961,
2151 <     972,   967,   973,   974,   975,   976,   977,   978,   979,   980,
2152 <     984,   985,   986,   996,   997,   998,  1009,  1010,  1011,   999,
2153 <    1000,  1002,  1003,  1004,  1006,  1012,  1013,  1014,  1015,  1016,
2154 <    1017,  1018,  1019,  1020,  1021,  1022,  1023,  1024,  1025,  1026,
2155 <    1031,  1032,  1033,  1034,  1035,  1037,  1038,  1036,  1039,  1041,
2156 <    1040,  1042,  1048,  1049,  1051,  1052,  1053,  1054,  1055,  1056,
2157 <    1057,  1061,  1062,  1065,  1066,  1068,  1069,  1070,  1071,  1072,
2158 <    1073,  1074,  1075,  1077,  1078,  1079,  1080,  1081,  1096,  1076,
2159 <    1097,  1102,  1103,  1104,  1105,  1134,  1117,  1082,  1118,  1119,
2160 <    1120,  1121,  1122,  1123,  1126,  1132,  1133,  1137,  1143,  1144,
2161 <    1146,  1138,  1140,  1145,  1147,  1148,  1149,  1150,  1234,  1151,
2162 <    1152,  1237,  1153,   518,  1154,  1157,  1289,   322,  1171,  1172,
2163 <    1186,  1187,  1188,  1189,  1142,  1325,  1008,  1190,  1191,  1192,
2164 <    1193,  1194,  1195,  1196,  1197,  1198,  1199,  1200,  1201,  1202,
2165 <    1203,  1204,  1212,  1213,  1324,  1214,  1215,  1216,  1217,  1218,
2166 <    1219,  1236,  1323,  1301,  1235,  1241,   831,  1238,  1242,  1243,
2167 <    1264,  1265,  1266,  1299,  1288,  1302,   721,  1312,  1313,   537,
2168 <     753,  1318,   478,   780,  1319,  1300,   785,   848,  1320,   354,
2169 <    1296,   625,   632,   419,  1223,  1222,   698,  1297,  1298,   342,
2170 <       0,     0,     0,     0,     0,     0,     0,   709,     0,     0,
2171 <       0,   503,     0,     0,     0,     0,     0,     0,     0,     0,
2172 <       0,     0,     0,   714
2049 >     717,   613,   614,   465,   252,   335,   466,   593,   620,   508,
2050 >      70,   121,   393,   403,  1157,   465,   529,   499,   466,   716,
2051 >      49,   304,    50,   499,  1122,    54,   336,   337,   548,   243,
2052 >     338,   593,  1128,   121,   480,    47,    48,   236,   253,   530,
2053 >      71,   467,  1054,    70,   468,  1056,  1055,   304,   549,  1057,
2054 >      72,   254,    56,   467,    61,   509,   468,   481,   531,  1115,
2055 >      62,   236,   532,  1116,   255,   256,   257,   258,   975,   976,
2056 >     977,   708,   709,    71,   510,   269,   482,   710,   711,   511,
2057 >     483,   122,   394,    72,   259,   469,   795,   796,   243,    65,
2058 >    1015,   339,   340,   341,   671,   672,   342,   469,   584,   393,
2059 >     799,   800,   470,   122,   343,   270,   594,    66,   685,    73,
2060 >      69,   127,   404,   690,   470,   533,   344,   345,   128,   129,
2061 >     305,  1274,   865,   866,   701,   702,   244,   704,   118,   130,
2062 >     594,   550,   346,   347,   119,   714,   715,   131,   512,   719,
2063 >     534,   271,    73,   132,   395,   405,   305,   133,   134,   500,
2064 >     135,  1094,   309,  1095,   245,   500,   136,  1158,   484,   535,
2065 >     551,  1159,   348,   120,   716,   137,   138,   485,   486,   394,
2066 >     139,   126,   595,   232,   272,   140,   273,   274,   406,   141,
2067 >     142,    79,   501,   143,   862,   244,   144,   145,   501,  1016,
2068 >     233,  1123,   234,    80,   146,  1015,   595,   585,   584,  1129,
2069 >     147,   148,   487,   149,   150,   151,   152,   153,    81,    82,
2070 >     235,  1117,   548,   245,    83,  1118,    84,   275,   154,   276,
2071 >     277,   278,   279,   250,   536,   251,   155,   156,   157,   471,
2072 >     158,   395,   549,   159,   160,  1253,   280,   161,   302,  1254,
2073 >     303,   471,   537,   502,   785,   564,   641,   523,   162,   502,
2074 >     754,   313,   401,   661,   668,  1017,   731,   771,    85,    86,
2075 >     488,   310,   281,   586,   747,    87,    88,   403,   237,   777,
2076 >     527,   603,   818,   163,   282,   742,  -108,   164,   521,   311,
2077 >     529,   165,   166,   167,   168,   169,    89,    90,   601,   170,
2078 >     171,   364,   237,   365,  1016,   312,   366,   585,   519,   172,
2079 >    -108,    91,    92,   530,   604,   315,  1255,   316,   283,   284,
2080 >    1256,   852,    93,  1293,   367,   550,   582,   317,   524,   860,
2081 >     861,    94,   531,   318,   587,   252,   532,   508,  1018,   173,
2082 >     174,  1171,   175,   368,  1294,   269,  1295,   369,   176,   813,
2083 >     319,  1259,  1261,   177,   551,  1260,  1262,  1263,   178,  1096,
2084 >    1265,  1264,   463,  1267,  1266,   320,   370,  1268,   371,   253,
2085 >    1017,   321,  1097,   586,  1277,   270,   404,  1279,  1278,   322,
2086 >     372,  1280,   254,   509,  1281,   323,   127,  1296,  1282,   533,
2087 >     324,   325,   612,   128,   129,   255,   256,   257,   258,  1283,
2088 >     373,  1308,   510,  1284,   130,  1309,   326,   511,   327,   405,
2089 >     328,   271,   131,   329,   534,   259,   330,   988,   132,    95,
2090 >      96,    97,   133,   134,   331,   135,  1119,  1120,  1121,   332,
2091 >     374,   136,   333,   535,   587,   830,   831,   832,   833,   834,
2092 >     137,   138,   406,  1018,   272,   139,   273,   274,   608,   400,
2093 >     140,   566,   412,   413,   141,   142,   414,   415,   143,   375,
2094 >     416,   144,   145,  1297,  1298,   758,   512,   417,   418,   146,
2095 >     419,   420,   364,   421,   365,   147,   148,   366,   149,   150,
2096 >     151,   152,   153,   422,   423,   424,   425,   275,   376,   276,
2097 >     277,   278,   279,   154,  1175,   367,   426,   427,   536,  1299,
2098 >     428,   155,   156,   157,   429,   158,   280,   430,   159,   160,
2099 >     431,   432,   161,   433,   368,   434,   537,   435,   369,   436,
2100 >     480,  1176,   437,   162,  1071,  1072,  1073,  1074,  1075,   438,
2101 >     439,   441,   281,   605,   377,   443,   444,   370,   445,   371,
2102 >    1177,   446,   657,   481,   282,   447,  1178,   448,   163,   449,
2103 >     450,   372,   164,   451,   452,    79,   165,   166,   167,   168,
2104 >     169,   453,   482,  1179,   170,   171,   483,    80,   454,   455,
2105 >     456,   373,   457,   458,   172,   459,   460,   461,   283,   284,
2106 >     606,   462,    81,    82,   520,   525,   526,  1180,    83,   557,
2107 >      84,  1227,   558,   559,  1181,   560,   561,   562,   563,   567,
2108 >     568,   374,   569,   570,   173,   174,   571,   175,  1182,   572,
2109 >     573,   574,   575,   176,   576,  1241,   577,   578,   177,   579,
2110 >     580,   581,   600,   178,   607,   609,  1183,   610,  1184,  1185,
2111 >     375,   611,    85,    86,   612,   615,   616,   617,   618,    87,
2112 >      88,   619,   621,   622,   484,   623,   624,   626,   625,   627,
2113 >     643,   628,   663,   485,   486,   629,   630,   631,   632,   376,
2114 >      89,    90,   633,   634,   635,   636,   637,   638,  1228,   639,
2115 >     640,   644,   645,   646,   647,    91,    92,     2,     3,   649,
2116 >     650,  1186,     4,   651,   652,   653,    93,   654,   487,   655,
2117 >     656,  1187,  1242,   659,   660,    94,   665,   664,     5,  1229,
2118 >    1188,     6,     7,   666,  1189,   377,  1190,     8,   670,  1230,
2119 >     673,   674,   675,   676,   677,  1191,  1231,   679,   678,   680,
2120 >     335,   681,     9,  1243,  1275,  1192,    10,    11,  1232,    12,
2121 >    1233,  1234,   682,  1244,   915,    13,   683,   684,   687,   686,
2122 >    1245,   336,   337,  1235,   688,   338,   488,   689,   691,    14,
2123 >     692,   693,  1246,  1236,  1247,  1248,   694,   695,   696,    15,
2124 >      16,   697,   698,   699,   700,   703,   705,  1249,   938,   706,
2125 >     707,   712,   713,   716,   718,   720,    17,  1250,   721,   724,
2126 >     722,   723,   756,    95,    96,    97,   759,   726,   727,   729,
2127 >     730,   733,    18,   734,   779,   735,  1198,   737,   760,   738,
2128 >     780,   739,   740,   741,   749,   757,   339,   340,   341,   744,
2129 >     746,   342,   751,   752,   753,   761,   762,   763,   781,   343,
2130 >     764,   766,   767,   768,   770,   773,   782,   783,    19,   784,
2131 >     774,   344,   345,   787,   788,   775,   776,    20,    21,   786,
2132 >     789,    22,    23,   790,   791,   792,   793,   346,   347,   794,
2133 >     805,   803,   804,   806,   807,   808,   916,   917,   918,   919,
2134 >     920,   810,   809,   921,   922,   820,   812,   923,   924,   925,
2135 >     815,   816,   926,   821,   927,   928,   929,   348,   930,   931,
2136 >     932,   850,   822,   933,   851,   823,   824,   853,   854,   934,
2137 >     939,   940,   941,   942,   943,    24,   855,   944,   945,   856,
2138 >    1136,   946,   947,   948,   857,   825,   949,   826,   950,   951,
2139 >     952,   827,   953,   954,   955,   828,   829,   956,  1199,  1200,
2140 >    1201,  1202,  1203,   957,  1137,  1204,  1205,   837,   838,  1206,
2141 >    1207,  1208,   839,  1138,  1209,   840,  1210,  1211,  1212,  1139,
2142 >    1213,  1214,  1215,   858,   841,  1216,   842,   843,   859,   844,
2143 >     864,  1217,   845,   867,   869,  1140,   868,   846,   847,   870,
2144 >     871,   872,   873,   874,   998,   848,   849,   863,   875,   878,
2145 >     876,   877,   879,   880,   881,   883,   884,   882,   886,   989,
2146 >     887,  1141,   885,   888,   889,   890,   891,   892,   893,  1142,
2147 >     894,   895,   896,   897,   898,   899,   900,   901,   902,   903,
2148 >     904,   905,   906,   907,   908,   909,   910,   911,   912,   913,
2149 >     914,   937,   991,   960,   992,   994,   961,   962,   997,   995,
2150 >     963,   999,   964,   965,   966,   967,   968,  1000,   969,   970,
2151 >    1001,   971,  1143,   972,   973,   974,   980,   981,   982,   983,
2152 >     984,   985,   986,  1003,  1005,  1008,   987,   993,   990,   996,
2153 >    1144,  1002,  1004,  1006,  1009,  1007,  1010,  1013,  1014,  1024,
2154 >    1026,  1025,  1027,  1029,  1030,  1028,  1031,  1032,  1033,  1035,
2155 >    1036,  1037,  1063,  1034,  1065,  1038,  1039,  1040,  1067,  1269,
2156 >    1112,  1153,  1272,  1224,   314,  1172,  1225,  1041,  1042,  1043,
2157 >    1044,  1045,  1046,  1047,   583,  1310,  1048,  1049,  1050,  1051,
2158 >    1052,  1053,  1058,  1059,  1060,  1061,  1062,   522,  1066,   772,
2159 >    1064,  1069,  1068,  1070,  1076,  1077,  1078,  1079,  1080,  1081,
2160 >    1082,  1305,  1304,  1083,   755,  1291,  1084,  1270,   743,  1085,
2161 >    1086,  1164,  1087,  1088,  1089,  1090,  1091,  1289,  1092,  1093,
2162 >     642,  1100,  1101,  1102,  1103,  1104,  1105,  1106,  1107,  1108,
2163 >    1109,  1110,  1111,   778,  1306,   814,  1126,  1127,  1132,  1133,
2164 >    1134,  1135,  1147,  1148,  1307,  1149,  1150,  1151,  1152,  1156,
2165 >    1285,  1162,  1163,  1290,   402,   748,  1286,  1167,   464,  1165,
2166 >    1258,  1257,  1287,   334,   819,   658,  1168,  1288,     0,     0,
2167 >    1173,     0,  1170,  1174,  1195,  1196,  1197,  1220,  1221,  1222,
2168 >    1223,  1226,  1239,  1240,  1271,     0,  1276,  1292,  1273,  1302,
2169 >     662,  1303,     0,   528,     0,     0,     0,     0,     0,     0,
2170 >     732,   669,     0,     0,     0,     0,     0,     0,     0,     0,
2171 >       0,     0,   565,     0,     0,     0,     0,     0,     0,     0,
2172 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2173 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2174 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2175 >       0,     0,     0,     0,     0,     0,     0,   602
2176   };
2177  
2178   #define yypact_value_is_default(yystate) \
2179 <  ((yystate) == (-920))
2179 >  ((yystate) == (-560))
2180  
2181   #define yytable_value_is_error(yytable_value) \
2182    YYID (0)
2183  
2184   static const yytype_int16 yycheck[] =
2185   {
2186 <     411,   328,   329,     1,     1,     1,   248,     1,   335,   248,
2187 <       4,   248,     8,     9,     1,   117,     1,     1,    11,   248,
2188 <      11,   246,    66,    19,     1,   250,     1,   946,   947,   948,
2189 <     248,    27,     1,     1,     1,    31,    32,     1,   365,   366,
2190 <     246,   248,    38,     1,   250,     1,    42,    43,     1,    45,
2191 <      44,    36,   246,    47,   381,    51,   250,    21,   248,   386,
2192 <     248,    46,     1,   248,    60,    61,   138,     1,   246,    65,
2193 <     397,   398,   250,   400,     1,   246,    72,   246,   247,   250,
2194 <      76,    77,   409,   410,    80,   138,   413,    83,    84,     1,
2195 <     248,     1,   248,     1,    52,    91,    90,     1,    25,   248,
2196 <       1,    97,    98,    78,   100,   101,   102,   103,   104,   107,
2197 <     107,    78,     1,   107,   216,    73,     1,    21,   105,   115,
2198 <      78,    48,   107,   107,    13,    52,   248,   123,   124,   125,
2199 <      40,   127,   248,   246,   130,   131,   105,   250,   134,    10,
2200 <     248,    12,     1,    53,    33,    34,   133,   111,   138,   145,
2201 <      39,   107,    41,   248,   107,    26,    66,     1,    68,    30,
2202 <      70,    71,   248,   140,   133,   209,    78,   248,   107,   213,
2203 <     246,   167,   249,   169,   501,   172,   140,   173,    88,   137,
2204 <       1,   177,   178,   179,   180,   181,   249,   140,    56,   185,
2205 <     186,   184,    36,   184,   249,   172,    85,    86,   194,   107,
2206 <     249,    22,    23,    92,    93,   132,   107,   111,    29,   249,
2207 <       1,    79,     1,    81,   141,   142,   172,   182,   183,   172,
2208 <       1,     1,   107,     3,   113,   114,     6,   223,   140,   225,
2209 <      74,   227,   249,   172,    25,   232,   140,   233,   232,   128,
2210 <     129,   249,   238,   249,    24,    25,   249,   243,   175,   247,
2211 <     139,   247,   138,   247,   122,   232,   224,    48,   246,   148,
2212 <     247,    52,   247,   107,   172,   109,   110,   249,    48,   237,
2213 <     247,   172,    52,    94,    95,    96,   232,   245,    99,   247,
2214 <     247,   140,   248,   247,   246,   248,   107,   172,   250,   247,
2215 <     224,   247,   246,    73,   247,    75,   250,    78,   119,   120,
2216 <     246,   249,     1,   237,   250,   232,   150,    87,   152,   153,
2217 <     245,   245,   249,   172,   135,   136,   107,   246,   107,   249,
2218 <     247,   250,   182,   183,   168,   249,    25,   107,   196,   197,
2219 <     796,   797,   798,   799,   800,   247,   244,   247,   249,   247,
2220 <       1,   132,   163,   244,   246,   234,   235,   236,   250,    48,
2221 <     249,   140,     1,    52,     1,   226,   249,   137,   247,   140,
2222 <     151,   205,   247,   246,   232,   692,   246,   250,    14,    15,
2223 <      16,   151,   246,   232,   249,    36,   250,   246,     1,   154,
2224 <     155,   250,   246,   172,   164,    46,   250,   202,   203,    36,
2225 <     248,    40,   249,   249,     1,   239,   240,   249,   249,   249,
2226 <     249,     8,     9,   247,    53,   246,   249,   249,   107,   249,
2227 <       1,   249,    19,   249,   249,   249,   249,    66,   829,    68,
2228 <      27,    70,    71,   214,    31,    32,   247,    74,   246,    52,
2229 <     249,    38,   249,   132,    25,    42,    43,     1,    45,    88,
2230 <       4,   232,   249,   249,    51,   249,   107,   249,   249,   249,
2231 <      73,   249,   151,    60,    61,    78,   247,    48,    65,   239,
2232 <     107,    52,   109,   110,   249,    72,   249,   247,   138,    76,
2233 <      77,   117,   249,    80,   182,   249,    83,    84,   249,   249,
2234 <      44,   249,   249,    47,    91,   249,   249,   249,   249,   249,
2235 <      97,    98,   819,   100,   101,   102,   103,   104,   249,   249,
2236 <     827,   828,   249,   150,   117,   152,   153,   249,   115,   249,
2237 <     249,   249,   249,   249,   137,   214,   123,   124,   125,   249,
2238 <     127,   168,   249,   130,   131,   249,    90,   134,   249,     1,
2239 <     249,     3,     5,   232,     6,   249,   249,   249,   145,   249,
2240 <     249,   132,   249,   107,   249,   158,   159,   160,   161,   162,
2241 <     141,   142,    24,    25,   249,   249,   249,   249,   205,   249,
2242 <     167,   249,   169,   249,    37,   249,   173,   249,   249,   249,
2243 <     177,   178,   179,   180,   181,   249,    48,   249,   185,   186,
2244 <      52,   249,   249,    56,   175,   249,   249,   194,   138,    62,
2245 <     249,   249,   239,   240,    67,   249,    69,   249,   249,   117,
2246 <     117,    73,   182,    75,   182,     1,   117,   117,    81,   117,
2247 <     182,   182,   117,   182,   182,    87,   223,    13,   225,   182,
2248 <     227,   182,   182,   249,   246,   249,   233,   246,   249,   138,
2249 <     182,   238,   105,   249,   117,   107,   243,    33,    34,   112,
2250 <     138,   232,   117,    39,   182,    41,    81,   182,   117,   138,
2251 <     182,   117,   117,   126,   117,   182,     1,   182,   182,   138,
2252 <     182,   117,   117,   117,   117,   137,   117,   138,   232,   117,
2253 <     182,   144,   249,   146,   147,   182,   182,    22,    23,   151,
2254 <     182,     0,     1,   249,    29,   182,     5,   182,   138,    85,
2255 <      86,   182,   164,   117,   182,   182,    92,    93,   138,   246,
2256 <     182,   182,    21,   249,   182,   182,    25,   249,   249,    28,
2257 <     249,   248,   246,    81,   182,   246,    35,   113,   114,   249,
2258 <     249,   156,   182,   249,   138,   138,   249,   138,   249,  1140,
2259 <     249,    50,   128,   129,   207,    54,    55,   182,    57,   182,
2260 <     182,   182,   117,   139,    63,   249,   219,   246,   221,    94,
2261 <      95,    96,   148,   188,    99,   249,   249,   249,   231,   249,
2262 <      79,   246,   107,   249,   182,   249,   246,   239,   241,   204,
2263 <      89,    90,   246,   249,   119,   120,   138,   182,   138,    20,
2264 <     138,   138,   217,   218,   138,   249,   138,   106,   156,   138,
2265 <     135,   136,   249,   228,   229,   230,   231,   138,   138,   246,
2266 <     246,   138,   117,   122,   138,   249,   241,   138,    49,   246,
2267 <     249,   249,   246,   246,   246,   246,   246,    58,   163,   246,
2268 <     188,   246,   117,    64,   246,   246,   246,   246,   138,   246,
2269 <     246,   246,   138,   138,   246,   182,   204,   156,   234,   235,
2270 <     236,    82,   246,   246,   246,   246,   165,   166,   246,   217,
2271 <     218,   170,   171,   246,   246,   246,   182,   246,   246,   249,
2272 <     228,   229,   230,   231,   249,   249,   249,   108,   249,   249,
2273 <     249,   249,   249,   241,   246,   116,   189,   190,   191,   192,
2274 <     193,   182,   195,   196,   249,   249,   199,   200,   201,   250,
2275 <     249,   204,   258,   206,   207,   208,   249,   210,   211,   212,
2276 <     246,   249,   215,   222,   246,   249,   249,   220,   189,   190,
2277 <     191,   192,   193,   249,   195,   196,   157,   249,   199,   200,
2278 <     201,   249,   249,   204,   249,   206,   207,   208,   249,   210,
2279 <     211,   212,   249,   249,   215,   176,   138,   249,   249,   220,
2280 <     189,   190,   191,   192,   193,   249,   195,   196,   246,   246,
2281 <     199,   200,   201,   246,   246,   204,   246,   206,   207,   208,
2282 <     246,   210,   211,   212,   246,   249,   215,   246,   246,   246,
2283 <     246,   220,   246,   246,   246,   246,   246,   246,   246,   246,
2284 <     246,   246,   246,   246,   246,   246,   246,   246,   246,   246,
2285 <     246,   246,   246,   246,   246,   246,   246,   138,   246,   246,
2286 <     246,   246,   246,   246,   246,   138,   246,   246,   246,   246,
2287 <     246,   246,   246,   246,   246,   246,   138,   246,   138,   249,
2288 <     138,   249,   246,   138,   249,   138,   246,   249,   138,   138,
2289 <     246,   246,   246,   246,   246,   246,   138,   138,   138,   249,
2290 <     249,   249,   249,   249,   249,   246,   246,   246,   246,   246,
2291 <     246,   246,   246,   246,   246,   246,   246,   246,   246,   246,
2292 <     246,   246,   246,   246,   138,   138,   246,   249,   138,   246,
2293 <     249,   246,   117,   117,   117,   117,   117,   117,   138,   117,
2294 <     117,   246,   138,   138,   138,   249,   138,   138,   138,   138,
2295 <     117,   138,   138,   246,   246,   246,   246,   246,   246,   138,
2296 <     246,   246,   246,   246,   246,   187,   246,   143,   246,   246,
2297 <     246,   246,   246,   143,   246,   246,   246,   246,   138,   182,
2298 <     138,   249,   249,   249,   138,   138,   249,   138,   117,   246,
2299 <     246,   138,   246,   296,   246,   246,  1156,    74,   246,   246,
2300 <     246,   246,   246,   246,   991,  1322,   738,   246,   246,   246,
2301 <     246,   246,   246,   246,   246,   246,   246,   246,   246,   246,
2302 <     246,   246,   246,   246,  1317,   246,   246,   246,   246,   246,
2303 <     246,   246,  1315,  1233,  1135,   246,   576,   249,   246,   246,
2304 <     246,   246,   246,  1229,   246,   246,   469,   246,   246,   314,
2305 <     490,  1291,   249,   523,  1293,  1231,   531,   606,  1295,   127,
2306 <    1221,   348,   360,   186,  1088,  1086,   427,  1225,  1227,    98,
2307 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,   444,    -1,    -1,
2308 <      -1,   274,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2309 <      -1,    -1,    -1,   459
2186 >     456,   320,   321,     1,     1,     1,     4,     1,   327,     1,
2187 >       1,     1,     1,     1,    61,     1,     1,     1,     4,   110,
2188 >     243,     1,   243,     1,    11,   243,    22,    23,     1,     1,
2189 >      26,     1,    11,     1,     1,   241,   242,     1,    35,    24,
2190 >      31,    39,   241,     1,    42,   241,   245,     1,    21,   245,
2191 >      41,    48,   243,    39,   243,    47,    42,    24,    43,   241,
2192 >     243,     1,    47,   245,    61,    62,    63,    64,    14,    15,
2193 >      16,   176,   177,    31,    66,     1,    43,   176,   177,    71,
2194 >      47,    71,    71,    41,    81,    83,   149,   150,     1,   243,
2195 >       1,    87,    88,    89,   413,   414,    92,    83,     1,     1,
2196 >     149,   150,   100,    71,   100,    31,   100,   243,   427,   100,
2197 >     243,     1,   100,   432,   100,   100,   112,   113,     8,     9,
2198 >     100,   212,   197,   198,   443,   444,    98,   446,   243,    19,
2199 >     100,   104,   128,   129,   243,   454,   455,    27,   130,   458,
2200 >     125,    67,   100,    33,   133,   133,   100,    37,    38,   133,
2201 >      40,    10,   241,    12,   126,   133,    46,   204,   125,   144,
2202 >     133,   208,   158,   243,   110,    55,    56,   134,   135,    71,
2203 >      60,   243,   166,   243,   100,    65,   102,   103,   166,    69,
2204 >      70,     1,   166,    73,   640,    98,    76,    77,   166,   100,
2205 >     243,   178,   243,    13,    84,     1,   166,   100,     1,   178,
2206 >      90,    91,   169,    93,    94,    95,    96,    97,    28,    29,
2207 >     243,   241,     1,   126,    34,   245,    36,   143,   108,   145,
2208 >     146,   147,   148,   243,   209,   243,   116,   117,   118,   227,
2209 >     120,   133,    21,   123,   124,   241,   162,   127,   243,   245,
2210 >     243,   227,   227,   227,   563,   242,   242,   240,   138,   227,
2211 >     242,   242,   242,   242,   242,   166,   242,   242,    78,    79,
2212 >     227,   244,   188,   166,   242,    85,    86,     1,   232,   242,
2213 >     242,   131,   242,   163,   200,   242,   240,   167,   242,   244,
2214 >       1,   171,   172,   173,   174,   175,   106,   107,   242,   179,
2215 >     180,     1,   232,     3,   100,   244,     6,   100,   241,   189,
2216 >     240,   121,   122,    24,   131,   244,   241,   244,   234,   235,
2217 >     245,   630,   132,    51,    24,   104,   242,   244,   241,   638,
2218 >     639,   141,    43,   244,   227,     1,    47,     1,   239,   219,
2219 >     220,   242,   222,    43,    72,     1,    74,    47,   228,   242,
2220 >     244,   241,   241,   233,   133,   245,   245,   241,   238,   208,
2221 >     241,   245,   242,   241,   245,   244,    66,   245,    68,    35,
2222 >     166,   244,   221,   166,   241,    31,   100,   241,   245,   244,
2223 >      80,   245,    48,    47,   241,   244,     1,   115,   245,   100,
2224 >     244,   244,   110,     8,     9,    61,    62,    63,    64,   241,
2225 >     100,   241,    66,   245,    19,   245,   244,    71,   244,   133,
2226 >     244,    67,    27,   244,   125,    81,   244,   726,    33,   229,
2227 >     230,   231,    37,    38,   244,    40,   975,   976,   977,   244,
2228 >     130,    46,   242,   144,   227,   153,   154,   155,   156,   157,
2229 >      55,    56,   166,   239,   100,    60,   102,   103,   110,   244,
2230 >      65,   241,   244,   244,    69,    70,   244,   244,    73,   159,
2231 >     244,    76,    77,   191,   192,   243,   130,   244,   244,    84,
2232 >     244,   244,     1,   244,     3,    90,    91,     6,    93,    94,
2233 >      95,    96,    97,   244,   244,   244,   244,   143,   188,   145,
2234 >     146,   147,   148,   108,     5,    24,   244,   244,   209,   227,
2235 >     244,   116,   117,   118,   244,   120,   162,   244,   123,   124,
2236 >     244,   244,   127,   244,    43,   244,   227,   244,    47,   244,
2237 >       1,    32,   244,   138,   830,   831,   832,   833,   834,   244,
2238 >     244,   244,   188,   131,   234,   244,   244,    66,   244,    68,
2239 >      51,   244,   242,    24,   200,   244,    57,   244,   163,   244,
2240 >     244,    80,   167,   244,   244,     1,   171,   172,   173,   174,
2241 >     175,   244,    43,    74,   179,   180,    47,    13,   244,   244,
2242 >     244,   100,   244,   244,   189,   244,   244,   244,   234,   235,
2243 >     241,   244,    28,    29,   244,   244,   244,    98,    34,   244,
2244 >      36,    74,   244,   244,   105,   244,   244,   244,   244,   244,
2245 >     244,   130,   244,   244,   219,   220,   244,   222,   119,   244,
2246 >     244,   244,   244,   228,   244,    74,   244,   244,   233,   244,
2247 >     244,   244,   244,   238,   176,   110,   137,   176,   139,   140,
2248 >     159,   176,    78,    79,   110,   110,   110,   176,   176,    85,
2249 >      86,   110,   176,   176,   125,   176,   176,   241,   176,   241,
2250 >     241,   244,   131,   134,   135,   244,   244,   244,   244,   188,
2251 >     106,   107,   244,   244,   244,   244,   244,   244,   151,   244,
2252 >     244,   244,   244,   244,   244,   121,   122,     0,     1,   244,
2253 >     244,   192,     5,   244,   244,   244,   132,   244,   169,   244,
2254 >     244,   202,   151,   244,   244,   141,   244,   241,    21,   182,
2255 >     211,    24,    25,   244,   215,   234,   217,    30,   176,   192,
2256 >     110,   176,   176,   110,   131,   226,   199,   110,   176,   110,
2257 >       1,   110,    45,   182,  1170,   236,    49,    50,   211,    52,
2258 >     213,   214,   176,   192,    61,    58,   176,   176,   176,   131,
2259 >     199,    22,    23,   226,   110,    26,   227,   110,   110,    72,
2260 >     110,   131,   211,   236,   213,   214,   110,   110,   176,    82,
2261 >      83,   176,   244,   176,   244,   176,   176,   226,    61,   176,
2262 >     176,   176,   176,   110,   131,   176,    99,   236,   176,   241,
2263 >     176,   176,   176,   229,   230,   231,   131,   244,   244,   244,
2264 >     244,   241,   115,   244,   176,   244,    61,   244,   131,   244,
2265 >     176,   244,   244,   244,   241,   241,    87,    88,    89,   244,
2266 >     244,    92,   244,   244,   244,   241,   241,   244,   176,   100,
2267 >     244,   244,   244,   244,   244,   241,   131,   176,   151,   176,
2268 >     244,   112,   113,   131,   176,   244,   244,   160,   161,   241,
2269 >     131,   164,   165,   131,   131,   131,   131,   128,   129,   131,
2270 >     110,   131,   131,   131,   131,   241,   183,   184,   185,   186,
2271 >     187,   244,   241,   190,   191,   131,   244,   194,   195,   196,
2272 >     241,   244,   199,   241,   201,   202,   203,   158,   205,   206,
2273 >     207,   110,   241,   210,   110,   241,   241,   110,   110,   216,
2274 >     183,   184,   185,   186,   187,   218,   110,   190,   191,   110,
2275 >      20,   194,   195,   196,   131,   241,   199,   241,   201,   202,
2276 >     203,   241,   205,   206,   207,   241,   241,   210,   183,   184,
2277 >     185,   186,   187,   216,    44,   190,   191,   241,   241,   194,
2278 >     195,   196,   241,    53,   199,   241,   201,   202,   203,    59,
2279 >     205,   206,   207,   110,   241,   210,   241,   241,   110,   241,
2280 >     131,   216,   241,   131,   244,    75,   176,   241,   241,   131,
2281 >     131,   131,   131,   110,   110,   241,   241,   241,   131,   241,
2282 >     131,   131,   131,   131,   241,   131,   131,   241,   241,   176,
2283 >     241,   101,   244,   241,   241,   241,   241,   241,   241,   109,
2284 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2285 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2286 >     241,   241,   131,   241,   131,   131,   241,   241,   131,   176,
2287 >     241,   131,   241,   241,   241,   241,   241,   131,   241,   241,
2288 >     131,   241,   152,   241,   241,   241,   241,   241,   241,   241,
2289 >     241,   241,   241,   131,   131,   131,   244,   241,   244,   244,
2290 >     170,   241,   244,   241,   131,   244,   110,   241,   241,   241,
2291 >     131,   241,   176,   131,   131,   244,   131,   244,   131,   131,
2292 >     131,   131,   131,   241,   131,   241,   241,   241,   131,   110,
2293 >     136,   136,   131,  1055,    74,  1019,  1057,   241,   241,   241,
2294 >     241,   241,   241,   241,   285,  1309,   241,   241,   241,   241,
2295 >     241,   241,   241,   241,   241,   241,   241,   238,   241,   538,
2296 >     244,   241,   244,   241,   241,   241,   241,   241,   241,   241,
2297 >     241,  1280,  1278,   241,   514,  1268,   241,  1165,   489,   241,
2298 >     241,   181,   241,   241,   241,   241,   241,  1264,   241,   241,
2299 >     349,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2300 >     241,   241,   241,   552,  1282,   588,   241,   241,   241,   241,
2301 >     241,   241,   241,   241,  1284,   241,   241,   241,   241,   241,
2302 >    1254,   241,   241,  1266,   123,   504,  1256,   241,   179,   245,
2303 >    1118,  1116,  1260,    98,   596,   378,   244,  1262,    -1,    -1,
2304 >     241,    -1,   244,   241,   241,   241,   241,   241,   241,   241,
2305 >     241,   241,   241,   241,   241,    -1,   241,   241,   244,   241,
2306 >     396,   241,    -1,   246,    -1,    -1,    -1,    -1,    -1,    -1,
2307 >     472,   408,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2308 >      -1,    -1,   260,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2309 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2310 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2311 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2312 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,   306
2313   };
2314  
2315   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2316     symbol of state STATE-NUM.  */
2317   static const yytype_uint16 yystos[] =
2318   {
2319 <       0,   252,     0,     1,     5,    21,    25,    28,    35,    50,
2320 <      54,    55,    57,    63,    79,    89,    90,   106,   122,   156,
2321 <     165,   166,   170,   171,   222,   253,   258,   263,   281,   287,
2322 <     302,   322,   341,   355,   370,   377,   381,   391,   400,   423,
2323 <     433,   439,   443,   453,   516,   532,   553,   246,   247,   248,
2324 <     248,   323,   401,   434,   248,   444,   248,   517,   356,   424,
2325 <     342,   248,   248,   303,   371,   248,   248,   382,   392,   248,
2326 <       1,    36,    46,   107,   282,   283,   284,   285,   286,     1,
2327 <      13,    33,    34,    39,    41,    85,    86,    92,    93,   113,
2328 <     114,   128,   129,   139,   148,   234,   235,   236,   533,   534,
2329 <     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
2330 <     545,   546,   547,   548,   549,   550,   551,   552,   138,   324,
2331 <     328,   138,   402,   406,   248,     1,    78,   440,   441,   442,
2332 <     248,     1,     8,     9,    19,    27,    31,    32,    38,    42,
2333 <      43,    45,    51,    60,    61,    65,    72,    76,    77,    80,
2334 <      83,    84,    91,    97,    98,   100,   101,   102,   103,   104,
2335 <     115,   123,   124,   125,   127,   130,   131,   134,   145,   167,
2336 <     169,   173,   177,   178,   179,   180,   181,   185,   186,   194,
2337 <     223,   225,   227,   233,   238,   243,   454,   455,   456,   457,
2338 <     458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
2339 <     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
2340 <     478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
2341 <     488,   489,   490,   491,   492,   493,   494,   495,   496,   497,
2342 <     498,   499,   500,   501,   502,   503,   504,   508,   512,   513,
2343 <     514,   515,   248,   248,   248,   248,     1,   224,   237,   288,
2344 <     289,   290,   291,   292,   293,     1,   105,   133,   259,   260,
2345 <     261,   262,   138,   304,   308,   248,     1,    40,    53,    66,
2346 <      68,    70,    71,    88,   554,   555,   556,   557,   558,   559,
2347 <     560,   561,   562,     1,    36,    74,   107,   109,   110,   150,
2348 <     152,   153,   168,   205,   239,   240,   264,   265,   266,   270,
2349 <     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
2350 <     248,   248,     1,   107,   378,   379,   380,   246,   249,   249,
2351 <     249,   247,   283,   249,   249,   249,   249,   249,   249,   249,
2352 <     249,   249,   249,   249,   249,   249,   249,   249,   249,   249,
2353 <     249,   247,   534,   248,   248,     1,    78,   140,   435,   436,
2354 <     437,   438,   249,   247,   441,     1,   107,   140,   172,   445,
2355 <     449,   450,   451,   452,   249,   249,   249,   249,   249,   249,
2356 <     249,   249,   249,   249,   249,   249,   249,   249,   249,   249,
2357 <     249,   249,   249,   249,   249,   249,   249,   249,   249,   249,
2358 <     249,   249,   249,   249,   509,   249,   505,   249,   249,   249,
2359 <     249,   249,   249,   249,   249,   249,   249,   249,   249,   249,
2360 <     249,   249,   249,   249,   249,   249,   249,   249,   247,   455,
2361 <       1,     4,    44,    47,    90,   107,   232,   518,   519,   520,
2362 <     521,   522,   526,   527,   528,     1,    25,    48,    52,   132,
2363 <     141,   142,   175,   232,   357,   358,   359,   360,   361,   362,
2364 <     363,   367,   368,   369,     1,   140,   172,   232,   425,   429,
2365 <     430,   431,   432,     1,    52,    73,    78,   137,   343,   347,
2366 <     348,   349,   353,   354,   246,   249,   249,   247,   289,   245,
2367 <     246,   249,   249,   247,   260,   248,     1,    21,   111,   140,
2368 <     372,   373,   374,   375,   376,   249,   249,   249,   249,   249,
2369 <     249,   249,   247,   555,   246,   249,   249,   249,   249,   249,
2370 <     249,   249,   267,   249,   249,   249,   249,   247,   265,     1,
2371 <     107,   172,   232,   383,   384,   385,   386,   387,     1,   107,
2372 <     172,   393,   394,   395,   396,   249,   247,   379,   138,   138,
2373 <     138,   246,   182,   117,   117,   182,   182,   117,   255,   255,
2374 <     117,   117,   182,   182,   117,   255,   182,   182,   182,   182,
2375 <     182,   246,     1,    22,    23,    29,    94,    95,    96,    99,
2376 <     107,   119,   120,   135,   136,   163,   325,   326,   327,   329,
2377 <     330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
2378 <     340,     1,     3,     6,    24,    25,    48,    52,    73,    75,
2379 <      87,   107,   137,   151,   164,   239,   403,   404,   405,   407,
2380 <     408,   409,   410,   411,   412,   413,   417,   418,   419,   420,
2381 <     421,   422,   249,   249,   247,   436,   138,   246,   249,   249,
2382 <     446,   247,   450,   182,   255,   255,   117,   138,   117,   182,
2383 <     182,   117,   138,   182,   117,   117,   117,   182,   182,   182,
2384 <     255,   138,   182,   117,   117,   255,   117,   117,   138,   117,
2385 <     117,   182,   182,   249,   182,   249,   255,   255,   182,   255,
2386 <     138,   182,   182,   182,   182,   183,   182,   183,   182,   182,
2387 <     255,   255,   117,   257,   138,   255,   182,   182,   182,   182,
2388 <     246,   529,   249,   249,   523,   249,   249,   247,   519,   246,
2389 <     249,   249,   364,   249,   249,   249,   249,   249,   247,   358,
2390 <     249,   426,   249,   247,   430,   246,   344,   249,   249,   249,
2391 <     247,   348,   182,   182,   246,   248,   138,   138,   246,     1,
2392 <      25,    48,    52,   107,   132,   151,   214,   232,   305,   306,
2393 <     307,   309,   310,   311,   312,   313,   314,   318,   246,   249,
2394 <     249,   249,   247,   373,   182,   182,   182,   138,   182,   182,
2395 <     255,   246,   138,   182,   138,   138,   138,   138,   138,   249,
2396 <     138,   117,   138,   138,   246,   246,   249,   388,   249,   247,
2397 <     384,   246,   249,   397,   247,   394,   138,   246,   246,   246,
2398 <     246,   246,   246,   246,   246,   246,   158,   159,   160,   161,
2399 <     162,   254,   255,   246,   246,   246,   246,   246,   246,   246,
2400 <     246,   246,   246,   246,   246,   246,   246,   249,   249,   249,
2401 <     249,   249,   249,   249,   249,   249,   249,   249,   249,   249,
2402 <     247,   326,   246,   249,   249,   249,   249,   249,   414,   249,
2403 <     249,   249,   249,   249,   249,   249,   249,   247,   404,   138,
2404 <     138,   246,   246,   138,   138,   249,   246,   246,   246,   246,
2405 <     246,   246,   246,   246,   246,   246,   246,   246,   246,   246,
2406 <     246,   246,   246,   246,   246,   246,   246,   246,   246,   246,
2407 <     246,   246,   246,   246,   246,   246,   246,   189,   190,   191,
2408 <     192,   193,   195,   196,   199,   200,   201,   204,   206,   207,
2409 <     208,   210,   211,   212,   215,   220,   510,   511,   246,   189,
2410 <     190,   191,   192,   193,   195,   196,   199,   200,   201,   204,
2411 <     206,   207,   208,   210,   211,   212,   215,   220,   506,   507,
2412 <     246,   246,   246,   246,   246,   246,   246,   246,   246,   246,
2413 <     246,   246,   246,   246,   246,   246,    14,    15,    16,   256,
2414 <     257,   246,   246,   246,   246,   246,   246,   246,   249,   255,
2415 <     182,   249,   138,   138,   246,   138,   182,   249,   138,   117,
2416 <     138,   138,   138,   246,   138,   249,   138,   246,   249,   138,
2417 <     138,   117,   351,   352,   246,   246,   246,     1,   107,   172,
2418 <     244,   294,   295,   296,   297,   298,   246,   246,   246,   249,
2419 <     249,   319,   249,   249,   249,   315,   249,   247,   306,   138,
2420 <     138,   138,   246,   246,   246,   246,   246,   246,   246,   246,
2421 <     246,   246,   246,   246,   246,   246,   246,   154,   155,   268,
2422 <     269,   246,   246,   246,   246,   138,   249,   138,   246,   138,
2423 <     249,   246,   246,   254,   254,   254,   254,   254,   117,   117,
2424 <     255,   117,   117,   117,   117,   138,   117,   117,   255,   255,
2425 <     257,   246,   138,   202,   203,   138,   138,   182,   249,   138,
2426 <     138,   138,   138,   117,   138,   138,   138,   246,   246,   246,
2427 <     246,   246,   143,   447,   448,   246,   250,   246,   250,   256,
2428 <     256,   256,    11,   184,   530,   531,   246,   246,    11,   184,
2429 <     524,   525,   246,   246,   246,   246,    20,    49,    58,    64,
2430 <      82,   108,   116,   157,   176,   365,   366,   246,   246,   246,
2431 <     246,   246,   246,   143,   427,   428,   246,    66,   209,   213,
2432 <     345,   346,   246,   246,   187,   250,   350,   246,   249,   299,
2433 <     249,   247,   295,   138,   182,   249,   138,   138,   138,   249,
2434 <     138,   246,   246,   246,   246,   246,   250,   246,    81,   156,
2435 <     188,   204,   217,   218,   228,   229,   230,   231,   241,   389,
2436 <     390,   246,   246,    81,   156,   188,   204,   217,   218,   228,
2437 <     229,   230,   231,   241,   398,   399,   246,   246,   246,   246,
2438 <     246,   246,   246,   246,   246,   246,   246,   246,   246,   246,
2439 <     246,   246,   246,   246,   246,    10,    12,    26,    30,   226,
2440 <     415,   416,   246,   246,   246,   246,   246,   246,   246,   246,
2441 <     246,   250,   511,   507,   246,   250,   246,   250,   246,   250,
2442 <     246,   250,   246,   250,   117,   352,   246,   138,   249,   216,
2443 <     257,   246,   246,   246,     5,    37,    56,    62,    67,    69,
2444 <      81,   105,   112,   126,   144,   146,   147,   207,   219,   221,
2445 <     231,   241,   320,   321,   246,   246,   246,   189,   190,   191,
2446 <     192,   193,   195,   196,   199,   200,   201,   204,   206,   207,
2447 <     208,   210,   211,   212,   215,   220,   316,   317,   246,   269,
2448 <     246,   250,   246,   250,   246,   250,   448,   531,   525,   366,
2449 <     428,   346,   246,    56,    79,    81,   122,   196,   197,   232,
2450 <     300,   301,   246,   246,   246,   250,   246,   250,   390,   399,
2469 <     416,   246,   250,   321,   317,   301
2319 >       0,   247,     0,     1,     5,    21,    24,    25,    30,    45,
2320 >      49,    50,    52,    58,    72,    82,    83,    99,   115,   151,
2321 >     160,   161,   164,   165,   218,   248,   253,   258,   280,   286,
2322 >     300,   318,   335,   349,   364,   371,   375,   385,   394,   414,
2323 >     424,   430,   434,   444,   504,   520,   541,   241,   242,   243,
2324 >     243,   319,   395,   425,   243,   435,   243,   505,   350,   415,
2325 >     336,   243,   243,   301,   365,   243,   243,   376,   386,   243,
2326 >       1,    31,    41,   100,   281,   282,   283,   284,   285,     1,
2327 >      13,    28,    29,    34,    36,    78,    79,    85,    86,   106,
2328 >     107,   121,   122,   132,   141,   229,   230,   231,   521,   522,
2329 >     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
2330 >     533,   534,   535,   536,   537,   538,   539,   540,   243,   243,
2331 >     243,     1,    71,   431,   432,   433,   243,     1,     8,     9,
2332 >      19,    27,    33,    37,    38,    40,    46,    55,    56,    60,
2333 >      65,    69,    70,    73,    76,    77,    84,    90,    91,    93,
2334 >      94,    95,    96,    97,   108,   116,   117,   118,   120,   123,
2335 >     124,   127,   138,   163,   167,   171,   172,   173,   174,   175,
2336 >     179,   180,   189,   219,   220,   222,   228,   233,   238,   445,
2337 >     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
2338 >     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
2339 >     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
2340 >     476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
2341 >     486,   487,   488,   489,   490,   491,   492,   496,   500,   501,
2342 >     502,   503,   243,   243,   243,   243,     1,   232,   287,   288,
2343 >     289,   290,   291,     1,    98,   126,   254,   255,   256,   257,
2344 >     243,   243,     1,    35,    48,    61,    62,    63,    64,    81,
2345 >     542,   543,   544,   545,   546,   547,   548,   549,   550,     1,
2346 >      31,    67,   100,   102,   103,   143,   145,   146,   147,   148,
2347 >     162,   188,   200,   234,   235,   259,   260,   261,   262,   267,
2348 >     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
2349 >     278,   279,   243,   243,     1,   100,   372,   373,   374,   241,
2350 >     244,   244,   244,   242,   282,   244,   244,   244,   244,   244,
2351 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2352 >     244,   244,   244,   242,   522,     1,    22,    23,    26,    87,
2353 >      88,    89,    92,   100,   112,   113,   128,   129,   158,   320,
2354 >     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
2355 >     331,   332,   333,   334,     1,     3,     6,    24,    43,    47,
2356 >      66,    68,    80,   100,   130,   159,   188,   234,   396,   397,
2357 >     398,   399,   400,   401,   402,   403,   404,   405,   409,   410,
2358 >     411,   412,   413,     1,    71,   133,   426,   427,   428,   429,
2359 >     244,   242,   432,     1,   100,   133,   166,   436,   440,   441,
2360 >     442,   443,   244,   244,   244,   244,   244,   244,   244,   244,
2361 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2362 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2363 >     497,   244,   493,   244,   244,   244,   244,   244,   244,   244,
2364 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2365 >     244,   244,   244,   242,   446,     1,     4,    39,    42,    83,
2366 >     100,   227,   506,   507,   508,   509,   510,   514,   515,   516,
2367 >       1,    24,    43,    47,   125,   134,   135,   169,   227,   351,
2368 >     352,   353,   354,   355,   356,   357,   361,   362,   363,     1,
2369 >     133,   166,   227,   416,   420,   421,   422,   423,     1,    47,
2370 >      66,    71,   130,   337,   341,   342,   343,   347,   348,   241,
2371 >     244,   242,   288,   240,   241,   244,   244,   242,   255,     1,
2372 >      24,    43,    47,   100,   125,   144,   209,   227,   302,   303,
2373 >     304,   305,   306,   307,   308,   309,   310,   314,     1,    21,
2374 >     104,   133,   366,   367,   368,   369,   370,   244,   244,   244,
2375 >     244,   244,   244,   244,   242,   543,   241,   244,   244,   244,
2376 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2377 >     244,   244,   242,   260,     1,   100,   166,   227,   377,   378,
2378 >     379,   380,   381,     1,   100,   166,   387,   388,   389,   390,
2379 >     244,   242,   373,   131,   131,   131,   241,   176,   110,   110,
2380 >     176,   176,   110,   250,   250,   110,   110,   176,   176,   110,
2381 >     250,   176,   176,   176,   176,   176,   241,   241,   244,   244,
2382 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2383 >     244,   242,   321,   241,   244,   244,   244,   244,   406,   244,
2384 >     244,   244,   244,   244,   244,   244,   244,   242,   397,   244,
2385 >     244,   242,   427,   131,   241,   244,   244,   437,   242,   441,
2386 >     176,   250,   250,   110,   176,   176,   110,   131,   176,   110,
2387 >     110,   110,   176,   176,   176,   250,   131,   176,   110,   110,
2388 >     250,   110,   110,   131,   110,   110,   176,   176,   244,   176,
2389 >     244,   250,   250,   176,   250,   176,   176,   176,   176,   177,
2390 >     176,   177,   176,   176,   250,   250,   110,   252,   131,   250,
2391 >     176,   176,   176,   176,   241,   517,   244,   244,   511,   244,
2392 >     244,   242,   507,   241,   244,   244,   358,   244,   244,   244,
2393 >     244,   244,   242,   352,   244,   417,   244,   242,   421,   241,
2394 >     338,   244,   244,   244,   242,   342,   176,   241,   243,   131,
2395 >     131,   241,   241,   244,   244,   315,   244,   244,   244,   311,
2396 >     244,   242,   303,   241,   244,   244,   244,   242,   367,   176,
2397 >     176,   176,   131,   176,   176,   250,   241,   131,   176,   131,
2398 >     131,   131,   131,   131,   131,   149,   150,   263,   264,   149,
2399 >     150,   265,   266,   131,   131,   110,   131,   131,   241,   241,
2400 >     244,   382,   244,   242,   378,   241,   244,   391,   242,   388,
2401 >     131,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2402 >     153,   154,   155,   156,   157,   249,   250,   241,   241,   241,
2403 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2404 >     110,   110,   250,   110,   110,   110,   110,   131,   110,   110,
2405 >     250,   250,   252,   241,   131,   197,   198,   131,   176,   244,
2406 >     131,   131,   131,   131,   110,   131,   131,   131,   241,   131,
2407 >     131,   241,   241,   131,   131,   244,   241,   241,   241,   241,
2408 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2409 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2410 >     241,   241,   241,   241,   241,    61,   183,   184,   185,   186,
2411 >     187,   190,   191,   194,   195,   196,   199,   201,   202,   203,
2412 >     205,   206,   207,   210,   216,   498,   499,   241,    61,   183,
2413 >     184,   185,   186,   187,   190,   191,   194,   195,   196,   199,
2414 >     201,   202,   203,   205,   206,   207,   210,   216,   494,   495,
2415 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2416 >     241,   241,   241,   241,   241,    14,    15,    16,   251,   252,
2417 >     241,   241,   241,   241,   241,   241,   241,   244,   250,   176,
2418 >     244,   131,   131,   241,   131,   176,   244,   131,   110,   131,
2419 >     131,   131,   241,   131,   244,   131,   241,   244,   131,   131,
2420 >     110,   345,   346,   241,   241,     1,   100,   166,   239,   292,
2421 >     293,   294,   295,   296,   241,   241,   131,   176,   244,   131,
2422 >     131,   131,   244,   131,   241,   131,   131,   131,   241,   241,
2423 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2424 >     241,   241,   241,   241,   241,   245,   241,   245,   241,   241,
2425 >     241,   241,   241,   131,   244,   131,   241,   131,   244,   241,
2426 >     241,   249,   249,   249,   249,   249,   241,   241,   241,   241,
2427 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2428 >     241,   241,   241,   241,    10,    12,   208,   221,   407,   408,
2429 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2430 >     241,   241,   136,   438,   439,   241,   245,   241,   245,   251,
2431 >     251,   251,    11,   178,   518,   519,   241,   241,    11,   178,
2432 >     512,   513,   241,   241,   241,   241,    20,    44,    53,    59,
2433 >      75,   101,   109,   152,   170,   359,   360,   241,   241,   241,
2434 >     241,   241,   241,   136,   418,   419,   241,    61,   204,   208,
2435 >     339,   340,   241,   241,   181,   245,   344,   241,   244,   297,
2436 >     244,   242,   293,   241,   241,     5,    32,    51,    57,    74,
2437 >      98,   105,   119,   137,   139,   140,   192,   202,   211,   215,
2438 >     217,   226,   236,   316,   317,   241,   241,   241,    61,   183,
2439 >     184,   185,   186,   187,   190,   191,   194,   195,   196,   199,
2440 >     201,   202,   203,   205,   206,   207,   210,   216,   312,   313,
2441 >     241,   241,   241,   241,   264,   266,   241,    74,   151,   182,
2442 >     192,   199,   211,   213,   214,   226,   236,   383,   384,   241,
2443 >     241,    74,   151,   182,   192,   199,   211,   213,   214,   226,
2444 >     236,   392,   393,   241,   245,   241,   245,   499,   495,   241,
2445 >     245,   241,   245,   241,   245,   241,   245,   241,   245,   110,
2446 >     346,   241,   131,   244,   212,   252,   241,   241,   245,   241,
2447 >     245,   241,   245,   241,   245,   408,   439,   519,   513,   360,
2448 >     419,   340,   241,    51,    72,    74,   115,   191,   192,   227,
2449 >     298,   299,   241,   241,   317,   313,   384,   393,   241,   245,
2450 >     299
2451   };
2452  
2453   #define yyerrok         (yyerrstatus = 0)
# Line 3303 | Line 3284 | yyreduce:
3284          case 27:
3285  
3286   /* Line 1806 of yacc.c  */
3287 < #line 411 "ircd_parser.y"
3287 > #line 407 "conf_parser.y"
3288      { (yyval.number) = 0; }
3289      break;
3290  
3291    case 29:
3292  
3293   /* Line 1806 of yacc.c  */
3294 < #line 413 "ircd_parser.y"
3294 > #line 409 "conf_parser.y"
3295      {
3296                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3297                  }
# Line 3319 | Line 3300 | yyreduce:
3300    case 30:
3301  
3302   /* Line 1806 of yacc.c  */
3303 < #line 417 "ircd_parser.y"
3303 > #line 413 "conf_parser.y"
3304      {
3305                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3306                  }
# Line 3328 | Line 3309 | yyreduce:
3309    case 31:
3310  
3311   /* Line 1806 of yacc.c  */
3312 < #line 421 "ircd_parser.y"
3312 > #line 417 "conf_parser.y"
3313      {
3314                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3315                  }
# Line 3337 | Line 3318 | yyreduce:
3318    case 32:
3319  
3320   /* Line 1806 of yacc.c  */
3321 < #line 425 "ircd_parser.y"
3321 > #line 421 "conf_parser.y"
3322      {
3323                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3324                  }
# Line 3346 | Line 3327 | yyreduce:
3327    case 33:
3328  
3329   /* Line 1806 of yacc.c  */
3330 < #line 429 "ircd_parser.y"
3330 > #line 425 "conf_parser.y"
3331      {
3332                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3333                  }
# Line 3355 | Line 3336 | yyreduce:
3336    case 34:
3337  
3338   /* Line 1806 of yacc.c  */
3339 < #line 433 "ircd_parser.y"
3339 > #line 429 "conf_parser.y"
3340      {
3341                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3342                  }
# Line 3364 | Line 3345 | yyreduce:
3345    case 35:
3346  
3347   /* Line 1806 of yacc.c  */
3348 < #line 438 "ircd_parser.y"
3348 > #line 434 "conf_parser.y"
3349      { (yyval.number) = 0; }
3350      break;
3351  
3352    case 37:
3353  
3354   /* Line 1806 of yacc.c  */
3355 < #line 439 "ircd_parser.y"
3355 > #line 435 "conf_parser.y"
3356      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3357      break;
3358  
3359    case 38:
3360  
3361   /* Line 1806 of yacc.c  */
3362 < #line 440 "ircd_parser.y"
3362 > #line 436 "conf_parser.y"
3363      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3364      break;
3365  
3366    case 39:
3367  
3368   /* Line 1806 of yacc.c  */
3369 < #line 441 "ircd_parser.y"
3369 > #line 437 "conf_parser.y"
3370      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3371      break;
3372  
3373    case 40:
3374  
3375   /* Line 1806 of yacc.c  */
3376 < #line 442 "ircd_parser.y"
3376 > #line 438 "conf_parser.y"
3377      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3378      break;
3379  
3380    case 47:
3381  
3382   /* Line 1806 of yacc.c  */
3383 < #line 456 "ircd_parser.y"
3383 > #line 452 "conf_parser.y"
3384      {
3385    if (conf_parser_ctx.pass == 2)
3386      add_conf_module(libio_basename(yylval.string));
# Line 3409 | Line 3390 | yyreduce:
3390    case 48:
3391  
3392   /* Line 1806 of yacc.c  */
3393 < #line 462 "ircd_parser.y"
3393 > #line 458 "conf_parser.y"
3394      {
3395    if (conf_parser_ctx.pass == 2)
3396      mod_add_path(yylval.string);
3397   }
3398      break;
3399  
3400 <  case 65:
3400 >  case 72:
3401  
3402   /* Line 1806 of yacc.c  */
3403 < #line 482 "ircd_parser.y"
3403 > #line 483 "conf_parser.y"
3404      {
3405   #ifdef HAVE_LIBCRYPTO
3406 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3407 <    ServerInfo.tls_version = 0;
3406 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3407 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3408   #endif
3409   }
3410      break;
3411  
3412 <  case 66:
3412 >  case 73:
3413  
3414   /* Line 1806 of yacc.c  */
3415 < #line 488 "ircd_parser.y"
3415 > #line 489 "conf_parser.y"
3416      {
3417   #ifdef HAVE_LIBCRYPTO
3418 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3419 <  {
3439 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_SSLV3))
3440 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3441 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_TLSV1))
3442 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3443 <  }
3418 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3419 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3420   #endif
3421   }
3422      break;
3423  
3424 <  case 69:
3424 >  case 76:
3425  
3426   /* Line 1806 of yacc.c  */
3427 < #line 502 "ircd_parser.y"
3427 > #line 498 "conf_parser.y"
3428      {
3429   #ifdef HAVE_LIBCRYPTO
3430 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3431 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_SSLV3;
3430 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3431 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3432   #endif
3433   }
3434      break;
3435  
3436 <  case 70:
3436 >  case 77:
3437  
3438   /* Line 1806 of yacc.c  */
3439 < #line 508 "ircd_parser.y"
3439 > #line 504 "conf_parser.y"
3440      {
3441   #ifdef HAVE_LIBCRYPTO
3442 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3443 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_TLSV1;
3442 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3443 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3444   #endif
3445   }
3446      break;
3447  
3448 <  case 71:
3448 >  case 78:
3449  
3450   /* Line 1806 of yacc.c  */
3451 < #line 516 "ircd_parser.y"
3451 > #line 512 "conf_parser.y"
3452      {
3453   #ifdef HAVE_LIBCRYPTO
3454    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3484 | Line 3460 | yyreduce:
3460      }
3461  
3462      if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3463 +                                     SSL_FILETYPE_PEM) <= 0 ||
3464 +        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3465                                       SSL_FILETYPE_PEM) <= 0)
3466      {
3467        yyerror(ERR_lib_error_string(ERR_get_error()));
# Line 3491 | Line 3469 | yyreduce:
3469      }
3470  
3471      if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3472 +                                    SSL_FILETYPE_PEM) <= 0 ||
3473 +        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3474                                      SSL_FILETYPE_PEM) <= 0)
3475      {
3476        yyerror(ERR_lib_error_string(ERR_get_error()));
3477        break;
3478      }
3479  
3480 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx))
3480 >    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3481 >        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3482      {
3483        yyerror(ERR_lib_error_string(ERR_get_error()));
3484        break;
# Line 3507 | Line 3488 | yyreduce:
3488   }
3489      break;
3490  
3491 <  case 72:
3491 >  case 79:
3492  
3493   /* Line 1806 of yacc.c  */
3494 < #line 550 "ircd_parser.y"
3494 > #line 551 "conf_parser.y"
3495      {
3496   #ifdef HAVE_LIBCRYPTO
3497    if (conf_parser_ctx.pass == 1)
# Line 3537 | Line 3518 | yyreduce:
3518        break;
3519      }
3520  
3521 <    ServerInfo.rsa_private_key = (RSA *)PEM_read_bio_RSAPrivateKey(file, NULL,
3541 <      0, NULL);
3521 >    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3522  
3523      BIO_set_close(file, BIO_CLOSE);
3524      BIO_free(file);
# Line 3571 | Line 3551 | yyreduce:
3551   }
3552      break;
3553  
3554 <  case 73:
3554 >  case 80:
3555  
3556   /* Line 1806 of yacc.c  */
3557 < #line 610 "ircd_parser.y"
3557 > #line 610 "conf_parser.y"
3558 >    {
3559 > /* TBD - XXX: error reporting */
3560 > #ifdef HAVE_LIBCRYPTO
3561 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3562 >  {
3563 >    BIO *file = BIO_new_file(yylval.string, "r");
3564 >
3565 >    if (file)
3566 >    {
3567 >      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3568 >
3569 >      BIO_free(file);
3570 >
3571 >      if (dh)
3572 >      {
3573 >        SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3574 >        DH_free(dh);
3575 >      }
3576 >    }
3577 >  }
3578 > #endif
3579 > }
3580 >    break;
3581 >
3582 >  case 81:
3583 >
3584 > /* Line 1806 of yacc.c  */
3585 > #line 634 "conf_parser.y"
3586 >    {
3587 > #ifdef HAVE_LIBCRYPTO
3588 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3589 >    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3590 > #endif
3591 > }
3592 >    break;
3593 >
3594 >  case 82:
3595 >
3596 > /* Line 1806 of yacc.c  */
3597 > #line 642 "conf_parser.y"
3598      {
3599    /* this isn't rehashable */
3600    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3590 | Line 3610 | yyreduce:
3610   }
3611      break;
3612  
3613 <  case 74:
3613 >  case 83:
3614  
3615   /* Line 1806 of yacc.c  */
3616 < #line 625 "ircd_parser.y"
3616 > #line 657 "conf_parser.y"
3617      {
3618    /* this isn't rehashable */
3619    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3609 | Line 3629 | yyreduce:
3629   }
3630      break;
3631  
3632 <  case 75:
3632 >  case 84:
3633  
3634   /* Line 1806 of yacc.c  */
3635 < #line 640 "ircd_parser.y"
3635 > #line 672 "conf_parser.y"
3636      {
3637    if (conf_parser_ctx.pass == 2)
3638    {
# Line 3622 | Line 3642 | yyreduce:
3642   }
3643      break;
3644  
3645 <  case 76:
3645 >  case 85:
3646  
3647   /* Line 1806 of yacc.c  */
3648 < #line 649 "ircd_parser.y"
3648 > #line 681 "conf_parser.y"
3649      {
3650    if (conf_parser_ctx.pass == 2)
3651    {
# Line 3640 | Line 3660 | yyreduce:
3660   }
3661      break;
3662  
3663 <  case 77:
3663 >  case 86:
3664  
3665   /* Line 1806 of yacc.c  */
3666 < #line 663 "ircd_parser.y"
3666 > #line 695 "conf_parser.y"
3667      {
3668    if (conf_parser_ctx.pass == 2)
3669    {
# Line 3653 | Line 3673 | yyreduce:
3673   }
3674      break;
3675  
3676 <  case 78:
3676 >  case 87:
3677  
3678   /* Line 1806 of yacc.c  */
3679 < #line 672 "ircd_parser.y"
3679 > #line 704 "conf_parser.y"
3680      {
3681    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3682    {
# Line 3685 | Line 3705 | yyreduce:
3705   }
3706      break;
3707  
3708 <  case 79:
3708 >  case 88:
3709  
3710   /* Line 1806 of yacc.c  */
3711 < #line 700 "ircd_parser.y"
3711 > #line 732 "conf_parser.y"
3712      {
3713   #ifdef IPV6
3714    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3719 | Line 3739 | yyreduce:
3739   }
3740      break;
3741  
3742 <  case 80:
3742 >  case 89:
3743  
3744   /* Line 1806 of yacc.c  */
3745 < #line 730 "ircd_parser.y"
3745 > #line 762 "conf_parser.y"
3746      {
3747    if (conf_parser_ctx.pass == 2)
3748    {
# Line 3746 | Line 3766 | yyreduce:
3766   }
3767      break;
3768  
3769 <  case 81:
3769 >  case 90:
3770  
3771   /* Line 1806 of yacc.c  */
3772 < #line 753 "ircd_parser.y"
3772 > #line 785 "conf_parser.y"
3773      {
3774    if (conf_parser_ctx.pass == 2)
3775      ServerInfo.hub = yylval.number;
3776   }
3777      break;
3778  
3779 <  case 89:
3779 >  case 98:
3780  
3781   /* Line 1806 of yacc.c  */
3782 < #line 768 "ircd_parser.y"
3782 > #line 800 "conf_parser.y"
3783      {
3784    if (conf_parser_ctx.pass == 2)
3785    {
# Line 3769 | Line 3789 | yyreduce:
3789   }
3790      break;
3791  
3792 <  case 90:
3792 >  case 99:
3793  
3794   /* Line 1806 of yacc.c  */
3795 < #line 777 "ircd_parser.y"
3795 > #line 809 "conf_parser.y"
3796      {
3797    if (conf_parser_ctx.pass == 2)
3798    {
# Line 3782 | Line 3802 | yyreduce:
3802   }
3803      break;
3804  
3805 <  case 91:
3805 >  case 100:
3806  
3807   /* Line 1806 of yacc.c  */
3808 < #line 786 "ircd_parser.y"
3808 > #line 818 "conf_parser.y"
3809      {
3810    if (conf_parser_ctx.pass == 2)
3811    {
# Line 3795 | Line 3815 | yyreduce:
3815   }
3816      break;
3817  
3818 <  case 99:
3818 >  case 107:
3819  
3820   /* Line 1806 of yacc.c  */
3821 < #line 804 "ircd_parser.y"
3821 > #line 836 "conf_parser.y"
3822      {
3823    if (conf_parser_ctx.pass == 2)
3824      ConfigLoggingEntry.use_logging = yylval.number;
3825   }
3826      break;
3827  
3828 <  case 100:
3828 >  case 108:
3829  
3830   /* Line 1806 of yacc.c  */
3831 < #line 810 "ircd_parser.y"
3812 <    {
3813 <  if (conf_parser_ctx.pass == 2)
3814 <    ConfigLoggingEntry.timestamp = yylval.number;
3815 < }
3816 <    break;
3817 <
3818 <  case 101:
3819 <
3820 < /* Line 1806 of yacc.c  */
3821 < #line 816 "ircd_parser.y"
3831 > #line 842 "conf_parser.y"
3832      {
3833    lfile[0] = '\0';
3834    ltype = 0;
# Line 3826 | Line 3836 | yyreduce:
3836   }
3837      break;
3838  
3839 <  case 102:
3839 >  case 109:
3840  
3841   /* Line 1806 of yacc.c  */
3842 < #line 821 "ircd_parser.y"
3842 > #line 847 "conf_parser.y"
3843      {
3844    if (conf_parser_ctx.pass == 2 && ltype > 0)
3845      log_add_file(ltype, lsize, lfile);
3846   }
3847      break;
3848  
3849 <  case 109:
3849 >  case 116:
3850  
3851   /* Line 1806 of yacc.c  */
3852 < #line 833 "ircd_parser.y"
3852 > #line 859 "conf_parser.y"
3853      {
3854    strlcpy(lfile, yylval.string, sizeof(lfile));
3855   }
3856      break;
3857  
3858 <  case 110:
3858 >  case 117:
3859  
3860   /* Line 1806 of yacc.c  */
3861 < #line 838 "ircd_parser.y"
3861 > #line 864 "conf_parser.y"
3862      {
3863    lsize = (yyvsp[(3) - (4)].number);
3864   }
3865      break;
3866  
3867 <  case 111:
3867 >  case 118:
3868  
3869   /* Line 1806 of yacc.c  */
3870 < #line 841 "ircd_parser.y"
3870 > #line 867 "conf_parser.y"
3871      {
3872    lsize = 0;
3873   }
3874      break;
3875  
3876 <  case 112:
3876 >  case 119:
3877  
3878   /* Line 1806 of yacc.c  */
3879 < #line 846 "ircd_parser.y"
3879 > #line 872 "conf_parser.y"
3880      {
3881    if (conf_parser_ctx.pass == 2)
3882      ltype = 0;
3883   }
3884      break;
3885  
3886 <  case 116:
3886 >  case 123:
3887  
3888   /* Line 1806 of yacc.c  */
3889 < #line 853 "ircd_parser.y"
3889 > #line 879 "conf_parser.y"
3890      {
3891    if (conf_parser_ctx.pass == 2)
3892      ltype = LOG_TYPE_USER;
3893   }
3894      break;
3895  
3896 <  case 117:
3896 >  case 124:
3897  
3898   /* Line 1806 of yacc.c  */
3899 < #line 857 "ircd_parser.y"
3899 > #line 883 "conf_parser.y"
3900      {
3901    if (conf_parser_ctx.pass == 2)
3902      ltype = LOG_TYPE_OPER;
3903   }
3904      break;
3905  
3906 <  case 118:
3906 >  case 125:
3907  
3908   /* Line 1806 of yacc.c  */
3909 < #line 861 "ircd_parser.y"
3909 > #line 887 "conf_parser.y"
3910      {
3911    if (conf_parser_ctx.pass == 2)
3912      ltype = LOG_TYPE_GLINE;
3913   }
3914      break;
3915  
3916 <  case 119:
3916 >  case 126:
3917  
3918   /* Line 1806 of yacc.c  */
3919 < #line 865 "ircd_parser.y"
3919 > #line 891 "conf_parser.y"
3920      {
3921    if (conf_parser_ctx.pass == 2)
3922      ltype = LOG_TYPE_DLINE;
3923   }
3924      break;
3925  
3926 <  case 120:
3926 >  case 127:
3927  
3928   /* Line 1806 of yacc.c  */
3929 < #line 869 "ircd_parser.y"
3929 > #line 895 "conf_parser.y"
3930      {
3931    if (conf_parser_ctx.pass == 2)
3932      ltype = LOG_TYPE_KLINE;
3933   }
3934      break;
3935  
3936 <  case 121:
3936 >  case 128:
3937  
3938   /* Line 1806 of yacc.c  */
3939 < #line 873 "ircd_parser.y"
3939 > #line 899 "conf_parser.y"
3940      {
3941    if (conf_parser_ctx.pass == 2)
3942      ltype = LOG_TYPE_KILL;
3943   }
3944      break;
3945  
3946 <  case 122:
3946 >  case 129:
3947  
3948   /* Line 1806 of yacc.c  */
3949 < #line 877 "ircd_parser.y"
3949 > #line 903 "conf_parser.y"
3950      {
3951    if (conf_parser_ctx.pass == 2)
3952      ltype = LOG_TYPE_DEBUG;
3953   }
3954      break;
3955  
3956 <  case 123:
3956 >  case 130:
3957  
3958   /* Line 1806 of yacc.c  */
3959 < #line 887 "ircd_parser.y"
3959 > #line 913 "conf_parser.y"
3960      {
3961    if (conf_parser_ctx.pass == 2)
3962    {
# Line 3962 | Line 3972 | yyreduce:
3972   }
3973      break;
3974  
3975 <  case 124:
3975 >  case 131:
3976  
3977   /* Line 1806 of yacc.c  */
3978 < #line 900 "ircd_parser.y"
3978 > #line 926 "conf_parser.y"
3979      {
3980    if (conf_parser_ctx.pass == 2)
3981    {
# Line 4000 | Line 4010 | yyreduce:
4010          DupString(new_aconf->host, yy_tmp->host);
4011        else
4012          DupString(new_aconf->host, "*");
4013 +
4014 +      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->ipnum,
4015 +                                     &new_aconf->bits);
4016 +
4017        conf_add_class_to_conf(new_conf, class_name);
4018        if (yy_aconf->passwd != NULL)
4019          DupString(new_aconf->passwd, yy_aconf->passwd);
# Line 4047 | Line 4061 | yyreduce:
4061   }
4062      break;
4063  
4064 <  case 138:
4051 <
4052 < /* Line 1806 of yacc.c  */
4053 < #line 987 "ircd_parser.y"
4054 <    {
4055 <  if (conf_parser_ctx.pass == 2)
4056 <  {
4057 <    if (strlen(yylval.string) > OPERNICKLEN)
4058 <      yylval.string[OPERNICKLEN] = '\0';
4059 <
4060 <    MyFree(yy_conf->name);
4061 <    DupString(yy_conf->name, yylval.string);
4062 <  }
4063 < }
4064 <    break;
4065 <
4066 <  case 139:
4064 >  case 143:
4065  
4066   /* Line 1806 of yacc.c  */
4067 < #line 999 "ircd_parser.y"
4067 > #line 1016 "conf_parser.y"
4068      {
4069    if (conf_parser_ctx.pass == 2)
4070    {
# Line 4079 | Line 4077 | yyreduce:
4077   }
4078      break;
4079  
4080 <  case 140:
4080 >  case 144:
4081  
4082   /* Line 1806 of yacc.c  */
4083 < #line 1011 "ircd_parser.y"
4083 > #line 1028 "conf_parser.y"
4084      {
4085    if (conf_parser_ctx.pass == 2)
4086    {
# Line 4103 | Line 4101 | yyreduce:
4101      {
4102        DupString(yy_aconf->user, userbuf);
4103        DupString(yy_aconf->host, hostbuf);
4104 +
4105 +      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->ipnum,
4106 +                                    &yy_aconf->bits);
4107      }
4108      else
4109      {
# Line 4117 | Line 4118 | yyreduce:
4118   }
4119      break;
4120  
4121 <  case 141:
4121 >  case 145:
4122  
4123   /* Line 1806 of yacc.c  */
4124 < #line 1045 "ircd_parser.y"
4124 > #line 1065 "conf_parser.y"
4125      {
4126    if (conf_parser_ctx.pass == 2)
4127    {
# Line 4133 | Line 4134 | yyreduce:
4134   }
4135      break;
4136  
4137 <  case 142:
4137 >  case 146:
4138  
4139   /* Line 1806 of yacc.c  */
4140 < #line 1057 "ircd_parser.y"
4140 > #line 1077 "conf_parser.y"
4141      {
4142    if (conf_parser_ctx.pass == 2)
4143    {
# Line 4148 | Line 4149 | yyreduce:
4149   }
4150      break;
4151  
4152 <  case 143:
4152 >  case 147:
4153  
4154   /* Line 1806 of yacc.c  */
4155 < #line 1068 "ircd_parser.y"
4155 > #line 1088 "conf_parser.y"
4156      {
4157   #ifdef HAVE_LIBCRYPTO
4158    if (conf_parser_ctx.pass == 2)
# Line 4194 | Line 4195 | yyreduce:
4195   }
4196      break;
4197  
4198 <  case 144:
4198 >  case 148:
4199  
4200   /* Line 1806 of yacc.c  */
4201 < #line 1110 "ircd_parser.y"
4201 > #line 1130 "conf_parser.y"
4202      {
4203    if (conf_parser_ctx.pass == 2)
4204    {
# Line 4207 | Line 4208 | yyreduce:
4208   }
4209      break;
4210  
4211 <  case 145:
4211 >  case 149:
4212  
4213   /* Line 1806 of yacc.c  */
4214 < #line 1119 "ircd_parser.y"
4214 > #line 1139 "conf_parser.y"
4215      {
4216    if (conf_parser_ctx.pass == 2)
4217      yy_aconf->modes = 0;
4218   }
4219      break;
4220  
4221 <  case 149:
4221 >  case 153:
4222  
4223   /* Line 1806 of yacc.c  */
4224 < #line 1126 "ircd_parser.y"
4224 > #line 1146 "conf_parser.y"
4225      {
4226    if (conf_parser_ctx.pass == 2)
4227      yy_aconf->modes |= UMODE_BOTS;
4228   }
4229      break;
4230  
4231 <  case 150:
4231 >  case 154:
4232  
4233   /* Line 1806 of yacc.c  */
4234 < #line 1130 "ircd_parser.y"
4234 > #line 1150 "conf_parser.y"
4235      {
4236    if (conf_parser_ctx.pass == 2)
4237      yy_aconf->modes |= UMODE_CCONN;
4238   }
4239      break;
4240  
4241 <  case 151:
4241 >  case 155:
4242  
4243   /* Line 1806 of yacc.c  */
4244 < #line 1134 "ircd_parser.y"
4244 > #line 1154 "conf_parser.y"
4245      {
4246    if (conf_parser_ctx.pass == 2)
4247      yy_aconf->modes |= UMODE_CCONN_FULL;
4248   }
4249      break;
4250  
4251 <  case 152:
4251 >  case 156:
4252  
4253   /* Line 1806 of yacc.c  */
4254 < #line 1138 "ircd_parser.y"
4254 > #line 1158 "conf_parser.y"
4255      {
4256    if (conf_parser_ctx.pass == 2)
4257      yy_aconf->modes |= UMODE_DEAF;
4258   }
4259      break;
4260  
4261 <  case 153:
4261 >  case 157:
4262  
4263   /* Line 1806 of yacc.c  */
4264 < #line 1142 "ircd_parser.y"
4264 > #line 1162 "conf_parser.y"
4265      {
4266    if (conf_parser_ctx.pass == 2)
4267      yy_aconf->modes |= UMODE_DEBUG;
4268   }
4269      break;
4270  
4271 <  case 154:
4271 >  case 158:
4272  
4273   /* Line 1806 of yacc.c  */
4274 < #line 1146 "ircd_parser.y"
4274 > #line 1166 "conf_parser.y"
4275      {
4276    if (conf_parser_ctx.pass == 2)
4277      yy_aconf->modes |= UMODE_FULL;
4278   }
4279      break;
4280  
4281 <  case 155:
4281 >  case 159:
4282  
4283   /* Line 1806 of yacc.c  */
4284 < #line 1150 "ircd_parser.y"
4284 > #line 1170 "conf_parser.y"
4285 >    {
4286 >  if (conf_parser_ctx.pass == 2)
4287 >    yy_aconf->modes |= UMODE_HIDDEN;
4288 > }
4289 >    break;
4290 >
4291 >  case 160:
4292 >
4293 > /* Line 1806 of yacc.c  */
4294 > #line 1174 "conf_parser.y"
4295      {
4296    if (conf_parser_ctx.pass == 2)
4297      yy_aconf->modes |= UMODE_SKILL;
4298   }
4299      break;
4300  
4301 <  case 156:
4301 >  case 161:
4302  
4303   /* Line 1806 of yacc.c  */
4304 < #line 1154 "ircd_parser.y"
4304 > #line 1178 "conf_parser.y"
4305      {
4306    if (conf_parser_ctx.pass == 2)
4307      yy_aconf->modes |= UMODE_NCHANGE;
4308   }
4309      break;
4310  
4311 <  case 157:
4311 >  case 162:
4312  
4313   /* Line 1806 of yacc.c  */
4314 < #line 1158 "ircd_parser.y"
4314 > #line 1182 "conf_parser.y"
4315      {
4316    if (conf_parser_ctx.pass == 2)
4317      yy_aconf->modes |= UMODE_REJ;
4318   }
4319      break;
4320  
4321 <  case 158:
4321 >  case 163:
4322  
4323   /* Line 1806 of yacc.c  */
4324 < #line 1162 "ircd_parser.y"
4324 > #line 1186 "conf_parser.y"
4325      {
4326    if (conf_parser_ctx.pass == 2)
4327      yy_aconf->modes |= UMODE_UNAUTH;
4328   }
4329      break;
4330  
4331 <  case 159:
4331 >  case 164:
4332  
4333   /* Line 1806 of yacc.c  */
4334 < #line 1166 "ircd_parser.y"
4334 > #line 1190 "conf_parser.y"
4335      {
4336    if (conf_parser_ctx.pass == 2)
4337      yy_aconf->modes |= UMODE_SPY;
4338   }
4339      break;
4340  
4341 <  case 160:
4341 >  case 165:
4342  
4343   /* Line 1806 of yacc.c  */
4344 < #line 1170 "ircd_parser.y"
4344 > #line 1194 "conf_parser.y"
4345      {
4346    if (conf_parser_ctx.pass == 2)
4347      yy_aconf->modes |= UMODE_EXTERNAL;
4348   }
4349      break;
4350  
4351 <  case 161:
4351 >  case 166:
4352  
4353   /* Line 1806 of yacc.c  */
4354 < #line 1174 "ircd_parser.y"
4354 > #line 1198 "conf_parser.y"
4355      {
4356    if (conf_parser_ctx.pass == 2)
4357      yy_aconf->modes |= UMODE_OPERWALL;
4358   }
4359      break;
4360  
4361 <  case 162:
4361 >  case 167:
4362  
4363   /* Line 1806 of yacc.c  */
4364 < #line 1178 "ircd_parser.y"
4364 > #line 1202 "conf_parser.y"
4365      {
4366    if (conf_parser_ctx.pass == 2)
4367      yy_aconf->modes |= UMODE_SERVNOTICE;
4368   }
4369      break;
4370  
4371 <  case 163:
4371 >  case 168:
4372  
4373   /* Line 1806 of yacc.c  */
4374 < #line 1182 "ircd_parser.y"
4374 > #line 1206 "conf_parser.y"
4375      {
4376    if (conf_parser_ctx.pass == 2)
4377      yy_aconf->modes |= UMODE_INVISIBLE;
4378   }
4379      break;
4380  
4381 <  case 164:
4381 >  case 169:
4382  
4383   /* Line 1806 of yacc.c  */
4384 < #line 1186 "ircd_parser.y"
4384 > #line 1210 "conf_parser.y"
4385      {
4386    if (conf_parser_ctx.pass == 2)
4387      yy_aconf->modes |= UMODE_WALLOP;
4388   }
4389      break;
4390  
4391 <  case 165:
4391 >  case 170:
4392  
4393   /* Line 1806 of yacc.c  */
4394 < #line 1190 "ircd_parser.y"
4394 > #line 1214 "conf_parser.y"
4395      {
4396    if (conf_parser_ctx.pass == 2)
4397      yy_aconf->modes |= UMODE_SOFTCALLERID;
4398   }
4399      break;
4400  
4401 <  case 166:
4401 >  case 171:
4402  
4403   /* Line 1806 of yacc.c  */
4404 < #line 1194 "ircd_parser.y"
4404 > #line 1218 "conf_parser.y"
4405      {
4406    if (conf_parser_ctx.pass == 2)
4407      yy_aconf->modes |= UMODE_CALLERID;
4408   }
4409      break;
4410  
4411 <  case 167:
4411 >  case 172:
4412  
4413   /* Line 1806 of yacc.c  */
4414 < #line 1198 "ircd_parser.y"
4414 > #line 1222 "conf_parser.y"
4415      {
4416    if (conf_parser_ctx.pass == 2)
4417      yy_aconf->modes |= UMODE_LOCOPS;
4418   }
4419      break;
4420  
4421 <  case 168:
4421 >  case 173:
4422  
4423   /* Line 1806 of yacc.c  */
4424 < #line 1204 "ircd_parser.y"
4424 > #line 1228 "conf_parser.y"
4425      {
4426    if (conf_parser_ctx.pass == 2)
4427      yy_aconf->port = 0;
4428   }
4429      break;
4430  
4431 <  case 172:
4431 >  case 177:
4432  
4433   /* Line 1806 of yacc.c  */
4434 < #line 1211 "ircd_parser.y"
4434 > #line 1235 "conf_parser.y"
4435      {
4436    if (conf_parser_ctx.pass == 2)
4437      yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4438   }
4439      break;
4440  
4441 <  case 173:
4441 >  case 178:
4442  
4443   /* Line 1806 of yacc.c  */
4444 < #line 1215 "ircd_parser.y"
4444 > #line 1239 "conf_parser.y"
4445      {
4446    if (conf_parser_ctx.pass == 2)
4447      yy_aconf->port |= OPER_FLAG_REMOTE;
4448   }
4449      break;
4450  
4451 <  case 174:
4451 >  case 179:
4452  
4453   /* Line 1806 of yacc.c  */
4454 < #line 1219 "ircd_parser.y"
4454 > #line 1243 "conf_parser.y"
4455      {
4456    if (conf_parser_ctx.pass == 2)
4457      yy_aconf->port |= OPER_FLAG_K;
4458   }
4459      break;
4460  
4461 <  case 175:
4461 >  case 180:
4462  
4463   /* Line 1806 of yacc.c  */
4464 < #line 1223 "ircd_parser.y"
4464 > #line 1247 "conf_parser.y"
4465      {
4466    if (conf_parser_ctx.pass == 2)
4467      yy_aconf->port |= OPER_FLAG_UNKLINE;
4468   }
4469      break;
4470  
4471 <  case 176:
4471 >  case 181:
4472  
4473   /* Line 1806 of yacc.c  */
4474 < #line 1227 "ircd_parser.y"
4474 > #line 1251 "conf_parser.y"
4475      {
4476    if (conf_parser_ctx.pass == 2)
4477 <    yy_aconf->port |= OPER_FLAG_X;
4477 >    yy_aconf->port |= OPER_FLAG_DLINE;
4478   }
4479      break;
4480  
4481 <  case 177:
4481 >  case 182:
4482  
4483   /* Line 1806 of yacc.c  */
4484 < #line 1231 "ircd_parser.y"
4484 > #line 1255 "conf_parser.y"
4485      {
4486    if (conf_parser_ctx.pass == 2)
4487 <    yy_aconf->port |= OPER_FLAG_GLINE;
4487 >    yy_aconf->port |= OPER_FLAG_UNDLINE;
4488   }
4489      break;
4490  
4491 <  case 178:
4491 >  case 183:
4492  
4493   /* Line 1806 of yacc.c  */
4494 < #line 1235 "ircd_parser.y"
4494 > #line 1259 "conf_parser.y"
4495      {
4496    if (conf_parser_ctx.pass == 2)
4497 <    yy_aconf->port |= OPER_FLAG_DIE;
4497 >    yy_aconf->port |= OPER_FLAG_X;
4498   }
4499      break;
4500  
4501 <  case 179:
4501 >  case 184:
4502  
4503   /* Line 1806 of yacc.c  */
4504 < #line 1239 "ircd_parser.y"
4504 > #line 1263 "conf_parser.y"
4505      {
4506    if (conf_parser_ctx.pass == 2)
4507 <    yy_aconf->port |= OPER_FLAG_RESTART;
4507 >    yy_aconf->port |= OPER_FLAG_GLINE;
4508   }
4509      break;
4510  
4511 <  case 180:
4511 >  case 185:
4512  
4513   /* Line 1806 of yacc.c  */
4514 < #line 1243 "ircd_parser.y"
4514 > #line 1267 "conf_parser.y"
4515      {
4516    if (conf_parser_ctx.pass == 2)
4517 <    yy_aconf->port |= OPER_FLAG_REHASH;
4517 >    yy_aconf->port |= OPER_FLAG_DIE;
4518   }
4519      break;
4520  
4521 <  case 181:
4521 >  case 186:
4522  
4523   /* Line 1806 of yacc.c  */
4524 < #line 1247 "ircd_parser.y"
4524 > #line 1271 "conf_parser.y"
4525      {
4526    if (conf_parser_ctx.pass == 2)
4527 <    yy_aconf->port |= OPER_FLAG_ADMIN;
4527 >    yy_aconf->port |= OPER_FLAG_RESTART;
4528   }
4529      break;
4530  
4531 <  case 182:
4531 >  case 187:
4532  
4533   /* Line 1806 of yacc.c  */
4534 < #line 1251 "ircd_parser.y"
4534 > #line 1275 "conf_parser.y"
4535      {
4536    if (conf_parser_ctx.pass == 2)
4537 <    yy_aconf->port |= OPER_FLAG_HIDDEN_ADMIN;
4537 >    yy_aconf->port |= OPER_FLAG_REHASH;
4538   }
4539      break;
4540  
4541 <  case 183:
4541 >  case 188:
4542  
4543   /* Line 1806 of yacc.c  */
4544 < #line 1255 "ircd_parser.y"
4544 > #line 1279 "conf_parser.y"
4545      {
4546    if (conf_parser_ctx.pass == 2)
4547 <    yy_aconf->port |= OPER_FLAG_N;
4547 >    yy_aconf->port |= OPER_FLAG_ADMIN;
4548   }
4549      break;
4550  
4551 <  case 184:
4551 >  case 189:
4552  
4553   /* Line 1806 of yacc.c  */
4554 < #line 1259 "ircd_parser.y"
4554 > #line 1283 "conf_parser.y"
4555      {
4556    if (conf_parser_ctx.pass == 2)
4557 <    yy_aconf->port |= OPER_FLAG_OPERWALL;
4557 >    yy_aconf->port |= OPER_FLAG_N;
4558   }
4559      break;
4560  
4561 <  case 185:
4561 >  case 190:
4562  
4563   /* Line 1806 of yacc.c  */
4564 < #line 1263 "ircd_parser.y"
4564 > #line 1287 "conf_parser.y"
4565      {
4566    if (conf_parser_ctx.pass == 2)
4567 <    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4567 >    yy_aconf->port |= OPER_FLAG_OPERWALL;
4568   }
4569      break;
4570  
4571 <  case 186:
4571 >  case 191:
4572  
4573   /* Line 1806 of yacc.c  */
4574 < #line 1267 "ircd_parser.y"
4574 > #line 1291 "conf_parser.y"
4575      {
4576    if (conf_parser_ctx.pass == 2)
4577 <    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4577 >    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4578   }
4579      break;
4580  
4581 <  case 187:
4581 >  case 192:
4582  
4583   /* Line 1806 of yacc.c  */
4584 < #line 1271 "ircd_parser.y"
4584 > #line 1295 "conf_parser.y"
4585      {
4586    if (conf_parser_ctx.pass == 2)
4587 <    yy_aconf->port |= OPER_FLAG_HIDDEN_OPER;
4587 >    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4588   }
4589      break;
4590  
4591 <  case 188:
4591 >  case 193:
4592  
4593   /* Line 1806 of yacc.c  */
4594 < #line 1275 "ircd_parser.y"
4594 > #line 1299 "conf_parser.y"
4595      {
4596    if (conf_parser_ctx.pass == 2)
4597      yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4598   }
4599      break;
4600  
4601 <  case 189:
4601 >  case 194:
4602  
4603   /* Line 1806 of yacc.c  */
4604 < #line 1279 "ircd_parser.y"
4604 > #line 1303 "conf_parser.y"
4605      {
4606    if (conf_parser_ctx.pass == 2)
4607      yy_aconf->port |= OPER_FLAG_MODULE;
4608   }
4609      break;
4610  
4611 <  case 190:
4611 >  case 195:
4612  
4613   /* Line 1806 of yacc.c  */
4614 < #line 1289 "ircd_parser.y"
4614 > #line 1313 "conf_parser.y"
4615      {
4616    if (conf_parser_ctx.pass == 1)
4617    {
# Line 4610 | Line 4621 | yyreduce:
4621   }
4622      break;
4623  
4624 <  case 191:
4624 >  case 196:
4625  
4626   /* Line 1806 of yacc.c  */
4627 < #line 1296 "ircd_parser.y"
4627 > #line 1320 "conf_parser.y"
4628      {
4629    if (conf_parser_ctx.pass == 1)
4630    {
# Line 4624 | Line 4635 | yyreduce:
4635        delete_conf_item(yy_conf);
4636      else
4637      {
4638 <      cconf = find_exact_name_conf(CLASS_TYPE, yy_class_name, NULL, NULL);
4638 >      cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL);
4639  
4640        if (cconf != NULL)                /* The class existed already */
4641        {
# Line 4657 | Line 4668 | yyreduce:
4668   }
4669      break;
4670  
4671 <  case 210:
4661 <
4662 < /* Line 1806 of yacc.c  */
4663 < #line 1356 "ircd_parser.y"
4664 <    {
4665 <  if (conf_parser_ctx.pass == 1)
4666 <  {
4667 <    MyFree(yy_class_name);
4668 <    DupString(yy_class_name, yylval.string);
4669 <  }
4670 < }
4671 <    break;
4672 <
4673 <  case 211:
4671 >  case 213:
4672  
4673   /* Line 1806 of yacc.c  */
4674 < #line 1365 "ircd_parser.y"
4674 > #line 1378 "conf_parser.y"
4675      {
4676    if (conf_parser_ctx.pass == 1)
4677    {
# Line 4683 | Line 4681 | yyreduce:
4681   }
4682      break;
4683  
4684 <  case 212:
4684 >  case 214:
4685  
4686   /* Line 1806 of yacc.c  */
4687 < #line 1374 "ircd_parser.y"
4687 > #line 1387 "conf_parser.y"
4688      {
4689    if (conf_parser_ctx.pass == 1)
4690      PingFreq(yy_class) = (yyvsp[(3) - (4)].number);
4691   }
4692      break;
4693  
4694 <  case 213:
4694 >  case 215:
4695  
4696   /* Line 1806 of yacc.c  */
4697 < #line 1380 "ircd_parser.y"
4697 > #line 1393 "conf_parser.y"
4698      {
4699    if (conf_parser_ctx.pass == 1)
4700      PingWarning(yy_class) = (yyvsp[(3) - (4)].number);
4701   }
4702      break;
4703  
4704 <  case 214:
4704 >  case 216:
4705  
4706   /* Line 1806 of yacc.c  */
4707 < #line 1386 "ircd_parser.y"
4707 > #line 1399 "conf_parser.y"
4708      {
4709    if (conf_parser_ctx.pass == 1)
4710      MaxPerIp(yy_class) = (yyvsp[(3) - (4)].number);
4711   }
4712      break;
4713  
4714 <  case 215:
4714 >  case 217:
4715  
4716   /* Line 1806 of yacc.c  */
4717 < #line 1392 "ircd_parser.y"
4717 > #line 1405 "conf_parser.y"
4718      {
4719    if (conf_parser_ctx.pass == 1)
4720      ConFreq(yy_class) = (yyvsp[(3) - (4)].number);
4721   }
4722      break;
4723  
4724 <  case 216:
4724 >  case 218:
4725  
4726   /* Line 1806 of yacc.c  */
4727 < #line 1398 "ircd_parser.y"
4727 > #line 1411 "conf_parser.y"
4728      {
4729    if (conf_parser_ctx.pass == 1)
4730      MaxTotal(yy_class) = (yyvsp[(3) - (4)].number);
4731   }
4732      break;
4733  
4734 <  case 217:
4734 >  case 219:
4735  
4736   /* Line 1806 of yacc.c  */
4737 < #line 1404 "ircd_parser.y"
4737 > #line 1417 "conf_parser.y"
4738      {
4739    if (conf_parser_ctx.pass == 1)
4740      MaxGlobal(yy_class) = (yyvsp[(3) - (4)].number);
4741   }
4742      break;
4743  
4744 <  case 218:
4744 >  case 220:
4745  
4746   /* Line 1806 of yacc.c  */
4747 < #line 1410 "ircd_parser.y"
4747 > #line 1423 "conf_parser.y"
4748      {
4749    if (conf_parser_ctx.pass == 1)
4750      MaxLocal(yy_class) = (yyvsp[(3) - (4)].number);
4751   }
4752      break;
4753  
4754 <  case 219:
4754 >  case 221:
4755  
4756   /* Line 1806 of yacc.c  */
4757 < #line 1416 "ircd_parser.y"
4757 > #line 1429 "conf_parser.y"
4758      {
4759    if (conf_parser_ctx.pass == 1)
4760      MaxIdent(yy_class) = (yyvsp[(3) - (4)].number);
4761   }
4762      break;
4763  
4764 <  case 220:
4764 >  case 222:
4765  
4766   /* Line 1806 of yacc.c  */
4767 < #line 1422 "ircd_parser.y"
4767 > #line 1435 "conf_parser.y"
4768      {
4769    if (conf_parser_ctx.pass == 1)
4770      MaxSendq(yy_class) = (yyvsp[(3) - (4)].number);
4771   }
4772      break;
4773  
4774 <  case 221:
4774 >  case 223:
4775  
4776   /* Line 1806 of yacc.c  */
4777 < #line 1428 "ircd_parser.y"
4777 > #line 1441 "conf_parser.y"
4778      {
4779    if (conf_parser_ctx.pass == 1)
4780      CidrBitlenIPV4(yy_class) = (yyvsp[(3) - (4)].number);
4781   }
4782      break;
4783  
4784 <  case 222:
4784 >  case 224:
4785  
4786   /* Line 1806 of yacc.c  */
4787 < #line 1434 "ircd_parser.y"
4787 > #line 1447 "conf_parser.y"
4788      {
4789    if (conf_parser_ctx.pass == 1)
4790      CidrBitlenIPV6(yy_class) = (yyvsp[(3) - (4)].number);
4791   }
4792      break;
4793  
4794 <  case 223:
4794 >  case 225:
4795  
4796   /* Line 1806 of yacc.c  */
4797 < #line 1440 "ircd_parser.y"
4797 > #line 1453 "conf_parser.y"
4798      {
4799    if (conf_parser_ctx.pass == 1)
4800      NumberPerCidr(yy_class) = (yyvsp[(3) - (4)].number);
4801   }
4802      break;
4803  
4804 <  case 224:
4804 >  case 226:
4805  
4806   /* Line 1806 of yacc.c  */
4807 < #line 1449 "ircd_parser.y"
4807 > #line 1462 "conf_parser.y"
4808      {
4809    if (conf_parser_ctx.pass == 2)
4810    {
# Line 4816 | Line 4814 | yyreduce:
4814   }
4815      break;
4816  
4817 <  case 225:
4817 >  case 227:
4818  
4819   /* Line 1806 of yacc.c  */
4820 < #line 1456 "ircd_parser.y"
4820 > #line 1469 "conf_parser.y"
4821      {
4822    if (conf_parser_ctx.pass == 2)
4823    {
# Line 4829 | Line 4827 | yyreduce:
4827   }
4828      break;
4829  
4830 <  case 226:
4830 >  case 228:
4831  
4832   /* Line 1806 of yacc.c  */
4833 < #line 1465 "ircd_parser.y"
4833 > #line 1478 "conf_parser.y"
4834      {
4835    listener_flags = 0;
4836   }
4837      break;
4838  
4839 <  case 230:
4839 >  case 232:
4840  
4841   /* Line 1806 of yacc.c  */
4842 < #line 1471 "ircd_parser.y"
4842 > #line 1484 "conf_parser.y"
4843      {
4844    if (conf_parser_ctx.pass == 2)
4845      listener_flags |= LISTENER_SSL;
4846   }
4847      break;
4848  
4849 <  case 231:
4849 >  case 233:
4850  
4851   /* Line 1806 of yacc.c  */
4852 < #line 1475 "ircd_parser.y"
4852 > #line 1488 "conf_parser.y"
4853      {
4854    if (conf_parser_ctx.pass == 2)
4855      listener_flags |= LISTENER_HIDDEN;
4856   }
4857      break;
4858  
4859 <  case 232:
4859 >  case 234:
4860  
4861   /* Line 1806 of yacc.c  */
4862 < #line 1479 "ircd_parser.y"
4862 > #line 1492 "conf_parser.y"
4863      {
4864    if (conf_parser_ctx.pass == 2)
4865      listener_flags |= LISTENER_SERVER;
4866   }
4867      break;
4868  
4869 <  case 240:
4869 >  case 242:
4870  
4871   /* Line 1806 of yacc.c  */
4872 < #line 1489 "ircd_parser.y"
4872 > #line 1502 "conf_parser.y"
4873      { listener_flags = 0; }
4874      break;
4875  
4876 <  case 244:
4876 >  case 246:
4877  
4878   /* Line 1806 of yacc.c  */
4879 < #line 1494 "ircd_parser.y"
4879 > #line 1507 "conf_parser.y"
4880      {
4881    if (conf_parser_ctx.pass == 2)
4882    {
# Line 4895 | Line 4893 | yyreduce:
4893   }
4894      break;
4895  
4896 <  case 245:
4896 >  case 247:
4897  
4898   /* Line 1806 of yacc.c  */
4899 < #line 1508 "ircd_parser.y"
4899 > #line 1521 "conf_parser.y"
4900      {
4901    if (conf_parser_ctx.pass == 2)
4902    {
# Line 4919 | Line 4917 | yyreduce:
4917   }
4918      break;
4919  
4920 <  case 246:
4920 >  case 248:
4921  
4922   /* Line 1806 of yacc.c  */
4923 < #line 1528 "ircd_parser.y"
4923 > #line 1541 "conf_parser.y"
4924      {
4925    if (conf_parser_ctx.pass == 2)
4926    {
# Line 4932 | Line 4930 | yyreduce:
4930   }
4931      break;
4932  
4933 <  case 247:
4933 >  case 249:
4934  
4935   /* Line 1806 of yacc.c  */
4936 < #line 1537 "ircd_parser.y"
4936 > #line 1550 "conf_parser.y"
4937      {
4938    if (conf_parser_ctx.pass == 2)
4939    {
# Line 4945 | Line 4943 | yyreduce:
4943   }
4944      break;
4945  
4946 <  case 248:
4946 >  case 250:
4947  
4948   /* Line 1806 of yacc.c  */
4949 < #line 1549 "ircd_parser.y"
4949 > #line 1562 "conf_parser.y"
4950      {
4951    if (conf_parser_ctx.pass == 2)
4952    {
# Line 4963 | Line 4961 | yyreduce:
4961   }
4962      break;
4963  
4964 <  case 249:
4964 >  case 251:
4965  
4966   /* Line 1806 of yacc.c  */
4967 < #line 1561 "ircd_parser.y"
4967 > #line 1574 "conf_parser.y"
4968      {
4969    if (conf_parser_ctx.pass == 2)
4970    {
# Line 5024 | Line 5022 | yyreduce:
5022   }
5023      break;
5024  
5025 <  case 261:
5025 >  case 263:
5026  
5027   /* Line 1806 of yacc.c  */
5028 < #line 1623 "ircd_parser.y"
5028 > #line 1636 "conf_parser.y"
5029      {
5030    if (conf_parser_ctx.pass == 2)
5031    {
# Line 5063 | Line 5061 | yyreduce:
5061   }
5062      break;
5063  
5064 <  case 262:
5064 >  case 264:
5065  
5066   /* Line 1806 of yacc.c  */
5067 < #line 1660 "ircd_parser.y"
5067 > #line 1673 "conf_parser.y"
5068      {
5069    if (conf_parser_ctx.pass == 2)
5070    {
# Line 5080 | Line 5078 | yyreduce:
5078   }
5079      break;
5080  
5081 <  case 263:
5081 >  case 265:
5082  
5083   /* Line 1806 of yacc.c  */
5084 < #line 1673 "ircd_parser.y"
5084 > #line 1686 "conf_parser.y"
5085      {
5086    if (conf_parser_ctx.pass == 2)
5087    {
# Line 5093 | Line 5091 | yyreduce:
5091   }
5092      break;
5093  
5094 <  case 264:
5094 >  case 266:
5095  
5096   /* Line 1806 of yacc.c  */
5097 < #line 1682 "ircd_parser.y"
5097 > #line 1695 "conf_parser.y"
5098      {
5099    if (conf_parser_ctx.pass == 2)
5100    {
# Line 5108 | Line 5106 | yyreduce:
5106   }
5107      break;
5108  
5109 <  case 265:
5109 >  case 267:
5110  
5111   /* Line 1806 of yacc.c  */
5112 < #line 1693 "ircd_parser.y"
5112 > #line 1706 "conf_parser.y"
5113      {
5114   }
5115      break;
5116  
5117 <  case 269:
5117 >  case 271:
5118  
5119   /* Line 1806 of yacc.c  */
5120 < #line 1698 "ircd_parser.y"
5120 > #line 1711 "conf_parser.y"
5121      {
5122    if (conf_parser_ctx.pass == 2)
5123      yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5124   }
5125      break;
5126  
5127 <  case 270:
5127 >  case 272:
5128  
5129   /* Line 1806 of yacc.c  */
5130 < #line 1702 "ircd_parser.y"
5130 > #line 1715 "conf_parser.y"
5131      {
5132    if (conf_parser_ctx.pass == 2)
5133      yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5134   }
5135      break;
5136  
5137 <  case 271:
5137 >  case 273:
5138  
5139   /* Line 1806 of yacc.c  */
5140 < #line 1706 "ircd_parser.y"
5140 > #line 1719 "conf_parser.y"
5141      {
5142    if (conf_parser_ctx.pass == 2)
5143      yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5144   }
5145      break;
5146  
5147 <  case 272:
5147 >  case 274:
5148  
5149   /* Line 1806 of yacc.c  */
5150 < #line 1710 "ircd_parser.y"
5150 > #line 1723 "conf_parser.y"
5151      {
5152    if (conf_parser_ctx.pass == 2)
5153      yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5154   }
5155      break;
5156  
5157 <  case 273:
5157 >  case 275:
5158  
5159   /* Line 1806 of yacc.c  */
5160 < #line 1714 "ircd_parser.y"
5160 > #line 1727 "conf_parser.y"
5161      {
5162    if (conf_parser_ctx.pass == 2)
5163      yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5164   }
5165      break;
5166  
5167 <  case 274:
5167 >  case 276:
5168  
5169   /* Line 1806 of yacc.c  */
5170 < #line 1718 "ircd_parser.y"
5170 > #line 1731 "conf_parser.y"
5171      {
5172    if (conf_parser_ctx.pass == 2)
5173      yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5174   }
5175      break;
5176  
5177 <  case 275:
5177 >  case 277:
5178  
5179   /* Line 1806 of yacc.c  */
5180 < #line 1722 "ircd_parser.y"
5180 > #line 1735 "conf_parser.y"
5181      {
5182    if (conf_parser_ctx.pass == 2)
5183      yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5184   }
5185      break;
5186  
5187 <  case 276:
5187 >  case 278:
5188  
5189   /* Line 1806 of yacc.c  */
5190 < #line 1726 "ircd_parser.y"
5190 > #line 1739 "conf_parser.y"
5191      {
5192    if (conf_parser_ctx.pass == 2)
5193      yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5194   }
5195      break;
5196  
5197 <  case 277:
5197 >  case 279:
5198  
5199   /* Line 1806 of yacc.c  */
5200 < #line 1730 "ircd_parser.y"
5200 > #line 1743 "conf_parser.y"
5201      {
5202    if (conf_parser_ctx.pass == 2)
5203      yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5204   }
5205      break;
5206  
5207 <  case 278:
5207 >  case 280:
5208  
5209   /* Line 1806 of yacc.c  */
5210 < #line 1737 "ircd_parser.y"
5210 > #line 1750 "conf_parser.y"
5211      {
5212    if (conf_parser_ctx.pass == 2)
5213    {
# Line 5229 | Line 5227 | yyreduce:
5227   }
5228      break;
5229  
5230 <  case 279:
5230 >  case 281:
5231  
5232   /* Line 1806 of yacc.c  */
5233 < #line 1756 "ircd_parser.y"
5233 > #line 1769 "conf_parser.y"
5234      {
5235    if (conf_parser_ctx.pass == 2)
5236    {
# Line 5243 | Line 5241 | yyreduce:
5241   }
5242      break;
5243  
5244 <  case 280:
5244 >  case 282:
5245  
5246   /* Line 1806 of yacc.c  */
5247 < #line 1766 "ircd_parser.y"
5247 > #line 1779 "conf_parser.y"
5248      {
5249    if (conf_parser_ctx.pass == 2)
5250    {
# Line 5256 | Line 5254 | yyreduce:
5254   }
5255      break;
5256  
5257 <  case 281:
5257 >  case 283:
5258  
5259   /* Line 1806 of yacc.c  */
5260 < #line 1779 "ircd_parser.y"
5260 > #line 1792 "conf_parser.y"
5261      {
5262    if (conf_parser_ctx.pass == 2)
5263    {
# Line 5269 | Line 5267 | yyreduce:
5267   }
5268      break;
5269  
5270 <  case 282:
5270 >  case 284:
5271  
5272   /* Line 1806 of yacc.c  */
5273 < #line 1786 "ircd_parser.y"
5273 > #line 1799 "conf_parser.y"
5274      {
5275    if (conf_parser_ctx.pass == 2)
5276    {
# Line 5282 | Line 5280 | yyreduce:
5280   }
5281      break;
5282  
5283 <  case 289:
5283 >  case 291:
5284  
5285   /* Line 1806 of yacc.c  */
5286 < #line 1798 "ircd_parser.y"
5286 > #line 1811 "conf_parser.y"
5287      {
5288    if (conf_parser_ctx.pass == 2)
5289    {
# Line 5295 | Line 5293 | yyreduce:
5293   }
5294      break;
5295  
5296 <  case 290:
5296 >  case 292:
5297  
5298   /* Line 1806 of yacc.c  */
5299 < #line 1807 "ircd_parser.y"
5299 > #line 1820 "conf_parser.y"
5300      {
5301    if (conf_parser_ctx.pass == 2)
5302    {
# Line 5314 | Line 5312 | yyreduce:
5312   }
5313      break;
5314  
5315 <  case 291:
5315 >  case 293:
5316  
5317   /* Line 1806 of yacc.c  */
5318 < #line 1822 "ircd_parser.y"
5318 > #line 1835 "conf_parser.y"
5319      {
5320    if (conf_parser_ctx.pass == 2)
5321    {
# Line 5328 | Line 5326 | yyreduce:
5326   }
5327      break;
5328  
5329 <  case 297:
5329 >  case 299:
5330  
5331   /* Line 1806 of yacc.c  */
5332 < #line 1840 "ircd_parser.y"
5332 > #line 1853 "conf_parser.y"
5333      {
5334    if (conf_parser_ctx.pass == 2)
5335    {
# Line 5344 | Line 5342 | yyreduce:
5342   }
5343      break;
5344  
5345 <  case 298:
5345 >  case 300:
5346  
5347   /* Line 1806 of yacc.c  */
5348 < #line 1855 "ircd_parser.y"
5348 > #line 1868 "conf_parser.y"
5349      {
5350    if (conf_parser_ctx.pass == 2)
5351    {
# Line 5358 | Line 5356 | yyreduce:
5356   }
5357      break;
5358  
5359 <  case 299:
5359 >  case 301:
5360  
5361   /* Line 1806 of yacc.c  */
5362 < #line 1863 "ircd_parser.y"
5362 > #line 1876 "conf_parser.y"
5363      {
5364    if (conf_parser_ctx.pass == 2)
5365    {
# Line 5370 | Line 5368 | yyreduce:
5368   }
5369      break;
5370  
5371 <  case 306:
5371 >  case 308:
5372  
5373   /* Line 1806 of yacc.c  */
5374 < #line 1874 "ircd_parser.y"
5374 > #line 1887 "conf_parser.y"
5375      {
5376    if (conf_parser_ctx.pass == 2)
5377    {
# Line 5383 | Line 5381 | yyreduce:
5381   }
5382      break;
5383  
5384 <  case 307:
5384 >  case 309:
5385  
5386   /* Line 1806 of yacc.c  */
5387 < #line 1883 "ircd_parser.y"
5387 > #line 1896 "conf_parser.y"
5388      {
5389    if (conf_parser_ctx.pass == 2)
5390    {
# Line 5409 | Line 5407 | yyreduce:
5407   }
5408      break;
5409  
5410 <  case 308:
5410 >  case 310:
5411  
5412   /* Line 1806 of yacc.c  */
5413 < #line 1905 "ircd_parser.y"
5413 > #line 1918 "conf_parser.y"
5414      {
5415    if (conf_parser_ctx.pass == 2)
5416      yy_match_item->action = 0;
5417   }
5418      break;
5419  
5420 <  case 312:
5420 >  case 314:
5421  
5422   /* Line 1806 of yacc.c  */
5423 < #line 1912 "ircd_parser.y"
5423 > #line 1925 "conf_parser.y"
5424      {
5425    if (conf_parser_ctx.pass == 2)
5426      yy_match_item->action |= SHARED_KLINE;
5427   }
5428      break;
5429  
5430 <  case 313:
5430 >  case 315:
5431  
5432   /* Line 1806 of yacc.c  */
5433 < #line 1916 "ircd_parser.y"
5433 > #line 1929 "conf_parser.y"
5434      {
5435    if (conf_parser_ctx.pass == 2)
5436 <    yy_match_item->action |= SHARED_TKLINE;
5436 >    yy_match_item->action |= SHARED_UNKLINE;
5437   }
5438      break;
5439  
5440 <  case 314:
5440 >  case 316:
5441  
5442   /* Line 1806 of yacc.c  */
5443 < #line 1920 "ircd_parser.y"
5443 > #line 1933 "conf_parser.y"
5444      {
5445    if (conf_parser_ctx.pass == 2)
5446 <    yy_match_item->action |= SHARED_UNKLINE;
5446 >    yy_match_item->action |= SHARED_DLINE;
5447   }
5448      break;
5449  
5450 <  case 315:
5450 >  case 317:
5451  
5452   /* Line 1806 of yacc.c  */
5453 < #line 1924 "ircd_parser.y"
5453 > #line 1937 "conf_parser.y"
5454      {
5455    if (conf_parser_ctx.pass == 2)
5456 <    yy_match_item->action |= SHARED_XLINE;
5456 >    yy_match_item->action |= SHARED_UNDLINE;
5457   }
5458      break;
5459  
5460 <  case 316:
5460 >  case 318:
5461  
5462   /* Line 1806 of yacc.c  */
5463 < #line 1928 "ircd_parser.y"
5463 > #line 1941 "conf_parser.y"
5464      {
5465    if (conf_parser_ctx.pass == 2)
5466 <    yy_match_item->action |= SHARED_TXLINE;
5466 >    yy_match_item->action |= SHARED_XLINE;
5467   }
5468      break;
5469  
5470 <  case 317:
5470 >  case 319:
5471  
5472   /* Line 1806 of yacc.c  */
5473 < #line 1932 "ircd_parser.y"
5473 > #line 1945 "conf_parser.y"
5474      {
5475    if (conf_parser_ctx.pass == 2)
5476      yy_match_item->action |= SHARED_UNXLINE;
5477   }
5478      break;
5479  
5480 <  case 318:
5480 >  case 320:
5481  
5482   /* Line 1806 of yacc.c  */
5483 < #line 1936 "ircd_parser.y"
5483 > #line 1949 "conf_parser.y"
5484      {
5485    if (conf_parser_ctx.pass == 2)
5486      yy_match_item->action |= SHARED_RESV;
5487   }
5488      break;
5489  
5490 <  case 319:
5493 <
5494 < /* Line 1806 of yacc.c  */
5495 < #line 1940 "ircd_parser.y"
5496 <    {
5497 <  if (conf_parser_ctx.pass == 2)
5498 <    yy_match_item->action |= SHARED_TRESV;
5499 < }
5500 <    break;
5501 <
5502 <  case 320:
5490 >  case 321:
5491  
5492   /* Line 1806 of yacc.c  */
5493 < #line 1944 "ircd_parser.y"
5493 > #line 1953 "conf_parser.y"
5494      {
5495    if (conf_parser_ctx.pass == 2)
5496      yy_match_item->action |= SHARED_UNRESV;
5497   }
5498      break;
5499  
5500 <  case 321:
5500 >  case 322:
5501  
5502   /* Line 1806 of yacc.c  */
5503 < #line 1948 "ircd_parser.y"
5503 > #line 1957 "conf_parser.y"
5504      {
5505    if (conf_parser_ctx.pass == 2)
5506      yy_match_item->action |= SHARED_LOCOPS;
5507   }
5508      break;
5509  
5510 <  case 322:
5510 >  case 323:
5511  
5512   /* Line 1806 of yacc.c  */
5513 < #line 1952 "ircd_parser.y"
5513 > #line 1961 "conf_parser.y"
5514      {
5515    if (conf_parser_ctx.pass == 2)
5516      yy_match_item->action = SHARED_ALL;
5517   }
5518      break;
5519  
5520 <  case 323:
5520 >  case 324:
5521  
5522   /* Line 1806 of yacc.c  */
5523 < #line 1961 "ircd_parser.y"
5523 > #line 1970 "conf_parser.y"
5524      {
5525    if (conf_parser_ctx.pass == 2)
5526    {
# Line 5542 | Line 5530 | yyreduce:
5530   }
5531      break;
5532  
5533 <  case 324:
5533 >  case 325:
5534  
5535   /* Line 1806 of yacc.c  */
5536 < #line 1968 "ircd_parser.y"
5536 > #line 1977 "conf_parser.y"
5537      {
5538    if (conf_parser_ctx.pass == 2)
5539    {
# Line 5556 | Line 5544 | yyreduce:
5544   }
5545      break;
5546  
5547 <  case 330:
5547 >  case 331:
5548  
5549   /* Line 1806 of yacc.c  */
5550 < #line 1981 "ircd_parser.y"
5550 > #line 1990 "conf_parser.y"
5551      {
5552    if (conf_parser_ctx.pass == 2)
5553      DupString(yy_conf->name, yylval.string);
5554   }
5555      break;
5556  
5557 <  case 331:
5557 >  case 332:
5558  
5559   /* Line 1806 of yacc.c  */
5560 < #line 1987 "ircd_parser.y"
5560 > #line 1996 "conf_parser.y"
5561      {
5562    if (conf_parser_ctx.pass == 2)
5563      yy_conf->flags = 0;
5564   }
5565      break;
5566  
5579  case 335:
5580
5581 /* Line 1806 of yacc.c  */
5582 #line 1994 "ircd_parser.y"
5583    {
5584  if (conf_parser_ctx.pass == 2)
5585    yy_conf->flags |= SHARED_KLINE;
5586 }
5587    break;
5588
5567    case 336:
5568  
5569   /* Line 1806 of yacc.c  */
5570 < #line 1998 "ircd_parser.y"
5570 > #line 2003 "conf_parser.y"
5571      {
5572    if (conf_parser_ctx.pass == 2)
5573 <    yy_conf->flags |= SHARED_TKLINE;
5573 >    yy_conf->flags |= SHARED_KLINE;
5574   }
5575      break;
5576  
5577    case 337:
5578  
5579   /* Line 1806 of yacc.c  */
5580 < #line 2002 "ircd_parser.y"
5580 > #line 2007 "conf_parser.y"
5581      {
5582    if (conf_parser_ctx.pass == 2)
5583      yy_conf->flags |= SHARED_UNKLINE;
# Line 5609 | Line 5587 | yyreduce:
5587    case 338:
5588  
5589   /* Line 1806 of yacc.c  */
5590 < #line 2006 "ircd_parser.y"
5590 > #line 2011 "conf_parser.y"
5591      {
5592    if (conf_parser_ctx.pass == 2)
5593 <    yy_conf->flags |= SHARED_XLINE;
5593 >    yy_conf->flags |= SHARED_DLINE;
5594   }
5595      break;
5596  
5597    case 339:
5598  
5599   /* Line 1806 of yacc.c  */
5600 < #line 2010 "ircd_parser.y"
5600 > #line 2015 "conf_parser.y"
5601      {
5602    if (conf_parser_ctx.pass == 2)
5603 <    yy_conf->flags |= SHARED_TXLINE;
5603 >    yy_conf->flags |= SHARED_UNDLINE;
5604   }
5605      break;
5606  
5607    case 340:
5608  
5609   /* Line 1806 of yacc.c  */
5610 < #line 2014 "ircd_parser.y"
5610 > #line 2019 "conf_parser.y"
5611      {
5612    if (conf_parser_ctx.pass == 2)
5613 <    yy_conf->flags |= SHARED_UNXLINE;
5613 >    yy_conf->flags |= SHARED_XLINE;
5614   }
5615      break;
5616  
5617    case 341:
5618  
5619   /* Line 1806 of yacc.c  */
5620 < #line 2018 "ircd_parser.y"
5620 > #line 2023 "conf_parser.y"
5621      {
5622    if (conf_parser_ctx.pass == 2)
5623 <    yy_conf->flags |= SHARED_RESV;
5623 >    yy_conf->flags |= SHARED_UNXLINE;
5624   }
5625      break;
5626  
5627    case 342:
5628  
5629   /* Line 1806 of yacc.c  */
5630 < #line 2022 "ircd_parser.y"
5630 > #line 2027 "conf_parser.y"
5631      {
5632    if (conf_parser_ctx.pass == 2)
5633 <    yy_conf->flags |= SHARED_TRESV;
5633 >    yy_conf->flags |= SHARED_RESV;
5634   }
5635      break;
5636  
5637    case 343:
5638  
5639   /* Line 1806 of yacc.c  */
5640 < #line 2026 "ircd_parser.y"
5640 > #line 2031 "conf_parser.y"
5641      {
5642    if (conf_parser_ctx.pass == 2)
5643      yy_conf->flags |= SHARED_UNRESV;
# Line 5669 | Line 5647 | yyreduce:
5647    case 344:
5648  
5649   /* Line 1806 of yacc.c  */
5650 < #line 2030 "ircd_parser.y"
5650 > #line 2035 "conf_parser.y"
5651      {
5652    if (conf_parser_ctx.pass == 2)
5653      yy_conf->flags |= SHARED_LOCOPS;
# Line 5679 | Line 5657 | yyreduce:
5657    case 345:
5658  
5659   /* Line 1806 of yacc.c  */
5660 < #line 2034 "ircd_parser.y"
5660 > #line 2039 "conf_parser.y"
5661      {
5662    if (conf_parser_ctx.pass == 2)
5663      yy_conf->flags = SHARED_ALL;
# Line 5689 | Line 5667 | yyreduce:
5667    case 346:
5668  
5669   /* Line 1806 of yacc.c  */
5670 < #line 2043 "ircd_parser.y"
5670 > #line 2048 "conf_parser.y"
5671      {
5672    if (conf_parser_ctx.pass == 2)
5673    {
5674      yy_conf = make_conf_item(SERVER_TYPE);
5675 <    yy_aconf = (struct AccessItem *)map_to_conf(yy_conf);
5676 <    yy_aconf->passwd = NULL;
5675 >    yy_aconf = map_to_conf(yy_conf);
5676 >
5677      /* defaults */
5678      yy_aconf->port = PORTNUM;
5679    }
# Line 5710 | Line 5688 | yyreduce:
5688    case 347:
5689  
5690   /* Line 1806 of yacc.c  */
5691 < #line 2058 "ircd_parser.y"
5691 > #line 2063 "conf_parser.y"
5692      {
5693    if (conf_parser_ctx.pass == 2)
5694    {
5695      struct CollectItem *yy_hconf=NULL;
5696      struct CollectItem *yy_lconf=NULL;
5697 <    dlink_node *ptr;
5698 <    dlink_node *next_ptr;
5721 < #ifdef HAVE_LIBCRYPTO
5697 >    dlink_node *ptr = NULL, *next_ptr = NULL;
5698 >
5699      if (yy_aconf->host &&
5700 <        ((yy_aconf->passwd && yy_aconf->spasswd) ||
5701 <         (yy_aconf->rsa_public_key && IsConfCryptLink(yy_aconf))))
5702 < #else /* !HAVE_LIBCRYPTO */
5703 <      if (yy_aconf->host && !IsConfCryptLink(yy_aconf) &&
5704 <          yy_aconf->passwd && yy_aconf->spasswd)
5705 < #endif /* !HAVE_LIBCRYPTO */
5706 <        {
5707 <          if (conf_add_server(yy_conf, class_name) == -1)
5708 <          {
5709 <            delete_conf_item(yy_conf);
5710 <            yy_conf = NULL;
5711 <            yy_aconf = NULL;
5712 <          }
5713 <        }
5714 <        else
5738 <        {
5739 <          /* Even if yy_conf ->name is NULL
5740 <           * should still unhook any hub/leaf confs still pending
5741 <           */
5742 <          unhook_hub_leaf_confs();
5700 >        yy_aconf->passwd && yy_aconf->spasswd)
5701 >    {
5702 >      if (conf_add_server(yy_conf, class_name) == -1)
5703 >      {
5704 >        delete_conf_item(yy_conf);
5705 >        yy_conf = NULL;
5706 >        yy_aconf = NULL;
5707 >      }
5708 >    }
5709 >    else
5710 >    {
5711 >      /* Even if yy_conf ->name is NULL
5712 >       * should still unhook any hub/leaf confs still pending
5713 >       */
5714 >      unhook_hub_leaf_confs();
5715  
5716 <          if (yy_conf->name != NULL)
5717 <          {
5718 < #ifndef HAVE_LIBCRYPTO
5719 <            if (IsConfCryptLink(yy_aconf))
5720 <              yyerror("Ignoring connect block -- no OpenSSL support");
5721 < #else
5722 <            if (IsConfCryptLink(yy_aconf) && !yy_aconf->rsa_public_key)
5751 <              yyerror("Ignoring connect block -- missing key");
5752 < #endif
5753 <            if (yy_aconf->host == NULL)
5754 <              yyerror("Ignoring connect block -- missing host");
5755 <            else if (!IsConfCryptLink(yy_aconf) &&
5756 <                    (!yy_aconf->passwd || !yy_aconf->spasswd))
5757 <              yyerror("Ignoring connect block -- missing password");
5758 <          }
5716 >      if (yy_conf->name != NULL)
5717 >      {
5718 >        if (yy_aconf->host == NULL)
5719 >          yyerror("Ignoring connect block -- missing host");
5720 >        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5721 >          yyerror("Ignoring connect block -- missing password");
5722 >      }
5723  
5724  
5725 <          /* XXX
5726 <           * This fixes a try_connections() core (caused by invalid class_ptr
5727 <           * pointers) reported by metalrock. That's an ugly fix, but there
5728 <           * is currently no better way. The entire config subsystem needs an
5729 <           * rewrite ASAP. make_conf_item() shouldn't really add things onto
5730 <           * a doubly linked list immediately without any sanity checks!  -Michael
5731 <           */
5732 <          delete_conf_item(yy_conf);
5725 >      /* XXX
5726 >       * This fixes a try_connections() core (caused by invalid class_ptr
5727 >       * pointers) reported by metalrock. That's an ugly fix, but there
5728 >       * is currently no better way. The entire config subsystem needs an
5729 >       * rewrite ASAP. make_conf_item() shouldn't really add things onto
5730 >       * a doubly linked list immediately without any sanity checks!  -Michael
5731 >       */
5732 >      delete_conf_item(yy_conf);
5733  
5734 <          yy_aconf = NULL;
5735 <          yy_conf = NULL;
5736 <        }
5734 >      yy_aconf = NULL;
5735 >      yy_conf = NULL;
5736 >    }
5737  
5738        /*
5739         * yy_conf is still pointing at the server that is having
# Line 5839 | Line 5803 | yyreduce:
5803   }
5804      break;
5805  
5806 <  case 367:
5843 <
5844 < /* Line 1806 of yacc.c  */
5845 < #line 2196 "ircd_parser.y"
5846 <    {
5847 <  if (conf_parser_ctx.pass == 2)
5848 <  {
5849 <    if (yy_conf->name != NULL)
5850 <      yyerror("Multiple connect name entry");
5851 <
5852 <    MyFree(yy_conf->name);
5853 <    DupString(yy_conf->name, yylval.string);
5854 <  }
5855 < }
5856 <    break;
5857 <
5858 <  case 368:
5806 >  case 364:
5807  
5808   /* Line 1806 of yacc.c  */
5809 < #line 2208 "ircd_parser.y"
5809 > #line 2185 "conf_parser.y"
5810      {
5811    if (conf_parser_ctx.pass == 2)
5812    {
# Line 5871 | Line 5819 | yyreduce:
5819   }
5820      break;
5821  
5822 <  case 369:
5822 >  case 365:
5823  
5824   /* Line 1806 of yacc.c  */
5825 < #line 2220 "ircd_parser.y"
5825 > #line 2197 "conf_parser.y"
5826      {
5827    if (conf_parser_ctx.pass == 2)
5828    {
# Line 5884 | Line 5832 | yyreduce:
5832   }
5833      break;
5834  
5835 <  case 370:
5835 >  case 366:
5836  
5837   /* Line 1806 of yacc.c  */
5838 < #line 2229 "ircd_parser.y"
5838 > #line 2206 "conf_parser.y"
5839      {
5840    if (conf_parser_ctx.pass == 2)
5841    {
# Line 5914 | Line 5862 | yyreduce:
5862   }
5863      break;
5864  
5865 <  case 371:
5865 >  case 367:
5866  
5867   /* Line 1806 of yacc.c  */
5868 < #line 2255 "ircd_parser.y"
5868 > #line 2232 "conf_parser.y"
5869      {
5870    if (conf_parser_ctx.pass == 2)
5871    {
# Line 5936 | Line 5884 | yyreduce:
5884   }
5885      break;
5886  
5887 <  case 372:
5887 >  case 368:
5888  
5889   /* Line 1806 of yacc.c  */
5890 < #line 2273 "ircd_parser.y"
5890 > #line 2250 "conf_parser.y"
5891      {
5892    if (conf_parser_ctx.pass == 2)
5893    {
# Line 5958 | Line 5906 | yyreduce:
5906   }
5907      break;
5908  
5909 <  case 373:
5909 >  case 369:
5910  
5911   /* Line 1806 of yacc.c  */
5912 < #line 2291 "ircd_parser.y"
5912 > #line 2268 "conf_parser.y"
5913      {
5914    if (conf_parser_ctx.pass == 2)
5915      yy_aconf->port = (yyvsp[(3) - (4)].number);
5916   }
5917      break;
5918  
5919 <  case 374:
5919 >  case 370:
5920  
5921   /* Line 1806 of yacc.c  */
5922 < #line 2297 "ircd_parser.y"
5922 > #line 2274 "conf_parser.y"
5923      {
5924    if (conf_parser_ctx.pass == 2)
5925      yy_aconf->aftype = AF_INET;
5926   }
5927      break;
5928  
5929 <  case 375:
5929 >  case 371:
5930  
5931   /* Line 1806 of yacc.c  */
5932 < #line 2301 "ircd_parser.y"
5932 > #line 2278 "conf_parser.y"
5933      {
5934   #ifdef IPV6
5935    if (conf_parser_ctx.pass == 2)
# Line 5990 | Line 5938 | yyreduce:
5938   }
5939      break;
5940  
5941 <  case 376:
5994 <
5995 < /* Line 1806 of yacc.c  */
5996 < #line 2309 "ircd_parser.y"
5997 <    {
5998 < }
5999 <    break;
6000 <
6001 <  case 380:
6002 <
6003 < /* Line 1806 of yacc.c  */
6004 < #line 2314 "ircd_parser.y"
6005 <    {
6006 <  if (conf_parser_ctx.pass == 2)
6007 < #ifndef HAVE_LIBZ
6008 <    yyerror("Ignoring flags = compressed; -- no zlib support");
6009 < #else
6010 < {
6011 <   SetConfCompressed(yy_aconf);
6012 < }
6013 < #endif
6014 < }
6015 <    break;
6016 <
6017 <  case 381:
5941 >  case 372:
5942  
5943   /* Line 1806 of yacc.c  */
5944 < #line 2324 "ircd_parser.y"
5944 > #line 2286 "conf_parser.y"
5945      {
6022  if (conf_parser_ctx.pass == 2)
6023    SetConfCryptLink(yy_aconf);
5946   }
5947      break;
5948  
5949 <  case 382:
5949 >  case 376:
5950  
5951   /* Line 1806 of yacc.c  */
5952 < #line 2328 "ircd_parser.y"
5952 > #line 2291 "conf_parser.y"
5953      {
5954    if (conf_parser_ctx.pass == 2)
5955      SetConfAllowAutoConn(yy_aconf);
5956   }
5957      break;
5958  
5959 <  case 383:
5959 >  case 377:
5960  
5961   /* Line 1806 of yacc.c  */
5962 < #line 2332 "ircd_parser.y"
5962 > #line 2295 "conf_parser.y"
5963      {
5964    if (conf_parser_ctx.pass == 2)
5965      SetConfAwayBurst(yy_aconf);
5966   }
5967      break;
5968  
5969 <  case 384:
5969 >  case 378:
5970  
5971   /* Line 1806 of yacc.c  */
5972 < #line 2336 "ircd_parser.y"
5972 > #line 2299 "conf_parser.y"
5973      {
5974    if (conf_parser_ctx.pass == 2)
5975      SetConfTopicBurst(yy_aconf);
5976   }
5977      break;
5978  
5979 <  case 385:
5979 >  case 379:
5980  
5981   /* Line 1806 of yacc.c  */
5982 < #line 2342 "ircd_parser.y"
5982 > #line 2303 "conf_parser.y"
5983      {
6062 #ifdef HAVE_LIBCRYPTO
5984    if (conf_parser_ctx.pass == 2)
5985 <  {
6065 <    BIO *file;
6066 <
6067 <    if (yy_aconf->rsa_public_key != NULL)
6068 <    {
6069 <      RSA_free(yy_aconf->rsa_public_key);
6070 <      yy_aconf->rsa_public_key = NULL;
6071 <    }
6072 <
6073 <    if (yy_aconf->rsa_public_key_file != NULL)
6074 <    {
6075 <      MyFree(yy_aconf->rsa_public_key_file);
6076 <      yy_aconf->rsa_public_key_file = NULL;
6077 <    }
6078 <
6079 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
6080 <
6081 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
6082 <    {
6083 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
6084 <      break;
6085 <    }
6086 <
6087 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
6088 <
6089 <    if (yy_aconf->rsa_public_key == NULL)
6090 <    {
6091 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
6092 <      break;
6093 <    }
6094 <      
6095 <    BIO_set_close(file, BIO_CLOSE);
6096 <    BIO_free(file);
6097 <  }
6098 < #endif /* HAVE_LIBCRYPTO */
5985 >    SetConfSSL(yy_aconf);
5986   }
5987      break;
5988  
5989 <  case 386:
5989 >  case 380:
5990  
5991   /* Line 1806 of yacc.c  */
5992 < #line 2383 "ircd_parser.y"
5992 > #line 2309 "conf_parser.y"
5993      {
5994    if (conf_parser_ctx.pass == 2)
5995    {
# Line 6114 | Line 6001 | yyreduce:
6001   }
6002      break;
6003  
6004 <  case 387:
6004 >  case 381:
6005  
6006   /* Line 1806 of yacc.c  */
6007 < #line 2394 "ircd_parser.y"
6007 > #line 2320 "conf_parser.y"
6008      {
6009    if (conf_parser_ctx.pass == 2)
6010    {
# Line 6131 | Line 6018 | yyreduce:
6018   }
6019      break;
6020  
6021 <  case 388:
6021 >  case 382:
6022  
6023   /* Line 1806 of yacc.c  */
6024 < #line 2407 "ircd_parser.y"
6024 > #line 2333 "conf_parser.y"
6025      {
6026    if (conf_parser_ctx.pass == 2)
6027    {
# Line 6148 | Line 6035 | yyreduce:
6035   }
6036      break;
6037  
6038 <  case 389:
6038 >  case 383:
6039  
6040   /* Line 1806 of yacc.c  */
6041 < #line 2420 "ircd_parser.y"
6041 > #line 2346 "conf_parser.y"
6042      {
6043    if (conf_parser_ctx.pass == 2)
6044    {
# Line 6161 | Line 6048 | yyreduce:
6048   }
6049      break;
6050  
6051 <  case 390:
6051 >  case 384:
6052  
6053   /* Line 1806 of yacc.c  */
6054 < #line 2429 "ircd_parser.y"
6054 > #line 2355 "conf_parser.y"
6055      {
6056   #ifdef HAVE_LIBCRYPTO
6057    if (conf_parser_ctx.pass == 2)
6058    {
6059 <    struct EncCapability *ecap;
6060 <    const char *cipher_name;
6174 <    int found = 0;
6175 <
6176 <    yy_aconf->cipher_preference = NULL;
6177 <    cipher_name = yylval.string;
6178 <
6179 <    for (ecap = CipherTable; ecap->name; ecap++)
6180 <    {
6181 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6182 <          (ecap->cap & CAP_ENC_MASK))
6183 <      {
6184 <        yy_aconf->cipher_preference = ecap;
6185 <        found = 1;
6186 <        break;
6187 <      }
6188 <    }
6189 <
6190 <    if (!found)
6191 <      yyerror("Invalid cipher");
6059 >    MyFree(yy_aconf->cipher_list);
6060 >    DupString(yy_aconf->cipher_list, yylval.string);
6061    }
6062   #else
6063    if (conf_parser_ctx.pass == 2)
6064 <    yyerror("Ignoring cipher_preference -- no OpenSSL support");
6064 >    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
6065   #endif
6066   }
6067      break;
6068  
6069 <  case 391:
6069 >  case 385:
6070  
6071   /* Line 1806 of yacc.c  */
6072 < #line 2464 "ircd_parser.y"
6072 > #line 2373 "conf_parser.y"
6073      {
6074    if (conf_parser_ctx.pass == 2)
6075    {
# Line 6210 | Line 6079 | yyreduce:
6079   }
6080      break;
6081  
6082 <  case 392:
6082 >  case 386:
6083  
6084   /* Line 1806 of yacc.c  */
6085 < #line 2471 "ircd_parser.y"
6085 > #line 2380 "conf_parser.y"
6086      {
6087    if (conf_parser_ctx.pass == 2)
6088    {
# Line 6270 | Line 6139 | yyreduce:
6139   }
6140      break;
6141  
6142 <  case 393:
6142 >  case 387:
6143  
6144   /* Line 1806 of yacc.c  */
6145 < #line 2527 "ircd_parser.y"
6145 > #line 2436 "conf_parser.y"
6146      {
6147   }
6148      break;
6149  
6150 <  case 397:
6150 >  case 391:
6151  
6152   /* Line 1806 of yacc.c  */
6153 < #line 2532 "ircd_parser.y"
6153 > #line 2441 "conf_parser.y"
6154      {
6155    if (conf_parser_ctx.pass == 2)
6156      regex_ban = 1;
6157   }
6158      break;
6159  
6160 <  case 404:
6160 >  case 398:
6161  
6162   /* Line 1806 of yacc.c  */
6163 < #line 2541 "ircd_parser.y"
6163 > #line 2450 "conf_parser.y"
6164      {
6165    if (conf_parser_ctx.pass == 2)
6166    {
# Line 6311 | Line 6180 | yyreduce:
6180   }
6181      break;
6182  
6183 <  case 405:
6183 >  case 399:
6184  
6185   /* Line 1806 of yacc.c  */
6186 < #line 2560 "ircd_parser.y"
6186 > #line 2469 "conf_parser.y"
6187      {
6188    if (conf_parser_ctx.pass == 2)
6189      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6190   }
6191      break;
6192  
6193 <  case 406:
6193 >  case 400:
6194  
6195   /* Line 1806 of yacc.c  */
6196 < #line 2569 "ircd_parser.y"
6196 > #line 2478 "conf_parser.y"
6197      {
6198    if (conf_parser_ctx.pass == 2)
6199      hostbuf[0] = reasonbuf[0] = '\0';
6200   }
6201      break;
6202  
6203 <  case 407:
6203 >  case 401:
6204  
6205   /* Line 1806 of yacc.c  */
6206 < #line 2573 "ircd_parser.y"
6206 > #line 2482 "conf_parser.y"
6207      {
6208    if (conf_parser_ctx.pass == 2)
6209    {
# Line 6354 | Line 6223 | yyreduce:
6223   }
6224      break;
6225  
6226 <  case 413:
6226 >  case 407:
6227  
6228   /* Line 1806 of yacc.c  */
6229 < #line 2595 "ircd_parser.y"
6229 > #line 2504 "conf_parser.y"
6230      {
6231    if (conf_parser_ctx.pass == 2)
6232      strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
6233   }
6234      break;
6235  
6236 <  case 414:
6236 >  case 408:
6237  
6238   /* Line 1806 of yacc.c  */
6239 < #line 2601 "ircd_parser.y"
6239 > #line 2510 "conf_parser.y"
6240      {
6241    if (conf_parser_ctx.pass == 2)
6242      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6243   }
6244      break;
6245  
6246 <  case 420:
6246 >  case 414:
6247  
6248   /* Line 1806 of yacc.c  */
6249 < #line 2615 "ircd_parser.y"
6249 > #line 2524 "conf_parser.y"
6250      {
6251    if (conf_parser_ctx.pass == 2)
6252    {
# Line 6393 | Line 6262 | yyreduce:
6262   }
6263      break;
6264  
6265 <  case 421:
6265 >  case 415:
6266  
6267   /* Line 1806 of yacc.c  */
6268 < #line 2633 "ircd_parser.y"
6268 > #line 2542 "conf_parser.y"
6269      {
6270    if (conf_parser_ctx.pass == 2)
6271    {
# Line 6406 | Line 6275 | yyreduce:
6275   }
6276      break;
6277  
6278 <  case 422:
6278 >  case 416:
6279  
6280   /* Line 1806 of yacc.c  */
6281 < #line 2640 "ircd_parser.y"
6281 > #line 2549 "conf_parser.y"
6282      {
6283    if (conf_parser_ctx.pass == 2)
6284    {
# Line 6450 | Line 6319 | yyreduce:
6319   }
6320      break;
6321  
6322 <  case 423:
6322 >  case 417:
6323  
6324   /* Line 1806 of yacc.c  */
6325 < #line 2680 "ircd_parser.y"
6325 > #line 2589 "conf_parser.y"
6326      {
6327   }
6328      break;
6329  
6330 <  case 427:
6330 >  case 421:
6331  
6332   /* Line 1806 of yacc.c  */
6333 < #line 2685 "ircd_parser.y"
6333 > #line 2594 "conf_parser.y"
6334      {
6335    if (conf_parser_ctx.pass == 2)
6336      regex_ban = 1;
6337   }
6338      break;
6339  
6340 <  case 434:
6340 >  case 428:
6341  
6342   /* Line 1806 of yacc.c  */
6343 < #line 2694 "ircd_parser.y"
6343 > #line 2603 "conf_parser.y"
6344      {
6345    if (conf_parser_ctx.pass == 2)
6346      strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
6347   }
6348      break;
6349  
6350 <  case 435:
6350 >  case 429:
6351  
6352   /* Line 1806 of yacc.c  */
6353 < #line 2700 "ircd_parser.y"
6353 > #line 2609 "conf_parser.y"
6354      {
6355    if (conf_parser_ctx.pass == 2)
6356      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6357   }
6358      break;
6359  
6360 <  case 494:
6360 >  case 485:
6361  
6362   /* Line 1806 of yacc.c  */
6363 < #line 2745 "ircd_parser.y"
6363 > #line 2653 "conf_parser.y"
6364      {
6365    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
6366   }
6367      break;
6368  
6369 <  case 495:
6369 >  case 486:
6370  
6371   /* Line 1806 of yacc.c  */
6372 < #line 2750 "ircd_parser.y"
6372 > #line 2658 "conf_parser.y"
6373      {
6374    ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
6375   }
6376      break;
6377  
6378 <  case 496:
6378 >  case 487:
6379  
6380   /* Line 1806 of yacc.c  */
6381 < #line 2755 "ircd_parser.y"
6381 > #line 2663 "conf_parser.y"
6382      {
6383    ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
6384   }
6385      break;
6386  
6387 <  case 497:
6387 >  case 488:
6388  
6389   /* Line 1806 of yacc.c  */
6390 < #line 2760 "ircd_parser.y"
6390 > #line 2668 "conf_parser.y"
6391      {
6392    ConfigFileEntry.use_whois_actually = yylval.number;
6393   }
6394      break;
6395  
6396 <  case 498:
6396 >  case 489:
6397  
6398   /* Line 1806 of yacc.c  */
6399 < #line 2765 "ircd_parser.y"
6399 > #line 2673 "conf_parser.y"
6400      {
6401    GlobalSetOptions.rejecttime = yylval.number;
6402   }
6403      break;
6404  
6405 <  case 499:
6405 >  case 490:
6406  
6407   /* Line 1806 of yacc.c  */
6408 < #line 2770 "ircd_parser.y"
6408 > #line 2678 "conf_parser.y"
6409      {
6410    ConfigFileEntry.tkline_expire_notices = yylval.number;
6411   }
6412      break;
6413  
6414 <  case 500:
6414 >  case 491:
6415  
6416   /* Line 1806 of yacc.c  */
6417 < #line 2775 "ircd_parser.y"
6417 > #line 2683 "conf_parser.y"
6418      {
6419    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
6420   }
6421      break;
6422  
6423 <  case 501:
6423 >  case 492:
6424  
6425   /* Line 1806 of yacc.c  */
6426 < #line 2780 "ircd_parser.y"
6426 > #line 2688 "conf_parser.y"
6427      {
6428    ConfigFileEntry.hide_spoof_ips = yylval.number;
6429   }
6430      break;
6431  
6432 <  case 502:
6432 >  case 493:
6433  
6434   /* Line 1806 of yacc.c  */
6435 < #line 2785 "ircd_parser.y"
6435 > #line 2693 "conf_parser.y"
6436      {
6437    ConfigFileEntry.ignore_bogus_ts = yylval.number;
6438   }
6439      break;
6440  
6441 <  case 503:
6441 >  case 494:
6442  
6443   /* Line 1806 of yacc.c  */
6444 < #line 2790 "ircd_parser.y"
6444 > #line 2698 "conf_parser.y"
6445      {
6446    ConfigFileEntry.disable_remote = yylval.number;
6447   }
6448      break;
6449  
6450 <  case 504:
6450 >  case 495:
6451  
6452   /* Line 1806 of yacc.c  */
6453 < #line 2795 "ircd_parser.y"
6453 > #line 2703 "conf_parser.y"
6454      {
6455    ConfigFileEntry.failed_oper_notice = yylval.number;
6456   }
6457      break;
6458  
6459 <  case 505:
6459 >  case 496:
6460  
6461   /* Line 1806 of yacc.c  */
6462 < #line 2800 "ircd_parser.y"
6462 > #line 2708 "conf_parser.y"
6463      {
6464    ConfigFileEntry.anti_nick_flood = yylval.number;
6465   }
6466      break;
6467  
6468 <  case 506:
6468 >  case 497:
6469  
6470   /* Line 1806 of yacc.c  */
6471 < #line 2805 "ircd_parser.y"
6471 > #line 2713 "conf_parser.y"
6472      {
6473    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
6474   }
6475      break;
6476  
6477 <  case 507:
6477 >  case 498:
6478  
6479   /* Line 1806 of yacc.c  */
6480 < #line 2810 "ircd_parser.y"
6480 > #line 2718 "conf_parser.y"
6481      {
6482    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6483   }
6484      break;
6485  
6486 <  case 508:
6486 >  case 499:
6487  
6488   /* Line 1806 of yacc.c  */
6489 < #line 2815 "ircd_parser.y"
6489 > #line 2723 "conf_parser.y"
6490      {
6491    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6492   }
6493      break;
6494  
6495 <  case 509:
6495 >  case 500:
6496  
6497   /* Line 1806 of yacc.c  */
6498 < #line 2820 "ircd_parser.y"
6498 > #line 2728 "conf_parser.y"
6499      {
6500    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6501   }
6502      break;
6503  
6504 <  case 510:
6504 >  case 501:
6505  
6506   /* Line 1806 of yacc.c  */
6507 < #line 2825 "ircd_parser.y"
6507 > #line 2733 "conf_parser.y"
6508      {
6509    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6510   }
6511      break;
6512  
6513 <  case 511:
6513 >  case 502:
6514  
6515   /* Line 1806 of yacc.c  */
6516 < #line 2830 "ircd_parser.y"
6516 > #line 2738 "conf_parser.y"
6517      {
6518    if (conf_parser_ctx.pass == 2)
6519      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6520   }
6521      break;
6522  
6523 <  case 512:
6523 >  case 503:
6524  
6525   /* Line 1806 of yacc.c  */
6526 < #line 2836 "ircd_parser.y"
6526 > #line 2744 "conf_parser.y"
6527      {
6528    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6529    {
# Line 6666 | Line 6535 | yyreduce:
6535   }
6536      break;
6537  
6538 <  case 513:
6538 >  case 504:
6539  
6540   /* Line 1806 of yacc.c  */
6541 < #line 2847 "ircd_parser.y"
6541 > #line 2755 "conf_parser.y"
6542      {
6543    ConfigFileEntry.kline_with_reason = yylval.number;
6544   }
6545      break;
6546  
6547 <  case 514:
6547 >  case 505:
6548  
6549   /* Line 1806 of yacc.c  */
6550 < #line 2852 "ircd_parser.y"
6550 > #line 2760 "conf_parser.y"
6551      {
6552    if (conf_parser_ctx.pass == 2)
6553    {
# Line 6688 | Line 6557 | yyreduce:
6557   }
6558      break;
6559  
6560 <  case 515:
6560 >  case 506:
6561  
6562   /* Line 1806 of yacc.c  */
6563 < #line 2861 "ircd_parser.y"
6563 > #line 2769 "conf_parser.y"
6564      {
6565    ConfigFileEntry.invisible_on_connect = yylval.number;
6566   }
6567      break;
6568  
6569 <  case 516:
6569 >  case 507:
6570  
6571   /* Line 1806 of yacc.c  */
6572 < #line 2866 "ircd_parser.y"
6572 > #line 2774 "conf_parser.y"
6573      {
6574    ConfigFileEntry.warn_no_nline = yylval.number;
6575   }
6576      break;
6577  
6578 <  case 517:
6578 >  case 508:
6579  
6580   /* Line 1806 of yacc.c  */
6581 < #line 2871 "ircd_parser.y"
6581 > #line 2779 "conf_parser.y"
6582      {
6583    ConfigFileEntry.stats_e_disabled = yylval.number;
6584   }
6585      break;
6586  
6587 <  case 518:
6587 >  case 509:
6588  
6589   /* Line 1806 of yacc.c  */
6590 < #line 2876 "ircd_parser.y"
6590 > #line 2784 "conf_parser.y"
6591      {
6592    ConfigFileEntry.stats_o_oper_only = yylval.number;
6593   }
6594      break;
6595  
6596 <  case 519:
6596 >  case 510:
6597  
6598   /* Line 1806 of yacc.c  */
6599 < #line 2881 "ircd_parser.y"
6599 > #line 2789 "conf_parser.y"
6600      {
6601    ConfigFileEntry.stats_P_oper_only = yylval.number;
6602   }
6603      break;
6604  
6605 <  case 520:
6605 >  case 511:
6606  
6607   /* Line 1806 of yacc.c  */
6608 < #line 2886 "ircd_parser.y"
6608 > #line 2794 "conf_parser.y"
6609      {
6610    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6611   }
6612      break;
6613  
6614 <  case 521:
6614 >  case 512:
6615  
6616   /* Line 1806 of yacc.c  */
6617 < #line 2889 "ircd_parser.y"
6617 > #line 2797 "conf_parser.y"
6618      {
6619    ConfigFileEntry.stats_k_oper_only = 1;
6620   }
6621      break;
6622  
6623 <  case 522:
6623 >  case 513:
6624  
6625   /* Line 1806 of yacc.c  */
6626 < #line 2894 "ircd_parser.y"
6626 > #line 2802 "conf_parser.y"
6627      {
6628    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6629   }
6630      break;
6631  
6632 <  case 523:
6632 >  case 514:
6633  
6634   /* Line 1806 of yacc.c  */
6635 < #line 2897 "ircd_parser.y"
6635 > #line 2805 "conf_parser.y"
6636      {
6637    ConfigFileEntry.stats_i_oper_only = 1;
6638   }
6639      break;
6640  
6641 <  case 524:
6641 >  case 515:
6642  
6643   /* Line 1806 of yacc.c  */
6644 < #line 2902 "ircd_parser.y"
6644 > #line 2810 "conf_parser.y"
6645      {
6646    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6647   }
6648      break;
6649  
6650 <  case 525:
6650 >  case 516:
6651  
6652   /* Line 1806 of yacc.c  */
6653 < #line 2907 "ircd_parser.y"
6653 > #line 2815 "conf_parser.y"
6654      {
6655    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6656   }
6657      break;
6658  
6659 <  case 526:
6659 >  case 517:
6660  
6661   /* Line 1806 of yacc.c  */
6662 < #line 2912 "ircd_parser.y"
6662 > #line 2820 "conf_parser.y"
6663      {
6664    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6665   }
6666      break;
6667  
6668 <  case 527:
6668 >  case 518:
6669  
6670   /* Line 1806 of yacc.c  */
6671 < #line 2917 "ircd_parser.y"
6671 > #line 2825 "conf_parser.y"
6672      {
6673    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6674   }
6675      break;
6676  
6677 <  case 528:
6677 >  case 519:
6678  
6679   /* Line 1806 of yacc.c  */
6680 < #line 2922 "ircd_parser.y"
6680 > #line 2830 "conf_parser.y"
6681      {
6682    ConfigFileEntry.short_motd = yylval.number;
6683   }
6684      break;
6685  
6686 <  case 529:
6686 >  case 520:
6687  
6688   /* Line 1806 of yacc.c  */
6689 < #line 2927 "ircd_parser.y"
6689 > #line 2835 "conf_parser.y"
6690      {
6691    ConfigFileEntry.no_oper_flood = yylval.number;
6692   }
6693      break;
6694  
6695 <  case 530:
6695 >  case 521:
6696  
6697   /* Line 1806 of yacc.c  */
6698 < #line 2932 "ircd_parser.y"
6698 > #line 2840 "conf_parser.y"
6699      {
6700    ConfigFileEntry.true_no_oper_flood = yylval.number;
6701   }
6702      break;
6703  
6704 <  case 531:
6704 >  case 522:
6705  
6706   /* Line 1806 of yacc.c  */
6707 < #line 2937 "ircd_parser.y"
6707 > #line 2845 "conf_parser.y"
6708      {
6709    ConfigFileEntry.oper_pass_resv = yylval.number;
6710   }
6711      break;
6712  
6713 <  case 532:
6713 >  case 523:
6714  
6715   /* Line 1806 of yacc.c  */
6716 < #line 2942 "ircd_parser.y"
6716 > #line 2850 "conf_parser.y"
6717      {
6718    if (conf_parser_ctx.pass == 2)
6719    {
# Line 6856 | Line 6725 | yyreduce:
6725   }
6726      break;
6727  
6728 <  case 533:
6728 >  case 524:
6729  
6730   /* Line 1806 of yacc.c  */
6731 < #line 2953 "ircd_parser.y"
6731 > #line 2861 "conf_parser.y"
6732      {
6733    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6734   }
6735      break;
6736  
6737 <  case 534:
6737 >  case 525:
6738  
6739   /* Line 1806 of yacc.c  */
6740 < #line 2958 "ircd_parser.y"
6740 > #line 2866 "conf_parser.y"
6741      {
6742    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6743   }
6744      break;
6745  
6746 <  case 535:
6878 <
6879 < /* Line 1806 of yacc.c  */
6880 < #line 2963 "ircd_parser.y"
6881 <    {
6882 <  if (conf_parser_ctx.pass == 2)
6883 <  {
6884 <    MyFree(ConfigFileEntry.servlink_path);
6885 <    DupString(ConfigFileEntry.servlink_path, yylval.string);
6886 <  }
6887 < }
6888 <    break;
6889 <
6890 <  case 536:
6891 <
6892 < /* Line 1806 of yacc.c  */
6893 < #line 2972 "ircd_parser.y"
6894 <    {
6895 < #ifdef HAVE_LIBCRYPTO
6896 <  if (conf_parser_ctx.pass == 2)
6897 <  {
6898 <    struct EncCapability *ecap;
6899 <    const char *cipher_name;
6900 <    int found = 0;
6901 <
6902 <    ConfigFileEntry.default_cipher_preference = NULL;
6903 <    cipher_name = yylval.string;
6904 <
6905 <    for (ecap = CipherTable; ecap->name; ecap++)
6906 <    {
6907 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6908 <          (ecap->cap & CAP_ENC_MASK))
6909 <      {
6910 <        ConfigFileEntry.default_cipher_preference = ecap;
6911 <        found = 1;
6912 <        break;
6913 <      }
6914 <    }
6915 <
6916 <    if (!found)
6917 <      yyerror("Invalid cipher");
6918 <  }
6919 < #else
6920 <  if (conf_parser_ctx.pass == 2)
6921 <    yyerror("Ignoring default_cipher_preference -- no OpenSSL support");
6922 < #endif
6923 < }
6924 <    break;
6925 <
6926 <  case 537:
6927 <
6928 < /* Line 1806 of yacc.c  */
6929 < #line 3004 "ircd_parser.y"
6930 <    {
6931 <  if (conf_parser_ctx.pass == 2)
6932 <  {
6933 <    ConfigFileEntry.compression_level = (yyvsp[(3) - (4)].number);
6934 < #ifndef HAVE_LIBZ
6935 <    yyerror("Ignoring compression_level -- no zlib support");
6936 < #else
6937 <    if ((ConfigFileEntry.compression_level < 1) ||
6938 <        (ConfigFileEntry.compression_level > 9))
6939 <    {
6940 <      yyerror("Ignoring invalid compression_level, using default");
6941 <      ConfigFileEntry.compression_level = 0;
6942 <    }
6943 < #endif
6944 <  }
6945 < }
6946 <    break;
6947 <
6948 <  case 538:
6746 >  case 526:
6747  
6748   /* Line 1806 of yacc.c  */
6749 < #line 3022 "ircd_parser.y"
6749 > #line 2871 "conf_parser.y"
6750      {
6751    ConfigFileEntry.use_egd = yylval.number;
6752   }
6753      break;
6754  
6755 <  case 539:
6755 >  case 527:
6756  
6757   /* Line 1806 of yacc.c  */
6758 < #line 3027 "ircd_parser.y"
6758 > #line 2876 "conf_parser.y"
6759      {
6760    if (conf_parser_ctx.pass == 2)
6761    {
# Line 6967 | Line 6765 | yyreduce:
6765   }
6766      break;
6767  
6768 <  case 540:
6768 >  case 528:
6769  
6770   /* Line 1806 of yacc.c  */
6771 < #line 3036 "ircd_parser.y"
6771 > #line 2885 "conf_parser.y"
6772      {
6773    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6774    {
# Line 6980 | Line 6778 | yyreduce:
6778   }
6779      break;
6780  
6781 <  case 541:
6781 >  case 529:
6782  
6783   /* Line 1806 of yacc.c  */
6784 < #line 3045 "ircd_parser.y"
6784 > #line 2894 "conf_parser.y"
6785      {
6786    ConfigFileEntry.ping_cookie = yylval.number;
6787   }
6788      break;
6789  
6790 <  case 542:
6790 >  case 530:
6791  
6792   /* Line 1806 of yacc.c  */
6793 < #line 3050 "ircd_parser.y"
6793 > #line 2899 "conf_parser.y"
6794      {
6795    ConfigFileEntry.disable_auth = yylval.number;
6796   }
6797      break;
6798  
6799 <  case 543:
6799 >  case 531:
6800  
6801   /* Line 1806 of yacc.c  */
6802 < #line 3055 "ircd_parser.y"
6802 > #line 2904 "conf_parser.y"
6803      {
6804    ConfigFileEntry.throttle_time = yylval.number;
6805   }
6806      break;
6807  
6808 <  case 544:
6808 >  case 532:
6809  
6810   /* Line 1806 of yacc.c  */
6811 < #line 3060 "ircd_parser.y"
6811 > #line 2909 "conf_parser.y"
6812      {
6813    ConfigFileEntry.oper_umodes = 0;
6814   }
6815      break;
6816  
6817 <  case 548:
6817 >  case 536:
6818  
6819   /* Line 1806 of yacc.c  */
6820 < #line 3066 "ircd_parser.y"
6820 > #line 2915 "conf_parser.y"
6821      {
6822    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6823   }
6824      break;
6825  
6826 <  case 549:
6826 >  case 537:
6827  
6828   /* Line 1806 of yacc.c  */
6829 < #line 3069 "ircd_parser.y"
6829 > #line 2918 "conf_parser.y"
6830      {
6831    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6832   }
6833      break;
6834  
6835 <  case 550:
6835 >  case 538:
6836  
6837   /* Line 1806 of yacc.c  */
6838 < #line 3072 "ircd_parser.y"
6838 > #line 2921 "conf_parser.y"
6839      {
6840    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6841   }
6842      break;
6843  
6844 <  case 551:
6844 >  case 539:
6845  
6846   /* Line 1806 of yacc.c  */
6847 < #line 3075 "ircd_parser.y"
6847 > #line 2924 "conf_parser.y"
6848      {
6849    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6850   }
6851      break;
6852  
6853 <  case 552:
6853 >  case 540:
6854  
6855   /* Line 1806 of yacc.c  */
6856 < #line 3078 "ircd_parser.y"
6856 > #line 2927 "conf_parser.y"
6857      {
6858    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6859   }
6860      break;
6861  
6862 <  case 553:
6862 >  case 541:
6863  
6864   /* Line 1806 of yacc.c  */
6865 < #line 3081 "ircd_parser.y"
6865 > #line 2930 "conf_parser.y"
6866      {
6867    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6868   }
6869      break;
6870  
6871 <  case 554:
6871 >  case 542:
6872 >
6873 > /* Line 1806 of yacc.c  */
6874 > #line 2933 "conf_parser.y"
6875 >    {
6876 >  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6877 > }
6878 >    break;
6879 >
6880 >  case 543:
6881  
6882   /* Line 1806 of yacc.c  */
6883 < #line 3084 "ircd_parser.y"
6883 > #line 2936 "conf_parser.y"
6884      {
6885    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6886   }
6887      break;
6888  
6889 <  case 555:
6889 >  case 544:
6890  
6891   /* Line 1806 of yacc.c  */
6892 < #line 3087 "ircd_parser.y"
6892 > #line 2939 "conf_parser.y"
6893      {
6894    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6895   }
6896      break;
6897  
6898 <  case 556:
6898 >  case 545:
6899  
6900   /* Line 1806 of yacc.c  */
6901 < #line 3090 "ircd_parser.y"
6901 > #line 2942 "conf_parser.y"
6902      {
6903    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6904   }
6905      break;
6906  
6907 <  case 557:
6907 >  case 546:
6908  
6909   /* Line 1806 of yacc.c  */
6910 < #line 3093 "ircd_parser.y"
6910 > #line 2945 "conf_parser.y"
6911      {
6912    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6913   }
6914      break;
6915  
6916 <  case 558:
6916 >  case 547:
6917  
6918   /* Line 1806 of yacc.c  */
6919 < #line 3096 "ircd_parser.y"
6919 > #line 2948 "conf_parser.y"
6920      {
6921    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6922   }
6923      break;
6924  
6925 <  case 559:
6925 >  case 548:
6926  
6927   /* Line 1806 of yacc.c  */
6928 < #line 3099 "ircd_parser.y"
6928 > #line 2951 "conf_parser.y"
6929      {
6930    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6931   }
6932      break;
6933  
6934 <  case 560:
6934 >  case 549:
6935  
6936   /* Line 1806 of yacc.c  */
6937 < #line 3102 "ircd_parser.y"
6937 > #line 2954 "conf_parser.y"
6938      {
6939    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6940   }
6941      break;
6942  
6943 <  case 561:
6943 >  case 550:
6944  
6945   /* Line 1806 of yacc.c  */
6946 < #line 3105 "ircd_parser.y"
6946 > #line 2957 "conf_parser.y"
6947      {
6948    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6949   }
6950      break;
6951  
6952 <  case 562:
6952 >  case 551:
6953  
6954   /* Line 1806 of yacc.c  */
6955 < #line 3108 "ircd_parser.y"
6955 > #line 2960 "conf_parser.y"
6956      {
6957    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6958   }
6959      break;
6960  
6961 <  case 563:
6961 >  case 552:
6962  
6963   /* Line 1806 of yacc.c  */
6964 < #line 3111 "ircd_parser.y"
6964 > #line 2963 "conf_parser.y"
6965      {
6966    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6967   }
6968      break;
6969  
6970 <  case 564:
6970 >  case 553:
6971  
6972   /* Line 1806 of yacc.c  */
6973 < #line 3114 "ircd_parser.y"
6973 > #line 2966 "conf_parser.y"
6974      {
6975    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6976   }
6977      break;
6978  
6979 <  case 565:
6979 >  case 554:
6980  
6981   /* Line 1806 of yacc.c  */
6982 < #line 3117 "ircd_parser.y"
6982 > #line 2969 "conf_parser.y"
6983      {
6984    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6985   }
6986      break;
6987  
6988 <  case 566:
6988 >  case 555:
6989  
6990   /* Line 1806 of yacc.c  */
6991 < #line 3120 "ircd_parser.y"
6991 > #line 2972 "conf_parser.y"
6992      {
6993    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6994   }
6995      break;
6996  
6997 <  case 567:
6997 >  case 556:
6998  
6999   /* Line 1806 of yacc.c  */
7000 < #line 3125 "ircd_parser.y"
7000 > #line 2977 "conf_parser.y"
7001      {
7002    ConfigFileEntry.oper_only_umodes = 0;
7003   }
7004      break;
7005  
7006 <  case 571:
7006 >  case 560:
7007  
7008   /* Line 1806 of yacc.c  */
7009 < #line 3131 "ircd_parser.y"
7009 > #line 2983 "conf_parser.y"
7010      {
7011    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
7012   }
7013      break;
7014  
7015 <  case 572:
7015 >  case 561:
7016  
7017   /* Line 1806 of yacc.c  */
7018 < #line 3134 "ircd_parser.y"
7018 > #line 2986 "conf_parser.y"
7019      {
7020    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
7021   }
7022      break;
7023  
7024 <  case 573:
7024 >  case 562:
7025  
7026   /* Line 1806 of yacc.c  */
7027 < #line 3137 "ircd_parser.y"
7027 > #line 2989 "conf_parser.y"
7028      {
7029    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
7030   }
7031      break;
7032  
7033 <  case 574:
7033 >  case 563:
7034  
7035   /* Line 1806 of yacc.c  */
7036 < #line 3140 "ircd_parser.y"
7036 > #line 2992 "conf_parser.y"
7037      {
7038    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
7039   }
7040      break;
7041  
7042 <  case 575:
7042 >  case 564:
7043  
7044   /* Line 1806 of yacc.c  */
7045 < #line 3143 "ircd_parser.y"
7045 > #line 2995 "conf_parser.y"
7046      {
7047    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
7048   }
7049      break;
7050  
7051 <  case 576:
7051 >  case 565:
7052  
7053   /* Line 1806 of yacc.c  */
7054 < #line 3146 "ircd_parser.y"
7054 > #line 2998 "conf_parser.y"
7055      {
7056    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
7057   }
7058      break;
7059  
7060 <  case 577:
7060 >  case 566:
7061  
7062   /* Line 1806 of yacc.c  */
7063 < #line 3149 "ircd_parser.y"
7063 > #line 3001 "conf_parser.y"
7064      {
7065    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
7066   }
7067      break;
7068  
7069 <  case 578:
7069 >  case 567:
7070 >
7071 > /* Line 1806 of yacc.c  */
7072 > #line 3004 "conf_parser.y"
7073 >    {
7074 >  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
7075 > }
7076 >    break;
7077 >
7078 >  case 568:
7079  
7080   /* Line 1806 of yacc.c  */
7081 < #line 3152 "ircd_parser.y"
7081 > #line 3007 "conf_parser.y"
7082      {
7083    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
7084   }
7085      break;
7086  
7087 <  case 579:
7087 >  case 569:
7088  
7089   /* Line 1806 of yacc.c  */
7090 < #line 3155 "ircd_parser.y"
7090 > #line 3010 "conf_parser.y"
7091      {
7092    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
7093   }
7094      break;
7095  
7096 <  case 580:
7096 >  case 570:
7097  
7098   /* Line 1806 of yacc.c  */
7099 < #line 3158 "ircd_parser.y"
7099 > #line 3013 "conf_parser.y"
7100      {
7101    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
7102   }
7103      break;
7104  
7105 <  case 581:
7105 >  case 571:
7106  
7107   /* Line 1806 of yacc.c  */
7108 < #line 3161 "ircd_parser.y"
7108 > #line 3016 "conf_parser.y"
7109      {
7110    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
7111   }
7112      break;
7113  
7114 <  case 582:
7114 >  case 572:
7115  
7116   /* Line 1806 of yacc.c  */
7117 < #line 3164 "ircd_parser.y"
7117 > #line 3019 "conf_parser.y"
7118      {
7119    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
7120   }
7121      break;
7122  
7123 <  case 583:
7123 >  case 573:
7124  
7125   /* Line 1806 of yacc.c  */
7126 < #line 3167 "ircd_parser.y"
7126 > #line 3022 "conf_parser.y"
7127      {
7128    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
7129   }
7130      break;
7131  
7132 <  case 584:
7132 >  case 574:
7133  
7134   /* Line 1806 of yacc.c  */
7135 < #line 3170 "ircd_parser.y"
7135 > #line 3025 "conf_parser.y"
7136      {
7137    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
7138   }
7139      break;
7140  
7141 <  case 585:
7141 >  case 575:
7142  
7143   /* Line 1806 of yacc.c  */
7144 < #line 3173 "ircd_parser.y"
7144 > #line 3028 "conf_parser.y"
7145      {
7146    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
7147   }
7148      break;
7149  
7150 <  case 586:
7150 >  case 576:
7151  
7152   /* Line 1806 of yacc.c  */
7153 < #line 3176 "ircd_parser.y"
7153 > #line 3031 "conf_parser.y"
7154      {
7155    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
7156   }
7157      break;
7158  
7159 <  case 587:
7159 >  case 577:
7160  
7161   /* Line 1806 of yacc.c  */
7162 < #line 3179 "ircd_parser.y"
7162 > #line 3034 "conf_parser.y"
7163      {
7164    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
7165   }
7166      break;
7167  
7168 <  case 588:
7168 >  case 578:
7169  
7170   /* Line 1806 of yacc.c  */
7171 < #line 3182 "ircd_parser.y"
7171 > #line 3037 "conf_parser.y"
7172      {
7173    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
7174   }
7175      break;
7176  
7177 <  case 589:
7177 >  case 579:
7178  
7179   /* Line 1806 of yacc.c  */
7180 < #line 3185 "ircd_parser.y"
7180 > #line 3040 "conf_parser.y"
7181      {
7182    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
7183   }
7184      break;
7185  
7186 <  case 590:
7186 >  case 580:
7187  
7188   /* Line 1806 of yacc.c  */
7189 < #line 3190 "ircd_parser.y"
7189 > #line 3045 "conf_parser.y"
7190      {
7191    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
7192   }
7193      break;
7194  
7195 <  case 591:
7195 >  case 581:
7196  
7197   /* Line 1806 of yacc.c  */
7198 < #line 3195 "ircd_parser.y"
7198 > #line 3050 "conf_parser.y"
7199      {
7200    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
7201   }
7202      break;
7203  
7204 <  case 592:
7204 >  case 582:
7205  
7206   /* Line 1806 of yacc.c  */
7207 < #line 3200 "ircd_parser.y"
7207 > #line 3055 "conf_parser.y"
7208      {
7209    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
7210   }
7211      break;
7212  
7213 <  case 593:
7213 >  case 583:
7214  
7215   /* Line 1806 of yacc.c  */
7216 < #line 3205 "ircd_parser.y"
7216 > #line 3060 "conf_parser.y"
7217      {
7218    ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
7219   }
7220      break;
7221  
7222 <  case 594:
7222 >  case 584:
7223  
7224   /* Line 1806 of yacc.c  */
7225 < #line 3214 "ircd_parser.y"
7225 > #line 3069 "conf_parser.y"
7226      {
7227    if (conf_parser_ctx.pass == 2)
7228    {
# Line 7416 | Line 7232 | yyreduce:
7232   }
7233      break;
7234  
7235 <  case 595:
7235 >  case 585:
7236  
7237   /* Line 1806 of yacc.c  */
7238 < #line 3221 "ircd_parser.y"
7238 > #line 3076 "conf_parser.y"
7239      {
7240    if (conf_parser_ctx.pass == 2)
7241    {
# Line 7437 | Line 7253 | yyreduce:
7253   }
7254      break;
7255  
7256 <  case 605:
7256 >  case 595:
7257  
7258   /* Line 1806 of yacc.c  */
7259 < #line 3247 "ircd_parser.y"
7259 > #line 3102 "conf_parser.y"
7260      {
7261    if (conf_parser_ctx.pass == 2)
7262      ConfigFileEntry.glines = yylval.number;
7263   }
7264      break;
7265  
7266 <  case 606:
7266 >  case 596:
7267  
7268   /* Line 1806 of yacc.c  */
7269 < #line 3253 "ircd_parser.y"
7269 > #line 3108 "conf_parser.y"
7270      {
7271    if (conf_parser_ctx.pass == 2)
7272      ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7273   }
7274      break;
7275  
7276 <  case 607:
7276 >  case 597:
7277  
7278   /* Line 1806 of yacc.c  */
7279 < #line 3259 "ircd_parser.y"
7279 > #line 3114 "conf_parser.y"
7280      {
7281    if (conf_parser_ctx.pass == 2)
7282      ConfigFileEntry.gline_logging = 0;
7283   }
7284      break;
7285  
7286 <  case 611:
7286 >  case 601:
7287  
7288   /* Line 1806 of yacc.c  */
7289 < #line 3265 "ircd_parser.y"
7289 > #line 3120 "conf_parser.y"
7290      {
7291    if (conf_parser_ctx.pass == 2)
7292      ConfigFileEntry.gline_logging |= GDENY_REJECT;
7293   }
7294      break;
7295  
7296 <  case 612:
7296 >  case 602:
7297  
7298   /* Line 1806 of yacc.c  */
7299 < #line 3269 "ircd_parser.y"
7299 > #line 3124 "conf_parser.y"
7300      {
7301    if (conf_parser_ctx.pass == 2)
7302      ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7303   }
7304      break;
7305  
7306 <  case 613:
7306 >  case 603:
7307  
7308   /* Line 1806 of yacc.c  */
7309 < #line 3275 "ircd_parser.y"
7309 > #line 3130 "conf_parser.y"
7310      {
7311    if (conf_parser_ctx.pass == 2)
7312    {
# Line 7525 | Line 7341 | yyreduce:
7341   }
7342      break;
7343  
7344 <  case 614:
7344 >  case 604:
7345  
7346   /* Line 1806 of yacc.c  */
7347 < #line 3309 "ircd_parser.y"
7347 > #line 3164 "conf_parser.y"
7348      {
7349    if (conf_parser_ctx.pass == 2)  
7350    {
# Line 7538 | Line 7354 | yyreduce:
7354   }
7355      break;
7356  
7357 <  case 615:
7357 >  case 605:
7358  
7359   /* Line 1806 of yacc.c  */
7360 < #line 3318 "ircd_parser.y"
7360 > #line 3173 "conf_parser.y"
7361      {
7362    if (conf_parser_ctx.pass == 2)
7363      yy_aconf->flags = 0;
7364   }
7365      break;
7366  
7367 <  case 616:
7367 >  case 606:
7368  
7369   /* Line 1806 of yacc.c  */
7370 < #line 3322 "ircd_parser.y"
7370 > #line 3177 "conf_parser.y"
7371      {
7372    if (conf_parser_ctx.pass == 2)
7373    {
# Line 7598 | Line 7414 | yyreduce:
7414   }
7415      break;
7416  
7417 <  case 619:
7417 >  case 609:
7418  
7419   /* Line 1806 of yacc.c  */
7420 < #line 3369 "ircd_parser.y"
7420 > #line 3224 "conf_parser.y"
7421      {
7422    if (conf_parser_ctx.pass == 2)
7423      yy_aconf->flags |= GDENY_REJECT;
7424   }
7425      break;
7426  
7427 <  case 620:
7427 >  case 610:
7428  
7429   /* Line 1806 of yacc.c  */
7430 < #line 3373 "ircd_parser.y"
7430 > #line 3228 "conf_parser.y"
7431      {
7432    if (conf_parser_ctx.pass == 2)
7433      yy_aconf->flags |= GDENY_BLOCK;
7434   }
7435      break;
7436  
7437 <  case 643:
7437 >  case 633:
7438  
7439   /* Line 1806 of yacc.c  */
7440 < #line 3397 "ircd_parser.y"
7440 > #line 3252 "conf_parser.y"
7441      {
7442    ConfigChannel.disable_fake_channels = yylval.number;
7443   }
7444      break;
7445  
7446 <  case 644:
7446 >  case 634:
7447  
7448   /* Line 1806 of yacc.c  */
7449 < #line 3402 "ircd_parser.y"
7449 > #line 3257 "conf_parser.y"
7450      {
7451    ConfigChannel.restrict_channels = yylval.number;
7452   }
7453      break;
7454  
7455 <  case 645:
7455 >  case 635:
7456  
7457   /* Line 1806 of yacc.c  */
7458 < #line 3407 "ircd_parser.y"
7458 > #line 3262 "conf_parser.y"
7459      {
7460    ConfigChannel.disable_local_channels = yylval.number;
7461   }
7462      break;
7463  
7464 <  case 646:
7464 >  case 636:
7465  
7466   /* Line 1806 of yacc.c  */
7467 < #line 3412 "ircd_parser.y"
7467 > #line 3267 "conf_parser.y"
7468      {
7469    ConfigChannel.use_except = yylval.number;
7470   }
7471      break;
7472  
7473 <  case 647:
7473 >  case 637:
7474  
7475   /* Line 1806 of yacc.c  */
7476 < #line 3417 "ircd_parser.y"
7476 > #line 3272 "conf_parser.y"
7477      {
7478    ConfigChannel.use_invex = yylval.number;
7479   }
7480      break;
7481  
7482 <  case 648:
7482 >  case 638:
7483  
7484   /* Line 1806 of yacc.c  */
7485 < #line 3422 "ircd_parser.y"
7485 > #line 3277 "conf_parser.y"
7486      {
7487    ConfigChannel.use_knock = yylval.number;
7488   }
7489      break;
7490  
7491 <  case 649:
7491 >  case 639:
7492  
7493   /* Line 1806 of yacc.c  */
7494 < #line 3427 "ircd_parser.y"
7494 > #line 3282 "conf_parser.y"
7495      {
7496    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
7497   }
7498      break;
7499  
7500 <  case 650:
7500 >  case 640:
7501  
7502   /* Line 1806 of yacc.c  */
7503 < #line 3432 "ircd_parser.y"
7503 > #line 3287 "conf_parser.y"
7504      {
7505    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
7506   }
7507      break;
7508  
7509 <  case 651:
7509 >  case 641:
7510  
7511   /* Line 1806 of yacc.c  */
7512 < #line 3437 "ircd_parser.y"
7512 > #line 3292 "conf_parser.y"
7513      {
7514    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
7515   }
7516      break;
7517  
7518 <  case 652:
7518 >  case 642:
7519  
7520   /* Line 1806 of yacc.c  */
7521 < #line 3442 "ircd_parser.y"
7521 > #line 3297 "conf_parser.y"
7522      {
7523    ConfigChannel.quiet_on_ban = yylval.number;
7524   }
7525      break;
7526  
7527 <  case 653:
7527 >  case 643:
7528  
7529   /* Line 1806 of yacc.c  */
7530 < #line 3447 "ircd_parser.y"
7530 > #line 3302 "conf_parser.y"
7531      {
7532    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
7533   }
7534      break;
7535  
7536 <  case 654:
7536 >  case 644:
7537  
7538   /* Line 1806 of yacc.c  */
7539 < #line 3452 "ircd_parser.y"
7539 > #line 3307 "conf_parser.y"
7540      {
7541    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
7542   }
7543      break;
7544  
7545 <  case 655:
7545 >  case 645:
7546  
7547   /* Line 1806 of yacc.c  */
7548 < #line 3457 "ircd_parser.y"
7548 > #line 3312 "conf_parser.y"
7549      {
7550    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
7551   }
7552      break;
7553  
7554 <  case 656:
7554 >  case 646:
7555  
7556   /* Line 1806 of yacc.c  */
7557 < #line 3462 "ircd_parser.y"
7557 > #line 3317 "conf_parser.y"
7558      {
7559    ConfigChannel.no_create_on_split = yylval.number;
7560   }
7561      break;
7562  
7563 <  case 657:
7563 >  case 647:
7564  
7565   /* Line 1806 of yacc.c  */
7566 < #line 3467 "ircd_parser.y"
7566 > #line 3322 "conf_parser.y"
7567      {
7568    ConfigChannel.no_join_on_split = yylval.number;
7569   }
7570      break;
7571  
7572 <  case 658:
7572 >  case 648:
7573  
7574   /* Line 1806 of yacc.c  */
7575 < #line 3472 "ircd_parser.y"
7575 > #line 3327 "conf_parser.y"
7576      {
7577    ConfigChannel.burst_topicwho = yylval.number;
7578   }
7579      break;
7580  
7581 <  case 659:
7581 >  case 649:
7582  
7583   /* Line 1806 of yacc.c  */
7584 < #line 3477 "ircd_parser.y"
7584 > #line 3332 "conf_parser.y"
7585      {
7586    GlobalSetOptions.joinfloodcount = yylval.number;
7587   }
7588      break;
7589  
7590 <  case 660:
7590 >  case 650:
7591  
7592   /* Line 1806 of yacc.c  */
7593 < #line 3482 "ircd_parser.y"
7593 > #line 3337 "conf_parser.y"
7594      {
7595    GlobalSetOptions.joinfloodtime = yylval.number;
7596   }
7597      break;
7598  
7599 <  case 672:
7599 >  case 662:
7600  
7601   /* Line 1806 of yacc.c  */
7602 < #line 3501 "ircd_parser.y"
7602 > #line 3356 "conf_parser.y"
7603      {
7604    if (conf_parser_ctx.pass == 2)
7605      ConfigServerHide.flatten_links = yylval.number;
7606   }
7607      break;
7608  
7609 <  case 673:
7609 >  case 663:
7610  
7611   /* Line 1806 of yacc.c  */
7612 < #line 3507 "ircd_parser.y"
7612 > #line 3362 "conf_parser.y"
7613      {
7614    if (conf_parser_ctx.pass == 2)
7615      ConfigServerHide.hide_servers = yylval.number;
7616   }
7617      break;
7618  
7619 <  case 674:
7619 >  case 664:
7620  
7621   /* Line 1806 of yacc.c  */
7622 < #line 3513 "ircd_parser.y"
7622 > #line 3368 "conf_parser.y"
7623      {
7624    if (conf_parser_ctx.pass == 2)
7625    {
# Line 7813 | Line 7629 | yyreduce:
7629   }
7630      break;
7631  
7632 <  case 675:
7632 >  case 665:
7633  
7634   /* Line 1806 of yacc.c  */
7635 < #line 3522 "ircd_parser.y"
7635 > #line 3377 "conf_parser.y"
7636      {
7637    if (conf_parser_ctx.pass == 2)
7638    {
# Line 7831 | Line 7647 | yyreduce:
7647   }
7648      break;
7649  
7650 <  case 676:
7650 >  case 666:
7651  
7652   /* Line 1806 of yacc.c  */
7653 < #line 3536 "ircd_parser.y"
7653 > #line 3391 "conf_parser.y"
7654      {
7655    if (conf_parser_ctx.pass == 2)
7656      ConfigServerHide.hidden = yylval.number;
7657   }
7658      break;
7659  
7660 <  case 677:
7660 >  case 667:
7661  
7662   /* Line 1806 of yacc.c  */
7663 < #line 3542 "ircd_parser.y"
7663 > #line 3397 "conf_parser.y"
7664      {
7665    if (conf_parser_ctx.pass == 2)
7666      ConfigServerHide.disable_hidden = yylval.number;
7667   }
7668      break;
7669  
7670 <  case 678:
7670 >  case 668:
7671  
7672   /* Line 1806 of yacc.c  */
7673 < #line 3548 "ircd_parser.y"
7673 > #line 3403 "conf_parser.y"
7674      {
7675    if (conf_parser_ctx.pass == 2)
7676      ConfigServerHide.hide_server_ips = yylval.number;
# Line 7864 | Line 7680 | yyreduce:
7680  
7681  
7682   /* Line 1806 of yacc.c  */
7683 < #line 7868 "ircd_parser.c"
7683 > #line 7684 "conf_parser.c"
7684        default: break;
7685      }
7686    /* User semantic actions sometimes alter yychar, and that requires

Diff Legend

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