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-7.3/src/ircd_parser.c (file contents), Revision 1117 by michael, Tue Dec 21 15:01:46 2010 UTC vs.
ircd-hybrid-8/src/conf_parser.c (file contents), Revision 1432 by michael, Sat Jun 9 19:40:08 2012 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.4.3.  */
1 > /* A Bison parser, made by GNU Bison 2.5.1.  */
2  
3 < /* Skeleton implementation for Bison's Yacc-like parsers in C
3 > /* Bison implementation for Yacc-like parsers in C
4    
5 <      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
6 <   2009, 2010 Free Software Foundation, Inc.
5 >      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6    
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
# Line 45 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.4.3"
47 > #define YYBISON_VERSION "2.5.1"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 66 | Line 65
65  
66   /* Copy the first part of user declarations.  */
67  
68 < /* Line 189 of yacc.c  */
69 < #line 25 "ircd_parser.y"
68 > /* Line 268 of yacc.c  */
69 > #line 25 "conf_parser.y"
70  
71  
72   #define YY_NO_UNPUT
# Line 78 | 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"
86 #include "irc_getaddrinfo.h"
85   #include "sprintf_irc.h"
86   #include "memory.h"
87   #include "modules.h"
# Line 99 | 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 + int yylex(void);
104 +
105   static char *class_name = NULL;
106   static struct ConfItem *yy_conf = NULL;
107   static struct AccessItem *yy_aconf = NULL;
# Line 109 | Line 110 | static struct ClassItem *yy_class = NULL
110   static char *yy_class_name = NULL;
111  
112   static dlink_list col_conf_list  = { NULL, NULL, 0 };
112 static dlink_list hub_conf_list  = { NULL, NULL, 0 };
113 static dlink_list leaf_conf_list = { NULL, NULL, 0 };
113   static unsigned int listener_flags = 0;
114   static unsigned int regex_ban = 0;
115   static char userbuf[IRCD_BUFSIZE];
116   static char hostbuf[IRCD_BUFSIZE];
117   static char reasonbuf[REASONLEN + 1];
118   static char gecos_name[REALLEN * 4];
119 <
119 > static char lfile[IRCD_BUFSIZE];
120 > static unsigned int ltype = 0;
121 > static unsigned int lsize = 0;
122   static char *resv_reason = NULL;
123   static char *listener_address = NULL;
123 static int not_atom = 0;
124  
125   struct CollectItem
126   {
# Line 150 | Line 150 | free_collect_item(struct CollectItem *it
150    MyFree(item);
151   }
152  
153 static void
154 unhook_hub_leaf_confs(void)
155 {
156  dlink_node *ptr;
157  dlink_node *next_ptr;
158  struct CollectItem *yy_hconf;
159  struct CollectItem *yy_lconf;
153  
161  DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
162  {
163    yy_hconf = ptr->data;
164    dlinkDelete(&yy_hconf->node, &hub_conf_list);
165    free_collect_item(yy_hconf);
166  }
167
168  DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
169  {
170    yy_lconf = ptr->data;
171    dlinkDelete(&yy_lconf->node, &leaf_conf_list);
172    free_collect_item(yy_lconf);
173  }
174 }
154  
155 + /* Line 268 of yacc.c  */
156 + #line 157 "conf_parser.c"
157  
158 <
159 < /* Line 189 of yacc.c  */
160 < #line 180 "ircd_parser.c"
158 > # ifndef YY_NULL
159 > #  if defined __cplusplus && 201103L <= __cplusplus
160 > #   define YY_NULL nullptr
161 > #  else
162 > #   define YY_NULL 0
163 > #  endif
164 > # endif
165  
166   /* Enabling traces.  */
167   #ifndef YYDEBUG
# Line 213 | Line 198 | unhook_hub_leaf_confs(void)
198       AUTOCONN = 265,
199       T_BLOCK = 266,
200       BURST_AWAY = 267,
201 <     BURST_TOPICWHO = 268,
202 <     BYTES = 269,
203 <     KBYTES = 270,
204 <     MBYTES = 271,
205 <     GBYTES = 272,
206 <     TBYTES = 273,
207 <     CALLER_ID_WAIT = 274,
208 <     CAN_FLOOD = 275,
209 <     CAN_IDLE = 276,
210 <     CHANNEL = 277,
211 <     CIDR_BITLEN_IPV4 = 278,
212 <     CIDR_BITLEN_IPV6 = 279,
213 <     CIPHER_PREFERENCE = 280,
214 <     CLASS = 281,
215 <     COMPRESSED = 282,
216 <     COMPRESSION_LEVEL = 283,
217 <     CONNECT = 284,
218 <     CONNECTFREQ = 285,
219 <     CRYPTLINK = 286,
220 <     DEFAULT_CIPHER_PREFERENCE = 287,
221 <     DEFAULT_FLOODCOUNT = 288,
222 <     DEFAULT_SPLIT_SERVER_COUNT = 289,
223 <     DEFAULT_SPLIT_USER_COUNT = 290,
224 <     DENY = 291,
225 <     DESCRIPTION = 292,
226 <     DIE = 293,
227 <     DISABLE_AUTH = 294,
228 <     DISABLE_FAKE_CHANNELS = 295,
229 <     DISABLE_HIDDEN = 296,
230 <     DISABLE_LOCAL_CHANNELS = 297,
231 <     DISABLE_REMOTE_COMMANDS = 298,
232 <     DOTS_IN_IDENT = 299,
233 <     DURATION = 300,
234 <     EGDPOOL_PATH = 301,
235 <     EMAIL = 302,
236 <     ENABLE = 303,
237 <     ENCRYPTED = 304,
238 <     EXCEED_LIMIT = 305,
239 <     EXEMPT = 306,
240 <     FAILED_OPER_NOTICE = 307,
241 <     FAKENAME = 308,
242 <     IRCD_FLAGS = 309,
243 <     FLATTEN_LINKS = 310,
244 <     FFAILED_OPERLOG = 311,
245 <     FKILLLOG = 312,
246 <     FKLINELOG = 313,
247 <     FGLINELOG = 314,
248 <     FIOERRLOG = 315,
249 <     FOPERLOG = 316,
250 <     FOPERSPYLOG = 317,
251 <     FUSERLOG = 318,
252 <     GECOS = 319,
253 <     GENERAL = 320,
254 <     GLINE = 321,
255 <     GLINES = 322,
256 <     GLINE_EXEMPT = 323,
257 <     GLINE_LOG = 324,
258 <     GLINE_TIME = 325,
259 <     GLINE_MIN_CIDR = 326,
260 <     GLINE_MIN_CIDR6 = 327,
261 <     GLOBAL_KILL = 328,
262 <     IRCD_AUTH = 329,
263 <     NEED_IDENT = 330,
264 <     HAVENT_READ_CONF = 331,
265 <     HIDDEN = 332,
266 <     HIDDEN_ADMIN = 333,
267 <     HIDDEN_NAME = 334,
268 <     HIDDEN_OPER = 335,
269 <     HIDE_SERVER_IPS = 336,
270 <     HIDE_SERVERS = 337,
271 <     HIDE_SPOOF_IPS = 338,
272 <     HOST = 339,
273 <     HUB = 340,
274 <     HUB_MASK = 341,
275 <     IDLETIME = 342,
276 <     IGNORE_BOGUS_TS = 343,
277 <     INVISIBLE_ON_CONNECT = 344,
278 <     IP = 345,
279 <     KILL = 346,
280 <     KILL_CHASE_TIME_LIMIT = 347,
281 <     KLINE = 348,
282 <     KLINE_EXEMPT = 349,
283 <     KLINE_REASON = 350,
284 <     KLINE_WITH_REASON = 351,
285 <     KNOCK_DELAY = 352,
286 <     KNOCK_DELAY_CHANNEL = 353,
287 <     LEAF_MASK = 354,
288 <     LINKS_DELAY = 355,
289 <     LISTEN = 356,
290 <     T_LOG = 357,
291 <     LOGGING = 358,
292 <     LOG_LEVEL = 359,
293 <     MAX_ACCEPT = 360,
294 <     MAX_BANS = 361,
295 <     MAX_CHANS_PER_USER = 362,
296 <     MAX_GLOBAL = 363,
297 <     MAX_IDENT = 364,
298 <     MAX_LOCAL = 365,
299 <     MAX_NICK_CHANGES = 366,
300 <     MAX_NICK_TIME = 367,
301 <     MAX_NUMBER = 368,
302 <     MAX_TARGETS = 369,
303 <     MAX_WATCH = 370,
304 <     MESSAGE_LOCALE = 371,
305 <     MIN_NONWILDCARD = 372,
306 <     MIN_NONWILDCARD_SIMPLE = 373,
307 <     MODULE = 374,
308 <     MODULES = 375,
309 <     NAME = 376,
310 <     NEED_PASSWORD = 377,
311 <     NETWORK_DESC = 378,
312 <     NETWORK_NAME = 379,
313 <     NICK = 380,
314 <     NICK_CHANGES = 381,
315 <     NO_CREATE_ON_SPLIT = 382,
316 <     NO_JOIN_ON_SPLIT = 383,
317 <     NO_OPER_FLOOD = 384,
318 <     NO_TILDE = 385,
319 <     NOT = 386,
320 <     NUMBER = 387,
321 <     NUMBER_PER_IDENT = 388,
322 <     NUMBER_PER_CIDR = 389,
323 <     NUMBER_PER_IP = 390,
324 <     NUMBER_PER_IP_GLOBAL = 391,
325 <     OPERATOR = 392,
326 <     OPERS_BYPASS_CALLERID = 393,
327 <     OPER_LOG = 394,
328 <     OPER_ONLY_UMODES = 395,
329 <     OPER_PASS_RESV = 396,
330 <     OPER_SPY_T = 397,
331 <     OPER_UMODES = 398,
332 <     JOIN_FLOOD_COUNT = 399,
333 <     JOIN_FLOOD_TIME = 400,
334 <     PACE_WAIT = 401,
335 <     PACE_WAIT_SIMPLE = 402,
336 <     PASSWORD = 403,
337 <     PATH = 404,
338 <     PING_COOKIE = 405,
339 <     PING_TIME = 406,
340 <     PING_WARNING = 407,
341 <     PORT = 408,
342 <     QSTRING = 409,
343 <     QUIET_ON_BAN = 410,
344 <     REASON = 411,
345 <     REDIRPORT = 412,
346 <     REDIRSERV = 413,
347 <     REGEX_T = 414,
348 <     REHASH = 415,
349 <     TREJECT_HOLD_TIME = 416,
350 <     REMOTE = 417,
351 <     REMOTEBAN = 418,
352 <     RESTRICT_CHANNELS = 419,
353 <     RESTRICTED = 420,
354 <     RSA_PRIVATE_KEY_FILE = 421,
355 <     RSA_PUBLIC_KEY_FILE = 422,
356 <     SSL_CERTIFICATE_FILE = 423,
357 <     T_SSL_CONNECTION_METHOD = 424,
358 <     T_SSLV3 = 425,
359 <     T_TLSV1 = 426,
360 <     RESV = 427,
361 <     RESV_EXEMPT = 428,
362 <     SECONDS = 429,
363 <     MINUTES = 430,
364 <     HOURS = 431,
365 <     DAYS = 432,
366 <     WEEKS = 433,
367 <     SENDQ = 434,
368 <     SEND_PASSWORD = 435,
369 <     SERVERHIDE = 436,
370 <     SERVERINFO = 437,
371 <     SERVLINK_PATH = 438,
372 <     IRCD_SID = 439,
373 <     TKLINE_EXPIRE_NOTICES = 440,
374 <     T_SHARED = 441,
375 <     T_CLUSTER = 442,
376 <     TYPE = 443,
377 <     SHORT_MOTD = 444,
378 <     SILENT = 445,
379 <     SPOOF = 446,
380 <     SPOOF_NOTICE = 447,
381 <     STATS_E_DISABLED = 448,
382 <     STATS_I_OPER_ONLY = 449,
383 <     STATS_K_OPER_ONLY = 450,
384 <     STATS_O_OPER_ONLY = 451,
385 <     STATS_P_OPER_ONLY = 452,
386 <     TBOOL = 453,
387 <     TMASKED = 454,
388 <     T_REJECT = 455,
389 <     TS_MAX_DELTA = 456,
390 <     TS_WARN_DELTA = 457,
391 <     TWODOTS = 458,
392 <     T_ALL = 459,
393 <     T_BOTS = 460,
394 <     T_SOFTCALLERID = 461,
395 <     T_CALLERID = 462,
396 <     T_CCONN = 463,
397 <     T_CCONN_FULL = 464,
398 <     T_CLIENT_FLOOD = 465,
399 <     T_DEAF = 466,
400 <     T_DEBUG = 467,
401 <     T_DRONE = 468,
402 <     T_EXTERNAL = 469,
403 <     T_FULL = 470,
404 <     T_INVISIBLE = 471,
405 <     T_IPV4 = 472,
406 <     T_IPV6 = 473,
407 <     T_LOCOPS = 474,
408 <     T_LOGPATH = 475,
409 <     T_L_CRIT = 476,
410 <     T_L_DEBUG = 477,
411 <     T_L_ERROR = 478,
412 <     T_L_INFO = 479,
413 <     T_L_NOTICE = 480,
414 <     T_L_TRACE = 481,
415 <     T_L_WARN = 482,
416 <     T_MAX_CLIENTS = 483,
417 <     T_NCHANGE = 484,
418 <     T_OPERWALL = 485,
419 <     T_REJ = 486,
420 <     T_SERVER = 487,
421 <     T_SERVNOTICE = 488,
422 <     T_SKILL = 489,
423 <     T_SPY = 490,
424 <     T_SSL = 491,
425 <     T_UMODES = 492,
426 <     T_UNAUTH = 493,
427 <     T_UNRESV = 494,
428 <     T_UNXLINE = 495,
444 <     T_WALLOP = 496,
445 <     THROTTLE_TIME = 497,
446 <     TOPICBURST = 498,
447 <     TRUE_NO_OPER_FLOOD = 499,
448 <     TKLINE = 500,
449 <     TXLINE = 501,
450 <     TRESV = 502,
451 <     UNKLINE = 503,
452 <     USER = 504,
453 <     USE_EGD = 505,
454 <     USE_EXCEPT = 506,
455 <     USE_INVEX = 507,
456 <     USE_KNOCK = 508,
457 <     USE_LOGGING = 509,
458 <     USE_WHOIS_ACTUALLY = 510,
459 <     VHOST = 511,
460 <     VHOST6 = 512,
461 <     XLINE = 513,
462 <     WARN = 514,
463 <     WARN_NO_NLINE = 515
201 >     BYTES = 268,
202 >     KBYTES = 269,
203 >     MBYTES = 270,
204 >     GBYTES = 271,
205 >     TBYTES = 272,
206 >     CALLER_ID_WAIT = 273,
207 >     CAN_FLOOD = 274,
208 >     CHANNEL = 275,
209 >     CIDR_BITLEN_IPV4 = 276,
210 >     CIDR_BITLEN_IPV6 = 277,
211 >     CLASS = 278,
212 >     CONNECT = 279,
213 >     CONNECTFREQ = 280,
214 >     DEFAULT_FLOODCOUNT = 281,
215 >     DEFAULT_SPLIT_SERVER_COUNT = 282,
216 >     DEFAULT_SPLIT_USER_COUNT = 283,
217 >     DENY = 284,
218 >     DESCRIPTION = 285,
219 >     DIE = 286,
220 >     DISABLE_AUTH = 287,
221 >     DISABLE_FAKE_CHANNELS = 288,
222 >     DISABLE_HIDDEN = 289,
223 >     DISABLE_LOCAL_CHANNELS = 290,
224 >     DISABLE_REMOTE_COMMANDS = 291,
225 >     DOTS_IN_IDENT = 292,
226 >     DURATION = 293,
227 >     EGDPOOL_PATH = 294,
228 >     EMAIL = 295,
229 >     ENABLE = 296,
230 >     ENCRYPTED = 297,
231 >     EXCEED_LIMIT = 298,
232 >     EXEMPT = 299,
233 >     FAILED_OPER_NOTICE = 300,
234 >     IRCD_FLAGS = 301,
235 >     FLATTEN_LINKS = 302,
236 >     GECOS = 303,
237 >     GENERAL = 304,
238 >     GLINE = 305,
239 >     GLINES = 306,
240 >     GLINE_EXEMPT = 307,
241 >     GLINE_TIME = 308,
242 >     GLINE_MIN_CIDR = 309,
243 >     GLINE_MIN_CIDR6 = 310,
244 >     GLOBAL_KILL = 311,
245 >     IRCD_AUTH = 312,
246 >     NEED_IDENT = 313,
247 >     HAVENT_READ_CONF = 314,
248 >     HIDDEN = 315,
249 >     HIDDEN_NAME = 316,
250 >     HIDE_SERVER_IPS = 317,
251 >     HIDE_SERVERS = 318,
252 >     HIDE_SPOOF_IPS = 319,
253 >     HOST = 320,
254 >     HUB = 321,
255 >     HUB_MASK = 322,
256 >     IGNORE_BOGUS_TS = 323,
257 >     INVISIBLE_ON_CONNECT = 324,
258 >     IP = 325,
259 >     KILL = 326,
260 >     KILL_CHASE_TIME_LIMIT = 327,
261 >     KLINE = 328,
262 >     KLINE_EXEMPT = 329,
263 >     KLINE_REASON = 330,
264 >     KLINE_WITH_REASON = 331,
265 >     KNOCK_DELAY = 332,
266 >     KNOCK_DELAY_CHANNEL = 333,
267 >     LEAF_MASK = 334,
268 >     LINKS_DELAY = 335,
269 >     LISTEN = 336,
270 >     T_LOG = 337,
271 >     MAX_ACCEPT = 338,
272 >     MAX_BANS = 339,
273 >     MAX_CHANS_PER_OPER = 340,
274 >     MAX_CHANS_PER_USER = 341,
275 >     MAX_GLOBAL = 342,
276 >     MAX_IDENT = 343,
277 >     MAX_LOCAL = 344,
278 >     MAX_NICK_CHANGES = 345,
279 >     MAX_NICK_TIME = 346,
280 >     MAX_NUMBER = 347,
281 >     MAX_TARGETS = 348,
282 >     MAX_WATCH = 349,
283 >     MESSAGE_LOCALE = 350,
284 >     MIN_NONWILDCARD = 351,
285 >     MIN_NONWILDCARD_SIMPLE = 352,
286 >     MODULE = 353,
287 >     MODULES = 354,
288 >     NAME = 355,
289 >     NEED_PASSWORD = 356,
290 >     NETWORK_DESC = 357,
291 >     NETWORK_NAME = 358,
292 >     NICK = 359,
293 >     NICK_CHANGES = 360,
294 >     NO_CREATE_ON_SPLIT = 361,
295 >     NO_JOIN_ON_SPLIT = 362,
296 >     NO_OPER_FLOOD = 363,
297 >     NO_TILDE = 364,
298 >     NUMBER = 365,
299 >     NUMBER_PER_IDENT = 366,
300 >     NUMBER_PER_CIDR = 367,
301 >     NUMBER_PER_IP = 368,
302 >     NUMBER_PER_IP_GLOBAL = 369,
303 >     OPERATOR = 370,
304 >     OPERS_BYPASS_CALLERID = 371,
305 >     OPER_ONLY_UMODES = 372,
306 >     OPER_PASS_RESV = 373,
307 >     OPER_SPY_T = 374,
308 >     OPER_UMODES = 375,
309 >     JOIN_FLOOD_COUNT = 376,
310 >     JOIN_FLOOD_TIME = 377,
311 >     PACE_WAIT = 378,
312 >     PACE_WAIT_SIMPLE = 379,
313 >     PASSWORD = 380,
314 >     PATH = 381,
315 >     PING_COOKIE = 382,
316 >     PING_TIME = 383,
317 >     PING_WARNING = 384,
318 >     PORT = 385,
319 >     QSTRING = 386,
320 >     QUIET_ON_BAN = 387,
321 >     REASON = 388,
322 >     REDIRPORT = 389,
323 >     REDIRSERV = 390,
324 >     REGEX_T = 391,
325 >     REHASH = 392,
326 >     TREJECT_HOLD_TIME = 393,
327 >     REMOTE = 394,
328 >     REMOTEBAN = 395,
329 >     RESTRICT_CHANNELS = 396,
330 >     RESTRICTED = 397,
331 >     RSA_PRIVATE_KEY_FILE = 398,
332 >     RSA_PUBLIC_KEY_FILE = 399,
333 >     SSL_CERTIFICATE_FILE = 400,
334 >     SSL_DH_PARAM_FILE = 401,
335 >     T_SSL_CLIENT_METHOD = 402,
336 >     T_SSL_SERVER_METHOD = 403,
337 >     T_SSLV3 = 404,
338 >     T_TLSV1 = 405,
339 >     RESV = 406,
340 >     RESV_EXEMPT = 407,
341 >     SECONDS = 408,
342 >     MINUTES = 409,
343 >     HOURS = 410,
344 >     DAYS = 411,
345 >     WEEKS = 412,
346 >     SENDQ = 413,
347 >     SEND_PASSWORD = 414,
348 >     SERVERHIDE = 415,
349 >     SERVERINFO = 416,
350 >     IRCD_SID = 417,
351 >     TKLINE_EXPIRE_NOTICES = 418,
352 >     T_SHARED = 419,
353 >     T_CLUSTER = 420,
354 >     TYPE = 421,
355 >     SHORT_MOTD = 422,
356 >     SILENT = 423,
357 >     SPOOF = 424,
358 >     SPOOF_NOTICE = 425,
359 >     STATS_E_DISABLED = 426,
360 >     STATS_I_OPER_ONLY = 427,
361 >     STATS_K_OPER_ONLY = 428,
362 >     STATS_O_OPER_ONLY = 429,
363 >     STATS_P_OPER_ONLY = 430,
364 >     TBOOL = 431,
365 >     TMASKED = 432,
366 >     T_REJECT = 433,
367 >     TS_MAX_DELTA = 434,
368 >     TS_WARN_DELTA = 435,
369 >     TWODOTS = 436,
370 >     T_ALL = 437,
371 >     T_BOTS = 438,
372 >     T_SOFTCALLERID = 439,
373 >     T_CALLERID = 440,
374 >     T_CCONN = 441,
375 >     T_CCONN_FULL = 442,
376 >     T_SSL_CIPHER_LIST = 443,
377 >     T_CLIENT_FLOOD = 444,
378 >     T_DEAF = 445,
379 >     T_DEBUG = 446,
380 >     T_DLINE = 447,
381 >     T_DRONE = 448,
382 >     T_EXTERNAL = 449,
383 >     T_FULL = 450,
384 >     T_INVISIBLE = 451,
385 >     T_IPV4 = 452,
386 >     T_IPV6 = 453,
387 >     T_LOCOPS = 454,
388 >     T_MAX_CLIENTS = 455,
389 >     T_NCHANGE = 456,
390 >     T_OPERWALL = 457,
391 >     T_REJ = 458,
392 >     T_SERVER = 459,
393 >     T_SERVNOTICE = 460,
394 >     T_SKILL = 461,
395 >     T_SPY = 462,
396 >     T_SSL = 463,
397 >     T_UMODES = 464,
398 >     T_UNAUTH = 465,
399 >     T_UNDLINE = 466,
400 >     T_UNLIMITED = 467,
401 >     T_UNRESV = 468,
402 >     T_UNXLINE = 469,
403 >     T_GLOBOPS = 470,
404 >     T_WALLOP = 471,
405 >     T_RESTART = 472,
406 >     T_SERVICE = 473,
407 >     T_SERVICES_NAME = 474,
408 >     THROTTLE_TIME = 475,
409 >     TOPICBURST = 476,
410 >     TRUE_NO_OPER_FLOOD = 477,
411 >     TKLINE = 478,
412 >     TXLINE = 479,
413 >     TRESV = 480,
414 >     UNKLINE = 481,
415 >     USER = 482,
416 >     USE_EGD = 483,
417 >     USE_EXCEPT = 484,
418 >     USE_INVEX = 485,
419 >     USE_KNOCK = 486,
420 >     USE_LOGGING = 487,
421 >     USE_WHOIS_ACTUALLY = 488,
422 >     VHOST = 489,
423 >     VHOST6 = 490,
424 >     XLINE = 491,
425 >     WARN = 492,
426 >     WARN_NO_NLINE = 493,
427 >     T_SIZE = 494,
428 >     T_FILE = 495
429     };
430   #endif
431   /* Tokens.  */
# Line 474 | Line 439 | unhook_hub_leaf_confs(void)
439   #define AUTOCONN 265
440   #define T_BLOCK 266
441   #define BURST_AWAY 267
442 < #define BURST_TOPICWHO 268
443 < #define BYTES 269
444 < #define KBYTES 270
445 < #define MBYTES 271
446 < #define GBYTES 272
447 < #define TBYTES 273
448 < #define CALLER_ID_WAIT 274
449 < #define CAN_FLOOD 275
450 < #define CAN_IDLE 276
451 < #define CHANNEL 277
452 < #define CIDR_BITLEN_IPV4 278
453 < #define CIDR_BITLEN_IPV6 279
454 < #define CIPHER_PREFERENCE 280
455 < #define CLASS 281
456 < #define COMPRESSED 282
457 < #define COMPRESSION_LEVEL 283
458 < #define CONNECT 284
459 < #define CONNECTFREQ 285
460 < #define CRYPTLINK 286
461 < #define DEFAULT_CIPHER_PREFERENCE 287
462 < #define DEFAULT_FLOODCOUNT 288
463 < #define DEFAULT_SPLIT_SERVER_COUNT 289
464 < #define DEFAULT_SPLIT_USER_COUNT 290
465 < #define DENY 291
466 < #define DESCRIPTION 292
467 < #define DIE 293
468 < #define DISABLE_AUTH 294
469 < #define DISABLE_FAKE_CHANNELS 295
470 < #define DISABLE_HIDDEN 296
471 < #define DISABLE_LOCAL_CHANNELS 297
472 < #define DISABLE_REMOTE_COMMANDS 298
473 < #define DOTS_IN_IDENT 299
474 < #define DURATION 300
475 < #define EGDPOOL_PATH 301
476 < #define EMAIL 302
477 < #define ENABLE 303
478 < #define ENCRYPTED 304
479 < #define EXCEED_LIMIT 305
480 < #define EXEMPT 306
481 < #define FAILED_OPER_NOTICE 307
482 < #define FAKENAME 308
483 < #define IRCD_FLAGS 309
484 < #define FLATTEN_LINKS 310
485 < #define FFAILED_OPERLOG 311
486 < #define FKILLLOG 312
487 < #define FKLINELOG 313
488 < #define FGLINELOG 314
489 < #define FIOERRLOG 315
490 < #define FOPERLOG 316
491 < #define FOPERSPYLOG 317
492 < #define FUSERLOG 318
493 < #define GECOS 319
494 < #define GENERAL 320
495 < #define GLINE 321
496 < #define GLINES 322
497 < #define GLINE_EXEMPT 323
498 < #define GLINE_LOG 324
499 < #define GLINE_TIME 325
500 < #define GLINE_MIN_CIDR 326
501 < #define GLINE_MIN_CIDR6 327
502 < #define GLOBAL_KILL 328
503 < #define IRCD_AUTH 329
504 < #define NEED_IDENT 330
505 < #define HAVENT_READ_CONF 331
506 < #define HIDDEN 332
507 < #define HIDDEN_ADMIN 333
508 < #define HIDDEN_NAME 334
509 < #define HIDDEN_OPER 335
510 < #define HIDE_SERVER_IPS 336
511 < #define HIDE_SERVERS 337
512 < #define HIDE_SPOOF_IPS 338
513 < #define HOST 339
514 < #define HUB 340
515 < #define HUB_MASK 341
516 < #define IDLETIME 342
517 < #define IGNORE_BOGUS_TS 343
518 < #define INVISIBLE_ON_CONNECT 344
519 < #define IP 345
520 < #define KILL 346
521 < #define KILL_CHASE_TIME_LIMIT 347
522 < #define KLINE 348
523 < #define KLINE_EXEMPT 349
524 < #define KLINE_REASON 350
525 < #define KLINE_WITH_REASON 351
526 < #define KNOCK_DELAY 352
527 < #define KNOCK_DELAY_CHANNEL 353
528 < #define LEAF_MASK 354
529 < #define LINKS_DELAY 355
530 < #define LISTEN 356
531 < #define T_LOG 357
532 < #define LOGGING 358
533 < #define LOG_LEVEL 359
534 < #define MAX_ACCEPT 360
535 < #define MAX_BANS 361
536 < #define MAX_CHANS_PER_USER 362
537 < #define MAX_GLOBAL 363
538 < #define MAX_IDENT 364
539 < #define MAX_LOCAL 365
540 < #define MAX_NICK_CHANGES 366
541 < #define MAX_NICK_TIME 367
542 < #define MAX_NUMBER 368
543 < #define MAX_TARGETS 369
544 < #define MAX_WATCH 370
545 < #define MESSAGE_LOCALE 371
546 < #define MIN_NONWILDCARD 372
547 < #define MIN_NONWILDCARD_SIMPLE 373
548 < #define MODULE 374
549 < #define MODULES 375
550 < #define NAME 376
551 < #define NEED_PASSWORD 377
552 < #define NETWORK_DESC 378
553 < #define NETWORK_NAME 379
554 < #define NICK 380
555 < #define NICK_CHANGES 381
556 < #define NO_CREATE_ON_SPLIT 382
557 < #define NO_JOIN_ON_SPLIT 383
558 < #define NO_OPER_FLOOD 384
559 < #define NO_TILDE 385
560 < #define NOT 386
561 < #define NUMBER 387
562 < #define NUMBER_PER_IDENT 388
563 < #define NUMBER_PER_CIDR 389
564 < #define NUMBER_PER_IP 390
565 < #define NUMBER_PER_IP_GLOBAL 391
566 < #define OPERATOR 392
567 < #define OPERS_BYPASS_CALLERID 393
568 < #define OPER_LOG 394
569 < #define OPER_ONLY_UMODES 395
570 < #define OPER_PASS_RESV 396
571 < #define OPER_SPY_T 397
572 < #define OPER_UMODES 398
573 < #define JOIN_FLOOD_COUNT 399
574 < #define JOIN_FLOOD_TIME 400
575 < #define PACE_WAIT 401
576 < #define PACE_WAIT_SIMPLE 402
577 < #define PASSWORD 403
578 < #define PATH 404
579 < #define PING_COOKIE 405
580 < #define PING_TIME 406
581 < #define PING_WARNING 407
582 < #define PORT 408
583 < #define QSTRING 409
584 < #define QUIET_ON_BAN 410
585 < #define REASON 411
586 < #define REDIRPORT 412
587 < #define REDIRSERV 413
588 < #define REGEX_T 414
589 < #define REHASH 415
590 < #define TREJECT_HOLD_TIME 416
591 < #define REMOTE 417
592 < #define REMOTEBAN 418
593 < #define RESTRICT_CHANNELS 419
594 < #define RESTRICTED 420
595 < #define RSA_PRIVATE_KEY_FILE 421
596 < #define RSA_PUBLIC_KEY_FILE 422
597 < #define SSL_CERTIFICATE_FILE 423
598 < #define T_SSL_CONNECTION_METHOD 424
599 < #define T_SSLV3 425
600 < #define T_TLSV1 426
601 < #define RESV 427
602 < #define RESV_EXEMPT 428
603 < #define SECONDS 429
604 < #define MINUTES 430
605 < #define HOURS 431
606 < #define DAYS 432
607 < #define WEEKS 433
608 < #define SENDQ 434
609 < #define SEND_PASSWORD 435
610 < #define SERVERHIDE 436
611 < #define SERVERINFO 437
612 < #define SERVLINK_PATH 438
613 < #define IRCD_SID 439
614 < #define TKLINE_EXPIRE_NOTICES 440
615 < #define T_SHARED 441
616 < #define T_CLUSTER 442
617 < #define TYPE 443
618 < #define SHORT_MOTD 444
619 < #define SILENT 445
620 < #define SPOOF 446
621 < #define SPOOF_NOTICE 447
622 < #define STATS_E_DISABLED 448
623 < #define STATS_I_OPER_ONLY 449
624 < #define STATS_K_OPER_ONLY 450
625 < #define STATS_O_OPER_ONLY 451
626 < #define STATS_P_OPER_ONLY 452
627 < #define TBOOL 453
628 < #define TMASKED 454
629 < #define T_REJECT 455
630 < #define TS_MAX_DELTA 456
631 < #define TS_WARN_DELTA 457
632 < #define TWODOTS 458
633 < #define T_ALL 459
634 < #define T_BOTS 460
635 < #define T_SOFTCALLERID 461
636 < #define T_CALLERID 462
637 < #define T_CCONN 463
638 < #define T_CCONN_FULL 464
639 < #define T_CLIENT_FLOOD 465
640 < #define T_DEAF 466
641 < #define T_DEBUG 467
642 < #define T_DRONE 468
643 < #define T_EXTERNAL 469
644 < #define T_FULL 470
645 < #define T_INVISIBLE 471
646 < #define T_IPV4 472
647 < #define T_IPV6 473
648 < #define T_LOCOPS 474
649 < #define T_LOGPATH 475
650 < #define T_L_CRIT 476
651 < #define T_L_DEBUG 477
652 < #define T_L_ERROR 478
653 < #define T_L_INFO 479
654 < #define T_L_NOTICE 480
655 < #define T_L_TRACE 481
656 < #define T_L_WARN 482
657 < #define T_MAX_CLIENTS 483
658 < #define T_NCHANGE 484
659 < #define T_OPERWALL 485
660 < #define T_REJ 486
661 < #define T_SERVER 487
662 < #define T_SERVNOTICE 488
663 < #define T_SKILL 489
664 < #define T_SPY 490
665 < #define T_SSL 491
666 < #define T_UMODES 492
667 < #define T_UNAUTH 493
668 < #define T_UNRESV 494
669 < #define T_UNXLINE 495
705 < #define T_WALLOP 496
706 < #define THROTTLE_TIME 497
707 < #define TOPICBURST 498
708 < #define TRUE_NO_OPER_FLOOD 499
709 < #define TKLINE 500
710 < #define TXLINE 501
711 < #define TRESV 502
712 < #define UNKLINE 503
713 < #define USER 504
714 < #define USE_EGD 505
715 < #define USE_EXCEPT 506
716 < #define USE_INVEX 507
717 < #define USE_KNOCK 508
718 < #define USE_LOGGING 509
719 < #define USE_WHOIS_ACTUALLY 510
720 < #define VHOST 511
721 < #define VHOST6 512
722 < #define XLINE 513
723 < #define WARN 514
724 < #define WARN_NO_NLINE 515
442 > #define BYTES 268
443 > #define KBYTES 269
444 > #define MBYTES 270
445 > #define GBYTES 271
446 > #define TBYTES 272
447 > #define CALLER_ID_WAIT 273
448 > #define CAN_FLOOD 274
449 > #define CHANNEL 275
450 > #define CIDR_BITLEN_IPV4 276
451 > #define CIDR_BITLEN_IPV6 277
452 > #define CLASS 278
453 > #define CONNECT 279
454 > #define CONNECTFREQ 280
455 > #define DEFAULT_FLOODCOUNT 281
456 > #define DEFAULT_SPLIT_SERVER_COUNT 282
457 > #define DEFAULT_SPLIT_USER_COUNT 283
458 > #define DENY 284
459 > #define DESCRIPTION 285
460 > #define DIE 286
461 > #define DISABLE_AUTH 287
462 > #define DISABLE_FAKE_CHANNELS 288
463 > #define DISABLE_HIDDEN 289
464 > #define DISABLE_LOCAL_CHANNELS 290
465 > #define DISABLE_REMOTE_COMMANDS 291
466 > #define DOTS_IN_IDENT 292
467 > #define DURATION 293
468 > #define EGDPOOL_PATH 294
469 > #define EMAIL 295
470 > #define ENABLE 296
471 > #define ENCRYPTED 297
472 > #define EXCEED_LIMIT 298
473 > #define EXEMPT 299
474 > #define FAILED_OPER_NOTICE 300
475 > #define IRCD_FLAGS 301
476 > #define FLATTEN_LINKS 302
477 > #define GECOS 303
478 > #define GENERAL 304
479 > #define GLINE 305
480 > #define GLINES 306
481 > #define GLINE_EXEMPT 307
482 > #define GLINE_TIME 308
483 > #define GLINE_MIN_CIDR 309
484 > #define GLINE_MIN_CIDR6 310
485 > #define GLOBAL_KILL 311
486 > #define IRCD_AUTH 312
487 > #define NEED_IDENT 313
488 > #define HAVENT_READ_CONF 314
489 > #define HIDDEN 315
490 > #define HIDDEN_NAME 316
491 > #define HIDE_SERVER_IPS 317
492 > #define HIDE_SERVERS 318
493 > #define HIDE_SPOOF_IPS 319
494 > #define HOST 320
495 > #define HUB 321
496 > #define HUB_MASK 322
497 > #define IGNORE_BOGUS_TS 323
498 > #define INVISIBLE_ON_CONNECT 324
499 > #define IP 325
500 > #define KILL 326
501 > #define KILL_CHASE_TIME_LIMIT 327
502 > #define KLINE 328
503 > #define KLINE_EXEMPT 329
504 > #define KLINE_REASON 330
505 > #define KLINE_WITH_REASON 331
506 > #define KNOCK_DELAY 332
507 > #define KNOCK_DELAY_CHANNEL 333
508 > #define LEAF_MASK 334
509 > #define LINKS_DELAY 335
510 > #define LISTEN 336
511 > #define T_LOG 337
512 > #define MAX_ACCEPT 338
513 > #define MAX_BANS 339
514 > #define MAX_CHANS_PER_OPER 340
515 > #define MAX_CHANS_PER_USER 341
516 > #define MAX_GLOBAL 342
517 > #define MAX_IDENT 343
518 > #define MAX_LOCAL 344
519 > #define MAX_NICK_CHANGES 345
520 > #define MAX_NICK_TIME 346
521 > #define MAX_NUMBER 347
522 > #define MAX_TARGETS 348
523 > #define MAX_WATCH 349
524 > #define MESSAGE_LOCALE 350
525 > #define MIN_NONWILDCARD 351
526 > #define MIN_NONWILDCARD_SIMPLE 352
527 > #define MODULE 353
528 > #define MODULES 354
529 > #define NAME 355
530 > #define NEED_PASSWORD 356
531 > #define NETWORK_DESC 357
532 > #define NETWORK_NAME 358
533 > #define NICK 359
534 > #define NICK_CHANGES 360
535 > #define NO_CREATE_ON_SPLIT 361
536 > #define NO_JOIN_ON_SPLIT 362
537 > #define NO_OPER_FLOOD 363
538 > #define NO_TILDE 364
539 > #define NUMBER 365
540 > #define NUMBER_PER_IDENT 366
541 > #define NUMBER_PER_CIDR 367
542 > #define NUMBER_PER_IP 368
543 > #define NUMBER_PER_IP_GLOBAL 369
544 > #define OPERATOR 370
545 > #define OPERS_BYPASS_CALLERID 371
546 > #define OPER_ONLY_UMODES 372
547 > #define OPER_PASS_RESV 373
548 > #define OPER_SPY_T 374
549 > #define OPER_UMODES 375
550 > #define JOIN_FLOOD_COUNT 376
551 > #define JOIN_FLOOD_TIME 377
552 > #define PACE_WAIT 378
553 > #define PACE_WAIT_SIMPLE 379
554 > #define PASSWORD 380
555 > #define PATH 381
556 > #define PING_COOKIE 382
557 > #define PING_TIME 383
558 > #define PING_WARNING 384
559 > #define PORT 385
560 > #define QSTRING 386
561 > #define QUIET_ON_BAN 387
562 > #define REASON 388
563 > #define REDIRPORT 389
564 > #define REDIRSERV 390
565 > #define REGEX_T 391
566 > #define REHASH 392
567 > #define TREJECT_HOLD_TIME 393
568 > #define REMOTE 394
569 > #define REMOTEBAN 395
570 > #define RESTRICT_CHANNELS 396
571 > #define RESTRICTED 397
572 > #define RSA_PRIVATE_KEY_FILE 398
573 > #define RSA_PUBLIC_KEY_FILE 399
574 > #define SSL_CERTIFICATE_FILE 400
575 > #define SSL_DH_PARAM_FILE 401
576 > #define T_SSL_CLIENT_METHOD 402
577 > #define T_SSL_SERVER_METHOD 403
578 > #define T_SSLV3 404
579 > #define T_TLSV1 405
580 > #define RESV 406
581 > #define RESV_EXEMPT 407
582 > #define SECONDS 408
583 > #define MINUTES 409
584 > #define HOURS 410
585 > #define DAYS 411
586 > #define WEEKS 412
587 > #define SENDQ 413
588 > #define SEND_PASSWORD 414
589 > #define SERVERHIDE 415
590 > #define SERVERINFO 416
591 > #define IRCD_SID 417
592 > #define TKLINE_EXPIRE_NOTICES 418
593 > #define T_SHARED 419
594 > #define T_CLUSTER 420
595 > #define TYPE 421
596 > #define SHORT_MOTD 422
597 > #define SILENT 423
598 > #define SPOOF 424
599 > #define SPOOF_NOTICE 425
600 > #define STATS_E_DISABLED 426
601 > #define STATS_I_OPER_ONLY 427
602 > #define STATS_K_OPER_ONLY 428
603 > #define STATS_O_OPER_ONLY 429
604 > #define STATS_P_OPER_ONLY 430
605 > #define TBOOL 431
606 > #define TMASKED 432
607 > #define T_REJECT 433
608 > #define TS_MAX_DELTA 434
609 > #define TS_WARN_DELTA 435
610 > #define TWODOTS 436
611 > #define T_ALL 437
612 > #define T_BOTS 438
613 > #define T_SOFTCALLERID 439
614 > #define T_CALLERID 440
615 > #define T_CCONN 441
616 > #define T_CCONN_FULL 442
617 > #define T_SSL_CIPHER_LIST 443
618 > #define T_CLIENT_FLOOD 444
619 > #define T_DEAF 445
620 > #define T_DEBUG 446
621 > #define T_DLINE 447
622 > #define T_DRONE 448
623 > #define T_EXTERNAL 449
624 > #define T_FULL 450
625 > #define T_INVISIBLE 451
626 > #define T_IPV4 452
627 > #define T_IPV6 453
628 > #define T_LOCOPS 454
629 > #define T_MAX_CLIENTS 455
630 > #define T_NCHANGE 456
631 > #define T_OPERWALL 457
632 > #define T_REJ 458
633 > #define T_SERVER 459
634 > #define T_SERVNOTICE 460
635 > #define T_SKILL 461
636 > #define T_SPY 462
637 > #define T_SSL 463
638 > #define T_UMODES 464
639 > #define T_UNAUTH 465
640 > #define T_UNDLINE 466
641 > #define T_UNLIMITED 467
642 > #define T_UNRESV 468
643 > #define T_UNXLINE 469
644 > #define T_GLOBOPS 470
645 > #define T_WALLOP 471
646 > #define T_RESTART 472
647 > #define T_SERVICE 473
648 > #define T_SERVICES_NAME 474
649 > #define THROTTLE_TIME 475
650 > #define TOPICBURST 476
651 > #define TRUE_NO_OPER_FLOOD 477
652 > #define TKLINE 478
653 > #define TXLINE 479
654 > #define TRESV 480
655 > #define UNKLINE 481
656 > #define USER 482
657 > #define USE_EGD 483
658 > #define USE_EXCEPT 484
659 > #define USE_INVEX 485
660 > #define USE_KNOCK 486
661 > #define USE_LOGGING 487
662 > #define USE_WHOIS_ACTUALLY 488
663 > #define VHOST 489
664 > #define VHOST6 490
665 > #define XLINE 491
666 > #define WARN 492
667 > #define WARN_NO_NLINE 493
668 > #define T_SIZE 494
669 > #define T_FILE 495
670  
671  
672  
# Line 730 | Line 675 | unhook_hub_leaf_confs(void)
675   typedef union YYSTYPE
676   {
677  
678 < /* Line 214 of yacc.c  */
679 < #line 132 "ircd_parser.y"
678 > /* Line 295 of yacc.c  */
679 > #line 110 "conf_parser.y"
680  
681    int number;
682    char *string;
683  
684  
685  
686 < /* Line 214 of yacc.c  */
687 < #line 743 "ircd_parser.c"
686 > /* Line 295 of yacc.c  */
687 > #line 688 "conf_parser.c"
688   } YYSTYPE;
689   # define YYSTYPE_IS_TRIVIAL 1
690   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# Line 750 | Line 695 | typedef union YYSTYPE
695   /* Copy the second part of user declarations.  */
696  
697  
698 < /* Line 264 of yacc.c  */
699 < #line 755 "ircd_parser.c"
698 > /* Line 345 of yacc.c  */
699 > #line 700 "conf_parser.c"
700  
701   #ifdef short
702   # undef short
# Line 854 | Line 799 | YYID (yyi)
799   #    define alloca _alloca
800   #   else
801   #    define YYSTACK_ALLOC alloca
802 < #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
802 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
803       || defined __cplusplus || defined _MSC_VER)
804   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
805 < #     ifndef _STDLIB_H
806 < #      define _STDLIB_H 1
805 >      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
806 > #     ifndef EXIT_SUCCESS
807 > #      define EXIT_SUCCESS 0
808   #     endif
809   #    endif
810   #   endif
# Line 881 | Line 827 | YYID (yyi)
827   #  ifndef YYSTACK_ALLOC_MAXIMUM
828   #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
829   #  endif
830 < #  if (defined __cplusplus && ! defined _STDLIB_H \
830 > #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
831         && ! ((defined YYMALLOC || defined malloc) \
832               && (defined YYFREE || defined free)))
833   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
834 < #   ifndef _STDLIB_H
835 < #    define _STDLIB_H 1
834 > #   ifndef EXIT_SUCCESS
835 > #    define EXIT_SUCCESS 0
836   #   endif
837   #  endif
838   #  ifndef YYMALLOC
839   #   define YYMALLOC malloc
840 < #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
840 > #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
841       || defined __cplusplus || defined _MSC_VER)
842   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
843   #   endif
844   #  endif
845   #  ifndef YYFREE
846   #   define YYFREE free
847 < #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
847 > #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
848       || defined __cplusplus || defined _MSC_VER)
849   void free (void *); /* INFRINGES ON USER NAME SPACE */
850   #   endif
# Line 927 | Line 873 | union yyalloc
873       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
874        + YYSTACK_GAP_MAXIMUM)
875  
876 < /* Copy COUNT objects from FROM to TO.  The source and destination do
931 <   not overlap.  */
932 < # ifndef YYCOPY
933 < #  if defined __GNUC__ && 1 < __GNUC__
934 < #   define YYCOPY(To, From, Count) \
935 <      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
936 < #  else
937 < #   define YYCOPY(To, From, Count)              \
938 <      do                                        \
939 <        {                                       \
940 <          YYSIZE_T yyi;                         \
941 <          for (yyi = 0; yyi < (Count); yyi++)   \
942 <            (To)[yyi] = (From)[yyi];            \
943 <        }                                       \
944 <      while (YYID (0))
945 < #  endif
946 < # endif
876 > # define YYCOPY_NEEDED 1
877  
878   /* Relocate STACK from its old location to the new one.  The
879     local variables YYSIZE and YYSTACKSIZE give the old and new number of
# Line 963 | Line 893 | union yyalloc
893  
894   #endif
895  
896 + #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
897 + /* Copy COUNT objects from SRC to DST.  The source and destination do
898 +   not overlap.  */
899 + # ifndef YYCOPY
900 + #  if defined __GNUC__ && 1 < __GNUC__
901 + #   define YYCOPY(Dst, Src, Count) \
902 +      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
903 + #  else
904 + #   define YYCOPY(Dst, Src, Count)              \
905 +      do                                        \
906 +        {                                       \
907 +          YYSIZE_T yyi;                         \
908 +          for (yyi = 0; yyi < (Count); yyi++)   \
909 +            (Dst)[yyi] = (Src)[yyi];            \
910 +        }                                       \
911 +      while (YYID (0))
912 + #  endif
913 + # endif
914 + #endif /* !YYCOPY_NEEDED */
915 +
916   /* YYFINAL -- State number of the termination state.  */
917   #define YYFINAL  2
918   /* YYLAST -- Last index in YYTABLE.  */
919 < #define YYLAST   1263
919 > #define YYLAST   1248
920  
921   /* YYNTOKENS -- Number of terminals.  */
922 < #define YYNTOKENS  266
922 > #define YYNTOKENS  246
923   /* YYNNTS -- Number of nonterminals.  */
924 < #define YYNNTS  319
924 > #define YYNNTS  305
925   /* YYNRULES -- Number of rules.  */
926 < #define YYNRULES  689
926 > #define YYNRULES  668
927   /* YYNRULES -- Number of states.  */
928 < #define YYNSTATES  1359
928 > #define YYNSTATES  1311
929  
930   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
931   #define YYUNDEFTOK  2
932 < #define YYMAXUTOK   515
932 > #define YYMAXUTOK   495
933  
934   #define YYTRANSLATE(YYX)                                                \
935    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
936  
937   /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
938 < static const yytype_uint16 yytranslate[] =
938 > static const yytype_uint8 yytranslate[] =
939   {
940         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
941         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
942         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
943         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
944 <       2,     2,     2,     2,   265,     2,     2,     2,     2,     2,
945 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   261,
946 <       2,   264,     2,     2,     2,     2,     2,     2,     2,     2,
944 >       2,     2,     2,     2,   245,     2,     2,     2,     2,     2,
945 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   241,
946 >       2,   244,     2,     2,     2,     2,     2,     2,     2,     2,
947         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
948         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
949         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
950         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
951         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
952 <       2,     2,     2,   263,     2,   262,     2,     2,     2,     2,
952 >       2,     2,     2,   243,     2,   242,     2,     2,     2,     2,
953         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
954         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
955         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1036 | Line 986 | static const yytype_uint16 yytranslate[]
986       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
987       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
988       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
989 <     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1040 <     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1041 <     255,   256,   257,   258,   259,   260
989 >     235,   236,   237,   238,   239,   240
990   };
991  
992   #if YYDEBUG
# Line 1048 | Line 996 | static const yytype_uint16 yyprhs[] =
996   {
997         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
998        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
999 <      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
1000 <      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
1001 <      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
1002 <     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1003 <     154,   156,   158,   160,   163,   164,   170,   174,   176,   178,
1004 <     180,   185,   190,   195,   200,   205,   210,   215,   220,   225,
1005 <     230,   235,   241,   244,   246,   248,   250,   252,   255,   260,
1006 <     265,   270,   276,   279,   281,   283,   285,   287,   289,   291,
1007 <     293,   295,   297,   299,   301,   303,   305,   308,   313,   318,
1008 <     323,   328,   333,   338,   343,   348,   353,   358,   363,   368,
1009 <     373,   378,   383,   388,   393,   398,   399,   407,   408,   410,
1010 <     413,   415,   417,   419,   421,   423,   425,   427,   429,   431,
1011 <     434,   439,   441,   446,   451,   456,   461,   466,   467,   473,
999 >      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
1000 >      61,    65,    69,    73,    77,    81,    82,    84,    87,    91,
1001 >      95,    99,   105,   108,   110,   112,   114,   117,   122,   127,
1002 >     133,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1003 >     154,   156,   158,   160,   162,   164,   166,   168,   171,   176,
1004 >     181,   185,   187,   189,   191,   195,   197,   199,   201,   206,
1005 >     211,   216,   221,   226,   231,   236,   241,   246,   251,   256,
1006 >     261,   266,   272,   275,   277,   279,   281,   283,   286,   291,
1007 >     296,   301,   307,   310,   312,   314,   316,   319,   324,   325,
1008 >     332,   335,   337,   339,   341,   343,   346,   351,   356,   361,
1009 >     362,   368,   372,   374,   376,   378,   380,   382,   384,   386,
1010 >     388,   389,   396,   399,   401,   403,   405,   407,   409,   411,
1011 >     413,   415,   417,   420,   425,   430,   435,   440,   445,   450,
1012 >     451,   457,   461,   463,   465,   467,   469,   471,   473,   475,
1013       477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
1014 <     497,   499,   501,   503,   505,   507,   509,   511,   513,   515,
1015 <     517,   518,   524,   528,   530,   531,   535,   536,   539,   541,
1016 <     543,   545,   547,   549,   551,   553,   555,   557,   559,   561,
1017 <     563,   565,   567,   569,   571,   572,   580,   581,   583,   586,
1018 <     588,   590,   592,   594,   596,   598,   600,   602,   604,   606,
1019 <     608,   610,   612,   614,   617,   622,   624,   629,   634,   639,
1020 <     644,   649,   654,   659,   664,   669,   674,   679,   684,   685,
1021 <     692,   693,   699,   703,   705,   707,   709,   711,   714,   716,
1022 <     718,   720,   722,   724,   727,   728,   734,   738,   740,   742,
1023 <     746,   751,   756,   757,   764,   767,   769,   771,   773,   775,
1024 <     777,   779,   781,   783,   785,   788,   793,   798,   803,   808,
1025 <     809,   815,   819,   821,   822,   826,   827,   830,   832,   834,
1026 <     836,   838,   840,   842,   844,   846,   848,   850,   855,   860,
1027 <     865,   866,   873,   876,   878,   880,   882,   884,   887,   892,
1028 <     897,   902,   903,   910,   913,   915,   917,   919,   921,   924,
1029 <     929,   934,   935,   941,   945,   947,   949,   951,   953,   955,
1030 <     957,   959,   961,   963,   965,   967,   969,   970,   977,   980,
1031 <     982,   984,   986,   989,   994,   995,  1001,  1005,  1007,  1009,
1032 <    1011,  1013,  1015,  1017,  1019,  1021,  1023,  1025,  1027,  1029,
1033 <    1030,  1038,  1039,  1041,  1044,  1046,  1048,  1050,  1052,  1054,
1034 <    1056,  1058,  1060,  1062,  1064,  1066,  1068,  1070,  1072,  1074,
1035 <    1076,  1079,  1084,  1086,  1091,  1096,  1101,  1106,  1111,  1116,
1036 <    1121,  1126,  1127,  1133,  1137,  1139,  1140,  1144,  1145,  1148,
1037 <    1150,  1152,  1154,  1156,  1158,  1163,  1168,  1173,  1178,  1183,
1038 <    1188,  1189,  1196,  1197,  1203,  1207,  1209,  1211,  1214,  1216,
1039 <    1218,  1220,  1222,  1224,  1229,  1234,  1235,  1242,  1245,  1247,
1040 <    1249,  1251,  1253,  1258,  1263,  1269,  1272,  1274,  1276,  1278,
1041 <    1283,  1284,  1291,  1292,  1298,  1302,  1304,  1306,  1309,  1311,
1042 <    1313,  1315,  1317,  1319,  1324,  1329,  1335,  1338,  1340,  1342,
1043 <    1344,  1346,  1348,  1350,  1352,  1354,  1356,  1358,  1360,  1362,
1044 <    1364,  1366,  1368,  1370,  1372,  1374,  1376,  1378,  1380,  1382,
1045 <    1384,  1386,  1388,  1390,  1392,  1394,  1396,  1398,  1400,  1402,
1046 <    1404,  1406,  1408,  1410,  1412,  1414,  1416,  1418,  1420,  1422,
1047 <    1424,  1426,  1428,  1430,  1432,  1434,  1436,  1438,  1440,  1442,
1048 <    1444,  1446,  1448,  1450,  1452,  1457,  1462,  1467,  1472,  1477,
1049 <    1482,  1487,  1492,  1497,  1502,  1507,  1512,  1517,  1522,  1527,
1050 <    1532,  1537,  1542,  1547,  1552,  1557,  1562,  1567,  1572,  1577,
1051 <    1582,  1587,  1592,  1597,  1602,  1607,  1612,  1617,  1622,  1627,
1052 <    1632,  1637,  1642,  1647,  1652,  1657,  1662,  1667,  1672,  1677,
1053 <    1682,  1687,  1692,  1697,  1702,  1707,  1708,  1714,  1718,  1720,
1054 <    1722,  1724,  1726,  1728,  1730,  1732,  1734,  1736,  1738,  1740,
1055 <    1742,  1744,  1746,  1748,  1750,  1752,  1754,  1756,  1758,  1759,
1056 <    1765,  1769,  1771,  1773,  1775,  1777,  1779,  1781,  1783,  1785,
1057 <    1787,  1789,  1791,  1793,  1795,  1797,  1799,  1801,  1803,  1805,
1058 <    1807,  1809,  1814,  1819,  1824,  1829,  1830,  1837,  1840,  1842,
1059 <    1844,  1846,  1848,  1850,  1852,  1854,  1856,  1861,  1866,  1867,
1060 <    1873,  1877,  1879,  1881,  1883,  1888,  1893,  1894,  1900,  1904,
1061 <    1906,  1908,  1910,  1916,  1919,  1921,  1923,  1925,  1927,  1929,
1062 <    1931,  1933,  1935,  1937,  1939,  1941,  1943,  1945,  1947,  1949,
1063 <    1951,  1953,  1955,  1957,  1959,  1964,  1969,  1974,  1979,  1984,
1115 <    1989,  1994,  1999,  2004,  2009,  2014,  2019,  2024,  2029,  2034,
1116 <    2039,  2044,  2049,  2055,  2058,  2060,  2062,  2064,  2066,  2068,
1117 <    2070,  2072,  2074,  2076,  2081,  2086,  2091,  2096,  2101,  2106
1014 >     497,   499,   501,   503,   504,   510,   514,   516,   518,   520,
1015 >     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
1016 >     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
1017 >     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
1018 >     587,   589,   591,   594,   599,   604,   609,   614,   619,   624,
1019 >     629,   634,   639,   644,   649,   654,   659,   660,   667,   668,
1020 >     674,   678,   680,   682,   684,   686,   689,   691,   693,   695,
1021 >     697,   699,   702,   703,   709,   713,   715,   717,   721,   726,
1022 >     731,   732,   739,   742,   744,   746,   748,   750,   752,   754,
1023 >     756,   758,   760,   763,   768,   773,   778,   783,   784,   790,
1024 >     794,   796,   798,   800,   802,   804,   806,   808,   810,   812,
1025 >     814,   819,   824,   829,   830,   837,   840,   842,   844,   846,
1026 >     848,   851,   856,   861,   866,   872,   875,   877,   879,   881,
1027 >     886,   887,   894,   897,   899,   901,   903,   905,   908,   913,
1028 >     918,   919,   925,   929,   931,   933,   935,   937,   939,   941,
1029 >     943,   945,   947,   949,   951,   952,   959,   962,   964,   966,
1030 >     968,   971,   976,   977,   983,   987,   989,   991,   993,   995,
1031 >     997,   999,  1001,  1003,  1005,  1007,  1009,  1010,  1017,  1020,
1032 >    1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,
1033 >    1042,  1044,  1046,  1048,  1051,  1056,  1061,  1066,  1071,  1076,
1034 >    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1110,
1035 >    1112,  1117,  1122,  1127,  1132,  1137,  1138,  1145,  1146,  1152,
1036 >    1156,  1158,  1160,  1163,  1165,  1167,  1169,  1171,  1173,  1178,
1037 >    1183,  1184,  1191,  1194,  1196,  1198,  1200,  1202,  1207,  1212,
1038 >    1218,  1221,  1223,  1225,  1227,  1232,  1233,  1240,  1241,  1247,
1039 >    1251,  1253,  1255,  1258,  1260,  1262,  1264,  1266,  1268,  1273,
1040 >    1278,  1284,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1041 >    1303,  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,  1321,
1042 >    1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
1043 >    1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1361,
1044 >    1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,
1045 >    1383,  1385,  1387,  1389,  1391,  1393,  1398,  1403,  1408,  1413,
1046 >    1418,  1423,  1428,  1433,  1438,  1443,  1448,  1453,  1458,  1463,
1047 >    1468,  1473,  1478,  1483,  1488,  1493,  1498,  1503,  1508,  1513,
1048 >    1518,  1523,  1528,  1533,  1538,  1543,  1548,  1553,  1558,  1563,
1049 >    1568,  1573,  1578,  1583,  1588,  1593,  1598,  1603,  1608,  1613,
1050 >    1618,  1623,  1628,  1629,  1635,  1639,  1641,  1643,  1645,  1647,
1051 >    1649,  1651,  1653,  1655,  1657,  1659,  1661,  1663,  1665,  1667,
1052 >    1669,  1671,  1673,  1675,  1677,  1679,  1681,  1682,  1688,  1692,
1053 >    1694,  1696,  1698,  1700,  1702,  1704,  1706,  1708,  1710,  1712,
1054 >    1714,  1716,  1718,  1720,  1722,  1724,  1726,  1728,  1730,  1732,
1055 >    1734,  1739,  1744,  1749,  1754,  1755,  1762,  1765,  1767,  1769,
1056 >    1771,  1773,  1775,  1777,  1779,  1781,  1786,  1791,  1792,  1798,
1057 >    1802,  1804,  1806,  1808,  1813,  1818,  1819,  1825,  1829,  1831,
1058 >    1833,  1835,  1841,  1844,  1846,  1848,  1850,  1852,  1854,  1856,
1059 >    1858,  1860,  1862,  1864,  1866,  1868,  1870,  1872,  1874,  1876,
1060 >    1878,  1880,  1882,  1884,  1889,  1894,  1899,  1904,  1909,  1914,
1061 >    1919,  1924,  1929,  1934,  1939,  1944,  1949,  1954,  1959,  1964,
1062 >    1969,  1974,  1980,  1983,  1985,  1987,  1989,  1991,  1993,  1995,
1063 >    1997,  1999,  2001,  2006,  2011,  2016,  2021,  2026,  2031
1064   };
1065  
1066   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1067   static const yytype_int16 yyrhs[] =
1068   {
1069 <     267,     0,    -1,    -1,   267,   268,    -1,   296,    -1,   302,
1070 <      -1,   317,    -1,   554,    -1,   340,    -1,   359,    -1,   373,
1071 <      -1,   278,    -1,   575,    -1,   391,    -1,   398,    -1,   408,
1072 <      -1,   417,    -1,   444,    -1,   454,    -1,   460,    -1,   474,
1073 <      -1,   538,    -1,   464,    -1,   273,    -1,     1,   261,    -1,
1074 <       1,   262,    -1,    -1,   270,    -1,   132,   269,    -1,   132,
1075 <     174,   269,    -1,   132,   175,   269,    -1,   132,   176,   269,
1076 <      -1,   132,   177,   269,    -1,   132,   178,   269,    -1,    -1,
1077 <     272,    -1,   132,   271,    -1,   132,    14,   271,    -1,   132,
1078 <      15,   271,    -1,   132,    16,   271,    -1,   120,   263,   274,
1079 <     262,   261,    -1,   274,   275,    -1,   275,    -1,   276,    -1,
1080 <     277,    -1,     1,   261,    -1,   119,   264,   154,   261,    -1,
1081 <     149,   264,   154,   261,    -1,   182,   263,   279,   262,   261,
1082 <      -1,   279,   280,    -1,   280,    -1,   287,    -1,   292,    -1,
1083 <     295,    -1,   289,    -1,   290,    -1,   291,    -1,   294,    -1,
1084 <     286,    -1,   293,    -1,   288,    -1,   285,    -1,   281,    -1,
1085 <       1,   261,    -1,    -1,   169,   282,   264,   283,   261,    -1,
1086 <     283,   265,   284,    -1,   284,    -1,   170,    -1,   171,    -1,
1087 <     168,   264,   154,   261,    -1,   166,   264,   154,   261,    -1,
1088 <     121,   264,   154,   261,    -1,   184,   264,   154,   261,    -1,
1089 <      37,   264,   154,   261,    -1,   124,   264,   154,   261,    -1,
1090 <     123,   264,   154,   261,    -1,   256,   264,   154,   261,    -1,
1091 <     257,   264,   154,   261,    -1,   228,   264,   132,   261,    -1,
1092 <      85,   264,   198,   261,    -1,     5,   263,   297,   262,   261,
1093 <      -1,   297,   298,    -1,   298,    -1,   299,    -1,   301,    -1,
1094 <     300,    -1,     1,   261,    -1,   121,   264,   154,   261,    -1,
1095 <      47,   264,   154,   261,    -1,    37,   264,   154,   261,    -1,
1096 <     103,   263,   303,   262,   261,    -1,   303,   304,    -1,   304,
1097 <      -1,   305,    -1,   306,    -1,   315,    -1,   316,    -1,   307,
1098 <      -1,   309,    -1,   311,    -1,   312,    -1,   314,    -1,   310,
1099 <      -1,   313,    -1,   308,    -1,     1,   261,    -1,   220,   264,
1100 <     154,   261,    -1,   139,   264,   154,   261,    -1,    63,   264,
1101 <     154,   261,    -1,    56,   264,   154,   261,    -1,    61,   264,
1102 <     154,   261,    -1,    62,   264,   154,   261,    -1,    59,   264,
1103 <     154,   261,    -1,    58,   264,   154,   261,    -1,    60,   264,
1104 <     154,   261,    -1,    57,   264,   154,   261,    -1,   104,   264,
1105 <     221,   261,    -1,   104,   264,   223,   261,    -1,   104,   264,
1106 <     227,   261,    -1,   104,   264,   225,   261,    -1,   104,   264,
1107 <     226,   261,    -1,   104,   264,   224,   261,    -1,   104,   264,
1108 <     222,   261,    -1,   254,   264,   198,   261,    -1,    -1,   137,
1109 <     318,   319,   263,   320,   262,   261,    -1,    -1,   323,    -1,
1110 <     320,   321,    -1,   321,    -1,   322,    -1,   324,    -1,   325,
1111 <      -1,   329,    -1,   328,    -1,   326,    -1,   327,    -1,   333,
1112 <      -1,     1,   261,    -1,   121,   264,   154,   261,    -1,   154,
1113 <      -1,   249,   264,   154,   261,    -1,   148,   264,   154,   261,
1114 <      -1,    49,   264,   198,   261,    -1,   167,   264,   154,   261,
1115 <      -1,    26,   264,   154,   261,    -1,    -1,   237,   330,   264,
1116 <     331,   261,    -1,   331,   265,   332,    -1,   332,    -1,   205,
1117 <      -1,   208,    -1,   209,    -1,   211,    -1,   212,    -1,   215,
1118 <      -1,   234,    -1,   229,    -1,   231,    -1,   238,    -1,   235,
1119 <      -1,   214,    -1,   230,    -1,   233,    -1,   216,    -1,   241,
1120 <      -1,   206,    -1,   207,    -1,   219,    -1,    -1,    54,   334,
1121 <     264,   335,   261,    -1,   335,   265,   336,    -1,   336,    -1,
1122 <      -1,   131,   337,   339,    -1,    -1,   338,   339,    -1,    73,
1123 <      -1,   162,    -1,    93,    -1,   248,    -1,   258,    -1,    66,
1124 <      -1,    38,    -1,   160,    -1,     5,    -1,    78,    -1,   126,
1125 <      -1,   230,    -1,   142,    -1,    80,    -1,   163,    -1,    49,
1126 <      -1,    -1,    26,   341,   342,   263,   343,   262,   261,    -1,
1127 <      -1,   346,    -1,   343,   344,    -1,   344,    -1,   345,    -1,
1128 <     356,    -1,   357,    -1,   347,    -1,   348,    -1,   358,    -1,
1129 <     349,    -1,   350,    -1,   351,    -1,   352,    -1,   353,    -1,
1130 <     354,    -1,   355,    -1,     1,   261,    -1,   121,   264,   154,
1131 <     261,    -1,   154,    -1,   151,   264,   270,   261,    -1,   152,
1132 <     264,   270,   261,    -1,   135,   264,   132,   261,    -1,    30,
1133 <     264,   270,   261,    -1,   113,   264,   132,   261,    -1,   108,
1134 <     264,   132,   261,    -1,   110,   264,   132,   261,    -1,   109,
1135 <     264,   132,   261,    -1,   179,   264,   272,   261,    -1,    23,
1136 <     264,   132,   261,    -1,    24,   264,   132,   261,    -1,   134,
1137 <     264,   132,   261,    -1,    -1,   101,   360,   263,   365,   262,
1138 <     261,    -1,    -1,    54,   362,   264,   363,   261,    -1,   363,
1139 <     265,   364,    -1,   364,    -1,   236,    -1,    77,    -1,   232,
1140 <      -1,   365,   366,    -1,   366,    -1,   367,    -1,   361,    -1,
1141 <     371,    -1,   372,    -1,     1,   261,    -1,    -1,   153,   264,
1142 <     369,   368,   261,    -1,   369,   265,   370,    -1,   370,    -1,
1143 <     132,    -1,   132,   203,   132,    -1,    90,   264,   154,   261,
1144 <      -1,    84,   264,   154,   261,    -1,    -1,    74,   374,   263,
1145 <     375,   262,   261,    -1,   375,   376,    -1,   376,    -1,   377,
1146 <      -1,   378,    -1,   379,    -1,   381,    -1,   388,    -1,   389,
1147 <      -1,   390,    -1,   380,    -1,     1,   261,    -1,   249,   264,
1148 <     154,   261,    -1,   148,   264,   154,   261,    -1,    26,   264,
1149 <     154,   261,    -1,    49,   264,   198,   261,    -1,    -1,    54,
1150 <     382,   264,   383,   261,    -1,   383,   265,   384,    -1,   384,
1151 <      -1,    -1,   131,   385,   387,    -1,    -1,   386,   387,    -1,
1152 <     192,    -1,    50,    -1,    94,    -1,    75,    -1,    20,    -1,
1153 <      21,    -1,   130,    -1,    68,    -1,   173,    -1,   122,    -1,
1154 <     191,   264,   154,   261,    -1,   158,   264,   154,   261,    -1,
1155 <     157,   264,   132,   261,    -1,    -1,   172,   392,   263,   393,
1156 <     262,   261,    -1,   393,   394,    -1,   394,    -1,   395,    -1,
1157 <     396,    -1,   397,    -1,     1,   261,    -1,   156,   264,   154,
1158 <     261,    -1,    22,   264,   154,   261,    -1,   125,   264,   154,
1159 <     261,    -1,    -1,   186,   399,   263,   400,   262,   261,    -1,
1160 <     400,   401,    -1,   401,    -1,   402,    -1,   403,    -1,   404,
1161 <      -1,     1,   261,    -1,   121,   264,   154,   261,    -1,   249,
1162 <     264,   154,   261,    -1,    -1,   188,   405,   264,   406,   261,
1163 <      -1,   406,   265,   407,    -1,   407,    -1,    93,    -1,   245,
1164 <      -1,   248,    -1,   258,    -1,   246,    -1,   240,    -1,   172,
1165 <      -1,   247,    -1,   239,    -1,   219,    -1,   204,    -1,    -1,
1166 <     187,   409,   263,   410,   262,   261,    -1,   410,   411,    -1,
1167 <     411,    -1,   412,    -1,   413,    -1,     1,   261,    -1,   121,
1168 <     264,   154,   261,    -1,    -1,   188,   414,   264,   415,   261,
1169 <      -1,   415,   265,   416,    -1,   416,    -1,    93,    -1,   245,
1170 <      -1,   248,    -1,   258,    -1,   246,    -1,   240,    -1,   172,
1171 <      -1,   247,    -1,   239,    -1,   219,    -1,   204,    -1,    -1,
1172 <      29,   418,   419,   263,   420,   262,   261,    -1,    -1,   423,
1173 <      -1,   420,   421,    -1,   421,    -1,   422,    -1,   424,    -1,
1174 <     425,    -1,   426,    -1,   427,    -1,   429,    -1,   428,    -1,
1175 <     430,    -1,   431,    -1,   440,    -1,   441,    -1,   442,    -1,
1176 <     439,    -1,   438,    -1,   443,    -1,     1,   261,    -1,   121,
1177 <     264,   154,   261,    -1,   154,    -1,    84,   264,   154,   261,
1178 <      -1,   256,   264,   154,   261,    -1,   180,   264,   154,   261,
1179 <      -1,     3,   264,   154,   261,    -1,   153,   264,   132,   261,
1180 <      -1,     6,   264,   217,   261,    -1,     6,   264,   218,   261,
1181 <      -1,    53,   264,   154,   261,    -1,    -1,    54,   432,   264,
1182 <     433,   261,    -1,   433,   265,   434,    -1,   434,    -1,    -1,
1183 <     131,   435,   437,    -1,    -1,   436,   437,    -1,    27,    -1,
1184 <      31,    -1,    10,    -1,    12,    -1,   243,    -1,   167,   264,
1185 <     154,   261,    -1,    49,   264,   198,   261,    -1,    86,   264,
1186 <     154,   261,    -1,    99,   264,   154,   261,    -1,    26,   264,
1187 <     154,   261,    -1,    25,   264,   154,   261,    -1,    -1,    91,
1188 <     445,   263,   450,   262,   261,    -1,    -1,   188,   447,   264,
1189 <     448,   261,    -1,   448,   265,   449,    -1,   449,    -1,   159,
1190 <      -1,   450,   451,    -1,   451,    -1,   452,    -1,   453,    -1,
1191 <     446,    -1,     1,    -1,   249,   264,   154,   261,    -1,   156,
1192 <     264,   154,   261,    -1,    -1,    36,   455,   263,   456,   262,
1193 <     261,    -1,   456,   457,    -1,   457,    -1,   458,    -1,   459,
1194 <      -1,     1,    -1,    90,   264,   154,   261,    -1,   156,   264,
1195 <     154,   261,    -1,    51,   263,   461,   262,   261,    -1,   461,
1196 <     462,    -1,   462,    -1,   463,    -1,     1,    -1,    90,   264,
1197 <     154,   261,    -1,    -1,    64,   465,   263,   470,   262,   261,
1198 <      -1,    -1,   188,   467,   264,   468,   261,    -1,   468,   265,
1199 <     469,    -1,   469,    -1,   159,    -1,   470,   471,    -1,   471,
1200 <      -1,   472,    -1,   473,    -1,   466,    -1,     1,    -1,   121,
1201 <     264,   154,   261,    -1,   156,   264,   154,   261,    -1,    65,
1202 <     263,   475,   262,   261,    -1,   475,   476,    -1,   476,    -1,
1203 <     485,    -1,   486,    -1,   488,    -1,   489,    -1,   490,    -1,
1204 <     491,    -1,   492,    -1,   493,    -1,   494,    -1,   495,    -1,
1205 <     484,    -1,   497,    -1,   498,    -1,   499,    -1,   500,    -1,
1206 <     516,    -1,   502,    -1,   504,    -1,   506,    -1,   505,    -1,
1207 <     509,    -1,   503,    -1,   510,    -1,   511,    -1,   512,    -1,
1208 <     513,    -1,   515,    -1,   514,    -1,   530,    -1,   517,    -1,
1209 <     521,    -1,   522,    -1,   526,    -1,   507,    -1,   508,    -1,
1210 <     536,    -1,   534,    -1,   535,    -1,   518,    -1,   487,    -1,
1211 <     519,    -1,   520,    -1,   537,    -1,   525,    -1,   496,    -1,
1212 <     523,    -1,   524,    -1,   480,    -1,   483,    -1,   478,    -1,
1213 <     479,    -1,   481,    -1,   482,    -1,   501,    -1,   477,    -1,
1214 <       1,    -1,   115,   264,   132,   261,    -1,    71,   264,   132,
1215 <     261,    -1,    72,   264,   132,   261,    -1,    12,   264,   198,
1216 <     261,    -1,   255,   264,   198,   261,    -1,   161,   264,   270,
1217 <     261,    -1,   185,   264,   198,   261,    -1,    92,   264,   270,
1218 <     261,    -1,    83,   264,   198,   261,    -1,    88,   264,   198,
1219 <     261,    -1,    43,   264,   198,   261,    -1,    52,   264,   198,
1220 <     261,    -1,     8,   264,   198,   261,    -1,   112,   264,   270,
1221 <     261,    -1,   111,   264,   132,   261,    -1,   105,   264,   132,
1222 <     261,    -1,     9,   264,   270,   261,    -1,   202,   264,   270,
1223 <     261,    -1,   201,   264,   270,   261,    -1,    76,   264,   132,
1224 <     261,    -1,    96,   264,   198,   261,    -1,    95,   264,   154,
1225 <     261,    -1,    89,   264,   198,   261,    -1,   260,   264,   198,
1226 <     261,    -1,   193,   264,   198,   261,    -1,   196,   264,   198,
1227 <     261,    -1,   197,   264,   198,   261,    -1,   195,   264,   198,
1228 <     261,    -1,   195,   264,   199,   261,    -1,   194,   264,   198,
1229 <     261,    -1,   194,   264,   199,   261,    -1,   146,   264,   270,
1230 <     261,    -1,    19,   264,   270,   261,    -1,   138,   264,   198,
1231 <     261,    -1,   147,   264,   270,   261,    -1,   189,   264,   198,
1232 <     261,    -1,   129,   264,   198,   261,    -1,   244,   264,   198,
1233 <     261,    -1,   141,   264,   198,   261,    -1,   116,   264,   154,
1234 <     261,    -1,    87,   264,   270,   261,    -1,    44,   264,   132,
1235 <     261,    -1,   114,   264,   132,   261,    -1,   183,   264,   154,
1236 <     261,    -1,    32,   264,   154,   261,    -1,    28,   264,   132,
1237 <     261,    -1,   250,   264,   198,   261,    -1,    46,   264,   154,
1238 <     261,    -1,   150,   264,   198,   261,    -1,    39,   264,   198,
1239 <     261,    -1,   242,   264,   270,   261,    -1,    -1,   143,   527,
1240 <     264,   528,   261,    -1,   528,   265,   529,    -1,   529,    -1,
1241 <     205,    -1,   208,    -1,   209,    -1,   211,    -1,   212,    -1,
1242 <     215,    -1,   234,    -1,   229,    -1,   231,    -1,   238,    -1,
1243 <     235,    -1,   214,    -1,   230,    -1,   233,    -1,   216,    -1,
1244 <     241,    -1,   206,    -1,   207,    -1,   219,    -1,    -1,   140,
1245 <     531,   264,   532,   261,    -1,   532,   265,   533,    -1,   533,
1246 <      -1,   205,    -1,   208,    -1,   209,    -1,   211,    -1,   212,
1247 <      -1,   215,    -1,   234,    -1,   229,    -1,   231,    -1,   238,
1248 <      -1,   235,    -1,   214,    -1,   230,    -1,   233,    -1,   216,
1249 <      -1,   241,    -1,   206,    -1,   207,    -1,   219,    -1,   117,
1250 <     264,   132,   261,    -1,   118,   264,   132,   261,    -1,    33,
1251 <     264,   132,   261,    -1,   210,   264,   272,   261,    -1,    -1,
1252 <      67,   539,   263,   540,   262,   261,    -1,   540,   541,    -1,
1253 <     541,    -1,   542,    -1,   543,    -1,   544,    -1,   548,    -1,
1254 <     549,    -1,   550,    -1,     1,    -1,    48,   264,   198,   261,
1255 <      -1,    45,   264,   270,   261,    -1,    -1,   103,   545,   264,
1256 <     546,   261,    -1,   546,   265,   547,    -1,   547,    -1,   200,
1257 <      -1,    11,    -1,   249,   264,   154,   261,    -1,   121,   264,
1258 <     154,   261,    -1,    -1,     4,   551,   264,   552,   261,    -1,
1259 <     552,   265,   553,    -1,   553,    -1,   200,    -1,    11,    -1,
1260 <      22,   263,   555,   262,   261,    -1,   555,   556,    -1,   556,
1261 <      -1,   559,    -1,   560,    -1,   561,    -1,   562,    -1,   567,
1262 <      -1,   563,    -1,   564,    -1,   565,    -1,   566,    -1,   568,
1263 <      -1,   569,    -1,   570,    -1,   558,    -1,   571,    -1,   572,
1264 <      -1,   573,    -1,   574,    -1,   557,    -1,     1,    -1,    40,
1265 <     264,   198,   261,    -1,   164,   264,   198,   261,    -1,    42,
1266 <     264,   198,   261,    -1,   251,   264,   198,   261,    -1,   252,
1267 <     264,   198,   261,    -1,   253,   264,   198,   261,    -1,    97,
1268 <     264,   270,   261,    -1,    98,   264,   270,   261,    -1,   107,
1269 <     264,   132,   261,    -1,   155,   264,   198,   261,    -1,   106,
1270 <     264,   132,   261,    -1,    35,   264,   132,   261,    -1,    34,
1271 <     264,   132,   261,    -1,   127,   264,   198,   261,    -1,   128,
1272 <     264,   198,   261,    -1,    13,   264,   198,   261,    -1,   144,
1327 <     264,   132,   261,    -1,   145,   264,   270,   261,    -1,   181,
1328 <     263,   576,   262,   261,    -1,   576,   577,    -1,   577,    -1,
1329 <     578,    -1,   579,    -1,   581,    -1,   583,    -1,   582,    -1,
1330 <     580,    -1,   584,    -1,     1,    -1,    55,   264,   198,   261,
1331 <      -1,    82,   264,   198,   261,    -1,    79,   264,   154,   261,
1332 <      -1,   100,   264,   270,   261,    -1,    77,   264,   198,   261,
1333 <      -1,    41,   264,   198,   261,    -1,    81,   264,   198,   261,
1334 <      -1
1069 >     247,     0,    -1,    -1,   247,   248,    -1,   280,    -1,   286,
1070 >      -1,   300,    -1,   520,    -1,   318,    -1,   335,    -1,   349,
1071 >      -1,   258,    -1,   541,    -1,   364,    -1,   371,    -1,   375,
1072 >      -1,   385,    -1,   394,    -1,   414,    -1,   424,    -1,   430,
1073 >      -1,   444,    -1,   504,    -1,   434,    -1,   253,    -1,     1,
1074 >     241,    -1,     1,   242,    -1,    -1,   250,    -1,   110,   249,
1075 >      -1,   110,   153,   249,    -1,   110,   154,   249,    -1,   110,
1076 >     155,   249,    -1,   110,   156,   249,    -1,   110,   157,   249,
1077 >      -1,    -1,   252,    -1,   110,   251,    -1,   110,    13,   251,
1078 >      -1,   110,    14,   251,    -1,   110,    15,   251,    -1,    99,
1079 >     243,   254,   242,   241,    -1,   254,   255,    -1,   255,    -1,
1080 >     256,    -1,   257,    -1,     1,   241,    -1,    98,   244,   131,
1081 >     241,    -1,   126,   244,   131,   241,    -1,   161,   243,   259,
1082 >     242,   241,    -1,   259,   260,    -1,   260,    -1,   271,    -1,
1083 >     276,    -1,   279,    -1,   273,    -1,   274,    -1,   275,    -1,
1084 >     278,    -1,   269,    -1,   268,    -1,   277,    -1,   272,    -1,
1085 >     267,    -1,   261,    -1,   262,    -1,   270,    -1,     1,   241,
1086 >      -1,   147,   244,   263,   241,    -1,   148,   244,   265,   241,
1087 >      -1,   263,   245,   264,    -1,   264,    -1,   149,    -1,   150,
1088 >      -1,   265,   245,   266,    -1,   266,    -1,   149,    -1,   150,
1089 >      -1,   145,   244,   131,   241,    -1,   143,   244,   131,   241,
1090 >      -1,   146,   244,   131,   241,    -1,   188,   244,   131,   241,
1091 >      -1,   100,   244,   131,   241,    -1,   162,   244,   131,   241,
1092 >      -1,    30,   244,   131,   241,    -1,   103,   244,   131,   241,
1093 >      -1,   102,   244,   131,   241,    -1,   234,   244,   131,   241,
1094 >      -1,   235,   244,   131,   241,    -1,   200,   244,   110,   241,
1095 >      -1,    66,   244,   176,   241,    -1,     5,   243,   281,   242,
1096 >     241,    -1,   281,   282,    -1,   282,    -1,   283,    -1,   285,
1097 >      -1,   284,    -1,     1,   241,    -1,   100,   244,   131,   241,
1098 >      -1,    40,   244,   131,   241,    -1,    30,   244,   131,   241,
1099 >      -1,    82,   243,   287,   242,   241,    -1,   287,   288,    -1,
1100 >     288,    -1,   289,    -1,   290,    -1,     1,   241,    -1,   232,
1101 >     244,   176,   241,    -1,    -1,   291,   240,   243,   292,   242,
1102 >     241,    -1,   292,   293,    -1,   293,    -1,   294,    -1,   296,
1103 >      -1,   295,    -1,     1,   241,    -1,   100,   244,   131,   241,
1104 >      -1,   239,   244,   252,   241,    -1,   239,   244,   212,   241,
1105 >      -1,    -1,   166,   297,   244,   298,   241,    -1,   298,   245,
1106 >     299,    -1,   299,    -1,   227,    -1,   115,    -1,    50,    -1,
1107 >     192,    -1,    73,    -1,    71,    -1,   191,    -1,    -1,   115,
1108 >     301,   243,   302,   242,   241,    -1,   302,   303,    -1,   303,
1109 >      -1,   304,    -1,   305,    -1,   306,    -1,   310,    -1,   309,
1110 >      -1,   307,    -1,   308,    -1,   314,    -1,     1,   241,    -1,
1111 >     100,   244,   131,   241,    -1,   227,   244,   131,   241,    -1,
1112 >     125,   244,   131,   241,    -1,    42,   244,   176,   241,    -1,
1113 >     144,   244,   131,   241,    -1,    23,   244,   131,   241,    -1,
1114 >      -1,   209,   311,   244,   312,   241,    -1,   312,   245,   313,
1115 >      -1,   313,    -1,   183,    -1,   186,    -1,   187,    -1,   190,
1116 >      -1,   191,    -1,   195,    -1,    60,    -1,   206,    -1,   201,
1117 >      -1,   203,    -1,   210,    -1,   207,    -1,   194,    -1,   202,
1118 >      -1,   205,    -1,   196,    -1,   216,    -1,   184,    -1,   185,
1119 >      -1,   199,    -1,    -1,    46,   315,   244,   316,   241,    -1,
1120 >     316,   245,   317,    -1,   317,    -1,    56,    -1,   139,    -1,
1121 >      73,    -1,   226,    -1,   192,    -1,   211,    -1,   236,    -1,
1122 >      50,    -1,    31,    -1,   217,    -1,   137,    -1,     5,    -1,
1123 >     105,    -1,   202,    -1,   215,    -1,   119,    -1,   140,    -1,
1124 >      98,    -1,    -1,    23,   319,   243,   320,   242,   241,    -1,
1125 >     320,   321,    -1,   321,    -1,   322,    -1,   332,    -1,   333,
1126 >      -1,   323,    -1,   324,    -1,   334,    -1,   325,    -1,   326,
1127 >      -1,   327,    -1,   328,    -1,   329,    -1,   330,    -1,   331,
1128 >      -1,     1,   241,    -1,   100,   244,   131,   241,    -1,   128,
1129 >     244,   250,   241,    -1,   129,   244,   250,   241,    -1,   113,
1130 >     244,   110,   241,    -1,    25,   244,   250,   241,    -1,    92,
1131 >     244,   110,   241,    -1,    87,   244,   110,   241,    -1,    89,
1132 >     244,   110,   241,    -1,    88,   244,   110,   241,    -1,   158,
1133 >     244,   252,   241,    -1,    21,   244,   110,   241,    -1,    22,
1134 >     244,   110,   241,    -1,   112,   244,   110,   241,    -1,    -1,
1135 >      81,   336,   243,   341,   242,   241,    -1,    -1,    46,   338,
1136 >     244,   339,   241,    -1,   339,   245,   340,    -1,   340,    -1,
1137 >     208,    -1,    60,    -1,   204,    -1,   341,   342,    -1,   342,
1138 >      -1,   343,    -1,   337,    -1,   347,    -1,   348,    -1,     1,
1139 >     241,    -1,    -1,   130,   244,   345,   344,   241,    -1,   345,
1140 >     245,   346,    -1,   346,    -1,   110,    -1,   110,   181,   110,
1141 >      -1,    70,   244,   131,   241,    -1,    65,   244,   131,   241,
1142 >      -1,    -1,    57,   350,   243,   351,   242,   241,    -1,   351,
1143 >     352,    -1,   352,    -1,   353,    -1,   354,    -1,   355,    -1,
1144 >     357,    -1,   361,    -1,   362,    -1,   363,    -1,   356,    -1,
1145 >       1,   241,    -1,   227,   244,   131,   241,    -1,   125,   244,
1146 >     131,   241,    -1,    23,   244,   131,   241,    -1,    42,   244,
1147 >     176,   241,    -1,    -1,    46,   358,   244,   359,   241,    -1,
1148 >     359,   245,   360,    -1,   360,    -1,   170,    -1,    43,    -1,
1149 >      74,    -1,    58,    -1,    19,    -1,   109,    -1,    52,    -1,
1150 >     152,    -1,   101,    -1,   169,   244,   131,   241,    -1,   135,
1151 >     244,   131,   241,    -1,   134,   244,   110,   241,    -1,    -1,
1152 >     151,   365,   243,   366,   242,   241,    -1,   366,   367,    -1,
1153 >     367,    -1,   368,    -1,   369,    -1,   370,    -1,     1,   241,
1154 >      -1,   133,   244,   131,   241,    -1,    20,   244,   131,   241,
1155 >      -1,   104,   244,   131,   241,    -1,   218,   243,   372,   242,
1156 >     241,    -1,   372,   373,    -1,   373,    -1,   374,    -1,     1,
1157 >      -1,   100,   244,   131,   241,    -1,    -1,   164,   376,   243,
1158 >     377,   242,   241,    -1,   377,   378,    -1,   378,    -1,   379,
1159 >      -1,   380,    -1,   381,    -1,     1,   241,    -1,   100,   244,
1160 >     131,   241,    -1,   227,   244,   131,   241,    -1,    -1,   166,
1161 >     382,   244,   383,   241,    -1,   383,   245,   384,    -1,   384,
1162 >      -1,    73,    -1,   226,    -1,   192,    -1,   211,    -1,   236,
1163 >      -1,   214,    -1,   151,    -1,   213,    -1,   199,    -1,   182,
1164 >      -1,    -1,   165,   386,   243,   387,   242,   241,    -1,   387,
1165 >     388,    -1,   388,    -1,   389,    -1,   390,    -1,     1,   241,
1166 >      -1,   100,   244,   131,   241,    -1,    -1,   166,   391,   244,
1167 >     392,   241,    -1,   392,   245,   393,    -1,   393,    -1,    73,
1168 >      -1,   226,    -1,   192,    -1,   211,    -1,   236,    -1,   214,
1169 >      -1,   151,    -1,   213,    -1,   199,    -1,   182,    -1,    -1,
1170 >      24,   395,   243,   396,   242,   241,    -1,   396,   397,    -1,
1171 >     397,    -1,   398,    -1,   399,    -1,   400,    -1,   401,    -1,
1172 >     402,    -1,   404,    -1,   403,    -1,   413,    -1,   405,    -1,
1173 >     410,    -1,   411,    -1,   412,    -1,   409,    -1,     1,   241,
1174 >      -1,   100,   244,   131,   241,    -1,    65,   244,   131,   241,
1175 >      -1,   234,   244,   131,   241,    -1,   159,   244,   131,   241,
1176 >      -1,     3,   244,   131,   241,    -1,   130,   244,   110,   241,
1177 >      -1,     6,   244,   197,   241,    -1,     6,   244,   198,   241,
1178 >      -1,    -1,    46,   406,   244,   407,   241,    -1,   407,   245,
1179 >     408,    -1,   408,    -1,    10,    -1,    12,    -1,   221,    -1,
1180 >     208,    -1,    42,   244,   176,   241,    -1,    67,   244,   131,
1181 >     241,    -1,    79,   244,   131,   241,    -1,    23,   244,   131,
1182 >     241,    -1,   188,   244,   131,   241,    -1,    -1,    71,   415,
1183 >     243,   420,   242,   241,    -1,    -1,   166,   417,   244,   418,
1184 >     241,    -1,   418,   245,   419,    -1,   419,    -1,   136,    -1,
1185 >     420,   421,    -1,   421,    -1,   422,    -1,   423,    -1,   416,
1186 >      -1,     1,    -1,   227,   244,   131,   241,    -1,   133,   244,
1187 >     131,   241,    -1,    -1,    29,   425,   243,   426,   242,   241,
1188 >      -1,   426,   427,    -1,   427,    -1,   428,    -1,   429,    -1,
1189 >       1,    -1,    70,   244,   131,   241,    -1,   133,   244,   131,
1190 >     241,    -1,    44,   243,   431,   242,   241,    -1,   431,   432,
1191 >      -1,   432,    -1,   433,    -1,     1,    -1,    70,   244,   131,
1192 >     241,    -1,    -1,    48,   435,   243,   440,   242,   241,    -1,
1193 >      -1,   166,   437,   244,   438,   241,    -1,   438,   245,   439,
1194 >      -1,   439,    -1,   136,    -1,   440,   441,    -1,   441,    -1,
1195 >     442,    -1,   443,    -1,   436,    -1,     1,    -1,   100,   244,
1196 >     131,   241,    -1,   133,   244,   131,   241,    -1,    49,   243,
1197 >     445,   242,   241,    -1,   445,   446,    -1,   446,    -1,   454,
1198 >      -1,   455,    -1,   457,    -1,   458,    -1,   459,    -1,   460,
1199 >      -1,   461,    -1,   462,    -1,   463,    -1,   464,    -1,   453,
1200 >      -1,   466,    -1,   467,    -1,   468,    -1,   469,    -1,   484,
1201 >      -1,   471,    -1,   473,    -1,   475,    -1,   474,    -1,   478,
1202 >      -1,   472,    -1,   479,    -1,   480,    -1,   481,    -1,   482,
1203 >      -1,   483,    -1,   496,    -1,   485,    -1,   486,    -1,   487,
1204 >      -1,   492,    -1,   476,    -1,   477,    -1,   502,    -1,   500,
1205 >      -1,   501,    -1,   456,    -1,   503,    -1,   491,    -1,   465,
1206 >      -1,   489,    -1,   490,    -1,   452,    -1,   448,    -1,   449,
1207 >      -1,   450,    -1,   451,    -1,   470,    -1,   447,    -1,   488,
1208 >      -1,     1,    -1,    94,   244,   110,   241,    -1,    54,   244,
1209 >     110,   241,    -1,    55,   244,   110,   241,    -1,   233,   244,
1210 >     176,   241,    -1,   138,   244,   250,   241,    -1,   163,   244,
1211 >     176,   241,    -1,    72,   244,   250,   241,    -1,    64,   244,
1212 >     176,   241,    -1,    68,   244,   176,   241,    -1,    36,   244,
1213 >     176,   241,    -1,    45,   244,   176,   241,    -1,     8,   244,
1214 >     176,   241,    -1,    91,   244,   250,   241,    -1,    90,   244,
1215 >     110,   241,    -1,    83,   244,   110,   241,    -1,     9,   244,
1216 >     250,   241,    -1,   180,   244,   250,   241,    -1,   179,   244,
1217 >     250,   241,    -1,    59,   244,   110,   241,    -1,    76,   244,
1218 >     176,   241,    -1,    75,   244,   131,   241,    -1,    69,   244,
1219 >     176,   241,    -1,   238,   244,   176,   241,    -1,   171,   244,
1220 >     176,   241,    -1,   174,   244,   176,   241,    -1,   175,   244,
1221 >     176,   241,    -1,   173,   244,   176,   241,    -1,   173,   244,
1222 >     177,   241,    -1,   172,   244,   176,   241,    -1,   172,   244,
1223 >     177,   241,    -1,   123,   244,   250,   241,    -1,    18,   244,
1224 >     250,   241,    -1,   116,   244,   176,   241,    -1,   124,   244,
1225 >     250,   241,    -1,   167,   244,   176,   241,    -1,   108,   244,
1226 >     176,   241,    -1,   222,   244,   176,   241,    -1,   118,   244,
1227 >     176,   241,    -1,    95,   244,   131,   241,    -1,    37,   244,
1228 >     110,   241,    -1,    93,   244,   110,   241,    -1,   228,   244,
1229 >     176,   241,    -1,    39,   244,   131,   241,    -1,   219,   244,
1230 >     131,   241,    -1,   127,   244,   176,   241,    -1,    32,   244,
1231 >     176,   241,    -1,   220,   244,   250,   241,    -1,    -1,   120,
1232 >     493,   244,   494,   241,    -1,   494,   245,   495,    -1,   495,
1233 >      -1,   183,    -1,   186,    -1,   187,    -1,   190,    -1,   191,
1234 >      -1,   195,    -1,    60,    -1,   206,    -1,   201,    -1,   203,
1235 >      -1,   210,    -1,   207,    -1,   194,    -1,   202,    -1,   205,
1236 >      -1,   196,    -1,   216,    -1,   184,    -1,   185,    -1,   199,
1237 >      -1,    -1,   117,   497,   244,   498,   241,    -1,   498,   245,
1238 >     499,    -1,   499,    -1,   183,    -1,   186,    -1,   187,    -1,
1239 >     190,    -1,   191,    -1,   195,    -1,   206,    -1,    60,    -1,
1240 >     201,    -1,   203,    -1,   210,    -1,   207,    -1,   194,    -1,
1241 >     202,    -1,   205,    -1,   196,    -1,   216,    -1,   184,    -1,
1242 >     185,    -1,   199,    -1,    96,   244,   110,   241,    -1,    97,
1243 >     244,   110,   241,    -1,    26,   244,   110,   241,    -1,   189,
1244 >     244,   252,   241,    -1,    -1,    51,   505,   243,   506,   242,
1245 >     241,    -1,   506,   507,    -1,   507,    -1,   508,    -1,   509,
1246 >      -1,   510,    -1,   514,    -1,   515,    -1,   516,    -1,     1,
1247 >      -1,    41,   244,   176,   241,    -1,    38,   244,   250,   241,
1248 >      -1,    -1,    82,   511,   244,   512,   241,    -1,   512,   245,
1249 >     513,    -1,   513,    -1,   178,    -1,    11,    -1,   227,   244,
1250 >     131,   241,    -1,   100,   244,   131,   241,    -1,    -1,     4,
1251 >     517,   244,   518,   241,    -1,   518,   245,   519,    -1,   519,
1252 >      -1,   178,    -1,    11,    -1,    20,   243,   521,   242,   241,
1253 >      -1,   521,   522,    -1,   522,    -1,   525,    -1,   526,    -1,
1254 >     527,    -1,   528,    -1,   534,    -1,   529,    -1,   530,    -1,
1255 >     531,    -1,   532,    -1,   533,    -1,   535,    -1,   536,    -1,
1256 >     537,    -1,   524,    -1,   538,    -1,   539,    -1,   540,    -1,
1257 >     523,    -1,     1,    -1,    33,   244,   176,   241,    -1,   141,
1258 >     244,   176,   241,    -1,    35,   244,   176,   241,    -1,   229,
1259 >     244,   176,   241,    -1,   230,   244,   176,   241,    -1,   231,
1260 >     244,   176,   241,    -1,    77,   244,   250,   241,    -1,    78,
1261 >     244,   250,   241,    -1,    86,   244,   110,   241,    -1,    85,
1262 >     244,   110,   241,    -1,   132,   244,   176,   241,    -1,    84,
1263 >     244,   110,   241,    -1,    28,   244,   110,   241,    -1,    27,
1264 >     244,   110,   241,    -1,   106,   244,   176,   241,    -1,   107,
1265 >     244,   176,   241,    -1,   121,   244,   110,   241,    -1,   122,
1266 >     244,   250,   241,    -1,   160,   243,   542,   242,   241,    -1,
1267 >     542,   543,    -1,   543,    -1,   544,    -1,   545,    -1,   547,
1268 >      -1,   549,    -1,   548,    -1,   546,    -1,   550,    -1,     1,
1269 >      -1,    47,   244,   176,   241,    -1,    63,   244,   176,   241,
1270 >      -1,    61,   244,   131,   241,    -1,    80,   244,   250,   241,
1271 >      -1,    60,   244,   176,   241,    -1,    34,   244,   176,   241,
1272 >      -1,    62,   244,   176,   241,    -1
1273   };
1274  
1275   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1276   static const yytype_uint16 yyrline[] =
1277   {
1278 <       0,   396,   396,   397,   400,   401,   402,   403,   404,   405,
1279 <     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
1280 <     416,   417,   418,   419,   420,   421,   425,   425,   426,   430,
1281 <     434,   438,   442,   446,   452,   452,   453,   454,   455,   456,
1282 <     463,   466,   466,   467,   467,   467,   469,   477,   486,   488,
1283 <     488,   489,   489,   490,   490,   491,   491,   492,   493,   493,
1284 <     494,   494,   495,   496,   500,   499,   518,   518,   519,   525,
1285 <     533,   567,   627,   642,   657,   666,   680,   689,   717,   747,
1286 <     770,   792,   794,   794,   795,   795,   796,   796,   798,   807,
1287 <     816,   829,   831,   832,   834,   834,   835,   836,   836,   837,
1288 <     837,   838,   838,   839,   839,   840,   841,   843,   847,   851,
1289 <     858,   865,   872,   879,   886,   893,   900,   907,   911,   915,
1290 <     919,   923,   927,   931,   937,   947,   946,  1040,  1040,  1041,
1291 <    1041,  1042,  1042,  1042,  1043,  1043,  1043,  1044,  1044,  1044,
1292 <    1046,  1058,  1070,  1104,  1116,  1127,  1169,  1179,  1178,  1184,
1293 <    1184,  1185,  1189,  1193,  1197,  1201,  1205,  1209,  1213,  1217,
1294 <    1221,  1225,  1229,  1233,  1237,  1241,  1245,  1249,  1253,  1257,
1295 <    1264,  1263,  1267,  1267,  1268,  1268,  1269,  1269,  1271,  1278,
1296 <    1285,  1292,  1299,  1306,  1313,  1320,  1327,  1334,  1341,  1348,
1297 <    1355,  1362,  1369,  1376,  1390,  1389,  1439,  1439,  1441,  1441,
1298 <    1442,  1443,  1443,  1444,  1445,  1446,  1447,  1448,  1449,  1450,
1299 <    1451,  1452,  1453,  1454,  1456,  1465,  1474,  1480,  1486,  1492,
1300 <    1498,  1504,  1510,  1516,  1522,  1528,  1534,  1540,  1550,  1549,
1301 <    1566,  1565,  1570,  1570,  1571,  1575,  1579,  1587,  1587,  1588,
1302 <    1588,  1588,  1588,  1588,  1590,  1590,  1592,  1592,  1594,  1608,
1303 <    1628,  1637,  1650,  1649,  1718,  1718,  1719,  1719,  1719,  1719,
1304 <    1720,  1720,  1720,  1721,  1721,  1723,  1760,  1773,  1782,  1794,
1305 <    1793,  1797,  1797,  1798,  1798,  1799,  1799,  1801,  1808,  1815,
1306 <    1822,  1829,  1836,  1843,  1850,  1857,  1864,  1874,  1893,  1903,
1307 <    1917,  1916,  1932,  1932,  1933,  1933,  1933,  1933,  1935,  1944,
1308 <    1959,  1973,  1972,  1988,  1988,  1989,  1989,  1989,  1989,  1991,
1309 <    2000,  2023,  2022,  2028,  2028,  2029,  2033,  2037,  2041,  2045,
1310 <    2049,  2053,  2057,  2061,  2065,  2069,  2079,  2078,  2095,  2095,
1311 <    2096,  2096,  2096,  2098,  2105,  2104,  2110,  2110,  2111,  2115,
1312 <    2119,  2123,  2127,  2131,  2135,  2139,  2143,  2147,  2151,  2161,
1313 <    2160,  2306,  2306,  2307,  2307,  2308,  2308,  2308,  2309,  2309,
1314 <    2310,  2310,  2310,  2311,  2311,  2311,  2312,  2312,  2313,  2313,
1315 <    2314,  2316,  2328,  2340,  2349,  2375,  2393,  2411,  2417,  2421,
1316 <    2429,  2439,  2438,  2442,  2442,  2443,  2443,  2444,  2444,  2446,
1317 <    2457,  2464,  2471,  2478,  2488,  2529,  2540,  2553,  2566,  2575,
1318 <    2611,  2610,  2674,  2673,  2677,  2677,  2678,  2684,  2684,  2685,
1319 <    2685,  2685,  2685,  2687,  2706,  2716,  2715,  2738,  2738,  2739,
1320 <    2739,  2739,  2741,  2747,  2756,  2758,  2758,  2759,  2759,  2761,
1321 <    2780,  2779,  2827,  2826,  2830,  2830,  2831,  2837,  2837,  2838,
1322 <    2838,  2838,  2838,  2840,  2846,  2855,  2858,  2858,  2859,  2859,
1323 <    2860,  2860,  2861,  2861,  2862,  2862,  2863,  2863,  2864,  2864,
1324 <    2865,  2865,  2866,  2866,  2867,  2867,  2868,  2868,  2869,  2869,
1325 <    2870,  2870,  2871,  2871,  2872,  2872,  2873,  2873,  2874,  2874,
1326 <    2875,  2875,  2876,  2876,  2877,  2877,  2878,  2878,  2879,  2880,
1327 <    2880,  2881,  2881,  2882,  2883,  2883,  2884,  2884,  2885,  2885,
1328 <    2886,  2886,  2887,  2888,  2891,  2896,  2901,  2906,  2911,  2916,
1329 <    2921,  2926,  2931,  2936,  2941,  2946,  2951,  2956,  2961,  2966,
1330 <    2971,  2976,  2981,  2987,  2998,  3003,  3012,  3017,  3022,  3027,
1331 <    3032,  3037,  3040,  3045,  3048,  3053,  3058,  3063,  3068,  3073,
1332 <    3078,  3083,  3088,  3093,  3104,  3109,  3114,  3119,  3128,  3160,
1333 <    3178,  3183,  3192,  3197,  3202,  3208,  3207,  3212,  3212,  3213,
1334 <    3216,  3219,  3222,  3225,  3228,  3231,  3234,  3237,  3240,  3243,
1335 <    3246,  3249,  3252,  3255,  3258,  3261,  3264,  3267,  3273,  3272,
1336 <    3277,  3277,  3278,  3281,  3284,  3287,  3290,  3293,  3296,  3299,
1337 <    3302,  3305,  3308,  3311,  3314,  3317,  3320,  3323,  3326,  3329,
1338 <    3332,  3337,  3342,  3347,  3352,  3362,  3361,  3385,  3385,  3386,
1339 <    3387,  3388,  3389,  3390,  3391,  3392,  3394,  3400,  3407,  3406,
1340 <    3411,  3411,  3412,  3416,  3422,  3456,  3466,  3465,  3515,  3515,
1341 <    3516,  3520,  3529,  3532,  3532,  3533,  3533,  3534,  3534,  3535,
1342 <    3535,  3536,  3536,  3537,  3537,  3538,  3539,  3539,  3540,  3540,
1343 <    3541,  3541,  3542,  3542,  3544,  3549,  3554,  3559,  3564,  3569,
1344 <    3574,  3579,  3584,  3589,  3594,  3599,  3604,  3609,  3614,  3619,
1407 <    3624,  3629,  3637,  3640,  3640,  3641,  3641,  3642,  3643,  3644,
1408 <    3644,  3645,  3646,  3648,  3654,  3660,  3669,  3683,  3689,  3695
1278 >       0,   354,   354,   355,   358,   359,   360,   361,   362,   363,
1279 >     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
1280 >     374,   375,   376,   377,   378,   379,   380,   384,   384,   385,
1281 >     389,   393,   397,   401,   405,   411,   411,   412,   413,   414,
1282 >     415,   422,   425,   425,   426,   426,   426,   428,   434,   441,
1283 >     443,   443,   444,   444,   445,   445,   446,   446,   447,   447,
1284 >     448,   448,   449,   449,   450,   450,   451,   452,   455,   456,
1285 >     458,   458,   459,   465,   473,   473,   474,   480,   488,   527,
1286 >     586,   614,   622,   637,   652,   661,   675,   684,   712,   742,
1287 >     765,   774,   776,   776,   777,   777,   778,   778,   780,   789,
1288 >     798,   810,   811,   811,   813,   813,   814,   816,   823,   823,
1289 >     833,   834,   836,   836,   837,   837,   839,   844,   847,   853,
1290 >     852,   858,   858,   859,   863,   867,   871,   875,   879,   883,
1291 >     894,   893,   991,   991,   992,   992,   992,   993,   993,   993,
1292 >     994,   994,   994,   996,  1005,  1042,  1054,  1065,  1107,  1117,
1293 >    1116,  1122,  1122,  1123,  1127,  1131,  1135,  1139,  1143,  1147,
1294 >    1151,  1155,  1159,  1163,  1167,  1171,  1175,  1179,  1183,  1187,
1295 >    1191,  1195,  1199,  1206,  1205,  1211,  1211,  1212,  1216,  1220,
1296 >    1224,  1228,  1232,  1236,  1240,  1244,  1248,  1252,  1256,  1260,
1297 >    1264,  1268,  1272,  1276,  1280,  1291,  1290,  1340,  1340,  1341,
1298 >    1342,  1342,  1343,  1344,  1345,  1346,  1347,  1348,  1349,  1350,
1299 >    1351,  1352,  1353,  1355,  1364,  1370,  1376,  1382,  1388,  1394,
1300 >    1400,  1406,  1412,  1418,  1424,  1430,  1440,  1439,  1456,  1455,
1301 >    1460,  1460,  1461,  1465,  1469,  1477,  1477,  1478,  1478,  1478,
1302 >    1478,  1478,  1480,  1480,  1482,  1482,  1484,  1498,  1518,  1527,
1303 >    1540,  1539,  1608,  1608,  1609,  1609,  1609,  1609,  1610,  1610,
1304 >    1610,  1611,  1611,  1613,  1648,  1661,  1670,  1682,  1681,  1685,
1305 >    1685,  1686,  1690,  1694,  1698,  1702,  1706,  1710,  1714,  1718,
1306 >    1725,  1744,  1754,  1768,  1767,  1783,  1783,  1784,  1784,  1784,
1307 >    1784,  1786,  1795,  1810,  1823,  1825,  1825,  1826,  1826,  1828,
1308 >    1844,  1843,  1859,  1859,  1860,  1860,  1860,  1860,  1862,  1871,
1309 >    1894,  1893,  1899,  1899,  1900,  1904,  1908,  1912,  1916,  1920,
1310 >    1924,  1928,  1932,  1936,  1946,  1945,  1962,  1962,  1963,  1963,
1311 >    1963,  1965,  1972,  1971,  1977,  1977,  1978,  1982,  1986,  1990,
1312 >    1994,  1998,  2002,  2006,  2010,  2014,  2024,  2023,  2074,  2074,
1313 >    2075,  2075,  2075,  2076,  2076,  2077,  2077,  2077,  2078,  2078,
1314 >    2078,  2079,  2079,  2080,  2082,  2091,  2100,  2126,  2144,  2162,
1315 >    2168,  2172,  2181,  2180,  2184,  2184,  2185,  2189,  2193,  2197,
1316 >    2203,  2214,  2225,  2236,  2245,  2264,  2263,  2329,  2328,  2332,
1317 >    2332,  2333,  2339,  2339,  2340,  2340,  2340,  2340,  2342,  2361,
1318 >    2371,  2370,  2395,  2395,  2396,  2396,  2396,  2398,  2404,  2413,
1319 >    2415,  2415,  2416,  2416,  2418,  2437,  2436,  2484,  2483,  2487,
1320 >    2487,  2488,  2494,  2494,  2495,  2495,  2495,  2495,  2497,  2503,
1321 >    2512,  2515,  2515,  2516,  2516,  2517,  2517,  2518,  2518,  2519,
1322 >    2519,  2520,  2520,  2521,  2521,  2522,  2522,  2523,  2523,  2524,
1323 >    2524,  2525,  2525,  2526,  2526,  2527,  2527,  2528,  2528,  2529,
1324 >    2530,  2530,  2531,  2531,  2532,  2532,  2533,  2533,  2534,  2534,
1325 >    2535,  2536,  2537,  2537,  2538,  2539,  2540,  2540,  2541,  2541,
1326 >    2542,  2542,  2543,  2543,  2544,  2547,  2552,  2557,  2562,  2567,
1327 >    2572,  2577,  2582,  2587,  2592,  2597,  2602,  2607,  2612,  2617,
1328 >    2622,  2627,  2632,  2638,  2649,  2654,  2663,  2668,  2673,  2678,
1329 >    2683,  2688,  2691,  2696,  2699,  2704,  2709,  2714,  2719,  2724,
1330 >    2729,  2734,  2739,  2744,  2755,  2760,  2765,  2770,  2779,  2788,
1331 >    2793,  2798,  2804,  2803,  2808,  2808,  2809,  2812,  2815,  2818,
1332 >    2821,  2824,  2827,  2830,  2833,  2836,  2839,  2842,  2845,  2848,
1333 >    2851,  2854,  2857,  2860,  2863,  2866,  2872,  2871,  2876,  2876,
1334 >    2877,  2880,  2883,  2886,  2889,  2892,  2895,  2898,  2901,  2904,
1335 >    2907,  2910,  2913,  2916,  2919,  2922,  2925,  2928,  2931,  2934,
1336 >    2939,  2944,  2949,  2954,  2964,  2963,  2987,  2987,  2988,  2989,
1337 >    2990,  2991,  2992,  2993,  2994,  2996,  3002,  3009,  3008,  3013,
1338 >    3013,  3014,  3018,  3024,  3058,  3068,  3067,  3117,  3117,  3118,
1339 >    3122,  3131,  3134,  3134,  3135,  3135,  3136,  3136,  3136,  3137,
1340 >    3137,  3138,  3138,  3139,  3139,  3140,  3141,  3141,  3142,  3143,
1341 >    3143,  3144,  3144,  3146,  3151,  3156,  3161,  3166,  3171,  3176,
1342 >    3181,  3186,  3191,  3196,  3201,  3206,  3211,  3216,  3221,  3226,
1343 >    3231,  3239,  3242,  3242,  3243,  3243,  3244,  3245,  3246,  3246,
1344 >    3247,  3248,  3250,  3256,  3262,  3271,  3285,  3291,  3297
1345   };
1346   #endif
1347  
# Line 1416 | Line 1352 | static const char *const yytname[] =
1352   {
1353    "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1354    "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1355 <  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1356 <  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CAN_IDLE",
1357 <  "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE",
1358 <  "CLASS", "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ",
1359 <  "CRYPTLINK", "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1360 <  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1361 <  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1362 <  "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1363 <  "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL", "ENABLE",
1364 <  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE", "FAKENAME",
1365 <  "IRCD_FLAGS", "FLATTEN_LINKS", "FFAILED_OPERLOG", "FKILLLOG",
1366 <  "FKLINELOG", "FGLINELOG", "FIOERRLOG", "FOPERLOG", "FOPERSPYLOG",
1367 <  "FUSERLOG", "GECOS", "GENERAL", "GLINE", "GLINES", "GLINE_EXEMPT",
1432 <  "GLINE_LOG", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1433 <  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1434 <  "HIDDEN_ADMIN", "HIDDEN_NAME", "HIDDEN_OPER", "HIDE_SERVER_IPS",
1435 <  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IDLETIME",
1355 >  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BYTES", "KBYTES", "MBYTES",
1356 >  "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1357 >  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1358 >  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1359 >  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1360 >  "DISABLE_FAKE_CHANNELS", "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS",
1361 >  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH",
1362 >  "EMAIL", "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1363 >  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1364 >  "GLINE", "GLINES", "GLINE_EXEMPT", "GLINE_TIME", "GLINE_MIN_CIDR",
1365 >  "GLINE_MIN_CIDR6", "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT",
1366 >  "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_SERVER_IPS",
1367 >  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1368    "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1369    "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1370    "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1371 <  "LINKS_DELAY", "LISTEN", "T_LOG", "LOGGING", "LOG_LEVEL", "MAX_ACCEPT",
1372 <  "MAX_BANS", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1373 <  "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1374 <  "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1371 >  "LINKS_DELAY", "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS",
1372 >  "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT",
1373 >  "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER",
1374 >  "MAX_TARGETS", "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1375    "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1376    "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1377    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1378 <  "NOT", "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1379 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_LOG",
1378 >  "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1379 >  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID",
1380    "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1381    "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1382    "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1383    "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1384    "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1385    "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1386 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1387 <  "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1388 <  "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1389 <  "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1390 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1391 <  "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1392 <  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1393 <  "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1394 <  "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1395 <  "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DRONE",
1386 >  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE",
1387 >  "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1",
1388 >  "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1389 >  "SENDQ", "SEND_PASSWORD", "SERVERHIDE", "SERVERINFO", "IRCD_SID",
1390 >  "TKLINE_EXPIRE_NOTICES", "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD",
1391 >  "SILENT", "SPOOF", "SPOOF_NOTICE", "STATS_E_DISABLED",
1392 >  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1393 >  "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "T_REJECT", "TS_MAX_DELTA",
1394 >  "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS", "T_SOFTCALLERID",
1395 >  "T_CALLERID", "T_CCONN", "T_CCONN_FULL", "T_SSL_CIPHER_LIST",
1396 >  "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE", "T_DRONE",
1397    "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1398 <  "T_LOGPATH", "T_L_CRIT", "T_L_DEBUG", "T_L_ERROR", "T_L_INFO",
1399 <  "T_L_NOTICE", "T_L_TRACE", "T_L_WARN", "T_MAX_CLIENTS", "T_NCHANGE",
1400 <  "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY",
1401 <  "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNRESV", "T_UNXLINE", "T_WALLOP",
1402 <  "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1403 <  "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1404 <  "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1405 <  "XLINE", "WARN", "WARN_NO_NLINE", "';'", "'}'", "'{'", "'='", "','",
1398 >  "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ", "T_SERVER",
1399 >  "T_SERVNOTICE", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES", "T_UNAUTH",
1400 >  "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS",
1401 >  "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME", "THROTTLE_TIME",
1402 >  "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE", "TRESV",
1403 >  "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX", "USE_KNOCK",
1404 >  "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE", "WARN",
1405 >  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1406    "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1407    "sizespec", "modules_entry", "modules_items", "modules_item",
1408    "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1409 <  "serverinfo_item", "serverinfo_ssl_connection_method", "$@1",
1410 <  "method_types", "method_type_item", "serverinfo_ssl_certificate_file",
1411 <  "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1409 >  "serverinfo_item", "serverinfo_ssl_client_method",
1410 >  "serverinfo_ssl_server_method", "client_method_types",
1411 >  "client_method_type_item", "server_method_types",
1412 >  "server_method_type_item", "serverinfo_ssl_certificate_file",
1413 >  "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1414 >  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1415    "serverinfo_description", "serverinfo_network_name",
1416    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1417    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1418    "admin_item", "admin_name", "admin_email", "admin_description",
1419 <  "logging_entry", "logging_items", "logging_item", "logging_path",
1420 <  "logging_oper_log", "logging_fuserlog", "logging_ffailed_operlog",
1421 <  "logging_foperlog", "logging_foperspylog", "logging_fglinelog",
1422 <  "logging_fklinelog", "logging_ioerrlog", "logging_killlog",
1423 <  "logging_log_level", "logging_use_logging", "oper_entry", "$@2",
1424 <  "oper_name_b", "oper_items", "oper_item", "oper_name", "oper_name_t",
1425 <  "oper_user", "oper_password", "oper_encrypted",
1426 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@3",
1427 <  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@4",
1492 <  "oper_flags_items", "oper_flags_item", "$@5", "$@6",
1493 <  "oper_flags_item_atom", "class_entry", "$@7", "class_name_b",
1494 <  "class_items", "class_item", "class_name", "class_name_t",
1419 >  "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1420 >  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1421 >  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1422 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1423 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1424 >  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1425 >  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1426 >  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1427 >  "class_entry", "$@6", "class_items", "class_item", "class_name",
1428    "class_ping_time", "class_ping_warning", "class_number_per_ip",
1429    "class_connectfreq", "class_max_number", "class_max_global",
1430    "class_max_local", "class_max_ident", "class_sendq",
1431    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1432 <  "class_number_per_cidr", "listen_entry", "$@8", "listen_flags", "$@9",
1432 >  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1433    "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1434 <  "listen_port", "$@10", "port_items", "port_item", "listen_address",
1435 <  "listen_host", "auth_entry", "$@11", "auth_items", "auth_item",
1434 >  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1435 >  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1436    "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1437 <  "$@12", "auth_flags_items", "auth_flags_item", "$@13", "$@14",
1438 <  "auth_flags_item_atom", "auth_spoof", "auth_redir_serv",
1439 <  "auth_redir_port", "resv_entry", "$@15", "resv_items", "resv_item",
1440 <  "resv_creason", "resv_channel", "resv_nick", "shared_entry", "$@16",
1441 <  "shared_items", "shared_item", "shared_name", "shared_user",
1442 <  "shared_type", "$@17", "shared_types", "shared_type_item",
1443 <  "cluster_entry", "$@18", "cluster_items", "cluster_item", "cluster_name",
1444 <  "cluster_type", "$@19", "cluster_types", "cluster_type_item",
1445 <  "connect_entry", "$@20", "connect_name_b", "connect_items",
1446 <  "connect_item", "connect_name", "connect_name_t", "connect_host",
1447 <  "connect_vhost", "connect_send_password", "connect_accept_password",
1448 <  "connect_port", "connect_aftype", "connect_fakename", "connect_flags",
1516 <  "$@21", "connect_flags_items", "connect_flags_item", "$@22", "$@23",
1517 <  "connect_flags_item_atom", "connect_rsa_public_key_file",
1437 >  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1438 >  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1439 >  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1440 >  "service_entry", "service_items", "service_item", "service_name",
1441 >  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1442 >  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1443 >  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1444 >  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1445 >  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1446 >  "connect_host", "connect_vhost", "connect_send_password",
1447 >  "connect_accept_password", "connect_port", "connect_aftype",
1448 >  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1449    "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1450 <  "connect_class", "connect_cipher_preference", "kill_entry", "$@24",
1451 <  "kill_type", "$@25", "kill_type_items", "kill_type_item", "kill_items",
1452 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@26",
1450 >  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1451 >  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1452 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1453    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1454 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@27",
1455 <  "gecos_flags", "$@28", "gecos_flags_items", "gecos_flags_item",
1454 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1455 >  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1456    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1457    "general_entry", "general_items", "general_item", "general_max_watch",
1458    "general_gline_min_cidr", "general_gline_min_cidr6",
1459 <  "general_burst_away", "general_use_whois_actually",
1460 <  "general_reject_hold_time", "general_tkline_expire_notices",
1461 <  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1462 <  "general_ignore_bogus_ts", "general_disable_remote_commands",
1463 <  "general_failed_oper_notice", "general_anti_nick_flood",
1464 <  "general_max_nick_time", "general_max_nick_changes",
1465 <  "general_max_accept", "general_anti_spam_exit_message_time",
1466 <  "general_ts_warn_delta", "general_ts_max_delta",
1467 <  "general_havent_read_conf", "general_kline_with_reason",
1468 <  "general_kline_reason", "general_invisible_on_connect",
1469 <  "general_warn_no_nline", "general_stats_e_disabled",
1470 <  "general_stats_o_oper_only", "general_stats_P_oper_only",
1471 <  "general_stats_k_oper_only", "general_stats_i_oper_only",
1472 <  "general_pace_wait", "general_caller_id_wait",
1473 <  "general_opers_bypass_callerid", "general_pace_wait_simple",
1474 <  "general_short_motd", "general_no_oper_flood",
1475 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1476 <  "general_message_locale", "general_idletime", "general_dots_in_ident",
1477 <  "general_max_targets", "general_servlink_path",
1547 <  "general_default_cipher_preference", "general_compression_level",
1548 <  "general_use_egd", "general_egdpool_path", "general_ping_cookie",
1459 >  "general_use_whois_actually", "general_reject_hold_time",
1460 >  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1461 >  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1462 >  "general_disable_remote_commands", "general_failed_oper_notice",
1463 >  "general_anti_nick_flood", "general_max_nick_time",
1464 >  "general_max_nick_changes", "general_max_accept",
1465 >  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1466 >  "general_ts_max_delta", "general_havent_read_conf",
1467 >  "general_kline_with_reason", "general_kline_reason",
1468 >  "general_invisible_on_connect", "general_warn_no_nline",
1469 >  "general_stats_e_disabled", "general_stats_o_oper_only",
1470 >  "general_stats_P_oper_only", "general_stats_k_oper_only",
1471 >  "general_stats_i_oper_only", "general_pace_wait",
1472 >  "general_caller_id_wait", "general_opers_bypass_callerid",
1473 >  "general_pace_wait_simple", "general_short_motd",
1474 >  "general_no_oper_flood", "general_true_no_oper_flood",
1475 >  "general_oper_pass_resv", "general_message_locale",
1476 >  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1477 >  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1478    "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1479 <  "$@29", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1480 <  "$@30", "umode_items", "umode_item", "general_min_nonwildcard",
1479 >  "$@24", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1480 >  "$@25", "umode_items", "umode_item", "general_min_nonwildcard",
1481    "general_min_nonwildcard_simple", "general_default_floodcount",
1482 <  "general_client_flood", "gline_entry", "$@31", "gline_items",
1483 <  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@32",
1482 >  "general_client_flood", "gline_entry", "$@26", "gline_items",
1483 >  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@27",
1484    "gline_logging_types", "gline_logging_type_item", "gline_user",
1485 <  "gline_server", "gline_action", "$@33", "gdeny_types", "gdeny_type_item",
1485 >  "gline_server", "gline_action", "$@28", "gdeny_types", "gdeny_type_item",
1486    "channel_entry", "channel_items", "channel_item",
1487    "channel_disable_fake_channels", "channel_restrict_channels",
1488    "channel_disable_local_channels", "channel_use_except",
1489    "channel_use_invex", "channel_use_knock", "channel_knock_delay",
1490    "channel_knock_delay_channel", "channel_max_chans_per_user",
1491 <  "channel_quiet_on_ban", "channel_max_bans",
1491 >  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1492    "channel_default_split_user_count", "channel_default_split_server_count",
1493    "channel_no_create_on_split", "channel_no_join_on_split",
1494 <  "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
1495 <  "serverhide_entry", "serverhide_items", "serverhide_item",
1496 <  "serverhide_flatten_links", "serverhide_hide_servers",
1497 <  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1498 <  "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1494 >  "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1495 >  "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1496 >  "serverhide_hide_servers", "serverhide_hidden_name",
1497 >  "serverhide_links_delay", "serverhide_hidden",
1498 >  "serverhide_disable_hidden", "serverhide_hide_server_ips", YY_NULL
1499   };
1500   #endif
1501  
# Line 1599 | Line 1528 | static const yytype_uint16 yytoknum[] =
1528       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1529       475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1530       485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1531 <     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1603 <     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1604 <     515,    59,   125,   123,    61,    44
1531 >     495,    59,   125,   123,    61,    44
1532   };
1533   # endif
1534  
1535   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1536   static const yytype_uint16 yyr1[] =
1537   {
1538 <       0,   266,   267,   267,   268,   268,   268,   268,   268,   268,
1539 <     268,   268,   268,   268,   268,   268,   268,   268,   268,   268,
1540 <     268,   268,   268,   268,   268,   268,   269,   269,   270,   270,
1541 <     270,   270,   270,   270,   271,   271,   272,   272,   272,   272,
1542 <     273,   274,   274,   275,   275,   275,   276,   277,   278,   279,
1543 <     279,   280,   280,   280,   280,   280,   280,   280,   280,   280,
1544 <     280,   280,   280,   280,   282,   281,   283,   283,   284,   284,
1545 <     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1546 <     295,   296,   297,   297,   298,   298,   298,   298,   299,   300,
1547 <     301,   302,   303,   303,   304,   304,   304,   304,   304,   304,
1548 <     304,   304,   304,   304,   304,   304,   304,   305,   306,   307,
1549 <     308,   309,   310,   311,   312,   313,   314,   315,   315,   315,
1550 <     315,   315,   315,   315,   316,   318,   317,   319,   319,   320,
1551 <     320,   321,   321,   321,   321,   321,   321,   321,   321,   321,
1552 <     322,   323,   324,   325,   326,   327,   328,   330,   329,   331,
1553 <     331,   332,   332,   332,   332,   332,   332,   332,   332,   332,
1554 <     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
1555 <     334,   333,   335,   335,   337,   336,   338,   336,   339,   339,
1556 <     339,   339,   339,   339,   339,   339,   339,   339,   339,   339,
1557 <     339,   339,   339,   339,   341,   340,   342,   342,   343,   343,
1558 <     344,   344,   344,   344,   344,   344,   344,   344,   344,   344,
1559 <     344,   344,   344,   344,   345,   346,   347,   348,   349,   350,
1560 <     351,   352,   353,   354,   355,   356,   357,   358,   360,   359,
1561 <     362,   361,   363,   363,   364,   364,   364,   365,   365,   366,
1562 <     366,   366,   366,   366,   368,   367,   369,   369,   370,   370,
1563 <     371,   372,   374,   373,   375,   375,   376,   376,   376,   376,
1564 <     376,   376,   376,   376,   376,   377,   378,   379,   380,   382,
1565 <     381,   383,   383,   385,   384,   386,   384,   387,   387,   387,
1566 <     387,   387,   387,   387,   387,   387,   387,   388,   389,   390,
1567 <     392,   391,   393,   393,   394,   394,   394,   394,   395,   396,
1568 <     397,   399,   398,   400,   400,   401,   401,   401,   401,   402,
1569 <     403,   405,   404,   406,   406,   407,   407,   407,   407,   407,
1570 <     407,   407,   407,   407,   407,   407,   409,   408,   410,   410,
1571 <     411,   411,   411,   412,   414,   413,   415,   415,   416,   416,
1572 <     416,   416,   416,   416,   416,   416,   416,   416,   416,   418,
1573 <     417,   419,   419,   420,   420,   421,   421,   421,   421,   421,
1574 <     421,   421,   421,   421,   421,   421,   421,   421,   421,   421,
1575 <     421,   422,   423,   424,   425,   426,   427,   428,   429,   429,
1576 <     430,   432,   431,   433,   433,   435,   434,   436,   434,   437,
1577 <     437,   437,   437,   437,   438,   439,   440,   441,   442,   443,
1578 <     445,   444,   447,   446,   448,   448,   449,   450,   450,   451,
1579 <     451,   451,   451,   452,   453,   455,   454,   456,   456,   457,
1580 <     457,   457,   458,   459,   460,   461,   461,   462,   462,   463,
1581 <     465,   464,   467,   466,   468,   468,   469,   470,   470,   471,
1582 <     471,   471,   471,   472,   473,   474,   475,   475,   476,   476,
1583 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1584 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1585 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1586 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1587 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1588 <     476,   476,   476,   476,   477,   478,   479,   480,   481,   482,
1589 <     483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
1590 <     493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
1591 <     503,   504,   504,   505,   505,   506,   507,   508,   509,   510,
1592 <     511,   512,   513,   514,   515,   516,   517,   518,   519,   520,
1593 <     521,   522,   523,   524,   525,   527,   526,   528,   528,   529,
1594 <     529,   529,   529,   529,   529,   529,   529,   529,   529,   529,
1595 <     529,   529,   529,   529,   529,   529,   529,   529,   531,   530,
1596 <     532,   532,   533,   533,   533,   533,   533,   533,   533,   533,
1597 <     533,   533,   533,   533,   533,   533,   533,   533,   533,   533,
1598 <     533,   534,   535,   536,   537,   539,   538,   540,   540,   541,
1599 <     541,   541,   541,   541,   541,   541,   542,   543,   545,   544,
1600 <     546,   546,   547,   547,   548,   549,   551,   550,   552,   552,
1601 <     553,   553,   554,   555,   555,   556,   556,   556,   556,   556,
1602 <     556,   556,   556,   556,   556,   556,   556,   556,   556,   556,
1603 <     556,   556,   556,   556,   557,   558,   559,   560,   561,   562,
1604 <     563,   564,   565,   566,   567,   568,   569,   570,   571,   572,
1678 <     573,   574,   575,   576,   576,   577,   577,   577,   577,   577,
1679 <     577,   577,   577,   578,   579,   580,   581,   582,   583,   584
1538 >       0,   246,   247,   247,   248,   248,   248,   248,   248,   248,
1539 >     248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
1540 >     248,   248,   248,   248,   248,   248,   248,   249,   249,   250,
1541 >     250,   250,   250,   250,   250,   251,   251,   252,   252,   252,
1542 >     252,   253,   254,   254,   255,   255,   255,   256,   257,   258,
1543 >     259,   259,   260,   260,   260,   260,   260,   260,   260,   260,
1544 >     260,   260,   260,   260,   260,   260,   260,   260,   261,   262,
1545 >     263,   263,   264,   264,   265,   265,   266,   266,   267,   268,
1546 >     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
1547 >     279,   280,   281,   281,   282,   282,   282,   282,   283,   284,
1548 >     285,   286,   287,   287,   288,   288,   288,   289,   291,   290,
1549 >     292,   292,   293,   293,   293,   293,   294,   295,   295,   297,
1550 >     296,   298,   298,   299,   299,   299,   299,   299,   299,   299,
1551 >     301,   300,   302,   302,   303,   303,   303,   303,   303,   303,
1552 >     303,   303,   303,   304,   305,   306,   307,   308,   309,   311,
1553 >     310,   312,   312,   313,   313,   313,   313,   313,   313,   313,
1554 >     313,   313,   313,   313,   313,   313,   313,   313,   313,   313,
1555 >     313,   313,   313,   315,   314,   316,   316,   317,   317,   317,
1556 >     317,   317,   317,   317,   317,   317,   317,   317,   317,   317,
1557 >     317,   317,   317,   317,   317,   319,   318,   320,   320,   321,
1558 >     321,   321,   321,   321,   321,   321,   321,   321,   321,   321,
1559 >     321,   321,   321,   322,   323,   324,   325,   326,   327,   328,
1560 >     329,   330,   331,   332,   333,   334,   336,   335,   338,   337,
1561 >     339,   339,   340,   340,   340,   341,   341,   342,   342,   342,
1562 >     342,   342,   344,   343,   345,   345,   346,   346,   347,   348,
1563 >     350,   349,   351,   351,   352,   352,   352,   352,   352,   352,
1564 >     352,   352,   352,   353,   354,   355,   356,   358,   357,   359,
1565 >     359,   360,   360,   360,   360,   360,   360,   360,   360,   360,
1566 >     361,   362,   363,   365,   364,   366,   366,   367,   367,   367,
1567 >     367,   368,   369,   370,   371,   372,   372,   373,   373,   374,
1568 >     376,   375,   377,   377,   378,   378,   378,   378,   379,   380,
1569 >     382,   381,   383,   383,   384,   384,   384,   384,   384,   384,
1570 >     384,   384,   384,   384,   386,   385,   387,   387,   388,   388,
1571 >     388,   389,   391,   390,   392,   392,   393,   393,   393,   393,
1572 >     393,   393,   393,   393,   393,   393,   395,   394,   396,   396,
1573 >     397,   397,   397,   397,   397,   397,   397,   397,   397,   397,
1574 >     397,   397,   397,   397,   398,   399,   400,   401,   402,   403,
1575 >     404,   404,   406,   405,   407,   407,   408,   408,   408,   408,
1576 >     409,   410,   411,   412,   413,   415,   414,   417,   416,   418,
1577 >     418,   419,   420,   420,   421,   421,   421,   421,   422,   423,
1578 >     425,   424,   426,   426,   427,   427,   427,   428,   429,   430,
1579 >     431,   431,   432,   432,   433,   435,   434,   437,   436,   438,
1580 >     438,   439,   440,   440,   441,   441,   441,   441,   442,   443,
1581 >     444,   445,   445,   446,   446,   446,   446,   446,   446,   446,
1582 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1583 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1584 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1585 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1586 >     446,   446,   446,   446,   446,   447,   448,   449,   450,   451,
1587 >     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
1588 >     462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
1589 >     472,   473,   473,   474,   474,   475,   476,   477,   478,   479,
1590 >     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1591 >     490,   491,   493,   492,   494,   494,   495,   495,   495,   495,
1592 >     495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
1593 >     495,   495,   495,   495,   495,   495,   497,   496,   498,   498,
1594 >     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
1595 >     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
1596 >     500,   501,   502,   503,   505,   504,   506,   506,   507,   507,
1597 >     507,   507,   507,   507,   507,   508,   509,   511,   510,   512,
1598 >     512,   513,   513,   514,   515,   517,   516,   518,   518,   519,
1599 >     519,   520,   521,   521,   522,   522,   522,   522,   522,   522,
1600 >     522,   522,   522,   522,   522,   522,   522,   522,   522,   522,
1601 >     522,   522,   522,   523,   524,   525,   526,   527,   528,   529,
1602 >     530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
1603 >     540,   541,   542,   542,   543,   543,   543,   543,   543,   543,
1604 >     543,   543,   544,   545,   546,   547,   548,   549,   550
1605   };
1606  
1607   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1684 | Line 1609 | static const yytype_uint8 yyr2[] =
1609   {
1610         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1611         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1612 <       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1613 <       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1614 <       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1615 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1616 <       1,     1,     1,     2,     0,     5,     3,     1,     1,     1,
1612 >       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1613 >       3,     3,     3,     3,     3,     0,     1,     2,     3,     3,
1614 >       3,     5,     2,     1,     1,     1,     2,     4,     4,     5,
1615 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1616 >       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1617 >       3,     1,     1,     1,     3,     1,     1,     1,     4,     4,
1618         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1619         4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1620 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1621 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1622 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1623 <       4,     4,     4,     4,     4,     0,     7,     0,     1,     2,
1624 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1625 <       4,     1,     4,     4,     4,     4,     4,     0,     5,     3,
1620 >       4,     5,     2,     1,     1,     1,     2,     4,     0,     6,
1621 >       2,     1,     1,     1,     1,     2,     4,     4,     4,     0,
1622 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1623 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1624 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     0,
1625 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1626         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1627 +       1,     1,     1,     0,     5,     3,     1,     1,     1,     1,
1628         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1629 <       0,     5,     3,     1,     0,     3,     0,     2,     1,     1,
1629 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1630         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1631 <       1,     1,     1,     1,     0,     7,     0,     1,     2,     1,
1631 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
1632 >       4,     4,     4,     4,     4,     4,     0,     6,     0,     5,
1633 >       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1634 >       1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
1635 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1636 >       1,     1,     2,     4,     4,     4,     4,     0,     5,     3,
1637         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1638 <       1,     1,     1,     2,     4,     1,     4,     4,     4,     4,
1639 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     6,
1708 <       0,     5,     3,     1,     1,     1,     1,     2,     1,     1,
1709 <       1,     1,     1,     2,     0,     5,     3,     1,     1,     3,
1710 <       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
1711 <       1,     1,     1,     1,     2,     4,     4,     4,     4,     0,
1712 <       5,     3,     1,     0,     3,     0,     2,     1,     1,     1,
1713 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1638 >       4,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1639 >       2,     4,     4,     4,     5,     2,     1,     1,     1,     4,
1640         0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
1641 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1642 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1641 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
1642 >       1,     1,     1,     1,     0,     6,     2,     1,     1,     1,
1643 >       2,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1644         1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1718       1,     1,     2,     4,     0,     5,     3,     1,     1,     1,
1719       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1720       7,     0,     1,     2,     1,     1,     1,     1,     1,     1,
1721       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1722       2,     4,     1,     4,     4,     4,     4,     4,     4,     4,
1723       4,     0,     5,     3,     1,     0,     3,     0,     2,     1,
1724       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1725       0,     6,     0,     5,     3,     1,     1,     2,     1,     1,
1726       1,     1,     1,     4,     4,     0,     6,     2,     1,     1,
1727       1,     1,     4,     4,     5,     2,     1,     1,     1,     4,
1728       0,     6,     0,     5,     3,     1,     1,     2,     1,     1,
1729       1,     1,     1,     4,     4,     5,     2,     1,     1,     1,
1645         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1646 +       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1647 +       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1648 +       4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1649 +       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1650 +       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1651 +       2,     1,     1,     1,     4,     0,     6,     0,     5,     3,
1652 +       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1653 +       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1654         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1655         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1656         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1657         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1658 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1658 >       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1659         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1660         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1661         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1662         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1663 <       4,     4,     4,     4,     4,     0,     5,     3,     1,     1,
1663 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1664         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1665 <       1,     1,     1,     1,     1,     1,     1,     1,     0,     5,
1743 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1665 >       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1666         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1745       1,     4,     4,     4,     4,     0,     6,     2,     1,     1,
1746       1,     1,     1,     1,     1,     1,     4,     4,     0,     5,
1747       3,     1,     1,     1,     4,     4,     0,     5,     3,     1,
1748       1,     1,     5,     2,     1,     1,     1,     1,     1,     1,
1667         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1668 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1668 >       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
1669 >       1,     1,     1,     1,     1,     4,     4,     0,     5,     3,
1670 >       1,     1,     1,     4,     4,     0,     5,     3,     1,     1,
1671 >       1,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1672 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1673 >       1,     1,     1,     4,     4,     4,     4,     4,     4,     4,
1674         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1675 <       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
1676 <       1,     1,     1,     4,     4,     4,     4,     4,     4,     4
1675 >       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1676 >       1,     1,     4,     4,     4,     4,     4,     4,     4
1677   };
1678  
1679 < /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1680 <   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1679 > /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1680 >   Performed when YYTABLE doesn't specify something else to do.  Zero
1681     means the default is an error.  */
1682   static const yytype_uint16 yydefact[] =
1683   {
1684 <       2,     0,     1,     0,     0,     0,   194,   349,   415,     0,
1685 <     430,     0,   605,   252,   400,   228,     0,     0,   125,   290,
1686 <       0,     0,   301,   326,     3,    23,    11,     4,     5,     6,
1687 <       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1688 <      22,    20,    21,     7,    12,    24,    25,     0,     0,   196,
1766 <     351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1767 <       0,   127,     0,     0,     0,     0,     0,     0,     0,     0,
1768 <       0,     0,    83,    84,    86,    85,   653,     0,     0,     0,
1684 >       2,     0,     1,     0,     0,     0,   195,   346,   400,     0,
1685 >     415,     0,   584,   250,   385,   226,     0,     0,   130,   283,
1686 >       0,     0,   300,   324,     0,     3,    24,    11,     4,     5,
1687 >       6,     8,     9,    10,    13,    14,    15,    16,    17,    18,
1688 >      19,    20,    23,    21,    22,     7,    12,    25,    26,     0,
1689         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1770       0,     0,     0,     0,     0,     0,   634,   652,   647,   635,
1771     636,   637,   638,   640,   641,   642,   643,   639,   644,   645,
1772     646,   648,   649,   650,   651,   215,     0,   197,   372,     0,
1773     352,     0,   428,     0,     0,   426,   427,     0,   503,     0,
1690         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1691 +       0,     0,     0,     0,     0,    93,    94,    96,    95,   632,
1692         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1693 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   613,
1694 +     631,   627,   614,   615,   616,   617,   619,   620,   621,   622,
1695 +     623,   618,   624,   625,   626,   628,   629,   630,     0,     0,
1696 +       0,   413,     0,     0,   411,   412,     0,   484,     0,     0,
1697         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1777       0,   578,     0,   555,     0,     0,     0,     0,     0,     0,
1698         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1699 <       0,     0,     0,     0,     0,   447,   502,   497,   498,   495,
1780 <     499,   500,   496,   458,   448,   449,   487,   450,   451,   452,
1781 <     453,   454,   455,   456,   457,   492,   459,   460,   461,   462,
1782 <     501,   464,   469,   465,   467,   466,   481,   482,   468,   470,
1783 <     471,   472,   473,   475,   474,   463,   477,   486,   488,   489,
1784 <     478,   479,   493,   494,   491,   480,   476,   484,   485,   483,
1785 <     490,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1786 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    93,
1787 <      94,    95,    98,   105,    99,   103,   100,   101,   104,   102,
1788 <      96,    97,     0,     0,     0,     0,    42,    43,    44,   141,
1789 <       0,   128,     0,   682,     0,     0,     0,     0,     0,     0,
1790 <       0,     0,   674,   675,   676,   680,   677,   679,   678,   681,
1791 <       0,     0,     0,     0,     0,     0,     0,     0,    64,     0,
1792 <       0,     0,     0,     0,    50,    62,    61,    58,    51,    60,
1793 <      54,    55,    56,    52,    59,    57,    53,     0,     0,    87,
1794 <       0,     0,     0,     0,    82,     0,     0,     0,     0,     0,
1699 >       0,     0,     0,     0,     0,     0,   556,     0,   532,     0,
1700         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1796       0,     0,     0,     0,   633,     0,     0,   421,     0,     0,
1797       0,   418,   419,   420,     0,     0,   425,   442,     0,     0,
1798     432,   441,     0,   438,   439,   440,     0,     0,     0,     0,
1701         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1702 +     432,   482,   477,   478,   479,   480,   476,   443,   433,   434,
1703 +     470,   435,   436,   437,   438,   439,   440,   441,   442,   473,
1704 +     444,   445,   446,   447,   481,   449,   454,   450,   452,   451,
1705 +     465,   466,   453,   455,   456,   457,   458,   459,   448,   461,
1706 +     462,   463,   483,   474,   475,   472,   464,   460,   468,   469,
1707 +     467,   471,     0,     0,     0,     0,     0,     0,     0,   103,
1708 +     104,   105,     0,     0,     0,     0,     0,    43,    44,    45,
1709 +       0,     0,   661,     0,     0,     0,     0,     0,     0,     0,
1710 +       0,   653,   654,   655,   659,   656,   658,   657,   660,     0,
1711         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1712 +       0,     0,     0,     0,     0,     0,    51,    64,    65,    63,
1713 +      60,    59,    66,    52,    62,    55,    56,    57,    53,    61,
1714 +      58,    54,     0,     0,   298,     0,     0,   296,   297,    97,
1715 +       0,     0,     0,     0,    92,     0,     0,     0,     0,     0,
1716         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1717 +       0,     0,     0,     0,   612,     0,     0,     0,     0,     0,
1718         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1719 +     198,   199,   202,   203,   205,   206,   207,   208,   209,   210,
1720 +     211,   200,   201,   204,     0,     0,     0,     0,     0,   372,
1721 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   349,
1722 +     350,   351,   352,   353,   354,   356,   355,   358,   362,   359,
1723 +     360,   361,   357,   406,     0,     0,     0,   403,   404,   405,
1724 +       0,     0,   410,   427,     0,     0,   417,   426,     0,   423,
1725 +     424,   425,     0,     0,     0,     0,     0,     0,     0,     0,
1726         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1804       0,     0,   446,   615,   626,     0,     0,   618,     0,     0,
1805       0,   608,   609,   610,   611,   612,   613,   614,     0,     0,
1806       0,   269,     0,     0,     0,     0,     0,     0,   255,   256,
1807     257,   258,   263,   259,   260,   261,   262,   412,     0,   402,
1808       0,   411,     0,   408,   409,   410,     0,   230,     0,     0,
1809       0,   240,     0,   238,   239,   241,   242,   106,     0,     0,
1727         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1811       0,    92,    45,     0,     0,     0,    41,     0,     0,     0,
1812       0,     0,     0,   293,   294,   295,   296,     0,     0,     0,
1813       0,     0,     0,     0,     0,   673,    63,     0,     0,     0,
1728         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1815      49,     0,     0,   311,     0,     0,   304,   305,   306,   307,
1816       0,     0,   334,     0,   329,   330,   331,     0,     0,     0,
1817      81,     0,     0,     0,     0,     0,    26,     0,     0,     0,
1729         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1730 <     632,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1731 <       0,     0,     0,     0,     0,     0,   199,   200,   203,   204,
1732 <     206,   207,   208,   209,   210,   211,   212,   201,   202,   205,
1733 <       0,     0,     0,     0,     0,     0,     0,   381,     0,     0,
1734 <       0,     0,     0,     0,     0,     0,     0,   354,   355,   356,
1735 <     357,   358,   359,   361,   360,   362,   363,   368,   367,   364,
1736 <     365,   366,   369,     0,     0,     0,   417,     0,   424,     0,
1737 <       0,     0,     0,   437,     0,     0,     0,     0,     0,     0,
1730 >       0,     0,     0,     0,   431,   594,   605,     0,     0,   597,
1731 >       0,     0,     0,   587,   588,   589,   590,   591,   592,   593,
1732 >       0,     0,     0,   267,     0,     0,     0,     0,     0,     0,
1733 >     253,   254,   255,   256,   261,   257,   258,   259,   260,   397,
1734 >       0,   387,     0,   396,     0,   393,   394,   395,     0,   228,
1735 >       0,     0,     0,   238,     0,   236,   237,   239,   240,   106,
1736 >       0,     0,   102,     0,    46,     0,     0,     0,    42,     0,
1737 >       0,     0,   173,     0,     0,     0,   149,     0,     0,   133,
1738 >     134,   135,   136,   139,   140,   138,   137,   141,     0,     0,
1739 >       0,     0,     0,   286,   287,   288,   289,     0,     0,     0,
1740 >       0,     0,     0,     0,     0,   652,    67,     0,     0,     0,
1741         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1742 +       0,     0,     0,    50,     0,     0,   310,     0,     0,   303,
1743 +     304,   305,   306,     0,     0,   332,     0,   327,   328,   329,
1744 +       0,     0,   295,     0,     0,     0,    91,     0,     0,     0,
1745 +       0,    27,     0,     0,     0,     0,     0,     0,     0,     0,
1746 +       0,     0,     0,     0,     0,     0,   611,   212,     0,     0,
1747         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1748 +       0,     0,   197,   363,     0,     0,     0,     0,     0,     0,
1749 +       0,     0,     0,     0,     0,     0,     0,     0,   348,     0,
1750 +       0,     0,   402,     0,   409,     0,     0,     0,     0,   422,
1751         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1752         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1831       0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
1832       0,     0,   445,     0,     0,     0,     0,     0,     0,     0,
1833     607,   264,     0,     0,     0,     0,     0,     0,     0,     0,
1834       0,   254,     0,     0,     0,     0,   407,   243,     0,     0,
1835       0,     0,     0,   237,     0,     0,     0,     0,     0,     0,
1753         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1837       0,     0,    91,     0,     0,    40,     0,     0,     0,   170,
1838       0,     0,     0,   147,     0,     0,   130,   131,   132,   133,
1839     136,   137,   135,   134,   138,   297,     0,     0,     0,     0,
1840     292,     0,     0,     0,     0,     0,     0,     0,   672,     0,
1754         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1755 <       0,    48,   308,     0,     0,     0,     0,   303,   332,     0,
1756 <       0,     0,   328,    90,    89,    88,   669,   666,   665,   654,
1757 <     656,    26,    26,    26,    26,    26,    28,    27,   660,   661,
1758 <     664,   662,   667,   668,   670,   671,   663,   655,   657,   658,
1759 <     659,   213,     0,     0,     0,     0,     0,     0,     0,     0,
1760 <       0,     0,     0,     0,     0,     0,   198,   370,     0,     0,
1755 >       0,     0,     0,     0,     0,     0,    35,     0,     0,     0,
1756 >       0,     0,     0,     0,   430,     0,     0,     0,     0,     0,
1757 >       0,     0,   586,   262,     0,     0,     0,     0,     0,     0,
1758 >       0,     0,     0,   252,     0,     0,     0,     0,   392,   241,
1759 >       0,     0,     0,     0,     0,   235,     0,   101,     0,     0,
1760 >       0,    41,   142,     0,     0,     0,     0,     0,     0,     0,
1761 >       0,     0,   132,   290,     0,     0,     0,     0,   285,     0,
1762 >       0,     0,     0,     0,     0,     0,   651,     0,     0,     0,
1763 >       0,     0,     0,     0,     0,    72,    73,     0,    71,    76,
1764 >      77,     0,    75,     0,     0,     0,     0,     0,    49,   307,
1765 >       0,     0,     0,     0,   302,   330,     0,     0,     0,   326,
1766 >       0,   294,   100,    99,    98,   646,   645,   633,   635,    27,
1767 >      27,    27,    27,    27,    29,    28,   639,   640,   644,   642,
1768 >     641,   647,   648,   649,   650,   643,   634,   636,   637,   638,
1769         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1770 <       0,     0,     0,     0,   353,     0,     0,   416,   429,     0,
1771 <       0,     0,   431,   516,   520,   507,   536,   549,   548,   603,
1772 <     553,   514,   545,   551,   515,   505,   506,   523,   512,   544,
1773 <     513,   526,   511,   525,   524,   519,   518,   517,   546,   504,
1774 <     543,   601,   602,   540,   537,   582,   598,   599,   583,   584,
1775 <     585,   586,   593,   587,   596,   600,   589,   594,   590,   595,
1776 <     588,   592,   591,   597,     0,   581,   542,   559,   575,   576,
1777 <     560,   561,   562,   563,   570,   564,   573,   577,   566,   571,
1778 <     567,   572,   565,   569,   568,   574,     0,   558,   535,   538,
1779 <     552,   509,   547,   510,   539,   528,   533,   534,   531,   532,
1780 <     529,   530,   522,   521,    34,    34,    34,    36,    35,   604,
1781 <     554,   541,   550,   508,   527,     0,     0,     0,     0,     0,
1782 <       0,   606,     0,     0,   275,     0,     0,     0,     0,     0,
1783 <     253,     0,     0,     0,   401,     0,     0,     0,   248,   244,
1784 <     247,   229,   110,   116,   114,   113,   115,   111,   112,   109,
1785 <     117,   123,   118,   122,   120,   121,   119,   108,   107,   124,
1786 <      46,    47,   139,     0,     0,     0,     0,     0,     0,     0,
1787 <       0,     0,   129,     0,     0,     0,   291,   688,   683,   687,
1788 <     685,   689,   684,   686,    74,    80,    72,    76,    75,    71,
1789 <      70,    68,    69,     0,    67,    73,    79,    77,    78,     0,
1790 <       0,     0,   302,     0,     0,   327,    29,    30,    31,    32,
1791 <      33,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1792 <       0,     0,     0,     0,   195,     0,     0,     0,     0,     0,
1793 <       0,     0,   387,     0,     0,     0,     0,     0,     0,     0,
1794 <       0,   350,   422,   423,   443,   444,   436,     0,   435,   579,
1795 <       0,   556,     0,    37,    38,    39,   631,   630,     0,   629,
1796 <     617,   616,   623,   622,     0,   621,   625,   624,   267,   268,
1797 <     273,     0,   272,     0,   266,   289,   288,   287,   265,   414,
1798 <     406,     0,   405,   413,   235,   236,   234,     0,   233,   251,
1799 <     250,     0,     0,     0,     0,     0,   176,     0,     0,     0,
1800 <       0,     0,   126,   299,   300,   298,    65,     0,   309,   315,
1801 <     321,   325,   324,   323,   320,   316,   319,   322,   317,   318,
1802 <       0,   314,   310,   333,   338,   344,   348,   347,   346,   343,
1803 <     339,   342,   345,   340,   341,     0,   337,   225,   226,   219,
1804 <     221,   223,   222,   220,   214,   227,   218,   216,   217,   224,
1805 <     376,   378,   379,   399,   398,   395,   380,   385,     0,   384,
1806 <       0,   373,   396,   397,   371,   377,   394,   375,   374,   433,
1807 <       0,   580,   557,   627,     0,   619,     0,     0,   270,   275,
1808 <     281,   282,   278,   284,   280,   279,   286,   283,   285,   277,
1809 <     276,   403,     0,   231,     0,   249,   246,   245,   146,   144,
1810 <     174,     0,   173,     0,   140,   143,   145,   151,   167,   168,
1811 <     152,   153,   154,   155,   162,   156,   165,   169,   158,   163,
1812 <     159,   164,   157,   161,   160,   166,     0,   150,   142,    66,
1813 <     312,     0,   335,     0,     0,   382,   387,   391,   392,   389,
1814 <     390,   393,   388,   434,   628,   620,   274,   271,   404,   232,
1815 <       0,   171,   176,   186,   184,   193,   183,   178,   187,   191,
1895 <     180,   188,   190,   185,   179,   192,   189,   181,   182,   177,
1896 <     148,     0,   313,   336,   386,   383,   175,   172,   149
1770 >       0,     0,     0,   196,     0,     0,     0,     0,     0,     0,
1771 >       0,     0,     0,     0,     0,     0,     0,     0,   347,     0,
1772 >       0,   401,   414,     0,     0,     0,   416,   496,   500,   516,
1773 >     582,   530,   494,   524,   527,   495,   486,   487,   503,   492,
1774 >     493,   506,   491,   505,   504,   499,   498,   497,   525,   485,
1775 >     523,   580,   581,   520,   517,   567,   560,   577,   578,   561,
1776 >     562,   563,   564,   572,   565,   575,   579,   568,   573,   569,
1777 >     574,   566,   571,   570,   576,     0,   559,   522,   542,   536,
1778 >     553,   554,   537,   538,   539,   540,   548,   541,   551,   555,
1779 >     544,   549,   545,   550,   543,   547,   546,   552,     0,   535,
1780 >     515,   518,   529,   489,   490,   519,   508,   513,   514,   511,
1781 >     512,   509,   510,   502,   501,    35,    35,    35,    37,    36,
1782 >     583,   528,   531,   521,   526,   488,   507,     0,     0,     0,
1783 >       0,     0,     0,   585,     0,     0,     0,     0,     0,     0,
1784 >       0,     0,   251,     0,     0,     0,   386,     0,     0,     0,
1785 >     246,   242,   245,   227,   107,     0,     0,   119,     0,     0,
1786 >     111,   112,   114,   113,    47,    48,     0,     0,     0,     0,
1787 >       0,     0,     0,     0,   131,     0,     0,     0,   284,   667,
1788 >     662,   666,   664,   668,   663,   665,    84,    90,    82,    86,
1789 >      85,    79,    78,    80,    68,     0,    69,     0,    83,    81,
1790 >      89,    87,    88,     0,     0,     0,   301,     0,     0,   325,
1791 >     299,    30,    31,    32,    33,    34,   223,   224,   217,   219,
1792 >     221,   220,   218,   213,   225,   216,   214,   215,   222,   368,
1793 >     370,   371,   383,   380,   376,   377,   379,   378,     0,   375,
1794 >     365,   381,   382,   364,   369,   367,   384,   366,   407,   408,
1795 >     428,   429,   421,     0,   420,   557,     0,   533,     0,    38,
1796 >      39,    40,   610,   609,     0,   608,   596,   595,   602,   601,
1797 >       0,   600,   604,   603,   265,   266,   275,   272,   277,   274,
1798 >     273,   279,   276,   278,   271,     0,   270,   264,   282,   281,
1799 >     280,   263,   399,   391,     0,   390,   398,   233,   234,   232,
1800 >       0,   231,   249,   248,     0,     0,     0,   115,     0,     0,
1801 >       0,     0,   110,   148,   146,   188,   185,   184,   177,   179,
1802 >     194,   189,   192,   187,   178,   193,   181,   190,   182,   191,
1803 >     186,   180,   183,     0,   176,   143,   145,   147,   159,   153,
1804 >     170,   171,   154,   155,   156,   157,   165,   158,   168,   172,
1805 >     161,   166,   162,   167,   160,   164,   163,   169,     0,   152,
1806 >     144,   292,   293,   291,    70,    74,   308,   314,   320,   323,
1807 >     316,   322,   317,   321,   319,   315,   318,     0,   313,   309,
1808 >     331,   336,   342,   345,   338,   344,   339,   343,   341,   337,
1809 >     340,     0,   335,   373,     0,   418,     0,   558,   534,   606,
1810 >       0,   598,     0,   268,     0,   388,     0,   229,     0,   247,
1811 >     244,   243,     0,     0,     0,     0,   109,   174,     0,   150,
1812 >       0,   311,     0,   333,     0,   374,   419,   607,   599,   269,
1813 >     389,   230,   116,   125,   128,   127,   124,   129,   126,   123,
1814 >       0,   122,   118,   117,   175,   151,   312,   334,   120,     0,
1815 >     121
1816   };
1817  
1818   /* YYDEFGOTO[NTERM-NUM].  */
1819   static const yytype_int16 yydefgoto[] =
1820   {
1821 <      -1,     1,    24,   836,   837,   987,   988,    25,   275,   276,
1822 <     277,   278,    26,   313,   314,   315,   534,  1073,  1074,   316,
1823 <     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1824 <      27,    71,    72,    73,    74,    75,    28,   258,   259,   260,
1825 <     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1826 <     271,    29,    61,   280,   775,   776,   777,   281,   778,   779,
1827 <     780,   781,   782,   783,  1049,  1306,  1307,   784,  1045,  1281,
1828 <    1282,  1330,  1283,  1349,    30,    49,   116,   595,   596,   597,
1829 <     117,   598,   599,   600,   601,   602,   603,   604,   605,   606,
1830 <     607,   608,   609,    31,    58,   481,   738,  1167,  1168,   482,
1831 <     483,   484,  1173,  1019,  1020,   485,   486,    32,    56,   457,
1832 <     458,   459,   460,   461,   462,   463,   724,  1151,  1152,  1257,
1833 <    1153,  1270,   464,   465,   466,    33,    62,   512,   513,   514,
1834 <     515,   516,    34,    65,   545,   546,   547,   548,   549,   814,
1835 <    1200,  1201,    35,    66,   553,   554,   555,   556,   820,  1215,
1836 <    1216,    36,    50,   119,   626,   627,   628,   120,   629,   630,
1837 <     631,   632,   633,   634,   635,   636,   874,  1238,  1239,  1314,
1838 <    1240,  1322,   637,   638,   639,   640,   641,   642,    37,    57,
1839 <     471,   733,  1161,  1162,   472,   473,   474,   475,    38,    51,
1840 <     360,   361,   362,   363,    39,   124,   125,   126,    40,    53,
1841 <     371,   651,  1127,  1128,   372,   373,   374,   375,    41,   184,
1842 <     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1843 <     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1844 <     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1845 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1846 <     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1847 <     235,   410,   966,   967,   236,   408,   944,   945,   237,   238,
1848 <     239,   240,    42,    55,   440,   441,   442,   443,   444,   716,
1849 <    1144,  1145,   445,   446,   447,   713,  1138,  1139,    43,    95,
1850 <      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1851 <     106,   107,   108,   109,   110,   111,   112,   113,   114,    44,
1933 <     291,   292,   293,   294,   295,   296,   297,   298,   299
1821 >      -1,     1,    25,   834,   835,   978,   979,    26,   246,   247,
1822 >     248,   249,    27,   285,   286,   287,   288,   797,   798,   801,
1823 >     802,   289,   290,   291,   292,   293,   294,   295,   296,   297,
1824 >     298,   299,   300,   301,    28,    74,    75,    76,    77,    78,
1825 >      29,   238,   239,   240,   241,   242,  1019,  1020,  1021,  1022,
1826 >    1023,  1169,  1300,  1301,    30,    63,   538,   539,   540,   541,
1827 >     542,   543,   544,   545,   546,   769,  1218,  1219,   547,   765,
1828 >    1193,  1194,    31,    51,   349,   350,   351,   352,   353,   354,
1829 >     355,   356,   357,   358,   359,   360,   361,   362,   363,    32,
1830 >      60,   513,   750,  1160,  1161,   514,   515,   516,  1166,  1011,
1831 >    1012,   517,   518,    33,    58,   489,   490,   491,   492,   493,
1832 >     494,   495,   736,  1145,  1146,   496,   497,   498,    34,    64,
1833 >     552,   553,   554,   555,   556,    35,   306,   307,   308,    36,
1834 >      67,   588,   589,   590,   591,   592,   811,  1237,  1238,    37,
1835 >      68,   596,   597,   598,   599,   817,  1251,  1252,    38,    52,
1836 >     378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
1837 >     648,  1098,  1099,   388,   389,   390,   391,   392,    39,    59,
1838 >     503,   745,  1154,  1155,   504,   505,   506,   507,    40,    53,
1839 >     396,   397,   398,   399,    41,   123,   124,   125,    42,    55,
1840 >     407,   667,  1113,  1114,   408,   409,   410,   411,    43,   179,
1841 >     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1842 >     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1843 >     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1844 >     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1845 >     220,   221,   222,   223,   224,   225,   226,   442,   958,   959,
1846 >     227,   440,   935,   936,   228,   229,   230,   231,    44,    57,
1847 >     472,   473,   474,   475,   476,   728,  1130,  1131,   477,   478,
1848 >     479,   725,  1124,  1125,    45,    98,    99,   100,   101,   102,
1849 >     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1850 >     113,   114,   115,   116,   117,    46,   260,   261,   262,   263,
1851 >     264,   265,   266,   267,   268
1852   };
1853  
1854   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1855     STATE-NUM.  */
1856 < #define YYPACT_NINF -944
1856 > #define YYPACT_NINF -733
1857   static const yytype_int16 yypact[] =
1858   {
1859 <    -944,   692,  -944,  -105,  -257,  -249,  -944,  -944,  -944,  -236,
1860 <    -944,  -215,  -944,  -944,  -944,  -944,  -212,  -210,  -944,  -944,
1861 <    -193,  -184,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1862 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1863 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,     7,   605,   -69,
1864 <     -64,  -166,     8,  -151,   420,  -134,  -124,  -101,   -95,   417,
1865 <       4,    27,   -60,   309,   467,   -52,   -39,   -14,    -9,    -6,
1866 <      11,     9,  -944,  -944,  -944,  -944,  -944,    41,    43,    53,
1867 <      63,    72,    74,    85,    94,    95,    96,    97,    99,   102,
1868 <     105,   106,   107,   108,   109,   142,  -944,  -944,  -944,  -944,
1869 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1870 <    -944,  -944,  -944,  -944,  -944,  -944,    22,  -944,  -944,    61,
1871 <    -944,   147,  -944,   111,    20,  -944,  -944,    30,  -944,   112,
1872 <     113,   115,   116,   118,   121,   128,   139,   141,   143,   144,
1873 <     146,   148,   149,   150,   151,   152,   155,   158,   159,   161,
1874 <     162,   167,   170,   173,   176,   178,   179,   180,   182,   187,
1875 <     193,  -944,   194,  -944,   196,   198,   201,   217,   219,   220,
1876 <     221,   222,   223,   224,   225,   226,   230,   231,   236,   237,
1877 <     238,   241,   246,   253,    49,  -944,  -944,  -944,  -944,  -944,
1878 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1879 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1880 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1881 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1882 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1883 <    -944,   333,   519,    24,   172,    80,   254,   255,   260,   263,
1884 <     265,   269,   276,   277,   278,   280,   282,   283,    46,  -944,
1885 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1886 <    -944,  -944,   145,   284,   286,    21,  -944,  -944,  -944,  -944,
1887 <     126,  -944,    77,  -944,   287,   289,   290,   291,   293,   298,
1888 <     305,    34,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1889 <     156,   307,   308,   310,   312,   313,   314,   315,  -944,   316,
1890 <     319,   320,   321,   199,  -944,  -944,  -944,  -944,  -944,  -944,
1891 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,    25,    31,  -944,
1892 <     257,   281,   432,   328,  -944,   396,   163,   466,   401,   402,
1893 <     469,   469,   470,   472,   409,   410,   478,   469,   414,   421,
1894 <     422,   425,   427,   365,  -944,   664,   444,  -944,   363,   364,
1895 <      32,  -944,  -944,  -944,   475,   370,  -944,  -944,   368,   374,
1896 <    -944,  -944,     3,  -944,  -944,  -944,   436,   469,   443,   469,
1897 <     510,   489,   512,   448,   450,   517,   496,   454,   523,   525,
1898 <     526,   462,   469,   463,   468,   469,   514,   471,   540,   541,
1899 <     469,   542,   546,   528,   547,   552,   487,   491,   426,   498,
1900 <     434,   469,   469,   501,   469,   550,   508,   511,   515,    81,
1901 <     153,   518,   521,   469,   469,   583,   469,   522,   524,   527,
1902 <     531,   456,  -944,  -944,  -944,   473,   474,  -944,   476,   477,
1903 <      14,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   465,   480,
1904 <     481,  -944,   482,   483,   484,   488,   490,   171,  -944,  -944,
1905 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   494,  -944,
1906 <     497,  -944,    19,  -944,  -944,  -944,   492,  -944,   500,   506,
1907 <     507,  -944,   125,  -944,  -944,  -944,  -944,  -944,   576,   577,
1908 <     580,   582,   585,   588,   597,   608,   175,   611,   622,   581,
1909 <     520,  -944,  -944,   624,   626,   529,  -944,   538,   530,   532,
1910 <     533,   536,     2,  -944,  -944,  -944,  -944,   586,   590,   591,
1911 <     638,   596,   603,   469,   543,  -944,  -944,   651,   609,   659,
1912 <     660,   663,   665,   666,   558,   669,   694,   670,   673,   567,
1913 <    -944,   569,   568,  -944,   570,    28,  -944,  -944,  -944,  -944,
1914 <     574,   572,  -944,    10,  -944,  -944,  -944,   578,   579,   584,
1915 <    -944,   587,   589,   594,   602,   604,   169,   606,   607,   610,
1916 <     615,   616,   627,   631,   632,   634,   635,   636,   637,   639,
1917 <    -944,   640,   573,   621,   643,   647,   648,   650,   658,   661,
1918 <     668,   671,   672,   674,   676,   205,  -944,  -944,  -944,  -944,
1919 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1920 <     641,   680,   684,   685,   687,   688,   695,  -944,   698,   702,
1921 <     703,   705,   706,   707,   708,   709,   168,  -944,  -944,  -944,
1922 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1923 <    -944,  -944,  -944,   677,   690,   642,  -944,   654,  -944,   693,
1924 <     697,   710,   678,  -944,   714,   715,   716,   720,   724,   725,
1925 <     727,   728,   730,   731,   732,   733,   734,   735,   736,   737,
1926 <     738,   739,   740,   741,   742,   743,   744,   745,   746,   747,
1927 <     748,   750,   751,   752,   753,   754,   675,   755,   712,   756,
1928 <     757,   758,   759,   760,   761,   762,   763,   764,   765,   766,
1929 <     767,   768,   769,   770,   771,   317,   772,   773,   774,   775,
1930 <     776,   777,  -944,   778,   469,   644,   779,   721,   780,   783,
1931 <    -944,  -944,   856,   701,   781,   885,   717,   886,   887,   892,
1932 <     786,  -944,   894,   785,   896,   790,  -944,  -944,   788,   899,
1933 <     900,   797,   794,  -944,   795,   796,   798,   799,   800,   801,
1934 <     802,   803,   804,   805,   806,   807,   808,   809,   810,   811,
1935 <     812,   813,  -944,   814,   815,  -944,   816,   817,   818,  -944,
1936 <     819,   820,   821,  -944,   822,    93,  -944,  -944,  -944,  -944,
1937 <    -944,  -944,  -944,  -944,  -944,  -944,   904,   924,   925,   826,
1938 <    -944,   827,   828,   829,   830,   831,   832,   833,  -944,   834,
1939 <     835,   836,   837,   838,   839,   840,    60,   841,   842,   843,
1940 <     844,  -944,  -944,   926,   845,   952,   846,  -944,  -944,   954,
1941 <     847,   849,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1942 <    -944,   469,   469,   469,   469,   469,  -944,  -944,  -944,  -944,
1943 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1944 <    -944,  -944,   980,   981,   469,   982,   983,   984,   985,   964,
1945 <     987,   988,   469,   469,   583,   860,  -944,  -944,   968,   136,
1946 <     969,   970,   927,   972,   863,   974,   975,   976,   977,  1000,
1947 <     979,   986,   989,   873,  -944,   874,   875,  -944,  -944,   876,
1948 <     877,   679,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1949 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1950 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1951 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1952 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1953 <    -944,  -944,  -944,  -944,  -248,  -944,  -944,  -944,  -944,  -944,
1954 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1955 <    -944,  -944,  -944,  -944,  -944,  -944,  -242,  -944,  -944,  -944,
1956 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1957 <    -944,  -944,  -944,  -944,   583,   583,   583,  -944,  -944,  -944,
1958 <    -944,  -944,  -944,  -944,  -944,     1,   878,   880,     5,   881,
1959 <     883,  -944,   884,   888,  1015,   889,   890,   891,   893,   895,
1960 <    -944,   897,   682,   898,  -944,    56,   901,   902,   649,   601,
1961 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1962 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1963 <    -944,  -944,  -944,   993,   950,   903,   999,  1001,  1003,   905,
1964 <    1006,   907,  -944,   909,   910,   911,  -944,  -944,  -944,  -944,
1965 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1966 <    -944,  -944,  -944,  -227,  -944,  -944,  -944,  -944,  -944,   912,
1967 <     563,   913,  -944,   914,   614,  -944,  -944,  -944,  -944,  -944,
1968 <    -944,   915,   916,   917,   918,   919,   920,   921,   922,   923,
1969 <     928,   929,   930,   931,  -944,   932,   933,   934,   935,   936,
1970 <     937,   938,  1030,   939,   940,   941,   942,   943,   944,   945,
1971 <     946,  -944,  -944,  -944,  -944,  -944,  -944,  -225,  -944,  -944,
1972 <     675,  -944,   712,  -944,  -944,  -944,  -944,  -944,  -192,  -944,
1973 <    -944,  -944,  -944,  -944,  -185,  -944,  -944,  -944,  -944,  -944,
1974 <    -944,  -174,  -944,   633,  -944,  -944,  -944,  -944,  -944,  -944,
1975 <    -944,  -165,  -944,  -944,  -944,  -944,  -944,  -147,  -944,  -944,
1976 <    -944,  1032,   797,   947,   948,   949,  1034,   951,   953,   955,
1977 <     749,   956,  -944,  -944,  -944,  -944,  -944,    60,  -944,  -944,
1978 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1979 <     -57,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1980 <    -944,  -944,  -944,  -944,  -944,   -38,  -944,  -944,  -944,  -944,
1981 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1982 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,    -8,  -944,
1983 <      18,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1984 <     679,  -944,  -944,  -944,     1,  -944,     5,   633,  -944,  1015,
1985 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1986 <    -944,  -944,   682,  -944,    56,  -944,  -944,  -944,  -944,  -944,
1987 <    -944,    37,  -944,   433,  -944,  -944,  -944,  -944,  -944,  -944,
1988 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1989 <    -944,  -944,  -944,  -944,  -944,  -944,    51,  -944,  -944,  -944,
1990 <    -944,   563,  -944,   614,    18,  -944,  1030,  -944,  -944,  -944,
2073 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2074 <     433,  -944,  1034,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2075 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2076 <    -944,   749,  -944,  -944,  -944,  -944,  -944,  -944,  -944
1859 >    -733,   707,  -733,  -152,  -235,  -230,  -733,  -733,  -733,  -228,
1860 >    -733,  -225,  -733,  -733,  -733,  -733,  -222,  -219,  -733,  -733,
1861 >    -217,  -211,  -733,  -733,  -206,  -733,  -733,  -733,  -733,  -733,
1862 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1863 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,    13,
1864 >     612,  -201,  -198,  -188,    16,  -183,   373,  -173,  -170,  -167,
1865 >    -164,    40,    90,  -151,  -135,   359,   422,  -132,   -97,    15,
1866 >     -82,   -64,   -61,   -55,    22,  -733,  -733,  -733,  -733,  -733,
1867 >     -49,   -43,   -41,   -13,   -10,    -8,    -3,     7,    30,    66,
1868 >      80,    85,    95,   134,   135,   139,   146,   154,   172,  -733,
1869 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1870 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   637,   472,
1871 >      18,  -733,   169,    24,  -733,  -733,   189,  -733,   171,   180,
1872 >     182,   186,   192,   196,   199,   200,   202,   203,   206,   207,
1873 >     210,   211,   214,   216,   218,   227,   228,   230,   233,   239,
1874 >     241,   242,   248,   255,   260,   261,  -733,   263,  -733,   265,
1875 >     268,   273,   275,   276,   277,   282,   285,   286,   287,   288,
1876 >     291,   297,   298,   299,   305,   310,   311,   312,   313,    48,
1877 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1878 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1879 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1880 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1881 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1882 >    -733,  -733,   307,   456,    64,   346,   -32,   314,    33,  -733,
1883 >    -733,  -733,    44,    28,   315,   316,    29,  -733,  -733,  -733,
1884 >     464,   109,  -733,   317,   319,   322,   327,   329,   330,   332,
1885 >     281,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   116,
1886 >     333,   334,   339,   341,   342,   343,   344,   350,   353,   354,
1887 >     355,   356,   360,   361,   363,   152,  -733,  -733,  -733,  -733,
1888 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1889 >    -733,  -733,    21,    58,  -733,   365,    81,  -733,  -733,  -733,
1890 >     254,   266,   300,   176,  -733,   493,   502,   442,   443,   510,
1891 >     510,   511,   513,   514,   450,   451,   518,   510,   453,   454,
1892 >     458,   459,   460,   391,  -733,   396,   397,   398,   399,   400,
1893 >     402,   404,   405,   406,   407,   408,   409,   410,   411,   238,
1894 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1895 >    -733,  -733,  -733,  -733,   420,   419,   421,   423,   424,  -733,
1896 >     426,   427,   428,   431,   432,   433,   434,   436,     4,  -733,
1897 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1898 >    -733,  -733,  -733,  -733,   437,   438,    63,  -733,  -733,  -733,
1899 >     533,   425,  -733,  -733,   440,   441,  -733,  -733,    19,  -733,
1900 >    -733,  -733,   517,   510,   510,   576,   519,   523,   577,   569,
1901 >     525,   592,   594,   595,   534,   539,   540,   510,   578,   541,
1902 >     610,   611,   510,   613,   618,   591,   622,   625,   562,   564,
1903 >     497,   567,   501,   510,   510,   570,   510,   571,   572,   581,
1904 >     -15,   141,   584,   585,   510,   510,   644,   631,   510,   587,
1905 >     593,   596,   599,   526,  -733,  -733,  -733,   524,   535,  -733,
1906 >     536,   537,   153,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1907 >     529,   538,   543,  -733,   546,   547,   548,   549,   550,    35,
1908 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1909 >     558,  -733,   559,  -733,    60,  -733,  -733,  -733,   542,  -733,
1910 >     563,   568,   574,  -733,     2,  -733,  -733,  -733,  -733,  -733,
1911 >     601,   544,  -733,   580,  -733,   653,   680,   573,  -733,   586,
1912 >     582,   588,  -733,   589,   590,   600,  -733,   602,     5,  -733,
1913 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   597,   603,
1914 >     604,   605,    43,  -733,  -733,  -733,  -733,   649,   652,   655,
1915 >     698,   659,   660,   510,   598,  -733,  -733,   706,   664,   714,
1916 >     719,   720,   721,   722,   723,   187,   213,   724,   725,   747,
1917 >     729,   730,   635,  -733,   636,   643,  -733,   646,    74,  -733,
1918 >    -733,  -733,  -733,   638,   647,  -733,    77,  -733,  -733,  -733,
1919 >     757,   656,  -733,   663,   667,   668,  -733,   672,   675,   683,
1920 >     686,   178,   687,   688,   689,   690,   692,   693,   694,   695,
1921 >     696,   697,   699,   701,   702,   703,  -733,  -733,   783,   784,
1922 >     510,   786,   795,   810,   829,   814,   836,   837,   510,   510,
1923 >     644,   709,  -733,  -733,   817,   173,   820,   776,   710,   822,
1924 >     824,   825,   826,   848,   828,   830,   831,   726,  -733,   832,
1925 >     833,   727,  -733,   728,  -733,   834,   835,   731,   732,  -733,
1926 >     733,   735,   736,   737,   738,   739,   740,   741,   742,   743,
1927 >     744,   745,   746,   748,   749,   750,   752,   753,   754,   755,
1928 >     756,   758,   759,   760,   761,   762,   763,   764,   614,   765,
1929 >     679,   766,   767,   768,   770,   771,   772,   773,   774,   775,
1930 >     777,   778,   779,   780,   781,   782,    25,   785,   787,   788,
1931 >     789,   790,   791,   792,  -733,   793,   510,   794,   796,   841,
1932 >     857,   797,  -733,  -733,   867,   849,   798,   886,   850,   893,
1933 >     896,   903,   800,  -733,   904,   799,   905,   803,  -733,  -733,
1934 >     801,   908,   915,   861,   806,  -733,   807,  -733,   117,   808,
1935 >     809,  -733,  -733,   920,   876,   811,   922,   923,   925,   813,
1936 >     927,   818,  -733,  -733,   929,   930,   931,   823,  -733,   827,
1937 >     838,   839,   842,   843,   844,   845,  -733,   846,   847,   851,
1938 >     852,   853,   854,   855,   856,  -733,  -733,  -212,  -733,  -733,
1939 >    -733,  -210,  -733,   858,   859,   860,   862,   863,  -733,  -733,
1940 >     932,   821,   935,   864,  -733,  -733,   936,   865,   866,  -733,
1941 >     869,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   510,
1942 >     510,   510,   510,   510,  -733,  -733,  -733,  -733,  -733,  -733,
1943 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1944 >     870,   871,   872,   873,   874,   875,   877,   878,   879,   880,
1945 >     881,   882,   883,  -733,   884,   885,   887,   888,   889,   138,
1946 >     890,   891,   892,   894,   895,   897,   898,   899,  -733,   900,
1947 >     901,  -733,  -733,   902,   906,   933,  -733,  -733,  -733,  -733,
1948 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1949 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1950 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1951 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1952 >    -733,  -733,  -733,  -733,  -733,   -35,  -733,  -733,  -733,  -733,
1953 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1954 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   -33,  -733,
1955 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1956 >    -733,  -733,  -733,  -733,  -733,   644,   644,   644,  -733,  -733,
1957 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,     0,   907,   909,
1958 >       1,   910,   911,  -733,   912,   913,   840,   914,   916,   917,
1959 >     918,   919,  -733,   921,   934,   924,  -733,    -6,   926,   928,
1960 >     946,   937,  -733,  -733,  -733,   938,   939,  -733,   940,    67,
1961 >    -733,  -733,  -733,  -733,  -733,  -733,   944,   945,   477,   947,
1962 >     948,   949,   716,   950,  -733,   951,   952,   953,  -733,  -733,
1963 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1964 >    -733,  -733,  -733,  -733,  -733,   187,  -733,   213,  -733,  -733,
1965 >    -733,  -733,  -733,   954,   302,   955,  -733,   956,   560,  -733,
1966 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1967 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1968 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   -16,  -733,
1969 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1970 >    -733,  -733,  -733,    51,  -733,  -733,   614,  -733,   679,  -733,
1971 >    -733,  -733,  -733,  -733,    62,  -733,  -733,  -733,  -733,  -733,
1972 >     108,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1973 >    -733,  -733,  -733,  -733,  -733,   113,  -733,  -733,  -733,  -733,
1974 >    -733,  -733,  -733,  -733,   123,  -733,  -733,  -733,  -733,  -733,
1975 >     124,  -733,  -733,  -733,   961,   861,   957,  -733,   941,   943,
1976 >    -106,   958,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1977 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1978 >    -733,  -733,  -733,   131,  -733,  -733,  -733,  -733,  -733,  -733,
1979 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1980 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   132,  -733,
1981 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1982 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,   143,  -733,  -733,
1983 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1984 >    -733,   159,  -733,  -733,   138,  -733,   933,  -733,  -733,  -733,
1985 >       0,  -733,     1,  -733,   840,  -733,   934,  -733,    -6,  -733,
1986 >    -733,  -733,   959,   388,   960,   962,  -733,  -733,   477,  -733,
1987 >     716,  -733,   302,  -733,   560,  -733,  -733,  -733,  -733,  -733,
1988 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1989 >     184,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   388,
1990 >    -733
1991   };
1992  
1993   /* YYPGOTO[NTERM-NUM].  */
1994   static const yytype_int16 yypgoto[] =
1995   {
1996 <    -944,  -944,  -944,  -768,  -340,  -943,  -423,  -944,  -944,   571,
1997 <    -944,  -944,  -944,  -944,   556,  -944,  -944,  -944,  -317,  -944,
1998 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1999 <    -944,  -944,   859,  -944,  -944,  -944,  -944,  -944,   908,  -944,
2000 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2001 <    -944,  -944,  -944,  -944,  -944,   411,  -944,  -944,  -944,  -944,
2002 <    -944,  -944,  -944,  -944,  -944,  -944,  -418,  -944,  -944,  -944,
2003 <    -395,  -944,  -944,  -145,  -944,  -944,  -944,  -944,   592,  -944,
2004 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2005 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   -86,  -944,
2006 <     729,  -944,  -944,  -944,    47,  -944,  -944,  -944,  -944,  -944,
2007 <     782,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   -46,  -944,
2008 <    -944,   -42,  -944,  -944,  -944,  -944,  -944,  -944,   711,  -944,
2009 <    -944,  -944,  -944,  -944,  -944,   681,  -944,  -944,  -944,  -944,
2010 <    -944,   -93,  -944,  -944,  -944,   667,  -944,  -944,  -944,  -944,
2011 <     -92,  -944,  -944,  -944,  -944,   598,  -944,  -944,  -944,  -944,
2012 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   -94,  -944,
2013 <    -944,   -89,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2014 <    -944,  -944,  -944,   -45,  -944,   784,  -944,  -944,  -944,  -944,
2015 <    -944,   868,  -944,  -944,  -944,  -944,  1105,  -944,  -944,  -944,
2016 <    -944,  -944,  -944,   -20,  -944,   861,  -944,  -944,  -944,  -944,
2017 <    1047,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2018 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2019 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2020 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2021 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2022 <    -944,  -944,  -944,   100,  -944,  -944,  -944,   104,  -944,  -944,
2023 <    -944,  -944,  -944,  -944,  -944,   823,  -944,  -944,  -944,  -944,
2024 <    -944,   -21,  -944,  -944,  -944,  -944,  -944,   -18,  -944,  -944,
2025 <    1142,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2026 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2113 <    -944,   957,  -944,  -944,  -944,  -944,  -944,  -944,  -944
1996 >    -733,  -733,  -733,  -732,  -318,  -542,  -456,  -733,  -733,   963,
1997 >    -733,  -733,  -733,  -733,   804,  -733,  -733,  -733,    20,  -733,
1998 >      17,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1999 >    -733,  -733,  -733,  -733,  -733,  -733,   999,  -733,  -733,  -733,
2000 >    -733,  -733,   868,  -733,  -733,  -733,  -733,    57,  -733,  -733,
2001 >    -733,  -733,  -733,  -232,  -733,  -733,  -733,   552,  -733,  -733,
2002 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -202,  -733,  -733,
2003 >    -733,  -197,  -733,  -733,  -733,   812,  -733,  -733,  -733,  -733,
2004 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
2005 >    -733,  -733,  -733,  -733,  -186,  -733,   620,  -733,  -733,  -733,
2006 >     -74,  -733,  -733,  -733,  -733,  -733,   609,  -733,  -733,  -733,
2007 >    -733,  -733,  -733,  -733,  -162,  -733,  -733,  -733,  -733,  -733,
2008 >    -733,   556,  -733,  -733,  -733,  -733,  -733,   942,  -733,  -733,
2009 >    -733,  -733,   557,  -733,  -733,  -733,  -733,  -733,  -165,  -733,
2010 >    -733,  -733,   553,  -733,  -733,  -733,  -733,  -147,  -733,  -733,
2011 >    -733,   802,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
2012 >    -733,  -733,  -110,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
2013 >    -733,  -733,  -733,  -120,  -733,   662,  -733,  -733,  -733,  -733,
2014 >    -733,   815,  -733,  -733,  -733,  -733,  1033,  -733,  -733,  -733,
2015 >    -733,  -733,  -733,   -93,  -733,   769,  -733,  -733,  -733,  -733,
2016 >     985,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
2017 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
2018 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
2019 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
2020 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,    50,
2021 >    -733,  -733,  -733,    54,  -733,  -733,  -733,  -733,  -733,  -733,
2022 >    -733,   700,  -733,  -733,  -733,  -733,  -733,   -91,  -733,  -733,
2023 >    -733,  -733,  -733,   -87,  -733,  -733,  1076,  -733,  -733,  -733,
2024 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
2025 >    -733,  -733,  -733,  -733,  -733,  -733,  -733,   964,  -733,  -733,
2026 >    -733,  -733,  -733,  -733,  -733
2027   };
2028  
2029   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2030     positive, shift that token.  If negative, reduce the rule which
2031 <   number is the opposite.  If zero, do what YYDEFACT says.
2032 <   If YYTABLE_NINF, syntax error.  */
2033 < #define YYTABLE_NINF -1
2121 < static const yytype_uint16 yytable[] =
2031 >   number is the opposite.  If YYTABLE_NINF, syntax error.  */
2032 > #define YYTABLE_NINF -109
2033 > static const yytype_int16 yytable[] =
2034   {
2035 <     567,   568,   706,   508,   367,   272,    47,   574,    67,   122,
2036 <      67,   550,  1136,  1129,    48,   433,  1142,  1130,   434,  1131,
2037 <     467,   122,   272,  1132,   509,   467,   541,    52,  1317,   541,
2038 <    1318,   367,   550,   357,  1186,   283,  1249,   655,  1187,   657,
2039 <    1250,  1133,  1134,  1135,    68,  1319,    68,   245,    54,  1320,
2040 <     128,    59,   670,    60,    69,   673,    69,   129,   130,   435,
2041 <     678,   131,   436,  1086,  1087,  1088,  1089,  1090,   132,  1253,
2042 <      63,   689,   690,  1254,   692,   284,  1255,   133,   508,    64,
2043 <    1256,   134,   135,   703,   704,   115,   707,  1258,   136,   285,
2044 <     118,  1259,   137,   138,   766,   139,  1271,   121,   123,   509,
2045 <    1272,   140,   246,   247,   248,   249,   250,   251,   252,   253,
2046 <     123,   286,   127,   287,  1273,   288,   289,   437,  1274,   767,
2047 <     141,   142,   358,   273,   368,   143,   476,   510,    70,   241,
2048 <      70,   551,   144,  1164,   290,   438,   145,   146,   147,   242,
2049 <     273,   148,   768,    76,   149,   150,   542,   769,   357,   542,
2050 <     254,   368,   551,   274,   151,    77,    45,    46,   511,   369,
2051 <     152,   153,   243,   154,   155,   156,   157,   158,   244,   610,
2052 <     274,   611,   448,   476,   612,   468,    78,    79,   159,   477,
2053 <     468,   279,    80,   797,    81,   255,   369,   160,   359,   161,
2054 <     162,   370,   163,   613,   614,   164,   165,   449,   552,   166,
2055 <     300,  1137,   510,   282,  1310,  1143,   581,   469,  1311,   478,
2056 <     167,   327,   469,   543,   770,   479,   543,   615,   370,   552,
2057 <     450,   616,   617,  1312,   328,   451,   477,  1313,   582,   583,
2058 <    1071,  1072,   168,   511,   169,   584,   301,   358,   170,    82,
2059 <      83,   771,   171,   172,   173,   174,   175,   329,    84,    85,
2060 <     176,   177,   618,  1315,   619,   330,   478,  1316,   331,   178,
2061 <     772,  1321,   479,   439,   789,   652,   256,   620,   470,    86,
2062 <      87,   333,   821,   470,   544,   332,   719,   544,   480,   697,
2063 <     698,   735,   365,   505,   302,   355,    88,    89,  1165,   621,
2064 <     816,   179,  1166,   180,   645,   562,   524,    90,  1331,   181,
2065 <     257,   566,  1332,   359,   182,   335,    91,   336,   500,   183,
2066 <     283,   431,  1350,   585,   586,   587,  1351,   337,   588,   452,
2067 <     303,   622,   304,   305,   356,   480,   589,   338,   453,   454,
2068 <     773,   984,   985,   986,   433,   623,   339,   434,   340,   590,
2069 <     591,   487,   774,   831,   832,   833,   834,   835,   624,   341,
2070 <     284,   699,   700,  1106,  1107,  1051,   592,   593,   342,   343,
2071 <     344,   345,   455,   346,   285,   306,   347,   307,   308,   348,
2072 <     349,   350,   351,   352,   996,   364,   376,   377,   435,   378,
2073 <     379,   436,   380,   309,   594,   381,   286,   742,   287,   507,
2074 <     288,   289,   382,    92,    93,    94,   752,   753,   754,   755,
2075 <     756,   757,   758,   383,   353,   384,   502,   385,   386,   290,
2076 <     387,   557,   388,   389,   390,   391,   392,   526,   245,   393,
2077 <     456,   128,   394,   395,   625,   396,   397,   310,   129,   130,
2078 <     883,   398,   131,   730,   399,   558,   437,   400,  1333,   132,
2079 <     401,  1103,   402,   403,   404,   610,   405,   611,   133,   705,
2080 <     612,   406,   134,   135,   438,   311,   312,   407,   409,   136,
2081 <     411,   539,   412,   137,   138,   413,   139,   865,   300,   613,
2082 <     614,  1334,   140,   246,   247,   248,   249,   250,   251,   252,
2083 <     253,   414,  1335,   415,   416,   417,   418,   419,   420,   421,
2084 <     422,   141,   142,   615,   423,   424,   143,   616,   617,  1336,
2085 <     425,   426,   427,   144,   301,   428,  1337,   145,   146,   147,
2086 <     429,  1338,   148,  1339,  1093,   149,   150,   430,   488,   489,
2087 <     448,   254,  1101,  1102,   490,   151,  1340,   491,   618,   492,
2088 <     619,   152,   153,   493,   154,   155,   156,   157,   158,   766,
2089 <     494,   495,   496,   620,   497,   449,   498,   499,   503,   159,
2090 <     504,   517,   302,   518,   519,   520,   255,   521,   160,  1341,
2091 <     161,   162,   522,   163,   767,   621,   164,   165,   450,   523,
2092 <     166,   527,   528,   451,   529,  1342,   530,   531,   532,   533,
2093 <     535,   167,   439,   536,   537,   538,   559,   768,   303,   560,
2094 <     304,   305,   769,  1343,   561,  1344,  1345,   622,   563,   564,
2095 <     565,   566,   569,   168,   570,   169,    76,   571,   572,   170,
2096 <     573,   623,   575,   171,   172,   173,   174,   175,    77,   576,
2097 <     577,   176,   177,   578,   624,   579,   580,   643,   644,   647,
2098 <     178,   648,   649,   306,   654,   307,   308,   256,   650,    78,
2099 <      79,   656,   658,   659,   660,    80,   661,    81,   662,   663,
2100 <     664,   309,   665,  1260,  1261,   666,  1189,   667,   668,   770,
2101 <     669,   671,   179,  1346,   180,   581,   672,   452,   674,   675,
2102 <     181,   257,   676,   677,   679,   182,   453,   454,   680,   682,
2103 <     183,  1347,   681,  1262,   683,   684,   771,   582,   583,   685,
2104 <     686,  1348,     2,     3,   584,   310,   687,     4,   688,   691,
2105 <     625,  1263,    82,    83,   693,   772,   694,  1204,  1264,   695,
2106 <     455,    84,    85,   696,     5,   705,   701,   712,     6,   702,
2107 <     708,     7,   709,   311,   312,   710,   721,  1265,     8,   711,
2108 <     744,   745,    86,    87,   746,  1190,   747,   714,   715,   748,
2109 <     717,   718,   749,     9,   722,   723,   725,   726,   727,    88,
2110 <      89,   750,   728,   737,   729,  1266,    10,    11,   732,    12,
2111 <      90,   734,   751,  1267,   739,   759,    13,  1191,   456,    91,
2112 <     740,   741,   585,   586,   587,   773,   760,   588,   763,   761,
2113 <     764,   762,  1192,    14,   791,   589,  1205,   774,   792,   793,
2114 <     765,   785,   794,    15,   795,    16,   786,   787,   590,   591,
2115 <     788,   796,  1193,  1194,   798,   799,  1268,   800,  1195,  1196,
2116 <    1197,  1198,    17,   801,   802,   592,   593,   803,  1206,   804,
2117 <     805,  1199,   806,   807,   809,  1269,   808,   810,   811,    18,
2118 <     812,   885,   813,  1207,   815,   818,   819,   852,  1126,   823,
2119 <     824,  1160,   997,   594,   886,   825,   506,   889,   826,  1006,
2120 <     827,   890,  1171,  1208,  1209,   828,    92,    93,    94,  1210,
2121 <    1211,  1212,  1213,   829,    19,   830,  1172,   838,   839,   540,
2122 <    1309,   840,  1214,    20,    21,   999,   841,   842,    22,    23,
2123 <     925,   926,   927,   928,   929,   853,   930,   931,   843,   932,
2124 <     933,   934,   844,   845,   935,   846,   847,   848,   849,  1003,
2125 <     850,   851,   867,   887,   936,   937,   938,   854,   939,   940,
2126 <     941,   855,   856,   942,   857,   888,   943,   947,   948,   949,
2127 <     950,   951,   858,   952,   953,   859,   954,   955,   956,  1018,
2128 <     334,   957,   860,  1358,  1000,   861,   862,  1357,   863,   892,
2129 <     864,   958,   959,   960,   868,   961,   962,   963,   869,   870,
2130 <     964,   871,   872,   965,  1287,  1288,  1289,  1290,  1291,   873,
2131 <    1292,  1293,   875,  1294,  1295,  1296,   876,   877,  1297,   878,
2132 <     879,   880,   881,   882,   891,   893,   894,   895,  1298,  1299,
2133 <    1300,   896,  1301,  1302,  1303,   897,   898,  1304,   899,   900,
2134 <    1305,   901,   902,   903,   904,   905,   906,   907,   908,   909,
2135 <     910,   911,   912,   913,   914,   915,   916,   917,   918,   919,
2136 <    1002,   920,   921,   922,   923,   924,   946,   968,   969,   970,
2137 <     971,   972,   973,   974,   975,   976,   977,   978,   979,   980,
2138 <     981,   982,   983,   989,   990,   991,   992,   993,   994,  1005,
2139 <    1007,  1008,   995,   998,  1001,  1004,  1009,  1010,  1011,  1012,
2140 <    1013,  1014,  1015,  1016,  1017,  1021,  1022,  1023,  1053,  1024,
2141 <    1025,  1026,  1027,  1028,  1029,  1030,  1031,  1032,  1033,  1034,
2142 <    1035,  1036,  1037,  1038,  1039,  1040,  1041,  1042,  1054,  1055,
2143 <    1079,  1043,  1044,  1046,  1047,  1048,  1050,  1056,  1057,  1058,
2144 <    1059,  1060,  1061,  1062,  1063,  1064,  1065,  1066,  1067,  1068,
2145 <    1069,  1070,  1075,  1076,  1077,  1078,  1081,  1082,  1083,  1080,
2146 <    1085,  1084,  1091,  1092,  1094,  1095,  1096,  1097,  1098,  1099,
2147 <    1100,  1104,  1105,  1108,  1109,  1110,  1111,  1112,  1113,  1114,
2148 <    1115,  1116,  1117,  1118,  1121,  1122,  1123,  1124,  1125,  1140,
2149 <    1119,  1141,  1146,  1120,  1147,  1148,  1150,  1174,  1175,  1149,
2150 <    1154,  1155,  1156,  1177,  1157,  1178,  1158,  1179,  1159,  1163,
2151 <    1181,  1237,  1169,  1170,  1275,  1280,   501,  1176,  1182,  1180,
2152 <    1183,  1184,  1185,  1188,  1202,  1203,  1217,  1218,  1219,  1220,
2153 <    1221,  1222,  1223,  1224,  1225,  1356,  1052,   866,  1329,  1226,
2154 <    1227,  1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,
2155 <    1241,  1242,  1243,  1244,  1245,  1246,  1247,  1248,  1277,  1278,
2156 <    1279,   743,  1284,  1327,  1285,  1326,  1286,  1308,  1352,  1276,
2157 <     822,  1353,  1355,   790,   884,  1354,   817,  1328,   646,   366,
2158 <    1323,   432,  1252,   653,  1251,  1325,  1324,   354,     0,   731,
2159 <       0,     0,     0,     0,     0,     0,     0,     0,   525,     0,
2248 <       0,     0,     0,     0,     0,     0,   736,     0,     0,     0,
2249 <       0,     0,     0,   720
2035 >     717,   612,   613,   508,   716,   364,   529,   365,    49,   620,
2036 >     366,  1122,  1128,    50,    70,    54,   304,   121,    56,   393,
2037 >     403,    61,   584,    70,    62,   121,    65,   367,   530,  1054,
2038 >     243,  1056,    66,  1055,   236,  1057,   480,    69,   975,   976,
2039 >     977,   236,   118,    71,   548,   119,   368,   531,   509,   127,
2040 >     369,   532,    71,    72,  1157,   120,   128,   129,   481,   593,
2041 >     126,   499,    72,   549,   393,   499,   130,   510,  1015,   370,
2042 >     232,   371,   511,   233,   131,   584,   234,   482,   593,   235,
2043 >     132,   483,   304,   372,   133,   134,   122,   135,   394,    47,
2044 >      48,   243,   250,   136,   122,   671,   672,  1071,  1072,  1073,
2045 >    1074,  1075,   137,   138,   373,   533,  1274,   139,   251,   685,
2046 >     548,   302,   140,    73,   690,   305,   141,   142,  1015,   404,
2047 >     143,   585,    73,   144,   145,   701,   702,   244,   704,   549,
2048 >     534,   146,   512,   394,   374,   716,   714,   715,   147,   148,
2049 >     719,   149,   150,   151,   152,   153,   303,   550,  1094,   535,
2050 >    1095,   395,   405,   269,   465,   245,   154,   466,   594,   309,
2051 >     484,   708,   709,   375,   155,   156,   157,  1016,   158,   485,
2052 >     486,   159,   160,    79,   585,   161,   551,   594,  1123,  1129,
2053 >     310,   305,   270,   311,   862,   406,   162,   586,   244,   312,
2054 >     403,   467,   376,   500,   468,   315,   395,   500,  1158,    80,
2055 >      81,   316,  1159,   317,   487,    82,  1115,    83,  1117,   519,
2056 >    1116,   163,  1118,   550,   536,   164,   245,  1016,   271,   165,
2057 >     166,   167,   168,   169,   595,  1253,   501,   170,   171,  1254,
2058 >     501,   318,   537,  1017,   319,   469,   320,   172,   377,   335,
2059 >     586,   321,   551,   595,   754,   785,   657,   771,   587,    84,
2060 >      85,   322,   272,   470,   273,   274,    86,    87,    88,   336,
2061 >     337,   668,   488,   338,   313,   237,   401,   173,   174,   524,
2062 >     175,   527,   237,  -108,   323,   521,   176,   742,    89,    90,
2063 >    -108,   177,   252,  1017,   523,   777,   178,   502,   611,   404,
2064 >     463,   502,  1255,    91,    92,   275,  1256,   276,   277,   278,
2065 >     279,   587,   747,  1259,    93,   661,  1018,  1260,   465,  1171,
2066 >     324,   466,   852,    94,   280,   253,   813,   710,   711,   818,
2067 >     860,   861,   405,   601,   325,   339,   340,   341,   254,   326,
2068 >     342,   829,   830,   831,   832,   833,   795,   796,   343,   327,
2069 >     281,   255,   256,   257,   258,   467,  1096,   508,   468,  1261,
2070 >     344,   345,   282,  1262,  1263,   406,  1018,   566,  1264,  1097,
2071 >     252,   259,   799,   800,  1265,  1267,   346,   347,  1266,  1268,
2072 >     865,   866,  1277,  1279,   127,  1227,  1278,  1280,   328,   329,
2073 >     471,   128,   129,   330,  1281,   603,   283,   284,  1282,   469,
2074 >     331,   130,   509,   253,   582,   731,   348,   604,   332,   131,
2075 >    1283,    95,    96,    97,  1284,   132,   254,   470,   988,   133,
2076 >     134,   510,   135,   400,   333,   412,   511,   606,   136,   255,
2077 >     256,   257,   258,   269,   413,  1308,   414,   137,   138,  1309,
2078 >     415,   605,   139,  1119,  1120,  1121,   416,   140,  1293,   259,
2079 >     417,   141,   142,   418,   419,   143,   420,   421,   144,   145,
2080 >     422,   423,   270,  1228,   424,   425,   146,   480,   426,  1294,
2081 >     427,  1295,   428,   147,   148,   529,   149,   150,   151,   152,
2082 >     153,   429,   430,   364,   431,   365,   512,   432,   366,   481,
2083 >     641,   154,  1175,   433,  1229,   434,   435,   530,   271,   155,
2084 >     156,   157,   436,   158,  1230,   367,   159,   160,   482,   437,
2085 >     161,  1231,   483,  1296,   438,   439,   531,   441,  1176,   443,
2086 >     532,   162,   444,  1232,   368,  1233,  1234,   445,   369,   446,
2087 >     447,   448,   272,   564,   273,   274,   449,  1177,  1235,   450,
2088 >     451,   452,   453,  1178,   471,   454,   163,   370,  1236,   371,
2089 >     164,   455,   456,   457,   165,   166,   167,   168,   169,   458,
2090 >    1179,   372,   170,   171,   459,   460,   461,   462,   520,   525,
2091 >     526,   557,   172,   558,   533,   275,   559,   276,   277,   278,
2092 >     279,   560,   373,   561,   562,  1180,   563,   567,   568,  1297,
2093 >    1298,   484,  1181,   569,   280,   570,   571,   572,   573,   534,
2094 >     485,   486,   173,   174,   574,   175,  1182,   575,   576,   577,
2095 >     578,   176,   374,   607,   579,   580,   177,   581,   535,   600,
2096 >     281,   178,   608,    79,  1183,  1299,  1184,  1185,   609,   610,
2097 >     611,   614,   282,   615,   616,   487,   617,   618,   619,   621,
2098 >     622,   375,   626,  1241,   623,   624,   625,   627,   335,    80,
2099 >      81,   628,   629,   630,   631,    82,   632,    83,   633,   634,
2100 >     635,   636,   637,   638,   639,   640,   283,   284,   336,   337,
2101 >     376,   643,   338,   644,   663,   645,   664,   646,   647,  1186,
2102 >     649,   650,   651,   536,   915,   652,   653,   654,   655,  1187,
2103 >     656,   659,   660,   488,   665,   666,   673,   676,  1188,    84,
2104 >      85,   537,  1189,   670,  1190,   674,    86,    87,    88,   675,
2105 >     677,   678,   679,  1191,   680,   681,   377,     2,     3,   686,
2106 >     682,  1242,     4,  1192,  1275,   683,   684,   687,    89,    90,
2107 >     688,   689,   693,   691,   339,   340,   341,     5,   692,   342,
2108 >       6,     7,   694,    91,    92,   695,     8,   343,   696,   938,
2109 >     697,   698,  1243,   699,    93,   700,   703,   705,   706,   344,
2110 >     345,     9,  1244,    94,   716,    10,    11,   707,    12,  1245,
2111 >     712,   713,   718,   720,    13,   346,   347,   724,   726,   721,
2112 >     733,  1246,   722,  1247,  1248,   723,  1198,   756,    14,   727,
2113 >     729,   730,   734,   749,   759,   757,  1249,   735,    15,    16,
2114 >     737,   738,   739,   740,   741,   348,  1250,   916,   917,   918,
2115 >     919,   920,   744,   746,   921,   922,    17,   751,   923,   924,
2116 >     925,   760,   752,   926,   761,   927,   928,   929,   753,   930,
2117 >     931,   932,    18,   758,   933,   779,   763,   762,   780,   782,
2118 >     934,   781,   764,   766,   767,   783,   784,   787,   773,   786,
2119 >     788,    95,    96,    97,   768,   789,   770,   774,   775,   776,
2120 >     790,   791,   792,   793,   794,   803,   804,   805,    19,  1136,
2121 >     806,   807,   939,   940,   941,   942,   943,    20,    21,   944,
2122 >     945,    22,    23,   946,   947,   948,   808,   809,   949,   815,
2123 >     950,   951,   952,  1137,   953,   954,   955,   810,   820,   956,
2124 >     812,   816,  1138,   850,   851,   957,   853,   821,  1139,  1199,
2125 >    1200,  1201,  1202,  1203,   822,   854,  1204,  1205,   823,   824,
2126 >    1206,  1207,  1208,   825,  1140,  1209,   826,  1210,  1211,  1212,
2127 >     855,  1213,  1214,  1215,   827,    24,  1216,   828,   836,   837,
2128 >     838,   839,  1217,   840,   841,   842,   843,   844,   845,   856,
2129 >     846,  1141,   847,   848,   849,   857,   858,   859,   864,  1142,
2130 >     863,   867,   868,   870,   869,   871,   872,   873,   874,   875,
2131 >     998,   876,   877,   879,   880,   883,   884,   878,   881,   882,
2132 >     989,  1010,   991,   886,   887,   885,   888,   889,   890,   891,
2133 >     892,   893,   894,   895,   896,   897,   898,   899,   992,   900,
2134 >     901,   902,  1143,   903,   904,   905,   906,   907,   994,   908,
2135 >     909,   910,   911,   912,   913,   914,   937,   960,   961,   962,
2136 >    1144,   963,   964,   965,   966,   967,   968,   997,   969,   970,
2137 >     971,   972,   973,   974,   999,   995,   980,  1000,   981,   982,
2138 >     983,   984,   985,   986,  1001,  1003,  1005,   987,   993,  1008,
2139 >     990,  1002,   996,  1004,  1006,  1007,  1009,  1013,  1014,  1024,
2140 >    1025,  1026,  1027,  1029,  1030,  1028,  1031,  1032,  1033,  1034,
2141 >    1035,  1036,  1037,  1063,  1038,  1064,  1065,  1067,  1039,  1112,
2142 >    1153,  1269,  1272,   314,  1225,  1224,  1172,  1310,  1305,  1040,
2143 >    1041,  1304,  1291,  1042,  1043,  1044,  1045,  1046,  1047,   583,
2144 >     772,  1270,  1048,  1049,  1050,  1051,  1052,  1053,   743,  1058,
2145 >    1059,  1060,  1289,  1061,  1062,  1066,   522,  1069,   778,  1068,
2146 >    1070,  1076,  1077,  1078,  1079,  1080,  1081,  1306,  1082,  1083,
2147 >    1084,  1085,  1086,  1087,  1088,  1089,  1090,  1164,  1091,  1092,
2148 >    1093,  1100,  1101,  1102,   755,  1103,  1104,  1307,  1105,  1106,
2149 >    1107,  1108,  1109,  1110,  1285,   814,  1290,  1111,  1126,   819,
2150 >    1127,  1132,  1133,  1134,  1135,  1147,   402,  1148,  1149,  1150,
2151 >    1151,   642,  1152,  1286,   464,  1156,   748,  1162,  1258,  1163,
2152 >    1257,  1288,   732,  1287,   334,     0,     0,   669,     0,  1167,
2153 >     658,     0,  1165,  1168,  1170,  1173,  1174,  1273,  1195,  1196,
2154 >    1197,  1220,  1221,  1222,  1223,  1226,  1239,  1240,  1271,  1276,
2155 >    1292,  1302,     0,  1303,     0,     0,     0,     0,     0,   528,
2156 >       0,   662,     0,     0,     0,     0,     0,     0,     0,     0,
2157 >       0,     0,     0,     0,   565,     0,     0,     0,     0,     0,
2158 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2159 >       0,     0,     0,     0,     0,     0,     0,     0,   602
2160   };
2161  
2162 + #define yypact_value_is_default(yystate) \
2163 +  ((yystate) == (-733))
2164 +
2165 + #define yytable_value_is_error(yytable_value) \
2166 +  YYID (0)
2167 +
2168   static const yytype_int16 yycheck[] =
2169   {
2170 <     340,   341,   425,     1,     1,     1,   263,   347,     1,     1,
2171 <       1,     1,    11,   261,   263,     1,    11,   265,     4,   261,
2172 <       1,     1,     1,   265,    22,     1,     1,   263,    10,     1,
2173 <      12,     1,     1,     1,   261,     1,   261,   377,   265,   379,
2174 <     265,   984,   985,   986,    37,    27,    37,     1,   263,    31,
2175 <       1,   263,   392,   263,    47,   395,    47,     8,     9,    45,
2176 <     400,    12,    48,   831,   832,   833,   834,   835,    19,   261,
2177 <     263,   411,   412,   265,   414,    41,   261,    28,     1,   263,
2178 <     265,    32,    33,   423,   424,   154,   426,   261,    39,    55,
2179 <     154,   265,    43,    44,     1,    46,   261,   263,    90,    22,
2180 <     265,    52,    56,    57,    58,    59,    60,    61,    62,    63,
2181 <      90,    77,   263,    79,   261,    81,    82,   103,   265,    26,
2182 <      71,    72,    90,   119,   121,    76,     1,   125,   121,   263,
2183 <     121,   121,    83,    77,   100,   121,    87,    88,    89,   263,
2184 <     119,    92,    49,     1,    95,    96,   121,    54,     1,   121,
2185 <     104,   121,   121,   149,   105,    13,   261,   262,   156,   156,
2186 <     111,   112,   263,   114,   115,   116,   117,   118,   263,     1,
2187 <     149,     3,     1,     1,     6,   156,    34,    35,   129,    54,
2188 <     156,   154,    40,   523,    42,   139,   156,   138,   156,   140,
2189 <     141,   188,   143,    25,    26,   146,   147,    26,   188,   150,
2190 <       1,   200,   125,   263,   261,   200,     1,   188,   265,    84,
2191 <     161,   263,   188,   188,   121,    90,   188,    49,   188,   188,
2192 <      49,    53,    54,   261,   263,    54,    54,   265,    23,    24,
2193 <     170,   171,   183,   156,   185,    30,    37,    90,   189,    97,
2194 <      98,   148,   193,   194,   195,   196,   197,   261,   106,   107,
2195 <     201,   202,    84,   261,    86,   264,    84,   265,   264,   210,
2196 <     167,   243,    90,   249,   262,   262,   220,    99,   249,   127,
2197 <     128,   262,   262,   249,   249,   264,   262,   249,   153,   198,
2198 <     199,   262,   262,   262,    85,   263,   144,   145,   232,   121,
2199 <     262,   242,   236,   244,   262,   132,   262,   155,   261,   250,
2200 <     254,   132,   265,   156,   255,   264,   164,   264,   262,   260,
2201 <       1,   262,   261,   108,   109,   110,   265,   264,   113,   148,
2202 <     121,   153,   123,   124,   263,   153,   121,   264,   157,   158,
2203 <     237,    14,    15,    16,     1,   167,   264,     4,   264,   134,
2204 <     135,   261,   249,   174,   175,   176,   177,   178,   180,   264,
2205 <      41,   198,   199,   217,   218,   262,   151,   152,   264,   264,
2206 <     264,   264,   191,   264,    55,   166,   264,   168,   169,   264,
2207 <     264,   264,   264,   264,   714,   264,   264,   264,    45,   264,
2208 <     264,    48,   264,   184,   179,   264,    77,   262,    79,   263,
2209 <      81,    82,   264,   251,   252,   253,   221,   222,   223,   224,
2210 <     225,   226,   227,   264,   262,   264,   261,   264,   264,   100,
2211 <     264,   154,   264,   264,   264,   264,   264,   261,     1,   264,
2212 <     249,     1,   264,   264,   256,   264,   264,   228,     8,     9,
2213 <     262,   264,    12,   262,   264,   154,   103,   264,     5,    19,
2214 <     264,   864,   264,   264,   264,     1,   264,     3,    28,   132,
2215 <       6,   264,    32,    33,   121,   256,   257,   264,   264,    39,
2216 <     264,   262,   264,    43,    44,   264,    46,   262,     1,    25,
2217 <      26,    38,    52,    56,    57,    58,    59,    60,    61,    62,
2218 <      63,   264,    49,   264,   264,   264,   264,   264,   264,   264,
2219 <     264,    71,    72,    49,   264,   264,    76,    53,    54,    66,
2220 <     264,   264,   264,    83,    37,   264,    73,    87,    88,    89,
2221 <     264,    78,    92,    80,   854,    95,    96,   264,   264,   264,
2222 <       1,   104,   862,   863,   264,   105,    93,   264,    84,   264,
2223 <      86,   111,   112,   264,   114,   115,   116,   117,   118,     1,
2224 <     264,   264,   264,    99,   264,    26,   264,   264,   264,   129,
2225 <     264,   264,    85,   264,   264,   264,   139,   264,   138,   126,
2226 <     140,   141,   264,   143,    26,   121,   146,   147,    49,   264,
2227 <     150,   264,   264,    54,   264,   142,   264,   264,   264,   264,
2228 <     264,   161,   249,   264,   264,   264,   154,    49,   121,   261,
2229 <     123,   124,    54,   160,   198,   162,   163,   153,   132,   198,
2230 <     198,   132,   132,   183,   132,   185,     1,   198,   198,   189,
2231 <     132,   167,   198,   193,   194,   195,   196,   197,    13,   198,
2232 <     198,   201,   202,   198,   180,   198,   261,   264,   264,   154,
2233 <     210,   261,   264,   166,   198,   168,   169,   220,   264,    34,
2234 <      35,   198,   132,   154,   132,    40,   198,    42,   198,   132,
2235 <     154,   184,   198,    20,    21,   132,    93,   132,   132,   121,
2236 <     198,   198,   242,   230,   244,     1,   198,   148,   154,   198,
2237 <     250,   254,   132,   132,   132,   255,   157,   158,   132,   132,
2238 <     260,   248,   154,    50,   132,   198,   148,    23,    24,   198,
2239 <     264,   258,     0,     1,    30,   228,   198,     5,   264,   198,
2240 <     256,    68,    97,    98,   154,   167,   198,    93,    75,   198,
2241 <     191,   106,   107,   198,    22,   132,   198,   261,    26,   198,
2242 <     198,    29,   198,   256,   257,   198,   261,    94,    36,   198,
2243 <     154,   154,   127,   128,   154,   172,   154,   264,   264,   154,
2244 <     264,   264,   154,    51,   264,   264,   264,   264,   264,   144,
2245 <     145,   154,   264,   261,   264,   122,    64,    65,   264,    67,
2246 <     155,   264,   154,   130,   264,   154,    74,   204,   249,   164,
2247 <     264,   264,   108,   109,   110,   237,   154,   113,   154,   198,
2248 <     154,   261,   219,    91,   198,   121,   172,   249,   198,   198,
2249 <     261,   261,   154,   101,   198,   103,   264,   264,   134,   135,
2250 <     264,   198,   239,   240,   261,   154,   173,   198,   245,   246,
2251 <     247,   248,   120,   154,   154,   151,   152,   154,   204,   154,
2252 <     154,   258,   264,   154,   154,   192,   132,   154,   261,   137,
2253 <     261,   154,   264,   219,   264,   261,   264,   264,   159,   261,
2254 <     261,   159,   198,   179,   154,   261,   275,   154,   261,   132,
2255 <     261,   154,   203,   239,   240,   261,   251,   252,   253,   245,
2256 <     246,   247,   248,   261,   172,   261,   265,   261,   261,   313,
2257 <    1187,   261,   258,   181,   182,   154,   261,   261,   186,   187,
2258 <     205,   206,   207,   208,   209,   264,   211,   212,   261,   214,
2259 <     215,   216,   261,   261,   219,   261,   261,   261,   261,   198,
2260 <     261,   261,   261,   261,   229,   230,   231,   264,   233,   234,
2261 <     235,   264,   264,   238,   264,   261,   241,   205,   206,   207,
2262 <     208,   209,   264,   211,   212,   264,   214,   215,   216,   132,
2263 <      71,   219,   264,  1351,   154,   264,   264,  1332,   264,   261,
2264 <     264,   229,   230,   231,   264,   233,   234,   235,   264,   264,
2265 <     238,   264,   264,   241,   205,   206,   207,   208,   209,   264,
2266 <     211,   212,   264,   214,   215,   216,   264,   264,   219,   264,
2267 <     264,   264,   264,   264,   264,   261,   261,   261,   229,   230,
2268 <     231,   261,   233,   234,   235,   261,   261,   238,   261,   261,
2269 <     241,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2270 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2271 <     154,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2272 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2273 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   154,
2274 <     154,   154,   264,   264,   261,   264,   154,   261,   154,   264,
2275 <     154,   261,   264,   154,   154,   261,   261,   261,   154,   261,
2276 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2277 <     261,   261,   261,   261,   261,   261,   261,   261,   154,   154,
2278 <     154,   264,   264,   264,   264,   264,   264,   261,   261,   261,
2279 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2280 <     261,   261,   261,   261,   261,   261,   154,   261,   154,   264,
2281 <     261,   264,   132,   132,   132,   132,   132,   132,   154,   132,
2282 <     132,   261,   154,   154,   154,   198,   154,   264,   154,   154,
2283 <     154,   154,   132,   154,   261,   261,   261,   261,   261,   261,
2284 <     154,   261,   261,   154,   261,   261,   131,   154,   198,   261,
2285 <     261,   261,   261,   154,   261,   154,   261,   154,   261,   261,
2286 <     154,   131,   261,   261,   132,   131,   258,   264,   261,   264,
2287 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2288 <     261,   261,   261,   261,   261,  1330,   775,   595,  1274,   261,
2289 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2290 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2291 <     261,   482,   261,  1259,   261,  1257,   261,   261,  1311,  1172,
2292 <     553,  1313,  1316,   512,   626,  1314,   545,  1272,   360,   124,
2293 <    1250,   184,  1132,   372,  1130,  1256,  1254,    95,    -1,   457,
2294 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   291,    -1,
2379 <      -1,    -1,    -1,    -1,    -1,    -1,   472,    -1,    -1,    -1,
2380 <      -1,    -1,    -1,   440
2170 >     456,   319,   320,     1,   110,     1,     1,     3,   243,   327,
2171 >       6,    11,    11,   243,     1,   243,     1,     1,   243,     1,
2172 >       1,   243,     1,     1,   243,     1,   243,    23,    23,   241,
2173 >       1,   241,   243,   245,     1,   245,     1,   243,    13,    14,
2174 >      15,     1,   243,    30,     1,   243,    42,    42,    46,     1,
2175 >      46,    46,    30,    40,    60,   243,     8,     9,    23,     1,
2176 >     243,     1,    40,    20,     1,     1,    18,    65,     1,    65,
2177 >     243,    67,    70,   243,    26,     1,   243,    42,     1,   243,
2178 >      32,    46,     1,    79,    36,    37,    70,    39,    70,   241,
2179 >     242,     1,   243,    45,    70,   413,   414,   829,   830,   831,
2180 >     832,   833,    54,    55,   100,   100,   212,    59,   243,   427,
2181 >       1,   243,    64,   100,   432,   100,    68,    69,     1,   100,
2182 >      72,   100,   100,    75,    76,   443,   444,    98,   446,    20,
2183 >     125,    83,   130,    70,   130,   110,   454,   455,    90,    91,
2184 >     458,    93,    94,    95,    96,    97,   243,   104,    10,   144,
2185 >      12,   133,   133,     1,     1,   126,   108,     4,   100,   241,
2186 >     125,   176,   177,   159,   116,   117,   118,   100,   120,   134,
2187 >     135,   123,   124,     1,   100,   127,   133,   100,   178,   178,
2188 >     244,   100,    30,   244,   640,   166,   138,   166,    98,   244,
2189 >       1,    38,   188,   133,    41,   244,   133,   133,   204,    27,
2190 >      28,   244,   208,   244,   169,    33,   241,    35,   241,   241,
2191 >     245,   163,   245,   104,   209,   167,   126,   100,    66,   171,
2192 >     172,   173,   174,   175,   166,   241,   166,   179,   180,   245,
2193 >     166,   244,   227,   166,   244,    82,   244,   189,   234,     1,
2194 >     166,   244,   133,   166,   242,   563,   242,   242,   227,    77,
2195 >      78,   244,   100,   100,   102,   103,    84,    85,    86,    21,
2196 >      22,   242,   227,    25,   242,   232,   242,   219,   220,   241,
2197 >     222,   242,   232,   240,   244,   242,   228,   242,   106,   107,
2198 >     240,   233,     1,   166,   240,   242,   238,   227,   110,   100,
2199 >     242,   227,   241,   121,   122,   143,   245,   145,   146,   147,
2200 >     148,   227,   242,   241,   132,   242,   239,   245,     1,   242,
2201 >     244,     4,   630,   141,   162,    34,   242,   176,   177,   242,
2202 >     638,   639,   133,   242,   244,    87,    88,    89,    47,   244,
2203 >      92,   153,   154,   155,   156,   157,   149,   150,   100,   244,
2204 >     188,    60,    61,    62,    63,    38,   208,     1,    41,   241,
2205 >     112,   113,   200,   245,   241,   166,   239,   241,   245,   221,
2206 >       1,    80,   149,   150,   241,   241,   128,   129,   245,   245,
2207 >     197,   198,   241,   241,     1,    73,   245,   245,   244,   244,
2208 >     227,     8,     9,   244,   241,   131,   234,   235,   245,    82,
2209 >     244,    18,    46,    34,   242,   242,   158,   131,   244,    26,
2210 >     241,   229,   230,   231,   245,    32,    47,   100,   726,    36,
2211 >      37,    65,    39,   244,   242,   244,    70,   241,    45,    60,
2212 >      61,    62,    63,     1,   244,   241,   244,    54,    55,   245,
2213 >     244,   131,    59,   975,   976,   977,   244,    64,    50,    80,
2214 >     244,    68,    69,   244,   244,    72,   244,   244,    75,    76,
2215 >     244,   244,    30,   151,   244,   244,    83,     1,   244,    71,
2216 >     244,    73,   244,    90,    91,     1,    93,    94,    95,    96,
2217 >      97,   244,   244,     1,   244,     3,   130,   244,     6,    23,
2218 >     242,   108,     5,   244,   182,   244,   244,    23,    66,   116,
2219 >     117,   118,   244,   120,   192,    23,   123,   124,    42,   244,
2220 >     127,   199,    46,   115,   244,   244,    42,   244,    31,   244,
2221 >      46,   138,   244,   211,    42,   213,   214,   244,    46,   244,
2222 >     244,   244,   100,   242,   102,   103,   244,    50,   226,   244,
2223 >     244,   244,   244,    56,   227,   244,   163,    65,   236,    67,
2224 >     167,   244,   244,   244,   171,   172,   173,   174,   175,   244,
2225 >      73,    79,   179,   180,   244,   244,   244,   244,   244,   244,
2226 >     244,   244,   189,   244,   100,   143,   244,   145,   146,   147,
2227 >     148,   244,   100,   244,   244,    98,   244,   244,   244,   191,
2228 >     192,   125,   105,   244,   162,   244,   244,   244,   244,   125,
2229 >     134,   135,   219,   220,   244,   222,   119,   244,   244,   244,
2230 >     244,   228,   130,   110,   244,   244,   233,   244,   144,   244,
2231 >     188,   238,   110,     1,   137,   227,   139,   140,   176,   176,
2232 >     110,   110,   200,   110,   110,   169,   176,   176,   110,   176,
2233 >     176,   159,   241,    73,   176,   176,   176,   241,     1,    27,
2234 >      28,   244,   244,   244,   244,    33,   244,    35,   244,   244,
2235 >     244,   244,   244,   244,   244,   244,   234,   235,    21,    22,
2236 >     188,   241,    25,   244,   131,   244,   241,   244,   244,   192,
2237 >     244,   244,   244,   209,    60,   244,   244,   244,   244,   202,
2238 >     244,   244,   244,   227,   244,   244,   110,   110,   211,    77,
2239 >      78,   227,   215,   176,   217,   176,    84,    85,    86,   176,
2240 >     131,   176,   110,   226,   110,   110,   234,     0,     1,   131,
2241 >     176,   151,     5,   236,  1170,   176,   176,   176,   106,   107,
2242 >     110,   110,   131,   110,    87,    88,    89,    20,   110,    92,
2243 >      23,    24,   110,   121,   122,   110,    29,   100,   176,    60,
2244 >     176,   244,   182,   176,   132,   244,   176,   176,   176,   112,
2245 >     113,    44,   192,   141,   110,    48,    49,   176,    51,   199,
2246 >     176,   176,   131,   176,    57,   128,   129,   241,   244,   176,
2247 >     241,   211,   176,   213,   214,   176,    60,   176,    71,   244,
2248 >     244,   244,   244,   241,   131,   241,   226,   244,    81,    82,
2249 >     244,   244,   244,   244,   244,   158,   236,   183,   184,   185,
2250 >     186,   187,   244,   244,   190,   191,    99,   244,   194,   195,
2251 >     196,   131,   244,   199,   241,   201,   202,   203,   244,   205,
2252 >     206,   207,   115,   243,   210,   176,   244,   241,   176,   131,
2253 >     216,   176,   244,   244,   244,   176,   176,   131,   241,   241,
2254 >     176,   229,   230,   231,   244,   131,   244,   244,   244,   244,
2255 >     131,   131,   131,   131,   131,   131,   131,   110,   151,    19,
2256 >     131,   131,   183,   184,   185,   186,   187,   160,   161,   190,
2257 >     191,   164,   165,   194,   195,   196,   241,   241,   199,   241,
2258 >     201,   202,   203,    43,   205,   206,   207,   244,   131,   210,
2259 >     244,   244,    52,   110,   110,   216,   110,   241,    58,   183,
2260 >     184,   185,   186,   187,   241,   110,   190,   191,   241,   241,
2261 >     194,   195,   196,   241,    74,   199,   241,   201,   202,   203,
2262 >     110,   205,   206,   207,   241,   218,   210,   241,   241,   241,
2263 >     241,   241,   216,   241,   241,   241,   241,   241,   241,   110,
2264 >     241,   101,   241,   241,   241,   131,   110,   110,   131,   109,
2265 >     241,   131,   176,   131,   244,   131,   131,   131,   110,   131,
2266 >     110,   131,   131,   131,   131,   131,   131,   241,   241,   241,
2267 >     176,   110,   131,   241,   241,   244,   241,   241,   241,   241,
2268 >     241,   241,   241,   241,   241,   241,   241,   241,   131,   241,
2269 >     241,   241,   152,   241,   241,   241,   241,   241,   131,   241,
2270 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2271 >     170,   241,   241,   241,   241,   241,   241,   131,   241,   241,
2272 >     241,   241,   241,   241,   131,   176,   241,   131,   241,   241,
2273 >     241,   241,   241,   241,   131,   131,   131,   244,   241,   131,
2274 >     244,   241,   244,   244,   241,   244,   131,   241,   241,   241,
2275 >     241,   131,   176,   131,   131,   244,   131,   244,   131,   241,
2276 >     131,   131,   131,   131,   241,   244,   131,   131,   241,   136,
2277 >     136,   110,   131,    74,  1057,  1055,  1019,  1309,  1280,   241,
2278 >     241,  1278,  1268,   241,   241,   241,   241,   241,   241,   285,
2279 >     538,  1165,   241,   241,   241,   241,   241,   241,   489,   241,
2280 >     241,   241,  1264,   241,   241,   241,   238,   241,   552,   244,
2281 >     241,   241,   241,   241,   241,   241,   241,  1282,   241,   241,
2282 >     241,   241,   241,   241,   241,   241,   241,   181,   241,   241,
2283 >     241,   241,   241,   241,   514,   241,   241,  1284,   241,   241,
2284 >     241,   241,   241,   241,  1254,   588,  1266,   241,   241,   596,
2285 >     241,   241,   241,   241,   241,   241,   123,   241,   241,   241,
2286 >     241,   349,   241,  1256,   179,   241,   504,   241,  1118,   241,
2287 >    1116,  1262,   472,  1260,    98,    -1,    -1,   408,    -1,   241,
2288 >     378,    -1,   245,   244,   244,   241,   241,   244,   241,   241,
2289 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2290 >     241,   241,    -1,   241,    -1,    -1,    -1,    -1,    -1,   246,
2291 >      -1,   396,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2292 >      -1,    -1,    -1,    -1,   260,    -1,    -1,    -1,    -1,    -1,
2293 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2294 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   306
2295   };
2296  
2297   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2298     symbol of state STATE-NUM.  */
2299   static const yytype_uint16 yystos[] =
2300   {
2301 <       0,   267,     0,     1,     5,    22,    26,    29,    36,    51,
2302 <      64,    65,    67,    74,    91,   101,   103,   120,   137,   172,
2303 <     181,   182,   186,   187,   268,   273,   278,   296,   302,   317,
2304 <     340,   359,   373,   391,   398,   408,   417,   444,   454,   460,
2305 <     464,   474,   538,   554,   575,   261,   262,   263,   263,   341,
2306 <     418,   455,   263,   465,   263,   539,   374,   445,   360,   263,
2307 <     263,   318,   392,   263,   263,   399,   409,     1,    37,    47,
2308 <     121,   297,   298,   299,   300,   301,     1,    13,    34,    35,
2309 <      40,    42,    97,    98,   106,   107,   127,   128,   144,   145,
2310 <     155,   164,   251,   252,   253,   555,   556,   557,   558,   559,
2311 <     560,   561,   562,   563,   564,   565,   566,   567,   568,   569,
2312 <     570,   571,   572,   573,   574,   154,   342,   346,   154,   419,
2313 <     423,   263,     1,    90,   461,   462,   463,   263,     1,     8,
2314 <       9,    12,    19,    28,    32,    33,    39,    43,    44,    46,
2315 <      52,    71,    72,    76,    83,    87,    88,    89,    92,    95,
2316 <      96,   105,   111,   112,   114,   115,   116,   117,   118,   129,
2317 <     138,   140,   141,   143,   146,   147,   150,   161,   183,   185,
2318 <     189,   193,   194,   195,   196,   197,   201,   202,   210,   242,
2319 <     244,   250,   255,   260,   475,   476,   477,   478,   479,   480,
2320 <     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
2321 <     491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
2322 <     501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
2323 <     511,   512,   513,   514,   515,   516,   517,   518,   519,   520,
2324 <     521,   522,   523,   524,   525,   526,   530,   534,   535,   536,
2325 <     537,   263,   263,   263,   263,     1,    56,    57,    58,    59,
2326 <      60,    61,    62,    63,   104,   139,   220,   254,   303,   304,
2327 <     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
2328 <     315,   316,     1,   119,   149,   274,   275,   276,   277,   154,
2329 <     319,   323,   263,     1,    41,    55,    77,    79,    81,    82,
2330 <     100,   576,   577,   578,   579,   580,   581,   582,   583,   584,
2331 <       1,    37,    85,   121,   123,   124,   166,   168,   169,   184,
2332 <     228,   256,   257,   279,   280,   281,   285,   286,   287,   288,
2333 <     289,   290,   291,   292,   293,   294,   295,   263,   263,   261,
2334 <     264,   264,   264,   262,   298,   264,   264,   264,   264,   264,
2335 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2336 <     264,   264,   264,   262,   556,   263,   263,     1,    90,   156,
2337 <     456,   457,   458,   459,   264,   262,   462,     1,   121,   156,
2338 <     188,   466,   470,   471,   472,   473,   264,   264,   264,   264,
2339 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2340 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2341 <     264,   264,   264,   264,   264,   264,   264,   264,   531,   264,
2342 <     527,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2343 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2344 <     264,   262,   476,     1,     4,    45,    48,   103,   121,   249,
2345 <     540,   541,   542,   543,   544,   548,   549,   550,     1,    26,
2346 <      49,    54,   148,   157,   158,   191,   249,   375,   376,   377,
2347 <     378,   379,   380,   381,   388,   389,   390,     1,   156,   188,
2348 <     249,   446,   450,   451,   452,   453,     1,    54,    84,    90,
2349 <     153,   361,   365,   366,   367,   371,   372,   261,   264,   264,
2350 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2351 <     262,   304,   261,   264,   264,   262,   275,   263,     1,    22,
2352 <     125,   156,   393,   394,   395,   396,   397,   264,   264,   264,
2353 <     264,   264,   264,   264,   262,   577,   261,   264,   264,   264,
2354 <     264,   264,   264,   264,   282,   264,   264,   264,   264,   262,
2355 <     280,     1,   121,   188,   249,   400,   401,   402,   403,   404,
2356 <       1,   121,   188,   410,   411,   412,   413,   154,   154,   154,
2357 <     261,   198,   132,   132,   198,   198,   132,   270,   270,   132,
2358 <     132,   198,   198,   132,   270,   198,   198,   198,   198,   198,
2359 <     261,     1,    23,    24,    30,   108,   109,   110,   113,   121,
2360 <     134,   135,   151,   152,   179,   343,   344,   345,   347,   348,
2361 <     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
2362 <       1,     3,     6,    25,    26,    49,    53,    54,    84,    86,
2363 <      99,   121,   153,   167,   180,   256,   420,   421,   422,   424,
2364 <     425,   426,   427,   428,   429,   430,   431,   438,   439,   440,
2365 <     441,   442,   443,   264,   264,   262,   457,   154,   261,   264,
2366 <     264,   467,   262,   471,   198,   270,   198,   270,   132,   154,
2367 <     132,   198,   198,   132,   154,   198,   132,   132,   132,   198,
2368 <     270,   198,   198,   270,   154,   198,   132,   132,   270,   132,
2369 <     132,   154,   132,   132,   198,   198,   264,   198,   264,   270,
2370 <     270,   198,   270,   154,   198,   198,   198,   198,   199,   198,
2371 <     199,   198,   198,   270,   270,   132,   272,   270,   198,   198,
2372 <     198,   198,   261,   551,   264,   264,   545,   264,   264,   262,
2373 <     541,   261,   264,   264,   382,   264,   264,   264,   264,   264,
2374 <     262,   376,   264,   447,   264,   262,   451,   261,   362,   264,
2375 <     264,   264,   262,   366,   154,   154,   154,   154,   154,   154,
2376 <     154,   154,   221,   222,   223,   224,   225,   226,   227,   154,
2377 <     154,   198,   261,   154,   154,   261,     1,    26,    49,    54,
2378 <     121,   148,   167,   237,   249,   320,   321,   322,   324,   325,
2379 <     326,   327,   328,   329,   333,   261,   264,   264,   264,   262,
2380 <     394,   198,   198,   198,   154,   198,   198,   270,   261,   154,
2381 <     198,   154,   154,   154,   154,   154,   264,   154,   132,   154,
2382 <     154,   261,   261,   264,   405,   264,   262,   401,   261,   264,
2383 <     414,   262,   411,   261,   261,   261,   261,   261,   261,   261,
2384 <     261,   174,   175,   176,   177,   178,   269,   270,   261,   261,
2385 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2386 <     261,   261,   264,   264,   264,   264,   264,   264,   264,   264,
2387 <     264,   264,   264,   264,   264,   262,   344,   261,   264,   264,
2388 <     264,   264,   264,   264,   432,   264,   264,   264,   264,   264,
2389 <     264,   264,   264,   262,   421,   154,   154,   261,   261,   154,
2390 <     154,   264,   261,   261,   261,   261,   261,   261,   261,   261,
2391 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2392 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2393 <     261,   261,   261,   261,   261,   205,   206,   207,   208,   209,
2394 <     211,   212,   214,   215,   216,   219,   229,   230,   231,   233,
2395 <     234,   235,   238,   241,   532,   533,   261,   205,   206,   207,
2396 <     208,   209,   211,   212,   214,   215,   216,   219,   229,   230,
2397 <     231,   233,   234,   235,   238,   241,   528,   529,   261,   261,
2398 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2399 <     261,   261,   261,   261,    14,    15,    16,   271,   272,   261,
2400 <     261,   261,   261,   261,   261,   264,   270,   198,   264,   154,
2401 <     154,   261,   154,   198,   264,   154,   132,   154,   154,   154,
2402 <     261,   154,   264,   154,   261,   264,   154,   154,   132,   369,
2403 <     370,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2404 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2405 <     261,   261,   261,   264,   264,   334,   264,   264,   264,   330,
2406 <     264,   262,   321,   154,   154,   154,   261,   261,   261,   261,
2407 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2408 <     261,   170,   171,   283,   284,   261,   261,   261,   261,   154,
2409 <     264,   154,   261,   154,   264,   261,   269,   269,   269,   269,
2410 <     269,   132,   132,   270,   132,   132,   132,   132,   154,   132,
2411 <     132,   270,   270,   272,   261,   154,   217,   218,   154,   154,
2412 <     198,   154,   264,   154,   154,   154,   154,   132,   154,   154,
2413 <     154,   261,   261,   261,   261,   261,   159,   468,   469,   261,
2414 <     265,   261,   265,   271,   271,   271,    11,   200,   552,   553,
2415 <     261,   261,    11,   200,   546,   547,   261,   261,   261,   261,
2416 <     131,   383,   384,   386,   261,   261,   261,   261,   261,   261,
2417 <     159,   448,   449,   261,    77,   232,   236,   363,   364,   261,
2418 <     261,   203,   265,   368,   154,   198,   264,   154,   154,   154,
2419 <     264,   154,   261,   261,   261,   261,   261,   265,   261,    93,
2420 <     172,   204,   219,   239,   240,   245,   246,   247,   248,   258,
2421 <     406,   407,   261,   261,    93,   172,   204,   219,   239,   240,
2422 <     245,   246,   247,   248,   258,   415,   416,   261,   261,   261,
2423 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2424 <     261,   261,   261,   261,   261,   261,   261,   131,   433,   434,
2425 <     436,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2426 <     265,   533,   529,   261,   265,   261,   265,   385,   261,   265,
2427 <      20,    21,    50,    68,    75,    94,   122,   130,   173,   192,
2428 <     387,   261,   265,   261,   265,   132,   370,   261,   261,   261,
2429 <     131,   335,   336,   338,   261,   261,   261,   205,   206,   207,
2430 <     208,   209,   211,   212,   214,   215,   216,   219,   229,   230,
2431 <     231,   233,   234,   235,   238,   241,   331,   332,   261,   284,
2432 <     261,   265,   261,   265,   435,   261,   265,    10,    12,    27,
2519 <      31,   243,   437,   469,   553,   547,   387,   384,   449,   364,
2520 <     337,   261,   265,     5,    38,    49,    66,    73,    78,    80,
2521 <      93,   126,   142,   160,   162,   163,   230,   248,   258,   339,
2522 <     261,   265,   407,   416,   437,   434,   339,   336,   332
2301 >       0,   247,     0,     1,     5,    20,    23,    24,    29,    44,
2302 >      48,    49,    51,    57,    71,    81,    82,    99,   115,   151,
2303 >     160,   161,   164,   165,   218,   248,   253,   258,   280,   286,
2304 >     300,   318,   335,   349,   364,   371,   375,   385,   394,   414,
2305 >     424,   430,   434,   444,   504,   520,   541,   241,   242,   243,
2306 >     243,   319,   395,   425,   243,   435,   243,   505,   350,   415,
2307 >     336,   243,   243,   301,   365,   243,   243,   376,   386,   243,
2308 >       1,    30,    40,   100,   281,   282,   283,   284,   285,     1,
2309 >      27,    28,    33,    35,    77,    78,    84,    85,    86,   106,
2310 >     107,   121,   122,   132,   141,   229,   230,   231,   521,   522,
2311 >     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
2312 >     533,   534,   535,   536,   537,   538,   539,   540,   243,   243,
2313 >     243,     1,    70,   431,   432,   433,   243,     1,     8,     9,
2314 >      18,    26,    32,    36,    37,    39,    45,    54,    55,    59,
2315 >      64,    68,    69,    72,    75,    76,    83,    90,    91,    93,
2316 >      94,    95,    96,    97,   108,   116,   117,   118,   120,   123,
2317 >     124,   127,   138,   163,   167,   171,   172,   173,   174,   175,
2318 >     179,   180,   189,   219,   220,   222,   228,   233,   238,   445,
2319 >     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
2320 >     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
2321 >     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
2322 >     476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
2323 >     486,   487,   488,   489,   490,   491,   492,   496,   500,   501,
2324 >     502,   503,   243,   243,   243,   243,     1,   232,   287,   288,
2325 >     289,   290,   291,     1,    98,   126,   254,   255,   256,   257,
2326 >     243,   243,     1,    34,    47,    60,    61,    62,    63,    80,
2327 >     542,   543,   544,   545,   546,   547,   548,   549,   550,     1,
2328 >      30,    66,   100,   102,   103,   143,   145,   146,   147,   148,
2329 >     162,   188,   200,   234,   235,   259,   260,   261,   262,   267,
2330 >     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
2331 >     278,   279,   243,   243,     1,   100,   372,   373,   374,   241,
2332 >     244,   244,   244,   242,   282,   244,   244,   244,   244,   244,
2333 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2334 >     244,   244,   244,   242,   522,     1,    21,    22,    25,    87,
2335 >      88,    89,    92,   100,   112,   113,   128,   129,   158,   320,
2336 >     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
2337 >     331,   332,   333,   334,     1,     3,     6,    23,    42,    46,
2338 >      65,    67,    79,   100,   130,   159,   188,   234,   396,   397,
2339 >     398,   399,   400,   401,   402,   403,   404,   405,   409,   410,
2340 >     411,   412,   413,     1,    70,   133,   426,   427,   428,   429,
2341 >     244,   242,   432,     1,   100,   133,   166,   436,   440,   441,
2342 >     442,   443,   244,   244,   244,   244,   244,   244,   244,   244,
2343 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2344 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2345 >     497,   244,   493,   244,   244,   244,   244,   244,   244,   244,
2346 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2347 >     244,   244,   244,   242,   446,     1,     4,    38,    41,    82,
2348 >     100,   227,   506,   507,   508,   509,   510,   514,   515,   516,
2349 >       1,    23,    42,    46,   125,   134,   135,   169,   227,   351,
2350 >     352,   353,   354,   355,   356,   357,   361,   362,   363,     1,
2351 >     133,   166,   227,   416,   420,   421,   422,   423,     1,    46,
2352 >      65,    70,   130,   337,   341,   342,   343,   347,   348,   241,
2353 >     244,   242,   288,   240,   241,   244,   244,   242,   255,     1,
2354 >      23,    42,    46,   100,   125,   144,   209,   227,   302,   303,
2355 >     304,   305,   306,   307,   308,   309,   310,   314,     1,    20,
2356 >     104,   133,   366,   367,   368,   369,   370,   244,   244,   244,
2357 >     244,   244,   244,   244,   242,   543,   241,   244,   244,   244,
2358 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2359 >     244,   244,   242,   260,     1,   100,   166,   227,   377,   378,
2360 >     379,   380,   381,     1,   100,   166,   387,   388,   389,   390,
2361 >     244,   242,   373,   131,   131,   131,   241,   110,   110,   176,
2362 >     176,   110,   250,   250,   110,   110,   110,   176,   176,   110,
2363 >     250,   176,   176,   176,   176,   176,   241,   241,   244,   244,
2364 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2365 >     244,   242,   321,   241,   244,   244,   244,   244,   406,   244,
2366 >     244,   244,   244,   244,   244,   244,   244,   242,   397,   244,
2367 >     244,   242,   427,   131,   241,   244,   244,   437,   242,   441,
2368 >     176,   250,   250,   110,   176,   176,   110,   131,   176,   110,
2369 >     110,   110,   176,   176,   176,   250,   131,   176,   110,   110,
2370 >     250,   110,   110,   131,   110,   110,   176,   176,   244,   176,
2371 >     244,   250,   250,   176,   250,   176,   176,   176,   176,   177,
2372 >     176,   177,   176,   176,   250,   250,   110,   252,   131,   250,
2373 >     176,   176,   176,   176,   241,   517,   244,   244,   511,   244,
2374 >     244,   242,   507,   241,   244,   244,   358,   244,   244,   244,
2375 >     244,   244,   242,   352,   244,   417,   244,   242,   421,   241,
2376 >     338,   244,   244,   244,   242,   342,   176,   241,   243,   131,
2377 >     131,   241,   241,   244,   244,   315,   244,   244,   244,   311,
2378 >     244,   242,   303,   241,   244,   244,   244,   242,   367,   176,
2379 >     176,   176,   131,   176,   176,   250,   241,   131,   176,   131,
2380 >     131,   131,   131,   131,   131,   149,   150,   263,   264,   149,
2381 >     150,   265,   266,   131,   131,   110,   131,   131,   241,   241,
2382 >     244,   382,   244,   242,   378,   241,   244,   391,   242,   388,
2383 >     131,   241,   241,   241,   241,   241,   241,   241,   241,   153,
2384 >     154,   155,   156,   157,   249,   250,   241,   241,   241,   241,
2385 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2386 >     110,   110,   250,   110,   110,   110,   110,   131,   110,   110,
2387 >     250,   250,   252,   241,   131,   197,   198,   131,   176,   244,
2388 >     131,   131,   131,   131,   110,   131,   131,   131,   241,   131,
2389 >     131,   241,   241,   131,   131,   244,   241,   241,   241,   241,
2390 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2391 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2392 >     241,   241,   241,   241,   241,    60,   183,   184,   185,   186,
2393 >     187,   190,   191,   194,   195,   196,   199,   201,   202,   203,
2394 >     205,   206,   207,   210,   216,   498,   499,   241,    60,   183,
2395 >     184,   185,   186,   187,   190,   191,   194,   195,   196,   199,
2396 >     201,   202,   203,   205,   206,   207,   210,   216,   494,   495,
2397 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2398 >     241,   241,   241,   241,   241,    13,    14,    15,   251,   252,
2399 >     241,   241,   241,   241,   241,   241,   241,   244,   250,   176,
2400 >     244,   131,   131,   241,   131,   176,   244,   131,   110,   131,
2401 >     131,   131,   241,   131,   244,   131,   241,   244,   131,   131,
2402 >     110,   345,   346,   241,   241,     1,   100,   166,   239,   292,
2403 >     293,   294,   295,   296,   241,   241,   131,   176,   244,   131,
2404 >     131,   131,   244,   131,   241,   131,   131,   131,   241,   241,
2405 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2406 >     241,   241,   241,   241,   241,   245,   241,   245,   241,   241,
2407 >     241,   241,   241,   131,   244,   131,   241,   131,   244,   241,
2408 >     241,   249,   249,   249,   249,   249,   241,   241,   241,   241,
2409 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2410 >     241,   241,   241,   241,    10,    12,   208,   221,   407,   408,
2411 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2412 >     241,   241,   136,   438,   439,   241,   245,   241,   245,   251,
2413 >     251,   251,    11,   178,   518,   519,   241,   241,    11,   178,
2414 >     512,   513,   241,   241,   241,   241,    19,    43,    52,    58,
2415 >      74,   101,   109,   152,   170,   359,   360,   241,   241,   241,
2416 >     241,   241,   241,   136,   418,   419,   241,    60,   204,   208,
2417 >     339,   340,   241,   241,   181,   245,   344,   241,   244,   297,
2418 >     244,   242,   293,   241,   241,     5,    31,    50,    56,    73,
2419 >      98,   105,   119,   137,   139,   140,   192,   202,   211,   215,
2420 >     217,   226,   236,   316,   317,   241,   241,   241,    60,   183,
2421 >     184,   185,   186,   187,   190,   191,   194,   195,   196,   199,
2422 >     201,   202,   203,   205,   206,   207,   210,   216,   312,   313,
2423 >     241,   241,   241,   241,   264,   266,   241,    73,   151,   182,
2424 >     192,   199,   211,   213,   214,   226,   236,   383,   384,   241,
2425 >     241,    73,   151,   182,   192,   199,   211,   213,   214,   226,
2426 >     236,   392,   393,   241,   245,   241,   245,   499,   495,   241,
2427 >     245,   241,   245,   241,   245,   241,   245,   241,   245,   110,
2428 >     346,   241,   131,   244,   212,   252,   241,   241,   245,   241,
2429 >     245,   241,   245,   241,   245,   408,   439,   519,   513,   360,
2430 >     419,   340,   241,    50,    71,    73,   115,   191,   192,   227,
2431 >     298,   299,   241,   241,   317,   313,   384,   393,   241,   245,
2432 >     299
2433   };
2434  
2435   #define yyerrok         (yyerrstatus = 0)
# Line 2549 | Line 2459 | static const yytype_uint16 yystos[] =
2459  
2460   #define YYRECOVERING()  (!!yyerrstatus)
2461  
2462 < #define YYBACKUP(Token, Value)                                  \
2463 < do                                                              \
2464 <  if (yychar == YYEMPTY && yylen == 1)                          \
2465 <    {                                                           \
2466 <      yychar = (Token);                                         \
2467 <      yylval = (Value);                                         \
2468 <      yytoken = YYTRANSLATE (yychar);                           \
2469 <      YYPOPSTACK (1);                                           \
2470 <      goto yybackup;                                            \
2471 <    }                                                           \
2472 <  else                                                          \
2473 <    {                                                           \
2462 > #define YYBACKUP(Token, Value)                                  \
2463 > do                                                              \
2464 >  if (yychar == YYEMPTY)                                        \
2465 >    {                                                           \
2466 >      yychar = (Token);                                         \
2467 >      yylval = (Value);                                         \
2468 >      YYPOPSTACK (yylen);                                       \
2469 >      yystate = *yyssp;                                         \
2470 >      goto yybackup;                                            \
2471 >    }                                                           \
2472 >  else                                                          \
2473 >    {                                                           \
2474        yyerror (YY_("syntax error: cannot back up")); \
2475        YYERROR;                                                  \
2476      }                                                           \
# Line 2597 | Line 2507 | while (YYID (0))
2507   #endif
2508  
2509  
2510 < /* YY_LOCATION_PRINT -- Print the location on the stream.
2601 <   This macro was not mandated originally: define only if we know
2602 <   we won't break user code: when these are the locations we know.  */
2510 > /* This macro is provided for backward compatibility. */
2511  
2512   #ifndef YY_LOCATION_PRINT
2513 < # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2606 < #  define YY_LOCATION_PRINT(File, Loc)                  \
2607 <     fprintf (File, "%d.%d-%d.%d",                      \
2608 <              (Loc).first_line, (Loc).first_column,     \
2609 <              (Loc).last_line,  (Loc).last_column)
2610 < # else
2611 < #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2612 < # endif
2513 > # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2514   #endif
2515  
2516  
# Line 2664 | Line 2565 | yy_symbol_value_print (yyoutput, yytype,
2565      YYSTYPE const * const yyvaluep;
2566   #endif
2567   {
2568 +  FILE *yyo = yyoutput;
2569 +  YYUSE (yyo);
2570    if (!yyvaluep)
2571      return;
2572   # ifdef YYPRINT
# Line 2801 | Line 2704 | int yydebug;
2704   # define YYMAXDEPTH 10000
2705   #endif
2706  
2804
2707  
2708   #if YYERROR_VERBOSE
2709  
# Line 2904 | Line 2806 | yytnamerr (char *yyres, const char *yyst
2806   }
2807   # endif
2808  
2809 < /* Copy into YYRESULT an error message about the unexpected token
2810 <   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2811 <   including the terminating null byte.  If YYRESULT is null, do not
2812 <   copy anything; just return the number of bytes that would be
2813 <   copied.  As a special case, return 0 if an ordinary "syntax error"
2814 <   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2815 <   size calculation.  */
2816 < static YYSIZE_T
2817 < yysyntax_error (char *yyresult, int yystate, int yychar)
2809 > /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
2810 >   about the unexpected token YYTOKEN for the state stack whose top is
2811 >   YYSSP.
2812 >
2813 >   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
2814 >   not large enough to hold the message.  In that case, also set
2815 >   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
2816 >   required number of bytes is too large to store.  */
2817 > static int
2818 > yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2819 >                yytype_int16 *yyssp, int yytoken)
2820   {
2821 <  int yyn = yypact[yystate];
2821 >  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2822 >  YYSIZE_T yysize = yysize0;
2823 >  YYSIZE_T yysize1;
2824 >  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2825 >  /* Internationalized format string. */
2826 >  const char *yyformat = YY_NULL;
2827 >  /* Arguments of yyformat. */
2828 >  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2829 >  /* Number of reported tokens (one for the "unexpected", one per
2830 >     "expected"). */
2831 >  int yycount = 0;
2832 >
2833 >  /* There are many possibilities here to consider:
2834 >     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2835 >       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2836 >       for details.  YYERROR is fine as it does not invoke this
2837 >       function.
2838 >     - If this state is a consistent state with a default action, then
2839 >       the only way this function was invoked is if the default action
2840 >       is an error action.  In that case, don't check for expected
2841 >       tokens because there are none.
2842 >     - The only way there can be no lookahead present (in yychar) is if
2843 >       this state is a consistent state with a default action.  Thus,
2844 >       detecting the absence of a lookahead is sufficient to determine
2845 >       that there is no unexpected or expected token to report.  In that
2846 >       case, just report a simple "syntax error".
2847 >     - Don't assume there isn't a lookahead just because this state is a
2848 >       consistent state with a default action.  There might have been a
2849 >       previous inconsistent state, consistent state with a non-default
2850 >       action, or user semantic action that manipulated yychar.
2851 >     - Of course, the expected token list depends on states to have
2852 >       correct lookahead information, and it depends on the parser not
2853 >       to perform extra reductions after fetching a lookahead from the
2854 >       scanner and before detecting a syntax error.  Thus, state merging
2855 >       (from LALR or IELR) and default reductions corrupt the expected
2856 >       token list.  However, the list is correct for canonical LR with
2857 >       one exception: it will still contain any token that will not be
2858 >       accepted due to an error action in a later state.
2859 >  */
2860 >  if (yytoken != YYEMPTY)
2861 >    {
2862 >      int yyn = yypact[*yyssp];
2863 >      yyarg[yycount++] = yytname[yytoken];
2864 >      if (!yypact_value_is_default (yyn))
2865 >        {
2866 >          /* Start YYX at -YYN if negative to avoid negative indexes in
2867 >             YYCHECK.  In other words, skip the first -YYN actions for
2868 >             this state because they are default actions.  */
2869 >          int yyxbegin = yyn < 0 ? -yyn : 0;
2870 >          /* Stay within bounds of both yycheck and yytname.  */
2871 >          int yychecklim = YYLAST - yyn + 1;
2872 >          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2873 >          int yyx;
2874 >
2875 >          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2876 >            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
2877 >                && !yytable_value_is_error (yytable[yyx + yyn]))
2878 >              {
2879 >                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2880 >                  {
2881 >                    yycount = 1;
2882 >                    yysize = yysize0;
2883 >                    break;
2884 >                  }
2885 >                yyarg[yycount++] = yytname[yyx];
2886 >                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2887 >                if (! (yysize <= yysize1
2888 >                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2889 >                  return 2;
2890 >                yysize = yysize1;
2891 >              }
2892 >        }
2893 >    }
2894  
2895 <  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2920 <    return 0;
2921 <  else
2895 >  switch (yycount)
2896      {
2897 <      int yytype = YYTRANSLATE (yychar);
2898 <      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2899 <      YYSIZE_T yysize = yysize0;
2900 <      YYSIZE_T yysize1;
2901 <      int yysize_overflow = 0;
2902 <      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2903 <      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2904 <      int yyx;
2905 <
2906 < # if 0
2907 <      /* This is so xgettext sees the translatable formats that are
2908 <         constructed on the fly.  */
2909 <      YY_("syntax error, unexpected %s");
2910 <      YY_("syntax error, unexpected %s, expecting %s");
2911 <      YY_("syntax error, unexpected %s, expecting %s or %s");
2912 <      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2913 <      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2914 < # endif
2915 <      char *yyfmt;
2916 <      char const *yyf;
2917 <      static char const yyunexpected[] = "syntax error, unexpected %s";
2918 <      static char const yyexpecting[] = ", expecting %s";
2919 <      static char const yyor[] = " or %s";
2920 <      char yyformat[sizeof yyunexpected
2921 <                    + sizeof yyexpecting - 1
2922 <                    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2923 <                       * (sizeof yyor - 1))];
2924 <      char const *yyprefix = yyexpecting;
2925 <
2926 <      /* Start YYX at -YYN if negative to avoid negative indexes in
2927 <         YYCHECK.  */
2928 <      int yyxbegin = yyn < 0 ? -yyn : 0;
2929 <
2930 <      /* Stay within bounds of both yycheck and yytname.  */
2931 <      int yychecklim = YYLAST - yyn + 1;
2932 <      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2933 <      int yycount = 1;
2934 <
2935 <      yyarg[0] = yytname[yytype];
2936 <      yyfmt = yystpcpy (yyformat, yyunexpected);
2937 <
2938 <      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2939 <        if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2940 <          {
2941 <            if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2942 <              {
2969 <                yycount = 1;
2970 <                yysize = yysize0;
2971 <                yyformat[sizeof yyunexpected - 1] = '\0';
2972 <                break;
2973 <              }
2974 <            yyarg[yycount++] = yytname[yyx];
2975 <            yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2976 <            yysize_overflow |= (yysize1 < yysize);
2977 <            yysize = yysize1;
2978 <            yyfmt = yystpcpy (yyfmt, yyprefix);
2979 <            yyprefix = yyor;
2980 <          }
2981 <
2982 <      yyf = YY_(yyformat);
2983 <      yysize1 = yysize + yystrlen (yyf);
2984 <      yysize_overflow |= (yysize1 < yysize);
2985 <      yysize = yysize1;
2986 <
2987 <      if (yysize_overflow)
2988 <        return YYSIZE_MAXIMUM;
2989 <
2990 <      if (yyresult)
2991 <        {
2992 <          /* Avoid sprintf, as that infringes on the user's name space.
2993 <             Don't have undefined behavior even if the translation
2994 <             produced a string with the wrong number of "%s"s.  */
2995 <          char *yyp = yyresult;
2996 <          int yyi = 0;
2997 <          while ((*yyp = *yyf) != '\0')
2998 <            {
2999 <              if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3000 <                {
3001 <                  yyp += yytnamerr (yyp, yyarg[yyi++]);
3002 <                  yyf += 2;
3003 <                }
3004 <              else
3005 <                {
3006 <                  yyp++;
3007 <                  yyf++;
3008 <                }
3009 <            }
3010 <        }
3011 <      return yysize;
3012 <    }
2897 > # define YYCASE_(N, S)                      \
2898 >      case N:                               \
2899 >        yyformat = S;                       \
2900 >      break
2901 >      YYCASE_(0, YY_("syntax error"));
2902 >      YYCASE_(1, YY_("syntax error, unexpected %s"));
2903 >      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
2904 >      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
2905 >      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
2906 >      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2907 > # undef YYCASE_
2908 >    }
2909 >
2910 >  yysize1 = yysize + yystrlen (yyformat);
2911 >  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2912 >    return 2;
2913 >  yysize = yysize1;
2914 >
2915 >  if (*yymsg_alloc < yysize)
2916 >    {
2917 >      *yymsg_alloc = 2 * yysize;
2918 >      if (! (yysize <= *yymsg_alloc
2919 >             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
2920 >        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
2921 >      return 1;
2922 >    }
2923 >
2924 >  /* Avoid sprintf, as that infringes on the user's name space.
2925 >     Don't have undefined behavior even if the translation
2926 >     produced a string with the wrong number of "%s"s.  */
2927 >  {
2928 >    char *yyp = *yymsg;
2929 >    int yyi = 0;
2930 >    while ((*yyp = *yyformat) != '\0')
2931 >      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
2932 >        {
2933 >          yyp += yytnamerr (yyp, yyarg[yyi++]);
2934 >          yyformat += 2;
2935 >        }
2936 >      else
2937 >        {
2938 >          yyp++;
2939 >          yyformat++;
2940 >        }
2941 >  }
2942 >  return 0;
2943   }
2944   #endif /* YYERROR_VERBOSE */
3015
2945  
2946   /*-----------------------------------------------.
2947   | Release the memory associated to this symbol.  |
# Line 3045 | Line 2974 | yydestruct (yymsg, yytype, yyvaluep)
2974      }
2975   }
2976  
2977 +
2978   /* Prevent warnings from -Wmissing-prototypes.  */
2979   #ifdef YYPARSE_PARAM
2980   #if defined __STDC__ || defined __cplusplus
# Line 3071 | Line 3001 | YYSTYPE yylval;
3001   int yynerrs;
3002  
3003  
3004 <
3005 < /*-------------------------.
3006 < | yyparse or yypush_parse.  |
3077 < `-------------------------*/
3004 > /*----------.
3005 > | yyparse.  |
3006 > `----------*/
3007  
3008   #ifdef YYPARSE_PARAM
3009   #if (defined __STDC__ || defined __C99__FUNC__ \
# Line 3098 | Line 3027 | yyparse ()
3027   #endif
3028   #endif
3029   {
3101
3102
3030      int yystate;
3031      /* Number of tokens to shift before error messages enabled.  */
3032      int yyerrstatus;
# Line 3108 | Line 3035 | yyparse ()
3035         `yyss': related to states.
3036         `yyvs': related to semantic values.
3037  
3038 <       Refer to the stacks thru separate pointers, to allow yyoverflow
3038 >       Refer to the stacks through separate pointers, to allow yyoverflow
3039         to reallocate them elsewhere.  */
3040  
3041      /* The state stack.  */
# Line 3254 | Line 3181 | yybackup:
3181  
3182    /* First try to decide what to do without reference to lookahead token.  */
3183    yyn = yypact[yystate];
3184 <  if (yyn == YYPACT_NINF)
3184 >  if (yypact_value_is_default (yyn))
3185      goto yydefault;
3186  
3187    /* Not known => get a lookahead token if don't already have one.  */
# Line 3285 | Line 3212 | yybackup:
3212    yyn = yytable[yyn];
3213    if (yyn <= 0)
3214      {
3215 <      if (yyn == 0 || yyn == YYTABLE_NINF)
3216 <        goto yyerrlab;
3215 >      if (yytable_value_is_error (yyn))
3216 >        goto yyerrlab;
3217        yyn = -yyn;
3218        goto yyreduce;
3219      }
# Line 3339 | Line 3266 | yyreduce:
3266    YY_REDUCE_PRINT (yyn);
3267    switch (yyn)
3268      {
3269 <        case 26:
3269 >        case 27:
3270  
3271 < /* Line 1464 of yacc.c  */
3272 < #line 425 "ircd_parser.y"
3271 > /* Line 1810 of yacc.c  */
3272 > #line 384 "conf_parser.y"
3273      { (yyval.number) = 0; }
3274      break;
3275  
3276 <  case 28:
3276 >  case 29:
3277  
3278 < /* Line 1464 of yacc.c  */
3279 < #line 427 "ircd_parser.y"
3278 > /* Line 1810 of yacc.c  */
3279 > #line 386 "conf_parser.y"
3280      {
3281                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3282                  }
3283      break;
3284  
3285 <  case 29:
3285 >  case 30:
3286  
3287 < /* Line 1464 of yacc.c  */
3288 < #line 431 "ircd_parser.y"
3287 > /* Line 1810 of yacc.c  */
3288 > #line 390 "conf_parser.y"
3289      {
3290                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3291                  }
3292      break;
3293  
3294 <  case 30:
3294 >  case 31:
3295  
3296 < /* Line 1464 of yacc.c  */
3297 < #line 435 "ircd_parser.y"
3296 > /* Line 1810 of yacc.c  */
3297 > #line 394 "conf_parser.y"
3298      {
3299                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3300                  }
3301      break;
3302  
3303 <  case 31:
3303 >  case 32:
3304  
3305 < /* Line 1464 of yacc.c  */
3306 < #line 439 "ircd_parser.y"
3305 > /* Line 1810 of yacc.c  */
3306 > #line 398 "conf_parser.y"
3307      {
3308                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3309                  }
3310      break;
3311  
3312 <  case 32:
3312 >  case 33:
3313  
3314 < /* Line 1464 of yacc.c  */
3315 < #line 443 "ircd_parser.y"
3314 > /* Line 1810 of yacc.c  */
3315 > #line 402 "conf_parser.y"
3316      {
3317                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3318                  }
3319      break;
3320  
3321 <  case 33:
3321 >  case 34:
3322  
3323 < /* Line 1464 of yacc.c  */
3324 < #line 447 "ircd_parser.y"
3323 > /* Line 1810 of yacc.c  */
3324 > #line 406 "conf_parser.y"
3325      {
3326                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3327                  }
3328      break;
3329  
3330 <  case 34:
3330 >  case 35:
3331  
3332 < /* Line 1464 of yacc.c  */
3333 < #line 452 "ircd_parser.y"
3332 > /* Line 1810 of yacc.c  */
3333 > #line 411 "conf_parser.y"
3334      { (yyval.number) = 0; }
3335      break;
3336  
3337 <  case 36:
3337 >  case 37:
3338  
3339 < /* Line 1464 of yacc.c  */
3340 < #line 453 "ircd_parser.y"
3339 > /* Line 1810 of yacc.c  */
3340 > #line 412 "conf_parser.y"
3341      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3342      break;
3343  
3344 <  case 37:
3344 >  case 38:
3345  
3346 < /* Line 1464 of yacc.c  */
3347 < #line 454 "ircd_parser.y"
3346 > /* Line 1810 of yacc.c  */
3347 > #line 413 "conf_parser.y"
3348      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3349      break;
3350  
3351 <  case 38:
3351 >  case 39:
3352  
3353 < /* Line 1464 of yacc.c  */
3354 < #line 455 "ircd_parser.y"
3353 > /* Line 1810 of yacc.c  */
3354 > #line 414 "conf_parser.y"
3355      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3356      break;
3357  
3358 <  case 39:
3358 >  case 40:
3359  
3360 < /* Line 1464 of yacc.c  */
3361 < #line 456 "ircd_parser.y"
3360 > /* Line 1810 of yacc.c  */
3361 > #line 415 "conf_parser.y"
3362      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3363      break;
3364  
3365 <  case 46:
3365 >  case 47:
3366  
3367 < /* Line 1464 of yacc.c  */
3368 < #line 470 "ircd_parser.y"
3367 > /* Line 1810 of yacc.c  */
3368 > #line 429 "conf_parser.y"
3369      {
3443 #ifndef STATIC_MODULES /* NOOP in the static case */
3370    if (conf_parser_ctx.pass == 2)
3371      add_conf_module(libio_basename(yylval.string));
3446 #endif
3372   }
3373      break;
3374  
3375 <  case 47:
3375 >  case 48:
3376  
3377 < /* Line 1464 of yacc.c  */
3378 < #line 478 "ircd_parser.y"
3377 > /* Line 1810 of yacc.c  */
3378 > #line 435 "conf_parser.y"
3379      {
3455 #ifndef STATIC_MODULES
3380    if (conf_parser_ctx.pass == 2)
3381      mod_add_path(yylval.string);
3458 #endif
3382   }
3383      break;
3384  
3385 <  case 64:
3385 >  case 72:
3386  
3387 < /* Line 1464 of yacc.c  */
3388 < #line 500 "ircd_parser.y"
3387 > /* Line 1810 of yacc.c  */
3388 > #line 460 "conf_parser.y"
3389      {
3390   #ifdef HAVE_LIBCRYPTO
3391 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3392 <    ServerInfo.tls_version = 0;
3391 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3392 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3393   #endif
3394   }
3395      break;
3396  
3397 <  case 65:
3397 >  case 73:
3398  
3399 < /* Line 1464 of yacc.c  */
3400 < #line 506 "ircd_parser.y"
3399 > /* Line 1810 of yacc.c  */
3400 > #line 466 "conf_parser.y"
3401      {
3402   #ifdef HAVE_LIBCRYPTO
3403 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3404 <  {
3482 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_SSLV3))
3483 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3484 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_TLSV1))
3485 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3486 <  }
3403 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3404 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3405   #endif
3406   }
3407      break;
3408  
3409 <  case 68:
3409 >  case 76:
3410  
3411 < /* Line 1464 of yacc.c  */
3412 < #line 520 "ircd_parser.y"
3411 > /* Line 1810 of yacc.c  */
3412 > #line 475 "conf_parser.y"
3413      {
3414   #ifdef HAVE_LIBCRYPTO
3415 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3416 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_SSLV3;
3415 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3416 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3417   #endif
3418   }
3419      break;
3420  
3421 <  case 69:
3421 >  case 77:
3422  
3423 < /* Line 1464 of yacc.c  */
3424 < #line 526 "ircd_parser.y"
3423 > /* Line 1810 of yacc.c  */
3424 > #line 481 "conf_parser.y"
3425      {
3426   #ifdef HAVE_LIBCRYPTO
3427 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3428 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_TLSV1;
3427 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3428 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3429   #endif
3430   }
3431      break;
3432  
3433 <  case 70:
3433 >  case 78:
3434  
3435 < /* Line 1464 of yacc.c  */
3436 < #line 534 "ircd_parser.y"
3435 > /* Line 1810 of yacc.c  */
3436 > #line 489 "conf_parser.y"
3437      {
3438   #ifdef HAVE_LIBCRYPTO
3439    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3527 | Line 3445 | yyreduce:
3445      }
3446  
3447      if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3448 +                                     SSL_FILETYPE_PEM) <= 0 ||
3449 +        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3450                                       SSL_FILETYPE_PEM) <= 0)
3451      {
3452        yyerror(ERR_lib_error_string(ERR_get_error()));
# Line 3534 | Line 3454 | yyreduce:
3454      }
3455  
3456      if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3457 +                                    SSL_FILETYPE_PEM) <= 0 ||
3458 +        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3459                                      SSL_FILETYPE_PEM) <= 0)
3460      {
3461        yyerror(ERR_lib_error_string(ERR_get_error()));
3462        break;
3463      }
3464  
3465 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx))
3465 >    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3466 >        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3467      {
3468        yyerror(ERR_lib_error_string(ERR_get_error()));
3469        break;
# Line 3550 | Line 3473 | yyreduce:
3473   }
3474      break;
3475  
3476 <  case 71:
3476 >  case 79:
3477  
3478 < /* Line 1464 of yacc.c  */
3479 < #line 568 "ircd_parser.y"
3478 > /* Line 1810 of yacc.c  */
3479 > #line 528 "conf_parser.y"
3480      {
3481   #ifdef HAVE_LIBCRYPTO
3482    if (conf_parser_ctx.pass == 1)
# Line 3580 | Line 3503 | yyreduce:
3503        break;
3504      }
3505  
3506 <    ServerInfo.rsa_private_key = (RSA *)PEM_read_bio_RSAPrivateKey(file, NULL,
3584 <      0, NULL);
3506 >    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3507  
3508      BIO_set_close(file, BIO_CLOSE);
3509      BIO_free(file);
# Line 3614 | Line 3536 | yyreduce:
3536   }
3537      break;
3538  
3539 <  case 72:
3539 >  case 80:
3540  
3541 < /* Line 1464 of yacc.c  */
3542 < #line 628 "ircd_parser.y"
3541 > /* Line 1810 of yacc.c  */
3542 > #line 587 "conf_parser.y"
3543 >    {
3544 > /* TBD - XXX: error reporting */
3545 > #ifdef HAVE_LIBCRYPTO
3546 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3547 >  {
3548 >    BIO *file = BIO_new_file(yylval.string, "r");
3549 >
3550 >    if (file)
3551 >    {
3552 >      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3553 >
3554 >      BIO_free(file);
3555 >
3556 >      if (dh)
3557 >      {
3558 >        if (DH_size(dh) < 128)
3559 >          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3560 >        else
3561 >          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3562 >
3563 >        DH_free(dh);
3564 >      }
3565 >    }
3566 >  }
3567 > #endif
3568 > }
3569 >    break;
3570 >
3571 >  case 81:
3572 >
3573 > /* Line 1810 of yacc.c  */
3574 > #line 615 "conf_parser.y"
3575 >    {
3576 > #ifdef HAVE_LIBCRYPTO
3577 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3578 >    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3579 > #endif
3580 > }
3581 >    break;
3582 >
3583 >  case 82:
3584 >
3585 > /* Line 1810 of yacc.c  */
3586 > #line 623 "conf_parser.y"
3587      {
3588    /* this isn't rehashable */
3589    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3626 | Line 3592 | yyreduce:
3592        DupString(ServerInfo.name, yylval.string);
3593      else
3594      {
3595 <      ilog(L_ERROR, "Ignoring serverinfo::name -- invalid name. Aborting.");
3595 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
3596        exit(0);
3597      }
3598    }
3599   }
3600      break;
3601  
3602 <  case 73:
3602 >  case 83:
3603  
3604 < /* Line 1464 of yacc.c  */
3605 < #line 643 "ircd_parser.y"
3604 > /* Line 1810 of yacc.c  */
3605 > #line 638 "conf_parser.y"
3606      {
3607    /* this isn't rehashable */
3608    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3645 | Line 3611 | yyreduce:
3611        DupString(ServerInfo.sid, yylval.string);
3612      else
3613      {
3614 <      ilog(L_ERROR, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3614 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3615        exit(0);
3616      }
3617    }
3618   }
3619      break;
3620  
3621 <  case 74:
3621 >  case 84:
3622  
3623 < /* Line 1464 of yacc.c  */
3624 < #line 658 "ircd_parser.y"
3623 > /* Line 1810 of yacc.c  */
3624 > #line 653 "conf_parser.y"
3625      {
3626    if (conf_parser_ctx.pass == 2)
3627    {
# Line 3665 | Line 3631 | yyreduce:
3631   }
3632      break;
3633  
3634 <  case 75:
3634 >  case 85:
3635  
3636 < /* Line 1464 of yacc.c  */
3637 < #line 667 "ircd_parser.y"
3636 > /* Line 1810 of yacc.c  */
3637 > #line 662 "conf_parser.y"
3638      {
3639    if (conf_parser_ctx.pass == 2)
3640    {
# Line 3683 | Line 3649 | yyreduce:
3649   }
3650      break;
3651  
3652 <  case 76:
3652 >  case 86:
3653  
3654 < /* Line 1464 of yacc.c  */
3655 < #line 681 "ircd_parser.y"
3654 > /* Line 1810 of yacc.c  */
3655 > #line 676 "conf_parser.y"
3656      {
3657    if (conf_parser_ctx.pass == 2)
3658    {
# Line 3696 | Line 3662 | yyreduce:
3662   }
3663      break;
3664  
3665 <  case 77:
3665 >  case 87:
3666  
3667 < /* Line 1464 of yacc.c  */
3668 < #line 690 "ircd_parser.y"
3667 > /* Line 1810 of yacc.c  */
3668 > #line 685 "conf_parser.y"
3669      {
3670    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3671    {
# Line 3711 | Line 3677 | yyreduce:
3677      hints.ai_socktype = SOCK_STREAM;
3678      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3679  
3680 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
3681 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
3680 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
3681 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3682      else
3683      {
3684        assert(res != NULL);
# Line 3720 | Line 3686 | yyreduce:
3686        memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3687        ServerInfo.ip.ss.ss_family = res->ai_family;
3688        ServerInfo.ip.ss_len = res->ai_addrlen;
3689 <      irc_freeaddrinfo(res);
3689 >      freeaddrinfo(res);
3690  
3691        ServerInfo.specific_ipv4_vhost = 1;
3692      }
# Line 3728 | Line 3694 | yyreduce:
3694   }
3695      break;
3696  
3697 <  case 78:
3697 >  case 88:
3698  
3699 < /* Line 1464 of yacc.c  */
3700 < #line 718 "ircd_parser.y"
3699 > /* Line 1810 of yacc.c  */
3700 > #line 713 "conf_parser.y"
3701      {
3702   #ifdef IPV6
3703    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3744 | Line 3710 | yyreduce:
3710      hints.ai_socktype = SOCK_STREAM;
3711      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3712  
3713 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
3714 <      ilog(L_ERROR, "Invalid netmask for server vhost6(%s)", yylval.string);
3713 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
3714 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3715      else
3716      {
3717        assert(res != NULL);
# Line 3753 | Line 3719 | yyreduce:
3719        memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3720        ServerInfo.ip6.ss.ss_family = res->ai_family;
3721        ServerInfo.ip6.ss_len = res->ai_addrlen;
3722 <      irc_freeaddrinfo(res);
3722 >      freeaddrinfo(res);
3723  
3724        ServerInfo.specific_ipv6_vhost = 1;
3725      }
# Line 3762 | Line 3728 | yyreduce:
3728   }
3729      break;
3730  
3731 <  case 79:
3731 >  case 89:
3732  
3733 < /* Line 1464 of yacc.c  */
3734 < #line 748 "ircd_parser.y"
3733 > /* Line 1810 of yacc.c  */
3734 > #line 743 "conf_parser.y"
3735      {
3736    if (conf_parser_ctx.pass == 2)
3737    {
# Line 3789 | Line 3755 | yyreduce:
3755   }
3756      break;
3757  
3758 <  case 80:
3758 >  case 90:
3759  
3760 < /* Line 1464 of yacc.c  */
3761 < #line 771 "ircd_parser.y"
3760 > /* Line 1810 of yacc.c  */
3761 > #line 766 "conf_parser.y"
3762      {
3763    if (conf_parser_ctx.pass == 2)
3764 <  {
3799 <    if (yylval.number)
3800 <    {
3801 <      ServerInfo.hub = 1;
3802 <      delete_capability("HUB");
3803 <      add_capability("HUB", CAP_HUB, 1);
3804 <    }
3805 <    else if (ServerInfo.hub)
3806 <    {
3807 <
3808 <      ServerInfo.hub = 0;
3809 <      delete_capability("HUB");
3810 <    }
3811 <  }
3764 >    ServerInfo.hub = yylval.number;
3765   }
3766      break;
3767  
3768 <  case 88:
3768 >  case 98:
3769  
3770 < /* Line 1464 of yacc.c  */
3771 < #line 799 "ircd_parser.y"
3770 > /* Line 1810 of yacc.c  */
3771 > #line 781 "conf_parser.y"
3772      {
3773    if (conf_parser_ctx.pass == 2)
3774    {
# Line 3825 | Line 3778 | yyreduce:
3778   }
3779      break;
3780  
3781 <  case 89:
3781 >  case 99:
3782  
3783 < /* Line 1464 of yacc.c  */
3784 < #line 808 "ircd_parser.y"
3783 > /* Line 1810 of yacc.c  */
3784 > #line 790 "conf_parser.y"
3785      {
3786    if (conf_parser_ctx.pass == 2)
3787    {
# Line 3838 | Line 3791 | yyreduce:
3791   }
3792      break;
3793  
3794 <  case 90:
3794 >  case 100:
3795  
3796 < /* Line 1464 of yacc.c  */
3797 < #line 817 "ircd_parser.y"
3796 > /* Line 1810 of yacc.c  */
3797 > #line 799 "conf_parser.y"
3798      {
3799    if (conf_parser_ctx.pass == 2)
3800    {
# Line 3853 | Line 3806 | yyreduce:
3806  
3807    case 107:
3808  
3809 < /* Line 1464 of yacc.c  */
3810 < #line 844 "ircd_parser.y"
3858 <    {
3859 <                        }
3860 <    break;
3861 <
3862 <  case 108:
3863 <
3864 < /* Line 1464 of yacc.c  */
3865 < #line 848 "ircd_parser.y"
3866 <    {
3867 <                        }
3868 <    break;
3869 <
3870 <  case 109:
3871 <
3872 < /* Line 1464 of yacc.c  */
3873 < #line 852 "ircd_parser.y"
3874 <    {
3875 <  if (conf_parser_ctx.pass == 2)
3876 <    strlcpy(ConfigLoggingEntry.userlog, yylval.string,
3877 <            sizeof(ConfigLoggingEntry.userlog));
3878 < }
3879 <    break;
3880 <
3881 <  case 110:
3882 <
3883 < /* Line 1464 of yacc.c  */
3884 < #line 859 "ircd_parser.y"
3809 > /* Line 1810 of yacc.c  */
3810 > #line 817 "conf_parser.y"
3811      {
3812    if (conf_parser_ctx.pass == 2)
3813 <    strlcpy(ConfigLoggingEntry.failed_operlog, yylval.string,
3888 <            sizeof(ConfigLoggingEntry.failed_operlog));
3813 >    ConfigLoggingEntry.use_logging = yylval.number;
3814   }
3815      break;
3816  
3817 <  case 111:
3817 >  case 108:
3818  
3819 < /* Line 1464 of yacc.c  */
3820 < #line 866 "ircd_parser.y"
3819 > /* Line 1810 of yacc.c  */
3820 > #line 823 "conf_parser.y"
3821      {
3822 <  if (conf_parser_ctx.pass == 2)
3823 <    strlcpy(ConfigLoggingEntry.operlog, yylval.string,
3824 <            sizeof(ConfigLoggingEntry.operlog));
3822 >  lfile[0] = '\0';
3823 >  ltype = 0;
3824 >  lsize = 0;
3825   }
3826      break;
3827  
3828 <  case 112:
3828 >  case 109:
3829  
3830 < /* Line 1464 of yacc.c  */
3831 < #line 873 "ircd_parser.y"
3830 > /* Line 1810 of yacc.c  */
3831 > #line 828 "conf_parser.y"
3832      {
3833 <  if (conf_parser_ctx.pass == 2)
3834 <    strlcpy(ConfigLoggingEntry.operspylog, yylval.string,
3910 <            sizeof(ConfigLoggingEntry.operspylog));
3833 >  if (conf_parser_ctx.pass == 2 && ltype > 0)
3834 >    log_add_file(ltype, lsize, lfile);
3835   }
3836      break;
3837  
3838 <  case 113:
3838 >  case 116:
3839  
3840 < /* Line 1464 of yacc.c  */
3841 < #line 880 "ircd_parser.y"
3840 > /* Line 1810 of yacc.c  */
3841 > #line 840 "conf_parser.y"
3842      {
3843 <  if (conf_parser_ctx.pass == 2)
3920 <    strlcpy(ConfigLoggingEntry.glinelog, yylval.string,
3921 <            sizeof(ConfigLoggingEntry.glinelog));
3843 >  strlcpy(lfile, yylval.string, sizeof(lfile));
3844   }
3845      break;
3846  
3847 <  case 114:
3847 >  case 117:
3848  
3849 < /* Line 1464 of yacc.c  */
3850 < #line 887 "ircd_parser.y"
3849 > /* Line 1810 of yacc.c  */
3850 > #line 845 "conf_parser.y"
3851      {
3852 <  if (conf_parser_ctx.pass == 2)
3931 <    strlcpy(ConfigLoggingEntry.klinelog, yylval.string,
3932 <            sizeof(ConfigLoggingEntry.klinelog));
3852 >  lsize = (yyvsp[(3) - (4)].number);
3853   }
3854      break;
3855  
3856 <  case 115:
3856 >  case 118:
3857  
3858 < /* Line 1464 of yacc.c  */
3859 < #line 894 "ircd_parser.y"
3858 > /* Line 1810 of yacc.c  */
3859 > #line 848 "conf_parser.y"
3860      {
3861 <  if (conf_parser_ctx.pass == 2)
3942 <    strlcpy(ConfigLoggingEntry.ioerrlog, yylval.string,
3943 <            sizeof(ConfigLoggingEntry.ioerrlog));
3861 >  lsize = 0;
3862   }
3863      break;
3864  
3865 <  case 116:
3865 >  case 119:
3866  
3867 < /* Line 1464 of yacc.c  */
3868 < #line 901 "ircd_parser.y"
3867 > /* Line 1810 of yacc.c  */
3868 > #line 853 "conf_parser.y"
3869      {
3870    if (conf_parser_ctx.pass == 2)
3871 <    strlcpy(ConfigLoggingEntry.killlog, yylval.string,
3954 <            sizeof(ConfigLoggingEntry.killlog));
3871 >    ltype = 0;
3872   }
3873      break;
3874  
3875 <  case 117:
3959 <
3960 < /* Line 1464 of yacc.c  */
3961 < #line 908 "ircd_parser.y"
3962 <    {
3963 <  if (conf_parser_ctx.pass == 2)
3964 <    set_log_level(L_CRIT);
3965 < }
3966 <    break;
3967 <
3968 <  case 118:
3875 >  case 123:
3876  
3877 < /* Line 1464 of yacc.c  */
3878 < #line 912 "ircd_parser.y"
3877 > /* Line 1810 of yacc.c  */
3878 > #line 860 "conf_parser.y"
3879      {
3880    if (conf_parser_ctx.pass == 2)
3881 <    set_log_level(L_ERROR);
3881 >    ltype = LOG_TYPE_USER;
3882   }
3883      break;
3884  
3885 <  case 119:
3885 >  case 124:
3886  
3887 < /* Line 1464 of yacc.c  */
3888 < #line 916 "ircd_parser.y"
3887 > /* Line 1810 of yacc.c  */
3888 > #line 864 "conf_parser.y"
3889      {
3890    if (conf_parser_ctx.pass == 2)
3891 <    set_log_level(L_WARN);
3891 >    ltype = LOG_TYPE_OPER;
3892   }
3893      break;
3894  
3895 <  case 120:
3895 >  case 125:
3896  
3897 < /* Line 1464 of yacc.c  */
3898 < #line 920 "ircd_parser.y"
3897 > /* Line 1810 of yacc.c  */
3898 > #line 868 "conf_parser.y"
3899      {
3900    if (conf_parser_ctx.pass == 2)
3901 <    set_log_level(L_NOTICE);
3901 >    ltype = LOG_TYPE_GLINE;
3902   }
3903      break;
3904  
3905 <  case 121:
3905 >  case 126:
3906  
3907 < /* Line 1464 of yacc.c  */
3908 < #line 924 "ircd_parser.y"
3907 > /* Line 1810 of yacc.c  */
3908 > #line 872 "conf_parser.y"
3909      {
3910    if (conf_parser_ctx.pass == 2)
3911 <    set_log_level(L_TRACE);
3911 >    ltype = LOG_TYPE_DLINE;
3912   }
3913      break;
3914  
3915 <  case 122:
3915 >  case 127:
3916  
3917 < /* Line 1464 of yacc.c  */
3918 < #line 928 "ircd_parser.y"
3917 > /* Line 1810 of yacc.c  */
3918 > #line 876 "conf_parser.y"
3919      {
3920    if (conf_parser_ctx.pass == 2)
3921 <    set_log_level(L_INFO);
3921 >    ltype = LOG_TYPE_KLINE;
3922   }
3923      break;
3924  
3925 <  case 123:
3925 >  case 128:
3926  
3927 < /* Line 1464 of yacc.c  */
3928 < #line 932 "ircd_parser.y"
3927 > /* Line 1810 of yacc.c  */
3928 > #line 880 "conf_parser.y"
3929      {
3930    if (conf_parser_ctx.pass == 2)
3931 <    set_log_level(L_DEBUG);
3931 >    ltype = LOG_TYPE_KILL;
3932   }
3933      break;
3934  
3935 <  case 124:
3935 >  case 129:
3936  
3937 < /* Line 1464 of yacc.c  */
3938 < #line 938 "ircd_parser.y"
3937 > /* Line 1810 of yacc.c  */
3938 > #line 884 "conf_parser.y"
3939      {
3940    if (conf_parser_ctx.pass == 2)
3941 <    ConfigLoggingEntry.use_logging = yylval.number;
3941 >    ltype = LOG_TYPE_DEBUG;
3942   }
3943      break;
3944  
3945 <  case 125:
3945 >  case 130:
3946  
3947 < /* Line 1464 of yacc.c  */
3948 < #line 947 "ircd_parser.y"
3947 > /* Line 1810 of yacc.c  */
3948 > #line 894 "conf_parser.y"
3949      {
3950    if (conf_parser_ctx.pass == 2)
3951    {
# Line 4054 | Line 3961 | yyreduce:
3961   }
3962      break;
3963  
3964 <  case 126:
3964 >  case 131:
3965  
3966 < /* Line 1464 of yacc.c  */
3967 < #line 960 "ircd_parser.y"
3966 > /* Line 1810 of yacc.c  */
3967 > #line 907 "conf_parser.y"
3968      {
3969    if (conf_parser_ctx.pass == 2)
3970    {
# Line 4092 | Line 3999 | yyreduce:
3999          DupString(new_aconf->host, yy_tmp->host);
4000        else
4001          DupString(new_aconf->host, "*");
4002 +
4003 +      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->addr,
4004 +                                     &new_aconf->bits);
4005 +
4006        conf_add_class_to_conf(new_conf, class_name);
4007        if (yy_aconf->passwd != NULL)
4008          DupString(new_aconf->passwd, yy_aconf->passwd);
# Line 4139 | Line 4050 | yyreduce:
4050   }
4051      break;
4052  
4053 <  case 140:
4143 <
4144 < /* Line 1464 of yacc.c  */
4145 < #line 1047 "ircd_parser.y"
4146 <    {
4147 <  if (conf_parser_ctx.pass == 2)
4148 <  {
4149 <    if (strlen(yylval.string) > OPERNICKLEN)
4150 <      yylval.string[OPERNICKLEN] = '\0';
4151 <
4152 <    MyFree(yy_conf->name);
4153 <    DupString(yy_conf->name, yylval.string);
4154 <  }
4155 < }
4156 <    break;
4157 <
4158 <  case 141:
4053 >  case 143:
4054  
4055 < /* Line 1464 of yacc.c  */
4056 < #line 1059 "ircd_parser.y"
4055 > /* Line 1810 of yacc.c  */
4056 > #line 997 "conf_parser.y"
4057      {
4058    if (conf_parser_ctx.pass == 2)
4059    {
4165    if (strlen(yylval.string) > OPERNICKLEN)
4166      yylval.string[OPERNICKLEN] = '\0';
4167
4060      MyFree(yy_conf->name);
4061      DupString(yy_conf->name, yylval.string);
4062    }
4063   }
4064      break;
4065  
4066 <  case 142:
4066 >  case 144:
4067  
4068 < /* Line 1464 of yacc.c  */
4069 < #line 1071 "ircd_parser.y"
4068 > /* Line 1810 of yacc.c  */
4069 > #line 1006 "conf_parser.y"
4070      {
4071    if (conf_parser_ctx.pass == 2)
4072    {
# Line 4195 | Line 4087 | yyreduce:
4087      {
4088        DupString(yy_aconf->user, userbuf);
4089        DupString(yy_aconf->host, hostbuf);
4090 +
4091 +      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->addr,
4092 +                                    &yy_aconf->bits);
4093      }
4094      else
4095      {
# Line 4209 | Line 4104 | yyreduce:
4104   }
4105      break;
4106  
4107 <  case 143:
4107 >  case 145:
4108  
4109 < /* Line 1464 of yacc.c  */
4110 < #line 1105 "ircd_parser.y"
4109 > /* Line 1810 of yacc.c  */
4110 > #line 1043 "conf_parser.y"
4111      {
4112    if (conf_parser_ctx.pass == 2)
4113    {
# Line 4225 | Line 4120 | yyreduce:
4120   }
4121      break;
4122  
4123 <  case 144:
4123 >  case 146:
4124  
4125 < /* Line 1464 of yacc.c  */
4126 < #line 1117 "ircd_parser.y"
4125 > /* Line 1810 of yacc.c  */
4126 > #line 1055 "conf_parser.y"
4127      {
4128    if (conf_parser_ctx.pass == 2)
4129    {
# Line 4240 | Line 4135 | yyreduce:
4135   }
4136      break;
4137  
4138 <  case 145:
4138 >  case 147:
4139  
4140 < /* Line 1464 of yacc.c  */
4141 < #line 1128 "ircd_parser.y"
4140 > /* Line 1810 of yacc.c  */
4141 > #line 1066 "conf_parser.y"
4142      {
4143   #ifdef HAVE_LIBCRYPTO
4144    if (conf_parser_ctx.pass == 2)
# Line 4286 | Line 4181 | yyreduce:
4181   }
4182      break;
4183  
4184 <  case 146:
4184 >  case 148:
4185  
4186 < /* Line 1464 of yacc.c  */
4187 < #line 1170 "ircd_parser.y"
4186 > /* Line 1810 of yacc.c  */
4187 > #line 1108 "conf_parser.y"
4188      {
4189    if (conf_parser_ctx.pass == 2)
4190    {
# Line 4299 | Line 4194 | yyreduce:
4194   }
4195      break;
4196  
4197 <  case 147:
4197 >  case 149:
4198  
4199 < /* Line 1464 of yacc.c  */
4200 < #line 1179 "ircd_parser.y"
4199 > /* Line 1810 of yacc.c  */
4200 > #line 1117 "conf_parser.y"
4201      {
4202    if (conf_parser_ctx.pass == 2)
4203      yy_aconf->modes = 0;
4204   }
4205      break;
4206  
4207 <  case 151:
4207 >  case 153:
4208  
4209 < /* Line 1464 of yacc.c  */
4210 < #line 1186 "ircd_parser.y"
4209 > /* Line 1810 of yacc.c  */
4210 > #line 1124 "conf_parser.y"
4211      {
4212    if (conf_parser_ctx.pass == 2)
4213      yy_aconf->modes |= UMODE_BOTS;
4214   }
4215      break;
4216  
4217 <  case 152:
4217 >  case 154:
4218  
4219 < /* Line 1464 of yacc.c  */
4220 < #line 1190 "ircd_parser.y"
4219 > /* Line 1810 of yacc.c  */
4220 > #line 1128 "conf_parser.y"
4221      {
4222    if (conf_parser_ctx.pass == 2)
4223      yy_aconf->modes |= UMODE_CCONN;
4224   }
4225      break;
4226  
4227 <  case 153:
4227 >  case 155:
4228  
4229 < /* Line 1464 of yacc.c  */
4230 < #line 1194 "ircd_parser.y"
4229 > /* Line 1810 of yacc.c  */
4230 > #line 1132 "conf_parser.y"
4231      {
4232    if (conf_parser_ctx.pass == 2)
4233      yy_aconf->modes |= UMODE_CCONN_FULL;
4234   }
4235      break;
4236  
4237 <  case 154:
4237 >  case 156:
4238  
4239 < /* Line 1464 of yacc.c  */
4240 < #line 1198 "ircd_parser.y"
4239 > /* Line 1810 of yacc.c  */
4240 > #line 1136 "conf_parser.y"
4241      {
4242    if (conf_parser_ctx.pass == 2)
4243      yy_aconf->modes |= UMODE_DEAF;
4244   }
4245      break;
4246  
4247 <  case 155:
4247 >  case 157:
4248  
4249 < /* Line 1464 of yacc.c  */
4250 < #line 1202 "ircd_parser.y"
4249 > /* Line 1810 of yacc.c  */
4250 > #line 1140 "conf_parser.y"
4251      {
4252    if (conf_parser_ctx.pass == 2)
4253      yy_aconf->modes |= UMODE_DEBUG;
4254   }
4255      break;
4256  
4257 <  case 156:
4257 >  case 158:
4258  
4259 < /* Line 1464 of yacc.c  */
4260 < #line 1206 "ircd_parser.y"
4259 > /* Line 1810 of yacc.c  */
4260 > #line 1144 "conf_parser.y"
4261      {
4262    if (conf_parser_ctx.pass == 2)
4263      yy_aconf->modes |= UMODE_FULL;
4264   }
4265      break;
4266  
4267 <  case 157:
4267 >  case 159:
4268 >
4269 > /* Line 1810 of yacc.c  */
4270 > #line 1148 "conf_parser.y"
4271 >    {
4272 >  if (conf_parser_ctx.pass == 2)
4273 >    yy_aconf->modes |= UMODE_HIDDEN;
4274 > }
4275 >    break;
4276 >
4277 >  case 160:
4278  
4279 < /* Line 1464 of yacc.c  */
4280 < #line 1210 "ircd_parser.y"
4279 > /* Line 1810 of yacc.c  */
4280 > #line 1152 "conf_parser.y"
4281      {
4282    if (conf_parser_ctx.pass == 2)
4283      yy_aconf->modes |= UMODE_SKILL;
4284   }
4285      break;
4286  
4287 <  case 158:
4287 >  case 161:
4288  
4289 < /* Line 1464 of yacc.c  */
4290 < #line 1214 "ircd_parser.y"
4289 > /* Line 1810 of yacc.c  */
4290 > #line 1156 "conf_parser.y"
4291      {
4292    if (conf_parser_ctx.pass == 2)
4293      yy_aconf->modes |= UMODE_NCHANGE;
4294   }
4295      break;
4296  
4297 <  case 159:
4297 >  case 162:
4298  
4299 < /* Line 1464 of yacc.c  */
4300 < #line 1218 "ircd_parser.y"
4299 > /* Line 1810 of yacc.c  */
4300 > #line 1160 "conf_parser.y"
4301      {
4302    if (conf_parser_ctx.pass == 2)
4303      yy_aconf->modes |= UMODE_REJ;
4304   }
4305      break;
4306  
4307 <  case 160:
4307 >  case 163:
4308  
4309 < /* Line 1464 of yacc.c  */
4310 < #line 1222 "ircd_parser.y"
4309 > /* Line 1810 of yacc.c  */
4310 > #line 1164 "conf_parser.y"
4311      {
4312    if (conf_parser_ctx.pass == 2)
4313      yy_aconf->modes |= UMODE_UNAUTH;
4314   }
4315      break;
4316  
4317 <  case 161:
4317 >  case 164:
4318  
4319 < /* Line 1464 of yacc.c  */
4320 < #line 1226 "ircd_parser.y"
4319 > /* Line 1810 of yacc.c  */
4320 > #line 1168 "conf_parser.y"
4321      {
4322    if (conf_parser_ctx.pass == 2)
4323      yy_aconf->modes |= UMODE_SPY;
4324   }
4325      break;
4326  
4327 <  case 162:
4327 >  case 165:
4328  
4329 < /* Line 1464 of yacc.c  */
4330 < #line 1230 "ircd_parser.y"
4329 > /* Line 1810 of yacc.c  */
4330 > #line 1172 "conf_parser.y"
4331      {
4332    if (conf_parser_ctx.pass == 2)
4333      yy_aconf->modes |= UMODE_EXTERNAL;
4334   }
4335      break;
4336  
4337 <  case 163:
4337 >  case 166:
4338  
4339 < /* Line 1464 of yacc.c  */
4340 < #line 1234 "ircd_parser.y"
4339 > /* Line 1810 of yacc.c  */
4340 > #line 1176 "conf_parser.y"
4341      {
4342    if (conf_parser_ctx.pass == 2)
4343      yy_aconf->modes |= UMODE_OPERWALL;
4344   }
4345      break;
4346  
4347 <  case 164:
4347 >  case 167:
4348  
4349 < /* Line 1464 of yacc.c  */
4350 < #line 1238 "ircd_parser.y"
4349 > /* Line 1810 of yacc.c  */
4350 > #line 1180 "conf_parser.y"
4351      {
4352    if (conf_parser_ctx.pass == 2)
4353      yy_aconf->modes |= UMODE_SERVNOTICE;
4354   }
4355      break;
4356  
4357 <  case 165:
4357 >  case 168:
4358  
4359 < /* Line 1464 of yacc.c  */
4360 < #line 1242 "ircd_parser.y"
4359 > /* Line 1810 of yacc.c  */
4360 > #line 1184 "conf_parser.y"
4361      {
4362    if (conf_parser_ctx.pass == 2)
4363      yy_aconf->modes |= UMODE_INVISIBLE;
4364   }
4365      break;
4366  
4367 <  case 166:
4367 >  case 169:
4368  
4369 < /* Line 1464 of yacc.c  */
4370 < #line 1246 "ircd_parser.y"
4369 > /* Line 1810 of yacc.c  */
4370 > #line 1188 "conf_parser.y"
4371      {
4372    if (conf_parser_ctx.pass == 2)
4373      yy_aconf->modes |= UMODE_WALLOP;
4374   }
4375      break;
4376  
4377 <  case 167:
4377 >  case 170:
4378  
4379 < /* Line 1464 of yacc.c  */
4380 < #line 1250 "ircd_parser.y"
4379 > /* Line 1810 of yacc.c  */
4380 > #line 1192 "conf_parser.y"
4381      {
4382    if (conf_parser_ctx.pass == 2)
4383      yy_aconf->modes |= UMODE_SOFTCALLERID;
4384   }
4385      break;
4386  
4387 <  case 168:
4387 >  case 171:
4388  
4389 < /* Line 1464 of yacc.c  */
4390 < #line 1254 "ircd_parser.y"
4389 > /* Line 1810 of yacc.c  */
4390 > #line 1196 "conf_parser.y"
4391      {
4392    if (conf_parser_ctx.pass == 2)
4393      yy_aconf->modes |= UMODE_CALLERID;
4394   }
4395      break;
4396  
4397 <  case 169:
4397 >  case 172:
4398  
4399 < /* Line 1464 of yacc.c  */
4400 < #line 1258 "ircd_parser.y"
4399 > /* Line 1810 of yacc.c  */
4400 > #line 1200 "conf_parser.y"
4401      {
4402    if (conf_parser_ctx.pass == 2)
4403      yy_aconf->modes |= UMODE_LOCOPS;
4404   }
4405      break;
4406  
4407 <  case 170:
4407 >  case 173:
4408  
4409 < /* Line 1464 of yacc.c  */
4410 < #line 1264 "ircd_parser.y"
4409 > /* Line 1810 of yacc.c  */
4410 > #line 1206 "conf_parser.y"
4411      {
4412 +  if (conf_parser_ctx.pass == 2)
4413 +    yy_aconf->port = 0;
4414   }
4415      break;
4416  
4417 <  case 174:
4511 <
4512 < /* Line 1464 of yacc.c  */
4513 < #line 1268 "ircd_parser.y"
4514 <    { not_atom = 1; }
4515 <    break;
4417 >  case 177:
4418  
4419 <  case 176:
4420 <
4421 < /* Line 1464 of yacc.c  */
4422 < #line 1269 "ircd_parser.y"
4423 <    { not_atom = 0; }
4419 > /* Line 1810 of yacc.c  */
4420 > #line 1213 "conf_parser.y"
4421 >    {
4422 >  if (conf_parser_ctx.pass == 2)
4423 >    yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4424 > }
4425      break;
4426  
4427    case 178:
4428  
4429 < /* Line 1464 of yacc.c  */
4430 < #line 1272 "ircd_parser.y"
4429 > /* Line 1810 of yacc.c  */
4430 > #line 1217 "conf_parser.y"
4431      {
4432    if (conf_parser_ctx.pass == 2)
4433 <  {
4531 <    if (not_atom)yy_aconf->port &= ~OPER_FLAG_GLOBAL_KILL;
4532 <    else yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4533 <  }
4433 >    yy_aconf->port |= OPER_FLAG_REMOTE;
4434   }
4435      break;
4436  
4437    case 179:
4438  
4439 < /* Line 1464 of yacc.c  */
4440 < #line 1279 "ircd_parser.y"
4439 > /* Line 1810 of yacc.c  */
4440 > #line 1221 "conf_parser.y"
4441      {
4442    if (conf_parser_ctx.pass == 2)
4443 <  {
4544 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTE;
4545 <    else yy_aconf->port |= OPER_FLAG_REMOTE;
4546 <  }
4443 >    yy_aconf->port |= OPER_FLAG_K;
4444   }
4445      break;
4446  
4447    case 180:
4448  
4449 < /* Line 1464 of yacc.c  */
4450 < #line 1286 "ircd_parser.y"
4449 > /* Line 1810 of yacc.c  */
4450 > #line 1225 "conf_parser.y"
4451      {
4452    if (conf_parser_ctx.pass == 2)
4453 <  {
4557 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_K;
4558 <    else yy_aconf->port |= OPER_FLAG_K;
4559 <  }
4453 >    yy_aconf->port |= OPER_FLAG_UNKLINE;
4454   }
4455      break;
4456  
4457    case 181:
4458  
4459 < /* Line 1464 of yacc.c  */
4460 < #line 1293 "ircd_parser.y"
4459 > /* Line 1810 of yacc.c  */
4460 > #line 1229 "conf_parser.y"
4461      {
4462    if (conf_parser_ctx.pass == 2)
4463 <  {
4570 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_UNKLINE;
4571 <    else yy_aconf->port |= OPER_FLAG_UNKLINE;
4572 <  }
4463 >    yy_aconf->port |= OPER_FLAG_DLINE;
4464   }
4465      break;
4466  
4467    case 182:
4468  
4469 < /* Line 1464 of yacc.c  */
4470 < #line 1300 "ircd_parser.y"
4469 > /* Line 1810 of yacc.c  */
4470 > #line 1233 "conf_parser.y"
4471      {
4472    if (conf_parser_ctx.pass == 2)
4473 <  {
4583 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_X;
4584 <    else yy_aconf->port |= OPER_FLAG_X;
4585 <  }
4473 >    yy_aconf->port |= OPER_FLAG_UNDLINE;
4474   }
4475      break;
4476  
4477    case 183:
4478  
4479 < /* Line 1464 of yacc.c  */
4480 < #line 1307 "ircd_parser.y"
4479 > /* Line 1810 of yacc.c  */
4480 > #line 1237 "conf_parser.y"
4481      {
4482    if (conf_parser_ctx.pass == 2)
4483 <  {
4596 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_GLINE;
4597 <    else yy_aconf->port |= OPER_FLAG_GLINE;
4598 <  }
4483 >    yy_aconf->port |= OPER_FLAG_X;
4484   }
4485      break;
4486  
4487    case 184:
4488  
4489 < /* Line 1464 of yacc.c  */
4490 < #line 1314 "ircd_parser.y"
4489 > /* Line 1810 of yacc.c  */
4490 > #line 1241 "conf_parser.y"
4491      {
4492    if (conf_parser_ctx.pass == 2)
4493 <  {
4609 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_DIE;
4610 <    else yy_aconf->port |= OPER_FLAG_DIE;
4611 <  }
4493 >    yy_aconf->port |= OPER_FLAG_GLINE;
4494   }
4495      break;
4496  
4497    case 185:
4498  
4499 < /* Line 1464 of yacc.c  */
4500 < #line 1321 "ircd_parser.y"
4499 > /* Line 1810 of yacc.c  */
4500 > #line 1245 "conf_parser.y"
4501      {
4502    if (conf_parser_ctx.pass == 2)
4503 <  {
4622 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REHASH;
4623 <    else yy_aconf->port |= OPER_FLAG_REHASH;
4624 <  }
4503 >    yy_aconf->port |= OPER_FLAG_DIE;
4504   }
4505      break;
4506  
4507    case 186:
4508  
4509 < /* Line 1464 of yacc.c  */
4510 < #line 1328 "ircd_parser.y"
4509 > /* Line 1810 of yacc.c  */
4510 > #line 1249 "conf_parser.y"
4511      {
4512    if (conf_parser_ctx.pass == 2)
4513 <  {
4635 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_ADMIN;
4636 <    else yy_aconf->port |= OPER_FLAG_ADMIN;
4637 <  }
4513 >    yy_aconf->port |= OPER_FLAG_RESTART;
4514   }
4515      break;
4516  
4517    case 187:
4518  
4519 < /* Line 1464 of yacc.c  */
4520 < #line 1335 "ircd_parser.y"
4519 > /* Line 1810 of yacc.c  */
4520 > #line 1253 "conf_parser.y"
4521      {
4522    if (conf_parser_ctx.pass == 2)
4523 <  {
4648 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_ADMIN;
4649 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_ADMIN;
4650 <  }
4523 >    yy_aconf->port |= OPER_FLAG_REHASH;
4524   }
4525      break;
4526  
4527    case 188:
4528  
4529 < /* Line 1464 of yacc.c  */
4530 < #line 1342 "ircd_parser.y"
4529 > /* Line 1810 of yacc.c  */
4530 > #line 1257 "conf_parser.y"
4531      {
4532    if (conf_parser_ctx.pass == 2)
4533 <  {
4661 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_N;
4662 <    else yy_aconf->port |= OPER_FLAG_N;
4663 <  }
4533 >    yy_aconf->port |= OPER_FLAG_ADMIN;
4534   }
4535      break;
4536  
4537    case 189:
4538  
4539 < /* Line 1464 of yacc.c  */
4540 < #line 1349 "ircd_parser.y"
4539 > /* Line 1810 of yacc.c  */
4540 > #line 1261 "conf_parser.y"
4541      {
4542    if (conf_parser_ctx.pass == 2)
4543 <  {
4674 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPERWALL;
4675 <    else yy_aconf->port |= OPER_FLAG_OPERWALL;
4676 <  }
4543 >    yy_aconf->port |= OPER_FLAG_N;
4544   }
4545      break;
4546  
4547    case 190:
4548  
4549 < /* Line 1464 of yacc.c  */
4550 < #line 1356 "ircd_parser.y"
4549 > /* Line 1810 of yacc.c  */
4550 > #line 1265 "conf_parser.y"
4551      {
4552    if (conf_parser_ctx.pass == 2)
4553 <  {
4687 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPER_SPY;
4688 <    else yy_aconf->port |= OPER_FLAG_OPER_SPY;
4689 <  }
4553 >    yy_aconf->port |= OPER_FLAG_OPERWALL;
4554   }
4555      break;
4556  
4557    case 191:
4558  
4559 < /* Line 1464 of yacc.c  */
4560 < #line 1363 "ircd_parser.y"
4559 > /* Line 1810 of yacc.c  */
4560 > #line 1269 "conf_parser.y"
4561      {
4562    if (conf_parser_ctx.pass == 2)
4563 <  {
4700 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_OPER;
4701 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_OPER;
4702 <  }
4563 >    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4564   }
4565      break;
4566  
4567    case 192:
4568  
4569 < /* Line 1464 of yacc.c  */
4570 < #line 1370 "ircd_parser.y"
4569 > /* Line 1810 of yacc.c  */
4570 > #line 1273 "conf_parser.y"
4571      {
4572    if (conf_parser_ctx.pass == 2)
4573 <  {
4713 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTEBAN;
4714 <    else yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4715 <  }
4573 >    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4574   }
4575      break;
4576  
4577    case 193:
4578  
4579 < /* Line 1464 of yacc.c  */
4580 < #line 1377 "ircd_parser.y"
4579 > /* Line 1810 of yacc.c  */
4580 > #line 1277 "conf_parser.y"
4581      {
4582    if (conf_parser_ctx.pass == 2)
4583 <  {
4726 <    if (not_atom) ClearConfEncrypted(yy_aconf);
4727 <    else SetConfEncrypted(yy_aconf);
4728 <  }
4583 >    yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4584   }
4585      break;
4586  
4587    case 194:
4588  
4589 < /* Line 1464 of yacc.c  */
4590 < #line 1390 "ircd_parser.y"
4589 > /* Line 1810 of yacc.c  */
4590 > #line 1281 "conf_parser.y"
4591 >    {
4592 >  if (conf_parser_ctx.pass == 2)
4593 >    yy_aconf->port |= OPER_FLAG_MODULE;
4594 > }
4595 >    break;
4596 >
4597 >  case 195:
4598 >
4599 > /* Line 1810 of yacc.c  */
4600 > #line 1291 "conf_parser.y"
4601      {
4602    if (conf_parser_ctx.pass == 1)
4603    {
# Line 4742 | Line 4607 | yyreduce:
4607   }
4608      break;
4609  
4610 <  case 195:
4610 >  case 196:
4611  
4612 < /* Line 1464 of yacc.c  */
4613 < #line 1397 "ircd_parser.y"
4612 > /* Line 1810 of yacc.c  */
4613 > #line 1298 "conf_parser.y"
4614      {
4615    if (conf_parser_ctx.pass == 1)
4616    {
# Line 4756 | Line 4621 | yyreduce:
4621        delete_conf_item(yy_conf);
4622      else
4623      {
4624 <      cconf = find_exact_name_conf(CLASS_TYPE, yy_class_name, NULL, NULL);
4624 >      cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL);
4625  
4626        if (cconf != NULL)                /* The class existed already */
4627        {
# Line 4789 | Line 4654 | yyreduce:
4654   }
4655      break;
4656  
4657 <  case 214:
4657 >  case 213:
4658  
4659 < /* Line 1464 of yacc.c  */
4660 < #line 1457 "ircd_parser.y"
4659 > /* Line 1810 of yacc.c  */
4660 > #line 1356 "conf_parser.y"
4661      {
4662    if (conf_parser_ctx.pass == 1)
4663    {
# Line 4802 | Line 4667 | yyreduce:
4667   }
4668      break;
4669  
4670 +  case 214:
4671 +
4672 + /* Line 1810 of yacc.c  */
4673 + #line 1365 "conf_parser.y"
4674 +    {
4675 +  if (conf_parser_ctx.pass == 1)
4676 +    yy_class->ping_freq = (yyvsp[(3) - (4)].number);
4677 + }
4678 +    break;
4679 +
4680    case 215:
4681  
4682 < /* Line 1464 of yacc.c  */
4683 < #line 1466 "ircd_parser.y"
4682 > /* Line 1810 of yacc.c  */
4683 > #line 1371 "conf_parser.y"
4684      {
4685    if (conf_parser_ctx.pass == 1)
4686 <  {
4812 <    MyFree(yy_class_name);
4813 <    DupString(yy_class_name, yylval.string);
4814 <  }
4686 >    yy_class->ping_warning = (yyvsp[(3) - (4)].number);
4687   }
4688      break;
4689  
4690    case 216:
4691  
4692 < /* Line 1464 of yacc.c  */
4693 < #line 1475 "ircd_parser.y"
4692 > /* Line 1810 of yacc.c  */
4693 > #line 1377 "conf_parser.y"
4694      {
4695    if (conf_parser_ctx.pass == 1)
4696 <    PingFreq(yy_class) = (yyvsp[(3) - (4)].number);
4696 >    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4697   }
4698      break;
4699  
4700    case 217:
4701  
4702 < /* Line 1464 of yacc.c  */
4703 < #line 1481 "ircd_parser.y"
4702 > /* Line 1810 of yacc.c  */
4703 > #line 1383 "conf_parser.y"
4704      {
4705    if (conf_parser_ctx.pass == 1)
4706 <    PingWarning(yy_class) = (yyvsp[(3) - (4)].number);
4706 >    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4707   }
4708      break;
4709  
4710    case 218:
4711  
4712 < /* Line 1464 of yacc.c  */
4713 < #line 1487 "ircd_parser.y"
4712 > /* Line 1810 of yacc.c  */
4713 > #line 1389 "conf_parser.y"
4714      {
4715    if (conf_parser_ctx.pass == 1)
4716 <    MaxPerIp(yy_class) = (yyvsp[(3) - (4)].number);
4716 >    yy_class->max_total = (yyvsp[(3) - (4)].number);
4717   }
4718      break;
4719  
4720    case 219:
4721  
4722 < /* Line 1464 of yacc.c  */
4723 < #line 1493 "ircd_parser.y"
4722 > /* Line 1810 of yacc.c  */
4723 > #line 1395 "conf_parser.y"
4724      {
4725    if (conf_parser_ctx.pass == 1)
4726 <    ConFreq(yy_class) = (yyvsp[(3) - (4)].number);
4726 >    yy_class->max_global = (yyvsp[(3) - (4)].number);
4727   }
4728      break;
4729  
4730    case 220:
4731  
4732 < /* Line 1464 of yacc.c  */
4733 < #line 1499 "ircd_parser.y"
4732 > /* Line 1810 of yacc.c  */
4733 > #line 1401 "conf_parser.y"
4734      {
4735    if (conf_parser_ctx.pass == 1)
4736 <    MaxTotal(yy_class) = (yyvsp[(3) - (4)].number);
4736 >    yy_class->max_local = (yyvsp[(3) - (4)].number);
4737   }
4738      break;
4739  
4740    case 221:
4741  
4742 < /* Line 1464 of yacc.c  */
4743 < #line 1505 "ircd_parser.y"
4742 > /* Line 1810 of yacc.c  */
4743 > #line 1407 "conf_parser.y"
4744      {
4745    if (conf_parser_ctx.pass == 1)
4746 <    MaxGlobal(yy_class) = (yyvsp[(3) - (4)].number);
4746 >    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4747   }
4748      break;
4749  
4750    case 222:
4751  
4752 < /* Line 1464 of yacc.c  */
4753 < #line 1511 "ircd_parser.y"
4752 > /* Line 1810 of yacc.c  */
4753 > #line 1413 "conf_parser.y"
4754      {
4755    if (conf_parser_ctx.pass == 1)
4756 <    MaxLocal(yy_class) = (yyvsp[(3) - (4)].number);
4756 >    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4757   }
4758      break;
4759  
4760    case 223:
4761  
4762 < /* Line 1464 of yacc.c  */
4763 < #line 1517 "ircd_parser.y"
4762 > /* Line 1810 of yacc.c  */
4763 > #line 1419 "conf_parser.y"
4764      {
4765    if (conf_parser_ctx.pass == 1)
4766 <    MaxIdent(yy_class) = (yyvsp[(3) - (4)].number);
4766 >    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4767   }
4768      break;
4769  
4770    case 224:
4771  
4772 < /* Line 1464 of yacc.c  */
4773 < #line 1523 "ircd_parser.y"
4772 > /* Line 1810 of yacc.c  */
4773 > #line 1425 "conf_parser.y"
4774      {
4775    if (conf_parser_ctx.pass == 1)
4776 <    MaxSendq(yy_class) = (yyvsp[(3) - (4)].number);
4776 >    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4777   }
4778      break;
4779  
4780    case 225:
4781  
4782 < /* Line 1464 of yacc.c  */
4783 < #line 1529 "ircd_parser.y"
4782 > /* Line 1810 of yacc.c  */
4783 > #line 1431 "conf_parser.y"
4784      {
4785    if (conf_parser_ctx.pass == 1)
4786 <    CidrBitlenIPV4(yy_class) = (yyvsp[(3) - (4)].number);
4786 >    yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
4787   }
4788      break;
4789  
4790    case 226:
4791  
4792 < /* Line 1464 of yacc.c  */
4793 < #line 1535 "ircd_parser.y"
4922 <    {
4923 <  if (conf_parser_ctx.pass == 1)
4924 <    CidrBitlenIPV6(yy_class) = (yyvsp[(3) - (4)].number);
4925 < }
4926 <    break;
4927 <
4928 <  case 227:
4929 <
4930 < /* Line 1464 of yacc.c  */
4931 < #line 1541 "ircd_parser.y"
4932 <    {
4933 <  if (conf_parser_ctx.pass == 1)
4934 <    NumberPerCidr(yy_class) = (yyvsp[(3) - (4)].number);
4935 < }
4936 <    break;
4937 <
4938 <  case 228:
4939 <
4940 < /* Line 1464 of yacc.c  */
4941 < #line 1550 "ircd_parser.y"
4792 > /* Line 1810 of yacc.c  */
4793 > #line 1440 "conf_parser.y"
4794      {
4795    if (conf_parser_ctx.pass == 2)
4796    {
# Line 4948 | Line 4800 | yyreduce:
4800   }
4801      break;
4802  
4803 <  case 229:
4803 >  case 227:
4804  
4805 < /* Line 1464 of yacc.c  */
4806 < #line 1557 "ircd_parser.y"
4805 > /* Line 1810 of yacc.c  */
4806 > #line 1447 "conf_parser.y"
4807      {
4808    if (conf_parser_ctx.pass == 2)
4809    {
# Line 4961 | Line 4813 | yyreduce:
4813   }
4814      break;
4815  
4816 <  case 230:
4816 >  case 228:
4817  
4818 < /* Line 1464 of yacc.c  */
4819 < #line 1566 "ircd_parser.y"
4818 > /* Line 1810 of yacc.c  */
4819 > #line 1456 "conf_parser.y"
4820      {
4821    listener_flags = 0;
4822   }
4823      break;
4824  
4825 <  case 234:
4825 >  case 232:
4826  
4827 < /* Line 1464 of yacc.c  */
4828 < #line 1572 "ircd_parser.y"
4827 > /* Line 1810 of yacc.c  */
4828 > #line 1462 "conf_parser.y"
4829      {
4830    if (conf_parser_ctx.pass == 2)
4831      listener_flags |= LISTENER_SSL;
4832   }
4833      break;
4834  
4835 <  case 235:
4835 >  case 233:
4836  
4837 < /* Line 1464 of yacc.c  */
4838 < #line 1576 "ircd_parser.y"
4837 > /* Line 1810 of yacc.c  */
4838 > #line 1466 "conf_parser.y"
4839      {
4840    if (conf_parser_ctx.pass == 2)
4841      listener_flags |= LISTENER_HIDDEN;
4842   }
4843      break;
4844  
4845 <  case 236:
4845 >  case 234:
4846  
4847 < /* Line 1464 of yacc.c  */
4848 < #line 1580 "ircd_parser.y"
4847 > /* Line 1810 of yacc.c  */
4848 > #line 1470 "conf_parser.y"
4849      {
4850    if (conf_parser_ctx.pass == 2)
4851      listener_flags |= LISTENER_SERVER;
4852   }
4853      break;
4854  
4855 <  case 244:
4855 >  case 242:
4856  
4857 < /* Line 1464 of yacc.c  */
4858 < #line 1590 "ircd_parser.y"
4857 > /* Line 1810 of yacc.c  */
4858 > #line 1480 "conf_parser.y"
4859      { listener_flags = 0; }
4860      break;
4861  
4862 <  case 248:
4862 >  case 246:
4863  
4864 < /* Line 1464 of yacc.c  */
4865 < #line 1595 "ircd_parser.y"
4864 > /* Line 1810 of yacc.c  */
4865 > #line 1485 "conf_parser.y"
4866      {
4867    if (conf_parser_ctx.pass == 2)
4868    {
# Line 5027 | Line 4879 | yyreduce:
4879   }
4880      break;
4881  
4882 <  case 249:
4882 >  case 247:
4883  
4884 < /* Line 1464 of yacc.c  */
4885 < #line 1609 "ircd_parser.y"
4884 > /* Line 1810 of yacc.c  */
4885 > #line 1499 "conf_parser.y"
4886      {
4887    if (conf_parser_ctx.pass == 2)
4888    {
# Line 5051 | Line 4903 | yyreduce:
4903   }
4904      break;
4905  
4906 <  case 250:
4906 >  case 248:
4907  
4908 < /* Line 1464 of yacc.c  */
4909 < #line 1629 "ircd_parser.y"
4908 > /* Line 1810 of yacc.c  */
4909 > #line 1519 "conf_parser.y"
4910      {
4911    if (conf_parser_ctx.pass == 2)
4912    {
# Line 5064 | Line 4916 | yyreduce:
4916   }
4917      break;
4918  
4919 <  case 251:
4919 >  case 249:
4920  
4921 < /* Line 1464 of yacc.c  */
4922 < #line 1638 "ircd_parser.y"
4921 > /* Line 1810 of yacc.c  */
4922 > #line 1528 "conf_parser.y"
4923      {
4924    if (conf_parser_ctx.pass == 2)
4925    {
# Line 5077 | Line 4929 | yyreduce:
4929   }
4930      break;
4931  
4932 <  case 252:
4932 >  case 250:
4933  
4934 < /* Line 1464 of yacc.c  */
4935 < #line 1650 "ircd_parser.y"
4934 > /* Line 1810 of yacc.c  */
4935 > #line 1540 "conf_parser.y"
4936      {
4937    if (conf_parser_ctx.pass == 2)
4938    {
# Line 5095 | Line 4947 | yyreduce:
4947   }
4948      break;
4949  
4950 <  case 253:
4950 >  case 251:
4951  
4952 < /* Line 1464 of yacc.c  */
4953 < #line 1662 "ircd_parser.y"
4952 > /* Line 1810 of yacc.c  */
4953 > #line 1552 "conf_parser.y"
4954      {
4955    if (conf_parser_ctx.pass == 2)
4956    {
# Line 5156 | Line 5008 | yyreduce:
5008   }
5009      break;
5010  
5011 <  case 265:
5011 >  case 263:
5012  
5013 < /* Line 1464 of yacc.c  */
5014 < #line 1724 "ircd_parser.y"
5013 > /* Line 1810 of yacc.c  */
5014 > #line 1614 "conf_parser.y"
5015      {
5016    if (conf_parser_ctx.pass == 2)
5017    {
# Line 5195 | Line 5047 | yyreduce:
5047   }
5048      break;
5049  
5050 <  case 266:
5050 >  case 264:
5051  
5052 < /* Line 1464 of yacc.c  */
5053 < #line 1761 "ircd_parser.y"
5052 > /* Line 1810 of yacc.c  */
5053 > #line 1649 "conf_parser.y"
5054      {
5055    if (conf_parser_ctx.pass == 2)
5056    {
# Line 5212 | Line 5064 | yyreduce:
5064   }
5065      break;
5066  
5067 <  case 267:
5067 >  case 265:
5068  
5069 < /* Line 1464 of yacc.c  */
5070 < #line 1774 "ircd_parser.y"
5069 > /* Line 1810 of yacc.c  */
5070 > #line 1662 "conf_parser.y"
5071      {
5072    if (conf_parser_ctx.pass == 2)
5073    {
# Line 5225 | Line 5077 | yyreduce:
5077   }
5078      break;
5079  
5080 <  case 268:
5080 >  case 266:
5081  
5082 < /* Line 1464 of yacc.c  */
5083 < #line 1783 "ircd_parser.y"
5082 > /* Line 1810 of yacc.c  */
5083 > #line 1671 "conf_parser.y"
5084      {
5085    if (conf_parser_ctx.pass == 2)
5086    {
# Line 5240 | Line 5092 | yyreduce:
5092   }
5093      break;
5094  
5095 <  case 269:
5244 <
5245 < /* Line 1464 of yacc.c  */
5246 < #line 1794 "ircd_parser.y"
5247 <    {
5248 < }
5249 <    break;
5250 <
5251 <  case 273:
5252 <
5253 < /* Line 1464 of yacc.c  */
5254 < #line 1798 "ircd_parser.y"
5255 <    { not_atom = 1; }
5256 <    break;
5257 <
5258 <  case 275:
5259 <
5260 < /* Line 1464 of yacc.c  */
5261 < #line 1799 "ircd_parser.y"
5262 <    { not_atom = 0; }
5263 <    break;
5264 <
5265 <  case 277:
5095 >  case 267:
5096  
5097 < /* Line 1464 of yacc.c  */
5098 < #line 1802 "ircd_parser.y"
5097 > /* Line 1810 of yacc.c  */
5098 > #line 1682 "conf_parser.y"
5099      {
5270  if (conf_parser_ctx.pass == 2)
5271  {
5272    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_SPOOF_NOTICE;
5273    else yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5274  }
5100   }
5101      break;
5102  
5103 <  case 278:
5103 >  case 271:
5104  
5105 < /* Line 1464 of yacc.c  */
5106 < #line 1809 "ircd_parser.y"
5105 > /* Line 1810 of yacc.c  */
5106 > #line 1687 "conf_parser.y"
5107      {
5108    if (conf_parser_ctx.pass == 2)
5109 <  {
5285 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NOLIMIT;
5286 <    else yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5287 <  }
5109 >    yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5110   }
5111      break;
5112  
5113 <  case 279:
5113 >  case 272:
5114  
5115 < /* Line 1464 of yacc.c  */
5116 < #line 1816 "ircd_parser.y"
5115 > /* Line 1810 of yacc.c  */
5116 > #line 1691 "conf_parser.y"
5117      {
5118    if (conf_parser_ctx.pass == 2)
5119 <  {
5298 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTKLINE;
5299 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5300 <  }
5119 >    yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5120   }
5121      break;
5122  
5123 <  case 280:
5123 >  case 273:
5124  
5125 < /* Line 1464 of yacc.c  */
5126 < #line 1823 "ircd_parser.y"
5125 > /* Line 1810 of yacc.c  */
5126 > #line 1695 "conf_parser.y"
5127      {
5128    if (conf_parser_ctx.pass == 2)
5129 <  {
5311 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_IDENTD;
5312 <    else yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5313 <  }
5129 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5130   }
5131      break;
5132  
5133 <  case 281:
5133 >  case 274:
5134  
5135 < /* Line 1464 of yacc.c  */
5136 < #line 1830 "ircd_parser.y"
5135 > /* Line 1810 of yacc.c  */
5136 > #line 1699 "conf_parser.y"
5137      {
5138    if (conf_parser_ctx.pass == 2)
5139 <  {
5324 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_CAN_FLOOD;
5325 <    else yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5326 <  }
5139 >    yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5140   }
5141      break;
5142  
5143 <  case 282:
5143 >  case 275:
5144  
5145 < /* Line 1464 of yacc.c  */
5146 < #line 1837 "ircd_parser.y"
5145 > /* Line 1810 of yacc.c  */
5146 > #line 1703 "conf_parser.y"
5147      {
5148    if (conf_parser_ctx.pass == 2)
5149 <  {
5337 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_IDLE_LINED;
5338 <    else yy_aconf->flags |= CONF_FLAGS_IDLE_LINED;
5339 <  }
5149 >    yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5150   }
5151      break;
5152  
5153 <  case 283:
5153 >  case 276:
5154  
5155 < /* Line 1464 of yacc.c  */
5156 < #line 1844 "ircd_parser.y"
5155 > /* Line 1810 of yacc.c  */
5156 > #line 1707 "conf_parser.y"
5157      {
5158    if (conf_parser_ctx.pass == 2)
5159 <  {
5350 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NO_TILDE;
5351 <    else yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5352 <  }
5159 >    yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5160   }
5161      break;
5162  
5163 <  case 284:
5163 >  case 277:
5164  
5165 < /* Line 1464 of yacc.c  */
5166 < #line 1851 "ircd_parser.y"
5165 > /* Line 1810 of yacc.c  */
5166 > #line 1711 "conf_parser.y"
5167      {
5168    if (conf_parser_ctx.pass == 2)
5169 <  {
5363 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTGLINE;
5364 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5365 <  }
5169 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5170   }
5171      break;
5172  
5173 <  case 285:
5173 >  case 278:
5174  
5175 < /* Line 1464 of yacc.c  */
5176 < #line 1858 "ircd_parser.y"
5175 > /* Line 1810 of yacc.c  */
5176 > #line 1715 "conf_parser.y"
5177      {
5178    if (conf_parser_ctx.pass == 2)
5179 <  {
5376 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTRESV;
5377 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5378 <  }
5179 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5180   }
5181      break;
5182  
5183 <  case 286:
5183 >  case 279:
5184  
5185 < /* Line 1464 of yacc.c  */
5186 < #line 1865 "ircd_parser.y"
5185 > /* Line 1810 of yacc.c  */
5186 > #line 1719 "conf_parser.y"
5187      {
5188    if (conf_parser_ctx.pass == 2)
5189 <  {
5389 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_PASSWORD;
5390 <    else yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5391 <  }
5189 >    yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5190   }
5191      break;
5192  
5193 <  case 287:
5193 >  case 280:
5194  
5195 < /* Line 1464 of yacc.c  */
5196 < #line 1875 "ircd_parser.y"
5195 > /* Line 1810 of yacc.c  */
5196 > #line 1726 "conf_parser.y"
5197      {
5198    if (conf_parser_ctx.pass == 2)
5199    {
# Line 5408 | Line 5206 | yyreduce:
5206      }
5207      else
5208      {
5209 <      ilog(L_ERROR, "Spoofs must be less than %d..ignoring it", HOSTLEN);
5209 >      ilog(LOG_TYPE_IRCD, "Spoofs must be less than %d..ignoring it", HOSTLEN);
5210        yy_conf->name = NULL;
5211      }
5212    }
5213   }
5214      break;
5215  
5216 <  case 288:
5216 >  case 281:
5217  
5218 < /* Line 1464 of yacc.c  */
5219 < #line 1894 "ircd_parser.y"
5218 > /* Line 1810 of yacc.c  */
5219 > #line 1745 "conf_parser.y"
5220      {
5221    if (conf_parser_ctx.pass == 2)
5222    {
# Line 5429 | Line 5227 | yyreduce:
5227   }
5228      break;
5229  
5230 <  case 289:
5230 >  case 282:
5231  
5232 < /* Line 1464 of yacc.c  */
5233 < #line 1904 "ircd_parser.y"
5232 > /* Line 1810 of yacc.c  */
5233 > #line 1755 "conf_parser.y"
5234      {
5235    if (conf_parser_ctx.pass == 2)
5236    {
# Line 5442 | Line 5240 | yyreduce:
5240   }
5241      break;
5242  
5243 <  case 290:
5243 >  case 283:
5244  
5245 < /* Line 1464 of yacc.c  */
5246 < #line 1917 "ircd_parser.y"
5245 > /* Line 1810 of yacc.c  */
5246 > #line 1768 "conf_parser.y"
5247      {
5248    if (conf_parser_ctx.pass == 2)
5249    {
# Line 5455 | Line 5253 | yyreduce:
5253   }
5254      break;
5255  
5256 <  case 291:
5256 >  case 284:
5257  
5258 < /* Line 1464 of yacc.c  */
5259 < #line 1924 "ircd_parser.y"
5258 > /* Line 1810 of yacc.c  */
5259 > #line 1775 "conf_parser.y"
5260      {
5261    if (conf_parser_ctx.pass == 2)
5262    {
# Line 5468 | Line 5266 | yyreduce:
5266   }
5267      break;
5268  
5269 <  case 298:
5269 >  case 291:
5270  
5271 < /* Line 1464 of yacc.c  */
5272 < #line 1936 "ircd_parser.y"
5271 > /* Line 1810 of yacc.c  */
5272 > #line 1787 "conf_parser.y"
5273      {
5274    if (conf_parser_ctx.pass == 2)
5275    {
# Line 5481 | Line 5279 | yyreduce:
5279   }
5280      break;
5281  
5282 <  case 299:
5282 >  case 292:
5283  
5284 < /* Line 1464 of yacc.c  */
5285 < #line 1945 "ircd_parser.y"
5284 > /* Line 1810 of yacc.c  */
5285 > #line 1796 "conf_parser.y"
5286      {
5287    if (conf_parser_ctx.pass == 2)
5288    {
# Line 5500 | Line 5298 | yyreduce:
5298   }
5299      break;
5300  
5301 <  case 300:
5301 >  case 293:
5302  
5303 < /* Line 1464 of yacc.c  */
5304 < #line 1960 "ircd_parser.y"
5303 > /* Line 1810 of yacc.c  */
5304 > #line 1811 "conf_parser.y"
5305      {
5306    if (conf_parser_ctx.pass == 2)
5307    {
# Line 5514 | Line 5312 | yyreduce:
5312   }
5313      break;
5314  
5315 <  case 301:
5315 >  case 299:
5316  
5317 < /* Line 1464 of yacc.c  */
5318 < #line 1973 "ircd_parser.y"
5317 > /* Line 1810 of yacc.c  */
5318 > #line 1829 "conf_parser.y"
5319 >    {
5320 >  if (conf_parser_ctx.pass == 2)
5321 >  {
5322 >    if (valid_servname(yylval.string))
5323 >    {
5324 >      yy_conf = make_conf_item(SERVICE_TYPE);
5325 >      DupString(yy_conf->name, yylval.string);
5326 >    }
5327 >  }
5328 > }
5329 >    break;
5330 >
5331 >  case 300:
5332 >
5333 > /* Line 1810 of yacc.c  */
5334 > #line 1844 "conf_parser.y"
5335      {
5336    if (conf_parser_ctx.pass == 2)
5337    {
# Line 5528 | Line 5342 | yyreduce:
5342   }
5343      break;
5344  
5345 <  case 302:
5345 >  case 301:
5346  
5347 < /* Line 1464 of yacc.c  */
5348 < #line 1981 "ircd_parser.y"
5347 > /* Line 1810 of yacc.c  */
5348 > #line 1852 "conf_parser.y"
5349      {
5350    if (conf_parser_ctx.pass == 2)
5351    {
# Line 5540 | Line 5354 | yyreduce:
5354   }
5355      break;
5356  
5357 <  case 309:
5357 >  case 308:
5358  
5359 < /* Line 1464 of yacc.c  */
5360 < #line 1992 "ircd_parser.y"
5359 > /* Line 1810 of yacc.c  */
5360 > #line 1863 "conf_parser.y"
5361      {
5362    if (conf_parser_ctx.pass == 2)
5363    {
# Line 5553 | Line 5367 | yyreduce:
5367   }
5368      break;
5369  
5370 <  case 310:
5370 >  case 309:
5371  
5372 < /* Line 1464 of yacc.c  */
5373 < #line 2001 "ircd_parser.y"
5372 > /* Line 1810 of yacc.c  */
5373 > #line 1872 "conf_parser.y"
5374      {
5375    if (conf_parser_ctx.pass == 2)
5376    {
# Line 5579 | Line 5393 | yyreduce:
5393   }
5394      break;
5395  
5396 <  case 311:
5396 >  case 310:
5397  
5398 < /* Line 1464 of yacc.c  */
5399 < #line 2023 "ircd_parser.y"
5398 > /* Line 1810 of yacc.c  */
5399 > #line 1894 "conf_parser.y"
5400      {
5401    if (conf_parser_ctx.pass == 2)
5402      yy_match_item->action = 0;
5403   }
5404      break;
5405  
5406 <  case 315:
5406 >  case 314:
5407  
5408 < /* Line 1464 of yacc.c  */
5409 < #line 2030 "ircd_parser.y"
5408 > /* Line 1810 of yacc.c  */
5409 > #line 1901 "conf_parser.y"
5410      {
5411    if (conf_parser_ctx.pass == 2)
5412      yy_match_item->action |= SHARED_KLINE;
5413   }
5414      break;
5415  
5416 <  case 316:
5416 >  case 315:
5417  
5418 < /* Line 1464 of yacc.c  */
5419 < #line 2034 "ircd_parser.y"
5418 > /* Line 1810 of yacc.c  */
5419 > #line 1905 "conf_parser.y"
5420      {
5421    if (conf_parser_ctx.pass == 2)
5422 <    yy_match_item->action |= SHARED_TKLINE;
5422 >    yy_match_item->action |= SHARED_UNKLINE;
5423   }
5424      break;
5425  
5426 <  case 317:
5426 >  case 316:
5427  
5428 < /* Line 1464 of yacc.c  */
5429 < #line 2038 "ircd_parser.y"
5428 > /* Line 1810 of yacc.c  */
5429 > #line 1909 "conf_parser.y"
5430      {
5431    if (conf_parser_ctx.pass == 2)
5432 <    yy_match_item->action |= SHARED_UNKLINE;
5432 >    yy_match_item->action |= SHARED_DLINE;
5433   }
5434      break;
5435  
5436 <  case 318:
5436 >  case 317:
5437  
5438 < /* Line 1464 of yacc.c  */
5439 < #line 2042 "ircd_parser.y"
5438 > /* Line 1810 of yacc.c  */
5439 > #line 1913 "conf_parser.y"
5440      {
5441    if (conf_parser_ctx.pass == 2)
5442 <    yy_match_item->action |= SHARED_XLINE;
5442 >    yy_match_item->action |= SHARED_UNDLINE;
5443   }
5444      break;
5445  
5446 <  case 319:
5446 >  case 318:
5447  
5448 < /* Line 1464 of yacc.c  */
5449 < #line 2046 "ircd_parser.y"
5448 > /* Line 1810 of yacc.c  */
5449 > #line 1917 "conf_parser.y"
5450      {
5451    if (conf_parser_ctx.pass == 2)
5452 <    yy_match_item->action |= SHARED_TXLINE;
5452 >    yy_match_item->action |= SHARED_XLINE;
5453   }
5454      break;
5455  
5456 <  case 320:
5456 >  case 319:
5457  
5458 < /* Line 1464 of yacc.c  */
5459 < #line 2050 "ircd_parser.y"
5458 > /* Line 1810 of yacc.c  */
5459 > #line 1921 "conf_parser.y"
5460      {
5461    if (conf_parser_ctx.pass == 2)
5462      yy_match_item->action |= SHARED_UNXLINE;
5463   }
5464      break;
5465  
5466 <  case 321:
5466 >  case 320:
5467  
5468 < /* Line 1464 of yacc.c  */
5469 < #line 2054 "ircd_parser.y"
5468 > /* Line 1810 of yacc.c  */
5469 > #line 1925 "conf_parser.y"
5470      {
5471    if (conf_parser_ctx.pass == 2)
5472      yy_match_item->action |= SHARED_RESV;
5473   }
5474      break;
5475  
5476 <  case 322:
5663 <
5664 < /* Line 1464 of yacc.c  */
5665 < #line 2058 "ircd_parser.y"
5666 <    {
5667 <  if (conf_parser_ctx.pass == 2)
5668 <    yy_match_item->action |= SHARED_TRESV;
5669 < }
5670 <    break;
5671 <
5672 <  case 323:
5476 >  case 321:
5477  
5478 < /* Line 1464 of yacc.c  */
5479 < #line 2062 "ircd_parser.y"
5478 > /* Line 1810 of yacc.c  */
5479 > #line 1929 "conf_parser.y"
5480      {
5481    if (conf_parser_ctx.pass == 2)
5482      yy_match_item->action |= SHARED_UNRESV;
5483   }
5484      break;
5485  
5486 <  case 324:
5486 >  case 322:
5487  
5488 < /* Line 1464 of yacc.c  */
5489 < #line 2066 "ircd_parser.y"
5488 > /* Line 1810 of yacc.c  */
5489 > #line 1933 "conf_parser.y"
5490      {
5491    if (conf_parser_ctx.pass == 2)
5492      yy_match_item->action |= SHARED_LOCOPS;
5493   }
5494      break;
5495  
5496 <  case 325:
5496 >  case 323:
5497  
5498 < /* Line 1464 of yacc.c  */
5499 < #line 2070 "ircd_parser.y"
5498 > /* Line 1810 of yacc.c  */
5499 > #line 1937 "conf_parser.y"
5500      {
5501    if (conf_parser_ctx.pass == 2)
5502      yy_match_item->action = SHARED_ALL;
5503   }
5504      break;
5505  
5506 <  case 326:
5506 >  case 324:
5507  
5508 < /* Line 1464 of yacc.c  */
5509 < #line 2079 "ircd_parser.y"
5508 > /* Line 1810 of yacc.c  */
5509 > #line 1946 "conf_parser.y"
5510      {
5511    if (conf_parser_ctx.pass == 2)
5512    {
# Line 5712 | Line 5516 | yyreduce:
5516   }
5517      break;
5518  
5519 <  case 327:
5519 >  case 325:
5520  
5521 < /* Line 1464 of yacc.c  */
5522 < #line 2086 "ircd_parser.y"
5521 > /* Line 1810 of yacc.c  */
5522 > #line 1953 "conf_parser.y"
5523      {
5524    if (conf_parser_ctx.pass == 2)
5525    {
# Line 5726 | Line 5530 | yyreduce:
5530   }
5531      break;
5532  
5533 <  case 333:
5533 >  case 331:
5534  
5535 < /* Line 1464 of yacc.c  */
5536 < #line 2099 "ircd_parser.y"
5535 > /* Line 1810 of yacc.c  */
5536 > #line 1966 "conf_parser.y"
5537      {
5538    if (conf_parser_ctx.pass == 2)
5539      DupString(yy_conf->name, yylval.string);
5540   }
5541      break;
5542  
5543 <  case 334:
5543 >  case 332:
5544  
5545 < /* Line 1464 of yacc.c  */
5546 < #line 2105 "ircd_parser.y"
5545 > /* Line 1810 of yacc.c  */
5546 > #line 1972 "conf_parser.y"
5547      {
5548    if (conf_parser_ctx.pass == 2)
5549      yy_conf->flags = 0;
5550   }
5551      break;
5552  
5553 <  case 338:
5553 >  case 336:
5554  
5555 < /* Line 1464 of yacc.c  */
5556 < #line 2112 "ircd_parser.y"
5555 > /* Line 1810 of yacc.c  */
5556 > #line 1979 "conf_parser.y"
5557      {
5558    if (conf_parser_ctx.pass == 2)
5559      yy_conf->flags |= SHARED_KLINE;
5560   }
5561      break;
5562  
5563 <  case 339:
5563 >  case 337:
5564  
5565 < /* Line 1464 of yacc.c  */
5566 < #line 2116 "ircd_parser.y"
5565 > /* Line 1810 of yacc.c  */
5566 > #line 1983 "conf_parser.y"
5567      {
5568    if (conf_parser_ctx.pass == 2)
5569 <    yy_conf->flags |= SHARED_TKLINE;
5569 >    yy_conf->flags |= SHARED_UNKLINE;
5570   }
5571      break;
5572  
5573 <  case 340:
5573 >  case 338:
5574  
5575 < /* Line 1464 of yacc.c  */
5576 < #line 2120 "ircd_parser.y"
5575 > /* Line 1810 of yacc.c  */
5576 > #line 1987 "conf_parser.y"
5577      {
5578    if (conf_parser_ctx.pass == 2)
5579 <    yy_conf->flags |= SHARED_UNKLINE;
5579 >    yy_conf->flags |= SHARED_DLINE;
5580   }
5581      break;
5582  
5583 <  case 341:
5583 >  case 339:
5584  
5585 < /* Line 1464 of yacc.c  */
5586 < #line 2124 "ircd_parser.y"
5585 > /* Line 1810 of yacc.c  */
5586 > #line 1991 "conf_parser.y"
5587      {
5588    if (conf_parser_ctx.pass == 2)
5589 <    yy_conf->flags |= SHARED_XLINE;
5589 >    yy_conf->flags |= SHARED_UNDLINE;
5590   }
5591      break;
5592  
5593 <  case 342:
5593 >  case 340:
5594  
5595 < /* Line 1464 of yacc.c  */
5596 < #line 2128 "ircd_parser.y"
5595 > /* Line 1810 of yacc.c  */
5596 > #line 1995 "conf_parser.y"
5597      {
5598    if (conf_parser_ctx.pass == 2)
5599 <    yy_conf->flags |= SHARED_TXLINE;
5599 >    yy_conf->flags |= SHARED_XLINE;
5600   }
5601      break;
5602  
5603 <  case 343:
5603 >  case 341:
5604  
5605 < /* Line 1464 of yacc.c  */
5606 < #line 2132 "ircd_parser.y"
5605 > /* Line 1810 of yacc.c  */
5606 > #line 1999 "conf_parser.y"
5607      {
5608    if (conf_parser_ctx.pass == 2)
5609      yy_conf->flags |= SHARED_UNXLINE;
5610   }
5611      break;
5612  
5613 <  case 344:
5613 >  case 342:
5614  
5615 < /* Line 1464 of yacc.c  */
5616 < #line 2136 "ircd_parser.y"
5615 > /* Line 1810 of yacc.c  */
5616 > #line 2003 "conf_parser.y"
5617      {
5618    if (conf_parser_ctx.pass == 2)
5619      yy_conf->flags |= SHARED_RESV;
5620   }
5621      break;
5622  
5623 <  case 345:
5820 <
5821 < /* Line 1464 of yacc.c  */
5822 < #line 2140 "ircd_parser.y"
5823 <    {
5824 <  if (conf_parser_ctx.pass == 2)
5825 <    yy_conf->flags |= SHARED_TRESV;
5826 < }
5827 <    break;
5828 <
5829 <  case 346:
5623 >  case 343:
5624  
5625 < /* Line 1464 of yacc.c  */
5626 < #line 2144 "ircd_parser.y"
5625 > /* Line 1810 of yacc.c  */
5626 > #line 2007 "conf_parser.y"
5627      {
5628    if (conf_parser_ctx.pass == 2)
5629      yy_conf->flags |= SHARED_UNRESV;
5630   }
5631      break;
5632  
5633 <  case 347:
5633 >  case 344:
5634  
5635 < /* Line 1464 of yacc.c  */
5636 < #line 2148 "ircd_parser.y"
5635 > /* Line 1810 of yacc.c  */
5636 > #line 2011 "conf_parser.y"
5637      {
5638    if (conf_parser_ctx.pass == 2)
5639      yy_conf->flags |= SHARED_LOCOPS;
5640   }
5641      break;
5642  
5643 <  case 348:
5643 >  case 345:
5644  
5645 < /* Line 1464 of yacc.c  */
5646 < #line 2152 "ircd_parser.y"
5645 > /* Line 1810 of yacc.c  */
5646 > #line 2015 "conf_parser.y"
5647      {
5648    if (conf_parser_ctx.pass == 2)
5649      yy_conf->flags = SHARED_ALL;
5650   }
5651      break;
5652  
5653 <  case 349:
5653 >  case 346:
5654  
5655 < /* Line 1464 of yacc.c  */
5656 < #line 2161 "ircd_parser.y"
5655 > /* Line 1810 of yacc.c  */
5656 > #line 2024 "conf_parser.y"
5657      {
5658    if (conf_parser_ctx.pass == 2)
5659    {
5660      yy_conf = make_conf_item(SERVER_TYPE);
5661 <    yy_aconf = (struct AccessItem *)map_to_conf(yy_conf);
5662 <    yy_aconf->passwd = NULL;
5661 >    yy_aconf = map_to_conf(yy_conf);
5662 >
5663      /* defaults */
5664      yy_aconf->port = PORTNUM;
5871
5872    if (ConfigFileEntry.burst_away)
5873      yy_aconf->flags = CONF_FLAGS_BURST_AWAY;
5665    }
5666    else
5667    {
# Line 5880 | Line 5671 | yyreduce:
5671   }
5672      break;
5673  
5674 <  case 350:
5674 >  case 347:
5675  
5676 < /* Line 1464 of yacc.c  */
5677 < #line 2179 "ircd_parser.y"
5676 > /* Line 1810 of yacc.c  */
5677 > #line 2039 "conf_parser.y"
5678      {
5679    if (conf_parser_ctx.pass == 2)
5680    {
5681 <    struct CollectItem *yy_hconf=NULL;
5682 <    struct CollectItem *yy_lconf=NULL;
5683 <    dlink_node *ptr;
5684 <    dlink_node *next_ptr;
5685 < #ifdef HAVE_LIBCRYPTO
5686 <    if (yy_aconf->host &&
5687 <        ((yy_aconf->passwd && yy_aconf->spasswd) ||
5688 <         (yy_aconf->rsa_public_key && IsConfCryptLink(yy_aconf))))
5898 < #else /* !HAVE_LIBCRYPTO */
5899 <      if (yy_aconf->host && !IsConfCryptLink(yy_aconf) &&
5900 <          yy_aconf->passwd && yy_aconf->spasswd)
5901 < #endif /* !HAVE_LIBCRYPTO */
5902 <        {
5903 <          if (conf_add_server(yy_conf, class_name) == -1)
5904 <          {
5905 <            delete_conf_item(yy_conf);
5906 <            yy_conf = NULL;
5907 <            yy_aconf = NULL;
5908 <          }
5909 <        }
5910 <        else
5911 <        {
5912 <          /* Even if yy_conf ->name is NULL
5913 <           * should still unhook any hub/leaf confs still pending
5914 <           */
5915 <          unhook_hub_leaf_confs();
5916 <
5917 <          if (yy_conf->name != NULL)
5918 <          {
5919 < #ifndef HAVE_LIBCRYPTO
5920 <            if (IsConfCryptLink(yy_aconf))
5921 <              yyerror("Ignoring connect block -- no OpenSSL support");
5922 < #else
5923 <            if (IsConfCryptLink(yy_aconf) && !yy_aconf->rsa_public_key)
5924 <              yyerror("Ignoring connect block -- missing key");
5925 < #endif
5926 <            if (yy_aconf->host == NULL)
5927 <              yyerror("Ignoring connect block -- missing host");
5928 <            else if (!IsConfCryptLink(yy_aconf) &&
5929 <                    (!yy_aconf->passwd || !yy_aconf->spasswd))
5930 <              yyerror("Ignoring connect block -- missing password");
5931 <          }
5932 <
5933 <
5934 <          /* XXX
5935 <           * This fixes a try_connections() core (caused by invalid class_ptr
5936 <           * pointers) reported by metalrock. That's an ugly fix, but there
5937 <           * is currently no better way. The entire config subsystem needs an
5938 <           * rewrite ASAP. make_conf_item() shouldn't really add things onto
5939 <           * a doubly linked list immediately without any sanity checks!  -Michael
5940 <           */
5941 <          delete_conf_item(yy_conf);
5942 <
5943 <          yy_aconf = NULL;
5944 <          yy_conf = NULL;
5945 <        }
5946 <
5947 <      /*
5948 <       * yy_conf is still pointing at the server that is having
5949 <       * a connect block built for it. This means, y_aconf->name
5950 <       * points to the actual irc name this server will be known as.
5951 <       * Now this new server has a set or even just one hub_mask (or leaf_mask)
5952 <       * given in the link list at yy_hconf. Fill in the HUB confs
5953 <       * from this link list now.
5954 <       */        
5955 <      DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
5956 <      {
5957 <        struct ConfItem *new_hub_conf;
5958 <        struct MatchItem *match_item;
5959 <
5960 <        yy_hconf = ptr->data;
5961 <
5962 <        /* yy_conf == NULL is a fatal error for this connect block! */
5963 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5964 <        {
5965 <          new_hub_conf = make_conf_item(HUB_TYPE);
5966 <          match_item = (struct MatchItem *)map_to_conf(new_hub_conf);
5967 <          DupString(new_hub_conf->name, yy_conf->name);
5968 <          if (yy_hconf->user != NULL)
5969 <            DupString(match_item->user, yy_hconf->user);
5970 <          else
5971 <            DupString(match_item->user, "*");
5972 <          if (yy_hconf->host != NULL)
5973 <            DupString(match_item->host, yy_hconf->host);
5974 <          else
5975 <            DupString(match_item->host, "*");
5976 <        }
5977 <        dlinkDelete(&yy_hconf->node, &hub_conf_list);
5978 <        free_collect_item(yy_hconf);
5979 <      }
5980 <
5981 <      /* Ditto for the LEAF confs */
5982 <
5983 <      DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
5681 >    if (yy_aconf->host && yy_aconf->passwd && yy_aconf->spasswd)
5682 >    {
5683 >      if (conf_add_server(yy_conf, class_name) == -1)
5684 >        delete_conf_item(yy_conf);
5685 >    }
5686 >    else
5687 >    {
5688 >      if (yy_conf->name != NULL)
5689        {
5690 <        struct ConfItem *new_leaf_conf;
5691 <        struct MatchItem *match_item;
5692 <
5693 <        yy_lconf = ptr->data;
5989 <
5990 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5991 <        {
5992 <          new_leaf_conf = make_conf_item(LEAF_TYPE);
5993 <          match_item = (struct MatchItem *)map_to_conf(new_leaf_conf);
5994 <          DupString(new_leaf_conf->name, yy_conf->name);
5995 <          if (yy_lconf->user != NULL)
5996 <            DupString(match_item->user, yy_lconf->user);
5997 <          else
5998 <            DupString(match_item->user, "*");
5999 <          if (yy_lconf->host != NULL)
6000 <            DupString(match_item->host, yy_lconf->host);
6001 <          else
6002 <            DupString(match_item->host, "*");
6003 <        }
6004 <        dlinkDelete(&yy_lconf->node, &leaf_conf_list);
6005 <        free_collect_item(yy_lconf);
5690 >        if (yy_aconf->host == NULL)
5691 >          yyerror("Ignoring connect block -- missing host");
5692 >        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5693 >          yyerror("Ignoring connect block -- missing password");
5694        }
6007      MyFree(class_name);
6008      class_name = NULL;
6009      yy_conf = NULL;
6010      yy_aconf = NULL;
6011  }
6012 }
6013    break;
6014
6015  case 371:
5695  
5696 < /* Line 1464 of yacc.c  */
5697 < #line 2317 "ircd_parser.y"
5698 <    {
5699 <  if (conf_parser_ctx.pass == 2)
5700 <  {
5701 <    if (yy_conf->name != NULL)
5702 <      yyerror("Multiple connect name entry");
5696 >      /* XXX
5697 >       * This fixes a try_connections() core (caused by invalid class_ptr
5698 >       * pointers) reported by metalrock. That's an ugly fix, but there
5699 >       * is currently no better way. The entire config subsystem needs an
5700 >       * rewrite ASAP. make_conf_item() shouldn't really add things onto
5701 >       * a doubly linked list immediately without any sanity checks!  -Michael
5702 >       */
5703 >      delete_conf_item(yy_conf);
5704 >    }
5705  
5706 <    MyFree(yy_conf->name);
5707 <    DupString(yy_conf->name, yylval.string);
5706 >    MyFree(class_name);
5707 >    class_name = NULL;
5708 >    yy_conf = NULL;
5709 >    yy_aconf = NULL;
5710    }
5711   }
5712      break;
5713  
5714 <  case 372:
5714 >  case 364:
5715  
5716 < /* Line 1464 of yacc.c  */
5717 < #line 2329 "ircd_parser.y"
5716 > /* Line 1810 of yacc.c  */
5717 > #line 2083 "conf_parser.y"
5718      {
5719    if (conf_parser_ctx.pass == 2)
5720    {
6038    if (yy_conf->name != NULL)
6039      yyerror("Multiple connect name entry");
6040
5721      MyFree(yy_conf->name);
5722      DupString(yy_conf->name, yylval.string);
5723    }
5724   }
5725      break;
5726  
5727 <  case 373:
5727 >  case 365:
5728  
5729 < /* Line 1464 of yacc.c  */
5730 < #line 2341 "ircd_parser.y"
5729 > /* Line 1810 of yacc.c  */
5730 > #line 2092 "conf_parser.y"
5731      {
5732    if (conf_parser_ctx.pass == 2)
5733    {
# Line 6057 | Line 5737 | yyreduce:
5737   }
5738      break;
5739  
5740 <  case 374:
5740 >  case 366:
5741  
5742 < /* Line 1464 of yacc.c  */
5743 < #line 2350 "ircd_parser.y"
5742 > /* Line 1810 of yacc.c  */
5743 > #line 2101 "conf_parser.y"
5744      {
5745    if (conf_parser_ctx.pass == 2)
5746    {
# Line 6072 | Line 5752 | yyreduce:
5752      hints.ai_socktype = SOCK_STREAM;
5753      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
5754  
5755 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
5756 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
5755 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
5756 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
5757      else
5758      {
5759        assert(res != NULL);
5760  
5761 <      memcpy(&yy_aconf->my_ipnum, res->ai_addr, res->ai_addrlen);
5762 <      yy_aconf->my_ipnum.ss.ss_family = res->ai_family;
5763 <      yy_aconf->my_ipnum.ss_len = res->ai_addrlen;
5764 <      irc_freeaddrinfo(res);
5761 >      memcpy(&yy_aconf->bind, res->ai_addr, res->ai_addrlen);
5762 >      yy_aconf->bind.ss.ss_family = res->ai_family;
5763 >      yy_aconf->bind.ss_len = res->ai_addrlen;
5764 >      freeaddrinfo(res);
5765      }
5766    }
5767   }
5768      break;
5769  
5770 <  case 375:
5770 >  case 367:
5771  
5772 < /* Line 1464 of yacc.c  */
5773 < #line 2376 "ircd_parser.y"
5772 > /* Line 1810 of yacc.c  */
5773 > #line 2127 "conf_parser.y"
5774      {
5775    if (conf_parser_ctx.pass == 2)
5776    {
# Line 6109 | Line 5789 | yyreduce:
5789   }
5790      break;
5791  
5792 <  case 376:
5792 >  case 368:
5793  
5794 < /* Line 1464 of yacc.c  */
5795 < #line 2394 "ircd_parser.y"
5794 > /* Line 1810 of yacc.c  */
5795 > #line 2145 "conf_parser.y"
5796      {
5797    if (conf_parser_ctx.pass == 2)
5798    {
# Line 6131 | Line 5811 | yyreduce:
5811   }
5812      break;
5813  
5814 <  case 377:
5814 >  case 369:
5815  
5816 < /* Line 1464 of yacc.c  */
5817 < #line 2412 "ircd_parser.y"
5816 > /* Line 1810 of yacc.c  */
5817 > #line 2163 "conf_parser.y"
5818      {
5819    if (conf_parser_ctx.pass == 2)
5820      yy_aconf->port = (yyvsp[(3) - (4)].number);
5821   }
5822      break;
5823  
5824 <  case 378:
5824 >  case 370:
5825  
5826 < /* Line 1464 of yacc.c  */
5827 < #line 2418 "ircd_parser.y"
5826 > /* Line 1810 of yacc.c  */
5827 > #line 2169 "conf_parser.y"
5828      {
5829    if (conf_parser_ctx.pass == 2)
5830      yy_aconf->aftype = AF_INET;
5831   }
5832      break;
5833  
5834 <  case 379:
5834 >  case 371:
5835  
5836 < /* Line 1464 of yacc.c  */
5837 < #line 2422 "ircd_parser.y"
5836 > /* Line 1810 of yacc.c  */
5837 > #line 2173 "conf_parser.y"
5838      {
5839   #ifdef IPV6
5840    if (conf_parser_ctx.pass == 2)
# Line 6163 | Line 5843 | yyreduce:
5843   }
5844      break;
5845  
5846 <  case 380:
6167 <
6168 < /* Line 1464 of yacc.c  */
6169 < #line 2430 "ircd_parser.y"
6170 <    {
6171 <  if (conf_parser_ctx.pass == 2)
6172 <  {
6173 <    MyFree(yy_aconf->fakename);
6174 <    DupString(yy_aconf->fakename, yylval.string);
6175 <  }
6176 < }
6177 <    break;
6178 <
6179 <  case 381:
6180 <
6181 < /* Line 1464 of yacc.c  */
6182 < #line 2439 "ircd_parser.y"
6183 <    {
6184 < }
6185 <    break;
6186 <
6187 <  case 385:
6188 <
6189 < /* Line 1464 of yacc.c  */
6190 < #line 2443 "ircd_parser.y"
6191 <    { not_atom = 1; }
6192 <    break;
6193 <
6194 <  case 387:
6195 <
6196 < /* Line 1464 of yacc.c  */
6197 < #line 2444 "ircd_parser.y"
6198 <    { not_atom = 0; }
6199 <    break;
6200 <
6201 <  case 389:
5846 >  case 372:
5847  
5848 < /* Line 1464 of yacc.c  */
5849 < #line 2447 "ircd_parser.y"
5848 > /* Line 1810 of yacc.c  */
5849 > #line 2181 "conf_parser.y"
5850      {
6206  if (conf_parser_ctx.pass == 2)
6207 #ifndef HAVE_LIBZ
6208    yyerror("Ignoring flags = compressed; -- no zlib support");
6209 #else
6210 {
6211   if (not_atom)ClearConfCompressed(yy_aconf);
6212   else SetConfCompressed(yy_aconf);
6213 }
6214 #endif
5851   }
5852      break;
5853  
5854 <  case 390:
5854 >  case 376:
5855  
5856 < /* Line 1464 of yacc.c  */
5857 < #line 2458 "ircd_parser.y"
5856 > /* Line 1810 of yacc.c  */
5857 > #line 2186 "conf_parser.y"
5858      {
5859    if (conf_parser_ctx.pass == 2)
5860 <  {
6225 <    if (not_atom)ClearConfCryptLink(yy_aconf);
6226 <    else SetConfCryptLink(yy_aconf);
6227 <  }
5860 >    SetConfAllowAutoConn(yy_aconf);
5861   }
5862      break;
5863  
5864 <  case 391:
6232 <
6233 < /* Line 1464 of yacc.c  */
6234 < #line 2465 "ircd_parser.y"
6235 <    {
6236 <  if (conf_parser_ctx.pass == 2)
6237 <  {
6238 <    if (not_atom)ClearConfAllowAutoConn(yy_aconf);
6239 <    else SetConfAllowAutoConn(yy_aconf);
6240 <  }
6241 < }
6242 <    break;
6243 <
6244 <  case 392:
5864 >  case 377:
5865  
5866 < /* Line 1464 of yacc.c  */
5867 < #line 2472 "ircd_parser.y"
5866 > /* Line 1810 of yacc.c  */
5867 > #line 2190 "conf_parser.y"
5868      {
5869    if (conf_parser_ctx.pass == 2)
5870 <  {
6251 <    if (not_atom)ClearConfAwayBurst(yy_aconf);
6252 <    else SetConfAwayBurst(yy_aconf);
6253 <  }
5870 >    SetConfAwayBurst(yy_aconf);
5871   }
5872      break;
5873  
5874 <  case 393:
5874 >  case 378:
5875  
5876 < /* Line 1464 of yacc.c  */
5877 < #line 2479 "ircd_parser.y"
5876 > /* Line 1810 of yacc.c  */
5877 > #line 2194 "conf_parser.y"
5878      {
5879    if (conf_parser_ctx.pass == 2)
5880 <  {
6264 <    if (not_atom)ClearConfTopicBurst(yy_aconf);
6265 <    else SetConfTopicBurst(yy_aconf);
6266 <  }
5880 >    SetConfTopicBurst(yy_aconf);
5881   }
5882      break;
5883  
5884 <  case 394:
5884 >  case 379:
5885  
5886 < /* Line 1464 of yacc.c  */
5887 < #line 2489 "ircd_parser.y"
5886 > /* Line 1810 of yacc.c  */
5887 > #line 2198 "conf_parser.y"
5888      {
6275 #ifdef HAVE_LIBCRYPTO
5889    if (conf_parser_ctx.pass == 2)
5890 <  {
6278 <    BIO *file;
6279 <
6280 <    if (yy_aconf->rsa_public_key != NULL)
6281 <    {
6282 <      RSA_free(yy_aconf->rsa_public_key);
6283 <      yy_aconf->rsa_public_key = NULL;
6284 <    }
6285 <
6286 <    if (yy_aconf->rsa_public_key_file != NULL)
6287 <    {
6288 <      MyFree(yy_aconf->rsa_public_key_file);
6289 <      yy_aconf->rsa_public_key_file = NULL;
6290 <    }
6291 <
6292 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
6293 <
6294 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
6295 <    {
6296 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
6297 <      break;
6298 <    }
6299 <
6300 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
6301 <
6302 <    if (yy_aconf->rsa_public_key == NULL)
6303 <    {
6304 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
6305 <      break;
6306 <    }
6307 <      
6308 <    BIO_set_close(file, BIO_CLOSE);
6309 <    BIO_free(file);
6310 <  }
6311 < #endif /* HAVE_LIBCRYPTO */
5890 >    SetConfSSL(yy_aconf);
5891   }
5892      break;
5893  
5894 <  case 395:
5894 >  case 380:
5895  
5896 < /* Line 1464 of yacc.c  */
5897 < #line 2530 "ircd_parser.y"
5896 > /* Line 1810 of yacc.c  */
5897 > #line 2204 "conf_parser.y"
5898      {
5899    if (conf_parser_ctx.pass == 2)
5900    {
# Line 6327 | Line 5906 | yyreduce:
5906   }
5907      break;
5908  
5909 <  case 396:
5909 >  case 381:
5910  
5911 < /* Line 1464 of yacc.c  */
5912 < #line 2541 "ircd_parser.y"
5911 > /* Line 1810 of yacc.c  */
5912 > #line 2215 "conf_parser.y"
5913      {
5914    if (conf_parser_ctx.pass == 2)
5915    {
5916 <    struct CollectItem *yy_tmp;
5916 >    char *mask;
5917  
5918 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5919 <    DupString(yy_tmp->host, yylval.string);
6341 <    DupString(yy_tmp->user, "*");
6342 <    dlinkAdd(yy_tmp, &yy_tmp->node, &hub_conf_list);
5918 >    DupString(mask, yylval.string);
5919 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->hub_list);
5920    }
5921   }
5922      break;
5923  
5924 <  case 397:
5924 >  case 382:
5925  
5926 < /* Line 1464 of yacc.c  */
5927 < #line 2554 "ircd_parser.y"
5926 > /* Line 1810 of yacc.c  */
5927 > #line 2226 "conf_parser.y"
5928      {
5929    if (conf_parser_ctx.pass == 2)
5930    {
5931 <    struct CollectItem *yy_tmp;
5931 >    char *mask;
5932  
5933 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5934 <    DupString(yy_tmp->host, yylval.string);
6358 <    DupString(yy_tmp->user, "*");
6359 <    dlinkAdd(yy_tmp, &yy_tmp->node, &leaf_conf_list);
5933 >    DupString(mask, yylval.string);
5934 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->leaf_list);
5935    }
5936   }
5937      break;
5938  
5939 <  case 398:
5939 >  case 383:
5940  
5941 < /* Line 1464 of yacc.c  */
5942 < #line 2567 "ircd_parser.y"
5941 > /* Line 1810 of yacc.c  */
5942 > #line 2237 "conf_parser.y"
5943      {
5944    if (conf_parser_ctx.pass == 2)
5945    {
# Line 6374 | Line 5949 | yyreduce:
5949   }
5950      break;
5951  
5952 <  case 399:
5952 >  case 384:
5953  
5954 < /* Line 1464 of yacc.c  */
5955 < #line 2576 "ircd_parser.y"
5954 > /* Line 1810 of yacc.c  */
5955 > #line 2246 "conf_parser.y"
5956      {
5957   #ifdef HAVE_LIBCRYPTO
5958    if (conf_parser_ctx.pass == 2)
5959    {
5960 <    struct EncCapability *ecap;
5961 <    const char *cipher_name;
6387 <    int found = 0;
6388 <
6389 <    yy_aconf->cipher_preference = NULL;
6390 <    cipher_name = yylval.string;
6391 <
6392 <    for (ecap = CipherTable; ecap->name; ecap++)
6393 <    {
6394 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6395 <          (ecap->cap & CAP_ENC_MASK))
6396 <      {
6397 <        yy_aconf->cipher_preference = ecap;
6398 <        found = 1;
6399 <        break;
6400 <      }
6401 <    }
6402 <
6403 <    if (!found)
6404 <      yyerror("Invalid cipher");
5960 >    MyFree(yy_aconf->cipher_list);
5961 >    DupString(yy_aconf->cipher_list, yylval.string);
5962    }
5963   #else
5964    if (conf_parser_ctx.pass == 2)
5965 <    yyerror("Ignoring cipher_preference -- no OpenSSL support");
5965 >    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5966   #endif
5967   }
5968      break;
5969  
5970 <  case 400:
5970 >  case 385:
5971  
5972 < /* Line 1464 of yacc.c  */
5973 < #line 2611 "ircd_parser.y"
5972 > /* Line 1810 of yacc.c  */
5973 > #line 2264 "conf_parser.y"
5974      {
5975    if (conf_parser_ctx.pass == 2)
5976    {
# Line 6423 | Line 5980 | yyreduce:
5980   }
5981      break;
5982  
5983 <  case 401:
5983 >  case 386:
5984  
5985 < /* Line 1464 of yacc.c  */
5986 < #line 2618 "ircd_parser.y"
5985 > /* Line 1810 of yacc.c  */
5986 > #line 2271 "conf_parser.y"
5987      {
5988    if (conf_parser_ctx.pass == 2)
5989    {
# Line 6442 | Line 5999 | yyreduce:
5999          if (!(exp_user = ircd_pcre_compile(userbuf, &errptr)) ||
6000              !(exp_host = ircd_pcre_compile(hostbuf, &errptr)))
6001          {
6002 <          ilog(L_ERROR, "Failed to add regular expression based K-Line: %s",
6002 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
6003                 errptr);
6004            break;
6005          }
# Line 6459 | Line 6016 | yyreduce:
6016          else
6017            DupString(yy_aconf->reason, "No reason");
6018   #else
6019 <        ilog(L_ERROR, "Failed to add regular expression based K-Line: no PCRE support");
6019 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
6020          break;
6021   #endif
6022        }
6023        else
6024        {
6025 +        find_and_delete_temporary(userbuf, hostbuf, CONF_KLINE);
6026 +
6027          yy_aconf = map_to_conf(make_conf_item(KLINE_TYPE));
6028  
6029          DupString(yy_aconf->user, userbuf);
# Line 6474 | Line 6033 | yyreduce:
6033            DupString(yy_aconf->reason, reasonbuf);
6034          else
6035            DupString(yy_aconf->reason, "No reason");
6036 <        add_conf_by_address(CONF_KILL, yy_aconf);
6036 >        add_conf_by_address(CONF_KLINE, yy_aconf);
6037        }
6038      }
6039  
# Line 6483 | Line 6042 | yyreduce:
6042   }
6043      break;
6044  
6045 <  case 402:
6045 >  case 387:
6046  
6047 < /* Line 1464 of yacc.c  */
6048 < #line 2674 "ircd_parser.y"
6047 > /* Line 1810 of yacc.c  */
6048 > #line 2329 "conf_parser.y"
6049      {
6050   }
6051      break;
6052  
6053 <  case 406:
6053 >  case 391:
6054  
6055 < /* Line 1464 of yacc.c  */
6056 < #line 2679 "ircd_parser.y"
6055 > /* Line 1810 of yacc.c  */
6056 > #line 2334 "conf_parser.y"
6057      {
6058    if (conf_parser_ctx.pass == 2)
6059      regex_ban = 1;
6060   }
6061      break;
6062  
6063 <  case 413:
6063 >  case 398:
6064  
6065 < /* Line 1464 of yacc.c  */
6066 < #line 2688 "ircd_parser.y"
6065 > /* Line 1810 of yacc.c  */
6066 > #line 2343 "conf_parser.y"
6067      {
6068    if (conf_parser_ctx.pass == 2)
6069    {
# Line 6524 | Line 6083 | yyreduce:
6083   }
6084      break;
6085  
6086 <  case 414:
6086 >  case 399:
6087  
6088 < /* Line 1464 of yacc.c  */
6089 < #line 2707 "ircd_parser.y"
6088 > /* Line 1810 of yacc.c  */
6089 > #line 2362 "conf_parser.y"
6090      {
6091    if (conf_parser_ctx.pass == 2)
6092      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6093   }
6094      break;
6095  
6096 <  case 415:
6096 >  case 400:
6097  
6098 < /* Line 1464 of yacc.c  */
6099 < #line 2716 "ircd_parser.y"
6098 > /* Line 1810 of yacc.c  */
6099 > #line 2371 "conf_parser.y"
6100      {
6101    if (conf_parser_ctx.pass == 2)
6102      hostbuf[0] = reasonbuf[0] = '\0';
6103   }
6104      break;
6105  
6106 <  case 416:
6106 >  case 401:
6107  
6108 < /* Line 1464 of yacc.c  */
6109 < #line 2720 "ircd_parser.y"
6108 > /* Line 1810 of yacc.c  */
6109 > #line 2375 "conf_parser.y"
6110      {
6111    if (conf_parser_ctx.pass == 2)
6112    {
6113      if (hostbuf[0] && parse_netmask(hostbuf, NULL, NULL) != HM_HOST)
6114      {
6115 +      find_and_delete_temporary(NULL, hostbuf, CONF_DLINE);
6116 +
6117        yy_aconf = map_to_conf(make_conf_item(DLINE_TYPE));
6118        DupString(yy_aconf->host, hostbuf);
6119  
# Line 6567 | Line 6128 | yyreduce:
6128   }
6129      break;
6130  
6131 <  case 422:
6131 >  case 407:
6132  
6133 < /* Line 1464 of yacc.c  */
6134 < #line 2742 "ircd_parser.y"
6133 > /* Line 1810 of yacc.c  */
6134 > #line 2399 "conf_parser.y"
6135      {
6136    if (conf_parser_ctx.pass == 2)
6137      strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
6138   }
6139      break;
6140  
6141 <  case 423:
6141 >  case 408:
6142  
6143 < /* Line 1464 of yacc.c  */
6144 < #line 2748 "ircd_parser.y"
6143 > /* Line 1810 of yacc.c  */
6144 > #line 2405 "conf_parser.y"
6145      {
6146    if (conf_parser_ctx.pass == 2)
6147      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6148   }
6149      break;
6150  
6151 <  case 429:
6151 >  case 414:
6152  
6153 < /* Line 1464 of yacc.c  */
6154 < #line 2762 "ircd_parser.y"
6153 > /* Line 1810 of yacc.c  */
6154 > #line 2419 "conf_parser.y"
6155      {
6156    if (conf_parser_ctx.pass == 2)
6157    {
# Line 6606 | Line 6167 | yyreduce:
6167   }
6168      break;
6169  
6170 <  case 430:
6170 >  case 415:
6171  
6172 < /* Line 1464 of yacc.c  */
6173 < #line 2780 "ircd_parser.y"
6172 > /* Line 1810 of yacc.c  */
6173 > #line 2437 "conf_parser.y"
6174      {
6175    if (conf_parser_ctx.pass == 2)
6176    {
# Line 6619 | Line 6180 | yyreduce:
6180   }
6181      break;
6182  
6183 <  case 431:
6183 >  case 416:
6184  
6185 < /* Line 1464 of yacc.c  */
6186 < #line 2787 "ircd_parser.y"
6185 > /* Line 1810 of yacc.c  */
6186 > #line 2444 "conf_parser.y"
6187      {
6188    if (conf_parser_ctx.pass == 2)
6189    {
# Line 6636 | Line 6197 | yyreduce:
6197  
6198          if (!(exp_p = ircd_pcre_compile(gecos_name, &errptr)))
6199          {
6200 <          ilog(L_ERROR, "Failed to add regular expression based X-Line: %s",
6200 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
6201                 errptr);
6202            break;
6203          }
# Line 6644 | Line 6205 | yyreduce:
6205          yy_conf = make_conf_item(RXLINE_TYPE);
6206          yy_conf->regexpname = exp_p;
6207   #else
6208 <        ilog(L_ERROR, "Failed to add regular expression based X-Line: no PCRE support");
6208 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
6209          break;
6210   #endif
6211        }
# Line 6663 | Line 6224 | yyreduce:
6224   }
6225      break;
6226  
6227 <  case 432:
6227 >  case 417:
6228  
6229 < /* Line 1464 of yacc.c  */
6230 < #line 2827 "ircd_parser.y"
6229 > /* Line 1810 of yacc.c  */
6230 > #line 2484 "conf_parser.y"
6231      {
6232   }
6233      break;
6234  
6235 <  case 436:
6235 >  case 421:
6236  
6237 < /* Line 1464 of yacc.c  */
6238 < #line 2832 "ircd_parser.y"
6237 > /* Line 1810 of yacc.c  */
6238 > #line 2489 "conf_parser.y"
6239      {
6240    if (conf_parser_ctx.pass == 2)
6241      regex_ban = 1;
6242   }
6243      break;
6244  
6245 <  case 443:
6245 >  case 428:
6246  
6247 < /* Line 1464 of yacc.c  */
6248 < #line 2841 "ircd_parser.y"
6247 > /* Line 1810 of yacc.c  */
6248 > #line 2498 "conf_parser.y"
6249      {
6250    if (conf_parser_ctx.pass == 2)
6251      strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
6252   }
6253      break;
6254  
6255 <  case 444:
6255 >  case 429:
6256  
6257 < /* Line 1464 of yacc.c  */
6258 < #line 2847 "ircd_parser.y"
6257 > /* Line 1810 of yacc.c  */
6258 > #line 2504 "conf_parser.y"
6259      {
6260    if (conf_parser_ctx.pass == 2)
6261      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6262   }
6263      break;
6264  
6265 <  case 504:
6265 >  case 485:
6266  
6267 < /* Line 1464 of yacc.c  */
6268 < #line 2892 "ircd_parser.y"
6267 > /* Line 1810 of yacc.c  */
6268 > #line 2548 "conf_parser.y"
6269      {
6270    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
6271   }
6272      break;
6273  
6274 <  case 505:
6274 >  case 486:
6275  
6276 < /* Line 1464 of yacc.c  */
6277 < #line 2897 "ircd_parser.y"
6276 > /* Line 1810 of yacc.c  */
6277 > #line 2553 "conf_parser.y"
6278      {
6279    ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
6280   }
6281      break;
6282  
6283 <  case 506:
6283 >  case 487:
6284  
6285 < /* Line 1464 of yacc.c  */
6286 < #line 2902 "ircd_parser.y"
6285 > /* Line 1810 of yacc.c  */
6286 > #line 2558 "conf_parser.y"
6287      {
6288    ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
6289   }
6290      break;
6291  
6292 <  case 507:
6732 <
6733 < /* Line 1464 of yacc.c  */
6734 < #line 2907 "ircd_parser.y"
6735 <    {
6736 <  ConfigFileEntry.burst_away = yylval.number;
6737 < }
6738 <    break;
6739 <
6740 <  case 508:
6292 >  case 488:
6293  
6294 < /* Line 1464 of yacc.c  */
6295 < #line 2912 "ircd_parser.y"
6294 > /* Line 1810 of yacc.c  */
6295 > #line 2563 "conf_parser.y"
6296      {
6297    ConfigFileEntry.use_whois_actually = yylval.number;
6298   }
6299      break;
6300  
6301 <  case 509:
6301 >  case 489:
6302  
6303 < /* Line 1464 of yacc.c  */
6304 < #line 2917 "ircd_parser.y"
6303 > /* Line 1810 of yacc.c  */
6304 > #line 2568 "conf_parser.y"
6305      {
6306    GlobalSetOptions.rejecttime = yylval.number;
6307   }
6308      break;
6309  
6310 <  case 510:
6310 >  case 490:
6311  
6312 < /* Line 1464 of yacc.c  */
6313 < #line 2922 "ircd_parser.y"
6312 > /* Line 1810 of yacc.c  */
6313 > #line 2573 "conf_parser.y"
6314      {
6315    ConfigFileEntry.tkline_expire_notices = yylval.number;
6316   }
6317      break;
6318  
6319 <  case 511:
6319 >  case 491:
6320  
6321 < /* Line 1464 of yacc.c  */
6322 < #line 2927 "ircd_parser.y"
6321 > /* Line 1810 of yacc.c  */
6322 > #line 2578 "conf_parser.y"
6323      {
6324    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
6325   }
6326      break;
6327  
6328 <  case 512:
6328 >  case 492:
6329  
6330 < /* Line 1464 of yacc.c  */
6331 < #line 2932 "ircd_parser.y"
6330 > /* Line 1810 of yacc.c  */
6331 > #line 2583 "conf_parser.y"
6332      {
6333    ConfigFileEntry.hide_spoof_ips = yylval.number;
6334   }
6335      break;
6336  
6337 <  case 513:
6337 >  case 493:
6338  
6339 < /* Line 1464 of yacc.c  */
6340 < #line 2937 "ircd_parser.y"
6339 > /* Line 1810 of yacc.c  */
6340 > #line 2588 "conf_parser.y"
6341      {
6342    ConfigFileEntry.ignore_bogus_ts = yylval.number;
6343   }
6344      break;
6345  
6346 <  case 514:
6346 >  case 494:
6347  
6348 < /* Line 1464 of yacc.c  */
6349 < #line 2942 "ircd_parser.y"
6348 > /* Line 1810 of yacc.c  */
6349 > #line 2593 "conf_parser.y"
6350      {
6351    ConfigFileEntry.disable_remote = yylval.number;
6352   }
6353      break;
6354  
6355 <  case 515:
6355 >  case 495:
6356  
6357 < /* Line 1464 of yacc.c  */
6358 < #line 2947 "ircd_parser.y"
6357 > /* Line 1810 of yacc.c  */
6358 > #line 2598 "conf_parser.y"
6359      {
6360    ConfigFileEntry.failed_oper_notice = yylval.number;
6361   }
6362      break;
6363  
6364 <  case 516:
6364 >  case 496:
6365  
6366 < /* Line 1464 of yacc.c  */
6367 < #line 2952 "ircd_parser.y"
6366 > /* Line 1810 of yacc.c  */
6367 > #line 2603 "conf_parser.y"
6368      {
6369    ConfigFileEntry.anti_nick_flood = yylval.number;
6370   }
6371      break;
6372  
6373 <  case 517:
6373 >  case 497:
6374  
6375 < /* Line 1464 of yacc.c  */
6376 < #line 2957 "ircd_parser.y"
6375 > /* Line 1810 of yacc.c  */
6376 > #line 2608 "conf_parser.y"
6377      {
6378    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
6379   }
6380      break;
6381  
6382 <  case 518:
6382 >  case 498:
6383  
6384 < /* Line 1464 of yacc.c  */
6385 < #line 2962 "ircd_parser.y"
6384 > /* Line 1810 of yacc.c  */
6385 > #line 2613 "conf_parser.y"
6386      {
6387    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6388   }
6389      break;
6390  
6391 <  case 519:
6391 >  case 499:
6392  
6393 < /* Line 1464 of yacc.c  */
6394 < #line 2967 "ircd_parser.y"
6393 > /* Line 1810 of yacc.c  */
6394 > #line 2618 "conf_parser.y"
6395      {
6396    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6397   }
6398      break;
6399  
6400 <  case 520:
6400 >  case 500:
6401  
6402 < /* Line 1464 of yacc.c  */
6403 < #line 2972 "ircd_parser.y"
6402 > /* Line 1810 of yacc.c  */
6403 > #line 2623 "conf_parser.y"
6404      {
6405    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6406   }
6407      break;
6408  
6409 <  case 521:
6409 >  case 501:
6410  
6411 < /* Line 1464 of yacc.c  */
6412 < #line 2977 "ircd_parser.y"
6411 > /* Line 1810 of yacc.c  */
6412 > #line 2628 "conf_parser.y"
6413      {
6414    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6415   }
6416      break;
6417  
6418 <  case 522:
6418 >  case 502:
6419  
6420 < /* Line 1464 of yacc.c  */
6421 < #line 2982 "ircd_parser.y"
6420 > /* Line 1810 of yacc.c  */
6421 > #line 2633 "conf_parser.y"
6422      {
6423    if (conf_parser_ctx.pass == 2)
6424      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6425   }
6426      break;
6427  
6428 <  case 523:
6428 >  case 503:
6429  
6430 < /* Line 1464 of yacc.c  */
6431 < #line 2988 "ircd_parser.y"
6430 > /* Line 1810 of yacc.c  */
6431 > #line 2639 "conf_parser.y"
6432      {
6433    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6434    {
6435 <    ilog(L_CRIT, "You haven't read your config file properly.");
6436 <    ilog(L_CRIT, "There is a line in the example conf that will kill your server if not removed.");
6437 <    ilog(L_CRIT, "Consider actually reading/editing the conf file, and removing this line.");
6435 >    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
6436 >    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
6437 >    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
6438      exit(0);
6439    }
6440   }
6441      break;
6442  
6443 <  case 524:
6443 >  case 504:
6444  
6445 < /* Line 1464 of yacc.c  */
6446 < #line 2999 "ircd_parser.y"
6445 > /* Line 1810 of yacc.c  */
6446 > #line 2650 "conf_parser.y"
6447      {
6448    ConfigFileEntry.kline_with_reason = yylval.number;
6449   }
6450      break;
6451  
6452 <  case 525:
6452 >  case 505:
6453  
6454 < /* Line 1464 of yacc.c  */
6455 < #line 3004 "ircd_parser.y"
6454 > /* Line 1810 of yacc.c  */
6455 > #line 2655 "conf_parser.y"
6456      {
6457    if (conf_parser_ctx.pass == 2)
6458    {
# Line 6910 | Line 6462 | yyreduce:
6462   }
6463      break;
6464  
6465 <  case 526:
6465 >  case 506:
6466  
6467 < /* Line 1464 of yacc.c  */
6468 < #line 3013 "ircd_parser.y"
6467 > /* Line 1810 of yacc.c  */
6468 > #line 2664 "conf_parser.y"
6469      {
6470    ConfigFileEntry.invisible_on_connect = yylval.number;
6471   }
6472      break;
6473  
6474 <  case 527:
6474 >  case 507:
6475  
6476 < /* Line 1464 of yacc.c  */
6477 < #line 3018 "ircd_parser.y"
6476 > /* Line 1810 of yacc.c  */
6477 > #line 2669 "conf_parser.y"
6478      {
6479    ConfigFileEntry.warn_no_nline = yylval.number;
6480   }
6481      break;
6482  
6483 <  case 528:
6483 >  case 508:
6484  
6485 < /* Line 1464 of yacc.c  */
6486 < #line 3023 "ircd_parser.y"
6485 > /* Line 1810 of yacc.c  */
6486 > #line 2674 "conf_parser.y"
6487      {
6488    ConfigFileEntry.stats_e_disabled = yylval.number;
6489   }
6490      break;
6491  
6492 <  case 529:
6492 >  case 509:
6493  
6494 < /* Line 1464 of yacc.c  */
6495 < #line 3028 "ircd_parser.y"
6494 > /* Line 1810 of yacc.c  */
6495 > #line 2679 "conf_parser.y"
6496      {
6497    ConfigFileEntry.stats_o_oper_only = yylval.number;
6498   }
6499      break;
6500  
6501 <  case 530:
6501 >  case 510:
6502  
6503 < /* Line 1464 of yacc.c  */
6504 < #line 3033 "ircd_parser.y"
6503 > /* Line 1810 of yacc.c  */
6504 > #line 2684 "conf_parser.y"
6505      {
6506    ConfigFileEntry.stats_P_oper_only = yylval.number;
6507   }
6508      break;
6509  
6510 <  case 531:
6510 >  case 511:
6511  
6512 < /* Line 1464 of yacc.c  */
6513 < #line 3038 "ircd_parser.y"
6512 > /* Line 1810 of yacc.c  */
6513 > #line 2689 "conf_parser.y"
6514      {
6515    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6516   }
6517      break;
6518  
6519 <  case 532:
6519 >  case 512:
6520  
6521 < /* Line 1464 of yacc.c  */
6522 < #line 3041 "ircd_parser.y"
6521 > /* Line 1810 of yacc.c  */
6522 > #line 2692 "conf_parser.y"
6523      {
6524    ConfigFileEntry.stats_k_oper_only = 1;
6525   }
6526      break;
6527  
6528 <  case 533:
6528 >  case 513:
6529  
6530 < /* Line 1464 of yacc.c  */
6531 < #line 3046 "ircd_parser.y"
6530 > /* Line 1810 of yacc.c  */
6531 > #line 2697 "conf_parser.y"
6532      {
6533    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6534   }
6535      break;
6536  
6537 <  case 534:
6537 >  case 514:
6538  
6539 < /* Line 1464 of yacc.c  */
6540 < #line 3049 "ircd_parser.y"
6539 > /* Line 1810 of yacc.c  */
6540 > #line 2700 "conf_parser.y"
6541      {
6542    ConfigFileEntry.stats_i_oper_only = 1;
6543   }
6544      break;
6545  
6546 <  case 535:
6546 >  case 515:
6547  
6548 < /* Line 1464 of yacc.c  */
6549 < #line 3054 "ircd_parser.y"
6548 > /* Line 1810 of yacc.c  */
6549 > #line 2705 "conf_parser.y"
6550      {
6551    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6552   }
6553      break;
6554  
6555 <  case 536:
6555 >  case 516:
6556  
6557 < /* Line 1464 of yacc.c  */
6558 < #line 3059 "ircd_parser.y"
6557 > /* Line 1810 of yacc.c  */
6558 > #line 2710 "conf_parser.y"
6559      {
6560    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6561   }
6562      break;
6563  
6564 <  case 537:
6564 >  case 517:
6565  
6566 < /* Line 1464 of yacc.c  */
6567 < #line 3064 "ircd_parser.y"
6566 > /* Line 1810 of yacc.c  */
6567 > #line 2715 "conf_parser.y"
6568      {
6569    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6570   }
6571      break;
6572  
6573 <  case 538:
6573 >  case 518:
6574  
6575 < /* Line 1464 of yacc.c  */
6576 < #line 3069 "ircd_parser.y"
6575 > /* Line 1810 of yacc.c  */
6576 > #line 2720 "conf_parser.y"
6577      {
6578    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6579   }
6580      break;
6581  
6582 <  case 539:
6582 >  case 519:
6583  
6584 < /* Line 1464 of yacc.c  */
6585 < #line 3074 "ircd_parser.y"
6584 > /* Line 1810 of yacc.c  */
6585 > #line 2725 "conf_parser.y"
6586      {
6587    ConfigFileEntry.short_motd = yylval.number;
6588   }
6589      break;
6590  
6591 <  case 540:
6591 >  case 520:
6592  
6593 < /* Line 1464 of yacc.c  */
6594 < #line 3079 "ircd_parser.y"
6593 > /* Line 1810 of yacc.c  */
6594 > #line 2730 "conf_parser.y"
6595      {
6596    ConfigFileEntry.no_oper_flood = yylval.number;
6597   }
6598      break;
6599  
6600 <  case 541:
6600 >  case 521:
6601  
6602 < /* Line 1464 of yacc.c  */
6603 < #line 3084 "ircd_parser.y"
6602 > /* Line 1810 of yacc.c  */
6603 > #line 2735 "conf_parser.y"
6604      {
6605    ConfigFileEntry.true_no_oper_flood = yylval.number;
6606   }
6607      break;
6608  
6609 <  case 542:
6609 >  case 522:
6610  
6611 < /* Line 1464 of yacc.c  */
6612 < #line 3089 "ircd_parser.y"
6611 > /* Line 1810 of yacc.c  */
6612 > #line 2740 "conf_parser.y"
6613      {
6614    ConfigFileEntry.oper_pass_resv = yylval.number;
6615   }
6616      break;
6617  
6618 <  case 543:
6618 >  case 523:
6619  
6620 < /* Line 1464 of yacc.c  */
6621 < #line 3094 "ircd_parser.y"
6620 > /* Line 1810 of yacc.c  */
6621 > #line 2745 "conf_parser.y"
6622      {
6623    if (conf_parser_ctx.pass == 2)
6624    {
# Line 7078 | Line 6630 | yyreduce:
6630   }
6631      break;
6632  
6633 <  case 544:
7082 <
7083 < /* Line 1464 of yacc.c  */
7084 < #line 3105 "ircd_parser.y"
7085 <    {
7086 <  ConfigFileEntry.idletime = (yyvsp[(3) - (4)].number);
7087 < }
7088 <    break;
7089 <
7090 <  case 545:
6633 >  case 524:
6634  
6635 < /* Line 1464 of yacc.c  */
6636 < #line 3110 "ircd_parser.y"
6635 > /* Line 1810 of yacc.c  */
6636 > #line 2756 "conf_parser.y"
6637      {
6638    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6639   }
6640      break;
6641  
6642 <  case 546:
6642 >  case 525:
6643  
6644 < /* Line 1464 of yacc.c  */
6645 < #line 3115 "ircd_parser.y"
6644 > /* Line 1810 of yacc.c  */
6645 > #line 2761 "conf_parser.y"
6646      {
6647    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6648   }
6649      break;
6650  
6651 <  case 547:
7109 <
7110 < /* Line 1464 of yacc.c  */
7111 < #line 3120 "ircd_parser.y"
7112 <    {
7113 <  if (conf_parser_ctx.pass == 2)
7114 <  {
7115 <    MyFree(ConfigFileEntry.servlink_path);
7116 <    DupString(ConfigFileEntry.servlink_path, yylval.string);
7117 <  }
7118 < }
7119 <    break;
7120 <
7121 <  case 548:
7122 <
7123 < /* Line 1464 of yacc.c  */
7124 < #line 3129 "ircd_parser.y"
7125 <    {
7126 < #ifdef HAVE_LIBCRYPTO
7127 <  if (conf_parser_ctx.pass == 2)
7128 <  {
7129 <    struct EncCapability *ecap;
7130 <    const char *cipher_name;
7131 <    int found = 0;
7132 <
7133 <    ConfigFileEntry.default_cipher_preference = NULL;
7134 <    cipher_name = yylval.string;
6651 >  case 526:
6652  
6653 <    for (ecap = CipherTable; ecap->name; ecap++)
6653 > /* Line 1810 of yacc.c  */
6654 > #line 2766 "conf_parser.y"
6655      {
6656 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
7139 <          (ecap->cap & CAP_ENC_MASK))
7140 <      {
7141 <        ConfigFileEntry.default_cipher_preference = ecap;
7142 <        found = 1;
7143 <        break;
7144 <      }
7145 <    }
7146 <
7147 <    if (!found)
7148 <      yyerror("Invalid cipher");
7149 <  }
7150 < #else
7151 <  if (conf_parser_ctx.pass == 2)
7152 <    yyerror("Ignoring default_cipher_preference -- no OpenSSL support");
7153 < #endif
6656 >  ConfigFileEntry.use_egd = yylval.number;
6657   }
6658      break;
6659  
6660 <  case 549:
6660 >  case 527:
6661  
6662 < /* Line 1464 of yacc.c  */
6663 < #line 3161 "ircd_parser.y"
6662 > /* Line 1810 of yacc.c  */
6663 > #line 2771 "conf_parser.y"
6664      {
6665    if (conf_parser_ctx.pass == 2)
6666    {
6667 <    ConfigFileEntry.compression_level = (yyvsp[(3) - (4)].number);
6668 < #ifndef HAVE_LIBZ
7166 <    yyerror("Ignoring compression_level -- no zlib support");
7167 < #else
7168 <    if ((ConfigFileEntry.compression_level < 1) ||
7169 <        (ConfigFileEntry.compression_level > 9))
7170 <    {
7171 <      yyerror("Ignoring invalid compression_level, using default");
7172 <      ConfigFileEntry.compression_level = 0;
7173 <    }
7174 < #endif
6667 >    MyFree(ConfigFileEntry.egdpool_path);
6668 >    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6669    }
6670   }
6671      break;
6672  
6673 <  case 550:
7180 <
7181 < /* Line 1464 of yacc.c  */
7182 < #line 3179 "ircd_parser.y"
7183 <    {
7184 <  ConfigFileEntry.use_egd = yylval.number;
7185 < }
7186 <    break;
7187 <
7188 <  case 551:
6673 >  case 528:
6674  
6675 < /* Line 1464 of yacc.c  */
6676 < #line 3184 "ircd_parser.y"
6675 > /* Line 1810 of yacc.c  */
6676 > #line 2780 "conf_parser.y"
6677      {
6678 <  if (conf_parser_ctx.pass == 2)
6678 >  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6679    {
6680 <    MyFree(ConfigFileEntry.egdpool_path);
6681 <    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6680 >    MyFree(ConfigFileEntry.service_name);
6681 >    DupString(ConfigFileEntry.service_name, yylval.string);
6682    }
6683   }
6684      break;
6685  
6686 <  case 552:
6686 >  case 529:
6687  
6688 < /* Line 1464 of yacc.c  */
6689 < #line 3193 "ircd_parser.y"
6688 > /* Line 1810 of yacc.c  */
6689 > #line 2789 "conf_parser.y"
6690      {
6691    ConfigFileEntry.ping_cookie = yylval.number;
6692   }
6693      break;
6694  
6695 <  case 553:
6695 >  case 530:
6696  
6697 < /* Line 1464 of yacc.c  */
6698 < #line 3198 "ircd_parser.y"
6697 > /* Line 1810 of yacc.c  */
6698 > #line 2794 "conf_parser.y"
6699      {
6700    ConfigFileEntry.disable_auth = yylval.number;
6701   }
6702      break;
6703  
6704 <  case 554:
6704 >  case 531:
6705  
6706 < /* Line 1464 of yacc.c  */
6707 < #line 3203 "ircd_parser.y"
6706 > /* Line 1810 of yacc.c  */
6707 > #line 2799 "conf_parser.y"
6708      {
6709    ConfigFileEntry.throttle_time = yylval.number;
6710   }
6711      break;
6712  
6713 <  case 555:
6713 >  case 532:
6714  
6715 < /* Line 1464 of yacc.c  */
6716 < #line 3208 "ircd_parser.y"
6715 > /* Line 1810 of yacc.c  */
6716 > #line 2804 "conf_parser.y"
6717      {
6718    ConfigFileEntry.oper_umodes = 0;
6719   }
6720      break;
6721  
6722 <  case 559:
6722 >  case 536:
6723  
6724 < /* Line 1464 of yacc.c  */
6725 < #line 3214 "ircd_parser.y"
6724 > /* Line 1810 of yacc.c  */
6725 > #line 2810 "conf_parser.y"
6726      {
6727    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6728   }
6729      break;
6730  
6731 <  case 560:
6731 >  case 537:
6732  
6733 < /* Line 1464 of yacc.c  */
6734 < #line 3217 "ircd_parser.y"
6733 > /* Line 1810 of yacc.c  */
6734 > #line 2813 "conf_parser.y"
6735      {
6736    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6737   }
6738      break;
6739  
6740 <  case 561:
6740 >  case 538:
6741  
6742 < /* Line 1464 of yacc.c  */
6743 < #line 3220 "ircd_parser.y"
6742 > /* Line 1810 of yacc.c  */
6743 > #line 2816 "conf_parser.y"
6744      {
6745    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6746   }
6747      break;
6748  
6749 <  case 562:
6749 >  case 539:
6750  
6751 < /* Line 1464 of yacc.c  */
6752 < #line 3223 "ircd_parser.y"
6751 > /* Line 1810 of yacc.c  */
6752 > #line 2819 "conf_parser.y"
6753      {
6754    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6755   }
6756      break;
6757  
6758 <  case 563:
6758 >  case 540:
6759  
6760 < /* Line 1464 of yacc.c  */
6761 < #line 3226 "ircd_parser.y"
6760 > /* Line 1810 of yacc.c  */
6761 > #line 2822 "conf_parser.y"
6762      {
6763    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6764   }
6765      break;
6766  
6767 <  case 564:
6767 >  case 541:
6768  
6769 < /* Line 1464 of yacc.c  */
6770 < #line 3229 "ircd_parser.y"
6769 > /* Line 1810 of yacc.c  */
6770 > #line 2825 "conf_parser.y"
6771      {
6772    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6773   }
6774      break;
6775  
6776 <  case 565:
6776 >  case 542:
6777  
6778 < /* Line 1464 of yacc.c  */
6779 < #line 3232 "ircd_parser.y"
6778 > /* Line 1810 of yacc.c  */
6779 > #line 2828 "conf_parser.y"
6780 >    {
6781 >  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6782 > }
6783 >    break;
6784 >
6785 >  case 543:
6786 >
6787 > /* Line 1810 of yacc.c  */
6788 > #line 2831 "conf_parser.y"
6789      {
6790    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6791   }
6792      break;
6793  
6794 <  case 566:
6794 >  case 544:
6795  
6796 < /* Line 1464 of yacc.c  */
6797 < #line 3235 "ircd_parser.y"
6796 > /* Line 1810 of yacc.c  */
6797 > #line 2834 "conf_parser.y"
6798      {
6799    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6800   }
6801      break;
6802  
6803 <  case 567:
6803 >  case 545:
6804  
6805 < /* Line 1464 of yacc.c  */
6806 < #line 3238 "ircd_parser.y"
6805 > /* Line 1810 of yacc.c  */
6806 > #line 2837 "conf_parser.y"
6807      {
6808    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6809   }
6810      break;
6811  
6812 <  case 568:
6812 >  case 546:
6813  
6814 < /* Line 1464 of yacc.c  */
6815 < #line 3241 "ircd_parser.y"
6814 > /* Line 1810 of yacc.c  */
6815 > #line 2840 "conf_parser.y"
6816      {
6817    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6818   }
6819      break;
6820  
6821 <  case 569:
6821 >  case 547:
6822  
6823 < /* Line 1464 of yacc.c  */
6824 < #line 3244 "ircd_parser.y"
6823 > /* Line 1810 of yacc.c  */
6824 > #line 2843 "conf_parser.y"
6825      {
6826    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6827   }
6828      break;
6829  
6830 <  case 570:
6830 >  case 548:
6831  
6832 < /* Line 1464 of yacc.c  */
6833 < #line 3247 "ircd_parser.y"
6832 > /* Line 1810 of yacc.c  */
6833 > #line 2846 "conf_parser.y"
6834      {
6835    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6836   }
6837      break;
6838  
6839 <  case 571:
6839 >  case 549:
6840  
6841 < /* Line 1464 of yacc.c  */
6842 < #line 3250 "ircd_parser.y"
6841 > /* Line 1810 of yacc.c  */
6842 > #line 2849 "conf_parser.y"
6843      {
6844    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6845   }
6846      break;
6847  
6848 <  case 572:
6848 >  case 550:
6849  
6850 < /* Line 1464 of yacc.c  */
6851 < #line 3253 "ircd_parser.y"
6850 > /* Line 1810 of yacc.c  */
6851 > #line 2852 "conf_parser.y"
6852      {
6853    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6854   }
6855      break;
6856  
6857 <  case 573:
6857 >  case 551:
6858  
6859 < /* Line 1464 of yacc.c  */
6860 < #line 3256 "ircd_parser.y"
6859 > /* Line 1810 of yacc.c  */
6860 > #line 2855 "conf_parser.y"
6861      {
6862    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6863   }
6864      break;
6865  
6866 <  case 574:
6866 >  case 552:
6867  
6868 < /* Line 1464 of yacc.c  */
6869 < #line 3259 "ircd_parser.y"
6868 > /* Line 1810 of yacc.c  */
6869 > #line 2858 "conf_parser.y"
6870      {
6871    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6872   }
6873      break;
6874  
6875 <  case 575:
6875 >  case 553:
6876  
6877 < /* Line 1464 of yacc.c  */
6878 < #line 3262 "ircd_parser.y"
6877 > /* Line 1810 of yacc.c  */
6878 > #line 2861 "conf_parser.y"
6879      {
6880    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6881   }
6882      break;
6883  
6884 <  case 576:
6884 >  case 554:
6885  
6886 < /* Line 1464 of yacc.c  */
6887 < #line 3265 "ircd_parser.y"
6886 > /* Line 1810 of yacc.c  */
6887 > #line 2864 "conf_parser.y"
6888      {
6889    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6890   }
6891      break;
6892  
6893 <  case 577:
6893 >  case 555:
6894  
6895 < /* Line 1464 of yacc.c  */
6896 < #line 3268 "ircd_parser.y"
6895 > /* Line 1810 of yacc.c  */
6896 > #line 2867 "conf_parser.y"
6897      {
6898    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6899   }
6900      break;
6901  
6902 <  case 578:
6902 >  case 556:
6903  
6904 < /* Line 1464 of yacc.c  */
6905 < #line 3273 "ircd_parser.y"
6904 > /* Line 1810 of yacc.c  */
6905 > #line 2872 "conf_parser.y"
6906      {
6907    ConfigFileEntry.oper_only_umodes = 0;
6908   }
6909      break;
6910  
6911 <  case 582:
6911 >  case 560:
6912  
6913 < /* Line 1464 of yacc.c  */
6914 < #line 3279 "ircd_parser.y"
6913 > /* Line 1810 of yacc.c  */
6914 > #line 2878 "conf_parser.y"
6915      {
6916    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6917   }
6918      break;
6919  
6920 <  case 583:
6920 >  case 561:
6921  
6922 < /* Line 1464 of yacc.c  */
6923 < #line 3282 "ircd_parser.y"
6922 > /* Line 1810 of yacc.c  */
6923 > #line 2881 "conf_parser.y"
6924      {
6925    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6926   }
6927      break;
6928  
6929 <  case 584:
6929 >  case 562:
6930  
6931 < /* Line 1464 of yacc.c  */
6932 < #line 3285 "ircd_parser.y"
6931 > /* Line 1810 of yacc.c  */
6932 > #line 2884 "conf_parser.y"
6933      {
6934    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6935   }
6936      break;
6937  
6938 <  case 585:
6938 >  case 563:
6939  
6940 < /* Line 1464 of yacc.c  */
6941 < #line 3288 "ircd_parser.y"
6940 > /* Line 1810 of yacc.c  */
6941 > #line 2887 "conf_parser.y"
6942      {
6943    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6944   }
6945      break;
6946  
6947 <  case 586:
6947 >  case 564:
6948  
6949 < /* Line 1464 of yacc.c  */
6950 < #line 3291 "ircd_parser.y"
6949 > /* Line 1810 of yacc.c  */
6950 > #line 2890 "conf_parser.y"
6951      {
6952    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6953   }
6954      break;
6955  
6956 <  case 587:
6956 >  case 565:
6957  
6958 < /* Line 1464 of yacc.c  */
6959 < #line 3294 "ircd_parser.y"
6958 > /* Line 1810 of yacc.c  */
6959 > #line 2893 "conf_parser.y"
6960      {
6961    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6962   }
6963      break;
6964  
6965 <  case 588:
6965 >  case 566:
6966  
6967 < /* Line 1464 of yacc.c  */
6968 < #line 3297 "ircd_parser.y"
6967 > /* Line 1810 of yacc.c  */
6968 > #line 2896 "conf_parser.y"
6969      {
6970    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6971   }
6972      break;
6973  
6974 <  case 589:
6974 >  case 567:
6975  
6976 < /* Line 1464 of yacc.c  */
6977 < #line 3300 "ircd_parser.y"
6976 > /* Line 1810 of yacc.c  */
6977 > #line 2899 "conf_parser.y"
6978 >    {
6979 >  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6980 > }
6981 >    break;
6982 >
6983 >  case 568:
6984 >
6985 > /* Line 1810 of yacc.c  */
6986 > #line 2902 "conf_parser.y"
6987      {
6988    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6989   }
6990      break;
6991  
6992 <  case 590:
6992 >  case 569:
6993  
6994 < /* Line 1464 of yacc.c  */
6995 < #line 3303 "ircd_parser.y"
6994 > /* Line 1810 of yacc.c  */
6995 > #line 2905 "conf_parser.y"
6996      {
6997    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6998   }
6999      break;
7000  
7001 <  case 591:
7001 >  case 570:
7002  
7003 < /* Line 1464 of yacc.c  */
7004 < #line 3306 "ircd_parser.y"
7003 > /* Line 1810 of yacc.c  */
7004 > #line 2908 "conf_parser.y"
7005      {
7006    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
7007   }
7008      break;
7009  
7010 <  case 592:
7010 >  case 571:
7011  
7012 < /* Line 1464 of yacc.c  */
7013 < #line 3309 "ircd_parser.y"
7012 > /* Line 1810 of yacc.c  */
7013 > #line 2911 "conf_parser.y"
7014      {
7015    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
7016   }
7017      break;
7018  
7019 <  case 593:
7019 >  case 572:
7020  
7021 < /* Line 1464 of yacc.c  */
7022 < #line 3312 "ircd_parser.y"
7021 > /* Line 1810 of yacc.c  */
7022 > #line 2914 "conf_parser.y"
7023      {
7024    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
7025   }
7026      break;
7027  
7028 <  case 594:
7028 >  case 573:
7029  
7030 < /* Line 1464 of yacc.c  */
7031 < #line 3315 "ircd_parser.y"
7030 > /* Line 1810 of yacc.c  */
7031 > #line 2917 "conf_parser.y"
7032      {
7033    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
7034   }
7035      break;
7036  
7037 <  case 595:
7037 >  case 574:
7038  
7039 < /* Line 1464 of yacc.c  */
7040 < #line 3318 "ircd_parser.y"
7039 > /* Line 1810 of yacc.c  */
7040 > #line 2920 "conf_parser.y"
7041      {
7042    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
7043   }
7044      break;
7045  
7046 <  case 596:
7046 >  case 575:
7047  
7048 < /* Line 1464 of yacc.c  */
7049 < #line 3321 "ircd_parser.y"
7048 > /* Line 1810 of yacc.c  */
7049 > #line 2923 "conf_parser.y"
7050      {
7051    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
7052   }
7053      break;
7054  
7055 <  case 597:
7055 >  case 576:
7056  
7057 < /* Line 1464 of yacc.c  */
7058 < #line 3324 "ircd_parser.y"
7057 > /* Line 1810 of yacc.c  */
7058 > #line 2926 "conf_parser.y"
7059      {
7060    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
7061   }
7062      break;
7063  
7064 <  case 598:
7064 >  case 577:
7065  
7066 < /* Line 1464 of yacc.c  */
7067 < #line 3327 "ircd_parser.y"
7066 > /* Line 1810 of yacc.c  */
7067 > #line 2929 "conf_parser.y"
7068      {
7069    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
7070   }
7071      break;
7072  
7073 <  case 599:
7073 >  case 578:
7074  
7075 < /* Line 1464 of yacc.c  */
7076 < #line 3330 "ircd_parser.y"
7075 > /* Line 1810 of yacc.c  */
7076 > #line 2932 "conf_parser.y"
7077      {
7078    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
7079   }
7080      break;
7081  
7082 <  case 600:
7082 >  case 579:
7083  
7084 < /* Line 1464 of yacc.c  */
7085 < #line 3333 "ircd_parser.y"
7084 > /* Line 1810 of yacc.c  */
7085 > #line 2935 "conf_parser.y"
7086      {
7087    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
7088   }
7089      break;
7090  
7091 <  case 601:
7091 >  case 580:
7092  
7093 < /* Line 1464 of yacc.c  */
7094 < #line 3338 "ircd_parser.y"
7093 > /* Line 1810 of yacc.c  */
7094 > #line 2940 "conf_parser.y"
7095      {
7096    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
7097   }
7098      break;
7099  
7100 <  case 602:
7100 >  case 581:
7101  
7102 < /* Line 1464 of yacc.c  */
7103 < #line 3343 "ircd_parser.y"
7102 > /* Line 1810 of yacc.c  */
7103 > #line 2945 "conf_parser.y"
7104      {
7105    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
7106   }
7107      break;
7108  
7109 <  case 603:
7109 >  case 582:
7110  
7111 < /* Line 1464 of yacc.c  */
7112 < #line 3348 "ircd_parser.y"
7111 > /* Line 1810 of yacc.c  */
7112 > #line 2950 "conf_parser.y"
7113      {
7114    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
7115   }
7116      break;
7117  
7118 <  case 604:
7118 >  case 583:
7119  
7120 < /* Line 1464 of yacc.c  */
7121 < #line 3353 "ircd_parser.y"
7120 > /* Line 1810 of yacc.c  */
7121 > #line 2955 "conf_parser.y"
7122      {
7123    ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
7124   }
7125      break;
7126  
7127 <  case 605:
7127 >  case 584:
7128  
7129 < /* Line 1464 of yacc.c  */
7130 < #line 3362 "ircd_parser.y"
7129 > /* Line 1810 of yacc.c  */
7130 > #line 2964 "conf_parser.y"
7131      {
7132    if (conf_parser_ctx.pass == 2)
7133    {
# Line 7634 | Line 7137 | yyreduce:
7137   }
7138      break;
7139  
7140 <  case 606:
7140 >  case 585:
7141  
7142 < /* Line 1464 of yacc.c  */
7143 < #line 3369 "ircd_parser.y"
7142 > /* Line 1810 of yacc.c  */
7143 > #line 2971 "conf_parser.y"
7144      {
7145    if (conf_parser_ctx.pass == 2)
7146    {
# Line 7655 | Line 7158 | yyreduce:
7158   }
7159      break;
7160  
7161 <  case 616:
7161 >  case 595:
7162  
7163 < /* Line 1464 of yacc.c  */
7164 < #line 3395 "ircd_parser.y"
7163 > /* Line 1810 of yacc.c  */
7164 > #line 2997 "conf_parser.y"
7165      {
7166    if (conf_parser_ctx.pass == 2)
7167      ConfigFileEntry.glines = yylval.number;
7168   }
7169      break;
7170  
7171 <  case 617:
7171 >  case 596:
7172  
7173 < /* Line 1464 of yacc.c  */
7174 < #line 3401 "ircd_parser.y"
7173 > /* Line 1810 of yacc.c  */
7174 > #line 3003 "conf_parser.y"
7175      {
7176    if (conf_parser_ctx.pass == 2)
7177      ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7178   }
7179      break;
7180  
7181 <  case 618:
7181 >  case 597:
7182  
7183 < /* Line 1464 of yacc.c  */
7184 < #line 3407 "ircd_parser.y"
7183 > /* Line 1810 of yacc.c  */
7184 > #line 3009 "conf_parser.y"
7185      {
7186    if (conf_parser_ctx.pass == 2)
7187      ConfigFileEntry.gline_logging = 0;
7188   }
7189      break;
7190  
7191 <  case 622:
7191 >  case 601:
7192  
7193 < /* Line 1464 of yacc.c  */
7194 < #line 3413 "ircd_parser.y"
7193 > /* Line 1810 of yacc.c  */
7194 > #line 3015 "conf_parser.y"
7195      {
7196    if (conf_parser_ctx.pass == 2)
7197      ConfigFileEntry.gline_logging |= GDENY_REJECT;
7198   }
7199      break;
7200  
7201 <  case 623:
7201 >  case 602:
7202  
7203 < /* Line 1464 of yacc.c  */
7204 < #line 3417 "ircd_parser.y"
7203 > /* Line 1810 of yacc.c  */
7204 > #line 3019 "conf_parser.y"
7205      {
7206    if (conf_parser_ctx.pass == 2)
7207      ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7208   }
7209      break;
7210  
7211 <  case 624:
7211 >  case 603:
7212  
7213 < /* Line 1464 of yacc.c  */
7214 < #line 3423 "ircd_parser.y"
7213 > /* Line 1810 of yacc.c  */
7214 > #line 3025 "conf_parser.y"
7215      {
7216    if (conf_parser_ctx.pass == 2)
7217    {
# Line 7743 | Line 7246 | yyreduce:
7246   }
7247      break;
7248  
7249 <  case 625:
7249 >  case 604:
7250  
7251 < /* Line 1464 of yacc.c  */
7252 < #line 3457 "ircd_parser.y"
7251 > /* Line 1810 of yacc.c  */
7252 > #line 3059 "conf_parser.y"
7253      {
7254    if (conf_parser_ctx.pass == 2)  
7255    {
# Line 7756 | Line 7259 | yyreduce:
7259   }
7260      break;
7261  
7262 <  case 626:
7262 >  case 605:
7263  
7264 < /* Line 1464 of yacc.c  */
7265 < #line 3466 "ircd_parser.y"
7264 > /* Line 1810 of yacc.c  */
7265 > #line 3068 "conf_parser.y"
7266      {
7267    if (conf_parser_ctx.pass == 2)
7268      yy_aconf->flags = 0;
7269   }
7270      break;
7271  
7272 <  case 627:
7272 >  case 606:
7273  
7274 < /* Line 1464 of yacc.c  */
7275 < #line 3470 "ircd_parser.y"
7274 > /* Line 1810 of yacc.c  */
7275 > #line 3072 "conf_parser.y"
7276      {
7277    if (conf_parser_ctx.pass == 2)
7278    {
# Line 7816 | Line 7319 | yyreduce:
7319   }
7320      break;
7321  
7322 <  case 630:
7322 >  case 609:
7323  
7324 < /* Line 1464 of yacc.c  */
7325 < #line 3517 "ircd_parser.y"
7324 > /* Line 1810 of yacc.c  */
7325 > #line 3119 "conf_parser.y"
7326      {
7327    if (conf_parser_ctx.pass == 2)
7328      yy_aconf->flags |= GDENY_REJECT;
7329   }
7330      break;
7331  
7332 <  case 631:
7332 >  case 610:
7333  
7334 < /* Line 1464 of yacc.c  */
7335 < #line 3521 "ircd_parser.y"
7334 > /* Line 1810 of yacc.c  */
7335 > #line 3123 "conf_parser.y"
7336      {
7337    if (conf_parser_ctx.pass == 2)
7338      yy_aconf->flags |= GDENY_BLOCK;
7339   }
7340      break;
7341  
7342 <  case 654:
7342 >  case 633:
7343  
7344 < /* Line 1464 of yacc.c  */
7345 < #line 3545 "ircd_parser.y"
7344 > /* Line 1810 of yacc.c  */
7345 > #line 3147 "conf_parser.y"
7346      {
7347    ConfigChannel.disable_fake_channels = yylval.number;
7348   }
7349      break;
7350  
7351 <  case 655:
7351 >  case 634:
7352  
7353 < /* Line 1464 of yacc.c  */
7354 < #line 3550 "ircd_parser.y"
7353 > /* Line 1810 of yacc.c  */
7354 > #line 3152 "conf_parser.y"
7355      {
7356    ConfigChannel.restrict_channels = yylval.number;
7357   }
7358      break;
7359  
7360 <  case 656:
7360 >  case 635:
7361  
7362 < /* Line 1464 of yacc.c  */
7363 < #line 3555 "ircd_parser.y"
7362 > /* Line 1810 of yacc.c  */
7363 > #line 3157 "conf_parser.y"
7364      {
7365    ConfigChannel.disable_local_channels = yylval.number;
7366   }
7367      break;
7368  
7369 <  case 657:
7369 >  case 636:
7370  
7371 < /* Line 1464 of yacc.c  */
7372 < #line 3560 "ircd_parser.y"
7371 > /* Line 1810 of yacc.c  */
7372 > #line 3162 "conf_parser.y"
7373      {
7374    ConfigChannel.use_except = yylval.number;
7375   }
7376      break;
7377  
7378 <  case 658:
7378 >  case 637:
7379  
7380 < /* Line 1464 of yacc.c  */
7381 < #line 3565 "ircd_parser.y"
7380 > /* Line 1810 of yacc.c  */
7381 > #line 3167 "conf_parser.y"
7382      {
7383    ConfigChannel.use_invex = yylval.number;
7384   }
7385      break;
7386  
7387 <  case 659:
7387 >  case 638:
7388  
7389 < /* Line 1464 of yacc.c  */
7390 < #line 3570 "ircd_parser.y"
7389 > /* Line 1810 of yacc.c  */
7390 > #line 3172 "conf_parser.y"
7391      {
7392    ConfigChannel.use_knock = yylval.number;
7393   }
7394      break;
7395  
7396 <  case 660:
7396 >  case 639:
7397  
7398 < /* Line 1464 of yacc.c  */
7399 < #line 3575 "ircd_parser.y"
7398 > /* Line 1810 of yacc.c  */
7399 > #line 3177 "conf_parser.y"
7400      {
7401    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
7402   }
7403      break;
7404  
7405 <  case 661:
7405 >  case 640:
7406  
7407 < /* Line 1464 of yacc.c  */
7408 < #line 3580 "ircd_parser.y"
7407 > /* Line 1810 of yacc.c  */
7408 > #line 3182 "conf_parser.y"
7409      {
7410    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
7411   }
7412      break;
7413  
7414 <  case 662:
7414 >  case 641:
7415  
7416 < /* Line 1464 of yacc.c  */
7417 < #line 3585 "ircd_parser.y"
7416 > /* Line 1810 of yacc.c  */
7417 > #line 3187 "conf_parser.y"
7418      {
7419    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
7420   }
7421      break;
7422  
7423 <  case 663:
7423 >  case 642:
7424 >
7425 > /* Line 1810 of yacc.c  */
7426 > #line 3192 "conf_parser.y"
7427 >    {
7428 >  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
7429 > }
7430 >    break;
7431  
7432 < /* Line 1464 of yacc.c  */
7433 < #line 3590 "ircd_parser.y"
7432 >  case 643:
7433 >
7434 > /* Line 1810 of yacc.c  */
7435 > #line 3197 "conf_parser.y"
7436      {
7437    ConfigChannel.quiet_on_ban = yylval.number;
7438   }
7439      break;
7440  
7441 <  case 664:
7441 >  case 644:
7442  
7443 < /* Line 1464 of yacc.c  */
7444 < #line 3595 "ircd_parser.y"
7443 > /* Line 1810 of yacc.c  */
7444 > #line 3202 "conf_parser.y"
7445      {
7446    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
7447   }
7448      break;
7449  
7450 <  case 665:
7450 >  case 645:
7451  
7452 < /* Line 1464 of yacc.c  */
7453 < #line 3600 "ircd_parser.y"
7452 > /* Line 1810 of yacc.c  */
7453 > #line 3207 "conf_parser.y"
7454      {
7455    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
7456   }
7457      break;
7458  
7459 <  case 666:
7459 >  case 646:
7460  
7461 < /* Line 1464 of yacc.c  */
7462 < #line 3605 "ircd_parser.y"
7461 > /* Line 1810 of yacc.c  */
7462 > #line 3212 "conf_parser.y"
7463      {
7464    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
7465   }
7466      break;
7467  
7468 <  case 667:
7468 >  case 647:
7469  
7470 < /* Line 1464 of yacc.c  */
7471 < #line 3610 "ircd_parser.y"
7470 > /* Line 1810 of yacc.c  */
7471 > #line 3217 "conf_parser.y"
7472      {
7473    ConfigChannel.no_create_on_split = yylval.number;
7474   }
7475      break;
7476  
7477 <  case 668:
7477 >  case 648:
7478  
7479 < /* Line 1464 of yacc.c  */
7480 < #line 3615 "ircd_parser.y"
7479 > /* Line 1810 of yacc.c  */
7480 > #line 3222 "conf_parser.y"
7481      {
7482    ConfigChannel.no_join_on_split = yylval.number;
7483   }
7484      break;
7485  
7486 <  case 669:
7486 >  case 649:
7487  
7488 < /* Line 1464 of yacc.c  */
7489 < #line 3620 "ircd_parser.y"
7978 <    {
7979 <  ConfigChannel.burst_topicwho = yylval.number;
7980 < }
7981 <    break;
7982 <
7983 <  case 670:
7984 <
7985 < /* Line 1464 of yacc.c  */
7986 < #line 3625 "ircd_parser.y"
7488 > /* Line 1810 of yacc.c  */
7489 > #line 3227 "conf_parser.y"
7490      {
7491    GlobalSetOptions.joinfloodcount = yylval.number;
7492   }
7493      break;
7494  
7495 <  case 671:
7495 >  case 650:
7496  
7497 < /* Line 1464 of yacc.c  */
7498 < #line 3630 "ircd_parser.y"
7497 > /* Line 1810 of yacc.c  */
7498 > #line 3232 "conf_parser.y"
7499      {
7500    GlobalSetOptions.joinfloodtime = yylval.number;
7501   }
7502      break;
7503  
7504 <  case 683:
7504 >  case 662:
7505  
7506 < /* Line 1464 of yacc.c  */
7507 < #line 3649 "ircd_parser.y"
7506 > /* Line 1810 of yacc.c  */
7507 > #line 3251 "conf_parser.y"
7508      {
7509    if (conf_parser_ctx.pass == 2)
7510      ConfigServerHide.flatten_links = yylval.number;
7511   }
7512      break;
7513  
7514 <  case 684:
7514 >  case 663:
7515  
7516 < /* Line 1464 of yacc.c  */
7517 < #line 3655 "ircd_parser.y"
7516 > /* Line 1810 of yacc.c  */
7517 > #line 3257 "conf_parser.y"
7518      {
7519    if (conf_parser_ctx.pass == 2)
7520      ConfigServerHide.hide_servers = yylval.number;
7521   }
7522      break;
7523  
7524 <  case 685:
7524 >  case 664:
7525  
7526 < /* Line 1464 of yacc.c  */
7527 < #line 3661 "ircd_parser.y"
7526 > /* Line 1810 of yacc.c  */
7527 > #line 3263 "conf_parser.y"
7528      {
7529    if (conf_parser_ctx.pass == 2)
7530    {
# Line 8031 | Line 7534 | yyreduce:
7534   }
7535      break;
7536  
7537 <  case 686:
7537 >  case 665:
7538  
7539 < /* Line 1464 of yacc.c  */
7540 < #line 3670 "ircd_parser.y"
7539 > /* Line 1810 of yacc.c  */
7540 > #line 3272 "conf_parser.y"
7541      {
7542    if (conf_parser_ctx.pass == 2)
7543    {
# Line 8049 | Line 7552 | yyreduce:
7552   }
7553      break;
7554  
7555 <  case 687:
7555 >  case 666:
7556  
7557 < /* Line 1464 of yacc.c  */
7558 < #line 3684 "ircd_parser.y"
7557 > /* Line 1810 of yacc.c  */
7558 > #line 3286 "conf_parser.y"
7559      {
7560    if (conf_parser_ctx.pass == 2)
7561      ConfigServerHide.hidden = yylval.number;
7562   }
7563      break;
7564  
7565 <  case 688:
7565 >  case 667:
7566  
7567 < /* Line 1464 of yacc.c  */
7568 < #line 3690 "ircd_parser.y"
7567 > /* Line 1810 of yacc.c  */
7568 > #line 3292 "conf_parser.y"
7569      {
7570    if (conf_parser_ctx.pass == 2)
7571      ConfigServerHide.disable_hidden = yylval.number;
7572   }
7573      break;
7574  
7575 <  case 689:
7575 >  case 668:
7576  
7577 < /* Line 1464 of yacc.c  */
7578 < #line 3696 "ircd_parser.y"
7577 > /* Line 1810 of yacc.c  */
7578 > #line 3298 "conf_parser.y"
7579      {
7580    if (conf_parser_ctx.pass == 2)
7581      ConfigServerHide.hide_server_ips = yylval.number;
# Line 8081 | Line 7584 | yyreduce:
7584  
7585  
7586  
7587 < /* Line 1464 of yacc.c  */
7588 < #line 8086 "ircd_parser.c"
7587 > /* Line 1810 of yacc.c  */
7588 > #line 7589 "conf_parser.c"
7589        default: break;
7590      }
7591 +  /* User semantic actions sometimes alter yychar, and that requires
7592 +     that yytoken be updated with the new translation.  We take the
7593 +     approach of translating immediately before every use of yytoken.
7594 +     One alternative is translating here after every semantic action,
7595 +     but that translation would be missed if the semantic action invokes
7596 +     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
7597 +     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
7598 +     incorrect destructor might then be invoked immediately.  In the
7599 +     case of YYERROR or YYBACKUP, subsequent parser actions might lead
7600 +     to an incorrect destructor call or verbose syntax error message
7601 +     before the lookahead is translated.  */
7602    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
7603  
7604    YYPOPSTACK (yylen);
# Line 8112 | Line 7626 | yyreduce:
7626   | yyerrlab -- here on detecting error |
7627   `------------------------------------*/
7628   yyerrlab:
7629 +  /* Make sure we have latest lookahead translation.  See comments at
7630 +     user semantic actions for why this is necessary.  */
7631 +  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
7632 +
7633    /* If not already recovering from an error, report this error.  */
7634    if (!yyerrstatus)
7635      {
# Line 8119 | Line 7637 | yyerrlab:
7637   #if ! YYERROR_VERBOSE
7638        yyerror (YY_("syntax error"));
7639   #else
7640 + # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
7641 +                                        yyssp, yytoken)
7642        {
7643 <        YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
7644 <        if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
7645 <          {
7646 <            YYSIZE_T yyalloc = 2 * yysize;
7647 <            if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
7648 <              yyalloc = YYSTACK_ALLOC_MAXIMUM;
7649 <            if (yymsg != yymsgbuf)
7650 <              YYSTACK_FREE (yymsg);
7651 <            yymsg = (char *) YYSTACK_ALLOC (yyalloc);
7652 <            if (yymsg)
7653 <              yymsg_alloc = yyalloc;
7654 <            else
7655 <              {
7656 <                yymsg = yymsgbuf;
7657 <                yymsg_alloc = sizeof yymsgbuf;
7658 <              }
7659 <          }
7660 <
7661 <        if (0 < yysize && yysize <= yymsg_alloc)
7662 <          {
7663 <            (void) yysyntax_error (yymsg, yystate, yychar);
7664 <            yyerror (yymsg);
7665 <          }
7666 <        else
7667 <          {
8148 <            yyerror (YY_("syntax error"));
8149 <            if (yysize != 0)
8150 <              goto yyexhaustedlab;
8151 <          }
7643 >        char const *yymsgp = YY_("syntax error");
7644 >        int yysyntax_error_status;
7645 >        yysyntax_error_status = YYSYNTAX_ERROR;
7646 >        if (yysyntax_error_status == 0)
7647 >          yymsgp = yymsg;
7648 >        else if (yysyntax_error_status == 1)
7649 >          {
7650 >            if (yymsg != yymsgbuf)
7651 >              YYSTACK_FREE (yymsg);
7652 >            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
7653 >            if (!yymsg)
7654 >              {
7655 >                yymsg = yymsgbuf;
7656 >                yymsg_alloc = sizeof yymsgbuf;
7657 >                yysyntax_error_status = 2;
7658 >              }
7659 >            else
7660 >              {
7661 >                yysyntax_error_status = YYSYNTAX_ERROR;
7662 >                yymsgp = yymsg;
7663 >              }
7664 >          }
7665 >        yyerror (yymsgp);
7666 >        if (yysyntax_error_status == 2)
7667 >          goto yyexhaustedlab;
7668        }
7669 + # undef YYSYNTAX_ERROR
7670   #endif
7671      }
7672  
# Line 8208 | Line 7725 | yyerrlab1:
7725    for (;;)
7726      {
7727        yyn = yypact[yystate];
7728 <      if (yyn != YYPACT_NINF)
7728 >      if (!yypact_value_is_default (yyn))
7729          {
7730            yyn += YYTERROR;
7731            if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
# Line 8255 | Line 7772 | yyabortlab:
7772    yyresult = 1;
7773    goto yyreturn;
7774  
7775 < #if !defined(yyoverflow) || YYERROR_VERBOSE
7775 > #if !defined yyoverflow || YYERROR_VERBOSE
7776   /*-------------------------------------------------.
7777   | yyexhaustedlab -- memory exhaustion comes here.  |
7778   `-------------------------------------------------*/
# Line 8267 | Line 7784 | yyexhaustedlab:
7784  
7785   yyreturn:
7786    if (yychar != YYEMPTY)
7787 <     yydestruct ("Cleanup: discarding lookahead",
7788 <                 yytoken, &yylval);
7787 >    {
7788 >      /* Make sure we have latest lookahead translation.  See comments at
7789 >         user semantic actions for why this is necessary.  */
7790 >      yytoken = YYTRANSLATE (yychar);
7791 >      yydestruct ("Cleanup: discarding lookahead",
7792 >                  yytoken, &yylval);
7793 >    }
7794    /* Do not reclaim the symbols of the rule which action triggered
7795       this YYABORT or YYACCEPT.  */
7796    YYPOPSTACK (yylen);

Diff Legend

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