ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/branches/8.2.x/src/conf_parser.c
(Generate patch)

Comparing:
ircd-hybrid-7.3/src/ircd_parser.c (file contents), Revision 1089 by michael, Wed Mar 24 22:36:04 2010 UTC vs.
ircd-hybrid-8/src/conf_parser.c (file contents), Revision 1520 by michael, Wed Sep 5 15:50:02 2012 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.4.2.  */
1 > /* A Bison parser, made by GNU Bison 2.6.2.  */
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-2006, 2009-2010 Free Software
6 <   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.2"
47 > #define YYBISON_VERSION "2.6.2"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 59 | Line 58
58   /* Pull parsers.  */
59   #define YYPULL 1
60  
62 /* Using locations.  */
63 #define YYLSP_NEEDED 0
61  
62  
63  
64   /* Copy the first part of user declarations.  */
65 <
66 < /* Line 189 of yacc.c  */
70 < #line 25 "ircd_parser.y"
65 > /* Line 336 of yacc.c  */
66 > #line 25 "conf_parser.y"
67  
68  
69   #define YY_NO_UNPUT
# Line 78 | Line 74
74   #include "stdinc.h"
75   #include "ircd.h"
76   #include "list.h"
77 < #include "s_conf.h"
77 > #include "conf.h"
78   #include "event.h"
79 < #include "s_log.h"
79 > #include "log.h"
80   #include "client.h"     /* for UMODE_ALL only */
81   #include "irc_string.h"
86 #include "irc_getaddrinfo.h"
82   #include "sprintf_irc.h"
83   #include "memory.h"
84   #include "modules.h"
# Line 99 | Line 94
94   #include <openssl/rsa.h>
95   #include <openssl/bio.h>
96   #include <openssl/pem.h>
97 + #include <openssl/dh.h>
98   #endif
99  
100 + int yylex(void);
101 +
102   static char *class_name = NULL;
103   static struct ConfItem *yy_conf = NULL;
104   static struct AccessItem *yy_aconf = NULL;
# Line 109 | Line 107 | static struct ClassItem *yy_class = NULL
107   static char *yy_class_name = NULL;
108  
109   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 };
110   static unsigned int listener_flags = 0;
111   static unsigned int regex_ban = 0;
112   static char userbuf[IRCD_BUFSIZE];
113   static char hostbuf[IRCD_BUFSIZE];
114   static char reasonbuf[REASONLEN + 1];
115   static char gecos_name[REALLEN * 4];
116 <
116 > static char lfile[IRCD_BUFSIZE];
117 > static unsigned int ltype = 0;
118 > static unsigned int lsize = 0;
119   static char *resv_reason = NULL;
120   static char *listener_address = NULL;
123 static int not_atom = 0;
121  
122   struct CollectItem
123   {
# Line 150 | Line 147 | free_collect_item(struct CollectItem *it
147    MyFree(item);
148   }
149  
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;
160
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 }
175
176
150  
151 < /* Line 189 of yacc.c  */
152 < #line 180 "ircd_parser.c"
151 > /* Line 336 of yacc.c  */
152 > #line 153 "conf_parser.c"
153  
154 < /* Enabling traces.  */
155 < #ifndef YYDEBUG
156 < # define YYDEBUG 0
157 < #endif
154 > # ifndef YY_NULL
155 > #  if defined __cplusplus && 201103L <= __cplusplus
156 > #   define YY_NULL nullptr
157 > #  else
158 > #   define YY_NULL 0
159 > #  endif
160 > # endif
161  
162   /* Enabling verbose error messages.  */
163   #ifdef YYERROR_VERBOSE
# Line 191 | Line 167 | unhook_hub_leaf_confs(void)
167   # define YYERROR_VERBOSE 0
168   #endif
169  
170 < /* Enabling the token table.  */
171 < #ifndef YYTOKEN_TABLE
172 < # define YYTOKEN_TABLE 0
170 > /* In a future release of Bison, this section will be replaced
171 >   by #include "y.tab.h".  */
172 > #ifndef YY_Y_TAB_H
173 > # define YY_Y_TAB_H
174 > /* Enabling traces.  */
175 > #ifndef YYDEBUG
176 > # define YYDEBUG 0
177 > #endif
178 > #if YYDEBUG
179 > extern int yydebug;
180   #endif
198
181  
182   /* Tokens.  */
183   #ifndef YYTOKENTYPE
# Line 204 | Line 186 | unhook_hub_leaf_confs(void)
186        know about them.  */
187     enum yytokentype {
188       ACCEPT_PASSWORD = 258,
189 <     ACTION = 259,
190 <     ADMIN = 260,
191 <     AFTYPE = 261,
192 <     T_ALLOW = 262,
193 <     ANTI_NICK_FLOOD = 263,
194 <     ANTI_SPAM_EXIT_MESSAGE_TIME = 264,
195 <     AUTOCONN = 265,
196 <     T_BLOCK = 266,
197 <     BURST_AWAY = 267,
198 <     BURST_TOPICWHO = 268,
199 <     BYTES = 269,
200 <     KBYTES = 270,
201 <     MBYTES = 271,
202 <     GBYTES = 272,
203 <     TBYTES = 273,
204 <     CALLER_ID_WAIT = 274,
205 <     CAN_FLOOD = 275,
206 <     CAN_IDLE = 276,
207 <     CHANNEL = 277,
208 <     CIDR_BITLEN_IPV4 = 278,
209 <     CIDR_BITLEN_IPV6 = 279,
210 <     CIPHER_PREFERENCE = 280,
211 <     CLASS = 281,
212 <     COMPRESSED = 282,
213 <     COMPRESSION_LEVEL = 283,
214 <     CONNECT = 284,
215 <     CONNECTFREQ = 285,
216 <     CRYPTLINK = 286,
217 <     DEFAULT_CIPHER_PREFERENCE = 287,
218 <     DEFAULT_FLOODCOUNT = 288,
219 <     DEFAULT_SPLIT_SERVER_COUNT = 289,
220 <     DEFAULT_SPLIT_USER_COUNT = 290,
221 <     DENY = 291,
222 <     DESCRIPTION = 292,
223 <     DIE = 293,
224 <     DISABLE_AUTH = 294,
225 <     DISABLE_FAKE_CHANNELS = 295,
226 <     DISABLE_HIDDEN = 296,
227 <     DISABLE_LOCAL_CHANNELS = 297,
228 <     DISABLE_REMOTE_COMMANDS = 298,
229 <     DOTS_IN_IDENT = 299,
230 <     DURATION = 300,
231 <     EGDPOOL_PATH = 301,
232 <     EMAIL = 302,
233 <     ENABLE = 303,
234 <     ENCRYPTED = 304,
235 <     EXCEED_LIMIT = 305,
236 <     EXEMPT = 306,
237 <     FAILED_OPER_NOTICE = 307,
238 <     FAKENAME = 308,
239 <     IRCD_FLAGS = 309,
240 <     FLATTEN_LINKS = 310,
241 <     FFAILED_OPERLOG = 311,
242 <     FKILLLOG = 312,
243 <     FKLINELOG = 313,
244 <     FGLINELOG = 314,
245 <     FIOERRLOG = 315,
246 <     FOPERLOG = 316,
247 <     FOPERSPYLOG = 317,
248 <     FUSERLOG = 318,
249 <     GECOS = 319,
250 <     GENERAL = 320,
251 <     GLINE = 321,
252 <     GLINES = 322,
253 <     GLINE_EXEMPT = 323,
254 <     GLINE_LOG = 324,
255 <     GLINE_TIME = 325,
256 <     GLINE_MIN_CIDR = 326,
257 <     GLINE_MIN_CIDR6 = 327,
258 <     GLOBAL_KILL = 328,
259 <     IRCD_AUTH = 329,
260 <     NEED_IDENT = 330,
261 <     HAVENT_READ_CONF = 331,
262 <     HIDDEN = 332,
263 <     HIDDEN_ADMIN = 333,
264 <     HIDDEN_NAME = 334,
265 <     HIDDEN_OPER = 335,
266 <     HIDE_SERVER_IPS = 336,
267 <     HIDE_SERVERS = 337,
268 <     HIDE_SPOOF_IPS = 338,
269 <     HOST = 339,
270 <     HUB = 340,
271 <     HUB_MASK = 341,
272 <     IDLETIME = 342,
273 <     IGNORE_BOGUS_TS = 343,
274 <     INVISIBLE_ON_CONNECT = 344,
275 <     IP = 345,
276 <     KILL = 346,
277 <     KILL_CHASE_TIME_LIMIT = 347,
278 <     KLINE = 348,
279 <     KLINE_EXEMPT = 349,
280 <     KLINE_REASON = 350,
281 <     KLINE_WITH_REASON = 351,
282 <     KNOCK_DELAY = 352,
283 <     KNOCK_DELAY_CHANNEL = 353,
284 <     LEAF_MASK = 354,
285 <     LINKS_DELAY = 355,
286 <     LISTEN = 356,
287 <     T_LOG = 357,
288 <     LOGGING = 358,
289 <     LOG_LEVEL = 359,
290 <     MAX_ACCEPT = 360,
291 <     MAX_BANS = 361,
292 <     MAX_CHANS_PER_USER = 362,
293 <     MAX_GLOBAL = 363,
294 <     MAX_IDENT = 364,
295 <     MAX_LOCAL = 365,
296 <     MAX_NICK_CHANGES = 366,
297 <     MAX_NICK_TIME = 367,
298 <     MAX_NUMBER = 368,
299 <     MAX_TARGETS = 369,
300 <     MAX_WATCH = 370,
301 <     MESSAGE_LOCALE = 371,
302 <     MIN_NONWILDCARD = 372,
303 <     MIN_NONWILDCARD_SIMPLE = 373,
304 <     MODULE = 374,
305 <     MODULES = 375,
306 <     NAME = 376,
307 <     NEED_PASSWORD = 377,
308 <     NETWORK_DESC = 378,
309 <     NETWORK_NAME = 379,
310 <     NICK = 380,
311 <     NICK_CHANGES = 381,
312 <     NO_CREATE_ON_SPLIT = 382,
313 <     NO_JOIN_ON_SPLIT = 383,
314 <     NO_OPER_FLOOD = 384,
315 <     NO_TILDE = 385,
316 <     NOT = 386,
317 <     NUMBER = 387,
318 <     NUMBER_PER_IDENT = 388,
319 <     NUMBER_PER_CIDR = 389,
320 <     NUMBER_PER_IP = 390,
321 <     NUMBER_PER_IP_GLOBAL = 391,
322 <     OPERATOR = 392,
323 <     OPERS_BYPASS_CALLERID = 393,
324 <     OPER_LOG = 394,
325 <     OPER_ONLY_UMODES = 395,
326 <     OPER_PASS_RESV = 396,
327 <     OPER_SPY_T = 397,
328 <     OPER_UMODES = 398,
329 <     JOIN_FLOOD_COUNT = 399,
330 <     JOIN_FLOOD_TIME = 400,
331 <     PACE_WAIT = 401,
332 <     PACE_WAIT_SIMPLE = 402,
333 <     PASSWORD = 403,
334 <     PATH = 404,
335 <     PING_COOKIE = 405,
336 <     PING_TIME = 406,
337 <     PING_WARNING = 407,
338 <     PORT = 408,
339 <     QSTRING = 409,
340 <     QUIET_ON_BAN = 410,
341 <     REASON = 411,
342 <     REDIRPORT = 412,
343 <     REDIRSERV = 413,
344 <     REGEX_T = 414,
345 <     REHASH = 415,
346 <     TREJECT_HOLD_TIME = 416,
347 <     REMOTE = 417,
348 <     REMOTEBAN = 418,
349 <     RESTRICT_CHANNELS = 419,
350 <     RESTRICTED = 420,
351 <     RSA_PRIVATE_KEY_FILE = 421,
352 <     RSA_PUBLIC_KEY_FILE = 422,
353 <     SSL_CERTIFICATE_FILE = 423,
354 <     T_SSL_CONNECTION_METHOD = 424,
355 <     T_SSLV3 = 425,
356 <     T_TLSV1 = 426,
357 <     RESV = 427,
358 <     RESV_EXEMPT = 428,
359 <     SECONDS = 429,
360 <     MINUTES = 430,
361 <     HOURS = 431,
362 <     DAYS = 432,
363 <     WEEKS = 433,
364 <     SENDQ = 434,
365 <     SEND_PASSWORD = 435,
366 <     SERVERHIDE = 436,
367 <     SERVERINFO = 437,
368 <     SERVLINK_PATH = 438,
369 <     IRCD_SID = 439,
370 <     TKLINE_EXPIRE_NOTICES = 440,
371 <     T_SHARED = 441,
372 <     T_CLUSTER = 442,
373 <     TYPE = 443,
374 <     SHORT_MOTD = 444,
375 <     SILENT = 445,
376 <     SPOOF = 446,
377 <     SPOOF_NOTICE = 447,
378 <     STATS_E_DISABLED = 448,
379 <     STATS_I_OPER_ONLY = 449,
380 <     STATS_K_OPER_ONLY = 450,
381 <     STATS_O_OPER_ONLY = 451,
382 <     STATS_P_OPER_ONLY = 452,
383 <     TBOOL = 453,
384 <     TMASKED = 454,
385 <     T_REJECT = 455,
386 <     TS_MAX_DELTA = 456,
387 <     TS_WARN_DELTA = 457,
388 <     TWODOTS = 458,
389 <     T_ALL = 459,
390 <     T_BOTS = 460,
391 <     T_SOFTCALLERID = 461,
392 <     T_CALLERID = 462,
393 <     T_CCONN = 463,
394 <     T_CCONN_FULL = 464,
395 <     T_CLIENT_FLOOD = 465,
396 <     T_DEAF = 466,
397 <     T_DEBUG = 467,
398 <     T_DRONE = 468,
399 <     T_EXTERNAL = 469,
400 <     T_FULL = 470,
401 <     T_INVISIBLE = 471,
402 <     T_IPV4 = 472,
403 <     T_IPV6 = 473,
422 <     T_LOCOPS = 474,
423 <     T_LOGPATH = 475,
424 <     T_L_CRIT = 476,
425 <     T_L_DEBUG = 477,
426 <     T_L_ERROR = 478,
427 <     T_L_INFO = 479,
428 <     T_L_NOTICE = 480,
429 <     T_L_TRACE = 481,
430 <     T_L_WARN = 482,
431 <     T_MAX_CLIENTS = 483,
432 <     T_NCHANGE = 484,
433 <     T_OPERWALL = 485,
434 <     T_REJ = 486,
435 <     T_SERVER = 487,
436 <     T_SERVNOTICE = 488,
437 <     T_SKILL = 489,
438 <     T_SPY = 490,
439 <     T_SSL = 491,
440 <     T_UMODES = 492,
441 <     T_UNAUTH = 493,
442 <     T_UNRESV = 494,
443 <     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
189 >     ADMIN = 259,
190 >     AFTYPE = 260,
191 >     ANTI_NICK_FLOOD = 261,
192 >     ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
193 >     AUTOCONN = 263,
194 >     BYTES = 264,
195 >     KBYTES = 265,
196 >     MBYTES = 266,
197 >     CALLER_ID_WAIT = 267,
198 >     CAN_FLOOD = 268,
199 >     CHANNEL = 269,
200 >     CIDR_BITLEN_IPV4 = 270,
201 >     CIDR_BITLEN_IPV6 = 271,
202 >     CLASS = 272,
203 >     CONNECT = 273,
204 >     CONNECTFREQ = 274,
205 >     DEFAULT_FLOODCOUNT = 275,
206 >     DEFAULT_SPLIT_SERVER_COUNT = 276,
207 >     DEFAULT_SPLIT_USER_COUNT = 277,
208 >     DENY = 278,
209 >     DESCRIPTION = 279,
210 >     DIE = 280,
211 >     DISABLE_AUTH = 281,
212 >     DISABLE_FAKE_CHANNELS = 282,
213 >     DISABLE_REMOTE_COMMANDS = 283,
214 >     DOTS_IN_IDENT = 284,
215 >     EGDPOOL_PATH = 285,
216 >     EMAIL = 286,
217 >     ENCRYPTED = 287,
218 >     EXCEED_LIMIT = 288,
219 >     EXEMPT = 289,
220 >     FAILED_OPER_NOTICE = 290,
221 >     IRCD_FLAGS = 291,
222 >     FLATTEN_LINKS = 292,
223 >     GECOS = 293,
224 >     GENERAL = 294,
225 >     GLINE = 295,
226 >     GLINE_DURATION = 296,
227 >     GLINE_ENABLE = 297,
228 >     GLINE_EXEMPT = 298,
229 >     GLINE_REQUEST_DURATION = 299,
230 >     GLINE_MIN_CIDR = 300,
231 >     GLINE_MIN_CIDR6 = 301,
232 >     GLOBAL_KILL = 302,
233 >     IRCD_AUTH = 303,
234 >     NEED_IDENT = 304,
235 >     HAVENT_READ_CONF = 305,
236 >     HIDDEN = 306,
237 >     HIDDEN_NAME = 307,
238 >     HIDE_SERVER_IPS = 308,
239 >     HIDE_SERVERS = 309,
240 >     HIDE_SPOOF_IPS = 310,
241 >     HOST = 311,
242 >     HUB = 312,
243 >     HUB_MASK = 313,
244 >     IGNORE_BOGUS_TS = 314,
245 >     INVISIBLE_ON_CONNECT = 315,
246 >     IP = 316,
247 >     KILL = 317,
248 >     KILL_CHASE_TIME_LIMIT = 318,
249 >     KLINE = 319,
250 >     KLINE_EXEMPT = 320,
251 >     KLINE_REASON = 321,
252 >     KLINE_WITH_REASON = 322,
253 >     KNOCK_DELAY = 323,
254 >     KNOCK_DELAY_CHANNEL = 324,
255 >     LEAF_MASK = 325,
256 >     LINKS_DELAY = 326,
257 >     LISTEN = 327,
258 >     T_LOG = 328,
259 >     MAX_ACCEPT = 329,
260 >     MAX_BANS = 330,
261 >     MAX_CHANS_PER_OPER = 331,
262 >     MAX_CHANS_PER_USER = 332,
263 >     MAX_GLOBAL = 333,
264 >     MAX_IDENT = 334,
265 >     MAX_LOCAL = 335,
266 >     MAX_NICK_CHANGES = 336,
267 >     MAX_NICK_TIME = 337,
268 >     MAX_NUMBER = 338,
269 >     MAX_TARGETS = 339,
270 >     MAX_WATCH = 340,
271 >     MESSAGE_LOCALE = 341,
272 >     MIN_NONWILDCARD = 342,
273 >     MIN_NONWILDCARD_SIMPLE = 343,
274 >     MODULE = 344,
275 >     MODULES = 345,
276 >     NAME = 346,
277 >     NEED_PASSWORD = 347,
278 >     NETWORK_DESC = 348,
279 >     NETWORK_NAME = 349,
280 >     NICK = 350,
281 >     NICK_CHANGES = 351,
282 >     NO_CREATE_ON_SPLIT = 352,
283 >     NO_JOIN_ON_SPLIT = 353,
284 >     NO_OPER_FLOOD = 354,
285 >     NO_TILDE = 355,
286 >     NUMBER = 356,
287 >     NUMBER_PER_CIDR = 357,
288 >     NUMBER_PER_IP = 358,
289 >     OPERATOR = 359,
290 >     OPERS_BYPASS_CALLERID = 360,
291 >     OPER_ONLY_UMODES = 361,
292 >     OPER_PASS_RESV = 362,
293 >     OPER_SPY_T = 363,
294 >     OPER_UMODES = 364,
295 >     JOIN_FLOOD_COUNT = 365,
296 >     JOIN_FLOOD_TIME = 366,
297 >     PACE_WAIT = 367,
298 >     PACE_WAIT_SIMPLE = 368,
299 >     PASSWORD = 369,
300 >     PATH = 370,
301 >     PING_COOKIE = 371,
302 >     PING_TIME = 372,
303 >     PING_WARNING = 373,
304 >     PORT = 374,
305 >     QSTRING = 375,
306 >     QUIET_ON_BAN = 376,
307 >     REASON = 377,
308 >     REDIRPORT = 378,
309 >     REDIRSERV = 379,
310 >     REGEX_T = 380,
311 >     REHASH = 381,
312 >     TREJECT_HOLD_TIME = 382,
313 >     REMOTE = 383,
314 >     REMOTEBAN = 384,
315 >     RESTRICT_CHANNELS = 385,
316 >     RSA_PRIVATE_KEY_FILE = 386,
317 >     RSA_PUBLIC_KEY_FILE = 387,
318 >     SSL_CERTIFICATE_FILE = 388,
319 >     SSL_DH_PARAM_FILE = 389,
320 >     T_SSL_CLIENT_METHOD = 390,
321 >     T_SSL_SERVER_METHOD = 391,
322 >     T_SSLV3 = 392,
323 >     T_TLSV1 = 393,
324 >     RESV = 394,
325 >     RESV_EXEMPT = 395,
326 >     SECONDS = 396,
327 >     MINUTES = 397,
328 >     HOURS = 398,
329 >     DAYS = 399,
330 >     WEEKS = 400,
331 >     SENDQ = 401,
332 >     SEND_PASSWORD = 402,
333 >     SERVERHIDE = 403,
334 >     SERVERINFO = 404,
335 >     IRCD_SID = 405,
336 >     TKLINE_EXPIRE_NOTICES = 406,
337 >     T_SHARED = 407,
338 >     T_CLUSTER = 408,
339 >     TYPE = 409,
340 >     SHORT_MOTD = 410,
341 >     SPOOF = 411,
342 >     SPOOF_NOTICE = 412,
343 >     STATS_E_DISABLED = 413,
344 >     STATS_I_OPER_ONLY = 414,
345 >     STATS_K_OPER_ONLY = 415,
346 >     STATS_O_OPER_ONLY = 416,
347 >     STATS_P_OPER_ONLY = 417,
348 >     TBOOL = 418,
349 >     TMASKED = 419,
350 >     TS_MAX_DELTA = 420,
351 >     TS_WARN_DELTA = 421,
352 >     TWODOTS = 422,
353 >     T_ALL = 423,
354 >     T_BOTS = 424,
355 >     T_SOFTCALLERID = 425,
356 >     T_CALLERID = 426,
357 >     T_CCONN = 427,
358 >     T_CCONN_FULL = 428,
359 >     T_SSL_CIPHER_LIST = 429,
360 >     T_DEAF = 430,
361 >     T_DEBUG = 431,
362 >     T_DLINE = 432,
363 >     T_EXTERNAL = 433,
364 >     T_FULL = 434,
365 >     T_INVISIBLE = 435,
366 >     T_IPV4 = 436,
367 >     T_IPV6 = 437,
368 >     T_LOCOPS = 438,
369 >     T_MAX_CLIENTS = 439,
370 >     T_NCHANGE = 440,
371 >     T_OPERWALL = 441,
372 >     T_RECVQ = 442,
373 >     T_REJ = 443,
374 >     T_SERVER = 444,
375 >     T_SERVNOTICE = 445,
376 >     T_SET = 446,
377 >     T_SKILL = 447,
378 >     T_SPY = 448,
379 >     T_SSL = 449,
380 >     T_UMODES = 450,
381 >     T_UNAUTH = 451,
382 >     T_UNDLINE = 452,
383 >     T_UNLIMITED = 453,
384 >     T_UNRESV = 454,
385 >     T_UNXLINE = 455,
386 >     T_GLOBOPS = 456,
387 >     T_WALLOP = 457,
388 >     T_RESTART = 458,
389 >     T_SERVICE = 459,
390 >     T_SERVICES_NAME = 460,
391 >     THROTTLE_TIME = 461,
392 >     TRUE_NO_OPER_FLOOD = 462,
393 >     UNKLINE = 463,
394 >     USER = 464,
395 >     USE_EGD = 465,
396 >     USE_LOGGING = 466,
397 >     USE_WHOIS_ACTUALLY = 467,
398 >     VHOST = 468,
399 >     VHOST6 = 469,
400 >     XLINE = 470,
401 >     WARN_NO_NLINE = 471,
402 >     T_SIZE = 472,
403 >     T_FILE = 473
404     };
405   #endif
406   /* Tokens.  */
407   #define ACCEPT_PASSWORD 258
408 < #define ACTION 259
409 < #define ADMIN 260
410 < #define AFTYPE 261
411 < #define T_ALLOW 262
412 < #define ANTI_NICK_FLOOD 263
413 < #define ANTI_SPAM_EXIT_MESSAGE_TIME 264
414 < #define AUTOCONN 265
415 < #define T_BLOCK 266
416 < #define BURST_AWAY 267
417 < #define BURST_TOPICWHO 268
418 < #define BYTES 269
419 < #define KBYTES 270
420 < #define MBYTES 271
421 < #define GBYTES 272
422 < #define TBYTES 273
423 < #define CALLER_ID_WAIT 274
424 < #define CAN_FLOOD 275
425 < #define CAN_IDLE 276
426 < #define CHANNEL 277
427 < #define CIDR_BITLEN_IPV4 278
428 < #define CIDR_BITLEN_IPV6 279
429 < #define CIPHER_PREFERENCE 280
430 < #define CLASS 281
431 < #define COMPRESSED 282
432 < #define COMPRESSION_LEVEL 283
433 < #define CONNECT 284
434 < #define CONNECTFREQ 285
435 < #define CRYPTLINK 286
436 < #define DEFAULT_CIPHER_PREFERENCE 287
437 < #define DEFAULT_FLOODCOUNT 288
438 < #define DEFAULT_SPLIT_SERVER_COUNT 289
439 < #define DEFAULT_SPLIT_USER_COUNT 290
440 < #define DENY 291
441 < #define DESCRIPTION 292
442 < #define DIE 293
443 < #define DISABLE_AUTH 294
444 < #define DISABLE_FAKE_CHANNELS 295
445 < #define DISABLE_HIDDEN 296
446 < #define DISABLE_LOCAL_CHANNELS 297
447 < #define DISABLE_REMOTE_COMMANDS 298
448 < #define DOTS_IN_IDENT 299
449 < #define DURATION 300
450 < #define EGDPOOL_PATH 301
451 < #define EMAIL 302
452 < #define ENABLE 303
453 < #define ENCRYPTED 304
454 < #define EXCEED_LIMIT 305
455 < #define EXEMPT 306
456 < #define FAILED_OPER_NOTICE 307
457 < #define FAKENAME 308
458 < #define IRCD_FLAGS 309
459 < #define FLATTEN_LINKS 310
460 < #define FFAILED_OPERLOG 311
461 < #define FKILLLOG 312
462 < #define FKLINELOG 313
463 < #define FGLINELOG 314
464 < #define FIOERRLOG 315
465 < #define FOPERLOG 316
466 < #define FOPERSPYLOG 317
467 < #define FUSERLOG 318
468 < #define GECOS 319
469 < #define GENERAL 320
470 < #define GLINE 321
471 < #define GLINES 322
472 < #define GLINE_EXEMPT 323
473 < #define GLINE_LOG 324
474 < #define GLINE_TIME 325
475 < #define GLINE_MIN_CIDR 326
476 < #define GLINE_MIN_CIDR6 327
477 < #define GLOBAL_KILL 328
478 < #define IRCD_AUTH 329
479 < #define NEED_IDENT 330
480 < #define HAVENT_READ_CONF 331
481 < #define HIDDEN 332
482 < #define HIDDEN_ADMIN 333
483 < #define HIDDEN_NAME 334
484 < #define HIDDEN_OPER 335
485 < #define HIDE_SERVER_IPS 336
486 < #define HIDE_SERVERS 337
487 < #define HIDE_SPOOF_IPS 338
488 < #define HOST 339
489 < #define HUB 340
490 < #define HUB_MASK 341
491 < #define IDLETIME 342
492 < #define IGNORE_BOGUS_TS 343
493 < #define INVISIBLE_ON_CONNECT 344
494 < #define IP 345
495 < #define KILL 346
496 < #define KILL_CHASE_TIME_LIMIT 347
497 < #define KLINE 348
498 < #define KLINE_EXEMPT 349
499 < #define KLINE_REASON 350
500 < #define KLINE_WITH_REASON 351
501 < #define KNOCK_DELAY 352
502 < #define KNOCK_DELAY_CHANNEL 353
503 < #define LEAF_MASK 354
504 < #define LINKS_DELAY 355
505 < #define LISTEN 356
506 < #define T_LOG 357
507 < #define LOGGING 358
508 < #define LOG_LEVEL 359
509 < #define MAX_ACCEPT 360
510 < #define MAX_BANS 361
511 < #define MAX_CHANS_PER_USER 362
512 < #define MAX_GLOBAL 363
513 < #define MAX_IDENT 364
514 < #define MAX_LOCAL 365
515 < #define MAX_NICK_CHANGES 366
516 < #define MAX_NICK_TIME 367
517 < #define MAX_NUMBER 368
518 < #define MAX_TARGETS 369
519 < #define MAX_WATCH 370
520 < #define MESSAGE_LOCALE 371
521 < #define MIN_NONWILDCARD 372
522 < #define MIN_NONWILDCARD_SIMPLE 373
523 < #define MODULE 374
524 < #define MODULES 375
525 < #define NAME 376
526 < #define NEED_PASSWORD 377
527 < #define NETWORK_DESC 378
528 < #define NETWORK_NAME 379
529 < #define NICK 380
530 < #define NICK_CHANGES 381
531 < #define NO_CREATE_ON_SPLIT 382
532 < #define NO_JOIN_ON_SPLIT 383
533 < #define NO_OPER_FLOOD 384
534 < #define NO_TILDE 385
535 < #define NOT 386
536 < #define NUMBER 387
537 < #define NUMBER_PER_IDENT 388
538 < #define NUMBER_PER_CIDR 389
539 < #define NUMBER_PER_IP 390
540 < #define NUMBER_PER_IP_GLOBAL 391
541 < #define OPERATOR 392
542 < #define OPERS_BYPASS_CALLERID 393
543 < #define OPER_LOG 394
544 < #define OPER_ONLY_UMODES 395
545 < #define OPER_PASS_RESV 396
546 < #define OPER_SPY_T 397
547 < #define OPER_UMODES 398
548 < #define JOIN_FLOOD_COUNT 399
549 < #define JOIN_FLOOD_TIME 400
550 < #define PACE_WAIT 401
551 < #define PACE_WAIT_SIMPLE 402
552 < #define PASSWORD 403
553 < #define PATH 404
554 < #define PING_COOKIE 405
555 < #define PING_TIME 406
556 < #define PING_WARNING 407
557 < #define PORT 408
558 < #define QSTRING 409
559 < #define QUIET_ON_BAN 410
560 < #define REASON 411
561 < #define REDIRPORT 412
562 < #define REDIRSERV 413
563 < #define REGEX_T 414
564 < #define REHASH 415
565 < #define TREJECT_HOLD_TIME 416
566 < #define REMOTE 417
567 < #define REMOTEBAN 418
568 < #define RESTRICT_CHANNELS 419
569 < #define RESTRICTED 420
570 < #define RSA_PRIVATE_KEY_FILE 421
571 < #define RSA_PUBLIC_KEY_FILE 422
572 < #define SSL_CERTIFICATE_FILE 423
573 < #define T_SSL_CONNECTION_METHOD 424
574 < #define T_SSLV3 425
575 < #define T_TLSV1 426
576 < #define RESV 427
577 < #define RESV_EXEMPT 428
578 < #define SECONDS 429
579 < #define MINUTES 430
580 < #define HOURS 431
581 < #define DAYS 432
582 < #define WEEKS 433
583 < #define SENDQ 434
584 < #define SEND_PASSWORD 435
585 < #define SERVERHIDE 436
586 < #define SERVERINFO 437
587 < #define SERVLINK_PATH 438
588 < #define IRCD_SID 439
589 < #define TKLINE_EXPIRE_NOTICES 440
590 < #define T_SHARED 441
591 < #define T_CLUSTER 442
592 < #define TYPE 443
593 < #define SHORT_MOTD 444
594 < #define SILENT 445
595 < #define SPOOF 446
596 < #define SPOOF_NOTICE 447
597 < #define STATS_E_DISABLED 448
598 < #define STATS_I_OPER_ONLY 449
599 < #define STATS_K_OPER_ONLY 450
600 < #define STATS_O_OPER_ONLY 451
601 < #define STATS_P_OPER_ONLY 452
602 < #define TBOOL 453
603 < #define TMASKED 454
604 < #define T_REJECT 455
605 < #define TS_MAX_DELTA 456
606 < #define TS_WARN_DELTA 457
607 < #define TWODOTS 458
608 < #define T_ALL 459
609 < #define T_BOTS 460
610 < #define T_SOFTCALLERID 461
611 < #define T_CALLERID 462
612 < #define T_CCONN 463
613 < #define T_CCONN_FULL 464
614 < #define T_CLIENT_FLOOD 465
615 < #define T_DEAF 466
616 < #define T_DEBUG 467
617 < #define T_DRONE 468
618 < #define T_EXTERNAL 469
619 < #define T_FULL 470
620 < #define T_INVISIBLE 471
621 < #define T_IPV4 472
622 < #define T_IPV6 473
683 < #define T_LOCOPS 474
684 < #define T_LOGPATH 475
685 < #define T_L_CRIT 476
686 < #define T_L_DEBUG 477
687 < #define T_L_ERROR 478
688 < #define T_L_INFO 479
689 < #define T_L_NOTICE 480
690 < #define T_L_TRACE 481
691 < #define T_L_WARN 482
692 < #define T_MAX_CLIENTS 483
693 < #define T_NCHANGE 484
694 < #define T_OPERWALL 485
695 < #define T_REJ 486
696 < #define T_SERVER 487
697 < #define T_SERVNOTICE 488
698 < #define T_SKILL 489
699 < #define T_SPY 490
700 < #define T_SSL 491
701 < #define T_UMODES 492
702 < #define T_UNAUTH 493
703 < #define T_UNRESV 494
704 < #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
725 <
408 > #define ADMIN 259
409 > #define AFTYPE 260
410 > #define ANTI_NICK_FLOOD 261
411 > #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
412 > #define AUTOCONN 263
413 > #define BYTES 264
414 > #define KBYTES 265
415 > #define MBYTES 266
416 > #define CALLER_ID_WAIT 267
417 > #define CAN_FLOOD 268
418 > #define CHANNEL 269
419 > #define CIDR_BITLEN_IPV4 270
420 > #define CIDR_BITLEN_IPV6 271
421 > #define CLASS 272
422 > #define CONNECT 273
423 > #define CONNECTFREQ 274
424 > #define DEFAULT_FLOODCOUNT 275
425 > #define DEFAULT_SPLIT_SERVER_COUNT 276
426 > #define DEFAULT_SPLIT_USER_COUNT 277
427 > #define DENY 278
428 > #define DESCRIPTION 279
429 > #define DIE 280
430 > #define DISABLE_AUTH 281
431 > #define DISABLE_FAKE_CHANNELS 282
432 > #define DISABLE_REMOTE_COMMANDS 283
433 > #define DOTS_IN_IDENT 284
434 > #define EGDPOOL_PATH 285
435 > #define EMAIL 286
436 > #define ENCRYPTED 287
437 > #define EXCEED_LIMIT 288
438 > #define EXEMPT 289
439 > #define FAILED_OPER_NOTICE 290
440 > #define IRCD_FLAGS 291
441 > #define FLATTEN_LINKS 292
442 > #define GECOS 293
443 > #define GENERAL 294
444 > #define GLINE 295
445 > #define GLINE_DURATION 296
446 > #define GLINE_ENABLE 297
447 > #define GLINE_EXEMPT 298
448 > #define GLINE_REQUEST_DURATION 299
449 > #define GLINE_MIN_CIDR 300
450 > #define GLINE_MIN_CIDR6 301
451 > #define GLOBAL_KILL 302
452 > #define IRCD_AUTH 303
453 > #define NEED_IDENT 304
454 > #define HAVENT_READ_CONF 305
455 > #define HIDDEN 306
456 > #define HIDDEN_NAME 307
457 > #define HIDE_SERVER_IPS 308
458 > #define HIDE_SERVERS 309
459 > #define HIDE_SPOOF_IPS 310
460 > #define HOST 311
461 > #define HUB 312
462 > #define HUB_MASK 313
463 > #define IGNORE_BOGUS_TS 314
464 > #define INVISIBLE_ON_CONNECT 315
465 > #define IP 316
466 > #define KILL 317
467 > #define KILL_CHASE_TIME_LIMIT 318
468 > #define KLINE 319
469 > #define KLINE_EXEMPT 320
470 > #define KLINE_REASON 321
471 > #define KLINE_WITH_REASON 322
472 > #define KNOCK_DELAY 323
473 > #define KNOCK_DELAY_CHANNEL 324
474 > #define LEAF_MASK 325
475 > #define LINKS_DELAY 326
476 > #define LISTEN 327
477 > #define T_LOG 328
478 > #define MAX_ACCEPT 329
479 > #define MAX_BANS 330
480 > #define MAX_CHANS_PER_OPER 331
481 > #define MAX_CHANS_PER_USER 332
482 > #define MAX_GLOBAL 333
483 > #define MAX_IDENT 334
484 > #define MAX_LOCAL 335
485 > #define MAX_NICK_CHANGES 336
486 > #define MAX_NICK_TIME 337
487 > #define MAX_NUMBER 338
488 > #define MAX_TARGETS 339
489 > #define MAX_WATCH 340
490 > #define MESSAGE_LOCALE 341
491 > #define MIN_NONWILDCARD 342
492 > #define MIN_NONWILDCARD_SIMPLE 343
493 > #define MODULE 344
494 > #define MODULES 345
495 > #define NAME 346
496 > #define NEED_PASSWORD 347
497 > #define NETWORK_DESC 348
498 > #define NETWORK_NAME 349
499 > #define NICK 350
500 > #define NICK_CHANGES 351
501 > #define NO_CREATE_ON_SPLIT 352
502 > #define NO_JOIN_ON_SPLIT 353
503 > #define NO_OPER_FLOOD 354
504 > #define NO_TILDE 355
505 > #define NUMBER 356
506 > #define NUMBER_PER_CIDR 357
507 > #define NUMBER_PER_IP 358
508 > #define OPERATOR 359
509 > #define OPERS_BYPASS_CALLERID 360
510 > #define OPER_ONLY_UMODES 361
511 > #define OPER_PASS_RESV 362
512 > #define OPER_SPY_T 363
513 > #define OPER_UMODES 364
514 > #define JOIN_FLOOD_COUNT 365
515 > #define JOIN_FLOOD_TIME 366
516 > #define PACE_WAIT 367
517 > #define PACE_WAIT_SIMPLE 368
518 > #define PASSWORD 369
519 > #define PATH 370
520 > #define PING_COOKIE 371
521 > #define PING_TIME 372
522 > #define PING_WARNING 373
523 > #define PORT 374
524 > #define QSTRING 375
525 > #define QUIET_ON_BAN 376
526 > #define REASON 377
527 > #define REDIRPORT 378
528 > #define REDIRSERV 379
529 > #define REGEX_T 380
530 > #define REHASH 381
531 > #define TREJECT_HOLD_TIME 382
532 > #define REMOTE 383
533 > #define REMOTEBAN 384
534 > #define RESTRICT_CHANNELS 385
535 > #define RSA_PRIVATE_KEY_FILE 386
536 > #define RSA_PUBLIC_KEY_FILE 387
537 > #define SSL_CERTIFICATE_FILE 388
538 > #define SSL_DH_PARAM_FILE 389
539 > #define T_SSL_CLIENT_METHOD 390
540 > #define T_SSL_SERVER_METHOD 391
541 > #define T_SSLV3 392
542 > #define T_TLSV1 393
543 > #define RESV 394
544 > #define RESV_EXEMPT 395
545 > #define SECONDS 396
546 > #define MINUTES 397
547 > #define HOURS 398
548 > #define DAYS 399
549 > #define WEEKS 400
550 > #define SENDQ 401
551 > #define SEND_PASSWORD 402
552 > #define SERVERHIDE 403
553 > #define SERVERINFO 404
554 > #define IRCD_SID 405
555 > #define TKLINE_EXPIRE_NOTICES 406
556 > #define T_SHARED 407
557 > #define T_CLUSTER 408
558 > #define TYPE 409
559 > #define SHORT_MOTD 410
560 > #define SPOOF 411
561 > #define SPOOF_NOTICE 412
562 > #define STATS_E_DISABLED 413
563 > #define STATS_I_OPER_ONLY 414
564 > #define STATS_K_OPER_ONLY 415
565 > #define STATS_O_OPER_ONLY 416
566 > #define STATS_P_OPER_ONLY 417
567 > #define TBOOL 418
568 > #define TMASKED 419
569 > #define TS_MAX_DELTA 420
570 > #define TS_WARN_DELTA 421
571 > #define TWODOTS 422
572 > #define T_ALL 423
573 > #define T_BOTS 424
574 > #define T_SOFTCALLERID 425
575 > #define T_CALLERID 426
576 > #define T_CCONN 427
577 > #define T_CCONN_FULL 428
578 > #define T_SSL_CIPHER_LIST 429
579 > #define T_DEAF 430
580 > #define T_DEBUG 431
581 > #define T_DLINE 432
582 > #define T_EXTERNAL 433
583 > #define T_FULL 434
584 > #define T_INVISIBLE 435
585 > #define T_IPV4 436
586 > #define T_IPV6 437
587 > #define T_LOCOPS 438
588 > #define T_MAX_CLIENTS 439
589 > #define T_NCHANGE 440
590 > #define T_OPERWALL 441
591 > #define T_RECVQ 442
592 > #define T_REJ 443
593 > #define T_SERVER 444
594 > #define T_SERVNOTICE 445
595 > #define T_SET 446
596 > #define T_SKILL 447
597 > #define T_SPY 448
598 > #define T_SSL 449
599 > #define T_UMODES 450
600 > #define T_UNAUTH 451
601 > #define T_UNDLINE 452
602 > #define T_UNLIMITED 453
603 > #define T_UNRESV 454
604 > #define T_UNXLINE 455
605 > #define T_GLOBOPS 456
606 > #define T_WALLOP 457
607 > #define T_RESTART 458
608 > #define T_SERVICE 459
609 > #define T_SERVICES_NAME 460
610 > #define THROTTLE_TIME 461
611 > #define TRUE_NO_OPER_FLOOD 462
612 > #define UNKLINE 463
613 > #define USER 464
614 > #define USE_EGD 465
615 > #define USE_LOGGING 466
616 > #define USE_WHOIS_ACTUALLY 467
617 > #define VHOST 468
618 > #define VHOST6 469
619 > #define XLINE 470
620 > #define WARN_NO_NLINE 471
621 > #define T_SIZE 472
622 > #define T_FILE 473
623  
624  
625  
626   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
627   typedef union YYSTYPE
628   {
629 <
630 < /* Line 214 of yacc.c  */
734 < #line 132 "ircd_parser.y"
629 > /* Line 350 of yacc.c  */
630 > #line 110 "conf_parser.y"
631  
632    int number;
633    char *string;
634  
635  
636 <
637 < /* Line 214 of yacc.c  */
742 < #line 743 "ircd_parser.c"
636 > /* Line 350 of yacc.c  */
637 > #line 638 "conf_parser.c"
638   } YYSTYPE;
639   # define YYSTYPE_IS_TRIVIAL 1
640   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
641   # define YYSTYPE_IS_DECLARED 1
642   #endif
643  
644 + extern YYSTYPE yylval;
645  
646 < /* Copy the second part of user declarations.  */
646 > #ifdef YYPARSE_PARAM
647 > #if defined __STDC__ || defined __cplusplus
648 > int yyparse (void *YYPARSE_PARAM);
649 > #else
650 > int yyparse ();
651 > #endif
652 > #else /* ! YYPARSE_PARAM */
653 > #if defined __STDC__ || defined __cplusplus
654 > int yyparse (void);
655 > #else
656 > int yyparse ();
657 > #endif
658 > #endif /* ! YYPARSE_PARAM */
659  
660 + #endif /* !YY_Y_TAB_H  */
661  
662 < /* Line 264 of yacc.c  */
663 < #line 755 "ircd_parser.c"
662 > /* Copy the second part of user declarations.  */
663 >
664 > /* Line 353 of yacc.c  */
665 > #line 666 "conf_parser.c"
666  
667   #ifdef short
668   # undef short
# Line 854 | Line 765 | YYID (yyi)
765   #    define alloca _alloca
766   #   else
767   #    define YYSTACK_ALLOC alloca
768 < #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
768 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
769       || defined __cplusplus || defined _MSC_VER)
770   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
771 < #     ifndef _STDLIB_H
772 < #      define _STDLIB_H 1
771 >      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
772 > #     ifndef EXIT_SUCCESS
773 > #      define EXIT_SUCCESS 0
774   #     endif
775   #    endif
776   #   endif
# Line 881 | Line 793 | YYID (yyi)
793   #  ifndef YYSTACK_ALLOC_MAXIMUM
794   #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
795   #  endif
796 < #  if (defined __cplusplus && ! defined _STDLIB_H \
796 > #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
797         && ! ((defined YYMALLOC || defined malloc) \
798               && (defined YYFREE || defined free)))
799   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
800 < #   ifndef _STDLIB_H
801 < #    define _STDLIB_H 1
800 > #   ifndef EXIT_SUCCESS
801 > #    define EXIT_SUCCESS 0
802   #   endif
803   #  endif
804   #  ifndef YYMALLOC
805   #   define YYMALLOC malloc
806 < #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
806 > #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
807       || defined __cplusplus || defined _MSC_VER)
808   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
809   #   endif
810   #  endif
811   #  ifndef YYFREE
812   #   define YYFREE free
813 < #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
813 > #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
814       || defined __cplusplus || defined _MSC_VER)
815   void free (void *); /* INFRINGES ON USER NAME SPACE */
816   #   endif
# Line 927 | Line 839 | union yyalloc
839       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
840        + YYSTACK_GAP_MAXIMUM)
841  
842 < /* 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
842 > # define YYCOPY_NEEDED 1
843  
844   /* Relocate STACK from its old location to the new one.  The
845     local variables YYSIZE and YYSTACKSIZE give the old and new number of
# Line 963 | Line 859 | union yyalloc
859  
860   #endif
861  
862 + #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
863 + /* Copy COUNT objects from SRC to DST.  The source and destination do
864 +   not overlap.  */
865 + # ifndef YYCOPY
866 + #  if defined __GNUC__ && 1 < __GNUC__
867 + #   define YYCOPY(Dst, Src, Count) \
868 +      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
869 + #  else
870 + #   define YYCOPY(Dst, Src, Count)              \
871 +      do                                        \
872 +        {                                       \
873 +          YYSIZE_T yyi;                         \
874 +          for (yyi = 0; yyi < (Count); yyi++)   \
875 +            (Dst)[yyi] = (Src)[yyi];            \
876 +        }                                       \
877 +      while (YYID (0))
878 + #  endif
879 + # endif
880 + #endif /* !YYCOPY_NEEDED */
881 +
882   /* YYFINAL -- State number of the termination state.  */
883   #define YYFINAL  2
884   /* YYLAST -- Last index in YYTABLE.  */
885 < #define YYLAST   1263
885 > #define YYLAST   1231
886  
887   /* YYNTOKENS -- Number of terminals.  */
888 < #define YYNTOKENS  266
888 > #define YYNTOKENS  224
889   /* YYNNTS -- Number of nonterminals.  */
890 < #define YYNNTS  319
890 > #define YYNNTS  287
891   /* YYNRULES -- Number of rules.  */
892 < #define YYNRULES  689
892 > #define YYNRULES  635
893   /* YYNRULES -- Number of states.  */
894 < #define YYNSTATES  1359
894 > #define YYNSTATES  1248
895  
896   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
897   #define YYUNDEFTOK  2
898 < #define YYMAXUTOK   515
898 > #define YYMAXUTOK   473
899  
900   #define YYTRANSLATE(YYX)                                                \
901    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
902  
903   /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
904 < static const yytype_uint16 yytranslate[] =
904 > static const yytype_uint8 yytranslate[] =
905   {
906         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
907         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
908         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
909         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
910 <       2,     2,     2,     2,   265,     2,     2,     2,     2,     2,
911 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   261,
912 <       2,   264,     2,     2,     2,     2,     2,     2,     2,     2,
910 >       2,     2,     2,     2,   223,     2,     2,     2,     2,     2,
911 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   219,
912 >       2,   222,     2,     2,     2,     2,     2,     2,     2,     2,
913         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
914         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
915         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
916         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
917         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
918 <       2,     2,     2,   263,     2,   262,     2,     2,     2,     2,
918 >       2,     2,     2,   221,     2,   220,     2,     2,     2,     2,
919         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
920         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
921         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1034 | Line 950 | static const yytype_uint16 yytranslate[]
950       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
951       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
952       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
953 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1038 <     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1039 <     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
953 >     215,   216,   217,   218
954   };
955  
956   #if YYDEBUG
# Line 1052 | Line 964 | static const yytype_uint16 yyprhs[] =
964        63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
965        97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
966       134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
967 <     154,   156,   158,   160,   163,   164,   170,   174,   176,   178,
968 <     180,   185,   190,   195,   200,   205,   210,   215,   220,   225,
969 <     230,   235,   241,   244,   246,   248,   250,   252,   255,   260,
970 <     265,   270,   276,   279,   281,   283,   285,   287,   289,   291,
971 <     293,   295,   297,   299,   301,   303,   305,   308,   313,   318,
972 <     323,   328,   333,   338,   343,   348,   353,   358,   363,   368,
973 <     373,   378,   383,   388,   393,   398,   399,   407,   408,   410,
974 <     413,   415,   417,   419,   421,   423,   425,   427,   429,   431,
975 <     434,   439,   441,   446,   451,   456,   461,   466,   467,   473,
967 >     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
968 >     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
969 >     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
970 >     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
971 >     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
972 >     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
973 >     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
974 >     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
975 >     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
976 >     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
977       477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
978 <     497,   499,   501,   503,   505,   507,   509,   511,   513,   515,
979 <     517,   518,   524,   528,   530,   531,   535,   536,   539,   541,
980 <     543,   545,   547,   549,   551,   553,   555,   557,   559,   561,
981 <     563,   565,   567,   569,   571,   572,   580,   581,   583,   586,
982 <     588,   590,   592,   594,   596,   598,   600,   602,   604,   606,
983 <     608,   610,   612,   614,   617,   622,   624,   629,   634,   639,
984 <     644,   649,   654,   659,   664,   669,   674,   679,   684,   685,
985 <     692,   693,   699,   703,   705,   707,   709,   711,   714,   716,
986 <     718,   720,   722,   724,   727,   728,   734,   738,   740,   742,
987 <     746,   751,   756,   757,   764,   767,   769,   771,   773,   775,
988 <     777,   779,   781,   783,   785,   788,   793,   798,   803,   808,
989 <     809,   815,   819,   821,   822,   826,   827,   830,   832,   834,
990 <     836,   838,   840,   842,   844,   846,   848,   850,   855,   860,
991 <     865,   866,   873,   876,   878,   880,   882,   884,   887,   892,
992 <     897,   902,   903,   910,   913,   915,   917,   919,   921,   924,
993 <     929,   934,   935,   941,   945,   947,   949,   951,   953,   955,
994 <     957,   959,   961,   963,   965,   967,   969,   970,   977,   980,
995 <     982,   984,   986,   989,   994,   995,  1001,  1005,  1007,  1009,
996 <    1011,  1013,  1015,  1017,  1019,  1021,  1023,  1025,  1027,  1029,
997 <    1030,  1038,  1039,  1041,  1044,  1046,  1048,  1050,  1052,  1054,
998 <    1056,  1058,  1060,  1062,  1064,  1066,  1068,  1070,  1072,  1074,
999 <    1076,  1079,  1084,  1086,  1091,  1096,  1101,  1106,  1111,  1116,
1000 <    1121,  1126,  1127,  1133,  1137,  1139,  1140,  1144,  1145,  1148,
1001 <    1150,  1152,  1154,  1156,  1158,  1163,  1168,  1173,  1178,  1183,
1002 <    1188,  1189,  1196,  1197,  1203,  1207,  1209,  1211,  1214,  1216,
1003 <    1218,  1220,  1222,  1224,  1229,  1234,  1235,  1242,  1245,  1247,
1004 <    1249,  1251,  1253,  1258,  1263,  1269,  1272,  1274,  1276,  1278,
1005 <    1283,  1284,  1291,  1292,  1298,  1302,  1304,  1306,  1309,  1311,
1006 <    1313,  1315,  1317,  1319,  1324,  1329,  1335,  1338,  1340,  1342,
1007 <    1344,  1346,  1348,  1350,  1352,  1354,  1356,  1358,  1360,  1362,
1008 <    1364,  1366,  1368,  1370,  1372,  1374,  1376,  1378,  1380,  1382,
1009 <    1384,  1386,  1388,  1390,  1392,  1394,  1396,  1398,  1400,  1402,
1010 <    1404,  1406,  1408,  1410,  1412,  1414,  1416,  1418,  1420,  1422,
1011 <    1424,  1426,  1428,  1430,  1432,  1434,  1436,  1438,  1440,  1442,
1012 <    1444,  1446,  1448,  1450,  1452,  1457,  1462,  1467,  1472,  1477,
1013 <    1482,  1487,  1492,  1497,  1502,  1507,  1512,  1517,  1522,  1527,
1014 <    1532,  1537,  1542,  1547,  1552,  1557,  1562,  1567,  1572,  1577,
1015 <    1582,  1587,  1592,  1597,  1602,  1607,  1612,  1617,  1622,  1627,
1016 <    1632,  1637,  1642,  1647,  1652,  1657,  1662,  1667,  1672,  1677,
1017 <    1682,  1687,  1692,  1697,  1702,  1707,  1708,  1714,  1718,  1720,
1018 <    1722,  1724,  1726,  1728,  1730,  1732,  1734,  1736,  1738,  1740,
1019 <    1742,  1744,  1746,  1748,  1750,  1752,  1754,  1756,  1758,  1759,
1020 <    1765,  1769,  1771,  1773,  1775,  1777,  1779,  1781,  1783,  1785,
1021 <    1787,  1789,  1791,  1793,  1795,  1797,  1799,  1801,  1803,  1805,
1022 <    1807,  1809,  1814,  1819,  1824,  1829,  1830,  1837,  1840,  1842,
1023 <    1844,  1846,  1848,  1850,  1852,  1854,  1856,  1861,  1866,  1867,
1024 <    1873,  1877,  1879,  1881,  1883,  1888,  1893,  1894,  1900,  1904,
1112 <    1906,  1908,  1910,  1916,  1919,  1921,  1923,  1925,  1927,  1929,
1113 <    1931,  1933,  1935,  1937,  1939,  1941,  1943,  1945,  1947,  1949,
1114 <    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
978 >     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
979 >     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
980 >     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
981 >     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
982 >     587,   589,   591,   593,   596,   601,   606,   611,   616,   621,
983 >     626,   631,   636,   641,   646,   651,   656,   661,   666,   667,
984 >     674,   675,   681,   685,   687,   689,   691,   693,   696,   698,
985 >     700,   702,   704,   706,   709,   710,   716,   720,   722,   724,
986 >     728,   733,   738,   739,   746,   749,   751,   753,   755,   757,
987 >     759,   761,   763,   765,   767,   770,   775,   780,   785,   790,
988 >     791,   797,   801,   803,   805,   807,   809,   811,   813,   815,
989 >     817,   819,   821,   826,   831,   836,   837,   844,   847,   849,
990 >     851,   853,   855,   858,   863,   868,   873,   879,   882,   884,
991 >     886,   888,   893,   894,   901,   904,   906,   908,   910,   912,
992 >     915,   920,   925,   926,   932,   936,   938,   940,   942,   944,
993 >     946,   948,   950,   952,   954,   956,   958,   959,   966,   969,
994 >     971,   973,   975,   978,   983,   984,   990,   994,   996,   998,
995 >    1000,  1002,  1004,  1006,  1008,  1010,  1012,  1014,  1016,  1017,
996 >    1024,  1027,  1029,  1031,  1033,  1035,  1037,  1039,  1041,  1043,
997 >    1045,  1047,  1049,  1051,  1053,  1055,  1058,  1063,  1068,  1073,
998 >    1078,  1083,  1088,  1093,  1098,  1099,  1105,  1109,  1111,  1113,
999 >    1115,  1120,  1125,  1130,  1135,  1140,  1141,  1148,  1149,  1155,
1000 >    1159,  1161,  1163,  1166,  1168,  1170,  1172,  1174,  1176,  1181,
1001 >    1186,  1187,  1194,  1197,  1199,  1201,  1203,  1205,  1210,  1215,
1002 >    1221,  1224,  1226,  1228,  1230,  1235,  1236,  1243,  1244,  1250,
1003 >    1254,  1256,  1258,  1261,  1263,  1265,  1267,  1269,  1271,  1276,
1004 >    1281,  1287,  1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,
1005 >    1306,  1308,  1310,  1312,  1314,  1316,  1318,  1320,  1322,  1324,
1006 >    1326,  1328,  1330,  1332,  1334,  1336,  1338,  1340,  1342,  1344,
1007 >    1346,  1348,  1350,  1352,  1354,  1356,  1358,  1360,  1362,  1364,
1008 >    1366,  1368,  1370,  1372,  1374,  1376,  1378,  1380,  1382,  1384,
1009 >    1386,  1388,  1390,  1392,  1394,  1396,  1398,  1400,  1405,  1410,
1010 >    1415,  1420,  1425,  1430,  1435,  1440,  1445,  1450,  1455,  1460,
1011 >    1465,  1470,  1475,  1480,  1485,  1490,  1495,  1500,  1505,  1510,
1012 >    1515,  1520,  1525,  1530,  1535,  1540,  1545,  1550,  1555,  1560,
1013 >    1565,  1570,  1575,  1580,  1585,  1590,  1595,  1600,  1605,  1610,
1014 >    1615,  1620,  1625,  1630,  1635,  1640,  1645,  1650,  1651,  1657,
1015 >    1661,  1663,  1665,  1667,  1669,  1671,  1673,  1675,  1677,  1679,
1016 >    1681,  1683,  1685,  1687,  1689,  1691,  1693,  1695,  1697,  1699,
1017 >    1701,  1703,  1704,  1710,  1714,  1716,  1718,  1720,  1722,  1724,
1018 >    1726,  1728,  1730,  1732,  1734,  1736,  1738,  1740,  1742,  1744,
1019 >    1746,  1748,  1750,  1752,  1754,  1756,  1761,  1766,  1771,  1777,
1020 >    1780,  1782,  1784,  1786,  1788,  1790,  1792,  1794,  1796,  1798,
1021 >    1800,  1802,  1804,  1806,  1808,  1810,  1812,  1817,  1822,  1827,
1022 >    1832,  1837,  1842,  1847,  1852,  1857,  1862,  1867,  1872,  1877,
1023 >    1882,  1888,  1891,  1893,  1895,  1897,  1899,  1901,  1903,  1905,
1024 >    1907,  1912,  1917,  1922,  1927,  1932
1025   };
1026  
1027   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1028   static const yytype_int16 yyrhs[] =
1029   {
1030 <     267,     0,    -1,    -1,   267,   268,    -1,   296,    -1,   302,
1031 <      -1,   317,    -1,   554,    -1,   340,    -1,   359,    -1,   373,
1032 <      -1,   278,    -1,   575,    -1,   391,    -1,   398,    -1,   408,
1033 <      -1,   417,    -1,   444,    -1,   454,    -1,   460,    -1,   474,
1034 <      -1,   538,    -1,   464,    -1,   273,    -1,     1,   261,    -1,
1035 <       1,   262,    -1,    -1,   270,    -1,   132,   269,    -1,   132,
1036 <     174,   269,    -1,   132,   175,   269,    -1,   132,   176,   269,
1037 <      -1,   132,   177,   269,    -1,   132,   178,   269,    -1,    -1,
1038 <     272,    -1,   132,   271,    -1,   132,    14,   271,    -1,   132,
1039 <      15,   271,    -1,   132,    16,   271,    -1,   120,   263,   274,
1040 <     262,   261,    -1,   274,   275,    -1,   275,    -1,   276,    -1,
1041 <     277,    -1,     1,   261,    -1,   119,   264,   154,   261,    -1,
1042 <     149,   264,   154,   261,    -1,   182,   263,   279,   262,   261,
1043 <      -1,   279,   280,    -1,   280,    -1,   287,    -1,   292,    -1,
1044 <     295,    -1,   289,    -1,   290,    -1,   291,    -1,   294,    -1,
1045 <     286,    -1,   293,    -1,   288,    -1,   285,    -1,   281,    -1,
1046 <       1,   261,    -1,    -1,   169,   282,   264,   283,   261,    -1,
1047 <     283,   265,   284,    -1,   284,    -1,   170,    -1,   171,    -1,
1048 <     168,   264,   154,   261,    -1,   166,   264,   154,   261,    -1,
1049 <     121,   264,   154,   261,    -1,   184,   264,   154,   261,    -1,
1050 <      37,   264,   154,   261,    -1,   124,   264,   154,   261,    -1,
1051 <     123,   264,   154,   261,    -1,   256,   264,   154,   261,    -1,
1052 <     257,   264,   154,   261,    -1,   228,   264,   132,   261,    -1,
1053 <      85,   264,   198,   261,    -1,     5,   263,   297,   262,   261,
1054 <      -1,   297,   298,    -1,   298,    -1,   299,    -1,   301,    -1,
1055 <     300,    -1,     1,   261,    -1,   121,   264,   154,   261,    -1,
1056 <      47,   264,   154,   261,    -1,    37,   264,   154,   261,    -1,
1057 <     103,   263,   303,   262,   261,    -1,   303,   304,    -1,   304,
1058 <      -1,   305,    -1,   306,    -1,   315,    -1,   316,    -1,   307,
1059 <      -1,   309,    -1,   311,    -1,   312,    -1,   314,    -1,   310,
1060 <      -1,   313,    -1,   308,    -1,     1,   261,    -1,   220,   264,
1061 <     154,   261,    -1,   139,   264,   154,   261,    -1,    63,   264,
1062 <     154,   261,    -1,    56,   264,   154,   261,    -1,    61,   264,
1063 <     154,   261,    -1,    62,   264,   154,   261,    -1,    59,   264,
1064 <     154,   261,    -1,    58,   264,   154,   261,    -1,    60,   264,
1065 <     154,   261,    -1,    57,   264,   154,   261,    -1,   104,   264,
1066 <     221,   261,    -1,   104,   264,   223,   261,    -1,   104,   264,
1067 <     227,   261,    -1,   104,   264,   225,   261,    -1,   104,   264,
1068 <     226,   261,    -1,   104,   264,   224,   261,    -1,   104,   264,
1069 <     222,   261,    -1,   254,   264,   198,   261,    -1,    -1,   137,
1070 <     318,   319,   263,   320,   262,   261,    -1,    -1,   323,    -1,
1071 <     320,   321,    -1,   321,    -1,   322,    -1,   324,    -1,   325,
1072 <      -1,   329,    -1,   328,    -1,   326,    -1,   327,    -1,   333,
1073 <      -1,     1,   261,    -1,   121,   264,   154,   261,    -1,   154,
1074 <      -1,   249,   264,   154,   261,    -1,   148,   264,   154,   261,
1075 <      -1,    49,   264,   198,   261,    -1,   167,   264,   154,   261,
1076 <      -1,    26,   264,   154,   261,    -1,    -1,   237,   330,   264,
1077 <     331,   261,    -1,   331,   265,   332,    -1,   332,    -1,   205,
1078 <      -1,   208,    -1,   209,    -1,   211,    -1,   212,    -1,   215,
1079 <      -1,   234,    -1,   229,    -1,   231,    -1,   238,    -1,   235,
1080 <      -1,   214,    -1,   230,    -1,   233,    -1,   216,    -1,   241,
1081 <      -1,   206,    -1,   207,    -1,   219,    -1,    -1,    54,   334,
1082 <     264,   335,   261,    -1,   335,   265,   336,    -1,   336,    -1,
1083 <      -1,   131,   337,   339,    -1,    -1,   338,   339,    -1,    73,
1084 <      -1,   162,    -1,    93,    -1,   248,    -1,   258,    -1,    66,
1085 <      -1,    38,    -1,   160,    -1,     5,    -1,    78,    -1,   126,
1086 <      -1,   230,    -1,   142,    -1,    80,    -1,   163,    -1,    49,
1087 <      -1,    -1,    26,   341,   342,   263,   343,   262,   261,    -1,
1088 <      -1,   346,    -1,   343,   344,    -1,   344,    -1,   345,    -1,
1089 <     356,    -1,   357,    -1,   347,    -1,   348,    -1,   358,    -1,
1090 <     349,    -1,   350,    -1,   351,    -1,   352,    -1,   353,    -1,
1091 <     354,    -1,   355,    -1,     1,   261,    -1,   121,   264,   154,
1092 <     261,    -1,   154,    -1,   151,   264,   270,   261,    -1,   152,
1093 <     264,   270,   261,    -1,   135,   264,   132,   261,    -1,    30,
1094 <     264,   270,   261,    -1,   113,   264,   132,   261,    -1,   108,
1095 <     264,   132,   261,    -1,   110,   264,   132,   261,    -1,   109,
1096 <     264,   132,   261,    -1,   179,   264,   272,   261,    -1,    23,
1097 <     264,   132,   261,    -1,    24,   264,   132,   261,    -1,   134,
1098 <     264,   132,   261,    -1,    -1,   101,   360,   263,   365,   262,
1099 <     261,    -1,    -1,    54,   362,   264,   363,   261,    -1,   363,
1100 <     265,   364,    -1,   364,    -1,   236,    -1,    77,    -1,   232,
1101 <      -1,   365,   366,    -1,   366,    -1,   367,    -1,   361,    -1,
1102 <     371,    -1,   372,    -1,     1,   261,    -1,    -1,   153,   264,
1103 <     369,   368,   261,    -1,   369,   265,   370,    -1,   370,    -1,
1104 <     132,    -1,   132,   203,   132,    -1,    90,   264,   154,   261,
1105 <      -1,    84,   264,   154,   261,    -1,    -1,    74,   374,   263,
1106 <     375,   262,   261,    -1,   375,   376,    -1,   376,    -1,   377,
1107 <      -1,   378,    -1,   379,    -1,   381,    -1,   388,    -1,   389,
1108 <      -1,   390,    -1,   380,    -1,     1,   261,    -1,   249,   264,
1109 <     154,   261,    -1,   148,   264,   154,   261,    -1,    26,   264,
1110 <     154,   261,    -1,    49,   264,   198,   261,    -1,    -1,    54,
1111 <     382,   264,   383,   261,    -1,   383,   265,   384,    -1,   384,
1112 <      -1,    -1,   131,   385,   387,    -1,    -1,   386,   387,    -1,
1113 <     192,    -1,    50,    -1,    94,    -1,    75,    -1,    20,    -1,
1114 <      21,    -1,   130,    -1,    68,    -1,   173,    -1,   122,    -1,
1115 <     191,   264,   154,   261,    -1,   158,   264,   154,   261,    -1,
1116 <     157,   264,   132,   261,    -1,    -1,   172,   392,   263,   393,
1117 <     262,   261,    -1,   393,   394,    -1,   394,    -1,   395,    -1,
1118 <     396,    -1,   397,    -1,     1,   261,    -1,   156,   264,   154,
1119 <     261,    -1,    22,   264,   154,   261,    -1,   125,   264,   154,
1120 <     261,    -1,    -1,   186,   399,   263,   400,   262,   261,    -1,
1121 <     400,   401,    -1,   401,    -1,   402,    -1,   403,    -1,   404,
1122 <      -1,     1,   261,    -1,   121,   264,   154,   261,    -1,   249,
1123 <     264,   154,   261,    -1,    -1,   188,   405,   264,   406,   261,
1124 <      -1,   406,   265,   407,    -1,   407,    -1,    93,    -1,   245,
1125 <      -1,   248,    -1,   258,    -1,   246,    -1,   240,    -1,   172,
1126 <      -1,   247,    -1,   239,    -1,   219,    -1,   204,    -1,    -1,
1127 <     187,   409,   263,   410,   262,   261,    -1,   410,   411,    -1,
1128 <     411,    -1,   412,    -1,   413,    -1,     1,   261,    -1,   121,
1129 <     264,   154,   261,    -1,    -1,   188,   414,   264,   415,   261,
1130 <      -1,   415,   265,   416,    -1,   416,    -1,    93,    -1,   245,
1131 <      -1,   248,    -1,   258,    -1,   246,    -1,   240,    -1,   172,
1132 <      -1,   247,    -1,   239,    -1,   219,    -1,   204,    -1,    -1,
1133 <      29,   418,   419,   263,   420,   262,   261,    -1,    -1,   423,
1134 <      -1,   420,   421,    -1,   421,    -1,   422,    -1,   424,    -1,
1135 <     425,    -1,   426,    -1,   427,    -1,   429,    -1,   428,    -1,
1136 <     430,    -1,   431,    -1,   440,    -1,   441,    -1,   442,    -1,
1137 <     439,    -1,   438,    -1,   443,    -1,     1,   261,    -1,   121,
1138 <     264,   154,   261,    -1,   154,    -1,    84,   264,   154,   261,
1139 <      -1,   256,   264,   154,   261,    -1,   180,   264,   154,   261,
1140 <      -1,     3,   264,   154,   261,    -1,   153,   264,   132,   261,
1141 <      -1,     6,   264,   217,   261,    -1,     6,   264,   218,   261,
1142 <      -1,    53,   264,   154,   261,    -1,    -1,    54,   432,   264,
1143 <     433,   261,    -1,   433,   265,   434,    -1,   434,    -1,    -1,
1144 <     131,   435,   437,    -1,    -1,   436,   437,    -1,    27,    -1,
1145 <      31,    -1,    10,    -1,    12,    -1,   243,    -1,   167,   264,
1146 <     154,   261,    -1,    49,   264,   198,   261,    -1,    86,   264,
1147 <     154,   261,    -1,    99,   264,   154,   261,    -1,    26,   264,
1148 <     154,   261,    -1,    25,   264,   154,   261,    -1,    -1,    91,
1149 <     445,   263,   450,   262,   261,    -1,    -1,   188,   447,   264,
1150 <     448,   261,    -1,   448,   265,   449,    -1,   449,    -1,   159,
1151 <      -1,   450,   451,    -1,   451,    -1,   452,    -1,   453,    -1,
1152 <     446,    -1,     1,    -1,   249,   264,   154,   261,    -1,   156,
1153 <     264,   154,   261,    -1,    -1,    36,   455,   263,   456,   262,
1154 <     261,    -1,   456,   457,    -1,   457,    -1,   458,    -1,   459,
1155 <      -1,     1,    -1,    90,   264,   154,   261,    -1,   156,   264,
1156 <     154,   261,    -1,    51,   263,   461,   262,   261,    -1,   461,
1157 <     462,    -1,   462,    -1,   463,    -1,     1,    -1,    90,   264,
1158 <     154,   261,    -1,    -1,    64,   465,   263,   470,   262,   261,
1159 <      -1,    -1,   188,   467,   264,   468,   261,    -1,   468,   265,
1160 <     469,    -1,   469,    -1,   159,    -1,   470,   471,    -1,   471,
1161 <      -1,   472,    -1,   473,    -1,   466,    -1,     1,    -1,   121,
1162 <     264,   154,   261,    -1,   156,   264,   154,   261,    -1,    65,
1163 <     263,   475,   262,   261,    -1,   475,   476,    -1,   476,    -1,
1164 <     485,    -1,   486,    -1,   488,    -1,   489,    -1,   490,    -1,
1165 <     491,    -1,   492,    -1,   493,    -1,   494,    -1,   495,    -1,
1166 <     484,    -1,   497,    -1,   498,    -1,   499,    -1,   500,    -1,
1167 <     516,    -1,   502,    -1,   504,    -1,   506,    -1,   505,    -1,
1168 <     509,    -1,   503,    -1,   510,    -1,   511,    -1,   512,    -1,
1169 <     513,    -1,   515,    -1,   514,    -1,   530,    -1,   517,    -1,
1170 <     521,    -1,   522,    -1,   526,    -1,   507,    -1,   508,    -1,
1171 <     536,    -1,   534,    -1,   535,    -1,   518,    -1,   487,    -1,
1172 <     519,    -1,   520,    -1,   537,    -1,   525,    -1,   496,    -1,
1173 <     523,    -1,   524,    -1,   480,    -1,   483,    -1,   478,    -1,
1174 <     479,    -1,   481,    -1,   482,    -1,   501,    -1,   477,    -1,
1175 <       1,    -1,   115,   264,   132,   261,    -1,    71,   264,   132,
1176 <     261,    -1,    72,   264,   132,   261,    -1,    12,   264,   198,
1177 <     261,    -1,   255,   264,   198,   261,    -1,   161,   264,   270,
1178 <     261,    -1,   185,   264,   198,   261,    -1,    92,   264,   270,
1179 <     261,    -1,    83,   264,   198,   261,    -1,    88,   264,   198,
1180 <     261,    -1,    43,   264,   198,   261,    -1,    52,   264,   198,
1181 <     261,    -1,     8,   264,   198,   261,    -1,   112,   264,   270,
1182 <     261,    -1,   111,   264,   132,   261,    -1,   105,   264,   132,
1183 <     261,    -1,     9,   264,   270,   261,    -1,   202,   264,   270,
1184 <     261,    -1,   201,   264,   270,   261,    -1,    76,   264,   132,
1185 <     261,    -1,    96,   264,   198,   261,    -1,    95,   264,   154,
1186 <     261,    -1,    89,   264,   198,   261,    -1,   260,   264,   198,
1187 <     261,    -1,   193,   264,   198,   261,    -1,   196,   264,   198,
1188 <     261,    -1,   197,   264,   198,   261,    -1,   195,   264,   198,
1189 <     261,    -1,   195,   264,   199,   261,    -1,   194,   264,   198,
1190 <     261,    -1,   194,   264,   199,   261,    -1,   146,   264,   270,
1191 <     261,    -1,    19,   264,   270,   261,    -1,   138,   264,   198,
1192 <     261,    -1,   147,   264,   270,   261,    -1,   189,   264,   198,
1193 <     261,    -1,   129,   264,   198,   261,    -1,   244,   264,   198,
1194 <     261,    -1,   141,   264,   198,   261,    -1,   116,   264,   154,
1195 <     261,    -1,    87,   264,   270,   261,    -1,    44,   264,   132,
1196 <     261,    -1,   114,   264,   132,   261,    -1,   183,   264,   154,
1197 <     261,    -1,    32,   264,   154,   261,    -1,    28,   264,   132,
1198 <     261,    -1,   250,   264,   198,   261,    -1,    46,   264,   154,
1199 <     261,    -1,   150,   264,   198,   261,    -1,    39,   264,   198,
1200 <     261,    -1,   242,   264,   270,   261,    -1,    -1,   143,   527,
1201 <     264,   528,   261,    -1,   528,   265,   529,    -1,   529,    -1,
1202 <     205,    -1,   208,    -1,   209,    -1,   211,    -1,   212,    -1,
1203 <     215,    -1,   234,    -1,   229,    -1,   231,    -1,   238,    -1,
1204 <     235,    -1,   214,    -1,   230,    -1,   233,    -1,   216,    -1,
1205 <     241,    -1,   206,    -1,   207,    -1,   219,    -1,    -1,   140,
1206 <     531,   264,   532,   261,    -1,   532,   265,   533,    -1,   533,
1207 <      -1,   205,    -1,   208,    -1,   209,    -1,   211,    -1,   212,
1208 <      -1,   215,    -1,   234,    -1,   229,    -1,   231,    -1,   238,
1209 <      -1,   235,    -1,   214,    -1,   230,    -1,   233,    -1,   216,
1210 <      -1,   241,    -1,   206,    -1,   207,    -1,   219,    -1,   117,
1211 <     264,   132,   261,    -1,   118,   264,   132,   261,    -1,    33,
1212 <     264,   132,   261,    -1,   210,   264,   272,   261,    -1,    -1,
1213 <      67,   539,   263,   540,   262,   261,    -1,   540,   541,    -1,
1214 <     541,    -1,   542,    -1,   543,    -1,   544,    -1,   548,    -1,
1215 <     549,    -1,   550,    -1,     1,    -1,    48,   264,   198,   261,
1216 <      -1,    45,   264,   270,   261,    -1,    -1,   103,   545,   264,
1217 <     546,   261,    -1,   546,   265,   547,    -1,   547,    -1,   200,
1218 <      -1,    11,    -1,   249,   264,   154,   261,    -1,   121,   264,
1219 <     154,   261,    -1,    -1,     4,   551,   264,   552,   261,    -1,
1220 <     552,   265,   553,    -1,   553,    -1,   200,    -1,    11,    -1,
1221 <      22,   263,   555,   262,   261,    -1,   555,   556,    -1,   556,
1222 <      -1,   559,    -1,   560,    -1,   561,    -1,   562,    -1,   567,
1223 <      -1,   563,    -1,   564,    -1,   565,    -1,   566,    -1,   568,
1317 <      -1,   569,    -1,   570,    -1,   558,    -1,   571,    -1,   572,
1318 <      -1,   573,    -1,   574,    -1,   557,    -1,     1,    -1,    40,
1319 <     264,   198,   261,    -1,   164,   264,   198,   261,    -1,    42,
1320 <     264,   198,   261,    -1,   251,   264,   198,   261,    -1,   252,
1321 <     264,   198,   261,    -1,   253,   264,   198,   261,    -1,    97,
1322 <     264,   270,   261,    -1,    98,   264,   270,   261,    -1,   107,
1323 <     264,   132,   261,    -1,   155,   264,   198,   261,    -1,   106,
1324 <     264,   132,   261,    -1,    35,   264,   132,   261,    -1,    34,
1325 <     264,   132,   261,    -1,   127,   264,   198,   261,    -1,   128,
1326 <     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
1030 >     225,     0,    -1,    -1,   225,   226,    -1,   258,    -1,   264,
1031 >      -1,   278,    -1,   485,    -1,   296,    -1,   314,    -1,   328,
1032 >      -1,   236,    -1,   502,    -1,   343,    -1,   350,    -1,   354,
1033 >      -1,   364,    -1,   373,    -1,   393,    -1,   403,    -1,   409,
1034 >      -1,   423,    -1,   413,    -1,   231,    -1,     1,   219,    -1,
1035 >       1,   220,    -1,    -1,   228,    -1,   101,   227,    -1,   101,
1036 >     141,   227,    -1,   101,   142,   227,    -1,   101,   143,   227,
1037 >      -1,   101,   144,   227,    -1,   101,   145,   227,    -1,    -1,
1038 >     230,    -1,   101,   229,    -1,   101,     9,   229,    -1,   101,
1039 >      10,   229,    -1,   101,    11,   229,    -1,    90,   221,   232,
1040 >     220,   219,    -1,   232,   233,    -1,   233,    -1,   234,    -1,
1041 >     235,    -1,     1,   219,    -1,    89,   222,   120,   219,    -1,
1042 >     115,   222,   120,   219,    -1,   149,   221,   237,   220,   219,
1043 >      -1,   237,   238,    -1,   238,    -1,   249,    -1,   254,    -1,
1044 >     257,    -1,   251,    -1,   252,    -1,   253,    -1,   256,    -1,
1045 >     247,    -1,   246,    -1,   255,    -1,   250,    -1,   245,    -1,
1046 >     239,    -1,   240,    -1,   248,    -1,     1,   219,    -1,   135,
1047 >     222,   241,   219,    -1,   136,   222,   243,   219,    -1,   241,
1048 >     223,   242,    -1,   242,    -1,   137,    -1,   138,    -1,   243,
1049 >     223,   244,    -1,   244,    -1,   137,    -1,   138,    -1,   133,
1050 >     222,   120,   219,    -1,   131,   222,   120,   219,    -1,   134,
1051 >     222,   120,   219,    -1,   174,   222,   120,   219,    -1,    91,
1052 >     222,   120,   219,    -1,   150,   222,   120,   219,    -1,    24,
1053 >     222,   120,   219,    -1,    94,   222,   120,   219,    -1,    93,
1054 >     222,   120,   219,    -1,   213,   222,   120,   219,    -1,   214,
1055 >     222,   120,   219,    -1,   184,   222,   101,   219,    -1,    57,
1056 >     222,   163,   219,    -1,     4,   221,   259,   220,   219,    -1,
1057 >     259,   260,    -1,   260,    -1,   261,    -1,   263,    -1,   262,
1058 >      -1,     1,   219,    -1,    91,   222,   120,   219,    -1,    31,
1059 >     222,   120,   219,    -1,    24,   222,   120,   219,    -1,    73,
1060 >     221,   265,   220,   219,    -1,   265,   266,    -1,   266,    -1,
1061 >     267,    -1,   268,    -1,     1,   219,    -1,   211,   222,   163,
1062 >     219,    -1,    -1,   269,   218,   221,   270,   220,   219,    -1,
1063 >     270,   271,    -1,   271,    -1,   272,    -1,   274,    -1,   273,
1064 >      -1,     1,   219,    -1,    91,   222,   120,   219,    -1,   217,
1065 >     222,   230,   219,    -1,   217,   222,   198,   219,    -1,    -1,
1066 >     154,   275,   222,   276,   219,    -1,   276,   223,   277,    -1,
1067 >     277,    -1,   209,    -1,   104,    -1,    40,    -1,   177,    -1,
1068 >      64,    -1,    62,    -1,   176,    -1,    -1,   104,   279,   221,
1069 >     280,   220,   219,    -1,   280,   281,    -1,   281,    -1,   282,
1070 >      -1,   283,    -1,   284,    -1,   288,    -1,   287,    -1,   285,
1071 >      -1,   286,    -1,   292,    -1,     1,   219,    -1,    91,   222,
1072 >     120,   219,    -1,   209,   222,   120,   219,    -1,   114,   222,
1073 >     120,   219,    -1,    32,   222,   163,   219,    -1,   132,   222,
1074 >     120,   219,    -1,    17,   222,   120,   219,    -1,    -1,   195,
1075 >     289,   222,   290,   219,    -1,   290,   223,   291,    -1,   291,
1076 >      -1,   169,    -1,   172,    -1,   173,    -1,   175,    -1,   176,
1077 >      -1,   179,    -1,    51,    -1,   192,    -1,   185,    -1,   188,
1078 >      -1,   196,    -1,   193,    -1,   178,    -1,   186,    -1,   190,
1079 >      -1,   180,    -1,   202,    -1,   170,    -1,   171,    -1,   183,
1080 >      -1,    -1,    36,   293,   222,   294,   219,    -1,   294,   223,
1081 >     295,    -1,   295,    -1,    47,    -1,   128,    -1,    64,    -1,
1082 >     208,    -1,   177,    -1,   197,    -1,   215,    -1,    40,    -1,
1083 >      25,    -1,   203,    -1,   126,    -1,     4,    -1,    96,    -1,
1084 >     186,    -1,   201,    -1,   108,    -1,   129,    -1,   191,    -1,
1085 >      89,    -1,    -1,    17,   297,   221,   298,   220,   219,    -1,
1086 >     298,   299,    -1,   299,    -1,   300,    -1,   311,    -1,   312,
1087 >      -1,   301,    -1,   302,    -1,   313,    -1,   303,    -1,   304,
1088 >      -1,   305,    -1,   306,    -1,   307,    -1,   308,    -1,   309,
1089 >      -1,   310,    -1,     1,   219,    -1,    91,   222,   120,   219,
1090 >      -1,   117,   222,   228,   219,    -1,   118,   222,   228,   219,
1091 >      -1,   103,   222,   101,   219,    -1,    19,   222,   228,   219,
1092 >      -1,    83,   222,   101,   219,    -1,    78,   222,   101,   219,
1093 >      -1,    80,   222,   101,   219,    -1,    79,   222,   101,   219,
1094 >      -1,   146,   222,   230,   219,    -1,   187,   222,   230,   219,
1095 >      -1,    15,   222,   101,   219,    -1,    16,   222,   101,   219,
1096 >      -1,   102,   222,   101,   219,    -1,    -1,    72,   315,   221,
1097 >     320,   220,   219,    -1,    -1,    36,   317,   222,   318,   219,
1098 >      -1,   318,   223,   319,    -1,   319,    -1,   194,    -1,    51,
1099 >      -1,   189,    -1,   320,   321,    -1,   321,    -1,   322,    -1,
1100 >     316,    -1,   326,    -1,   327,    -1,     1,   219,    -1,    -1,
1101 >     119,   222,   324,   323,   219,    -1,   324,   223,   325,    -1,
1102 >     325,    -1,   101,    -1,   101,   167,   101,    -1,    61,   222,
1103 >     120,   219,    -1,    56,   222,   120,   219,    -1,    -1,    48,
1104 >     329,   221,   330,   220,   219,    -1,   330,   331,    -1,   331,
1105 >      -1,   332,    -1,   333,    -1,   334,    -1,   336,    -1,   340,
1106 >      -1,   341,    -1,   342,    -1,   335,    -1,     1,   219,    -1,
1107 >     209,   222,   120,   219,    -1,   114,   222,   120,   219,    -1,
1108 >      17,   222,   120,   219,    -1,    32,   222,   163,   219,    -1,
1109 >      -1,    36,   337,   222,   338,   219,    -1,   338,   223,   339,
1110 >      -1,   339,    -1,   157,    -1,    33,    -1,    65,    -1,    49,
1111 >      -1,    13,    -1,   100,    -1,    43,    -1,   140,    -1,    92,
1112 >      -1,   156,   222,   120,   219,    -1,   124,   222,   120,   219,
1113 >      -1,   123,   222,   101,   219,    -1,    -1,   139,   344,   221,
1114 >     345,   220,   219,    -1,   345,   346,    -1,   346,    -1,   347,
1115 >      -1,   348,    -1,   349,    -1,     1,   219,    -1,   122,   222,
1116 >     120,   219,    -1,    14,   222,   120,   219,    -1,    95,   222,
1117 >     120,   219,    -1,   204,   221,   351,   220,   219,    -1,   351,
1118 >     352,    -1,   352,    -1,   353,    -1,     1,    -1,    91,   222,
1119 >     120,   219,    -1,    -1,   152,   355,   221,   356,   220,   219,
1120 >      -1,   356,   357,    -1,   357,    -1,   358,    -1,   359,    -1,
1121 >     360,    -1,     1,   219,    -1,    91,   222,   120,   219,    -1,
1122 >     209,   222,   120,   219,    -1,    -1,   154,   361,   222,   362,
1123 >     219,    -1,   362,   223,   363,    -1,   363,    -1,    64,    -1,
1124 >     208,    -1,   177,    -1,   197,    -1,   215,    -1,   200,    -1,
1125 >     139,    -1,   199,    -1,   183,    -1,   168,    -1,    -1,   153,
1126 >     365,   221,   366,   220,   219,    -1,   366,   367,    -1,   367,
1127 >      -1,   368,    -1,   369,    -1,     1,   219,    -1,    91,   222,
1128 >     120,   219,    -1,    -1,   154,   370,   222,   371,   219,    -1,
1129 >     371,   223,   372,    -1,   372,    -1,    64,    -1,   208,    -1,
1130 >     177,    -1,   197,    -1,   215,    -1,   200,    -1,   139,    -1,
1131 >     199,    -1,   183,    -1,   168,    -1,    -1,    18,   374,   221,
1132 >     375,   220,   219,    -1,   375,   376,    -1,   376,    -1,   377,
1133 >      -1,   378,    -1,   379,    -1,   380,    -1,   381,    -1,   383,
1134 >      -1,   382,    -1,   392,    -1,   384,    -1,   389,    -1,   390,
1135 >      -1,   391,    -1,   388,    -1,     1,   219,    -1,    91,   222,
1136 >     120,   219,    -1,    56,   222,   120,   219,    -1,   213,   222,
1137 >     120,   219,    -1,   147,   222,   120,   219,    -1,     3,   222,
1138 >     120,   219,    -1,   119,   222,   101,   219,    -1,     5,   222,
1139 >     181,   219,    -1,     5,   222,   182,   219,    -1,    -1,    36,
1140 >     385,   222,   386,   219,    -1,   386,   223,   387,    -1,   387,
1141 >      -1,     8,    -1,   194,    -1,    32,   222,   163,   219,    -1,
1142 >      58,   222,   120,   219,    -1,    70,   222,   120,   219,    -1,
1143 >      17,   222,   120,   219,    -1,   174,   222,   120,   219,    -1,
1144 >      -1,    62,   394,   221,   399,   220,   219,    -1,    -1,   154,
1145 >     396,   222,   397,   219,    -1,   397,   223,   398,    -1,   398,
1146 >      -1,   125,    -1,   399,   400,    -1,   400,    -1,   401,    -1,
1147 >     402,    -1,   395,    -1,     1,    -1,   209,   222,   120,   219,
1148 >      -1,   122,   222,   120,   219,    -1,    -1,    23,   404,   221,
1149 >     405,   220,   219,    -1,   405,   406,    -1,   406,    -1,   407,
1150 >      -1,   408,    -1,     1,    -1,    61,   222,   120,   219,    -1,
1151 >     122,   222,   120,   219,    -1,    34,   221,   410,   220,   219,
1152 >      -1,   410,   411,    -1,   411,    -1,   412,    -1,     1,    -1,
1153 >      61,   222,   120,   219,    -1,    -1,    38,   414,   221,   419,
1154 >     220,   219,    -1,    -1,   154,   416,   222,   417,   219,    -1,
1155 >     417,   223,   418,    -1,   418,    -1,   125,    -1,   419,   420,
1156 >      -1,   420,    -1,   421,    -1,   422,    -1,   415,    -1,     1,
1157 >      -1,    91,   222,   120,   219,    -1,   122,   222,   120,   219,
1158 >      -1,    39,   221,   424,   220,   219,    -1,   424,   425,    -1,
1159 >     425,    -1,   436,    -1,   437,    -1,   439,    -1,   440,    -1,
1160 >     441,    -1,   442,    -1,   443,    -1,   444,    -1,   445,    -1,
1161 >     446,    -1,   435,    -1,   448,    -1,   449,    -1,   450,    -1,
1162 >     451,    -1,   466,    -1,   453,    -1,   455,    -1,   457,    -1,
1163 >     456,    -1,   460,    -1,   454,    -1,   461,    -1,   462,    -1,
1164 >     463,    -1,   464,    -1,   465,    -1,   478,    -1,   467,    -1,
1165 >     468,    -1,   469,    -1,   474,    -1,   458,    -1,   459,    -1,
1166 >     484,    -1,   482,    -1,   483,    -1,   438,    -1,   473,    -1,
1167 >     447,    -1,   471,    -1,   472,    -1,   434,    -1,   427,    -1,
1168 >     428,    -1,   429,    -1,   430,    -1,   431,    -1,   432,    -1,
1169 >     433,    -1,   452,    -1,   426,    -1,   470,    -1,     1,    -1,
1170 >      85,   222,   101,   219,    -1,    42,   222,   163,   219,    -1,
1171 >      41,   222,   228,   219,    -1,    44,   222,   228,   219,    -1,
1172 >      45,   222,   101,   219,    -1,    46,   222,   101,   219,    -1,
1173 >     212,   222,   163,   219,    -1,   127,   222,   228,   219,    -1,
1174 >     151,   222,   163,   219,    -1,    63,   222,   228,   219,    -1,
1175 >      55,   222,   163,   219,    -1,    59,   222,   163,   219,    -1,
1176 >      28,   222,   163,   219,    -1,    35,   222,   163,   219,    -1,
1177 >       6,   222,   163,   219,    -1,    82,   222,   228,   219,    -1,
1178 >      81,   222,   101,   219,    -1,    74,   222,   101,   219,    -1,
1179 >       7,   222,   228,   219,    -1,   166,   222,   228,   219,    -1,
1180 >     165,   222,   228,   219,    -1,    50,   222,   101,   219,    -1,
1181 >      67,   222,   163,   219,    -1,    66,   222,   120,   219,    -1,
1182 >      60,   222,   163,   219,    -1,   216,   222,   163,   219,    -1,
1183 >     158,   222,   163,   219,    -1,   161,   222,   163,   219,    -1,
1184 >     162,   222,   163,   219,    -1,   160,   222,   163,   219,    -1,
1185 >     160,   222,   164,   219,    -1,   159,   222,   163,   219,    -1,
1186 >     159,   222,   164,   219,    -1,   112,   222,   228,   219,    -1,
1187 >      12,   222,   228,   219,    -1,   105,   222,   163,   219,    -1,
1188 >     113,   222,   228,   219,    -1,   155,   222,   163,   219,    -1,
1189 >      99,   222,   163,   219,    -1,   207,   222,   163,   219,    -1,
1190 >     107,   222,   163,   219,    -1,    86,   222,   120,   219,    -1,
1191 >      29,   222,   101,   219,    -1,    84,   222,   101,   219,    -1,
1192 >     210,   222,   163,   219,    -1,    30,   222,   120,   219,    -1,
1193 >     205,   222,   120,   219,    -1,   116,   222,   163,   219,    -1,
1194 >      26,   222,   163,   219,    -1,   206,   222,   228,   219,    -1,
1195 >      -1,   109,   475,   222,   476,   219,    -1,   476,   223,   477,
1196 >      -1,   477,    -1,   169,    -1,   172,    -1,   173,    -1,   175,
1197 >      -1,   176,    -1,   179,    -1,    51,    -1,   192,    -1,   185,
1198 >      -1,   188,    -1,   196,    -1,   193,    -1,   178,    -1,   186,
1199 >      -1,   190,    -1,   180,    -1,   202,    -1,   170,    -1,   171,
1200 >      -1,   183,    -1,    -1,   106,   479,   222,   480,   219,    -1,
1201 >     480,   223,   481,    -1,   481,    -1,   169,    -1,   172,    -1,
1202 >     173,    -1,   175,    -1,   176,    -1,   179,    -1,   192,    -1,
1203 >      51,    -1,   185,    -1,   188,    -1,   196,    -1,   193,    -1,
1204 >     178,    -1,   186,    -1,   190,    -1,   180,    -1,   202,    -1,
1205 >     170,    -1,   171,    -1,   183,    -1,    87,   222,   101,   219,
1206 >      -1,    88,   222,   101,   219,    -1,    20,   222,   101,   219,
1207 >      -1,    14,   221,   486,   220,   219,    -1,   486,   487,    -1,
1208 >     487,    -1,   495,    -1,   490,    -1,   491,    -1,   492,    -1,
1209 >     493,    -1,   494,    -1,   496,    -1,   497,    -1,   498,    -1,
1210 >     489,    -1,   499,    -1,   500,    -1,   501,    -1,   488,    -1,
1211 >       1,    -1,    27,   222,   163,   219,    -1,   130,   222,   163,
1212 >     219,    -1,    68,   222,   228,   219,    -1,    69,   222,   228,
1213 >     219,    -1,    77,   222,   101,   219,    -1,    76,   222,   101,
1214 >     219,    -1,   121,   222,   163,   219,    -1,    75,   222,   101,
1215 >     219,    -1,    22,   222,   101,   219,    -1,    21,   222,   101,
1216 >     219,    -1,    97,   222,   163,   219,    -1,    98,   222,   163,
1217 >     219,    -1,   110,   222,   101,   219,    -1,   111,   222,   228,
1218 >     219,    -1,   148,   221,   503,   220,   219,    -1,   503,   504,
1219 >      -1,   504,    -1,   505,    -1,   506,    -1,   508,    -1,   509,
1220 >      -1,   507,    -1,   510,    -1,     1,    -1,    37,   222,   163,
1221 >     219,    -1,    54,   222,   163,   219,    -1,    52,   222,   120,
1222 >     219,    -1,    71,   222,   228,   219,    -1,    51,   222,   163,
1223 >     219,    -1,    53,   222,   163,   219,    -1
1224   };
1225  
1226   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1227   static const yytype_uint16 yyrline[] =
1228   {
1229 <       0,   396,   396,   397,   400,   401,   402,   403,   404,   405,
1230 <     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
1231 <     416,   417,   418,   419,   420,   421,   425,   425,   426,   430,
1232 <     434,   438,   442,   446,   452,   452,   453,   454,   455,   456,
1233 <     463,   466,   466,   467,   467,   467,   469,   477,   486,   488,
1234 <     488,   489,   489,   490,   490,   491,   491,   492,   493,   493,
1235 <     494,   494,   495,   496,   500,   499,   518,   518,   519,   525,
1236 <     533,   567,   627,   641,   656,   665,   679,   688,   716,   746,
1237 <     769,   791,   793,   793,   794,   794,   795,   795,   797,   806,
1238 <     815,   828,   830,   831,   833,   833,   834,   835,   835,   836,
1239 <     836,   837,   837,   838,   838,   839,   840,   842,   846,   850,
1240 <     857,   864,   871,   878,   885,   892,   899,   906,   910,   914,
1241 <     918,   922,   926,   930,   936,   946,   945,  1039,  1039,  1040,
1242 <    1040,  1041,  1041,  1041,  1042,  1042,  1042,  1043,  1043,  1043,
1243 <    1045,  1057,  1069,  1103,  1115,  1126,  1168,  1178,  1177,  1183,
1244 <    1183,  1184,  1188,  1192,  1196,  1200,  1204,  1208,  1212,  1216,
1245 <    1220,  1224,  1228,  1232,  1236,  1240,  1244,  1248,  1252,  1256,
1246 <    1263,  1262,  1266,  1266,  1267,  1267,  1268,  1268,  1270,  1277,
1247 <    1284,  1291,  1298,  1305,  1312,  1319,  1326,  1333,  1340,  1347,
1248 <    1354,  1361,  1368,  1375,  1389,  1388,  1438,  1438,  1440,  1440,
1249 <    1441,  1442,  1442,  1443,  1444,  1445,  1446,  1447,  1448,  1449,
1250 <    1450,  1451,  1452,  1453,  1455,  1464,  1473,  1479,  1485,  1491,
1251 <    1497,  1503,  1509,  1515,  1521,  1527,  1533,  1539,  1549,  1548,
1252 <    1565,  1564,  1569,  1569,  1570,  1574,  1578,  1586,  1586,  1587,
1253 <    1587,  1587,  1587,  1587,  1589,  1589,  1591,  1591,  1593,  1607,
1254 <    1627,  1636,  1649,  1648,  1717,  1717,  1718,  1718,  1718,  1718,
1255 <    1719,  1719,  1719,  1720,  1720,  1722,  1759,  1772,  1781,  1793,
1256 <    1792,  1796,  1796,  1797,  1797,  1798,  1798,  1800,  1807,  1814,
1257 <    1821,  1828,  1835,  1842,  1849,  1856,  1863,  1873,  1892,  1902,
1258 <    1916,  1915,  1931,  1931,  1932,  1932,  1932,  1932,  1934,  1943,
1259 <    1958,  1972,  1971,  1987,  1987,  1988,  1988,  1988,  1988,  1990,
1260 <    1999,  2022,  2021,  2027,  2027,  2028,  2032,  2036,  2040,  2044,
1261 <    2048,  2052,  2056,  2060,  2064,  2068,  2078,  2077,  2094,  2094,
1262 <    2095,  2095,  2095,  2097,  2104,  2103,  2109,  2109,  2110,  2114,
1263 <    2118,  2122,  2126,  2130,  2134,  2138,  2142,  2146,  2150,  2160,
1264 <    2159,  2305,  2305,  2306,  2306,  2307,  2307,  2307,  2308,  2308,
1265 <    2309,  2309,  2309,  2310,  2310,  2310,  2311,  2311,  2312,  2312,
1266 <    2313,  2315,  2327,  2339,  2348,  2374,  2392,  2410,  2416,  2420,
1267 <    2428,  2438,  2437,  2441,  2441,  2442,  2442,  2443,  2443,  2445,
1268 <    2456,  2463,  2470,  2477,  2487,  2528,  2539,  2552,  2565,  2574,
1269 <    2610,  2609,  2673,  2672,  2676,  2676,  2677,  2683,  2683,  2684,
1270 <    2684,  2684,  2684,  2686,  2705,  2715,  2714,  2737,  2737,  2738,
1271 <    2738,  2738,  2740,  2746,  2755,  2757,  2757,  2758,  2758,  2760,
1272 <    2779,  2778,  2826,  2825,  2829,  2829,  2830,  2836,  2836,  2837,
1273 <    2837,  2837,  2837,  2839,  2845,  2854,  2857,  2857,  2858,  2858,
1274 <    2859,  2859,  2860,  2860,  2861,  2861,  2862,  2862,  2863,  2863,
1275 <    2864,  2864,  2865,  2865,  2866,  2866,  2867,  2867,  2868,  2868,
1276 <    2869,  2869,  2870,  2870,  2871,  2871,  2872,  2872,  2873,  2873,
1277 <    2874,  2874,  2875,  2875,  2876,  2876,  2877,  2877,  2878,  2879,
1278 <    2879,  2880,  2880,  2881,  2882,  2882,  2883,  2883,  2884,  2884,
1279 <    2885,  2885,  2886,  2887,  2890,  2895,  2900,  2905,  2910,  2915,
1280 <    2920,  2925,  2930,  2935,  2940,  2945,  2950,  2955,  2960,  2965,
1281 <    2970,  2975,  2980,  2986,  2997,  3002,  3011,  3016,  3021,  3026,
1282 <    3031,  3036,  3039,  3044,  3047,  3052,  3057,  3062,  3067,  3072,
1283 <    3077,  3082,  3087,  3092,  3103,  3108,  3113,  3118,  3127,  3159,
1284 <    3177,  3182,  3191,  3196,  3201,  3207,  3206,  3211,  3211,  3212,
1285 <    3215,  3218,  3221,  3224,  3227,  3230,  3233,  3236,  3239,  3242,
1286 <    3245,  3248,  3251,  3254,  3257,  3260,  3263,  3266,  3272,  3271,
1287 <    3276,  3276,  3277,  3280,  3283,  3286,  3289,  3292,  3295,  3298,
1288 <    3301,  3304,  3307,  3310,  3313,  3316,  3319,  3322,  3325,  3328,
1289 <    3331,  3336,  3341,  3346,  3351,  3361,  3360,  3384,  3384,  3385,
1290 <    3386,  3387,  3388,  3389,  3390,  3391,  3393,  3399,  3406,  3405,
1291 <    3410,  3410,  3411,  3415,  3421,  3455,  3465,  3464,  3514,  3514,
1292 <    3515,  3519,  3528,  3531,  3531,  3532,  3532,  3533,  3533,  3534,
1404 <    3534,  3535,  3535,  3536,  3536,  3537,  3538,  3538,  3539,  3539,
1405 <    3540,  3540,  3541,  3541,  3543,  3548,  3553,  3558,  3563,  3568,
1406 <    3573,  3578,  3583,  3588,  3593,  3598,  3603,  3608,  3613,  3618,
1407 <    3623,  3628,  3636,  3639,  3639,  3640,  3640,  3641,  3642,  3643,
1408 <    3643,  3644,  3645,  3647,  3653,  3659,  3668,  3682,  3688,  3694
1229 >       0,   334,   334,   335,   338,   339,   340,   341,   342,   343,
1230 >     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
1231 >     354,   355,   356,   357,   358,   359,   363,   363,   364,   368,
1232 >     372,   376,   380,   384,   390,   390,   391,   392,   393,   394,
1233 >     401,   404,   404,   405,   405,   405,   407,   413,   420,   422,
1234 >     422,   423,   423,   424,   424,   425,   425,   426,   426,   427,
1235 >     427,   428,   428,   429,   429,   430,   431,   434,   435,   437,
1236 >     437,   438,   444,   452,   452,   453,   459,   467,   506,   565,
1237 >     593,   601,   616,   631,   640,   654,   663,   691,   721,   744,
1238 >     753,   755,   755,   756,   756,   757,   757,   759,   768,   777,
1239 >     789,   790,   790,   792,   792,   793,   795,   802,   802,   812,
1240 >     813,   815,   815,   816,   816,   818,   823,   826,   832,   831,
1241 >     837,   837,   838,   842,   846,   850,   854,   858,   862,   873,
1242 >     872,   970,   970,   971,   971,   971,   972,   972,   972,   973,
1243 >     973,   973,   975,   984,  1021,  1033,  1044,  1086,  1096,  1095,
1244 >    1101,  1101,  1102,  1106,  1110,  1114,  1118,  1122,  1126,  1130,
1245 >    1134,  1138,  1142,  1146,  1150,  1154,  1158,  1162,  1166,  1170,
1246 >    1174,  1178,  1185,  1184,  1190,  1190,  1191,  1195,  1199,  1203,
1247 >    1207,  1211,  1215,  1219,  1223,  1227,  1231,  1235,  1239,  1243,
1248 >    1247,  1251,  1255,  1259,  1263,  1274,  1273,  1323,  1323,  1324,
1249 >    1325,  1325,  1326,  1327,  1328,  1329,  1330,  1331,  1332,  1333,
1250 >    1334,  1335,  1335,  1336,  1338,  1347,  1353,  1359,  1365,  1371,
1251 >    1377,  1383,  1389,  1395,  1401,  1408,  1414,  1420,  1430,  1429,
1252 >    1446,  1445,  1450,  1450,  1451,  1455,  1459,  1467,  1467,  1468,
1253 >    1468,  1468,  1468,  1468,  1470,  1470,  1472,  1472,  1474,  1488,
1254 >    1508,  1517,  1530,  1529,  1598,  1598,  1599,  1599,  1599,  1599,
1255 >    1600,  1600,  1600,  1601,  1601,  1603,  1638,  1651,  1660,  1672,
1256 >    1671,  1675,  1675,  1676,  1680,  1684,  1688,  1692,  1696,  1700,
1257 >    1704,  1708,  1715,  1734,  1744,  1758,  1757,  1773,  1773,  1774,
1258 >    1774,  1774,  1774,  1776,  1785,  1800,  1813,  1815,  1815,  1816,
1259 >    1816,  1818,  1834,  1833,  1849,  1849,  1850,  1850,  1850,  1850,
1260 >    1852,  1861,  1884,  1883,  1889,  1889,  1890,  1894,  1898,  1902,
1261 >    1906,  1910,  1914,  1918,  1922,  1926,  1936,  1935,  1952,  1952,
1262 >    1953,  1953,  1953,  1955,  1962,  1961,  1967,  1967,  1968,  1972,
1263 >    1976,  1980,  1984,  1988,  1992,  1996,  2000,  2004,  2014,  2013,
1264 >    2064,  2064,  2065,  2065,  2065,  2066,  2066,  2067,  2067,  2067,
1265 >    2068,  2068,  2068,  2069,  2069,  2070,  2072,  2081,  2090,  2116,
1266 >    2134,  2152,  2158,  2162,  2171,  2170,  2174,  2174,  2175,  2179,
1267 >    2185,  2196,  2207,  2218,  2227,  2246,  2245,  2311,  2310,  2314,
1268 >    2314,  2315,  2321,  2321,  2322,  2322,  2322,  2322,  2324,  2343,
1269 >    2353,  2352,  2377,  2377,  2378,  2378,  2378,  2380,  2386,  2395,
1270 >    2397,  2397,  2398,  2398,  2400,  2419,  2418,  2466,  2465,  2469,
1271 >    2469,  2470,  2476,  2476,  2477,  2477,  2477,  2477,  2479,  2485,
1272 >    2494,  2497,  2497,  2498,  2498,  2499,  2499,  2500,  2500,  2501,
1273 >    2501,  2502,  2502,  2503,  2503,  2504,  2504,  2505,  2505,  2506,
1274 >    2506,  2507,  2507,  2508,  2508,  2509,  2509,  2510,  2510,  2511,
1275 >    2512,  2512,  2513,  2513,  2514,  2514,  2515,  2515,  2516,  2516,
1276 >    2517,  2518,  2518,  2519,  2520,  2521,  2521,  2522,  2522,  2523,
1277 >    2524,  2524,  2525,  2525,  2526,  2526,  2527,  2530,  2535,  2541,
1278 >    2547,  2553,  2558,  2563,  2568,  2573,  2578,  2583,  2588,  2593,
1279 >    2598,  2603,  2608,  2613,  2618,  2623,  2628,  2633,  2639,  2650,
1280 >    2655,  2664,  2669,  2674,  2679,  2684,  2689,  2692,  2697,  2700,
1281 >    2705,  2710,  2715,  2720,  2725,  2730,  2735,  2740,  2745,  2756,
1282 >    2761,  2766,  2771,  2780,  2789,  2794,  2799,  2805,  2804,  2809,
1283 >    2809,  2810,  2813,  2816,  2819,  2822,  2825,  2828,  2831,  2834,
1284 >    2837,  2840,  2843,  2846,  2849,  2852,  2855,  2858,  2861,  2864,
1285 >    2867,  2873,  2872,  2877,  2877,  2878,  2881,  2884,  2887,  2890,
1286 >    2893,  2896,  2899,  2902,  2905,  2908,  2911,  2914,  2917,  2920,
1287 >    2923,  2926,  2929,  2932,  2935,  2940,  2945,  2950,  2959,  2962,
1288 >    2962,  2963,  2964,  2964,  2965,  2965,  2966,  2966,  2967,  2968,
1289 >    2968,  2969,  2970,  2970,  2971,  2971,  2973,  2978,  2983,  2988,
1290 >    2993,  2998,  3003,  3008,  3013,  3018,  3023,  3028,  3033,  3038,
1291 >    3046,  3049,  3049,  3050,  3050,  3051,  3052,  3052,  3053,  3054,
1292 >    3056,  3062,  3068,  3077,  3091,  3097
1293   };
1294   #endif
1295  
1296 < #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1296 > #if YYDEBUG || YYERROR_VERBOSE || 0
1297   /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1298     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1299   static const char *const yytname[] =
1300   {
1301 <  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1302 <  "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1303 <  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1304 <  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CAN_IDLE",
1305 <  "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE",
1306 <  "CLASS", "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ",
1307 <  "CRYPTLINK", "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1308 <  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1309 <  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1310 <  "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1311 <  "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL", "ENABLE",
1428 <  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE", "FAKENAME",
1429 <  "IRCD_FLAGS", "FLATTEN_LINKS", "FFAILED_OPERLOG", "FKILLLOG",
1430 <  "FKLINELOG", "FGLINELOG", "FIOERRLOG", "FOPERLOG", "FOPERSPYLOG",
1431 <  "FUSERLOG", "GECOS", "GENERAL", "GLINE", "GLINES", "GLINE_EXEMPT",
1432 <  "GLINE_LOG", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1301 >  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1302 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1303 >  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1304 >  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1305 >  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1306 >  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1307 >  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1308 >  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1309 >  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1310 >  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1311 >  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1312    "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1313 <  "HIDDEN_ADMIN", "HIDDEN_NAME", "HIDDEN_OPER", "HIDE_SERVER_IPS",
1314 <  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IDLETIME",
1315 <  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1316 <  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1317 <  "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1318 <  "LINKS_DELAY", "LISTEN", "T_LOG", "LOGGING", "LOG_LEVEL", "MAX_ACCEPT",
1319 <  "MAX_BANS", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1320 <  "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1321 <  "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1322 <  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1323 <  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1324 <  "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1325 <  "NOT", "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1326 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_LOG",
1327 <  "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1328 <  "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1329 <  "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1330 <  "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1331 <  "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1332 <  "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1454 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1313 >  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1314 >  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1315 >  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1316 >  "KLINE_REASON", "KLINE_WITH_REASON", "KNOCK_DELAY",
1317 >  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "T_LOG",
1318 >  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER",
1319 >  "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL", "MAX_NICK_CHANGES",
1320 >  "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_WATCH",
1321 >  "MESSAGE_LOCALE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MODULE",
1322 >  "MODULES", "NAME", "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME",
1323 >  "NICK", "NICK_CHANGES", "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT",
1324 >  "NO_OPER_FLOOD", "NO_TILDE", "NUMBER", "NUMBER_PER_CIDR",
1325 >  "NUMBER_PER_IP", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES",
1326 >  "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT",
1327 >  "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH",
1328 >  "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT", "QSTRING",
1329 >  "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T", "REHASH",
1330 >  "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN", "RESTRICT_CHANNELS",
1331 >  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE",
1332 >  "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD",
1333    "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1334    "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1335 <  "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1336 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1337 <  "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1338 <  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1339 <  "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1340 <  "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1341 <  "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DRONE",
1342 <  "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1343 <  "T_LOGPATH", "T_L_CRIT", "T_L_DEBUG", "T_L_ERROR", "T_L_INFO",
1344 <  "T_L_NOTICE", "T_L_TRACE", "T_L_WARN", "T_MAX_CLIENTS", "T_NCHANGE",
1345 <  "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY",
1346 <  "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNRESV", "T_UNXLINE", "T_WALLOP",
1347 <  "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1348 <  "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1349 <  "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1472 <  "XLINE", "WARN", "WARN_NO_NLINE", "';'", "'}'", "'{'", "'='", "','",
1335 >  "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES", "T_SHARED",
1336 >  "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1337 >  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1338 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1339 >  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1340 >  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1341 >  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1342 >  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1343 >  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1344 >  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1345 >  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1346 >  "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME",
1347 >  "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD",
1348 >  "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE",
1349 >  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1350    "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1351    "sizespec", "modules_entry", "modules_items", "modules_item",
1352    "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1353 <  "serverinfo_item", "serverinfo_ssl_connection_method", "$@1",
1354 <  "method_types", "method_type_item", "serverinfo_ssl_certificate_file",
1355 <  "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1353 >  "serverinfo_item", "serverinfo_ssl_client_method",
1354 >  "serverinfo_ssl_server_method", "client_method_types",
1355 >  "client_method_type_item", "server_method_types",
1356 >  "server_method_type_item", "serverinfo_ssl_certificate_file",
1357 >  "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1358 >  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1359    "serverinfo_description", "serverinfo_network_name",
1360    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1361    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1362    "admin_item", "admin_name", "admin_email", "admin_description",
1363 <  "logging_entry", "logging_items", "logging_item", "logging_path",
1364 <  "logging_oper_log", "logging_fuserlog", "logging_ffailed_operlog",
1365 <  "logging_foperlog", "logging_foperspylog", "logging_fglinelog",
1366 <  "logging_fklinelog", "logging_ioerrlog", "logging_killlog",
1367 <  "logging_log_level", "logging_use_logging", "oper_entry", "$@2",
1368 <  "oper_name_b", "oper_items", "oper_item", "oper_name", "oper_name_t",
1369 <  "oper_user", "oper_password", "oper_encrypted",
1370 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@3",
1371 <  "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",
1363 >  "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1364 >  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1365 >  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1366 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1367 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1368 >  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1369 >  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1370 >  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1371 >  "class_entry", "$@6", "class_items", "class_item", "class_name",
1372    "class_ping_time", "class_ping_warning", "class_number_per_ip",
1373    "class_connectfreq", "class_max_number", "class_max_global",
1374 <  "class_max_local", "class_max_ident", "class_sendq",
1374 >  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1375    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1376 <  "class_number_per_cidr", "listen_entry", "$@8", "listen_flags", "$@9",
1376 >  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1377    "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1378 <  "listen_port", "$@10", "port_items", "port_item", "listen_address",
1379 <  "listen_host", "auth_entry", "$@11", "auth_items", "auth_item",
1378 >  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1379 >  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1380    "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1381 <  "$@12", "auth_flags_items", "auth_flags_item", "$@13", "$@14",
1382 <  "auth_flags_item_atom", "auth_spoof", "auth_redir_serv",
1383 <  "auth_redir_port", "resv_entry", "$@15", "resv_items", "resv_item",
1384 <  "resv_creason", "resv_channel", "resv_nick", "shared_entry", "$@16",
1385 <  "shared_items", "shared_item", "shared_name", "shared_user",
1386 <  "shared_type", "$@17", "shared_types", "shared_type_item",
1387 <  "cluster_entry", "$@18", "cluster_items", "cluster_item", "cluster_name",
1388 <  "cluster_type", "$@19", "cluster_types", "cluster_type_item",
1389 <  "connect_entry", "$@20", "connect_name_b", "connect_items",
1390 <  "connect_item", "connect_name", "connect_name_t", "connect_host",
1391 <  "connect_vhost", "connect_send_password", "connect_accept_password",
1392 <  "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",
1381 >  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1382 >  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1383 >  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1384 >  "service_entry", "service_items", "service_item", "service_name",
1385 >  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1386 >  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1387 >  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1388 >  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1389 >  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1390 >  "connect_host", "connect_vhost", "connect_send_password",
1391 >  "connect_accept_password", "connect_port", "connect_aftype",
1392 >  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1393    "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1394 <  "connect_class", "connect_cipher_preference", "kill_entry", "$@24",
1395 <  "kill_type", "$@25", "kill_type_items", "kill_type_item", "kill_items",
1396 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@26",
1394 >  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1395 >  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1396 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1397    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1398 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@27",
1399 <  "gecos_flags", "$@28", "gecos_flags_items", "gecos_flags_item",
1398 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1399 >  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1400    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1401    "general_entry", "general_items", "general_item", "general_max_watch",
1402 <  "general_gline_min_cidr", "general_gline_min_cidr6",
1403 <  "general_burst_away", "general_use_whois_actually",
1402 >  "general_gline_enable", "general_gline_duration",
1403 >  "general_gline_request_duration", "general_gline_min_cidr",
1404 >  "general_gline_min_cidr6", "general_use_whois_actually",
1405    "general_reject_hold_time", "general_tkline_expire_notices",
1406    "general_kill_chase_time_limit", "general_hide_spoof_ips",
1407    "general_ignore_bogus_ts", "general_disable_remote_commands",
# Line 1542 | Line 1418 | static const char *const yytname[] =
1418    "general_opers_bypass_callerid", "general_pace_wait_simple",
1419    "general_short_motd", "general_no_oper_flood",
1420    "general_true_no_oper_flood", "general_oper_pass_resv",
1421 <  "general_message_locale", "general_idletime", "general_dots_in_ident",
1422 <  "general_max_targets", "general_servlink_path",
1423 <  "general_default_cipher_preference", "general_compression_level",
1424 <  "general_use_egd", "general_egdpool_path", "general_ping_cookie",
1425 <  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1426 <  "$@29", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1427 <  "$@30", "umode_items", "umode_item", "general_min_nonwildcard",
1428 <  "general_min_nonwildcard_simple", "general_default_floodcount",
1429 <  "general_client_flood", "gline_entry", "$@31", "gline_items",
1554 <  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@32",
1555 <  "gline_logging_types", "gline_logging_type_item", "gline_user",
1556 <  "gline_server", "gline_action", "$@33", "gdeny_types", "gdeny_type_item",
1557 <  "channel_entry", "channel_items", "channel_item",
1558 <  "channel_disable_fake_channels", "channel_restrict_channels",
1559 <  "channel_disable_local_channels", "channel_use_except",
1560 <  "channel_use_invex", "channel_use_knock", "channel_knock_delay",
1421 >  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1422 >  "general_use_egd", "general_egdpool_path", "general_services_name",
1423 >  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1424 >  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1425 >  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1426 >  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1427 >  "general_default_floodcount", "channel_entry", "channel_items",
1428 >  "channel_item", "channel_disable_fake_channels",
1429 >  "channel_restrict_channels", "channel_knock_delay",
1430    "channel_knock_delay_channel", "channel_max_chans_per_user",
1431 <  "channel_quiet_on_ban", "channel_max_bans",
1431 >  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1432    "channel_default_split_user_count", "channel_default_split_server_count",
1433    "channel_no_create_on_split", "channel_no_join_on_split",
1434 <  "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
1435 <  "serverhide_entry", "serverhide_items", "serverhide_item",
1436 <  "serverhide_flatten_links", "serverhide_hide_servers",
1437 <  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1438 <  "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1434 >  "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1435 >  "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1436 >  "serverhide_hide_servers", "serverhide_hidden_name",
1437 >  "serverhide_links_delay", "serverhide_hidden",
1438 >  "serverhide_hide_server_ips", YY_NULL
1439   };
1440   #endif
1441  
# Line 1596 | Line 1465 | static const yytype_uint16 yytoknum[] =
1465       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1466       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1467       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1468 <     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1469 <     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1601 <     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1602 <     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
1468 >     465,   466,   467,   468,   469,   470,   471,   472,   473,    59,
1469 >     125,   123,    61,    44
1470   };
1471   # endif
1472  
1473   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1474   static const yytype_uint16 yyr1[] =
1475   {
1476 <       0,   266,   267,   267,   268,   268,   268,   268,   268,   268,
1477 <     268,   268,   268,   268,   268,   268,   268,   268,   268,   268,
1478 <     268,   268,   268,   268,   268,   268,   269,   269,   270,   270,
1479 <     270,   270,   270,   270,   271,   271,   272,   272,   272,   272,
1480 <     273,   274,   274,   275,   275,   275,   276,   277,   278,   279,
1481 <     279,   280,   280,   280,   280,   280,   280,   280,   280,   280,
1482 <     280,   280,   280,   280,   282,   281,   283,   283,   284,   284,
1483 <     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1484 <     295,   296,   297,   297,   298,   298,   298,   298,   299,   300,
1485 <     301,   302,   303,   303,   304,   304,   304,   304,   304,   304,
1486 <     304,   304,   304,   304,   304,   304,   304,   305,   306,   307,
1487 <     308,   309,   310,   311,   312,   313,   314,   315,   315,   315,
1488 <     315,   315,   315,   315,   316,   318,   317,   319,   319,   320,
1489 <     320,   321,   321,   321,   321,   321,   321,   321,   321,   321,
1490 <     322,   323,   324,   325,   326,   327,   328,   330,   329,   331,
1491 <     331,   332,   332,   332,   332,   332,   332,   332,   332,   332,
1492 <     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
1493 <     334,   333,   335,   335,   337,   336,   338,   336,   339,   339,
1494 <     339,   339,   339,   339,   339,   339,   339,   339,   339,   339,
1495 <     339,   339,   339,   339,   341,   340,   342,   342,   343,   343,
1496 <     344,   344,   344,   344,   344,   344,   344,   344,   344,   344,
1497 <     344,   344,   344,   344,   345,   346,   347,   348,   349,   350,
1498 <     351,   352,   353,   354,   355,   356,   357,   358,   360,   359,
1499 <     362,   361,   363,   363,   364,   364,   364,   365,   365,   366,
1500 <     366,   366,   366,   366,   368,   367,   369,   369,   370,   370,
1501 <     371,   372,   374,   373,   375,   375,   376,   376,   376,   376,
1502 <     376,   376,   376,   376,   376,   377,   378,   379,   380,   382,
1503 <     381,   383,   383,   385,   384,   386,   384,   387,   387,   387,
1504 <     387,   387,   387,   387,   387,   387,   387,   388,   389,   390,
1505 <     392,   391,   393,   393,   394,   394,   394,   394,   395,   396,
1506 <     397,   399,   398,   400,   400,   401,   401,   401,   401,   402,
1507 <     403,   405,   404,   406,   406,   407,   407,   407,   407,   407,
1508 <     407,   407,   407,   407,   407,   407,   409,   408,   410,   410,
1509 <     411,   411,   411,   412,   414,   413,   415,   415,   416,   416,
1510 <     416,   416,   416,   416,   416,   416,   416,   416,   416,   418,
1511 <     417,   419,   419,   420,   420,   421,   421,   421,   421,   421,
1512 <     421,   421,   421,   421,   421,   421,   421,   421,   421,   421,
1513 <     421,   422,   423,   424,   425,   426,   427,   428,   429,   429,
1514 <     430,   432,   431,   433,   433,   435,   434,   436,   434,   437,
1515 <     437,   437,   437,   437,   438,   439,   440,   441,   442,   443,
1516 <     445,   444,   447,   446,   448,   448,   449,   450,   450,   451,
1517 <     451,   451,   451,   452,   453,   455,   454,   456,   456,   457,
1518 <     457,   457,   458,   459,   460,   461,   461,   462,   462,   463,
1519 <     465,   464,   467,   466,   468,   468,   469,   470,   470,   471,
1520 <     471,   471,   471,   472,   473,   474,   475,   475,   476,   476,
1521 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1522 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1523 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1524 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1525 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1526 <     476,   476,   476,   476,   477,   478,   479,   480,   481,   482,
1527 <     483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
1528 <     493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
1529 <     503,   504,   504,   505,   505,   506,   507,   508,   509,   510,
1530 <     511,   512,   513,   514,   515,   516,   517,   518,   519,   520,
1531 <     521,   522,   523,   524,   525,   527,   526,   528,   528,   529,
1532 <     529,   529,   529,   529,   529,   529,   529,   529,   529,   529,
1533 <     529,   529,   529,   529,   529,   529,   529,   529,   531,   530,
1534 <     532,   532,   533,   533,   533,   533,   533,   533,   533,   533,
1535 <     533,   533,   533,   533,   533,   533,   533,   533,   533,   533,
1536 <     533,   534,   535,   536,   537,   539,   538,   540,   540,   541,
1537 <     541,   541,   541,   541,   541,   541,   542,   543,   545,   544,
1538 <     546,   546,   547,   547,   548,   549,   551,   550,   552,   552,
1539 <     553,   553,   554,   555,   555,   556,   556,   556,   556,   556,
1675 <     556,   556,   556,   556,   556,   556,   556,   556,   556,   556,
1676 <     556,   556,   556,   556,   557,   558,   559,   560,   561,   562,
1677 <     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
1476 >       0,   224,   225,   225,   226,   226,   226,   226,   226,   226,
1477 >     226,   226,   226,   226,   226,   226,   226,   226,   226,   226,
1478 >     226,   226,   226,   226,   226,   226,   227,   227,   228,   228,
1479 >     228,   228,   228,   228,   229,   229,   230,   230,   230,   230,
1480 >     231,   232,   232,   233,   233,   233,   234,   235,   236,   237,
1481 >     237,   238,   238,   238,   238,   238,   238,   238,   238,   238,
1482 >     238,   238,   238,   238,   238,   238,   238,   239,   240,   241,
1483 >     241,   242,   242,   243,   243,   244,   244,   245,   246,   247,
1484 >     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1485 >     258,   259,   259,   260,   260,   260,   260,   261,   262,   263,
1486 >     264,   265,   265,   266,   266,   266,   267,   269,   268,   270,
1487 >     270,   271,   271,   271,   271,   272,   273,   273,   275,   274,
1488 >     276,   276,   277,   277,   277,   277,   277,   277,   277,   279,
1489 >     278,   280,   280,   281,   281,   281,   281,   281,   281,   281,
1490 >     281,   281,   282,   283,   284,   285,   286,   287,   289,   288,
1491 >     290,   290,   291,   291,   291,   291,   291,   291,   291,   291,
1492 >     291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
1493 >     291,   291,   293,   292,   294,   294,   295,   295,   295,   295,
1494 >     295,   295,   295,   295,   295,   295,   295,   295,   295,   295,
1495 >     295,   295,   295,   295,   295,   297,   296,   298,   298,   299,
1496 >     299,   299,   299,   299,   299,   299,   299,   299,   299,   299,
1497 >     299,   299,   299,   299,   300,   301,   302,   303,   304,   305,
1498 >     306,   307,   308,   309,   310,   311,   312,   313,   315,   314,
1499 >     317,   316,   318,   318,   319,   319,   319,   320,   320,   321,
1500 >     321,   321,   321,   321,   323,   322,   324,   324,   325,   325,
1501 >     326,   327,   329,   328,   330,   330,   331,   331,   331,   331,
1502 >     331,   331,   331,   331,   331,   332,   333,   334,   335,   337,
1503 >     336,   338,   338,   339,   339,   339,   339,   339,   339,   339,
1504 >     339,   339,   340,   341,   342,   344,   343,   345,   345,   346,
1505 >     346,   346,   346,   347,   348,   349,   350,   351,   351,   352,
1506 >     352,   353,   355,   354,   356,   356,   357,   357,   357,   357,
1507 >     358,   359,   361,   360,   362,   362,   363,   363,   363,   363,
1508 >     363,   363,   363,   363,   363,   363,   365,   364,   366,   366,
1509 >     367,   367,   367,   368,   370,   369,   371,   371,   372,   372,
1510 >     372,   372,   372,   372,   372,   372,   372,   372,   374,   373,
1511 >     375,   375,   376,   376,   376,   376,   376,   376,   376,   376,
1512 >     376,   376,   376,   376,   376,   376,   377,   378,   379,   380,
1513 >     381,   382,   383,   383,   385,   384,   386,   386,   387,   387,
1514 >     388,   389,   390,   391,   392,   394,   393,   396,   395,   397,
1515 >     397,   398,   399,   399,   400,   400,   400,   400,   401,   402,
1516 >     404,   403,   405,   405,   406,   406,   406,   407,   408,   409,
1517 >     410,   410,   411,   411,   412,   414,   413,   416,   415,   417,
1518 >     417,   418,   419,   419,   420,   420,   420,   420,   421,   422,
1519 >     423,   424,   424,   425,   425,   425,   425,   425,   425,   425,
1520 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1521 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1522 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1523 >     425,   425,   425,   425,   425,   425,   425,   425,   425,   425,
1524 >     425,   425,   425,   425,   425,   425,   425,   426,   427,   428,
1525 >     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1526 >     439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
1527 >     449,   450,   451,   452,   453,   454,   455,   455,   456,   456,
1528 >     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
1529 >     467,   468,   469,   470,   471,   472,   473,   475,   474,   476,
1530 >     476,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1531 >     477,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1532 >     477,   479,   478,   480,   480,   481,   481,   481,   481,   481,
1533 >     481,   481,   481,   481,   481,   481,   481,   481,   481,   481,
1534 >     481,   481,   481,   481,   481,   482,   483,   484,   485,   486,
1535 >     486,   487,   487,   487,   487,   487,   487,   487,   487,   487,
1536 >     487,   487,   487,   487,   487,   487,   488,   489,   490,   491,
1537 >     492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
1538 >     502,   503,   503,   504,   504,   504,   504,   504,   504,   504,
1539 >     505,   506,   507,   508,   509,   510
1540   };
1541  
1542   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1688 | Line 1548 | static const yytype_uint8 yyr2[] =
1548         3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1549         5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1550         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1551 <       1,     1,     1,     2,     0,     5,     3,     1,     1,     1,
1552 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1693 <       4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1694 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1695 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1551 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1552 >       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1553         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1554 <       4,     4,     4,     4,     4,     0,     7,     0,     1,     2,
1555 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1556 <       4,     1,     4,     4,     4,     4,     4,     0,     5,     3,
1557 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1554 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1555 >       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1556 >       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1557 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1558 >       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1559 >       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1560 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1561         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1562 <       0,     5,     3,     1,     0,     3,     0,     2,     1,     1,
1562 >       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1563         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1564 <       1,     1,     1,     1,     0,     7,     0,     1,     2,     1,
1564 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1565         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1566 <       1,     1,     1,     2,     4,     1,     4,     4,     4,     4,
1566 >       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1567         4,     4,     4,     4,     4,     4,     4,     4,     0,     6,
1568         0,     5,     3,     1,     1,     1,     1,     2,     1,     1,
1569         1,     1,     1,     2,     0,     5,     3,     1,     1,     3,
1570         4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
1571         1,     1,     1,     1,     2,     4,     4,     4,     4,     0,
1572 <       5,     3,     1,     0,     3,     0,     2,     1,     1,     1,
1573 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1574 <       0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
1575 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1576 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1572 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1573 >       1,     1,     4,     4,     4,     0,     6,     2,     1,     1,
1574 >       1,     1,     2,     4,     4,     4,     5,     2,     1,     1,
1575 >       1,     4,     0,     6,     2,     1,     1,     1,     1,     2,
1576 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1577         1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1578         1,     1,     2,     4,     0,     5,     3,     1,     1,     1,
1579 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1580 <       7,     0,     1,     2,     1,     1,     1,     1,     1,     1,
1579 >       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
1580 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1581 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1582 >       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1583 >       4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1584 >       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1585 >       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1586 >       2,     1,     1,     1,     4,     0,     6,     0,     5,     3,
1587 >       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1588 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1589         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,
1590         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1591         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1592         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1593 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1734 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1735 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1593 >       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1594         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1595         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1596         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1597         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1598 <       4,     4,     4,     4,     4,     0,     5,     3,     1,     1,
1598 >       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1599         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1742       1,     1,     1,     1,     1,     1,     1,     1,     0,     5,
1743       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1600         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1601 <       1,     4,     4,     4,     4,     0,     6,     2,     1,     1,
1602 <       1,     1,     1,     1,     1,     1,     4,     4,     0,     5,
1603 <       3,     1,     1,     1,     4,     4,     0,     5,     3,     1,
1748 <       1,     1,     5,     2,     1,     1,     1,     1,     1,     1,
1601 >       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1602 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1603 >       1,     1,     1,     1,     1,     4,     4,     4,     5,     2,
1604         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1605 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1605 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1606         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1607 <       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
1608 <       1,     1,     1,     4,     4,     4,     4,     4,     4,     4
1607 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1608 >       4,     4,     4,     4,     4,     4
1609   };
1610  
1611 < /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1612 <   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1611 > /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1612 >   Performed when YYTABLE doesn't specify something else to do.  Zero
1613     means the default is an error.  */
1614   static const yytype_uint16 yydefact[] =
1615   {
1616 <       2,     0,     1,     0,     0,     0,   194,   349,   415,     0,
1617 <     430,     0,   605,   252,   400,   228,     0,     0,   125,   290,
1618 <       0,     0,   301,   326,     3,    23,    11,     4,     5,     6,
1616 >       2,     0,     1,     0,     0,     0,   195,   348,   400,     0,
1617 >     415,     0,   252,   385,   228,     0,     0,   129,   285,     0,
1618 >       0,   302,   326,     0,     3,    23,    11,     4,     5,     6,
1619         8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1620 <      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,
1769 <       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,
1620 >      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1621         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1622         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1623 +       0,     0,    92,    93,    95,    94,   605,     0,     0,     0,
1624         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1625 <       0,   578,     0,   555,     0,     0,     0,     0,     0,     0,
1625 >       0,     0,   590,   604,   600,   592,   593,   594,   595,   596,
1626 >     591,   597,   598,   599,   601,   602,   603,     0,     0,     0,
1627 >     413,     0,     0,   411,   412,     0,   486,     0,     0,     0,
1628         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1779       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,
1629         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1630 <       0,     0,     0,     0,   633,     0,     0,   421,     0,     0,
1631 <       0,   418,   419,   420,     0,     0,   425,   442,     0,     0,
1798 <     432,   441,     0,   438,   439,   440,     0,     0,     0,     0,
1630 >       0,     0,     0,     0,     0,     0,     0,     0,   561,     0,
1631 >     537,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1632         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1633 +       0,   432,   484,   476,   477,   478,   479,   480,   481,   482,
1634 +     475,   443,   433,   434,   470,   435,   436,   437,   438,   439,
1635 +     440,   441,   442,   472,   444,   445,   446,   447,   483,   449,
1636 +     454,   450,   452,   451,   465,   466,   453,   455,   456,   457,
1637 +     458,   459,   448,   461,   462,   463,   485,   473,   474,   471,
1638 +     464,   460,   468,   469,   467,     0,     0,     0,     0,     0,
1639 +       0,   102,   103,   104,     0,     0,     0,     0,     0,    42,
1640 +      43,    44,     0,     0,   629,     0,     0,     0,     0,     0,
1641 +       0,     0,   622,   623,   624,   627,   625,   626,   628,     0,
1642         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1643 +       0,     0,     0,     0,     0,     0,    50,    63,    64,    62,
1644 +      59,    58,    65,    51,    61,    54,    55,    56,    52,    60,
1645 +      57,    53,     0,     0,   300,     0,     0,   298,   299,    96,
1646 +       0,     0,     0,     0,    91,     0,     0,     0,     0,     0,
1647         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1648 +     589,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1649 +       0,     0,     0,     0,     0,     0,     0,   198,   199,   202,
1650 +     203,   205,   206,   207,   208,   209,   210,   211,   212,   200,
1651 +     201,   204,     0,     0,     0,     0,     0,   374,     0,     0,
1652 +       0,     0,     0,     0,     0,     0,     0,   351,   352,   353,
1653 +     354,   355,   356,   358,   357,   360,   364,   361,   362,   363,
1654 +     359,   406,     0,     0,     0,   403,   404,   405,     0,     0,
1655 +     410,   427,     0,     0,   417,   426,     0,   423,   424,   425,
1656         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1657         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,
1658         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,
1659         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,
1660         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1661 <     632,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1662 <       0,     0,     0,     0,     0,     0,   199,   200,   203,   204,
1663 <     206,   207,   208,   209,   210,   211,   212,   201,   202,   205,
1664 <       0,     0,     0,     0,     0,     0,     0,   381,     0,     0,
1665 <       0,     0,     0,     0,     0,     0,     0,   354,   355,   356,
1666 <     357,   358,   359,   361,   360,   362,   363,   368,   367,   364,
1667 <     365,   366,   369,     0,     0,     0,   417,     0,   424,     0,
1668 <       0,     0,     0,   437,     0,     0,     0,     0,     0,     0,
1661 >       0,     0,     0,     0,   431,     0,     0,     0,   269,     0,
1662 >       0,     0,     0,     0,     0,   255,   256,   257,   258,   263,
1663 >     259,   260,   261,   262,   397,     0,   387,     0,   396,     0,
1664 >     393,   394,   395,     0,   230,     0,     0,     0,   240,     0,
1665 >     238,   239,   241,   242,   105,     0,     0,   101,     0,    45,
1666 >       0,     0,     0,    41,     0,     0,     0,   172,     0,     0,
1667 >       0,   148,     0,     0,   132,   133,   134,   135,   138,   139,
1668 >     137,   136,   140,     0,     0,     0,     0,     0,   288,   289,
1669 >     290,   291,     0,     0,     0,     0,     0,     0,     0,   621,
1670 >      66,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1671 >       0,     0,     0,     0,     0,     0,     0,    49,     0,     0,
1672 >     312,     0,     0,   305,   306,   307,   308,     0,     0,   334,
1673 >       0,   329,   330,   331,     0,     0,   297,     0,     0,     0,
1674 >      90,     0,     0,     0,    26,     0,     0,     0,     0,     0,
1675 >       0,     0,     0,     0,     0,     0,   588,   213,     0,     0,
1676         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1677 +       0,     0,     0,   197,   365,     0,     0,     0,     0,     0,
1678 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   350,
1679 +       0,     0,     0,   402,     0,   409,     0,     0,     0,     0,
1680 +     422,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1681         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1682         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1683         0,     0,     0,     0,     0,     0,     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,
1684         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1685 <       0,     0,    91,     0,     0,    40,     0,     0,     0,   170,
1686 <       0,     0,     0,   147,     0,     0,   130,   131,   132,   133,
1687 <     136,   137,   135,   134,   138,   297,     0,     0,     0,     0,
1688 <     292,     0,     0,     0,     0,     0,     0,     0,   672,     0,
1685 >       0,     0,     0,     0,     0,     0,   430,   264,     0,     0,
1686 >       0,     0,     0,     0,     0,     0,     0,   254,     0,     0,
1687 >       0,     0,   392,   243,     0,     0,     0,     0,     0,   237,
1688 >       0,   100,     0,     0,     0,    40,   141,     0,     0,     0,
1689 >       0,     0,     0,     0,     0,     0,   131,   292,     0,     0,
1690 >       0,     0,   287,     0,     0,     0,     0,     0,     0,   620,
1691 >       0,     0,     0,     0,     0,     0,     0,     0,    71,    72,
1692 >       0,    70,    75,    76,     0,    74,     0,     0,     0,     0,
1693 >       0,    48,   309,     0,     0,     0,     0,   304,   332,     0,
1694 >       0,     0,   328,     0,   296,    99,    98,    97,   615,   614,
1695 >     606,    26,    26,    26,    26,    26,    28,    27,   608,   609,
1696 >     613,   611,   610,   616,   617,   618,   619,   612,   607,     0,
1697         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1698 <       0,    48,   308,     0,     0,     0,     0,   303,   332,     0,
1699 <       0,     0,   328,    90,    89,    88,   669,   666,   665,   654,
1700 <     656,    26,    26,    26,    26,    26,    28,    27,   660,   661,
1701 <     664,   662,   667,   668,   670,   671,   663,   655,   657,   658,
1702 <     659,   213,     0,     0,     0,     0,     0,     0,     0,     0,
1703 <       0,     0,     0,     0,     0,     0,   198,   370,     0,     0,
1704 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1705 <       0,     0,     0,     0,   353,     0,     0,   416,   429,     0,
1706 <       0,     0,   431,   516,   520,   507,   536,   549,   548,   603,
1707 <     553,   514,   545,   551,   515,   505,   506,   523,   512,   544,
1708 <     513,   526,   511,   525,   524,   519,   518,   517,   546,   504,
1709 <     543,   601,   602,   540,   537,   582,   598,   599,   583,   584,
1710 <     585,   586,   593,   587,   596,   600,   589,   594,   590,   595,
1711 <     588,   592,   591,   597,     0,   581,   542,   559,   575,   576,
1712 <     560,   561,   562,   563,   570,   564,   573,   577,   566,   571,
1713 <     567,   572,   565,   569,   568,   574,     0,   558,   535,   538,
1714 <     552,   509,   547,   510,   539,   528,   533,   534,   531,   532,
1715 <     529,   530,   522,   521,    34,    34,    34,    36,    35,   604,
1716 <     554,   541,   550,   508,   527,     0,     0,     0,     0,     0,
1717 <       0,   606,     0,     0,   275,     0,     0,     0,     0,     0,
1718 <     253,     0,     0,     0,   401,     0,     0,     0,   248,   244,
1719 <     247,   229,   110,   116,   114,   113,   115,   111,   112,   109,
1720 <     117,   123,   118,   122,   120,   121,   119,   108,   107,   124,
1721 <      46,    47,   139,     0,     0,     0,     0,     0,     0,     0,
1722 <       0,     0,   129,     0,     0,     0,   291,   688,   683,   687,
1723 <     685,   689,   684,   686,    74,    80,    72,    76,    75,    71,
1724 <      70,    68,    69,     0,    67,    73,    79,    77,    78,     0,
1725 <       0,     0,   302,     0,     0,   327,    29,    30,    31,    32,
1726 <      33,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1727 <       0,     0,     0,     0,   195,     0,     0,     0,     0,     0,
1728 <       0,     0,   387,     0,     0,     0,     0,     0,     0,     0,
1729 <       0,   350,   422,   423,   443,   444,   436,     0,   435,   579,
1730 <       0,   556,     0,    37,    38,    39,   631,   630,     0,   629,
1731 <     617,   616,   623,   622,     0,   621,   625,   624,   267,   268,
1732 <     273,     0,   272,     0,   266,   289,   288,   287,   265,   414,
1733 <     406,     0,   405,   413,   235,   236,   234,     0,   233,   251,
1734 <     250,     0,     0,     0,     0,     0,   176,     0,     0,     0,
1735 <       0,     0,   126,   299,   300,   298,    65,     0,   309,   315,
1736 <     321,   325,   324,   323,   320,   316,   319,   322,   317,   318,
1737 <       0,   314,   310,   333,   338,   344,   348,   347,   346,   343,
1738 <     339,   342,   345,   340,   341,     0,   337,   225,   226,   219,
1739 <     221,   223,   222,   220,   214,   227,   218,   216,   217,   224,
1740 <     376,   378,   379,   399,   398,   395,   380,   385,     0,   384,
1885 <       0,   373,   396,   397,   371,   377,   394,   375,   374,   433,
1886 <       0,   580,   557,   627,     0,   619,     0,     0,   270,   275,
1887 <     281,   282,   278,   284,   280,   279,   286,   283,   285,   277,
1888 <     276,   403,     0,   231,     0,   249,   246,   245,   146,   144,
1889 <     174,     0,   173,     0,   140,   143,   145,   151,   167,   168,
1890 <     152,   153,   154,   155,   162,   156,   165,   169,   158,   163,
1891 <     159,   164,   157,   161,   160,   166,     0,   150,   142,    66,
1892 <     312,     0,   335,     0,     0,   382,   387,   391,   392,   389,
1893 <     390,   393,   388,   434,   628,   620,   274,   271,   404,   232,
1894 <       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
1698 >       0,    34,     0,     0,   196,     0,     0,     0,     0,     0,
1699 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   349,
1700 >       0,     0,   401,   414,     0,     0,     0,   416,   501,   505,
1701 >     521,   587,   535,   499,   529,   532,   500,   489,   488,   490,
1702 >     491,   492,   508,   497,   498,   511,   496,   510,   509,   504,
1703 >     503,   502,   530,   487,   528,   585,   586,   525,   522,   572,
1704 >     565,   582,   583,   566,   567,   568,   569,   577,   570,   580,
1705 >     584,   573,   578,   574,   579,   571,   576,   575,   581,     0,
1706 >     564,   527,   547,   541,   558,   559,   542,   543,   544,   545,
1707 >     553,   546,   556,   560,   549,   554,   550,   555,   548,   552,
1708 >     551,   557,     0,   540,   520,   523,   534,   494,   495,   524,
1709 >     513,   518,   519,   516,   517,   514,   515,   507,   506,   533,
1710 >     536,   526,   531,   493,   512,     0,     0,     0,     0,     0,
1711 >       0,     0,     0,   253,     0,     0,     0,   386,     0,     0,
1712 >       0,   248,   244,   247,   229,   106,     0,     0,   118,     0,
1713 >       0,   110,   111,   113,   112,    46,    47,     0,     0,     0,
1714 >       0,     0,     0,     0,     0,   130,     0,     0,     0,   286,
1715 >     630,   634,   632,   635,   631,   633,    83,    89,    81,    85,
1716 >      84,    78,    77,    79,    67,     0,    68,     0,    82,    80,
1717 >      88,    86,    87,     0,     0,     0,   303,     0,     0,   327,
1718 >     301,    29,    30,    31,    32,    33,   225,   226,   218,   220,
1719 >     222,   221,   219,   214,   227,   217,   215,   216,    34,    34,
1720 >      34,    36,    35,   223,   224,   370,   372,   373,   383,   380,
1721 >     378,   379,     0,   377,   367,   381,   382,   366,   371,   369,
1722 >     384,   368,   407,   408,   428,   429,   421,     0,   420,   562,
1723 >       0,   538,     0,   267,   268,   277,   274,   279,   276,   275,
1724 >     281,   278,   280,   273,     0,   272,   266,   284,   283,   282,
1725 >     265,   399,   391,     0,   390,   398,   235,   236,   234,     0,
1726 >     233,   251,   250,     0,     0,     0,   114,     0,     0,     0,
1727 >       0,   109,   147,   145,   187,   184,   183,   176,   178,   194,
1728 >     188,   191,   186,   177,   192,   180,   189,   193,   181,   190,
1729 >     185,   179,   182,     0,   175,   142,   144,   146,   158,   152,
1730 >     169,   170,   153,   154,   155,   156,   164,   157,   167,   171,
1731 >     160,   165,   161,   166,   159,   163,   162,   168,     0,   151,
1732 >     143,   294,   295,   293,    69,    73,   310,   316,   322,   325,
1733 >     318,   324,   319,   323,   321,   317,   320,     0,   315,   311,
1734 >     333,   338,   344,   347,   340,   346,   341,   345,   343,   339,
1735 >     342,     0,   337,    37,    38,    39,   375,     0,   418,     0,
1736 >     563,   539,   270,     0,   388,     0,   231,     0,   249,   246,
1737 >     245,     0,     0,     0,     0,   108,   173,     0,   149,     0,
1738 >     313,     0,   335,     0,   376,   419,   271,   389,   232,   115,
1739 >     124,   127,   126,   123,   128,   125,   122,     0,   121,   117,
1740 >     116,   174,   150,   314,   336,   119,     0,   120
1741   };
1742  
1743   /* YYDEFGOTO[NTERM-NUM].  */
1744   static const yytype_int16 yydefgoto[] =
1745   {
1746 <      -1,     1,    24,   836,   837,   987,   988,    25,   275,   276,
1747 <     277,   278,    26,   313,   314,   315,   534,  1073,  1074,   316,
1748 <     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1749 <      27,    71,    72,    73,    74,    75,    28,   258,   259,   260,
1750 <     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1751 <     271,    29,    61,   280,   775,   776,   777,   281,   778,   779,
1752 <     780,   781,   782,   783,  1049,  1306,  1307,   784,  1045,  1281,
1753 <    1282,  1330,  1283,  1349,    30,    49,   116,   595,   596,   597,
1754 <     117,   598,   599,   600,   601,   602,   603,   604,   605,   606,
1755 <     607,   608,   609,    31,    58,   481,   738,  1167,  1168,   482,
1756 <     483,   484,  1173,  1019,  1020,   485,   486,    32,    56,   457,
1757 <     458,   459,   460,   461,   462,   463,   724,  1151,  1152,  1257,
1758 <    1153,  1270,   464,   465,   466,    33,    62,   512,   513,   514,
1759 <     515,   516,    34,    65,   545,   546,   547,   548,   549,   814,
1760 <    1200,  1201,    35,    66,   553,   554,   555,   556,   820,  1215,
1761 <    1216,    36,    50,   119,   626,   627,   628,   120,   629,   630,
1762 <     631,   632,   633,   634,   635,   636,   874,  1238,  1239,  1314,
1763 <    1240,  1322,   637,   638,   639,   640,   641,   642,    37,    57,
1764 <     471,   733,  1161,  1162,   472,   473,   474,   475,    38,    51,
1765 <     360,   361,   362,   363,    39,   124,   125,   126,    40,    53,
1766 <     371,   651,  1127,  1128,   372,   373,   374,   375,    41,   184,
1767 <     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1768 <     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1769 <     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1770 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1771 <     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1772 <     235,   410,   966,   967,   236,   408,   944,   945,   237,   238,
1773 <     239,   240,    42,    55,   440,   441,   442,   443,   444,   716,
1774 <    1144,  1145,   445,   446,   447,   713,  1138,  1139,    43,    95,
1931 <      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1932 <     106,   107,   108,   109,   110,   111,   112,   113,   114,    44,
1933 <     291,   292,   293,   294,   295,   296,   297,   298,   299
1746 >      -1,     1,    24,   796,   797,  1041,  1042,    25,   238,   239,
1747 >     240,   241,    26,   275,   276,   277,   278,   760,   761,   764,
1748 >     765,   279,   280,   281,   282,   283,   284,   285,   286,   287,
1749 >     288,   289,   290,   291,    27,    71,    72,    73,    74,    75,
1750 >      28,   230,   231,   232,   233,   234,   970,   971,   972,   973,
1751 >     974,  1108,  1237,  1238,    29,    60,   513,   514,   515,   516,
1752 >     517,   518,   519,   520,   521,   733,  1158,  1159,   522,   729,
1753 >    1133,  1134,    30,    49,   336,   337,   338,   339,   340,   341,
1754 >     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
1755 >      31,    57,   488,   714,  1099,  1100,   489,   490,   491,  1105,
1756 >     962,   963,   492,   493,    32,    55,   464,   465,   466,   467,
1757 >     468,   469,   470,   700,  1084,  1085,   471,   472,   473,    33,
1758 >      61,   527,   528,   529,   530,   531,    34,   296,   297,   298,
1759 >      35,    64,   562,   563,   564,   565,   566,   774,  1177,  1178,
1760 >      36,    65,   570,   571,   572,   573,   780,  1191,  1192,    37,
1761 >      50,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1762 >     375,   619,  1052,  1053,   376,   377,   378,   379,   380,    38,
1763 >      56,   478,   709,  1093,  1094,   479,   480,   481,   482,    39,
1764 >      51,   384,   385,   386,   387,    40,   112,   113,   114,    41,
1765 >      53,   395,   638,  1067,  1068,   396,   397,   398,   399,    42,
1766 >     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1767 >     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1768 >     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1769 >     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1770 >     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1771 >     220,   433,   922,   923,   221,   431,   899,   900,   222,   223,
1772 >     224,    43,    91,    92,    93,    94,    95,    96,    97,    98,
1773 >      99,   100,   101,   102,   103,   104,   105,   106,    44,   251,
1774 >     252,   253,   254,   255,   256,   257,   258
1775   };
1776  
1777   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1778     STATE-NUM.  */
1779 < #define YYPACT_NINF -944
1779 > #define YYPACT_NINF -861
1780   static const yytype_int16 yypact[] =
1781   {
1782 <    -944,   692,  -944,  -105,  -257,  -249,  -944,  -944,  -944,  -236,
1783 <    -944,  -215,  -944,  -944,  -944,  -944,  -212,  -210,  -944,  -944,
1784 <    -193,  -184,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1785 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1786 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,     7,   605,   -69,
1787 <     -64,  -166,     8,  -151,   420,  -134,  -124,  -101,   -95,   417,
1788 <       4,    27,   -60,   309,   467,   -52,   -39,   -14,    -9,    -6,
1789 <      11,     9,  -944,  -944,  -944,  -944,  -944,    41,    43,    53,
1790 <      63,    72,    74,    85,    94,    95,    96,    97,    99,   102,
1791 <     105,   106,   107,   108,   109,   142,  -944,  -944,  -944,  -944,
1792 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1793 <    -944,  -944,  -944,  -944,  -944,  -944,    22,  -944,  -944,    61,
1794 <    -944,   147,  -944,   111,    20,  -944,  -944,    30,  -944,   112,
1795 <     113,   115,   116,   118,   121,   128,   139,   141,   143,   144,
1796 <     146,   148,   149,   150,   151,   152,   155,   158,   159,   161,
1797 <     162,   167,   170,   173,   176,   178,   179,   180,   182,   187,
1798 <     193,  -944,   194,  -944,   196,   198,   201,   217,   219,   220,
1799 <     221,   222,   223,   224,   225,   226,   230,   231,   236,   237,
1800 <     238,   241,   246,   253,    49,  -944,  -944,  -944,  -944,  -944,
1801 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1802 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1803 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1804 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1805 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1806 <    -944,   333,   519,    24,   172,    80,   254,   255,   260,   263,
1807 <     265,   269,   276,   277,   278,   280,   282,   283,    46,  -944,
1808 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1809 <    -944,  -944,   145,   284,   286,    21,  -944,  -944,  -944,  -944,
1810 <     126,  -944,    77,  -944,   287,   289,   290,   291,   293,   298,
1811 <     305,    34,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1812 <     156,   307,   308,   310,   312,   313,   314,   315,  -944,   316,
1813 <     319,   320,   321,   199,  -944,  -944,  -944,  -944,  -944,  -944,
1814 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,    25,    31,  -944,
1815 <     257,   281,   432,   328,  -944,   396,   163,   466,   401,   402,
1816 <     469,   469,   470,   472,   409,   410,   478,   469,   414,   421,
1817 <     422,   425,   427,   365,  -944,   664,   444,  -944,   363,   364,
1818 <      32,  -944,  -944,  -944,   475,   370,  -944,  -944,   368,   374,
1819 <    -944,  -944,     3,  -944,  -944,  -944,   436,   469,   443,   469,
1820 <     510,   489,   512,   448,   450,   517,   496,   454,   523,   525,
1821 <     526,   462,   469,   463,   468,   469,   514,   471,   540,   541,
1822 <     469,   542,   546,   528,   547,   552,   487,   491,   426,   498,
1823 <     434,   469,   469,   501,   469,   550,   508,   511,   515,    81,
1824 <     153,   518,   521,   469,   469,   583,   469,   522,   524,   527,
1825 <     531,   456,  -944,  -944,  -944,   473,   474,  -944,   476,   477,
1826 <      14,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   465,   480,
1827 <     481,  -944,   482,   483,   484,   488,   490,   171,  -944,  -944,
1828 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   494,  -944,
1829 <     497,  -944,    19,  -944,  -944,  -944,   492,  -944,   500,   506,
1830 <     507,  -944,   125,  -944,  -944,  -944,  -944,  -944,   576,   577,
1831 <     580,   582,   585,   588,   597,   608,   175,   611,   622,   581,
1832 <     520,  -944,  -944,   624,   626,   529,  -944,   538,   530,   532,
1833 <     533,   536,     2,  -944,  -944,  -944,  -944,   586,   590,   591,
1834 <     638,   596,   603,   469,   543,  -944,  -944,   651,   609,   659,
1835 <     660,   663,   665,   666,   558,   669,   694,   670,   673,   567,
1836 <    -944,   569,   568,  -944,   570,    28,  -944,  -944,  -944,  -944,
1837 <     574,   572,  -944,    10,  -944,  -944,  -944,   578,   579,   584,
1838 <    -944,   587,   589,   594,   602,   604,   169,   606,   607,   610,
1839 <     615,   616,   627,   631,   632,   634,   635,   636,   637,   639,
1840 <    -944,   640,   573,   621,   643,   647,   648,   650,   658,   661,
1841 <     668,   671,   672,   674,   676,   205,  -944,  -944,  -944,  -944,
1842 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1843 <     641,   680,   684,   685,   687,   688,   695,  -944,   698,   702,
1844 <     703,   705,   706,   707,   708,   709,   168,  -944,  -944,  -944,
1845 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1846 <    -944,  -944,  -944,   677,   690,   642,  -944,   654,  -944,   693,
1847 <     697,   710,   678,  -944,   714,   715,   716,   720,   724,   725,
1848 <     727,   728,   730,   731,   732,   733,   734,   735,   736,   737,
1849 <     738,   739,   740,   741,   742,   743,   744,   745,   746,   747,
1850 <     748,   750,   751,   752,   753,   754,   675,   755,   712,   756,
1851 <     757,   758,   759,   760,   761,   762,   763,   764,   765,   766,
1852 <     767,   768,   769,   770,   771,   317,   772,   773,   774,   775,
1853 <     776,   777,  -944,   778,   469,   644,   779,   721,   780,   783,
1854 <    -944,  -944,   856,   701,   781,   885,   717,   886,   887,   892,
1855 <     786,  -944,   894,   785,   896,   790,  -944,  -944,   788,   899,
1856 <     900,   797,   794,  -944,   795,   796,   798,   799,   800,   801,
1857 <     802,   803,   804,   805,   806,   807,   808,   809,   810,   811,
1858 <     812,   813,  -944,   814,   815,  -944,   816,   817,   818,  -944,
1859 <     819,   820,   821,  -944,   822,    93,  -944,  -944,  -944,  -944,
1860 <    -944,  -944,  -944,  -944,  -944,  -944,   904,   924,   925,   826,
1861 <    -944,   827,   828,   829,   830,   831,   832,   833,  -944,   834,
1862 <     835,   836,   837,   838,   839,   840,    60,   841,   842,   843,
1863 <     844,  -944,  -944,   926,   845,   952,   846,  -944,  -944,   954,
1864 <     847,   849,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1865 <    -944,   469,   469,   469,   469,   469,  -944,  -944,  -944,  -944,
1866 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1867 <    -944,  -944,   980,   981,   469,   982,   983,   984,   985,   964,
1868 <     987,   988,   469,   469,   583,   860,  -944,  -944,   968,   136,
1869 <     969,   970,   927,   972,   863,   974,   975,   976,   977,  1000,
1870 <     979,   986,   989,   873,  -944,   874,   875,  -944,  -944,   876,
1871 <     877,   679,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1872 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1873 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1874 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1875 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1876 <    -944,  -944,  -944,  -944,  -248,  -944,  -944,  -944,  -944,  -944,
1877 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1878 <    -944,  -944,  -944,  -944,  -944,  -944,  -242,  -944,  -944,  -944,
1879 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1880 <    -944,  -944,  -944,  -944,   583,   583,   583,  -944,  -944,  -944,
1881 <    -944,  -944,  -944,  -944,  -944,     1,   878,   880,     5,   881,
1882 <     883,  -944,   884,   888,  1015,   889,   890,   891,   893,   895,
1883 <    -944,   897,   682,   898,  -944,    56,   901,   902,   649,   601,
1884 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1885 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1886 <    -944,  -944,  -944,   993,   950,   903,   999,  1001,  1003,   905,
1887 <    1006,   907,  -944,   909,   910,   911,  -944,  -944,  -944,  -944,
1888 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1889 <    -944,  -944,  -944,  -227,  -944,  -944,  -944,  -944,  -944,   912,
1890 <     563,   913,  -944,   914,   614,  -944,  -944,  -944,  -944,  -944,
1891 <    -944,   915,   916,   917,   918,   919,   920,   921,   922,   923,
1892 <     928,   929,   930,   931,  -944,   932,   933,   934,   935,   936,
1893 <     937,   938,  1030,   939,   940,   941,   942,   943,   944,   945,
1894 <     946,  -944,  -944,  -944,  -944,  -944,  -944,  -225,  -944,  -944,
1895 <     675,  -944,   712,  -944,  -944,  -944,  -944,  -944,  -192,  -944,
1896 <    -944,  -944,  -944,  -944,  -185,  -944,  -944,  -944,  -944,  -944,
1897 <    -944,  -174,  -944,   633,  -944,  -944,  -944,  -944,  -944,  -944,
1898 <    -944,  -165,  -944,  -944,  -944,  -944,  -944,  -147,  -944,  -944,
1899 <    -944,  1032,   797,   947,   948,   949,  1034,   951,   953,   955,
1900 <     749,   956,  -944,  -944,  -944,  -944,  -944,    60,  -944,  -944,
1901 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1902 <     -57,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1903 <    -944,  -944,  -944,  -944,  -944,   -38,  -944,  -944,  -944,  -944,
1904 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1905 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,    -8,  -944,
1906 <      18,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2066 <     679,  -944,  -944,  -944,     1,  -944,     5,   633,  -944,  1015,
2067 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2068 <    -944,  -944,   682,  -944,    56,  -944,  -944,  -944,  -944,  -944,
2069 <    -944,    37,  -944,   433,  -944,  -944,  -944,  -944,  -944,  -944,
2070 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2071 <    -944,  -944,  -944,  -944,  -944,  -944,    51,  -944,  -944,  -944,
2072 <    -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
1782 >    -861,   613,  -861,  -173,  -209,  -198,  -861,  -861,  -861,  -193,
1783 >    -861,  -188,  -861,  -861,  -861,  -185,  -183,  -861,  -861,  -180,
1784 >    -169,  -861,  -861,  -138,  -861,  -861,  -861,  -861,  -861,  -861,
1785 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1786 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,    18,   823,  -124,
1787 >    -100,   -98,    21,   -80,   438,   -74,   -71,   -58,    44,     4,
1788 >     -20,   -15,   378,   326,   -10,    -7,     7,   -66,    41,    51,
1789 >      57,     8,  -861,  -861,  -861,  -861,  -861,    59,    62,    65,
1790 >      84,    92,    96,   100,   102,   103,   104,   106,   110,   117,
1791 >     122,     3,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1792 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,   555,   356,    49,
1793 >    -861,   123,    26,  -861,  -861,   166,  -861,   133,   134,   136,
1794 >     138,   141,   144,   145,   148,   149,   153,   154,   155,   156,
1795 >     158,   160,   162,   163,   165,   167,   168,   169,   172,   173,
1796 >     177,   179,   186,   189,   191,   194,   196,   201,  -861,   203,
1797 >    -861,   211,   212,   214,   215,   218,   220,   221,   224,   226,
1798 >     229,   231,   234,   243,   247,   248,   250,   252,   255,   259,
1799 >     131,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1800 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1801 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1802 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1803 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1804 >    -861,  -861,  -861,  -861,  -861,   392,    42,   279,     1,   263,
1805 >      58,  -861,  -861,  -861,    80,    94,   264,   265,    19,  -861,
1806 >    -861,  -861,   364,   188,  -861,   267,   269,   270,   272,   273,
1807 >     280,    14,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   288,
1808 >     286,   287,   289,   291,   292,   296,   299,   305,   306,   309,
1809 >     311,   312,   313,   319,   320,    91,  -861,  -861,  -861,  -861,
1810 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1811 >    -861,  -861,    20,    16,  -861,   324,    36,  -861,  -861,  -861,
1812 >     157,   290,   429,   336,  -861,   456,   457,   398,   462,   462,
1813 >     463,   465,   466,   409,   412,   475,   462,   420,   422,   367,
1814 >    -861,   368,   366,   369,   370,   372,   373,   383,   384,   385,
1815 >     386,   388,   393,   394,   396,   400,   251,  -861,  -861,  -861,
1816 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1817 >    -861,  -861,   371,   401,   402,   403,   404,  -861,   406,   407,
1818 >     410,   415,   418,   431,   433,   434,   316,  -861,  -861,  -861,
1819 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1820 >    -861,  -861,   440,   441,    30,  -861,  -861,  -861,   500,   445,
1821 >    -861,  -861,   443,   444,  -861,  -861,    34,  -861,  -861,  -861,
1822 >     497,   462,   462,   566,   505,   506,   569,   551,   511,   462,
1823 >     515,   462,   578,   579,   580,   520,   521,   524,   462,   562,
1824 >     525,   588,   590,   462,   591,   592,   574,   594,   595,   534,
1825 >     535,   478,   539,   483,   462,   462,   543,   462,   544,   545,
1826 >     546,   -87,    97,   548,   549,   462,   462,   593,   462,   552,
1827 >     556,   557,   559,   499,  -861,   504,   502,   503,  -861,   507,
1828 >     516,   526,   528,   533,    12,  -861,  -861,  -861,  -861,  -861,
1829 >    -861,  -861,  -861,  -861,  -861,   536,  -861,   537,  -861,    33,
1830 >    -861,  -861,  -861,   508,  -861,   538,   542,   550,  -861,    25,
1831 >    -861,  -861,  -861,  -861,  -861,   563,   560,  -861,   522,  -861,
1832 >     636,   655,   568,  -861,   570,   558,   571,  -861,   581,   585,
1833 >     586,  -861,   599,   232,  -861,  -861,  -861,  -861,  -861,  -861,
1834 >    -861,  -861,  -861,   573,   601,   603,   604,    88,  -861,  -861,
1835 >    -861,  -861,   619,   622,   693,   652,   664,   462,   610,  -861,
1836 >    -861,   710,   668,   712,   713,   714,   715,   716,   717,   -75,
1837 >     -68,   718,   720,   740,   722,   723,   627,  -861,   628,   629,
1838 >    -861,   630,    39,  -861,  -861,  -861,  -861,   634,   633,  -861,
1839 >      15,  -861,  -861,  -861,   736,   638,  -861,   640,   641,   642,
1840 >    -861,   643,   644,   646,   261,   647,   648,   650,   653,   654,
1841 >     656,   657,   658,   663,   665,   666,  -861,  -861,   773,   782,
1842 >     462,   786,   787,   789,   792,   774,   794,   796,   462,   462,
1843 >     800,   800,   683,  -861,  -861,   783,   119,   784,   742,   684,
1844 >     788,   790,   791,   793,   806,   795,   797,   798,   690,  -861,
1845 >     799,   802,   695,  -861,   697,  -861,   803,   804,   703,   707,
1846 >    -861,   708,   709,   711,   719,   721,   724,   726,   727,   728,
1847 >     729,   730,   731,   732,   733,   735,   737,   738,   739,   741,
1848 >     743,   744,   745,   746,   747,   748,   749,   750,   751,   752,
1849 >     753,   754,   561,   755,   598,   756,   757,   758,   759,   760,
1850 >     761,   762,   763,   764,   765,   766,   767,   768,   769,   770,
1851 >     771,   772,   775,   776,   777,   778,  -861,  -861,   809,   779,
1852 >     780,   811,   831,   815,   816,   817,   781,  -861,   819,   785,
1853 >     821,   801,  -861,  -861,   805,   835,   839,   860,   807,  -861,
1854 >     810,  -861,    55,   812,   813,  -861,  -861,   872,   830,   808,
1855 >     878,   879,   881,   814,   883,   818,  -861,  -861,   884,   885,
1856 >     886,   820,  -861,   822,   824,   825,   826,   827,   828,  -861,
1857 >     829,   832,   833,   834,   836,   837,   838,   840,  -861,  -861,
1858 >    -205,  -861,  -861,  -861,  -166,  -861,   841,   842,   843,   844,
1859 >     845,  -861,  -861,   888,   846,   889,   847,  -861,  -861,   890,
1860 >     848,   850,  -861,   852,  -861,  -861,  -861,  -861,  -861,  -861,
1861 >    -861,   462,   462,   462,   462,   462,  -861,  -861,  -861,  -861,
1862 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   853,
1863 >     854,   855,   856,   857,   858,   859,   861,   862,   863,   864,
1864 >     865,    64,   866,   867,  -861,   868,   869,   870,   871,   873,
1865 >      -2,   874,   875,   876,   877,   880,   882,   887,   891,  -861,
1866 >     892,   893,  -861,  -861,   894,   895,   896,  -861,  -861,  -861,
1867 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1868 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1869 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1870 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1871 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -165,
1872 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1873 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1874 >    -861,  -861,  -159,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1875 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1876 >    -861,  -861,  -861,  -861,  -861,   897,   898,   519,   899,   900,
1877 >     901,   902,   903,  -861,   904,   908,   905,  -861,   -40,   906,
1878 >     907,   849,   689,  -861,  -861,  -861,   909,   910,  -861,   911,
1879 >      54,  -861,  -861,  -861,  -861,  -861,  -861,   912,   915,   513,
1880 >     916,   917,   918,   626,   919,  -861,   920,   921,   922,  -861,
1881 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1882 >    -861,  -861,  -861,  -861,  -861,   -75,  -861,   -68,  -861,  -861,
1883 >    -861,  -861,  -861,   923,   671,   924,  -861,   925,   681,  -861,
1884 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1885 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   800,   800,
1886 >     800,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1887 >    -861,  -861,  -135,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1888 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -129,  -861,  -861,
1889 >     561,  -861,   598,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1890 >    -861,  -861,  -861,  -861,  -103,  -861,  -861,  -861,  -861,  -861,
1891 >    -861,  -861,  -861,  -101,  -861,  -861,  -861,  -861,  -861,   -61,
1892 >    -861,  -861,  -861,   913,   860,   926,  -861,   914,   927,   -94,
1893 >     928,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1894 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1895 >    -861,  -861,  -861,   -24,  -861,  -861,  -861,  -861,  -861,  -861,
1896 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1897 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,   -19,  -861,
1898 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1899 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,   -16,  -861,  -861,
1900 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1901 >    -861,    76,  -861,  -861,  -861,  -861,  -861,    -2,  -861,   896,
1902 >    -861,  -861,  -861,   519,  -861,   908,  -861,   -40,  -861,  -861,
1903 >    -861,   929,   245,   931,   932,  -861,  -861,   513,  -861,   626,
1904 >    -861,   671,  -861,   681,  -861,  -861,  -861,  -861,  -861,  -861,
1905 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,    93,  -861,  -861,
1906 >    -861,  -861,  -861,  -861,  -861,  -861,   245,  -861
1907   };
1908  
1909   /* YYPGOTO[NTERM-NUM].  */
1910   static const yytype_int16 yypgoto[] =
1911   {
1912 <    -944,  -944,  -944,  -768,  -340,  -943,  -423,  -944,  -944,   571,
1913 <    -944,  -944,  -944,  -944,   556,  -944,  -944,  -944,  -317,  -944,
1914 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1915 <    -944,  -944,   859,  -944,  -944,  -944,  -944,  -944,   908,  -944,
1916 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1917 <    -944,  -944,  -944,  -944,  -944,   411,  -944,  -944,  -944,  -944,
1918 <    -944,  -944,  -944,  -944,  -944,  -944,  -418,  -944,  -944,  -944,
1919 <    -395,  -944,  -944,  -145,  -944,  -944,  -944,  -944,   592,  -944,
1920 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1921 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   -86,  -944,
1922 <     729,  -944,  -944,  -944,    47,  -944,  -944,  -944,  -944,  -944,
1923 <     782,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   -46,  -944,
1924 <    -944,   -42,  -944,  -944,  -944,  -944,  -944,  -944,   711,  -944,
1925 <    -944,  -944,  -944,  -944,  -944,   681,  -944,  -944,  -944,  -944,
1926 <    -944,   -93,  -944,  -944,  -944,   667,  -944,  -944,  -944,  -944,
1927 <     -92,  -944,  -944,  -944,  -944,   598,  -944,  -944,  -944,  -944,
1928 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   -94,  -944,
1929 <    -944,   -89,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1930 <    -944,  -944,  -944,   -45,  -944,   784,  -944,  -944,  -944,  -944,
1931 <    -944,   868,  -944,  -944,  -944,  -944,  1105,  -944,  -944,  -944,
1932 <    -944,  -944,  -944,   -20,  -944,   861,  -944,  -944,  -944,  -944,
1933 <    1047,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1934 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1935 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1936 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1937 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1938 <    -944,  -944,  -944,   100,  -944,  -944,  -944,   104,  -944,  -944,
1939 <    -944,  -944,  -944,  -944,  -944,   823,  -944,  -944,  -944,  -944,
1940 <    -944,   -21,  -944,  -944,  -944,  -944,  -944,   -18,  -944,  -944,
2111 <    1142,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2112 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2113 <    -944,   957,  -944,  -944,  -944,  -944,  -944,  -944,  -944
1912 >    -861,  -861,  -861,  -213,  -306,  -860,  -610,  -861,  -861,   930,
1913 >    -861,  -861,  -861,  -861,   933,  -861,  -861,  -861,     6,  -861,
1914 >       5,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1915 >    -861,  -861,  -861,  -861,  -861,  -861,   942,  -861,  -861,  -861,
1916 >    -861,  -861,   934,  -861,  -861,  -861,  -861,    45,  -861,  -861,
1917 >    -861,  -861,  -861,  -229,  -861,  -861,  -861,   509,  -861,  -861,
1918 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -201,  -861,  -861,
1919 >    -861,  -194,  -861,  -861,  -861,   688,  -861,  -861,  -861,  -861,
1920 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1921 >    -861,  -861,  -861,  -861,  -861,  -182,  -861,   530,  -861,  -861,
1922 >    -861,   -76,  -861,  -861,  -861,  -861,  -861,   576,  -861,  -861,
1923 >    -861,  -861,  -861,  -861,  -861,  -168,  -861,  -861,  -861,  -861,
1924 >    -861,  -861,   523,  -861,  -861,  -861,  -861,  -861,   935,  -861,
1925 >    -861,  -861,  -861,   476,  -861,  -861,  -861,  -861,  -861,  -179,
1926 >    -861,  -861,  -861,   479,  -861,  -861,  -861,  -861,  -158,  -861,
1927 >    -861,  -861,   692,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1928 >    -861,  -861,  -861,  -143,  -861,  -861,  -861,  -861,  -861,  -861,
1929 >    -861,  -861,  -861,  -861,  -126,  -861,   612,  -861,  -861,  -861,
1930 >    -861,  -861,   725,  -861,  -861,  -861,  -861,   955,  -861,  -861,
1931 >    -861,  -861,  -861,  -861,  -102,  -861,   702,  -861,  -861,  -861,
1932 >    -861,   937,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1933 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1934 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1935 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1936 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1937 >    -861,  -861,  -861,    28,  -861,  -861,  -861,    32,  -861,  -861,
1938 >    -861,  -861,  -861,  1012,  -861,  -861,  -861,  -861,  -861,  -861,
1939 >    -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,  -861,
1940 >     936,  -861,  -861,  -861,  -861,  -861,  -861
1941   };
1942  
1943   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1944     positive, shift that token.  If negative, reduce the rule which
1945 <   number is the opposite.  If zero, do what YYDEFACT says.
1946 <   If YYTABLE_NINF, syntax error.  */
1947 < #define YYTABLE_NINF -1
2121 < static const yytype_uint16 yytable[] =
1945 >   number is the opposite.  If YYTABLE_NINF, syntax error.  */
1946 > #define YYTABLE_NINF -108
1947 > static const yytype_int16 yytable[] =
1948   {
1949 <     567,   568,   706,   508,   367,   272,    47,   574,    67,   122,
1950 <      67,   550,  1136,  1129,    48,   433,  1142,  1130,   434,  1131,
1951 <     467,   122,   272,  1132,   509,   467,   541,    52,  1317,   541,
1952 <    1318,   367,   550,   357,  1186,   283,  1249,   655,  1187,   657,
1953 <    1250,  1133,  1134,  1135,    68,  1319,    68,   245,    54,  1320,
1954 <     128,    59,   670,    60,    69,   673,    69,   129,   130,   435,
1955 <     678,   131,   436,  1086,  1087,  1088,  1089,  1090,   132,  1253,
1956 <      63,   689,   690,  1254,   692,   284,  1255,   133,   508,    64,
1957 <    1256,   134,   135,   703,   704,   115,   707,  1258,   136,   285,
1958 <     118,  1259,   137,   138,   766,   139,  1271,   121,   123,   509,
1959 <    1272,   140,   246,   247,   248,   249,   250,   251,   252,   253,
1960 <     123,   286,   127,   287,  1273,   288,   289,   437,  1274,   767,
1961 <     141,   142,   358,   273,   368,   143,   476,   510,    70,   241,
1962 <      70,   551,   144,  1164,   290,   438,   145,   146,   147,   242,
1963 <     273,   148,   768,    76,   149,   150,   542,   769,   357,   542,
1964 <     254,   368,   551,   274,   151,    77,    45,    46,   511,   369,
1965 <     152,   153,   243,   154,   155,   156,   157,   158,   244,   610,
1966 <     274,   611,   448,   476,   612,   468,    78,    79,   159,   477,
1967 <     468,   279,    80,   797,    81,   255,   369,   160,   359,   161,
1968 <     162,   370,   163,   613,   614,   164,   165,   449,   552,   166,
1969 <     300,  1137,   510,   282,  1310,  1143,   581,   469,  1311,   478,
1970 <     167,   327,   469,   543,   770,   479,   543,   615,   370,   552,
1971 <     450,   616,   617,  1312,   328,   451,   477,  1313,   582,   583,
1972 <    1071,  1072,   168,   511,   169,   584,   301,   358,   170,    82,
1973 <      83,   771,   171,   172,   173,   174,   175,   329,    84,    85,
1974 <     176,   177,   618,  1315,   619,   330,   478,  1316,   331,   178,
1975 <     772,  1321,   479,   439,   789,   652,   256,   620,   470,    86,
1976 <      87,   333,   821,   470,   544,   332,   719,   544,   480,   697,
1977 <     698,   735,   365,   505,   302,   355,    88,    89,  1165,   621,
1978 <     816,   179,  1166,   180,   645,   562,   524,    90,  1331,   181,
1979 <     257,   566,  1332,   359,   182,   335,    91,   336,   500,   183,
1980 <     283,   431,  1350,   585,   586,   587,  1351,   337,   588,   452,
1981 <     303,   622,   304,   305,   356,   480,   589,   338,   453,   454,
1982 <     773,   984,   985,   986,   433,   623,   339,   434,   340,   590,
1983 <     591,   487,   774,   831,   832,   833,   834,   835,   624,   341,
1984 <     284,   699,   700,  1106,  1107,  1051,   592,   593,   342,   343,
1985 <     344,   345,   455,   346,   285,   306,   347,   307,   308,   348,
1986 <     349,   350,   351,   352,   996,   364,   376,   377,   435,   378,
1987 <     379,   436,   380,   309,   594,   381,   286,   742,   287,   507,
1988 <     288,   289,   382,    92,    93,    94,   752,   753,   754,   755,
1989 <     756,   757,   758,   383,   353,   384,   502,   385,   386,   290,
1990 <     387,   557,   388,   389,   390,   391,   392,   526,   245,   393,
1991 <     456,   128,   394,   395,   625,   396,   397,   310,   129,   130,
1992 <     883,   398,   131,   730,   399,   558,   437,   400,  1333,   132,
1993 <     401,  1103,   402,   403,   404,   610,   405,   611,   133,   705,
1994 <     612,   406,   134,   135,   438,   311,   312,   407,   409,   136,
1995 <     411,   539,   412,   137,   138,   413,   139,   865,   300,   613,
1996 <     614,  1334,   140,   246,   247,   248,   249,   250,   251,   252,
1997 <     253,   414,  1335,   415,   416,   417,   418,   419,   420,   421,
1998 <     422,   141,   142,   615,   423,   424,   143,   616,   617,  1336,
1999 <     425,   426,   427,   144,   301,   428,  1337,   145,   146,   147,
2000 <     429,  1338,   148,  1339,  1093,   149,   150,   430,   488,   489,
2001 <     448,   254,  1101,  1102,   490,   151,  1340,   491,   618,   492,
2002 <     619,   152,   153,   493,   154,   155,   156,   157,   158,   766,
2003 <     494,   495,   496,   620,   497,   449,   498,   499,   503,   159,
2004 <     504,   517,   302,   518,   519,   520,   255,   521,   160,  1341,
2005 <     161,   162,   522,   163,   767,   621,   164,   165,   450,   523,
2006 <     166,   527,   528,   451,   529,  1342,   530,   531,   532,   533,
2007 <     535,   167,   439,   536,   537,   538,   559,   768,   303,   560,
2008 <     304,   305,   769,  1343,   561,  1344,  1345,   622,   563,   564,
2009 <     565,   566,   569,   168,   570,   169,    76,   571,   572,   170,
2010 <     573,   623,   575,   171,   172,   173,   174,   175,    77,   576,
2011 <     577,   176,   177,   578,   624,   579,   580,   643,   644,   647,
2012 <     178,   648,   649,   306,   654,   307,   308,   256,   650,    78,
2013 <      79,   656,   658,   659,   660,    80,   661,    81,   662,   663,
2014 <     664,   309,   665,  1260,  1261,   666,  1189,   667,   668,   770,
2015 <     669,   671,   179,  1346,   180,   581,   672,   452,   674,   675,
2016 <     181,   257,   676,   677,   679,   182,   453,   454,   680,   682,
2017 <     183,  1347,   681,  1262,   683,   684,   771,   582,   583,   685,
2018 <     686,  1348,     2,     3,   584,   310,   687,     4,   688,   691,
2019 <     625,  1263,    82,    83,   693,   772,   694,  1204,  1264,   695,
2020 <     455,    84,    85,   696,     5,   705,   701,   712,     6,   702,
2021 <     708,     7,   709,   311,   312,   710,   721,  1265,     8,   711,
2022 <     744,   745,    86,    87,   746,  1190,   747,   714,   715,   748,
2023 <     717,   718,   749,     9,   722,   723,   725,   726,   727,    88,
2024 <      89,   750,   728,   737,   729,  1266,    10,    11,   732,    12,
2025 <      90,   734,   751,  1267,   739,   759,    13,  1191,   456,    91,
2026 <     740,   741,   585,   586,   587,   773,   760,   588,   763,   761,
2027 <     764,   762,  1192,    14,   791,   589,  1205,   774,   792,   793,
2028 <     765,   785,   794,    15,   795,    16,   786,   787,   590,   591,
2029 <     788,   796,  1193,  1194,   798,   799,  1268,   800,  1195,  1196,
2030 <    1197,  1198,    17,   801,   802,   592,   593,   803,  1206,   804,
2031 <     805,  1199,   806,   807,   809,  1269,   808,   810,   811,    18,
2032 <     812,   885,   813,  1207,   815,   818,   819,   852,  1126,   823,
2033 <     824,  1160,   997,   594,   886,   825,   506,   889,   826,  1006,
2034 <     827,   890,  1171,  1208,  1209,   828,    92,    93,    94,  1210,
2035 <    1211,  1212,  1213,   829,    19,   830,  1172,   838,   839,   540,
2036 <    1309,   840,  1214,    20,    21,   999,   841,   842,    22,    23,
2037 <     925,   926,   927,   928,   929,   853,   930,   931,   843,   932,
2038 <     933,   934,   844,   845,   935,   846,   847,   848,   849,  1003,
2039 <     850,   851,   867,   887,   936,   937,   938,   854,   939,   940,
2040 <     941,   855,   856,   942,   857,   888,   943,   947,   948,   949,
2041 <     950,   951,   858,   952,   953,   859,   954,   955,   956,  1018,
2042 <     334,   957,   860,  1358,  1000,   861,   862,  1357,   863,   892,
2043 <     864,   958,   959,   960,   868,   961,   962,   963,   869,   870,
2044 <     964,   871,   872,   965,  1287,  1288,  1289,  1290,  1291,   873,
2045 <    1292,  1293,   875,  1294,  1295,  1296,   876,   877,  1297,   878,
2046 <     879,   880,   881,   882,   891,   893,   894,   895,  1298,  1299,
2047 <    1300,   896,  1301,  1302,  1303,   897,   898,  1304,   899,   900,
2048 <    1305,   901,   902,   903,   904,   905,   906,   907,   908,   909,
2049 <     910,   911,   912,   913,   914,   915,   916,   917,   918,   919,
2050 <    1002,   920,   921,   922,   923,   924,   946,   968,   969,   970,
2051 <     971,   972,   973,   974,   975,   976,   977,   978,   979,   980,
2052 <     981,   982,   983,   989,   990,   991,   992,   993,   994,  1005,
2053 <    1007,  1008,   995,   998,  1001,  1004,  1009,  1010,  1011,  1012,
2054 <    1013,  1014,  1015,  1016,  1017,  1021,  1022,  1023,  1053,  1024,
2055 <    1025,  1026,  1027,  1028,  1029,  1030,  1031,  1032,  1033,  1034,
2056 <    1035,  1036,  1037,  1038,  1039,  1040,  1041,  1042,  1054,  1055,
2057 <    1079,  1043,  1044,  1046,  1047,  1048,  1050,  1056,  1057,  1058,
2058 <    1059,  1060,  1061,  1062,  1063,  1064,  1065,  1066,  1067,  1068,
2059 <    1069,  1070,  1075,  1076,  1077,  1078,  1081,  1082,  1083,  1080,
2060 <    1085,  1084,  1091,  1092,  1094,  1095,  1096,  1097,  1098,  1099,
2061 <    1100,  1104,  1105,  1108,  1109,  1110,  1111,  1112,  1113,  1114,
2062 <    1115,  1116,  1117,  1118,  1121,  1122,  1123,  1124,  1125,  1140,
2063 <    1119,  1141,  1146,  1120,  1147,  1148,  1150,  1174,  1175,  1149,
2064 <    1154,  1155,  1156,  1177,  1157,  1178,  1158,  1179,  1159,  1163,
2065 <    1181,  1237,  1169,  1170,  1275,  1280,   501,  1176,  1182,  1180,
2066 <    1183,  1184,  1185,  1188,  1202,  1203,  1217,  1218,  1219,  1220,
2067 <    1221,  1222,  1223,  1224,  1225,  1356,  1052,   866,  1329,  1226,
2068 <    1227,  1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,
2069 <    1241,  1242,  1243,  1244,  1245,  1246,  1247,  1248,  1277,  1278,
2070 <    1279,   743,  1284,  1327,  1285,  1326,  1286,  1308,  1352,  1276,
2071 <     822,  1353,  1355,   790,   884,  1354,   817,  1328,   646,   366,
2072 <    1323,   432,  1252,   653,  1251,  1325,  1324,   354,     0,   731,
2247 <       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
1949 >     822,   823,   585,   586,    76,   235,  1050,   821,   294,    67,
1950 >     593,  1096,    47,   455,  1004,   244,   567,   567,  1005,    67,
1951 >     235,   558,   110,    48,    77,    78,   483,   110,    52,   456,
1952 >      79,   381,    68,    54,   474,   391,    58,   294,    59,    69,
1953 >     558,    62,    68,   474,   457,   228,    45,    46,   458,    69,
1954 >     381,   245,    63,  1006,  1069,   966,   966,  1007,  1070,   228,
1955 >    1071,   484,   758,   759,  1072,   246,   247,   248,   249,   762,
1956 >     763,    80,    81,  1038,  1039,  1040,   682,   683,    82,    83,
1957 >      84,   485,   111,    66,  1196,   250,   486,   111,  1197,   523,
1958 >    1198,   382,   259,   236,  1199,   642,   643,   107,   295,    70,
1959 >      85,    86,   524,   650,  1213,   652,   568,   568,   236,    70,
1960 >     382,   559,   659,    87,    88,   260,  1202,   664,  1204,   237,
1961 >    1203,   108,  1205,   109,    89,   392,   459,   295,   675,   676,
1962 >     559,   678,   116,    90,   237,   460,   461,   117,   118,   688,
1963 >     689,   115,   691,   119,   487,   967,   967,   225,   261,  1097,
1964 >     226,   120,   383,   299,  1098,   475,   393,   121,  1206,   122,
1965 >     123,   124,  1207,   227,   475,   821,   125,   391,   462,   569,
1966 >     569,   383,   126,   127,   560,   128,   129,   130,  1193,  1194,
1967 >    1195,   131,   262,   525,   263,   264,   132,   476,   394,   523,
1968 >     133,   134,  1051,   560,   135,  1216,   476,   136,   137,  1217,
1969 >    1218,   242,   524,  1220,  1219,   138,   243,  1221,   968,   968,
1970 >     526,   292,   139,   140,   293,   141,   142,   143,   144,   145,
1971 >     494,   463,   265,   319,   266,   267,   268,   269,   303,   561,
1972 >     146,   748,   706,   504,   538,   781,   147,   148,   149,   502,
1973 >     150,   270,   477,   151,   152,   718,   389,   153,   561,   505,
1974 >     632,   477,   321,   711,   639,   229,   575,   392,   154,   776,
1975 >     684,   685,  -107,   300,   506,   271,   322,   323,   507,   229,
1976 >     324,   969,   969,   301,  1110,   272,  -107,   577,   496,   302,
1977 >     483,   305,   155,   525,   306,  1230,   156,   307,   393,   157,
1978 >     158,   159,   160,   161,   811,  1222,   162,   163,   498,  1223,
1979 >     826,   827,   819,   820,   273,   274,   308,  1231,   741,  1232,
1980 >     526,   556,  1245,   499,   309,   484,  1246,   352,   310,   353,
1981 >     394,   354,   311,   508,   312,   313,   314,   259,   315,   325,
1982 >     326,   327,   316,   355,   328,   485,   164,   165,   166,   317,
1983 >     486,   167,   329,   168,   318,   388,   509,   169,   356,  1233,
1984 >     260,   453,   357,   330,   331,   400,   401,   352,   402,   353,
1985 >     403,   354,   584,   404,   510,   504,   405,   406,   332,   333,
1986 >     407,   408,   358,   355,   359,   409,   410,   411,   412,   244,
1987 >     413,   505,   414,   261,   415,   416,   360,   417,   356,   418,
1988 >     419,   420,   357,   455,   421,   422,   506,   334,   487,   423,
1989 >     507,   424,   791,   792,   793,   794,   795,   361,   425,   456,
1990 >     578,   426,   358,   427,   359,   245,   428,   262,   429,   263,
1991 >     264,  1234,  1235,   430,   457,   432,   360,   511,   458,   246,
1992 >     247,   248,   249,   434,   435,   362,   436,   437,   335,   116,
1993 >     438,   512,   439,   440,   117,   118,   441,   361,   442,   250,
1994 >     119,   443,   735,   444,  1236,   508,   445,   265,   120,   266,
1995 >     267,   268,   269,   363,   121,   446,   122,   123,   124,   447,
1996 >     448,   612,   449,   125,   450,   362,   270,   451,   509,   126,
1997 >     127,   452,   128,   129,   130,   495,   500,   501,   131,   532,
1998 >     364,   533,   534,   132,   535,   536,   510,   133,   134,  1214,
1999 >     271,   135,   537,   363,   136,   137,   459,   540,   541,   542,
2000 >     272,   543,   138,   544,   545,   460,   461,  1114,   546,   139,
2001 >     140,   547,   141,   142,   143,   144,   145,   548,   549,   365,
2002 >     364,   550,  1075,   551,   552,   553,   628,   146,  1115,   273,
2003 >     274,   554,   555,   147,   148,   149,   574,   150,   462,   579,
2004 >     151,   152,  1076,  1116,   153,   580,   321,   581,   582,   511,
2005 >    1117,   583,  1077,   584,   587,   154,   588,   589,  1078,   365,
2006 >     322,   323,   590,   512,   324,   591,   592,  1118,  1021,  1022,
2007 >    1023,  1024,  1025,   594,  1079,   595,   596,   597,   598,   155,
2008 >     614,   599,   600,   156,   601,   602,   157,   158,   159,   160,
2009 >     161,   463,  1119,   162,   163,   603,   604,   605,   606,  1120,
2010 >     607,  1080,   879,     2,     3,   608,   609,     4,   610,  1081,
2011 >     634,  1121,   611,   615,   616,   617,   618,     5,   620,   621,
2012 >       6,     7,   622,   325,   326,   327,     8,   623,   328,  1122,
2013 >     624,  1123,  1124,   164,   165,   166,   329,     9,   167,   902,
2014 >     168,    10,    11,   625,   169,   626,   627,   330,   331,  1082,
2015 >     641,    12,   630,   631,   635,   636,   637,   644,   645,   646,
2016 >     647,   648,   332,   333,   649,    13,  1083,  1138,   651,   653,
2017 >     654,   655,   660,   656,   657,    14,    15,   658,   661,   662,
2018 >    1125,   663,   665,   666,   667,   668,   669,   670,   671,  1126,
2019 >     672,   334,   673,    16,  1127,   674,   677,   679,   680,   681,
2020 >    1128,   686,   687,   690,  1129,   692,  1130,    17,   696,   693,
2021 >     694,  1131,   695,   697,   698,   699,   720,   713,  1132,   701,
2022 >     880,   881,   882,   883,   884,  1167,   885,   886,   702,   887,
2023 >     888,   889,   335,   722,   890,  1181,   891,   892,   703,   893,
2024 >     704,   894,    18,   895,   896,   705,   723,   897,   708,   710,
2025 >     715,    19,    20,   898,   716,    21,    22,   903,   904,   905,
2026 >     906,   907,   717,   908,   909,   724,   910,   911,   912,   721,
2027 >     727,   913,   743,   914,   915,   744,   916,   725,   917,   726,
2028 >     918,   919,   737,   728,   920,  1139,  1140,  1141,  1142,  1143,
2029 >     921,  1144,  1145,   730,  1146,  1147,  1148,   731,   732,  1149,
2030 >    1168,  1150,  1151,   745,  1152,   746,  1153,    23,  1154,  1155,
2031 >    1182,   734,  1156,   738,    76,   739,   740,   747,  1157,   749,
2032 >     750,   751,   752,   753,   754,   755,   756,   757,   766,  1169,
2033 >     767,   768,   769,   770,    77,    78,   771,   772,  1170,  1183,
2034 >      79,   773,   775,   778,  1171,   779,   783,   784,  1184,   785,
2035 >     786,   787,   788,   789,  1185,   790,   798,   799,  1172,   800,
2036 >    1173,  1174,   801,   802,   809,   803,   804,   805,  1186,  1175,
2037 >    1187,  1188,   806,   810,   807,   808,  1176,   812,   813,  1189,
2038 >     814,    80,    81,   815,   816,   817,  1190,   818,    82,    83,
2039 >      84,   821,   824,   825,   828,   829,   830,   835,   831,   839,
2040 >     832,   833,  1104,   834,   842,   836,   843,   837,   838,   840,
2041 >      85,    86,   841,   844,   845,   846,   847,   848,   849,   945,
2042 >     850,   948,   949,    87,    88,   950,   951,   952,   851,   954,
2043 >     852,   956,   946,   853,    89,   854,   855,   856,   857,   858,
2044 >     859,   860,   861,    90,   862,   959,   863,   864,   865,   960,
2045 >     866,   961,   867,   868,   869,   870,   871,   872,   873,   874,
2046 >     875,   876,   877,   878,   901,   924,   925,   926,   927,   928,
2047 >     929,   930,   931,   932,   933,   934,   935,   936,   937,   938,
2048 >     939,   940,   977,   978,   941,   942,   943,   944,   980,   981,
2049 >     953,   982,   947,   984,   986,   987,   988,   955,  1013,  1015,
2050 >    1017,  1164,  1165,   304,  1208,  1111,  1103,  1247,  1242,   719,
2051 >     957,  1066,   736,  1241,   613,  1228,   964,   958,  1209,   965,
2052 >     979,   975,   976,  1092,  1211,  1226,   983,   985,   777,   989,
2053 >     707,   990,  1243,   991,   992,   993,   994,   995,   996,   782,
2054 >     742,   997,   998,   999,  1224,  1000,  1001,  1002,   629,  1003,
2055 >    1008,  1009,  1010,  1011,  1012,  1244,  1016,   390,  1014,  1019,
2056 >    1018,  1020,  1026,  1027,  1028,  1029,  1030,  1031,  1032,  1227,
2057 >    1033,  1034,  1035,  1036,  1037,  1043,  1044,  1045,  1046,  1047,
2058 >    1048,   712,  1049,  1054,  1055,  1056,  1057,  1225,   640,  1058,
2059 >    1201,  1059,  1200,   320,     0,     0,  1060,   454,     0,   633,
2060 >    1061,  1062,  1063,  1064,  1065,     0,  1073,  1074,  1086,  1087,
2061 >    1088,  1089,  1090,  1091,  1095,  1101,  1102,     0,  1106,     0,
2062 >       0,  1112,  1107,  1109,  1113,  1135,  1136,  1137,  1160,  1161,
2063 >    1162,  1163,  1166,  1179,  1180,  1210,     0,  1215,  1229,  1212,
2064 >    1239,  1240,     0,     0,     0,     0,     0,     0,     0,     0,
2065 >       0,     0,     0,     0,   497,     0,     0,     0,   503,     0,
2066 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2067 >       0,     0,     0,     0,     0,     0,     0,   539,     0,     0,
2068 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2069 >       0,     0,     0,     0,     0,     0,     0,     0,   557,     0,
2070 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2071 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2072 >       0,   576
2073   };
2074  
2075 + #define yypact_value_is_default(yystate) \
2076 +  ((yystate) == (-861))
2077 +
2078 + #define yytable_value_is_error(yytable_value) \
2079 +  YYID (0)
2080 +
2081   static const yytype_int16 yycheck[] =
2082   {
2083 <     340,   341,   425,     1,     1,     1,   263,   347,     1,     1,
2084 <       1,     1,    11,   261,   263,     1,    11,   265,     4,   261,
2085 <       1,     1,     1,   265,    22,     1,     1,   263,    10,     1,
2086 <      12,     1,     1,     1,   261,     1,   261,   377,   265,   379,
2087 <     265,   984,   985,   986,    37,    27,    37,     1,   263,    31,
2088 <       1,   263,   392,   263,    47,   395,    47,     8,     9,    45,
2089 <     400,    12,    48,   831,   832,   833,   834,   835,    19,   261,
2090 <     263,   411,   412,   265,   414,    41,   261,    28,     1,   263,
2091 <     265,    32,    33,   423,   424,   154,   426,   261,    39,    55,
2092 <     154,   265,    43,    44,     1,    46,   261,   263,    90,    22,
2093 <     265,    52,    56,    57,    58,    59,    60,    61,    62,    63,
2094 <      90,    77,   263,    79,   261,    81,    82,   103,   265,    26,
2095 <      71,    72,    90,   119,   121,    76,     1,   125,   121,   263,
2096 <     121,   121,    83,    77,   100,   121,    87,    88,    89,   263,
2097 <     119,    92,    49,     1,    95,    96,   121,    54,     1,   121,
2098 <     104,   121,   121,   149,   105,    13,   261,   262,   156,   156,
2099 <     111,   112,   263,   114,   115,   116,   117,   118,   263,     1,
2100 <     149,     3,     1,     1,     6,   156,    34,    35,   129,    54,
2101 <     156,   154,    40,   523,    42,   139,   156,   138,   156,   140,
2102 <     141,   188,   143,    25,    26,   146,   147,    26,   188,   150,
2103 <       1,   200,   125,   263,   261,   200,     1,   188,   265,    84,
2104 <     161,   263,   188,   188,   121,    90,   188,    49,   188,   188,
2105 <      49,    53,    54,   261,   263,    54,    54,   265,    23,    24,
2106 <     170,   171,   183,   156,   185,    30,    37,    90,   189,    97,
2107 <      98,   148,   193,   194,   195,   196,   197,   261,   106,   107,
2108 <     201,   202,    84,   261,    86,   264,    84,   265,   264,   210,
2109 <     167,   243,    90,   249,   262,   262,   220,    99,   249,   127,
2110 <     128,   262,   262,   249,   249,   264,   262,   249,   153,   198,
2111 <     199,   262,   262,   262,    85,   263,   144,   145,   232,   121,
2112 <     262,   242,   236,   244,   262,   132,   262,   155,   261,   250,
2113 <     254,   132,   265,   156,   255,   264,   164,   264,   262,   260,
2114 <       1,   262,   261,   108,   109,   110,   265,   264,   113,   148,
2115 <     121,   153,   123,   124,   263,   153,   121,   264,   157,   158,
2116 <     237,    14,    15,    16,     1,   167,   264,     4,   264,   134,
2117 <     135,   261,   249,   174,   175,   176,   177,   178,   180,   264,
2118 <      41,   198,   199,   217,   218,   262,   151,   152,   264,   264,
2119 <     264,   264,   191,   264,    55,   166,   264,   168,   169,   264,
2120 <     264,   264,   264,   264,   714,   264,   264,   264,    45,   264,
2121 <     264,    48,   264,   184,   179,   264,    77,   262,    79,   263,
2122 <      81,    82,   264,   251,   252,   253,   221,   222,   223,   224,
2123 <     225,   226,   227,   264,   262,   264,   261,   264,   264,   100,
2124 <     264,   154,   264,   264,   264,   264,   264,   261,     1,   264,
2125 <     249,     1,   264,   264,   256,   264,   264,   228,     8,     9,
2126 <     262,   264,    12,   262,   264,   154,   103,   264,     5,    19,
2127 <     264,   864,   264,   264,   264,     1,   264,     3,    28,   132,
2128 <       6,   264,    32,    33,   121,   256,   257,   264,   264,    39,
2129 <     264,   262,   264,    43,    44,   264,    46,   262,     1,    25,
2130 <      26,    38,    52,    56,    57,    58,    59,    60,    61,    62,
2131 <      63,   264,    49,   264,   264,   264,   264,   264,   264,   264,
2132 <     264,    71,    72,    49,   264,   264,    76,    53,    54,    66,
2133 <     264,   264,   264,    83,    37,   264,    73,    87,    88,    89,
2134 <     264,    78,    92,    80,   854,    95,    96,   264,   264,   264,
2135 <       1,   104,   862,   863,   264,   105,    93,   264,    84,   264,
2136 <      86,   111,   112,   264,   114,   115,   116,   117,   118,     1,
2137 <     264,   264,   264,    99,   264,    26,   264,   264,   264,   129,
2138 <     264,   264,    85,   264,   264,   264,   139,   264,   138,   126,
2139 <     140,   141,   264,   143,    26,   121,   146,   147,    49,   264,
2140 <     150,   264,   264,    54,   264,   142,   264,   264,   264,   264,
2141 <     264,   161,   249,   264,   264,   264,   154,    49,   121,   261,
2142 <     123,   124,    54,   160,   198,   162,   163,   153,   132,   198,
2143 <     198,   132,   132,   183,   132,   185,     1,   198,   198,   189,
2144 <     132,   167,   198,   193,   194,   195,   196,   197,    13,   198,
2145 <     198,   201,   202,   198,   180,   198,   261,   264,   264,   154,
2146 <     210,   261,   264,   166,   198,   168,   169,   220,   264,    34,
2147 <      35,   198,   132,   154,   132,    40,   198,    42,   198,   132,
2148 <     154,   184,   198,    20,    21,   132,    93,   132,   132,   121,
2149 <     198,   198,   242,   230,   244,     1,   198,   148,   154,   198,
2150 <     250,   254,   132,   132,   132,   255,   157,   158,   132,   132,
2151 <     260,   248,   154,    50,   132,   198,   148,    23,    24,   198,
2152 <     264,   258,     0,     1,    30,   228,   198,     5,   264,   198,
2153 <     256,    68,    97,    98,   154,   167,   198,    93,    75,   198,
2154 <     191,   106,   107,   198,    22,   132,   198,   261,    26,   198,
2155 <     198,    29,   198,   256,   257,   198,   261,    94,    36,   198,
2156 <     154,   154,   127,   128,   154,   172,   154,   264,   264,   154,
2157 <     264,   264,   154,    51,   264,   264,   264,   264,   264,   144,
2158 <     145,   154,   264,   261,   264,   122,    64,    65,   264,    67,
2159 <     155,   264,   154,   130,   264,   154,    74,   204,   249,   164,
2160 <     264,   264,   108,   109,   110,   237,   154,   113,   154,   198,
2161 <     154,   261,   219,    91,   198,   121,   172,   249,   198,   198,
2162 <     261,   261,   154,   101,   198,   103,   264,   264,   134,   135,
2163 <     264,   198,   239,   240,   261,   154,   173,   198,   245,   246,
2164 <     247,   248,   120,   154,   154,   151,   152,   154,   204,   154,
2165 <     154,   258,   264,   154,   154,   192,   132,   154,   261,   137,
2166 <     261,   154,   264,   219,   264,   261,   264,   264,   159,   261,
2167 <     261,   159,   198,   179,   154,   261,   275,   154,   261,   132,
2168 <     261,   154,   203,   239,   240,   261,   251,   252,   253,   245,
2169 <     246,   247,   248,   261,   172,   261,   265,   261,   261,   313,
2170 <    1187,   261,   258,   181,   182,   154,   261,   261,   186,   187,
2171 <     205,   206,   207,   208,   209,   264,   211,   212,   261,   214,
2172 <     215,   216,   261,   261,   219,   261,   261,   261,   261,   198,
2173 <     261,   261,   261,   261,   229,   230,   231,   264,   233,   234,
2174 <     235,   264,   264,   238,   264,   261,   241,   205,   206,   207,
2175 <     208,   209,   264,   211,   212,   264,   214,   215,   216,   132,
2176 <      71,   219,   264,  1351,   154,   264,   264,  1332,   264,   261,
2177 <     264,   229,   230,   231,   264,   233,   234,   235,   264,   264,
2178 <     238,   264,   264,   241,   205,   206,   207,   208,   209,   264,
2179 <     211,   212,   264,   214,   215,   216,   264,   264,   219,   264,
2180 <     264,   264,   264,   264,   264,   261,   261,   261,   229,   230,
2181 <     231,   261,   233,   234,   235,   261,   261,   238,   261,   261,
2182 <     241,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2183 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2184 <     154,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2185 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2186 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   154,
2187 <     154,   154,   264,   264,   261,   264,   154,   261,   154,   264,
2188 <     154,   261,   264,   154,   154,   261,   261,   261,   154,   261,
2189 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2190 <     261,   261,   261,   261,   261,   261,   261,   261,   154,   154,
2191 <     154,   264,   264,   264,   264,   264,   264,   261,   261,   261,
2192 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2193 <     261,   261,   261,   261,   261,   261,   154,   261,   154,   264,
2194 <     261,   264,   132,   132,   132,   132,   132,   132,   154,   132,
2195 <     132,   261,   154,   154,   154,   198,   154,   264,   154,   154,
2196 <     154,   154,   132,   154,   261,   261,   261,   261,   261,   261,
2197 <     154,   261,   261,   154,   261,   261,   131,   154,   198,   261,
2198 <     261,   261,   261,   154,   261,   154,   261,   154,   261,   261,
2199 <     154,   131,   261,   261,   132,   131,   258,   264,   261,   264,
2200 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2201 <     261,   261,   261,   261,   261,  1330,   775,   595,  1274,   261,
2202 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2203 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2204 <     261,   482,   261,  1259,   261,  1257,   261,   261,  1311,  1172,
2205 <     553,  1313,  1316,   512,   626,  1314,   545,  1272,   360,   124,
2206 <    1250,   184,  1132,   372,  1130,  1256,  1254,    95,    -1,   457,
2378 <      -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
2083 >     610,   611,   308,   309,     1,     1,     8,   101,     1,     1,
2084 >     316,    51,   221,     1,   219,     1,     1,     1,   223,     1,
2085 >       1,     1,     1,   221,    21,    22,     1,     1,   221,    17,
2086 >      27,     1,    24,   221,     1,     1,   221,     1,   221,    31,
2087 >       1,   221,    24,     1,    32,     1,   219,   220,    36,    31,
2088 >       1,    37,   221,   219,   219,     1,     1,   223,   223,     1,
2089 >     219,    36,   137,   138,   223,    51,    52,    53,    54,   137,
2090 >     138,    68,    69,     9,    10,    11,   163,   164,    75,    76,
2091 >      77,    56,    61,   221,   219,    71,    61,    61,   223,     1,
2092 >     219,    61,     1,    89,   223,   401,   402,   221,    91,    91,
2093 >      97,    98,    14,   409,   198,   411,    91,    91,    89,    91,
2094 >      61,    91,   418,   110,   111,    24,   219,   423,   219,   115,
2095 >     223,   221,   223,   221,   121,    91,   114,    91,   434,   435,
2096 >      91,   437,     1,   130,   115,   123,   124,     6,     7,   445,
2097 >     446,   221,   448,    12,   119,    91,    91,   221,    57,   189,
2098 >     221,    20,   122,   219,   194,   122,   122,    26,   219,    28,
2099 >      29,    30,   223,   221,   122,   101,    35,     1,   156,   154,
2100 >     154,   122,    41,    42,   154,    44,    45,    46,  1038,  1039,
2101 >    1040,    50,    91,    95,    93,    94,    55,   154,   154,     1,
2102 >      59,    60,   194,   154,    63,   219,   154,    66,    67,   223,
2103 >     219,   221,    14,   219,   223,    74,   221,   223,   154,   154,
2104 >     122,   221,    81,    82,   221,    84,    85,    86,    87,    88,
2105 >     219,   209,   131,   220,   133,   134,   135,   136,   220,   209,
2106 >      99,   537,   220,     1,   220,   220,   105,   106,   107,   220,
2107 >     109,   150,   209,   112,   113,   220,   220,   116,   209,    17,
2108 >     220,   209,     1,   220,   220,   211,   220,    91,   127,   220,
2109 >     163,   164,   218,   222,    32,   174,    15,    16,    36,   211,
2110 >      19,   217,   217,   222,   220,   184,   218,   120,   220,   222,
2111 >       1,   222,   151,    95,   222,    40,   155,   222,   122,   158,
2112 >     159,   160,   161,   162,   600,   219,   165,   166,   218,   223,
2113 >     181,   182,   608,   609,   213,   214,   222,    62,   220,    64,
2114 >     122,   220,   219,   219,   222,    36,   223,     1,   222,     3,
2115 >     154,     5,   222,    91,   222,   222,   222,     1,   222,    78,
2116 >      79,    80,   222,    17,    83,    56,   205,   206,   207,   222,
2117 >      61,   210,    91,   212,   222,   222,   114,   216,    32,   104,
2118 >      24,   220,    36,   102,   103,   222,   222,     1,   222,     3,
2119 >     222,     5,   101,   222,   132,     1,   222,   222,   117,   118,
2120 >     222,   222,    56,    17,    58,   222,   222,   222,   222,     1,
2121 >     222,    17,   222,    57,   222,   222,    70,   222,    32,   222,
2122 >     222,   222,    36,     1,   222,   222,    32,   146,   119,   222,
2123 >      36,   222,   141,   142,   143,   144,   145,    91,   222,    17,
2124 >     120,   222,    56,   222,    58,    37,   222,    91,   222,    93,
2125 >      94,   176,   177,   222,    32,   222,    70,   195,    36,    51,
2126 >      52,    53,    54,   222,   222,   119,   222,   222,   187,     1,
2127 >     222,   209,   222,   222,     6,     7,   222,    91,   222,    71,
2128 >      12,   222,   220,   222,   209,    91,   222,   131,    20,   133,
2129 >     134,   135,   136,   147,    26,   222,    28,    29,    30,   222,
2130 >     222,   220,   222,    35,   222,   119,   150,   222,   114,    41,
2131 >      42,   222,    44,    45,    46,   222,   222,   222,    50,   222,
2132 >     174,   222,   222,    55,   222,   222,   132,    59,    60,  1109,
2133 >     174,    63,   222,   147,    66,    67,   114,   219,   222,   222,
2134 >     184,   222,    74,   222,   222,   123,   124,     4,   222,    81,
2135 >      82,   222,    84,    85,    86,    87,    88,   222,   222,   213,
2136 >     174,   222,    13,   222,   222,   222,   220,    99,    25,   213,
2137 >     214,   222,   222,   105,   106,   107,   222,   109,   156,   120,
2138 >     112,   113,    33,    40,   116,   219,     1,   101,   101,   195,
2139 >      47,   163,    43,   101,   101,   127,   101,   101,    49,   213,
2140 >      15,    16,   163,   209,    19,   163,   101,    64,   791,   792,
2141 >     793,   794,   795,   163,    65,   163,   219,   219,   222,   151,
2142 >     219,   222,   222,   155,   222,   222,   158,   159,   160,   161,
2143 >     162,   209,    89,   165,   166,   222,   222,   222,   222,    96,
2144 >     222,    92,    51,     0,     1,   222,   222,     4,   222,   100,
2145 >     120,   108,   222,   222,   222,   222,   222,    14,   222,   222,
2146 >      17,    18,   222,    78,    79,    80,    23,   222,    83,   126,
2147 >     222,   128,   129,   205,   206,   207,    91,    34,   210,    51,
2148 >     212,    38,    39,   222,   216,   222,   222,   102,   103,   140,
2149 >     163,    48,   222,   222,   219,   222,   222,   101,   163,   163,
2150 >     101,   120,   117,   118,   163,    62,   157,    51,   163,   101,
2151 >     101,   101,   120,   163,   163,    72,    73,   163,   163,   101,
2152 >     177,   101,   101,   101,   120,   101,   101,   163,   163,   186,
2153 >     222,   146,   163,    90,   191,   222,   163,   163,   163,   163,
2154 >     197,   163,   163,   120,   201,   163,   203,   104,   219,   163,
2155 >     163,   208,   163,   219,   222,   222,   163,   219,   215,   222,
2156 >     169,   170,   171,   172,   173,    64,   175,   176,   222,   178,
2157 >     179,   180,   187,   221,   183,    64,   185,   186,   222,   188,
2158 >     222,   190,   139,   192,   193,   222,   120,   196,   222,   222,
2159 >     222,   148,   149,   202,   222,   152,   153,   169,   170,   171,
2160 >     172,   173,   222,   175,   176,   120,   178,   179,   180,   219,
2161 >     222,   183,   163,   185,   186,   163,   188,   219,   190,   219,
2162 >     192,   193,   219,   222,   196,   169,   170,   171,   172,   173,
2163 >     202,   175,   176,   222,   178,   179,   180,   222,   222,   183,
2164 >     139,   185,   186,   120,   188,   163,   190,   204,   192,   193,
2165 >     139,   222,   196,   222,     1,   222,   222,   163,   202,   219,
2166 >     120,   163,   120,   120,   120,   120,   120,   120,   120,   168,
2167 >     120,   101,   120,   120,    21,    22,   219,   219,   177,   168,
2168 >      27,   222,   222,   219,   183,   222,   120,   219,   177,   219,
2169 >     219,   219,   219,   219,   183,   219,   219,   219,   197,   219,
2170 >     199,   200,   219,   219,   101,   219,   219,   219,   197,   208,
2171 >     199,   200,   219,   101,   219,   219,   215,   101,   101,   208,
2172 >     101,    68,    69,   101,   120,   101,   215,   101,    75,    76,
2173 >      77,   101,   219,   120,   120,   163,   222,   101,   120,   219,
2174 >     120,   120,   223,   120,   219,   120,   219,   120,   120,   120,
2175 >      97,    98,   120,   120,   120,   222,   219,   219,   219,   120,
2176 >     219,   120,   101,   110,   111,   120,   120,   120,   219,   120,
2177 >     219,   120,   163,   219,   121,   219,   219,   219,   219,   219,
2178 >     219,   219,   219,   130,   219,   120,   219,   219,   219,   120,
2179 >     219,   101,   219,   219,   219,   219,   219,   219,   219,   219,
2180 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2181 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2182 >     219,   219,   120,   163,   219,   219,   219,   219,   120,   120,
2183 >     219,   120,   222,   120,   120,   120,   120,   222,   120,   120,
2184 >     120,  1005,  1007,    71,   101,   970,   167,  1246,  1219,   489,
2185 >     219,   125,   513,  1217,   336,  1207,   219,   222,  1104,   219,
2186 >     222,   219,   219,   125,   120,  1203,   222,   219,   562,   219,
2187 >     464,   219,  1221,   219,   219,   219,   219,   219,   219,   570,
2188 >     527,   219,   219,   219,  1197,   219,   219,   219,   366,   219,
2189 >     219,   219,   219,   219,   219,  1223,   219,   112,   222,   219,
2190 >     222,   219,   219,   219,   219,   219,   219,   219,   219,  1205,
2191 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2192 >     219,   479,   219,   219,   219,   219,   219,  1199,   396,   219,
2193 >    1072,   219,  1070,    91,    -1,    -1,   219,   170,    -1,   384,
2194 >     219,   219,   219,   219,   219,    -1,   219,   219,   219,   219,
2195 >     219,   219,   219,   219,   219,   219,   219,    -1,   219,    -1,
2196 >      -1,   219,   222,   222,   219,   219,   219,   219,   219,   219,
2197 >     219,   219,   219,   219,   219,   219,    -1,   219,   219,   222,
2198 >     219,   219,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2199 >      -1,    -1,    -1,    -1,   230,    -1,    -1,    -1,   238,    -1,
2200 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2201 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,   251,    -1,    -1,
2202 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2203 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   275,    -1,
2204 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2205 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2206 >      -1,   296
2207   };
2208  
2209   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2210     symbol of state STATE-NUM.  */
2211   static const yytype_uint16 yystos[] =
2212   {
2213 <       0,   267,     0,     1,     5,    22,    26,    29,    36,    51,
2214 <      64,    65,    67,    74,    91,   101,   103,   120,   137,   172,
2215 <     181,   182,   186,   187,   268,   273,   278,   296,   302,   317,
2216 <     340,   359,   373,   391,   398,   408,   417,   444,   454,   460,
2217 <     464,   474,   538,   554,   575,   261,   262,   263,   263,   341,
2218 <     418,   455,   263,   465,   263,   539,   374,   445,   360,   263,
2219 <     263,   318,   392,   263,   263,   399,   409,     1,    37,    47,
2220 <     121,   297,   298,   299,   300,   301,     1,    13,    34,    35,
2221 <      40,    42,    97,    98,   106,   107,   127,   128,   144,   145,
2222 <     155,   164,   251,   252,   253,   555,   556,   557,   558,   559,
2223 <     560,   561,   562,   563,   564,   565,   566,   567,   568,   569,
2224 <     570,   571,   572,   573,   574,   154,   342,   346,   154,   419,
2225 <     423,   263,     1,    90,   461,   462,   463,   263,     1,     8,
2226 <       9,    12,    19,    28,    32,    33,    39,    43,    44,    46,
2227 <      52,    71,    72,    76,    83,    87,    88,    89,    92,    95,
2228 <      96,   105,   111,   112,   114,   115,   116,   117,   118,   129,
2229 <     138,   140,   141,   143,   146,   147,   150,   161,   183,   185,
2230 <     189,   193,   194,   195,   196,   197,   201,   202,   210,   242,
2231 <     244,   250,   255,   260,   475,   476,   477,   478,   479,   480,
2232 <     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
2233 <     491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
2234 <     501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
2235 <     511,   512,   513,   514,   515,   516,   517,   518,   519,   520,
2236 <     521,   522,   523,   524,   525,   526,   530,   534,   535,   536,
2237 <     537,   263,   263,   263,   263,     1,    56,    57,    58,    59,
2238 <      60,    61,    62,    63,   104,   139,   220,   254,   303,   304,
2239 <     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
2240 <     315,   316,     1,   119,   149,   274,   275,   276,   277,   154,
2241 <     319,   323,   263,     1,    41,    55,    77,    79,    81,    82,
2242 <     100,   576,   577,   578,   579,   580,   581,   582,   583,   584,
2243 <       1,    37,    85,   121,   123,   124,   166,   168,   169,   184,
2244 <     228,   256,   257,   279,   280,   281,   285,   286,   287,   288,
2245 <     289,   290,   291,   292,   293,   294,   295,   263,   263,   261,
2246 <     264,   264,   264,   262,   298,   264,   264,   264,   264,   264,
2247 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2248 <     264,   264,   264,   262,   556,   263,   263,     1,    90,   156,
2249 <     456,   457,   458,   459,   264,   262,   462,     1,   121,   156,
2250 <     188,   466,   470,   471,   472,   473,   264,   264,   264,   264,
2251 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2252 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2253 <     264,   264,   264,   264,   264,   264,   264,   264,   531,   264,
2254 <     527,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2255 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2256 <     264,   262,   476,     1,     4,    45,    48,   103,   121,   249,
2257 <     540,   541,   542,   543,   544,   548,   549,   550,     1,    26,
2258 <      49,    54,   148,   157,   158,   191,   249,   375,   376,   377,
2259 <     378,   379,   380,   381,   388,   389,   390,     1,   156,   188,
2260 <     249,   446,   450,   451,   452,   453,     1,    54,    84,    90,
2261 <     153,   361,   365,   366,   367,   371,   372,   261,   264,   264,
2262 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2263 <     262,   304,   261,   264,   264,   262,   275,   263,     1,    22,
2264 <     125,   156,   393,   394,   395,   396,   397,   264,   264,   264,
2265 <     264,   264,   264,   264,   262,   577,   261,   264,   264,   264,
2266 <     264,   264,   264,   264,   282,   264,   264,   264,   264,   262,
2267 <     280,     1,   121,   188,   249,   400,   401,   402,   403,   404,
2268 <       1,   121,   188,   410,   411,   412,   413,   154,   154,   154,
2269 <     261,   198,   132,   132,   198,   198,   132,   270,   270,   132,
2270 <     132,   198,   198,   132,   270,   198,   198,   198,   198,   198,
2271 <     261,     1,    23,    24,    30,   108,   109,   110,   113,   121,
2272 <     134,   135,   151,   152,   179,   343,   344,   345,   347,   348,
2273 <     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
2274 <       1,     3,     6,    25,    26,    49,    53,    54,    84,    86,
2275 <      99,   121,   153,   167,   180,   256,   420,   421,   422,   424,
2276 <     425,   426,   427,   428,   429,   430,   431,   438,   439,   440,
2277 <     441,   442,   443,   264,   264,   262,   457,   154,   261,   264,
2278 <     264,   467,   262,   471,   198,   270,   198,   270,   132,   154,
2279 <     132,   198,   198,   132,   154,   198,   132,   132,   132,   198,
2280 <     270,   198,   198,   270,   154,   198,   132,   132,   270,   132,
2281 <     132,   154,   132,   132,   198,   198,   264,   198,   264,   270,
2282 <     270,   198,   270,   154,   198,   198,   198,   198,   199,   198,
2283 <     199,   198,   198,   270,   270,   132,   272,   270,   198,   198,
2284 <     198,   198,   261,   551,   264,   264,   545,   264,   264,   262,
2285 <     541,   261,   264,   264,   382,   264,   264,   264,   264,   264,
2286 <     262,   376,   264,   447,   264,   262,   451,   261,   362,   264,
2287 <     264,   264,   262,   366,   154,   154,   154,   154,   154,   154,
2288 <     154,   154,   221,   222,   223,   224,   225,   226,   227,   154,
2289 <     154,   198,   261,   154,   154,   261,     1,    26,    49,    54,
2290 <     121,   148,   167,   237,   249,   320,   321,   322,   324,   325,
2291 <     326,   327,   328,   329,   333,   261,   264,   264,   264,   262,
2292 <     394,   198,   198,   198,   154,   198,   198,   270,   261,   154,
2293 <     198,   154,   154,   154,   154,   154,   264,   154,   132,   154,
2294 <     154,   261,   261,   264,   405,   264,   262,   401,   261,   264,
2295 <     414,   262,   411,   261,   261,   261,   261,   261,   261,   261,
2296 <     261,   174,   175,   176,   177,   178,   269,   270,   261,   261,
2297 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2298 <     261,   261,   264,   264,   264,   264,   264,   264,   264,   264,
2299 <     264,   264,   264,   264,   264,   262,   344,   261,   264,   264,
2300 <     264,   264,   264,   264,   432,   264,   264,   264,   264,   264,
2301 <     264,   264,   264,   262,   421,   154,   154,   261,   261,   154,
2302 <     154,   264,   261,   261,   261,   261,   261,   261,   261,   261,
2303 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2304 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2305 <     261,   261,   261,   261,   261,   205,   206,   207,   208,   209,
2306 <     211,   212,   214,   215,   216,   219,   229,   230,   231,   233,
2307 <     234,   235,   238,   241,   532,   533,   261,   205,   206,   207,
2308 <     208,   209,   211,   212,   214,   215,   216,   219,   229,   230,
2309 <     231,   233,   234,   235,   238,   241,   528,   529,   261,   261,
2310 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2311 <     261,   261,   261,   261,    14,    15,    16,   271,   272,   261,
2312 <     261,   261,   261,   261,   261,   264,   270,   198,   264,   154,
2313 <     154,   261,   154,   198,   264,   154,   132,   154,   154,   154,
2314 <     261,   154,   264,   154,   261,   264,   154,   154,   132,   369,
2315 <     370,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2316 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2317 <     261,   261,   261,   264,   264,   334,   264,   264,   264,   330,
2318 <     264,   262,   321,   154,   154,   154,   261,   261,   261,   261,
2319 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2320 <     261,   170,   171,   283,   284,   261,   261,   261,   261,   154,
2321 <     264,   154,   261,   154,   264,   261,   269,   269,   269,   269,
2322 <     269,   132,   132,   270,   132,   132,   132,   132,   154,   132,
2323 <     132,   270,   270,   272,   261,   154,   217,   218,   154,   154,
2324 <     198,   154,   264,   154,   154,   154,   154,   132,   154,   154,
2325 <     154,   261,   261,   261,   261,   261,   159,   468,   469,   261,
2326 <     265,   261,   265,   271,   271,   271,    11,   200,   552,   553,
2327 <     261,   261,    11,   200,   546,   547,   261,   261,   261,   261,
2328 <     131,   383,   384,   386,   261,   261,   261,   261,   261,   261,
2329 <     159,   448,   449,   261,    77,   232,   236,   363,   364,   261,
2330 <     261,   203,   265,   368,   154,   198,   264,   154,   154,   154,
2331 <     264,   154,   261,   261,   261,   261,   261,   265,   261,    93,
2332 <     172,   204,   219,   239,   240,   245,   246,   247,   248,   258,
2333 <     406,   407,   261,   261,    93,   172,   204,   219,   239,   240,
2334 <     245,   246,   247,   248,   258,   415,   416,   261,   261,   261,
2335 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2336 <     261,   261,   261,   261,   261,   261,   261,   131,   433,   434,
2337 <     436,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2512 <     265,   533,   529,   261,   265,   261,   265,   385,   261,   265,
2513 <      20,    21,    50,    68,    75,    94,   122,   130,   173,   192,
2514 <     387,   261,   265,   261,   265,   132,   370,   261,   261,   261,
2515 <     131,   335,   336,   338,   261,   261,   261,   205,   206,   207,
2516 <     208,   209,   211,   212,   214,   215,   216,   219,   229,   230,
2517 <     231,   233,   234,   235,   238,   241,   331,   332,   261,   284,
2518 <     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
2213 >       0,   225,     0,     1,     4,    14,    17,    18,    23,    34,
2214 >      38,    39,    48,    62,    72,    73,    90,   104,   139,   148,
2215 >     149,   152,   153,   204,   226,   231,   236,   258,   264,   278,
2216 >     296,   314,   328,   343,   350,   354,   364,   373,   393,   403,
2217 >     409,   413,   423,   485,   502,   219,   220,   221,   221,   297,
2218 >     374,   404,   221,   414,   221,   329,   394,   315,   221,   221,
2219 >     279,   344,   221,   221,   355,   365,   221,     1,    24,    31,
2220 >      91,   259,   260,   261,   262,   263,     1,    21,    22,    27,
2221 >      68,    69,    75,    76,    77,    97,    98,   110,   111,   121,
2222 >     130,   486,   487,   488,   489,   490,   491,   492,   493,   494,
2223 >     495,   496,   497,   498,   499,   500,   501,   221,   221,   221,
2224 >       1,    61,   410,   411,   412,   221,     1,     6,     7,    12,
2225 >      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
2226 >      46,    50,    55,    59,    60,    63,    66,    67,    74,    81,
2227 >      82,    84,    85,    86,    87,    88,    99,   105,   106,   107,
2228 >     109,   112,   113,   116,   127,   151,   155,   158,   159,   160,
2229 >     161,   162,   165,   166,   205,   206,   207,   210,   212,   216,
2230 >     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
2231 >     434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
2232 >     444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
2233 >     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
2234 >     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
2235 >     474,   478,   482,   483,   484,   221,   221,   221,     1,   211,
2236 >     265,   266,   267,   268,   269,     1,    89,   115,   232,   233,
2237 >     234,   235,   221,   221,     1,    37,    51,    52,    53,    54,
2238 >      71,   503,   504,   505,   506,   507,   508,   509,   510,     1,
2239 >      24,    57,    91,    93,    94,   131,   133,   134,   135,   136,
2240 >     150,   174,   184,   213,   214,   237,   238,   239,   240,   245,
2241 >     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
2242 >     256,   257,   221,   221,     1,    91,   351,   352,   353,   219,
2243 >     222,   222,   222,   220,   260,   222,   222,   222,   222,   222,
2244 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   220,
2245 >     487,     1,    15,    16,    19,    78,    79,    80,    83,    91,
2246 >     102,   103,   117,   118,   146,   187,   298,   299,   300,   301,
2247 >     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
2248 >     312,   313,     1,     3,     5,    17,    32,    36,    56,    58,
2249 >      70,    91,   119,   147,   174,   213,   375,   376,   377,   378,
2250 >     379,   380,   381,   382,   383,   384,   388,   389,   390,   391,
2251 >     392,     1,    61,   122,   405,   406,   407,   408,   222,   220,
2252 >     411,     1,    91,   122,   154,   415,   419,   420,   421,   422,
2253 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2254 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2255 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2256 >     222,   479,   222,   475,   222,   222,   222,   222,   222,   222,
2257 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2258 >     222,   222,   222,   220,   425,     1,    17,    32,    36,   114,
2259 >     123,   124,   156,   209,   330,   331,   332,   333,   334,   335,
2260 >     336,   340,   341,   342,     1,   122,   154,   209,   395,   399,
2261 >     400,   401,   402,     1,    36,    56,    61,   119,   316,   320,
2262 >     321,   322,   326,   327,   219,   222,   220,   266,   218,   219,
2263 >     222,   222,   220,   233,     1,    17,    32,    36,    91,   114,
2264 >     132,   195,   209,   280,   281,   282,   283,   284,   285,   286,
2265 >     287,   288,   292,     1,    14,    95,   122,   345,   346,   347,
2266 >     348,   349,   222,   222,   222,   222,   222,   222,   220,   504,
2267 >     219,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2268 >     222,   222,   222,   222,   222,   222,   220,   238,     1,    91,
2269 >     154,   209,   356,   357,   358,   359,   360,     1,    91,   154,
2270 >     366,   367,   368,   369,   222,   220,   352,   120,   120,   120,
2271 >     219,   101,   101,   163,   101,   228,   228,   101,   101,   101,
2272 >     163,   163,   101,   228,   163,   163,   219,   219,   222,   222,
2273 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2274 >     222,   222,   220,   299,   219,   222,   222,   222,   222,   385,
2275 >     222,   222,   222,   222,   222,   222,   222,   222,   220,   376,
2276 >     222,   222,   220,   406,   120,   219,   222,   222,   416,   220,
2277 >     420,   163,   228,   228,   101,   163,   163,   101,   120,   163,
2278 >     228,   163,   228,   101,   101,   101,   163,   163,   163,   228,
2279 >     120,   163,   101,   101,   228,   101,   101,   120,   101,   101,
2280 >     163,   163,   222,   163,   222,   228,   228,   163,   228,   163,
2281 >     163,   163,   163,   164,   163,   164,   163,   163,   228,   228,
2282 >     120,   228,   163,   163,   163,   163,   219,   219,   222,   222,
2283 >     337,   222,   222,   222,   222,   222,   220,   331,   222,   396,
2284 >     222,   220,   400,   219,   317,   222,   222,   222,   220,   321,
2285 >     163,   219,   221,   120,   120,   219,   219,   222,   222,   293,
2286 >     222,   222,   222,   289,   222,   220,   281,   219,   222,   222,
2287 >     222,   220,   346,   163,   163,   120,   163,   163,   228,   219,
2288 >     120,   163,   120,   120,   120,   120,   120,   120,   137,   138,
2289 >     241,   242,   137,   138,   243,   244,   120,   120,   101,   120,
2290 >     120,   219,   219,   222,   361,   222,   220,   357,   219,   222,
2291 >     370,   220,   367,   120,   219,   219,   219,   219,   219,   219,
2292 >     219,   141,   142,   143,   144,   145,   227,   228,   219,   219,
2293 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   101,
2294 >     101,   228,   101,   101,   101,   101,   120,   101,   101,   228,
2295 >     228,   101,   230,   230,   219,   120,   181,   182,   120,   163,
2296 >     222,   120,   120,   120,   120,   101,   120,   120,   120,   219,
2297 >     120,   120,   219,   219,   120,   120,   222,   219,   219,   219,
2298 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2299 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2300 >     219,   219,   219,   219,   219,   219,   219,   219,   219,    51,
2301 >     169,   170,   171,   172,   173,   175,   176,   178,   179,   180,
2302 >     183,   185,   186,   188,   190,   192,   193,   196,   202,   480,
2303 >     481,   219,    51,   169,   170,   171,   172,   173,   175,   176,
2304 >     178,   179,   180,   183,   185,   186,   188,   190,   192,   193,
2305 >     196,   202,   476,   477,   219,   219,   219,   219,   219,   219,
2306 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2307 >     219,   219,   219,   219,   219,   120,   163,   222,   120,   101,
2308 >     120,   120,   120,   219,   120,   222,   120,   219,   222,   120,
2309 >     120,   101,   324,   325,   219,   219,     1,    91,   154,   217,
2310 >     270,   271,   272,   273,   274,   219,   219,   120,   163,   222,
2311 >     120,   120,   120,   222,   120,   219,   120,   120,   120,   219,
2312 >     219,   219,   219,   219,   219,   219,   219,   219,   219,   219,
2313 >     219,   219,   219,   219,   219,   223,   219,   223,   219,   219,
2314 >     219,   219,   219,   120,   222,   120,   219,   120,   222,   219,
2315 >     219,   227,   227,   227,   227,   227,   219,   219,   219,   219,
2316 >     219,   219,   219,   219,   219,   219,   219,   219,     9,    10,
2317 >      11,   229,   230,   219,   219,   219,   219,   219,   219,   219,
2318 >       8,   194,   386,   387,   219,   219,   219,   219,   219,   219,
2319 >     219,   219,   219,   219,   219,   219,   125,   417,   418,   219,
2320 >     223,   219,   223,   219,   219,    13,    33,    43,    49,    65,
2321 >      92,   100,   140,   157,   338,   339,   219,   219,   219,   219,
2322 >     219,   219,   125,   397,   398,   219,    51,   189,   194,   318,
2323 >     319,   219,   219,   167,   223,   323,   219,   222,   275,   222,
2324 >     220,   271,   219,   219,     4,    25,    40,    47,    64,    89,
2325 >      96,   108,   126,   128,   129,   177,   186,   191,   197,   201,
2326 >     203,   208,   215,   294,   295,   219,   219,   219,    51,   169,
2327 >     170,   171,   172,   173,   175,   176,   178,   179,   180,   183,
2328 >     185,   186,   188,   190,   192,   193,   196,   202,   290,   291,
2329 >     219,   219,   219,   219,   242,   244,   219,    64,   139,   168,
2330 >     177,   183,   197,   199,   200,   208,   215,   362,   363,   219,
2331 >     219,    64,   139,   168,   177,   183,   197,   199,   200,   208,
2332 >     215,   371,   372,   229,   229,   229,   219,   223,   219,   223,
2333 >     481,   477,   219,   223,   219,   223,   219,   223,   101,   325,
2334 >     219,   120,   222,   198,   230,   219,   219,   223,   219,   223,
2335 >     219,   223,   219,   223,   387,   418,   339,   398,   319,   219,
2336 >      40,    62,    64,   104,   176,   177,   209,   276,   277,   219,
2337 >     219,   295,   291,   363,   372,   219,   223,   277
2338   };
2339  
2340   #define yyerrok         (yyerrstatus = 0)
# Line 2549 | Line 2364 | static const yytype_uint16 yystos[] =
2364  
2365   #define YYRECOVERING()  (!!yyerrstatus)
2366  
2367 < #define YYBACKUP(Token, Value)                                  \
2368 < do                                                              \
2369 <  if (yychar == YYEMPTY && yylen == 1)                          \
2370 <    {                                                           \
2371 <      yychar = (Token);                                         \
2372 <      yylval = (Value);                                         \
2373 <      yytoken = YYTRANSLATE (yychar);                           \
2374 <      YYPOPSTACK (1);                                           \
2375 <      goto yybackup;                                            \
2376 <    }                                                           \
2377 <  else                                                          \
2378 <    {                                                           \
2367 > #define YYBACKUP(Token, Value)                                  \
2368 > do                                                              \
2369 >  if (yychar == YYEMPTY)                                        \
2370 >    {                                                           \
2371 >      yychar = (Token);                                         \
2372 >      yylval = (Value);                                         \
2373 >      YYPOPSTACK (yylen);                                       \
2374 >      yystate = *yyssp;                                         \
2375 >      goto yybackup;                                            \
2376 >    }                                                           \
2377 >  else                                                          \
2378 >    {                                                           \
2379        yyerror (YY_("syntax error: cannot back up")); \
2380        YYERROR;                                                  \
2381      }                                                           \
# Line 2570 | Line 2385 | while (YYID (0))
2385   #define YYTERROR        1
2386   #define YYERRCODE       256
2387  
2573
2388   /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2389     If N is 0, then set CURRENT to the empty location which ends
2390     the previous symbol: RHS[0] (always defined).  */
2391  
2578 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2392   #ifndef YYLLOC_DEFAULT
2393 < # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2394 <    do                                                                  \
2395 <      if (YYID (N))                                                    \
2396 <        {                                                               \
2397 <          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2398 <          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2399 <          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2400 <          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2401 <        }                                                               \
2402 <      else                                                              \
2403 <        {                                                               \
2404 <          (Current).first_line   = (Current).last_line   =              \
2405 <            YYRHSLOC (Rhs, 0).last_line;                                \
2406 <          (Current).first_column = (Current).last_column =              \
2407 <            YYRHSLOC (Rhs, 0).last_column;                              \
2408 <        }                                                               \
2393 > # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2394 >    do                                                                  \
2395 >      if (YYID (N))                                                     \
2396 >        {                                                               \
2397 >          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2398 >          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2399 >          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2400 >          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2401 >        }                                                               \
2402 >      else                                                              \
2403 >        {                                                               \
2404 >          (Current).first_line   = (Current).last_line   =              \
2405 >            YYRHSLOC (Rhs, 0).last_line;                                \
2406 >          (Current).first_column = (Current).last_column =              \
2407 >            YYRHSLOC (Rhs, 0).last_column;                              \
2408 >        }                                                               \
2409      while (YYID (0))
2410   #endif
2411  
2412 + #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2413 +
2414 +
2415  
2416 < /* 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.  */
2416 > /* This macro is provided for backward compatibility. */
2417  
2418   #ifndef YY_LOCATION_PRINT
2419 < # 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
2419 > # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2420   #endif
2421  
2422  
# Line 2664 | Line 2471 | yy_symbol_value_print (yyoutput, yytype,
2471      YYSTYPE const * const yyvaluep;
2472   #endif
2473   {
2474 +  FILE *yyo = yyoutput;
2475 +  YYUSE (yyo);
2476    if (!yyvaluep)
2477      return;
2478   # ifdef YYPRINT
# Line 2801 | Line 2610 | int yydebug;
2610   # define YYMAXDEPTH 10000
2611   #endif
2612  
2804
2613  
2614   #if YYERROR_VERBOSE
2615  
# Line 2904 | Line 2712 | yytnamerr (char *yyres, const char *yyst
2712   }
2713   # endif
2714  
2715 < /* Copy into YYRESULT an error message about the unexpected token
2716 <   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2717 <   including the terminating null byte.  If YYRESULT is null, do not
2718 <   copy anything; just return the number of bytes that would be
2719 <   copied.  As a special case, return 0 if an ordinary "syntax error"
2720 <   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2721 <   size calculation.  */
2722 < static YYSIZE_T
2723 < yysyntax_error (char *yyresult, int yystate, int yychar)
2715 > /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
2716 >   about the unexpected token YYTOKEN for the state stack whose top is
2717 >   YYSSP.
2718 >
2719 >   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
2720 >   not large enough to hold the message.  In that case, also set
2721 >   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
2722 >   required number of bytes is too large to store.  */
2723 > static int
2724 > yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2725 >                yytype_int16 *yyssp, int yytoken)
2726   {
2727 <  int yyn = yypact[yystate];
2727 >  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2728 >  YYSIZE_T yysize = yysize0;
2729 >  YYSIZE_T yysize1;
2730 >  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2731 >  /* Internationalized format string. */
2732 >  const char *yyformat = YY_NULL;
2733 >  /* Arguments of yyformat. */
2734 >  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2735 >  /* Number of reported tokens (one for the "unexpected", one per
2736 >     "expected"). */
2737 >  int yycount = 0;
2738 >
2739 >  /* There are many possibilities here to consider:
2740 >     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2741 >       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2742 >       for details.  YYERROR is fine as it does not invoke this
2743 >       function.
2744 >     - If this state is a consistent state with a default action, then
2745 >       the only way this function was invoked is if the default action
2746 >       is an error action.  In that case, don't check for expected
2747 >       tokens because there are none.
2748 >     - The only way there can be no lookahead present (in yychar) is if
2749 >       this state is a consistent state with a default action.  Thus,
2750 >       detecting the absence of a lookahead is sufficient to determine
2751 >       that there is no unexpected or expected token to report.  In that
2752 >       case, just report a simple "syntax error".
2753 >     - Don't assume there isn't a lookahead just because this state is a
2754 >       consistent state with a default action.  There might have been a
2755 >       previous inconsistent state, consistent state with a non-default
2756 >       action, or user semantic action that manipulated yychar.
2757 >     - Of course, the expected token list depends on states to have
2758 >       correct lookahead information, and it depends on the parser not
2759 >       to perform extra reductions after fetching a lookahead from the
2760 >       scanner and before detecting a syntax error.  Thus, state merging
2761 >       (from LALR or IELR) and default reductions corrupt the expected
2762 >       token list.  However, the list is correct for canonical LR with
2763 >       one exception: it will still contain any token that will not be
2764 >       accepted due to an error action in a later state.
2765 >  */
2766 >  if (yytoken != YYEMPTY)
2767 >    {
2768 >      int yyn = yypact[*yyssp];
2769 >      yyarg[yycount++] = yytname[yytoken];
2770 >      if (!yypact_value_is_default (yyn))
2771 >        {
2772 >          /* Start YYX at -YYN if negative to avoid negative indexes in
2773 >             YYCHECK.  In other words, skip the first -YYN actions for
2774 >             this state because they are default actions.  */
2775 >          int yyxbegin = yyn < 0 ? -yyn : 0;
2776 >          /* Stay within bounds of both yycheck and yytname.  */
2777 >          int yychecklim = YYLAST - yyn + 1;
2778 >          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2779 >          int yyx;
2780 >
2781 >          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2782 >            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
2783 >                && !yytable_value_is_error (yytable[yyx + yyn]))
2784 >              {
2785 >                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2786 >                  {
2787 >                    yycount = 1;
2788 >                    yysize = yysize0;
2789 >                    break;
2790 >                  }
2791 >                yyarg[yycount++] = yytname[yyx];
2792 >                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2793 >                if (! (yysize <= yysize1
2794 >                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2795 >                  return 2;
2796 >                yysize = yysize1;
2797 >              }
2798 >        }
2799 >    }
2800  
2801 <  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2920 <    return 0;
2921 <  else
2801 >  switch (yycount)
2802      {
2803 <      int yytype = YYTRANSLATE (yychar);
2804 <      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2805 <      YYSIZE_T yysize = yysize0;
2806 <      YYSIZE_T yysize1;
2807 <      int yysize_overflow = 0;
2808 <      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2809 <      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2810 <      int yyx;
2811 <
2812 < # if 0
2813 <      /* This is so xgettext sees the translatable formats that are
2814 <         constructed on the fly.  */
2815 <      YY_("syntax error, unexpected %s");
2816 <      YY_("syntax error, unexpected %s, expecting %s");
2817 <      YY_("syntax error, unexpected %s, expecting %s or %s");
2818 <      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2819 <      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2820 < # endif
2821 <      char *yyfmt;
2822 <      char const *yyf;
2823 <      static char const yyunexpected[] = "syntax error, unexpected %s";
2824 <      static char const yyexpecting[] = ", expecting %s";
2825 <      static char const yyor[] = " or %s";
2826 <      char yyformat[sizeof yyunexpected
2827 <                    + sizeof yyexpecting - 1
2828 <                    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2829 <                       * (sizeof yyor - 1))];
2830 <      char const *yyprefix = yyexpecting;
2831 <
2832 <      /* Start YYX at -YYN if negative to avoid negative indexes in
2833 <         YYCHECK.  */
2834 <      int yyxbegin = yyn < 0 ? -yyn : 0;
2835 <
2836 <      /* Stay within bounds of both yycheck and yytname.  */
2837 <      int yychecklim = YYLAST - yyn + 1;
2838 <      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2839 <      int yycount = 1;
2840 <
2841 <      yyarg[0] = yytname[yytype];
2842 <      yyfmt = yystpcpy (yyformat, yyunexpected);
2843 <
2844 <      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2845 <        if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2846 <          {
2847 <            if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2848 <              {
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 <    }
2803 > # define YYCASE_(N, S)                      \
2804 >      case N:                               \
2805 >        yyformat = S;                       \
2806 >      break
2807 >      YYCASE_(0, YY_("syntax error"));
2808 >      YYCASE_(1, YY_("syntax error, unexpected %s"));
2809 >      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
2810 >      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
2811 >      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
2812 >      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2813 > # undef YYCASE_
2814 >    }
2815 >
2816 >  yysize1 = yysize + yystrlen (yyformat);
2817 >  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2818 >    return 2;
2819 >  yysize = yysize1;
2820 >
2821 >  if (*yymsg_alloc < yysize)
2822 >    {
2823 >      *yymsg_alloc = 2 * yysize;
2824 >      if (! (yysize <= *yymsg_alloc
2825 >             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
2826 >        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
2827 >      return 1;
2828 >    }
2829 >
2830 >  /* Avoid sprintf, as that infringes on the user's name space.
2831 >     Don't have undefined behavior even if the translation
2832 >     produced a string with the wrong number of "%s"s.  */
2833 >  {
2834 >    char *yyp = *yymsg;
2835 >    int yyi = 0;
2836 >    while ((*yyp = *yyformat) != '\0')
2837 >      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
2838 >        {
2839 >          yyp += yytnamerr (yyp, yyarg[yyi++]);
2840 >          yyformat += 2;
2841 >        }
2842 >      else
2843 >        {
2844 >          yyp++;
2845 >          yyformat++;
2846 >        }
2847 >  }
2848 >  return 0;
2849   }
2850   #endif /* YYERROR_VERBOSE */
3015
2851  
2852   /*-----------------------------------------------.
2853   | Release the memory associated to this symbol.  |
# Line 3045 | Line 2880 | yydestruct (yymsg, yytype, yyvaluep)
2880      }
2881   }
2882  
2883 < /* Prevent warnings from -Wmissing-prototypes.  */
3049 < #ifdef YYPARSE_PARAM
3050 < #if defined __STDC__ || defined __cplusplus
3051 < int yyparse (void *YYPARSE_PARAM);
3052 < #else
3053 < int yyparse ();
3054 < #endif
3055 < #else /* ! YYPARSE_PARAM */
3056 < #if defined __STDC__ || defined __cplusplus
3057 < int yyparse (void);
3058 < #else
3059 < int yyparse ();
3060 < #endif
3061 < #endif /* ! YYPARSE_PARAM */
2883 >
2884  
2885  
2886   /* The lookahead symbol.  */
# Line 3071 | Line 2893 | YYSTYPE yylval;
2893   int yynerrs;
2894  
2895  
2896 <
2897 < /*-------------------------.
2898 < | yyparse or yypush_parse.  |
3077 < `-------------------------*/
2896 > /*----------.
2897 > | yyparse.  |
2898 > `----------*/
2899  
2900   #ifdef YYPARSE_PARAM
2901   #if (defined __STDC__ || defined __C99__FUNC__ \
# Line 3098 | Line 2919 | yyparse ()
2919   #endif
2920   #endif
2921   {
3101
3102
2922      int yystate;
2923      /* Number of tokens to shift before error messages enabled.  */
2924      int yyerrstatus;
# Line 3108 | Line 2927 | yyparse ()
2927         `yyss': related to states.
2928         `yyvs': related to semantic values.
2929  
2930 <       Refer to the stacks thru separate pointers, to allow yyoverflow
2930 >       Refer to the stacks through separate pointers, to allow yyoverflow
2931         to reallocate them elsewhere.  */
2932  
2933      /* The state stack.  */
# Line 3162 | Line 2981 | yyparse ()
2981       The wasted elements are never initialized.  */
2982    yyssp = yyss;
2983    yyvsp = yyvs;
3165
2984    goto yysetstate;
2985  
2986   /*------------------------------------------------------------.
# Line 3254 | Line 3072 | yybackup:
3072  
3073    /* First try to decide what to do without reference to lookahead token.  */
3074    yyn = yypact[yystate];
3075 <  if (yyn == YYPACT_NINF)
3075 >  if (yypact_value_is_default (yyn))
3076      goto yydefault;
3077  
3078    /* Not known => get a lookahead token if don't already have one.  */
# Line 3285 | Line 3103 | yybackup:
3103    yyn = yytable[yyn];
3104    if (yyn <= 0)
3105      {
3106 <      if (yyn == 0 || yyn == YYTABLE_NINF)
3107 <        goto yyerrlab;
3106 >      if (yytable_value_is_error (yyn))
3107 >        goto yyerrlab;
3108        yyn = -yyn;
3109        goto yyreduce;
3110      }
# Line 3340 | Line 3158 | yyreduce:
3158    switch (yyn)
3159      {
3160          case 26:
3161 <
3162 < /* Line 1464 of yacc.c  */
3345 < #line 425 "ircd_parser.y"
3161 > /* Line 1787 of yacc.c  */
3162 > #line 363 "conf_parser.y"
3163      { (yyval.number) = 0; }
3164      break;
3165  
3166    case 28:
3167 <
3168 < /* Line 1464 of yacc.c  */
3352 < #line 427 "ircd_parser.y"
3167 > /* Line 1787 of yacc.c  */
3168 > #line 365 "conf_parser.y"
3169      {
3170                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3171                  }
3172      break;
3173  
3174    case 29:
3175 <
3176 < /* Line 1464 of yacc.c  */
3361 < #line 431 "ircd_parser.y"
3175 > /* Line 1787 of yacc.c  */
3176 > #line 369 "conf_parser.y"
3177      {
3178                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3179                  }
3180      break;
3181  
3182    case 30:
3183 <
3184 < /* Line 1464 of yacc.c  */
3370 < #line 435 "ircd_parser.y"
3183 > /* Line 1787 of yacc.c  */
3184 > #line 373 "conf_parser.y"
3185      {
3186                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3187                  }
3188      break;
3189  
3190    case 31:
3191 <
3192 < /* Line 1464 of yacc.c  */
3379 < #line 439 "ircd_parser.y"
3191 > /* Line 1787 of yacc.c  */
3192 > #line 377 "conf_parser.y"
3193      {
3194                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3195                  }
3196      break;
3197  
3198    case 32:
3199 <
3200 < /* Line 1464 of yacc.c  */
3388 < #line 443 "ircd_parser.y"
3199 > /* Line 1787 of yacc.c  */
3200 > #line 381 "conf_parser.y"
3201      {
3202                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3203                  }
3204      break;
3205  
3206    case 33:
3207 <
3208 < /* Line 1464 of yacc.c  */
3397 < #line 447 "ircd_parser.y"
3207 > /* Line 1787 of yacc.c  */
3208 > #line 385 "conf_parser.y"
3209      {
3210                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3211                  }
3212      break;
3213  
3214    case 34:
3215 <
3216 < /* Line 1464 of yacc.c  */
3406 < #line 452 "ircd_parser.y"
3215 > /* Line 1787 of yacc.c  */
3216 > #line 390 "conf_parser.y"
3217      { (yyval.number) = 0; }
3218      break;
3219  
3220    case 36:
3221 <
3222 < /* Line 1464 of yacc.c  */
3413 < #line 453 "ircd_parser.y"
3221 > /* Line 1787 of yacc.c  */
3222 > #line 391 "conf_parser.y"
3223      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3224      break;
3225  
3226    case 37:
3227 <
3228 < /* Line 1464 of yacc.c  */
3420 < #line 454 "ircd_parser.y"
3227 > /* Line 1787 of yacc.c  */
3228 > #line 392 "conf_parser.y"
3229      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3230      break;
3231  
3232    case 38:
3233 <
3234 < /* Line 1464 of yacc.c  */
3427 < #line 455 "ircd_parser.y"
3233 > /* Line 1787 of yacc.c  */
3234 > #line 393 "conf_parser.y"
3235      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3236      break;
3237  
3238    case 39:
3239 <
3240 < /* Line 1464 of yacc.c  */
3434 < #line 456 "ircd_parser.y"
3239 > /* Line 1787 of yacc.c  */
3240 > #line 394 "conf_parser.y"
3241      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3242      break;
3243  
3244    case 46:
3245 <
3246 < /* Line 1464 of yacc.c  */
3441 < #line 470 "ircd_parser.y"
3245 > /* Line 1787 of yacc.c  */
3246 > #line 408 "conf_parser.y"
3247      {
3443 #ifndef STATIC_MODULES /* NOOP in the static case */
3248    if (conf_parser_ctx.pass == 2)
3249      add_conf_module(libio_basename(yylval.string));
3446 #endif
3250   }
3251      break;
3252  
3253    case 47:
3254 <
3255 < /* Line 1464 of yacc.c  */
3453 < #line 478 "ircd_parser.y"
3254 > /* Line 1787 of yacc.c  */
3255 > #line 414 "conf_parser.y"
3256      {
3455 #ifndef STATIC_MODULES
3257    if (conf_parser_ctx.pass == 2)
3258      mod_add_path(yylval.string);
3458 #endif
3259   }
3260      break;
3261  
3262 <  case 64:
3263 <
3264 < /* Line 1464 of yacc.c  */
3465 < #line 500 "ircd_parser.y"
3262 >  case 71:
3263 > /* Line 1787 of yacc.c  */
3264 > #line 439 "conf_parser.y"
3265      {
3266   #ifdef HAVE_LIBCRYPTO
3267 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3268 <    ServerInfo.tls_version = 0;
3267 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3268 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3269   #endif
3270   }
3271      break;
3272  
3273 <  case 65:
3274 <
3275 < /* Line 1464 of yacc.c  */
3477 < #line 506 "ircd_parser.y"
3273 >  case 72:
3274 > /* Line 1787 of yacc.c  */
3275 > #line 445 "conf_parser.y"
3276      {
3277   #ifdef HAVE_LIBCRYPTO
3278 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3279 <  {
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 <  }
3278 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3279 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3280   #endif
3281   }
3282      break;
3283  
3284 <  case 68:
3285 <
3286 < /* Line 1464 of yacc.c  */
3494 < #line 520 "ircd_parser.y"
3284 >  case 75:
3285 > /* Line 1787 of yacc.c  */
3286 > #line 454 "conf_parser.y"
3287      {
3288   #ifdef HAVE_LIBCRYPTO
3289 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3290 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_SSLV3;
3289 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3290 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3291   #endif
3292   }
3293      break;
3294  
3295 <  case 69:
3296 <
3297 < /* Line 1464 of yacc.c  */
3506 < #line 526 "ircd_parser.y"
3295 >  case 76:
3296 > /* Line 1787 of yacc.c  */
3297 > #line 460 "conf_parser.y"
3298      {
3299   #ifdef HAVE_LIBCRYPTO
3300 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3301 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_TLSV1;
3300 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3301 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3302   #endif
3303   }
3304      break;
3305  
3306 <  case 70:
3307 <
3308 < /* Line 1464 of yacc.c  */
3518 < #line 534 "ircd_parser.y"
3306 >  case 77:
3307 > /* Line 1787 of yacc.c  */
3308 > #line 468 "conf_parser.y"
3309      {
3310   #ifdef HAVE_LIBCRYPTO
3311    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3527 | Line 3317 | yyreduce:
3317      }
3318  
3319      if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3320 +                                     SSL_FILETYPE_PEM) <= 0 ||
3321 +        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3322                                       SSL_FILETYPE_PEM) <= 0)
3323      {
3324        yyerror(ERR_lib_error_string(ERR_get_error()));
# Line 3534 | Line 3326 | yyreduce:
3326      }
3327  
3328      if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3329 +                                    SSL_FILETYPE_PEM) <= 0 ||
3330 +        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3331                                      SSL_FILETYPE_PEM) <= 0)
3332      {
3333        yyerror(ERR_lib_error_string(ERR_get_error()));
3334        break;
3335      }
3336  
3337 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx))
3337 >    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3338 >        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3339      {
3340        yyerror(ERR_lib_error_string(ERR_get_error()));
3341        break;
# Line 3550 | Line 3345 | yyreduce:
3345   }
3346      break;
3347  
3348 <  case 71:
3349 <
3350 < /* Line 1464 of yacc.c  */
3556 < #line 568 "ircd_parser.y"
3348 >  case 78:
3349 > /* Line 1787 of yacc.c  */
3350 > #line 507 "conf_parser.y"
3351      {
3352   #ifdef HAVE_LIBCRYPTO
3353    if (conf_parser_ctx.pass == 1)
# Line 3580 | Line 3374 | yyreduce:
3374        break;
3375      }
3376  
3377 <    ServerInfo.rsa_private_key = (RSA *)PEM_read_bio_RSAPrivateKey(file, NULL,
3584 <      0, NULL);
3377 >    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3378  
3379      BIO_set_close(file, BIO_CLOSE);
3380      BIO_free(file);
# Line 3614 | Line 3407 | yyreduce:
3407   }
3408      break;
3409  
3410 <  case 72:
3410 >  case 79:
3411 > /* Line 1787 of yacc.c  */
3412 > #line 566 "conf_parser.y"
3413 >    {
3414 > /* TBD - XXX: error reporting */
3415 > #ifdef HAVE_LIBCRYPTO
3416 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3417 >  {
3418 >    BIO *file = BIO_new_file(yylval.string, "r");
3419 >
3420 >    if (file)
3421 >    {
3422 >      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3423 >
3424 >      BIO_free(file);
3425 >
3426 >      if (dh)
3427 >      {
3428 >        if (DH_size(dh) < 128)
3429 >          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3430 >        else
3431 >          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3432 >
3433 >        DH_free(dh);
3434 >      }
3435 >    }
3436 >  }
3437 > #endif
3438 > }
3439 >    break;
3440  
3441 < /* Line 1464 of yacc.c  */
3442 < #line 628 "ircd_parser.y"
3441 >  case 80:
3442 > /* Line 1787 of yacc.c  */
3443 > #line 594 "conf_parser.y"
3444 >    {
3445 > #ifdef HAVE_LIBCRYPTO
3446 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3447 >    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3448 > #endif
3449 > }
3450 >    break;
3451 >
3452 >  case 81:
3453 > /* Line 1787 of yacc.c  */
3454 > #line 602 "conf_parser.y"
3455      {
3456    /* this isn't rehashable */
3457 <  if (conf_parser_ctx.pass == 2)
3457 >  if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
3458    {
3459 <    if (ServerInfo.name == NULL)
3459 >    if (valid_servname(yylval.string))
3460 >      DupString(ServerInfo.name, yylval.string);
3461 >    else
3462      {
3463 <      /* the ircd will exit() in main() if we dont set one */
3464 <      if (strlen(yylval.string) <= HOSTLEN)
3629 <        DupString(ServerInfo.name, yylval.string);
3463 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
3464 >      exit(0);
3465      }
3466    }
3467   }
3468      break;
3469  
3470 <  case 73:
3471 <
3472 < /* Line 1464 of yacc.c  */
3638 < #line 642 "ircd_parser.y"
3470 >  case 82:
3471 > /* Line 1787 of yacc.c  */
3472 > #line 617 "conf_parser.y"
3473      {
3474    /* this isn't rehashable */
3475    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3644 | Line 3478 | yyreduce:
3478        DupString(ServerInfo.sid, yylval.string);
3479      else
3480      {
3481 <      ilog(L_ERROR, "Ignoring config file entry SID -- invalid SID. Aborting.");
3481 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3482        exit(0);
3483      }
3484    }
3485   }
3486      break;
3487  
3488 <  case 74:
3489 <
3490 < /* Line 1464 of yacc.c  */
3657 < #line 657 "ircd_parser.y"
3488 >  case 83:
3489 > /* Line 1787 of yacc.c  */
3490 > #line 632 "conf_parser.y"
3491      {
3492    if (conf_parser_ctx.pass == 2)
3493    {
# Line 3664 | Line 3497 | yyreduce:
3497   }
3498      break;
3499  
3500 <  case 75:
3501 <
3502 < /* Line 1464 of yacc.c  */
3670 < #line 666 "ircd_parser.y"
3500 >  case 84:
3501 > /* Line 1787 of yacc.c  */
3502 > #line 641 "conf_parser.y"
3503      {
3504    if (conf_parser_ctx.pass == 2)
3505    {
# Line 3682 | Line 3514 | yyreduce:
3514   }
3515      break;
3516  
3517 <  case 76:
3518 <
3519 < /* Line 1464 of yacc.c  */
3688 < #line 680 "ircd_parser.y"
3517 >  case 85:
3518 > /* Line 1787 of yacc.c  */
3519 > #line 655 "conf_parser.y"
3520      {
3521    if (conf_parser_ctx.pass == 2)
3522    {
# Line 3695 | Line 3526 | yyreduce:
3526   }
3527      break;
3528  
3529 <  case 77:
3530 <
3531 < /* Line 1464 of yacc.c  */
3701 < #line 689 "ircd_parser.y"
3529 >  case 86:
3530 > /* Line 1787 of yacc.c  */
3531 > #line 664 "conf_parser.y"
3532      {
3533    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3534    {
# Line 3710 | Line 3540 | yyreduce:
3540      hints.ai_socktype = SOCK_STREAM;
3541      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3542  
3543 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
3544 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
3543 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
3544 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3545      else
3546      {
3547        assert(res != NULL);
# Line 3719 | Line 3549 | yyreduce:
3549        memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3550        ServerInfo.ip.ss.ss_family = res->ai_family;
3551        ServerInfo.ip.ss_len = res->ai_addrlen;
3552 <      irc_freeaddrinfo(res);
3552 >      freeaddrinfo(res);
3553  
3554        ServerInfo.specific_ipv4_vhost = 1;
3555      }
# Line 3727 | Line 3557 | yyreduce:
3557   }
3558      break;
3559  
3560 <  case 78:
3561 <
3562 < /* Line 1464 of yacc.c  */
3733 < #line 717 "ircd_parser.y"
3560 >  case 87:
3561 > /* Line 1787 of yacc.c  */
3562 > #line 692 "conf_parser.y"
3563      {
3564   #ifdef IPV6
3565    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3743 | Line 3572 | yyreduce:
3572      hints.ai_socktype = SOCK_STREAM;
3573      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3574  
3575 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
3576 <      ilog(L_ERROR, "Invalid netmask for server vhost6(%s)", yylval.string);
3575 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
3576 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3577      else
3578      {
3579        assert(res != NULL);
# Line 3752 | Line 3581 | yyreduce:
3581        memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3582        ServerInfo.ip6.ss.ss_family = res->ai_family;
3583        ServerInfo.ip6.ss_len = res->ai_addrlen;
3584 <      irc_freeaddrinfo(res);
3584 >      freeaddrinfo(res);
3585  
3586        ServerInfo.specific_ipv6_vhost = 1;
3587      }
# Line 3761 | Line 3590 | yyreduce:
3590   }
3591      break;
3592  
3593 <  case 79:
3594 <
3595 < /* Line 1464 of yacc.c  */
3767 < #line 747 "ircd_parser.y"
3593 >  case 88:
3594 > /* Line 1787 of yacc.c  */
3595 > #line 722 "conf_parser.y"
3596      {
3597    if (conf_parser_ctx.pass == 2)
3598    {
# Line 3788 | Line 3616 | yyreduce:
3616   }
3617      break;
3618  
3619 <  case 80:
3620 <
3621 < /* Line 1464 of yacc.c  */
3794 < #line 770 "ircd_parser.y"
3619 >  case 89:
3620 > /* Line 1787 of yacc.c  */
3621 > #line 745 "conf_parser.y"
3622      {
3623    if (conf_parser_ctx.pass == 2)
3624 <  {
3798 <    if (yylval.number)
3799 <    {
3800 <      ServerInfo.hub = 1;
3801 <      delete_capability("HUB");
3802 <      add_capability("HUB", CAP_HUB, 1);
3803 <    }
3804 <    else if (ServerInfo.hub)
3805 <    {
3806 <
3807 <      ServerInfo.hub = 0;
3808 <      delete_capability("HUB");
3809 <    }
3810 <  }
3624 >    ServerInfo.hub = yylval.number;
3625   }
3626      break;
3627  
3628 <  case 88:
3629 <
3630 < /* Line 1464 of yacc.c  */
3817 < #line 798 "ircd_parser.y"
3628 >  case 97:
3629 > /* Line 1787 of yacc.c  */
3630 > #line 760 "conf_parser.y"
3631      {
3632    if (conf_parser_ctx.pass == 2)
3633    {
# Line 3824 | Line 3637 | yyreduce:
3637   }
3638      break;
3639  
3640 <  case 89:
3641 <
3642 < /* Line 1464 of yacc.c  */
3830 < #line 807 "ircd_parser.y"
3640 >  case 98:
3641 > /* Line 1787 of yacc.c  */
3642 > #line 769 "conf_parser.y"
3643      {
3644    if (conf_parser_ctx.pass == 2)
3645    {
# Line 3837 | Line 3649 | yyreduce:
3649   }
3650      break;
3651  
3652 <  case 90:
3653 <
3654 < /* Line 1464 of yacc.c  */
3843 < #line 816 "ircd_parser.y"
3652 >  case 99:
3653 > /* Line 1787 of yacc.c  */
3654 > #line 778 "conf_parser.y"
3655      {
3656    if (conf_parser_ctx.pass == 2)
3657    {
# Line 3850 | Line 3661 | yyreduce:
3661   }
3662      break;
3663  
3664 <  case 107:
3665 <
3666 < /* Line 1464 of yacc.c  */
3856 < #line 843 "ircd_parser.y"
3857 <    {
3858 <                        }
3859 <    break;
3860 <
3861 <  case 108:
3862 <
3863 < /* Line 1464 of yacc.c  */
3864 < #line 847 "ircd_parser.y"
3865 <    {
3866 <                        }
3867 <    break;
3868 <
3869 <  case 109:
3870 <
3871 < /* Line 1464 of yacc.c  */
3872 < #line 851 "ircd_parser.y"
3664 >  case 106:
3665 > /* Line 1787 of yacc.c  */
3666 > #line 796 "conf_parser.y"
3667      {
3668    if (conf_parser_ctx.pass == 2)
3669 <    strlcpy(ConfigLoggingEntry.userlog, yylval.string,
3876 <            sizeof(ConfigLoggingEntry.userlog));
3877 < }
3878 <    break;
3879 <
3880 <  case 110:
3881 <
3882 < /* Line 1464 of yacc.c  */
3883 < #line 858 "ircd_parser.y"
3884 <    {
3885 <  if (conf_parser_ctx.pass == 2)
3886 <    strlcpy(ConfigLoggingEntry.failed_operlog, yylval.string,
3887 <            sizeof(ConfigLoggingEntry.failed_operlog));
3669 >    ConfigLoggingEntry.use_logging = yylval.number;
3670   }
3671      break;
3672  
3673 <  case 111:
3674 <
3675 < /* Line 1464 of yacc.c  */
3894 < #line 865 "ircd_parser.y"
3673 >  case 107:
3674 > /* Line 1787 of yacc.c  */
3675 > #line 802 "conf_parser.y"
3676      {
3677 <  if (conf_parser_ctx.pass == 2)
3678 <    strlcpy(ConfigLoggingEntry.operlog, yylval.string,
3679 <            sizeof(ConfigLoggingEntry.operlog));
3677 >  lfile[0] = '\0';
3678 >  ltype = 0;
3679 >  lsize = 0;
3680   }
3681      break;
3682  
3683 <  case 112:
3684 <
3685 < /* Line 1464 of yacc.c  */
3905 < #line 872 "ircd_parser.y"
3683 >  case 108:
3684 > /* Line 1787 of yacc.c  */
3685 > #line 807 "conf_parser.y"
3686      {
3687 <  if (conf_parser_ctx.pass == 2)
3688 <    strlcpy(ConfigLoggingEntry.operspylog, yylval.string,
3909 <            sizeof(ConfigLoggingEntry.operspylog));
3687 >  if (conf_parser_ctx.pass == 2 && ltype > 0)
3688 >    log_add_file(ltype, lsize, lfile);
3689   }
3690      break;
3691  
3692 <  case 113:
3693 <
3694 < /* Line 1464 of yacc.c  */
3916 < #line 879 "ircd_parser.y"
3692 >  case 115:
3693 > /* Line 1787 of yacc.c  */
3694 > #line 819 "conf_parser.y"
3695      {
3696 <  if (conf_parser_ctx.pass == 2)
3919 <    strlcpy(ConfigLoggingEntry.glinelog, yylval.string,
3920 <            sizeof(ConfigLoggingEntry.glinelog));
3696 >  strlcpy(lfile, yylval.string, sizeof(lfile));
3697   }
3698      break;
3699  
3700 <  case 114:
3701 <
3702 < /* Line 1464 of yacc.c  */
3927 < #line 886 "ircd_parser.y"
3700 >  case 116:
3701 > /* Line 1787 of yacc.c  */
3702 > #line 824 "conf_parser.y"
3703      {
3704 <  if (conf_parser_ctx.pass == 2)
3930 <    strlcpy(ConfigLoggingEntry.klinelog, yylval.string,
3931 <            sizeof(ConfigLoggingEntry.klinelog));
3704 >  lsize = (yyvsp[(3) - (4)].number);
3705   }
3706      break;
3707  
3708 <  case 115:
3709 <
3710 < /* Line 1464 of yacc.c  */
3938 < #line 893 "ircd_parser.y"
3708 >  case 117:
3709 > /* Line 1787 of yacc.c  */
3710 > #line 827 "conf_parser.y"
3711      {
3712 <  if (conf_parser_ctx.pass == 2)
3941 <    strlcpy(ConfigLoggingEntry.ioerrlog, yylval.string,
3942 <            sizeof(ConfigLoggingEntry.ioerrlog));
3712 >  lsize = 0;
3713   }
3714      break;
3715  
3716 <  case 116:
3717 <
3718 < /* Line 1464 of yacc.c  */
3949 < #line 900 "ircd_parser.y"
3716 >  case 118:
3717 > /* Line 1787 of yacc.c  */
3718 > #line 832 "conf_parser.y"
3719      {
3720    if (conf_parser_ctx.pass == 2)
3721 <    strlcpy(ConfigLoggingEntry.killlog, yylval.string,
3953 <            sizeof(ConfigLoggingEntry.killlog));
3954 < }
3955 <    break;
3956 <
3957 <  case 117:
3958 <
3959 < /* Line 1464 of yacc.c  */
3960 < #line 907 "ircd_parser.y"
3961 <    {
3962 <  if (conf_parser_ctx.pass == 2)
3963 <    set_log_level(L_CRIT);
3721 >    ltype = 0;
3722   }
3723      break;
3724  
3725 <  case 118:
3726 <
3727 < /* Line 1464 of yacc.c  */
3970 < #line 911 "ircd_parser.y"
3725 >  case 122:
3726 > /* Line 1787 of yacc.c  */
3727 > #line 839 "conf_parser.y"
3728      {
3729    if (conf_parser_ctx.pass == 2)
3730 <    set_log_level(L_ERROR);
3730 >    ltype = LOG_TYPE_USER;
3731   }
3732      break;
3733  
3734 <  case 119:
3735 <
3736 < /* Line 1464 of yacc.c  */
3980 < #line 915 "ircd_parser.y"
3734 >  case 123:
3735 > /* Line 1787 of yacc.c  */
3736 > #line 843 "conf_parser.y"
3737      {
3738    if (conf_parser_ctx.pass == 2)
3739 <    set_log_level(L_WARN);
3739 >    ltype = LOG_TYPE_OPER;
3740   }
3741      break;
3742  
3743 <  case 120:
3744 <
3745 < /* Line 1464 of yacc.c  */
3990 < #line 919 "ircd_parser.y"
3743 >  case 124:
3744 > /* Line 1787 of yacc.c  */
3745 > #line 847 "conf_parser.y"
3746      {
3747    if (conf_parser_ctx.pass == 2)
3748 <    set_log_level(L_NOTICE);
3748 >    ltype = LOG_TYPE_GLINE;
3749   }
3750      break;
3751  
3752 <  case 121:
3753 <
3754 < /* Line 1464 of yacc.c  */
4000 < #line 923 "ircd_parser.y"
3752 >  case 125:
3753 > /* Line 1787 of yacc.c  */
3754 > #line 851 "conf_parser.y"
3755      {
3756    if (conf_parser_ctx.pass == 2)
3757 <    set_log_level(L_TRACE);
3757 >    ltype = LOG_TYPE_DLINE;
3758   }
3759      break;
3760  
3761 <  case 122:
3762 <
3763 < /* Line 1464 of yacc.c  */
4010 < #line 927 "ircd_parser.y"
3761 >  case 126:
3762 > /* Line 1787 of yacc.c  */
3763 > #line 855 "conf_parser.y"
3764      {
3765    if (conf_parser_ctx.pass == 2)
3766 <    set_log_level(L_INFO);
3766 >    ltype = LOG_TYPE_KLINE;
3767   }
3768      break;
3769  
3770 <  case 123:
3771 <
3772 < /* Line 1464 of yacc.c  */
4020 < #line 931 "ircd_parser.y"
3770 >  case 127:
3771 > /* Line 1787 of yacc.c  */
3772 > #line 859 "conf_parser.y"
3773      {
3774    if (conf_parser_ctx.pass == 2)
3775 <    set_log_level(L_DEBUG);
3775 >    ltype = LOG_TYPE_KILL;
3776   }
3777      break;
3778  
3779 <  case 124:
3780 <
3781 < /* Line 1464 of yacc.c  */
4030 < #line 937 "ircd_parser.y"
3779 >  case 128:
3780 > /* Line 1787 of yacc.c  */
3781 > #line 863 "conf_parser.y"
3782      {
3783    if (conf_parser_ctx.pass == 2)
3784 <    ConfigLoggingEntry.use_logging = yylval.number;
3784 >    ltype = LOG_TYPE_DEBUG;
3785   }
3786      break;
3787  
3788 <  case 125:
3789 <
3790 < /* Line 1464 of yacc.c  */
4040 < #line 946 "ircd_parser.y"
3788 >  case 129:
3789 > /* Line 1787 of yacc.c  */
3790 > #line 873 "conf_parser.y"
3791      {
3792    if (conf_parser_ctx.pass == 2)
3793    {
# Line 4053 | Line 3803 | yyreduce:
3803   }
3804      break;
3805  
3806 <  case 126:
3807 <
3808 < /* Line 1464 of yacc.c  */
4059 < #line 959 "ircd_parser.y"
3806 >  case 130:
3807 > /* Line 1787 of yacc.c  */
3808 > #line 886 "conf_parser.y"
3809      {
3810    if (conf_parser_ctx.pass == 2)
3811    {
# Line 4091 | Line 3840 | yyreduce:
3840          DupString(new_aconf->host, yy_tmp->host);
3841        else
3842          DupString(new_aconf->host, "*");
3843 +
3844 +      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->addr,
3845 +                                     &new_aconf->bits);
3846 +
3847        conf_add_class_to_conf(new_conf, class_name);
3848        if (yy_aconf->passwd != NULL)
3849          DupString(new_aconf->passwd, yy_aconf->passwd);
# Line 4138 | Line 3891 | yyreduce:
3891   }
3892      break;
3893  
3894 <  case 140:
3895 <
3896 < /* Line 1464 of yacc.c  */
4144 < #line 1046 "ircd_parser.y"
4145 <    {
4146 <  if (conf_parser_ctx.pass == 2)
4147 <  {
4148 <    if (strlen(yylval.string) > OPERNICKLEN)
4149 <      yylval.string[OPERNICKLEN] = '\0';
4150 <
4151 <    MyFree(yy_conf->name);
4152 <    DupString(yy_conf->name, yylval.string);
4153 <  }
4154 < }
4155 <    break;
4156 <
4157 <  case 141:
4158 <
4159 < /* Line 1464 of yacc.c  */
4160 < #line 1058 "ircd_parser.y"
3894 >  case 142:
3895 > /* Line 1787 of yacc.c  */
3896 > #line 976 "conf_parser.y"
3897      {
3898    if (conf_parser_ctx.pass == 2)
3899    {
4164    if (strlen(yylval.string) > OPERNICKLEN)
4165      yylval.string[OPERNICKLEN] = '\0';
4166
3900      MyFree(yy_conf->name);
3901      DupString(yy_conf->name, yylval.string);
3902    }
3903   }
3904      break;
3905  
3906 <  case 142:
3907 <
3908 < /* Line 1464 of yacc.c  */
4176 < #line 1070 "ircd_parser.y"
3906 >  case 143:
3907 > /* Line 1787 of yacc.c  */
3908 > #line 985 "conf_parser.y"
3909      {
3910    if (conf_parser_ctx.pass == 2)
3911    {
# Line 4194 | Line 3926 | yyreduce:
3926      {
3927        DupString(yy_aconf->user, userbuf);
3928        DupString(yy_aconf->host, hostbuf);
3929 +
3930 +      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->addr,
3931 +                                    &yy_aconf->bits);
3932      }
3933      else
3934      {
# Line 4208 | Line 3943 | yyreduce:
3943   }
3944      break;
3945  
3946 <  case 143:
3947 <
3948 < /* Line 1464 of yacc.c  */
4214 < #line 1104 "ircd_parser.y"
3946 >  case 144:
3947 > /* Line 1787 of yacc.c  */
3948 > #line 1022 "conf_parser.y"
3949      {
3950    if (conf_parser_ctx.pass == 2)
3951    {
# Line 4224 | Line 3958 | yyreduce:
3958   }
3959      break;
3960  
3961 <  case 144:
3962 <
3963 < /* Line 1464 of yacc.c  */
4230 < #line 1116 "ircd_parser.y"
3961 >  case 145:
3962 > /* Line 1787 of yacc.c  */
3963 > #line 1034 "conf_parser.y"
3964      {
3965    if (conf_parser_ctx.pass == 2)
3966    {
# Line 4239 | Line 3972 | yyreduce:
3972   }
3973      break;
3974  
3975 <  case 145:
3976 <
3977 < /* Line 1464 of yacc.c  */
4245 < #line 1127 "ircd_parser.y"
3975 >  case 146:
3976 > /* Line 1787 of yacc.c  */
3977 > #line 1045 "conf_parser.y"
3978      {
3979   #ifdef HAVE_LIBCRYPTO
3980    if (conf_parser_ctx.pass == 2)
# Line 4285 | Line 4017 | yyreduce:
4017   }
4018      break;
4019  
4020 <  case 146:
4021 <
4022 < /* Line 1464 of yacc.c  */
4291 < #line 1169 "ircd_parser.y"
4020 >  case 147:
4021 > /* Line 1787 of yacc.c  */
4022 > #line 1087 "conf_parser.y"
4023      {
4024    if (conf_parser_ctx.pass == 2)
4025    {
# Line 4298 | Line 4029 | yyreduce:
4029   }
4030      break;
4031  
4032 <  case 147:
4033 <
4034 < /* Line 1464 of yacc.c  */
4304 < #line 1178 "ircd_parser.y"
4032 >  case 148:
4033 > /* Line 1787 of yacc.c  */
4034 > #line 1096 "conf_parser.y"
4035      {
4036    if (conf_parser_ctx.pass == 2)
4037      yy_aconf->modes = 0;
4038   }
4039      break;
4040  
4041 <  case 151:
4042 <
4043 < /* Line 1464 of yacc.c  */
4314 < #line 1185 "ircd_parser.y"
4041 >  case 152:
4042 > /* Line 1787 of yacc.c  */
4043 > #line 1103 "conf_parser.y"
4044      {
4045    if (conf_parser_ctx.pass == 2)
4046      yy_aconf->modes |= UMODE_BOTS;
4047   }
4048      break;
4049  
4050 <  case 152:
4051 <
4052 < /* Line 1464 of yacc.c  */
4324 < #line 1189 "ircd_parser.y"
4050 >  case 153:
4051 > /* Line 1787 of yacc.c  */
4052 > #line 1107 "conf_parser.y"
4053      {
4054    if (conf_parser_ctx.pass == 2)
4055      yy_aconf->modes |= UMODE_CCONN;
4056   }
4057      break;
4058  
4059 <  case 153:
4060 <
4061 < /* Line 1464 of yacc.c  */
4334 < #line 1193 "ircd_parser.y"
4059 >  case 154:
4060 > /* Line 1787 of yacc.c  */
4061 > #line 1111 "conf_parser.y"
4062      {
4063    if (conf_parser_ctx.pass == 2)
4064      yy_aconf->modes |= UMODE_CCONN_FULL;
4065   }
4066      break;
4067  
4068 <  case 154:
4069 <
4070 < /* Line 1464 of yacc.c  */
4344 < #line 1197 "ircd_parser.y"
4068 >  case 155:
4069 > /* Line 1787 of yacc.c  */
4070 > #line 1115 "conf_parser.y"
4071      {
4072    if (conf_parser_ctx.pass == 2)
4073      yy_aconf->modes |= UMODE_DEAF;
4074   }
4075      break;
4076  
4077 <  case 155:
4078 <
4079 < /* Line 1464 of yacc.c  */
4354 < #line 1201 "ircd_parser.y"
4077 >  case 156:
4078 > /* Line 1787 of yacc.c  */
4079 > #line 1119 "conf_parser.y"
4080      {
4081    if (conf_parser_ctx.pass == 2)
4082      yy_aconf->modes |= UMODE_DEBUG;
4083   }
4084      break;
4085  
4086 <  case 156:
4087 <
4088 < /* Line 1464 of yacc.c  */
4364 < #line 1205 "ircd_parser.y"
4086 >  case 157:
4087 > /* Line 1787 of yacc.c  */
4088 > #line 1123 "conf_parser.y"
4089      {
4090    if (conf_parser_ctx.pass == 2)
4091      yy_aconf->modes |= UMODE_FULL;
4092   }
4093      break;
4094  
4095 <  case 157:
4095 >  case 158:
4096 > /* Line 1787 of yacc.c  */
4097 > #line 1127 "conf_parser.y"
4098 >    {
4099 >  if (conf_parser_ctx.pass == 2)
4100 >    yy_aconf->modes |= UMODE_HIDDEN;
4101 > }
4102 >    break;
4103  
4104 < /* Line 1464 of yacc.c  */
4105 < #line 1209 "ircd_parser.y"
4104 >  case 159:
4105 > /* Line 1787 of yacc.c  */
4106 > #line 1131 "conf_parser.y"
4107      {
4108    if (conf_parser_ctx.pass == 2)
4109      yy_aconf->modes |= UMODE_SKILL;
4110   }
4111      break;
4112  
4113 <  case 158:
4114 <
4115 < /* Line 1464 of yacc.c  */
4384 < #line 1213 "ircd_parser.y"
4113 >  case 160:
4114 > /* Line 1787 of yacc.c  */
4115 > #line 1135 "conf_parser.y"
4116      {
4117    if (conf_parser_ctx.pass == 2)
4118      yy_aconf->modes |= UMODE_NCHANGE;
4119   }
4120      break;
4121  
4122 <  case 159:
4123 <
4124 < /* Line 1464 of yacc.c  */
4394 < #line 1217 "ircd_parser.y"
4122 >  case 161:
4123 > /* Line 1787 of yacc.c  */
4124 > #line 1139 "conf_parser.y"
4125      {
4126    if (conf_parser_ctx.pass == 2)
4127      yy_aconf->modes |= UMODE_REJ;
4128   }
4129      break;
4130  
4131 <  case 160:
4132 <
4133 < /* Line 1464 of yacc.c  */
4404 < #line 1221 "ircd_parser.y"
4131 >  case 162:
4132 > /* Line 1787 of yacc.c  */
4133 > #line 1143 "conf_parser.y"
4134      {
4135    if (conf_parser_ctx.pass == 2)
4136      yy_aconf->modes |= UMODE_UNAUTH;
4137   }
4138      break;
4139  
4140 <  case 161:
4141 <
4142 < /* Line 1464 of yacc.c  */
4414 < #line 1225 "ircd_parser.y"
4140 >  case 163:
4141 > /* Line 1787 of yacc.c  */
4142 > #line 1147 "conf_parser.y"
4143      {
4144    if (conf_parser_ctx.pass == 2)
4145      yy_aconf->modes |= UMODE_SPY;
4146   }
4147      break;
4148  
4149 <  case 162:
4150 <
4151 < /* Line 1464 of yacc.c  */
4424 < #line 1229 "ircd_parser.y"
4149 >  case 164:
4150 > /* Line 1787 of yacc.c  */
4151 > #line 1151 "conf_parser.y"
4152      {
4153    if (conf_parser_ctx.pass == 2)
4154      yy_aconf->modes |= UMODE_EXTERNAL;
4155   }
4156      break;
4157  
4158 <  case 163:
4159 <
4160 < /* Line 1464 of yacc.c  */
4434 < #line 1233 "ircd_parser.y"
4158 >  case 165:
4159 > /* Line 1787 of yacc.c  */
4160 > #line 1155 "conf_parser.y"
4161      {
4162    if (conf_parser_ctx.pass == 2)
4163      yy_aconf->modes |= UMODE_OPERWALL;
4164   }
4165      break;
4166  
4167 <  case 164:
4168 <
4169 < /* Line 1464 of yacc.c  */
4444 < #line 1237 "ircd_parser.y"
4167 >  case 166:
4168 > /* Line 1787 of yacc.c  */
4169 > #line 1159 "conf_parser.y"
4170      {
4171    if (conf_parser_ctx.pass == 2)
4172      yy_aconf->modes |= UMODE_SERVNOTICE;
4173   }
4174      break;
4175  
4176 <  case 165:
4177 <
4178 < /* Line 1464 of yacc.c  */
4454 < #line 1241 "ircd_parser.y"
4176 >  case 167:
4177 > /* Line 1787 of yacc.c  */
4178 > #line 1163 "conf_parser.y"
4179      {
4180    if (conf_parser_ctx.pass == 2)
4181      yy_aconf->modes |= UMODE_INVISIBLE;
4182   }
4183      break;
4184  
4185 <  case 166:
4186 <
4187 < /* Line 1464 of yacc.c  */
4464 < #line 1245 "ircd_parser.y"
4185 >  case 168:
4186 > /* Line 1787 of yacc.c  */
4187 > #line 1167 "conf_parser.y"
4188      {
4189    if (conf_parser_ctx.pass == 2)
4190      yy_aconf->modes |= UMODE_WALLOP;
4191   }
4192      break;
4193  
4194 <  case 167:
4195 <
4196 < /* Line 1464 of yacc.c  */
4474 < #line 1249 "ircd_parser.y"
4194 >  case 169:
4195 > /* Line 1787 of yacc.c  */
4196 > #line 1171 "conf_parser.y"
4197      {
4198    if (conf_parser_ctx.pass == 2)
4199      yy_aconf->modes |= UMODE_SOFTCALLERID;
4200   }
4201      break;
4202  
4203 <  case 168:
4204 <
4205 < /* Line 1464 of yacc.c  */
4484 < #line 1253 "ircd_parser.y"
4203 >  case 170:
4204 > /* Line 1787 of yacc.c  */
4205 > #line 1175 "conf_parser.y"
4206      {
4207    if (conf_parser_ctx.pass == 2)
4208      yy_aconf->modes |= UMODE_CALLERID;
4209   }
4210      break;
4211  
4212 <  case 169:
4213 <
4214 < /* Line 1464 of yacc.c  */
4494 < #line 1257 "ircd_parser.y"
4212 >  case 171:
4213 > /* Line 1787 of yacc.c  */
4214 > #line 1179 "conf_parser.y"
4215      {
4216    if (conf_parser_ctx.pass == 2)
4217      yy_aconf->modes |= UMODE_LOCOPS;
4218   }
4219      break;
4220  
4221 <  case 170:
4222 <
4223 < /* Line 1464 of yacc.c  */
4504 < #line 1263 "ircd_parser.y"
4221 >  case 172:
4222 > /* Line 1787 of yacc.c  */
4223 > #line 1185 "conf_parser.y"
4224      {
4225 +  if (conf_parser_ctx.pass == 2)
4226 +    yy_aconf->port = 0;
4227   }
4228      break;
4229  
4509  case 174:
4510
4511 /* Line 1464 of yacc.c  */
4512 #line 1267 "ircd_parser.y"
4513    { not_atom = 1; }
4514    break;
4515
4230    case 176:
4231 + /* Line 1787 of yacc.c  */
4232 + #line 1192 "conf_parser.y"
4233 +    {
4234 +  if (conf_parser_ctx.pass == 2)
4235 +    yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4236 + }
4237 +    break;
4238  
4239 < /* Line 1464 of yacc.c  */
4240 < #line 1268 "ircd_parser.y"
4241 <    { not_atom = 0; }
4239 >  case 177:
4240 > /* Line 1787 of yacc.c  */
4241 > #line 1196 "conf_parser.y"
4242 >    {
4243 >  if (conf_parser_ctx.pass == 2)
4244 >    yy_aconf->port |= OPER_FLAG_REMOTE;
4245 > }
4246      break;
4247  
4248    case 178:
4249 <
4250 < /* Line 1464 of yacc.c  */
4526 < #line 1271 "ircd_parser.y"
4249 > /* Line 1787 of yacc.c  */
4250 > #line 1200 "conf_parser.y"
4251      {
4252    if (conf_parser_ctx.pass == 2)
4253 <  {
4530 <    if (not_atom)yy_aconf->port &= ~OPER_FLAG_GLOBAL_KILL;
4531 <    else yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4532 <  }
4253 >    yy_aconf->port |= OPER_FLAG_K;
4254   }
4255      break;
4256  
4257    case 179:
4258 <
4259 < /* Line 1464 of yacc.c  */
4539 < #line 1278 "ircd_parser.y"
4258 > /* Line 1787 of yacc.c  */
4259 > #line 1204 "conf_parser.y"
4260      {
4261    if (conf_parser_ctx.pass == 2)
4262 <  {
4543 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTE;
4544 <    else yy_aconf->port |= OPER_FLAG_REMOTE;
4545 <  }
4262 >    yy_aconf->port |= OPER_FLAG_UNKLINE;
4263   }
4264      break;
4265  
4266    case 180:
4267 <
4268 < /* Line 1464 of yacc.c  */
4552 < #line 1285 "ircd_parser.y"
4267 > /* Line 1787 of yacc.c  */
4268 > #line 1208 "conf_parser.y"
4269      {
4270    if (conf_parser_ctx.pass == 2)
4271 <  {
4556 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_K;
4557 <    else yy_aconf->port |= OPER_FLAG_K;
4558 <  }
4271 >    yy_aconf->port |= OPER_FLAG_DLINE;
4272   }
4273      break;
4274  
4275    case 181:
4276 <
4277 < /* Line 1464 of yacc.c  */
4565 < #line 1292 "ircd_parser.y"
4276 > /* Line 1787 of yacc.c  */
4277 > #line 1212 "conf_parser.y"
4278      {
4279    if (conf_parser_ctx.pass == 2)
4280 <  {
4569 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_UNKLINE;
4570 <    else yy_aconf->port |= OPER_FLAG_UNKLINE;
4571 <  }
4280 >    yy_aconf->port |= OPER_FLAG_UNDLINE;
4281   }
4282      break;
4283  
4284    case 182:
4285 <
4286 < /* Line 1464 of yacc.c  */
4578 < #line 1299 "ircd_parser.y"
4285 > /* Line 1787 of yacc.c  */
4286 > #line 1216 "conf_parser.y"
4287      {
4288    if (conf_parser_ctx.pass == 2)
4289 <  {
4582 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_X;
4583 <    else yy_aconf->port |= OPER_FLAG_X;
4584 <  }
4289 >    yy_aconf->port |= OPER_FLAG_X;
4290   }
4291      break;
4292  
4293    case 183:
4294 <
4295 < /* Line 1464 of yacc.c  */
4591 < #line 1306 "ircd_parser.y"
4294 > /* Line 1787 of yacc.c  */
4295 > #line 1220 "conf_parser.y"
4296      {
4297    if (conf_parser_ctx.pass == 2)
4298 <  {
4595 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_GLINE;
4596 <    else yy_aconf->port |= OPER_FLAG_GLINE;
4597 <  }
4298 >    yy_aconf->port |= OPER_FLAG_GLINE;
4299   }
4300      break;
4301  
4302    case 184:
4303 <
4304 < /* Line 1464 of yacc.c  */
4604 < #line 1313 "ircd_parser.y"
4303 > /* Line 1787 of yacc.c  */
4304 > #line 1224 "conf_parser.y"
4305      {
4306    if (conf_parser_ctx.pass == 2)
4307 <  {
4608 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_DIE;
4609 <    else yy_aconf->port |= OPER_FLAG_DIE;
4610 <  }
4307 >    yy_aconf->port |= OPER_FLAG_DIE;
4308   }
4309      break;
4310  
4311    case 185:
4312 <
4313 < /* Line 1464 of yacc.c  */
4617 < #line 1320 "ircd_parser.y"
4312 > /* Line 1787 of yacc.c  */
4313 > #line 1228 "conf_parser.y"
4314      {
4315    if (conf_parser_ctx.pass == 2)
4316 <  {
4621 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REHASH;
4622 <    else yy_aconf->port |= OPER_FLAG_REHASH;
4623 <  }
4316 >    yy_aconf->port |= OPER_FLAG_RESTART;
4317   }
4318      break;
4319  
4320    case 186:
4321 <
4322 < /* Line 1464 of yacc.c  */
4630 < #line 1327 "ircd_parser.y"
4321 > /* Line 1787 of yacc.c  */
4322 > #line 1232 "conf_parser.y"
4323      {
4324    if (conf_parser_ctx.pass == 2)
4325 <  {
4634 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_ADMIN;
4635 <    else yy_aconf->port |= OPER_FLAG_ADMIN;
4636 <  }
4325 >    yy_aconf->port |= OPER_FLAG_REHASH;
4326   }
4327      break;
4328  
4329    case 187:
4330 <
4331 < /* Line 1464 of yacc.c  */
4643 < #line 1334 "ircd_parser.y"
4330 > /* Line 1787 of yacc.c  */
4331 > #line 1236 "conf_parser.y"
4332      {
4333    if (conf_parser_ctx.pass == 2)
4334 <  {
4647 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_ADMIN;
4648 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_ADMIN;
4649 <  }
4334 >    yy_aconf->port |= OPER_FLAG_ADMIN;
4335   }
4336      break;
4337  
4338    case 188:
4339 <
4340 < /* Line 1464 of yacc.c  */
4656 < #line 1341 "ircd_parser.y"
4339 > /* Line 1787 of yacc.c  */
4340 > #line 1240 "conf_parser.y"
4341      {
4342    if (conf_parser_ctx.pass == 2)
4343 <  {
4660 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_N;
4661 <    else yy_aconf->port |= OPER_FLAG_N;
4662 <  }
4343 >    yy_aconf->port |= OPER_FLAG_N;
4344   }
4345      break;
4346  
4347    case 189:
4348 <
4349 < /* Line 1464 of yacc.c  */
4669 < #line 1348 "ircd_parser.y"
4348 > /* Line 1787 of yacc.c  */
4349 > #line 1244 "conf_parser.y"
4350      {
4351    if (conf_parser_ctx.pass == 2)
4352 <  {
4673 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPERWALL;
4674 <    else yy_aconf->port |= OPER_FLAG_OPERWALL;
4675 <  }
4352 >    yy_aconf->port |= OPER_FLAG_OPERWALL;
4353   }
4354      break;
4355  
4356    case 190:
4357 <
4358 < /* Line 1464 of yacc.c  */
4682 < #line 1355 "ircd_parser.y"
4357 > /* Line 1787 of yacc.c  */
4358 > #line 1248 "conf_parser.y"
4359      {
4360    if (conf_parser_ctx.pass == 2)
4361 <  {
4686 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPER_SPY;
4687 <    else yy_aconf->port |= OPER_FLAG_OPER_SPY;
4688 <  }
4361 >    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4362   }
4363      break;
4364  
4365    case 191:
4366 <
4367 < /* Line 1464 of yacc.c  */
4695 < #line 1362 "ircd_parser.y"
4366 > /* Line 1787 of yacc.c  */
4367 > #line 1252 "conf_parser.y"
4368      {
4369    if (conf_parser_ctx.pass == 2)
4370 <  {
4699 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_OPER;
4700 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_OPER;
4701 <  }
4370 >    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4371   }
4372      break;
4373  
4374    case 192:
4375 <
4376 < /* Line 1464 of yacc.c  */
4708 < #line 1369 "ircd_parser.y"
4375 > /* Line 1787 of yacc.c  */
4376 > #line 1256 "conf_parser.y"
4377      {
4378    if (conf_parser_ctx.pass == 2)
4379 <  {
4712 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTEBAN;
4713 <    else yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4714 <  }
4379 >    yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4380   }
4381      break;
4382  
4383    case 193:
4384 <
4385 < /* Line 1464 of yacc.c  */
4721 < #line 1376 "ircd_parser.y"
4384 > /* Line 1787 of yacc.c  */
4385 > #line 1260 "conf_parser.y"
4386      {
4387    if (conf_parser_ctx.pass == 2)
4388 <  {
4725 <    if (not_atom) ClearConfEncrypted(yy_aconf);
4726 <    else SetConfEncrypted(yy_aconf);
4727 <  }
4388 >    yy_aconf->port |= OPER_FLAG_SET;
4389   }
4390      break;
4391  
4392    case 194:
4393 + /* Line 1787 of yacc.c  */
4394 + #line 1264 "conf_parser.y"
4395 +    {
4396 +  if (conf_parser_ctx.pass == 2)
4397 +    yy_aconf->port |= OPER_FLAG_MODULE;
4398 + }
4399 +    break;
4400  
4401 < /* Line 1464 of yacc.c  */
4402 < #line 1389 "ircd_parser.y"
4401 >  case 195:
4402 > /* Line 1787 of yacc.c  */
4403 > #line 1274 "conf_parser.y"
4404      {
4405    if (conf_parser_ctx.pass == 1)
4406    {
# Line 4741 | Line 4410 | yyreduce:
4410   }
4411      break;
4412  
4413 <  case 195:
4414 <
4415 < /* Line 1464 of yacc.c  */
4747 < #line 1396 "ircd_parser.y"
4413 >  case 196:
4414 > /* Line 1787 of yacc.c  */
4415 > #line 1281 "conf_parser.y"
4416      {
4417    if (conf_parser_ctx.pass == 1)
4418    {
# Line 4755 | Line 4423 | yyreduce:
4423        delete_conf_item(yy_conf);
4424      else
4425      {
4426 <      cconf = find_exact_name_conf(CLASS_TYPE, yy_class_name, NULL, NULL);
4426 >      cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL);
4427  
4428        if (cconf != NULL)                /* The class existed already */
4429        {
# Line 4789 | Line 4457 | yyreduce:
4457      break;
4458  
4459    case 214:
4460 <
4461 < /* Line 1464 of yacc.c  */
4794 < #line 1456 "ircd_parser.y"
4460 > /* Line 1787 of yacc.c  */
4461 > #line 1339 "conf_parser.y"
4462      {
4463    if (conf_parser_ctx.pass == 1)
4464    {
# Line 4802 | Line 4469 | yyreduce:
4469      break;
4470  
4471    case 215:
4472 <
4473 < /* Line 1464 of yacc.c  */
4807 < #line 1465 "ircd_parser.y"
4472 > /* Line 1787 of yacc.c  */
4473 > #line 1348 "conf_parser.y"
4474      {
4475    if (conf_parser_ctx.pass == 1)
4476 <  {
4811 <    MyFree(yy_class_name);
4812 <    DupString(yy_class_name, yylval.string);
4813 <  }
4476 >    yy_class->ping_freq = (yyvsp[(3) - (4)].number);
4477   }
4478      break;
4479  
4480    case 216:
4481 <
4482 < /* Line 1464 of yacc.c  */
4820 < #line 1474 "ircd_parser.y"
4481 > /* Line 1787 of yacc.c  */
4482 > #line 1354 "conf_parser.y"
4483      {
4484    if (conf_parser_ctx.pass == 1)
4485 <    PingFreq(yy_class) = (yyvsp[(3) - (4)].number);
4485 >    yy_class->ping_warning = (yyvsp[(3) - (4)].number);
4486   }
4487      break;
4488  
4489    case 217:
4490 <
4491 < /* Line 1464 of yacc.c  */
4830 < #line 1480 "ircd_parser.y"
4490 > /* Line 1787 of yacc.c  */
4491 > #line 1360 "conf_parser.y"
4492      {
4493    if (conf_parser_ctx.pass == 1)
4494 <    PingWarning(yy_class) = (yyvsp[(3) - (4)].number);
4494 >    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4495   }
4496      break;
4497  
4498    case 218:
4499 <
4500 < /* Line 1464 of yacc.c  */
4840 < #line 1486 "ircd_parser.y"
4499 > /* Line 1787 of yacc.c  */
4500 > #line 1366 "conf_parser.y"
4501      {
4502    if (conf_parser_ctx.pass == 1)
4503 <    MaxPerIp(yy_class) = (yyvsp[(3) - (4)].number);
4503 >    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4504   }
4505      break;
4506  
4507    case 219:
4508 <
4509 < /* Line 1464 of yacc.c  */
4850 < #line 1492 "ircd_parser.y"
4508 > /* Line 1787 of yacc.c  */
4509 > #line 1372 "conf_parser.y"
4510      {
4511    if (conf_parser_ctx.pass == 1)
4512 <    ConFreq(yy_class) = (yyvsp[(3) - (4)].number);
4512 >    yy_class->max_total = (yyvsp[(3) - (4)].number);
4513   }
4514      break;
4515  
4516    case 220:
4517 <
4518 < /* Line 1464 of yacc.c  */
4860 < #line 1498 "ircd_parser.y"
4517 > /* Line 1787 of yacc.c  */
4518 > #line 1378 "conf_parser.y"
4519      {
4520    if (conf_parser_ctx.pass == 1)
4521 <    MaxTotal(yy_class) = (yyvsp[(3) - (4)].number);
4521 >    yy_class->max_global = (yyvsp[(3) - (4)].number);
4522   }
4523      break;
4524  
4525    case 221:
4526 <
4527 < /* Line 1464 of yacc.c  */
4870 < #line 1504 "ircd_parser.y"
4526 > /* Line 1787 of yacc.c  */
4527 > #line 1384 "conf_parser.y"
4528      {
4529    if (conf_parser_ctx.pass == 1)
4530 <    MaxGlobal(yy_class) = (yyvsp[(3) - (4)].number);
4530 >    yy_class->max_local = (yyvsp[(3) - (4)].number);
4531   }
4532      break;
4533  
4534    case 222:
4535 <
4536 < /* Line 1464 of yacc.c  */
4880 < #line 1510 "ircd_parser.y"
4535 > /* Line 1787 of yacc.c  */
4536 > #line 1390 "conf_parser.y"
4537      {
4538    if (conf_parser_ctx.pass == 1)
4539 <    MaxLocal(yy_class) = (yyvsp[(3) - (4)].number);
4539 >    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4540   }
4541      break;
4542  
4543    case 223:
4544 <
4545 < /* Line 1464 of yacc.c  */
4890 < #line 1516 "ircd_parser.y"
4544 > /* Line 1787 of yacc.c  */
4545 > #line 1396 "conf_parser.y"
4546      {
4547    if (conf_parser_ctx.pass == 1)
4548 <    MaxIdent(yy_class) = (yyvsp[(3) - (4)].number);
4548 >    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4549   }
4550      break;
4551  
4552    case 224:
4553 <
4554 < /* Line 1464 of yacc.c  */
4900 < #line 1522 "ircd_parser.y"
4553 > /* Line 1787 of yacc.c  */
4554 > #line 1402 "conf_parser.y"
4555      {
4556    if (conf_parser_ctx.pass == 1)
4557 <    MaxSendq(yy_class) = (yyvsp[(3) - (4)].number);
4557 >    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4558 >      yy_class->max_recvq = (yyvsp[(3) - (4)].number);
4559   }
4560      break;
4561  
4562    case 225:
4563 <
4564 < /* Line 1464 of yacc.c  */
4910 < #line 1528 "ircd_parser.y"
4563 > /* Line 1787 of yacc.c  */
4564 > #line 1409 "conf_parser.y"
4565      {
4566    if (conf_parser_ctx.pass == 1)
4567 <    CidrBitlenIPV4(yy_class) = (yyvsp[(3) - (4)].number);
4567 >    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4568   }
4569      break;
4570  
4571    case 226:
4572 <
4573 < /* Line 1464 of yacc.c  */
4920 < #line 1534 "ircd_parser.y"
4572 > /* Line 1787 of yacc.c  */
4573 > #line 1415 "conf_parser.y"
4574      {
4575    if (conf_parser_ctx.pass == 1)
4576 <    CidrBitlenIPV6(yy_class) = (yyvsp[(3) - (4)].number);
4576 >    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4577   }
4578      break;
4579  
4580    case 227:
4581 <
4582 < /* Line 1464 of yacc.c  */
4930 < #line 1540 "ircd_parser.y"
4581 > /* Line 1787 of yacc.c  */
4582 > #line 1421 "conf_parser.y"
4583      {
4584    if (conf_parser_ctx.pass == 1)
4585 <    NumberPerCidr(yy_class) = (yyvsp[(3) - (4)].number);
4585 >    yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
4586   }
4587      break;
4588  
4589    case 228:
4590 <
4591 < /* Line 1464 of yacc.c  */
4940 < #line 1549 "ircd_parser.y"
4590 > /* Line 1787 of yacc.c  */
4591 > #line 1430 "conf_parser.y"
4592      {
4593    if (conf_parser_ctx.pass == 2)
4594    {
# Line 4948 | Line 4599 | yyreduce:
4599      break;
4600  
4601    case 229:
4602 <
4603 < /* Line 1464 of yacc.c  */
4953 < #line 1556 "ircd_parser.y"
4602 > /* Line 1787 of yacc.c  */
4603 > #line 1437 "conf_parser.y"
4604      {
4605    if (conf_parser_ctx.pass == 2)
4606    {
# Line 4961 | Line 4611 | yyreduce:
4611      break;
4612  
4613    case 230:
4614 <
4615 < /* Line 1464 of yacc.c  */
4966 < #line 1565 "ircd_parser.y"
4614 > /* Line 1787 of yacc.c  */
4615 > #line 1446 "conf_parser.y"
4616      {
4617    listener_flags = 0;
4618   }
4619      break;
4620  
4621    case 234:
4622 <
4623 < /* Line 1464 of yacc.c  */
4975 < #line 1571 "ircd_parser.y"
4622 > /* Line 1787 of yacc.c  */
4623 > #line 1452 "conf_parser.y"
4624      {
4625    if (conf_parser_ctx.pass == 2)
4626      listener_flags |= LISTENER_SSL;
# Line 4980 | Line 4628 | yyreduce:
4628      break;
4629  
4630    case 235:
4631 <
4632 < /* Line 1464 of yacc.c  */
4985 < #line 1575 "ircd_parser.y"
4631 > /* Line 1787 of yacc.c  */
4632 > #line 1456 "conf_parser.y"
4633      {
4634    if (conf_parser_ctx.pass == 2)
4635      listener_flags |= LISTENER_HIDDEN;
# Line 4990 | Line 4637 | yyreduce:
4637      break;
4638  
4639    case 236:
4640 <
4641 < /* Line 1464 of yacc.c  */
4995 < #line 1579 "ircd_parser.y"
4640 > /* Line 1787 of yacc.c  */
4641 > #line 1460 "conf_parser.y"
4642      {
4643    if (conf_parser_ctx.pass == 2)
4644      listener_flags |= LISTENER_SERVER;
# Line 5000 | Line 4646 | yyreduce:
4646      break;
4647  
4648    case 244:
4649 <
4650 < /* Line 1464 of yacc.c  */
5005 < #line 1589 "ircd_parser.y"
4649 > /* Line 1787 of yacc.c  */
4650 > #line 1470 "conf_parser.y"
4651      { listener_flags = 0; }
4652      break;
4653  
4654    case 248:
4655 <
4656 < /* Line 1464 of yacc.c  */
5012 < #line 1594 "ircd_parser.y"
4655 > /* Line 1787 of yacc.c  */
4656 > #line 1475 "conf_parser.y"
4657      {
4658    if (conf_parser_ctx.pass == 2)
4659    {
# Line 5027 | Line 4671 | yyreduce:
4671      break;
4672  
4673    case 249:
4674 <
4675 < /* Line 1464 of yacc.c  */
5032 < #line 1608 "ircd_parser.y"
4674 > /* Line 1787 of yacc.c  */
4675 > #line 1489 "conf_parser.y"
4676      {
4677    if (conf_parser_ctx.pass == 2)
4678    {
# Line 5051 | Line 4694 | yyreduce:
4694      break;
4695  
4696    case 250:
4697 <
4698 < /* Line 1464 of yacc.c  */
5056 < #line 1628 "ircd_parser.y"
4697 > /* Line 1787 of yacc.c  */
4698 > #line 1509 "conf_parser.y"
4699      {
4700    if (conf_parser_ctx.pass == 2)
4701    {
# Line 5064 | Line 4706 | yyreduce:
4706      break;
4707  
4708    case 251:
4709 <
4710 < /* Line 1464 of yacc.c  */
5069 < #line 1637 "ircd_parser.y"
4709 > /* Line 1787 of yacc.c  */
4710 > #line 1518 "conf_parser.y"
4711      {
4712    if (conf_parser_ctx.pass == 2)
4713    {
# Line 5077 | Line 4718 | yyreduce:
4718      break;
4719  
4720    case 252:
4721 <
4722 < /* Line 1464 of yacc.c  */
5082 < #line 1649 "ircd_parser.y"
4721 > /* Line 1787 of yacc.c  */
4722 > #line 1530 "conf_parser.y"
4723      {
4724    if (conf_parser_ctx.pass == 2)
4725    {
# Line 5095 | Line 4735 | yyreduce:
4735      break;
4736  
4737    case 253:
4738 <
4739 < /* Line 1464 of yacc.c  */
5100 < #line 1661 "ircd_parser.y"
4738 > /* Line 1787 of yacc.c  */
4739 > #line 1542 "conf_parser.y"
4740      {
4741    if (conf_parser_ctx.pass == 2)
4742    {
# Line 5156 | Line 4795 | yyreduce:
4795      break;
4796  
4797    case 265:
4798 <
4799 < /* Line 1464 of yacc.c  */
5161 < #line 1723 "ircd_parser.y"
4798 > /* Line 1787 of yacc.c  */
4799 > #line 1604 "conf_parser.y"
4800      {
4801    if (conf_parser_ctx.pass == 2)
4802    {
# Line 5195 | Line 4833 | yyreduce:
4833      break;
4834  
4835    case 266:
4836 <
4837 < /* Line 1464 of yacc.c  */
5200 < #line 1760 "ircd_parser.y"
4836 > /* Line 1787 of yacc.c  */
4837 > #line 1639 "conf_parser.y"
4838      {
4839    if (conf_parser_ctx.pass == 2)
4840    {
# Line 5212 | Line 4849 | yyreduce:
4849      break;
4850  
4851    case 267:
4852 <
4853 < /* Line 1464 of yacc.c  */
5217 < #line 1773 "ircd_parser.y"
4852 > /* Line 1787 of yacc.c  */
4853 > #line 1652 "conf_parser.y"
4854      {
4855    if (conf_parser_ctx.pass == 2)
4856    {
# Line 5225 | Line 4861 | yyreduce:
4861      break;
4862  
4863    case 268:
4864 <
4865 < /* Line 1464 of yacc.c  */
5230 < #line 1782 "ircd_parser.y"
4864 > /* Line 1787 of yacc.c  */
4865 > #line 1661 "conf_parser.y"
4866      {
4867    if (conf_parser_ctx.pass == 2)
4868    {
# Line 5240 | Line 4875 | yyreduce:
4875      break;
4876  
4877    case 269:
4878 <
4879 < /* Line 1464 of yacc.c  */
5245 < #line 1793 "ircd_parser.y"
4878 > /* Line 1787 of yacc.c  */
4879 > #line 1672 "conf_parser.y"
4880      {
4881   }
4882      break;
4883  
4884    case 273:
4885 <
4886 < /* Line 1464 of yacc.c  */
5253 < #line 1797 "ircd_parser.y"
5254 <    { not_atom = 1; }
5255 <    break;
5256 <
5257 <  case 275:
5258 <
5259 < /* Line 1464 of yacc.c  */
5260 < #line 1798 "ircd_parser.y"
5261 <    { not_atom = 0; }
5262 <    break;
5263 <
5264 <  case 277:
5265 <
5266 < /* Line 1464 of yacc.c  */
5267 < #line 1801 "ircd_parser.y"
4885 > /* Line 1787 of yacc.c  */
4886 > #line 1677 "conf_parser.y"
4887      {
4888    if (conf_parser_ctx.pass == 2)
4889 <  {
5271 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_SPOOF_NOTICE;
5272 <    else yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5273 <  }
4889 >    yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
4890   }
4891      break;
4892  
4893 <  case 278:
4894 <
4895 < /* Line 1464 of yacc.c  */
5280 < #line 1808 "ircd_parser.y"
4893 >  case 274:
4894 > /* Line 1787 of yacc.c  */
4895 > #line 1681 "conf_parser.y"
4896      {
4897    if (conf_parser_ctx.pass == 2)
4898 <  {
5284 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NOLIMIT;
5285 <    else yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5286 <  }
4898 >    yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
4899   }
4900      break;
4901  
4902 <  case 279:
4903 <
4904 < /* Line 1464 of yacc.c  */
5293 < #line 1815 "ircd_parser.y"
5294 <    {
5295 <  if (conf_parser_ctx.pass == 2)
5296 <  {
5297 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTKLINE;
5298 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5299 <  }
5300 < }
5301 <    break;
5302 <
5303 <  case 280:
5304 <
5305 < /* Line 1464 of yacc.c  */
5306 < #line 1822 "ircd_parser.y"
4902 >  case 275:
4903 > /* Line 1787 of yacc.c  */
4904 > #line 1685 "conf_parser.y"
4905      {
4906    if (conf_parser_ctx.pass == 2)
4907 <  {
5310 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_IDENTD;
5311 <    else yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5312 <  }
4907 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
4908   }
4909      break;
4910  
4911 <  case 281:
4912 <
4913 < /* Line 1464 of yacc.c  */
5319 < #line 1829 "ircd_parser.y"
4911 >  case 276:
4912 > /* Line 1787 of yacc.c  */
4913 > #line 1689 "conf_parser.y"
4914      {
4915    if (conf_parser_ctx.pass == 2)
4916 <  {
5323 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_CAN_FLOOD;
5324 <    else yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5325 <  }
4916 >    yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
4917   }
4918      break;
4919  
4920 <  case 282:
4921 <
4922 < /* Line 1464 of yacc.c  */
5332 < #line 1836 "ircd_parser.y"
4920 >  case 277:
4921 > /* Line 1787 of yacc.c  */
4922 > #line 1693 "conf_parser.y"
4923      {
4924    if (conf_parser_ctx.pass == 2)
4925 <  {
5336 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_IDLE_LINED;
5337 <    else yy_aconf->flags |= CONF_FLAGS_IDLE_LINED;
5338 <  }
4925 >    yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
4926   }
4927      break;
4928  
4929 <  case 283:
4930 <
4931 < /* Line 1464 of yacc.c  */
5345 < #line 1843 "ircd_parser.y"
4929 >  case 278:
4930 > /* Line 1787 of yacc.c  */
4931 > #line 1697 "conf_parser.y"
4932      {
4933    if (conf_parser_ctx.pass == 2)
4934 <  {
5349 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NO_TILDE;
5350 <    else yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5351 <  }
4934 >    yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
4935   }
4936      break;
4937  
4938 <  case 284:
4939 <
4940 < /* Line 1464 of yacc.c  */
5358 < #line 1850 "ircd_parser.y"
4938 >  case 279:
4939 > /* Line 1787 of yacc.c  */
4940 > #line 1701 "conf_parser.y"
4941      {
4942    if (conf_parser_ctx.pass == 2)
4943 <  {
5362 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTGLINE;
5363 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5364 <  }
4943 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
4944   }
4945      break;
4946  
4947 <  case 285:
4948 <
4949 < /* Line 1464 of yacc.c  */
5371 < #line 1857 "ircd_parser.y"
4947 >  case 280:
4948 > /* Line 1787 of yacc.c  */
4949 > #line 1705 "conf_parser.y"
4950      {
4951    if (conf_parser_ctx.pass == 2)
4952 <  {
5375 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTRESV;
5376 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5377 <  }
4952 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
4953   }
4954      break;
4955  
4956 <  case 286:
4957 <
4958 < /* Line 1464 of yacc.c  */
5384 < #line 1864 "ircd_parser.y"
4956 >  case 281:
4957 > /* Line 1787 of yacc.c  */
4958 > #line 1709 "conf_parser.y"
4959      {
4960    if (conf_parser_ctx.pass == 2)
4961 <  {
5388 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_PASSWORD;
5389 <    else yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5390 <  }
4961 >    yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
4962   }
4963      break;
4964  
4965 <  case 287:
4966 <
4967 < /* Line 1464 of yacc.c  */
5397 < #line 1874 "ircd_parser.y"
4965 >  case 282:
4966 > /* Line 1787 of yacc.c  */
4967 > #line 1716 "conf_parser.y"
4968      {
4969    if (conf_parser_ctx.pass == 2)
4970    {
# Line 5407 | Line 4977 | yyreduce:
4977      }
4978      else
4979      {
4980 <      ilog(L_ERROR, "Spoofs must be less than %d..ignoring it", HOSTLEN);
4980 >      ilog(LOG_TYPE_IRCD, "Spoofs must be less than %d..ignoring it", HOSTLEN);
4981        yy_conf->name = NULL;
4982      }
4983    }
4984   }
4985      break;
4986  
4987 <  case 288:
4988 <
4989 < /* Line 1464 of yacc.c  */
5420 < #line 1893 "ircd_parser.y"
4987 >  case 283:
4988 > /* Line 1787 of yacc.c  */
4989 > #line 1735 "conf_parser.y"
4990      {
4991    if (conf_parser_ctx.pass == 2)
4992    {
# Line 5428 | Line 4997 | yyreduce:
4997   }
4998      break;
4999  
5000 <  case 289:
5001 <
5002 < /* Line 1464 of yacc.c  */
5434 < #line 1903 "ircd_parser.y"
5000 >  case 284:
5001 > /* Line 1787 of yacc.c  */
5002 > #line 1745 "conf_parser.y"
5003      {
5004    if (conf_parser_ctx.pass == 2)
5005    {
# Line 5441 | Line 5009 | yyreduce:
5009   }
5010      break;
5011  
5012 <  case 290:
5013 <
5014 < /* Line 1464 of yacc.c  */
5447 < #line 1916 "ircd_parser.y"
5012 >  case 285:
5013 > /* Line 1787 of yacc.c  */
5014 > #line 1758 "conf_parser.y"
5015      {
5016    if (conf_parser_ctx.pass == 2)
5017    {
# Line 5454 | Line 5021 | yyreduce:
5021   }
5022      break;
5023  
5024 <  case 291:
5025 <
5026 < /* Line 1464 of yacc.c  */
5460 < #line 1923 "ircd_parser.y"
5024 >  case 286:
5025 > /* Line 1787 of yacc.c  */
5026 > #line 1765 "conf_parser.y"
5027      {
5028    if (conf_parser_ctx.pass == 2)
5029    {
# Line 5467 | Line 5033 | yyreduce:
5033   }
5034      break;
5035  
5036 <  case 298:
5037 <
5038 < /* Line 1464 of yacc.c  */
5473 < #line 1935 "ircd_parser.y"
5036 >  case 293:
5037 > /* Line 1787 of yacc.c  */
5038 > #line 1777 "conf_parser.y"
5039      {
5040    if (conf_parser_ctx.pass == 2)
5041    {
# Line 5480 | Line 5045 | yyreduce:
5045   }
5046      break;
5047  
5048 <  case 299:
5049 <
5050 < /* Line 1464 of yacc.c  */
5486 < #line 1944 "ircd_parser.y"
5048 >  case 294:
5049 > /* Line 1787 of yacc.c  */
5050 > #line 1786 "conf_parser.y"
5051      {
5052    if (conf_parser_ctx.pass == 2)
5053    {
# Line 5499 | Line 5063 | yyreduce:
5063   }
5064      break;
5065  
5066 <  case 300:
5067 <
5068 < /* Line 1464 of yacc.c  */
5505 < #line 1959 "ircd_parser.y"
5066 >  case 295:
5067 > /* Line 1787 of yacc.c  */
5068 > #line 1801 "conf_parser.y"
5069      {
5070    if (conf_parser_ctx.pass == 2)
5071    {
# Line 5514 | Line 5077 | yyreduce:
5077      break;
5078  
5079    case 301:
5080 + /* Line 1787 of yacc.c  */
5081 + #line 1819 "conf_parser.y"
5082 +    {
5083 +  if (conf_parser_ctx.pass == 2)
5084 +  {
5085 +    if (valid_servname(yylval.string))
5086 +    {
5087 +      yy_conf = make_conf_item(SERVICE_TYPE);
5088 +      DupString(yy_conf->name, yylval.string);
5089 +    }
5090 +  }
5091 + }
5092 +    break;
5093  
5094 < /* Line 1464 of yacc.c  */
5095 < #line 1972 "ircd_parser.y"
5094 >  case 302:
5095 > /* Line 1787 of yacc.c  */
5096 > #line 1834 "conf_parser.y"
5097      {
5098    if (conf_parser_ctx.pass == 2)
5099    {
# Line 5527 | Line 5104 | yyreduce:
5104   }
5105      break;
5106  
5107 <  case 302:
5108 <
5109 < /* Line 1464 of yacc.c  */
5533 < #line 1980 "ircd_parser.y"
5107 >  case 303:
5108 > /* Line 1787 of yacc.c  */
5109 > #line 1842 "conf_parser.y"
5110      {
5111    if (conf_parser_ctx.pass == 2)
5112    {
# Line 5539 | Line 5115 | yyreduce:
5115   }
5116      break;
5117  
5118 <  case 309:
5119 <
5120 < /* Line 1464 of yacc.c  */
5545 < #line 1991 "ircd_parser.y"
5118 >  case 310:
5119 > /* Line 1787 of yacc.c  */
5120 > #line 1853 "conf_parser.y"
5121      {
5122    if (conf_parser_ctx.pass == 2)
5123    {
# Line 5552 | Line 5127 | yyreduce:
5127   }
5128      break;
5129  
5130 <  case 310:
5131 <
5132 < /* Line 1464 of yacc.c  */
5558 < #line 2000 "ircd_parser.y"
5130 >  case 311:
5131 > /* Line 1787 of yacc.c  */
5132 > #line 1862 "conf_parser.y"
5133      {
5134    if (conf_parser_ctx.pass == 2)
5135    {
# Line 5578 | Line 5152 | yyreduce:
5152   }
5153      break;
5154  
5155 <  case 311:
5156 <
5157 < /* Line 1464 of yacc.c  */
5584 < #line 2022 "ircd_parser.y"
5155 >  case 312:
5156 > /* Line 1787 of yacc.c  */
5157 > #line 1884 "conf_parser.y"
5158      {
5159    if (conf_parser_ctx.pass == 2)
5160      yy_match_item->action = 0;
5161   }
5162      break;
5163  
5591  case 315:
5592
5593 /* Line 1464 of yacc.c  */
5594 #line 2029 "ircd_parser.y"
5595    {
5596  if (conf_parser_ctx.pass == 2)
5597    yy_match_item->action |= SHARED_KLINE;
5598 }
5599    break;
5600
5164    case 316:
5165 <
5166 < /* Line 1464 of yacc.c  */
5604 < #line 2033 "ircd_parser.y"
5165 > /* Line 1787 of yacc.c  */
5166 > #line 1891 "conf_parser.y"
5167      {
5168    if (conf_parser_ctx.pass == 2)
5169 <    yy_match_item->action |= SHARED_TKLINE;
5169 >    yy_match_item->action |= SHARED_KLINE;
5170   }
5171      break;
5172  
5173    case 317:
5174 <
5175 < /* Line 1464 of yacc.c  */
5614 < #line 2037 "ircd_parser.y"
5174 > /* Line 1787 of yacc.c  */
5175 > #line 1895 "conf_parser.y"
5176      {
5177    if (conf_parser_ctx.pass == 2)
5178      yy_match_item->action |= SHARED_UNKLINE;
# Line 5619 | Line 5180 | yyreduce:
5180      break;
5181  
5182    case 318:
5183 <
5184 < /* Line 1464 of yacc.c  */
5624 < #line 2041 "ircd_parser.y"
5183 > /* Line 1787 of yacc.c  */
5184 > #line 1899 "conf_parser.y"
5185      {
5186    if (conf_parser_ctx.pass == 2)
5187 <    yy_match_item->action |= SHARED_XLINE;
5187 >    yy_match_item->action |= SHARED_DLINE;
5188   }
5189      break;
5190  
5191    case 319:
5192 <
5193 < /* Line 1464 of yacc.c  */
5634 < #line 2045 "ircd_parser.y"
5192 > /* Line 1787 of yacc.c  */
5193 > #line 1903 "conf_parser.y"
5194      {
5195    if (conf_parser_ctx.pass == 2)
5196 <    yy_match_item->action |= SHARED_TXLINE;
5196 >    yy_match_item->action |= SHARED_UNDLINE;
5197   }
5198      break;
5199  
5200    case 320:
5201 <
5202 < /* Line 1464 of yacc.c  */
5644 < #line 2049 "ircd_parser.y"
5201 > /* Line 1787 of yacc.c  */
5202 > #line 1907 "conf_parser.y"
5203      {
5204    if (conf_parser_ctx.pass == 2)
5205 <    yy_match_item->action |= SHARED_UNXLINE;
5205 >    yy_match_item->action |= SHARED_XLINE;
5206   }
5207      break;
5208  
5209    case 321:
5210 <
5211 < /* Line 1464 of yacc.c  */
5654 < #line 2053 "ircd_parser.y"
5210 > /* Line 1787 of yacc.c  */
5211 > #line 1911 "conf_parser.y"
5212      {
5213    if (conf_parser_ctx.pass == 2)
5214 <    yy_match_item->action |= SHARED_RESV;
5214 >    yy_match_item->action |= SHARED_UNXLINE;
5215   }
5216      break;
5217  
5218    case 322:
5219 <
5220 < /* Line 1464 of yacc.c  */
5664 < #line 2057 "ircd_parser.y"
5219 > /* Line 1787 of yacc.c  */
5220 > #line 1915 "conf_parser.y"
5221      {
5222    if (conf_parser_ctx.pass == 2)
5223 <    yy_match_item->action |= SHARED_TRESV;
5223 >    yy_match_item->action |= SHARED_RESV;
5224   }
5225      break;
5226  
5227    case 323:
5228 <
5229 < /* Line 1464 of yacc.c  */
5674 < #line 2061 "ircd_parser.y"
5228 > /* Line 1787 of yacc.c  */
5229 > #line 1919 "conf_parser.y"
5230      {
5231    if (conf_parser_ctx.pass == 2)
5232      yy_match_item->action |= SHARED_UNRESV;
# Line 5679 | Line 5234 | yyreduce:
5234      break;
5235  
5236    case 324:
5237 <
5238 < /* Line 1464 of yacc.c  */
5684 < #line 2065 "ircd_parser.y"
5237 > /* Line 1787 of yacc.c  */
5238 > #line 1923 "conf_parser.y"
5239      {
5240    if (conf_parser_ctx.pass == 2)
5241      yy_match_item->action |= SHARED_LOCOPS;
# Line 5689 | Line 5243 | yyreduce:
5243      break;
5244  
5245    case 325:
5246 <
5247 < /* Line 1464 of yacc.c  */
5694 < #line 2069 "ircd_parser.y"
5246 > /* Line 1787 of yacc.c  */
5247 > #line 1927 "conf_parser.y"
5248      {
5249    if (conf_parser_ctx.pass == 2)
5250      yy_match_item->action = SHARED_ALL;
# Line 5699 | Line 5252 | yyreduce:
5252      break;
5253  
5254    case 326:
5255 <
5256 < /* Line 1464 of yacc.c  */
5704 < #line 2078 "ircd_parser.y"
5255 > /* Line 1787 of yacc.c  */
5256 > #line 1936 "conf_parser.y"
5257      {
5258    if (conf_parser_ctx.pass == 2)
5259    {
# Line 5712 | Line 5264 | yyreduce:
5264      break;
5265  
5266    case 327:
5267 <
5268 < /* Line 1464 of yacc.c  */
5717 < #line 2085 "ircd_parser.y"
5267 > /* Line 1787 of yacc.c  */
5268 > #line 1943 "conf_parser.y"
5269      {
5270    if (conf_parser_ctx.pass == 2)
5271    {
# Line 5726 | Line 5277 | yyreduce:
5277      break;
5278  
5279    case 333:
5280 <
5281 < /* Line 1464 of yacc.c  */
5731 < #line 2098 "ircd_parser.y"
5280 > /* Line 1787 of yacc.c  */
5281 > #line 1956 "conf_parser.y"
5282      {
5283    if (conf_parser_ctx.pass == 2)
5284      DupString(yy_conf->name, yylval.string);
# Line 5736 | Line 5286 | yyreduce:
5286      break;
5287  
5288    case 334:
5289 <
5290 < /* Line 1464 of yacc.c  */
5741 < #line 2104 "ircd_parser.y"
5289 > /* Line 1787 of yacc.c  */
5290 > #line 1962 "conf_parser.y"
5291      {
5292    if (conf_parser_ctx.pass == 2)
5293      yy_conf->flags = 0;
# Line 5746 | Line 5295 | yyreduce:
5295      break;
5296  
5297    case 338:
5298 <
5299 < /* Line 1464 of yacc.c  */
5751 < #line 2111 "ircd_parser.y"
5298 > /* Line 1787 of yacc.c  */
5299 > #line 1969 "conf_parser.y"
5300      {
5301    if (conf_parser_ctx.pass == 2)
5302      yy_conf->flags |= SHARED_KLINE;
# Line 5756 | Line 5304 | yyreduce:
5304      break;
5305  
5306    case 339:
5307 <
5308 < /* Line 1464 of yacc.c  */
5761 < #line 2115 "ircd_parser.y"
5307 > /* Line 1787 of yacc.c  */
5308 > #line 1973 "conf_parser.y"
5309      {
5310    if (conf_parser_ctx.pass == 2)
5311 <    yy_conf->flags |= SHARED_TKLINE;
5311 >    yy_conf->flags |= SHARED_UNKLINE;
5312   }
5313      break;
5314  
5315    case 340:
5316 <
5317 < /* Line 1464 of yacc.c  */
5771 < #line 2119 "ircd_parser.y"
5316 > /* Line 1787 of yacc.c  */
5317 > #line 1977 "conf_parser.y"
5318      {
5319    if (conf_parser_ctx.pass == 2)
5320 <    yy_conf->flags |= SHARED_UNKLINE;
5320 >    yy_conf->flags |= SHARED_DLINE;
5321   }
5322      break;
5323  
5324    case 341:
5325 <
5326 < /* Line 1464 of yacc.c  */
5781 < #line 2123 "ircd_parser.y"
5325 > /* Line 1787 of yacc.c  */
5326 > #line 1981 "conf_parser.y"
5327      {
5328    if (conf_parser_ctx.pass == 2)
5329 <    yy_conf->flags |= SHARED_XLINE;
5329 >    yy_conf->flags |= SHARED_UNDLINE;
5330   }
5331      break;
5332  
5333    case 342:
5334 <
5335 < /* Line 1464 of yacc.c  */
5791 < #line 2127 "ircd_parser.y"
5334 > /* Line 1787 of yacc.c  */
5335 > #line 1985 "conf_parser.y"
5336      {
5337    if (conf_parser_ctx.pass == 2)
5338 <    yy_conf->flags |= SHARED_TXLINE;
5338 >    yy_conf->flags |= SHARED_XLINE;
5339   }
5340      break;
5341  
5342    case 343:
5343 <
5344 < /* Line 1464 of yacc.c  */
5801 < #line 2131 "ircd_parser.y"
5343 > /* Line 1787 of yacc.c  */
5344 > #line 1989 "conf_parser.y"
5345      {
5346    if (conf_parser_ctx.pass == 2)
5347      yy_conf->flags |= SHARED_UNXLINE;
# Line 5806 | Line 5349 | yyreduce:
5349      break;
5350  
5351    case 344:
5352 <
5353 < /* Line 1464 of yacc.c  */
5811 < #line 2135 "ircd_parser.y"
5352 > /* Line 1787 of yacc.c  */
5353 > #line 1993 "conf_parser.y"
5354      {
5355    if (conf_parser_ctx.pass == 2)
5356      yy_conf->flags |= SHARED_RESV;
# Line 5816 | Line 5358 | yyreduce:
5358      break;
5359  
5360    case 345:
5361 <
5362 < /* Line 1464 of yacc.c  */
5821 < #line 2139 "ircd_parser.y"
5822 <    {
5823 <  if (conf_parser_ctx.pass == 2)
5824 <    yy_conf->flags |= SHARED_TRESV;
5825 < }
5826 <    break;
5827 <
5828 <  case 346:
5829 <
5830 < /* Line 1464 of yacc.c  */
5831 < #line 2143 "ircd_parser.y"
5361 > /* Line 1787 of yacc.c  */
5362 > #line 1997 "conf_parser.y"
5363      {
5364    if (conf_parser_ctx.pass == 2)
5365      yy_conf->flags |= SHARED_UNRESV;
5366   }
5367      break;
5368  
5369 <  case 347:
5370 <
5371 < /* Line 1464 of yacc.c  */
5841 < #line 2147 "ircd_parser.y"
5369 >  case 346:
5370 > /* Line 1787 of yacc.c  */
5371 > #line 2001 "conf_parser.y"
5372      {
5373    if (conf_parser_ctx.pass == 2)
5374      yy_conf->flags |= SHARED_LOCOPS;
5375   }
5376      break;
5377  
5378 <  case 348:
5379 <
5380 < /* Line 1464 of yacc.c  */
5851 < #line 2151 "ircd_parser.y"
5378 >  case 347:
5379 > /* Line 1787 of yacc.c  */
5380 > #line 2005 "conf_parser.y"
5381      {
5382    if (conf_parser_ctx.pass == 2)
5383      yy_conf->flags = SHARED_ALL;
5384   }
5385      break;
5386  
5387 <  case 349:
5388 <
5389 < /* Line 1464 of yacc.c  */
5861 < #line 2160 "ircd_parser.y"
5387 >  case 348:
5388 > /* Line 1787 of yacc.c  */
5389 > #line 2014 "conf_parser.y"
5390      {
5391    if (conf_parser_ctx.pass == 2)
5392    {
5393      yy_conf = make_conf_item(SERVER_TYPE);
5394 <    yy_aconf = (struct AccessItem *)map_to_conf(yy_conf);
5395 <    yy_aconf->passwd = NULL;
5394 >    yy_aconf = map_to_conf(yy_conf);
5395 >
5396      /* defaults */
5397      yy_aconf->port = PORTNUM;
5870
5871    if (ConfigFileEntry.burst_away)
5872      yy_aconf->flags = CONF_FLAGS_BURST_AWAY;
5398    }
5399    else
5400    {
# Line 5879 | Line 5404 | yyreduce:
5404   }
5405      break;
5406  
5407 <  case 350:
5408 <
5409 < /* Line 1464 of yacc.c  */
5885 < #line 2178 "ircd_parser.y"
5407 >  case 349:
5408 > /* Line 1787 of yacc.c  */
5409 > #line 2029 "conf_parser.y"
5410      {
5411    if (conf_parser_ctx.pass == 2)
5412    {
5413 <    struct CollectItem *yy_hconf=NULL;
5414 <    struct CollectItem *yy_lconf=NULL;
5415 <    dlink_node *ptr;
5416 <    dlink_node *next_ptr;
5417 < #ifdef HAVE_LIBCRYPTO
5418 <    if (yy_aconf->host &&
5419 <        ((yy_aconf->passwd && yy_aconf->spasswd) ||
5420 <         (yy_aconf->rsa_public_key && IsConfCryptLink(yy_aconf))))
5897 < #else /* !HAVE_LIBCRYPTO */
5898 <      if (yy_aconf->host && !IsConfCryptLink(yy_aconf) &&
5899 <          yy_aconf->passwd && yy_aconf->spasswd)
5900 < #endif /* !HAVE_LIBCRYPTO */
5901 <        {
5902 <          if (conf_add_server(yy_conf, class_name) == -1)
5903 <          {
5904 <            delete_conf_item(yy_conf);
5905 <            yy_conf = NULL;
5906 <            yy_aconf = NULL;
5907 <          }
5908 <        }
5909 <        else
5910 <        {
5911 <          /* Even if yy_conf ->name is NULL
5912 <           * should still unhook any hub/leaf confs still pending
5913 <           */
5914 <          unhook_hub_leaf_confs();
5915 <
5916 <          if (yy_conf->name != NULL)
5917 <          {
5918 < #ifndef HAVE_LIBCRYPTO
5919 <            if (IsConfCryptLink(yy_aconf))
5920 <              yyerror("Ignoring connect block -- no OpenSSL support");
5921 < #else
5922 <            if (IsConfCryptLink(yy_aconf) && !yy_aconf->rsa_public_key)
5923 <              yyerror("Ignoring connect block -- missing key");
5924 < #endif
5925 <            if (yy_aconf->host == NULL)
5926 <              yyerror("Ignoring connect block -- missing host");
5927 <            else if (!IsConfCryptLink(yy_aconf) &&
5928 <                    (!yy_aconf->passwd || !yy_aconf->spasswd))
5929 <              yyerror("Ignoring connect block -- missing password");
5930 <          }
5931 <
5932 <
5933 <          /* XXX
5934 <           * This fixes a try_connections() core (caused by invalid class_ptr
5935 <           * pointers) reported by metalrock. That's an ugly fix, but there
5936 <           * is currently no better way. The entire config subsystem needs an
5937 <           * rewrite ASAP. make_conf_item() shouldn't really add things onto
5938 <           * a doubly linked list immediately without any sanity checks!  -Michael
5939 <           */
5940 <          delete_conf_item(yy_conf);
5941 <
5942 <          yy_aconf = NULL;
5943 <          yy_conf = NULL;
5944 <        }
5945 <
5946 <      /*
5947 <       * yy_conf is still pointing at the server that is having
5948 <       * a connect block built for it. This means, y_aconf->name
5949 <       * points to the actual irc name this server will be known as.
5950 <       * Now this new server has a set or even just one hub_mask (or leaf_mask)
5951 <       * given in the link list at yy_hconf. Fill in the HUB confs
5952 <       * from this link list now.
5953 <       */        
5954 <      DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
5413 >    if (yy_aconf->host && yy_aconf->passwd && yy_aconf->spasswd)
5414 >    {
5415 >      if (conf_add_server(yy_conf, class_name) == -1)
5416 >        delete_conf_item(yy_conf);
5417 >    }
5418 >    else
5419 >    {
5420 >      if (yy_conf->name != NULL)
5421        {
5422 <        struct ConfItem *new_hub_conf;
5423 <        struct MatchItem *match_item;
5424 <
5425 <        yy_hconf = ptr->data;
5960 <
5961 <        /* yy_conf == NULL is a fatal error for this connect block! */
5962 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5963 <        {
5964 <          new_hub_conf = make_conf_item(HUB_TYPE);
5965 <          match_item = (struct MatchItem *)map_to_conf(new_hub_conf);
5966 <          DupString(new_hub_conf->name, yy_conf->name);
5967 <          if (yy_hconf->user != NULL)
5968 <            DupString(match_item->user, yy_hconf->user);
5969 <          else
5970 <            DupString(match_item->user, "*");
5971 <          if (yy_hconf->host != NULL)
5972 <            DupString(match_item->host, yy_hconf->host);
5973 <          else
5974 <            DupString(match_item->host, "*");
5975 <        }
5976 <        dlinkDelete(&yy_hconf->node, &hub_conf_list);
5977 <        free_collect_item(yy_hconf);
5422 >        if (yy_aconf->host == NULL)
5423 >          yyerror("Ignoring connect block -- missing host");
5424 >        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5425 >          yyerror("Ignoring connect block -- missing password");
5426        }
5427  
5428 <      /* Ditto for the LEAF confs */
5429 <
5430 <      DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
5431 <      {
5432 <        struct ConfItem *new_leaf_conf;
5433 <        struct MatchItem *match_item;
5434 <
5435 <        yy_lconf = ptr->data;
5436 <
5989 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5990 <        {
5991 <          new_leaf_conf = make_conf_item(LEAF_TYPE);
5992 <          match_item = (struct MatchItem *)map_to_conf(new_leaf_conf);
5993 <          DupString(new_leaf_conf->name, yy_conf->name);
5994 <          if (yy_lconf->user != NULL)
5995 <            DupString(match_item->user, yy_lconf->user);
5996 <          else
5997 <            DupString(match_item->user, "*");
5998 <          if (yy_lconf->host != NULL)
5999 <            DupString(match_item->host, yy_lconf->host);
6000 <          else
6001 <            DupString(match_item->host, "*");
6002 <        }
6003 <        dlinkDelete(&yy_lconf->node, &leaf_conf_list);
6004 <        free_collect_item(yy_lconf);
6005 <      }
6006 <      MyFree(class_name);
6007 <      class_name = NULL;
6008 <      yy_conf = NULL;
6009 <      yy_aconf = NULL;
6010 <  }
6011 < }
6012 <    break;
6013 <
6014 <  case 371:
6015 <
6016 < /* Line 1464 of yacc.c  */
6017 < #line 2316 "ircd_parser.y"
6018 <    {
6019 <  if (conf_parser_ctx.pass == 2)
6020 <  {
6021 <    if (yy_conf->name != NULL)
6022 <      yyerror("Multiple connect name entry");
5428 >      /* XXX
5429 >       * This fixes a try_connections() core (caused by invalid class_ptr
5430 >       * pointers) reported by metalrock. That's an ugly fix, but there
5431 >       * is currently no better way. The entire config subsystem needs an
5432 >       * rewrite ASAP. make_conf_item() shouldn't really add things onto
5433 >       * a doubly linked list immediately without any sanity checks!  -Michael
5434 >       */
5435 >      delete_conf_item(yy_conf);
5436 >    }
5437  
5438 <    MyFree(yy_conf->name);
5439 <    DupString(yy_conf->name, yylval.string);
5438 >    MyFree(class_name);
5439 >    class_name = NULL;
5440 >    yy_conf = NULL;
5441 >    yy_aconf = NULL;
5442    }
5443   }
5444      break;
5445  
5446 <  case 372:
5447 <
5448 < /* Line 1464 of yacc.c  */
6033 < #line 2328 "ircd_parser.y"
5446 >  case 366:
5447 > /* Line 1787 of yacc.c  */
5448 > #line 2073 "conf_parser.y"
5449      {
5450    if (conf_parser_ctx.pass == 2)
5451    {
6037    if (yy_conf->name != NULL)
6038      yyerror("Multiple connect name entry");
6039
5452      MyFree(yy_conf->name);
5453      DupString(yy_conf->name, yylval.string);
5454    }
5455   }
5456      break;
5457  
5458 <  case 373:
5459 <
5460 < /* Line 1464 of yacc.c  */
6049 < #line 2340 "ircd_parser.y"
5458 >  case 367:
5459 > /* Line 1787 of yacc.c  */
5460 > #line 2082 "conf_parser.y"
5461      {
5462    if (conf_parser_ctx.pass == 2)
5463    {
# Line 6056 | Line 5467 | yyreduce:
5467   }
5468      break;
5469  
5470 <  case 374:
5471 <
5472 < /* Line 1464 of yacc.c  */
6062 < #line 2349 "ircd_parser.y"
5470 >  case 368:
5471 > /* Line 1787 of yacc.c  */
5472 > #line 2091 "conf_parser.y"
5473      {
5474    if (conf_parser_ctx.pass == 2)
5475    {
# Line 6071 | Line 5481 | yyreduce:
5481      hints.ai_socktype = SOCK_STREAM;
5482      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
5483  
5484 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
5485 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
5484 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
5485 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
5486      else
5487      {
5488        assert(res != NULL);
5489  
5490 <      memcpy(&yy_aconf->my_ipnum, res->ai_addr, res->ai_addrlen);
5491 <      yy_aconf->my_ipnum.ss.ss_family = res->ai_family;
5492 <      yy_aconf->my_ipnum.ss_len = res->ai_addrlen;
5493 <      irc_freeaddrinfo(res);
5490 >      memcpy(&yy_aconf->bind, res->ai_addr, res->ai_addrlen);
5491 >      yy_aconf->bind.ss.ss_family = res->ai_family;
5492 >      yy_aconf->bind.ss_len = res->ai_addrlen;
5493 >      freeaddrinfo(res);
5494      }
5495    }
5496   }
5497      break;
5498  
5499 <  case 375:
5500 <
5501 < /* Line 1464 of yacc.c  */
6092 < #line 2375 "ircd_parser.y"
5499 >  case 369:
5500 > /* Line 1787 of yacc.c  */
5501 > #line 2117 "conf_parser.y"
5502      {
5503    if (conf_parser_ctx.pass == 2)
5504    {
# Line 6108 | Line 5517 | yyreduce:
5517   }
5518      break;
5519  
5520 <  case 376:
5521 <
5522 < /* Line 1464 of yacc.c  */
6114 < #line 2393 "ircd_parser.y"
5520 >  case 370:
5521 > /* Line 1787 of yacc.c  */
5522 > #line 2135 "conf_parser.y"
5523      {
5524    if (conf_parser_ctx.pass == 2)
5525    {
# Line 6130 | Line 5538 | yyreduce:
5538   }
5539      break;
5540  
5541 <  case 377:
5542 <
5543 < /* Line 1464 of yacc.c  */
6136 < #line 2411 "ircd_parser.y"
5541 >  case 371:
5542 > /* Line 1787 of yacc.c  */
5543 > #line 2153 "conf_parser.y"
5544      {
5545    if (conf_parser_ctx.pass == 2)
5546      yy_aconf->port = (yyvsp[(3) - (4)].number);
5547   }
5548      break;
5549  
5550 <  case 378:
5551 <
5552 < /* Line 1464 of yacc.c  */
6146 < #line 2417 "ircd_parser.y"
5550 >  case 372:
5551 > /* Line 1787 of yacc.c  */
5552 > #line 2159 "conf_parser.y"
5553      {
5554    if (conf_parser_ctx.pass == 2)
5555      yy_aconf->aftype = AF_INET;
5556   }
5557      break;
5558  
5559 <  case 379:
5560 <
5561 < /* Line 1464 of yacc.c  */
6156 < #line 2421 "ircd_parser.y"
5559 >  case 373:
5560 > /* Line 1787 of yacc.c  */
5561 > #line 2163 "conf_parser.y"
5562      {
5563   #ifdef IPV6
5564    if (conf_parser_ctx.pass == 2)
# Line 6162 | Line 5567 | yyreduce:
5567   }
5568      break;
5569  
5570 <  case 380:
5571 <
5572 < /* Line 1464 of yacc.c  */
6168 < #line 2429 "ircd_parser.y"
6169 <    {
6170 <  if (conf_parser_ctx.pass == 2)
6171 <  {
6172 <    MyFree(yy_aconf->fakename);
6173 <    DupString(yy_aconf->fakename, yylval.string);
6174 <  }
6175 < }
6176 <    break;
6177 <
6178 <  case 381:
6179 <
6180 < /* Line 1464 of yacc.c  */
6181 < #line 2438 "ircd_parser.y"
6182 <    {
6183 < }
6184 <    break;
6185 <
6186 <  case 385:
6187 <
6188 < /* Line 1464 of yacc.c  */
6189 < #line 2442 "ircd_parser.y"
6190 <    { not_atom = 1; }
6191 <    break;
6192 <
6193 <  case 387:
6194 <
6195 < /* Line 1464 of yacc.c  */
6196 < #line 2443 "ircd_parser.y"
6197 <    { not_atom = 0; }
6198 <    break;
6199 <
6200 <  case 389:
6201 <
6202 < /* Line 1464 of yacc.c  */
6203 < #line 2446 "ircd_parser.y"
6204 <    {
6205 <  if (conf_parser_ctx.pass == 2)
6206 < #ifndef HAVE_LIBZ
6207 <    yyerror("Ignoring flags = compressed; -- no zlib support");
6208 < #else
6209 < {
6210 <   if (not_atom)ClearConfCompressed(yy_aconf);
6211 <   else SetConfCompressed(yy_aconf);
6212 < }
6213 < #endif
6214 < }
6215 <    break;
6216 <
6217 <  case 390:
6218 <
6219 < /* Line 1464 of yacc.c  */
6220 < #line 2457 "ircd_parser.y"
6221 <    {
6222 <  if (conf_parser_ctx.pass == 2)
6223 <  {
6224 <    if (not_atom)ClearConfCryptLink(yy_aconf);
6225 <    else SetConfCryptLink(yy_aconf);
6226 <  }
6227 < }
6228 <    break;
6229 <
6230 <  case 391:
6231 <
6232 < /* Line 1464 of yacc.c  */
6233 < #line 2464 "ircd_parser.y"
5570 >  case 374:
5571 > /* Line 1787 of yacc.c  */
5572 > #line 2171 "conf_parser.y"
5573      {
6235  if (conf_parser_ctx.pass == 2)
6236  {
6237    if (not_atom)ClearConfAllowAutoConn(yy_aconf);
6238    else SetConfAllowAutoConn(yy_aconf);
6239  }
5574   }
5575      break;
5576  
5577 <  case 392:
5578 <
5579 < /* Line 1464 of yacc.c  */
6246 < #line 2471 "ircd_parser.y"
5577 >  case 378:
5578 > /* Line 1787 of yacc.c  */
5579 > #line 2176 "conf_parser.y"
5580      {
5581    if (conf_parser_ctx.pass == 2)
5582 <  {
6250 <    if (not_atom)ClearConfAwayBurst(yy_aconf);
6251 <    else SetConfAwayBurst(yy_aconf);
6252 <  }
5582 >    SetConfAllowAutoConn(yy_aconf);
5583   }
5584      break;
5585  
5586 <  case 393:
5587 <
5588 < /* Line 1464 of yacc.c  */
6259 < #line 2478 "ircd_parser.y"
5586 >  case 379:
5587 > /* Line 1787 of yacc.c  */
5588 > #line 2180 "conf_parser.y"
5589      {
5590    if (conf_parser_ctx.pass == 2)
5591 <  {
6263 <    if (not_atom)ClearConfTopicBurst(yy_aconf);
6264 <    else SetConfTopicBurst(yy_aconf);
6265 <  }
5591 >    SetConfSSL(yy_aconf);
5592   }
5593      break;
5594  
5595 <  case 394:
5596 <
5597 < /* Line 1464 of yacc.c  */
6272 < #line 2488 "ircd_parser.y"
6273 <    {
6274 < #ifdef HAVE_LIBCRYPTO
6275 <  if (conf_parser_ctx.pass == 2)
6276 <  {
6277 <    BIO *file;
6278 <
6279 <    if (yy_aconf->rsa_public_key != NULL)
6280 <    {
6281 <      RSA_free(yy_aconf->rsa_public_key);
6282 <      yy_aconf->rsa_public_key = NULL;
6283 <    }
6284 <
6285 <    if (yy_aconf->rsa_public_key_file != NULL)
6286 <    {
6287 <      MyFree(yy_aconf->rsa_public_key_file);
6288 <      yy_aconf->rsa_public_key_file = NULL;
6289 <    }
6290 <
6291 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
6292 <
6293 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
6294 <    {
6295 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
6296 <      break;
6297 <    }
6298 <
6299 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
6300 <
6301 <    if (yy_aconf->rsa_public_key == NULL)
6302 <    {
6303 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
6304 <      break;
6305 <    }
6306 <      
6307 <    BIO_set_close(file, BIO_CLOSE);
6308 <    BIO_free(file);
6309 <  }
6310 < #endif /* HAVE_LIBCRYPTO */
6311 < }
6312 <    break;
6313 <
6314 <  case 395:
6315 <
6316 < /* Line 1464 of yacc.c  */
6317 < #line 2529 "ircd_parser.y"
5595 >  case 380:
5596 > /* Line 1787 of yacc.c  */
5597 > #line 2186 "conf_parser.y"
5598      {
5599    if (conf_parser_ctx.pass == 2)
5600    {
# Line 6326 | Line 5606 | yyreduce:
5606   }
5607      break;
5608  
5609 <  case 396:
5610 <
5611 < /* Line 1464 of yacc.c  */
6332 < #line 2540 "ircd_parser.y"
5609 >  case 381:
5610 > /* Line 1787 of yacc.c  */
5611 > #line 2197 "conf_parser.y"
5612      {
5613    if (conf_parser_ctx.pass == 2)
5614    {
5615 <    struct CollectItem *yy_tmp;
5615 >    char *mask;
5616  
5617 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5618 <    DupString(yy_tmp->host, yylval.string);
6340 <    DupString(yy_tmp->user, "*");
6341 <    dlinkAdd(yy_tmp, &yy_tmp->node, &hub_conf_list);
5617 >    DupString(mask, yylval.string);
5618 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->hub_list);
5619    }
5620   }
5621      break;
5622  
5623 <  case 397:
5624 <
5625 < /* Line 1464 of yacc.c  */
6349 < #line 2553 "ircd_parser.y"
5623 >  case 382:
5624 > /* Line 1787 of yacc.c  */
5625 > #line 2208 "conf_parser.y"
5626      {
5627    if (conf_parser_ctx.pass == 2)
5628    {
5629 <    struct CollectItem *yy_tmp;
5629 >    char *mask;
5630  
5631 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5632 <    DupString(yy_tmp->host, yylval.string);
6357 <    DupString(yy_tmp->user, "*");
6358 <    dlinkAdd(yy_tmp, &yy_tmp->node, &leaf_conf_list);
5631 >    DupString(mask, yylval.string);
5632 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->leaf_list);
5633    }
5634   }
5635      break;
5636  
5637 <  case 398:
5638 <
5639 < /* Line 1464 of yacc.c  */
6366 < #line 2566 "ircd_parser.y"
5637 >  case 383:
5638 > /* Line 1787 of yacc.c  */
5639 > #line 2219 "conf_parser.y"
5640      {
5641    if (conf_parser_ctx.pass == 2)
5642    {
# Line 6373 | Line 5646 | yyreduce:
5646   }
5647      break;
5648  
5649 <  case 399:
5650 <
5651 < /* Line 1464 of yacc.c  */
6379 < #line 2575 "ircd_parser.y"
5649 >  case 384:
5650 > /* Line 1787 of yacc.c  */
5651 > #line 2228 "conf_parser.y"
5652      {
5653   #ifdef HAVE_LIBCRYPTO
5654    if (conf_parser_ctx.pass == 2)
5655    {
5656 <    struct EncCapability *ecap;
5657 <    const char *cipher_name;
6386 <    int found = 0;
6387 <
6388 <    yy_aconf->cipher_preference = NULL;
6389 <    cipher_name = yylval.string;
6390 <
6391 <    for (ecap = CipherTable; ecap->name; ecap++)
6392 <    {
6393 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6394 <          (ecap->cap & CAP_ENC_MASK))
6395 <      {
6396 <        yy_aconf->cipher_preference = ecap;
6397 <        found = 1;
6398 <        break;
6399 <      }
6400 <    }
6401 <
6402 <    if (!found)
6403 <      yyerror("Invalid cipher");
5656 >    MyFree(yy_aconf->cipher_list);
5657 >    DupString(yy_aconf->cipher_list, yylval.string);
5658    }
5659   #else
5660    if (conf_parser_ctx.pass == 2)
5661 <    yyerror("Ignoring cipher_preference -- no OpenSSL support");
5661 >    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5662   #endif
5663   }
5664      break;
5665  
5666 <  case 400:
5667 <
5668 < /* Line 1464 of yacc.c  */
6415 < #line 2610 "ircd_parser.y"
5666 >  case 385:
5667 > /* Line 1787 of yacc.c  */
5668 > #line 2246 "conf_parser.y"
5669      {
5670    if (conf_parser_ctx.pass == 2)
5671    {
# Line 6422 | Line 5675 | yyreduce:
5675   }
5676      break;
5677  
5678 <  case 401:
5679 <
5680 < /* Line 1464 of yacc.c  */
6428 < #line 2617 "ircd_parser.y"
5678 >  case 386:
5679 > /* Line 1787 of yacc.c  */
5680 > #line 2253 "conf_parser.y"
5681      {
5682    if (conf_parser_ctx.pass == 2)
5683    {
# Line 6441 | Line 5693 | yyreduce:
5693          if (!(exp_user = ircd_pcre_compile(userbuf, &errptr)) ||
5694              !(exp_host = ircd_pcre_compile(hostbuf, &errptr)))
5695          {
5696 <          ilog(L_ERROR, "Failed to add regular expression based K-Line: %s",
5696 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5697                 errptr);
5698            break;
5699          }
# Line 6458 | Line 5710 | yyreduce:
5710          else
5711            DupString(yy_aconf->reason, "No reason");
5712   #else
5713 <        ilog(L_ERROR, "Failed to add regular expression based K-Line: no PCRE support");
5713 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5714          break;
5715   #endif
5716        }
5717        else
5718        {
5719 +        find_and_delete_temporary(userbuf, hostbuf, CONF_KLINE);
5720 +
5721          yy_aconf = map_to_conf(make_conf_item(KLINE_TYPE));
5722  
5723          DupString(yy_aconf->user, userbuf);
# Line 6473 | Line 5727 | yyreduce:
5727            DupString(yy_aconf->reason, reasonbuf);
5728          else
5729            DupString(yy_aconf->reason, "No reason");
5730 <        add_conf_by_address(CONF_KILL, yy_aconf);
5730 >        add_conf_by_address(CONF_KLINE, yy_aconf);
5731        }
5732      }
5733  
# Line 6482 | Line 5736 | yyreduce:
5736   }
5737      break;
5738  
5739 <  case 402:
5740 <
5741 < /* Line 1464 of yacc.c  */
6488 < #line 2673 "ircd_parser.y"
5739 >  case 387:
5740 > /* Line 1787 of yacc.c  */
5741 > #line 2311 "conf_parser.y"
5742      {
5743   }
5744      break;
5745  
5746 <  case 406:
5747 <
5748 < /* Line 1464 of yacc.c  */
6496 < #line 2678 "ircd_parser.y"
5746 >  case 391:
5747 > /* Line 1787 of yacc.c  */
5748 > #line 2316 "conf_parser.y"
5749      {
5750    if (conf_parser_ctx.pass == 2)
5751      regex_ban = 1;
5752   }
5753      break;
5754  
5755 <  case 413:
5756 <
5757 < /* Line 1464 of yacc.c  */
6506 < #line 2687 "ircd_parser.y"
5755 >  case 398:
5756 > /* Line 1787 of yacc.c  */
5757 > #line 2325 "conf_parser.y"
5758      {
5759    if (conf_parser_ctx.pass == 2)
5760    {
# Line 6523 | Line 5774 | yyreduce:
5774   }
5775      break;
5776  
5777 <  case 414:
5778 <
5779 < /* Line 1464 of yacc.c  */
6529 < #line 2706 "ircd_parser.y"
5777 >  case 399:
5778 > /* Line 1787 of yacc.c  */
5779 > #line 2344 "conf_parser.y"
5780      {
5781    if (conf_parser_ctx.pass == 2)
5782      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5783   }
5784      break;
5785  
5786 <  case 415:
5787 <
5788 < /* Line 1464 of yacc.c  */
6539 < #line 2715 "ircd_parser.y"
5786 >  case 400:
5787 > /* Line 1787 of yacc.c  */
5788 > #line 2353 "conf_parser.y"
5789      {
5790    if (conf_parser_ctx.pass == 2)
5791      hostbuf[0] = reasonbuf[0] = '\0';
5792   }
5793      break;
5794  
5795 <  case 416:
5796 <
5797 < /* Line 1464 of yacc.c  */
6549 < #line 2719 "ircd_parser.y"
5795 >  case 401:
5796 > /* Line 1787 of yacc.c  */
5797 > #line 2357 "conf_parser.y"
5798      {
5799    if (conf_parser_ctx.pass == 2)
5800    {
5801      if (hostbuf[0] && parse_netmask(hostbuf, NULL, NULL) != HM_HOST)
5802      {
5803 +      find_and_delete_temporary(NULL, hostbuf, CONF_DLINE);
5804 +
5805        yy_aconf = map_to_conf(make_conf_item(DLINE_TYPE));
5806        DupString(yy_aconf->host, hostbuf);
5807  
# Line 6566 | Line 5816 | yyreduce:
5816   }
5817      break;
5818  
5819 <  case 422:
5820 <
5821 < /* Line 1464 of yacc.c  */
6572 < #line 2741 "ircd_parser.y"
5819 >  case 407:
5820 > /* Line 1787 of yacc.c  */
5821 > #line 2381 "conf_parser.y"
5822      {
5823    if (conf_parser_ctx.pass == 2)
5824      strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
5825   }
5826      break;
5827  
5828 <  case 423:
5829 <
5830 < /* Line 1464 of yacc.c  */
6582 < #line 2747 "ircd_parser.y"
5828 >  case 408:
5829 > /* Line 1787 of yacc.c  */
5830 > #line 2387 "conf_parser.y"
5831      {
5832    if (conf_parser_ctx.pass == 2)
5833      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5834   }
5835      break;
5836  
5837 <  case 429:
5838 <
5839 < /* Line 1464 of yacc.c  */
6592 < #line 2761 "ircd_parser.y"
5837 >  case 414:
5838 > /* Line 1787 of yacc.c  */
5839 > #line 2401 "conf_parser.y"
5840      {
5841    if (conf_parser_ctx.pass == 2)
5842    {
# Line 6605 | Line 5852 | yyreduce:
5852   }
5853      break;
5854  
5855 <  case 430:
5856 <
5857 < /* Line 1464 of yacc.c  */
6611 < #line 2779 "ircd_parser.y"
5855 >  case 415:
5856 > /* Line 1787 of yacc.c  */
5857 > #line 2419 "conf_parser.y"
5858      {
5859    if (conf_parser_ctx.pass == 2)
5860    {
# Line 6618 | Line 5864 | yyreduce:
5864   }
5865      break;
5866  
5867 <  case 431:
5868 <
5869 < /* Line 1464 of yacc.c  */
6624 < #line 2786 "ircd_parser.y"
5867 >  case 416:
5868 > /* Line 1787 of yacc.c  */
5869 > #line 2426 "conf_parser.y"
5870      {
5871    if (conf_parser_ctx.pass == 2)
5872    {
# Line 6635 | Line 5880 | yyreduce:
5880  
5881          if (!(exp_p = ircd_pcre_compile(gecos_name, &errptr)))
5882          {
5883 <          ilog(L_ERROR, "Failed to add regular expression based X-Line: %s",
5883 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5884                 errptr);
5885            break;
5886          }
# Line 6643 | Line 5888 | yyreduce:
5888          yy_conf = make_conf_item(RXLINE_TYPE);
5889          yy_conf->regexpname = exp_p;
5890   #else
5891 <        ilog(L_ERROR, "Failed to add regular expression based X-Line: no PCRE support");
5891 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5892          break;
5893   #endif
5894        }
# Line 6662 | Line 5907 | yyreduce:
5907   }
5908      break;
5909  
5910 <  case 432:
5911 <
5912 < /* Line 1464 of yacc.c  */
6668 < #line 2826 "ircd_parser.y"
5910 >  case 417:
5911 > /* Line 1787 of yacc.c  */
5912 > #line 2466 "conf_parser.y"
5913      {
5914   }
5915      break;
5916  
5917 <  case 436:
5918 <
5919 < /* Line 1464 of yacc.c  */
6676 < #line 2831 "ircd_parser.y"
5917 >  case 421:
5918 > /* Line 1787 of yacc.c  */
5919 > #line 2471 "conf_parser.y"
5920      {
5921    if (conf_parser_ctx.pass == 2)
5922      regex_ban = 1;
5923   }
5924      break;
5925  
5926 <  case 443:
5927 <
5928 < /* Line 1464 of yacc.c  */
6686 < #line 2840 "ircd_parser.y"
5926 >  case 428:
5927 > /* Line 1787 of yacc.c  */
5928 > #line 2480 "conf_parser.y"
5929      {
5930    if (conf_parser_ctx.pass == 2)
5931      strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
5932   }
5933      break;
5934  
5935 <  case 444:
5936 <
5937 < /* Line 1464 of yacc.c  */
6696 < #line 2846 "ircd_parser.y"
5935 >  case 429:
5936 > /* Line 1787 of yacc.c  */
5937 > #line 2486 "conf_parser.y"
5938      {
5939    if (conf_parser_ctx.pass == 2)
5940      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5941   }
5942      break;
5943  
5944 <  case 504:
5945 <
5946 < /* Line 1464 of yacc.c  */
6706 < #line 2891 "ircd_parser.y"
5944 >  case 487:
5945 > /* Line 1787 of yacc.c  */
5946 > #line 2531 "conf_parser.y"
5947      {
5948    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5949   }
5950      break;
5951  
5952 <  case 505:
5953 <
5954 < /* Line 1464 of yacc.c  */
6715 < #line 2896 "ircd_parser.y"
5952 >  case 488:
5953 > /* Line 1787 of yacc.c  */
5954 > #line 2536 "conf_parser.y"
5955      {
5956 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5956 >  if (conf_parser_ctx.pass == 2)
5957 >    ConfigFileEntry.glines = yylval.number;
5958   }
5959      break;
5960  
5961 <  case 506:
5962 <
5963 < /* Line 1464 of yacc.c  */
6724 < #line 2901 "ircd_parser.y"
5961 >  case 489:
5962 > /* Line 1787 of yacc.c  */
5963 > #line 2542 "conf_parser.y"
5964      {
5965 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5965 >  if (conf_parser_ctx.pass == 2)
5966 >    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5967   }
5968      break;
5969  
5970 <  case 507:
5970 >  case 490:
5971 > /* Line 1787 of yacc.c  */
5972 > #line 2548 "conf_parser.y"
5973 >    {
5974 >  if (conf_parser_ctx.pass == 2)
5975 >    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5976 > }
5977 >    break;
5978  
5979 < /* Line 1464 of yacc.c  */
5980 < #line 2906 "ircd_parser.y"
5979 >  case 491:
5980 > /* Line 1787 of yacc.c  */
5981 > #line 2554 "conf_parser.y"
5982      {
5983 <  ConfigFileEntry.burst_away = yylval.number;
5983 >  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5984   }
5985      break;
5986  
5987 <  case 508:
5987 >  case 492:
5988 > /* Line 1787 of yacc.c  */
5989 > #line 2559 "conf_parser.y"
5990 >    {
5991 >  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5992 > }
5993 >    break;
5994  
5995 < /* Line 1464 of yacc.c  */
5996 < #line 2911 "ircd_parser.y"
5995 >  case 493:
5996 > /* Line 1787 of yacc.c  */
5997 > #line 2564 "conf_parser.y"
5998      {
5999    ConfigFileEntry.use_whois_actually = yylval.number;
6000   }
6001      break;
6002  
6003 <  case 509:
6004 <
6005 < /* Line 1464 of yacc.c  */
6751 < #line 2916 "ircd_parser.y"
6003 >  case 494:
6004 > /* Line 1787 of yacc.c  */
6005 > #line 2569 "conf_parser.y"
6006      {
6007    GlobalSetOptions.rejecttime = yylval.number;
6008   }
6009      break;
6010  
6011 <  case 510:
6012 <
6013 < /* Line 1464 of yacc.c  */
6760 < #line 2921 "ircd_parser.y"
6011 >  case 495:
6012 > /* Line 1787 of yacc.c  */
6013 > #line 2574 "conf_parser.y"
6014      {
6015    ConfigFileEntry.tkline_expire_notices = yylval.number;
6016   }
6017      break;
6018  
6019 <  case 511:
6020 <
6021 < /* Line 1464 of yacc.c  */
6769 < #line 2926 "ircd_parser.y"
6019 >  case 496:
6020 > /* Line 1787 of yacc.c  */
6021 > #line 2579 "conf_parser.y"
6022      {
6023    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
6024   }
6025      break;
6026  
6027 <  case 512:
6028 <
6029 < /* Line 1464 of yacc.c  */
6778 < #line 2931 "ircd_parser.y"
6027 >  case 497:
6028 > /* Line 1787 of yacc.c  */
6029 > #line 2584 "conf_parser.y"
6030      {
6031    ConfigFileEntry.hide_spoof_ips = yylval.number;
6032   }
6033      break;
6034  
6035 <  case 513:
6036 <
6037 < /* Line 1464 of yacc.c  */
6787 < #line 2936 "ircd_parser.y"
6035 >  case 498:
6036 > /* Line 1787 of yacc.c  */
6037 > #line 2589 "conf_parser.y"
6038      {
6039    ConfigFileEntry.ignore_bogus_ts = yylval.number;
6040   }
6041      break;
6042  
6043 <  case 514:
6044 <
6045 < /* Line 1464 of yacc.c  */
6796 < #line 2941 "ircd_parser.y"
6043 >  case 499:
6044 > /* Line 1787 of yacc.c  */
6045 > #line 2594 "conf_parser.y"
6046      {
6047    ConfigFileEntry.disable_remote = yylval.number;
6048   }
6049      break;
6050  
6051 <  case 515:
6052 <
6053 < /* Line 1464 of yacc.c  */
6805 < #line 2946 "ircd_parser.y"
6051 >  case 500:
6052 > /* Line 1787 of yacc.c  */
6053 > #line 2599 "conf_parser.y"
6054      {
6055    ConfigFileEntry.failed_oper_notice = yylval.number;
6056   }
6057      break;
6058  
6059 <  case 516:
6060 <
6061 < /* Line 1464 of yacc.c  */
6814 < #line 2951 "ircd_parser.y"
6059 >  case 501:
6060 > /* Line 1787 of yacc.c  */
6061 > #line 2604 "conf_parser.y"
6062      {
6063    ConfigFileEntry.anti_nick_flood = yylval.number;
6064   }
6065      break;
6066  
6067 <  case 517:
6068 <
6069 < /* Line 1464 of yacc.c  */
6823 < #line 2956 "ircd_parser.y"
6067 >  case 502:
6068 > /* Line 1787 of yacc.c  */
6069 > #line 2609 "conf_parser.y"
6070      {
6071    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
6072   }
6073      break;
6074  
6075 <  case 518:
6076 <
6077 < /* Line 1464 of yacc.c  */
6832 < #line 2961 "ircd_parser.y"
6075 >  case 503:
6076 > /* Line 1787 of yacc.c  */
6077 > #line 2614 "conf_parser.y"
6078      {
6079    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6080   }
6081      break;
6082  
6083 <  case 519:
6084 <
6085 < /* Line 1464 of yacc.c  */
6841 < #line 2966 "ircd_parser.y"
6083 >  case 504:
6084 > /* Line 1787 of yacc.c  */
6085 > #line 2619 "conf_parser.y"
6086      {
6087    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6088   }
6089      break;
6090  
6091 <  case 520:
6092 <
6093 < /* Line 1464 of yacc.c  */
6850 < #line 2971 "ircd_parser.y"
6091 >  case 505:
6092 > /* Line 1787 of yacc.c  */
6093 > #line 2624 "conf_parser.y"
6094      {
6095    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6096   }
6097      break;
6098  
6099 <  case 521:
6100 <
6101 < /* Line 1464 of yacc.c  */
6859 < #line 2976 "ircd_parser.y"
6099 >  case 506:
6100 > /* Line 1787 of yacc.c  */
6101 > #line 2629 "conf_parser.y"
6102      {
6103    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6104   }
6105      break;
6106  
6107 <  case 522:
6108 <
6109 < /* Line 1464 of yacc.c  */
6868 < #line 2981 "ircd_parser.y"
6107 >  case 507:
6108 > /* Line 1787 of yacc.c  */
6109 > #line 2634 "conf_parser.y"
6110      {
6111    if (conf_parser_ctx.pass == 2)
6112      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6113   }
6114      break;
6115  
6116 <  case 523:
6117 <
6118 < /* Line 1464 of yacc.c  */
6878 < #line 2987 "ircd_parser.y"
6116 >  case 508:
6117 > /* Line 1787 of yacc.c  */
6118 > #line 2640 "conf_parser.y"
6119      {
6120    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6121    {
6122 <    ilog(L_CRIT, "You haven't read your config file properly.");
6123 <    ilog(L_CRIT, "There is a line in the example conf that will kill your server if not removed.");
6124 <    ilog(L_CRIT, "Consider actually reading/editing the conf file, and removing this line.");
6122 >    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
6123 >    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
6124 >    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
6125      exit(0);
6126    }
6127   }
6128      break;
6129  
6130 <  case 524:
6131 <
6132 < /* Line 1464 of yacc.c  */
6893 < #line 2998 "ircd_parser.y"
6130 >  case 509:
6131 > /* Line 1787 of yacc.c  */
6132 > #line 2651 "conf_parser.y"
6133      {
6134    ConfigFileEntry.kline_with_reason = yylval.number;
6135   }
6136      break;
6137  
6138 <  case 525:
6139 <
6140 < /* Line 1464 of yacc.c  */
6902 < #line 3003 "ircd_parser.y"
6138 >  case 510:
6139 > /* Line 1787 of yacc.c  */
6140 > #line 2656 "conf_parser.y"
6141      {
6142    if (conf_parser_ctx.pass == 2)
6143    {
# Line 6909 | Line 6147 | yyreduce:
6147   }
6148      break;
6149  
6150 <  case 526:
6151 <
6152 < /* Line 1464 of yacc.c  */
6915 < #line 3012 "ircd_parser.y"
6150 >  case 511:
6151 > /* Line 1787 of yacc.c  */
6152 > #line 2665 "conf_parser.y"
6153      {
6154    ConfigFileEntry.invisible_on_connect = yylval.number;
6155   }
6156      break;
6157  
6158 <  case 527:
6159 <
6160 < /* Line 1464 of yacc.c  */
6924 < #line 3017 "ircd_parser.y"
6158 >  case 512:
6159 > /* Line 1787 of yacc.c  */
6160 > #line 2670 "conf_parser.y"
6161      {
6162    ConfigFileEntry.warn_no_nline = yylval.number;
6163   }
6164      break;
6165  
6166 <  case 528:
6167 <
6168 < /* Line 1464 of yacc.c  */
6933 < #line 3022 "ircd_parser.y"
6166 >  case 513:
6167 > /* Line 1787 of yacc.c  */
6168 > #line 2675 "conf_parser.y"
6169      {
6170    ConfigFileEntry.stats_e_disabled = yylval.number;
6171   }
6172      break;
6173  
6174 <  case 529:
6175 <
6176 < /* Line 1464 of yacc.c  */
6942 < #line 3027 "ircd_parser.y"
6174 >  case 514:
6175 > /* Line 1787 of yacc.c  */
6176 > #line 2680 "conf_parser.y"
6177      {
6178    ConfigFileEntry.stats_o_oper_only = yylval.number;
6179   }
6180      break;
6181  
6182 <  case 530:
6183 <
6184 < /* Line 1464 of yacc.c  */
6951 < #line 3032 "ircd_parser.y"
6182 >  case 515:
6183 > /* Line 1787 of yacc.c  */
6184 > #line 2685 "conf_parser.y"
6185      {
6186    ConfigFileEntry.stats_P_oper_only = yylval.number;
6187   }
6188      break;
6189  
6190 <  case 531:
6191 <
6192 < /* Line 1464 of yacc.c  */
6960 < #line 3037 "ircd_parser.y"
6190 >  case 516:
6191 > /* Line 1787 of yacc.c  */
6192 > #line 2690 "conf_parser.y"
6193      {
6194    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6195   }
6196      break;
6197  
6198 <  case 532:
6199 <
6200 < /* Line 1464 of yacc.c  */
6969 < #line 3040 "ircd_parser.y"
6198 >  case 517:
6199 > /* Line 1787 of yacc.c  */
6200 > #line 2693 "conf_parser.y"
6201      {
6202    ConfigFileEntry.stats_k_oper_only = 1;
6203   }
6204      break;
6205  
6206 <  case 533:
6207 <
6208 < /* Line 1464 of yacc.c  */
6978 < #line 3045 "ircd_parser.y"
6206 >  case 518:
6207 > /* Line 1787 of yacc.c  */
6208 > #line 2698 "conf_parser.y"
6209      {
6210    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6211   }
6212      break;
6213  
6214 <  case 534:
6215 <
6216 < /* Line 1464 of yacc.c  */
6987 < #line 3048 "ircd_parser.y"
6214 >  case 519:
6215 > /* Line 1787 of yacc.c  */
6216 > #line 2701 "conf_parser.y"
6217      {
6218    ConfigFileEntry.stats_i_oper_only = 1;
6219   }
6220      break;
6221  
6222 <  case 535:
6223 <
6224 < /* Line 1464 of yacc.c  */
6996 < #line 3053 "ircd_parser.y"
6222 >  case 520:
6223 > /* Line 1787 of yacc.c  */
6224 > #line 2706 "conf_parser.y"
6225      {
6226    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6227   }
6228      break;
6229  
6230 <  case 536:
6231 <
6232 < /* Line 1464 of yacc.c  */
7005 < #line 3058 "ircd_parser.y"
6230 >  case 521:
6231 > /* Line 1787 of yacc.c  */
6232 > #line 2711 "conf_parser.y"
6233      {
6234    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6235   }
6236      break;
6237  
6238 <  case 537:
6239 <
6240 < /* Line 1464 of yacc.c  */
7014 < #line 3063 "ircd_parser.y"
6238 >  case 522:
6239 > /* Line 1787 of yacc.c  */
6240 > #line 2716 "conf_parser.y"
6241      {
6242    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6243   }
6244      break;
6245  
6246 <  case 538:
6247 <
6248 < /* Line 1464 of yacc.c  */
7023 < #line 3068 "ircd_parser.y"
6246 >  case 523:
6247 > /* Line 1787 of yacc.c  */
6248 > #line 2721 "conf_parser.y"
6249      {
6250    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6251   }
6252      break;
6253  
6254 <  case 539:
6255 <
6256 < /* Line 1464 of yacc.c  */
7032 < #line 3073 "ircd_parser.y"
6254 >  case 524:
6255 > /* Line 1787 of yacc.c  */
6256 > #line 2726 "conf_parser.y"
6257      {
6258    ConfigFileEntry.short_motd = yylval.number;
6259   }
6260      break;
6261  
6262 <  case 540:
6263 <
6264 < /* Line 1464 of yacc.c  */
7041 < #line 3078 "ircd_parser.y"
6262 >  case 525:
6263 > /* Line 1787 of yacc.c  */
6264 > #line 2731 "conf_parser.y"
6265      {
6266    ConfigFileEntry.no_oper_flood = yylval.number;
6267   }
6268      break;
6269  
6270 <  case 541:
6271 <
6272 < /* Line 1464 of yacc.c  */
7050 < #line 3083 "ircd_parser.y"
6270 >  case 526:
6271 > /* Line 1787 of yacc.c  */
6272 > #line 2736 "conf_parser.y"
6273      {
6274    ConfigFileEntry.true_no_oper_flood = yylval.number;
6275   }
6276      break;
6277  
6278 <  case 542:
6279 <
6280 < /* Line 1464 of yacc.c  */
7059 < #line 3088 "ircd_parser.y"
6278 >  case 527:
6279 > /* Line 1787 of yacc.c  */
6280 > #line 2741 "conf_parser.y"
6281      {
6282    ConfigFileEntry.oper_pass_resv = yylval.number;
6283   }
6284      break;
6285  
6286 <  case 543:
6287 <
6288 < /* Line 1464 of yacc.c  */
7068 < #line 3093 "ircd_parser.y"
6286 >  case 528:
6287 > /* Line 1787 of yacc.c  */
6288 > #line 2746 "conf_parser.y"
6289      {
6290    if (conf_parser_ctx.pass == 2)
6291    {
# Line 7077 | Line 6297 | yyreduce:
6297   }
6298      break;
6299  
6300 <  case 544:
6301 <
6302 < /* Line 1464 of yacc.c  */
7083 < #line 3104 "ircd_parser.y"
7084 <    {
7085 <  ConfigFileEntry.idletime = (yyvsp[(3) - (4)].number);
7086 < }
7087 <    break;
7088 <
7089 <  case 545:
7090 <
7091 < /* Line 1464 of yacc.c  */
7092 < #line 3109 "ircd_parser.y"
6300 >  case 529:
6301 > /* Line 1787 of yacc.c  */
6302 > #line 2757 "conf_parser.y"
6303      {
6304    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6305   }
6306      break;
6307  
6308 <  case 546:
6309 <
6310 < /* Line 1464 of yacc.c  */
7101 < #line 3114 "ircd_parser.y"
6308 >  case 530:
6309 > /* Line 1787 of yacc.c  */
6310 > #line 2762 "conf_parser.y"
6311      {
6312    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6313   }
6314      break;
6315  
6316 <  case 547:
6317 <
6318 < /* Line 1464 of yacc.c  */
7110 < #line 3119 "ircd_parser.y"
7111 <    {
7112 <  if (conf_parser_ctx.pass == 2)
7113 <  {
7114 <    MyFree(ConfigFileEntry.servlink_path);
7115 <    DupString(ConfigFileEntry.servlink_path, yylval.string);
7116 <  }
7117 < }
7118 <    break;
7119 <
7120 <  case 548:
7121 <
7122 < /* Line 1464 of yacc.c  */
7123 < #line 3128 "ircd_parser.y"
7124 <    {
7125 < #ifdef HAVE_LIBCRYPTO
7126 <  if (conf_parser_ctx.pass == 2)
7127 <  {
7128 <    struct EncCapability *ecap;
7129 <    const char *cipher_name;
7130 <    int found = 0;
7131 <
7132 <    ConfigFileEntry.default_cipher_preference = NULL;
7133 <    cipher_name = yylval.string;
7134 <
7135 <    for (ecap = CipherTable; ecap->name; ecap++)
6316 >  case 531:
6317 > /* Line 1787 of yacc.c  */
6318 > #line 2767 "conf_parser.y"
6319      {
6320 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
7138 <          (ecap->cap & CAP_ENC_MASK))
7139 <      {
7140 <        ConfigFileEntry.default_cipher_preference = ecap;
7141 <        found = 1;
7142 <        break;
7143 <      }
7144 <    }
7145 <
7146 <    if (!found)
7147 <      yyerror("Invalid cipher");
7148 <  }
7149 < #else
7150 <  if (conf_parser_ctx.pass == 2)
7151 <    yyerror("Ignoring default_cipher_preference -- no OpenSSL support");
7152 < #endif
6320 >  ConfigFileEntry.use_egd = yylval.number;
6321   }
6322      break;
6323  
6324 <  case 549:
6325 <
6326 < /* Line 1464 of yacc.c  */
7159 < #line 3160 "ircd_parser.y"
6324 >  case 532:
6325 > /* Line 1787 of yacc.c  */
6326 > #line 2772 "conf_parser.y"
6327      {
6328    if (conf_parser_ctx.pass == 2)
6329    {
6330 <    ConfigFileEntry.compression_level = (yyvsp[(3) - (4)].number);
6331 < #ifndef HAVE_LIBZ
7165 <    yyerror("Ignoring compression_level -- no zlib support");
7166 < #else
7167 <    if ((ConfigFileEntry.compression_level < 1) ||
7168 <        (ConfigFileEntry.compression_level > 9))
7169 <    {
7170 <      yyerror("Ignoring invalid compression_level, using default");
7171 <      ConfigFileEntry.compression_level = 0;
7172 <    }
7173 < #endif
6330 >    MyFree(ConfigFileEntry.egdpool_path);
6331 >    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6332    }
6333   }
6334      break;
6335  
6336 <  case 550:
6337 <
6338 < /* Line 1464 of yacc.c  */
7181 < #line 3178 "ircd_parser.y"
7182 <    {
7183 <  ConfigFileEntry.use_egd = yylval.number;
7184 < }
7185 <    break;
7186 <
7187 <  case 551:
7188 <
7189 < /* Line 1464 of yacc.c  */
7190 < #line 3183 "ircd_parser.y"
6336 >  case 533:
6337 > /* Line 1787 of yacc.c  */
6338 > #line 2781 "conf_parser.y"
6339      {
6340 <  if (conf_parser_ctx.pass == 2)
6340 >  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6341    {
6342 <    MyFree(ConfigFileEntry.egdpool_path);
6343 <    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6342 >    MyFree(ConfigFileEntry.service_name);
6343 >    DupString(ConfigFileEntry.service_name, yylval.string);
6344    }
6345   }
6346      break;
6347  
6348 <  case 552:
6349 <
6350 < /* Line 1464 of yacc.c  */
7203 < #line 3192 "ircd_parser.y"
6348 >  case 534:
6349 > /* Line 1787 of yacc.c  */
6350 > #line 2790 "conf_parser.y"
6351      {
6352    ConfigFileEntry.ping_cookie = yylval.number;
6353   }
6354      break;
6355  
6356 <  case 553:
6357 <
6358 < /* Line 1464 of yacc.c  */
7212 < #line 3197 "ircd_parser.y"
6356 >  case 535:
6357 > /* Line 1787 of yacc.c  */
6358 > #line 2795 "conf_parser.y"
6359      {
6360    ConfigFileEntry.disable_auth = yylval.number;
6361   }
6362      break;
6363  
6364 <  case 554:
6365 <
6366 < /* Line 1464 of yacc.c  */
7221 < #line 3202 "ircd_parser.y"
6364 >  case 536:
6365 > /* Line 1787 of yacc.c  */
6366 > #line 2800 "conf_parser.y"
6367      {
6368    ConfigFileEntry.throttle_time = yylval.number;
6369   }
6370      break;
6371  
6372 <  case 555:
6373 <
6374 < /* Line 1464 of yacc.c  */
7230 < #line 3207 "ircd_parser.y"
6372 >  case 537:
6373 > /* Line 1787 of yacc.c  */
6374 > #line 2805 "conf_parser.y"
6375      {
6376    ConfigFileEntry.oper_umodes = 0;
6377   }
6378      break;
6379  
6380 <  case 559:
6381 <
6382 < /* Line 1464 of yacc.c  */
7239 < #line 3213 "ircd_parser.y"
6380 >  case 541:
6381 > /* Line 1787 of yacc.c  */
6382 > #line 2811 "conf_parser.y"
6383      {
6384    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6385   }
6386      break;
6387  
6388 <  case 560:
6389 <
6390 < /* Line 1464 of yacc.c  */
7248 < #line 3216 "ircd_parser.y"
6388 >  case 542:
6389 > /* Line 1787 of yacc.c  */
6390 > #line 2814 "conf_parser.y"
6391      {
6392    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6393   }
6394      break;
6395  
6396 <  case 561:
6397 <
6398 < /* Line 1464 of yacc.c  */
7257 < #line 3219 "ircd_parser.y"
6396 >  case 543:
6397 > /* Line 1787 of yacc.c  */
6398 > #line 2817 "conf_parser.y"
6399      {
6400    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6401   }
6402      break;
6403  
6404 <  case 562:
6405 <
6406 < /* Line 1464 of yacc.c  */
7266 < #line 3222 "ircd_parser.y"
6404 >  case 544:
6405 > /* Line 1787 of yacc.c  */
6406 > #line 2820 "conf_parser.y"
6407      {
6408    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6409   }
6410      break;
6411  
6412 <  case 563:
6413 <
6414 < /* Line 1464 of yacc.c  */
7275 < #line 3225 "ircd_parser.y"
6412 >  case 545:
6413 > /* Line 1787 of yacc.c  */
6414 > #line 2823 "conf_parser.y"
6415      {
6416    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6417   }
6418      break;
6419  
6420 <  case 564:
6421 <
6422 < /* Line 1464 of yacc.c  */
7284 < #line 3228 "ircd_parser.y"
6420 >  case 546:
6421 > /* Line 1787 of yacc.c  */
6422 > #line 2826 "conf_parser.y"
6423      {
6424    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6425   }
6426      break;
6427  
6428 <  case 565:
6428 >  case 547:
6429 > /* Line 1787 of yacc.c  */
6430 > #line 2829 "conf_parser.y"
6431 >    {
6432 >  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6433 > }
6434 >    break;
6435  
6436 < /* Line 1464 of yacc.c  */
6437 < #line 3231 "ircd_parser.y"
6436 >  case 548:
6437 > /* Line 1787 of yacc.c  */
6438 > #line 2832 "conf_parser.y"
6439      {
6440    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6441   }
6442      break;
6443  
6444 <  case 566:
6445 <
6446 < /* Line 1464 of yacc.c  */
7302 < #line 3234 "ircd_parser.y"
6444 >  case 549:
6445 > /* Line 1787 of yacc.c  */
6446 > #line 2835 "conf_parser.y"
6447      {
6448    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6449   }
6450      break;
6451  
6452 <  case 567:
6453 <
6454 < /* Line 1464 of yacc.c  */
7311 < #line 3237 "ircd_parser.y"
6452 >  case 550:
6453 > /* Line 1787 of yacc.c  */
6454 > #line 2838 "conf_parser.y"
6455      {
6456    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6457   }
6458      break;
6459  
6460 <  case 568:
6461 <
6462 < /* Line 1464 of yacc.c  */
7320 < #line 3240 "ircd_parser.y"
6460 >  case 551:
6461 > /* Line 1787 of yacc.c  */
6462 > #line 2841 "conf_parser.y"
6463      {
6464    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6465   }
6466      break;
6467  
6468 <  case 569:
6469 <
6470 < /* Line 1464 of yacc.c  */
7329 < #line 3243 "ircd_parser.y"
6468 >  case 552:
6469 > /* Line 1787 of yacc.c  */
6470 > #line 2844 "conf_parser.y"
6471      {
6472    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6473   }
6474      break;
6475  
6476 <  case 570:
6477 <
6478 < /* Line 1464 of yacc.c  */
7338 < #line 3246 "ircd_parser.y"
6476 >  case 553:
6477 > /* Line 1787 of yacc.c  */
6478 > #line 2847 "conf_parser.y"
6479      {
6480    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6481   }
6482      break;
6483  
6484 <  case 571:
6485 <
6486 < /* Line 1464 of yacc.c  */
7347 < #line 3249 "ircd_parser.y"
6484 >  case 554:
6485 > /* Line 1787 of yacc.c  */
6486 > #line 2850 "conf_parser.y"
6487      {
6488    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6489   }
6490      break;
6491  
6492 <  case 572:
6493 <
6494 < /* Line 1464 of yacc.c  */
7356 < #line 3252 "ircd_parser.y"
6492 >  case 555:
6493 > /* Line 1787 of yacc.c  */
6494 > #line 2853 "conf_parser.y"
6495      {
6496    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6497   }
6498      break;
6499  
6500 <  case 573:
6501 <
6502 < /* Line 1464 of yacc.c  */
7365 < #line 3255 "ircd_parser.y"
6500 >  case 556:
6501 > /* Line 1787 of yacc.c  */
6502 > #line 2856 "conf_parser.y"
6503      {
6504    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6505   }
6506      break;
6507  
6508 <  case 574:
6509 <
6510 < /* Line 1464 of yacc.c  */
7374 < #line 3258 "ircd_parser.y"
6508 >  case 557:
6509 > /* Line 1787 of yacc.c  */
6510 > #line 2859 "conf_parser.y"
6511      {
6512    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6513   }
6514      break;
6515  
6516 <  case 575:
6517 <
6518 < /* Line 1464 of yacc.c  */
7383 < #line 3261 "ircd_parser.y"
6516 >  case 558:
6517 > /* Line 1787 of yacc.c  */
6518 > #line 2862 "conf_parser.y"
6519      {
6520    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6521   }
6522      break;
6523  
6524 <  case 576:
6525 <
6526 < /* Line 1464 of yacc.c  */
7392 < #line 3264 "ircd_parser.y"
6524 >  case 559:
6525 > /* Line 1787 of yacc.c  */
6526 > #line 2865 "conf_parser.y"
6527      {
6528    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6529   }
6530      break;
6531  
6532 <  case 577:
6533 <
6534 < /* Line 1464 of yacc.c  */
7401 < #line 3267 "ircd_parser.y"
6532 >  case 560:
6533 > /* Line 1787 of yacc.c  */
6534 > #line 2868 "conf_parser.y"
6535      {
6536    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6537   }
6538      break;
6539  
6540 <  case 578:
6541 <
6542 < /* Line 1464 of yacc.c  */
7410 < #line 3272 "ircd_parser.y"
6540 >  case 561:
6541 > /* Line 1787 of yacc.c  */
6542 > #line 2873 "conf_parser.y"
6543      {
6544    ConfigFileEntry.oper_only_umodes = 0;
6545   }
6546      break;
6547  
6548 <  case 582:
6549 <
6550 < /* Line 1464 of yacc.c  */
7419 < #line 3278 "ircd_parser.y"
6548 >  case 565:
6549 > /* Line 1787 of yacc.c  */
6550 > #line 2879 "conf_parser.y"
6551      {
6552    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6553   }
6554      break;
6555  
6556 <  case 583:
6557 <
6558 < /* Line 1464 of yacc.c  */
7428 < #line 3281 "ircd_parser.y"
6556 >  case 566:
6557 > /* Line 1787 of yacc.c  */
6558 > #line 2882 "conf_parser.y"
6559      {
6560    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6561   }
6562      break;
6563  
6564 <  case 584:
6565 <
6566 < /* Line 1464 of yacc.c  */
7437 < #line 3284 "ircd_parser.y"
6564 >  case 567:
6565 > /* Line 1787 of yacc.c  */
6566 > #line 2885 "conf_parser.y"
6567      {
6568    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6569   }
6570      break;
6571  
6572 <  case 585:
6573 <
6574 < /* Line 1464 of yacc.c  */
7446 < #line 3287 "ircd_parser.y"
6572 >  case 568:
6573 > /* Line 1787 of yacc.c  */
6574 > #line 2888 "conf_parser.y"
6575      {
6576    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6577   }
6578      break;
6579  
6580 <  case 586:
6581 <
6582 < /* Line 1464 of yacc.c  */
7455 < #line 3290 "ircd_parser.y"
6580 >  case 569:
6581 > /* Line 1787 of yacc.c  */
6582 > #line 2891 "conf_parser.y"
6583      {
6584    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6585   }
6586      break;
6587  
6588 <  case 587:
6589 <
6590 < /* Line 1464 of yacc.c  */
7464 < #line 3293 "ircd_parser.y"
6588 >  case 570:
6589 > /* Line 1787 of yacc.c  */
6590 > #line 2894 "conf_parser.y"
6591      {
6592    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6593   }
6594      break;
6595  
6596 <  case 588:
6597 <
6598 < /* Line 1464 of yacc.c  */
7473 < #line 3296 "ircd_parser.y"
6596 >  case 571:
6597 > /* Line 1787 of yacc.c  */
6598 > #line 2897 "conf_parser.y"
6599      {
6600    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6601   }
6602      break;
6603  
6604 <  case 589:
6604 >  case 572:
6605 > /* Line 1787 of yacc.c  */
6606 > #line 2900 "conf_parser.y"
6607 >    {
6608 >  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6609 > }
6610 >    break;
6611  
6612 < /* Line 1464 of yacc.c  */
6613 < #line 3299 "ircd_parser.y"
6612 >  case 573:
6613 > /* Line 1787 of yacc.c  */
6614 > #line 2903 "conf_parser.y"
6615      {
6616    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6617   }
6618      break;
6619  
6620 <  case 590:
6621 <
6622 < /* Line 1464 of yacc.c  */
7491 < #line 3302 "ircd_parser.y"
6620 >  case 574:
6621 > /* Line 1787 of yacc.c  */
6622 > #line 2906 "conf_parser.y"
6623      {
6624    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6625   }
6626      break;
6627  
6628 <  case 591:
6629 <
6630 < /* Line 1464 of yacc.c  */
7500 < #line 3305 "ircd_parser.y"
6628 >  case 575:
6629 > /* Line 1787 of yacc.c  */
6630 > #line 2909 "conf_parser.y"
6631      {
6632    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6633   }
6634      break;
6635  
6636 <  case 592:
6637 <
6638 < /* Line 1464 of yacc.c  */
7509 < #line 3308 "ircd_parser.y"
6636 >  case 576:
6637 > /* Line 1787 of yacc.c  */
6638 > #line 2912 "conf_parser.y"
6639      {
6640    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6641   }
6642      break;
6643  
6644 <  case 593:
6645 <
6646 < /* Line 1464 of yacc.c  */
7518 < #line 3311 "ircd_parser.y"
6644 >  case 577:
6645 > /* Line 1787 of yacc.c  */
6646 > #line 2915 "conf_parser.y"
6647      {
6648    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6649   }
6650      break;
6651  
6652 <  case 594:
6653 <
6654 < /* Line 1464 of yacc.c  */
7527 < #line 3314 "ircd_parser.y"
6652 >  case 578:
6653 > /* Line 1787 of yacc.c  */
6654 > #line 2918 "conf_parser.y"
6655      {
6656    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6657   }
6658      break;
6659  
6660 <  case 595:
6661 <
6662 < /* Line 1464 of yacc.c  */
7536 < #line 3317 "ircd_parser.y"
6660 >  case 579:
6661 > /* Line 1787 of yacc.c  */
6662 > #line 2921 "conf_parser.y"
6663      {
6664    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6665   }
6666      break;
6667  
6668 <  case 596:
6669 <
6670 < /* Line 1464 of yacc.c  */
7545 < #line 3320 "ircd_parser.y"
6668 >  case 580:
6669 > /* Line 1787 of yacc.c  */
6670 > #line 2924 "conf_parser.y"
6671      {
6672    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6673   }
6674      break;
6675  
6676 <  case 597:
6677 <
6678 < /* Line 1464 of yacc.c  */
7554 < #line 3323 "ircd_parser.y"
6676 >  case 581:
6677 > /* Line 1787 of yacc.c  */
6678 > #line 2927 "conf_parser.y"
6679      {
6680    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6681   }
6682      break;
6683  
6684 <  case 598:
6685 <
6686 < /* Line 1464 of yacc.c  */
7563 < #line 3326 "ircd_parser.y"
6684 >  case 582:
6685 > /* Line 1787 of yacc.c  */
6686 > #line 2930 "conf_parser.y"
6687      {
6688    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6689   }
6690      break;
6691  
6692 <  case 599:
6693 <
6694 < /* Line 1464 of yacc.c  */
7572 < #line 3329 "ircd_parser.y"
6692 >  case 583:
6693 > /* Line 1787 of yacc.c  */
6694 > #line 2933 "conf_parser.y"
6695      {
6696    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6697   }
6698      break;
6699  
6700 <  case 600:
6701 <
6702 < /* Line 1464 of yacc.c  */
7581 < #line 3332 "ircd_parser.y"
6700 >  case 584:
6701 > /* Line 1787 of yacc.c  */
6702 > #line 2936 "conf_parser.y"
6703      {
6704    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6705   }
6706      break;
6707  
6708 <  case 601:
6709 <
6710 < /* Line 1464 of yacc.c  */
7590 < #line 3337 "ircd_parser.y"
6708 >  case 585:
6709 > /* Line 1787 of yacc.c  */
6710 > #line 2941 "conf_parser.y"
6711      {
6712    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6713   }
6714      break;
6715  
6716 <  case 602:
6717 <
6718 < /* Line 1464 of yacc.c  */
7599 < #line 3342 "ircd_parser.y"
6716 >  case 586:
6717 > /* Line 1787 of yacc.c  */
6718 > #line 2946 "conf_parser.y"
6719      {
6720    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6721   }
6722      break;
6723  
6724 <  case 603:
6725 <
6726 < /* Line 1464 of yacc.c  */
7608 < #line 3347 "ircd_parser.y"
6724 >  case 587:
6725 > /* Line 1787 of yacc.c  */
6726 > #line 2951 "conf_parser.y"
6727      {
6728    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6729   }
6730      break;
6731  
7614  case 604:
7615
7616 /* Line 1464 of yacc.c  */
7617 #line 3352 "ircd_parser.y"
7618    {
7619  ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
7620 }
7621    break;
7622
7623  case 605:
7624
7625 /* Line 1464 of yacc.c  */
7626 #line 3361 "ircd_parser.y"
7627    {
7628  if (conf_parser_ctx.pass == 2)
7629  {
7630    yy_conf = make_conf_item(GDENY_TYPE);
7631    yy_aconf = map_to_conf(yy_conf);
7632  }
7633 }
7634    break;
7635
6732    case 606:
6733 <
6734 < /* Line 1464 of yacc.c  */
7639 < #line 3368 "ircd_parser.y"
7640 <    {
7641 <  if (conf_parser_ctx.pass == 2)
7642 <  {
7643 <    /*
7644 <     * since we re-allocate yy_conf/yy_aconf after the end of action=, at the
7645 <     * end we will have one extra, so we should free it.
7646 <     */
7647 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7648 <    {
7649 <      delete_conf_item(yy_conf);
7650 <      yy_conf = NULL;
7651 <      yy_aconf = NULL;
7652 <    }
7653 <  }
7654 < }
7655 <    break;
7656 <
7657 <  case 616:
7658 <
7659 < /* Line 1464 of yacc.c  */
7660 < #line 3394 "ircd_parser.y"
7661 <    {
7662 <  if (conf_parser_ctx.pass == 2)
7663 <    ConfigFileEntry.glines = yylval.number;
7664 < }
7665 <    break;
7666 <
7667 <  case 617:
7668 <
7669 < /* Line 1464 of yacc.c  */
7670 < #line 3400 "ircd_parser.y"
7671 <    {
7672 <  if (conf_parser_ctx.pass == 2)
7673 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7674 < }
7675 <    break;
7676 <
7677 <  case 618:
7678 <
7679 < /* Line 1464 of yacc.c  */
7680 < #line 3406 "ircd_parser.y"
7681 <    {
7682 <  if (conf_parser_ctx.pass == 2)
7683 <    ConfigFileEntry.gline_logging = 0;
7684 < }
7685 <    break;
7686 <
7687 <  case 622:
7688 <
7689 < /* Line 1464 of yacc.c  */
7690 < #line 3412 "ircd_parser.y"
7691 <    {
7692 <  if (conf_parser_ctx.pass == 2)
7693 <    ConfigFileEntry.gline_logging |= GDENY_REJECT;
7694 < }
7695 <    break;
7696 <
7697 <  case 623:
7698 <
7699 < /* Line 1464 of yacc.c  */
7700 < #line 3416 "ircd_parser.y"
7701 <    {
7702 <  if (conf_parser_ctx.pass == 2)
7703 <    ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7704 < }
7705 <    break;
7706 <
7707 <  case 624:
7708 <
7709 < /* Line 1464 of yacc.c  */
7710 < #line 3422 "ircd_parser.y"
7711 <    {
7712 <  if (conf_parser_ctx.pass == 2)
7713 <  {
7714 <    struct split_nuh_item nuh;
7715 <
7716 <    nuh.nuhmask  = yylval.string;
7717 <    nuh.nickptr  = NULL;
7718 <    nuh.userptr  = userbuf;
7719 <    nuh.hostptr  = hostbuf;
7720 <
7721 <    nuh.nicksize = 0;
7722 <    nuh.usersize = sizeof(userbuf);
7723 <    nuh.hostsize = sizeof(hostbuf);
7724 <
7725 <    split_nuh(&nuh);
7726 <
7727 <    if (yy_aconf->user == NULL)
7728 <    {
7729 <      DupString(yy_aconf->user, userbuf);
7730 <      DupString(yy_aconf->host, hostbuf);
7731 <    }
7732 <    else
7733 <    {
7734 <      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
7735 <
7736 <      DupString(yy_tmp->user, userbuf);
7737 <      DupString(yy_tmp->host, hostbuf);
7738 <
7739 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
7740 <    }
7741 <  }
7742 < }
7743 <    break;
7744 <
7745 <  case 625:
7746 <
7747 < /* Line 1464 of yacc.c  */
7748 < #line 3456 "ircd_parser.y"
7749 <    {
7750 <  if (conf_parser_ctx.pass == 2)  
7751 <  {
7752 <    MyFree(yy_conf->name);
7753 <    DupString(yy_conf->name, yylval.string);
7754 <  }
7755 < }
7756 <    break;
7757 <
7758 <  case 626:
7759 <
7760 < /* Line 1464 of yacc.c  */
7761 < #line 3465 "ircd_parser.y"
7762 <    {
7763 <  if (conf_parser_ctx.pass == 2)
7764 <    yy_aconf->flags = 0;
7765 < }
7766 <    break;
7767 <
7768 <  case 627:
7769 <
7770 < /* Line 1464 of yacc.c  */
7771 < #line 3469 "ircd_parser.y"
7772 <    {
7773 <  if (conf_parser_ctx.pass == 2)
7774 <  {
7775 <    struct CollectItem *yy_tmp = NULL;
7776 <    dlink_node *ptr, *next_ptr;
7777 <
7778 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
7779 <    {
7780 <      struct AccessItem *new_aconf;
7781 <      struct ConfItem *new_conf;
7782 <
7783 <      yy_tmp = ptr->data;
7784 <      new_conf = make_conf_item(GDENY_TYPE);
7785 <      new_aconf = map_to_conf(new_conf);
7786 <
7787 <      new_aconf->flags = yy_aconf->flags;
7788 <
7789 <      if (yy_conf->name != NULL)
7790 <        DupString(new_conf->name, yy_conf->name);
7791 <      else
7792 <        DupString(new_conf->name, "*");
7793 <      if (yy_aconf->user != NULL)
7794 <         DupString(new_aconf->user, yy_tmp->user);
7795 <      else  
7796 <        DupString(new_aconf->user, "*");
7797 <      if (yy_aconf->host != NULL)
7798 <        DupString(new_aconf->host, yy_tmp->host);
7799 <      else
7800 <        DupString(new_aconf->host, "*");
7801 <
7802 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
7803 <    }
7804 <
7805 <    /*
7806 <     * In case someone has fed us with more than one action= after user/name
7807 <     * which would leak memory  -Michael
7808 <     */
7809 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7810 <      delete_conf_item(yy_conf);
7811 <
7812 <    yy_conf = make_conf_item(GDENY_TYPE);
7813 <    yy_aconf = map_to_conf(yy_conf);
7814 <  }
7815 < }
7816 <    break;
7817 <
7818 <  case 630:
7819 <
7820 < /* Line 1464 of yacc.c  */
7821 < #line 3516 "ircd_parser.y"
7822 <    {
7823 <  if (conf_parser_ctx.pass == 2)
7824 <    yy_aconf->flags |= GDENY_REJECT;
7825 < }
7826 <    break;
7827 <
7828 <  case 631:
7829 <
7830 < /* Line 1464 of yacc.c  */
7831 < #line 3520 "ircd_parser.y"
7832 <    {
7833 <  if (conf_parser_ctx.pass == 2)
7834 <    yy_aconf->flags |= GDENY_BLOCK;
7835 < }
7836 <    break;
7837 <
7838 <  case 654:
7839 <
7840 < /* Line 1464 of yacc.c  */
7841 < #line 3544 "ircd_parser.y"
6733 > /* Line 1787 of yacc.c  */
6734 > #line 2974 "conf_parser.y"
6735      {
6736    ConfigChannel.disable_fake_channels = yylval.number;
6737   }
6738      break;
6739  
6740 <  case 655:
6741 <
6742 < /* Line 1464 of yacc.c  */
7850 < #line 3549 "ircd_parser.y"
6740 >  case 607:
6741 > /* Line 1787 of yacc.c  */
6742 > #line 2979 "conf_parser.y"
6743      {
6744    ConfigChannel.restrict_channels = yylval.number;
6745   }
6746      break;
6747  
6748 <  case 656:
6749 <
6750 < /* Line 1464 of yacc.c  */
7859 < #line 3554 "ircd_parser.y"
7860 <    {
7861 <  ConfigChannel.disable_local_channels = yylval.number;
7862 < }
7863 <    break;
7864 <
7865 <  case 657:
7866 <
7867 < /* Line 1464 of yacc.c  */
7868 < #line 3559 "ircd_parser.y"
7869 <    {
7870 <  ConfigChannel.use_except = yylval.number;
7871 < }
7872 <    break;
7873 <
7874 <  case 658:
7875 <
7876 < /* Line 1464 of yacc.c  */
7877 < #line 3564 "ircd_parser.y"
7878 <    {
7879 <  ConfigChannel.use_invex = yylval.number;
7880 < }
7881 <    break;
7882 <
7883 <  case 659:
7884 <
7885 < /* Line 1464 of yacc.c  */
7886 < #line 3569 "ircd_parser.y"
7887 <    {
7888 <  ConfigChannel.use_knock = yylval.number;
7889 < }
7890 <    break;
7891 <
7892 <  case 660:
7893 <
7894 < /* Line 1464 of yacc.c  */
7895 < #line 3574 "ircd_parser.y"
6748 >  case 608:
6749 > /* Line 1787 of yacc.c  */
6750 > #line 2984 "conf_parser.y"
6751      {
6752    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6753   }
6754      break;
6755  
6756 <  case 661:
6757 <
6758 < /* Line 1464 of yacc.c  */
7904 < #line 3579 "ircd_parser.y"
6756 >  case 609:
6757 > /* Line 1787 of yacc.c  */
6758 > #line 2989 "conf_parser.y"
6759      {
6760    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6761   }
6762      break;
6763  
6764 <  case 662:
6765 <
6766 < /* Line 1464 of yacc.c  */
7913 < #line 3584 "ircd_parser.y"
6764 >  case 610:
6765 > /* Line 1787 of yacc.c  */
6766 > #line 2994 "conf_parser.y"
6767      {
6768    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6769   }
6770      break;
6771  
6772 <  case 663:
6772 >  case 611:
6773 > /* Line 1787 of yacc.c  */
6774 > #line 2999 "conf_parser.y"
6775 >    {
6776 >  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6777 > }
6778 >    break;
6779  
6780 < /* Line 1464 of yacc.c  */
6781 < #line 3589 "ircd_parser.y"
6780 >  case 612:
6781 > /* Line 1787 of yacc.c  */
6782 > #line 3004 "conf_parser.y"
6783      {
6784    ConfigChannel.quiet_on_ban = yylval.number;
6785   }
6786      break;
6787  
6788 <  case 664:
6789 <
6790 < /* Line 1464 of yacc.c  */
7931 < #line 3594 "ircd_parser.y"
6788 >  case 613:
6789 > /* Line 1787 of yacc.c  */
6790 > #line 3009 "conf_parser.y"
6791      {
6792    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6793   }
6794      break;
6795  
6796 <  case 665:
6797 <
6798 < /* Line 1464 of yacc.c  */
7940 < #line 3599 "ircd_parser.y"
6796 >  case 614:
6797 > /* Line 1787 of yacc.c  */
6798 > #line 3014 "conf_parser.y"
6799      {
6800    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6801   }
6802      break;
6803  
6804 <  case 666:
6805 <
6806 < /* Line 1464 of yacc.c  */
7949 < #line 3604 "ircd_parser.y"
6804 >  case 615:
6805 > /* Line 1787 of yacc.c  */
6806 > #line 3019 "conf_parser.y"
6807      {
6808    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6809   }
6810      break;
6811  
6812 <  case 667:
6813 <
6814 < /* Line 1464 of yacc.c  */
7958 < #line 3609 "ircd_parser.y"
6812 >  case 616:
6813 > /* Line 1787 of yacc.c  */
6814 > #line 3024 "conf_parser.y"
6815      {
6816    ConfigChannel.no_create_on_split = yylval.number;
6817   }
6818      break;
6819  
6820 <  case 668:
6821 <
6822 < /* Line 1464 of yacc.c  */
7967 < #line 3614 "ircd_parser.y"
6820 >  case 617:
6821 > /* Line 1787 of yacc.c  */
6822 > #line 3029 "conf_parser.y"
6823      {
6824    ConfigChannel.no_join_on_split = yylval.number;
6825   }
6826      break;
6827  
6828 <  case 669:
6829 <
6830 < /* Line 1464 of yacc.c  */
7976 < #line 3619 "ircd_parser.y"
7977 <    {
7978 <  ConfigChannel.burst_topicwho = yylval.number;
7979 < }
7980 <    break;
7981 <
7982 <  case 670:
7983 <
7984 < /* Line 1464 of yacc.c  */
7985 < #line 3624 "ircd_parser.y"
6828 >  case 618:
6829 > /* Line 1787 of yacc.c  */
6830 > #line 3034 "conf_parser.y"
6831      {
6832    GlobalSetOptions.joinfloodcount = yylval.number;
6833   }
6834      break;
6835  
6836 <  case 671:
6837 <
6838 < /* Line 1464 of yacc.c  */
7994 < #line 3629 "ircd_parser.y"
6836 >  case 619:
6837 > /* Line 1787 of yacc.c  */
6838 > #line 3039 "conf_parser.y"
6839      {
6840    GlobalSetOptions.joinfloodtime = yylval.number;
6841   }
6842      break;
6843  
6844 <  case 683:
6845 <
6846 < /* Line 1464 of yacc.c  */
8003 < #line 3648 "ircd_parser.y"
6844 >  case 630:
6845 > /* Line 1787 of yacc.c  */
6846 > #line 3057 "conf_parser.y"
6847      {
6848    if (conf_parser_ctx.pass == 2)
6849      ConfigServerHide.flatten_links = yylval.number;
6850   }
6851      break;
6852  
6853 <  case 684:
6854 <
6855 < /* Line 1464 of yacc.c  */
8013 < #line 3654 "ircd_parser.y"
6853 >  case 631:
6854 > /* Line 1787 of yacc.c  */
6855 > #line 3063 "conf_parser.y"
6856      {
6857    if (conf_parser_ctx.pass == 2)
6858      ConfigServerHide.hide_servers = yylval.number;
6859   }
6860      break;
6861  
6862 <  case 685:
6863 <
6864 < /* Line 1464 of yacc.c  */
8023 < #line 3660 "ircd_parser.y"
6862 >  case 632:
6863 > /* Line 1787 of yacc.c  */
6864 > #line 3069 "conf_parser.y"
6865      {
6866    if (conf_parser_ctx.pass == 2)
6867    {
# Line 8030 | Line 6871 | yyreduce:
6871   }
6872      break;
6873  
6874 <  case 686:
6875 <
6876 < /* Line 1464 of yacc.c  */
8036 < #line 3669 "ircd_parser.y"
6874 >  case 633:
6875 > /* Line 1787 of yacc.c  */
6876 > #line 3078 "conf_parser.y"
6877      {
6878    if (conf_parser_ctx.pass == 2)
6879    {
# Line 8048 | Line 6888 | yyreduce:
6888   }
6889      break;
6890  
6891 <  case 687:
6892 <
6893 < /* Line 1464 of yacc.c  */
8054 < #line 3683 "ircd_parser.y"
6891 >  case 634:
6892 > /* Line 1787 of yacc.c  */
6893 > #line 3092 "conf_parser.y"
6894      {
6895    if (conf_parser_ctx.pass == 2)
6896      ConfigServerHide.hidden = yylval.number;
6897   }
6898      break;
6899  
6900 <  case 688:
6901 <
6902 < /* Line 1464 of yacc.c  */
8064 < #line 3689 "ircd_parser.y"
8065 <    {
8066 <  if (conf_parser_ctx.pass == 2)
8067 <    ConfigServerHide.disable_hidden = yylval.number;
8068 < }
8069 <    break;
8070 <
8071 <  case 689:
8072 <
8073 < /* Line 1464 of yacc.c  */
8074 < #line 3695 "ircd_parser.y"
6900 >  case 635:
6901 > /* Line 1787 of yacc.c  */
6902 > #line 3098 "conf_parser.y"
6903      {
6904    if (conf_parser_ctx.pass == 2)
6905      ConfigServerHide.hide_server_ips = yylval.number;
# Line 8079 | Line 6907 | yyreduce:
6907      break;
6908  
6909  
6910 <
6911 < /* Line 1464 of yacc.c  */
8084 < #line 8085 "ircd_parser.c"
6910 > /* Line 1787 of yacc.c  */
6911 > #line 6912 "conf_parser.c"
6912        default: break;
6913      }
6914 +  /* User semantic actions sometimes alter yychar, and that requires
6915 +     that yytoken be updated with the new translation.  We take the
6916 +     approach of translating immediately before every use of yytoken.
6917 +     One alternative is translating here after every semantic action,
6918 +     but that translation would be missed if the semantic action invokes
6919 +     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
6920 +     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
6921 +     incorrect destructor might then be invoked immediately.  In the
6922 +     case of YYERROR or YYBACKUP, subsequent parser actions might lead
6923 +     to an incorrect destructor call or verbose syntax error message
6924 +     before the lookahead is translated.  */
6925    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
6926  
6927    YYPOPSTACK (yylen);
# Line 8111 | Line 6949 | yyreduce:
6949   | yyerrlab -- here on detecting error |
6950   `------------------------------------*/
6951   yyerrlab:
6952 +  /* Make sure we have latest lookahead translation.  See comments at
6953 +     user semantic actions for why this is necessary.  */
6954 +  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
6955 +
6956    /* If not already recovering from an error, report this error.  */
6957    if (!yyerrstatus)
6958      {
# Line 8118 | Line 6960 | yyerrlab:
6960   #if ! YYERROR_VERBOSE
6961        yyerror (YY_("syntax error"));
6962   #else
6963 + # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
6964 +                                        yyssp, yytoken)
6965        {
6966 <        YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
6967 <        if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
6968 <          {
6969 <            YYSIZE_T yyalloc = 2 * yysize;
6970 <            if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
6971 <              yyalloc = YYSTACK_ALLOC_MAXIMUM;
6972 <            if (yymsg != yymsgbuf)
6973 <              YYSTACK_FREE (yymsg);
6974 <            yymsg = (char *) YYSTACK_ALLOC (yyalloc);
6975 <            if (yymsg)
6976 <              yymsg_alloc = yyalloc;
6977 <            else
6978 <              {
6979 <                yymsg = yymsgbuf;
6980 <                yymsg_alloc = sizeof yymsgbuf;
6981 <              }
6982 <          }
6983 <
6984 <        if (0 < yysize && yysize <= yymsg_alloc)
6985 <          {
6986 <            (void) yysyntax_error (yymsg, yystate, yychar);
6987 <            yyerror (yymsg);
6988 <          }
6989 <        else
6990 <          {
8147 <            yyerror (YY_("syntax error"));
8148 <            if (yysize != 0)
8149 <              goto yyexhaustedlab;
8150 <          }
6966 >        char const *yymsgp = YY_("syntax error");
6967 >        int yysyntax_error_status;
6968 >        yysyntax_error_status = YYSYNTAX_ERROR;
6969 >        if (yysyntax_error_status == 0)
6970 >          yymsgp = yymsg;
6971 >        else if (yysyntax_error_status == 1)
6972 >          {
6973 >            if (yymsg != yymsgbuf)
6974 >              YYSTACK_FREE (yymsg);
6975 >            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
6976 >            if (!yymsg)
6977 >              {
6978 >                yymsg = yymsgbuf;
6979 >                yymsg_alloc = sizeof yymsgbuf;
6980 >                yysyntax_error_status = 2;
6981 >              }
6982 >            else
6983 >              {
6984 >                yysyntax_error_status = YYSYNTAX_ERROR;
6985 >                yymsgp = yymsg;
6986 >              }
6987 >          }
6988 >        yyerror (yymsgp);
6989 >        if (yysyntax_error_status == 2)
6990 >          goto yyexhaustedlab;
6991        }
6992 + # undef YYSYNTAX_ERROR
6993   #endif
6994      }
6995  
# Line 8207 | Line 7048 | yyerrlab1:
7048    for (;;)
7049      {
7050        yyn = yypact[yystate];
7051 <      if (yyn != YYPACT_NINF)
7051 >      if (!yypact_value_is_default (yyn))
7052          {
7053            yyn += YYTERROR;
7054            if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
# Line 8254 | Line 7095 | yyabortlab:
7095    yyresult = 1;
7096    goto yyreturn;
7097  
7098 < #if !defined(yyoverflow) || YYERROR_VERBOSE
7098 > #if !defined yyoverflow || YYERROR_VERBOSE
7099   /*-------------------------------------------------.
7100   | yyexhaustedlab -- memory exhaustion comes here.  |
7101   `-------------------------------------------------*/
# Line 8266 | Line 7107 | yyexhaustedlab:
7107  
7108   yyreturn:
7109    if (yychar != YYEMPTY)
7110 <     yydestruct ("Cleanup: discarding lookahead",
7111 <                 yytoken, &yylval);
7110 >    {
7111 >      /* Make sure we have latest lookahead translation.  See comments at
7112 >         user semantic actions for why this is necessary.  */
7113 >      yytoken = YYTRANSLATE (yychar);
7114 >      yydestruct ("Cleanup: discarding lookahead",
7115 >                  yytoken, &yylval);
7116 >    }
7117    /* Do not reclaim the symbols of the rule which action triggered
7118       this YYABORT or YYACCEPT.  */
7119    YYPOPSTACK (yylen);
# Line 8291 | Line 7137 | yyreturn:
7137   }
7138  
7139  
8294

Diff Legend

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