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-8/src/conf_parser.c (file contents), Revision 1416 by michael, Sat May 26 11:45:43 2012 UTC vs.
ircd-hybrid/trunk/src/conf_parser.c (file contents), Revision 1646 by michael, Wed Nov 7 21:02:43 2012 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.5.  */
1 > /* A Bison parser, made by GNU Bison 2.6.2.33-cc5a9.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4    
5 <      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
5 >      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6    
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.5"
47 > #define YYBISON_VERSION "2.6.2.33-cc5a9"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 58 | Line 58
58   /* Pull parsers.  */
59   #define YYPULL 1
60  
61 /* Using locations.  */
62 #define YYLSP_NEEDED 0
61  
62  
63  
64   /* Copy the first part of user declarations.  */
65 <
68 < /* Line 268 of yacc.c  */
65 > /* Line 358 of yacc.c  */
66   #line 25 "conf_parser.y"
67  
68  
# Line 78 | Line 75
75   #include "ircd.h"
76   #include "list.h"
77   #include "conf.h"
78 + #include "conf_class.h"
79   #include "event.h"
80   #include "log.h"
81   #include "client.h"     /* for UMODE_ALL only */
# Line 103 | Line 101
101   int yylex(void);
102  
103   static char *class_name = NULL;
104 < static struct ConfItem *yy_conf = NULL;
107 < static struct AccessItem *yy_aconf = NULL;
108 < static struct MatchItem *yy_match_item = NULL;
104 > static struct MaskItem *yy_conf = NULL;
105   static struct ClassItem *yy_class = NULL;
106   static char *yy_class_name = NULL;
107  
# Line 122 | Line 118 | static unsigned int lsize = 0;
118   static char *resv_reason = NULL;
119   static char *listener_address = NULL;
120  
121 < struct CollectItem
121 > static struct
122   {
123 <  dlink_node node;
124 <  char *name;
125 <  char *user;
126 <  char *host;
127 <  char *passwd;
128 <  int  port;
129 <  int  flags;
130 < #ifdef HAVE_LIBCRYPTO
131 <  char *rsa_public_key_file;
132 <  RSA *rsa_public_key;
133 < #endif
134 < };
123 >  struct {
124 >    dlink_list list;
125 >  } mask,
126 >    leaf,
127 >    hub;
128 >
129 >  struct {
130 >    char buf[IRCD_BUFSIZE];
131 >  } name,
132 >    user,
133 >    host,
134 >    addr,
135 >    pass,
136 >    file,
137 >    class;
138 >
139 >  struct {
140 >    unsigned int value;
141 >  } flags,
142 >    modes,
143 >    port,
144 >    ping_freq,
145 >    max_perip,
146 >    con_freq,
147 >    max_total,
148 >    max_global,
149 >    max_local,
150 >    max_ident,
151 >    max_sendq,
152 >    max_recvq,
153 >    cidr_bitlen_ipv4,
154 >    cidr_bitlen_ipv6,
155 >    number_per_cidr;
156 > } block_state;
157  
158   static void
159 < free_collect_item(struct CollectItem *item)
159 > reset_block_state(void)
160   {
161 <  MyFree(item->name);
162 <  MyFree(item->user);
163 <  MyFree(item->host);
164 <  MyFree(item->passwd);
165 < #ifdef HAVE_LIBCRYPTO
166 <  MyFree(item->rsa_public_key_file);
167 < #endif
168 <  MyFree(item);
151 < }
161 >  dlink_node *ptr = NULL, *ptr_next = NULL;
162 >
163 >  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.mask.list.head)
164 >  {
165 >    MyFree(ptr->data);
166 >    dlinkDelete(ptr, &block_state.mask.list);
167 >    free_dlink_node(ptr);
168 >  }
169  
170 +  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.leaf.list.head)
171 +  {
172 +    MyFree(ptr->data);
173 +    dlinkDelete(ptr, &block_state.leaf.list);
174 +    free_dlink_node(ptr);
175 +  }
176 +
177 +  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.hub.list.head)
178 +  {
179 +    MyFree(ptr->data);
180 +    dlinkDelete(ptr, &block_state.hub.list);
181 +    free_dlink_node(ptr);
182 +  }
183  
184 +  memset(&block_state, 0, sizeof(block_state));
185 + }
186  
155 /* Line 268 of yacc.c  */
156 #line 157 "conf_parser.c"
187  
188 < /* Enabling traces.  */
189 < #ifndef YYDEBUG
190 < # define YYDEBUG 0
191 < #endif
188 > /* Line 358 of yacc.c  */
189 > #line 190 "conf_parser.c"
190 >
191 > # ifndef YY_NULL
192 > #  if defined __cplusplus && 201103L <= __cplusplus
193 > #   define YY_NULL nullptr
194 > #  else
195 > #   define YY_NULL 0
196 > #  endif
197 > # endif
198  
199   /* Enabling verbose error messages.  */
200   #ifdef YYERROR_VERBOSE
# Line 168 | Line 204 | free_collect_item(struct CollectItem *it
204   # define YYERROR_VERBOSE 0
205   #endif
206  
207 < /* Enabling the token table.  */
208 < #ifndef YYTOKEN_TABLE
209 < # define YYTOKEN_TABLE 0
207 > /* In a future release of Bison, this section will be replaced
208 >   by #include "y.tab.h".  */
209 > #ifndef YY_YY_Y_TAB_H_INCLUDED
210 > # define YY_YY_Y_TAB_H_INCLUDED
211 > /* Enabling traces.  */
212 > #ifndef YYDEBUG
213 > # define YYDEBUG 0
214 > #endif
215 > #if YYDEBUG
216 > extern int yydebug;
217   #endif
175
218  
219   /* Tokens.  */
220   #ifndef YYTOKENTYPE
# Line 181 | Line 223 | free_collect_item(struct CollectItem *it
223        know about them.  */
224     enum yytokentype {
225       ACCEPT_PASSWORD = 258,
226 <     ACTION = 259,
227 <     ADMIN = 260,
228 <     AFTYPE = 261,
229 <     T_ALLOW = 262,
230 <     ANTI_NICK_FLOOD = 263,
231 <     ANTI_SPAM_EXIT_MESSAGE_TIME = 264,
232 <     AUTOCONN = 265,
233 <     T_BLOCK = 266,
234 <     BURST_AWAY = 267,
235 <     BYTES = 268,
236 <     KBYTES = 269,
237 <     MBYTES = 270,
238 <     GBYTES = 271,
239 <     TBYTES = 272,
240 <     CALLER_ID_WAIT = 273,
241 <     CAN_FLOOD = 274,
242 <     CHANNEL = 275,
243 <     CIDR_BITLEN_IPV4 = 276,
244 <     CIDR_BITLEN_IPV6 = 277,
245 <     CLASS = 278,
246 <     CONNECT = 279,
247 <     CONNECTFREQ = 280,
248 <     DEFAULT_FLOODCOUNT = 281,
249 <     DEFAULT_SPLIT_SERVER_COUNT = 282,
250 <     DEFAULT_SPLIT_USER_COUNT = 283,
251 <     DENY = 284,
252 <     DESCRIPTION = 285,
253 <     DIE = 286,
254 <     DISABLE_AUTH = 287,
255 <     DISABLE_FAKE_CHANNELS = 288,
256 <     DISABLE_HIDDEN = 289,
257 <     DISABLE_LOCAL_CHANNELS = 290,
258 <     DISABLE_REMOTE_COMMANDS = 291,
259 <     DOTS_IN_IDENT = 292,
260 <     DURATION = 293,
261 <     EGDPOOL_PATH = 294,
262 <     EMAIL = 295,
263 <     ENABLE = 296,
264 <     ENCRYPTED = 297,
265 <     EXCEED_LIMIT = 298,
266 <     EXEMPT = 299,
267 <     FAILED_OPER_NOTICE = 300,
268 <     IRCD_FLAGS = 301,
269 <     FLATTEN_LINKS = 302,
270 <     GECOS = 303,
271 <     GENERAL = 304,
272 <     GLINE = 305,
273 <     GLINES = 306,
274 <     GLINE_EXEMPT = 307,
275 <     GLINE_TIME = 308,
276 <     GLINE_MIN_CIDR = 309,
277 <     GLINE_MIN_CIDR6 = 310,
278 <     GLOBAL_KILL = 311,
279 <     IRCD_AUTH = 312,
280 <     NEED_IDENT = 313,
281 <     HAVENT_READ_CONF = 314,
282 <     HIDDEN = 315,
283 <     HIDDEN_NAME = 316,
284 <     HIDE_SERVER_IPS = 317,
285 <     HIDE_SERVERS = 318,
286 <     HIDE_SPOOF_IPS = 319,
287 <     HOST = 320,
288 <     HUB = 321,
289 <     HUB_MASK = 322,
290 <     IGNORE_BOGUS_TS = 323,
291 <     INVISIBLE_ON_CONNECT = 324,
292 <     IP = 325,
293 <     KILL = 326,
294 <     KILL_CHASE_TIME_LIMIT = 327,
295 <     KLINE = 328,
296 <     KLINE_EXEMPT = 329,
297 <     KLINE_REASON = 330,
298 <     KLINE_WITH_REASON = 331,
299 <     KNOCK_DELAY = 332,
300 <     KNOCK_DELAY_CHANNEL = 333,
301 <     LEAF_MASK = 334,
302 <     LINKS_DELAY = 335,
303 <     LISTEN = 336,
304 <     T_LOG = 337,
305 <     MAX_ACCEPT = 338,
306 <     MAX_BANS = 339,
307 <     MAX_CHANS_PER_USER = 340,
308 <     MAX_GLOBAL = 341,
309 <     MAX_IDENT = 342,
310 <     MAX_LOCAL = 343,
311 <     MAX_NICK_CHANGES = 344,
312 <     MAX_NICK_TIME = 345,
313 <     MAX_NUMBER = 346,
314 <     MAX_TARGETS = 347,
315 <     MAX_WATCH = 348,
316 <     MESSAGE_LOCALE = 349,
317 <     MIN_NONWILDCARD = 350,
318 <     MIN_NONWILDCARD_SIMPLE = 351,
319 <     MODULE = 352,
320 <     MODULES = 353,
321 <     NAME = 354,
322 <     NEED_PASSWORD = 355,
323 <     NETWORK_DESC = 356,
324 <     NETWORK_NAME = 357,
325 <     NICK = 358,
326 <     NICK_CHANGES = 359,
327 <     NO_CREATE_ON_SPLIT = 360,
328 <     NO_JOIN_ON_SPLIT = 361,
329 <     NO_OPER_FLOOD = 362,
330 <     NO_TILDE = 363,
331 <     NUMBER = 364,
332 <     NUMBER_PER_IDENT = 365,
333 <     NUMBER_PER_CIDR = 366,
334 <     NUMBER_PER_IP = 367,
335 <     NUMBER_PER_IP_GLOBAL = 368,
336 <     OPERATOR = 369,
337 <     OPERS_BYPASS_CALLERID = 370,
338 <     OPER_ONLY_UMODES = 371,
339 <     OPER_PASS_RESV = 372,
340 <     OPER_SPY_T = 373,
341 <     OPER_UMODES = 374,
342 <     JOIN_FLOOD_COUNT = 375,
343 <     JOIN_FLOOD_TIME = 376,
344 <     PACE_WAIT = 377,
345 <     PACE_WAIT_SIMPLE = 378,
346 <     PASSWORD = 379,
347 <     PATH = 380,
348 <     PING_COOKIE = 381,
349 <     PING_TIME = 382,
350 <     PING_WARNING = 383,
351 <     PORT = 384,
352 <     QSTRING = 385,
353 <     QUIET_ON_BAN = 386,
354 <     REASON = 387,
355 <     REDIRPORT = 388,
356 <     REDIRSERV = 389,
357 <     REGEX_T = 390,
358 <     REHASH = 391,
359 <     TREJECT_HOLD_TIME = 392,
360 <     REMOTE = 393,
361 <     REMOTEBAN = 394,
362 <     RESTRICT_CHANNELS = 395,
363 <     RESTRICTED = 396,
364 <     RSA_PRIVATE_KEY_FILE = 397,
365 <     RSA_PUBLIC_KEY_FILE = 398,
366 <     SSL_CERTIFICATE_FILE = 399,
367 <     SSL_DH_PARAM_FILE = 400,
368 <     T_SSL_CLIENT_METHOD = 401,
369 <     T_SSL_SERVER_METHOD = 402,
370 <     T_SSLV3 = 403,
371 <     T_TLSV1 = 404,
372 <     RESV = 405,
373 <     RESV_EXEMPT = 406,
374 <     SECONDS = 407,
375 <     MINUTES = 408,
376 <     HOURS = 409,
377 <     DAYS = 410,
378 <     WEEKS = 411,
379 <     SENDQ = 412,
380 <     SEND_PASSWORD = 413,
381 <     SERVERHIDE = 414,
382 <     SERVERINFO = 415,
383 <     IRCD_SID = 416,
384 <     TKLINE_EXPIRE_NOTICES = 417,
385 <     T_SHARED = 418,
386 <     T_CLUSTER = 419,
387 <     TYPE = 420,
388 <     SHORT_MOTD = 421,
389 <     SILENT = 422,
390 <     SPOOF = 423,
391 <     SPOOF_NOTICE = 424,
392 <     STATS_E_DISABLED = 425,
393 <     STATS_I_OPER_ONLY = 426,
394 <     STATS_K_OPER_ONLY = 427,
395 <     STATS_O_OPER_ONLY = 428,
396 <     STATS_P_OPER_ONLY = 429,
397 <     TBOOL = 430,
398 <     TMASKED = 431,
399 <     T_REJECT = 432,
400 <     TS_MAX_DELTA = 433,
401 <     TS_WARN_DELTA = 434,
402 <     TWODOTS = 435,
403 <     T_ALL = 436,
404 <     T_BOTS = 437,
405 <     T_SOFTCALLERID = 438,
406 <     T_CALLERID = 439,
407 <     T_CCONN = 440,
408 <     T_CCONN_FULL = 441,
409 <     T_SSL_CIPHER_LIST = 442,
410 <     T_CLIENT_FLOOD = 443,
411 <     T_DEAF = 444,
412 <     T_DEBUG = 445,
413 <     T_DLINE = 446,
414 <     T_DRONE = 447,
415 <     T_EXTERNAL = 448,
416 <     T_FULL = 449,
417 <     T_INVISIBLE = 450,
418 <     T_IPV4 = 451,
419 <     T_IPV6 = 452,
420 <     T_LOCOPS = 453,
421 <     T_MAX_CLIENTS = 454,
422 <     T_NCHANGE = 455,
423 <     T_OPERWALL = 456,
424 <     T_REJ = 457,
425 <     T_SERVER = 458,
426 <     T_SERVNOTICE = 459,
427 <     T_SKILL = 460,
428 <     T_SPY = 461,
429 <     T_SSL = 462,
430 <     T_UMODES = 463,
431 <     T_UNAUTH = 464,
432 <     T_UNDLINE = 465,
433 <     T_UNLIMITED = 466,
434 <     T_UNRESV = 467,
435 <     T_UNXLINE = 468,
394 <     T_GLOBOPS = 469,
395 <     T_WALLOP = 470,
396 <     T_RESTART = 471,
397 <     T_SERVICE = 472,
398 <     T_SERVICES_NAME = 473,
399 <     THROTTLE_TIME = 474,
400 <     TOPICBURST = 475,
401 <     TRUE_NO_OPER_FLOOD = 476,
402 <     TKLINE = 477,
403 <     TXLINE = 478,
404 <     TRESV = 479,
405 <     UNKLINE = 480,
406 <     USER = 481,
407 <     USE_EGD = 482,
408 <     USE_EXCEPT = 483,
409 <     USE_INVEX = 484,
410 <     USE_KNOCK = 485,
411 <     USE_LOGGING = 486,
412 <     USE_WHOIS_ACTUALLY = 487,
413 <     VHOST = 488,
414 <     VHOST6 = 489,
415 <     XLINE = 490,
416 <     WARN = 491,
417 <     WARN_NO_NLINE = 492,
418 <     T_SIZE = 493,
419 <     T_FILE = 494
226 >     ADMIN = 259,
227 >     AFTYPE = 260,
228 >     ANTI_NICK_FLOOD = 261,
229 >     ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
230 >     AUTOCONN = 263,
231 >     BYTES = 264,
232 >     KBYTES = 265,
233 >     MBYTES = 266,
234 >     CALLER_ID_WAIT = 267,
235 >     CAN_FLOOD = 268,
236 >     CHANNEL = 269,
237 >     CIDR_BITLEN_IPV4 = 270,
238 >     CIDR_BITLEN_IPV6 = 271,
239 >     CLASS = 272,
240 >     CONNECT = 273,
241 >     CONNECTFREQ = 274,
242 >     DEFAULT_FLOODCOUNT = 275,
243 >     DEFAULT_SPLIT_SERVER_COUNT = 276,
244 >     DEFAULT_SPLIT_USER_COUNT = 277,
245 >     DENY = 278,
246 >     DESCRIPTION = 279,
247 >     DIE = 280,
248 >     DISABLE_AUTH = 281,
249 >     DISABLE_FAKE_CHANNELS = 282,
250 >     DISABLE_REMOTE_COMMANDS = 283,
251 >     DOTS_IN_IDENT = 284,
252 >     EGDPOOL_PATH = 285,
253 >     EMAIL = 286,
254 >     ENCRYPTED = 287,
255 >     EXCEED_LIMIT = 288,
256 >     EXEMPT = 289,
257 >     FAILED_OPER_NOTICE = 290,
258 >     IRCD_FLAGS = 291,
259 >     FLATTEN_LINKS = 292,
260 >     GECOS = 293,
261 >     GENERAL = 294,
262 >     GLINE = 295,
263 >     GLINE_DURATION = 296,
264 >     GLINE_ENABLE = 297,
265 >     GLINE_EXEMPT = 298,
266 >     GLINE_REQUEST_DURATION = 299,
267 >     GLINE_MIN_CIDR = 300,
268 >     GLINE_MIN_CIDR6 = 301,
269 >     GLOBAL_KILL = 302,
270 >     IRCD_AUTH = 303,
271 >     NEED_IDENT = 304,
272 >     HAVENT_READ_CONF = 305,
273 >     HIDDEN = 306,
274 >     HIDDEN_NAME = 307,
275 >     HIDE_SERVER_IPS = 308,
276 >     HIDE_SERVERS = 309,
277 >     HIDE_SPOOF_IPS = 310,
278 >     HOST = 311,
279 >     HUB = 312,
280 >     HUB_MASK = 313,
281 >     IGNORE_BOGUS_TS = 314,
282 >     INVISIBLE_ON_CONNECT = 315,
283 >     IP = 316,
284 >     KILL = 317,
285 >     KILL_CHASE_TIME_LIMIT = 318,
286 >     KLINE = 319,
287 >     KLINE_EXEMPT = 320,
288 >     KNOCK_DELAY = 321,
289 >     KNOCK_DELAY_CHANNEL = 322,
290 >     LEAF_MASK = 323,
291 >     LINKS_DELAY = 324,
292 >     LISTEN = 325,
293 >     T_LOG = 326,
294 >     MAX_ACCEPT = 327,
295 >     MAX_BANS = 328,
296 >     MAX_CHANS_PER_OPER = 329,
297 >     MAX_CHANS_PER_USER = 330,
298 >     MAX_GLOBAL = 331,
299 >     MAX_IDENT = 332,
300 >     MAX_LOCAL = 333,
301 >     MAX_NICK_CHANGES = 334,
302 >     MAX_NICK_TIME = 335,
303 >     MAX_NUMBER = 336,
304 >     MAX_TARGETS = 337,
305 >     MAX_WATCH = 338,
306 >     MESSAGE_LOCALE = 339,
307 >     MIN_NONWILDCARD = 340,
308 >     MIN_NONWILDCARD_SIMPLE = 341,
309 >     MODULE = 342,
310 >     MODULES = 343,
311 >     NAME = 344,
312 >     NEED_PASSWORD = 345,
313 >     NETWORK_DESC = 346,
314 >     NETWORK_NAME = 347,
315 >     NICK = 348,
316 >     NICK_CHANGES = 349,
317 >     NO_CREATE_ON_SPLIT = 350,
318 >     NO_JOIN_ON_SPLIT = 351,
319 >     NO_OPER_FLOOD = 352,
320 >     NO_TILDE = 353,
321 >     NUMBER = 354,
322 >     NUMBER_PER_CIDR = 355,
323 >     NUMBER_PER_IP = 356,
324 >     OPERATOR = 357,
325 >     OPERS_BYPASS_CALLERID = 358,
326 >     OPER_ONLY_UMODES = 359,
327 >     OPER_PASS_RESV = 360,
328 >     OPER_SPY_T = 361,
329 >     OPER_UMODES = 362,
330 >     JOIN_FLOOD_COUNT = 363,
331 >     JOIN_FLOOD_TIME = 364,
332 >     PACE_WAIT = 365,
333 >     PACE_WAIT_SIMPLE = 366,
334 >     PASSWORD = 367,
335 >     PATH = 368,
336 >     PING_COOKIE = 369,
337 >     PING_TIME = 370,
338 >     PORT = 371,
339 >     QSTRING = 372,
340 >     QUIET_ON_BAN = 373,
341 >     REASON = 374,
342 >     REDIRPORT = 375,
343 >     REDIRSERV = 376,
344 >     REGEX_T = 377,
345 >     REHASH = 378,
346 >     REMOTE = 379,
347 >     REMOTEBAN = 380,
348 >     RESTRICT_CHANNELS = 381,
349 >     RSA_PRIVATE_KEY_FILE = 382,
350 >     RSA_PUBLIC_KEY_FILE = 383,
351 >     SSL_CERTIFICATE_FILE = 384,
352 >     SSL_DH_PARAM_FILE = 385,
353 >     T_SSL_CLIENT_METHOD = 386,
354 >     T_SSL_SERVER_METHOD = 387,
355 >     T_SSLV3 = 388,
356 >     T_TLSV1 = 389,
357 >     RESV = 390,
358 >     RESV_EXEMPT = 391,
359 >     SECONDS = 392,
360 >     MINUTES = 393,
361 >     HOURS = 394,
362 >     DAYS = 395,
363 >     WEEKS = 396,
364 >     SENDQ = 397,
365 >     SEND_PASSWORD = 398,
366 >     SERVERHIDE = 399,
367 >     SERVERINFO = 400,
368 >     IRCD_SID = 401,
369 >     TKLINE_EXPIRE_NOTICES = 402,
370 >     T_SHARED = 403,
371 >     T_CLUSTER = 404,
372 >     TYPE = 405,
373 >     SHORT_MOTD = 406,
374 >     SPOOF = 407,
375 >     SPOOF_NOTICE = 408,
376 >     STATS_E_DISABLED = 409,
377 >     STATS_I_OPER_ONLY = 410,
378 >     STATS_K_OPER_ONLY = 411,
379 >     STATS_O_OPER_ONLY = 412,
380 >     STATS_P_OPER_ONLY = 413,
381 >     TBOOL = 414,
382 >     TMASKED = 415,
383 >     TS_MAX_DELTA = 416,
384 >     TS_WARN_DELTA = 417,
385 >     TWODOTS = 418,
386 >     T_ALL = 419,
387 >     T_BOTS = 420,
388 >     T_SOFTCALLERID = 421,
389 >     T_CALLERID = 422,
390 >     T_CCONN = 423,
391 >     T_CCONN_FULL = 424,
392 >     T_SSL_CIPHER_LIST = 425,
393 >     T_DEAF = 426,
394 >     T_DEBUG = 427,
395 >     T_DLINE = 428,
396 >     T_EXTERNAL = 429,
397 >     T_FULL = 430,
398 >     T_INVISIBLE = 431,
399 >     T_IPV4 = 432,
400 >     T_IPV6 = 433,
401 >     T_LOCOPS = 434,
402 >     T_MAX_CLIENTS = 435,
403 >     T_NCHANGE = 436,
404 >     T_OPERWALL = 437,
405 >     T_RECVQ = 438,
406 >     T_REJ = 439,
407 >     T_SERVER = 440,
408 >     T_SERVNOTICE = 441,
409 >     T_SET = 442,
410 >     T_SKILL = 443,
411 >     T_SPY = 444,
412 >     T_SSL = 445,
413 >     T_UMODES = 446,
414 >     T_UNAUTH = 447,
415 >     T_UNDLINE = 448,
416 >     T_UNLIMITED = 449,
417 >     T_UNRESV = 450,
418 >     T_UNXLINE = 451,
419 >     T_GLOBOPS = 452,
420 >     T_WALLOP = 453,
421 >     T_RESTART = 454,
422 >     T_SERVICE = 455,
423 >     T_SERVICES_NAME = 456,
424 >     THROTTLE_TIME = 457,
425 >     TRUE_NO_OPER_FLOOD = 458,
426 >     UNKLINE = 459,
427 >     USER = 460,
428 >     USE_EGD = 461,
429 >     USE_LOGGING = 462,
430 >     VHOST = 463,
431 >     VHOST6 = 464,
432 >     XLINE = 465,
433 >     WARN_NO_NLINE = 466,
434 >     T_SIZE = 467,
435 >     T_FILE = 468
436     };
437   #endif
438   /* Tokens.  */
439   #define ACCEPT_PASSWORD 258
440 < #define ACTION 259
441 < #define ADMIN 260
442 < #define AFTYPE 261
443 < #define T_ALLOW 262
444 < #define ANTI_NICK_FLOOD 263
445 < #define ANTI_SPAM_EXIT_MESSAGE_TIME 264
446 < #define AUTOCONN 265
447 < #define T_BLOCK 266
448 < #define BURST_AWAY 267
449 < #define BYTES 268
450 < #define KBYTES 269
451 < #define MBYTES 270
452 < #define GBYTES 271
453 < #define TBYTES 272
454 < #define CALLER_ID_WAIT 273
455 < #define CAN_FLOOD 274
456 < #define CHANNEL 275
457 < #define CIDR_BITLEN_IPV4 276
458 < #define CIDR_BITLEN_IPV6 277
459 < #define CLASS 278
460 < #define CONNECT 279
461 < #define CONNECTFREQ 280
462 < #define DEFAULT_FLOODCOUNT 281
463 < #define DEFAULT_SPLIT_SERVER_COUNT 282
464 < #define DEFAULT_SPLIT_USER_COUNT 283
465 < #define DENY 284
466 < #define DESCRIPTION 285
467 < #define DIE 286
468 < #define DISABLE_AUTH 287
469 < #define DISABLE_FAKE_CHANNELS 288
470 < #define DISABLE_HIDDEN 289
471 < #define DISABLE_LOCAL_CHANNELS 290
472 < #define DISABLE_REMOTE_COMMANDS 291
473 < #define DOTS_IN_IDENT 292
474 < #define DURATION 293
475 < #define EGDPOOL_PATH 294
476 < #define EMAIL 295
477 < #define ENABLE 296
478 < #define ENCRYPTED 297
479 < #define EXCEED_LIMIT 298
480 < #define EXEMPT 299
481 < #define FAILED_OPER_NOTICE 300
482 < #define IRCD_FLAGS 301
483 < #define FLATTEN_LINKS 302
484 < #define GECOS 303
485 < #define GENERAL 304
486 < #define GLINE 305
487 < #define GLINES 306
488 < #define GLINE_EXEMPT 307
489 < #define GLINE_TIME 308
490 < #define GLINE_MIN_CIDR 309
491 < #define GLINE_MIN_CIDR6 310
492 < #define GLOBAL_KILL 311
493 < #define IRCD_AUTH 312
494 < #define NEED_IDENT 313
495 < #define HAVENT_READ_CONF 314
496 < #define HIDDEN 315
497 < #define HIDDEN_NAME 316
498 < #define HIDE_SERVER_IPS 317
499 < #define HIDE_SERVERS 318
500 < #define HIDE_SPOOF_IPS 319
501 < #define HOST 320
502 < #define HUB 321
503 < #define HUB_MASK 322
504 < #define IGNORE_BOGUS_TS 323
505 < #define INVISIBLE_ON_CONNECT 324
506 < #define IP 325
507 < #define KILL 326
508 < #define KILL_CHASE_TIME_LIMIT 327
509 < #define KLINE 328
510 < #define KLINE_EXEMPT 329
511 < #define KLINE_REASON 330
512 < #define KLINE_WITH_REASON 331
513 < #define KNOCK_DELAY 332
514 < #define KNOCK_DELAY_CHANNEL 333
515 < #define LEAF_MASK 334
516 < #define LINKS_DELAY 335
517 < #define LISTEN 336
518 < #define T_LOG 337
519 < #define MAX_ACCEPT 338
520 < #define MAX_BANS 339
521 < #define MAX_CHANS_PER_USER 340
522 < #define MAX_GLOBAL 341
523 < #define MAX_IDENT 342
524 < #define MAX_LOCAL 343
525 < #define MAX_NICK_CHANGES 344
526 < #define MAX_NICK_TIME 345
527 < #define MAX_NUMBER 346
528 < #define MAX_TARGETS 347
529 < #define MAX_WATCH 348
530 < #define MESSAGE_LOCALE 349
531 < #define MIN_NONWILDCARD 350
532 < #define MIN_NONWILDCARD_SIMPLE 351
533 < #define MODULE 352
534 < #define MODULES 353
535 < #define NAME 354
536 < #define NEED_PASSWORD 355
537 < #define NETWORK_DESC 356
538 < #define NETWORK_NAME 357
539 < #define NICK 358
540 < #define NICK_CHANGES 359
541 < #define NO_CREATE_ON_SPLIT 360
542 < #define NO_JOIN_ON_SPLIT 361
543 < #define NO_OPER_FLOOD 362
544 < #define NO_TILDE 363
545 < #define NUMBER 364
546 < #define NUMBER_PER_IDENT 365
547 < #define NUMBER_PER_CIDR 366
548 < #define NUMBER_PER_IP 367
549 < #define NUMBER_PER_IP_GLOBAL 368
550 < #define OPERATOR 369
551 < #define OPERS_BYPASS_CALLERID 370
552 < #define OPER_ONLY_UMODES 371
553 < #define OPER_PASS_RESV 372
554 < #define OPER_SPY_T 373
555 < #define OPER_UMODES 374
556 < #define JOIN_FLOOD_COUNT 375
557 < #define JOIN_FLOOD_TIME 376
558 < #define PACE_WAIT 377
559 < #define PACE_WAIT_SIMPLE 378
560 < #define PASSWORD 379
561 < #define PATH 380
562 < #define PING_COOKIE 381
563 < #define PING_TIME 382
564 < #define PING_WARNING 383
565 < #define PORT 384
566 < #define QSTRING 385
567 < #define QUIET_ON_BAN 386
568 < #define REASON 387
569 < #define REDIRPORT 388
570 < #define REDIRSERV 389
571 < #define REGEX_T 390
572 < #define REHASH 391
573 < #define TREJECT_HOLD_TIME 392
574 < #define REMOTE 393
575 < #define REMOTEBAN 394
576 < #define RESTRICT_CHANNELS 395
577 < #define RESTRICTED 396
578 < #define RSA_PRIVATE_KEY_FILE 397
579 < #define RSA_PUBLIC_KEY_FILE 398
580 < #define SSL_CERTIFICATE_FILE 399
581 < #define SSL_DH_PARAM_FILE 400
582 < #define T_SSL_CLIENT_METHOD 401
583 < #define T_SSL_SERVER_METHOD 402
584 < #define T_SSLV3 403
585 < #define T_TLSV1 404
586 < #define RESV 405
587 < #define RESV_EXEMPT 406
588 < #define SECONDS 407
589 < #define MINUTES 408
590 < #define HOURS 409
591 < #define DAYS 410
592 < #define WEEKS 411
593 < #define SENDQ 412
594 < #define SEND_PASSWORD 413
595 < #define SERVERHIDE 414
596 < #define SERVERINFO 415
597 < #define IRCD_SID 416
598 < #define TKLINE_EXPIRE_NOTICES 417
599 < #define T_SHARED 418
600 < #define T_CLUSTER 419
601 < #define TYPE 420
602 < #define SHORT_MOTD 421
603 < #define SILENT 422
604 < #define SPOOF 423
605 < #define SPOOF_NOTICE 424
606 < #define STATS_E_DISABLED 425
607 < #define STATS_I_OPER_ONLY 426
608 < #define STATS_K_OPER_ONLY 427
609 < #define STATS_O_OPER_ONLY 428
610 < #define STATS_P_OPER_ONLY 429
611 < #define TBOOL 430
612 < #define TMASKED 431
613 < #define T_REJECT 432
614 < #define TS_MAX_DELTA 433
615 < #define TS_WARN_DELTA 434
616 < #define TWODOTS 435
617 < #define T_ALL 436
618 < #define T_BOTS 437
619 < #define T_SOFTCALLERID 438
620 < #define T_CALLERID 439
621 < #define T_CCONN 440
622 < #define T_CCONN_FULL 441
623 < #define T_SSL_CIPHER_LIST 442
624 < #define T_CLIENT_FLOOD 443
625 < #define T_DEAF 444
626 < #define T_DEBUG 445
627 < #define T_DLINE 446
628 < #define T_DRONE 447
629 < #define T_EXTERNAL 448
630 < #define T_FULL 449
631 < #define T_INVISIBLE 450
632 < #define T_IPV4 451
633 < #define T_IPV6 452
634 < #define T_LOCOPS 453
635 < #define T_MAX_CLIENTS 454
636 < #define T_NCHANGE 455
637 < #define T_OPERWALL 456
638 < #define T_REJ 457
639 < #define T_SERVER 458
640 < #define T_SERVNOTICE 459
641 < #define T_SKILL 460
642 < #define T_SPY 461
643 < #define T_SSL 462
644 < #define T_UMODES 463
645 < #define T_UNAUTH 464
646 < #define T_UNDLINE 465
647 < #define T_UNLIMITED 466
648 < #define T_UNRESV 467
649 < #define T_UNXLINE 468
634 < #define T_GLOBOPS 469
635 < #define T_WALLOP 470
636 < #define T_RESTART 471
637 < #define T_SERVICE 472
638 < #define T_SERVICES_NAME 473
639 < #define THROTTLE_TIME 474
640 < #define TOPICBURST 475
641 < #define TRUE_NO_OPER_FLOOD 476
642 < #define TKLINE 477
643 < #define TXLINE 478
644 < #define TRESV 479
645 < #define UNKLINE 480
646 < #define USER 481
647 < #define USE_EGD 482
648 < #define USE_EXCEPT 483
649 < #define USE_INVEX 484
650 < #define USE_KNOCK 485
651 < #define USE_LOGGING 486
652 < #define USE_WHOIS_ACTUALLY 487
653 < #define VHOST 488
654 < #define VHOST6 489
655 < #define XLINE 490
656 < #define WARN 491
657 < #define WARN_NO_NLINE 492
658 < #define T_SIZE 493
659 < #define T_FILE 494
660 <
440 > #define ADMIN 259
441 > #define AFTYPE 260
442 > #define ANTI_NICK_FLOOD 261
443 > #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
444 > #define AUTOCONN 263
445 > #define BYTES 264
446 > #define KBYTES 265
447 > #define MBYTES 266
448 > #define CALLER_ID_WAIT 267
449 > #define CAN_FLOOD 268
450 > #define CHANNEL 269
451 > #define CIDR_BITLEN_IPV4 270
452 > #define CIDR_BITLEN_IPV6 271
453 > #define CLASS 272
454 > #define CONNECT 273
455 > #define CONNECTFREQ 274
456 > #define DEFAULT_FLOODCOUNT 275
457 > #define DEFAULT_SPLIT_SERVER_COUNT 276
458 > #define DEFAULT_SPLIT_USER_COUNT 277
459 > #define DENY 278
460 > #define DESCRIPTION 279
461 > #define DIE 280
462 > #define DISABLE_AUTH 281
463 > #define DISABLE_FAKE_CHANNELS 282
464 > #define DISABLE_REMOTE_COMMANDS 283
465 > #define DOTS_IN_IDENT 284
466 > #define EGDPOOL_PATH 285
467 > #define EMAIL 286
468 > #define ENCRYPTED 287
469 > #define EXCEED_LIMIT 288
470 > #define EXEMPT 289
471 > #define FAILED_OPER_NOTICE 290
472 > #define IRCD_FLAGS 291
473 > #define FLATTEN_LINKS 292
474 > #define GECOS 293
475 > #define GENERAL 294
476 > #define GLINE 295
477 > #define GLINE_DURATION 296
478 > #define GLINE_ENABLE 297
479 > #define GLINE_EXEMPT 298
480 > #define GLINE_REQUEST_DURATION 299
481 > #define GLINE_MIN_CIDR 300
482 > #define GLINE_MIN_CIDR6 301
483 > #define GLOBAL_KILL 302
484 > #define IRCD_AUTH 303
485 > #define NEED_IDENT 304
486 > #define HAVENT_READ_CONF 305
487 > #define HIDDEN 306
488 > #define HIDDEN_NAME 307
489 > #define HIDE_SERVER_IPS 308
490 > #define HIDE_SERVERS 309
491 > #define HIDE_SPOOF_IPS 310
492 > #define HOST 311
493 > #define HUB 312
494 > #define HUB_MASK 313
495 > #define IGNORE_BOGUS_TS 314
496 > #define INVISIBLE_ON_CONNECT 315
497 > #define IP 316
498 > #define KILL 317
499 > #define KILL_CHASE_TIME_LIMIT 318
500 > #define KLINE 319
501 > #define KLINE_EXEMPT 320
502 > #define KNOCK_DELAY 321
503 > #define KNOCK_DELAY_CHANNEL 322
504 > #define LEAF_MASK 323
505 > #define LINKS_DELAY 324
506 > #define LISTEN 325
507 > #define T_LOG 326
508 > #define MAX_ACCEPT 327
509 > #define MAX_BANS 328
510 > #define MAX_CHANS_PER_OPER 329
511 > #define MAX_CHANS_PER_USER 330
512 > #define MAX_GLOBAL 331
513 > #define MAX_IDENT 332
514 > #define MAX_LOCAL 333
515 > #define MAX_NICK_CHANGES 334
516 > #define MAX_NICK_TIME 335
517 > #define MAX_NUMBER 336
518 > #define MAX_TARGETS 337
519 > #define MAX_WATCH 338
520 > #define MESSAGE_LOCALE 339
521 > #define MIN_NONWILDCARD 340
522 > #define MIN_NONWILDCARD_SIMPLE 341
523 > #define MODULE 342
524 > #define MODULES 343
525 > #define NAME 344
526 > #define NEED_PASSWORD 345
527 > #define NETWORK_DESC 346
528 > #define NETWORK_NAME 347
529 > #define NICK 348
530 > #define NICK_CHANGES 349
531 > #define NO_CREATE_ON_SPLIT 350
532 > #define NO_JOIN_ON_SPLIT 351
533 > #define NO_OPER_FLOOD 352
534 > #define NO_TILDE 353
535 > #define NUMBER 354
536 > #define NUMBER_PER_CIDR 355
537 > #define NUMBER_PER_IP 356
538 > #define OPERATOR 357
539 > #define OPERS_BYPASS_CALLERID 358
540 > #define OPER_ONLY_UMODES 359
541 > #define OPER_PASS_RESV 360
542 > #define OPER_SPY_T 361
543 > #define OPER_UMODES 362
544 > #define JOIN_FLOOD_COUNT 363
545 > #define JOIN_FLOOD_TIME 364
546 > #define PACE_WAIT 365
547 > #define PACE_WAIT_SIMPLE 366
548 > #define PASSWORD 367
549 > #define PATH 368
550 > #define PING_COOKIE 369
551 > #define PING_TIME 370
552 > #define PORT 371
553 > #define QSTRING 372
554 > #define QUIET_ON_BAN 373
555 > #define REASON 374
556 > #define REDIRPORT 375
557 > #define REDIRSERV 376
558 > #define REGEX_T 377
559 > #define REHASH 378
560 > #define REMOTE 379
561 > #define REMOTEBAN 380
562 > #define RESTRICT_CHANNELS 381
563 > #define RSA_PRIVATE_KEY_FILE 382
564 > #define RSA_PUBLIC_KEY_FILE 383
565 > #define SSL_CERTIFICATE_FILE 384
566 > #define SSL_DH_PARAM_FILE 385
567 > #define T_SSL_CLIENT_METHOD 386
568 > #define T_SSL_SERVER_METHOD 387
569 > #define T_SSLV3 388
570 > #define T_TLSV1 389
571 > #define RESV 390
572 > #define RESV_EXEMPT 391
573 > #define SECONDS 392
574 > #define MINUTES 393
575 > #define HOURS 394
576 > #define DAYS 395
577 > #define WEEKS 396
578 > #define SENDQ 397
579 > #define SEND_PASSWORD 398
580 > #define SERVERHIDE 399
581 > #define SERVERINFO 400
582 > #define IRCD_SID 401
583 > #define TKLINE_EXPIRE_NOTICES 402
584 > #define T_SHARED 403
585 > #define T_CLUSTER 404
586 > #define TYPE 405
587 > #define SHORT_MOTD 406
588 > #define SPOOF 407
589 > #define SPOOF_NOTICE 408
590 > #define STATS_E_DISABLED 409
591 > #define STATS_I_OPER_ONLY 410
592 > #define STATS_K_OPER_ONLY 411
593 > #define STATS_O_OPER_ONLY 412
594 > #define STATS_P_OPER_ONLY 413
595 > #define TBOOL 414
596 > #define TMASKED 415
597 > #define TS_MAX_DELTA 416
598 > #define TS_WARN_DELTA 417
599 > #define TWODOTS 418
600 > #define T_ALL 419
601 > #define T_BOTS 420
602 > #define T_SOFTCALLERID 421
603 > #define T_CALLERID 422
604 > #define T_CCONN 423
605 > #define T_CCONN_FULL 424
606 > #define T_SSL_CIPHER_LIST 425
607 > #define T_DEAF 426
608 > #define T_DEBUG 427
609 > #define T_DLINE 428
610 > #define T_EXTERNAL 429
611 > #define T_FULL 430
612 > #define T_INVISIBLE 431
613 > #define T_IPV4 432
614 > #define T_IPV6 433
615 > #define T_LOCOPS 434
616 > #define T_MAX_CLIENTS 435
617 > #define T_NCHANGE 436
618 > #define T_OPERWALL 437
619 > #define T_RECVQ 438
620 > #define T_REJ 439
621 > #define T_SERVER 440
622 > #define T_SERVNOTICE 441
623 > #define T_SET 442
624 > #define T_SKILL 443
625 > #define T_SPY 444
626 > #define T_SSL 445
627 > #define T_UMODES 446
628 > #define T_UNAUTH 447
629 > #define T_UNDLINE 448
630 > #define T_UNLIMITED 449
631 > #define T_UNRESV 450
632 > #define T_UNXLINE 451
633 > #define T_GLOBOPS 452
634 > #define T_WALLOP 453
635 > #define T_RESTART 454
636 > #define T_SERVICE 455
637 > #define T_SERVICES_NAME 456
638 > #define THROTTLE_TIME 457
639 > #define TRUE_NO_OPER_FLOOD 458
640 > #define UNKLINE 459
641 > #define USER 460
642 > #define USE_EGD 461
643 > #define USE_LOGGING 462
644 > #define VHOST 463
645 > #define VHOST6 464
646 > #define XLINE 465
647 > #define WARN_NO_NLINE 466
648 > #define T_SIZE 467
649 > #define T_FILE 468
650  
651  
652  
653   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
654   typedef union YYSTYPE
655   {
656 <
657 < /* Line 293 of yacc.c  */
669 < #line 110 "conf_parser.y"
656 > /* Line 374 of yacc.c  */
657 > #line 147 "conf_parser.y"
658  
659    int number;
660    char *string;
661  
662  
663 <
664 < /* Line 293 of yacc.c  */
677 < #line 678 "conf_parser.c"
663 > /* Line 374 of yacc.c  */
664 > #line 665 "conf_parser.c"
665   } YYSTYPE;
666   # define YYSTYPE_IS_TRIVIAL 1
667   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
668   # define YYSTYPE_IS_DECLARED 1
669   #endif
670  
671 + extern YYSTYPE yylval;
672  
673 < /* Copy the second part of user declarations.  */
673 > #ifdef YYPARSE_PARAM
674 > #if defined __STDC__ || defined __cplusplus
675 > int yyparse (void *YYPARSE_PARAM);
676 > #else
677 > int yyparse ();
678 > #endif
679 > #else /* ! YYPARSE_PARAM */
680 > #if defined __STDC__ || defined __cplusplus
681 > int yyparse (void);
682 > #else
683 > int yyparse ();
684 > #endif
685 > #endif /* ! YYPARSE_PARAM */
686  
687 + #endif /* !YY_YY_Y_TAB_H_INCLUDED  */
688 +
689 + /* Copy the second part of user declarations.  */
690  
691 < /* Line 343 of yacc.c  */
692 < #line 690 "conf_parser.c"
691 > /* Line 377 of yacc.c  */
692 > #line 693 "conf_parser.c"
693  
694   #ifdef short
695   # undef short
# Line 739 | Line 742 | typedef short int yytype_int16;
742   # if defined YYENABLE_NLS && YYENABLE_NLS
743   #  if ENABLE_NLS
744   #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
745 < #   define YY_(msgid) dgettext ("bison-runtime", msgid)
745 > #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
746   #  endif
747   # endif
748   # ifndef YY_
749 < #  define YY_(msgid) msgid
749 > #  define YY_(Msgid) Msgid
750   # endif
751   #endif
752  
753   /* Suppress unused-variable warnings by "using" E.  */
754   #if ! defined lint || defined __GNUC__
755 < # define YYUSE(e) ((void) (e))
755 > # define YYUSE(E) ((void) (E))
756   #else
757 < # define YYUSE(e) /* empty */
757 > # define YYUSE(E) /* empty */
758   #endif
759  
760   /* Identity function, used to suppress warnings about constant conditions.  */
761   #ifndef lint
762 < # define YYID(n) (n)
762 > # define YYID(N) (N)
763   #else
764   #if (defined __STDC__ || defined __C99__FUNC__ \
765       || defined __cplusplus || defined _MSC_VER)
# Line 792 | Line 795 | YYID (yyi)
795   #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
796       || defined __cplusplus || defined _MSC_VER)
797   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
798 +      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
799   #     ifndef EXIT_SUCCESS
800   #      define EXIT_SUCCESS 0
801   #     endif
# Line 883 | Line 887 | union yyalloc
887   #endif
888  
889   #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
890 < /* Copy COUNT objects from FROM to TO.  The source and destination do
890 > /* Copy COUNT objects from SRC to DST.  The source and destination do
891     not overlap.  */
892   # ifndef YYCOPY
893   #  if defined __GNUC__ && 1 < __GNUC__
894 < #   define YYCOPY(To, From, Count) \
895 <      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
894 > #   define YYCOPY(Dst, Src, Count) \
895 >      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
896   #  else
897 < #   define YYCOPY(To, From, Count)              \
898 <      do                                        \
899 <        {                                       \
900 <          YYSIZE_T yyi;                         \
901 <          for (yyi = 0; yyi < (Count); yyi++)   \
902 <            (To)[yyi] = (From)[yyi];            \
903 <        }                                       \
897 > #   define YYCOPY(Dst, Src, Count)              \
898 >      do                                        \
899 >        {                                       \
900 >          YYSIZE_T yyi;                         \
901 >          for (yyi = 0; yyi < (Count); yyi++)   \
902 >            (Dst)[yyi] = (Src)[yyi];            \
903 >        }                                       \
904        while (YYID (0))
905   #  endif
906   # endif
# Line 905 | Line 909 | union yyalloc
909   /* YYFINAL -- State number of the termination state.  */
910   #define YYFINAL  2
911   /* YYLAST -- Last index in YYTABLE.  */
912 < #define YYLAST   1256
912 > #define YYLAST   1180
913  
914   /* YYNTOKENS -- Number of terminals.  */
915 < #define YYNTOKENS  245
915 > #define YYNTOKENS  219
916   /* YYNNTS -- Number of nonterminals.  */
917 < #define YYNNTS  304
917 > #define YYNNTS  282
918   /* YYNRULES -- Number of rules.  */
919 < #define YYNRULES  666
919 > #define YYNRULES  625
920   /* YYNRULES -- Number of states.  */
921 < #define YYNSTATES  1306
921 > #define YYNSTATES  1223
922  
923   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
924   #define YYUNDEFTOK  2
925 < #define YYMAXUTOK   494
925 > #define YYMAXUTOK   468
926  
927   #define YYTRANSLATE(YYX)                                                \
928    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 930 | Line 934 | static const yytype_uint8 yytranslate[]
934         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
935         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
936         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
937 <       2,     2,     2,     2,   244,     2,     2,     2,     2,     2,
938 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   240,
939 <       2,   243,     2,     2,     2,     2,     2,     2,     2,     2,
937 >       2,     2,     2,     2,   218,     2,     2,     2,     2,     2,
938 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   214,
939 >       2,   217,     2,     2,     2,     2,     2,     2,     2,     2,
940         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
941         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
942         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
943         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
944         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
945 <       2,     2,     2,   242,     2,   241,     2,     2,     2,     2,
945 >       2,     2,     2,   216,     2,   215,     2,     2,     2,     2,
946         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
947         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
948         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 972 | Line 976 | static const yytype_uint8 yytranslate[]
976       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
977       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
978       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
979 <     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
976 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
977 <     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
978 <     235,   236,   237,   238,   239
979 >     205,   206,   207,   208,   209,   210,   211,   212,   213
980   };
981  
982   #if YYDEBUG
# Line 985 | Line 986 | static const yytype_uint16 yyprhs[] =
986   {
987         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
988        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
989 <      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
990 <      61,    65,    69,    73,    77,    81,    82,    84,    87,    91,
991 <      95,    99,   105,   108,   110,   112,   114,   117,   122,   127,
992 <     133,   136,   138,   140,   142,   144,   146,   148,   150,   152,
993 <     154,   156,   158,   160,   162,   164,   166,   168,   171,   176,
994 <     181,   185,   187,   189,   191,   195,   197,   199,   201,   206,
995 <     211,   216,   221,   226,   231,   236,   241,   246,   251,   256,
996 <     261,   266,   272,   275,   277,   279,   281,   283,   286,   291,
997 <     296,   301,   307,   310,   312,   314,   316,   319,   324,   325,
998 <     332,   335,   337,   339,   341,   343,   346,   351,   356,   361,
999 <     362,   368,   372,   374,   376,   378,   380,   382,   384,   386,
1000 <     388,   389,   396,   399,   401,   403,   405,   407,   409,   411,
1001 <     413,   415,   417,   420,   425,   430,   435,   440,   445,   450,
1002 <     451,   457,   461,   463,   465,   467,   469,   471,   473,   475,
989 >      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
990 >      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
991 >      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
992 >     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
993 >     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
994 >     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
995 >     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
996 >     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
997 >     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
998 >     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
999 >     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
1000 >     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
1001 >     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
1002 >     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
1003       477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
1004 <     497,   499,   501,   503,   504,   510,   514,   516,   518,   520,
1004 >     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
1005       522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
1006       542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
1007       567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
# Line 1020 | Line 1021 | static const yytype_uint16 yyprhs[] =
1021       997,   999,  1001,  1003,  1005,  1007,  1009,  1010,  1017,  1020,
1022      1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,
1023      1042,  1044,  1046,  1048,  1051,  1056,  1061,  1066,  1071,  1076,
1024 <    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1110,
1025 <    1112,  1117,  1122,  1127,  1132,  1137,  1138,  1145,  1146,  1152,
1026 <    1156,  1158,  1160,  1163,  1165,  1167,  1169,  1171,  1173,  1178,
1027 <    1183,  1184,  1191,  1194,  1196,  1198,  1200,  1202,  1207,  1212,
1028 <    1218,  1221,  1223,  1225,  1227,  1232,  1233,  1240,  1241,  1247,
1029 <    1251,  1253,  1255,  1258,  1260,  1262,  1264,  1266,  1268,  1273,
1030 <    1278,  1284,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1024 >    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1113,
1025 >    1118,  1123,  1128,  1133,  1134,  1141,  1142,  1148,  1152,  1154,
1026 >    1156,  1159,  1161,  1163,  1165,  1167,  1169,  1174,  1179,  1180,
1027 >    1187,  1190,  1192,  1194,  1196,  1198,  1203,  1208,  1214,  1217,
1028 >    1219,  1221,  1223,  1228,  1229,  1236,  1237,  1243,  1247,  1249,
1029 >    1251,  1254,  1256,  1258,  1260,  1262,  1264,  1269,  1274,  1280,
1030 >    1283,  1285,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1031      1303,  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,  1321,
1032      1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
1033      1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1361,
1034      1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,
1035 <    1383,  1385,  1387,  1389,  1391,  1393,  1398,  1403,  1408,  1413,
1036 <    1418,  1423,  1428,  1433,  1438,  1443,  1448,  1453,  1458,  1463,
1037 <    1468,  1473,  1478,  1483,  1488,  1493,  1498,  1503,  1508,  1513,
1038 <    1518,  1523,  1528,  1533,  1538,  1543,  1548,  1553,  1558,  1563,
1039 <    1568,  1573,  1578,  1583,  1588,  1593,  1598,  1603,  1608,  1613,
1040 <    1618,  1623,  1628,  1629,  1635,  1639,  1641,  1643,  1645,  1647,
1041 <    1649,  1651,  1653,  1655,  1657,  1659,  1661,  1663,  1665,  1667,
1042 <    1669,  1671,  1673,  1675,  1677,  1679,  1681,  1682,  1688,  1692,
1043 <    1694,  1696,  1698,  1700,  1702,  1704,  1706,  1708,  1710,  1712,
1044 <    1714,  1716,  1718,  1720,  1722,  1724,  1726,  1728,  1730,  1732,
1045 <    1734,  1739,  1744,  1749,  1754,  1755,  1762,  1765,  1767,  1769,
1046 <    1771,  1773,  1775,  1777,  1779,  1781,  1786,  1791,  1792,  1798,
1047 <    1802,  1804,  1806,  1808,  1813,  1818,  1819,  1825,  1829,  1831,
1048 <    1833,  1835,  1841,  1844,  1846,  1848,  1850,  1852,  1854,  1856,
1049 <    1858,  1860,  1862,  1864,  1866,  1868,  1870,  1872,  1874,  1876,
1049 <    1878,  1880,  1882,  1887,  1892,  1897,  1902,  1907,  1912,  1917,
1050 <    1922,  1927,  1932,  1937,  1942,  1947,  1952,  1957,  1962,  1967,
1051 <    1973,  1976,  1978,  1980,  1982,  1984,  1986,  1988,  1990,  1992,
1052 <    1994,  1999,  2004,  2009,  2014,  2019,  2024
1035 >    1383,  1385,  1390,  1395,  1400,  1405,  1410,  1415,  1420,  1425,
1036 >    1430,  1435,  1440,  1445,  1450,  1455,  1460,  1465,  1470,  1475,
1037 >    1480,  1485,  1490,  1495,  1500,  1505,  1510,  1515,  1520,  1525,
1038 >    1530,  1535,  1540,  1545,  1550,  1555,  1560,  1565,  1570,  1575,
1039 >    1580,  1585,  1590,  1595,  1600,  1605,  1610,  1615,  1616,  1622,
1040 >    1626,  1628,  1630,  1632,  1634,  1636,  1638,  1640,  1642,  1644,
1041 >    1646,  1648,  1650,  1652,  1654,  1656,  1658,  1660,  1662,  1664,
1042 >    1666,  1668,  1669,  1675,  1679,  1681,  1683,  1685,  1687,  1689,
1043 >    1691,  1693,  1695,  1697,  1699,  1701,  1703,  1705,  1707,  1709,
1044 >    1711,  1713,  1715,  1717,  1719,  1721,  1726,  1731,  1736,  1742,
1045 >    1745,  1747,  1749,  1751,  1753,  1755,  1757,  1759,  1761,  1763,
1046 >    1765,  1767,  1769,  1771,  1773,  1775,  1777,  1782,  1787,  1792,
1047 >    1797,  1802,  1807,  1812,  1817,  1822,  1827,  1832,  1837,  1842,
1048 >    1847,  1853,  1856,  1858,  1860,  1862,  1864,  1866,  1868,  1870,
1049 >    1872,  1877,  1882,  1887,  1892,  1897
1050   };
1051  
1052   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1053   static const yytype_int16 yyrhs[] =
1054   {
1055 <     246,     0,    -1,    -1,   246,   247,    -1,   279,    -1,   285,
1056 <      -1,   299,    -1,   519,    -1,   317,    -1,   334,    -1,   348,
1057 <      -1,   257,    -1,   539,    -1,   363,    -1,   370,    -1,   374,
1058 <      -1,   384,    -1,   393,    -1,   413,    -1,   423,    -1,   429,
1059 <      -1,   443,    -1,   503,    -1,   433,    -1,   252,    -1,     1,
1060 <     240,    -1,     1,   241,    -1,    -1,   249,    -1,   109,   248,
1061 <      -1,   109,   152,   248,    -1,   109,   153,   248,    -1,   109,
1062 <     154,   248,    -1,   109,   155,   248,    -1,   109,   156,   248,
1063 <      -1,    -1,   251,    -1,   109,   250,    -1,   109,    13,   250,
1064 <      -1,   109,    14,   250,    -1,   109,    15,   250,    -1,    98,
1065 <     242,   253,   241,   240,    -1,   253,   254,    -1,   254,    -1,
1066 <     255,    -1,   256,    -1,     1,   240,    -1,    97,   243,   130,
1067 <     240,    -1,   125,   243,   130,   240,    -1,   160,   242,   258,
1068 <     241,   240,    -1,   258,   259,    -1,   259,    -1,   270,    -1,
1069 <     275,    -1,   278,    -1,   272,    -1,   273,    -1,   274,    -1,
1070 <     277,    -1,   268,    -1,   267,    -1,   276,    -1,   271,    -1,
1071 <     266,    -1,   260,    -1,   261,    -1,   269,    -1,     1,   240,
1072 <      -1,   146,   243,   262,   240,    -1,   147,   243,   264,   240,
1073 <      -1,   262,   244,   263,    -1,   263,    -1,   148,    -1,   149,
1074 <      -1,   264,   244,   265,    -1,   265,    -1,   148,    -1,   149,
1075 <      -1,   144,   243,   130,   240,    -1,   142,   243,   130,   240,
1076 <      -1,   145,   243,   130,   240,    -1,   187,   243,   130,   240,
1077 <      -1,    99,   243,   130,   240,    -1,   161,   243,   130,   240,
1078 <      -1,    30,   243,   130,   240,    -1,   102,   243,   130,   240,
1079 <      -1,   101,   243,   130,   240,    -1,   233,   243,   130,   240,
1080 <      -1,   234,   243,   130,   240,    -1,   199,   243,   109,   240,
1081 <      -1,    66,   243,   175,   240,    -1,     5,   242,   280,   241,
1082 <     240,    -1,   280,   281,    -1,   281,    -1,   282,    -1,   284,
1083 <      -1,   283,    -1,     1,   240,    -1,    99,   243,   130,   240,
1084 <      -1,    40,   243,   130,   240,    -1,    30,   243,   130,   240,
1085 <      -1,    82,   242,   286,   241,   240,    -1,   286,   287,    -1,
1086 <     287,    -1,   288,    -1,   289,    -1,     1,   240,    -1,   231,
1087 <     243,   175,   240,    -1,    -1,   290,   239,   242,   291,   241,
1088 <     240,    -1,   291,   292,    -1,   292,    -1,   293,    -1,   295,
1089 <      -1,   294,    -1,     1,   240,    -1,    99,   243,   130,   240,
1090 <      -1,   238,   243,   251,   240,    -1,   238,   243,   211,   240,
1091 <      -1,    -1,   165,   296,   243,   297,   240,    -1,   297,   244,
1092 <     298,    -1,   298,    -1,   226,    -1,   114,    -1,    50,    -1,
1093 <     191,    -1,    73,    -1,    71,    -1,   190,    -1,    -1,   114,
1094 <     300,   242,   301,   241,   240,    -1,   301,   302,    -1,   302,
1095 <      -1,   303,    -1,   304,    -1,   305,    -1,   309,    -1,   308,
1096 <      -1,   306,    -1,   307,    -1,   313,    -1,     1,   240,    -1,
1097 <      99,   243,   130,   240,    -1,   226,   243,   130,   240,    -1,
1098 <     124,   243,   130,   240,    -1,    42,   243,   175,   240,    -1,
1099 <     143,   243,   130,   240,    -1,    23,   243,   130,   240,    -1,
1100 <      -1,   208,   310,   243,   311,   240,    -1,   311,   244,   312,
1101 <      -1,   312,    -1,   182,    -1,   185,    -1,   186,    -1,   189,
1102 <      -1,   190,    -1,   194,    -1,    60,    -1,   205,    -1,   200,
1103 <      -1,   202,    -1,   209,    -1,   206,    -1,   193,    -1,   201,
1104 <      -1,   204,    -1,   195,    -1,   215,    -1,   183,    -1,   184,
1105 <      -1,   198,    -1,    -1,    46,   314,   243,   315,   240,    -1,
1106 <     315,   244,   316,    -1,   316,    -1,    56,    -1,   138,    -1,
1107 <      73,    -1,   225,    -1,   191,    -1,   210,    -1,   235,    -1,
1108 <      50,    -1,    31,    -1,   216,    -1,   136,    -1,     5,    -1,
1109 <     104,    -1,   201,    -1,   214,    -1,   118,    -1,   139,    -1,
1110 <      97,    -1,    -1,    23,   318,   242,   319,   241,   240,    -1,
1111 <     319,   320,    -1,   320,    -1,   321,    -1,   331,    -1,   332,
1112 <      -1,   322,    -1,   323,    -1,   333,    -1,   324,    -1,   325,
1113 <      -1,   326,    -1,   327,    -1,   328,    -1,   329,    -1,   330,
1114 <      -1,     1,   240,    -1,    99,   243,   130,   240,    -1,   127,
1115 <     243,   249,   240,    -1,   128,   243,   249,   240,    -1,   112,
1116 <     243,   109,   240,    -1,    25,   243,   249,   240,    -1,    91,
1117 <     243,   109,   240,    -1,    86,   243,   109,   240,    -1,    88,
1118 <     243,   109,   240,    -1,    87,   243,   109,   240,    -1,   157,
1119 <     243,   251,   240,    -1,    21,   243,   109,   240,    -1,    22,
1120 <     243,   109,   240,    -1,   111,   243,   109,   240,    -1,    -1,
1121 <      81,   335,   242,   340,   241,   240,    -1,    -1,    46,   337,
1122 <     243,   338,   240,    -1,   338,   244,   339,    -1,   339,    -1,
1123 <     207,    -1,    60,    -1,   203,    -1,   340,   341,    -1,   341,
1124 <      -1,   342,    -1,   336,    -1,   346,    -1,   347,    -1,     1,
1125 <     240,    -1,    -1,   129,   243,   344,   343,   240,    -1,   344,
1126 <     244,   345,    -1,   345,    -1,   109,    -1,   109,   180,   109,
1127 <      -1,    70,   243,   130,   240,    -1,    65,   243,   130,   240,
1128 <      -1,    -1,    57,   349,   242,   350,   241,   240,    -1,   350,
1129 <     351,    -1,   351,    -1,   352,    -1,   353,    -1,   354,    -1,
1130 <     356,    -1,   360,    -1,   361,    -1,   362,    -1,   355,    -1,
1131 <       1,   240,    -1,   226,   243,   130,   240,    -1,   124,   243,
1132 <     130,   240,    -1,    23,   243,   130,   240,    -1,    42,   243,
1133 <     175,   240,    -1,    -1,    46,   357,   243,   358,   240,    -1,
1134 <     358,   244,   359,    -1,   359,    -1,   169,    -1,    43,    -1,
1135 <      74,    -1,    58,    -1,    19,    -1,   108,    -1,    52,    -1,
1136 <     151,    -1,   100,    -1,   168,   243,   130,   240,    -1,   134,
1137 <     243,   130,   240,    -1,   133,   243,   109,   240,    -1,    -1,
1138 <     150,   364,   242,   365,   241,   240,    -1,   365,   366,    -1,
1139 <     366,    -1,   367,    -1,   368,    -1,   369,    -1,     1,   240,
1140 <      -1,   132,   243,   130,   240,    -1,    20,   243,   130,   240,
1141 <      -1,   103,   243,   130,   240,    -1,   217,   242,   371,   241,
1142 <     240,    -1,   371,   372,    -1,   372,    -1,   373,    -1,     1,
1143 <      -1,    99,   243,   130,   240,    -1,    -1,   163,   375,   242,
1144 <     376,   241,   240,    -1,   376,   377,    -1,   377,    -1,   378,
1145 <      -1,   379,    -1,   380,    -1,     1,   240,    -1,    99,   243,
1146 <     130,   240,    -1,   226,   243,   130,   240,    -1,    -1,   165,
1147 <     381,   243,   382,   240,    -1,   382,   244,   383,    -1,   383,
1148 <      -1,    73,    -1,   225,    -1,   191,    -1,   210,    -1,   235,
1149 <      -1,   213,    -1,   150,    -1,   212,    -1,   198,    -1,   181,
1150 <      -1,    -1,   164,   385,   242,   386,   241,   240,    -1,   386,
1151 <     387,    -1,   387,    -1,   388,    -1,   389,    -1,     1,   240,
1152 <      -1,    99,   243,   130,   240,    -1,    -1,   165,   390,   243,
1153 <     391,   240,    -1,   391,   244,   392,    -1,   392,    -1,    73,
1154 <      -1,   225,    -1,   191,    -1,   210,    -1,   235,    -1,   213,
1155 <      -1,   150,    -1,   212,    -1,   198,    -1,   181,    -1,    -1,
1156 <      24,   394,   242,   395,   241,   240,    -1,   395,   396,    -1,
1157 <     396,    -1,   397,    -1,   398,    -1,   399,    -1,   400,    -1,
1158 <     401,    -1,   403,    -1,   402,    -1,   412,    -1,   404,    -1,
1159 <     409,    -1,   410,    -1,   411,    -1,   408,    -1,     1,   240,
1160 <      -1,    99,   243,   130,   240,    -1,    65,   243,   130,   240,
1161 <      -1,   233,   243,   130,   240,    -1,   158,   243,   130,   240,
1162 <      -1,     3,   243,   130,   240,    -1,   129,   243,   109,   240,
1163 <      -1,     6,   243,   196,   240,    -1,     6,   243,   197,   240,
1164 <      -1,    -1,    46,   405,   243,   406,   240,    -1,   406,   244,
1165 <     407,    -1,   407,    -1,    10,    -1,    12,    -1,   220,    -1,
1166 <     207,    -1,    42,   243,   175,   240,    -1,    67,   243,   130,
1167 <     240,    -1,    79,   243,   130,   240,    -1,    23,   243,   130,
1168 <     240,    -1,   187,   243,   130,   240,    -1,    -1,    71,   414,
1169 <     242,   419,   241,   240,    -1,    -1,   165,   416,   243,   417,
1170 <     240,    -1,   417,   244,   418,    -1,   418,    -1,   135,    -1,
1171 <     419,   420,    -1,   420,    -1,   421,    -1,   422,    -1,   415,
1172 <      -1,     1,    -1,   226,   243,   130,   240,    -1,   132,   243,
1173 <     130,   240,    -1,    -1,    29,   424,   242,   425,   241,   240,
1174 <      -1,   425,   426,    -1,   426,    -1,   427,    -1,   428,    -1,
1175 <       1,    -1,    70,   243,   130,   240,    -1,   132,   243,   130,
1176 <     240,    -1,    44,   242,   430,   241,   240,    -1,   430,   431,
1177 <      -1,   431,    -1,   432,    -1,     1,    -1,    70,   243,   130,
1178 <     240,    -1,    -1,    48,   434,   242,   439,   241,   240,    -1,
1179 <      -1,   165,   436,   243,   437,   240,    -1,   437,   244,   438,
1180 <      -1,   438,    -1,   135,    -1,   439,   440,    -1,   440,    -1,
1181 <     441,    -1,   442,    -1,   435,    -1,     1,    -1,    99,   243,
1182 <     130,   240,    -1,   132,   243,   130,   240,    -1,    49,   242,
1183 <     444,   241,   240,    -1,   444,   445,    -1,   445,    -1,   453,
1184 <      -1,   454,    -1,   456,    -1,   457,    -1,   458,    -1,   459,
1185 <      -1,   460,    -1,   461,    -1,   462,    -1,   463,    -1,   452,
1186 <      -1,   465,    -1,   466,    -1,   467,    -1,   468,    -1,   483,
1187 <      -1,   470,    -1,   472,    -1,   474,    -1,   473,    -1,   477,
1188 <      -1,   471,    -1,   478,    -1,   479,    -1,   480,    -1,   481,
1189 <      -1,   482,    -1,   495,    -1,   484,    -1,   485,    -1,   486,
1190 <      -1,   491,    -1,   475,    -1,   476,    -1,   501,    -1,   499,
1191 <      -1,   500,    -1,   455,    -1,   502,    -1,   490,    -1,   464,
1192 <      -1,   488,    -1,   489,    -1,   451,    -1,   447,    -1,   448,
1193 <      -1,   449,    -1,   450,    -1,   469,    -1,   446,    -1,   487,
1194 <      -1,     1,    -1,    93,   243,   109,   240,    -1,    54,   243,
1195 <     109,   240,    -1,    55,   243,   109,   240,    -1,   232,   243,
1196 <     175,   240,    -1,   137,   243,   249,   240,    -1,   162,   243,
1197 <     175,   240,    -1,    72,   243,   249,   240,    -1,    64,   243,
1198 <     175,   240,    -1,    68,   243,   175,   240,    -1,    36,   243,
1199 <     175,   240,    -1,    45,   243,   175,   240,    -1,     8,   243,
1200 <     175,   240,    -1,    90,   243,   249,   240,    -1,    89,   243,
1201 <     109,   240,    -1,    83,   243,   109,   240,    -1,     9,   243,
1202 <     249,   240,    -1,   179,   243,   249,   240,    -1,   178,   243,
1203 <     249,   240,    -1,    59,   243,   109,   240,    -1,    76,   243,
1204 <     175,   240,    -1,    75,   243,   130,   240,    -1,    69,   243,
1205 <     175,   240,    -1,   237,   243,   175,   240,    -1,   170,   243,
1206 <     175,   240,    -1,   173,   243,   175,   240,    -1,   174,   243,
1207 <     175,   240,    -1,   172,   243,   175,   240,    -1,   172,   243,
1208 <     176,   240,    -1,   171,   243,   175,   240,    -1,   171,   243,
1209 <     176,   240,    -1,   122,   243,   249,   240,    -1,    18,   243,
1210 <     249,   240,    -1,   115,   243,   175,   240,    -1,   123,   243,
1211 <     249,   240,    -1,   166,   243,   175,   240,    -1,   107,   243,
1212 <     175,   240,    -1,   221,   243,   175,   240,    -1,   117,   243,
1213 <     175,   240,    -1,    94,   243,   130,   240,    -1,    37,   243,
1214 <     109,   240,    -1,    92,   243,   109,   240,    -1,   227,   243,
1215 <     175,   240,    -1,    39,   243,   130,   240,    -1,   218,   243,
1216 <     130,   240,    -1,   126,   243,   175,   240,    -1,    32,   243,
1217 <     175,   240,    -1,   219,   243,   249,   240,    -1,    -1,   119,
1218 <     492,   243,   493,   240,    -1,   493,   244,   494,    -1,   494,
1219 <      -1,   182,    -1,   185,    -1,   186,    -1,   189,    -1,   190,
1220 <      -1,   194,    -1,    60,    -1,   205,    -1,   200,    -1,   202,
1221 <      -1,   209,    -1,   206,    -1,   193,    -1,   201,    -1,   204,
1222 <      -1,   195,    -1,   215,    -1,   183,    -1,   184,    -1,   198,
1223 <      -1,    -1,   116,   496,   243,   497,   240,    -1,   497,   244,
1224 <     498,    -1,   498,    -1,   182,    -1,   185,    -1,   186,    -1,
1225 <     189,    -1,   190,    -1,   194,    -1,   205,    -1,    60,    -1,
1226 <     200,    -1,   202,    -1,   209,    -1,   206,    -1,   193,    -1,
1227 <     201,    -1,   204,    -1,   195,    -1,   215,    -1,   183,    -1,
1228 <     184,    -1,   198,    -1,    95,   243,   109,   240,    -1,    96,
1229 <     243,   109,   240,    -1,    26,   243,   109,   240,    -1,   188,
1230 <     243,   251,   240,    -1,    -1,    51,   504,   242,   505,   241,
1231 <     240,    -1,   505,   506,    -1,   506,    -1,   507,    -1,   508,
1232 <      -1,   509,    -1,   513,    -1,   514,    -1,   515,    -1,     1,
1233 <      -1,    41,   243,   175,   240,    -1,    38,   243,   249,   240,
1234 <      -1,    -1,    82,   510,   243,   511,   240,    -1,   511,   244,
1235 <     512,    -1,   512,    -1,   177,    -1,    11,    -1,   226,   243,
1236 <     130,   240,    -1,    99,   243,   130,   240,    -1,    -1,     4,
1237 <     516,   243,   517,   240,    -1,   517,   244,   518,    -1,   518,
1238 <      -1,   177,    -1,    11,    -1,    20,   242,   520,   241,   240,
1239 <      -1,   520,   521,    -1,   521,    -1,   524,    -1,   525,    -1,
1240 <     526,    -1,   527,    -1,   532,    -1,   528,    -1,   529,    -1,
1241 <     530,    -1,   531,    -1,   533,    -1,   534,    -1,   535,    -1,
1242 <     523,    -1,   536,    -1,   537,    -1,   538,    -1,   522,    -1,
1243 <       1,    -1,    33,   243,   175,   240,    -1,   140,   243,   175,
1244 <     240,    -1,    35,   243,   175,   240,    -1,   228,   243,   175,
1245 <     240,    -1,   229,   243,   175,   240,    -1,   230,   243,   175,
1249 <     240,    -1,    77,   243,   249,   240,    -1,    78,   243,   249,
1250 <     240,    -1,    85,   243,   109,   240,    -1,   131,   243,   175,
1251 <     240,    -1,    84,   243,   109,   240,    -1,    28,   243,   109,
1252 <     240,    -1,    27,   243,   109,   240,    -1,   105,   243,   175,
1253 <     240,    -1,   106,   243,   175,   240,    -1,   120,   243,   109,
1254 <     240,    -1,   121,   243,   249,   240,    -1,   159,   242,   540,
1255 <     241,   240,    -1,   540,   541,    -1,   541,    -1,   542,    -1,
1256 <     543,    -1,   545,    -1,   547,    -1,   546,    -1,   544,    -1,
1257 <     548,    -1,     1,    -1,    47,   243,   175,   240,    -1,    63,
1258 <     243,   175,   240,    -1,    61,   243,   130,   240,    -1,    80,
1259 <     243,   249,   240,    -1,    60,   243,   175,   240,    -1,    34,
1260 <     243,   175,   240,    -1,    62,   243,   175,   240,    -1
1055 >     220,     0,    -1,    -1,   220,   221,    -1,   253,    -1,   259,
1056 >      -1,   273,    -1,   475,    -1,   291,    -1,   308,    -1,   322,
1057 >      -1,   231,    -1,   492,    -1,   337,    -1,   344,    -1,   348,
1058 >      -1,   358,    -1,   367,    -1,   387,    -1,   397,    -1,   403,
1059 >      -1,   417,    -1,   407,    -1,   226,    -1,     1,   214,    -1,
1060 >       1,   215,    -1,    -1,   223,    -1,    99,   222,    -1,    99,
1061 >     137,   222,    -1,    99,   138,   222,    -1,    99,   139,   222,
1062 >      -1,    99,   140,   222,    -1,    99,   141,   222,    -1,    -1,
1063 >     225,    -1,    99,   224,    -1,    99,     9,   224,    -1,    99,
1064 >      10,   224,    -1,    99,    11,   224,    -1,    88,   216,   227,
1065 >     215,   214,    -1,   227,   228,    -1,   228,    -1,   229,    -1,
1066 >     230,    -1,     1,   214,    -1,    87,   217,   117,   214,    -1,
1067 >     113,   217,   117,   214,    -1,   145,   216,   232,   215,   214,
1068 >      -1,   232,   233,    -1,   233,    -1,   244,    -1,   249,    -1,
1069 >     252,    -1,   246,    -1,   247,    -1,   248,    -1,   251,    -1,
1070 >     242,    -1,   241,    -1,   250,    -1,   245,    -1,   240,    -1,
1071 >     234,    -1,   235,    -1,   243,    -1,     1,   214,    -1,   131,
1072 >     217,   236,   214,    -1,   132,   217,   238,   214,    -1,   236,
1073 >     218,   237,    -1,   237,    -1,   133,    -1,   134,    -1,   238,
1074 >     218,   239,    -1,   239,    -1,   133,    -1,   134,    -1,   129,
1075 >     217,   117,   214,    -1,   127,   217,   117,   214,    -1,   130,
1076 >     217,   117,   214,    -1,   170,   217,   117,   214,    -1,    89,
1077 >     217,   117,   214,    -1,   146,   217,   117,   214,    -1,    24,
1078 >     217,   117,   214,    -1,    92,   217,   117,   214,    -1,    91,
1079 >     217,   117,   214,    -1,   208,   217,   117,   214,    -1,   209,
1080 >     217,   117,   214,    -1,   180,   217,    99,   214,    -1,    57,
1081 >     217,   159,   214,    -1,     4,   216,   254,   215,   214,    -1,
1082 >     254,   255,    -1,   255,    -1,   256,    -1,   258,    -1,   257,
1083 >      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,    31,
1084 >     217,   117,   214,    -1,    24,   217,   117,   214,    -1,    71,
1085 >     216,   260,   215,   214,    -1,   260,   261,    -1,   261,    -1,
1086 >     262,    -1,   263,    -1,     1,   214,    -1,   207,   217,   159,
1087 >     214,    -1,    -1,   264,   213,   216,   265,   215,   214,    -1,
1088 >     265,   266,    -1,   266,    -1,   267,    -1,   269,    -1,   268,
1089 >      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,   212,
1090 >     217,   225,   214,    -1,   212,   217,   194,   214,    -1,    -1,
1091 >     150,   270,   217,   271,   214,    -1,   271,   218,   272,    -1,
1092 >     272,    -1,   205,    -1,   102,    -1,    40,    -1,   173,    -1,
1093 >      64,    -1,    62,    -1,   172,    -1,    -1,   102,   274,   216,
1094 >     275,   215,   214,    -1,   275,   276,    -1,   276,    -1,   277,
1095 >      -1,   278,    -1,   279,    -1,   283,    -1,   282,    -1,   280,
1096 >      -1,   281,    -1,   287,    -1,     1,   214,    -1,    89,   217,
1097 >     117,   214,    -1,   205,   217,   117,   214,    -1,   112,   217,
1098 >     117,   214,    -1,    32,   217,   159,   214,    -1,   128,   217,
1099 >     117,   214,    -1,    17,   217,   117,   214,    -1,    -1,   191,
1100 >     284,   217,   285,   214,    -1,   285,   218,   286,    -1,   286,
1101 >      -1,   165,    -1,   168,    -1,   169,    -1,   171,    -1,   172,
1102 >      -1,   175,    -1,    51,    -1,   188,    -1,   181,    -1,   184,
1103 >      -1,   192,    -1,   189,    -1,   174,    -1,   182,    -1,   186,
1104 >      -1,   176,    -1,   198,    -1,   166,    -1,   167,    -1,   179,
1105 >      -1,    -1,    36,   288,   217,   289,   214,    -1,   289,   218,
1106 >     290,    -1,   290,    -1,    47,    -1,   124,    -1,    64,    -1,
1107 >     204,    -1,   173,    -1,   193,    -1,   210,    -1,    40,    -1,
1108 >      25,    -1,   199,    -1,   123,    -1,     4,    -1,    94,    -1,
1109 >     182,    -1,   197,    -1,   106,    -1,   125,    -1,   187,    -1,
1110 >      87,    -1,    -1,    17,   292,   216,   293,   215,   214,    -1,
1111 >     293,   294,    -1,   294,    -1,   295,    -1,   305,    -1,   306,
1112 >      -1,   296,    -1,   307,    -1,   297,    -1,   298,    -1,   299,
1113 >      -1,   300,    -1,   301,    -1,   302,    -1,   303,    -1,   304,
1114 >      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,   115,
1115 >     217,   223,   214,    -1,   101,   217,    99,   214,    -1,    19,
1116 >     217,   223,   214,    -1,    81,   217,    99,   214,    -1,    76,
1117 >     217,    99,   214,    -1,    78,   217,    99,   214,    -1,    77,
1118 >     217,    99,   214,    -1,   142,   217,   225,   214,    -1,   183,
1119 >     217,   225,   214,    -1,    15,   217,    99,   214,    -1,    16,
1120 >     217,    99,   214,    -1,   100,   217,    99,   214,    -1,    -1,
1121 >      70,   309,   216,   314,   215,   214,    -1,    -1,    36,   311,
1122 >     217,   312,   214,    -1,   312,   218,   313,    -1,   313,    -1,
1123 >     190,    -1,    51,    -1,   185,    -1,   314,   315,    -1,   315,
1124 >      -1,   316,    -1,   310,    -1,   320,    -1,   321,    -1,     1,
1125 >     214,    -1,    -1,   116,   217,   318,   317,   214,    -1,   318,
1126 >     218,   319,    -1,   319,    -1,    99,    -1,    99,   163,    99,
1127 >      -1,    61,   217,   117,   214,    -1,    56,   217,   117,   214,
1128 >      -1,    -1,    48,   323,   216,   324,   215,   214,    -1,   324,
1129 >     325,    -1,   325,    -1,   326,    -1,   327,    -1,   328,    -1,
1130 >     330,    -1,   334,    -1,   335,    -1,   336,    -1,   329,    -1,
1131 >       1,   214,    -1,   205,   217,   117,   214,    -1,   112,   217,
1132 >     117,   214,    -1,    17,   217,   117,   214,    -1,    32,   217,
1133 >     159,   214,    -1,    -1,    36,   331,   217,   332,   214,    -1,
1134 >     332,   218,   333,    -1,   333,    -1,   153,    -1,    33,    -1,
1135 >      65,    -1,    49,    -1,    13,    -1,    98,    -1,    43,    -1,
1136 >     136,    -1,    90,    -1,   152,   217,   117,   214,    -1,   121,
1137 >     217,   117,   214,    -1,   120,   217,    99,   214,    -1,    -1,
1138 >     135,   338,   216,   339,   215,   214,    -1,   339,   340,    -1,
1139 >     340,    -1,   341,    -1,   342,    -1,   343,    -1,     1,   214,
1140 >      -1,   119,   217,   117,   214,    -1,    14,   217,   117,   214,
1141 >      -1,    93,   217,   117,   214,    -1,   200,   216,   345,   215,
1142 >     214,    -1,   345,   346,    -1,   346,    -1,   347,    -1,     1,
1143 >      -1,    89,   217,   117,   214,    -1,    -1,   148,   349,   216,
1144 >     350,   215,   214,    -1,   350,   351,    -1,   351,    -1,   352,
1145 >      -1,   353,    -1,   354,    -1,     1,   214,    -1,    89,   217,
1146 >     117,   214,    -1,   205,   217,   117,   214,    -1,    -1,   150,
1147 >     355,   217,   356,   214,    -1,   356,   218,   357,    -1,   357,
1148 >      -1,    64,    -1,   204,    -1,   173,    -1,   193,    -1,   210,
1149 >      -1,   196,    -1,   135,    -1,   195,    -1,   179,    -1,   164,
1150 >      -1,    -1,   149,   359,   216,   360,   215,   214,    -1,   360,
1151 >     361,    -1,   361,    -1,   362,    -1,   363,    -1,     1,   214,
1152 >      -1,    89,   217,   117,   214,    -1,    -1,   150,   364,   217,
1153 >     365,   214,    -1,   365,   218,   366,    -1,   366,    -1,    64,
1154 >      -1,   204,    -1,   173,    -1,   193,    -1,   210,    -1,   196,
1155 >      -1,   135,    -1,   195,    -1,   179,    -1,   164,    -1,    -1,
1156 >      18,   368,   216,   369,   215,   214,    -1,   369,   370,    -1,
1157 >     370,    -1,   371,    -1,   372,    -1,   373,    -1,   374,    -1,
1158 >     375,    -1,   377,    -1,   376,    -1,   386,    -1,   378,    -1,
1159 >     383,    -1,   384,    -1,   385,    -1,   382,    -1,     1,   214,
1160 >      -1,    89,   217,   117,   214,    -1,    56,   217,   117,   214,
1161 >      -1,   208,   217,   117,   214,    -1,   143,   217,   117,   214,
1162 >      -1,     3,   217,   117,   214,    -1,   116,   217,    99,   214,
1163 >      -1,     5,   217,   177,   214,    -1,     5,   217,   178,   214,
1164 >      -1,    -1,    36,   379,   217,   380,   214,    -1,   380,   218,
1165 >     381,    -1,   381,    -1,     8,    -1,   190,    -1,    32,   217,
1166 >     159,   214,    -1,    58,   217,   117,   214,    -1,    68,   217,
1167 >     117,   214,    -1,    17,   217,   117,   214,    -1,   170,   217,
1168 >     117,   214,    -1,    -1,    62,   388,   216,   393,   215,   214,
1169 >      -1,    -1,   150,   390,   217,   391,   214,    -1,   391,   218,
1170 >     392,    -1,   392,    -1,   122,    -1,   393,   394,    -1,   394,
1171 >      -1,   395,    -1,   396,    -1,   389,    -1,     1,    -1,   205,
1172 >     217,   117,   214,    -1,   119,   217,   117,   214,    -1,    -1,
1173 >      23,   398,   216,   399,   215,   214,    -1,   399,   400,    -1,
1174 >     400,    -1,   401,    -1,   402,    -1,     1,    -1,    61,   217,
1175 >     117,   214,    -1,   119,   217,   117,   214,    -1,    34,   216,
1176 >     404,   215,   214,    -1,   404,   405,    -1,   405,    -1,   406,
1177 >      -1,     1,    -1,    61,   217,   117,   214,    -1,    -1,    38,
1178 >     408,   216,   413,   215,   214,    -1,    -1,   150,   410,   217,
1179 >     411,   214,    -1,   411,   218,   412,    -1,   412,    -1,   122,
1180 >      -1,   413,   414,    -1,   414,    -1,   415,    -1,   416,    -1,
1181 >     409,    -1,     1,    -1,    89,   217,   117,   214,    -1,   119,
1182 >     217,   117,   214,    -1,    39,   216,   418,   215,   214,    -1,
1183 >     418,   419,    -1,   419,    -1,   428,    -1,   429,    -1,   431,
1184 >      -1,   432,    -1,   433,    -1,   434,    -1,   435,    -1,   436,
1185 >      -1,   437,    -1,   438,    -1,   427,    -1,   440,    -1,   441,
1186 >      -1,   456,    -1,   443,    -1,   445,    -1,   447,    -1,   446,
1187 >      -1,   450,    -1,   444,    -1,   451,    -1,   452,    -1,   453,
1188 >      -1,   454,    -1,   455,    -1,   468,    -1,   457,    -1,   458,
1189 >      -1,   459,    -1,   464,    -1,   448,    -1,   449,    -1,   474,
1190 >      -1,   472,    -1,   473,    -1,   430,    -1,   463,    -1,   439,
1191 >      -1,   461,    -1,   462,    -1,   426,    -1,   421,    -1,   422,
1192 >      -1,   423,    -1,   424,    -1,   425,    -1,   442,    -1,   420,
1193 >      -1,   460,    -1,     1,    -1,    83,   217,    99,   214,    -1,
1194 >      42,   217,   159,   214,    -1,    41,   217,   223,   214,    -1,
1195 >      44,   217,   223,   214,    -1,    45,   217,    99,   214,    -1,
1196 >      46,   217,    99,   214,    -1,   147,   217,   159,   214,    -1,
1197 >      63,   217,   223,   214,    -1,    55,   217,   159,   214,    -1,
1198 >      59,   217,   159,   214,    -1,    28,   217,   159,   214,    -1,
1199 >      35,   217,   159,   214,    -1,     6,   217,   159,   214,    -1,
1200 >      80,   217,   223,   214,    -1,    79,   217,    99,   214,    -1,
1201 >      72,   217,    99,   214,    -1,     7,   217,   223,   214,    -1,
1202 >     162,   217,   223,   214,    -1,   161,   217,   223,   214,    -1,
1203 >      50,   217,    99,   214,    -1,    60,   217,   159,   214,    -1,
1204 >     211,   217,   159,   214,    -1,   154,   217,   159,   214,    -1,
1205 >     157,   217,   159,   214,    -1,   158,   217,   159,   214,    -1,
1206 >     156,   217,   159,   214,    -1,   156,   217,   160,   214,    -1,
1207 >     155,   217,   159,   214,    -1,   155,   217,   160,   214,    -1,
1208 >     110,   217,   223,   214,    -1,    12,   217,   223,   214,    -1,
1209 >     103,   217,   159,   214,    -1,   111,   217,   223,   214,    -1,
1210 >     151,   217,   159,   214,    -1,    97,   217,   159,   214,    -1,
1211 >     203,   217,   159,   214,    -1,   105,   217,   159,   214,    -1,
1212 >      84,   217,   117,   214,    -1,    29,   217,    99,   214,    -1,
1213 >      82,   217,    99,   214,    -1,   206,   217,   159,   214,    -1,
1214 >      30,   217,   117,   214,    -1,   201,   217,   117,   214,    -1,
1215 >     114,   217,   159,   214,    -1,    26,   217,   159,   214,    -1,
1216 >     202,   217,   223,   214,    -1,    -1,   107,   465,   217,   466,
1217 >     214,    -1,   466,   218,   467,    -1,   467,    -1,   165,    -1,
1218 >     168,    -1,   169,    -1,   171,    -1,   172,    -1,   175,    -1,
1219 >      51,    -1,   188,    -1,   181,    -1,   184,    -1,   192,    -1,
1220 >     189,    -1,   174,    -1,   182,    -1,   186,    -1,   176,    -1,
1221 >     198,    -1,   166,    -1,   167,    -1,   179,    -1,    -1,   104,
1222 >     469,   217,   470,   214,    -1,   470,   218,   471,    -1,   471,
1223 >      -1,   165,    -1,   168,    -1,   169,    -1,   171,    -1,   172,
1224 >      -1,   175,    -1,   188,    -1,    51,    -1,   181,    -1,   184,
1225 >      -1,   192,    -1,   189,    -1,   174,    -1,   182,    -1,   186,
1226 >      -1,   176,    -1,   198,    -1,   166,    -1,   167,    -1,   179,
1227 >      -1,    85,   217,    99,   214,    -1,    86,   217,    99,   214,
1228 >      -1,    20,   217,    99,   214,    -1,    14,   216,   476,   215,
1229 >     214,    -1,   476,   477,    -1,   477,    -1,   485,    -1,   480,
1230 >      -1,   481,    -1,   482,    -1,   483,    -1,   484,    -1,   486,
1231 >      -1,   487,    -1,   488,    -1,   479,    -1,   489,    -1,   490,
1232 >      -1,   491,    -1,   478,    -1,     1,    -1,    27,   217,   159,
1233 >     214,    -1,   126,   217,   159,   214,    -1,    66,   217,   223,
1234 >     214,    -1,    67,   217,   223,   214,    -1,    75,   217,    99,
1235 >     214,    -1,    74,   217,    99,   214,    -1,   118,   217,   159,
1236 >     214,    -1,    73,   217,    99,   214,    -1,    22,   217,    99,
1237 >     214,    -1,    21,   217,    99,   214,    -1,    95,   217,   159,
1238 >     214,    -1,    96,   217,   159,   214,    -1,   108,   217,    99,
1239 >     214,    -1,   109,   217,   223,   214,    -1,   144,   216,   493,
1240 >     215,   214,    -1,   493,   494,    -1,   494,    -1,   495,    -1,
1241 >     496,    -1,   498,    -1,   499,    -1,   497,    -1,   500,    -1,
1242 >       1,    -1,    37,   217,   159,   214,    -1,    54,   217,   159,
1243 >     214,    -1,    52,   217,   117,   214,    -1,    69,   217,   223,
1244 >     214,    -1,    51,   217,   159,   214,    -1,    53,   217,   159,
1245 >     214,    -1
1246   };
1247  
1248   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1249   static const yytype_uint16 yyrline[] =
1250   {
1251 <       0,   353,   353,   354,   357,   358,   359,   360,   361,   362,
1252 <     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
1253 <     373,   374,   375,   376,   377,   378,   379,   383,   383,   384,
1254 <     388,   392,   396,   400,   404,   410,   410,   411,   412,   413,
1255 <     414,   421,   424,   424,   425,   425,   425,   427,   433,   440,
1256 <     442,   442,   443,   443,   444,   444,   445,   445,   446,   446,
1257 <     447,   447,   448,   448,   449,   449,   450,   451,   454,   455,
1258 <     457,   457,   458,   464,   472,   472,   473,   479,   487,   526,
1259 <     585,   613,   621,   636,   651,   660,   674,   683,   711,   741,
1260 <     764,   773,   775,   775,   776,   776,   777,   777,   779,   788,
1261 <     797,   809,   810,   810,   812,   812,   813,   815,   822,   822,
1262 <     832,   833,   835,   835,   836,   836,   838,   843,   846,   852,
1263 <     851,   857,   857,   858,   862,   866,   870,   874,   878,   882,
1264 <     893,   892,   990,   990,   991,   991,   991,   992,   992,   992,
1265 <     993,   993,   993,   995,  1004,  1041,  1053,  1064,  1106,  1116,
1266 <    1115,  1121,  1121,  1122,  1126,  1130,  1134,  1138,  1142,  1146,
1267 <    1150,  1154,  1158,  1162,  1166,  1170,  1174,  1178,  1182,  1186,
1268 <    1190,  1194,  1198,  1205,  1204,  1210,  1210,  1211,  1215,  1219,
1269 <    1223,  1227,  1231,  1235,  1239,  1243,  1247,  1251,  1255,  1259,
1270 <    1263,  1267,  1271,  1275,  1279,  1290,  1289,  1339,  1339,  1340,
1271 <    1341,  1341,  1342,  1343,  1344,  1345,  1346,  1347,  1348,  1349,
1272 <    1350,  1351,  1352,  1354,  1363,  1369,  1375,  1381,  1387,  1393,
1273 <    1399,  1405,  1411,  1417,  1423,  1429,  1439,  1438,  1455,  1454,
1274 <    1459,  1459,  1460,  1464,  1468,  1476,  1476,  1477,  1477,  1477,
1275 <    1477,  1477,  1479,  1479,  1481,  1481,  1483,  1497,  1517,  1526,
1276 <    1539,  1538,  1607,  1607,  1608,  1608,  1608,  1608,  1609,  1609,
1277 <    1609,  1610,  1610,  1612,  1647,  1660,  1669,  1681,  1680,  1684,
1278 <    1684,  1685,  1689,  1693,  1697,  1701,  1705,  1709,  1713,  1717,
1279 <    1724,  1743,  1753,  1767,  1766,  1782,  1782,  1783,  1783,  1783,
1280 <    1783,  1785,  1794,  1809,  1822,  1824,  1824,  1825,  1825,  1827,
1281 <    1843,  1842,  1858,  1858,  1859,  1859,  1859,  1859,  1861,  1870,
1282 <    1893,  1892,  1898,  1898,  1899,  1903,  1907,  1911,  1915,  1919,
1283 <    1923,  1927,  1931,  1935,  1945,  1944,  1961,  1961,  1962,  1962,
1284 <    1962,  1964,  1971,  1970,  1976,  1976,  1977,  1981,  1985,  1989,
1285 <    1993,  1997,  2001,  2005,  2009,  2013,  2023,  2022,  2073,  2073,
1286 <    2074,  2074,  2074,  2075,  2075,  2076,  2076,  2076,  2077,  2077,
1287 <    2077,  2078,  2078,  2079,  2081,  2090,  2099,  2125,  2143,  2161,
1288 <    2167,  2171,  2180,  2179,  2183,  2183,  2184,  2188,  2192,  2196,
1289 <    2202,  2213,  2224,  2235,  2244,  2263,  2262,  2328,  2327,  2331,
1290 <    2331,  2332,  2338,  2338,  2339,  2339,  2339,  2339,  2341,  2360,
1291 <    2370,  2369,  2394,  2394,  2395,  2395,  2395,  2397,  2403,  2412,
1292 <    2414,  2414,  2415,  2415,  2417,  2436,  2435,  2483,  2482,  2486,
1293 <    2486,  2487,  2493,  2493,  2494,  2494,  2494,  2494,  2496,  2502,
1294 <    2511,  2514,  2514,  2515,  2515,  2516,  2516,  2517,  2517,  2518,
1295 <    2518,  2519,  2519,  2520,  2520,  2521,  2521,  2522,  2522,  2523,
1296 <    2523,  2524,  2524,  2525,  2525,  2526,  2526,  2527,  2527,  2528,
1297 <    2529,  2529,  2530,  2530,  2531,  2531,  2532,  2532,  2533,  2533,
1298 <    2534,  2535,  2536,  2536,  2537,  2538,  2539,  2539,  2540,  2540,
1299 <    2541,  2541,  2542,  2542,  2543,  2546,  2551,  2556,  2561,  2566,
1300 <    2571,  2576,  2581,  2586,  2591,  2596,  2601,  2606,  2611,  2616,
1301 <    2621,  2626,  2631,  2637,  2648,  2653,  2662,  2667,  2672,  2677,
1302 <    2682,  2687,  2690,  2695,  2698,  2703,  2708,  2713,  2718,  2723,
1303 <    2728,  2733,  2738,  2743,  2754,  2759,  2764,  2769,  2778,  2787,
1304 <    2792,  2797,  2803,  2802,  2807,  2807,  2808,  2811,  2814,  2817,
1305 <    2820,  2823,  2826,  2829,  2832,  2835,  2838,  2841,  2844,  2847,
1306 <    2850,  2853,  2856,  2859,  2862,  2865,  2871,  2870,  2875,  2875,
1307 <    2876,  2879,  2882,  2885,  2888,  2891,  2894,  2897,  2900,  2903,
1308 <    2906,  2909,  2912,  2915,  2918,  2921,  2924,  2927,  2930,  2933,
1309 <    2938,  2943,  2948,  2953,  2963,  2962,  2986,  2986,  2987,  2988,
1310 <    2989,  2990,  2991,  2992,  2993,  2995,  3001,  3008,  3007,  3012,
1311 <    3012,  3013,  3017,  3023,  3057,  3067,  3066,  3116,  3116,  3117,
1312 <    3121,  3130,  3133,  3133,  3134,  3134,  3135,  3135,  3136,  3136,
1313 <    3137,  3137,  3138,  3138,  3139,  3140,  3140,  3141,  3142,  3142,
1329 <    3143,  3143,  3145,  3150,  3155,  3160,  3165,  3170,  3175,  3180,
1330 <    3185,  3190,  3195,  3200,  3205,  3210,  3215,  3220,  3225,  3233,
1331 <    3236,  3236,  3237,  3237,  3238,  3239,  3240,  3240,  3241,  3242,
1332 <    3244,  3250,  3256,  3265,  3279,  3285,  3291
1251 >       0,   366,   366,   367,   370,   371,   372,   373,   374,   375,
1252 >     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
1253 >     386,   387,   388,   389,   390,   391,   395,   395,   396,   400,
1254 >     404,   408,   412,   416,   422,   422,   423,   424,   425,   426,
1255 >     433,   436,   436,   437,   437,   437,   439,   445,   452,   454,
1256 >     454,   455,   455,   456,   456,   457,   457,   458,   458,   459,
1257 >     459,   460,   460,   461,   461,   462,   463,   466,   467,   469,
1258 >     469,   470,   476,   484,   484,   485,   491,   499,   538,   597,
1259 >     625,   633,   648,   663,   672,   686,   695,   723,   753,   776,
1260 >     785,   787,   787,   788,   788,   789,   789,   791,   800,   809,
1261 >     821,   822,   822,   824,   824,   825,   827,   834,   834,   844,
1262 >     845,   847,   847,   848,   848,   850,   855,   858,   864,   863,
1263 >     869,   869,   870,   874,   878,   882,   886,   890,   894,   905,
1264 >     904,   983,   983,   984,   984,   984,   985,   985,   985,   986,
1265 >     986,   986,   988,   994,  1000,  1006,  1017,  1023,  1030,  1029,
1266 >    1035,  1035,  1036,  1040,  1044,  1048,  1052,  1056,  1060,  1064,
1267 >    1068,  1072,  1076,  1080,  1084,  1088,  1092,  1096,  1100,  1104,
1268 >    1108,  1112,  1119,  1118,  1124,  1124,  1125,  1129,  1133,  1137,
1269 >    1141,  1145,  1149,  1153,  1157,  1161,  1165,  1169,  1173,  1177,
1270 >    1181,  1185,  1189,  1193,  1197,  1208,  1207,  1253,  1253,  1254,
1271 >    1255,  1255,  1256,  1257,  1258,  1259,  1260,  1261,  1262,  1263,
1272 >    1264,  1264,  1265,  1267,  1276,  1282,  1288,  1294,  1300,  1306,
1273 >    1312,  1318,  1324,  1331,  1337,  1343,  1353,  1352,  1359,  1358,
1274 >    1363,  1363,  1364,  1368,  1372,  1378,  1378,  1379,  1379,  1379,
1275 >    1379,  1379,  1381,  1381,  1383,  1383,  1385,  1399,  1419,  1425,
1276 >    1435,  1434,  1476,  1476,  1477,  1477,  1477,  1477,  1478,  1478,
1277 >    1478,  1479,  1479,  1481,  1487,  1493,  1499,  1511,  1510,  1516,
1278 >    1516,  1517,  1521,  1525,  1529,  1533,  1537,  1541,  1545,  1549,
1279 >    1555,  1569,  1578,  1591,  1590,  1606,  1606,  1607,  1607,  1607,
1280 >    1607,  1609,  1618,  1633,  1646,  1648,  1648,  1649,  1649,  1651,
1281 >    1667,  1666,  1681,  1681,  1682,  1682,  1682,  1682,  1684,  1693,
1282 >    1716,  1715,  1721,  1721,  1722,  1726,  1730,  1734,  1738,  1742,
1283 >    1746,  1750,  1754,  1758,  1768,  1767,  1783,  1783,  1784,  1784,
1284 >    1784,  1786,  1793,  1792,  1798,  1798,  1799,  1803,  1807,  1811,
1285 >    1815,  1819,  1823,  1827,  1831,  1835,  1845,  1844,  1893,  1893,
1286 >    1894,  1894,  1894,  1895,  1895,  1896,  1896,  1896,  1897,  1897,
1287 >    1897,  1898,  1898,  1899,  1901,  1910,  1919,  1945,  1963,  1981,
1288 >    1987,  1991,  2000,  1999,  2003,  2003,  2004,  2008,  2014,  2025,
1289 >    2035,  2046,  2055,  2074,  2073,  2137,  2136,  2140,  2140,  2141,
1290 >    2147,  2147,  2148,  2148,  2148,  2148,  2150,  2169,  2179,  2178,
1291 >    2205,  2205,  2206,  2206,  2206,  2208,  2214,  2223,  2225,  2225,
1292 >    2226,  2226,  2228,  2246,  2245,  2291,  2290,  2296,  2296,  2297,
1293 >    2303,  2303,  2304,  2304,  2304,  2304,  2306,  2312,  2321,  2324,
1294 >    2324,  2325,  2325,  2326,  2326,  2327,  2327,  2328,  2328,  2329,
1295 >    2329,  2330,  2331,  2332,  2332,  2333,  2333,  2334,  2334,  2335,
1296 >    2335,  2336,  2336,  2337,  2337,  2338,  2339,  2339,  2340,  2340,
1297 >    2341,  2341,  2342,  2342,  2343,  2343,  2344,  2345,  2345,  2346,
1298 >    2347,  2348,  2348,  2349,  2349,  2350,  2351,  2352,  2353,  2353,
1299 >    2354,  2357,  2362,  2368,  2374,  2380,  2385,  2390,  2395,  2400,
1300 >    2405,  2410,  2415,  2420,  2425,  2430,  2435,  2440,  2445,  2450,
1301 >    2456,  2467,  2472,  2477,  2482,  2487,  2492,  2495,  2500,  2503,
1302 >    2508,  2513,  2518,  2523,  2528,  2533,  2538,  2543,  2548,  2559,
1303 >    2564,  2569,  2574,  2583,  2592,  2597,  2602,  2608,  2607,  2612,
1304 >    2612,  2613,  2616,  2619,  2622,  2625,  2628,  2631,  2634,  2637,
1305 >    2640,  2643,  2646,  2649,  2652,  2655,  2658,  2661,  2664,  2667,
1306 >    2670,  2676,  2675,  2680,  2680,  2681,  2684,  2687,  2690,  2693,
1307 >    2696,  2699,  2702,  2705,  2708,  2711,  2714,  2717,  2720,  2723,
1308 >    2726,  2729,  2732,  2735,  2738,  2743,  2748,  2753,  2762,  2765,
1309 >    2765,  2766,  2767,  2767,  2768,  2768,  2769,  2769,  2770,  2771,
1310 >    2771,  2772,  2773,  2773,  2774,  2774,  2776,  2781,  2786,  2791,
1311 >    2796,  2801,  2806,  2811,  2816,  2821,  2826,  2831,  2836,  2841,
1312 >    2849,  2852,  2852,  2853,  2853,  2854,  2855,  2855,  2856,  2857,
1313 >    2859,  2865,  2871,  2880,  2894,  2900
1314   };
1315   #endif
1316  
1317 < #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1317 > #if YYDEBUG || YYERROR_VERBOSE || 0
1318   /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1319     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1320   static const char *const yytname[] =
1321   {
1322 <  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1323 <  "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1324 <  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BYTES", "KBYTES", "MBYTES",
1344 <  "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1322 >  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1323 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1324 >  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1325    "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1326    "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1327    "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1328 <  "DISABLE_FAKE_CHANNELS", "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS",
1329 <  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH",
1350 <  "EMAIL", "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1328 >  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1329 >  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1330    "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1331 <  "GLINE", "GLINES", "GLINE_EXEMPT", "GLINE_TIME", "GLINE_MIN_CIDR",
1332 <  "GLINE_MIN_CIDR6", "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT",
1333 <  "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_SERVER_IPS",
1334 <  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1335 <  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1336 <  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1337 <  "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1338 <  "LINKS_DELAY", "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS",
1331 >  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1332 >  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1333 >  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1334 >  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1335 >  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1336 >  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1337 >  "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1338 >  "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER",
1339    "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1340    "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1341    "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1342    "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1343    "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1344    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1345 <  "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1346 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID",
1347 <  "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1348 <  "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1349 <  "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1350 <  "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1351 <  "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1352 <  "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1353 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE",
1354 <  "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1",
1355 <  "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1356 <  "SENDQ", "SEND_PASSWORD", "SERVERHIDE", "SERVERINFO", "IRCD_SID",
1357 <  "TKLINE_EXPIRE_NOTICES", "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD",
1358 <  "SILENT", "SPOOF", "SPOOF_NOTICE", "STATS_E_DISABLED",
1359 <  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1360 <  "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "T_REJECT", "TS_MAX_DELTA",
1361 <  "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS", "T_SOFTCALLERID",
1362 <  "T_CALLERID", "T_CCONN", "T_CCONN_FULL", "T_SSL_CIPHER_LIST",
1363 <  "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE", "T_DRONE",
1364 <  "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1365 <  "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ", "T_SERVER",
1366 <  "T_SERVNOTICE", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES", "T_UNAUTH",
1367 <  "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS",
1368 <  "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME", "THROTTLE_TIME",
1369 <  "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE", "TRESV",
1370 <  "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX", "USE_KNOCK",
1371 <  "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE", "WARN",
1372 <  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1394 <  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1395 <  "sizespec", "modules_entry", "modules_items", "modules_item",
1396 <  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1345 >  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR",
1346 >  "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1347 >  "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1348 >  "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1349 >  "PING_TIME", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT",
1350 >  "REDIRSERV", "REGEX_T", "REHASH", "REMOTE", "REMOTEBAN",
1351 >  "RESTRICT_CHANNELS", "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE",
1352 >  "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD",
1353 >  "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT",
1354 >  "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD",
1355 >  "SERVERHIDE", "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1356 >  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1357 >  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1358 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1359 >  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1360 >  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1361 >  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1362 >  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1363 >  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1364 >  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1365 >  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1366 >  "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME",
1367 >  "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD",
1368 >  "USE_LOGGING", "VHOST", "VHOST6", "XLINE", "WARN_NO_NLINE", "T_SIZE",
1369 >  "T_FILE", "';'", "'}'", "'{'", "'='", "','", "$accept", "conf",
1370 >  "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1371 >  "modules_entry", "modules_items", "modules_item", "modules_module",
1372 >  "modules_path", "serverinfo_entry", "serverinfo_items",
1373    "serverinfo_item", "serverinfo_ssl_client_method",
1374    "serverinfo_ssl_server_method", "client_method_types",
1375    "client_method_type_item", "server_method_types",
# Line 1413 | Line 1389 | static const char *const yytname[] =
1389    "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1390    "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1391    "class_entry", "$@6", "class_items", "class_item", "class_name",
1392 <  "class_ping_time", "class_ping_warning", "class_number_per_ip",
1393 <  "class_connectfreq", "class_max_number", "class_max_global",
1394 <  "class_max_local", "class_max_ident", "class_sendq",
1392 >  "class_ping_time", "class_number_per_ip", "class_connectfreq",
1393 >  "class_max_number", "class_max_global", "class_max_local",
1394 >  "class_max_ident", "class_sendq", "class_recvq",
1395    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1396    "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1397    "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
# Line 1443 | Line 1419 | static const char *const yytname[] =
1419    "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1420    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1421    "general_entry", "general_items", "general_item", "general_max_watch",
1422 <  "general_gline_min_cidr", "general_gline_min_cidr6",
1423 <  "general_use_whois_actually", "general_reject_hold_time",
1424 <  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1425 <  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1426 <  "general_disable_remote_commands", "general_failed_oper_notice",
1427 <  "general_anti_nick_flood", "general_max_nick_time",
1428 <  "general_max_nick_changes", "general_max_accept",
1429 <  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1430 <  "general_ts_max_delta", "general_havent_read_conf",
1431 <  "general_kline_with_reason", "general_kline_reason",
1432 <  "general_invisible_on_connect", "general_warn_no_nline",
1433 <  "general_stats_e_disabled", "general_stats_o_oper_only",
1434 <  "general_stats_P_oper_only", "general_stats_k_oper_only",
1435 <  "general_stats_i_oper_only", "general_pace_wait",
1436 <  "general_caller_id_wait", "general_opers_bypass_callerid",
1437 <  "general_pace_wait_simple", "general_short_motd",
1438 <  "general_no_oper_flood", "general_true_no_oper_flood",
1439 <  "general_oper_pass_resv", "general_message_locale",
1440 <  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1441 <  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1442 <  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1443 <  "$@24", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1444 <  "$@25", "umode_items", "umode_item", "general_min_nonwildcard",
1445 <  "general_min_nonwildcard_simple", "general_default_floodcount",
1446 <  "general_client_flood", "gline_entry", "$@26", "gline_items",
1447 <  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@27",
1472 <  "gline_logging_types", "gline_logging_type_item", "gline_user",
1473 <  "gline_server", "gline_action", "$@28", "gdeny_types", "gdeny_type_item",
1474 <  "channel_entry", "channel_items", "channel_item",
1475 <  "channel_disable_fake_channels", "channel_restrict_channels",
1476 <  "channel_disable_local_channels", "channel_use_except",
1477 <  "channel_use_invex", "channel_use_knock", "channel_knock_delay",
1422 >  "general_gline_enable", "general_gline_duration",
1423 >  "general_gline_request_duration", "general_gline_min_cidr",
1424 >  "general_gline_min_cidr6", "general_tkline_expire_notices",
1425 >  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1426 >  "general_ignore_bogus_ts", "general_disable_remote_commands",
1427 >  "general_failed_oper_notice", "general_anti_nick_flood",
1428 >  "general_max_nick_time", "general_max_nick_changes",
1429 >  "general_max_accept", "general_anti_spam_exit_message_time",
1430 >  "general_ts_warn_delta", "general_ts_max_delta",
1431 >  "general_havent_read_conf", "general_invisible_on_connect",
1432 >  "general_warn_no_nline", "general_stats_e_disabled",
1433 >  "general_stats_o_oper_only", "general_stats_P_oper_only",
1434 >  "general_stats_k_oper_only", "general_stats_i_oper_only",
1435 >  "general_pace_wait", "general_caller_id_wait",
1436 >  "general_opers_bypass_callerid", "general_pace_wait_simple",
1437 >  "general_short_motd", "general_no_oper_flood",
1438 >  "general_true_no_oper_flood", "general_oper_pass_resv",
1439 >  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1440 >  "general_use_egd", "general_egdpool_path", "general_services_name",
1441 >  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1442 >  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1443 >  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1444 >  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1445 >  "general_default_floodcount", "channel_entry", "channel_items",
1446 >  "channel_item", "channel_disable_fake_channels",
1447 >  "channel_restrict_channels", "channel_knock_delay",
1448    "channel_knock_delay_channel", "channel_max_chans_per_user",
1449 <  "channel_quiet_on_ban", "channel_max_bans",
1449 >  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1450    "channel_default_split_user_count", "channel_default_split_server_count",
1451    "channel_no_create_on_split", "channel_no_join_on_split",
1452    "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1453    "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1454    "serverhide_hide_servers", "serverhide_hidden_name",
1455    "serverhide_links_delay", "serverhide_hidden",
1456 <  "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1456 >  "serverhide_hide_server_ips", YY_NULL
1457   };
1458   #endif
1459  
# Line 1513 | Line 1483 | static const yytype_uint16 yytoknum[] =
1483       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1484       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1485       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1486 <     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1517 <     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1518 <     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1519 <      59,   125,   123,    61,    44
1486 >     465,   466,   467,   468,    59,   125,   123,    61,    44
1487   };
1488   # endif
1489  
1490   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1491   static const yytype_uint16 yyr1[] =
1492   {
1493 <       0,   245,   246,   246,   247,   247,   247,   247,   247,   247,
1494 <     247,   247,   247,   247,   247,   247,   247,   247,   247,   247,
1495 <     247,   247,   247,   247,   247,   247,   247,   248,   248,   249,
1496 <     249,   249,   249,   249,   249,   250,   250,   251,   251,   251,
1497 <     251,   252,   253,   253,   254,   254,   254,   255,   256,   257,
1498 <     258,   258,   259,   259,   259,   259,   259,   259,   259,   259,
1499 <     259,   259,   259,   259,   259,   259,   259,   259,   260,   261,
1500 <     262,   262,   263,   263,   264,   264,   265,   265,   266,   267,
1501 <     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
1502 <     278,   279,   280,   280,   281,   281,   281,   281,   282,   283,
1503 <     284,   285,   286,   286,   287,   287,   287,   288,   290,   289,
1504 <     291,   291,   292,   292,   292,   292,   293,   294,   294,   296,
1505 <     295,   297,   297,   298,   298,   298,   298,   298,   298,   298,
1506 <     300,   299,   301,   301,   302,   302,   302,   302,   302,   302,
1507 <     302,   302,   302,   303,   304,   305,   306,   307,   308,   310,
1508 <     309,   311,   311,   312,   312,   312,   312,   312,   312,   312,
1509 <     312,   312,   312,   312,   312,   312,   312,   312,   312,   312,
1510 <     312,   312,   312,   314,   313,   315,   315,   316,   316,   316,
1511 <     316,   316,   316,   316,   316,   316,   316,   316,   316,   316,
1512 <     316,   316,   316,   316,   316,   318,   317,   319,   319,   320,
1513 <     320,   320,   320,   320,   320,   320,   320,   320,   320,   320,
1514 <     320,   320,   320,   321,   322,   323,   324,   325,   326,   327,
1515 <     328,   329,   330,   331,   332,   333,   335,   334,   337,   336,
1516 <     338,   338,   339,   339,   339,   340,   340,   341,   341,   341,
1517 <     341,   341,   343,   342,   344,   344,   345,   345,   346,   347,
1518 <     349,   348,   350,   350,   351,   351,   351,   351,   351,   351,
1519 <     351,   351,   351,   352,   353,   354,   355,   357,   356,   358,
1520 <     358,   359,   359,   359,   359,   359,   359,   359,   359,   359,
1521 <     360,   361,   362,   364,   363,   365,   365,   366,   366,   366,
1522 <     366,   367,   368,   369,   370,   371,   371,   372,   372,   373,
1523 <     375,   374,   376,   376,   377,   377,   377,   377,   378,   379,
1524 <     381,   380,   382,   382,   383,   383,   383,   383,   383,   383,
1525 <     383,   383,   383,   383,   385,   384,   386,   386,   387,   387,
1526 <     387,   388,   390,   389,   391,   391,   392,   392,   392,   392,
1527 <     392,   392,   392,   392,   392,   392,   394,   393,   395,   395,
1528 <     396,   396,   396,   396,   396,   396,   396,   396,   396,   396,
1529 <     396,   396,   396,   396,   397,   398,   399,   400,   401,   402,
1530 <     403,   403,   405,   404,   406,   406,   407,   407,   407,   407,
1531 <     408,   409,   410,   411,   412,   414,   413,   416,   415,   417,
1532 <     417,   418,   419,   419,   420,   420,   420,   420,   421,   422,
1533 <     424,   423,   425,   425,   426,   426,   426,   427,   428,   429,
1534 <     430,   430,   431,   431,   432,   434,   433,   436,   435,   437,
1535 <     437,   438,   439,   439,   440,   440,   440,   440,   441,   442,
1536 <     443,   444,   444,   445,   445,   445,   445,   445,   445,   445,
1537 <     445,   445,   445,   445,   445,   445,   445,   445,   445,   445,
1538 <     445,   445,   445,   445,   445,   445,   445,   445,   445,   445,
1539 <     445,   445,   445,   445,   445,   445,   445,   445,   445,   445,
1540 <     445,   445,   445,   445,   445,   445,   445,   445,   445,   445,
1541 <     445,   445,   445,   445,   445,   446,   447,   448,   449,   450,
1542 <     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
1543 <     461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
1544 <     471,   472,   472,   473,   473,   474,   475,   476,   477,   478,
1545 <     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
1546 <     489,   490,   492,   491,   493,   493,   494,   494,   494,   494,
1547 <     494,   494,   494,   494,   494,   494,   494,   494,   494,   494,
1548 <     494,   494,   494,   494,   494,   494,   496,   495,   497,   497,
1549 <     498,   498,   498,   498,   498,   498,   498,   498,   498,   498,
1550 <     498,   498,   498,   498,   498,   498,   498,   498,   498,   498,
1551 <     499,   500,   501,   502,   504,   503,   505,   505,   506,   506,
1552 <     506,   506,   506,   506,   506,   507,   508,   510,   509,   511,
1553 <     511,   512,   512,   513,   514,   516,   515,   517,   517,   518,
1554 <     518,   519,   520,   520,   521,   521,   521,   521,   521,   521,
1555 <     521,   521,   521,   521,   521,   521,   521,   521,   521,   521,
1589 <     521,   521,   522,   523,   524,   525,   526,   527,   528,   529,
1590 <     530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
1591 <     540,   540,   541,   541,   541,   541,   541,   541,   541,   541,
1592 <     542,   543,   544,   545,   546,   547,   548
1493 >       0,   219,   220,   220,   221,   221,   221,   221,   221,   221,
1494 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
1495 >     221,   221,   221,   221,   221,   221,   222,   222,   223,   223,
1496 >     223,   223,   223,   223,   224,   224,   225,   225,   225,   225,
1497 >     226,   227,   227,   228,   228,   228,   229,   230,   231,   232,
1498 >     232,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1499 >     233,   233,   233,   233,   233,   233,   233,   234,   235,   236,
1500 >     236,   237,   237,   238,   238,   239,   239,   240,   241,   242,
1501 >     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1502 >     253,   254,   254,   255,   255,   255,   255,   256,   257,   258,
1503 >     259,   260,   260,   261,   261,   261,   262,   264,   263,   265,
1504 >     265,   266,   266,   266,   266,   267,   268,   268,   270,   269,
1505 >     271,   271,   272,   272,   272,   272,   272,   272,   272,   274,
1506 >     273,   275,   275,   276,   276,   276,   276,   276,   276,   276,
1507 >     276,   276,   277,   278,   279,   280,   281,   282,   284,   283,
1508 >     285,   285,   286,   286,   286,   286,   286,   286,   286,   286,
1509 >     286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
1510 >     286,   286,   288,   287,   289,   289,   290,   290,   290,   290,
1511 >     290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
1512 >     290,   290,   290,   290,   290,   292,   291,   293,   293,   294,
1513 >     294,   294,   294,   294,   294,   294,   294,   294,   294,   294,
1514 >     294,   294,   294,   295,   296,   297,   298,   299,   300,   301,
1515 >     302,   303,   304,   305,   306,   307,   309,   308,   311,   310,
1516 >     312,   312,   313,   313,   313,   314,   314,   315,   315,   315,
1517 >     315,   315,   317,   316,   318,   318,   319,   319,   320,   321,
1518 >     323,   322,   324,   324,   325,   325,   325,   325,   325,   325,
1519 >     325,   325,   325,   326,   327,   328,   329,   331,   330,   332,
1520 >     332,   333,   333,   333,   333,   333,   333,   333,   333,   333,
1521 >     334,   335,   336,   338,   337,   339,   339,   340,   340,   340,
1522 >     340,   341,   342,   343,   344,   345,   345,   346,   346,   347,
1523 >     349,   348,   350,   350,   351,   351,   351,   351,   352,   353,
1524 >     355,   354,   356,   356,   357,   357,   357,   357,   357,   357,
1525 >     357,   357,   357,   357,   359,   358,   360,   360,   361,   361,
1526 >     361,   362,   364,   363,   365,   365,   366,   366,   366,   366,
1527 >     366,   366,   366,   366,   366,   366,   368,   367,   369,   369,
1528 >     370,   370,   370,   370,   370,   370,   370,   370,   370,   370,
1529 >     370,   370,   370,   370,   371,   372,   373,   374,   375,   376,
1530 >     377,   377,   379,   378,   380,   380,   381,   381,   382,   383,
1531 >     384,   385,   386,   388,   387,   390,   389,   391,   391,   392,
1532 >     393,   393,   394,   394,   394,   394,   395,   396,   398,   397,
1533 >     399,   399,   400,   400,   400,   401,   402,   403,   404,   404,
1534 >     405,   405,   406,   408,   407,   410,   409,   411,   411,   412,
1535 >     413,   413,   414,   414,   414,   414,   415,   416,   417,   418,
1536 >     418,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1537 >     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1538 >     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1539 >     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1540 >     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1541 >     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
1542 >     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1543 >     439,   440,   441,   442,   443,   444,   445,   445,   446,   446,
1544 >     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
1545 >     457,   458,   459,   460,   461,   462,   463,   465,   464,   466,
1546 >     466,   467,   467,   467,   467,   467,   467,   467,   467,   467,
1547 >     467,   467,   467,   467,   467,   467,   467,   467,   467,   467,
1548 >     467,   469,   468,   470,   470,   471,   471,   471,   471,   471,
1549 >     471,   471,   471,   471,   471,   471,   471,   471,   471,   471,
1550 >     471,   471,   471,   471,   471,   472,   473,   474,   475,   476,
1551 >     476,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1552 >     477,   477,   477,   477,   477,   477,   478,   479,   480,   481,
1553 >     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
1554 >     492,   493,   493,   494,   494,   494,   494,   494,   494,   494,
1555 >     495,   496,   497,   498,   499,   500
1556   };
1557  
1558   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1597 | Line 1560 | static const yytype_uint8 yyr2[] =
1560   {
1561         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1562         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1563 <       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1564 <       3,     3,     3,     3,     3,     0,     1,     2,     3,     3,
1565 <       3,     5,     2,     1,     1,     1,     2,     4,     4,     5,
1566 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1567 <       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1568 <       3,     1,     1,     1,     3,     1,     1,     1,     4,     4,
1563 >       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1564 >       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1565 >       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1566 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1567 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1568 >       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1569         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1570 <       4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1571 <       4,     5,     2,     1,     1,     1,     2,     4,     0,     6,
1572 <       2,     1,     1,     1,     1,     2,     4,     4,     4,     0,
1573 <       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1574 <       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1575 <       1,     1,     2,     4,     4,     4,     4,     4,     4,     0,
1576 <       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1570 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1571 >       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1572 >       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1573 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1574 >       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1575 >       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1576 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1577         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1578 <       1,     1,     1,     0,     5,     3,     1,     1,     1,     1,
1578 >       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1579         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1580         1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1581         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 1632 | Line 1595 | static const yytype_uint8 yyr2[] =
1595         1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1596         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1597         1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1598 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1599 <       4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1600 <       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1601 <       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1602 <       2,     1,     1,     1,     4,     0,     6,     0,     5,     3,
1603 <       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1641 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1598 >       4,     4,     0,     5,     3,     1,     1,     1,     4,     4,
1599 >       4,     4,     4,     0,     6,     0,     5,     3,     1,     1,
1600 >       2,     1,     1,     1,     1,     1,     4,     4,     0,     6,
1601 >       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
1602 >       1,     1,     4,     0,     6,     0,     5,     3,     1,     1,
1603 >       2,     1,     1,     1,     1,     1,     4,     4,     5,     2,
1604         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1605         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1606         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1607         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1608 <       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1609 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1608 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1609 >       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1610         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1611         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1612         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1613 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1613 >       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1614         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1653       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1615         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1616 +       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1617         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1618 <       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
1657 <       1,     1,     1,     1,     1,     4,     4,     0,     5,     3,
1658 <       1,     1,     1,     4,     4,     0,     5,     3,     1,     1,
1659 <       1,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1618 >       1,     1,     1,     1,     1,     4,     4,     4,     5,     2,
1619         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1620 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1621 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     5,
1622 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1623 <       4,     4,     4,     4,     4,     4,     4
1620 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1621 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1622 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1623 >       4,     4,     4,     4,     4,     4
1624   };
1625  
1626   /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
# Line 1669 | Line 1628 | static const yytype_uint8 yyr2[] =
1628     means the default is an error.  */
1629   static const yytype_uint16 yydefact[] =
1630   {
1631 <       2,     0,     1,     0,     0,     0,   195,   346,   400,     0,
1632 <     415,     0,   584,   250,   385,   226,     0,     0,   130,   283,
1633 <       0,     0,   300,   324,     0,     3,    24,    11,     4,     5,
1634 <       6,     8,     9,    10,    13,    14,    15,    16,    17,    18,
1635 <      19,    20,    23,    21,    22,     7,    12,    25,    26,     0,
1677 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1678 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1679 <       0,     0,     0,     0,     0,    93,    94,    96,    95,   631,
1631 >       2,     0,     1,     0,     0,     0,   195,   346,   398,     0,
1632 >     413,     0,   250,   383,   226,     0,     0,   129,   283,     0,
1633 >       0,   300,   324,     0,     3,    23,    11,     4,     5,     6,
1634 >       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1635 >      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1636         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1681       0,     0,     0,     0,     0,     0,     0,     0,   613,   630,
1682     626,   614,   615,   616,   617,   619,   620,   621,   622,   618,
1683     623,   624,   625,   627,   628,   629,     0,     0,     0,   413,
1684       0,     0,   411,   412,     0,   484,     0,     0,     0,     0,
1637         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1638 +       0,     0,    92,    93,    95,    94,   595,     0,     0,     0,
1639         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1640 <       0,     0,     0,     0,   556,     0,   532,     0,     0,     0,
1640 >       0,     0,   580,   594,   590,   582,   583,   584,   585,   586,
1641 >     581,   587,   588,   589,   591,   592,   593,     0,     0,     0,
1642 >     411,     0,     0,   409,   410,     0,   480,     0,     0,     0,
1643         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1689       0,     0,     0,     0,     0,     0,     0,     0,   432,   482,
1690     477,   478,   479,   480,   476,   443,   433,   434,   470,   435,
1691     436,   437,   438,   439,   440,   441,   442,   473,   444,   445,
1692     446,   447,   481,   449,   454,   450,   452,   451,   465,   466,
1693     453,   455,   456,   457,   458,   459,   448,   461,   462,   463,
1694     483,   474,   475,   472,   464,   460,   468,   469,   467,   471,
1695       0,     0,     0,     0,     0,     0,     0,   103,   104,   105,
1696       0,     0,     0,     0,     0,    43,    44,    45,     0,     0,
1697     659,     0,     0,     0,     0,     0,     0,     0,     0,   651,
1698     652,   653,   657,   654,   656,   655,   658,     0,     0,     0,
1644         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1645 <       0,     0,     0,     0,    51,    64,    65,    63,    60,    59,
1701 <      66,    52,    62,    55,    56,    57,    53,    61,    58,    54,
1702 <       0,     0,   298,     0,     0,   296,   297,    97,     0,     0,
1703 <       0,     0,    92,     0,     0,     0,     0,     0,     0,     0,
1645 >       0,     0,     0,     0,     0,     0,   551,     0,   527,     0,
1646         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1647 <       0,   612,     0,     0,     0,     0,     0,     0,     0,     0,
1648 <       0,     0,     0,     0,     0,     0,     0,   198,   199,   202,
1649 <     203,   205,   206,   207,   208,   209,   210,   211,   200,   201,
1650 <     204,     0,     0,     0,     0,     0,   372,     0,     0,     0,
1651 <       0,     0,     0,     0,     0,     0,   349,   350,   351,   352,
1652 <     353,   354,   356,   355,   358,   362,   359,   360,   361,   357,
1653 <     406,     0,     0,     0,   403,   404,   405,     0,     0,   410,
1654 <     427,     0,     0,   417,   426,     0,   423,   424,   425,     0,
1647 >       0,     0,     0,     0,     0,     0,     0,   430,   478,   472,
1648 >     473,   474,   475,   476,   471,   441,   431,   432,   466,   433,
1649 >     434,   435,   436,   437,   438,   439,   440,   468,   442,   443,
1650 >     477,   445,   450,   446,   448,   447,   461,   462,   449,   451,
1651 >     452,   453,   454,   455,   444,   457,   458,   459,   479,   469,
1652 >     470,   467,   460,   456,   464,   465,   463,     0,     0,     0,
1653 >       0,     0,     0,   102,   103,   104,     0,     0,     0,     0,
1654 >       0,    42,    43,    44,     0,     0,   619,     0,     0,     0,
1655 >       0,     0,     0,     0,   612,   613,   614,   617,   615,   616,
1656 >     618,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1657 >       0,     0,     0,     0,     0,     0,     0,     0,    50,    63,
1658 >      64,    62,    59,    58,    65,    51,    61,    54,    55,    56,
1659 >      52,    60,    57,    53,     0,     0,   298,     0,     0,   296,
1660 >     297,    96,     0,     0,     0,     0,    91,     0,     0,     0,
1661         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1662 +       0,     0,   579,     0,     0,     0,     0,     0,     0,     0,
1663 +       0,     0,     0,     0,     0,     0,     0,     0,   198,   199,
1664 +     202,   204,   205,   206,   207,   208,   209,   210,   211,   200,
1665 +     201,   203,     0,     0,     0,     0,     0,   372,     0,     0,
1666 +       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
1667 +     352,   353,   354,   356,   355,   358,   362,   359,   360,   361,
1668 +     357,   404,     0,     0,     0,   401,   402,   403,     0,     0,
1669 +     408,   425,     0,     0,   415,   424,     0,   421,   422,   423,
1670         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1671         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1672         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1673         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1718       0,   431,   594,   605,     0,     0,   597,     0,     0,     0,
1719     587,   588,   589,   590,   591,   592,   593,     0,     0,     0,
1720     267,     0,     0,     0,     0,     0,     0,   253,   254,   255,
1721     256,   261,   257,   258,   259,   260,   397,     0,   387,     0,
1722     396,     0,   393,   394,   395,     0,   228,     0,     0,     0,
1723     238,     0,   236,   237,   239,   240,   106,     0,     0,   102,
1724       0,    46,     0,     0,     0,    42,     0,     0,     0,   173,
1725       0,     0,     0,   149,     0,     0,   133,   134,   135,   136,
1726     139,   140,   138,   137,   141,     0,     0,     0,     0,     0,
1727     286,   287,   288,   289,     0,     0,     0,     0,     0,     0,
1728       0,     0,   650,    67,     0,     0,     0,     0,     0,     0,
1674         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1675 <      50,     0,     0,   310,     0,     0,   303,   304,   305,   306,
1676 <       0,     0,   332,     0,   327,   328,   329,     0,     0,   295,
1677 <       0,     0,     0,    91,     0,     0,     0,     0,    27,     0,
1675 >     429,     0,     0,     0,   267,     0,     0,     0,     0,     0,
1676 >       0,   253,   254,   255,   256,   261,   257,   258,   259,   260,
1677 >     395,     0,   385,     0,   394,     0,   391,   392,   393,     0,
1678 >     228,     0,     0,     0,   238,     0,   236,   237,   239,   240,
1679 >     105,     0,     0,   101,     0,    45,     0,     0,     0,    41,
1680 >       0,     0,     0,   172,     0,     0,     0,   148,     0,     0,
1681 >     132,   133,   134,   135,   138,   139,   137,   136,   140,     0,
1682 >       0,     0,     0,     0,   286,   287,   288,   289,     0,     0,
1683 >       0,     0,     0,     0,     0,   611,    66,     0,     0,     0,
1684         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1685 <       0,     0,   611,   212,     0,     0,     0,     0,     0,     0,
1685 >       0,     0,     0,    49,     0,     0,   310,     0,     0,   303,
1686 >     304,   305,   306,     0,     0,   332,     0,   327,   328,   329,
1687 >       0,     0,   295,     0,     0,     0,    90,     0,     0,     0,
1688 >      26,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1689 >       0,     0,   578,   212,     0,     0,     0,     0,     0,     0,
1690         0,     0,     0,     0,     0,     0,     0,     0,   197,   363,
1691         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1692 <       0,     0,     0,     0,   348,     0,     0,     0,   402,     0,
1693 <     409,     0,     0,     0,     0,   422,     0,     0,     0,     0,
1692 >       0,     0,     0,     0,   348,     0,     0,     0,   400,     0,
1693 >     407,     0,     0,     0,     0,   420,     0,     0,     0,     0,
1694         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1695         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1696         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1697         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1698 <       0,     0,    35,     0,     0,     0,     0,     0,     0,     0,
1699 <     430,     0,     0,     0,     0,     0,     0,     0,   586,   262,
1700 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   252,
1701 <       0,     0,     0,     0,   392,   241,     0,     0,     0,     0,
1702 <       0,   235,     0,   101,     0,     0,     0,    41,   142,     0,
1703 <       0,     0,     0,     0,     0,     0,     0,     0,   132,   290,
1704 <       0,     0,     0,     0,   285,     0,     0,     0,     0,     0,
1705 <       0,     0,   649,     0,     0,     0,     0,     0,     0,     0,
1706 <       0,    72,    73,     0,    71,    76,    77,     0,    75,     0,
1707 <       0,     0,     0,     0,    49,   307,     0,     0,     0,     0,
1708 <     302,   330,     0,     0,     0,   326,     0,   294,   100,    99,
1709 <      98,   644,   643,   632,   634,    27,    27,    27,    27,    27,
1755 <      29,    28,   638,   639,   642,   640,   645,   646,   647,   648,
1756 <     641,   633,   635,   636,   637,     0,     0,     0,     0,     0,
1757 <       0,     0,     0,     0,     0,     0,     0,     0,   196,     0,
1698 >       0,     0,     0,     0,     0,     0,     0,   428,   262,     0,
1699 >       0,     0,     0,     0,     0,     0,     0,     0,   252,     0,
1700 >       0,     0,     0,   390,   241,     0,     0,     0,     0,     0,
1701 >     235,     0,   100,     0,     0,     0,    40,   141,     0,     0,
1702 >       0,     0,     0,     0,     0,     0,     0,   131,   290,     0,
1703 >       0,     0,     0,   285,     0,     0,     0,     0,     0,     0,
1704 >     610,     0,     0,     0,     0,     0,     0,     0,     0,    71,
1705 >      72,     0,    70,    75,    76,     0,    74,     0,     0,     0,
1706 >       0,     0,    48,   307,     0,     0,     0,     0,   302,   330,
1707 >       0,     0,     0,   326,     0,   294,    99,    98,    97,   605,
1708 >     604,   596,    26,    26,    26,    26,    26,    28,    27,   598,
1709 >     599,   603,   601,   600,   606,   607,   608,   609,   602,   597,
1710         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1711 <       0,     0,     0,   347,     0,     0,   401,   414,     0,     0,
1712 <       0,   416,   496,   500,   516,   582,   530,   494,   524,   527,
1713 <     495,   486,   487,   503,   492,   493,   506,   491,   505,   504,
1714 <     499,   498,   497,   525,   485,   523,   580,   581,   520,   517,
1715 <     567,   560,   577,   578,   561,   562,   563,   564,   572,   565,
1716 <     575,   579,   568,   573,   569,   574,   566,   571,   570,   576,
1717 <       0,   559,   522,   542,   536,   553,   554,   537,   538,   539,
1718 <     540,   548,   541,   551,   555,   544,   549,   545,   550,   543,
1719 <     547,   546,   552,     0,   535,   515,   518,   529,   489,   490,
1720 <     519,   508,   513,   514,   511,   512,   509,   510,   502,   501,
1721 <      35,    35,    35,    37,    36,   583,   528,   531,   521,   526,
1722 <     488,   507,     0,     0,     0,     0,     0,     0,   585,     0,
1723 <       0,     0,     0,     0,     0,     0,     0,   251,     0,     0,
1724 <       0,   386,     0,     0,     0,   246,   242,   245,   227,   107,
1725 <       0,     0,   119,     0,     0,   111,   112,   114,   113,    47,
1726 <      48,     0,     0,     0,     0,     0,     0,     0,     0,   131,
1727 <       0,     0,     0,   284,   665,   660,   664,   662,   666,   661,
1728 <     663,    84,    90,    82,    86,    85,    79,    78,    80,    68,
1729 <       0,    69,     0,    83,    81,    89,    87,    88,     0,     0,
1730 <       0,   301,     0,     0,   325,   299,    30,    31,    32,    33,
1731 <      34,   223,   224,   217,   219,   221,   220,   218,   213,   225,
1732 <     216,   214,   215,   222,   368,   370,   371,   383,   380,   376,
1733 <     377,   379,   378,     0,   375,   365,   381,   382,   364,   369,
1734 <     367,   384,   366,   407,   408,   428,   429,   421,     0,   420,
1735 <     557,     0,   533,     0,    38,    39,    40,   610,   609,     0,
1736 <     608,   596,   595,   602,   601,     0,   600,   604,   603,   265,
1737 <     266,   275,   272,   277,   274,   273,   279,   276,   278,   271,
1738 <       0,   270,   264,   282,   281,   280,   263,   399,   391,     0,
1739 <     390,   398,   233,   234,   232,     0,   231,   249,   248,     0,
1740 <       0,     0,   115,     0,     0,     0,     0,   110,   148,   146,
1741 <     188,   185,   184,   177,   179,   194,   189,   192,   187,   178,
1742 <     193,   181,   190,   182,   191,   186,   180,   183,     0,   176,
1743 <     143,   145,   147,   159,   153,   170,   171,   154,   155,   156,
1744 <     157,   165,   158,   168,   172,   161,   166,   162,   167,   160,
1745 <     164,   163,   169,     0,   152,   144,   292,   293,   291,    70,
1794 <      74,   308,   314,   320,   323,   316,   322,   317,   321,   319,
1711 >       0,    34,     0,     0,   196,     0,     0,     0,     0,     0,
1712 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   347,
1713 >       0,     0,   399,   412,     0,     0,     0,   414,   493,   497,
1714 >     511,   577,   525,   491,   519,   522,   492,   483,   482,   484,
1715 >     485,   486,   500,   489,   490,   501,   488,   496,   495,   494,
1716 >     520,   481,   518,   575,   576,   515,   512,   562,   555,   572,
1717 >     573,   556,   557,   558,   559,   567,   560,   570,   574,   563,
1718 >     568,   564,   569,   561,   566,   565,   571,     0,   554,   517,
1719 >     537,   531,   548,   549,   532,   533,   534,   535,   543,   536,
1720 >     546,   550,   539,   544,   540,   545,   538,   542,   541,   547,
1721 >       0,   530,   510,   513,   524,   487,   514,   503,   508,   509,
1722 >     506,   507,   504,   505,   499,   498,   523,   526,   516,   521,
1723 >     502,     0,     0,     0,     0,     0,     0,     0,     0,   251,
1724 >       0,     0,     0,   384,     0,     0,     0,   246,   242,   245,
1725 >     227,   106,     0,     0,   118,     0,     0,   110,   111,   113,
1726 >     112,    46,    47,     0,     0,     0,     0,     0,     0,     0,
1727 >       0,   130,     0,     0,     0,   284,   620,   624,   622,   625,
1728 >     621,   623,    83,    89,    81,    85,    84,    78,    77,    79,
1729 >      67,     0,    68,     0,    82,    80,    88,    86,    87,     0,
1730 >       0,     0,   301,     0,     0,   325,   299,    29,    30,    31,
1731 >      32,    33,   223,   224,   216,   218,   220,   219,   217,   213,
1732 >     225,   215,   214,    34,    34,    34,    36,    35,   221,   222,
1733 >     368,   370,   371,   381,   378,   376,   377,     0,   375,   365,
1734 >     379,   380,   364,   369,   367,   382,   366,   405,   406,   426,
1735 >     427,   419,     0,   418,   552,     0,   528,     0,   265,   266,
1736 >     275,   272,   277,   274,   273,   279,   276,   278,   271,     0,
1737 >     270,   264,   282,   281,   280,   263,   397,   389,     0,   388,
1738 >     396,   233,   234,   232,     0,   231,   249,   248,     0,     0,
1739 >       0,   114,     0,     0,     0,     0,   109,   147,   145,   187,
1740 >     184,   183,   176,   178,   194,   188,   191,   186,   177,   192,
1741 >     180,   189,   193,   181,   190,   185,   179,   182,     0,   175,
1742 >     142,   144,   146,   158,   152,   169,   170,   153,   154,   155,
1743 >     156,   164,   157,   167,   171,   160,   165,   161,   166,   159,
1744 >     163,   162,   168,     0,   151,   143,   292,   293,   291,    69,
1745 >      73,   308,   314,   320,   323,   316,   322,   317,   321,   319,
1746       315,   318,     0,   313,   309,   331,   336,   342,   345,   338,
1747 <     344,   339,   343,   341,   337,   340,     0,   335,   373,     0,
1748 <     418,     0,   558,   534,   606,     0,   598,     0,   268,     0,
1749 <     388,     0,   229,     0,   247,   244,   243,     0,     0,     0,
1750 <       0,   109,   174,     0,   150,     0,   311,     0,   333,     0,
1751 <     374,   419,   607,   599,   269,   389,   230,   116,   125,   128,
1752 <     127,   124,   129,   126,   123,     0,   122,   118,   117,   175,
1753 <     151,   312,   334,   120,     0,   121
1747 >     344,   339,   343,   341,   337,   340,     0,   335,    37,    38,
1748 >      39,   373,     0,   416,     0,   553,   529,   268,     0,   386,
1749 >       0,   229,     0,   247,   244,   243,     0,     0,     0,     0,
1750 >     108,   173,     0,   149,     0,   311,     0,   333,     0,   374,
1751 >     417,   269,   387,   230,   115,   124,   127,   126,   123,   128,
1752 >     125,   122,     0,   121,   117,   116,   174,   150,   312,   334,
1753 >     119,     0,   120
1754   };
1755  
1756   /* YYDEFGOTO[NTERM-NUM].  */
1757   static const yytype_int16 yydefgoto[] =
1758   {
1759 <      -1,     1,    25,   830,   831,   973,   974,    26,   244,   245,
1760 <     246,   247,    27,   283,   284,   285,   286,   793,   794,   797,
1761 <     798,   287,   288,   289,   290,   291,   292,   293,   294,   295,
1762 <     296,   297,   298,   299,    28,    74,    75,    76,    77,    78,
1763 <      29,   236,   237,   238,   239,   240,  1014,  1015,  1016,  1017,
1764 <    1018,  1164,  1295,  1296,    30,    63,   535,   536,   537,   538,
1765 <     539,   540,   541,   542,   543,   765,  1213,  1214,   544,   761,
1766 <    1188,  1189,    31,    51,   346,   347,   348,   349,   350,   351,
1767 <     352,   353,   354,   355,   356,   357,   358,   359,   360,    32,
1768 <      60,   510,   746,  1155,  1156,   511,   512,   513,  1161,  1006,
1769 <    1007,   514,   515,    33,    58,   486,   487,   488,   489,   490,
1770 <     491,   492,   732,  1140,  1141,   493,   494,   495,    34,    64,
1771 <     549,   550,   551,   552,   553,    35,   304,   305,   306,    36,
1772 <      67,   585,   586,   587,   588,   589,   807,  1232,  1233,    37,
1773 <      68,   593,   594,   595,   596,   813,  1246,  1247,    38,    52,
1774 <     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1775 <     644,  1093,  1094,   385,   386,   387,   388,   389,    39,    59,
1776 <     500,   741,  1149,  1150,   501,   502,   503,   504,    40,    53,
1777 <     393,   394,   395,   396,    41,   121,   122,   123,    42,    55,
1778 <     404,   663,  1108,  1109,   405,   406,   407,   408,    43,   177,
1779 <     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1780 <     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1781 <     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1782 <     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1783 <     218,   219,   220,   221,   222,   223,   224,   439,   953,   954,
1784 <     225,   437,   930,   931,   226,   227,   228,   229,    44,    57,
1785 <     469,   470,   471,   472,   473,   724,  1125,  1126,   474,   475,
1786 <     476,   721,  1119,  1120,    45,    97,    98,    99,   100,   101,
1787 <     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1837 <     112,   113,   114,   115,    46,   258,   259,   260,   261,   262,
1838 <     263,   264,   265,   266
1759 >      -1,     1,    24,   777,   778,  1016,  1017,    25,   230,   231,
1760 >     232,   233,    26,   267,   268,   269,   270,   741,   742,   745,
1761 >     746,   271,   272,   273,   274,   275,   276,   277,   278,   279,
1762 >     280,   281,   282,   283,    27,    71,    72,    73,    74,    75,
1763 >      28,   222,   223,   224,   225,   226,   946,   947,   948,   949,
1764 >     950,  1083,  1212,  1213,    29,    60,   499,   500,   501,   502,
1765 >     503,   504,   505,   506,   507,   714,  1133,  1134,   508,   710,
1766 >    1108,  1109,    30,    49,   327,   328,   329,   330,   331,   332,
1767 >     333,   334,   335,   336,   337,   338,   339,   340,   341,    31,
1768 >      57,   474,   695,  1074,  1075,   475,   476,   477,  1080,   938,
1769 >     939,   478,   479,    32,    55,   450,   451,   452,   453,   454,
1770 >     455,   456,   681,  1059,  1060,   457,   458,   459,    33,    61,
1771 >     513,   514,   515,   516,   517,    34,   288,   289,   290,    35,
1772 >      64,   548,   549,   550,   551,   552,   755,  1152,  1153,    36,
1773 >      65,   556,   557,   558,   559,   761,  1166,  1167,    37,    50,
1774 >     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
1775 >     604,  1027,  1028,   366,   367,   368,   369,   370,    38,    56,
1776 >     464,   690,  1068,  1069,   465,   466,   467,   468,    39,    51,
1777 >     374,   375,   376,   377,    40,   112,   113,   114,    41,    53,
1778 >     385,   623,  1042,  1043,   386,   387,   388,   389,    42,   166,
1779 >     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1780 >     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1781 >     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1782 >     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1783 >     207,   208,   209,   210,   211,   212,   421,   900,   901,   213,
1784 >     419,   877,   878,   214,   215,   216,    43,    91,    92,    93,
1785 >      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1786 >     104,   105,   106,    44,   243,   244,   245,   246,   247,   248,
1787 >     249,   250
1788   };
1789  
1790   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1791     STATE-NUM.  */
1792 < #define YYPACT_NINF -872
1792 > #define YYPACT_NINF -745
1793   static const yytype_int16 yypact[] =
1794   {
1795 <    -872,   684,  -872,  -194,  -227,  -225,  -872,  -872,  -872,  -207,
1796 <    -872,  -202,  -872,  -872,  -872,  -872,  -190,  -185,  -872,  -872,
1797 <    -182,  -174,  -872,  -872,  -166,  -872,  -872,  -872,  -872,  -872,
1798 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1799 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,    11,
1800 <     596,  -152,  -133,  -131,    10,  -128,   420,  -125,  -122,  -111,
1801 <     -97,     2,    66,   -76,   -61,   339,   379,   -48,   -35,     5,
1802 <    -212,   -25,   -18,    -3,     4,  -872,  -872,  -872,  -872,  -872,
1803 <      29,    40,    57,    63,    72,    82,    90,    92,   108,   113,
1804 <     121,   127,   146,   149,   150,   153,   154,   196,  -872,  -872,
1805 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1806 <    -872,  -872,  -872,  -872,  -872,  -872,   693,   505,    26,  -872,
1807 <     160,    80,  -872,  -872,    54,  -872,   168,   179,   184,   187,
1808 <     190,   192,   193,   197,   200,   201,   205,   206,   207,   208,
1809 <     210,   215,   218,   220,   223,   224,   225,   227,   228,   230,
1810 <     234,   239,   240,   242,  -872,   243,  -872,   247,   254,   255,
1811 <     256,   258,   262,   264,   274,   275,   276,   277,   279,   287,
1812 <     289,   290,   301,   302,   306,   307,   309,   120,  -872,  -872,
1813 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1814 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1815 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1816 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1817 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1818 <     129,   308,    22,    32,   -20,   310,    36,  -872,  -872,  -872,
1819 <      16,   138,   311,   312,    15,  -872,  -872,  -872,   348,   328,
1820 <    -872,   316,   318,   322,   324,   325,   326,   330,     9,  -872,
1821 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,   155,   333,   334,
1822 <     336,   337,   338,   344,   345,   352,   353,   357,   358,   359,
1823 <     360,   362,   364,   221,  -872,  -872,  -872,  -872,  -872,  -872,
1824 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1825 <     172,    35,  -872,   366,    38,  -872,  -872,  -872,   280,   304,
1826 <     374,   199,  -872,   298,   355,   396,   435,   502,   502,   506,
1827 <     507,   439,   442,   509,   502,   444,   445,   446,   450,   451,
1828 <     387,  -872,   388,   389,   390,   393,   397,   399,   400,   401,
1829 <     402,   405,   406,   407,   410,   411,   177,  -872,  -872,  -872,
1830 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1831 <    -872,   416,   415,   417,   419,   421,  -872,   422,   424,   425,
1832 <     427,   432,   436,   443,   447,    19,  -872,  -872,  -872,  -872,
1833 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1834 <    -872,   448,   453,    37,  -872,  -872,  -872,   529,   438,  -872,
1835 <    -872,   456,   457,  -872,  -872,    17,  -872,  -872,  -872,   512,
1836 <     502,   502,   573,   513,   518,   597,   575,   534,   610,   612,
1837 <     613,   548,   550,   551,   502,   600,   556,   628,   630,   502,
1838 <     631,   633,   614,   636,   637,   576,   577,   510,   581,   514,
1839 <     502,   502,   584,   502,   585,   586,   587,   -83,   -53,   588,
1840 <     592,   502,   502,   639,   620,   502,   594,   595,   598,   599,
1841 <     531,  -872,  -872,  -872,   532,   535,  -872,   540,   542,    44,
1842 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,   536,   543,   544,
1843 <    -872,   545,   546,   547,   552,   553,     8,  -872,  -872,  -872,
1844 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,   554,  -872,   557,
1845 <    -872,    28,  -872,  -872,  -872,   537,  -872,   558,   559,   560,
1846 <    -872,    18,  -872,  -872,  -872,  -872,  -872,   616,   566,  -872,
1847 <     565,  -872,   663,   664,   568,  -872,   569,   567,   570,  -872,
1848 <     571,   572,   574,  -872,   579,   261,  -872,  -872,  -872,  -872,
1849 <    -872,  -872,  -872,  -872,  -872,   578,   580,   589,   590,    12,
1850 <    -872,  -872,  -872,  -872,   641,   644,   652,   681,   653,   654,
1851 <     502,   591,  -872,  -872,   682,   655,   705,   706,   707,   708,
1852 <     709,   710,   164,   235,   711,   712,   736,   716,   719,   617,
1853 <    -872,   621,   622,  -872,   623,     6,  -872,  -872,  -872,  -872,
1854 <     632,   625,  -872,    20,  -872,  -872,  -872,   726,   640,  -872,
1855 <     642,   643,   645,  -872,   651,   656,   660,   667,   260,   671,
1856 <     672,   674,   675,   676,   677,   678,   680,   686,   687,   690,
1857 <     691,   695,  -872,  -872,   751,   767,   502,   768,   770,   772,
1858 <     783,   765,   794,   827,   502,   502,   639,   698,  -872,  -872,
1859 <     812,   191,   816,   774,   713,   817,   820,   821,   822,   844,
1860 <     825,   828,   829,   717,  -872,   830,   831,   722,  -872,   723,
1861 <    -872,   834,   835,   724,   728,  -872,   729,   730,   731,   732,
1862 <     733,   734,   735,   737,   738,   740,   741,   742,   743,   744,
1863 <     745,   746,   747,   748,   749,   750,   752,   753,   754,   755,
1864 <     756,   757,   758,   759,   669,   760,   704,   761,   762,   763,
1865 <     764,   766,   769,   771,   773,   775,   776,   777,   778,   779,
1866 <     780,   781,   282,   782,   784,   785,   786,   787,   788,   789,
1867 <    -872,   790,   502,   791,   792,   846,   849,   796,  -872,  -872,
1868 <     861,   832,   795,   875,   899,   880,   882,   884,   797,  -872,
1869 <     893,   798,   900,   799,  -872,  -872,   800,   901,   902,   925,
1870 <     802,  -872,   804,  -872,   167,   805,   806,  -872,  -872,   910,
1871 <     872,   807,   918,   919,   921,   809,   923,   814,  -872,  -872,
1872 <     926,   927,   928,   815,  -872,   819,   823,   824,   826,   833,
1873 <     836,   837,  -872,   838,   839,   840,   841,   842,   843,   845,
1874 <     847,  -872,  -872,  -214,  -872,  -872,  -872,  -191,  -872,   848,
1875 <     850,   851,   852,   853,  -872,  -872,   930,   818,   932,   854,
1876 <    -872,  -872,   935,   855,   856,  -872,   857,  -872,  -872,  -872,
1877 <    -872,  -872,  -872,  -872,  -872,   502,   502,   502,   502,   502,
1878 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1879 <    -872,  -872,  -872,  -872,  -872,   859,   860,   862,   863,   864,
1880 <     865,   866,   867,   868,   869,   870,   871,   873,  -872,   874,
1881 <     876,   877,   878,   879,   152,   881,   883,   885,   886,   887,
1882 <     888,   889,   890,  -872,   891,   892,  -872,  -872,   894,   895,
1883 <     933,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1884 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1885 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1886 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1887 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1888 <    -181,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1889 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1890 <    -872,  -872,  -872,  -178,  -872,  -872,  -872,  -872,  -872,  -872,
1891 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1892 <     639,   639,   639,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1893 <    -872,  -872,     3,   896,   897,    13,   898,   903,  -872,   904,
1894 <     905,   603,   906,   907,   908,   909,   911,  -872,   912,   934,
1895 <     913,  -872,    -2,   914,   915,   940,   916,  -872,  -872,  -872,
1896 <     917,   858,  -872,   920,    73,  -872,  -872,  -872,  -872,  -872,
1897 <    -872,   922,   924,   533,   929,   931,   936,   739,   937,  -872,
1898 <     938,   939,   941,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1899 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1900 <     164,  -872,   235,  -872,  -872,  -872,  -872,  -872,   942,   350,
1901 <     943,  -872,   944,   485,  -872,  -872,  -872,  -872,  -872,  -872,
1902 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1903 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1904 <    -872,  -872,  -872,  -167,  -872,  -872,  -872,  -872,  -872,  -872,
1905 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -165,  -872,
1906 <    -872,   669,  -872,   704,  -872,  -872,  -872,  -872,  -872,  -153,
1907 <    -872,  -872,  -872,  -872,  -872,   -89,  -872,  -872,  -872,  -872,
1908 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1909 <     -36,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,   -23,
1910 <    -872,  -872,  -872,  -872,  -872,   -14,  -872,  -872,  -872,   958,
1911 <     925,   945,  -872,   954,   946,  -105,   947,  -872,  -872,  -872,
1912 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1913 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,    84,  -872,
1914 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1915 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1916 <    -872,  -872,  -872,    86,  -872,  -872,  -872,  -872,  -872,  -872,
1917 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1969 <    -872,  -872,   118,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1970 <    -872,  -872,  -872,  -872,  -872,  -872,   135,  -872,  -872,   152,
1971 <    -872,   933,  -872,  -872,  -872,     3,  -872,    13,  -872,   603,
1972 <    -872,   934,  -872,    -2,  -872,  -872,  -872,   948,   303,   950,
1973 <     951,  -872,  -872,   533,  -872,   739,  -872,   350,  -872,   485,
1974 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1975 <    -872,  -872,  -872,  -872,  -872,   137,  -872,  -872,  -872,  -872,
1976 <    -872,  -872,  -872,  -872,   303,  -872
1795 >    -745,   615,  -745,  -209,  -208,  -192,  -745,  -745,  -745,  -190,
1796 >    -745,  -183,  -745,  -745,  -745,  -169,  -167,  -745,  -745,  -144,
1797 >    -137,  -745,  -745,  -132,  -745,  -745,  -745,  -745,  -745,  -745,
1798 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1799 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,   292,   784,  -111,
1800 >    -102,   -93,    22,   -90,   389,   -80,   -74,   -72,    50,    15,
1801 >     -65,   -60,   299,   388,   -54,   -34,    18,  -176,   -58,   -32,
1802 >     -22,     3,  -745,  -745,  -745,  -745,  -745,   -15,    -9,    26,
1803 >      38,    67,    69,    75,    80,    82,    88,    90,    93,   100,
1804 >     107,   195,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1805 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,   569,   505,    13,
1806 >    -745,   115,    12,  -745,  -745,   258,  -745,   117,   122,   129,
1807 >     131,   140,   141,   144,   145,   146,   154,   155,   156,   159,
1808 >     161,   165,   166,   168,   170,   174,   175,   176,   177,   180,
1809 >     190,   194,   197,   199,   203,   204,  -745,   205,  -745,   206,
1810 >     209,   211,   212,   215,   219,   221,   224,   225,   229,   230,
1811 >     233,   234,   236,   237,   239,   240,    36,  -745,  -745,  -745,
1812 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1813 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1814 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1815 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1816 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,   343,    60,   284,
1817 >    -157,   241,    43,  -745,  -745,  -745,    66,   113,   242,   245,
1818 >      99,  -745,  -745,  -745,   348,    62,  -745,   249,   253,   264,
1819 >     266,   267,   271,    16,  -745,  -745,  -745,  -745,  -745,  -745,
1820 >    -745,   268,   273,   274,   280,   281,   285,   287,   290,   294,
1821 >     295,   296,   297,   306,   307,   308,   309,    74,  -745,  -745,
1822 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1823 >    -745,  -745,  -745,  -745,   220,   277,  -745,   310,    20,  -745,
1824 >    -745,  -745,   252,   370,   384,   302,  -745,   410,   430,   371,
1825 >     432,   432,   433,   434,   436,   379,   390,   453,   432,   395,
1826 >     396,   342,  -745,   345,   349,   350,   352,   354,   355,   357,
1827 >     360,   361,   362,   363,   365,   366,   369,   152,  -745,  -745,
1828 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1829 >    -745,  -745,   346,   372,   381,   385,   386,  -745,   392,   393,
1830 >     397,   400,   401,   405,   407,   408,   270,  -745,  -745,  -745,
1831 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1832 >    -745,  -745,   409,   413,    51,  -745,  -745,  -745,   445,   351,
1833 >    -745,  -745,   414,   417,  -745,  -745,     8,  -745,  -745,  -745,
1834 >     428,   432,   432,   502,   446,   447,   508,   495,   454,   432,
1835 >     461,   432,   528,   536,   537,   480,   485,   493,   432,   556,
1836 >     557,   432,   562,   563,   548,   567,   568,   512,   513,   456,
1837 >     519,   459,   432,   432,   521,   522,   523,   524,    14,    54,
1838 >     530,   532,   432,   432,   570,   432,   533,   535,   538,   474,
1839 >    -745,   481,   479,   483,  -745,   484,   488,   492,   498,   501,
1840 >     128,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1841 >    -745,   503,  -745,   506,  -745,    19,  -745,  -745,  -745,   514,
1842 >    -745,   515,   518,   520,  -745,   116,  -745,  -745,  -745,  -745,
1843 >    -745,   539,   516,  -745,   496,  -745,   602,   612,   526,  -745,
1844 >     527,   531,   534,  -745,   540,   544,   545,  -745,   553,   183,
1845 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,   541,
1846 >     560,   561,   573,    11,  -745,  -745,  -745,  -745,   572,   575,
1847 >     621,   584,   585,   432,   542,  -745,  -745,   629,   586,   630,
1848 >     632,   636,   637,   663,   670,   112,   196,   684,   691,   674,
1849 >     696,   701,   605,  -745,   619,   617,  -745,   622,    59,  -745,
1850 >    -745,  -745,  -745,   627,   626,  -745,   110,  -745,  -745,  -745,
1851 >     719,   633,  -745,   635,   638,   639,  -745,   641,   642,   646,
1852 >     265,   647,   648,   649,   650,   651,   652,   653,   654,   655,
1853 >     657,   658,  -745,  -745,   771,   774,   432,   775,   776,   777,
1854 >     778,   761,   782,   783,   432,   785,   785,   669,  -745,  -745,
1855 >     768,   164,   769,   728,   671,   772,   773,   779,   780,   792,
1856 >     781,   786,   787,   680,  -745,   788,   789,   681,  -745,   685,
1857 >    -745,   790,   791,   683,   687,  -745,   695,   697,   698,   699,
1858 >     700,   702,   703,   704,   705,   706,   707,   708,   709,   710,
1859 >     711,   712,   713,   714,   715,   716,   717,   718,   720,   721,
1860 >     722,   723,   724,   725,   726,   600,   727,   628,   729,   730,
1861 >     731,   732,   733,   734,   735,   736,   737,   738,   739,   740,
1862 >     741,   742,   743,   744,   745,   746,   747,  -745,  -745,   798,
1863 >     803,   748,   816,   843,   846,   847,   849,   753,  -745,   851,
1864 >     752,   853,   757,  -745,  -745,   755,   856,   857,   876,   762,
1865 >    -745,   763,  -745,   187,   764,   765,  -745,  -745,   863,   822,
1866 >     766,   865,   867,   868,   770,   869,   793,  -745,  -745,   871,
1867 >     872,   873,   794,  -745,   795,   796,   797,   799,   800,   801,
1868 >    -745,   802,   804,   805,   806,   807,   808,   809,   810,  -745,
1869 >    -745,  -196,  -745,  -745,  -745,  -179,  -745,   811,   812,   813,
1870 >     814,   815,  -745,  -745,   874,   817,   875,   818,  -745,  -745,
1871 >     877,   819,   821,  -745,   823,  -745,  -745,  -745,  -745,  -745,
1872 >    -745,  -745,   432,   432,   432,   432,   432,  -745,  -745,  -745,
1873 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1874 >     824,   825,   826,   827,   828,   829,   830,   831,   832,   833,
1875 >     834,    79,   835,   836,  -745,   837,   838,   839,   840,   841,
1876 >      -1,   842,   844,   845,   848,   850,   852,   854,   855,  -745,
1877 >     858,   859,  -745,  -745,   860,   861,   878,  -745,  -745,  -745,
1878 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1879 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1880 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1881 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1882 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -178,  -745,  -745,
1883 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1884 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1885 >    -173,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1886 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1887 >    -745,   862,   864,   693,   866,   870,   879,   880,   881,  -745,
1888 >     882,   883,   884,  -745,   -36,   885,   886,   894,   887,  -745,
1889 >    -745,  -745,   888,   889,  -745,   890,    86,  -745,  -745,  -745,
1890 >    -745,  -745,  -745,   895,   896,   517,   897,   898,   899,   656,
1891 >     900,  -745,   901,   902,   903,  -745,  -745,  -745,  -745,  -745,
1892 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1893 >    -745,   112,  -745,   196,  -745,  -745,  -745,  -745,  -745,   904,
1894 >     464,   905,  -745,   906,   529,  -745,  -745,  -745,  -745,  -745,
1895 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1896 >    -745,  -745,  -745,   785,   785,   785,  -745,  -745,  -745,  -745,
1897 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -168,  -745,  -745,
1898 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1899 >    -745,  -745,  -160,  -745,  -745,   600,  -745,   628,  -745,  -745,
1900 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -159,
1901 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,   -57,  -745,
1902 >    -745,  -745,  -745,  -745,   -38,  -745,  -745,  -745,   907,   876,
1903 >     908,  -745,   913,   891,   -88,   909,  -745,  -745,  -745,  -745,
1904 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1905 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,    -7,  -745,
1906 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1907 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1908 >    -745,  -745,  -745,    63,  -745,  -745,  -745,  -745,  -745,  -745,
1909 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1910 >    -745,  -745,    94,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1911 >    -745,  -745,  -745,  -745,  -745,  -745,   101,  -745,  -745,  -745,
1912 >    -745,  -745,    -1,  -745,   878,  -745,  -745,  -745,   693,  -745,
1913 >     883,  -745,   -36,  -745,  -745,  -745,   910,   403,   911,   912,
1914 >    -745,  -745,   517,  -745,   656,  -745,   464,  -745,   529,  -745,
1915 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1916 >    -745,  -745,   104,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1917 >    -745,   403,  -745
1918   };
1919  
1920   /* YYPGOTO[NTERM-NUM].  */
1921   static const yytype_int16 yypgoto[] =
1922   {
1923 <    -872,  -872,  -872,  -483,  -316,  -871,  -453,  -872,  -872,   949,
1924 <    -872,  -872,  -872,  -872,   803,  -872,  -872,  -872,    21,  -872,
1925 <      23,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1926 <    -872,  -872,  -872,  -872,  -872,  -872,   996,  -872,  -872,  -872,
1927 <    -872,  -872,   956,  -872,  -872,  -872,  -872,    58,  -872,  -872,
1928 <    -872,  -872,  -872,  -230,  -872,  -872,  -872,   604,  -872,  -872,
1929 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -186,  -872,  -872,
1930 <    -872,  -161,  -872,  -872,  -872,   810,  -872,  -872,  -872,  -872,
1931 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1932 <    -872,  -872,  -872,  -872,  -168,  -872,   611,  -872,  -872,  -872,
1933 <     -45,  -872,  -872,  -872,  -872,  -872,   638,  -872,  -872,  -872,
1934 <    -872,  -872,  -872,  -872,  -126,  -872,  -872,  -872,  -872,  -872,
1935 <    -872,   593,  -872,  -872,  -872,  -872,  -872,   952,  -872,  -872,
1936 <    -872,  -872,   555,  -872,  -872,  -872,  -872,  -872,  -136,  -872,
1937 <    -872,  -872,   582,  -872,  -872,  -872,  -872,  -129,  -872,  -872,
1938 <    -872,   793,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1939 <    -872,  -872,   -91,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1940 <    -872,  -872,  -872,  -102,  -872,   665,  -872,  -872,  -872,  -872,
1941 <    -872,   801,  -872,  -872,  -872,  -872,  1040,  -872,  -872,  -872,
1942 <    -872,  -872,  -872,   -86,  -872,   808,  -872,  -872,  -872,  -872,
1943 <     990,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1944 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1945 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1946 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
1947 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,    59,
1948 <    -872,  -872,  -872,    62,  -872,  -872,  -872,  -872,  -872,  -872,
1949 <    -872,   701,  -872,  -872,  -872,  -872,  -872,   -77,  -872,  -872,
1950 <    -872,  -872,  -872,   -81,  -872,  -872,  1089,  -872,  -872,  -872,
1951 <    -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,  -872,
2011 <    -872,  -872,  -872,  -872,  -872,  -872,   953,  -872,  -872,  -872,
2012 <    -872,  -872,  -872,  -872
1923 >    -745,  -745,  -745,  -744,  -298,  -659,  -595,  -745,  -745,   767,
1924 >    -745,  -745,  -745,  -745,   750,  -745,  -745,  -745,    17,  -745,
1925 >      10,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1926 >    -745,  -745,  -745,  -745,  -745,  -745,   924,  -745,  -745,  -745,
1927 >    -745,  -745,   914,  -745,  -745,  -745,  -745,    53,  -745,  -745,
1928 >    -745,  -745,  -745,  -225,  -745,  -745,  -745,   504,  -745,  -745,
1929 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -193,  -745,  -745,
1930 >    -745,  -188,  -745,  -745,  -745,   675,  -745,  -745,  -745,  -745,
1931 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1932 >    -745,  -745,  -745,  -745,  -170,  -745,   558,  -745,  -745,  -745,
1933 >     -48,  -745,  -745,  -745,  -745,  -745,   610,  -745,  -745,  -745,
1934 >    -745,  -745,  -745,  -745,  -117,  -745,  -745,  -745,  -745,  -745,
1935 >    -745,   550,  -745,  -745,  -745,  -745,  -745,   892,  -745,  -745,
1936 >    -745,  -745,   543,  -745,  -745,  -745,  -745,  -745,  -131,  -745,
1937 >    -745,  -745,   511,  -745,  -745,  -745,  -745,  -128,  -745,  -745,
1938 >    -745,   820,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1939 >    -745,  -745,  -101,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1940 >    -745,  -745,  -745,  -103,  -745,   614,  -745,  -745,  -745,  -745,
1941 >    -745,   754,  -745,  -745,  -745,  -745,   969,  -745,  -745,  -745,
1942 >    -745,  -745,  -745,   -92,  -745,   749,  -745,  -745,  -745,  -745,
1943 >     917,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1944 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1945 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1946 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1947 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,    39,  -745,
1948 >    -745,  -745,    40,  -745,  -745,  -745,  -745,  -745,   996,  -745,
1949 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1950 >    -745,  -745,  -745,  -745,  -745,   915,  -745,  -745,  -745,  -745,
1951 >    -745,  -745
1952   };
1953  
1954   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1955     positive, shift that token.  If negative, reduce the rule which
1956     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1957 < #define YYTABLE_NINF -109
1957 > #define YYTABLE_NINF -108
1958   static const yytype_int16 yytable[] =
1959   {
1960 <     713,   609,   610,   234,   712,    70,   302,   581,   616,   477,
1961 <     250,   119,    70,   545,  1117,    49,   241,    50,   400,   505,
1962 <     361,   590,   362,   496,  1123,   363,  1049,   390,   307,   496,
1963 <    1050,   478,   546,   505,    71,    54,   590,   234,   390,   302,
1964 <      56,    71,   364,   251,    72,   462,    47,    48,   463,  1051,
1965 <     479,    72,    61,  1052,   480,   400,   252,    62,  1152,  1110,
1966 <      65,   365,  1112,  1111,   506,   366,  1113,   241,    66,   253,
1967 <     254,   255,   256,  1248,  1010,  1250,    69,  1249,   506,  1251,
1968 <     120,   119,   464,   507,   367,   465,   368,  1254,   508,   257,
1969 <     116,  1255,   704,   705,   667,   668,   391,   507,   369,  1114,
1970 <    1115,  1116,   508,    73,   303,   582,  1269,   391,   681,   117,
1971 <      73,   118,   242,   686,   124,   547,   401,   230,   370,   591,
1972 <     231,   125,   706,   707,   697,   698,   466,   700,   126,   127,
1973 <     462,   232,   481,   463,   591,   710,   711,   303,   128,   715,
1974 <     243,   482,   483,   467,   548,   233,   129,   509,   371,   402,
1975 <     120,  1256,   130,   401,   497,  1257,   131,   132,   392,   133,
1976 <     497,   509,  1089,   242,  1090,   134,   248,   464,  1010,   392,
1977 <     465,   583,  1011,   581,   135,   136,   484,   372,   332,   137,
1978 <    1118,   249,   403,   857,   138,   592,   402,   498,   139,   140,
1979 <    1124,   243,   141,   498,   300,   142,   143,    79,   333,   334,
1980 <     592,  1153,   335,   144,  1258,  1154,   373,   301,  1259,   145,
1981 <     146,   466,   147,   148,   149,   150,   151,  1260,   308,   403,
1982 <     516,  1261,   267,    80,    81,   309,  1262,   152,   467,    82,
1983 <    1263,    83,   584,   235,   485,   153,   154,   155,  1012,   156,
1984 <     310,  -108,   157,   158,   781,   311,   159,   809,   499,   738,
1985 <     561,   268,   374,   773,   499,   520,   524,   160,   664,   750,
1986 <     653,   814,   526,   336,   337,   338,  1011,   235,   339,   743,
1987 <     468,   582,   313,    84,    85,  -108,   340,   518,   657,   598,
1988 <      86,    87,   161,   314,   527,   727,   162,   269,   341,   342,
1989 <     163,   164,   165,   166,   167,   970,   971,   972,   168,   169,
1990 <     315,    88,    89,   528,   343,   344,   316,   529,   170,   477,
1991 <     847,  1013,   791,   792,  1166,   317,    90,    91,   855,   856,
1992 <     270,   398,   271,   272,  1272,   318,  1274,    92,  1273,   545,
1993 <    1275,   478,  1012,   319,   345,   320,    93,   583,   171,   172,
1994 <     250,   173,  1066,  1067,  1068,  1069,  1070,   174,   546,   526,
1995 <     479,   321,   175,  1288,   480,   468,   322,   176,  1276,  1091,
1996 <     530,   460,  1277,   273,   323,   274,   275,   276,   277,   608,
1997 <     324,   527,  1092,   251,  1289,  1278,  1290,  1303,   521,  1279,
1998 <     267,  1304,   278,   795,   796,   531,   252,   860,   861,   325,
1999 <     528,   712,   326,   327,   529,   563,   328,   329,   584,   253,
2000 <     254,   255,   256,   397,   532,  1013,   983,   604,   279,   268,
2001 <     600,   409,   825,   826,   827,   828,   829,  1291,   637,   257,
2002 <     280,   125,   410,  1222,    94,    95,    96,   411,   126,   127,
2003 <     412,   547,   481,   413,   601,   414,   415,   330,   128,   603,
2004 <     416,   482,   483,   417,   418,   269,   129,   530,   419,   420,
2005 <     421,   422,   130,   423,   281,   282,   131,   132,   424,   133,
2006 <     548,   425,   579,   426,   605,   134,   427,   428,   429,   533,
2007 <     430,   431,   531,   432,   135,   136,   484,   433,   270,   137,
2008 <     271,   272,   434,   435,   138,   436,   438,   534,   139,   140,
2009 <     440,   532,   141,  1292,  1293,   142,   143,   441,   442,   443,
2010 <    1223,   444,   767,   144,   602,   445,   361,   446,   362,   145,
2011 <     146,   363,   147,   148,   149,   150,   151,   447,   448,   449,
2012 <     450,   273,   451,   274,   275,   276,   277,   152,   364,  1294,
2013 <     452,  1224,   453,   454,   485,   153,   154,   155,  1170,   156,
2014 <     278,  1225,   157,   158,   455,   456,   159,   365,  1226,   457,
2015 <     458,   366,   459,   517,   522,   523,   533,   160,  1236,   554,
2016 <    1227,   555,  1228,  1229,  1171,   556,   279,   557,   558,   559,
2017 <     367,   606,   368,   560,   534,  1230,   564,   565,   280,   566,
2018 <     567,   568,   161,  1172,   369,  1231,   162,   569,   570,  1173,
2019 <     163,   164,   165,   166,   167,   571,   572,    79,   168,   169,
2020 <     573,   574,   575,   576,   370,   577,  1174,   578,   170,   597,
2021 <     607,   608,   281,   282,   613,   611,   612,   614,   615,   617,
2022 <     618,   619,  1131,    80,    81,   620,   621,   622,   623,    82,
2023 <    1175,    83,   624,   625,   371,  1237,   626,  1176,   171,   172,
2024 <     627,   173,   628,   629,   630,   631,  1132,   174,   632,   633,
2025 <     634,  1177,   175,   635,   636,  1133,   639,   176,   640,   659,
2026 <     641,  1134,   642,   372,   643,   645,  1238,   646,   647,  1178,
2027 <     648,  1179,  1180,    84,    85,   649,  1239,  1135,   660,   650,
2028 <      86,    87,   669,  1240,     2,     3,   651,   666,   670,     4,
2029 <     652,   655,   373,   671,   332,  1241,   656,  1242,  1243,   661,
2030 <     662,    88,    89,  1136,     5,   673,   672,     6,     7,   674,
2031 <    1244,  1137,  1270,     8,   333,   334,    90,    91,   335,   675,
2032 <    1245,   676,   677,   678,  1181,   679,   680,    92,     9,   910,
2033 <     682,   683,    10,    11,  1182,    12,    93,   684,   374,   685,
2034 <     687,    13,   688,  1183,   689,   690,   691,  1184,   712,  1185,
2035 <     714,   692,   693,   694,  1138,    14,   695,   696,  1186,   699,
2036 <     701,   702,   703,   708,   933,    15,    16,   709,  1187,   716,
2037 <     717,   720,  1139,   718,   719,   722,   729,   745,   723,   336,
2038 <     337,   338,    17,   725,   339,   726,   730,   731,   733,   734,
2039 <     735,   752,   340,   755,   756,   736,   737,   740,    18,  1193,
2040 <     742,   747,   748,   749,   341,   342,   753,   754,   757,   758,
2041 <     759,   778,   783,   760,   762,   763,   775,   764,   769,   776,
2042 <     343,   344,   766,   770,    94,    95,    96,   777,   779,   780,
2043 <     784,   782,   771,   772,    19,   785,   786,   787,   788,   789,
2044 <     790,   799,   800,    20,    21,   801,   802,    22,    23,   803,
2045 <     345,   911,   912,   913,   914,   915,   816,   804,   916,   917,
2046 <     845,   805,   918,   919,   920,   806,   808,   921,   812,   922,
2047 <     923,   924,   811,   925,   926,   927,   846,   848,   928,   849,
2048 <     817,   850,   818,   819,   929,   820,   934,   935,   936,   937,
2049 <     938,   821,   851,   939,   940,   852,   822,   941,   942,   943,
2050 <     823,    24,   944,   853,   945,   946,   947,   824,   948,   949,
2051 <     950,   832,   833,   951,   834,   835,   836,   837,   838,   952,
2052 <     839,  1194,  1195,  1196,  1197,  1198,   840,   841,  1199,  1200,
2053 <     842,   843,  1201,  1202,  1203,   844,   854,  1204,   858,  1205,
2054 <    1206,  1207,   859,  1208,  1209,  1210,   862,   865,  1211,   863,
2055 <     866,   867,   868,   869,  1212,   870,   864,   873,   871,   872,
2056 <     874,   875,   876,   877,   878,   879,   984,   880,   881,   882,
2057 <     883,   884,   885,   886,   887,   888,   986,   889,   890,   987,
2058 <     891,   892,   893,   894,   895,   896,   897,   898,   899,   900,
2059 <     901,   989,   902,   903,   904,   905,   906,   907,   908,   909,
2060 <     932,   955,   956,   957,   958,   992,   959,   990,   993,   960,
2061 <     994,   961,   995,   962,   996,   963,   964,   965,   966,   967,
2062 <     968,   969,   975,   998,   976,   977,   978,   979,   980,   981,
2063 <    1000,  1003,  1004,   982,  1005,   985,   988,   997,   991,  1001,
2064 <    1021,   999,  1008,  1002,  1009,  1019,  1020,  1022,  1024,  1025,
2065 <    1023,  1026,  1027,  1028,  1029,  1033,  1030,  1031,  1032,  1034,
2066 <    1058,  1059,  1060,  1035,  1036,  1062,  1037,  1264,  1107,  1148,
2067 <     312,  1219,  1167,  1038,  1305,  1220,  1039,  1040,  1041,  1042,
2068 <    1043,  1044,  1045,  1046,  1267,  1047,   580,  1048,  1053,  1300,
2069 <    1054,  1055,  1056,  1057,  1061,  1286,  1064,  1065,  1063,  1071,
2070 <    1072,  1163,  1073,  1074,  1075,  1076,  1077,  1078,  1079,  1080,
2071 <    1081,  1082,  1299,  1083,  1084,  1265,  1085,  1086,  1087,  1088,
2072 <    1159,  1095,   751,  1096,   739,  1097,  1098,  1099,  1100,  1101,
2073 <    1102,  1103,  1104,  1284,  1105,  1106,  1121,  1122,  1127,   768,
2135 <     810,  1301,   774,  1128,  1129,  1130,  1142,  1143,  1144,  1145,
2136 <    1302,  1146,  1147,  1151,  1157,  1158,   638,  1162,  1280,  1285,
2137 <    1160,   399,  1168,  1165,  1169,  1281,   744,   461,   654,  1190,
2138 <     728,  1191,  1253,  1252,  1282,   815,  1192,  1215,  1216,  1217,
2139 <    1283,  1218,  1221,  1234,  1235,  1266,   331,  1271,  1287,  1268,
2140 <    1297,  1298,   519,   525,   658,     0,     0,     0,     0,     0,
2141 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2142 <       0,   562,     0,   665,     0,     0,     0,     0,     0,     0,
2143 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1960 >     802,   803,   571,   572,    67,    45,    46,  1025,    47,   381,
1961 >     579,   801,   509,   110,   371,  1071,   227,   236,   980,   286,
1962 >     460,   286,   981,   110,    48,   510,    52,    68,   997,   998,
1963 >     999,  1000,  1001,    54,    69,   982,  1044,   116,   291,   983,
1964 >    1045,  1046,   117,   118,   220,  1047,  1171,    58,   119,    59,
1965 >    1172,   220,   371,   237,  1173,  1177,   120,   480,  1174,  1178,
1966 >     544,   460,   121,   509,   122,   123,   124,   238,   239,   240,
1967 >     241,   125,    62,   111,   372,   251,   510,   126,   127,    63,
1968 >     128,   129,   130,   111,    66,   242,   131,   942,  1013,  1014,
1969 >    1015,   132,    70,   627,   628,   133,   134,   382,   252,   135,
1970 >     227,   635,   228,   637,   511,   107,  1188,   287,   136,   287,
1971 >     644,   553,   372,   647,   108,   137,   138,   469,   139,   140,
1972 >     141,   142,   143,   109,   658,   659,   115,   383,   229,   441,
1973 >     512,   253,   373,   144,   670,   671,   217,   673,   461,   145,
1974 >     146,   147,   218,   148,   219,   442,   149,   150,   545,  1072,
1975 >     151,   234,   470,   313,  1073,   511,   235,  1179,   384,   292,
1976 >     443,  1180,   284,   254,   444,   255,   256,   314,   315,   462,
1977 >     373,   316,   471,   664,   665,   943,  1181,   472,   801,   461,
1978 >    1182,   512,   285,   152,   490,   293,   228,   153,   942,  1026,
1979 >     154,   155,   156,   157,   158,   294,    76,   159,   160,   554,
1980 >     491,   257,   297,   258,   259,   260,   261,  1191,   298,   546,
1981 >     462,  1192,   229,   666,   667,   492,    77,    78,   295,   493,
1982 >     262,   544,    79,   624,   463,   729,   722,   379,   317,   318,
1983 >     319,   524,   473,   320,   692,   561,   944,   161,   162,   163,
1984 >     445,   321,   164,   299,   263,   739,   740,   165,   446,   447,
1985 >     221,   439,   322,   323,   264,   300,  -107,   221,   482,   381,
1986 >     555,    80,    81,  -107,   547,   463,   617,   324,    82,    83,
1987 >      84,   342,   494,   343,   757,   344,   943,  1193,   553,   484,
1988 >     448,  1194,   265,   266,   301,   469,   302,   345,   792,   542,
1989 >      85,    86,   303,    67,   325,   495,   800,   304,   945,   305,
1990 >     236,  1085,   346,    87,    88,   306,   347,   307,  1195,   545,
1991 >     308,   496,  1196,    89,   488,  1197,    68,   309,  1220,  1198,
1992 >     470,    90,  1221,    69,   310,   762,   348,   485,   349,   743,
1993 >     744,   699,   378,   449,   390,   326,   237,   944,   350,   391,
1994 >     471,   806,   807,   687,   441,   472,   392,   382,   393,   490,
1995 >     238,   239,   240,   241,  1168,  1169,  1170,   394,   395,   351,
1996 >     442,   396,   397,   398,   570,   491,   554,   597,   242,   563,
1997 >     546,   399,   400,   401,   497,   443,   402,   383,   403,   444,
1998 >     492,    70,   404,   405,   493,   406,   352,   407,   498,   251,
1999 >     116,   408,   409,   410,   411,   117,   118,   412,   716,   945,
2000 >     473,   119,   772,   773,   774,   775,   776,   413,   384,   120,
2001 >     311,   414,   252,   353,   415,   121,   416,   122,   123,   124,
2002 >     417,   418,   420,   422,   125,   547,   423,   555,   424,   425,
2003 >     126,   127,   426,   128,   129,   130,   427,   494,   428,   131,
2004 >     354,   429,   430,  1205,   132,   253,   431,   432,   133,   134,
2005 >     433,   434,   135,   435,   436,   445,   437,   438,   481,   486,
2006 >     495,   136,   487,   446,   447,  1206,   518,  1207,   137,   138,
2007 >     519,   139,   140,   141,   142,   143,   496,   254,   355,   255,
2008 >     256,   520,   526,   521,   522,   613,   144,   564,   523,  1189,
2009 >     527,   528,   145,   146,   147,   448,   148,   529,   530,   149,
2010 >     150,   565,   531,   151,   532,  1208,   342,   533,   343,   567,
2011 >     344,   534,   535,   536,   537,   257,   566,   258,   259,   260,
2012 >     261,  1089,   345,   538,   539,   540,   541,   560,  1142,   568,
2013 >     569,   570,   573,   574,   262,   575,   152,   346,   576,   497,
2014 >     153,   347,  1090,   154,   155,   156,   157,   158,   449,   577,
2015 >     159,   160,   578,   498,   580,   581,   582,  1091,   263,   583,
2016 >     599,   348,   619,   349,  1092,   620,   584,   585,   264,   586,
2017 >     313,   587,   588,   350,   589,  1209,  1210,   590,   591,   592,
2018 >     593,  1093,   594,   595,   314,   315,   596,   626,   316,   600,
2019 >     161,   162,   163,  1156,   351,   164,   265,   266,   601,  1143,
2020 >     165,   629,   602,   603,  1094,   630,   631,   632,  1211,   605,
2021 >     606,  1095,   633,   634,   607,     2,     3,   608,   609,     4,
2022 >     636,   352,   610,  1096,   611,   612,   615,   638,  1144,     5,
2023 >     616,   621,     6,     7,   622,   639,   640,  1145,     8,   641,
2024 >    1097,  1098,  1099,  1146,   642,   317,   318,   319,   353,     9,
2025 >     320,   857,   643,    10,    11,   645,   646,  1147,   321,  1148,
2026 >    1149,   648,   649,    12,  1157,   650,   651,   652,  1150,   322,
2027 >     323,   653,   654,   655,  1151,   354,   657,    13,   656,   880,
2028 >     660,   661,   662,   663,   324,    14,    15,   672,   677,   668,
2029 >    1100,   669,   674,  1158,   675,   678,   679,   676,   701,  1101,
2030 >     680,   682,  1159,    16,  1102,   683,  1050,  1113,  1160,   684,
2031 >    1103,   325,   703,   355,  1104,   685,  1105,    17,   686,   704,
2032 >     689,  1106,  1161,   691,  1162,  1163,  1051,  1107,   694,   705,
2033 >     702,   724,   696,  1164,   725,   697,  1052,   698,   726,  1165,
2034 >     706,   707,  1053,   727,   728,   732,   731,   733,   708,   734,
2035 >      18,   709,   326,   735,   736,   718,   730,   711,  1054,    19,
2036 >      20,   712,   713,    21,    22,   858,   859,   860,   861,   862,
2037 >     715,   863,   864,   749,   865,   866,   867,   719,   720,   868,
2038 >     737,   869,   870,  1055,   871,    76,   872,   738,   873,   874,
2039 >     721,  1056,   875,   881,   882,   883,   884,   885,   876,   886,
2040 >     887,   747,   888,   889,   890,    77,    78,   891,   748,   892,
2041 >     893,    79,   894,   750,   895,    23,   896,   897,   751,   752,
2042 >     898,  1114,  1115,  1116,  1117,  1118,   899,  1119,  1120,  1057,
2043 >    1121,  1122,  1123,   753,   754,  1124,   764,  1125,  1126,   756,
2044 >    1127,   759,  1128,   760,  1129,  1130,  1058,   765,  1131,   766,
2045 >      80,    81,   767,   768,  1132,   769,   770,    82,    83,    84,
2046 >     771,   779,   780,   781,   782,   783,   784,   785,   786,   787,
2047 >     790,   788,   789,   791,   793,   794,   795,   796,   797,    85,
2048 >      86,   798,   799,   804,   801,   805,   808,   809,   810,   811,
2049 >     812,   815,    87,    88,   819,   822,   813,   814,   816,   823,
2050 >     826,   827,    89,   817,   818,   820,   821,   824,   825,   828,
2051 >      90,   829,   830,   831,   832,   921,   833,   834,   835,   836,
2052 >     837,   838,   839,   840,   841,   842,   843,   844,   845,   846,
2053 >     847,   848,   849,   924,   850,   851,   852,   853,   854,   855,
2054 >     856,   879,   925,   902,   903,   904,   905,   906,   907,   908,
2055 >     909,   910,   911,   912,   913,   914,   915,   916,   917,   918,
2056 >     919,   920,   922,   926,   927,   923,   928,   929,   930,   931,
2057 >     932,   933,   934,   935,   936,   937,   940,   941,   951,   952,
2058 >     953,   954,   956,   955,   957,   958,   960,   959,   962,   963,
2059 >     964,   989,   991,  1140,   993,   296,  1222,   489,  1139,  1086,
2060 >    1041,  1217,   598,   717,  1216,  1067,  1183,   961,   965,   966,
2061 >     967,   968,  1203,   969,   970,   971,   972,   543,   973,   974,
2062 >     975,   976,   977,   978,   979,   984,   985,   986,   987,   988,
2063 >    1186,  1184,   992,   700,   990,   995,   994,   996,  1002,  1003,
2064 >    1004,  1005,  1006,  1007,  1008,  1009,  1010,  1011,  1012,  1018,
2065 >    1019,  1020,  1021,  1022,  1023,  1024,  1029,  1078,  1030,  1031,
2066 >     688,  1201,  1032,   723,  1033,  1218,  1034,   763,  1035,  1036,
2067 >    1219,  1199,  1037,  1038,  1039,  1040,  1048,  1202,  1049,   693,
2068 >    1061,   380,  1200,   440,  1062,  1175,  1176,   312,     0,     0,
2069 >       0,   758,     0,  1063,  1064,  1065,  1066,     0,  1070,  1076,
2070 >    1077,     0,  1081,     0,     0,  1079,  1082,  1084,  1187,  1087,
2071 >    1088,  1110,  1111,  1112,  1135,  1136,  1137,  1138,  1141,  1154,
2072 >    1155,     0,  1185,  1190,  1204,  1214,  1215,     0,   618,     0,
2073 >       0,     0,     0,     0,     0,   625,   483,     0,     0,     0,
2074         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2075 +       0,     0,     0,     0,     0,     0,     0,     0,   525,     0,
2076         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2077 <       0,     0,     0,     0,     0,     0,   599
2077 >       0,     0,     0,     0,     0,     0,   614,     0,     0,     0,
2078 >     562
2079   };
2080  
2081 < #define yypact_value_is_default(yystate) \
2082 <  ((yystate) == (-872))
2081 > #define yypact_value_is_default(Yystate) \
2082 >  (!!((Yystate) == (-745)))
2083  
2084 < #define yytable_value_is_error(yytable_value) \
2084 > #define yytable_value_is_error(Yytable_value) \
2085    YYID (0)
2086  
2087   static const yytype_int16 yycheck[] =
2088   {
2089 <     453,   317,   318,     1,   109,     1,     1,     1,   324,     1,
2090 <       1,     1,     1,     1,    11,   242,     1,   242,     1,     1,
2091 <       1,     1,     3,     1,    11,     6,   240,     1,   240,     1,
2092 <     244,    23,    20,     1,    30,   242,     1,     1,     1,     1,
2093 <     242,    30,    23,    34,    40,     1,   240,   241,     4,   240,
2094 <      42,    40,   242,   244,    46,     1,    47,   242,    60,   240,
2095 <     242,    42,   240,   244,    46,    46,   244,     1,   242,    60,
2096 <      61,    62,    63,   240,     1,   240,   242,   244,    46,   244,
2097 <      70,     1,    38,    65,    65,    41,    67,   240,    70,    80,
2098 <     242,   244,   175,   176,   410,   411,    70,    65,    79,   970,
2099 <     971,   972,    70,    99,    99,    99,   211,    70,   424,   242,
2100 <      99,   242,    97,   429,   242,   103,    99,   242,    99,    99,
2101 <     242,     1,   175,   176,   440,   441,    82,   443,     8,     9,
2102 <       1,   242,   124,     4,    99,   451,   452,    99,    18,   455,
2103 <     125,   133,   134,    99,   132,   242,    26,   129,   129,   132,
2104 <      70,   240,    32,    99,   132,   244,    36,    37,   132,    39,
2105 <     132,   129,    10,    97,    12,    45,   242,    38,     1,   132,
2106 <      41,   165,    99,     1,    54,    55,   168,   158,     1,    59,
2107 <     177,   242,   165,   636,    64,   165,   132,   165,    68,    69,
2108 <     177,   125,    72,   165,   242,    75,    76,     1,    21,    22,
2109 <     165,   203,    25,    83,   240,   207,   187,   242,   244,    89,
2110 <      90,    82,    92,    93,    94,    95,    96,   240,   243,   165,
2111 <     240,   244,     1,    27,    28,   243,   240,   107,    99,    33,
2112 <     244,    35,   226,   231,   226,   115,   116,   117,   165,   119,
2113 <     243,   239,   122,   123,   560,   241,   126,   241,   226,   241,
2114 <     241,    30,   233,   241,   226,   239,   241,   137,   241,   241,
2115 <     241,   241,     1,    86,    87,    88,    99,   231,    91,   241,
2116 <     226,    99,   243,    77,    78,   239,    99,   241,   241,   241,
2117 <      84,    85,   162,   243,    23,   241,   166,    66,   111,   112,
2118 <     170,   171,   172,   173,   174,    13,    14,    15,   178,   179,
2119 <     243,   105,   106,    42,   127,   128,   243,    46,   188,     1,
2120 <     626,   238,   148,   149,   241,   243,   120,   121,   634,   635,
2121 <      99,   241,   101,   102,   240,   243,   240,   131,   244,     1,
2122 <     244,    23,   165,   243,   157,   243,   140,   165,   218,   219,
2123 <       1,   221,   825,   826,   827,   828,   829,   227,    20,     1,
2124 <      42,   243,   232,    50,    46,   226,   243,   237,   240,   207,
2125 <      99,   241,   244,   142,   243,   144,   145,   146,   147,   109,
2126 <     243,    23,   220,    34,    71,   240,    73,   240,   240,   244,
2127 <       1,   244,   161,   148,   149,   124,    47,   196,   197,   243,
2128 <      42,   109,   243,   243,    46,   240,   243,   243,   226,    60,
2129 <      61,    62,    63,   243,   143,   238,   722,   109,   187,    30,
2130 <     130,   243,   152,   153,   154,   155,   156,   114,   241,    80,
2131 <     199,     1,   243,    73,   228,   229,   230,   243,     8,     9,
2132 <     243,   103,   124,   243,   130,   243,   243,   241,    18,   240,
2133 <     243,   133,   134,   243,   243,    66,    26,    99,   243,   243,
2134 <     243,   243,    32,   243,   233,   234,    36,    37,   243,    39,
2135 <     132,   243,   241,   243,   109,    45,   243,   243,   243,   208,
2136 <     243,   243,   124,   243,    54,    55,   168,   243,    99,    59,
2137 <     101,   102,   243,   243,    64,   243,   243,   226,    68,    69,
2138 <     243,   143,    72,   190,   191,    75,    76,   243,   243,   243,
2139 <     150,   243,   241,    83,   130,   243,     1,   243,     3,    89,
2140 <      90,     6,    92,    93,    94,    95,    96,   243,   243,   243,
2141 <     243,   142,   243,   144,   145,   146,   147,   107,    23,   226,
2142 <     243,   181,   243,   243,   226,   115,   116,   117,     5,   119,
2143 <     161,   191,   122,   123,   243,   243,   126,    42,   198,   243,
2144 <     243,    46,   243,   243,   243,   243,   208,   137,    73,   243,
2145 <     210,   243,   212,   213,    31,   243,   187,   243,   243,   243,
2146 <      65,   175,    67,   243,   226,   225,   243,   243,   199,   243,
2147 <     243,   243,   162,    50,    79,   235,   166,   243,   243,    56,
2148 <     170,   171,   172,   173,   174,   243,   243,     1,   178,   179,
2149 <     243,   243,   243,   243,    99,   243,    73,   243,   188,   243,
2150 <     175,   109,   233,   234,   175,   109,   109,   175,   109,   175,
2151 <     175,   175,    19,    27,    28,   175,   175,   240,   240,    33,
2152 <      97,    35,   243,   243,   129,   150,   243,   104,   218,   219,
2153 <     243,   221,   243,   243,   243,   243,    43,   227,   243,   243,
2154 <     243,   118,   232,   243,   243,    52,   240,   237,   243,   130,
2155 <     243,    58,   243,   158,   243,   243,   181,   243,   243,   136,
2156 <     243,   138,   139,    77,    78,   243,   191,    74,   240,   243,
2157 <      84,    85,   109,   198,     0,     1,   243,   175,   175,     5,
2158 <     243,   243,   187,   175,     1,   210,   243,   212,   213,   243,
2159 <     243,   105,   106,   100,    20,   130,   109,    23,    24,   175,
2160 <     225,   108,  1165,    29,    21,    22,   120,   121,    25,   109,
2161 <     235,   109,   109,   175,   191,   175,   175,   131,    44,    60,
2162 <     130,   175,    48,    49,   201,    51,   140,   109,   233,   109,
2163 <     109,    57,   109,   210,   130,   109,   109,   214,   109,   216,
2164 <     130,   175,   175,   243,   151,    71,   175,   243,   225,   175,
2165 <     175,   175,   175,   175,    60,    81,    82,   175,   235,   175,
2166 <     175,   240,   169,   175,   175,   243,   240,   240,   243,    86,
2167 <      87,    88,    98,   243,    91,   243,   243,   243,   243,   243,
2168 <     243,   175,    99,   130,   130,   243,   243,   243,   114,    60,
2169 <     243,   243,   243,   243,   111,   112,   240,   242,   240,   240,
2170 <     243,   130,   130,   243,   243,   243,   175,   243,   240,   175,
2171 <     127,   128,   243,   243,   228,   229,   230,   175,   175,   175,
2172 <     175,   240,   243,   243,   150,   130,   130,   130,   130,   130,
2173 <     130,   130,   130,   159,   160,   109,   130,   163,   164,   130,
2174 <     157,   182,   183,   184,   185,   186,   130,   240,   189,   190,
2175 <     109,   240,   193,   194,   195,   243,   243,   198,   243,   200,
2176 <     201,   202,   240,   204,   205,   206,   109,   109,   209,   109,
2177 <     240,   109,   240,   240,   215,   240,   182,   183,   184,   185,
2178 <     186,   240,   109,   189,   190,   130,   240,   193,   194,   195,
2179 <     240,   217,   198,   109,   200,   201,   202,   240,   204,   205,
2180 <     206,   240,   240,   209,   240,   240,   240,   240,   240,   215,
2181 <     240,   182,   183,   184,   185,   186,   240,   240,   189,   190,
2182 <     240,   240,   193,   194,   195,   240,   109,   198,   240,   200,
2183 <     201,   202,   130,   204,   205,   206,   130,   130,   209,   175,
2184 <     130,   130,   130,   109,   215,   130,   243,   240,   130,   130,
2185 <     130,   130,   240,   240,   130,   130,   175,   243,   240,   240,
2186 <     240,   240,   240,   240,   240,   240,   130,   240,   240,   130,
2187 <     240,   240,   240,   240,   240,   240,   240,   240,   240,   240,
2188 <     240,   130,   240,   240,   240,   240,   240,   240,   240,   240,
2189 <     240,   240,   240,   240,   240,   130,   240,   175,   109,   240,
2190 <     130,   240,   130,   240,   130,   240,   240,   240,   240,   240,
2191 <     240,   240,   240,   130,   240,   240,   240,   240,   240,   240,
2192 <     130,   130,   130,   243,   109,   243,   240,   240,   243,   240,
2193 <     130,   243,   240,   243,   240,   240,   240,   175,   130,   130,
2194 <     243,   130,   243,   130,   240,   240,   130,   130,   130,   240,
2195 <     130,   243,   130,   240,   240,   130,   240,   109,   135,   135,
2196 <      74,  1050,  1014,   240,  1304,  1052,   240,   240,   240,   240,
2197 <     240,   240,   240,   240,   130,   240,   283,   240,   240,  1275,
2198 <     240,   240,   240,   240,   240,  1263,   240,   240,   243,   240,
2199 <     240,   243,   240,   240,   240,   240,   240,   240,   240,   240,
2200 <     240,   240,  1273,   240,   240,  1160,   240,   240,   240,   240,
2201 <     180,   240,   511,   240,   486,   240,   240,   240,   240,   240,
2202 <     240,   240,   240,  1259,   240,   240,   240,   240,   240,   535,
2271 <     585,  1277,   549,   240,   240,   240,   240,   240,   240,   240,
2272 <    1279,   240,   240,   240,   240,   240,   346,   240,  1249,  1261,
2273 <     244,   121,   240,   243,   240,  1251,   501,   177,   375,   240,
2274 <     469,   240,  1113,  1111,  1255,   593,   240,   240,   240,   240,
2275 <    1257,   240,   240,   240,   240,   240,    97,   240,   240,   243,
2276 <     240,   240,   236,   244,   393,    -1,    -1,    -1,    -1,    -1,
2277 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2278 <      -1,   258,    -1,   405,    -1,    -1,    -1,    -1,    -1,    -1,
2279 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2089 >     595,   596,   300,   301,     1,   214,   215,     8,   216,     1,
2090 >     308,    99,     1,     1,     1,    51,     1,     1,   214,     1,
2091 >       1,     1,   218,     1,   216,    14,   216,    24,   772,   773,
2092 >     774,   775,   776,   216,    31,   214,   214,     1,   214,   218,
2093 >     218,   214,     6,     7,     1,   218,   214,   216,    12,   216,
2094 >     218,     1,     1,    37,   214,   214,    20,   214,   218,   218,
2095 >       1,     1,    26,     1,    28,    29,    30,    51,    52,    53,
2096 >      54,    35,   216,    61,    61,     1,    14,    41,    42,   216,
2097 >      44,    45,    46,    61,   216,    69,    50,     1,     9,    10,
2098 >      11,    55,    89,   391,   392,    59,    60,    89,    24,    63,
2099 >       1,   399,    87,   401,    93,   216,   194,    89,    72,    89,
2100 >     408,     1,    61,   411,   216,    79,    80,     1,    82,    83,
2101 >      84,    85,    86,   216,   422,   423,   216,   119,   113,     1,
2102 >     119,    57,   119,    97,   432,   433,   216,   435,   119,   103,
2103 >     104,   105,   216,   107,   216,    17,   110,   111,    89,   185,
2104 >     114,   216,    36,     1,   190,    93,   216,   214,   150,   217,
2105 >      32,   218,   216,    89,    36,    91,    92,    15,    16,   150,
2106 >     119,    19,    56,   159,   160,    89,   214,    61,    99,   119,
2107 >     218,   119,   216,   147,     1,   217,    87,   151,     1,   190,
2108 >     154,   155,   156,   157,   158,   217,     1,   161,   162,    89,
2109 >      17,   127,   217,   129,   130,   131,   132,   214,   217,   150,
2110 >     150,   218,   113,   159,   160,    32,    21,    22,   215,    36,
2111 >     146,     1,    27,   215,   205,   523,   215,   215,    76,    77,
2112 >      78,   215,   116,    81,   215,   215,   150,   201,   202,   203,
2113 >     112,    89,   206,   217,   170,   133,   134,   211,   120,   121,
2114 >     207,   215,   100,   101,   180,   217,   213,   207,   215,     1,
2115 >     150,    66,    67,   213,   205,   205,   215,   115,    73,    74,
2116 >      75,     1,    89,     3,   215,     5,    89,   214,     1,   213,
2117 >     152,   218,   208,   209,   217,     1,   217,    17,   586,   215,
2118 >      95,    96,   217,     1,   142,   112,   594,   217,   212,   217,
2119 >       1,   215,    32,   108,   109,   217,    36,   217,   214,    89,
2120 >     217,   128,   218,   118,   215,   214,    24,   217,   214,   218,
2121 >      36,   126,   218,    31,   217,   215,    56,   214,    58,   133,
2122 >     134,   215,   217,   205,   217,   183,    37,   150,    68,   217,
2123 >      56,   177,   178,   215,     1,    61,   217,    89,   217,     1,
2124 >      51,    52,    53,    54,  1013,  1014,  1015,   217,   217,    89,
2125 >      17,   217,   217,   217,    99,    17,    89,   215,    69,   117,
2126 >     150,   217,   217,   217,   191,    32,   217,   119,   217,    36,
2127 >      32,    89,   217,   217,    36,   217,   116,   217,   205,     1,
2128 >       1,   217,   217,   217,   217,     6,     7,   217,   215,   212,
2129 >     116,    12,   137,   138,   139,   140,   141,   217,   150,    20,
2130 >     215,   217,    24,   143,   217,    26,   217,    28,    29,    30,
2131 >     217,   217,   217,   217,    35,   205,   217,   150,   217,   217,
2132 >      41,    42,   217,    44,    45,    46,   217,    89,   217,    50,
2133 >     170,   217,   217,    40,    55,    57,   217,   217,    59,    60,
2134 >     217,   217,    63,   217,   217,   112,   217,   217,   217,   217,
2135 >     112,    72,   217,   120,   121,    62,   217,    64,    79,    80,
2136 >     217,    82,    83,    84,    85,    86,   128,    89,   208,    91,
2137 >      92,   217,   214,   217,   217,   215,    97,   117,   217,  1084,
2138 >     217,   217,   103,   104,   105,   152,   107,   217,   217,   110,
2139 >     111,   117,   217,   114,   217,   102,     1,   217,     3,    99,
2140 >       5,   217,   217,   217,   217,   127,   214,   129,   130,   131,
2141 >     132,     4,    17,   217,   217,   217,   217,   217,    64,    99,
2142 >     159,    99,    99,    99,   146,    99,   147,    32,   159,   191,
2143 >     151,    36,    25,   154,   155,   156,   157,   158,   205,   159,
2144 >     161,   162,    99,   205,   159,   159,   214,    40,   170,   214,
2145 >     214,    56,   117,    58,    47,   214,   217,   217,   180,   217,
2146 >       1,   217,   217,    68,   217,   172,   173,   217,   217,   217,
2147 >     217,    64,   217,   217,    15,    16,   217,   159,    19,   217,
2148 >     201,   202,   203,    64,    89,   206,   208,   209,   217,   135,
2149 >     211,    99,   217,   217,    87,   159,   159,    99,   205,   217,
2150 >     217,    94,   117,   159,   217,     0,     1,   217,   217,     4,
2151 >     159,   116,   217,   106,   217,   217,   217,    99,   164,    14,
2152 >     217,   217,    17,    18,   217,    99,    99,   173,    23,   159,
2153 >     123,   124,   125,   179,   159,    76,    77,    78,   143,    34,
2154 >      81,    51,   159,    38,    39,    99,    99,   193,    89,   195,
2155 >     196,    99,    99,    48,   135,   117,    99,    99,   204,   100,
2156 >     101,   159,   159,   217,   210,   170,   217,    62,   159,    51,
2157 >     159,   159,   159,   159,   115,    70,    71,   117,   214,   159,
2158 >     173,   159,   159,   164,   159,   214,   217,   159,   159,   182,
2159 >     217,   217,   173,    88,   187,   217,    13,    51,   179,   217,
2160 >     193,   142,   216,   208,   197,   217,   199,   102,   217,   117,
2161 >     217,   204,   193,   217,   195,   196,    33,   210,   214,   117,
2162 >     214,   159,   217,   204,   159,   217,    43,   217,   117,   210,
2163 >     214,   214,    49,   159,   159,   159,   117,   117,   217,   117,
2164 >     135,   217,   183,   117,   117,   214,   214,   217,    65,   144,
2165 >     145,   217,   217,   148,   149,   165,   166,   167,   168,   169,
2166 >     217,   171,   172,    99,   174,   175,   176,   217,   217,   179,
2167 >     117,   181,   182,    90,   184,     1,   186,   117,   188,   189,
2168 >     217,    98,   192,   165,   166,   167,   168,   169,   198,   171,
2169 >     172,   117,   174,   175,   176,    21,    22,   179,   117,   181,
2170 >     182,    27,   184,   117,   186,   200,   188,   189,   117,   214,
2171 >     192,   165,   166,   167,   168,   169,   198,   171,   172,   136,
2172 >     174,   175,   176,   214,   217,   179,   117,   181,   182,   217,
2173 >     184,   214,   186,   217,   188,   189,   153,   214,   192,   214,
2174 >      66,    67,   214,   214,   198,   214,   214,    73,    74,    75,
2175 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2176 >      99,   214,   214,    99,    99,    99,    99,    99,   117,    95,
2177 >      96,    99,    99,   214,    99,   117,   117,   159,   217,   117,
2178 >     117,    99,   108,   109,   214,   214,   117,   117,   117,   214,
2179 >     217,   214,   118,   117,   117,   117,   117,   117,   117,   214,
2180 >     126,   214,   214,   214,   214,   117,   214,   214,   214,   214,
2181 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2182 >     214,   214,   214,   117,   214,   214,   214,   214,   214,   214,
2183 >     214,   214,    99,   214,   214,   214,   214,   214,   214,   214,
2184 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2185 >     214,   214,   159,   117,   117,   217,   117,   214,   117,   217,
2186 >     117,   214,   217,   117,   117,    99,   214,   214,   214,   214,
2187 >     117,   159,   117,   217,   117,   117,   117,   217,   117,   117,
2188 >     117,   117,   117,   983,   117,    71,  1221,   230,   981,   946,
2189 >     122,  1194,   327,   499,  1192,   122,    99,   214,   214,   214,
2190 >     214,   214,  1182,   214,   214,   214,   214,   267,   214,   214,
2191 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2192 >     117,  1079,   214,   475,   217,   214,   217,   214,   214,   214,
2193 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2194 >     214,   214,   214,   214,   214,   214,   214,   163,   214,   214,
2195 >     450,  1178,   214,   513,   214,  1196,   214,   556,   214,   214,
2196 >    1198,  1172,   214,   214,   214,   214,   214,  1180,   214,   465,
2197 >     214,   112,  1174,   166,   214,  1045,  1047,    91,    -1,    -1,
2198 >      -1,   548,    -1,   214,   214,   214,   214,    -1,   214,   214,
2199 >     214,    -1,   214,    -1,    -1,   218,   217,   217,   217,   214,
2200 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2201 >     214,    -1,   214,   214,   214,   214,   214,    -1,   374,    -1,
2202 >      -1,    -1,    -1,    -1,    -1,   386,   222,    -1,    -1,    -1,
2203        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2204 +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,    -1,
2205        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2206 <      -1,    -1,    -1,    -1,    -1,    -1,   304
2206 >      -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,
2207 >     288
2208   };
2209  
2210   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2211     symbol of state STATE-NUM.  */
2212   static const yytype_uint16 yystos[] =
2213   {
2214 <       0,   246,     0,     1,     5,    20,    23,    24,    29,    44,
2215 <      48,    49,    51,    57,    71,    81,    82,    98,   114,   150,
2216 <     159,   160,   163,   164,   217,   247,   252,   257,   279,   285,
2217 <     299,   317,   334,   348,   363,   370,   374,   384,   393,   413,
2218 <     423,   429,   433,   443,   503,   519,   539,   240,   241,   242,
2219 <     242,   318,   394,   424,   242,   434,   242,   504,   349,   414,
2220 <     335,   242,   242,   300,   364,   242,   242,   375,   385,   242,
2221 <       1,    30,    40,    99,   280,   281,   282,   283,   284,     1,
2222 <      27,    28,    33,    35,    77,    78,    84,    85,   105,   106,
2223 <     120,   121,   131,   140,   228,   229,   230,   520,   521,   522,
2224 <     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
2225 <     533,   534,   535,   536,   537,   538,   242,   242,   242,     1,
2226 <      70,   430,   431,   432,   242,     1,     8,     9,    18,    26,
2227 <      32,    36,    37,    39,    45,    54,    55,    59,    64,    68,
2228 <      69,    72,    75,    76,    83,    89,    90,    92,    93,    94,
2229 <      95,    96,   107,   115,   116,   117,   119,   122,   123,   126,
2230 <     137,   162,   166,   170,   171,   172,   173,   174,   178,   179,
2231 <     188,   218,   219,   221,   227,   232,   237,   444,   445,   446,
2232 <     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
2233 <     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
2234 <     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
2235 <     477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
2236 <     487,   488,   489,   490,   491,   495,   499,   500,   501,   502,
2237 <     242,   242,   242,   242,     1,   231,   286,   287,   288,   289,
2238 <     290,     1,    97,   125,   253,   254,   255,   256,   242,   242,
2239 <       1,    34,    47,    60,    61,    62,    63,    80,   540,   541,
2240 <     542,   543,   544,   545,   546,   547,   548,     1,    30,    66,
2241 <      99,   101,   102,   142,   144,   145,   146,   147,   161,   187,
2242 <     199,   233,   234,   258,   259,   260,   261,   266,   267,   268,
2243 <     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
2244 <     242,   242,     1,    99,   371,   372,   373,   240,   243,   243,
2245 <     243,   241,   281,   243,   243,   243,   243,   243,   243,   243,
2246 <     243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
2247 <     241,   521,     1,    21,    22,    25,    86,    87,    88,    91,
2248 <      99,   111,   112,   127,   128,   157,   319,   320,   321,   322,
2249 <     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
2250 <     333,     1,     3,     6,    23,    42,    46,    65,    67,    79,
2251 <      99,   129,   158,   187,   233,   395,   396,   397,   398,   399,
2252 <     400,   401,   402,   403,   404,   408,   409,   410,   411,   412,
2253 <       1,    70,   132,   425,   426,   427,   428,   243,   241,   431,
2254 <       1,    99,   132,   165,   435,   439,   440,   441,   442,   243,
2255 <     243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
2256 <     243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
2257 <     243,   243,   243,   243,   243,   243,   243,   496,   243,   492,
2258 <     243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
2259 <     243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
2260 <     241,   445,     1,     4,    38,    41,    82,    99,   226,   505,
2261 <     506,   507,   508,   509,   513,   514,   515,     1,    23,    42,
2262 <      46,   124,   133,   134,   168,   226,   350,   351,   352,   353,
2263 <     354,   355,   356,   360,   361,   362,     1,   132,   165,   226,
2264 <     415,   419,   420,   421,   422,     1,    46,    65,    70,   129,
2265 <     336,   340,   341,   342,   346,   347,   240,   243,   241,   287,
2266 <     239,   240,   243,   243,   241,   254,     1,    23,    42,    46,
2267 <      99,   124,   143,   208,   226,   301,   302,   303,   304,   305,
2268 <     306,   307,   308,   309,   313,     1,    20,   103,   132,   365,
2269 <     366,   367,   368,   369,   243,   243,   243,   243,   243,   243,
2270 <     243,   241,   541,   240,   243,   243,   243,   243,   243,   243,
2271 <     243,   243,   243,   243,   243,   243,   243,   243,   243,   241,
2272 <     259,     1,    99,   165,   226,   376,   377,   378,   379,   380,
2273 <       1,    99,   165,   386,   387,   388,   389,   243,   241,   372,
2274 <     130,   130,   130,   240,   109,   109,   175,   175,   109,   249,
2275 <     249,   109,   109,   175,   175,   109,   249,   175,   175,   175,
2276 <     175,   175,   240,   240,   243,   243,   243,   243,   243,   243,
2277 <     243,   243,   243,   243,   243,   243,   243,   241,   320,   240,
2278 <     243,   243,   243,   243,   405,   243,   243,   243,   243,   243,
2279 <     243,   243,   243,   241,   396,   243,   243,   241,   426,   130,
2280 <     240,   243,   243,   436,   241,   440,   175,   249,   249,   109,
2281 <     175,   175,   109,   130,   175,   109,   109,   109,   175,   175,
2282 <     175,   249,   130,   175,   109,   109,   249,   109,   109,   130,
2283 <     109,   109,   175,   175,   243,   175,   243,   249,   249,   175,
2284 <     249,   175,   175,   175,   175,   176,   175,   176,   175,   175,
2285 <     249,   249,   109,   251,   130,   249,   175,   175,   175,   175,
2286 <     240,   516,   243,   243,   510,   243,   243,   241,   506,   240,
2287 <     243,   243,   357,   243,   243,   243,   243,   243,   241,   351,
2288 <     243,   416,   243,   241,   420,   240,   337,   243,   243,   243,
2289 <     241,   341,   175,   240,   242,   130,   130,   240,   240,   243,
2290 <     243,   314,   243,   243,   243,   310,   243,   241,   302,   240,
2291 <     243,   243,   243,   241,   366,   175,   175,   175,   130,   175,
2292 <     175,   249,   240,   130,   175,   130,   130,   130,   130,   130,
2293 <     130,   148,   149,   262,   263,   148,   149,   264,   265,   130,
2294 <     130,   109,   130,   130,   240,   240,   243,   381,   243,   241,
2295 <     377,   240,   243,   390,   241,   387,   130,   240,   240,   240,
2296 <     240,   240,   240,   240,   240,   152,   153,   154,   155,   156,
2297 <     248,   249,   240,   240,   240,   240,   240,   240,   240,   240,
2298 <     240,   240,   240,   240,   240,   109,   109,   249,   109,   109,
2299 <     109,   109,   130,   109,   109,   249,   249,   251,   240,   130,
2300 <     196,   197,   130,   175,   243,   130,   130,   130,   130,   109,
2301 <     130,   130,   130,   240,   130,   130,   240,   240,   130,   130,
2302 <     243,   240,   240,   240,   240,   240,   240,   240,   240,   240,
2303 <     240,   240,   240,   240,   240,   240,   240,   240,   240,   240,
2304 <     240,   240,   240,   240,   240,   240,   240,   240,   240,   240,
2305 <      60,   182,   183,   184,   185,   186,   189,   190,   193,   194,
2306 <     195,   198,   200,   201,   202,   204,   205,   206,   209,   215,
2307 <     497,   498,   240,    60,   182,   183,   184,   185,   186,   189,
2308 <     190,   193,   194,   195,   198,   200,   201,   202,   204,   205,
2309 <     206,   209,   215,   493,   494,   240,   240,   240,   240,   240,
2310 <     240,   240,   240,   240,   240,   240,   240,   240,   240,   240,
2311 <      13,    14,    15,   250,   251,   240,   240,   240,   240,   240,
2312 <     240,   240,   243,   249,   175,   243,   130,   130,   240,   130,
2313 <     175,   243,   130,   109,   130,   130,   130,   240,   130,   243,
2314 <     130,   240,   243,   130,   130,   109,   344,   345,   240,   240,
2315 <       1,    99,   165,   238,   291,   292,   293,   294,   295,   240,
2316 <     240,   130,   175,   243,   130,   130,   130,   243,   130,   240,
2317 <     130,   130,   130,   240,   240,   240,   240,   240,   240,   240,
2318 <     240,   240,   240,   240,   240,   240,   240,   240,   240,   240,
2319 <     244,   240,   244,   240,   240,   240,   240,   240,   130,   243,
2320 <     130,   240,   130,   243,   240,   240,   248,   248,   248,   248,
2321 <     248,   240,   240,   240,   240,   240,   240,   240,   240,   240,
2322 <     240,   240,   240,   240,   240,   240,   240,   240,   240,    10,
2323 <      12,   207,   220,   406,   407,   240,   240,   240,   240,   240,
2324 <     240,   240,   240,   240,   240,   240,   240,   135,   437,   438,
2325 <     240,   244,   240,   244,   250,   250,   250,    11,   177,   517,
2326 <     518,   240,   240,    11,   177,   511,   512,   240,   240,   240,
2327 <     240,    19,    43,    52,    58,    74,   100,   108,   151,   169,
2328 <     358,   359,   240,   240,   240,   240,   240,   240,   135,   417,
2329 <     418,   240,    60,   203,   207,   338,   339,   240,   240,   180,
2330 <     244,   343,   240,   243,   296,   243,   241,   292,   240,   240,
2331 <       5,    31,    50,    56,    73,    97,   104,   118,   136,   138,
2332 <     139,   191,   201,   210,   214,   216,   225,   235,   315,   316,
2333 <     240,   240,   240,    60,   182,   183,   184,   185,   186,   189,
2334 <     190,   193,   194,   195,   198,   200,   201,   202,   204,   205,
2335 <     206,   209,   215,   311,   312,   240,   240,   240,   240,   263,
2336 <     265,   240,    73,   150,   181,   191,   198,   210,   212,   213,
2412 <     225,   235,   382,   383,   240,   240,    73,   150,   181,   191,
2413 <     198,   210,   212,   213,   225,   235,   391,   392,   240,   244,
2414 <     240,   244,   498,   494,   240,   244,   240,   244,   240,   244,
2415 <     240,   244,   240,   244,   109,   345,   240,   130,   243,   211,
2416 <     251,   240,   240,   244,   240,   244,   240,   244,   240,   244,
2417 <     407,   438,   518,   512,   359,   418,   339,   240,    50,    71,
2418 <      73,   114,   190,   191,   226,   297,   298,   240,   240,   316,
2419 <     312,   383,   392,   240,   244,   298
2214 >       0,   220,     0,     1,     4,    14,    17,    18,    23,    34,
2215 >      38,    39,    48,    62,    70,    71,    88,   102,   135,   144,
2216 >     145,   148,   149,   200,   221,   226,   231,   253,   259,   273,
2217 >     291,   308,   322,   337,   344,   348,   358,   367,   387,   397,
2218 >     403,   407,   417,   475,   492,   214,   215,   216,   216,   292,
2219 >     368,   398,   216,   408,   216,   323,   388,   309,   216,   216,
2220 >     274,   338,   216,   216,   349,   359,   216,     1,    24,    31,
2221 >      89,   254,   255,   256,   257,   258,     1,    21,    22,    27,
2222 >      66,    67,    73,    74,    75,    95,    96,   108,   109,   118,
2223 >     126,   476,   477,   478,   479,   480,   481,   482,   483,   484,
2224 >     485,   486,   487,   488,   489,   490,   491,   216,   216,   216,
2225 >       1,    61,   404,   405,   406,   216,     1,     6,     7,    12,
2226 >      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
2227 >      46,    50,    55,    59,    60,    63,    72,    79,    80,    82,
2228 >      83,    84,    85,    86,    97,   103,   104,   105,   107,   110,
2229 >     111,   114,   147,   151,   154,   155,   156,   157,   158,   161,
2230 >     162,   201,   202,   203,   206,   211,   418,   419,   420,   421,
2231 >     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
2232 >     432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
2233 >     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
2234 >     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
2235 >     462,   463,   464,   468,   472,   473,   474,   216,   216,   216,
2236 >       1,   207,   260,   261,   262,   263,   264,     1,    87,   113,
2237 >     227,   228,   229,   230,   216,   216,     1,    37,    51,    52,
2238 >      53,    54,    69,   493,   494,   495,   496,   497,   498,   499,
2239 >     500,     1,    24,    57,    89,    91,    92,   127,   129,   130,
2240 >     131,   132,   146,   170,   180,   208,   209,   232,   233,   234,
2241 >     235,   240,   241,   242,   243,   244,   245,   246,   247,   248,
2242 >     249,   250,   251,   252,   216,   216,     1,    89,   345,   346,
2243 >     347,   214,   217,   217,   217,   215,   255,   217,   217,   217,
2244 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2245 >     217,   215,   477,     1,    15,    16,    19,    76,    77,    78,
2246 >      81,    89,   100,   101,   115,   142,   183,   293,   294,   295,
2247 >     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
2248 >     306,   307,     1,     3,     5,    17,    32,    36,    56,    58,
2249 >      68,    89,   116,   143,   170,   208,   369,   370,   371,   372,
2250 >     373,   374,   375,   376,   377,   378,   382,   383,   384,   385,
2251 >     386,     1,    61,   119,   399,   400,   401,   402,   217,   215,
2252 >     405,     1,    89,   119,   150,   409,   413,   414,   415,   416,
2253 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2254 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2255 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   469,
2256 >     217,   465,   217,   217,   217,   217,   217,   217,   217,   217,
2257 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   215,
2258 >     419,     1,    17,    32,    36,   112,   120,   121,   152,   205,
2259 >     324,   325,   326,   327,   328,   329,   330,   334,   335,   336,
2260 >       1,   119,   150,   205,   389,   393,   394,   395,   396,     1,
2261 >      36,    56,    61,   116,   310,   314,   315,   316,   320,   321,
2262 >     214,   217,   215,   261,   213,   214,   217,   217,   215,   228,
2263 >       1,    17,    32,    36,    89,   112,   128,   191,   205,   275,
2264 >     276,   277,   278,   279,   280,   281,   282,   283,   287,     1,
2265 >      14,    93,   119,   339,   340,   341,   342,   343,   217,   217,
2266 >     217,   217,   217,   217,   215,   494,   214,   217,   217,   217,
2267 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2268 >     217,   217,   215,   233,     1,    89,   150,   205,   350,   351,
2269 >     352,   353,   354,     1,    89,   150,   360,   361,   362,   363,
2270 >     217,   215,   346,   117,   117,   117,   214,    99,    99,   159,
2271 >      99,   223,   223,    99,    99,    99,   159,   159,    99,   223,
2272 >     159,   159,   214,   214,   217,   217,   217,   217,   217,   217,
2273 >     217,   217,   217,   217,   217,   217,   217,   215,   294,   214,
2274 >     217,   217,   217,   217,   379,   217,   217,   217,   217,   217,
2275 >     217,   217,   217,   215,   370,   217,   217,   215,   400,   117,
2276 >     214,   217,   217,   410,   215,   414,   159,   223,   223,    99,
2277 >     159,   159,    99,   117,   159,   223,   159,   223,    99,    99,
2278 >      99,   159,   159,   159,   223,    99,    99,   223,    99,    99,
2279 >     117,    99,    99,   159,   159,   217,   159,   217,   223,   223,
2280 >     159,   159,   159,   159,   159,   160,   159,   160,   159,   159,
2281 >     223,   223,   117,   223,   159,   159,   159,   214,   214,   217,
2282 >     217,   331,   217,   217,   217,   217,   217,   215,   325,   217,
2283 >     390,   217,   215,   394,   214,   311,   217,   217,   217,   215,
2284 >     315,   159,   214,   216,   117,   117,   214,   214,   217,   217,
2285 >     288,   217,   217,   217,   284,   217,   215,   276,   214,   217,
2286 >     217,   217,   215,   340,   159,   159,   117,   159,   159,   223,
2287 >     214,   117,   159,   117,   117,   117,   117,   117,   117,   133,
2288 >     134,   236,   237,   133,   134,   238,   239,   117,   117,    99,
2289 >     117,   117,   214,   214,   217,   355,   217,   215,   351,   214,
2290 >     217,   364,   215,   361,   117,   214,   214,   214,   214,   214,
2291 >     214,   214,   137,   138,   139,   140,   141,   222,   223,   214,
2292 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2293 >      99,    99,   223,    99,    99,    99,    99,   117,    99,    99,
2294 >     223,    99,   225,   225,   214,   117,   177,   178,   117,   159,
2295 >     217,   117,   117,   117,   117,    99,   117,   117,   117,   214,
2296 >     117,   117,   214,   214,   117,   117,   217,   214,   214,   214,
2297 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2298 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2299 >     214,   214,   214,   214,   214,   214,   214,    51,   165,   166,
2300 >     167,   168,   169,   171,   172,   174,   175,   176,   179,   181,
2301 >     182,   184,   186,   188,   189,   192,   198,   470,   471,   214,
2302 >      51,   165,   166,   167,   168,   169,   171,   172,   174,   175,
2303 >     176,   179,   181,   182,   184,   186,   188,   189,   192,   198,
2304 >     466,   467,   214,   214,   214,   214,   214,   214,   214,   214,
2305 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2306 >     214,   117,   159,   217,   117,    99,   117,   117,   117,   214,
2307 >     117,   217,   117,   214,   217,   117,   117,    99,   318,   319,
2308 >     214,   214,     1,    89,   150,   212,   265,   266,   267,   268,
2309 >     269,   214,   214,   117,   159,   217,   117,   117,   117,   217,
2310 >     117,   214,   117,   117,   117,   214,   214,   214,   214,   214,
2311 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2312 >     214,   218,   214,   218,   214,   214,   214,   214,   214,   117,
2313 >     217,   117,   214,   117,   217,   214,   214,   222,   222,   222,
2314 >     222,   222,   214,   214,   214,   214,   214,   214,   214,   214,
2315 >     214,   214,   214,     9,    10,    11,   224,   225,   214,   214,
2316 >     214,   214,   214,   214,   214,     8,   190,   380,   381,   214,
2317 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2318 >     214,   122,   411,   412,   214,   218,   214,   218,   214,   214,
2319 >      13,    33,    43,    49,    65,    90,    98,   136,   153,   332,
2320 >     333,   214,   214,   214,   214,   214,   214,   122,   391,   392,
2321 >     214,    51,   185,   190,   312,   313,   214,   214,   163,   218,
2322 >     317,   214,   217,   270,   217,   215,   266,   214,   214,     4,
2323 >      25,    40,    47,    64,    87,    94,   106,   123,   124,   125,
2324 >     173,   182,   187,   193,   197,   199,   204,   210,   289,   290,
2325 >     214,   214,   214,    51,   165,   166,   167,   168,   169,   171,
2326 >     172,   174,   175,   176,   179,   181,   182,   184,   186,   188,
2327 >     189,   192,   198,   285,   286,   214,   214,   214,   214,   237,
2328 >     239,   214,    64,   135,   164,   173,   179,   193,   195,   196,
2329 >     204,   210,   356,   357,   214,   214,    64,   135,   164,   173,
2330 >     179,   193,   195,   196,   204,   210,   365,   366,   224,   224,
2331 >     224,   214,   218,   214,   218,   471,   467,   214,   218,   214,
2332 >     218,   214,   218,    99,   319,   214,   117,   217,   194,   225,
2333 >     214,   214,   218,   214,   218,   214,   218,   214,   218,   381,
2334 >     412,   333,   392,   313,   214,    40,    62,    64,   102,   172,
2335 >     173,   205,   271,   272,   214,   214,   290,   286,   357,   366,
2336 >     214,   218,   272
2337   };
2338  
2339   #define yyerrok         (yyerrstatus = 0)
# Line 2446 | Line 2363 | static const yytype_uint16 yystos[] =
2363  
2364   #define YYRECOVERING()  (!!yyerrstatus)
2365  
2366 < #define YYBACKUP(Token, Value)                                  \
2367 < do                                                              \
2368 <  if (yychar == YYEMPTY && yylen == 1)                          \
2369 <    {                                                           \
2370 <      yychar = (Token);                                         \
2371 <      yylval = (Value);                                         \
2372 <      YYPOPSTACK (1);                                           \
2373 <      goto yybackup;                                            \
2374 <    }                                                           \
2375 <  else                                                          \
2376 <    {                                                           \
2366 > #define YYBACKUP(Token, Value)                                  \
2367 > do                                                              \
2368 >  if (yychar == YYEMPTY)                                        \
2369 >    {                                                           \
2370 >      yychar = (Token);                                         \
2371 >      yylval = (Value);                                         \
2372 >      YYPOPSTACK (yylen);                                       \
2373 >      yystate = *yyssp;                                         \
2374 >      goto yybackup;                                            \
2375 >    }                                                           \
2376 >  else                                                          \
2377 >    {                                                           \
2378        yyerror (YY_("syntax error: cannot back up")); \
2379        YYERROR;                                                  \
2380      }                                                           \
# Line 2466 | Line 2384 | while (YYID (0))
2384   #define YYTERROR        1
2385   #define YYERRCODE       256
2386  
2469
2387   /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2388     If N is 0, then set CURRENT to the empty location which ends
2389     the previous symbol: RHS[0] (always defined).  */
2390  
2474 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2391   #ifndef YYLLOC_DEFAULT
2392 < # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2393 <    do                                                                  \
2394 <      if (YYID (N))                                                    \
2395 <        {                                                               \
2396 <          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2397 <          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2398 <          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2399 <          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2400 <        }                                                               \
2401 <      else                                                              \
2402 <        {                                                               \
2403 <          (Current).first_line   = (Current).last_line   =              \
2404 <            YYRHSLOC (Rhs, 0).last_line;                                \
2405 <          (Current).first_column = (Current).last_column =              \
2406 <            YYRHSLOC (Rhs, 0).last_column;                              \
2407 <        }                                                               \
2392 > # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2393 >    do                                                                  \
2394 >      if (YYID (N))                                                     \
2395 >        {                                                               \
2396 >          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2397 >          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2398 >          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2399 >          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2400 >        }                                                               \
2401 >      else                                                              \
2402 >        {                                                               \
2403 >          (Current).first_line   = (Current).last_line   =              \
2404 >            YYRHSLOC (Rhs, 0).last_line;                                \
2405 >          (Current).first_column = (Current).last_column =              \
2406 >            YYRHSLOC (Rhs, 0).last_column;                              \
2407 >        }                                                               \
2408      while (YYID (0))
2409   #endif
2410  
2411 + #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2412 +
2413 +
2414  
2415   /* This macro is provided for backward compatibility. */
2416  
# Line 2551 | Line 2470 | yy_symbol_value_print (yyoutput, yytype,
2470      YYSTYPE const * const yyvaluep;
2471   #endif
2472   {
2473 +  FILE *yyo = yyoutput;
2474 +  YYUSE (yyo);
2475    if (!yyvaluep)
2476      return;
2477   # ifdef YYPRINT
# Line 2802 | Line 2723 | static int
2723   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2724                  yytype_int16 *yyssp, int yytoken)
2725   {
2726 <  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
2726 >  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2727    YYSIZE_T yysize = yysize0;
2728    YYSIZE_T yysize1;
2729    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2730    /* Internationalized format string. */
2731 <  const char *yyformat = 0;
2731 >  const char *yyformat = YY_NULL;
2732    /* Arguments of yyformat. */
2733    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2734    /* Number of reported tokens (one for the "unexpected", one per
# Line 2867 | Line 2788 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2788                      break;
2789                    }
2790                  yyarg[yycount++] = yytname[yyx];
2791 <                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2791 >                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2792                  if (! (yysize <= yysize1
2793                         && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2794                    return 2;
# Line 2959 | Line 2880 | yydestruct (yymsg, yytype, yyvaluep)
2880   }
2881  
2882  
2962 /* Prevent warnings from -Wmissing-prototypes.  */
2963 #ifdef YYPARSE_PARAM
2964 #if defined __STDC__ || defined __cplusplus
2965 int yyparse (void *YYPARSE_PARAM);
2966 #else
2967 int yyparse ();
2968 #endif
2969 #else /* ! YYPARSE_PARAM */
2970 #if defined __STDC__ || defined __cplusplus
2971 int yyparse (void);
2972 #else
2973 int yyparse ();
2974 #endif
2975 #endif /* ! YYPARSE_PARAM */
2883  
2884  
2885   /* The lookahead symbol.  */
2886   int yychar;
2887  
2888 +
2889 + #ifndef YYLVAL_INITIALIZE
2890 + # define YYLVAL_INITIALIZE()
2891 + #endif
2892 + #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2893 + # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2894 + # define YY_IGNORE_MAYBE_UNINITIALIZED_END
2895 + #endif
2896 +
2897   /* The semantic value of the lookahead symbol.  */
2898   YYSTYPE yylval;
2899  
# Line 3019 | Line 2935 | yyparse ()
2935         `yyss': related to states.
2936         `yyvs': related to semantic values.
2937  
2938 <       Refer to the stacks thru separate pointers, to allow yyoverflow
2938 >       Refer to the stacks through separate pointers, to allow yyoverflow
2939         to reallocate them elsewhere.  */
2940  
2941      /* The state stack.  */
# Line 3037 | Line 2953 | yyparse ()
2953    int yyn;
2954    int yyresult;
2955    /* Lookahead token as an internal (translated) token number.  */
2956 <  int yytoken;
2956 >  int yytoken = 0;
2957    /* The variables used to return semantic value and location from the
2958       action routines.  */
2959    YYSTYPE yyval;
# Line 3055 | Line 2971 | yyparse ()
2971       Keep to zero when no symbol should be popped.  */
2972    int yylen = 0;
2973  
3058  yytoken = 0;
2974    yyss = yyssa;
2975    yyvs = yyvsa;
2976    yystacksize = YYINITDEPTH;
# Line 3074 | Line 2989 | yyparse ()
2989    yyssp = yyss;
2990    yyvsp = yyvs;
2991  
2992 +  YYLVAL_INITIALIZE ();
2993    goto yysetstate;
2994  
2995   /*------------------------------------------------------------.
# Line 3214 | Line 3130 | yybackup:
3130    yychar = YYEMPTY;
3131  
3132    yystate = yyn;
3133 +  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3134    *++yyvsp = yylval;
3135 +  YY_IGNORE_MAYBE_UNINITIALIZED_END
3136  
3137    goto yynewstate;
3138  
# Line 3250 | Line 3168 | yyreduce:
3168    YY_REDUCE_PRINT (yyn);
3169    switch (yyn)
3170      {
3171 <        case 27:
3172 <
3173 < /* Line 1806 of yacc.c  */
3256 < #line 383 "conf_parser.y"
3171 >        case 26:
3172 > /* Line 1813 of yacc.c  */
3173 > #line 395 "conf_parser.y"
3174      { (yyval.number) = 0; }
3175      break;
3176  
3177 <  case 29:
3178 <
3179 < /* Line 1806 of yacc.c  */
3263 < #line 385 "conf_parser.y"
3177 >  case 28:
3178 > /* Line 1813 of yacc.c  */
3179 > #line 397 "conf_parser.y"
3180      {
3181                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3182                  }
3183      break;
3184  
3185 <  case 30:
3186 <
3187 < /* Line 1806 of yacc.c  */
3272 < #line 389 "conf_parser.y"
3185 >  case 29:
3186 > /* Line 1813 of yacc.c  */
3187 > #line 401 "conf_parser.y"
3188      {
3189                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3190                  }
3191      break;
3192  
3193 <  case 31:
3194 <
3195 < /* Line 1806 of yacc.c  */
3281 < #line 393 "conf_parser.y"
3193 >  case 30:
3194 > /* Line 1813 of yacc.c  */
3195 > #line 405 "conf_parser.y"
3196      {
3197                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3198                  }
3199      break;
3200  
3201 <  case 32:
3202 <
3203 < /* Line 1806 of yacc.c  */
3290 < #line 397 "conf_parser.y"
3201 >  case 31:
3202 > /* Line 1813 of yacc.c  */
3203 > #line 409 "conf_parser.y"
3204      {
3205                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3206                  }
3207      break;
3208  
3209 <  case 33:
3210 <
3211 < /* Line 1806 of yacc.c  */
3299 < #line 401 "conf_parser.y"
3209 >  case 32:
3210 > /* Line 1813 of yacc.c  */
3211 > #line 413 "conf_parser.y"
3212      {
3213                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3214                  }
3215      break;
3216  
3217 <  case 34:
3218 <
3219 < /* Line 1806 of yacc.c  */
3308 < #line 405 "conf_parser.y"
3217 >  case 33:
3218 > /* Line 1813 of yacc.c  */
3219 > #line 417 "conf_parser.y"
3220      {
3221                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3222                  }
3223      break;
3224  
3225 <  case 35:
3226 <
3227 < /* Line 1806 of yacc.c  */
3317 < #line 410 "conf_parser.y"
3225 >  case 34:
3226 > /* Line 1813 of yacc.c  */
3227 > #line 422 "conf_parser.y"
3228      { (yyval.number) = 0; }
3229      break;
3230  
3231 <  case 37:
3232 <
3233 < /* Line 1806 of yacc.c  */
3324 < #line 411 "conf_parser.y"
3231 >  case 36:
3232 > /* Line 1813 of yacc.c  */
3233 > #line 423 "conf_parser.y"
3234      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3235      break;
3236  
3237 <  case 38:
3238 <
3239 < /* Line 1806 of yacc.c  */
3331 < #line 412 "conf_parser.y"
3237 >  case 37:
3238 > /* Line 1813 of yacc.c  */
3239 > #line 424 "conf_parser.y"
3240      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3241      break;
3242  
3243 <  case 39:
3244 <
3245 < /* Line 1806 of yacc.c  */
3338 < #line 413 "conf_parser.y"
3243 >  case 38:
3244 > /* Line 1813 of yacc.c  */
3245 > #line 425 "conf_parser.y"
3246      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3247      break;
3248  
3249 <  case 40:
3250 <
3251 < /* Line 1806 of yacc.c  */
3345 < #line 414 "conf_parser.y"
3249 >  case 39:
3250 > /* Line 1813 of yacc.c  */
3251 > #line 426 "conf_parser.y"
3252      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3253      break;
3254  
3255 <  case 47:
3256 <
3257 < /* Line 1806 of yacc.c  */
3352 < #line 428 "conf_parser.y"
3255 >  case 46:
3256 > /* Line 1813 of yacc.c  */
3257 > #line 440 "conf_parser.y"
3258      {
3259    if (conf_parser_ctx.pass == 2)
3260      add_conf_module(libio_basename(yylval.string));
3261   }
3262      break;
3263  
3264 <  case 48:
3265 <
3266 < /* Line 1806 of yacc.c  */
3362 < #line 434 "conf_parser.y"
3264 >  case 47:
3265 > /* Line 1813 of yacc.c  */
3266 > #line 446 "conf_parser.y"
3267      {
3268    if (conf_parser_ctx.pass == 2)
3269      mod_add_path(yylval.string);
3270   }
3271      break;
3272  
3273 <  case 72:
3274 <
3275 < /* Line 1806 of yacc.c  */
3372 < #line 459 "conf_parser.y"
3273 >  case 71:
3274 > /* Line 1813 of yacc.c  */
3275 > #line 471 "conf_parser.y"
3276      {
3277   #ifdef HAVE_LIBCRYPTO
3278    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 3378 | Line 3281 | yyreduce:
3281   }
3282      break;
3283  
3284 <  case 73:
3285 <
3286 < /* Line 1806 of yacc.c  */
3384 < #line 465 "conf_parser.y"
3284 >  case 72:
3285 > /* Line 1813 of yacc.c  */
3286 > #line 477 "conf_parser.y"
3287      {
3288   #ifdef HAVE_LIBCRYPTO
3289    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 3390 | Line 3292 | yyreduce:
3292   }
3293      break;
3294  
3295 <  case 76:
3296 <
3297 < /* Line 1806 of yacc.c  */
3396 < #line 474 "conf_parser.y"
3295 >  case 75:
3296 > /* Line 1813 of yacc.c  */
3297 > #line 486 "conf_parser.y"
3298      {
3299   #ifdef HAVE_LIBCRYPTO
3300    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3402 | Line 3303 | yyreduce:
3303   }
3304      break;
3305  
3306 <  case 77:
3307 <
3308 < /* Line 1806 of yacc.c  */
3408 < #line 480 "conf_parser.y"
3306 >  case 76:
3307 > /* Line 1813 of yacc.c  */
3308 > #line 492 "conf_parser.y"
3309      {
3310   #ifdef HAVE_LIBCRYPTO
3311    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3414 | Line 3314 | yyreduce:
3314   }
3315      break;
3316  
3317 <  case 78:
3318 <
3319 < /* Line 1806 of yacc.c  */
3420 < #line 488 "conf_parser.y"
3317 >  case 77:
3318 > /* Line 1813 of yacc.c  */
3319 > #line 500 "conf_parser.y"
3320      {
3321   #ifdef HAVE_LIBCRYPTO
3322    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3457 | Line 3356 | yyreduce:
3356   }
3357      break;
3358  
3359 <  case 79:
3360 <
3361 < /* Line 1806 of yacc.c  */
3463 < #line 527 "conf_parser.y"
3359 >  case 78:
3360 > /* Line 1813 of yacc.c  */
3361 > #line 539 "conf_parser.y"
3362      {
3363   #ifdef HAVE_LIBCRYPTO
3364    if (conf_parser_ctx.pass == 1)
# Line 3479 | Line 3377 | yyreduce:
3377        ServerInfo.rsa_private_key_file = NULL;
3378      }
3379  
3380 <    DupString(ServerInfo.rsa_private_key_file, yylval.string);
3380 >    ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3381  
3382      if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3383      {
# Line 3520 | Line 3418 | yyreduce:
3418   }
3419      break;
3420  
3421 <  case 80:
3422 <
3423 < /* Line 1806 of yacc.c  */
3526 < #line 586 "conf_parser.y"
3421 >  case 79:
3422 > /* Line 1813 of yacc.c  */
3423 > #line 598 "conf_parser.y"
3424      {
3425   /* TBD - XXX: error reporting */
3426   #ifdef HAVE_LIBCRYPTO
# Line 3552 | Line 3449 | yyreduce:
3449   }
3450      break;
3451  
3452 <  case 81:
3453 <
3454 < /* Line 1806 of yacc.c  */
3558 < #line 614 "conf_parser.y"
3452 >  case 80:
3453 > /* Line 1813 of yacc.c  */
3454 > #line 626 "conf_parser.y"
3455      {
3456   #ifdef HAVE_LIBCRYPTO
3457    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3564 | Line 3460 | yyreduce:
3460   }
3461      break;
3462  
3463 <  case 82:
3464 <
3465 < /* Line 1806 of yacc.c  */
3570 < #line 622 "conf_parser.y"
3463 >  case 81:
3464 > /* Line 1813 of yacc.c  */
3465 > #line 634 "conf_parser.y"
3466      {
3467    /* this isn't rehashable */
3468    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
3469    {
3470      if (valid_servname(yylval.string))
3471 <      DupString(ServerInfo.name, yylval.string);
3471 >      ServerInfo.name = xstrdup(yylval.string);
3472      else
3473      {
3474        ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
# Line 3583 | Line 3478 | yyreduce:
3478   }
3479      break;
3480  
3481 <  case 83:
3482 <
3483 < /* Line 1806 of yacc.c  */
3589 < #line 637 "conf_parser.y"
3481 >  case 82:
3482 > /* Line 1813 of yacc.c  */
3483 > #line 649 "conf_parser.y"
3484      {
3485    /* this isn't rehashable */
3486    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
3487    {
3488      if (valid_sid(yylval.string))
3489 <      DupString(ServerInfo.sid, yylval.string);
3489 >      ServerInfo.sid = xstrdup(yylval.string);
3490      else
3491      {
3492        ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
# Line 3602 | Line 3496 | yyreduce:
3496   }
3497      break;
3498  
3499 <  case 84:
3500 <
3501 < /* Line 1806 of yacc.c  */
3608 < #line 652 "conf_parser.y"
3499 >  case 83:
3500 > /* Line 1813 of yacc.c  */
3501 > #line 664 "conf_parser.y"
3502      {
3503    if (conf_parser_ctx.pass == 2)
3504    {
3505      MyFree(ServerInfo.description);
3506 <    DupString(ServerInfo.description,yylval.string);
3506 >    ServerInfo.description = xstrdup(yylval.string);
3507    }
3508   }
3509      break;
3510  
3511 <  case 85:
3512 <
3513 < /* Line 1806 of yacc.c  */
3621 < #line 661 "conf_parser.y"
3511 >  case 84:
3512 > /* Line 1813 of yacc.c  */
3513 > #line 673 "conf_parser.y"
3514      {
3515    if (conf_parser_ctx.pass == 2)
3516    {
# Line 3628 | Line 3520 | yyreduce:
3520        p = '\0';
3521  
3522      MyFree(ServerInfo.network_name);
3523 <    DupString(ServerInfo.network_name, yylval.string);
3523 >    ServerInfo.network_name = xstrdup(yylval.string);
3524    }
3525   }
3526      break;
3527  
3528 <  case 86:
3529 <
3530 < /* Line 1806 of yacc.c  */
3639 < #line 675 "conf_parser.y"
3528 >  case 85:
3529 > /* Line 1813 of yacc.c  */
3530 > #line 687 "conf_parser.y"
3531      {
3532    if (conf_parser_ctx.pass == 2)
3533    {
3534      MyFree(ServerInfo.network_desc);
3535 <    DupString(ServerInfo.network_desc, yylval.string);
3535 >    ServerInfo.network_desc = xstrdup(yylval.string);
3536    }
3537   }
3538      break;
3539  
3540 <  case 87:
3541 <
3542 < /* Line 1806 of yacc.c  */
3652 < #line 684 "conf_parser.y"
3540 >  case 86:
3541 > /* Line 1813 of yacc.c  */
3542 > #line 696 "conf_parser.y"
3543      {
3544    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3545    {
# Line 3678 | Line 3568 | yyreduce:
3568   }
3569      break;
3570  
3571 <  case 88:
3572 <
3573 < /* Line 1806 of yacc.c  */
3684 < #line 712 "conf_parser.y"
3571 >  case 87:
3572 > /* Line 1813 of yacc.c  */
3573 > #line 724 "conf_parser.y"
3574      {
3575   #ifdef IPV6
3576    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3712 | Line 3601 | yyreduce:
3601   }
3602      break;
3603  
3604 <  case 89:
3605 <
3606 < /* Line 1806 of yacc.c  */
3718 < #line 742 "conf_parser.y"
3604 >  case 88:
3605 > /* Line 1813 of yacc.c  */
3606 > #line 754 "conf_parser.y"
3607      {
3608    if (conf_parser_ctx.pass == 2)
3609    {
# Line 3739 | Line 3627 | yyreduce:
3627   }
3628      break;
3629  
3630 <  case 90:
3631 <
3632 < /* Line 1806 of yacc.c  */
3745 < #line 765 "conf_parser.y"
3630 >  case 89:
3631 > /* Line 1813 of yacc.c  */
3632 > #line 777 "conf_parser.y"
3633      {
3634    if (conf_parser_ctx.pass == 2)
3635      ServerInfo.hub = yylval.number;
3636   }
3637      break;
3638  
3639 <  case 98:
3640 <
3641 < /* Line 1806 of yacc.c  */
3755 < #line 780 "conf_parser.y"
3639 >  case 97:
3640 > /* Line 1813 of yacc.c  */
3641 > #line 792 "conf_parser.y"
3642      {
3643    if (conf_parser_ctx.pass == 2)
3644    {
3645      MyFree(AdminInfo.name);
3646 <    DupString(AdminInfo.name, yylval.string);
3646 >    AdminInfo.name = xstrdup(yylval.string);
3647    }
3648   }
3649      break;
3650  
3651 <  case 99:
3652 <
3653 < /* Line 1806 of yacc.c  */
3768 < #line 789 "conf_parser.y"
3651 >  case 98:
3652 > /* Line 1813 of yacc.c  */
3653 > #line 801 "conf_parser.y"
3654      {
3655    if (conf_parser_ctx.pass == 2)
3656    {
3657      MyFree(AdminInfo.email);
3658 <    DupString(AdminInfo.email, yylval.string);
3658 >    AdminInfo.email = xstrdup(yylval.string);
3659    }
3660   }
3661      break;
3662  
3663 <  case 100:
3664 <
3665 < /* Line 1806 of yacc.c  */
3781 < #line 798 "conf_parser.y"
3663 >  case 99:
3664 > /* Line 1813 of yacc.c  */
3665 > #line 810 "conf_parser.y"
3666      {
3667    if (conf_parser_ctx.pass == 2)
3668    {
3669      MyFree(AdminInfo.description);
3670 <    DupString(AdminInfo.description, yylval.string);
3670 >    AdminInfo.description = xstrdup(yylval.string);
3671    }
3672   }
3673      break;
3674  
3675 <  case 107:
3676 <
3677 < /* Line 1806 of yacc.c  */
3794 < #line 816 "conf_parser.y"
3675 >  case 106:
3676 > /* Line 1813 of yacc.c  */
3677 > #line 828 "conf_parser.y"
3678      {
3679    if (conf_parser_ctx.pass == 2)
3680      ConfigLoggingEntry.use_logging = yylval.number;
3681   }
3682      break;
3683  
3684 <  case 108:
3685 <
3686 < /* Line 1806 of yacc.c  */
3804 < #line 822 "conf_parser.y"
3684 >  case 107:
3685 > /* Line 1813 of yacc.c  */
3686 > #line 834 "conf_parser.y"
3687      {
3688    lfile[0] = '\0';
3689    ltype = 0;
# Line 3809 | Line 3691 | yyreduce:
3691   }
3692      break;
3693  
3694 <  case 109:
3695 <
3696 < /* Line 1806 of yacc.c  */
3815 < #line 827 "conf_parser.y"
3694 >  case 108:
3695 > /* Line 1813 of yacc.c  */
3696 > #line 839 "conf_parser.y"
3697      {
3698    if (conf_parser_ctx.pass == 2 && ltype > 0)
3699      log_add_file(ltype, lsize, lfile);
3700   }
3701      break;
3702  
3703 <  case 116:
3704 <
3705 < /* Line 1806 of yacc.c  */
3825 < #line 839 "conf_parser.y"
3703 >  case 115:
3704 > /* Line 1813 of yacc.c  */
3705 > #line 851 "conf_parser.y"
3706      {
3707    strlcpy(lfile, yylval.string, sizeof(lfile));
3708   }
3709      break;
3710  
3711 <  case 117:
3712 <
3713 < /* Line 1806 of yacc.c  */
3834 < #line 844 "conf_parser.y"
3711 >  case 116:
3712 > /* Line 1813 of yacc.c  */
3713 > #line 856 "conf_parser.y"
3714      {
3715    lsize = (yyvsp[(3) - (4)].number);
3716   }
3717      break;
3718  
3719 <  case 118:
3720 <
3721 < /* Line 1806 of yacc.c  */
3843 < #line 847 "conf_parser.y"
3719 >  case 117:
3720 > /* Line 1813 of yacc.c  */
3721 > #line 859 "conf_parser.y"
3722      {
3723    lsize = 0;
3724   }
3725      break;
3726  
3727 <  case 119:
3728 <
3729 < /* Line 1806 of yacc.c  */
3852 < #line 852 "conf_parser.y"
3727 >  case 118:
3728 > /* Line 1813 of yacc.c  */
3729 > #line 864 "conf_parser.y"
3730      {
3731    if (conf_parser_ctx.pass == 2)
3732      ltype = 0;
3733   }
3734      break;
3735  
3736 <  case 123:
3737 <
3738 < /* Line 1806 of yacc.c  */
3862 < #line 859 "conf_parser.y"
3736 >  case 122:
3737 > /* Line 1813 of yacc.c  */
3738 > #line 871 "conf_parser.y"
3739      {
3740    if (conf_parser_ctx.pass == 2)
3741      ltype = LOG_TYPE_USER;
3742   }
3743      break;
3744  
3745 <  case 124:
3746 <
3747 < /* Line 1806 of yacc.c  */
3872 < #line 863 "conf_parser.y"
3745 >  case 123:
3746 > /* Line 1813 of yacc.c  */
3747 > #line 875 "conf_parser.y"
3748      {
3749    if (conf_parser_ctx.pass == 2)
3750      ltype = LOG_TYPE_OPER;
3751   }
3752      break;
3753  
3754 <  case 125:
3755 <
3756 < /* Line 1806 of yacc.c  */
3882 < #line 867 "conf_parser.y"
3754 >  case 124:
3755 > /* Line 1813 of yacc.c  */
3756 > #line 879 "conf_parser.y"
3757      {
3758    if (conf_parser_ctx.pass == 2)
3759      ltype = LOG_TYPE_GLINE;
3760   }
3761      break;
3762  
3763 <  case 126:
3764 <
3765 < /* Line 1806 of yacc.c  */
3892 < #line 871 "conf_parser.y"
3763 >  case 125:
3764 > /* Line 1813 of yacc.c  */
3765 > #line 883 "conf_parser.y"
3766      {
3767    if (conf_parser_ctx.pass == 2)
3768      ltype = LOG_TYPE_DLINE;
3769   }
3770      break;
3771  
3772 <  case 127:
3773 <
3774 < /* Line 1806 of yacc.c  */
3902 < #line 875 "conf_parser.y"
3772 >  case 126:
3773 > /* Line 1813 of yacc.c  */
3774 > #line 887 "conf_parser.y"
3775      {
3776    if (conf_parser_ctx.pass == 2)
3777      ltype = LOG_TYPE_KLINE;
3778   }
3779      break;
3780  
3781 <  case 128:
3782 <
3783 < /* Line 1806 of yacc.c  */
3912 < #line 879 "conf_parser.y"
3781 >  case 127:
3782 > /* Line 1813 of yacc.c  */
3783 > #line 891 "conf_parser.y"
3784      {
3785    if (conf_parser_ctx.pass == 2)
3786      ltype = LOG_TYPE_KILL;
3787   }
3788      break;
3789  
3790 <  case 129:
3791 <
3792 < /* Line 1806 of yacc.c  */
3922 < #line 883 "conf_parser.y"
3790 >  case 128:
3791 > /* Line 1813 of yacc.c  */
3792 > #line 895 "conf_parser.y"
3793      {
3794    if (conf_parser_ctx.pass == 2)
3795      ltype = LOG_TYPE_DEBUG;
3796   }
3797      break;
3798  
3799 <  case 130:
3800 <
3801 < /* Line 1806 of yacc.c  */
3932 < #line 893 "conf_parser.y"
3799 >  case 129:
3800 > /* Line 1813 of yacc.c  */
3801 > #line 905 "conf_parser.y"
3802      {
3803 <  if (conf_parser_ctx.pass == 2)
3935 <  {
3936 <    yy_conf = make_conf_item(OPER_TYPE);
3937 <    yy_aconf = map_to_conf(yy_conf);
3938 <    SetConfEncrypted(yy_aconf); /* Yes, the default is encrypted */
3939 <  }
3940 <  else
3941 <  {
3942 <    MyFree(class_name);
3943 <    class_name = NULL;
3944 <  }
3945 < }
3803 >  if (conf_parser_ctx.pass != 2)
3804      break;
3805  
3806 <  case 131:
3806 >  reset_block_state();
3807 >  block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3808 > }
3809 >    break;
3810  
3811 < /* Line 1806 of yacc.c  */
3812 < #line 906 "conf_parser.y"
3811 >  case 130:
3812 > /* Line 1813 of yacc.c  */
3813 > #line 912 "conf_parser.y"
3814      {
3815 <  if (conf_parser_ctx.pass == 2)
3954 <  {
3955 <    struct CollectItem *yy_tmp;
3956 <    dlink_node *ptr;
3957 <    dlink_node *next_ptr;
3958 <
3959 <    conf_add_class_to_conf(yy_conf, class_name);
3815 >  dlink_node *ptr = NULL;
3816  
3817 <    /* Now, make sure there is a copy of the "base" given oper
3818 <     * block in each of the collected copies
3963 <     */
3964 <
3965 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
3966 <    {
3967 <      struct AccessItem *new_aconf;
3968 <      struct ConfItem *new_conf;
3969 <      yy_tmp = ptr->data;
3817 >  if (conf_parser_ctx.pass != 2)
3818 >    break;
3819  
3820 <      new_conf = make_conf_item(OPER_TYPE);
3821 <      new_aconf = (struct AccessItem *)map_to_conf(new_conf);
3820 >  if (!block_state.name.buf[0])
3821 >    break;
3822 > #ifdef HAVE_LIBCRYPTO
3823 >  if (!(block_state.file.buf[0] ||
3824 >        block_state.pass.buf[0]))
3825 >    break;
3826 > #else
3827 >  if (!block_state.pass.buf[0])
3828 >    break;
3829 > #endif
3830  
3831 <      new_aconf->flags = yy_aconf->flags;
3831 >  DLINK_FOREACH(ptr, block_state.mask.list.head)
3832 >  {
3833 >    struct MaskItem *conf = NULL;
3834 >    struct split_nuh_item nuh;
3835  
3836 <      if (yy_conf->name != NULL)
3837 <        DupString(new_conf->name, yy_conf->name);
3838 <      if (yy_tmp->user != NULL)
3839 <        DupString(new_aconf->user, yy_tmp->user);
3840 <      else
3841 <        DupString(new_aconf->user, "*");
3842 <      if (yy_tmp->host != NULL)
3843 <        DupString(new_aconf->host, yy_tmp->host);
3984 <      else
3985 <        DupString(new_aconf->host, "*");
3836 >    nuh.nuhmask  = ptr->data;
3837 >    nuh.nickptr  = NULL;
3838 >    nuh.userptr  = userbuf;
3839 >    nuh.hostptr  = hostbuf;
3840 >    nuh.nicksize = 0;
3841 >    nuh.usersize = sizeof(userbuf);
3842 >    nuh.hostsize = sizeof(hostbuf);
3843 >    split_nuh(&nuh);
3844  
3845 <      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->addr,
3846 <                                     &new_aconf->bits);
3845 >    conf        = conf_make(CONF_OPER);
3846 >    conf->user  = xstrdup(userbuf);
3847 >    conf->host  = xstrdup(hostbuf);
3848 >
3849 >    if (block_state.pass.buf[0])
3850 >      conf->passwd = xstrdup(block_state.pass.buf);
3851 >
3852 >    conf->flags = block_state.flags.value;
3853 >    conf->modes = block_state.modes.value;
3854 >    conf->port  = block_state.port.value;
3855 >    conf->htype = parse_netmask(conf->host, &conf->addr, &conf->bits);
3856  
3857 <      conf_add_class_to_conf(new_conf, class_name);
3991 <      if (yy_aconf->passwd != NULL)
3992 <        DupString(new_aconf->passwd, yy_aconf->passwd);
3857 >    conf_add_class_to_conf(conf, block_state.class.buf);
3858  
3994      new_aconf->port = yy_aconf->port;
3859   #ifdef HAVE_LIBCRYPTO
3860 <      if (yy_aconf->rsa_public_key_file != NULL)
3861 <      {
3862 <        BIO *file;
3863 <
4000 <        DupString(new_aconf->rsa_public_key_file,
4001 <                  yy_aconf->rsa_public_key_file);
3860 >    if (block_state.file.buf[0])
3861 >    {
3862 >      BIO *file = NULL;
3863 >      RSA *pkey = NULL;
3864  
3865 <        file = BIO_new_file(yy_aconf->rsa_public_key_file, "r");
3866 <        new_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file,
3867 <                                                           NULL, 0, NULL);
3868 <        BIO_set_close(file, BIO_CLOSE);
4007 <        BIO_free(file);
3865 >      if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3866 >      {
3867 >        yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
3868 >        break;
3869        }
4009 #endif
3870  
3871 < #ifdef HAVE_LIBCRYPTO
4012 <      if (yy_tmp->name && (yy_tmp->passwd || yy_aconf->rsa_public_key)
4013 <          && yy_tmp->host)
4014 < #else
4015 <      if (yy_tmp->name && yy_tmp->passwd && yy_tmp->host)
4016 < #endif
3871 >      if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3872        {
3873 <        conf_add_class_to_conf(new_conf, class_name);
3874 <        if (yy_tmp->name != NULL)
4020 <          DupString(new_conf->name, yy_tmp->name);
3873 >        yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3874 >        break;
3875        }
3876  
3877 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
3878 <      free_collect_item(yy_tmp);
3877 >      conf->rsa_public_key = pkey;
3878 >      BIO_set_close(file, BIO_CLOSE);
3879 >      BIO_free(file);
3880      }
3881 <
4027 <    yy_conf = NULL;
4028 <    yy_aconf = NULL;
4029 <
4030 <
4031 <    MyFree(class_name);
4032 <    class_name = NULL;
3881 > #endif /* HAVE_LIBCRYPTO */
3882    }
3883   }
3884      break;
3885  
3886 <  case 143:
3887 <
3888 < /* Line 1806 of yacc.c  */
4040 < #line 996 "conf_parser.y"
3886 >  case 142:
3887 > /* Line 1813 of yacc.c  */
3888 > #line 989 "conf_parser.y"
3889      {
3890    if (conf_parser_ctx.pass == 2)
3891 <  {
4044 <    MyFree(yy_conf->name);
4045 <    DupString(yy_conf->name, yylval.string);
4046 <  }
3891 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3892   }
3893      break;
3894  
3895 <  case 144:
3896 <
3897 < /* Line 1806 of yacc.c  */
4053 < #line 1005 "conf_parser.y"
3895 >  case 143:
3896 > /* Line 1813 of yacc.c  */
3897 > #line 995 "conf_parser.y"
3898      {
3899    if (conf_parser_ctx.pass == 2)
3900 <  {
3901 <    struct split_nuh_item nuh;
3902 <
4059 <    nuh.nuhmask  = yylval.string;
4060 <    nuh.nickptr  = NULL;
4061 <    nuh.userptr  = userbuf;
4062 <    nuh.hostptr  = hostbuf;
4063 <
4064 <    nuh.nicksize = 0;
4065 <    nuh.usersize = sizeof(userbuf);
4066 <    nuh.hostsize = sizeof(hostbuf);
4067 <
4068 <    split_nuh(&nuh);
4069 <
4070 <    if (yy_aconf->user == NULL)
4071 <    {
4072 <      DupString(yy_aconf->user, userbuf);
4073 <      DupString(yy_aconf->host, hostbuf);
3900 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3901 > }
3902 >    break;
3903  
3904 <      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->addr,
3905 <                                    &yy_aconf->bits);
3906 <    }
4078 <    else
3904 >  case 144:
3905 > /* Line 1813 of yacc.c  */
3906 > #line 1001 "conf_parser.y"
3907      {
3908 <      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
3909 <
4082 <      DupString(yy_tmp->user, userbuf);
4083 <      DupString(yy_tmp->host, hostbuf);
4084 <
4085 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
4086 <    }
4087 <  }
3908 >  if (conf_parser_ctx.pass == 2)
3909 >    strlcpy(block_state.pass.buf, yylval.string, sizeof(block_state.pass.buf));
3910   }
3911      break;
3912  
3913    case 145:
3914 <
3915 < /* Line 1806 of yacc.c  */
4094 < #line 1042 "conf_parser.y"
3914 > /* Line 1813 of yacc.c  */
3915 > #line 1007 "conf_parser.y"
3916      {
3917    if (conf_parser_ctx.pass == 2)
3918    {
3919 <    if (yy_aconf->passwd != NULL)
3920 <      memset(yy_aconf->passwd, 0, strlen(yy_aconf->passwd));
3921 <
3922 <    MyFree(yy_aconf->passwd);
4102 <    DupString(yy_aconf->passwd, yylval.string);
3919 >    if (yylval.number)
3920 >      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3921 >    else
3922 >      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3923    }
3924   }
3925      break;
3926  
3927    case 146:
3928 <
3929 < /* Line 1806 of yacc.c  */
4110 < #line 1054 "conf_parser.y"
3928 > /* Line 1813 of yacc.c  */
3929 > #line 1018 "conf_parser.y"
3930      {
3931    if (conf_parser_ctx.pass == 2)
3932 <  {
4114 <    if (yylval.number)
4115 <      SetConfEncrypted(yy_aconf);
4116 <    else
4117 <      ClearConfEncrypted(yy_aconf);
4118 <  }
3932 >    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3933   }
3934      break;
3935  
3936    case 147:
3937 <
3938 < /* Line 1806 of yacc.c  */
4125 < #line 1065 "conf_parser.y"
3937 > /* Line 1813 of yacc.c  */
3938 > #line 1024 "conf_parser.y"
3939      {
4127 #ifdef HAVE_LIBCRYPTO
3940    if (conf_parser_ctx.pass == 2)
3941 <  {
4130 <    BIO *file;
4131 <
4132 <    if (yy_aconf->rsa_public_key != NULL)
4133 <    {
4134 <      RSA_free(yy_aconf->rsa_public_key);
4135 <      yy_aconf->rsa_public_key = NULL;
4136 <    }
4137 <
4138 <    if (yy_aconf->rsa_public_key_file != NULL)
4139 <    {
4140 <      MyFree(yy_aconf->rsa_public_key_file);
4141 <      yy_aconf->rsa_public_key_file = NULL;
4142 <    }
4143 <
4144 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
4145 <    file = BIO_new_file(yylval.string, "r");
4146 <
4147 <    if (file == NULL)
4148 <    {
4149 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
4150 <      break;
4151 <    }
4152 <
4153 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
4154 <
4155 <    if (yy_aconf->rsa_public_key == NULL)
4156 <    {
4157 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
4158 <      break;
4159 <    }
4160 <
4161 <    BIO_set_close(file, BIO_CLOSE);
4162 <    BIO_free(file);
4163 <  }
4164 < #endif /* HAVE_LIBCRYPTO */
3941 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3942   }
3943      break;
3944  
3945    case 148:
3946 <
3947 < /* Line 1806 of yacc.c  */
4171 < #line 1107 "conf_parser.y"
3946 > /* Line 1813 of yacc.c  */
3947 > #line 1030 "conf_parser.y"
3948      {
3949    if (conf_parser_ctx.pass == 2)
3950 <  {
4175 <    MyFree(class_name);
4176 <    DupString(class_name, yylval.string);
4177 <  }
3950 >    block_state.modes.value = 0;
3951   }
3952      break;
3953  
3954 <  case 149:
3955 <
3956 < /* Line 1806 of yacc.c  */
4184 < #line 1116 "conf_parser.y"
3954 >  case 152:
3955 > /* Line 1813 of yacc.c  */
3956 > #line 1037 "conf_parser.y"
3957      {
3958    if (conf_parser_ctx.pass == 2)
3959 <    yy_aconf->modes = 0;
3959 >    block_state.modes.value |= UMODE_BOTS;
3960   }
3961      break;
3962  
3963    case 153:
3964 <
3965 < /* Line 1806 of yacc.c  */
4194 < #line 1123 "conf_parser.y"
3964 > /* Line 1813 of yacc.c  */
3965 > #line 1041 "conf_parser.y"
3966      {
3967    if (conf_parser_ctx.pass == 2)
3968 <    yy_aconf->modes |= UMODE_BOTS;
3968 >    block_state.modes.value |= UMODE_CCONN;
3969   }
3970      break;
3971  
3972    case 154:
3973 <
3974 < /* Line 1806 of yacc.c  */
4204 < #line 1127 "conf_parser.y"
3973 > /* Line 1813 of yacc.c  */
3974 > #line 1045 "conf_parser.y"
3975      {
3976    if (conf_parser_ctx.pass == 2)
3977 <    yy_aconf->modes |= UMODE_CCONN;
3977 >    block_state.modes.value |= UMODE_CCONN_FULL;
3978   }
3979      break;
3980  
3981    case 155:
3982 <
3983 < /* Line 1806 of yacc.c  */
4214 < #line 1131 "conf_parser.y"
3982 > /* Line 1813 of yacc.c  */
3983 > #line 1049 "conf_parser.y"
3984      {
3985    if (conf_parser_ctx.pass == 2)
3986 <    yy_aconf->modes |= UMODE_CCONN_FULL;
3986 >    block_state.modes.value |= UMODE_DEAF;
3987   }
3988      break;
3989  
3990    case 156:
3991 <
3992 < /* Line 1806 of yacc.c  */
4224 < #line 1135 "conf_parser.y"
3991 > /* Line 1813 of yacc.c  */
3992 > #line 1053 "conf_parser.y"
3993      {
3994    if (conf_parser_ctx.pass == 2)
3995 <    yy_aconf->modes |= UMODE_DEAF;
3995 >    block_state.modes.value |= UMODE_DEBUG;
3996   }
3997      break;
3998  
3999    case 157:
4000 <
4001 < /* Line 1806 of yacc.c  */
4234 < #line 1139 "conf_parser.y"
4000 > /* Line 1813 of yacc.c  */
4001 > #line 1057 "conf_parser.y"
4002      {
4003    if (conf_parser_ctx.pass == 2)
4004 <    yy_aconf->modes |= UMODE_DEBUG;
4004 >    block_state.modes.value |= UMODE_FULL;
4005   }
4006      break;
4007  
4008    case 158:
4009 <
4010 < /* Line 1806 of yacc.c  */
4244 < #line 1143 "conf_parser.y"
4009 > /* Line 1813 of yacc.c  */
4010 > #line 1061 "conf_parser.y"
4011      {
4012    if (conf_parser_ctx.pass == 2)
4013 <    yy_aconf->modes |= UMODE_FULL;
4013 >    block_state.modes.value |= UMODE_HIDDEN;
4014   }
4015      break;
4016  
4017    case 159:
4018 <
4019 < /* Line 1806 of yacc.c  */
4254 < #line 1147 "conf_parser.y"
4018 > /* Line 1813 of yacc.c  */
4019 > #line 1065 "conf_parser.y"
4020      {
4021    if (conf_parser_ctx.pass == 2)
4022 <    yy_aconf->modes |= UMODE_HIDDEN;
4022 >    block_state.modes.value |= UMODE_SKILL;
4023   }
4024      break;
4025  
4026    case 160:
4027 <
4028 < /* Line 1806 of yacc.c  */
4264 < #line 1151 "conf_parser.y"
4027 > /* Line 1813 of yacc.c  */
4028 > #line 1069 "conf_parser.y"
4029      {
4030    if (conf_parser_ctx.pass == 2)
4031 <    yy_aconf->modes |= UMODE_SKILL;
4031 >    block_state.modes.value |= UMODE_NCHANGE;
4032   }
4033      break;
4034  
4035    case 161:
4036 <
4037 < /* Line 1806 of yacc.c  */
4274 < #line 1155 "conf_parser.y"
4036 > /* Line 1813 of yacc.c  */
4037 > #line 1073 "conf_parser.y"
4038      {
4039    if (conf_parser_ctx.pass == 2)
4040 <    yy_aconf->modes |= UMODE_NCHANGE;
4040 >    block_state.modes.value |= UMODE_REJ;
4041   }
4042      break;
4043  
4044    case 162:
4045 <
4046 < /* Line 1806 of yacc.c  */
4284 < #line 1159 "conf_parser.y"
4045 > /* Line 1813 of yacc.c  */
4046 > #line 1077 "conf_parser.y"
4047      {
4048    if (conf_parser_ctx.pass == 2)
4049 <    yy_aconf->modes |= UMODE_REJ;
4049 >    block_state.modes.value |= UMODE_UNAUTH;
4050   }
4051      break;
4052  
4053    case 163:
4054 <
4055 < /* Line 1806 of yacc.c  */
4294 < #line 1163 "conf_parser.y"
4054 > /* Line 1813 of yacc.c  */
4055 > #line 1081 "conf_parser.y"
4056      {
4057    if (conf_parser_ctx.pass == 2)
4058 <    yy_aconf->modes |= UMODE_UNAUTH;
4058 >    block_state.modes.value |= UMODE_SPY;
4059   }
4060      break;
4061  
4062    case 164:
4063 <
4064 < /* Line 1806 of yacc.c  */
4304 < #line 1167 "conf_parser.y"
4063 > /* Line 1813 of yacc.c  */
4064 > #line 1085 "conf_parser.y"
4065      {
4066    if (conf_parser_ctx.pass == 2)
4067 <    yy_aconf->modes |= UMODE_SPY;
4067 >    block_state.modes.value |= UMODE_EXTERNAL;
4068   }
4069      break;
4070  
4071    case 165:
4072 <
4073 < /* Line 1806 of yacc.c  */
4314 < #line 1171 "conf_parser.y"
4072 > /* Line 1813 of yacc.c  */
4073 > #line 1089 "conf_parser.y"
4074      {
4075    if (conf_parser_ctx.pass == 2)
4076 <    yy_aconf->modes |= UMODE_EXTERNAL;
4076 >    block_state.modes.value |= UMODE_OPERWALL;
4077   }
4078      break;
4079  
4080    case 166:
4081 <
4082 < /* Line 1806 of yacc.c  */
4324 < #line 1175 "conf_parser.y"
4081 > /* Line 1813 of yacc.c  */
4082 > #line 1093 "conf_parser.y"
4083      {
4084    if (conf_parser_ctx.pass == 2)
4085 <    yy_aconf->modes |= UMODE_OPERWALL;
4085 >    block_state.modes.value |= UMODE_SERVNOTICE;
4086   }
4087      break;
4088  
4089    case 167:
4090 <
4091 < /* Line 1806 of yacc.c  */
4334 < #line 1179 "conf_parser.y"
4090 > /* Line 1813 of yacc.c  */
4091 > #line 1097 "conf_parser.y"
4092      {
4093    if (conf_parser_ctx.pass == 2)
4094 <    yy_aconf->modes |= UMODE_SERVNOTICE;
4094 >    block_state.modes.value |= UMODE_INVISIBLE;
4095   }
4096      break;
4097  
4098    case 168:
4099 <
4100 < /* Line 1806 of yacc.c  */
4344 < #line 1183 "conf_parser.y"
4099 > /* Line 1813 of yacc.c  */
4100 > #line 1101 "conf_parser.y"
4101      {
4102    if (conf_parser_ctx.pass == 2)
4103 <    yy_aconf->modes |= UMODE_INVISIBLE;
4103 >    block_state.modes.value |= UMODE_WALLOP;
4104   }
4105      break;
4106  
4107    case 169:
4108 <
4109 < /* Line 1806 of yacc.c  */
4354 < #line 1187 "conf_parser.y"
4108 > /* Line 1813 of yacc.c  */
4109 > #line 1105 "conf_parser.y"
4110      {
4111    if (conf_parser_ctx.pass == 2)
4112 <    yy_aconf->modes |= UMODE_WALLOP;
4112 >    block_state.modes.value |= UMODE_SOFTCALLERID;
4113   }
4114      break;
4115  
4116    case 170:
4117 <
4118 < /* Line 1806 of yacc.c  */
4364 < #line 1191 "conf_parser.y"
4117 > /* Line 1813 of yacc.c  */
4118 > #line 1109 "conf_parser.y"
4119      {
4120    if (conf_parser_ctx.pass == 2)
4121 <    yy_aconf->modes |= UMODE_SOFTCALLERID;
4121 >    block_state.modes.value |= UMODE_CALLERID;
4122   }
4123      break;
4124  
4125    case 171:
4126 <
4127 < /* Line 1806 of yacc.c  */
4374 < #line 1195 "conf_parser.y"
4126 > /* Line 1813 of yacc.c  */
4127 > #line 1113 "conf_parser.y"
4128      {
4129    if (conf_parser_ctx.pass == 2)
4130 <    yy_aconf->modes |= UMODE_CALLERID;
4130 >    block_state.modes.value |= UMODE_LOCOPS;
4131   }
4132      break;
4133  
4134    case 172:
4135 <
4136 < /* Line 1806 of yacc.c  */
4384 < #line 1199 "conf_parser.y"
4135 > /* Line 1813 of yacc.c  */
4136 > #line 1119 "conf_parser.y"
4137      {
4138    if (conf_parser_ctx.pass == 2)
4139 <    yy_aconf->modes |= UMODE_LOCOPS;
4139 >    block_state.port.value = 0;
4140   }
4141      break;
4142  
4143 <  case 173:
4144 <
4145 < /* Line 1806 of yacc.c  */
4394 < #line 1205 "conf_parser.y"
4143 >  case 176:
4144 > /* Line 1813 of yacc.c  */
4145 > #line 1126 "conf_parser.y"
4146      {
4147    if (conf_parser_ctx.pass == 2)
4148 <    yy_aconf->port = 0;
4148 >    block_state.port.value |= OPER_FLAG_GLOBAL_KILL;
4149   }
4150      break;
4151  
4152    case 177:
4153 <
4154 < /* Line 1806 of yacc.c  */
4404 < #line 1212 "conf_parser.y"
4153 > /* Line 1813 of yacc.c  */
4154 > #line 1130 "conf_parser.y"
4155      {
4156    if (conf_parser_ctx.pass == 2)
4157 <    yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4157 >    block_state.port.value |= OPER_FLAG_REMOTE;
4158   }
4159      break;
4160  
4161    case 178:
4162 <
4163 < /* Line 1806 of yacc.c  */
4414 < #line 1216 "conf_parser.y"
4162 > /* Line 1813 of yacc.c  */
4163 > #line 1134 "conf_parser.y"
4164      {
4165    if (conf_parser_ctx.pass == 2)
4166 <    yy_aconf->port |= OPER_FLAG_REMOTE;
4166 >    block_state.port.value |= OPER_FLAG_K;
4167   }
4168      break;
4169  
4170    case 179:
4171 <
4172 < /* Line 1806 of yacc.c  */
4424 < #line 1220 "conf_parser.y"
4171 > /* Line 1813 of yacc.c  */
4172 > #line 1138 "conf_parser.y"
4173      {
4174    if (conf_parser_ctx.pass == 2)
4175 <    yy_aconf->port |= OPER_FLAG_K;
4175 >    block_state.port.value |= OPER_FLAG_UNKLINE;
4176   }
4177      break;
4178  
4179    case 180:
4180 <
4181 < /* Line 1806 of yacc.c  */
4434 < #line 1224 "conf_parser.y"
4180 > /* Line 1813 of yacc.c  */
4181 > #line 1142 "conf_parser.y"
4182      {
4183    if (conf_parser_ctx.pass == 2)
4184 <    yy_aconf->port |= OPER_FLAG_UNKLINE;
4184 >    block_state.port.value |= OPER_FLAG_DLINE;
4185   }
4186      break;
4187  
4188    case 181:
4189 <
4190 < /* Line 1806 of yacc.c  */
4444 < #line 1228 "conf_parser.y"
4189 > /* Line 1813 of yacc.c  */
4190 > #line 1146 "conf_parser.y"
4191      {
4192    if (conf_parser_ctx.pass == 2)
4193 <    yy_aconf->port |= OPER_FLAG_DLINE;
4193 >    block_state.port.value |= OPER_FLAG_UNDLINE;
4194   }
4195      break;
4196  
4197    case 182:
4198 <
4199 < /* Line 1806 of yacc.c  */
4454 < #line 1232 "conf_parser.y"
4198 > /* Line 1813 of yacc.c  */
4199 > #line 1150 "conf_parser.y"
4200      {
4201    if (conf_parser_ctx.pass == 2)
4202 <    yy_aconf->port |= OPER_FLAG_UNDLINE;
4202 >    block_state.port.value |= OPER_FLAG_X;
4203   }
4204      break;
4205  
4206    case 183:
4207 <
4208 < /* Line 1806 of yacc.c  */
4464 < #line 1236 "conf_parser.y"
4207 > /* Line 1813 of yacc.c  */
4208 > #line 1154 "conf_parser.y"
4209      {
4210    if (conf_parser_ctx.pass == 2)
4211 <    yy_aconf->port |= OPER_FLAG_X;
4211 >    block_state.port.value |= OPER_FLAG_GLINE;
4212   }
4213      break;
4214  
4215    case 184:
4216 <
4217 < /* Line 1806 of yacc.c  */
4474 < #line 1240 "conf_parser.y"
4216 > /* Line 1813 of yacc.c  */
4217 > #line 1158 "conf_parser.y"
4218      {
4219    if (conf_parser_ctx.pass == 2)
4220 <    yy_aconf->port |= OPER_FLAG_GLINE;
4220 >    block_state.port.value |= OPER_FLAG_DIE;
4221   }
4222      break;
4223  
4224    case 185:
4225 <
4226 < /* Line 1806 of yacc.c  */
4484 < #line 1244 "conf_parser.y"
4225 > /* Line 1813 of yacc.c  */
4226 > #line 1162 "conf_parser.y"
4227      {
4228    if (conf_parser_ctx.pass == 2)
4229 <    yy_aconf->port |= OPER_FLAG_DIE;
4229 >    block_state.port.value |= OPER_FLAG_RESTART;
4230   }
4231      break;
4232  
4233    case 186:
4234 <
4235 < /* Line 1806 of yacc.c  */
4494 < #line 1248 "conf_parser.y"
4234 > /* Line 1813 of yacc.c  */
4235 > #line 1166 "conf_parser.y"
4236      {
4237    if (conf_parser_ctx.pass == 2)
4238 <    yy_aconf->port |= OPER_FLAG_RESTART;
4238 >    block_state.port.value |= OPER_FLAG_REHASH;
4239   }
4240      break;
4241  
4242    case 187:
4243 <
4244 < /* Line 1806 of yacc.c  */
4504 < #line 1252 "conf_parser.y"
4243 > /* Line 1813 of yacc.c  */
4244 > #line 1170 "conf_parser.y"
4245      {
4246    if (conf_parser_ctx.pass == 2)
4247 <    yy_aconf->port |= OPER_FLAG_REHASH;
4247 >    block_state.port.value |= OPER_FLAG_ADMIN;
4248   }
4249      break;
4250  
4251    case 188:
4252 <
4253 < /* Line 1806 of yacc.c  */
4514 < #line 1256 "conf_parser.y"
4252 > /* Line 1813 of yacc.c  */
4253 > #line 1174 "conf_parser.y"
4254      {
4255    if (conf_parser_ctx.pass == 2)
4256 <    yy_aconf->port |= OPER_FLAG_ADMIN;
4256 >    block_state.port.value |= OPER_FLAG_N;
4257   }
4258      break;
4259  
4260    case 189:
4261 <
4262 < /* Line 1806 of yacc.c  */
4524 < #line 1260 "conf_parser.y"
4261 > /* Line 1813 of yacc.c  */
4262 > #line 1178 "conf_parser.y"
4263      {
4264    if (conf_parser_ctx.pass == 2)
4265 <    yy_aconf->port |= OPER_FLAG_N;
4265 >    block_state.port.value |= OPER_FLAG_OPERWALL;
4266   }
4267      break;
4268  
4269    case 190:
4270 <
4271 < /* Line 1806 of yacc.c  */
4534 < #line 1264 "conf_parser.y"
4270 > /* Line 1813 of yacc.c  */
4271 > #line 1182 "conf_parser.y"
4272      {
4273    if (conf_parser_ctx.pass == 2)
4274 <    yy_aconf->port |= OPER_FLAG_OPERWALL;
4274 >    block_state.port.value |= OPER_FLAG_GLOBOPS;
4275   }
4276      break;
4277  
4278    case 191:
4279 <
4280 < /* Line 1806 of yacc.c  */
4544 < #line 1268 "conf_parser.y"
4279 > /* Line 1813 of yacc.c  */
4280 > #line 1186 "conf_parser.y"
4281      {
4282    if (conf_parser_ctx.pass == 2)
4283 <    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4283 >    block_state.port.value |= OPER_FLAG_OPER_SPY;
4284   }
4285      break;
4286  
4287    case 192:
4288 <
4289 < /* Line 1806 of yacc.c  */
4554 < #line 1272 "conf_parser.y"
4288 > /* Line 1813 of yacc.c  */
4289 > #line 1190 "conf_parser.y"
4290      {
4291    if (conf_parser_ctx.pass == 2)
4292 <    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4292 >    block_state.port.value |= OPER_FLAG_REMOTEBAN;
4293   }
4294      break;
4295  
4296    case 193:
4297 <
4298 < /* Line 1806 of yacc.c  */
4564 < #line 1276 "conf_parser.y"
4297 > /* Line 1813 of yacc.c  */
4298 > #line 1194 "conf_parser.y"
4299      {
4300    if (conf_parser_ctx.pass == 2)
4301 <    yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4301 >    block_state.port.value |= OPER_FLAG_SET;
4302   }
4303      break;
4304  
4305    case 194:
4306 <
4307 < /* Line 1806 of yacc.c  */
4574 < #line 1280 "conf_parser.y"
4306 > /* Line 1813 of yacc.c  */
4307 > #line 1198 "conf_parser.y"
4308      {
4309    if (conf_parser_ctx.pass == 2)
4310 <    yy_aconf->port |= OPER_FLAG_MODULE;
4310 >    block_state.port.value |= OPER_FLAG_MODULE;
4311   }
4312      break;
4313  
4314    case 195:
4315 <
4316 < /* Line 1806 of yacc.c  */
4584 < #line 1290 "conf_parser.y"
4315 > /* Line 1813 of yacc.c  */
4316 > #line 1208 "conf_parser.y"
4317      {
4318    if (conf_parser_ctx.pass == 1)
4319    {
4320 <    yy_conf = make_conf_item(CLASS_TYPE);
4589 <    yy_class = map_to_conf(yy_conf);
4320 >    yy_class = class_make();
4321    }
4322   }
4323      break;
4324  
4325    case 196:
4326 <
4327 < /* Line 1806 of yacc.c  */
4597 < #line 1297 "conf_parser.y"
4326 > /* Line 1813 of yacc.c  */
4327 > #line 1214 "conf_parser.y"
4328      {
4329    if (conf_parser_ctx.pass == 1)
4330    {
4601    struct ConfItem *cconf = NULL;
4331      struct ClassItem *class = NULL;
4332  
4333      if (yy_class_name == NULL)
4334 <      delete_conf_item(yy_conf);
4334 >      class_free(yy_class);
4335      else
4336      {
4337 <      cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL);
4337 >      class = class_find(yy_class_name, 0);
4338  
4339 <      if (cconf != NULL)                /* The class existed already */
4339 >      if (class != NULL)                /* The class existed already */
4340        {
4341          int user_count = 0;
4342  
4343 <        rebuild_cidr_class(cconf, yy_class);
4615 <
4616 <        class = map_to_conf(cconf);
4343 >        rebuild_cidr_class(class, yy_class);
4344  
4345 <        user_count = class->curr_user_count;
4345 >        user_count = class->ref_count;
4346          memcpy(class, yy_class, sizeof(*class));
4347 <        class->curr_user_count = user_count;
4347 >        class->ref_count = user_count;
4348          class->active = 1;
4349  
4350 <        delete_conf_item(yy_conf);
4350 >        class_free(yy_class);
4351  
4352 <        MyFree(cconf->name);            /* Allows case change of class name */
4353 <        cconf->name = yy_class_name;
4352 >        MyFree(class->name);            /* Allows case change of class name */
4353 >        class->name = yy_class_name;
4354        }
4355        else      /* Brand new class */
4356        {
4357 <        MyFree(yy_conf->name);          /* just in case it was allocated */
4358 <        yy_conf->name = yy_class_name;
4357 >        MyFree(yy_class->name);          /* just in case it was allocated */
4358 >        yy_class->name = yy_class_name;
4359          yy_class->active = 1;
4360        }
4361      }
# Line 4639 | Line 4366 | yyreduce:
4366      break;
4367  
4368    case 213:
4369 <
4370 < /* Line 1806 of yacc.c  */
4644 < #line 1355 "conf_parser.y"
4369 > /* Line 1813 of yacc.c  */
4370 > #line 1268 "conf_parser.y"
4371      {
4372    if (conf_parser_ctx.pass == 1)
4373    {
4374      MyFree(yy_class_name);
4375 <    DupString(yy_class_name, yylval.string);
4375 >    yy_class_name = xstrdup(yylval.string);
4376    }
4377   }
4378      break;
4379  
4380    case 214:
4381 <
4382 < /* Line 1806 of yacc.c  */
4657 < #line 1364 "conf_parser.y"
4381 > /* Line 1813 of yacc.c  */
4382 > #line 1277 "conf_parser.y"
4383      {
4384    if (conf_parser_ctx.pass == 1)
4385      yy_class->ping_freq = (yyvsp[(3) - (4)].number);
# Line 4662 | Line 4387 | yyreduce:
4387      break;
4388  
4389    case 215:
4390 <
4391 < /* Line 1806 of yacc.c  */
4667 < #line 1370 "conf_parser.y"
4390 > /* Line 1813 of yacc.c  */
4391 > #line 1283 "conf_parser.y"
4392      {
4393    if (conf_parser_ctx.pass == 1)
4394 <    yy_class->ping_warning = (yyvsp[(3) - (4)].number);
4394 >    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4395   }
4396      break;
4397  
4398    case 216:
4399 <
4400 < /* Line 1806 of yacc.c  */
4677 < #line 1376 "conf_parser.y"
4399 > /* Line 1813 of yacc.c  */
4400 > #line 1289 "conf_parser.y"
4401      {
4402    if (conf_parser_ctx.pass == 1)
4403 <    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4403 >    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4404   }
4405      break;
4406  
4407    case 217:
4408 <
4409 < /* Line 1806 of yacc.c  */
4687 < #line 1382 "conf_parser.y"
4408 > /* Line 1813 of yacc.c  */
4409 > #line 1295 "conf_parser.y"
4410      {
4411    if (conf_parser_ctx.pass == 1)
4412 <    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4412 >    yy_class->max_total = (yyvsp[(3) - (4)].number);
4413   }
4414      break;
4415  
4416    case 218:
4417 <
4418 < /* Line 1806 of yacc.c  */
4697 < #line 1388 "conf_parser.y"
4417 > /* Line 1813 of yacc.c  */
4418 > #line 1301 "conf_parser.y"
4419      {
4420    if (conf_parser_ctx.pass == 1)
4421 <    yy_class->max_total = (yyvsp[(3) - (4)].number);
4421 >    yy_class->max_global = (yyvsp[(3) - (4)].number);
4422   }
4423      break;
4424  
4425    case 219:
4426 <
4427 < /* Line 1806 of yacc.c  */
4707 < #line 1394 "conf_parser.y"
4426 > /* Line 1813 of yacc.c  */
4427 > #line 1307 "conf_parser.y"
4428      {
4429    if (conf_parser_ctx.pass == 1)
4430 <    yy_class->max_global = (yyvsp[(3) - (4)].number);
4430 >    yy_class->max_local = (yyvsp[(3) - (4)].number);
4431   }
4432      break;
4433  
4434    case 220:
4435 <
4436 < /* Line 1806 of yacc.c  */
4717 < #line 1400 "conf_parser.y"
4435 > /* Line 1813 of yacc.c  */
4436 > #line 1313 "conf_parser.y"
4437      {
4438    if (conf_parser_ctx.pass == 1)
4439 <    yy_class->max_local = (yyvsp[(3) - (4)].number);
4439 >    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4440   }
4441      break;
4442  
4443    case 221:
4444 <
4445 < /* Line 1806 of yacc.c  */
4727 < #line 1406 "conf_parser.y"
4444 > /* Line 1813 of yacc.c  */
4445 > #line 1319 "conf_parser.y"
4446      {
4447    if (conf_parser_ctx.pass == 1)
4448 <    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4448 >    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4449   }
4450      break;
4451  
4452    case 222:
4453 <
4454 < /* Line 1806 of yacc.c  */
4737 < #line 1412 "conf_parser.y"
4453 > /* Line 1813 of yacc.c  */
4454 > #line 1325 "conf_parser.y"
4455      {
4456    if (conf_parser_ctx.pass == 1)
4457 <    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4457 >    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4458 >      yy_class->max_recvq = (yyvsp[(3) - (4)].number);
4459   }
4460      break;
4461  
4462    case 223:
4463 <
4464 < /* Line 1806 of yacc.c  */
4747 < #line 1418 "conf_parser.y"
4463 > /* Line 1813 of yacc.c  */
4464 > #line 1332 "conf_parser.y"
4465      {
4466    if (conf_parser_ctx.pass == 1)
4467      yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
# Line 4752 | Line 4469 | yyreduce:
4469      break;
4470  
4471    case 224:
4472 <
4473 < /* Line 1806 of yacc.c  */
4757 < #line 1424 "conf_parser.y"
4472 > /* Line 1813 of yacc.c  */
4473 > #line 1338 "conf_parser.y"
4474      {
4475    if (conf_parser_ctx.pass == 1)
4476      yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
# Line 4762 | Line 4478 | yyreduce:
4478      break;
4479  
4480    case 225:
4481 <
4482 < /* Line 1806 of yacc.c  */
4767 < #line 1430 "conf_parser.y"
4481 > /* Line 1813 of yacc.c  */
4482 > #line 1344 "conf_parser.y"
4483      {
4484    if (conf_parser_ctx.pass == 1)
4485      yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
# Line 4772 | Line 4487 | yyreduce:
4487      break;
4488  
4489    case 226:
4490 <
4491 < /* Line 1806 of yacc.c  */
4777 < #line 1439 "conf_parser.y"
4490 > /* Line 1813 of yacc.c  */
4491 > #line 1353 "conf_parser.y"
4492      {
4493    if (conf_parser_ctx.pass == 2)
4494 <  {
4781 <    listener_address = NULL;
4782 <    listener_flags = 0;
4783 <  }
4784 < }
4785 <    break;
4786 <
4787 <  case 227:
4788 <
4789 < /* Line 1806 of yacc.c  */
4790 < #line 1446 "conf_parser.y"
4791 <    {
4792 <  if (conf_parser_ctx.pass == 2)
4793 <  {
4794 <    MyFree(listener_address);
4795 <    listener_address = NULL;
4796 <  }
4494 >    reset_block_state();
4495   }
4496      break;
4497  
4498    case 228:
4499 <
4500 < /* Line 1806 of yacc.c  */
4803 < #line 1455 "conf_parser.y"
4499 > /* Line 1813 of yacc.c  */
4500 > #line 1359 "conf_parser.y"
4501      {
4502 <  listener_flags = 0;
4502 >  block_state.flags.value = 0;
4503   }
4504      break;
4505  
4506    case 232:
4507 <
4508 < /* Line 1806 of yacc.c  */
4812 < #line 1461 "conf_parser.y"
4507 > /* Line 1813 of yacc.c  */
4508 > #line 1365 "conf_parser.y"
4509      {
4510    if (conf_parser_ctx.pass == 2)
4511 <    listener_flags |= LISTENER_SSL;
4511 >    block_state.flags.value |= LISTENER_SSL;
4512   }
4513      break;
4514  
4515    case 233:
4516 <
4517 < /* Line 1806 of yacc.c  */
4822 < #line 1465 "conf_parser.y"
4516 > /* Line 1813 of yacc.c  */
4517 > #line 1369 "conf_parser.y"
4518      {
4519    if (conf_parser_ctx.pass == 2)
4520 <    listener_flags |= LISTENER_HIDDEN;
4520 >    block_state.flags.value |=LISTENER_HIDDEN;
4521   }
4522      break;
4523  
4524    case 234:
4525 <
4526 < /* Line 1806 of yacc.c  */
4832 < #line 1469 "conf_parser.y"
4525 > /* Line 1813 of yacc.c  */
4526 > #line 1373 "conf_parser.y"
4527      {
4528    if (conf_parser_ctx.pass == 2)
4529 <    listener_flags |= LISTENER_SERVER;
4529 >   block_state.flags.value |=LISTENER_SERVER;
4530   }
4531      break;
4532  
4533    case 242:
4534 <
4535 < /* Line 1806 of yacc.c  */
4536 < #line 1479 "conf_parser.y"
4843 <    { listener_flags = 0; }
4534 > /* Line 1813 of yacc.c  */
4535 > #line 1381 "conf_parser.y"
4536 >    { block_state.flags.value |= 0; }
4537      break;
4538  
4539    case 246:
4540 <
4541 < /* Line 1806 of yacc.c  */
4849 < #line 1484 "conf_parser.y"
4540 > /* Line 1813 of yacc.c  */
4541 > #line 1386 "conf_parser.y"
4542      {
4543    if (conf_parser_ctx.pass == 2)
4544    {
4545 <    if ((listener_flags & LISTENER_SSL))
4545 >    if (block_state.flags.value & LISTENER_SSL)
4546   #ifdef HAVE_LIBCRYPTO
4547        if (!ServerInfo.server_ctx)
4548   #endif
# Line 4858 | Line 4550 | yyreduce:
4550          yyerror("SSL not available - port closed");
4551          break;
4552        }
4553 <    add_listener((yyvsp[(1) - (1)].number), listener_address, listener_flags);
4553 >    add_listener((yyvsp[(1) - (1)].number), block_state.addr.buf, block_state.flags.value);
4554    }
4555   }
4556      break;
4557  
4558    case 247:
4559 <
4560 < /* Line 1806 of yacc.c  */
4869 < #line 1498 "conf_parser.y"
4559 > /* Line 1813 of yacc.c  */
4560 > #line 1400 "conf_parser.y"
4561      {
4562    if (conf_parser_ctx.pass == 2)
4563    {
4564      int i;
4565  
4566 <    if ((listener_flags & LISTENER_SSL))
4566 >    if (block_state.flags.value & LISTENER_SSL)
4567   #ifdef HAVE_LIBCRYPTO
4568        if (!ServerInfo.server_ctx)
4569   #endif
# Line 4882 | Line 4573 | yyreduce:
4573        }
4574  
4575      for (i = (yyvsp[(1) - (3)].number); i <= (yyvsp[(3) - (3)].number); ++i)
4576 <      add_listener(i, listener_address, listener_flags);
4576 >      add_listener(i, block_state.addr.buf, block_state.flags.value);
4577    }
4578   }
4579      break;
4580  
4581    case 248:
4582 <
4583 < /* Line 1806 of yacc.c  */
4893 < #line 1518 "conf_parser.y"
4582 > /* Line 1813 of yacc.c  */
4583 > #line 1420 "conf_parser.y"
4584      {
4585    if (conf_parser_ctx.pass == 2)
4586 <  {
4897 <    MyFree(listener_address);
4898 <    DupString(listener_address, yylval.string);
4899 <  }
4586 >    strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4587   }
4588      break;
4589  
4590    case 249:
4591 <
4592 < /* Line 1806 of yacc.c  */
4906 < #line 1527 "conf_parser.y"
4591 > /* Line 1813 of yacc.c  */
4592 > #line 1426 "conf_parser.y"
4593      {
4594    if (conf_parser_ctx.pass == 2)
4595 <  {
4910 <    MyFree(listener_address);
4911 <    DupString(listener_address, yylval.string);
4912 <  }
4595 >    strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4596   }
4597      break;
4598  
4599    case 250:
4600 <
4601 < /* Line 1806 of yacc.c  */
4919 < #line 1539 "conf_parser.y"
4600 > /* Line 1813 of yacc.c  */
4601 > #line 1435 "conf_parser.y"
4602      {
4603    if (conf_parser_ctx.pass == 2)
4604 <  {
4923 <    yy_conf = make_conf_item(CLIENT_TYPE);
4924 <    yy_aconf = map_to_conf(yy_conf);
4925 <  }
4926 <  else
4927 <  {
4928 <    MyFree(class_name);
4929 <    class_name = NULL;
4930 <  }
4604 >    reset_block_state();
4605   }
4606      break;
4607  
4608    case 251:
4609 <
4610 < /* Line 1806 of yacc.c  */
4937 < #line 1551 "conf_parser.y"
4938 <    {
4939 <  if (conf_parser_ctx.pass == 2)
4940 <  {
4941 <    struct CollectItem *yy_tmp = NULL;
4942 <    dlink_node *ptr = NULL, *next_ptr = NULL;
4943 <
4944 <    if (yy_aconf->user && yy_aconf->host)
4945 <    {
4946 <      conf_add_class_to_conf(yy_conf, class_name);
4947 <      add_conf_by_address(CONF_CLIENT, yy_aconf);
4948 <    }
4949 <    else
4950 <      delete_conf_item(yy_conf);
4951 <
4952 <    /* copy over settings from first struct */
4953 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
4609 > /* Line 1813 of yacc.c  */
4610 > #line 1439 "conf_parser.y"
4611      {
4612 <      struct AccessItem *new_aconf;
4956 <      struct ConfItem *new_conf;
4957 <
4958 <      new_conf = make_conf_item(CLIENT_TYPE);
4959 <      new_aconf = map_to_conf(new_conf);
4960 <
4961 <      yy_tmp = ptr->data;
4612 >  dlink_node *ptr = NULL;
4613  
4614 <      assert(yy_tmp->user && yy_tmp->host);
4964 <
4965 <      if (yy_aconf->passwd != NULL)
4966 <        DupString(new_aconf->passwd, yy_aconf->passwd);
4967 <      if (yy_conf->name != NULL)
4968 <        DupString(new_conf->name, yy_conf->name);
4969 <      if (yy_aconf->passwd != NULL)
4970 <        DupString(new_aconf->passwd, yy_aconf->passwd);
4971 <
4972 <      new_aconf->flags = yy_aconf->flags;
4973 <      new_aconf->port  = yy_aconf->port;
4974 <
4975 <      DupString(new_aconf->user, yy_tmp->user);
4976 <      collapse(new_aconf->user);
4977 <
4978 <      DupString(new_aconf->host, yy_tmp->host);
4979 <      collapse(new_aconf->host);
4980 <
4981 <      conf_add_class_to_conf(new_conf, class_name);
4982 <      add_conf_by_address(CONF_CLIENT, new_aconf);
4983 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
4984 <      free_collect_item(yy_tmp);
4985 <    }
4986 <
4987 <    MyFree(class_name);
4988 <    class_name = NULL;
4989 <    yy_conf = NULL;
4990 <    yy_aconf = NULL;
4991 <  }
4992 < }
4614 >  if (conf_parser_ctx.pass != 2)
4615      break;
4616  
4617 <  case 263:
4996 <
4997 < /* Line 1806 of yacc.c  */
4998 < #line 1613 "conf_parser.y"
4999 <    {
5000 <  if (conf_parser_ctx.pass == 2)
4617 >  DLINK_FOREACH(ptr, block_state.mask.list.head)
4618    {
4619 <    struct CollectItem *yy_tmp = NULL;
4619 >    struct MaskItem *conf = NULL;
4620      struct split_nuh_item nuh;
4621  
4622 <    nuh.nuhmask  = yylval.string;
4622 >    nuh.nuhmask  = ptr->data;
4623      nuh.nickptr  = NULL;
4624      nuh.userptr  = userbuf;
4625      nuh.hostptr  = hostbuf;
5009
4626      nuh.nicksize = 0;
4627      nuh.usersize = sizeof(userbuf);
4628      nuh.hostsize = sizeof(hostbuf);
5013
4629      split_nuh(&nuh);
4630  
4631 <    if (yy_aconf->user == NULL)
4632 <    {
4633 <      DupString(yy_aconf->user, userbuf);
4634 <      DupString(yy_aconf->host, hostbuf);
4635 <    }
4636 <    else
4637 <    {
4638 <      yy_tmp = MyMalloc(sizeof(struct CollectItem));
4631 >    conf        = conf_make(CONF_CLIENT);
4632 >    conf->user  = xstrdup(collapse(userbuf));
4633 >    conf->host  = xstrdup(collapse(hostbuf));
4634 >
4635 >    if (block_state.pass.buf[0])
4636 >      conf->passwd = xstrdup(block_state.pass.buf);
4637 >    if (block_state.name.buf[0])
4638 >      conf->passwd = xstrdup(block_state.name.buf);
4639  
4640 <      DupString(yy_tmp->user, userbuf);
4641 <      DupString(yy_tmp->host, hostbuf);
4640 >    conf->flags = block_state.flags.value;
4641 >    conf->port  = block_state.port.value;
4642  
4643 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
4644 <    }
4643 >    conf_add_class_to_conf(conf, block_state.class.buf);
4644 >    add_conf_by_address(CONF_CLIENT, conf);
4645    }
4646   }
4647      break;
4648  
4649 <  case 264:
4650 <
4651 < /* Line 1806 of yacc.c  */
5037 < #line 1648 "conf_parser.y"
4649 >  case 263:
4650 > /* Line 1813 of yacc.c  */
4651 > #line 1482 "conf_parser.y"
4652      {
4653    if (conf_parser_ctx.pass == 2)
4654 <  {
4655 <    /* be paranoid */
4656 <    if (yy_aconf->passwd != NULL)
5043 <      memset(yy_aconf->passwd, 0, strlen(yy_aconf->passwd));
4654 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4655 > }
4656 >    break;
4657  
4658 <    MyFree(yy_aconf->passwd);
4659 <    DupString(yy_aconf->passwd, yylval.string);
4660 <  }
4658 >  case 264:
4659 > /* Line 1813 of yacc.c  */
4660 > #line 1488 "conf_parser.y"
4661 >    {
4662 >  if (conf_parser_ctx.pass == 2)
4663 >    strlcpy(block_state.pass.buf, yylval.string, sizeof(block_state.pass.buf));
4664   }
4665      break;
4666  
4667    case 265:
4668 <
4669 < /* Line 1806 of yacc.c  */
5054 < #line 1661 "conf_parser.y"
4668 > /* Line 1813 of yacc.c  */
4669 > #line 1494 "conf_parser.y"
4670      {
4671    if (conf_parser_ctx.pass == 2)
4672 <  {
5058 <    MyFree(class_name);
5059 <    DupString(class_name, yylval.string);
5060 <  }
4672 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4673   }
4674      break;
4675  
4676    case 266:
4677 <
4678 < /* Line 1806 of yacc.c  */
5067 < #line 1670 "conf_parser.y"
4677 > /* Line 1813 of yacc.c  */
4678 > #line 1500 "conf_parser.y"
4679      {
4680    if (conf_parser_ctx.pass == 2)
4681    {
4682      if (yylval.number)
4683 <      SetConfEncrypted(yy_aconf);
4683 >      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
4684      else
4685 <      ClearConfEncrypted(yy_aconf);
4685 >      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4686    }
4687   }
4688      break;
4689  
4690    case 267:
4691 <
4692 < /* Line 1806 of yacc.c  */
5082 < #line 1681 "conf_parser.y"
4691 > /* Line 1813 of yacc.c  */
4692 > #line 1511 "conf_parser.y"
4693      {
4694 +  if (conf_parser_ctx.pass == 2)
4695 +    block_state.flags.value = 0;
4696   }
4697      break;
4698  
4699    case 271:
4700 <
4701 < /* Line 1806 of yacc.c  */
5090 < #line 1686 "conf_parser.y"
4700 > /* Line 1813 of yacc.c  */
4701 > #line 1518 "conf_parser.y"
4702      {
4703    if (conf_parser_ctx.pass == 2)
4704 <    yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
4704 >    block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4705   }
4706      break;
4707  
4708    case 272:
4709 <
4710 < /* Line 1806 of yacc.c  */
5100 < #line 1690 "conf_parser.y"
4709 > /* Line 1813 of yacc.c  */
4710 > #line 1522 "conf_parser.y"
4711      {
4712    if (conf_parser_ctx.pass == 2)
4713 <    yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
4713 >    block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4714   }
4715      break;
4716  
4717    case 273:
4718 <
4719 < /* Line 1806 of yacc.c  */
5110 < #line 1694 "conf_parser.y"
4718 > /* Line 1813 of yacc.c  */
4719 > #line 1526 "conf_parser.y"
4720      {
4721    if (conf_parser_ctx.pass == 2)
4722 <    yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
4722 >    block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4723   }
4724      break;
4725  
4726    case 274:
4727 <
4728 < /* Line 1806 of yacc.c  */
5120 < #line 1698 "conf_parser.y"
4727 > /* Line 1813 of yacc.c  */
4728 > #line 1530 "conf_parser.y"
4729      {
4730    if (conf_parser_ctx.pass == 2)
4731 <    yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
4731 >    block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4732   }
4733      break;
4734  
4735    case 275:
4736 <
4737 < /* Line 1806 of yacc.c  */
5130 < #line 1702 "conf_parser.y"
4736 > /* Line 1813 of yacc.c  */
4737 > #line 1534 "conf_parser.y"
4738      {
4739    if (conf_parser_ctx.pass == 2)
4740 <    yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
4740 >    block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4741   }
4742      break;
4743  
4744    case 276:
4745 <
4746 < /* Line 1806 of yacc.c  */
5140 < #line 1706 "conf_parser.y"
4745 > /* Line 1813 of yacc.c  */
4746 > #line 1538 "conf_parser.y"
4747      {
4748    if (conf_parser_ctx.pass == 2)
4749 <    yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
4749 >    block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4750   }
4751      break;
4752  
4753    case 277:
4754 <
4755 < /* Line 1806 of yacc.c  */
5150 < #line 1710 "conf_parser.y"
4754 > /* Line 1813 of yacc.c  */
4755 > #line 1542 "conf_parser.y"
4756      {
4757    if (conf_parser_ctx.pass == 2)
4758 <    yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
4758 >    block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4759   }
4760      break;
4761  
4762    case 278:
4763 <
4764 < /* Line 1806 of yacc.c  */
5160 < #line 1714 "conf_parser.y"
4763 > /* Line 1813 of yacc.c  */
4764 > #line 1546 "conf_parser.y"
4765      {
4766    if (conf_parser_ctx.pass == 2)
4767 <    yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
4767 >    block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4768   }
4769      break;
4770  
4771    case 279:
4772 <
4773 < /* Line 1806 of yacc.c  */
5170 < #line 1718 "conf_parser.y"
4772 > /* Line 1813 of yacc.c  */
4773 > #line 1550 "conf_parser.y"
4774      {
4775    if (conf_parser_ctx.pass == 2)
4776 <    yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
4776 >    block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4777   }
4778      break;
4779  
4780    case 280:
4781 <
4782 < /* Line 1806 of yacc.c  */
5180 < #line 1725 "conf_parser.y"
4781 > /* Line 1813 of yacc.c  */
4782 > #line 1556 "conf_parser.y"
4783      {
4784 <  if (conf_parser_ctx.pass == 2)
4785 <  {
5184 <    MyFree(yy_conf->name);
4784 >  if (conf_parser_ctx.pass != 2)
4785 >    break;
4786  
4787 <    if (strlen(yylval.string) < HOSTLEN)
4788 <    {    
4789 <      DupString(yy_conf->name, yylval.string);
4790 <      yy_aconf->flags |= CONF_FLAGS_SPOOF_IP;
5190 <    }
5191 <    else
5192 <    {
5193 <      ilog(LOG_TYPE_IRCD, "Spoofs must be less than %d..ignoring it", HOSTLEN);
5194 <      yy_conf->name = NULL;
5195 <    }
4787 >  if (strlen(yylval.string) <= HOSTLEN && valid_hostname(yylval.string))
4788 >  {
4789 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4790 >    block_state.flags.value |= CONF_FLAGS_SPOOF_IP;
4791    }
4792 +  else
4793 +    ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4794   }
4795      break;
4796  
4797    case 281:
4798 <
4799 < /* Line 1806 of yacc.c  */
5203 < #line 1744 "conf_parser.y"
4798 > /* Line 1813 of yacc.c  */
4799 > #line 1570 "conf_parser.y"
4800      {
4801 <  if (conf_parser_ctx.pass == 2)
4802 <  {
4803 <    yy_aconf->flags |= CONF_FLAGS_REDIR;
4804 <    MyFree(yy_conf->name);
4805 <    DupString(yy_conf->name, yylval.string);
5210 <  }
4801 >  if (conf_parser_ctx.pass != 2)
4802 >    break;
4803 >
4804 >  strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4805 >  block_state.flags.value |= CONF_FLAGS_REDIR;
4806   }
4807      break;
4808  
4809    case 282:
4810 <
4811 < /* Line 1806 of yacc.c  */
5217 < #line 1754 "conf_parser.y"
4810 > /* Line 1813 of yacc.c  */
4811 > #line 1579 "conf_parser.y"
4812      {
4813 <  if (conf_parser_ctx.pass == 2)
4814 <  {
4815 <    yy_aconf->flags |= CONF_FLAGS_REDIR;
4816 <    yy_aconf->port = (yyvsp[(3) - (4)].number);
5223 <  }
4813 >  if (conf_parser_ctx.pass != 2)
4814 >    break;
4815 >  block_state.flags.value |= CONF_FLAGS_REDIR;
4816 >  block_state.port.value = (yyvsp[(3) - (4)].number);
4817   }
4818      break;
4819  
4820    case 283:
4821 <
4822 < /* Line 1806 of yacc.c  */
5230 < #line 1767 "conf_parser.y"
4821 > /* Line 1813 of yacc.c  */
4822 > #line 1591 "conf_parser.y"
4823      {
4824    if (conf_parser_ctx.pass == 2)
4825    {
# Line 5238 | Line 4830 | yyreduce:
4830      break;
4831  
4832    case 284:
4833 <
4834 < /* Line 1806 of yacc.c  */
5243 < #line 1774 "conf_parser.y"
4833 > /* Line 1813 of yacc.c  */
4834 > #line 1598 "conf_parser.y"
4835      {
4836    if (conf_parser_ctx.pass == 2)
4837    {
# Line 5251 | Line 4842 | yyreduce:
4842      break;
4843  
4844    case 291:
4845 <
4846 < /* Line 1806 of yacc.c  */
5256 < #line 1786 "conf_parser.y"
4845 > /* Line 1813 of yacc.c  */
4846 > #line 1610 "conf_parser.y"
4847      {
4848    if (conf_parser_ctx.pass == 2)
4849    {
4850      MyFree(resv_reason);
4851 <    DupString(resv_reason, yylval.string);
4851 >    resv_reason = xstrdup(yylval.string);
4852    }
4853   }
4854      break;
4855  
4856    case 292:
4857 <
4858 < /* Line 1806 of yacc.c  */
5269 < #line 1795 "conf_parser.y"
4857 > /* Line 1813 of yacc.c  */
4858 > #line 1619 "conf_parser.y"
4859      {
4860    if (conf_parser_ctx.pass == 2)
4861    {
# Line 5283 | Line 4872 | yyreduce:
4872      break;
4873  
4874    case 293:
4875 <
4876 < /* Line 1806 of yacc.c  */
5288 < #line 1810 "conf_parser.y"
4875 > /* Line 1813 of yacc.c  */
4876 > #line 1634 "conf_parser.y"
4877      {
4878    if (conf_parser_ctx.pass == 2)
4879    {
# Line 5297 | Line 4885 | yyreduce:
4885      break;
4886  
4887    case 299:
4888 <
4889 < /* Line 1806 of yacc.c  */
5302 < #line 1828 "conf_parser.y"
4888 > /* Line 1813 of yacc.c  */
4889 > #line 1652 "conf_parser.y"
4890      {
4891    if (conf_parser_ctx.pass == 2)
4892    {
4893      if (valid_servname(yylval.string))
4894      {
4895 <      yy_conf = make_conf_item(SERVICE_TYPE);
4896 <      DupString(yy_conf->name, yylval.string);
4895 >      yy_conf = conf_make(CONF_SERVICE);
4896 >      yy_conf->name = xstrdup(yylval.string);
4897      }
4898    }
4899   }
4900      break;
4901  
4902    case 300:
4903 <
4904 < /* Line 1806 of yacc.c  */
5318 < #line 1843 "conf_parser.y"
4903 > /* Line 1813 of yacc.c  */
4904 > #line 1667 "conf_parser.y"
4905      {
4906    if (conf_parser_ctx.pass == 2)
4907    {
4908 <    yy_conf = make_conf_item(ULINE_TYPE);
4909 <    yy_match_item = map_to_conf(yy_conf);
5324 <    yy_match_item->action = SHARED_ALL;
4908 >    yy_conf = conf_make(CONF_ULINE);
4909 >    yy_conf->flags = SHARED_ALL;
4910    }
4911   }
4912      break;
4913  
4914    case 301:
4915 <
4916 < /* Line 1806 of yacc.c  */
5332 < #line 1851 "conf_parser.y"
4915 > /* Line 1813 of yacc.c  */
4916 > #line 1674 "conf_parser.y"
4917      {
4918    if (conf_parser_ctx.pass == 2)
4919    {
# Line 5339 | Line 4923 | yyreduce:
4923      break;
4924  
4925    case 308:
4926 <
4927 < /* Line 1806 of yacc.c  */
5344 < #line 1862 "conf_parser.y"
4926 > /* Line 1813 of yacc.c  */
4927 > #line 1685 "conf_parser.y"
4928      {
4929    if (conf_parser_ctx.pass == 2)
4930    {
# Line 5352 | Line 4935 | yyreduce:
4935      break;
4936  
4937    case 309:
4938 <
4939 < /* Line 1806 of yacc.c  */
5357 < #line 1871 "conf_parser.y"
4938 > /* Line 1813 of yacc.c  */
4939 > #line 1694 "conf_parser.y"
4940      {
4941    if (conf_parser_ctx.pass == 2)
4942    {
# Line 5371 | Line 4953 | yyreduce:
4953  
4954      split_nuh(&nuh);
4955  
4956 <    DupString(yy_match_item->user, userbuf);
4957 <    DupString(yy_match_item->host, hostbuf);
4956 >    DupString(yy_conf->user, userbuf);
4957 >    DupString(yy_conf->host, hostbuf);
4958    }
4959   }
4960      break;
4961  
4962    case 310:
4963 <
4964 < /* Line 1806 of yacc.c  */
5383 < #line 1893 "conf_parser.y"
4963 > /* Line 1813 of yacc.c  */
4964 > #line 1716 "conf_parser.y"
4965      {
4966    if (conf_parser_ctx.pass == 2)
4967 <    yy_match_item->action = 0;
4967 >    yy_conf->flags = 0;
4968   }
4969      break;
4970  
4971    case 314:
4972 <
4973 < /* Line 1806 of yacc.c  */
5393 < #line 1900 "conf_parser.y"
4972 > /* Line 1813 of yacc.c  */
4973 > #line 1723 "conf_parser.y"
4974      {
4975    if (conf_parser_ctx.pass == 2)
4976 <    yy_match_item->action |= SHARED_KLINE;
4976 >    yy_conf->flags |= SHARED_KLINE;
4977   }
4978      break;
4979  
4980    case 315:
4981 <
4982 < /* Line 1806 of yacc.c  */
5403 < #line 1904 "conf_parser.y"
4981 > /* Line 1813 of yacc.c  */
4982 > #line 1727 "conf_parser.y"
4983      {
4984    if (conf_parser_ctx.pass == 2)
4985 <    yy_match_item->action |= SHARED_UNKLINE;
4985 >    yy_conf->flags |= SHARED_UNKLINE;
4986   }
4987      break;
4988  
4989    case 316:
4990 <
4991 < /* Line 1806 of yacc.c  */
5413 < #line 1908 "conf_parser.y"
4990 > /* Line 1813 of yacc.c  */
4991 > #line 1731 "conf_parser.y"
4992      {
4993    if (conf_parser_ctx.pass == 2)
4994 <    yy_match_item->action |= SHARED_DLINE;
4994 >    yy_conf->flags |= SHARED_DLINE;
4995   }
4996      break;
4997  
4998    case 317:
4999 <
5000 < /* Line 1806 of yacc.c  */
5423 < #line 1912 "conf_parser.y"
4999 > /* Line 1813 of yacc.c  */
5000 > #line 1735 "conf_parser.y"
5001      {
5002    if (conf_parser_ctx.pass == 2)
5003 <    yy_match_item->action |= SHARED_UNDLINE;
5003 >    yy_conf->flags |= SHARED_UNDLINE;
5004   }
5005      break;
5006  
5007    case 318:
5008 <
5009 < /* Line 1806 of yacc.c  */
5433 < #line 1916 "conf_parser.y"
5008 > /* Line 1813 of yacc.c  */
5009 > #line 1739 "conf_parser.y"
5010      {
5011    if (conf_parser_ctx.pass == 2)
5012 <    yy_match_item->action |= SHARED_XLINE;
5012 >    yy_conf->flags |= SHARED_XLINE;
5013   }
5014      break;
5015  
5016    case 319:
5017 <
5018 < /* Line 1806 of yacc.c  */
5443 < #line 1920 "conf_parser.y"
5017 > /* Line 1813 of yacc.c  */
5018 > #line 1743 "conf_parser.y"
5019      {
5020    if (conf_parser_ctx.pass == 2)
5021 <    yy_match_item->action |= SHARED_UNXLINE;
5021 >    yy_conf->flags |= SHARED_UNXLINE;
5022   }
5023      break;
5024  
5025    case 320:
5026 <
5027 < /* Line 1806 of yacc.c  */
5453 < #line 1924 "conf_parser.y"
5026 > /* Line 1813 of yacc.c  */
5027 > #line 1747 "conf_parser.y"
5028      {
5029    if (conf_parser_ctx.pass == 2)
5030 <    yy_match_item->action |= SHARED_RESV;
5030 >    yy_conf->flags |= SHARED_RESV;
5031   }
5032      break;
5033  
5034    case 321:
5035 <
5036 < /* Line 1806 of yacc.c  */
5463 < #line 1928 "conf_parser.y"
5035 > /* Line 1813 of yacc.c  */
5036 > #line 1751 "conf_parser.y"
5037      {
5038    if (conf_parser_ctx.pass == 2)
5039 <    yy_match_item->action |= SHARED_UNRESV;
5039 >    yy_conf->flags |= SHARED_UNRESV;
5040   }
5041      break;
5042  
5043    case 322:
5044 <
5045 < /* Line 1806 of yacc.c  */
5473 < #line 1932 "conf_parser.y"
5044 > /* Line 1813 of yacc.c  */
5045 > #line 1755 "conf_parser.y"
5046      {
5047    if (conf_parser_ctx.pass == 2)
5048 <    yy_match_item->action |= SHARED_LOCOPS;
5048 >    yy_conf->flags |= SHARED_LOCOPS;
5049   }
5050      break;
5051  
5052    case 323:
5053 <
5054 < /* Line 1806 of yacc.c  */
5483 < #line 1936 "conf_parser.y"
5053 > /* Line 1813 of yacc.c  */
5054 > #line 1759 "conf_parser.y"
5055      {
5056    if (conf_parser_ctx.pass == 2)
5057 <    yy_match_item->action = SHARED_ALL;
5057 >    yy_conf->flags = SHARED_ALL;
5058   }
5059      break;
5060  
5061    case 324:
5062 <
5063 < /* Line 1806 of yacc.c  */
5493 < #line 1945 "conf_parser.y"
5062 > /* Line 1813 of yacc.c  */
5063 > #line 1768 "conf_parser.y"
5064      {
5065    if (conf_parser_ctx.pass == 2)
5066    {
5067 <    yy_conf = make_conf_item(CLUSTER_TYPE);
5498 <    yy_conf->flags = SHARED_ALL;
5067 >    yy_conf = conf_make(CONF_CLUSTER);
5068    }
5069   }
5070      break;
5071  
5072    case 325:
5073 <
5074 < /* Line 1806 of yacc.c  */
5506 < #line 1952 "conf_parser.y"
5073 > /* Line 1813 of yacc.c  */
5074 > #line 1774 "conf_parser.y"
5075      {
5076    if (conf_parser_ctx.pass == 2)
5077    {
# Line 5515 | Line 5083 | yyreduce:
5083      break;
5084  
5085    case 331:
5086 <
5087 < /* Line 1806 of yacc.c  */
5520 < #line 1965 "conf_parser.y"
5086 > /* Line 1813 of yacc.c  */
5087 > #line 1787 "conf_parser.y"
5088      {
5089    if (conf_parser_ctx.pass == 2)
5090      DupString(yy_conf->name, yylval.string);
# Line 5525 | Line 5092 | yyreduce:
5092      break;
5093  
5094    case 332:
5095 <
5096 < /* Line 1806 of yacc.c  */
5530 < #line 1971 "conf_parser.y"
5095 > /* Line 1813 of yacc.c  */
5096 > #line 1793 "conf_parser.y"
5097      {
5098    if (conf_parser_ctx.pass == 2)
5099      yy_conf->flags = 0;
# Line 5535 | Line 5101 | yyreduce:
5101      break;
5102  
5103    case 336:
5104 <
5105 < /* Line 1806 of yacc.c  */
5540 < #line 1978 "conf_parser.y"
5104 > /* Line 1813 of yacc.c  */
5105 > #line 1800 "conf_parser.y"
5106      {
5107    if (conf_parser_ctx.pass == 2)
5108      yy_conf->flags |= SHARED_KLINE;
# Line 5545 | Line 5110 | yyreduce:
5110      break;
5111  
5112    case 337:
5113 <
5114 < /* Line 1806 of yacc.c  */
5550 < #line 1982 "conf_parser.y"
5113 > /* Line 1813 of yacc.c  */
5114 > #line 1804 "conf_parser.y"
5115      {
5116    if (conf_parser_ctx.pass == 2)
5117      yy_conf->flags |= SHARED_UNKLINE;
# Line 5555 | Line 5119 | yyreduce:
5119      break;
5120  
5121    case 338:
5122 <
5123 < /* Line 1806 of yacc.c  */
5560 < #line 1986 "conf_parser.y"
5122 > /* Line 1813 of yacc.c  */
5123 > #line 1808 "conf_parser.y"
5124      {
5125    if (conf_parser_ctx.pass == 2)
5126      yy_conf->flags |= SHARED_DLINE;
# Line 5565 | Line 5128 | yyreduce:
5128      break;
5129  
5130    case 339:
5131 <
5132 < /* Line 1806 of yacc.c  */
5570 < #line 1990 "conf_parser.y"
5131 > /* Line 1813 of yacc.c  */
5132 > #line 1812 "conf_parser.y"
5133      {
5134    if (conf_parser_ctx.pass == 2)
5135      yy_conf->flags |= SHARED_UNDLINE;
# Line 5575 | Line 5137 | yyreduce:
5137      break;
5138  
5139    case 340:
5140 <
5141 < /* Line 1806 of yacc.c  */
5580 < #line 1994 "conf_parser.y"
5140 > /* Line 1813 of yacc.c  */
5141 > #line 1816 "conf_parser.y"
5142      {
5143    if (conf_parser_ctx.pass == 2)
5144      yy_conf->flags |= SHARED_XLINE;
# Line 5585 | Line 5146 | yyreduce:
5146      break;
5147  
5148    case 341:
5149 <
5150 < /* Line 1806 of yacc.c  */
5590 < #line 1998 "conf_parser.y"
5149 > /* Line 1813 of yacc.c  */
5150 > #line 1820 "conf_parser.y"
5151      {
5152    if (conf_parser_ctx.pass == 2)
5153      yy_conf->flags |= SHARED_UNXLINE;
# Line 5595 | Line 5155 | yyreduce:
5155      break;
5156  
5157    case 342:
5158 <
5159 < /* Line 1806 of yacc.c  */
5600 < #line 2002 "conf_parser.y"
5158 > /* Line 1813 of yacc.c  */
5159 > #line 1824 "conf_parser.y"
5160      {
5161    if (conf_parser_ctx.pass == 2)
5162      yy_conf->flags |= SHARED_RESV;
# Line 5605 | Line 5164 | yyreduce:
5164      break;
5165  
5166    case 343:
5167 <
5168 < /* Line 1806 of yacc.c  */
5610 < #line 2006 "conf_parser.y"
5167 > /* Line 1813 of yacc.c  */
5168 > #line 1828 "conf_parser.y"
5169      {
5170    if (conf_parser_ctx.pass == 2)
5171      yy_conf->flags |= SHARED_UNRESV;
# Line 5615 | Line 5173 | yyreduce:
5173      break;
5174  
5175    case 344:
5176 <
5177 < /* Line 1806 of yacc.c  */
5620 < #line 2010 "conf_parser.y"
5176 > /* Line 1813 of yacc.c  */
5177 > #line 1832 "conf_parser.y"
5178      {
5179    if (conf_parser_ctx.pass == 2)
5180      yy_conf->flags |= SHARED_LOCOPS;
# Line 5625 | Line 5182 | yyreduce:
5182      break;
5183  
5184    case 345:
5185 <
5186 < /* Line 1806 of yacc.c  */
5630 < #line 2014 "conf_parser.y"
5185 > /* Line 1813 of yacc.c  */
5186 > #line 1836 "conf_parser.y"
5187      {
5188    if (conf_parser_ctx.pass == 2)
5189      yy_conf->flags = SHARED_ALL;
# Line 5635 | Line 5191 | yyreduce:
5191      break;
5192  
5193    case 346:
5194 <
5195 < /* Line 1806 of yacc.c  */
5640 < #line 2023 "conf_parser.y"
5194 > /* Line 1813 of yacc.c  */
5195 > #line 1845 "conf_parser.y"
5196      {
5197    if (conf_parser_ctx.pass == 2)
5198    {
5199 <    yy_conf = make_conf_item(SERVER_TYPE);
5645 <    yy_aconf = map_to_conf(yy_conf);
5199 >    yy_conf = conf_make(CONF_SERVER);
5200  
5201      /* defaults */
5202 <    yy_aconf->port = PORTNUM;
5202 >    yy_conf->port = PORTNUM;
5203    }
5204    else
5205    {
# Line 5656 | Line 5210 | yyreduce:
5210      break;
5211  
5212    case 347:
5213 <
5214 < /* Line 1806 of yacc.c  */
5661 < #line 2038 "conf_parser.y"
5213 > /* Line 1813 of yacc.c  */
5214 > #line 1859 "conf_parser.y"
5215      {
5216    if (conf_parser_ctx.pass == 2)
5217    {
5218 <    if (yy_aconf->host && yy_aconf->passwd && yy_aconf->spasswd)
5218 >    if (yy_conf->host && yy_conf->passwd && yy_conf->spasswd)
5219      {
5220        if (conf_add_server(yy_conf, class_name) == -1)
5221 <        delete_conf_item(yy_conf);
5221 >        conf_free(yy_conf);
5222      }
5223      else
5224      {
5225        if (yy_conf->name != NULL)
5226        {
5227 <        if (yy_aconf->host == NULL)
5227 >        if (yy_conf->host == NULL)
5228            yyerror("Ignoring connect block -- missing host");
5229 <        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5229 >        else if (!yy_conf->passwd || !yy_conf->spasswd)
5230            yyerror("Ignoring connect block -- missing password");
5231        }
5232  
# Line 5684 | Line 5237 | yyreduce:
5237         * rewrite ASAP. make_conf_item() shouldn't really add things onto
5238         * a doubly linked list immediately without any sanity checks!  -Michael
5239         */
5240 <      delete_conf_item(yy_conf);
5240 >      conf_free(yy_conf);
5241      }
5242  
5243      MyFree(class_name);
5244      class_name = NULL;
5245      yy_conf = NULL;
5693    yy_aconf = NULL;
5246    }
5247   }
5248      break;
5249  
5250    case 364:
5251 <
5252 < /* Line 1806 of yacc.c  */
5701 < #line 2082 "conf_parser.y"
5251 > /* Line 1813 of yacc.c  */
5252 > #line 1902 "conf_parser.y"
5253      {
5254    if (conf_parser_ctx.pass == 2)
5255    {
# Line 5709 | Line 5260 | yyreduce:
5260      break;
5261  
5262    case 365:
5263 <
5264 < /* Line 1806 of yacc.c  */
5714 < #line 2091 "conf_parser.y"
5263 > /* Line 1813 of yacc.c  */
5264 > #line 1911 "conf_parser.y"
5265      {
5266    if (conf_parser_ctx.pass == 2)
5267    {
5268 <    MyFree(yy_aconf->host);
5269 <    DupString(yy_aconf->host, yylval.string);
5268 >    MyFree(yy_conf->host);
5269 >    DupString(yy_conf->host, yylval.string);
5270    }
5271   }
5272      break;
5273  
5274    case 366:
5275 <
5276 < /* Line 1806 of yacc.c  */
5727 < #line 2100 "conf_parser.y"
5275 > /* Line 1813 of yacc.c  */
5276 > #line 1920 "conf_parser.y"
5277      {
5278    if (conf_parser_ctx.pass == 2)
5279    {
# Line 5742 | Line 5291 | yyreduce:
5291      {
5292        assert(res != NULL);
5293  
5294 <      memcpy(&yy_aconf->bind, res->ai_addr, res->ai_addrlen);
5295 <      yy_aconf->bind.ss.ss_family = res->ai_family;
5296 <      yy_aconf->bind.ss_len = res->ai_addrlen;
5294 >      memcpy(&yy_conf->bind, res->ai_addr, res->ai_addrlen);
5295 >      yy_conf->bind.ss.ss_family = res->ai_family;
5296 >      yy_conf->bind.ss_len = res->ai_addrlen;
5297        freeaddrinfo(res);
5298      }
5299    }
# Line 5752 | Line 5301 | yyreduce:
5301      break;
5302  
5303    case 367:
5304 <
5305 < /* Line 1806 of yacc.c  */
5757 < #line 2126 "conf_parser.y"
5304 > /* Line 1813 of yacc.c  */
5305 > #line 1946 "conf_parser.y"
5306      {
5307    if (conf_parser_ctx.pass == 2)
5308    {
# Line 5763 | Line 5311 | yyreduce:
5311      else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5312        yyerror("Server passwords cannot contain spaces");
5313      else {
5314 <      if (yy_aconf->spasswd != NULL)
5315 <        memset(yy_aconf->spasswd, 0, strlen(yy_aconf->spasswd));
5314 >      if (yy_conf->spasswd != NULL)
5315 >        memset(yy_conf->spasswd, 0, strlen(yy_conf->spasswd));
5316  
5317 <      MyFree(yy_aconf->spasswd);
5318 <      DupString(yy_aconf->spasswd, yylval.string);
5317 >      MyFree(yy_conf->spasswd);
5318 >      DupString(yy_conf->spasswd, yylval.string);
5319      }
5320    }
5321   }
5322      break;
5323  
5324    case 368:
5325 <
5326 < /* Line 1806 of yacc.c  */
5779 < #line 2144 "conf_parser.y"
5325 > /* Line 1813 of yacc.c  */
5326 > #line 1964 "conf_parser.y"
5327      {
5328    if (conf_parser_ctx.pass == 2)
5329    {
# Line 5785 | Line 5332 | yyreduce:
5332      else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5333        yyerror("Server passwords cannot contain spaces");
5334      else {
5335 <      if (yy_aconf->passwd != NULL)
5336 <        memset(yy_aconf->passwd, 0, strlen(yy_aconf->passwd));
5335 >      if (yy_conf->passwd != NULL)
5336 >        memset(yy_conf->passwd, 0, strlen(yy_conf->passwd));
5337  
5338 <      MyFree(yy_aconf->passwd);
5339 <      DupString(yy_aconf->passwd, yylval.string);
5338 >      MyFree(yy_conf->passwd);
5339 >      DupString(yy_conf->passwd, yylval.string);
5340      }
5341    }
5342   }
5343      break;
5344  
5345    case 369:
5346 <
5347 < /* Line 1806 of yacc.c  */
5801 < #line 2162 "conf_parser.y"
5346 > /* Line 1813 of yacc.c  */
5347 > #line 1982 "conf_parser.y"
5348      {
5349    if (conf_parser_ctx.pass == 2)
5350 <    yy_aconf->port = (yyvsp[(3) - (4)].number);
5350 >    yy_conf->port = (yyvsp[(3) - (4)].number);
5351   }
5352      break;
5353  
5354    case 370:
5355 <
5356 < /* Line 1806 of yacc.c  */
5811 < #line 2168 "conf_parser.y"
5355 > /* Line 1813 of yacc.c  */
5356 > #line 1988 "conf_parser.y"
5357      {
5358    if (conf_parser_ctx.pass == 2)
5359 <    yy_aconf->aftype = AF_INET;
5359 >    yy_conf->aftype = AF_INET;
5360   }
5361      break;
5362  
5363    case 371:
5364 <
5365 < /* Line 1806 of yacc.c  */
5821 < #line 2172 "conf_parser.y"
5364 > /* Line 1813 of yacc.c  */
5365 > #line 1992 "conf_parser.y"
5366      {
5367   #ifdef IPV6
5368    if (conf_parser_ctx.pass == 2)
5369 <    yy_aconf->aftype = AF_INET6;
5369 >    yy_conf->aftype = AF_INET6;
5370   #endif
5371   }
5372      break;
5373  
5374    case 372:
5375 <
5376 < /* Line 1806 of yacc.c  */
5833 < #line 2180 "conf_parser.y"
5375 > /* Line 1813 of yacc.c  */
5376 > #line 2000 "conf_parser.y"
5377      {
5378   }
5379      break;
5380  
5381    case 376:
5382 <
5383 < /* Line 1806 of yacc.c  */
5841 < #line 2185 "conf_parser.y"
5382 > /* Line 1813 of yacc.c  */
5383 > #line 2005 "conf_parser.y"
5384      {
5385    if (conf_parser_ctx.pass == 2)
5386 <    SetConfAllowAutoConn(yy_aconf);
5386 >    SetConfAllowAutoConn(yy_conf);
5387   }
5388      break;
5389  
5390    case 377:
5391 <
5392 < /* Line 1806 of yacc.c  */
5851 < #line 2189 "conf_parser.y"
5391 > /* Line 1813 of yacc.c  */
5392 > #line 2009 "conf_parser.y"
5393      {
5394    if (conf_parser_ctx.pass == 2)
5395 <    SetConfAwayBurst(yy_aconf);
5395 >    SetConfSSL(yy_conf);
5396   }
5397      break;
5398  
5399    case 378:
5400 <
5401 < /* Line 1806 of yacc.c  */
5861 < #line 2193 "conf_parser.y"
5862 <    {
5863 <  if (conf_parser_ctx.pass == 2)
5864 <    SetConfTopicBurst(yy_aconf);
5865 < }
5866 <    break;
5867 <
5868 <  case 379:
5869 <
5870 < /* Line 1806 of yacc.c  */
5871 < #line 2197 "conf_parser.y"
5872 <    {
5873 <  if (conf_parser_ctx.pass == 2)
5874 <    SetConfSSL(yy_aconf);
5875 < }
5876 <    break;
5877 <
5878 <  case 380:
5879 <
5880 < /* Line 1806 of yacc.c  */
5881 < #line 2203 "conf_parser.y"
5400 > /* Line 1813 of yacc.c  */
5401 > #line 2015 "conf_parser.y"
5402      {
5403    if (conf_parser_ctx.pass == 2)
5404    {
5405      if (yylval.number)
5406 <      yy_aconf->flags |= CONF_FLAGS_ENCRYPTED;
5406 >      yy_conf->flags |= CONF_FLAGS_ENCRYPTED;
5407      else
5408 <      yy_aconf->flags &= ~CONF_FLAGS_ENCRYPTED;
5408 >      yy_conf->flags &= ~CONF_FLAGS_ENCRYPTED;
5409    }
5410   }
5411      break;
5412  
5413 <  case 381:
5414 <
5415 < /* Line 1806 of yacc.c  */
5896 < #line 2214 "conf_parser.y"
5413 >  case 379:
5414 > /* Line 1813 of yacc.c  */
5415 > #line 2026 "conf_parser.y"
5416      {
5417    if (conf_parser_ctx.pass == 2)
5418    {
5419 <    char *mask;
5419 >    char *mask = xstrdup(yylval.string);
5420  
5421 <    DupString(mask, yylval.string);
5903 <    dlinkAdd(mask, make_dlink_node(), &yy_aconf->hub_list);
5421 >    dlinkAdd(mask, make_dlink_node(), &yy_conf->hub_list);
5422    }
5423   }
5424      break;
5425  
5426 <  case 382:
5427 <
5428 < /* Line 1806 of yacc.c  */
5911 < #line 2225 "conf_parser.y"
5426 >  case 380:
5427 > /* Line 1813 of yacc.c  */
5428 > #line 2036 "conf_parser.y"
5429      {
5430    if (conf_parser_ctx.pass == 2)
5431    {
5432      char *mask;
5433  
5434      DupString(mask, yylval.string);
5435 <    dlinkAdd(mask, make_dlink_node(), &yy_aconf->leaf_list);
5435 >    dlinkAdd(mask, make_dlink_node(), &yy_conf->leaf_list);
5436    }
5437   }
5438      break;
5439  
5440 <  case 383:
5441 <
5442 < /* Line 1806 of yacc.c  */
5926 < #line 2236 "conf_parser.y"
5440 >  case 381:
5441 > /* Line 1813 of yacc.c  */
5442 > #line 2047 "conf_parser.y"
5443      {
5444    if (conf_parser_ctx.pass == 2)
5445    {
# Line 5933 | Line 5449 | yyreduce:
5449   }
5450      break;
5451  
5452 <  case 384:
5453 <
5454 < /* Line 1806 of yacc.c  */
5939 < #line 2245 "conf_parser.y"
5452 >  case 382:
5453 > /* Line 1813 of yacc.c  */
5454 > #line 2056 "conf_parser.y"
5455      {
5456   #ifdef HAVE_LIBCRYPTO
5457    if (conf_parser_ctx.pass == 2)
5458    {
5459 <    MyFree(yy_aconf->cipher_list);
5460 <    DupString(yy_aconf->cipher_list, yylval.string);
5459 >    MyFree(yy_conf->cipher_list);
5460 >    DupString(yy_conf->cipher_list, yylval.string);
5461    }
5462   #else
5463    if (conf_parser_ctx.pass == 2)
# Line 5951 | Line 5466 | yyreduce:
5466   }
5467      break;
5468  
5469 <  case 385:
5470 <
5471 < /* Line 1806 of yacc.c  */
5957 < #line 2263 "conf_parser.y"
5469 >  case 383:
5470 > /* Line 1813 of yacc.c  */
5471 > #line 2074 "conf_parser.y"
5472      {
5473    if (conf_parser_ctx.pass == 2)
5474    {
# Line 5964 | Line 5478 | yyreduce:
5478   }
5479      break;
5480  
5481 <  case 386:
5482 <
5483 < /* Line 1806 of yacc.c  */
5970 < #line 2270 "conf_parser.y"
5481 >  case 384:
5482 > /* Line 1813 of yacc.c  */
5483 > #line 2081 "conf_parser.y"
5484      {
5485    if (conf_parser_ctx.pass == 2)
5486    {
5487 +    struct MaskItem *conf = NULL;
5488 +
5489      if (userbuf[0] && hostbuf[0])
5490      {
5491        if (regex_ban)
# Line 5988 | Line 5503 | yyreduce:
5503            break;
5504          }
5505  
5506 <        yy_aconf = map_to_conf(make_conf_item(RKLINE_TYPE));
5507 <        yy_aconf->regexuser = exp_user;
5508 <        yy_aconf->regexhost = exp_host;
5506 >        conf = conf_make(CONF_RKLINE);
5507 >        conf->regexuser = exp_user;
5508 >        conf->regexhost = exp_host;
5509  
5510 <        DupString(yy_aconf->user, userbuf);
5511 <        DupString(yy_aconf->host, hostbuf);
5510 >        conf->user = xstrdup(userbuf);
5511 >        conf->host = xstrdup(hostbuf);
5512  
5513          if (reasonbuf[0])
5514 <          DupString(yy_aconf->reason, reasonbuf);
5514 >          conf->reason = xstrdup(reasonbuf);
5515          else
5516 <          DupString(yy_aconf->reason, "No reason");
5516 >          conf->reason = xstrdup(CONF_NOREASON);
5517   #else
5518          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5519          break;
# Line 6006 | Line 5521 | yyreduce:
5521        }
5522        else
5523        {
5524 <        find_and_delete_temporary(userbuf, hostbuf, CONF_KLINE);
6010 <
6011 <        yy_aconf = map_to_conf(make_conf_item(KLINE_TYPE));
5524 >        conf = conf_make(CONF_KLINE);
5525  
5526 <        DupString(yy_aconf->user, userbuf);
5527 <        DupString(yy_aconf->host, hostbuf);
5526 >        conf->user = xstrdup(userbuf);
5527 >        conf->host = xstrdup(hostbuf);
5528  
5529          if (reasonbuf[0])
5530 <          DupString(yy_aconf->reason, reasonbuf);
5530 >          conf->reason = xstrdup(reasonbuf);
5531          else
5532 <          DupString(yy_aconf->reason, "No reason");
5533 <        add_conf_by_address(CONF_KLINE, yy_aconf);
5532 >          conf->reason = xstrdup(CONF_NOREASON);
5533 >        add_conf_by_address(CONF_KLINE, conf);
5534        }
5535      }
6023
6024    yy_aconf = NULL;
5536    }
5537   }
5538      break;
5539  
5540 <  case 387:
5541 <
5542 < /* Line 1806 of yacc.c  */
6032 < #line 2328 "conf_parser.y"
5540 >  case 385:
5541 > /* Line 1813 of yacc.c  */
5542 > #line 2137 "conf_parser.y"
5543      {
5544   }
5545      break;
5546  
5547 <  case 391:
5548 <
5549 < /* Line 1806 of yacc.c  */
6040 < #line 2333 "conf_parser.y"
5547 >  case 389:
5548 > /* Line 1813 of yacc.c  */
5549 > #line 2142 "conf_parser.y"
5550      {
5551    if (conf_parser_ctx.pass == 2)
5552      regex_ban = 1;
5553   }
5554      break;
5555  
5556 <  case 398:
5557 <
5558 < /* Line 1806 of yacc.c  */
6050 < #line 2342 "conf_parser.y"
5556 >  case 396:
5557 > /* Line 1813 of yacc.c  */
5558 > #line 2151 "conf_parser.y"
5559      {
5560    if (conf_parser_ctx.pass == 2)
5561    {
# Line 6067 | Line 5575 | yyreduce:
5575   }
5576      break;
5577  
5578 <  case 399:
5579 <
5580 < /* Line 1806 of yacc.c  */
6073 < #line 2361 "conf_parser.y"
5578 >  case 397:
5579 > /* Line 1813 of yacc.c  */
5580 > #line 2170 "conf_parser.y"
5581      {
5582    if (conf_parser_ctx.pass == 2)
5583      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5584   }
5585      break;
5586  
5587 <  case 400:
5588 <
5589 < /* Line 1806 of yacc.c  */
6083 < #line 2370 "conf_parser.y"
5587 >  case 398:
5588 > /* Line 1813 of yacc.c  */
5589 > #line 2179 "conf_parser.y"
5590      {
5591    if (conf_parser_ctx.pass == 2)
5592 <    hostbuf[0] = reasonbuf[0] = '\0';
5592 >    reset_block_state();
5593   }
5594      break;
5595  
5596 <  case 401:
5597 <
5598 < /* Line 1806 of yacc.c  */
6093 < #line 2374 "conf_parser.y"
6094 <    {
6095 <  if (conf_parser_ctx.pass == 2)
6096 <  {
6097 <    if (hostbuf[0] && parse_netmask(hostbuf, NULL, NULL) != HM_HOST)
5596 >  case 399:
5597 > /* Line 1813 of yacc.c  */
5598 > #line 2183 "conf_parser.y"
5599      {
5600 <      find_and_delete_temporary(NULL, hostbuf, CONF_DLINE);
5600 >  struct MaskItem *conf = NULL;
5601  
5602 <      yy_aconf = map_to_conf(make_conf_item(DLINE_TYPE));
5603 <      DupString(yy_aconf->host, hostbuf);
5602 >  if (conf_parser_ctx.pass != 2)
5603 >    break;
5604  
5605 <      if (reasonbuf[0])
5606 <        DupString(yy_aconf->reason, reasonbuf);
5607 <      else
5608 <        DupString(yy_aconf->reason, "No reason");
5609 <      add_conf_by_address(CONF_DLINE, yy_aconf);
5610 <      yy_aconf = NULL;
5611 <    }
5605 >  if (!block_state.addr.buf[0])
5606 >    break;
5607 >
5608 >  if (parse_netmask(block_state.addr.buf, NULL, NULL) != HM_HOST)
5609 >  {
5610 >    conf = conf_make(CONF_DLINE);
5611 >    conf->host = xstrdup(block_state.addr.buf);
5612 >
5613 >    if (block_state.pass.buf[0])
5614 >      conf->reason = xstrdup(block_state.pass.buf);
5615 >    else
5616 >      conf->reason = xstrdup(CONF_NOREASON);
5617 >    add_conf_by_address(CONF_DLINE, conf);
5618    }
5619   }
5620      break;
5621  
5622 <  case 407:
5623 <
5624 < /* Line 1806 of yacc.c  */
6118 < #line 2398 "conf_parser.y"
5622 >  case 405:
5623 > /* Line 1813 of yacc.c  */
5624 > #line 2209 "conf_parser.y"
5625      {
5626    if (conf_parser_ctx.pass == 2)
5627 <    strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
5627 >    strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5628   }
5629      break;
5630  
5631 <  case 408:
5632 <
5633 < /* Line 1806 of yacc.c  */
6128 < #line 2404 "conf_parser.y"
5631 >  case 406:
5632 > /* Line 1813 of yacc.c  */
5633 > #line 2215 "conf_parser.y"
5634      {
5635    if (conf_parser_ctx.pass == 2)
5636 <    strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5636 >    strlcpy(block_state.pass.buf, yylval.string, sizeof(block_state.pass.buf));
5637   }
5638      break;
5639  
5640 <  case 414:
5641 <
5642 < /* Line 1806 of yacc.c  */
6138 < #line 2418 "conf_parser.y"
5640 >  case 412:
5641 > /* Line 1813 of yacc.c  */
5642 > #line 2229 "conf_parser.y"
5643      {
5644    if (conf_parser_ctx.pass == 2)
5645    {
5646      if (yylval.string[0] && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5647      {
5648 <      yy_aconf = map_to_conf(make_conf_item(EXEMPTDLINE_TYPE));
5649 <      DupString(yy_aconf->host, yylval.string);
5648 >      struct MaskItem *conf = conf_make(CONF_EXEMPT);
5649 >      conf->host = xstrdup(yylval.string);
5650  
5651 <      add_conf_by_address(CONF_EXEMPTDLINE, yy_aconf);
6148 <      yy_aconf = NULL;
5651 >      add_conf_by_address(CONF_EXEMPT, conf);
5652      }
5653    }
5654   }
5655      break;
5656  
5657 <  case 415:
5658 <
5659 < /* Line 1806 of yacc.c  */
6157 < #line 2436 "conf_parser.y"
5657 >  case 413:
5658 > /* Line 1813 of yacc.c  */
5659 > #line 2246 "conf_parser.y"
5660      {
5661    if (conf_parser_ctx.pass == 2)
5662 <  {
6161 <    regex_ban = 0;
6162 <    reasonbuf[0] = gecos_name[0] = '\0';
6163 <  }
5662 >    reset_block_state();
5663   }
5664      break;
5665  
5666 <  case 416:
5667 <
5668 < /* Line 1806 of yacc.c  */
6170 < #line 2443 "conf_parser.y"
5666 >  case 414:
5667 > /* Line 1813 of yacc.c  */
5668 > #line 2250 "conf_parser.y"
5669      {
5670 <  if (conf_parser_ctx.pass == 2)
5670 >  struct MaskItem *conf = NULL;
5671 >
5672 >  if (conf_parser_ctx.pass != 2)
5673 >    break;
5674 >
5675 >  if (!block_state.name.buf[0])
5676 >    break;
5677 >
5678 >  if (block_state.port.value == 1)
5679    {
6174    if (gecos_name[0])
6175    {
6176      if (regex_ban)
6177      {
5680   #ifdef HAVE_LIBPCRE
5681 <        void *exp_p = NULL;
5682 <        const char *errptr = NULL;
5681 >    void *exp_p = NULL;
5682 >    const char *errptr = NULL;
5683  
5684 <        if (!(exp_p = ircd_pcre_compile(gecos_name, &errptr)))
5685 <        {
5686 <          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5687 <               errptr);
5688 <          break;
5689 <        }
5684 >    if (!(exp_p = ircd_pcre_compile(block_state.name.buf, &errptr)))
5685 >    {
5686 >      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5687 >           errptr);
5688 >      break;
5689 >    }
5690  
5691 <        yy_conf = make_conf_item(RXLINE_TYPE);
5692 <        yy_conf->regexpname = exp_p;
5691 >    conf = conf_make(CONF_RXLINE);
5692 >    conf->regexuser = exp_p;
5693   #else
5694 <        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5695 <        break;
5694 >    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5695 >    break;
5696   #endif
5697 <      }
5698 <      else
5699 <        yy_conf = make_conf_item(XLINE_TYPE);
5697 >  }
5698 >  else
5699 >    conf = conf_make(CONF_XLINE);
5700  
5701 <      yy_match_item = map_to_conf(yy_conf);
6200 <      DupString(yy_conf->name, gecos_name);
5701 >  conf->name = xstrdup(block_state.name.buf);
5702  
5703 <      if (reasonbuf[0])
5704 <        DupString(yy_match_item->reason, reasonbuf);
5705 <      else
5706 <        DupString(yy_match_item->reason, "No reason");
6206 <    }
6207 <  }
5703 >  if (block_state.pass.buf[0])
5704 >    conf->reason = xstrdup(block_state.pass.buf);
5705 >  else
5706 >    conf->reason = xstrdup(CONF_NOREASON);
5707   }
5708      break;
5709  
5710 <  case 417:
5711 <
5712 < /* Line 1806 of yacc.c  */
6214 < #line 2483 "conf_parser.y"
5710 >  case 415:
5711 > /* Line 1813 of yacc.c  */
5712 > #line 2291 "conf_parser.y"
5713      {
5714 +  if (conf_parser_ctx.pass == 2)
5715 +    block_state.port.value = 0;
5716   }
5717      break;
5718  
5719 <  case 421:
5720 <
5721 < /* Line 1806 of yacc.c  */
6222 < #line 2488 "conf_parser.y"
5719 >  case 419:
5720 > /* Line 1813 of yacc.c  */
5721 > #line 2298 "conf_parser.y"
5722      {
5723    if (conf_parser_ctx.pass == 2)
5724 <    regex_ban = 1;
5724 >    block_state.port.value = 1;
5725   }
5726      break;
5727  
5728 <  case 428:
5729 <
5730 < /* Line 1806 of yacc.c  */
6232 < #line 2497 "conf_parser.y"
5728 >  case 426:
5729 > /* Line 1813 of yacc.c  */
5730 > #line 2307 "conf_parser.y"
5731      {
5732    if (conf_parser_ctx.pass == 2)
5733 <    strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
5733 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5734   }
5735      break;
5736  
5737 <  case 429:
5738 <
5739 < /* Line 1806 of yacc.c  */
6242 < #line 2503 "conf_parser.y"
5737 >  case 427:
5738 > /* Line 1813 of yacc.c  */
5739 > #line 2313 "conf_parser.y"
5740      {
5741    if (conf_parser_ctx.pass == 2)
5742 <    strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5742 >    strlcpy(block_state.pass.buf, yylval.string, sizeof(block_state.pass.buf));
5743   }
5744      break;
5745  
5746 <  case 485:
5747 <
5748 < /* Line 1806 of yacc.c  */
6252 < #line 2547 "conf_parser.y"
5746 >  case 481:
5747 > /* Line 1813 of yacc.c  */
5748 > #line 2358 "conf_parser.y"
5749      {
5750    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5751   }
5752      break;
5753  
5754 <  case 486:
5755 <
5756 < /* Line 1806 of yacc.c  */
6261 < #line 2552 "conf_parser.y"
5754 >  case 482:
5755 > /* Line 1813 of yacc.c  */
5756 > #line 2363 "conf_parser.y"
5757      {
5758 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5758 >  if (conf_parser_ctx.pass == 2)
5759 >    ConfigFileEntry.glines = yylval.number;
5760   }
5761      break;
5762  
5763 <  case 487:
5764 <
5765 < /* Line 1806 of yacc.c  */
6270 < #line 2557 "conf_parser.y"
5763 >  case 483:
5764 > /* Line 1813 of yacc.c  */
5765 > #line 2369 "conf_parser.y"
5766      {
5767 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5767 >  if (conf_parser_ctx.pass == 2)
5768 >    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5769   }
5770      break;
5771  
5772 <  case 488:
5773 <
5774 < /* Line 1806 of yacc.c  */
6279 < #line 2562 "conf_parser.y"
5772 >  case 484:
5773 > /* Line 1813 of yacc.c  */
5774 > #line 2375 "conf_parser.y"
5775      {
5776 <  ConfigFileEntry.use_whois_actually = yylval.number;
5776 >  if (conf_parser_ctx.pass == 2)
5777 >    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5778   }
5779      break;
5780  
5781 <  case 489:
5782 <
5783 < /* Line 1806 of yacc.c  */
6288 < #line 2567 "conf_parser.y"
5781 >  case 485:
5782 > /* Line 1813 of yacc.c  */
5783 > #line 2381 "conf_parser.y"
5784      {
5785 <  GlobalSetOptions.rejecttime = yylval.number;
5785 >  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5786   }
5787      break;
5788  
5789 <  case 490:
5789 >  case 486:
5790 > /* Line 1813 of yacc.c  */
5791 > #line 2386 "conf_parser.y"
5792 >    {
5793 >  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5794 > }
5795 >    break;
5796  
5797 < /* Line 1806 of yacc.c  */
5798 < #line 2572 "conf_parser.y"
5797 >  case 487:
5798 > /* Line 1813 of yacc.c  */
5799 > #line 2391 "conf_parser.y"
5800      {
5801    ConfigFileEntry.tkline_expire_notices = yylval.number;
5802   }
5803      break;
5804  
5805 <  case 491:
5806 <
5807 < /* Line 1806 of yacc.c  */
6306 < #line 2577 "conf_parser.y"
5805 >  case 488:
5806 > /* Line 1813 of yacc.c  */
5807 > #line 2396 "conf_parser.y"
5808      {
5809    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5810   }
5811      break;
5812  
5813 <  case 492:
5814 <
5815 < /* Line 1806 of yacc.c  */
6315 < #line 2582 "conf_parser.y"
5813 >  case 489:
5814 > /* Line 1813 of yacc.c  */
5815 > #line 2401 "conf_parser.y"
5816      {
5817    ConfigFileEntry.hide_spoof_ips = yylval.number;
5818   }
5819      break;
5820  
5821 <  case 493:
5822 <
5823 < /* Line 1806 of yacc.c  */
6324 < #line 2587 "conf_parser.y"
5821 >  case 490:
5822 > /* Line 1813 of yacc.c  */
5823 > #line 2406 "conf_parser.y"
5824      {
5825    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5826   }
5827      break;
5828  
5829 <  case 494:
5830 <
5831 < /* Line 1806 of yacc.c  */
6333 < #line 2592 "conf_parser.y"
5829 >  case 491:
5830 > /* Line 1813 of yacc.c  */
5831 > #line 2411 "conf_parser.y"
5832      {
5833    ConfigFileEntry.disable_remote = yylval.number;
5834   }
5835      break;
5836  
5837 <  case 495:
5838 <
5839 < /* Line 1806 of yacc.c  */
6342 < #line 2597 "conf_parser.y"
5837 >  case 492:
5838 > /* Line 1813 of yacc.c  */
5839 > #line 2416 "conf_parser.y"
5840      {
5841    ConfigFileEntry.failed_oper_notice = yylval.number;
5842   }
5843      break;
5844  
5845 <  case 496:
5846 <
5847 < /* Line 1806 of yacc.c  */
6351 < #line 2602 "conf_parser.y"
5845 >  case 493:
5846 > /* Line 1813 of yacc.c  */
5847 > #line 2421 "conf_parser.y"
5848      {
5849    ConfigFileEntry.anti_nick_flood = yylval.number;
5850   }
5851      break;
5852  
5853 <  case 497:
5854 <
5855 < /* Line 1806 of yacc.c  */
6360 < #line 2607 "conf_parser.y"
5853 >  case 494:
5854 > /* Line 1813 of yacc.c  */
5855 > #line 2426 "conf_parser.y"
5856      {
5857    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5858   }
5859      break;
5860  
5861 <  case 498:
5862 <
5863 < /* Line 1806 of yacc.c  */
6369 < #line 2612 "conf_parser.y"
5861 >  case 495:
5862 > /* Line 1813 of yacc.c  */
5863 > #line 2431 "conf_parser.y"
5864      {
5865    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5866   }
5867      break;
5868  
5869 <  case 499:
5870 <
5871 < /* Line 1806 of yacc.c  */
6378 < #line 2617 "conf_parser.y"
5869 >  case 496:
5870 > /* Line 1813 of yacc.c  */
5871 > #line 2436 "conf_parser.y"
5872      {
5873    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5874   }
5875      break;
5876  
5877 <  case 500:
5878 <
5879 < /* Line 1806 of yacc.c  */
6387 < #line 2622 "conf_parser.y"
5877 >  case 497:
5878 > /* Line 1813 of yacc.c  */
5879 > #line 2441 "conf_parser.y"
5880      {
5881    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5882   }
5883      break;
5884  
5885 <  case 501:
5886 <
5887 < /* Line 1806 of yacc.c  */
6396 < #line 2627 "conf_parser.y"
5885 >  case 498:
5886 > /* Line 1813 of yacc.c  */
5887 > #line 2446 "conf_parser.y"
5888      {
5889    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
5890   }
5891      break;
5892  
5893 <  case 502:
5894 <
5895 < /* Line 1806 of yacc.c  */
6405 < #line 2632 "conf_parser.y"
5893 >  case 499:
5894 > /* Line 1813 of yacc.c  */
5895 > #line 2451 "conf_parser.y"
5896      {
5897    if (conf_parser_ctx.pass == 2)
5898      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
5899   }
5900      break;
5901  
5902 <  case 503:
5903 <
5904 < /* Line 1806 of yacc.c  */
6415 < #line 2638 "conf_parser.y"
5902 >  case 500:
5903 > /* Line 1813 of yacc.c  */
5904 > #line 2457 "conf_parser.y"
5905      {
5906    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
5907    {
# Line 6424 | Line 5913 | yyreduce:
5913   }
5914      break;
5915  
5916 <  case 504:
5917 <
5918 < /* Line 1806 of yacc.c  */
6430 < #line 2649 "conf_parser.y"
6431 <    {
6432 <  ConfigFileEntry.kline_with_reason = yylval.number;
6433 < }
6434 <    break;
6435 <
6436 <  case 505:
6437 <
6438 < /* Line 1806 of yacc.c  */
6439 < #line 2654 "conf_parser.y"
6440 <    {
6441 <  if (conf_parser_ctx.pass == 2)
6442 <  {
6443 <    MyFree(ConfigFileEntry.kline_reason);
6444 <    DupString(ConfigFileEntry.kline_reason, yylval.string);
6445 <  }
6446 < }
6447 <    break;
6448 <
6449 <  case 506:
6450 <
6451 < /* Line 1806 of yacc.c  */
6452 < #line 2663 "conf_parser.y"
5916 >  case 501:
5917 > /* Line 1813 of yacc.c  */
5918 > #line 2468 "conf_parser.y"
5919      {
5920    ConfigFileEntry.invisible_on_connect = yylval.number;
5921   }
5922      break;
5923  
5924 <  case 507:
5925 <
5926 < /* Line 1806 of yacc.c  */
6461 < #line 2668 "conf_parser.y"
5924 >  case 502:
5925 > /* Line 1813 of yacc.c  */
5926 > #line 2473 "conf_parser.y"
5927      {
5928    ConfigFileEntry.warn_no_nline = yylval.number;
5929   }
5930      break;
5931  
5932 <  case 508:
5933 <
5934 < /* Line 1806 of yacc.c  */
6470 < #line 2673 "conf_parser.y"
5932 >  case 503:
5933 > /* Line 1813 of yacc.c  */
5934 > #line 2478 "conf_parser.y"
5935      {
5936    ConfigFileEntry.stats_e_disabled = yylval.number;
5937   }
5938      break;
5939  
5940 <  case 509:
5941 <
5942 < /* Line 1806 of yacc.c  */
6479 < #line 2678 "conf_parser.y"
5940 >  case 504:
5941 > /* Line 1813 of yacc.c  */
5942 > #line 2483 "conf_parser.y"
5943      {
5944    ConfigFileEntry.stats_o_oper_only = yylval.number;
5945   }
5946      break;
5947  
5948 <  case 510:
5949 <
5950 < /* Line 1806 of yacc.c  */
6488 < #line 2683 "conf_parser.y"
5948 >  case 505:
5949 > /* Line 1813 of yacc.c  */
5950 > #line 2488 "conf_parser.y"
5951      {
5952    ConfigFileEntry.stats_P_oper_only = yylval.number;
5953   }
5954      break;
5955  
5956 <  case 511:
5957 <
5958 < /* Line 1806 of yacc.c  */
6497 < #line 2688 "conf_parser.y"
5956 >  case 506:
5957 > /* Line 1813 of yacc.c  */
5958 > #line 2493 "conf_parser.y"
5959      {
5960    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5961   }
5962      break;
5963  
5964 <  case 512:
5965 <
5966 < /* Line 1806 of yacc.c  */
6506 < #line 2691 "conf_parser.y"
5964 >  case 507:
5965 > /* Line 1813 of yacc.c  */
5966 > #line 2496 "conf_parser.y"
5967      {
5968    ConfigFileEntry.stats_k_oper_only = 1;
5969   }
5970      break;
5971  
5972 <  case 513:
5973 <
5974 < /* Line 1806 of yacc.c  */
6515 < #line 2696 "conf_parser.y"
5972 >  case 508:
5973 > /* Line 1813 of yacc.c  */
5974 > #line 2501 "conf_parser.y"
5975      {
5976    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5977   }
5978      break;
5979  
5980 <  case 514:
5981 <
5982 < /* Line 1806 of yacc.c  */
6524 < #line 2699 "conf_parser.y"
5980 >  case 509:
5981 > /* Line 1813 of yacc.c  */
5982 > #line 2504 "conf_parser.y"
5983      {
5984    ConfigFileEntry.stats_i_oper_only = 1;
5985   }
5986      break;
5987  
5988 <  case 515:
5989 <
5990 < /* Line 1806 of yacc.c  */
6533 < #line 2704 "conf_parser.y"
5988 >  case 510:
5989 > /* Line 1813 of yacc.c  */
5990 > #line 2509 "conf_parser.y"
5991      {
5992    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
5993   }
5994      break;
5995  
5996 <  case 516:
5997 <
5998 < /* Line 1806 of yacc.c  */
6542 < #line 2709 "conf_parser.y"
5996 >  case 511:
5997 > /* Line 1813 of yacc.c  */
5998 > #line 2514 "conf_parser.y"
5999      {
6000    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6001   }
6002      break;
6003  
6004 <  case 517:
6005 <
6006 < /* Line 1806 of yacc.c  */
6551 < #line 2714 "conf_parser.y"
6004 >  case 512:
6005 > /* Line 1813 of yacc.c  */
6006 > #line 2519 "conf_parser.y"
6007      {
6008    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6009   }
6010      break;
6011  
6012 <  case 518:
6013 <
6014 < /* Line 1806 of yacc.c  */
6560 < #line 2719 "conf_parser.y"
6012 >  case 513:
6013 > /* Line 1813 of yacc.c  */
6014 > #line 2524 "conf_parser.y"
6015      {
6016    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6017   }
6018      break;
6019  
6020 <  case 519:
6021 <
6022 < /* Line 1806 of yacc.c  */
6569 < #line 2724 "conf_parser.y"
6020 >  case 514:
6021 > /* Line 1813 of yacc.c  */
6022 > #line 2529 "conf_parser.y"
6023      {
6024    ConfigFileEntry.short_motd = yylval.number;
6025   }
6026      break;
6027  
6028 <  case 520:
6029 <
6030 < /* Line 1806 of yacc.c  */
6578 < #line 2729 "conf_parser.y"
6028 >  case 515:
6029 > /* Line 1813 of yacc.c  */
6030 > #line 2534 "conf_parser.y"
6031      {
6032    ConfigFileEntry.no_oper_flood = yylval.number;
6033   }
6034      break;
6035  
6036 <  case 521:
6037 <
6038 < /* Line 1806 of yacc.c  */
6587 < #line 2734 "conf_parser.y"
6036 >  case 516:
6037 > /* Line 1813 of yacc.c  */
6038 > #line 2539 "conf_parser.y"
6039      {
6040    ConfigFileEntry.true_no_oper_flood = yylval.number;
6041   }
6042      break;
6043  
6044 <  case 522:
6045 <
6046 < /* Line 1806 of yacc.c  */
6596 < #line 2739 "conf_parser.y"
6044 >  case 517:
6045 > /* Line 1813 of yacc.c  */
6046 > #line 2544 "conf_parser.y"
6047      {
6048    ConfigFileEntry.oper_pass_resv = yylval.number;
6049   }
6050      break;
6051  
6052 <  case 523:
6053 <
6054 < /* Line 1806 of yacc.c  */
6605 < #line 2744 "conf_parser.y"
6052 >  case 518:
6053 > /* Line 1813 of yacc.c  */
6054 > #line 2549 "conf_parser.y"
6055      {
6056    if (conf_parser_ctx.pass == 2)
6057    {
# Line 6614 | Line 6063 | yyreduce:
6063   }
6064      break;
6065  
6066 <  case 524:
6067 <
6068 < /* Line 1806 of yacc.c  */
6620 < #line 2755 "conf_parser.y"
6066 >  case 519:
6067 > /* Line 1813 of yacc.c  */
6068 > #line 2560 "conf_parser.y"
6069      {
6070    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6071   }
6072      break;
6073  
6074 <  case 525:
6075 <
6076 < /* Line 1806 of yacc.c  */
6629 < #line 2760 "conf_parser.y"
6074 >  case 520:
6075 > /* Line 1813 of yacc.c  */
6076 > #line 2565 "conf_parser.y"
6077      {
6078    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6079   }
6080      break;
6081  
6082 <  case 526:
6083 <
6084 < /* Line 1806 of yacc.c  */
6638 < #line 2765 "conf_parser.y"
6082 >  case 521:
6083 > /* Line 1813 of yacc.c  */
6084 > #line 2570 "conf_parser.y"
6085      {
6086    ConfigFileEntry.use_egd = yylval.number;
6087   }
6088      break;
6089  
6090 <  case 527:
6091 <
6092 < /* Line 1806 of yacc.c  */
6647 < #line 2770 "conf_parser.y"
6090 >  case 522:
6091 > /* Line 1813 of yacc.c  */
6092 > #line 2575 "conf_parser.y"
6093      {
6094    if (conf_parser_ctx.pass == 2)
6095    {
6096      MyFree(ConfigFileEntry.egdpool_path);
6097 <    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6097 >    ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
6098    }
6099   }
6100      break;
6101  
6102 <  case 528:
6103 <
6104 < /* Line 1806 of yacc.c  */
6660 < #line 2779 "conf_parser.y"
6102 >  case 523:
6103 > /* Line 1813 of yacc.c  */
6104 > #line 2584 "conf_parser.y"
6105      {
6106    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6107    {
6108      MyFree(ConfigFileEntry.service_name);
6109 <    DupString(ConfigFileEntry.service_name, yylval.string);
6109 >    ConfigFileEntry.service_name = xstrdup(yylval.string);
6110    }
6111   }
6112      break;
6113  
6114 <  case 529:
6115 <
6116 < /* Line 1806 of yacc.c  */
6673 < #line 2788 "conf_parser.y"
6114 >  case 524:
6115 > /* Line 1813 of yacc.c  */
6116 > #line 2593 "conf_parser.y"
6117      {
6118    ConfigFileEntry.ping_cookie = yylval.number;
6119   }
6120      break;
6121  
6122 <  case 530:
6123 <
6124 < /* Line 1806 of yacc.c  */
6682 < #line 2793 "conf_parser.y"
6122 >  case 525:
6123 > /* Line 1813 of yacc.c  */
6124 > #line 2598 "conf_parser.y"
6125      {
6126    ConfigFileEntry.disable_auth = yylval.number;
6127   }
6128      break;
6129  
6130 <  case 531:
6131 <
6132 < /* Line 1806 of yacc.c  */
6691 < #line 2798 "conf_parser.y"
6130 >  case 526:
6131 > /* Line 1813 of yacc.c  */
6132 > #line 2603 "conf_parser.y"
6133      {
6134    ConfigFileEntry.throttle_time = yylval.number;
6135   }
6136      break;
6137  
6138 <  case 532:
6139 <
6140 < /* Line 1806 of yacc.c  */
6700 < #line 2803 "conf_parser.y"
6138 >  case 527:
6139 > /* Line 1813 of yacc.c  */
6140 > #line 2608 "conf_parser.y"
6141      {
6142    ConfigFileEntry.oper_umodes = 0;
6143   }
6144      break;
6145  
6146 <  case 536:
6147 <
6148 < /* Line 1806 of yacc.c  */
6709 < #line 2809 "conf_parser.y"
6146 >  case 531:
6147 > /* Line 1813 of yacc.c  */
6148 > #line 2614 "conf_parser.y"
6149      {
6150    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6151   }
6152      break;
6153  
6154 <  case 537:
6155 <
6156 < /* Line 1806 of yacc.c  */
6718 < #line 2812 "conf_parser.y"
6154 >  case 532:
6155 > /* Line 1813 of yacc.c  */
6156 > #line 2617 "conf_parser.y"
6157      {
6158    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6159   }
6160      break;
6161  
6162 <  case 538:
6163 <
6164 < /* Line 1806 of yacc.c  */
6727 < #line 2815 "conf_parser.y"
6162 >  case 533:
6163 > /* Line 1813 of yacc.c  */
6164 > #line 2620 "conf_parser.y"
6165      {
6166    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6167   }
6168      break;
6169  
6170 <  case 539:
6171 <
6172 < /* Line 1806 of yacc.c  */
6736 < #line 2818 "conf_parser.y"
6170 >  case 534:
6171 > /* Line 1813 of yacc.c  */
6172 > #line 2623 "conf_parser.y"
6173      {
6174    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6175   }
6176      break;
6177  
6178 <  case 540:
6179 <
6180 < /* Line 1806 of yacc.c  */
6745 < #line 2821 "conf_parser.y"
6178 >  case 535:
6179 > /* Line 1813 of yacc.c  */
6180 > #line 2626 "conf_parser.y"
6181      {
6182    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6183   }
6184      break;
6185  
6186 <  case 541:
6187 <
6188 < /* Line 1806 of yacc.c  */
6754 < #line 2824 "conf_parser.y"
6186 >  case 536:
6187 > /* Line 1813 of yacc.c  */
6188 > #line 2629 "conf_parser.y"
6189      {
6190    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6191   }
6192      break;
6193  
6194 <  case 542:
6195 <
6196 < /* Line 1806 of yacc.c  */
6763 < #line 2827 "conf_parser.y"
6194 >  case 537:
6195 > /* Line 1813 of yacc.c  */
6196 > #line 2632 "conf_parser.y"
6197      {
6198    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6199   }
6200      break;
6201  
6202 <  case 543:
6203 <
6204 < /* Line 1806 of yacc.c  */
6772 < #line 2830 "conf_parser.y"
6202 >  case 538:
6203 > /* Line 1813 of yacc.c  */
6204 > #line 2635 "conf_parser.y"
6205      {
6206    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6207   }
6208      break;
6209  
6210 <  case 544:
6211 <
6212 < /* Line 1806 of yacc.c  */
6781 < #line 2833 "conf_parser.y"
6210 >  case 539:
6211 > /* Line 1813 of yacc.c  */
6212 > #line 2638 "conf_parser.y"
6213      {
6214    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6215   }
6216      break;
6217  
6218 <  case 545:
6219 <
6220 < /* Line 1806 of yacc.c  */
6790 < #line 2836 "conf_parser.y"
6218 >  case 540:
6219 > /* Line 1813 of yacc.c  */
6220 > #line 2641 "conf_parser.y"
6221      {
6222    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6223   }
6224      break;
6225  
6226 <  case 546:
6227 <
6228 < /* Line 1806 of yacc.c  */
6799 < #line 2839 "conf_parser.y"
6226 >  case 541:
6227 > /* Line 1813 of yacc.c  */
6228 > #line 2644 "conf_parser.y"
6229      {
6230    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6231   }
6232      break;
6233  
6234 <  case 547:
6235 <
6236 < /* Line 1806 of yacc.c  */
6808 < #line 2842 "conf_parser.y"
6234 >  case 542:
6235 > /* Line 1813 of yacc.c  */
6236 > #line 2647 "conf_parser.y"
6237      {
6238    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6239   }
6240      break;
6241  
6242 <  case 548:
6243 <
6244 < /* Line 1806 of yacc.c  */
6817 < #line 2845 "conf_parser.y"
6242 >  case 543:
6243 > /* Line 1813 of yacc.c  */
6244 > #line 2650 "conf_parser.y"
6245      {
6246    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6247   }
6248      break;
6249  
6250 <  case 549:
6251 <
6252 < /* Line 1806 of yacc.c  */
6826 < #line 2848 "conf_parser.y"
6250 >  case 544:
6251 > /* Line 1813 of yacc.c  */
6252 > #line 2653 "conf_parser.y"
6253      {
6254    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6255   }
6256      break;
6257  
6258 <  case 550:
6259 <
6260 < /* Line 1806 of yacc.c  */
6835 < #line 2851 "conf_parser.y"
6258 >  case 545:
6259 > /* Line 1813 of yacc.c  */
6260 > #line 2656 "conf_parser.y"
6261      {
6262    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6263   }
6264      break;
6265  
6266 <  case 551:
6267 <
6268 < /* Line 1806 of yacc.c  */
6844 < #line 2854 "conf_parser.y"
6266 >  case 546:
6267 > /* Line 1813 of yacc.c  */
6268 > #line 2659 "conf_parser.y"
6269      {
6270    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6271   }
6272      break;
6273  
6274 <  case 552:
6275 <
6276 < /* Line 1806 of yacc.c  */
6853 < #line 2857 "conf_parser.y"
6274 >  case 547:
6275 > /* Line 1813 of yacc.c  */
6276 > #line 2662 "conf_parser.y"
6277      {
6278    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6279   }
6280      break;
6281  
6282 <  case 553:
6283 <
6284 < /* Line 1806 of yacc.c  */
6862 < #line 2860 "conf_parser.y"
6282 >  case 548:
6283 > /* Line 1813 of yacc.c  */
6284 > #line 2665 "conf_parser.y"
6285      {
6286    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6287   }
6288      break;
6289  
6290 <  case 554:
6291 <
6292 < /* Line 1806 of yacc.c  */
6871 < #line 2863 "conf_parser.y"
6290 >  case 549:
6291 > /* Line 1813 of yacc.c  */
6292 > #line 2668 "conf_parser.y"
6293      {
6294    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6295   }
6296      break;
6297  
6298 <  case 555:
6299 <
6300 < /* Line 1806 of yacc.c  */
6880 < #line 2866 "conf_parser.y"
6298 >  case 550:
6299 > /* Line 1813 of yacc.c  */
6300 > #line 2671 "conf_parser.y"
6301      {
6302    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6303   }
6304      break;
6305  
6306 <  case 556:
6307 <
6308 < /* Line 1806 of yacc.c  */
6889 < #line 2871 "conf_parser.y"
6306 >  case 551:
6307 > /* Line 1813 of yacc.c  */
6308 > #line 2676 "conf_parser.y"
6309      {
6310    ConfigFileEntry.oper_only_umodes = 0;
6311   }
6312      break;
6313  
6314 <  case 560:
6315 <
6316 < /* Line 1806 of yacc.c  */
6898 < #line 2877 "conf_parser.y"
6314 >  case 555:
6315 > /* Line 1813 of yacc.c  */
6316 > #line 2682 "conf_parser.y"
6317      {
6318    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6319   }
6320      break;
6321  
6322 <  case 561:
6323 <
6324 < /* Line 1806 of yacc.c  */
6907 < #line 2880 "conf_parser.y"
6322 >  case 556:
6323 > /* Line 1813 of yacc.c  */
6324 > #line 2685 "conf_parser.y"
6325      {
6326    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6327   }
6328      break;
6329  
6330 <  case 562:
6331 <
6332 < /* Line 1806 of yacc.c  */
6916 < #line 2883 "conf_parser.y"
6330 >  case 557:
6331 > /* Line 1813 of yacc.c  */
6332 > #line 2688 "conf_parser.y"
6333      {
6334    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6335   }
6336      break;
6337  
6338 <  case 563:
6339 <
6340 < /* Line 1806 of yacc.c  */
6925 < #line 2886 "conf_parser.y"
6338 >  case 558:
6339 > /* Line 1813 of yacc.c  */
6340 > #line 2691 "conf_parser.y"
6341      {
6342    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6343   }
6344      break;
6345  
6346 <  case 564:
6347 <
6348 < /* Line 1806 of yacc.c  */
6934 < #line 2889 "conf_parser.y"
6346 >  case 559:
6347 > /* Line 1813 of yacc.c  */
6348 > #line 2694 "conf_parser.y"
6349      {
6350    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6351   }
6352      break;
6353  
6354 <  case 565:
6355 <
6356 < /* Line 1806 of yacc.c  */
6943 < #line 2892 "conf_parser.y"
6354 >  case 560:
6355 > /* Line 1813 of yacc.c  */
6356 > #line 2697 "conf_parser.y"
6357      {
6358    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6359   }
6360      break;
6361  
6362 <  case 566:
6363 <
6364 < /* Line 1806 of yacc.c  */
6952 < #line 2895 "conf_parser.y"
6362 >  case 561:
6363 > /* Line 1813 of yacc.c  */
6364 > #line 2700 "conf_parser.y"
6365      {
6366    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6367   }
6368      break;
6369  
6370 <  case 567:
6371 <
6372 < /* Line 1806 of yacc.c  */
6961 < #line 2898 "conf_parser.y"
6370 >  case 562:
6371 > /* Line 1813 of yacc.c  */
6372 > #line 2703 "conf_parser.y"
6373      {
6374    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6375   }
6376      break;
6377  
6378 <  case 568:
6379 <
6380 < /* Line 1806 of yacc.c  */
6970 < #line 2901 "conf_parser.y"
6378 >  case 563:
6379 > /* Line 1813 of yacc.c  */
6380 > #line 2706 "conf_parser.y"
6381      {
6382    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6383   }
6384      break;
6385  
6386 <  case 569:
6387 <
6388 < /* Line 1806 of yacc.c  */
6979 < #line 2904 "conf_parser.y"
6386 >  case 564:
6387 > /* Line 1813 of yacc.c  */
6388 > #line 2709 "conf_parser.y"
6389      {
6390    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6391   }
6392      break;
6393  
6394 <  case 570:
6395 <
6396 < /* Line 1806 of yacc.c  */
6988 < #line 2907 "conf_parser.y"
6394 >  case 565:
6395 > /* Line 1813 of yacc.c  */
6396 > #line 2712 "conf_parser.y"
6397      {
6398    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6399   }
6400      break;
6401  
6402 <  case 571:
6403 <
6404 < /* Line 1806 of yacc.c  */
6997 < #line 2910 "conf_parser.y"
6402 >  case 566:
6403 > /* Line 1813 of yacc.c  */
6404 > #line 2715 "conf_parser.y"
6405      {
6406    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6407   }
6408      break;
6409  
6410 <  case 572:
6411 <
6412 < /* Line 1806 of yacc.c  */
7006 < #line 2913 "conf_parser.y"
6410 >  case 567:
6411 > /* Line 1813 of yacc.c  */
6412 > #line 2718 "conf_parser.y"
6413      {
6414    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6415   }
6416      break;
6417  
6418 <  case 573:
6419 <
6420 < /* Line 1806 of yacc.c  */
7015 < #line 2916 "conf_parser.y"
6418 >  case 568:
6419 > /* Line 1813 of yacc.c  */
6420 > #line 2721 "conf_parser.y"
6421      {
6422    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6423   }
6424      break;
6425  
6426 <  case 574:
6427 <
6428 < /* Line 1806 of yacc.c  */
7024 < #line 2919 "conf_parser.y"
6426 >  case 569:
6427 > /* Line 1813 of yacc.c  */
6428 > #line 2724 "conf_parser.y"
6429      {
6430    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6431   }
6432      break;
6433  
6434 <  case 575:
6435 <
6436 < /* Line 1806 of yacc.c  */
7033 < #line 2922 "conf_parser.y"
6434 >  case 570:
6435 > /* Line 1813 of yacc.c  */
6436 > #line 2727 "conf_parser.y"
6437      {
6438    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6439   }
6440      break;
6441  
6442 <  case 576:
6443 <
6444 < /* Line 1806 of yacc.c  */
7042 < #line 2925 "conf_parser.y"
6442 >  case 571:
6443 > /* Line 1813 of yacc.c  */
6444 > #line 2730 "conf_parser.y"
6445      {
6446    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6447   }
6448      break;
6449  
6450 <  case 577:
6451 <
6452 < /* Line 1806 of yacc.c  */
7051 < #line 2928 "conf_parser.y"
6450 >  case 572:
6451 > /* Line 1813 of yacc.c  */
6452 > #line 2733 "conf_parser.y"
6453      {
6454    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6455   }
6456      break;
6457  
6458 <  case 578:
6459 <
6460 < /* Line 1806 of yacc.c  */
7060 < #line 2931 "conf_parser.y"
6458 >  case 573:
6459 > /* Line 1813 of yacc.c  */
6460 > #line 2736 "conf_parser.y"
6461      {
6462    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6463   }
6464      break;
6465  
6466 <  case 579:
6467 <
6468 < /* Line 1806 of yacc.c  */
7069 < #line 2934 "conf_parser.y"
6466 >  case 574:
6467 > /* Line 1813 of yacc.c  */
6468 > #line 2739 "conf_parser.y"
6469      {
6470    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6471   }
6472      break;
6473  
6474 <  case 580:
6475 <
6476 < /* Line 1806 of yacc.c  */
7078 < #line 2939 "conf_parser.y"
6474 >  case 575:
6475 > /* Line 1813 of yacc.c  */
6476 > #line 2744 "conf_parser.y"
6477      {
6478    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6479   }
6480      break;
6481  
6482 <  case 581:
6483 <
6484 < /* Line 1806 of yacc.c  */
7087 < #line 2944 "conf_parser.y"
6482 >  case 576:
6483 > /* Line 1813 of yacc.c  */
6484 > #line 2749 "conf_parser.y"
6485      {
6486    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6487   }
6488      break;
6489  
6490 <  case 582:
6491 <
6492 < /* Line 1806 of yacc.c  */
7096 < #line 2949 "conf_parser.y"
6490 >  case 577:
6491 > /* Line 1813 of yacc.c  */
6492 > #line 2754 "conf_parser.y"
6493      {
6494    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6495   }
6496      break;
6497  
7102  case 583:
7103
7104 /* Line 1806 of yacc.c  */
7105 #line 2954 "conf_parser.y"
7106    {
7107  ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
7108 }
7109    break;
7110
7111  case 584:
7112
7113 /* Line 1806 of yacc.c  */
7114 #line 2963 "conf_parser.y"
7115    {
7116  if (conf_parser_ctx.pass == 2)
7117  {
7118    yy_conf = make_conf_item(GDENY_TYPE);
7119    yy_aconf = map_to_conf(yy_conf);
7120  }
7121 }
7122    break;
7123
7124  case 585:
7125
7126 /* Line 1806 of yacc.c  */
7127 #line 2970 "conf_parser.y"
7128    {
7129  if (conf_parser_ctx.pass == 2)
7130  {
7131    /*
7132     * since we re-allocate yy_conf/yy_aconf after the end of action=, at the
7133     * end we will have one extra, so we should free it.
7134     */
7135    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7136    {
7137      delete_conf_item(yy_conf);
7138      yy_conf = NULL;
7139      yy_aconf = NULL;
7140    }
7141  }
7142 }
7143    break;
7144
7145  case 595:
7146
7147 /* Line 1806 of yacc.c  */
7148 #line 2996 "conf_parser.y"
7149    {
7150  if (conf_parser_ctx.pass == 2)
7151    ConfigFileEntry.glines = yylval.number;
7152 }
7153    break;
7154
6498    case 596:
6499 <
6500 < /* Line 1806 of yacc.c  */
7158 < #line 3002 "conf_parser.y"
7159 <    {
7160 <  if (conf_parser_ctx.pass == 2)
7161 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7162 < }
7163 <    break;
7164 <
7165 <  case 597:
7166 <
7167 < /* Line 1806 of yacc.c  */
7168 < #line 3008 "conf_parser.y"
7169 <    {
7170 <  if (conf_parser_ctx.pass == 2)
7171 <    ConfigFileEntry.gline_logging = 0;
7172 < }
7173 <    break;
7174 <
7175 <  case 601:
7176 <
7177 < /* Line 1806 of yacc.c  */
7178 < #line 3014 "conf_parser.y"
7179 <    {
7180 <  if (conf_parser_ctx.pass == 2)
7181 <    ConfigFileEntry.gline_logging |= GDENY_REJECT;
7182 < }
7183 <    break;
7184 <
7185 <  case 602:
7186 <
7187 < /* Line 1806 of yacc.c  */
7188 < #line 3018 "conf_parser.y"
7189 <    {
7190 <  if (conf_parser_ctx.pass == 2)
7191 <    ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7192 < }
7193 <    break;
7194 <
7195 <  case 603:
7196 <
7197 < /* Line 1806 of yacc.c  */
7198 < #line 3024 "conf_parser.y"
7199 <    {
7200 <  if (conf_parser_ctx.pass == 2)
7201 <  {
7202 <    struct split_nuh_item nuh;
7203 <
7204 <    nuh.nuhmask  = yylval.string;
7205 <    nuh.nickptr  = NULL;
7206 <    nuh.userptr  = userbuf;
7207 <    nuh.hostptr  = hostbuf;
7208 <
7209 <    nuh.nicksize = 0;
7210 <    nuh.usersize = sizeof(userbuf);
7211 <    nuh.hostsize = sizeof(hostbuf);
7212 <
7213 <    split_nuh(&nuh);
7214 <
7215 <    if (yy_aconf->user == NULL)
7216 <    {
7217 <      DupString(yy_aconf->user, userbuf);
7218 <      DupString(yy_aconf->host, hostbuf);
7219 <    }
7220 <    else
7221 <    {
7222 <      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
7223 <
7224 <      DupString(yy_tmp->user, userbuf);
7225 <      DupString(yy_tmp->host, hostbuf);
7226 <
7227 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
7228 <    }
7229 <  }
7230 < }
7231 <    break;
7232 <
7233 <  case 604:
7234 <
7235 < /* Line 1806 of yacc.c  */
7236 < #line 3058 "conf_parser.y"
7237 <    {
7238 <  if (conf_parser_ctx.pass == 2)  
7239 <  {
7240 <    MyFree(yy_conf->name);
7241 <    DupString(yy_conf->name, yylval.string);
7242 <  }
7243 < }
7244 <    break;
7245 <
7246 <  case 605:
7247 <
7248 < /* Line 1806 of yacc.c  */
7249 < #line 3067 "conf_parser.y"
7250 <    {
7251 <  if (conf_parser_ctx.pass == 2)
7252 <    yy_aconf->flags = 0;
7253 < }
7254 <    break;
7255 <
7256 <  case 606:
7257 <
7258 < /* Line 1806 of yacc.c  */
7259 < #line 3071 "conf_parser.y"
7260 <    {
7261 <  if (conf_parser_ctx.pass == 2)
7262 <  {
7263 <    struct CollectItem *yy_tmp = NULL;
7264 <    dlink_node *ptr, *next_ptr;
7265 <
7266 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
7267 <    {
7268 <      struct AccessItem *new_aconf;
7269 <      struct ConfItem *new_conf;
7270 <
7271 <      yy_tmp = ptr->data;
7272 <      new_conf = make_conf_item(GDENY_TYPE);
7273 <      new_aconf = map_to_conf(new_conf);
7274 <
7275 <      new_aconf->flags = yy_aconf->flags;
7276 <
7277 <      if (yy_conf->name != NULL)
7278 <        DupString(new_conf->name, yy_conf->name);
7279 <      else
7280 <        DupString(new_conf->name, "*");
7281 <      if (yy_aconf->user != NULL)
7282 <         DupString(new_aconf->user, yy_tmp->user);
7283 <      else  
7284 <        DupString(new_aconf->user, "*");
7285 <      if (yy_aconf->host != NULL)
7286 <        DupString(new_aconf->host, yy_tmp->host);
7287 <      else
7288 <        DupString(new_aconf->host, "*");
7289 <
7290 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
7291 <    }
7292 <
7293 <    /*
7294 <     * In case someone has fed us with more than one action= after user/name
7295 <     * which would leak memory  -Michael
7296 <     */
7297 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7298 <      delete_conf_item(yy_conf);
7299 <
7300 <    yy_conf = make_conf_item(GDENY_TYPE);
7301 <    yy_aconf = map_to_conf(yy_conf);
7302 <  }
7303 < }
7304 <    break;
7305 <
7306 <  case 609:
7307 <
7308 < /* Line 1806 of yacc.c  */
7309 < #line 3118 "conf_parser.y"
7310 <    {
7311 <  if (conf_parser_ctx.pass == 2)
7312 <    yy_aconf->flags |= GDENY_REJECT;
7313 < }
7314 <    break;
7315 <
7316 <  case 610:
7317 <
7318 < /* Line 1806 of yacc.c  */
7319 < #line 3122 "conf_parser.y"
7320 <    {
7321 <  if (conf_parser_ctx.pass == 2)
7322 <    yy_aconf->flags |= GDENY_BLOCK;
7323 < }
7324 <    break;
7325 <
7326 <  case 632:
7327 <
7328 < /* Line 1806 of yacc.c  */
7329 < #line 3146 "conf_parser.y"
6499 > /* Line 1813 of yacc.c  */
6500 > #line 2777 "conf_parser.y"
6501      {
6502    ConfigChannel.disable_fake_channels = yylval.number;
6503   }
6504      break;
6505  
6506 <  case 633:
6507 <
6508 < /* Line 1806 of yacc.c  */
7338 < #line 3151 "conf_parser.y"
6506 >  case 597:
6507 > /* Line 1813 of yacc.c  */
6508 > #line 2782 "conf_parser.y"
6509      {
6510    ConfigChannel.restrict_channels = yylval.number;
6511   }
6512      break;
6513  
6514 <  case 634:
6515 <
6516 < /* Line 1806 of yacc.c  */
7347 < #line 3156 "conf_parser.y"
7348 <    {
7349 <  ConfigChannel.disable_local_channels = yylval.number;
7350 < }
7351 <    break;
7352 <
7353 <  case 635:
7354 <
7355 < /* Line 1806 of yacc.c  */
7356 < #line 3161 "conf_parser.y"
7357 <    {
7358 <  ConfigChannel.use_except = yylval.number;
7359 < }
7360 <    break;
7361 <
7362 <  case 636:
7363 <
7364 < /* Line 1806 of yacc.c  */
7365 < #line 3166 "conf_parser.y"
7366 <    {
7367 <  ConfigChannel.use_invex = yylval.number;
7368 < }
7369 <    break;
7370 <
7371 <  case 637:
7372 <
7373 < /* Line 1806 of yacc.c  */
7374 < #line 3171 "conf_parser.y"
7375 <    {
7376 <  ConfigChannel.use_knock = yylval.number;
7377 < }
7378 <    break;
7379 <
7380 <  case 638:
7381 <
7382 < /* Line 1806 of yacc.c  */
7383 < #line 3176 "conf_parser.y"
6514 >  case 598:
6515 > /* Line 1813 of yacc.c  */
6516 > #line 2787 "conf_parser.y"
6517      {
6518    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6519   }
6520      break;
6521  
6522 <  case 639:
6523 <
6524 < /* Line 1806 of yacc.c  */
7392 < #line 3181 "conf_parser.y"
6522 >  case 599:
6523 > /* Line 1813 of yacc.c  */
6524 > #line 2792 "conf_parser.y"
6525      {
6526    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6527   }
6528      break;
6529  
6530 <  case 640:
6531 <
6532 < /* Line 1806 of yacc.c  */
7401 < #line 3186 "conf_parser.y"
6530 >  case 600:
6531 > /* Line 1813 of yacc.c  */
6532 > #line 2797 "conf_parser.y"
6533      {
6534    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6535   }
6536      break;
6537  
6538 <  case 641:
6538 >  case 601:
6539 > /* Line 1813 of yacc.c  */
6540 > #line 2802 "conf_parser.y"
6541 >    {
6542 >  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6543 > }
6544 >    break;
6545  
6546 < /* Line 1806 of yacc.c  */
6547 < #line 3191 "conf_parser.y"
6546 >  case 602:
6547 > /* Line 1813 of yacc.c  */
6548 > #line 2807 "conf_parser.y"
6549      {
6550    ConfigChannel.quiet_on_ban = yylval.number;
6551   }
6552      break;
6553  
6554 <  case 642:
6555 <
6556 < /* Line 1806 of yacc.c  */
7419 < #line 3196 "conf_parser.y"
6554 >  case 603:
6555 > /* Line 1813 of yacc.c  */
6556 > #line 2812 "conf_parser.y"
6557      {
6558    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6559   }
6560      break;
6561  
6562 <  case 643:
6563 <
6564 < /* Line 1806 of yacc.c  */
7428 < #line 3201 "conf_parser.y"
6562 >  case 604:
6563 > /* Line 1813 of yacc.c  */
6564 > #line 2817 "conf_parser.y"
6565      {
6566    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6567   }
6568      break;
6569  
6570 <  case 644:
6571 <
6572 < /* Line 1806 of yacc.c  */
7437 < #line 3206 "conf_parser.y"
6570 >  case 605:
6571 > /* Line 1813 of yacc.c  */
6572 > #line 2822 "conf_parser.y"
6573      {
6574    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6575   }
6576      break;
6577  
6578 <  case 645:
6579 <
6580 < /* Line 1806 of yacc.c  */
7446 < #line 3211 "conf_parser.y"
6578 >  case 606:
6579 > /* Line 1813 of yacc.c  */
6580 > #line 2827 "conf_parser.y"
6581      {
6582    ConfigChannel.no_create_on_split = yylval.number;
6583   }
6584      break;
6585  
6586 <  case 646:
6587 <
6588 < /* Line 1806 of yacc.c  */
7455 < #line 3216 "conf_parser.y"
6586 >  case 607:
6587 > /* Line 1813 of yacc.c  */
6588 > #line 2832 "conf_parser.y"
6589      {
6590    ConfigChannel.no_join_on_split = yylval.number;
6591   }
6592      break;
6593  
6594 <  case 647:
6595 <
6596 < /* Line 1806 of yacc.c  */
7464 < #line 3221 "conf_parser.y"
6594 >  case 608:
6595 > /* Line 1813 of yacc.c  */
6596 > #line 2837 "conf_parser.y"
6597      {
6598    GlobalSetOptions.joinfloodcount = yylval.number;
6599   }
6600      break;
6601  
6602 <  case 648:
6603 <
6604 < /* Line 1806 of yacc.c  */
7473 < #line 3226 "conf_parser.y"
6602 >  case 609:
6603 > /* Line 1813 of yacc.c  */
6604 > #line 2842 "conf_parser.y"
6605      {
6606    GlobalSetOptions.joinfloodtime = yylval.number;
6607   }
6608      break;
6609  
6610 <  case 660:
6611 <
6612 < /* Line 1806 of yacc.c  */
7482 < #line 3245 "conf_parser.y"
6610 >  case 620:
6611 > /* Line 1813 of yacc.c  */
6612 > #line 2860 "conf_parser.y"
6613      {
6614    if (conf_parser_ctx.pass == 2)
6615      ConfigServerHide.flatten_links = yylval.number;
6616   }
6617      break;
6618  
6619 <  case 661:
6620 <
6621 < /* Line 1806 of yacc.c  */
7492 < #line 3251 "conf_parser.y"
6619 >  case 621:
6620 > /* Line 1813 of yacc.c  */
6621 > #line 2866 "conf_parser.y"
6622      {
6623    if (conf_parser_ctx.pass == 2)
6624      ConfigServerHide.hide_servers = yylval.number;
6625   }
6626      break;
6627  
6628 <  case 662:
6629 <
6630 < /* Line 1806 of yacc.c  */
7502 < #line 3257 "conf_parser.y"
6628 >  case 622:
6629 > /* Line 1813 of yacc.c  */
6630 > #line 2872 "conf_parser.y"
6631      {
6632    if (conf_parser_ctx.pass == 2)
6633    {
6634      MyFree(ConfigServerHide.hidden_name);
6635 <    DupString(ConfigServerHide.hidden_name, yylval.string);
6635 >    ConfigServerHide.hidden_name = xstrdup(yylval.string);
6636    }
6637   }
6638      break;
6639  
6640 <  case 663:
6641 <
6642 < /* Line 1806 of yacc.c  */
7515 < #line 3266 "conf_parser.y"
6640 >  case 623:
6641 > /* Line 1813 of yacc.c  */
6642 > #line 2881 "conf_parser.y"
6643      {
6644    if (conf_parser_ctx.pass == 2)
6645    {
# Line 7527 | Line 6654 | yyreduce:
6654   }
6655      break;
6656  
6657 <  case 664:
6658 <
6659 < /* Line 1806 of yacc.c  */
7533 < #line 3280 "conf_parser.y"
6657 >  case 624:
6658 > /* Line 1813 of yacc.c  */
6659 > #line 2895 "conf_parser.y"
6660      {
6661    if (conf_parser_ctx.pass == 2)
6662      ConfigServerHide.hidden = yylval.number;
6663   }
6664      break;
6665  
6666 <  case 665:
6667 <
6668 < /* Line 1806 of yacc.c  */
7543 < #line 3286 "conf_parser.y"
7544 <    {
7545 <  if (conf_parser_ctx.pass == 2)
7546 <    ConfigServerHide.disable_hidden = yylval.number;
7547 < }
7548 <    break;
7549 <
7550 <  case 666:
7551 <
7552 < /* Line 1806 of yacc.c  */
7553 < #line 3292 "conf_parser.y"
6666 >  case 625:
6667 > /* Line 1813 of yacc.c  */
6668 > #line 2901 "conf_parser.y"
6669      {
6670    if (conf_parser_ctx.pass == 2)
6671      ConfigServerHide.hide_server_ips = yylval.number;
# Line 7558 | Line 6673 | yyreduce:
6673      break;
6674  
6675  
6676 <
6677 < /* Line 1806 of yacc.c  */
7563 < #line 7564 "conf_parser.c"
6676 > /* Line 1813 of yacc.c  */
6677 > #line 6678 "conf_parser.c"
6678        default: break;
6679      }
6680    /* User semantic actions sometimes alter yychar, and that requires
# Line 7723 | Line 6837 | yyerrlab1:
6837        YY_STACK_PRINT (yyss, yyssp);
6838      }
6839  
6840 +  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
6841    *++yyvsp = yylval;
6842 +  YY_IGNORE_MAYBE_UNINITIALIZED_END
6843  
6844  
6845    /* Shift the error token.  */
# Line 7747 | Line 6863 | yyabortlab:
6863    yyresult = 1;
6864    goto yyreturn;
6865  
6866 < #if !defined(yyoverflow) || YYERROR_VERBOSE
6866 > #if !defined yyoverflow || YYERROR_VERBOSE
6867   /*-------------------------------------------------.
6868   | yyexhaustedlab -- memory exhaustion comes here.  |
6869   `-------------------------------------------------*/
# Line 7789 | Line 6905 | yyreturn:
6905   }
6906  
6907  
7792

Diff Legend

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