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 1432 by michael, Sat Jun 9 19:40:08 2012 UTC vs.
ircd-hybrid/trunk/src/conf_parser.c (file contents), Revision 1651 by michael, Sun Nov 11 10:54:51 2012 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.5.1.  */
1 > /* A Bison parser, made by GNU Bison 2.6.5.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4    
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.5.1"
47 > #define YYBISON_VERSION "2.6.5"
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 360 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 102 | Line 100
100  
101   int yylex(void);
102  
103 < static char *class_name = NULL;
106 < static struct ConfItem *yy_conf = NULL;
107 < static struct AccessItem *yy_aconf = NULL;
108 < static struct MatchItem *yy_match_item = NULL;
109 < static struct ClassItem *yy_class = NULL;
110 < static char *yy_class_name = NULL;
111 <
112 < static dlink_list col_conf_list  = { NULL, NULL, 0 };
113 < static unsigned int listener_flags = 0;
114 < static unsigned int regex_ban = 0;
115 < static char userbuf[IRCD_BUFSIZE];
116 < static char hostbuf[IRCD_BUFSIZE];
117 < static char reasonbuf[REASONLEN + 1];
118 < static char gecos_name[REALLEN * 4];
119 < static char lfile[IRCD_BUFSIZE];
120 < static unsigned int ltype = 0;
121 < static unsigned int lsize = 0;
122 < static char *resv_reason = NULL;
123 < static char *listener_address = NULL;
124 <
125 < struct CollectItem
103 > static struct
104   {
105 <  dlink_node node;
106 <  char *name;
107 <  char *user;
108 <  char *host;
109 <  char *passwd;
110 <  int  port;
111 <  int  flags;
112 < #ifdef HAVE_LIBCRYPTO
113 <  char *rsa_public_key_file;
114 <  RSA *rsa_public_key;
115 < #endif
116 < };
105 >  struct {
106 >    dlink_list list;
107 >  } mask,
108 >    leaf,
109 >    hub;
110 >
111 >  struct {
112 >    char buf[IRCD_BUFSIZE];
113 >  } name,
114 >    user,
115 >    host,
116 >    addr,
117 >    bind,
118 >    file,
119 >    ciph,
120 >    rpass,
121 >    spass,
122 >    class;
123 >
124 >  struct {
125 >    unsigned int value;
126 >  } flags,
127 >    modes,
128 >    size,
129 >    type,
130 >    port,
131 >    aftype,
132 >    ping_freq,
133 >    max_perip,
134 >    con_freq,
135 >    max_total,
136 >    max_global,
137 >    max_local,
138 >    max_ident,
139 >    max_sendq,
140 >    max_recvq,
141 >    cidr_bitlen_ipv4,
142 >    cidr_bitlen_ipv6,
143 >    number_per_cidr;
144 > } block_state;
145  
146   static void
147 < free_collect_item(struct CollectItem *item)
147 > reset_block_state(void)
148   {
149 <  MyFree(item->name);
144 <  MyFree(item->user);
145 <  MyFree(item->host);
146 <  MyFree(item->passwd);
147 < #ifdef HAVE_LIBCRYPTO
148 <  MyFree(item->rsa_public_key_file);
149 < #endif
150 <  MyFree(item);
151 < }
149 >  dlink_node *ptr = NULL, *ptr_next = NULL;
150  
151 +  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.mask.list.head)
152 +  {
153 +    MyFree(ptr->data);
154 +    dlinkDelete(ptr, &block_state.mask.list);
155 +    free_dlink_node(ptr);
156 +  }
157 +
158 +  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.leaf.list.head)
159 +  {
160 +    MyFree(ptr->data);
161 +    dlinkDelete(ptr, &block_state.leaf.list);
162 +    free_dlink_node(ptr);
163 +  }
164 +
165 +  DLINK_FOREACH_SAFE(ptr, ptr_next, block_state.hub.list.head)
166 +  {
167 +    MyFree(ptr->data);
168 +    dlinkDelete(ptr, &block_state.hub.list);
169 +    free_dlink_node(ptr);
170 +  }
171 +
172 +  memset(&block_state, 0, sizeof(block_state));
173 + }
174  
175  
176 < /* Line 268 of yacc.c  */
177 < #line 157 "conf_parser.c"
176 > /* Line 360 of yacc.c  */
177 > #line 178 "conf_parser.c"
178  
179   # ifndef YY_NULL
180   #  if defined __cplusplus && 201103L <= __cplusplus
# Line 163 | Line 184 | free_collect_item(struct CollectItem *it
184   #  endif
185   # endif
186  
166 /* Enabling traces.  */
167 #ifndef YYDEBUG
168 # define YYDEBUG 0
169 #endif
170
187   /* Enabling verbose error messages.  */
188   #ifdef YYERROR_VERBOSE
189   # undef YYERROR_VERBOSE
# Line 176 | Line 192 | free_collect_item(struct CollectItem *it
192   # define YYERROR_VERBOSE 0
193   #endif
194  
195 < /* Enabling the token table.  */
196 < #ifndef YYTOKEN_TABLE
197 < # define YYTOKEN_TABLE 0
195 > /* In a future release of Bison, this section will be replaced
196 >   by #include "y.tab.h".  */
197 > #ifndef YY_YY_Y_TAB_H_INCLUDED
198 > # define YY_YY_Y_TAB_H_INCLUDED
199 > /* Enabling traces.  */
200 > #ifndef YYDEBUG
201 > # define YYDEBUG 0
202 > #endif
203 > #if YYDEBUG
204 > extern int yydebug;
205   #endif
183
206  
207   /* Tokens.  */
208   #ifndef YYTOKENTYPE
# Line 189 | Line 211 | free_collect_item(struct CollectItem *it
211        know about them.  */
212     enum yytokentype {
213       ACCEPT_PASSWORD = 258,
214 <     ACTION = 259,
215 <     ADMIN = 260,
216 <     AFTYPE = 261,
217 <     T_ALLOW = 262,
218 <     ANTI_NICK_FLOOD = 263,
219 <     ANTI_SPAM_EXIT_MESSAGE_TIME = 264,
220 <     AUTOCONN = 265,
221 <     T_BLOCK = 266,
222 <     BURST_AWAY = 267,
223 <     BYTES = 268,
224 <     KBYTES = 269,
225 <     MBYTES = 270,
226 <     GBYTES = 271,
227 <     TBYTES = 272,
228 <     CALLER_ID_WAIT = 273,
229 <     CAN_FLOOD = 274,
230 <     CHANNEL = 275,
231 <     CIDR_BITLEN_IPV4 = 276,
232 <     CIDR_BITLEN_IPV6 = 277,
233 <     CLASS = 278,
234 <     CONNECT = 279,
235 <     CONNECTFREQ = 280,
236 <     DEFAULT_FLOODCOUNT = 281,
237 <     DEFAULT_SPLIT_SERVER_COUNT = 282,
238 <     DEFAULT_SPLIT_USER_COUNT = 283,
239 <     DENY = 284,
240 <     DESCRIPTION = 285,
241 <     DIE = 286,
242 <     DISABLE_AUTH = 287,
243 <     DISABLE_FAKE_CHANNELS = 288,
244 <     DISABLE_HIDDEN = 289,
245 <     DISABLE_LOCAL_CHANNELS = 290,
246 <     DISABLE_REMOTE_COMMANDS = 291,
247 <     DOTS_IN_IDENT = 292,
248 <     DURATION = 293,
249 <     EGDPOOL_PATH = 294,
250 <     EMAIL = 295,
251 <     ENABLE = 296,
252 <     ENCRYPTED = 297,
253 <     EXCEED_LIMIT = 298,
254 <     EXEMPT = 299,
255 <     FAILED_OPER_NOTICE = 300,
256 <     IRCD_FLAGS = 301,
257 <     FLATTEN_LINKS = 302,
258 <     GECOS = 303,
259 <     GENERAL = 304,
260 <     GLINE = 305,
261 <     GLINES = 306,
262 <     GLINE_EXEMPT = 307,
263 <     GLINE_TIME = 308,
264 <     GLINE_MIN_CIDR = 309,
265 <     GLINE_MIN_CIDR6 = 310,
266 <     GLOBAL_KILL = 311,
267 <     IRCD_AUTH = 312,
268 <     NEED_IDENT = 313,
269 <     HAVENT_READ_CONF = 314,
270 <     HIDDEN = 315,
271 <     HIDDEN_NAME = 316,
272 <     HIDE_SERVER_IPS = 317,
273 <     HIDE_SERVERS = 318,
274 <     HIDE_SPOOF_IPS = 319,
275 <     HOST = 320,
276 <     HUB = 321,
277 <     HUB_MASK = 322,
278 <     IGNORE_BOGUS_TS = 323,
279 <     INVISIBLE_ON_CONNECT = 324,
280 <     IP = 325,
281 <     KILL = 326,
282 <     KILL_CHASE_TIME_LIMIT = 327,
283 <     KLINE = 328,
284 <     KLINE_EXEMPT = 329,
285 <     KLINE_REASON = 330,
286 <     KLINE_WITH_REASON = 331,
287 <     KNOCK_DELAY = 332,
288 <     KNOCK_DELAY_CHANNEL = 333,
289 <     LEAF_MASK = 334,
290 <     LINKS_DELAY = 335,
291 <     LISTEN = 336,
292 <     T_LOG = 337,
293 <     MAX_ACCEPT = 338,
294 <     MAX_BANS = 339,
295 <     MAX_CHANS_PER_OPER = 340,
296 <     MAX_CHANS_PER_USER = 341,
297 <     MAX_GLOBAL = 342,
298 <     MAX_IDENT = 343,
299 <     MAX_LOCAL = 344,
300 <     MAX_NICK_CHANGES = 345,
301 <     MAX_NICK_TIME = 346,
302 <     MAX_NUMBER = 347,
303 <     MAX_TARGETS = 348,
304 <     MAX_WATCH = 349,
305 <     MESSAGE_LOCALE = 350,
306 <     MIN_NONWILDCARD = 351,
307 <     MIN_NONWILDCARD_SIMPLE = 352,
308 <     MODULE = 353,
309 <     MODULES = 354,
310 <     NAME = 355,
311 <     NEED_PASSWORD = 356,
312 <     NETWORK_DESC = 357,
313 <     NETWORK_NAME = 358,
314 <     NICK = 359,
315 <     NICK_CHANGES = 360,
316 <     NO_CREATE_ON_SPLIT = 361,
317 <     NO_JOIN_ON_SPLIT = 362,
318 <     NO_OPER_FLOOD = 363,
319 <     NO_TILDE = 364,
320 <     NUMBER = 365,
321 <     NUMBER_PER_IDENT = 366,
322 <     NUMBER_PER_CIDR = 367,
323 <     NUMBER_PER_IP = 368,
324 <     NUMBER_PER_IP_GLOBAL = 369,
325 <     OPERATOR = 370,
326 <     OPERS_BYPASS_CALLERID = 371,
327 <     OPER_ONLY_UMODES = 372,
328 <     OPER_PASS_RESV = 373,
329 <     OPER_SPY_T = 374,
330 <     OPER_UMODES = 375,
331 <     JOIN_FLOOD_COUNT = 376,
332 <     JOIN_FLOOD_TIME = 377,
333 <     PACE_WAIT = 378,
334 <     PACE_WAIT_SIMPLE = 379,
335 <     PASSWORD = 380,
336 <     PATH = 381,
337 <     PING_COOKIE = 382,
338 <     PING_TIME = 383,
339 <     PING_WARNING = 384,
340 <     PORT = 385,
341 <     QSTRING = 386,
342 <     QUIET_ON_BAN = 387,
343 <     REASON = 388,
344 <     REDIRPORT = 389,
345 <     REDIRSERV = 390,
346 <     REGEX_T = 391,
347 <     REHASH = 392,
348 <     TREJECT_HOLD_TIME = 393,
349 <     REMOTE = 394,
350 <     REMOTEBAN = 395,
351 <     RESTRICT_CHANNELS = 396,
352 <     RESTRICTED = 397,
353 <     RSA_PRIVATE_KEY_FILE = 398,
354 <     RSA_PUBLIC_KEY_FILE = 399,
355 <     SSL_CERTIFICATE_FILE = 400,
356 <     SSL_DH_PARAM_FILE = 401,
357 <     T_SSL_CLIENT_METHOD = 402,
358 <     T_SSL_SERVER_METHOD = 403,
359 <     T_SSLV3 = 404,
360 <     T_TLSV1 = 405,
361 <     RESV = 406,
362 <     RESV_EXEMPT = 407,
363 <     SECONDS = 408,
364 <     MINUTES = 409,
365 <     HOURS = 410,
366 <     DAYS = 411,
367 <     WEEKS = 412,
368 <     SENDQ = 413,
369 <     SEND_PASSWORD = 414,
370 <     SERVERHIDE = 415,
371 <     SERVERINFO = 416,
372 <     IRCD_SID = 417,
373 <     TKLINE_EXPIRE_NOTICES = 418,
374 <     T_SHARED = 419,
375 <     T_CLUSTER = 420,
376 <     TYPE = 421,
377 <     SHORT_MOTD = 422,
378 <     SILENT = 423,
379 <     SPOOF = 424,
380 <     SPOOF_NOTICE = 425,
381 <     STATS_E_DISABLED = 426,
382 <     STATS_I_OPER_ONLY = 427,
383 <     STATS_K_OPER_ONLY = 428,
384 <     STATS_O_OPER_ONLY = 429,
385 <     STATS_P_OPER_ONLY = 430,
386 <     TBOOL = 431,
387 <     TMASKED = 432,
388 <     T_REJECT = 433,
389 <     TS_MAX_DELTA = 434,
390 <     TS_WARN_DELTA = 435,
391 <     TWODOTS = 436,
392 <     T_ALL = 437,
393 <     T_BOTS = 438,
394 <     T_SOFTCALLERID = 439,
395 <     T_CALLERID = 440,
396 <     T_CCONN = 441,
397 <     T_CCONN_FULL = 442,
398 <     T_SSL_CIPHER_LIST = 443,
399 <     T_CLIENT_FLOOD = 444,
400 <     T_DEAF = 445,
401 <     T_DEBUG = 446,
402 <     T_DLINE = 447,
403 <     T_DRONE = 448,
404 <     T_EXTERNAL = 449,
405 <     T_FULL = 450,
406 <     T_INVISIBLE = 451,
407 <     T_IPV4 = 452,
408 <     T_IPV6 = 453,
409 <     T_LOCOPS = 454,
410 <     T_MAX_CLIENTS = 455,
411 <     T_NCHANGE = 456,
412 <     T_OPERWALL = 457,
413 <     T_REJ = 458,
414 <     T_SERVER = 459,
415 <     T_SERVNOTICE = 460,
416 <     T_SKILL = 461,
417 <     T_SPY = 462,
418 <     T_SSL = 463,
419 <     T_UMODES = 464,
420 <     T_UNAUTH = 465,
421 <     T_UNDLINE = 466,
422 <     T_UNLIMITED = 467,
423 <     T_UNRESV = 468,
402 <     T_UNXLINE = 469,
403 <     T_GLOBOPS = 470,
404 <     T_WALLOP = 471,
405 <     T_RESTART = 472,
406 <     T_SERVICE = 473,
407 <     T_SERVICES_NAME = 474,
408 <     THROTTLE_TIME = 475,
409 <     TOPICBURST = 476,
410 <     TRUE_NO_OPER_FLOOD = 477,
411 <     TKLINE = 478,
412 <     TXLINE = 479,
413 <     TRESV = 480,
414 <     UNKLINE = 481,
415 <     USER = 482,
416 <     USE_EGD = 483,
417 <     USE_EXCEPT = 484,
418 <     USE_INVEX = 485,
419 <     USE_KNOCK = 486,
420 <     USE_LOGGING = 487,
421 <     USE_WHOIS_ACTUALLY = 488,
422 <     VHOST = 489,
423 <     VHOST6 = 490,
424 <     XLINE = 491,
425 <     WARN = 492,
426 <     WARN_NO_NLINE = 493,
427 <     T_SIZE = 494,
428 <     T_FILE = 495
214 >     ADMIN = 259,
215 >     AFTYPE = 260,
216 >     ANTI_NICK_FLOOD = 261,
217 >     ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
218 >     AUTOCONN = 263,
219 >     BYTES = 264,
220 >     KBYTES = 265,
221 >     MBYTES = 266,
222 >     CALLER_ID_WAIT = 267,
223 >     CAN_FLOOD = 268,
224 >     CHANNEL = 269,
225 >     CIDR_BITLEN_IPV4 = 270,
226 >     CIDR_BITLEN_IPV6 = 271,
227 >     CLASS = 272,
228 >     CONNECT = 273,
229 >     CONNECTFREQ = 274,
230 >     DEFAULT_FLOODCOUNT = 275,
231 >     DEFAULT_SPLIT_SERVER_COUNT = 276,
232 >     DEFAULT_SPLIT_USER_COUNT = 277,
233 >     DENY = 278,
234 >     DESCRIPTION = 279,
235 >     DIE = 280,
236 >     DISABLE_AUTH = 281,
237 >     DISABLE_FAKE_CHANNELS = 282,
238 >     DISABLE_REMOTE_COMMANDS = 283,
239 >     DOTS_IN_IDENT = 284,
240 >     EGDPOOL_PATH = 285,
241 >     EMAIL = 286,
242 >     ENCRYPTED = 287,
243 >     EXCEED_LIMIT = 288,
244 >     EXEMPT = 289,
245 >     FAILED_OPER_NOTICE = 290,
246 >     IRCD_FLAGS = 291,
247 >     FLATTEN_LINKS = 292,
248 >     GECOS = 293,
249 >     GENERAL = 294,
250 >     GLINE = 295,
251 >     GLINE_DURATION = 296,
252 >     GLINE_ENABLE = 297,
253 >     GLINE_EXEMPT = 298,
254 >     GLINE_REQUEST_DURATION = 299,
255 >     GLINE_MIN_CIDR = 300,
256 >     GLINE_MIN_CIDR6 = 301,
257 >     GLOBAL_KILL = 302,
258 >     IRCD_AUTH = 303,
259 >     NEED_IDENT = 304,
260 >     HAVENT_READ_CONF = 305,
261 >     HIDDEN = 306,
262 >     HIDDEN_NAME = 307,
263 >     HIDE_SERVER_IPS = 308,
264 >     HIDE_SERVERS = 309,
265 >     HIDE_SPOOF_IPS = 310,
266 >     HOST = 311,
267 >     HUB = 312,
268 >     HUB_MASK = 313,
269 >     IGNORE_BOGUS_TS = 314,
270 >     INVISIBLE_ON_CONNECT = 315,
271 >     IP = 316,
272 >     KILL = 317,
273 >     KILL_CHASE_TIME_LIMIT = 318,
274 >     KLINE = 319,
275 >     KLINE_EXEMPT = 320,
276 >     KNOCK_DELAY = 321,
277 >     KNOCK_DELAY_CHANNEL = 322,
278 >     LEAF_MASK = 323,
279 >     LINKS_DELAY = 324,
280 >     LISTEN = 325,
281 >     T_LOG = 326,
282 >     MAX_ACCEPT = 327,
283 >     MAX_BANS = 328,
284 >     MAX_CHANS_PER_OPER = 329,
285 >     MAX_CHANS_PER_USER = 330,
286 >     MAX_GLOBAL = 331,
287 >     MAX_IDENT = 332,
288 >     MAX_LOCAL = 333,
289 >     MAX_NICK_CHANGES = 334,
290 >     MAX_NICK_TIME = 335,
291 >     MAX_NUMBER = 336,
292 >     MAX_TARGETS = 337,
293 >     MAX_WATCH = 338,
294 >     MESSAGE_LOCALE = 339,
295 >     MIN_NONWILDCARD = 340,
296 >     MIN_NONWILDCARD_SIMPLE = 341,
297 >     MODULE = 342,
298 >     MODULES = 343,
299 >     NAME = 344,
300 >     NEED_PASSWORD = 345,
301 >     NETWORK_DESC = 346,
302 >     NETWORK_NAME = 347,
303 >     NICK = 348,
304 >     NICK_CHANGES = 349,
305 >     NO_CREATE_ON_SPLIT = 350,
306 >     NO_JOIN_ON_SPLIT = 351,
307 >     NO_OPER_FLOOD = 352,
308 >     NO_TILDE = 353,
309 >     NUMBER = 354,
310 >     NUMBER_PER_CIDR = 355,
311 >     NUMBER_PER_IP = 356,
312 >     OPERATOR = 357,
313 >     OPERS_BYPASS_CALLERID = 358,
314 >     OPER_ONLY_UMODES = 359,
315 >     OPER_PASS_RESV = 360,
316 >     OPER_SPY_T = 361,
317 >     OPER_UMODES = 362,
318 >     JOIN_FLOOD_COUNT = 363,
319 >     JOIN_FLOOD_TIME = 364,
320 >     PACE_WAIT = 365,
321 >     PACE_WAIT_SIMPLE = 366,
322 >     PASSWORD = 367,
323 >     PATH = 368,
324 >     PING_COOKIE = 369,
325 >     PING_TIME = 370,
326 >     PORT = 371,
327 >     QSTRING = 372,
328 >     QUIET_ON_BAN = 373,
329 >     REASON = 374,
330 >     REDIRPORT = 375,
331 >     REDIRSERV = 376,
332 >     REGEX_T = 377,
333 >     REHASH = 378,
334 >     REMOTE = 379,
335 >     REMOTEBAN = 380,
336 >     RESTRICT_CHANNELS = 381,
337 >     RSA_PRIVATE_KEY_FILE = 382,
338 >     RSA_PUBLIC_KEY_FILE = 383,
339 >     SSL_CERTIFICATE_FILE = 384,
340 >     SSL_DH_PARAM_FILE = 385,
341 >     T_SSL_CLIENT_METHOD = 386,
342 >     T_SSL_SERVER_METHOD = 387,
343 >     T_SSLV3 = 388,
344 >     T_TLSV1 = 389,
345 >     RESV = 390,
346 >     RESV_EXEMPT = 391,
347 >     SECONDS = 392,
348 >     MINUTES = 393,
349 >     HOURS = 394,
350 >     DAYS = 395,
351 >     WEEKS = 396,
352 >     SENDQ = 397,
353 >     SEND_PASSWORD = 398,
354 >     SERVERHIDE = 399,
355 >     SERVERINFO = 400,
356 >     IRCD_SID = 401,
357 >     TKLINE_EXPIRE_NOTICES = 402,
358 >     T_SHARED = 403,
359 >     T_CLUSTER = 404,
360 >     TYPE = 405,
361 >     SHORT_MOTD = 406,
362 >     SPOOF = 407,
363 >     SPOOF_NOTICE = 408,
364 >     STATS_E_DISABLED = 409,
365 >     STATS_I_OPER_ONLY = 410,
366 >     STATS_K_OPER_ONLY = 411,
367 >     STATS_O_OPER_ONLY = 412,
368 >     STATS_P_OPER_ONLY = 413,
369 >     TBOOL = 414,
370 >     TMASKED = 415,
371 >     TS_MAX_DELTA = 416,
372 >     TS_WARN_DELTA = 417,
373 >     TWODOTS = 418,
374 >     T_ALL = 419,
375 >     T_BOTS = 420,
376 >     T_SOFTCALLERID = 421,
377 >     T_CALLERID = 422,
378 >     T_CCONN = 423,
379 >     T_CCONN_FULL = 424,
380 >     T_SSL_CIPHER_LIST = 425,
381 >     T_DEAF = 426,
382 >     T_DEBUG = 427,
383 >     T_DLINE = 428,
384 >     T_EXTERNAL = 429,
385 >     T_FULL = 430,
386 >     T_INVISIBLE = 431,
387 >     T_IPV4 = 432,
388 >     T_IPV6 = 433,
389 >     T_LOCOPS = 434,
390 >     T_MAX_CLIENTS = 435,
391 >     T_NCHANGE = 436,
392 >     T_OPERWALL = 437,
393 >     T_RECVQ = 438,
394 >     T_REJ = 439,
395 >     T_SERVER = 440,
396 >     T_SERVNOTICE = 441,
397 >     T_SET = 442,
398 >     T_SKILL = 443,
399 >     T_SPY = 444,
400 >     T_SSL = 445,
401 >     T_UMODES = 446,
402 >     T_UNAUTH = 447,
403 >     T_UNDLINE = 448,
404 >     T_UNLIMITED = 449,
405 >     T_UNRESV = 450,
406 >     T_UNXLINE = 451,
407 >     T_GLOBOPS = 452,
408 >     T_WALLOP = 453,
409 >     T_RESTART = 454,
410 >     T_SERVICE = 455,
411 >     T_SERVICES_NAME = 456,
412 >     THROTTLE_TIME = 457,
413 >     TRUE_NO_OPER_FLOOD = 458,
414 >     UNKLINE = 459,
415 >     USER = 460,
416 >     USE_EGD = 461,
417 >     USE_LOGGING = 462,
418 >     VHOST = 463,
419 >     VHOST6 = 464,
420 >     XLINE = 465,
421 >     WARN_NO_NLINE = 466,
422 >     T_SIZE = 467,
423 >     T_FILE = 468
424     };
425   #endif
426   /* Tokens.  */
427   #define ACCEPT_PASSWORD 258
428 < #define ACTION 259
429 < #define ADMIN 260
430 < #define AFTYPE 261
431 < #define T_ALLOW 262
432 < #define ANTI_NICK_FLOOD 263
433 < #define ANTI_SPAM_EXIT_MESSAGE_TIME 264
434 < #define AUTOCONN 265
435 < #define T_BLOCK 266
436 < #define BURST_AWAY 267
437 < #define BYTES 268
438 < #define KBYTES 269
439 < #define MBYTES 270
440 < #define GBYTES 271
441 < #define TBYTES 272
442 < #define CALLER_ID_WAIT 273
443 < #define CAN_FLOOD 274
444 < #define CHANNEL 275
445 < #define CIDR_BITLEN_IPV4 276
446 < #define CIDR_BITLEN_IPV6 277
447 < #define CLASS 278
448 < #define CONNECT 279
449 < #define CONNECTFREQ 280
450 < #define DEFAULT_FLOODCOUNT 281
451 < #define DEFAULT_SPLIT_SERVER_COUNT 282
452 < #define DEFAULT_SPLIT_USER_COUNT 283
453 < #define DENY 284
454 < #define DESCRIPTION 285
455 < #define DIE 286
456 < #define DISABLE_AUTH 287
457 < #define DISABLE_FAKE_CHANNELS 288
458 < #define DISABLE_HIDDEN 289
459 < #define DISABLE_LOCAL_CHANNELS 290
460 < #define DISABLE_REMOTE_COMMANDS 291
461 < #define DOTS_IN_IDENT 292
462 < #define DURATION 293
463 < #define EGDPOOL_PATH 294
464 < #define EMAIL 295
465 < #define ENABLE 296
466 < #define ENCRYPTED 297
467 < #define EXCEED_LIMIT 298
468 < #define EXEMPT 299
469 < #define FAILED_OPER_NOTICE 300
470 < #define IRCD_FLAGS 301
471 < #define FLATTEN_LINKS 302
472 < #define GECOS 303
473 < #define GENERAL 304
474 < #define GLINE 305
475 < #define GLINES 306
476 < #define GLINE_EXEMPT 307
477 < #define GLINE_TIME 308
478 < #define GLINE_MIN_CIDR 309
479 < #define GLINE_MIN_CIDR6 310
480 < #define GLOBAL_KILL 311
481 < #define IRCD_AUTH 312
482 < #define NEED_IDENT 313
483 < #define HAVENT_READ_CONF 314
484 < #define HIDDEN 315
485 < #define HIDDEN_NAME 316
486 < #define HIDE_SERVER_IPS 317
487 < #define HIDE_SERVERS 318
488 < #define HIDE_SPOOF_IPS 319
489 < #define HOST 320
490 < #define HUB 321
491 < #define HUB_MASK 322
492 < #define IGNORE_BOGUS_TS 323
493 < #define INVISIBLE_ON_CONNECT 324
494 < #define IP 325
495 < #define KILL 326
496 < #define KILL_CHASE_TIME_LIMIT 327
497 < #define KLINE 328
498 < #define KLINE_EXEMPT 329
499 < #define KLINE_REASON 330
500 < #define KLINE_WITH_REASON 331
501 < #define KNOCK_DELAY 332
502 < #define KNOCK_DELAY_CHANNEL 333
503 < #define LEAF_MASK 334
504 < #define LINKS_DELAY 335
505 < #define LISTEN 336
506 < #define T_LOG 337
507 < #define MAX_ACCEPT 338
508 < #define MAX_BANS 339
509 < #define MAX_CHANS_PER_OPER 340
510 < #define MAX_CHANS_PER_USER 341
511 < #define MAX_GLOBAL 342
512 < #define MAX_IDENT 343
513 < #define MAX_LOCAL 344
514 < #define MAX_NICK_CHANGES 345
515 < #define MAX_NICK_TIME 346
516 < #define MAX_NUMBER 347
517 < #define MAX_TARGETS 348
518 < #define MAX_WATCH 349
519 < #define MESSAGE_LOCALE 350
520 < #define MIN_NONWILDCARD 351
521 < #define MIN_NONWILDCARD_SIMPLE 352
522 < #define MODULE 353
523 < #define MODULES 354
524 < #define NAME 355
525 < #define NEED_PASSWORD 356
526 < #define NETWORK_DESC 357
527 < #define NETWORK_NAME 358
528 < #define NICK 359
529 < #define NICK_CHANGES 360
530 < #define NO_CREATE_ON_SPLIT 361
531 < #define NO_JOIN_ON_SPLIT 362
532 < #define NO_OPER_FLOOD 363
533 < #define NO_TILDE 364
534 < #define NUMBER 365
535 < #define NUMBER_PER_IDENT 366
536 < #define NUMBER_PER_CIDR 367
537 < #define NUMBER_PER_IP 368
538 < #define NUMBER_PER_IP_GLOBAL 369
539 < #define OPERATOR 370
540 < #define OPERS_BYPASS_CALLERID 371
541 < #define OPER_ONLY_UMODES 372
542 < #define OPER_PASS_RESV 373
543 < #define OPER_SPY_T 374
544 < #define OPER_UMODES 375
545 < #define JOIN_FLOOD_COUNT 376
546 < #define JOIN_FLOOD_TIME 377
547 < #define PACE_WAIT 378
548 < #define PACE_WAIT_SIMPLE 379
549 < #define PASSWORD 380
550 < #define PATH 381
551 < #define PING_COOKIE 382
552 < #define PING_TIME 383
553 < #define PING_WARNING 384
554 < #define PORT 385
555 < #define QSTRING 386
556 < #define QUIET_ON_BAN 387
557 < #define REASON 388
558 < #define REDIRPORT 389
559 < #define REDIRSERV 390
560 < #define REGEX_T 391
561 < #define REHASH 392
562 < #define TREJECT_HOLD_TIME 393
563 < #define REMOTE 394
564 < #define REMOTEBAN 395
565 < #define RESTRICT_CHANNELS 396
566 < #define RESTRICTED 397
567 < #define RSA_PRIVATE_KEY_FILE 398
568 < #define RSA_PUBLIC_KEY_FILE 399
569 < #define SSL_CERTIFICATE_FILE 400
570 < #define SSL_DH_PARAM_FILE 401
571 < #define T_SSL_CLIENT_METHOD 402
572 < #define T_SSL_SERVER_METHOD 403
573 < #define T_SSLV3 404
574 < #define T_TLSV1 405
575 < #define RESV 406
576 < #define RESV_EXEMPT 407
577 < #define SECONDS 408
578 < #define MINUTES 409
579 < #define HOURS 410
580 < #define DAYS 411
581 < #define WEEKS 412
582 < #define SENDQ 413
583 < #define SEND_PASSWORD 414
584 < #define SERVERHIDE 415
585 < #define SERVERINFO 416
586 < #define IRCD_SID 417
587 < #define TKLINE_EXPIRE_NOTICES 418
588 < #define T_SHARED 419
589 < #define T_CLUSTER 420
590 < #define TYPE 421
591 < #define SHORT_MOTD 422
592 < #define SILENT 423
593 < #define SPOOF 424
594 < #define SPOOF_NOTICE 425
595 < #define STATS_E_DISABLED 426
596 < #define STATS_I_OPER_ONLY 427
597 < #define STATS_K_OPER_ONLY 428
598 < #define STATS_O_OPER_ONLY 429
599 < #define STATS_P_OPER_ONLY 430
600 < #define TBOOL 431
601 < #define TMASKED 432
602 < #define T_REJECT 433
603 < #define TS_MAX_DELTA 434
604 < #define TS_WARN_DELTA 435
605 < #define TWODOTS 436
606 < #define T_ALL 437
607 < #define T_BOTS 438
608 < #define T_SOFTCALLERID 439
609 < #define T_CALLERID 440
610 < #define T_CCONN 441
611 < #define T_CCONN_FULL 442
612 < #define T_SSL_CIPHER_LIST 443
613 < #define T_CLIENT_FLOOD 444
614 < #define T_DEAF 445
615 < #define T_DEBUG 446
616 < #define T_DLINE 447
617 < #define T_DRONE 448
618 < #define T_EXTERNAL 449
619 < #define T_FULL 450
620 < #define T_INVISIBLE 451
621 < #define T_IPV4 452
622 < #define T_IPV6 453
623 < #define T_LOCOPS 454
624 < #define T_MAX_CLIENTS 455
625 < #define T_NCHANGE 456
626 < #define T_OPERWALL 457
627 < #define T_REJ 458
628 < #define T_SERVER 459
629 < #define T_SERVNOTICE 460
630 < #define T_SKILL 461
631 < #define T_SPY 462
632 < #define T_SSL 463
633 < #define T_UMODES 464
634 < #define T_UNAUTH 465
635 < #define T_UNDLINE 466
636 < #define T_UNLIMITED 467
637 < #define T_UNRESV 468
643 < #define T_UNXLINE 469
644 < #define T_GLOBOPS 470
645 < #define T_WALLOP 471
646 < #define T_RESTART 472
647 < #define T_SERVICE 473
648 < #define T_SERVICES_NAME 474
649 < #define THROTTLE_TIME 475
650 < #define TOPICBURST 476
651 < #define TRUE_NO_OPER_FLOOD 477
652 < #define TKLINE 478
653 < #define TXLINE 479
654 < #define TRESV 480
655 < #define UNKLINE 481
656 < #define USER 482
657 < #define USE_EGD 483
658 < #define USE_EXCEPT 484
659 < #define USE_INVEX 485
660 < #define USE_KNOCK 486
661 < #define USE_LOGGING 487
662 < #define USE_WHOIS_ACTUALLY 488
663 < #define VHOST 489
664 < #define VHOST6 490
665 < #define XLINE 491
666 < #define WARN 492
667 < #define WARN_NO_NLINE 493
668 < #define T_SIZE 494
669 < #define T_FILE 495
670 <
428 > #define ADMIN 259
429 > #define AFTYPE 260
430 > #define ANTI_NICK_FLOOD 261
431 > #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
432 > #define AUTOCONN 263
433 > #define BYTES 264
434 > #define KBYTES 265
435 > #define MBYTES 266
436 > #define CALLER_ID_WAIT 267
437 > #define CAN_FLOOD 268
438 > #define CHANNEL 269
439 > #define CIDR_BITLEN_IPV4 270
440 > #define CIDR_BITLEN_IPV6 271
441 > #define CLASS 272
442 > #define CONNECT 273
443 > #define CONNECTFREQ 274
444 > #define DEFAULT_FLOODCOUNT 275
445 > #define DEFAULT_SPLIT_SERVER_COUNT 276
446 > #define DEFAULT_SPLIT_USER_COUNT 277
447 > #define DENY 278
448 > #define DESCRIPTION 279
449 > #define DIE 280
450 > #define DISABLE_AUTH 281
451 > #define DISABLE_FAKE_CHANNELS 282
452 > #define DISABLE_REMOTE_COMMANDS 283
453 > #define DOTS_IN_IDENT 284
454 > #define EGDPOOL_PATH 285
455 > #define EMAIL 286
456 > #define ENCRYPTED 287
457 > #define EXCEED_LIMIT 288
458 > #define EXEMPT 289
459 > #define FAILED_OPER_NOTICE 290
460 > #define IRCD_FLAGS 291
461 > #define FLATTEN_LINKS 292
462 > #define GECOS 293
463 > #define GENERAL 294
464 > #define GLINE 295
465 > #define GLINE_DURATION 296
466 > #define GLINE_ENABLE 297
467 > #define GLINE_EXEMPT 298
468 > #define GLINE_REQUEST_DURATION 299
469 > #define GLINE_MIN_CIDR 300
470 > #define GLINE_MIN_CIDR6 301
471 > #define GLOBAL_KILL 302
472 > #define IRCD_AUTH 303
473 > #define NEED_IDENT 304
474 > #define HAVENT_READ_CONF 305
475 > #define HIDDEN 306
476 > #define HIDDEN_NAME 307
477 > #define HIDE_SERVER_IPS 308
478 > #define HIDE_SERVERS 309
479 > #define HIDE_SPOOF_IPS 310
480 > #define HOST 311
481 > #define HUB 312
482 > #define HUB_MASK 313
483 > #define IGNORE_BOGUS_TS 314
484 > #define INVISIBLE_ON_CONNECT 315
485 > #define IP 316
486 > #define KILL 317
487 > #define KILL_CHASE_TIME_LIMIT 318
488 > #define KLINE 319
489 > #define KLINE_EXEMPT 320
490 > #define KNOCK_DELAY 321
491 > #define KNOCK_DELAY_CHANNEL 322
492 > #define LEAF_MASK 323
493 > #define LINKS_DELAY 324
494 > #define LISTEN 325
495 > #define T_LOG 326
496 > #define MAX_ACCEPT 327
497 > #define MAX_BANS 328
498 > #define MAX_CHANS_PER_OPER 329
499 > #define MAX_CHANS_PER_USER 330
500 > #define MAX_GLOBAL 331
501 > #define MAX_IDENT 332
502 > #define MAX_LOCAL 333
503 > #define MAX_NICK_CHANGES 334
504 > #define MAX_NICK_TIME 335
505 > #define MAX_NUMBER 336
506 > #define MAX_TARGETS 337
507 > #define MAX_WATCH 338
508 > #define MESSAGE_LOCALE 339
509 > #define MIN_NONWILDCARD 340
510 > #define MIN_NONWILDCARD_SIMPLE 341
511 > #define MODULE 342
512 > #define MODULES 343
513 > #define NAME 344
514 > #define NEED_PASSWORD 345
515 > #define NETWORK_DESC 346
516 > #define NETWORK_NAME 347
517 > #define NICK 348
518 > #define NICK_CHANGES 349
519 > #define NO_CREATE_ON_SPLIT 350
520 > #define NO_JOIN_ON_SPLIT 351
521 > #define NO_OPER_FLOOD 352
522 > #define NO_TILDE 353
523 > #define NUMBER 354
524 > #define NUMBER_PER_CIDR 355
525 > #define NUMBER_PER_IP 356
526 > #define OPERATOR 357
527 > #define OPERS_BYPASS_CALLERID 358
528 > #define OPER_ONLY_UMODES 359
529 > #define OPER_PASS_RESV 360
530 > #define OPER_SPY_T 361
531 > #define OPER_UMODES 362
532 > #define JOIN_FLOOD_COUNT 363
533 > #define JOIN_FLOOD_TIME 364
534 > #define PACE_WAIT 365
535 > #define PACE_WAIT_SIMPLE 366
536 > #define PASSWORD 367
537 > #define PATH 368
538 > #define PING_COOKIE 369
539 > #define PING_TIME 370
540 > #define PORT 371
541 > #define QSTRING 372
542 > #define QUIET_ON_BAN 373
543 > #define REASON 374
544 > #define REDIRPORT 375
545 > #define REDIRSERV 376
546 > #define REGEX_T 377
547 > #define REHASH 378
548 > #define REMOTE 379
549 > #define REMOTEBAN 380
550 > #define RESTRICT_CHANNELS 381
551 > #define RSA_PRIVATE_KEY_FILE 382
552 > #define RSA_PUBLIC_KEY_FILE 383
553 > #define SSL_CERTIFICATE_FILE 384
554 > #define SSL_DH_PARAM_FILE 385
555 > #define T_SSL_CLIENT_METHOD 386
556 > #define T_SSL_SERVER_METHOD 387
557 > #define T_SSLV3 388
558 > #define T_TLSV1 389
559 > #define RESV 390
560 > #define RESV_EXEMPT 391
561 > #define SECONDS 392
562 > #define MINUTES 393
563 > #define HOURS 394
564 > #define DAYS 395
565 > #define WEEKS 396
566 > #define SENDQ 397
567 > #define SEND_PASSWORD 398
568 > #define SERVERHIDE 399
569 > #define SERVERINFO 400
570 > #define IRCD_SID 401
571 > #define TKLINE_EXPIRE_NOTICES 402
572 > #define T_SHARED 403
573 > #define T_CLUSTER 404
574 > #define TYPE 405
575 > #define SHORT_MOTD 406
576 > #define SPOOF 407
577 > #define SPOOF_NOTICE 408
578 > #define STATS_E_DISABLED 409
579 > #define STATS_I_OPER_ONLY 410
580 > #define STATS_K_OPER_ONLY 411
581 > #define STATS_O_OPER_ONLY 412
582 > #define STATS_P_OPER_ONLY 413
583 > #define TBOOL 414
584 > #define TMASKED 415
585 > #define TS_MAX_DELTA 416
586 > #define TS_WARN_DELTA 417
587 > #define TWODOTS 418
588 > #define T_ALL 419
589 > #define T_BOTS 420
590 > #define T_SOFTCALLERID 421
591 > #define T_CALLERID 422
592 > #define T_CCONN 423
593 > #define T_CCONN_FULL 424
594 > #define T_SSL_CIPHER_LIST 425
595 > #define T_DEAF 426
596 > #define T_DEBUG 427
597 > #define T_DLINE 428
598 > #define T_EXTERNAL 429
599 > #define T_FULL 430
600 > #define T_INVISIBLE 431
601 > #define T_IPV4 432
602 > #define T_IPV6 433
603 > #define T_LOCOPS 434
604 > #define T_MAX_CLIENTS 435
605 > #define T_NCHANGE 436
606 > #define T_OPERWALL 437
607 > #define T_RECVQ 438
608 > #define T_REJ 439
609 > #define T_SERVER 440
610 > #define T_SERVNOTICE 441
611 > #define T_SET 442
612 > #define T_SKILL 443
613 > #define T_SPY 444
614 > #define T_SSL 445
615 > #define T_UMODES 446
616 > #define T_UNAUTH 447
617 > #define T_UNDLINE 448
618 > #define T_UNLIMITED 449
619 > #define T_UNRESV 450
620 > #define T_UNXLINE 451
621 > #define T_GLOBOPS 452
622 > #define T_WALLOP 453
623 > #define T_RESTART 454
624 > #define T_SERVICE 455
625 > #define T_SERVICES_NAME 456
626 > #define THROTTLE_TIME 457
627 > #define TRUE_NO_OPER_FLOOD 458
628 > #define UNKLINE 459
629 > #define USER 460
630 > #define USE_EGD 461
631 > #define USE_LOGGING 462
632 > #define VHOST 463
633 > #define VHOST6 464
634 > #define XLINE 465
635 > #define WARN_NO_NLINE 466
636 > #define T_SIZE 467
637 > #define T_FILE 468
638  
639  
640  
641   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
642   typedef union YYSTYPE
643   {
644 <
645 < /* Line 295 of yacc.c  */
679 < #line 110 "conf_parser.y"
644 > /* Line 376 of yacc.c  */
645 > #line 135 "conf_parser.y"
646  
647    int number;
648    char *string;
649  
650  
651 <
652 < /* Line 295 of yacc.c  */
687 < #line 688 "conf_parser.c"
651 > /* Line 376 of yacc.c  */
652 > #line 653 "conf_parser.c"
653   } YYSTYPE;
654   # define YYSTYPE_IS_TRIVIAL 1
655   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
656   # define YYSTYPE_IS_DECLARED 1
657   #endif
658  
659 + extern YYSTYPE yylval;
660  
661 < /* Copy the second part of user declarations.  */
661 > #ifdef YYPARSE_PARAM
662 > #if defined __STDC__ || defined __cplusplus
663 > int yyparse (void *YYPARSE_PARAM);
664 > #else
665 > int yyparse ();
666 > #endif
667 > #else /* ! YYPARSE_PARAM */
668 > #if defined __STDC__ || defined __cplusplus
669 > int yyparse (void);
670 > #else
671 > int yyparse ();
672 > #endif
673 > #endif /* ! YYPARSE_PARAM */
674 >
675 > #endif /* !YY_YY_Y_TAB_H_INCLUDED  */
676  
677 + /* Copy the second part of user declarations.  */
678  
679 < /* Line 345 of yacc.c  */
680 < #line 700 "conf_parser.c"
679 > /* Line 379 of yacc.c  */
680 > #line 681 "conf_parser.c"
681  
682   #ifdef short
683   # undef short
# Line 749 | Line 730 | typedef short int yytype_int16;
730   # if defined YYENABLE_NLS && YYENABLE_NLS
731   #  if ENABLE_NLS
732   #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
733 < #   define YY_(msgid) dgettext ("bison-runtime", msgid)
733 > #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
734   #  endif
735   # endif
736   # ifndef YY_
737 < #  define YY_(msgid) msgid
737 > #  define YY_(Msgid) Msgid
738   # endif
739   #endif
740  
741   /* Suppress unused-variable warnings by "using" E.  */
742   #if ! defined lint || defined __GNUC__
743 < # define YYUSE(e) ((void) (e))
743 > # define YYUSE(E) ((void) (E))
744   #else
745 < # define YYUSE(e) /* empty */
745 > # define YYUSE(E) /* empty */
746   #endif
747  
748   /* Identity function, used to suppress warnings about constant conditions.  */
749   #ifndef lint
750 < # define YYID(n) (n)
750 > # define YYID(N) (N)
751   #else
752   #if (defined __STDC__ || defined __C99__FUNC__ \
753       || defined __cplusplus || defined _MSC_VER)
# Line 916 | Line 897 | union yyalloc
897   /* YYFINAL -- State number of the termination state.  */
898   #define YYFINAL  2
899   /* YYLAST -- Last index in YYTABLE.  */
900 < #define YYLAST   1248
900 > #define YYLAST   1180
901  
902   /* YYNTOKENS -- Number of terminals.  */
903 < #define YYNTOKENS  246
903 > #define YYNTOKENS  219
904   /* YYNNTS -- Number of nonterminals.  */
905 < #define YYNNTS  305
905 > #define YYNNTS  282
906   /* YYNRULES -- Number of rules.  */
907 < #define YYNRULES  668
907 > #define YYNRULES  625
908   /* YYNRULES -- Number of states.  */
909 < #define YYNSTATES  1311
909 > #define YYNSTATES  1223
910  
911   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
912   #define YYUNDEFTOK  2
913 < #define YYMAXUTOK   495
913 > #define YYMAXUTOK   468
914  
915   #define YYTRANSLATE(YYX)                                                \
916    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 941 | Line 922 | static const yytype_uint8 yytranslate[]
922         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
923         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
924         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
925 <       2,     2,     2,     2,   245,     2,     2,     2,     2,     2,
926 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   241,
927 <       2,   244,     2,     2,     2,     2,     2,     2,     2,     2,
925 >       2,     2,     2,     2,   218,     2,     2,     2,     2,     2,
926 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   214,
927 >       2,   217,     2,     2,     2,     2,     2,     2,     2,     2,
928         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
929         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
930         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
931         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
932         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
933 <       2,     2,     2,   243,     2,   242,     2,     2,     2,     2,
933 >       2,     2,     2,   216,     2,   215,     2,     2,     2,     2,
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,
# Line 983 | Line 964 | static const yytype_uint8 yytranslate[]
964       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
965       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
966       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
967 <     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
987 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
988 <     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
989 <     235,   236,   237,   238,   239,   240
967 >     205,   206,   207,   208,   209,   210,   211,   212,   213
968   };
969  
970   #if YYDEBUG
# Line 996 | Line 974 | static const yytype_uint16 yyprhs[] =
974   {
975         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
976        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
977 <      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
978 <      61,    65,    69,    73,    77,    81,    82,    84,    87,    91,
979 <      95,    99,   105,   108,   110,   112,   114,   117,   122,   127,
980 <     133,   136,   138,   140,   142,   144,   146,   148,   150,   152,
981 <     154,   156,   158,   160,   162,   164,   166,   168,   171,   176,
982 <     181,   185,   187,   189,   191,   195,   197,   199,   201,   206,
983 <     211,   216,   221,   226,   231,   236,   241,   246,   251,   256,
984 <     261,   266,   272,   275,   277,   279,   281,   283,   286,   291,
985 <     296,   301,   307,   310,   312,   314,   316,   319,   324,   325,
986 <     332,   335,   337,   339,   341,   343,   346,   351,   356,   361,
987 <     362,   368,   372,   374,   376,   378,   380,   382,   384,   386,
988 <     388,   389,   396,   399,   401,   403,   405,   407,   409,   411,
989 <     413,   415,   417,   420,   425,   430,   435,   440,   445,   450,
990 <     451,   457,   461,   463,   465,   467,   469,   471,   473,   475,
977 >      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
978 >      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
979 >      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
980 >     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
981 >     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
982 >     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
983 >     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
984 >     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
985 >     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
986 >     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
987 >     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
988 >     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
989 >     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
990 >     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
991       477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
992 <     497,   499,   501,   503,   504,   510,   514,   516,   518,   520,
992 >     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
993       522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
994       542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
995       567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
# Line 1031 | Line 1009 | static const yytype_uint16 yyprhs[] =
1009       997,   999,  1001,  1003,  1005,  1007,  1009,  1010,  1017,  1020,
1010      1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,
1011      1042,  1044,  1046,  1048,  1051,  1056,  1061,  1066,  1071,  1076,
1012 <    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1110,
1013 <    1112,  1117,  1122,  1127,  1132,  1137,  1138,  1145,  1146,  1152,
1014 <    1156,  1158,  1160,  1163,  1165,  1167,  1169,  1171,  1173,  1178,
1015 <    1183,  1184,  1191,  1194,  1196,  1198,  1200,  1202,  1207,  1212,
1016 <    1218,  1221,  1223,  1225,  1227,  1232,  1233,  1240,  1241,  1247,
1017 <    1251,  1253,  1255,  1258,  1260,  1262,  1264,  1266,  1268,  1273,
1018 <    1278,  1284,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1012 >    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1113,
1013 >    1118,  1123,  1128,  1133,  1134,  1141,  1142,  1148,  1152,  1154,
1014 >    1156,  1159,  1161,  1163,  1165,  1167,  1169,  1174,  1179,  1180,
1015 >    1187,  1190,  1192,  1194,  1196,  1198,  1203,  1208,  1214,  1217,
1016 >    1219,  1221,  1223,  1228,  1229,  1236,  1237,  1243,  1247,  1249,
1017 >    1251,  1254,  1256,  1258,  1260,  1262,  1264,  1269,  1274,  1280,
1018 >    1283,  1285,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1019      1303,  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,  1321,
1020      1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
1021      1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1361,
1022      1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,
1023 <    1383,  1385,  1387,  1389,  1391,  1393,  1398,  1403,  1408,  1413,
1024 <    1418,  1423,  1428,  1433,  1438,  1443,  1448,  1453,  1458,  1463,
1025 <    1468,  1473,  1478,  1483,  1488,  1493,  1498,  1503,  1508,  1513,
1026 <    1518,  1523,  1528,  1533,  1538,  1543,  1548,  1553,  1558,  1563,
1027 <    1568,  1573,  1578,  1583,  1588,  1593,  1598,  1603,  1608,  1613,
1028 <    1618,  1623,  1628,  1629,  1635,  1639,  1641,  1643,  1645,  1647,
1029 <    1649,  1651,  1653,  1655,  1657,  1659,  1661,  1663,  1665,  1667,
1030 <    1669,  1671,  1673,  1675,  1677,  1679,  1681,  1682,  1688,  1692,
1031 <    1694,  1696,  1698,  1700,  1702,  1704,  1706,  1708,  1710,  1712,
1032 <    1714,  1716,  1718,  1720,  1722,  1724,  1726,  1728,  1730,  1732,
1033 <    1734,  1739,  1744,  1749,  1754,  1755,  1762,  1765,  1767,  1769,
1034 <    1771,  1773,  1775,  1777,  1779,  1781,  1786,  1791,  1792,  1798,
1035 <    1802,  1804,  1806,  1808,  1813,  1818,  1819,  1825,  1829,  1831,
1036 <    1833,  1835,  1841,  1844,  1846,  1848,  1850,  1852,  1854,  1856,
1037 <    1858,  1860,  1862,  1864,  1866,  1868,  1870,  1872,  1874,  1876,
1060 <    1878,  1880,  1882,  1884,  1889,  1894,  1899,  1904,  1909,  1914,
1061 <    1919,  1924,  1929,  1934,  1939,  1944,  1949,  1954,  1959,  1964,
1062 <    1969,  1974,  1980,  1983,  1985,  1987,  1989,  1991,  1993,  1995,
1063 <    1997,  1999,  2001,  2006,  2011,  2016,  2021,  2026,  2031
1023 >    1383,  1385,  1390,  1395,  1400,  1405,  1410,  1415,  1420,  1425,
1024 >    1430,  1435,  1440,  1445,  1450,  1455,  1460,  1465,  1470,  1475,
1025 >    1480,  1485,  1490,  1495,  1500,  1505,  1510,  1515,  1520,  1525,
1026 >    1530,  1535,  1540,  1545,  1550,  1555,  1560,  1565,  1570,  1575,
1027 >    1580,  1585,  1590,  1595,  1600,  1605,  1610,  1615,  1616,  1622,
1028 >    1626,  1628,  1630,  1632,  1634,  1636,  1638,  1640,  1642,  1644,
1029 >    1646,  1648,  1650,  1652,  1654,  1656,  1658,  1660,  1662,  1664,
1030 >    1666,  1668,  1669,  1675,  1679,  1681,  1683,  1685,  1687,  1689,
1031 >    1691,  1693,  1695,  1697,  1699,  1701,  1703,  1705,  1707,  1709,
1032 >    1711,  1713,  1715,  1717,  1719,  1721,  1726,  1731,  1736,  1742,
1033 >    1745,  1747,  1749,  1751,  1753,  1755,  1757,  1759,  1761,  1763,
1034 >    1765,  1767,  1769,  1771,  1773,  1775,  1777,  1782,  1787,  1792,
1035 >    1797,  1802,  1807,  1812,  1817,  1822,  1827,  1832,  1837,  1842,
1036 >    1847,  1853,  1856,  1858,  1860,  1862,  1864,  1866,  1868,  1870,
1037 >    1872,  1877,  1882,  1887,  1892,  1897
1038   };
1039  
1040   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1041   static const yytype_int16 yyrhs[] =
1042   {
1043 <     247,     0,    -1,    -1,   247,   248,    -1,   280,    -1,   286,
1044 <      -1,   300,    -1,   520,    -1,   318,    -1,   335,    -1,   349,
1045 <      -1,   258,    -1,   541,    -1,   364,    -1,   371,    -1,   375,
1046 <      -1,   385,    -1,   394,    -1,   414,    -1,   424,    -1,   430,
1047 <      -1,   444,    -1,   504,    -1,   434,    -1,   253,    -1,     1,
1048 <     241,    -1,     1,   242,    -1,    -1,   250,    -1,   110,   249,
1049 <      -1,   110,   153,   249,    -1,   110,   154,   249,    -1,   110,
1050 <     155,   249,    -1,   110,   156,   249,    -1,   110,   157,   249,
1051 <      -1,    -1,   252,    -1,   110,   251,    -1,   110,    13,   251,
1052 <      -1,   110,    14,   251,    -1,   110,    15,   251,    -1,    99,
1053 <     243,   254,   242,   241,    -1,   254,   255,    -1,   255,    -1,
1054 <     256,    -1,   257,    -1,     1,   241,    -1,    98,   244,   131,
1055 <     241,    -1,   126,   244,   131,   241,    -1,   161,   243,   259,
1056 <     242,   241,    -1,   259,   260,    -1,   260,    -1,   271,    -1,
1057 <     276,    -1,   279,    -1,   273,    -1,   274,    -1,   275,    -1,
1058 <     278,    -1,   269,    -1,   268,    -1,   277,    -1,   272,    -1,
1059 <     267,    -1,   261,    -1,   262,    -1,   270,    -1,     1,   241,
1060 <      -1,   147,   244,   263,   241,    -1,   148,   244,   265,   241,
1061 <      -1,   263,   245,   264,    -1,   264,    -1,   149,    -1,   150,
1062 <      -1,   265,   245,   266,    -1,   266,    -1,   149,    -1,   150,
1063 <      -1,   145,   244,   131,   241,    -1,   143,   244,   131,   241,
1064 <      -1,   146,   244,   131,   241,    -1,   188,   244,   131,   241,
1065 <      -1,   100,   244,   131,   241,    -1,   162,   244,   131,   241,
1066 <      -1,    30,   244,   131,   241,    -1,   103,   244,   131,   241,
1067 <      -1,   102,   244,   131,   241,    -1,   234,   244,   131,   241,
1068 <      -1,   235,   244,   131,   241,    -1,   200,   244,   110,   241,
1069 <      -1,    66,   244,   176,   241,    -1,     5,   243,   281,   242,
1070 <     241,    -1,   281,   282,    -1,   282,    -1,   283,    -1,   285,
1071 <      -1,   284,    -1,     1,   241,    -1,   100,   244,   131,   241,
1072 <      -1,    40,   244,   131,   241,    -1,    30,   244,   131,   241,
1073 <      -1,    82,   243,   287,   242,   241,    -1,   287,   288,    -1,
1074 <     288,    -1,   289,    -1,   290,    -1,     1,   241,    -1,   232,
1075 <     244,   176,   241,    -1,    -1,   291,   240,   243,   292,   242,
1076 <     241,    -1,   292,   293,    -1,   293,    -1,   294,    -1,   296,
1077 <      -1,   295,    -1,     1,   241,    -1,   100,   244,   131,   241,
1078 <      -1,   239,   244,   252,   241,    -1,   239,   244,   212,   241,
1079 <      -1,    -1,   166,   297,   244,   298,   241,    -1,   298,   245,
1080 <     299,    -1,   299,    -1,   227,    -1,   115,    -1,    50,    -1,
1081 <     192,    -1,    73,    -1,    71,    -1,   191,    -1,    -1,   115,
1082 <     301,   243,   302,   242,   241,    -1,   302,   303,    -1,   303,
1083 <      -1,   304,    -1,   305,    -1,   306,    -1,   310,    -1,   309,
1084 <      -1,   307,    -1,   308,    -1,   314,    -1,     1,   241,    -1,
1085 <     100,   244,   131,   241,    -1,   227,   244,   131,   241,    -1,
1086 <     125,   244,   131,   241,    -1,    42,   244,   176,   241,    -1,
1087 <     144,   244,   131,   241,    -1,    23,   244,   131,   241,    -1,
1088 <      -1,   209,   311,   244,   312,   241,    -1,   312,   245,   313,
1089 <      -1,   313,    -1,   183,    -1,   186,    -1,   187,    -1,   190,
1090 <      -1,   191,    -1,   195,    -1,    60,    -1,   206,    -1,   201,
1091 <      -1,   203,    -1,   210,    -1,   207,    -1,   194,    -1,   202,
1092 <      -1,   205,    -1,   196,    -1,   216,    -1,   184,    -1,   185,
1093 <      -1,   199,    -1,    -1,    46,   315,   244,   316,   241,    -1,
1094 <     316,   245,   317,    -1,   317,    -1,    56,    -1,   139,    -1,
1095 <      73,    -1,   226,    -1,   192,    -1,   211,    -1,   236,    -1,
1096 <      50,    -1,    31,    -1,   217,    -1,   137,    -1,     5,    -1,
1097 <     105,    -1,   202,    -1,   215,    -1,   119,    -1,   140,    -1,
1098 <      98,    -1,    -1,    23,   319,   243,   320,   242,   241,    -1,
1099 <     320,   321,    -1,   321,    -1,   322,    -1,   332,    -1,   333,
1100 <      -1,   323,    -1,   324,    -1,   334,    -1,   325,    -1,   326,
1101 <      -1,   327,    -1,   328,    -1,   329,    -1,   330,    -1,   331,
1102 <      -1,     1,   241,    -1,   100,   244,   131,   241,    -1,   128,
1103 <     244,   250,   241,    -1,   129,   244,   250,   241,    -1,   113,
1104 <     244,   110,   241,    -1,    25,   244,   250,   241,    -1,    92,
1105 <     244,   110,   241,    -1,    87,   244,   110,   241,    -1,    89,
1106 <     244,   110,   241,    -1,    88,   244,   110,   241,    -1,   158,
1107 <     244,   252,   241,    -1,    21,   244,   110,   241,    -1,    22,
1108 <     244,   110,   241,    -1,   112,   244,   110,   241,    -1,    -1,
1109 <      81,   336,   243,   341,   242,   241,    -1,    -1,    46,   338,
1110 <     244,   339,   241,    -1,   339,   245,   340,    -1,   340,    -1,
1111 <     208,    -1,    60,    -1,   204,    -1,   341,   342,    -1,   342,
1112 <      -1,   343,    -1,   337,    -1,   347,    -1,   348,    -1,     1,
1113 <     241,    -1,    -1,   130,   244,   345,   344,   241,    -1,   345,
1114 <     245,   346,    -1,   346,    -1,   110,    -1,   110,   181,   110,
1115 <      -1,    70,   244,   131,   241,    -1,    65,   244,   131,   241,
1116 <      -1,    -1,    57,   350,   243,   351,   242,   241,    -1,   351,
1117 <     352,    -1,   352,    -1,   353,    -1,   354,    -1,   355,    -1,
1118 <     357,    -1,   361,    -1,   362,    -1,   363,    -1,   356,    -1,
1119 <       1,   241,    -1,   227,   244,   131,   241,    -1,   125,   244,
1120 <     131,   241,    -1,    23,   244,   131,   241,    -1,    42,   244,
1121 <     176,   241,    -1,    -1,    46,   358,   244,   359,   241,    -1,
1122 <     359,   245,   360,    -1,   360,    -1,   170,    -1,    43,    -1,
1123 <      74,    -1,    58,    -1,    19,    -1,   109,    -1,    52,    -1,
1124 <     152,    -1,   101,    -1,   169,   244,   131,   241,    -1,   135,
1125 <     244,   131,   241,    -1,   134,   244,   110,   241,    -1,    -1,
1126 <     151,   365,   243,   366,   242,   241,    -1,   366,   367,    -1,
1127 <     367,    -1,   368,    -1,   369,    -1,   370,    -1,     1,   241,
1128 <      -1,   133,   244,   131,   241,    -1,    20,   244,   131,   241,
1129 <      -1,   104,   244,   131,   241,    -1,   218,   243,   372,   242,
1130 <     241,    -1,   372,   373,    -1,   373,    -1,   374,    -1,     1,
1131 <      -1,   100,   244,   131,   241,    -1,    -1,   164,   376,   243,
1132 <     377,   242,   241,    -1,   377,   378,    -1,   378,    -1,   379,
1133 <      -1,   380,    -1,   381,    -1,     1,   241,    -1,   100,   244,
1134 <     131,   241,    -1,   227,   244,   131,   241,    -1,    -1,   166,
1135 <     382,   244,   383,   241,    -1,   383,   245,   384,    -1,   384,
1136 <      -1,    73,    -1,   226,    -1,   192,    -1,   211,    -1,   236,
1137 <      -1,   214,    -1,   151,    -1,   213,    -1,   199,    -1,   182,
1138 <      -1,    -1,   165,   386,   243,   387,   242,   241,    -1,   387,
1139 <     388,    -1,   388,    -1,   389,    -1,   390,    -1,     1,   241,
1140 <      -1,   100,   244,   131,   241,    -1,    -1,   166,   391,   244,
1141 <     392,   241,    -1,   392,   245,   393,    -1,   393,    -1,    73,
1142 <      -1,   226,    -1,   192,    -1,   211,    -1,   236,    -1,   214,
1143 <      -1,   151,    -1,   213,    -1,   199,    -1,   182,    -1,    -1,
1144 <      24,   395,   243,   396,   242,   241,    -1,   396,   397,    -1,
1145 <     397,    -1,   398,    -1,   399,    -1,   400,    -1,   401,    -1,
1146 <     402,    -1,   404,    -1,   403,    -1,   413,    -1,   405,    -1,
1147 <     410,    -1,   411,    -1,   412,    -1,   409,    -1,     1,   241,
1148 <      -1,   100,   244,   131,   241,    -1,    65,   244,   131,   241,
1149 <      -1,   234,   244,   131,   241,    -1,   159,   244,   131,   241,
1150 <      -1,     3,   244,   131,   241,    -1,   130,   244,   110,   241,
1151 <      -1,     6,   244,   197,   241,    -1,     6,   244,   198,   241,
1152 <      -1,    -1,    46,   406,   244,   407,   241,    -1,   407,   245,
1153 <     408,    -1,   408,    -1,    10,    -1,    12,    -1,   221,    -1,
1154 <     208,    -1,    42,   244,   176,   241,    -1,    67,   244,   131,
1155 <     241,    -1,    79,   244,   131,   241,    -1,    23,   244,   131,
1156 <     241,    -1,   188,   244,   131,   241,    -1,    -1,    71,   415,
1157 <     243,   420,   242,   241,    -1,    -1,   166,   417,   244,   418,
1158 <     241,    -1,   418,   245,   419,    -1,   419,    -1,   136,    -1,
1159 <     420,   421,    -1,   421,    -1,   422,    -1,   423,    -1,   416,
1160 <      -1,     1,    -1,   227,   244,   131,   241,    -1,   133,   244,
1161 <     131,   241,    -1,    -1,    29,   425,   243,   426,   242,   241,
1162 <      -1,   426,   427,    -1,   427,    -1,   428,    -1,   429,    -1,
1163 <       1,    -1,    70,   244,   131,   241,    -1,   133,   244,   131,
1164 <     241,    -1,    44,   243,   431,   242,   241,    -1,   431,   432,
1165 <      -1,   432,    -1,   433,    -1,     1,    -1,    70,   244,   131,
1166 <     241,    -1,    -1,    48,   435,   243,   440,   242,   241,    -1,
1167 <      -1,   166,   437,   244,   438,   241,    -1,   438,   245,   439,
1168 <      -1,   439,    -1,   136,    -1,   440,   441,    -1,   441,    -1,
1169 <     442,    -1,   443,    -1,   436,    -1,     1,    -1,   100,   244,
1170 <     131,   241,    -1,   133,   244,   131,   241,    -1,    49,   243,
1171 <     445,   242,   241,    -1,   445,   446,    -1,   446,    -1,   454,
1172 <      -1,   455,    -1,   457,    -1,   458,    -1,   459,    -1,   460,
1173 <      -1,   461,    -1,   462,    -1,   463,    -1,   464,    -1,   453,
1174 <      -1,   466,    -1,   467,    -1,   468,    -1,   469,    -1,   484,
1175 <      -1,   471,    -1,   473,    -1,   475,    -1,   474,    -1,   478,
1176 <      -1,   472,    -1,   479,    -1,   480,    -1,   481,    -1,   482,
1177 <      -1,   483,    -1,   496,    -1,   485,    -1,   486,    -1,   487,
1178 <      -1,   492,    -1,   476,    -1,   477,    -1,   502,    -1,   500,
1179 <      -1,   501,    -1,   456,    -1,   503,    -1,   491,    -1,   465,
1180 <      -1,   489,    -1,   490,    -1,   452,    -1,   448,    -1,   449,
1181 <      -1,   450,    -1,   451,    -1,   470,    -1,   447,    -1,   488,
1182 <      -1,     1,    -1,    94,   244,   110,   241,    -1,    54,   244,
1183 <     110,   241,    -1,    55,   244,   110,   241,    -1,   233,   244,
1184 <     176,   241,    -1,   138,   244,   250,   241,    -1,   163,   244,
1185 <     176,   241,    -1,    72,   244,   250,   241,    -1,    64,   244,
1186 <     176,   241,    -1,    68,   244,   176,   241,    -1,    36,   244,
1187 <     176,   241,    -1,    45,   244,   176,   241,    -1,     8,   244,
1188 <     176,   241,    -1,    91,   244,   250,   241,    -1,    90,   244,
1189 <     110,   241,    -1,    83,   244,   110,   241,    -1,     9,   244,
1190 <     250,   241,    -1,   180,   244,   250,   241,    -1,   179,   244,
1191 <     250,   241,    -1,    59,   244,   110,   241,    -1,    76,   244,
1192 <     176,   241,    -1,    75,   244,   131,   241,    -1,    69,   244,
1193 <     176,   241,    -1,   238,   244,   176,   241,    -1,   171,   244,
1194 <     176,   241,    -1,   174,   244,   176,   241,    -1,   175,   244,
1195 <     176,   241,    -1,   173,   244,   176,   241,    -1,   173,   244,
1196 <     177,   241,    -1,   172,   244,   176,   241,    -1,   172,   244,
1197 <     177,   241,    -1,   123,   244,   250,   241,    -1,    18,   244,
1198 <     250,   241,    -1,   116,   244,   176,   241,    -1,   124,   244,
1199 <     250,   241,    -1,   167,   244,   176,   241,    -1,   108,   244,
1200 <     176,   241,    -1,   222,   244,   176,   241,    -1,   118,   244,
1201 <     176,   241,    -1,    95,   244,   131,   241,    -1,    37,   244,
1202 <     110,   241,    -1,    93,   244,   110,   241,    -1,   228,   244,
1203 <     176,   241,    -1,    39,   244,   131,   241,    -1,   219,   244,
1204 <     131,   241,    -1,   127,   244,   176,   241,    -1,    32,   244,
1205 <     176,   241,    -1,   220,   244,   250,   241,    -1,    -1,   120,
1206 <     493,   244,   494,   241,    -1,   494,   245,   495,    -1,   495,
1207 <      -1,   183,    -1,   186,    -1,   187,    -1,   190,    -1,   191,
1208 <      -1,   195,    -1,    60,    -1,   206,    -1,   201,    -1,   203,
1209 <      -1,   210,    -1,   207,    -1,   194,    -1,   202,    -1,   205,
1210 <      -1,   196,    -1,   216,    -1,   184,    -1,   185,    -1,   199,
1211 <      -1,    -1,   117,   497,   244,   498,   241,    -1,   498,   245,
1212 <     499,    -1,   499,    -1,   183,    -1,   186,    -1,   187,    -1,
1213 <     190,    -1,   191,    -1,   195,    -1,   206,    -1,    60,    -1,
1214 <     201,    -1,   203,    -1,   210,    -1,   207,    -1,   194,    -1,
1215 <     202,    -1,   205,    -1,   196,    -1,   216,    -1,   184,    -1,
1216 <     185,    -1,   199,    -1,    96,   244,   110,   241,    -1,    97,
1217 <     244,   110,   241,    -1,    26,   244,   110,   241,    -1,   189,
1218 <     244,   252,   241,    -1,    -1,    51,   505,   243,   506,   242,
1219 <     241,    -1,   506,   507,    -1,   507,    -1,   508,    -1,   509,
1220 <      -1,   510,    -1,   514,    -1,   515,    -1,   516,    -1,     1,
1221 <      -1,    41,   244,   176,   241,    -1,    38,   244,   250,   241,
1222 <      -1,    -1,    82,   511,   244,   512,   241,    -1,   512,   245,
1223 <     513,    -1,   513,    -1,   178,    -1,    11,    -1,   227,   244,
1224 <     131,   241,    -1,   100,   244,   131,   241,    -1,    -1,     4,
1225 <     517,   244,   518,   241,    -1,   518,   245,   519,    -1,   519,
1226 <      -1,   178,    -1,    11,    -1,    20,   243,   521,   242,   241,
1227 <      -1,   521,   522,    -1,   522,    -1,   525,    -1,   526,    -1,
1228 <     527,    -1,   528,    -1,   534,    -1,   529,    -1,   530,    -1,
1229 <     531,    -1,   532,    -1,   533,    -1,   535,    -1,   536,    -1,
1230 <     537,    -1,   524,    -1,   538,    -1,   539,    -1,   540,    -1,
1231 <     523,    -1,     1,    -1,    33,   244,   176,   241,    -1,   141,
1232 <     244,   176,   241,    -1,    35,   244,   176,   241,    -1,   229,
1233 <     244,   176,   241,    -1,   230,   244,   176,   241,    -1,   231,
1260 <     244,   176,   241,    -1,    77,   244,   250,   241,    -1,    78,
1261 <     244,   250,   241,    -1,    86,   244,   110,   241,    -1,    85,
1262 <     244,   110,   241,    -1,   132,   244,   176,   241,    -1,    84,
1263 <     244,   110,   241,    -1,    28,   244,   110,   241,    -1,    27,
1264 <     244,   110,   241,    -1,   106,   244,   176,   241,    -1,   107,
1265 <     244,   176,   241,    -1,   121,   244,   110,   241,    -1,   122,
1266 <     244,   250,   241,    -1,   160,   243,   542,   242,   241,    -1,
1267 <     542,   543,    -1,   543,    -1,   544,    -1,   545,    -1,   547,
1268 <      -1,   549,    -1,   548,    -1,   546,    -1,   550,    -1,     1,
1269 <      -1,    47,   244,   176,   241,    -1,    63,   244,   176,   241,
1270 <      -1,    61,   244,   131,   241,    -1,    80,   244,   250,   241,
1271 <      -1,    60,   244,   176,   241,    -1,    34,   244,   176,   241,
1272 <      -1,    62,   244,   176,   241,    -1
1043 >     220,     0,    -1,    -1,   220,   221,    -1,   253,    -1,   259,
1044 >      -1,   273,    -1,   475,    -1,   291,    -1,   308,    -1,   322,
1045 >      -1,   231,    -1,   492,    -1,   337,    -1,   344,    -1,   348,
1046 >      -1,   358,    -1,   367,    -1,   387,    -1,   397,    -1,   403,
1047 >      -1,   417,    -1,   407,    -1,   226,    -1,     1,   214,    -1,
1048 >       1,   215,    -1,    -1,   223,    -1,    99,   222,    -1,    99,
1049 >     137,   222,    -1,    99,   138,   222,    -1,    99,   139,   222,
1050 >      -1,    99,   140,   222,    -1,    99,   141,   222,    -1,    -1,
1051 >     225,    -1,    99,   224,    -1,    99,     9,   224,    -1,    99,
1052 >      10,   224,    -1,    99,    11,   224,    -1,    88,   216,   227,
1053 >     215,   214,    -1,   227,   228,    -1,   228,    -1,   229,    -1,
1054 >     230,    -1,     1,   214,    -1,    87,   217,   117,   214,    -1,
1055 >     113,   217,   117,   214,    -1,   145,   216,   232,   215,   214,
1056 >      -1,   232,   233,    -1,   233,    -1,   244,    -1,   249,    -1,
1057 >     252,    -1,   246,    -1,   247,    -1,   248,    -1,   251,    -1,
1058 >     242,    -1,   241,    -1,   250,    -1,   245,    -1,   240,    -1,
1059 >     234,    -1,   235,    -1,   243,    -1,     1,   214,    -1,   131,
1060 >     217,   236,   214,    -1,   132,   217,   238,   214,    -1,   236,
1061 >     218,   237,    -1,   237,    -1,   133,    -1,   134,    -1,   238,
1062 >     218,   239,    -1,   239,    -1,   133,    -1,   134,    -1,   129,
1063 >     217,   117,   214,    -1,   127,   217,   117,   214,    -1,   130,
1064 >     217,   117,   214,    -1,   170,   217,   117,   214,    -1,    89,
1065 >     217,   117,   214,    -1,   146,   217,   117,   214,    -1,    24,
1066 >     217,   117,   214,    -1,    92,   217,   117,   214,    -1,    91,
1067 >     217,   117,   214,    -1,   208,   217,   117,   214,    -1,   209,
1068 >     217,   117,   214,    -1,   180,   217,    99,   214,    -1,    57,
1069 >     217,   159,   214,    -1,     4,   216,   254,   215,   214,    -1,
1070 >     254,   255,    -1,   255,    -1,   256,    -1,   258,    -1,   257,
1071 >      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,    31,
1072 >     217,   117,   214,    -1,    24,   217,   117,   214,    -1,    71,
1073 >     216,   260,   215,   214,    -1,   260,   261,    -1,   261,    -1,
1074 >     262,    -1,   263,    -1,     1,   214,    -1,   207,   217,   159,
1075 >     214,    -1,    -1,   264,   213,   216,   265,   215,   214,    -1,
1076 >     265,   266,    -1,   266,    -1,   267,    -1,   269,    -1,   268,
1077 >      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,   212,
1078 >     217,   225,   214,    -1,   212,   217,   194,   214,    -1,    -1,
1079 >     150,   270,   217,   271,   214,    -1,   271,   218,   272,    -1,
1080 >     272,    -1,   205,    -1,   102,    -1,    40,    -1,   173,    -1,
1081 >      64,    -1,    62,    -1,   172,    -1,    -1,   102,   274,   216,
1082 >     275,   215,   214,    -1,   275,   276,    -1,   276,    -1,   277,
1083 >      -1,   278,    -1,   279,    -1,   283,    -1,   282,    -1,   280,
1084 >      -1,   281,    -1,   287,    -1,     1,   214,    -1,    89,   217,
1085 >     117,   214,    -1,   205,   217,   117,   214,    -1,   112,   217,
1086 >     117,   214,    -1,    32,   217,   159,   214,    -1,   128,   217,
1087 >     117,   214,    -1,    17,   217,   117,   214,    -1,    -1,   191,
1088 >     284,   217,   285,   214,    -1,   285,   218,   286,    -1,   286,
1089 >      -1,   165,    -1,   168,    -1,   169,    -1,   171,    -1,   172,
1090 >      -1,   175,    -1,    51,    -1,   188,    -1,   181,    -1,   184,
1091 >      -1,   192,    -1,   189,    -1,   174,    -1,   182,    -1,   186,
1092 >      -1,   176,    -1,   198,    -1,   166,    -1,   167,    -1,   179,
1093 >      -1,    -1,    36,   288,   217,   289,   214,    -1,   289,   218,
1094 >     290,    -1,   290,    -1,    47,    -1,   124,    -1,    64,    -1,
1095 >     204,    -1,   173,    -1,   193,    -1,   210,    -1,    40,    -1,
1096 >      25,    -1,   199,    -1,   123,    -1,     4,    -1,    94,    -1,
1097 >     182,    -1,   197,    -1,   106,    -1,   125,    -1,   187,    -1,
1098 >      87,    -1,    -1,    17,   292,   216,   293,   215,   214,    -1,
1099 >     293,   294,    -1,   294,    -1,   295,    -1,   305,    -1,   306,
1100 >      -1,   296,    -1,   307,    -1,   297,    -1,   298,    -1,   299,
1101 >      -1,   300,    -1,   301,    -1,   302,    -1,   303,    -1,   304,
1102 >      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,   115,
1103 >     217,   223,   214,    -1,   101,   217,    99,   214,    -1,    19,
1104 >     217,   223,   214,    -1,    81,   217,    99,   214,    -1,    76,
1105 >     217,    99,   214,    -1,    78,   217,    99,   214,    -1,    77,
1106 >     217,    99,   214,    -1,   142,   217,   225,   214,    -1,   183,
1107 >     217,   225,   214,    -1,    15,   217,    99,   214,    -1,    16,
1108 >     217,    99,   214,    -1,   100,   217,    99,   214,    -1,    -1,
1109 >      70,   309,   216,   314,   215,   214,    -1,    -1,    36,   311,
1110 >     217,   312,   214,    -1,   312,   218,   313,    -1,   313,    -1,
1111 >     190,    -1,    51,    -1,   185,    -1,   314,   315,    -1,   315,
1112 >      -1,   316,    -1,   310,    -1,   320,    -1,   321,    -1,     1,
1113 >     214,    -1,    -1,   116,   217,   318,   317,   214,    -1,   318,
1114 >     218,   319,    -1,   319,    -1,    99,    -1,    99,   163,    99,
1115 >      -1,    61,   217,   117,   214,    -1,    56,   217,   117,   214,
1116 >      -1,    -1,    48,   323,   216,   324,   215,   214,    -1,   324,
1117 >     325,    -1,   325,    -1,   326,    -1,   327,    -1,   328,    -1,
1118 >     330,    -1,   334,    -1,   335,    -1,   336,    -1,   329,    -1,
1119 >       1,   214,    -1,   205,   217,   117,   214,    -1,   112,   217,
1120 >     117,   214,    -1,    17,   217,   117,   214,    -1,    32,   217,
1121 >     159,   214,    -1,    -1,    36,   331,   217,   332,   214,    -1,
1122 >     332,   218,   333,    -1,   333,    -1,   153,    -1,    33,    -1,
1123 >      65,    -1,    49,    -1,    13,    -1,    98,    -1,    43,    -1,
1124 >     136,    -1,    90,    -1,   152,   217,   117,   214,    -1,   121,
1125 >     217,   117,   214,    -1,   120,   217,    99,   214,    -1,    -1,
1126 >     135,   338,   216,   339,   215,   214,    -1,   339,   340,    -1,
1127 >     340,    -1,   341,    -1,   342,    -1,   343,    -1,     1,   214,
1128 >      -1,   119,   217,   117,   214,    -1,    14,   217,   117,   214,
1129 >      -1,    93,   217,   117,   214,    -1,   200,   216,   345,   215,
1130 >     214,    -1,   345,   346,    -1,   346,    -1,   347,    -1,     1,
1131 >      -1,    89,   217,   117,   214,    -1,    -1,   148,   349,   216,
1132 >     350,   215,   214,    -1,   350,   351,    -1,   351,    -1,   352,
1133 >      -1,   353,    -1,   354,    -1,     1,   214,    -1,    89,   217,
1134 >     117,   214,    -1,   205,   217,   117,   214,    -1,    -1,   150,
1135 >     355,   217,   356,   214,    -1,   356,   218,   357,    -1,   357,
1136 >      -1,    64,    -1,   204,    -1,   173,    -1,   193,    -1,   210,
1137 >      -1,   196,    -1,   135,    -1,   195,    -1,   179,    -1,   164,
1138 >      -1,    -1,   149,   359,   216,   360,   215,   214,    -1,   360,
1139 >     361,    -1,   361,    -1,   362,    -1,   363,    -1,     1,   214,
1140 >      -1,    89,   217,   117,   214,    -1,    -1,   150,   364,   217,
1141 >     365,   214,    -1,   365,   218,   366,    -1,   366,    -1,    64,
1142 >      -1,   204,    -1,   173,    -1,   193,    -1,   210,    -1,   196,
1143 >      -1,   135,    -1,   195,    -1,   179,    -1,   164,    -1,    -1,
1144 >      18,   368,   216,   369,   215,   214,    -1,   369,   370,    -1,
1145 >     370,    -1,   371,    -1,   372,    -1,   373,    -1,   374,    -1,
1146 >     375,    -1,   377,    -1,   376,    -1,   386,    -1,   378,    -1,
1147 >     383,    -1,   384,    -1,   385,    -1,   382,    -1,     1,   214,
1148 >      -1,    89,   217,   117,   214,    -1,    56,   217,   117,   214,
1149 >      -1,   208,   217,   117,   214,    -1,   143,   217,   117,   214,
1150 >      -1,     3,   217,   117,   214,    -1,   116,   217,    99,   214,
1151 >      -1,     5,   217,   177,   214,    -1,     5,   217,   178,   214,
1152 >      -1,    -1,    36,   379,   217,   380,   214,    -1,   380,   218,
1153 >     381,    -1,   381,    -1,     8,    -1,   190,    -1,    32,   217,
1154 >     159,   214,    -1,    58,   217,   117,   214,    -1,    68,   217,
1155 >     117,   214,    -1,    17,   217,   117,   214,    -1,   170,   217,
1156 >     117,   214,    -1,    -1,    62,   388,   216,   393,   215,   214,
1157 >      -1,    -1,   150,   390,   217,   391,   214,    -1,   391,   218,
1158 >     392,    -1,   392,    -1,   122,    -1,   393,   394,    -1,   394,
1159 >      -1,   395,    -1,   396,    -1,   389,    -1,     1,    -1,   205,
1160 >     217,   117,   214,    -1,   119,   217,   117,   214,    -1,    -1,
1161 >      23,   398,   216,   399,   215,   214,    -1,   399,   400,    -1,
1162 >     400,    -1,   401,    -1,   402,    -1,     1,    -1,    61,   217,
1163 >     117,   214,    -1,   119,   217,   117,   214,    -1,    34,   216,
1164 >     404,   215,   214,    -1,   404,   405,    -1,   405,    -1,   406,
1165 >      -1,     1,    -1,    61,   217,   117,   214,    -1,    -1,    38,
1166 >     408,   216,   413,   215,   214,    -1,    -1,   150,   410,   217,
1167 >     411,   214,    -1,   411,   218,   412,    -1,   412,    -1,   122,
1168 >      -1,   413,   414,    -1,   414,    -1,   415,    -1,   416,    -1,
1169 >     409,    -1,     1,    -1,    89,   217,   117,   214,    -1,   119,
1170 >     217,   117,   214,    -1,    39,   216,   418,   215,   214,    -1,
1171 >     418,   419,    -1,   419,    -1,   428,    -1,   429,    -1,   431,
1172 >      -1,   432,    -1,   433,    -1,   434,    -1,   435,    -1,   436,
1173 >      -1,   437,    -1,   438,    -1,   427,    -1,   440,    -1,   441,
1174 >      -1,   456,    -1,   443,    -1,   445,    -1,   447,    -1,   446,
1175 >      -1,   450,    -1,   444,    -1,   451,    -1,   452,    -1,   453,
1176 >      -1,   454,    -1,   455,    -1,   468,    -1,   457,    -1,   458,
1177 >      -1,   459,    -1,   464,    -1,   448,    -1,   449,    -1,   474,
1178 >      -1,   472,    -1,   473,    -1,   430,    -1,   463,    -1,   439,
1179 >      -1,   461,    -1,   462,    -1,   426,    -1,   421,    -1,   422,
1180 >      -1,   423,    -1,   424,    -1,   425,    -1,   442,    -1,   420,
1181 >      -1,   460,    -1,     1,    -1,    83,   217,    99,   214,    -1,
1182 >      42,   217,   159,   214,    -1,    41,   217,   223,   214,    -1,
1183 >      44,   217,   223,   214,    -1,    45,   217,    99,   214,    -1,
1184 >      46,   217,    99,   214,    -1,   147,   217,   159,   214,    -1,
1185 >      63,   217,   223,   214,    -1,    55,   217,   159,   214,    -1,
1186 >      59,   217,   159,   214,    -1,    28,   217,   159,   214,    -1,
1187 >      35,   217,   159,   214,    -1,     6,   217,   159,   214,    -1,
1188 >      80,   217,   223,   214,    -1,    79,   217,    99,   214,    -1,
1189 >      72,   217,    99,   214,    -1,     7,   217,   223,   214,    -1,
1190 >     162,   217,   223,   214,    -1,   161,   217,   223,   214,    -1,
1191 >      50,   217,    99,   214,    -1,    60,   217,   159,   214,    -1,
1192 >     211,   217,   159,   214,    -1,   154,   217,   159,   214,    -1,
1193 >     157,   217,   159,   214,    -1,   158,   217,   159,   214,    -1,
1194 >     156,   217,   159,   214,    -1,   156,   217,   160,   214,    -1,
1195 >     155,   217,   159,   214,    -1,   155,   217,   160,   214,    -1,
1196 >     110,   217,   223,   214,    -1,    12,   217,   223,   214,    -1,
1197 >     103,   217,   159,   214,    -1,   111,   217,   223,   214,    -1,
1198 >     151,   217,   159,   214,    -1,    97,   217,   159,   214,    -1,
1199 >     203,   217,   159,   214,    -1,   105,   217,   159,   214,    -1,
1200 >      84,   217,   117,   214,    -1,    29,   217,    99,   214,    -1,
1201 >      82,   217,    99,   214,    -1,   206,   217,   159,   214,    -1,
1202 >      30,   217,   117,   214,    -1,   201,   217,   117,   214,    -1,
1203 >     114,   217,   159,   214,    -1,    26,   217,   159,   214,    -1,
1204 >     202,   217,   223,   214,    -1,    -1,   107,   465,   217,   466,
1205 >     214,    -1,   466,   218,   467,    -1,   467,    -1,   165,    -1,
1206 >     168,    -1,   169,    -1,   171,    -1,   172,    -1,   175,    -1,
1207 >      51,    -1,   188,    -1,   181,    -1,   184,    -1,   192,    -1,
1208 >     189,    -1,   174,    -1,   182,    -1,   186,    -1,   176,    -1,
1209 >     198,    -1,   166,    -1,   167,    -1,   179,    -1,    -1,   104,
1210 >     469,   217,   470,   214,    -1,   470,   218,   471,    -1,   471,
1211 >      -1,   165,    -1,   168,    -1,   169,    -1,   171,    -1,   172,
1212 >      -1,   175,    -1,   188,    -1,    51,    -1,   181,    -1,   184,
1213 >      -1,   192,    -1,   189,    -1,   174,    -1,   182,    -1,   186,
1214 >      -1,   176,    -1,   198,    -1,   166,    -1,   167,    -1,   179,
1215 >      -1,    85,   217,    99,   214,    -1,    86,   217,    99,   214,
1216 >      -1,    20,   217,    99,   214,    -1,    14,   216,   476,   215,
1217 >     214,    -1,   476,   477,    -1,   477,    -1,   485,    -1,   480,
1218 >      -1,   481,    -1,   482,    -1,   483,    -1,   484,    -1,   486,
1219 >      -1,   487,    -1,   488,    -1,   479,    -1,   489,    -1,   490,
1220 >      -1,   491,    -1,   478,    -1,     1,    -1,    27,   217,   159,
1221 >     214,    -1,   126,   217,   159,   214,    -1,    66,   217,   223,
1222 >     214,    -1,    67,   217,   223,   214,    -1,    75,   217,    99,
1223 >     214,    -1,    74,   217,    99,   214,    -1,   118,   217,   159,
1224 >     214,    -1,    73,   217,    99,   214,    -1,    22,   217,    99,
1225 >     214,    -1,    21,   217,    99,   214,    -1,    95,   217,   159,
1226 >     214,    -1,    96,   217,   159,   214,    -1,   108,   217,    99,
1227 >     214,    -1,   109,   217,   223,   214,    -1,   144,   216,   493,
1228 >     215,   214,    -1,   493,   494,    -1,   494,    -1,   495,    -1,
1229 >     496,    -1,   498,    -1,   499,    -1,   497,    -1,   500,    -1,
1230 >       1,    -1,    37,   217,   159,   214,    -1,    54,   217,   159,
1231 >     214,    -1,    52,   217,   117,   214,    -1,    69,   217,   223,
1232 >     214,    -1,    51,   217,   159,   214,    -1,    53,   217,   159,
1233 >     214,    -1
1234   };
1235  
1236   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
# Line 1277 | Line 1238 | static const yytype_uint16 yyrline[] =
1238   {
1239         0,   354,   354,   355,   358,   359,   360,   361,   362,   363,
1240       364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
1241 <     374,   375,   376,   377,   378,   379,   380,   384,   384,   385,
1242 <     389,   393,   397,   401,   405,   411,   411,   412,   413,   414,
1243 <     415,   422,   425,   425,   426,   426,   426,   428,   434,   441,
1244 <     443,   443,   444,   444,   445,   445,   446,   446,   447,   447,
1245 <     448,   448,   449,   449,   450,   450,   451,   452,   455,   456,
1246 <     458,   458,   459,   465,   473,   473,   474,   480,   488,   527,
1247 <     586,   614,   622,   637,   652,   661,   675,   684,   712,   742,
1248 <     765,   774,   776,   776,   777,   777,   778,   778,   780,   789,
1249 <     798,   810,   811,   811,   813,   813,   814,   816,   823,   823,
1250 <     833,   834,   836,   836,   837,   837,   839,   844,   847,   853,
1251 <     852,   858,   858,   859,   863,   867,   871,   875,   879,   883,
1252 <     894,   893,   991,   991,   992,   992,   992,   993,   993,   993,
1253 <     994,   994,   994,   996,  1005,  1042,  1054,  1065,  1107,  1117,
1254 <    1116,  1122,  1122,  1123,  1127,  1131,  1135,  1139,  1143,  1147,
1255 <    1151,  1155,  1159,  1163,  1167,  1171,  1175,  1179,  1183,  1187,
1256 <    1191,  1195,  1199,  1206,  1205,  1211,  1211,  1212,  1216,  1220,
1257 <    1224,  1228,  1232,  1236,  1240,  1244,  1248,  1252,  1256,  1260,
1258 <    1264,  1268,  1272,  1276,  1280,  1291,  1290,  1340,  1340,  1341,
1259 <    1342,  1342,  1343,  1344,  1345,  1346,  1347,  1348,  1349,  1350,
1260 <    1351,  1352,  1353,  1355,  1364,  1370,  1376,  1382,  1388,  1394,
1261 <    1400,  1406,  1412,  1418,  1424,  1430,  1440,  1439,  1456,  1455,
1262 <    1460,  1460,  1461,  1465,  1469,  1477,  1477,  1478,  1478,  1478,
1263 <    1478,  1478,  1480,  1480,  1482,  1482,  1484,  1498,  1518,  1527,
1264 <    1540,  1539,  1608,  1608,  1609,  1609,  1609,  1609,  1610,  1610,
1265 <    1610,  1611,  1611,  1613,  1648,  1661,  1670,  1682,  1681,  1685,
1266 <    1685,  1686,  1690,  1694,  1698,  1702,  1706,  1710,  1714,  1718,
1267 <    1725,  1744,  1754,  1768,  1767,  1783,  1783,  1784,  1784,  1784,
1268 <    1784,  1786,  1795,  1810,  1823,  1825,  1825,  1826,  1826,  1828,
1269 <    1844,  1843,  1859,  1859,  1860,  1860,  1860,  1860,  1862,  1871,
1270 <    1894,  1893,  1899,  1899,  1900,  1904,  1908,  1912,  1916,  1920,
1271 <    1924,  1928,  1932,  1936,  1946,  1945,  1962,  1962,  1963,  1963,
1272 <    1963,  1965,  1972,  1971,  1977,  1977,  1978,  1982,  1986,  1990,
1273 <    1994,  1998,  2002,  2006,  2010,  2014,  2024,  2023,  2074,  2074,
1274 <    2075,  2075,  2075,  2076,  2076,  2077,  2077,  2077,  2078,  2078,
1275 <    2078,  2079,  2079,  2080,  2082,  2091,  2100,  2126,  2144,  2162,
1276 <    2168,  2172,  2181,  2180,  2184,  2184,  2185,  2189,  2193,  2197,
1277 <    2203,  2214,  2225,  2236,  2245,  2264,  2263,  2329,  2328,  2332,
1278 <    2332,  2333,  2339,  2339,  2340,  2340,  2340,  2340,  2342,  2361,
1279 <    2371,  2370,  2395,  2395,  2396,  2396,  2396,  2398,  2404,  2413,
1280 <    2415,  2415,  2416,  2416,  2418,  2437,  2436,  2484,  2483,  2487,
1281 <    2487,  2488,  2494,  2494,  2495,  2495,  2495,  2495,  2497,  2503,
1282 <    2512,  2515,  2515,  2516,  2516,  2517,  2517,  2518,  2518,  2519,
1283 <    2519,  2520,  2520,  2521,  2521,  2522,  2522,  2523,  2523,  2524,
1284 <    2524,  2525,  2525,  2526,  2526,  2527,  2527,  2528,  2528,  2529,
1285 <    2530,  2530,  2531,  2531,  2532,  2532,  2533,  2533,  2534,  2534,
1286 <    2535,  2536,  2537,  2537,  2538,  2539,  2540,  2540,  2541,  2541,
1287 <    2542,  2542,  2543,  2543,  2544,  2547,  2552,  2557,  2562,  2567,
1288 <    2572,  2577,  2582,  2587,  2592,  2597,  2602,  2607,  2612,  2617,
1289 <    2622,  2627,  2632,  2638,  2649,  2654,  2663,  2668,  2673,  2678,
1290 <    2683,  2688,  2691,  2696,  2699,  2704,  2709,  2714,  2719,  2724,
1291 <    2729,  2734,  2739,  2744,  2755,  2760,  2765,  2770,  2779,  2788,
1292 <    2793,  2798,  2804,  2803,  2808,  2808,  2809,  2812,  2815,  2818,
1293 <    2821,  2824,  2827,  2830,  2833,  2836,  2839,  2842,  2845,  2848,
1294 <    2851,  2854,  2857,  2860,  2863,  2866,  2872,  2871,  2876,  2876,
1295 <    2877,  2880,  2883,  2886,  2889,  2892,  2895,  2898,  2901,  2904,
1296 <    2907,  2910,  2913,  2916,  2919,  2922,  2925,  2928,  2931,  2934,
1297 <    2939,  2944,  2949,  2954,  2964,  2963,  2987,  2987,  2988,  2989,
1298 <    2990,  2991,  2992,  2993,  2994,  2996,  3002,  3009,  3008,  3013,
1299 <    3013,  3014,  3018,  3024,  3058,  3068,  3067,  3117,  3117,  3118,
1300 <    3122,  3131,  3134,  3134,  3135,  3135,  3136,  3136,  3136,  3137,
1301 <    3137,  3138,  3138,  3139,  3139,  3140,  3141,  3141,  3142,  3143,
1341 <    3143,  3144,  3144,  3146,  3151,  3156,  3161,  3166,  3171,  3176,
1342 <    3181,  3186,  3191,  3196,  3201,  3206,  3211,  3216,  3221,  3226,
1343 <    3231,  3239,  3242,  3242,  3243,  3243,  3244,  3245,  3246,  3246,
1344 <    3247,  3248,  3250,  3256,  3262,  3271,  3285,  3291,  3297
1241 >     374,   375,   376,   377,   378,   379,   383,   383,   384,   388,
1242 >     392,   396,   400,   404,   410,   410,   411,   412,   413,   414,
1243 >     421,   424,   424,   425,   425,   425,   427,   433,   440,   442,
1244 >     442,   443,   443,   444,   444,   445,   445,   446,   446,   447,
1245 >     447,   448,   448,   449,   449,   450,   451,   454,   455,   457,
1246 >     457,   458,   464,   472,   472,   473,   479,   487,   526,   585,
1247 >     613,   621,   636,   651,   660,   674,   683,   711,   741,   764,
1248 >     773,   775,   775,   776,   776,   777,   777,   779,   788,   797,
1249 >     809,   810,   810,   812,   812,   813,   815,   822,   822,   835,
1250 >     836,   838,   838,   839,   839,   841,   849,   852,   858,   857,
1251 >     863,   863,   864,   868,   872,   876,   880,   884,   888,   899,
1252 >     898,   978,   978,   979,   979,   979,   980,   980,   980,   981,
1253 >     981,   981,   983,   989,   995,  1001,  1012,  1018,  1025,  1024,
1254 >    1030,  1030,  1031,  1035,  1039,  1043,  1047,  1051,  1055,  1059,
1255 >    1063,  1067,  1071,  1075,  1079,  1083,  1087,  1091,  1095,  1099,
1256 >    1103,  1107,  1114,  1113,  1119,  1119,  1120,  1124,  1128,  1132,
1257 >    1136,  1140,  1144,  1148,  1152,  1156,  1160,  1164,  1168,  1172,
1258 >    1176,  1180,  1184,  1188,  1192,  1203,  1202,  1253,  1253,  1254,
1259 >    1255,  1255,  1256,  1257,  1258,  1259,  1260,  1261,  1262,  1263,
1260 >    1264,  1264,  1265,  1267,  1273,  1279,  1285,  1291,  1297,  1303,
1261 >    1309,  1315,  1321,  1328,  1334,  1340,  1350,  1349,  1356,  1355,
1262 >    1360,  1360,  1361,  1365,  1369,  1375,  1375,  1376,  1376,  1376,
1263 >    1376,  1376,  1378,  1378,  1380,  1380,  1382,  1396,  1416,  1422,
1264 >    1432,  1431,  1473,  1473,  1474,  1474,  1474,  1474,  1475,  1475,
1265 >    1475,  1476,  1476,  1478,  1484,  1490,  1496,  1508,  1507,  1513,
1266 >    1513,  1514,  1518,  1522,  1526,  1530,  1534,  1538,  1542,  1546,
1267 >    1552,  1566,  1575,  1589,  1588,  1597,  1597,  1598,  1598,  1598,
1268 >    1598,  1600,  1606,  1615,  1624,  1626,  1626,  1627,  1627,  1629,
1269 >    1645,  1644,  1669,  1669,  1670,  1670,  1670,  1670,  1672,  1678,
1270 >    1698,  1697,  1703,  1703,  1704,  1708,  1712,  1716,  1720,  1724,
1271 >    1728,  1732,  1736,  1740,  1750,  1749,  1770,  1770,  1771,  1771,
1272 >    1771,  1773,  1780,  1779,  1785,  1785,  1786,  1790,  1794,  1798,
1273 >    1802,  1806,  1810,  1814,  1818,  1822,  1832,  1831,  1897,  1897,
1274 >    1898,  1898,  1898,  1899,  1899,  1900,  1900,  1900,  1901,  1901,
1275 >    1901,  1902,  1902,  1903,  1905,  1911,  1917,  1923,  1936,  1949,
1276 >    1955,  1959,  1968,  1967,  1972,  1972,  1973,  1977,  1983,  1994,
1277 >    2000,  2006,  2012,  2028,  2027,  2090,  2089,  2095,  2095,  2096,
1278 >    2102,  2102,  2103,  2103,  2103,  2103,  2105,  2125,  2135,  2134,
1279 >    2161,  2161,  2162,  2162,  2162,  2164,  2170,  2179,  2181,  2181,
1280 >    2182,  2182,  2184,  2202,  2201,  2247,  2246,  2252,  2252,  2253,
1281 >    2259,  2259,  2260,  2260,  2260,  2260,  2262,  2268,  2277,  2280,
1282 >    2280,  2281,  2281,  2282,  2282,  2283,  2283,  2284,  2284,  2285,
1283 >    2285,  2286,  2287,  2288,  2288,  2289,  2289,  2290,  2290,  2291,
1284 >    2291,  2292,  2292,  2293,  2293,  2294,  2295,  2295,  2296,  2296,
1285 >    2297,  2297,  2298,  2298,  2299,  2299,  2300,  2301,  2301,  2302,
1286 >    2303,  2304,  2304,  2305,  2305,  2306,  2307,  2308,  2309,  2309,
1287 >    2310,  2313,  2318,  2324,  2330,  2336,  2341,  2346,  2351,  2356,
1288 >    2361,  2366,  2371,  2376,  2381,  2386,  2391,  2396,  2401,  2406,
1289 >    2412,  2423,  2428,  2433,  2438,  2443,  2448,  2451,  2456,  2459,
1290 >    2464,  2469,  2474,  2479,  2484,  2489,  2494,  2499,  2504,  2515,
1291 >    2520,  2525,  2530,  2539,  2548,  2553,  2558,  2564,  2563,  2568,
1292 >    2568,  2569,  2572,  2575,  2578,  2581,  2584,  2587,  2590,  2593,
1293 >    2596,  2599,  2602,  2605,  2608,  2611,  2614,  2617,  2620,  2623,
1294 >    2626,  2632,  2631,  2636,  2636,  2637,  2640,  2643,  2646,  2649,
1295 >    2652,  2655,  2658,  2661,  2664,  2667,  2670,  2673,  2676,  2679,
1296 >    2682,  2685,  2688,  2691,  2694,  2699,  2704,  2709,  2718,  2721,
1297 >    2721,  2722,  2723,  2723,  2724,  2724,  2725,  2725,  2726,  2727,
1298 >    2727,  2728,  2729,  2729,  2730,  2730,  2732,  2737,  2742,  2747,
1299 >    2752,  2757,  2762,  2767,  2772,  2777,  2782,  2787,  2792,  2797,
1300 >    2805,  2808,  2808,  2809,  2809,  2810,  2811,  2811,  2812,  2813,
1301 >    2815,  2821,  2827,  2836,  2850,  2856
1302   };
1303   #endif
1304  
1305 < #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1305 > #if YYDEBUG || YYERROR_VERBOSE || 0
1306   /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1307     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1308   static const char *const yytname[] =
1309   {
1310 <  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1311 <  "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1312 <  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BYTES", "KBYTES", "MBYTES",
1356 <  "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1310 >  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1311 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1312 >  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1313    "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1314    "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1315    "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1316 <  "DISABLE_FAKE_CHANNELS", "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS",
1317 <  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH",
1362 <  "EMAIL", "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1316 >  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1317 >  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1318    "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1319 <  "GLINE", "GLINES", "GLINE_EXEMPT", "GLINE_TIME", "GLINE_MIN_CIDR",
1320 <  "GLINE_MIN_CIDR6", "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT",
1321 <  "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_SERVER_IPS",
1322 <  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1323 <  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1324 <  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1325 <  "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1326 <  "LINKS_DELAY", "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS",
1327 <  "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT",
1328 <  "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER",
1329 <  "MAX_TARGETS", "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1319 >  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1320 >  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1321 >  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1322 >  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1323 >  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1324 >  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1325 >  "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1326 >  "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER",
1327 >  "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1328 >  "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1329 >  "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1330    "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1331    "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1332    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1333 <  "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1334 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID",
1335 <  "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1336 <  "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1337 <  "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1338 <  "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1339 <  "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1340 <  "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1341 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE",
1342 <  "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1",
1343 <  "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1344 <  "SENDQ", "SEND_PASSWORD", "SERVERHIDE", "SERVERINFO", "IRCD_SID",
1345 <  "TKLINE_EXPIRE_NOTICES", "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD",
1346 <  "SILENT", "SPOOF", "SPOOF_NOTICE", "STATS_E_DISABLED",
1347 <  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1348 <  "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "T_REJECT", "TS_MAX_DELTA",
1349 <  "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS", "T_SOFTCALLERID",
1350 <  "T_CALLERID", "T_CCONN", "T_CCONN_FULL", "T_SSL_CIPHER_LIST",
1351 <  "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE", "T_DRONE",
1352 <  "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1353 <  "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ", "T_SERVER",
1354 <  "T_SERVNOTICE", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES", "T_UNAUTH",
1355 <  "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS",
1356 <  "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME", "THROTTLE_TIME",
1357 <  "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE", "TRESV",
1358 <  "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX", "USE_KNOCK",
1359 <  "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE", "WARN",
1360 <  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1406 <  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1407 <  "sizespec", "modules_entry", "modules_items", "modules_item",
1408 <  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1333 >  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR",
1334 >  "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1335 >  "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1336 >  "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1337 >  "PING_TIME", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT",
1338 >  "REDIRSERV", "REGEX_T", "REHASH", "REMOTE", "REMOTEBAN",
1339 >  "RESTRICT_CHANNELS", "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE",
1340 >  "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD",
1341 >  "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT",
1342 >  "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD",
1343 >  "SERVERHIDE", "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1344 >  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1345 >  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1346 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1347 >  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1348 >  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1349 >  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1350 >  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1351 >  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1352 >  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1353 >  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1354 >  "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME",
1355 >  "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD",
1356 >  "USE_LOGGING", "VHOST", "VHOST6", "XLINE", "WARN_NO_NLINE", "T_SIZE",
1357 >  "T_FILE", "';'", "'}'", "'{'", "'='", "','", "$accept", "conf",
1358 >  "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1359 >  "modules_entry", "modules_items", "modules_item", "modules_module",
1360 >  "modules_path", "serverinfo_entry", "serverinfo_items",
1361    "serverinfo_item", "serverinfo_ssl_client_method",
1362    "serverinfo_ssl_server_method", "client_method_types",
1363    "client_method_type_item", "server_method_types",
# Line 1425 | Line 1377 | static const char *const yytname[] =
1377    "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1378    "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1379    "class_entry", "$@6", "class_items", "class_item", "class_name",
1380 <  "class_ping_time", "class_ping_warning", "class_number_per_ip",
1381 <  "class_connectfreq", "class_max_number", "class_max_global",
1382 <  "class_max_local", "class_max_ident", "class_sendq",
1380 >  "class_ping_time", "class_number_per_ip", "class_connectfreq",
1381 >  "class_max_number", "class_max_global", "class_max_local",
1382 >  "class_max_ident", "class_sendq", "class_recvq",
1383    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1384    "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1385    "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
# Line 1455 | Line 1407 | static const char *const yytname[] =
1407    "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1408    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1409    "general_entry", "general_items", "general_item", "general_max_watch",
1410 <  "general_gline_min_cidr", "general_gline_min_cidr6",
1411 <  "general_use_whois_actually", "general_reject_hold_time",
1412 <  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1413 <  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1414 <  "general_disable_remote_commands", "general_failed_oper_notice",
1415 <  "general_anti_nick_flood", "general_max_nick_time",
1416 <  "general_max_nick_changes", "general_max_accept",
1417 <  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1418 <  "general_ts_max_delta", "general_havent_read_conf",
1419 <  "general_kline_with_reason", "general_kline_reason",
1420 <  "general_invisible_on_connect", "general_warn_no_nline",
1421 <  "general_stats_e_disabled", "general_stats_o_oper_only",
1422 <  "general_stats_P_oper_only", "general_stats_k_oper_only",
1423 <  "general_stats_i_oper_only", "general_pace_wait",
1424 <  "general_caller_id_wait", "general_opers_bypass_callerid",
1425 <  "general_pace_wait_simple", "general_short_motd",
1426 <  "general_no_oper_flood", "general_true_no_oper_flood",
1427 <  "general_oper_pass_resv", "general_message_locale",
1428 <  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1429 <  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1430 <  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1431 <  "$@24", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1432 <  "$@25", "umode_items", "umode_item", "general_min_nonwildcard",
1433 <  "general_min_nonwildcard_simple", "general_default_floodcount",
1434 <  "general_client_flood", "gline_entry", "$@26", "gline_items",
1435 <  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@27",
1484 <  "gline_logging_types", "gline_logging_type_item", "gline_user",
1485 <  "gline_server", "gline_action", "$@28", "gdeny_types", "gdeny_type_item",
1486 <  "channel_entry", "channel_items", "channel_item",
1487 <  "channel_disable_fake_channels", "channel_restrict_channels",
1488 <  "channel_disable_local_channels", "channel_use_except",
1489 <  "channel_use_invex", "channel_use_knock", "channel_knock_delay",
1410 >  "general_gline_enable", "general_gline_duration",
1411 >  "general_gline_request_duration", "general_gline_min_cidr",
1412 >  "general_gline_min_cidr6", "general_tkline_expire_notices",
1413 >  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1414 >  "general_ignore_bogus_ts", "general_disable_remote_commands",
1415 >  "general_failed_oper_notice", "general_anti_nick_flood",
1416 >  "general_max_nick_time", "general_max_nick_changes",
1417 >  "general_max_accept", "general_anti_spam_exit_message_time",
1418 >  "general_ts_warn_delta", "general_ts_max_delta",
1419 >  "general_havent_read_conf", "general_invisible_on_connect",
1420 >  "general_warn_no_nline", "general_stats_e_disabled",
1421 >  "general_stats_o_oper_only", "general_stats_P_oper_only",
1422 >  "general_stats_k_oper_only", "general_stats_i_oper_only",
1423 >  "general_pace_wait", "general_caller_id_wait",
1424 >  "general_opers_bypass_callerid", "general_pace_wait_simple",
1425 >  "general_short_motd", "general_no_oper_flood",
1426 >  "general_true_no_oper_flood", "general_oper_pass_resv",
1427 >  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1428 >  "general_use_egd", "general_egdpool_path", "general_services_name",
1429 >  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1430 >  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1431 >  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1432 >  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1433 >  "general_default_floodcount", "channel_entry", "channel_items",
1434 >  "channel_item", "channel_disable_fake_channels",
1435 >  "channel_restrict_channels", "channel_knock_delay",
1436    "channel_knock_delay_channel", "channel_max_chans_per_user",
1437    "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1438    "channel_default_split_user_count", "channel_default_split_server_count",
# Line 1495 | Line 1441 | static const char *const yytname[] =
1441    "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1442    "serverhide_hide_servers", "serverhide_hidden_name",
1443    "serverhide_links_delay", "serverhide_hidden",
1444 <  "serverhide_disable_hidden", "serverhide_hide_server_ips", YY_NULL
1444 >  "serverhide_hide_server_ips", YY_NULL
1445   };
1446   #endif
1447  
# Line 1525 | Line 1471 | static const yytype_uint16 yytoknum[] =
1471       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1472       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1473       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1474 <     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1529 <     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1530 <     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1531 <     495,    59,   125,   123,    61,    44
1474 >     465,   466,   467,   468,    59,   125,   123,    61,    44
1475   };
1476   # endif
1477  
1478   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1479   static const yytype_uint16 yyr1[] =
1480   {
1481 <       0,   246,   247,   247,   248,   248,   248,   248,   248,   248,
1482 <     248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
1483 <     248,   248,   248,   248,   248,   248,   248,   249,   249,   250,
1484 <     250,   250,   250,   250,   250,   251,   251,   252,   252,   252,
1485 <     252,   253,   254,   254,   255,   255,   255,   256,   257,   258,
1486 <     259,   259,   260,   260,   260,   260,   260,   260,   260,   260,
1487 <     260,   260,   260,   260,   260,   260,   260,   260,   261,   262,
1488 <     263,   263,   264,   264,   265,   265,   266,   266,   267,   268,
1489 <     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
1490 <     279,   280,   281,   281,   282,   282,   282,   282,   283,   284,
1491 <     285,   286,   287,   287,   288,   288,   288,   289,   291,   290,
1492 <     292,   292,   293,   293,   293,   293,   294,   295,   295,   297,
1493 <     296,   298,   298,   299,   299,   299,   299,   299,   299,   299,
1494 <     301,   300,   302,   302,   303,   303,   303,   303,   303,   303,
1495 <     303,   303,   303,   304,   305,   306,   307,   308,   309,   311,
1496 <     310,   312,   312,   313,   313,   313,   313,   313,   313,   313,
1497 <     313,   313,   313,   313,   313,   313,   313,   313,   313,   313,
1498 <     313,   313,   313,   315,   314,   316,   316,   317,   317,   317,
1499 <     317,   317,   317,   317,   317,   317,   317,   317,   317,   317,
1500 <     317,   317,   317,   317,   317,   319,   318,   320,   320,   321,
1501 <     321,   321,   321,   321,   321,   321,   321,   321,   321,   321,
1502 <     321,   321,   321,   322,   323,   324,   325,   326,   327,   328,
1503 <     329,   330,   331,   332,   333,   334,   336,   335,   338,   337,
1504 <     339,   339,   340,   340,   340,   341,   341,   342,   342,   342,
1505 <     342,   342,   344,   343,   345,   345,   346,   346,   347,   348,
1506 <     350,   349,   351,   351,   352,   352,   352,   352,   352,   352,
1507 <     352,   352,   352,   353,   354,   355,   356,   358,   357,   359,
1508 <     359,   360,   360,   360,   360,   360,   360,   360,   360,   360,
1509 <     361,   362,   363,   365,   364,   366,   366,   367,   367,   367,
1510 <     367,   368,   369,   370,   371,   372,   372,   373,   373,   374,
1511 <     376,   375,   377,   377,   378,   378,   378,   378,   379,   380,
1512 <     382,   381,   383,   383,   384,   384,   384,   384,   384,   384,
1513 <     384,   384,   384,   384,   386,   385,   387,   387,   388,   388,
1514 <     388,   389,   391,   390,   392,   392,   393,   393,   393,   393,
1515 <     393,   393,   393,   393,   393,   393,   395,   394,   396,   396,
1516 <     397,   397,   397,   397,   397,   397,   397,   397,   397,   397,
1517 <     397,   397,   397,   397,   398,   399,   400,   401,   402,   403,
1518 <     404,   404,   406,   405,   407,   407,   408,   408,   408,   408,
1519 <     409,   410,   411,   412,   413,   415,   414,   417,   416,   418,
1520 <     418,   419,   420,   420,   421,   421,   421,   421,   422,   423,
1521 <     425,   424,   426,   426,   427,   427,   427,   428,   429,   430,
1522 <     431,   431,   432,   432,   433,   435,   434,   437,   436,   438,
1523 <     438,   439,   440,   440,   441,   441,   441,   441,   442,   443,
1524 <     444,   445,   445,   446,   446,   446,   446,   446,   446,   446,
1525 <     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1526 <     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1527 <     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1528 <     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1529 <     446,   446,   446,   446,   446,   447,   448,   449,   450,   451,
1530 <     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
1531 <     462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
1532 <     472,   473,   473,   474,   474,   475,   476,   477,   478,   479,
1533 <     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1534 <     490,   491,   493,   492,   494,   494,   495,   495,   495,   495,
1535 <     495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
1536 <     495,   495,   495,   495,   495,   495,   497,   496,   498,   498,
1537 <     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
1538 <     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
1539 <     500,   501,   502,   503,   505,   504,   506,   506,   507,   507,
1540 <     507,   507,   507,   507,   507,   508,   509,   511,   510,   512,
1541 <     512,   513,   513,   514,   515,   517,   516,   518,   518,   519,
1542 <     519,   520,   521,   521,   522,   522,   522,   522,   522,   522,
1543 <     522,   522,   522,   522,   522,   522,   522,   522,   522,   522,
1601 <     522,   522,   522,   523,   524,   525,   526,   527,   528,   529,
1602 <     530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
1603 <     540,   541,   542,   542,   543,   543,   543,   543,   543,   543,
1604 <     543,   543,   544,   545,   546,   547,   548,   549,   550
1481 >       0,   219,   220,   220,   221,   221,   221,   221,   221,   221,
1482 >     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
1483 >     221,   221,   221,   221,   221,   221,   222,   222,   223,   223,
1484 >     223,   223,   223,   223,   224,   224,   225,   225,   225,   225,
1485 >     226,   227,   227,   228,   228,   228,   229,   230,   231,   232,
1486 >     232,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1487 >     233,   233,   233,   233,   233,   233,   233,   234,   235,   236,
1488 >     236,   237,   237,   238,   238,   239,   239,   240,   241,   242,
1489 >     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1490 >     253,   254,   254,   255,   255,   255,   255,   256,   257,   258,
1491 >     259,   260,   260,   261,   261,   261,   262,   264,   263,   265,
1492 >     265,   266,   266,   266,   266,   267,   268,   268,   270,   269,
1493 >     271,   271,   272,   272,   272,   272,   272,   272,   272,   274,
1494 >     273,   275,   275,   276,   276,   276,   276,   276,   276,   276,
1495 >     276,   276,   277,   278,   279,   280,   281,   282,   284,   283,
1496 >     285,   285,   286,   286,   286,   286,   286,   286,   286,   286,
1497 >     286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
1498 >     286,   286,   288,   287,   289,   289,   290,   290,   290,   290,
1499 >     290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
1500 >     290,   290,   290,   290,   290,   292,   291,   293,   293,   294,
1501 >     294,   294,   294,   294,   294,   294,   294,   294,   294,   294,
1502 >     294,   294,   294,   295,   296,   297,   298,   299,   300,   301,
1503 >     302,   303,   304,   305,   306,   307,   309,   308,   311,   310,
1504 >     312,   312,   313,   313,   313,   314,   314,   315,   315,   315,
1505 >     315,   315,   317,   316,   318,   318,   319,   319,   320,   321,
1506 >     323,   322,   324,   324,   325,   325,   325,   325,   325,   325,
1507 >     325,   325,   325,   326,   327,   328,   329,   331,   330,   332,
1508 >     332,   333,   333,   333,   333,   333,   333,   333,   333,   333,
1509 >     334,   335,   336,   338,   337,   339,   339,   340,   340,   340,
1510 >     340,   341,   342,   343,   344,   345,   345,   346,   346,   347,
1511 >     349,   348,   350,   350,   351,   351,   351,   351,   352,   353,
1512 >     355,   354,   356,   356,   357,   357,   357,   357,   357,   357,
1513 >     357,   357,   357,   357,   359,   358,   360,   360,   361,   361,
1514 >     361,   362,   364,   363,   365,   365,   366,   366,   366,   366,
1515 >     366,   366,   366,   366,   366,   366,   368,   367,   369,   369,
1516 >     370,   370,   370,   370,   370,   370,   370,   370,   370,   370,
1517 >     370,   370,   370,   370,   371,   372,   373,   374,   375,   376,
1518 >     377,   377,   379,   378,   380,   380,   381,   381,   382,   383,
1519 >     384,   385,   386,   388,   387,   390,   389,   391,   391,   392,
1520 >     393,   393,   394,   394,   394,   394,   395,   396,   398,   397,
1521 >     399,   399,   400,   400,   400,   401,   402,   403,   404,   404,
1522 >     405,   405,   406,   408,   407,   410,   409,   411,   411,   412,
1523 >     413,   413,   414,   414,   414,   414,   415,   416,   417,   418,
1524 >     418,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1525 >     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1526 >     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1527 >     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1528 >     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1529 >     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
1530 >     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1531 >     439,   440,   441,   442,   443,   444,   445,   445,   446,   446,
1532 >     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
1533 >     457,   458,   459,   460,   461,   462,   463,   465,   464,   466,
1534 >     466,   467,   467,   467,   467,   467,   467,   467,   467,   467,
1535 >     467,   467,   467,   467,   467,   467,   467,   467,   467,   467,
1536 >     467,   469,   468,   470,   470,   471,   471,   471,   471,   471,
1537 >     471,   471,   471,   471,   471,   471,   471,   471,   471,   471,
1538 >     471,   471,   471,   471,   471,   472,   473,   474,   475,   476,
1539 >     476,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1540 >     477,   477,   477,   477,   477,   477,   478,   479,   480,   481,
1541 >     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
1542 >     492,   493,   493,   494,   494,   494,   494,   494,   494,   494,
1543 >     495,   496,   497,   498,   499,   500
1544   };
1545  
1546   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1609 | Line 1548 | static const yytype_uint8 yyr2[] =
1548   {
1549         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1550         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1551 <       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1552 <       3,     3,     3,     3,     3,     0,     1,     2,     3,     3,
1553 <       3,     5,     2,     1,     1,     1,     2,     4,     4,     5,
1554 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1555 <       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1556 <       3,     1,     1,     1,     3,     1,     1,     1,     4,     4,
1551 >       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1552 >       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1553 >       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1554 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1555 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1556 >       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1557         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1558 <       4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1559 <       4,     5,     2,     1,     1,     1,     2,     4,     0,     6,
1560 <       2,     1,     1,     1,     1,     2,     4,     4,     4,     0,
1561 <       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1562 <       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1563 <       1,     1,     2,     4,     4,     4,     4,     4,     4,     0,
1564 <       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1558 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1559 >       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1560 >       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1561 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1562 >       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1563 >       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1564 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1565         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1566 <       1,     1,     1,     0,     5,     3,     1,     1,     1,     1,
1566 >       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1567         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1568         1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1569         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 1644 | Line 1583 | static const yytype_uint8 yyr2[] =
1583         1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1584         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1585         1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1586 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1587 <       4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1588 <       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1589 <       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1590 <       2,     1,     1,     1,     4,     0,     6,     0,     5,     3,
1591 <       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1653 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1586 >       4,     4,     0,     5,     3,     1,     1,     1,     4,     4,
1587 >       4,     4,     4,     0,     6,     0,     5,     3,     1,     1,
1588 >       2,     1,     1,     1,     1,     1,     4,     4,     0,     6,
1589 >       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
1590 >       1,     1,     4,     0,     6,     0,     5,     3,     1,     1,
1591 >       2,     1,     1,     1,     1,     1,     4,     4,     5,     2,
1592         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1593         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1594         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1595         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1596 <       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1597 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1596 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1597 >       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1598         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1599         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1600         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1601 <       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1601 >       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1602         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1665       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1603         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1604 +       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1605         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1606 <       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
1669 <       1,     1,     1,     1,     1,     4,     4,     0,     5,     3,
1670 <       1,     1,     1,     4,     4,     0,     5,     3,     1,     1,
1671 <       1,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1606 >       1,     1,     1,     1,     1,     4,     4,     4,     5,     2,
1607         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1608 <       1,     1,     1,     4,     4,     4,     4,     4,     4,     4,
1608 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1609         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1610 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1611 <       1,     1,     4,     4,     4,     4,     4,     4,     4
1610 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1611 >       4,     4,     4,     4,     4,     4
1612   };
1613  
1614   /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
# Line 1681 | Line 1616 | static const yytype_uint8 yyr2[] =
1616     means the default is an error.  */
1617   static const yytype_uint16 yydefact[] =
1618   {
1619 <       2,     0,     1,     0,     0,     0,   195,   346,   400,     0,
1620 <     415,     0,   584,   250,   385,   226,     0,     0,   130,   283,
1621 <       0,     0,   300,   324,     0,     3,    24,    11,     4,     5,
1622 <       6,     8,     9,    10,    13,    14,    15,    16,    17,    18,
1623 <      19,    20,    23,    21,    22,     7,    12,    25,    26,     0,
1689 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1619 >       2,     0,     1,     0,     0,     0,   195,   346,   398,     0,
1620 >     413,     0,   250,   383,   226,     0,     0,   129,   283,     0,
1621 >       0,   300,   324,     0,     3,    23,    11,     4,     5,     6,
1622 >       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1623 >      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1624         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1691       0,     0,     0,     0,     0,    93,    94,    96,    95,   632,
1625         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1626 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   613,
1694 <     631,   627,   614,   615,   616,   617,   619,   620,   621,   622,
1695 <     623,   618,   624,   625,   626,   628,   629,   630,     0,     0,
1696 <       0,   413,     0,     0,   411,   412,     0,   484,     0,     0,
1626 >       0,     0,    92,    93,    95,    94,   595,     0,     0,     0,
1627         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1628 +       0,     0,   580,   594,   590,   582,   583,   584,   585,   586,
1629 +     581,   587,   588,   589,   591,   592,   593,     0,     0,     0,
1630 +     411,     0,     0,   409,   410,     0,   480,     0,     0,     0,
1631         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1699       0,     0,     0,     0,     0,     0,   556,     0,   532,     0,
1632         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1633 +       0,     0,     0,     0,     0,     0,   551,     0,   527,     0,
1634         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1635 <     432,   482,   477,   478,   479,   480,   476,   443,   433,   434,
1636 <     470,   435,   436,   437,   438,   439,   440,   441,   442,   473,
1637 <     444,   445,   446,   447,   481,   449,   454,   450,   452,   451,
1638 <     465,   466,   453,   455,   456,   457,   458,   459,   448,   461,
1639 <     462,   463,   483,   474,   475,   472,   464,   460,   468,   469,
1640 <     467,   471,     0,     0,     0,     0,     0,     0,     0,   103,
1641 <     104,   105,     0,     0,     0,     0,     0,    43,    44,    45,
1642 <       0,     0,   661,     0,     0,     0,     0,     0,     0,     0,
1643 <       0,   653,   654,   655,   659,   656,   658,   657,   660,     0,
1635 >       0,     0,     0,     0,     0,     0,     0,   430,   478,   472,
1636 >     473,   474,   475,   476,   471,   441,   431,   432,   466,   433,
1637 >     434,   435,   436,   437,   438,   439,   440,   468,   442,   443,
1638 >     477,   445,   450,   446,   448,   447,   461,   462,   449,   451,
1639 >     452,   453,   454,   455,   444,   457,   458,   459,   479,   469,
1640 >     470,   467,   460,   456,   464,   465,   463,     0,     0,     0,
1641 >       0,     0,     0,   102,   103,   104,     0,     0,     0,     0,
1642 >       0,    42,    43,    44,     0,     0,   619,     0,     0,     0,
1643 >       0,     0,     0,     0,   612,   613,   614,   617,   615,   616,
1644 >     618,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1645 >       0,     0,     0,     0,     0,     0,     0,     0,    50,    63,
1646 >      64,    62,    59,    58,    65,    51,    61,    54,    55,    56,
1647 >      52,    60,    57,    53,     0,     0,   298,     0,     0,   296,
1648 >     297,    96,     0,     0,     0,     0,    91,     0,     0,     0,
1649         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1650 <       0,     0,     0,     0,     0,     0,    51,    64,    65,    63,
1651 <      60,    59,    66,    52,    62,    55,    56,    57,    53,    61,
1652 <      58,    54,     0,     0,   298,     0,     0,   296,   297,    97,
1653 <       0,     0,     0,     0,    92,     0,     0,     0,     0,     0,
1650 >       0,     0,   579,     0,     0,     0,     0,     0,     0,     0,
1651 >       0,     0,     0,     0,     0,     0,     0,     0,   198,   199,
1652 >     202,   204,   205,   206,   207,   208,   209,   210,   211,   200,
1653 >     201,   203,     0,     0,     0,     0,     0,   372,     0,     0,
1654 >       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
1655 >     352,   353,   354,   356,   355,   358,   362,   359,   360,   361,
1656 >     357,   404,     0,     0,     0,   401,   402,   403,     0,     0,
1657 >     408,   425,     0,     0,   415,   424,     0,   421,   422,   423,
1658         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1717       0,     0,     0,     0,   612,     0,     0,     0,     0,     0,
1659         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1719     198,   199,   202,   203,   205,   206,   207,   208,   209,   210,
1720     211,   200,   201,   204,     0,     0,     0,     0,     0,   372,
1721       0,     0,     0,     0,     0,     0,     0,     0,     0,   349,
1722     350,   351,   352,   353,   354,   356,   355,   358,   362,   359,
1723     360,   361,   357,   406,     0,     0,     0,   403,   404,   405,
1724       0,     0,   410,   427,     0,     0,   417,   426,     0,   423,
1725     424,   425,     0,     0,     0,     0,     0,     0,     0,     0,
1660         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1661         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1662         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1663 +     429,     0,     0,     0,   267,     0,     0,     0,     0,     0,
1664 +       0,   253,   254,   255,   256,   261,   257,   258,   259,   260,
1665 +     395,     0,   385,     0,   394,     0,   391,   392,   393,     0,
1666 +     228,     0,     0,     0,   238,     0,   236,   237,   239,   240,
1667 +     105,     0,     0,   101,     0,    45,     0,     0,     0,    41,
1668 +       0,     0,     0,   172,     0,     0,     0,   148,     0,     0,
1669 +     132,   133,   134,   135,   138,   139,   137,   136,   140,     0,
1670 +       0,     0,     0,     0,   286,   287,   288,   289,     0,     0,
1671 +       0,     0,     0,     0,     0,   611,    66,     0,     0,     0,
1672         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1673 <       0,     0,     0,     0,   431,   594,   605,     0,     0,   597,
1731 <       0,     0,     0,   587,   588,   589,   590,   591,   592,   593,
1732 <       0,     0,     0,   267,     0,     0,     0,     0,     0,     0,
1733 <     253,   254,   255,   256,   261,   257,   258,   259,   260,   397,
1734 <       0,   387,     0,   396,     0,   393,   394,   395,     0,   228,
1735 <       0,     0,     0,   238,     0,   236,   237,   239,   240,   106,
1736 <       0,     0,   102,     0,    46,     0,     0,     0,    42,     0,
1737 <       0,     0,   173,     0,     0,     0,   149,     0,     0,   133,
1738 <     134,   135,   136,   139,   140,   138,   137,   141,     0,     0,
1739 <       0,     0,     0,   286,   287,   288,   289,     0,     0,     0,
1740 <       0,     0,     0,     0,     0,   652,    67,     0,     0,     0,
1741 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1742 <       0,     0,     0,    50,     0,     0,   310,     0,     0,   303,
1673 >       0,     0,     0,    49,     0,     0,   310,     0,     0,   303,
1674       304,   305,   306,     0,     0,   332,     0,   327,   328,   329,
1675 <       0,     0,   295,     0,     0,     0,    91,     0,     0,     0,
1676 <       0,    27,     0,     0,     0,     0,     0,     0,     0,     0,
1677 <       0,     0,     0,     0,     0,     0,   611,   212,     0,     0,
1675 >       0,     0,   295,     0,     0,     0,    90,     0,     0,     0,
1676 >      26,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1677 >       0,     0,   578,   212,     0,     0,     0,     0,     0,     0,
1678 >       0,     0,     0,     0,     0,     0,     0,     0,   197,   363,
1679         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1680 <       0,     0,   197,   363,     0,     0,     0,     0,     0,     0,
1681 <       0,     0,     0,     0,     0,     0,     0,     0,   348,     0,
1750 <       0,     0,   402,     0,   409,     0,     0,     0,     0,   422,
1680 >       0,     0,     0,     0,   348,     0,     0,     0,   400,     0,
1681 >     407,     0,     0,     0,     0,   420,     0,     0,     0,     0,
1682         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1683         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1684         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1685         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1686 <       0,     0,     0,     0,     0,     0,    35,     0,     0,     0,
1687 <       0,     0,     0,     0,   430,     0,     0,     0,     0,     0,
1688 <       0,     0,   586,   262,     0,     0,     0,     0,     0,     0,
1689 <       0,     0,     0,   252,     0,     0,     0,     0,   392,   241,
1690 <       0,     0,     0,     0,     0,   235,     0,   101,     0,     0,
1691 <       0,    41,   142,     0,     0,     0,     0,     0,     0,     0,
1692 <       0,     0,   132,   290,     0,     0,     0,     0,   285,     0,
1693 <       0,     0,     0,     0,     0,     0,   651,     0,     0,     0,
1694 <       0,     0,     0,     0,     0,    72,    73,     0,    71,    76,
1695 <      77,     0,    75,     0,     0,     0,     0,     0,    49,   307,
1696 <       0,     0,     0,     0,   302,   330,     0,     0,     0,   326,
1697 <       0,   294,   100,    99,    98,   646,   645,   633,   635,    27,
1767 <      27,    27,    27,    27,    29,    28,   639,   640,   644,   642,
1768 <     641,   647,   648,   649,   650,   643,   634,   636,   637,   638,
1686 >       0,     0,     0,     0,     0,     0,     0,   428,   262,     0,
1687 >       0,     0,     0,     0,     0,     0,     0,     0,   252,     0,
1688 >       0,     0,     0,   390,   241,     0,     0,     0,     0,     0,
1689 >     235,     0,   100,     0,     0,     0,    40,   141,     0,     0,
1690 >       0,     0,     0,     0,     0,     0,     0,   131,   290,     0,
1691 >       0,     0,     0,   285,     0,     0,     0,     0,     0,     0,
1692 >     610,     0,     0,     0,     0,     0,     0,     0,     0,    71,
1693 >      72,     0,    70,    75,    76,     0,    74,     0,     0,     0,
1694 >       0,     0,    48,   307,     0,     0,     0,     0,   302,   330,
1695 >       0,     0,     0,   326,     0,   294,    99,    98,    97,   605,
1696 >     604,   596,    26,    26,    26,    26,    26,    28,    27,   598,
1697 >     599,   603,   601,   600,   606,   607,   608,   609,   602,   597,
1698         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1699 <       0,     0,     0,   196,     0,     0,     0,     0,     0,     0,
1700 <       0,     0,     0,     0,     0,     0,     0,     0,   347,     0,
1701 <       0,   401,   414,     0,     0,     0,   416,   496,   500,   516,
1702 <     582,   530,   494,   524,   527,   495,   486,   487,   503,   492,
1703 <     493,   506,   491,   505,   504,   499,   498,   497,   525,   485,
1704 <     523,   580,   581,   520,   517,   567,   560,   577,   578,   561,
1705 <     562,   563,   564,   572,   565,   575,   579,   568,   573,   569,
1706 <     574,   566,   571,   570,   576,     0,   559,   522,   542,   536,
1707 <     553,   554,   537,   538,   539,   540,   548,   541,   551,   555,
1708 <     544,   549,   545,   550,   543,   547,   546,   552,     0,   535,
1709 <     515,   518,   529,   489,   490,   519,   508,   513,   514,   511,
1710 <     512,   509,   510,   502,   501,    35,    35,    35,    37,    36,
1711 <     583,   528,   531,   521,   526,   488,   507,     0,     0,     0,
1712 <       0,     0,     0,   585,     0,     0,     0,     0,     0,     0,
1713 <       0,     0,   251,     0,     0,     0,   386,     0,     0,     0,
1714 <     246,   242,   245,   227,   107,     0,     0,   119,     0,     0,
1715 <     111,   112,   114,   113,    47,    48,     0,     0,     0,     0,
1716 <       0,     0,     0,     0,   131,     0,     0,     0,   284,   667,
1717 <     662,   666,   664,   668,   663,   665,    84,    90,    82,    86,
1718 <      85,    79,    78,    80,    68,     0,    69,     0,    83,    81,
1719 <      89,    87,    88,     0,     0,     0,   301,     0,     0,   325,
1720 <     299,    30,    31,    32,    33,    34,   223,   224,   217,   219,
1721 <     221,   220,   218,   213,   225,   216,   214,   215,   222,   368,
1722 <     370,   371,   383,   380,   376,   377,   379,   378,     0,   375,
1723 <     365,   381,   382,   364,   369,   367,   384,   366,   407,   408,
1724 <     428,   429,   421,     0,   420,   557,     0,   533,     0,    38,
1725 <      39,    40,   610,   609,     0,   608,   596,   595,   602,   601,
1726 <       0,   600,   604,   603,   265,   266,   275,   272,   277,   274,
1727 <     273,   279,   276,   278,   271,     0,   270,   264,   282,   281,
1728 <     280,   263,   399,   391,     0,   390,   398,   233,   234,   232,
1729 <       0,   231,   249,   248,     0,     0,     0,   115,     0,     0,
1730 <       0,     0,   110,   148,   146,   188,   185,   184,   177,   179,
1731 <     194,   189,   192,   187,   178,   193,   181,   190,   182,   191,
1732 <     186,   180,   183,     0,   176,   143,   145,   147,   159,   153,
1733 <     170,   171,   154,   155,   156,   157,   165,   158,   168,   172,
1734 <     161,   166,   162,   167,   160,   164,   163,   169,     0,   152,
1735 <     144,   292,   293,   291,    70,    74,   308,   314,   320,   323,
1736 <     316,   322,   317,   321,   319,   315,   318,     0,   313,   309,
1737 <     331,   336,   342,   345,   338,   344,   339,   343,   341,   337,
1738 <     340,     0,   335,   373,     0,   418,     0,   558,   534,   606,
1739 <       0,   598,     0,   268,     0,   388,     0,   229,     0,   247,
1740 <     244,   243,     0,     0,     0,     0,   109,   174,     0,   150,
1741 <       0,   311,     0,   333,     0,   374,   419,   607,   599,   269,
1813 <     389,   230,   116,   125,   128,   127,   124,   129,   126,   123,
1814 <       0,   122,   118,   117,   175,   151,   312,   334,   120,     0,
1815 <     121
1699 >       0,    34,     0,     0,   196,     0,     0,     0,     0,     0,
1700 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   347,
1701 >       0,     0,   399,   412,     0,     0,     0,   414,   493,   497,
1702 >     511,   577,   525,   491,   519,   522,   492,   483,   482,   484,
1703 >     485,   486,   500,   489,   490,   501,   488,   496,   495,   494,
1704 >     520,   481,   518,   575,   576,   515,   512,   562,   555,   572,
1705 >     573,   556,   557,   558,   559,   567,   560,   570,   574,   563,
1706 >     568,   564,   569,   561,   566,   565,   571,     0,   554,   517,
1707 >     537,   531,   548,   549,   532,   533,   534,   535,   543,   536,
1708 >     546,   550,   539,   544,   540,   545,   538,   542,   541,   547,
1709 >       0,   530,   510,   513,   524,   487,   514,   503,   508,   509,
1710 >     506,   507,   504,   505,   499,   498,   523,   526,   516,   521,
1711 >     502,     0,     0,     0,     0,     0,     0,     0,     0,   251,
1712 >       0,     0,     0,   384,     0,     0,     0,   246,   242,   245,
1713 >     227,   106,     0,     0,   118,     0,     0,   110,   111,   113,
1714 >     112,    46,    47,     0,     0,     0,     0,     0,     0,     0,
1715 >       0,   130,     0,     0,     0,   284,   620,   624,   622,   625,
1716 >     621,   623,    83,    89,    81,    85,    84,    78,    77,    79,
1717 >      67,     0,    68,     0,    82,    80,    88,    86,    87,     0,
1718 >       0,     0,   301,     0,     0,   325,   299,    29,    30,    31,
1719 >      32,    33,   223,   224,   216,   218,   220,   219,   217,   213,
1720 >     225,   215,   214,    34,    34,    34,    36,    35,   221,   222,
1721 >     368,   370,   371,   381,   378,   376,   377,     0,   375,   365,
1722 >     379,   380,   364,   369,   367,   382,   366,   405,   406,   426,
1723 >     427,   419,     0,   418,   552,     0,   528,     0,   265,   266,
1724 >     275,   272,   277,   274,   273,   279,   276,   278,   271,     0,
1725 >     270,   264,   282,   281,   280,   263,   397,   389,     0,   388,
1726 >     396,   233,   234,   232,     0,   231,   249,   248,     0,     0,
1727 >       0,   114,     0,     0,     0,     0,   109,   147,   145,   187,
1728 >     184,   183,   176,   178,   194,   188,   191,   186,   177,   192,
1729 >     180,   189,   193,   181,   190,   185,   179,   182,     0,   175,
1730 >     142,   144,   146,   158,   152,   169,   170,   153,   154,   155,
1731 >     156,   164,   157,   167,   171,   160,   165,   161,   166,   159,
1732 >     163,   162,   168,     0,   151,   143,   292,   293,   291,    69,
1733 >      73,   308,   314,   320,   323,   316,   322,   317,   321,   319,
1734 >     315,   318,     0,   313,   309,   331,   336,   342,   345,   338,
1735 >     344,   339,   343,   341,   337,   340,     0,   335,    37,    38,
1736 >      39,   373,     0,   416,     0,   553,   529,   268,     0,   386,
1737 >       0,   229,     0,   247,   244,   243,     0,     0,     0,     0,
1738 >     108,   173,     0,   149,     0,   311,     0,   333,     0,   374,
1739 >     417,   269,   387,   230,   115,   124,   127,   126,   123,   128,
1740 >     125,   122,     0,   121,   117,   116,   174,   150,   312,   334,
1741 >     119,     0,   120
1742   };
1743  
1744   /* YYDEFGOTO[NTERM-NUM].  */
1745   static const yytype_int16 yydefgoto[] =
1746   {
1747 <      -1,     1,    25,   834,   835,   978,   979,    26,   246,   247,
1748 <     248,   249,    27,   285,   286,   287,   288,   797,   798,   801,
1749 <     802,   289,   290,   291,   292,   293,   294,   295,   296,   297,
1750 <     298,   299,   300,   301,    28,    74,    75,    76,    77,    78,
1751 <      29,   238,   239,   240,   241,   242,  1019,  1020,  1021,  1022,
1752 <    1023,  1169,  1300,  1301,    30,    63,   538,   539,   540,   541,
1753 <     542,   543,   544,   545,   546,   769,  1218,  1219,   547,   765,
1754 <    1193,  1194,    31,    51,   349,   350,   351,   352,   353,   354,
1755 <     355,   356,   357,   358,   359,   360,   361,   362,   363,    32,
1756 <      60,   513,   750,  1160,  1161,   514,   515,   516,  1166,  1011,
1757 <    1012,   517,   518,    33,    58,   489,   490,   491,   492,   493,
1758 <     494,   495,   736,  1145,  1146,   496,   497,   498,    34,    64,
1759 <     552,   553,   554,   555,   556,    35,   306,   307,   308,    36,
1760 <      67,   588,   589,   590,   591,   592,   811,  1237,  1238,    37,
1761 <      68,   596,   597,   598,   599,   817,  1251,  1252,    38,    52,
1762 <     378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
1763 <     648,  1098,  1099,   388,   389,   390,   391,   392,    39,    59,
1764 <     503,   745,  1154,  1155,   504,   505,   506,   507,    40,    53,
1765 <     396,   397,   398,   399,    41,   123,   124,   125,    42,    55,
1766 <     407,   667,  1113,  1114,   408,   409,   410,   411,    43,   179,
1767 <     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1768 <     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1769 <     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1770 <     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1771 <     220,   221,   222,   223,   224,   225,   226,   442,   958,   959,
1772 <     227,   440,   935,   936,   228,   229,   230,   231,    44,    57,
1773 <     472,   473,   474,   475,   476,   728,  1130,  1131,   477,   478,
1774 <     479,   725,  1124,  1125,    45,    98,    99,   100,   101,   102,
1775 <     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1850 <     113,   114,   115,   116,   117,    46,   260,   261,   262,   263,
1851 <     264,   265,   266,   267,   268
1747 >      -1,     1,    24,   777,   778,  1016,  1017,    25,   230,   231,
1748 >     232,   233,    26,   267,   268,   269,   270,   741,   742,   745,
1749 >     746,   271,   272,   273,   274,   275,   276,   277,   278,   279,
1750 >     280,   281,   282,   283,    27,    71,    72,    73,    74,    75,
1751 >      28,   222,   223,   224,   225,   226,   946,   947,   948,   949,
1752 >     950,  1083,  1212,  1213,    29,    60,   499,   500,   501,   502,
1753 >     503,   504,   505,   506,   507,   714,  1133,  1134,   508,   710,
1754 >    1108,  1109,    30,    49,   327,   328,   329,   330,   331,   332,
1755 >     333,   334,   335,   336,   337,   338,   339,   340,   341,    31,
1756 >      57,   474,   695,  1074,  1075,   475,   476,   477,  1080,   938,
1757 >     939,   478,   479,    32,    55,   450,   451,   452,   453,   454,
1758 >     455,   456,   681,  1059,  1060,   457,   458,   459,    33,    61,
1759 >     513,   514,   515,   516,   517,    34,   288,   289,   290,    35,
1760 >      64,   548,   549,   550,   551,   552,   755,  1152,  1153,    36,
1761 >      65,   556,   557,   558,   559,   761,  1166,  1167,    37,    50,
1762 >     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
1763 >     604,  1027,  1028,   366,   367,   368,   369,   370,    38,    56,
1764 >     464,   690,  1068,  1069,   465,   466,   467,   468,    39,    51,
1765 >     374,   375,   376,   377,    40,   112,   113,   114,    41,    53,
1766 >     385,   623,  1042,  1043,   386,   387,   388,   389,    42,   166,
1767 >     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1768 >     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1769 >     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1770 >     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1771 >     207,   208,   209,   210,   211,   212,   421,   900,   901,   213,
1772 >     419,   877,   878,   214,   215,   216,    43,    91,    92,    93,
1773 >      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1774 >     104,   105,   106,    44,   243,   244,   245,   246,   247,   248,
1775 >     249,   250
1776   };
1777  
1778   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1779     STATE-NUM.  */
1780 < #define YYPACT_NINF -733
1780 > #define YYPACT_NINF -745
1781   static const yytype_int16 yypact[] =
1782   {
1783 <    -733,   707,  -733,  -152,  -235,  -230,  -733,  -733,  -733,  -228,
1784 <    -733,  -225,  -733,  -733,  -733,  -733,  -222,  -219,  -733,  -733,
1785 <    -217,  -211,  -733,  -733,  -206,  -733,  -733,  -733,  -733,  -733,
1786 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1787 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,    13,
1788 <     612,  -201,  -198,  -188,    16,  -183,   373,  -173,  -170,  -167,
1789 <    -164,    40,    90,  -151,  -135,   359,   422,  -132,   -97,    15,
1790 <     -82,   -64,   -61,   -55,    22,  -733,  -733,  -733,  -733,  -733,
1791 <     -49,   -43,   -41,   -13,   -10,    -8,    -3,     7,    30,    66,
1792 <      80,    85,    95,   134,   135,   139,   146,   154,   172,  -733,
1793 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1794 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   637,   472,
1795 <      18,  -733,   169,    24,  -733,  -733,   189,  -733,   171,   180,
1796 <     182,   186,   192,   196,   199,   200,   202,   203,   206,   207,
1797 <     210,   211,   214,   216,   218,   227,   228,   230,   233,   239,
1798 <     241,   242,   248,   255,   260,   261,  -733,   263,  -733,   265,
1799 <     268,   273,   275,   276,   277,   282,   285,   286,   287,   288,
1800 <     291,   297,   298,   299,   305,   310,   311,   312,   313,    48,
1801 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1802 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1803 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1804 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1805 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1806 <    -733,  -733,   307,   456,    64,   346,   -32,   314,    33,  -733,
1807 <    -733,  -733,    44,    28,   315,   316,    29,  -733,  -733,  -733,
1808 <     464,   109,  -733,   317,   319,   322,   327,   329,   330,   332,
1809 <     281,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   116,
1810 <     333,   334,   339,   341,   342,   343,   344,   350,   353,   354,
1811 <     355,   356,   360,   361,   363,   152,  -733,  -733,  -733,  -733,
1812 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1813 <    -733,  -733,    21,    58,  -733,   365,    81,  -733,  -733,  -733,
1814 <     254,   266,   300,   176,  -733,   493,   502,   442,   443,   510,
1815 <     510,   511,   513,   514,   450,   451,   518,   510,   453,   454,
1816 <     458,   459,   460,   391,  -733,   396,   397,   398,   399,   400,
1817 <     402,   404,   405,   406,   407,   408,   409,   410,   411,   238,
1818 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1819 <    -733,  -733,  -733,  -733,   420,   419,   421,   423,   424,  -733,
1820 <     426,   427,   428,   431,   432,   433,   434,   436,     4,  -733,
1821 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1822 <    -733,  -733,  -733,  -733,   437,   438,    63,  -733,  -733,  -733,
1823 <     533,   425,  -733,  -733,   440,   441,  -733,  -733,    19,  -733,
1824 <    -733,  -733,   517,   510,   510,   576,   519,   523,   577,   569,
1825 <     525,   592,   594,   595,   534,   539,   540,   510,   578,   541,
1826 <     610,   611,   510,   613,   618,   591,   622,   625,   562,   564,
1827 <     497,   567,   501,   510,   510,   570,   510,   571,   572,   581,
1828 <     -15,   141,   584,   585,   510,   510,   644,   631,   510,   587,
1829 <     593,   596,   599,   526,  -733,  -733,  -733,   524,   535,  -733,
1830 <     536,   537,   153,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1831 <     529,   538,   543,  -733,   546,   547,   548,   549,   550,    35,
1832 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1833 <     558,  -733,   559,  -733,    60,  -733,  -733,  -733,   542,  -733,
1834 <     563,   568,   574,  -733,     2,  -733,  -733,  -733,  -733,  -733,
1835 <     601,   544,  -733,   580,  -733,   653,   680,   573,  -733,   586,
1836 <     582,   588,  -733,   589,   590,   600,  -733,   602,     5,  -733,
1837 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   597,   603,
1838 <     604,   605,    43,  -733,  -733,  -733,  -733,   649,   652,   655,
1839 <     698,   659,   660,   510,   598,  -733,  -733,   706,   664,   714,
1840 <     719,   720,   721,   722,   723,   187,   213,   724,   725,   747,
1841 <     729,   730,   635,  -733,   636,   643,  -733,   646,    74,  -733,
1842 <    -733,  -733,  -733,   638,   647,  -733,    77,  -733,  -733,  -733,
1843 <     757,   656,  -733,   663,   667,   668,  -733,   672,   675,   683,
1844 <     686,   178,   687,   688,   689,   690,   692,   693,   694,   695,
1845 <     696,   697,   699,   701,   702,   703,  -733,  -733,   783,   784,
1846 <     510,   786,   795,   810,   829,   814,   836,   837,   510,   510,
1847 <     644,   709,  -733,  -733,   817,   173,   820,   776,   710,   822,
1848 <     824,   825,   826,   848,   828,   830,   831,   726,  -733,   832,
1849 <     833,   727,  -733,   728,  -733,   834,   835,   731,   732,  -733,
1850 <     733,   735,   736,   737,   738,   739,   740,   741,   742,   743,
1851 <     744,   745,   746,   748,   749,   750,   752,   753,   754,   755,
1852 <     756,   758,   759,   760,   761,   762,   763,   764,   614,   765,
1853 <     679,   766,   767,   768,   770,   771,   772,   773,   774,   775,
1854 <     777,   778,   779,   780,   781,   782,    25,   785,   787,   788,
1855 <     789,   790,   791,   792,  -733,   793,   510,   794,   796,   841,
1856 <     857,   797,  -733,  -733,   867,   849,   798,   886,   850,   893,
1857 <     896,   903,   800,  -733,   904,   799,   905,   803,  -733,  -733,
1858 <     801,   908,   915,   861,   806,  -733,   807,  -733,   117,   808,
1859 <     809,  -733,  -733,   920,   876,   811,   922,   923,   925,   813,
1860 <     927,   818,  -733,  -733,   929,   930,   931,   823,  -733,   827,
1861 <     838,   839,   842,   843,   844,   845,  -733,   846,   847,   851,
1862 <     852,   853,   854,   855,   856,  -733,  -733,  -212,  -733,  -733,
1863 <    -733,  -210,  -733,   858,   859,   860,   862,   863,  -733,  -733,
1864 <     932,   821,   935,   864,  -733,  -733,   936,   865,   866,  -733,
1865 <     869,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   510,
1866 <     510,   510,   510,   510,  -733,  -733,  -733,  -733,  -733,  -733,
1867 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1868 <     870,   871,   872,   873,   874,   875,   877,   878,   879,   880,
1869 <     881,   882,   883,  -733,   884,   885,   887,   888,   889,   138,
1870 <     890,   891,   892,   894,   895,   897,   898,   899,  -733,   900,
1871 <     901,  -733,  -733,   902,   906,   933,  -733,  -733,  -733,  -733,
1872 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1873 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1874 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1875 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1876 <    -733,  -733,  -733,  -733,  -733,   -35,  -733,  -733,  -733,  -733,
1877 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1878 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   -33,  -733,
1879 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1880 <    -733,  -733,  -733,  -733,  -733,   644,   644,   644,  -733,  -733,
1881 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,     0,   907,   909,
1882 <       1,   910,   911,  -733,   912,   913,   840,   914,   916,   917,
1883 <     918,   919,  -733,   921,   934,   924,  -733,    -6,   926,   928,
1884 <     946,   937,  -733,  -733,  -733,   938,   939,  -733,   940,    67,
1885 <    -733,  -733,  -733,  -733,  -733,  -733,   944,   945,   477,   947,
1886 <     948,   949,   716,   950,  -733,   951,   952,   953,  -733,  -733,
1887 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1888 <    -733,  -733,  -733,  -733,  -733,   187,  -733,   213,  -733,  -733,
1889 <    -733,  -733,  -733,   954,   302,   955,  -733,   956,   560,  -733,
1890 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1891 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1892 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   -16,  -733,
1893 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1894 <    -733,  -733,  -733,    51,  -733,  -733,   614,  -733,   679,  -733,
1895 <    -733,  -733,  -733,  -733,    62,  -733,  -733,  -733,  -733,  -733,
1896 <     108,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1897 <    -733,  -733,  -733,  -733,  -733,   113,  -733,  -733,  -733,  -733,
1898 <    -733,  -733,  -733,  -733,   123,  -733,  -733,  -733,  -733,  -733,
1899 <     124,  -733,  -733,  -733,   961,   861,   957,  -733,   941,   943,
1900 <    -106,   958,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1901 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1902 <    -733,  -733,  -733,   131,  -733,  -733,  -733,  -733,  -733,  -733,
1903 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1904 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   132,  -733,
1905 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1982 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,   143,  -733,  -733,
1983 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1984 <    -733,   159,  -733,  -733,   138,  -733,   933,  -733,  -733,  -733,
1985 <       0,  -733,     1,  -733,   840,  -733,   934,  -733,    -6,  -733,
1986 <    -733,  -733,   959,   388,   960,   962,  -733,  -733,   477,  -733,
1987 <     716,  -733,   302,  -733,   560,  -733,  -733,  -733,  -733,  -733,
1988 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1989 <     184,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,   388,
1990 <    -733
1783 >    -745,   615,  -745,  -209,  -208,  -192,  -745,  -745,  -745,  -190,
1784 >    -745,  -183,  -745,  -745,  -745,  -169,  -167,  -745,  -745,  -144,
1785 >    -137,  -745,  -745,  -132,  -745,  -745,  -745,  -745,  -745,  -745,
1786 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1787 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,   292,   784,  -111,
1788 >    -102,   -93,    22,   -90,   389,   -80,   -74,   -72,    50,    15,
1789 >     -65,   -60,   299,   388,   -54,   -34,    18,  -176,   -58,   -32,
1790 >     -22,     3,  -745,  -745,  -745,  -745,  -745,   -15,    -9,    26,
1791 >      38,    67,    69,    75,    80,    82,    88,    90,    93,   100,
1792 >     107,   195,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1793 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,   569,   505,    13,
1794 >    -745,   115,    12,  -745,  -745,   258,  -745,   117,   122,   129,
1795 >     131,   140,   141,   144,   145,   146,   154,   155,   156,   159,
1796 >     161,   165,   166,   168,   170,   174,   175,   176,   177,   180,
1797 >     190,   194,   197,   199,   203,   204,  -745,   205,  -745,   206,
1798 >     209,   211,   212,   215,   219,   221,   224,   225,   229,   230,
1799 >     233,   234,   236,   237,   239,   240,    36,  -745,  -745,  -745,
1800 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1801 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1802 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1803 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1804 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,   343,    60,   284,
1805 >    -157,   241,    43,  -745,  -745,  -745,    66,   113,   242,   245,
1806 >      99,  -745,  -745,  -745,   348,    62,  -745,   249,   253,   264,
1807 >     266,   267,   271,    16,  -745,  -745,  -745,  -745,  -745,  -745,
1808 >    -745,   268,   273,   274,   280,   281,   285,   287,   290,   294,
1809 >     295,   296,   297,   306,   307,   308,   309,    74,  -745,  -745,
1810 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1811 >    -745,  -745,  -745,  -745,   220,   277,  -745,   310,    20,  -745,
1812 >    -745,  -745,   252,   370,   384,   302,  -745,   410,   430,   371,
1813 >     432,   432,   433,   434,   436,   379,   390,   453,   432,   395,
1814 >     396,   342,  -745,   345,   349,   350,   352,   354,   355,   357,
1815 >     360,   361,   362,   363,   365,   366,   369,   152,  -745,  -745,
1816 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1817 >    -745,  -745,   346,   372,   381,   385,   386,  -745,   392,   393,
1818 >     397,   400,   401,   405,   407,   408,   270,  -745,  -745,  -745,
1819 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1820 >    -745,  -745,   409,   413,    51,  -745,  -745,  -745,   445,   351,
1821 >    -745,  -745,   414,   417,  -745,  -745,     8,  -745,  -745,  -745,
1822 >     428,   432,   432,   502,   446,   447,   508,   495,   454,   432,
1823 >     461,   432,   528,   536,   537,   480,   485,   493,   432,   556,
1824 >     557,   432,   562,   563,   548,   567,   568,   512,   513,   456,
1825 >     519,   459,   432,   432,   521,   522,   523,   524,    14,    54,
1826 >     530,   532,   432,   432,   570,   432,   533,   535,   538,   474,
1827 >    -745,   481,   479,   483,  -745,   484,   488,   492,   498,   501,
1828 >     128,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1829 >    -745,   503,  -745,   506,  -745,    19,  -745,  -745,  -745,   514,
1830 >    -745,   515,   518,   520,  -745,   116,  -745,  -745,  -745,  -745,
1831 >    -745,   539,   516,  -745,   496,  -745,   602,   612,   526,  -745,
1832 >     527,   531,   534,  -745,   540,   544,   545,  -745,   553,   183,
1833 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,   541,
1834 >     560,   561,   573,    11,  -745,  -745,  -745,  -745,   572,   575,
1835 >     621,   584,   585,   432,   542,  -745,  -745,   629,   586,   630,
1836 >     632,   636,   637,   663,   670,   112,   196,   684,   691,   674,
1837 >     696,   701,   605,  -745,   619,   617,  -745,   622,    59,  -745,
1838 >    -745,  -745,  -745,   627,   626,  -745,   110,  -745,  -745,  -745,
1839 >     719,   633,  -745,   635,   638,   639,  -745,   641,   642,   646,
1840 >     265,   647,   648,   649,   650,   651,   652,   653,   654,   655,
1841 >     657,   658,  -745,  -745,   771,   774,   432,   775,   776,   777,
1842 >     778,   761,   782,   783,   432,   785,   785,   669,  -745,  -745,
1843 >     768,   164,   769,   728,   671,   772,   773,   779,   780,   792,
1844 >     781,   786,   787,   680,  -745,   788,   789,   681,  -745,   685,
1845 >    -745,   790,   791,   683,   687,  -745,   695,   697,   698,   699,
1846 >     700,   702,   703,   704,   705,   706,   707,   708,   709,   710,
1847 >     711,   712,   713,   714,   715,   716,   717,   718,   720,   721,
1848 >     722,   723,   724,   725,   726,   600,   727,   628,   729,   730,
1849 >     731,   732,   733,   734,   735,   736,   737,   738,   739,   740,
1850 >     741,   742,   743,   744,   745,   746,   747,  -745,  -745,   798,
1851 >     803,   748,   816,   843,   846,   847,   849,   753,  -745,   851,
1852 >     752,   853,   757,  -745,  -745,   755,   856,   857,   876,   762,
1853 >    -745,   763,  -745,   187,   764,   765,  -745,  -745,   863,   822,
1854 >     766,   865,   867,   868,   770,   869,   793,  -745,  -745,   871,
1855 >     872,   873,   794,  -745,   795,   796,   797,   799,   800,   801,
1856 >    -745,   802,   804,   805,   806,   807,   808,   809,   810,  -745,
1857 >    -745,  -196,  -745,  -745,  -745,  -179,  -745,   811,   812,   813,
1858 >     814,   815,  -745,  -745,   874,   817,   875,   818,  -745,  -745,
1859 >     877,   819,   821,  -745,   823,  -745,  -745,  -745,  -745,  -745,
1860 >    -745,  -745,   432,   432,   432,   432,   432,  -745,  -745,  -745,
1861 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1862 >     824,   825,   826,   827,   828,   829,   830,   831,   832,   833,
1863 >     834,    79,   835,   836,  -745,   837,   838,   839,   840,   841,
1864 >      -1,   842,   844,   845,   848,   850,   852,   854,   855,  -745,
1865 >     858,   859,  -745,  -745,   860,   861,   878,  -745,  -745,  -745,
1866 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1867 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1868 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1869 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1870 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -178,  -745,  -745,
1871 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1872 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1873 >    -173,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1874 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1875 >    -745,   862,   864,   693,   866,   870,   879,   880,   881,  -745,
1876 >     882,   883,   884,  -745,   -36,   885,   886,   894,   887,  -745,
1877 >    -745,  -745,   888,   889,  -745,   890,    86,  -745,  -745,  -745,
1878 >    -745,  -745,  -745,   895,   896,   517,   897,   898,   899,   656,
1879 >     900,  -745,   901,   902,   903,  -745,  -745,  -745,  -745,  -745,
1880 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1881 >    -745,   112,  -745,   196,  -745,  -745,  -745,  -745,  -745,   904,
1882 >     464,   905,  -745,   906,   529,  -745,  -745,  -745,  -745,  -745,
1883 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1884 >    -745,  -745,  -745,   785,   785,   785,  -745,  -745,  -745,  -745,
1885 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -168,  -745,  -745,
1886 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1887 >    -745,  -745,  -160,  -745,  -745,   600,  -745,   628,  -745,  -745,
1888 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -159,
1889 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,   -57,  -745,
1890 >    -745,  -745,  -745,  -745,   -38,  -745,  -745,  -745,   907,   876,
1891 >     908,  -745,   913,   891,   -88,   909,  -745,  -745,  -745,  -745,
1892 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1893 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,    -7,  -745,
1894 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1895 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1896 >    -745,  -745,  -745,    63,  -745,  -745,  -745,  -745,  -745,  -745,
1897 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1898 >    -745,  -745,    94,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1899 >    -745,  -745,  -745,  -745,  -745,  -745,   101,  -745,  -745,  -745,
1900 >    -745,  -745,    -1,  -745,   878,  -745,  -745,  -745,   693,  -745,
1901 >     883,  -745,   -36,  -745,  -745,  -745,   910,   403,   911,   912,
1902 >    -745,  -745,   517,  -745,   656,  -745,   464,  -745,   529,  -745,
1903 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1904 >    -745,  -745,   104,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1905 >    -745,   403,  -745
1906   };
1907  
1908   /* YYPGOTO[NTERM-NUM].  */
1909   static const yytype_int16 yypgoto[] =
1910   {
1911 <    -733,  -733,  -733,  -732,  -318,  -542,  -456,  -733,  -733,   963,
1912 <    -733,  -733,  -733,  -733,   804,  -733,  -733,  -733,    20,  -733,
1913 <      17,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1914 <    -733,  -733,  -733,  -733,  -733,  -733,   999,  -733,  -733,  -733,
1915 <    -733,  -733,   868,  -733,  -733,  -733,  -733,    57,  -733,  -733,
1916 <    -733,  -733,  -733,  -232,  -733,  -733,  -733,   552,  -733,  -733,
1917 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -202,  -733,  -733,
1918 <    -733,  -197,  -733,  -733,  -733,   812,  -733,  -733,  -733,  -733,
1919 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1920 <    -733,  -733,  -733,  -733,  -186,  -733,   620,  -733,  -733,  -733,
1921 <     -74,  -733,  -733,  -733,  -733,  -733,   609,  -733,  -733,  -733,
1922 <    -733,  -733,  -733,  -733,  -162,  -733,  -733,  -733,  -733,  -733,
1923 <    -733,   556,  -733,  -733,  -733,  -733,  -733,   942,  -733,  -733,
1924 <    -733,  -733,   557,  -733,  -733,  -733,  -733,  -733,  -165,  -733,
1925 <    -733,  -733,   553,  -733,  -733,  -733,  -733,  -147,  -733,  -733,
1926 <    -733,   802,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1927 <    -733,  -733,  -110,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1928 <    -733,  -733,  -733,  -120,  -733,   662,  -733,  -733,  -733,  -733,
1929 <    -733,   815,  -733,  -733,  -733,  -733,  1033,  -733,  -733,  -733,
1930 <    -733,  -733,  -733,   -93,  -733,   769,  -733,  -733,  -733,  -733,
1931 <     985,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1932 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1933 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1934 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
1935 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,    50,
1936 <    -733,  -733,  -733,    54,  -733,  -733,  -733,  -733,  -733,  -733,
1937 <    -733,   700,  -733,  -733,  -733,  -733,  -733,   -91,  -733,  -733,
1938 <    -733,  -733,  -733,   -87,  -733,  -733,  1076,  -733,  -733,  -733,
1939 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,  -733,
2025 <    -733,  -733,  -733,  -733,  -733,  -733,  -733,   964,  -733,  -733,
2026 <    -733,  -733,  -733,  -733,  -733
1911 >    -745,  -745,  -745,  -744,  -298,  -659,  -595,  -745,  -745,   767,
1912 >    -745,  -745,  -745,  -745,   750,  -745,  -745,  -745,    17,  -745,
1913 >      10,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1914 >    -745,  -745,  -745,  -745,  -745,  -745,   924,  -745,  -745,  -745,
1915 >    -745,  -745,   914,  -745,  -745,  -745,  -745,    53,  -745,  -745,
1916 >    -745,  -745,  -745,  -225,  -745,  -745,  -745,   504,  -745,  -745,
1917 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -193,  -745,  -745,
1918 >    -745,  -188,  -745,  -745,  -745,   675,  -745,  -745,  -745,  -745,
1919 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1920 >    -745,  -745,  -745,  -745,  -170,  -745,   558,  -745,  -745,  -745,
1921 >     -48,  -745,  -745,  -745,  -745,  -745,   610,  -745,  -745,  -745,
1922 >    -745,  -745,  -745,  -745,  -117,  -745,  -745,  -745,  -745,  -745,
1923 >    -745,   550,  -745,  -745,  -745,  -745,  -745,   892,  -745,  -745,
1924 >    -745,  -745,   543,  -745,  -745,  -745,  -745,  -745,  -131,  -745,
1925 >    -745,  -745,   511,  -745,  -745,  -745,  -745,  -128,  -745,  -745,
1926 >    -745,   820,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1927 >    -745,  -745,  -101,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1928 >    -745,  -745,  -745,  -103,  -745,   614,  -745,  -745,  -745,  -745,
1929 >    -745,   754,  -745,  -745,  -745,  -745,   969,  -745,  -745,  -745,
1930 >    -745,  -745,  -745,   -92,  -745,   749,  -745,  -745,  -745,  -745,
1931 >     917,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1932 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1933 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1934 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1935 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,    39,  -745,
1936 >    -745,  -745,    40,  -745,  -745,  -745,  -745,  -745,   996,  -745,
1937 >    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1938 >    -745,  -745,  -745,  -745,  -745,   915,  -745,  -745,  -745,  -745,
1939 >    -745,  -745
1940   };
1941  
1942   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1943     positive, shift that token.  If negative, reduce the rule which
1944     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1945 < #define YYTABLE_NINF -109
1945 > #define YYTABLE_NINF -108
1946   static const yytype_int16 yytable[] =
1947   {
1948 <     717,   612,   613,   508,   716,   364,   529,   365,    49,   620,
1949 <     366,  1122,  1128,    50,    70,    54,   304,   121,    56,   393,
1950 <     403,    61,   584,    70,    62,   121,    65,   367,   530,  1054,
1951 <     243,  1056,    66,  1055,   236,  1057,   480,    69,   975,   976,
1952 <     977,   236,   118,    71,   548,   119,   368,   531,   509,   127,
1953 <     369,   532,    71,    72,  1157,   120,   128,   129,   481,   593,
1954 <     126,   499,    72,   549,   393,   499,   130,   510,  1015,   370,
1955 <     232,   371,   511,   233,   131,   584,   234,   482,   593,   235,
1956 <     132,   483,   304,   372,   133,   134,   122,   135,   394,    47,
1957 <      48,   243,   250,   136,   122,   671,   672,  1071,  1072,  1073,
1958 <    1074,  1075,   137,   138,   373,   533,  1274,   139,   251,   685,
1959 <     548,   302,   140,    73,   690,   305,   141,   142,  1015,   404,
1960 <     143,   585,    73,   144,   145,   701,   702,   244,   704,   549,
1961 <     534,   146,   512,   394,   374,   716,   714,   715,   147,   148,
1962 <     719,   149,   150,   151,   152,   153,   303,   550,  1094,   535,
1963 <    1095,   395,   405,   269,   465,   245,   154,   466,   594,   309,
1964 <     484,   708,   709,   375,   155,   156,   157,  1016,   158,   485,
1965 <     486,   159,   160,    79,   585,   161,   551,   594,  1123,  1129,
1966 <     310,   305,   270,   311,   862,   406,   162,   586,   244,   312,
1967 <     403,   467,   376,   500,   468,   315,   395,   500,  1158,    80,
1968 <      81,   316,  1159,   317,   487,    82,  1115,    83,  1117,   519,
1969 <    1116,   163,  1118,   550,   536,   164,   245,  1016,   271,   165,
1970 <     166,   167,   168,   169,   595,  1253,   501,   170,   171,  1254,
1971 <     501,   318,   537,  1017,   319,   469,   320,   172,   377,   335,
1972 <     586,   321,   551,   595,   754,   785,   657,   771,   587,    84,
1973 <      85,   322,   272,   470,   273,   274,    86,    87,    88,   336,
1974 <     337,   668,   488,   338,   313,   237,   401,   173,   174,   524,
1975 <     175,   527,   237,  -108,   323,   521,   176,   742,    89,    90,
1976 <    -108,   177,   252,  1017,   523,   777,   178,   502,   611,   404,
1977 <     463,   502,  1255,    91,    92,   275,  1256,   276,   277,   278,
1978 <     279,   587,   747,  1259,    93,   661,  1018,  1260,   465,  1171,
1979 <     324,   466,   852,    94,   280,   253,   813,   710,   711,   818,
1980 <     860,   861,   405,   601,   325,   339,   340,   341,   254,   326,
1981 <     342,   829,   830,   831,   832,   833,   795,   796,   343,   327,
1982 <     281,   255,   256,   257,   258,   467,  1096,   508,   468,  1261,
1983 <     344,   345,   282,  1262,  1263,   406,  1018,   566,  1264,  1097,
1984 <     252,   259,   799,   800,  1265,  1267,   346,   347,  1266,  1268,
1985 <     865,   866,  1277,  1279,   127,  1227,  1278,  1280,   328,   329,
1986 <     471,   128,   129,   330,  1281,   603,   283,   284,  1282,   469,
1987 <     331,   130,   509,   253,   582,   731,   348,   604,   332,   131,
1988 <    1283,    95,    96,    97,  1284,   132,   254,   470,   988,   133,
1989 <     134,   510,   135,   400,   333,   412,   511,   606,   136,   255,
1990 <     256,   257,   258,   269,   413,  1308,   414,   137,   138,  1309,
1991 <     415,   605,   139,  1119,  1120,  1121,   416,   140,  1293,   259,
1992 <     417,   141,   142,   418,   419,   143,   420,   421,   144,   145,
1993 <     422,   423,   270,  1228,   424,   425,   146,   480,   426,  1294,
1994 <     427,  1295,   428,   147,   148,   529,   149,   150,   151,   152,
1995 <     153,   429,   430,   364,   431,   365,   512,   432,   366,   481,
1996 <     641,   154,  1175,   433,  1229,   434,   435,   530,   271,   155,
1997 <     156,   157,   436,   158,  1230,   367,   159,   160,   482,   437,
1998 <     161,  1231,   483,  1296,   438,   439,   531,   441,  1176,   443,
1999 <     532,   162,   444,  1232,   368,  1233,  1234,   445,   369,   446,
2000 <     447,   448,   272,   564,   273,   274,   449,  1177,  1235,   450,
2001 <     451,   452,   453,  1178,   471,   454,   163,   370,  1236,   371,
2002 <     164,   455,   456,   457,   165,   166,   167,   168,   169,   458,
2003 <    1179,   372,   170,   171,   459,   460,   461,   462,   520,   525,
2004 <     526,   557,   172,   558,   533,   275,   559,   276,   277,   278,
2005 <     279,   560,   373,   561,   562,  1180,   563,   567,   568,  1297,
2006 <    1298,   484,  1181,   569,   280,   570,   571,   572,   573,   534,
2007 <     485,   486,   173,   174,   574,   175,  1182,   575,   576,   577,
2008 <     578,   176,   374,   607,   579,   580,   177,   581,   535,   600,
2009 <     281,   178,   608,    79,  1183,  1299,  1184,  1185,   609,   610,
2010 <     611,   614,   282,   615,   616,   487,   617,   618,   619,   621,
2011 <     622,   375,   626,  1241,   623,   624,   625,   627,   335,    80,
2012 <      81,   628,   629,   630,   631,    82,   632,    83,   633,   634,
2013 <     635,   636,   637,   638,   639,   640,   283,   284,   336,   337,
2014 <     376,   643,   338,   644,   663,   645,   664,   646,   647,  1186,
2015 <     649,   650,   651,   536,   915,   652,   653,   654,   655,  1187,
2016 <     656,   659,   660,   488,   665,   666,   673,   676,  1188,    84,
2017 <      85,   537,  1189,   670,  1190,   674,    86,    87,    88,   675,
2018 <     677,   678,   679,  1191,   680,   681,   377,     2,     3,   686,
2019 <     682,  1242,     4,  1192,  1275,   683,   684,   687,    89,    90,
2020 <     688,   689,   693,   691,   339,   340,   341,     5,   692,   342,
2021 <       6,     7,   694,    91,    92,   695,     8,   343,   696,   938,
2022 <     697,   698,  1243,   699,    93,   700,   703,   705,   706,   344,
2023 <     345,     9,  1244,    94,   716,    10,    11,   707,    12,  1245,
2024 <     712,   713,   718,   720,    13,   346,   347,   724,   726,   721,
2025 <     733,  1246,   722,  1247,  1248,   723,  1198,   756,    14,   727,
2026 <     729,   730,   734,   749,   759,   757,  1249,   735,    15,    16,
2027 <     737,   738,   739,   740,   741,   348,  1250,   916,   917,   918,
2028 <     919,   920,   744,   746,   921,   922,    17,   751,   923,   924,
2029 <     925,   760,   752,   926,   761,   927,   928,   929,   753,   930,
2030 <     931,   932,    18,   758,   933,   779,   763,   762,   780,   782,
2031 <     934,   781,   764,   766,   767,   783,   784,   787,   773,   786,
2032 <     788,    95,    96,    97,   768,   789,   770,   774,   775,   776,
2033 <     790,   791,   792,   793,   794,   803,   804,   805,    19,  1136,
2034 <     806,   807,   939,   940,   941,   942,   943,    20,    21,   944,
2035 <     945,    22,    23,   946,   947,   948,   808,   809,   949,   815,
2036 <     950,   951,   952,  1137,   953,   954,   955,   810,   820,   956,
2037 <     812,   816,  1138,   850,   851,   957,   853,   821,  1139,  1199,
2038 <    1200,  1201,  1202,  1203,   822,   854,  1204,  1205,   823,   824,
2039 <    1206,  1207,  1208,   825,  1140,  1209,   826,  1210,  1211,  1212,
2040 <     855,  1213,  1214,  1215,   827,    24,  1216,   828,   836,   837,
2041 <     838,   839,  1217,   840,   841,   842,   843,   844,   845,   856,
2042 <     846,  1141,   847,   848,   849,   857,   858,   859,   864,  1142,
2043 <     863,   867,   868,   870,   869,   871,   872,   873,   874,   875,
2044 <     998,   876,   877,   879,   880,   883,   884,   878,   881,   882,
2045 <     989,  1010,   991,   886,   887,   885,   888,   889,   890,   891,
2046 <     892,   893,   894,   895,   896,   897,   898,   899,   992,   900,
2047 <     901,   902,  1143,   903,   904,   905,   906,   907,   994,   908,
2048 <     909,   910,   911,   912,   913,   914,   937,   960,   961,   962,
2049 <    1144,   963,   964,   965,   966,   967,   968,   997,   969,   970,
2050 <     971,   972,   973,   974,   999,   995,   980,  1000,   981,   982,
2051 <     983,   984,   985,   986,  1001,  1003,  1005,   987,   993,  1008,
2052 <     990,  1002,   996,  1004,  1006,  1007,  1009,  1013,  1014,  1024,
2053 <    1025,  1026,  1027,  1029,  1030,  1028,  1031,  1032,  1033,  1034,
2054 <    1035,  1036,  1037,  1063,  1038,  1064,  1065,  1067,  1039,  1112,
2055 <    1153,  1269,  1272,   314,  1225,  1224,  1172,  1310,  1305,  1040,
2056 <    1041,  1304,  1291,  1042,  1043,  1044,  1045,  1046,  1047,   583,
2057 <     772,  1270,  1048,  1049,  1050,  1051,  1052,  1053,   743,  1058,
2058 <    1059,  1060,  1289,  1061,  1062,  1066,   522,  1069,   778,  1068,
2059 <    1070,  1076,  1077,  1078,  1079,  1080,  1081,  1306,  1082,  1083,
2060 <    1084,  1085,  1086,  1087,  1088,  1089,  1090,  1164,  1091,  1092,
2061 <    1093,  1100,  1101,  1102,   755,  1103,  1104,  1307,  1105,  1106,
2062 <    1107,  1108,  1109,  1110,  1285,   814,  1290,  1111,  1126,   819,
2063 <    1127,  1132,  1133,  1134,  1135,  1147,   402,  1148,  1149,  1150,
2151 <    1151,   642,  1152,  1286,   464,  1156,   748,  1162,  1258,  1163,
2152 <    1257,  1288,   732,  1287,   334,     0,     0,   669,     0,  1167,
2153 <     658,     0,  1165,  1168,  1170,  1173,  1174,  1273,  1195,  1196,
2154 <    1197,  1220,  1221,  1222,  1223,  1226,  1239,  1240,  1271,  1276,
2155 <    1292,  1302,     0,  1303,     0,     0,     0,     0,     0,   528,
2156 <       0,   662,     0,     0,     0,     0,     0,     0,     0,     0,
2157 <       0,     0,     0,     0,   565,     0,     0,     0,     0,     0,
1948 >     802,   803,   571,   572,    67,    45,    46,  1025,    47,   381,
1949 >     579,   801,   509,   110,   371,  1071,   227,   236,   980,   286,
1950 >     460,   286,   981,   110,    48,   510,    52,    68,   997,   998,
1951 >     999,  1000,  1001,    54,    69,   982,  1044,   116,   291,   983,
1952 >    1045,  1046,   117,   118,   220,  1047,  1171,    58,   119,    59,
1953 >    1172,   220,   371,   237,  1173,  1177,   120,   480,  1174,  1178,
1954 >     544,   460,   121,   509,   122,   123,   124,   238,   239,   240,
1955 >     241,   125,    62,   111,   372,   251,   510,   126,   127,    63,
1956 >     128,   129,   130,   111,    66,   242,   131,   942,  1013,  1014,
1957 >    1015,   132,    70,   627,   628,   133,   134,   382,   252,   135,
1958 >     227,   635,   228,   637,   511,   107,  1188,   287,   136,   287,
1959 >     644,   553,   372,   647,   108,   137,   138,   469,   139,   140,
1960 >     141,   142,   143,   109,   658,   659,   115,   383,   229,   441,
1961 >     512,   253,   373,   144,   670,   671,   217,   673,   461,   145,
1962 >     146,   147,   218,   148,   219,   442,   149,   150,   545,  1072,
1963 >     151,   234,   470,   313,  1073,   511,   235,  1179,   384,   292,
1964 >     443,  1180,   284,   254,   444,   255,   256,   314,   315,   462,
1965 >     373,   316,   471,   664,   665,   943,  1181,   472,   801,   461,
1966 >    1182,   512,   285,   152,   490,   293,   228,   153,   942,  1026,
1967 >     154,   155,   156,   157,   158,   294,    76,   159,   160,   554,
1968 >     491,   257,   297,   258,   259,   260,   261,  1191,   298,   546,
1969 >     462,  1192,   229,   666,   667,   492,    77,    78,   295,   493,
1970 >     262,   544,    79,   624,   463,   729,   722,   379,   317,   318,
1971 >     319,   524,   473,   320,   692,   561,   944,   161,   162,   163,
1972 >     445,   321,   164,   299,   263,   739,   740,   165,   446,   447,
1973 >     221,   439,   322,   323,   264,   300,  -107,   221,   482,   381,
1974 >     555,    80,    81,  -107,   547,   463,   617,   324,    82,    83,
1975 >      84,   342,   494,   343,   757,   344,   943,  1193,   553,   484,
1976 >     448,  1194,   265,   266,   301,   469,   302,   345,   792,   542,
1977 >      85,    86,   303,    67,   325,   495,   800,   304,   945,   305,
1978 >     236,  1085,   346,    87,    88,   306,   347,   307,  1195,   545,
1979 >     308,   496,  1196,    89,   488,  1197,    68,   309,  1220,  1198,
1980 >     470,    90,  1221,    69,   310,   762,   348,   485,   349,   743,
1981 >     744,   699,   378,   449,   390,   326,   237,   944,   350,   391,
1982 >     471,   806,   807,   687,   441,   472,   392,   382,   393,   490,
1983 >     238,   239,   240,   241,  1168,  1169,  1170,   394,   395,   351,
1984 >     442,   396,   397,   398,   570,   491,   554,   597,   242,   563,
1985 >     546,   399,   400,   401,   497,   443,   402,   383,   403,   444,
1986 >     492,    70,   404,   405,   493,   406,   352,   407,   498,   251,
1987 >     116,   408,   409,   410,   411,   117,   118,   412,   716,   945,
1988 >     473,   119,   772,   773,   774,   775,   776,   413,   384,   120,
1989 >     311,   414,   252,   353,   415,   121,   416,   122,   123,   124,
1990 >     417,   418,   420,   422,   125,   547,   423,   555,   424,   425,
1991 >     126,   127,   426,   128,   129,   130,   427,   494,   428,   131,
1992 >     354,   429,   430,  1205,   132,   253,   431,   432,   133,   134,
1993 >     433,   434,   135,   435,   436,   445,   437,   438,   481,   486,
1994 >     495,   136,   487,   446,   447,  1206,   518,  1207,   137,   138,
1995 >     519,   139,   140,   141,   142,   143,   496,   254,   355,   255,
1996 >     256,   520,   526,   521,   522,   613,   144,   564,   523,  1189,
1997 >     527,   528,   145,   146,   147,   448,   148,   529,   530,   149,
1998 >     150,   565,   531,   151,   532,  1208,   342,   533,   343,   567,
1999 >     344,   534,   535,   536,   537,   257,   566,   258,   259,   260,
2000 >     261,  1089,   345,   538,   539,   540,   541,   560,  1142,   568,
2001 >     569,   570,   573,   574,   262,   575,   152,   346,   576,   497,
2002 >     153,   347,  1090,   154,   155,   156,   157,   158,   449,   577,
2003 >     159,   160,   578,   498,   580,   581,   582,  1091,   263,   583,
2004 >     599,   348,   619,   349,  1092,   620,   584,   585,   264,   586,
2005 >     313,   587,   588,   350,   589,  1209,  1210,   590,   591,   592,
2006 >     593,  1093,   594,   595,   314,   315,   596,   626,   316,   600,
2007 >     161,   162,   163,  1156,   351,   164,   265,   266,   601,  1143,
2008 >     165,   629,   602,   603,  1094,   630,   631,   632,  1211,   605,
2009 >     606,  1095,   633,   634,   607,     2,     3,   608,   609,     4,
2010 >     636,   352,   610,  1096,   611,   612,   615,   638,  1144,     5,
2011 >     616,   621,     6,     7,   622,   639,   640,  1145,     8,   641,
2012 >    1097,  1098,  1099,  1146,   642,   317,   318,   319,   353,     9,
2013 >     320,   857,   643,    10,    11,   645,   646,  1147,   321,  1148,
2014 >    1149,   648,   649,    12,  1157,   650,   651,   652,  1150,   322,
2015 >     323,   653,   654,   655,  1151,   354,   657,    13,   656,   880,
2016 >     660,   661,   662,   663,   324,    14,    15,   672,   677,   668,
2017 >    1100,   669,   674,  1158,   675,   678,   679,   676,   701,  1101,
2018 >     680,   682,  1159,    16,  1102,   683,  1050,  1113,  1160,   684,
2019 >    1103,   325,   703,   355,  1104,   685,  1105,    17,   686,   704,
2020 >     689,  1106,  1161,   691,  1162,  1163,  1051,  1107,   694,   705,
2021 >     702,   724,   696,  1164,   725,   697,  1052,   698,   726,  1165,
2022 >     706,   707,  1053,   727,   728,   732,   731,   733,   708,   734,
2023 >      18,   709,   326,   735,   736,   718,   730,   711,  1054,    19,
2024 >      20,   712,   713,    21,    22,   858,   859,   860,   861,   862,
2025 >     715,   863,   864,   749,   865,   866,   867,   719,   720,   868,
2026 >     737,   869,   870,  1055,   871,    76,   872,   738,   873,   874,
2027 >     721,  1056,   875,   881,   882,   883,   884,   885,   876,   886,
2028 >     887,   747,   888,   889,   890,    77,    78,   891,   748,   892,
2029 >     893,    79,   894,   750,   895,    23,   896,   897,   751,   752,
2030 >     898,  1114,  1115,  1116,  1117,  1118,   899,  1119,  1120,  1057,
2031 >    1121,  1122,  1123,   753,   754,  1124,   764,  1125,  1126,   756,
2032 >    1127,   759,  1128,   760,  1129,  1130,  1058,   765,  1131,   766,
2033 >      80,    81,   767,   768,  1132,   769,   770,    82,    83,    84,
2034 >     771,   779,   780,   781,   782,   783,   784,   785,   786,   787,
2035 >     790,   788,   789,   791,   793,   794,   795,   796,   797,    85,
2036 >      86,   798,   799,   804,   801,   805,   808,   809,   810,   811,
2037 >     812,   815,    87,    88,   819,   822,   813,   814,   816,   823,
2038 >     826,   827,    89,   817,   818,   820,   821,   824,   825,   828,
2039 >      90,   829,   830,   831,   832,   921,   833,   834,   835,   836,
2040 >     837,   838,   839,   840,   841,   842,   843,   844,   845,   846,
2041 >     847,   848,   849,   924,   850,   851,   852,   853,   854,   855,
2042 >     856,   879,   925,   902,   903,   904,   905,   906,   907,   908,
2043 >     909,   910,   911,   912,   913,   914,   915,   916,   917,   918,
2044 >     919,   920,   922,   926,   927,   923,   928,   929,   930,   931,
2045 >     932,   933,   934,   935,   936,   937,   940,   941,   951,   952,
2046 >     953,   954,   956,   955,   957,   958,   960,   959,   962,   963,
2047 >     964,   989,   991,  1140,   993,   296,  1222,   489,  1139,  1086,
2048 >    1041,  1217,   598,   717,  1216,  1067,  1183,   961,   965,   966,
2049 >     967,   968,  1203,   969,   970,   971,   972,   543,   973,   974,
2050 >     975,   976,   977,   978,   979,   984,   985,   986,   987,   988,
2051 >    1186,  1184,   992,   700,   990,   995,   994,   996,  1002,  1003,
2052 >    1004,  1005,  1006,  1007,  1008,  1009,  1010,  1011,  1012,  1018,
2053 >    1019,  1020,  1021,  1022,  1023,  1024,  1029,  1078,  1030,  1031,
2054 >     688,  1201,  1032,   723,  1033,  1218,  1034,   763,  1035,  1036,
2055 >    1219,  1199,  1037,  1038,  1039,  1040,  1048,  1202,  1049,   693,
2056 >    1061,   380,  1200,   440,  1062,  1175,  1176,   312,     0,     0,
2057 >       0,   758,     0,  1063,  1064,  1065,  1066,     0,  1070,  1076,
2058 >    1077,     0,  1081,     0,     0,  1079,  1082,  1084,  1187,  1087,
2059 >    1088,  1110,  1111,  1112,  1135,  1136,  1137,  1138,  1141,  1154,
2060 >    1155,     0,  1185,  1190,  1204,  1214,  1215,     0,   618,     0,
2061 >       0,     0,     0,     0,     0,   625,   483,     0,     0,     0,
2062 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2063 >       0,     0,     0,     0,     0,     0,     0,     0,   525,     0,
2064         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2065 <       0,     0,     0,     0,     0,     0,     0,     0,   602
2065 >       0,     0,     0,     0,     0,     0,   614,     0,     0,     0,
2066 >     562
2067   };
2068  
2069 < #define yypact_value_is_default(yystate) \
2070 <  ((yystate) == (-733))
2069 > #define yypact_value_is_default(Yystate) \
2070 >  (!!((Yystate) == (-745)))
2071  
2072 < #define yytable_value_is_error(yytable_value) \
2072 > #define yytable_value_is_error(Yytable_value) \
2073    YYID (0)
2074  
2075   static const yytype_int16 yycheck[] =
2076   {
2077 <     456,   319,   320,     1,   110,     1,     1,     3,   243,   327,
2078 <       6,    11,    11,   243,     1,   243,     1,     1,   243,     1,
2079 <       1,   243,     1,     1,   243,     1,   243,    23,    23,   241,
2080 <       1,   241,   243,   245,     1,   245,     1,   243,    13,    14,
2081 <      15,     1,   243,    30,     1,   243,    42,    42,    46,     1,
2082 <      46,    46,    30,    40,    60,   243,     8,     9,    23,     1,
2083 <     243,     1,    40,    20,     1,     1,    18,    65,     1,    65,
2084 <     243,    67,    70,   243,    26,     1,   243,    42,     1,   243,
2085 <      32,    46,     1,    79,    36,    37,    70,    39,    70,   241,
2086 <     242,     1,   243,    45,    70,   413,   414,   829,   830,   831,
2087 <     832,   833,    54,    55,   100,   100,   212,    59,   243,   427,
2088 <       1,   243,    64,   100,   432,   100,    68,    69,     1,   100,
2089 <      72,   100,   100,    75,    76,   443,   444,    98,   446,    20,
2090 <     125,    83,   130,    70,   130,   110,   454,   455,    90,    91,
2091 <     458,    93,    94,    95,    96,    97,   243,   104,    10,   144,
2092 <      12,   133,   133,     1,     1,   126,   108,     4,   100,   241,
2093 <     125,   176,   177,   159,   116,   117,   118,   100,   120,   134,
2094 <     135,   123,   124,     1,   100,   127,   133,   100,   178,   178,
2095 <     244,   100,    30,   244,   640,   166,   138,   166,    98,   244,
2096 <       1,    38,   188,   133,    41,   244,   133,   133,   204,    27,
2097 <      28,   244,   208,   244,   169,    33,   241,    35,   241,   241,
2098 <     245,   163,   245,   104,   209,   167,   126,   100,    66,   171,
2099 <     172,   173,   174,   175,   166,   241,   166,   179,   180,   245,
2100 <     166,   244,   227,   166,   244,    82,   244,   189,   234,     1,
2101 <     166,   244,   133,   166,   242,   563,   242,   242,   227,    77,
2102 <      78,   244,   100,   100,   102,   103,    84,    85,    86,    21,
2103 <      22,   242,   227,    25,   242,   232,   242,   219,   220,   241,
2104 <     222,   242,   232,   240,   244,   242,   228,   242,   106,   107,
2105 <     240,   233,     1,   166,   240,   242,   238,   227,   110,   100,
2106 <     242,   227,   241,   121,   122,   143,   245,   145,   146,   147,
2107 <     148,   227,   242,   241,   132,   242,   239,   245,     1,   242,
2108 <     244,     4,   630,   141,   162,    34,   242,   176,   177,   242,
2109 <     638,   639,   133,   242,   244,    87,    88,    89,    47,   244,
2110 <      92,   153,   154,   155,   156,   157,   149,   150,   100,   244,
2111 <     188,    60,    61,    62,    63,    38,   208,     1,    41,   241,
2112 <     112,   113,   200,   245,   241,   166,   239,   241,   245,   221,
2113 <       1,    80,   149,   150,   241,   241,   128,   129,   245,   245,
2114 <     197,   198,   241,   241,     1,    73,   245,   245,   244,   244,
2115 <     227,     8,     9,   244,   241,   131,   234,   235,   245,    82,
2116 <     244,    18,    46,    34,   242,   242,   158,   131,   244,    26,
2117 <     241,   229,   230,   231,   245,    32,    47,   100,   726,    36,
2118 <      37,    65,    39,   244,   242,   244,    70,   241,    45,    60,
2119 <      61,    62,    63,     1,   244,   241,   244,    54,    55,   245,
2120 <     244,   131,    59,   975,   976,   977,   244,    64,    50,    80,
2121 <     244,    68,    69,   244,   244,    72,   244,   244,    75,    76,
2122 <     244,   244,    30,   151,   244,   244,    83,     1,   244,    71,
2123 <     244,    73,   244,    90,    91,     1,    93,    94,    95,    96,
2124 <      97,   244,   244,     1,   244,     3,   130,   244,     6,    23,
2125 <     242,   108,     5,   244,   182,   244,   244,    23,    66,   116,
2126 <     117,   118,   244,   120,   192,    23,   123,   124,    42,   244,
2127 <     127,   199,    46,   115,   244,   244,    42,   244,    31,   244,
2128 <      46,   138,   244,   211,    42,   213,   214,   244,    46,   244,
2129 <     244,   244,   100,   242,   102,   103,   244,    50,   226,   244,
2130 <     244,   244,   244,    56,   227,   244,   163,    65,   236,    67,
2131 <     167,   244,   244,   244,   171,   172,   173,   174,   175,   244,
2132 <      73,    79,   179,   180,   244,   244,   244,   244,   244,   244,
2133 <     244,   244,   189,   244,   100,   143,   244,   145,   146,   147,
2134 <     148,   244,   100,   244,   244,    98,   244,   244,   244,   191,
2135 <     192,   125,   105,   244,   162,   244,   244,   244,   244,   125,
2136 <     134,   135,   219,   220,   244,   222,   119,   244,   244,   244,
2137 <     244,   228,   130,   110,   244,   244,   233,   244,   144,   244,
2138 <     188,   238,   110,     1,   137,   227,   139,   140,   176,   176,
2139 <     110,   110,   200,   110,   110,   169,   176,   176,   110,   176,
2140 <     176,   159,   241,    73,   176,   176,   176,   241,     1,    27,
2141 <      28,   244,   244,   244,   244,    33,   244,    35,   244,   244,
2142 <     244,   244,   244,   244,   244,   244,   234,   235,    21,    22,
2143 <     188,   241,    25,   244,   131,   244,   241,   244,   244,   192,
2144 <     244,   244,   244,   209,    60,   244,   244,   244,   244,   202,
2145 <     244,   244,   244,   227,   244,   244,   110,   110,   211,    77,
2146 <      78,   227,   215,   176,   217,   176,    84,    85,    86,   176,
2147 <     131,   176,   110,   226,   110,   110,   234,     0,     1,   131,
2148 <     176,   151,     5,   236,  1170,   176,   176,   176,   106,   107,
2149 <     110,   110,   131,   110,    87,    88,    89,    20,   110,    92,
2150 <      23,    24,   110,   121,   122,   110,    29,   100,   176,    60,
2151 <     176,   244,   182,   176,   132,   244,   176,   176,   176,   112,
2152 <     113,    44,   192,   141,   110,    48,    49,   176,    51,   199,
2153 <     176,   176,   131,   176,    57,   128,   129,   241,   244,   176,
2154 <     241,   211,   176,   213,   214,   176,    60,   176,    71,   244,
2155 <     244,   244,   244,   241,   131,   241,   226,   244,    81,    82,
2156 <     244,   244,   244,   244,   244,   158,   236,   183,   184,   185,
2157 <     186,   187,   244,   244,   190,   191,    99,   244,   194,   195,
2158 <     196,   131,   244,   199,   241,   201,   202,   203,   244,   205,
2159 <     206,   207,   115,   243,   210,   176,   244,   241,   176,   131,
2160 <     216,   176,   244,   244,   244,   176,   176,   131,   241,   241,
2161 <     176,   229,   230,   231,   244,   131,   244,   244,   244,   244,
2162 <     131,   131,   131,   131,   131,   131,   131,   110,   151,    19,
2163 <     131,   131,   183,   184,   185,   186,   187,   160,   161,   190,
2164 <     191,   164,   165,   194,   195,   196,   241,   241,   199,   241,
2165 <     201,   202,   203,    43,   205,   206,   207,   244,   131,   210,
2166 <     244,   244,    52,   110,   110,   216,   110,   241,    58,   183,
2167 <     184,   185,   186,   187,   241,   110,   190,   191,   241,   241,
2168 <     194,   195,   196,   241,    74,   199,   241,   201,   202,   203,
2169 <     110,   205,   206,   207,   241,   218,   210,   241,   241,   241,
2170 <     241,   241,   216,   241,   241,   241,   241,   241,   241,   110,
2171 <     241,   101,   241,   241,   241,   131,   110,   110,   131,   109,
2172 <     241,   131,   176,   131,   244,   131,   131,   131,   110,   131,
2173 <     110,   131,   131,   131,   131,   131,   131,   241,   241,   241,
2174 <     176,   110,   131,   241,   241,   244,   241,   241,   241,   241,
2175 <     241,   241,   241,   241,   241,   241,   241,   241,   131,   241,
2176 <     241,   241,   152,   241,   241,   241,   241,   241,   131,   241,
2177 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2178 <     170,   241,   241,   241,   241,   241,   241,   131,   241,   241,
2179 <     241,   241,   241,   241,   131,   176,   241,   131,   241,   241,
2180 <     241,   241,   241,   241,   131,   131,   131,   244,   241,   131,
2181 <     244,   241,   244,   244,   241,   244,   131,   241,   241,   241,
2182 <     241,   131,   176,   131,   131,   244,   131,   244,   131,   241,
2183 <     131,   131,   131,   131,   241,   244,   131,   131,   241,   136,
2184 <     136,   110,   131,    74,  1057,  1055,  1019,  1309,  1280,   241,
2185 <     241,  1278,  1268,   241,   241,   241,   241,   241,   241,   285,
2186 <     538,  1165,   241,   241,   241,   241,   241,   241,   489,   241,
2187 <     241,   241,  1264,   241,   241,   241,   238,   241,   552,   244,
2188 <     241,   241,   241,   241,   241,   241,   241,  1282,   241,   241,
2189 <     241,   241,   241,   241,   241,   241,   241,   181,   241,   241,
2190 <     241,   241,   241,   241,   514,   241,   241,  1284,   241,   241,
2284 <     241,   241,   241,   241,  1254,   588,  1266,   241,   241,   596,
2285 <     241,   241,   241,   241,   241,   241,   123,   241,   241,   241,
2286 <     241,   349,   241,  1256,   179,   241,   504,   241,  1118,   241,
2287 <    1116,  1262,   472,  1260,    98,    -1,    -1,   408,    -1,   241,
2288 <     378,    -1,   245,   244,   244,   241,   241,   244,   241,   241,
2289 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2290 <     241,   241,    -1,   241,    -1,    -1,    -1,    -1,    -1,   246,
2291 <      -1,   396,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2292 <      -1,    -1,    -1,    -1,   260,    -1,    -1,    -1,    -1,    -1,
2077 >     595,   596,   300,   301,     1,   214,   215,     8,   216,     1,
2078 >     308,    99,     1,     1,     1,    51,     1,     1,   214,     1,
2079 >       1,     1,   218,     1,   216,    14,   216,    24,   772,   773,
2080 >     774,   775,   776,   216,    31,   214,   214,     1,   214,   218,
2081 >     218,   214,     6,     7,     1,   218,   214,   216,    12,   216,
2082 >     218,     1,     1,    37,   214,   214,    20,   214,   218,   218,
2083 >       1,     1,    26,     1,    28,    29,    30,    51,    52,    53,
2084 >      54,    35,   216,    61,    61,     1,    14,    41,    42,   216,
2085 >      44,    45,    46,    61,   216,    69,    50,     1,     9,    10,
2086 >      11,    55,    89,   391,   392,    59,    60,    89,    24,    63,
2087 >       1,   399,    87,   401,    93,   216,   194,    89,    72,    89,
2088 >     408,     1,    61,   411,   216,    79,    80,     1,    82,    83,
2089 >      84,    85,    86,   216,   422,   423,   216,   119,   113,     1,
2090 >     119,    57,   119,    97,   432,   433,   216,   435,   119,   103,
2091 >     104,   105,   216,   107,   216,    17,   110,   111,    89,   185,
2092 >     114,   216,    36,     1,   190,    93,   216,   214,   150,   217,
2093 >      32,   218,   216,    89,    36,    91,    92,    15,    16,   150,
2094 >     119,    19,    56,   159,   160,    89,   214,    61,    99,   119,
2095 >     218,   119,   216,   147,     1,   217,    87,   151,     1,   190,
2096 >     154,   155,   156,   157,   158,   217,     1,   161,   162,    89,
2097 >      17,   127,   217,   129,   130,   131,   132,   214,   217,   150,
2098 >     150,   218,   113,   159,   160,    32,    21,    22,   215,    36,
2099 >     146,     1,    27,   215,   205,   523,   215,   215,    76,    77,
2100 >      78,   215,   116,    81,   215,   215,   150,   201,   202,   203,
2101 >     112,    89,   206,   217,   170,   133,   134,   211,   120,   121,
2102 >     207,   215,   100,   101,   180,   217,   213,   207,   215,     1,
2103 >     150,    66,    67,   213,   205,   205,   215,   115,    73,    74,
2104 >      75,     1,    89,     3,   215,     5,    89,   214,     1,   213,
2105 >     152,   218,   208,   209,   217,     1,   217,    17,   586,   215,
2106 >      95,    96,   217,     1,   142,   112,   594,   217,   212,   217,
2107 >       1,   215,    32,   108,   109,   217,    36,   217,   214,    89,
2108 >     217,   128,   218,   118,   215,   214,    24,   217,   214,   218,
2109 >      36,   126,   218,    31,   217,   215,    56,   214,    58,   133,
2110 >     134,   215,   217,   205,   217,   183,    37,   150,    68,   217,
2111 >      56,   177,   178,   215,     1,    61,   217,    89,   217,     1,
2112 >      51,    52,    53,    54,  1013,  1014,  1015,   217,   217,    89,
2113 >      17,   217,   217,   217,    99,    17,    89,   215,    69,   117,
2114 >     150,   217,   217,   217,   191,    32,   217,   119,   217,    36,
2115 >      32,    89,   217,   217,    36,   217,   116,   217,   205,     1,
2116 >       1,   217,   217,   217,   217,     6,     7,   217,   215,   212,
2117 >     116,    12,   137,   138,   139,   140,   141,   217,   150,    20,
2118 >     215,   217,    24,   143,   217,    26,   217,    28,    29,    30,
2119 >     217,   217,   217,   217,    35,   205,   217,   150,   217,   217,
2120 >      41,    42,   217,    44,    45,    46,   217,    89,   217,    50,
2121 >     170,   217,   217,    40,    55,    57,   217,   217,    59,    60,
2122 >     217,   217,    63,   217,   217,   112,   217,   217,   217,   217,
2123 >     112,    72,   217,   120,   121,    62,   217,    64,    79,    80,
2124 >     217,    82,    83,    84,    85,    86,   128,    89,   208,    91,
2125 >      92,   217,   214,   217,   217,   215,    97,   117,   217,  1084,
2126 >     217,   217,   103,   104,   105,   152,   107,   217,   217,   110,
2127 >     111,   117,   217,   114,   217,   102,     1,   217,     3,    99,
2128 >       5,   217,   217,   217,   217,   127,   214,   129,   130,   131,
2129 >     132,     4,    17,   217,   217,   217,   217,   217,    64,    99,
2130 >     159,    99,    99,    99,   146,    99,   147,    32,   159,   191,
2131 >     151,    36,    25,   154,   155,   156,   157,   158,   205,   159,
2132 >     161,   162,    99,   205,   159,   159,   214,    40,   170,   214,
2133 >     214,    56,   117,    58,    47,   214,   217,   217,   180,   217,
2134 >       1,   217,   217,    68,   217,   172,   173,   217,   217,   217,
2135 >     217,    64,   217,   217,    15,    16,   217,   159,    19,   217,
2136 >     201,   202,   203,    64,    89,   206,   208,   209,   217,   135,
2137 >     211,    99,   217,   217,    87,   159,   159,    99,   205,   217,
2138 >     217,    94,   117,   159,   217,     0,     1,   217,   217,     4,
2139 >     159,   116,   217,   106,   217,   217,   217,    99,   164,    14,
2140 >     217,   217,    17,    18,   217,    99,    99,   173,    23,   159,
2141 >     123,   124,   125,   179,   159,    76,    77,    78,   143,    34,
2142 >      81,    51,   159,    38,    39,    99,    99,   193,    89,   195,
2143 >     196,    99,    99,    48,   135,   117,    99,    99,   204,   100,
2144 >     101,   159,   159,   217,   210,   170,   217,    62,   159,    51,
2145 >     159,   159,   159,   159,   115,    70,    71,   117,   214,   159,
2146 >     173,   159,   159,   164,   159,   214,   217,   159,   159,   182,
2147 >     217,   217,   173,    88,   187,   217,    13,    51,   179,   217,
2148 >     193,   142,   216,   208,   197,   217,   199,   102,   217,   117,
2149 >     217,   204,   193,   217,   195,   196,    33,   210,   214,   117,
2150 >     214,   159,   217,   204,   159,   217,    43,   217,   117,   210,
2151 >     214,   214,    49,   159,   159,   159,   117,   117,   217,   117,
2152 >     135,   217,   183,   117,   117,   214,   214,   217,    65,   144,
2153 >     145,   217,   217,   148,   149,   165,   166,   167,   168,   169,
2154 >     217,   171,   172,    99,   174,   175,   176,   217,   217,   179,
2155 >     117,   181,   182,    90,   184,     1,   186,   117,   188,   189,
2156 >     217,    98,   192,   165,   166,   167,   168,   169,   198,   171,
2157 >     172,   117,   174,   175,   176,    21,    22,   179,   117,   181,
2158 >     182,    27,   184,   117,   186,   200,   188,   189,   117,   214,
2159 >     192,   165,   166,   167,   168,   169,   198,   171,   172,   136,
2160 >     174,   175,   176,   214,   217,   179,   117,   181,   182,   217,
2161 >     184,   214,   186,   217,   188,   189,   153,   214,   192,   214,
2162 >      66,    67,   214,   214,   198,   214,   214,    73,    74,    75,
2163 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2164 >      99,   214,   214,    99,    99,    99,    99,    99,   117,    95,
2165 >      96,    99,    99,   214,    99,   117,   117,   159,   217,   117,
2166 >     117,    99,   108,   109,   214,   214,   117,   117,   117,   214,
2167 >     217,   214,   118,   117,   117,   117,   117,   117,   117,   214,
2168 >     126,   214,   214,   214,   214,   117,   214,   214,   214,   214,
2169 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2170 >     214,   214,   214,   117,   214,   214,   214,   214,   214,   214,
2171 >     214,   214,    99,   214,   214,   214,   214,   214,   214,   214,
2172 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2173 >     214,   214,   159,   117,   117,   217,   117,   214,   117,   217,
2174 >     117,   214,   217,   117,   117,    99,   214,   214,   214,   214,
2175 >     117,   159,   117,   217,   117,   117,   117,   217,   117,   117,
2176 >     117,   117,   117,   983,   117,    71,  1221,   230,   981,   946,
2177 >     122,  1194,   327,   499,  1192,   122,    99,   214,   214,   214,
2178 >     214,   214,  1182,   214,   214,   214,   214,   267,   214,   214,
2179 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2180 >     117,  1079,   214,   475,   217,   214,   217,   214,   214,   214,
2181 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2182 >     214,   214,   214,   214,   214,   214,   214,   163,   214,   214,
2183 >     450,  1178,   214,   513,   214,  1196,   214,   556,   214,   214,
2184 >    1198,  1172,   214,   214,   214,   214,   214,  1180,   214,   465,
2185 >     214,   112,  1174,   166,   214,  1045,  1047,    91,    -1,    -1,
2186 >      -1,   548,    -1,   214,   214,   214,   214,    -1,   214,   214,
2187 >     214,    -1,   214,    -1,    -1,   218,   217,   217,   217,   214,
2188 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2189 >     214,    -1,   214,   214,   214,   214,   214,    -1,   374,    -1,
2190 >      -1,    -1,    -1,    -1,    -1,   386,   222,    -1,    -1,    -1,
2191        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2192 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   306
2192 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,    -1,
2193 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2194 >      -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,
2195 >     288
2196   };
2197  
2198   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2199     symbol of state STATE-NUM.  */
2200   static const yytype_uint16 yystos[] =
2201   {
2202 <       0,   247,     0,     1,     5,    20,    23,    24,    29,    44,
2203 <      48,    49,    51,    57,    71,    81,    82,    99,   115,   151,
2204 <     160,   161,   164,   165,   218,   248,   253,   258,   280,   286,
2205 <     300,   318,   335,   349,   364,   371,   375,   385,   394,   414,
2206 <     424,   430,   434,   444,   504,   520,   541,   241,   242,   243,
2207 <     243,   319,   395,   425,   243,   435,   243,   505,   350,   415,
2208 <     336,   243,   243,   301,   365,   243,   243,   376,   386,   243,
2209 <       1,    30,    40,   100,   281,   282,   283,   284,   285,     1,
2210 <      27,    28,    33,    35,    77,    78,    84,    85,    86,   106,
2211 <     107,   121,   122,   132,   141,   229,   230,   231,   521,   522,
2212 <     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
2213 <     533,   534,   535,   536,   537,   538,   539,   540,   243,   243,
2214 <     243,     1,    70,   431,   432,   433,   243,     1,     8,     9,
2215 <      18,    26,    32,    36,    37,    39,    45,    54,    55,    59,
2216 <      64,    68,    69,    72,    75,    76,    83,    90,    91,    93,
2217 <      94,    95,    96,    97,   108,   116,   117,   118,   120,   123,
2218 <     124,   127,   138,   163,   167,   171,   172,   173,   174,   175,
2219 <     179,   180,   189,   219,   220,   222,   228,   233,   238,   445,
2220 <     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
2221 <     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
2222 <     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
2223 <     476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
2224 <     486,   487,   488,   489,   490,   491,   492,   496,   500,   501,
2225 <     502,   503,   243,   243,   243,   243,     1,   232,   287,   288,
2226 <     289,   290,   291,     1,    98,   126,   254,   255,   256,   257,
2227 <     243,   243,     1,    34,    47,    60,    61,    62,    63,    80,
2228 <     542,   543,   544,   545,   546,   547,   548,   549,   550,     1,
2229 <      30,    66,   100,   102,   103,   143,   145,   146,   147,   148,
2230 <     162,   188,   200,   234,   235,   259,   260,   261,   262,   267,
2231 <     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
2232 <     278,   279,   243,   243,     1,   100,   372,   373,   374,   241,
2233 <     244,   244,   244,   242,   282,   244,   244,   244,   244,   244,
2234 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2235 <     244,   244,   244,   242,   522,     1,    21,    22,    25,    87,
2236 <      88,    89,    92,   100,   112,   113,   128,   129,   158,   320,
2237 <     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
2238 <     331,   332,   333,   334,     1,     3,     6,    23,    42,    46,
2239 <      65,    67,    79,   100,   130,   159,   188,   234,   396,   397,
2240 <     398,   399,   400,   401,   402,   403,   404,   405,   409,   410,
2241 <     411,   412,   413,     1,    70,   133,   426,   427,   428,   429,
2242 <     244,   242,   432,     1,   100,   133,   166,   436,   440,   441,
2243 <     442,   443,   244,   244,   244,   244,   244,   244,   244,   244,
2244 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2245 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2246 <     497,   244,   493,   244,   244,   244,   244,   244,   244,   244,
2247 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2248 <     244,   244,   244,   242,   446,     1,     4,    38,    41,    82,
2249 <     100,   227,   506,   507,   508,   509,   510,   514,   515,   516,
2250 <       1,    23,    42,    46,   125,   134,   135,   169,   227,   351,
2251 <     352,   353,   354,   355,   356,   357,   361,   362,   363,     1,
2252 <     133,   166,   227,   416,   420,   421,   422,   423,     1,    46,
2253 <      65,    70,   130,   337,   341,   342,   343,   347,   348,   241,
2254 <     244,   242,   288,   240,   241,   244,   244,   242,   255,     1,
2255 <      23,    42,    46,   100,   125,   144,   209,   227,   302,   303,
2256 <     304,   305,   306,   307,   308,   309,   310,   314,     1,    20,
2257 <     104,   133,   366,   367,   368,   369,   370,   244,   244,   244,
2258 <     244,   244,   244,   244,   242,   543,   241,   244,   244,   244,
2259 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2260 <     244,   244,   242,   260,     1,   100,   166,   227,   377,   378,
2261 <     379,   380,   381,     1,   100,   166,   387,   388,   389,   390,
2262 <     244,   242,   373,   131,   131,   131,   241,   110,   110,   176,
2263 <     176,   110,   250,   250,   110,   110,   110,   176,   176,   110,
2264 <     250,   176,   176,   176,   176,   176,   241,   241,   244,   244,
2265 <     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2266 <     244,   242,   321,   241,   244,   244,   244,   244,   406,   244,
2267 <     244,   244,   244,   244,   244,   244,   244,   242,   397,   244,
2268 <     244,   242,   427,   131,   241,   244,   244,   437,   242,   441,
2269 <     176,   250,   250,   110,   176,   176,   110,   131,   176,   110,
2270 <     110,   110,   176,   176,   176,   250,   131,   176,   110,   110,
2271 <     250,   110,   110,   131,   110,   110,   176,   176,   244,   176,
2272 <     244,   250,   250,   176,   250,   176,   176,   176,   176,   177,
2273 <     176,   177,   176,   176,   250,   250,   110,   252,   131,   250,
2274 <     176,   176,   176,   176,   241,   517,   244,   244,   511,   244,
2275 <     244,   242,   507,   241,   244,   244,   358,   244,   244,   244,
2276 <     244,   244,   242,   352,   244,   417,   244,   242,   421,   241,
2277 <     338,   244,   244,   244,   242,   342,   176,   241,   243,   131,
2278 <     131,   241,   241,   244,   244,   315,   244,   244,   244,   311,
2279 <     244,   242,   303,   241,   244,   244,   244,   242,   367,   176,
2280 <     176,   176,   131,   176,   176,   250,   241,   131,   176,   131,
2281 <     131,   131,   131,   131,   131,   149,   150,   263,   264,   149,
2282 <     150,   265,   266,   131,   131,   110,   131,   131,   241,   241,
2283 <     244,   382,   244,   242,   378,   241,   244,   391,   242,   388,
2284 <     131,   241,   241,   241,   241,   241,   241,   241,   241,   153,
2285 <     154,   155,   156,   157,   249,   250,   241,   241,   241,   241,
2286 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2287 <     110,   110,   250,   110,   110,   110,   110,   131,   110,   110,
2288 <     250,   250,   252,   241,   131,   197,   198,   131,   176,   244,
2289 <     131,   131,   131,   131,   110,   131,   131,   131,   241,   131,
2290 <     131,   241,   241,   131,   131,   244,   241,   241,   241,   241,
2291 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2292 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2293 <     241,   241,   241,   241,   241,    60,   183,   184,   185,   186,
2294 <     187,   190,   191,   194,   195,   196,   199,   201,   202,   203,
2295 <     205,   206,   207,   210,   216,   498,   499,   241,    60,   183,
2296 <     184,   185,   186,   187,   190,   191,   194,   195,   196,   199,
2297 <     201,   202,   203,   205,   206,   207,   210,   216,   494,   495,
2298 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2299 <     241,   241,   241,   241,   241,    13,    14,    15,   251,   252,
2300 <     241,   241,   241,   241,   241,   241,   241,   244,   250,   176,
2301 <     244,   131,   131,   241,   131,   176,   244,   131,   110,   131,
2302 <     131,   131,   241,   131,   244,   131,   241,   244,   131,   131,
2303 <     110,   345,   346,   241,   241,     1,   100,   166,   239,   292,
2304 <     293,   294,   295,   296,   241,   241,   131,   176,   244,   131,
2305 <     131,   131,   244,   131,   241,   131,   131,   131,   241,   241,
2306 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2307 <     241,   241,   241,   241,   241,   245,   241,   245,   241,   241,
2308 <     241,   241,   241,   131,   244,   131,   241,   131,   244,   241,
2309 <     241,   249,   249,   249,   249,   249,   241,   241,   241,   241,
2310 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2311 <     241,   241,   241,   241,    10,    12,   208,   221,   407,   408,
2312 <     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2313 <     241,   241,   136,   438,   439,   241,   245,   241,   245,   251,
2314 <     251,   251,    11,   178,   518,   519,   241,   241,    11,   178,
2315 <     512,   513,   241,   241,   241,   241,    19,    43,    52,    58,
2316 <      74,   101,   109,   152,   170,   359,   360,   241,   241,   241,
2317 <     241,   241,   241,   136,   418,   419,   241,    60,   204,   208,
2318 <     339,   340,   241,   241,   181,   245,   344,   241,   244,   297,
2319 <     244,   242,   293,   241,   241,     5,    31,    50,    56,    73,
2320 <      98,   105,   119,   137,   139,   140,   192,   202,   211,   215,
2321 <     217,   226,   236,   316,   317,   241,   241,   241,    60,   183,
2322 <     184,   185,   186,   187,   190,   191,   194,   195,   196,   199,
2323 <     201,   202,   203,   205,   206,   207,   210,   216,   312,   313,
2324 <     241,   241,   241,   241,   264,   266,   241,    73,   151,   182,
2424 <     192,   199,   211,   213,   214,   226,   236,   383,   384,   241,
2425 <     241,    73,   151,   182,   192,   199,   211,   213,   214,   226,
2426 <     236,   392,   393,   241,   245,   241,   245,   499,   495,   241,
2427 <     245,   241,   245,   241,   245,   241,   245,   241,   245,   110,
2428 <     346,   241,   131,   244,   212,   252,   241,   241,   245,   241,
2429 <     245,   241,   245,   241,   245,   408,   439,   519,   513,   360,
2430 <     419,   340,   241,    50,    71,    73,   115,   191,   192,   227,
2431 <     298,   299,   241,   241,   317,   313,   384,   393,   241,   245,
2432 <     299
2202 >       0,   220,     0,     1,     4,    14,    17,    18,    23,    34,
2203 >      38,    39,    48,    62,    70,    71,    88,   102,   135,   144,
2204 >     145,   148,   149,   200,   221,   226,   231,   253,   259,   273,
2205 >     291,   308,   322,   337,   344,   348,   358,   367,   387,   397,
2206 >     403,   407,   417,   475,   492,   214,   215,   216,   216,   292,
2207 >     368,   398,   216,   408,   216,   323,   388,   309,   216,   216,
2208 >     274,   338,   216,   216,   349,   359,   216,     1,    24,    31,
2209 >      89,   254,   255,   256,   257,   258,     1,    21,    22,    27,
2210 >      66,    67,    73,    74,    75,    95,    96,   108,   109,   118,
2211 >     126,   476,   477,   478,   479,   480,   481,   482,   483,   484,
2212 >     485,   486,   487,   488,   489,   490,   491,   216,   216,   216,
2213 >       1,    61,   404,   405,   406,   216,     1,     6,     7,    12,
2214 >      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
2215 >      46,    50,    55,    59,    60,    63,    72,    79,    80,    82,
2216 >      83,    84,    85,    86,    97,   103,   104,   105,   107,   110,
2217 >     111,   114,   147,   151,   154,   155,   156,   157,   158,   161,
2218 >     162,   201,   202,   203,   206,   211,   418,   419,   420,   421,
2219 >     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
2220 >     432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
2221 >     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
2222 >     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
2223 >     462,   463,   464,   468,   472,   473,   474,   216,   216,   216,
2224 >       1,   207,   260,   261,   262,   263,   264,     1,    87,   113,
2225 >     227,   228,   229,   230,   216,   216,     1,    37,    51,    52,
2226 >      53,    54,    69,   493,   494,   495,   496,   497,   498,   499,
2227 >     500,     1,    24,    57,    89,    91,    92,   127,   129,   130,
2228 >     131,   132,   146,   170,   180,   208,   209,   232,   233,   234,
2229 >     235,   240,   241,   242,   243,   244,   245,   246,   247,   248,
2230 >     249,   250,   251,   252,   216,   216,     1,    89,   345,   346,
2231 >     347,   214,   217,   217,   217,   215,   255,   217,   217,   217,
2232 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2233 >     217,   215,   477,     1,    15,    16,    19,    76,    77,    78,
2234 >      81,    89,   100,   101,   115,   142,   183,   293,   294,   295,
2235 >     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
2236 >     306,   307,     1,     3,     5,    17,    32,    36,    56,    58,
2237 >      68,    89,   116,   143,   170,   208,   369,   370,   371,   372,
2238 >     373,   374,   375,   376,   377,   378,   382,   383,   384,   385,
2239 >     386,     1,    61,   119,   399,   400,   401,   402,   217,   215,
2240 >     405,     1,    89,   119,   150,   409,   413,   414,   415,   416,
2241 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2242 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2243 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   469,
2244 >     217,   465,   217,   217,   217,   217,   217,   217,   217,   217,
2245 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   215,
2246 >     419,     1,    17,    32,    36,   112,   120,   121,   152,   205,
2247 >     324,   325,   326,   327,   328,   329,   330,   334,   335,   336,
2248 >       1,   119,   150,   205,   389,   393,   394,   395,   396,     1,
2249 >      36,    56,    61,   116,   310,   314,   315,   316,   320,   321,
2250 >     214,   217,   215,   261,   213,   214,   217,   217,   215,   228,
2251 >       1,    17,    32,    36,    89,   112,   128,   191,   205,   275,
2252 >     276,   277,   278,   279,   280,   281,   282,   283,   287,     1,
2253 >      14,    93,   119,   339,   340,   341,   342,   343,   217,   217,
2254 >     217,   217,   217,   217,   215,   494,   214,   217,   217,   217,
2255 >     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2256 >     217,   217,   215,   233,     1,    89,   150,   205,   350,   351,
2257 >     352,   353,   354,     1,    89,   150,   360,   361,   362,   363,
2258 >     217,   215,   346,   117,   117,   117,   214,    99,    99,   159,
2259 >      99,   223,   223,    99,    99,    99,   159,   159,    99,   223,
2260 >     159,   159,   214,   214,   217,   217,   217,   217,   217,   217,
2261 >     217,   217,   217,   217,   217,   217,   217,   215,   294,   214,
2262 >     217,   217,   217,   217,   379,   217,   217,   217,   217,   217,
2263 >     217,   217,   217,   215,   370,   217,   217,   215,   400,   117,
2264 >     214,   217,   217,   410,   215,   414,   159,   223,   223,    99,
2265 >     159,   159,    99,   117,   159,   223,   159,   223,    99,    99,
2266 >      99,   159,   159,   159,   223,    99,    99,   223,    99,    99,
2267 >     117,    99,    99,   159,   159,   217,   159,   217,   223,   223,
2268 >     159,   159,   159,   159,   159,   160,   159,   160,   159,   159,
2269 >     223,   223,   117,   223,   159,   159,   159,   214,   214,   217,
2270 >     217,   331,   217,   217,   217,   217,   217,   215,   325,   217,
2271 >     390,   217,   215,   394,   214,   311,   217,   217,   217,   215,
2272 >     315,   159,   214,   216,   117,   117,   214,   214,   217,   217,
2273 >     288,   217,   217,   217,   284,   217,   215,   276,   214,   217,
2274 >     217,   217,   215,   340,   159,   159,   117,   159,   159,   223,
2275 >     214,   117,   159,   117,   117,   117,   117,   117,   117,   133,
2276 >     134,   236,   237,   133,   134,   238,   239,   117,   117,    99,
2277 >     117,   117,   214,   214,   217,   355,   217,   215,   351,   214,
2278 >     217,   364,   215,   361,   117,   214,   214,   214,   214,   214,
2279 >     214,   214,   137,   138,   139,   140,   141,   222,   223,   214,
2280 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2281 >      99,    99,   223,    99,    99,    99,    99,   117,    99,    99,
2282 >     223,    99,   225,   225,   214,   117,   177,   178,   117,   159,
2283 >     217,   117,   117,   117,   117,    99,   117,   117,   117,   214,
2284 >     117,   117,   214,   214,   117,   117,   217,   214,   214,   214,
2285 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2286 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2287 >     214,   214,   214,   214,   214,   214,   214,    51,   165,   166,
2288 >     167,   168,   169,   171,   172,   174,   175,   176,   179,   181,
2289 >     182,   184,   186,   188,   189,   192,   198,   470,   471,   214,
2290 >      51,   165,   166,   167,   168,   169,   171,   172,   174,   175,
2291 >     176,   179,   181,   182,   184,   186,   188,   189,   192,   198,
2292 >     466,   467,   214,   214,   214,   214,   214,   214,   214,   214,
2293 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2294 >     214,   117,   159,   217,   117,    99,   117,   117,   117,   214,
2295 >     117,   217,   117,   214,   217,   117,   117,    99,   318,   319,
2296 >     214,   214,     1,    89,   150,   212,   265,   266,   267,   268,
2297 >     269,   214,   214,   117,   159,   217,   117,   117,   117,   217,
2298 >     117,   214,   117,   117,   117,   214,   214,   214,   214,   214,
2299 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2300 >     214,   218,   214,   218,   214,   214,   214,   214,   214,   117,
2301 >     217,   117,   214,   117,   217,   214,   214,   222,   222,   222,
2302 >     222,   222,   214,   214,   214,   214,   214,   214,   214,   214,
2303 >     214,   214,   214,     9,    10,    11,   224,   225,   214,   214,
2304 >     214,   214,   214,   214,   214,     8,   190,   380,   381,   214,
2305 >     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2306 >     214,   122,   411,   412,   214,   218,   214,   218,   214,   214,
2307 >      13,    33,    43,    49,    65,    90,    98,   136,   153,   332,
2308 >     333,   214,   214,   214,   214,   214,   214,   122,   391,   392,
2309 >     214,    51,   185,   190,   312,   313,   214,   214,   163,   218,
2310 >     317,   214,   217,   270,   217,   215,   266,   214,   214,     4,
2311 >      25,    40,    47,    64,    87,    94,   106,   123,   124,   125,
2312 >     173,   182,   187,   193,   197,   199,   204,   210,   289,   290,
2313 >     214,   214,   214,    51,   165,   166,   167,   168,   169,   171,
2314 >     172,   174,   175,   176,   179,   181,   182,   184,   186,   188,
2315 >     189,   192,   198,   285,   286,   214,   214,   214,   214,   237,
2316 >     239,   214,    64,   135,   164,   173,   179,   193,   195,   196,
2317 >     204,   210,   356,   357,   214,   214,    64,   135,   164,   173,
2318 >     179,   193,   195,   196,   204,   210,   365,   366,   224,   224,
2319 >     224,   214,   218,   214,   218,   471,   467,   214,   218,   214,
2320 >     218,   214,   218,    99,   319,   214,   117,   217,   194,   225,
2321 >     214,   214,   218,   214,   218,   214,   218,   214,   218,   381,
2322 >     412,   333,   392,   313,   214,    40,    62,    64,   102,   172,
2323 >     173,   205,   271,   272,   214,   214,   290,   286,   357,   366,
2324 >     214,   218,   272
2325   };
2326  
2327   #define yyerrok         (yyerrstatus = 0)
# Line 2476 | Line 2368 | do
2368      }                                                           \
2369   while (YYID (0))
2370  
2371 <
2371 > /* Error token number */
2372   #define YYTERROR        1
2373   #define YYERRCODE       256
2374  
2375  
2484 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2485   If N is 0, then set CURRENT to the empty location which ends
2486   the previous symbol: RHS[0] (always defined).  */
2487
2488 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2489 #ifndef YYLLOC_DEFAULT
2490 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2491    do                                                                  \
2492      if (YYID (N))                                                    \
2493        {                                                               \
2494          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2495          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2496          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2497          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2498        }                                                               \
2499      else                                                              \
2500        {                                                               \
2501          (Current).first_line   = (Current).last_line   =              \
2502            YYRHSLOC (Rhs, 0).last_line;                                \
2503          (Current).first_column = (Current).last_column =              \
2504            YYRHSLOC (Rhs, 0).last_column;                              \
2505        }                                                               \
2506    while (YYID (0))
2507 #endif
2508
2509
2376   /* This macro is provided for backward compatibility. */
2511
2377   #ifndef YY_LOCATION_PRINT
2378   # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2379   #endif
2380  
2381  
2382   /* YYLEX -- calling `yylex' with the right arguments.  */
2518
2383   #ifdef YYLEX_PARAM
2384   # define YYLEX yylex (YYLEX_PARAM)
2385   #else
# Line 2975 | Line 2839 | yydestruct (yymsg, yytype, yyvaluep)
2839   }
2840  
2841  
2978 /* Prevent warnings from -Wmissing-prototypes.  */
2979 #ifdef YYPARSE_PARAM
2980 #if defined __STDC__ || defined __cplusplus
2981 int yyparse (void *YYPARSE_PARAM);
2982 #else
2983 int yyparse ();
2984 #endif
2985 #else /* ! YYPARSE_PARAM */
2986 #if defined __STDC__ || defined __cplusplus
2987 int yyparse (void);
2988 #else
2989 int yyparse ();
2990 #endif
2991 #endif /* ! YYPARSE_PARAM */
2842  
2843  
2844   /* The lookahead symbol.  */
2845   int yychar;
2846  
2847 +
2848 + #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2849 + # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2850 + # define YY_IGNORE_MAYBE_UNINITIALIZED_END
2851 + #endif
2852 + #ifndef YY_INITIAL_VALUE
2853 + # define YY_INITIAL_VALUE(Value) /* Nothing. */
2854 + #endif
2855 +
2856   /* The semantic value of the lookahead symbol.  */
2857 < YYSTYPE yylval;
2857 > YYSTYPE yylval YY_INITIAL_VALUE(yyval_default);
2858  
2859   /* Number of syntax errors so far.  */
2860   int yynerrs;
# Line 3053 | Line 2912 | yyparse ()
2912    int yyn;
2913    int yyresult;
2914    /* Lookahead token as an internal (translated) token number.  */
2915 <  int yytoken;
2915 >  int yytoken = 0;
2916    /* The variables used to return semantic value and location from the
2917       action routines.  */
2918    YYSTYPE yyval;
# Line 3071 | Line 2930 | yyparse ()
2930       Keep to zero when no symbol should be popped.  */
2931    int yylen = 0;
2932  
2933 <  yytoken = 0;
2934 <  yyss = yyssa;
3076 <  yyvs = yyvsa;
2933 >  yyssp = yyss = yyssa;
2934 >  yyvsp = yyvs = yyvsa;
2935    yystacksize = YYINITDEPTH;
2936  
2937    YYDPRINTF ((stderr, "Starting parse\n"));
# Line 3082 | Line 2940 | yyparse ()
2940    yyerrstatus = 0;
2941    yynerrs = 0;
2942    yychar = YYEMPTY; /* Cause a token to be read.  */
3085
3086  /* Initialize stack pointers.
3087     Waste one element of value and location stack
3088     so that they stay on the same level as the state stack.
3089     The wasted elements are never initialized.  */
3090  yyssp = yyss;
3091  yyvsp = yyvs;
3092
2943    goto yysetstate;
2944  
2945   /*------------------------------------------------------------.
# Line 3230 | Line 3080 | yybackup:
3080    yychar = YYEMPTY;
3081  
3082    yystate = yyn;
3083 +  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3084    *++yyvsp = yylval;
3085 +  YY_IGNORE_MAYBE_UNINITIALIZED_END
3086  
3087    goto yynewstate;
3088  
# Line 3266 | Line 3118 | yyreduce:
3118    YY_REDUCE_PRINT (yyn);
3119    switch (yyn)
3120      {
3121 <        case 27:
3122 <
3123 < /* Line 1810 of yacc.c  */
3272 < #line 384 "conf_parser.y"
3121 >        case 26:
3122 > /* Line 1778 of yacc.c  */
3123 > #line 383 "conf_parser.y"
3124      { (yyval.number) = 0; }
3125      break;
3126  
3127 <  case 29:
3128 <
3129 < /* Line 1810 of yacc.c  */
3279 < #line 386 "conf_parser.y"
3127 >  case 28:
3128 > /* Line 1778 of yacc.c  */
3129 > #line 385 "conf_parser.y"
3130      {
3131                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3132                  }
3133      break;
3134  
3135 <  case 30:
3136 <
3137 < /* Line 1810 of yacc.c  */
3288 < #line 390 "conf_parser.y"
3135 >  case 29:
3136 > /* Line 1778 of yacc.c  */
3137 > #line 389 "conf_parser.y"
3138      {
3139                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3140                  }
3141      break;
3142  
3143 <  case 31:
3144 <
3145 < /* Line 1810 of yacc.c  */
3297 < #line 394 "conf_parser.y"
3143 >  case 30:
3144 > /* Line 1778 of yacc.c  */
3145 > #line 393 "conf_parser.y"
3146      {
3147                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3148                  }
3149      break;
3150  
3151 <  case 32:
3152 <
3153 < /* Line 1810 of yacc.c  */
3306 < #line 398 "conf_parser.y"
3151 >  case 31:
3152 > /* Line 1778 of yacc.c  */
3153 > #line 397 "conf_parser.y"
3154      {
3155                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3156                  }
3157      break;
3158  
3159 <  case 33:
3160 <
3161 < /* Line 1810 of yacc.c  */
3315 < #line 402 "conf_parser.y"
3159 >  case 32:
3160 > /* Line 1778 of yacc.c  */
3161 > #line 401 "conf_parser.y"
3162      {
3163                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3164                  }
3165      break;
3166  
3167 <  case 34:
3168 <
3169 < /* Line 1810 of yacc.c  */
3324 < #line 406 "conf_parser.y"
3167 >  case 33:
3168 > /* Line 1778 of yacc.c  */
3169 > #line 405 "conf_parser.y"
3170      {
3171                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3172                  }
3173      break;
3174  
3175 <  case 35:
3175 >  case 34:
3176 > /* Line 1778 of yacc.c  */
3177 > #line 410 "conf_parser.y"
3178 >    { (yyval.number) = 0; }
3179 >    break;
3180  
3181 < /* Line 1810 of yacc.c  */
3181 >  case 36:
3182 > /* Line 1778 of yacc.c  */
3183   #line 411 "conf_parser.y"
3184 <    { (yyval.number) = 0; }
3184 >    { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3185      break;
3186  
3187    case 37:
3188 <
3339 < /* Line 1810 of yacc.c  */
3188 > /* Line 1778 of yacc.c  */
3189   #line 412 "conf_parser.y"
3190 <    { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3190 >    { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3191      break;
3192  
3193    case 38:
3194 <
3346 < /* Line 1810 of yacc.c  */
3194 > /* Line 1778 of yacc.c  */
3195   #line 413 "conf_parser.y"
3196 <    { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3196 >    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3197      break;
3198  
3199    case 39:
3200 <
3353 < /* Line 1810 of yacc.c  */
3200 > /* Line 1778 of yacc.c  */
3201   #line 414 "conf_parser.y"
3355    { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3356    break;
3357
3358  case 40:
3359
3360 /* Line 1810 of yacc.c  */
3361 #line 415 "conf_parser.y"
3202      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3203      break;
3204  
3205 <  case 47:
3206 <
3207 < /* Line 1810 of yacc.c  */
3368 < #line 429 "conf_parser.y"
3205 >  case 46:
3206 > /* Line 1778 of yacc.c  */
3207 > #line 428 "conf_parser.y"
3208      {
3209    if (conf_parser_ctx.pass == 2)
3210      add_conf_module(libio_basename(yylval.string));
3211   }
3212      break;
3213  
3214 <  case 48:
3215 <
3216 < /* Line 1810 of yacc.c  */
3378 < #line 435 "conf_parser.y"
3214 >  case 47:
3215 > /* Line 1778 of yacc.c  */
3216 > #line 434 "conf_parser.y"
3217      {
3218    if (conf_parser_ctx.pass == 2)
3219      mod_add_path(yylval.string);
3220   }
3221      break;
3222  
3223 <  case 72:
3224 <
3225 < /* Line 1810 of yacc.c  */
3388 < #line 460 "conf_parser.y"
3223 >  case 71:
3224 > /* Line 1778 of yacc.c  */
3225 > #line 459 "conf_parser.y"
3226      {
3227   #ifdef HAVE_LIBCRYPTO
3228    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 3394 | Line 3231 | yyreduce:
3231   }
3232      break;
3233  
3234 <  case 73:
3235 <
3236 < /* Line 1810 of yacc.c  */
3400 < #line 466 "conf_parser.y"
3234 >  case 72:
3235 > /* Line 1778 of yacc.c  */
3236 > #line 465 "conf_parser.y"
3237      {
3238   #ifdef HAVE_LIBCRYPTO
3239    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 3406 | Line 3242 | yyreduce:
3242   }
3243      break;
3244  
3245 <  case 76:
3246 <
3247 < /* Line 1810 of yacc.c  */
3412 < #line 475 "conf_parser.y"
3245 >  case 75:
3246 > /* Line 1778 of yacc.c  */
3247 > #line 474 "conf_parser.y"
3248      {
3249   #ifdef HAVE_LIBCRYPTO
3250    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3418 | Line 3253 | yyreduce:
3253   }
3254      break;
3255  
3256 <  case 77:
3257 <
3258 < /* Line 1810 of yacc.c  */
3424 < #line 481 "conf_parser.y"
3256 >  case 76:
3257 > /* Line 1778 of yacc.c  */
3258 > #line 480 "conf_parser.y"
3259      {
3260   #ifdef HAVE_LIBCRYPTO
3261    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3430 | Line 3264 | yyreduce:
3264   }
3265      break;
3266  
3267 <  case 78:
3268 <
3269 < /* Line 1810 of yacc.c  */
3436 < #line 489 "conf_parser.y"
3267 >  case 77:
3268 > /* Line 1778 of yacc.c  */
3269 > #line 488 "conf_parser.y"
3270      {
3271   #ifdef HAVE_LIBCRYPTO
3272    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3473 | Line 3306 | yyreduce:
3306   }
3307      break;
3308  
3309 <  case 79:
3310 <
3311 < /* Line 1810 of yacc.c  */
3479 < #line 528 "conf_parser.y"
3309 >  case 78:
3310 > /* Line 1778 of yacc.c  */
3311 > #line 527 "conf_parser.y"
3312      {
3313   #ifdef HAVE_LIBCRYPTO
3314    if (conf_parser_ctx.pass == 1)
# Line 3495 | Line 3327 | yyreduce:
3327        ServerInfo.rsa_private_key_file = NULL;
3328      }
3329  
3330 <    DupString(ServerInfo.rsa_private_key_file, yylval.string);
3330 >    ServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3331  
3332      if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3333      {
# Line 3536 | Line 3368 | yyreduce:
3368   }
3369      break;
3370  
3371 <  case 80:
3372 <
3373 < /* Line 1810 of yacc.c  */
3542 < #line 587 "conf_parser.y"
3371 >  case 79:
3372 > /* Line 1778 of yacc.c  */
3373 > #line 586 "conf_parser.y"
3374      {
3375   /* TBD - XXX: error reporting */
3376   #ifdef HAVE_LIBCRYPTO
# Line 3568 | Line 3399 | yyreduce:
3399   }
3400      break;
3401  
3402 <  case 81:
3403 <
3404 < /* Line 1810 of yacc.c  */
3574 < #line 615 "conf_parser.y"
3402 >  case 80:
3403 > /* Line 1778 of yacc.c  */
3404 > #line 614 "conf_parser.y"
3405      {
3406   #ifdef HAVE_LIBCRYPTO
3407    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3580 | Line 3410 | yyreduce:
3410   }
3411      break;
3412  
3413 <  case 82:
3414 <
3415 < /* Line 1810 of yacc.c  */
3586 < #line 623 "conf_parser.y"
3413 >  case 81:
3414 > /* Line 1778 of yacc.c  */
3415 > #line 622 "conf_parser.y"
3416      {
3417    /* this isn't rehashable */
3418    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
3419    {
3420      if (valid_servname(yylval.string))
3421 <      DupString(ServerInfo.name, yylval.string);
3421 >      ServerInfo.name = xstrdup(yylval.string);
3422      else
3423      {
3424        ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
# Line 3599 | Line 3428 | yyreduce:
3428   }
3429      break;
3430  
3431 <  case 83:
3432 <
3433 < /* Line 1810 of yacc.c  */
3605 < #line 638 "conf_parser.y"
3431 >  case 82:
3432 > /* Line 1778 of yacc.c  */
3433 > #line 637 "conf_parser.y"
3434      {
3435    /* this isn't rehashable */
3436    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
3437    {
3438      if (valid_sid(yylval.string))
3439 <      DupString(ServerInfo.sid, yylval.string);
3439 >      ServerInfo.sid = xstrdup(yylval.string);
3440      else
3441      {
3442        ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
# Line 3618 | Line 3446 | yyreduce:
3446   }
3447      break;
3448  
3449 <  case 84:
3450 <
3451 < /* Line 1810 of yacc.c  */
3624 < #line 653 "conf_parser.y"
3449 >  case 83:
3450 > /* Line 1778 of yacc.c  */
3451 > #line 652 "conf_parser.y"
3452      {
3453    if (conf_parser_ctx.pass == 2)
3454    {
3455      MyFree(ServerInfo.description);
3456 <    DupString(ServerInfo.description,yylval.string);
3456 >    ServerInfo.description = xstrdup(yylval.string);
3457    }
3458   }
3459      break;
3460  
3461 <  case 85:
3462 <
3463 < /* Line 1810 of yacc.c  */
3637 < #line 662 "conf_parser.y"
3461 >  case 84:
3462 > /* Line 1778 of yacc.c  */
3463 > #line 661 "conf_parser.y"
3464      {
3465    if (conf_parser_ctx.pass == 2)
3466    {
# Line 3644 | Line 3470 | yyreduce:
3470        p = '\0';
3471  
3472      MyFree(ServerInfo.network_name);
3473 <    DupString(ServerInfo.network_name, yylval.string);
3473 >    ServerInfo.network_name = xstrdup(yylval.string);
3474    }
3475   }
3476      break;
3477  
3478 <  case 86:
3479 <
3480 < /* Line 1810 of yacc.c  */
3655 < #line 676 "conf_parser.y"
3478 >  case 85:
3479 > /* Line 1778 of yacc.c  */
3480 > #line 675 "conf_parser.y"
3481      {
3482    if (conf_parser_ctx.pass == 2)
3483    {
3484      MyFree(ServerInfo.network_desc);
3485 <    DupString(ServerInfo.network_desc, yylval.string);
3485 >    ServerInfo.network_desc = xstrdup(yylval.string);
3486    }
3487   }
3488      break;
3489  
3490 <  case 87:
3491 <
3492 < /* Line 1810 of yacc.c  */
3668 < #line 685 "conf_parser.y"
3490 >  case 86:
3491 > /* Line 1778 of yacc.c  */
3492 > #line 684 "conf_parser.y"
3493      {
3494    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3495    {
# Line 3694 | Line 3518 | yyreduce:
3518   }
3519      break;
3520  
3521 <  case 88:
3522 <
3523 < /* Line 1810 of yacc.c  */
3700 < #line 713 "conf_parser.y"
3521 >  case 87:
3522 > /* Line 1778 of yacc.c  */
3523 > #line 712 "conf_parser.y"
3524      {
3525   #ifdef IPV6
3526    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3728 | Line 3551 | yyreduce:
3551   }
3552      break;
3553  
3554 <  case 89:
3555 <
3556 < /* Line 1810 of yacc.c  */
3734 < #line 743 "conf_parser.y"
3554 >  case 88:
3555 > /* Line 1778 of yacc.c  */
3556 > #line 742 "conf_parser.y"
3557      {
3558    if (conf_parser_ctx.pass == 2)
3559    {
# Line 3755 | Line 3577 | yyreduce:
3577   }
3578      break;
3579  
3580 <  case 90:
3581 <
3582 < /* Line 1810 of yacc.c  */
3761 < #line 766 "conf_parser.y"
3580 >  case 89:
3581 > /* Line 1778 of yacc.c  */
3582 > #line 765 "conf_parser.y"
3583      {
3584    if (conf_parser_ctx.pass == 2)
3585      ServerInfo.hub = yylval.number;
3586   }
3587      break;
3588  
3589 <  case 98:
3590 <
3591 < /* Line 1810 of yacc.c  */
3771 < #line 781 "conf_parser.y"
3589 >  case 97:
3590 > /* Line 1778 of yacc.c  */
3591 > #line 780 "conf_parser.y"
3592      {
3593    if (conf_parser_ctx.pass == 2)
3594    {
3595      MyFree(AdminInfo.name);
3596 <    DupString(AdminInfo.name, yylval.string);
3596 >    AdminInfo.name = xstrdup(yylval.string);
3597    }
3598   }
3599      break;
3600  
3601 <  case 99:
3602 <
3603 < /* Line 1810 of yacc.c  */
3784 < #line 790 "conf_parser.y"
3601 >  case 98:
3602 > /* Line 1778 of yacc.c  */
3603 > #line 789 "conf_parser.y"
3604      {
3605    if (conf_parser_ctx.pass == 2)
3606    {
3607      MyFree(AdminInfo.email);
3608 <    DupString(AdminInfo.email, yylval.string);
3608 >    AdminInfo.email = xstrdup(yylval.string);
3609    }
3610   }
3611      break;
3612  
3613 <  case 100:
3614 <
3615 < /* Line 1810 of yacc.c  */
3797 < #line 799 "conf_parser.y"
3613 >  case 99:
3614 > /* Line 1778 of yacc.c  */
3615 > #line 798 "conf_parser.y"
3616      {
3617    if (conf_parser_ctx.pass == 2)
3618    {
3619      MyFree(AdminInfo.description);
3620 <    DupString(AdminInfo.description, yylval.string);
3620 >    AdminInfo.description = xstrdup(yylval.string);
3621    }
3622   }
3623      break;
3624  
3625 <  case 107:
3626 <
3627 < /* Line 1810 of yacc.c  */
3810 < #line 817 "conf_parser.y"
3625 >  case 106:
3626 > /* Line 1778 of yacc.c  */
3627 > #line 816 "conf_parser.y"
3628      {
3629    if (conf_parser_ctx.pass == 2)
3630      ConfigLoggingEntry.use_logging = yylval.number;
3631   }
3632      break;
3633  
3634 <  case 108:
3635 <
3636 < /* Line 1810 of yacc.c  */
3820 < #line 823 "conf_parser.y"
3634 >  case 107:
3635 > /* Line 1778 of yacc.c  */
3636 > #line 822 "conf_parser.y"
3637      {
3638 <  lfile[0] = '\0';
3639 <  ltype = 0;
3824 <  lsize = 0;
3638 >  if (conf_parser_ctx.pass == 2)
3639 >    reset_block_state();
3640   }
3641      break;
3642  
3643 <  case 109:
3643 >  case 108:
3644 > /* Line 1778 of yacc.c  */
3645 > #line 826 "conf_parser.y"
3646 >    {
3647 >  if (conf_parser_ctx.pass != 2)
3648 >    break;
3649 >
3650 >  if (block_state.type.value && block_state.file.buf[0])
3651 >    log_add_file(block_state.type.value, block_state.size.value,
3652 >                 block_state.file.buf);
3653 > }
3654 >    break;
3655  
3656 < /* Line 1810 of yacc.c  */
3657 < #line 828 "conf_parser.y"
3656 >  case 115:
3657 > /* Line 1778 of yacc.c  */
3658 > #line 842 "conf_parser.y"
3659      {
3660 <  if (conf_parser_ctx.pass == 2 && ltype > 0)
3661 <    log_add_file(ltype, lsize, lfile);
3660 >  if (conf_parser_ctx.pass != 2)
3661 >    break;
3662 >
3663 >  strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3664   }
3665      break;
3666  
3667    case 116:
3668 <
3669 < /* Line 1810 of yacc.c  */
3841 < #line 840 "conf_parser.y"
3668 > /* Line 1778 of yacc.c  */
3669 > #line 850 "conf_parser.y"
3670      {
3671 <  strlcpy(lfile, yylval.string, sizeof(lfile));
3671 >  block_state.size.value = (yyvsp[(3) - (4)].number);
3672   }
3673      break;
3674  
3675    case 117:
3676 <
3677 < /* Line 1810 of yacc.c  */
3850 < #line 845 "conf_parser.y"
3676 > /* Line 1778 of yacc.c  */
3677 > #line 853 "conf_parser.y"
3678      {
3679 <  lsize = (yyvsp[(3) - (4)].number);
3679 >  block_state.size.value = 0;
3680   }
3681      break;
3682  
3683    case 118:
3684 <
3685 < /* Line 1810 of yacc.c  */
3859 < #line 848 "conf_parser.y"
3684 > /* Line 1778 of yacc.c  */
3685 > #line 858 "conf_parser.y"
3686      {
3687 <  lsize = 0;
3687 >  if (conf_parser_ctx.pass == 2)
3688 >    block_state.type.value = 0;
3689   }
3690      break;
3691  
3692 <  case 119:
3693 <
3694 < /* Line 1810 of yacc.c  */
3868 < #line 853 "conf_parser.y"
3692 >  case 122:
3693 > /* Line 1778 of yacc.c  */
3694 > #line 865 "conf_parser.y"
3695      {
3696    if (conf_parser_ctx.pass == 2)
3697 <    ltype = 0;
3697 >    block_state.type.value = LOG_TYPE_USER;
3698   }
3699      break;
3700  
3701    case 123:
3702 <
3703 < /* Line 1810 of yacc.c  */
3878 < #line 860 "conf_parser.y"
3702 > /* Line 1778 of yacc.c  */
3703 > #line 869 "conf_parser.y"
3704      {
3705    if (conf_parser_ctx.pass == 2)
3706 <    ltype = LOG_TYPE_USER;
3706 >    block_state.type.value = LOG_TYPE_OPER;
3707   }
3708      break;
3709  
3710    case 124:
3711 <
3712 < /* Line 1810 of yacc.c  */
3888 < #line 864 "conf_parser.y"
3711 > /* Line 1778 of yacc.c  */
3712 > #line 873 "conf_parser.y"
3713      {
3714    if (conf_parser_ctx.pass == 2)
3715 <    ltype = LOG_TYPE_OPER;
3715 >    block_state.type.value = LOG_TYPE_GLINE;
3716   }
3717      break;
3718  
3719    case 125:
3720 <
3721 < /* Line 1810 of yacc.c  */
3898 < #line 868 "conf_parser.y"
3720 > /* Line 1778 of yacc.c  */
3721 > #line 877 "conf_parser.y"
3722      {
3723    if (conf_parser_ctx.pass == 2)
3724 <    ltype = LOG_TYPE_GLINE;
3724 >    block_state.type.value = LOG_TYPE_DLINE;
3725   }
3726      break;
3727  
3728    case 126:
3729 <
3730 < /* Line 1810 of yacc.c  */
3908 < #line 872 "conf_parser.y"
3729 > /* Line 1778 of yacc.c  */
3730 > #line 881 "conf_parser.y"
3731      {
3732    if (conf_parser_ctx.pass == 2)
3733 <    ltype = LOG_TYPE_DLINE;
3733 >    block_state.type.value = LOG_TYPE_KLINE;
3734   }
3735      break;
3736  
3737    case 127:
3738 <
3739 < /* Line 1810 of yacc.c  */
3918 < #line 876 "conf_parser.y"
3738 > /* Line 1778 of yacc.c  */
3739 > #line 885 "conf_parser.y"
3740      {
3741    if (conf_parser_ctx.pass == 2)
3742 <    ltype = LOG_TYPE_KLINE;
3742 >    block_state.type.value = LOG_TYPE_KILL;
3743   }
3744      break;
3745  
3746    case 128:
3747 <
3748 < /* Line 1810 of yacc.c  */
3928 < #line 880 "conf_parser.y"
3747 > /* Line 1778 of yacc.c  */
3748 > #line 889 "conf_parser.y"
3749      {
3750    if (conf_parser_ctx.pass == 2)
3751 <    ltype = LOG_TYPE_KILL;
3751 >    block_state.type.value = LOG_TYPE_DEBUG;
3752   }
3753      break;
3754  
3755    case 129:
3756 <
3757 < /* Line 1810 of yacc.c  */
3938 < #line 884 "conf_parser.y"
3756 > /* Line 1778 of yacc.c  */
3757 > #line 899 "conf_parser.y"
3758      {
3759 <  if (conf_parser_ctx.pass == 2)
3941 <    ltype = LOG_TYPE_DEBUG;
3942 < }
3759 >  if (conf_parser_ctx.pass != 2)
3760      break;
3761  
3762 <  case 130:
3763 <
3947 < /* Line 1810 of yacc.c  */
3948 < #line 894 "conf_parser.y"
3949 <    {
3950 <  if (conf_parser_ctx.pass == 2)
3951 <  {
3952 <    yy_conf = make_conf_item(OPER_TYPE);
3953 <    yy_aconf = map_to_conf(yy_conf);
3954 <    SetConfEncrypted(yy_aconf); /* Yes, the default is encrypted */
3955 <  }
3956 <  else
3957 <  {
3958 <    MyFree(class_name);
3959 <    class_name = NULL;
3960 <  }
3762 >  reset_block_state();
3763 >  block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3764   }
3765      break;
3766  
3767 <  case 131:
3768 <
3769 < /* Line 1810 of yacc.c  */
3967 < #line 907 "conf_parser.y"
3767 >  case 130:
3768 > /* Line 1778 of yacc.c  */
3769 > #line 906 "conf_parser.y"
3770      {
3771 <  if (conf_parser_ctx.pass == 2)
3970 <  {
3971 <    struct CollectItem *yy_tmp;
3972 <    dlink_node *ptr;
3973 <    dlink_node *next_ptr;
3974 <
3975 <    conf_add_class_to_conf(yy_conf, class_name);
3976 <
3977 <    /* Now, make sure there is a copy of the "base" given oper
3978 <     * block in each of the collected copies
3979 <     */
3771 >  dlink_node *ptr = NULL;
3772  
3773 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
3774 <    {
3983 <      struct AccessItem *new_aconf;
3984 <      struct ConfItem *new_conf;
3985 <      yy_tmp = ptr->data;
3773 >  if (conf_parser_ctx.pass != 2)
3774 >    break;
3775  
3776 <      new_conf = make_conf_item(OPER_TYPE);
3777 <      new_aconf = (struct AccessItem *)map_to_conf(new_conf);
3776 >  if (!block_state.name.buf[0])
3777 >    break;
3778 > #ifdef HAVE_LIBCRYPTO
3779 >  if (!(block_state.file.buf[0] ||
3780 >        block_state.rpass.buf[0]))
3781 >    break;
3782 > #else
3783 >  if (!block_state.rpass.buf[0])
3784 >    break;
3785 > #endif
3786  
3787 <      new_aconf->flags = yy_aconf->flags;
3787 >  DLINK_FOREACH(ptr, block_state.mask.list.head)
3788 >  {
3789 >    struct MaskItem *conf = NULL;
3790 >    struct split_nuh_item nuh;
3791  
3792 <      if (yy_conf->name != NULL)
3793 <        DupString(new_conf->name, yy_conf->name);
3794 <      if (yy_tmp->user != NULL)
3795 <        DupString(new_aconf->user, yy_tmp->user);
3796 <      else
3797 <        DupString(new_aconf->user, "*");
3798 <      if (yy_tmp->host != NULL)
3799 <        DupString(new_aconf->host, yy_tmp->host);
4000 <      else
4001 <        DupString(new_aconf->host, "*");
3792 >    nuh.nuhmask  = ptr->data;
3793 >    nuh.nickptr  = NULL;
3794 >    nuh.userptr  = block_state.user.buf;
3795 >    nuh.hostptr  = block_state.host.buf;
3796 >    nuh.nicksize = 0;
3797 >    nuh.usersize = sizeof(block_state.user.buf);
3798 >    nuh.hostsize = sizeof(block_state.host.buf);
3799 >    split_nuh(&nuh);
3800  
3801 <      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->addr,
3802 <                                     &new_aconf->bits);
3801 >    conf        = conf_make(CONF_OPER);
3802 >    conf->name  = xstrdup(block_state.name.buf);
3803 >    conf->user  = xstrdup(block_state.user.buf);
3804 >    conf->host  = xstrdup(block_state.host.buf);
3805 >
3806 >    if (block_state.rpass.buf[0])
3807 >      conf->passwd = xstrdup(block_state.rpass.buf);
3808 >
3809 >    conf->flags = block_state.flags.value;
3810 >    conf->modes = block_state.modes.value;
3811 >    conf->port  = block_state.port.value;
3812 >    conf->htype = parse_netmask(conf->host, &conf->addr, &conf->bits);
3813  
3814 <      conf_add_class_to_conf(new_conf, class_name);
4007 <      if (yy_aconf->passwd != NULL)
4008 <        DupString(new_aconf->passwd, yy_aconf->passwd);
3814 >    conf_add_class_to_conf(conf, block_state.class.buf);
3815  
4010      new_aconf->port = yy_aconf->port;
3816   #ifdef HAVE_LIBCRYPTO
3817 <      if (yy_aconf->rsa_public_key_file != NULL)
3818 <      {
3819 <        BIO *file;
3820 <
4016 <        DupString(new_aconf->rsa_public_key_file,
4017 <                  yy_aconf->rsa_public_key_file);
3817 >    if (block_state.file.buf[0])
3818 >    {
3819 >      BIO *file = NULL;
3820 >      RSA *pkey = NULL;
3821  
3822 <        file = BIO_new_file(yy_aconf->rsa_public_key_file, "r");
3823 <        new_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file,
3824 <                                                           NULL, 0, NULL);
3825 <        BIO_set_close(file, BIO_CLOSE);
4023 <        BIO_free(file);
3822 >      if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3823 >      {
3824 >        yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
3825 >        break;
3826        }
4025 #endif
3827  
3828 < #ifdef HAVE_LIBCRYPTO
4028 <      if (yy_tmp->name && (yy_tmp->passwd || yy_aconf->rsa_public_key)
4029 <          && yy_tmp->host)
4030 < #else
4031 <      if (yy_tmp->name && yy_tmp->passwd && yy_tmp->host)
4032 < #endif
3828 >      if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3829        {
3830 <        conf_add_class_to_conf(new_conf, class_name);
3831 <        if (yy_tmp->name != NULL)
4036 <          DupString(new_conf->name, yy_tmp->name);
3830 >        yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3831 >        break;
3832        }
3833  
3834 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
3835 <      free_collect_item(yy_tmp);
3834 >      conf->rsa_public_key = pkey;
3835 >      BIO_set_close(file, BIO_CLOSE);
3836 >      BIO_free(file);
3837      }
3838 <
4043 <    yy_conf = NULL;
4044 <    yy_aconf = NULL;
4045 <
4046 <
4047 <    MyFree(class_name);
4048 <    class_name = NULL;
3838 > #endif /* HAVE_LIBCRYPTO */
3839    }
3840   }
3841      break;
3842  
3843 <  case 143:
3844 <
3845 < /* Line 1810 of yacc.c  */
4056 < #line 997 "conf_parser.y"
3843 >  case 142:
3844 > /* Line 1778 of yacc.c  */
3845 > #line 984 "conf_parser.y"
3846      {
3847    if (conf_parser_ctx.pass == 2)
3848 <  {
4060 <    MyFree(yy_conf->name);
4061 <    DupString(yy_conf->name, yylval.string);
4062 <  }
3848 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3849   }
3850      break;
3851  
3852 <  case 144:
3853 <
3854 < /* Line 1810 of yacc.c  */
4069 < #line 1006 "conf_parser.y"
3852 >  case 143:
3853 > /* Line 1778 of yacc.c  */
3854 > #line 990 "conf_parser.y"
3855      {
3856    if (conf_parser_ctx.pass == 2)
3857 <  {
3858 <    struct split_nuh_item nuh;
3859 <
4075 <    nuh.nuhmask  = yylval.string;
4076 <    nuh.nickptr  = NULL;
4077 <    nuh.userptr  = userbuf;
4078 <    nuh.hostptr  = hostbuf;
4079 <
4080 <    nuh.nicksize = 0;
4081 <    nuh.usersize = sizeof(userbuf);
4082 <    nuh.hostsize = sizeof(hostbuf);
4083 <
4084 <    split_nuh(&nuh);
4085 <
4086 <    if (yy_aconf->user == NULL)
4087 <    {
4088 <      DupString(yy_aconf->user, userbuf);
4089 <      DupString(yy_aconf->host, hostbuf);
3857 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3858 > }
3859 >    break;
3860  
3861 <      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->addr,
3862 <                                    &yy_aconf->bits);
3863 <    }
4094 <    else
3861 >  case 144:
3862 > /* Line 1778 of yacc.c  */
3863 > #line 996 "conf_parser.y"
3864      {
3865 <      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
3866 <
4098 <      DupString(yy_tmp->user, userbuf);
4099 <      DupString(yy_tmp->host, hostbuf);
4100 <
4101 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
4102 <    }
4103 <  }
3865 >  if (conf_parser_ctx.pass == 2)
3866 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3867   }
3868      break;
3869  
3870    case 145:
3871 <
3872 < /* Line 1810 of yacc.c  */
4110 < #line 1043 "conf_parser.y"
3871 > /* Line 1778 of yacc.c  */
3872 > #line 1002 "conf_parser.y"
3873      {
3874    if (conf_parser_ctx.pass == 2)
3875    {
3876 <    if (yy_aconf->passwd != NULL)
3877 <      memset(yy_aconf->passwd, 0, strlen(yy_aconf->passwd));
3878 <
3879 <    MyFree(yy_aconf->passwd);
4118 <    DupString(yy_aconf->passwd, yylval.string);
3876 >    if (yylval.number)
3877 >      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3878 >    else
3879 >      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3880    }
3881   }
3882      break;
3883  
3884    case 146:
3885 <
3886 < /* Line 1810 of yacc.c  */
4126 < #line 1055 "conf_parser.y"
3885 > /* Line 1778 of yacc.c  */
3886 > #line 1013 "conf_parser.y"
3887      {
3888    if (conf_parser_ctx.pass == 2)
3889 <  {
4130 <    if (yylval.number)
4131 <      SetConfEncrypted(yy_aconf);
4132 <    else
4133 <      ClearConfEncrypted(yy_aconf);
4134 <  }
3889 >    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3890   }
3891      break;
3892  
3893    case 147:
3894 <
3895 < /* Line 1810 of yacc.c  */
4141 < #line 1066 "conf_parser.y"
3894 > /* Line 1778 of yacc.c  */
3895 > #line 1019 "conf_parser.y"
3896      {
4143 #ifdef HAVE_LIBCRYPTO
3897    if (conf_parser_ctx.pass == 2)
3898 <  {
4146 <    BIO *file;
4147 <
4148 <    if (yy_aconf->rsa_public_key != NULL)
4149 <    {
4150 <      RSA_free(yy_aconf->rsa_public_key);
4151 <      yy_aconf->rsa_public_key = NULL;
4152 <    }
4153 <
4154 <    if (yy_aconf->rsa_public_key_file != NULL)
4155 <    {
4156 <      MyFree(yy_aconf->rsa_public_key_file);
4157 <      yy_aconf->rsa_public_key_file = NULL;
4158 <    }
4159 <
4160 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
4161 <    file = BIO_new_file(yylval.string, "r");
4162 <
4163 <    if (file == NULL)
4164 <    {
4165 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
4166 <      break;
4167 <    }
4168 <
4169 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
4170 <
4171 <    if (yy_aconf->rsa_public_key == NULL)
4172 <    {
4173 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
4174 <      break;
4175 <    }
4176 <
4177 <    BIO_set_close(file, BIO_CLOSE);
4178 <    BIO_free(file);
4179 <  }
4180 < #endif /* HAVE_LIBCRYPTO */
3898 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3899   }
3900      break;
3901  
3902    case 148:
3903 <
3904 < /* Line 1810 of yacc.c  */
4187 < #line 1108 "conf_parser.y"
3903 > /* Line 1778 of yacc.c  */
3904 > #line 1025 "conf_parser.y"
3905      {
3906    if (conf_parser_ctx.pass == 2)
3907 <  {
4191 <    MyFree(class_name);
4192 <    DupString(class_name, yylval.string);
4193 <  }
3907 >    block_state.modes.value = 0;
3908   }
3909      break;
3910  
3911 <  case 149:
3912 <
3913 < /* Line 1810 of yacc.c  */
4200 < #line 1117 "conf_parser.y"
3911 >  case 152:
3912 > /* Line 1778 of yacc.c  */
3913 > #line 1032 "conf_parser.y"
3914      {
3915    if (conf_parser_ctx.pass == 2)
3916 <    yy_aconf->modes = 0;
3916 >    block_state.modes.value |= UMODE_BOTS;
3917   }
3918      break;
3919  
3920    case 153:
3921 <
3922 < /* Line 1810 of yacc.c  */
4210 < #line 1124 "conf_parser.y"
3921 > /* Line 1778 of yacc.c  */
3922 > #line 1036 "conf_parser.y"
3923      {
3924    if (conf_parser_ctx.pass == 2)
3925 <    yy_aconf->modes |= UMODE_BOTS;
3925 >    block_state.modes.value |= UMODE_CCONN;
3926   }
3927      break;
3928  
3929    case 154:
3930 <
3931 < /* Line 1810 of yacc.c  */
4220 < #line 1128 "conf_parser.y"
3930 > /* Line 1778 of yacc.c  */
3931 > #line 1040 "conf_parser.y"
3932      {
3933    if (conf_parser_ctx.pass == 2)
3934 <    yy_aconf->modes |= UMODE_CCONN;
3934 >    block_state.modes.value |= UMODE_CCONN_FULL;
3935   }
3936      break;
3937  
3938    case 155:
3939 <
3940 < /* Line 1810 of yacc.c  */
4230 < #line 1132 "conf_parser.y"
3939 > /* Line 1778 of yacc.c  */
3940 > #line 1044 "conf_parser.y"
3941      {
3942    if (conf_parser_ctx.pass == 2)
3943 <    yy_aconf->modes |= UMODE_CCONN_FULL;
3943 >    block_state.modes.value |= UMODE_DEAF;
3944   }
3945      break;
3946  
3947    case 156:
3948 <
3949 < /* Line 1810 of yacc.c  */
4240 < #line 1136 "conf_parser.y"
3948 > /* Line 1778 of yacc.c  */
3949 > #line 1048 "conf_parser.y"
3950      {
3951    if (conf_parser_ctx.pass == 2)
3952 <    yy_aconf->modes |= UMODE_DEAF;
3952 >    block_state.modes.value |= UMODE_DEBUG;
3953   }
3954      break;
3955  
3956    case 157:
3957 <
3958 < /* Line 1810 of yacc.c  */
4250 < #line 1140 "conf_parser.y"
3957 > /* Line 1778 of yacc.c  */
3958 > #line 1052 "conf_parser.y"
3959      {
3960    if (conf_parser_ctx.pass == 2)
3961 <    yy_aconf->modes |= UMODE_DEBUG;
3961 >    block_state.modes.value |= UMODE_FULL;
3962   }
3963      break;
3964  
3965    case 158:
3966 <
3967 < /* Line 1810 of yacc.c  */
4260 < #line 1144 "conf_parser.y"
3966 > /* Line 1778 of yacc.c  */
3967 > #line 1056 "conf_parser.y"
3968      {
3969    if (conf_parser_ctx.pass == 2)
3970 <    yy_aconf->modes |= UMODE_FULL;
3970 >    block_state.modes.value |= UMODE_HIDDEN;
3971   }
3972      break;
3973  
3974    case 159:
3975 <
3976 < /* Line 1810 of yacc.c  */
4270 < #line 1148 "conf_parser.y"
3975 > /* Line 1778 of yacc.c  */
3976 > #line 1060 "conf_parser.y"
3977      {
3978    if (conf_parser_ctx.pass == 2)
3979 <    yy_aconf->modes |= UMODE_HIDDEN;
3979 >    block_state.modes.value |= UMODE_SKILL;
3980   }
3981      break;
3982  
3983    case 160:
3984 <
3985 < /* Line 1810 of yacc.c  */
4280 < #line 1152 "conf_parser.y"
3984 > /* Line 1778 of yacc.c  */
3985 > #line 1064 "conf_parser.y"
3986      {
3987    if (conf_parser_ctx.pass == 2)
3988 <    yy_aconf->modes |= UMODE_SKILL;
3988 >    block_state.modes.value |= UMODE_NCHANGE;
3989   }
3990      break;
3991  
3992    case 161:
3993 <
3994 < /* Line 1810 of yacc.c  */
4290 < #line 1156 "conf_parser.y"
3993 > /* Line 1778 of yacc.c  */
3994 > #line 1068 "conf_parser.y"
3995      {
3996    if (conf_parser_ctx.pass == 2)
3997 <    yy_aconf->modes |= UMODE_NCHANGE;
3997 >    block_state.modes.value |= UMODE_REJ;
3998   }
3999      break;
4000  
4001    case 162:
4002 <
4003 < /* Line 1810 of yacc.c  */
4300 < #line 1160 "conf_parser.y"
4002 > /* Line 1778 of yacc.c  */
4003 > #line 1072 "conf_parser.y"
4004      {
4005    if (conf_parser_ctx.pass == 2)
4006 <    yy_aconf->modes |= UMODE_REJ;
4006 >    block_state.modes.value |= UMODE_UNAUTH;
4007   }
4008      break;
4009  
4010    case 163:
4011 <
4012 < /* Line 1810 of yacc.c  */
4310 < #line 1164 "conf_parser.y"
4011 > /* Line 1778 of yacc.c  */
4012 > #line 1076 "conf_parser.y"
4013      {
4014    if (conf_parser_ctx.pass == 2)
4015 <    yy_aconf->modes |= UMODE_UNAUTH;
4015 >    block_state.modes.value |= UMODE_SPY;
4016   }
4017      break;
4018  
4019    case 164:
4020 <
4021 < /* Line 1810 of yacc.c  */
4320 < #line 1168 "conf_parser.y"
4020 > /* Line 1778 of yacc.c  */
4021 > #line 1080 "conf_parser.y"
4022      {
4023    if (conf_parser_ctx.pass == 2)
4024 <    yy_aconf->modes |= UMODE_SPY;
4024 >    block_state.modes.value |= UMODE_EXTERNAL;
4025   }
4026      break;
4027  
4028    case 165:
4029 <
4030 < /* Line 1810 of yacc.c  */
4330 < #line 1172 "conf_parser.y"
4029 > /* Line 1778 of yacc.c  */
4030 > #line 1084 "conf_parser.y"
4031      {
4032    if (conf_parser_ctx.pass == 2)
4033 <    yy_aconf->modes |= UMODE_EXTERNAL;
4033 >    block_state.modes.value |= UMODE_OPERWALL;
4034   }
4035      break;
4036  
4037    case 166:
4038 <
4039 < /* Line 1810 of yacc.c  */
4340 < #line 1176 "conf_parser.y"
4038 > /* Line 1778 of yacc.c  */
4039 > #line 1088 "conf_parser.y"
4040      {
4041    if (conf_parser_ctx.pass == 2)
4042 <    yy_aconf->modes |= UMODE_OPERWALL;
4042 >    block_state.modes.value |= UMODE_SERVNOTICE;
4043   }
4044      break;
4045  
4046    case 167:
4047 <
4048 < /* Line 1810 of yacc.c  */
4350 < #line 1180 "conf_parser.y"
4047 > /* Line 1778 of yacc.c  */
4048 > #line 1092 "conf_parser.y"
4049      {
4050    if (conf_parser_ctx.pass == 2)
4051 <    yy_aconf->modes |= UMODE_SERVNOTICE;
4051 >    block_state.modes.value |= UMODE_INVISIBLE;
4052   }
4053      break;
4054  
4055    case 168:
4056 <
4057 < /* Line 1810 of yacc.c  */
4360 < #line 1184 "conf_parser.y"
4056 > /* Line 1778 of yacc.c  */
4057 > #line 1096 "conf_parser.y"
4058      {
4059    if (conf_parser_ctx.pass == 2)
4060 <    yy_aconf->modes |= UMODE_INVISIBLE;
4060 >    block_state.modes.value |= UMODE_WALLOP;
4061   }
4062      break;
4063  
4064    case 169:
4065 <
4066 < /* Line 1810 of yacc.c  */
4370 < #line 1188 "conf_parser.y"
4065 > /* Line 1778 of yacc.c  */
4066 > #line 1100 "conf_parser.y"
4067      {
4068    if (conf_parser_ctx.pass == 2)
4069 <    yy_aconf->modes |= UMODE_WALLOP;
4069 >    block_state.modes.value |= UMODE_SOFTCALLERID;
4070   }
4071      break;
4072  
4073    case 170:
4074 <
4075 < /* Line 1810 of yacc.c  */
4380 < #line 1192 "conf_parser.y"
4074 > /* Line 1778 of yacc.c  */
4075 > #line 1104 "conf_parser.y"
4076      {
4077    if (conf_parser_ctx.pass == 2)
4078 <    yy_aconf->modes |= UMODE_SOFTCALLERID;
4078 >    block_state.modes.value |= UMODE_CALLERID;
4079   }
4080      break;
4081  
4082    case 171:
4083 <
4084 < /* Line 1810 of yacc.c  */
4390 < #line 1196 "conf_parser.y"
4083 > /* Line 1778 of yacc.c  */
4084 > #line 1108 "conf_parser.y"
4085      {
4086    if (conf_parser_ctx.pass == 2)
4087 <    yy_aconf->modes |= UMODE_CALLERID;
4087 >    block_state.modes.value |= UMODE_LOCOPS;
4088   }
4089      break;
4090  
4091    case 172:
4092 <
4093 < /* Line 1810 of yacc.c  */
4400 < #line 1200 "conf_parser.y"
4092 > /* Line 1778 of yacc.c  */
4093 > #line 1114 "conf_parser.y"
4094      {
4095    if (conf_parser_ctx.pass == 2)
4096 <    yy_aconf->modes |= UMODE_LOCOPS;
4096 >    block_state.port.value = 0;
4097   }
4098      break;
4099  
4100 <  case 173:
4101 <
4102 < /* Line 1810 of yacc.c  */
4410 < #line 1206 "conf_parser.y"
4100 >  case 176:
4101 > /* Line 1778 of yacc.c  */
4102 > #line 1121 "conf_parser.y"
4103      {
4104    if (conf_parser_ctx.pass == 2)
4105 <    yy_aconf->port = 0;
4105 >    block_state.port.value |= OPER_FLAG_GLOBAL_KILL;
4106   }
4107      break;
4108  
4109    case 177:
4110 <
4111 < /* Line 1810 of yacc.c  */
4420 < #line 1213 "conf_parser.y"
4110 > /* Line 1778 of yacc.c  */
4111 > #line 1125 "conf_parser.y"
4112      {
4113    if (conf_parser_ctx.pass == 2)
4114 <    yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4114 >    block_state.port.value |= OPER_FLAG_REMOTE;
4115   }
4116      break;
4117  
4118    case 178:
4119 <
4120 < /* Line 1810 of yacc.c  */
4430 < #line 1217 "conf_parser.y"
4119 > /* Line 1778 of yacc.c  */
4120 > #line 1129 "conf_parser.y"
4121      {
4122    if (conf_parser_ctx.pass == 2)
4123 <    yy_aconf->port |= OPER_FLAG_REMOTE;
4123 >    block_state.port.value |= OPER_FLAG_K;
4124   }
4125      break;
4126  
4127    case 179:
4128 <
4129 < /* Line 1810 of yacc.c  */
4440 < #line 1221 "conf_parser.y"
4128 > /* Line 1778 of yacc.c  */
4129 > #line 1133 "conf_parser.y"
4130      {
4131    if (conf_parser_ctx.pass == 2)
4132 <    yy_aconf->port |= OPER_FLAG_K;
4132 >    block_state.port.value |= OPER_FLAG_UNKLINE;
4133   }
4134      break;
4135  
4136    case 180:
4137 <
4138 < /* Line 1810 of yacc.c  */
4450 < #line 1225 "conf_parser.y"
4137 > /* Line 1778 of yacc.c  */
4138 > #line 1137 "conf_parser.y"
4139      {
4140    if (conf_parser_ctx.pass == 2)
4141 <    yy_aconf->port |= OPER_FLAG_UNKLINE;
4141 >    block_state.port.value |= OPER_FLAG_DLINE;
4142   }
4143      break;
4144  
4145    case 181:
4146 <
4147 < /* Line 1810 of yacc.c  */
4460 < #line 1229 "conf_parser.y"
4146 > /* Line 1778 of yacc.c  */
4147 > #line 1141 "conf_parser.y"
4148      {
4149    if (conf_parser_ctx.pass == 2)
4150 <    yy_aconf->port |= OPER_FLAG_DLINE;
4150 >    block_state.port.value |= OPER_FLAG_UNDLINE;
4151   }
4152      break;
4153  
4154    case 182:
4155 <
4156 < /* Line 1810 of yacc.c  */
4470 < #line 1233 "conf_parser.y"
4155 > /* Line 1778 of yacc.c  */
4156 > #line 1145 "conf_parser.y"
4157      {
4158    if (conf_parser_ctx.pass == 2)
4159 <    yy_aconf->port |= OPER_FLAG_UNDLINE;
4159 >    block_state.port.value |= OPER_FLAG_X;
4160   }
4161      break;
4162  
4163    case 183:
4164 <
4165 < /* Line 1810 of yacc.c  */
4480 < #line 1237 "conf_parser.y"
4164 > /* Line 1778 of yacc.c  */
4165 > #line 1149 "conf_parser.y"
4166      {
4167    if (conf_parser_ctx.pass == 2)
4168 <    yy_aconf->port |= OPER_FLAG_X;
4168 >    block_state.port.value |= OPER_FLAG_GLINE;
4169   }
4170      break;
4171  
4172    case 184:
4173 <
4174 < /* Line 1810 of yacc.c  */
4490 < #line 1241 "conf_parser.y"
4173 > /* Line 1778 of yacc.c  */
4174 > #line 1153 "conf_parser.y"
4175      {
4176    if (conf_parser_ctx.pass == 2)
4177 <    yy_aconf->port |= OPER_FLAG_GLINE;
4177 >    block_state.port.value |= OPER_FLAG_DIE;
4178   }
4179      break;
4180  
4181    case 185:
4182 <
4183 < /* Line 1810 of yacc.c  */
4500 < #line 1245 "conf_parser.y"
4182 > /* Line 1778 of yacc.c  */
4183 > #line 1157 "conf_parser.y"
4184      {
4185    if (conf_parser_ctx.pass == 2)
4186 <    yy_aconf->port |= OPER_FLAG_DIE;
4186 >    block_state.port.value |= OPER_FLAG_RESTART;
4187   }
4188      break;
4189  
4190    case 186:
4191 <
4192 < /* Line 1810 of yacc.c  */
4510 < #line 1249 "conf_parser.y"
4191 > /* Line 1778 of yacc.c  */
4192 > #line 1161 "conf_parser.y"
4193      {
4194    if (conf_parser_ctx.pass == 2)
4195 <    yy_aconf->port |= OPER_FLAG_RESTART;
4195 >    block_state.port.value |= OPER_FLAG_REHASH;
4196   }
4197      break;
4198  
4199    case 187:
4200 <
4201 < /* Line 1810 of yacc.c  */
4520 < #line 1253 "conf_parser.y"
4200 > /* Line 1778 of yacc.c  */
4201 > #line 1165 "conf_parser.y"
4202      {
4203    if (conf_parser_ctx.pass == 2)
4204 <    yy_aconf->port |= OPER_FLAG_REHASH;
4204 >    block_state.port.value |= OPER_FLAG_ADMIN;
4205   }
4206      break;
4207  
4208    case 188:
4209 <
4210 < /* Line 1810 of yacc.c  */
4530 < #line 1257 "conf_parser.y"
4209 > /* Line 1778 of yacc.c  */
4210 > #line 1169 "conf_parser.y"
4211      {
4212    if (conf_parser_ctx.pass == 2)
4213 <    yy_aconf->port |= OPER_FLAG_ADMIN;
4213 >    block_state.port.value |= OPER_FLAG_N;
4214   }
4215      break;
4216  
4217    case 189:
4218 <
4219 < /* Line 1810 of yacc.c  */
4540 < #line 1261 "conf_parser.y"
4218 > /* Line 1778 of yacc.c  */
4219 > #line 1173 "conf_parser.y"
4220      {
4221    if (conf_parser_ctx.pass == 2)
4222 <    yy_aconf->port |= OPER_FLAG_N;
4222 >    block_state.port.value |= OPER_FLAG_OPERWALL;
4223   }
4224      break;
4225  
4226    case 190:
4227 <
4228 < /* Line 1810 of yacc.c  */
4550 < #line 1265 "conf_parser.y"
4227 > /* Line 1778 of yacc.c  */
4228 > #line 1177 "conf_parser.y"
4229      {
4230    if (conf_parser_ctx.pass == 2)
4231 <    yy_aconf->port |= OPER_FLAG_OPERWALL;
4231 >    block_state.port.value |= OPER_FLAG_GLOBOPS;
4232   }
4233      break;
4234  
4235    case 191:
4236 <
4237 < /* Line 1810 of yacc.c  */
4560 < #line 1269 "conf_parser.y"
4236 > /* Line 1778 of yacc.c  */
4237 > #line 1181 "conf_parser.y"
4238      {
4239    if (conf_parser_ctx.pass == 2)
4240 <    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4240 >    block_state.port.value |= OPER_FLAG_OPER_SPY;
4241   }
4242      break;
4243  
4244    case 192:
4245 <
4246 < /* Line 1810 of yacc.c  */
4570 < #line 1273 "conf_parser.y"
4245 > /* Line 1778 of yacc.c  */
4246 > #line 1185 "conf_parser.y"
4247      {
4248    if (conf_parser_ctx.pass == 2)
4249 <    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4249 >    block_state.port.value |= OPER_FLAG_REMOTEBAN;
4250   }
4251      break;
4252  
4253    case 193:
4254 <
4255 < /* Line 1810 of yacc.c  */
4580 < #line 1277 "conf_parser.y"
4254 > /* Line 1778 of yacc.c  */
4255 > #line 1189 "conf_parser.y"
4256      {
4257    if (conf_parser_ctx.pass == 2)
4258 <    yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4258 >    block_state.port.value |= OPER_FLAG_SET;
4259   }
4260      break;
4261  
4262    case 194:
4263 <
4264 < /* Line 1810 of yacc.c  */
4590 < #line 1281 "conf_parser.y"
4263 > /* Line 1778 of yacc.c  */
4264 > #line 1193 "conf_parser.y"
4265      {
4266    if (conf_parser_ctx.pass == 2)
4267 <    yy_aconf->port |= OPER_FLAG_MODULE;
4267 >    block_state.port.value |= OPER_FLAG_MODULE;
4268   }
4269      break;
4270  
4271    case 195:
4272 <
4273 < /* Line 1810 of yacc.c  */
4600 < #line 1291 "conf_parser.y"
4272 > /* Line 1778 of yacc.c  */
4273 > #line 1203 "conf_parser.y"
4274      {
4275 <  if (conf_parser_ctx.pass == 1)
4603 <  {
4604 <    yy_conf = make_conf_item(CLASS_TYPE);
4605 <    yy_class = map_to_conf(yy_conf);
4606 <  }
4607 < }
4275 >  if (conf_parser_ctx.pass != 1)
4276      break;
4277  
4278 <  case 196:
4278 >  reset_block_state();
4279  
4280 < /* Line 1810 of yacc.c  */
4281 < #line 1298 "conf_parser.y"
4282 <    {
4283 <  if (conf_parser_ctx.pass == 1)
4284 <  {
4617 <    struct ConfItem *cconf = NULL;
4618 <    struct ClassItem *class = NULL;
4280 >  block_state.ping_freq.value = DEFAULT_PINGFREQUENCY;
4281 >  block_state.con_freq.value  = DEFAULT_CONNECTFREQUENCY;
4282 >  block_state.max_total.value = MAXIMUM_LINKS_DEFAULT;
4283 >  block_state.max_sendq.value = DEFAULT_SENDQ;
4284 >  block_state.max_recvq.value = DEFAULT_RECVQ;
4285  
4286 <    if (yy_class_name == NULL)
4287 <      delete_conf_item(yy_conf);
4622 <    else
4623 <    {
4624 <      cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL);
4625 <
4626 <      if (cconf != NULL)                /* The class existed already */
4627 <      {
4628 <        int user_count = 0;
4629 <
4630 <        rebuild_cidr_class(cconf, yy_class);
4631 <
4632 <        class = map_to_conf(cconf);
4633 <
4634 <        user_count = class->curr_user_count;
4635 <        memcpy(class, yy_class, sizeof(*class));
4636 <        class->curr_user_count = user_count;
4637 <        class->active = 1;
4286 > }
4287 >    break;
4288  
4289 <        delete_conf_item(yy_conf);
4289 >  case 196:
4290 > /* Line 1778 of yacc.c  */
4291 > #line 1216 "conf_parser.y"
4292 >    {
4293 >  struct ClassItem *class = NULL;
4294  
4295 <        MyFree(cconf->name);            /* Allows case change of class name */
4296 <        cconf->name = yy_class_name;
4643 <      }
4644 <      else      /* Brand new class */
4645 <      {
4646 <        MyFree(yy_conf->name);          /* just in case it was allocated */
4647 <        yy_conf->name = yy_class_name;
4648 <        yy_class->active = 1;
4649 <      }
4650 <    }
4295 >  if (conf_parser_ctx.pass != 1)
4296 >    break;
4297  
4298 <    yy_class_name = NULL;
4299 <  }
4298 >  if (!block_state.class.buf[0])
4299 >    break;
4300 >
4301 >  if (!(class = class_find(block_state.class.buf, 0)))
4302 >    class = class_make();
4303 >
4304 >  class->active = 1;
4305 >  MyFree(class->name);
4306 >  class->name = xstrdup(block_state.class.buf);
4307 >  class->ping_freq = block_state.ping_freq.value;
4308 >  class->max_perip = block_state.max_perip.value;
4309 >  class->con_freq = block_state.con_freq.value;
4310 >  class->max_total = block_state.max_total.value;
4311 >  class->max_global = block_state.max_global.value;
4312 >  class->max_local = block_state.max_local.value;
4313 >  class->max_ident = block_state.max_ident.value;
4314 >  class->max_sendq = block_state.max_sendq.value;
4315 >  class->max_recvq = block_state.max_recvq.value;
4316 >
4317 >  if (class->number_per_cidr && block_state.number_per_cidr.value)
4318 >    if ((class->cidr_bitlen_ipv4 && block_state.cidr_bitlen_ipv4.value) ||
4319 >        (class->cidr_bitlen_ipv6 && block_state.cidr_bitlen_ipv6.value))
4320 >      if ((class->cidr_bitlen_ipv4 != block_state.cidr_bitlen_ipv4.value) ||
4321 >          (class->cidr_bitlen_ipv6 != block_state.cidr_bitlen_ipv6.value))
4322 >        rebuild_cidr_list(class);
4323 >
4324 >  class->cidr_bitlen_ipv4 = block_state.cidr_bitlen_ipv4.value;
4325 >  class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4326 >  class->number_per_cidr = block_state.number_per_cidr.value;
4327   }
4328      break;
4329  
4330    case 213:
4331 <
4332 < /* Line 1810 of yacc.c  */
4660 < #line 1356 "conf_parser.y"
4331 > /* Line 1778 of yacc.c  */
4332 > #line 1268 "conf_parser.y"
4333      {
4334    if (conf_parser_ctx.pass == 1)
4335 <  {
4664 <    MyFree(yy_class_name);
4665 <    DupString(yy_class_name, yylval.string);
4666 <  }
4335 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4336   }
4337      break;
4338  
4339    case 214:
4340 <
4341 < /* Line 1810 of yacc.c  */
4673 < #line 1365 "conf_parser.y"
4340 > /* Line 1778 of yacc.c  */
4341 > #line 1274 "conf_parser.y"
4342      {
4343    if (conf_parser_ctx.pass == 1)
4344 <    yy_class->ping_freq = (yyvsp[(3) - (4)].number);
4344 >    block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
4345   }
4346      break;
4347  
4348    case 215:
4349 <
4350 < /* Line 1810 of yacc.c  */
4683 < #line 1371 "conf_parser.y"
4349 > /* Line 1778 of yacc.c  */
4350 > #line 1280 "conf_parser.y"
4351      {
4352    if (conf_parser_ctx.pass == 1)
4353 <    yy_class->ping_warning = (yyvsp[(3) - (4)].number);
4353 >    block_state.max_perip.value = (yyvsp[(3) - (4)].number);
4354   }
4355      break;
4356  
4357    case 216:
4358 <
4359 < /* Line 1810 of yacc.c  */
4693 < #line 1377 "conf_parser.y"
4358 > /* Line 1778 of yacc.c  */
4359 > #line 1286 "conf_parser.y"
4360      {
4361    if (conf_parser_ctx.pass == 1)
4362 <    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4362 >    block_state.con_freq.value = (yyvsp[(3) - (4)].number);
4363   }
4364      break;
4365  
4366    case 217:
4367 <
4368 < /* Line 1810 of yacc.c  */
4703 < #line 1383 "conf_parser.y"
4367 > /* Line 1778 of yacc.c  */
4368 > #line 1292 "conf_parser.y"
4369      {
4370    if (conf_parser_ctx.pass == 1)
4371 <    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4371 >    block_state.max_total.value = (yyvsp[(3) - (4)].number);
4372   }
4373      break;
4374  
4375    case 218:
4376 <
4377 < /* Line 1810 of yacc.c  */
4713 < #line 1389 "conf_parser.y"
4376 > /* Line 1778 of yacc.c  */
4377 > #line 1298 "conf_parser.y"
4378      {
4379    if (conf_parser_ctx.pass == 1)
4380 <    yy_class->max_total = (yyvsp[(3) - (4)].number);
4380 >    block_state.max_global.value = (yyvsp[(3) - (4)].number);
4381   }
4382      break;
4383  
4384    case 219:
4385 <
4386 < /* Line 1810 of yacc.c  */
4723 < #line 1395 "conf_parser.y"
4385 > /* Line 1778 of yacc.c  */
4386 > #line 1304 "conf_parser.y"
4387      {
4388    if (conf_parser_ctx.pass == 1)
4389 <    yy_class->max_global = (yyvsp[(3) - (4)].number);
4389 >    block_state.max_local.value = (yyvsp[(3) - (4)].number);
4390   }
4391      break;
4392  
4393    case 220:
4394 <
4395 < /* Line 1810 of yacc.c  */
4733 < #line 1401 "conf_parser.y"
4394 > /* Line 1778 of yacc.c  */
4395 > #line 1310 "conf_parser.y"
4396      {
4397    if (conf_parser_ctx.pass == 1)
4398 <    yy_class->max_local = (yyvsp[(3) - (4)].number);
4398 >    block_state.max_ident.value = (yyvsp[(3) - (4)].number);
4399   }
4400      break;
4401  
4402    case 221:
4403 <
4404 < /* Line 1810 of yacc.c  */
4743 < #line 1407 "conf_parser.y"
4403 > /* Line 1778 of yacc.c  */
4404 > #line 1316 "conf_parser.y"
4405      {
4406    if (conf_parser_ctx.pass == 1)
4407 <    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4407 >    block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
4408   }
4409      break;
4410  
4411    case 222:
4412 <
4413 < /* Line 1810 of yacc.c  */
4753 < #line 1413 "conf_parser.y"
4412 > /* Line 1778 of yacc.c  */
4413 > #line 1322 "conf_parser.y"
4414      {
4415    if (conf_parser_ctx.pass == 1)
4416 <    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4416 >    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4417 >      block_state.max_recvq.value = (yyvsp[(3) - (4)].number);
4418   }
4419      break;
4420  
4421    case 223:
4422 <
4423 < /* Line 1810 of yacc.c  */
4763 < #line 1419 "conf_parser.y"
4422 > /* Line 1778 of yacc.c  */
4423 > #line 1329 "conf_parser.y"
4424      {
4425    if (conf_parser_ctx.pass == 1)
4426 <    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4426 >    block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4427   }
4428      break;
4429  
4430    case 224:
4431 <
4432 < /* Line 1810 of yacc.c  */
4773 < #line 1425 "conf_parser.y"
4431 > /* Line 1778 of yacc.c  */
4432 > #line 1335 "conf_parser.y"
4433      {
4434    if (conf_parser_ctx.pass == 1)
4435 <    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4435 >    block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4436   }
4437      break;
4438  
4439    case 225:
4440 <
4441 < /* Line 1810 of yacc.c  */
4783 < #line 1431 "conf_parser.y"
4440 > /* Line 1778 of yacc.c  */
4441 > #line 1341 "conf_parser.y"
4442      {
4443    if (conf_parser_ctx.pass == 1)
4444 <    yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
4444 >    block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
4445   }
4446      break;
4447  
4448    case 226:
4449 <
4450 < /* Line 1810 of yacc.c  */
4793 < #line 1440 "conf_parser.y"
4794 <    {
4795 <  if (conf_parser_ctx.pass == 2)
4796 <  {
4797 <    listener_address = NULL;
4798 <    listener_flags = 0;
4799 <  }
4800 < }
4801 <    break;
4802 <
4803 <  case 227:
4804 <
4805 < /* Line 1810 of yacc.c  */
4806 < #line 1447 "conf_parser.y"
4449 > /* Line 1778 of yacc.c  */
4450 > #line 1350 "conf_parser.y"
4451      {
4452    if (conf_parser_ctx.pass == 2)
4453 <  {
4810 <    MyFree(listener_address);
4811 <    listener_address = NULL;
4812 <  }
4453 >    reset_block_state();
4454   }
4455      break;
4456  
4457    case 228:
4458 <
4459 < /* Line 1810 of yacc.c  */
4819 < #line 1456 "conf_parser.y"
4458 > /* Line 1778 of yacc.c  */
4459 > #line 1356 "conf_parser.y"
4460      {
4461 <  listener_flags = 0;
4461 >  block_state.flags.value = 0;
4462   }
4463      break;
4464  
4465    case 232:
4466 <
4467 < /* Line 1810 of yacc.c  */
4828 < #line 1462 "conf_parser.y"
4466 > /* Line 1778 of yacc.c  */
4467 > #line 1362 "conf_parser.y"
4468      {
4469    if (conf_parser_ctx.pass == 2)
4470 <    listener_flags |= LISTENER_SSL;
4470 >    block_state.flags.value |= LISTENER_SSL;
4471   }
4472      break;
4473  
4474    case 233:
4475 <
4476 < /* Line 1810 of yacc.c  */
4838 < #line 1466 "conf_parser.y"
4475 > /* Line 1778 of yacc.c  */
4476 > #line 1366 "conf_parser.y"
4477      {
4478    if (conf_parser_ctx.pass == 2)
4479 <    listener_flags |= LISTENER_HIDDEN;
4479 >    block_state.flags.value |= LISTENER_HIDDEN;
4480   }
4481      break;
4482  
4483    case 234:
4484 <
4485 < /* Line 1810 of yacc.c  */
4848 < #line 1470 "conf_parser.y"
4484 > /* Line 1778 of yacc.c  */
4485 > #line 1370 "conf_parser.y"
4486      {
4487    if (conf_parser_ctx.pass == 2)
4488 <    listener_flags |= LISTENER_SERVER;
4488 >   block_state.flags.value |= LISTENER_SERVER;
4489   }
4490      break;
4491  
4492    case 242:
4493 <
4494 < /* Line 1810 of yacc.c  */
4495 < #line 1480 "conf_parser.y"
4859 <    { listener_flags = 0; }
4493 > /* Line 1778 of yacc.c  */
4494 > #line 1378 "conf_parser.y"
4495 >    { block_state.flags.value = 0; }
4496      break;
4497  
4498    case 246:
4499 <
4500 < /* Line 1810 of yacc.c  */
4865 < #line 1485 "conf_parser.y"
4499 > /* Line 1778 of yacc.c  */
4500 > #line 1383 "conf_parser.y"
4501      {
4502    if (conf_parser_ctx.pass == 2)
4503    {
4504 <    if ((listener_flags & LISTENER_SSL))
4504 >    if (block_state.flags.value & LISTENER_SSL)
4505   #ifdef HAVE_LIBCRYPTO
4506        if (!ServerInfo.server_ctx)
4507   #endif
# Line 4874 | Line 4509 | yyreduce:
4509          yyerror("SSL not available - port closed");
4510          break;
4511        }
4512 <    add_listener((yyvsp[(1) - (1)].number), listener_address, listener_flags);
4512 >    add_listener((yyvsp[(1) - (1)].number), block_state.addr.buf, block_state.flags.value);
4513    }
4514   }
4515      break;
4516  
4517    case 247:
4518 <
4519 < /* Line 1810 of yacc.c  */
4885 < #line 1499 "conf_parser.y"
4518 > /* Line 1778 of yacc.c  */
4519 > #line 1397 "conf_parser.y"
4520      {
4521    if (conf_parser_ctx.pass == 2)
4522    {
4523      int i;
4524  
4525 <    if ((listener_flags & LISTENER_SSL))
4525 >    if (block_state.flags.value & LISTENER_SSL)
4526   #ifdef HAVE_LIBCRYPTO
4527        if (!ServerInfo.server_ctx)
4528   #endif
# Line 4898 | Line 4532 | yyreduce:
4532        }
4533  
4534      for (i = (yyvsp[(1) - (3)].number); i <= (yyvsp[(3) - (3)].number); ++i)
4535 <      add_listener(i, listener_address, listener_flags);
4535 >      add_listener(i, block_state.addr.buf, block_state.flags.value);
4536    }
4537   }
4538      break;
4539  
4540    case 248:
4541 <
4542 < /* Line 1810 of yacc.c  */
4909 < #line 1519 "conf_parser.y"
4541 > /* Line 1778 of yacc.c  */
4542 > #line 1417 "conf_parser.y"
4543      {
4544    if (conf_parser_ctx.pass == 2)
4545 <  {
4913 <    MyFree(listener_address);
4914 <    DupString(listener_address, yylval.string);
4915 <  }
4545 >    strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4546   }
4547      break;
4548  
4549    case 249:
4550 <
4551 < /* Line 1810 of yacc.c  */
4922 < #line 1528 "conf_parser.y"
4550 > /* Line 1778 of yacc.c  */
4551 > #line 1423 "conf_parser.y"
4552      {
4553    if (conf_parser_ctx.pass == 2)
4554 <  {
4926 <    MyFree(listener_address);
4927 <    DupString(listener_address, yylval.string);
4928 <  }
4554 >    strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4555   }
4556      break;
4557  
4558    case 250:
4559 <
4560 < /* Line 1810 of yacc.c  */
4935 < #line 1540 "conf_parser.y"
4559 > /* Line 1778 of yacc.c  */
4560 > #line 1432 "conf_parser.y"
4561      {
4562    if (conf_parser_ctx.pass == 2)
4563 <  {
4939 <    yy_conf = make_conf_item(CLIENT_TYPE);
4940 <    yy_aconf = map_to_conf(yy_conf);
4941 <  }
4942 <  else
4943 <  {
4944 <    MyFree(class_name);
4945 <    class_name = NULL;
4946 <  }
4563 >    reset_block_state();
4564   }
4565      break;
4566  
4567    case 251:
4568 <
4569 < /* Line 1810 of yacc.c  */
4953 < #line 1552 "conf_parser.y"
4568 > /* Line 1778 of yacc.c  */
4569 > #line 1436 "conf_parser.y"
4570      {
4571 <  if (conf_parser_ctx.pass == 2)
4956 <  {
4957 <    struct CollectItem *yy_tmp = NULL;
4958 <    dlink_node *ptr = NULL, *next_ptr = NULL;
4959 <
4960 <    if (yy_aconf->user && yy_aconf->host)
4961 <    {
4962 <      conf_add_class_to_conf(yy_conf, class_name);
4963 <      add_conf_by_address(CONF_CLIENT, yy_aconf);
4964 <    }
4965 <    else
4966 <      delete_conf_item(yy_conf);
4967 <
4968 <    /* copy over settings from first struct */
4969 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
4970 <    {
4971 <      struct AccessItem *new_aconf;
4972 <      struct ConfItem *new_conf;
4973 <
4974 <      new_conf = make_conf_item(CLIENT_TYPE);
4975 <      new_aconf = map_to_conf(new_conf);
4976 <
4977 <      yy_tmp = ptr->data;
4978 <
4979 <      assert(yy_tmp->user && yy_tmp->host);
4980 <
4981 <      if (yy_aconf->passwd != NULL)
4982 <        DupString(new_aconf->passwd, yy_aconf->passwd);
4983 <      if (yy_conf->name != NULL)
4984 <        DupString(new_conf->name, yy_conf->name);
4985 <      if (yy_aconf->passwd != NULL)
4986 <        DupString(new_aconf->passwd, yy_aconf->passwd);
4987 <
4988 <      new_aconf->flags = yy_aconf->flags;
4989 <      new_aconf->port  = yy_aconf->port;
4990 <
4991 <      DupString(new_aconf->user, yy_tmp->user);
4992 <      collapse(new_aconf->user);
4993 <
4994 <      DupString(new_aconf->host, yy_tmp->host);
4995 <      collapse(new_aconf->host);
4571 >  dlink_node *ptr = NULL;
4572  
4573 <      conf_add_class_to_conf(new_conf, class_name);
4998 <      add_conf_by_address(CONF_CLIENT, new_aconf);
4999 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
5000 <      free_collect_item(yy_tmp);
5001 <    }
5002 <
5003 <    MyFree(class_name);
5004 <    class_name = NULL;
5005 <    yy_conf = NULL;
5006 <    yy_aconf = NULL;
5007 <  }
5008 < }
4573 >  if (conf_parser_ctx.pass != 2)
4574      break;
4575  
4576 <  case 263:
5012 <
5013 < /* Line 1810 of yacc.c  */
5014 < #line 1614 "conf_parser.y"
5015 <    {
5016 <  if (conf_parser_ctx.pass == 2)
4576 >  DLINK_FOREACH(ptr, block_state.mask.list.head)
4577    {
4578 <    struct CollectItem *yy_tmp = NULL;
4578 >    struct MaskItem *conf = NULL;
4579      struct split_nuh_item nuh;
4580  
4581 <    nuh.nuhmask  = yylval.string;
4581 >    nuh.nuhmask  = ptr->data;
4582      nuh.nickptr  = NULL;
4583 <    nuh.userptr  = userbuf;
4584 <    nuh.hostptr  = hostbuf;
5025 <
4583 >    nuh.userptr  = block_state.user.buf;
4584 >    nuh.hostptr  = block_state.host.buf;
4585      nuh.nicksize = 0;
4586 <    nuh.usersize = sizeof(userbuf);
4587 <    nuh.hostsize = sizeof(hostbuf);
5029 <
4586 >    nuh.usersize = sizeof(block_state.user.buf);
4587 >    nuh.hostsize = sizeof(block_state.host.buf);
4588      split_nuh(&nuh);
4589  
4590 <    if (yy_aconf->user == NULL)
4591 <    {
4592 <      DupString(yy_aconf->user, userbuf);
4593 <      DupString(yy_aconf->host, hostbuf);
4594 <    }
4595 <    else
4596 <    {
4597 <      yy_tmp = MyMalloc(sizeof(struct CollectItem));
4590 >    conf        = conf_make(CONF_CLIENT);
4591 >    conf->user  = xstrdup(collapse(block_state.user.buf));
4592 >    conf->host  = xstrdup(collapse(block_state.host.buf));
4593 >
4594 >    if (block_state.rpass.buf[0])
4595 >      conf->passwd = xstrdup(block_state.rpass.buf);
4596 >    if (block_state.name.buf[0])
4597 >      conf->passwd = xstrdup(block_state.name.buf);
4598  
4599 <      DupString(yy_tmp->user, userbuf);
4600 <      DupString(yy_tmp->host, hostbuf);
4599 >    conf->flags = block_state.flags.value;
4600 >    conf->port  = block_state.port.value;
4601  
4602 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
4603 <    }
4602 >    conf_add_class_to_conf(conf, block_state.class.buf);
4603 >    add_conf_by_address(CONF_CLIENT, conf);
4604    }
4605   }
4606      break;
4607  
4608 <  case 264:
4609 <
4610 < /* Line 1810 of yacc.c  */
5053 < #line 1649 "conf_parser.y"
4608 >  case 263:
4609 > /* Line 1778 of yacc.c  */
4610 > #line 1479 "conf_parser.y"
4611      {
4612    if (conf_parser_ctx.pass == 2)
4613 <  {
4614 <    /* be paranoid */
4615 <    if (yy_aconf->passwd != NULL)
5059 <      memset(yy_aconf->passwd, 0, strlen(yy_aconf->passwd));
4613 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4614 > }
4615 >    break;
4616  
4617 <    MyFree(yy_aconf->passwd);
4618 <    DupString(yy_aconf->passwd, yylval.string);
4619 <  }
4617 >  case 264:
4618 > /* Line 1778 of yacc.c  */
4619 > #line 1485 "conf_parser.y"
4620 >    {
4621 >  if (conf_parser_ctx.pass == 2)
4622 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4623   }
4624      break;
4625  
4626    case 265:
4627 <
4628 < /* Line 1810 of yacc.c  */
5070 < #line 1662 "conf_parser.y"
4627 > /* Line 1778 of yacc.c  */
4628 > #line 1491 "conf_parser.y"
4629      {
4630    if (conf_parser_ctx.pass == 2)
4631 <  {
5074 <    MyFree(class_name);
5075 <    DupString(class_name, yylval.string);
5076 <  }
4631 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4632   }
4633      break;
4634  
4635    case 266:
4636 <
4637 < /* Line 1810 of yacc.c  */
5083 < #line 1671 "conf_parser.y"
4636 > /* Line 1778 of yacc.c  */
4637 > #line 1497 "conf_parser.y"
4638      {
4639    if (conf_parser_ctx.pass == 2)
4640    {
4641      if (yylval.number)
4642 <      SetConfEncrypted(yy_aconf);
4642 >      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
4643      else
4644 <      ClearConfEncrypted(yy_aconf);
4644 >      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4645    }
4646   }
4647      break;
4648  
4649    case 267:
4650 <
4651 < /* Line 1810 of yacc.c  */
5098 < #line 1682 "conf_parser.y"
4650 > /* Line 1778 of yacc.c  */
4651 > #line 1508 "conf_parser.y"
4652      {
4653 +  if (conf_parser_ctx.pass == 2)
4654 +    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
4655   }
4656      break;
4657  
4658    case 271:
4659 <
4660 < /* Line 1810 of yacc.c  */
5106 < #line 1687 "conf_parser.y"
4659 > /* Line 1778 of yacc.c  */
4660 > #line 1515 "conf_parser.y"
4661      {
4662    if (conf_parser_ctx.pass == 2)
4663 <    yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
4663 >    block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4664   }
4665      break;
4666  
4667    case 272:
4668 <
4669 < /* Line 1810 of yacc.c  */
5116 < #line 1691 "conf_parser.y"
4668 > /* Line 1778 of yacc.c  */
4669 > #line 1519 "conf_parser.y"
4670      {
4671    if (conf_parser_ctx.pass == 2)
4672 <    yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
4672 >    block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4673   }
4674      break;
4675  
4676    case 273:
4677 <
4678 < /* Line 1810 of yacc.c  */
5126 < #line 1695 "conf_parser.y"
4677 > /* Line 1778 of yacc.c  */
4678 > #line 1523 "conf_parser.y"
4679      {
4680    if (conf_parser_ctx.pass == 2)
4681 <    yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
4681 >    block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4682   }
4683      break;
4684  
4685    case 274:
4686 <
4687 < /* Line 1810 of yacc.c  */
5136 < #line 1699 "conf_parser.y"
4686 > /* Line 1778 of yacc.c  */
4687 > #line 1527 "conf_parser.y"
4688      {
4689    if (conf_parser_ctx.pass == 2)
4690 <    yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
4690 >    block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4691   }
4692      break;
4693  
4694    case 275:
4695 <
4696 < /* Line 1810 of yacc.c  */
5146 < #line 1703 "conf_parser.y"
4695 > /* Line 1778 of yacc.c  */
4696 > #line 1531 "conf_parser.y"
4697      {
4698    if (conf_parser_ctx.pass == 2)
4699 <    yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
4699 >    block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4700   }
4701      break;
4702  
4703    case 276:
4704 <
4705 < /* Line 1810 of yacc.c  */
5156 < #line 1707 "conf_parser.y"
4704 > /* Line 1778 of yacc.c  */
4705 > #line 1535 "conf_parser.y"
4706      {
4707    if (conf_parser_ctx.pass == 2)
4708 <    yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
4708 >    block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4709   }
4710      break;
4711  
4712    case 277:
4713 <
4714 < /* Line 1810 of yacc.c  */
5166 < #line 1711 "conf_parser.y"
4713 > /* Line 1778 of yacc.c  */
4714 > #line 1539 "conf_parser.y"
4715      {
4716    if (conf_parser_ctx.pass == 2)
4717 <    yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
4717 >    block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4718   }
4719      break;
4720  
4721    case 278:
4722 <
4723 < /* Line 1810 of yacc.c  */
5176 < #line 1715 "conf_parser.y"
4722 > /* Line 1778 of yacc.c  */
4723 > #line 1543 "conf_parser.y"
4724      {
4725    if (conf_parser_ctx.pass == 2)
4726 <    yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
4726 >    block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4727   }
4728      break;
4729  
4730    case 279:
4731 <
4732 < /* Line 1810 of yacc.c  */
5186 < #line 1719 "conf_parser.y"
4731 > /* Line 1778 of yacc.c  */
4732 > #line 1547 "conf_parser.y"
4733      {
4734    if (conf_parser_ctx.pass == 2)
4735 <    yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
4735 >    block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4736   }
4737      break;
4738  
4739    case 280:
4740 <
4741 < /* Line 1810 of yacc.c  */
5196 < #line 1726 "conf_parser.y"
4740 > /* Line 1778 of yacc.c  */
4741 > #line 1553 "conf_parser.y"
4742      {
4743 <  if (conf_parser_ctx.pass == 2)
4744 <  {
5200 <    MyFree(yy_conf->name);
4743 >  if (conf_parser_ctx.pass != 2)
4744 >    break;
4745  
4746 <    if (strlen(yylval.string) < HOSTLEN)
4747 <    {    
4748 <      DupString(yy_conf->name, yylval.string);
4749 <      yy_aconf->flags |= CONF_FLAGS_SPOOF_IP;
5206 <    }
5207 <    else
5208 <    {
5209 <      ilog(LOG_TYPE_IRCD, "Spoofs must be less than %d..ignoring it", HOSTLEN);
5210 <      yy_conf->name = NULL;
5211 <    }
4746 >  if (strlen(yylval.string) <= HOSTLEN && valid_hostname(yylval.string))
4747 >  {
4748 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4749 >    block_state.flags.value |= CONF_FLAGS_SPOOF_IP;
4750    }
4751 +  else
4752 +    ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4753   }
4754      break;
4755  
4756    case 281:
4757 <
4758 < /* Line 1810 of yacc.c  */
5219 < #line 1745 "conf_parser.y"
4757 > /* Line 1778 of yacc.c  */
4758 > #line 1567 "conf_parser.y"
4759      {
4760 <  if (conf_parser_ctx.pass == 2)
4761 <  {
4762 <    yy_aconf->flags |= CONF_FLAGS_REDIR;
4763 <    MyFree(yy_conf->name);
4764 <    DupString(yy_conf->name, yylval.string);
5226 <  }
4760 >  if (conf_parser_ctx.pass != 2)
4761 >    break;
4762 >
4763 >  strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4764 >  block_state.flags.value |= CONF_FLAGS_REDIR;
4765   }
4766      break;
4767  
4768    case 282:
4769 <
4770 < /* Line 1810 of yacc.c  */
5233 < #line 1755 "conf_parser.y"
4769 > /* Line 1778 of yacc.c  */
4770 > #line 1576 "conf_parser.y"
4771      {
4772 <  if (conf_parser_ctx.pass == 2)
4773 <  {
4774 <    yy_aconf->flags |= CONF_FLAGS_REDIR;
4775 <    yy_aconf->port = (yyvsp[(3) - (4)].number);
4776 <  }
4772 >  if (conf_parser_ctx.pass != 2)
4773 >    break;
4774 >
4775 >  block_state.flags.value |= CONF_FLAGS_REDIR;
4776 >  block_state.port.value = (yyvsp[(3) - (4)].number);
4777   }
4778      break;
4779  
4780    case 283:
4781 <
4782 < /* Line 1810 of yacc.c  */
5246 < #line 1768 "conf_parser.y"
4781 > /* Line 1778 of yacc.c  */
4782 > #line 1589 "conf_parser.y"
4783      {
4784 <  if (conf_parser_ctx.pass == 2)
5249 <  {
5250 <    MyFree(resv_reason);
5251 <    resv_reason = NULL;
5252 <  }
5253 < }
4784 >  if (conf_parser_ctx.pass != 2)
4785      break;
4786  
4787 <  case 284:
4788 <
5258 < /* Line 1810 of yacc.c  */
5259 < #line 1775 "conf_parser.y"
5260 <    {
5261 <  if (conf_parser_ctx.pass == 2)
5262 <  {
5263 <    MyFree(resv_reason);
5264 <    resv_reason = NULL;
5265 <  }
4787 >  reset_block_state();
4788 >  strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4789   }
4790      break;
4791  
4792    case 291:
4793 <
4794 < /* Line 1810 of yacc.c  */
5272 < #line 1787 "conf_parser.y"
4793 > /* Line 1778 of yacc.c  */
4794 > #line 1601 "conf_parser.y"
4795      {
4796    if (conf_parser_ctx.pass == 2)
4797 <  {
5276 <    MyFree(resv_reason);
5277 <    DupString(resv_reason, yylval.string);
5278 <  }
4797 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4798   }
4799      break;
4800  
4801    case 292:
4802 <
4803 < /* Line 1810 of yacc.c  */
5285 < #line 1796 "conf_parser.y"
5286 <    {
5287 <  if (conf_parser_ctx.pass == 2)
5288 <  {
5289 <    if (IsChanPrefix(*yylval.string))
4802 > /* Line 1778 of yacc.c  */
4803 > #line 1607 "conf_parser.y"
4804      {
4805 <      char def_reason[] = "No reason";
4805 >  if (conf_parser_ctx.pass != 2)
4806 >    break;
4807  
4808 <      create_channel_resv(yylval.string, resv_reason != NULL ? resv_reason : def_reason, 1);
4809 <    }
5295 <  }
5296 <  /* ignore it for now.. but we really should make a warning if
5297 <   * its an erroneous name --fl_ */
4808 >  if (IsChanPrefix(*yylval.string))
4809 >    create_channel_resv(yylval.string, block_state.rpass.buf, 1);
4810   }
4811      break;
4812  
4813    case 293:
4814 <
4815 < /* Line 1810 of yacc.c  */
5304 < #line 1811 "conf_parser.y"
4814 > /* Line 1778 of yacc.c  */
4815 > #line 1616 "conf_parser.y"
4816      {
4817    if (conf_parser_ctx.pass == 2)
4818 <  {
5308 <    char def_reason[] = "No reason";
5309 <
5310 <    create_nick_resv(yylval.string, resv_reason != NULL ? resv_reason : def_reason, 1);
5311 <  }
4818 >    create_nick_resv(yylval.string, block_state.rpass.buf, 1);
4819   }
4820      break;
4821  
4822    case 299:
4823 <
4824 < /* Line 1810 of yacc.c  */
5318 < #line 1829 "conf_parser.y"
4823 > /* Line 1778 of yacc.c  */
4824 > #line 1630 "conf_parser.y"
4825      {
4826    if (conf_parser_ctx.pass == 2)
4827    {
4828      if (valid_servname(yylval.string))
4829      {
4830 <      yy_conf = make_conf_item(SERVICE_TYPE);
4831 <      DupString(yy_conf->name, yylval.string);
4830 >      struct MaskItem *conf = conf_make(CONF_SERVICE);
4831 >      conf->name = xstrdup(yylval.string);
4832      }
4833    }
4834   }
4835      break;
4836  
4837    case 300:
4838 <
4839 < /* Line 1810 of yacc.c  */
5334 < #line 1844 "conf_parser.y"
4838 > /* Line 1778 of yacc.c  */
4839 > #line 1645 "conf_parser.y"
4840      {
4841 <  if (conf_parser_ctx.pass == 2)
4842 <  {
4843 <    yy_conf = make_conf_item(ULINE_TYPE);
4844 <    yy_match_item = map_to_conf(yy_conf);
4845 <    yy_match_item->action = SHARED_ALL;
4846 <  }
4841 >  if (conf_parser_ctx.pass != 2)
4842 >    break;
4843 >
4844 >  reset_block_state();
4845 >
4846 >  strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
4847 >  strlcpy(block_state.user.buf, "*", sizeof(block_state.user.buf));
4848 >  strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4849 >  block_state.flags.value = SHARED_ALL;
4850   }
4851      break;
4852  
4853    case 301:
4854 <
4855 < /* Line 1810 of yacc.c  */
5348 < #line 1852 "conf_parser.y"
4854 > /* Line 1778 of yacc.c  */
4855 > #line 1656 "conf_parser.y"
4856      {
4857 <  if (conf_parser_ctx.pass == 2)
4858 <  {
4859 <    yy_conf = NULL;
4860 <  }
4857 >  struct MaskItem *conf = NULL;
4858 >
4859 >  if (conf_parser_ctx.pass != 2)
4860 >    break;
4861 >
4862 >  conf = conf_make(CONF_ULINE);
4863 >  conf->flags = block_state.flags.value;
4864 >  conf->name = xstrdup(block_state.name.buf);
4865 >  conf->user = xstrdup(block_state.user.buf);
4866 >  conf->user = xstrdup(block_state.host.buf);
4867   }
4868      break;
4869  
4870    case 308:
4871 <
4872 < /* Line 1810 of yacc.c  */
5360 < #line 1863 "conf_parser.y"
4871 > /* Line 1778 of yacc.c  */
4872 > #line 1673 "conf_parser.y"
4873      {
4874    if (conf_parser_ctx.pass == 2)
4875 <  {
5364 <    MyFree(yy_conf->name);
5365 <    DupString(yy_conf->name, yylval.string);
5366 <  }
4875 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4876   }
4877      break;
4878  
4879    case 309:
4880 <
4881 < /* Line 1810 of yacc.c  */
5373 < #line 1872 "conf_parser.y"
4880 > /* Line 1778 of yacc.c  */
4881 > #line 1679 "conf_parser.y"
4882      {
4883    if (conf_parser_ctx.pass == 2)
4884    {
# Line 5378 | Line 4886 | yyreduce:
4886  
4887      nuh.nuhmask  = yylval.string;
4888      nuh.nickptr  = NULL;
4889 <    nuh.userptr  = userbuf;
4890 <    nuh.hostptr  = hostbuf;
4889 >    nuh.userptr  = block_state.user.buf;
4890 >    nuh.hostptr  = block_state.host.buf;
4891  
4892      nuh.nicksize = 0;
4893 <    nuh.usersize = sizeof(userbuf);
4894 <    nuh.hostsize = sizeof(hostbuf);
4893 >    nuh.usersize = sizeof(block_state.user.buf);
4894 >    nuh.hostsize = sizeof(block_state.host.buf);
4895  
4896      split_nuh(&nuh);
5389
5390    DupString(yy_match_item->user, userbuf);
5391    DupString(yy_match_item->host, hostbuf);
4897    }
4898   }
4899      break;
4900  
4901    case 310:
4902 <
4903 < /* Line 1810 of yacc.c  */
5399 < #line 1894 "conf_parser.y"
4902 > /* Line 1778 of yacc.c  */
4903 > #line 1698 "conf_parser.y"
4904      {
4905    if (conf_parser_ctx.pass == 2)
4906 <    yy_match_item->action = 0;
4906 >    block_state.flags.value = 0;
4907   }
4908      break;
4909  
4910    case 314:
4911 <
4912 < /* Line 1810 of yacc.c  */
5409 < #line 1901 "conf_parser.y"
4911 > /* Line 1778 of yacc.c  */
4912 > #line 1705 "conf_parser.y"
4913      {
4914    if (conf_parser_ctx.pass == 2)
4915 <    yy_match_item->action |= SHARED_KLINE;
4915 >    block_state.flags.value |= SHARED_KLINE;
4916   }
4917      break;
4918  
4919    case 315:
4920 <
4921 < /* Line 1810 of yacc.c  */
5419 < #line 1905 "conf_parser.y"
4920 > /* Line 1778 of yacc.c  */
4921 > #line 1709 "conf_parser.y"
4922      {
4923    if (conf_parser_ctx.pass == 2)
4924 <    yy_match_item->action |= SHARED_UNKLINE;
4924 >    block_state.flags.value |= SHARED_UNKLINE;
4925   }
4926      break;
4927  
4928    case 316:
4929 <
4930 < /* Line 1810 of yacc.c  */
5429 < #line 1909 "conf_parser.y"
4929 > /* Line 1778 of yacc.c  */
4930 > #line 1713 "conf_parser.y"
4931      {
4932    if (conf_parser_ctx.pass == 2)
4933 <    yy_match_item->action |= SHARED_DLINE;
4933 >    block_state.flags.value |= SHARED_DLINE;
4934   }
4935      break;
4936  
4937    case 317:
4938 <
4939 < /* Line 1810 of yacc.c  */
5439 < #line 1913 "conf_parser.y"
4938 > /* Line 1778 of yacc.c  */
4939 > #line 1717 "conf_parser.y"
4940      {
4941    if (conf_parser_ctx.pass == 2)
4942 <    yy_match_item->action |= SHARED_UNDLINE;
4942 >    block_state.flags.value |= SHARED_UNDLINE;
4943   }
4944      break;
4945  
4946    case 318:
4947 <
4948 < /* Line 1810 of yacc.c  */
5449 < #line 1917 "conf_parser.y"
4947 > /* Line 1778 of yacc.c  */
4948 > #line 1721 "conf_parser.y"
4949      {
4950    if (conf_parser_ctx.pass == 2)
4951 <    yy_match_item->action |= SHARED_XLINE;
4951 >    block_state.flags.value |= SHARED_XLINE;
4952   }
4953      break;
4954  
4955    case 319:
4956 <
4957 < /* Line 1810 of yacc.c  */
5459 < #line 1921 "conf_parser.y"
4956 > /* Line 1778 of yacc.c  */
4957 > #line 1725 "conf_parser.y"
4958      {
4959    if (conf_parser_ctx.pass == 2)
4960 <    yy_match_item->action |= SHARED_UNXLINE;
4960 >    block_state.flags.value |= SHARED_UNXLINE;
4961   }
4962      break;
4963  
4964    case 320:
4965 <
4966 < /* Line 1810 of yacc.c  */
5469 < #line 1925 "conf_parser.y"
4965 > /* Line 1778 of yacc.c  */
4966 > #line 1729 "conf_parser.y"
4967      {
4968    if (conf_parser_ctx.pass == 2)
4969 <    yy_match_item->action |= SHARED_RESV;
4969 >    block_state.flags.value |= SHARED_RESV;
4970   }
4971      break;
4972  
4973    case 321:
4974 <
4975 < /* Line 1810 of yacc.c  */
5479 < #line 1929 "conf_parser.y"
4974 > /* Line 1778 of yacc.c  */
4975 > #line 1733 "conf_parser.y"
4976      {
4977    if (conf_parser_ctx.pass == 2)
4978 <    yy_match_item->action |= SHARED_UNRESV;
4978 >    block_state.flags.value |= SHARED_UNRESV;
4979   }
4980      break;
4981  
4982    case 322:
4983 <
4984 < /* Line 1810 of yacc.c  */
5489 < #line 1933 "conf_parser.y"
4983 > /* Line 1778 of yacc.c  */
4984 > #line 1737 "conf_parser.y"
4985      {
4986    if (conf_parser_ctx.pass == 2)
4987 <    yy_match_item->action |= SHARED_LOCOPS;
4987 >    block_state.flags.value |= SHARED_LOCOPS;
4988   }
4989      break;
4990  
4991    case 323:
4992 <
4993 < /* Line 1810 of yacc.c  */
5499 < #line 1937 "conf_parser.y"
4992 > /* Line 1778 of yacc.c  */
4993 > #line 1741 "conf_parser.y"
4994      {
4995    if (conf_parser_ctx.pass == 2)
4996 <    yy_match_item->action = SHARED_ALL;
4996 >    block_state.flags.value = SHARED_ALL;
4997   }
4998      break;
4999  
5000    case 324:
5001 <
5002 < /* Line 1810 of yacc.c  */
5509 < #line 1946 "conf_parser.y"
5001 > /* Line 1778 of yacc.c  */
5002 > #line 1750 "conf_parser.y"
5003      {
5004 <  if (conf_parser_ctx.pass == 2)
5005 <  {
5006 <    yy_conf = make_conf_item(CLUSTER_TYPE);
5007 <    yy_conf->flags = SHARED_ALL;
5008 <  }
5004 >  if (conf_parser_ctx.pass != 2)
5005 >    break;
5006 >
5007 >  reset_block_state();
5008 >
5009 >  strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5010 >  block_state.flags.value = SHARED_ALL;
5011   }
5012      break;
5013  
5014    case 325:
5015 <
5016 < /* Line 1810 of yacc.c  */
5522 < #line 1953 "conf_parser.y"
5015 > /* Line 1778 of yacc.c  */
5016 > #line 1759 "conf_parser.y"
5017      {
5018 <  if (conf_parser_ctx.pass == 2)
5019 <  {
5020 <    if (yy_conf->name == NULL)
5021 <      DupString(yy_conf->name, "*");
5022 <    yy_conf = NULL;
5023 <  }
5018 >  struct MaskItem *conf = NULL;
5019 >
5020 >  if (conf_parser_ctx.pass != 2)
5021 >    break;
5022 >
5023 >  conf = conf_make(CONF_CLUSTER);
5024 >  conf->flags = block_state.flags.value;
5025 >  conf->name = xstrdup(block_state.name.buf);
5026   }
5027      break;
5028  
5029    case 331:
5030 <
5031 < /* Line 1810 of yacc.c  */
5536 < #line 1966 "conf_parser.y"
5030 > /* Line 1778 of yacc.c  */
5031 > #line 1774 "conf_parser.y"
5032      {
5033    if (conf_parser_ctx.pass == 2)
5034 <    DupString(yy_conf->name, yylval.string);
5034 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5035   }
5036      break;
5037  
5038    case 332:
5039 <
5040 < /* Line 1810 of yacc.c  */
5546 < #line 1972 "conf_parser.y"
5039 > /* Line 1778 of yacc.c  */
5040 > #line 1780 "conf_parser.y"
5041      {
5042    if (conf_parser_ctx.pass == 2)
5043 <    yy_conf->flags = 0;
5043 >    block_state.flags.value = 0;
5044   }
5045      break;
5046  
5047    case 336:
5048 <
5049 < /* Line 1810 of yacc.c  */
5556 < #line 1979 "conf_parser.y"
5048 > /* Line 1778 of yacc.c  */
5049 > #line 1787 "conf_parser.y"
5050      {
5051    if (conf_parser_ctx.pass == 2)
5052 <    yy_conf->flags |= SHARED_KLINE;
5052 >    block_state.flags.value |= SHARED_KLINE;
5053   }
5054      break;
5055  
5056    case 337:
5057 <
5058 < /* Line 1810 of yacc.c  */
5566 < #line 1983 "conf_parser.y"
5057 > /* Line 1778 of yacc.c  */
5058 > #line 1791 "conf_parser.y"
5059      {
5060    if (conf_parser_ctx.pass == 2)
5061 <    yy_conf->flags |= SHARED_UNKLINE;
5061 >    block_state.flags.value |= SHARED_UNKLINE;
5062   }
5063      break;
5064  
5065    case 338:
5066 <
5067 < /* Line 1810 of yacc.c  */
5576 < #line 1987 "conf_parser.y"
5066 > /* Line 1778 of yacc.c  */
5067 > #line 1795 "conf_parser.y"
5068      {
5069    if (conf_parser_ctx.pass == 2)
5070 <    yy_conf->flags |= SHARED_DLINE;
5070 >    block_state.flags.value |= SHARED_DLINE;
5071   }
5072      break;
5073  
5074    case 339:
5075 <
5076 < /* Line 1810 of yacc.c  */
5586 < #line 1991 "conf_parser.y"
5075 > /* Line 1778 of yacc.c  */
5076 > #line 1799 "conf_parser.y"
5077      {
5078    if (conf_parser_ctx.pass == 2)
5079 <    yy_conf->flags |= SHARED_UNDLINE;
5079 >    block_state.flags.value |= SHARED_UNDLINE;
5080   }
5081      break;
5082  
5083    case 340:
5084 <
5085 < /* Line 1810 of yacc.c  */
5596 < #line 1995 "conf_parser.y"
5084 > /* Line 1778 of yacc.c  */
5085 > #line 1803 "conf_parser.y"
5086      {
5087    if (conf_parser_ctx.pass == 2)
5088 <    yy_conf->flags |= SHARED_XLINE;
5088 >    block_state.flags.value |= SHARED_XLINE;
5089   }
5090      break;
5091  
5092    case 341:
5093 <
5094 < /* Line 1810 of yacc.c  */
5606 < #line 1999 "conf_parser.y"
5093 > /* Line 1778 of yacc.c  */
5094 > #line 1807 "conf_parser.y"
5095      {
5096    if (conf_parser_ctx.pass == 2)
5097 <    yy_conf->flags |= SHARED_UNXLINE;
5097 >    block_state.flags.value |= SHARED_UNXLINE;
5098   }
5099      break;
5100  
5101    case 342:
5102 <
5103 < /* Line 1810 of yacc.c  */
5616 < #line 2003 "conf_parser.y"
5102 > /* Line 1778 of yacc.c  */
5103 > #line 1811 "conf_parser.y"
5104      {
5105    if (conf_parser_ctx.pass == 2)
5106 <    yy_conf->flags |= SHARED_RESV;
5106 >    block_state.flags.value |= SHARED_RESV;
5107   }
5108      break;
5109  
5110    case 343:
5111 <
5112 < /* Line 1810 of yacc.c  */
5626 < #line 2007 "conf_parser.y"
5111 > /* Line 1778 of yacc.c  */
5112 > #line 1815 "conf_parser.y"
5113      {
5114    if (conf_parser_ctx.pass == 2)
5115 <    yy_conf->flags |= SHARED_UNRESV;
5115 >    block_state.flags.value |= SHARED_UNRESV;
5116   }
5117      break;
5118  
5119    case 344:
5120 <
5121 < /* Line 1810 of yacc.c  */
5636 < #line 2011 "conf_parser.y"
5120 > /* Line 1778 of yacc.c  */
5121 > #line 1819 "conf_parser.y"
5122      {
5123    if (conf_parser_ctx.pass == 2)
5124 <    yy_conf->flags |= SHARED_LOCOPS;
5124 >    block_state.flags.value |= SHARED_LOCOPS;
5125   }
5126      break;
5127  
5128    case 345:
5129 <
5130 < /* Line 1810 of yacc.c  */
5646 < #line 2015 "conf_parser.y"
5129 > /* Line 1778 of yacc.c  */
5130 > #line 1823 "conf_parser.y"
5131      {
5132    if (conf_parser_ctx.pass == 2)
5133 <    yy_conf->flags = SHARED_ALL;
5133 >    block_state.flags.value = SHARED_ALL;
5134   }
5135      break;
5136  
5137    case 346:
5138 <
5139 < /* Line 1810 of yacc.c  */
5656 < #line 2024 "conf_parser.y"
5138 > /* Line 1778 of yacc.c  */
5139 > #line 1832 "conf_parser.y"
5140      {
5658  if (conf_parser_ctx.pass == 2)
5659  {
5660    yy_conf = make_conf_item(SERVER_TYPE);
5661    yy_aconf = map_to_conf(yy_conf);
5141  
5142 <    /* defaults */
5143 <    yy_aconf->port = PORTNUM;
5144 <  }
5145 <  else
5146 <  {
5668 <    MyFree(class_name);
5669 <    class_name = NULL;
5670 <  }
5142 >  if (conf_parser_ctx.pass != 2)
5143 >    break;
5144 >
5145 >  reset_block_state();
5146 >  block_state.port.value = PORTNUM;
5147   }
5148      break;
5149  
5150    case 347:
5151 <
5152 < /* Line 1810 of yacc.c  */
5677 < #line 2039 "conf_parser.y"
5678 <    {
5679 <  if (conf_parser_ctx.pass == 2)
5680 <  {
5681 <    if (yy_aconf->host && yy_aconf->passwd && yy_aconf->spasswd)
5682 <    {
5683 <      if (conf_add_server(yy_conf, class_name) == -1)
5684 <        delete_conf_item(yy_conf);
5685 <    }
5686 <    else
5151 > /* Line 1778 of yacc.c  */
5152 > #line 1840 "conf_parser.y"
5153      {
5154 <      if (yy_conf->name != NULL)
5155 <      {
5690 <        if (yy_aconf->host == NULL)
5691 <          yyerror("Ignoring connect block -- missing host");
5692 <        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5693 <          yyerror("Ignoring connect block -- missing password");
5694 <      }
5154 >  struct MaskItem *conf = NULL;
5155 >  struct addrinfo hints, *res;
5156  
5157 <      /* XXX
5697 <       * This fixes a try_connections() core (caused by invalid class_ptr
5698 <       * pointers) reported by metalrock. That's an ugly fix, but there
5699 <       * is currently no better way. The entire config subsystem needs an
5700 <       * rewrite ASAP. make_conf_item() shouldn't really add things onto
5701 <       * a doubly linked list immediately without any sanity checks!  -Michael
5702 <       */
5703 <      delete_conf_item(yy_conf);
5704 <    }
5705 <
5706 <    MyFree(class_name);
5707 <    class_name = NULL;
5708 <    yy_conf = NULL;
5709 <    yy_aconf = NULL;
5710 <  }
5711 < }
5157 >  if (conf_parser_ctx.pass != 2)
5158      break;
5159  
5160 <  case 364:
5161 <
5716 < /* Line 1810 of yacc.c  */
5717 < #line 2083 "conf_parser.y"
5718 <    {
5719 <  if (conf_parser_ctx.pass == 2)
5720 <  {
5721 <    MyFree(yy_conf->name);
5722 <    DupString(yy_conf->name, yylval.string);
5723 <  }
5724 < }
5160 >  if (!block_state.name.buf[0] ||
5161 >      !block_state.host.buf[0])
5162      break;
5163  
5164 <  case 365:
5164 >  if (!(block_state.rpass.buf[0] ||
5165 >        block_state.spass.buf[0]))
5166 >    break;
5167  
5168 < /* Line 1810 of yacc.c  */
5169 < #line 2092 "conf_parser.y"
5731 <    {
5732 <  if (conf_parser_ctx.pass == 2)
5733 <  {
5734 <    MyFree(yy_aconf->host);
5735 <    DupString(yy_aconf->host, yylval.string);
5736 <  }
5737 < }
5168 >  if (has_wildcards(block_state.name.buf) ||
5169 >      has_wildcards(block_state.host.buf))
5170      break;
5171  
5172 <  case 366:
5172 >  conf = conf_make(CONF_SERVER);
5173 >  conf->port = block_state.port.value;
5174 >  conf->flags = block_state.flags.value;
5175 >  conf->aftype = block_state.aftype.value;
5176 >  conf->host = xstrdup(block_state.host.buf);
5177 >  conf->name = xstrdup(block_state.name.buf);
5178 >  conf->passwd = xstrdup(block_state.rpass.buf);
5179 >  conf->spasswd = xstrdup(block_state.spass.buf);
5180 >  conf->cipher_list = xstrdup(block_state.ciph.buf);
5181  
5182 < /* Line 1810 of yacc.c  */
5183 < #line 2101 "conf_parser.y"
5744 <    {
5745 <  if (conf_parser_ctx.pass == 2)
5746 <  {
5747 <    struct addrinfo hints, *res;
5182 >  dlinkMoveList(&block_state.leaf.list, &conf->leaf_list);
5183 >  dlinkMoveList(&block_state.hub.list, &conf->hub_list);
5184  
5185 +  if (block_state.bind.buf[0])
5186 +  {
5187      memset(&hints, 0, sizeof(hints));
5188  
5189      hints.ai_family   = AF_UNSPEC;
5190      hints.ai_socktype = SOCK_STREAM;
5191      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
5192  
5193 <    if (getaddrinfo(yylval.string, NULL, &hints, &res))
5194 <      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
5193 >    if (getaddrinfo(block_state.bind.buf, NULL, &hints, &res))
5194 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", block_state.bind.buf);
5195      else
5196      {
5197        assert(res != NULL);
5198  
5199 <      memcpy(&yy_aconf->bind, res->ai_addr, res->ai_addrlen);
5200 <      yy_aconf->bind.ss.ss_family = res->ai_family;
5201 <      yy_aconf->bind.ss_len = res->ai_addrlen;
5199 >      memcpy(&conf->bind, res->ai_addr, res->ai_addrlen);
5200 >      conf->bind.ss.ss_family = res->ai_family;
5201 >      conf->bind.ss_len = res->ai_addrlen;
5202        freeaddrinfo(res);
5203      }
5204    }
5205 +
5206 +  conf_add_class_to_conf(conf, block_state.class.buf);
5207 +  lookup_confhost(conf);
5208   }
5209      break;
5210  
5211 <  case 367:
5211 >  case 364:
5212 > /* Line 1778 of yacc.c  */
5213 > #line 1906 "conf_parser.y"
5214 >    {
5215 >  if (conf_parser_ctx.pass == 2)
5216 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5217 > }
5218 >    break;
5219  
5220 < /* Line 1810 of yacc.c  */
5221 < #line 2127 "conf_parser.y"
5220 >  case 365:
5221 > /* Line 1778 of yacc.c  */
5222 > #line 1912 "conf_parser.y"
5223      {
5224    if (conf_parser_ctx.pass == 2)
5225 <  {
5226 <    if ((yyvsp[(3) - (4)].string)[0] == ':')
5227 <      yyerror("Server passwords cannot begin with a colon");
5779 <    else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5780 <      yyerror("Server passwords cannot contain spaces");
5781 <    else {
5782 <      if (yy_aconf->spasswd != NULL)
5783 <        memset(yy_aconf->spasswd, 0, strlen(yy_aconf->spasswd));
5225 >    strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5226 > }
5227 >    break;
5228  
5229 <      MyFree(yy_aconf->spasswd);
5230 <      DupString(yy_aconf->spasswd, yylval.string);
5231 <    }
5232 <  }
5229 >  case 366:
5230 > /* Line 1778 of yacc.c  */
5231 > #line 1918 "conf_parser.y"
5232 >    {
5233 >  if (conf_parser_ctx.pass == 2)
5234 >    strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5235   }
5236      break;
5237  
5238 <  case 368:
5238 >  case 367:
5239 > /* Line 1778 of yacc.c  */
5240 > #line 1924 "conf_parser.y"
5241 >    {
5242 >  if (conf_parser_ctx.pass != 2)
5243 >    break;
5244  
5245 < /* Line 1810 of yacc.c  */
5246 < #line 2145 "conf_parser.y"
5245 >  if ((yyvsp[(3) - (4)].string)[0] == ':')
5246 >    yyerror("Server passwords cannot begin with a colon");
5247 >  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5248 >    yyerror("Server passwords cannot contain spaces");
5249 >  else
5250 >    strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5251 > }
5252 >    break;
5253 >
5254 >  case 368:
5255 > /* Line 1778 of yacc.c  */
5256 > #line 1937 "conf_parser.y"
5257      {
5258 <  if (conf_parser_ctx.pass == 2)
5259 <  {
5799 <    if ((yyvsp[(3) - (4)].string)[0] == ':')
5800 <      yyerror("Server passwords cannot begin with a colon");
5801 <    else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5802 <      yyerror("Server passwords cannot contain spaces");
5803 <    else {
5804 <      if (yy_aconf->passwd != NULL)
5805 <        memset(yy_aconf->passwd, 0, strlen(yy_aconf->passwd));
5258 >  if (conf_parser_ctx.pass != 2)
5259 >    break;
5260  
5261 <      MyFree(yy_aconf->passwd);
5262 <      DupString(yy_aconf->passwd, yylval.string);
5263 <    }
5264 <  }
5261 >  if ((yyvsp[(3) - (4)].string)[0] == ':')
5262 >    yyerror("Server passwords cannot begin with a colon");
5263 >  else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5264 >    yyerror("Server passwords cannot contain spaces");
5265 >  else
5266 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5267   }
5268      break;
5269  
5270    case 369:
5271 <
5272 < /* Line 1810 of yacc.c  */
5817 < #line 2163 "conf_parser.y"
5271 > /* Line 1778 of yacc.c  */
5272 > #line 1950 "conf_parser.y"
5273      {
5274    if (conf_parser_ctx.pass == 2)
5275 <    yy_aconf->port = (yyvsp[(3) - (4)].number);
5275 >    block_state.port.value = (yyvsp[(3) - (4)].number);
5276   }
5277      break;
5278  
5279    case 370:
5280 <
5281 < /* Line 1810 of yacc.c  */
5827 < #line 2169 "conf_parser.y"
5280 > /* Line 1778 of yacc.c  */
5281 > #line 1956 "conf_parser.y"
5282      {
5283    if (conf_parser_ctx.pass == 2)
5284 <    yy_aconf->aftype = AF_INET;
5284 >    block_state.aftype.value = AF_INET;
5285   }
5286      break;
5287  
5288    case 371:
5289 <
5290 < /* Line 1810 of yacc.c  */
5837 < #line 2173 "conf_parser.y"
5289 > /* Line 1778 of yacc.c  */
5290 > #line 1960 "conf_parser.y"
5291      {
5292   #ifdef IPV6
5293    if (conf_parser_ctx.pass == 2)
5294 <    yy_aconf->aftype = AF_INET6;
5294 >    block_state.aftype.value = AF_INET6;
5295   #endif
5296   }
5297      break;
5298  
5299    case 372:
5300 <
5301 < /* Line 1810 of yacc.c  */
5849 < #line 2181 "conf_parser.y"
5300 > /* Line 1778 of yacc.c  */
5301 > #line 1968 "conf_parser.y"
5302      {
5303 +  block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5304   }
5305      break;
5306  
5307    case 376:
5308 <
5309 < /* Line 1810 of yacc.c  */
5857 < #line 2186 "conf_parser.y"
5308 > /* Line 1778 of yacc.c  */
5309 > #line 1974 "conf_parser.y"
5310      {
5311    if (conf_parser_ctx.pass == 2)
5312 <    SetConfAllowAutoConn(yy_aconf);
5312 >    block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5313   }
5314      break;
5315  
5316    case 377:
5317 <
5318 < /* Line 1810 of yacc.c  */
5867 < #line 2190 "conf_parser.y"
5317 > /* Line 1778 of yacc.c  */
5318 > #line 1978 "conf_parser.y"
5319      {
5320    if (conf_parser_ctx.pass == 2)
5321 <    SetConfAwayBurst(yy_aconf);
5321 >    block_state.flags.value |= CONF_FLAGS_SSL;
5322   }
5323      break;
5324  
5325    case 378:
5326 <
5327 < /* Line 1810 of yacc.c  */
5877 < #line 2194 "conf_parser.y"
5326 > /* Line 1778 of yacc.c  */
5327 > #line 1984 "conf_parser.y"
5328      {
5329    if (conf_parser_ctx.pass == 2)
5330 <    SetConfTopicBurst(yy_aconf);
5330 >  {
5331 >    if (yylval.number)
5332 >      block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
5333 >    else
5334 >      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5335 >  }
5336   }
5337      break;
5338  
5339    case 379:
5340 <
5341 < /* Line 1810 of yacc.c  */
5887 < #line 2198 "conf_parser.y"
5340 > /* Line 1778 of yacc.c  */
5341 > #line 1995 "conf_parser.y"
5342      {
5343    if (conf_parser_ctx.pass == 2)
5344 <    SetConfSSL(yy_aconf);
5344 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5345   }
5346      break;
5347  
5348    case 380:
5349 <
5350 < /* Line 1810 of yacc.c  */
5897 < #line 2204 "conf_parser.y"
5349 > /* Line 1778 of yacc.c  */
5350 > #line 2001 "conf_parser.y"
5351      {
5352    if (conf_parser_ctx.pass == 2)
5353 <  {
5901 <    if (yylval.number)
5902 <      yy_aconf->flags |= CONF_FLAGS_ENCRYPTED;
5903 <    else
5904 <      yy_aconf->flags &= ~CONF_FLAGS_ENCRYPTED;
5905 <  }
5353 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5354   }
5355      break;
5356  
5357    case 381:
5358 <
5359 < /* Line 1810 of yacc.c  */
5912 < #line 2215 "conf_parser.y"
5358 > /* Line 1778 of yacc.c  */
5359 > #line 2007 "conf_parser.y"
5360      {
5361    if (conf_parser_ctx.pass == 2)
5362 <  {
5916 <    char *mask;
5917 <
5918 <    DupString(mask, yylval.string);
5919 <    dlinkAdd(mask, make_dlink_node(), &yy_aconf->hub_list);
5920 <  }
5362 >    strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5363   }
5364      break;
5365  
5366    case 382:
5367 <
5368 < /* Line 1810 of yacc.c  */
5927 < #line 2226 "conf_parser.y"
5367 > /* Line 1778 of yacc.c  */
5368 > #line 2013 "conf_parser.y"
5369      {
5370 + #ifdef HAVE_LIBCRYPTO
5371    if (conf_parser_ctx.pass == 2)
5372 <  {
5373 <    char *mask;
5374 <
5375 <    DupString(mask, yylval.string);
5376 <    dlinkAdd(mask, make_dlink_node(), &yy_aconf->leaf_list);
5935 <  }
5372 >    strlcpy(block_state.ciph.buf, yylval.string, sizeof(block_state.ciph.buf));
5373 > #else
5374 >  if (conf_parser_ctx.pass == 2)
5375 >    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5376 > #endif
5377   }
5378      break;
5379  
5380    case 383:
5381 <
5382 < /* Line 1810 of yacc.c  */
5942 < #line 2237 "conf_parser.y"
5381 > /* Line 1778 of yacc.c  */
5382 > #line 2028 "conf_parser.y"
5383      {
5384    if (conf_parser_ctx.pass == 2)
5385 <  {
5946 <    MyFree(class_name);
5947 <    DupString(class_name, yylval.string);
5948 <  }
5385 >    reset_block_state();
5386   }
5387      break;
5388  
5389    case 384:
5390 <
5391 < /* Line 1810 of yacc.c  */
5955 < #line 2246 "conf_parser.y"
5390 > /* Line 1778 of yacc.c  */
5391 > #line 2032 "conf_parser.y"
5392      {
5393 < #ifdef HAVE_LIBCRYPTO
5958 <  if (conf_parser_ctx.pass == 2)
5959 <  {
5960 <    MyFree(yy_aconf->cipher_list);
5961 <    DupString(yy_aconf->cipher_list, yylval.string);
5962 <  }
5963 < #else
5964 <  if (conf_parser_ctx.pass == 2)
5965 <    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5966 < #endif
5967 < }
5968 <    break;
5393 >  struct MaskItem *conf = NULL;
5394  
5395 <  case 385:
5395 >  if (conf_parser_ctx.pass != 2)
5396 >    break;
5397  
5398 < /* Line 1810 of yacc.c  */
5399 < #line 2264 "conf_parser.y"
5974 <    {
5975 <  if (conf_parser_ctx.pass == 2)
5976 <  {
5977 <    userbuf[0] = hostbuf[0] = reasonbuf[0] = '\0';
5978 <    regex_ban = 0;
5979 <  }
5980 < }
5398 >  if (!block_state.user.buf[0] ||
5399 >      !block_state.host.buf[0])
5400      break;
5401  
5983  case 386:
5402  
5403 < /* Line 1810 of yacc.c  */
5986 < #line 2271 "conf_parser.y"
5987 <    {
5988 <  if (conf_parser_ctx.pass == 2)
5403 >  if (block_state.port.value == 1)
5404    {
5990    if (userbuf[0] && hostbuf[0])
5991    {
5992      if (regex_ban)
5993      {
5405   #ifdef HAVE_LIBPCRE
5406 <        void *exp_user = NULL;
5407 <        void *exp_host = NULL;
5408 <        const char *errptr = NULL;
5409 <
5410 <        if (!(exp_user = ircd_pcre_compile(userbuf, &errptr)) ||
5411 <            !(exp_host = ircd_pcre_compile(hostbuf, &errptr)))
5412 <        {
5413 <          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5414 <               errptr);
5415 <          break;
5416 <        }
5406 >    void *exp_user = NULL;
5407 >    void *exp_host = NULL;
5408 >    const char *errptr = NULL;
5409 >
5410 >    if (!(exp_user = ircd_pcre_compile(block_state.user.buf, &errptr)) ||
5411 >        !(exp_host = ircd_pcre_compile(block_state.host.buf, &errptr)))
5412 >    {
5413 >      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5414 >           errptr);
5415 >      break;
5416 >    }
5417  
5418 <        yy_aconf = map_to_conf(make_conf_item(RKLINE_TYPE));
5419 <        yy_aconf->regexuser = exp_user;
5420 <        yy_aconf->regexhost = exp_host;
5418 >    conf = conf_make(CONF_RKLINE);
5419 >    conf->regexuser = exp_user;
5420 >    conf->regexhost = exp_host;
5421  
5422 <        DupString(yy_aconf->user, userbuf);
5423 <        DupString(yy_aconf->host, hostbuf);
5422 >    conf->user = xstrdup(block_state.user.buf);
5423 >    conf->host = xstrdup(block_state.host.buf);
5424  
5425 <        if (reasonbuf[0])
5426 <          DupString(yy_aconf->reason, reasonbuf);
5427 <        else
5428 <          DupString(yy_aconf->reason, "No reason");
5425 >    if (block_state.rpass.buf[0])
5426 >      conf->reason = xstrdup(block_state.rpass.buf);
5427 >    else
5428 >      conf->reason = xstrdup(CONF_NOREASON);
5429   #else
5430 <        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5431 <        break;
5430 >    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5431 >    break;
5432   #endif
5433 <      }
5434 <      else
5435 <      {
5436 <        find_and_delete_temporary(userbuf, hostbuf, CONF_KLINE);
6026 <
6027 <        yy_aconf = map_to_conf(make_conf_item(KLINE_TYPE));
6028 <
6029 <        DupString(yy_aconf->user, userbuf);
6030 <        DupString(yy_aconf->host, hostbuf);
5433 >  }
5434 >  else
5435 >  {
5436 >    conf = conf_make(CONF_KLINE);
5437  
5438 <        if (reasonbuf[0])
5439 <          DupString(yy_aconf->reason, reasonbuf);
6034 <        else
6035 <          DupString(yy_aconf->reason, "No reason");
6036 <        add_conf_by_address(CONF_KLINE, yy_aconf);
6037 <      }
6038 <    }
5438 >    conf->user = xstrdup(block_state.user.buf);
5439 >    conf->host = xstrdup(block_state.host.buf);
5440  
5441 <    yy_aconf = NULL;
5441 >    if (block_state.rpass.buf[0])
5442 >      conf->reason = xstrdup(block_state.rpass.buf);
5443 >    else
5444 >      conf->reason = xstrdup(CONF_NOREASON);
5445 >    add_conf_by_address(CONF_KLINE, conf);
5446    }
5447   }
5448      break;
5449  
5450 <  case 387:
5451 <
5452 < /* Line 1810 of yacc.c  */
6048 < #line 2329 "conf_parser.y"
5450 >  case 385:
5451 > /* Line 1778 of yacc.c  */
5452 > #line 2090 "conf_parser.y"
5453      {
5454 +  if (conf_parser_ctx.pass == 2)
5455 +    block_state.port.value = 0;
5456   }
5457      break;
5458  
5459 <  case 391:
5460 <
5461 < /* Line 1810 of yacc.c  */
6056 < #line 2334 "conf_parser.y"
5459 >  case 389:
5460 > /* Line 1778 of yacc.c  */
5461 > #line 2097 "conf_parser.y"
5462      {
5463    if (conf_parser_ctx.pass == 2)
5464 <    regex_ban = 1;
5464 >    block_state.port.value = 1;
5465   }
5466      break;
5467  
5468 <  case 398:
5469 <
5470 < /* Line 1810 of yacc.c  */
6066 < #line 2343 "conf_parser.y"
5468 >  case 396:
5469 > /* Line 1778 of yacc.c  */
5470 > #line 2106 "conf_parser.y"
5471      {
5472 +
5473    if (conf_parser_ctx.pass == 2)
5474    {
5475      struct split_nuh_item nuh;
5476  
5477      nuh.nuhmask  = yylval.string;
5478      nuh.nickptr  = NULL;
5479 <    nuh.userptr  = userbuf;
5480 <    nuh.hostptr  = hostbuf;
5479 >    nuh.userptr  = block_state.user.buf;
5480 >    nuh.hostptr  = block_state.host.buf;
5481  
5482      nuh.nicksize = 0;
5483 <    nuh.usersize = sizeof(userbuf);
5484 <    nuh.hostsize = sizeof(hostbuf);
5483 >    nuh.usersize = sizeof(block_state.user.buf);
5484 >    nuh.hostsize = sizeof(block_state.host.buf);
5485  
5486      split_nuh(&nuh);
5487    }
5488   }
5489      break;
5490  
5491 <  case 399:
5492 <
5493 < /* Line 1810 of yacc.c  */
6089 < #line 2362 "conf_parser.y"
5491 >  case 397:
5492 > /* Line 1778 of yacc.c  */
5493 > #line 2126 "conf_parser.y"
5494      {
5495    if (conf_parser_ctx.pass == 2)
5496 <    strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5496 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5497   }
5498      break;
5499  
5500 <  case 400:
5501 <
5502 < /* Line 1810 of yacc.c  */
6099 < #line 2371 "conf_parser.y"
5500 >  case 398:
5501 > /* Line 1778 of yacc.c  */
5502 > #line 2135 "conf_parser.y"
5503      {
5504    if (conf_parser_ctx.pass == 2)
5505 <    hostbuf[0] = reasonbuf[0] = '\0';
5505 >    reset_block_state();
5506   }
5507      break;
5508  
5509 <  case 401:
5510 <
5511 < /* Line 1810 of yacc.c  */
6109 < #line 2375 "conf_parser.y"
6110 <    {
6111 <  if (conf_parser_ctx.pass == 2)
6112 <  {
6113 <    if (hostbuf[0] && parse_netmask(hostbuf, NULL, NULL) != HM_HOST)
5509 >  case 399:
5510 > /* Line 1778 of yacc.c  */
5511 > #line 2139 "conf_parser.y"
5512      {
5513 <      find_and_delete_temporary(NULL, hostbuf, CONF_DLINE);
5513 >  struct MaskItem *conf = NULL;
5514 >
5515 >  if (conf_parser_ctx.pass != 2)
5516 >    break;
5517  
5518 <      yy_aconf = map_to_conf(make_conf_item(DLINE_TYPE));
5519 <      DupString(yy_aconf->host, hostbuf);
5518 >  if (!block_state.addr.buf[0])
5519 >    break;
5520  
5521 <      if (reasonbuf[0])
5522 <        DupString(yy_aconf->reason, reasonbuf);
5523 <      else
5524 <        DupString(yy_aconf->reason, "No reason");
5525 <      add_conf_by_address(CONF_DLINE, yy_aconf);
5526 <      yy_aconf = NULL;
5527 <    }
5521 >  if (parse_netmask(block_state.addr.buf, NULL, NULL) != HM_HOST)
5522 >  {
5523 >    conf = conf_make(CONF_DLINE);
5524 >    conf->host = xstrdup(block_state.addr.buf);
5525 >
5526 >    if (block_state.rpass.buf[0])
5527 >      conf->reason = xstrdup(block_state.rpass.buf);
5528 >    else
5529 >      conf->reason = xstrdup(CONF_NOREASON);
5530 >    add_conf_by_address(CONF_DLINE, conf);
5531    }
5532   }
5533      break;
5534  
5535 <  case 407:
5536 <
5537 < /* Line 1810 of yacc.c  */
6134 < #line 2399 "conf_parser.y"
5535 >  case 405:
5536 > /* Line 1778 of yacc.c  */
5537 > #line 2165 "conf_parser.y"
5538      {
5539    if (conf_parser_ctx.pass == 2)
5540 <    strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
5540 >    strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5541   }
5542      break;
5543  
5544 <  case 408:
5545 <
5546 < /* Line 1810 of yacc.c  */
6144 < #line 2405 "conf_parser.y"
5544 >  case 406:
5545 > /* Line 1778 of yacc.c  */
5546 > #line 2171 "conf_parser.y"
5547      {
5548    if (conf_parser_ctx.pass == 2)
5549 <    strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5549 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5550   }
5551      break;
5552  
5553 <  case 414:
5554 <
5555 < /* Line 1810 of yacc.c  */
6154 < #line 2419 "conf_parser.y"
5553 >  case 412:
5554 > /* Line 1778 of yacc.c  */
5555 > #line 2185 "conf_parser.y"
5556      {
5557    if (conf_parser_ctx.pass == 2)
5558    {
5559      if (yylval.string[0] && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5560      {
5561 <      yy_aconf = map_to_conf(make_conf_item(EXEMPTDLINE_TYPE));
5562 <      DupString(yy_aconf->host, yylval.string);
5561 >      struct MaskItem *conf = conf_make(CONF_EXEMPT);
5562 >      conf->host = xstrdup(yylval.string);
5563  
5564 <      add_conf_by_address(CONF_EXEMPTDLINE, yy_aconf);
6164 <      yy_aconf = NULL;
5564 >      add_conf_by_address(CONF_EXEMPT, conf);
5565      }
5566    }
5567   }
5568      break;
5569  
5570 <  case 415:
5571 <
5572 < /* Line 1810 of yacc.c  */
6173 < #line 2437 "conf_parser.y"
5570 >  case 413:
5571 > /* Line 1778 of yacc.c  */
5572 > #line 2202 "conf_parser.y"
5573      {
5574    if (conf_parser_ctx.pass == 2)
5575 <  {
6177 <    regex_ban = 0;
6178 <    reasonbuf[0] = gecos_name[0] = '\0';
6179 <  }
5575 >    reset_block_state();
5576   }
5577      break;
5578  
5579 <  case 416:
5580 <
5581 < /* Line 1810 of yacc.c  */
6186 < #line 2444 "conf_parser.y"
5579 >  case 414:
5580 > /* Line 1778 of yacc.c  */
5581 > #line 2206 "conf_parser.y"
5582      {
5583 <  if (conf_parser_ctx.pass == 2)
5583 >  struct MaskItem *conf = NULL;
5584 >
5585 >  if (conf_parser_ctx.pass != 2)
5586 >    break;
5587 >
5588 >  if (!block_state.name.buf[0])
5589 >    break;
5590 >
5591 >  if (block_state.port.value == 1)
5592    {
6190    if (gecos_name[0])
6191    {
6192      if (regex_ban)
6193      {
5593   #ifdef HAVE_LIBPCRE
5594 <        void *exp_p = NULL;
5595 <        const char *errptr = NULL;
5594 >    void *exp_p = NULL;
5595 >    const char *errptr = NULL;
5596  
5597 <        if (!(exp_p = ircd_pcre_compile(gecos_name, &errptr)))
5598 <        {
5599 <          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5600 <               errptr);
5601 <          break;
5602 <        }
5597 >    if (!(exp_p = ircd_pcre_compile(block_state.name.buf, &errptr)))
5598 >    {
5599 >      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5600 >           errptr);
5601 >      break;
5602 >    }
5603  
5604 <        yy_conf = make_conf_item(RXLINE_TYPE);
5605 <        yy_conf->regexpname = exp_p;
5604 >    conf = conf_make(CONF_RXLINE);
5605 >    conf->regexuser = exp_p;
5606   #else
5607 <        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5608 <        break;
5607 >    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5608 >    break;
5609   #endif
5610 <      }
5611 <      else
5612 <        yy_conf = make_conf_item(XLINE_TYPE);
5610 >  }
5611 >  else
5612 >    conf = conf_make(CONF_XLINE);
5613  
5614 <      yy_match_item = map_to_conf(yy_conf);
6216 <      DupString(yy_conf->name, gecos_name);
5614 >  conf->name = xstrdup(block_state.name.buf);
5615  
5616 <      if (reasonbuf[0])
5617 <        DupString(yy_match_item->reason, reasonbuf);
5618 <      else
5619 <        DupString(yy_match_item->reason, "No reason");
6222 <    }
6223 <  }
5616 >  if (block_state.rpass.buf[0])
5617 >    conf->reason = xstrdup(block_state.rpass.buf);
5618 >  else
5619 >    conf->reason = xstrdup(CONF_NOREASON);
5620   }
5621      break;
5622  
5623 <  case 417:
5624 <
5625 < /* Line 1810 of yacc.c  */
6230 < #line 2484 "conf_parser.y"
5623 >  case 415:
5624 > /* Line 1778 of yacc.c  */
5625 > #line 2247 "conf_parser.y"
5626      {
5627 +  if (conf_parser_ctx.pass == 2)
5628 +    block_state.port.value = 0;
5629   }
5630      break;
5631  
5632 <  case 421:
5633 <
5634 < /* Line 1810 of yacc.c  */
6238 < #line 2489 "conf_parser.y"
5632 >  case 419:
5633 > /* Line 1778 of yacc.c  */
5634 > #line 2254 "conf_parser.y"
5635      {
5636    if (conf_parser_ctx.pass == 2)
5637 <    regex_ban = 1;
5637 >    block_state.port.value = 1;
5638   }
5639      break;
5640  
5641 <  case 428:
5642 <
5643 < /* Line 1810 of yacc.c  */
6248 < #line 2498 "conf_parser.y"
5641 >  case 426:
5642 > /* Line 1778 of yacc.c  */
5643 > #line 2263 "conf_parser.y"
5644      {
5645    if (conf_parser_ctx.pass == 2)
5646 <    strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
5646 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5647   }
5648      break;
5649  
5650 <  case 429:
5651 <
5652 < /* Line 1810 of yacc.c  */
6258 < #line 2504 "conf_parser.y"
5650 >  case 427:
5651 > /* Line 1778 of yacc.c  */
5652 > #line 2269 "conf_parser.y"
5653      {
5654    if (conf_parser_ctx.pass == 2)
5655 <    strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5655 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5656   }
5657      break;
5658  
5659 <  case 485:
5660 <
5661 < /* Line 1810 of yacc.c  */
6268 < #line 2548 "conf_parser.y"
5659 >  case 481:
5660 > /* Line 1778 of yacc.c  */
5661 > #line 2314 "conf_parser.y"
5662      {
5663    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5664   }
5665      break;
5666  
5667 <  case 486:
5668 <
5669 < /* Line 1810 of yacc.c  */
6277 < #line 2553 "conf_parser.y"
5667 >  case 482:
5668 > /* Line 1778 of yacc.c  */
5669 > #line 2319 "conf_parser.y"
5670      {
5671 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5671 >  if (conf_parser_ctx.pass == 2)
5672 >    ConfigFileEntry.glines = yylval.number;
5673   }
5674      break;
5675  
5676 <  case 487:
5677 <
5678 < /* Line 1810 of yacc.c  */
6286 < #line 2558 "conf_parser.y"
5676 >  case 483:
5677 > /* Line 1778 of yacc.c  */
5678 > #line 2325 "conf_parser.y"
5679      {
5680 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5680 >  if (conf_parser_ctx.pass == 2)
5681 >    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5682   }
5683      break;
5684  
5685 <  case 488:
5686 <
5687 < /* Line 1810 of yacc.c  */
6295 < #line 2563 "conf_parser.y"
5685 >  case 484:
5686 > /* Line 1778 of yacc.c  */
5687 > #line 2331 "conf_parser.y"
5688      {
5689 <  ConfigFileEntry.use_whois_actually = yylval.number;
5689 >  if (conf_parser_ctx.pass == 2)
5690 >    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5691   }
5692      break;
5693  
5694 <  case 489:
5695 <
5696 < /* Line 1810 of yacc.c  */
6304 < #line 2568 "conf_parser.y"
5694 >  case 485:
5695 > /* Line 1778 of yacc.c  */
5696 > #line 2337 "conf_parser.y"
5697      {
5698 <  GlobalSetOptions.rejecttime = yylval.number;
5698 >  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5699   }
5700      break;
5701  
5702 <  case 490:
5702 >  case 486:
5703 > /* Line 1778 of yacc.c  */
5704 > #line 2342 "conf_parser.y"
5705 >    {
5706 >  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5707 > }
5708 >    break;
5709  
5710 < /* Line 1810 of yacc.c  */
5711 < #line 2573 "conf_parser.y"
5710 >  case 487:
5711 > /* Line 1778 of yacc.c  */
5712 > #line 2347 "conf_parser.y"
5713      {
5714    ConfigFileEntry.tkline_expire_notices = yylval.number;
5715   }
5716      break;
5717  
5718 <  case 491:
5719 <
5720 < /* Line 1810 of yacc.c  */
6322 < #line 2578 "conf_parser.y"
5718 >  case 488:
5719 > /* Line 1778 of yacc.c  */
5720 > #line 2352 "conf_parser.y"
5721      {
5722    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5723   }
5724      break;
5725  
5726 <  case 492:
5727 <
5728 < /* Line 1810 of yacc.c  */
6331 < #line 2583 "conf_parser.y"
5726 >  case 489:
5727 > /* Line 1778 of yacc.c  */
5728 > #line 2357 "conf_parser.y"
5729      {
5730    ConfigFileEntry.hide_spoof_ips = yylval.number;
5731   }
5732      break;
5733  
5734 <  case 493:
5735 <
5736 < /* Line 1810 of yacc.c  */
6340 < #line 2588 "conf_parser.y"
5734 >  case 490:
5735 > /* Line 1778 of yacc.c  */
5736 > #line 2362 "conf_parser.y"
5737      {
5738    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5739   }
5740      break;
5741  
5742 <  case 494:
5743 <
5744 < /* Line 1810 of yacc.c  */
6349 < #line 2593 "conf_parser.y"
5742 >  case 491:
5743 > /* Line 1778 of yacc.c  */
5744 > #line 2367 "conf_parser.y"
5745      {
5746    ConfigFileEntry.disable_remote = yylval.number;
5747   }
5748      break;
5749  
5750 <  case 495:
5751 <
5752 < /* Line 1810 of yacc.c  */
6358 < #line 2598 "conf_parser.y"
5750 >  case 492:
5751 > /* Line 1778 of yacc.c  */
5752 > #line 2372 "conf_parser.y"
5753      {
5754    ConfigFileEntry.failed_oper_notice = yylval.number;
5755   }
5756      break;
5757  
5758 <  case 496:
5759 <
5760 < /* Line 1810 of yacc.c  */
6367 < #line 2603 "conf_parser.y"
5758 >  case 493:
5759 > /* Line 1778 of yacc.c  */
5760 > #line 2377 "conf_parser.y"
5761      {
5762    ConfigFileEntry.anti_nick_flood = yylval.number;
5763   }
5764      break;
5765  
5766 <  case 497:
5767 <
5768 < /* Line 1810 of yacc.c  */
6376 < #line 2608 "conf_parser.y"
5766 >  case 494:
5767 > /* Line 1778 of yacc.c  */
5768 > #line 2382 "conf_parser.y"
5769      {
5770    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5771   }
5772      break;
5773  
5774 <  case 498:
5775 <
5776 < /* Line 1810 of yacc.c  */
6385 < #line 2613 "conf_parser.y"
5774 >  case 495:
5775 > /* Line 1778 of yacc.c  */
5776 > #line 2387 "conf_parser.y"
5777      {
5778    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5779   }
5780      break;
5781  
5782 <  case 499:
5783 <
5784 < /* Line 1810 of yacc.c  */
6394 < #line 2618 "conf_parser.y"
5782 >  case 496:
5783 > /* Line 1778 of yacc.c  */
5784 > #line 2392 "conf_parser.y"
5785      {
5786    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5787   }
5788      break;
5789  
5790 <  case 500:
5791 <
5792 < /* Line 1810 of yacc.c  */
6403 < #line 2623 "conf_parser.y"
5790 >  case 497:
5791 > /* Line 1778 of yacc.c  */
5792 > #line 2397 "conf_parser.y"
5793      {
5794    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5795   }
5796      break;
5797  
5798 <  case 501:
5799 <
5800 < /* Line 1810 of yacc.c  */
6412 < #line 2628 "conf_parser.y"
5798 >  case 498:
5799 > /* Line 1778 of yacc.c  */
5800 > #line 2402 "conf_parser.y"
5801      {
5802    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
5803   }
5804      break;
5805  
5806 <  case 502:
5807 <
5808 < /* Line 1810 of yacc.c  */
6421 < #line 2633 "conf_parser.y"
5806 >  case 499:
5807 > /* Line 1778 of yacc.c  */
5808 > #line 2407 "conf_parser.y"
5809      {
5810    if (conf_parser_ctx.pass == 2)
5811      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
5812   }
5813      break;
5814  
5815 <  case 503:
5816 <
5817 < /* Line 1810 of yacc.c  */
6431 < #line 2639 "conf_parser.y"
5815 >  case 500:
5816 > /* Line 1778 of yacc.c  */
5817 > #line 2413 "conf_parser.y"
5818      {
5819    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
5820    {
# Line 6440 | Line 5826 | yyreduce:
5826   }
5827      break;
5828  
5829 <  case 504:
5830 <
5831 < /* Line 1810 of yacc.c  */
6446 < #line 2650 "conf_parser.y"
6447 <    {
6448 <  ConfigFileEntry.kline_with_reason = yylval.number;
6449 < }
6450 <    break;
6451 <
6452 <  case 505:
6453 <
6454 < /* Line 1810 of yacc.c  */
6455 < #line 2655 "conf_parser.y"
6456 <    {
6457 <  if (conf_parser_ctx.pass == 2)
6458 <  {
6459 <    MyFree(ConfigFileEntry.kline_reason);
6460 <    DupString(ConfigFileEntry.kline_reason, yylval.string);
6461 <  }
6462 < }
6463 <    break;
6464 <
6465 <  case 506:
6466 <
6467 < /* Line 1810 of yacc.c  */
6468 < #line 2664 "conf_parser.y"
5829 >  case 501:
5830 > /* Line 1778 of yacc.c  */
5831 > #line 2424 "conf_parser.y"
5832      {
5833    ConfigFileEntry.invisible_on_connect = yylval.number;
5834   }
5835      break;
5836  
5837 <  case 507:
5838 <
5839 < /* Line 1810 of yacc.c  */
6477 < #line 2669 "conf_parser.y"
5837 >  case 502:
5838 > /* Line 1778 of yacc.c  */
5839 > #line 2429 "conf_parser.y"
5840      {
5841    ConfigFileEntry.warn_no_nline = yylval.number;
5842   }
5843      break;
5844  
5845 <  case 508:
5846 <
5847 < /* Line 1810 of yacc.c  */
6486 < #line 2674 "conf_parser.y"
5845 >  case 503:
5846 > /* Line 1778 of yacc.c  */
5847 > #line 2434 "conf_parser.y"
5848      {
5849    ConfigFileEntry.stats_e_disabled = yylval.number;
5850   }
5851      break;
5852  
5853 <  case 509:
5854 <
5855 < /* Line 1810 of yacc.c  */
6495 < #line 2679 "conf_parser.y"
5853 >  case 504:
5854 > /* Line 1778 of yacc.c  */
5855 > #line 2439 "conf_parser.y"
5856      {
5857    ConfigFileEntry.stats_o_oper_only = yylval.number;
5858   }
5859      break;
5860  
5861 <  case 510:
5862 <
5863 < /* Line 1810 of yacc.c  */
6504 < #line 2684 "conf_parser.y"
5861 >  case 505:
5862 > /* Line 1778 of yacc.c  */
5863 > #line 2444 "conf_parser.y"
5864      {
5865    ConfigFileEntry.stats_P_oper_only = yylval.number;
5866   }
5867      break;
5868  
5869 <  case 511:
5870 <
5871 < /* Line 1810 of yacc.c  */
6513 < #line 2689 "conf_parser.y"
5869 >  case 506:
5870 > /* Line 1778 of yacc.c  */
5871 > #line 2449 "conf_parser.y"
5872      {
5873    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5874   }
5875      break;
5876  
5877 <  case 512:
5878 <
5879 < /* Line 1810 of yacc.c  */
6522 < #line 2692 "conf_parser.y"
5877 >  case 507:
5878 > /* Line 1778 of yacc.c  */
5879 > #line 2452 "conf_parser.y"
5880      {
5881    ConfigFileEntry.stats_k_oper_only = 1;
5882   }
5883      break;
5884  
5885 <  case 513:
5886 <
5887 < /* Line 1810 of yacc.c  */
6531 < #line 2697 "conf_parser.y"
5885 >  case 508:
5886 > /* Line 1778 of yacc.c  */
5887 > #line 2457 "conf_parser.y"
5888      {
5889    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5890   }
5891      break;
5892  
5893 <  case 514:
5894 <
5895 < /* Line 1810 of yacc.c  */
6540 < #line 2700 "conf_parser.y"
5893 >  case 509:
5894 > /* Line 1778 of yacc.c  */
5895 > #line 2460 "conf_parser.y"
5896      {
5897    ConfigFileEntry.stats_i_oper_only = 1;
5898   }
5899      break;
5900  
5901 <  case 515:
5902 <
5903 < /* Line 1810 of yacc.c  */
6549 < #line 2705 "conf_parser.y"
5901 >  case 510:
5902 > /* Line 1778 of yacc.c  */
5903 > #line 2465 "conf_parser.y"
5904      {
5905    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
5906   }
5907      break;
5908  
5909 <  case 516:
5910 <
5911 < /* Line 1810 of yacc.c  */
6558 < #line 2710 "conf_parser.y"
5909 >  case 511:
5910 > /* Line 1778 of yacc.c  */
5911 > #line 2470 "conf_parser.y"
5912      {
5913    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
5914   }
5915      break;
5916  
5917 <  case 517:
5918 <
5919 < /* Line 1810 of yacc.c  */
6567 < #line 2715 "conf_parser.y"
5917 >  case 512:
5918 > /* Line 1778 of yacc.c  */
5919 > #line 2475 "conf_parser.y"
5920      {
5921    ConfigFileEntry.opers_bypass_callerid = yylval.number;
5922   }
5923      break;
5924  
5925 <  case 518:
5926 <
5927 < /* Line 1810 of yacc.c  */
6576 < #line 2720 "conf_parser.y"
5925 >  case 513:
5926 > /* Line 1778 of yacc.c  */
5927 > #line 2480 "conf_parser.y"
5928      {
5929    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
5930   }
5931      break;
5932  
5933 <  case 519:
5934 <
5935 < /* Line 1810 of yacc.c  */
6585 < #line 2725 "conf_parser.y"
5933 >  case 514:
5934 > /* Line 1778 of yacc.c  */
5935 > #line 2485 "conf_parser.y"
5936      {
5937    ConfigFileEntry.short_motd = yylval.number;
5938   }
5939      break;
5940  
5941 <  case 520:
5942 <
5943 < /* Line 1810 of yacc.c  */
6594 < #line 2730 "conf_parser.y"
5941 >  case 515:
5942 > /* Line 1778 of yacc.c  */
5943 > #line 2490 "conf_parser.y"
5944      {
5945    ConfigFileEntry.no_oper_flood = yylval.number;
5946   }
5947      break;
5948  
5949 <  case 521:
5950 <
5951 < /* Line 1810 of yacc.c  */
6603 < #line 2735 "conf_parser.y"
5949 >  case 516:
5950 > /* Line 1778 of yacc.c  */
5951 > #line 2495 "conf_parser.y"
5952      {
5953    ConfigFileEntry.true_no_oper_flood = yylval.number;
5954   }
5955      break;
5956  
5957 <  case 522:
5958 <
5959 < /* Line 1810 of yacc.c  */
6612 < #line 2740 "conf_parser.y"
5957 >  case 517:
5958 > /* Line 1778 of yacc.c  */
5959 > #line 2500 "conf_parser.y"
5960      {
5961    ConfigFileEntry.oper_pass_resv = yylval.number;
5962   }
5963      break;
5964  
5965 <  case 523:
5966 <
5967 < /* Line 1810 of yacc.c  */
6621 < #line 2745 "conf_parser.y"
5965 >  case 518:
5966 > /* Line 1778 of yacc.c  */
5967 > #line 2505 "conf_parser.y"
5968      {
5969    if (conf_parser_ctx.pass == 2)
5970    {
# Line 6630 | Line 5976 | yyreduce:
5976   }
5977      break;
5978  
5979 <  case 524:
5980 <
5981 < /* Line 1810 of yacc.c  */
6636 < #line 2756 "conf_parser.y"
5979 >  case 519:
5980 > /* Line 1778 of yacc.c  */
5981 > #line 2516 "conf_parser.y"
5982      {
5983    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
5984   }
5985      break;
5986  
5987 <  case 525:
5988 <
5989 < /* Line 1810 of yacc.c  */
6645 < #line 2761 "conf_parser.y"
5987 >  case 520:
5988 > /* Line 1778 of yacc.c  */
5989 > #line 2521 "conf_parser.y"
5990      {
5991    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
5992   }
5993      break;
5994  
5995 <  case 526:
5996 <
5997 < /* Line 1810 of yacc.c  */
6654 < #line 2766 "conf_parser.y"
5995 >  case 521:
5996 > /* Line 1778 of yacc.c  */
5997 > #line 2526 "conf_parser.y"
5998      {
5999    ConfigFileEntry.use_egd = yylval.number;
6000   }
6001      break;
6002  
6003 <  case 527:
6004 <
6005 < /* Line 1810 of yacc.c  */
6663 < #line 2771 "conf_parser.y"
6003 >  case 522:
6004 > /* Line 1778 of yacc.c  */
6005 > #line 2531 "conf_parser.y"
6006      {
6007    if (conf_parser_ctx.pass == 2)
6008    {
6009      MyFree(ConfigFileEntry.egdpool_path);
6010 <    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6010 >    ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
6011    }
6012   }
6013      break;
6014  
6015 <  case 528:
6016 <
6017 < /* Line 1810 of yacc.c  */
6676 < #line 2780 "conf_parser.y"
6015 >  case 523:
6016 > /* Line 1778 of yacc.c  */
6017 > #line 2540 "conf_parser.y"
6018      {
6019    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6020    {
6021      MyFree(ConfigFileEntry.service_name);
6022 <    DupString(ConfigFileEntry.service_name, yylval.string);
6022 >    ConfigFileEntry.service_name = xstrdup(yylval.string);
6023    }
6024   }
6025      break;
6026  
6027 <  case 529:
6028 <
6029 < /* Line 1810 of yacc.c  */
6689 < #line 2789 "conf_parser.y"
6027 >  case 524:
6028 > /* Line 1778 of yacc.c  */
6029 > #line 2549 "conf_parser.y"
6030      {
6031    ConfigFileEntry.ping_cookie = yylval.number;
6032   }
6033      break;
6034  
6035 <  case 530:
6036 <
6037 < /* Line 1810 of yacc.c  */
6698 < #line 2794 "conf_parser.y"
6035 >  case 525:
6036 > /* Line 1778 of yacc.c  */
6037 > #line 2554 "conf_parser.y"
6038      {
6039    ConfigFileEntry.disable_auth = yylval.number;
6040   }
6041      break;
6042  
6043 <  case 531:
6044 <
6045 < /* Line 1810 of yacc.c  */
6707 < #line 2799 "conf_parser.y"
6043 >  case 526:
6044 > /* Line 1778 of yacc.c  */
6045 > #line 2559 "conf_parser.y"
6046      {
6047    ConfigFileEntry.throttle_time = yylval.number;
6048   }
6049      break;
6050  
6051 <  case 532:
6052 <
6053 < /* Line 1810 of yacc.c  */
6716 < #line 2804 "conf_parser.y"
6051 >  case 527:
6052 > /* Line 1778 of yacc.c  */
6053 > #line 2564 "conf_parser.y"
6054      {
6055    ConfigFileEntry.oper_umodes = 0;
6056   }
6057      break;
6058  
6059 <  case 536:
6060 <
6061 < /* Line 1810 of yacc.c  */
6725 < #line 2810 "conf_parser.y"
6059 >  case 531:
6060 > /* Line 1778 of yacc.c  */
6061 > #line 2570 "conf_parser.y"
6062      {
6063    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6064   }
6065      break;
6066  
6067 <  case 537:
6068 <
6069 < /* Line 1810 of yacc.c  */
6734 < #line 2813 "conf_parser.y"
6067 >  case 532:
6068 > /* Line 1778 of yacc.c  */
6069 > #line 2573 "conf_parser.y"
6070      {
6071    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6072   }
6073      break;
6074  
6075 <  case 538:
6076 <
6077 < /* Line 1810 of yacc.c  */
6743 < #line 2816 "conf_parser.y"
6075 >  case 533:
6076 > /* Line 1778 of yacc.c  */
6077 > #line 2576 "conf_parser.y"
6078      {
6079    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6080   }
6081      break;
6082  
6083 <  case 539:
6084 <
6085 < /* Line 1810 of yacc.c  */
6752 < #line 2819 "conf_parser.y"
6083 >  case 534:
6084 > /* Line 1778 of yacc.c  */
6085 > #line 2579 "conf_parser.y"
6086      {
6087    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6088   }
6089      break;
6090  
6091 <  case 540:
6092 <
6093 < /* Line 1810 of yacc.c  */
6761 < #line 2822 "conf_parser.y"
6091 >  case 535:
6092 > /* Line 1778 of yacc.c  */
6093 > #line 2582 "conf_parser.y"
6094      {
6095    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6096   }
6097      break;
6098  
6099 <  case 541:
6100 <
6101 < /* Line 1810 of yacc.c  */
6770 < #line 2825 "conf_parser.y"
6099 >  case 536:
6100 > /* Line 1778 of yacc.c  */
6101 > #line 2585 "conf_parser.y"
6102      {
6103    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6104   }
6105      break;
6106  
6107 <  case 542:
6108 <
6109 < /* Line 1810 of yacc.c  */
6779 < #line 2828 "conf_parser.y"
6107 >  case 537:
6108 > /* Line 1778 of yacc.c  */
6109 > #line 2588 "conf_parser.y"
6110      {
6111    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6112   }
6113      break;
6114  
6115 <  case 543:
6116 <
6117 < /* Line 1810 of yacc.c  */
6788 < #line 2831 "conf_parser.y"
6115 >  case 538:
6116 > /* Line 1778 of yacc.c  */
6117 > #line 2591 "conf_parser.y"
6118      {
6119    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6120   }
6121      break;
6122  
6123 <  case 544:
6124 <
6125 < /* Line 1810 of yacc.c  */
6797 < #line 2834 "conf_parser.y"
6123 >  case 539:
6124 > /* Line 1778 of yacc.c  */
6125 > #line 2594 "conf_parser.y"
6126      {
6127    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6128   }
6129      break;
6130  
6131 <  case 545:
6132 <
6133 < /* Line 1810 of yacc.c  */
6806 < #line 2837 "conf_parser.y"
6131 >  case 540:
6132 > /* Line 1778 of yacc.c  */
6133 > #line 2597 "conf_parser.y"
6134      {
6135    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6136   }
6137      break;
6138  
6139 <  case 546:
6140 <
6141 < /* Line 1810 of yacc.c  */
6815 < #line 2840 "conf_parser.y"
6139 >  case 541:
6140 > /* Line 1778 of yacc.c  */
6141 > #line 2600 "conf_parser.y"
6142      {
6143    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6144   }
6145      break;
6146  
6147 <  case 547:
6148 <
6149 < /* Line 1810 of yacc.c  */
6824 < #line 2843 "conf_parser.y"
6147 >  case 542:
6148 > /* Line 1778 of yacc.c  */
6149 > #line 2603 "conf_parser.y"
6150      {
6151    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6152   }
6153      break;
6154  
6155 <  case 548:
6156 <
6157 < /* Line 1810 of yacc.c  */
6833 < #line 2846 "conf_parser.y"
6155 >  case 543:
6156 > /* Line 1778 of yacc.c  */
6157 > #line 2606 "conf_parser.y"
6158      {
6159    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6160   }
6161      break;
6162  
6163 <  case 549:
6164 <
6165 < /* Line 1810 of yacc.c  */
6842 < #line 2849 "conf_parser.y"
6163 >  case 544:
6164 > /* Line 1778 of yacc.c  */
6165 > #line 2609 "conf_parser.y"
6166      {
6167    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6168   }
6169      break;
6170  
6171 <  case 550:
6172 <
6173 < /* Line 1810 of yacc.c  */
6851 < #line 2852 "conf_parser.y"
6171 >  case 545:
6172 > /* Line 1778 of yacc.c  */
6173 > #line 2612 "conf_parser.y"
6174      {
6175    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6176   }
6177      break;
6178  
6179 <  case 551:
6180 <
6181 < /* Line 1810 of yacc.c  */
6860 < #line 2855 "conf_parser.y"
6179 >  case 546:
6180 > /* Line 1778 of yacc.c  */
6181 > #line 2615 "conf_parser.y"
6182      {
6183    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6184   }
6185      break;
6186  
6187 <  case 552:
6188 <
6189 < /* Line 1810 of yacc.c  */
6869 < #line 2858 "conf_parser.y"
6187 >  case 547:
6188 > /* Line 1778 of yacc.c  */
6189 > #line 2618 "conf_parser.y"
6190      {
6191    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6192   }
6193      break;
6194  
6195 <  case 553:
6196 <
6197 < /* Line 1810 of yacc.c  */
6878 < #line 2861 "conf_parser.y"
6195 >  case 548:
6196 > /* Line 1778 of yacc.c  */
6197 > #line 2621 "conf_parser.y"
6198      {
6199    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6200   }
6201      break;
6202  
6203 <  case 554:
6204 <
6205 < /* Line 1810 of yacc.c  */
6887 < #line 2864 "conf_parser.y"
6203 >  case 549:
6204 > /* Line 1778 of yacc.c  */
6205 > #line 2624 "conf_parser.y"
6206      {
6207    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6208   }
6209      break;
6210  
6211 <  case 555:
6212 <
6213 < /* Line 1810 of yacc.c  */
6896 < #line 2867 "conf_parser.y"
6211 >  case 550:
6212 > /* Line 1778 of yacc.c  */
6213 > #line 2627 "conf_parser.y"
6214      {
6215    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6216   }
6217      break;
6218  
6219 <  case 556:
6220 <
6221 < /* Line 1810 of yacc.c  */
6905 < #line 2872 "conf_parser.y"
6219 >  case 551:
6220 > /* Line 1778 of yacc.c  */
6221 > #line 2632 "conf_parser.y"
6222      {
6223    ConfigFileEntry.oper_only_umodes = 0;
6224   }
6225      break;
6226  
6227 <  case 560:
6228 <
6229 < /* Line 1810 of yacc.c  */
6914 < #line 2878 "conf_parser.y"
6227 >  case 555:
6228 > /* Line 1778 of yacc.c  */
6229 > #line 2638 "conf_parser.y"
6230      {
6231    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6232   }
6233      break;
6234  
6235 <  case 561:
6236 <
6237 < /* Line 1810 of yacc.c  */
6923 < #line 2881 "conf_parser.y"
6235 >  case 556:
6236 > /* Line 1778 of yacc.c  */
6237 > #line 2641 "conf_parser.y"
6238      {
6239    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6240   }
6241      break;
6242  
6243 <  case 562:
6244 <
6245 < /* Line 1810 of yacc.c  */
6932 < #line 2884 "conf_parser.y"
6243 >  case 557:
6244 > /* Line 1778 of yacc.c  */
6245 > #line 2644 "conf_parser.y"
6246      {
6247    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6248   }
6249      break;
6250  
6251 <  case 563:
6252 <
6253 < /* Line 1810 of yacc.c  */
6941 < #line 2887 "conf_parser.y"
6251 >  case 558:
6252 > /* Line 1778 of yacc.c  */
6253 > #line 2647 "conf_parser.y"
6254      {
6255    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6256   }
6257      break;
6258  
6259 <  case 564:
6260 <
6261 < /* Line 1810 of yacc.c  */
6950 < #line 2890 "conf_parser.y"
6259 >  case 559:
6260 > /* Line 1778 of yacc.c  */
6261 > #line 2650 "conf_parser.y"
6262      {
6263    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6264   }
6265      break;
6266  
6267 <  case 565:
6268 <
6269 < /* Line 1810 of yacc.c  */
6959 < #line 2893 "conf_parser.y"
6267 >  case 560:
6268 > /* Line 1778 of yacc.c  */
6269 > #line 2653 "conf_parser.y"
6270      {
6271    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6272   }
6273      break;
6274  
6275 <  case 566:
6276 <
6277 < /* Line 1810 of yacc.c  */
6968 < #line 2896 "conf_parser.y"
6275 >  case 561:
6276 > /* Line 1778 of yacc.c  */
6277 > #line 2656 "conf_parser.y"
6278      {
6279    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6280   }
6281      break;
6282  
6283 <  case 567:
6284 <
6285 < /* Line 1810 of yacc.c  */
6977 < #line 2899 "conf_parser.y"
6283 >  case 562:
6284 > /* Line 1778 of yacc.c  */
6285 > #line 2659 "conf_parser.y"
6286      {
6287    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6288   }
6289      break;
6290  
6291 <  case 568:
6292 <
6293 < /* Line 1810 of yacc.c  */
6986 < #line 2902 "conf_parser.y"
6291 >  case 563:
6292 > /* Line 1778 of yacc.c  */
6293 > #line 2662 "conf_parser.y"
6294      {
6295    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6296   }
6297      break;
6298  
6299 <  case 569:
6300 <
6301 < /* Line 1810 of yacc.c  */
6995 < #line 2905 "conf_parser.y"
6299 >  case 564:
6300 > /* Line 1778 of yacc.c  */
6301 > #line 2665 "conf_parser.y"
6302      {
6303    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6304   }
6305      break;
6306  
6307 <  case 570:
6308 <
6309 < /* Line 1810 of yacc.c  */
7004 < #line 2908 "conf_parser.y"
6307 >  case 565:
6308 > /* Line 1778 of yacc.c  */
6309 > #line 2668 "conf_parser.y"
6310      {
6311    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6312   }
6313      break;
6314  
6315 <  case 571:
6316 <
6317 < /* Line 1810 of yacc.c  */
7013 < #line 2911 "conf_parser.y"
6315 >  case 566:
6316 > /* Line 1778 of yacc.c  */
6317 > #line 2671 "conf_parser.y"
6318      {
6319    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6320   }
6321      break;
6322  
6323 <  case 572:
6324 <
6325 < /* Line 1810 of yacc.c  */
7022 < #line 2914 "conf_parser.y"
6323 >  case 567:
6324 > /* Line 1778 of yacc.c  */
6325 > #line 2674 "conf_parser.y"
6326      {
6327    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6328   }
6329      break;
6330  
6331 <  case 573:
6332 <
6333 < /* Line 1810 of yacc.c  */
7031 < #line 2917 "conf_parser.y"
6331 >  case 568:
6332 > /* Line 1778 of yacc.c  */
6333 > #line 2677 "conf_parser.y"
6334      {
6335    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6336   }
6337      break;
6338  
6339 <  case 574:
6340 <
6341 < /* Line 1810 of yacc.c  */
7040 < #line 2920 "conf_parser.y"
6339 >  case 569:
6340 > /* Line 1778 of yacc.c  */
6341 > #line 2680 "conf_parser.y"
6342      {
6343    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6344   }
6345      break;
6346  
6347 <  case 575:
6348 <
6349 < /* Line 1810 of yacc.c  */
7049 < #line 2923 "conf_parser.y"
6347 >  case 570:
6348 > /* Line 1778 of yacc.c  */
6349 > #line 2683 "conf_parser.y"
6350      {
6351    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6352   }
6353      break;
6354  
6355 <  case 576:
6356 <
6357 < /* Line 1810 of yacc.c  */
7058 < #line 2926 "conf_parser.y"
6355 >  case 571:
6356 > /* Line 1778 of yacc.c  */
6357 > #line 2686 "conf_parser.y"
6358      {
6359    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6360   }
6361      break;
6362  
6363 <  case 577:
6364 <
6365 < /* Line 1810 of yacc.c  */
7067 < #line 2929 "conf_parser.y"
6363 >  case 572:
6364 > /* Line 1778 of yacc.c  */
6365 > #line 2689 "conf_parser.y"
6366      {
6367    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6368   }
6369      break;
6370  
6371 <  case 578:
6372 <
6373 < /* Line 1810 of yacc.c  */
7076 < #line 2932 "conf_parser.y"
6371 >  case 573:
6372 > /* Line 1778 of yacc.c  */
6373 > #line 2692 "conf_parser.y"
6374      {
6375    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6376   }
6377      break;
6378  
6379 <  case 579:
6380 <
6381 < /* Line 1810 of yacc.c  */
7085 < #line 2935 "conf_parser.y"
6379 >  case 574:
6380 > /* Line 1778 of yacc.c  */
6381 > #line 2695 "conf_parser.y"
6382      {
6383    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6384   }
6385      break;
6386  
6387 <  case 580:
6388 <
6389 < /* Line 1810 of yacc.c  */
7094 < #line 2940 "conf_parser.y"
6387 >  case 575:
6388 > /* Line 1778 of yacc.c  */
6389 > #line 2700 "conf_parser.y"
6390      {
6391    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6392   }
6393      break;
6394  
6395 <  case 581:
6396 <
6397 < /* Line 1810 of yacc.c  */
7103 < #line 2945 "conf_parser.y"
6395 >  case 576:
6396 > /* Line 1778 of yacc.c  */
6397 > #line 2705 "conf_parser.y"
6398      {
6399    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6400   }
6401      break;
6402  
6403 <  case 582:
6404 <
6405 < /* Line 1810 of yacc.c  */
7112 < #line 2950 "conf_parser.y"
6403 >  case 577:
6404 > /* Line 1778 of yacc.c  */
6405 > #line 2710 "conf_parser.y"
6406      {
6407    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6408   }
6409      break;
6410  
7118  case 583:
7119
7120 /* Line 1810 of yacc.c  */
7121 #line 2955 "conf_parser.y"
7122    {
7123  ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
7124 }
7125    break;
7126
7127  case 584:
7128
7129 /* Line 1810 of yacc.c  */
7130 #line 2964 "conf_parser.y"
7131    {
7132  if (conf_parser_ctx.pass == 2)
7133  {
7134    yy_conf = make_conf_item(GDENY_TYPE);
7135    yy_aconf = map_to_conf(yy_conf);
7136  }
7137 }
7138    break;
7139
7140  case 585:
7141
7142 /* Line 1810 of yacc.c  */
7143 #line 2971 "conf_parser.y"
7144    {
7145  if (conf_parser_ctx.pass == 2)
7146  {
7147    /*
7148     * since we re-allocate yy_conf/yy_aconf after the end of action=, at the
7149     * end we will have one extra, so we should free it.
7150     */
7151    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7152    {
7153      delete_conf_item(yy_conf);
7154      yy_conf = NULL;
7155      yy_aconf = NULL;
7156    }
7157  }
7158 }
7159    break;
7160
7161  case 595:
7162
7163 /* Line 1810 of yacc.c  */
7164 #line 2997 "conf_parser.y"
7165    {
7166  if (conf_parser_ctx.pass == 2)
7167    ConfigFileEntry.glines = yylval.number;
7168 }
7169    break;
7170
6411    case 596:
6412 <
6413 < /* Line 1810 of yacc.c  */
7174 < #line 3003 "conf_parser.y"
7175 <    {
7176 <  if (conf_parser_ctx.pass == 2)
7177 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7178 < }
7179 <    break;
7180 <
7181 <  case 597:
7182 <
7183 < /* Line 1810 of yacc.c  */
7184 < #line 3009 "conf_parser.y"
7185 <    {
7186 <  if (conf_parser_ctx.pass == 2)
7187 <    ConfigFileEntry.gline_logging = 0;
7188 < }
7189 <    break;
7190 <
7191 <  case 601:
7192 <
7193 < /* Line 1810 of yacc.c  */
7194 < #line 3015 "conf_parser.y"
7195 <    {
7196 <  if (conf_parser_ctx.pass == 2)
7197 <    ConfigFileEntry.gline_logging |= GDENY_REJECT;
7198 < }
7199 <    break;
7200 <
7201 <  case 602:
7202 <
7203 < /* Line 1810 of yacc.c  */
7204 < #line 3019 "conf_parser.y"
7205 <    {
7206 <  if (conf_parser_ctx.pass == 2)
7207 <    ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7208 < }
7209 <    break;
7210 <
7211 <  case 603:
7212 <
7213 < /* Line 1810 of yacc.c  */
7214 < #line 3025 "conf_parser.y"
7215 <    {
7216 <  if (conf_parser_ctx.pass == 2)
7217 <  {
7218 <    struct split_nuh_item nuh;
7219 <
7220 <    nuh.nuhmask  = yylval.string;
7221 <    nuh.nickptr  = NULL;
7222 <    nuh.userptr  = userbuf;
7223 <    nuh.hostptr  = hostbuf;
7224 <
7225 <    nuh.nicksize = 0;
7226 <    nuh.usersize = sizeof(userbuf);
7227 <    nuh.hostsize = sizeof(hostbuf);
7228 <
7229 <    split_nuh(&nuh);
7230 <
7231 <    if (yy_aconf->user == NULL)
7232 <    {
7233 <      DupString(yy_aconf->user, userbuf);
7234 <      DupString(yy_aconf->host, hostbuf);
7235 <    }
7236 <    else
7237 <    {
7238 <      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
7239 <
7240 <      DupString(yy_tmp->user, userbuf);
7241 <      DupString(yy_tmp->host, hostbuf);
7242 <
7243 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
7244 <    }
7245 <  }
7246 < }
7247 <    break;
7248 <
7249 <  case 604:
7250 <
7251 < /* Line 1810 of yacc.c  */
7252 < #line 3059 "conf_parser.y"
7253 <    {
7254 <  if (conf_parser_ctx.pass == 2)  
7255 <  {
7256 <    MyFree(yy_conf->name);
7257 <    DupString(yy_conf->name, yylval.string);
7258 <  }
7259 < }
7260 <    break;
7261 <
7262 <  case 605:
7263 <
7264 < /* Line 1810 of yacc.c  */
7265 < #line 3068 "conf_parser.y"
7266 <    {
7267 <  if (conf_parser_ctx.pass == 2)
7268 <    yy_aconf->flags = 0;
7269 < }
7270 <    break;
7271 <
7272 <  case 606:
7273 <
7274 < /* Line 1810 of yacc.c  */
7275 < #line 3072 "conf_parser.y"
7276 <    {
7277 <  if (conf_parser_ctx.pass == 2)
7278 <  {
7279 <    struct CollectItem *yy_tmp = NULL;
7280 <    dlink_node *ptr, *next_ptr;
7281 <
7282 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
7283 <    {
7284 <      struct AccessItem *new_aconf;
7285 <      struct ConfItem *new_conf;
7286 <
7287 <      yy_tmp = ptr->data;
7288 <      new_conf = make_conf_item(GDENY_TYPE);
7289 <      new_aconf = map_to_conf(new_conf);
7290 <
7291 <      new_aconf->flags = yy_aconf->flags;
7292 <
7293 <      if (yy_conf->name != NULL)
7294 <        DupString(new_conf->name, yy_conf->name);
7295 <      else
7296 <        DupString(new_conf->name, "*");
7297 <      if (yy_aconf->user != NULL)
7298 <         DupString(new_aconf->user, yy_tmp->user);
7299 <      else  
7300 <        DupString(new_aconf->user, "*");
7301 <      if (yy_aconf->host != NULL)
7302 <        DupString(new_aconf->host, yy_tmp->host);
7303 <      else
7304 <        DupString(new_aconf->host, "*");
7305 <
7306 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
7307 <    }
7308 <
7309 <    /*
7310 <     * In case someone has fed us with more than one action= after user/name
7311 <     * which would leak memory  -Michael
7312 <     */
7313 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7314 <      delete_conf_item(yy_conf);
7315 <
7316 <    yy_conf = make_conf_item(GDENY_TYPE);
7317 <    yy_aconf = map_to_conf(yy_conf);
7318 <  }
7319 < }
7320 <    break;
7321 <
7322 <  case 609:
7323 <
7324 < /* Line 1810 of yacc.c  */
7325 < #line 3119 "conf_parser.y"
7326 <    {
7327 <  if (conf_parser_ctx.pass == 2)
7328 <    yy_aconf->flags |= GDENY_REJECT;
7329 < }
7330 <    break;
7331 <
7332 <  case 610:
7333 <
7334 < /* Line 1810 of yacc.c  */
7335 < #line 3123 "conf_parser.y"
7336 <    {
7337 <  if (conf_parser_ctx.pass == 2)
7338 <    yy_aconf->flags |= GDENY_BLOCK;
7339 < }
7340 <    break;
7341 <
7342 <  case 633:
7343 <
7344 < /* Line 1810 of yacc.c  */
7345 < #line 3147 "conf_parser.y"
6412 > /* Line 1778 of yacc.c  */
6413 > #line 2733 "conf_parser.y"
6414      {
6415    ConfigChannel.disable_fake_channels = yylval.number;
6416   }
6417      break;
6418  
6419 <  case 634:
6420 <
6421 < /* Line 1810 of yacc.c  */
7354 < #line 3152 "conf_parser.y"
6419 >  case 597:
6420 > /* Line 1778 of yacc.c  */
6421 > #line 2738 "conf_parser.y"
6422      {
6423    ConfigChannel.restrict_channels = yylval.number;
6424   }
6425      break;
6426  
6427 <  case 635:
6428 <
6429 < /* Line 1810 of yacc.c  */
7363 < #line 3157 "conf_parser.y"
7364 <    {
7365 <  ConfigChannel.disable_local_channels = yylval.number;
7366 < }
7367 <    break;
7368 <
7369 <  case 636:
7370 <
7371 < /* Line 1810 of yacc.c  */
7372 < #line 3162 "conf_parser.y"
7373 <    {
7374 <  ConfigChannel.use_except = yylval.number;
7375 < }
7376 <    break;
7377 <
7378 <  case 637:
7379 <
7380 < /* Line 1810 of yacc.c  */
7381 < #line 3167 "conf_parser.y"
7382 <    {
7383 <  ConfigChannel.use_invex = yylval.number;
7384 < }
7385 <    break;
7386 <
7387 <  case 638:
7388 <
7389 < /* Line 1810 of yacc.c  */
7390 < #line 3172 "conf_parser.y"
7391 <    {
7392 <  ConfigChannel.use_knock = yylval.number;
7393 < }
7394 <    break;
7395 <
7396 <  case 639:
7397 <
7398 < /* Line 1810 of yacc.c  */
7399 < #line 3177 "conf_parser.y"
6427 >  case 598:
6428 > /* Line 1778 of yacc.c  */
6429 > #line 2743 "conf_parser.y"
6430      {
6431    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6432   }
6433      break;
6434  
6435 <  case 640:
6436 <
6437 < /* Line 1810 of yacc.c  */
7408 < #line 3182 "conf_parser.y"
6435 >  case 599:
6436 > /* Line 1778 of yacc.c  */
6437 > #line 2748 "conf_parser.y"
6438      {
6439    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6440   }
6441      break;
6442  
6443 <  case 641:
6444 <
6445 < /* Line 1810 of yacc.c  */
7417 < #line 3187 "conf_parser.y"
6443 >  case 600:
6444 > /* Line 1778 of yacc.c  */
6445 > #line 2753 "conf_parser.y"
6446      {
6447    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6448   }
6449      break;
6450  
6451 <  case 642:
6452 <
6453 < /* Line 1810 of yacc.c  */
7426 < #line 3192 "conf_parser.y"
6451 >  case 601:
6452 > /* Line 1778 of yacc.c  */
6453 > #line 2758 "conf_parser.y"
6454      {
6455    ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6456   }
6457      break;
6458  
6459 <  case 643:
6460 <
6461 < /* Line 1810 of yacc.c  */
7435 < #line 3197 "conf_parser.y"
6459 >  case 602:
6460 > /* Line 1778 of yacc.c  */
6461 > #line 2763 "conf_parser.y"
6462      {
6463    ConfigChannel.quiet_on_ban = yylval.number;
6464   }
6465      break;
6466  
6467 <  case 644:
6468 <
6469 < /* Line 1810 of yacc.c  */
7444 < #line 3202 "conf_parser.y"
6467 >  case 603:
6468 > /* Line 1778 of yacc.c  */
6469 > #line 2768 "conf_parser.y"
6470      {
6471    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6472   }
6473      break;
6474  
6475 <  case 645:
6476 <
6477 < /* Line 1810 of yacc.c  */
7453 < #line 3207 "conf_parser.y"
6475 >  case 604:
6476 > /* Line 1778 of yacc.c  */
6477 > #line 2773 "conf_parser.y"
6478      {
6479    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6480   }
6481      break;
6482  
6483 <  case 646:
6484 <
6485 < /* Line 1810 of yacc.c  */
7462 < #line 3212 "conf_parser.y"
6483 >  case 605:
6484 > /* Line 1778 of yacc.c  */
6485 > #line 2778 "conf_parser.y"
6486      {
6487    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6488   }
6489      break;
6490  
6491 <  case 647:
6492 <
6493 < /* Line 1810 of yacc.c  */
7471 < #line 3217 "conf_parser.y"
6491 >  case 606:
6492 > /* Line 1778 of yacc.c  */
6493 > #line 2783 "conf_parser.y"
6494      {
6495    ConfigChannel.no_create_on_split = yylval.number;
6496   }
6497      break;
6498  
6499 <  case 648:
6500 <
6501 < /* Line 1810 of yacc.c  */
7480 < #line 3222 "conf_parser.y"
6499 >  case 607:
6500 > /* Line 1778 of yacc.c  */
6501 > #line 2788 "conf_parser.y"
6502      {
6503    ConfigChannel.no_join_on_split = yylval.number;
6504   }
6505      break;
6506  
6507 <  case 649:
6508 <
6509 < /* Line 1810 of yacc.c  */
7489 < #line 3227 "conf_parser.y"
6507 >  case 608:
6508 > /* Line 1778 of yacc.c  */
6509 > #line 2793 "conf_parser.y"
6510      {
6511    GlobalSetOptions.joinfloodcount = yylval.number;
6512   }
6513      break;
6514  
6515 <  case 650:
6516 <
6517 < /* Line 1810 of yacc.c  */
7498 < #line 3232 "conf_parser.y"
6515 >  case 609:
6516 > /* Line 1778 of yacc.c  */
6517 > #line 2798 "conf_parser.y"
6518      {
6519    GlobalSetOptions.joinfloodtime = yylval.number;
6520   }
6521      break;
6522  
6523 <  case 662:
6524 <
6525 < /* Line 1810 of yacc.c  */
7507 < #line 3251 "conf_parser.y"
6523 >  case 620:
6524 > /* Line 1778 of yacc.c  */
6525 > #line 2816 "conf_parser.y"
6526      {
6527    if (conf_parser_ctx.pass == 2)
6528      ConfigServerHide.flatten_links = yylval.number;
6529   }
6530      break;
6531  
6532 <  case 663:
6533 <
6534 < /* Line 1810 of yacc.c  */
7517 < #line 3257 "conf_parser.y"
6532 >  case 621:
6533 > /* Line 1778 of yacc.c  */
6534 > #line 2822 "conf_parser.y"
6535      {
6536    if (conf_parser_ctx.pass == 2)
6537      ConfigServerHide.hide_servers = yylval.number;
6538   }
6539      break;
6540  
6541 <  case 664:
6542 <
6543 < /* Line 1810 of yacc.c  */
7527 < #line 3263 "conf_parser.y"
6541 >  case 622:
6542 > /* Line 1778 of yacc.c  */
6543 > #line 2828 "conf_parser.y"
6544      {
6545    if (conf_parser_ctx.pass == 2)
6546    {
6547      MyFree(ConfigServerHide.hidden_name);
6548 <    DupString(ConfigServerHide.hidden_name, yylval.string);
6548 >    ConfigServerHide.hidden_name = xstrdup(yylval.string);
6549    }
6550   }
6551      break;
6552  
6553 <  case 665:
6554 <
6555 < /* Line 1810 of yacc.c  */
7540 < #line 3272 "conf_parser.y"
6553 >  case 623:
6554 > /* Line 1778 of yacc.c  */
6555 > #line 2837 "conf_parser.y"
6556      {
6557    if (conf_parser_ctx.pass == 2)
6558    {
# Line 7552 | Line 6567 | yyreduce:
6567   }
6568      break;
6569  
6570 <  case 666:
6571 <
6572 < /* Line 1810 of yacc.c  */
7558 < #line 3286 "conf_parser.y"
6570 >  case 624:
6571 > /* Line 1778 of yacc.c  */
6572 > #line 2851 "conf_parser.y"
6573      {
6574    if (conf_parser_ctx.pass == 2)
6575      ConfigServerHide.hidden = yylval.number;
6576   }
6577      break;
6578  
6579 <  case 667:
6580 <
6581 < /* Line 1810 of yacc.c  */
7568 < #line 3292 "conf_parser.y"
7569 <    {
7570 <  if (conf_parser_ctx.pass == 2)
7571 <    ConfigServerHide.disable_hidden = yylval.number;
7572 < }
7573 <    break;
7574 <
7575 <  case 668:
7576 <
7577 < /* Line 1810 of yacc.c  */
7578 < #line 3298 "conf_parser.y"
6579 >  case 625:
6580 > /* Line 1778 of yacc.c  */
6581 > #line 2857 "conf_parser.y"
6582      {
6583    if (conf_parser_ctx.pass == 2)
6584      ConfigServerHide.hide_server_ips = yylval.number;
# Line 7583 | Line 6586 | yyreduce:
6586      break;
6587  
6588  
6589 <
6590 < /* Line 1810 of yacc.c  */
7588 < #line 7589 "conf_parser.c"
6589 > /* Line 1778 of yacc.c  */
6590 > #line 6591 "conf_parser.c"
6591        default: break;
6592      }
6593    /* User semantic actions sometimes alter yychar, and that requires
# Line 7748 | Line 6750 | yyerrlab1:
6750        YY_STACK_PRINT (yyss, yyssp);
6751      }
6752  
6753 +  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
6754    *++yyvsp = yylval;
6755 +  YY_IGNORE_MAYBE_UNINITIALIZED_END
6756  
6757  
6758    /* Shift the error token.  */
# Line 7814 | Line 6818 | yyreturn:
6818   }
6819  
6820  
7817

Diff Legend

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